@keystrokehq/scrape_do 0.1.0 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/action.cjs.map +1 -1
- package/dist/action.mjs.map +1 -1
- package/dist/actions/cancel-async-job.cjs +1 -1
- package/dist/actions/cancel-async-job.cjs.map +1 -1
- package/dist/actions/cancel-async-job.d.cts +19 -3
- package/dist/actions/cancel-async-job.d.cts.map +1 -1
- package/dist/actions/cancel-async-job.d.mts +19 -3
- package/dist/actions/cancel-async-job.d.mts.map +1 -1
- package/dist/actions/cancel-async-job.mjs +1 -1
- package/dist/actions/cancel-async-job.mjs.map +1 -1
- package/dist/actions/create-async-job.cjs +5 -5
- package/dist/actions/create-async-job.cjs.map +1 -1
- package/dist/actions/create-async-job.d.cts +83 -3
- package/dist/actions/create-async-job.d.cts.map +1 -1
- package/dist/actions/create-async-job.d.mts +83 -3
- package/dist/actions/create-async-job.d.mts.map +1 -1
- package/dist/actions/create-async-job.mjs +5 -5
- package/dist/actions/create-async-job.mjs.map +1 -1
- package/dist/actions/get-account-info.cjs +6 -6
- package/dist/actions/get-account-info.cjs.map +1 -1
- package/dist/actions/get-account-info.d.cts +13 -3
- package/dist/actions/get-account-info.d.cts.map +1 -1
- package/dist/actions/get-account-info.d.mts +13 -3
- package/dist/actions/get-account-info.d.mts.map +1 -1
- package/dist/actions/get-account-info.mjs +6 -6
- package/dist/actions/get-account-info.mjs.map +1 -1
- package/dist/actions/get-amazon-offers.cjs +7 -7
- package/dist/actions/get-amazon-offers.cjs.map +1 -1
- package/dist/actions/get-amazon-offers.d.cts +51 -3
- package/dist/actions/get-amazon-offers.d.cts.map +1 -1
- package/dist/actions/get-amazon-offers.d.mts +51 -3
- package/dist/actions/get-amazon-offers.d.mts.map +1 -1
- package/dist/actions/get-amazon-offers.mjs +7 -7
- package/dist/actions/get-amazon-offers.mjs.map +1 -1
- package/dist/actions/get-amazon-product.cjs +7 -7
- package/dist/actions/get-amazon-product.cjs.map +1 -1
- package/dist/actions/get-amazon-product.d.cts +56 -3
- package/dist/actions/get-amazon-product.d.cts.map +1 -1
- package/dist/actions/get-amazon-product.d.mts +56 -3
- package/dist/actions/get-amazon-product.d.mts.map +1 -1
- package/dist/actions/get-amazon-product.mjs +7 -7
- package/dist/actions/get-amazon-product.mjs.map +1 -1
- package/dist/actions/get-amazon-raw-html.cjs +1 -1
- package/dist/actions/get-amazon-raw-html.cjs.map +1 -1
- package/dist/actions/get-amazon-raw-html.d.cts +21 -3
- package/dist/actions/get-amazon-raw-html.d.cts.map +1 -1
- package/dist/actions/get-amazon-raw-html.d.mts +21 -3
- package/dist/actions/get-amazon-raw-html.d.mts.map +1 -1
- package/dist/actions/get-amazon-raw-html.mjs +1 -1
- package/dist/actions/get-amazon-raw-html.mjs.map +1 -1
- package/dist/actions/get-async-account-info.cjs +5 -5
- package/dist/actions/get-async-account-info.cjs.map +1 -1
- package/dist/actions/get-async-account-info.d.cts +8 -3
- package/dist/actions/get-async-account-info.d.cts.map +1 -1
- package/dist/actions/get-async-account-info.d.mts +8 -3
- package/dist/actions/get-async-account-info.d.mts.map +1 -1
- package/dist/actions/get-async-account-info.mjs +5 -5
- package/dist/actions/get-async-account-info.mjs.map +1 -1
- package/dist/actions/get-async-job.cjs +2 -2
- package/dist/actions/get-async-job.cjs.map +1 -1
- package/dist/actions/get-async-job.d.cts +20 -3
- package/dist/actions/get-async-job.d.cts.map +1 -1
- package/dist/actions/get-async-job.d.mts +20 -3
- package/dist/actions/get-async-job.d.mts.map +1 -1
- package/dist/actions/get-async-job.mjs +2 -2
- package/dist/actions/get-async-job.mjs.map +1 -1
- package/dist/actions/get-async-task.cjs +2 -2
- package/dist/actions/get-async-task.cjs.map +1 -1
- package/dist/actions/get-async-task.d.cts +24 -3
- package/dist/actions/get-async-task.d.cts.map +1 -1
- package/dist/actions/get-async-task.d.mts +24 -3
- package/dist/actions/get-async-task.d.mts.map +1 -1
- package/dist/actions/get-async-task.mjs +2 -2
- package/dist/actions/get-async-task.mjs.map +1 -1
- package/dist/actions/get-page.cjs +3 -3
- package/dist/actions/get-page.cjs.map +1 -1
- package/dist/actions/get-page.d.cts +48 -3
- package/dist/actions/get-page.d.cts.map +1 -1
- package/dist/actions/get-page.d.mts +48 -3
- package/dist/actions/get-page.d.mts.map +1 -1
- package/dist/actions/get-page.mjs +3 -3
- package/dist/actions/get-page.mjs.map +1 -1
- package/dist/actions/list-async-jobs.cjs +9 -9
- package/dist/actions/list-async-jobs.cjs.map +1 -1
- package/dist/actions/list-async-jobs.d.cts +21 -3
- package/dist/actions/list-async-jobs.d.cts.map +1 -1
- package/dist/actions/list-async-jobs.d.mts +21 -3
- package/dist/actions/list-async-jobs.d.mts.map +1 -1
- package/dist/actions/list-async-jobs.mjs +9 -9
- package/dist/actions/list-async-jobs.mjs.map +1 -1
- package/dist/actions/proxy-mode.cjs +3 -3
- package/dist/actions/proxy-mode.cjs.map +1 -1
- package/dist/actions/proxy-mode.d.cts +19 -3
- package/dist/actions/proxy-mode.d.cts.map +1 -1
- package/dist/actions/proxy-mode.d.mts +19 -3
- package/dist/actions/proxy-mode.d.mts.map +1 -1
- package/dist/actions/proxy-mode.mjs +3 -3
- package/dist/actions/proxy-mode.mjs.map +1 -1
- package/dist/actions/scrape-url-post.cjs +4 -4
- package/dist/actions/scrape-url-post.cjs.map +1 -1
- package/dist/actions/scrape-url-post.d.cts +33 -3
- package/dist/actions/scrape-url-post.d.cts.map +1 -1
- package/dist/actions/scrape-url-post.d.mts +33 -3
- package/dist/actions/scrape-url-post.d.mts.map +1 -1
- package/dist/actions/scrape-url-post.mjs +4 -4
- package/dist/actions/scrape-url-post.mjs.map +1 -1
- package/dist/actions/search-amazon.cjs +4 -4
- package/dist/actions/search-amazon.cjs.map +1 -1
- package/dist/actions/search-amazon.d.cts +46 -3
- package/dist/actions/search-amazon.d.cts.map +1 -1
- package/dist/actions/search-amazon.d.mts +46 -3
- package/dist/actions/search-amazon.d.mts.map +1 -1
- package/dist/actions/search-amazon.mjs +4 -4
- package/dist/actions/search-amazon.mjs.map +1 -1
- package/dist/actions/set-block-urls.cjs +1 -1
- package/dist/actions/set-block-urls.cjs.map +1 -1
- package/dist/actions/set-block-urls.d.cts +10 -3
- package/dist/actions/set-block-urls.d.cts.map +1 -1
- package/dist/actions/set-block-urls.d.mts +10 -3
- package/dist/actions/set-block-urls.d.mts.map +1 -1
- package/dist/actions/set-block-urls.mjs +1 -1
- package/dist/actions/set-block-urls.mjs.map +1 -1
- package/dist/actions/set-regional-geo-code.cjs +3 -3
- package/dist/actions/set-regional-geo-code.cjs.map +1 -1
- package/dist/actions/set-regional-geo-code.d.cts +19 -3
- package/dist/actions/set-regional-geo-code.d.cts.map +1 -1
- package/dist/actions/set-regional-geo-code.d.mts +19 -3
- package/dist/actions/set-regional-geo-code.d.mts.map +1 -1
- package/dist/actions/set-regional-geo-code.mjs +3 -3
- package/dist/actions/set-regional-geo-code.mjs.map +1 -1
- package/dist/catalog.cjs +7 -1
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +8 -0
- package/dist/catalog.d.mts +8 -0
- package/dist/catalog.mjs +7 -1
- package/dist/catalog.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-async-task.mjs","names":[],"sources":["../../src/actions/get-async-task.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoGetAsyncTaskInput
|
|
1
|
+
{"version":3,"file":"get-async-task.mjs","names":[],"sources":["../../src/actions/get-async-task.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoGetAsyncTaskInput = z.object({\n token: z.string().describe(\"Authentication token for Scrape.do API\"),\n job_id: z.string().describe(\"Unique identifier of the job\"),\n task_id: z.string().describe(\"Unique identifier of the task within the job\"),\n}).describe(\"Request model for getting async task result.\");\nconst ScrapeDoGetAsyncTask_TaskStatusSchema = z.enum([\"pending\", \"completed\", \"failed\"]).describe(\"Status values for async tasks.\");\nexport const ScrapeDoGetAsyncTaskOutput = z.object({\n url: z.string().describe(\"Target URL that was scraped\").nullable().optional(),\n body: z.string().describe(\"Scraped content from the target URL\").nullable().optional(),\n error: z.string().describe(\"Error message if task failed\").nullable().optional(),\n job_id: z.string().describe(\"Parent job identifier\").nullable().optional(),\n status: ScrapeDoGetAsyncTask_TaskStatusSchema.nullable().optional(),\n headers: z.record(z.string(), z.unknown()).describe(\"Response headers from target website\").nullable().optional(),\n task_id: z.string().describe(\"Unique task identifier\").nullable().optional(),\n status_code: z.number().int().describe(\"HTTP status code from target website\").nullable().optional(),\n}).passthrough().describe(\"Response model for async task result.\");\n\nexport const scrapeDoGetAsyncTask = action(\"SCRAPE_DO_GET_ASYNC_TASK\", {\n slug: \"scrape_do-get-async-task\",\n name: \"Get Async Task Result\",\n description: \"Tool to retrieve the result of a specific task within an asynchronous job. Returns the scraped content for that particular URL. Use when you need to check the status and result of a previously submitted async scraping task.\",\n input: ScrapeDoGetAsyncTaskInput,\n output: ScrapeDoGetAsyncTaskOutput,\n});\n"],"mappings":";;;AAIA,MAAa,4BAA4B,EAAE,OAAO;CAChD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACnE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B;CAC1D,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C;AAC7E,CAAC,CAAC,CAAC,SAAS,8CAA8C;AAC1D,MAAM,wCAAwC,EAAE,KAAK;CAAC;CAAW;CAAa;AAAQ,CAAC,CAAC,CAAC,SAAS,gCAAgC;AAYlI,MAAa,uBAAuB,OAAO,4BAA4B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAhBwC,EAAE,OAAO;EACjD,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC5E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,uBAAuB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzE,QAAQ,sCAAsC,SAAS,CAAC,CAAC,SAAS;EAClE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChH,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3E,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uCAOhB;AACV,CAAC"}
|
|
@@ -24,10 +24,10 @@ const ScrapeDoGetPageInput = zod.z.object({
|
|
|
24
24
|
disable_redirection: zod.z.boolean().default(false).describe("Disable request redirection").optional()
|
|
25
25
|
}).describe("Request model for SCRAPE_DO_GET_PAGE action.");
|
|
26
26
|
const ScrapeDoGetPageOutput = zod.z.object({
|
|
27
|
-
content: zod.z.string().describe("The scraped content from the target webpage"),
|
|
27
|
+
content: zod.z.string().describe("The scraped content from the target webpage").nullable(),
|
|
28
28
|
headers: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Response headers including Scrape.do specific headers"),
|
|
29
|
-
status_code: zod.z.number().int().describe("HTTP status code of the response")
|
|
30
|
-
}).describe("Response model for SCRAPE_DO_GET_PAGE action.");
|
|
29
|
+
status_code: zod.z.number().int().describe("HTTP status code of the response").nullable()
|
|
30
|
+
}).passthrough().describe("Response model for SCRAPE_DO_GET_PAGE action.");
|
|
31
31
|
const scrapeDoGetPage = require_action.action("SCRAPE_DO_GET_PAGE", {
|
|
32
32
|
slug: "scrape_do-get-page",
|
|
33
33
|
name: "Scrape webpage using scrape.do",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-page.cjs","names":["z","action"],"sources":["../../src/actions/get-page.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoGetPageInput
|
|
1
|
+
{"version":3,"file":"get-page.cjs","names":["z","action"],"sources":["../../src/actions/get-page.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoGetPageInput = z.object({\n url: z.string().describe(\"Target web page URL to scrape\"),\n \"super\": z.boolean().default(false).describe(\"Use residential & mobile proxy networks\").optional(),\n width: z.number().int().default(1920).describe(\"Browser viewport width (requires render=true)\").optional(),\n device: z.enum([\"desktop\", \"mobile\", \"tablet\"]).default(\"desktop\").describe(\"Specify device type (desktop, mobile, tablet)\").optional(),\n height: z.number().int().default(1080).describe(\"Browser viewport height (requires render=true)\").optional(),\n output: z.enum([\"raw\", \"markdown\"]).default(\"raw\").describe(\"Output format (raw or markdown)\").optional(),\n render: z.boolean().default(false).describe(\"Enable headless browser rendering Use for JS-heavy pages, SPAs, or sites with anti-bot JS challenges. Increase `timeout` when enabling to ensure full page load before cutoff.\").optional(),\n timeout: z.number().int().describe(\"Maximum request timeout in ms (5000-120000)\").optional(),\n geo_code: z.string().describe(\"Choose country for target web page (e.g. 'us', 'gb')\").optional(),\n return_json: z.boolean().default(false).describe(\"Return network requests in JSON format\").optional(),\n set_cookies: z.string().describe(\"Set cookies for target web page\").optional(),\n extra_headers: z.boolean().default(false).describe(\"Add/modify headers\").optional(),\n retry_timeout: z.number().int().describe(\"Maximum retry timeout in ms (5000-55000)\").optional(),\n custom_headers: z.boolean().default(false).describe(\"Handle all request headers\").optional(),\n block_resources: z.boolean().default(true).describe(\"Block CSS and image sources\").optional(),\n disable_redirection: z.boolean().default(false).describe(\"Disable request redirection\").optional(),\n}).describe(\"Request model for SCRAPE_DO_GET_PAGE action.\");\nexport const ScrapeDoGetPageOutput = z.object({\n content: z.string().describe(\"The scraped content from the target webpage\").nullable(),\n headers: z.record(z.string(), z.unknown()).describe(\"Response headers including Scrape.do specific headers\"),\n status_code: z.number().int().describe(\"HTTP status code of the response\").nullable(),\n}).passthrough().describe(\"Response model for SCRAPE_DO_GET_PAGE action.\");\n\nexport const scrapeDoGetPage = action(\"SCRAPE_DO_GET_PAGE\", {\n slug: \"scrape_do-get-page\",\n name: \"Scrape webpage using scrape.do\",\n description: \"A tool to scrape web pages using scrape.do's API service. Makes a basic GET request to fetch webpage content while handling anti-bot protections and proxy rotation automatically. Does not execute JavaScript by default — pages requiring client-side rendering (SPAs, dynamically loaded content) will return incomplete HTML; use SCRAPE_DO_GET_RENDER_PAGE or set render=true for those cases.\",\n input: ScrapeDoGetPageInput,\n output: ScrapeDoGetPageOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uBAAuBA,IAAAA,EAAE,OAAO;CAC3C,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;CACxD,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;CACjG,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CACzG,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAW;EAAU;CAAQ,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CACtI,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;CAC3G,QAAQA,IAAAA,EAAE,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CACxG,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,gLAAgL,CAAC,CAAC,SAAS;CACvO,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CAC3F,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC/F,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CACpG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CAC7E,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS;CAClF,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CAC9F,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;CAC3F,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CAC5F,qBAAqBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;AACnG,CAAC,CAAC,CAAC,SAAS,8CAA8C;AAC1D,MAAa,wBAAwBA,IAAAA,EAAE,OAAO;CAC5C,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CACrF,SAASA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,uDAAuD;CAC3G,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;AACtF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAA+C;AAEzE,MAAa,kBAAkBC,eAAAA,OAAO,sBAAsB;CAC1D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,9 +1,54 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/get-page.d.ts
|
|
4
|
-
declare const ScrapeDoGetPageInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const ScrapeDoGetPageInput: z.ZodObject<{
|
|
5
|
+
url: z.ZodString;
|
|
6
|
+
super: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
7
|
+
width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
8
|
+
device: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
9
|
+
desktop: "desktop";
|
|
10
|
+
mobile: "mobile";
|
|
11
|
+
tablet: "tablet";
|
|
12
|
+
}>>>;
|
|
13
|
+
height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
14
|
+
output: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
15
|
+
raw: "raw";
|
|
16
|
+
markdown: "markdown";
|
|
17
|
+
}>>>;
|
|
18
|
+
render: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
19
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
geo_code: z.ZodOptional<z.ZodString>;
|
|
21
|
+
return_json: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
22
|
+
set_cookies: z.ZodOptional<z.ZodString>;
|
|
23
|
+
extra_headers: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
24
|
+
retry_timeout: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
custom_headers: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
26
|
+
block_resources: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
27
|
+
disable_redirection: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
declare const ScrapeDoGetPageOutput: z.ZodObject<{
|
|
30
|
+
content: z.ZodNullable<z.ZodString>;
|
|
31
|
+
headers: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
32
|
+
status_code: z.ZodNullable<z.ZodNumber>;
|
|
33
|
+
}, z.core.$loose>;
|
|
34
|
+
declare const scrapeDoGetPage: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
35
|
+
url: string;
|
|
36
|
+
super?: boolean | undefined;
|
|
37
|
+
width?: number | undefined;
|
|
38
|
+
device?: "desktop" | "mobile" | "tablet" | undefined;
|
|
39
|
+
height?: number | undefined;
|
|
40
|
+
output?: "raw" | "markdown" | undefined;
|
|
41
|
+
render?: boolean | undefined;
|
|
42
|
+
timeout?: number | undefined;
|
|
43
|
+
geo_code?: string | undefined;
|
|
44
|
+
return_json?: boolean | undefined;
|
|
45
|
+
set_cookies?: string | undefined;
|
|
46
|
+
extra_headers?: boolean | undefined;
|
|
47
|
+
retry_timeout?: number | undefined;
|
|
48
|
+
custom_headers?: boolean | undefined;
|
|
49
|
+
block_resources?: boolean | undefined;
|
|
50
|
+
disable_redirection?: boolean | undefined;
|
|
51
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
52
|
//#endregion
|
|
8
53
|
export { scrapeDoGetPage };
|
|
9
54
|
//# sourceMappingURL=get-page.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-page.d.cts","names":[],"sources":["../../src/actions/get-page.ts"],"mappings":";;;cAIa,oBAAA,
|
|
1
|
+
{"version":3,"file":"get-page.d.cts","names":[],"sources":["../../src/actions/get-page.ts"],"mappings":";;;cAIa,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;cAkBpB,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;cAMrB,eAAA,gCAAe,wBAAA"}
|
|
@@ -1,9 +1,54 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/get-page.d.ts
|
|
4
|
-
declare const ScrapeDoGetPageInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const ScrapeDoGetPageInput: z.ZodObject<{
|
|
5
|
+
url: z.ZodString;
|
|
6
|
+
super: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
7
|
+
width: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
8
|
+
device: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
9
|
+
desktop: "desktop";
|
|
10
|
+
mobile: "mobile";
|
|
11
|
+
tablet: "tablet";
|
|
12
|
+
}>>>;
|
|
13
|
+
height: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
14
|
+
output: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
15
|
+
raw: "raw";
|
|
16
|
+
markdown: "markdown";
|
|
17
|
+
}>>>;
|
|
18
|
+
render: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
19
|
+
timeout: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
geo_code: z.ZodOptional<z.ZodString>;
|
|
21
|
+
return_json: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
22
|
+
set_cookies: z.ZodOptional<z.ZodString>;
|
|
23
|
+
extra_headers: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
24
|
+
retry_timeout: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
custom_headers: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
26
|
+
block_resources: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
27
|
+
disable_redirection: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
declare const ScrapeDoGetPageOutput: z.ZodObject<{
|
|
30
|
+
content: z.ZodNullable<z.ZodString>;
|
|
31
|
+
headers: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
32
|
+
status_code: z.ZodNullable<z.ZodNumber>;
|
|
33
|
+
}, z.core.$loose>;
|
|
34
|
+
declare const scrapeDoGetPage: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
35
|
+
url: string;
|
|
36
|
+
super?: boolean | undefined;
|
|
37
|
+
width?: number | undefined;
|
|
38
|
+
device?: "desktop" | "mobile" | "tablet" | undefined;
|
|
39
|
+
height?: number | undefined;
|
|
40
|
+
output?: "raw" | "markdown" | undefined;
|
|
41
|
+
render?: boolean | undefined;
|
|
42
|
+
timeout?: number | undefined;
|
|
43
|
+
geo_code?: string | undefined;
|
|
44
|
+
return_json?: boolean | undefined;
|
|
45
|
+
set_cookies?: string | undefined;
|
|
46
|
+
extra_headers?: boolean | undefined;
|
|
47
|
+
retry_timeout?: number | undefined;
|
|
48
|
+
custom_headers?: boolean | undefined;
|
|
49
|
+
block_resources?: boolean | undefined;
|
|
50
|
+
disable_redirection?: boolean | undefined;
|
|
51
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
52
|
//#endregion
|
|
8
53
|
export { scrapeDoGetPage };
|
|
9
54
|
//# sourceMappingURL=get-page.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-page.d.mts","names":[],"sources":["../../src/actions/get-page.ts"],"mappings":";;;cAIa,oBAAA,
|
|
1
|
+
{"version":3,"file":"get-page.d.mts","names":[],"sources":["../../src/actions/get-page.ts"],"mappings":";;;cAIa,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;cAkBpB,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;cAMrB,eAAA,gCAAe,wBAAA"}
|
|
@@ -27,10 +27,10 @@ const scrapeDoGetPage = action("SCRAPE_DO_GET_PAGE", {
|
|
|
27
27
|
disable_redirection: z.boolean().default(false).describe("Disable request redirection").optional()
|
|
28
28
|
}).describe("Request model for SCRAPE_DO_GET_PAGE action."),
|
|
29
29
|
output: z.object({
|
|
30
|
-
content: z.string().describe("The scraped content from the target webpage"),
|
|
30
|
+
content: z.string().describe("The scraped content from the target webpage").nullable(),
|
|
31
31
|
headers: z.record(z.string(), z.unknown()).describe("Response headers including Scrape.do specific headers"),
|
|
32
|
-
status_code: z.number().int().describe("HTTP status code of the response")
|
|
33
|
-
}).describe("Response model for SCRAPE_DO_GET_PAGE action.")
|
|
32
|
+
status_code: z.number().int().describe("HTTP status code of the response").nullable()
|
|
33
|
+
}).passthrough().describe("Response model for SCRAPE_DO_GET_PAGE action.")
|
|
34
34
|
});
|
|
35
35
|
//#endregion
|
|
36
36
|
export { scrapeDoGetPage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-page.mjs","names":[],"sources":["../../src/actions/get-page.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoGetPageInput
|
|
1
|
+
{"version":3,"file":"get-page.mjs","names":[],"sources":["../../src/actions/get-page.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoGetPageInput = z.object({\n url: z.string().describe(\"Target web page URL to scrape\"),\n \"super\": z.boolean().default(false).describe(\"Use residential & mobile proxy networks\").optional(),\n width: z.number().int().default(1920).describe(\"Browser viewport width (requires render=true)\").optional(),\n device: z.enum([\"desktop\", \"mobile\", \"tablet\"]).default(\"desktop\").describe(\"Specify device type (desktop, mobile, tablet)\").optional(),\n height: z.number().int().default(1080).describe(\"Browser viewport height (requires render=true)\").optional(),\n output: z.enum([\"raw\", \"markdown\"]).default(\"raw\").describe(\"Output format (raw or markdown)\").optional(),\n render: z.boolean().default(false).describe(\"Enable headless browser rendering Use for JS-heavy pages, SPAs, or sites with anti-bot JS challenges. Increase `timeout` when enabling to ensure full page load before cutoff.\").optional(),\n timeout: z.number().int().describe(\"Maximum request timeout in ms (5000-120000)\").optional(),\n geo_code: z.string().describe(\"Choose country for target web page (e.g. 'us', 'gb')\").optional(),\n return_json: z.boolean().default(false).describe(\"Return network requests in JSON format\").optional(),\n set_cookies: z.string().describe(\"Set cookies for target web page\").optional(),\n extra_headers: z.boolean().default(false).describe(\"Add/modify headers\").optional(),\n retry_timeout: z.number().int().describe(\"Maximum retry timeout in ms (5000-55000)\").optional(),\n custom_headers: z.boolean().default(false).describe(\"Handle all request headers\").optional(),\n block_resources: z.boolean().default(true).describe(\"Block CSS and image sources\").optional(),\n disable_redirection: z.boolean().default(false).describe(\"Disable request redirection\").optional(),\n}).describe(\"Request model for SCRAPE_DO_GET_PAGE action.\");\nexport const ScrapeDoGetPageOutput = z.object({\n content: z.string().describe(\"The scraped content from the target webpage\").nullable(),\n headers: z.record(z.string(), z.unknown()).describe(\"Response headers including Scrape.do specific headers\"),\n status_code: z.number().int().describe(\"HTTP status code of the response\").nullable(),\n}).passthrough().describe(\"Response model for SCRAPE_DO_GET_PAGE action.\");\n\nexport const scrapeDoGetPage = action(\"SCRAPE_DO_GET_PAGE\", {\n slug: \"scrape_do-get-page\",\n name: \"Scrape webpage using scrape.do\",\n description: \"A tool to scrape web pages using scrape.do's API service. Makes a basic GET request to fetch webpage content while handling anti-bot protections and proxy rotation automatically. Does not execute JavaScript by default — pages requiring client-side rendering (SPAs, dynamically loaded content) will return incomplete HTML; use SCRAPE_DO_GET_RENDER_PAGE or set render=true for those cases.\",\n input: ScrapeDoGetPageInput,\n output: ScrapeDoGetPageOutput,\n});\n"],"mappings":";;AA4BA,MAAa,kBAAkB,OAAO,sBAAsB;CAC1D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA5BkC,EAAE,OAAO;EAC3C,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B;EACxD,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;EACjG,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;EACzG,QAAQ,EAAE,KAAK;GAAC;GAAW;GAAU;EAAQ,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;EACtI,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;EAC3G,QAAQ,EAAE,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;EACxG,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,gLAAgL,CAAC,CAAC,SAAS;EACvO,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;EAC3F,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EAC/F,aAAa,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;EACpG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;EAC7E,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS;EAClF,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;EAC9F,gBAAgB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,4BAA4B,CAAC,CAAC,SAAS;EAC3F,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;EAC5F,qBAAqB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CACnG,CAAC,CAAC,CAAC,SAAS,8CAWH;CACP,QAXmC,EAAE,OAAO;EAC5C,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;EACrF,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,uDAAuD;EAC3G,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACtF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAOhB;AACV,CAAC"}
|
|
@@ -6,19 +6,19 @@ const ScrapeDoListAsyncJobsInput = zod.z.object({
|
|
|
6
6
|
page_size: zod.z.number().int().default(10).describe("Number of jobs per page (default: 10, maximum: 100)").optional()
|
|
7
7
|
}).describe("Request model for listing asynchronous scraping jobs.");
|
|
8
8
|
const ScrapeDoListAsyncJobs_JobDetailsSchema = zod.z.object({
|
|
9
|
-
JobID: zod.z.string().describe("Unique identifier for the job"),
|
|
10
|
-
Status: zod.z.string().describe("Current status of the job (queuing, queued, pending, rotating, success, error, canceled)"),
|
|
9
|
+
JobID: zod.z.string().describe("Unique identifier for the job").nullable(),
|
|
10
|
+
Status: zod.z.string().describe("Current status of the job (queuing, queued, pending, rotating, success, error, canceled)").nullable(),
|
|
11
11
|
EndTime: zod.z.string().describe("ISO 8601 timestamp when the job ended (null if not completed)").nullable().optional(),
|
|
12
12
|
TaskIDs: zod.z.array(zod.z.string()).describe("Array of task UUID strings associated with this job"),
|
|
13
|
-
StartTime: zod.z.string().describe("ISO 8601 timestamp when the job started")
|
|
14
|
-
}).describe("Details of an individual scraping job.");
|
|
13
|
+
StartTime: zod.z.string().describe("ISO 8601 timestamp when the job started").nullable()
|
|
14
|
+
}).passthrough().describe("Details of an individual scraping job.");
|
|
15
15
|
const ScrapeDoListAsyncJobsOutput = zod.z.object({
|
|
16
16
|
Jobs: zod.z.array(ScrapeDoListAsyncJobs_JobDetailsSchema).describe("List of jobs with their status and metadata"),
|
|
17
|
-
PageSize: zod.z.number().int().describe("Number of jobs per page"),
|
|
18
|
-
PageNumber: zod.z.number().int().describe("Current page number"),
|
|
19
|
-
TotalCount: zod.z.number().int().describe("Total number of jobs available"),
|
|
20
|
-
TotalPages: zod.z.number().int().describe("Total number of pages available")
|
|
21
|
-
}).describe("Response model for listing asynchronous scraping jobs.");
|
|
17
|
+
PageSize: zod.z.number().int().describe("Number of jobs per page").nullable(),
|
|
18
|
+
PageNumber: zod.z.number().int().describe("Current page number").nullable(),
|
|
19
|
+
TotalCount: zod.z.number().int().describe("Total number of jobs available").nullable(),
|
|
20
|
+
TotalPages: zod.z.number().int().describe("Total number of pages available").nullable()
|
|
21
|
+
}).passthrough().describe("Response model for listing asynchronous scraping jobs.");
|
|
22
22
|
const scrapeDoListAsyncJobs = require_action.action("SCRAPE_DO_LIST_ASYNC_JOBS", {
|
|
23
23
|
slug: "scrape_do-list-async-jobs",
|
|
24
24
|
name: "List Asynchronous Scraping Jobs",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-async-jobs.cjs","names":["z","action"],"sources":["../../src/actions/list-async-jobs.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoListAsyncJobsInput
|
|
1
|
+
{"version":3,"file":"list-async-jobs.cjs","names":["z","action"],"sources":["../../src/actions/list-async-jobs.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoListAsyncJobsInput = z.object({\n page: z.number().int().default(1).describe(\"Page number for pagination (default: 1, minimum: 1)\").optional(),\n page_size: z.number().int().default(10).describe(\"Number of jobs per page (default: 10, maximum: 100)\").optional(),\n}).describe(\"Request model for listing asynchronous scraping jobs.\");\nconst ScrapeDoListAsyncJobs_JobDetailsSchema = z.object({\n JobID: z.string().describe(\"Unique identifier for the job\").nullable(),\n Status: z.string().describe(\"Current status of the job (queuing, queued, pending, rotating, success, error, canceled)\").nullable(),\n EndTime: z.string().describe(\"ISO 8601 timestamp when the job ended (null if not completed)\").nullable().optional(),\n TaskIDs: z.array(z.string()).describe(\"Array of task UUID strings associated with this job\"),\n StartTime: z.string().describe(\"ISO 8601 timestamp when the job started\").nullable(),\n}).passthrough().describe(\"Details of an individual scraping job.\");\nexport const ScrapeDoListAsyncJobsOutput = z.object({\n Jobs: z.array(ScrapeDoListAsyncJobs_JobDetailsSchema).describe(\"List of jobs with their status and metadata\"),\n PageSize: z.number().int().describe(\"Number of jobs per page\").nullable(),\n PageNumber: z.number().int().describe(\"Current page number\").nullable(),\n TotalCount: z.number().int().describe(\"Total number of jobs available\").nullable(),\n TotalPages: z.number().int().describe(\"Total number of pages available\").nullable(),\n}).passthrough().describe(\"Response model for listing asynchronous scraping jobs.\");\n\nexport const scrapeDoListAsyncJobs = action(\"SCRAPE_DO_LIST_ASYNC_JOBS\", {\n slug: \"scrape_do-list-async-jobs\",\n name: \"List Asynchronous Scraping Jobs\",\n description: \"Tool to list all asynchronous scraping jobs. Returns paginated list of jobs with their status and metadata. Use when you need to retrieve job history or monitor job statuses. Supports pagination with up to 100 jobs per page.\",\n input: ScrapeDoListAsyncJobsInput,\n output: ScrapeDoListAsyncJobsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CAC3G,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;AACnH,CAAC,CAAC,CAAC,SAAS,uDAAuD;AACnE,MAAM,yCAAyCA,IAAAA,EAAE,OAAO;CACtD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;CACrE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F,CAAC,CAAC,SAAS;CACjI,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClH,SAASA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,qDAAqD;CAC3F,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;AACrF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAClE,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,MAAMA,IAAAA,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,6CAA6C;CAC5G,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;CACxE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS;CACtE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACjF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;AACpF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wDAAwD;AAElF,MAAa,wBAAwBC,eAAAA,OAAO,6BAA6B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/list-async-jobs.d.ts
|
|
4
|
-
declare const ScrapeDoListAsyncJobsInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const ScrapeDoListAsyncJobsInput: z.ZodObject<{
|
|
5
|
+
page: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
6
|
+
page_size: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
declare const ScrapeDoListAsyncJobsOutput: z.ZodObject<{
|
|
9
|
+
Jobs: z.ZodArray<z.ZodObject<{
|
|
10
|
+
JobID: z.ZodNullable<z.ZodString>;
|
|
11
|
+
Status: z.ZodNullable<z.ZodString>;
|
|
12
|
+
EndTime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
|
+
TaskIDs: z.ZodArray<z.ZodString>;
|
|
14
|
+
StartTime: z.ZodNullable<z.ZodString>;
|
|
15
|
+
}, z.core.$loose>>;
|
|
16
|
+
PageSize: z.ZodNullable<z.ZodNumber>;
|
|
17
|
+
PageNumber: z.ZodNullable<z.ZodNumber>;
|
|
18
|
+
TotalCount: z.ZodNullable<z.ZodNumber>;
|
|
19
|
+
TotalPages: z.ZodNullable<z.ZodNumber>;
|
|
20
|
+
}, z.core.$loose>;
|
|
21
|
+
declare const scrapeDoListAsyncJobs: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
22
|
+
page?: number | undefined;
|
|
23
|
+
page_size?: number | undefined;
|
|
24
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
25
|
//#endregion
|
|
8
26
|
export { scrapeDoListAsyncJobs };
|
|
9
27
|
//# sourceMappingURL=list-async-jobs.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-async-jobs.d.cts","names":[],"sources":["../../src/actions/list-async-jobs.ts"],"mappings":";;;cAIa,0BAAA,
|
|
1
|
+
{"version":3,"file":"list-async-jobs.d.cts","names":[],"sources":["../../src/actions/list-async-jobs.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;cAW1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAQ3B,qBAAA,gCAAqB,wBAAA"}
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/list-async-jobs.d.ts
|
|
4
|
-
declare const ScrapeDoListAsyncJobsInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const ScrapeDoListAsyncJobsInput: z.ZodObject<{
|
|
5
|
+
page: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
6
|
+
page_size: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
declare const ScrapeDoListAsyncJobsOutput: z.ZodObject<{
|
|
9
|
+
Jobs: z.ZodArray<z.ZodObject<{
|
|
10
|
+
JobID: z.ZodNullable<z.ZodString>;
|
|
11
|
+
Status: z.ZodNullable<z.ZodString>;
|
|
12
|
+
EndTime: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
13
|
+
TaskIDs: z.ZodArray<z.ZodString>;
|
|
14
|
+
StartTime: z.ZodNullable<z.ZodString>;
|
|
15
|
+
}, z.core.$loose>>;
|
|
16
|
+
PageSize: z.ZodNullable<z.ZodNumber>;
|
|
17
|
+
PageNumber: z.ZodNullable<z.ZodNumber>;
|
|
18
|
+
TotalCount: z.ZodNullable<z.ZodNumber>;
|
|
19
|
+
TotalPages: z.ZodNullable<z.ZodNumber>;
|
|
20
|
+
}, z.core.$loose>;
|
|
21
|
+
declare const scrapeDoListAsyncJobs: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
22
|
+
page?: number | undefined;
|
|
23
|
+
page_size?: number | undefined;
|
|
24
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
25
|
//#endregion
|
|
8
26
|
export { scrapeDoListAsyncJobs };
|
|
9
27
|
//# sourceMappingURL=list-async-jobs.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-async-jobs.d.mts","names":[],"sources":["../../src/actions/list-async-jobs.ts"],"mappings":";;;cAIa,0BAAA,
|
|
1
|
+
{"version":3,"file":"list-async-jobs.d.mts","names":[],"sources":["../../src/actions/list-async-jobs.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;cAW1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;;;;;;;;;;;cAQ3B,qBAAA,gCAAqB,wBAAA"}
|
|
@@ -6,12 +6,12 @@ const ScrapeDoListAsyncJobsInput = z.object({
|
|
|
6
6
|
page_size: z.number().int().default(10).describe("Number of jobs per page (default: 10, maximum: 100)").optional()
|
|
7
7
|
}).describe("Request model for listing asynchronous scraping jobs.");
|
|
8
8
|
const ScrapeDoListAsyncJobs_JobDetailsSchema = z.object({
|
|
9
|
-
JobID: z.string().describe("Unique identifier for the job"),
|
|
10
|
-
Status: z.string().describe("Current status of the job (queuing, queued, pending, rotating, success, error, canceled)"),
|
|
9
|
+
JobID: z.string().describe("Unique identifier for the job").nullable(),
|
|
10
|
+
Status: z.string().describe("Current status of the job (queuing, queued, pending, rotating, success, error, canceled)").nullable(),
|
|
11
11
|
EndTime: z.string().describe("ISO 8601 timestamp when the job ended (null if not completed)").nullable().optional(),
|
|
12
12
|
TaskIDs: z.array(z.string()).describe("Array of task UUID strings associated with this job"),
|
|
13
|
-
StartTime: z.string().describe("ISO 8601 timestamp when the job started")
|
|
14
|
-
}).describe("Details of an individual scraping job.");
|
|
13
|
+
StartTime: z.string().describe("ISO 8601 timestamp when the job started").nullable()
|
|
14
|
+
}).passthrough().describe("Details of an individual scraping job.");
|
|
15
15
|
const scrapeDoListAsyncJobs = action("SCRAPE_DO_LIST_ASYNC_JOBS", {
|
|
16
16
|
slug: "scrape_do-list-async-jobs",
|
|
17
17
|
name: "List Asynchronous Scraping Jobs",
|
|
@@ -19,11 +19,11 @@ const scrapeDoListAsyncJobs = action("SCRAPE_DO_LIST_ASYNC_JOBS", {
|
|
|
19
19
|
input: ScrapeDoListAsyncJobsInput,
|
|
20
20
|
output: z.object({
|
|
21
21
|
Jobs: z.array(ScrapeDoListAsyncJobs_JobDetailsSchema).describe("List of jobs with their status and metadata"),
|
|
22
|
-
PageSize: z.number().int().describe("Number of jobs per page"),
|
|
23
|
-
PageNumber: z.number().int().describe("Current page number"),
|
|
24
|
-
TotalCount: z.number().int().describe("Total number of jobs available"),
|
|
25
|
-
TotalPages: z.number().int().describe("Total number of pages available")
|
|
26
|
-
}).describe("Response model for listing asynchronous scraping jobs.")
|
|
22
|
+
PageSize: z.number().int().describe("Number of jobs per page").nullable(),
|
|
23
|
+
PageNumber: z.number().int().describe("Current page number").nullable(),
|
|
24
|
+
TotalCount: z.number().int().describe("Total number of jobs available").nullable(),
|
|
25
|
+
TotalPages: z.number().int().describe("Total number of pages available").nullable()
|
|
26
|
+
}).passthrough().describe("Response model for listing asynchronous scraping jobs.")
|
|
27
27
|
});
|
|
28
28
|
//#endregion
|
|
29
29
|
export { scrapeDoListAsyncJobs };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-async-jobs.mjs","names":[],"sources":["../../src/actions/list-async-jobs.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoListAsyncJobsInput
|
|
1
|
+
{"version":3,"file":"list-async-jobs.mjs","names":[],"sources":["../../src/actions/list-async-jobs.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoListAsyncJobsInput = z.object({\n page: z.number().int().default(1).describe(\"Page number for pagination (default: 1, minimum: 1)\").optional(),\n page_size: z.number().int().default(10).describe(\"Number of jobs per page (default: 10, maximum: 100)\").optional(),\n}).describe(\"Request model for listing asynchronous scraping jobs.\");\nconst ScrapeDoListAsyncJobs_JobDetailsSchema = z.object({\n JobID: z.string().describe(\"Unique identifier for the job\").nullable(),\n Status: z.string().describe(\"Current status of the job (queuing, queued, pending, rotating, success, error, canceled)\").nullable(),\n EndTime: z.string().describe(\"ISO 8601 timestamp when the job ended (null if not completed)\").nullable().optional(),\n TaskIDs: z.array(z.string()).describe(\"Array of task UUID strings associated with this job\"),\n StartTime: z.string().describe(\"ISO 8601 timestamp when the job started\").nullable(),\n}).passthrough().describe(\"Details of an individual scraping job.\");\nexport const ScrapeDoListAsyncJobsOutput = z.object({\n Jobs: z.array(ScrapeDoListAsyncJobs_JobDetailsSchema).describe(\"List of jobs with their status and metadata\"),\n PageSize: z.number().int().describe(\"Number of jobs per page\").nullable(),\n PageNumber: z.number().int().describe(\"Current page number\").nullable(),\n TotalCount: z.number().int().describe(\"Total number of jobs available\").nullable(),\n TotalPages: z.number().int().describe(\"Total number of pages available\").nullable(),\n}).passthrough().describe(\"Response model for listing asynchronous scraping jobs.\");\n\nexport const scrapeDoListAsyncJobs = action(\"SCRAPE_DO_LIST_ASYNC_JOBS\", {\n slug: \"scrape_do-list-async-jobs\",\n name: \"List Asynchronous Scraping Jobs\",\n description: \"Tool to list all asynchronous scraping jobs. Returns paginated list of jobs with their status and metadata. Use when you need to retrieve job history or monitor job statuses. Supports pagination with up to 100 jobs per page.\",\n input: ScrapeDoListAsyncJobsInput,\n output: ScrapeDoListAsyncJobsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6B,EAAE,OAAO;CACjD,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CAC3G,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;AACnH,CAAC,CAAC,CAAC,SAAS,uDAAuD;AACnE,MAAM,yCAAyC,EAAE,OAAO;CACtD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;CACrE,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F,CAAC,CAAC,SAAS;CACjI,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClH,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,qDAAqD;CAC3F,WAAW,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS;AACrF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AASlE,MAAa,wBAAwB,OAAO,6BAA6B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAbyC,EAAE,OAAO;EAClD,MAAM,EAAE,MAAM,sCAAsC,CAAC,CAAC,SAAS,6CAA6C;EAC5G,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yBAAyB,CAAC,CAAC,SAAS;EACxE,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qBAAqB,CAAC,CAAC,SAAS;EACtE,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;EACjF,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CACpF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wDAOhB;AACV,CAAC"}
|
|
@@ -9,10 +9,10 @@ const ScrapeDoProxyModeInput = zod.z.object({
|
|
|
9
9
|
custom_headers: zod.z.boolean().default(true).describe("Whether to forward custom headers to the target website").optional()
|
|
10
10
|
}).describe("Request model for SCRAPE_DO_PROXY_MODE action.");
|
|
11
11
|
const ScrapeDoProxyModeOutput = zod.z.object({
|
|
12
|
-
content: zod.z.string().describe("The scraped content from the target webpage"),
|
|
12
|
+
content: zod.z.string().describe("The scraped content from the target webpage").nullable(),
|
|
13
13
|
headers: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Response headers including Scrape.do specific headers"),
|
|
14
|
-
status_code: zod.z.number().int().describe("HTTP status code of the response")
|
|
15
|
-
}).describe("Response model for SCRAPE_DO_PROXY_MODE action.");
|
|
14
|
+
status_code: zod.z.number().int().describe("HTTP status code of the response").nullable()
|
|
15
|
+
}).passthrough().describe("Response model for SCRAPE_DO_PROXY_MODE action.");
|
|
16
16
|
const scrapeDoProxyMode = require_action.action("SCRAPE_DO_PROXY_MODE", {
|
|
17
17
|
slug: "scrape_do-proxy-mode",
|
|
18
18
|
name: "Use Scrape.do Proxy Mode",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-mode.cjs","names":["z","action"],"sources":["../../src/actions/proxy-mode.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoProxyModeInput
|
|
1
|
+
{"version":3,"file":"proxy-mode.cjs","names":["z","action"],"sources":["../../src/actions/proxy-mode.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoProxyModeInput = z.object({\n url: z.string().describe(\"The target URL to scrape\"),\n device: z.string().default(\"desktop\").describe(\"Device type to simulate (desktop, mobile, tablet)\").optional(),\n render: z.boolean().default(false).describe(\"Enable/disable JavaScript rendering\").optional(),\n geo_code: z.string().describe(\"Geographic location for the request (e.g., 'us', 'uk')\").optional(),\n custom_headers: z.boolean().default(true).describe(\"Whether to forward custom headers to the target website\").optional(),\n}).describe(\"Request model for SCRAPE_DO_PROXY_MODE action.\");\nexport const ScrapeDoProxyModeOutput = z.object({\n content: z.string().describe(\"The scraped content from the target webpage\").nullable(),\n headers: z.record(z.string(), z.unknown()).describe(\"Response headers including Scrape.do specific headers\"),\n status_code: z.number().int().describe(\"HTTP status code of the response\").nullable(),\n}).passthrough().describe(\"Response model for SCRAPE_DO_PROXY_MODE action.\");\n\nexport const scrapeDoProxyMode = action(\"SCRAPE_DO_PROXY_MODE\", {\n slug: \"scrape_do-proxy-mode\",\n name: \"Use Scrape.do Proxy Mode\",\n description: \"This tool implements the Proxy Mode functionality of scrape.do, which allows routing requests through their proxy server. It provides an alternative way to access web scraping capabilities by handling complex JavaScript-rendered pages, geolocation-based routing, device simulation, and built-in anti-bot and retry mechanisms.\",\n input: ScrapeDoProxyModeInput,\n output: ScrapeDoProxyModeOutput,\n});\n"],"mappings":";;;AAIA,MAAa,yBAAyBA,IAAAA,EAAE,OAAO;CAC7C,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;CACnD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC7G,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CAC5F,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;CACjG,gBAAgBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;AACzH,CAAC,CAAC,CAAC,SAAS,gDAAgD;AAC5D,MAAa,0BAA0BA,IAAAA,EAAE,OAAO;CAC9C,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CACrF,SAASA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,uDAAuD;CAC3G,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;AACtF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAAiD;AAE3E,MAAa,oBAAoBC,eAAAA,OAAO,wBAAwB;CAC9D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/proxy-mode.d.ts
|
|
4
|
-
declare const ScrapeDoProxyModeInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const ScrapeDoProxyModeInput: z.ZodObject<{
|
|
5
|
+
url: z.ZodString;
|
|
6
|
+
device: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
7
|
+
render: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
8
|
+
geo_code: z.ZodOptional<z.ZodString>;
|
|
9
|
+
custom_headers: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
declare const ScrapeDoProxyModeOutput: z.ZodObject<{
|
|
12
|
+
content: z.ZodNullable<z.ZodString>;
|
|
13
|
+
headers: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
14
|
+
status_code: z.ZodNullable<z.ZodNumber>;
|
|
15
|
+
}, z.core.$loose>;
|
|
16
|
+
declare const scrapeDoProxyMode: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
17
|
+
url: string;
|
|
18
|
+
device?: string | undefined;
|
|
19
|
+
render?: boolean | undefined;
|
|
20
|
+
geo_code?: string | undefined;
|
|
21
|
+
custom_headers?: boolean | undefined;
|
|
22
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
23
|
//#endregion
|
|
8
24
|
export { scrapeDoProxyMode };
|
|
9
25
|
//# sourceMappingURL=proxy-mode.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-mode.d.cts","names":[],"sources":["../../src/actions/proxy-mode.ts"],"mappings":";;;cAIa,sBAAA,
|
|
1
|
+
{"version":3,"file":"proxy-mode.d.cts","names":[],"sources":["../../src/actions/proxy-mode.ts"],"mappings":";;;cAIa,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;cAOtB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;cAMvB,iBAAA,gCAAiB,wBAAA"}
|
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/proxy-mode.d.ts
|
|
4
|
-
declare const ScrapeDoProxyModeInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const ScrapeDoProxyModeInput: z.ZodObject<{
|
|
5
|
+
url: z.ZodString;
|
|
6
|
+
device: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
7
|
+
render: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
8
|
+
geo_code: z.ZodOptional<z.ZodString>;
|
|
9
|
+
custom_headers: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
10
|
+
}, z.core.$strip>;
|
|
11
|
+
declare const ScrapeDoProxyModeOutput: z.ZodObject<{
|
|
12
|
+
content: z.ZodNullable<z.ZodString>;
|
|
13
|
+
headers: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
14
|
+
status_code: z.ZodNullable<z.ZodNumber>;
|
|
15
|
+
}, z.core.$loose>;
|
|
16
|
+
declare const scrapeDoProxyMode: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
17
|
+
url: string;
|
|
18
|
+
device?: string | undefined;
|
|
19
|
+
render?: boolean | undefined;
|
|
20
|
+
geo_code?: string | undefined;
|
|
21
|
+
custom_headers?: boolean | undefined;
|
|
22
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
23
|
//#endregion
|
|
8
24
|
export { scrapeDoProxyMode };
|
|
9
25
|
//# sourceMappingURL=proxy-mode.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-mode.d.mts","names":[],"sources":["../../src/actions/proxy-mode.ts"],"mappings":";;;cAIa,sBAAA,
|
|
1
|
+
{"version":3,"file":"proxy-mode.d.mts","names":[],"sources":["../../src/actions/proxy-mode.ts"],"mappings":";;;cAIa,sBAAA,EAAsB,CAAA,CAAA,SAAA;;;;;;;cAOtB,uBAAA,EAAuB,CAAA,CAAA,SAAA;;;;;cAMvB,iBAAA,gCAAiB,wBAAA"}
|
|
@@ -12,10 +12,10 @@ const scrapeDoProxyMode = action("SCRAPE_DO_PROXY_MODE", {
|
|
|
12
12
|
custom_headers: z.boolean().default(true).describe("Whether to forward custom headers to the target website").optional()
|
|
13
13
|
}).describe("Request model for SCRAPE_DO_PROXY_MODE action."),
|
|
14
14
|
output: z.object({
|
|
15
|
-
content: z.string().describe("The scraped content from the target webpage"),
|
|
15
|
+
content: z.string().describe("The scraped content from the target webpage").nullable(),
|
|
16
16
|
headers: z.record(z.string(), z.unknown()).describe("Response headers including Scrape.do specific headers"),
|
|
17
|
-
status_code: z.number().int().describe("HTTP status code of the response")
|
|
18
|
-
}).describe("Response model for SCRAPE_DO_PROXY_MODE action.")
|
|
17
|
+
status_code: z.number().int().describe("HTTP status code of the response").nullable()
|
|
18
|
+
}).passthrough().describe("Response model for SCRAPE_DO_PROXY_MODE action.")
|
|
19
19
|
});
|
|
20
20
|
//#endregion
|
|
21
21
|
export { scrapeDoProxyMode };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-mode.mjs","names":[],"sources":["../../src/actions/proxy-mode.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoProxyModeInput
|
|
1
|
+
{"version":3,"file":"proxy-mode.mjs","names":[],"sources":["../../src/actions/proxy-mode.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoProxyModeInput = z.object({\n url: z.string().describe(\"The target URL to scrape\"),\n device: z.string().default(\"desktop\").describe(\"Device type to simulate (desktop, mobile, tablet)\").optional(),\n render: z.boolean().default(false).describe(\"Enable/disable JavaScript rendering\").optional(),\n geo_code: z.string().describe(\"Geographic location for the request (e.g., 'us', 'uk')\").optional(),\n custom_headers: z.boolean().default(true).describe(\"Whether to forward custom headers to the target website\").optional(),\n}).describe(\"Request model for SCRAPE_DO_PROXY_MODE action.\");\nexport const ScrapeDoProxyModeOutput = z.object({\n content: z.string().describe(\"The scraped content from the target webpage\").nullable(),\n headers: z.record(z.string(), z.unknown()).describe(\"Response headers including Scrape.do specific headers\"),\n status_code: z.number().int().describe(\"HTTP status code of the response\").nullable(),\n}).passthrough().describe(\"Response model for SCRAPE_DO_PROXY_MODE action.\");\n\nexport const scrapeDoProxyMode = action(\"SCRAPE_DO_PROXY_MODE\", {\n slug: \"scrape_do-proxy-mode\",\n name: \"Use Scrape.do Proxy Mode\",\n description: \"This tool implements the Proxy Mode functionality of scrape.do, which allows routing requests through their proxy server. It provides an alternative way to access web scraping capabilities by handling complex JavaScript-rendered pages, geolocation-based routing, device simulation, and built-in anti-bot and retry mechanisms.\",\n input: ScrapeDoProxyModeInput,\n output: ScrapeDoProxyModeOutput,\n});\n"],"mappings":";;AAiBA,MAAa,oBAAoB,OAAO,wBAAwB;CAC9D,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAjBoC,EAAE,OAAO;EAC7C,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B;EACnD,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;EAC7G,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;EAC5F,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;EACjG,gBAAgB,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACzH,CAAC,CAAC,CAAC,SAAS,gDAWH;CACP,QAXqC,EAAE,OAAO;EAC9C,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;EACrF,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,uDAAuD;EAC3G,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACtF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iDAOhB;AACV,CAAC"}
|
|
@@ -18,10 +18,10 @@ const ScrapeDoScrapeUrlPostInput = zod.z.object({
|
|
|
18
18
|
customHeaders: zod.z.boolean().describe("Enable sending custom headers with the request").optional()
|
|
19
19
|
}).describe("Request model for SCRAPE_DO_SCRAPE_URL_POST action.");
|
|
20
20
|
const ScrapeDoScrapeUrlPostOutput = zod.z.object({
|
|
21
|
-
content: zod.z.string().describe("The scraped content from the target webpage response"),
|
|
22
|
-
headers: zod.z.
|
|
23
|
-
status_code: zod.z.number().int().describe("HTTP status code of the response")
|
|
24
|
-
}).describe("Response model for SCRAPE_DO_SCRAPE_URL_POST action.");
|
|
21
|
+
content: zod.z.string().describe("The scraped content from the target webpage response").nullable(),
|
|
22
|
+
headers: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Response headers including Scrape.do specific headers"),
|
|
23
|
+
status_code: zod.z.number().int().describe("HTTP status code of the response").nullable()
|
|
24
|
+
}).passthrough().describe("Response model for SCRAPE_DO_SCRAPE_URL_POST action.");
|
|
25
25
|
const scrapeDoScrapeUrlPost = require_action.action("SCRAPE_DO_SCRAPE_URL_POST", {
|
|
26
26
|
slug: "scrape_do-scrape-url-post",
|
|
27
27
|
name: "Scrape URL using POST method",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrape-url-post.cjs","names":["z","action"],"sources":["../../src/actions/scrape-url-post.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoScrapeUrlPostInput
|
|
1
|
+
{"version":3,"file":"scrape-url-post.cjs","names":["z","action"],"sources":["../../src/actions/scrape-url-post.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapeDoScrapeUrlPostInput = z.object({\n url: z.string().describe(\"Target web page URL to scrape with POST request\"),\n body: z.string().describe(\"HTTP request body for POST request. Can be JSON string, form data, or plain text\").optional(),\n \"super\": z.boolean().describe(\"Enable residential/mobile proxies. Costs 10x credits\").optional(),\n device: z.enum([\"desktop\", \"mobile\", \"tablet\"]).describe(\"Device types for scraping emulation.\").optional(),\n render: z.boolean().describe(\"Enable JavaScript rendering with headless browser\").optional(),\n geoCode: z.string().describe(\"Country code for geo-targeting (e.g. 'us', 'gb', 'de')\").optional(),\n timeout: z.number().int().describe(\"Total request timeout in milliseconds (5000-120000)\").optional(),\n sessionId: z.string().describe(\"Sticky session ID to reuse same IP address across multiple requests\").optional(),\n setCookies: z.string().describe(\"Cookies to include with the request (format: key1=value1; key2=value2)\").optional(),\n customHeaders: z.boolean().describe(\"Enable sending custom headers with the request\").optional(),\n}).describe(\"Request model for SCRAPE_DO_SCRAPE_URL_POST action.\");\nexport const ScrapeDoScrapeUrlPostOutput = z.object({\n content: z.string().describe(\"The scraped content from the target webpage response\").nullable(),\n headers: z.record(z.string(), z.unknown()).describe(\"Response headers including Scrape.do specific headers\"),\n status_code: z.number().int().describe(\"HTTP status code of the response\").nullable(),\n}).passthrough().describe(\"Response model for SCRAPE_DO_SCRAPE_URL_POST action.\");\n\nexport const scrapeDoScrapeUrlPost = action(\"SCRAPE_DO_SCRAPE_URL_POST\", {\n slug: \"scrape_do-scrape-url-post\",\n name: \"Scrape URL using POST method\",\n description: \"Tool to scrape web pages using POST method via scrape.do API. Use when you need to send POST requests to target websites with custom request body data. Supports all parameters from GET endpoint plus request body customization for POST/PUT/PATCH methods.\",\n input: ScrapeDoScrapeUrlPostInput,\n output: ScrapeDoScrapeUrlPostOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD;CAC1E,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;CACvH,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC/F,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAW;EAAU;CAAQ,CAAC,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CAC1G,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC3F,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;CAChG,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CACnG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;CAC/G,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CACnH,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;AACjG,CAAC,CAAC,CAAC,SAAS,qDAAqD;AACjE,MAAa,8BAA8BA,IAAAA,EAAE,OAAO;CAClD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC9F,SAASA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,uDAAuD;CAC3G,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;AACtF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sDAAsD;AAEhF,MAAa,wBAAwBC,eAAAA,OAAO,6BAA6B;CACvE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|