@keystrokehq/scrapegraph_ai 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 (229) hide show
  1. package/dist/action.cjs.map +1 -1
  2. package/dist/action.mjs.map +1 -1
  3. package/dist/actions/convert-webpage-to-markdown-v2.cjs +1 -0
  4. package/dist/actions/convert-webpage-to-markdown-v2.cjs.map +1 -1
  5. package/dist/actions/convert-webpage-to-markdown-v2.d.cts +3 -13
  6. package/dist/actions/convert-webpage-to-markdown-v2.d.cts.map +1 -1
  7. package/dist/actions/convert-webpage-to-markdown-v2.d.mts +3 -13
  8. package/dist/actions/convert-webpage-to-markdown-v2.d.mts.map +1 -1
  9. package/dist/actions/convert-webpage-to-markdown-v2.mjs +1 -0
  10. package/dist/actions/convert-webpage-to-markdown-v2.mjs.map +1 -1
  11. package/dist/actions/generate-schema.cjs +1 -0
  12. package/dist/actions/generate-schema.cjs.map +1 -1
  13. package/dist/actions/generate-schema.d.cts +3 -4
  14. package/dist/actions/generate-schema.d.cts.map +1 -1
  15. package/dist/actions/generate-schema.d.mts +3 -4
  16. package/dist/actions/generate-schema.d.mts.map +1 -1
  17. package/dist/actions/generate-schema.mjs +1 -0
  18. package/dist/actions/generate-schema.mjs.map +1 -1
  19. package/dist/actions/get-agentic-scraper-history.cjs +1 -0
  20. package/dist/actions/get-agentic-scraper-history.cjs.map +1 -1
  21. package/dist/actions/get-agentic-scraper-history.d.cts +3 -4
  22. package/dist/actions/get-agentic-scraper-history.d.cts.map +1 -1
  23. package/dist/actions/get-agentic-scraper-history.d.mts +3 -4
  24. package/dist/actions/get-agentic-scraper-history.d.mts.map +1 -1
  25. package/dist/actions/get-agentic-scraper-history.mjs +1 -0
  26. package/dist/actions/get-agentic-scraper-history.mjs.map +1 -1
  27. package/dist/actions/get-crawler-history.cjs +1 -0
  28. package/dist/actions/get-crawler-history.cjs.map +1 -1
  29. package/dist/actions/get-crawler-history.d.cts +3 -4
  30. package/dist/actions/get-crawler-history.d.cts.map +1 -1
  31. package/dist/actions/get-crawler-history.d.mts +3 -4
  32. package/dist/actions/get-crawler-history.d.mts.map +1 -1
  33. package/dist/actions/get-crawler-history.mjs +1 -0
  34. package/dist/actions/get-crawler-history.mjs.map +1 -1
  35. package/dist/actions/get-credits.cjs +1 -0
  36. package/dist/actions/get-credits.cjs.map +1 -1
  37. package/dist/actions/get-credits.d.cts +3 -1
  38. package/dist/actions/get-credits.d.cts.map +1 -1
  39. package/dist/actions/get-credits.d.mts +3 -1
  40. package/dist/actions/get-credits.d.mts.map +1 -1
  41. package/dist/actions/get-credits.mjs +1 -0
  42. package/dist/actions/get-credits.mjs.map +1 -1
  43. package/dist/actions/get-endpoint-suggestions.cjs +1 -0
  44. package/dist/actions/get-endpoint-suggestions.cjs.map +1 -1
  45. package/dist/actions/get-endpoint-suggestions.d.cts +3 -4
  46. package/dist/actions/get-endpoint-suggestions.d.cts.map +1 -1
  47. package/dist/actions/get-endpoint-suggestions.d.mts +3 -4
  48. package/dist/actions/get-endpoint-suggestions.d.mts.map +1 -1
  49. package/dist/actions/get-endpoint-suggestions.mjs +1 -0
  50. package/dist/actions/get-endpoint-suggestions.mjs.map +1 -1
  51. package/dist/actions/get-live-session-url.cjs +1 -0
  52. package/dist/actions/get-live-session-url.cjs.map +1 -1
  53. package/dist/actions/get-live-session-url.d.cts +3 -4
  54. package/dist/actions/get-live-session-url.d.cts.map +1 -1
  55. package/dist/actions/get-live-session-url.d.mts +3 -4
  56. package/dist/actions/get-live-session-url.d.mts.map +1 -1
  57. package/dist/actions/get-live-session-url.mjs +1 -0
  58. package/dist/actions/get-live-session-url.mjs.map +1 -1
  59. package/dist/actions/get-markdownify-history.cjs +1 -0
  60. package/dist/actions/get-markdownify-history.cjs.map +1 -1
  61. package/dist/actions/get-markdownify-history.d.cts +3 -4
  62. package/dist/actions/get-markdownify-history.d.cts.map +1 -1
  63. package/dist/actions/get-markdownify-history.d.mts +3 -4
  64. package/dist/actions/get-markdownify-history.d.mts.map +1 -1
  65. package/dist/actions/get-markdownify-history.mjs +1 -0
  66. package/dist/actions/get-markdownify-history.mjs.map +1 -1
  67. package/dist/actions/get-scrape-history.cjs +1 -0
  68. package/dist/actions/get-scrape-history.cjs.map +1 -1
  69. package/dist/actions/get-scrape-history.d.cts +3 -4
  70. package/dist/actions/get-scrape-history.d.cts.map +1 -1
  71. package/dist/actions/get-scrape-history.d.mts +3 -4
  72. package/dist/actions/get-scrape-history.d.mts.map +1 -1
  73. package/dist/actions/get-scrape-history.mjs +1 -0
  74. package/dist/actions/get-scrape-history.mjs.map +1 -1
  75. package/dist/actions/get-searchscraper-history.cjs +1 -0
  76. package/dist/actions/get-searchscraper-history.cjs.map +1 -1
  77. package/dist/actions/get-searchscraper-history.d.cts +3 -4
  78. package/dist/actions/get-searchscraper-history.d.cts.map +1 -1
  79. package/dist/actions/get-searchscraper-history.d.mts +3 -4
  80. package/dist/actions/get-searchscraper-history.d.mts.map +1 -1
  81. package/dist/actions/get-searchscraper-history.mjs +1 -0
  82. package/dist/actions/get-searchscraper-history.mjs.map +1 -1
  83. package/dist/actions/get-sitemap-history.cjs +1 -0
  84. package/dist/actions/get-sitemap-history.cjs.map +1 -1
  85. package/dist/actions/get-sitemap-history.d.cts +3 -4
  86. package/dist/actions/get-sitemap-history.d.cts.map +1 -1
  87. package/dist/actions/get-sitemap-history.d.mts +3 -4
  88. package/dist/actions/get-sitemap-history.d.mts.map +1 -1
  89. package/dist/actions/get-sitemap-history.mjs +1 -0
  90. package/dist/actions/get-sitemap-history.mjs.map +1 -1
  91. package/dist/actions/get-smartscraper-history.cjs +1 -0
  92. package/dist/actions/get-smartscraper-history.cjs.map +1 -1
  93. package/dist/actions/get-smartscraper-history.d.cts +3 -4
  94. package/dist/actions/get-smartscraper-history.d.cts.map +1 -1
  95. package/dist/actions/get-smartscraper-history.d.mts +3 -4
  96. package/dist/actions/get-smartscraper-history.d.mts.map +1 -1
  97. package/dist/actions/get-smartscraper-history.mjs +1 -0
  98. package/dist/actions/get-smartscraper-history.mjs.map +1 -1
  99. package/dist/actions/get-usage-timeline.cjs +1 -0
  100. package/dist/actions/get-usage-timeline.cjs.map +1 -1
  101. package/dist/actions/get-usage-timeline.d.cts +3 -3
  102. package/dist/actions/get-usage-timeline.d.cts.map +1 -1
  103. package/dist/actions/get-usage-timeline.d.mts +3 -3
  104. package/dist/actions/get-usage-timeline.d.mts.map +1 -1
  105. package/dist/actions/get-usage-timeline.mjs +1 -0
  106. package/dist/actions/get-usage-timeline.mjs.map +1 -1
  107. package/dist/actions/get-webhook-logs.cjs +1 -0
  108. package/dist/actions/get-webhook-logs.cjs.map +1 -1
  109. package/dist/actions/get-webhook-logs.d.cts +3 -3
  110. package/dist/actions/get-webhook-logs.d.cts.map +1 -1
  111. package/dist/actions/get-webhook-logs.d.mts +3 -3
  112. package/dist/actions/get-webhook-logs.d.mts.map +1 -1
  113. package/dist/actions/get-webhook-logs.mjs +1 -0
  114. package/dist/actions/get-webhook-logs.mjs.map +1 -1
  115. package/dist/actions/list-scheduled-jobs.cjs +1 -0
  116. package/dist/actions/list-scheduled-jobs.cjs.map +1 -1
  117. package/dist/actions/list-scheduled-jobs.d.cts +3 -6
  118. package/dist/actions/list-scheduled-jobs.d.cts.map +1 -1
  119. package/dist/actions/list-scheduled-jobs.d.mts +3 -6
  120. package/dist/actions/list-scheduled-jobs.d.mts.map +1 -1
  121. package/dist/actions/list-scheduled-jobs.mjs +1 -0
  122. package/dist/actions/list-scheduled-jobs.mjs.map +1 -1
  123. package/dist/actions/markdownify-status.cjs +1 -0
  124. package/dist/actions/markdownify-status.cjs.map +1 -1
  125. package/dist/actions/markdownify-status.d.cts +3 -3
  126. package/dist/actions/markdownify-status.d.cts.map +1 -1
  127. package/dist/actions/markdownify-status.d.mts +3 -3
  128. package/dist/actions/markdownify-status.d.mts.map +1 -1
  129. package/dist/actions/markdownify-status.mjs +1 -0
  130. package/dist/actions/markdownify-status.mjs.map +1 -1
  131. package/dist/actions/save-endpoint.cjs +1 -0
  132. package/dist/actions/save-endpoint.cjs.map +1 -1
  133. package/dist/actions/save-endpoint.d.cts +3 -21
  134. package/dist/actions/save-endpoint.d.cts.map +1 -1
  135. package/dist/actions/save-endpoint.d.mts +3 -21
  136. package/dist/actions/save-endpoint.d.mts.map +1 -1
  137. package/dist/actions/save-endpoint.mjs +1 -0
  138. package/dist/actions/save-endpoint.mjs.map +1 -1
  139. package/dist/actions/search-scraper-status.cjs +1 -0
  140. package/dist/actions/search-scraper-status.cjs.map +1 -1
  141. package/dist/actions/search-scraper-status.d.cts +3 -3
  142. package/dist/actions/search-scraper-status.d.cts.map +1 -1
  143. package/dist/actions/search-scraper-status.d.mts +3 -3
  144. package/dist/actions/search-scraper-status.d.mts.map +1 -1
  145. package/dist/actions/search-scraper-status.mjs +1 -0
  146. package/dist/actions/search-scraper-status.mjs.map +1 -1
  147. package/dist/actions/search-scraper.cjs +1 -0
  148. package/dist/actions/search-scraper.cjs.map +1 -1
  149. package/dist/actions/search-scraper.d.cts +3 -7
  150. package/dist/actions/search-scraper.d.cts.map +1 -1
  151. package/dist/actions/search-scraper.d.mts +3 -7
  152. package/dist/actions/search-scraper.d.mts.map +1 -1
  153. package/dist/actions/search-scraper.mjs +1 -0
  154. package/dist/actions/search-scraper.mjs.map +1 -1
  155. package/dist/actions/smart-crawler-status.cjs +1 -0
  156. package/dist/actions/smart-crawler-status.cjs.map +1 -1
  157. package/dist/actions/smart-crawler-status.d.cts +3 -3
  158. package/dist/actions/smart-crawler-status.d.cts.map +1 -1
  159. package/dist/actions/smart-crawler-status.d.mts +3 -3
  160. package/dist/actions/smart-crawler-status.d.mts.map +1 -1
  161. package/dist/actions/smart-crawler-status.mjs +1 -0
  162. package/dist/actions/smart-crawler-status.mjs.map +1 -1
  163. package/dist/actions/smart-scraper-start.cjs +1 -0
  164. package/dist/actions/smart-scraper-start.cjs.map +1 -1
  165. package/dist/actions/smart-scraper-start.d.cts +3 -17
  166. package/dist/actions/smart-scraper-start.d.cts.map +1 -1
  167. package/dist/actions/smart-scraper-start.d.mts +3 -17
  168. package/dist/actions/smart-scraper-start.d.mts.map +1 -1
  169. package/dist/actions/smart-scraper-start.mjs +1 -0
  170. package/dist/actions/smart-scraper-start.mjs.map +1 -1
  171. package/dist/actions/smart-scraper-status.cjs +1 -0
  172. package/dist/actions/smart-scraper-status.cjs.map +1 -1
  173. package/dist/actions/smart-scraper-status.d.cts +3 -3
  174. package/dist/actions/smart-scraper-status.d.cts.map +1 -1
  175. package/dist/actions/smart-scraper-status.d.mts +3 -3
  176. package/dist/actions/smart-scraper-status.d.mts.map +1 -1
  177. package/dist/actions/smart-scraper-status.mjs +1 -0
  178. package/dist/actions/smart-scraper-status.mjs.map +1 -1
  179. package/dist/actions/start-smart-crawler.cjs +1 -0
  180. package/dist/actions/start-smart-crawler.cjs.map +1 -1
  181. package/dist/actions/start-smart-crawler.d.cts +3 -22
  182. package/dist/actions/start-smart-crawler.d.cts.map +1 -1
  183. package/dist/actions/start-smart-crawler.d.mts +3 -22
  184. package/dist/actions/start-smart-crawler.d.mts.map +1 -1
  185. package/dist/actions/start-smart-crawler.mjs +1 -0
  186. package/dist/actions/start-smart-crawler.mjs.map +1 -1
  187. package/dist/actions/submit-feedback.cjs +1 -0
  188. package/dist/actions/submit-feedback.cjs.map +1 -1
  189. package/dist/actions/submit-feedback.d.cts +3 -5
  190. package/dist/actions/submit-feedback.d.cts.map +1 -1
  191. package/dist/actions/submit-feedback.d.mts +3 -5
  192. package/dist/actions/submit-feedback.d.mts.map +1 -1
  193. package/dist/actions/submit-feedback.mjs +1 -0
  194. package/dist/actions/submit-feedback.mjs.map +1 -1
  195. package/dist/actions/submit-product-feedback.cjs +1 -0
  196. package/dist/actions/submit-product-feedback.cjs.map +1 -1
  197. package/dist/actions/submit-product-feedback.d.cts +3 -19
  198. package/dist/actions/submit-product-feedback.d.cts.map +1 -1
  199. package/dist/actions/submit-product-feedback.d.mts +3 -19
  200. package/dist/actions/submit-product-feedback.d.mts.map +1 -1
  201. package/dist/actions/submit-product-feedback.mjs +1 -0
  202. package/dist/actions/submit-product-feedback.mjs.map +1 -1
  203. package/dist/actions/toonify.cjs +1 -0
  204. package/dist/actions/toonify.cjs.map +1 -1
  205. package/dist/actions/toonify.d.cts +3 -3
  206. package/dist/actions/toonify.d.cts.map +1 -1
  207. package/dist/actions/toonify.d.mts +3 -3
  208. package/dist/actions/toonify.d.mts.map +1 -1
  209. package/dist/actions/toonify.mjs +1 -0
  210. package/dist/actions/toonify.mjs.map +1 -1
  211. package/dist/actions/validate-api-key.cjs +1 -0
  212. package/dist/actions/validate-api-key.cjs.map +1 -1
  213. package/dist/actions/validate-api-key.d.cts +3 -1
  214. package/dist/actions/validate-api-key.d.cts.map +1 -1
  215. package/dist/actions/validate-api-key.d.mts +3 -1
  216. package/dist/actions/validate-api-key.d.mts.map +1 -1
  217. package/dist/actions/validate-api-key.mjs +1 -0
  218. package/dist/actions/validate-api-key.mjs.map +1 -1
  219. package/dist/app.cjs +5 -2
  220. package/dist/app.cjs.map +1 -1
  221. package/dist/app.d.cts +7 -1
  222. package/dist/app.d.cts.map +1 -1
  223. package/dist/app.d.mts +7 -1
  224. package/dist/app.d.mts.map +1 -1
  225. package/dist/app.mjs +3 -2
  226. package/dist/app.mjs.map +1 -1
  227. package/dist/index.d.cts +1 -1
  228. package/dist/index.d.mts +1 -1
  229. package/package.json +2 -2
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/smart-scraper-start.d.ts
@@ -32,23 +34,7 @@ declare const ScrapegraphAiSmartScraperStartOutput: z.ZodObject<{
32
34
  user_prompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
35
  website_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
36
  }, z.core.$loose>;
