@xberg-io/crawlberg-wasm 1.1.4 → 1.3.2

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.
Binary file
@@ -24,6 +24,7 @@ export const __wbg_wasmextractionmeta_free: (a: number, b: number) => void;
24
24
  export const __wbg_wasmfaviconinfo_free: (a: number, b: number) => void;
25
25
  export const __wbg_wasmfeedinfo_free: (a: number, b: number) => void;
26
26
  export const __wbg_wasmheadinginfo_free: (a: number, b: number) => void;
27
+ export const __wbg_wasmhostmatcher_free: (a: number, b: number) => void;
27
28
  export const __wbg_wasmhreflangentry_free: (a: number, b: number) => void;
28
29
  export const __wbg_wasmimageinfo_free: (a: number, b: number) => void;
29
30
  export const __wbg_wasminteractionresult_free: (a: number, b: number) => void;
@@ -202,15 +203,21 @@ export const wasmcookieinfo_value: (a: number) => [number, number];
202
203
  export const wasmcrawlconfig_allowSubdomains: (a: number) => number;
203
204
  export const wasmcrawlconfig_assetTypes: (a: number) => [number, number];
204
205
  export const wasmcrawlconfig_auth: (a: number) => any;
206
+ export const wasmcrawlconfig_bm25Query: (a: number) => [number, number];
207
+ export const wasmcrawlconfig_bm25Threshold: (a: number) => [number, number];
205
208
  export const wasmcrawlconfig_browser: (a: number) => number;
206
209
  export const wasmcrawlconfig_browserProfile: (a: number) => [number, number];
207
210
  export const wasmcrawlconfig_captureScreenshot: (a: number) => number;
208
211
  export const wasmcrawlconfig_content: (a: number) => number;
212
+ export const wasmcrawlconfig_contentFilter: (a: number) => [number, number];
209
213
  export const wasmcrawlconfig_cookiesEnabled: (a: number) => number;
214
+ export const wasmcrawlconfig_crawlStrategy: (a: number) => [number, number];
210
215
  export const wasmcrawlconfig_customHeaders: (a: number) => any;
211
216
  export const wasmcrawlconfig_default: () => number;
217
+ export const wasmcrawlconfig_documentContentEncoding: (a: number) => [number, number];
212
218
  export const wasmcrawlconfig_documentMaxSize: (a: number) => number;
213
219
  export const wasmcrawlconfig_documentMimeTypes: (a: number) => [number, number];
220
+ export const wasmcrawlconfig_documentOutputDir: (a: number) => [number, number];
214
221
  export const wasmcrawlconfig_documentUrlDepth: (a: number) => number;
215
222
  export const wasmcrawlconfig_downloadAssets: (a: number) => number;
216
223
  export const wasmcrawlconfig_downloadDocuments: (a: number) => number;
@@ -223,10 +230,12 @@ export const wasmcrawlconfig_maxAssetSize: (a: number) => number;
223
230
  export const wasmcrawlconfig_maxBodySize: (a: number) => number;
224
231
  export const wasmcrawlconfig_maxConcurrent: (a: number) => number;
225
232
  export const wasmcrawlconfig_maxDepth: (a: number) => number;
233
+ export const wasmcrawlconfig_maxLinksPerPage: (a: number) => number;
226
234
  export const wasmcrawlconfig_maxPages: (a: number) => number;
227
235
  export const wasmcrawlconfig_maxRedirects: (a: number) => number;
228
- export const wasmcrawlconfig_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: bigint, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: bigint, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number) => number;
236
+ export const wasmcrawlconfig_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: bigint, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: number, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number, p1: number, q1: number, r1: number, s1: number, t1: bigint, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number, f2: number, g2: number, h2: number, i2: number, j2: number, k2: number) => number;
229
237
  export const wasmcrawlconfig_proxy: (a: number) => number;
238
+ export const wasmcrawlconfig_rateLimitMs: (a: number) => [number, bigint];
230
239
  export const wasmcrawlconfig_removeTags: (a: number) => [number, number];
231
240
  export const wasmcrawlconfig_respectRobotsTxt: (a: number) => number;
232
241
  export const wasmcrawlconfig_retryCodes: (a: number) => [number, number];
@@ -235,14 +244,20 @@ export const wasmcrawlconfig_saveBrowserProfile: (a: number) => number;
235
244
  export const wasmcrawlconfig_set_allowSubdomains: (a: number, b: number) => void;
236
245
  export const wasmcrawlconfig_set_assetTypes: (a: number, b: number, c: number) => void;
237
246
  export const wasmcrawlconfig_set_auth: (a: number, b: number) => void;
247
+ export const wasmcrawlconfig_set_bm25Query: (a: number, b: number, c: number) => void;
248
+ export const wasmcrawlconfig_set_bm25Threshold: (a: number, b: number, c: number) => void;
238
249
  export const wasmcrawlconfig_set_browser: (a: number, b: number) => void;
