@keystrokehq/opengraph_io 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -0
- package/dist/action.cjs +21 -0
- package/dist/action.cjs.map +1 -0
- package/dist/action.mjs +21 -0
- package/dist/action.mjs.map +1 -0
- package/dist/actions/capture-screenshot.cjs +51 -0
- package/dist/actions/capture-screenshot.cjs.map +1 -0
- package/dist/actions/capture-screenshot.d.cts +9 -0
- package/dist/actions/capture-screenshot.d.cts.map +1 -0
- package/dist/actions/capture-screenshot.d.mts +9 -0
- package/dist/actions/capture-screenshot.d.mts.map +1 -0
- package/dist/actions/capture-screenshot.mjs +50 -0
- package/dist/actions/capture-screenshot.mjs.map +1 -0
- package/dist/actions/extract-site.cjs +31 -0
- package/dist/actions/extract-site.cjs.map +1 -0
- package/dist/actions/extract-site.d.cts +9 -0
- package/dist/actions/extract-site.d.cts.map +1 -0
- package/dist/actions/extract-site.d.mts +9 -0
- package/dist/actions/extract-site.d.mts.map +1 -0
- package/dist/actions/extract-site.mjs +28 -0
- package/dist/actions/extract-site.mjs.map +1 -0
- package/dist/actions/index.cjs +9 -0
- package/dist/actions/index.d.cts +5 -0
- package/dist/actions/index.d.mts +5 -0
- package/dist/actions/index.mjs +5 -0
- package/dist/actions/scrape-site.cjs +28 -0
- package/dist/actions/scrape-site.cjs.map +1 -0
- package/dist/actions/scrape-site.d.cts +9 -0
- package/dist/actions/scrape-site.d.cts.map +1 -0
- package/dist/actions/scrape-site.d.mts +9 -0
- package/dist/actions/scrape-site.d.mts.map +1 -0
- package/dist/actions/scrape-site.mjs +25 -0
- package/dist/actions/scrape-site.mjs.map +1 -0
- package/dist/actions/scrape-url.cjs +33 -0
- package/dist/actions/scrape-url.cjs.map +1 -0
- package/dist/actions/scrape-url.d.cts +9 -0
- package/dist/actions/scrape-url.d.cts.map +1 -0
- package/dist/actions/scrape-url.d.mts +9 -0
- package/dist/actions/scrape-url.d.mts.map +1 -0
- package/dist/actions/scrape-url.mjs +32 -0
- package/dist/actions/scrape-url.mjs.map +1 -0
- package/dist/app.cjs +9 -0
- package/dist/app.cjs.map +1 -0
- package/dist/app.d.cts +5 -0
- package/dist/app.d.cts.map +1 -0
- package/dist/app.d.mts +5 -0
- package/dist/app.d.mts.map +1 -0
- package/dist/app.mjs +10 -0
- package/dist/app.mjs.map +1 -0
- package/dist/catalog.cjs +15 -0
- package/dist/catalog.cjs.map +1 -0
- package/dist/catalog.d.cts +14 -0
- package/dist/catalog.d.cts.map +1 -0
- package/dist/catalog.d.mts +14 -0
- package/dist/catalog.d.mts.map +1 -0
- package/dist/catalog.mjs +15 -0
- package/dist/catalog.mjs.map +1 -0
- package/dist/execute.cjs +18 -0
- package/dist/execute.cjs.map +1 -0
- package/dist/execute.mjs +18 -0
- package/dist/execute.mjs.map +1 -0
- package/dist/index.cjs +14 -0
- package/dist/index.d.cts +7 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.mjs +8 -0
- package/package.json +49 -0
package/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# @keystrokehq/opengraph_io
|
|
2
|
+
|
|
3
|
+
Keystroke-managed integration.
|
|
4
|
+
|
|
5
|
+
**App:** `opengraph_io`
|
|
6
|
+
**Version:** `20260615_00`
|
|
7
|
+
**Actions:** 4
|
|
8
|
+
|
|
9
|
+
```ts
|
|
10
|
+
import { defineAgent } from "@keystrokehq/keystroke/agent";
|
|
11
|
+
import { opengraphIoCaptureScreenshot } from "@keystrokehq/opengraph_io/actions";
|
|
12
|
+
|
|
13
|
+
export default defineAgent({
|
|
14
|
+
key: "opengraph_io-agent",
|
|
15
|
+
tools: [opengraphIoCaptureScreenshot],
|
|
16
|
+
});
|
|
17
|
+
```
|
package/dist/action.cjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const require_app = require("./app.cjs");
|
|
2
|
+
const require_execute = require("./execute.cjs");
|
|
3
|
+
require("zod");
|
|
4
|
+
//#region src/action.ts
|
|
5
|
+
/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
|
|
6
|
+
function action(tool, def) {
|
|
7
|
+
return require_app.opengraphIo.action({
|
|
8
|
+
slug: def.slug,
|
|
9
|
+
name: def.name,
|
|
10
|
+
description: def.description,
|
|
11
|
+
input: def.input,
|
|
12
|
+
output: def.output,
|
|
13
|
+
async run(input) {
|
|
14
|
+
return def.output.parse(await require_execute.executeOpengraphIoTool(tool, input));
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
exports.action = action;
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=action.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.cjs","names":["opengraphIo","executeOpengraphIoTool"],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { opengraphIo } from \"./app\";\nimport { executeOpengraphIoTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return opengraphIo.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeOpengraphIoTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAOA,YAAAA,YAAY,OAAO;EACxB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAMC,gBAAAA,uBAAuB,MAAM,KAAgC,CAAC;EAC9F;CACF,CAAC;AACH"}
|
package/dist/action.mjs
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { opengraphIo } from "./app.mjs";
|
|
2
|
+
import { executeOpengraphIoTool } from "./execute.mjs";
|
|
3
|
+
import "zod";
|
|
4
|
+
//#region src/action.ts
|
|
5
|
+
/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */
|
|
6
|
+
function action(tool, def) {
|
|
7
|
+
return opengraphIo.action({
|
|
8
|
+
slug: def.slug,
|
|
9
|
+
name: def.name,
|
|
10
|
+
description: def.description,
|
|
11
|
+
input: def.input,
|
|
12
|
+
output: def.output,
|
|
13
|
+
async run(input) {
|
|
14
|
+
return def.output.parse(await executeOpengraphIoTool(tool, input));
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { action };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=action.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action.mjs","names":[],"sources":["../src/action.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { opengraphIo } from \"./app\";\nimport { executeOpengraphIoTool } from \"./execute\";\n\n/** Bind one gateway tool to a typed app action; the call's output is parsed against `def.output`. */\nexport function action(\n tool: string,\n def: {\n slug: string;\n name: string;\n description: string;\n input: z.ZodTypeAny;\n output: z.ZodTypeAny;\n },\n) {\n return opengraphIo.action({\n slug: def.slug,\n name: def.name,\n description: def.description,\n input: def.input,\n output: def.output,\n async run(input) {\n return def.output.parse(await executeOpengraphIoTool(tool, input as Record<string, unknown>));\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,OACd,MACA,KAOA;CACA,OAAO,YAAY,OAAO;EACxB,MAAM,IAAI;EACV,MAAM,IAAI;EACV,aAAa,IAAI;EACjB,OAAO,IAAI;EACX,QAAQ,IAAI;EACZ,MAAM,IAAI,OAAO;GACf,OAAO,IAAI,OAAO,MAAM,MAAM,uBAAuB,MAAM,KAAgC,CAAC;EAC9F;CACF,CAAC;AACH"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/capture-screenshot.ts
|
|
4
|
+
const OpengraphIoCaptureScreenshotInput = zod.z.object({
|
|
5
|
+
url: zod.z.string().describe("The target webpage URL to capture. Must be a valid HTTP or HTTPS URL."),
|
|
6
|
+
format: zod.z.enum([
|
|
7
|
+
"jpeg",
|
|
8
|
+
"png",
|
|
9
|
+
"webp"
|
|
10
|
+
]).describe("Image format options for the screenshot.").optional(),
|
|
11
|
+
quality: zod.z.number().int().describe("Image quality from 10 to 80 (rounded to nearest 10). Higher values mean better quality but larger file size. Defaults to 80.").optional(),
|
|
12
|
+
cache_ok: zod.z.boolean().describe("Allow returning a cached screenshot if available. Set to false to force a fresh capture. Defaults to true.").optional(),
|
|
13
|
+
selector: zod.z.string().describe("CSS selector to capture a specific element instead of the full page. Example: '.main-content' or '#header'.").optional(),
|
|
14
|
+
dark_mode: zod.z.boolean().describe("Set browser preference to dark mode before capturing. Useful for capturing dark-themed versions of websites. Defaults to false.").optional(),
|
|
15
|
+
full_page: zod.z.boolean().describe("Capture the entire scrollable page instead of just the viewport. Set to true for full-page screenshots. Defaults to false.").optional(),
|
|
16
|
+
use_proxy: zod.z.boolean().describe("Use a proxy for accessing protected or restricted sites. Defaults to false.").optional(),
|
|
17
|
+
dimensions: zod.z.enum([
|
|
18
|
+
"xs",
|
|
19
|
+
"sm",
|
|
20
|
+
"md",
|
|
21
|
+
"lg"
|
|
22
|
+
]).describe("Viewport size presets for different device types.").optional(),
|
|
23
|
+
capture_delay: zod.z.number().int().describe("Delay in milliseconds before capturing the screenshot. Useful for waiting for dynamic content to load. Range: 0-10000ms.").optional(),
|
|
24
|
+
exclude_selectors: zod.z.string().describe("Comma-separated CSS selectors of elements to hide from the screenshot. Useful for removing ads, popups, or unwanted elements. Example: '.header,.footer,.ads'.").optional(),
|
|
25
|
+
navigationTimeout: zod.z.number().int().describe("Navigation timeout in milliseconds. Maximum time to wait for the page to load. Range: 1000-60000ms. Defaults to 30000ms (30 seconds).").optional(),
|
|
26
|
+
block_cookie_banner: zod.z.boolean().describe("Automatically block known cookie consent banners from appearing in the screenshot. Defaults to true.").optional()
|
|
27
|
+
}).describe("Request parameters for capturing a screenshot of a webpage.");
|
|
28
|
+
const OpengraphIoCaptureScreenshot_DimensionsSchema = zod.z.object({
|
|
29
|
+
width: zod.z.number().int().describe("Width of the screenshot in pixels.").nullable().optional(),
|
|
30
|
+
height: zod.z.number().int().describe("Height of the screenshot in pixels.").nullable().optional()
|
|
31
|
+
}).describe("Dimensions of the captured screenshot.");
|
|
32
|
+
const OpengraphIoCaptureScreenshot_RequestInfoSchema = zod.z.object({
|
|
33
|
+
host: zod.z.string().describe("The hostname of the target URL.").nullable().optional(),
|
|
34
|
+
responseCode: zod.z.number().int().describe("HTTP response code from the target URL.").nullable().optional()
|
|
35
|
+
}).describe("Information about the HTTP request to the target URL.");
|
|
36
|
+
const OpengraphIoCaptureScreenshotOutput = zod.z.object({
|
|
37
|
+
dimensions: OpengraphIoCaptureScreenshot_DimensionsSchema.nullable().optional(),
|
|
38
|
+
requestInfo: OpengraphIoCaptureScreenshot_RequestInfoSchema.nullable().optional(),
|
|
39
|
+
screenshotUrl: zod.z.string().describe("URL to the captured screenshot image. This URL is valid for 24 hours after generation.").nullable().optional()
|
|
40
|
+
}).describe("Response schema for screenshot capture operation.");
|
|
41
|
+
const opengraphIoCaptureScreenshot = require_action.action("OPENGRAPH_IO_CAPTURE_SCREENSHOT", {
|
|
42
|
+
slug: "opengraph_io-capture-screenshot",
|
|
43
|
+
name: "Capture Screenshot",
|
|
44
|
+
description: "Tool to capture high-quality screenshots of any webpage programmatically. Supports full-page captures, custom dimensions, device presets, element-specific screenshots, and quality settings. Screenshots are available for 24 hours after generation. Use when you need to capture visual snapshots of websites with specific rendering requirements or device simulations.",
|
|
45
|
+
input: OpengraphIoCaptureScreenshotInput,
|
|
46
|
+
output: OpengraphIoCaptureScreenshotOutput
|
|
47
|
+
});
|
|
48
|
+
//#endregion
|
|
49
|
+
exports.opengraphIoCaptureScreenshot = opengraphIoCaptureScreenshot;
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=capture-screenshot.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-screenshot.cjs","names":["z","action"],"sources":["../../src/actions/capture-screenshot.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoCaptureScreenshotInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The target webpage URL to capture. Must be a valid HTTP or HTTPS URL.\"),\n format: z.enum([\"jpeg\", \"png\", \"webp\"]).describe(\"Image format options for the screenshot.\").optional(),\n quality: z.number().int().describe(\"Image quality from 10 to 80 (rounded to nearest 10). Higher values mean better quality but larger file size. Defaults to 80.\").optional(),\n cache_ok: z.boolean().describe(\"Allow returning a cached screenshot if available. Set to false to force a fresh capture. Defaults to true.\").optional(),\n selector: z.string().describe(\"CSS selector to capture a specific element instead of the full page. Example: '.main-content' or '#header'.\").optional(),\n dark_mode: z.boolean().describe(\"Set browser preference to dark mode before capturing. Useful for capturing dark-themed versions of websites. Defaults to false.\").optional(),\n full_page: z.boolean().describe(\"Capture the entire scrollable page instead of just the viewport. Set to true for full-page screenshots. Defaults to false.\").optional(),\n use_proxy: z.boolean().describe(\"Use a proxy for accessing protected or restricted sites. Defaults to false.\").optional(),\n dimensions: z.enum([\"xs\", \"sm\", \"md\", \"lg\"]).describe(\"Viewport size presets for different device types.\").optional(),\n capture_delay: z.number().int().describe(\"Delay in milliseconds before capturing the screenshot. Useful for waiting for dynamic content to load. Range: 0-10000ms.\").optional(),\n exclude_selectors: z.string().describe(\"Comma-separated CSS selectors of elements to hide from the screenshot. Useful for removing ads, popups, or unwanted elements. Example: '.header,.footer,.ads'.\").optional(),\n navigationTimeout: z.number().int().describe(\"Navigation timeout in milliseconds. Maximum time to wait for the page to load. Range: 1000-60000ms. Defaults to 30000ms (30 seconds).\").optional(),\n block_cookie_banner: z.boolean().describe(\"Automatically block known cookie consent banners from appearing in the screenshot. Defaults to true.\").optional(),\n}).describe(\"Request parameters for capturing a screenshot of a webpage.\");\nconst OpengraphIoCaptureScreenshot_DimensionsSchema: z.ZodTypeAny = z.object({\n width: z.number().int().describe(\"Width of the screenshot in pixels.\").nullable().optional(),\n height: z.number().int().describe(\"Height of the screenshot in pixels.\").nullable().optional(),\n}).describe(\"Dimensions of the captured screenshot.\");\nconst OpengraphIoCaptureScreenshot_RequestInfoSchema: z.ZodTypeAny = z.object({\n host: z.string().describe(\"The hostname of the target URL.\").nullable().optional(),\n responseCode: z.number().int().describe(\"HTTP response code from the target URL.\").nullable().optional(),\n}).describe(\"Information about the HTTP request to the target URL.\");\nexport const OpengraphIoCaptureScreenshotOutput: z.ZodTypeAny = z.object({\n dimensions: OpengraphIoCaptureScreenshot_DimensionsSchema.nullable().optional(),\n requestInfo: OpengraphIoCaptureScreenshot_RequestInfoSchema.nullable().optional(),\n screenshotUrl: z.string().describe(\"URL to the captured screenshot image. This URL is valid for 24 hours after generation.\").nullable().optional(),\n}).describe(\"Response schema for screenshot capture operation.\");\n\nexport const opengraphIoCaptureScreenshot = action(\"OPENGRAPH_IO_CAPTURE_SCREENSHOT\", {\n slug: \"opengraph_io-capture-screenshot\",\n name: \"Capture Screenshot\",\n description: \"Tool to capture high-quality screenshots of any webpage programmatically. Supports full-page captures, custom dimensions, device presets, element-specific screenshots, and quality settings. Screenshots are available for 24 hours after generation. Use when you need to capture visual snapshots of websites with specific rendering requirements or device simulations.\",\n input: OpengraphIoCaptureScreenshotInput,\n output: OpengraphIoCaptureScreenshotOutput,\n});\n"],"mappings":";;;AAIA,MAAa,oCAAkDA,IAAAA,EAAE,OAAO;CACtE,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uEAAuE;CAChG,QAAQA,IAAAA,EAAE,KAAK;EAAC;EAAQ;EAAO;CAAM,CAAC,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACtG,SAASA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8HAA8H,CAAC,CAAC,SAAS;CAC5K,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,4GAA4G,CAAC,CAAC,SAAS;CACtJ,UAAUA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;CACtJ,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,iIAAiI,CAAC,CAAC,SAAS;CAC5K,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;CACvK,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;CACxH,YAAYA,IAAAA,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;CAAI,CAAC,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CACpH,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0HAA0H,CAAC,CAAC,SAAS;CAC9K,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gKAAgK,CAAC,CAAC,SAAS;CAClN,mBAAmBA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uIAAuI,CAAC,CAAC,SAAS;CAC/L,qBAAqBA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;AAC7J,CAAC,CAAC,CAAC,SAAS,6DAA6D;AACzE,MAAM,gDAA8DA,IAAAA,EAAE,OAAO;CAC3E,OAAOA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3F,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC/F,CAAC,CAAC,CAAC,SAAS,wCAAwC;AACpD,MAAM,iDAA+DA,IAAAA,EAAE,OAAO;CAC5E,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACzG,CAAC,CAAC,CAAC,SAAS,uDAAuD;AACnE,MAAa,qCAAmDA,IAAAA,EAAE,OAAO;CACvE,YAAY,8CAA8C,SAAS,CAAC,CAAC,SAAS;CAC9E,aAAa,+CAA+C,SAAS,CAAC,CAAC,SAAS;CAChF,eAAeA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACnJ,CAAC,CAAC,CAAC,SAAS,mDAAmD;AAE/D,MAAa,+BAA+BC,eAAAA,OAAO,mCAAmC;CACpF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/capture-screenshot.d.ts
|
|
4
|
+
declare const OpengraphIoCaptureScreenshotInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoCaptureScreenshotOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoCaptureScreenshot: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoCaptureScreenshot };
|
|
9
|
+
//# sourceMappingURL=capture-screenshot.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-screenshot.d.cts","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"mappings":";;;cAIa,iCAAA,EAAmC,CAAA,CAAE,UAcwB;AAAA,cAS7D,kCAAA,EAAoC,CAAA,CAAE,UAIa;AAAA,cAEnD,4BAAA,gCAA4B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/capture-screenshot.d.ts
|
|
4
|
+
declare const OpengraphIoCaptureScreenshotInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoCaptureScreenshotOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoCaptureScreenshot: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoCaptureScreenshot };
|
|
9
|
+
//# sourceMappingURL=capture-screenshot.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-screenshot.d.mts","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"mappings":";;;cAIa,iCAAA,EAAmC,CAAA,CAAE,UAcwB;AAAA,cAS7D,kCAAA,EAAoC,CAAA,CAAE,UAIa;AAAA,cAEnD,4BAAA,gCAA4B,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/actions/capture-screenshot.ts
|
|
4
|
+
const OpengraphIoCaptureScreenshotInput = z.object({
|
|
5
|
+
url: z.string().describe("The target webpage URL to capture. Must be a valid HTTP or HTTPS URL."),
|
|
6
|
+
format: z.enum([
|
|
7
|
+
"jpeg",
|
|
8
|
+
"png",
|
|
9
|
+
"webp"
|
|
10
|
+
]).describe("Image format options for the screenshot.").optional(),
|
|
11
|
+
quality: z.number().int().describe("Image quality from 10 to 80 (rounded to nearest 10). Higher values mean better quality but larger file size. Defaults to 80.").optional(),
|
|
12
|
+
cache_ok: z.boolean().describe("Allow returning a cached screenshot if available. Set to false to force a fresh capture. Defaults to true.").optional(),
|
|
13
|
+
selector: z.string().describe("CSS selector to capture a specific element instead of the full page. Example: '.main-content' or '#header'.").optional(),
|
|
14
|
+
dark_mode: z.boolean().describe("Set browser preference to dark mode before capturing. Useful for capturing dark-themed versions of websites. Defaults to false.").optional(),
|
|
15
|
+
full_page: z.boolean().describe("Capture the entire scrollable page instead of just the viewport. Set to true for full-page screenshots. Defaults to false.").optional(),
|
|
16
|
+
use_proxy: z.boolean().describe("Use a proxy for accessing protected or restricted sites. Defaults to false.").optional(),
|
|
17
|
+
dimensions: z.enum([
|
|
18
|
+
"xs",
|
|
19
|
+
"sm",
|
|
20
|
+
"md",
|
|
21
|
+
"lg"
|
|
22
|
+
]).describe("Viewport size presets for different device types.").optional(),
|
|
23
|
+
capture_delay: z.number().int().describe("Delay in milliseconds before capturing the screenshot. Useful for waiting for dynamic content to load. Range: 0-10000ms.").optional(),
|
|
24
|
+
exclude_selectors: z.string().describe("Comma-separated CSS selectors of elements to hide from the screenshot. Useful for removing ads, popups, or unwanted elements. Example: '.header,.footer,.ads'.").optional(),
|
|
25
|
+
navigationTimeout: z.number().int().describe("Navigation timeout in milliseconds. Maximum time to wait for the page to load. Range: 1000-60000ms. Defaults to 30000ms (30 seconds).").optional(),
|
|
26
|
+
block_cookie_banner: z.boolean().describe("Automatically block known cookie consent banners from appearing in the screenshot. Defaults to true.").optional()
|
|
27
|
+
}).describe("Request parameters for capturing a screenshot of a webpage.");
|
|
28
|
+
const OpengraphIoCaptureScreenshot_DimensionsSchema = z.object({
|
|
29
|
+
width: z.number().int().describe("Width of the screenshot in pixels.").nullable().optional(),
|
|
30
|
+
height: z.number().int().describe("Height of the screenshot in pixels.").nullable().optional()
|
|
31
|
+
}).describe("Dimensions of the captured screenshot.");
|
|
32
|
+
const OpengraphIoCaptureScreenshot_RequestInfoSchema = z.object({
|
|
33
|
+
host: z.string().describe("The hostname of the target URL.").nullable().optional(),
|
|
34
|
+
responseCode: z.number().int().describe("HTTP response code from the target URL.").nullable().optional()
|
|
35
|
+
}).describe("Information about the HTTP request to the target URL.");
|
|
36
|
+
const opengraphIoCaptureScreenshot = action("OPENGRAPH_IO_CAPTURE_SCREENSHOT", {
|
|
37
|
+
slug: "opengraph_io-capture-screenshot",
|
|
38
|
+
name: "Capture Screenshot",
|
|
39
|
+
description: "Tool to capture high-quality screenshots of any webpage programmatically. Supports full-page captures, custom dimensions, device presets, element-specific screenshots, and quality settings. Screenshots are available for 24 hours after generation. Use when you need to capture visual snapshots of websites with specific rendering requirements or device simulations.",
|
|
40
|
+
input: OpengraphIoCaptureScreenshotInput,
|
|
41
|
+
output: z.object({
|
|
42
|
+
dimensions: OpengraphIoCaptureScreenshot_DimensionsSchema.nullable().optional(),
|
|
43
|
+
requestInfo: OpengraphIoCaptureScreenshot_RequestInfoSchema.nullable().optional(),
|
|
44
|
+
screenshotUrl: z.string().describe("URL to the captured screenshot image. This URL is valid for 24 hours after generation.").nullable().optional()
|
|
45
|
+
}).describe("Response schema for screenshot capture operation.")
|
|
46
|
+
});
|
|
47
|
+
//#endregion
|
|
48
|
+
export { opengraphIoCaptureScreenshot };
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=capture-screenshot.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-screenshot.mjs","names":[],"sources":["../../src/actions/capture-screenshot.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoCaptureScreenshotInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The target webpage URL to capture. Must be a valid HTTP or HTTPS URL.\"),\n format: z.enum([\"jpeg\", \"png\", \"webp\"]).describe(\"Image format options for the screenshot.\").optional(),\n quality: z.number().int().describe(\"Image quality from 10 to 80 (rounded to nearest 10). Higher values mean better quality but larger file size. Defaults to 80.\").optional(),\n cache_ok: z.boolean().describe(\"Allow returning a cached screenshot if available. Set to false to force a fresh capture. Defaults to true.\").optional(),\n selector: z.string().describe(\"CSS selector to capture a specific element instead of the full page. Example: '.main-content' or '#header'.\").optional(),\n dark_mode: z.boolean().describe(\"Set browser preference to dark mode before capturing. Useful for capturing dark-themed versions of websites. Defaults to false.\").optional(),\n full_page: z.boolean().describe(\"Capture the entire scrollable page instead of just the viewport. Set to true for full-page screenshots. Defaults to false.\").optional(),\n use_proxy: z.boolean().describe(\"Use a proxy for accessing protected or restricted sites. Defaults to false.\").optional(),\n dimensions: z.enum([\"xs\", \"sm\", \"md\", \"lg\"]).describe(\"Viewport size presets for different device types.\").optional(),\n capture_delay: z.number().int().describe(\"Delay in milliseconds before capturing the screenshot. Useful for waiting for dynamic content to load. Range: 0-10000ms.\").optional(),\n exclude_selectors: z.string().describe(\"Comma-separated CSS selectors of elements to hide from the screenshot. Useful for removing ads, popups, or unwanted elements. Example: '.header,.footer,.ads'.\").optional(),\n navigationTimeout: z.number().int().describe(\"Navigation timeout in milliseconds. Maximum time to wait for the page to load. Range: 1000-60000ms. Defaults to 30000ms (30 seconds).\").optional(),\n block_cookie_banner: z.boolean().describe(\"Automatically block known cookie consent banners from appearing in the screenshot. Defaults to true.\").optional(),\n}).describe(\"Request parameters for capturing a screenshot of a webpage.\");\nconst OpengraphIoCaptureScreenshot_DimensionsSchema: z.ZodTypeAny = z.object({\n width: z.number().int().describe(\"Width of the screenshot in pixels.\").nullable().optional(),\n height: z.number().int().describe(\"Height of the screenshot in pixels.\").nullable().optional(),\n}).describe(\"Dimensions of the captured screenshot.\");\nconst OpengraphIoCaptureScreenshot_RequestInfoSchema: z.ZodTypeAny = z.object({\n host: z.string().describe(\"The hostname of the target URL.\").nullable().optional(),\n responseCode: z.number().int().describe(\"HTTP response code from the target URL.\").nullable().optional(),\n}).describe(\"Information about the HTTP request to the target URL.\");\nexport const OpengraphIoCaptureScreenshotOutput: z.ZodTypeAny = z.object({\n dimensions: OpengraphIoCaptureScreenshot_DimensionsSchema.nullable().optional(),\n requestInfo: OpengraphIoCaptureScreenshot_RequestInfoSchema.nullable().optional(),\n screenshotUrl: z.string().describe(\"URL to the captured screenshot image. This URL is valid for 24 hours after generation.\").nullable().optional(),\n}).describe(\"Response schema for screenshot capture operation.\");\n\nexport const opengraphIoCaptureScreenshot = action(\"OPENGRAPH_IO_CAPTURE_SCREENSHOT\", {\n slug: \"opengraph_io-capture-screenshot\",\n name: \"Capture Screenshot\",\n description: \"Tool to capture high-quality screenshots of any webpage programmatically. Supports full-page captures, custom dimensions, device presets, element-specific screenshots, and quality settings. Screenshots are available for 24 hours after generation. Use when you need to capture visual snapshots of websites with specific rendering requirements or device simulations.\",\n input: OpengraphIoCaptureScreenshotInput,\n output: OpengraphIoCaptureScreenshotOutput,\n});\n"],"mappings":";;;AAIA,MAAa,oCAAkD,EAAE,OAAO;CACtE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,uEAAuE;CAChG,QAAQ,EAAE,KAAK;EAAC;EAAQ;EAAO;CAAM,CAAC,CAAC,CAAC,SAAS,0CAA0C,CAAC,CAAC,SAAS;CACtG,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8HAA8H,CAAC,CAAC,SAAS;CAC5K,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,4GAA4G,CAAC,CAAC,SAAS;CACtJ,UAAU,EAAE,OAAO,CAAC,CAAC,SAAS,6GAA6G,CAAC,CAAC,SAAS;CACtJ,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,iIAAiI,CAAC,CAAC,SAAS;CAC5K,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;CACvK,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,6EAA6E,CAAC,CAAC,SAAS;CACxH,YAAY,EAAE,KAAK;EAAC;EAAM;EAAM;EAAM;CAAI,CAAC,CAAC,CAAC,SAAS,mDAAmD,CAAC,CAAC,SAAS;CACpH,eAAe,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,0HAA0H,CAAC,CAAC,SAAS;CAC9K,mBAAmB,EAAE,OAAO,CAAC,CAAC,SAAS,gKAAgK,CAAC,CAAC,SAAS;CAClN,mBAAmB,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,uIAAuI,CAAC,CAAC,SAAS;CAC/L,qBAAqB,EAAE,QAAQ,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;AAC7J,CAAC,CAAC,CAAC,SAAS,6DAA6D;AACzE,MAAM,gDAA8D,EAAE,OAAO;CAC3E,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,oCAAoC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC3F,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,qCAAqC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC/F,CAAC,CAAC,CAAC,SAAS,wCAAwC;AACpD,MAAM,iDAA+D,EAAE,OAAO;CAC5E,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,iCAAiC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACzG,CAAC,CAAC,CAAC,SAAS,uDAAuD;AAOnE,MAAa,+BAA+B,OAAO,mCAAmC;CACpF,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAX8D,EAAE,OAAO;EACvE,YAAY,8CAA8C,SAAS,CAAC,CAAC,SAAS;EAC9E,aAAa,+CAA+C,SAAS,CAAC,CAAC,SAAS;EAChF,eAAe,EAAE,OAAO,CAAC,CAAC,SAAS,wFAAwF,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnJ,CAAC,CAAC,CAAC,SAAS,mDAOF;AACV,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/extract-site.ts
|
|
4
|
+
const OpengraphIoExtractSiteInput = zod.z.object({
|
|
5
|
+
site: zod.z.string().describe("URL of the site to extract metadata from"),
|
|
6
|
+
scrape: zod.z.boolean().describe("Scrape all data instead of just Open Graph and meta tags").optional(),
|
|
7
|
+
use_proxy: zod.z.boolean().describe("Use a proxy during extraction").optional(),
|
|
8
|
+
accept_lang: zod.z.string().describe("Preferred language for extracted data (e.g., 'en-US')").optional(),
|
|
9
|
+
full_render: zod.z.boolean().describe("Render the page in a browser before extraction").optional()
|
|
10
|
+
}).describe("Request model for extracting site metadata.");
|
|
11
|
+
const OpengraphIoExtractSiteOutput = zod.z.object({
|
|
12
|
+
tags: zod.z.array(zod.z.record(zod.z.string(), zod.z.unknown())).describe("List of extracted HTML tags with their innerText and position.").nullable().optional(),
|
|
13
|
+
domain: zod.z.string().describe("Domain of the extracted site.").nullable().optional(),
|
|
14
|
+
oEmbed: zod.z.record(zod.z.string(), zod.z.unknown()).describe("oEmbed metadata if present.").nullable().optional(),
|
|
15
|
+
openGraph: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Open Graph-specific fields extracted from content.").nullable().optional(),
|
|
16
|
+
requestUrl: zod.z.string().describe("Final URL used for data request (after redirects).").nullable().optional(),
|
|
17
|
+
hybridGraph: zod.z.record(zod.z.string(), zod.z.unknown()).describe("All returned fields from Open Graph, meta, and other signals.").nullable().optional(),
|
|
18
|
+
twitterCard: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Twitter-specific metadata if present.").nullable().optional(),
|
|
19
|
+
htmlInferred: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Data extracted from HTML where OG tags are missing.").nullable().optional()
|
|
20
|
+
}).describe("Response model for site metadata extraction.\nContains extracted HTML tags from the page.");
|
|
21
|
+
const opengraphIoExtractSite = require_action.action("OPENGRAPH_IO_EXTRACT_SITE", {
|
|
22
|
+
slug: "opengraph_io-extract-site",
|
|
23
|
+
name: "Extract Site Metadata",
|
|
24
|
+
description: "Tool to extract site metadata. Use when you need to retrieve Open Graph and other meta signals from a website.",
|
|
25
|
+
input: OpengraphIoExtractSiteInput,
|
|
26
|
+
output: OpengraphIoExtractSiteOutput
|
|
27
|
+
});
|
|
28
|
+
//#endregion
|
|
29
|
+
exports.opengraphIoExtractSite = opengraphIoExtractSite;
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=extract-site.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-site.cjs","names":["z","action"],"sources":["../../src/actions/extract-site.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoExtractSiteInput: z.ZodTypeAny = z.object({\n site: z.string().describe(\"URL of the site to extract metadata from\"),\n scrape: z.boolean().describe(\"Scrape all data instead of just Open Graph and meta tags\").optional(),\n use_proxy: z.boolean().describe(\"Use a proxy during extraction\").optional(),\n accept_lang: z.string().describe(\"Preferred language for extracted data (e.g., 'en-US')\").optional(),\n full_render: z.boolean().describe(\"Render the page in a browser before extraction\").optional(),\n}).describe(\"Request model for extracting site metadata.\");\nexport const OpengraphIoExtractSiteOutput: z.ZodTypeAny = z.object({\n tags: z.array(z.record(z.string(), z.unknown())).describe(\"List of extracted HTML tags with their innerText and position.\").nullable().optional(),\n domain: z.string().describe(\"Domain of the extracted site.\").nullable().optional(),\n oEmbed: z.record(z.string(), z.unknown()).describe(\"oEmbed metadata if present.\").nullable().optional(),\n openGraph: z.record(z.string(), z.unknown()).describe(\"Open Graph-specific fields extracted from content.\").nullable().optional(),\n requestUrl: z.string().describe(\"Final URL used for data request (after redirects).\").nullable().optional(),\n hybridGraph: z.record(z.string(), z.unknown()).describe(\"All returned fields from Open Graph, meta, and other signals.\").nullable().optional(),\n twitterCard: z.record(z.string(), z.unknown()).describe(\"Twitter-specific metadata if present.\").nullable().optional(),\n htmlInferred: z.record(z.string(), z.unknown()).describe(\"Data extracted from HTML where OG tags are missing.\").nullable().optional(),\n}).describe(\"Response model for site metadata extraction.\\nContains extracted HTML tags from the page.\");\n\nexport const opengraphIoExtractSite = action(\"OPENGRAPH_IO_EXTRACT_SITE\", {\n slug: \"opengraph_io-extract-site\",\n name: \"Extract Site Metadata\",\n description: \"Tool to extract site metadata. Use when you need to retrieve Open Graph and other meta signals from a website.\",\n input: OpengraphIoExtractSiteInput,\n output: OpengraphIoExtractSiteOutput,\n});\n"],"mappings":";;;AAIA,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C;CACpE,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;CAClG,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;CAC1E,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;CACnG,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;AAC/F,CAAC,CAAC,CAAC,SAAS,6CAA6C;AACzD,MAAa,+BAA6CA,IAAAA,EAAE,OAAO;CACjE,MAAMA,IAAAA,EAAE,MAAMA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChJ,QAAQA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjF,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtG,WAAWA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAChI,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC1G,aAAaA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7I,aAAaA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACrH,cAAcA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACtI,CAAC,CAAC,CAAC,SAAS,2FAA2F;AAEvG,MAAa,yBAAyBC,eAAAA,OAAO,6BAA6B;CACxE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/extract-site.d.ts
|
|
4
|
+
declare const OpengraphIoExtractSiteInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoExtractSiteOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoExtractSite: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoExtractSite };
|
|
9
|
+
//# sourceMappingURL=extract-site.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-site.d.cts","names":[],"sources":["../../src/actions/extract-site.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAMc;AAAA,cAC7C,4BAAA,EAA8B,CAAA,CAAE,UAS2D;AAAA,cAE3F,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/extract-site.d.ts
|
|
4
|
+
declare const OpengraphIoExtractSiteInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoExtractSiteOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoExtractSite: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoExtractSite };
|
|
9
|
+
//# sourceMappingURL=extract-site.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-site.d.mts","names":[],"sources":["../../src/actions/extract-site.ts"],"mappings":";;;cAIa,2BAAA,EAA6B,CAAA,CAAE,UAMc;AAAA,cAC7C,4BAAA,EAA8B,CAAA,CAAE,UAS2D;AAAA,cAE3F,sBAAA,gCAAsB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const opengraphIoExtractSite = action("OPENGRAPH_IO_EXTRACT_SITE", {
|
|
4
|
+
slug: "opengraph_io-extract-site",
|
|
5
|
+
name: "Extract Site Metadata",
|
|
6
|
+
description: "Tool to extract site metadata. Use when you need to retrieve Open Graph and other meta signals from a website.",
|
|
7
|
+
input: z.object({
|
|
8
|
+
site: z.string().describe("URL of the site to extract metadata from"),
|
|
9
|
+
scrape: z.boolean().describe("Scrape all data instead of just Open Graph and meta tags").optional(),
|
|
10
|
+
use_proxy: z.boolean().describe("Use a proxy during extraction").optional(),
|
|
11
|
+
accept_lang: z.string().describe("Preferred language for extracted data (e.g., 'en-US')").optional(),
|
|
12
|
+
full_render: z.boolean().describe("Render the page in a browser before extraction").optional()
|
|
13
|
+
}).describe("Request model for extracting site metadata."),
|
|
14
|
+
output: z.object({
|
|
15
|
+
tags: z.array(z.record(z.string(), z.unknown())).describe("List of extracted HTML tags with their innerText and position.").nullable().optional(),
|
|
16
|
+
domain: z.string().describe("Domain of the extracted site.").nullable().optional(),
|
|
17
|
+
oEmbed: z.record(z.string(), z.unknown()).describe("oEmbed metadata if present.").nullable().optional(),
|
|
18
|
+
openGraph: z.record(z.string(), z.unknown()).describe("Open Graph-specific fields extracted from content.").nullable().optional(),
|
|
19
|
+
requestUrl: z.string().describe("Final URL used for data request (after redirects).").nullable().optional(),
|
|
20
|
+
hybridGraph: z.record(z.string(), z.unknown()).describe("All returned fields from Open Graph, meta, and other signals.").nullable().optional(),
|
|
21
|
+
twitterCard: z.record(z.string(), z.unknown()).describe("Twitter-specific metadata if present.").nullable().optional(),
|
|
22
|
+
htmlInferred: z.record(z.string(), z.unknown()).describe("Data extracted from HTML where OG tags are missing.").nullable().optional()
|
|
23
|
+
}).describe("Response model for site metadata extraction.\nContains extracted HTML tags from the page.")
|
|
24
|
+
});
|
|
25
|
+
//#endregion
|
|
26
|
+
export { opengraphIoExtractSite };
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=extract-site.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extract-site.mjs","names":[],"sources":["../../src/actions/extract-site.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoExtractSiteInput: z.ZodTypeAny = z.object({\n site: z.string().describe(\"URL of the site to extract metadata from\"),\n scrape: z.boolean().describe(\"Scrape all data instead of just Open Graph and meta tags\").optional(),\n use_proxy: z.boolean().describe(\"Use a proxy during extraction\").optional(),\n accept_lang: z.string().describe(\"Preferred language for extracted data (e.g., 'en-US')\").optional(),\n full_render: z.boolean().describe(\"Render the page in a browser before extraction\").optional(),\n}).describe(\"Request model for extracting site metadata.\");\nexport const OpengraphIoExtractSiteOutput: z.ZodTypeAny = z.object({\n tags: z.array(z.record(z.string(), z.unknown())).describe(\"List of extracted HTML tags with their innerText and position.\").nullable().optional(),\n domain: z.string().describe(\"Domain of the extracted site.\").nullable().optional(),\n oEmbed: z.record(z.string(), z.unknown()).describe(\"oEmbed metadata if present.\").nullable().optional(),\n openGraph: z.record(z.string(), z.unknown()).describe(\"Open Graph-specific fields extracted from content.\").nullable().optional(),\n requestUrl: z.string().describe(\"Final URL used for data request (after redirects).\").nullable().optional(),\n hybridGraph: z.record(z.string(), z.unknown()).describe(\"All returned fields from Open Graph, meta, and other signals.\").nullable().optional(),\n twitterCard: z.record(z.string(), z.unknown()).describe(\"Twitter-specific metadata if present.\").nullable().optional(),\n htmlInferred: z.record(z.string(), z.unknown()).describe(\"Data extracted from HTML where OG tags are missing.\").nullable().optional(),\n}).describe(\"Response model for site metadata extraction.\\nContains extracted HTML tags from the page.\");\n\nexport const opengraphIoExtractSite = action(\"OPENGRAPH_IO_EXTRACT_SITE\", {\n slug: \"opengraph_io-extract-site\",\n name: \"Extract Site Metadata\",\n description: \"Tool to extract site metadata. Use when you need to retrieve Open Graph and other meta signals from a website.\",\n input: OpengraphIoExtractSiteInput,\n output: OpengraphIoExtractSiteOutput,\n});\n"],"mappings":";;AAsBA,MAAa,yBAAyB,OAAO,6BAA6B;CACxE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAtBuD,EAAE,OAAO;EAChE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,0CAA0C;EACpE,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,0DAA0D,CAAC,CAAC,SAAS;EAClG,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS;EAC1E,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,uDAAuD,CAAC,CAAC,SAAS;EACnG,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,gDAAgD,CAAC,CAAC,SAAS;CAC/F,CAAC,CAAC,CAAC,SAAS,6CAgBH;CACP,QAhBwD,EAAE,OAAO;EACjE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,gEAAgE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChJ,QAAQ,EAAE,OAAO,CAAC,CAAC,SAAS,+BAA+B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjF,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6BAA6B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACtG,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAChI,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,oDAAoD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC1G,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,+DAA+D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7I,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACrH,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,qDAAqD,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACtI,CAAC,CAAC,CAAC,SAAS,2FAOF;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_capture_screenshot = require("./capture-screenshot.cjs");
|
|
3
|
+
const require_extract_site = require("./extract-site.cjs");
|
|
4
|
+
const require_scrape_site = require("./scrape-site.cjs");
|
|
5
|
+
const require_scrape_url = require("./scrape-url.cjs");
|
|
6
|
+
exports.opengraphIoCaptureScreenshot = require_capture_screenshot.opengraphIoCaptureScreenshot;
|
|
7
|
+
exports.opengraphIoExtractSite = require_extract_site.opengraphIoExtractSite;
|
|
8
|
+
exports.opengraphIoScrapeSite = require_scrape_site.opengraphIoScrapeSite;
|
|
9
|
+
exports.opengraphIoScrapeUrl = require_scrape_url.opengraphIoScrapeUrl;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { opengraphIoCaptureScreenshot } from "./capture-screenshot.cjs";
|
|
2
|
+
import { opengraphIoExtractSite } from "./extract-site.cjs";
|
|
3
|
+
import { opengraphIoScrapeSite } from "./scrape-site.cjs";
|
|
4
|
+
import { opengraphIoScrapeUrl } from "./scrape-url.cjs";
|
|
5
|
+
export { opengraphIoCaptureScreenshot, opengraphIoExtractSite, opengraphIoScrapeSite, opengraphIoScrapeUrl };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { opengraphIoCaptureScreenshot } from "./capture-screenshot.mjs";
|
|
2
|
+
import { opengraphIoExtractSite } from "./extract-site.mjs";
|
|
3
|
+
import { opengraphIoScrapeSite } from "./scrape-site.mjs";
|
|
4
|
+
import { opengraphIoScrapeUrl } from "./scrape-url.mjs";
|
|
5
|
+
export { opengraphIoCaptureScreenshot, opengraphIoExtractSite, opengraphIoScrapeSite, opengraphIoScrapeUrl };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { opengraphIoCaptureScreenshot } from "./capture-screenshot.mjs";
|
|
2
|
+
import { opengraphIoExtractSite } from "./extract-site.mjs";
|
|
3
|
+
import { opengraphIoScrapeSite } from "./scrape-site.mjs";
|
|
4
|
+
import { opengraphIoScrapeUrl } from "./scrape-url.mjs";
|
|
5
|
+
export { opengraphIoCaptureScreenshot, opengraphIoExtractSite, opengraphIoScrapeSite, opengraphIoScrapeUrl };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/scrape-site.ts
|
|
4
|
+
const OpengraphIoScrapeSiteInput = zod.z.object({
|
|
5
|
+
site: zod.z.string().describe("The URL of the site to scrape. This will be URL-encoded by the action. E.g., 'https://example.com'."),
|
|
6
|
+
scrape: zod.z.boolean().describe("If true, forces scraping regardless of cache. Otherwise may return cached result.").optional(),
|
|
7
|
+
cache_ok: zod.z.boolean().describe("If false, forces a fresh scrape instead of returning cached data. Defaults to using cache if not set.").optional(),
|
|
8
|
+
full_render: zod.z.boolean().describe("If true, performs a full page render (runs JavaScript). Defaults to a lightweight scrape if not set.").optional()
|
|
9
|
+
}).describe("Request model for scraping a site's raw HTML and metadata.");
|
|
10
|
+
const OpengraphIoScrapeSiteOutput = zod.z.object({
|
|
11
|
+
oEmbed: zod.z.record(zod.z.string(), zod.z.unknown()).describe("oEmbed metadata, if any.").nullable().optional(),
|
|
12
|
+
openGraph: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Raw OpenGraph properties, if detected.").nullable().optional(),
|
|
13
|
+
requestUrl: zod.z.string().describe("The actual URL that was scraped.").nullable().optional(),
|
|
14
|
+
hybridGraph: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Parsed OpenGraph and social metadata fields detected on the page.").nullable().optional(),
|
|
15
|
+
twitterCard: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Twitter card metadata detected, if any.").nullable().optional(),
|
|
16
|
+
htmlInferred: zod.z.record(zod.z.string(), zod.z.unknown()).describe("Fallback metadata discovered by scraping regular HTML tags.").nullable().optional()
|
|
17
|
+
}).describe("Response model for scraped site metadata.");
|
|
18
|
+
const opengraphIoScrapeSite = require_action.action("OPENGRAPH_IO_SCRAPE_SITE", {
|
|
19
|
+
slug: "opengraph_io-scrape-site",
|
|
20
|
+
name: "Scrape Site",
|
|
21
|
+
description: "Tool to scrape a site for its raw HTML and social/OpenGraph metadata. Use when you need the full page content and metadata. Use after confirming the URL.",
|
|
22
|
+
input: OpengraphIoScrapeSiteInput,
|
|
23
|
+
output: OpengraphIoScrapeSiteOutput
|
|
24
|
+
});
|
|
25
|
+
//#endregion
|
|
26
|
+
exports.opengraphIoScrapeSite = opengraphIoScrapeSite;
|
|
27
|
+
|
|
28
|
+
//# sourceMappingURL=scrape-site.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-site.cjs","names":["z","action"],"sources":["../../src/actions/scrape-site.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoScrapeSiteInput: z.ZodTypeAny = z.object({\n site: z.string().describe(\"The URL of the site to scrape. This will be URL-encoded by the action. E.g., 'https://example.com'.\"),\n scrape: z.boolean().describe(\"If true, forces scraping regardless of cache. Otherwise may return cached result.\").optional(),\n cache_ok: z.boolean().describe(\"If false, forces a fresh scrape instead of returning cached data. Defaults to using cache if not set.\").optional(),\n full_render: z.boolean().describe(\"If true, performs a full page render (runs JavaScript). Defaults to a lightweight scrape if not set.\").optional(),\n}).describe(\"Request model for scraping a site's raw HTML and metadata.\");\nexport const OpengraphIoScrapeSiteOutput: z.ZodTypeAny = z.object({\n oEmbed: z.record(z.string(), z.unknown()).describe(\"oEmbed metadata, if any.\").nullable().optional(),\n openGraph: z.record(z.string(), z.unknown()).describe(\"Raw OpenGraph properties, if detected.\").nullable().optional(),\n requestUrl: z.string().describe(\"The actual URL that was scraped.\").nullable().optional(),\n hybridGraph: z.record(z.string(), z.unknown()).describe(\"Parsed OpenGraph and social metadata fields detected on the page.\").nullable().optional(),\n twitterCard: z.record(z.string(), z.unknown()).describe(\"Twitter card metadata detected, if any.\").nullable().optional(),\n htmlInferred: z.record(z.string(), z.unknown()).describe(\"Fallback metadata discovered by scraping regular HTML tags.\").nullable().optional(),\n}).describe(\"Response model for scraped site metadata.\");\n\nexport const opengraphIoScrapeSite = action(\"OPENGRAPH_IO_SCRAPE_SITE\", {\n slug: \"opengraph_io-scrape-site\",\n name: \"Scrape Site\",\n description: \"Tool to scrape a site for its raw HTML and social/OpenGraph metadata. Use when you need the full page content and metadata. Use after confirming the URL.\",\n input: OpengraphIoScrapeSiteInput,\n output: OpengraphIoScrapeSiteOutput,\n});\n"],"mappings":";;;AAIA,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,qGAAqG;CAC/H,QAAQA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;CAC3H,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,uGAAuG,CAAC,CAAC,SAAS;CACjJ,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;AACrJ,CAAC,CAAC,CAAC,SAAS,4DAA4D;AACxE,MAAa,8BAA4CA,IAAAA,EAAE,OAAO;CAChE,QAAQA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACnG,WAAWA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACpH,YAAYA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,aAAaA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACjJ,aAAaA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvH,cAAcA,IAAAA,EAAE,OAAOA,IAAAA,EAAE,OAAO,GAAGA,IAAAA,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AAC9I,CAAC,CAAC,CAAC,SAAS,2CAA2C;AAEvD,MAAa,wBAAwBC,eAAAA,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/scrape-site.d.ts
|
|
4
|
+
declare const OpengraphIoScrapeSiteInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoScrapeSiteOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoScrapeSite: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoScrapeSite };
|
|
9
|
+
//# sourceMappingURL=scrape-site.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-site.d.cts","names":[],"sources":["../../src/actions/scrape-site.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAK8B;AAAA,cAC5D,2BAAA,EAA6B,CAAA,CAAE,UAOY;AAAA,cAE3C,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/scrape-site.d.ts
|
|
4
|
+
declare const OpengraphIoScrapeSiteInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoScrapeSiteOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoScrapeSite: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoScrapeSite };
|
|
9
|
+
//# sourceMappingURL=scrape-site.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-site.d.mts","names":[],"sources":["../../src/actions/scrape-site.ts"],"mappings":";;;cAIa,0BAAA,EAA4B,CAAA,CAAE,UAK8B;AAAA,cAC5D,2BAAA,EAA6B,CAAA,CAAE,UAOY;AAAA,cAE3C,qBAAA,gCAAqB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
const opengraphIoScrapeSite = action("OPENGRAPH_IO_SCRAPE_SITE", {
|
|
4
|
+
slug: "opengraph_io-scrape-site",
|
|
5
|
+
name: "Scrape Site",
|
|
6
|
+
description: "Tool to scrape a site for its raw HTML and social/OpenGraph metadata. Use when you need the full page content and metadata. Use after confirming the URL.",
|
|
7
|
+
input: z.object({
|
|
8
|
+
site: z.string().describe("The URL of the site to scrape. This will be URL-encoded by the action. E.g., 'https://example.com'."),
|
|
9
|
+
scrape: z.boolean().describe("If true, forces scraping regardless of cache. Otherwise may return cached result.").optional(),
|
|
10
|
+
cache_ok: z.boolean().describe("If false, forces a fresh scrape instead of returning cached data. Defaults to using cache if not set.").optional(),
|
|
11
|
+
full_render: z.boolean().describe("If true, performs a full page render (runs JavaScript). Defaults to a lightweight scrape if not set.").optional()
|
|
12
|
+
}).describe("Request model for scraping a site's raw HTML and metadata."),
|
|
13
|
+
output: z.object({
|
|
14
|
+
oEmbed: z.record(z.string(), z.unknown()).describe("oEmbed metadata, if any.").nullable().optional(),
|
|
15
|
+
openGraph: z.record(z.string(), z.unknown()).describe("Raw OpenGraph properties, if detected.").nullable().optional(),
|
|
16
|
+
requestUrl: z.string().describe("The actual URL that was scraped.").nullable().optional(),
|
|
17
|
+
hybridGraph: z.record(z.string(), z.unknown()).describe("Parsed OpenGraph and social metadata fields detected on the page.").nullable().optional(),
|
|
18
|
+
twitterCard: z.record(z.string(), z.unknown()).describe("Twitter card metadata detected, if any.").nullable().optional(),
|
|
19
|
+
htmlInferred: z.record(z.string(), z.unknown()).describe("Fallback metadata discovered by scraping regular HTML tags.").nullable().optional()
|
|
20
|
+
}).describe("Response model for scraped site metadata.")
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
export { opengraphIoScrapeSite };
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=scrape-site.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-site.mjs","names":[],"sources":["../../src/actions/scrape-site.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoScrapeSiteInput: z.ZodTypeAny = z.object({\n site: z.string().describe(\"The URL of the site to scrape. This will be URL-encoded by the action. E.g., 'https://example.com'.\"),\n scrape: z.boolean().describe(\"If true, forces scraping regardless of cache. Otherwise may return cached result.\").optional(),\n cache_ok: z.boolean().describe(\"If false, forces a fresh scrape instead of returning cached data. Defaults to using cache if not set.\").optional(),\n full_render: z.boolean().describe(\"If true, performs a full page render (runs JavaScript). Defaults to a lightweight scrape if not set.\").optional(),\n}).describe(\"Request model for scraping a site's raw HTML and metadata.\");\nexport const OpengraphIoScrapeSiteOutput: z.ZodTypeAny = z.object({\n oEmbed: z.record(z.string(), z.unknown()).describe(\"oEmbed metadata, if any.\").nullable().optional(),\n openGraph: z.record(z.string(), z.unknown()).describe(\"Raw OpenGraph properties, if detected.\").nullable().optional(),\n requestUrl: z.string().describe(\"The actual URL that was scraped.\").nullable().optional(),\n hybridGraph: z.record(z.string(), z.unknown()).describe(\"Parsed OpenGraph and social metadata fields detected on the page.\").nullable().optional(),\n twitterCard: z.record(z.string(), z.unknown()).describe(\"Twitter card metadata detected, if any.\").nullable().optional(),\n htmlInferred: z.record(z.string(), z.unknown()).describe(\"Fallback metadata discovered by scraping regular HTML tags.\").nullable().optional(),\n}).describe(\"Response model for scraped site metadata.\");\n\nexport const opengraphIoScrapeSite = action(\"OPENGRAPH_IO_SCRAPE_SITE\", {\n slug: \"opengraph_io-scrape-site\",\n name: \"Scrape Site\",\n description: \"Tool to scrape a site for its raw HTML and social/OpenGraph metadata. Use when you need the full page content and metadata. Use after confirming the URL.\",\n input: OpengraphIoScrapeSiteInput,\n output: OpengraphIoScrapeSiteOutput,\n});\n"],"mappings":";;AAmBA,MAAa,wBAAwB,OAAO,4BAA4B;CACtE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAnBsD,EAAE,OAAO;EAC/D,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,qGAAqG;EAC/H,QAAQ,EAAE,QAAQ,CAAC,CAAC,SAAS,mFAAmF,CAAC,CAAC,SAAS;EAC3H,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,uGAAuG,CAAC,CAAC,SAAS;EACjJ,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CACrJ,CAAC,CAAC,CAAC,SAAS,4DAcH;CACP,QAduD,EAAE,OAAO;EAChE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACnG,WAAW,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACpH,YAAY,EAAE,OAAO,CAAC,CAAC,SAAS,kCAAkC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACxF,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,mEAAmE,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACjJ,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EACvH,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,6DAA6D,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC9I,CAAC,CAAC,CAAC,SAAS,2CAOF;AACV,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
const require_action = require("../action.cjs");
|
|
2
|
+
let zod = require("zod");
|
|
3
|
+
//#region src/actions/scrape-url.ts
|
|
4
|
+
const OpengraphIoScrapeUrlInput = zod.z.object({
|
|
5
|
+
url: zod.z.string().describe("The target website URL to scrape. Must start with http:// or https://. This will be URL-encoded automatically."),
|
|
6
|
+
cache_ok: zod.z.boolean().describe("Allow cached results. Set to false to force a fresh scrape. Defaults to true to improve performance.").optional(),
|
|
7
|
+
use_proxy: zod.z.boolean().describe("Use standard datacenter proxy for the request. Helps bypass basic bot detection. Defaults to false.").optional(),
|
|
8
|
+
accept_lang: zod.z.string().describe("Language header for localized content (e.g., 'en-US', 'fr-FR', 'es-ES'). Defaults to 'en-US'.").optional(),
|
|
9
|
+
full_render: zod.z.boolean().describe("Enable JavaScript rendering. Required for Single Page Applications (SPAs) and dynamic content. Defaults to false for faster lightweight scraping.").optional(),
|
|
10
|
+
use_premium: zod.z.boolean().describe("Use residential proxy for the request. Better for scraping protected sites with stronger bot detection. Defaults to false.").optional(),
|
|
11
|
+
use_superior: zod.z.boolean().describe("Use mobile proxy for the request. Best for heavily protected sites with advanced bot detection. Defaults to false.").optional()
|
|
12
|
+
}).describe("Request model for scraping raw HTML content from a URL.");
|
|
13
|
+
const OpengraphIoScrapeUrl_RequestInfoSchema = zod.z.object({
|
|
14
|
+
host: zod.z.string().describe("The host that responded to the request").nullable().optional(),
|
|
15
|
+
redirects: zod.z.number().int().describe("Number of redirects followed").nullable().optional(),
|
|
16
|
+
responseCode: zod.z.number().int().describe("HTTP response code from the target site").nullable().optional(),
|
|
17
|
+
responseContentType: zod.z.string().describe("Content-Type header from the response").nullable().optional()
|
|
18
|
+
}).describe("Information about the HTTP request execution.");
|
|
19
|
+
const OpengraphIoScrapeUrlOutput = zod.z.object({
|
|
20
|
+
htmlContent: zod.z.string().describe("Raw HTML content of the scraped page").nullable().optional(),
|
|
21
|
+
requestInfo: OpengraphIoScrapeUrl_RequestInfoSchema.nullable().optional()
|
|
22
|
+
}).describe("Response model containing raw HTML content and request information.");
|
|
23
|
+
const opengraphIoScrapeUrl = require_action.action("OPENGRAPH_IO_SCRAPE_URL", {
|
|
24
|
+
slug: "opengraph_io-scrape-url",
|
|
25
|
+
name: "Scrape URL for HTML",
|
|
26
|
+
description: "Tool to scrape raw HTML content from a website with anti-bot protection and optional JavaScript rendering. Use when you need the full HTML source code of a page, especially for sites with bot detection or dynamic content.",
|
|
27
|
+
input: OpengraphIoScrapeUrlInput,
|
|
28
|
+
output: OpengraphIoScrapeUrlOutput
|
|
29
|
+
});
|
|
30
|
+
//#endregion
|
|
31
|
+
exports.opengraphIoScrapeUrl = opengraphIoScrapeUrl;
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=scrape-url.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-url.cjs","names":["z","action"],"sources":["../../src/actions/scrape-url.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoScrapeUrlInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The target website URL to scrape. Must start with http:// or https://. This will be URL-encoded automatically.\"),\n cache_ok: z.boolean().describe(\"Allow cached results. Set to false to force a fresh scrape. Defaults to true to improve performance.\").optional(),\n use_proxy: z.boolean().describe(\"Use standard datacenter proxy for the request. Helps bypass basic bot detection. Defaults to false.\").optional(),\n accept_lang: z.string().describe(\"Language header for localized content (e.g., 'en-US', 'fr-FR', 'es-ES'). Defaults to 'en-US'.\").optional(),\n full_render: z.boolean().describe(\"Enable JavaScript rendering. Required for Single Page Applications (SPAs) and dynamic content. Defaults to false for faster lightweight scraping.\").optional(),\n use_premium: z.boolean().describe(\"Use residential proxy for the request. Better for scraping protected sites with stronger bot detection. Defaults to false.\").optional(),\n use_superior: z.boolean().describe(\"Use mobile proxy for the request. Best for heavily protected sites with advanced bot detection. Defaults to false.\").optional(),\n}).describe(\"Request model for scraping raw HTML content from a URL.\");\nconst OpengraphIoScrapeUrl_RequestInfoSchema: z.ZodTypeAny = z.object({\n host: z.string().describe(\"The host that responded to the request\").nullable().optional(),\n redirects: z.number().int().describe(\"Number of redirects followed\").nullable().optional(),\n responseCode: z.number().int().describe(\"HTTP response code from the target site\").nullable().optional(),\n responseContentType: z.string().describe(\"Content-Type header from the response\").nullable().optional(),\n}).describe(\"Information about the HTTP request execution.\");\nexport const OpengraphIoScrapeUrlOutput: z.ZodTypeAny = z.object({\n htmlContent: z.string().describe(\"Raw HTML content of the scraped page\").nullable().optional(),\n requestInfo: OpengraphIoScrapeUrl_RequestInfoSchema.nullable().optional(),\n}).describe(\"Response model containing raw HTML content and request information.\");\n\nexport const opengraphIoScrapeUrl = action(\"OPENGRAPH_IO_SCRAPE_URL\", {\n slug: \"opengraph_io-scrape-url\",\n name: \"Scrape URL for HTML\",\n description: \"Tool to scrape raw HTML content from a website with anti-bot protection and optional JavaScript rendering. Use when you need the full HTML source code of a page, especially for sites with bot detection or dynamic content.\",\n input: OpengraphIoScrapeUrlInput,\n output: OpengraphIoScrapeUrlOutput,\n});\n"],"mappings":";;;AAIA,MAAa,4BAA0CA,IAAAA,EAAE,OAAO;CAC9D,KAAKA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,gHAAgH;CACzI,UAAUA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CAChJ,WAAWA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;CAChJ,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;CAC3I,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;CAChM,aAAaA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;CACzK,cAAcA,IAAAA,EAAE,QAAQ,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;AACpK,CAAC,CAAC,CAAC,SAAS,yDAAyD;AACrE,MAAM,yCAAuDA,IAAAA,EAAE,OAAO;CACpE,MAAMA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,WAAWA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzF,cAAcA,IAAAA,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvG,qBAAqBA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACxG,CAAC,CAAC,CAAC,SAAS,+CAA+C;AAC3D,MAAa,6BAA2CA,IAAAA,EAAE,OAAO;CAC/D,aAAaA,IAAAA,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CAC7F,aAAa,uCAAuC,SAAS,CAAC,CAAC,SAAS;AAC1E,CAAC,CAAC,CAAC,SAAS,qEAAqE;AAEjF,MAAa,uBAAuBC,eAAAA,OAAO,2BAA2B;CACpE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAAQ;AACV,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/scrape-url.d.ts
|
|
4
|
+
declare const OpengraphIoScrapeUrlInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoScrapeUrlOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoScrapeUrl: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoScrapeUrl };
|
|
9
|
+
//# sourceMappingURL=scrape-url.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-url.d.cts","names":[],"sources":["../../src/actions/scrape-url.ts"],"mappings":";;;cAIa,yBAAA,EAA2B,CAAA,CAAE,UAQ4B;AAAA,cAOzD,0BAAA,EAA4B,CAAA,CAAE,UAGuC;AAAA,cAErE,oBAAA,gCAAoB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
|
|
3
|
+
//#region src/actions/scrape-url.d.ts
|
|
4
|
+
declare const OpengraphIoScrapeUrlInput: z.ZodTypeAny;
|
|
5
|
+
declare const OpengraphIoScrapeUrlOutput: z.ZodTypeAny;
|
|
6
|
+
declare const opengraphIoScrapeUrl: import("@keystrokehq/action").WorkflowActionDefinition<unknown, unknown, import("@keystrokehq/shared").ResolvedCredentials<readonly [import("@keystrokehq/shared").Credential]>, readonly [import("@keystrokehq/shared").Credential]>;
|
|
7
|
+
//#endregion
|
|
8
|
+
export { opengraphIoScrapeUrl };
|
|
9
|
+
//# sourceMappingURL=scrape-url.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-url.d.mts","names":[],"sources":["../../src/actions/scrape-url.ts"],"mappings":";;;cAIa,yBAAA,EAA2B,CAAA,CAAE,UAQ4B;AAAA,cAOzD,0BAAA,EAA4B,CAAA,CAAE,UAGuC;AAAA,cAErE,oBAAA,gCAAoB,wBAAA,iDAAA,mBAAA,yCAAA,UAAA,4CAAA,UAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { action } from "../action.mjs";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
//#region src/actions/scrape-url.ts
|
|
4
|
+
const OpengraphIoScrapeUrlInput = z.object({
|
|
5
|
+
url: z.string().describe("The target website URL to scrape. Must start with http:// or https://. This will be URL-encoded automatically."),
|
|
6
|
+
cache_ok: z.boolean().describe("Allow cached results. Set to false to force a fresh scrape. Defaults to true to improve performance.").optional(),
|
|
7
|
+
use_proxy: z.boolean().describe("Use standard datacenter proxy for the request. Helps bypass basic bot detection. Defaults to false.").optional(),
|
|
8
|
+
accept_lang: z.string().describe("Language header for localized content (e.g., 'en-US', 'fr-FR', 'es-ES'). Defaults to 'en-US'.").optional(),
|
|
9
|
+
full_render: z.boolean().describe("Enable JavaScript rendering. Required for Single Page Applications (SPAs) and dynamic content. Defaults to false for faster lightweight scraping.").optional(),
|
|
10
|
+
use_premium: z.boolean().describe("Use residential proxy for the request. Better for scraping protected sites with stronger bot detection. Defaults to false.").optional(),
|
|
11
|
+
use_superior: z.boolean().describe("Use mobile proxy for the request. Best for heavily protected sites with advanced bot detection. Defaults to false.").optional()
|
|
12
|
+
}).describe("Request model for scraping raw HTML content from a URL.");
|
|
13
|
+
const OpengraphIoScrapeUrl_RequestInfoSchema = z.object({
|
|
14
|
+
host: z.string().describe("The host that responded to the request").nullable().optional(),
|
|
15
|
+
redirects: z.number().int().describe("Number of redirects followed").nullable().optional(),
|
|
16
|
+
responseCode: z.number().int().describe("HTTP response code from the target site").nullable().optional(),
|
|
17
|
+
responseContentType: z.string().describe("Content-Type header from the response").nullable().optional()
|
|
18
|
+
}).describe("Information about the HTTP request execution.");
|
|
19
|
+
const opengraphIoScrapeUrl = action("OPENGRAPH_IO_SCRAPE_URL", {
|
|
20
|
+
slug: "opengraph_io-scrape-url",
|
|
21
|
+
name: "Scrape URL for HTML",
|
|
22
|
+
description: "Tool to scrape raw HTML content from a website with anti-bot protection and optional JavaScript rendering. Use when you need the full HTML source code of a page, especially for sites with bot detection or dynamic content.",
|
|
23
|
+
input: OpengraphIoScrapeUrlInput,
|
|
24
|
+
output: z.object({
|
|
25
|
+
htmlContent: z.string().describe("Raw HTML content of the scraped page").nullable().optional(),
|
|
26
|
+
requestInfo: OpengraphIoScrapeUrl_RequestInfoSchema.nullable().optional()
|
|
27
|
+
}).describe("Response model containing raw HTML content and request information.")
|
|
28
|
+
});
|
|
29
|
+
//#endregion
|
|
30
|
+
export { opengraphIoScrapeUrl };
|
|
31
|
+
|
|
32
|
+
//# sourceMappingURL=scrape-url.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scrape-url.mjs","names":[],"sources":["../../src/actions/scrape-url.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport { action } from \"../action\";\n\nexport const OpengraphIoScrapeUrlInput: z.ZodTypeAny = z.object({\n url: z.string().describe(\"The target website URL to scrape. Must start with http:// or https://. This will be URL-encoded automatically.\"),\n cache_ok: z.boolean().describe(\"Allow cached results. Set to false to force a fresh scrape. Defaults to true to improve performance.\").optional(),\n use_proxy: z.boolean().describe(\"Use standard datacenter proxy for the request. Helps bypass basic bot detection. Defaults to false.\").optional(),\n accept_lang: z.string().describe(\"Language header for localized content (e.g., 'en-US', 'fr-FR', 'es-ES'). Defaults to 'en-US'.\").optional(),\n full_render: z.boolean().describe(\"Enable JavaScript rendering. Required for Single Page Applications (SPAs) and dynamic content. Defaults to false for faster lightweight scraping.\").optional(),\n use_premium: z.boolean().describe(\"Use residential proxy for the request. Better for scraping protected sites with stronger bot detection. Defaults to false.\").optional(),\n use_superior: z.boolean().describe(\"Use mobile proxy for the request. Best for heavily protected sites with advanced bot detection. Defaults to false.\").optional(),\n}).describe(\"Request model for scraping raw HTML content from a URL.\");\nconst OpengraphIoScrapeUrl_RequestInfoSchema: z.ZodTypeAny = z.object({\n host: z.string().describe(\"The host that responded to the request\").nullable().optional(),\n redirects: z.number().int().describe(\"Number of redirects followed\").nullable().optional(),\n responseCode: z.number().int().describe(\"HTTP response code from the target site\").nullable().optional(),\n responseContentType: z.string().describe(\"Content-Type header from the response\").nullable().optional(),\n}).describe(\"Information about the HTTP request execution.\");\nexport const OpengraphIoScrapeUrlOutput: z.ZodTypeAny = z.object({\n htmlContent: z.string().describe(\"Raw HTML content of the scraped page\").nullable().optional(),\n requestInfo: OpengraphIoScrapeUrl_RequestInfoSchema.nullable().optional(),\n}).describe(\"Response model containing raw HTML content and request information.\");\n\nexport const opengraphIoScrapeUrl = action(\"OPENGRAPH_IO_SCRAPE_URL\", {\n slug: \"opengraph_io-scrape-url\",\n name: \"Scrape URL for HTML\",\n description: \"Tool to scrape raw HTML content from a website with anti-bot protection and optional JavaScript rendering. Use when you need the full HTML source code of a page, especially for sites with bot detection or dynamic content.\",\n input: OpengraphIoScrapeUrlInput,\n output: OpengraphIoScrapeUrlOutput,\n});\n"],"mappings":";;;AAIA,MAAa,4BAA0C,EAAE,OAAO;CAC9D,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,gHAAgH;CACzI,UAAU,EAAE,QAAQ,CAAC,CAAC,SAAS,sGAAsG,CAAC,CAAC,SAAS;CAChJ,WAAW,EAAE,QAAQ,CAAC,CAAC,SAAS,qGAAqG,CAAC,CAAC,SAAS;CAChJ,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,+FAA+F,CAAC,CAAC,SAAS;CAC3I,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,mJAAmJ,CAAC,CAAC,SAAS;CAChM,aAAa,EAAE,QAAQ,CAAC,CAAC,SAAS,4HAA4H,CAAC,CAAC,SAAS;CACzK,cAAc,EAAE,QAAQ,CAAC,CAAC,SAAS,oHAAoH,CAAC,CAAC,SAAS;AACpK,CAAC,CAAC,CAAC,SAAS,yDAAyD;AACrE,MAAM,yCAAuD,EAAE,OAAO;CACpE,MAAM,EAAE,OAAO,CAAC,CAAC,SAAS,wCAAwC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACxF,WAAW,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,8BAA8B,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACzF,cAAc,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,yCAAyC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;CACvG,qBAAqB,EAAE,OAAO,CAAC,CAAC,SAAS,uCAAuC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;AACxG,CAAC,CAAC,CAAC,SAAS,+CAA+C;AAM3D,MAAa,uBAAuB,OAAO,2BAA2B;CACpE,MAAM;CACN,MAAM;CACN,aAAa;CACb,OAAO;CACP,QAVsD,EAAE,OAAO;EAC/D,aAAa,EAAE,OAAO,CAAC,CAAC,SAAS,sCAAsC,CAAC,CAAC,SAAS,CAAC,CAAC,SAAS;EAC7F,aAAa,uCAAuC,SAAS,CAAC,CAAC,SAAS;CAC1E,CAAC,CAAC,CAAC,SAAS,qEAOF;AACV,CAAC"}
|
package/dist/app.cjs
ADDED
package/dist/app.cjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.cjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const opengraphIo = defineApp({\n slug: \"opengraph_io\",\n auth: \"keystroke\",\n});\n"],"mappings":";AAEA,MAAa,eAAA,uCAAA,CAAA,CAAA,UAAA,CAAwB;CACnC,MAAM;CACN,MAAM;AACR,CAAC"}
|
package/dist/app.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.cts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,WAAA,6BAAW,GAAA,+BAAA,UAAA"}
|
package/dist/app.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.mts","names":[],"sources":["../src/app.ts"],"mappings":";cAEa,WAAA,6BAAW,GAAA,+BAAA,UAAA"}
|
package/dist/app.mjs
ADDED
package/dist/app.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.mjs","names":[],"sources":["../src/app.ts"],"sourcesContent":["import { defineApp } from \"@keystrokehq/keystroke/app\";\n\nexport const opengraphIo = defineApp({\n slug: \"opengraph_io\",\n auth: \"keystroke\",\n});\n"],"mappings":";;AAEA,MAAa,cAAc,UAAU;CACnC,MAAM;CACN,MAAM;AACR,CAAC"}
|
package/dist/catalog.cjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/catalog.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
const opengraphIoCatalog = {
|
|
4
|
+
"slug": "opengraph_io",
|
|
5
|
+
"name": "OpenGraph.io",
|
|
6
|
+
"description": "OpenGraph.io provides a simple API to retrieve Open Graph data from websites, even those without properly defined Open Graph tags.",
|
|
7
|
+
"category": "AI Web Scraping",
|
|
8
|
+
"logo": "https://logos.composio.dev/api/opengraph_io",
|
|
9
|
+
"authKind": "keystroke",
|
|
10
|
+
"oauthScopes": []
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
exports.opengraphIoCatalog = opengraphIoCatalog;
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=catalog.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.cjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const opengraphIoCatalog = {\n \"slug\": \"opengraph_io\",\n \"name\": \"OpenGraph.io\",\n \"description\": \"OpenGraph.io provides a simple API to retrieve Open Graph data from websites, even those without properly defined Open Graph tags.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/opengraph_io\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,qBAAqB;CAChC,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/catalog.d.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
declare const opengraphIoCatalog: {
|
|
4
|
+
readonly slug: "opengraph_io";
|
|
5
|
+
readonly name: "OpenGraph.io";
|
|
6
|
+
readonly description: "OpenGraph.io provides a simple API to retrieve Open Graph data from websites, even those without properly defined Open Graph tags.";
|
|
7
|
+
readonly category: "AI Web Scraping";
|
|
8
|
+
readonly logo: "https://logos.composio.dev/api/opengraph_io";
|
|
9
|
+
readonly authKind: "keystroke";
|
|
10
|
+
readonly oauthScopes: readonly [];
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { opengraphIoCatalog };
|
|
14
|
+
//# sourceMappingURL=catalog.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.cts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,kBAAA;EAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/catalog.d.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
declare const opengraphIoCatalog: {
|
|
4
|
+
readonly slug: "opengraph_io";
|
|
5
|
+
readonly name: "OpenGraph.io";
|
|
6
|
+
readonly description: "OpenGraph.io provides a simple API to retrieve Open Graph data from websites, even those without properly defined Open Graph tags.";
|
|
7
|
+
readonly category: "AI Web Scraping";
|
|
8
|
+
readonly logo: "https://logos.composio.dev/api/opengraph_io";
|
|
9
|
+
readonly authKind: "keystroke";
|
|
10
|
+
readonly oauthScopes: readonly [];
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { opengraphIoCatalog };
|
|
14
|
+
//# sourceMappingURL=catalog.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.d.mts","names":[],"sources":["../src/catalog.ts"],"mappings":";;cACa,kBAAA;EAAA"}
|
package/dist/catalog.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/catalog.ts
|
|
2
|
+
/** Generated — kept in sync with src/app.ts. */
|
|
3
|
+
const opengraphIoCatalog = {
|
|
4
|
+
"slug": "opengraph_io",
|
|
5
|
+
"name": "OpenGraph.io",
|
|
6
|
+
"description": "OpenGraph.io provides a simple API to retrieve Open Graph data from websites, even those without properly defined Open Graph tags.",
|
|
7
|
+
"category": "AI Web Scraping",
|
|
8
|
+
"logo": "https://logos.composio.dev/api/opengraph_io",
|
|
9
|
+
"authKind": "keystroke",
|
|
10
|
+
"oauthScopes": []
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { opengraphIoCatalog };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=catalog.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog.mjs","names":[],"sources":["../src/catalog.ts"],"sourcesContent":["/** Generated — kept in sync with src/app.ts. */\nexport const opengraphIoCatalog = {\n \"slug\": \"opengraph_io\",\n \"name\": \"OpenGraph.io\",\n \"description\": \"OpenGraph.io provides a simple API to retrieve Open Graph data from websites, even those without properly defined Open Graph tags.\",\n \"category\": \"AI Web Scraping\",\n \"logo\": \"https://logos.composio.dev/api/opengraph_io\",\n \"authKind\": \"keystroke\",\n \"oauthScopes\": []\n} as const;\n"],"mappings":";;AACA,MAAa,qBAAqB;CAChC,QAAQ;CACR,QAAQ;CACR,eAAe;CACf,YAAY;CACZ,QAAQ;CACR,YAAY;CACZ,eAAe,CAAC;AAClB"}
|
package/dist/execute.cjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
let _keystrokehq_keystroke_client = require("@keystrokehq/keystroke/client");
|
|
2
|
+
//#region src/execute.ts
|
|
3
|
+
const APP_SLUG = "opengraph_io";
|
|
4
|
+
/** Pinned app version — updated on regeneration. */
|
|
5
|
+
const APP_VERSION = "20260615_00";
|
|
6
|
+
async function executeOpengraphIoTool(tool, args) {
|
|
7
|
+
const { result } = await (0, _keystrokehq_keystroke_client.createKeystrokeClient)().tools.execute({
|
|
8
|
+
app: APP_SLUG,
|
|
9
|
+
tool,
|
|
10
|
+
arguments: args,
|
|
11
|
+
version: APP_VERSION
|
|
12
|
+
});
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
exports.executeOpengraphIoTool = executeOpengraphIoTool;
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=execute.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.cjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"opengraph_io\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeOpengraphIoTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,uBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,OAAA,GAAA,8BAAA,sBAAA,CAA4B,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|
package/dist/execute.mjs
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createKeystrokeClient } from "@keystrokehq/keystroke/client";
|
|
2
|
+
//#region src/execute.ts
|
|
3
|
+
const APP_SLUG = "opengraph_io";
|
|
4
|
+
/** Pinned app version — updated on regeneration. */
|
|
5
|
+
const APP_VERSION = "20260615_00";
|
|
6
|
+
async function executeOpengraphIoTool(tool, args) {
|
|
7
|
+
const { result } = await createKeystrokeClient().tools.execute({
|
|
8
|
+
app: APP_SLUG,
|
|
9
|
+
tool,
|
|
10
|
+
arguments: args,
|
|
11
|
+
version: APP_VERSION
|
|
12
|
+
});
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { executeOpengraphIoTool };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=execute.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute.mjs","names":[],"sources":["../src/execute.ts"],"sourcesContent":["import { createKeystrokeClient } from \"@keystrokehq/keystroke/client\";\n\nconst APP_SLUG = \"opengraph_io\";\n/** Pinned app version — updated on regeneration. */\nconst APP_VERSION = \"20260615_00\";\n\nexport async function executeOpengraphIoTool(\n tool: string,\n args: Record<string, unknown>,\n): Promise<unknown> {\n const { result } = await createKeystrokeClient().tools.execute({\n app: APP_SLUG,\n tool,\n arguments: args,\n version: APP_VERSION,\n });\n return result;\n}\n"],"mappings":";;AAEA,MAAM,WAAW;;AAEjB,MAAM,cAAc;AAEpB,eAAsB,uBACpB,MACA,MACkB;CAClB,MAAM,EAAE,WAAW,MAAM,sBAAsB,CAAC,CAAC,MAAM,QAAQ;EAC7D,KAAK;EACL;EACA,WAAW;EACX,SAAS;CACX,CAAC;CACD,OAAO;AACT"}
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_app = require("./app.cjs");
|
|
3
|
+
const require_catalog = require("./catalog.cjs");
|
|
4
|
+
const require_capture_screenshot = require("./actions/capture-screenshot.cjs");
|
|
5
|
+
const require_extract_site = require("./actions/extract-site.cjs");
|
|
6
|
+
const require_scrape_site = require("./actions/scrape-site.cjs");
|
|
7
|
+
const require_scrape_url = require("./actions/scrape-url.cjs");
|
|
8
|
+
require("./actions/index.cjs");
|
|
9
|
+
exports.opengraphIo = require_app.opengraphIo;
|
|
10
|
+
exports.opengraphIoCaptureScreenshot = require_capture_screenshot.opengraphIoCaptureScreenshot;
|
|
11
|
+
exports.opengraphIoCatalog = require_catalog.opengraphIoCatalog;
|
|
12
|
+
exports.opengraphIoExtractSite = require_extract_site.opengraphIoExtractSite;
|
|
13
|
+
exports.opengraphIoScrapeSite = require_scrape_site.opengraphIoScrapeSite;
|
|
14
|
+
exports.opengraphIoScrapeUrl = require_scrape_url.opengraphIoScrapeUrl;
|
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { opengraphIoCaptureScreenshot } from "./actions/capture-screenshot.cjs";
|
|
2
|
+
import { opengraphIoExtractSite } from "./actions/extract-site.cjs";
|
|
3
|
+
import { opengraphIoScrapeSite } from "./actions/scrape-site.cjs";
|
|
4
|
+
import { opengraphIoScrapeUrl } from "./actions/scrape-url.cjs";
|
|
5
|
+
import { opengraphIo } from "./app.cjs";
|
|
6
|
+
import { opengraphIoCatalog } from "./catalog.cjs";
|
|
7
|
+
export { opengraphIo, opengraphIoCaptureScreenshot, opengraphIoCatalog, opengraphIoExtractSite, opengraphIoScrapeSite, opengraphIoScrapeUrl };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { opengraphIoCaptureScreenshot } from "./actions/capture-screenshot.mjs";
|
|
2
|
+
import { opengraphIoExtractSite } from "./actions/extract-site.mjs";
|
|
3
|
+
import { opengraphIoScrapeSite } from "./actions/scrape-site.mjs";
|
|
4
|
+
import { opengraphIoScrapeUrl } from "./actions/scrape-url.mjs";
|
|
5
|
+
import { opengraphIo } from "./app.mjs";
|
|
6
|
+
import { opengraphIoCatalog } from "./catalog.mjs";
|
|
7
|
+
export { opengraphIo, opengraphIoCaptureScreenshot, opengraphIoCatalog, opengraphIoExtractSite, opengraphIoScrapeSite, opengraphIoScrapeUrl };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { opengraphIo } from "./app.mjs";
|
|
2
|
+
import { opengraphIoCatalog } from "./catalog.mjs";
|
|
3
|
+
import { opengraphIoCaptureScreenshot } from "./actions/capture-screenshot.mjs";
|
|
4
|
+
import { opengraphIoExtractSite } from "./actions/extract-site.mjs";
|
|
5
|
+
import { opengraphIoScrapeSite } from "./actions/scrape-site.mjs";
|
|
6
|
+
import { opengraphIoScrapeUrl } from "./actions/scrape-url.mjs";
|
|
7
|
+
import "./actions/index.mjs";
|
|
8
|
+
export { opengraphIo, opengraphIoCaptureScreenshot, opengraphIoCatalog, opengraphIoExtractSite, opengraphIoScrapeSite, opengraphIoScrapeUrl };
|
package/package.json
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@keystrokehq/opengraph_io",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public",
|
|
6
|
+
"registry": "https://registry.npmjs.org"
|
|
7
|
+
},
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/keystrokehq/keystroke.git",
|
|
11
|
+
"directory": "packages/integrations/opengraph_io"
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist"
|
|
15
|
+
],
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"type": "module",
|
|
18
|
+
"main": "./dist/index.cjs",
|
|
19
|
+
"module": "./dist/index.mjs",
|
|
20
|
+
"types": "./dist/index.d.mts",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": {
|
|
23
|
+
"types": "./dist/index.d.mts",
|
|
24
|
+
"import": "./dist/index.mjs",
|
|
25
|
+
"require": "./dist/index.cjs"
|
|
26
|
+
},
|
|
27
|
+
"./actions": {
|
|
28
|
+
"types": "./dist/actions/index.d.mts",
|
|
29
|
+
"import": "./dist/actions/index.mjs",
|
|
30
|
+
"require": "./dist/actions/index.cjs"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"peerDependencies": {
|
|
34
|
+
"@keystrokehq/keystroke": "^0.1.4",
|
|
35
|
+
"zod": "^4.4.3"
|
|
36
|
+
},
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@keystrokehq/keystroke": "link:../../keystroke",
|
|
39
|
+
"@types/node": "^25.9.1",
|
|
40
|
+
"tsdown": "^0.22.0",
|
|
41
|
+
"typescript": "^6.0.3",
|
|
42
|
+
"zod": "^4.4.3"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "tsdown",
|
|
46
|
+
"dev": "tsdown --watch --no-clean",
|
|
47
|
+
"typecheck": "tsc --noEmit"
|
|
48
|
+
}
|
|
49
|
+
}
|