@xberg-io/crawlberg-wasm 1.1.3 → 1.2.1

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;
@@ -209,8 +210,10 @@ export const wasmcrawlconfig_content: (a: number) => number;
209
210
  export const wasmcrawlconfig_cookiesEnabled: (a: number) => number;
210
211
  export const wasmcrawlconfig_customHeaders: (a: number) => any;
211
212
  export const wasmcrawlconfig_default: () => number;
213
+ export const wasmcrawlconfig_documentContentEncoding: (a: number) => [number, number];
212
214
  export const wasmcrawlconfig_documentMaxSize: (a: number) => number;
213
215
  export const wasmcrawlconfig_documentMimeTypes: (a: number) => [number, number];
216
+ export const wasmcrawlconfig_documentOutputDir: (a: number) => [number, number];
214
217
  export const wasmcrawlconfig_documentUrlDepth: (a: number) => number;
215
218
  export const wasmcrawlconfig_downloadAssets: (a: number) => number;
216
219
  export const wasmcrawlconfig_downloadDocuments: (a: number) => number;
@@ -223,9 +226,10 @@ export const wasmcrawlconfig_maxAssetSize: (a: number) => number;
223
226
  export const wasmcrawlconfig_maxBodySize: (a: number) => number;
224
227
  export const wasmcrawlconfig_maxConcurrent: (a: number) => number;
225
228
  export const wasmcrawlconfig_maxDepth: (a: number) => number;
229
+ export const wasmcrawlconfig_maxLinksPerPage: (a: number) => number;
226
230
  export const wasmcrawlconfig_maxPages: (a: number) => number;
227
231
  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;
232
+ 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: number, n1: bigint, o1: number, p1: number, q1: number, r1: number, s1: number, t1: number, u1: number, v1: number, w1: number, x1: number, y1: number, z1: number, a2: number, b2: number, c2: number, d2: number, e2: number) => number;
229
233
  export const wasmcrawlconfig_proxy: (a: number) => number;
230
234
  export const wasmcrawlconfig_removeTags: (a: number) => [number, number];
231
235
  export const wasmcrawlconfig_respectRobotsTxt: (a: number) => number;
@@ -241,8 +245,10 @@ export const wasmcrawlconfig_set_captureScreenshot: (a: number, b: number) => vo
241
245
  export const wasmcrawlconfig_set_content: (a: number, b: number) => void;
242
246
  export const wasmcrawlconfig_set_cookiesEnabled: (a: number, b: number) => void;
243
247
  export const wasmcrawlconfig_set_customHeaders: (a: number, b: any) => void;
248
+ export const wasmcrawlconfig_set_documentContentEncoding: (a: number, b: number) => void;
244
249
  export const wasmcrawlconfig_set_documentMaxSize: (a: number, b: number) => void;
245
250
  export const wasmcrawlconfig_set_documentMimeTypes: (a: number, b: number, c: number) => void;
251
+ export const wasmcrawlconfig_set_documentOutputDir: (a: number, b: number, c: number) => void;
246
252
  export const wasmcrawlconfig_set_documentUrlDepth: (a: number, b: number) => void;
247
253
  export const wasmcrawlconfig_set_downloadAssets: (a: number, b: number) => void;
248
254
  export const wasmcrawlconfig_set_downloadDocuments: (a: number, b: number) => void;
@@ -255,6 +261,7 @@ export const wasmcrawlconfig_set_maxAssetSize: (a: number, b: number) => void;
255
261
  export const wasmcrawlconfig_set_maxBodySize: (a: number, b: number) => void;
256
262
  export const wasmcrawlconfig_set_maxConcurrent: (a: number, b: number) => void;
257
263
  export const wasmcrawlconfig_set_maxDepth: (a: number, b: number) => void;
264
+ export const wasmcrawlconfig_set_maxLinksPerPage: (a: number, b: number) => void;
258
265
  export const wasmcrawlconfig_set_maxPages: (a: number, b: number) => void;
259
266
  export const wasmcrawlconfig_set_maxRedirects: (a: number, b: number) => void;
260
267
  export const wasmcrawlconfig_set_proxy: (a: number, b: number) => void;
