@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.
- package/dist/action.cjs.map +1 -1
- package/dist/action.mjs.map +1 -1
- package/dist/actions/convert-webpage-to-markdown-v2.cjs +1 -0
- package/dist/actions/convert-webpage-to-markdown-v2.cjs.map +1 -1
- package/dist/actions/convert-webpage-to-markdown-v2.d.cts +3 -13
- package/dist/actions/convert-webpage-to-markdown-v2.d.cts.map +1 -1
- package/dist/actions/convert-webpage-to-markdown-v2.d.mts +3 -13
- package/dist/actions/convert-webpage-to-markdown-v2.d.mts.map +1 -1
- package/dist/actions/convert-webpage-to-markdown-v2.mjs +1 -0
- package/dist/actions/convert-webpage-to-markdown-v2.mjs.map +1 -1
- package/dist/actions/generate-schema.cjs +1 -0
- package/dist/actions/generate-schema.cjs.map +1 -1
- package/dist/actions/generate-schema.d.cts +3 -4
- package/dist/actions/generate-schema.d.cts.map +1 -1
- package/dist/actions/generate-schema.d.mts +3 -4
- package/dist/actions/generate-schema.d.mts.map +1 -1
- package/dist/actions/generate-schema.mjs +1 -0
- package/dist/actions/generate-schema.mjs.map +1 -1
- package/dist/actions/get-agentic-scraper-history.cjs +1 -0
- package/dist/actions/get-agentic-scraper-history.cjs.map +1 -1
- package/dist/actions/get-agentic-scraper-history.d.cts +3 -4
- package/dist/actions/get-agentic-scraper-history.d.cts.map +1 -1
- package/dist/actions/get-agentic-scraper-history.d.mts +3 -4
- package/dist/actions/get-agentic-scraper-history.d.mts.map +1 -1
- package/dist/actions/get-agentic-scraper-history.mjs +1 -0
- package/dist/actions/get-agentic-scraper-history.mjs.map +1 -1
- package/dist/actions/get-crawler-history.cjs +1 -0
- package/dist/actions/get-crawler-history.cjs.map +1 -1
- package/dist/actions/get-crawler-history.d.cts +3 -4
- package/dist/actions/get-crawler-history.d.cts.map +1 -1
- package/dist/actions/get-crawler-history.d.mts +3 -4
- package/dist/actions/get-crawler-history.d.mts.map +1 -1
- package/dist/actions/get-crawler-history.mjs +1 -0
- package/dist/actions/get-crawler-history.mjs.map +1 -1
- package/dist/actions/get-credits.cjs +1 -0
- package/dist/actions/get-credits.cjs.map +1 -1
- package/dist/actions/get-credits.d.cts +3 -1
- package/dist/actions/get-credits.d.cts.map +1 -1
- package/dist/actions/get-credits.d.mts +3 -1
- package/dist/actions/get-credits.d.mts.map +1 -1
- package/dist/actions/get-credits.mjs +1 -0
- package/dist/actions/get-credits.mjs.map +1 -1
- package/dist/actions/get-endpoint-suggestions.cjs +1 -0
- package/dist/actions/get-endpoint-suggestions.cjs.map +1 -1
- package/dist/actions/get-endpoint-suggestions.d.cts +3 -4
- package/dist/actions/get-endpoint-suggestions.d.cts.map +1 -1
- package/dist/actions/get-endpoint-suggestions.d.mts +3 -4
- package/dist/actions/get-endpoint-suggestions.d.mts.map +1 -1
- package/dist/actions/get-endpoint-suggestions.mjs +1 -0
- package/dist/actions/get-endpoint-suggestions.mjs.map +1 -1
- package/dist/actions/get-live-session-url.cjs +1 -0
- package/dist/actions/get-live-session-url.cjs.map +1 -1
- package/dist/actions/get-live-session-url.d.cts +3 -4
- package/dist/actions/get-live-session-url.d.cts.map +1 -1
- package/dist/actions/get-live-session-url.d.mts +3 -4
- package/dist/actions/get-live-session-url.d.mts.map +1 -1
- package/dist/actions/get-live-session-url.mjs +1 -0
- package/dist/actions/get-live-session-url.mjs.map +1 -1
- package/dist/actions/get-markdownify-history.cjs +1 -0
- package/dist/actions/get-markdownify-history.cjs.map +1 -1
- package/dist/actions/get-markdownify-history.d.cts +3 -4
- package/dist/actions/get-markdownify-history.d.cts.map +1 -1
- package/dist/actions/get-markdownify-history.d.mts +3 -4
- package/dist/actions/get-markdownify-history.d.mts.map +1 -1
- package/dist/actions/get-markdownify-history.mjs +1 -0
- package/dist/actions/get-markdownify-history.mjs.map +1 -1
- package/dist/actions/get-scrape-history.cjs +1 -0
- package/dist/actions/get-scrape-history.cjs.map +1 -1
- package/dist/actions/get-scrape-history.d.cts +3 -4
- package/dist/actions/get-scrape-history.d.cts.map +1 -1
- package/dist/actions/get-scrape-history.d.mts +3 -4
- package/dist/actions/get-scrape-history.d.mts.map +1 -1
- package/dist/actions/get-scrape-history.mjs +1 -0
- package/dist/actions/get-scrape-history.mjs.map +1 -1
- package/dist/actions/get-searchscraper-history.cjs +1 -0
- package/dist/actions/get-searchscraper-history.cjs.map +1 -1
- package/dist/actions/get-searchscraper-history.d.cts +3 -4
- package/dist/actions/get-searchscraper-history.d.cts.map +1 -1
- package/dist/actions/get-searchscraper-history.d.mts +3 -4
- package/dist/actions/get-searchscraper-history.d.mts.map +1 -1
- package/dist/actions/get-searchscraper-history.mjs +1 -0
- package/dist/actions/get-searchscraper-history.mjs.map +1 -1
- package/dist/actions/get-sitemap-history.cjs +1 -0
- package/dist/actions/get-sitemap-history.cjs.map +1 -1
- package/dist/actions/get-sitemap-history.d.cts +3 -4
- package/dist/actions/get-sitemap-history.d.cts.map +1 -1
- package/dist/actions/get-sitemap-history.d.mts +3 -4
- package/dist/actions/get-sitemap-history.d.mts.map +1 -1
- package/dist/actions/get-sitemap-history.mjs +1 -0
- package/dist/actions/get-sitemap-history.mjs.map +1 -1
- package/dist/actions/get-smartscraper-history.cjs +1 -0
- package/dist/actions/get-smartscraper-history.cjs.map +1 -1
- package/dist/actions/get-smartscraper-history.d.cts +3 -4
- package/dist/actions/get-smartscraper-history.d.cts.map +1 -1
- package/dist/actions/get-smartscraper-history.d.mts +3 -4
- package/dist/actions/get-smartscraper-history.d.mts.map +1 -1
- package/dist/actions/get-smartscraper-history.mjs +1 -0
- package/dist/actions/get-smartscraper-history.mjs.map +1 -1
- package/dist/actions/get-usage-timeline.cjs +1 -0
- package/dist/actions/get-usage-timeline.cjs.map +1 -1
- package/dist/actions/get-usage-timeline.d.cts +3 -3
- package/dist/actions/get-usage-timeline.d.cts.map +1 -1
- package/dist/actions/get-usage-timeline.d.mts +3 -3
- package/dist/actions/get-usage-timeline.d.mts.map +1 -1
- package/dist/actions/get-usage-timeline.mjs +1 -0
- package/dist/actions/get-usage-timeline.mjs.map +1 -1
- package/dist/actions/get-webhook-logs.cjs +1 -0
- package/dist/actions/get-webhook-logs.cjs.map +1 -1
- package/dist/actions/get-webhook-logs.d.cts +3 -3
- package/dist/actions/get-webhook-logs.d.cts.map +1 -1
- package/dist/actions/get-webhook-logs.d.mts +3 -3
- package/dist/actions/get-webhook-logs.d.mts.map +1 -1
- package/dist/actions/get-webhook-logs.mjs +1 -0
- package/dist/actions/get-webhook-logs.mjs.map +1 -1
- package/dist/actions/list-scheduled-jobs.cjs +1 -0
- package/dist/actions/list-scheduled-jobs.cjs.map +1 -1
- package/dist/actions/list-scheduled-jobs.d.cts +3 -6
- package/dist/actions/list-scheduled-jobs.d.cts.map +1 -1
- package/dist/actions/list-scheduled-jobs.d.mts +3 -6
- package/dist/actions/list-scheduled-jobs.d.mts.map +1 -1
- package/dist/actions/list-scheduled-jobs.mjs +1 -0
- package/dist/actions/list-scheduled-jobs.mjs.map +1 -1
- package/dist/actions/markdownify-status.cjs +1 -0
- package/dist/actions/markdownify-status.cjs.map +1 -1
- package/dist/actions/markdownify-status.d.cts +3 -3
- package/dist/actions/markdownify-status.d.cts.map +1 -1
- package/dist/actions/markdownify-status.d.mts +3 -3
- package/dist/actions/markdownify-status.d.mts.map +1 -1
- package/dist/actions/markdownify-status.mjs +1 -0
- package/dist/actions/markdownify-status.mjs.map +1 -1
- package/dist/actions/save-endpoint.cjs +1 -0
- package/dist/actions/save-endpoint.cjs.map +1 -1
- package/dist/actions/save-endpoint.d.cts +3 -21
- package/dist/actions/save-endpoint.d.cts.map +1 -1
- package/dist/actions/save-endpoint.d.mts +3 -21
- package/dist/actions/save-endpoint.d.mts.map +1 -1
- package/dist/actions/save-endpoint.mjs +1 -0
- package/dist/actions/save-endpoint.mjs.map +1 -1
- package/dist/actions/search-scraper-status.cjs +1 -0
- package/dist/actions/search-scraper-status.cjs.map +1 -1
- package/dist/actions/search-scraper-status.d.cts +3 -3
- package/dist/actions/search-scraper-status.d.cts.map +1 -1
- package/dist/actions/search-scraper-status.d.mts +3 -3
- package/dist/actions/search-scraper-status.d.mts.map +1 -1
- package/dist/actions/search-scraper-status.mjs +1 -0
- package/dist/actions/search-scraper-status.mjs.map +1 -1
- package/dist/actions/search-scraper.cjs +1 -0
- package/dist/actions/search-scraper.cjs.map +1 -1
- package/dist/actions/search-scraper.d.cts +3 -7
- package/dist/actions/search-scraper.d.cts.map +1 -1
- package/dist/actions/search-scraper.d.mts +3 -7
- package/dist/actions/search-scraper.d.mts.map +1 -1
- package/dist/actions/search-scraper.mjs +1 -0
- package/dist/actions/search-scraper.mjs.map +1 -1
- package/dist/actions/smart-crawler-status.cjs +1 -0
- package/dist/actions/smart-crawler-status.cjs.map +1 -1
- package/dist/actions/smart-crawler-status.d.cts +3 -3
- package/dist/actions/smart-crawler-status.d.cts.map +1 -1
- package/dist/actions/smart-crawler-status.d.mts +3 -3
- package/dist/actions/smart-crawler-status.d.mts.map +1 -1
- package/dist/actions/smart-crawler-status.mjs +1 -0
- package/dist/actions/smart-crawler-status.mjs.map +1 -1
- package/dist/actions/smart-scraper-start.cjs +1 -0
- package/dist/actions/smart-scraper-start.cjs.map +1 -1
- package/dist/actions/smart-scraper-start.d.cts +3 -17
- package/dist/actions/smart-scraper-start.d.cts.map +1 -1
- package/dist/actions/smart-scraper-start.d.mts +3 -17
- package/dist/actions/smart-scraper-start.d.mts.map +1 -1
- package/dist/actions/smart-scraper-start.mjs +1 -0
- package/dist/actions/smart-scraper-start.mjs.map +1 -1
- package/dist/actions/smart-scraper-status.cjs +1 -0
- package/dist/actions/smart-scraper-status.cjs.map +1 -1
- package/dist/actions/smart-scraper-status.d.cts +3 -3
- package/dist/actions/smart-scraper-status.d.cts.map +1 -1
- package/dist/actions/smart-scraper-status.d.mts +3 -3
- package/dist/actions/smart-scraper-status.d.mts.map +1 -1
- package/dist/actions/smart-scraper-status.mjs +1 -0
- package/dist/actions/smart-scraper-status.mjs.map +1 -1
- package/dist/actions/start-smart-crawler.cjs +1 -0
- package/dist/actions/start-smart-crawler.cjs.map +1 -1
- package/dist/actions/start-smart-crawler.d.cts +3 -22
- package/dist/actions/start-smart-crawler.d.cts.map +1 -1
- package/dist/actions/start-smart-crawler.d.mts +3 -22
- package/dist/actions/start-smart-crawler.d.mts.map +1 -1
- package/dist/actions/start-smart-crawler.mjs +1 -0
- package/dist/actions/start-smart-crawler.mjs.map +1 -1
- package/dist/actions/submit-feedback.cjs +1 -0
- package/dist/actions/submit-feedback.cjs.map +1 -1
- package/dist/actions/submit-feedback.d.cts +3 -5
- package/dist/actions/submit-feedback.d.cts.map +1 -1
- package/dist/actions/submit-feedback.d.mts +3 -5
- package/dist/actions/submit-feedback.d.mts.map +1 -1
- package/dist/actions/submit-feedback.mjs +1 -0
- package/dist/actions/submit-feedback.mjs.map +1 -1
- package/dist/actions/submit-product-feedback.cjs +1 -0
- package/dist/actions/submit-product-feedback.cjs.map +1 -1
- package/dist/actions/submit-product-feedback.d.cts +3 -19
- package/dist/actions/submit-product-feedback.d.cts.map +1 -1
- package/dist/actions/submit-product-feedback.d.mts +3 -19
- package/dist/actions/submit-product-feedback.d.mts.map +1 -1
- package/dist/actions/submit-product-feedback.mjs +1 -0
- package/dist/actions/submit-product-feedback.mjs.map +1 -1
- package/dist/actions/toonify.cjs +1 -0
- package/dist/actions/toonify.cjs.map +1 -1
- package/dist/actions/toonify.d.cts +3 -3
- package/dist/actions/toonify.d.cts.map +1 -1
- package/dist/actions/toonify.d.mts +3 -3
- package/dist/actions/toonify.d.mts.map +1 -1
- package/dist/actions/toonify.mjs +1 -0
- package/dist/actions/toonify.mjs.map +1 -1
- package/dist/actions/validate-api-key.cjs +1 -0
- package/dist/actions/validate-api-key.cjs.map +1 -1
- package/dist/actions/validate-api-key.d.cts +3 -1
- package/dist/actions/validate-api-key.d.cts.map +1 -1
- package/dist/actions/validate-api-key.d.mts +3 -1
- package/dist/actions/validate-api-key.d.mts.map +1 -1
- package/dist/actions/validate-api-key.mjs +1 -0
- package/dist/actions/validate-api-key.mjs.map +1 -1
- package/dist/app.cjs +5 -2
- package/dist/app.cjs.map +1 -1
- package/dist/app.d.cts +7 -1
- package/dist/app.d.cts.map +1 -1
- package/dist/app.d.mts +7 -1
- package/dist/app.d.mts.map +1 -1
- package/dist/app.mjs +3 -2
- package/dist/app.mjs.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownify-status.d.cts","names":[],"sources":["../../src/actions/markdownify-status.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdownify-status.d.cts","names":[],"sources":["../../src/actions/markdownify-status.ts"],"mappings":";;;;;cAMa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;cAGnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;;;;;;;;;;cAQpC,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/markdownify-status.d.ts
|
|
@@ -16,9 +18,7 @@ declare const ScrapegraphAiMarkdownifyStatusOutput: z.ZodObject<{
|
|
|
16
18
|
request_id: z.ZodNullable<z.ZodString>;
|
|
17
19
|
website_url: z.ZodNullable<z.ZodString>;
|
|
18
20
|
}, z.core.$loose>;
|
|
19
|
-
declare const scrapegraphAiMarkdownifyStatus:
|
|
20
|
-
request_id: string;
|
|
21
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
21
|
+
declare const scrapegraphAiMarkdownifyStatus: AppAction<typeof ScrapegraphAiMarkdownifyStatusInput, typeof ScrapegraphAiMarkdownifyStatusOutput, typeof scrapegraphAi.credential>;
|
|
22
22
|
//#endregion
|
|
23
23
|
export { scrapegraphAiMarkdownifyStatus };
|
|
24
24
|
//# sourceMappingURL=markdownify-status.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownify-status.d.mts","names":[],"sources":["../../src/actions/markdownify-status.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdownify-status.d.mts","names":[],"sources":["../../src/actions/markdownify-status.ts"],"mappings":";;;;;cAMa,mCAAA,EAAmC,CAAA,CAAA,SAAA;;;cAGnC,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;;;;;;;;;;cAQpC,8BAAA,EAAgC,SAAA,QACpC,mCAAA,SACA,oCAAA,SACA,aAAA,CAAc,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdownify-status.mjs","names":[],"sources":["../../src/actions/markdownify-status.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiMarkdownifyStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the Markdownify request returned by the SCRAPEGRAPH_AI_MARKDOWNIFY action\"),\n}).describe(\"Request model for checking the status of a Markdownify job.\");\nexport const ScrapegraphAiMarkdownifyStatusOutput = z.object({\n error: z.string().describe(\"Error message if status is 'failed'; null otherwise\").nullable().optional(),\n result: z.string().describe(\"Markdown content if status is 'completed'; null otherwise\").nullable().optional(),\n status: z.enum([\"queued\", \"processing\", \"completed\", \"failed\"]).describe(\"Current status of the Markdownify job\").nullable(),\n request_id: z.string().describe(\"The unique identifier of the Markdownify request\").nullable(),\n website_url: z.string().describe(\"URL of the website being processed\").nullable(),\n}).passthrough().describe(\"Response model for Markdownify status checks.\");\n\nexport const scrapegraphAiMarkdownifyStatus = action(\"SCRAPEGRAPH_AI_MARKDOWNIFY_STATUS\", {\n slug: \"scrapegraph_ai-markdownify-status\",\n name: \"Markdownify Status\",\n description: \"Check the status and retrieve results of a Markdownify webpage-to-Markdown conversion job. Use this action to poll for the status of an async Markdownify request started via SCRAPEGRAPH_AI_MARKDOWNIFY. Note: The ScrapeGraph AI API typically returns completed results synchronously, so this status endpoint is primarily useful for long-running conversions of large or complex webpages.\",\n input: ScrapegraphAiMarkdownifyStatusInput,\n output: ScrapegraphAiMarkdownifyStatusOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdownify-status.mjs","names":[],"sources":["../../src/actions/markdownify-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 ScrapegraphAiMarkdownifyStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the Markdownify request returned by the SCRAPEGRAPH_AI_MARKDOWNIFY action\"),\n}).describe(\"Request model for checking the status of a Markdownify job.\");\nexport const ScrapegraphAiMarkdownifyStatusOutput = z.object({\n error: z.string().describe(\"Error message if status is 'failed'; null otherwise\").nullable().optional(),\n result: z.string().describe(\"Markdown content if status is 'completed'; null otherwise\").nullable().optional(),\n status: z.enum([\"queued\", \"processing\", \"completed\", \"failed\"]).describe(\"Current status of the Markdownify job\").nullable(),\n request_id: z.string().describe(\"The unique identifier of the Markdownify request\").nullable(),\n website_url: z.string().describe(\"URL of the website being processed\").nullable(),\n}).passthrough().describe(\"Response model for Markdownify status checks.\");\n\nexport const scrapegraphAiMarkdownifyStatus: AppAction<\n typeof ScrapegraphAiMarkdownifyStatusInput,\n typeof ScrapegraphAiMarkdownifyStatusOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_MARKDOWNIFY_STATUS\", {\n slug: \"scrapegraph_ai-markdownify-status\",\n name: \"Markdownify Status\",\n description: \"Check the status and retrieve results of a Markdownify webpage-to-Markdown conversion job. Use this action to poll for the status of an async Markdownify request started via SCRAPEGRAPH_AI_MARKDOWNIFY. Note: The ScrapeGraph AI API typically returns completed results synchronously, so this status endpoint is primarily useful for long-running conversions of large or complex webpages.\",\n input: ScrapegraphAiMarkdownifyStatusInput,\n output: ScrapegraphAiMarkdownifyStatusOutput,\n});\n"],"mappings":";;;AAiBA,MAAa,iCAIT,OAAO,qCAAqC;CAC9C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAnBiD,EAAE,OAAO,EAC1D,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,2GAA2G,EAC7I,CAAC,CAAC,CAAC,SAAS,6DAiBH;CACP,QAjBkD,EAAE,OAAO;EAC3D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtG,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,2DAA2D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7G,QAAQ,EAAE,KAAK;GAAC;GAAU;GAAc;GAAa;EAAQ,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;EAC3H,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,kDAAkD,CAAC,CAAC,SAAS;EAC7F,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS;CAClF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,+CAWhB;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-endpoint.cjs","names":["z","action"],"sources":["../../src/actions/save-endpoint.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSaveEndpointInput = z.object({\n suggestions: z.array(z.object({\n method: z.string().default(\"POST\").describe(\"HTTP method for the endpoint (GET, POST, PUT, etc.).\").optional(),\n endpoint: z.string().describe(\"The endpoint path (e.g., /test-endpoint). Must be a valid URL path.\"),\n parameters: z.array(z.object({\n name: z.string().describe(\"Parameter name (alphanumeric, underscores, dots, and hyphens only).\"),\n type: z.string().describe(\"Parameter data type (e.g., string, integer, boolean).\"),\n is_url: z.boolean().default(false).describe(\"Whether this parameter is a URL that should be scraped.\").optional(),\n location: z.string().describe(\"Where the parameter is passed (query, path, body, header).\"),\n required: z.boolean().describe(\"Whether this parameter is mandatory for the endpoint.\"),\n description: z.string().describe(\"Detailed description of what this parameter does.\"),\n}).passthrough().describe(\"Schema for defining a parameter in a custom endpoint.\")).describe(\"List of parameters that the endpoint accepts. Use empty list if no parameters.\"),\n target_url: z.string().describe(\"The base URL or URL pattern that this endpoint will scrape.\"),\n description: z.string().describe(\"Description of what this endpoint does and when to use it.\"),\n pydantic_schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Must include 'type' and 'properties'.\"),\n extraction_prompt: z.string().describe(\"Natural language instructions for what data to extract from the target URL.\"),\n interaction_steps: z.array(z.string()).describe(\"Optional list of browser interaction steps to perform before extraction (e.g., click buttons, wait for elements).\").optional(),\n}).passthrough().describe(\"Schema for a custom scraping endpoint configuration.\")).describe(\"List of endpoint configurations to save. Each configuration defines a custom scraping endpoint with its parameters and extraction logic.\"),\n}).describe(\"Request schema for saving one or more custom scraping endpoint configurations.\");\nexport const ScrapegraphAiSaveEndpointOutput = z.object({\n message: z.string().default(\"Endpoint configurations saved successfully\").describe(\"Confirmation message from the API.\").nullable().optional(),\n success: z.boolean().default(true).describe(\"Whether the endpoint configurations were saved successfully.\").nullable().optional(),\n saved_count: z.number().int().describe(\"Number of endpoint configurations that were saved.\").nullable(),\n}).passthrough().describe(\"Response schema after successfully saving endpoint configurations.\");\n\nexport const scrapegraphAiSaveEndpoint = action(\"SCRAPEGRAPH_AI_SAVE_ENDPOINT\", {\n slug: \"scrapegraph_ai-save-endpoint\",\n name: \"Save Endpoint Configuration\",\n description: \"Tool to save custom scraping endpoint configurations to ScrapeGraphAI. Use when you need to create reusable scraping endpoints with specific parameters and extraction logic.\",\n input: ScrapegraphAiSaveEndpointInput,\n output: ScrapegraphAiSaveEndpointOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"save-endpoint.cjs","names":["z","action"],"sources":["../../src/actions/save-endpoint.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 ScrapegraphAiSaveEndpointInput = z.object({\n suggestions: z.array(z.object({\n method: z.string().default(\"POST\").describe(\"HTTP method for the endpoint (GET, POST, PUT, etc.).\").optional(),\n endpoint: z.string().describe(\"The endpoint path (e.g., /test-endpoint). Must be a valid URL path.\"),\n parameters: z.array(z.object({\n name: z.string().describe(\"Parameter name (alphanumeric, underscores, dots, and hyphens only).\"),\n type: z.string().describe(\"Parameter data type (e.g., string, integer, boolean).\"),\n is_url: z.boolean().default(false).describe(\"Whether this parameter is a URL that should be scraped.\").optional(),\n location: z.string().describe(\"Where the parameter is passed (query, path, body, header).\"),\n required: z.boolean().describe(\"Whether this parameter is mandatory for the endpoint.\"),\n description: z.string().describe(\"Detailed description of what this parameter does.\"),\n}).passthrough().describe(\"Schema for defining a parameter in a custom endpoint.\")).describe(\"List of parameters that the endpoint accepts. Use empty list if no parameters.\"),\n target_url: z.string().describe(\"The base URL or URL pattern that this endpoint will scrape.\"),\n description: z.string().describe(\"Description of what this endpoint does and when to use it.\"),\n pydantic_schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Must include 'type' and 'properties'.\"),\n extraction_prompt: z.string().describe(\"Natural language instructions for what data to extract from the target URL.\"),\n interaction_steps: z.array(z.string()).describe(\"Optional list of browser interaction steps to perform before extraction (e.g., click buttons, wait for elements).\").optional(),\n}).passthrough().describe(\"Schema for a custom scraping endpoint configuration.\")).describe(\"List of endpoint configurations to save. Each configuration defines a custom scraping endpoint with its parameters and extraction logic.\"),\n}).describe(\"Request schema for saving one or more custom scraping endpoint configurations.\");\nexport const ScrapegraphAiSaveEndpointOutput = z.object({\n message: z.string().default(\"Endpoint configurations saved successfully\").describe(\"Confirmation message from the API.\").nullable().optional(),\n success: z.boolean().default(true).describe(\"Whether the endpoint configurations were saved successfully.\").nullable().optional(),\n saved_count: z.number().int().describe(\"Number of endpoint configurations that were saved.\").nullable(),\n}).passthrough().describe(\"Response schema after successfully saving endpoint configurations.\");\n\nexport const scrapegraphAiSaveEndpoint: AppAction<\n typeof ScrapegraphAiSaveEndpointInput,\n typeof ScrapegraphAiSaveEndpointOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SAVE_ENDPOINT\", {\n slug: \"scrapegraph_ai-save-endpoint\",\n name: \"Save Endpoint Configuration\",\n description: \"Tool to save custom scraping endpoint configurations to ScrapeGraphAI. Use when you need to create reusable scraping endpoints with specific parameters and extraction logic.\",\n input: ScrapegraphAiSaveEndpointInput,\n output: ScrapegraphAiSaveEndpointOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,iCAAiCA,IAAAA,EAAE,OAAO,EACrD,aAAaA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;CAC9B,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC7G,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE;CACnG,YAAYA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO;EAC7B,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE;EAC/F,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD;EACjF,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;EAChH,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;EAC1F,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uDAAuD;EACtF,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD;CACtF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,CAAC,SAAS,gFAAgF;CAC3K,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D;CAC7F,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;CAC7F,iBAAiBA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oGAAoG;CAChK,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E;CACpH,mBAAmBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;AAChL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,SAAS,0IAA0I,EACtO,CAAC,CAAC,CAAC,SAAS,gFAAgF;AAC5F,MAAa,kCAAkCA,IAAAA,EAAE,OAAO;CACtD,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,QAAQ,4CAA4C,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7I,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChI,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;AACxG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oEAAoE;AAE9F,MAAa,4BAITC,eAAAA,OAAO,gCAAgC;CACzC,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/save-endpoint.d.ts
|
|
@@ -25,27 +27,7 @@ declare const ScrapegraphAiSaveEndpointOutput: z.ZodObject<{
|
|
|
25
27
|
success: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
|
|
26
28
|
saved_count: z.ZodNullable<z.ZodNumber>;
|
|
27
29
|
}, z.core.$loose>;
|
|
28
|
-
declare const scrapegraphAiSaveEndpoint:
|
|
29
|
-
suggestions: {
|
|
30
|
-
[x: string]: unknown;
|
|
31
|
-
endpoint: string;
|
|
32
|
-
parameters: {
|
|
33
|
-
[x: string]: unknown;
|
|
34
|
-
name: string;
|
|
35
|
-
type: string;
|
|
36
|
-
location: string;
|
|
37
|
-
required: boolean;
|
|
38
|
-
description: string;
|
|
39
|
-
is_url?: boolean | undefined;
|
|
40
|
-
}[];
|
|
41
|
-
target_url: string;
|
|
42
|
-
description: string;
|
|
43
|
-
pydantic_schema: Record<string, unknown>;
|
|
44
|
-
extraction_prompt: string;
|
|
45
|
-
method?: string | undefined;
|
|
46
|
-
interaction_steps?: string[] | undefined;
|
|
47
|
-
}[];
|
|
48
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
30
|
+
declare const scrapegraphAiSaveEndpoint: AppAction<typeof ScrapegraphAiSaveEndpointInput, typeof ScrapegraphAiSaveEndpointOutput, typeof scrapegraphAi.credential>;
|
|
49
31
|
//#endregion
|
|
50
32
|
export { scrapegraphAiSaveEndpoint };
|
|
51
33
|
//# sourceMappingURL=save-endpoint.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-endpoint.d.cts","names":[],"sources":["../../src/actions/save-endpoint.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"save-endpoint.d.cts","names":[],"sources":["../../src/actions/save-endpoint.ts"],"mappings":";;;;;cAMa,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAmB9B,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;cAM/B,yBAAA,EAA2B,SAAA,QAC/B,8BAAA,SACA,+BAAA,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/save-endpoint.d.ts
|
|
@@ -25,27 +27,7 @@ declare const ScrapegraphAiSaveEndpointOutput: z.ZodObject<{
|
|
|
25
27
|
success: z.ZodOptional<z.ZodNullable<z.ZodDefault<z.ZodBoolean>>>;
|
|
26
28
|
saved_count: z.ZodNullable<z.ZodNumber>;
|
|
27
29
|
}, z.core.$loose>;
|
|
28
|
-
declare const scrapegraphAiSaveEndpoint:
|
|
29
|
-
suggestions: {
|
|
30
|
-
[x: string]: unknown;
|
|
31
|
-
endpoint: string;
|
|
32
|
-
parameters: {
|
|
33
|
-
[x: string]: unknown;
|
|
34
|
-
name: string;
|
|
35
|
-
type: string;
|
|
36
|
-
location: string;
|
|
37
|
-
required: boolean;
|
|
38
|
-
description: string;
|
|
39
|
-
is_url?: boolean | undefined;
|
|
40
|
-
}[];
|
|
41
|
-
target_url: string;
|
|
42
|
-
description: string;
|
|
43
|
-
pydantic_schema: Record<string, unknown>;
|
|
44
|
-
extraction_prompt: string;
|
|
45
|
-
method?: string | undefined;
|
|
46
|
-
interaction_steps?: string[] | undefined;
|
|
47
|
-
}[];
|
|
48
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
30
|
+
declare const scrapegraphAiSaveEndpoint: AppAction<typeof ScrapegraphAiSaveEndpointInput, typeof ScrapegraphAiSaveEndpointOutput, typeof scrapegraphAi.credential>;
|
|
49
31
|
//#endregion
|
|
50
32
|
export { scrapegraphAiSaveEndpoint };
|
|
51
33
|
//# sourceMappingURL=save-endpoint.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-endpoint.d.mts","names":[],"sources":["../../src/actions/save-endpoint.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"save-endpoint.d.mts","names":[],"sources":["../../src/actions/save-endpoint.ts"],"mappings":";;;;;cAMa,8BAAA,EAA8B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;cAmB9B,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;cAM/B,yBAAA,EAA2B,SAAA,QAC/B,8BAAA,SACA,+BAAA,SACA,aAAA,CAAc,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-endpoint.mjs","names":[],"sources":["../../src/actions/save-endpoint.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSaveEndpointInput = z.object({\n suggestions: z.array(z.object({\n method: z.string().default(\"POST\").describe(\"HTTP method for the endpoint (GET, POST, PUT, etc.).\").optional(),\n endpoint: z.string().describe(\"The endpoint path (e.g., /test-endpoint). Must be a valid URL path.\"),\n parameters: z.array(z.object({\n name: z.string().describe(\"Parameter name (alphanumeric, underscores, dots, and hyphens only).\"),\n type: z.string().describe(\"Parameter data type (e.g., string, integer, boolean).\"),\n is_url: z.boolean().default(false).describe(\"Whether this parameter is a URL that should be scraped.\").optional(),\n location: z.string().describe(\"Where the parameter is passed (query, path, body, header).\"),\n required: z.boolean().describe(\"Whether this parameter is mandatory for the endpoint.\"),\n description: z.string().describe(\"Detailed description of what this parameter does.\"),\n}).passthrough().describe(\"Schema for defining a parameter in a custom endpoint.\")).describe(\"List of parameters that the endpoint accepts. Use empty list if no parameters.\"),\n target_url: z.string().describe(\"The base URL or URL pattern that this endpoint will scrape.\"),\n description: z.string().describe(\"Description of what this endpoint does and when to use it.\"),\n pydantic_schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Must include 'type' and 'properties'.\"),\n extraction_prompt: z.string().describe(\"Natural language instructions for what data to extract from the target URL.\"),\n interaction_steps: z.array(z.string()).describe(\"Optional list of browser interaction steps to perform before extraction (e.g., click buttons, wait for elements).\").optional(),\n}).passthrough().describe(\"Schema for a custom scraping endpoint configuration.\")).describe(\"List of endpoint configurations to save. Each configuration defines a custom scraping endpoint with its parameters and extraction logic.\"),\n}).describe(\"Request schema for saving one or more custom scraping endpoint configurations.\");\nexport const ScrapegraphAiSaveEndpointOutput = z.object({\n message: z.string().default(\"Endpoint configurations saved successfully\").describe(\"Confirmation message from the API.\").nullable().optional(),\n success: z.boolean().default(true).describe(\"Whether the endpoint configurations were saved successfully.\").nullable().optional(),\n saved_count: z.number().int().describe(\"Number of endpoint configurations that were saved.\").nullable(),\n}).passthrough().describe(\"Response schema after successfully saving endpoint configurations.\");\n\nexport const scrapegraphAiSaveEndpoint = action(\"SCRAPEGRAPH_AI_SAVE_ENDPOINT\", {\n slug: \"scrapegraph_ai-save-endpoint\",\n name: \"Save Endpoint Configuration\",\n description: \"Tool to save custom scraping endpoint configurations to ScrapeGraphAI. Use when you need to create reusable scraping endpoints with specific parameters and extraction logic.\",\n input: ScrapegraphAiSaveEndpointInput,\n output: ScrapegraphAiSaveEndpointOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"save-endpoint.mjs","names":[],"sources":["../../src/actions/save-endpoint.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 ScrapegraphAiSaveEndpointInput = z.object({\n suggestions: z.array(z.object({\n method: z.string().default(\"POST\").describe(\"HTTP method for the endpoint (GET, POST, PUT, etc.).\").optional(),\n endpoint: z.string().describe(\"The endpoint path (e.g., /test-endpoint). Must be a valid URL path.\"),\n parameters: z.array(z.object({\n name: z.string().describe(\"Parameter name (alphanumeric, underscores, dots, and hyphens only).\"),\n type: z.string().describe(\"Parameter data type (e.g., string, integer, boolean).\"),\n is_url: z.boolean().default(false).describe(\"Whether this parameter is a URL that should be scraped.\").optional(),\n location: z.string().describe(\"Where the parameter is passed (query, path, body, header).\"),\n required: z.boolean().describe(\"Whether this parameter is mandatory for the endpoint.\"),\n description: z.string().describe(\"Detailed description of what this parameter does.\"),\n}).passthrough().describe(\"Schema for defining a parameter in a custom endpoint.\")).describe(\"List of parameters that the endpoint accepts. Use empty list if no parameters.\"),\n target_url: z.string().describe(\"The base URL or URL pattern that this endpoint will scrape.\"),\n description: z.string().describe(\"Description of what this endpoint does and when to use it.\"),\n pydantic_schema: z.record(z.string(), z.unknown()).describe(\"JSON Schema object defining the structure of extracted data. Must include 'type' and 'properties'.\"),\n extraction_prompt: z.string().describe(\"Natural language instructions for what data to extract from the target URL.\"),\n interaction_steps: z.array(z.string()).describe(\"Optional list of browser interaction steps to perform before extraction (e.g., click buttons, wait for elements).\").optional(),\n}).passthrough().describe(\"Schema for a custom scraping endpoint configuration.\")).describe(\"List of endpoint configurations to save. Each configuration defines a custom scraping endpoint with its parameters and extraction logic.\"),\n}).describe(\"Request schema for saving one or more custom scraping endpoint configurations.\");\nexport const ScrapegraphAiSaveEndpointOutput = z.object({\n message: z.string().default(\"Endpoint configurations saved successfully\").describe(\"Confirmation message from the API.\").nullable().optional(),\n success: z.boolean().default(true).describe(\"Whether the endpoint configurations were saved successfully.\").nullable().optional(),\n saved_count: z.number().int().describe(\"Number of endpoint configurations that were saved.\").nullable(),\n}).passthrough().describe(\"Response schema after successfully saving endpoint configurations.\");\n\nexport const scrapegraphAiSaveEndpoint: AppAction<\n typeof ScrapegraphAiSaveEndpointInput,\n typeof ScrapegraphAiSaveEndpointOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SAVE_ENDPOINT\", {\n slug: \"scrapegraph_ai-save-endpoint\",\n name: \"Save Endpoint Configuration\",\n description: \"Tool to save custom scraping endpoint configurations to ScrapeGraphAI. Use when you need to create reusable scraping endpoints with specific parameters and extraction logic.\",\n input: ScrapegraphAiSaveEndpointInput,\n output: ScrapegraphAiSaveEndpointOutput,\n});\n"],"mappings":";;;AA+BA,MAAa,4BAIT,OAAO,gCAAgC;CACzC,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAjC4C,EAAE,OAAO,EACrD,aAAa,EAAE,MAAM,EAAE,OAAO;EAC9B,QAAQ,EAAE,OAAO,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EAC7G,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE;EACnG,YAAY,EAAE,MAAM,EAAE,OAAO;GAC7B,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qEAAqE;GAC/F,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD;GACjF,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,yDAAyD,CAAC,CAAC,SAAS;GAChH,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;GAC1F,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,uDAAuD;GACtF,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD;EACtF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,CAAC,SAAS,gFAAgF;EAC3K,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D;EAC7F,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D;EAC7F,iBAAiB,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oGAAoG;EAChK,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,6EAA6E;EACpH,mBAAmB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;CAChL,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,CAAC,SAAS,0IAA0I,EACtO,CAAC,CAAC,CAAC,SAAS,gFAeH;CACP,QAf6C,EAAE,OAAO;EACtD,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,4CAA4C,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7I,SAAS,EAAE,QAAQ,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,SAAS,8DAA8D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChI,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS;CACxG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oEAWhB;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper-status.cjs","names":["z","action"],"sources":["../../src/actions/search-scraper-status.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSearchScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SearchScraper request obtained from the SearchScraper action response.\"),\n}).describe(\"Request model for checking the status of a SearchScraper job.\");\nexport const ScrapegraphAiSearchScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message if the job failed. Empty or null if successful.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Search results structured data (available when status is 'completed'). Contains the extracted information from the search.\").nullable().optional(),\n status: z.string().describe(\"Current status of the search request. Possible values: 'queued', 'processing', 'completed', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the search request.\").nullable(),\n num_results: z.number().int().describe(\"Number of search results requested.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was submitted.\").nullable().optional(),\n reference_urls: z.array(z.string()).describe(\"List of URLs used as references for generating the search results.\").nullable().optional(),\n markdown_content: z.string().describe(\"Markdown-formatted content of the search results.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SearchScraper status check.\");\n\nexport const scrapegraphAiSearchScraperStatus = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-search-scraper-status\",\n name: \"Check SearchScraper Status\",\n description: \"Check the status and results of an asynchronous SearchScraper job.\",\n input: ScrapegraphAiSearchScraperStatusInput,\n output: ScrapegraphAiSearchScraperStatusOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper-status.cjs","names":["z","action"],"sources":["../../src/actions/search-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 ScrapegraphAiSearchScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SearchScraper request obtained from the SearchScraper action response.\"),\n}).describe(\"Request model for checking the status of a SearchScraper job.\");\nexport const ScrapegraphAiSearchScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message if the job failed. Empty or null if successful.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Search results structured data (available when status is 'completed'). Contains the extracted information from the search.\").nullable().optional(),\n status: z.string().describe(\"Current status of the search request. Possible values: 'queued', 'processing', 'completed', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the search request.\").nullable(),\n num_results: z.number().int().describe(\"Number of search results requested.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was submitted.\").nullable().optional(),\n reference_urls: z.array(z.string()).describe(\"List of URLs used as references for generating the search results.\").nullable().optional(),\n markdown_content: z.string().describe(\"Markdown-formatted content of the search results.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SearchScraper status check.\");\n\nexport const scrapegraphAiSearchScraperStatus: AppAction<\n typeof ScrapegraphAiSearchScraperStatusInput,\n typeof ScrapegraphAiSearchScraperStatusOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-search-scraper-status\",\n name: \"Check SearchScraper Status\",\n description: \"Check the status and results of an asynchronous SearchScraper job.\",\n input: ScrapegraphAiSearchScraperStatusInput,\n output: ScrapegraphAiSearchScraperStatusOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,wCAAwCA,IAAAA,EAAE,OAAO,EAC5D,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4GAA4G,EAC9I,CAAC,CAAC,CAAC,SAAS,+DAA+D;AAC3E,MAAa,yCAAyCA,IAAAA,EAAE,OAAO;CAC7D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChH,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrM,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;CACjJ,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CAChG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAClG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtG,gBAAgBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvI,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAAgD;AAE1E,MAAa,mCAITC,eAAAA,OAAO,wCAAwC;CACjD,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/search-scraper-status.d.ts
|
|
@@ -14,9 +16,7 @@ declare const ScrapegraphAiSearchScraperStatusOutput: z.ZodObject<{
|
|
|
14
16
|
reference_urls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
15
17
|
markdown_content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
18
|
}, z.core.$loose>;
|
|
17
|
-
declare const scrapegraphAiSearchScraperStatus:
|
|
18
|
-
request_id: string;
|
|
19
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
19
|
+
declare const scrapegraphAiSearchScraperStatus: AppAction<typeof ScrapegraphAiSearchScraperStatusInput, typeof ScrapegraphAiSearchScraperStatusOutput, typeof scrapegraphAi.credential>;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { scrapegraphAiSearchScraperStatus };
|
|
22
22
|
//# sourceMappingURL=search-scraper-status.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper-status.d.cts","names":[],"sources":["../../src/actions/search-scraper-status.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper-status.d.cts","names":[],"sources":["../../src/actions/search-scraper-status.ts"],"mappings":";;;;;cAMa,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;cAGrC,sCAAA,EAAsC,CAAA,CAAA,SAAA;;;;;;;;;;cAWtC,gCAAA,EAAkC,SAAA,QACtC,qCAAA,SACA,sCAAA,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/search-scraper-status.d.ts
|
|
@@ -14,9 +16,7 @@ declare const ScrapegraphAiSearchScraperStatusOutput: z.ZodObject<{
|
|
|
14
16
|
reference_urls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
15
17
|
markdown_content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
16
18
|
}, z.core.$loose>;
|
|
17
|
-
declare const scrapegraphAiSearchScraperStatus:
|
|
18
|
-
request_id: string;
|
|
19
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
19
|
+
declare const scrapegraphAiSearchScraperStatus: AppAction<typeof ScrapegraphAiSearchScraperStatusInput, typeof ScrapegraphAiSearchScraperStatusOutput, typeof scrapegraphAi.credential>;
|
|
20
20
|
//#endregion
|
|
21
21
|
export { scrapegraphAiSearchScraperStatus };
|
|
22
22
|
//# sourceMappingURL=search-scraper-status.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper-status.d.mts","names":[],"sources":["../../src/actions/search-scraper-status.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper-status.d.mts","names":[],"sources":["../../src/actions/search-scraper-status.ts"],"mappings":";;;;;cAMa,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;cAGrC,sCAAA,EAAsC,CAAA,CAAA,SAAA;;;;;;;;;;cAWtC,gCAAA,EAAkC,SAAA,QACtC,qCAAA,SACA,sCAAA,SACA,aAAA,CAAc,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper-status.mjs","names":[],"sources":["../../src/actions/search-scraper-status.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSearchScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SearchScraper request obtained from the SearchScraper action response.\"),\n}).describe(\"Request model for checking the status of a SearchScraper job.\");\nexport const ScrapegraphAiSearchScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message if the job failed. Empty or null if successful.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Search results structured data (available when status is 'completed'). Contains the extracted information from the search.\").nullable().optional(),\n status: z.string().describe(\"Current status of the search request. Possible values: 'queued', 'processing', 'completed', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the search request.\").nullable(),\n num_results: z.number().int().describe(\"Number of search results requested.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was submitted.\").nullable().optional(),\n reference_urls: z.array(z.string()).describe(\"List of URLs used as references for generating the search results.\").nullable().optional(),\n markdown_content: z.string().describe(\"Markdown-formatted content of the search results.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SearchScraper status check.\");\n\nexport const scrapegraphAiSearchScraperStatus = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-search-scraper-status\",\n name: \"Check SearchScraper Status\",\n description: \"Check the status and results of an asynchronous SearchScraper job.\",\n input: ScrapegraphAiSearchScraperStatusInput,\n output: ScrapegraphAiSearchScraperStatusOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper-status.mjs","names":[],"sources":["../../src/actions/search-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 ScrapegraphAiSearchScraperStatusInput = z.object({\n request_id: z.string().describe(\"The unique identifier (UUID) of the SearchScraper request obtained from the SearchScraper action response.\"),\n}).describe(\"Request model for checking the status of a SearchScraper job.\");\nexport const ScrapegraphAiSearchScraperStatusOutput = z.object({\n error: z.string().describe(\"Error message if the job failed. Empty or null if successful.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Search results structured data (available when status is 'completed'). Contains the extracted information from the search.\").nullable().optional(),\n status: z.string().describe(\"Current status of the search request. Possible values: 'queued', 'processing', 'completed', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"The unique identifier (UUID) of the search request.\").nullable(),\n num_results: z.number().int().describe(\"Number of search results requested.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was submitted.\").nullable().optional(),\n reference_urls: z.array(z.string()).describe(\"List of URLs used as references for generating the search results.\").nullable().optional(),\n markdown_content: z.string().describe(\"Markdown-formatted content of the search results.\").nullable().optional(),\n}).passthrough().describe(\"Response model for SearchScraper status check.\");\n\nexport const scrapegraphAiSearchScraperStatus: AppAction<\n typeof ScrapegraphAiSearchScraperStatusInput,\n typeof ScrapegraphAiSearchScraperStatusOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER_STATUS\", {\n slug: \"scrapegraph_ai-search-scraper-status\",\n name: \"Check SearchScraper Status\",\n description: \"Check the status and results of an asynchronous SearchScraper job.\",\n input: ScrapegraphAiSearchScraperStatusInput,\n output: ScrapegraphAiSearchScraperStatusOutput,\n});\n"],"mappings":";;;AAoBA,MAAa,mCAIT,OAAO,wCAAwC;CACjD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAtBmD,EAAE,OAAO,EAC5D,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,4GAA4G,EAC9I,CAAC,CAAC,CAAC,SAAS,+DAoBH;CACP,QApBoD,EAAE,OAAO;EAC7D,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChH,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrM,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,0GAA0G,CAAC,CAAC,SAAS;EACjJ,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;EAChG,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAClG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtG,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,oEAAoE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACvI,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjH,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAWhB;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper.cjs","names":["z","action"],"sources":["../../src/actions/search-scraper.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSearchScraperInput = z.object({\n mock: z.boolean().describe(\"If true, returns a mock response for testing without consuming credits. Default is false.\").optional(),\n query: z.string().describe(\"The search query describing what you want to find on the web.\"),\n language: z.string().describe(\"ISO 639-1 language code for the search (e.g., 'en').\").optional(),\n num_results: z.number().int().describe(\"Number of websites to search (3-20). Each website incurs credit costs. Default is 3. Insufficient credits returns a 402 error; verify balance before setting values above 3.\").optional(),\n extraction_mode: z.boolean().describe(\"If true (default), uses AI to extract structured data (10 credits/page). If false, returns raw markdown content (2 credits/page).\").optional(),\n}).describe(\"Request parameters for the SearchScraper action.\");\nexport const ScrapegraphAiSearchScraperOutput = z.object({\n error: z.string().describe(\"Error message if the request failed.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted structured data (when extraction_mode=true). Structure varies based on search query.\").nullable().optional(),\n status: z.string().describe(\"Status of the request: 'completed', 'running', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"Unique identifier for tracking this request.\").nullable(),\n num_results: z.number().int().describe(\"Number of websites that were searched.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was executed.\").nullable(),\n reference_urls: z.array(z.string()).describe(\"List of source URLs that were searched and extracted data from.\").nullable().optional(),\n markdown_content: z.string().describe(\"Raw markdown content from scraped pages (when extraction_mode=false).\").nullable().optional(),\n}).passthrough().describe(\"Structured response from the SearchScraper action.\");\n\nexport const scrapegraphAiSearchScraper = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER\", {\n slug: \"scrapegraph_ai-search-scraper\",\n name: \"Search Scraper\",\n description: \"Perform AI-powered web searches with structured, parsed results. Some sites block scrapers and return empty bodies; treat these as unrecoverable for that URL. JS-rendered pages may yield incomplete content.\",\n input: ScrapegraphAiSearchScraperInput,\n output: ScrapegraphAiSearchScraperOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper.cjs","names":["z","action"],"sources":["../../src/actions/search-scraper.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 ScrapegraphAiSearchScraperInput = z.object({\n mock: z.boolean().describe(\"If true, returns a mock response for testing without consuming credits. Default is false.\").optional(),\n query: z.string().describe(\"The search query describing what you want to find on the web.\"),\n language: z.string().describe(\"ISO 639-1 language code for the search (e.g., 'en').\").optional(),\n num_results: z.number().int().describe(\"Number of websites to search (3-20). Each website incurs credit costs. Default is 3. Insufficient credits returns a 402 error; verify balance before setting values above 3.\").optional(),\n extraction_mode: z.boolean().describe(\"If true (default), uses AI to extract structured data (10 credits/page). If false, returns raw markdown content (2 credits/page).\").optional(),\n}).describe(\"Request parameters for the SearchScraper action.\");\nexport const ScrapegraphAiSearchScraperOutput = z.object({\n error: z.string().describe(\"Error message if the request failed.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted structured data (when extraction_mode=true). Structure varies based on search query.\").nullable().optional(),\n status: z.string().describe(\"Status of the request: 'completed', 'running', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"Unique identifier for tracking this request.\").nullable(),\n num_results: z.number().int().describe(\"Number of websites that were searched.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was executed.\").nullable(),\n reference_urls: z.array(z.string()).describe(\"List of source URLs that were searched and extracted data from.\").nullable().optional(),\n markdown_content: z.string().describe(\"Raw markdown content from scraped pages (when extraction_mode=false).\").nullable().optional(),\n}).passthrough().describe(\"Structured response from the SearchScraper action.\");\n\nexport const scrapegraphAiSearchScraper: AppAction<\n typeof ScrapegraphAiSearchScraperInput,\n typeof ScrapegraphAiSearchScraperOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER\", {\n slug: \"scrapegraph_ai-search-scraper\",\n name: \"Search Scraper\",\n description: \"Perform AI-powered web searches with structured, parsed results. Some sites block scrapers and return empty bodies; treat these as unrecoverable for that URL. JS-rendered pages may yield incomplete content.\",\n input: ScrapegraphAiSearchScraperInput,\n output: ScrapegraphAiSearchScraperOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,kCAAkCA,IAAAA,EAAE,OAAO;CACtD,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;CACjI,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D;CAC1F,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAC/F,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;CAChO,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mIAAmI,CAAC,CAAC,SAAS;AACtL,CAAC,CAAC,CAAC,SAAS,kDAAkD;AAC9D,MAAa,mCAAmCA,IAAAA,EAAE,OAAO;CACvD,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvF,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,gGAAgG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzK,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CACpG,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CACzF,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrG,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;CAC1F,gBAAgBA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpI,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uEAAuE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACrI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAAoD;AAE9E,MAAa,6BAITC,eAAAA,OAAO,iCAAiC;CAC1C,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/search-scraper.d.ts
|
|
@@ -18,13 +20,7 @@ declare const ScrapegraphAiSearchScraperOutput: z.ZodObject<{
|
|
|
18
20
|
reference_urls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
19
21
|
markdown_content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
22
|
}, z.core.$loose>;
|
|
21
|
-
declare const scrapegraphAiSearchScraper:
|
|
22
|
-
query: string;
|
|
23
|
-
mock?: boolean | undefined;
|
|
24
|
-
language?: string | undefined;
|
|
25
|
-
num_results?: number | undefined;
|
|
26
|
-
extraction_mode?: boolean | undefined;
|
|
27
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
23
|
+
declare const scrapegraphAiSearchScraper: AppAction<typeof ScrapegraphAiSearchScraperInput, typeof ScrapegraphAiSearchScraperOutput, typeof scrapegraphAi.credential>;
|
|
28
24
|
//#endregion
|
|
29
25
|
export { scrapegraphAiSearchScraper };
|
|
30
26
|
//# sourceMappingURL=search-scraper.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper.d.cts","names":[],"sources":["../../src/actions/search-scraper.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper.d.cts","names":[],"sources":["../../src/actions/search-scraper.ts"],"mappings":";;;;;cAMa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;cAO/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;cAWhC,0BAAA,EAA4B,SAAA,QAChC,+BAAA,SACA,gCAAA,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/search-scraper.d.ts
|
|
@@ -18,13 +20,7 @@ declare const ScrapegraphAiSearchScraperOutput: z.ZodObject<{
|
|
|
18
20
|
reference_urls: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
|
|
19
21
|
markdown_content: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
22
|
}, z.core.$loose>;
|
|
21
|
-
declare const scrapegraphAiSearchScraper:
|
|
22
|
-
query: string;
|
|
23
|
-
mock?: boolean | undefined;
|
|
24
|
-
language?: string | undefined;
|
|
25
|
-
num_results?: number | undefined;
|
|
26
|
-
extraction_mode?: boolean | undefined;
|
|
27
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
23
|
+
declare const scrapegraphAiSearchScraper: AppAction<typeof ScrapegraphAiSearchScraperInput, typeof ScrapegraphAiSearchScraperOutput, typeof scrapegraphAi.credential>;
|
|
28
24
|
//#endregion
|
|
29
25
|
export { scrapegraphAiSearchScraper };
|
|
30
26
|
//# sourceMappingURL=search-scraper.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper.d.mts","names":[],"sources":["../../src/actions/search-scraper.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper.d.mts","names":[],"sources":["../../src/actions/search-scraper.ts"],"mappings":";;;;;cAMa,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;cAO/B,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;cAWhC,0BAAA,EAA4B,SAAA,QAChC,+BAAA,SACA,gCAAA,SACA,aAAA,CAAc,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-scraper.mjs","names":[],"sources":["../../src/actions/search-scraper.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSearchScraperInput = z.object({\n mock: z.boolean().describe(\"If true, returns a mock response for testing without consuming credits. Default is false.\").optional(),\n query: z.string().describe(\"The search query describing what you want to find on the web.\"),\n language: z.string().describe(\"ISO 639-1 language code for the search (e.g., 'en').\").optional(),\n num_results: z.number().int().describe(\"Number of websites to search (3-20). Each website incurs credit costs. Default is 3. Insufficient credits returns a 402 error; verify balance before setting values above 3.\").optional(),\n extraction_mode: z.boolean().describe(\"If true (default), uses AI to extract structured data (10 credits/page). If false, returns raw markdown content (2 credits/page).\").optional(),\n}).describe(\"Request parameters for the SearchScraper action.\");\nexport const ScrapegraphAiSearchScraperOutput = z.object({\n error: z.string().describe(\"Error message if the request failed.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted structured data (when extraction_mode=true). Structure varies based on search query.\").nullable().optional(),\n status: z.string().describe(\"Status of the request: 'completed', 'running', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"Unique identifier for tracking this request.\").nullable(),\n num_results: z.number().int().describe(\"Number of websites that were searched.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was executed.\").nullable(),\n reference_urls: z.array(z.string()).describe(\"List of source URLs that were searched and extracted data from.\").nullable().optional(),\n markdown_content: z.string().describe(\"Raw markdown content from scraped pages (when extraction_mode=false).\").nullable().optional(),\n}).passthrough().describe(\"Structured response from the SearchScraper action.\");\n\nexport const scrapegraphAiSearchScraper = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER\", {\n slug: \"scrapegraph_ai-search-scraper\",\n name: \"Search Scraper\",\n description: \"Perform AI-powered web searches with structured, parsed results. Some sites block scrapers and return empty bodies; treat these as unrecoverable for that URL. JS-rendered pages may yield incomplete content.\",\n input: ScrapegraphAiSearchScraperInput,\n output: ScrapegraphAiSearchScraperOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"search-scraper.mjs","names":[],"sources":["../../src/actions/search-scraper.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 ScrapegraphAiSearchScraperInput = z.object({\n mock: z.boolean().describe(\"If true, returns a mock response for testing without consuming credits. Default is false.\").optional(),\n query: z.string().describe(\"The search query describing what you want to find on the web.\"),\n language: z.string().describe(\"ISO 639-1 language code for the search (e.g., 'en').\").optional(),\n num_results: z.number().int().describe(\"Number of websites to search (3-20). Each website incurs credit costs. Default is 3. Insufficient credits returns a 402 error; verify balance before setting values above 3.\").optional(),\n extraction_mode: z.boolean().describe(\"If true (default), uses AI to extract structured data (10 credits/page). If false, returns raw markdown content (2 credits/page).\").optional(),\n}).describe(\"Request parameters for the SearchScraper action.\");\nexport const ScrapegraphAiSearchScraperOutput = z.object({\n error: z.string().describe(\"Error message if the request failed.\").nullable().optional(),\n result: z.record(z.string(), z.unknown()).describe(\"Extracted structured data (when extraction_mode=true). Structure varies based on search query.\").nullable().optional(),\n status: z.string().describe(\"Status of the request: 'completed', 'running', or 'failed'.\").nullable(),\n request_id: z.string().describe(\"Unique identifier for tracking this request.\").nullable(),\n num_results: z.number().int().describe(\"Number of websites that were searched.\").nullable().optional(),\n user_prompt: z.string().describe(\"The original search query that was executed.\").nullable(),\n reference_urls: z.array(z.string()).describe(\"List of source URLs that were searched and extracted data from.\").nullable().optional(),\n markdown_content: z.string().describe(\"Raw markdown content from scraped pages (when extraction_mode=false).\").nullable().optional(),\n}).passthrough().describe(\"Structured response from the SearchScraper action.\");\n\nexport const scrapegraphAiSearchScraper: AppAction<\n typeof ScrapegraphAiSearchScraperInput,\n typeof ScrapegraphAiSearchScraperOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SEARCH_SCRAPER\", {\n slug: \"scrapegraph_ai-search-scraper\",\n name: \"Search Scraper\",\n description: \"Perform AI-powered web searches with structured, parsed results. Some sites block scrapers and return empty bodies; treat these as unrecoverable for that URL. JS-rendered pages may yield incomplete content.\",\n input: ScrapegraphAiSearchScraperInput,\n output: ScrapegraphAiSearchScraperOutput,\n});\n"],"mappings":";;;AAwBA,MAAa,6BAIT,OAAO,iCAAiC;CAC1C,MAAM;CACN,MAAM;CACN,aAAa;CACb,OA1B6C,EAAE,OAAO;EACtD,MAAM,EAAE,QAAQ,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS;EACjI,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,+DAA+D;EAC1F,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EAC/F,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8KAA8K,CAAC,CAAC,SAAS;EAChO,iBAAiB,EAAE,QAAQ,CAAC,CAAC,SAAS,mIAAmI,CAAC,CAAC,SAAS;CACtL,CAAC,CAAC,CAAC,SAAS,kDAoBH;CACP,QApB8C,EAAE,OAAO;EACvD,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACvF,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,gGAAgG,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzK,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;EACpG,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;EACzF,aAAa,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrG,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS;EAC1F,gBAAgB,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,iEAAiE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpI,kBAAkB,EAAE,OAAO,CAAC,CAAC,SAAS,uEAAuE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,oDAWhB;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-crawler-status.cjs","names":["z","action"],"sources":["../../src/actions/smart-crawler-status.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSmartCrawlerStatusInput = z.object({\n task_id: z.string().describe(\"The unique identifier of the SmartCrawler task to check status for. Obtained from starting a SmartCrawler job.\"),\n}).describe(\"Request model for checking the status of a SmartCrawler job.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema = z.object({\n url: z.string().describe(\"URL of the crawled page.\").nullable(),\n html: z.string().describe(\"Raw HTML content of the page if available.\").nullable().optional(),\n markdown: z.string().describe(\"Extracted content in Markdown format.\").nullable(),\n}).passthrough().describe(\"Represents a single crawled page with extracted content.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema = z.object({\n pages: z.array(ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema).describe(\"Details and extracted content for each page.\"),\n status: z.string().describe(\"Status of the crawl job (e.g., 'done', 'processing', 'queued', 'failed').\").nullable(),\n llm_result: z.record(z.string(), z.unknown()).describe(\"Structured extraction result from the LLM. Only present when extraction_mode was enabled.\").nullable().optional(),\n crawled_urls: z.array(z.string()).describe(\"List of all URLs visited during crawling.\"),\n credits_used: z.number().int().describe(\"Number of credits consumed by this crawl job.\").nullable().optional(),\n elapsed_time: z.number().describe(\"Time taken to complete the crawl in seconds.\").nullable().optional(),\n pages_processed: z.number().int().describe(\"Total number of pages processed.\").nullable().optional(),\n}).passthrough().describe(\"Structured result object for the crawl job.\");\nexport const ScrapegraphAiSmartCrawlerStatusOutput = z.object({\n result: ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema.nullable(),\n status: z.string().describe(\"Overall request status (e.g., 'success').\").nullable(),\n}).passthrough().describe(\"Response model for SmartCrawler status checks.\");\n\nexport const scrapegraphAiSmartCrawlerStatus = action(\"SCRAPEGRAPH_AI_SMART_CRAWLER_STATUS\", {\n slug: \"scrapegraph_ai-smart-crawler-status\",\n name: \"SmartCrawler Status\",\n description: \"Check the status and retrieve results of a SmartCrawler web crawling job. Use this action to poll for completion and get the extracted content from a previously started SmartCrawler job. Returns the job status, crawled URLs, page content in markdown/HTML format, and LLM extraction results (if enabled). Implement a polling timeout (e.g., max retries or elapsed time cap) to avoid indefinite loops when waiting for long-running jobs.\",\n input: ScrapegraphAiSmartCrawlerStatusInput,\n output: ScrapegraphAiSmartCrawlerStatusOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"smart-crawler-status.cjs","names":["z","action"],"sources":["../../src/actions/smart-crawler-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 ScrapegraphAiSmartCrawlerStatusInput = z.object({\n task_id: z.string().describe(\"The unique identifier of the SmartCrawler task to check status for. Obtained from starting a SmartCrawler job.\"),\n}).describe(\"Request model for checking the status of a SmartCrawler job.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema = z.object({\n url: z.string().describe(\"URL of the crawled page.\").nullable(),\n html: z.string().describe(\"Raw HTML content of the page if available.\").nullable().optional(),\n markdown: z.string().describe(\"Extracted content in Markdown format.\").nullable(),\n}).passthrough().describe(\"Represents a single crawled page with extracted content.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema = z.object({\n pages: z.array(ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema).describe(\"Details and extracted content for each page.\"),\n status: z.string().describe(\"Status of the crawl job (e.g., 'done', 'processing', 'queued', 'failed').\").nullable(),\n llm_result: z.record(z.string(), z.unknown()).describe(\"Structured extraction result from the LLM. Only present when extraction_mode was enabled.\").nullable().optional(),\n crawled_urls: z.array(z.string()).describe(\"List of all URLs visited during crawling.\"),\n credits_used: z.number().int().describe(\"Number of credits consumed by this crawl job.\").nullable().optional(),\n elapsed_time: z.number().describe(\"Time taken to complete the crawl in seconds.\").nullable().optional(),\n pages_processed: z.number().int().describe(\"Total number of pages processed.\").nullable().optional(),\n}).passthrough().describe(\"Structured result object for the crawl job.\");\nexport const ScrapegraphAiSmartCrawlerStatusOutput = z.object({\n result: ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema.nullable(),\n status: z.string().describe(\"Overall request status (e.g., 'success').\").nullable(),\n}).passthrough().describe(\"Response model for SmartCrawler status checks.\");\n\nexport const scrapegraphAiSmartCrawlerStatus: AppAction<\n typeof ScrapegraphAiSmartCrawlerStatusInput,\n typeof ScrapegraphAiSmartCrawlerStatusOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SMART_CRAWLER_STATUS\", {\n slug: \"scrapegraph_ai-smart-crawler-status\",\n name: \"SmartCrawler Status\",\n description: \"Check the status and retrieve results of a SmartCrawler web crawling job. Use this action to poll for completion and get the extracted content from a previously started SmartCrawler job. Returns the job status, crawled URLs, page content in markdown/HTML format, and LLM extraction results (if enabled). Implement a polling timeout (e.g., max retries or elapsed time cap) to avoid indefinite loops when waiting for long-running jobs.\",\n input: ScrapegraphAiSmartCrawlerStatusInput,\n output: ScrapegraphAiSmartCrawlerStatusOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,uCAAuCA,IAAAA,EAAE,OAAO,EAC3D,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gHAAgH,EAC/I,CAAC,CAAC,CAAC,SAAS,8DAA8D;AAC1E,MAAM,yDAAyDA,IAAAA,EAAE,OAAO;CACtE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CAC9D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5F,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;AAClF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0DAA0D;AACpF,MAAM,2DAA2DA,IAAAA,EAAE,OAAO;CACxE,OAAOA,IAAAA,EAAE,MAAM,sDAAsD,CAAC,CAAC,SAAS,8CAA8C;CAC9H,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CAClH,YAAYA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxK,cAAcA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,2CAA2C;CACtF,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7G,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtG,iBAAiBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACrG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6CAA6C;AACvE,MAAa,wCAAwCA,IAAAA,EAAE,OAAO;CAC5D,QAAQ,yDAAyD,SAAS;CAC1E,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;AACpF,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-crawler-status.d.ts
|
|
@@ -20,9 +22,7 @@ declare const ScrapegraphAiSmartCrawlerStatusOutput: z.ZodObject<{
|
|
|
20
22
|
}, z.core.$loose>>;
|
|
21
23
|
status: z.ZodNullable<z.ZodString>;
|
|
22
24
|
}, z.core.$loose>;
|
|
23
|
-
declare const scrapegraphAiSmartCrawlerStatus:
|
|
24
|
-
task_id: string;
|
|
25
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
25
|
+
declare const scrapegraphAiSmartCrawlerStatus: AppAction<typeof ScrapegraphAiSmartCrawlerStatusInput, typeof ScrapegraphAiSmartCrawlerStatusOutput, typeof scrapegraphAi.credential>;
|
|
26
26
|
//#endregion
|
|
27
27
|
export { scrapegraphAiSmartCrawlerStatus };
|
|
28
28
|
//# sourceMappingURL=smart-crawler-status.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-crawler-status.d.cts","names":[],"sources":["../../src/actions/smart-crawler-status.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"smart-crawler-status.d.cts","names":[],"sources":["../../src/actions/smart-crawler-status.ts"],"mappings":";;;;;cAMa,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAiBpC,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;cAKrC,+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-crawler-status.d.ts
|
|
@@ -20,9 +22,7 @@ declare const ScrapegraphAiSmartCrawlerStatusOutput: z.ZodObject<{
|
|
|
20
22
|
}, z.core.$loose>>;
|
|
21
23
|
status: z.ZodNullable<z.ZodString>;
|
|
22
24
|
}, z.core.$loose>;
|
|
23
|
-
declare const scrapegraphAiSmartCrawlerStatus:
|
|
24
|
-
task_id: string;
|
|
25
|
-
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
25
|
+
declare const scrapegraphAiSmartCrawlerStatus: AppAction<typeof ScrapegraphAiSmartCrawlerStatusInput, typeof ScrapegraphAiSmartCrawlerStatusOutput, typeof scrapegraphAi.credential>;
|
|
26
26
|
//#endregion
|
|
27
27
|
export { scrapegraphAiSmartCrawlerStatus };
|
|
28
28
|
//# sourceMappingURL=smart-crawler-status.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-crawler-status.d.mts","names":[],"sources":["../../src/actions/smart-crawler-status.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"smart-crawler-status.d.mts","names":[],"sources":["../../src/actions/smart-crawler-status.ts"],"mappings":";;;;;cAMa,oCAAA,EAAoC,CAAA,CAAA,SAAA;;;cAiBpC,qCAAA,EAAqC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;cAKrC,+BAAA,EAAiC,SAAA,QACrC,oCAAA,SACA,qCAAA,SACA,aAAA,CAAc,UAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-crawler-status.mjs","names":[],"sources":["../../src/actions/smart-crawler-status.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const ScrapegraphAiSmartCrawlerStatusInput = z.object({\n task_id: z.string().describe(\"The unique identifier of the SmartCrawler task to check status for. Obtained from starting a SmartCrawler job.\"),\n}).describe(\"Request model for checking the status of a SmartCrawler job.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema = z.object({\n url: z.string().describe(\"URL of the crawled page.\").nullable(),\n html: z.string().describe(\"Raw HTML content of the page if available.\").nullable().optional(),\n markdown: z.string().describe(\"Extracted content in Markdown format.\").nullable(),\n}).passthrough().describe(\"Represents a single crawled page with extracted content.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema = z.object({\n pages: z.array(ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema).describe(\"Details and extracted content for each page.\"),\n status: z.string().describe(\"Status of the crawl job (e.g., 'done', 'processing', 'queued', 'failed').\").nullable(),\n llm_result: z.record(z.string(), z.unknown()).describe(\"Structured extraction result from the LLM. Only present when extraction_mode was enabled.\").nullable().optional(),\n crawled_urls: z.array(z.string()).describe(\"List of all URLs visited during crawling.\"),\n credits_used: z.number().int().describe(\"Number of credits consumed by this crawl job.\").nullable().optional(),\n elapsed_time: z.number().describe(\"Time taken to complete the crawl in seconds.\").nullable().optional(),\n pages_processed: z.number().int().describe(\"Total number of pages processed.\").nullable().optional(),\n}).passthrough().describe(\"Structured result object for the crawl job.\");\nexport const ScrapegraphAiSmartCrawlerStatusOutput = z.object({\n result: ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema.nullable(),\n status: z.string().describe(\"Overall request status (e.g., 'success').\").nullable(),\n}).passthrough().describe(\"Response model for SmartCrawler status checks.\");\n\nexport const scrapegraphAiSmartCrawlerStatus = action(\"SCRAPEGRAPH_AI_SMART_CRAWLER_STATUS\", {\n slug: \"scrapegraph_ai-smart-crawler-status\",\n name: \"SmartCrawler Status\",\n description: \"Check the status and retrieve results of a SmartCrawler web crawling job. Use this action to poll for completion and get the extracted content from a previously started SmartCrawler job. Returns the job status, crawled URLs, page content in markdown/HTML format, and LLM extraction results (if enabled). Implement a polling timeout (e.g., max retries or elapsed time cap) to avoid indefinite loops when waiting for long-running jobs.\",\n input: ScrapegraphAiSmartCrawlerStatusInput,\n output: ScrapegraphAiSmartCrawlerStatusOutput,\n});\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"smart-crawler-status.mjs","names":[],"sources":["../../src/actions/smart-crawler-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 ScrapegraphAiSmartCrawlerStatusInput = z.object({\n task_id: z.string().describe(\"The unique identifier of the SmartCrawler task to check status for. Obtained from starting a SmartCrawler job.\"),\n}).describe(\"Request model for checking the status of a SmartCrawler job.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema = z.object({\n url: z.string().describe(\"URL of the crawled page.\").nullable(),\n html: z.string().describe(\"Raw HTML content of the page if available.\").nullable().optional(),\n markdown: z.string().describe(\"Extracted content in Markdown format.\").nullable(),\n}).passthrough().describe(\"Represents a single crawled page with extracted content.\");\nconst ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema = z.object({\n pages: z.array(ScrapegraphAiSmartCrawlerStatus_SmartCrawlerPageSchema).describe(\"Details and extracted content for each page.\"),\n status: z.string().describe(\"Status of the crawl job (e.g., 'done', 'processing', 'queued', 'failed').\").nullable(),\n llm_result: z.record(z.string(), z.unknown()).describe(\"Structured extraction result from the LLM. Only present when extraction_mode was enabled.\").nullable().optional(),\n crawled_urls: z.array(z.string()).describe(\"List of all URLs visited during crawling.\"),\n credits_used: z.number().int().describe(\"Number of credits consumed by this crawl job.\").nullable().optional(),\n elapsed_time: z.number().describe(\"Time taken to complete the crawl in seconds.\").nullable().optional(),\n pages_processed: z.number().int().describe(\"Total number of pages processed.\").nullable().optional(),\n}).passthrough().describe(\"Structured result object for the crawl job.\");\nexport const ScrapegraphAiSmartCrawlerStatusOutput = z.object({\n result: ScrapegraphAiSmartCrawlerStatus_SmartCrawlerResultSchema.nullable(),\n status: z.string().describe(\"Overall request status (e.g., 'success').\").nullable(),\n}).passthrough().describe(\"Response model for SmartCrawler status checks.\");\n\nexport const scrapegraphAiSmartCrawlerStatus: AppAction<\n typeof ScrapegraphAiSmartCrawlerStatusInput,\n typeof ScrapegraphAiSmartCrawlerStatusOutput,\n typeof scrapegraphAi.credential\n> = action(\"SCRAPEGRAPH_AI_SMART_CRAWLER_STATUS\", {\n slug: \"scrapegraph_ai-smart-crawler-status\",\n name: \"SmartCrawler Status\",\n description: \"Check the status and retrieve results of a SmartCrawler web crawling job. Use this action to poll for completion and get the extracted content from a previously started SmartCrawler job. Returns the job status, crawled URLs, page content in markdown/HTML format, and LLM extraction results (if enabled). Implement a polling timeout (e.g., max retries or elapsed time cap) to avoid indefinite loops when waiting for long-running jobs.\",\n input: ScrapegraphAiSmartCrawlerStatusInput,\n output: ScrapegraphAiSmartCrawlerStatusOutput,\n});\n"],"mappings":";;;;AAMA,MAAa,uCAAuC,EAAE,OAAO,EAC3D,SAAS,EAAE,OAAO,CAAC,CAAC,SAAS,gHAAgH,EAC/I,CAAC,CAAC,CAAC,SAAS,8DAA8D;AAC1E,MAAM,yDAAyD,EAAE,OAAO;CACtE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS;CAC9D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,4CAA4C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC5F,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;AAClF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,0DAA0D;AACpF,MAAM,2DAA2D,EAAE,OAAO;CACxE,OAAO,EAAE,MAAM,sDAAsD,CAAC,CAAC,SAAS,8CAA8C;CAC9H,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS;CAClH,YAAY,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2FAA2F,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxK,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,2CAA2C;CACtF,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,+CAA+C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7G,cAAc,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtG,iBAAiB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACrG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6CAA6C;AAMvE,MAAa,kCAIT,OAAO,uCAAuC;CAChD,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAdmD,EAAE,OAAO;EAC5D,QAAQ,yDAAyD,SAAS;EAC1E,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CACpF,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,gDAWhB;AACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smart-scraper-start.cjs","names":["z","action"],"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":"
|
|
1
|
+
{"version":3,"file":"smart-scraper-start.cjs","names":["z","action"],"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":";;;;AAMA,MAAa,sCAAsCA,IAAAA,EAAE,OAAO;CAC1D,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,4GAA4G,CAAC,CAAC,SAAS;CAClJ,MAAMA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,+MAA+M,CAAC,CAAC,SAAS;CACpQ,OAAOA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;CACxN,SAASA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;CAC5I,SAASA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mHAAmH,CAAC,CAAC,SAAS;CAClL,SAASA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,2GAA2G,CAAC,CAAC,SAAS;CACpJ,YAAYA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,4FAA4F,CAAC,CAAC,SAAS;CACxI,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wEAAwE,CAAC,CAAC,SAAS;CAC1H,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+KAA+K;CAChN,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;CACxK,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kJAAkJ,CAAC,CAAC,SAAS;CAC/L,eAAeA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mGAAmG,CAAC,CAAC,SAAS;CACxK,iBAAiBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;CAC7K,kBAAkBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iKAAiK,CAAC,CAAC,SAAS;CAClN,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,wHAAwH,CAAC,CAAC,SAAS;AAClL,CAAC,CAAC,CAAC,SAAS,mDAAmD;AAC/D,MAAa,uCAAuCA,IAAAA,EAAE,OAAO;CAC3D,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpG,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,2EAA2E,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpJ,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,2CAA2C,CAAC,CAAC,SAAS;CAClF,YAAYA,IAAAA,EAAE,KAAK;EAAC;EAAU;EAAc;EAAa;CAAQ,CAAC,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzJ,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnF,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,4DAA4D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnH,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACtH,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"}
|