alterlab-mcp-server 1.7.0 → 1.9.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.
Files changed (83) hide show
  1. package/README.md +75 -33
  2. package/dist/auth.d.ts +30 -0
  3. package/dist/auth.d.ts.map +1 -0
  4. package/dist/auth.js +423 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/client.d.ts +23 -1
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +61 -3
  9. package/dist/client.js.map +1 -1
  10. package/dist/config.d.ts +21 -1
  11. package/dist/config.d.ts.map +1 -1
  12. package/dist/config.js +85 -8
  13. package/dist/config.js.map +1 -1
  14. package/dist/errors.d.ts.map +1 -1
  15. package/dist/errors.js +6 -4
  16. package/dist/errors.js.map +1 -1
  17. package/dist/format.d.ts +20 -2
  18. package/dist/format.d.ts.map +1 -1
  19. package/dist/format.js +187 -9
  20. package/dist/format.js.map +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +66 -2
  23. package/dist/index.js.map +1 -1
  24. package/dist/tools/balance.d.ts.map +1 -1
  25. package/dist/tools/balance.js +4 -2
  26. package/dist/tools/balance.js.map +1 -1
  27. package/dist/tools/batch.d.ts +1221 -25
  28. package/dist/tools/batch.d.ts.map +1 -1
  29. package/dist/tools/batch.js +123 -34
  30. package/dist/tools/batch.js.map +1 -1
  31. package/dist/tools/common.d.ts +313 -0
  32. package/dist/tools/common.d.ts.map +1 -0
  33. package/dist/tools/common.js +336 -0
  34. package/dist/tools/common.js.map +1 -0
  35. package/dist/tools/crawl.d.ts +165 -10
  36. package/dist/tools/crawl.d.ts.map +1 -1
  37. package/dist/tools/crawl.js +191 -43
  38. package/dist/tools/crawl.js.map +1 -1
  39. package/dist/tools/estimate.d.ts +21 -6
  40. package/dist/tools/estimate.d.ts.map +1 -1
  41. package/dist/tools/estimate.js +28 -35
  42. package/dist/tools/estimate.js.map +1 -1
  43. package/dist/tools/extract.d.ts +5 -5
  44. package/dist/tools/extract.d.ts.map +1 -1
  45. package/dist/tools/extract.js +16 -12
  46. package/dist/tools/extract.js.map +1 -1
  47. package/dist/tools/job.d.ts +13 -0
  48. package/dist/tools/job.d.ts.map +1 -0
  49. package/dist/tools/job.js +62 -0
  50. package/dist/tools/job.js.map +1 -0
  51. package/dist/tools/map.d.ts +5 -2
  52. package/dist/tools/map.d.ts.map +1 -1
  53. package/dist/tools/map.js +16 -5
  54. package/dist/tools/map.js.map +1 -1
  55. package/dist/tools/scrape.d.ts +431 -49
  56. package/dist/tools/scrape.d.ts.map +1 -1
  57. package/dist/tools/scrape.js +267 -135
  58. package/dist/tools/scrape.js.map +1 -1
  59. package/dist/tools/screenshot.d.ts +33 -0
  60. package/dist/tools/screenshot.d.ts.map +1 -1
  61. package/dist/tools/screenshot.js +60 -10
  62. package/dist/tools/screenshot.js.map +1 -1
  63. package/dist/tools/search.d.ts +11 -5
  64. package/dist/tools/search.d.ts.map +1 -1
  65. package/dist/tools/search.js +22 -6
  66. package/dist/tools/search.js.map +1 -1
  67. package/dist/tools/sessions.d.ts +180 -12
  68. package/dist/tools/sessions.d.ts.map +1 -1
  69. package/dist/tools/sessions.js +75 -21
  70. package/dist/tools/sessions.js.map +1 -1
  71. package/dist/tools/simple_batch.d.ts +28 -0
  72. package/dist/tools/simple_batch.d.ts.map +1 -0
  73. package/dist/tools/simple_batch.js +142 -0
  74. package/dist/tools/simple_batch.js.map +1 -0
  75. package/dist/tools/usage.d.ts +7 -0
  76. package/dist/tools/usage.d.ts.map +1 -0
  77. package/dist/tools/usage.js +42 -0
  78. package/dist/tools/usage.js.map +1 -0
  79. package/dist/types.d.ts +219 -21
  80. package/dist/types.d.ts.map +1 -1
  81. package/dist/types.js.map +1 -1
  82. package/package.json +5 -3
  83. package/server.json +40 -4