239
250
  export const wasmcrawlconfig_set_browserProfile: (a: number, b: number, c: number) => void;
240
251
  export const wasmcrawlconfig_set_captureScreenshot: (a: number, b: number) => void;
241
252
  export const wasmcrawlconfig_set_content: (a: number, b: number) => void;
253
+ export const wasmcrawlconfig_set_contentFilter: (a: number, b: number) => void;
242
254
  export const wasmcrawlconfig_set_cookiesEnabled: (a: number, b: number) => void;
255
+ export const wasmcrawlconfig_set_crawlStrategy: (a: number, b: number) => void;
243
256
  export const wasmcrawlconfig_set_customHeaders: (a: number, b: any) => void;
257
+ export const wasmcrawlconfig_set_documentContentEncoding: (a: number, b: number) => void;
244
258
  export const wasmcrawlconfig_set_documentMaxSize: (a: number, b: number) => void;
245
259
  export const wasmcrawlconfig_set_documentMimeTypes: (a: number, b: number, c: number) => void;
260
+ export const wasmcrawlconfig_set_documentOutputDir: (a: number, b: number, c: number) => void;
246
261
  export const wasmcrawlconfig_set_documentUrlDepth: (a: number, b: number) => void;
247
262
  export const wasmcrawlconfig_set_downloadAssets: (a: number, b: number) => void;
248
263
  export const wasmcrawlconfig_set_downloadDocuments: (a: number, b: number) => void;
@@ -255,9 +270,11 @@ export const wasmcrawlconfig_set_maxAssetSize: (a: number, b: number) => void;
255
270
  export const wasmcrawlconfig_set_maxBodySize: (a: number, b: number) => void;
256
271
  export const wasmcrawlconfig_set_maxConcurrent: (a: number, b: number) => void;
257
272
  export const wasmcrawlconfig_set_maxDepth: (a: number, b: number) => void;
273
+ export const wasmcrawlconfig_set_maxLinksPerPage: (a: number, b: number) => void;
258
274
  export const wasmcrawlconfig_set_maxPages: (a: number, b: number) => void;
259
275
  export const wasmcrawlconfig_set_maxRedirects: (a: number, b: number) => void;
260
276
  export const wasmcrawlconfig_set_proxy: (a: number, b: number) => void;
277
+ export const wasmcrawlconfig_set_rateLimitMs: (a: number, b: number, c: bigint) => void;
261
278
  export const wasmcrawlconfig_set_removeTags: (a: number, b: number, c: number) => void;
262
279
  export const wasmcrawlconfig_set_respectRobotsTxt: (a: number, b: number) => void;
263
280
  export const wasmcrawlconfig_set_retryCodes: (a: number, b: number, c: number) => void;
@@ -265,12 +282,14 @@ export const wasmcrawlconfig_set_retryCount: (a: number, b: number) => void;
265
282
  export const wasmcrawlconfig_set_saveBrowserProfile: (a: number, b: number) => void;
266
283
  export const wasmcrawlconfig_set_softHttpErrors: (a: number, b: number) => void;
267
284
  export const wasmcrawlconfig_set_ssrf: (a: number, b: number) => void;
285
+ export const wasmcrawlconfig_set_ssrfDenyPrivateExplicit: (a: number, b: number) => void;
268
286
  export const wasmcrawlconfig_set_stayOnDomain: (a: number, b: number) => void;
269
287
  export const wasmcrawlconfig_set_userAgent: (a: number, b: number, c: number) => void;
270
288
  export const wasmcrawlconfig_set_userAgents: (a: number, b: number, c: number) => void;
271
289
  export const wasmcrawlconfig_set_warcOutput: (a: number, b: number, c: number) => void;
272
290
  export const wasmcrawlconfig_softHttpErrors: (a: number) => number;
273
291
  export const wasmcrawlconfig_ssrf: (a: number) => number;
292
+ export const wasmcrawlconfig_ssrfDenyPrivateExplicit: (a: number) => number;
274
293
  export const wasmcrawlconfig_stayOnDomain: (a: number) => number;
275
294
  export const wasmcrawlconfig_userAgent: (a: number) => [number, number];
276
295
  export const wasmcrawlconfig_userAgents: (a: number) => [number, number];
@@ -351,27 +370,31 @@ export const wasmdownloadedasset_set_htmlTag: (a: number, b: number, c: number)
351
370
  export const wasmdownloadedasset_set_mimeType: (a: number, b: number, c: number) => void;
352
371
  export const wasmdownloadedasset_set_url: (a: number, b: number, c: number) => void;
353
372
  export const wasmdownloadedasset_url: (a: number) => [number, number];
373
+ export const wasmdownloadeddocument_contentBase64: (a: number) => [number, number];
354
374
  export const wasmdownloadeddocument_contentHash: (a: number) => [number, number];
