alterlab-mcp-server 1.6.1 → 1.8.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 (70) hide show
  1. package/README.md +7 -7
  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 +22 -1
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +56 -1
  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 +28 -6
  16. package/dist/errors.js.map +1 -1
  17. package/dist/format.d.ts +16 -2
  18. package/dist/format.d.ts.map +1 -1
  19. package/dist/format.js +154 -10
  20. package/dist/format.js.map +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +63 -1
  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 +8 -8
  28. package/dist/tools/batch.d.ts.map +1 -1
  29. package/dist/tools/batch.js +3 -2
  30. package/dist/tools/batch.js.map +1 -1
  31. package/dist/tools/crawl.d.ts +41 -0
  32. package/dist/tools/crawl.d.ts.map +1 -1
  33. package/dist/tools/crawl.js +76 -7
  34. package/dist/tools/crawl.js.map +1 -1
  35. package/dist/tools/estimate.d.ts +1 -1
  36. package/dist/tools/estimate.d.ts.map +1 -1
  37. package/dist/tools/estimate.js +6 -4
  38. package/dist/tools/estimate.js.map +1 -1
  39. package/dist/tools/extract.d.ts +5 -5
  40. package/dist/tools/extract.d.ts.map +1 -1
  41. package/dist/tools/extract.js +14 -12
  42. package/dist/tools/extract.js.map +1 -1
  43. package/dist/tools/map.d.ts +5 -2
  44. package/dist/tools/map.d.ts.map +1 -1
  45. package/dist/tools/map.js +12 -4
  46. package/dist/tools/map.js.map +1 -1
  47. package/dist/tools/scrape.d.ts +91 -9
  48. package/dist/tools/scrape.d.ts.map +1 -1
  49. package/dist/tools/scrape.js +201 -24
  50. package/dist/tools/scrape.js.map +1 -1
  51. package/dist/tools/screenshot.d.ts.map +1 -1
  52. package/dist/tools/screenshot.js +16 -7
  53. package/dist/tools/screenshot.js.map +1 -1
  54. package/dist/tools/search.d.ts +3 -0
  55. package/dist/tools/search.d.ts.map +1 -1
  56. package/dist/tools/search.js +12 -4
  57. package/dist/tools/search.js.map +1 -1
  58. package/dist/tools/simple_batch.d.ts +28 -0
  59. package/dist/tools/simple_batch.d.ts.map +1 -0
  60. package/dist/tools/simple_batch.js +141 -0
  61. package/dist/tools/simple_batch.js.map +1 -0
  62. package/dist/tools/usage.d.ts +7 -0
  63. package/dist/tools/usage.d.ts.map +1 -0
  64. package/dist/tools/usage.js +51 -0
  65. package/dist/tools/usage.js.map +1 -0
  66. package/dist/types.d.ts +99 -3
  67. package/dist/types.d.ts.map +1 -1
  68. package/dist/types.js.map +1 -1
  69. package/package.json +1 -1
  70. package/server.json +34 -2
@@ -5,41 +5,94 @@ exports.handleScrape = handleScrape;
5
5
  const zod_1 = require("zod");
6
6
  const errors_js_1 = require("../errors.js");
7
7
  const format_js_1 = require("../format.js");
