xberg 1.3.4 → 1.3.5

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 776ad3d215ba3a5adf1325330a593b9b4853acc77504fdc8d11161dea9374d6d
4
- data.tar.gz: d17b3122b02e8420d6b7d46e374278b6f1d9fde0889c9543f63cae2ef9a17f29
3
+ metadata.gz: 2fb31147a3b3ff05c73459891b1c38bd0b056ba12054ee443ebbb1dee6dea9c9
4
+ data.tar.gz: 8e0c0a12963f1a9cf6e894b72638040f2e751ff85fcd6642aff75bf61d1b1246
5
5
  SHA512:
6
- metadata.gz: fb7cdedf5123544de3abaa28010bb47127ce0fdb389b95d1ebeb6d2920c6c2dff92bd2d92081f2dad46659e6164cae092fc85dac955dca0c94de87bd3724cef9
7
- data.tar.gz: e45ffd440c69abf6ed32e28d945e5a08bc772d4253d542284248210dc5c2ea70efd018386b4614d827fc889756381d50e72b2b32dc9f82e00b44d5f965534721
6
+ metadata.gz: b99cac72c23ba63bccbc846f30ffa1eac13c4b75f6b5812b6cc050c8e3ba6ea82c93c153ce4b74e883220d869e55bce44541e299cdc90c86af6c4b63d1ba87be
7
+ data.tar.gz: 18e9fc96db580bc7bafd9578eaca72ad2f2d546245e186781426c9c3707294a237b576100b88cd38be60928a1166fe79f63574003b2f368dca2db7abfe0c5f41
@@ -167,9 +167,6 @@ name = "arbitrary"
167
167
  version = "1.4.2"
168
168
  source = "registry+https://github.com/rust-lang/crates.io-index"
169
169
  checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1"
170
- dependencies = [
171
- "derive_arbitrary",
172
- ]
173
170
 
174
171
  [[package]]
175
172
  name = "arc-swap"
