@keystrokehq/scrapingbee 0.1.0

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.
Files changed (74) hide show
  1. package/README.md +17 -0
  2. package/dist/action.cjs +21 -0
  3. package/dist/action.cjs.map +1 -0
  4. package/dist/action.mjs +21 -0
  5. package/dist/action.mjs.map +1 -0
  6. package/dist/actions/data-extraction.cjs +27 -0
  7. package/dist/actions/data-extraction.cjs.map +1 -0
  8. package/dist/actions/data-extraction.d.cts +9 -0
  9. package/dist/actions/data-extraction.d.cts.map +1 -0
  10. package/dist/actions/data-extraction.d.mts +9 -0
  11. package/dist/actions/data-extraction.d.mts.map +1 -0
  12. package/dist/actions/data-extraction.mjs +24 -0
  13. package/dist/actions/data-extraction.mjs.map +1 -0
  14. package/dist/actions/html-fetch.cjs +41 -0
  15. package/dist/actions/html-fetch.cjs.map +1 -0
  16. package/dist/actions/html-fetch.d.cts +9 -0
  17. package/dist/actions/html-fetch.d.cts.map +1 -0
  18. package/dist/actions/html-fetch.d.mts +9 -0
  19. package/dist/actions/html-fetch.d.mts.map +1 -0
  20. package/dist/actions/html-fetch.mjs +38 -0
  21. package/dist/actions/html-fetch.mjs.map +1 -0
  22. package/dist/actions/index.cjs +11 -0
  23. package/dist/actions/index.d.cts +6 -0
  24. package/dist/actions/index.d.mts +6 -0
  25. package/dist/actions/index.mjs +6 -0
  26. package/dist/actions/scraping-bee-proxy-mode.cjs +43 -0
  27. package/dist/actions/scraping-bee-proxy-mode.cjs.map +1 -0
  28. package/dist/actions/scraping-bee-proxy-mode.d.cts +9 -0
  29. package/dist/actions/scraping-bee-proxy-mode.d.cts.map +1 -0
  30. package/dist/actions/scraping-bee-proxy-mode.d.mts +9 -0
  31. package/dist/actions/scraping-bee-proxy-mode.d.mts.map +1 -0
  32. package/dist/actions/scraping-bee-proxy-mode.mjs +40 -0
  33. package/dist/actions/scraping-bee-proxy-mode.mjs.map +1 -0
  34. package/dist/actions/stealth-proxy.cjs +34 -0
  35. package/dist/actions/stealth-proxy.cjs.map +1 -0
  36. package/dist/actions/stealth-proxy.d.cts +9 -0
  37. package/dist/actions/stealth-proxy.d.cts.map +1 -0
  38. package/dist/actions/stealth-proxy.d.mts +9 -0
  39. package/dist/actions/stealth-proxy.d.mts.map +1 -0
  40. package/dist/actions/stealth-proxy.mjs +31 -0
  41. package/dist/actions/stealth-proxy.mjs.map +1 -0
  42. package/dist/actions/usage-stats.cjs +22 -0
  43. package/dist/actions/usage-stats.cjs.map +1 -0
  44. package/dist/actions/usage-stats.d.cts +9 -0
  45. package/dist/actions/usage-stats.d.cts.map +1 -0
  46. package/dist/actions/usage-stats.d.mts +9 -0
  47. package/dist/actions/usage-stats.d.mts.map +1 -0
  48. package/dist/actions/usage-stats.mjs +19 -0
  49. package/dist/actions/usage-stats.mjs.map +1 -0
  50. package/dist/app.cjs +9 -0
  51. package/dist/app.cjs.map +1 -0
  52. package/dist/app.d.cts +5 -0
  53. package/dist/app.d.cts.map +1 -0
  54. package/dist/app.d.mts +5 -0
  55. package/dist/app.d.mts.map +1 -0
  56. package/dist/app.mjs +10 -0
  57. package/dist/app.mjs.map +1 -0
  58. package/dist/catalog.cjs +15 -0
  59. package/dist/catalog.cjs.map +1 -0
  60. package/dist/catalog.d.cts +14 -0
  61. package/dist/catalog.d.cts.map +1 -0
  62. package/dist/catalog.d.mts +14 -0
  63. package/dist/catalog.d.mts.map +1 -0
  64. package/dist/catalog.mjs +15 -0
  65. package/dist/catalog.mjs.map +1 -0
  66. package/dist/execute.cjs +18 -0
  67. package/dist/execute.cjs.map +1 -0
  68. package/dist/execute.mjs +18 -0
  69. package/dist/execute.mjs.map +1 -0
  70. package/dist/index.cjs +16 -0
  71. package/dist/index.d.cts +8 -0
  72. package/dist/index.d.mts +8 -0
  73. package/dist/index.mjs +9 -0
  74. package/package.json +49 -0
