@mailwoman/corpus 10.0.0 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1382) hide show
  1. package/README.md +120 -34
  2. package/data/PROVENANCE.md +623 -17
  3. package/data/address-source-register.json +14249 -0
  4. package/data/builds/v0.7.0-de-holdout/inputs.json +22 -0
  5. package/data/builds/v0.8.0-registers/inputs.json +92 -0
  6. package/data/license-decisions.json +1603 -0
  7. package/data/licenses/PROVENANCE.md +65 -0
  8. package/data/licenses/cdla-permissive-2.0.md +43 -0
  9. package/data/licenses/geonames-publication.md +34 -0
  10. package/data/licenses/licence-ouverte-2.0.md +36 -0
  11. package/data/licenses/national-address-database.md +46 -0
  12. package/data/licenses/nlod-2.0.md +90 -0
  13. package/data/licenses/sirene-publication.md +38 -0
  14. package/data/licenses/whosonfirst-licenses.md +65 -0
  15. package/data/source-resolutions.json +804 -0
  16. package/data/sub-venue-lexicon.json +1 -1
  17. package/data/training-manifests/v0.7.0-de-holdout.effective.json +477 -0
  18. package/data/training-manifests/v0.7.0-de-holdout.json +78 -0
  19. package/lib/adapters/cordis/adapter.ts +791 -0
  20. package/lib/adapters/dedup-key.ts +40 -0
  21. package/lib/adapters/errors.ts +21 -0
  22. package/lib/adapters/geonames/adapter.ts +43 -53
  23. package/lib/adapters/geonames/postal/adapter.ts +31 -37
  24. package/lib/adapters/gleif/adapter.ts +829 -0
  25. package/lib/adapters/libpostal-dictionary.ts +37 -0
  26. package/lib/adapters/openaddresses/adapter.ts +52 -55
  27. package/lib/adapters/osm/adapter.ts +162 -83
  28. package/lib/adapters/overture/adapter.ts +52 -43
  29. package/lib/adapters/po-box/adapter.ts +207 -0
  30. package/lib/adapters/registry.ts +79 -0
  31. package/lib/adapters/sha256-stream.ts +49 -0
  32. package/lib/adapters/source-id.ts +49 -0
  33. package/lib/adapters/street-line.ts +136 -0
  34. package/lib/adapters/wof/admin/json/adapter.ts +50 -35
  35. package/lib/adapters/wof/json-rows.ts +57 -26
  36. package/lib/adapters/wof/postalcode-json/adapter.ts +63 -61
  37. package/lib/adapters.ts +230 -0
  38. package/lib/au/adapters/gnaf/adapter.ts +36 -44
  39. package/lib/au/adapters/gnaf/assemble.ts +31 -51
  40. package/lib/be/adapters/brussels/adapter.ts +566 -0
  41. package/lib/be/adapters/vlaanderen/adapter.ts +667 -0
  42. package/lib/be/adapters/wallonie/adapter.ts +537 -0
  43. package/lib/be/tools/fetch/brussels.ts +242 -0
  44. package/lib/be/tools/fetch/wallonie.ts +275 -0
  45. package/lib/build/adapters.ts +111 -0
  46. package/lib/build/align.ts +365 -0
  47. package/lib/build/checkpoint.ts +133 -0
  48. package/lib/build/eligibility.ts +96 -0
  49. package/lib/build/heap.ts +53 -0
  50. package/lib/build/inputs.ts +81 -0
  51. package/lib/build/rows.ts +21 -0
  52. package/lib/build/types.ts +234 -0
  53. package/lib/build.ts +127 -315
  54. package/lib/cn/recipes/organizational-units.ts +20 -41
  55. package/lib/cz/adapters/cuzk/adapter.ts +320 -0
  56. package/lib/cz/recipes/pcfirst-preposition.ts +40 -27
  57. package/lib/cz/tools/fetch/cuzk.ts +710 -0
  58. package/lib/de/recipes/locale.ts +69 -59
  59. package/lib/directory.ts +31 -0
  60. package/lib/dk/adapters/inspire/adapter.ts +345 -0
  61. package/lib/dk/tools/fetch/inspire.ts +323 -0
  62. package/lib/ee/adapters/ads/adapter.ts +240 -0
  63. package/lib/ee/tools/fetch/ads.ts +272 -0
  64. package/lib/env.ts +6 -2
  65. package/lib/es/adapters/bizkaia/adapter.ts +388 -0
  66. package/lib/es/adapters/catastro/adapter.ts +345 -0
  67. package/lib/es/adapters/gipuzkoa/adapter.ts +256 -0
  68. package/lib/es/adapters/navarra/adapter.ts +290 -0
  69. package/lib/es/cadastre.ts +194 -0
  70. package/lib/es/tools/fetch/bizkaia.ts +752 -0
  71. package/lib/es/tools/fetch/catastro.ts +765 -0
  72. package/lib/es/tools/fetch/gipuzkoa.ts +338 -0
  73. package/lib/es/tools/fetch/navarra.ts +496 -0
  74. package/lib/fi/adapters/ryhti/adapter.ts +319 -0
  75. package/lib/fi/tools/fetch/ryhti.ts +476 -0
  76. package/lib/fingerprints.ts +154 -0
  77. package/lib/fr/adapters/annuaire-education/adapter.ts +600 -0
  78. package/lib/fr/adapters/ban/adapter.ts +87 -59
  79. package/lib/fr/adapters/finess/adapter.ts +619 -0
  80. package/lib/fr/adapters/finess/postal-lines.ts +157 -0
  81. package/lib/fr/adapters/finess/voie-type.ts +201 -0
  82. package/lib/fr/insee-country.ts +62 -0
  83. package/lib/fr/recipes/admin-split.ts +38 -60
  84. package/lib/fr/recipes/bare-street.ts +37 -50
  85. package/lib/fr/recipes/fragment.ts +59 -142
  86. package/lib/fr/recipes/lieudit.ts +111 -73
  87. package/lib/fr/recipes/order.ts +32 -59
  88. package/lib/fr/{adapters/ban/street-decompose.ts → street-decompose.ts} +4 -3
  89. package/lib/fr/tools/fetch/annuaire-education.ts +309 -0
  90. package/lib/fr/tools/fetch/ban.ts +30 -20
  91. package/lib/fr/tools/fetch/finess.ts +353 -0
  92. package/lib/gauntlet-inputs.ts +92 -0
  93. package/lib/index.ts +9 -3
  94. package/lib/inspire/address.ts +465 -0
  95. package/lib/inspire/archive.ts +44 -0
  96. package/lib/inspire/errors.ts +72 -0
  97. package/lib/inspire/stream.ts +265 -0
  98. package/lib/international/recipes/locale.ts +146 -184
  99. package/lib/it/adapters/anac/adapter.ts +527 -0
  100. package/lib/it/tools/fetch/anac.ts +391 -0
  101. package/lib/jp/adapters/wof-admin/adapter.ts +29 -23
  102. package/lib/jp/tools/fetch/houjin.ts +19 -21
  103. package/lib/kr/adapters/juso/label-rows.ts +24 -44
  104. package/lib/kr/adapters/localdata/align.ts +20 -31
  105. package/lib/kr/adapters/localdata/key-index.ts +17 -25
  106. package/lib/kr/adapters/localdata/permit-rows.ts +34 -27
  107. package/lib/kr/tools/fetch/juso.ts +19 -21
  108. package/lib/kr/tools/fetch/localdata.ts +29 -30
  109. package/lib/lu/adapters/bd-adresses/adapter.ts +240 -0
  110. package/lib/lu/tools/fetch/bd-adresses.ts +353 -0
  111. package/lib/lv/adapters/varis/adapter.ts +500 -0
  112. package/lib/lv/tools/fetch/varis.ts +215 -0
  113. package/lib/nl/adapters/kadaster/adapter.ts +386 -0
  114. package/lib/nl/recipes/postcode.ts +46 -24
  115. package/lib/nl/tools/fetch/kadaster.ts +302 -0
  116. package/lib/no/adapters/matrikkelen/adapter.ts +188 -0
  117. package/lib/no/recipes/fragment.ts +34 -58
  118. package/lib/no/recipes/street/led.ts +44 -25
  119. package/lib/no/recipes/{street/index.ts → street.ts} +29 -11
  120. package/lib/no/tools/fetch/matrikkelen.ts +531 -0
  121. package/lib/parquet/duckdb.ts +147 -0
  122. package/lib/parquet/readers.ts +86 -0
  123. package/lib/parquet/schema.ts +214 -0
  124. package/lib/parquet/shuffle.ts +59 -0
  125. package/lib/parquet/span-sql.ts +54 -0
  126. package/lib/parquet/streams.ts +113 -0
  127. package/lib/parquet/writers.ts +452 -0
  128. package/lib/pl/adapters/emuia/adapter.ts +202 -0
  129. package/lib/pl/tools/fetch/emuia.ts +361 -0
  130. package/lib/recipes/anchor-absorption.ts +30 -19
  131. package/lib/recipes/bare/country.ts +24 -32
  132. package/lib/recipes/bare/postcode/eval.ts +1 -1
  133. package/lib/recipes/bare/postcode.ts +346 -0
  134. package/lib/recipes/boundary-stress.ts +37 -20
  135. package/lib/recipes/country-balanced.ts +66 -86
  136. package/lib/recipes/house-venue.ts +36 -14
  137. package/lib/recipes/intersection.ts +84 -62
  138. package/lib/recipes/po/box/cedex/au-nz.ts +3 -3
  139. package/lib/recipes/po/box/cedex/ca.ts +3 -2
  140. package/lib/recipes/po/box/cedex/fr.ts +4 -3
  141. package/lib/recipes/po/box/cedex/phrases.ts +7 -6
  142. package/lib/recipes/po/box/cedex/recipe.ts +31 -19
  143. package/lib/recipes/po/box/cedex/sources.ts +16 -4
  144. package/lib/recipes/po/box/cedex/us.ts +7 -2
  145. package/lib/recipes/po/{box/index.ts → box.ts} +39 -18
  146. package/lib/recipes/scaffold.ts +267 -158
  147. package/lib/recipes/sources.ts +412 -0
  148. package/lib/recipes/street/affix.ts +54 -154
  149. package/lib/recipes/street/bare.ts +30 -17
  150. package/lib/recipes/street.ts +35 -9
  151. package/lib/recipes/sub/venue/context.ts +32 -23
  152. package/lib/recipes/sub/venue/render.ts +170 -0
  153. package/lib/recipes/sub/venue/sources.ts +92 -248
  154. package/lib/recipes/sub/venue.ts +795 -0
  155. package/lib/recipes/trailing-region.ts +75 -87
  156. package/lib/recipes/unit/sources.ts +44 -0
  157. package/lib/recipes/unit.ts +101 -89
  158. package/lib/recipes/venue.ts +347 -0
  159. package/lib/{recipes/index.ts → recipes.ts} +15 -11
  160. package/lib/registers.ts +280 -0
  161. package/lib/ro/adapters/retea-scolara/adapter.ts +264 -0
  162. package/lib/ro/tools/fetch/retea-scolara.ts +187 -0
  163. package/lib/runner.ts +221 -84
  164. package/lib/sg/recipes/register.ts +47 -53
  165. package/lib/sg/tools/fetch/acra.ts +23 -28
  166. package/lib/si/recipes/bare-village.ts +34 -17
  167. package/lib/sk/adapters/inspire/adapter.ts +393 -0
  168. package/lib/sk/tools/fetch/inspire.ts +403 -0
  169. package/lib/source-register/effective-manifest.ts +659 -0
  170. package/lib/source-register/register.ts +539 -0
  171. package/lib/source-register/training-manifest.ts +218 -0
  172. package/lib/source-register/types.ts +589 -0
  173. package/lib/source-register.ts +71 -0
  174. package/lib/south-asia/recipes/register.ts +45 -26
  175. package/lib/subvenue/harvest.ts +251 -0
  176. package/lib/{tools/sub/venue → subvenue}/promotions.ts +33 -70
  177. package/lib/subvenue/surfaces.ts +94 -0
  178. package/lib/subvenue/table.ts +264 -0
  179. package/lib/surfaces/locale.ts +248 -0
  180. package/lib/synthesizers/anchor-absorption.ts +56 -91
  181. package/lib/synthesizers/boundary-stress.ts +67 -155
  182. package/lib/synthesizers/house-venue.ts +65 -127
  183. package/lib/synthesizers/no-street.ts +71 -119
  184. package/lib/synthesizers/po-box.ts +93 -105
  185. package/lib/synthesizers/tail.ts +55 -0
  186. package/lib/synthesizers/utils.ts +82 -219
  187. package/lib/test-kit/corpus-recipe.ts +45 -28
  188. package/lib/test-kit.ts +116 -0
  189. package/lib/tools/align-canonical.ts +64 -0
  190. package/lib/tools/audit.ts +117 -120
  191. package/lib/tools/corpus-stats.ts +45 -31
  192. package/lib/tools/fetch/atom.ts +164 -0
  193. package/lib/tools/fetch/cordis.ts +320 -0
  194. package/lib/tools/fetch/download/manifest.ts +36 -23
  195. package/lib/tools/fetch/download/network.ts +55 -31
  196. package/lib/tools/fetch/download/retry.ts +30 -29
  197. package/lib/tools/fetch/geonames/dump.ts +75 -55
  198. package/lib/tools/fetch/geonames/postal.ts +27 -62
  199. package/lib/tools/fetch/gleif.ts +362 -0
  200. package/lib/tools/fetch/header.ts +71 -0
  201. package/lib/tools/fetch/inspire-addresses.ts +500 -0
  202. package/lib/tools/fetch/openaddresses.ts +23 -112
  203. package/lib/tools/fetch/ourairports.ts +18 -51
  204. package/lib/tools/fetch/ppd.ts +10 -8
  205. package/lib/tools/fetch/vlaanderen-ad.ts +435 -0
  206. package/lib/tools/fetch/wfs-harvest.ts +954 -0
  207. package/lib/tools/fetch/wikidata-subvenue.ts +45 -145
  208. package/lib/tools/fetch/zip-archive.ts +100 -0
  209. package/lib/tools/fetch.ts +101 -0
  210. package/lib/tools/golden/expand.ts +75 -44
  211. package/lib/tools/golden/promote.ts +47 -34
  212. package/lib/tools/golden/relabel-street/directory.ts +67 -39
  213. package/lib/tools/golden/relabel-street/row.ts +32 -109
  214. package/lib/tools/ingest-csv.ts +48 -51
  215. package/lib/tools/jsonl-to-parquet.ts +59 -98
  216. package/lib/tools/lint/recipe-output/vocab.ts +371 -0
  217. package/lib/tools/lint/{slice/index.ts → recipe-output.ts} +130 -126
  218. package/lib/tools/migrate/overlay-parquet.ts +173 -0
  219. package/lib/tools/migrate/recipe-output.ts +153 -0
  220. package/lib/tools/migrate/source-names.ts +161 -0
  221. package/lib/tools/{slice → overlay}/kryptonite.ts +47 -39
  222. package/lib/tools/overlay/manifest.ts +409 -0
  223. package/lib/tools/overlay/merge-source.ts +139 -0
  224. package/lib/tools/overlay/split-slice.ts +144 -0
  225. package/lib/tools/overlay/translit.ts +236 -0
  226. package/lib/tools/overture-subvenue.ts +18 -91
  227. package/lib/tools/postcode-triples.ts +284 -212
  228. package/lib/tools/source-register/build.ts +822 -0
  229. package/lib/tools/sub/venue/head-nouns.ts +38 -75
  230. package/lib/tools/sub/venue/lexicon.ts +71 -110
  231. package/lib/tools/sub/venue/wikidata.ts +13 -10
  232. package/lib/tw/tools/fetch/gcis.ts +21 -20
  233. package/lib/types.ts +305 -101
  234. package/lib/us/adapters/fcc-bdc/adapter.ts +26 -41
  235. package/lib/us/adapters/state/hi-schools/adapter.ts +28 -17
  236. package/lib/us/adapters/state/hi-schools/workbook.ts +8 -3
  237. package/lib/us/adapters/state/ia-contractors/adapter.ts +27 -15
  238. package/lib/us/adapters/state/ny-notaries/adapter.ts +24 -25
  239. package/lib/us/adapters/state/tx-notaries/adapter.ts +21 -15
  240. package/lib/us/adapters/tiger/adapter.ts +19 -44
  241. package/lib/us/adapters/tiger/street-decompose.ts +7 -17
  242. package/lib/us/adapters/usgov/hrsa-fqhc/adapter.ts +49 -34
  243. package/lib/us/adapters/usgov/imls-pls/adapter.ts +25 -19
  244. package/lib/us/adapters/usgov/irs-bmf/adapter.ts +32 -23
  245. package/lib/us/adapters/usgov/nad/adapter.ts +61 -122
  246. package/lib/us/adapters/usgov/nppes/adapter.ts +72 -35
  247. package/lib/us/adapters/usgov/samhsa-treatment-locator/adapter.ts +47 -34
  248. package/lib/us/fips-state.ts +19 -10
  249. package/lib/{synthesizers → us/synthesizers}/intersection.ts +45 -35
  250. package/lib/{synthesizers → us/synthesizers}/street.ts +56 -43
  251. package/lib/us/tools/fetch/hrsa.ts +7 -8
  252. package/lib/us/tools/fetch/imls-pls.ts +18 -36
  253. package/lib/us/tools/fetch/nad.ts +51 -33
  254. package/lib/us/tools/fetch/nppes.ts +27 -39
  255. package/lib/us/tools/fetch/state/hi-schools.ts +24 -17
  256. package/lib/us/tools/fetch/state/sources.ts +12 -12
  257. package/lib/us/tools/fetch/tiger-full.ts +22 -74
  258. package/lib/utils/align.ts +52 -59
  259. package/lib/utils/{slice-stats.ts → cooccurrence-stats.ts} +22 -16
  260. package/lib/utils/golden.ts +36 -51
  261. package/lib/utils/license.ts +239 -27
  262. package/lib/utils/split.ts +209 -88
  263. package/lib/utils/tokenize.ts +25 -56
  264. package/lib/utils/wof-json.ts +130 -77
  265. package/lib/{utils/index.ts → utils.ts} +0 -1
  266. package/lib/ve/recipes/reviewed-postcode-tail.ts +40 -13
  267. package/out/adapters/cordis/adapter.d.ts +326 -0
  268. package/out/adapters/cordis/adapter.d.ts.map +1 -0
  269. package/out/adapters/cordis/adapter.js +622 -0
  270. package/out/adapters/cordis/adapter.js.map +1 -0
  271. package/out/adapters/dedup-key.d.ts +30 -0
  272. package/out/adapters/dedup-key.d.ts.map +1 -0
  273. package/out/adapters/dedup-key.js +35 -0
  274. package/out/adapters/dedup-key.js.map +1 -0
  275. package/out/adapters/errors.d.ts +17 -0
  276. package/out/adapters/errors.d.ts.map +1 -0
  277. package/out/adapters/errors.js +20 -0
  278. package/out/adapters/errors.js.map +1 -0
  279. package/out/adapters/geonames/adapter.d.ts +26 -28
  280. package/out/adapters/geonames/adapter.d.ts.map +1 -1
  281. package/out/adapters/geonames/adapter.js +40 -50
  282. package/out/adapters/geonames/adapter.js.map +1 -1
  283. package/out/adapters/geonames/postal/adapter.d.ts +14 -27
  284. package/out/adapters/geonames/postal/adapter.d.ts.map +1 -1
  285. package/out/adapters/geonames/postal/adapter.js +30 -35
  286. package/out/adapters/geonames/postal/adapter.js.map +1 -1
  287. package/out/adapters/gleif/adapter.d.ts +293 -0
  288. package/out/adapters/gleif/adapter.d.ts.map +1 -0
  289. package/out/adapters/gleif/adapter.js +685 -0
  290. package/out/adapters/gleif/adapter.js.map +1 -0
  291. package/out/adapters/libpostal-dictionary.d.ts +20 -0
  292. package/out/adapters/libpostal-dictionary.d.ts.map +1 -0
  293. package/out/adapters/libpostal-dictionary.js +34 -0
  294. package/out/adapters/libpostal-dictionary.js.map +1 -0
  295. package/out/adapters/openaddresses/adapter.d.ts +29 -43
  296. package/out/adapters/openaddresses/adapter.d.ts.map +1 -1
  297. package/out/adapters/openaddresses/adapter.js +34 -46
  298. package/out/adapters/openaddresses/adapter.js.map +1 -1
  299. package/out/adapters/osm/adapter.d.ts +59 -52
  300. package/out/adapters/osm/adapter.d.ts.map +1 -1
  301. package/out/adapters/osm/adapter.js +119 -69
  302. package/out/adapters/osm/adapter.js.map +1 -1
  303. package/out/adapters/overture/adapter.d.ts +11 -37
  304. package/out/adapters/overture/adapter.d.ts.map +1 -1
  305. package/out/adapters/overture/adapter.js +45 -42
  306. package/out/adapters/overture/adapter.js.map +1 -1
  307. package/out/adapters/po-box/adapter.d.ts +66 -0
  308. package/out/adapters/po-box/adapter.d.ts.map +1 -0
  309. package/out/adapters/{synth-po-box → po-box}/adapter.js +48 -47
  310. package/out/adapters/po-box/adapter.js.map +1 -0
  311. package/out/adapters/registry.d.ts +55 -0
  312. package/out/adapters/registry.d.ts.map +1 -0
  313. package/out/adapters/registry.js +43 -0
  314. package/out/adapters/registry.js.map +1 -0
  315. package/out/adapters/sha256-stream.d.ts +26 -0
  316. package/out/adapters/sha256-stream.d.ts.map +1 -0
  317. package/out/adapters/sha256-stream.js +34 -0
  318. package/out/adapters/sha256-stream.js.map +1 -0
  319. package/out/adapters/source-id.d.ts +33 -0
  320. package/out/adapters/source-id.d.ts.map +1 -0
  321. package/out/adapters/source-id.js +42 -0
  322. package/out/adapters/source-id.js.map +1 -0
  323. package/out/adapters/street-line.d.ts +103 -0
  324. package/out/adapters/street-line.d.ts.map +1 -0
  325. package/out/adapters/street-line.js +118 -0
  326. package/out/adapters/street-line.js.map +1 -0
  327. package/out/adapters/wof/admin/json/adapter.d.ts +27 -18
  328. package/out/adapters/wof/admin/json/adapter.d.ts.map +1 -1
  329. package/out/adapters/wof/admin/json/adapter.js +48 -32
  330. package/out/adapters/wof/admin/json/adapter.js.map +1 -1
  331. package/out/adapters/wof/json-rows.d.ts +36 -19
  332. package/out/adapters/wof/json-rows.d.ts.map +1 -1
  333. package/out/adapters/wof/json-rows.js +35 -15
  334. package/out/adapters/wof/json-rows.js.map +1 -1
  335. package/out/adapters/wof/postalcode-json/adapter.d.ts +22 -38
  336. package/out/adapters/wof/postalcode-json/adapter.d.ts.map +1 -1
  337. package/out/adapters/wof/postalcode-json/adapter.js +60 -58
  338. package/out/adapters/wof/postalcode-json/adapter.js.map +1 -1
  339. package/out/adapters.d.ts +75 -0
  340. package/out/adapters.d.ts.map +1 -0
  341. package/out/adapters.js +167 -0
  342. package/out/adapters.js.map +1 -0
  343. package/out/au/adapters/gnaf/adapter.d.ts +15 -27
  344. package/out/au/adapters/gnaf/adapter.d.ts.map +1 -1
  345. package/out/au/adapters/gnaf/adapter.js +35 -43
  346. package/out/au/adapters/gnaf/adapter.js.map +1 -1
  347. package/out/au/adapters/gnaf/assemble.d.ts +15 -26
  348. package/out/au/adapters/gnaf/assemble.d.ts.map +1 -1
  349. package/out/au/adapters/gnaf/assemble.js +26 -46
  350. package/out/au/adapters/gnaf/assemble.js.map +1 -1
  351. package/out/be/adapters/brussels/adapter.d.ts +212 -0
  352. package/out/be/adapters/brussels/adapter.d.ts.map +1 -0
  353. package/out/be/adapters/brussels/adapter.js +435 -0
  354. package/out/be/adapters/brussels/adapter.js.map +1 -0
  355. package/out/be/adapters/vlaanderen/adapter.d.ts +230 -0
  356. package/out/be/adapters/vlaanderen/adapter.d.ts.map +1 -0
  357. package/out/be/adapters/vlaanderen/adapter.js +418 -0
  358. package/out/be/adapters/vlaanderen/adapter.js.map +1 -0
  359. package/out/be/adapters/wallonie/adapter.d.ts +196 -0
  360. package/out/be/adapters/wallonie/adapter.d.ts.map +1 -0
  361. package/out/be/adapters/wallonie/adapter.js +437 -0
  362. package/out/be/adapters/wallonie/adapter.js.map +1 -0
  363. package/out/be/tools/fetch/brussels.d.ts +122 -0
  364. package/out/be/tools/fetch/brussels.d.ts.map +1 -0
  365. package/out/be/tools/fetch/brussels.js +148 -0
  366. package/out/be/tools/fetch/brussels.js.map +1 -0
  367. package/out/be/tools/fetch/wallonie.d.ts +120 -0
  368. package/out/be/tools/fetch/wallonie.d.ts.map +1 -0
  369. package/out/be/tools/fetch/wallonie.js +167 -0
  370. package/out/be/tools/fetch/wallonie.js.map +1 -0
  371. package/out/build/adapters.d.ts +33 -0
  372. package/out/build/adapters.d.ts.map +1 -0
  373. package/out/build/adapters.js +69 -0
  374. package/out/build/adapters.js.map +1 -0
  375. package/out/build/align.d.ts +74 -0
  376. package/out/build/align.d.ts.map +1 -0
  377. package/out/build/align.js +226 -0
  378. package/out/build/align.js.map +1 -0
  379. package/out/build/checkpoint.d.ts +94 -0
  380. package/out/build/checkpoint.d.ts.map +1 -0
  381. package/out/build/checkpoint.js +61 -0
  382. package/out/build/checkpoint.js.map +1 -0
  383. package/out/build/eligibility.d.ts +47 -0
  384. package/out/build/eligibility.d.ts.map +1 -0
  385. package/out/build/eligibility.js +80 -0
  386. package/out/build/eligibility.js.map +1 -0
  387. package/out/build/heap.d.ts +28 -0
  388. package/out/build/heap.d.ts.map +1 -0
  389. package/out/build/heap.js +47 -0
  390. package/out/build/heap.js.map +1 -0
  391. package/out/build/inputs.d.ts +52 -0
  392. package/out/build/inputs.d.ts.map +1 -0
  393. package/out/build/inputs.js +49 -0
  394. package/out/build/inputs.js.map +1 -0
  395. package/out/build/rows.d.ts +16 -0
  396. package/out/build/rows.d.ts.map +1 -0
  397. package/out/build/rows.js +19 -0
  398. package/out/build/rows.js.map +1 -0
  399. package/out/build/types.d.ts +222 -0
  400. package/out/build/types.d.ts.map +1 -0
  401. package/out/build/types.js +34 -0
  402. package/out/build/types.js.map +1 -0
  403. package/out/build.d.ts +6 -121
  404. package/out/build.d.ts.map +1 -1
  405. package/out/build.js +112 -207
  406. package/out/build.js.map +1 -1
  407. package/out/cn/recipes/organizational-units.d.ts +5 -22
  408. package/out/cn/recipes/organizational-units.d.ts.map +1 -1
  409. package/out/cn/recipes/organizational-units.js +20 -41
  410. package/out/cn/recipes/organizational-units.js.map +1 -1
  411. package/out/cz/adapters/cuzk/adapter.d.ts +52 -0
  412. package/out/cz/adapters/cuzk/adapter.d.ts.map +1 -0
  413. package/out/cz/adapters/cuzk/adapter.js +269 -0
  414. package/out/cz/adapters/cuzk/adapter.js.map +1 -0
  415. package/out/cz/recipes/pcfirst-preposition.d.ts +7 -11
  416. package/out/cz/recipes/pcfirst-preposition.d.ts.map +1 -1
  417. package/out/cz/recipes/pcfirst-preposition.js +36 -27
  418. package/out/cz/recipes/pcfirst-preposition.js.map +1 -1
  419. package/out/cz/tools/fetch/cuzk.d.ts +281 -0
  420. package/out/cz/tools/fetch/cuzk.d.ts.map +1 -0
  421. package/out/cz/tools/fetch/cuzk.js +448 -0
  422. package/out/cz/tools/fetch/cuzk.js.map +1 -0
  423. package/out/de/recipes/locale.d.ts +24 -26
  424. package/out/de/recipes/locale.d.ts.map +1 -1
  425. package/out/de/recipes/locale.js +67 -57
  426. package/out/de/recipes/locale.js.map +1 -1
  427. package/out/directory.d.ts +20 -0
  428. package/out/directory.d.ts.map +1 -0
  429. package/out/directory.js +27 -0
  430. package/out/directory.js.map +1 -0
  431. package/out/dk/adapters/inspire/adapter.d.ts +153 -0
  432. package/out/dk/adapters/inspire/adapter.d.ts.map +1 -0
  433. package/out/dk/adapters/inspire/adapter.js +258 -0
  434. package/out/dk/adapters/inspire/adapter.js.map +1 -0
  435. package/out/dk/tools/fetch/inspire.d.ts +101 -0
  436. package/out/dk/tools/fetch/inspire.d.ts.map +1 -0
  437. package/out/dk/tools/fetch/inspire.js +232 -0
  438. package/out/dk/tools/fetch/inspire.js.map +1 -0
  439. package/out/ee/adapters/ads/adapter.d.ts +102 -0
  440. package/out/ee/adapters/ads/adapter.d.ts.map +1 -0
  441. package/out/ee/adapters/ads/adapter.js +185 -0
  442. package/out/ee/adapters/ads/adapter.js.map +1 -0
  443. package/out/ee/tools/fetch/ads.d.ts +123 -0
  444. package/out/ee/tools/fetch/ads.d.ts.map +1 -0
  445. package/out/ee/tools/fetch/ads.js +197 -0
  446. package/out/ee/tools/fetch/ads.js.map +1 -0
  447. package/out/env.d.ts +6 -2
  448. package/out/env.d.ts.map +1 -1
  449. package/out/env.js +6 -2
  450. package/out/env.js.map +1 -1
  451. package/out/es/adapters/bizkaia/adapter.d.ts +143 -0
  452. package/out/es/adapters/bizkaia/adapter.d.ts.map +1 -0
  453. package/out/es/adapters/bizkaia/adapter.js +332 -0
  454. package/out/es/adapters/bizkaia/adapter.js.map +1 -0
  455. package/out/es/adapters/catastro/adapter.d.ts +103 -0
  456. package/out/es/adapters/catastro/adapter.d.ts.map +1 -0
  457. package/out/es/adapters/catastro/adapter.js +290 -0
  458. package/out/es/adapters/catastro/adapter.js.map +1 -0
  459. package/out/es/adapters/gipuzkoa/adapter.d.ts +84 -0
  460. package/out/es/adapters/gipuzkoa/adapter.d.ts.map +1 -0
  461. package/out/es/adapters/gipuzkoa/adapter.js +218 -0
  462. package/out/es/adapters/gipuzkoa/adapter.js.map +1 -0
  463. package/out/es/adapters/navarra/adapter.d.ts +106 -0
  464. package/out/es/adapters/navarra/adapter.d.ts.map +1 -0
  465. package/out/es/adapters/navarra/adapter.js +242 -0
  466. package/out/es/adapters/navarra/adapter.js.map +1 -0
  467. package/out/es/cadastre.d.ts +110 -0
  468. package/out/es/cadastre.d.ts.map +1 -0
  469. package/out/es/cadastre.js +128 -0
  470. package/out/es/cadastre.js.map +1 -0
  471. package/out/es/tools/fetch/bizkaia.d.ts +281 -0
  472. package/out/es/tools/fetch/bizkaia.d.ts.map +1 -0
  473. package/out/es/tools/fetch/bizkaia.js +478 -0
  474. package/out/es/tools/fetch/bizkaia.js.map +1 -0
  475. package/out/es/tools/fetch/catastro.d.ts +280 -0
  476. package/out/es/tools/fetch/catastro.d.ts.map +1 -0
  477. package/out/es/tools/fetch/catastro.js +491 -0
  478. package/out/es/tools/fetch/catastro.js.map +1 -0
  479. package/out/es/tools/fetch/gipuzkoa.d.ts +164 -0
  480. package/out/es/tools/fetch/gipuzkoa.d.ts.map +1 -0
  481. package/out/es/tools/fetch/gipuzkoa.js +210 -0
  482. package/out/es/tools/fetch/gipuzkoa.js.map +1 -0
  483. package/out/es/tools/fetch/navarra.d.ts +194 -0
  484. package/out/es/tools/fetch/navarra.d.ts.map +1 -0
  485. package/out/es/tools/fetch/navarra.js +321 -0
  486. package/out/es/tools/fetch/navarra.js.map +1 -0
  487. package/out/fi/adapters/ryhti/adapter.d.ts +111 -0
  488. package/out/fi/adapters/ryhti/adapter.d.ts.map +1 -0
  489. package/out/fi/adapters/ryhti/adapter.js +240 -0
  490. package/out/fi/adapters/ryhti/adapter.js.map +1 -0
  491. package/out/fi/tools/fetch/ryhti.d.ts +206 -0
  492. package/out/fi/tools/fetch/ryhti.d.ts.map +1 -0
  493. package/out/fi/tools/fetch/ryhti.js +324 -0
  494. package/out/fi/tools/fetch/ryhti.js.map +1 -0
  495. package/out/fingerprints.d.ts +68 -0
  496. package/out/fingerprints.d.ts.map +1 -0
  497. package/out/fingerprints.js +130 -0
  498. package/out/fingerprints.js.map +1 -0
  499. package/out/fr/adapters/annuaire-education/adapter.d.ts +236 -0
  500. package/out/fr/adapters/annuaire-education/adapter.d.ts.map +1 -0
  501. package/out/fr/adapters/annuaire-education/adapter.js +477 -0
  502. package/out/fr/adapters/annuaire-education/adapter.js.map +1 -0
  503. package/out/fr/adapters/ban/adapter.d.ts +19 -25
  504. package/out/fr/adapters/ban/adapter.d.ts.map +1 -1
  505. package/out/fr/adapters/ban/adapter.js +65 -54
  506. package/out/fr/adapters/ban/adapter.js.map +1 -1
  507. package/out/fr/adapters/finess/adapter.d.ts +277 -0
  508. package/out/fr/adapters/finess/adapter.d.ts.map +1 -0
  509. package/out/fr/adapters/finess/adapter.js +520 -0
  510. package/out/fr/adapters/finess/adapter.js.map +1 -0
  511. package/out/fr/adapters/finess/postal-lines.d.ts +61 -0
  512. package/out/fr/adapters/finess/postal-lines.d.ts.map +1 -0
  513. package/out/fr/adapters/finess/postal-lines.js +114 -0
  514. package/out/fr/adapters/finess/postal-lines.js.map +1 -0
  515. package/out/fr/adapters/finess/voie-type.d.ts +77 -0
  516. package/out/fr/adapters/finess/voie-type.d.ts.map +1 -0
  517. package/out/fr/adapters/finess/voie-type.js +173 -0
  518. package/out/fr/adapters/finess/voie-type.js.map +1 -0
  519. package/out/fr/insee-country.d.ts +45 -0
  520. package/out/fr/insee-country.d.ts.map +1 -0
  521. package/out/fr/insee-country.js +60 -0
  522. package/out/fr/insee-country.js.map +1 -0
  523. package/out/fr/recipes/admin-split.d.ts +4 -27
  524. package/out/fr/recipes/admin-split.d.ts.map +1 -1
  525. package/out/fr/recipes/admin-split.js +36 -58
  526. package/out/fr/recipes/admin-split.js.map +1 -1
  527. package/out/fr/recipes/bare-street.d.ts +2 -17
  528. package/out/fr/recipes/bare-street.d.ts.map +1 -1
  529. package/out/fr/recipes/bare-street.js +35 -50
  530. package/out/fr/recipes/bare-street.js.map +1 -1
  531. package/out/fr/recipes/fragment.d.ts +6 -65
  532. package/out/fr/recipes/fragment.d.ts.map +1 -1
  533. package/out/fr/recipes/fragment.js +55 -135
  534. package/out/fr/recipes/fragment.js.map +1 -1
  535. package/out/fr/recipes/lieudit.d.ts +17 -19
  536. package/out/fr/recipes/lieudit.d.ts.map +1 -1
  537. package/out/fr/recipes/lieudit.js +89 -68
  538. package/out/fr/recipes/lieudit.js.map +1 -1
  539. package/out/fr/recipes/order.d.ts +4 -27
  540. package/out/fr/recipes/order.d.ts.map +1 -1
  541. package/out/fr/recipes/order.js +31 -58
  542. package/out/fr/recipes/order.js.map +1 -1
  543. package/out/fr/{adapters/ban/street-decompose.d.ts → street-decompose.d.ts} +3 -2
  544. package/out/fr/street-decompose.d.ts.map +1 -0
  545. package/out/fr/{adapters/ban/street-decompose.js → street-decompose.js} +4 -3
  546. package/out/fr/street-decompose.js.map +1 -0
  547. package/out/fr/tools/fetch/annuaire-education.d.ts +133 -0
  548. package/out/fr/tools/fetch/annuaire-education.d.ts.map +1 -0
  549. package/out/fr/tools/fetch/annuaire-education.js +198 -0
  550. package/out/fr/tools/fetch/annuaire-education.js.map +1 -0
  551. package/out/fr/tools/fetch/ban.d.ts +9 -7
  552. package/out/fr/tools/fetch/ban.d.ts.map +1 -1
  553. package/out/fr/tools/fetch/ban.js +29 -19
  554. package/out/fr/tools/fetch/ban.js.map +1 -1
  555. package/out/fr/tools/fetch/finess.d.ts +145 -0
  556. package/out/fr/tools/fetch/finess.d.ts.map +1 -0
  557. package/out/fr/tools/fetch/finess.js +229 -0
  558. package/out/fr/tools/fetch/finess.js.map +1 -0
  559. package/out/gauntlet-inputs.d.ts +42 -0
  560. package/out/gauntlet-inputs.d.ts.map +1 -0
  561. package/out/gauntlet-inputs.js +78 -0
  562. package/out/gauntlet-inputs.js.map +1 -0
  563. package/out/index.d.ts +9 -3
  564. package/out/index.d.ts.map +1 -1
  565. package/out/index.js +9 -3
  566. package/out/index.js.map +1 -1
  567. package/out/inspire/address.d.ts +261 -0
  568. package/out/inspire/address.d.ts.map +1 -0
  569. package/out/inspire/address.js +395 -0
  570. package/out/inspire/address.js.map +1 -0
  571. package/out/inspire/archive.d.ts +36 -0
  572. package/out/inspire/archive.d.ts.map +1 -0
  573. package/out/inspire/archive.js +42 -0
  574. package/out/inspire/archive.js.map +1 -0
  575. package/out/inspire/errors.d.ts +56 -0
  576. package/out/inspire/errors.d.ts.map +1 -0
  577. package/out/inspire/errors.js +65 -0
  578. package/out/inspire/errors.js.map +1 -0
  579. package/out/inspire/stream.d.ts +140 -0
  580. package/out/inspire/stream.d.ts.map +1 -0
  581. package/out/inspire/stream.js +123 -0
  582. package/out/inspire/stream.js.map +1 -0
  583. package/out/international/recipes/locale.d.ts +40 -86
  584. package/out/international/recipes/locale.d.ts.map +1 -1
  585. package/out/international/recipes/locale.js +122 -157
  586. package/out/international/recipes/locale.js.map +1 -1
  587. package/out/it/adapters/anac/adapter.d.ts +269 -0
  588. package/out/it/adapters/anac/adapter.d.ts.map +1 -0
  589. package/out/it/adapters/anac/adapter.js +434 -0
  590. package/out/it/adapters/anac/adapter.js.map +1 -0
  591. package/out/it/tools/fetch/anac.d.ts +171 -0
  592. package/out/it/tools/fetch/anac.d.ts.map +1 -0
  593. package/out/it/tools/fetch/anac.js +269 -0
  594. package/out/it/tools/fetch/anac.js.map +1 -0
  595. package/out/jp/adapters/wof-admin/adapter.d.ts +14 -11
  596. package/out/jp/adapters/wof-admin/adapter.d.ts.map +1 -1
  597. package/out/jp/adapters/wof-admin/adapter.js +27 -16
  598. package/out/jp/adapters/wof-admin/adapter.js.map +1 -1
  599. package/out/jp/tools/fetch/houjin.d.ts +7 -4
  600. package/out/jp/tools/fetch/houjin.d.ts.map +1 -1
  601. package/out/jp/tools/fetch/houjin.js +17 -13
  602. package/out/jp/tools/fetch/houjin.js.map +1 -1
  603. package/out/kr/adapters/juso/label-rows.d.ts +17 -31
  604. package/out/kr/adapters/juso/label-rows.d.ts.map +1 -1
  605. package/out/kr/adapters/juso/label-rows.js +19 -41
  606. package/out/kr/adapters/juso/label-rows.js.map +1 -1
  607. package/out/kr/adapters/localdata/align.d.ts +4 -16
  608. package/out/kr/adapters/localdata/align.d.ts.map +1 -1
  609. package/out/kr/adapters/localdata/align.js +19 -30
  610. package/out/kr/adapters/localdata/align.js.map +1 -1
  611. package/out/kr/adapters/localdata/key-index.d.ts +13 -22
  612. package/out/kr/adapters/localdata/key-index.d.ts.map +1 -1
  613. package/out/kr/adapters/localdata/key-index.js +15 -21
  614. package/out/kr/adapters/localdata/key-index.js.map +1 -1
  615. package/out/kr/adapters/localdata/permit-rows.d.ts +21 -14
  616. package/out/kr/adapters/localdata/permit-rows.d.ts.map +1 -1
  617. package/out/kr/adapters/localdata/permit-rows.js +31 -26
  618. package/out/kr/adapters/localdata/permit-rows.js.map +1 -1
  619. package/out/kr/tools/fetch/juso.d.ts +11 -8
  620. package/out/kr/tools/fetch/juso.d.ts.map +1 -1
  621. package/out/kr/tools/fetch/juso.js +15 -14
  622. package/out/kr/tools/fetch/juso.js.map +1 -1
  623. package/out/kr/tools/fetch/localdata.d.ts +16 -9
  624. package/out/kr/tools/fetch/localdata.d.ts.map +1 -1
  625. package/out/kr/tools/fetch/localdata.js +24 -16
  626. package/out/kr/tools/fetch/localdata.js.map +1 -1
  627. package/out/lu/adapters/bd-adresses/adapter.d.ts +109 -0
  628. package/out/lu/adapters/bd-adresses/adapter.d.ts.map +1 -0
  629. package/out/lu/adapters/bd-adresses/adapter.js +196 -0
  630. package/out/lu/adapters/bd-adresses/adapter.js.map +1 -0
  631. package/out/lu/tools/fetch/bd-adresses.d.ts +165 -0
  632. package/out/lu/tools/fetch/bd-adresses.d.ts.map +1 -0
  633. package/out/lu/tools/fetch/bd-adresses.js +223 -0
  634. package/out/lu/tools/fetch/bd-adresses.js.map +1 -0
  635. package/out/lv/adapters/varis/adapter.d.ts +284 -0
  636. package/out/lv/adapters/varis/adapter.d.ts.map +1 -0
  637. package/out/lv/adapters/varis/adapter.js +405 -0
  638. package/out/lv/adapters/varis/adapter.js.map +1 -0
  639. package/out/lv/tools/fetch/varis.d.ts +81 -0
  640. package/out/lv/tools/fetch/varis.d.ts.map +1 -0
  641. package/out/lv/tools/fetch/varis.js +133 -0
  642. package/out/lv/tools/fetch/varis.js.map +1 -0
  643. package/out/nl/adapters/kadaster/adapter.d.ts +125 -0
  644. package/out/nl/adapters/kadaster/adapter.d.ts.map +1 -0
  645. package/out/nl/adapters/kadaster/adapter.js +309 -0
  646. package/out/nl/adapters/kadaster/adapter.js.map +1 -0
  647. package/out/nl/recipes/postcode.d.ts +12 -14
  648. package/out/nl/recipes/postcode.d.ts.map +1 -1
  649. package/out/nl/recipes/postcode.js +42 -24
  650. package/out/nl/recipes/postcode.js.map +1 -1
  651. package/out/nl/tools/fetch/kadaster.d.ts +159 -0
  652. package/out/nl/tools/fetch/kadaster.d.ts.map +1 -0
  653. package/out/nl/tools/fetch/kadaster.js +182 -0
  654. package/out/nl/tools/fetch/kadaster.js.map +1 -0
  655. package/out/no/adapters/matrikkelen/adapter.d.ts +44 -0
  656. package/out/no/adapters/matrikkelen/adapter.d.ts.map +1 -0
  657. package/out/no/adapters/matrikkelen/adapter.js +143 -0
  658. package/out/no/adapters/matrikkelen/adapter.js.map +1 -0
  659. package/out/no/recipes/fragment.d.ts +1 -33
  660. package/out/no/recipes/fragment.d.ts.map +1 -1
  661. package/out/no/recipes/fragment.js +23 -57
  662. package/out/no/recipes/fragment.js.map +1 -1
  663. package/out/no/recipes/street/led.d.ts +9 -12
  664. package/out/no/recipes/street/led.d.ts.map +1 -1
  665. package/out/no/recipes/street/led.js +34 -24
  666. package/out/no/recipes/street/led.js.map +1 -1
  667. package/out/no/recipes/street.d.ts +19 -0
  668. package/out/no/recipes/street.d.ts.map +1 -0
  669. package/out/no/recipes/{street/index.js → street.js} +28 -12
  670. package/out/no/recipes/street.js.map +1 -0
  671. package/out/no/tools/fetch/matrikkelen.d.ts +263 -0
  672. package/out/no/tools/fetch/matrikkelen.d.ts.map +1 -0
  673. package/out/no/tools/fetch/matrikkelen.js +353 -0
  674. package/out/no/tools/fetch/matrikkelen.js.map +1 -0
  675. package/out/parquet/duckdb.d.ts +103 -0
  676. package/out/parquet/duckdb.d.ts.map +1 -0
  677. package/out/parquet/duckdb.js +93 -0
  678. package/out/parquet/duckdb.js.map +1 -0
  679. package/out/parquet/readers.d.ts +44 -0
  680. package/out/parquet/readers.d.ts.map +1 -0
  681. package/out/parquet/readers.js +69 -0
  682. package/out/parquet/readers.js.map +1 -0
  683. package/out/parquet/schema.d.ts +95 -0
  684. package/out/parquet/schema.d.ts.map +1 -0
  685. package/out/parquet/schema.js +157 -0
  686. package/out/parquet/schema.js.map +1 -0
  687. package/out/parquet/shuffle.d.ts +25 -0
  688. package/out/parquet/shuffle.d.ts.map +1 -0
  689. package/out/parquet/shuffle.js +44 -0
  690. package/out/parquet/shuffle.js.map +1 -0
  691. package/out/parquet/span-sql.d.ts +49 -0
  692. package/out/parquet/span-sql.d.ts.map +1 -0
  693. package/out/parquet/span-sql.js +53 -0
  694. package/out/parquet/span-sql.js.map +1 -0
  695. package/out/parquet/streams.d.ts +47 -0
  696. package/out/parquet/streams.d.ts.map +1 -0
  697. package/out/parquet/streams.js +78 -0
  698. package/out/parquet/streams.js.map +1 -0
  699. package/out/parquet/writers.d.ts +124 -0
  700. package/out/parquet/writers.d.ts.map +1 -0
  701. package/out/parquet/writers.js +252 -0
  702. package/out/parquet/writers.js.map +1 -0
  703. package/out/pl/adapters/emuia/adapter.d.ts +81 -0
  704. package/out/pl/adapters/emuia/adapter.d.ts.map +1 -0
  705. package/out/pl/adapters/emuia/adapter.js +178 -0
  706. package/out/pl/adapters/emuia/adapter.js.map +1 -0
  707. package/out/pl/tools/fetch/emuia.d.ts +166 -0
  708. package/out/pl/tools/fetch/emuia.d.ts.map +1 -0
  709. package/out/pl/tools/fetch/emuia.js +261 -0
  710. package/out/pl/tools/fetch/emuia.js.map +1 -0
  711. package/out/recipes/anchor-absorption.d.ts +9 -9
  712. package/out/recipes/anchor-absorption.d.ts.map +1 -1
  713. package/out/recipes/anchor-absorption.js +29 -19
  714. package/out/recipes/anchor-absorption.js.map +1 -1
  715. package/out/recipes/bare/country.d.ts +2 -20
  716. package/out/recipes/bare/country.d.ts.map +1 -1
  717. package/out/recipes/bare/country.js +20 -31
  718. package/out/recipes/bare/country.js.map +1 -1
  719. package/out/recipes/bare/postcode/eval.d.ts +1 -1
  720. package/out/recipes/bare/postcode/eval.js +1 -1
  721. package/out/recipes/bare/postcode.d.ts +41 -0
  722. package/out/recipes/bare/postcode.d.ts.map +1 -0
  723. package/out/recipes/bare/{postcode/index.js → postcode.js} +92 -80
  724. package/out/recipes/bare/postcode.js.map +1 -0
  725. package/out/recipes/boundary-stress.d.ts +8 -8
  726. package/out/recipes/boundary-stress.d.ts.map +1 -1
  727. package/out/recipes/boundary-stress.js +37 -20
  728. package/out/recipes/boundary-stress.js.map +1 -1
  729. package/out/recipes/country-balanced.d.ts +3 -21
  730. package/out/recipes/country-balanced.d.ts.map +1 -1
  731. package/out/recipes/country-balanced.js +58 -76
  732. package/out/recipes/country-balanced.js.map +1 -1
  733. package/out/recipes/house-venue.d.ts +8 -6
  734. package/out/recipes/house-venue.d.ts.map +1 -1
  735. package/out/recipes/house-venue.js +33 -14
  736. package/out/recipes/house-venue.js.map +1 -1
  737. package/out/recipes/intersection.d.ts +20 -20
  738. package/out/recipes/intersection.d.ts.map +1 -1
  739. package/out/recipes/intersection.js +67 -55
  740. package/out/recipes/intersection.js.map +1 -1
  741. package/out/recipes/po/box/cedex/au-nz.d.ts.map +1 -1
  742. package/out/recipes/po/box/cedex/au-nz.js +3 -3
  743. package/out/recipes/po/box/cedex/au-nz.js.map +1 -1
  744. package/out/recipes/po/box/cedex/ca.d.ts.map +1 -1
  745. package/out/recipes/po/box/cedex/ca.js +2 -2
  746. package/out/recipes/po/box/cedex/ca.js.map +1 -1
  747. package/out/recipes/po/box/cedex/fr.d.ts.map +1 -1
  748. package/out/recipes/po/box/cedex/fr.js +3 -3
  749. package/out/recipes/po/box/cedex/fr.js.map +1 -1
  750. package/out/recipes/po/box/cedex/phrases.d.ts.map +1 -1
  751. package/out/recipes/po/box/cedex/phrases.js +7 -6
  752. package/out/recipes/po/box/cedex/phrases.js.map +1 -1
  753. package/out/recipes/po/box/cedex/recipe.d.ts +1 -1
  754. package/out/recipes/po/box/cedex/recipe.d.ts.map +1 -1
  755. package/out/recipes/po/box/cedex/recipe.js +27 -16
  756. package/out/recipes/po/box/cedex/recipe.js.map +1 -1
  757. package/out/recipes/po/box/cedex/sources.d.ts +20 -14
  758. package/out/recipes/po/box/cedex/sources.d.ts.map +1 -1
  759. package/out/recipes/po/box/cedex/sources.js +2 -2
  760. package/out/recipes/po/box/cedex/sources.js.map +1 -1
  761. package/out/recipes/po/box/cedex/us.d.ts.map +1 -1
  762. package/out/recipes/po/box/cedex/us.js +5 -2
  763. package/out/recipes/po/box/cedex/us.js.map +1 -1
  764. package/out/recipes/po/box.d.ts +18 -0
  765. package/out/recipes/po/box.d.ts.map +1 -0
  766. package/out/recipes/po/{box/index.js → box.js} +37 -19
  767. package/out/recipes/po/box.js.map +1 -0
  768. package/out/recipes/scaffold.d.ts +223 -141
  769. package/out/recipes/scaffold.d.ts.map +1 -1
  770. package/out/recipes/scaffold.js +75 -65
  771. package/out/recipes/scaffold.js.map +1 -1
  772. package/out/recipes/sources.d.ts +178 -0
  773. package/out/recipes/sources.d.ts.map +1 -0
  774. package/out/recipes/sources.js +361 -0
  775. package/out/recipes/sources.js.map +1 -0
  776. package/out/recipes/street/affix.d.ts +20 -50
  777. package/out/recipes/street/affix.d.ts.map +1 -1
  778. package/out/recipes/street/affix.js +45 -133
  779. package/out/recipes/street/affix.js.map +1 -1
  780. package/out/recipes/street/bare.d.ts +9 -7
  781. package/out/recipes/street/bare.d.ts.map +1 -1
  782. package/out/recipes/street/bare.js +27 -16
  783. package/out/recipes/street/bare.js.map +1 -1
  784. package/out/recipes/street.d.ts +6 -4
  785. package/out/recipes/street.d.ts.map +1 -1
  786. package/out/recipes/street.js +32 -9
  787. package/out/recipes/street.js.map +1 -1
  788. package/out/recipes/sub/venue/context.d.ts +12 -9
  789. package/out/recipes/sub/venue/context.d.ts.map +1 -1
  790. package/out/recipes/sub/venue/context.js +23 -17
  791. package/out/recipes/sub/venue/context.js.map +1 -1
  792. package/out/recipes/sub/venue/render.d.ts +58 -0
  793. package/out/recipes/sub/venue/render.d.ts.map +1 -0
  794. package/out/recipes/sub/venue/render.js +118 -0
  795. package/out/recipes/sub/venue/render.js.map +1 -0
  796. package/out/recipes/sub/venue/sources.d.ts +53 -93
  797. package/out/recipes/sub/venue/sources.d.ts.map +1 -1
  798. package/out/recipes/sub/venue/sources.js +57 -197
  799. package/out/recipes/sub/venue/sources.js.map +1 -1
  800. package/out/recipes/sub/venue.d.ts +173 -0
  801. package/out/recipes/sub/venue.d.ts.map +1 -0
  802. package/out/recipes/sub/venue.js +558 -0
  803. package/out/recipes/sub/venue.js.map +1 -0
  804. package/out/recipes/trailing-region.d.ts +9 -61
  805. package/out/recipes/trailing-region.d.ts.map +1 -1
  806. package/out/recipes/trailing-region.js +61 -86
  807. package/out/recipes/trailing-region.js.map +1 -1
  808. package/out/recipes/unit/sources.d.ts +28 -0
  809. package/out/recipes/unit/sources.d.ts.map +1 -0
  810. package/out/recipes/unit/sources.js +30 -0
  811. package/out/recipes/unit/sources.js.map +1 -0
  812. package/out/recipes/unit.d.ts +30 -17
  813. package/out/recipes/unit.d.ts.map +1 -1
  814. package/out/recipes/unit.js +90 -79
  815. package/out/recipes/unit.js.map +1 -1
  816. package/out/recipes/venue.d.ts +119 -0
  817. package/out/recipes/venue.d.ts.map +1 -0
  818. package/out/recipes/venue.js +245 -0
  819. package/out/recipes/venue.js.map +1 -0
  820. package/out/recipes.d.ts +26 -0
  821. package/out/recipes.d.ts.map +1 -0
  822. package/out/{recipes/index.js → recipes.js} +16 -12
  823. package/out/recipes.js.map +1 -0
  824. package/out/registers.d.ts +279 -0
  825. package/out/registers.d.ts.map +1 -0
  826. package/out/registers.js +275 -0
  827. package/out/registers.js.map +1 -0
  828. package/out/ro/adapters/retea-scolara/adapter.d.ts +114 -0
  829. package/out/ro/adapters/retea-scolara/adapter.d.ts.map +1 -0
  830. package/out/ro/adapters/retea-scolara/adapter.js +209 -0
  831. package/out/ro/adapters/retea-scolara/adapter.js.map +1 -0
  832. package/out/ro/tools/fetch/retea-scolara.d.ts +69 -0
  833. package/out/ro/tools/fetch/retea-scolara.d.ts.map +1 -0
  834. package/out/ro/tools/fetch/retea-scolara.js +117 -0
  835. package/out/ro/tools/fetch/retea-scolara.js.map +1 -0
  836. package/out/runner.d.ts +121 -60
  837. package/out/runner.d.ts.map +1 -1
  838. package/out/runner.js +130 -56
  839. package/out/runner.js.map +1 -1
  840. package/out/sg/recipes/register.d.ts +18 -32
  841. package/out/sg/recipes/register.d.ts.map +1 -1
  842. package/out/sg/recipes/register.js +45 -50
  843. package/out/sg/recipes/register.js.map +1 -1
  844. package/out/sg/tools/fetch/acra.d.ts +11 -14
  845. package/out/sg/tools/fetch/acra.d.ts.map +1 -1
  846. package/out/sg/tools/fetch/acra.js +18 -21
  847. package/out/sg/tools/fetch/acra.js.map +1 -1
  848. package/out/si/recipes/bare-village.d.ts +12 -13
  849. package/out/si/recipes/bare-village.d.ts.map +1 -1
  850. package/out/si/recipes/bare-village.js +31 -17
  851. package/out/si/recipes/bare-village.js.map +1 -1
  852. package/out/sk/adapters/inspire/adapter.d.ts +119 -0
  853. package/out/sk/adapters/inspire/adapter.d.ts.map +1 -0
  854. package/out/sk/adapters/inspire/adapter.js +318 -0
  855. package/out/sk/adapters/inspire/adapter.js.map +1 -0
  856. package/out/sk/tools/fetch/inspire.d.ts +196 -0
  857. package/out/sk/tools/fetch/inspire.d.ts.map +1 -0
  858. package/out/sk/tools/fetch/inspire.js +281 -0
  859. package/out/sk/tools/fetch/inspire.js.map +1 -0
  860. package/out/source-register/effective-manifest.d.ts +355 -0
  861. package/out/source-register/effective-manifest.d.ts.map +1 -0
  862. package/out/source-register/effective-manifest.js +355 -0
  863. package/out/source-register/effective-manifest.js.map +1 -0
  864. package/out/source-register/register.d.ts +79 -0
  865. package/out/source-register/register.d.ts.map +1 -0
  866. package/out/source-register/register.js +400 -0
  867. package/out/source-register/register.js.map +1 -0
  868. package/out/source-register/training-manifest.d.ts +111 -0
  869. package/out/source-register/training-manifest.d.ts.map +1 -0
  870. package/out/source-register/training-manifest.js +120 -0
  871. package/out/source-register/training-manifest.js.map +1 -0
  872. package/out/source-register/types.d.ts +538 -0
  873. package/out/source-register/types.d.ts.map +1 -0
  874. package/out/source-register/types.js +263 -0
  875. package/out/source-register/types.js.map +1 -0
  876. package/out/source-register.d.ts +19 -0
  877. package/out/source-register.d.ts.map +1 -0
  878. package/out/source-register.js +16 -0
  879. package/out/source-register.js.map +1 -0
  880. package/out/south-asia/recipes/register.d.ts +20 -17
  881. package/out/south-asia/recipes/register.d.ts.map +1 -1
  882. package/out/south-asia/recipes/register.js +44 -24
  883. package/out/south-asia/recipes/register.js.map +1 -1
  884. package/out/subvenue/harvest.d.ts +117 -0
  885. package/out/subvenue/harvest.d.ts.map +1 -0
  886. package/out/subvenue/harvest.js +172 -0
  887. package/out/subvenue/harvest.js.map +1 -0
  888. package/out/subvenue/promotions.d.ts +65 -0
  889. package/out/subvenue/promotions.d.ts.map +1 -0
  890. package/out/{tools/sub/venue → subvenue}/promotions.js +15 -55
  891. package/out/subvenue/promotions.js.map +1 -0
  892. package/out/subvenue/surfaces.d.ts +39 -0
  893. package/out/subvenue/surfaces.d.ts.map +1 -0
  894. package/out/subvenue/surfaces.js +75 -0
  895. package/out/subvenue/surfaces.js.map +1 -0
  896. package/out/subvenue/table.d.ts +212 -0
  897. package/out/subvenue/table.d.ts.map +1 -0
  898. package/out/subvenue/table.js +94 -0
  899. package/out/subvenue/table.js.map +1 -0
  900. package/out/surfaces/locale.d.ts +113 -0
  901. package/out/surfaces/locale.d.ts.map +1 -0
  902. package/out/surfaces/locale.js +138 -0
  903. package/out/surfaces/locale.js.map +1 -0
  904. package/out/synthesizers/anchor-absorption.d.ts +22 -30
  905. package/out/synthesizers/anchor-absorption.d.ts.map +1 -1
  906. package/out/synthesizers/anchor-absorption.js +30 -85
  907. package/out/synthesizers/anchor-absorption.js.map +1 -1
  908. package/out/synthesizers/boundary-stress.d.ts +18 -49
  909. package/out/synthesizers/boundary-stress.d.ts.map +1 -1
  910. package/out/synthesizers/boundary-stress.js +45 -142
  911. package/out/synthesizers/boundary-stress.js.map +1 -1
  912. package/out/synthesizers/house-venue.d.ts +23 -25
  913. package/out/synthesizers/house-venue.d.ts.map +1 -1
  914. package/out/synthesizers/house-venue.js +47 -118
  915. package/out/synthesizers/house-venue.js.map +1 -1
  916. package/out/synthesizers/no-street.d.ts +7 -37
  917. package/out/synthesizers/no-street.d.ts.map +1 -1
  918. package/out/synthesizers/no-street.js +55 -111
  919. package/out/synthesizers/no-street.js.map +1 -1
  920. package/out/synthesizers/po-box.d.ts +48 -45
  921. package/out/synthesizers/po-box.d.ts.map +1 -1
  922. package/out/synthesizers/po-box.js +57 -97
  923. package/out/synthesizers/po-box.js.map +1 -1
  924. package/out/synthesizers/tail.d.ts +36 -0
  925. package/out/synthesizers/tail.d.ts.map +1 -0
  926. package/out/synthesizers/tail.js +32 -0
  927. package/out/synthesizers/tail.js.map +1 -0
  928. package/out/synthesizers/utils.d.ts +33 -129
  929. package/out/synthesizers/utils.d.ts.map +1 -1
  930. package/out/synthesizers/utils.js +71 -167
  931. package/out/synthesizers/utils.js.map +1 -1
  932. package/out/test-kit/corpus-recipe.d.ts +29 -23
  933. package/out/test-kit/corpus-recipe.d.ts.map +1 -1
  934. package/out/test-kit/corpus-recipe.js +28 -13
  935. package/out/test-kit/corpus-recipe.js.map +1 -1
  936. package/out/test-kit.d.ts +63 -0
  937. package/out/test-kit.d.ts.map +1 -0
  938. package/out/test-kit.js +88 -0
  939. package/out/test-kit.js.map +1 -0
  940. package/out/tools/align-canonical.d.ts +7 -0
  941. package/out/tools/align-canonical.d.ts.map +1 -0
  942. package/out/tools/align-canonical.js +52 -0
  943. package/out/tools/align-canonical.js.map +1 -0
  944. package/out/tools/audit.d.ts +19 -11
  945. package/out/tools/audit.d.ts.map +1 -1
  946. package/out/tools/audit.js +89 -97
  947. package/out/tools/audit.js.map +1 -1
  948. package/out/tools/corpus-stats.d.ts +24 -15
  949. package/out/tools/corpus-stats.d.ts.map +1 -1
  950. package/out/tools/corpus-stats.js +34 -30
  951. package/out/tools/corpus-stats.js.map +1 -1
  952. package/out/tools/fetch/atom.d.ts +115 -0
  953. package/out/tools/fetch/atom.d.ts.map +1 -0
  954. package/out/tools/fetch/atom.js +83 -0
  955. package/out/tools/fetch/atom.js.map +1 -0
  956. package/out/tools/fetch/cordis.d.ts +124 -0
  957. package/out/tools/fetch/cordis.d.ts.map +1 -0
  958. package/out/tools/fetch/cordis.js +210 -0
  959. package/out/tools/fetch/cordis.js.map +1 -0
  960. package/out/tools/fetch/download/manifest.d.ts +27 -18
  961. package/out/tools/fetch/download/manifest.d.ts.map +1 -1
  962. package/out/tools/fetch/download/manifest.js +22 -14
  963. package/out/tools/fetch/download/manifest.js.map +1 -1
  964. package/out/tools/fetch/download/network.d.ts +48 -27
  965. package/out/tools/fetch/download/network.d.ts.map +1 -1
  966. package/out/tools/fetch/download/network.js +26 -16
  967. package/out/tools/fetch/download/network.js.map +1 -1
  968. package/out/tools/fetch/download/retry.d.ts +16 -15
  969. package/out/tools/fetch/download/retry.d.ts.map +1 -1
  970. package/out/tools/fetch/download/retry.js +28 -28
  971. package/out/tools/fetch/download/retry.js.map +1 -1
  972. package/out/tools/fetch/{download/index.d.ts → download.d.ts} +1 -1
  973. package/out/tools/fetch/download.d.ts.map +1 -0
  974. package/out/tools/fetch/{download/index.js → download.js} +1 -1
  975. package/out/tools/fetch/download.js.map +1 -0
  976. package/out/tools/fetch/geonames/dump.d.ts +51 -32
  977. package/out/tools/fetch/geonames/dump.d.ts.map +1 -1
  978. package/out/tools/fetch/geonames/dump.js +54 -43
  979. package/out/tools/fetch/geonames/dump.js.map +1 -1
  980. package/out/tools/fetch/geonames/postal.d.ts +14 -49
  981. package/out/tools/fetch/geonames/postal.d.ts.map +1 -1
  982. package/out/tools/fetch/geonames/postal.js +17 -56
  983. package/out/tools/fetch/geonames/postal.js.map +1 -1
  984. package/out/tools/fetch/gleif.d.ts +138 -0
  985. package/out/tools/fetch/gleif.d.ts.map +1 -0
  986. package/out/tools/fetch/gleif.js +222 -0
  987. package/out/tools/fetch/gleif.js.map +1 -0
  988. package/out/tools/fetch/header.d.ts +43 -0
  989. package/out/tools/fetch/header.d.ts.map +1 -0
  990. package/out/tools/fetch/header.js +61 -0
  991. package/out/tools/fetch/header.js.map +1 -0
  992. package/out/tools/fetch/inspire-addresses.d.ts +254 -0
  993. package/out/tools/fetch/inspire-addresses.d.ts.map +1 -0
  994. package/out/tools/fetch/inspire-addresses.js +277 -0
  995. package/out/tools/fetch/inspire-addresses.js.map +1 -0
  996. package/out/tools/fetch/openaddresses.d.ts +1 -4
  997. package/out/tools/fetch/openaddresses.d.ts.map +1 -1
  998. package/out/tools/fetch/openaddresses.js +20 -99
  999. package/out/tools/fetch/openaddresses.js.map +1 -1
  1000. package/out/tools/fetch/ourairports.d.ts +6 -33
  1001. package/out/tools/fetch/ourairports.d.ts.map +1 -1
  1002. package/out/tools/fetch/ourairports.js +14 -47
  1003. package/out/tools/fetch/ourairports.js.map +1 -1
  1004. package/out/tools/fetch/ppd.d.ts +4 -3
  1005. package/out/tools/fetch/ppd.d.ts.map +1 -1
  1006. package/out/tools/fetch/ppd.js +10 -7
  1007. package/out/tools/fetch/ppd.js.map +1 -1
  1008. package/out/tools/fetch/vlaanderen-ad.d.ts +131 -0
  1009. package/out/tools/fetch/vlaanderen-ad.d.ts.map +1 -0
  1010. package/out/tools/fetch/vlaanderen-ad.js +293 -0
  1011. package/out/tools/fetch/vlaanderen-ad.js.map +1 -0
  1012. package/out/tools/fetch/wfs-harvest.d.ts +420 -0
  1013. package/out/tools/fetch/wfs-harvest.d.ts.map +1 -0
  1014. package/out/tools/fetch/wfs-harvest.js +525 -0
  1015. package/out/tools/fetch/wfs-harvest.js.map +1 -0
  1016. package/out/tools/fetch/wikidata-subvenue.d.ts +32 -100
  1017. package/out/tools/fetch/wikidata-subvenue.d.ts.map +1 -1
  1018. package/out/tools/fetch/wikidata-subvenue.js +27 -122
  1019. package/out/tools/fetch/wikidata-subvenue.js.map +1 -1
  1020. package/out/tools/fetch/zip-archive.d.ts +54 -0
  1021. package/out/tools/fetch/zip-archive.d.ts.map +1 -0
  1022. package/out/tools/fetch/zip-archive.js +58 -0
  1023. package/out/tools/fetch/zip-archive.js.map +1 -0
  1024. package/out/tools/fetch.d.ts +99 -0
  1025. package/out/tools/fetch.d.ts.map +1 -0
  1026. package/out/tools/fetch.js +95 -0
  1027. package/out/tools/fetch.js.map +1 -0
  1028. package/out/tools/golden/expand.d.ts +28 -13
  1029. package/out/tools/golden/expand.d.ts.map +1 -1
  1030. package/out/tools/golden/expand.js +51 -37
  1031. package/out/tools/golden/expand.js.map +1 -1
  1032. package/out/tools/golden/promote.d.ts +13 -8
  1033. package/out/tools/golden/promote.d.ts.map +1 -1
  1034. package/out/tools/golden/promote.js +38 -30
  1035. package/out/tools/golden/promote.js.map +1 -1
  1036. package/out/tools/golden/relabel-street/directory.d.ts +25 -10
  1037. package/out/tools/golden/relabel-street/directory.d.ts.map +1 -1
  1038. package/out/tools/golden/relabel-street/directory.js +44 -32
  1039. package/out/tools/golden/relabel-street/directory.js.map +1 -1
  1040. package/out/tools/golden/relabel-street/row.d.ts +18 -69
  1041. package/out/tools/golden/relabel-street/row.d.ts.map +1 -1
  1042. package/out/tools/golden/relabel-street/row.js +19 -77
  1043. package/out/tools/golden/relabel-street/row.js.map +1 -1
  1044. package/out/tools/golden/{relabel-street/index.d.ts → relabel-street.d.ts} +1 -1
  1045. package/out/tools/golden/relabel-street.d.ts.map +1 -0
  1046. package/out/tools/golden/{relabel-street/index.js → relabel-street.js} +1 -1
  1047. package/out/tools/golden/relabel-street.js.map +1 -0
  1048. package/out/tools/ingest-csv.d.ts +19 -15
  1049. package/out/tools/ingest-csv.d.ts.map +1 -1
  1050. package/out/tools/ingest-csv.js +42 -46
  1051. package/out/tools/ingest-csv.js.map +1 -1
  1052. package/out/tools/jsonl-to-parquet.d.ts +15 -28
  1053. package/out/tools/jsonl-to-parquet.d.ts.map +1 -1
  1054. package/out/tools/jsonl-to-parquet.js +49 -91
  1055. package/out/tools/jsonl-to-parquet.js.map +1 -1
  1056. package/out/tools/lint/recipe-output/vocab.d.ts +82 -0
  1057. package/out/tools/lint/recipe-output/vocab.d.ts.map +1 -0
  1058. package/out/tools/lint/{slice → recipe-output}/vocab.js +54 -69
  1059. package/out/tools/lint/recipe-output/vocab.js.map +1 -0
  1060. package/out/tools/lint/recipe-output.d.ts +73 -0
  1061. package/out/tools/lint/recipe-output.d.ts.map +1 -0
  1062. package/out/tools/lint/{slice/index.js → recipe-output.js} +93 -96
  1063. package/out/tools/lint/recipe-output.js.map +1 -0
  1064. package/out/tools/migrate/overlay-parquet.d.ts +30 -0
  1065. package/out/tools/migrate/overlay-parquet.d.ts.map +1 -0
  1066. package/out/tools/migrate/overlay-parquet.js +141 -0
  1067. package/out/tools/migrate/overlay-parquet.js.map +1 -0
  1068. package/out/tools/migrate/recipe-output.d.ts +35 -0
  1069. package/out/tools/migrate/recipe-output.d.ts.map +1 -0
  1070. package/out/tools/migrate/recipe-output.js +124 -0
  1071. package/out/tools/migrate/recipe-output.js.map +1 -0
  1072. package/out/tools/migrate/source-names.d.ts +52 -0
  1073. package/out/tools/migrate/source-names.d.ts.map +1 -0
  1074. package/out/tools/migrate/source-names.js +105 -0
  1075. package/out/tools/migrate/source-names.js.map +1 -0
  1076. package/out/tools/overlay/kryptonite.d.ts +33 -0
  1077. package/out/tools/overlay/kryptonite.d.ts.map +1 -0
  1078. package/out/tools/{slice → overlay}/kryptonite.js +39 -29
  1079. package/out/tools/overlay/kryptonite.js.map +1 -0
  1080. package/out/tools/overlay/manifest.d.ts +143 -0
  1081. package/out/tools/overlay/manifest.d.ts.map +1 -0
  1082. package/out/tools/overlay/manifest.js +261 -0
  1083. package/out/tools/overlay/manifest.js.map +1 -0
  1084. package/out/tools/overlay/merge-source.d.ts +74 -0
  1085. package/out/tools/overlay/merge-source.d.ts.map +1 -0
  1086. package/out/tools/overlay/merge-source.js +63 -0
  1087. package/out/tools/overlay/merge-source.js.map +1 -0
  1088. package/out/tools/overlay/split-slice.d.ts +66 -0
  1089. package/out/tools/overlay/split-slice.d.ts.map +1 -0
  1090. package/out/tools/overlay/split-slice.js +78 -0
  1091. package/out/tools/overlay/split-slice.js.map +1 -0
  1092. package/out/tools/overlay/translit.d.ts +55 -0
  1093. package/out/tools/overlay/translit.d.ts.map +1 -0
  1094. package/out/tools/{slice → overlay}/translit.js +61 -49
  1095. package/out/tools/overlay/translit.js.map +1 -0
  1096. package/out/tools/overture-subvenue.d.ts +17 -76
  1097. package/out/tools/overture-subvenue.d.ts.map +1 -1
  1098. package/out/tools/overture-subvenue.js +7 -74
  1099. package/out/tools/overture-subvenue.js.map +1 -1
  1100. package/out/tools/postcode-triples.d.ts +78 -127
  1101. package/out/tools/postcode-triples.d.ts.map +1 -1
  1102. package/out/tools/postcode-triples.js +200 -193
  1103. package/out/tools/postcode-triples.js.map +1 -1
  1104. package/out/tools/source-register/build.d.ts +147 -0
  1105. package/out/tools/source-register/build.d.ts.map +1 -0
  1106. package/out/tools/source-register/build.js +517 -0
  1107. package/out/tools/source-register/build.js.map +1 -0
  1108. package/out/tools/sub/venue/head-nouns.d.ts +9 -38
  1109. package/out/tools/sub/venue/head-nouns.d.ts.map +1 -1
  1110. package/out/tools/sub/venue/head-nouns.js +37 -74
  1111. package/out/tools/sub/venue/head-nouns.js.map +1 -1
  1112. package/out/tools/sub/venue/lexicon.d.ts +53 -84
  1113. package/out/tools/sub/venue/lexicon.d.ts.map +1 -1
  1114. package/out/tools/sub/venue/lexicon.js +42 -90
  1115. package/out/tools/sub/venue/lexicon.js.map +1 -1
  1116. package/out/tools/sub/venue/wikidata.d.ts +8 -6
  1117. package/out/tools/sub/venue/wikidata.d.ts.map +1 -1
  1118. package/out/tools/sub/venue/wikidata.js +12 -9
  1119. package/out/tools/sub/venue/wikidata.js.map +1 -1
  1120. package/out/tw/tools/fetch/gcis.d.ts +9 -3
  1121. package/out/tw/tools/fetch/gcis.d.ts.map +1 -1
  1122. package/out/tw/tools/fetch/gcis.js +19 -13
  1123. package/out/tw/tools/fetch/gcis.js.map +1 -1
  1124. package/out/types.d.ts +271 -101
  1125. package/out/types.d.ts.map +1 -1
  1126. package/out/types.js +133 -9
  1127. package/out/types.js.map +1 -1
  1128. package/out/us/adapters/fcc-bdc/adapter.d.ts +18 -36
  1129. package/out/us/adapters/fcc-bdc/adapter.d.ts.map +1 -1
  1130. package/out/us/adapters/fcc-bdc/adapter.js +25 -38
  1131. package/out/us/adapters/fcc-bdc/adapter.js.map +1 -1
  1132. package/out/us/adapters/state/hi-schools/adapter.d.ts +12 -11
  1133. package/out/us/adapters/state/hi-schools/adapter.d.ts.map +1 -1
  1134. package/out/us/adapters/state/hi-schools/adapter.js +26 -16
  1135. package/out/us/adapters/state/hi-schools/adapter.js.map +1 -1
  1136. package/out/us/adapters/state/hi-schools/workbook.d.ts +8 -3
  1137. package/out/us/adapters/state/hi-schools/workbook.d.ts.map +1 -1
  1138. package/out/us/adapters/state/hi-schools/workbook.js +3 -1
  1139. package/out/us/adapters/state/hi-schools/workbook.js.map +1 -1
  1140. package/out/us/adapters/state/ia-contractors/adapter.d.ts +13 -6
  1141. package/out/us/adapters/state/ia-contractors/adapter.d.ts.map +1 -1
  1142. package/out/us/adapters/state/ia-contractors/adapter.js +27 -14
  1143. package/out/us/adapters/state/ia-contractors/adapter.js.map +1 -1
  1144. package/out/us/adapters/state/ny-notaries/adapter.d.ts +7 -6
  1145. package/out/us/adapters/state/ny-notaries/adapter.d.ts.map +1 -1
  1146. package/out/us/adapters/state/ny-notaries/adapter.js +24 -22
  1147. package/out/us/adapters/state/ny-notaries/adapter.js.map +1 -1
  1148. package/out/us/adapters/state/tx-notaries/adapter.d.ts +8 -7
  1149. package/out/us/adapters/state/tx-notaries/adapter.d.ts.map +1 -1
  1150. package/out/us/adapters/state/tx-notaries/adapter.js +21 -14
  1151. package/out/us/adapters/state/tx-notaries/adapter.js.map +1 -1
  1152. package/out/us/adapters/tiger/adapter.d.ts +10 -34
  1153. package/out/us/adapters/tiger/adapter.d.ts.map +1 -1
  1154. package/out/us/adapters/tiger/adapter.js +18 -42
  1155. package/out/us/adapters/tiger/adapter.js.map +1 -1
  1156. package/out/us/adapters/tiger/street-decompose.d.ts +6 -13
  1157. package/out/us/adapters/tiger/street-decompose.d.ts.map +1 -1
  1158. package/out/us/adapters/tiger/street-decompose.js +7 -17
  1159. package/out/us/adapters/tiger/street-decompose.js.map +1 -1
  1160. package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts +26 -20
  1161. package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts.map +1 -1
  1162. package/out/us/adapters/usgov/hrsa-fqhc/adapter.js +41 -29
  1163. package/out/us/adapters/usgov/hrsa-fqhc/adapter.js.map +1 -1
  1164. package/out/us/adapters/usgov/imls-pls/adapter.d.ts +8 -7
  1165. package/out/us/adapters/usgov/imls-pls/adapter.d.ts.map +1 -1
  1166. package/out/us/adapters/usgov/imls-pls/adapter.js +25 -18
  1167. package/out/us/adapters/usgov/imls-pls/adapter.js.map +1 -1
  1168. package/out/us/adapters/usgov/irs-bmf/adapter.d.ts +11 -10
  1169. package/out/us/adapters/usgov/irs-bmf/adapter.d.ts.map +1 -1
  1170. package/out/us/adapters/usgov/irs-bmf/adapter.js +32 -22
  1171. package/out/us/adapters/usgov/irs-bmf/adapter.js.map +1 -1
  1172. package/out/us/adapters/usgov/nad/adapter.d.ts +11 -31
  1173. package/out/us/adapters/usgov/nad/adapter.d.ts.map +1 -1
  1174. package/out/us/adapters/usgov/nad/adapter.js +57 -111
  1175. package/out/us/adapters/usgov/nad/adapter.js.map +1 -1
  1176. package/out/us/adapters/usgov/nppes/adapter.d.ts +12 -22
  1177. package/out/us/adapters/usgov/nppes/adapter.d.ts.map +1 -1
  1178. package/out/us/adapters/usgov/nppes/adapter.js +62 -32
  1179. package/out/us/adapters/usgov/nppes/adapter.js.map +1 -1
  1180. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts +16 -15
  1181. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts.map +1 -1
  1182. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js +38 -28
  1183. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js.map +1 -1
  1184. package/out/us/fips-state.d.ts +19 -10
  1185. package/out/us/fips-state.d.ts.map +1 -1
  1186. package/out/us/fips-state.js +17 -8
  1187. package/out/us/fips-state.js.map +1 -1
  1188. package/out/{synthesizers → us/synthesizers}/intersection.d.ts +10 -8
  1189. package/out/us/synthesizers/intersection.d.ts.map +1 -0
  1190. package/out/{synthesizers → us/synthesizers}/intersection.js +46 -35
  1191. package/out/us/synthesizers/intersection.js.map +1 -0
  1192. package/out/{synthesizers → us/synthesizers}/street.d.ts +19 -12
  1193. package/out/us/synthesizers/street.d.ts.map +1 -0
  1194. package/out/{synthesizers → us/synthesizers}/street.js +45 -38
  1195. package/out/us/synthesizers/street.js.map +1 -0
  1196. package/out/us/tools/fetch/hrsa.d.ts +3 -3
  1197. package/out/us/tools/fetch/hrsa.d.ts.map +1 -1
  1198. package/out/us/tools/fetch/hrsa.js +6 -7
  1199. package/out/us/tools/fetch/hrsa.js.map +1 -1
  1200. package/out/us/tools/fetch/imls-pls.d.ts +5 -16
  1201. package/out/us/tools/fetch/imls-pls.d.ts.map +1 -1
  1202. package/out/us/tools/fetch/imls-pls.js +17 -34
  1203. package/out/us/tools/fetch/imls-pls.js.map +1 -1
  1204. package/out/us/tools/fetch/nad.d.ts +22 -10
  1205. package/out/us/tools/fetch/nad.d.ts.map +1 -1
  1206. package/out/us/tools/fetch/nad.js +30 -25
  1207. package/out/us/tools/fetch/nad.js.map +1 -1
  1208. package/out/us/tools/fetch/nppes.d.ts +6 -16
  1209. package/out/us/tools/fetch/nppes.d.ts.map +1 -1
  1210. package/out/us/tools/fetch/nppes.js +24 -36
  1211. package/out/us/tools/fetch/nppes.js.map +1 -1
  1212. package/out/us/tools/fetch/state/hi-schools.d.ts +9 -5
  1213. package/out/us/tools/fetch/state/hi-schools.d.ts.map +1 -1
  1214. package/out/us/tools/fetch/state/hi-schools.js +16 -14
  1215. package/out/us/tools/fetch/state/hi-schools.js.map +1 -1
  1216. package/out/us/tools/fetch/state/sources.d.ts +8 -7
  1217. package/out/us/tools/fetch/state/sources.d.ts.map +1 -1
  1218. package/out/us/tools/fetch/state/sources.js +8 -9
  1219. package/out/us/tools/fetch/state/sources.js.map +1 -1
  1220. package/out/us/tools/fetch/tiger-full.d.ts +1 -14
  1221. package/out/us/tools/fetch/tiger-full.d.ts.map +1 -1
  1222. package/out/us/tools/fetch/tiger-full.js +16 -55
  1223. package/out/us/tools/fetch/tiger-full.js.map +1 -1
  1224. package/out/utils/align.d.ts +26 -19
  1225. package/out/utils/align.d.ts.map +1 -1
  1226. package/out/utils/align.js +32 -47
  1227. package/out/utils/align.js.map +1 -1
  1228. package/out/utils/cooccurrence-stats.d.ts +58 -0
  1229. package/out/utils/cooccurrence-stats.d.ts.map +1 -0
  1230. package/out/utils/cooccurrence-stats.js +62 -0
  1231. package/out/utils/cooccurrence-stats.js.map +1 -0
  1232. package/out/utils/golden.d.ts +21 -31
  1233. package/out/utils/golden.d.ts.map +1 -1
  1234. package/out/utils/golden.js +30 -46
  1235. package/out/utils/golden.js.map +1 -1
  1236. package/out/utils/license.d.ts +159 -22
  1237. package/out/utils/license.d.ts.map +1 -1
  1238. package/out/utils/license.js +156 -26
  1239. package/out/utils/license.js.map +1 -1
  1240. package/out/utils/split.d.ts +66 -70
  1241. package/out/utils/split.d.ts.map +1 -1
  1242. package/out/utils/split.js +162 -69
  1243. package/out/utils/split.js.map +1 -1
  1244. package/out/utils/tokenize.d.ts +15 -44
  1245. package/out/utils/tokenize.d.ts.map +1 -1
  1246. package/out/utils/tokenize.js +18 -31
  1247. package/out/utils/tokenize.js.map +1 -1
  1248. package/out/utils/wof-json.d.ts +88 -62
  1249. package/out/utils/wof-json.d.ts.map +1 -1
  1250. package/out/utils/wof-json.js +77 -56
  1251. package/out/utils/wof-json.js.map +1 -1
  1252. package/out/{utils/index.js → utils.d.ts} +1 -2
  1253. package/out/utils.d.ts.map +1 -0
  1254. package/out/{utils/index.d.ts → utils.js} +1 -2
  1255. package/out/utils.js.map +1 -0
  1256. package/out/ve/recipes/reviewed-postcode-tail.d.ts +25 -7
  1257. package/out/ve/recipes/reviewed-postcode-tail.d.ts.map +1 -1
  1258. package/out/ve/recipes/reviewed-postcode-tail.js +33 -12
  1259. package/out/ve/recipes/reviewed-postcode-tail.js.map +1 -1
  1260. package/package.json +45 -488
  1261. package/lib/adapters/index.ts +0 -160
  1262. package/lib/adapters/synth-po-box/adapter.ts +0 -204
  1263. package/lib/adapters/utils/index.ts +0 -307
  1264. package/lib/recipes/bare/postcode/index.ts +0 -327
  1265. package/lib/recipes/sub/venue/index.ts +0 -997
  1266. package/lib/synthesizers/locale.ts +0 -261
  1267. package/lib/test-kit/index.ts +0 -100
  1268. package/lib/tools/align-slice.ts +0 -68
  1269. package/lib/tools/fetch/index.ts +0 -174
  1270. package/lib/tools/gb-title-case.ts +0 -69
  1271. package/lib/tools/index.ts +0 -28
  1272. package/lib/tools/lint/slice/vocab.ts +0 -376
  1273. package/lib/tools/overlay-manifest.ts +0 -215
  1274. package/lib/tools/slice/translit.ts +0 -218
  1275. package/lib/tools/sub/venue/harvest.ts +0 -234
  1276. package/lib/tools/sub/venue/surfaces.ts +0 -95
  1277. package/lib/tools/sub/venue/table.ts +0 -281
  1278. package/lib/utils/parquet.ts +0 -582
  1279. package/out/adapters/index.d.ts +0 -51
  1280. package/out/adapters/index.d.ts.map +0 -1
  1281. package/out/adapters/index.js +0 -97
  1282. package/out/adapters/index.js.map +0 -1
  1283. package/out/adapters/synth-po-box/adapter.d.ts +0 -67
  1284. package/out/adapters/synth-po-box/adapter.d.ts.map +0 -1
  1285. package/out/adapters/synth-po-box/adapter.js.map +0 -1
  1286. package/out/adapters/utils/index.d.ts +0 -191
  1287. package/out/adapters/utils/index.d.ts.map +0 -1
  1288. package/out/adapters/utils/index.js +0 -206
  1289. package/out/adapters/utils/index.js.map +0 -1
  1290. package/out/fr/adapters/ban/street-decompose.d.ts.map +0 -1
  1291. package/out/fr/adapters/ban/street-decompose.js.map +0 -1
  1292. package/out/no/recipes/street/index.d.ts +0 -18
  1293. package/out/no/recipes/street/index.d.ts.map +0 -1
  1294. package/out/no/recipes/street/index.js.map +0 -1
  1295. package/out/recipes/bare/postcode/index.d.ts +0 -62
  1296. package/out/recipes/bare/postcode/index.d.ts.map +0 -1
  1297. package/out/recipes/bare/postcode/index.js.map +0 -1
  1298. package/out/recipes/index.d.ts +0 -24
  1299. package/out/recipes/index.d.ts.map +0 -1
  1300. package/out/recipes/index.js.map +0 -1
  1301. package/out/recipes/po/box/index.d.ts +0 -17
  1302. package/out/recipes/po/box/index.d.ts.map +0 -1
  1303. package/out/recipes/po/box/index.js.map +0 -1
  1304. package/out/recipes/sub/venue/index.d.ts +0 -270
  1305. package/out/recipes/sub/venue/index.d.ts.map +0 -1
  1306. package/out/recipes/sub/venue/index.js +0 -728
  1307. package/out/recipes/sub/venue/index.js.map +0 -1
  1308. package/out/synthesizers/intersection.d.ts.map +0 -1
  1309. package/out/synthesizers/intersection.js.map +0 -1
  1310. package/out/synthesizers/locale.d.ts +0 -116
  1311. package/out/synthesizers/locale.d.ts.map +0 -1
  1312. package/out/synthesizers/locale.js +0 -150
  1313. package/out/synthesizers/locale.js.map +0 -1
  1314. package/out/synthesizers/street.d.ts.map +0 -1
  1315. package/out/synthesizers/street.js.map +0 -1
  1316. package/out/test-kit/index.d.ts +0 -48
  1317. package/out/test-kit/index.d.ts.map +0 -1
  1318. package/out/test-kit/index.js +0 -78
  1319. package/out/test-kit/index.js.map +0 -1
  1320. package/out/tools/align-slice.d.ts +0 -7
  1321. package/out/tools/align-slice.d.ts.map +0 -1
  1322. package/out/tools/align-slice.js +0 -55
  1323. package/out/tools/align-slice.js.map +0 -1
  1324. package/out/tools/fetch/download/index.d.ts.map +0 -1
  1325. package/out/tools/fetch/download/index.js.map +0 -1
  1326. package/out/tools/fetch/index.d.ts +0 -171
  1327. package/out/tools/fetch/index.d.ts.map +0 -1
  1328. package/out/tools/fetch/index.js +0 -170
  1329. package/out/tools/fetch/index.js.map +0 -1
  1330. package/out/tools/gb-title-case.d.ts +0 -2
  1331. package/out/tools/gb-title-case.d.ts.map +0 -1
  1332. package/out/tools/gb-title-case.js +0 -65
  1333. package/out/tools/gb-title-case.js.map +0 -1
  1334. package/out/tools/golden/relabel-street/index.d.ts.map +0 -1
  1335. package/out/tools/golden/relabel-street/index.js.map +0 -1
  1336. package/out/tools/index.d.ts +0 -28
  1337. package/out/tools/index.d.ts.map +0 -1
  1338. package/out/tools/index.js +0 -28
  1339. package/out/tools/index.js.map +0 -1
  1340. package/out/tools/lint/slice/index.d.ts +0 -93
  1341. package/out/tools/lint/slice/index.d.ts.map +0 -1
  1342. package/out/tools/lint/slice/index.js.map +0 -1
  1343. package/out/tools/lint/slice/vocab.d.ts +0 -90
  1344. package/out/tools/lint/slice/vocab.d.ts.map +0 -1
  1345. package/out/tools/lint/slice/vocab.js.map +0 -1
  1346. package/out/tools/overlay-manifest.d.ts +0 -89
  1347. package/out/tools/overlay-manifest.d.ts.map +0 -1
  1348. package/out/tools/overlay-manifest.js +0 -131
  1349. package/out/tools/overlay-manifest.js.map +0 -1
  1350. package/out/tools/slice/kryptonite.d.ts +0 -32
  1351. package/out/tools/slice/kryptonite.d.ts.map +0 -1
  1352. package/out/tools/slice/kryptonite.js.map +0 -1
  1353. package/out/tools/slice/translit.d.ts +0 -51
  1354. package/out/tools/slice/translit.d.ts.map +0 -1
  1355. package/out/tools/slice/translit.js.map +0 -1
  1356. package/out/tools/sub/venue/harvest.d.ts +0 -100
  1357. package/out/tools/sub/venue/harvest.d.ts.map +0 -1
  1358. package/out/tools/sub/venue/harvest.js +0 -168
  1359. package/out/tools/sub/venue/harvest.js.map +0 -1
  1360. package/out/tools/sub/venue/promotions.d.ts +0 -94
  1361. package/out/tools/sub/venue/promotions.d.ts.map +0 -1
  1362. package/out/tools/sub/venue/promotions.js.map +0 -1
  1363. package/out/tools/sub/venue/surfaces.d.ts +0 -45
  1364. package/out/tools/sub/venue/surfaces.d.ts.map +0 -1
  1365. package/out/tools/sub/venue/surfaces.js +0 -77
  1366. package/out/tools/sub/venue/surfaces.js.map +0 -1
  1367. package/out/tools/sub/venue/table.d.ts +0 -229
  1368. package/out/tools/sub/venue/table.d.ts.map +0 -1
  1369. package/out/tools/sub/venue/table.js +0 -108
  1370. package/out/tools/sub/venue/table.js.map +0 -1
  1371. package/out/utils/index.d.ts.map +0 -1
  1372. package/out/utils/index.js.map +0 -1
  1373. package/out/utils/parquet.d.ts +0 -178
  1374. package/out/utils/parquet.d.ts.map +0 -1
  1375. package/out/utils/parquet.js +0 -371
  1376. package/out/utils/parquet.js.map +0 -1
  1377. package/out/utils/slice-stats.d.ts +0 -52
  1378. package/out/utils/slice-stats.d.ts.map +0 -1
  1379. package/out/utils/slice-stats.js +0 -58
  1380. package/out/utils/slice-stats.js.map +0 -1
  1381. /package/lib/tools/fetch/{download/index.ts → download.ts} +0 -0
  1382. /package/lib/tools/golden/{relabel-street/index.ts → relabel-street.ts} +0 -0