8
+ const tierEnum = zod_1.z.enum(["1", "2", "3", "3.5", "4"]);
9
+ const costControlsSchema = zod_1.z
10
+ .object({
11
+ force_tier: tierEnum
12
+ .optional()
13
+ .describe("Pin execution to this exact tier, bypassing escalation " +
14
+ "(1=curl $0.0002, 2=http $0.0003, 3=stealth $0.002, 3.5=lightjs $0.0025, 4=browser $0.004). " +
15
+ "Use to guarantee a specific engine is used regardless of site difficulty."),
16
+ max_tier: tierEnum
17
+ .optional()
18
+ .describe("Cap automatic escalation at this tier. Scrape will not escalate beyond it even if lower tiers fail. " +
19
+ "Cannot exceed force_tier when both are set."),
20
+ max_credits: zod_1.z
21
+ .number()
22
+ .positive()
23
+ .optional()
24
+ .describe("Hard spending cap for this request in credits. Request fails if cost would exceed this."),
25
+ prefer_cost: zod_1.z
26
+ .boolean()
27
+ .optional()
28
+ .describe("Optimize for cost — try cheaper tiers first, accept lower success probability."),
29
+ prefer_speed: zod_1.z
30
+ .boolean()
31
+ .optional()
32
+ .describe("Optimize for speed — skip to the most reliable tier for this domain."),
33
+ fail_fast: zod_1.z
34
+ .boolean()
35
+ .optional()
36
+ .describe("Return error instead of escalating to more expensive tiers on failure."),
37
+ time_budget: zod_1.z
38
+ .number()
39
+ .min(5)
40
+ .max(300)
41
+ .optional()
42
+ .describe("Total wall-clock budget in seconds for the entire tier escalation sequence (5–300s). " +
43
+ "Escalation stops when remaining budget is insufficient for the next tier attempt."),
44
+ })
45
+ .optional()
46
+ .describe("Fine-grained cost and tier controls. Use to cap spending, pin a tier, or trade off cost vs speed. " +
47
+ "Prefer these over the top-level prefer_cost/prefer_speed/fail_fast fields for full control.");
8
48
  exports.scrapeSchema = zod_1.z.object({
9
49
  url: zod_1.z.string().url().describe("URL to scrape"),
10
50
  method: zod_1.z
11
- .enum(["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD"])
51
+ .enum(["GET", "POST"])
12
52
  .default("GET")
13
53
  .describe("HTTP method for the request. Default GET (standard page scraping). " +
14
- "Use POST for GraphQL endpoints, form submissions, REST API calls. " +
15
- "Use PUT/PATCH for REST API updates. " +
16
- "When using POST/PUT/PATCH, provide body with the request payload."),
54
+ "Use POST for GraphQL endpoints, form submissions, and REST API calls. " +
55
+ "When using POST, provide body with the request payload. POST costs 1.5x base tier price."),
17
56
  body: zod_1.z
18
57
  .string()
19
58
  .optional()
20
- .describe("Request body for POST/PUT/PATCH requests. " +
59
+ .describe("Request body for POST requests. " +
21
60
  "For GraphQL: JSON string with 'query' and optional 'variables' fields " +
22
61
  '(e.g., \'{"query": "{ user { id name } }"}\').' +
23
62
  "For REST APIs: JSON-encoded payload string. " +
24
63
  "For form submissions: URL-encoded key=value pairs (e.g., 'name=Alice&email=alice@example.com'). " +
25
- "Omit for GET/HEAD/DELETE requests."),
64
+ "Omit for GET requests."),
65
+ content_type: zod_1.z
66
+ .enum([
67
+ "application/json",
68
+ "application/x-www-form-urlencoded",
69
+ "text/plain",
70
+ "application/graphql",
71
+ ])
72
+ .optional()
73
+ .describe("Content-Type header for the request body. " +
74
+ "Defaults to 'application/json' when body is provided. " +
75
+ "Use 'application/graphql' for raw GraphQL queries. " +
76
+ "Use 'application/x-www-form-urlencoded' for HTML form submissions. " +
77
+ "Requires body to be set."),
26
78
  mode: zod_1.z
27
79
  .enum(["auto", "html", "js", "pdf", "ocr"])
28
80
  .default("auto")
29
81
  .describe("Scraping mode: auto (recommended), html, js (headless browser), pdf, or ocr"),
30
82
  formats: zod_1.z
31
- .array(zod_1.z.enum(["text", "json", "json_v2", "html", "markdown", "rag", "content"]))
83
+ .array(zod_1.z.enum(["text", "json", "json_v2", "html", "markdown", "rag", "raw", "content"]))
32
84
  .default(["markdown"])
33
85
  .describe("Output formats. 'markdown' is best for LLM consumption. " +
34
86
  "'json_v2' returns a structured section tree (headings + content blocks). " +
35
87
  "'rag' returns chunked text optimized for retrieval-augmented generation. " +
88
+ "'raw' returns the raw response body without extraction. " +
36
89
  "'content' returns body_markdown + content_hash + images + links for AI/KB pipelines."),
37
90
  extraction_schema: zod_1.z
38
91
  .record(zod_1.z.unknown())
39
92
  .optional()
40
93
  .describe("JSON schema for structured extraction. " +
41
94
  "The API extracts fields matching this schema from the scraped page using LLM. " +
42
- "Result is returned in content.json (add 'json' to formats) and in the top-level filtered_content field. " +
95
+ "Result is returned in extraction_result. " +
43
96
  'Example: { "title": "string", "price": "number", "in_stock": "boolean" }'),
44
97
  extraction_model: zod_1.z
45
98
  .string()
@@ -78,6 +131,36 @@ exports.scrapeSchema = zod_1.z.object({
78
131
  "faq: FAQ entries. recipe: recipe ingredients and instructions. " +
79
132
  "event: event details. ecommerce_homepage: homepage product listings. " +
80
133
  "directory_listing: directory/listing page entries."),
134
+ template: zod_1.z
135
+ .string()
136
+ .optional()
137
+ .describe("Named extraction template to apply to the scrape result. " +
138
+ "Accepts standard template names (e.g. 'product', 'article', 'job_posting') " +
139
+ "or a custom template name registered in your account. " +
140
+ "When provided, routes the request through template-based extraction."),
141
+ evidence: zod_1.z
142
+ .boolean()
143
+ .optional()
144
+ .describe("Include provenance/evidence snippets alongside extracted fields. " +
145
+ "Each extracted value will include the source text passage it was derived from. " +
146
+ "Requires extraction_schema or extraction_prompt."),
147
+ filter_content: zod_1.z
148
+ .boolean()
149
+ .optional()
150
+ .describe("Apply quality filtering to extracted content. When false (default), returns all parsed content " +
151
+ "without quality thresholds (lossless mode). When true, filters low-quality boilerplate."),
152
+ cache: zod_1.z
153
+ .boolean()
154
+ .optional()
155
+ .describe("Enable caching for this request. When true, repeat requests with identical parameters may " +
156
+ "return cached results. Only use for idempotent requests (GET pages, read-only POSTs)."),
157
+ cache_ttl: zod_1.z
158
+ .number()
159
+ .min(60)
160
+ .max(86400)
161
+ .optional()
162
+ .describe("Cache TTL in seconds (60–86400). Defaults to 3600 (60 min) when cache=true. " +
163
+ "Requires cache=true."),
81
164
  render_js: zod_1.z
82
165
  .union([zod_1.z.boolean(), zod_1.z.literal("auto")])
83
166
  .default(false)
@@ -147,6 +230,11 @@ exports.scrapeSchema = zod_1.z.object({
147
230
  .boolean()
148
231
  .default(true)
149
232
  .describe("Remove cookie consent banners from HTML before content extraction (free, enabled by default)"),
233
+ block_images: zod_1.z
234
+ .boolean()
235
+ .default(false)
236
+ .describe("Block image downloads during browser rendering. " +
237
+ "Reduces proxy bandwidth and speeds up scrapes. Only effective with render_js=true."),
150
238
  location: zod_1.z
151
239
  .object({
152
240
  country: zod_1.z
@@ -166,32 +254,104 @@ exports.scrapeSchema = zod_1.z.object({
166
254
  .optional()
167
255
  .describe("Geo-targeting parameters for localized content scraping. " +
168
256
  "Controls proxy country routing, Accept-Language header, and browser locale."),
257
+ prefer_cost: zod_1.z
258
+ .boolean()
259
+ .optional()
260
+ .describe("Optimize for lowest cost — try cheaper tiers first before escalating. " +
261
+ "Best for non-time-sensitive scrapes where minimizing credit spend matters. " +
262
+ "Mutually exclusive intent with prefer_speed."),
263
+ prefer_speed: zod_1.z
264
+ .boolean()
265
+ .optional()
266
+ .describe("Optimize for speed — skip to a reliable tier immediately instead of escalating from Tier 1. " +
267
+ "Best for time-sensitive scrapes where latency matters more than cost. " +
268
+ "Mutually exclusive intent with prefer_cost."),
269
+ fail_fast: zod_1.z
270
+ .boolean()
271
+ .optional()
272
+ .describe("Fail immediately if the page requires an expensive tier (browser/captcha) instead of auto-escalating. " +
273
+ "Use this to protect against unexpected credit spend on protected pages. " +
274
+ "Returns an error with the required tier instead of automatically upgrading."),
275
+ force_refresh: zod_1.z
276
+ .boolean()
277
+ .optional()
278
+ .describe("Bypass the cache and always fetch a fresh copy of the page. " +
279
+ "Use when you need real-time content and a cached result would be stale."),
280
+ promote_schema_org: zod_1.z
281
+ .boolean()
282
+ .optional()
283
+ .describe("Use Schema.org JSON-LD/Microdata as the primary structured-data source when present. " +
284
+ "Promotes machine-readable metadata embedded in the page over LLM extraction. " +
285
+ "Most effective on e-commerce, recipe, and news article pages."),
286
+ cost_controls: costControlsSchema,
287
+ estimate_first: zod_1.z
288
+ .boolean()
289
+ .default(false)
290
+ .describe("Run a cost estimate before scraping and include it in the response. " +
291
+ "Adds one lightweight API call (~50ms) with no credit charge. " +
292
+ "The estimated tier, cost, and confidence are prepended to the scrape result. " +
293
+ "Useful for unfamiliar or potentially expensive sites — see cost before committing."),
169
294
  });
170
- exports.scrapeDescription = "Scrape a URL and return its content as markdown, text, HTML, JSON, or structured sections. " +
171
- "Automatically handles anti-bot protection with tier escalation. " +
295
+ exports.scrapeDescription = "Get data from any website, bypass Cloudflare and anti-bot protection, scrape JavaScript-rendered pages, " +
296
+ "or fetch content from dynamic single-page apps. " +
297
+ "Turn any URL into clean, LLM-ready markdown — or get text, HTML, JSON, and structured sections. " +
298
+ "Automatically bypasses anti-bot protection (Cloudflare, Akamai, DataDome, PerimeterX, hCaptcha) " +
299
+ "with intelligent 4-tier escalation — no manual configuration needed. " +
300
+ "Cost-efficient: starts at $0.0001/page for simple sites, auto-escalates only when protection is detected. " +
172
301
  "Returns markdown by default — optimized for LLM context. " +
173
- "Supports GET (default) and POST/PUT/PATCH/DELETE/HEAD via the method parameter. " +
302
+ "Supports GET (default) and POST via the method parameter. " +
174
303
  "Use method='POST' with body for GraphQL APIs, REST endpoints, and form submissions. " +
175
- "For GraphQL: set body='{\"query\": \"{ ... }\"}' and method='POST'. " +
176
- "Use render_js=true for JavaScript-heavy sites (React, Angular, SPAs). " +
304
+ "Use content_type to set the POST body Content-Type (json, urlencoded, graphql, plain). " +
305
+ "Use render_js=true to scrape dynamic pages, JavaScript-heavy sites (React, Angular, Vue, SPAs). " +
177
306
  "Use render_js='auto' for mixed sites to detect JS needs per-page (saves 30-60%). " +
178
307
  "Use use_proxy=true for geo-restricted or heavily protected sites. " +
179
308
  "Use formats=['json_v2'] for a structured section tree (headings + content blocks). " +
180
309
  "Use formats=['rag'] for chunked text optimized for RAG pipelines. " +
310
+ "Use formats=['raw'] for the raw response body without extraction. " +
181
311
  "Use formats=['content'] for AI/KB pipelines — returns body_markdown, content_hash, images, links. " +
182
- "Use extraction_schema to extract structured fields from the page using LLM (add formats=['json'] to retrieve result in content.json, also available in filtered_content). " +
183
- "Use extraction_prompt for natural language extraction instructions (mutually exclusive with extraction_schema). " +
184
- "Use extraction_profile to select a pre-built extraction template (product, article, job_posting, etc.). " +
185
- "Use extraction_provider to select a specific BYOK LLM provider (openai, anthropic, openrouter, groq). " +
186
- "Supports authenticated scraping via session_id (stored session) or inline cookies. " +
187
- "Use scroll_to_load=true for infinite-scroll pages that lazy-load content. " +
188
- "Use location.country to scrape geo-targeted content.";
312
+ "Use extraction_schema to extract structured fields from the page using LLM. " +
313
+ "Use extraction_prompt for natural language extraction instructions. " +
314
+ "Use extraction_profile for pre-built templates (product, article, job_posting, etc.). " +
315
+ "Use evidence=true to include source passages alongside extracted fields. " +
316
+ "Use cache=true and cache_ttl to enable response caching. " +
317
+ "Use cost_controls to cap spending, pin a tier, or set a time budget. " +
318
+ "Supports authenticated scraping via session_id or inline cookies. " +
319
+ "Use scroll_to_load=true for infinite-scroll pages. " +
320
+ "Use location.country to scrape geo-targeted content from any region. " +
321
+ "Use prefer_cost=true to minimize credit spend (starts from cheapest tier). " +
322
+ "Use prefer_speed=true to skip to a fast reliable tier immediately. " +
323
+ "Use fail_fast=true to error instead of auto-escalating to expensive tiers. " +
324
+ "Use force_refresh=true to bypass cache and always fetch live content. " +
325
+ "Use promote_schema_org=true to prefer Schema.org JSON-LD over LLM extraction on structured pages. " +
326
+ "Use estimate_first=true to run a free cost estimate before scraping (prepended to the result).";
189
327
  async function handleScrape(client, params) {
328
+ // Optional pre-flight cost estimate — runs before the scrape, no credits charged.
329
+ // On failure, degrade gracefully: prepend a warning and continue with the scrape.
330
+ let estimatePrefix = "";
331
+ if (params.estimate_first) {
332
+ try {
333
+ const estimate = await client.estimate({
334
+ url: params.url,
335
+ mode: params.mode,
336
+ formats: params.formats,
337
+ advanced: {
338
+ render_js: typeof params.render_js === "boolean" ? params.render_js : false,
339
+ use_proxy: params.use_proxy,
340
+ },
341
+ });
342
+ estimatePrefix = (0, format_js_1.formatEstimateInline)(estimate) + "\n";
343
+ }
344
+ catch {
345
+ estimatePrefix =
346
+ "> **Pre-flight estimate**: unavailable (estimate API call failed — proceeding with scrape).\n\n";
347
+ }
348
+ }
190
349
  try {
191
350
  const response = await client.scrape({
192
351
  url: params.url,
193
352
  method: params.method,
194
353
  body: params.body,
354
+ content_type: params.content_type,
195
355
  mode: params.mode,
196
356
  formats: params.formats,
197
357
  sync: true,
@@ -207,6 +367,17 @@ async function handleScrape(client, params) {
207
367
  extraction_model: params.extraction_model ?? undefined,
208
368
  extraction_provider: params.extraction_provider,
209
369
  extraction_profile: params.extraction_profile,
370
+ template: params.template,
371
+ evidence: params.evidence,
372
+ filter_content: params.filter_content,
373
+ cache: params.cache,
374
+ cache_ttl: params.cache_ttl,
375
+ prefer_cost: params.prefer_cost,
376
+ prefer_speed: params.prefer_speed,
377
+ fail_fast: params.fail_fast,
378
+ force_refresh: params.force_refresh,
379
+ promote_schema_org: params.promote_schema_org,
380
+ cost_controls: params.cost_controls,
210
381
  advanced: {
211
382
  render_js: params.render_js,
212
383
  use_proxy: params.use_proxy,
@@ -215,17 +386,23 @@ async function handleScrape(client, params) {
215
386
  scroll_to_load: params.scroll_to_load,
216
387
  scroll_count: params.scroll_count,
217
388
  remove_cookie_banners: params.remove_cookie_banners,
389
+ block_images: params.block_images,
218
390
  },
219
391
  });
392
+ const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
220
393
  return {
221
- content: [{ type: "text", text: (0, format_js_1.formatScrapeResponse)(response) }],
394
+ content: [{ type: "text", text: estimatePrefix + (0, format_js_1.formatScrapeResponse)(response) + balanceWarningSuffix }],
222
395
  };
223
396
  }
224
397
  catch (error) {
225
- if (isApiError(error)) {
226
- return (0, errors_js_1.formatErrorResult)(error, { url: params.url });
398
+ const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
399
+ const result = isApiError(error)
400
+ ? (0, errors_js_1.formatErrorResult)(error, { url: params.url })
401
+ : (0, errors_js_1.formatErrorResult)(error, { url: params.url });
402
+ if (balanceWarningSuffix && result.content[0]?.type === "text") {
403
+ result.content[0].text += balanceWarningSuffix;
227
404
  }
228
- return (0, errors_js_1.formatErrorResult)(error, { url: params.url });
405
+ return result;
229
406
  }
230
407
  }
231
408
  function isApiError(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/tools/scrape.ts"],"names":[],"mappings":";;;AA4OA,oCA4CC;AAxRD,6BAAwB;AAGxB,4CAAgE;AAChE,4CAAoD;AAEvC,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC/C,MAAM,EAAE,OAAC;SACN,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SACvD,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,qEAAqE;QACnE,oEAAoE;QACpE,sCAAsC;QACtC,mEAAmE,CACtE;IACH,IAAI,EAAE,OAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4CAA4C;QAC1C,wEAAwE;QACxE,gDAAgD;QAChD,8CAA8C;QAC9C,kGAAkG;QAClG,oCAAoC,CACvC;IACH,IAAI,EAAE,OAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SAC1C,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,6EAA6E,CAC9E;IACH,OAAO,EAAE,OAAC;SACP,KAAK,CACJ,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAC1E;SACA,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;SACrB,QAAQ,CACP,0DAA0D;QACxD,2EAA2E;QAC3E,2EAA2E;QAC3E,sFAAsF,CACzF;IACH,iBAAiB,EAAE,OAAC;SACjB,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CACP,yCAAyC;QACvC,gFAAgF;QAChF,0GAA0G;QAC1G,0EAA0E,CAC7E;IACH,gBAAgB,EAAE,OAAC;SAChB,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CACP,6HAA6H;QAC3H,4EAA4E,CAC/E;IACH,mBAAmB,EAAE,OAAC;SACnB,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;SACnD,QAAQ,EAAE;SACV,QAAQ,CACP,kFAAkF;QAChF,oFAAoF;QACpF,yEAAyE,CAC5E;IACH,iBAAiB,EAAE,OAAC;SACjB,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,6CAA6C;QAC7C,+DAA+D,CAClE;IACH,kBAAkB,EAAE,OAAC;SAClB,IAAI,CAAC;QACJ,MAAM;QACN,SAAS;QACT,SAAS;QACT,aAAa;QACb,KAAK;QACL,QAAQ;QACR,OAAO;QACP,oBAAoB;QACpB,mBAAmB;KACpB,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,wCAAwC;QACtC,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,uEAAuE;QACvE,oDAAoD,CACvD;IACH,SAAS,EAAE,OAAC;SACT,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,EAAE,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,gGAAgG;QAC9F,oFAAoF;QACpF,0EAA0E,CAC7E;IACH,SAAS,EAAE,OAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,oFAAoF,CACrF;IACH,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,gFAAgF,CACjF;IACH,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4EAA4E,CAC7E;IACH,OAAO,EAAE,OAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,oCAAoC,CAAC;IACjD,kBAAkB,EAAE,OAAC;SAClB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,UAAU,CAAC;SACf,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CACP,+CAA+C;QAC7C,iFAAiF;QACjF,6EAA6E;QAC7E,+EAA+E,CAClF;IACH,gBAAgB,EAAE,OAAC;SAChB,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,UAAU,EAAE,OAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,uDAAuD;QACrD,yDAAyD;QACzD,0DAA0D,CAC7D;IACH,OAAO,EAAE,OAAC;SACP,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CACP,+DAA+D;QAC7D,uCAAuC;QACvC,sEAAsE,CACzE;IACH,cAAc,EAAE,OAAC;SACd,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,mEAAmE;QACjE,wFAAwF,CAC3F;IACH,YAAY,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E,CAC/E;IACH,qBAAqB,EAAE,OAAC;SACrB,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,8FAA8F,CAC/F;IACH,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC;QACN,OAAO,EAAE,OAAC;aACP,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,8EAA8E;YAC5E,0DAA0D,CAC7D;QACH,QAAQ,EAAE,OAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,oDAAoD;YAClD,qDAAqD,CACxD;KACJ,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,2DAA2D;QACzD,6EAA6E,CAChF;CACJ,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAC5B,6FAA6F;IAC7F,kEAAkE;IAClE,2DAA2D;IAC3D,kFAAkF;IAClF,sFAAsF;IACtF,sEAAsE;IACtE,wEAAwE;IACxE,mFAAmF;IACnF,oEAAoE;IACpE,qFAAqF;IACrF,oEAAoE;IACpE,oGAAoG;IACpG,4KAA4K;IAC5K,kHAAkH;IAClH,0GAA0G;IAC1G,wGAAwG;IACxG,qFAAqF;IACrF,4EAA4E;IAC5E,sDAAsD,CAAC;AAElD,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,MAAoC;IAEpC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS;YACtD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,QAAQ,EAAE;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC7C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;aACpD;SACF,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,gCAAoB,EAAC,QAAQ,CAAC,EAAE,CAAC;SAClE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAA,6BAAiB,EAAC,KAAc,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAkB,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"scrape.js","sourceRoot":"","sources":["../../src/tools/scrape.ts"],"names":[],"mappings":";;;AAkaA,oCAmFC;AArfD,6BAAwB;AAGxB,4CAAgE;AAChE,4CAAgG;AAEhG,MAAM,QAAQ,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;AAErD,MAAM,kBAAkB,GAAG,OAAC;KACzB,MAAM,CAAC;IACN,UAAU,EAAE,QAAQ;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,yDAAyD;QACvD,6FAA6F;QAC7F,2EAA2E,CAC9E;IACH,QAAQ,EAAE,QAAQ;SACf,QAAQ,EAAE;SACV,QAAQ,CACP,sGAAsG;QACpG,6CAA6C,CAChD;IACH,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,yFAAyF,CAC1F;IACH,WAAW,EAAE,OAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,gFAAgF,CACjF;IACH,YAAY,EAAE,OAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,sEAAsE,CACvE;IACH,SAAS,EAAE,OAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE,CACzE;IACH,WAAW,EAAE,OAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF;QACrF,mFAAmF,CACtF;CACJ,CAAC;KACD,QAAQ,EAAE;KACV,QAAQ,CACP,oGAAoG;IAClG,6FAA6F,CAChG,CAAC;AAES,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;IAC/C,MAAM,EAAE,OAAC;SACN,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SACrB,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,qEAAqE;QACnE,wEAAwE;QACxE,0FAA0F,CAC7F;IACH,IAAI,EAAE,OAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,kCAAkC;QAChC,wEAAwE;QACxE,gDAAgD;QAChD,8CAA8C;QAC9C,kGAAkG;QAClG,wBAAwB,CAC3B;IACH,YAAY,EAAE,OAAC;SACZ,IAAI,CAAC;QACJ,kBAAkB;QAClB,mCAAmC;QACnC,YAAY;QACZ,qBAAqB;KACtB,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,4CAA4C;QAC1C,wDAAwD;QACxD,qDAAqD;QACrD,qEAAqE;QACrE,0BAA0B,CAC7B;IACH,IAAI,EAAE,OAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;SAC1C,OAAO,CAAC,MAAM,CAAC;SACf,QAAQ,CACP,6EAA6E,CAC9E;IACH,OAAO,EAAE,OAAC;SACP,KAAK,CACJ,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CACjF;SACA,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC;SACrB,QAAQ,CACP,0DAA0D;QACxD,2EAA2E;QAC3E,2EAA2E;QAC3E,0DAA0D;QAC1D,sFAAsF,CACzF;IACH,iBAAiB,EAAE,OAAC;SACjB,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC;SACnB,QAAQ,EAAE;SACV,QAAQ,CACP,yCAAyC;QACvC,gFAAgF;QAChF,2CAA2C;QAC3C,0EAA0E,CAC7E;IACH,gBAAgB,EAAE,OAAC;SAChB,MAAM,EAAE;SACR,OAAO,EAAE;SACT,QAAQ,CACP,6HAA6H;QAC3H,4EAA4E,CAC/E;IACH,mBAAmB,EAAE,OAAC;SACnB,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;SACnD,QAAQ,EAAE;SACV,QAAQ,CACP,kFAAkF;QAChF,oFAAoF;QACpF,yEAAyE,CAC5E;IACH,iBAAiB,EAAE,OAAC;SACjB,MAAM,EAAE;SACR,GAAG,CAAC,IAAI,CAAC;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,2FAA2F;QACzF,6CAA6C;QAC7C,+DAA+D,CAClE;IACH,kBAAkB,EAAE,OAAC;SAClB,IAAI,CAAC;QACJ,MAAM;QACN,SAAS;QACT,SAAS;QACT,aAAa;QACb,KAAK;QACL,QAAQ;QACR,OAAO;QACP,oBAAoB;QACpB,mBAAmB;KACpB,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,wCAAwC;QACtC,mEAAmE;QACnE,sEAAsE;QACtE,iEAAiE;QACjE,uEAAuE;QACvE,oDAAoD,CACvD;IACH,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,2DAA2D;QACzD,6EAA6E;QAC7E,wDAAwD;QACxD,sEAAsE,CACzE;IACH,QAAQ,EAAE,OAAC;SACR,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,mEAAmE;QACjE,iFAAiF;QACjF,kDAAkD,CACrD;IACH,cAAc,EAAE,OAAC;SACd,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,iGAAiG;QAC/F,yFAAyF,CAC5F;IACH,KAAK,EAAE,OAAC;SACL,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,4FAA4F;QAC1F,uFAAuF,CAC1F;IACH,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,KAAK,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E;QAC5E,sBAAsB,CACzB;IACH,SAAS,EAAE,OAAC;SACT,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,EAAE,EAAE,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACvC,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,gGAAgG;QAC9F,oFAAoF;QACpF,0EAA0E,CAC7E;IACH,SAAS,EAAE,OAAC;SACT,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,oFAAoF,CACrF;IACH,aAAa,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,gFAAgF,CACjF;IACH,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,4EAA4E,CAC7E;IACH,OAAO,EAAE,OAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,GAAG,CAAC;SACR,OAAO,CAAC,EAAE,CAAC;SACX,QAAQ,CAAC,oCAAoC,CAAC;IACjD,kBAAkB,EAAE,OAAC;SAClB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,UAAU,CAAC;SACf,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,EAAE;SACV,QAAQ,CACP,+CAA+C;QAC7C,iFAAiF;QACjF,6EAA6E;QAC7E,+EAA+E,CAClF;IACH,gBAAgB,EAAE,OAAC;SAChB,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,UAAU,EAAE,OAAC;SACV,MAAM,EAAE;SACR,IAAI,EAAE;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,uDAAuD;QACrD,yDAAyD;QACzD,0DAA0D,CAC7D;IACH,OAAO,EAAE,OAAC;SACP,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,QAAQ,EAAE;SACV,QAAQ,CACP,+DAA+D;QAC7D,uCAAuC;QACvC,sEAAsE,CACzE;IACH,cAAc,EAAE,OAAC;SACd,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,mEAAmE;QACjE,wFAAwF,CAC3F;IACH,YAAY,EAAE,OAAC;SACZ,MAAM,EAAE;SACR,GAAG,EAAE;SACL,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;SACP,OAAO,CAAC,CAAC,CAAC;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E,CAC/E;IACH,qBAAqB,EAAE,OAAC;SACrB,OAAO,EAAE;SACT,OAAO,CAAC,IAAI,CAAC;SACb,QAAQ,CACP,8FAA8F,CAC/F;IACH,YAAY,EAAE,OAAC;SACZ,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,kDAAkD;QAChD,oFAAoF,CACvF;IACH,QAAQ,EAAE,OAAC;SACR,MAAM,CAAC;QACN,OAAO,EAAE,OAAC;aACP,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,CAAC;aACT,QAAQ,EAAE;aACV,QAAQ,CACP,8EAA8E;YAC5E,0DAA0D,CAC7D;QACH,QAAQ,EAAE,OAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,oDAAoD;YAClD,qDAAqD,CACxD;KACJ,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,2DAA2D;QACzD,6EAA6E,CAChF;IACH,WAAW,EAAE,OAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,wEAAwE;QACtE,6EAA6E;QAC7E,8CAA8C,CACjD;IACH,YAAY,EAAE,OAAC;SACZ,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,8FAA8F;QAC5F,wEAAwE;QACxE,6CAA6C,CAChD;IACH,SAAS,EAAE,OAAC;SACT,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,wGAAwG;QACtG,0EAA0E;QAC1E,6EAA6E,CAChF;IACH,aAAa,EAAE,OAAC;SACb,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,8DAA8D;QAC5D,yEAAyE,CAC5E;IACH,kBAAkB,EAAE,OAAC;SAClB,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,uFAAuF;QACrF,+EAA+E;QAC/E,+DAA+D,CAClE;IACH,aAAa,EAAE,kBAAkB;IACjC,cAAc,EAAE,OAAC;SACd,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CACP,sEAAsE;QACpE,+DAA+D;QAC/D,+EAA+E;QAC/E,oFAAoF,CACvF;CACJ,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAC5B,0GAA0G;IAC1G,kDAAkD;IAClD,kGAAkG;IAClG,kGAAkG;IAClG,uEAAuE;IACvE,4GAA4G;IAC5G,2DAA2D;IAC3D,4DAA4D;IAC5D,sFAAsF;IACtF,yFAAyF;IACzF,kGAAkG;IAClG,mFAAmF;IACnF,oEAAoE;IACpE,qFAAqF;IACrF,oEAAoE;IACpE,oEAAoE;IACpE,oGAAoG;IACpG,8EAA8E;IAC9E,sEAAsE;IACtE,wFAAwF;IACxF,2EAA2E;IAC3E,2DAA2D;IAC3D,uEAAuE;IACvE,oEAAoE;IACpE,qDAAqD;IACrD,uEAAuE;IACvE,6EAA6E;IAC7E,qEAAqE;IACrE,6EAA6E;IAC7E,wEAAwE;IACxE,oGAAoG;IACpG,gGAAgG,CAAC;AAE5F,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,MAAoC;IAEpC,kFAAkF;IAClF,kFAAkF;IAClF,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACrC,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE;oBACR,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;oBAC3E,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B;aACF,CAAC,CAAC;YACH,cAAc,GAAG,IAAA,gCAAoB,EAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,cAAc;gBACZ,iGAAiG,CAAC;QACtG,CAAC;IACH,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,SAAS;YACtD,mBAAmB,EAAE,MAAM,CAAC,mBAAmB;YAC/C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,QAAQ,EAAE;gBACR,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAC7C,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;gBACnD,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;SACF,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,IAAA,gCAAoB,EAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClF,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,GAAG,IAAA,gCAAoB,EAAC,QAAQ,CAAC,GAAG,oBAAoB,EAAE,CAAC;SAC1G,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,oBAAoB,GAAG,IAAA,gCAAoB,EAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;YAC9B,CAAC,CAAC,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;YAC/C,CAAC,CAAC,IAAA,6BAAiB,EAAC,KAAc,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3D,IAAI,oBAAoB,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,CAAoC,CAAC,IAAI,IAAI,oBAAoB,CAAC;QACrF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAkB,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.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,gBAAgB;;;;;;;;;;;;EAU3B,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAG+B,CAAC;AAElE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CA8DzB"}
1
+ {"version":3,"file":"screenshot.d.ts","sourceRoot":"","sources":["../../src/tools/screenshot.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;AAKnD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EAU3B,CAAC;AAEH,eAAO,MAAM,qBAAqB,QAKmD,CAAC;AAEtF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACvC,OAAO,CAAC,cAAc,CAAC,CAoEzB"}
@@ -5,6 +5,7 @@ exports.handleScreenshot = handleScreenshot;
5
5
  const zod_1 = require("zod");
6
6
  const errors_js_1 = require("../errors.js");
7
7
  const types_js_1 = require("../types.js");
8
+ const format_js_1 = require("../format.js");
8
9
  exports.screenshotSchema = zod_1.z.object({
9
10
  url: zod_1.z.string().url().describe("URL to take a screenshot of"),
10
11
  wait_for: zod_1.z
@@ -16,9 +17,11 @@ exports.screenshotSchema = zod_1.z.object({
16
17
  .default("networkidle")
17
18
  .describe("Page load event to wait for before screenshot"),
18
19
  });
19
- exports.screenshotDescription = "Take a full-page screenshot of a URL. Returns the screenshot as a PNG image. " +
20
- "Uses headless browser rendering. " +
21
- "Use wait_for to wait for a specific element before capturing.";
20
+ exports.screenshotDescription = "Take a screenshot of any website, capture a webpage as an image, or snapshot a URL visually. " +
21
+ "Works on anti-bot protected sites (Cloudflare, DataDome, etc.) — uses the same bypass engine as alterlab_scrape. " +
22
+ "Returns a full-page PNG screenshot directly in the conversation — rendered with a real headless browser. " +
23
+ "Use wait_for to wait for a specific element before capturing. " +
24
+ "Use wait_until to control page load timing (networkidle, domcontentloaded, load).";
22
25
  async function handleScreenshot(client, params) {
23
26
  try {
24
27
  // Screenshot requires render_js=true and screenshot=true
@@ -53,6 +56,7 @@ async function handleScreenshot(client, params) {
53
56
  const base64 = await client.fetchScreenshotAsBase64(response.screenshot_url);
54
57
  const tier = response.billing.tier_used;
55
58
  const tierName = types_js_1.TIER_NAMES[tier] || tier;
59
+ const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
56
60
  return {
57
61
  content: [
58
62
  {
@@ -63,16 +67,21 @@ async function handleScreenshot(client, params) {
63
67
  {
64
68
  type: "text",
65
69
  text: `Screenshot of ${response.url}\n` +
66
- `Tier: ${tierName} | Time: ${response.response_time_ms}ms`,
70
+ `Tier: ${tierName} | Time: ${response.response_time_ms}ms` +
71
+ balanceWarningSuffix,
67
72
  },
68
73
  ],
69
74
  };
70
75
  }
71
76
  catch (error) {
72
- if (isApiError(error)) {
73
- return (0, errors_js_1.formatErrorResult)(error, { url: params.url });
77
+ const balanceWarningSuffix = (0, format_js_1.formatBalanceWarning)(client.getLastBalanceWarning());
78
+ const result = isApiError(error)
79
+ ? (0, errors_js_1.formatErrorResult)(error, { url: params.url })
80
+ : (0, errors_js_1.formatErrorResult)(error, { url: params.url });
81
+ if (balanceWarningSuffix && result.content[0]?.type === "text") {
82
+ result.content[0].text += balanceWarningSuffix;
74
83
  }
75
- return (0, errors_js_1.formatErrorResult)(error, { url: params.url });
84
+ return result;
76
85
  }
77
86
  }
78
87
  function isApiError(error) {
@@ -1 +1 @@
1
- {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":";;;AAuBA,4CAiEC;AAxFD,6BAAwB;AAGxB,4CAAgE;AAChE,0CAAyC;AAE5B,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IAC7D,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,UAAU,EAAE,OAAC;SACV,IAAI,CAAC,CAAC,aAAa,EAAE,kBAAkB,EAAE,MAAM,CAAC,CAAC;SACjD,OAAO,CAAC,aAAa,CAAC;SACtB,QAAQ,CAAC,+CAA+C,CAAC;CAC7D,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAChC,+EAA+E;IAC/E,mCAAmC;IACnC,+DAA+D,CAAC;AAE3D,KAAK,UAAU,gBAAgB,CACpC,MAAsB,EACtB,MAAwC;IAExC,IAAI,CAAC;QACH,yDAAyD;QACzD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,QAAQ,EAAE;gBACR,SAAS,EAAE,IAAI;gBACf,UAAU,EAAE,IAAI;aACjB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,oCAAoC,MAAM,CAAC,GAAG,OAAO;4BACrD,4CAA4C;4BAC5C,wBAAwB;4BACxB,iDAAiD;4BACjD,uCAAuC;qBAC1C;iBACF;aACF,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,uBAAuB,CACjD,QAAQ,CAAC,cAAc,CACxB,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;QACxC,MAAM,QAAQ,GAAG,qBAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QAE1C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,MAAM;oBACZ,QAAQ,EAAE,WAAW;iBACtB;gBACD;oBACE,IAAI,EAAE,MAAe;oBACrB,IAAI,EACF,iBAAiB,QAAQ,CAAC,GAAG,IAAI;wBACjC,SAAS,QAAQ,YAAY,QAAQ,CAAC,gBAAgB,IAAI;iBAC7D;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,IAAA,6BAAiB,EAAC,KAAc,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAkB,CAAC,MAAM,KAAK,QAAQ,CAC/C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"screenshot.js","sourceRoot":"","sources":["../../src/tools/screenshot.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare const searchSchema: z.ZodObject<{
12
12
  scrape_results: z.ZodDefault<z.ZodBoolean>;
13
13
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<["text", "json", "json_v2", "html", "markdown"]>, "many">>;
14
14
  extraction_schema: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
15
+ safe_search: z.ZodOptional<z.ZodBoolean>;
15
16
  }, "strip", z.ZodTypeAny, {
16
17
  query: string;
17
18
  num_results: number;
@@ -23,6 +24,7 @@ export declare const searchSchema: z.ZodObject<{
23
24
  language?: string | undefined;
24
25
  domain?: string | undefined;
25
26
  time_range?: "hour" | "day" | "week" | "month" | "year" | undefined;
27
+ safe_search?: boolean | undefined;
26
28
  }, {
27
29
  query: string;
28
30
  formats?: ("text" | "html" | "json" | "json_v2" | "markdown")[] | undefined;
@@ -34,6 +36,7 @@ export declare const searchSchema: z.ZodObject<{
34
36
  domain?: string | undefined;
35
37
  time_range?: "hour" | "day" | "week" | "month" | "year" | undefined;
36
38
  scrape_results?: boolean | undefined;
39
+ safe_search?: boolean | undefined;
37
40
  }>;
38
41
  export declare const searchDescription: string;
39
42
  export declare function handleSearch(client: AlterLabClient, params: z.infer<typeof searchSchema>): Promise<CallToolResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.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,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAOqC,CAAC;AAEpE,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,CAuBzB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/tools/search.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,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEvB,CAAC;AAEH,eAAO,MAAM,iBAAiB,QASgC,CAAC;AAE/D,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,GACnC,OAAO,CAAC,cAAc,CAAC,CAwBzB"}
@@ -56,14 +56,21 @@ exports.searchSchema = zod_1.z.object({
56
56
  .record(zod_1.z.unknown())
57
57
  .optional()
58
58
  .describe("JSON schema for structured extraction when scrape_results=true"),
59
+ safe_search: zod_1.z
60
+ .boolean()
61
+ .optional()
62
+ .describe("Enable safe search filtering to exclude adult content from results. " +
63
+ "Defaults to the search engine's own safe-search setting when omitted."),
59
64
  });
60
- exports.searchDescription = "Execute a web search and return SERP results (URLs, titles, snippets). " +
61
- "Uses AlterLab's own SERP engine with Google/Bing/DuckDuckGo multi-engine failover. " +
65
+ exports.searchDescription = "Search the web, find information online, look up any topic, or research a subject across the internet. " +
66
+ "Returns search results with URLs, titles, and snippets from multiple search engines. " +
67
+ "Uses AlterLab's SERP engine with Google/Bing/DuckDuckGo multi-engine failover for reliable results. " +
62
68
  "Costs $0.001 per search query. " +
63
- "Set scrape_results=true to also scrape each result page and get full content — " +
69
+ "Set scrape_results=true to also scrape each result page (with anti-bot bypass) and get full content — " +
64
70
  "each page is billed at its normal scraping tier cost. " +
65
71
  "Use domain to restrict results to a specific site (equivalent to site: operator). " +
66
- "Use time_range to filter by recency (hour/day/week/month/year).";
72
+ "Use time_range to filter by recency (hour/day/week/month/year). " +
73
+ "Use safe_search=true to filter adult content from results.";
67
74
  async function handleSearch(client, params) {
68
75
  try {
69
76
  const response = await client.search({
@@ -77,6 +84,7 @@ async function handleSearch(client, params) {
77
84
  scrape_results: params.scrape_results,
78
85
  formats: params.formats,
79
86
  extraction_schema: params.extraction_schema,
87
+ safe_search: params.safe_search,
80
88
  });
81
89
  const text = formatSearchResponse(response, params.query);
82
90
  return { content: [{ type: "text", text }] };
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { z } from "zod";
2
+ import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
3
+ import type { AlterLabClient } from "../client.js";
4
+ export declare const simpleBatchSchema: z.ZodObject<{
5
+ urls: z.ZodArray<z.ZodString, "many">;
6
+ formats: z.ZodDefault<z.ZodArray<z.ZodEnum<["text", "json", "json_v2", "html", "markdown", "rag", "content"]>, "many">>;
7
+ render_js: z.ZodDefault<z.ZodBoolean>;
8
+ use_proxy: z.ZodDefault<z.ZodBoolean>;
9
+ timeout: z.ZodDefault<z.ZodNumber>;
10
+ max_concurrent: z.ZodDefault<z.ZodNumber>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ timeout: number;
13
+ formats: ("content" | "text" | "html" | "json" | "json_v2" | "markdown" | "rag")[];
14
+ render_js: boolean;
15
+ use_proxy: boolean;
16
+ urls: string[];
17
+ max_concurrent: number;
18
+ }, {
19
+ urls: string[];
20
+ timeout?: number | undefined;
21
+ formats?: ("content" | "text" | "html" | "json" | "json_v2" | "markdown" | "rag")[] | undefined;
22
+ render_js?: boolean | undefined;
23
+ use_proxy?: boolean | undefined;
24
+ max_concurrent?: number | undefined;
25
+ }>;
26
+ export declare const simpleBatchDescription: string;
27
+ export declare function handleSimpleBatch(client: AlterLabClient, params: z.infer<typeof simpleBatchSchema>): Promise<CallToolResult>;
28
+ //# sourceMappingURL=simple_batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple_batch.d.ts","sourceRoot":"","sources":["../../src/tools/simple_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;AAGnD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;EA4C5B,CAAC;AAEH,eAAO,MAAM,sBAAsB,QAMoE,CAAC;AAMxG,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,GACxC,OAAO,CAAC,cAAc,CAAC,CAwGzB"}