@@ -1 +1 @@
1
- {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA2CnD,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAatB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAKgD,CAAC;AAE9E,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC,CAmCzB;AAMD,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAI2B,CAAC;AAE/D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,cAAc,CAAC,CAWzB"}
1
+ {"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmBpD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgF1B,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CtB,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAQ+B,CAAC;AAE7D,oGAAoG;AACpG,wBAAgB,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,GAAG,gBAAgB,CAWtF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,GAClC,OAAO,CAAC,cAAc,CAAC,CA+BzB;AAMD,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAI2B,CAAC;AAE/D,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,cAAc,CAAC,CAWzB"}
@@ -1,82 +1,171 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.batchStatusDescription = exports.batchStatusSchema = exports.batchDescription = exports.batchSchema = void 0;
3
+ exports.batchStatusDescription = exports.batchStatusSchema = exports.batchDescription = exports.batchSchema = exports.batchItemSchema = void 0;
4
+ exports.buildBatchItem = buildBatchItem;
4
5
  exports.handleBatch = handleBatch;
5
6
  exports.handleBatchStatus = handleBatchStatus;
6
7
  const zod_1 = require("zod");
7
8
  const errors_js_1 = require("../errors.js");
9
+ const common_js_1 = require("./common.js");
8
10
  // ============================================================================
9
11
  // Submit Batch
10
12
  // ============================================================================
11
- const batchItemSchema = zod_1.z.object({
12
- url: zod_1.z.string().url().describe("URL to scrape"),
13
- mode: zod_1.z
14
- .enum(["auto", "html", "js", "pdf", "ocr"])
15
- .default("auto")
13
+ exports.batchItemSchema = zod_1.z.object({
14
+ url: zod_1.z.string().url().max(2083).describe("URL to scrape"),
15
+ mode: common_js_1.modeEnum.optional().describe("Scraping mode for this URL (API default auto)"),
16
+ method: zod_1.z
17
+ .enum(["GET", "POST"])
16
18
  .optional()
17
- .describe("Scraping mode for this URL"),
19
+ .describe("HTTP method for this URL. POST costs 1.5x the base tier price."),
20
+ body: zod_1.z.string().optional().describe("Request body for POST requests to this URL"),
21
+ content_type: common_js_1.contentTypeEnum
22
+ .optional()
23
+ .describe("Content-Type of the POST body for this URL"),
18
24
  formats: zod_1.z
19
- .array(zod_1.z.enum(["text", "json", "json_v2", "html", "markdown", "rag"]))
25
+ .array(common_js_1.allFormatEnum)
20
26
  .optional()
21
- .describe("Output formats for this URL (overrides batch-level formats)"),
27
+ .describe("Output formats for this URL. " + common_js_1.FORMATS_DESCRIPTION),
22
28
  extraction_schema: zod_1.z
23
29
  .record(zod_1.z.unknown())
24
30
  .optional()
25
31
  .describe("JSON schema for structured extraction from this URL"),
26
- render_js: zod_1.z.boolean().optional().describe("Render JavaScript for this URL"),
27
- use_proxy: zod_1.z.boolean().optional().describe("Use premium proxy for this URL"),
32
+ extraction_prompt: zod_1.z
33
+ .string()
34
+ .max(2000)
35
+ .optional()
36
+ .describe("Natural language extraction instruction for this URL"),
37
+ extraction_provider: common_js_1.extractionProviderEnum
38
+ .optional()
39
+ .describe("BYOK LLM provider for extraction on this URL"),
40
+ extraction_profile: common_js_1.extractionProfileEnum
41
+ .optional()
42
+ .describe("Pre-built extraction profile for this URL (mutually exclusive with extraction_template)"),
43
+ extraction_template: common_js_1.extractionProfileEnum
44
+ .optional()
45
+ .describe("Alias for extraction_profile (mutually exclusive with it)"),
46
+ advanced: zod_1.z
47
+ .object({
48
+ ...common_js_1.advancedShape,
49
+ screenshot: zod_1.z
50
+ .boolean()
51
+ .optional()
52
+ .describe("Capture a full-page screenshot of this URL (+$0.0002, requires render_js)"),
53
+ markdown: zod_1.z
54
+ .boolean()
55
+ .optional()
56
+ .describe("Extract content as Markdown for this URL (free)"),
57
+ })
58
+ .optional()
59
+ .describe("Advanced scrape options for this URL (render_js, use_proxy, use_own_proxy, actions, session_id, " +
60
+ "cookies, skip_tls_verification, sticky_session, ...). Same fields as the alterlab_scrape parameters of the same name."),
61
+ location: common_js_1.locationSchema
62
+ .optional()
63
+ .describe("Geo-targeting for this URL (country, language)"),
64
+ cost_controls: common_js_1.costControlsSchema
65
+ .optional()
66
+ .describe("Cost and tier controls for this URL (max_tier, force_tier, max_credits, ...)"),
67
+ render_js: zod_1.z
68
+ .union([zod_1.z.boolean(), zod_1.z.literal("auto")])
69
+ .optional()
70
+ .describe("Shortcut for advanced.render_js for this URL"),
71
+ use_proxy: zod_1.z
72
+ .boolean()
73
+ .optional()
74
+ .describe("Shortcut for advanced.use_proxy for this URL"),
28
75
  timeout: zod_1.z
29
76
  .number()
30
77
  .int()
31
78
  .min(1)
32
79
  .max(300)
33
- .default(90)
34
80
  .optional()
35
- .describe("Timeout in seconds for this URL"),
81
+ .describe("Timeout in seconds for this URL (1-300, API default 90)"),
36
82
  wait_for: zod_1.z
37
83
  .string()
38
84
  .optional()
39
85
  .describe("CSS selector to wait for before extracting content"),
40
- cache: zod_1.z
86
+ cache: zod_1.z.boolean().optional().describe("Enable caching for this URL"),
87
+ include_raw_html: zod_1.z
41
88
  .boolean()
42
- .default(false)
43
89
  .optional()
44
- .describe("Enable caching for this URL"),
90
+ .describe("Include raw HTML in the result for this URL"),
45
91
  });
46
92
  exports.batchSchema = zod_1.z.object({
47
93
  urls: zod_1.z
48
- .array(batchItemSchema)
94
+ .array(exports.batchItemSchema)
49
95
  .min(1)
50
96
  .max(100)
51
97
  .describe("List of URLs to scrape (max 100)"),
98
+ session_id: zod_1.z
99
+ .string()
100
+ .uuid()
101
+ .optional()
102
+ .describe("UUID of a stored session applied to every URL in the batch (see alterlab_list_sessions)"),
52
103
  webhook_url: zod_1.z
53
104
  .string()
54
105
  .url()
106
+ .max(2083)
55
107
  .optional()
56
108
  .describe("Webhook URL to receive batch.completed event when all jobs finish"),
109
+ export: zod_1.z
110
+ .object({
111
+ integration_id: zod_1.z
112
+ .string()
113
+ .describe("ID of a storage integration (S3/R2/GCS) configured in the dashboard"),
114
+ prefix: zod_1.z.string().max(500).optional().describe("Object key prefix for exported files"),
115
+ format: zod_1.z.enum(["jsonl", "csv", "json"]).optional().describe("Export file format (API default jsonl)"),
116
+ })
117
+ .optional()
118
+ .describe("Export batch results to a storage integration when the batch finishes"),
119
+ extraction_schema: zod_1.z
120
+ .record(zod_1.z.unknown())
121
+ .optional()
122
+ .describe("Batch-level JSON schema for structured extraction applied to every URL"),
123
+ extraction_prompt: zod_1.z
124
+ .string()
125
+ .max(2000)
126
+ .optional()
127
+ .describe("Batch-level natural language extraction instruction"),
128
+ extraction_provider: common_js_1.extractionProviderEnum
129
+ .optional()
130
+ .describe("Batch-level BYOK LLM provider for extraction"),
131
+ extraction_profile: common_js_1.batchExtractionProfileEnum
132
+ .optional()
133
+ .describe("Batch-level pre-built extraction profile applied to every URL"),
57
134
  });
58
- exports.batchDescription = "Submit up to 100 URLs for parallel scraping in a single batch request. " +
135
+ exports.batchDescription = "Scrape up to 100 URLs in parallel with a single request — much faster and more efficient than sequential alterlab_scrape calls. " +
136
+ "Each URL automatically gets anti-bot bypass protection (Cloudflare, DataDome, etc.) at its own tier level " +
137
+ "(tier 1 $0.0002 ... tier 4 $0.004 per URL). " +
59
138
  "Returns a batch_id immediately — use alterlab_batch_status to poll results. " +
60
- "Each URL can have its own mode, formats, extraction_schema, and options. " +
139
+ "Each URL can have its own mode, method/body, formats, extraction options, advanced options, location and cost_controls. " +
140
+ "Batch-level session_id, extraction_* and export apply to the whole batch. " +
61
141
  "Credits are pre-debited based on estimated cost; unused credits are refunded on completion. " +
62
- "Use this instead of calling alterlab_scrape repeatedly for multiple URLs.";
142
+ "Use this whenever you need to scrape more than 2-3 URLs.";
143
+ /** Translate a batch item's tool parameters into the API's BatchItemRequest. Exported for tests. */
144
+ function buildBatchItem(item) {
145
+ const { render_js, use_proxy, advanced, ...rest } = item;
146
+ const mergedAdvanced = (0, common_js_1.compact)({
147
+ ...(advanced ?? {}),
148
+ ...(render_js !== undefined && advanced?.render_js === undefined ? { render_js } : {}),
149
+ ...(use_proxy !== undefined && advanced?.use_proxy === undefined ? { use_proxy } : {}),
150
+ });
151
+ return {
152
+ ...(0, common_js_1.compact)(rest),
153
+ ...(Object.keys(mergedAdvanced).length > 0 ? { advanced: mergedAdvanced } : {}),
154
+ };
155
+ }
63
156
  async function handleBatch(client, params) {
64
157
  try {
65
158
  const response = await client.submitBatch({
66
- urls: params.urls.map((item) => ({
67
- url: item.url,
68
- mode: item.mode,
69
- formats: item.formats,
70
- extraction_schema: item.extraction_schema,
71
- timeout: item.timeout,
72
- wait_for: item.wait_for,
73
- cache: item.cache,
74
- advanced: {
75
- render_js: item.render_js,
76
- use_proxy: item.use_proxy,
77
- },
78
- })),
79
- webhook_url: params.webhook_url,
159
+ urls: params.urls.map(buildBatchItem),
160
+ ...(0, common_js_1.compact)({
161
+ session_id: params.session_id,
162
+ webhook_url: params.webhook_url,
163
+ export: params.export,
164
+ extraction_schema: params.extraction_schema,
165
+ extraction_prompt: params.extraction_prompt,
166
+ extraction_provider: params.extraction_provider,
167
+ extraction_profile: params.extraction_profile,
168
+ }),
80
169
  });
81
170
  const text = `**Batch Submitted**\n\n` +
82
171
  `- Batch ID: \`${response.batch_id}\`\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,313 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * Zod building blocks shared by several tools. Enum values, bounds and field
4
+ * names mirror the AlterLab OpenAPI request schemas; the schema-parity test
5
+ * (test/schema-parity.test.mjs) fails when they drift from spec/request-schemas.json.
6
+ */
7
+ export declare const tierEnum: z.ZodEnum<["1", "2", "3", "3.5", "4"]>;
8
+ export declare const extractionProfileEnum: z.ZodEnum<["auto", "product", "article", "job_posting", "faq", "recipe", "event", "ecommerce_homepage", "directory_listing"]>;
9
+ /** Batch-level extraction_profile only accepts the original seven profiles. */
10
+ export declare const batchExtractionProfileEnum: z.ZodEnum<["auto", "product", "article", "job_posting", "faq", "recipe", "event"]>;
11
+ export declare const extractionProviderEnum: z.ZodEnum<["openai", "anthropic", "openrouter", "groq"]>;
12
+ export declare const modeEnum: z.ZodEnum<["auto", "html", "js", "pdf", "ocr"]>;
13
+ export declare const contentTypeEnum: z.ZodEnum<["application/json", "application/x-www-form-urlencoded", "text/plain", "application/graphql"]>;
14
+ /** Output formats accepted by scrape, extract, batch items and estimate. */
15
+ export declare const allFormatEnum: z.ZodEnum<["text", "json", "json_v2", "html", "markdown", "rag", "content", "raw"]>;
16
+ /** Output formats accepted by crawl and search (no "raw"). */
17
+ export declare const crawlFormatEnum: z.ZodEnum<["text", "json", "json_v2", "html", "markdown", "rag", "content"]>;
18
+ export declare const FORMATS_DESCRIPTION: string;
19
+ export declare const locationSchema: z.ZodObject<{
20
+ country: z.ZodOptional<z.ZodString>;
21
+ language: z.ZodOptional<z.ZodString>;
22
+ }, "strip", z.ZodTypeAny, {
23
+ country?: string | undefined;
24
+ language?: string | undefined;
25
+ }, {
26
+ country?: string | undefined;
27
+ language?: string | undefined;
28
+ }>;
29
+ export declare const costControlsSchema: z.ZodObject<{
30
+ force_tier: z.ZodOptional<z.ZodEnum<["1", "2", "3", "3.5", "4"]>>;
31
+ max_tier: z.ZodOptional<z.ZodEnum<["1", "2", "3", "3.5", "4"]>>;
32
+ max_credits: z.ZodOptional<z.ZodNumber>;
33
+ prefer_cost: z.ZodOptional<z.ZodBoolean>;
34
+ prefer_speed: z.ZodOptional<z.ZodBoolean>;
35
+ fail_fast: z.ZodOptional<z.ZodBoolean>;
36
+ time_budget: z.ZodOptional<z.ZodNumber>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
39
+ max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
40
+ max_credits?: number | undefined;
41
+ prefer_cost?: boolean | undefined;
42
+ prefer_speed?: boolean | undefined;
43
+ fail_fast?: boolean | undefined;
44
+ time_budget?: number | undefined;
45
+ }, {
46
+ force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
47
+ max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
48
+ max_credits?: number | undefined;
49
+ prefer_cost?: boolean | undefined;
50
+ prefer_speed?: boolean | undefined;
51
+ fail_fast?: boolean | undefined;
52
+ time_budget?: number | undefined;
53
+ }>;
54
+ export declare const actionSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
55
+ type: z.ZodLiteral<"wait">;
56
+ milliseconds: z.ZodOptional<z.ZodNumber>;
57
+ selector: z.ZodOptional<z.ZodString>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ type: "wait";
60
+ milliseconds?: number | undefined;
61
+ selector?: string | undefined;
62
+ }, {
63
+ type: "wait";
64
+ milliseconds?: number | undefined;
65
+ selector?: string | undefined;
66
+ }>, z.ZodObject<{
67
+ type: z.ZodLiteral<"wait_for">;
68
+ selector: z.ZodString;
69
+ timeout: z.ZodOptional<z.ZodNumber>;
70
+ }, "strip", z.ZodTypeAny, {
71
+ type: "wait_for";
72
+ selector: string;
73
+ timeout?: number | undefined;
74
+ }, {
75
+ type: "wait_for";
76
+ selector: string;
77
+ timeout?: number | undefined;
78
+ }>, z.ZodObject<{
79
+ type: z.ZodLiteral<"click">;
80
+ selector: z.ZodString;
81
+ }, "strip", z.ZodTypeAny, {
82
+ type: "click";
83
+ selector: string;
84
+ }, {
85
+ type: "click";
86
+ selector: string;
87
+ }>, z.ZodObject<{
88
+ type: z.ZodLiteral<"fill">;
89
+ selector: z.ZodString;
90
+ value: z.ZodString;
91
+ }, "strip", z.ZodTypeAny, {
92
+ type: "fill";
93
+ value: string;
94
+ selector: string;
95
+ }, {
96
+ type: "fill";
97
+ value: string;
98
+ selector: string;
99
+ }>, z.ZodObject<{
100
+ type: z.ZodLiteral<"press">;
101
+ key: z.ZodString;
102
+ }, "strip", z.ZodTypeAny, {
103
+ type: "press";
104
+ key: string;
105
+ }, {
106
+ type: "press";
107
+ key: string;
108
+ }>, z.ZodObject<{
109
+ type: z.ZodLiteral<"scroll">;
110
+ direction: z.ZodOptional<z.ZodEnum<["down", "up"]>>;
111
+ amount: z.ZodOptional<z.ZodNumber>;
112
+ }, "strip", z.ZodTypeAny, {
113
+ type: "scroll";
114
+ direction?: "down" | "up" | undefined;
115
+ amount?: number | undefined;
116
+ }, {
117
+ type: "scroll";
118
+ direction?: "down" | "up" | undefined;
119
+ amount?: number | undefined;
120
+ }>, z.ZodObject<{
121
+ type: z.ZodLiteral<"infinite_scroll">;
122
+ max_scrolls: z.ZodOptional<z.ZodNumber>;
123
+ delay: z.ZodOptional<z.ZodNumber>;
124
+ end_selector: z.ZodOptional<z.ZodString>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ type: "infinite_scroll";
127
+ max_scrolls?: number | undefined;
128
+ delay?: number | undefined;
129
+ end_selector?: string | undefined;
130
+ }, {
131
+ type: "infinite_scroll";
132
+ max_scrolls?: number | undefined;
133
+ delay?: number | undefined;
134
+ end_selector?: string | undefined;
135
+ }>, z.ZodObject<{
136
+ type: z.ZodLiteral<"screenshot">;
137
+ full_page: z.ZodOptional<z.ZodBoolean>;
138
+ }, "strip", z.ZodTypeAny, {
139
+ type: "screenshot";
140
+ full_page?: boolean | undefined;
141
+ }, {
142
+ type: "screenshot";
143
+ full_page?: boolean | undefined;
144
+ }>, z.ZodObject<{
145
+ type: z.ZodLiteral<"evaluate">;
146
+ script: z.ZodString;
147
+ }, "strip", z.ZodTypeAny, {
148
+ type: "evaluate";
149
+ script: string;
150
+ }, {
151
+ type: "evaluate";
152
+ script: string;
153
+ }>]>;
154
+ export declare const sectionFilterSchema: z.ZodObject<{
155
+ min_content_blocks: z.ZodOptional<z.ZodNumber>;
156
+ exclude_content_types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
157
+ content_only: z.ZodOptional<z.ZodBoolean>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ min_content_blocks?: number | undefined;
160
+ exclude_content_types?: string[] | undefined;
161
+ content_only?: boolean | undefined;
162
+ }, {
163
+ min_content_blocks?: number | undefined;
164
+ exclude_content_types?: string[] | undefined;
165
+ content_only?: boolean | undefined;
166
+ }>;
167
+ /**
168
+ * Fields of the API's `advanced` object for scrape requests. scrape spreads
169
+ * these as flat tool parameters; batch items nest them under `advanced`.
170
+ * `markdown` is intentionally absent: it is derived from `formats`.
171
+ * `screenshot` is the top-level scrape field the API promotes into advanced.
172
+ */
173
+ export declare const advancedShape: {
174
+ render_js: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"auto">]>>;
175
+ use_proxy: z.ZodOptional<z.ZodBoolean>;
176
+ use_own_proxy: z.ZodOptional<z.ZodBoolean>;
177
+ use_system_proxy: z.ZodOptional<z.ZodBoolean>;
178
+ proxy_integration_id: z.ZodOptional<z.ZodString>;
179
+ proxy_country: z.ZodOptional<z.ZodString>;
180
+ wait_condition: z.ZodOptional<z.ZodString>;
181
+ remove_cookie_banners: z.ZodOptional<z.ZodBoolean>;
182
+ include_iframes: z.ZodOptional<z.ZodBoolean>;
183
+ flatten_shadow_dom: z.ZodOptional<z.ZodBoolean>;
184
+ skip_tls_verification: z.ZodOptional<z.ZodBoolean>;
185
+ block_images: z.ZodOptional<z.ZodBoolean>;
186
+ scroll_to_load: z.ZodOptional<z.ZodBoolean>;
187
+ scroll_count: z.ZodOptional<z.ZodNumber>;
188
+ generate_pdf: z.ZodOptional<z.ZodBoolean>;
189
+ ocr: z.ZodOptional<z.ZodBoolean>;
190
+ section_filter: z.ZodOptional<z.ZodObject<{
191
+ min_content_blocks: z.ZodOptional<z.ZodNumber>;
192
+ exclude_content_types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
193
+ content_only: z.ZodOptional<z.ZodBoolean>;
194
+ }, "strip", z.ZodTypeAny, {
195
+ min_content_blocks?: number | undefined;
196
+ exclude_content_types?: string[] | undefined;
197
+ content_only?: boolean | undefined;
198
+ }, {
199
+ min_content_blocks?: number | undefined;
200
+ exclude_content_types?: string[] | undefined;
201
+ content_only?: boolean | undefined;
202
+ }>>;
203
+ session_id: z.ZodOptional<z.ZodString>;
204
+ cookies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
205
+ session_headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
206
+ sticky_session: z.ZodOptional<z.ZodString>;
207
+ sticky_session_ttl: z.ZodOptional<z.ZodNumber>;
208
+ actions: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
209
+ type: z.ZodLiteral<"wait">;
210
+ milliseconds: z.ZodOptional<z.ZodNumber>;
211
+ selector: z.ZodOptional<z.ZodString>;
212
+ }, "strip", z.ZodTypeAny, {
213
+ type: "wait";
214
+ milliseconds?: number | undefined;
215
+ selector?: string | undefined;
216
+ }, {
217
+ type: "wait";
218
+ milliseconds?: number | undefined;
219
+ selector?: string | undefined;
220
+ }>, z.ZodObject<{
221
+ type: z.ZodLiteral<"wait_for">;
222
+ selector: z.ZodString;
223
+ timeout: z.ZodOptional<z.ZodNumber>;
224
+ }, "strip", z.ZodTypeAny, {
225
+ type: "wait_for";
226
+ selector: string;
227
+ timeout?: number | undefined;
228
+ }, {
229
+ type: "wait_for";
230
+ selector: string;
231
+ timeout?: number | undefined;
232
+ }>, z.ZodObject<{
233
+ type: z.ZodLiteral<"click">;
234
+ selector: z.ZodString;
235
+ }, "strip", z.ZodTypeAny, {
236
+ type: "click";
237
+ selector: string;
238
+ }, {
239
+ type: "click";
240
+ selector: string;
241
+ }>, z.ZodObject<{
242
+ type: z.ZodLiteral<"fill">;
243
+ selector: z.ZodString;
244
+ value: z.ZodString;
245
+ }, "strip", z.ZodTypeAny, {
246
+ type: "fill";
247
+ value: string;
248
+ selector: string;
249
+ }, {
250
+ type: "fill";
251
+ value: string;
252
+ selector: string;
253
+ }>, z.ZodObject<{
254
+ type: z.ZodLiteral<"press">;
255
+ key: z.ZodString;
256
+ }, "strip", z.ZodTypeAny, {
257
+ type: "press";
258
+ key: string;
259
+ }, {
260
+ type: "press";
261
+ key: string;
262
+ }>, z.ZodObject<{
263
+ type: z.ZodLiteral<"scroll">;
264
+ direction: z.ZodOptional<z.ZodEnum<["down", "up"]>>;
265
+ amount: z.ZodOptional<z.ZodNumber>;
266
+ }, "strip", z.ZodTypeAny, {
267
+ type: "scroll";
268
+ direction?: "down" | "up" | undefined;
269
+ amount?: number | undefined;
270
+ }, {
271
+ type: "scroll";
272
+ direction?: "down" | "up" | undefined;
273
+ amount?: number | undefined;
274
+ }>, z.ZodObject<{
275
+ type: z.ZodLiteral<"infinite_scroll">;
276
+ max_scrolls: z.ZodOptional<z.ZodNumber>;
277
+ delay: z.ZodOptional<z.ZodNumber>;
278
+ end_selector: z.ZodOptional<z.ZodString>;
279
+ }, "strip", z.ZodTypeAny, {
280
+ type: "infinite_scroll";
281
+ max_scrolls?: number | undefined;
282
+ delay?: number | undefined;
283
+ end_selector?: string | undefined;
284
+ }, {
285
+ type: "infinite_scroll";
286
+ max_scrolls?: number | undefined;
287
+ delay?: number | undefined;
288
+ end_selector?: string | undefined;
289
+ }>, z.ZodObject<{
290
+ type: z.ZodLiteral<"screenshot">;
291
+ full_page: z.ZodOptional<z.ZodBoolean>;
292
+ }, "strip", z.ZodTypeAny, {
293
+ type: "screenshot";
294
+ full_page?: boolean | undefined;
295
+ }, {
296
+ type: "screenshot";
297
+ full_page?: boolean | undefined;
298
+ }>, z.ZodObject<{
299
+ type: z.ZodLiteral<"evaluate">;
300
+ script: z.ZodString;
301
+ }, "strip", z.ZodTypeAny, {
302
+ type: "evaluate";
303
+ script: string;
304
+ }, {
305
+ type: "evaluate";
306
+ script: string;
307
+ }>]>, "many">>;
308
+ };
309
+ /** Drop undefined keys so optional tool params are not serialised as null/undefined. */
310
+ export declare function compact<T extends Record<string, unknown>>(obj: T): Partial<T>;
311
+ export declare function pickAdvanced<T extends Record<string, unknown>>(params: T, keys: readonly string[]): Record<string, unknown>;
312
+ export declare const ADVANCED_KEYS: string[];
313
+ //# sourceMappingURL=common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/tools/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AAEH,eAAO,MAAM,QAAQ,wCAAsC,CAAC;AAE5D,eAAO,MAAM,qBAAqB,+HAUhC,CAAC;AAEH,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,oFAQrC,CAAC;AAEH,eAAO,MAAM,sBAAsB,0DAKjC,CAAC;AAEH,eAAO,MAAM,QAAQ,iDAA+C,CAAC;AAErE,eAAO,MAAM,eAAe,2GAK1B,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,aAAa,qFASxB,CAAC;AAEH,8DAA8D;AAC9D,eAAO,MAAM,eAAe,8EAQ1B,CAAC;AAEH,eAAO,MAAM,mBAAmB,QAKwD,CAAC;AAEzF,eAAO,MAAM,cAAc;;;;;;;;;EAuBxB,CAAC;AAEJ,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;EAqD5B,CAAC;AAmDJ,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUvB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;EAI9B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0JzB,CAAC;AAEF,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAM7E;AAED,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC5D,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAMzB;AAED,eAAO,MAAM,aAAa,UAA6B,CAAC"}