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,97 +1,479 @@
1
1
  import { z } from "zod";
2
2
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
3
  import type { AlterLabClient } from "../client.js";
4
+ import type { UnifiedScrapeRequest } from "../types.js";
4
5
  export declare const scrapeSchema: z.ZodObject<{
6
+ location: z.ZodOptional<z.ZodObject<{
7
+ country: z.ZodOptional<z.ZodString>;
8
+ language: z.ZodOptional<z.ZodString>;
9
+ }, "strip", z.ZodTypeAny, {
10
+ country?: string | undefined;
11
+ language?: string | undefined;
12
+ }, {
13
+ country?: string | undefined;
14
+ language?: string | undefined;
15
+ }>>;
16
+ prefer_cost: z.ZodOptional<z.ZodBoolean>;
17
+ prefer_speed: z.ZodOptional<z.ZodBoolean>;
18
+ fail_fast: z.ZodOptional<z.ZodBoolean>;
19
+ cost_controls: z.ZodOptional<z.ZodObject<{
20
+ force_tier: z.ZodOptional<z.ZodEnum<["1", "2", "3", "3.5", "4"]>>;
21
+ max_tier: z.ZodOptional<z.ZodEnum<["1", "2", "3", "3.5", "4"]>>;
22
+ max_credits: z.ZodOptional<z.ZodNumber>;
23
+ prefer_cost: z.ZodOptional<z.ZodBoolean>;
24
+ prefer_speed: z.ZodOptional<z.ZodBoolean>;
25
+ fail_fast: z.ZodOptional<z.ZodBoolean>;
26
+ time_budget: z.ZodOptional<z.ZodNumber>;
27
+ }, "strip", z.ZodTypeAny, {
28
+ force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
29
+ max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
30
+ max_credits?: number | undefined;
31
+ prefer_cost?: boolean | undefined;
32
+ prefer_speed?: boolean | undefined;
33
+ fail_fast?: boolean | undefined;
34
+ time_budget?: number | undefined;
35
+ }, {
36
+ force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
37
+ max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
38
+ max_credits?: number | undefined;
39
+ prefer_cost?: boolean | undefined;
40
+ prefer_speed?: boolean | undefined;
41
+ fail_fast?: boolean | undefined;
42
+ time_budget?: number | undefined;
43
+ }>>;
44
+ estimate_first: z.ZodDefault<z.ZodBoolean>;
45
+ render_js: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"auto">]>>;
46
+ use_proxy: z.ZodOptional<z.ZodBoolean>;
47
+ use_own_proxy: z.ZodOptional<z.ZodBoolean>;
48
+ use_system_proxy: z.ZodOptional<z.ZodBoolean>;
49
+ proxy_integration_id: z.ZodOptional<z.ZodString>;
50
+ proxy_country: z.ZodOptional<z.ZodString>;
51
+ wait_condition: z.ZodOptional<z.ZodString>;
52
+ remove_cookie_banners: z.ZodOptional<z.ZodBoolean>;
53
+ include_iframes: z.ZodOptional<z.ZodBoolean>;
54
+ flatten_shadow_dom: z.ZodOptional<z.ZodBoolean>;
55
+ skip_tls_verification: z.ZodOptional<z.ZodBoolean>;
56
+ block_images: z.ZodOptional<z.ZodBoolean>;
57
+ scroll_to_load: z.ZodOptional<z.ZodBoolean>;
58
+ scroll_count: z.ZodOptional<z.ZodNumber>;
59
+ generate_pdf: z.ZodOptional<z.ZodBoolean>;
60
+ ocr: z.ZodOptional<z.ZodBoolean>;
61
+ section_filter: z.ZodOptional<z.ZodObject<{
62
+ min_content_blocks: z.ZodOptional<z.ZodNumber>;
63
+ exclude_content_types: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
64
+ content_only: z.ZodOptional<z.ZodBoolean>;
65
+ }, "strip", z.ZodTypeAny, {
66
+ min_content_blocks?: number | undefined;
67
+ exclude_content_types?: string[] | undefined;
68
+ content_only?: boolean | undefined;
69
+ }, {
70
+ min_content_blocks?: number | undefined;
71
+ exclude_content_types?: string[] | undefined;
72
+ content_only?: boolean | undefined;
73
+ }>>;
74
+ session_id: z.ZodOptional<z.ZodString>;
75
+ cookies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
76
+ session_headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
77
+ sticky_session: z.ZodOptional<z.ZodString>;
78
+ sticky_session_ttl: z.ZodOptional<z.ZodNumber>;
79
+ actions: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
80
+ type: z.ZodLiteral<"wait">;
81
+ milliseconds: z.ZodOptional<z.ZodNumber>;
82
+ selector: z.ZodOptional<z.ZodString>;
83
+ }, "strip", z.ZodTypeAny, {
84
+ type: "wait";
85
+ milliseconds?: number | undefined;
86
+ selector?: string | undefined;
87
+ }, {
88
+ type: "wait";
89
+ milliseconds?: number | undefined;
90
+ selector?: string | undefined;
91
+ }>, z.ZodObject<{
92
+ type: z.ZodLiteral<"wait_for">;
93
+ selector: z.ZodString;
94
+ timeout: z.ZodOptional<z.ZodNumber>;
95
+ }, "strip", z.ZodTypeAny, {
96
+ type: "wait_for";
97
+ selector: string;
98
+ timeout?: number | undefined;
99
+ }, {
100
+ type: "wait_for";
101
+ selector: string;
102
+ timeout?: number | undefined;
103
+ }>, z.ZodObject<{
104
+ type: z.ZodLiteral<"click">;
105
+ selector: z.ZodString;
106
+ }, "strip", z.ZodTypeAny, {
107
+ type: "click";
108
+ selector: string;
109
+ }, {
110
+ type: "click";
111
+ selector: string;
112
+ }>, z.ZodObject<{
113
+ type: z.ZodLiteral<"fill">;
114
+ selector: z.ZodString;
115
+ value: z.ZodString;
116
+ }, "strip", z.ZodTypeAny, {
117
+ type: "fill";
118
+ value: string;
119
+ selector: string;
120
+ }, {
121
+ type: "fill";
122
+ value: string;
123
+ selector: string;
124
+ }>, z.ZodObject<{
125
+ type: z.ZodLiteral<"press">;
126
+ key: z.ZodString;
127
+ }, "strip", z.ZodTypeAny, {
128
+ type: "press";
129
+ key: string;
130
+ }, {
131
+ type: "press";
132
+ key: string;
133
+ }>, z.ZodObject<{
134
+ type: z.ZodLiteral<"scroll">;
135
+ direction: z.ZodOptional<z.ZodEnum<["down", "up"]>>;
136
+ amount: z.ZodOptional<z.ZodNumber>;
137
+ }, "strip", z.ZodTypeAny, {
138
+ type: "scroll";
139
+ direction?: "down" | "up" | undefined;
140
+ amount?: number | undefined;
141
+ }, {
142
+ type: "scroll";
143
+ direction?: "down" | "up" | undefined;
144
+ amount?: number | undefined;
145
+ }>, z.ZodObject<{
146
+ type: z.ZodLiteral<"infinite_scroll">;
147
+ max_scrolls: z.ZodOptional<z.ZodNumber>;
148
+ delay: z.ZodOptional<z.ZodNumber>;
149
+ end_selector: z.ZodOptional<z.ZodString>;
150
+ }, "strip", z.ZodTypeAny, {
151
+ type: "infinite_scroll";
152
+ max_scrolls?: number | undefined;
153
+ delay?: number | undefined;
154
+ end_selector?: string | undefined;
155
+ }, {
156
+ type: "infinite_scroll";
157
+ max_scrolls?: number | undefined;
158
+ delay?: number | undefined;
159
+ end_selector?: string | undefined;
160
+ }>, z.ZodObject<{
161
+ type: z.ZodLiteral<"screenshot">;
162
+ full_page: z.ZodOptional<z.ZodBoolean>;
163
+ }, "strip", z.ZodTypeAny, {
164
+ type: "screenshot";
165
+ full_page?: boolean | undefined;
166
+ }, {
167
+ type: "screenshot";
168
+ full_page?: boolean | undefined;
169
+ }>, z.ZodObject<{
170
+ type: z.ZodLiteral<"evaluate">;
171
+ script: z.ZodString;
172
+ }, "strip", z.ZodTypeAny, {
173
+ type: "evaluate";
174
+ script: string;
175
+ }, {
176
+ type: "evaluate";
177
+ script: string;
178
+ }>]>, "many">>;
5
179
  url: z.ZodString;