package/README.md ADDED
@@ -0,0 +1,17 @@
1
+ # @keystrokehq/scrapingbee
2
+
3
+ Keystroke-managed integration.
4
+
5
+ **App:** `scrapingbee`
6
+ **Version:** `20260615_00`
7
+ **Actions:** 5
8
+
9
+ ```ts
10
+ import { defineAgent } from "@keystrokehq/keystroke/agent";
11
+ import { scrapingbeeDataExtraction } from "@keystrokehq/scrapingbee/actions";
12
+
13
+ export default defineAgent({
14
+ key: "scrapingbee-agent",
15
+ tools: [scrapingbeeDataExtraction],
16
+ });
17
+ ```
@@ -0,0 +1,21 @@
1
+ const require_app = require("./app.cjs");
2
+ const require_execute = require("./execute.cjs");
3
+ require("zod");
4
+ //#region src/action.ts
5
+ /** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
6
+ function action(tool, def) {
7
+ return require_app.scrapingbee.action({
8
+ slug: def.slug,
9
+ name: def.name,
10
+ description: def.description,
11
+ input: def.input,
12
+ output: def.output,
13
+ async run(input) {
14
+ return def.output.parse(await require_execute.executeScrapingbeeTool(tool, input));
15
+ }
16
+ });
17
+ }
18
+ //#endregion
19
+ exports.action = action;
20
+
21
+ //# sourceMappingURL=action.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.cjs","names":["scrapingbee","executeScrapingbeeTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { scrapingbee } from \"./app\";\nimport { executeScrapingbeeTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return scrapingbee.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeScrapingbeeTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,YAAY,OAAO;EACxB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,uBAAuB,MAAM,KAAgC,CAAC;EAC9F;CACF,CAAC;AACH"}
@@ -0,0 +1,21 @@
1
+ import { scrapingbee } from "./app.mjs";
2
+ import { executeScrapingbeeTool } from "./execute.mjs";
3
+ import "zod";
4
+ //#region src/action.ts
5
+ /** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
6
+ function action(tool, def) {
7
+ return scrapingbee.action({
8
+ slug: def.slug,
9
+ name: def.name,
10
+ description: def.description,
11
+ input: def.input,
12
+ output: def.output,
13
+ async run(input) {
14
+ return def.output.parse(await executeScrapingbeeTool(tool, input));
15
+ }
16
+ });
17
+ }
18
+ //#endregion
19
+ export { action };
20
+
21
+ //# sourceMappingURL=action.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { scrapingbee } from \"./app\";\nimport { executeScrapingbeeTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return scrapingbee.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeScrapingbeeTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,YAAY,OAAO;EACxB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,uBAAuB,MAAM,KAAgC,CAAC;EAC9F;CACF,CAAC;AACH"}
@@ -0,0 +1,27 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/data-extraction.ts
4
+ const ScrapingbeeDataExtractionInput = zod.z.object({
5
+ url: zod.z.string().describe("The webpage URL to extract data from."),
6
+ wait: zod.z.number().int().describe("Seconds to wait before extraction (for dynamic content).").optional(),
7
+ device: zod.z.enum(["desktop", "mobile"]).default("desktop").describe("Emulate device type (desktop or mobile).").optional(),
8
+ api_key: zod.z.string().describe("Your ScrapingBee API key."),
9
+ extractor: zod.z.record(zod.z.string(), zod.z.unknown()).describe("JSON object defining fields to extract and their CSS/XPath selectors. For nested selectors, use object with 'selector' and optional 'type' keys. Misaligned or invalid selectors silently drop fields with no error — verify each selector matches the target DOM before large-scale use."),
10
+ javascript: zod.z.boolean().default(false).describe("Whether to render JavaScript before extraction.").optional(),
11
+ country_code: zod.z.string().describe("Two-letter country code for proxy geolocation (e.g., 'us', 'de').").optional(),
12
+ premium_proxy: zod.z.boolean().default(false).describe("Use premium proxy for higher reliability.").optional(),
13
+ block_resources: zod.z.boolean().default(false).describe("Block images, CSS, and resources to speed up extraction.").optional(),
14
+ forward_headers: zod.z.object({}).describe("Custom HTTP headers to forward to the target website. Provide as a dict, e.g., {'Accept-Language': 'en-US'}. Headers will be prefixed with 'Spb-' and forwarded to the target.").optional()
15
+ }).describe("Request model for data extraction from ScrapingBee.");
16
+ const ScrapingbeeDataExtractionOutput = zod.z.record(zod.z.string(), zod.z.unknown()).describe("Response model for data extraction from ScrapingBee.\nThe extracted data is returned directly based on the extractor rules provided.");
17
+ const scrapingbeeDataExtraction = require_action.action("SCRAPINGBEE_DATA_EXTRACTION", {
18
+ slug: "scrapingbee-data-extraction",
19
+ name: "ScrapingBee Data Extraction",
20
+ description: "Tool to extract structured data from a webpage using CSS or XPath selectors. Use ScrapingBee's extract_rules feature.",
21
+ input: ScrapingbeeDataExtractionInput,
22
+ output: ScrapingbeeDataExtractionOutput
23
+ });
24
+ //#endregion
25
+ exports.scrapingbeeDataExtraction = scrapingbeeDataExtraction;
26
+
27
+ //# sourceMappingURL=data-extraction.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-extraction.cjs","names":["z","action"],"sources":["../../src/actions/data-extraction.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeDataExtractionInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The webpage URL to extract data from.\"),\n wait: z.number().int().describe(\"Seconds to wait before extraction (for dynamic content).\").optional(),\n device: z.enum([\"desktop\", \"mobile\"]).default(\"desktop\").describe(\"Emulate device type (desktop or mobile).\").optional(),\n api_key: z.string().describe(\"Your ScrapingBee API key.\"),\n extractor: z.record(z.string(), z.unknown()).describe(\"JSON object defining fields to extract and their CSS/XPath selectors. For nested selectors, use object with 'selector' and optional 'type' keys. Misaligned or invalid selectors silently drop fields with no error — verify each selector matches the target DOM before large-scale use.\"),\n javascript: z.boolean().default(false).describe(\"Whether to render JavaScript before extraction.\").optional(),\n country_code: z.string().describe(\"Two-letter country code for proxy geolocation (e.g., 'us', 'de').\").optional(),\n premium_proxy: z.boolean().default(false).describe(\"Use premium proxy for higher reliability.\").optional(),\n block_resources: z.boolean().default(false).describe(\"Block images, CSS, and resources to speed up extraction.\").optional(),\n forward_headers: z.object({}).describe(\"Custom HTTP headers to forward to the target website. Provide as a dict, e.g., {'Accept-Language': 'en-US'}. Headers will be prefixed with 'Spb-' and forwarded to the target.\").optional(),\n}).describe(\"Request model for data extraction from ScrapingBee.\");\nexport const ScrapingbeeDataExtractionOutput: z.ZodTypeAny = z.record(z.string(), z.unknown()).describe(\"Response model for data extraction from ScrapingBee.\\nThe extracted data is returned directly based on the extractor rules provided.\");\n\nexport const scrapingbeeDataExtraction = action(\"SCRAPINGBEE_DATA_EXTRACTION\", {\n slug: \"scrapingbee-data-extraction\",\n name: \"ScrapingBee Data Extraction\",\n description: \"Tool to extract structured data from a webpage using CSS or XPath selectors. Use ScrapingBee's extract_rules feature.\",\n input: ScrapingbeeDataExtractionInput,\n output: ScrapingbeeDataExtractionOutput,\n});\n"],"mappings":";;;AAIA,MAAa,iCAA+CA,IAAAA,EAAE,OAAO;CACnE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC;CAChE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACrG,QAAQA,IAAAA,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACvH,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B;CACxD,WAAWA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2RAA2R;CACjV,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;CAC5G,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;CAChH,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACzG,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC1H,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,gLAAgL,CAAC,CAAC,SAAS;AACpO,CAAC,CAAC,CAAC,SAAS,qDAAqD;AACjE,MAAa,kCAAgDA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,sIAAsI;AAE9O,MAAa,4BAA4BC,eAAAA,OAAO,+BAA+B;CAC7E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-extraction.d.ts
4
+ declare const ScrapingbeeDataExtractionInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeDataExtractionOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeDataExtraction: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeDataExtraction };
9
+ //# sourceMappingURL=data-extraction.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-extraction.d.cts","names":[],"sources":["../../src/actions/data-extraction.ts"],"mappings":";;;cAIa,8BAAA,EAAgC,CAAA,CAAE,UAWmB;AAAA,cACrD,+BAAA,EAAiC,CAAA,CAAE,UAA+L;AAAA,cAElO,yBAAA,gCAAyB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/data-extraction.d.ts
4
+ declare const ScrapingbeeDataExtractionInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeDataExtractionOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeDataExtraction: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeDataExtraction };
9
+ //# sourceMappingURL=data-extraction.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-extraction.d.mts","names":[],"sources":["../../src/actions/data-extraction.ts"],"mappings":";;;cAIa,8BAAA,EAAgC,CAAA,CAAE,UAWmB;AAAA,cACrD,+BAAA,EAAiC,CAAA,CAAE,UAA+L;AAAA,cAElO,yBAAA,gCAAyB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,24 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const scrapingbeeDataExtraction = action("SCRAPINGBEE_DATA_EXTRACTION", {
4
+ slug: "scrapingbee-data-extraction",
5
+ name: "ScrapingBee Data Extraction",
6
+ description: "Tool to extract structured data from a webpage using CSS or XPath selectors. Use ScrapingBee's extract_rules feature.",
7
+ input: z.object({
8
+ url: z.string().describe("The webpage URL to extract data from."),
9
+ wait: z.number().int().describe("Seconds to wait before extraction (for dynamic content).").optional(),
10
+ device: z.enum(["desktop", "mobile"]).default("desktop").describe("Emulate device type (desktop or mobile).").optional(),
11
+ api_key: z.string().describe("Your ScrapingBee API key."),
12
+ extractor: z.record(z.string(), z.unknown()).describe("JSON object defining fields to extract and their CSS/XPath selectors. For nested selectors, use object with 'selector' and optional 'type' keys. Misaligned or invalid selectors silently drop fields with no error — verify each selector matches the target DOM before large-scale use."),
13
+ javascript: z.boolean().default(false).describe("Whether to render JavaScript before extraction.").optional(),
14
+ country_code: z.string().describe("Two-letter country code for proxy geolocation (e.g., 'us', 'de').").optional(),
15
+ premium_proxy: z.boolean().default(false).describe("Use premium proxy for higher reliability.").optional(),
16
+ block_resources: z.boolean().default(false).describe("Block images, CSS, and resources to speed up extraction.").optional(),
17
+ forward_headers: z.object({}).describe("Custom HTTP headers to forward to the target website. Provide as a dict, e.g., {'Accept-Language': 'en-US'}. Headers will be prefixed with 'Spb-' and forwarded to the target.").optional()
18
+ }).describe("Request model for data extraction from ScrapingBee."),
19
+ output: z.record(z.string(), z.unknown()).describe("Response model for data extraction from ScrapingBee.\nThe extracted data is returned directly based on the extractor rules provided.")
20
+ });
21
+ //#endregion
22
+ export { scrapingbeeDataExtraction };
23
+
24
+ //# sourceMappingURL=data-extraction.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-extraction.mjs","names":[],"sources":["../../src/actions/data-extraction.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeDataExtractionInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The webpage URL to extract data from.\"),\n wait: z.number().int().describe(\"Seconds to wait before extraction (for dynamic content).\").optional(),\n device: z.enum([\"desktop\", \"mobile\"]).default(\"desktop\").describe(\"Emulate device type (desktop or mobile).\").optional(),\n api_key: z.string().describe(\"Your ScrapingBee API key.\"),\n extractor: z.record(z.string(), z.unknown()).describe(\"JSON object defining fields to extract and their CSS/XPath selectors. For nested selectors, use object with 'selector' and optional 'type' keys. Misaligned or invalid selectors silently drop fields with no error — verify each selector matches the target DOM before large-scale use.\"),\n javascript: z.boolean().default(false).describe(\"Whether to render JavaScript before extraction.\").optional(),\n country_code: z.string().describe(\"Two-letter country code for proxy geolocation (e.g., 'us', 'de').\").optional(),\n premium_proxy: z.boolean().default(false).describe(\"Use premium proxy for higher reliability.\").optional(),\n block_resources: z.boolean().default(false).describe(\"Block images, CSS, and resources to speed up extraction.\").optional(),\n forward_headers: z.object({}).describe(\"Custom HTTP headers to forward to the target website. Provide as a dict, e.g., {'Accept-Language': 'en-US'}. Headers will be prefixed with 'Spb-' and forwarded to the target.\").optional(),\n}).describe(\"Request model for data extraction from ScrapingBee.\");\nexport const ScrapingbeeDataExtractionOutput: z.ZodTypeAny = z.record(z.string(), z.unknown()).describe(\"Response model for data extraction from ScrapingBee.\\nThe extracted data is returned directly based on the extractor rules provided.\");\n\nexport const scrapingbeeDataExtraction = action(\"SCRAPINGBEE_DATA_EXTRACTION\", {\n slug: \"scrapingbee-data-extraction\",\n name: \"ScrapingBee Data Extraction\",\n description: \"Tool to extract structured data from a webpage using CSS or XPath selectors. Use ScrapingBee's extract_rules feature.\",\n input: ScrapingbeeDataExtractionInput,\n output: ScrapingbeeDataExtractionOutput,\n});\n"],"mappings":";;AAkBA,MAAa,4BAA4B,OAAO,+BAA+B;CAC7E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAlB0D,EAAE,OAAO;EACnE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC;EAChE,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACrG,QAAQ,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,QAAQ,SAAS,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;EACvH,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,2BAA2B;EACxD,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2RAA2R;EACjV,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;EAC5G,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;EAChH,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;EACzG,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EAC1H,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,gLAAgL,CAAC,CAAC,SAAS;CACpO,CAAC,CAAC,CAAC,SAAS,qDAOH;CACP,QAP2D,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,sIAO9F;AACV,CAAC"}
@@ -0,0 +1,41 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/html-fetch.ts
4
+ const ScrapingbeeHtmlFetchInput = zod.z.object({
5
+ url: zod.z.string().describe("The URL to scrape."),
6
+ wait: zod.z.number().int().describe("Milliseconds to wait before returning content.").optional(),
7
+ retry: zod.z.number().int().describe("Number of retries on request failure.").optional(),
8
+ device: zod.z.enum(["desktop", "mobile"]).describe("Device type to emulate ('desktop' or 'mobile').").optional(),
9
+ cookies: zod.z.string().describe("Cookies to send in requests (HTTP header string).").optional(),
10
+ wait_for: zod.z.string().describe("CSS selector to wait for before returning content.").optional(),
11
+ block_ads: zod.z.boolean().default(false).describe("Block ads and tracking scripts.").optional(),
12
+ render_js: zod.z.boolean().default(false).describe("Render JavaScript before returning HTML. Required for client-side rendered pages where dynamic data is absent in raw HTML.").optional(),
13
+ js_snippet: zod.z.string().describe("JavaScript snippet to execute before returning content.").optional(),
14
+ screenshot: zod.z.boolean().default(false).describe("Return screenshot as base64-encoded PNG.").optional(),
15
+ js_scenario: zod.z.string().describe("JSON scenario for custom headless browser actions.").optional(),
16
+ country_code: zod.z.string().describe("Two-letter country code for geolocation (e.g., 'us').").optional(),
17
+ extract_rules: zod.z.string().describe("Extraction rules (CSS selector or JSONPath).").optional(),
18
+ premium_proxy: zod.z.boolean().default(false).describe("Use premium proxy for scraping.").optional(),
19
+ stealth_proxy: zod.z.boolean().default(false).describe("Use stealth (undetectable) proxy mode.").optional(),
20
+ block_resources: zod.z.boolean().default(false).describe("Block images and CSS resources on the page to speed up scraping.").optional(),
21
+ screenshot_selector: zod.z.string().describe("CSS selector of element to screenshot.").optional(),
22
+ screenshot_full_page: zod.z.boolean().default(false).describe("Capture full-page screenshot instead of only viewport.").optional()
23
+ }).describe("Request parameters for fetching HTML via ScrapingBee HTML API.");
24
+ const ScrapingbeeHtmlFetchOutput = zod.z.object({
25
+ html: zod.z.string().describe("Raw HTML content of the requested page."),
26
+ cookies: zod.z.object({}).describe("Cookies set by the target site."),
27
+ headers: zod.z.object({}).describe("HTTP response headers from the target site."),
28
+ screenshot: zod.z.string().describe("Screenshot as base64-encoded PNG if requested.").nullable().optional(),
29
+ status_code: zod.z.number().int().describe("HTTP status code returned by the target site.")
30
+ }).describe("Response schema for ScrapingBee HTML API.");
31
+ const scrapingbeeHtmlFetch = require_action.action("SCRAPINGBEE_HTML_FETCH", {
32
+ slug: "scrapingbee-html-fetch",
33
+ name: "ScrapingBee HTML Fetch",
34
+ description: "Tool to fetch HTML or screenshot via ScrapingBee HTML API. Use when you need page markup or image after optional JS rendering and resource controls. For anti-bot or CAPTCHA-protected sites (e.g., Cloudflare), combine render_js=true with premium_proxy=true or stealth_proxy=true to avoid blocks.",
35
+ input: ScrapingbeeHtmlFetchInput,
36
+ output: ScrapingbeeHtmlFetchOutput
37
+ });
38
+ //#endregion
39
+ exports.scrapingbeeHtmlFetch = scrapingbeeHtmlFetch;
40
+
41
+ //# sourceMappingURL=html-fetch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-fetch.cjs","names":["z","action"],"sources":["../../src/actions/html-fetch.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeHtmlFetchInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The URL to scrape.\"),\n wait: z.number().int().describe(\"Milliseconds to wait before returning content.\").optional(),\n retry: z.number().int().describe(\"Number of retries on request failure.\").optional(),\n device: z.enum([\"desktop\", \"mobile\"]).describe(\"Device type to emulate ('desktop' or 'mobile').\").optional(),\n cookies: z.string().describe(\"Cookies to send in requests (HTTP header string).\").optional(),\n wait_for: z.string().describe(\"CSS selector to wait for before returning content.\").optional(),\n block_ads: z.boolean().default(false).describe(\"Block ads and tracking scripts.\").optional(),\n render_js: z.boolean().default(false).describe(\"Render JavaScript before returning HTML. Required for client-side rendered pages where dynamic data is absent in raw HTML.\").optional(),\n js_snippet: z.string().describe(\"JavaScript snippet to execute before returning content.\").optional(),\n screenshot: z.boolean().default(false).describe(\"Return screenshot as base64-encoded PNG.\").optional(),\n js_scenario: z.string().describe(\"JSON scenario for custom headless browser actions.\").optional(),\n country_code: z.string().describe(\"Two-letter country code for geolocation (e.g., 'us').\").optional(),\n extract_rules: z.string().describe(\"Extraction rules (CSS selector or JSONPath).\").optional(),\n premium_proxy: z.boolean().default(false).describe(\"Use premium proxy for scraping.\").optional(),\n stealth_proxy: z.boolean().default(false).describe(\"Use stealth (undetectable) proxy mode.\").optional(),\n block_resources: z.boolean().default(false).describe(\"Block images and CSS resources on the page to speed up scraping.\").optional(),\n screenshot_selector: z.string().describe(\"CSS selector of element to screenshot.\").optional(),\n screenshot_full_page: z.boolean().default(false).describe(\"Capture full-page screenshot instead of only viewport.\").optional(),\n}).describe(\"Request parameters for fetching HTML via ScrapingBee HTML API.\");\nexport const ScrapingbeeHtmlFetchOutput: z.ZodTypeAny = z.object({\n html: z.string().describe(\"Raw HTML content of the requested page.\"),\n cookies: z.object({}).describe(\"Cookies set by the target site.\"),\n headers: z.object({}).describe(\"HTTP response headers from the target site.\"),\n screenshot: z.string().describe(\"Screenshot as base64-encoded PNG if requested.\").nullable().optional(),\n status_code: z.number().int().describe(\"HTTP status code returned by the target site.\"),\n}).describe(\"Response schema for ScrapingBee HTML API.\");\n\nexport const scrapingbeeHtmlFetch = action(\"SCRAPINGBEE_HTML_FETCH\", {\n slug: \"scrapingbee-html-fetch\",\n name: \"ScrapingBee HTML Fetch\",\n description: \"Tool to fetch HTML or screenshot via ScrapingBee HTML API. Use when you need page markup or image after optional JS rendering and resource controls. For anti-bot or CAPTCHA-protected sites (e.g., Cloudflare), combine render_js=true with premium_proxy=true or stealth_proxy=true to avoid blocks.\",\n input: ScrapingbeeHtmlFetchInput,\n output: ScrapingbeeHtmlFetchOutput,\n});\n"],"mappings":";;;AAIA,MAAa,4BAA0CA,IAAAA,EAAE,OAAO;CAC9D,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB;CAC7C,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;CAC3F,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;CACnF,QAAQA,IAAAA,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;CAC3G,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC3F,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CAC7F,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CAC3F,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;CACtL,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACpG,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACrG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CAChG,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CACpG,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CAC5F,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;CAC/F,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CACtG,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;CAClI,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CAC5F,sBAAsBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;AAC/H,CAAC,CAAC,CAAC,SAAS,gEAAgE;AAC5E,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC;CACnE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,iCAAiC;CAChE,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,6CAA6C;CAC5E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+CAA+C;AACxF,CAAC,CAAC,CAAC,SAAS,2CAA2C;AAEvD,MAAa,uBAAuBC,eAAAA,OAAO,0BAA0B;CACnE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/html-fetch.d.ts
4
+ declare const ScrapingbeeHtmlFetchInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeHtmlFetchOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeHtmlFetch: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeHtmlFetch };
9
+ //# sourceMappingURL=html-fetch.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-fetch.d.cts","names":[],"sources":["../../src/actions/html-fetch.ts"],"mappings":";;;cAIa,yBAAA,EAA2B,CAAA,CAAE,UAmBmC;AAAA,cAChE,0BAAA,EAA4B,CAAA,CAAE,UAMa;AAAA,cAE3C,oBAAA,gCAAoB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/html-fetch.d.ts
4
+ declare const ScrapingbeeHtmlFetchInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeHtmlFetchOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeHtmlFetch: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeHtmlFetch };
9
+ //# sourceMappingURL=html-fetch.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-fetch.d.mts","names":[],"sources":["../../src/actions/html-fetch.ts"],"mappings":";;;cAIa,yBAAA,EAA2B,CAAA,CAAE,UAmBmC;AAAA,cAChE,0BAAA,EAA4B,CAAA,CAAE,UAMa;AAAA,cAE3C,oBAAA,gCAAoB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,38 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const scrapingbeeHtmlFetch = action("SCRAPINGBEE_HTML_FETCH", {
4
+ slug: "scrapingbee-html-fetch",
5
+ name: "ScrapingBee HTML Fetch",
6
+ description: "Tool to fetch HTML or screenshot via ScrapingBee HTML API. Use when you need page markup or image after optional JS rendering and resource controls. For anti-bot or CAPTCHA-protected sites (e.g., Cloudflare), combine render_js=true with premium_proxy=true or stealth_proxy=true to avoid blocks.",
7
+ input: z.object({
8
+ url: z.string().describe("The URL to scrape."),
9
+ wait: z.number().int().describe("Milliseconds to wait before returning content.").optional(),
10
+ retry: z.number().int().describe("Number of retries on request failure.").optional(),
11
+ device: z.enum(["desktop", "mobile"]).describe("Device type to emulate ('desktop' or 'mobile').").optional(),
12
+ cookies: z.string().describe("Cookies to send in requests (HTTP header string).").optional(),
13
+ wait_for: z.string().describe("CSS selector to wait for before returning content.").optional(),
14
+ block_ads: z.boolean().default(false).describe("Block ads and tracking scripts.").optional(),
15
+ render_js: z.boolean().default(false).describe("Render JavaScript before returning HTML. Required for client-side rendered pages where dynamic data is absent in raw HTML.").optional(),
16
+ js_snippet: z.string().describe("JavaScript snippet to execute before returning content.").optional(),
17
+ screenshot: z.boolean().default(false).describe("Return screenshot as base64-encoded PNG.").optional(),
18
+ js_scenario: z.string().describe("JSON scenario for custom headless browser actions.").optional(),
19
+ country_code: z.string().describe("Two-letter country code for geolocation (e.g., 'us').").optional(),
20
+ extract_rules: z.string().describe("Extraction rules (CSS selector or JSONPath).").optional(),
21
+ premium_proxy: z.boolean().default(false).describe("Use premium proxy for scraping.").optional(),
22
+ stealth_proxy: z.boolean().default(false).describe("Use stealth (undetectable) proxy mode.").optional(),
23
+ block_resources: z.boolean().default(false).describe("Block images and CSS resources on the page to speed up scraping.").optional(),
24
+ screenshot_selector: z.string().describe("CSS selector of element to screenshot.").optional(),
25
+ screenshot_full_page: z.boolean().default(false).describe("Capture full-page screenshot instead of only viewport.").optional()
26
+ }).describe("Request parameters for fetching HTML via ScrapingBee HTML API."),
27
+ output: z.object({
28
+ html: z.string().describe("Raw HTML content of the requested page."),
29
+ cookies: z.object({}).describe("Cookies set by the target site."),
30
+ headers: z.object({}).describe("HTTP response headers from the target site."),
31
+ screenshot: z.string().describe("Screenshot as base64-encoded PNG if requested.").nullable().optional(),
32
+ status_code: z.number().int().describe("HTTP status code returned by the target site.")
33
+ }).describe("Response schema for ScrapingBee HTML API.")
34
+ });
35
+ //#endregion
36
+ export { scrapingbeeHtmlFetch };
37
+
38
+ //# sourceMappingURL=html-fetch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-fetch.mjs","names":[],"sources":["../../src/actions/html-fetch.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeHtmlFetchInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The URL to scrape.\"),\n wait: z.number().int().describe(\"Milliseconds to wait before returning content.\").optional(),\n retry: z.number().int().describe(\"Number of retries on request failure.\").optional(),\n device: z.enum([\"desktop\", \"mobile\"]).describe(\"Device type to emulate ('desktop' or 'mobile').\").optional(),\n cookies: z.string().describe(\"Cookies to send in requests (HTTP header string).\").optional(),\n wait_for: z.string().describe(\"CSS selector to wait for before returning content.\").optional(),\n block_ads: z.boolean().default(false).describe(\"Block ads and tracking scripts.\").optional(),\n render_js: z.boolean().default(false).describe(\"Render JavaScript before returning HTML. Required for client-side rendered pages where dynamic data is absent in raw HTML.\").optional(),\n js_snippet: z.string().describe(\"JavaScript snippet to execute before returning content.\").optional(),\n screenshot: z.boolean().default(false).describe(\"Return screenshot as base64-encoded PNG.\").optional(),\n js_scenario: z.string().describe(\"JSON scenario for custom headless browser actions.\").optional(),\n country_code: z.string().describe(\"Two-letter country code for geolocation (e.g., 'us').\").optional(),\n extract_rules: z.string().describe(\"Extraction rules (CSS selector or JSONPath).\").optional(),\n premium_proxy: z.boolean().default(false).describe(\"Use premium proxy for scraping.\").optional(),\n stealth_proxy: z.boolean().default(false).describe(\"Use stealth (undetectable) proxy mode.\").optional(),\n block_resources: z.boolean().default(false).describe(\"Block images and CSS resources on the page to speed up scraping.\").optional(),\n screenshot_selector: z.string().describe(\"CSS selector of element to screenshot.\").optional(),\n screenshot_full_page: z.boolean().default(false).describe(\"Capture full-page screenshot instead of only viewport.\").optional(),\n}).describe(\"Request parameters for fetching HTML via ScrapingBee HTML API.\");\nexport const ScrapingbeeHtmlFetchOutput: z.ZodTypeAny = z.object({\n html: z.string().describe(\"Raw HTML content of the requested page.\"),\n cookies: z.object({}).describe(\"Cookies set by the target site.\"),\n headers: z.object({}).describe(\"HTTP response headers from the target site.\"),\n screenshot: z.string().describe(\"Screenshot as base64-encoded PNG if requested.\").nullable().optional(),\n status_code: z.number().int().describe(\"HTTP status code returned by the target site.\"),\n}).describe(\"Response schema for ScrapingBee HTML API.\");\n\nexport const scrapingbeeHtmlFetch = action(\"SCRAPINGBEE_HTML_FETCH\", {\n slug: \"scrapingbee-html-fetch\",\n name: \"ScrapingBee HTML Fetch\",\n description: \"Tool to fetch HTML or screenshot via ScrapingBee HTML API. Use when you need page markup or image after optional JS rendering and resource controls. For anti-bot or CAPTCHA-protected sites (e.g., Cloudflare), combine render_js=true with premium_proxy=true or stealth_proxy=true to avoid blocks.\",\n input: ScrapingbeeHtmlFetchInput,\n output: ScrapingbeeHtmlFetchOutput,\n});\n"],"mappings":";;AAgCA,MAAa,uBAAuB,OAAO,0BAA0B;CACnE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAhCqD,EAAE,OAAO;EAC9D,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB;EAC7C,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;EAC3F,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;EACnF,QAAQ,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;EAC3G,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;EAC3F,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EAC7F,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;EAC3F,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;EACtL,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EACpG,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;EACrG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EAChG,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;EACpG,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;EAC5F,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS;EAC/F,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;EACtG,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;EAClI,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;EAC5F,sBAAsB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;CAC/H,CAAC,CAAC,CAAC,SAAS,gEAaH;CACP,QAbsD,EAAE,OAAO;EAC/D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,yCAAyC;EACnE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,iCAAiC;EAChE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,6CAA6C;EAC5E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtG,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+CAA+C;CACxF,CAAC,CAAC,CAAC,SAAS,2CAOF;AACV,CAAC"}
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_data_extraction = require("./data-extraction.cjs");
3
+ const require_html_fetch = require("./html-fetch.cjs");
4
+ const require_scraping_bee_proxy_mode = require("./scraping-bee-proxy-mode.cjs");
5
+ const require_stealth_proxy = require("./stealth-proxy.cjs");
6
+ const require_usage_stats = require("./usage-stats.cjs");
7
+ exports.scrapingbeeDataExtraction = require_data_extraction.scrapingbeeDataExtraction;
8
+ exports.scrapingbeeHtmlFetch = require_html_fetch.scrapingbeeHtmlFetch;
9
+ exports.scrapingbeeScrapingBeeProxyMode = require_scraping_bee_proxy_mode.scrapingbeeScrapingBeeProxyMode;
10
+ exports.scrapingbeeStealthProxy = require_stealth_proxy.scrapingbeeStealthProxy;
11
+ exports.scrapingbeeUsageStats = require_usage_stats.scrapingbeeUsageStats;
@@ -0,0 +1,6 @@
1
+ import { scrapingbeeDataExtraction } from "./data-extraction.cjs";
2
+ import { scrapingbeeHtmlFetch } from "./html-fetch.cjs";
3
+ import { scrapingbeeScrapingBeeProxyMode } from "./scraping-bee-proxy-mode.cjs";
4
+ import { scrapingbeeStealthProxy } from "./stealth-proxy.cjs";
5
+ import { scrapingbeeUsageStats } from "./usage-stats.cjs";
6
+ export { scrapingbeeDataExtraction, scrapingbeeHtmlFetch, scrapingbeeScrapingBeeProxyMode, scrapingbeeStealthProxy, scrapingbeeUsageStats };
@@ -0,0 +1,6 @@
1
+ import { scrapingbeeDataExtraction } from "./data-extraction.mjs";
2
+ import { scrapingbeeHtmlFetch } from "./html-fetch.mjs";
3
+ import { scrapingbeeScrapingBeeProxyMode } from "./scraping-bee-proxy-mode.mjs";
4
+ import { scrapingbeeStealthProxy } from "./stealth-proxy.mjs";
5
+ import { scrapingbeeUsageStats } from "./usage-stats.mjs";
6
+ export { scrapingbeeDataExtraction, scrapingbeeHtmlFetch, scrapingbeeScrapingBeeProxyMode, scrapingbeeStealthProxy, scrapingbeeUsageStats };
@@ -0,0 +1,6 @@
1
+ import { scrapingbeeDataExtraction } from "./data-extraction.mjs";
2
+ import { scrapingbeeHtmlFetch } from "./html-fetch.mjs";
3
+ import { scrapingbeeScrapingBeeProxyMode } from "./scraping-bee-proxy-mode.mjs";
4
+ import { scrapingbeeStealthProxy } from "./stealth-proxy.mjs";
5
+ import { scrapingbeeUsageStats } from "./usage-stats.mjs";
6
+ export { scrapingbeeDataExtraction, scrapingbeeHtmlFetch, scrapingbeeScrapingBeeProxyMode, scrapingbeeStealthProxy, scrapingbeeUsageStats };
@@ -0,0 +1,43 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/scraping-bee-proxy-mode.ts
4
+ const ScrapingbeeScrapingBeeProxyModeInput = zod.z.object({
5
+ url: zod.z.string().describe("The target URL to scrape through ScrapingBee Proxy Mode."),
6
+ cookies: zod.z.object({}).describe("Cookies to send with the request as a key-value mapping.").optional(),
7
+ headers: zod.z.object({}).describe("Additional HTTP headers to forward to the target site. Each header will be prefixed with 'Spb-' and forwarded when forward_headers is enabled.").optional(),
8
+ timeout: zod.z.number().int().default(6e4).describe("Request timeout in milliseconds.").optional(),
9
+ block_ads: zod.z.boolean().describe("Block ads and tracking scripts to speed up scraping.").optional(),
10
+ render_js: zod.z.boolean().describe("Enable JavaScript rendering before returning content.").optional(),
11
+ session_id: zod.z.number().int().describe("Session identifier (integer) to keep the same IP for multiple requests. Use the same number to maintain consistent IP across requests.").optional(),
12
+ js_scenario: zod.z.string().describe("Custom JavaScript scenario name for advanced interactions.").optional(),
13
+ country_code: zod.z.enum([
14
+ "us",
15
+ "de",
16
+ "fr",
17
+ "uk",
18
+ "ca",
19
+ "it",
20
+ "es"
21
+ ]).describe("Two-letter country code for geolocated proxy (e.g., 'us', 'fr').").optional(),
22
+ premium_proxy: zod.z.boolean().describe("Use premium proxies for higher reliability.").optional(),
23
+ stealth_proxy: zod.z.boolean().describe("Use stealth proxy mode for extra undetectability.").optional(),
24
+ block_resources: zod.z.boolean().describe("Block images and CSS resources to speed up scraping. Only relevant when render_js is enabled.").optional(),
25
+ forward_headers: zod.z.boolean().default(false).describe("Forward original request headers to the target site.").optional()
26
+ }).describe("Request parameters for ScrapingBee Proxy Mode.");
27
+ const ScrapingbeeScrapingBeeProxyModeOutput = zod.z.object({
28
+ content: zod.z.string().describe("Raw HTML content or screenshot returned by ScrapingBee."),
29
+ cookies: zod.z.object({}).describe("Cookies received from the proxied request."),
30
+ headers: zod.z.object({}).describe("HTTP response headers from the proxied request."),
31
+ status_code: zod.z.number().int().describe("HTTP status code returned by ScrapingBee Proxy Mode.")
32
+ }).describe("Response model for ScrapingBee Proxy Mode.");
33
+ const scrapingbeeScrapingBeeProxyMode = require_action.action("SCRAPINGBEE_SCRAPING_BEE_PROXY_MODE", {
34
+ slug: "scrapingbee-scraping-bee-proxy-mode",
35
+ name: "ScrapingBee Proxy Mode",
36
+ description: "Tool to fetch web content via ScrapingBee's Proxy Mode. Use when you need to route requests through ScrapingBee proxies with optional JS rendering and resource blocking.",
37
+ input: ScrapingbeeScrapingBeeProxyModeInput,
38
+ output: ScrapingbeeScrapingBeeProxyModeOutput
39
+ });
40
+ //#endregion
41
+ exports.scrapingbeeScrapingBeeProxyMode = scrapingbeeScrapingBeeProxyMode;
42
+
43
+ //# sourceMappingURL=scraping-bee-proxy-mode.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scraping-bee-proxy-mode.cjs","names":["z","action"],"sources":["../../src/actions/scraping-bee-proxy-mode.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeScrapingBeeProxyModeInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The target URL to scrape through ScrapingBee Proxy Mode.\"),\n cookies: z.object({}).describe(\"Cookies to send with the request as a key-value mapping.\").optional(),\n headers: z.object({}).describe(\"Additional HTTP headers to forward to the target site. Each header will be prefixed with 'Spb-' and forwarded when forward_headers is enabled.\").optional(),\n timeout: z.number().int().default(60000).describe(\"Request timeout in milliseconds.\").optional(),\n block_ads: z.boolean().describe(\"Block ads and tracking scripts to speed up scraping.\").optional(),\n render_js: z.boolean().describe(\"Enable JavaScript rendering before returning content.\").optional(),\n session_id: z.number().int().describe(\"Session identifier (integer) to keep the same IP for multiple requests. Use the same number to maintain consistent IP across requests.\").optional(),\n js_scenario: z.string().describe(\"Custom JavaScript scenario name for advanced interactions.\").optional(),\n country_code: z.enum([\"us\", \"de\", \"fr\", \"uk\", \"ca\", \"it\", \"es\"]).describe(\"Two-letter country code for geolocated proxy (e.g., 'us', 'fr').\").optional(),\n premium_proxy: z.boolean().describe(\"Use premium proxies for higher reliability.\").optional(),\n stealth_proxy: z.boolean().describe(\"Use stealth proxy mode for extra undetectability.\").optional(),\n block_resources: z.boolean().describe(\"Block images and CSS resources to speed up scraping. Only relevant when render_js is enabled.\").optional(),\n forward_headers: z.boolean().default(false).describe(\"Forward original request headers to the target site.\").optional(),\n}).describe(\"Request parameters for ScrapingBee Proxy Mode.\");\nexport const ScrapingbeeScrapingBeeProxyModeOutput: z.ZodTypeAny = z.object({\n content: z.string().describe(\"Raw HTML content or screenshot returned by ScrapingBee.\"),\n cookies: z.object({}).describe(\"Cookies received from the proxied request.\"),\n headers: z.object({}).describe(\"HTTP response headers from the proxied request.\"),\n status_code: z.number().int().describe(\"HTTP status code returned by ScrapingBee Proxy Mode.\"),\n}).describe(\"Response model for ScrapingBee Proxy Mode.\");\n\nexport const scrapingbeeScrapingBeeProxyMode = action(\"SCRAPINGBEE_SCRAPING_BEE_PROXY_MODE\", {\n slug: \"scrapingbee-scraping-bee-proxy-mode\",\n name: \"ScrapingBee Proxy Mode\",\n description: \"Tool to fetch web content via ScrapingBee's Proxy Mode. Use when you need to route requests through ScrapingBee proxies with optional JS rendering and resource blocking.\",\n input: ScrapingbeeScrapingBeeProxyModeInput,\n output: ScrapingbeeScrapingBeeProxyModeOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uCAAqDA,IAAAA,EAAE,OAAO;CACzE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D;CACnF,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACpG,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,gJAAgJ,CAAC,CAAC,SAAS;CAC1L,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAK,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CAC/F,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CACjG,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CAClG,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wIAAwI,CAAC,CAAC,SAAS;CACzL,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;CACxG,cAAcA,IAAAA,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;EAAM;EAAM;EAAM;CAAI,CAAC,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;CACvJ,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CAC5F,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAClG,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;CAChJ,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;AACxH,CAAC,CAAC,CAAC,SAAS,gDAAgD;AAC5D,MAAa,wCAAsDA,IAAAA,EAAE,OAAO;CAC1E,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;CACtF,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;CAC3E,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,iDAAiD;CAChF,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sDAAsD;AAC/F,CAAC,CAAC,CAAC,SAAS,4CAA4C;AAExD,MAAa,kCAAkCC,eAAAA,OAAO,uCAAuC;CAC3F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/scraping-bee-proxy-mode.d.ts
4
+ declare const ScrapingbeeScrapingBeeProxyModeInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeScrapingBeeProxyModeOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeScrapingBeeProxyMode: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeScrapingBeeProxyMode };
9
+ //# sourceMappingURL=scraping-bee-proxy-mode.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scraping-bee-proxy-mode.d.cts","names":[],"sources":["../../src/actions/scraping-bee-proxy-mode.ts"],"mappings":";;;cAIa,oCAAA,EAAsC,CAAA,CAAE,UAcQ;AAAA,cAChD,qCAAA,EAAuC,CAAA,CAAE,UAKG;AAAA,cAE5C,+BAAA,gCAA+B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/scraping-bee-proxy-mode.d.ts
4
+ declare const ScrapingbeeScrapingBeeProxyModeInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeScrapingBeeProxyModeOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeScrapingBeeProxyMode: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeScrapingBeeProxyMode };
9
+ //# sourceMappingURL=scraping-bee-proxy-mode.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scraping-bee-proxy-mode.d.mts","names":[],"sources":["../../src/actions/scraping-bee-proxy-mode.ts"],"mappings":";;;cAIa,oCAAA,EAAsC,CAAA,CAAE,UAcQ;AAAA,cAChD,qCAAA,EAAuC,CAAA,CAAE,UAKG;AAAA,cAE5C,+BAAA,gCAA+B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,40 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const scrapingbeeScrapingBeeProxyMode = action("SCRAPINGBEE_SCRAPING_BEE_PROXY_MODE", {
4
+ slug: "scrapingbee-scraping-bee-proxy-mode",
5
+ name: "ScrapingBee Proxy Mode",
6
+ description: "Tool to fetch web content via ScrapingBee's Proxy Mode. Use when you need to route requests through ScrapingBee proxies with optional JS rendering and resource blocking.",
7
+ input: z.object({
8
+ url: z.string().describe("The target URL to scrape through ScrapingBee Proxy Mode."),
9
+ cookies: z.object({}).describe("Cookies to send with the request as a key-value mapping.").optional(),
10
+ headers: z.object({}).describe("Additional HTTP headers to forward to the target site. Each header will be prefixed with 'Spb-' and forwarded when forward_headers is enabled.").optional(),
11
+ timeout: z.number().int().default(6e4).describe("Request timeout in milliseconds.").optional(),
12
+ block_ads: z.boolean().describe("Block ads and tracking scripts to speed up scraping.").optional(),
13
+ render_js: z.boolean().describe("Enable JavaScript rendering before returning content.").optional(),
14
+ session_id: z.number().int().describe("Session identifier (integer) to keep the same IP for multiple requests. Use the same number to maintain consistent IP across requests.").optional(),
15
+ js_scenario: z.string().describe("Custom JavaScript scenario name for advanced interactions.").optional(),
16
+ country_code: z.enum([
17
+ "us",
18
+ "de",
19
+ "fr",
20
+ "uk",
21
+ "ca",
22
+ "it",
23
+ "es"
24
+ ]).describe("Two-letter country code for geolocated proxy (e.g., 'us', 'fr').").optional(),
25
+ premium_proxy: z.boolean().describe("Use premium proxies for higher reliability.").optional(),
26
+ stealth_proxy: z.boolean().describe("Use stealth proxy mode for extra undetectability.").optional(),
27
+ block_resources: z.boolean().describe("Block images and CSS resources to speed up scraping. Only relevant when render_js is enabled.").optional(),
28
+ forward_headers: z.boolean().default(false).describe("Forward original request headers to the target site.").optional()
29
+ }).describe("Request parameters for ScrapingBee Proxy Mode."),
30
+ output: z.object({
31
+ content: z.string().describe("Raw HTML content or screenshot returned by ScrapingBee."),
32
+ cookies: z.object({}).describe("Cookies received from the proxied request."),
33
+ headers: z.object({}).describe("HTTP response headers from the proxied request."),
34
+ status_code: z.number().int().describe("HTTP status code returned by ScrapingBee Proxy Mode.")
35
+ }).describe("Response model for ScrapingBee Proxy Mode.")
36
+ });
37
+ //#endregion
38
+ export { scrapingbeeScrapingBeeProxyMode };
39
+
40
+ //# sourceMappingURL=scraping-bee-proxy-mode.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scraping-bee-proxy-mode.mjs","names":[],"sources":["../../src/actions/scraping-bee-proxy-mode.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeScrapingBeeProxyModeInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The target URL to scrape through ScrapingBee Proxy Mode.\"),\n cookies: z.object({}).describe(\"Cookies to send with the request as a key-value mapping.\").optional(),\n headers: z.object({}).describe(\"Additional HTTP headers to forward to the target site. Each header will be prefixed with 'Spb-' and forwarded when forward_headers is enabled.\").optional(),\n timeout: z.number().int().default(60000).describe(\"Request timeout in milliseconds.\").optional(),\n block_ads: z.boolean().describe(\"Block ads and tracking scripts to speed up scraping.\").optional(),\n render_js: z.boolean().describe(\"Enable JavaScript rendering before returning content.\").optional(),\n session_id: z.number().int().describe(\"Session identifier (integer) to keep the same IP for multiple requests. Use the same number to maintain consistent IP across requests.\").optional(),\n js_scenario: z.string().describe(\"Custom JavaScript scenario name for advanced interactions.\").optional(),\n country_code: z.enum([\"us\", \"de\", \"fr\", \"uk\", \"ca\", \"it\", \"es\"]).describe(\"Two-letter country code for geolocated proxy (e.g., 'us', 'fr').\").optional(),\n premium_proxy: z.boolean().describe(\"Use premium proxies for higher reliability.\").optional(),\n stealth_proxy: z.boolean().describe(\"Use stealth proxy mode for extra undetectability.\").optional(),\n block_resources: z.boolean().describe(\"Block images and CSS resources to speed up scraping. Only relevant when render_js is enabled.\").optional(),\n forward_headers: z.boolean().default(false).describe(\"Forward original request headers to the target site.\").optional(),\n}).describe(\"Request parameters for ScrapingBee Proxy Mode.\");\nexport const ScrapingbeeScrapingBeeProxyModeOutput: z.ZodTypeAny = z.object({\n content: z.string().describe(\"Raw HTML content or screenshot returned by ScrapingBee.\"),\n cookies: z.object({}).describe(\"Cookies received from the proxied request.\"),\n headers: z.object({}).describe(\"HTTP response headers from the proxied request.\"),\n status_code: z.number().int().describe(\"HTTP status code returned by ScrapingBee Proxy Mode.\"),\n}).describe(\"Response model for ScrapingBee Proxy Mode.\");\n\nexport const scrapingbeeScrapingBeeProxyMode = action(\"SCRAPINGBEE_SCRAPING_BEE_PROXY_MODE\", {\n slug: \"scrapingbee-scraping-bee-proxy-mode\",\n name: \"ScrapingBee Proxy Mode\",\n description: \"Tool to fetch web content via ScrapingBee's Proxy Mode. Use when you need to route requests through ScrapingBee proxies with optional JS rendering and resource blocking.\",\n input: ScrapingbeeScrapingBeeProxyModeInput,\n output: ScrapingbeeScrapingBeeProxyModeOutput,\n});\n"],"mappings":";;AA0BA,MAAa,kCAAkC,OAAO,uCAAuC;CAC3F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA1BgE,EAAE,OAAO;EACzE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D;EACnF,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACpG,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,gJAAgJ,CAAC,CAAC,SAAS;EAC1L,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,GAAK,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;EAC/F,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EACjG,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;EAClG,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wIAAwI,CAAC,CAAC,SAAS;EACzL,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS;EACxG,cAAc,EAAE,KAAK;GAAC;GAAM;GAAM;GAAM;GAAM;GAAM;GAAM;EAAI,CAAC,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;EACvJ,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;EAC5F,eAAe,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;EAClG,iBAAiB,EAAE,QAAQ,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;EAChJ,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CACxH,CAAC,CAAC,CAAC,SAAS,gDAYH;CACP,QAZiE,EAAE,OAAO;EAC1E,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;EACtF,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,4CAA4C;EAC3E,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,iDAAiD;EAChF,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sDAAsD;CAC/F,CAAC,CAAC,CAAC,SAAS,4CAOF;AACV,CAAC"}
@@ -0,0 +1,34 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/stealth-proxy.ts
4
+ const ScrapingbeeStealthProxyInput = zod.z.object({
5
+ url: zod.z.string().describe("The URL of the webpage to retrieve using stealth proxy."),
6
+ wait: zod.z.number().int().describe("Wait time in milliseconds before returning the response.").optional(),
7
+ device: zod.z.enum(["desktop", "mobile"]).describe("Device type to emulate during rendering. Options: 'desktop' or 'mobile'.").optional(),
8
+ cookies: zod.z.string().describe("Custom cookies in semicolon-separated format: 'name1=value1;name2=value2'.").optional(),
9
+ js_render: zod.z.boolean().default(false).describe("Render JavaScript on the page before returning the response.").optional(),
10
+ country_code: zod.z.string().describe("Two-letter country code for proxy geolocation (e.g., 'us', 'de').").optional(),
11
+ extract_rules: zod.z.string().describe("Extraction rules in JSON string for structured data.").optional(),
12
+ premium_proxy: zod.z.boolean().default(false).describe("Use premium proxies for higher reliability.").optional(),
13
+ stealth_proxy: zod.z.boolean().default(false).describe("Enable stealth proxy mode. Use when the target site blocks bots.").optional(),
14
+ block_resources: zod.z.boolean().default(false).describe("Block images, styles, and fonts for faster loads.").optional(),
15
+ forward_headers: zod.z.boolean().default(false).describe("Forward original request headers from the browser.").optional(),
16
+ return_page_source: zod.z.boolean().default(false).describe("Return the raw page source instead of text.").optional()
17
+ }).describe("Request parameters for Stealth Proxy.");
18
+ const ScrapingbeeStealthProxyOutput = zod.z.object({
19
+ body: zod.z.string().describe("Scraped content or page source returned by ScrapingBee."),
20
+ headers: zod.z.object({}).describe("Headers returned from the scraped page."),
21
+ status_code: zod.z.number().int().describe("HTTP status code from the target site via ScrapingBee."),
22
+ original_status: zod.z.number().int().describe("Original HTTP status code from the final destination before proxy.").nullable().optional()
23
+ }).describe("Response model for Stealth Proxy.");
24
+ const scrapingbeeStealthProxy = require_action.action("SCRAPINGBEE_STEALTH_PROXY", {
25
+ slug: "scrapingbee-stealth-proxy",
26
+ name: "ScrapingBee Stealth Proxy",
27
+ description: "Tool to perform stealth scraping via ScrapingBee's Stealth Proxy mode. Use when you encounter anti-bot measures requiring undetectable requests.",
28
+ input: ScrapingbeeStealthProxyInput,
29
+ output: ScrapingbeeStealthProxyOutput
30
+ });
31
+ //#endregion
32
+ exports.scrapingbeeStealthProxy = scrapingbeeStealthProxy;
33
+
34
+ //# sourceMappingURL=stealth-proxy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stealth-proxy.cjs","names":["z","action"],"sources":["../../src/actions/stealth-proxy.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeStealthProxyInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The URL of the webpage to retrieve using stealth proxy.\"),\n wait: z.number().int().describe(\"Wait time in milliseconds before returning the response.\").optional(),\n device: z.enum([\"desktop\", \"mobile\"]).describe(\"Device type to emulate during rendering. Options: 'desktop' or 'mobile'.\").optional(),\n cookies: z.string().describe(\"Custom cookies in semicolon-separated format: 'name1=value1;name2=value2'.\").optional(),\n js_render: z.boolean().default(false).describe(\"Render JavaScript on the page before returning the response.\").optional(),\n country_code: z.string().describe(\"Two-letter country code for proxy geolocation (e.g., 'us', 'de').\").optional(),\n extract_rules: z.string().describe(\"Extraction rules in JSON string for structured data.\").optional(),\n premium_proxy: z.boolean().default(false).describe(\"Use premium proxies for higher reliability.\").optional(),\n stealth_proxy: z.boolean().default(false).describe(\"Enable stealth proxy mode. Use when the target site blocks bots.\").optional(),\n block_resources: z.boolean().default(false).describe(\"Block images, styles, and fonts for faster loads.\").optional(),\n forward_headers: z.boolean().default(false).describe(\"Forward original request headers from the browser.\").optional(),\n return_page_source: z.boolean().default(false).describe(\"Return the raw page source instead of text.\").optional(),\n}).describe(\"Request parameters for Stealth Proxy.\");\nexport const ScrapingbeeStealthProxyOutput: z.ZodTypeAny = z.object({\n body: z.string().describe(\"Scraped content or page source returned by ScrapingBee.\"),\n headers: z.object({}).describe(\"Headers returned from the scraped page.\"),\n status_code: z.number().int().describe(\"HTTP status code from the target site via ScrapingBee.\"),\n original_status: z.number().int().describe(\"Original HTTP status code from the final destination before proxy.\").nullable().optional(),\n}).describe(\"Response model for Stealth Proxy.\");\n\nexport const scrapingbeeStealthProxy = action(\"SCRAPINGBEE_STEALTH_PROXY\", {\n slug: \"scrapingbee-stealth-proxy\",\n name: \"ScrapingBee Stealth Proxy\",\n description: \"Tool to perform stealth scraping via ScrapingBee's Stealth Proxy mode. Use when you encounter anti-bot measures requiring undetectable requests.\",\n input: ScrapingbeeStealthProxyInput,\n output: ScrapingbeeStealthProxyOutput,\n});\n"],"mappings":";;;AAIA,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;CAClF,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACrG,QAAQA,IAAAA,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;CACpI,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;CACpH,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;CACxH,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;CAChH,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CACpG,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CAC3G,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;CAChI,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CACnH,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CACpH,oBAAoBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;AAClH,CAAC,CAAC,CAAC,SAAS,uCAAuC;AACnD,MAAa,gCAA8CA,IAAAA,EAAE,OAAO;CAClE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;CACnF,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yCAAyC;CACxE,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wDAAwD;CAC/F,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvI,CAAC,CAAC,CAAC,SAAS,mCAAmC;AAE/C,MAAa,0BAA0BC,eAAAA,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/stealth-proxy.d.ts
4
+ declare const ScrapingbeeStealthProxyInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeStealthProxyOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeStealthProxy: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeStealthProxy };
9
+ //# sourceMappingURL=stealth-proxy.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stealth-proxy.d.cts","names":[],"sources":["../../src/actions/stealth-proxy.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAaO;AAAA,cACvC,6BAAA,EAA+B,CAAA,CAAE,UAKE;AAAA,cAEnC,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/stealth-proxy.d.ts
4
+ declare const ScrapingbeeStealthProxyInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeStealthProxyOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeStealthProxy: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeStealthProxy };
9
+ //# sourceMappingURL=stealth-proxy.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stealth-proxy.d.mts","names":[],"sources":["../../src/actions/stealth-proxy.ts"],"mappings":";;;cAIa,4BAAA,EAA8B,CAAA,CAAE,UAaO;AAAA,cACvC,6BAAA,EAA+B,CAAA,CAAE,UAKE;AAAA,cAEnC,uBAAA,gCAAuB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,31 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const scrapingbeeStealthProxy = action("SCRAPINGBEE_STEALTH_PROXY", {
4
+ slug: "scrapingbee-stealth-proxy",
5
+ name: "ScrapingBee Stealth Proxy",
6
+ description: "Tool to perform stealth scraping via ScrapingBee's Stealth Proxy mode. Use when you encounter anti-bot measures requiring undetectable requests.",
7
+ input: z.object({
8
+ url: z.string().describe("The URL of the webpage to retrieve using stealth proxy."),
9
+ wait: z.number().int().describe("Wait time in milliseconds before returning the response.").optional(),
10
+ device: z.enum(["desktop", "mobile"]).describe("Device type to emulate during rendering. Options: 'desktop' or 'mobile'.").optional(),
11
+ cookies: z.string().describe("Custom cookies in semicolon-separated format: 'name1=value1;name2=value2'.").optional(),
12
+ js_render: z.boolean().default(false).describe("Render JavaScript on the page before returning the response.").optional(),
13
+ country_code: z.string().describe("Two-letter country code for proxy geolocation (e.g., 'us', 'de').").optional(),
14
+ extract_rules: z.string().describe("Extraction rules in JSON string for structured data.").optional(),
15
+ premium_proxy: z.boolean().default(false).describe("Use premium proxies for higher reliability.").optional(),
16
+ stealth_proxy: z.boolean().default(false).describe("Enable stealth proxy mode. Use when the target site blocks bots.").optional(),
17
+ block_resources: z.boolean().default(false).describe("Block images, styles, and fonts for faster loads.").optional(),
18
+ forward_headers: z.boolean().default(false).describe("Forward original request headers from the browser.").optional(),
19
+ return_page_source: z.boolean().default(false).describe("Return the raw page source instead of text.").optional()
20
+ }).describe("Request parameters for Stealth Proxy."),
21
+ output: z.object({
22
+ body: z.string().describe("Scraped content or page source returned by ScrapingBee."),
23
+ headers: z.object({}).describe("Headers returned from the scraped page."),
24
+ status_code: z.number().int().describe("HTTP status code from the target site via ScrapingBee."),
25
+ original_status: z.number().int().describe("Original HTTP status code from the final destination before proxy.").nullable().optional()
26
+ }).describe("Response model for Stealth Proxy.")
27
+ });
28
+ //#endregion
29
+ export { scrapingbeeStealthProxy };
30
+
31
+ //# sourceMappingURL=stealth-proxy.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stealth-proxy.mjs","names":[],"sources":["../../src/actions/stealth-proxy.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeStealthProxyInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The URL of the webpage to retrieve using stealth proxy.\"),\n wait: z.number().int().describe(\"Wait time in milliseconds before returning the response.\").optional(),\n device: z.enum([\"desktop\", \"mobile\"]).describe(\"Device type to emulate during rendering. Options: 'desktop' or 'mobile'.\").optional(),\n cookies: z.string().describe(\"Custom cookies in semicolon-separated format: 'name1=value1;name2=value2'.\").optional(),\n js_render: z.boolean().default(false).describe(\"Render JavaScript on the page before returning the response.\").optional(),\n country_code: z.string().describe(\"Two-letter country code for proxy geolocation (e.g., 'us', 'de').\").optional(),\n extract_rules: z.string().describe(\"Extraction rules in JSON string for structured data.\").optional(),\n premium_proxy: z.boolean().default(false).describe(\"Use premium proxies for higher reliability.\").optional(),\n stealth_proxy: z.boolean().default(false).describe(\"Enable stealth proxy mode. Use when the target site blocks bots.\").optional(),\n block_resources: z.boolean().default(false).describe(\"Block images, styles, and fonts for faster loads.\").optional(),\n forward_headers: z.boolean().default(false).describe(\"Forward original request headers from the browser.\").optional(),\n return_page_source: z.boolean().default(false).describe(\"Return the raw page source instead of text.\").optional(),\n}).describe(\"Request parameters for Stealth Proxy.\");\nexport const ScrapingbeeStealthProxyOutput: z.ZodTypeAny = z.object({\n body: z.string().describe(\"Scraped content or page source returned by ScrapingBee.\"),\n headers: z.object({}).describe(\"Headers returned from the scraped page.\"),\n status_code: z.number().int().describe(\"HTTP status code from the target site via ScrapingBee.\"),\n original_status: z.number().int().describe(\"Original HTTP status code from the final destination before proxy.\").nullable().optional(),\n}).describe(\"Response model for Stealth Proxy.\");\n\nexport const scrapingbeeStealthProxy = action(\"SCRAPINGBEE_STEALTH_PROXY\", {\n slug: \"scrapingbee-stealth-proxy\",\n name: \"ScrapingBee Stealth Proxy\",\n description: \"Tool to perform stealth scraping via ScrapingBee's Stealth Proxy mode. Use when you encounter anti-bot measures requiring undetectable requests.\",\n input: ScrapingbeeStealthProxyInput,\n output: ScrapingbeeStealthProxyOutput,\n});\n"],"mappings":";;AAyBA,MAAa,0BAA0B,OAAO,6BAA6B;CACzE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAzBwD,EAAE,OAAO;EACjE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;EAClF,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACrG,QAAQ,EAAE,KAAK,CAAC,WAAW,QAAQ,CAAC,CAAC,CAAC,SAAS,0EAA0E,CAAC,CAAC,SAAS;EACpI,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,4EAA4E,CAAC,CAAC,SAAS;EACpH,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS;EACxH,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;EAChH,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EACpG,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;EAC3G,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,kEAAkE,CAAC,CAAC,SAAS;EAChI,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;EACnH,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;EACpH,oBAAoB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,6CAA6C,CAAC,CAAC,SAAS;CAClH,CAAC,CAAC,CAAC,SAAS,uCAYH;CACP,QAZyD,EAAE,OAAO;EAClE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD;EACnF,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,yCAAyC;EACxE,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wDAAwD;EAC/F,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvI,CAAC,CAAC,CAAC,SAAS,mCAOF;AACV,CAAC"}
@@ -0,0 +1,22 @@
1
+ const require_action = require("../action.cjs");
2
+ let zod = require("zod");
3
+ //#region src/actions/usage-stats.ts
4
+ const ScrapingbeeUsageStatsInput = zod.z.object({}).describe("Request model for ScrapingBee usage statistics.");
5
+ const ScrapingbeeUsageStatsOutput = zod.z.object({
6
+ max_api_credit: zod.z.number().int().describe("Maximum API credits allowed in the billing period."),
7
+ max_concurrency: zod.z.number().int().describe("Maximum number of concurrent requests allowed."),
8
+ used_api_credit: zod.z.number().int().describe("Number of API credits used in the current billing period."),
9
+ current_concurrency: zod.z.number().int().describe("Current number of concurrent requests."),
10
+ renewal_subscription_date: zod.z.string().describe("ISO8601 date/time of the next subscription renewal.")
11
+ }).describe("Response model for ScrapingBee usage statistics.");
12
+ const scrapingbeeUsageStats = require_action.action("SCRAPINGBEE_USAGE_STATS", {
13
+ slug: "scrapingbee-usage-stats",
14
+ name: "ScrapingBee Usage Stats",
15
+ description: "Tool to retrieve usage statistics for your ScrapingBee account. Use when you need to monitor remaining credits and request count.",
16
+ input: ScrapingbeeUsageStatsInput,
17
+ output: ScrapingbeeUsageStatsOutput
18
+ });
19
+ //#endregion
20
+ exports.scrapingbeeUsageStats = scrapingbeeUsageStats;
21
+
22
+ //# sourceMappingURL=usage-stats.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-stats.cjs","names":["z","action"],"sources":["../../src/actions/usage-stats.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeUsageStatsInput: z.ZodTypeAny = z.object({}).describe(\"Request model for ScrapingBee usage statistics.\");\nexport const ScrapingbeeUsageStatsOutput: z.ZodTypeAny = z.object({\n max_api_credit: z.number().int().describe(\"Maximum API credits allowed in the billing period.\"),\n max_concurrency: z.number().int().describe(\"Maximum number of concurrent requests allowed.\"),\n used_api_credit: z.number().int().describe(\"Number of API credits used in the current billing period.\"),\n current_concurrency: z.number().int().describe(\"Current number of concurrent requests.\"),\n renewal_subscription_date: z.string().describe(\"ISO8601 date/time of the next subscription renewal.\"),\n}).describe(\"Response model for ScrapingBee usage statistics.\");\n\nexport const scrapingbeeUsageStats = action(\"SCRAPINGBEE_USAGE_STATS\", {\n slug: \"scrapingbee-usage-stats\",\n name: \"ScrapingBee Usage Stats\",\n description: \"Tool to retrieve usage statistics for your ScrapingBee account. Use when you need to monitor remaining credits and request count.\",\n input: ScrapingbeeUsageStatsInput,\n output: ScrapingbeeUsageStatsOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,iDAAiD;AAC/H,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD;CAC9F,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gDAAgD;CAC3F,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D;CACtG,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC;CACvF,2BAA2BA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD;AACtG,CAAC,CAAC,CAAC,SAAS,kDAAkD;AAE9D,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/usage-stats.d.ts
4
+ declare const ScrapingbeeUsageStatsInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeUsageStatsOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeUsageStats: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeUsageStats };
9
+ //# sourceMappingURL=usage-stats.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-stats.d.cts","names":[],"sources":["../../src/actions/usage-stats.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAAqF;AAAA,cACnH,2BAAA,EAA6B,CAAA,CAAE,UAMmB;AAAA,cAElD,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ //#region src/actions/usage-stats.d.ts
4
+ declare const ScrapingbeeUsageStatsInput: z.ZodTypeAny;
5
+ declare const ScrapingbeeUsageStatsOutput: z.ZodTypeAny;
6
+ declare const scrapingbeeUsageStats: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
7
+ //#endregion
8
+ export { scrapingbeeUsageStats };
9
+ //# sourceMappingURL=usage-stats.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-stats.d.mts","names":[],"sources":["../../src/actions/usage-stats.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAAqF;AAAA,cACnH,2BAAA,EAA6B,CAAA,CAAE,UAMmB;AAAA,cAElD,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
@@ -0,0 +1,19 @@
1
+ import { action } from "../action.mjs";
2
+ import { z } from "zod";
3
+ const scrapingbeeUsageStats = action("SCRAPINGBEE_USAGE_STATS", {
4
+ slug: "scrapingbee-usage-stats",
5
+ name: "ScrapingBee Usage Stats",
6
+ description: "Tool to retrieve usage statistics for your ScrapingBee account. Use when you need to monitor remaining credits and request count.",
7
+ input: z.object({}).describe("Request model for ScrapingBee usage statistics."),
8
+ output: z.object({
9
+ max_api_credit: z.number().int().describe("Maximum API credits allowed in the billing period."),
10
+ max_concurrency: z.number().int().describe("Maximum number of concurrent requests allowed."),
11
+ used_api_credit: z.number().int().describe("Number of API credits used in the current billing period."),
12
+ current_concurrency: z.number().int().describe("Current number of concurrent requests."),
13
+ renewal_subscription_date: z.string().describe("ISO8601 date/time of the next subscription renewal.")
14
+ }).describe("Response model for ScrapingBee usage statistics.")
15
+ });
16
+ //#endregion
17
+ export { scrapingbeeUsageStats };
18
+
19
+ //# sourceMappingURL=usage-stats.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-stats.mjs","names":[],"sources":["../../src/actions/usage-stats.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapingbeeUsageStatsInput: z.ZodTypeAny = z.object({}).describe(\"Request model for ScrapingBee usage statistics.\");\nexport const ScrapingbeeUsageStatsOutput: z.ZodTypeAny = z.object({\n max_api_credit: z.number().int().describe(\"Maximum API credits allowed in the billing period.\"),\n max_concurrency: z.number().int().describe(\"Maximum number of concurrent requests allowed.\"),\n used_api_credit: z.number().int().describe(\"Number of API credits used in the current billing period.\"),\n current_concurrency: z.number().int().describe(\"Current number of concurrent requests.\"),\n renewal_subscription_date: z.string().describe(\"ISO8601 date/time of the next subscription renewal.\"),\n}).describe(\"Response model for ScrapingBee usage statistics.\");\n\nexport const scrapingbeeUsageStats = action(\"SCRAPINGBEE_USAGE_STATS\", {\n slug: \"scrapingbee-usage-stats\",\n name: \"ScrapingBee Usage Stats\",\n description: \"Tool to retrieve usage statistics for your ScrapingBee account. Use when you need to monitor remaining credits and request count.\",\n input: ScrapingbeeUsageStatsInput,\n output: ScrapingbeeUsageStatsOutput,\n});\n"],"mappings":";;AAaA,MAAa,wBAAwB,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAbsD,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,iDAarE;CACP,QAbuD,EAAE,OAAO;EAChE,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD;EAC9F,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,gDAAgD;EAC3F,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D;EACtG,qBAAqB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC;EACvF,2BAA2B,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD;CACtG,CAAC,CAAC,CAAC,SAAS,kDAOF;AACV,CAAC"}
package/dist/app.cjs ADDED
@@ -0,0 +1,9 @@
1
+ //#region src/app.ts
2
+ const scrapingbee = (0, require("@keystrokehq/keystroke/app").defineApp)({
3
+ slug: "scrapingbee",
4
+ auth: "keystroke"
5
+ });
6
+ //#endregion
7
+ exports.scrapingbee = scrapingbee;
8
+
9
+ //# sourceMappingURL=app.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const scrapingbee = defineApp({\n slug: \"scrapingbee\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,eAAA,uCAAA,CAAA,CAAA,UAAA,CAAwB;CACnC,MAAM;CACN,MAAM;AACR,CAAC"}
package/dist/app.d.cts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const scrapingbee: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { scrapingbee };
5
+ //# sourceMappingURL=app.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,WAAA,6BAAW,GAAA,+BAAA,UAAA"}
package/dist/app.d.mts ADDED
@@ -0,0 +1,5 @@
1
+ //#region src/app.d.ts
2
+ declare const scrapingbee: import("@keystrokehq/app").App<import("@keystrokehq/shared").Credential>;
3
+ //#endregion
4
+ export { scrapingbee };
5
+ //# sourceMappingURL=app.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,WAAA,6BAAW,GAAA,+BAAA,UAAA"}
package/dist/app.mjs ADDED
@@ -0,0 +1,10 @@
1
+ import { defineApp } from "@keystrokehq/keystroke/app";
2
+ //#region src/app.ts
3
+ const scrapingbee = defineApp({
4
+ slug: "scrapingbee",
5
+ auth: "keystroke"
6
+ });
7
+ //#endregion
8
+ export { scrapingbee };
9
+
10
+ //# sourceMappingURL=app.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const scrapingbee = defineApp({\n slug: \"scrapingbee\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,cAAc,UAAU;CACnC,MAAM;CACN,MAAM;AACR,CAAC"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const scrapingbeeCatalog = {
4
+ "slug": "scrapingbee",
5
+ "name": "Scrapingbee",
6
+ "description": "ScrapingBee is a web scraping API that handles headless browsers and proxy rotation, allowing developers to extract HTML from any website in a single API call.",
7
+ "category": "AI Web Scraping",
8
+ "logo": "https://logos.composio.dev/api/scrapingbee",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ exports.scrapingbeeCatalog = scrapingbeeCatalog;
14
+
15
+ //# sourceMappingURL=catalog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const scrapingbeeCatalog = {\n \"slug\": \"scrapingbee\",\n \"name\": \"Scrapingbee\",\n \"description\": \"ScrapingBee is a web scraping API that handles headless browsers and proxy rotation, allowing developers to extract HTML from any website in a single API call.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/scrapingbee\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,qBAAqB;CAChC,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const scrapingbeeCatalog: {
4
+ readonly slug: "scrapingbee";
5
+ readonly name: "Scrapingbee";
6
+ readonly description: "ScrapingBee is a web scraping API that handles headless browsers and proxy rotation, allowing developers to extract HTML from any website in a single API call.";
7
+ readonly category: "AI Web Scraping";
8
+ readonly logo: "https://logos.composio.dev/api/scrapingbee";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { scrapingbeeCatalog };
14
+ //# sourceMappingURL=catalog.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,kBAAA;EAAA"}
@@ -0,0 +1,14 @@
1
+ //#region src/catalog.d.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ declare const scrapingbeeCatalog: {
4
+ readonly slug: "scrapingbee";
5
+ readonly name: "Scrapingbee";
6
+ readonly description: "ScrapingBee is a web scraping API that handles headless browsers and proxy rotation, allowing developers to extract HTML from any website in a single API call.";
7
+ readonly category: "AI Web Scraping";
8
+ readonly logo: "https://logos.composio.dev/api/scrapingbee";
9
+ readonly authKind: "keystroke";
10
+ readonly oauthScopes: readonly [];
11
+ };
12
+ //#endregion
13
+ export { scrapingbeeCatalog };
14
+ //# sourceMappingURL=catalog.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,kBAAA;EAAA"}
@@ -0,0 +1,15 @@
1
+ //#region src/catalog.ts
2
+ /** Generated — kept in sync with src/app.ts. */
3
+ const scrapingbeeCatalog = {
4
+ "slug": "scrapingbee",
5
+ "name": "Scrapingbee",
6
+ "description": "ScrapingBee is a web scraping API that handles headless browsers and proxy rotation, allowing developers to extract HTML from any website in a single API call.",
7
+ "category": "AI Web Scraping",
8
+ "logo": "https://logos.composio.dev/api/scrapingbee",
9
+ "authKind": "keystroke",
10
+ "oauthScopes": []
11
+ };
12
+ //#endregion
13
+ export { scrapingbeeCatalog };
14
+
15
+ //# sourceMappingURL=catalog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const scrapingbeeCatalog = {\n \"slug\": \"scrapingbee\",\n \"name\": \"Scrapingbee\",\n \"description\": \"ScrapingBee is a web scraping API that handles headless browsers and proxy rotation, allowing developers to extract HTML from any website in a single API call.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/scrapingbee\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,qBAAqB;CAChC,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
@@ -0,0 +1,18 @@
1
+ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "scrapingbee";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeScrapingbeeTool(tool, args) {
7
+ const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ exports.executeScrapingbeeTool = executeScrapingbeeTool;
17
+
18
+ //# sourceMappingURL=execute.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"scrapingbee\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeScrapingbeeTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,uBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
@@ -0,0 +1,18 @@
1
+ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
2
+ //#region src/execute.ts
3
+ const APP_SLUG = "scrapingbee";
4
+ /** Pinned app version — updated on regeneration. */
5
+ const APP_VERSION = "20260615_00";
6
+ async function executeScrapingbeeTool(tool, args) {
7
+ const { result } = await createKeystrokeClient().tools.execute({
8
+ app: APP_SLUG,
9
+ tool,
10
+ arguments: args,
11
+ version: APP_VERSION
12
+ });
13
+ return result;
14
+ }
15
+ //#endregion
16
+ export { executeScrapingbeeTool };
17
+
18
+ //# sourceMappingURL=execute.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"scrapingbee\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeScrapingbeeTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,uBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
package/dist/index.cjs ADDED
@@ -0,0 +1,16 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_app = require("./app.cjs");
3
+ const require_catalog = require("./catalog.cjs");
4
+ const require_data_extraction = require("./actions/data-extraction.cjs");
5
+ const require_html_fetch = require("./actions/html-fetch.cjs");
6
+ const require_scraping_bee_proxy_mode = require("./actions/scraping-bee-proxy-mode.cjs");
7
+ const require_stealth_proxy = require("./actions/stealth-proxy.cjs");
8
+ const require_usage_stats = require("./actions/usage-stats.cjs");
9
+ require("./actions/index.cjs");
10
+ exports.scrapingbee = require_app.scrapingbee;
11
+ exports.scrapingbeeCatalog = require_catalog.scrapingbeeCatalog;
12
+ exports.scrapingbeeDataExtraction = require_data_extraction.scrapingbeeDataExtraction;
13
+ exports.scrapingbeeHtmlFetch = require_html_fetch.scrapingbeeHtmlFetch;
14
+ exports.scrapingbeeScrapingBeeProxyMode = require_scraping_bee_proxy_mode.scrapingbeeScrapingBeeProxyMode;
15
+ exports.scrapingbeeStealthProxy = require_stealth_proxy.scrapingbeeStealthProxy;
16
+ exports.scrapingbeeUsageStats = require_usage_stats.scrapingbeeUsageStats;
@@ -0,0 +1,8 @@
1
+ import { scrapingbeeDataExtraction } from "./actions/data-extraction.cjs";
2
+ import { scrapingbeeHtmlFetch } from "./actions/html-fetch.cjs";
3
+ import { scrapingbeeScrapingBeeProxyMode } from "./actions/scraping-bee-proxy-mode.cjs";
4
+ import { scrapingbeeStealthProxy } from "./actions/stealth-proxy.cjs";
5
+ import { scrapingbeeUsageStats } from "./actions/usage-stats.cjs";
6
+ import { scrapingbee } from "./app.cjs";
7
+ import { scrapingbeeCatalog } from "./catalog.cjs";
8
+ export { scrapingbee, scrapingbeeCatalog, scrapingbeeDataExtraction, scrapingbeeHtmlFetch, scrapingbeeScrapingBeeProxyMode, scrapingbeeStealthProxy, scrapingbeeUsageStats };
@@ -0,0 +1,8 @@
1
+ import { scrapingbeeDataExtraction } from "./actions/data-extraction.mjs";
2
+ import { scrapingbeeHtmlFetch } from "./actions/html-fetch.mjs";
3
+ import { scrapingbeeScrapingBeeProxyMode } from "./actions/scraping-bee-proxy-mode.mjs";
4
+ import { scrapingbeeStealthProxy } from "./actions/stealth-proxy.mjs";
5
+ import { scrapingbeeUsageStats } from "./actions/usage-stats.mjs";
6
+ import { scrapingbee } from "./app.mjs";
7
+ import { scrapingbeeCatalog } from "./catalog.mjs";
8
+ export { scrapingbee, scrapingbeeCatalog, scrapingbeeDataExtraction, scrapingbeeHtmlFetch, scrapingbeeScrapingBeeProxyMode, scrapingbeeStealthProxy, scrapingbeeUsageStats };
package/dist/index.mjs ADDED
@@ -0,0 +1,9 @@
1
+ import { scrapingbee } from "./app.mjs";
2
+ import { scrapingbeeCatalog } from "./catalog.mjs";
3
+ import { scrapingbeeDataExtraction } from "./actions/data-extraction.mjs";
4
+ import { scrapingbeeHtmlFetch } from "./actions/html-fetch.mjs";
5
+ import { scrapingbeeScrapingBeeProxyMode } from "./actions/scraping-bee-proxy-mode.mjs";
6
+ import { scrapingbeeStealthProxy } from "./actions/stealth-proxy.mjs";
7
+ import { scrapingbeeUsageStats } from "./actions/usage-stats.mjs";
8
+ import "./actions/index.mjs";
9
+ export { scrapingbee, scrapingbeeCatalog, scrapingbeeDataExtraction, scrapingbeeHtmlFetch, scrapingbeeScrapingBeeProxyMode, scrapingbeeStealthProxy, scrapingbeeUsageStats };
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@keystrokehq/scrapingbee",
3
+ "version": "0.1.0",
4
+ "publishConfig": {
5
+ "access": "public",
6
+ "registry": "https://registry.npmjs.org"
7
+ },
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "git+https://github.com/keystrokehq/keystroke.git",
11
+ "directory": "packages/integrations/scrapingbee"
12
+ },
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "sideEffects": false,
17
+ "type": "module",
18
+ "main": "./dist/index.cjs",
19
+ "module": "./dist/index.mjs",
20
+ "types": "./dist/index.d.mts",
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/index.d.mts",
24
+ "import": "./dist/index.mjs",
25
+ "require": "./dist/index.cjs"
26
+ },
27
+ "./actions": {
28
+ "types": "./dist/actions/index.d.mts",
29
+ "import": "./dist/actions/index.mjs",
30
+ "require": "./dist/actions/index.cjs"
31
+ }
32
+ },
33
+ "peerDependencies": {
34
+ "@keystrokehq/keystroke": "^0.1.4",
35
+ "zod": "^4.4.3"
36
+ },
37
+ "devDependencies": {
38
+ "@keystrokehq/keystroke": "link:../../keystroke",
39
+ "@types/node": "^25.9.1",
40
+ "tsdown": "^0.22.0",
41
+ "typescript": "^6.0.3",
42
+ "zod": "^4.4.3"
43
+ },
44
+ "scripts": {
45
+ "build": "tsdown",
46
+ "dev": "tsdown --watch --no-clean",
47
+ "typecheck": "tsc --noEmit"
48
+ }
49
+ }