35
- declare const scrapegraphAiSmartScraperStart: import("@keystrokehq/action").WorkflowActionDefinition<{
36
- user_prompt: string;
37
- mock?: boolean | undefined;
38
- wait?: boolean | undefined;
39
- steps?: Record<string, unknown>[] | undefined;
40
- cookies?: Record<string, unknown> | undefined;
41
- headers?: Record<string, unknown> | undefined;
42
- stealth?: boolean | undefined;
43
- plain_text?: boolean | undefined;
44
- total_pages?: number | undefined;
45
- website_url?: string | undefined;
46
- website_html?: string | undefined;
47
- output_schema?: Record<string, unknown> | undefined;
48
- render_heavy_js?: boolean | undefined;
49
- website_markdown?: string | undefined;
50
- number_of_scrolls?: number | undefined;
51
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
37
+ declare const scrapegraphAiSmartScraperStart: AppAction<typeof ScrapegraphAiSmartScraperStartInput, typeof ScrapegraphAiSmartScraperStartOutput, typeof scrapegraphAi.credential>;
52
38
  //#endregion
53
39
  export { scrapegraphAiSmartScraperStart };
54
40
  //# sourceMappingURL=smart-scraper-start.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-scraper-start.d.cts","names":[],"sources":["../../src/actions/smart-scraper-start.ts"],"mappings":";;;cAIa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;cAiBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAUpC,8BAAA,gCAA8B,wBAAA"}
1
+ {"version":3,"file":"smart-scraper-start.d.cts","names":[],"sources":["../../src/actions/smart-scraper-start.ts"],"mappings":";;;;;cAMa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;cAiBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAUpC,8BAAA,EAAgC,SAAA,QACpC,mCAAA,SACA,oCAAA,SACA,aAAA,CAAc,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/smart-scraper-start.d.ts
@@ -32,23 +34,7 @@ declare const ScrapegraphAiSmartScraperStartOutput: z.ZodObject<{
32
34
  user_prompt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
33
35
  website_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
34
36
  }, z.core.$loose>;
35
- declare const scrapegraphAiSmartScraperStart: import("@keystrokehq/action").WorkflowActionDefinition<{
36
- user_prompt: string;
37
- mock?: boolean | undefined;
38
- wait?: boolean | undefined;
39
- steps?: Record<string, unknown>[] | undefined;
40
- cookies?: Record<string, unknown> | undefined;
41
- headers?: Record<string, unknown> | undefined;
42
- stealth?: boolean | undefined;
43
- plain_text?: boolean | undefined;
44
- total_pages?: number | undefined;
45
- website_url?: string | undefined;
46
- website_html?: string | undefined;
47
- output_schema?: Record<string, unknown> | undefined;
48
- render_heavy_js?: boolean | undefined;
49
- website_markdown?: string | undefined;
50
- number_of_scrolls?: number | undefined;
51
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
37
+ declare const scrapegraphAiSmartScraperStart: AppAction<typeof ScrapegraphAiSmartScraperStartInput, typeof ScrapegraphAiSmartScraperStartOutput, typeof scrapegraphAi.credential>;
52
38
  //#endregion
53
39
  export { scrapegraphAiSmartScraperStart };
54
40
  //# sourceMappingURL=smart-scraper-start.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-scraper-start.d.mts","names":[],"sources":["../../src/actions/smart-scraper-start.ts"],"mappings":";;;cAIa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;cAiBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAUpC,8BAAA,gCAA8B,wBAAA"}
1
+ {"version":3,"file":"smart-scraper-start.d.mts","names":[],"sources":["../../src/actions/smart-scraper-start.ts"],"mappings":";;;;;cAMa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;cAiBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;cAUpC,8BAAA,EAAgC,SAAA,QACpC,mCAAA,SACA,oCAAA,SACA,aAAA,CAAc,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 scrapegraphAiSmartScraperStart = action("SCRAPEGRAPH_AI_SMART_SCRAPER_START", {
@@ -1 +1 @@
1
- {"version":3,"file":"smart-scraper-start.mjs","names":[],"sources":["../../src/actions/smart-scraper-start.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSmartScraperStartInput = z.object({\n mock: z.boolean().describe(\"If true, return mock test data instead of actual extraction. Useful for testing without consuming credits.\").optional(),\n wait: z.boolean().default(false).describe(\"If true, wait for job completion and return full results. If false (default), return request_id immediately for async polling. Poll using SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS with the returned `request_id`.\").optional(),\n steps: z.array(z.record(z.string(), z.unknown())).describe(\"Browser interaction actions to perform before extraction (e.g., click buttons, fill forms). Each step is a dict with action type and parameters.\").optional(),\n cookies: z.record(z.string(), z.unknown()).describe(\"Cookies to include in the request for authentication or session management.\").optional(),\n headers: z.record(z.string(), z.unknown()).describe(\"Custom HTTP headers for the scraping request (e.g., User-Agent, Accept-Language). Used when fetching website_url.\").optional(),\n stealth: z.boolean().describe(\"Enable anti-bot detection techniques. Adds +4 credit cost per request. Use for sites with bot protection.\").optional(),\n plain_text: z.boolean().describe(\"Return extracted content as plain text instead of JSON. Useful for simple text extraction.\").optional(),\n total_pages: z.number().int().describe(\"Number of pages to scrape for paginated content (1-100). Default is 1.\").optional(),\n user_prompt: z.string().describe(\"Natural language description of what information to extract from the webpage. Be specific about the data you want (e.g., 'Extract the product name, price, and description').\"),\n website_url: z.string().describe(\"Full URL of the webpage to scrape (must include https://). Required if website_html and website_markdown are not provided.\").optional(),\n website_html: z.string().describe(\"Raw HTML content to scrape (max 2MB). Use this if you already have the page HTML. Required if website_url and website_markdown are not provided.\").optional(),\n output_schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema defining the structure of extracted data. Helps ensure consistent, structured output.\").optional(),\n render_heavy_js: z.boolean().describe(\"Enable enhanced JavaScript rendering for Single Page Applications (SPAs) and heavy JS sites. May increase processing time.\").optional(),\n website_markdown: z.string().describe(\"Raw Markdown content to scrape (max 2MB). Use this if you already have the page content as Markdown. Required if website_url and website_html are not provided.\").optional(),\n number_of_scrolls: z.number().int().describe(\"Number of scroll iterations for infinite scroll pages (0-50). Default is 0. Use for pages that load content on scroll.\").optional(),\n}).describe(\"Request schema for initiating a SmartScraper job.\");\nexport const ScrapegraphAiSmartScraperStartOutput = z.object({\n error: z.string().describe(\"Error message if the job failed (when wait=True).\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted information based on the prompt (when wait=True and completed).\").nullable().optional(),\n status: z.string().describe(\"Overall request status (e.g., 'success').\").nullable(),\n job_status: z.enum([\"queued\", \"processing\", \"completed\", \"failed\"]).describe(\"Current status of the scraping job (when wait=True).\").nullable().optional(),\n request_id: z.string().describe(\"Request ID when wait=False.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original prompt provided by the user (when wait=True).\").nullable().optional(),\n website_url: z.string().describe(\"The URL of the webpage that was processed (when wait=True).\").nullable().optional(),\n}).passthrough().describe(\"Response schema returned after initiating a SmartScraper job.\");\n\nexport const scrapegraphAiSmartScraperStart = action(\"SCRAPEGRAPH_AI_SMART_SCRAPER_START\", {\n slug: \"scrapegraph_ai-smart-scraper-start\",\n name: \"Start Smart Scraper\",\n description: \"Start AI-powered web scraping with natural language extraction prompts. When `wait` is false (default), returns a `request_id`; poll for results using SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS. Check `error` and `job_status` fields in the response before using extracted data.\",\n input: ScrapegraphAiSmartScraperStartInput,\n output: ScrapegraphAiSmartScraperStartOutput,\n});\n"],"mappings":";;AA+BA,MAAa,iCAAiC,OAAO,sCAAsC;CACzF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA/BiD,EAAE,OAAO;EAC1D,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,4GAA4G,CAAC,CAAC,SAAS;EAClJ,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,+MAA+M,CAAC,CAAC,SAAS;EACpQ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;EACxN,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;EAC5I,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;EAClL,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,2GAA2G,CAAC,CAAC,SAAS;EACpJ,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,4FAA4F,CAAC,CAAC,SAAS;EACxI,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EAC1H,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+KAA+K;EAChN,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;EACxK,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;EAC/L,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mGAAmG,CAAC,CAAC,SAAS;EACxK,iBAAiB,EAAE,QAAQ,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;EAC7K,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,iKAAiK,CAAC,CAAC,SAAS;EAClN,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;CAClL,CAAC,CAAC,CAAC,SAAS,mDAeH;CACP,QAfkD,EAAE,OAAO;EAC3D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpG,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpJ,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;EAClF,YAAY,EAAE,KAAK;GAAC;GAAU;GAAc;GAAa;EAAQ,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzJ,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"smart-scraper-start.mjs","names":[],"sources":["../../src/actions/smart-scraper-start.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiSmartScraperStartInput = z.object({\n mock: z.boolean().describe(\"If true, return mock test data instead of actual extraction. Useful for testing without consuming credits.\").optional(),\n wait: z.boolean().default(false).describe(\"If true, wait for job completion and return full results. If false (default), return request_id immediately for async polling. Poll using SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS with the returned `request_id`.\").optional(),\n steps: z.array(z.record(z.string(), z.unknown())).describe(\"Browser interaction actions to perform before extraction (e.g., click buttons, fill forms). Each step is a dict with action type and parameters.\").optional(),\n cookies: z.record(z.string(), z.unknown()).describe(\"Cookies to include in the request for authentication or session management.\").optional(),\n headers: z.record(z.string(), z.unknown()).describe(\"Custom HTTP headers for the scraping request (e.g., User-Agent, Accept-Language). Used when fetching website_url.\").optional(),\n stealth: z.boolean().describe(\"Enable anti-bot detection techniques. Adds +4 credit cost per request. Use for sites with bot protection.\").optional(),\n plain_text: z.boolean().describe(\"Return extracted content as plain text instead of JSON. Useful for simple text extraction.\").optional(),\n total_pages: z.number().int().describe(\"Number of pages to scrape for paginated content (1-100). Default is 1.\").optional(),\n user_prompt: z.string().describe(\"Natural language description of what information to extract from the webpage. Be specific about the data you want (e.g., 'Extract the product name, price, and description').\"),\n website_url: z.string().describe(\"Full URL of the webpage to scrape (must include https://). Required if website_html and website_markdown are not provided.\").optional(),\n website_html: z.string().describe(\"Raw HTML content to scrape (max 2MB). Use this if you already have the page HTML. Required if website_url and website_markdown are not provided.\").optional(),\n output_schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema defining the structure of extracted data. Helps ensure consistent, structured output.\").optional(),\n render_heavy_js: z.boolean().describe(\"Enable enhanced JavaScript rendering for Single Page Applications (SPAs) and heavy JS sites. May increase processing time.\").optional(),\n website_markdown: z.string().describe(\"Raw Markdown content to scrape (max 2MB). Use this if you already have the page content as Markdown. Required if website_url and website_html are not provided.\").optional(),\n number_of_scrolls: z.number().int().describe(\"Number of scroll iterations for infinite scroll pages (0-50). Default is 0. Use for pages that load content on scroll.\").optional(),\n}).describe(\"Request schema for initiating a SmartScraper job.\");\nexport const ScrapegraphAiSmartScraperStartOutput = z.object({\n error: z.string().describe(\"Error message if the job failed (when wait=True).\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted information based on the prompt (when wait=True and completed).\").nullable().optional(),\n status: z.string().describe(\"Overall request status (e.g., 'success').\").nullable(),\n job_status: z.enum([\"queued\", \"processing\", \"completed\", \"failed\"]).describe(\"Current status of the scraping job (when wait=True).\").nullable().optional(),\n request_id: z.string().describe(\"Request ID when wait=False.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original prompt provided by the user (when wait=True).\").nullable().optional(),\n website_url: z.string().describe(\"The URL of the webpage that was processed (when wait=True).\").nullable().optional(),\n}).passthrough().describe(\"Response schema returned after initiating a SmartScraper job.\");\n\nexport const scrapegraphAiSmartScraperStart: AppAction<\n typeof ScrapegraphAiSmartScraperStartInput,\n typeof ScrapegraphAiSmartScraperStartOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SMART_SCRAPER_START\", {\n slug: \"scrapegraph_ai-smart-scraper-start\",\n name: \"Start Smart Scraper\",\n description: \"Start AI-powered web scraping with natural language extraction prompts. When `wait` is false (default), returns a `request_id`; poll for results using SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS. Check `error` and `job_status` fields in the response before using extracted data.\",\n input: ScrapegraphAiSmartScraperStartInput,\n output: ScrapegraphAiSmartScraperStartOutput,\n});\n"],"mappings":";;;AAiCA,MAAa,iCAIT,OAAO,sCAAsC;CAC/C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAnCiD,EAAE,OAAO;EAC1D,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,4GAA4G,CAAC,CAAC,SAAS;EAClJ,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,+MAA+M,CAAC,CAAC,SAAS;EACpQ,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;EACxN,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;EAC5I,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;EAClL,SAAS,EAAE,QAAQ,CAAC,CAAC,SAAS,2GAA2G,CAAC,CAAC,SAAS;EACpJ,YAAY,EAAE,QAAQ,CAAC,CAAC,SAAS,4FAA4F,CAAC,CAAC,SAAS;EACxI,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;EAC1H,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+KAA+K;EAChN,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;EACxK,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;EAC/L,eAAe,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mGAAmG,CAAC,CAAC,SAAS;EACxK,iBAAiB,EAAE,QAAQ,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;EAC7K,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,iKAAiK,CAAC,CAAC,SAAS;EAClN,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;CAClL,CAAC,CAAC,CAAC,SAAS,mDAmBH;CACP,QAnBkD,EAAE,OAAO;EAC3D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpG,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpJ,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;EAClF,YAAY,EAAE,KAAK;GAAC;GAAU;GAAc;GAAa;EAAQ,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzJ,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAWhB;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/smart-scraper-status.ts
@@ -1 +1 @@
1
- {"version":3,"file":"smart-scraper-status.cjs","names":["z","action"],"sources":["../../src/actions/smart-scraper-status.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSmartScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request returned by the Start SmartScraper action\"),\n}).describe(\"Request model for checking the status of a SmartScraper job.\");\nexport const ScrapegraphAiSmartScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message explaining why the request failed. Only populated when status is 'failed'.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted data from the website. Only populated when status is 'completed'. Structure depends on the output_schema provided in the original request.\").nullable().optional(),\n status: z.string().describe(\"Current status of the request: 'queued' (waiting to be processed), 'processing' (being processed), 'completed' (finished successfully), or 'failed' (error occurred)\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request\").nullable(),\n user_prompt: z.string().describe(\"The natural language prompt describing what information to extract\").nullable(),\n website_url: z.string().describe(\"URL of the website being scraped. May be null if website_html was provided instead of a URL.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SmartScraper status checks.\");\n\nexport const scrapegraphAiSmartScraperStatus = action(\"SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-smart-scraper-status\",\n name: \"SmartScraper Status\",\n description: \"Check the status and retrieve results of a SmartScraper web scraping job. Use this action to poll for completion after starting a SmartScraper job with wait=false. The request_id is returned by the Start SmartScraper action. Typical workflow: 1. Start a scraping job with SCRAPEGRAPH_AI_SMART_SCRAPER_START (wait=false) 2. Use the returned request_id to check status with this action 3. Poll until status is 'completed' or 'failed' 4. When completed, the 'result' field contains the extracted data. When completed, also check the 'error' field before consuming 'result', as 'failed' status populates 'error' instead of 'result'.\",\n input: ScrapegraphAiSmartScraperStatusInput,\n output: ScrapegraphAiSmartScraperStatusOutput,\n});\n"],"mappings":";;;AAIA,MAAa,uCAAuCA,IAAAA,EAAE,OAAO,EAC3D,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,EACtI,CAAC,CAAC,CAAC,SAAS,8DAA8D;AAC1E,MAAa,wCAAwCA,IAAAA,EAAE,OAAO;CAC5D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3I,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,sJAAsJ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/N,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS;CAC7M,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACrG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CAChH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAE1E,MAAa,kCAAkCC,eAAAA,OAAO,uCAAuC;CAC3F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"smart-scraper-status.cjs","names":["z","action"],"sources":["../../src/actions/smart-scraper-status.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiSmartScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request returned by the Start SmartScraper action\"),\n}).describe(\"Request model for checking the status of a SmartScraper job.\");\nexport const ScrapegraphAiSmartScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message explaining why the request failed. Only populated when status is 'failed'.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted data from the website. Only populated when status is 'completed'. Structure depends on the output_schema provided in the original request.\").nullable().optional(),\n status: z.string().describe(\"Current status of the request: 'queued' (waiting to be processed), 'processing' (being processed), 'completed' (finished successfully), or 'failed' (error occurred)\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request\").nullable(),\n user_prompt: z.string().describe(\"The natural language prompt describing what information to extract\").nullable(),\n website_url: z.string().describe(\"URL of the website being scraped. May be null if website_html was provided instead of a URL.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SmartScraper status checks.\");\n\nexport const scrapegraphAiSmartScraperStatus: AppAction<\n typeof ScrapegraphAiSmartScraperStatusInput,\n typeof ScrapegraphAiSmartScraperStatusOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-smart-scraper-status\",\n name: \"SmartScraper Status\",\n description: \"Check the status and retrieve results of a SmartScraper web scraping job. Use this action to poll for completion after starting a SmartScraper job with wait=false. The request_id is returned by the Start SmartScraper action. Typical workflow: 1. Start a scraping job with SCRAPEGRAPH_AI_SMART_SCRAPER_START (wait=false) 2. Use the returned request_id to check status with this action 3. Poll until status is 'completed' or 'failed' 4. When completed, the 'result' field contains the extracted data. When completed, also check the 'error' field before consuming 'result', as 'failed' status populates 'error' instead of 'result'.\",\n input: ScrapegraphAiSmartScraperStatusInput,\n output: ScrapegraphAiSmartScraperStatusOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,uCAAuCA,IAAAA,EAAE,OAAO,EAC3D,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,EACtI,CAAC,CAAC,CAAC,SAAS,8DAA8D;AAC1E,MAAa,wCAAwCA,IAAAA,EAAE,OAAO;CAC5D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3I,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,sJAAsJ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC/N,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS;CAC7M,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CACrG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;CAChH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACvJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAE1E,MAAa,kCAITC,eAAAA,OAAO,uCAAuC;CAChD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/smart-scraper-status.d.ts
@@ -12,9 +14,7 @@ declare const ScrapegraphAiSmartScraperStatusOutput: z.ZodObject<{
12
14
  user_prompt: z.ZodNullable<z.ZodString>;
13
15
  website_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
16
  }, z.core.$loose>;
15
- declare const scrapegraphAiSmartScraperStatus: import("@keystrokehq/action").WorkflowActionDefinition<{
16
- request_id: string;
17
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
17
+ declare const scrapegraphAiSmartScraperStatus: AppAction<typeof ScrapegraphAiSmartScraperStatusInput, typeof ScrapegraphAiSmartScraperStatusOutput, typeof scrapegraphAi.credential>;
18
18
  //#endregion
19
19
  export { scrapegraphAiSmartScraperStatus };
20
20
  //# sourceMappingURL=smart-scraper-status.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-scraper-status.d.cts","names":[],"sources":["../../src/actions/smart-scraper-status.ts"],"mappings":";;;cAIa,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAGpC,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;cASrC,+BAAA,gCAA+B,wBAAA"}
1
+ {"version":3,"file":"smart-scraper-status.d.cts","names":[],"sources":["../../src/actions/smart-scraper-status.ts"],"mappings":";;;;;cAMa,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAGpC,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;cASrC,+BAAA,EAAiC,SAAA,QACrC,oCAAA,SACA,qCAAA,SACA,aAAA,CAAc,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/smart-scraper-status.d.ts
@@ -12,9 +14,7 @@ declare const ScrapegraphAiSmartScraperStatusOutput: z.ZodObject<{
12
14
  user_prompt: z.ZodNullable<z.ZodString>;
13
15
  website_url: z.ZodOptional<z.ZodNullable<z.ZodString>>;
14
16
  }, z.core.$loose>;
15
- declare const scrapegraphAiSmartScraperStatus: import("@keystrokehq/action").WorkflowActionDefinition<{
16
- request_id: string;
17
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
17
+ declare const scrapegraphAiSmartScraperStatus: AppAction<typeof ScrapegraphAiSmartScraperStatusInput, typeof ScrapegraphAiSmartScraperStatusOutput, typeof scrapegraphAi.credential>;
18
18
  //#endregion
19
19
  export { scrapegraphAiSmartScraperStatus };
20
20
  //# sourceMappingURL=smart-scraper-status.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"smart-scraper-status.d.mts","names":[],"sources":["../../src/actions/smart-scraper-status.ts"],"mappings":";;;cAIa,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAGpC,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;cASrC,+BAAA,gCAA+B,wBAAA"}
1
+ {"version":3,"file":"smart-scraper-status.d.mts","names":[],"sources":["../../src/actions/smart-scraper-status.ts"],"mappings":";;;;;cAMa,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAGpC,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;cASrC,+BAAA,EAAiC,SAAA,QACrC,oCAAA,SACA,qCAAA,SACA,aAAA,CAAc,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 scrapegraphAiSmartScraperStatus = action("SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS", {
@@ -1 +1 @@
1
- {"version":3,"file":"smart-scraper-status.mjs","names":[],"sources":["../../src/actions/smart-scraper-status.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSmartScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request returned by the Start SmartScraper action\"),\n}).describe(\"Request model for checking the status of a SmartScraper job.\");\nexport const ScrapegraphAiSmartScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message explaining why the request failed. Only populated when status is 'failed'.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted data from the website. Only populated when status is 'completed'. Structure depends on the output_schema provided in the original request.\").nullable().optional(),\n status: z.string().describe(\"Current status of the request: 'queued' (waiting to be processed), 'processing' (being processed), 'completed' (finished successfully), or 'failed' (error occurred)\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request\").nullable(),\n user_prompt: z.string().describe(\"The natural language prompt describing what information to extract\").nullable(),\n website_url: z.string().describe(\"URL of the website being scraped. May be null if website_html was provided instead of a URL.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SmartScraper status checks.\");\n\nexport const scrapegraphAiSmartScraperStatus = action(\"SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-smart-scraper-status\",\n name: \"SmartScraper Status\",\n description: \"Check the status and retrieve results of a SmartScraper web scraping job. Use this action to poll for completion after starting a SmartScraper job with wait=false. The request_id is returned by the Start SmartScraper action. Typical workflow: 1. Start a scraping job with SCRAPEGRAPH_AI_SMART_SCRAPER_START (wait=false) 2. Use the returned request_id to check status with this action 3. Poll until status is 'completed' or 'failed' 4. When completed, the 'result' field contains the extracted data. When completed, also check the 'error' field before consuming 'result', as 'failed' status populates 'error' instead of 'result'.\",\n input: ScrapegraphAiSmartScraperStatusInput,\n output: ScrapegraphAiSmartScraperStatusOutput,\n});\n"],"mappings":";;AAgBA,MAAa,kCAAkC,OAAO,uCAAuC;CAC3F,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAhBkD,EAAE,OAAO,EAC3D,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,EACtI,CAAC,CAAC,CAAC,SAAS,8DAcH;CACP,QAdmD,EAAE,OAAO;EAC5D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3I,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,sJAAsJ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/N,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS;EAC7M,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACrG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;EAChH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"smart-scraper-status.mjs","names":[],"sources":["../../src/actions/smart-scraper-status.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiSmartScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request returned by the Start SmartScraper action\"),\n}).describe(\"Request model for checking the status of a SmartScraper job.\");\nexport const ScrapegraphAiSmartScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message explaining why the request failed. Only populated when status is 'failed'.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted data from the website. Only populated when status is 'completed'. Structure depends on the output_schema provided in the original request.\").nullable().optional(),\n status: z.string().describe(\"Current status of the request: 'queued' (waiting to be processed), 'processing' (being processed), 'completed' (finished successfully), or 'failed' (error occurred)\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the SmartScraper request\").nullable(),\n user_prompt: z.string().describe(\"The natural language prompt describing what information to extract\").nullable(),\n website_url: z.string().describe(\"URL of the website being scraped. May be null if website_html was provided instead of a URL.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SmartScraper status checks.\");\n\nexport const scrapegraphAiSmartScraperStatus: AppAction<\n typeof ScrapegraphAiSmartScraperStatusInput,\n typeof ScrapegraphAiSmartScraperStatusOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SMART_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-smart-scraper-status\",\n name: \"SmartScraper Status\",\n description: \"Check the status and retrieve results of a SmartScraper web scraping job. Use this action to poll for completion after starting a SmartScraper job with wait=false. The request_id is returned by the Start SmartScraper action. Typical workflow: 1. Start a scraping job with SCRAPEGRAPH_AI_SMART_SCRAPER_START (wait=false) 2. Use the returned request_id to check status with this action 3. Poll until status is 'completed' or 'failed' 4. When completed, the 'result' field contains the extracted data. When completed, also check the 'error' field before consuming 'result', as 'failed' status populates 'error' instead of 'result'.\",\n input: ScrapegraphAiSmartScraperStatusInput,\n output: ScrapegraphAiSmartScraperStatusOutput,\n});\n"],"mappings":";;;AAkBA,MAAa,kCAIT,OAAO,uCAAuC;CAChD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OApBkD,EAAE,OAAO,EAC3D,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oGAAoG,EACtI,CAAC,CAAC,CAAC,SAAS,8DAkBH;CACP,QAlBmD,EAAE,OAAO;EAC5D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,0FAA0F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC3I,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,sJAAsJ,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC/N,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,sKAAsK,CAAC,CAAC,SAAS;EAC7M,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EACrG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS;EAChH,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,8FAA8F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvJ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAWhB;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/start-smart-crawler.ts
@@ -1 +1 @@
1
- {"version":3,"file":"start-smart-crawler.cjs","names":["z","action"],"sources":["../../src/actions/start-smart-crawler.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiStartSmartCrawlerInput = z.object({\n url: z.string().describe(\"The starting URL for the crawl. Must be a valid HTTP or HTTPS URL.\"),\n depth: z.number().int().default(1).describe(\"Maximum crawl depth - how many link levels to follow from the start URL. Default is 1.\").optional(),\n rules: z.object({\n exclude: z.array(z.string()).describe(\"Array of regex patterns to exclude URLs from crawling.\").optional(),\n same_domain: z.boolean().describe(\"Whether to restrict crawling to the same domain as the starting URL.\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Array of path patterns to exclude from the crawl (e.g., ['/admin/*']). Takes precedence over include_paths.\").optional(),\n include_paths: z.array(z.string()).describe(\"Array of path patterns to include in the crawl (e.g., ['/blog/*']). exclude_paths takes precedence.\").optional(),\n}).describe(\"Crawl rules for filtering URLs during the crawl process.\").optional(),\n prompt: z.string().describe(\"Instructions for what data to extract during the crawl. Required when extraction_mode=true. Be specific about the information you want extracted.\").optional(),\n schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Helps ensure consistent, structured output in extraction mode.\").optional(),\n breadth: z.number().int().describe(\"Maximum number of links to crawl per depth level. If not specified (null), unlimited breadth is allowed. Ignored when sitemap=true.\").optional(),\n sitemap: z.boolean().default(false).describe(\"Whether to use sitemap.xml for URL discovery instead of link following. When enabled, ignores breadth parameter. Default is false.\").optional(),\n stealth: z.boolean().default(false).describe(\"Enable stealth mode to bypass bot detection and anti-scraping measures. Adds +4 credits per page. Use for sites with bot protection. Default is false.\").optional(),\n max_pages: z.number().int().default(10).describe(\"Maximum total number of pages to crawl across all depth levels. Default is 10.\").optional(),\n batch_size: z.number().int().default(1).describe(\"Number of pages to process in each batch during the crawl. Higher values may speed up large crawls. Default is 1.\").optional(),\n webhook_url: z.string().describe(\"Webhook URL to receive the job completion notification. The result will be POSTed to this URL when the crawl finishes.\").optional(),\n cache_website: z.boolean().default(false).describe(\"Whether to cache the website content for faster subsequent crawls. Default is false.\").optional(),\n extraction_mode: z.boolean().default(true).describe(\"When true, enables AI-powered extraction using LLM (default, 10 credits/page). When false, enables markdown conversion mode (NO AI processing, 2 credits/page, 80% cheaper).\").optional(),\n render_heavy_js: z.boolean().default(false).describe(\"Enable enhanced JavaScript rendering for Single Page Applications (SPAs) and sites with heavy JavaScript. May increase processing time. Default is false.\").optional(),\n same_domain_only: z.boolean().default(true).describe(\"Whether to restrict crawling to only pages on the same domain as the starting URL. Default is true.\").optional(),\n}).describe(\"Request schema to start a SmartCrawler job for multi-page AI extraction.\");\nexport const ScrapegraphAiStartSmartCrawlerOutput = z.object({\n task_id: z.string().describe(\"Unique identifier for the crawl task. Use this ID to check the status or retrieve results later.\").nullable(),\n}).passthrough().describe(\"Response schema returned after initiating a SmartCrawler job.\");\n\nexport const scrapegraphAiStartSmartCrawler = action(\"SCRAPEGRAPH_AI_START_SMART_CRAWLER\", {\n slug: \"scrapegraph_ai-start-smart-crawler\",\n name: \"Start Smart Crawler (Async)\",\n description: \"Tool to start a multi-page web crawl using SmartCrawler for AI-powered data extraction. Use when you need to extract structured data from multiple pages of a website. Returns immediately with a task_id - use the status check action to monitor progress and retrieve results.\",\n input: ScrapegraphAiStartSmartCrawlerInput,\n output: ScrapegraphAiStartSmartCrawlerOutput,\n});\n"],"mappings":";;;AAIA,MAAa,sCAAsCA,IAAAA,EAAE,OAAO;CAC1D,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE;CAC7F,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS;CAC/I,OAAOA,IAAAA,EAAE,OAAO;EAChB,SAASA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;EACzG,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;EACnH,eAAeA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;EACpK,eAAeA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;CAC9J,CAAC,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC/E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;CAC1L,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6HAA6H,CAAC,CAAC,SAAS;CAC3L,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qIAAqI,CAAC,CAAC,SAAS;CACnL,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;CAC5L,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;CAChN,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;CAC5I,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;CAC/K,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;CACpK,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CACpJ,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;CAC7O,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,2JAA2J,CAAC,CAAC,SAAS;CAC3N,kBAAkBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;AACvK,CAAC,CAAC,CAAC,SAAS,0EAA0E;AACtF,MAAa,uCAAuCA,IAAAA,EAAE,OAAO,EAC3D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kGAAkG,CAAC,CAAC,SAAS,EAC5I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAA+D;AAEzF,MAAa,iCAAiCC,eAAAA,OAAO,sCAAsC;CACzF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"start-smart-crawler.cjs","names":["z","action"],"sources":["../../src/actions/start-smart-crawler.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiStartSmartCrawlerInput = z.object({\n url: z.string().describe(\"The starting URL for the crawl. Must be a valid HTTP or HTTPS URL.\"),\n depth: z.number().int().default(1).describe(\"Maximum crawl depth - how many link levels to follow from the start URL. Default is 1.\").optional(),\n rules: z.object({\n exclude: z.array(z.string()).describe(\"Array of regex patterns to exclude URLs from crawling.\").optional(),\n same_domain: z.boolean().describe(\"Whether to restrict crawling to the same domain as the starting URL.\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Array of path patterns to exclude from the crawl (e.g., ['/admin/*']). Takes precedence over include_paths.\").optional(),\n include_paths: z.array(z.string()).describe(\"Array of path patterns to include in the crawl (e.g., ['/blog/*']). exclude_paths takes precedence.\").optional(),\n}).describe(\"Crawl rules for filtering URLs during the crawl process.\").optional(),\n prompt: z.string().describe(\"Instructions for what data to extract during the crawl. Required when extraction_mode=true. Be specific about the information you want extracted.\").optional(),\n schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Helps ensure consistent, structured output in extraction mode.\").optional(),\n breadth: z.number().int().describe(\"Maximum number of links to crawl per depth level. If not specified (null), unlimited breadth is allowed. Ignored when sitemap=true.\").optional(),\n sitemap: z.boolean().default(false).describe(\"Whether to use sitemap.xml for URL discovery instead of link following. When enabled, ignores breadth parameter. Default is false.\").optional(),\n stealth: z.boolean().default(false).describe(\"Enable stealth mode to bypass bot detection and anti-scraping measures. Adds +4 credits per page. Use for sites with bot protection. Default is false.\").optional(),\n max_pages: z.number().int().default(10).describe(\"Maximum total number of pages to crawl across all depth levels. Default is 10.\").optional(),\n batch_size: z.number().int().default(1).describe(\"Number of pages to process in each batch during the crawl. Higher values may speed up large crawls. Default is 1.\").optional(),\n webhook_url: z.string().describe(\"Webhook URL to receive the job completion notification. The result will be POSTed to this URL when the crawl finishes.\").optional(),\n cache_website: z.boolean().default(false).describe(\"Whether to cache the website content for faster subsequent crawls. Default is false.\").optional(),\n extraction_mode: z.boolean().default(true).describe(\"When true, enables AI-powered extraction using LLM (default, 10 credits/page). When false, enables markdown conversion mode (NO AI processing, 2 credits/page, 80% cheaper).\").optional(),\n render_heavy_js: z.boolean().default(false).describe(\"Enable enhanced JavaScript rendering for Single Page Applications (SPAs) and sites with heavy JavaScript. May increase processing time. Default is false.\").optional(),\n same_domain_only: z.boolean().default(true).describe(\"Whether to restrict crawling to only pages on the same domain as the starting URL. Default is true.\").optional(),\n}).describe(\"Request schema to start a SmartCrawler job for multi-page AI extraction.\");\nexport const ScrapegraphAiStartSmartCrawlerOutput = z.object({\n task_id: z.string().describe(\"Unique identifier for the crawl task. Use this ID to check the status or retrieve results later.\").nullable(),\n}).passthrough().describe(\"Response schema returned after initiating a SmartCrawler job.\");\n\nexport const scrapegraphAiStartSmartCrawler: AppAction<\n typeof ScrapegraphAiStartSmartCrawlerInput,\n typeof ScrapegraphAiStartSmartCrawlerOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_START_SMART_CRAWLER\", {\n slug: \"scrapegraph_ai-start-smart-crawler\",\n name: \"Start Smart Crawler (Async)\",\n description: \"Tool to start a multi-page web crawl using SmartCrawler for AI-powered data extraction. Use when you need to extract structured data from multiple pages of a website. Returns immediately with a task_id - use the status check action to monitor progress and retrieve results.\",\n input: ScrapegraphAiStartSmartCrawlerInput,\n output: ScrapegraphAiStartSmartCrawlerOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,sCAAsCA,IAAAA,EAAE,OAAO;CAC1D,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE;CAC7F,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS;CAC/I,OAAOA,IAAAA,EAAE,OAAO;EAChB,SAASA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;EACzG,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;EACnH,eAAeA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;EACpK,eAAeA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;CAC9J,CAAC,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAC/E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;CAC1L,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6HAA6H,CAAC,CAAC,SAAS;CAC3L,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qIAAqI,CAAC,CAAC,SAAS;CACnL,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;CAC5L,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;CAChN,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;CAC5I,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;CAC/K,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;CACpK,eAAeA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;CACpJ,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;CAC7O,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,2JAA2J,CAAC,CAAC,SAAS;CAC3N,kBAAkBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;AACvK,CAAC,CAAC,CAAC,SAAS,0EAA0E;AACtF,MAAa,uCAAuCA,IAAAA,EAAE,OAAO,EAC3D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kGAAkG,CAAC,CAAC,SAAS,EAC5I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAA+D;AAEzF,MAAa,iCAITC,eAAAA,OAAO,sCAAsC;CAC/C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/start-smart-crawler.d.ts
@@ -26,28 +28,7 @@ declare const ScrapegraphAiStartSmartCrawlerInput: z.ZodObject<{
26
28
  declare const ScrapegraphAiStartSmartCrawlerOutput: z.ZodObject<{
27
29
  task_id: z.ZodNullable<z.ZodString>;
28
30
  }, z.core.$loose>;
29
- declare const scrapegraphAiStartSmartCrawler: import("@keystrokehq/action").WorkflowActionDefinition<{
30
- url: string;
31
- depth?: number | undefined;
32
- rules?: {
33
- exclude?: string[] | undefined;
34
- same_domain?: boolean | undefined;
35
- exclude_paths?: string[] | undefined;
36
- include_paths?: string[] | undefined;
37
- } | undefined;
38
- prompt?: string | undefined;
39
- schema?: Record<string, unknown> | undefined;
40
- breadth?: number | undefined;
41
- sitemap?: boolean | undefined;
42
- stealth?: boolean | undefined;
43
- max_pages?: number | undefined;
44
- batch_size?: number | undefined;
45
- webhook_url?: string | undefined;
46
- cache_website?: boolean | undefined;
47
- extraction_mode?: boolean | undefined;
48
- render_heavy_js?: boolean | undefined;
49
- same_domain_only?: boolean | undefined;
50
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
31
+ declare const scrapegraphAiStartSmartCrawler: AppAction<typeof ScrapegraphAiStartSmartCrawlerInput, typeof ScrapegraphAiStartSmartCrawlerOutput, typeof scrapegraphAi.credential>;
51
32
  //#endregion
52
33
  export { scrapegraphAiStartSmartCrawler };
53
34
  //# sourceMappingURL=start-smart-crawler.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-smart-crawler.d.cts","names":[],"sources":["../../src/actions/start-smart-crawler.ts"],"mappings":";;;cAIa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAsBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAIpC,8BAAA,gCAA8B,wBAAA;;;;;;;;;;WAMzC,MAAA"}
1
+ {"version":3,"file":"start-smart-crawler.d.cts","names":[],"sources":["../../src/actions/start-smart-crawler.ts"],"mappings":";;;;;cAMa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAsBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAIpC,8BAAA,EAAgC,SAAA,QACpC,mCAAA,SACA,oCAAA,SACA,aAAA,CAAc,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/start-smart-crawler.d.ts
@@ -26,28 +28,7 @@ declare const ScrapegraphAiStartSmartCrawlerInput: z.ZodObject<{
26
28
  declare const ScrapegraphAiStartSmartCrawlerOutput: z.ZodObject<{
27
29
  task_id: z.ZodNullable<z.ZodString>;
28
30
  }, z.core.$loose>;
29
- declare const scrapegraphAiStartSmartCrawler: import("@keystrokehq/action").WorkflowActionDefinition<{
30
- url: string;
31
- depth?: number | undefined;
32
- rules?: {
33
- exclude?: string[] | undefined;
34
- same_domain?: boolean | undefined;
35
- exclude_paths?: string[] | undefined;
36
- include_paths?: string[] | undefined;
37
- } | undefined;
38
- prompt?: string | undefined;
39
- schema?: Record<string, unknown> | undefined;
40
- breadth?: number | undefined;
41
- sitemap?: boolean | undefined;
42
- stealth?: boolean | undefined;
43
- max_pages?: number | undefined;
44
- batch_size?: number | undefined;
45
- webhook_url?: string | undefined;
46
- cache_website?: boolean | undefined;
47
- extraction_mode?: boolean | undefined;
48
- render_heavy_js?: boolean | undefined;
49
- same_domain_only?: boolean | undefined;
50
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
31
+ declare const scrapegraphAiStartSmartCrawler: AppAction<typeof ScrapegraphAiStartSmartCrawlerInput, typeof ScrapegraphAiStartSmartCrawlerOutput, typeof scrapegraphAi.credential>;
51
32
  //#endregion
52
33
  export { scrapegraphAiStartSmartCrawler };
53
34
  //# sourceMappingURL=start-smart-crawler.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-smart-crawler.d.mts","names":[],"sources":["../../src/actions/start-smart-crawler.ts"],"mappings":";;;cAIa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAsBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAIpC,8BAAA,gCAA8B,wBAAA;;;;;;;;;;WAMzC,MAAA"}
1
+ {"version":3,"file":"start-smart-crawler.d.mts","names":[],"sources":["../../src/actions/start-smart-crawler.ts"],"mappings":";;;;;cAMa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;cAsBnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAIpC,8BAAA,EAAgC,SAAA,QACpC,mCAAA,SACA,oCAAA,SACA,aAAA,CAAc,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 scrapegraphAiStartSmartCrawler = action("SCRAPEGRAPH_AI_START_SMART_CRAWLER", {
@@ -1 +1 @@
1
- {"version":3,"file":"start-smart-crawler.mjs","names":[],"sources":["../../src/actions/start-smart-crawler.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiStartSmartCrawlerInput = z.object({\n url: z.string().describe(\"The starting URL for the crawl. Must be a valid HTTP or HTTPS URL.\"),\n depth: z.number().int().default(1).describe(\"Maximum crawl depth - how many link levels to follow from the start URL. Default is 1.\").optional(),\n rules: z.object({\n exclude: z.array(z.string()).describe(\"Array of regex patterns to exclude URLs from crawling.\").optional(),\n same_domain: z.boolean().describe(\"Whether to restrict crawling to the same domain as the starting URL.\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Array of path patterns to exclude from the crawl (e.g., ['/admin/*']). Takes precedence over include_paths.\").optional(),\n include_paths: z.array(z.string()).describe(\"Array of path patterns to include in the crawl (e.g., ['/blog/*']). exclude_paths takes precedence.\").optional(),\n}).describe(\"Crawl rules for filtering URLs during the crawl process.\").optional(),\n prompt: z.string().describe(\"Instructions for what data to extract during the crawl. Required when extraction_mode=true. Be specific about the information you want extracted.\").optional(),\n schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Helps ensure consistent, structured output in extraction mode.\").optional(),\n breadth: z.number().int().describe(\"Maximum number of links to crawl per depth level. If not specified (null), unlimited breadth is allowed. Ignored when sitemap=true.\").optional(),\n sitemap: z.boolean().default(false).describe(\"Whether to use sitemap.xml for URL discovery instead of link following. When enabled, ignores breadth parameter. Default is false.\").optional(),\n stealth: z.boolean().default(false).describe(\"Enable stealth mode to bypass bot detection and anti-scraping measures. Adds +4 credits per page. Use for sites with bot protection. Default is false.\").optional(),\n max_pages: z.number().int().default(10).describe(\"Maximum total number of pages to crawl across all depth levels. Default is 10.\").optional(),\n batch_size: z.number().int().default(1).describe(\"Number of pages to process in each batch during the crawl. Higher values may speed up large crawls. Default is 1.\").optional(),\n webhook_url: z.string().describe(\"Webhook URL to receive the job completion notification. The result will be POSTed to this URL when the crawl finishes.\").optional(),\n cache_website: z.boolean().default(false).describe(\"Whether to cache the website content for faster subsequent crawls. Default is false.\").optional(),\n extraction_mode: z.boolean().default(true).describe(\"When true, enables AI-powered extraction using LLM (default, 10 credits/page). When false, enables markdown conversion mode (NO AI processing, 2 credits/page, 80% cheaper).\").optional(),\n render_heavy_js: z.boolean().default(false).describe(\"Enable enhanced JavaScript rendering for Single Page Applications (SPAs) and sites with heavy JavaScript. May increase processing time. Default is false.\").optional(),\n same_domain_only: z.boolean().default(true).describe(\"Whether to restrict crawling to only pages on the same domain as the starting URL. Default is true.\").optional(),\n}).describe(\"Request schema to start a SmartCrawler job for multi-page AI extraction.\");\nexport const ScrapegraphAiStartSmartCrawlerOutput = z.object({\n task_id: z.string().describe(\"Unique identifier for the crawl task. Use this ID to check the status or retrieve results later.\").nullable(),\n}).passthrough().describe(\"Response schema returned after initiating a SmartCrawler job.\");\n\nexport const scrapegraphAiStartSmartCrawler = action(\"SCRAPEGRAPH_AI_START_SMART_CRAWLER\", {\n slug: \"scrapegraph_ai-start-smart-crawler\",\n name: \"Start Smart Crawler (Async)\",\n description: \"Tool to start a multi-page web crawl using SmartCrawler for AI-powered data extraction. Use when you need to extract structured data from multiple pages of a website. Returns immediately with a task_id - use the status check action to monitor progress and retrieve results.\",\n input: ScrapegraphAiStartSmartCrawlerInput,\n output: ScrapegraphAiStartSmartCrawlerOutput,\n});\n"],"mappings":";;AA8BA,MAAa,iCAAiC,OAAO,sCAAsC;CACzF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA9BiD,EAAE,OAAO;EAC1D,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE;EAC7F,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS;EAC/I,OAAO,EAAE,OAAO;GAChB,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;GACzG,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;GACnH,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;GACpK,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;EAC9J,CAAC,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EAC/E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;EAC1L,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6HAA6H,CAAC,CAAC,SAAS;EAC3L,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qIAAqI,CAAC,CAAC,SAAS;EACnL,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;EAC5L,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;EAChN,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;EAC5I,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;EAC/K,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;EACpK,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;EACpJ,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;EAC7O,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,2JAA2J,CAAC,CAAC,SAAS;EAC3N,kBAAkB,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;CACvK,CAAC,CAAC,CAAC,SAAS,0EASH;CACP,QATkD,EAAE,OAAO,EAC3D,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kGAAkG,CAAC,CAAC,SAAS,EAC5I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"start-smart-crawler.mjs","names":[],"sources":["../../src/actions/start-smart-crawler.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiStartSmartCrawlerInput = z.object({\n url: z.string().describe(\"The starting URL for the crawl. Must be a valid HTTP or HTTPS URL.\"),\n depth: z.number().int().default(1).describe(\"Maximum crawl depth - how many link levels to follow from the start URL. Default is 1.\").optional(),\n rules: z.object({\n exclude: z.array(z.string()).describe(\"Array of regex patterns to exclude URLs from crawling.\").optional(),\n same_domain: z.boolean().describe(\"Whether to restrict crawling to the same domain as the starting URL.\").optional(),\n exclude_paths: z.array(z.string()).describe(\"Array of path patterns to exclude from the crawl (e.g., ['/admin/*']). Takes precedence over include_paths.\").optional(),\n include_paths: z.array(z.string()).describe(\"Array of path patterns to include in the crawl (e.g., ['/blog/*']). exclude_paths takes precedence.\").optional(),\n}).describe(\"Crawl rules for filtering URLs during the crawl process.\").optional(),\n prompt: z.string().describe(\"Instructions for what data to extract during the crawl. Required when extraction_mode=true. Be specific about the information you want extracted.\").optional(),\n schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Helps ensure consistent, structured output in extraction mode.\").optional(),\n breadth: z.number().int().describe(\"Maximum number of links to crawl per depth level. If not specified (null), unlimited breadth is allowed. Ignored when sitemap=true.\").optional(),\n sitemap: z.boolean().default(false).describe(\"Whether to use sitemap.xml for URL discovery instead of link following. When enabled, ignores breadth parameter. Default is false.\").optional(),\n stealth: z.boolean().default(false).describe(\"Enable stealth mode to bypass bot detection and anti-scraping measures. Adds +4 credits per page. Use for sites with bot protection. Default is false.\").optional(),\n max_pages: z.number().int().default(10).describe(\"Maximum total number of pages to crawl across all depth levels. Default is 10.\").optional(),\n batch_size: z.number().int().default(1).describe(\"Number of pages to process in each batch during the crawl. Higher values may speed up large crawls. Default is 1.\").optional(),\n webhook_url: z.string().describe(\"Webhook URL to receive the job completion notification. The result will be POSTed to this URL when the crawl finishes.\").optional(),\n cache_website: z.boolean().default(false).describe(\"Whether to cache the website content for faster subsequent crawls. Default is false.\").optional(),\n extraction_mode: z.boolean().default(true).describe(\"When true, enables AI-powered extraction using LLM (default, 10 credits/page). When false, enables markdown conversion mode (NO AI processing, 2 credits/page, 80% cheaper).\").optional(),\n render_heavy_js: z.boolean().default(false).describe(\"Enable enhanced JavaScript rendering for Single Page Applications (SPAs) and sites with heavy JavaScript. May increase processing time. Default is false.\").optional(),\n same_domain_only: z.boolean().default(true).describe(\"Whether to restrict crawling to only pages on the same domain as the starting URL. Default is true.\").optional(),\n}).describe(\"Request schema to start a SmartCrawler job for multi-page AI extraction.\");\nexport const ScrapegraphAiStartSmartCrawlerOutput = z.object({\n task_id: z.string().describe(\"Unique identifier for the crawl task. Use this ID to check the status or retrieve results later.\").nullable(),\n}).passthrough().describe(\"Response schema returned after initiating a SmartCrawler job.\");\n\nexport const scrapegraphAiStartSmartCrawler: AppAction<\n typeof ScrapegraphAiStartSmartCrawlerInput,\n typeof ScrapegraphAiStartSmartCrawlerOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_START_SMART_CRAWLER\", {\n slug: \"scrapegraph_ai-start-smart-crawler\",\n name: \"Start Smart Crawler (Async)\",\n description: \"Tool to start a multi-page web crawl using SmartCrawler for AI-powered data extraction. Use when you need to extract structured data from multiple pages of a website. Returns immediately with a task_id - use the status check action to monitor progress and retrieve results.\",\n input: ScrapegraphAiStartSmartCrawlerInput,\n output: ScrapegraphAiStartSmartCrawlerOutput,\n});\n"],"mappings":";;;AAgCA,MAAa,iCAIT,OAAO,sCAAsC;CAC/C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAlCiD,EAAE,OAAO;EAC1D,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,oEAAoE;EAC7F,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS;EAC/I,OAAO,EAAE,OAAO;GAChB,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,wDAAwD,CAAC,CAAC,SAAS;GACzG,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,sEAAsE,CAAC,CAAC,SAAS;GACnH,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;GACpK,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;EAC9J,CAAC,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EAC/E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;EAC1L,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6HAA6H,CAAC,CAAC,SAAS;EAC3L,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qIAAqI,CAAC,CAAC,SAAS;EACnL,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,oIAAoI,CAAC,CAAC,SAAS;EAC5L,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,wJAAwJ,CAAC,CAAC,SAAS;EAChN,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,gFAAgF,CAAC,CAAC,SAAS;EAC5I,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;EAC/K,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;EACpK,eAAe,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sFAAsF,CAAC,CAAC,SAAS;EACpJ,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;EAC7O,iBAAiB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,2JAA2J,CAAC,CAAC,SAAS;EAC3N,kBAAkB,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;CACvK,CAAC,CAAC,CAAC,SAAS,0EAaH;CACP,QAbkD,EAAE,OAAO,EAC3D,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,kGAAkG,CAAC,CAAC,SAAS,EAC5I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+DAWhB;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/submit-feedback.ts
@@ -1 +1 @@
1
- {"version":3,"file":"submit-feedback.cjs","names":["z","action"],"sources":["../../src/actions/submit-feedback.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSubmitFeedbackInput = z.object({\n rating: z.number().int().describe(\"Star rating from 0 (lowest) to 5 (highest)\"),\n request_id: z.string().describe(\"UUID of the request/session this feedback is for\"),\n feedback_text: z.string().describe(\"Optional comments about the request\").optional(),\n}).describe(\"Request schema for submitting feedback on a previous scraping request.\");\nexport const ScrapegraphAiSubmitFeedbackOutput = z.object({\n message: z.string().describe(\"Confirmation message from the API\").nullable(),\n request_id: z.string().describe(\"UUID of the original request this feedback is linked to\").nullable(),\n feedback_id: z.string().describe(\"Unique identifier for the submitted feedback\").nullable(),\n feedback_timestamp: z.string().describe(\"Timestamp when feedback was recorded (ISO-8601)\").nullable(),\n}).passthrough().describe(\"Response schema after submitting feedback.\");\n\nexport const scrapegraphAiSubmitFeedback = action(\"SCRAPEGRAPH_AI_SUBMIT_FEEDBACK\", {\n slug: \"scrapegraph_ai-submit-feedback\",\n name: \"Submit Feedback\",\n description: \"Submit feedback and ratings for completed ScrapeGraphAI requests.\",\n input: ScrapegraphAiSubmitFeedbackInput,\n output: ScrapegraphAiSubmitFeedbackOutput,\n});\n"],"mappings":";;;AAIA,MAAa,mCAAmCA,IAAAA,EAAE,OAAO;CACvD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,4CAA4C;CAC9E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD;CAClF,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;AACrF,CAAC,CAAC,CAAC,SAAS,wEAAwE;AACpF,MAAa,oCAAoCA,IAAAA,EAAE,OAAO;CACxD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAC3E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACpG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CAC1F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;AACtG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,4CAA4C;AAEtE,MAAa,8BAA8BC,eAAAA,OAAO,kCAAkC;CAClF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"submit-feedback.cjs","names":["z","action"],"sources":["../../src/actions/submit-feedback.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiSubmitFeedbackInput = z.object({\n rating: z.number().int().describe(\"Star rating from 0 (lowest) to 5 (highest)\"),\n request_id: z.string().describe(\"UUID of the request/session this feedback is for\"),\n feedback_text: z.string().describe(\"Optional comments about the request\").optional(),\n}).describe(\"Request schema for submitting feedback on a previous scraping request.\");\nexport const ScrapegraphAiSubmitFeedbackOutput = z.object({\n message: z.string().describe(\"Confirmation message from the API\").nullable(),\n request_id: z.string().describe(\"UUID of the original request this feedback is linked to\").nullable(),\n feedback_id: z.string().describe(\"Unique identifier for the submitted feedback\").nullable(),\n feedback_timestamp: z.string().describe(\"Timestamp when feedback was recorded (ISO-8601)\").nullable(),\n}).passthrough().describe(\"Response schema after submitting feedback.\");\n\nexport const scrapegraphAiSubmitFeedback: AppAction<\n typeof ScrapegraphAiSubmitFeedbackInput,\n typeof ScrapegraphAiSubmitFeedbackOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SUBMIT_FEEDBACK\", {\n slug: \"scrapegraph_ai-submit-feedback\",\n name: \"Submit Feedback\",\n description: \"Submit feedback and ratings for completed ScrapeGraphAI requests.\",\n input: ScrapegraphAiSubmitFeedbackInput,\n output: ScrapegraphAiSubmitFeedbackOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,mCAAmCA,IAAAA,EAAE,OAAO;CACvD,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,4CAA4C;CAC9E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD;CAClF,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;AACrF,CAAC,CAAC,CAAC,SAAS,wEAAwE;AACpF,MAAa,oCAAoCA,IAAAA,EAAE,OAAO;CACxD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;CAC3E,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACpG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CAC1F,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;AACtG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,4CAA4C;AAEtE,MAAa,8BAITC,eAAAA,OAAO,kCAAkC;CAC3C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/submit-feedback.d.ts
@@ -12,11 +14,7 @@ declare const ScrapegraphAiSubmitFeedbackOutput: z.ZodObject<{
12
14
  feedback_id: z.ZodNullable<z.ZodString>;
13
15
  feedback_timestamp: z.ZodNullable<z.ZodString>;
14
16
  }, z.core.$loose>;
15
- declare const scrapegraphAiSubmitFeedback: import("@keystrokehq/action").WorkflowActionDefinition<{
16
- rating: number;
17
- request_id: string;
18
- feedback_text?: string | undefined;
19
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
17
+ declare const scrapegraphAiSubmitFeedback: AppAction<typeof ScrapegraphAiSubmitFeedbackInput, typeof ScrapegraphAiSubmitFeedbackOutput, typeof scrapegraphAi.credential>;
20
18
  //#endregion
21
19
  export { scrapegraphAiSubmitFeedback };
22
20
  //# sourceMappingURL=submit-feedback.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit-feedback.d.cts","names":[],"sources":["../../src/actions/submit-feedback.ts"],"mappings":";;;cAIa,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;cAKhC,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;cAOjC,2BAAA,gCAA2B,wBAAA"}
1
+ {"version":3,"file":"submit-feedback.d.cts","names":[],"sources":["../../src/actions/submit-feedback.ts"],"mappings":";;;;;cAMa,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;cAKhC,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;cAOjC,2BAAA,EAA6B,SAAA,QACjC,gCAAA,SACA,iCAAA,SACA,aAAA,CAAc,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/submit-feedback.d.ts
@@ -12,11 +14,7 @@ declare const ScrapegraphAiSubmitFeedbackOutput: z.ZodObject<{
12
14
  feedback_id: z.ZodNullable<z.ZodString>;
13
15
  feedback_timestamp: z.ZodNullable<z.ZodString>;
14
16
  }, z.core.$loose>;
15
- declare const scrapegraphAiSubmitFeedback: import("@keystrokehq/action").WorkflowActionDefinition<{
16
- rating: number;
17
- request_id: string;
18
- feedback_text?: string | undefined;
19
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
17
+ declare const scrapegraphAiSubmitFeedback: AppAction<typeof ScrapegraphAiSubmitFeedbackInput, typeof ScrapegraphAiSubmitFeedbackOutput, typeof scrapegraphAi.credential>;
20
18
  //#endregion
21
19
  export { scrapegraphAiSubmitFeedback };
22
20
  //# sourceMappingURL=submit-feedback.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit-feedback.d.mts","names":[],"sources":["../../src/actions/submit-feedback.ts"],"mappings":";;;cAIa,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;cAKhC,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;cAOjC,2BAAA,gCAA2B,wBAAA"}
1
+ {"version":3,"file":"submit-feedback.d.mts","names":[],"sources":["../../src/actions/submit-feedback.ts"],"mappings":";;;;;cAMa,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;cAKhC,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;cAOjC,2BAAA,EAA6B,SAAA,QACjC,gCAAA,SACA,iCAAA,SACA,aAAA,CAAc,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 scrapegraphAiSubmitFeedback = action("SCRAPEGRAPH_AI_SUBMIT_FEEDBACK", {
@@ -1 +1 @@
1
- {"version":3,"file":"submit-feedback.mjs","names":[],"sources":["../../src/actions/submit-feedback.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSubmitFeedbackInput = z.object({\n rating: z.number().int().describe(\"Star rating from 0 (lowest) to 5 (highest)\"),\n request_id: z.string().describe(\"UUID of the request/session this feedback is for\"),\n feedback_text: z.string().describe(\"Optional comments about the request\").optional(),\n}).describe(\"Request schema for submitting feedback on a previous scraping request.\");\nexport const ScrapegraphAiSubmitFeedbackOutput = z.object({\n message: z.string().describe(\"Confirmation message from the API\").nullable(),\n request_id: z.string().describe(\"UUID of the original request this feedback is linked to\").nullable(),\n feedback_id: z.string().describe(\"Unique identifier for the submitted feedback\").nullable(),\n feedback_timestamp: z.string().describe(\"Timestamp when feedback was recorded (ISO-8601)\").nullable(),\n}).passthrough().describe(\"Response schema after submitting feedback.\");\n\nexport const scrapegraphAiSubmitFeedback = action(\"SCRAPEGRAPH_AI_SUBMIT_FEEDBACK\", {\n slug: \"scrapegraph_ai-submit-feedback\",\n name: \"Submit Feedback\",\n description: \"Submit feedback and ratings for completed ScrapeGraphAI requests.\",\n input: ScrapegraphAiSubmitFeedbackInput,\n output: ScrapegraphAiSubmitFeedbackOutput,\n});\n"],"mappings":";;AAgBA,MAAa,8BAA8B,OAAO,kCAAkC;CAClF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAhB8C,EAAE,OAAO;EACvD,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,4CAA4C;EAC9E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD;EAClF,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CACrF,CAAC,CAAC,CAAC,SAAS,wEAYH;CACP,QAZ+C,EAAE,OAAO;EACxD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;EAC3E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EACpG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;EAC1F,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;CACtG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,4CAOhB;AACV,CAAC"}
1
+ {"version":3,"file":"submit-feedback.mjs","names":[],"sources":["../../src/actions/submit-feedback.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiSubmitFeedbackInput = z.object({\n rating: z.number().int().describe(\"Star rating from 0 (lowest) to 5 (highest)\"),\n request_id: z.string().describe(\"UUID of the request/session this feedback is for\"),\n feedback_text: z.string().describe(\"Optional comments about the request\").optional(),\n}).describe(\"Request schema for submitting feedback on a previous scraping request.\");\nexport const ScrapegraphAiSubmitFeedbackOutput = z.object({\n message: z.string().describe(\"Confirmation message from the API\").nullable(),\n request_id: z.string().describe(\"UUID of the original request this feedback is linked to\").nullable(),\n feedback_id: z.string().describe(\"Unique identifier for the submitted feedback\").nullable(),\n feedback_timestamp: z.string().describe(\"Timestamp when feedback was recorded (ISO-8601)\").nullable(),\n}).passthrough().describe(\"Response schema after submitting feedback.\");\n\nexport const scrapegraphAiSubmitFeedback: AppAction<\n typeof ScrapegraphAiSubmitFeedbackInput,\n typeof ScrapegraphAiSubmitFeedbackOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SUBMIT_FEEDBACK\", {\n slug: \"scrapegraph_ai-submit-feedback\",\n name: \"Submit Feedback\",\n description: \"Submit feedback and ratings for completed ScrapeGraphAI requests.\",\n input: ScrapegraphAiSubmitFeedbackInput,\n output: ScrapegraphAiSubmitFeedbackOutput,\n});\n"],"mappings":";;;AAkBA,MAAa,8BAIT,OAAO,kCAAkC;CAC3C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OApB8C,EAAE,OAAO;EACvD,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,4CAA4C;EAC9E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD;EAClF,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CACrF,CAAC,CAAC,CAAC,SAAS,wEAgBH;CACP,QAhB+C,EAAE,OAAO;EACxD,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS;EAC3E,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EACpG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;EAC1F,oBAAoB,EAAE,OAAO,CAAC,CAAC,SAAS,iDAAiD,CAAC,CAAC,SAAS;CACtG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,4CAWhB;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/submit-product-feedback.ts
@@ -1 +1 @@
1
- {"version":3,"file":"submit-product-feedback.cjs","names":["z","action"],"sources":["../../src/actions/submit-product-feedback.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSubmitProductFeedbackInput = z.object({\n name: z.string().describe(\"Your name\").optional(),\n email: z.string().describe(\"Your email address\").optional(),\n issues: z.string().describe(\"Any issues you've encountered\").optional(),\n rating: z.number().int().describe(\"Overall rating from 1 (lowest) to 5 (highest)\").optional(),\n company: z.string().describe(\"Your company name\").optional(),\n disliked: z.string().describe(\"What you disliked about the product\").optional(),\n use_cases: z.array(z.string()).describe(\"Your use cases for the product\").optional(),\n liked_most: z.string().describe(\"What you liked most about the product\").optional(),\n setup_easy: z.boolean().describe(\"Whether the setup process was easy\").optional(),\n can_contact: z.boolean().describe(\"Whether you consent to be contacted about your feedback\").optional(),\n feedback_id: z.string().describe(\"UUID of the feedback submission\"),\n contact_method: z.string().describe(\"Preferred method of contact\").optional(),\n how_discovered: z.string().describe(\"How you discovered ScrapeGraphAI\").optional(),\n recommend_score: z.number().int().describe(\"How likely you are to recommend this product (0-10 scale)\").optional(),\n usage_frequency: z.string().describe(\"How frequently you use the product\").optional(),\n requested_features: z.string().describe(\"Features you'd like to see added\").optional(),\n improvement_suggestions: z.string().describe(\"Your suggestions for product improvements\").optional(),\n}).describe(\"Request schema for submitting product feedback about ScrapeGraphAI.\");\nexport const ScrapegraphAiSubmitProductFeedbackOutput = z.object({\n message: z.string().default(\"Product feedback submitted successfully\").describe(\"Confirmation message from the API\").nullable().optional(),\n}).passthrough().describe(\"Response schema after submitting product feedback.\");\n\nexport const scrapegraphAiSubmitProductFeedback = action(\"SCRAPEGRAPH_AI_SUBMIT_PRODUCT_FEEDBACK\", {\n slug: \"scrapegraph_ai-submit-product-feedback\",\n name: \"Submit Product Feedback\",\n description: \"Submit product feedback for ScrapeGraphAI. Use to provide ratings, comments, suggestions, and other feedback about the product itself.\",\n input: ScrapegraphAiSubmitProductFeedbackInput,\n output: ScrapegraphAiSubmitProductFeedbackOutput,\n});\n"],"mappings":";;;AAIA,MAAa,0CAA0CA,IAAAA,EAAE,OAAO;CAC9D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,SAAS;CAChD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS;CAC1D,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;CACtE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CAC5F,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS;CAC3D,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CAC9E,WAAWA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACnF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;CAClF,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CAChF,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACtG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC;CAClE,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CAC5E,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACjF,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;CACjH,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CACpF,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACrF,yBAAyBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;AACrG,CAAC,CAAC,CAAC,SAAS,qEAAqE;AACjF,MAAa,2CAA2CA,IAAAA,EAAE,OAAO,EAC/D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,yCAAyC,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAC3I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAE9E,MAAa,qCAAqCC,eAAAA,OAAO,0CAA0C;CACjG,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
1
+ {"version":3,"file":"submit-product-feedback.cjs","names":["z","action"],"sources":["../../src/actions/submit-product-feedback.ts"],"sourcesContent":["import type { AppAction } from \"@keystrokehq/keystroke/app\";\nimport { z } from \"zod\";\n\nimport { action } from \"../action\";\nimport { scrapegraphAi } from \"../app\";\n\nexport const ScrapegraphAiSubmitProductFeedbackInput = z.object({\n name: z.string().describe(\"Your name\").optional(),\n email: z.string().describe(\"Your email address\").optional(),\n issues: z.string().describe(\"Any issues you've encountered\").optional(),\n rating: z.number().int().describe(\"Overall rating from 1 (lowest) to 5 (highest)\").optional(),\n company: z.string().describe(\"Your company name\").optional(),\n disliked: z.string().describe(\"What you disliked about the product\").optional(),\n use_cases: z.array(z.string()).describe(\"Your use cases for the product\").optional(),\n liked_most: z.string().describe(\"What you liked most about the product\").optional(),\n setup_easy: z.boolean().describe(\"Whether the setup process was easy\").optional(),\n can_contact: z.boolean().describe(\"Whether you consent to be contacted about your feedback\").optional(),\n feedback_id: z.string().describe(\"UUID of the feedback submission\"),\n contact_method: z.string().describe(\"Preferred method of contact\").optional(),\n how_discovered: z.string().describe(\"How you discovered ScrapeGraphAI\").optional(),\n recommend_score: z.number().int().describe(\"How likely you are to recommend this product (0-10 scale)\").optional(),\n usage_frequency: z.string().describe(\"How frequently you use the product\").optional(),\n requested_features: z.string().describe(\"Features you'd like to see added\").optional(),\n improvement_suggestions: z.string().describe(\"Your suggestions for product improvements\").optional(),\n}).describe(\"Request schema for submitting product feedback about ScrapeGraphAI.\");\nexport const ScrapegraphAiSubmitProductFeedbackOutput = z.object({\n message: z.string().default(\"Product feedback submitted successfully\").describe(\"Confirmation message from the API\").nullable().optional(),\n}).passthrough().describe(\"Response schema after submitting product feedback.\");\n\nexport const scrapegraphAiSubmitProductFeedback: AppAction<\n typeof ScrapegraphAiSubmitProductFeedbackInput,\n typeof ScrapegraphAiSubmitProductFeedbackOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SUBMIT_PRODUCT_FEEDBACK\", {\n slug: \"scrapegraph_ai-submit-product-feedback\",\n name: \"Submit Product Feedback\",\n description: \"Submit product feedback for ScrapeGraphAI. Use to provide ratings, comments, suggestions, and other feedback about the product itself.\",\n input: ScrapegraphAiSubmitProductFeedbackInput,\n output: ScrapegraphAiSubmitProductFeedbackOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,0CAA0CA,IAAAA,EAAE,OAAO;CAC9D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,WAAW,CAAC,CAAC,SAAS;CAChD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oBAAoB,CAAC,CAAC,SAAS;CAC1D,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;CACtE,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS;CAC5F,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mBAAmB,CAAC,CAAC,SAAS;CAC3D,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS;CAC9E,WAAWA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,gCAAgC,CAAC,CAAC,SAAS;CACnF,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;CAClF,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CAChF,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;CACtG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC;CAClE,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS;CAC5E,gBAAgBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACjF,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS;CACjH,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CACpF,oBAAoBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS;CACrF,yBAAyBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;AACrG,CAAC,CAAC,CAAC,SAAS,qEAAqE;AACjF,MAAa,2CAA2CA,IAAAA,EAAE,OAAO,EAC/D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,yCAAyC,CAAC,CAAC,SAAS,mCAAmC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS,EAC3I,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAE9E,MAAa,qCAITC,eAAAA,OAAO,0CAA0C;CACnD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.cjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/submit-product-feedback.d.ts
@@ -23,25 +25,7 @@ declare const ScrapegraphAiSubmitProductFeedbackInput: z.ZodObject<{
23
25
  declare const ScrapegraphAiSubmitProductFeedbackOutput: z.ZodObject<{
24
26
  message: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodString>>>;
25
27
  }, z.core.$loose>;
26
- declare const scrapegraphAiSubmitProductFeedback: import("@keystrokehq/action").WorkflowActionDefinition<{
27
- feedback_id: string;
28
- name?: string | undefined;
29
- email?: string | undefined;
30
- issues?: string | undefined;
31
- rating?: number | undefined;
32
- company?: string | undefined;
33
- disliked?: string | undefined;
34
- use_cases?: string[] | undefined;
35
- liked_most?: string | undefined;
36
- setup_easy?: boolean | undefined;
37
- can_contact?: boolean | undefined;
38
- contact_method?: string | undefined;
39
- how_discovered?: string | undefined;
40
- recommend_score?: number | undefined;
41
- usage_frequency?: string | undefined;
42
- requested_features?: string | undefined;
43
- improvement_suggestions?: string | undefined;
44
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
28
+ declare const scrapegraphAiSubmitProductFeedback: AppAction<typeof ScrapegraphAiSubmitProductFeedbackInput, typeof ScrapegraphAiSubmitProductFeedbackOutput, typeof scrapegraphAi.credential>;
45
29
  //#endregion
46
30
  export { scrapegraphAiSubmitProductFeedback };
47
31
  //# sourceMappingURL=submit-product-feedback.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit-product-feedback.d.cts","names":[],"sources":["../../src/actions/submit-product-feedback.ts"],"mappings":";;;cAIa,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAmBvC,wCAAA,EAAwC,CAAA,CAAA,SAAA;;;cAIxC,kCAAA,gCAAkC,wBAAA"}
1
+ {"version":3,"file":"submit-product-feedback.d.cts","names":[],"sources":["../../src/actions/submit-product-feedback.ts"],"mappings":";;;;;cAMa,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAmBvC,wCAAA,EAAwC,CAAA,CAAA,SAAA;;;cAIxC,kCAAA,EAAoC,SAAA,QACxC,uCAAA,SACA,wCAAA,SACA,aAAA,CAAc,UAAA"}
@@ -1,3 +1,5 @@
1
+ import { scrapegraphAi } from "../app.mjs";
2
+ import { AppAction } from "@keystrokehq/keystroke/app";
1
3
  import { z } from "zod";
2
4
 
3
5
  //#region src/actions/submit-product-feedback.d.ts
@@ -23,25 +25,7 @@ declare const ScrapegraphAiSubmitProductFeedbackInput: z.ZodObject<{
23
25
  declare const ScrapegraphAiSubmitProductFeedbackOutput: z.ZodObject<{
24
26
  message: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodString>>>;
25
27
  }, z.core.$loose>;
26
- declare const scrapegraphAiSubmitProductFeedback: import("@keystrokehq/action").WorkflowActionDefinition<{
27
- feedback_id: string;
28
- name?: string | undefined;
29
- email?: string | undefined;
30
- issues?: string | undefined;
31
- rating?: number | undefined;
32
- company?: string | undefined;
33
- disliked?: string | undefined;
34
- use_cases?: string[] | undefined;
35
- liked_most?: string | undefined;
36
- setup_easy?: boolean | undefined;
37
- can_contact?: boolean | undefined;
38
- contact_method?: string | undefined;
39
- how_discovered?: string | undefined;
40
- recommend_score?: number | undefined;
41
- usage_frequency?: string | undefined;
42
- requested_features?: string | undefined;
43
- improvement_suggestions?: string | undefined;
44
- }, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
28
+ declare const scrapegraphAiSubmitProductFeedback: AppAction<typeof ScrapegraphAiSubmitProductFeedbackInput, typeof ScrapegraphAiSubmitProductFeedbackOutput, typeof scrapegraphAi.credential>;
45
29
  //#endregion
46
30
  export { scrapegraphAiSubmitProductFeedback };
47
31
  //# sourceMappingURL=submit-product-feedback.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"submit-product-feedback.d.mts","names":[],"sources":["../../src/actions/submit-product-feedback.ts"],"mappings":";;;cAIa,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAmBvC,wCAAA,EAAwC,CAAA,CAAA,SAAA;;;cAIxC,kCAAA,gCAAkC,wBAAA"}
1
+ {"version":3,"file":"submit-product-feedback.d.mts","names":[],"sources":["../../src/actions/submit-product-feedback.ts"],"mappings":";;;;;cAMa,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAmBvC,wCAAA,EAAwC,CAAA,CAAA,SAAA;;;cAIxC,kCAAA,EAAoC,SAAA,QACxC,uCAAA,SACA,wCAAA,SACA,aAAA,CAAc,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 scrapegraphAiSubmitProductFeedback = action("SCRAPEGRAPH_AI_SUBMIT_PRODUCT_FEEDBACK", {