@@ -265,12 +272,14 @@ export const wasmcrawlconfig_set_retryCount: (a: number, b: number) => void;
265
272
  export const wasmcrawlconfig_set_saveBrowserProfile: (a: number, b: number) => void;
266
273
  export const wasmcrawlconfig_set_softHttpErrors: (a: number, b: number) => void;
267
274
  export const wasmcrawlconfig_set_ssrf: (a: number, b: number) => void;
275
+ export const wasmcrawlconfig_set_ssrfDenyPrivateExplicit: (a: number, b: number) => void;
268
276
  export const wasmcrawlconfig_set_stayOnDomain: (a: number, b: number) => void;
269
277
  export const wasmcrawlconfig_set_userAgent: (a: number, b: number, c: number) => void;
270
278
  export const wasmcrawlconfig_set_userAgents: (a: number, b: number, c: number) => void;
271
279
  export const wasmcrawlconfig_set_warcOutput: (a: number, b: number, c: number) => void;
272
280
  export const wasmcrawlconfig_softHttpErrors: (a: number) => number;
273
281
  export const wasmcrawlconfig_ssrf: (a: number) => number;
282
+ export const wasmcrawlconfig_ssrfDenyPrivateExplicit: (a: number) => number;
274
283
  export const wasmcrawlconfig_stayOnDomain: (a: number) => number;
275
284
  export const wasmcrawlconfig_userAgent: (a: number) => [number, number];
276
285
  export const wasmcrawlconfig_userAgents: (a: number) => [number, number];
@@ -351,17 +360,25 @@ export const wasmdownloadedasset_set_htmlTag: (a: number, b: number, c: number)
351
360
  export const wasmdownloadedasset_set_mimeType: (a: number, b: number, c: number) => void;
352
361
  export const wasmdownloadedasset_set_url: (a: number, b: number, c: number) => void;
353
362
  export const wasmdownloadedasset_url: (a: number) => [number, number];
363
+ export const wasmdownloadeddocument_contentBase64: (a: number) => [number, number];
354
364
  export const wasmdownloadeddocument_contentHash: (a: number) => [number, number];
365
+ export const wasmdownloadeddocument_contentPath: (a: number) => [number, number];
355
366
  export const wasmdownloadeddocument_default: () => number;
356
367
  export const wasmdownloadeddocument_filename: (a: number) => [number, number];
357
368
  export const wasmdownloadeddocument_headers: (a: number) => any;
358
369
  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;
370
+ 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;
371
+ export const wasmdownloadeddocument_set_contentBase64: (a: number, b: number, c: number) => void;
360
372
  export const wasmdownloadeddocument_set_contentHash: (a: number, b: number, c: number) => void;
373
+ export const wasmdownloadeddocument_set_contentPath: (a: number, b: number, c: number) => void;
361
374
  export const wasmdownloadeddocument_set_filename: (a: number, b: number, c: number) => void;
362
375
  export const wasmdownloadeddocument_set_headers: (a: number, b: any) => void;
363
376
  export const wasmdownloadeddocument_set_mimeType: (a: number, b: number, c: number) => void;
377
+ export const wasmdownloadeddocument_set_size: (a: number, b: number) => void;
378
+ export const wasmdownloadeddocument_set_truncated: (a: number, b: number) => void;
364
379
  export const wasmdownloadeddocument_set_url: (a: number, b: number, c: number) => void;
380
+ export const wasmdownloadeddocument_size: (a: number) => number;
381
+ export const wasmdownloadeddocument_truncated: (a: number) => number;
365
382
  export const wasmdownloadeddocument_url: (a: number) => [number, number];
366
383
  export const wasmextractionmeta_chunksProcessed: (a: number) => number;
367
384
  export const wasmextractionmeta_completionTokens: (a: number) => [number, bigint];
@@ -395,6 +412,11 @@ export const wasmheadinginfo_new: (a: number, b: number, c: number) => number;
395
412
  export const wasmheadinginfo_set_level: (a: number, b: number) => void;
396
413
  export const wasmheadinginfo_set_text: (a: number, b: number, c: number) => void;
