@keystrokehq/serpdog 0.1.0 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/action.cjs.map +1 -1
- package/dist/action.mjs.map +1 -1
- package/dist/actions/screenshot-api.cjs +1 -1
- package/dist/actions/screenshot-api.cjs.map +1 -1
- package/dist/actions/screenshot-api.d.cts +33 -3
- package/dist/actions/screenshot-api.d.cts.map +1 -1
- package/dist/actions/screenshot-api.d.mts +33 -3
- package/dist/actions/screenshot-api.d.mts.map +1 -1
- package/dist/actions/screenshot-api.mjs +1 -1
- package/dist/actions/screenshot-api.mjs.map +1 -1
- package/dist/catalog.cjs +7 -1
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.d.cts +8 -0
- package/dist/catalog.d.mts +8 -0
- package/dist/catalog.mjs +7 -1
- package/dist/catalog.mjs.map +1 -1
- package/dist/execute.cjs +1 -1
- package/dist/execute.cjs.map +1 -1
- package/dist/execute.mjs +1 -1
- package/dist/execute.mjs.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
package/dist/action.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.cjs","names":["serpdog","executeSerpdogTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { serpdog } from \"./app\";\nimport { executeSerpdogTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input:
|
|
1
|
+
{"version":3,"file":"action.cjs","names":["serpdog","executeSerpdogTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { serpdog } from \"./app\";\nimport { executeSerpdogTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return serpdog.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeSerpdogTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,QAAQ,OAAO;EACpB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,mBAAmB,MAAM,KAAgC,CAAC;EAC1F;CACF,CAAC;AACH"}
|
package/dist/action.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { serpdog } from \"./app\";\nimport { executeSerpdogTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input:
|
|
1
|
+
{"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { serpdog } from \"./app\";\nimport { executeSerpdogTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action<TInput extends z.ZodType>(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: TInput;\n output: z.ZodType;\n },\n) {\n return serpdog.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output as z.ZodTypeAny,\n async run(input) {\n return def.output.parse(await executeSerpdogTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,QAAQ,OAAO;EACpB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,mBAAmB,MAAM,KAAgC,CAAC;EAC1F;CACF,CAAC;AACH"}
|
|
@@ -19,7 +19,7 @@ const SerpdogScreenshotApiInput = zod.z.object({
|
|
|
19
19
|
const SerpdogScreenshotApiOutput = zod.z.object({
|
|
20
20
|
raw: zod.z.string().describe("Raw PNG image bytes when output='image'.").nullable().optional(),
|
|
21
21
|
image: zod.z.string().describe("Base64-encoded PNG image when output='json'.").nullable().optional()
|
|
22
|
-
}).describe("Response schema for SerpDog Screenshot API.");
|
|
22
|
+
}).passthrough().describe("Response schema for SerpDog Screenshot API.");
|
|
23
23
|
const serpdogScreenshotApi = require_action.action("SERPDOG_SCREENSHOT_API", {
|
|
24
24
|
slug: "serpdog-screenshot-api",
|
|
25
25
|
name: "Screenshot API",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-api.cjs","names":["z","action"],"sources":["../../src/actions/screenshot-api.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpdogScreenshotApiInput
|
|
1
|
+
{"version":3,"file":"screenshot-api.cjs","names":["z","action"],"sources":["../../src/actions/screenshot-api.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpdogScreenshotApiInput = z.object({\n url: z.string().describe(\"Fully-qualified URL of the page to capture.\"),\n delay: z.number().int().describe(\"Seconds to wait before capturing the screenshot (optional).\").optional(),\n device: z.enum([\"desktop\", \"tablet\", \"mobile\"]).describe(\"Device emulation: 'desktop', 'tablet', or 'mobile'.\").optional(),\n output: z.enum([\"json\", \"image\"]).default(\"image\").describe(\"Response format: 'json' returns base64-encoded PNG in JSON; 'image' returns raw PNG bytes.\").optional(),\n dark_mode: z.boolean().default(false).describe(\"Capture in dark mode if supported (default: false).\").optional(),\n full_page: z.boolean().default(false).describe(\"Capture the entire scrollable page (default: false).\").optional(),\n window_width: z.number().int().describe(\"Viewport width in pixels (optional).\").optional(),\n window_height: z.number().int().describe(\"Viewport height in pixels (optional).\").optional(),\n no_cookie_banners: z.boolean().default(false).describe(\"Hide cookie banners if possible (default: false).\").optional(),\n}).describe(\"Parameters for taking a webpage screenshot via SerpDog.\");\nexport const SerpdogScreenshotApiOutput = z.object({\n raw: z.string().describe(\"Raw PNG image bytes when output='image'.\").nullable().optional(),\n image: z.string().describe(\"Base64-encoded PNG image when output='json'.\").nullable().optional(),\n}).passthrough().describe(\"Response schema for SerpDog Screenshot API.\");\n\nexport const serpdogScreenshotApi = action(\"SERPDOG_SCREENSHOT_API\", {\n slug: \"serpdog-screenshot-api\",\n name: \"Screenshot API\",\n description: \"Tool to capture a screenshot of a webpage. Use when you need a visual snapshot of a page; supports full-page, device emulation, delays, and dark mode.\",\n input: SerpdogScreenshotApiInput,\n output: SerpdogScreenshotApiOutput,\n});\n"],"mappings":";;;AAIA,MAAa,4BAA4BA,IAAAA,EAAE,OAAO;CAChD,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C;CACtE,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;CACzG,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAW;EAAU;CAAQ,CAAC,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CACzH,QAAQA,IAAAA,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,SAAS,4FAA4F,CAAC,CAAC,SAAS;CACnK,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;CAC/G,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;CAChH,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;CACzF,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;CAC3F,mBAAmBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;AACvH,CAAC,CAAC,CAAC,SAAS,yDAAyD;AACrE,MAAa,6BAA6BA,IAAAA,EAAE,OAAO;CACjD,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzF,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACjG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6CAA6C;AAEvE,MAAa,uBAAuBC,eAAAA,OAAO,0BAA0B;CACnE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/screenshot-api.d.ts
|
|
4
|
-
declare const SerpdogScreenshotApiInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const SerpdogScreenshotApiInput: z.ZodObject<{
|
|
5
|
+
url: z.ZodString;
|
|
6
|
+
delay: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
device: z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
desktop: "desktop";
|
|
9
|
+
tablet: "tablet";
|
|
10
|
+
mobile: "mobile";
|
|
11
|
+
}>>;
|
|
12
|
+
output: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
json: "json";
|
|
14
|
+
image: "image";
|
|
15
|
+
}>>>;
|
|
16
|
+
dark_mode: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
17
|
+
full_page: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
18
|
+
window_width: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
window_height: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
no_cookie_banners: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
declare const SerpdogScreenshotApiOutput: z.ZodObject<{
|
|
23
|
+
raw: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
24
|
+
image: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
}, z.core.$loose>;
|
|
26
|
+
declare const serpdogScreenshotApi: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
27
|
+
url: string;
|
|
28
|
+
delay?: number | undefined;
|
|
29
|
+
device?: "desktop" | "tablet" | "mobile" | undefined;
|
|
30
|
+
output?: "json" | "image" | undefined;
|
|
31
|
+
dark_mode?: boolean | undefined;
|
|
32
|
+
full_page?: boolean | undefined;
|
|
33
|
+
window_width?: number | undefined;
|
|
34
|
+
window_height?: number | undefined;
|
|
35
|
+
no_cookie_banners?: boolean | undefined;
|
|
36
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
37
|
//#endregion
|
|
8
38
|
export { serpdogScreenshotApi };
|
|
9
39
|
//# sourceMappingURL=screenshot-api.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-api.d.cts","names":[],"sources":["../../src/actions/screenshot-api.ts"],"mappings":";;;cAIa,yBAAA,
|
|
1
|
+
{"version":3,"file":"screenshot-api.d.cts","names":[],"sources":["../../src/actions/screenshot-api.ts"],"mappings":";;;cAIa,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAWzB,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;cAK1B,oBAAA,gCAAoB,wBAAA"}
|
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
|
|
3
3
|
//#region src/actions/screenshot-api.d.ts
|
|
4
|
-
declare const SerpdogScreenshotApiInput: z.
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
declare const SerpdogScreenshotApiInput: z.ZodObject<{
|
|
5
|
+
url: z.ZodString;
|
|
6
|
+
delay: z.ZodOptional<z.ZodNumber>;
|
|
7
|
+
device: z.ZodOptional<z.ZodEnum<{
|
|
8
|
+
desktop: "desktop";
|
|
9
|
+
tablet: "tablet";
|
|
10
|
+
mobile: "mobile";
|
|
11
|
+
}>>;
|
|
12
|
+
output: z.ZodOptional<z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
json: "json";
|
|
14
|
+
image: "image";
|
|
15
|
+
}>>>;
|
|
16
|
+
dark_mode: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
17
|
+
full_page: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
18
|
+
window_width: z.ZodOptional<z.ZodNumber>;
|
|
19
|
+
window_height: z.ZodOptional<z.ZodNumber>;
|
|
20
|
+
no_cookie_banners: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
21
|
+
}, z.core.$strip>;
|
|
22
|
+
declare const SerpdogScreenshotApiOutput: z.ZodObject<{
|
|
23
|
+
raw: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
24
|
+
image: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
}, z.core.$loose>;
|
|
26
|
+
declare const serpdogScreenshotApi: import("@keystrokehq/action").WorkflowActionDefinition<{
|
|
27
|
+
url: string;
|
|
28
|
+
delay?: number | undefined;
|
|
29
|
+
device?: "desktop" | "tablet" | "mobile" | undefined;
|
|
30
|
+
output?: "json" | "image" | undefined;
|
|
31
|
+
dark_mode?: boolean | undefined;
|
|
32
|
+
full_page?: boolean | undefined;
|
|
33
|
+
window_width?: number | undefined;
|
|
34
|
+
window_height?: number | undefined;
|
|
35
|
+
no_cookie_banners?: boolean | undefined;
|
|
36
|
+
}, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
37
|
//#endregion
|
|
8
38
|
export { serpdogScreenshotApi };
|
|
9
39
|
//# sourceMappingURL=screenshot-api.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-api.d.mts","names":[],"sources":["../../src/actions/screenshot-api.ts"],"mappings":";;;cAIa,yBAAA,
|
|
1
|
+
{"version":3,"file":"screenshot-api.d.mts","names":[],"sources":["../../src/actions/screenshot-api.ts"],"mappings":";;;cAIa,yBAAA,EAAyB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;cAWzB,0BAAA,EAA0B,CAAA,CAAA,SAAA;;;;cAK1B,oBAAA,gCAAoB,wBAAA"}
|
|
@@ -22,7 +22,7 @@ const serpdogScreenshotApi = action("SERPDOG_SCREENSHOT_API", {
|
|
|
22
22
|
output: z.object({
|
|
23
23
|
raw: z.string().describe("Raw PNG image bytes when output='image'.").nullable().optional(),
|
|
24
24
|
image: z.string().describe("Base64-encoded PNG image when output='json'.").nullable().optional()
|
|
25
|
-
}).describe("Response schema for SerpDog Screenshot API.")
|
|
25
|
+
}).passthrough().describe("Response schema for SerpDog Screenshot API.")
|
|
26
26
|
});
|
|
27
27
|
//#endregion
|
|
28
28
|
export { serpdogScreenshotApi };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-api.mjs","names":[],"sources":["../../src/actions/screenshot-api.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpdogScreenshotApiInput
|
|
1
|
+
{"version":3,"file":"screenshot-api.mjs","names":[],"sources":["../../src/actions/screenshot-api.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const SerpdogScreenshotApiInput = z.object({\n url: z.string().describe(\"Fully-qualified URL of the page to capture.\"),\n delay: z.number().int().describe(\"Seconds to wait before capturing the screenshot (optional).\").optional(),\n device: z.enum([\"desktop\", \"tablet\", \"mobile\"]).describe(\"Device emulation: 'desktop', 'tablet', or 'mobile'.\").optional(),\n output: z.enum([\"json\", \"image\"]).default(\"image\").describe(\"Response format: 'json' returns base64-encoded PNG in JSON; 'image' returns raw PNG bytes.\").optional(),\n dark_mode: z.boolean().default(false).describe(\"Capture in dark mode if supported (default: false).\").optional(),\n full_page: z.boolean().default(false).describe(\"Capture the entire scrollable page (default: false).\").optional(),\n window_width: z.number().int().describe(\"Viewport width in pixels (optional).\").optional(),\n window_height: z.number().int().describe(\"Viewport height in pixels (optional).\").optional(),\n no_cookie_banners: z.boolean().default(false).describe(\"Hide cookie banners if possible (default: false).\").optional(),\n}).describe(\"Parameters for taking a webpage screenshot via SerpDog.\");\nexport const SerpdogScreenshotApiOutput = z.object({\n raw: z.string().describe(\"Raw PNG image bytes when output='image'.\").nullable().optional(),\n image: z.string().describe(\"Base64-encoded PNG image when output='json'.\").nullable().optional(),\n}).passthrough().describe(\"Response schema for SerpDog Screenshot API.\");\n\nexport const serpdogScreenshotApi = action(\"SERPDOG_SCREENSHOT_API\", {\n slug: \"serpdog-screenshot-api\",\n name: \"Screenshot API\",\n description: \"Tool to capture a screenshot of a webpage. Use when you need a visual snapshot of a page; supports full-page, device emulation, delays, and dark mode.\",\n input: SerpdogScreenshotApiInput,\n output: SerpdogScreenshotApiOutput,\n});\n"],"mappings":";;AAoBA,MAAa,uBAAuB,OAAO,0BAA0B;CACnE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OApBuC,EAAE,OAAO;EAChD,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,6CAA6C;EACtE,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS;EACzG,QAAQ,EAAE,KAAK;GAAC;GAAW;GAAU;EAAQ,CAAC,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;EACzH,QAAQ,EAAE,KAAK,CAAC,QAAQ,OAAO,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,CAAC,SAAS,4FAA4F,CAAC,CAAC,SAAS;EACnK,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS;EAC/G,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,sDAAsD,CAAC,CAAC,SAAS;EAChH,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS;EACzF,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS;EAC3F,mBAAmB,EAAE,QAAQ,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CACvH,CAAC,CAAC,CAAC,SAAS,yDAUH;CACP,QAVwC,EAAE,OAAO;EACjD,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACzF,OAAO,EAAE,OAAO,CAAC,CAAC,SAAS,8CAA8C,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,SAAS,6CAOhB;AACV,CAAC"}
|
package/dist/catalog.cjs
CHANGED
|
@@ -7,7 +7,13 @@ const serpdogCatalog = {
|
|
|
7
7
|
"category": "AI Web Scraping",
|
|
8
8
|
"logo": "https://logos.composio.dev/api/serpdog",
|
|
9
9
|
"authKind": "keystroke",
|
|
10
|
-
"oauthScopes": []
|
|
10
|
+
"oauthScopes": [],
|
|
11
|
+
"credentialFields": { "api_key": {
|
|
12
|
+
"label": "Serpdog API Key",
|
|
13
|
+
"secret": true,
|
|
14
|
+
"description": "This is your API key for Serpdog. You can find it in your Serpdog dashboard."
|
|
15
|
+
} },
|
|
16
|
+
"credentialScheme": "API_KEY"
|
|
11
17
|
};
|
|
12
18
|
//#endregion
|
|
13
19
|
exports.serpdogCatalog = serpdogCatalog;
|
package/dist/catalog.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const serpdogCatalog = {\n \"slug\": \"serpdog\",\n \"name\": \"Serpdog\",\n \"description\": \"Serpdog provides APIs for scraping Google search results and related services, enabling developers to access real-time data from Google Search, Maps, Scholar, and more. Note: Serpdog has merged with Scrapingdog but continues to operate independently at api.serpdog.io.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/serpdog\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const serpdogCatalog = {\n \"slug\": \"serpdog\",\n \"name\": \"Serpdog\",\n \"description\": \"Serpdog provides APIs for scraping Google search results and related services, enabling developers to access real-time data from Google Search, Maps, Scholar, and more. Note: Serpdog has merged with Scrapingdog but continues to operate independently at api.serpdog.io.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/serpdog\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": [],\n \"credentialFields\": {\n \"api_key\": {\n \"label\": \"Serpdog API Key\",\n \"secret\": true,\n \"description\": \"This is your API key for Serpdog. You can find it in your Serpdog dashboard.\"\n }\n },\n \"credentialScheme\": \"API_KEY\"\n} as const;\n"],"mappings":";;AACA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;CAChB,oBAAoB,EAClB,WAAW;EACT,SAAS;EACT,UAAU;EACV,eAAe;CACjB,EACF;CACA,oBAAoB;AACtB"}
|
package/dist/catalog.d.cts
CHANGED
|
@@ -8,6 +8,14 @@ declare const serpdogCatalog: {
|
|
|
8
8
|
readonly logo: "https://logos.composio.dev/api/serpdog";
|
|
9
9
|
readonly authKind: "keystroke";
|
|
10
10
|
readonly oauthScopes: readonly [];
|
|
11
|
+
readonly credentialFields: {
|
|
12
|
+
readonly api_key: {
|
|
13
|
+
readonly label: "Serpdog API Key";
|
|
14
|
+
readonly secret: true;
|
|
15
|
+
readonly description: "This is your API key for Serpdog. You can find it in your Serpdog dashboard.";
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
readonly credentialScheme: "API_KEY";
|
|
11
19
|
};
|
|
12
20
|
//#endregion
|
|
13
21
|
export { serpdogCatalog };
|
package/dist/catalog.d.mts
CHANGED
|
@@ -8,6 +8,14 @@ declare const serpdogCatalog: {
|
|
|
8
8
|
readonly logo: "https://logos.composio.dev/api/serpdog";
|
|
9
9
|
readonly authKind: "keystroke";
|
|
10
10
|
readonly oauthScopes: readonly [];
|
|
11
|
+
readonly credentialFields: {
|
|
12
|
+
readonly api_key: {
|
|
13
|
+
readonly label: "Serpdog API Key";
|
|
14
|
+
readonly secret: true;
|
|
15
|
+
readonly description: "This is your API key for Serpdog. You can find it in your Serpdog dashboard.";
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
readonly credentialScheme: "API_KEY";
|
|
11
19
|
};
|
|
12
20
|
//#endregion
|
|
13
21
|
export { serpdogCatalog };
|
package/dist/catalog.mjs
CHANGED
|
@@ -7,7 +7,13 @@ const serpdogCatalog = {
|
|
|
7
7
|
"category": "AI Web Scraping",
|
|
8
8
|
"logo": "https://logos.composio.dev/api/serpdog",
|
|
9
9
|
"authKind": "keystroke",
|
|
10
|
-
"oauthScopes": []
|
|
10
|
+
"oauthScopes": [],
|
|
11
|
+
"credentialFields": { "api_key": {
|
|
12
|
+
"label": "Serpdog API Key",
|
|
13
|
+
"secret": true,
|
|
14
|
+
"description": "This is your API key for Serpdog. You can find it in your Serpdog dashboard."
|
|
15
|
+
} },
|
|
16
|
+
"credentialScheme": "API_KEY"
|
|
11
17
|
};
|
|
12
18
|
//#endregion
|
|
13
19
|
export { serpdogCatalog };
|
package/dist/catalog.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const serpdogCatalog = {\n \"slug\": \"serpdog\",\n \"name\": \"Serpdog\",\n \"description\": \"Serpdog provides APIs for scraping Google search results and related services, enabling developers to access real-time data from Google Search, Maps, Scholar, and more. Note: Serpdog has merged with Scrapingdog but continues to operate independently at api.serpdog.io.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/serpdog\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const serpdogCatalog = {\n \"slug\": \"serpdog\",\n \"name\": \"Serpdog\",\n \"description\": \"Serpdog provides APIs for scraping Google search results and related services, enabling developers to access real-time data from Google Search, Maps, Scholar, and more. Note: Serpdog has merged with Scrapingdog but continues to operate independently at api.serpdog.io.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/serpdog\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": [],\n \"credentialFields\": {\n \"api_key\": {\n \"label\": \"Serpdog API Key\",\n \"secret\": true,\n \"description\": \"This is your API key for Serpdog. You can find it in your Serpdog dashboard.\"\n }\n },\n \"credentialScheme\": \"API_KEY\"\n} as const;\n"],"mappings":";;AACA,MAAa,iBAAiB;CAC5B,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;CAChB,oBAAoB,EAClB,WAAW;EACT,SAAS;EACT,UAAU;EACV,eAAe;CACjB,EACF;CACA,oBAAoB;AACtB"}
|
package/dist/execute.cjs
CHANGED
|
@@ -2,7 +2,7 @@ let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
|
|
|
2
2
|
//#region src/execute.ts
|
|
3
3
|
const APP_SLUG = "serpdog";
|
|
4
4
|
/** Pinned app version — updated on regeneration. */
|
|
5
|
-
const APP_VERSION = "
|
|
5
|
+
const APP_VERSION = "20260707_00";
|
|
6
6
|
async function executeSerpdogTool(tool, args) {
|
|
7
7
|
const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
|
|
8
8
|
app: APP_SLUG,
|
package/dist/execute.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"serpdog\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"
|
|
1
|
+
{"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"serpdog\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260707_00\";\n\nexport async function executeSerpdogTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,mBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|
package/dist/execute.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
|
|
|
2
2
|
//#region src/execute.ts
|
|
3
3
|
const APP_SLUG = "serpdog";
|
|
4
4
|
/** Pinned app version — updated on regeneration. */
|
|
5
|
-
const APP_VERSION = "
|
|
5
|
+
const APP_VERSION = "20260707_00";
|
|
6
6
|
async function executeSerpdogTool(tool, args) {
|
|
7
7
|
const { result } = await createKeystrokeClient().tools.execute({
|
|
8
8
|
app: APP_SLUG,
|
package/dist/execute.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"serpdog\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"
|
|
1
|
+
{"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"serpdog\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260707_00\";\n\nexport async function executeSerpdogTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,mBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keystrokehq/serpdog",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
|
-
"@keystrokehq/keystroke": "
|
|
34
|
+
"@keystrokehq/keystroke": ">=0.1.4",
|
|
35
35
|
"zod": "^4.4.3"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|