diff --git a/components/scrapeless/README.md b/components/scrapeless/README.md new file mode 100644 index 0000000000000..735eb64f0d044 --- /dev/null +++ b/components/scrapeless/README.md @@ -0,0 +1,16 @@ +# Overview + +Scrapeless – your go-to platform for powerful, compliant web data extraction. With tools like Universal Scraping API, Scrapeless makes it easy to access and gather data from complex sites. Focus on insights while we handle the technical hurdles. Scrapeless – data extraction made simple. + +# Example Use Cases + +1. **Scraping API**: Endpoints for fresh, structured data from 100+ popular sites. +2. **Universal Scraping API**: Access any website at scale and say goodbye to blocks. +3. **Crawler**: Extract data from single pages or traverse entire domains. + +# Getting Started + +## Generating an API Key + +1. If you are not a member of Scrapeless, you can sign up for a free account at [Scrapeless](https://app.scrapeless.com/passport/register). +2. Once registered, you can go to the API Key Management page to generate an API Key in the app settings. diff --git a/components/scrapeless/actions/crawler/crawler.mjs b/components/scrapeless/actions/crawler/crawler.mjs new file mode 100644 index 0000000000000..0bfb0b15c3f62 --- /dev/null +++ b/components/scrapeless/actions/crawler/crawler.mjs @@ -0,0 +1,89 @@ +import scrapeless from "../../scrapeless.app.mjs"; + +export default { + key: "scrapeless-crawler", + name: "Crawler", + description: "Crawl any website at scale and say goodbye to blocks. [See the documentation](https://apidocs.scrapeless.com/api-17509010).", + version: "0.0.2", + type: "action", + props: { + scrapeless, + apiServer: { + type: "string", + label: "Please select a API server", + description: "Please select a API server to use", + default: "crawl", + options: [ + { + label: "Crawl", + value: "crawl", + }, + { + label: "Scrape", + value: "scrape", + }, + ], + reloadProps: true, + }, + }, + async run({ $ }) { + const { + scrapeless, apiServer, ...inputProps + } = this; + + const browserOptions = { + "proxy_country": "ANY", + "session_name": "Crawl", + "session_recording": true, + "session_ttl": 900, + }; + + let response; + + if (apiServer === "crawl") { + response = + await scrapeless._scrapelessClient().scrapingCrawl.crawl.crawlUrl(inputProps.url, { + limit: inputProps.limitCrawlPages, + browserOptions, + }); + } + + if (apiServer === "scrape") { + response = + await scrapeless._scrapelessClient().scrapingCrawl.scrape.scrapeUrl(inputProps.url, { + browserOptions, + }); + } + + if (response?.status === "completed" && response?.data) { + $.export("$summary", `Successfully retrieved crawling results for ${inputProps.url}`); + return response.data; + } else { + throw new Error(response?.error || "Failed to retrieve crawling results"); + } + }, + additionalProps() { + const { apiServer } = this; + + const props = {}; + + if (apiServer === "crawl" || apiServer === "scrape") { + props.url = { + type: "string", + label: "URL to Crawl", + description: "If you want to crawl in batches, please refer to the SDK of the document", + }; + } + + if (apiServer === "crawl") { + props.limitCrawlPages = { + type: "integer", + label: "Number Of Subpages", + default: 5, + description: "Max number of results to return", + }; + } + + return props; + }, +}; diff --git a/components/scrapeless/actions/get-scrape-result/get-scrape-result.mjs b/components/scrapeless/actions/get-scrape-result/get-scrape-result.mjs index 5cc9fe24c7c15..cc4583796c49c 100644 --- a/components/scrapeless/actions/get-scrape-result/get-scrape-result.mjs +++ b/components/scrapeless/actions/get-scrape-result/get-scrape-result.mjs @@ -4,7 +4,7 @@ export default { key: "scrapeless-get-scrape-result", name: "Get Scrape Result", description: "Retrieve the result of a completed scraping job. [See the documentation](https://apidocs.scrapeless.com/api-11949853)", - version: "0.0.1", + version: "0.0.2", type: "action", props: { scrapeless, diff --git a/components/scrapeless/actions/scraping-api/scraping-api.mjs b/components/scrapeless/actions/scraping-api/scraping-api.mjs new file mode 100644 index 0000000000000..1f66a15c097fc --- /dev/null +++ b/components/scrapeless/actions/scraping-api/scraping-api.mjs @@ -0,0 +1,124 @@ +import scrapeless from "../../scrapeless.app.mjs"; +import { log } from "../../common/utils.mjs"; +export default { + key: "scrapeless-scraping-api", + name: "Scraping API", + description: "Endpoints for fresh, structured data from 100+ popular sites. [See the documentation](https://apidocs.scrapeless.com/api-12919045).", + version: "0.0.1", + type: "action", + props: { + scrapeless, + apiServer: { + type: "string", + label: "Please select a API server", + default: "googleSearch", + description: "Please select a API server to use", + options: [ + { + label: "Google Search", + value: "googleSearch", + }, + ], + reloadProps: true, + }, + }, + async run({ $ }) { + const { + scrapeless, apiServer, ...inputProps + } = this; + + const MAX_RETRIES = 3; + // 10 seconds + const DELAY = 1000 * 10; + const { run } = $.context; + + let submitData; + let job; + + // pre check if the job is already in the context + if (run?.context?.job) { + job = run.context.job; + } + + if (apiServer === "googleSearch") { + submitData = { + actor: "scraper.google.search", + input: { + q: inputProps.q, + hl: inputProps.hl, + gl: inputProps.gl, + }, + }; + } + + if (!submitData) { + throw new Error("No actor found"); + } + // 1. Create a new scraping job + if (!job) { + job = await scrapeless._scrapelessClient().deepserp.createTask({ + actor: submitData.actor, + input: submitData.input, + }); + + if (job.status === 200) { + $.export("$summary", "Successfully retrieved scraping results"); + return job.data; + } + + log("task in progress"); + } + + // 2. Wait for the job to complete + if (run.runs === 1) { + $.flow.rerun(DELAY, { + job, + }, MAX_RETRIES); + } else if (run.runs > MAX_RETRIES ) { + throw new Error("Max retries reached"); + } else if (job && job?.data?.taskId) { + const result = await scrapeless._scrapelessClient().deepserp.getTaskResult(job.data.taskId); + if (result.status === 200) { + $.export("$summary", "Successfully retrieved scraping results"); + return result.data; + } else { + $.flow.rerun(DELAY, { + job, + }, MAX_RETRIES); + } + } else { + throw new Error("No job found"); + } + + }, + additionalProps() { + const { apiServer } = this; + + const props = {}; + + if (apiServer === "googleSearch") { + props.q = { + type: "string", + label: "Search Query", + description: "Parameter defines the query you want to search. You can use anything that you would use in a regular Google search. e.g. inurl:, site:, intitle:. We also support advanced search query parameters such as as_dt and as_eq.", + default: "coffee", + }; + + props.hl = { + type: "string", + label: "Language", + description: "Parameter defines the language to use for the Google search. It's a two-letter language code. (e.g., en for English, es for Spanish, or fr for French).", + default: "en", + }; + + props.gl = { + type: "string", + label: "Country", + description: "Parameter defines the country to use for the Google search. It's a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France).", + default: "us", + }; + } + + return props; + }, +}; diff --git a/components/scrapeless/actions/submit-scrape-job/submit-scrape-job.mjs b/components/scrapeless/actions/submit-scrape-job/submit-scrape-job.mjs index cc282d451b2ee..18562bc90782a 100644 --- a/components/scrapeless/actions/submit-scrape-job/submit-scrape-job.mjs +++ b/components/scrapeless/actions/submit-scrape-job/submit-scrape-job.mjs @@ -1,43 +1,40 @@ -import { ConfigurationError } from "@pipedream/platform"; -import { ACTOR_OPTIONS } from "../../common/constants.mjs"; -import { parseObject } from "../../common/utils.mjs"; +import { COUNTRY_OPTIONS } from "../../common/constants.mjs"; +import { log } from "../../common/utils.mjs"; import scrapeless from "../../scrapeless.app.mjs"; export default { key: "scrapeless-submit-scrape-job", name: "Submit Scrape Job", description: "Submit a new web scraping job with specified target URL and extraction rules. [See the documentation](https://apidocs.scrapeless.com/api-11949852)", - version: "0.0.1", + version: "0.0.2", type: "action", props: { scrapeless, actor: { type: "string", label: "Actor", + default: "scraper.shopee", description: "The actor to use for the scrape job. This can be a specific user or a system account.", - options: ACTOR_OPTIONS, }, inputUrl: { type: "string", label: "Input URL", description: "Target URL to scrape. This is the URL of the web page you want to extract data from.", - optional: true, }, proxyCountry: { type: "string", label: "Proxy Country", description: "The country to route the request through. This can help in bypassing geo-restrictions.", - optional: true, - }, - additionalInput: { - type: "object", - label: "Additional Input", - description: "Additional input parameters if you need to pass a specific configuration based on the actor. [See the documentation](https://apidocs.scrapeless.com/) for further details.", - optional: true, + default: "ANY", + options: COUNTRY_OPTIONS.map((country) => ({ + label: country.label, + value: country.value, + })), }, asyncMode: { type: "boolean", label: "Async Mode", + default: true, description: "Whether to run the scrape job in asynchronous mode. If set to true, the job will be processed in the background.", }, }, @@ -45,32 +42,27 @@ export default { try { const data = { actor: this.actor, - input: parseObject(this.additionalInput), - }; - - if (this.asyncMode) { - data.async = this.asyncMode; - } - if (this.inputUrl) { - data.input.url = this.inputUrl; - } - if (this.proxyCountry) { - data.proxy = { + input: { + url: this.inputUrl, + }, + proxy: { country: this.proxyCountry, - }; - } + }, + async: this.asyncMode, + }; const response = await this.scrapeless.submitScrapeJob({ $, data, }); + log(response); $.export("$summary", this.asyncMode ? `Successfully submitted scrape job with ID: ${response.taskId}` : "Successfully scraped the target configuration."); return response; - } catch ({ response }) { - throw new ConfigurationError(response.data.message); + } catch (error) { + throw new Error(error.message); } }, }; diff --git a/components/scrapeless/actions/universal-scraping-api/universal-scraping-api.mjs b/components/scrapeless/actions/universal-scraping-api/universal-scraping-api.mjs new file mode 100644 index 0000000000000..a5ab27698d1f8 --- /dev/null +++ b/components/scrapeless/actions/universal-scraping-api/universal-scraping-api.mjs @@ -0,0 +1,86 @@ +import scrapeless from "../../scrapeless.app.mjs"; +import { COUNTRY_OPTIONS } from "../../common/constants.mjs"; + +export default { + key: "scrapeless-universal-scraping-api", + name: "Universal Scraping API", + description: "Access any website at scale and say goodbye to blocks. [See the documentation](https://apidocs.scrapeless.com/api-11949854).", + version: "0.0.1", + type: "action", + props: { + scrapeless, + apiServer: { + type: "string", + label: "Please select a API server", + default: "webUnlocker", + description: "Please select a API server to use", + options: [ + { + label: "Web Unlocker", + value: "webUnlocker", + }, + ], + reloadProps: true, + }, + }, + async run({ $ }) { + const { + scrapeless, + apiServer, ...inputProps + } = this; + + if (apiServer === "webUnlocker") { + const response = await scrapeless._scrapelessClient().universal.scrape({ + actor: "unlocker.webunlocker", + input: { + url: inputProps.url, + headless: inputProps.headless, + js_render: inputProps.jsRender, + }, + proxy: { + country: inputProps.country, + }, + }); + + $.export("$summary", "Successfully retrieved scraping results for Web Unlocker"); + return response; + } + }, + additionalProps() { + const { apiServer } = this; + + const props = {}; + + if (apiServer === "webUnlocker") { + props.url = { + type: "string", + label: "Target URL", + description: "Parameter defines the URL you want to scrape.", + }; + + props.jsRender = { + type: "boolean", + label: "Js Render", + default: true, + }; + + props.headless = { + type: "boolean", + label: "Headless", + default: true, + }; + + props.country = { + type: "string", + label: "Country", + default: "ANY", + options: COUNTRY_OPTIONS.map((country) => ({ + label: country.label, + value: country.value, + })), + }; + } + + return props; + }, +}; diff --git a/components/scrapeless/common/constants.mjs b/components/scrapeless/common/constants.mjs index 476b73e72b097..1fa6ac6532b13 100644 --- a/components/scrapeless/common/constants.mjs +++ b/components/scrapeless/common/constants.mjs @@ -1,138 +1,1122 @@ -export const ACTOR_OPTIONS = [ +export const COUNTRY_OPTIONS = [ { - label: "Shopee", - value: "scraper.shopee", + regionId: -1, + value: "ANY", + label: "World Wide", + signal: 5, + emoji: "🌎", }, { - label: "BR Sites - Solucoes cnpjreva", - value: "scraper.solucoes", + "regionId": 3, + "value": "AL", + "label": "Albania", + "signal": 2, + "emoji": "🇦🇱", }, { - label: "BR Sites - Solucoes certidaointernet", - value: "scraper.solucoes.certidaointernet", + "regionId": 4, + "value": "DZ", + "label": "Algeria", + "signal": 3, + "emoji": "🇩🇿", }, { - label: "BR Sites - Servicos receita", - value: "scraper.servicos.receita", + "regionId": 26, + "value": "BT", + "label": "Bhutan", + "signal": 2, + "emoji": "🇧🇹", }, { - label: "BR Sites - Consopt", - value: "scraper.consopt", + "regionId": 27, + "value": "BO", + "label": "Bolivia", + "signal": 3, + "emoji": "🇧🇴", }, { - label: "Avnet", - value: "scraper.avnet", + "regionId": 15, + "value": "AT", + "label": "Austria", + "signal": 3, + "emoji": "🇦🇹", }, { - label: "Arrow", - value: "scraper.arrow", + "regionId": 18, + "value": "BH", + "label": "Bahrain", + "signal": 2, + "emoji": "🇧🇭", }, { - label: "Airline Iberia", - value: "scraper.iberia", + "regionId": 11, + "value": "AR", + "label": "Argentina", + "signal": 2, + "emoji": "🇦🇷", }, { - label: "Airline Expedia", - value: "scraper.expedia", + "regionId": 16, + "value": "AZ", + "label": "Azerbaijan", + "signal": 3, + "emoji": "🇦🇿", }, { - label: "Airline Kayak", - value: "scraper.kayak", + "regionId": 57, + "value": "CY", + "label": "Cyprus", + "signal": 2, + "emoji": "🇨🇾", }, { - label: "Amazon Product", - value: "scraper.amazon.product", + "regionId": 36, + "value": "BI", + "label": "Burundi", + "signal": 1, + "emoji": "🇧🇮", }, { - label: "Amazon Seller", - value: "scraper.amazon.seller", + "regionId": 38, + "value": "CM", + "label": "Cameroon", + "signal": 2, + "emoji": "🇨🇲", }, { - label: "Amazon Keywords", - value: "scraper.amazon.keywords", + "regionId": 55, + "value": "HR", + "label": "Croatia", + "signal": 3, + "emoji": "🇭🇷", }, { - label: "Temu", - value: "scraper.temu.mobile.detail", + "regionId": 62, + "value": "DO", + "label": "Dominican Republic", + "signal": 2, + "emoji": "🇩🇴", }, { - label: "Google Search", - value: "scraper.google.search", + "regionId": 14, + "value": "AU", + "label": "Australia", + "signal": 3, + "emoji": "🇦🇺", }, { - label: "Google Trends", - value: "scraper.google.trends", + "regionId": 21, + "value": "BY", + "label": "Belarus", + "signal": 3, + "emoji": "🇧🇾", }, { - label: "Google FLights", - value: "scraper.google.flights", + "regionId": 7, + "value": "AO", + "label": "Angola", + "signal": 2, + "emoji": "🇦🇴", }, { - label: "Google FLights Chart", - value: "scraper.google.flights.chart", + "regionId": 34, + "value": "BG", + "label": "Bulgaria", + "signal": 3, + "emoji": "🇧🇬", }, { - label: "Google Maps", - value: "scraper.google.maps", + "regionId": 51, + "value": "CD", + "label": "Democratic Republic of the Congo", + "signal": 2, + "emoji": "🇨🇩", }, { - label: "Google Scholar", - value: "scraper.google.scholar", + "regionId": 13, + "value": "AW", + "label": "Aruba", + "signal": 2, + "emoji": "🇦🇼", }, { - label: "Google Jobs", - value: "scraper.google.jobs", + "regionId": 12, + "value": "AM", + "label": "Armenia", + "signal": 2, + "emoji": "🇦🇲", }, { - label: "Google Shopping", - value: "scraper.google.shopping", + "regionId": 19, + "value": "BD", + "label": "Bangladesh", + "signal": 3, + "emoji": "🇧🇩", }, { - label: "Google Hotels", - value: "scraper.google.hotels", + "regionId": 22, + "value": "BE", + "label": "Belgium", + "signal": 3, + "emoji": "🇧🇪", }, { - label: "Google News", - value: "scraper.google.news", + "regionId": 37, + "value": "KH", + "label": "Cambodia", + "signal": 2, + "emoji": "🇰🇭", }, { - label: "Google Lens", - value: "scraper.google.lens", + "regionId": 58, + "value": "CZ", + "label": "Czech Republic", + "signal": 3, + "emoji": "🇨🇿", }, { - label: "Google Finance", - value: "scraper.google.finance", + "regionId": 59, + "value": "DK", + "label": "Denmark", + "signal": 2, + "emoji": "🇩🇰", }, { - label: "Google Product", - value: "scraper.google.product", + "regionId": 35, + "value": "BF", + "label": "Burkina Faso", + "signal": 2, + "emoji": "🇧🇫", }, { - label: "Google Play Games", - value: "scraper.google.play.games", + "regionId": 39, + "value": "CA", + "label": "Canada", + "signal": 3, + "emoji": "🇨🇦", }, { - label: "Google Play Books", - value: "scraper.google.play.books", + "regionId": 56, + "value": "CU", + "label": "Cuba", + "signal": 1, + "emoji": "🇨🇺", }, { - label: "Google Play Movies", - value: "scraper.google.play.movies", + "regionId": 45, + "value": "CN", + "label": "China", + "signal": 2, + "emoji": "🇨🇳", }, { - label: "Google Play Product", - value: "scraper.google.play.product", + "regionId": 80, + "value": "GM", + "label": "Gambia The", + "signal": 1, + "emoji": "🇬🇲", }, { - label: "Google Play Apps", - value: "scraper.google.play", + "regionId": 81, + "value": "GE", + "label": "Georgia", + "signal": 2, + "emoji": "🇬🇪", }, { - label: "Google Ads", - value: "scraper.google.ads", + "regionId": 44, + "value": "CL", + "label": "Chile", + "signal": 3, + "emoji": "🇨🇱", }, { - label: "Mouser", - value: "scraper.mouser", + "regionId": 50, + "value": "CG", + "label": "Congo", + "signal": 2, + "emoji": "🇨🇬", + }, + { + "regionId": 54, + "value": "CI", + "label": "Cote D'Ivoire (Ivory Coast)", + "signal": 2, + "emoji": "🇨🇮", + }, + { + "regionId": 79, + "value": "GA", + "label": "Gabon", + "signal": 2, + "emoji": "🇬🇦", + }, + { + "regionId": 48, + "value": "CO", + "label": "Colombia", + "signal": 3, + "emoji": "🇨🇴", + }, + { + "regionId": 53, + "value": "CR", + "label": "Costa Rica", + "signal": 3, + "emoji": "🇨🇷", + }, + { + "regionId": 102, + "value": "ID", + "label": "Indonesia", + "signal": 3, + "emoji": "🇮🇩", + }, + { + "regionId": 77, + "value": "PF", + "label": "French Polynesia", + "signal": 1, + "emoji": "🇵🇫", + }, + { + "regionId": 127, + "value": "LU", + "label": "Luxembourg", + "signal": 3, + "emoji": "🇱🇺", + }, + { + "regionId": 135, + "value": "MT", + "label": "Malta", + "signal": 2, + "emoji": "🇲🇹", + }, + { + "regionId": 134, + "value": "ML", + "label": "Mali", + "signal": 2, + "emoji": "🇲🇱", + }, + { + "regionId": 142, + "value": "MX", + "label": "Mexico", + "signal": 4, + "emoji": "🇲🇽", + }, + { + "regionId": 140, + "value": "MU", + "label": "Mauritius", + "signal": 1, + "emoji": "🇲🇺", + }, + { + "regionId": 130, + "value": "MG", + "label": "Madagascar", + "signal": 2, + "emoji": "🇲🇬", + }, + { + "regionId": 131, + "value": "MW", + "label": "Malawi", + "signal": 2, + "emoji": "🇲🇼", + }, + { + "regionId": 147, + "value": "ME", + "label": "Montenegro", + "signal": 2, + "emoji": "🇲🇪", + }, + { + "regionId": 156, + "value": "NL", + "label": "Netherlands", + "signal": 3, + "emoji": "🇳🇱", + }, + { + "regionId": 128, + "value": "MO", + "label": "Macau S.A.R.", + "signal": 2, + "emoji": "🇲🇴", + }, + { + "regionId": 144, + "value": "MD", + "label": "Moldova", + "signal": 3, + "emoji": "🇲🇩", + }, + { + "regionId": 132, + "value": "MY", + "label": "Malaysia", + "signal": 2, + "emoji": "🇲🇾", + }, + { + "regionId": 146, + "value": "MN", + "label": "Mongolia", + "signal": 3, + "emoji": "🇲🇳", + }, + { + "regionId": 136, + "value": "IM", + "label": "Man (Isle of)", + "signal": 2, + "emoji": "🇮🇲", + }, + { + "regionId": 73, + "value": "FJ", + "label": "Fiji Islands", + "signal": 1, + "emoji": "🇫🇯", + }, + { + "regionId": 74, + "value": "FI", + "label": "Finland", + "signal": 2, + "emoji": "🇫🇮", + }, + { + "regionId": 75, + "value": "FR", + "label": "France", + "signal": 4, + "emoji": "🇫🇷", + }, + { + "regionId": 101, + "value": "IN", + "label": "India", + "signal": 2, + "emoji": "🇮🇳", + }, + { + "regionId": 100, + "value": "IS", + "label": "Iceland", + "signal": 2, + "emoji": "🇮🇸", + }, + { + "regionId": 129, + "value": "MK", + "label": "North Macedonia", + "signal": 3, + "emoji": "🇲🇰", + }, + { + "regionId": 158, + "value": "NZ", + "label": "New Zealand", + "signal": 3, + "emoji": "🇳🇿", + }, + { + "regionId": 159, + "value": "NI", + "label": "Nicaragua", + "signal": 2, + "emoji": "🇳🇮", + }, + { + "regionId": 165, + "value": "NO", + "label": "Norway", + "signal": 2, + "emoji": "🇳🇴", + }, + { + "regionId": 95, + "value": "HT", + "label": "Haiti", + "signal": 2, + "emoji": "🇭🇹", + }, + { + "regionId": 97, + "value": "HN", + "label": "Honduras", + "signal": 2, + "emoji": "🇭🇳", + }, + { + "regionId": 99, + "value": "HU", + "label": "Hungary", + "signal": 3, + "emoji": "🇭🇺", + }, + { + "regionId": 94, + "value": "GY", + "label": "Guyana", + "signal": 2, + "emoji": "🇬🇾", + }, + { + "regionId": 98, + "value": "HK", + "label": "Hong Kong S.A.R.", + "signal": 2, + "emoji": "🇭🇰", + }, + { + "regionId": 161, + "value": "NG", + "label": "Nigeria", + "signal": 4, + "emoji": "🇳🇬", + }, + { + "regionId": 166, + "value": "OM", + "label": "Oman", + "signal": 3, + "emoji": "🇴🇲", + }, + { + "regionId": 173, + "value": "PE", + "label": "Peru", + "signal": 2, + "emoji": "🇵🇪", + }, + { + "regionId": 167, + "value": "PK", + "label": "Pakistan", + "signal": 4, + "emoji": "🇵🇰", + }, + { + "regionId": 169, + "value": "PS", + "label": "Palestinian Territory Occupied", + "signal": 3, + "emoji": "🇵🇸", + }, + { + "regionId": 171, + "value": "PG", + "label": "Papua new Guinea", + "signal": 2, + "emoji": "🇵🇬", + }, + { + "regionId": 176, + "value": "PL", + "label": "Poland", + "signal": 4, + "emoji": "🇵🇱", + }, + { + "regionId": 172, + "value": "PY", + "label": "Paraguay", + "signal": 2, + "emoji": "🇵🇾", + }, + { + "regionId": 170, + "value": "PA", + "label": "Panama", + "signal": 2, + "emoji": "🇵🇦", + }, + { + "regionId": 174, + "value": "PH", + "label": "Philippines", + "signal": 3, + "emoji": "🇵🇭", + }, + { + "regionId": 70, + "value": "ET", + "label": "Ethiopia", + "signal": 2, + "emoji": "🇪🇹", + }, + { + "regionId": 90, + "value": "GT", + "label": "Guatemala", + "signal": 3, + "emoji": "🇬🇹", + }, + { + "regionId": 85, + "value": "GR", + "label": "Greece", + "signal": 4, + "emoji": "🇬🇷", + }, + { + "regionId": 93, + "value": "GW", + "label": "Guinea-Bissau", + "signal": 2, + "emoji": "🇬🇼", + }, + { + "regionId": 69, + "value": "EE", + "label": "Estonia", + "signal": 3, + "emoji": "🇪🇪", + }, + { + "regionId": 92, + "value": "GN", + "label": "Guinea", + "signal": 2, + "emoji": "🇬🇳", + }, + { + "regionId": 194, + "value": "SA", + "label": "Saudi Arabia", + "signal": 3, + "emoji": "🇸🇦", + }, + { + "regionId": 196, + "value": "RS", + "label": "Serbia", + "signal": 2, + "emoji": "🇷🇸", + }, + { + "regionId": 17, + "value": "BS", + "label": "The Bahamas", + "signal": 2, + "emoji": "🇧🇸", + }, + { + "regionId": 64, + "value": "EC", + "label": "Ecuador", + "signal": 2, + "emoji": "🇪🇨", + }, + { + "regionId": 87, + "value": "GD", + "label": "Grenada", + "signal": 1, + "emoji": "🇬🇩", + }, + { + "regionId": 28, + "value": "BA", + "label": "Bosnia and Herzegovina", + "signal": 3, + "emoji": "🇧🇦", + }, + { + "regionId": 31, + "value": "BR", + "label": "Brazil", + "signal": 3, + "emoji": "🇧🇷", + }, + { + "regionId": 82, + "value": "DE", + "label": "Germany", + "signal": 3, + "emoji": "🇩🇪", + }, + { + "regionId": 83, + "value": "GH", + "label": "Ghana", + "signal": 2, + "emoji": "🇬🇭", + }, + { + "regionId": 183, + "value": "RW", + "label": "Rwanda", + "signal": 2, + "emoji": "🇷🇼", + }, + { + "regionId": 195, + "value": "SN", + "label": "Senegal", + "signal": 3, + "emoji": "🇸🇳", + }, + { + "regionId": 219, + "value": "TH", + "label": "Thailand", + "signal": 2, + "emoji": "🇹🇭", + }, + { + "regionId": 217, + "value": "TJ", + "label": "Tajikistan", + "signal": 2, + "emoji": "🇹🇯", + }, + { + "regionId": 218, + "value": "TZ", + "label": "Tanzania", + "signal": 2, + "emoji": "🇹🇿", + }, + { + "regionId": 65, + "value": "EG", + "label": "Egypt", + "signal": 3, + "emoji": "🇪🇬", + }, + { + "regionId": 66, + "value": "SV", + "label": "El Salvador", + "signal": 2, + "emoji": "🇸🇻", + }, + { + "regionId": 84, + "value": "GI", + "label": "Gibraltar", + "signal": 1, + "emoji": "🇬🇮", + }, + { + "regionId": 188, + "value": "VC", + "label": "Saint Vincent And The Grenadines", + "signal": 2, + "emoji": "🇻🇨", + }, + { + "regionId": 200, + "value": "SK", + "label": "Slovakia", + "signal": 3, + "emoji": "🇸🇰", + }, + { + "regionId": 201, + "value": "SI", + "label": "Slovenia", + "signal": 2, + "emoji": "🇸🇮", + }, + { + "regionId": 223, + "value": "TT", + "label": "Trinidad And Tobago", + "signal": 2, + "emoji": "🇹🇹", + }, + { + "regionId": 224, + "value": "TN", + "label": "Tunisia", + "signal": 4, + "emoji": "🇹🇳", + }, + { + "regionId": 225, + "value": "TR", + "label": "Turkey", + "signal": 3, + "emoji": "🇹🇷", + }, + { + "regionId": 229, + "value": "UG", + "label": "Uganda", + "signal": 2, + "emoji": "🇺🇬", + }, + { + "regionId": 227, + "value": "TC", + "label": "Turks And Caicos Islands", + "signal": 2, + "emoji": "🇹🇨", + }, + { + "regionId": 230, + "value": "UA", + "label": "Ukraine", + "signal": 2, + "emoji": "🇺🇦", + }, + { + "regionId": 220, + "value": "TG", + "label": "Togo", + "signal": 2, + "emoji": "🇹🇬", + }, + { + "regionId": 233, + "value": "US", + "label": "United States", + "signal": 4, + "emoji": "🇺🇸", + }, + { + "regionId": 177, + "value": "PT", + "label": "Portugal", + "signal": 3, + "emoji": "🇵🇹", + }, + { + "regionId": 178, + "value": "PR", + "label": "Puerto Rico", + "signal": 2, + "emoji": "🇵🇷", + }, + { + "regionId": 231, + "value": "AE", + "label": "United Arab Emirates", + "signal": 3, + "emoji": "🇦🇪", + }, + { + "regionId": 232, + "value": "GB", + "label": "United Kingdom", + "signal": 2, + "emoji": "🇬🇧", + }, + { + "regionId": 240, + "value": "VN", + "label": "Vietnam", + "signal": 3, + "emoji": "🇻🇳", + }, + { + "regionId": 112, + "value": "KZ", + "label": "Kazakhstan", + "signal": 4, + "emoji": "🇰🇿", + }, + { + "regionId": 106, + "value": "IL", + "label": "Israel", + "signal": 4, + "emoji": "🇮🇱", + }, + { + "regionId": 108, + "value": "JM", + "label": "Jamaica", + "signal": 2, + "emoji": "🇯🇲", + }, + { + "regionId": 242, + "value": "VI", + "label": "Virgin Islands (US)", + "signal": 1, + "emoji": "🇻🇮", + }, + { + "regionId": 118, + "value": "KG", + "label": "Kyrgyzstan", + "signal": 3, + "emoji": "🇰🇬", + }, + { + "regionId": 120, + "value": "LV", + "label": "Latvia", + "signal": 2, + "emoji": "🇱🇻", + }, + { + "regionId": 154, + "value": "NP", + "label": "Nepal", + "signal": 2, + "emoji": "🇳🇵", + }, + { + "regionId": 246, + "value": "ZM", + "label": "Zambia", + "signal": 2, + "emoji": "🇿🇲", + }, + { + "regionId": 124, + "value": "LY", + "label": "Libya", + "signal": 1, + "emoji": "🇱🇾", + }, + { + "regionId": 152, + "value": "NA", + "label": "Namibia", + "signal": 1, + "emoji": "🇳🇦", + }, + { + "regionId": 180, + "value": "RE", + "label": "Reunion", + "signal": 1, + "emoji": "🇷🇪", + }, + { + "regionId": 179, + "value": "QA", + "label": "Qatar", + "signal": 2, + "emoji": "🇶🇦", + }, + { + "regionId": 182, + "value": "RU", + "label": "Russia", + "signal": 2, + "emoji": "🇷🇺", + }, + { + "regionId": 110, + "value": "JE", + "label": "Jersey", + "signal": 1, + "emoji": "🇯🇪", + }, + { + "regionId": 117, + "value": "KW", + "label": "Kuwait", + "signal": 4, + "emoji": "🇰🇼", + }, + { + "regionId": 126, + "value": "LT", + "label": "Lithuania", + "signal": 2, + "emoji": "🇱🇹", + }, + { + "regionId": 149, + "value": "MA", + "label": "Morocco", + "signal": 3, + "emoji": "🇲🇦", + }, + { + "regionId": 105, + "value": "IE", + "label": "Ireland", + "signal": 3, + "emoji": "🇮🇪", + }, + { + "regionId": 107, + "value": "IT", + "label": "Italy", + "signal": 3, + "emoji": "🇮🇹", + }, + { + "regionId": 151, + "value": "MM", + "label": "Myanmar", + "signal": 2, + "emoji": "🇲🇲", + }, + { + "regionId": 247, + "value": "ZW", + "label": "Zimbabwe", + "signal": 1, + "emoji": "🇿🇼", + }, + { + "regionId": 122, + "value": "LS", + "label": "Lesotho", + "signal": 1, + "emoji": "🇱🇸", + }, + { + "regionId": 245, + "value": "YE", + "label": "Yemen", + "signal": 2, + "emoji": "🇾🇪", + }, + { + "regionId": 181, + "value": "RO", + "label": "Romania", + "signal": 2, + "emoji": "🇷🇴", + }, + { + "regionId": 150, + "value": "MZ", + "label": "Mozambique", + "signal": 2, + "emoji": "🇲🇿", + }, + { + "regionId": 109, + "value": "JP", + "label": "Japan", + "signal": 1, + "emoji": "🇯🇵", + }, + { + "regionId": 111, + "value": "JO", + "label": "Jordan", + "signal": 3, + "emoji": "🇯🇴", + }, + { + "regionId": 113, + "value": "KE", + "label": "Kenya", + "signal": 4, + "emoji": "🇰🇪", + }, + { + "regionId": 239, + "value": "VE", + "label": "Venezuela", + "signal": 2, + "emoji": "🇻🇪", + }, + { + "regionId": 236, + "value": "UZ", + "label": "Uzbekistan", + "signal": 3, + "emoji": "🇺🇿", + }, + { + "regionId": 235, + "value": "UY", + "label": "Uruguay", + "signal": 2, + "emoji": "🇺🇾", + }, + { + "regionId": 208, + "value": "LK", + "label": "Sri Lanka", + "signal": 3, + "emoji": "🇱🇰", + }, + { + "regionId": 209, + "value": "SD", + "label": "Sudan", + "signal": 2, + "emoji": "🇸🇩", + }, + { + "regionId": 214, + "value": "CH", + "label": "Switzerland", + "signal": 2, + "emoji": "🇨🇭", + }, + { + "regionId": 116, + "value": "KR", + "label": "South Korea", + "signal": 3, + "emoji": "🇰🇷", + }, + { + "regionId": 210, + "value": "SR", + "label": "Suriname", + "signal": 2, + "emoji": "🇸🇷", + }, + { + "regionId": 204, + "value": "ZA", + "label": "South Africa", + "signal": 2, + "emoji": "🇿🇦", + }, + { + "regionId": 207, + "value": "ES", + "label": "Spain", + "signal": 4, + "emoji": "🇪🇸", + }, + { + "regionId": 216, + "value": "TW", + "label": "Taiwan", + "signal": 3, + "emoji": "🇹🇼", + }, + { + "regionId": 213, + "value": "SE", + "label": "Sweden", + "signal": 3, + "emoji": "🇸🇪", + }, + { + "regionId": 203, + "value": "SO", + "label": "Somalia", + "signal": 2, + "emoji": "🇸🇴", + }, + { + "regionId": 121, + "value": "LB", + "label": "Lebanon", + "signal": 3, + "emoji": "🇱🇧", + }, + { + "regionId": 199, + "value": "SG", + "label": "Singapore", + "signal": 3, + "emoji": "🇸🇬", }, ]; diff --git a/components/scrapeless/common/utils.mjs b/components/scrapeless/common/utils.mjs index dcc9cc61f6f41..7de7bbf394406 100644 --- a/components/scrapeless/common/utils.mjs +++ b/components/scrapeless/common/utils.mjs @@ -22,3 +22,35 @@ export const parseObject = (obj) => { } return obj; }; + +export function isNull(val) { + return val === null; +} + +export const isDef = (val) => { + return typeof val !== "undefined"; +}; + +export const isUnDef = (val) => { + return !isDef(val); +}; + +export function isNullAndUnDef(val) { + return isUnDef(val) && isNull(val); +} + +export function isNullOrUnDef(val) { + return isUnDef(val) || isNull(val); +} + +export function is(val, type) { + return Object.prototype.toString.call(val) === `[object ${type}]`; +} + +export const isObject = (val) => { + return val !== null && is(val, "Object"); +}; + +export const log = (...args) => { + console.log("[Scrapeless] ", ...args); +}; diff --git a/components/scrapeless/package.json b/components/scrapeless/package.json index 84020a7338d49..843e20c5c6789 100644 --- a/components/scrapeless/package.json +++ b/components/scrapeless/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/scrapeless", - "version": "0.1.0", + "version": "0.2.0", "description": "Pipedream Scrapeless Components", "main": "scrapeless.app.mjs", "keywords": [ @@ -13,6 +13,7 @@ "access": "public" }, "dependencies": { - "@pipedream/platform": "^3.0.3" + "@pipedream/platform": "^3.0.3", + "@scrapeless-ai/sdk": "^1.4.0" } } diff --git a/components/scrapeless/scrapeless.app.mjs b/components/scrapeless/scrapeless.app.mjs index 5f6b6e767a218..30bd9266e3832 100644 --- a/components/scrapeless/scrapeless.app.mjs +++ b/components/scrapeless/scrapeless.app.mjs @@ -1,15 +1,17 @@ import { axios } from "@pipedream/platform"; +import { ConfigurationError } from "@pipedream/platform"; +import { Scrapeless } from "@scrapeless-ai/sdk"; export default { type: "app", app: "scrapeless", methods: { _baseUrl() { - return "https://api.scrapeless.com/api/v1"; + return "https://api.scrapeless.com/api"; }, _headers() { return { - "x-api-token": `${this.$auth.api_key}`, + "x-api-key": `${this.$auth.api_key}`, }; }, _makeRequest({ @@ -21,17 +23,29 @@ export default { ...opts, }); }, + _scrapelessClient() { + const { api_key } = this.$auth; + if (!api_key) { + throw new ConfigurationError("API key is required"); + } + + return new Scrapeless({ + apiKey: api_key, + baseUrl: this._baseUrl(), + }); + }, submitScrapeJob(opts = {}) { return this._makeRequest({ method: "POST", - path: "/scraper/request", + path: "/v1/scraper/request", ...opts, }); }, getScrapeResult({ scrapeJobId }) { return this._makeRequest({ - path: `/scraper/result/${scrapeJobId}`, + path: `/v1/scraper/result/${scrapeJobId}`, }); }, }, + }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 848750736e9c3..7493f923c549f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1575,8 +1575,7 @@ importers: specifier: ^3.0.3 version: 3.0.3 - components/bitget: - specifiers: {} + components/bitget: {} components/bitly: dependencies: @@ -9350,7 +9349,7 @@ importers: version: 12.6.1 openai: specifier: ^4.77.0 - version: 4.77.0(zod@3.24.4) + version: 4.77.0(zod@3.25.67) devDependencies: '@types/node': specifier: ^17.0.45 @@ -11764,6 +11763,9 @@ importers: '@pipedream/platform': specifier: ^3.0.3 version: 3.0.3 + '@scrapeless-ai/sdk': + specifier: ^1.4.0 + version: 1.5.1(typescript@5.7.2) components/scrapeninja: dependencies: @@ -15755,7 +15757,7 @@ importers: version: 4.21.2 openai: specifier: ^4.87.3 - version: 4.97.0(ws@8.18.0)(zod@3.24.4) + version: 4.97.0(ws@8.18.2)(zod@3.24.4) tsx: specifier: ^4.19.3 version: 4.19.4 @@ -15783,7 +15785,7 @@ importers: version: link:../sdk openai: specifier: ^4.77.0 - version: 4.97.0(ws@8.18.0)(zod@3.24.4) + version: 4.97.0(ws@8.18.2)(zod@3.24.4) zod: specifier: ^3.24.4 version: 3.24.4 @@ -15796,7 +15798,7 @@ importers: version: 1.2.13 tsup: specifier: ^8.3.6 - version: 8.3.6(@microsoft/api-extractor@7.47.12(@types/node@24.0.0))(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.6.3)(yaml@2.6.1) + version: 8.3.6(@microsoft/api-extractor@7.47.12(@types/node@24.0.0))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.6.3)(yaml@2.6.1) typescript: specifier: ^5.6 version: 5.6.3 @@ -15931,7 +15933,7 @@ importers: version: 29.2.5(@babel/core@7.26.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.0))(jest@29.7.0(@types/node@20.17.30)(babel-plugin-macros@3.1.0))(typescript@5.7.2) tsup: specifier: ^8.3.6 - version: 8.3.6(@microsoft/api-extractor@7.47.12(@types/node@20.17.30))(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.7.2)(yaml@2.6.1) + version: 8.3.6(@microsoft/api-extractor@7.47.12(@types/node@20.17.30))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.7.2)(yaml@2.6.1) typescript: specifier: ^5.6 version: 5.7.2 @@ -16575,6 +16577,10 @@ packages: resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} engines: {node: '>=6.9.0'} + '@babel/generator@7.27.5': + resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} + engines: {node: '>=6.9.0'} + '@babel/generator@8.0.0-alpha.13': resolution: {integrity: sha512-CBRdcDMMkUn7WGyQI6hbHKrRpBo1IT/PsA4UrZiIhg4+CP3qLCOZhBsF3vLmRdxe+xDmlM1oRn2PQneXmwFlZQ==} engines: {node: ^18.20.0 || ^20.17.0 || >=22.8.0} @@ -16658,6 +16664,10 @@ packages: resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@7.27.1': + resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} + engines: {node: '>=6.9.0'} + '@babel/helper-string-parser@8.0.0-alpha.13': resolution: {integrity: sha512-YHapkEwMu3nqoikRQhUqPZXUjqRepotzlYww49FWObNaU+9CKYtOJkJBwfY9RmcFDsFqGeLNk+IUSWRPgwhujA==} engines: {node: ^18.20.0 || ^20.17.0 || >=22.8.0} @@ -16666,6 +16676,10 @@ packages: resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@7.27.1': + resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} + engines: {node: '>=6.9.0'} + '@babel/helper-validator-identifier@8.0.0-alpha.13': resolution: {integrity: sha512-/IZpaAHTp39t0YIZQT51w7xEAPVlEYA9YsxA4tUsveqjvkK47rc/teUWzhQnXKwMwWDiSnP9vLfxYCR2DomrWg==} engines: {node: ^18.20.0 || ^20.17.0 || >=22.8.0} @@ -16695,6 +16709,11 @@ packages: engines: {node: '>=6.0.0'} hasBin: true + '@babel/parser@7.27.7': + resolution: {integrity: sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==} + engines: {node: '>=6.0.0'} + hasBin: true + '@babel/parser@8.0.0-alpha.13': resolution: {integrity: sha512-b8jxzP/fDYLjByadJgnXutKZvjXJUIyf0bIWMUIX47jhtbgA3ZFPC0PByLlqD6rKhTbgvuGHZ0GQilMFL5EaOQ==} engines: {node: ^18.20.0 || ^20.17.0 || >=22.8.0} @@ -17174,6 +17193,10 @@ packages: resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} + '@babel/types@7.27.7': + resolution: {integrity: sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==} + engines: {node: '>=6.9.0'} + '@babel/types@8.0.0-alpha.13': resolution: {integrity: sha512-Kt8oBPvsc0h5t06LfUPkBtkPk6t58FzCcpf4Qsjg142gEgaDwFcg+ZPeBCJySLqenk+ISUkdTXsvhbLXj74kIA==} engines: {node: ^18.20.0 || ^20.17.0 || >=22.8.0} @@ -17315,9 +17338,18 @@ packages: resolution: {integrity: sha512-8y82UMXBdf/hye8bX2Fn04JlL72rvOenVgsvMZ+cAJqo6Ijdl4EmzzuFpM4mz9s+EJ29+34lGHBp277tiLWuiA==} engines: {node: '>=18'} + '@emnapi/core@1.4.3': + resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} + '@emnapi/runtime@1.3.1': resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@emnapi/runtime@1.4.3': + resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} + + '@emnapi/wasi-threads@1.0.2': + resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} + '@emotion/babel-plugin@11.13.5': resolution: {integrity: sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==} @@ -18515,6 +18547,9 @@ packages: resolution: {integrity: sha512-jMxvwzkKzd3cXo2EB9GM2ic0eYo2rP/BS6gJt6HnWbsDO1O8GSD4k7o2Cpr2YERtMpGF/MGcDfsfj2EbQPtrXw==} engines: {node: '>= 10'} + '@napi-rs/wasm-runtime@0.2.11': + resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} + '@netlify/open-api@2.34.0': resolution: {integrity: sha512-C4v7Od/vnGgZ1P4JK3Fn9uUi9HkTxeUqUtj4OLnGD+rGyaVrl4JY89xMCoVksijDtO8XylYFU59CSTnQNeNw7g==} engines: {node: '>=14'} @@ -18816,6 +18851,9 @@ packages: cpu: [x64] os: [win32] + '@oxc-project/types@0.70.0': + resolution: {integrity: sha512-ngyLUpUjO3dpqygSRQDx7nMx8+BmXbWOU4oIwTJFV2MVIDG7knIZwgdwXlQWLg3C3oxg1lS7ppMtPKqKFb7wzw==} + '@pdfless/pdfless-js@1.0.510': resolution: {integrity: sha512-RmbzdGQcWy/OSuPF/eaT0wQsi9ELu465/r/8DsgajbHumStHrkzRqsm330g1PgBgQipZMi9ZTTHfP4i/Sbs+pw==} @@ -19015,6 +19053,11 @@ packages: engines: {node: '>=16.3.0'} hasBin: true + '@puppeteer/browsers@2.10.5': + resolution: {integrity: sha512-eifa0o+i8dERnngJwKrfp3dEq7ia5XFyoqB17S4gK8GhsQE4/P8nxOfQSE0zQHxzzLo/cmF+7+ywEQ7wK7Fb+w==} + engines: {node: '>=18'} + hasBin: true + '@putout/babel@2.9.0': resolution: {integrity: sha512-sk0IZnadnhUtjJGPeRSPZy5+eupnMouuThk4AsObH3MovrhBfCs0VEO5wV0WYXm3Yzcvz/CcNl4vFYlV6kTnVg==} engines: {node: '>=16'} @@ -19889,6 +19932,10 @@ packages: '@qiwi/npm-registry-client@8.9.1': resolution: {integrity: sha512-rZF+mG+NfijR0SHphhTLHRr4aM4gtfdwoAMY6we2VGQam8vkN1cxGG1Lg/Llrj8Dd0Mu6VjdFQRyMMRZxtZR2A==} + '@quansync/fs@0.1.3': + resolution: {integrity: sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==} + engines: {node: '>=20.0.0'} + '@rails/actioncable@8.0.0': resolution: {integrity: sha512-9IXyJeaBggOzlD3pF4/yWELdyUWZm/KTyKBRqxNf9laLBXPqxJt3t6fO+X4s0WajMR8cIhzkxvq1gxsXVbn3LA==} @@ -19954,6 +20001,69 @@ packages: resolution: {integrity: sha512-9FC/6ho8uFa8fV50+FPy/ngWN53jaUu4GRXlAjcxIRrzhltJnpKkBG2Tp0IDraFJeWrOpk84RJ9EMEEYzaI1Bw==} engines: {node: '>=18'} + '@rolldown/binding-darwin-arm64@1.0.0-beta.9': + resolution: {integrity: sha512-geUG/FUpm+membLC0NQBb39vVyOfguYZ2oyXc7emr6UjH6TeEECT4b0CPZXKFnELareTiU/Jfl70/eEgNxyQeA==} + cpu: [arm64] + os: [darwin] + + '@rolldown/binding-darwin-x64@1.0.0-beta.9': + resolution: {integrity: sha512-7wPXDwcOtv2I+pWTL2UNpNAxMAGukgBT90Jz4DCfwaYdGvQncF7J0S7IWrRVsRFhBavxM+65RcueE3VXw5UIbg==} + cpu: [x64] + os: [darwin] + + '@rolldown/binding-freebsd-x64@1.0.0-beta.9': + resolution: {integrity: sha512-agO5mONTNKVrcIt4SRxw5Ni0FOVV3gaH8dIiNp1A4JeU91b9kw7x+JRuNJAQuM2X3pYqVvA6qh13UTNOsaqM/Q==} + cpu: [x64] + os: [freebsd] + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.9': + resolution: {integrity: sha512-dDNDV9p/8WYDriS9HCcbH6y6+JP38o3enj/pMkdkmkxEnZ0ZoHIfQ9RGYWeRYU56NKBCrya4qZBJx49Jk9LRug==} + cpu: [arm] + os: [linux] + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.9': + resolution: {integrity: sha512-kZKegmHG1ZvfsFIwYU6DeFSxSIcIliXzeznsJHUo9D9/dlVSDi/PUvsRKcuJkQjZoejM6pk8MHN/UfgGdIhPHw==} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.9': + resolution: {integrity: sha512-f+VL8mO31pyMJiJPr2aA1ryYONkP2UqgbwK7fKtKHZIeDd/AoUGn3+ujPqDhuy2NxgcJ5H8NaSvDpG1tJMHh+g==} + cpu: [arm64] + os: [linux] + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.9': + resolution: {integrity: sha512-GiUEZ0WPjX5LouDoC3O8aJa4h6BLCpIvaAboNw5JoRour/3dC6rbtZZ/B5FC3/ySsN3/dFOhAH97ylQxoZJi7A==} + cpu: [x64] + os: [linux] + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.9': + resolution: {integrity: sha512-AMb0dicw+QHh6RxvWo4BRcuTMgS0cwUejJRMpSyIcHYnKTbj6nUW4HbWNQuDfZiF27l6F5gEwBS+YLUdVzL9vg==} + cpu: [x64] + os: [linux] + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.9': + resolution: {integrity: sha512-+pdaiTx7L8bWKvsAuCE0HAxP1ze1WOLoWGCawcrZbMSY10dMh2i82lJiH6tXGXbfYYwsNWhWE2NyG4peFZvRfQ==} + engines: {node: '>=14.21.3'} + cpu: [wasm32] + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.9': + resolution: {integrity: sha512-A7kN248viWvb8eZMzQu024TBKGoyoVYBsDG2DtoP8u2pzwoh5yDqUL291u01o4f8uzpUHq8mfwQJmcGChFu8KQ==} + cpu: [arm64] + os: [win32] + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.9': + resolution: {integrity: sha512-DzKN7iEYjAP8AK8F2G2aCej3fk43Y/EQrVrR3gF0XREes56chjQ7bXIhw819jv74BbxGdnpPcslhet/cgt7WRA==} + cpu: [ia32] + os: [win32] + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.9': + resolution: {integrity: sha512-GMWgTvvbZ8TfBsAiJpoz4SRq3IN3aUMn0rYm8q4I8dcEk4J1uISyfb6ZMzvqW+cvScTWVKWZNqnrmYOKLLUt4w==} + cpu: [x64] + os: [win32] + + '@rolldown/pluginutils@1.0.0-beta.9': + resolution: {integrity: sha512-e9MeMtVWo186sgvFFJOPGy7/d2j2mZhLJIdVW0C/xDluuOvymEATqz6zKsP0ZmXGzQtqlyjz5sC1sYQUoJG98w==} + '@rollup/pluginutils@5.1.3': resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} @@ -20081,6 +20191,9 @@ packages: '@rushstack/ts-command-line@4.23.1': resolution: {integrity: sha512-40jTmYoiu/xlIpkkRsVfENtBq4CW3R4azbL0Vmda+fMwHWqss6wwf/Cy/UJmMqIzpfYc2OTnjYP1ZLD3CmyeCA==} + '@scrapeless-ai/sdk@1.5.1': + resolution: {integrity: sha512-dZ92ERwMMH3zR8tIYuYnk9sBuRzddlOJTTlBFxvSHAN7bkDEa0d8YGio+YsrNwJ7S2bNuU1NCcTK95WdbaSRJw==} + '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} @@ -20692,6 +20805,9 @@ packages: '@tuya/tuya-connector-nodejs@2.1.2': resolution: {integrity: sha512-8tM7QlOF1QQrT3iQgcHp4JDNRUdOyi06h8F5ZL7antQZYP67TRQ2/puisoo2uhdXo+n+GT0B605pWaDqr9nPrA==} + '@tybys/wasm-util@0.9.0': + resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} + '@types/acorn@4.0.6': resolution: {integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==} @@ -21415,6 +21531,10 @@ packages: ansicolors@0.3.2: resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + ansis@4.1.0: + resolution: {integrity: sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==} + engines: {node: '>=14'} + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} @@ -21547,6 +21667,10 @@ packages: resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} engines: {node: '>=0.8'} + ast-kit@2.1.0: + resolution: {integrity: sha512-ROM2LlXbZBZVk97crfw8PGDOBzzsJvN2uJCmwswvPUNyfH14eg90mSN3xNqsri1JS1G9cz0VzeDUhxJkTrr4Ew==} + engines: {node: '>=20.18.0'} + ast-module-types@2.7.1: resolution: {integrity: sha512-Rnnx/4Dus6fn7fTqdeLEAn5vUll5w7/vts0RN608yFa6si/rDOUonlIIiwugHBFWjylHjxm9owoSZn71KwG4gw==} @@ -21732,18 +21856,48 @@ packages: bare-events@2.5.0: resolution: {integrity: sha512-/E8dDe9dsbLyh2qrZ64PEPadOQ0F4gbl1sUJOrmph7xOiIxfY8vwab/4bFLh4Y88/Hk/ujKcrQKc+ps0mv873A==} + bare-events@2.5.4: + resolution: {integrity: sha512-+gFfDkR8pj4/TrWCGUGWmJIkBwuxPS5F+a5yWjOHQt2hHvNZd5YLzadjmDUtFmMM4y429bnKLa8bYBMHcYdnQA==} + bare-fs@2.3.5: resolution: {integrity: sha512-SlE9eTxifPDJrT6YgemQ1WGFleevzwY+XAP1Xqgl56HtcrisC2CHCZ2tq6dBpcH2TnNxwUEUGhweo+lrQtYuiw==} + bare-fs@4.1.5: + resolution: {integrity: sha512-1zccWBMypln0jEE05LzZt+V/8y8AQsQQqxtklqaIyg5nu6OAYFhZxPXinJTSG+kU5qyNmeLgcn9AW7eHiCHVLA==} + engines: {bare: '>=1.16.0'} + peerDependencies: + bare-buffer: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-os@2.4.4: resolution: {integrity: sha512-z3UiI2yi1mK0sXeRdc4O1Kk8aOa/e+FNWZcTiPB/dfTWyLypuE99LibgRaQki914Jq//yAWylcAt+mknKdixRQ==} + bare-os@3.6.1: + resolution: {integrity: sha512-uaIjxokhFidJP+bmmvKSgiMzj2sV5GPHaZVAIktcxcpCyBFFWO+YlikVAdhmUo2vYFvFhOXIAlldqV29L8126g==} + engines: {bare: '>=1.14.0'} + bare-path@2.1.3: resolution: {integrity: sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==} + bare-path@3.0.0: + resolution: {integrity: sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==} + bare-stream@2.4.0: resolution: {integrity: sha512-sd96/aZ8LjF1uJbEHzIo1LrERPKRFPEy1nZ1eOILftBxrVsFDAQkimHIIq87xrHcubzjNeETsD9PwN0wp+vLiQ==} + bare-stream@2.6.5: + resolution: {integrity: sha512-jSmxKJNJmHySi6hC42zlZnq00rga4jjxcgNZjY9N5WlOe/iOoGRtdwGsHzQv2RlH2KOYMwGUXhf2zXd32BA9RA==} + peerDependencies: + bare-buffer: '*' + bare-events: '*' + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true + base-64@0.1.0: resolution: {integrity: sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==} @@ -21794,6 +21948,9 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + birpc@2.4.0: + resolution: {integrity: sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==} + bl@1.2.3: resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} @@ -22124,6 +22281,11 @@ packages: peerDependencies: devtools-protocol: '*' + chromium-bidi@5.1.0: + resolution: {integrity: sha512-9MSRhWRVoRPDG0TgzkHrshFSJJNZzfY5UFqUMuksg7zL1yoZIZ3jLB0YAgHclbiAxPI86pBnwDX1tbzoiV8aFw==} + peerDependencies: + devtools-protocol: '*' + ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} @@ -22884,6 +23046,15 @@ packages: supports-color: optional: true + debug@4.4.1: + resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -22950,6 +23121,9 @@ packages: resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} engines: {node: '>= 0.4'} + defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + degenerator@3.0.4: resolution: {integrity: sha512-Z66uPeBfHZAHVmue3HPfyKu2Q0rC2cRxbTOsvmU/po5fvvcx27W4mIu9n0PUlQih4oUYvcG1BsbtVv8x7KDOSw==} engines: {node: '>= 6'} @@ -23061,6 +23235,9 @@ packages: devtools-protocol@0.0.1232444: resolution: {integrity: sha512-pM27vqEfxSxRkTMnF+XCmxSEb6duO5R+t8A9DEEJgy4Wz2RVanje2mmj99B6A3zv2r/qGfYlOvYznUhuokizmg==} + devtools-protocol@0.0.1452169: + resolution: {integrity: sha512-FOFDVMGrAUNp0dDKsAU1TorWJUx2JOU1k9xdgBKKJF3IBh/Uhl2yswG5r3TEAOrCiGY2QRp1e6LVDQrCsTKO4g==} + dezalgo@1.0.4: resolution: {integrity: sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==} @@ -23082,6 +23259,10 @@ packages: resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} engines: {node: '>=0.3.1'} + diff@8.0.2: + resolution: {integrity: sha512-sSuxWU5j5SR9QQji/o2qMvqRNYRDOcBTgsJ/DeCf4iSN4gW+gNMXM7wFIP+fdXZxoNiAnHUTGjCr+TSWXdRDKg==} + engines: {node: '>=0.3.1'} + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -23144,6 +23325,10 @@ packages: resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==} engines: {node: '>=12'} + dotenv@16.6.0: + resolution: {integrity: sha512-Omf1L8paOy2VJhILjyhrhqwLIdstqm1BvcDPKg4NGAlkwEu9ODyrFbvk8UymUOMCT+HXo31jg1lArIrVAAhuGA==} + engines: {node: '>=12'} + dotenv@6.2.0: resolution: {integrity: sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==} engines: {node: '>=6'} @@ -23171,6 +23356,15 @@ packages: peerDependencies: typescript: '*' + dts-resolver@2.1.1: + resolution: {integrity: sha512-3BiGFhB6mj5Kv+W2vdJseQUYW+SKVzAFJL6YNP6ursbrwy1fXHRotfHi3xLNxe4wZl/K8qbAFeCDjZLjzqxxRw==} + engines: {node: '>=20.18.0'} + peerDependencies: + oxc-resolver: '>=11.0.0' + peerDependenciesMeta: + oxc-resolver: + optional: true + dtslint@4.2.1: resolution: {integrity: sha512-57mWY9osUEfS6k62ATS9RSgug1dZcuN4O31hO76u+iEexa6VUEbKoPGaA2mNtc0FQDcdTl0zEUtti79UQKSQyQ==} engines: {node: '>=10.0.0'} @@ -23249,6 +23443,10 @@ packages: resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} engines: {node: '>= 4'} + empathic@1.1.0: + resolution: {integrity: sha512-rsPft6CK3eHtrlp9Y5ALBb+hfK+DWnA4WFebbazxjWyx8vSm3rZeoM3z9irsjcqO3PYRzlfv27XIB4tz2DV7RA==} + engines: {node: '>=14'} + enabled@2.0.0: resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==} @@ -23872,6 +24070,14 @@ packages: picomatch: optional: true + fdir@6.4.6: + resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fecha@4.2.3: resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} @@ -23928,6 +24134,9 @@ packages: '@75lb/nature': optional: true + file-stream-rotator@0.6.1: + resolution: {integrity: sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ==} + file-type@16.5.4: resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} engines: {node: '>=10'} @@ -24329,6 +24538,9 @@ packages: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} + get-tsconfig@4.10.1: + resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} + get-tsconfig@4.8.1: resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==} @@ -24734,6 +24946,9 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} + hookable@5.5.3: + resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} + hookified@1.5.0: resolution: {integrity: sha512-4U0zw2ibOws7kfGdNCIL6oRg+t6ITxkgi9kUaJ71IDp0ZATHjvY6o7l90RBa/R8H2qOKl47SZISA5a3hNnei1g==} @@ -25551,6 +25766,10 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} + hasBin: true + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} @@ -27455,6 +27674,10 @@ packages: resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==} engines: {node: '>= 14'} + pac-proxy-agent@7.2.0: + resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==} + engines: {node: '>= 14'} + pac-resolver@5.0.1: resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==} engines: {node: '>= 8'} @@ -27602,6 +27825,9 @@ packages: pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} + pause-stream@0.0.11: resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} @@ -27730,6 +27956,11 @@ packages: engines: {node: '>=16'} hasBin: true + playwright-core@1.53.1: + resolution: {integrity: sha512-Z46Oq7tLAyT0lGoFx4DOuB1IA9D1TPj0QkYxpPVUnGDqHHvDpCftu1J2hM2PiWsNMoZh8+LQaarAWcDfPBc6zg==} + engines: {node: '>=18'} + hasBin: true + please-upgrade-node@3.2.0: resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} @@ -27977,6 +28208,10 @@ packages: resolution: {integrity: sha512-Rb5RVBy1iyqOtNl15Cw/llpeLH8bsb37gM1FUfKQ+Wck6xHlbAhWGUFiTRHtkjqGTA5pSHz6+0hrPW/oECihPQ==} engines: {node: '>= 14'} + proxy-agent@6.5.0: + resolution: {integrity: sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==} + engines: {node: '>= 14'} + proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} @@ -28024,6 +28259,10 @@ packages: resolution: {integrity: sha512-ArbnyA3U5SGHokEvkfWjW+O8hOxV1RSJxOgriX/3A4xZRqixt9ZFHD0yPgZQF05Qj0oAqi8H/7stDorjoHY90Q==} engines: {node: '>=16.13.2'} + puppeteer-core@24.10.2: + resolution: {integrity: sha512-CnzhOgrZj8DvkDqI+Yx+9or33i3Y9uUYbKyYpP4C13jWwXx/keQ38RMTMmxuLCWQlxjZrOH0Foq7P2fGP7adDQ==} + engines: {node: '>=18'} + pure-rand@6.1.0: resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} @@ -28070,6 +28309,9 @@ packages: resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} engines: {node: '>=0.6'} + quansync@0.2.10: + resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + query-string@6.14.1: resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} engines: {node: '>=6'} @@ -28593,6 +28835,31 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + rolldown-plugin-dts@0.13.12: + resolution: {integrity: sha512-4QdQQfMOWNDLhmvoG3USAUpCm75dgwWk3IrK6SV9Fw2U5uwcSE7oQTqEcmsUGEBsNxZ58+gtM1oX38MMf0g5PA==} + engines: {node: '>=20.18.0'} + peerDependencies: + '@typescript/native-preview': '>=7.0.0-dev.20250601.1' + rolldown: ^1.0.0-beta.9 + typescript: ^5.0.0 + vue-tsc: ~2.2.0 + peerDependenciesMeta: + '@typescript/native-preview': + optional: true + typescript: + optional: true + vue-tsc: + optional: true + + rolldown@1.0.0-beta.9: + resolution: {integrity: sha512-ZgZky52n6iF0UainGKjptKGrOG4Con2S5sdc4C4y2Oj25D5PHAY8Y8E5f3M2TSd/zlhQs574JlMeTe3vREczSg==} + hasBin: true + peerDependencies: + '@oxc-project/runtime': 0.70.0 + peerDependenciesMeta: + '@oxc-project/runtime': + optional: true + rollup@4.27.3: resolution: {integrity: sha512-SLsCOnlmGt9VoZ9Ek8yBK8tAdmPHeppkw+Xa7yDlCEhDTvwYei03JlWo1fdc7YTfLZ4tD8riJCUyAgTbszk1fQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -28944,6 +29211,10 @@ packages: resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==} engines: {node: '>= 14'} + socks-proxy-agent@8.0.5: + resolution: {integrity: sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==} + engines: {node: '>= 14'} + socks@2.8.3: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} @@ -29046,6 +29317,10 @@ packages: stack-trace@0.0.10: resolution: {integrity: sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==} + stack-trace@1.0.0-pre2: + resolution: {integrity: sha512-2ztBJRek8IVofG9DBJqdy2N5kulaacX30Nz7xmkYF6ale9WBVmIy6mFBchvGX7Vx/MyjBhx+Rcxqrj+dbOnQ6A==} + engines: {node: '>=16'} + stack-utils@2.0.6: resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} engines: {node: '>=10'} @@ -29113,6 +29388,9 @@ packages: streamx@2.20.2: resolution: {integrity: sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==} + streamx@2.22.1: + resolution: {integrity: sha512-znKXEBxfatz2GBNK02kRnCXjV+AA4kjZIUxeWSr3UGirZMJfTE9uiwKHobnbgxWyL/JWro8tTq+vOqAK1/qbSA==} + strict-uri-encode@2.0.0: resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} engines: {node: '>=4'} @@ -29416,6 +29694,9 @@ packages: tar-fs@2.1.1: resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + tar-fs@3.0.10: + resolution: {integrity: sha512-C1SwlQGNLe/jPNqapK8epDsXME7CAJR5RL3GcE6KWx1d9OUByzoHVcbu1VPI8tevg9H8Alae0AApHHFGzrD5zA==} + tar-fs@3.0.4: resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==} @@ -29519,10 +29800,17 @@ packages: tinyexec@0.3.1: resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} + tinyexec@1.0.1: + resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} + tinyglobby@0.2.10: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.14: + resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + engines: {node: '>=12.0.0'} + title-case@3.0.3: resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} @@ -29665,6 +29953,25 @@ packages: tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsdown@0.11.13: + resolution: {integrity: sha512-VSfoNm8MJXFdg7PJ4p2javgjMRiQQHpkP9N3iBBTrmCixcT6YZ9ZtqYMW3NDHczqR0C0Qnur1HMQr1ZfZcmrng==} + engines: {node: '>=18.0.0'} + hasBin: true + peerDependencies: + publint: ^0.3.0 + typescript: ^5.0.0 + unplugin-lightningcss: ^0.4.0 + unplugin-unused: ^0.5.0 + peerDependenciesMeta: + publint: + optional: true + typescript: + optional: true + unplugin-lightningcss: + optional: true + unplugin-unused: + optional: true + tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} @@ -29807,6 +30114,9 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} + typed-query-selector@2.12.0: + resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==} + typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} @@ -29884,6 +30194,9 @@ packages: resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} engines: {node: '>=0.10.0'} + unconfig@7.3.2: + resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==} + undefsafe@2.0.5: resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} @@ -30392,6 +30705,12 @@ packages: wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} + winston-daily-rotate-file@5.0.0: + resolution: {integrity: sha512-JDjiXXkM5qvwY06733vf09I2wnMXpZEhxEVOSPenZMii+g7pcDcTBt2MRugnoi8BwVSuCT2jfRXBUy+n1Zz/Yw==} + engines: {node: '>=8'} + peerDependencies: + winston: ^3 + winston-transport@4.9.0: resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} engines: {node: '>= 12.0.0'} @@ -30499,6 +30818,18 @@ packages: utf-8-validate: optional: true + ws@8.18.2: + resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + ws@8.7.0: resolution: {integrity: sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==} engines: {node: '>=10.0.0'} @@ -30670,6 +31001,9 @@ packages: zod@3.24.4: resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} + zod@3.25.67: + resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} + zwitch@1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} @@ -32821,6 +33155,14 @@ snapshots: '@jridgewell/trace-mapping': 0.3.25 jsesc: 3.0.2 + '@babel/generator@7.27.5': + dependencies: + '@babel/parser': 7.27.7 + '@babel/types': 7.27.7 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + '@babel/generator@8.0.0-alpha.13': dependencies: '@babel/parser': 8.0.0-alpha.13 @@ -32950,10 +33292,14 @@ snapshots: '@babel/helper-string-parser@7.25.9': {} + '@babel/helper-string-parser@7.27.1': {} + '@babel/helper-string-parser@8.0.0-alpha.13': {} '@babel/helper-validator-identifier@7.25.9': {} + '@babel/helper-validator-identifier@7.27.1': {} + '@babel/helper-validator-identifier@8.0.0-alpha.13': {} '@babel/helper-validator-option@7.25.9': {} @@ -32982,6 +33328,10 @@ snapshots: dependencies: '@babel/types': 7.26.0 + '@babel/parser@7.27.7': + dependencies: + '@babel/types': 7.27.7 + '@babel/parser@8.0.0-alpha.13': dependencies: '@babel/types': 8.0.0-alpha.13 @@ -33661,6 +34011,11 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 + '@babel/types@7.27.7': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/types@8.0.0-alpha.13': dependencies: '@babel/helper-string-parser': 8.0.0-alpha.13 @@ -33806,11 +34161,27 @@ snapshots: dependencies: e2b: 1.0.5 + '@emnapi/core@1.4.3': + dependencies: + '@emnapi/wasi-threads': 1.0.2 + tslib: 2.8.1 + optional: true + '@emnapi/runtime@1.3.1': dependencies: tslib: 2.8.1 optional: true + '@emnapi/runtime@1.4.3': + dependencies: + tslib: 2.8.1 + optional: true + + '@emnapi/wasi-threads@1.0.2': + dependencies: + tslib: 2.8.1 + optional: true + '@emotion/babel-plugin@11.13.5': dependencies: '@babel/helper-module-imports': 7.25.9 @@ -35214,6 +35585,13 @@ snapshots: '@napi-rs/simple-git-win32-arm64-msvc': 0.1.19 '@napi-rs/simple-git-win32-x64-msvc': 0.1.19 + '@napi-rs/wasm-runtime@0.2.11': + dependencies: + '@emnapi/core': 1.4.3 + '@emnapi/runtime': 1.4.3 + '@tybys/wasm-util': 0.9.0 + optional: true + '@netlify/open-api@2.34.0': {} '@netlify/zip-it-and-ship-it@3.10.0': @@ -35512,6 +35890,8 @@ snapshots: '@oven/bun-windows-x64@1.2.13': optional: true + '@oxc-project/types@0.70.0': {} + '@pdfless/pdfless-js@1.0.510': dependencies: '@microsoft/kiota-abstractions': 1.0.0-preview.77 @@ -35956,6 +36336,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@puppeteer/browsers@2.10.5': + dependencies: + debug: 4.4.1 + extract-zip: 2.0.1 + progress: 2.0.3 + proxy-agent: 6.5.0 + semver: 7.7.2 + tar-fs: 3.0.10 + yargs: 17.7.2 + transitivePeerDependencies: + - bare-buffer + - supports-color + '@putout/babel@2.9.0': {} '@putout/cli-cache@3.2.0': @@ -36751,6 +37144,10 @@ snapshots: optionalDependencies: npmlog: 4.1.2 + '@quansync/fs@0.1.3': + dependencies: + quansync: 0.2.10 + '@rails/actioncable@8.0.0': {} '@react-aria/focus@3.19.0(react@18.3.1)': @@ -36838,6 +37235,46 @@ snapshots: '@readme/openapi-schemas@3.1.0': {} + '@rolldown/binding-darwin-arm64@1.0.0-beta.9': + optional: true + + '@rolldown/binding-darwin-x64@1.0.0-beta.9': + optional: true + + '@rolldown/binding-freebsd-x64@1.0.0-beta.9': + optional: true + + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.9': + optional: true + + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.9': + optional: true + + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.9': + optional: true + + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.9': + optional: true + + '@rolldown/binding-linux-x64-musl@1.0.0-beta.9': + optional: true + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.9': + dependencies: + '@napi-rs/wasm-runtime': 0.2.11 + optional: true + + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.9': + optional: true + + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.9': + optional: true + + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.9': + optional: true + + '@rolldown/pluginutils@1.0.0-beta.9': {} + '@rollup/pluginutils@5.1.3(rollup@4.27.3)': dependencies: '@types/estree': 1.0.6 @@ -36970,6 +37407,35 @@ snapshots: transitivePeerDependencies: - '@types/node' + '@scrapeless-ai/sdk@1.5.1(typescript@5.7.2)': + dependencies: + dotenv: 16.6.0 + form-data: 4.0.2 + node-fetch: 2.7.0 + playwright-core: 1.53.1 + puppeteer-core: 24.10.2 + stack-trace: 1.0.0-pre2 + tsdown: 0.11.13(typescript@5.7.2) + winston: 3.17.0 + winston-daily-rotate-file: 5.0.0(winston@3.17.0) + winston-transport: 4.9.0 + zod: 3.25.67 + zod-to-json-schema: 3.24.5(zod@3.25.67) + transitivePeerDependencies: + - '@oxc-project/runtime' + - '@typescript/native-preview' + - bare-buffer + - bufferutil + - encoding + - oxc-resolver + - publint + - supports-color + - typescript + - unplugin-lightningcss + - unplugin-unused + - utf-8-validate + - vue-tsc + '@sec-ant/readable-stream@0.4.1': {} '@selderee/plugin-htmlparser2@0.11.0': @@ -37899,6 +38365,11 @@ snapshots: transitivePeerDependencies: - debug + '@tybys/wasm-util@0.9.0': + dependencies: + tslib: 2.8.1 + optional: true + '@types/acorn@4.0.6': dependencies: '@types/estree': 1.0.6 @@ -38744,6 +39215,8 @@ snapshots: ansicolors@0.3.2: {} + ansis@4.1.0: {} + any-promise@1.3.0: {} anymatch@3.1.3: @@ -38935,6 +39408,11 @@ snapshots: assert-plus@1.0.0: {} + ast-kit@2.1.0: + dependencies: + '@babel/parser': 7.27.7 + pathe: 2.0.3 + ast-module-types@2.7.1: {} ast-module-types@3.0.0: {} @@ -39250,6 +39728,9 @@ snapshots: bare-events@2.5.0: optional: true + bare-events@2.5.4: + optional: true + bare-fs@2.3.5: dependencies: bare-events: 2.5.0 @@ -39257,19 +39738,41 @@ snapshots: bare-stream: 2.4.0 optional: true + bare-fs@4.1.5: + dependencies: + bare-events: 2.5.4 + bare-path: 3.0.0 + bare-stream: 2.6.5(bare-events@2.5.4) + optional: true + bare-os@2.4.4: optional: true + bare-os@3.6.1: + optional: true + bare-path@2.1.3: dependencies: bare-os: 2.4.4 optional: true + bare-path@3.0.0: + dependencies: + bare-os: 3.6.1 + optional: true + bare-stream@2.4.0: dependencies: streamx: 2.20.2 optional: true + bare-stream@2.6.5(bare-events@2.5.4): + dependencies: + streamx: 2.22.1 + optionalDependencies: + bare-events: 2.5.4 + optional: true + base-64@0.1.0: {} base-64@1.0.0: {} @@ -39307,6 +39810,8 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 + birpc@2.4.0: {} + bl@1.2.3: dependencies: readable-stream: 2.3.8 @@ -39685,6 +40190,12 @@ snapshots: mitt: 3.0.1 urlpattern-polyfill: 10.0.0 + chromium-bidi@5.1.0(devtools-protocol@0.0.1452169): + dependencies: + devtools-protocol: 0.0.1452169 + mitt: 3.0.1 + zod: 3.25.67 + ci-info@2.0.0: {} ci-info@3.9.0: {} @@ -40552,6 +41063,10 @@ snapshots: dependencies: ms: 2.1.3 + debug@4.4.1: + dependencies: + ms: 2.1.3 + decamelize@1.2.0: {} decode-named-character-reference@1.0.2: @@ -40602,6 +41117,8 @@ snapshots: has-property-descriptors: 1.0.2 object-keys: 1.1.1 + defu@6.1.4: {} + degenerator@3.0.4: dependencies: ast-types: 0.13.4 @@ -40721,6 +41238,8 @@ snapshots: devtools-protocol@0.0.1232444: {} + devtools-protocol@0.0.1452169: {} + dezalgo@1.0.4: dependencies: asap: 2.0.6 @@ -40736,6 +41255,8 @@ snapshots: diff@3.5.0: {} + diff@8.0.2: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 @@ -40807,6 +41328,8 @@ snapshots: dotenv@16.4.7: {} + dotenv@16.6.0: {} + dotenv@6.2.0: {} dotenv@8.6.0: {} @@ -40835,6 +41358,8 @@ snapshots: typescript: 5.7.2 yargs: 15.4.1 + dts-resolver@2.1.1: {} + dtslint@4.2.1(typescript@5.7.2): dependencies: '@definitelytyped/header-parser': 0.2.19 @@ -40919,6 +41444,8 @@ snapshots: emojis-list@3.0.0: {} + empathic@1.1.0: {} + enabled@2.0.0: {} encodeurl@1.0.2: {} @@ -41885,6 +42412,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.4.6(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + fecha@4.2.3: {} feedparser@2.2.10: @@ -41939,6 +42470,10 @@ snapshots: array-back: 6.2.2 fast-glob: 3.3.2 + file-stream-rotator@0.6.1: + dependencies: + moment: 2.30.1 + file-type@16.5.4: dependencies: readable-web-to-node-stream: 3.0.2 @@ -42431,6 +42966,10 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 + get-tsconfig@4.10.1: + dependencies: + resolve-pkg-maps: 1.0.0 + get-tsconfig@4.8.1: dependencies: resolve-pkg-maps: 1.0.0 @@ -43169,6 +43708,8 @@ snapshots: dependencies: parse-passwd: 1.0.0 + hookable@5.5.3: {} + hookified@1.5.0: {} hosted-git-info@2.8.9: {} @@ -44266,6 +44807,8 @@ snapshots: jiti@1.21.6: {} + jiti@2.4.2: {} + jju@1.4.0: {} joi@17.13.3: @@ -46665,7 +47208,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@4.77.0(zod@3.24.4): + openai@4.77.0(zod@3.25.67): dependencies: '@types/node': 18.19.68 '@types/node-fetch': 2.6.12 @@ -46675,11 +47218,11 @@ snapshots: formdata-node: 4.4.1 node-fetch: 2.7.0 optionalDependencies: - zod: 3.24.4 + zod: 3.25.67 transitivePeerDependencies: - encoding - openai@4.97.0(ws@8.18.0)(zod@3.24.4): + openai@4.97.0(ws@8.18.2)(zod@3.24.4): dependencies: '@types/node': 18.19.87 '@types/node-fetch': 2.6.12 @@ -46689,7 +47232,7 @@ snapshots: formdata-node: 4.4.1 node-fetch: 2.7.0 optionalDependencies: - ws: 8.18.0 + ws: 8.18.2 zod: 3.24.4 transitivePeerDependencies: - encoding @@ -46845,6 +47388,19 @@ snapshots: transitivePeerDependencies: - supports-color + pac-proxy-agent@7.2.0: + dependencies: + '@tootallnate/quickjs-emscripten': 0.23.0 + agent-base: 7.1.3 + debug: 4.4.1 + get-uri: 6.0.3 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + pac-resolver: 7.0.1 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + pac-resolver@5.0.1: dependencies: degenerator: 3.0.4 @@ -46998,6 +47554,8 @@ snapshots: pathe@1.1.2: {} + pathe@2.0.3: {} + pause-stream@0.0.11: dependencies: through: 2.3.8 @@ -47114,6 +47672,8 @@ snapshots: playwright-core@1.41.2: {} + playwright-core@1.53.1: {} + please-upgrade-node@3.2.0: dependencies: semver-compare: 1.0.0 @@ -47172,11 +47732,11 @@ snapshots: optionalDependencies: postcss: 8.4.49 - postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(yaml@2.6.1): + postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.4)(yaml@2.6.1): dependencies: lilconfig: 3.1.3 optionalDependencies: - jiti: 1.21.6 + jiti: 2.4.2 postcss: 8.4.49 tsx: 4.19.4 yaml: 2.6.1 @@ -47407,6 +47967,19 @@ snapshots: transitivePeerDependencies: - supports-color + proxy-agent@6.5.0: + dependencies: + agent-base: 7.1.3 + debug: 4.4.1 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + lru-cache: 7.18.3 + pac-proxy-agent: 7.2.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 8.0.5 + transitivePeerDependencies: + - supports-color + proxy-from-env@1.1.0: {} ps-tree@1.2.0: @@ -47476,6 +48049,20 @@ snapshots: - supports-color - utf-8-validate + puppeteer-core@24.10.2: + dependencies: + '@puppeteer/browsers': 2.10.5 + chromium-bidi: 5.1.0(devtools-protocol@0.0.1452169) + debug: 4.4.1 + devtools-protocol: 0.0.1452169 + typed-query-selector: 2.12.0 + ws: 8.18.2 + transitivePeerDependencies: + - bare-buffer + - bufferutil + - supports-color + - utf-8-validate + pure-rand@6.1.0: {} putout@36.13.1(eslint@8.57.1)(typescript@5.6.3): @@ -47679,6 +48266,8 @@ snapshots: qs@6.5.3: {} + quansync@0.2.10: {} + query-string@6.14.1: dependencies: decode-uri-component: 0.2.2 @@ -48540,6 +49129,42 @@ snapshots: robust-predicates@3.0.2: {} + rolldown-plugin-dts@0.13.12(rolldown@1.0.0-beta.9)(typescript@5.7.2): + dependencies: + '@babel/generator': 7.27.5 + '@babel/parser': 7.27.7 + '@babel/types': 7.27.7 + ast-kit: 2.1.0 + birpc: 2.4.0 + debug: 4.4.1 + dts-resolver: 2.1.1 + get-tsconfig: 4.10.1 + rolldown: 1.0.0-beta.9 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - oxc-resolver + - supports-color + + rolldown@1.0.0-beta.9: + dependencies: + '@oxc-project/types': 0.70.0 + '@rolldown/pluginutils': 1.0.0-beta.9 + ansis: 4.1.0 + optionalDependencies: + '@rolldown/binding-darwin-arm64': 1.0.0-beta.9 + '@rolldown/binding-darwin-x64': 1.0.0-beta.9 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.9 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.9 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.9 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.9 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.9 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.9 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.9 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.9 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.9 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.9 + rollup@4.27.3: dependencies: '@types/estree': 1.0.6 @@ -49037,6 +49662,14 @@ snapshots: transitivePeerDependencies: - supports-color + socks-proxy-agent@8.0.5: + dependencies: + agent-base: 7.1.3 + debug: 4.4.1 + socks: 2.8.3 + transitivePeerDependencies: + - supports-color + socks@2.8.3: dependencies: ip-address: 9.0.5 @@ -49150,6 +49783,8 @@ snapshots: stack-trace@0.0.10: {} + stack-trace@1.0.0-pre2: {} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 @@ -49220,6 +49855,14 @@ snapshots: optionalDependencies: bare-events: 2.5.0 + streamx@2.22.1: + dependencies: + fast-fifo: 1.3.2 + text-decoder: 1.2.1 + optionalDependencies: + bare-events: 2.5.4 + optional: true + strict-uri-encode@2.0.0: {} string-argv@0.1.2: {} @@ -49645,6 +50288,16 @@ snapshots: pump: 3.0.2 tar-stream: 2.2.0 + tar-fs@3.0.10: + dependencies: + pump: 3.0.2 + tar-stream: 3.1.7 + optionalDependencies: + bare-fs: 4.1.5 + bare-path: 3.0.0 + transitivePeerDependencies: + - bare-buffer + tar-fs@3.0.4: dependencies: mkdirp-classic: 0.5.3 @@ -49788,11 +50441,18 @@ snapshots: tinyexec@0.3.1: {} + tinyexec@1.0.1: {} + tinyglobby@0.2.10: dependencies: fdir: 6.4.3(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.14: + dependencies: + fdir: 6.4.6(picomatch@4.0.2) + picomatch: 4.0.2 + title-case@3.0.3: dependencies: tslib: 2.8.1 @@ -49953,6 +50613,30 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tsdown@0.11.13(typescript@5.7.2): + dependencies: + ansis: 4.1.0 + cac: 6.7.14 + chokidar: 4.0.3 + debug: 4.4.1 + diff: 8.0.2 + empathic: 1.1.0 + hookable: 5.5.3 + rolldown: 1.0.0-beta.9 + rolldown-plugin-dts: 0.13.12(rolldown@1.0.0-beta.9)(typescript@5.7.2) + semver: 7.7.2 + tinyexec: 1.0.1 + tinyglobby: 0.2.14 + unconfig: 7.3.2 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - '@oxc-project/runtime' + - '@typescript/native-preview' + - oxc-resolver + - supports-color + - vue-tsc + tslib@1.14.1: {} tslib@2.8.1: {} @@ -49974,7 +50658,7 @@ snapshots: tsutils: 2.29.0(typescript@5.7.2) typescript: 5.7.2 - tsup@8.3.6(@microsoft/api-extractor@7.47.12(@types/node@20.17.30))(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.7.2)(yaml@2.6.1): + tsup@8.3.6(@microsoft/api-extractor@7.47.12(@types/node@20.17.30))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.7.2)(yaml@2.6.1): dependencies: bundle-require: 5.1.0(esbuild@0.24.2) cac: 6.7.14 @@ -49984,7 +50668,7 @@ snapshots: esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(yaml@2.6.1) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.4)(yaml@2.6.1) resolve-from: 5.0.0 rollup: 4.27.3 source-map: 0.8.0-beta.0 @@ -50002,7 +50686,7 @@ snapshots: - tsx - yaml - tsup@8.3.6(@microsoft/api-extractor@7.47.12(@types/node@24.0.0))(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.6.3)(yaml@2.6.1): + tsup@8.3.6(@microsoft/api-extractor@7.47.12(@types/node@24.0.0))(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.4)(typescript@5.6.3)(yaml@2.6.1): dependencies: bundle-require: 5.1.0(esbuild@0.24.2) cac: 6.7.14 @@ -50012,7 +50696,7 @@ snapshots: esbuild: 0.24.2 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(jiti@1.21.6)(postcss@8.4.49)(tsx@4.19.4)(yaml@2.6.1) + postcss-load-config: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.4)(yaml@2.6.1) resolve-from: 5.0.0 rollup: 4.27.3 source-map: 0.8.0-beta.0 @@ -50166,6 +50850,8 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + typed-query-selector@2.12.0: {} + typedarray@0.0.6: {} typescript-eslint@8.15.0(eslint@8.57.1)(typescript@5.6.3): @@ -50222,6 +50908,13 @@ snapshots: unc-path-regex@0.1.2: {} + unconfig@7.3.2: + dependencies: + '@quansync/fs': 0.1.3 + defu: 6.1.4 + jiti: 2.4.2 + quansync: 0.2.10 + undefsafe@2.0.5: {} underscore@1.12.1: {} @@ -50792,6 +51485,14 @@ snapshots: wildcard@2.0.1: {} + winston-daily-rotate-file@5.0.0(winston@3.17.0): + dependencies: + file-stream-rotator: 0.6.1 + object-hash: 3.0.0 + triple-beam: 1.4.1 + winston: 3.17.0 + winston-transport: 4.9.0 + winston-transport@4.9.0: dependencies: logform: 2.7.0 @@ -50896,6 +51597,8 @@ snapshots: ws@8.18.0: {} + ws@8.18.2: {} + ws@8.7.0: {} xml-js@1.6.11: @@ -51032,6 +51735,10 @@ snapshots: dependencies: zod: 3.24.4 + zod-to-json-schema@3.24.5(zod@3.25.67): + dependencies: + zod: 3.25.67 + zod-validation-error@3.4.0(zod@3.24.4): dependencies: zod: 3.24.4 @@ -51040,6 +51747,8 @@ snapshots: zod@3.24.4: {} + zod@3.25.67: {} + zwitch@1.0.5: {} zwitch@2.0.4: {}