375
+ export const wasmdownloadeddocument_contentPath: (a: number) => [number, number];
355
376
  export const wasmdownloadeddocument_default: () => number;
356
377
  export const wasmdownloadeddocument_filename: (a: number) => [number, number];
357
378
  export const wasmdownloadeddocument_headers: (a: number) => any;
358
379
  export const wasmdownloadeddocument_mimeType: (a: number) => [number, number];
359
- export const wasmdownloadeddocument_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => number;
380
+ export const wasmdownloadeddocument_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number) => number;
381
+ export const wasmdownloadeddocument_set_contentBase64: (a: number, b: number, c: number) => void;
360
382
  export const wasmdownloadeddocument_set_contentHash: (a: number, b: number, c: number) => void;
383
+ export const wasmdownloadeddocument_set_contentPath: (a: number, b: number, c: number) => void;
361
384
  export const wasmdownloadeddocument_set_filename: (a: number, b: number, c: number) => void;
362
385
  export const wasmdownloadeddocument_set_headers: (a: number, b: any) => void;
363
386
  export const wasmdownloadeddocument_set_mimeType: (a: number, b: number, c: number) => void;
387
+ export const wasmdownloadeddocument_set_size: (a: number, b: number) => void;
388
+ export const wasmdownloadeddocument_set_truncated: (a: number, b: number) => void;
364
389
  export const wasmdownloadeddocument_set_url: (a: number, b: number, c: number) => void;
390
+ export const wasmdownloadeddocument_size: (a: number) => number;
391
+ export const wasmdownloadeddocument_truncated: (a: number) => number;
365
392
  export const wasmdownloadeddocument_url: (a: number) => [number, number];
366
393
  export const wasmextractionmeta_chunksProcessed: (a: number) => number;
367
- export const wasmextractionmeta_completionTokens: (a: number) => [number, bigint];
368
- export const wasmextractionmeta_cost: (a: number) => [number, number];
369
394
  export const wasmextractionmeta_default: () => number;
370
395
  export const wasmextractionmeta_model: (a: number) => [number, number];
371
396
  export const wasmextractionmeta_new: (a: number, b: number, c: number, d: number, e: bigint, f: number, g: bigint, h: number, i: number) => number;
372
397
  export const wasmextractionmeta_set_chunksProcessed: (a: number, b: number) => void;
373
- export const wasmextractionmeta_set_completionTokens: (a: number, b: number, c: bigint) => void;
374
- export const wasmextractionmeta_set_cost: (a: number, b: number, c: number) => void;
375
398
  export const wasmextractionmeta_set_model: (a: number, b: number, c: number) => void;
376
399
  export const wasmfaviconinfo_mimeType: (a: number) => [number, number];
377
400
  export const wasmfaviconinfo_rel: (a: number) => [number, number];
@@ -395,6 +418,11 @@ export const wasmheadinginfo_new: (a: number, b: number, c: number) => number;
395
418
  export const wasmheadinginfo_set_level: (a: number, b: number) => void;
396
419
  export const wasmheadinginfo_set_text: (a: number, b: number, c: number) => void;
397
420
  export const wasmheadinginfo_text: (a: number) => [number, number];
421
+ export const wasmhostmatcher_default: () => number;
422
+ export const wasmhostmatcher_set_type: (a: number, b: number, c: number) => void;
423
+ export const wasmhostmatcher_set_value: (a: number, b: number, c: number) => void;
424
+ export const wasmhostmatcher_type: (a: number) => [number, number];
425
+ export const wasmhostmatcher_value: (a: number) => [number, number];
398
426
  export const wasmhreflangentry_default: () => number;
399
427
  export const wasmhreflangentry_lang: (a: number) => [number, number];
400
428
  export const wasmhreflangentry_new: (a: number, b: number, c: number, d: number) => number;
@@ -415,10 +443,12 @@ export const wasminteractionresult_actionResults: (a: number) => [number, number
415
443
  export const wasminteractionresult_default: () => number;
416
444
  export const wasminteractionresult_finalHtml: (a: number) => [number, number];
417
445
  export const wasminteractionresult_finalUrl: (a: number) => [number, number];
418
- export const wasminteractionresult_new: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
446
+ export const wasminteractionresult_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
447
+ export const wasminteractionresult_screenshotBase64: (a: number) => [number, number];
419
448
  export const wasminteractionresult_set_actionResults: (a: number, b: number, c: number) => void;
420
449
  export const wasminteractionresult_set_finalHtml: (a: number, b: number, c: number) => void;
421
450
  export const wasminteractionresult_set_finalUrl: (a: number, b: number, c: number) => void;
451
+ export const wasminteractionresult_set_screenshotBase64: (a: number, b: number, c: number) => void;
422
452
  export const wasmjsonldentry_default: () => number;
423
453
  export const wasmjsonldentry_name: (a: number) => [number, number];
424
454
  export const wasmjsonldentry_new: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
@@ -602,10 +632,11 @@ export const wasmscraperesult_jsonLd: (a: number) => [number, number];
602
632
  export const wasmscraperesult_links: (a: number) => [number, number];
603
633
  export const wasmscraperesult_markdown: (a: number) => number;
604
634
  export const wasmscraperesult_metadata: (a: number) => number;
605
- export const wasmscraperesult_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: bigint, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number) => number;
635
+ export const wasmscraperesult_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number, l: number, m: number, n: number, o: number, p: number, q: number, r: number, s: number, t: number, u: number, v: number, w: number, x: number, y: number, z: number, a1: number, b1: number, c1: bigint, d1: number, e1: number, f1: number, g1: number, h1: number, i1: number, j1: number, k1: number, l1: number, m1: number, n1: number, o1: number) => number;
606
636
  export const wasmscraperesult_nofollowDetected: (a: number) => number;