@@ -3,12 +3,13 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * CSV → SQLite ingestion utility. Ported from isp-nexus's `sdk/data/csv.ts`.
6
+ * CSV → SQLite ingest tool.
7
7
  *
8
- * Reads a CSV file, infers column types from a sample of rows, creates a SQLite table, and imports
9
- * the data. Handles quoted fields, NULL normalization, and duplicate column name disambiguation.
8
+ * The tool reads a CSV and samples rows to infer column types.
9
+ * It creates a SQLite table and imports all rows.
10
+ * It handles quoted fields, null-like values and duplicate column names.
10
11
  *
11
- * ## Usage
12
+ * ## Usage
12
13
  *
13
14
  * ```sh
14
15
  * mailwoman corpus ingest-csv \
@@ -17,21 +18,25 @@
17
18
  * --output /data/corpus/sources/usgov-nppes/nppes.db
18
19
  * ```
19
20
  *
20
- * Options: --input <path> CSV file to ingest (required) --table <name> SQLite table name (default:
21
- * derived from input filename) --output <path> SQLite database path (default: input dir /
22
- * table.db) --sample <n> Rows to sample for type inference (default: 100) --separator <char>
23
- * Field separator (default: ,) --skip <n> Lines to skip before header (default: 0) --no-header
24
- * CSV has no header row — columns will be col_0, col_1, etc. --dry-run Infer schema and print
25
- * CREATE TABLE, but don't import
21
+ * Options:
22
+ * --input <path> Required CSV path
23
+ * --table <name> Table name (default: from filename)
24
+ * --output <path> DB path (default: input dir/<table>.db)
25
+ * --sample <n> Rows used for type inference (default: 100)
26
+ * --separator <char> Field delimiter (default: ,)
27
+ * --skip <n> Lines to skip before header (default: 0)
28
+ * --no-header Treat CSV as headerless (col_0, col_1, ...)
29
+ * --dry-run Print inferred schema, skip import
26
30
  */