397
414
  export const wasmheadinginfo_text: (a: number) => [number, number];
415
+ export const wasmhostmatcher_default: () => number;
416
+ export const wasmhostmatcher_set_type: (a: number, b: number, c: number) => void;
417
+ export const wasmhostmatcher_set_value: (a: number, b: number, c: number) => void;
418
+ export const wasmhostmatcher_type: (a: number) => [number, number];
419
+ export const wasmhostmatcher_value: (a: number) => [number, number];
398
420
  export const wasmhreflangentry_default: () => number;
399
421
  export const wasmhreflangentry_lang: (a: number) => [number, number];
400
422
  export const wasmhreflangentry_new: (a: number, b: number, c: number, d: number) => number;
@@ -415,10 +437,12 @@ export const wasminteractionresult_actionResults: (a: number) => [number, number
415
437
  export const wasminteractionresult_default: () => number;
416
438
  export const wasminteractionresult_finalHtml: (a: number) => [number, number];
417
439
  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;
440
+ export const wasminteractionresult_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
441
+ export const wasminteractionresult_screenshotBase64: (a: number) => [number, number];
419
442
  export const wasminteractionresult_set_actionResults: (a: number, b: number, c: number) => void;
420
443
  export const wasminteractionresult_set_finalHtml: (a: number, b: number, c: number) => void;
421
444
  export const wasminteractionresult_set_finalUrl: (a: number, b: number, c: number) => void;
445
+ export const wasminteractionresult_set_screenshotBase64: (a: number, b: number, c: number) => void;
422
446
  export const wasmjsonldentry_default: () => number;
423
447
  export const wasmjsonldentry_name: (a: number) => [number, number];
424
448
  export const wasmjsonldentry_new: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
@@ -602,10 +626,11 @@ export const wasmscraperesult_jsonLd: (a: number) => [number, number];
602
626
  export const wasmscraperesult_links: (a: number) => [number, number];
603
627
  export const wasmscraperesult_markdown: (a: number) => number;
604
628
  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;
629
+ 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
630
  export const wasmscraperesult_nofollowDetected: (a: number) => number;
607
631
  export const wasmscraperesult_noindexDetected: (a: number) => number;
608
632
  export const wasmscraperesult_responseMeta: (a: number) => number;
633
+ export const wasmscraperesult_screenshotBase64: (a: number) => [number, number];
609
634
  export const wasmscraperesult_set_assets: (a: number, b: number, c: number) => void;
610
635
  export const wasmscraperesult_set_authHeaderSent: (a: number, b: number) => void;
611
636
  export const wasmscraperesult_set_bodySize: (a: number, b: number) => void;
@@ -630,6 +655,7 @@ export const wasmscraperesult_set_metadata: (a: number, b: number) => void;
630
655
  export const wasmscraperesult_set_nofollowDetected: (a: number, b: number) => void;
631
656
  export const wasmscraperesult_set_noindexDetected: (a: number, b: number) => void;
632
657
  export const wasmscraperesult_set_responseMeta: (a: number, b: number) => void;
658
+ export const wasmscraperesult_set_screenshotBase64: (a: number, b: number, c: number) => void;
633
659
  export const wasmscraperesult_set_statusCode: (a: number, b: number) => void;
634
660
  export const wasmscraperesult_set_wasSkipped: (a: number, b: number) => void;
635
661
  export const wasmscraperesult_set_xRobotsTag: (a: number, b: number, c: number) => void;
@@ -646,13 +672,16 @@ export const wasmsitemapurl_set_lastmod: (a: number, b: number, c: number) => vo
646
672
  export const wasmsitemapurl_set_priority: (a: number, b: number, c: number) => void;
647
673
  export const wasmsitemapurl_set_url: (a: number, b: number, c: number) => void;
648
674
  export const wasmsitemapurl_url: (a: number) => [number, number];
675
+ export const wasmssrfpolicy_allowlist: (a: number) => any;
649
676
  export const wasmssrfpolicy_default: () => number;
650
677
  export const wasmssrfpolicy_denyPrivate: (a: number) => number;
651
678
  export const wasmssrfpolicy_fromEnv: () => number;
652
679
  export const wasmssrfpolicy_maxRedirects: (a: number) => number;
653
- export const wasmssrfpolicy_new: (a: number, b: number) => number;
680
+ export const wasmssrfpolicy_new: (a: number, b: number, c: number) => number;
681
+ export const wasmssrfpolicy_set_allowlist: (a: number, b: any) => void;
654
682
  export const wasmssrfpolicy_set_denyPrivate: (a: number, b: number) => void;
655
683
  export const wasmssrfpolicy_set_maxRedirects: (a: number, b: number) => void;
684
+ export const wasmhostmatcher_new: () => number;
656
685
  export const wasmcrawlconfig_set_rateLimitMs: (a: number, b: number, c: bigint) => void;
657
686
  export const wasmextractionmeta_set_promptTokens: (a: number, b: number, c: bigint) => void;
658
687
  export const wasmpageaction_set_milliseconds: (a: number, b: number, c: bigint) => void;
@@ -667,14 +696,12 @@ export const wasmbatchscraperesults_set_completedCount: (a: number, b: number) =
667
696
  export const wasmbatchscraperesults_set_failedCount: (a: number, b: number) => void;
668
697
  export const wasmbatchscraperesults_set_totalCount: (a: number, b: number) => void;
669
698
  export const wasmdownloadedasset_set_size: (a: number, b: number) => void;
670
- export const wasmdownloadeddocument_set_size: (a: number, b: number) => void;
671
699
  export const wasmimageinfo_set_width: (a: number, b: number) => void;
672
700
  export const wasmpagemetadata_set_wordCount: (a: number, b: number) => void;
673
701
  export const wasmbatchscraperesults_completedCount: (a: number) => number;
674
702
  export const wasmbatchscraperesults_failedCount: (a: number) => number;
675
703
  export const wasmbatchscraperesults_totalCount: (a: number) => number;
676
704
  export const wasmdownloadedasset_size: (a: number) => number;
677
- export const wasmdownloadeddocument_size: (a: number) => number;
678
705
  export const wasmlinkinfo_set_nofollow: (a: number, b: number) => void;
679
706
  export const wasmfaviconinfo_new: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number) => number;