607
637
  export const wasmscraperesult_noindexDetected: (a: number) => number;
608
638
  export const wasmscraperesult_responseMeta: (a: number) => number;
639
+ export const wasmscraperesult_screenshotBase64: (a: number) => [number, number];
609
640
  export const wasmscraperesult_set_assets: (a: number, b: number, c: number) => void;
610
641
  export const wasmscraperesult_set_authHeaderSent: (a: number, b: number) => void;
611
642
  export const wasmscraperesult_set_bodySize: (a: number, b: number) => void;
@@ -630,6 +661,7 @@ export const wasmscraperesult_set_metadata: (a: number, b: number) => void;
630
661
  export const wasmscraperesult_set_nofollowDetected: (a: number, b: number) => void;
631
662
  export const wasmscraperesult_set_noindexDetected: (a: number, b: number) => void;
632
663
  export const wasmscraperesult_set_responseMeta: (a: number, b: number) => void;
664
+ export const wasmscraperesult_set_screenshotBase64: (a: number, b: number, c: number) => void;
633
665
  export const wasmscraperesult_set_statusCode: (a: number, b: number) => void;
634
666
  export const wasmscraperesult_set_wasSkipped: (a: number, b: number) => void;
635
667
  export const wasmscraperesult_set_xRobotsTag: (a: number, b: number, c: number) => void;
@@ -646,18 +678,23 @@ export const wasmsitemapurl_set_lastmod: (a: number, b: number, c: number) => vo
646
678
  export const wasmsitemapurl_set_priority: (a: number, b: number, c: number) => void;
647
679
  export const wasmsitemapurl_set_url: (a: number, b: number, c: number) => void;
648
680
  export const wasmsitemapurl_url: (a: number) => [number, number];
681
+ export const wasmssrfpolicy_allowlist: (a: number) => any;
649
682
  export const wasmssrfpolicy_default: () => number;
650
683
  export const wasmssrfpolicy_denyPrivate: (a: number) => number;
651
684
  export const wasmssrfpolicy_fromEnv: () => number;
652
685
  export const wasmssrfpolicy_maxRedirects: (a: number) => number;
653
- export const wasmssrfpolicy_new: (a: number, b: number) => number;
686
+ export const wasmssrfpolicy_new: (a: number, b: number, c: number) => number;
687
+ export const wasmssrfpolicy_set_allowlist: (a: number, b: any) => void;
654
688
  export const wasmssrfpolicy_set_denyPrivate: (a: number, b: number) => void;
655
689
  export const wasmssrfpolicy_set_maxRedirects: (a: number, b: number) => void;
656
- export const wasmcrawlconfig_set_rateLimitMs: (a: number, b: number, c: bigint) => void;
690
+ export const wasmhostmatcher_new: () => number;
691
+ export const wasmcrawlconfig_set_requestTimeout: (a: number, b: number, c: bigint) => void;
692
+ export const wasmextractionmeta_set_completionTokens: (a: number, b: number, c: bigint) => void;
657
693
  export const wasmextractionmeta_set_promptTokens: (a: number, b: number, c: bigint) => void;
658
694
  export const wasmpageaction_set_milliseconds: (a: number, b: number, c: bigint) => void;
659
- export const wasmcrawlconfig_rateLimitMs: (a: number) => [number, bigint];
660
695
  export const wasmcrawlconfig_requestTimeout: (a: number) => [number, bigint];
696
+ export const wasmextractionmeta_completionTokens: (a: number) => [number, bigint];
697
+ export const wasmextractionmeta_cost: (a: number) => [number, number];
661
698
  export const wasmextractionmeta_promptTokens: (a: number) => [number, bigint];
662
699
  export const wasmpageaction_amount: (a: number) => [number, bigint];
663
700
  export const wasmpageaction_milliseconds: (a: number) => [number, bigint];
@@ -667,27 +704,25 @@ export const wasmbatchscraperesults_set_completedCount: (a: number, b: number) =
667
704
  export const wasmbatchscraperesults_set_failedCount: (a: number, b: number) => void;