27
31
  import { ByteFormatter } from "@mailwoman/core/fs/formatters";
28
- import { tryStat, pathExists } from "@mailwoman/core/fs/readers";
32
+ import { tryStat, pathExists } from "@mailwoman/core/fs/readers/stat";
29
33
  import { makeDirectories, writeLocalJSONFile } from "@mailwoman/core/fs/writers";
30
- import { basename, dirname, extname, join } from "path-ts";
34
+ import { basename, dirname, extname, PathBuilder } from "path-ts";
31
35
  import { CSVSpliterator } from "spliterator";
32
- //#region Column name normalization
36
+ // #region Column name normalization
33
37
  /**
34
- * @deprecated belongs in core, if really needed. spliterator should handle this.
38
+ * @deprecated This helper may belong in core.
39
+ * Keep it here until then.
35
40
  */
36
41
  function normalizeColumnName(raw) {
37
42
  return (raw
@@ -66,7 +71,7 @@ function inferColumnType(samples) {
66
71
  let realCount = 0;
67
72
  let textCount = 0;
68
73
  for (const s of samples) {
69
- if (s === null) {
74
+ if (!s) {
70
75
  nullCount++;
71
76
  continue;
72
77
  }
@@ -85,17 +90,14 @@ function inferColumnType(samples) {
85
90
  return { name: "", type, nullable: nullCount / total >= 0.5 };
86
91
  }
87
92
  async function runIngest(opts) {
88
- // `header: false` with `drop` is what expresses `--skip N`: the spliterator's own header handling consumes the
89
- // FIRST row as the header, and `drop` counts from the row after it, so a preamble before the header has to be
90
- // dropped here and the header row taken by hand. Quote handling is end-to-end (quoted delimiters, doubled quotes);
91
- // `skipEmpty` drops blank lines that readline would have turned into all-null rows. The early `break` closes the
92
- // file descriptor.
93
+ // Keep parser header handling off so `--skip` works predictably.
94
+ // We read the header row ourselves.
93
95
  const rows = () => CSVSpliterator.fromAsync(opts.inputPath, {
94
96
  header: false,
95
97
  columnDelimiter: opts.separator,
96
98
  drop: opts.skipLines,
97
99
  });
98
- // Read the header and sample rows before inferring the SQLite schema.
100
+ // Read header + sample rows to infer schema.
99
101
  process.stderr.write(`Reading ${opts.inputPath} for schema inference...\n`);
100
102
  let headerRow = null;
101
103
  const sampleRows = [];
@@ -114,18 +116,18 @@ async function runIngest(opts) {
114
116
  if (!headerRow && opts.hasHeader) {
115
117
  throw new Error("No header line found in CSV");
116
118
  }
117
- // Normalize and deduplicate the input column names.
119
+ // Normalize and dedupe column names.
118
120
  let rawHeaders;
119
121
  if (opts.hasHeader && headerRow) {
120
122
  rawHeaders = headerRow;
121
123
  }
122
124
  else {
123
- // Auto-generate column names: col_0, col_1, ...
125
+ // No header: generate col_0, col_1, ...
124
126
  const numCols = sampleRows[0]?.length ?? 0;
125
127
  rawHeaders = Array.from({ length: numCols }, (_, i) => `col_${i}`);
126
128
  }
127
129
  const colNames = dedupColumns(rawHeaders.map(normalizeColumnName));
128
- // Infer each column's SQLite type from its sample values.
130
+ // Infer each column type from samples.
129
131
  const columns = colNames.map((name, i) => {
130
132
  const samples = sampleRows.map((row) => {
131
133
  const raw = row[i] ?? "";
@@ -135,10 +137,9 @@ async function runIngest(opts) {
135
137
  info.name = name;
136
138
  return info;
137
139
  });
138
- // Generate the table definition and insert statement from the inferred schema.
140
+ // Build CREATE TABLE and INSERT SQL.
139
141
  const colDefs = columns.map((c) => `"${c.name}" ${c.type}`).join(",\n ");
140
- // Raw DDL by design: the column set + types are INFERRED from the CSV at runtime (colDefs above),
141
- // so a Kysely builder loop would just wrap the same dynamic strings with ceremony and no type safety.
142
+ // Raw SQL is intentional: columns and types are dynamic at runtime.
142
143
  const createTableSQL = `CREATE TABLE IF NOT EXISTS "${opts.tableName}" (\n ${colDefs}\n);`;
143
144
  const tempCols = columns.map((c) => `"${c.name}"`).join(", ");
144
145
  process.stderr.write(`\nSchema inferred from ${sampleRows.length} sample rows:\n`);
@@ -147,25 +148,21 @@ async function runIngest(opts) {
147
148
  process.stderr.write("--dry-run: stopping before import\n");
148
149
  return;
149
150
  }
150
- // Create the database, then import every input row.
151
+ // Create database and import rows.
151
152
  const { DatabaseClient } = await import("@mailwoman/sqlite/client");
152
153
  await makeDirectories(dirname(opts.outputPath));
153
- // `Database` — the EMPTY schema — deliberately, not by default: `createTableSQL` is built from the columns and
154
- // types inferred from the CSV at runtime, so there is no table this file could name at compile time. Every write
155
- // below goes through `exec`/`prepare` for the same reason.
154
+ // Empty schema type is intentional: table shape is runtime-generated.
156
155
  using db = new DatabaseClient(opts.outputPath);
157
156
  db.exec("PRAGMA journal_mode = OFF"); // faster for bulk import
158
157
  db.exec("PRAGMA synchronous = OFF");
159
158
  db.exec(createTableSQL);
160
- // Use the .import approach via a temp table, then INSERT INTO ... SELECT to handle
161
- // NULL normalization and type coercion.
162
- // better-sqlite3 doesn't support .import natively, so we use a different approach:
163
- // Read the CSV line-by-line and INSERT in a transaction.
159
+ // Insert line-by-line in batches (no native .import here).
164
160
  process.stderr.write(`Importing rows...\n`);
165
161
  const insertStmt = db.prepare(`INSERT INTO "${opts.tableName}" (${tempCols}) VALUES (${columns.map(() => "?").join(", ")})`);
166
162
  let imported = 0;
167
163
  let headerSkipped = false;
168
- // node:sqlite has no `db.transaction(fn)` wrapper; use raw BEGIN/COMMIT around the batch.
164
+ // node:sqlite has no transaction helper.
165
+ // The code uses BEGIN/COMMIT.
169
166
  const doInsert = () => {
170
167
  db.exec("BEGIN");
171
168
  try {
@@ -188,7 +185,7 @@ async function runIngest(opts) {
188
185
  }
189
186
  const values = fields.map((f, i) => {
190
187
  const v = normalizeField(f);
191
- if (v === null)
188
+ if (!v)
192
189
  return null;
193
190
  const col = columns[i];
194
191
  if (col?.type === "INTEGER" && /^-?\d+$/.test(v))
@@ -197,7 +194,7 @@ async function runIngest(opts) {
197
194
  return Number.parseFloat(v);
198
195
  return v;
199
196
  });
200
- // Pad or truncate to column count
197
+ // Pad or trim to expected column count.
201
198
  while (values.length < columns.length) {
202
199
  values.push(null);
203
200
  }
@@ -212,13 +209,13 @@ async function runIngest(opts) {
212
209
  }
213
210
  }
214
211
  }
215
- // Flush remaining
212
+ // Flush remaining rows.
216
213
  if (batch.length) {
217
214
  doInsert();
218
215
  imported += batch.length;
219
216
  }
220
217
  process.stderr.write(` Imported ${imported.toLocaleString()} rows into "${opts.tableName}"\n`);
221
- // Build a basic index on the first TEXT column (likely the primary key)
218
+ // Create a simple index on the first text column.
222
219
  const firstTextCol = columns.find((c) => c.type === "TEXT");
223
220
  if (firstTextCol) {
224
221
  process.stderr.write(`Building index on "${firstTextCol.name}"...\n`);
@@ -238,10 +235,9 @@ async function runIngest(opts) {
238
235
  process.stderr.write(`Done. ${imported.toLocaleString()} rows → ${opts.outputPath} (${ByteFormatter.formatIEC(stat.size)})\n`);
239
236
  }
240
237
  /**
241
- * Ingest a CSV into SQLite: infer column types from a sample, create the table, import the rows. Throws when `input` is
242
- * missing. NOTE(phase1): progress narration still writes stderr directly — this predates the report-callback contract
243
- * and the write sites are deep in the type-inference helpers; thread a report param if a caller ever needs to capture
244
- * it.
238
+ * Ingest a CSV into SQLite: infer column types from a sample, create the table, import the rows.
239
+ *
240
+ * @throws When `input` does not exist.
245
241
  */
246
242
  export async function ingestCSV(options) {
247
243
  if (!(await pathExists(options.input))) {
@@ -251,7 +247,7 @@ export async function ingestCSV(options) {
251
247
  await runIngest({
252
248
  inputPath: options.input,
253
249
  tableName: options.table ?? csvName.replaceAll(/[^a-zA-Z0-9_]/g, "_"),
254
- outputPath: options.output ?? join(dirname(options.input), csvName + ".db"),
250
+ outputPath: options.output ?? PathBuilder.from(options.input).dirname()(`${csvName}.db`).toString(),
255
251
  sampleSize: options.sample ?? 100,
256
252
  separator: options.separator ?? ",",
257
253
  skipLines: options.skip ?? 0,
@@ -259,5 +255,5 @@ export async function ingestCSV(options) {
259
255
  dryRun: options.dryRun ?? false,
260
256
  });
261
257
  }
262
- //#endregion
258
+ // #endregion
263
259
  //# sourceMappingURL=ingest-csv.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ingest-csv.js","sourceRoot":"","sources":["../../lib/tools/ingest-csv.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingest-csv.js","sourceRoot":"","sources":["../../lib/tools/ingest-csv.ts"],"names":[],"mappings":"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"}
@@ -3,46 +3,33 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Convert a JSONL of LabeledRow objects to a Parquet slice matching the v0.5.0 schema.
6
+ * Convert a jsonl of LabeledRow objects to a Parquet file matching the schema the corpus writes.
7
7
  *
8
- * Ported faithfully from scripts/jsonl-to-parquet.py. The Python original wrote Parquet through
9
- * PyArrow; this writes it through DuckDB (`@duckdb/node-api`) — `read_json` with an EXPLICIT
10
- * `columns` type map projects the validated rows to the v0.5.0 schema, then `COPY … TO … (FORMAT
11
- * PARQUET, COMPRESSION SNAPPY, ROW_GROUP_SIZE …)` emits the slice. DuckDB reproduces the exact
12
- * logical schema PyArrow did — `VARCHAR` (UTF8) scalars, `VARCHAR[]` (LIST<UTF8>) for the string
13
- * arrays, and `INTEGER[]` (LIST<INT32>) for the span offsets — in the exact column order below.
14
- * Verified field-for-field against the PyArrow original (same column order, same logical types,
15
- * same `list<element: …>` child naming, same values), so a PyArrow reader sees an identical
16
- * table. The trainer in any case reads slices by column name (`pq.read_table(...).to_pylist()`),
17
- * which is blind to physical layout. INT32 matches the corpus's native TS writer
18
- * (`@mailwoman/corpus` `LABELED_ROW_SCHEMA`), which already writes the base slices this overlay
19
- * rides alongside.
8
+ * DuckDB reproduces the PyArrow file's logical schema and column order. A PyArrow reader therefore sees an identical table.
9
+ * The trainer reads Parquet by column name, so physical layout does not affect it.
20
10
  *
21
- * Schema: raw, tokens, labels, span_starts, span_ends, span_tags, country, locale, source,
22
- * source_id, corpus_version, license, synth_method, synth_base_id.
11
+ * Schema: `PARQUET_COLUMNS` from `#parquet/schema`, the same list the native writer uses.
23
12
  *
24
- * The span triple (#519, v0.5.0 char-offset labels) is REQUIRED on every row: `alignRow` emits it
25
- * on every labeled row, so a row arriving without it came from a producer that hasn't migrated —
26
- * writing it would silently drop the v0.5.0 labels from the slice. Loud failure, naming the row
27
- * number, instead.
28
- *
29
- * Usage: mailwoman dev jsonl-to-parquet --input /tmp/po-box-labeled.jsonl --output
30
- * /tmp/part-po-box.parquet
13
+ * Every row must contain the span triple. A row without it came from a producer that has not migrated.
14
+ * The writer would silently drop the character-offset labels if it wrote that row. Fail loudly and report the row number.
31
15
  */
16
+ import type { PathBuilderLike } from "path-ts";
32
17
  /**
33
18
  * Options for {@linkcode jsonlToParquet}.
34
19
  */
35
20
  export interface JSONLToParquetOptions {
36
21
  /**
37
- * The labeled-row JSONL to convert.
22
+ * The labeled-row jsonl to convert.
38
23
  */
39
- input: string;
24
+ input: PathBuilderLike;
40
25
  /**
41
- * The parquet slice to write.
26
+ * The parquet file to write.
42
27
  */
43
- output: string;
28
+ output: PathBuilderLike;
44
29
  /**
45
- * Parquet row-group size. Default 50000.
30
+ * Parquet row-group size.
31
+ *
32
+ * @defaultValue `50000`
46
33
  */
47
34
  rowGroupSize?: number;
48
35
  }
@@ -55,7 +42,7 @@ export interface JSONLToParquetSummary {
55
42
  outPath: string;
56
43
  }
57
44
  /**
58
- * Convert a labeled-row JSONL to a v0.5.0-schema Parquet slice.
45
+ * Convert a labeled-row jsonl to a v0.5.0-schema Parquet file.
59
46
  */
60
47
  export declare function jsonlToParquet(options: JSONLToParquetOptions, report?: (line: string) => void): Promise<JSONLToParquetSummary>;
61
48
  //# sourceMappingURL=jsonl-to-parquet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-to-parquet.d.ts","sourceRoot":"","sources":["../../lib/tools/jsonl-to-parquet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAsDH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CACf;AA8BD;;GAEG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CA6DhC"}
1
+ {"version":3,"file":"jsonl-to-parquet.d.ts","sourceRoot":"","sources":["../../lib/tools/jsonl-to-parquet.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAsB9C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,KAAK,EAAE,eAAe,CAAA;IACtB;;OAEG;IACH,MAAM,EAAE,eAAe,CAAA;IACvB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CACf;AA8BD;;GAEG;AACH,wBAAsB,cAAc,CACnC,OAAO,EAAE,qBAAqB,EAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CA8DhC"}
@@ -3,129 +3,86 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Convert a JSONL of LabeledRow objects to a Parquet slice matching the v0.5.0 schema.
6
+ * Convert a jsonl of LabeledRow objects to a Parquet file matching the schema the corpus writes.
7
7
  *
8
- * Ported faithfully from scripts/jsonl-to-parquet.py. The Python original wrote Parquet through
9
- * PyArrow; this writes it through DuckDB (`@duckdb/node-api`) — `read_json` with an EXPLICIT
10
- * `columns` type map projects the validated rows to the v0.5.0 schema, then `COPY … TO … (FORMAT
11
- * PARQUET, COMPRESSION SNAPPY, ROW_GROUP_SIZE …)` emits the slice. DuckDB reproduces the exact
12
- * logical schema PyArrow did — `VARCHAR` (UTF8) scalars, `VARCHAR[]` (LIST<UTF8>) for the string
13
- * arrays, and `INTEGER[]` (LIST<INT32>) for the span offsets — in the exact column order below.
14
- * Verified field-for-field against the PyArrow original (same column order, same logical types,
15
- * same `list<element: …>` child naming, same values), so a PyArrow reader sees an identical
16
- * table. The trainer in any case reads slices by column name (`pq.read_table(...).to_pylist()`),
17
- * which is blind to physical layout. INT32 matches the corpus's native TS writer
18
- * (`@mailwoman/corpus` `LABELED_ROW_SCHEMA`), which already writes the base slices this overlay
19
- * rides alongside.
8
+ * DuckDB reproduces the PyArrow file's logical schema and column order. A PyArrow reader therefore sees an identical table.
9
+ * The trainer reads Parquet by column name, so physical layout does not affect it.
20
10
  *
21
- * Schema: raw, tokens, labels, span_starts, span_ends, span_tags, country, locale, source,
22
- * source_id, corpus_version, license, synth_method, synth_base_id.
11
+ * Schema: `PARQUET_COLUMNS` from `#parquet/schema`, the same list the native writer uses.
23
12
  *
24
- * The span triple (#519, v0.5.0 char-offset labels) is REQUIRED on every row: `alignRow` emits it
25
- * on every labeled row, so a row arriving without it came from a producer that hasn't migrated —
26
- * writing it would silently drop the v0.5.0 labels from the slice. Loud failure, naming the row
27
- * number, instead.
28
- *
29
- * Usage: mailwoman dev jsonl-to-parquet --input /tmp/po-box-labeled.jsonl --output
30
- * /tmp/part-po-box.parquet
13
+ * Every row must contain the span triple. A row without it came from a producer that has not migrated.
14
+ * The writer would silently drop the character-offset labels if it wrote that row. Fail loudly and report the row number.
31
15
  */
16
+ import { delimitedSource } from "@mailwoman/core/fs/delimited";
32
17
  import { openWriteStream } from "@mailwoman/core/fs/streams";
33
18
  import { temporaryDirectory } from "@mailwoman/core/fs/temporary";
34
- import { parseJSONStrict } from "@mailwoman/core/json";
35
- import { join } from "path-ts";
19
+ import { parseJSONStrict, stringifyJSON } from "@mailwoman/core/json";
36
20
  import { TextSpliterator } from "spliterator";
37
- import { connectDuckDB, escapeSQLString } from "#utils/parquet";
38
- const REQUIRED_COLUMNS = [
39
- "raw",
40
- "tokens",
41
- "labels",
42
- "span_starts",
43
- "span_ends",
44
- "span_tags",
45
- "country",
46
- "locale",
47
- "source",
48
- "source_id",
49
- "corpus_version",
50
- "license",
51
- "synth_method",
52
- "synth_base_id",
53
- ];
54
- const SPAN_COLUMNS = ["span_starts", "span_ends", "span_tags"];
21
+ import { escapeSQLString, openDuckDB } from "#parquet/duckdb";
22
+ import { PARQUET_COLUMNS, PARQUET_COLUMN_TYPES } from "#parquet/schema";
55
23
  /**
56
- * The v0.5.0 DuckDB type for each column, in {@link REQUIRED_COLUMNS} order.
24
+ * The columns this converter writes and the DuckDB type for each column.
57
25
  *
58
- * Mirrors the PyArrow schema the Python original declared: `pa.string()` → `VARCHAR`, `pa.list_(pa.string())` →
59
- * `VARCHAR[]`, `pa.list_(pa.int32())` → `INTEGER[]`. The span offsets are INT32 (#519): parallel arrays over `raw`
60
- * (UTF-16 code units, `[start, end)` exclusive-end, sorted, non-overlapping); `raw` is a short address string, so INT32
61
- * round-trips as a plain integer where INT64 would surface as bigint.
26
+ * Both come from `#parquet/schema`, the one definition the native writer,
27
+ * the reader and the manifest share.
28
+ *
29
+ * The span offsets are INT32: parallel arrays over `raw`
30
+ * (UTF-16 code units, `[start, end)` exclusive-end, sorted, non-overlapping).
31
+ * `raw` is a short address string, so INT32 round-trips as a plain integer
32
+ * where INT64 would surface as bigint.
62
33
  */
63
- const COLUMN_TYPES = {
64
- raw: "VARCHAR",
65
- tokens: "VARCHAR[]",
66
- labels: "VARCHAR[]",
67
- span_starts: "INTEGER[]",
68
- span_ends: "INTEGER[]",
69
- span_tags: "VARCHAR[]",
70
- country: "VARCHAR",
71
- locale: "VARCHAR",
72
- source: "VARCHAR",
73
- source_id: "VARCHAR",
74
- corpus_version: "VARCHAR",
75
- license: "VARCHAR",
76
- synth_method: "VARCHAR",
77
- synth_base_id: "VARCHAR",
78
- };
34
+ const REQUIRED_COLUMNS = PARQUET_COLUMNS;
35
+ const COLUMN_TYPES = PARQUET_COLUMN_TYPES;
36
+ const SPAN_COLUMNS = ["span_starts", "span_ends", "span_tags"];
79
37
  /**
80
- * Enforce the #519 span contract per row: all three present, parallel lengths.
38
+ * Enforce the span interface per row: all three present, parallel lengths.
81
39
  *
82
- * A row with span_starts but no span_tags is a corrupt row — never a silent fallback.
40
+ * A row with span_starts but no span_tags is a corrupt row, never a silent fallback.
83
41
  */
84
42
  function assertSpanTriple(row, lineNo) {
85
43
  const present = SPAN_COLUMNS.filter((c) => row[c] != null);
86
44
  if (present.length !== SPAN_COLUMNS.length) {
87
45
  const missing = SPAN_COLUMNS.filter((c) => row[c] == null);
88
46
  throw new Error(`line ${lineNo}: row is missing the char-offset span triple (#519): ` +
89
- `missing ${JSON.stringify(missing)} (source_id=${JSON.stringify(row.source_id ?? null)}). Every parquet-bound row ` +
90
- "must carry span_starts/span_ends/span_tags; re-emit this slice through alignRow.");
47
+ `missing ${stringifyJSON(missing)} (source_id=${stringifyJSON(row.source_id ?? null)}). Every parquet-bound row ` +
48
+ "must carry span_starts/span_ends/span_tags; re-emit this file through alignRow.");
91
49
  }
92
50
  const n = row.span_starts.length;
93
51
  if (row.span_ends.length !== n || row.span_tags.length !== n) {
94
52
  throw new Error(`line ${lineNo}: span triple arrays are not parallel — ` +
95
53
  `starts=${row.span_starts.length} ends=${row.span_ends.length} ` +
96
- `tags=${row.span_tags.length} (source_id=${JSON.stringify(row.source_id ?? null)})`);
54
+ `tags=${row.span_tags.length} (source_id=${stringifyJSON(row.source_id ?? null)})`);
97
55
  }
98
56
  }
99
57
  /**
100
- * Convert a labeled-row JSONL to a v0.5.0-schema Parquet slice.
58
+ * Convert a labeled-row jsonl to a v0.5.0-schema Parquet file.
101
59
  */
102
60
  export async function jsonlToParquet(options, report) {
103
61
  const rowGroupSize = options.rowGroupSize ?? 50_000;
104
62
  if (!Number.isInteger(rowGroupSize) || rowGroupSize <= 0) {
105
- throw new Error(`rowGroupSize must be a positive integer (got ${JSON.stringify(rowGroupSize)})`);
63
+ throw new Error(`rowGroupSize must be a positive integer (got ${stringifyJSON(rowGroupSize)})`);
106
64
  }
107
- // Stage the validated rows to a temp NDJSON, then let DuckDB type + write them. Streaming keeps
108
- // memory O(1) on the Node side (the Python original buffered every column into memory first). The
109
- // staging directory owns the write stream, so it is closed before the directory is removed — and a
110
- // mid-stream span-triple failure leaves no orphan.
65
+ // The Node-side writer uses O(1) memory by streaming rows.
66
+ // The staging directory owns the write stream, so it is closed before the directory is removed.
67
+ // A mid-stream span-triple failure leaves no orphan.
111
68
  await using staging = await temporaryDirectory("mw-jsonl-to-parquet-");
112
- const stagePath = join(staging.path, "rows.ndjson");
69
+ const stagePath = staging.path("rows.ndjson");
113
70
  const stage = staging.use(openWriteStream(stagePath, { encoding: "utf8" }));
114
71
  let rows = 0;
115
72
  let lineNo = 0;
116
- // TextSpliterator, not JSONSpliterator: the staging write below streams the RAW line bytes to
117
- // DuckDB verbatim (the parse here only validates), so a re-serialized JSONSpliterator row would
118
- // defeat the point. CRLF is handled by the existing `rawLine.trim()` (strips a trailing \r),
119
- // same as readline's crlfDelay:Infinity did.
120
- for await (const rawLine of TextSpliterator.fromAsync(options.input)) {
73
+ // TextSpliterator rather than JSONSpliterator: the staging write below streams
74
+ // the RAW line bytes to DuckDB verbatim (the parse here only validates),
75
+ // so a re-serialized JSONSpliterator row would defeat the point.
76
+ // The reader trims each line (a trailing \r included); `skipEmpty: false` keeps
77
+ // blank lines so `lineNo` matches the file.
78
+ for await (const line of TextSpliterator.fromAsync(delimitedSource(options.input), { skipEmpty: false })) {
121
79
  lineNo++;
122
- const line = rawLine.trim();
123
80
  if (!line)
124
81
  continue;
125
82
  const row = parseJSONStrict(line);
126
83
  assertSpanTriple(row, lineNo);
127
- // Write the validated line verbatim; DuckDB's `read_json` projects to the explicit `columns`
128
- // map below (extra keys dropped, absent keys → NULL — matching the Python `row.get(c)`).
84
+ // DuckDB's `read_json` projects to the explicit `columns` map below
85
+ // (extra keys dropped, absent keys → NULL — matching the Python `row.get(c)`).
129
86
  stage.write(line + "\n");
130
87
  rows++;
131
88
  }
@@ -135,16 +92,17 @@ export async function jsonlToParquet(options, report) {
135
92
  report?.(`Read ${rows} rows from ${options.input}`);
136
93
  const columnsLiteral = "{" + REQUIRED_COLUMNS.map((c) => `'${c}': '${COLUMN_TYPES[c]}'`).join(", ") + "}";
137
94
  const selectList = REQUIRED_COLUMNS.join(", ");
138
- const db = await connectDuckDB();
139
- // Row order is required: the overlay-manifest assembler records first/last source_id from
140
- // slice order. `preserve_insertion_order` (DuckDB default) keeps output order = input order.
95
+ const output = options.output.toString();
96
+ using db = await openDuckDB();
97
+ // Row order is required: the overlay-manifest assembler records first/last source_id from file order.
98
+ // `preserve_insertion_order` (DuckDB default) keeps output order = input order.
141
99
  await db.run("SET preserve_insertion_order=true");
142
- await db.run(`COPY (SELECT ${selectList} FROM read_json('${escapeSQLString(stagePath)}', ` +
100
+ await db.run(`COPY (SELECT ${selectList} FROM read_json('${escapeSQLString(stagePath.toString())}', ` +
143
101
  `columns = ${columnsLiteral}, format = 'newline_delimited')) ` +
144
- `TO '${escapeSQLString(options.output)}' (FORMAT PARQUET, COMPRESSION SNAPPY, ROW_GROUP_SIZE ${rowGroupSize})`);
145
- const counted = await db.runAndReadAll(`SELECT count(*) AS n FROM read_parquet('${escapeSQLString(options.output)}')`);
102
+ `TO '${escapeSQLString(output)}' (FORMAT PARQUET, COMPRESSION SNAPPY, ROW_GROUP_SIZE ${rowGroupSize})`);
103
+ const counted = await db.runAndReadAll(`SELECT count(*) AS n FROM read_parquet('${escapeSQLString(output)}')`);
146
104
  const written = Number(counted.getRowObjects()[0].n);
147
- report?.(`Wrote ${written} rows to ${options.output}`);
148
- return { read: rows, written, outPath: options.output };
105
+ report?.(`Wrote ${written} rows to ${output}`);
106
+ return { read: rows, written, outPath: output };
149
107
  }
150
108
  //# sourceMappingURL=jsonl-to-parquet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonl-to-parquet.js","sourceRoot":"","sources":["../../lib/tools/jsonl-to-parquet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonl-to-parquet.js","sourceRoot":"","sources":["../../lib/tools/jsonl-to-parquet.ts"],"names":[],"mappings":"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"}