@@ -707,18 +704,18 @@ dependencies = [
707
704
 
708
705
  [[package]]
709
706
  name = "bon"
710
- version = "3.10.1"
707
+ version = "3.10.2"
711
708
  source = "registry+https://github.com/rust-lang/crates.io-index"
712
- checksum = "60eafe0d77c3a2fc292c1d1346c3041b33c0a108085a2afabf672b70f69dbbc9"
709
+ checksum = "214f5df094ce551a10a30ffb9c70243d61f121a3d985a6495933e181dee6a7d2"
713
710
  dependencies = [
714
711
  "bon-macros",
715
712
  ]
716
713
 
717
714
  [[package]]
718
715
  name = "bon-macros"
719
- version = "3.10.1"
716
+ version = "3.10.2"
720
717
  source = "registry+https://github.com/rust-lang/crates.io-index"
721
- checksum = "bd0f9631d8aaaee112c41985d675ef269e02acbd4f33122836af4f0c5f699ff6"
718
+ checksum = "2706da6c749998cc555d04184909608956a69ad3f8ab1a076fbc867b4a3c3ce5"
722
719
  dependencies = [
723
720
  "darling 0.24.1",
724
721
  "ident_case",
@@ -899,7 +896,7 @@ dependencies = [
899
896
  "log",
900
897
  "quick-xml 0.41.0",
901
898
  "serde",
902
- "zip 8.6.0",
899
+ "zip",
903
900
  ]
904
901
 
905
902
  [[package]]
@@ -925,7 +922,7 @@ dependencies = [
925
922
  "tokenizers 0.22.2",
926
923
  "yoke",
927
924
  "zerocopy",
928
- "zip 8.6.0",
925
+ "zip",
929
926
  ]
930
927
 
931
928
  [[package]]
@@ -1001,9 +998,9 @@ dependencies = [
1001
998
 
1002
999
  [[package]]
1003
1000
  name = "cc"
1004
- version = "1.5.1"
1001
+ version = "1.6.0"
1005
1002
  source = "registry+https://github.com/rust-lang/crates.io-index"
1006
- checksum = "f360145194ee8e21db5ee7f3fcd4fe52210864c75c985dae33218202c8bbe040"
1003
+ checksum = "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630"
1007
1004
  dependencies = [
1008
1005
  "find-msvc-tools",
1009
1006
  "jobserver",
@@ -1408,9 +1405,9 @@ dependencies = [
1408
1405
 
1409
1406
  [[package]]
1410
1407
  name = "crawlberg"
1411
- version = "1.8.0"
1408
+ version = "1.10.1"
1412
1409
  source = "registry+https://github.com/rust-lang/crates.io-index"
1413
- checksum = "5c2db0cf209917529c36a2238d1f57b01c30a170bc3d3c29828dbbd8daca39fb"
1410
+ checksum = "5deba1d98a2443b6c43beca9ec699ed3bb2cd1a19d010bdebaceb4a57f119ce4"
1414
1411
  dependencies = [
1415
1412
  "ahash",
1416
1413
  "aho-corasick",
@@ -1420,8 +1417,10 @@ dependencies = [
1420
1417
  "base64 0.23.1",
1421
1418
  "blake3",
1422
1419
  "chrono",
1420
+ "crawlberg-robots",
1423
1421
  "dashmap",
1424
1422
  "encoding_rs",
1423
+ "fancy-regex 0.19.2",
1425
1424
  "flate2",
1426
1425
  "futures",
1427
1426
  "getrandom 0.3.4",
@@ -1429,15 +1428,22 @@ dependencies = [
1429
1428
  "html-escape",
1430
1429
  "html-to-markdown-rs",
1431
1430
  "html5ever",
1431
+ "hyper-util",
1432
+ "icu_casemap",
1433
+ "icu_normalizer",
1434
+ "idna",
1432
1435
  "ipnet",
1433
1436
  "liter-llm",
1434
1437
  "memchr",
1435
1438
  "notify",
1436
1439
  "opentelemetry",
1437
1440
  "opentelemetry-semantic-conventions",
1441
+ "percent-encoding",
1438
1442
  "quick-xml 0.42.0",
1439
1443
  "regex",
1444
+ "regex-syntax",
1440
1445
  "reqwest",
1446
+ "same-file",
1441
1447
  "serde",
1442
1448
  "serde_json",
1443
1449
  "sha2 0.11.0",
@@ -1451,6 +1457,12 @@ dependencies = [
1451
1457
  "web-time",
1452
1458
  ]
1453
1459
 
1460
+ [[package]]
1461
+ name = "crawlberg-robots"
1462
+ version = "1.10.1"
1463
+ source = "registry+https://github.com/rust-lang/crates.io-index"
1464
+ checksum = "d8499344c8bacd91c1cd16c36e4998769ecc1210179e88d2b80eb33468d6fee9"
1465
+
1454
1466
  [[package]]
1455
1467
  name = "crc32fast"
1456
1468
  version = "1.5.2"
@@ -1688,17 +1700,6 @@ version = "0.5.8"
1688
1700
  source = "registry+https://github.com/rust-lang/crates.io-index"
1689
1701
  checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
1690
1702
 
1691
- [[package]]
1692
- name = "derive_arbitrary"
1693
- version = "1.4.2"
1694
- source = "registry+https://github.com/rust-lang/crates.io-index"
1695
- checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a"
1696
- dependencies = [
1697
- "proc-macro2",
1698
- "quote",
1699
- "syn 2.0.119",
1700
- ]
1701
-
1702
1703
  [[package]]
1703
1704
  name = "derive_builder"
1704
1705
  version = "0.20.2"
@@ -2105,9 +2106,9 @@ dependencies = [
2105
2106
 
2106
2107
  [[package]]
2107
2108
  name = "fearless_simd"
2108
- version = "0.4.1"
2109
+ version = "1.0.0"
2109
2110
  source = "registry+https://github.com/rust-lang/crates.io-index"
2110
- checksum = "b97b65636e5b9ef369943878ac74335ba1c55c1cb6adbf1e2c293c624248d693"
2111
+ checksum = "f3772b63c40606beea8fe1f7b06a60de27ceb9bfc2d9dad3427368ca41dc7e62"
2111
2112
 
2112
2113
  [[package]]
2113
2114
  name = "filetime"
@@ -2191,9 +2192,9 @@ checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
2191
2192
 
2192
2193
  [[package]]
2193
2194
  name = "font-types"
2194
- version = "0.12.5"
2195
+ version = "0.12.6"
2195
2196
  source = "registry+https://github.com/rust-lang/crates.io-index"
2196
- checksum = "b8eb065f3251655b3c90e22e5e363f310fc5332fb3402e37bbc94752283248f6"
2197
+ checksum = "6c92d9081c7ab3bd83ef1eecdfad090f3d966e3ce74106779664114cfe1a6274"
2197
2198
  dependencies = [
2198
2199
  "bytemuck",
2199
2200
  ]
@@ -2834,24 +2835,24 @@ dependencies = [
2834
2835
 
2835
2836
  [[package]]
2836
2837
  name = "hayro-ccitt"
2837
- version = "0.3.0"
2838
+ version = "0.4.0"
2838
2839
  source = "registry+https://github.com/rust-lang/crates.io-index"
2839
- checksum = "9f4d0e94ddd48749f06bbe4e5389fb9799a0c45bcaf00495042076ef05e3241a"
2840
+ checksum = "2866f0d976e76497480b853d5e258dab6e4b89ecfe991124e08f15dfa8fd03ad"
2840
2841
 
2841
2842
  [[package]]
2842
2843
  name = "hayro-jbig2"
2843
- version = "0.3.0"
2844
+ version = "0.3.1"
2844
2845
  source = "registry+https://github.com/rust-lang/crates.io-index"
2845
- checksum = "69374b3668dd45aeb3d3145cda68f2c7b4f223aaa2511e67d076f1c7d741388d"
2846
+ checksum = "000e025850f4592ddcaee85640db70704151f2bafd43b6f431aa5b6a2c6a35a9"
2846
2847
  dependencies = [
2847
2848
  "hayro-ccitt",
2848
2849
  ]
2849
2850
 
2850
2851
  [[package]]
2851
2852
  name = "hayro-jpeg2000"
2852
- version = "0.4.0"
2853
+ version = "0.4.1"
2853
2854
  source = "registry+https://github.com/rust-lang/crates.io-index"
2854
- checksum = "bab0c77d09c0d9b144d429d0bf0fcd4c63c01d5f6c33f9b8ed501283e0f1ef76"
2855
+ checksum = "122c5f834c37a2260b9c851bb8be685cf539b2a8b94b704a931ef7d2525d5835"
2855
2856
  dependencies = [
2856
2857
  "fearless_simd",
2857
2858
  ]
@@ -2957,9 +2958,9 @@ checksum = "c9356095b4b41197bba32173600e1582792cda618f65d12f68e2e77d273413c5"
2957
2958
 
2958
2959
  [[package]]
2959
2960
  name = "html-to-markdown-rs"
2960
- version = "3.16.0"
2961
+ version = "3.17.1"
2961
2962
  source = "registry+https://github.com/rust-lang/crates.io-index"
2962
- checksum = "74c4d770081ede1c6ec100e61a57cac65bf41d28ab5516b1eae907b9f3415778"
2963
+ checksum = "1018d58b647013e9968c46a6625321611c9026df6a44e12cea4c83b207c5e2bb"
2963
2964
  dependencies = [
2964
2965
  "ahash",
2965
2966
  "astral-tl",
@@ -3154,6 +3155,28 @@ dependencies = [
3154
3155
  "cc",
3155
3156
  ]
3156
3157
 
3158
+ [[package]]
3159
+ name = "icu_casemap"
3160
+ version = "2.3.0"
3161
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3162
+ checksum = "f2edfd120d8445de853cf53a1abec916f638f933a70a6f4bf8f7e2d7b7f884e9"
3163
+ dependencies = [
3164
+ "icu_casemap_data",
3165
+ "icu_collections",
3166
+ "icu_locale_core",
3167
+ "icu_properties",
3168
+ "icu_provider",
3169
+ "potential_utf",
3170
+ "writeable",
3171
+ "zerovec",
3172
+ ]
3173
+
3174
+ [[package]]
3175
+ name = "icu_casemap_data"
3176
+ version = "2.3.0"
3177
+ source = "registry+https://github.com/rust-lang/crates.io-index"
3178
+ checksum = "059fcda0fc8d33effc6633a8cf0d8a3c17caf7d7c91918fba9918744f501e4e8"
3179
+
3157
3180
  [[package]]
3158
3181
  name = "icu_collections"
3159
3182
  version = "2.3.0"
@@ -3162,6 +3185,7 @@ checksum = "fa68d21081c4a05d5a901a1c62add574c77048b6a1c67be3b50ce0b60d4ca513"
3162
3185
  dependencies = [
3163
3186
  "displaydoc",
3164
3187
  "potential_utf",
3188
+ "serde",
3165
3189
  "utf8_iter",
3166
3190
  "yoke",
3167
3191
  "zerofrom",
@@ -3621,9 +3645,9 @@ dependencies = [
3621
3645
 
3622
3646
  [[package]]
3623
3647
  name = "jsonschema"
3624
- version = "0.58.4"
3648
+ version = "0.58.5"
3625
3649
  source = "registry+https://github.com/rust-lang/crates.io-index"
3626
- checksum = "5761b0ca0a31464030d7c2a98087fde3124ebb5e09b5a112cdb815f03b8ee150"
3650
+ checksum = "ea18b8d5e1469b1bdd6b349169305141316a7c26da27f239773b65c830c0f5d6"
3627
3651
  dependencies = [
3628
3652
  "ahash",
3629
3653
  "bytecount",
@@ -3649,18 +3673,18 @@ dependencies = [
3649
3673
 
3650
3674
  [[package]]
3651
3675
  name = "jsonschema-regex"
3652
- version = "0.58.4"
3676
+ version = "0.58.5"
3653
3677
  source = "registry+https://github.com/rust-lang/crates.io-index"
3654
- checksum = "f1ffba4378a3d6ee7f1ab65a8ed95c711ccfe4a3870932bdce89d8260abed38a"
3678
+ checksum = "854e9e22c420535035e95eed240cbfb4a5f4b7da74d122d63144e0c31926dbfd"
3655
3679
  dependencies = [
3656
3680
  "regex-syntax",
3657
3681
  ]
3658
3682
 
3659
3683
  [[package]]
3660
3684
  name = "jsonschema-value"
3661
- version = "0.58.4"
3685
+ version = "0.58.5"
3662
3686
  source = "registry+https://github.com/rust-lang/crates.io-index"
3663
- checksum = "386121f898b560ff6aaa7974952720e9d9276a201eca31296387c2ed8707855e"
3687
+ checksum = "4e3bfac11ac357ec620880025757d38c67da8fd5b9ef5024d19f0f360002b4ca"
3664
3688
  dependencies = [
3665
3689
  "ahash",
3666
3690
  "bytecount",
@@ -4159,15 +4183,14 @@ dependencies = [
4159
4183
 
4160
4184
  [[package]]
4161
4185
  name = "mel_spec"
4162
- version = "0.4.0"
4186
+ version = "0.5.0"
4163
4187
  source = "registry+https://github.com/rust-lang/crates.io-index"
4164
- checksum = "0cfc86c477482e75cca77856f89cd5cb485c91331269abff41b9b15364a49492"
4188
+ checksum = "53674cd00346021f4d45f82c8645986e9aef1dc188f3a98a5cf7ebaa75a5b659"
4165
4189
  dependencies = [
4166
4190
  "cc",
4167
4191
  "image 0.24.9",
4168
4192
  "ndarray 0.16.1",
4169
- "ndarray-npy",
4170
- "num",
4193
+ "realfft",
4171
4194
  "rustfft",
4172
4195
  ]
4173
4196
 
@@ -4253,9 +4276,9 @@ dependencies = [
4253
4276
 
4254
4277
  [[package]]
4255
4278
  name = "mio"
4256
- version = "1.2.3"
4279
+ version = "1.2.4"
4257
4280
  source = "registry+https://github.com/rust-lang/crates.io-index"
4258
- checksum = "4b18443e9c262bfe8fa82f51666e2642c53393f7e5c27b3e1aeab922cff5b9d8"
4281
+ checksum = "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee"
4259
4282
  dependencies = [
4260
4283
  "libc",
4261
4284
  "log",
@@ -4435,20 +4458,6 @@ dependencies = [
4435
4458
  "rawpointer",
4436
4459
  ]
4437
4460
 
4438
- [[package]]
4439
- name = "ndarray-npy"
4440
- version = "0.9.1"
4441
- source = "registry+https://github.com/rust-lang/crates.io-index"
4442
- checksum = "7b313788c468c49141a9d9b6131fc15f403e6ef4e8446a0b2e18f664ddb278a9"
4443
- dependencies = [
4444
- "byteorder",
4445
- "ndarray 0.16.1",
4446
- "num-complex",
4447
- "num-traits",
4448
- "py_literal",
4449
- "zip 2.4.2",
4450
- ]
4451
-
4452
4461
  [[package]]
4453
4462
  name = "new_debug_unreachable"
4454
4463
  version = "1.0.6"
@@ -4953,48 +4962,6 @@ version = "2.3.2"
4953
4962
  source = "registry+https://github.com/rust-lang/crates.io-index"
4954
4963
  checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
4955
4964
 
4956
- [[package]]
4957
- name = "pest"
4958
- version = "2.9.2"
4959
- source = "registry+https://github.com/rust-lang/crates.io-index"
4960
- checksum = "45d3aca230fad2e6f6317ca0a72724338c4960cb97168a85cdee66df4a9a21a8"
4961
- dependencies = [
4962
- "memchr",
4963
- "ucd-trie",
4964
- ]
4965
-
4966
- [[package]]
4967
- name = "pest_derive"
4968
- version = "2.9.2"
4969
- source = "registry+https://github.com/rust-lang/crates.io-index"
4970
- checksum = "284b60557f2c4a2e72ad3f2d34d42685a2fa4a6a61d0d2a10c0ae2a5e916c2cf"
4971
- dependencies = [
4972
- "pest",
4973
- "pest_generator",
4974
- ]
4975
-
4976
- [[package]]
4977
- name = "pest_generator"
4978
- version = "2.9.2"
4979
- source = "registry+https://github.com/rust-lang/crates.io-index"
4980
- checksum = "1d9d1f08a115309ee99268cf85e5228e0e56aa9caf8841ec12866b6be07c3109"
4981
- dependencies = [
4982
- "pest",
4983
- "pest_meta",
4984
- "proc-macro2",
4985
- "quote",
4986
- "syn 2.0.119",
4987
- ]
4988
-
4989
- [[package]]
4990
- name = "pest_meta"
4991
- version = "2.9.2"
4992
- source = "registry+https://github.com/rust-lang/crates.io-index"
4993
- checksum = "ed93ba1a9ffcca32130a5188701c81c0c49cf00d4b7c5007d5148951d743adcb"
4994
- dependencies = [
4995
- "pest",
4996
- ]
4997
-
4998
4965
  [[package]]
4999
4966
  name = "phc"
5000
4967
  version = "0.6.1"
@@ -5221,9 +5188,9 @@ dependencies = [
5221
5188
 
5222
5189
  [[package]]
5223
5190
  name = "powerfmt"
5224
- version = "0.2.0"
5191
+ version = "0.2.1"
5225
5192
  source = "registry+https://github.com/rust-lang/crates.io-index"
5226
- checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
5193
+ checksum = "4a6394b9e965e73d0a289ee54f589087e2c676aedf60885baf52c76b771e4958"
5227
5194
 
5228
5195
  [[package]]
5229
5196
  name = "ppmd-rust"
@@ -5375,19 +5342,6 @@ version = "0.1.30"
5375
5342
  source = "registry+https://github.com/rust-lang/crates.io-index"
5376
5343
  checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea"
5377
5344
 
5378
- [[package]]
5379
- name = "py_literal"
5380
- version = "0.4.0"
5381
- source = "registry+https://github.com/rust-lang/crates.io-index"
5382
- checksum = "102df7a3d46db9d3891f178dcc826dc270a6746277a9ae6436f8d29fd490a8e1"
5383
- dependencies = [
5384
- "num-bigint",
5385
- "num-complex",
5386
- "num-traits",
5387
- "pest",
5388
- "pest_derive",
5389
- ]
5390
-
5391
5345
  [[package]]
5392
5346
  name = "qcms"
5393
5347
  version = "0.3.0"
@@ -5772,6 +5726,15 @@ dependencies = [
5772
5726
  "once_cell",
5773
5727
  ]
5774
5728
 
5729
+ [[package]]
5730
+ name = "realfft"
5731
+ version = "3.5.0"
5732
+ source = "registry+https://github.com/rust-lang/crates.io-index"
5733
+ checksum = "f821338fddb99d089116342c46e9f1fbf3828dba077674613e734e01d6ea8677"
5734
+ dependencies = [
5735
+ "rustfft",
5736
+ ]
5737
+
5775
5738
  [[package]]
5776
5739
  name = "reborrow"
5777
5740
  version = "0.5.5"
@@ -5828,9 +5791,9 @@ dependencies = [
5828
5791
 
5829
5792
  [[package]]
5830
5793
  name = "referencing"
5831
- version = "0.58.4"
5794
+ version = "0.58.5"
5832
5795
  source = "registry+https://github.com/rust-lang/crates.io-index"
5833
- checksum = "5cfa1c91745dbca76a406b926918d7c63e15a4525ebab939fec3e015a1fb82b1"
5796
+ checksum = "590efadb0a669f1712c1e3ab810a55d4c3d20d0127c455f7236dd0710aba0346"
5834
5797
  dependencies = [
5835
5798
  "ahash",
5836
5799
  "fluent-uri",
@@ -6522,9 +6485,9 @@ dependencies = [
6522
6485
 
6523
6486
  [[package]]
6524
6487
  name = "serde_toon_format"
6525
- version = "0.1.2"
6488
+ version = "0.2.0"
6526
6489
  source = "registry+https://github.com/rust-lang/crates.io-index"
6527
- checksum = "45abc88be1b465c1676fbbe94f866e872d3e9c22b3c10de6e1d90ae76dd45d51"
6490
+ checksum = "83047917cd35d3cf33b1cfa3085e048546c8fb0f1f86ab90aa8e680196679fc3"
6528
6491
  dependencies = [
6529
6492
  "itoa",
6530
6493
  "memchr",
@@ -7538,9 +7501,9 @@ dependencies = [
7538
7501
 
7539
7502
  [[package]]
7540
7503
  name = "tokio"
7541
- version = "1.53.1"
7504
+ version = "1.53.2"
7542
7505
  source = "registry+https://github.com/rust-lang/crates.io-index"
7543
- checksum = "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed"
7506
+ checksum = "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044"
7544
7507
  dependencies = [
7545
7508
  "bytes",
7546
7509
  "libc",
@@ -7961,9 +7924,9 @@ checksum = "ca0d1bf6fdd806e43ae5198f82f527056d359def39e54e67a0f478ac09dac081"
7961
7924
 
7962
7925
  [[package]]
7963
7926
  name = "tree-sitter-language-pack"
7964
- version = "1.20.0"
7927
+ version = "1.21.0"
7965
7928
  source = "registry+https://github.com/rust-lang/crates.io-index"
7966
- checksum = "a360d1c9fd92fc96d9802ce77422d1a90d59d2ec767ef2c0833691f9ac86689c"
7929
+ checksum = "1ad8597fc66b66d5ba13729827f07f47b89f9f8336b7441c030cad5ecb63969f"
7967
7930
  dependencies = [
7968
7931
  "ahash",
7969
7932
  "cc",
@@ -7992,9 +7955,9 @@ checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
7992
7955
 
7993
7956
  [[package]]
7994
7957
  name = "twox-hash"
7995
- version = "2.1.4"
7958
+ version = "2.1.5"
7996
7959
  source = "registry+https://github.com/rust-lang/crates.io-index"
7997
- checksum = "5283634e518fe9e82c7b20520bb4bc209009fd16c82077c802f8111ecbb0117a"
7960
+ checksum = "86a801b3cea342a06d468c8710662aa29e5e05e4f5c0d62f00bbb7f2ad7941c2"
7998
7961
 
7999
7962
  [[package]]
8000
7963
  name = "typed-arena"
@@ -8068,17 +8031,11 @@ dependencies = [
8068
8031
  "unicode-math-class",
8069
8032
  ]
8070
8033
 
8071
- [[package]]
8072
- name = "ucd-trie"
8073
- version = "0.1.7"
8074
- source = "registry+https://github.com/rust-lang/crates.io-index"
8075
- checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971"
8076
-
8077
8034
  [[package]]
8078
8035
  name = "unhwp"
8079
- version = "0.13.0"
8036
+ version = "0.13.2"
8080
8037
  source = "registry+https://github.com/rust-lang/crates.io-index"
8081
- checksum = "c58f5bccc79e6b61afb38e13497a5eefcf6d47d9279f6fe2955f2352386c5780"
8038
+ checksum = "b7c1ba4cd5dbec145f52c85932321667c164ed71852a13f5ebc5e46182b7e4a1"
8082
8039
  dependencies = [
8083
8040
  "cfb 0.15.0",
8084
8041
  "flate2",
@@ -8092,14 +8049,14 @@ dependencies = [
8092
8049
  "thiserror 2.0.21",
8093
8050
  "unicode-normalization",
8094
8051
  "unparser-shared",
8095
- "zip 8.6.0",
8052
+ "zip",
8096
8053
  ]
8097
8054
 
8098
8055
  [[package]]
8099
8056
  name = "unicase"
8100
- version = "2.9.0"
8057
+ version = "2.10.0"
8101
8058
  source = "registry+https://github.com/rust-lang/crates.io-index"
8102
- checksum = "dbc4bc3a9f746d862c45cb89d705aa10f187bb96c76001afab07a0d35ce60142"
8059
+ checksum = "357cc3acc6a036009fd6c973ed009037c732d60d0b4f6c673e9041497482a28f"
8103
8060
 
8104
8061
  [[package]]
8105
8062
  name = "unicode-bidi"
@@ -8331,9 +8288,9 @@ dependencies = [
8331
8288
 
8332
8289
  [[package]]
8333
8290
  name = "uuid"
8334
- version = "1.26.1"
8291
+ version = "1.27.0"
8335
8292
  source = "registry+https://github.com/rust-lang/crates.io-index"
8336
- checksum = "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce"
8293
+ checksum = "97277d36b9c3ace13e58fa6e753f8b0bbbf302a18dd193240d70f9e29681059a"
8337
8294
  dependencies = [
8338
8295
  "getrandom 0.4.3",
8339
8296
  "js-sys",
@@ -8999,9 +8956,9 @@ dependencies = [
8999
8956
 
9000
8957
  [[package]]
9001
8958
  name = "xberg"
9002
- version = "1.3.4"
8959
+ version = "1.3.5"
9003
8960
  source = "registry+https://github.com/rust-lang/crates.io-index"
9004
- checksum = "ca1840b552a16d2d9a2dbb9dec557e822cc9c834b32c6740726413d508e463e2"
8961
+ checksum = "31c148cfc7f6f51d18e1c8368ff14d9cebb4881464ffb8c7aa856e581179b41f"
9005
8962
  dependencies = [
9006
8963
  "aes-gcm",
9007
8964
  "ahash",
@@ -9133,14 +9090,14 @@ dependencies = [
9133
9090
  "xberg-pdfium-render",
9134
9091
  "xberg-tesseract",
9135
9092
  "zeroize",
9136
- "zip 8.6.0",
9093
+ "zip",
9137
9094
  ]
9138
9095
 
9139
9096
  [[package]]
9140
9097
  name = "xberg-candle-ocr"
9141
- version = "1.3.4"
9098
+ version = "1.3.5"
9142
9099
  source = "registry+https://github.com/rust-lang/crates.io-index"
9143
- checksum = "c1fcf7160e4c88f64b30fef0cca75c849c41874fce7269066a152a45f008fe80"
9100
+ checksum = "cda49ad9614d9ac56ce0e83ea13315af2219ffce77e9e581c8029f38351a3614"
9144
9101
  dependencies = [
9145
9102
  "base64 0.23.1",
9146
9103
  "candle-core",
@@ -9160,9 +9117,9 @@ dependencies = [
9160
9117
 
9161
9118
  [[package]]
9162
9119
  name = "xberg-gliner"
9163
- version = "1.3.4"
9120
+ version = "1.3.5"
9164
9121
  source = "registry+https://github.com/rust-lang/crates.io-index"
9165
- checksum = "d1ecc238993ea3b1f38084c3fbe41a689ed8321145454078057c5991522d02e9"
9122
+ checksum = "cbb95e848402e644ba5044c1ed2dbc05f482c8e2f9d531fc44417c9e0d44fbd2"
9166
9123
  dependencies = [
9167
9124
  "getrandom 0.2.17",
9168
9125
  "getrandom 0.3.4",
@@ -9176,9 +9133,9 @@ dependencies = [
9176
9133
 
9177
9134
  [[package]]
9178
9135
  name = "xberg-libheif"
9179
- version = "1.3.4"
9136
+ version = "1.3.5"
9180
9137
  source = "registry+https://github.com/rust-lang/crates.io-index"
9181
- checksum = "db2f00105c1a2eaa09437849281da3e917410cf3dd45fbc8782bbc96d2eacde6"
9138
+ checksum = "22a1a4e50e9e39d2dbbba80d1c5b789e366eae939abe54e925fbbecac487a5ec"
9182
9139
  dependencies = [
9183
9140
  "cfg-if",
9184
9141
  "enumn",
@@ -9189,9 +9146,9 @@ dependencies = [
9189
9146
 
9190
9147
  [[package]]
9191
9148
  name = "xberg-libwpd"
9192
- version = "1.3.4"
9149
+ version = "1.3.5"
9193
9150
  source = "registry+https://github.com/rust-lang/crates.io-index"
9194
- checksum = "2ee648b64ea792f80741925552acd13e69bf771d9b86039555e660593d6732c0"
9151
+ checksum = "f70f597ee8b0dbe48703f35b6c1c9723b47ebe53893ff132836d24cfdd9fc141"
9195
9152
  dependencies = [
9196
9153
  "cc",
9197
9154
  "flate2",
@@ -9204,9 +9161,9 @@ dependencies = [
9204
9161
 
9205
9162
  [[package]]
9206
9163
  name = "xberg-native-pdf"
9207
- version = "1.3.4"
9164
+ version = "1.3.5"
9208
9165
  source = "registry+https://github.com/rust-lang/crates.io-index"
9209
- checksum = "4fe79b781a7212508ab39b2be14dcde450e006e2b288207ac6f3eb130804e6bc"
9166
+ checksum = "baaee7fbbed92c1b495f5b6d8fc0248710916457ce76b539017d158b3520abaa"
9210
9167
  dependencies = [
9211
9168
  "aes 0.9.3",
9212
9169
  "base64 0.23.1",
@@ -9251,9 +9208,9 @@ dependencies = [
9251
9208
 
9252
9209
  [[package]]
9253
9210
  name = "xberg-paddle-ocr"
9254
- version = "1.3.4"
9211
+ version = "1.3.5"
9255
9212
  source = "registry+https://github.com/rust-lang/crates.io-index"
9256
- checksum = "f5ff67ca24c1f2a22730c9e6dbcd5f5614b244fe8fb74c3e1e9b13073f8a4c9d"
9213
+ checksum = "5610a02a608e2a154948b5ff87126f703e82045e6512fa23d5dcbdeac8c2ff0c"
9257
9214
  dependencies = [
9258
9215
  "geo-clipper",
9259
9216
  "geo-types",
@@ -9268,9 +9225,9 @@ dependencies = [
9268
9225
 
9269
9226
  [[package]]
9270
9227
  name = "xberg-pdfium-render"
9271
- version = "1.3.4"
9228
+ version = "1.3.5"
9272
9229
  source = "registry+https://github.com/rust-lang/crates.io-index"
9273
- checksum = "90013a4daf6eca014fd0e1fb9cea7cbac5ba93316338a4181feead9aea2b1f78"
9230
+ checksum = "4a9cf0638be244877d99b2ae6134ba1a88b7e16ec9e15c82bb3a5c0a1f063cb8"
9274
9231
  dependencies = [
9275
9232
  "bitflags 2.13.2",
9276
9233
  "bytemuck",
@@ -9287,7 +9244,7 @@ dependencies = [
9287
9244
 
9288
9245
  [[package]]
9289
9246
  name = "xberg-rb"
9290
- version = "1.3.4"
9247
+ version = "1.3.5"
9291
9248
  dependencies = [
9292
9249
  "async-trait",
9293
9250
  "crawlberg",
@@ -9303,9 +9260,9 @@ dependencies = [
9303
9260
 
9304
9261
  [[package]]
9305
9262
  name = "xberg-tesseract"
9306
- version = "1.3.4"
9263
+ version = "1.3.5"
9307
9264
  source = "registry+https://github.com/rust-lang/crates.io-index"
9308
- checksum = "29967431e67fd43c971d9d348935ee1ca58223bb3110b470dca7fdda0fd67c30"
9265
+ checksum = "611d0b8d32a011468a56fa123475d6a12e5f290056c5259fa694dc82622cab89"
9309
9266
  dependencies = [
9310
9267
  "cc",
9311
9268
  "cmake",
@@ -9315,7 +9272,7 @@ dependencies = [
9315
9272
  "sha2 0.11.0",
9316
9273
  "tempfile",
9317
9274
  "thiserror 2.0.21",
9318
- "zip 8.6.0",
9275
+ "zip",
9319
9276
  ]
9320
9277
 
9321
9278
  [[package]]
@@ -9590,23 +9547,6 @@ dependencies = [
9590
9547
  "syn 3.0.6",
9591
9548
  ]
9592
9549
 
9593
- [[package]]
9594
- name = "zip"
9595
- version = "2.4.2"
9596
- source = "registry+https://github.com/rust-lang/crates.io-index"
9597
- checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50"
9598
- dependencies = [
9599
- "arbitrary",
9600
- "crc32fast",
9601
- "crossbeam-utils",
9602
- "displaydoc",
9603
- "flate2",
9604
- "indexmap",
9605
- "memchr",
9606
- "thiserror 2.0.21",
9607
- "zopfli",
9608
- ]
9609
-
9610
9550
  [[package]]
9611
9551
  name = "zip"
9612
9552
  version = "8.6.0"
@@ -1,11 +1,11 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:715ad8642ffff546e63c46773a283e4a03bcb5b87f1ccadddc688baa7e1c4d1d
2
+ # alef:hash:d62e9addf1ad2582f441641d4a00616cca3d0d9f70027e36f6683c9a097c42d2
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify
5
5
 
6
6
  [package]
7
7
  name = "xberg-rb"
8
- version = "1.3.4"
8
+ version = "1.3.5"
9
9
  edition = "2024"
10
10
  license = "MIT"
11
11
  description = "High-performance document intelligence library"
@@ -72,8 +72,8 @@ xml = ["xberg/xml"]
72
72
 
73
73
  [dependencies]
74
74
  async-trait = "0.1"
75
- crawlberg = { default-features = false, version = "1.8.0" }
76
- html-to-markdown-rs = { default-features = false, version = "3.16" }
75
+ crawlberg = { default-features = false, version = "1.10.1" }
76
+ html-to-markdown-rs = { default-features = false, version = "3.17.1" }
77
77
  magnus = "0.9"
78
78
  rb-sys = ">=0.9.130, <0.10"
79
79
  serde = { version = "1", features = ["derive"] }
@@ -82,13 +82,13 @@ tokio = { version = "1", features = ["rt-multi-thread"] }
82
82
  tracing = "0.1"
83
83
 
84
84
  [target.'cfg(all(target_os = "macos", target_arch = "x86_64"))'.dependencies]
85
- xberg = { version = "1.3.4", default-features = false, features = ["macos-intel-target", "simd-utf8"] }
85
+ xberg = { version = "1.3.5", default-features = false, features = ["macos-intel-target", "simd-utf8"] }
86
86
 
87
87
  [target.'cfg(not(any(target_os = "windows", all(target_os = "macos", target_arch = "x86_64"))))'.dependencies]
88
- xberg = { version = "1.3.4", features = ["full", "pdf", "pdf-pdfium", "ocr", "paddle-ocr", "paddle-ocr-types", "layout-detection", "layout-types", "embeddings", "embedding-presets", "reranker", "reranker-presets", "sparse-embeddings", "sparse-embedding-presets", "late-interaction", "late-interaction-presets", "chunking", "keywords-yake", "keywords-rake", "language-detection", "html", "tree-sitter", "office", "email", "archives", "stopwords", "auto-rotate", "auto-rotate-types", "tokio-runtime", "api", "api-types", "mcp", "liter-llm", "quality", "svg", "transcription", "transcription-types", "classification", "captioning", "formula-recognition", "ner-onnx", "ner-llm", "diff", "markdown-footnotes", "redaction", "enrichment", "heuristics", "presets", "structured", "url-ingestion"] }
88
+ xberg = { version = "1.3.5", features = ["full", "pdf", "pdf-pdfium", "ocr", "paddle-ocr", "paddle-ocr-types", "layout-detection", "layout-types", "embeddings", "embedding-presets", "reranker", "reranker-presets", "sparse-embeddings", "sparse-embedding-presets", "late-interaction", "late-interaction-presets", "chunking", "keywords-yake", "keywords-rake", "language-detection", "html", "tree-sitter", "office", "email", "archives", "stopwords", "auto-rotate", "auto-rotate-types", "tokio-runtime", "api", "api-types", "mcp", "liter-llm", "quality", "svg", "transcription", "transcription-types", "classification", "captioning", "formula-recognition", "ner-onnx", "ner-llm", "diff", "markdown-footnotes", "redaction", "enrichment", "heuristics", "presets", "structured", "url-ingestion"] }
89
89
 
90
90
  [target.'cfg(target_os = "windows")'.dependencies]
91
- xberg = { version = "1.3.4", default-features = false, features = ["windows-gnu-target", "simd-utf8"] }
91
+ xberg = { version = "1.3.5", default-features = false, features = ["windows-gnu-target", "simd-utf8"] }
92
92
 
93
93
  # This crate deliberately does not use `[lints]` / `workspace = true`: its C-ABI /
94
94
  # PyO3 / napi / ext-php-rs / NIF boundary requires `unsafe` code, and the workspace's
@@ -1,5 +1,5 @@
1
1
  // This file is auto-generated by alef. DO NOT EDIT.
2
- // alef:hash:3e862eca7b1250c4aa8d40b5563353572b94bd205d31f9f57c9efc950fcd26cb
2
+ // alef:hash:3751950d58564a09b72eb0e65f2f992e39f3dcd2cd851cd4493626ba6caef9a0
3
3
  // Re-generate with: alef generate
4
4
  #![allow(dead_code, unused_imports, unused_variables)]
5
5
  #![allow(
@@ -1126,7 +1126,7 @@ impl BoundingBox {
1126
1126
  }
1127
1127
  }
1128
1128
 
1129
- #[derive(Clone, Debug, serde::Serialize)]
1129
+ #[derive(Clone, serde::Serialize)]
1130
1130
  #[serde(default)]
1131
1131
  #[magnus::wrap(class = "Xberg::BrowserConfig")]
1132
1132
  pub struct BrowserConfig {
@@ -1146,6 +1146,8 @@ pub struct BrowserConfig {
1146
1146
  robots_user_agent: Option<String>,
1147
1147
  capture_network_events: bool,
1148
1148
  session_affinity: bool,
1149
+ chrome_path: Option<String>,
1150
+ chrome_args: Vec<String>,
1149
1151
  }
1150
1152
 
1151
1153
  unsafe impl IntoValueFromNative for BrowserConfig {}
@@ -1175,6 +1177,29 @@ impl magnus::TryConvert for BrowserConfig {
1175
1177
  }
1176
1178
 
1177
1179
  unsafe impl TryConvertOwned for BrowserConfig {}
1180
+ impl std::fmt::Debug for BrowserConfig {
1181
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1182
+ let mut debug = f.debug_struct("BrowserConfig");
1183
+ debug.field("mode", &self.mode);
1184
+ debug.field("backend", &self.backend);
1185
+ debug.field("endpoint", &"<redacted>");
1186
+ debug.field("timeout", &self.timeout);
1187
+ debug.field("overall_timeout", &self.overall_timeout);
1188
+ debug.field("shutdown_timeout", &self.shutdown_timeout);
1189
+ debug.field("wait", &self.wait);
1190
+ debug.field("wait_selector", &self.wait_selector);
1191
+ debug.field("extra_wait", &self.extra_wait);
1192
+ debug.field("proxy", &self.proxy);
1193
+ debug.field("block_url_patterns", &self.block_url_patterns);
1194
+ debug.field("eval_script", &"<redacted>");
1195
+ debug.field("robots_user_agent", &self.robots_user_agent);
1196
+ debug.field("capture_network_events", &self.capture_network_events);
1197
+ debug.field("session_affinity", &self.session_affinity);
1198
+ debug.field("chrome_path", &self.chrome_path);
1199
+ debug.field("chrome_args", &"<redacted>");
1200
+ debug.finish()
1201
+ }
1202
+ }
1178
1203
  impl<'de> serde::Deserialize<'de> for BrowserConfig {
1179
1204
  fn deserialize<D>(deserializer: D) -> ::core::result::Result<Self, D::Error>
1180
1205
  where
@@ -1332,6 +1357,24 @@ impl BrowserConfig {
1332
1357
  })?,
1333
1358
  None => true,
1334
1359
  },
1360
+ chrome_path: match kwargs.get(ruby.to_symbol("chrome_path")).filter(|v| !v.is_nil()) {
1361
+ Some(v) => Some(String::try_convert(v).map_err(|e| {
1362
+ magnus::Error::new(
1363
+ unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
1364
+ format!("invalid value for `chrome_path`: {}", e),
1365
+ )
1366
+ })?),
1367
+ None => None,
1368
+ },
1369
+ chrome_args: match kwargs.get(ruby.to_symbol("chrome_args")) {
1370
+ Some(v) => <Vec<String>>::try_convert(v).map_err(|e| {
1371
+ magnus::Error::new(
1372
+ unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
1373
+ format!("invalid value for `chrome_args`: {}", e),
1374
+ )
1375
+ })?,
1376
+ None => Default::default(),
1377
+ },
1335
1378
  })
1336
1379
  }
1337
1380
 
@@ -1394,6 +1437,14 @@ impl BrowserConfig {
1394
1437
  fn session_affinity(&self) -> bool {
1395
1438
  self.session_affinity
1396
1439
  }
1440
+
1441
+ fn chrome_path(&self) -> Option<String> {
1442
+ self.chrome_path.clone()
1443
+ }
1444
+
1445
+ fn chrome_args(&self) -> Vec<String> {
1446
+ self.chrome_args.clone()
1447
+ }
1397
1448
  }
1398
1449
 
1399
1450
  #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
@@ -4090,6 +4141,7 @@ pub struct ConversionOptions {
4090
4141
  include_document_structure: bool,
4091
4142
  extract_images: bool,
4092
4143
  max_image_size: u64,
4144
+ max_input_size: Option<u64>,
4093
4145
  capture_svg: bool,
4094
4146
  infer_dimensions: bool,
4095
4147
  max_depth: Option<usize>,
@@ -4490,6 +4542,15 @@ impl ConversionOptions {
4490
4542
  })?,
4491
4543
  None => 5242880,
4492
4544
  },
4545
+ max_input_size: match kwargs.get(ruby.to_symbol("max_input_size")).filter(|v| !v.is_nil()) {
4546
+ Some(v) => Some(u64::try_convert(v).map_err(|e| {
4547
+ magnus::Error::new(
4548
+ unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
4549
+ format!("invalid value for `max_input_size`: {}", e),
4550
+ )
4551
+ })?),
4552
+ None => None,
4553
+ },
4493
4554
  capture_svg: match kwargs.get(ruby.to_symbol("capture_svg")) {
4494
4555
  Some(v) => bool::try_convert(v).map_err(|e| {
4495
4556
  magnus::Error::new(
@@ -4703,6 +4764,10 @@ impl ConversionOptions {
4703
4764
  self.max_image_size
4704
4765
  }
4705
4766
 
4767
+ fn max_input_size(&self) -> Option<u64> {
4768
+ self.max_input_size
4769
+ }
4770
+
4706
4771
  fn capture_svg(&self) -> bool {
4707
4772
  self.capture_svg
4708
4773
  }
@@ -4995,7 +5060,7 @@ impl CoreProperties {
4995
5060
  }
4996
5061
  }
4997
5062
 
4998
- #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
5063
+ #[derive(Clone, serde::Serialize, serde::Deserialize)]
4999
5064
  #[serde(default)]
5000
5065
  #[magnus::wrap(class = "Xberg::CrawlConfig")]
5001
5066
  pub struct CrawlConfig {
@@ -5015,6 +5080,7 @@ pub struct CrawlConfig {
5015
5080
  include_paths: Vec<String>,
5016
5081
  exclude_paths: Vec<String>,
5017
5082
  path_patterns_match_query: bool,
5083
+ path_patterns_match_url: bool,
5018
5084
  dedup_include_query: bool,
5019
5085
  strip_tracking_params: bool,
5020
5086
  tracking_params: Vec<String>,
@@ -5083,6 +5149,67 @@ impl magnus::TryConvert for CrawlConfig {
5083
5149
  }
5084
5150
 
5085
5151
  unsafe impl TryConvertOwned for CrawlConfig {}
5152
+ impl std::fmt::Debug for CrawlConfig {
5153
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
5154
+ let mut debug = f.debug_struct("CrawlConfig");
5155
+ debug.field("max_depth", &self.max_depth);
5156
+ debug.field("max_pages", &self.max_pages);
5157
+ debug.field("max_links_per_page", &self.max_links_per_page);
5158
+ debug.field("max_concurrent", &self.max_concurrent);
5159
+ debug.field("crawl_strategy", &self.crawl_strategy);
5160
+ debug.field("content_filter", &self.content_filter);
5161
+ debug.field("bm25_query", &self.bm25_query);
5162
+ debug.field("bm25_threshold", &self.bm25_threshold);
5163
+ debug.field("respect_robots_txt", &self.respect_robots_txt);
5164
+ debug.field("soft_http_errors", &self.soft_http_errors);
5165
+ debug.field("user_agent", &self.user_agent);
5166
+ debug.field("stay_on_domain", &self.stay_on_domain);
5167
+ debug.field("allow_subdomains", &self.allow_subdomains);
5168
+ debug.field("include_paths", &self.include_paths);
5169
+ debug.field("exclude_paths", &self.exclude_paths);
5170
+ debug.field("path_patterns_match_query", &self.path_patterns_match_query);
5171
+ debug.field("path_patterns_match_url", &self.path_patterns_match_url);
5172
+ debug.field("dedup_include_query", &self.dedup_include_query);
5173
+ debug.field("strip_tracking_params", &self.strip_tracking_params);
5174
+ debug.field("tracking_params", &self.tracking_params);
5175
+ debug.field("custom_headers", &"<redacted>");
5176
+ debug.field("request_timeout", &self.request_timeout);
5177
+ debug.field("rate_limit_ms", &self.rate_limit_ms);
5178
+ debug.field("max_redirects", &self.max_redirects);
5179
+ debug.field("retry_count", &self.retry_count);
5180
+ debug.field("retry_codes", &self.retry_codes);
5181
+ debug.field("retry_initial_delay_ms", &self.retry_initial_delay_ms);
5182
+ debug.field("retry_max_delay_ms", &self.retry_max_delay_ms);
5183
+ debug.field("rate_limit_jitter_ratio", &self.rate_limit_jitter_ratio);
5184
+ debug.field("cookies_enabled", &self.cookies_enabled);
5185
+ debug.field("auth", &self.auth);
5186
+ debug.field("max_body_size", &self.max_body_size);
5187
+ debug.field("remove_tags", &self.remove_tags);
5188
+ debug.field("content", &self.content);
5189
+ debug.field("map_limit", &self.map_limit);
5190
+ debug.field("map_search", &self.map_search);
5191
+ debug.field("download_assets", &self.download_assets);
5192
+ debug.field("asset_types", &self.asset_types);
5193
+ debug.field("max_asset_size", &self.max_asset_size);
5194
+ debug.field("browser", &self.browser);
5195
+ debug.field("proxy", &self.proxy);
5196
+ debug.field("user_agents", &self.user_agents);
5197
+ debug.field("capture_screenshot", &self.capture_screenshot);
5198
+ debug.field("follow_document_urls", &self.follow_document_urls);
5199
+ debug.field("document_url_depth", &self.document_url_depth);
5200
+ debug.field("download_documents", &self.download_documents);
5201
+ debug.field("document_max_size", &self.document_max_size);
5202
+ debug.field("document_mime_types", &self.document_mime_types);
5203
+ debug.field("document_output_dir", &self.document_output_dir);
5204
+ debug.field("document_content_encoding", &self.document_content_encoding);
5205
+ debug.field("warc_output", &self.warc_output);
5206
+ debug.field("browser_profile", &self.browser_profile);
5207
+ debug.field("save_browser_profile", &self.save_browser_profile);
5208
+ debug.field("ssrf", &self.ssrf);
5209
+ debug.field("ssrf_deny_private_explicit", &self.ssrf_deny_private_explicit);
5210
+ debug.finish()
5211
+ }
5212
+ }
5086
5213
 
5087
5214
  impl Default for CrawlConfig {
5088
5215
  fn default() -> Self {
@@ -5241,6 +5368,15 @@ impl CrawlConfig {
5241
5368
  })?,
5242
5369
  None => false,
5243
5370
  },
5371
+ path_patterns_match_url: match kwargs.get(ruby.to_symbol("path_patterns_match_url")) {
5372
+ Some(v) => bool::try_convert(v).map_err(|e| {
5373
+ magnus::Error::new(
5374
+ unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
5375
+ format!("invalid value for `path_patterns_match_url`: {}", e),
5376
+ )
5377
+ })?,
5378
+ None => false,
5379
+ },
5244
5380
  dedup_include_query: match kwargs.get(ruby.to_symbol("dedup_include_query")) {
5245
5381
  Some(v) => bool::try_convert(v).map_err(|e| {
5246
5382
  magnus::Error::new(
@@ -5664,6 +5800,10 @@ impl CrawlConfig {
5664
5800
  self.path_patterns_match_query
5665
5801
  }
5666
5802
 
5803
+ fn path_patterns_match_url(&self) -> bool {
5804
+ self.path_patterns_match_url
5805
+ }
5806
+
5667
5807
  fn dedup_include_query(&self) -> bool {
5668
5808
  self.dedup_include_query
5669
5809
  }
@@ -29315,7 +29455,7 @@ impl PropertyChange {
29315
29455
  }
29316
29456
  }
29317
29457
 
29318
- #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
29458
+ #[derive(Clone, serde::Serialize, serde::Deserialize)]
29319
29459
  #[serde(default)]
29320
29460
  #[magnus::wrap(class = "Xberg::ProxyConfig")]
29321
29461
  pub struct ProxyConfig {
@@ -29351,6 +29491,15 @@ impl magnus::TryConvert for ProxyConfig {
29351
29491
  }
29352
29492
 
29353
29493
  unsafe impl TryConvertOwned for ProxyConfig {}
29494
+ impl std::fmt::Debug for ProxyConfig {
29495
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
29496
+ let mut debug = f.debug_struct("ProxyConfig");
29497
+ debug.field("url", &"<redacted>");
29498
+ debug.field("username", &self.username);
29499
+ debug.field("password", &"<redacted>");
29500
+ debug.finish()
29501
+ }
29502
+ }
29354
29503
 
29355
29504
  impl Default for ProxyConfig {
29356
29505
  fn default() -> Self {
@@ -32038,6 +32187,7 @@ impl SparseEmbeddingPreset {
32038
32187
  pub struct SsrfPolicy {
32039
32188
  deny_private: bool,
32040
32189
  allowlist: Vec<HostMatcher>,
32190
+ denylist: Vec<HostMatcher>,
32041
32191
  max_redirects: u8,
32042
32192
  scheme_allowlist: Vec<String>,
32043
32193
  }
@@ -32109,6 +32259,15 @@ impl SsrfPolicy {
32109
32259
  })?,
32110
32260
  None => Default::default(),
32111
32261
  },
32262
+ denylist: match kwargs.get(ruby.to_symbol("denylist")) {
32263
+ Some(v) => <Vec<HostMatcher>>::try_convert(v).map_err(|e| {
32264
+ magnus::Error::new(
32265
+ unsafe { magnus::Ruby::get_unchecked() }.exception_type_error(),
32266
+ format!("invalid value for `denylist`: {}", e),
32267
+ )
32268
+ })?,
32269
+ None => Default::default(),
32270
+ },
32112
32271
  max_redirects: match kwargs.get(ruby.to_symbol("max_redirects")) {
32113
32272
  Some(v) => u8::try_convert(v).map_err(|e| {
32114
32273
  magnus::Error::new(
@@ -32138,6 +32297,10 @@ impl SsrfPolicy {
32138
32297
  self.allowlist.clone()
32139
32298
  }
32140
32299
 
32300
+ fn denylist(&self) -> Vec<HostMatcher> {
32301
+ self.denylist.clone()
32302
+ }
32303
+
32141
32304
  fn max_redirects(&self) -> u8 {
32142
32305
  self.max_redirects
32143
32306
  }
@@ -36266,7 +36429,7 @@ impl magnus::TryConvert for AssetCategory {
36266
36429
  unsafe impl IntoValueFromNative for AssetCategory {}
36267
36430
  unsafe impl TryConvertOwned for AssetCategory {}
36268
36431
 
36269
- #[derive(Clone, Debug, serde::Serialize, serde::Deserialize)]
36432
+ #[derive(Clone, serde::Serialize, serde::Deserialize)]
36270
36433
  #[serde(tag = "type")]
36271
36434
  pub enum AuthConfig {
36272
36435
  #[serde(rename = "basic")]
@@ -36332,6 +36495,11 @@ unsafe impl IntoValueFromNative for AuthConfig {}
36332
36495
  unsafe impl TryConvertOwned for AuthConfig {}
36333
36496
 
36334
36497
  impl AuthConfig {}
36498
+ impl std::fmt::Debug for AuthConfig {
36499
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
36500
+ f.write_str("AuthConfig(<redacted>)")
36501
+ }
36502
+ }
36335
36503
 
36336
36504
  #[derive(Clone, Copy, PartialEq, Eq, Hash, Debug, serde::Serialize, serde::Deserialize)]
36337
36505
  #[serde(rename_all = "snake_case")]
@@ -48325,6 +48493,8 @@ impl From<BrowserConfig> for crawlberg::BrowserConfig {
48325
48493
  robots_user_agent: val.robots_user_agent,
48326
48494
  capture_network_events: val.capture_network_events,
48327
48495
  session_affinity: val.session_affinity,
48496
+ chrome_path: val.chrome_path.map(Into::into),
48497
+ chrome_args: val.chrome_args.into_iter().collect(),
48328
48498
  ..Default::default()
48329
48499
  }
48330
48500
  }
@@ -48349,6 +48519,8 @@ impl From<crawlberg::BrowserConfig> for BrowserConfig {
48349
48519
  robots_user_agent: val.robots_user_agent.map(|v| v.to_string()),
48350
48520
  capture_network_events: val.capture_network_events,
48351
48521
  session_affinity: val.session_affinity,
48522
+ chrome_path: val.chrome_path.map(|p| p.to_string_lossy().to_string()),
48523
+ chrome_args: val.chrome_args.into_iter().collect(),
48352
48524
  }
48353
48525
  }
48354
48526
  }
@@ -48918,6 +49090,7 @@ impl From<ConversionOptions> for html_to_markdown_rs::ConversionOptions {
48918
49090
  include_document_structure: val.include_document_structure,
48919
49091
  extract_images: val.extract_images,
48920
49092
  max_image_size: val.max_image_size,
49093
+ max_input_size: val.max_input_size,
48921
49094
  capture_svg: val.capture_svg,
48922
49095
  infer_dimensions: val.infer_dimensions,
48923
49096
  max_depth: val.max_depth,
@@ -48972,6 +49145,7 @@ impl From<html_to_markdown_rs::ConversionOptions> for ConversionOptions {
48972
49145
  include_document_structure: val.include_document_structure,
48973
49146
  extract_images: val.extract_images,
48974
49147
  max_image_size: val.max_image_size,
49148
+ max_input_size: val.max_input_size,
48975
49149
  capture_svg: val.capture_svg,
48976
49150
  infer_dimensions: val.infer_dimensions,
48977
49151
  max_depth: val.max_depth,
@@ -49052,6 +49226,7 @@ impl From<CrawlConfig> for crawlberg::CrawlConfig {
49052
49226
  include_paths: val.include_paths.into_iter().collect(),
49053
49227
  exclude_paths: val.exclude_paths.into_iter().collect(),
49054
49228
  path_patterns_match_query: val.path_patterns_match_query,
49229
+ path_patterns_match_url: val.path_patterns_match_url,
49055
49230
  dedup_include_query: val.dedup_include_query,
49056
49231
  strip_tracking_params: val.strip_tracking_params,
49057
49232
  tracking_params: val.tracking_params.into_iter().collect(),
@@ -49119,6 +49294,7 @@ impl From<crawlberg::CrawlConfig> for CrawlConfig {
49119
49294
  include_paths: val.include_paths.into_iter().collect(),
49120
49295
  exclude_paths: val.exclude_paths.into_iter().collect(),
49121
49296
  path_patterns_match_query: val.path_patterns_match_query,
49297
+ path_patterns_match_url: val.path_patterns_match_url,
49122
49298
  dedup_include_query: val.dedup_include_query,
49123
49299
  strip_tracking_params: val.strip_tracking_params,
49124
49300
  tracking_params: val.tracking_params.into_iter().collect(),
@@ -53939,6 +54115,7 @@ impl From<SsrfPolicy> for crawlberg::SsrfPolicy {
53939
54115
  Self {
53940
54116
  deny_private: val.deny_private,
53941
54117
  allowlist: val.allowlist.into_iter().map(Into::into).collect(),
54118
+ denylist: val.denylist.into_iter().map(Into::into).collect(),
53942
54119
  max_redirects: val.max_redirects,
53943
54120
  scheme_allowlist: val.scheme_allowlist.into_iter().collect(),
53944
54121
  ..Default::default()
@@ -53952,6 +54129,7 @@ impl From<crawlberg::SsrfPolicy> for SsrfPolicy {
53952
54129
  Self {
53953
54130
  deny_private: val.deny_private,
53954
54131
  allowlist: val.allowlist.into_iter().map(Into::into).collect(),
54132
+ denylist: val.denylist.into_iter().map(Into::into).collect(),
53955
54133
  max_redirects: val.max_redirects,
53956
54134
  scheme_allowlist: val.scheme_allowlist.into_iter().collect(),
53957
54135
  }
@@ -57397,30 +57575,30 @@ impl From<html_to_markdown_rs::WhitespaceMode> for WhitespaceMode {
57397
57575
  }
57398
57576
  }
57399
57577
 
57400
- /// Convert a `xberg::heuristics::error::HeuristicsError` error to a Magnus runtime error.
57578
+ /// Convert a `xberg::HeuristicsError` error to a Magnus runtime error.
57401
57579
  #[allow(dead_code)]
57402
- fn heuristics_error_to_magnus_err(e: xberg::heuristics::error::HeuristicsError) -> magnus::Error {
57580
+ fn heuristics_error_to_magnus_err(e: xberg::HeuristicsError) -> magnus::Error {
57403
57581
  let msg = e.to_string();
57404
57582
  magnus::Error::new(unsafe { magnus::Ruby::get_unchecked() }.exception_runtime_error(), msg)
57405
57583
  }
57406
57584
 
57407
- /// Convert a `xberg::presets::loader::LoadError` error to a Magnus runtime error.
57585
+ /// Convert a `xberg::LoadError` error to a Magnus runtime error.
57408
57586
  #[allow(dead_code)]
57409
- fn load_error_to_magnus_err(e: xberg::presets::loader::LoadError) -> magnus::Error {
57587
+ fn load_error_to_magnus_err(e: xberg::LoadError) -> magnus::Error {
57410
57588
  let msg = e.to_string();
57411
57589
  magnus::Error::new(unsafe { magnus::Ruby::get_unchecked() }.exception_runtime_error(), msg)
57412
57590
  }
57413
57591
 
57414
- /// Convert a `xberg::presets::resolve::ResolveError` error to a Magnus runtime error.
57592
+ /// Convert a `xberg::ResolveError` error to a Magnus runtime error.
57415
57593
  #[allow(dead_code)]
57416
- fn resolve_error_to_magnus_err(e: xberg::presets::resolve::ResolveError) -> magnus::Error {
57594
+ fn resolve_error_to_magnus_err(e: xberg::ResolveError) -> magnus::Error {
57417
57595
  let msg = e.to_string();
57418
57596
  magnus::Error::new(unsafe { magnus::Ruby::get_unchecked() }.exception_runtime_error(), msg)
57419
57597
  }
57420
57598
 
57421
- /// Convert a `xberg::error::XbergError` error to a Magnus runtime error.
57599
+ /// Convert a `xberg::XbergError` error to a Magnus runtime error.
57422
57600
  #[allow(dead_code)]
57423
- fn xberg_error_to_magnus_err(e: xberg::error::XbergError) -> magnus::Error {
57601
+ fn xberg_error_to_magnus_err(e: xberg::XbergError) -> magnus::Error {
57424
57602
  let msg = e.to_string();
57425
57603
  magnus::Error::new(unsafe { magnus::Ruby::get_unchecked() }.exception_runtime_error(), msg)
57426
57604
  }
@@ -57591,6 +57769,10 @@ fn ruby_init(ruby: &Ruby) -> Result<(), Error> {
57591
57769
 
57592
57770
  class.define_method("session_affinity", method!(BrowserConfig::session_affinity, 0))?;
57593
57771
 
57772
+ class.define_method("chrome_path", method!(BrowserConfig::chrome_path, 0))?;
57773
+
57774
+ class.define_method("chrome_args", method!(BrowserConfig::chrome_args, 0))?;
57775
+
57594
57776
  let class = module.define_class("CacheStats", ruby.class_object())?;
57595
57777
 
57596
57778
  class.define_singleton_method("new", function!(CacheStats::new, -1))?;
@@ -58027,6 +58209,8 @@ fn ruby_init(ruby: &Ruby) -> Result<(), Error> {
58027
58209
 
58028
58210
  class.define_method("max_image_size", method!(ConversionOptions::max_image_size, 0))?;
58029
58211
 
58212
+ class.define_method("max_input_size", method!(ConversionOptions::max_input_size, 0))?;
58213
+
58030
58214
  class.define_method("capture_svg", method!(ConversionOptions::capture_svg, 0))?;
58031
58215
 
58032
58216
  class.define_method("infer_dimensions", method!(ConversionOptions::infer_dimensions, 0))?;
@@ -58128,6 +58312,11 @@ fn ruby_init(ruby: &Ruby) -> Result<(), Error> {
58128
58312
  method!(CrawlConfig::path_patterns_match_query, 0),
58129
58313
  )?;
58130
58314
 
58315
+ class.define_method(
58316
+ "path_patterns_match_url",
58317
+ method!(CrawlConfig::path_patterns_match_url, 0),
58318
+ )?;
58319
+
58131
58320
  class.define_method("dedup_include_query", method!(CrawlConfig::dedup_include_query, 0))?;
58132
58321
 
58133
58322
  class.define_method("strip_tracking_params", method!(CrawlConfig::strip_tracking_params, 0))?;
@@ -61805,6 +61994,8 @@ fn ruby_init(ruby: &Ruby) -> Result<(), Error> {
61805
61994
 
61806
61995
  class.define_method("allowlist", method!(SsrfPolicy::allowlist, 0))?;
61807
61996
 
61997
+ class.define_method("denylist", method!(SsrfPolicy::denylist, 0))?;
61998
+
61808
61999
  class.define_method("max_redirects", method!(SsrfPolicy::max_redirects, 0))?;
61809
62000
 
61810
62001
  class.define_method("scheme_allowlist", method!(SsrfPolicy::scheme_allowlist, 0))?;
data/lib/xberg/version.rb CHANGED
@@ -1,10 +1,10 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:a73b2b7b23be41b809d7a63c6e84f6b22dc213b4d2d018e2004ef2a2f0e9410e
2
+ # alef:hash:d17ea85ac3bb662944c743ac8f433a874d8fb19b8ce0dc8bc7e899d6d329f650
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify
5
5
  # frozen_string_literal: true
6
6
 
7
7
  module Xberg
8
8
  ## The version string for this package.
9
- VERSION = "1.3.4"
9
+ VERSION = "1.3.5"
10
10
  end
data/sig/types.rbs CHANGED
@@ -1,5 +1,5 @@
1
1
  # This file is auto-generated by alef — DO NOT EDIT.
2
- # alef:hash:4d6e82c5b0834d91c2575ca21fe65ed7dc5bb424ab80623cb550f60e8cd268ad
2
+ # alef:hash:d01bd27d5fa9368a18dda14ba966abab79e6f319668303eaa72b202e75e41946
3
3
  # To regenerate: alef generate
4
4
  # To verify freshness: alef verify
5
5
 
@@ -107,8 +107,10 @@ def initialize: (?entry_count: Integer, ?citation_keys: Array[String], ?authors:
107
107
  attr_reader robots_user_agent: String?
108
108
  attr_reader capture_network_events: bool
109
109
  attr_reader session_affinity: bool
110
+ attr_reader chrome_path: String?
111
+ attr_reader chrome_args: Array[String]
110
112
 
111
- def initialize: (?mode: enum_BrowserMode, ?backend: enum_BrowserBackend, ?endpoint: String, ?timeout: Integer, ?overall_timeout: Integer, ?shutdown_timeout: Integer, ?wait: enum_BrowserWait, ?wait_selector: String, ?extra_wait: Integer, ?proxy: ProxyConfig, ?block_url_patterns: Array[String], ?eval_script: String, ?robots_user_agent: String, ?capture_network_events: bool, ?session_affinity: bool) -> void
113
+ def initialize: (?mode: enum_BrowserMode, ?backend: enum_BrowserBackend, ?endpoint: String, ?timeout: Integer, ?overall_timeout: Integer, ?shutdown_timeout: Integer, ?wait: enum_BrowserWait, ?wait_selector: String, ?extra_wait: Integer, ?proxy: ProxyConfig, ?block_url_patterns: Array[String], ?eval_script: String, ?robots_user_agent: String, ?capture_network_events: bool, ?session_affinity: bool, ?chrome_path: String, ?chrome_args: Array[String]) -> void
112
114
  end
113
115
 
114
116
  class CacheStats
@@ -362,6 +364,7 @@ def initialize: (?output_format: String, ?preprocessing_preset: String, ?remove_
362
364
  attr_reader include_document_structure: bool
363
365
  attr_reader extract_images: bool
364
366
  attr_reader max_image_size: Integer
367
+ attr_reader max_input_size: Integer?
365
368
  attr_reader capture_svg: bool
366
369
  attr_reader infer_dimensions: bool
367
370
  attr_reader max_depth: Integer?
@@ -369,7 +372,7 @@ def initialize: (?output_format: String, ?preprocessing_preset: String, ?remove_
369
372
  attr_reader tier_strategy: enum_TierStrategy
370
373
  attr_reader base_url: String?
371
374
 
372
- def initialize: (?heading_style: enum_HeadingStyle, ?list_indent_type: enum_ListIndentType, ?list_indent_width: Integer, ?bullets: String, ?strong_em_symbol: String, ?escape_asterisks: bool, ?escape_underscores: bool, ?escape_misc: bool, ?escape_ascii: bool, ?code_language: String, ?autolinks: bool, ?default_title: bool, ?br_in_tables: bool, ?compact_tables: bool, ?highlight_style: enum_HighlightStyle, ?extract_metadata: bool, ?whitespace_mode: enum_WhitespaceMode, ?strip_newlines: bool, ?wrap: bool, ?wrap_width: Integer, ?convert_as_inline: bool, ?sub_symbol: String, ?sup_symbol: String, ?newline_style: enum_NewlineStyle, ?code_block_style: enum_CodeBlockStyle, ?keep_inline_images_in: Array[String], ?preprocessing: PreprocessingOptions, ?encoding: String, ?debug: bool, ?strip_tags: Array[String], ?preserve_tags: Array[String], ?skip_images: bool, ?inline_data_media: enum_InlineDataMedia, ?url_escape_style: enum_UrlEscapeStyle, ?link_style: enum_LinkStyle, ?output_format: enum_HtmlToMarkdownRsOutputFormat, ?include_document_structure: bool, ?extract_images: bool, ?max_image_size: Integer, ?capture_svg: bool, ?infer_dimensions: bool, ?max_depth: Integer, ?exclude_selectors: Array[String], ?tier_strategy: enum_TierStrategy, ?base_url: String) -> void
375
+ def initialize: (?heading_style: enum_HeadingStyle, ?list_indent_type: enum_ListIndentType, ?list_indent_width: Integer, ?bullets: String, ?strong_em_symbol: String, ?escape_asterisks: bool, ?escape_underscores: bool, ?escape_misc: bool, ?escape_ascii: bool, ?code_language: String, ?autolinks: bool, ?default_title: bool, ?br_in_tables: bool, ?compact_tables: bool, ?highlight_style: enum_HighlightStyle, ?extract_metadata: bool, ?whitespace_mode: enum_WhitespaceMode, ?strip_newlines: bool, ?wrap: bool, ?wrap_width: Integer, ?convert_as_inline: bool, ?sub_symbol: String, ?sup_symbol: String, ?newline_style: enum_NewlineStyle, ?code_block_style: enum_CodeBlockStyle, ?keep_inline_images_in: Array[String], ?preprocessing: PreprocessingOptions, ?encoding: String, ?debug: bool, ?strip_tags: Array[String], ?preserve_tags: Array[String], ?skip_images: bool, ?inline_data_media: enum_InlineDataMedia, ?url_escape_style: enum_UrlEscapeStyle, ?link_style: enum_LinkStyle, ?output_format: enum_HtmlToMarkdownRsOutputFormat, ?include_document_structure: bool, ?extract_images: bool, ?max_image_size: Integer, ?max_input_size: Integer, ?capture_svg: bool, ?infer_dimensions: bool, ?max_depth: Integer, ?exclude_selectors: Array[String], ?tier_strategy: enum_TierStrategy, ?base_url: String) -> void
373
376
  end
374
377
 
375
378
  class CoreProperties
@@ -409,6 +412,7 @@ def initialize: (?heading_style: enum_HeadingStyle, ?list_indent_type: enum_List
409
412
  attr_reader include_paths: Array[String]
410
413
  attr_reader exclude_paths: Array[String]
411
414
  attr_reader path_patterns_match_query: bool
415
+ attr_reader path_patterns_match_url: bool
412
416
  attr_reader dedup_include_query: bool
413
417
  attr_reader strip_tracking_params: bool
414
418
  attr_reader tracking_params: Array[String]
@@ -448,7 +452,7 @@ def initialize: (?heading_style: enum_HeadingStyle, ?list_indent_type: enum_List
448
452
  attr_reader ssrf: SsrfPolicy
449
453
  attr_reader ssrf_deny_private_explicit: bool?
450
454
 
451
- def initialize: (?max_depth: Integer, ?max_pages: Integer, ?max_links_per_page: Integer, ?max_concurrent: Integer, ?crawl_strategy: enum_CrawlStrategyKind, ?content_filter: enum_ContentFilterKind, ?bm25_query: String, ?bm25_threshold: Float, ?respect_robots_txt: bool, ?soft_http_errors: bool, ?user_agent: String, ?stay_on_domain: bool, ?allow_subdomains: bool, ?include_paths: Array[String], ?exclude_paths: Array[String], ?path_patterns_match_query: bool, ?dedup_include_query: bool, ?strip_tracking_params: bool, ?tracking_params: Array[String], ?custom_headers: Hash[String, String], ?request_timeout: Integer, ?rate_limit_ms: Integer, ?max_redirects: Integer, ?retry_count: Integer, ?retry_codes: Array[Integer], ?retry_initial_delay_ms: Integer, ?retry_max_delay_ms: Integer, ?rate_limit_jitter_ratio: Float, ?cookies_enabled: bool, ?auth: AuthConfig, ?max_body_size: Integer, ?remove_tags: Array[String], ?content: ContentConfig, ?map_limit: Integer, ?map_search: String, ?download_assets: bool, ?asset_types: Array[enum_AssetCategory], ?max_asset_size: Integer, ?browser: BrowserConfig, ?proxy: ProxyConfig, ?user_agents: Array[String], ?capture_screenshot: bool, ?follow_document_urls: bool, ?document_url_depth: Integer, ?download_documents: bool, ?document_max_size: Integer, ?document_mime_types: Array[String], ?document_output_dir: String, ?document_content_encoding: enum_DocumentContentEncoding, ?warc_output: String, ?browser_profile: String, ?save_browser_profile: bool, ?ssrf: SsrfPolicy, ?ssrf_deny_private_explicit: bool) -> void
455
+ def initialize: (?max_depth: Integer, ?max_pages: Integer, ?max_links_per_page: Integer, ?max_concurrent: Integer, ?crawl_strategy: enum_CrawlStrategyKind, ?content_filter: enum_ContentFilterKind, ?bm25_query: String, ?bm25_threshold: Float, ?respect_robots_txt: bool, ?soft_http_errors: bool, ?user_agent: String, ?stay_on_domain: bool, ?allow_subdomains: bool, ?include_paths: Array[String], ?exclude_paths: Array[String], ?path_patterns_match_query: bool, ?path_patterns_match_url: bool, ?dedup_include_query: bool, ?strip_tracking_params: bool, ?tracking_params: Array[String], ?custom_headers: Hash[String, String], ?request_timeout: Integer, ?rate_limit_ms: Integer, ?max_redirects: Integer, ?retry_count: Integer, ?retry_codes: Array[Integer], ?retry_initial_delay_ms: Integer, ?retry_max_delay_ms: Integer, ?rate_limit_jitter_ratio: Float, ?cookies_enabled: bool, ?auth: AuthConfig, ?max_body_size: Integer, ?remove_tags: Array[String], ?content: ContentConfig, ?map_limit: Integer, ?map_search: String, ?download_assets: bool, ?asset_types: Array[enum_AssetCategory], ?max_asset_size: Integer, ?browser: BrowserConfig, ?proxy: ProxyConfig, ?user_agents: Array[String], ?capture_screenshot: bool, ?follow_document_urls: bool, ?document_url_depth: Integer, ?download_documents: bool, ?document_max_size: Integer, ?document_mime_types: Array[String], ?document_output_dir: String, ?document_content_encoding: enum_DocumentContentEncoding, ?warc_output: String, ?browser_profile: String, ?save_browser_profile: bool, ?ssrf: SsrfPolicy, ?ssrf_deny_private_explicit: bool) -> void
452
456
  end
453
457
 
454
458
  class CsvConfig
@@ -2444,10 +2448,11 @@ def initialize: (name: String, model_repo: String, model_file: String, additiona
2444
2448
  class SsrfPolicy
2445
2449
  attr_reader deny_private: bool
2446
2450
  attr_reader allowlist: Array[HostMatcher]
2451
+ attr_reader denylist: Array[HostMatcher]
2447
2452
  attr_reader max_redirects: Integer
2448
2453
  attr_reader scheme_allowlist: Array[String]
2449
2454
 
2450
- def initialize: (?deny_private: bool, ?allowlist: Array[HostMatcher], ?max_redirects: Integer, ?scheme_allowlist: Array[String]) -> void
2455
+ def initialize: (?deny_private: bool, ?allowlist: Array[HostMatcher], ?denylist: Array[HostMatcher], ?max_redirects: Integer, ?scheme_allowlist: Array[String]) -> void
2451
2456
  end
2452
2457
 
2453
2458
  class StructuredData
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xberg
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Na'aman Hirschfeld <naaman@xberg.io>
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-10-05 00:00:00.000000000 Z
11
+ date: 2026-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rb_sys