680
707
  export const wasmimageinfo_width: (a: number) => number;
@@ -685,9 +712,9 @@ export const wasmcrawlconfig_set_requestTimeout: (a: number, b: number, c: bigin
685
712
  export const wasmpageaction_set_amount: (a: number, b: number, c: bigint) => void;
686
713
  export const wasmscraperesult_set_crawlDelay: (a: number, b: number, c: bigint) => void;
687
714
  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;
715
+ export const wasm_bindgen__convert__closures_____invoke__he29f1bb22c192c97: (a: number, b: number, c: any) => [number, number];
716
+ export const wasm_bindgen__convert__closures_____invoke__h06ea3d672ad56c9d: (a: number, b: number, c: any, d: any) => void;
717
+ export const wasm_bindgen__convert__closures_____invoke__hbe9f9227fe7d8a65: (a: number, b: number) => void;
691
718
  export const __wbindgen_malloc: (a: number, b: number) => number;
692
719
  export const __wbindgen_realloc: (a: number, b: number, c: number, d: number) => number;
693
720
  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.3",
5
+ "version": "1.2.1",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
@@ -290,7 +290,7 @@ export class WasmCrawlConfig {
290
290
  free(): void;
291
291
  [Symbol.dispose](): void;
292
292
  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);
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, maxLinksPerPage?: 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, documentOutputDir?: string | null, documentContentEncoding?: WasmDocumentContentEncoding | null, warcOutput?: string | null, browserProfile?: string | null, ssrfDenyPrivateExplicit?: boolean | null);
294
294
  /**
295
295
  * Validate the configuration, returning an error if any values are invalid.
296
296
  */
