@keystrokehq/scrapfly 0.1.4 → 0.1.6

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 (109) hide show
  1. package/dist/action.cjs.map +1 -1
  2. package/dist/action.mjs.map +1 -1
  3. package/dist/actions/capture-screenshot-head.cjs +1 -0
  4. package/dist/actions/capture-screenshot-head.cjs.map +1 -1
  5. package/dist/actions/capture-screenshot-head.d.cts +3 -17
  6. package/dist/actions/capture-screenshot-head.d.cts.map +1 -1
  7. package/dist/actions/capture-screenshot-head.d.mts +3 -17
  8. package/dist/actions/capture-screenshot-head.d.mts.map +1 -1
  9. package/dist/actions/capture-screenshot-head.mjs +1 -0
  10. package/dist/actions/capture-screenshot-head.mjs.map +1 -1
  11. package/dist/actions/capture-screenshot.cjs +1 -0
  12. package/dist/actions/capture-screenshot.cjs.map +1 -1
  13. package/dist/actions/capture-screenshot.d.cts +3 -16
  14. package/dist/actions/capture-screenshot.d.cts.map +1 -1
  15. package/dist/actions/capture-screenshot.d.mts +3 -16
  16. package/dist/actions/capture-screenshot.d.mts.map +1 -1
  17. package/dist/actions/capture-screenshot.mjs +1 -0
  18. package/dist/actions/capture-screenshot.mjs.map +1 -1
  19. package/dist/actions/create-crawler.cjs +1 -0
  20. package/dist/actions/create-crawler.cjs.map +1 -1
  21. package/dist/actions/create-crawler.d.cts +3 -14
  22. package/dist/actions/create-crawler.d.cts.map +1 -1
  23. package/dist/actions/create-crawler.d.mts +3 -14
  24. package/dist/actions/create-crawler.d.mts.map +1 -1
  25. package/dist/actions/create-crawler.mjs +1 -0
  26. package/dist/actions/create-crawler.mjs.map +1 -1
  27. package/dist/actions/extract-data.cjs +1 -0
  28. package/dist/actions/extract-data.cjs.map +1 -1
  29. package/dist/actions/extract-data.d.cts +3 -10
  30. package/dist/actions/extract-data.d.cts.map +1 -1
  31. package/dist/actions/extract-data.d.mts +3 -10
  32. package/dist/actions/extract-data.d.mts.map +1 -1
  33. package/dist/actions/extract-data.mjs +1 -0
  34. package/dist/actions/extract-data.mjs.map +1 -1
  35. package/dist/actions/get-account-info.cjs +1 -0
  36. package/dist/actions/get-account-info.cjs.map +1 -1
  37. package/dist/actions/get-account-info.d.cts +3 -1
  38. package/dist/actions/get-account-info.d.cts.map +1 -1
  39. package/dist/actions/get-account-info.d.mts +3 -1
  40. package/dist/actions/get-account-info.d.mts.map +1 -1
  41. package/dist/actions/get-account-info.mjs +1 -0
  42. package/dist/actions/get-account-info.mjs.map +1 -1
  43. package/dist/actions/get-crawler-artifact.cjs +1 -0
  44. package/dist/actions/get-crawler-artifact.cjs.map +1 -1
  45. package/dist/actions/get-crawler-artifact.d.cts +3 -4
  46. package/dist/actions/get-crawler-artifact.d.cts.map +1 -1
  47. package/dist/actions/get-crawler-artifact.d.mts +3 -4
  48. package/dist/actions/get-crawler-artifact.d.mts.map +1 -1
  49. package/dist/actions/get-crawler-artifact.mjs +1 -0
  50. package/dist/actions/get-crawler-artifact.mjs.map +1 -1
  51. package/dist/actions/get-crawler-contents.cjs +1 -0
  52. package/dist/actions/get-crawler-contents.cjs.map +1 -1
  53. package/dist/actions/get-crawler-contents.d.cts +3 -8
  54. package/dist/actions/get-crawler-contents.d.cts.map +1 -1
  55. package/dist/actions/get-crawler-contents.d.mts +3 -8
  56. package/dist/actions/get-crawler-contents.d.mts.map +1 -1
  57. package/dist/actions/get-crawler-contents.mjs +1 -0
  58. package/dist/actions/get-crawler-contents.mjs.map +1 -1
  59. package/dist/actions/get-crawler-status.cjs +1 -0
  60. package/dist/actions/get-crawler-status.cjs.map +1 -1
  61. package/dist/actions/get-crawler-status.d.cts +3 -3
  62. package/dist/actions/get-crawler-status.d.cts.map +1 -1
  63. package/dist/actions/get-crawler-status.d.mts +3 -3
  64. package/dist/actions/get-crawler-status.d.mts.map +1 -1
  65. package/dist/actions/get-crawler-status.mjs +1 -0
  66. package/dist/actions/get-crawler-status.mjs.map +1 -1
  67. package/dist/actions/get-crawler-urls.cjs +1 -0
  68. package/dist/actions/get-crawler-urls.cjs.map +1 -1
  69. package/dist/actions/get-crawler-urls.d.cts +3 -6
  70. package/dist/actions/get-crawler-urls.d.cts.map +1 -1
  71. package/dist/actions/get-crawler-urls.d.mts +3 -6
  72. package/dist/actions/get-crawler-urls.d.mts.map +1 -1
  73. package/dist/actions/get-crawler-urls.mjs +1 -0
  74. package/dist/actions/get-crawler-urls.mjs.map +1 -1
  75. package/dist/actions/scrape-post.cjs +1 -0
  76. package/dist/actions/scrape-post.cjs.map +1 -1
  77. package/dist/actions/scrape-post.d.cts +3 -14
  78. package/dist/actions/scrape-post.d.cts.map +1 -1
  79. package/dist/actions/scrape-post.d.mts +3 -14
  80. package/dist/actions/scrape-post.d.mts.map +1 -1
  81. package/dist/actions/scrape-post.mjs +1 -0
  82. package/dist/actions/scrape-post.mjs.map +1 -1
  83. package/dist/actions/scrape-with-put.cjs +1 -0
  84. package/dist/actions/scrape-with-put.cjs.map +1 -1
  85. package/dist/actions/scrape-with-put.d.cts +3 -14
  86. package/dist/actions/scrape-with-put.d.cts.map +1 -1
  87. package/dist/actions/scrape-with-put.d.mts +3 -14
  88. package/dist/actions/scrape-with-put.d.mts.map +1 -1
  89. package/dist/actions/scrape-with-put.mjs +1 -0
  90. package/dist/actions/scrape-with-put.mjs.map +1 -1
  91. package/dist/actions/scrape.cjs +1 -0
  92. package/dist/actions/scrape.cjs.map +1 -1
  93. package/dist/actions/scrape.d.cts +3 -15
  94. package/dist/actions/scrape.d.cts.map +1 -1
  95. package/dist/actions/scrape.d.mts +3 -15
  96. package/dist/actions/scrape.d.mts.map +1 -1
  97. package/dist/actions/scrape.mjs +1 -0
  98. package/dist/actions/scrape.mjs.map +1 -1
  99. package/dist/app.cjs +5 -2
  100. package/dist/app.cjs.map +1 -1
  101. package/dist/app.d.cts +7 -1
  102. package/dist/app.d.cts.map +1 -1
  103. package/dist/app.d.mts +7 -1
  104. package/dist/app.d.mts.map +1 -1
  105. package/dist/app.mjs +3 -2
  106. package/dist/app.mjs.map +1 -1
  107. package/dist/index.d.cts +1 -1
  108. package/dist/index.d.mts +1 -1
  109. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"action.cjs","names":["scrapfly","executeScrapflyTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { scrapfly } from \"./app\";\nimport { executeScrapflyTool } 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<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return scrapfly.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeScrapflyTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,SAAS,OAAO;EACrB,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,oBAAoB,MAAM,KAAgC,CAAC;EAC3F;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"action.cjs","names":["scrapfly","executeScrapflyTool"],"sources":["../src/action.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { scrapfly } from \"./app\";\nimport { executeScrapflyTool } 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<TInput extends z.ZodType, TOutput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: TOutput;\n },\n): AppAction<TInput, TOutput, typeof scrapfly.credential> {\n return scrapfly.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 executeScrapflyTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAOA,SAAgB,OACd,MACA,KAOwD;CACxD,OAAOA,YAAAA,SAAS,OAAO;EACrB,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,oBAAoB,MAAM,KAAgC,CAAC;EAC3F;CACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { scrapfly } from \"./app\";\nimport { executeScrapflyTool } 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<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return scrapfly.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeScrapflyTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,SAAS,OAAO;EACrB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,oBAAoB,MAAM,KAAgC,CAAC;EAC3F;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { scrapfly } from \"./app\";\nimport { executeScrapflyTool } 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<TInput extends z.ZodType, TOutput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: TOutput;\n },\n): AppAction<TInput, TOutput, typeof scrapfly.credential> {\n return scrapfly.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 executeScrapflyTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAOA,SAAgB,OACd,MACA,KAOwD;CACxD,OAAO,SAAS,OAAO;EACrB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,oBAAoB,MAAM,KAAgC,CAAC;EAC3F;CACF,CAAC;AACH"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/capture-screenshot-head.ts
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot-head.cjs","names":["z","action"],"sources":["../../src/actions/capture-screenshot-head.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyCaptureScreenshotHeadInput = z.object({\n js: z.string().describe(\"Base64-encoded JavaScript to execute on the page before screenshot (max 16KB).\").optional(),\n url: z.string().describe(\"Target URL to capture screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching for repeated requests. Default is false.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).describe(\"Image format options for screenshot.\").optional(),\n capture: z.string().describe(\"Capture area: 'viewport' for visible area, 'fullpage' for entire page, or a CSS selector/XPath for specific element.\").optional(),\n country: z.string().describe(\"Proxy location using ISO 3166 alpha-2 country code (e.g., 'US', 'FR', 'DE'). Default is 'us'.\").optional(),\n options: z.string().describe(\"Comma-separated flags: 'dark_mode' for dark theme, 'block_banners' to hide ads/popups, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Maximum request time in milliseconds (range: 60000-120000). Default is 60000.\").optional(),\n cache_ttl: z.number().int().describe(\"Cache duration in seconds. Default is 86400 (24 hours).\").optional(),\n resolution: z.string().describe(\"Screen dimensions as widthxheight (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Auto-scroll to bottom of page to trigger lazy-loaded content. Default is false.\").optional(),\n cache_clear: z.boolean().describe(\"Force cache refresh by clearing existing cached result. Default is false.\").optional(),\n rendering_wait: z.number().int().describe(\"Delay after page load before capturing screenshot, in milliseconds. Default is 1000.\").optional(),\n vision_deficiency: z.enum([\"none\", \"deuteranopia\", \"protanopia\", \"tritanopia\", \"achromatopsia\", \"blurredVision\"]).describe(\"Accessibility simulation options for vision deficiency.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing screenshot.\").optional(),\n}).describe(\"Request model for capturing screenshot metadata without returning the image body.\");\nexport const ScrapflyCaptureScreenshotHeadOutput = z.object({\n success: z.boolean().describe(\"Whether the screenshot was captured successfully.\").nullable(),\n screenshot_url: z.string().describe(\"URL to download the captured screenshot image.\").nullable(),\n}).passthrough().describe(\"Response model for screenshot HEAD request containing metadata.\");\n\nexport const scrapflyCaptureScreenshotHead = action(\"SCRAPFLY_CAPTURE_SCREENSHOT_HEAD\", {\n slug: \"scrapfly-capture-screenshot-head\",\n name: \"Capture Screenshot Metadata (HEAD)\",\n description: \"Tool to capture screenshot metadata without downloading the image body. Use this for async screenshot workflows where you need the URL to retrieve the image later. Returns the screenshot URL in response, saving bandwidth compared to full screenshot retrieval.\",\n input: ScrapflyCaptureScreenshotHeadInput,\n output: ScrapflyCaptureScreenshotHeadOutput,\n});\n"],"mappings":";;;AAIA,MAAa,qCAAqCA,IAAAA,EAAE,OAAO;CACzD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;CACnH,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CAC/D,OAAOA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAChG,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAO;EAAO;EAAQ;CAAK,CAAC,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CACxG,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH,CAAC,CAAC,SAAS;CAC9J,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;CACvI,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+HAA+H,CAAC,CAAC,SAAS;CACvK,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS;CAC7H,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACzG,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;CACzH,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;CAC9H,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CACxH,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC3I,mBAAmBA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAgB;EAAc;EAAc;EAAiB;CAAe,CAAC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAC/L,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS;AACpH,CAAC,CAAC,CAAC,SAAS,mFAAmF;AAC/F,MAAa,sCAAsCA,IAAAA,EAAE,OAAO;CAC1D,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC5F,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;AACjG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iEAAiE;AAE3F,MAAa,gCAAgCC,eAAAA,OAAO,oCAAoC;CACtF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"capture-screenshot-head.cjs","names":["z","action"],"sources":["../../src/actions/capture-screenshot-head.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyCaptureScreenshotHeadInput = z.object({\n js: z.string().describe(\"Base64-encoded JavaScript to execute on the page before screenshot (max 16KB).\").optional(),\n url: z.string().describe(\"Target URL to capture screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching for repeated requests. Default is false.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).describe(\"Image format options for screenshot.\").optional(),\n capture: z.string().describe(\"Capture area: 'viewport' for visible area, 'fullpage' for entire page, or a CSS selector/XPath for specific element.\").optional(),\n country: z.string().describe(\"Proxy location using ISO 3166 alpha-2 country code (e.g., 'US', 'FR', 'DE'). Default is 'us'.\").optional(),\n options: z.string().describe(\"Comma-separated flags: 'dark_mode' for dark theme, 'block_banners' to hide ads/popups, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Maximum request time in milliseconds (range: 60000-120000). Default is 60000.\").optional(),\n cache_ttl: z.number().int().describe(\"Cache duration in seconds. Default is 86400 (24 hours).\").optional(),\n resolution: z.string().describe(\"Screen dimensions as widthxheight (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Auto-scroll to bottom of page to trigger lazy-loaded content. Default is false.\").optional(),\n cache_clear: z.boolean().describe(\"Force cache refresh by clearing existing cached result. Default is false.\").optional(),\n rendering_wait: z.number().int().describe(\"Delay after page load before capturing screenshot, in milliseconds. Default is 1000.\").optional(),\n vision_deficiency: z.enum([\"none\", \"deuteranopia\", \"protanopia\", \"tritanopia\", \"achromatopsia\", \"blurredVision\"]).describe(\"Accessibility simulation options for vision deficiency.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing screenshot.\").optional(),\n}).describe(\"Request model for capturing screenshot metadata without returning the image body.\");\nexport const ScrapflyCaptureScreenshotHeadOutput = z.object({\n success: z.boolean().describe(\"Whether the screenshot was captured successfully.\").nullable(),\n screenshot_url: z.string().describe(\"URL to download the captured screenshot image.\").nullable(),\n}).passthrough().describe(\"Response model for screenshot HEAD request containing metadata.\");\n\nexport const scrapflyCaptureScreenshotHead: AppAction<\n typeof ScrapflyCaptureScreenshotHeadInput,\n typeof ScrapflyCaptureScreenshotHeadOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_CAPTURE_SCREENSHOT_HEAD\", {\n slug: \"scrapfly-capture-screenshot-head\",\n name: \"Capture Screenshot Metadata (HEAD)\",\n description: \"Tool to capture screenshot metadata without downloading the image body. Use this for async screenshot workflows where you need the URL to retrieve the image later. Returns the screenshot URL in response, saving bandwidth compared to full screenshot retrieval.\",\n input: ScrapflyCaptureScreenshotHeadInput,\n output: ScrapflyCaptureScreenshotHeadOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,qCAAqCA,IAAAA,EAAE,OAAO;CACzD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;CACnH,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;CAC/D,OAAOA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAChG,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAO;EAAO;EAAQ;CAAK,CAAC,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CACxG,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH,CAAC,CAAC,SAAS;CAC9J,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;CACvI,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+HAA+H,CAAC,CAAC,SAAS;CACvK,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS;CAC7H,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACzG,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;CACzH,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;CAC9H,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CACxH,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CAC3I,mBAAmBA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAgB;EAAc;EAAc;EAAiB;CAAe,CAAC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CAC/L,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS;AACpH,CAAC,CAAC,CAAC,SAAS,mFAAmF;AAC/F,MAAa,sCAAsCA,IAAAA,EAAE,OAAO;CAC1D,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC5F,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;AACjG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iEAAiE;AAE3F,MAAa,gCAITC,eAAAA,OAAO,oCAAoC;CAC7C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/capture-screenshot-head.d.ts
@@ -34,23 +36,7 @@ declare const ScrapflyCaptureScreenshotHeadOutput: z.ZodObject<{
34
36
  success: z.ZodNullable<z.ZodBoolean>;
35
37
  screenshot_url: z.ZodNullable<z.ZodString>;
36
38
  }, z.core.$loose>;
37
- declare const scrapflyCaptureScreenshotHead: import("@keystrokehq/action").WorkflowActionDefinition<{
38
- url: string;
39
- js?: string | undefined;
40
- cache?: boolean | undefined;
41
- format?: "jpg" | "png" | "webp" | "gif" | undefined;
42
- capture?: string | undefined;
43
- country?: string | undefined;
44
- options?: string | undefined;
45
- timeout?: number | undefined;
46
- cache_ttl?: number | undefined;
47
- resolution?: string | undefined;
48
- auto_scroll?: boolean | undefined;
49
- cache_clear?: boolean | undefined;
50
- rendering_wait?: number | undefined;
51
- vision_deficiency?: "none" | "deuteranopia" | "protanopia" | "tritanopia" | "achromatopsia" | "blurredVision" | undefined;
52
- wait_for_selector?: string | undefined;
53
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
39
+ declare const scrapflyCaptureScreenshotHead: AppAction<typeof ScrapflyCaptureScreenshotHeadInput, typeof ScrapflyCaptureScreenshotHeadOutput, typeof scrapfly.credential>;
54
40
  //#endregion
55
41
  export { scrapflyCaptureScreenshotHead };
56
42
  //# sourceMappingURL=capture-screenshot-head.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot-head.d.cts","names":[],"sources":["../../src/actions/capture-screenshot-head.ts"],"mappings":";;;cAIa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiBlC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;cAKnC,6BAAA,gCAA6B,wBAAA"}
1
+ {"version":3,"file":"capture-screenshot-head.d.cts","names":[],"sources":["../../src/actions/capture-screenshot-head.ts"],"mappings":";;;;;cAMa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiBlC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;cAKnC,6BAAA,EAA+B,SAAA,QACnC,kCAAA,SACA,mCAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/capture-screenshot-head.d.ts
@@ -34,23 +36,7 @@ declare const ScrapflyCaptureScreenshotHeadOutput: z.ZodObject<{
34
36
  success: z.ZodNullable<z.ZodBoolean>;
35
37
  screenshot_url: z.ZodNullable<z.ZodString>;
36
38
  }, z.core.$loose>;
37
- declare const scrapflyCaptureScreenshotHead: import("@keystrokehq/action").WorkflowActionDefinition<{
38
- url: string;
39
- js?: string | undefined;
40
- cache?: boolean | undefined;
41
- format?: "jpg" | "png" | "webp" | "gif" | undefined;
42
- capture?: string | undefined;
43
- country?: string | undefined;
44
- options?: string | undefined;
45
- timeout?: number | undefined;
46
- cache_ttl?: number | undefined;
47
- resolution?: string | undefined;
48
- auto_scroll?: boolean | undefined;
49
- cache_clear?: boolean | undefined;
50
- rendering_wait?: number | undefined;
51
- vision_deficiency?: "none" | "deuteranopia" | "protanopia" | "tritanopia" | "achromatopsia" | "blurredVision" | undefined;
52
- wait_for_selector?: string | undefined;
53
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
39
+ declare const scrapflyCaptureScreenshotHead: AppAction<typeof ScrapflyCaptureScreenshotHeadInput, typeof ScrapflyCaptureScreenshotHeadOutput, typeof scrapfly.credential>;
54
40
  //#endregion
55
41
  export { scrapflyCaptureScreenshotHead };
56
42
  //# sourceMappingURL=capture-screenshot-head.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot-head.d.mts","names":[],"sources":["../../src/actions/capture-screenshot-head.ts"],"mappings":";;;cAIa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiBlC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;cAKnC,6BAAA,gCAA6B,wBAAA"}
1
+ {"version":3,"file":"capture-screenshot-head.d.mts","names":[],"sources":["../../src/actions/capture-screenshot-head.ts"],"mappings":";;;;;cAMa,kCAAA,EAAkC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiBlC,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;cAKnC,6BAAA,EAA+B,SAAA,QACnC,kCAAA,SACA,mCAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  const scrapflyCaptureScreenshotHead = action("SCRAPFLY_CAPTURE_SCREENSHOT_HEAD", {
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot-head.mjs","names":[],"sources":["../../src/actions/capture-screenshot-head.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyCaptureScreenshotHeadInput = z.object({\n js: z.string().describe(\"Base64-encoded JavaScript to execute on the page before screenshot (max 16KB).\").optional(),\n url: z.string().describe(\"Target URL to capture screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching for repeated requests. Default is false.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).describe(\"Image format options for screenshot.\").optional(),\n capture: z.string().describe(\"Capture area: 'viewport' for visible area, 'fullpage' for entire page, or a CSS selector/XPath for specific element.\").optional(),\n country: z.string().describe(\"Proxy location using ISO 3166 alpha-2 country code (e.g., 'US', 'FR', 'DE'). Default is 'us'.\").optional(),\n options: z.string().describe(\"Comma-separated flags: 'dark_mode' for dark theme, 'block_banners' to hide ads/popups, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Maximum request time in milliseconds (range: 60000-120000). Default is 60000.\").optional(),\n cache_ttl: z.number().int().describe(\"Cache duration in seconds. Default is 86400 (24 hours).\").optional(),\n resolution: z.string().describe(\"Screen dimensions as widthxheight (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Auto-scroll to bottom of page to trigger lazy-loaded content. Default is false.\").optional(),\n cache_clear: z.boolean().describe(\"Force cache refresh by clearing existing cached result. Default is false.\").optional(),\n rendering_wait: z.number().int().describe(\"Delay after page load before capturing screenshot, in milliseconds. Default is 1000.\").optional(),\n vision_deficiency: z.enum([\"none\", \"deuteranopia\", \"protanopia\", \"tritanopia\", \"achromatopsia\", \"blurredVision\"]).describe(\"Accessibility simulation options for vision deficiency.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing screenshot.\").optional(),\n}).describe(\"Request model for capturing screenshot metadata without returning the image body.\");\nexport const ScrapflyCaptureScreenshotHeadOutput = z.object({\n success: z.boolean().describe(\"Whether the screenshot was captured successfully.\").nullable(),\n screenshot_url: z.string().describe(\"URL to download the captured screenshot image.\").nullable(),\n}).passthrough().describe(\"Response model for screenshot HEAD request containing metadata.\");\n\nexport const scrapflyCaptureScreenshotHead = action(\"SCRAPFLY_CAPTURE_SCREENSHOT_HEAD\", {\n slug: \"scrapfly-capture-screenshot-head\",\n name: \"Capture Screenshot Metadata (HEAD)\",\n description: \"Tool to capture screenshot metadata without downloading the image body. Use this for async screenshot workflows where you need the URL to retrieve the image later. Returns the screenshot URL in response, saving bandwidth compared to full screenshot retrieval.\",\n input: ScrapflyCaptureScreenshotHeadInput,\n output: ScrapflyCaptureScreenshotHeadOutput,\n});\n"],"mappings":";;AA0BA,MAAa,gCAAgC,OAAO,oCAAoC;CACtF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA1BgD,EAAE,OAAO;EACzD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;EACnH,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;EAC/D,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EAChG,QAAQ,EAAE,KAAK;GAAC;GAAO;GAAO;GAAQ;EAAK,CAAC,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;EACxG,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH,CAAC,CAAC,SAAS;EAC9J,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;EACvI,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,+HAA+H,CAAC,CAAC,SAAS;EACvK,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS;EAC7H,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EACzG,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;EACzH,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;EAC9H,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;EACxH,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;EAC3I,mBAAmB,EAAE,KAAK;GAAC;GAAQ;GAAgB;GAAc;GAAc;GAAiB;EAAe,CAAC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EAC/L,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS;CACpH,CAAC,CAAC,CAAC,SAAS,mFAUH;CACP,QAViD,EAAE,OAAO;EAC1D,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;EAC5F,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;CACjG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iEAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"capture-screenshot-head.mjs","names":[],"sources":["../../src/actions/capture-screenshot-head.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyCaptureScreenshotHeadInput = z.object({\n js: z.string().describe(\"Base64-encoded JavaScript to execute on the page before screenshot (max 16KB).\").optional(),\n url: z.string().describe(\"Target URL to capture screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching for repeated requests. Default is false.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).describe(\"Image format options for screenshot.\").optional(),\n capture: z.string().describe(\"Capture area: 'viewport' for visible area, 'fullpage' for entire page, or a CSS selector/XPath for specific element.\").optional(),\n country: z.string().describe(\"Proxy location using ISO 3166 alpha-2 country code (e.g., 'US', 'FR', 'DE'). Default is 'us'.\").optional(),\n options: z.string().describe(\"Comma-separated flags: 'dark_mode' for dark theme, 'block_banners' to hide ads/popups, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Maximum request time in milliseconds (range: 60000-120000). Default is 60000.\").optional(),\n cache_ttl: z.number().int().describe(\"Cache duration in seconds. Default is 86400 (24 hours).\").optional(),\n resolution: z.string().describe(\"Screen dimensions as widthxheight (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Auto-scroll to bottom of page to trigger lazy-loaded content. Default is false.\").optional(),\n cache_clear: z.boolean().describe(\"Force cache refresh by clearing existing cached result. Default is false.\").optional(),\n rendering_wait: z.number().int().describe(\"Delay after page load before capturing screenshot, in milliseconds. Default is 1000.\").optional(),\n vision_deficiency: z.enum([\"none\", \"deuteranopia\", \"protanopia\", \"tritanopia\", \"achromatopsia\", \"blurredVision\"]).describe(\"Accessibility simulation options for vision deficiency.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing screenshot.\").optional(),\n}).describe(\"Request model for capturing screenshot metadata without returning the image body.\");\nexport const ScrapflyCaptureScreenshotHeadOutput = z.object({\n success: z.boolean().describe(\"Whether the screenshot was captured successfully.\").nullable(),\n screenshot_url: z.string().describe(\"URL to download the captured screenshot image.\").nullable(),\n}).passthrough().describe(\"Response model for screenshot HEAD request containing metadata.\");\n\nexport const scrapflyCaptureScreenshotHead: AppAction<\n typeof ScrapflyCaptureScreenshotHeadInput,\n typeof ScrapflyCaptureScreenshotHeadOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_CAPTURE_SCREENSHOT_HEAD\", {\n slug: \"scrapfly-capture-screenshot-head\",\n name: \"Capture Screenshot Metadata (HEAD)\",\n description: \"Tool to capture screenshot metadata without downloading the image body. Use this for async screenshot workflows where you need the URL to retrieve the image later. Returns the screenshot URL in response, saving bandwidth compared to full screenshot retrieval.\",\n input: ScrapflyCaptureScreenshotHeadInput,\n output: ScrapflyCaptureScreenshotHeadOutput,\n});\n"],"mappings":";;;AA4BA,MAAa,gCAIT,OAAO,oCAAoC;CAC7C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA9BgD,EAAE,OAAO;EACzD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;EACnH,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC;EAC/D,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EAChG,QAAQ,EAAE,KAAK;GAAC;GAAO;GAAO;GAAQ;EAAK,CAAC,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;EACxG,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,sHAAsH,CAAC,CAAC,SAAS;EAC9J,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;EACvI,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,+HAA+H,CAAC,CAAC,SAAS;EACvK,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+EAA+E,CAAC,CAAC,SAAS;EAC7H,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EACzG,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,8EAA8E,CAAC,CAAC,SAAS;EACzH,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;EAC9H,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;EACxH,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;EAC3I,mBAAmB,EAAE,KAAK;GAAC;GAAQ;GAAgB;GAAc;GAAc;GAAiB;EAAe,CAAC,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EAC/L,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS;CACpH,CAAC,CAAC,CAAC,SAAS,mFAcH;CACP,QAdiD,EAAE,OAAO;EAC1D,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;EAC5F,gBAAgB,EAAE,OAAO,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;CACjG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,iEAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/capture-screenshot.ts
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot.cjs","names":["z","action"],"sources":["../../src/actions/capture-screenshot.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyCaptureScreenshotInput = z.object({\n js: z.string().describe(\"JavaScript code to execute on the page before capturing screenshot.\").optional(),\n url: z.string().describe(\"Target URL to capture a screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching of the screenshot result.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).default(\"jpg\").describe(\"Screenshot image format (jpg, png, webp, or gif). Default is jpg.\").optional(),\n capture: z.string().describe(\"Area to capture: 'viewport' for visible area, 'fullpage' for entire page, or a CSS/XPath selector for a specific element. Default is viewport.\").optional(),\n country: z.string().describe(\"Proxy geolocation country code (e.g., 'US', 'FR', 'DE') to capture screenshot from that region.\").optional(),\n options: z.string().describe(\"Comma-separated screenshot options: 'dark_mode' for dark theme, 'block_banners' to hide cookie/privacy banners, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Request timeout in milliseconds. Default is 30000 (30 seconds).\").optional(),\n cache_ttl: z.number().int().describe(\"Cache time-to-live in seconds. Only applies when cache is enabled.\").optional(),\n resolution: z.string().describe(\"Screen resolution in WIDTHxHEIGHT format (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Automatically scroll down the page before capturing. Useful for lazy-loaded content.\").optional(),\n cache_clear: z.boolean().describe(\"Clear and refresh cache for this request.\").optional(),\n rendering_wait: z.number().int().describe(\"Time to wait after page load before capturing screenshot, in milliseconds. Useful for waiting for dynamic content.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing. Screenshot is taken after this element appears.\").optional(),\n}).describe(\"Request model for capturing a screenshot of a web page.\");\nconst ScrapflyCaptureScreenshot_FileDownloadableSchema = z.object({\n name: z.string().describe(\"Name of the file\").nullable(),\n s3url: z.string().describe(\"S3 URL of the downloaded file.\").nullable(),\n mimetype: z.string().describe(\"Mime type of the file.\").nullable(),\n}).passthrough();\nexport const ScrapflyCaptureScreenshotOutput = z.object({\n screenshot: ScrapflyCaptureScreenshot_FileDownloadableSchema.nullable(),\n}).passthrough().describe(\"Response model for screenshot capture containing the image file.\");\n\nexport const scrapflyCaptureScreenshot = action(\"SCRAPFLY_CAPTURE_SCREENSHOT\", {\n slug: \"scrapfly-capture-screenshot\",\n name: \"Capture Website Screenshot\",\n description: \"Tool to capture a full-page or viewport screenshot of a website. Use when you need to take a screenshot with options like JS rendering, custom resolution, or accessibility testing. Returns the screenshot image directly. Supports vision deficiency simulations and dark mode.\",\n input: ScrapflyCaptureScreenshotInput,\n output: ScrapflyCaptureScreenshotOutput,\n});\n"],"mappings":";;;AAIA,MAAa,iCAAiCA,IAAAA,EAAE,OAAO;CACrD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;CACxG,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACjE,OAAOA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACjF,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAO;EAAO;EAAQ;CAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;CACpJ,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gJAAgJ,CAAC,CAAC,SAAS;CACxL,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG,CAAC,CAAC,SAAS;CACzI,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;CAChM,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CAC/G,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CACpH,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF,CAAC,CAAC,SAAS;CAChI,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CACnI,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACxF,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CACzK,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;AACzJ,CAAC,CAAC,CAAC,SAAS,yDAAyD;AACrE,MAAM,mDAAmDA,IAAAA,EAAE,OAAO;CAChE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS;CACvD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACtE,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACnE,CAAC,CAAC,CAAC,YAAY;AACf,MAAa,kCAAkCA,IAAAA,EAAE,OAAO,EACtD,YAAY,iDAAiD,SAAS,EACxE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,kEAAkE;AAE5F,MAAa,4BAA4BC,eAAAA,OAAO,+BAA+B;CAC7E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"capture-screenshot.cjs","names":["z","action"],"sources":["../../src/actions/capture-screenshot.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyCaptureScreenshotInput = z.object({\n js: z.string().describe(\"JavaScript code to execute on the page before capturing screenshot.\").optional(),\n url: z.string().describe(\"Target URL to capture a screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching of the screenshot result.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).default(\"jpg\").describe(\"Screenshot image format (jpg, png, webp, or gif). Default is jpg.\").optional(),\n capture: z.string().describe(\"Area to capture: 'viewport' for visible area, 'fullpage' for entire page, or a CSS/XPath selector for a specific element. Default is viewport.\").optional(),\n country: z.string().describe(\"Proxy geolocation country code (e.g., 'US', 'FR', 'DE') to capture screenshot from that region.\").optional(),\n options: z.string().describe(\"Comma-separated screenshot options: 'dark_mode' for dark theme, 'block_banners' to hide cookie/privacy banners, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Request timeout in milliseconds. Default is 30000 (30 seconds).\").optional(),\n cache_ttl: z.number().int().describe(\"Cache time-to-live in seconds. Only applies when cache is enabled.\").optional(),\n resolution: z.string().describe(\"Screen resolution in WIDTHxHEIGHT format (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Automatically scroll down the page before capturing. Useful for lazy-loaded content.\").optional(),\n cache_clear: z.boolean().describe(\"Clear and refresh cache for this request.\").optional(),\n rendering_wait: z.number().int().describe(\"Time to wait after page load before capturing screenshot, in milliseconds. Useful for waiting for dynamic content.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing. Screenshot is taken after this element appears.\").optional(),\n}).describe(\"Request model for capturing a screenshot of a web page.\");\nconst ScrapflyCaptureScreenshot_FileDownloadableSchema = z.object({\n name: z.string().describe(\"Name of the file\").nullable(),\n s3url: z.string().describe(\"S3 URL of the downloaded file.\").nullable(),\n mimetype: z.string().describe(\"Mime type of the file.\").nullable(),\n}).passthrough();\nexport const ScrapflyCaptureScreenshotOutput = z.object({\n screenshot: ScrapflyCaptureScreenshot_FileDownloadableSchema.nullable(),\n}).passthrough().describe(\"Response model for screenshot capture containing the image file.\");\n\nexport const scrapflyCaptureScreenshot: AppAction<\n typeof ScrapflyCaptureScreenshotInput,\n typeof ScrapflyCaptureScreenshotOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_CAPTURE_SCREENSHOT\", {\n slug: \"scrapfly-capture-screenshot\",\n name: \"Capture Website Screenshot\",\n description: \"Tool to capture a full-page or viewport screenshot of a website. Use when you need to take a screenshot with options like JS rendering, custom resolution, or accessibility testing. Returns the screenshot image directly. Supports vision deficiency simulations and dark mode.\",\n input: ScrapflyCaptureScreenshotInput,\n output: ScrapflyCaptureScreenshotOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,iCAAiCA,IAAAA,EAAE,OAAO;CACrD,IAAIA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;CACxG,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACjE,OAAOA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACjF,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAO;EAAO;EAAQ;CAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;CACpJ,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gJAAgJ,CAAC,CAAC,SAAS;CACxL,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG,CAAC,CAAC,SAAS;CACzI,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;CAChM,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CAC/G,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CACpH,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF,CAAC,CAAC,SAAS;CAChI,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CACnI,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACxF,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CACzK,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;AACzJ,CAAC,CAAC,CAAC,SAAS,yDAAyD;AACrE,MAAM,mDAAmDA,IAAAA,EAAE,OAAO;CAChE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS;CACvD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACtE,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACnE,CAAC,CAAC,CAAC,YAAY;AACf,MAAa,kCAAkCA,IAAAA,EAAE,OAAO,EACtD,YAAY,iDAAiD,SAAS,EACxE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,kEAAkE;AAE5F,MAAa,4BAITC,eAAAA,OAAO,+BAA+B;CACxC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/capture-screenshot.d.ts
@@ -29,22 +31,7 @@ declare const ScrapflyCaptureScreenshotOutput: z.ZodObject<{
29
31
  mimetype: z.ZodNullable<z.ZodString>;
30
32
  }, z.core.$loose>>;
31
33
  }, z.core.$loose>;
32
- declare const scrapflyCaptureScreenshot: import("@keystrokehq/action").WorkflowActionDefinition<{
33
- url: string;
34
- js?: string | undefined;
35
- cache?: boolean | undefined;
36
- format?: "jpg" | "png" | "webp" | "gif" | undefined;
37
- capture?: string | undefined;
38
- country?: string | undefined;
39
- options?: string | undefined;
40
- timeout?: number | undefined;
41
- cache_ttl?: number | undefined;
42
- resolution?: string | undefined;
43
- auto_scroll?: boolean | undefined;
44
- cache_clear?: boolean | undefined;
45
- rendering_wait?: number | undefined;
46
- wait_for_selector?: string | undefined;
47
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
34
+ declare const scrapflyCaptureScreenshot: AppAction<typeof ScrapflyCaptureScreenshotInput, typeof ScrapflyCaptureScreenshotOutput, typeof scrapfly.credential>;
48
35
  //#endregion
49
36
  export { scrapflyCaptureScreenshot };
50
37
  //# sourceMappingURL=capture-screenshot.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot.d.cts","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"mappings":";;;cAIa,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAqB9B,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;cAI/B,yBAAA,gCAAyB,wBAAA"}
1
+ {"version":3,"file":"capture-screenshot.d.cts","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"mappings":";;;;;cAMa,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAqB9B,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;cAI/B,yBAAA,EAA2B,SAAA,QAC/B,8BAAA,SACA,+BAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/capture-screenshot.d.ts
@@ -29,22 +31,7 @@ declare const ScrapflyCaptureScreenshotOutput: z.ZodObject<{
29
31
  mimetype: z.ZodNullable<z.ZodString>;
30
32
  }, z.core.$loose>>;
31
33
  }, z.core.$loose>;
32
- declare const scrapflyCaptureScreenshot: import("@keystrokehq/action").WorkflowActionDefinition<{
33
- url: string;
34
- js?: string | undefined;
35
- cache?: boolean | undefined;
36
- format?: "jpg" | "png" | "webp" | "gif" | undefined;
37
- capture?: string | undefined;
38
- country?: string | undefined;
39
- options?: string | undefined;
40
- timeout?: number | undefined;
41
- cache_ttl?: number | undefined;
42
- resolution?: string | undefined;
43
- auto_scroll?: boolean | undefined;
44
- cache_clear?: boolean | undefined;
45
- rendering_wait?: number | undefined;
46
- wait_for_selector?: string | undefined;
47
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
34
+ declare const scrapflyCaptureScreenshot: AppAction<typeof ScrapflyCaptureScreenshotInput, typeof ScrapflyCaptureScreenshotOutput, typeof scrapfly.credential>;
48
35
  //#endregion
49
36
  export { scrapflyCaptureScreenshot };
50
37
  //# sourceMappingURL=capture-screenshot.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot.d.mts","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"mappings":";;;cAIa,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAqB9B,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;cAI/B,yBAAA,gCAAyB,wBAAA"}
1
+ {"version":3,"file":"capture-screenshot.d.mts","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"mappings":";;;;;cAMa,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;cAqB9B,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;cAI/B,yBAAA,EAA2B,SAAA,QAC/B,8BAAA,SACA,+BAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  //#region src/actions/capture-screenshot.ts
@@ -1 +1 @@
1
- {"version":3,"file":"capture-screenshot.mjs","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyCaptureScreenshotInput = z.object({\n js: z.string().describe(\"JavaScript code to execute on the page before capturing screenshot.\").optional(),\n url: z.string().describe(\"Target URL to capture a screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching of the screenshot result.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).default(\"jpg\").describe(\"Screenshot image format (jpg, png, webp, or gif). Default is jpg.\").optional(),\n capture: z.string().describe(\"Area to capture: 'viewport' for visible area, 'fullpage' for entire page, or a CSS/XPath selector for a specific element. Default is viewport.\").optional(),\n country: z.string().describe(\"Proxy geolocation country code (e.g., 'US', 'FR', 'DE') to capture screenshot from that region.\").optional(),\n options: z.string().describe(\"Comma-separated screenshot options: 'dark_mode' for dark theme, 'block_banners' to hide cookie/privacy banners, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Request timeout in milliseconds. Default is 30000 (30 seconds).\").optional(),\n cache_ttl: z.number().int().describe(\"Cache time-to-live in seconds. Only applies when cache is enabled.\").optional(),\n resolution: z.string().describe(\"Screen resolution in WIDTHxHEIGHT format (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Automatically scroll down the page before capturing. Useful for lazy-loaded content.\").optional(),\n cache_clear: z.boolean().describe(\"Clear and refresh cache for this request.\").optional(),\n rendering_wait: z.number().int().describe(\"Time to wait after page load before capturing screenshot, in milliseconds. Useful for waiting for dynamic content.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing. Screenshot is taken after this element appears.\").optional(),\n}).describe(\"Request model for capturing a screenshot of a web page.\");\nconst ScrapflyCaptureScreenshot_FileDownloadableSchema = z.object({\n name: z.string().describe(\"Name of the file\").nullable(),\n s3url: z.string().describe(\"S3 URL of the downloaded file.\").nullable(),\n mimetype: z.string().describe(\"Mime type of the file.\").nullable(),\n}).passthrough();\nexport const ScrapflyCaptureScreenshotOutput = z.object({\n screenshot: ScrapflyCaptureScreenshot_FileDownloadableSchema.nullable(),\n}).passthrough().describe(\"Response model for screenshot capture containing the image file.\");\n\nexport const scrapflyCaptureScreenshot = action(\"SCRAPFLY_CAPTURE_SCREENSHOT\", {\n slug: \"scrapfly-capture-screenshot\",\n name: \"Capture Website Screenshot\",\n description: \"Tool to capture a full-page or viewport screenshot of a website. Use when you need to take a screenshot with options like JS rendering, custom resolution, or accessibility testing. Returns the screenshot image directly. Supports vision deficiency simulations and dark mode.\",\n input: ScrapflyCaptureScreenshotInput,\n output: ScrapflyCaptureScreenshotOutput,\n});\n"],"mappings":";;;AAIA,MAAa,iCAAiC,EAAE,OAAO;CACrD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;CACxG,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACjE,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACjF,QAAQ,EAAE,KAAK;EAAC;EAAO;EAAO;EAAQ;CAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;CACpJ,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,gJAAgJ,CAAC,CAAC,SAAS;CACxL,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG,CAAC,CAAC,SAAS;CACzI,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;CAChM,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CAC/G,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CACpH,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF,CAAC,CAAC,SAAS;CAChI,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CACnI,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACxF,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CACzK,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;AACzJ,CAAC,CAAC,CAAC,SAAS,yDAAyD;AACrE,MAAM,mDAAmD,EAAE,OAAO;CAChE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS;CACvD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACtE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACnE,CAAC,CAAC,CAAC,YAAY;AAKf,MAAa,4BAA4B,OAAO,+BAA+B;CAC7E,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAT6C,EAAE,OAAO,EACtD,YAAY,iDAAiD,SAAS,EACxE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,kEAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"capture-screenshot.mjs","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyCaptureScreenshotInput = z.object({\n js: z.string().describe(\"JavaScript code to execute on the page before capturing screenshot.\").optional(),\n url: z.string().describe(\"Target URL to capture a screenshot of.\"),\n cache: z.boolean().describe(\"Enable caching of the screenshot result.\").optional(),\n format: z.enum([\"jpg\", \"png\", \"webp\", \"gif\"]).default(\"jpg\").describe(\"Screenshot image format (jpg, png, webp, or gif). Default is jpg.\").optional(),\n capture: z.string().describe(\"Area to capture: 'viewport' for visible area, 'fullpage' for entire page, or a CSS/XPath selector for a specific element. Default is viewport.\").optional(),\n country: z.string().describe(\"Proxy geolocation country code (e.g., 'US', 'FR', 'DE') to capture screenshot from that region.\").optional(),\n options: z.string().describe(\"Comma-separated screenshot options: 'dark_mode' for dark theme, 'block_banners' to hide cookie/privacy banners, 'print_media_format' for print styles.\").optional(),\n timeout: z.number().int().describe(\"Request timeout in milliseconds. Default is 30000 (30 seconds).\").optional(),\n cache_ttl: z.number().int().describe(\"Cache time-to-live in seconds. Only applies when cache is enabled.\").optional(),\n resolution: z.string().describe(\"Screen resolution in WIDTHxHEIGHT format (e.g., '1920x1080'). Default is 1920x1080.\").optional(),\n auto_scroll: z.boolean().describe(\"Automatically scroll down the page before capturing. Useful for lazy-loaded content.\").optional(),\n cache_clear: z.boolean().describe(\"Clear and refresh cache for this request.\").optional(),\n rendering_wait: z.number().int().describe(\"Time to wait after page load before capturing screenshot, in milliseconds. Useful for waiting for dynamic content.\").optional(),\n wait_for_selector: z.string().describe(\"CSS selector or XPath to wait for before capturing. Screenshot is taken after this element appears.\").optional(),\n}).describe(\"Request model for capturing a screenshot of a web page.\");\nconst ScrapflyCaptureScreenshot_FileDownloadableSchema = z.object({\n name: z.string().describe(\"Name of the file\").nullable(),\n s3url: z.string().describe(\"S3 URL of the downloaded file.\").nullable(),\n mimetype: z.string().describe(\"Mime type of the file.\").nullable(),\n}).passthrough();\nexport const ScrapflyCaptureScreenshotOutput = z.object({\n screenshot: ScrapflyCaptureScreenshot_FileDownloadableSchema.nullable(),\n}).passthrough().describe(\"Response model for screenshot capture containing the image file.\");\n\nexport const scrapflyCaptureScreenshot: AppAction<\n typeof ScrapflyCaptureScreenshotInput,\n typeof ScrapflyCaptureScreenshotOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_CAPTURE_SCREENSHOT\", {\n slug: \"scrapfly-capture-screenshot\",\n name: \"Capture Website Screenshot\",\n description: \"Tool to capture a full-page or viewport screenshot of a website. Use when you need to take a screenshot with options like JS rendering, custom resolution, or accessibility testing. Returns the screenshot image directly. Supports vision deficiency simulations and dark mode.\",\n input: ScrapflyCaptureScreenshotInput,\n output: ScrapflyCaptureScreenshotOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,iCAAiC,EAAE,OAAO;CACrD,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE,CAAC,CAAC,SAAS;CACxG,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC;CACjE,OAAO,EAAE,QAAQ,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACjF,QAAQ,EAAE,KAAK;EAAC;EAAO;EAAO;EAAQ;CAAK,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS;CACpJ,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,gJAAgJ,CAAC,CAAC,SAAS;CACxL,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,iGAAiG,CAAC,CAAC,SAAS;CACzI,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;CAChM,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS;CAC/G,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CACpH,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,qFAAqF,CAAC,CAAC,SAAS;CAChI,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CACnI,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACxF,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;CACzK,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;AACzJ,CAAC,CAAC,CAAC,SAAS,yDAAyD;AACrE,MAAM,mDAAmD,EAAE,OAAO;CAChE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,kBAAkB,CAAC,CAAC,SAAS;CACvD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACtE,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,wBAAwB,CAAC,CAAC,SAAS;AACnE,CAAC,CAAC,CAAC,YAAY;AAKf,MAAa,4BAIT,OAAO,+BAA+B;CACxC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAb6C,EAAE,OAAO,EACtD,YAAY,iDAAiD,SAAS,EACxE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,kEAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/create-crawler.ts
@@ -1 +1 @@
1
- {"version":3,"file":"create-crawler.cjs","names":["z","action"],"sources":["../../src/actions/create-crawler.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyCreateCrawlerInput = z.object({\n asp: z.boolean().describe(\"Enable Anti Scraping Protection bypass\").optional(),\n url: z.string().describe(\"Starting URL for the crawl. Must be a valid HTTP/HTTPS URL\"),\n delay: z.number().int().describe(\"Delay between requests in milliseconds. Range: 0-15000ms\").optional(),\n max_depth: z.number().int().describe(\"Maximum crawl depth - controls how many levels deep the crawler will follow links\").optional(),\n render_js: z.boolean().describe(\"Enable JavaScript rendering\").optional(),\n page_limit: z.number().int().describe(\"Maximum number of pages to crawl. Set to 0 for unlimited (subject to subscription limits)\").optional(),\n concurrency: z.number().int().describe(\"Maximum concurrent scrape requests. Set 0 for account default\").optional(),\n cost_budget: z.number().describe(\"Automatically stop the crawl when reaching a credit limit\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Exclude URLs matching these patterns. Mutually exclusive with include_only_paths\").optional(),\n content_formats: z.array(z.string()).describe(\"Array of desired output formats (markdown, extracted_data, page_metadata, etc.)\").optional(),\n include_only_paths: z.array(z.string()).describe(\"Only crawl URLs matching these patterns. Supports wildcards (*). Max 100 paths\").optional(),\n follow_external_links: z.boolean().describe(\"Allow crawler to follow links to external domains\").optional(),\n}).describe(\"Request model for creating a new web crawler.\");\nexport const ScrapflyCreateCrawlerOutput = z.object({\n crawler_uuid: z.string().describe(\"UUID of the created crawler\").nullable(),\n}).passthrough().describe(\"Response model for creating a crawler.\");\n\nexport const scrapflyCreateCrawler = action(\"SCRAPFLY_CREATE_CRAWLER\", {\n slug: \"scrapfly-create-crawler\",\n name: \"Create Scrapfly Crawler\",\n description: \"Tool to create a new web crawler to recursively crawl an entire website. Returns a crawler UUID for tracking progress. Use when you need to crawl multiple pages from a website with configurable limits and extraction rules.\",\n input: ScrapflyCreateCrawlerInput,\n output: ScrapflyCreateCrawlerOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,KAAKA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CAC7E,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;CACrF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACtG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;CACnI,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CACxE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;CAC5I,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;CACjH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;CACvG,eAAeA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;CACzI,iBAAiBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;CAC1I,oBAAoBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;CAC5I,uBAAuBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;AAC5G,CAAC,CAAC,CAAC,SAAS,+CAA+C;AAC3D,MAAa,8BAA8BA,IAAAA,EAAE,OAAO,EAClD,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,EAC5E,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAElE,MAAa,wBAAwBC,eAAAA,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"create-crawler.cjs","names":["z","action"],"sources":["../../src/actions/create-crawler.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyCreateCrawlerInput = z.object({\n asp: z.boolean().describe(\"Enable Anti Scraping Protection bypass\").optional(),\n url: z.string().describe(\"Starting URL for the crawl. Must be a valid HTTP/HTTPS URL\"),\n delay: z.number().int().describe(\"Delay between requests in milliseconds. Range: 0-15000ms\").optional(),\n max_depth: z.number().int().describe(\"Maximum crawl depth - controls how many levels deep the crawler will follow links\").optional(),\n render_js: z.boolean().describe(\"Enable JavaScript rendering\").optional(),\n page_limit: z.number().int().describe(\"Maximum number of pages to crawl. Set to 0 for unlimited (subject to subscription limits)\").optional(),\n concurrency: z.number().int().describe(\"Maximum concurrent scrape requests. Set 0 for account default\").optional(),\n cost_budget: z.number().describe(\"Automatically stop the crawl when reaching a credit limit\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Exclude URLs matching these patterns. Mutually exclusive with include_only_paths\").optional(),\n content_formats: z.array(z.string()).describe(\"Array of desired output formats (markdown, extracted_data, page_metadata, etc.)\").optional(),\n include_only_paths: z.array(z.string()).describe(\"Only crawl URLs matching these patterns. Supports wildcards (*). Max 100 paths\").optional(),\n follow_external_links: z.boolean().describe(\"Allow crawler to follow links to external domains\").optional(),\n}).describe(\"Request model for creating a new web crawler.\");\nexport const ScrapflyCreateCrawlerOutput = z.object({\n crawler_uuid: z.string().describe(\"UUID of the created crawler\").nullable(),\n}).passthrough().describe(\"Response model for creating a crawler.\");\n\nexport const scrapflyCreateCrawler: AppAction<\n typeof ScrapflyCreateCrawlerInput,\n typeof ScrapflyCreateCrawlerOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_CREATE_CRAWLER\", {\n slug: \"scrapfly-create-crawler\",\n name: \"Create Scrapfly Crawler\",\n description: \"Tool to create a new web crawler to recursively crawl an entire website. Returns a crawler UUID for tracking progress. Use when you need to crawl multiple pages from a website with configurable limits and extraction rules.\",\n input: ScrapflyCreateCrawlerInput,\n output: ScrapflyCreateCrawlerOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,KAAKA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;CAC7E,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;CACrF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACtG,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;CACnI,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CACxE,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;CAC5I,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;CACjH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;CACvG,eAAeA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;CACzI,iBAAiBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;CAC1I,oBAAoBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;CAC5I,uBAAuBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;AAC5G,CAAC,CAAC,CAAC,SAAS,+CAA+C;AAC3D,MAAa,8BAA8BA,IAAAA,EAAE,OAAO,EAClD,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,EAC5E,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAElE,MAAa,wBAITC,eAAAA,OAAO,2BAA2B;CACpC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/create-crawler.d.ts
@@ -18,20 +20,7 @@ declare const ScrapflyCreateCrawlerInput: z.ZodObject<{
18
20
  declare const ScrapflyCreateCrawlerOutput: z.ZodObject<{
19
21
  crawler_uuid: z.ZodNullable<z.ZodString>;
20
22
  }, z.core.$loose>;
21
- declare const scrapflyCreateCrawler: import("@keystrokehq/action").WorkflowActionDefinition<{
22
- url: string;
23
- asp?: boolean | undefined;
24
- delay?: number | undefined;
25
- max_depth?: number | undefined;
26
- render_js?: boolean | undefined;
27
- page_limit?: number | undefined;
28
- concurrency?: number | undefined;
29
- cost_budget?: number | undefined;
30
- exclude_paths?: string[] | undefined;
31
- content_formats?: string[] | undefined;
32
- include_only_paths?: string[] | undefined;
33
- follow_external_links?: boolean | undefined;
34
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
23
+ declare const scrapflyCreateCrawler: AppAction<typeof ScrapflyCreateCrawlerInput, typeof ScrapflyCreateCrawlerOutput, typeof scrapfly.credential>;
35
24
  //#endregion
36
25
  export { scrapflyCreateCrawler };
37
26
  //# sourceMappingURL=create-crawler.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-crawler.d.cts","names":[],"sources":["../../src/actions/create-crawler.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAc1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,gCAAqB,wBAAA"}
1
+ {"version":3,"file":"create-crawler.d.cts","names":[],"sources":["../../src/actions/create-crawler.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAc1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/create-crawler.d.ts
@@ -18,20 +20,7 @@ declare const ScrapflyCreateCrawlerInput: z.ZodObject<{
18
20
  declare const ScrapflyCreateCrawlerOutput: z.ZodObject<{
19
21
  crawler_uuid: z.ZodNullable<z.ZodString>;
20
22
  }, z.core.$loose>;
21
- declare const scrapflyCreateCrawler: import("@keystrokehq/action").WorkflowActionDefinition<{
22
- url: string;
23
- asp?: boolean | undefined;
24
- delay?: number | undefined;
25
- max_depth?: number | undefined;
26
- render_js?: boolean | undefined;
27
- page_limit?: number | undefined;
28
- concurrency?: number | undefined;
29
- cost_budget?: number | undefined;
30
- exclude_paths?: string[] | undefined;
31
- content_formats?: string[] | undefined;
32
- include_only_paths?: string[] | undefined;
33
- follow_external_links?: boolean | undefined;
34
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
23
+ declare const scrapflyCreateCrawler: AppAction<typeof ScrapflyCreateCrawlerInput, typeof ScrapflyCreateCrawlerOutput, typeof scrapfly.credential>;
35
24
  //#endregion
36
25
  export { scrapflyCreateCrawler };
37
26
  //# sourceMappingURL=create-crawler.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-crawler.d.mts","names":[],"sources":["../../src/actions/create-crawler.ts"],"mappings":";;;cAIa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAc1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,gCAAqB,wBAAA"}
1
+ {"version":3,"file":"create-crawler.d.mts","names":[],"sources":["../../src/actions/create-crawler.ts"],"mappings":";;;;;cAMa,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAc1B,2BAAA,EAA2B,CAAA,CAAA,SAAA;;;cAI3B,qBAAA,EAAuB,SAAA,QAC3B,0BAAA,SACA,2BAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  const scrapflyCreateCrawler = action("SCRAPFLY_CREATE_CRAWLER", {
@@ -1 +1 @@
1
- {"version":3,"file":"create-crawler.mjs","names":[],"sources":["../../src/actions/create-crawler.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyCreateCrawlerInput = z.object({\n asp: z.boolean().describe(\"Enable Anti Scraping Protection bypass\").optional(),\n url: z.string().describe(\"Starting URL for the crawl. Must be a valid HTTP/HTTPS URL\"),\n delay: z.number().int().describe(\"Delay between requests in milliseconds. Range: 0-15000ms\").optional(),\n max_depth: z.number().int().describe(\"Maximum crawl depth - controls how many levels deep the crawler will follow links\").optional(),\n render_js: z.boolean().describe(\"Enable JavaScript rendering\").optional(),\n page_limit: z.number().int().describe(\"Maximum number of pages to crawl. Set to 0 for unlimited (subject to subscription limits)\").optional(),\n concurrency: z.number().int().describe(\"Maximum concurrent scrape requests. Set 0 for account default\").optional(),\n cost_budget: z.number().describe(\"Automatically stop the crawl when reaching a credit limit\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Exclude URLs matching these patterns. Mutually exclusive with include_only_paths\").optional(),\n content_formats: z.array(z.string()).describe(\"Array of desired output formats (markdown, extracted_data, page_metadata, etc.)\").optional(),\n include_only_paths: z.array(z.string()).describe(\"Only crawl URLs matching these patterns. Supports wildcards (*). Max 100 paths\").optional(),\n follow_external_links: z.boolean().describe(\"Allow crawler to follow links to external domains\").optional(),\n}).describe(\"Request model for creating a new web crawler.\");\nexport const ScrapflyCreateCrawlerOutput = z.object({\n crawler_uuid: z.string().describe(\"UUID of the created crawler\").nullable(),\n}).passthrough().describe(\"Response model for creating a crawler.\");\n\nexport const scrapflyCreateCrawler = action(\"SCRAPFLY_CREATE_CRAWLER\", {\n slug: \"scrapfly-create-crawler\",\n name: \"Create Scrapfly Crawler\",\n description: \"Tool to create a new web crawler to recursively crawl an entire website. Returns a crawler UUID for tracking progress. Use when you need to crawl multiple pages from a website with configurable limits and extraction rules.\",\n input: ScrapflyCreateCrawlerInput,\n output: ScrapflyCreateCrawlerOutput,\n});\n"],"mappings":";;AAsBA,MAAa,wBAAwB,OAAO,2BAA2B;CACrE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAtBwC,EAAE,OAAO;EACjD,KAAK,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;EAC7E,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;EACrF,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACtG,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;EACnI,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;EACxE,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;EAC5I,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;EACjH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;EACvG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;EACzI,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;EAC1I,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;EAC5I,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC5G,CAAC,CAAC,CAAC,SAAS,+CASH;CACP,QATyC,EAAE,OAAO,EAClD,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,EAC5E,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"create-crawler.mjs","names":[],"sources":["../../src/actions/create-crawler.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyCreateCrawlerInput = z.object({\n asp: z.boolean().describe(\"Enable Anti Scraping Protection bypass\").optional(),\n url: z.string().describe(\"Starting URL for the crawl. Must be a valid HTTP/HTTPS URL\"),\n delay: z.number().int().describe(\"Delay between requests in milliseconds. Range: 0-15000ms\").optional(),\n max_depth: z.number().int().describe(\"Maximum crawl depth - controls how many levels deep the crawler will follow links\").optional(),\n render_js: z.boolean().describe(\"Enable JavaScript rendering\").optional(),\n page_limit: z.number().int().describe(\"Maximum number of pages to crawl. Set to 0 for unlimited (subject to subscription limits)\").optional(),\n concurrency: z.number().int().describe(\"Maximum concurrent scrape requests. Set 0 for account default\").optional(),\n cost_budget: z.number().describe(\"Automatically stop the crawl when reaching a credit limit\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Exclude URLs matching these patterns. Mutually exclusive with include_only_paths\").optional(),\n content_formats: z.array(z.string()).describe(\"Array of desired output formats (markdown, extracted_data, page_metadata, etc.)\").optional(),\n include_only_paths: z.array(z.string()).describe(\"Only crawl URLs matching these patterns. Supports wildcards (*). Max 100 paths\").optional(),\n follow_external_links: z.boolean().describe(\"Allow crawler to follow links to external domains\").optional(),\n}).describe(\"Request model for creating a new web crawler.\");\nexport const ScrapflyCreateCrawlerOutput = z.object({\n crawler_uuid: z.string().describe(\"UUID of the created crawler\").nullable(),\n}).passthrough().describe(\"Response model for creating a crawler.\");\n\nexport const scrapflyCreateCrawler: AppAction<\n typeof ScrapflyCreateCrawlerInput,\n typeof ScrapflyCreateCrawlerOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_CREATE_CRAWLER\", {\n slug: \"scrapfly-create-crawler\",\n name: \"Create Scrapfly Crawler\",\n description: \"Tool to create a new web crawler to recursively crawl an entire website. Returns a crawler UUID for tracking progress. Use when you need to crawl multiple pages from a website with configurable limits and extraction rules.\",\n input: ScrapflyCreateCrawlerInput,\n output: ScrapflyCreateCrawlerOutput,\n});\n"],"mappings":";;;AAwBA,MAAa,wBAIT,OAAO,2BAA2B;CACpC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA1BwC,EAAE,OAAO;EACjD,KAAK,EAAE,QAAQ,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS;EAC7E,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;EACrF,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACtG,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;EACnI,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;EACxE,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;EAC5I,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS;EACjH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;EACvG,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,kFAAkF,CAAC,CAAC,SAAS;EACzI,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iFAAiF,CAAC,CAAC,SAAS;EAC1I,oBAAoB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;EAC5I,uBAAuB,EAAE,QAAQ,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CAC5G,CAAC,CAAC,CAAC,SAAS,+CAaH;CACP,QAbyC,EAAE,OAAO,EAClD,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,EAC5E,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/extract-data.ts
@@ -1 +1 @@
1
- {"version":3,"file":"extract-data.cjs","names":["z","action"],"sources":["../../src/actions/extract-data.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyExtractDataInput = z.object({\n url: z.string().describe(\"Base URL for converting relative URLs to absolute URLs in the extracted data. Useful when extracting links and images.\").optional(),\n charset: z.string().describe(\"Document charset encoding. Use 'auto' for automatic detection or specify a charset like 'utf-8', 'iso-8859-1', etc.\").optional(),\n content: z.string().describe(\"HTML, text, or structured content to extract data from. This will be sent as the request body.\"),\n content_type: z.enum([\"text/html\", \"text/plain\", \"text/markdown\", \"text/csv\", \"application/json\", \"application/ld+json\", \"application/xml\", \"application/xhtml+xml\"]).describe(\"Content type of the document body. Required to properly parse the input content.\"),\n webhook_name: z.string().describe(\"Webhook name for asynchronous processing. If provided, the extraction will be processed asynchronously and results sent to the webhook.\").optional(),\n extraction_model: z.enum([\"article\", \"event\", \"food_recipe\", \"hotel\", \"hotel_listing\", \"job_listing\", \"job_posting\", \"organization\", \"product\", \"product_listing\", \"real_estate_property\", \"real_estate_property_listing\", \"review_list\", \"search_engine_results\", \"social_media_post\", \"software\", \"stock\", \"vehicle_ad\", \"vehicle_ad_listing\"]).describe(\"AI extraction models for structured data extraction.\").optional(),\n extraction_prompt: z.string().describe(\"Custom LLM prompt for extraction. Use this when you need custom extraction logic beyond predefined models. Cannot be used together with extraction_model or extraction_template.\").optional(),\n extraction_template: z.string().describe(\"JSON extraction template defining custom extraction rules. Cannot be used together with extraction_model or extraction_prompt.\").optional(),\n}).describe(\"Request model for extracting structured data from content.\");\nexport const ScrapflyExtractDataOutput = z.object({\n data: z.record(z.string(), z.unknown()).describe(\"Extracted structured data. The structure depends on the extraction method used (model, prompt, or template).\"),\n content_type: z.string().describe(\"Content type of the input document\").nullable().optional(),\n}).passthrough().describe(\"Response model for the extraction API.\");\n\nexport const scrapflyExtractData = action(\"SCRAPFLY_EXTRACT_DATA\", {\n slug: \"scrapfly-extract-data\",\n name: \"Extract Structured Data\",\n description: \"Tool to extract structured data from HTML or other content using AI models, LLM prompts, or custom templates. Use when you need to parse web pages or documents into structured JSON data. Supports predefined extraction models for common types (articles, products, events) or custom extraction via prompts/templates.\",\n input: ScrapflyExtractDataInput,\n output: ScrapflyExtractDataOutput,\n});\n"],"mappings":";;;AAIA,MAAa,2BAA2BA,IAAAA,EAAE,OAAO;CAC/C,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;CAC5J,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qHAAqH,CAAC,CAAC,SAAS;CAC7J,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gGAAgG;CAC7H,cAAcA,IAAAA,EAAE,KAAK;EAAC;EAAa;EAAc;EAAiB;EAAY;EAAoB;EAAuB;EAAmB;CAAuB,CAAC,CAAC,CAAC,SAAS,kFAAkF;CACjQ,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yIAAyI,CAAC,CAAC,SAAS;CACtL,kBAAkBA,IAAAA,EAAE,KAAK;EAAC;EAAW;EAAS;EAAe;EAAS;EAAiB;EAAe;EAAe;EAAgB;EAAW;EAAmB;EAAwB;EAAgC;EAAe;EAAyB;EAAqB;EAAY;EAAS;EAAc;CAAoB,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC5Z,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kLAAkL,CAAC,CAAC,SAAS;CACpO,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;AACtL,CAAC,CAAC,CAAC,SAAS,4DAA4D;AACxE,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,8GAA8G;CAC/J,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAElE,MAAa,sBAAsBC,eAAAA,OAAO,yBAAyB;CACjE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"extract-data.cjs","names":["z","action"],"sources":["../../src/actions/extract-data.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyExtractDataInput = z.object({\n url: z.string().describe(\"Base URL for converting relative URLs to absolute URLs in the extracted data. Useful when extracting links and images.\").optional(),\n charset: z.string().describe(\"Document charset encoding. Use 'auto' for automatic detection or specify a charset like 'utf-8', 'iso-8859-1', etc.\").optional(),\n content: z.string().describe(\"HTML, text, or structured content to extract data from. This will be sent as the request body.\"),\n content_type: z.enum([\"text/html\", \"text/plain\", \"text/markdown\", \"text/csv\", \"application/json\", \"application/ld+json\", \"application/xml\", \"application/xhtml+xml\"]).describe(\"Content type of the document body. Required to properly parse the input content.\"),\n webhook_name: z.string().describe(\"Webhook name for asynchronous processing. If provided, the extraction will be processed asynchronously and results sent to the webhook.\").optional(),\n extraction_model: z.enum([\"article\", \"event\", \"food_recipe\", \"hotel\", \"hotel_listing\", \"job_listing\", \"job_posting\", \"organization\", \"product\", \"product_listing\", \"real_estate_property\", \"real_estate_property_listing\", \"review_list\", \"search_engine_results\", \"social_media_post\", \"software\", \"stock\", \"vehicle_ad\", \"vehicle_ad_listing\"]).describe(\"AI extraction models for structured data extraction.\").optional(),\n extraction_prompt: z.string().describe(\"Custom LLM prompt for extraction. Use this when you need custom extraction logic beyond predefined models. Cannot be used together with extraction_model or extraction_template.\").optional(),\n extraction_template: z.string().describe(\"JSON extraction template defining custom extraction rules. Cannot be used together with extraction_model or extraction_prompt.\").optional(),\n}).describe(\"Request model for extracting structured data from content.\");\nexport const ScrapflyExtractDataOutput = z.object({\n data: z.record(z.string(), z.unknown()).describe(\"Extracted structured data. The structure depends on the extraction method used (model, prompt, or template).\"),\n content_type: z.string().describe(\"Content type of the input document\").nullable().optional(),\n}).passthrough().describe(\"Response model for the extraction API.\");\n\nexport const scrapflyExtractData: AppAction<\n typeof ScrapflyExtractDataInput,\n typeof ScrapflyExtractDataOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_EXTRACT_DATA\", {\n slug: \"scrapfly-extract-data\",\n name: \"Extract Structured Data\",\n description: \"Tool to extract structured data from HTML or other content using AI models, LLM prompts, or custom templates. Use when you need to parse web pages or documents into structured JSON data. Supports predefined extraction models for common types (articles, products, events) or custom extraction via prompts/templates.\",\n input: ScrapflyExtractDataInput,\n output: ScrapflyExtractDataOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,2BAA2BA,IAAAA,EAAE,OAAO;CAC/C,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;CAC5J,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qHAAqH,CAAC,CAAC,SAAS;CAC7J,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gGAAgG;CAC7H,cAAcA,IAAAA,EAAE,KAAK;EAAC;EAAa;EAAc;EAAiB;EAAY;EAAoB;EAAuB;EAAmB;CAAuB,CAAC,CAAC,CAAC,SAAS,kFAAkF;CACjQ,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yIAAyI,CAAC,CAAC,SAAS;CACtL,kBAAkBA,IAAAA,EAAE,KAAK;EAAC;EAAW;EAAS;EAAe;EAAS;EAAiB;EAAe;EAAe;EAAgB;EAAW;EAAmB;EAAwB;EAAgC;EAAe;EAAyB;EAAqB;EAAY;EAAS;EAAc;CAAoB,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC5Z,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kLAAkL,CAAC,CAAC,SAAS;CACpO,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;AACtL,CAAC,CAAC,CAAC,SAAS,4DAA4D;AACxE,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,8GAA8G;CAC/J,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAAwC;AAElE,MAAa,sBAITC,eAAAA,OAAO,yBAAyB;CAClC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/extract-data.d.ts
@@ -44,16 +46,7 @@ declare const ScrapflyExtractDataOutput: z.ZodObject<{
44
46
  data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
45
47
  content_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
48
  }, z.core.$loose>;
47
- declare const scrapflyExtractData: import("@keystrokehq/action").WorkflowActionDefinition<{
48
- content: string;
49
- content_type: "text/html" | "text/plain" | "text/markdown" | "text/csv" | "application/json" | "application/ld+json" | "application/xml" | "application/xhtml+xml";
50
- url?: string | undefined;
51
- charset?: string | undefined;
52
- webhook_name?: string | undefined;
53
- extraction_model?: "organization" | "article" | "event" | "food_recipe" | "hotel" | "hotel_listing" | "job_listing" | "job_posting" | "product" | "product_listing" | "real_estate_property" | "real_estate_property_listing" | "review_list" | "search_engine_results" | "social_media_post" | "software" | "stock" | "vehicle_ad" | "vehicle_ad_listing" | undefined;
54
- extraction_prompt?: string | undefined;
55
- extraction_template?: string | undefined;
56
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
49
+ declare const scrapflyExtractData: AppAction<typeof ScrapflyExtractDataInput, typeof ScrapflyExtractDataOutput, typeof scrapfly.credential>;
57
50
  //#endregion
58
51
  export { scrapflyExtractData };
59
52
  //# sourceMappingURL=extract-data.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-data.d.cts","names":[],"sources":["../../src/actions/extract-data.ts"],"mappings":";;;cAIa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAUxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;cAKzB,mBAAA,gCAAmB,wBAAA"}
1
+ {"version":3,"file":"extract-data.d.cts","names":[],"sources":["../../src/actions/extract-data.ts"],"mappings":";;;;;cAMa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAUxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;cAKzB,mBAAA,EAAqB,SAAA,QACzB,wBAAA,SACA,yBAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapfly } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/extract-data.d.ts
@@ -44,16 +46,7 @@ declare const ScrapflyExtractDataOutput: z.ZodObject<{
44
46
  data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
45
47
  content_type: z.ZodOptional<z.ZodNullable<z.ZodString>>;
46
48
  }, z.core.$loose>;
47
- declare const scrapflyExtractData: import("@keystrokehq/action").WorkflowActionDefinition<{
48
- content: string;
49
- content_type: "text/html" | "text/plain" | "text/markdown" | "text/csv" | "application/json" | "application/ld+json" | "application/xml" | "application/xhtml+xml";
50
- url?: string | undefined;
51
- charset?: string | undefined;
52
- webhook_name?: string | undefined;
53
- extraction_model?: "organization" | "article" | "event" | "food_recipe" | "hotel" | "hotel_listing" | "job_listing" | "job_posting" | "product" | "product_listing" | "real_estate_property" | "real_estate_property_listing" | "review_list" | "search_engine_results" | "social_media_post" | "software" | "stock" | "vehicle_ad" | "vehicle_ad_listing" | undefined;
54
- extraction_prompt?: string | undefined;
55
- extraction_template?: string | undefined;
56
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
49
+ declare const scrapflyExtractData: AppAction<typeof ScrapflyExtractDataInput, typeof ScrapflyExtractDataOutput, typeof scrapfly.credential>;
57
50
  //#endregion
58
51
  export { scrapflyExtractData };
59
52
  //# sourceMappingURL=extract-data.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract-data.d.mts","names":[],"sources":["../../src/actions/extract-data.ts"],"mappings":";;;cAIa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAUxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;cAKzB,mBAAA,gCAAmB,wBAAA"}
1
+ {"version":3,"file":"extract-data.d.mts","names":[],"sources":["../../src/actions/extract-data.ts"],"mappings":";;;;;cAMa,wBAAA,EAAwB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAUxB,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;cAKzB,mBAAA,EAAqB,SAAA,QACzB,wBAAA,SACA,yBAAA,SACA,QAAA,CAAS,UAAA"}
@@ -1,3 +1,4 @@
1
+ import "../app.mjs";
1
2
  import { action } from "../action.mjs";
2
3
  import { z } from "zod";
3
4
  const scrapflyExtractData = action("SCRAPFLY_EXTRACT_DATA", {
@@ -1 +1 @@
1
- {"version":3,"file":"extract-data.mjs","names":[],"sources":["../../src/actions/extract-data.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapflyExtractDataInput = z.object({\n url: z.string().describe(\"Base URL for converting relative URLs to absolute URLs in the extracted data. Useful when extracting links and images.\").optional(),\n charset: z.string().describe(\"Document charset encoding. Use 'auto' for automatic detection or specify a charset like 'utf-8', 'iso-8859-1', etc.\").optional(),\n content: z.string().describe(\"HTML, text, or structured content to extract data from. This will be sent as the request body.\"),\n content_type: z.enum([\"text/html\", \"text/plain\", \"text/markdown\", \"text/csv\", \"application/json\", \"application/ld+json\", \"application/xml\", \"application/xhtml+xml\"]).describe(\"Content type of the document body. Required to properly parse the input content.\"),\n webhook_name: z.string().describe(\"Webhook name for asynchronous processing. If provided, the extraction will be processed asynchronously and results sent to the webhook.\").optional(),\n extraction_model: z.enum([\"article\", \"event\", \"food_recipe\", \"hotel\", \"hotel_listing\", \"job_listing\", \"job_posting\", \"organization\", \"product\", \"product_listing\", \"real_estate_property\", \"real_estate_property_listing\", \"review_list\", \"search_engine_results\", \"social_media_post\", \"software\", \"stock\", \"vehicle_ad\", \"vehicle_ad_listing\"]).describe(\"AI extraction models for structured data extraction.\").optional(),\n extraction_prompt: z.string().describe(\"Custom LLM prompt for extraction. Use this when you need custom extraction logic beyond predefined models. Cannot be used together with extraction_model or extraction_template.\").optional(),\n extraction_template: z.string().describe(\"JSON extraction template defining custom extraction rules. Cannot be used together with extraction_model or extraction_prompt.\").optional(),\n}).describe(\"Request model for extracting structured data from content.\");\nexport const ScrapflyExtractDataOutput = z.object({\n data: z.record(z.string(), z.unknown()).describe(\"Extracted structured data. The structure depends on the extraction method used (model, prompt, or template).\"),\n content_type: z.string().describe(\"Content type of the input document\").nullable().optional(),\n}).passthrough().describe(\"Response model for the extraction API.\");\n\nexport const scrapflyExtractData = action(\"SCRAPFLY_EXTRACT_DATA\", {\n slug: \"scrapfly-extract-data\",\n name: \"Extract Structured Data\",\n description: \"Tool to extract structured data from HTML or other content using AI models, LLM prompts, or custom templates. Use when you need to parse web pages or documents into structured JSON data. Supports predefined extraction models for common types (articles, products, events) or custom extraction via prompts/templates.\",\n input: ScrapflyExtractDataInput,\n output: ScrapflyExtractDataOutput,\n});\n"],"mappings":";;AAmBA,MAAa,sBAAsB,OAAO,yBAAyB;CACjE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAnBsC,EAAE,OAAO;EAC/C,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;EAC5J,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,qHAAqH,CAAC,CAAC,SAAS;EAC7J,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,gGAAgG;EAC7H,cAAc,EAAE,KAAK;GAAC;GAAa;GAAc;GAAiB;GAAY;GAAoB;GAAuB;GAAmB;EAAuB,CAAC,CAAC,CAAC,SAAS,kFAAkF;EACjQ,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,yIAAyI,CAAC,CAAC,SAAS;EACtL,kBAAkB,EAAE,KAAK;GAAC;GAAW;GAAS;GAAe;GAAS;GAAiB;GAAe;GAAe;GAAgB;GAAW;GAAmB;GAAwB;GAAgC;GAAe;GAAyB;GAAqB;GAAY;GAAS;GAAc;EAAoB,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EAC5Z,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,kLAAkL,CAAC,CAAC,SAAS;EACpO,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;CACtL,CAAC,CAAC,CAAC,SAAS,4DAUH;CACP,QAVuC,EAAE,OAAO;EAChD,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,8GAA8G;EAC/J,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"extract-data.mjs","names":[],"sources":["../../src/actions/extract-data.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapfly } from \"../app\";\n\nexport const ScrapflyExtractDataInput = z.object({\n url: z.string().describe(\"Base URL for converting relative URLs to absolute URLs in the extracted data. Useful when extracting links and images.\").optional(),\n charset: z.string().describe(\"Document charset encoding. Use 'auto' for automatic detection or specify a charset like 'utf-8', 'iso-8859-1', etc.\").optional(),\n content: z.string().describe(\"HTML, text, or structured content to extract data from. This will be sent as the request body.\"),\n content_type: z.enum([\"text/html\", \"text/plain\", \"text/markdown\", \"text/csv\", \"application/json\", \"application/ld+json\", \"application/xml\", \"application/xhtml+xml\"]).describe(\"Content type of the document body. Required to properly parse the input content.\"),\n webhook_name: z.string().describe(\"Webhook name for asynchronous processing. If provided, the extraction will be processed asynchronously and results sent to the webhook.\").optional(),\n extraction_model: z.enum([\"article\", \"event\", \"food_recipe\", \"hotel\", \"hotel_listing\", \"job_listing\", \"job_posting\", \"organization\", \"product\", \"product_listing\", \"real_estate_property\", \"real_estate_property_listing\", \"review_list\", \"search_engine_results\", \"social_media_post\", \"software\", \"stock\", \"vehicle_ad\", \"vehicle_ad_listing\"]).describe(\"AI extraction models for structured data extraction.\").optional(),\n extraction_prompt: z.string().describe(\"Custom LLM prompt for extraction. Use this when you need custom extraction logic beyond predefined models. Cannot be used together with extraction_model or extraction_template.\").optional(),\n extraction_template: z.string().describe(\"JSON extraction template defining custom extraction rules. Cannot be used together with extraction_model or extraction_prompt.\").optional(),\n}).describe(\"Request model for extracting structured data from content.\");\nexport const ScrapflyExtractDataOutput = z.object({\n data: z.record(z.string(), z.unknown()).describe(\"Extracted structured data. The structure depends on the extraction method used (model, prompt, or template).\"),\n content_type: z.string().describe(\"Content type of the input document\").nullable().optional(),\n}).passthrough().describe(\"Response model for the extraction API.\");\n\nexport const scrapflyExtractData: AppAction<\n typeof ScrapflyExtractDataInput,\n typeof ScrapflyExtractDataOutput,\n typeof scrapfly.credential\n> = action(\"SCRAPFLY_EXTRACT_DATA\", {\n slug: \"scrapfly-extract-data\",\n name: \"Extract Structured Data\",\n description: \"Tool to extract structured data from HTML or other content using AI models, LLM prompts, or custom templates. Use when you need to parse web pages or documents into structured JSON data. Supports predefined extraction models for common types (articles, products, events) or custom extraction via prompts/templates.\",\n input: ScrapflyExtractDataInput,\n output: ScrapflyExtractDataOutput,\n});\n"],"mappings":";;;AAqBA,MAAa,sBAIT,OAAO,yBAAyB;CAClC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAvBsC,EAAE,OAAO;EAC/C,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;EAC5J,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,qHAAqH,CAAC,CAAC,SAAS;EAC7J,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,gGAAgG;EAC7H,cAAc,EAAE,KAAK;GAAC;GAAa;GAAc;GAAiB;GAAY;GAAoB;GAAuB;GAAmB;EAAuB,CAAC,CAAC,CAAC,SAAS,kFAAkF;EACjQ,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,yIAAyI,CAAC,CAAC,SAAS;EACtL,kBAAkB,EAAE,KAAK;GAAC;GAAW;GAAS;GAAe;GAAS;GAAiB;GAAe;GAAe;GAAgB;GAAW;GAAmB;GAAwB;GAAgC;GAAe;GAAyB;GAAqB;GAAY;GAAS;GAAc;EAAoB,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EAC5Z,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,kLAAkL,CAAC,CAAC,SAAS;EACpO,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,gIAAgI,CAAC,CAAC,SAAS;CACtL,CAAC,CAAC,CAAC,SAAS,4DAcH;CACP,QAduC,EAAE,OAAO;EAChD,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,8GAA8G;EAC/J,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9F,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,wCAWhB;AACV,CAAC"}
@@ -1,3 +1,4 @@
1
+ require("../app.cjs");
1
2
  const require_action = require("../action.cjs");
2
3
  let zod = require("zod");
3
4
  //#region src/actions/get-account-info.ts