668
705
  export const wasmbatchscraperesults_set_totalCount: (a: number, b: number) => void;
669
706
  export const wasmdownloadedasset_set_size: (a: number, b: number) => void;
670
- export const wasmdownloadeddocument_set_size: (a: number, b: number) => void;
671
707
  export const wasmimageinfo_set_width: (a: number, b: number) => void;
672
708
  export const wasmpagemetadata_set_wordCount: (a: number, b: number) => void;
673
709
  export const wasmbatchscraperesults_completedCount: (a: number) => number;
674
710
  export const wasmbatchscraperesults_failedCount: (a: number) => number;
675
711
  export const wasmbatchscraperesults_totalCount: (a: number) => number;
676
712
  export const wasmdownloadedasset_size: (a: number) => number;
677
- export const wasmdownloadeddocument_size: (a: number) => number;
678
713
  export const wasmlinkinfo_set_nofollow: (a: number, b: number) => void;
679
714
  export const wasmfaviconinfo_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
680
715
  export const wasmimageinfo_width: (a: number) => number;
681
716
  export const wasmpagemetadata_wordCount: (a: number) => number;
682
717
  export const wasmlinkinfo_nofollow: (a: number) => number;
683
718
  export const wasmauthconfig_new: () => number;
684
- export const wasmcrawlconfig_set_requestTimeout: (a: number, b: number, c: bigint) => void;
719
+ export const wasmextractionmeta_set_cost: (a: number, b: number, c: number) => void;
685
720
  export const wasmpageaction_set_amount: (a: number, b: number, c: bigint) => void;
686
721
  export const wasmscraperesult_set_crawlDelay: (a: number, b: number, c: bigint) => void;
687
722
  export const wasmpageaction_new: () => number;
688
- export const wasm_bindgen__convert__closures_____invoke__h96ab4f4d64e6bfe6: (a: number, b: number, c: any) => [number, number];
689
- export const wasm_bindgen__convert__closures_____invoke__h20406e9dd5374954: (a: number, b: number, c: any, d: any) => void;
690
- export const wasm_bindgen__convert__closures_____invoke__h10c3645e699af307: (a: number, b: number) => void;
723
+ export const wasm_bindgen__convert__closures_____invoke__h2deefa3c9140ef43: (a: number, b: number, c: any) => [number, number];
724
+ export const wasm_bindgen__convert__closures_____invoke__h072ef20b96c52fc3: (a: number, b: number, c: any, d: any) => void;
725
+ export const wasm_bindgen__convert__closures_____invoke__h99e891e0bdc2d97f: (a: number, b: number) => void;
691
726
  export const __wbindgen_malloc: (a: number, b: number) => number;
692
727
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
693
728
  export const __wbindgen_exn_store: (a: number) => void;
@@ -2,7 +2,7 @@
2
2
  "name": "crawlberg-wasm",
3
3
  "type": "module",
4
4
  "description": "High-performance web crawling engine",
5
- "version": "1.1.4",
5
+ "version": "1.3.2",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
@@ -267,6 +267,13 @@ export class WasmContentConfig {
267
267
  wrapWidth: number;
268
268
  }
269
269
 
270
+ /**
271
+ * Content filter applied to each crawled page before it reaches the result.
272
+ */
273
+ export enum WasmContentFilterKind {
274
+ Bm25 = 0,
275
+ }
276
+
270
277
  /**
271
278
  * Information about an HTTP cookie received from a response.
272
279
  */