6
- method: z.ZodDefault<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD"]>>;
180
+ method: z.ZodDefault<z.ZodEnum<["GET", "POST"]>>;
7
181
  body: z.ZodOptional<z.ZodString>;
182
+ content_type: z.ZodOptional<z.ZodEnum<["application/json", "application/x-www-form-urlencoded", "text/plain", "application/graphql"]>>;
183
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
8
184
  mode: z.ZodDefault<z.ZodEnum<["auto", "html", "js", "pdf", "ocr"]>>;
9
- formats: z.ZodDefault<z.ZodArray<z.ZodEnum<["text", "json", "json_v2", "html", "markdown", "rag", "content"]>, "many">>;
185
+ formats: z.ZodDefault<z.ZodArray<z.ZodEnum<["text", "json", "json_v2", "html", "markdown", "rag", "content", "raw"]>, "many">>;
10
186
  extraction_schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
187
  extraction_model: z.ZodOptional<z.ZodNullable<z.ZodString>>;
12
188
  extraction_provider: z.ZodOptional<z.ZodEnum<["openai", "anthropic", "openrouter", "groq"]>>;
13
189
  extraction_prompt: z.ZodOptional<z.ZodString>;
14
190
  extraction_profile: z.ZodOptional<z.ZodEnum<["auto", "product", "article", "job_posting", "faq", "recipe", "event", "ecommerce_homepage", "directory_listing"]>>;