@@ -306,9 +306,13 @@ export class WasmCrawlConfig {
306
306
  content: WasmContentConfig;
307
307
  cookiesEnabled: boolean;
308
308
  customHeaders: any;
309
+ get documentContentEncoding(): string | undefined;
310
+ set documentContentEncoding(value: WasmDocumentContentEncoding | null | undefined);
309
311
  get documentMaxSize(): number | undefined;
310
312
  set documentMaxSize(value: number | null | undefined);
311
313
  documentMimeTypes: string[];
314
+ get documentOutputDir(): string | undefined;
315
+ set documentOutputDir(value: string | null | undefined);
312
316
  get documentUrlDepth(): number | undefined;
313
317
  set documentUrlDepth(value: number | null | undefined);
314
318
  downloadAssets: boolean;
@@ -328,6 +332,8 @@ export class WasmCrawlConfig {
328
332
  set maxConcurrent(value: number | null | undefined);
329
333
  get maxDepth(): number | undefined;
330
334
  set maxDepth(value: number | null | undefined);
335
+ get maxLinksPerPage(): number | undefined;
336
+ set maxLinksPerPage(value: number | null | undefined);
331
337
  get maxPages(): number | undefined;
332
338
  set maxPages(value: number | null | undefined);
333
339
  maxRedirects: number;
@@ -344,6 +350,8 @@ export class WasmCrawlConfig {
344
350
  saveBrowserProfile: boolean;
345
351
  softHttpErrors: boolean;
346
352
  ssrf: WasmSsrfPolicy;
353
+ get ssrfDenyPrivateExplicit(): boolean | undefined;
354
+ set ssrfDenyPrivateExplicit(value: boolean | null | undefined);
347
355
  stayOnDomain: boolean;
348
356
  get userAgent(): string | undefined;
349
357
  set userAgent(value: string | null | undefined);
@@ -410,6 +418,13 @@ export class WasmCrawlResult {
410
418
  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
419
  /**
412
420
  * Returns the count of unique normalized URLs encountered during crawling.
421
+ *
422
+ * Computed from `pages` (not the deprecated `normalized_urls` field) so it
423
+ * is correct across every binding that reconstructs `CrawlResult` from
424
+ * `pages` alone. In streaming mode `pages` is empty, so this returns 0 on
425
+ * the opaque-handle (C/Go/C#/Zig/Dart) path where it previously counted
426
+ * streamed pages — a known, accepted cost of making the other ten binding
427
+ * families correct.
413
428
  */
414
429
  uniqueNormalizedUrls(): number;
415
430
  browserUsed: boolean;
@@ -423,6 +438,18 @@ export class WasmCrawlResult {
423
438
  wasSkipped: boolean;
424
439
  }
425
440
 
441
+ /**
442
+ * Opt-in encoding applied to a downloaded document's bytes for callers who need the
443
+ * content available in a serializable field rather than reading it from disk.
444
+ *
445
+ * `None` (the `CrawlConfig.document_content_encoding` default) produces neither — unlike
446
+ * screenshots, base64-encoding a document by default would duplicate an already
447
+ * up-to-`document_max_size` buffer (50 MB default) in memory per document.
448
+ */
449
+ export enum WasmDocumentContentEncoding {
450
+ Base64 = 0,
451
+ }
452
+
426
453
  /**
427
454
  * A downloaded asset from a page.
428
455
  */
@@ -453,13 +480,18 @@ export class WasmDownloadedDocument {
453
480
  free(): void;
454
481
  [Symbol.dispose](): void;
455
482
  static default(): WasmDownloadedDocument;
456
- constructor(url?: string | null, mimeType?: string | null, size?: number | null, contentHash?: string | null, headers?: any | null, filename?: string | null);
483
+ 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);
484
+ get contentBase64(): string | undefined;
485
+ set contentBase64(value: string | null | undefined);
457
486
  contentHash: string;
487
+ get contentPath(): string | undefined;
488
+ set contentPath(value: string | null | undefined);
458
489
  get filename(): string | undefined;
459
490
  set filename(value: string | null | undefined);
460
491
  headers: any;
461
492
  mimeType: string;
462
493
  size: number;
494
+ truncated: boolean;
463
495
  url: string;
464
496
  }
465
497
 
@@ -534,6 +566,33 @@ export class WasmHeadingInfo {
534
566
  text: string;
535
567
  }
536
568
 
569
+ /**
570
+ * Hostname/IP allowlist matcher for SSRF policy.
571
+ *
572
+ * Serializes as an internally-tagged object so each variant is distinguishable on the
573
+ * wire and round-trips losslessly:
574
+ *
575
+ * ```json
576
+ * {"type": "exact", "value": "api.example.com"}
577
+ * {"type": "suffix", "value": ".example.com"}
578
+ * {"type": "cidr", "value": "10.0.0.0/8"}
579
+ * ```
580
+ *
581
+ * A bare JSON string is still accepted on deserialization and resolves to `Exact`,
582
+ * preserving configs written against the previous untagged representation.
583
+ *
584
+ * `Exact`: HostMatcher.Exact
585
+ */
586
+ export class WasmHostMatcher {
587
+ free(): void;
588
+ [Symbol.dispose](): void;
589
+ static default(): WasmHostMatcher;
590
+ constructor();
591
+ type: string;
592
+ get value(): string | undefined;
593
+ set value(value: string | null | undefined);
594
+ }
595
+
537
596
  /**
538
597
  * An hreflang alternate link entry.
539
598
  */
@@ -582,10 +641,12 @@ export class WasmInteractionResult {
582
641
  free(): void;
583
642
  [Symbol.dispose](): void;
584
643
  static default(): WasmInteractionResult;
585
- constructor(actionResults?: WasmActionResult[] | null, finalHtml?: string | null, finalUrl?: string | null);
644
+ constructor(actionResults?: WasmActionResult[] | null, finalHtml?: string | null, finalUrl?: string | null, screenshotBase64?: string | null);
586
645
  actionResults: WasmActionResult[];
587
646
  finalHtml: string;
588
647
  finalUrl: string;
648
+ get screenshotBase64(): string | undefined;
649
+ set screenshotBase64(value: string | null | undefined);
589
650
  }
590
651
 
591
652
  /**
@@ -830,7 +891,7 @@ export class WasmScrapeResult {
830
891
  free(): void;
831
892
  [Symbol.dispose](): void;
832
893
  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);
894
+ 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
895
  assets: WasmDownloadedAsset[];
835
896
  authHeaderSent: boolean;
836
897
  bodySize: number;
@@ -864,6 +925,8 @@ export class WasmScrapeResult {
864
925
  noindexDetected: boolean;
865
926
  get responseMeta(): WasmResponseMeta | undefined;
866
927
  set responseMeta(value: WasmResponseMeta | null | undefined);
928
+ get screenshotBase64(): string | undefined;
929
+ set screenshotBase64(value: string | null | undefined);
867
930
  statusCode: number;
868
931
  wasSkipped: boolean;
869
932
  get xRobotsTag(): string | undefined;
@@ -913,9 +976,18 @@ export class WasmSsrfPolicy {
913
976
  * - Outbound requests in a browser go through the fetch API, which enforces its own network policies.
914
977
  * - Rust-side SSRF checking is unenforceable and redundant in a wasm32 context.
915
978
  * - For testing and localhost access, the host's network sandbox is the enforcing boundary.
979
+ *
980
+ * **Node.js caveat:** `deny_private` (whatever its value) has no effect on hostname-based
981
+ * requests under `wasm32`. There is no DNS resolution on this target, so `validate_url`
982
+ * only ever checks a literal IP host; a domain name falls straight through to `Ok(())`. In a
983
+ * browser this is covered by same-origin/CORS. Node's `fetch` enforces no CORS, so a Node
984
+ * service embedding this wasm module can be driven to internal hosts by domain name even
985
+ * though `deny_private = true`. Do not rely on this policy to stop that in Node — enforce
986
+ * egress restrictions (network policy, firewall, proxy allowlist) outside the process.
916
987
  */
917
988
  static fromEnv(): WasmSsrfPolicy;
918
- constructor(denyPrivate?: boolean | null, maxRedirects?: number | null);
989
+ constructor(denyPrivate?: boolean | null, allowlist?: any | null, maxRedirects?: number | null);
990
+ allowlist: any;
919
991
  denyPrivate: boolean;
920
992
  maxRedirects: number;
921
993
  }