@@ -290,7 +297,7 @@ export class WasmCrawlConfig {
290
297
  free(): void;
291
298
  [Symbol.dispose](): void;
292
299
  static default(): WasmCrawlConfig;
293
- constructor(respectRobotsTxt?: boolean | null, softHttpErrors?: boolean | null, stayOnDomain?: boolean | null, allowSubdomains?: boolean | null, includePaths?: string[] | null, excludePaths?: string[] | null, customHeaders?: any | null, requestTimeout?: bigint | null, maxRedirects?: number | null, retryCount?: number | null, retryCodes?: Uint16Array | null, cookiesEnabled?: boolean | null, removeTags?: string[] | null, content?: WasmContentConfig | null, downloadAssets?: boolean | null, assetTypes?: any[] | null, browser?: WasmBrowserConfig | null, userAgents?: string[] | null, captureScreenshot?: boolean | null, followDocumentUrls?: boolean | null, downloadDocuments?: boolean | null, documentMimeTypes?: string[] | null, saveBrowserProfile?: boolean | null, ssrf?: WasmSsrfPolicy | null, maxDepth?: number | null, maxPages?: number | null, maxConcurrent?: number | null, userAgent?: string | null, rateLimitMs?: bigint | null, auth?: any | null, maxBodySize?: number | null, mapLimit?: number | null, mapSearch?: string | null, maxAssetSize?: number | null, proxy?: WasmProxyConfig | null, documentUrlDepth?: number | null, documentMaxSize?: number | null, warcOutput?: string | null, browserProfile?: string | null);
300
+ constructor(crawlStrategy?: WasmCrawlStrategyKind | null, respectRobotsTxt?: boolean | null, softHttpErrors?: boolean | null, stayOnDomain?: boolean | null, allowSubdomains?: boolean | null, includePaths?: string[] | null, excludePaths?: string[] | null, customHeaders?: any | null, requestTimeout?: bigint | null, maxRedirects?: number | null, retryCount?: number | null, retryCodes?: Uint16Array | null, cookiesEnabled?: boolean | null, removeTags?: string[] | null, content?: WasmContentConfig | null, downloadAssets?: boolean | null, assetTypes?: any[] | null, browser?: WasmBrowserConfig | null, userAgents?: string[] | null, captureScreenshot?: boolean | null, followDocumentUrls?: boolean | null, downloadDocuments?: boolean | null, documentMimeTypes?: string[] | null, saveBrowserProfile?: boolean | null, ssrf?: WasmSsrfPolicy | null, maxDepth?: number | null, maxPages?: number | null, maxLinksPerPage?: number | null, maxConcurrent?: number | null, contentFilter?: WasmContentFilterKind | null, bm25Query?: string | null, bm25Threshold?: number | null, userAgent?: string | null, rateLimitMs?: bigint | null, auth?: any | null, maxBodySize?: number | null, mapLimit?: number | null, mapSearch?: string | null, maxAssetSize?: number | null, proxy?: WasmProxyConfig | null, documentUrlDepth?: number | null, documentMaxSize?: number | null, documentOutputDir?: string | null, documentContentEncoding?: WasmDocumentContentEncoding | null, warcOutput?: string | null, browserProfile?: string | null, ssrfDenyPrivateExplicit?: boolean | null);
294
301
  /**
295
302
  * Validate the configuration, returning an error if any values are invalid.
296
303
  */
@@ -299,16 +306,28 @@ export class WasmCrawlConfig {
299
306
  assetTypes: string[];
300
307
  get auth(): any | undefined;
301
308
  set auth(value: any | null | undefined);
309
+ get bm25Query(): string | undefined;
310
+ set bm25Query(value: string | null | undefined);
311
+ get bm25Threshold(): number | undefined;
312
+ set bm25Threshold(value: number | null | undefined);
302
313
  browser: WasmBrowserConfig;
303
314
  get browserProfile(): string | undefined;
304
315
  set browserProfile(value: string | null | undefined);
305
316
  captureScreenshot: boolean;
306
317
  content: WasmContentConfig;
318
+ get contentFilter(): string | undefined;
319
+ set contentFilter(value: WasmContentFilterKind | null | undefined);
307
320
  cookiesEnabled: boolean;
321
+ get crawlStrategy(): string;
322
+ set crawlStrategy(value: WasmCrawlStrategyKind);
308
323
  customHeaders: any;
324
+ get documentContentEncoding(): string | undefined;
325
+ set documentContentEncoding(value: WasmDocumentContentEncoding | null | undefined);
309
326
  get documentMaxSize(): number | undefined;
310
327
  set documentMaxSize(value: number | null | undefined);
311
328
  documentMimeTypes: string[];
329
+ get documentOutputDir(): string | undefined;
330
+ set documentOutputDir(value: string | null | undefined);
312
331
  get documentUrlDepth(): number | undefined;
313
332
  set documentUrlDepth(value: number | null | undefined);
314
333
  downloadAssets: boolean;
@@ -328,6 +347,8 @@ export class WasmCrawlConfig {
328
347
  set maxConcurrent(value: number | null | undefined);
329
348
  get maxDepth(): number | undefined;
330
349
  set maxDepth(value: number | null | undefined);
350
+ get maxLinksPerPage(): number | undefined;
351
+ set maxLinksPerPage(value: number | null | undefined);
331
352
  get maxPages(): number | undefined;
332
353
  set maxPages(value: number | null | undefined);
333
354
  maxRedirects: number;
@@ -344,6 +365,8 @@ export class WasmCrawlConfig {
344
365
  saveBrowserProfile: boolean;
345
366
  softHttpErrors: boolean;
346
367
  ssrf: WasmSsrfPolicy;
368
+ get ssrfDenyPrivateExplicit(): boolean | undefined;
369
+ set ssrfDenyPrivateExplicit(value: boolean | null | undefined);
347
370
  stayOnDomain: boolean;
348
371
  get userAgent(): string | undefined;
349
372
  set userAgent(value: string | null | undefined);
@@ -410,6 +433,13 @@ export class WasmCrawlResult {
410
433
  constructor(pages?: WasmCrawlPageResult[] | null, finalUrl?: string | null, redirectCount?: number | null, wasSkipped?: boolean | null, cookies?: WasmCookieInfo[] | null, stayedOnDomain?: boolean | null, browserUsed?: boolean | null, error?: string | null);
411
434
  /**
412
435
  * Returns the count of unique normalized URLs encountered during crawling.
436
+ *
437
+ * Computed from `pages` (not the deprecated `normalized_urls` field) so it
438
+ * is correct across every binding that reconstructs `CrawlResult` from
439
+ * `pages` alone. In streaming mode `pages` is empty, so this returns 0 on
440
+ * the opaque-handle (C/Go/C#/Zig/Dart) path where it previously counted
441
+ * streamed pages — a known, accepted cost of making the other ten binding
442
+ * families correct.
413
443
  */
414
444
  uniqueNormalizedUrls(): number;
415
445
  browserUsed: boolean;
@@ -423,6 +453,32 @@ export class WasmCrawlResult {
423
453
  wasSkipped: boolean;
424
454
  }
425
455
 
456
+ /**
457
+ * Traversal order for a crawl.
458
+ *
459
+ * Selects both the queue discipline and the selection strategy, because global order is a
460
+ * property of the frontier: the engine hands its bounded selection window to the strategy, so
461
+ * a strategy alone can only reorder URLs that have already been dequeued.
462
+ */
463
+ export enum WasmCrawlStrategyKind {
464
+ Bfs = 0,
465
+ Dfs = 1,
466
+ BestFirst = 2,
467
+ Adaptive = 3,
468
+ }
469
+
470
+ /**
471
+ * Opt-in encoding applied to a downloaded document's bytes for callers who need the
472
+ * content available in a serializable field rather than reading it from disk.
473
+ *
474
+ * `None` (the `CrawlConfig.document_content_encoding` default) produces neither — unlike
475
+ * screenshots, base64-encoding a document by default would duplicate an already
476
+ * up-to-`document_max_size` buffer (50 MB default) in memory per document.
477
+ */
478
+ export enum WasmDocumentContentEncoding {
479
+ Base64 = 0,
480
+ }
481
+
426
482
  /**
427
483
  * A downloaded asset from a page.
428
484
  */
@@ -453,13 +509,18 @@ export class WasmDownloadedDocument {
453
509
  free(): void;
454
510
  [Symbol.dispose](): void;
455
511
  static default(): WasmDownloadedDocument;
456
- constructor(url?: string | null, mimeType?: string | null, size?: number | null, contentHash?: string | null, headers?: any | null, filename?: string | null);
512
+ constructor(url?: string | null, mimeType?: string | null, size?: number | null, contentHash?: string | null, headers?: any | null, truncated?: boolean | null, filename?: string | null, contentPath?: string | null, contentBase64?: string | null);
513
+ get contentBase64(): string | undefined;
514
+ set contentBase64(value: string | null | undefined);
457
515
  contentHash: string;
516
+ get contentPath(): string | undefined;
517
+ set contentPath(value: string | null | undefined);
458
518
  get filename(): string | undefined;
459
519
  set filename(value: string | null | undefined);
460
520
  headers: any;
461
521
  mimeType: string;
462
522
  size: number;
523
+ truncated: boolean;
463
524
  url: string;
464
525
  }
465
526
 
@@ -534,6 +595,33 @@ export class WasmHeadingInfo {
534
595
  text: string;
535
596
  }
536
597
 
598
+ /**
599
+ * Hostname/IP allowlist matcher for SSRF policy.
600
+ *
601
+ * Serializes as an internally-tagged object so each variant is distinguishable on the
602
+ * wire and round-trips losslessly:
603
+ *
604
+ * ```json
605
+ * {"type": "exact", "value": "api.example.com"}
606
+ * {"type": "suffix", "value": ".example.com"}
607
+ * {"type": "cidr", "value": "10.0.0.0/8"}
608
+ * ```
609
+ *
610
+ * A bare JSON string is still accepted on deserialization and resolves to `Exact`,
611
+ * preserving configs written against the previous untagged representation.
612
+ *
613
+ * `Exact`: HostMatcher.Exact
614
+ */
615
+ export class WasmHostMatcher {
616
+ free(): void;
617
+ [Symbol.dispose](): void;
618
+ static default(): WasmHostMatcher;
619
+ constructor();
620
+ type: string;
621
+ get value(): string | undefined;
622
+ set value(value: string | null | undefined);
623
+ }
624
+
537
625
  /**
538
626
  * An hreflang alternate link entry.
539
627
  */
@@ -582,10 +670,12 @@ export class WasmInteractionResult {
582
670
  free(): void;
583
671
  [Symbol.dispose](): void;
584
672
  static default(): WasmInteractionResult;
585
- constructor(actionResults?: WasmActionResult[] | null, finalHtml?: string | null, finalUrl?: string | null);
673
+ constructor(actionResults?: WasmActionResult[] | null, finalHtml?: string | null, finalUrl?: string | null, screenshotBase64?: string | null);
586
674
  actionResults: WasmActionResult[];
587
675
  finalHtml: string;
588
676
  finalUrl: string;
677
+ get screenshotBase64(): string | undefined;
678
+ set screenshotBase64(value: string | null | undefined);
589
679
  }
590
680
 
591
681
  /**
@@ -830,7 +920,7 @@ export class WasmScrapeResult {
830
920
  free(): void;
831
921
  [Symbol.dispose](): void;
832
922
  static default(): WasmScrapeResult;
833
- constructor(statusCode?: number | null, finalUrl?: string | null, contentType?: string | null, html?: string | null, bodySize?: number | null, metadata?: WasmPageMetadata | null, links?: WasmLinkInfo[] | null, images?: WasmImageInfo[] | null, feeds?: WasmFeedInfo[] | null, jsonLd?: WasmJsonLdEntry[] | null, isAllowed?: boolean | null, noindexDetected?: boolean | null, nofollowDetected?: boolean | null, isPdf?: boolean | null, wasSkipped?: boolean | null, authHeaderSent?: boolean | null, assets?: WasmDownloadedAsset[] | null, jsRenderHint?: boolean | null, browserUsed?: boolean | null, crawlDelay?: bigint | null, xRobotsTag?: string | null, detectedCharset?: string | null, responseMeta?: WasmResponseMeta | null, markdown?: WasmMarkdownResult | null, extractedData?: any | null, extractionMeta?: WasmExtractionMeta | null, downloadedDocument?: WasmDownloadedDocument | null, browser?: WasmBrowserExtras | null);
923
+ constructor(statusCode?: number | null, finalUrl?: string | null, contentType?: string | null, html?: string | null, bodySize?: number | null, metadata?: WasmPageMetadata | null, links?: WasmLinkInfo[] | null, images?: WasmImageInfo[] | null, feeds?: WasmFeedInfo[] | null, jsonLd?: WasmJsonLdEntry[] | null, isAllowed?: boolean | null, noindexDetected?: boolean | null, nofollowDetected?: boolean | null, isPdf?: boolean | null, wasSkipped?: boolean | null, authHeaderSent?: boolean | null, assets?: WasmDownloadedAsset[] | null, jsRenderHint?: boolean | null, browserUsed?: boolean | null, crawlDelay?: bigint | null, xRobotsTag?: string | null, detectedCharset?: string | null, responseMeta?: WasmResponseMeta | null, markdown?: WasmMarkdownResult | null, extractedData?: any | null, extractionMeta?: WasmExtractionMeta | null, screenshotBase64?: string | null, downloadedDocument?: WasmDownloadedDocument | null, browser?: WasmBrowserExtras | null);
834
924
  assets: WasmDownloadedAsset[];
835
925
  authHeaderSent: boolean;
836
926
  bodySize: number;
@@ -864,6 +954,8 @@ export class WasmScrapeResult {
864
954
  noindexDetected: boolean;
865
955
  get responseMeta(): WasmResponseMeta | undefined;
866
956
  set responseMeta(value: WasmResponseMeta | null | undefined);
957
+ get screenshotBase64(): string | undefined;
958
+ set screenshotBase64(value: string | null | undefined);
867
959
  statusCode: number;
868
960
  wasSkipped: boolean;
869
961
  get xRobotsTag(): string | undefined;
@@ -913,9 +1005,18 @@ export class WasmSsrfPolicy {
913
1005
  * - Outbound requests in a browser go through the fetch API, which enforces its own network policies.
914
1006
  * - Rust-side SSRF checking is unenforceable and redundant in a wasm32 context.
915
1007
  * - For testing and localhost access, the host's network sandbox is the enforcing boundary.
1008
+ *
1009
+ * **Node.js caveat:** `deny_private` (whatever its value) has no effect on hostname-based
1010
+ * requests under `wasm32`. There is no DNS resolution on this target, so `validate_url`
1011
+ * only ever checks a literal IP host; a domain name falls straight through to `Ok(())`. In a
1012
+ * browser this is covered by same-origin/CORS. Node's `fetch` enforces no CORS, so a Node
1013
+ * service embedding this wasm module can be driven to internal hosts by domain name even
1014
+ * though `deny_private = true`. Do not rely on this policy to stop that in Node — enforce
1015
+ * egress restrictions (network policy, firewall, proxy allowlist) outside the process.
916
1016
  */
917
1017
  static fromEnv(): WasmSsrfPolicy;
918
- constructor(denyPrivate?: boolean | null, maxRedirects?: number | null);
1018
+ constructor(denyPrivate?: boolean | null, allowlist?: any | null, maxRedirects?: number | null);
1019
+ allowlist: any;
919
1020
  denyPrivate: boolean;
920
1021
  maxRedirects: number;
921
1022
  }