15
- render_js: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodLiteral<"auto">]>>;
16
- use_proxy: z.ZodDefault<z.ZodBoolean>;
17
- proxy_country: z.ZodOptional<z.ZodString>;
18
- wait_for: z.ZodOptional<z.ZodString>;
19
- timeout: z.ZodDefault<z.ZodNumber>;
20
- max_response_bytes: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
191
+ extraction_template: z.ZodOptional<z.ZodEnum<["auto", "product", "article", "job_posting", "faq", "recipe", "event", "ecommerce_homepage", "directory_listing"]>>;
192
+ template: z.ZodOptional<z.ZodString>;
193
+ evidence: z.ZodOptional<z.ZodBoolean>;
194
+ filter_content: z.ZodOptional<z.ZodBoolean>;
195
+ promote_schema_org: z.ZodOptional<z.ZodBoolean>;
196
+ cache: z.ZodOptional<z.ZodBoolean>;
197
+ cache_ttl: z.ZodOptional<z.ZodNumber>;
198
+ force_refresh: z.ZodOptional<z.ZodBoolean>;
21
199
  include_raw_html: z.ZodDefault<z.ZodBoolean>;
22
- session_id: z.ZodOptional<z.ZodString>;
23
- cookies: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
24
- scroll_to_load: z.ZodDefault<z.ZodBoolean>;
25
- scroll_count: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
26
- remove_cookie_banners: z.ZodDefault<z.ZodBoolean>;
27
- block_images: z.ZodDefault<z.ZodBoolean>;
28
- location: z.ZodOptional<z.ZodObject<{
29
- country: z.ZodOptional<z.ZodString>;
30
- language: z.ZodOptional<z.ZodString>;
200
+ max_response_bytes: z.ZodOptional<z.ZodNumber>;
201
+ timeout: z.ZodDefault<z.ZodNumber>;
202
+ wait_for: z.ZodOptional<z.ZodString>;
203
+ wait_until: z.ZodOptional<z.ZodString>;
204
+ screenshot: z.ZodOptional<z.ZodBoolean>;
205
+ enable_scroll: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
206
+ pdf_format: z.ZodOptional<z.ZodString>;
207
+ ocr_language: z.ZodOptional<z.ZodString>;
208
+ sync_policy: z.ZodOptional<z.ZodEnum<["auto", "wait_until_deadline"]>>;
209
+ embeddings: z.ZodOptional<z.ZodObject<{
210
+ enabled: z.ZodOptional<z.ZodBoolean>;
211
+ model: z.ZodOptional<z.ZodEnum<["text-embedding-3-small", "text-embedding-3-large"]>>;
212
+ chunk_size: z.ZodOptional<z.ZodNumber>;
213
+ chunk_overlap: z.ZodOptional<z.ZodNumber>;
31
214
  }, "strip", z.ZodTypeAny, {
32
- country?: string | undefined;
33
- language?: string | undefined;
215
+ enabled?: boolean | undefined;
216
+ model?: "text-embedding-3-small" | "text-embedding-3-large" | undefined;
217
+ chunk_size?: number | undefined;
218
+ chunk_overlap?: number | undefined;
34
219
  }, {
35
- country?: string | undefined;
36
- language?: string | undefined;
220
+ enabled?: boolean | undefined;
221
+ model?: "text-embedding-3-small" | "text-embedding-3-large" | undefined;
222
+ chunk_size?: number | undefined;
223
+ chunk_overlap?: number | undefined;
37
224
  }>>;
38
225
  }, "strip", z.ZodTypeAny, {
39
- url: string;
40
- timeout: number;
41
- method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD";
42
226
  mode: "auto" | "html" | "js" | "pdf" | "ocr";
43
- formats: ("content" | "text" | "html" | "json" | "json_v2" | "markdown" | "rag")[];
44
- render_js: boolean | "auto";
45
- use_proxy: boolean;
227
+ method: "POST" | "GET";
228
+ timeout: number;
229
+ url: string;
230
+ formats: ("content" | "text" | "json" | "json_v2" | "html" | "markdown" | "rag" | "raw")[];
46
231
  include_raw_html: boolean;
47
- scroll_to_load: boolean;
48
- remove_cookie_banners: boolean;
49
- block_images: boolean;
232
+ estimate_first: boolean;
233
+ headers?: Record<string, string> | undefined;
234
+ ocr?: boolean | undefined;
235
+ prefer_cost?: boolean | undefined;
236
+ prefer_speed?: boolean | undefined;
237
+ fail_fast?: boolean | undefined;
238
+ wait_for?: string | undefined;
239
+ screenshot?: boolean | undefined;
50
240
  body?: string | undefined;
241
+ content_type?: "application/json" | "application/x-www-form-urlencoded" | "text/plain" | "application/graphql" | undefined;
51
242
  extraction_schema?: Record<string, unknown> | undefined;
52
243
  extraction_model?: string | null | undefined;
53
244
  extraction_provider?: "openai" | "anthropic" | "openrouter" | "groq" | undefined;
54
245
  extraction_prompt?: string | undefined;
55
246
  extraction_profile?: "auto" | "product" | "article" | "job_posting" | "faq" | "recipe" | "event" | "ecommerce_homepage" | "directory_listing" | undefined;
56
- proxy_country?: string | undefined;
57
- wait_for?: string | undefined;
247
+ extraction_template?: "auto" | "product" | "article" | "job_posting" | "faq" | "recipe" | "event" | "ecommerce_homepage" | "directory_listing" | undefined;
248
+ template?: string | undefined;
249
+ evidence?: boolean | undefined;
250
+ filter_content?: boolean | undefined;
251
+ promote_schema_org?: boolean | undefined;
252
+ cache?: boolean | undefined;
253
+ cache_ttl?: number | undefined;
254
+ force_refresh?: boolean | undefined;
58
255
  max_response_bytes?: number | undefined;
59
- session_id?: string | undefined;
60
- cookies?: Record<string, string> | undefined;
61
- scroll_count?: number | undefined;
256
+ wait_until?: string | undefined;
257
+ enable_scroll?: boolean | null | undefined;
258
+ pdf_format?: string | undefined;
259
+ ocr_language?: string | undefined;
260
+ sync_policy?: "auto" | "wait_until_deadline" | undefined;
261
+ embeddings?: {
262
+ enabled?: boolean | undefined;
263
+ model?: "text-embedding-3-small" | "text-embedding-3-large" | undefined;
264
+ chunk_size?: number | undefined;
265
+ chunk_overlap?: number | undefined;
266
+ } | undefined;
62
267
  location?: {
63
268
  country?: string | undefined;
64
269
  language?: string | undefined;
65
270
  } | undefined;
271
+ cost_controls?: {
272
+ force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
273
+ max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
274
+ max_credits?: number | undefined;
275
+ prefer_cost?: boolean | undefined;
276
+ prefer_speed?: boolean | undefined;
277
+ fail_fast?: boolean | undefined;
278
+ time_budget?: number | undefined;
279
+ } | undefined;
280
+ render_js?: boolean | "auto" | undefined;
281
+ use_proxy?: boolean | undefined;
282
+ use_own_proxy?: boolean | undefined;
283
+ use_system_proxy?: boolean | undefined;
284
+ proxy_integration_id?: string | undefined;
285
+ proxy_country?: string | undefined;
286
+ wait_condition?: string | undefined;
287
+ remove_cookie_banners?: boolean | undefined;
288
+ include_iframes?: boolean | undefined;
289
+ flatten_shadow_dom?: boolean | undefined;
290
+ skip_tls_verification?: boolean | undefined;
291
+ block_images?: boolean | undefined;
292
+ scroll_to_load?: boolean | undefined;
293
+ scroll_count?: number | undefined;
294
+ generate_pdf?: boolean | undefined;
295
+ section_filter?: {
296
+ min_content_blocks?: number | undefined;
297
+ exclude_content_types?: string[] | undefined;
298
+ content_only?: boolean | undefined;
299
+ } | undefined;
300
+ session_id?: string | undefined;
301
+ cookies?: Record<string, string> | undefined;
302
+ session_headers?: Record<string, string> | undefined;
303
+ sticky_session?: string | undefined;
304
+ sticky_session_ttl?: number | undefined;
305
+ actions?: ({
306
+ type: "wait";
307
+ milliseconds?: number | undefined;
308
+ selector?: string | undefined;
309
+ } | {
310
+ type: "wait_for";
311
+ selector: string;
312
+ timeout?: number | undefined;
313
+ } | {
314
+ type: "click";
315
+ selector: string;
316
+ } | {
317
+ type: "fill";
318
+ value: string;
319
+ selector: string;
320
+ } | {
321
+ type: "press";
322
+ key: string;
323
+ } | {
324
+ type: "scroll";
325
+ direction?: "down" | "up" | undefined;
326
+ amount?: number | undefined;
327
+ } | {
328
+ type: "infinite_scroll";
329
+ max_scrolls?: number | undefined;
330
+ delay?: number | undefined;
331
+ end_selector?: string | undefined;
332
+ } | {
333
+ type: "screenshot";
334
+ full_page?: boolean | undefined;
335
+ } | {
336
+ type: "evaluate";
337
+ script: string;
338
+ })[] | undefined;
66
339
  }, {
67
340
  url: string;
341
+ mode?: "auto" | "html" | "js" | "pdf" | "ocr" | undefined;
342
+ headers?: Record<string, string> | undefined;
343
+ method?: "POST" | "GET" | undefined;
68
344
  timeout?: number | undefined;
69
- method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | "HEAD" | undefined;
345
+ ocr?: boolean | undefined;
346
+ prefer_cost?: boolean | undefined;
347
+ prefer_speed?: boolean | undefined;
348
+ fail_fast?: boolean | undefined;
349
+ wait_for?: string | undefined;
350
+ screenshot?: boolean | undefined;
70
351
  body?: string | undefined;
71
- mode?: "auto" | "html" | "js" | "pdf" | "ocr" | undefined;
72
- formats?: ("content" | "text" | "html" | "json" | "json_v2" | "markdown" | "rag")[] | undefined;
352
+ content_type?: "application/json" | "application/x-www-form-urlencoded" | "text/plain" | "application/graphql" | undefined;
353
+ formats?: ("content" | "text" | "json" | "json_v2" | "html" | "markdown" | "rag" | "raw")[] | undefined;
73
354
  extraction_schema?: Record<string, unknown> | undefined;
74
355
  extraction_model?: string | null | undefined;
75
356
  extraction_provider?: "openai" | "anthropic" | "openrouter" | "groq" | undefined;
76
357
  extraction_prompt?: string | undefined;
77
358
  extraction_profile?: "auto" | "product" | "article" | "job_posting" | "faq" | "recipe" | "event" | "ecommerce_homepage" | "directory_listing" | undefined;
359
+ extraction_template?: "auto" | "product" | "article" | "job_posting" | "faq" | "recipe" | "event" | "ecommerce_homepage" | "directory_listing" | undefined;
360
+ template?: string | undefined;
361
+ evidence?: boolean | undefined;
362
+ filter_content?: boolean | undefined;
363
+ promote_schema_org?: boolean | undefined;
364
+ cache?: boolean | undefined;
365
+ cache_ttl?: number | undefined;
366
+ force_refresh?: boolean | undefined;
367
+ include_raw_html?: boolean | undefined;
368
+ max_response_bytes?: number | undefined;
369
+ wait_until?: string | undefined;
370
+ enable_scroll?: boolean | null | undefined;
371
+ pdf_format?: string | undefined;
372
+ ocr_language?: string | undefined;
373
+ sync_policy?: "auto" | "wait_until_deadline" | undefined;
374
+ embeddings?: {
375
+ enabled?: boolean | undefined;
376
+ model?: "text-embedding-3-small" | "text-embedding-3-large" | undefined;
377
+ chunk_size?: number | undefined;
378
+ chunk_overlap?: number | undefined;
379
+ } | undefined;
380
+ location?: {
381
+ country?: string | undefined;
382
+ language?: string | undefined;
383
+ } | undefined;
384
+ cost_controls?: {
385
+ force_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
386
+ max_tier?: "1" | "2" | "3" | "3.5" | "4" | undefined;
387
+ max_credits?: number | undefined;
388
+ prefer_cost?: boolean | undefined;
389
+ prefer_speed?: boolean | undefined;
390
+ fail_fast?: boolean | undefined;
391
+ time_budget?: number | undefined;
392
+ } | undefined;
393
+ estimate_first?: boolean | undefined;
78
394
  render_js?: boolean | "auto" | undefined;
79
395
  use_proxy?: boolean | undefined;
396
+ use_own_proxy?: boolean | undefined;
397
+ use_system_proxy?: boolean | undefined;
398
+ proxy_integration_id?: string | undefined;
80
399
  proxy_country?: string | undefined;
81
- wait_for?: string | undefined;
82
- max_response_bytes?: number | undefined;
83
- include_raw_html?: boolean | undefined;
84
- session_id?: string | undefined;
85
- cookies?: Record<string, string> | undefined;
86
- scroll_to_load?: boolean | undefined;
87
- scroll_count?: number | undefined;
400
+ wait_condition?: string | undefined;
88
401
  remove_cookie_banners?: boolean | undefined;
402
+ include_iframes?: boolean | undefined;
403
+ flatten_shadow_dom?: boolean | undefined;
404
+ skip_tls_verification?: boolean | undefined;
89
405
  block_images?: boolean | undefined;
90
- location?: {
91
- country?: string | undefined;
92
- language?: string | undefined;
406
+ scroll_to_load?: boolean | undefined;
407
+ scroll_count?: number | undefined;
408
+ generate_pdf?: boolean | undefined;
409
+ section_filter?: {
410
+ min_content_blocks?: number | undefined;
411
+ exclude_content_types?: string[] | undefined;
412
+ content_only?: boolean | undefined;
93
413
  } | undefined;
414
+ session_id?: string | undefined;
415
+ cookies?: Record<string, string> | undefined;
416
+ session_headers?: Record<string, string> | undefined;
417
+ sticky_session?: string | undefined;
418
+ sticky_session_ttl?: number | undefined;
419
+ actions?: ({
420
+ type: "wait";
421
+ milliseconds?: number | undefined;
422
+ selector?: string | undefined;
423
+ } | {
424
+ type: "wait_for";
425
+ selector: string;
426
+ timeout?: number | undefined;
427
+ } | {
428
+ type: "click";
429
+ selector: string;
430
+ } | {
431
+ type: "fill";
432
+ value: string;
433
+ selector: string;
434
+ } | {
435
+ type: "press";
436
+ key: string;
437
+ } | {
438
+ type: "scroll";
439
+ direction?: "down" | "up" | undefined;
440
+ amount?: number | undefined;
441
+ } | {
442
+ type: "infinite_scroll";
443
+ max_scrolls?: number | undefined;
444
+ delay?: number | undefined;
445
+ end_selector?: string | undefined;
446
+ } | {
447
+ type: "screenshot";
448
+ full_page?: boolean | undefined;
449
+ } | {
450
+ type: "evaluate";
451
+ script: string;
452
+ })[] | undefined;
94
453
  }>;
95
454
  export declare const scrapeDescription: string;
96
- export declare function handleScrape(client: AlterLabClient, params: z.infer<typeof scrapeSchema>): Promise<CallToolResult>;
455
+ type ScrapeParams = z.infer<typeof scrapeSchema>;
456
+ /**
457
+ * Translate flat tool parameters into the API's UnifiedScrapeRequest body.
458
+ * Exported for tests.
459
+ */
460
+ export declare function buildScrapeRequest(params: ScrapeParams): UnifiedScrapeRequest;
461
+ /**
462
+ * Cost-estimate request for the same scrape. The estimate endpoint prices from
463
+ * url, mode, method, formats and the cost-bearing advanced flags only.
464
+ */
465
+ export declare function buildEstimateRequest(params: {
466
+ url: string;
467
+ mode?: ScrapeParams["mode"];
468
+ method?: ScrapeParams["method"];
469
+ formats?: ScrapeParams["formats"];
470
+ render_js?: ScrapeParams["render_js"];
471
+ use_proxy?: boolean;
472
+ use_own_proxy?: boolean;
473
+ screenshot?: boolean;
474
+ generate_pdf?: boolean;
475
+ ocr?: boolean;
476
+ }): UnifiedScrapeRequest;
477
+ export declare function handleScrape(client: AlterLabClient, params: ScrapeParams): Promise<CallToolResult>;
478
+ export {};
97
479
  //# sourceMappingURL=scrape.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/tools/scrape.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;AAInD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsNvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAmB0B,CAAC;AAEzD,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,CA0CzB"}
1
+ {"version":3,"file":"scrape.d.ts","sourceRoot":"","sources":["../../src/tools/scrape.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;AAGnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAgBxD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqQvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAyCkE,CAAC;AAEjG,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAajD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,oBAAoB,CA6C7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GAAG,oBAAoB,CAiBvB;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CA+BzB"}