@mailwoman/corpus 9.4.0 → 10.1.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 (1724) hide show
  1. package/README.md +134 -32
  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 +785 -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 +116 -0
  24. package/lib/adapters/gleif/adapter.ts +828 -0
  25. package/lib/adapters/libpostal-dictionary.ts +39 -0
  26. package/lib/adapters/openaddresses/adapter.ts +54 -61
  27. package/lib/adapters/osm/adapter.ts +356 -0
  28. package/lib/adapters/overture/adapter.ts +65 -41
  29. package/lib/adapters/po-box/adapter.ts +202 -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 +135 -0
  34. package/lib/adapters/wof/admin/json/adapter.ts +254 -0
  35. package/lib/adapters/wof/json-rows.ts +211 -0
  36. package/lib/adapters/wof/postalcode-json/adapter.ts +194 -0
  37. package/lib/adapters.ts +230 -0
  38. package/lib/au/adapters/gnaf/adapter.ts +144 -0
  39. package/lib/au/adapters/gnaf/assemble.ts +205 -0
  40. package/lib/be/adapters/brussels/adapter.ts +566 -0
  41. package/lib/be/adapters/vlaanderen/adapter.ts +670 -0
  42. package/lib/be/adapters/wallonie/adapter.ts +537 -0
  43. package/lib/be/tools/fetch/brussels.ts +239 -0
  44. package/lib/be/tools/fetch/wallonie.ts +274 -0
  45. package/lib/build/adapters.ts +110 -0
  46. package/lib/build/align.ts +364 -0
  47. package/lib/build/checkpoint.ts +131 -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 +232 -0
  53. package/lib/build.ts +127 -315
  54. package/lib/cn/recipes/organizational-units.ts +178 -0
  55. package/lib/cz/adapters/cuzk/adapter.ts +317 -0
  56. package/lib/cz/recipes/pcfirst-preposition.ts +125 -0
  57. package/lib/cz/tools/fetch/cuzk.ts +699 -0
  58. package/lib/de/recipes/locale.ts +370 -0
  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 +321 -0
  62. package/lib/ee/adapters/ads/adapter.ts +246 -0
  63. package/lib/ee/tools/fetch/ads.ts +270 -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 +343 -0
  67. package/lib/es/adapters/gipuzkoa/adapter.ts +263 -0
  68. package/lib/es/adapters/navarra/adapter.ts +289 -0
  69. package/lib/es/cadastre.ts +194 -0
  70. package/lib/es/tools/fetch/bizkaia.ts +748 -0
  71. package/lib/es/tools/fetch/catastro.ts +754 -0
  72. package/lib/es/tools/fetch/gipuzkoa.ts +336 -0
  73. package/lib/es/tools/fetch/navarra.ts +488 -0
  74. package/lib/fi/adapters/ryhti/adapter.ts +323 -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 +598 -0
  78. package/lib/fr/adapters/ban/adapter.ts +187 -0
  79. package/lib/fr/adapters/finess/adapter.ts +618 -0
  80. package/lib/fr/adapters/finess/postal-lines.ts +157 -0
  81. package/lib/fr/adapters/finess/voie-type.ts +200 -0
  82. package/lib/fr/insee-country.ts +62 -0
  83. package/lib/fr/recipes/admin-split.ts +221 -0
  84. package/lib/fr/recipes/bare-street.ts +158 -0
  85. package/lib/fr/recipes/fragment.ts +251 -0
  86. package/lib/fr/recipes/lieudit.ts +310 -0
  87. package/lib/fr/recipes/order.ts +219 -0
  88. package/lib/fr/street-decompose.ts +67 -0
  89. package/lib/fr/tools/fetch/annuaire-education.ts +306 -0
  90. package/lib/fr/tools/fetch/ban.ts +298 -0
  91. package/lib/fr/tools/fetch/finess.ts +352 -0
  92. package/lib/gauntlet-inputs.ts +92 -0
  93. package/lib/index.ts +10 -4
  94. package/lib/inspire/address.ts +457 -0
  95. package/lib/inspire/archive.ts +44 -0
  96. package/lib/inspire/errors.ts +71 -0
  97. package/lib/inspire/stream.ts +262 -0
  98. package/lib/international/recipes/locale.ts +556 -0
  99. package/lib/it/adapters/anac/adapter.ts +522 -0
  100. package/lib/it/tools/fetch/anac.ts +394 -0
  101. package/lib/jp/adapters/wof-admin/adapter.ts +224 -0
  102. package/lib/jp/tools/fetch/houjin.ts +139 -0
  103. package/lib/kr/adapters/juso/label-rows.ts +239 -0
  104. package/lib/kr/adapters/localdata/align.ts +288 -0
  105. package/lib/kr/adapters/localdata/key-index.ts +177 -0
  106. package/lib/kr/adapters/localdata/permit-rows.ts +193 -0
  107. package/lib/kr/tools/fetch/juso.ts +170 -0
  108. package/lib/kr/tools/fetch/localdata.ts +205 -0
  109. package/lib/lu/adapters/bd-adresses/adapter.ts +240 -0
  110. package/lib/lu/tools/fetch/bd-adresses.ts +351 -0
  111. package/lib/lv/adapters/varis/adapter.ts +499 -0
  112. package/lib/lv/tools/fetch/varis.ts +214 -0
  113. package/lib/nl/adapters/kadaster/adapter.ts +386 -0
  114. package/lib/nl/recipes/postcode.ts +139 -0
  115. package/lib/nl/tools/fetch/kadaster.ts +298 -0
  116. package/lib/no/adapters/matrikkelen/adapter.ts +187 -0
  117. package/lib/no/recipes/fragment.ts +189 -0
  118. package/lib/no/recipes/street/led.ts +154 -0
  119. package/lib/no/recipes/street.ts +109 -0
  120. package/lib/no/tools/fetch/matrikkelen.ts +519 -0
  121. package/lib/parquet/duckdb.ts +144 -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 +451 -0
  128. package/lib/pl/adapters/emuia/adapter.ts +202 -0
  129. package/lib/pl/tools/fetch/emuia.ts +360 -0
  130. package/lib/recipes/anchor-absorption.ts +30 -19
  131. package/lib/recipes/bare/country.ts +87 -0
  132. package/lib/recipes/bare/postcode/eval.ts +99 -0
  133. package/lib/recipes/bare/postcode.ts +346 -0
  134. package/lib/recipes/boundary-stress.ts +36 -19
  135. package/lib/recipes/country-balanced.ts +67 -87
  136. package/lib/recipes/house-venue.ts +31 -13
  137. package/lib/recipes/intersection.ts +83 -61
  138. package/lib/recipes/po/box/cedex/au-nz.ts +82 -0
  139. package/lib/recipes/po/box/cedex/ca.ts +59 -0
  140. package/lib/recipes/po/box/cedex/fr.ts +77 -0
  141. package/lib/recipes/po/box/cedex/phrases.ts +109 -0
  142. package/lib/recipes/po/box/cedex/recipe.ts +215 -0
  143. package/lib/recipes/po/box/cedex/sources.ts +189 -0
  144. package/lib/recipes/po/box/cedex/types.ts +35 -0
  145. package/lib/recipes/po/box/cedex/us.ts +74 -0
  146. package/lib/recipes/po/box/cedex/vocabulary.ts +106 -0
  147. package/lib/recipes/po/box/cedex.ts +9 -0
  148. package/lib/recipes/po/box.ts +149 -0
  149. package/lib/recipes/scaffold.ts +258 -182
  150. package/lib/recipes/sources.ts +399 -0
  151. package/lib/recipes/street/affix.ts +707 -0
  152. package/lib/recipes/street/bare.ts +115 -0
  153. package/lib/recipes/street.ts +32 -8
  154. package/lib/recipes/sub/venue/context.ts +156 -0
  155. package/lib/recipes/sub/venue/render.ts +170 -0
  156. package/lib/recipes/sub/venue/sources.ts +588 -0
  157. package/lib/recipes/sub/venue.ts +801 -0
  158. package/lib/recipes/trailing-region.ts +70 -81
  159. package/lib/recipes/unit/sources.ts +44 -0
  160. package/lib/recipes/unit.ts +102 -90
  161. package/lib/recipes.ts +106 -0
  162. package/lib/registers.ts +278 -0
  163. package/lib/ro/adapters/retea-scolara/adapter.ts +264 -0
  164. package/lib/ro/tools/fetch/retea-scolara.ts +187 -0
  165. package/lib/runner.ts +220 -84
  166. package/lib/sg/recipes/register.ts +264 -0
  167. package/lib/sg/tools/fetch/acra.ts +174 -0
  168. package/lib/si/recipes/bare-village.ts +116 -0
  169. package/lib/sk/adapters/inspire/adapter.ts +395 -0
  170. package/lib/sk/tools/fetch/inspire.ts +402 -0
  171. package/lib/source-register/effective-manifest.ts +659 -0
  172. package/lib/source-register/register.ts +539 -0
  173. package/lib/source-register/training-manifest.ts +218 -0
  174. package/lib/source-register/types.ts +590 -0
  175. package/lib/source-register.ts +71 -0
  176. package/lib/south-asia/recipes/register.ts +233 -0
  177. package/lib/subvenue/harvest.ts +251 -0
  178. package/lib/subvenue/promotions.ts +293 -0
  179. package/lib/subvenue/surfaces.ts +94 -0
  180. package/lib/subvenue/table.ts +264 -0
  181. package/lib/surfaces/locale.ts +246 -0
  182. package/lib/synthesizers/anchor-absorption.ts +55 -91
  183. package/lib/synthesizers/boundary-stress.ts +49 -131
  184. package/lib/synthesizers/house-venue.ts +44 -102
  185. package/lib/synthesizers/intersection.ts +37 -26
  186. package/lib/synthesizers/no-street.ts +70 -119
  187. package/lib/synthesizers/po-box.ts +90 -105
  188. package/lib/synthesizers/street.ts +47 -35
  189. package/lib/synthesizers/utils.ts +65 -219
  190. package/lib/test-kit/corpus-recipe.ts +45 -28
  191. package/lib/test-kit.ts +116 -0
  192. package/lib/tools/align-canonical.ts +64 -0
  193. package/lib/tools/audit.ts +114 -118
  194. package/lib/tools/corpus-stats.ts +46 -32
  195. package/lib/tools/fetch/atom.ts +164 -0
  196. package/lib/tools/fetch/cordis.ts +318 -0
  197. package/lib/tools/fetch/download/manifest.ts +114 -0
  198. package/lib/tools/fetch/download/network.ts +250 -0
  199. package/lib/tools/fetch/download/retry.ts +174 -0
  200. package/lib/tools/fetch/download.ts +4 -471
  201. package/lib/tools/fetch/geonames/dump.ts +275 -0
  202. package/lib/tools/fetch/geonames/postal.ts +145 -0
  203. package/lib/tools/fetch/gleif.ts +360 -0
  204. package/lib/tools/fetch/header.ts +69 -0
  205. package/lib/tools/fetch/inspire-addresses.ts +495 -0
  206. package/lib/tools/fetch/openaddresses.ts +20 -109
  207. package/lib/tools/fetch/ourairports.ts +16 -49
  208. package/lib/tools/fetch/ppd.ts +10 -10
  209. package/lib/tools/fetch/vlaanderen-ad.ts +435 -0
  210. package/lib/tools/fetch/wfs-harvest.ts +943 -0
  211. package/lib/tools/fetch/wikidata-subvenue.ts +43 -143
  212. package/lib/tools/fetch/zip-archive.ts +100 -0
  213. package/lib/tools/fetch.ts +143 -0
  214. package/lib/tools/golden/expand.ts +605 -0
  215. package/lib/tools/golden/promote.ts +349 -0
  216. package/lib/tools/golden/relabel-street/directory.ts +367 -0
  217. package/lib/tools/golden/relabel-street/row.ts +283 -0
  218. package/lib/tools/golden/relabel-street.ts +9 -0
  219. package/lib/tools/ingest-csv.ts +45 -50
  220. package/lib/tools/jsonl-to-parquet.ts +59 -98
  221. package/lib/tools/lint/recipe-output/vocab.ts +366 -0
  222. package/lib/tools/lint/recipe-output.ts +482 -0
  223. package/lib/tools/migrate/overlay-parquet.ts +173 -0
  224. package/lib/tools/migrate/recipe-output.ts +153 -0
  225. package/lib/tools/migrate/source-names.ts +161 -0
  226. package/lib/tools/overlay/kryptonite.ts +144 -0
  227. package/lib/tools/overlay/manifest.ts +407 -0
  228. package/lib/tools/overlay/merge-source.ts +138 -0
  229. package/lib/tools/overlay/split-slice.ts +144 -0
  230. package/lib/tools/overlay/translit.ts +234 -0
  231. package/lib/tools/overture-subvenue.ts +18 -91
  232. package/lib/tools/postcode-triples.ts +362 -167
  233. package/lib/tools/source-register/build.ts +819 -0
  234. package/lib/tools/sub/venue/head-nouns.ts +208 -0
  235. package/lib/tools/sub/venue/lexicon.ts +394 -0
  236. package/lib/tools/sub/venue/wikidata.ts +88 -0
  237. package/lib/tools.ts +31 -0
  238. package/lib/tw/tools/fetch/gcis.ts +181 -0
  239. package/lib/types.ts +304 -101
  240. package/lib/us/adapters/fcc-bdc/adapter.ts +158 -0
  241. package/lib/us/adapters/state/hi-schools/adapter.ts +171 -0
  242. package/lib/us/adapters/state/hi-schools/workbook.ts +40 -0
  243. package/lib/us/adapters/state/ia-contractors/adapter.ts +148 -0
  244. package/lib/us/adapters/state/ny-notaries/adapter.ts +132 -0
  245. package/lib/us/adapters/state/tx-notaries/adapter.ts +155 -0
  246. package/lib/us/adapters/tiger/adapter.ts +225 -0
  247. package/lib/us/adapters/tiger/street-decompose.ts +73 -0
  248. package/lib/us/adapters/usgov/hrsa-fqhc/adapter.ts +171 -0
  249. package/lib/us/adapters/usgov/imls-pls/adapter.ts +140 -0
  250. package/lib/us/adapters/usgov/irs-bmf/adapter.ts +154 -0
  251. package/lib/us/adapters/usgov/nad/adapter.ts +263 -0
  252. package/lib/us/adapters/usgov/nppes/adapter.ts +180 -0
  253. package/lib/us/adapters/usgov/samhsa-treatment-locator/adapter.ts +195 -0
  254. package/lib/us/fips-state.ts +122 -0
  255. package/lib/us/tools/fetch/hrsa.ts +58 -0
  256. package/lib/us/tools/fetch/imls-pls.ts +131 -0
  257. package/lib/us/tools/fetch/nad.ts +359 -0
  258. package/lib/us/tools/fetch/nppes.ts +153 -0
  259. package/lib/us/tools/fetch/state/hi-schools.ts +167 -0
  260. package/lib/us/tools/fetch/state/sources.ts +146 -0
  261. package/lib/us/tools/fetch/tiger-full.ts +256 -0
  262. package/lib/utils/align.ts +43 -53
  263. package/lib/utils/cooccurrence-stats.ts +101 -0
  264. package/lib/utils/golden.ts +39 -50
  265. package/lib/utils/license.ts +238 -26
  266. package/lib/utils/split.ts +205 -88
  267. package/lib/utils/tokenize.ts +22 -34
  268. package/lib/utils/wof-json.ts +134 -87
  269. package/lib/utils.ts +13 -0
  270. package/lib/ve/recipes/reviewed-postcode-tail.ts +217 -0
  271. package/out/adapters/cordis/adapter.d.ts +324 -0
  272. package/out/adapters/cordis/adapter.d.ts.map +1 -0
  273. package/out/adapters/cordis/adapter.js +616 -0
  274. package/out/adapters/cordis/adapter.js.map +1 -0
  275. package/out/adapters/dedup-key.d.ts +30 -0
  276. package/out/adapters/dedup-key.d.ts.map +1 -0
  277. package/out/adapters/dedup-key.js +35 -0
  278. package/out/adapters/dedup-key.js.map +1 -0
  279. package/out/adapters/errors.d.ts +17 -0
  280. package/out/adapters/errors.d.ts.map +1 -0
  281. package/out/adapters/errors.js +20 -0
  282. package/out/adapters/errors.js.map +1 -0
  283. package/out/adapters/geonames/adapter.d.ts +26 -28
  284. package/out/adapters/geonames/adapter.d.ts.map +1 -1
  285. package/out/adapters/geonames/adapter.js +40 -50
  286. package/out/adapters/geonames/adapter.js.map +1 -1
  287. package/out/adapters/geonames/postal/adapter.d.ts +41 -0
  288. package/out/adapters/geonames/postal/adapter.d.ts.map +1 -0
  289. package/out/adapters/geonames/postal/adapter.js +102 -0
  290. package/out/adapters/geonames/postal/adapter.js.map +1 -0
  291. package/out/adapters/gleif/adapter.d.ts +293 -0
  292. package/out/adapters/gleif/adapter.d.ts.map +1 -0
  293. package/out/adapters/gleif/adapter.js +684 -0
  294. package/out/adapters/gleif/adapter.js.map +1 -0
  295. package/out/adapters/libpostal-dictionary.d.ts +22 -0
  296. package/out/adapters/libpostal-dictionary.d.ts.map +1 -0
  297. package/out/adapters/libpostal-dictionary.js +36 -0
  298. package/out/adapters/libpostal-dictionary.js.map +1 -0
  299. package/out/adapters/openaddresses/adapter.d.ts +28 -43
  300. package/out/adapters/openaddresses/adapter.d.ts.map +1 -1
  301. package/out/adapters/openaddresses/adapter.js +37 -51
  302. package/out/adapters/openaddresses/adapter.js.map +1 -1
  303. package/out/adapters/osm/adapter.d.ts +101 -0
  304. package/out/adapters/osm/adapter.d.ts.map +1 -0
  305. package/out/adapters/osm/adapter.js +260 -0
  306. package/out/adapters/osm/adapter.js.map +1 -0
  307. package/out/adapters/overture/adapter.d.ts +14 -30
  308. package/out/adapters/overture/adapter.d.ts.map +1 -1
  309. package/out/adapters/overture/adapter.js +57 -41
  310. package/out/adapters/overture/adapter.js.map +1 -1
  311. package/out/adapters/po-box/adapter.d.ts +63 -0
  312. package/out/adapters/po-box/adapter.d.ts.map +1 -0
  313. package/out/adapters/po-box/adapter.js +139 -0
  314. package/out/adapters/po-box/adapter.js.map +1 -0
  315. package/out/adapters/registry.d.ts +55 -0
  316. package/out/adapters/registry.d.ts.map +1 -0
  317. package/out/adapters/registry.js +43 -0
  318. package/out/adapters/registry.js.map +1 -0
  319. package/out/adapters/sha256-stream.d.ts +26 -0
  320. package/out/adapters/sha256-stream.d.ts.map +1 -0
  321. package/out/adapters/sha256-stream.js +34 -0
  322. package/out/adapters/sha256-stream.js.map +1 -0
  323. package/out/adapters/source-id.d.ts +33 -0
  324. package/out/adapters/source-id.d.ts.map +1 -0
  325. package/out/adapters/source-id.js +42 -0
  326. package/out/adapters/source-id.js.map +1 -0
  327. package/out/adapters/street-line.d.ts +102 -0
  328. package/out/adapters/street-line.d.ts.map +1 -0
  329. package/out/adapters/street-line.js +117 -0
  330. package/out/adapters/street-line.js.map +1 -0
  331. package/out/adapters/wof/admin/json/adapter.d.ts +88 -0
  332. package/out/adapters/wof/admin/json/adapter.d.ts.map +1 -0
  333. package/out/adapters/wof/admin/json/adapter.js +220 -0
  334. package/out/adapters/wof/admin/json/adapter.js.map +1 -0
  335. package/out/adapters/wof/json-rows.d.ts +89 -0
  336. package/out/adapters/wof/json-rows.d.ts.map +1 -0
  337. package/out/adapters/wof/json-rows.js +135 -0
  338. package/out/adapters/wof/json-rows.js.map +1 -0
  339. package/out/adapters/wof/postalcode-json/adapter.d.ts +49 -0
  340. package/out/adapters/wof/postalcode-json/adapter.d.ts.map +1 -0
  341. package/out/adapters/wof/postalcode-json/adapter.js +165 -0
  342. package/out/adapters/wof/postalcode-json/adapter.js.map +1 -0
  343. package/out/adapters.d.ts +75 -0
  344. package/out/adapters.d.ts.map +1 -0
  345. package/out/adapters.js +167 -0
  346. package/out/adapters.js.map +1 -0
  347. package/out/au/adapters/gnaf/adapter.d.ts +37 -0
  348. package/out/au/adapters/gnaf/adapter.d.ts.map +1 -0
  349. package/out/au/adapters/gnaf/adapter.js +119 -0
  350. package/out/au/adapters/gnaf/adapter.js.map +1 -0
  351. package/out/au/adapters/gnaf/assemble.d.ts +54 -0
  352. package/out/au/adapters/gnaf/assemble.d.ts.map +1 -0
  353. package/out/au/adapters/gnaf/assemble.js +134 -0
  354. package/out/au/adapters/gnaf/assemble.js.map +1 -0
  355. package/out/be/adapters/brussels/adapter.d.ts +212 -0
  356. package/out/be/adapters/brussels/adapter.d.ts.map +1 -0
  357. package/out/be/adapters/brussels/adapter.js +435 -0
  358. package/out/be/adapters/brussels/adapter.js.map +1 -0
  359. package/out/be/adapters/vlaanderen/adapter.d.ts +233 -0
  360. package/out/be/adapters/vlaanderen/adapter.d.ts.map +1 -0
  361. package/out/be/adapters/vlaanderen/adapter.js +416 -0
  362. package/out/be/adapters/vlaanderen/adapter.js.map +1 -0
  363. package/out/be/adapters/wallonie/adapter.d.ts +196 -0
  364. package/out/be/adapters/wallonie/adapter.d.ts.map +1 -0
  365. package/out/be/adapters/wallonie/adapter.js +437 -0
  366. package/out/be/adapters/wallonie/adapter.js.map +1 -0
  367. package/out/be/tools/fetch/brussels.d.ts +119 -0
  368. package/out/be/tools/fetch/brussels.d.ts.map +1 -0
  369. package/out/be/tools/fetch/brussels.js +146 -0
  370. package/out/be/tools/fetch/brussels.js.map +1 -0
  371. package/out/be/tools/fetch/wallonie.d.ts +119 -0
  372. package/out/be/tools/fetch/wallonie.d.ts.map +1 -0
  373. package/out/be/tools/fetch/wallonie.js +167 -0
  374. package/out/be/tools/fetch/wallonie.js.map +1 -0
  375. package/out/build/adapters.d.ts +33 -0
  376. package/out/build/adapters.d.ts.map +1 -0
  377. package/out/build/adapters.js +68 -0
  378. package/out/build/adapters.js.map +1 -0
  379. package/out/build/align.d.ts +73 -0
  380. package/out/build/align.d.ts.map +1 -0
  381. package/out/build/align.js +226 -0
  382. package/out/build/align.js.map +1 -0
  383. package/out/build/checkpoint.d.ts +94 -0
  384. package/out/build/checkpoint.d.ts.map +1 -0
  385. package/out/build/checkpoint.js +59 -0
  386. package/out/build/checkpoint.js.map +1 -0
  387. package/out/build/eligibility.d.ts +47 -0
  388. package/out/build/eligibility.d.ts.map +1 -0
  389. package/out/build/eligibility.js +80 -0
  390. package/out/build/eligibility.js.map +1 -0
  391. package/out/build/heap.d.ts +28 -0
  392. package/out/build/heap.d.ts.map +1 -0
  393. package/out/build/heap.js +47 -0
  394. package/out/build/heap.js.map +1 -0
  395. package/out/build/inputs.d.ts +52 -0
  396. package/out/build/inputs.d.ts.map +1 -0
  397. package/out/build/inputs.js +49 -0
  398. package/out/build/inputs.js.map +1 -0
  399. package/out/build/rows.d.ts +16 -0
  400. package/out/build/rows.d.ts.map +1 -0
  401. package/out/build/rows.js +19 -0
  402. package/out/build/rows.js.map +1 -0
  403. package/out/build/types.d.ts +220 -0
  404. package/out/build/types.d.ts.map +1 -0
  405. package/out/build/types.js +34 -0
  406. package/out/build/types.js.map +1 -0
  407. package/out/build.d.ts +6 -121
  408. package/out/build.d.ts.map +1 -1
  409. package/out/build.js +112 -207
  410. package/out/build.js.map +1 -1
  411. package/out/cn/recipes/organizational-units.d.ts +19 -0
  412. package/out/cn/recipes/organizational-units.d.ts.map +1 -0
  413. package/out/cn/recipes/organizational-units.js +138 -0
  414. package/out/cn/recipes/organizational-units.js.map +1 -0
  415. package/out/cz/adapters/cuzk/adapter.d.ts +52 -0
  416. package/out/cz/adapters/cuzk/adapter.d.ts.map +1 -0
  417. package/out/cz/adapters/cuzk/adapter.js +266 -0
  418. package/out/cz/adapters/cuzk/adapter.js.map +1 -0
  419. package/out/cz/recipes/pcfirst-preposition.d.ts +18 -0
  420. package/out/cz/recipes/pcfirst-preposition.d.ts.map +1 -0
  421. package/out/cz/recipes/pcfirst-preposition.js +110 -0
  422. package/out/cz/recipes/pcfirst-preposition.js.map +1 -0
  423. package/out/cz/tools/fetch/cuzk.d.ts +272 -0
  424. package/out/cz/tools/fetch/cuzk.d.ts.map +1 -0
  425. package/out/cz/tools/fetch/cuzk.js +446 -0
  426. package/out/cz/tools/fetch/cuzk.js.map +1 -0
  427. package/out/de/recipes/locale.d.ts +42 -0
  428. package/out/de/recipes/locale.d.ts.map +1 -0
  429. package/out/de/recipes/locale.js +299 -0
  430. package/out/de/recipes/locale.js.map +1 -0
  431. package/out/directory.d.ts +20 -0
  432. package/out/directory.d.ts.map +1 -0
  433. package/out/directory.js +27 -0
  434. package/out/directory.js.map +1 -0
  435. package/out/dk/adapters/inspire/adapter.d.ts +154 -0
  436. package/out/dk/adapters/inspire/adapter.d.ts.map +1 -0
  437. package/out/dk/adapters/inspire/adapter.js +258 -0
  438. package/out/dk/adapters/inspire/adapter.js.map +1 -0
  439. package/out/dk/tools/fetch/inspire.d.ts +100 -0
  440. package/out/dk/tools/fetch/inspire.d.ts.map +1 -0
  441. package/out/dk/tools/fetch/inspire.js +230 -0
  442. package/out/dk/tools/fetch/inspire.js.map +1 -0
  443. package/out/ee/adapters/ads/adapter.d.ts +109 -0
  444. package/out/ee/adapters/ads/adapter.d.ts.map +1 -0
  445. package/out/ee/adapters/ads/adapter.js +191 -0
  446. package/out/ee/adapters/ads/adapter.js.map +1 -0
  447. package/out/ee/tools/fetch/ads.d.ts +123 -0
  448. package/out/ee/tools/fetch/ads.d.ts.map +1 -0
  449. package/out/ee/tools/fetch/ads.js +195 -0
  450. package/out/ee/tools/fetch/ads.js.map +1 -0
  451. package/out/env.d.ts +7 -3
  452. package/out/env.d.ts.map +1 -1
  453. package/out/env.js +6 -2
  454. package/out/env.js.map +1 -1
  455. package/out/es/adapters/bizkaia/adapter.d.ts +143 -0
  456. package/out/es/adapters/bizkaia/adapter.d.ts.map +1 -0
  457. package/out/es/adapters/bizkaia/adapter.js +332 -0
  458. package/out/es/adapters/bizkaia/adapter.js.map +1 -0
  459. package/out/es/adapters/catastro/adapter.d.ts +104 -0
  460. package/out/es/adapters/catastro/adapter.d.ts.map +1 -0
  461. package/out/es/adapters/catastro/adapter.js +288 -0
  462. package/out/es/adapters/catastro/adapter.js.map +1 -0
  463. package/out/es/adapters/gipuzkoa/adapter.d.ts +91 -0
  464. package/out/es/adapters/gipuzkoa/adapter.d.ts.map +1 -0
  465. package/out/es/adapters/gipuzkoa/adapter.js +225 -0
  466. package/out/es/adapters/gipuzkoa/adapter.js.map +1 -0
  467. package/out/es/adapters/navarra/adapter.d.ts +105 -0
  468. package/out/es/adapters/navarra/adapter.d.ts.map +1 -0
  469. package/out/es/adapters/navarra/adapter.js +241 -0
  470. package/out/es/adapters/navarra/adapter.js.map +1 -0
  471. package/out/es/cadastre.d.ts +109 -0
  472. package/out/es/cadastre.d.ts.map +1 -0
  473. package/out/es/cadastre.js +130 -0
  474. package/out/es/cadastre.js.map +1 -0
  475. package/out/es/tools/fetch/bizkaia.d.ts +278 -0
  476. package/out/es/tools/fetch/bizkaia.d.ts.map +1 -0
  477. package/out/es/tools/fetch/bizkaia.js +477 -0
  478. package/out/es/tools/fetch/bizkaia.js.map +1 -0
  479. package/out/es/tools/fetch/catastro.d.ts +272 -0
  480. package/out/es/tools/fetch/catastro.d.ts.map +1 -0
  481. package/out/es/tools/fetch/catastro.js +486 -0
  482. package/out/es/tools/fetch/catastro.js.map +1 -0
  483. package/out/es/tools/fetch/gipuzkoa.d.ts +162 -0
  484. package/out/es/tools/fetch/gipuzkoa.d.ts.map +1 -0
  485. package/out/es/tools/fetch/gipuzkoa.js +209 -0
  486. package/out/es/tools/fetch/gipuzkoa.js.map +1 -0
  487. package/out/es/tools/fetch/navarra.d.ts +189 -0
  488. package/out/es/tools/fetch/navarra.d.ts.map +1 -0
  489. package/out/es/tools/fetch/navarra.js +316 -0
  490. package/out/es/tools/fetch/navarra.js.map +1 -0
  491. package/out/fi/adapters/ryhti/adapter.d.ts +115 -0
  492. package/out/fi/adapters/ryhti/adapter.d.ts.map +1 -0
  493. package/out/fi/adapters/ryhti/adapter.js +244 -0
  494. package/out/fi/adapters/ryhti/adapter.js.map +1 -0
  495. package/out/fi/tools/fetch/ryhti.d.ts +206 -0
  496. package/out/fi/tools/fetch/ryhti.d.ts.map +1 -0
  497. package/out/fi/tools/fetch/ryhti.js +327 -0
  498. package/out/fi/tools/fetch/ryhti.js.map +1 -0
  499. package/out/fingerprints.d.ts +68 -0
  500. package/out/fingerprints.d.ts.map +1 -0
  501. package/out/fingerprints.js +130 -0
  502. package/out/fingerprints.js.map +1 -0
  503. package/out/fr/adapters/annuaire-education/adapter.d.ts +236 -0
  504. package/out/fr/adapters/annuaire-education/adapter.d.ts.map +1 -0
  505. package/out/fr/adapters/annuaire-education/adapter.js +475 -0
  506. package/out/fr/adapters/annuaire-education/adapter.js.map +1 -0
  507. package/out/fr/adapters/ban/adapter.d.ts +38 -0
  508. package/out/fr/adapters/ban/adapter.d.ts.map +1 -0
  509. package/out/fr/adapters/ban/adapter.js +134 -0
  510. package/out/fr/adapters/ban/adapter.js.map +1 -0
  511. package/out/fr/adapters/finess/adapter.d.ts +276 -0
  512. package/out/fr/adapters/finess/adapter.d.ts.map +1 -0
  513. package/out/fr/adapters/finess/adapter.js +519 -0
  514. package/out/fr/adapters/finess/adapter.js.map +1 -0
  515. package/out/fr/adapters/finess/postal-lines.d.ts +61 -0
  516. package/out/fr/adapters/finess/postal-lines.d.ts.map +1 -0
  517. package/out/fr/adapters/finess/postal-lines.js +114 -0
  518. package/out/fr/adapters/finess/postal-lines.js.map +1 -0
  519. package/out/fr/adapters/finess/voie-type.d.ts +77 -0
  520. package/out/fr/adapters/finess/voie-type.d.ts.map +1 -0
  521. package/out/fr/adapters/finess/voie-type.js +172 -0
  522. package/out/fr/adapters/finess/voie-type.js.map +1 -0
  523. package/out/fr/insee-country.d.ts +45 -0
  524. package/out/fr/insee-country.d.ts.map +1 -0
  525. package/out/fr/insee-country.js +60 -0
  526. package/out/fr/insee-country.js.map +1 -0
  527. package/out/fr/recipes/admin-split.d.ts +15 -0
  528. package/out/fr/recipes/admin-split.d.ts.map +1 -0
  529. package/out/fr/recipes/admin-split.js +170 -0
  530. package/out/fr/recipes/admin-split.js.map +1 -0
  531. package/out/fr/recipes/bare-street.d.ts +13 -0
  532. package/out/fr/recipes/bare-street.d.ts.map +1 -0
  533. package/out/fr/recipes/bare-street.js +129 -0
  534. package/out/fr/recipes/bare-street.js.map +1 -0
  535. package/out/fr/recipes/fragment.d.ts +18 -0
  536. package/out/fr/recipes/fragment.d.ts.map +1 -0
  537. package/out/fr/recipes/fragment.js +197 -0
  538. package/out/fr/recipes/fragment.js.map +1 -0
  539. package/out/fr/recipes/lieudit.d.ts +30 -0
  540. package/out/fr/recipes/lieudit.d.ts.map +1 -0
  541. package/out/fr/recipes/lieudit.js +231 -0
  542. package/out/fr/recipes/lieudit.js.map +1 -0
  543. package/out/fr/recipes/order.d.ts +15 -0
  544. package/out/fr/recipes/order.d.ts.map +1 -0
  545. package/out/fr/recipes/order.js +171 -0
  546. package/out/fr/recipes/order.js.map +1 -0
  547. package/out/fr/street-decompose.d.ts +29 -0
  548. package/out/fr/street-decompose.d.ts.map +1 -0
  549. package/out/fr/street-decompose.js +52 -0
  550. package/out/fr/street-decompose.js.map +1 -0
  551. package/out/fr/tools/fetch/annuaire-education.d.ts +130 -0
  552. package/out/fr/tools/fetch/annuaire-education.d.ts.map +1 -0
  553. package/out/fr/tools/fetch/annuaire-education.js +196 -0
  554. package/out/fr/tools/fetch/annuaire-education.js.map +1 -0
  555. package/out/fr/tools/fetch/ban.d.ts +33 -0
  556. package/out/fr/tools/fetch/ban.d.ts.map +1 -0
  557. package/out/fr/tools/fetch/ban.js +248 -0
  558. package/out/fr/tools/fetch/ban.js.map +1 -0
  559. package/out/fr/tools/fetch/finess.d.ts +145 -0
  560. package/out/fr/tools/fetch/finess.d.ts.map +1 -0
  561. package/out/fr/tools/fetch/finess.js +228 -0
  562. package/out/fr/tools/fetch/finess.js.map +1 -0
  563. package/out/gauntlet-inputs.d.ts +42 -0
  564. package/out/gauntlet-inputs.d.ts.map +1 -0
  565. package/out/gauntlet-inputs.js +78 -0
  566. package/out/gauntlet-inputs.js.map +1 -0
  567. package/out/index.d.ts +10 -4
  568. package/out/index.d.ts.map +1 -1
  569. package/out/index.js +10 -4
  570. package/out/index.js.map +1 -1
  571. package/out/inspire/address.d.ts +251 -0
  572. package/out/inspire/address.d.ts.map +1 -0
  573. package/out/inspire/address.js +384 -0
  574. package/out/inspire/address.js.map +1 -0
  575. package/out/inspire/archive.d.ts +36 -0
  576. package/out/inspire/archive.d.ts.map +1 -0
  577. package/out/inspire/archive.js +42 -0
  578. package/out/inspire/archive.js.map +1 -0
  579. package/out/inspire/errors.d.ts +55 -0
  580. package/out/inspire/errors.d.ts.map +1 -0
  581. package/out/inspire/errors.js +64 -0
  582. package/out/inspire/errors.js.map +1 -0
  583. package/out/inspire/stream.d.ts +137 -0
  584. package/out/inspire/stream.d.ts.map +1 -0
  585. package/out/inspire/stream.js +125 -0
  586. package/out/inspire/stream.js.map +1 -0
  587. package/out/international/recipes/locale.d.ts +90 -0
  588. package/out/international/recipes/locale.d.ts.map +1 -0
  589. package/out/international/recipes/locale.js +419 -0
  590. package/out/international/recipes/locale.js.map +1 -0
  591. package/out/it/adapters/anac/adapter.d.ts +267 -0
  592. package/out/it/adapters/anac/adapter.d.ts.map +1 -0
  593. package/out/it/adapters/anac/adapter.js +429 -0
  594. package/out/it/adapters/anac/adapter.js.map +1 -0
  595. package/out/it/tools/fetch/anac.d.ts +174 -0
  596. package/out/it/tools/fetch/anac.d.ts.map +1 -0
  597. package/out/it/tools/fetch/anac.js +272 -0
  598. package/out/it/tools/fetch/anac.js.map +1 -0
  599. package/out/jp/adapters/wof-admin/adapter.d.ts +68 -0
  600. package/out/jp/adapters/wof-admin/adapter.d.ts.map +1 -0
  601. package/out/jp/adapters/wof-admin/adapter.js +172 -0
  602. package/out/jp/adapters/wof-admin/adapter.js.map +1 -0
  603. package/out/jp/tools/fetch/houjin.d.ts +27 -0
  604. package/out/jp/tools/fetch/houjin.d.ts.map +1 -0
  605. package/out/jp/tools/fetch/houjin.js +106 -0
  606. package/out/jp/tools/fetch/houjin.js.map +1 -0
  607. package/out/kr/adapters/juso/label-rows.d.ts +62 -0
  608. package/out/kr/adapters/juso/label-rows.d.ts.map +1 -0
  609. package/out/kr/adapters/juso/label-rows.js +172 -0
  610. package/out/kr/adapters/juso/label-rows.js.map +1 -0
  611. package/out/kr/adapters/localdata/align.d.ts +31 -0
  612. package/out/kr/adapters/localdata/align.d.ts.map +1 -0
  613. package/out/kr/adapters/localdata/align.js +212 -0
  614. package/out/kr/adapters/localdata/align.js.map +1 -0
  615. package/out/kr/adapters/localdata/key-index.d.ts +62 -0
  616. package/out/kr/adapters/localdata/key-index.d.ts.map +1 -0
  617. package/out/kr/adapters/localdata/key-index.js +127 -0
  618. package/out/kr/adapters/localdata/key-index.js.map +1 -0
  619. package/out/kr/adapters/localdata/permit-rows.d.ts +73 -0
  620. package/out/kr/adapters/localdata/permit-rows.d.ts.map +1 -0
  621. package/out/kr/adapters/localdata/permit-rows.js +136 -0
  622. package/out/kr/adapters/localdata/permit-rows.js.map +1 -0
  623. package/out/kr/tools/fetch/juso.d.ts +33 -0
  624. package/out/kr/tools/fetch/juso.d.ts.map +1 -0
  625. package/out/kr/tools/fetch/juso.js +121 -0
  626. package/out/kr/tools/fetch/juso.js.map +1 -0
  627. package/out/kr/tools/fetch/localdata.d.ts +37 -0
  628. package/out/kr/tools/fetch/localdata.d.ts.map +1 -0
  629. package/out/kr/tools/fetch/localdata.js +147 -0
  630. package/out/kr/tools/fetch/localdata.js.map +1 -0
  631. package/out/lu/adapters/bd-adresses/adapter.d.ts +109 -0
  632. package/out/lu/adapters/bd-adresses/adapter.d.ts.map +1 -0
  633. package/out/lu/adapters/bd-adresses/adapter.js +196 -0
  634. package/out/lu/adapters/bd-adresses/adapter.js.map +1 -0
  635. package/out/lu/tools/fetch/bd-adresses.d.ts +163 -0
  636. package/out/lu/tools/fetch/bd-adresses.d.ts.map +1 -0
  637. package/out/lu/tools/fetch/bd-adresses.js +223 -0
  638. package/out/lu/tools/fetch/bd-adresses.js.map +1 -0
  639. package/out/lv/adapters/varis/adapter.d.ts +283 -0
  640. package/out/lv/adapters/varis/adapter.d.ts.map +1 -0
  641. package/out/lv/adapters/varis/adapter.js +404 -0
  642. package/out/lv/adapters/varis/adapter.js.map +1 -0
  643. package/out/lv/tools/fetch/varis.d.ts +80 -0
  644. package/out/lv/tools/fetch/varis.d.ts.map +1 -0
  645. package/out/lv/tools/fetch/varis.js +133 -0
  646. package/out/lv/tools/fetch/varis.js.map +1 -0
  647. package/out/nl/adapters/kadaster/adapter.d.ts +125 -0
  648. package/out/nl/adapters/kadaster/adapter.d.ts.map +1 -0
  649. package/out/nl/adapters/kadaster/adapter.js +310 -0
  650. package/out/nl/adapters/kadaster/adapter.js.map +1 -0
  651. package/out/nl/recipes/postcode.d.ts +24 -0
  652. package/out/nl/recipes/postcode.d.ts.map +1 -0
  653. package/out/nl/recipes/postcode.js +121 -0
  654. package/out/nl/recipes/postcode.js.map +1 -0
  655. package/out/nl/tools/fetch/kadaster.d.ts +155 -0
  656. package/out/nl/tools/fetch/kadaster.d.ts.map +1 -0
  657. package/out/nl/tools/fetch/kadaster.js +179 -0
  658. package/out/nl/tools/fetch/kadaster.js.map +1 -0
  659. package/out/no/adapters/matrikkelen/adapter.d.ts +44 -0
  660. package/out/no/adapters/matrikkelen/adapter.d.ts.map +1 -0
  661. package/out/no/adapters/matrikkelen/adapter.js +143 -0
  662. package/out/no/adapters/matrikkelen/adapter.js.map +1 -0
  663. package/out/no/recipes/fragment.d.ts +11 -0
  664. package/out/no/recipes/fragment.d.ts.map +1 -0
  665. package/out/no/recipes/fragment.js +149 -0
  666. package/out/no/recipes/fragment.js.map +1 -0
  667. package/out/no/recipes/street/led.d.ts +21 -0
  668. package/out/no/recipes/street/led.d.ts.map +1 -0
  669. package/out/no/recipes/street/led.js +124 -0
  670. package/out/no/recipes/street/led.js.map +1 -0
  671. package/out/no/recipes/street.d.ts +19 -0
  672. package/out/no/recipes/street.d.ts.map +1 -0
  673. package/out/no/recipes/street.js +88 -0
  674. package/out/no/recipes/street.js.map +1 -0
  675. package/out/no/tools/fetch/matrikkelen.d.ts +251 -0
  676. package/out/no/tools/fetch/matrikkelen.d.ts.map +1 -0
  677. package/out/no/tools/fetch/matrikkelen.js +345 -0
  678. package/out/no/tools/fetch/matrikkelen.js.map +1 -0
  679. package/out/parquet/duckdb.d.ts +100 -0
  680. package/out/parquet/duckdb.d.ts.map +1 -0
  681. package/out/parquet/duckdb.js +92 -0
  682. package/out/parquet/duckdb.js.map +1 -0
  683. package/out/parquet/readers.d.ts +44 -0
  684. package/out/parquet/readers.d.ts.map +1 -0
  685. package/out/parquet/readers.js +69 -0
  686. package/out/parquet/readers.js.map +1 -0
  687. package/out/parquet/schema.d.ts +95 -0
  688. package/out/parquet/schema.d.ts.map +1 -0
  689. package/out/parquet/schema.js +157 -0
  690. package/out/parquet/schema.js.map +1 -0
  691. package/out/parquet/shuffle.d.ts +25 -0
  692. package/out/parquet/shuffle.d.ts.map +1 -0
  693. package/out/parquet/shuffle.js +44 -0
  694. package/out/parquet/shuffle.js.map +1 -0
  695. package/out/parquet/span-sql.d.ts +49 -0
  696. package/out/parquet/span-sql.d.ts.map +1 -0
  697. package/out/parquet/span-sql.js +53 -0
  698. package/out/parquet/span-sql.js.map +1 -0
  699. package/out/parquet/streams.d.ts +47 -0
  700. package/out/parquet/streams.d.ts.map +1 -0
  701. package/out/parquet/streams.js +78 -0
  702. package/out/parquet/streams.js.map +1 -0
  703. package/out/parquet/writers.d.ts +124 -0
  704. package/out/parquet/writers.d.ts.map +1 -0
  705. package/out/parquet/writers.js +251 -0
  706. package/out/parquet/writers.js.map +1 -0
  707. package/out/pl/adapters/emuia/adapter.d.ts +81 -0
  708. package/out/pl/adapters/emuia/adapter.d.ts.map +1 -0
  709. package/out/pl/adapters/emuia/adapter.js +178 -0
  710. package/out/pl/adapters/emuia/adapter.js.map +1 -0
  711. package/out/pl/tools/fetch/emuia.d.ts +165 -0
  712. package/out/pl/tools/fetch/emuia.d.ts.map +1 -0
  713. package/out/pl/tools/fetch/emuia.js +260 -0
  714. package/out/pl/tools/fetch/emuia.js.map +1 -0
  715. package/out/recipes/anchor-absorption.d.ts +9 -9
  716. package/out/recipes/anchor-absorption.d.ts.map +1 -1
  717. package/out/recipes/anchor-absorption.js +29 -19
  718. package/out/recipes/anchor-absorption.js.map +1 -1
  719. package/out/recipes/bare/country.d.ts +7 -0
  720. package/out/recipes/bare/country.d.ts.map +1 -0
  721. package/out/recipes/bare/country.js +77 -0
  722. package/out/recipes/bare/country.js.map +1 -0
  723. package/out/recipes/bare/postcode/eval.d.ts +29 -0
  724. package/out/recipes/bare/postcode/eval.d.ts.map +1 -0
  725. package/out/recipes/bare/postcode/eval.js +85 -0
  726. package/out/recipes/bare/postcode/eval.js.map +1 -0
  727. package/out/recipes/bare/postcode.d.ts +41 -0
  728. package/out/recipes/bare/postcode.d.ts.map +1 -0
  729. package/out/recipes/bare/postcode.js +279 -0
  730. package/out/recipes/bare/postcode.js.map +1 -0
  731. package/out/recipes/boundary-stress.d.ts +8 -8
  732. package/out/recipes/boundary-stress.d.ts.map +1 -1
  733. package/out/recipes/boundary-stress.js +36 -19
  734. package/out/recipes/boundary-stress.js.map +1 -1
  735. package/out/recipes/country-balanced.d.ts +3 -21
  736. package/out/recipes/country-balanced.d.ts.map +1 -1
  737. package/out/recipes/country-balanced.js +58 -76
  738. package/out/recipes/country-balanced.js.map +1 -1
  739. package/out/recipes/house-venue.d.ts +8 -6
  740. package/out/recipes/house-venue.d.ts.map +1 -1
  741. package/out/recipes/house-venue.js +29 -13
  742. package/out/recipes/house-venue.js.map +1 -1
  743. package/out/recipes/intersection.d.ts +20 -20
  744. package/out/recipes/intersection.d.ts.map +1 -1
  745. package/out/recipes/intersection.js +65 -53
  746. package/out/recipes/intersection.js.map +1 -1
  747. package/out/recipes/po/box/cedex/au-nz.d.ts +7 -0
  748. package/out/recipes/po/box/cedex/au-nz.d.ts.map +1 -0
  749. package/out/recipes/po/box/cedex/au-nz.js +56 -0
  750. package/out/recipes/po/box/cedex/au-nz.js.map +1 -0
  751. package/out/recipes/po/box/cedex/ca.d.ts +7 -0
  752. package/out/recipes/po/box/cedex/ca.d.ts.map +1 -0
  753. package/out/recipes/po/box/cedex/ca.js +38 -0
  754. package/out/recipes/po/box/cedex/ca.js.map +1 -0
  755. package/out/recipes/po/box/cedex/fr.d.ts +7 -0
  756. package/out/recipes/po/box/cedex/fr.d.ts.map +1 -0
  757. package/out/recipes/po/box/cedex/fr.js +57 -0
  758. package/out/recipes/po/box/cedex/fr.js.map +1 -0
  759. package/out/recipes/po/box/cedex/phrases.d.ts +8 -0
  760. package/out/recipes/po/box/cedex/phrases.d.ts.map +1 -0
  761. package/out/recipes/po/box/cedex/phrases.js +77 -0
  762. package/out/recipes/po/box/cedex/phrases.js.map +1 -0
  763. package/out/recipes/po/box/cedex/recipe.d.ts +9 -0
  764. package/out/recipes/po/box/cedex/recipe.d.ts.map +1 -0
  765. package/out/recipes/po/box/cedex/recipe.js +163 -0
  766. package/out/recipes/po/box/cedex/recipe.js.map +1 -0
  767. package/out/recipes/po/box/cedex/sources.d.ts +86 -0
  768. package/out/recipes/po/box/cedex/sources.d.ts.map +1 -0
  769. package/out/recipes/po/box/cedex/sources.js +143 -0
  770. package/out/recipes/po/box/cedex/sources.js.map +1 -0
  771. package/out/recipes/po/box/cedex/types.d.ts +31 -0
  772. package/out/recipes/po/box/cedex/types.d.ts.map +1 -0
  773. package/out/recipes/po/box/cedex/types.js +5 -0
  774. package/out/recipes/po/box/cedex/types.js.map +1 -0
  775. package/out/recipes/po/box/cedex/us.d.ts +7 -0
  776. package/out/recipes/po/box/cedex/us.d.ts.map +1 -0
  777. package/out/recipes/po/box/cedex/us.js +54 -0
  778. package/out/recipes/po/box/cedex/us.js.map +1 -0
  779. package/out/recipes/po/box/cedex/vocabulary.d.ts +68 -0
  780. package/out/recipes/po/box/cedex/vocabulary.d.ts.map +1 -0
  781. package/out/recipes/po/box/cedex/vocabulary.js +90 -0
  782. package/out/recipes/po/box/cedex/vocabulary.js.map +1 -0
  783. package/out/recipes/po/box/cedex.d.ts +9 -0
  784. package/out/recipes/po/box/cedex.d.ts.map +1 -0
  785. package/out/recipes/po/box/cedex.js +9 -0
  786. package/out/recipes/po/box/cedex.js.map +1 -0
  787. package/out/recipes/po/box.d.ts +18 -0
  788. package/out/recipes/po/box.d.ts.map +1 -0
  789. package/out/recipes/po/box.js +123 -0
  790. package/out/recipes/po/box.js.map +1 -0
  791. package/out/recipes/scaffold.d.ts +214 -121
  792. package/out/recipes/scaffold.d.ts.map +1 -1
  793. package/out/recipes/scaffold.js +78 -88
  794. package/out/recipes/scaffold.js.map +1 -1
  795. package/out/recipes/sources.d.ts +178 -0
  796. package/out/recipes/sources.d.ts.map +1 -0
  797. package/out/recipes/sources.js +348 -0
  798. package/out/recipes/sources.js.map +1 -0
  799. package/out/recipes/street/affix.d.ts +59 -0
  800. package/out/recipes/street/affix.d.ts.map +1 -0
  801. package/out/recipes/street/affix.js +477 -0
  802. package/out/recipes/street/affix.js.map +1 -0
  803. package/out/recipes/street/bare.d.ts +27 -0
  804. package/out/recipes/street/bare.d.ts.map +1 -0
  805. package/out/recipes/street/bare.js +98 -0
  806. package/out/recipes/street/bare.js.map +1 -0
  807. package/out/recipes/street.d.ts +6 -4
  808. package/out/recipes/street.d.ts.map +1 -1
  809. package/out/recipes/street.js +29 -8
  810. package/out/recipes/street.js.map +1 -1
  811. package/out/recipes/sub/venue/context.d.ts +32 -0
  812. package/out/recipes/sub/venue/context.d.ts.map +1 -0
  813. package/out/recipes/sub/venue/context.js +110 -0
  814. package/out/recipes/sub/venue/context.js.map +1 -0
  815. package/out/recipes/sub/venue/render.d.ts +58 -0
  816. package/out/recipes/sub/venue/render.d.ts.map +1 -0
  817. package/out/recipes/sub/venue/render.js +118 -0
  818. package/out/recipes/sub/venue/render.js.map +1 -0
  819. package/out/recipes/sub/venue/sources.d.ts +166 -0
  820. package/out/recipes/sub/venue/sources.d.ts.map +1 -0
  821. package/out/recipes/sub/venue/sources.js +419 -0
  822. package/out/recipes/sub/venue/sources.js.map +1 -0
  823. package/out/recipes/sub/venue.d.ts +176 -0
  824. package/out/recipes/sub/venue.d.ts.map +1 -0
  825. package/out/recipes/sub/venue.js +562 -0
  826. package/out/recipes/sub/venue.js.map +1 -0
  827. package/out/recipes/trailing-region.d.ts +9 -61
  828. package/out/recipes/trailing-region.d.ts.map +1 -1
  829. package/out/recipes/trailing-region.js +56 -81
  830. package/out/recipes/trailing-region.js.map +1 -1
  831. package/out/recipes/unit/sources.d.ts +28 -0
  832. package/out/recipes/unit/sources.d.ts.map +1 -0
  833. package/out/recipes/unit/sources.js +30 -0
  834. package/out/recipes/unit/sources.js.map +1 -0
  835. package/out/recipes/unit.d.ts +30 -17
  836. package/out/recipes/unit.d.ts.map +1 -1
  837. package/out/recipes/unit.js +90 -79
  838. package/out/recipes/unit.js.map +1 -1
  839. package/out/recipes.d.ts +26 -0
  840. package/out/recipes.d.ts.map +1 -0
  841. package/out/recipes.js +100 -0
  842. package/out/recipes.js.map +1 -0
  843. package/out/registers.d.ts +277 -0
  844. package/out/registers.d.ts.map +1 -0
  845. package/out/registers.js +273 -0
  846. package/out/registers.js.map +1 -0
  847. package/out/ro/adapters/retea-scolara/adapter.d.ts +114 -0
  848. package/out/ro/adapters/retea-scolara/adapter.d.ts.map +1 -0
  849. package/out/ro/adapters/retea-scolara/adapter.js +209 -0
  850. package/out/ro/adapters/retea-scolara/adapter.js.map +1 -0
  851. package/out/ro/tools/fetch/retea-scolara.d.ts +69 -0
  852. package/out/ro/tools/fetch/retea-scolara.d.ts.map +1 -0
  853. package/out/ro/tools/fetch/retea-scolara.js +117 -0
  854. package/out/ro/tools/fetch/retea-scolara.js.map +1 -0
  855. package/out/runner.d.ts +120 -60
  856. package/out/runner.d.ts.map +1 -1
  857. package/out/runner.js +130 -56
  858. package/out/runner.js.map +1 -1
  859. package/out/sg/recipes/register.d.ts +55 -0
  860. package/out/sg/recipes/register.d.ts.map +1 -0
  861. package/out/sg/recipes/register.js +206 -0
  862. package/out/sg/recipes/register.js.map +1 -0
  863. package/out/sg/tools/fetch/acra.d.ts +20 -0
  864. package/out/sg/tools/fetch/acra.d.ts.map +1 -0
  865. package/out/sg/tools/fetch/acra.js +123 -0
  866. package/out/sg/tools/fetch/acra.js.map +1 -0
  867. package/out/si/recipes/bare-village.d.ts +31 -0
  868. package/out/si/recipes/bare-village.d.ts.map +1 -0
  869. package/out/si/recipes/bare-village.js +103 -0
  870. package/out/si/recipes/bare-village.js.map +1 -0
  871. package/out/sk/adapters/inspire/adapter.d.ts +119 -0
  872. package/out/sk/adapters/inspire/adapter.d.ts.map +1 -0
  873. package/out/sk/adapters/inspire/adapter.js +318 -0
  874. package/out/sk/adapters/inspire/adapter.js.map +1 -0
  875. package/out/sk/tools/fetch/inspire.d.ts +195 -0
  876. package/out/sk/tools/fetch/inspire.d.ts.map +1 -0
  877. package/out/sk/tools/fetch/inspire.js +280 -0
  878. package/out/sk/tools/fetch/inspire.js.map +1 -0
  879. package/out/source-register/effective-manifest.d.ts +355 -0
  880. package/out/source-register/effective-manifest.d.ts.map +1 -0
  881. package/out/source-register/effective-manifest.js +355 -0
  882. package/out/source-register/effective-manifest.js.map +1 -0
  883. package/out/source-register/register.d.ts +79 -0
  884. package/out/source-register/register.d.ts.map +1 -0
  885. package/out/source-register/register.js +400 -0
  886. package/out/source-register/register.js.map +1 -0
  887. package/out/source-register/training-manifest.d.ts +111 -0
  888. package/out/source-register/training-manifest.d.ts.map +1 -0
  889. package/out/source-register/training-manifest.js +120 -0
  890. package/out/source-register/training-manifest.js.map +1 -0
  891. package/out/source-register/types.d.ts +539 -0
  892. package/out/source-register/types.d.ts.map +1 -0
  893. package/out/source-register/types.js +263 -0
  894. package/out/source-register/types.js.map +1 -0
  895. package/out/source-register.d.ts +19 -0
  896. package/out/source-register.d.ts.map +1 -0
  897. package/out/source-register.js +16 -0
  898. package/out/source-register.js.map +1 -0
  899. package/out/south-asia/recipes/register.d.ts +54 -0
  900. package/out/south-asia/recipes/register.d.ts.map +1 -0
  901. package/out/south-asia/recipes/register.js +174 -0
  902. package/out/south-asia/recipes/register.js.map +1 -0
  903. package/out/subvenue/harvest.d.ts +117 -0
  904. package/out/subvenue/harvest.d.ts.map +1 -0
  905. package/out/subvenue/harvest.js +172 -0
  906. package/out/subvenue/harvest.js.map +1 -0
  907. package/out/subvenue/promotions.d.ts +65 -0
  908. package/out/subvenue/promotions.d.ts.map +1 -0
  909. package/out/subvenue/promotions.js +226 -0
  910. package/out/subvenue/promotions.js.map +1 -0
  911. package/out/subvenue/surfaces.d.ts +39 -0
  912. package/out/subvenue/surfaces.d.ts.map +1 -0
  913. package/out/subvenue/surfaces.js +75 -0
  914. package/out/subvenue/surfaces.js.map +1 -0
  915. package/out/subvenue/table.d.ts +212 -0
  916. package/out/subvenue/table.d.ts.map +1 -0
  917. package/out/subvenue/table.js +94 -0
  918. package/out/subvenue/table.js.map +1 -0
  919. package/out/surfaces/locale.d.ts +113 -0
  920. package/out/surfaces/locale.d.ts.map +1 -0
  921. package/out/surfaces/locale.js +136 -0
  922. package/out/surfaces/locale.js.map +1 -0
  923. package/out/synthesizers/anchor-absorption.d.ts +22 -31
  924. package/out/synthesizers/anchor-absorption.d.ts.map +1 -1
  925. package/out/synthesizers/anchor-absorption.js +30 -85
  926. package/out/synthesizers/anchor-absorption.js.map +1 -1
  927. package/out/synthesizers/boundary-stress.d.ts +17 -48
  928. package/out/synthesizers/boundary-stress.d.ts.map +1 -1
  929. package/out/synthesizers/boundary-stress.js +27 -121
  930. package/out/synthesizers/boundary-stress.js.map +1 -1
  931. package/out/synthesizers/house-venue.d.ts +22 -25
  932. package/out/synthesizers/house-venue.d.ts.map +1 -1
  933. package/out/synthesizers/house-venue.js +28 -97
  934. package/out/synthesizers/house-venue.js.map +1 -1
  935. package/out/synthesizers/intersection.d.ts +10 -8
  936. package/out/synthesizers/intersection.d.ts.map +1 -1
  937. package/out/synthesizers/intersection.js +33 -26
  938. package/out/synthesizers/intersection.js.map +1 -1
  939. package/out/synthesizers/no-street.d.ts +7 -37
  940. package/out/synthesizers/no-street.d.ts.map +1 -1
  941. package/out/synthesizers/no-street.js +55 -111
  942. package/out/synthesizers/no-street.js.map +1 -1
  943. package/out/synthesizers/po-box.d.ts +46 -45
  944. package/out/synthesizers/po-box.d.ts.map +1 -1
  945. package/out/synthesizers/po-box.js +57 -97
  946. package/out/synthesizers/po-box.js.map +1 -1
  947. package/out/synthesizers/street.d.ts +18 -12
  948. package/out/synthesizers/street.d.ts.map +1 -1
  949. package/out/synthesizers/street.js +37 -30
  950. package/out/synthesizers/street.js.map +1 -1
  951. package/out/synthesizers/utils.d.ts +32 -129
  952. package/out/synthesizers/utils.d.ts.map +1 -1
  953. package/out/synthesizers/utils.js +54 -166
  954. package/out/synthesizers/utils.js.map +1 -1
  955. package/out/test-kit/corpus-recipe.d.ts +29 -23
  956. package/out/test-kit/corpus-recipe.d.ts.map +1 -1
  957. package/out/test-kit/corpus-recipe.js +28 -13
  958. package/out/test-kit/corpus-recipe.js.map +1 -1
  959. package/out/test-kit.d.ts +63 -0
  960. package/out/test-kit.d.ts.map +1 -0
  961. package/out/test-kit.js +88 -0
  962. package/out/test-kit.js.map +1 -0
  963. package/out/tools/align-canonical.d.ts +7 -0
  964. package/out/tools/align-canonical.d.ts.map +1 -0
  965. package/out/tools/align-canonical.js +52 -0
  966. package/out/tools/align-canonical.js.map +1 -0
  967. package/out/tools/audit.d.ts +18 -11
  968. package/out/tools/audit.d.ts.map +1 -1
  969. package/out/tools/audit.js +87 -95
  970. package/out/tools/audit.js.map +1 -1
  971. package/out/tools/corpus-stats.d.ts +24 -15
  972. package/out/tools/corpus-stats.d.ts.map +1 -1
  973. package/out/tools/corpus-stats.js +35 -31
  974. package/out/tools/corpus-stats.js.map +1 -1
  975. package/out/tools/fetch/atom.d.ts +115 -0
  976. package/out/tools/fetch/atom.d.ts.map +1 -0
  977. package/out/tools/fetch/atom.js +84 -0
  978. package/out/tools/fetch/atom.js.map +1 -0
  979. package/out/tools/fetch/cordis.d.ts +123 -0
  980. package/out/tools/fetch/cordis.d.ts.map +1 -0
  981. package/out/tools/fetch/cordis.js +208 -0
  982. package/out/tools/fetch/cordis.js.map +1 -0
  983. package/out/tools/fetch/download/manifest.d.ts +56 -0
  984. package/out/tools/fetch/download/manifest.d.ts.map +1 -0
  985. package/out/tools/fetch/download/manifest.js +81 -0
  986. package/out/tools/fetch/download/manifest.js.map +1 -0
  987. package/out/tools/fetch/download/network.d.ts +126 -0
  988. package/out/tools/fetch/download/network.d.ts.map +1 -0
  989. package/out/tools/fetch/download/network.js +140 -0
  990. package/out/tools/fetch/download/network.js.map +1 -0
  991. package/out/tools/fetch/download/retry.d.ts +46 -0
  992. package/out/tools/fetch/download/retry.d.ts.map +1 -0
  993. package/out/tools/fetch/download/retry.js +136 -0
  994. package/out/tools/fetch/download/retry.js.map +1 -0
  995. package/out/tools/fetch/download.d.ts +4 -176
  996. package/out/tools/fetch/download.d.ts.map +1 -1
  997. package/out/tools/fetch/download.js +4 -312
  998. package/out/tools/fetch/download.js.map +1 -1
  999. package/out/tools/fetch/geonames/dump.d.ts +109 -0
  1000. package/out/tools/fetch/geonames/dump.d.ts.map +1 -0
  1001. package/out/tools/fetch/geonames/dump.js +181 -0
  1002. package/out/tools/fetch/geonames/dump.js.map +1 -0
  1003. package/out/tools/fetch/geonames/postal.d.ts +41 -0
  1004. package/out/tools/fetch/geonames/postal.d.ts.map +1 -0
  1005. package/out/tools/fetch/geonames/postal.js +87 -0
  1006. package/out/tools/fetch/geonames/postal.js.map +1 -0
  1007. package/out/tools/fetch/gleif.d.ts +137 -0
  1008. package/out/tools/fetch/gleif.d.ts.map +1 -0
  1009. package/out/tools/fetch/gleif.js +220 -0
  1010. package/out/tools/fetch/gleif.js.map +1 -0
  1011. package/out/tools/fetch/header.d.ts +41 -0
  1012. package/out/tools/fetch/header.d.ts.map +1 -0
  1013. package/out/tools/fetch/header.js +59 -0
  1014. package/out/tools/fetch/header.js.map +1 -0
  1015. package/out/tools/fetch/inspire-addresses.d.ts +249 -0
  1016. package/out/tools/fetch/inspire-addresses.d.ts.map +1 -0
  1017. package/out/tools/fetch/inspire-addresses.js +276 -0
  1018. package/out/tools/fetch/inspire-addresses.js.map +1 -0
  1019. package/out/tools/fetch/openaddresses.d.ts +0 -3
  1020. package/out/tools/fetch/openaddresses.d.ts.map +1 -1
  1021. package/out/tools/fetch/openaddresses.js +18 -97
  1022. package/out/tools/fetch/openaddresses.js.map +1 -1
  1023. package/out/tools/fetch/ourairports.d.ts +5 -32
  1024. package/out/tools/fetch/ourairports.d.ts.map +1 -1
  1025. package/out/tools/fetch/ourairports.js +13 -46
  1026. package/out/tools/fetch/ourairports.js.map +1 -1
  1027. package/out/tools/fetch/ppd.d.ts +4 -3
  1028. package/out/tools/fetch/ppd.d.ts.map +1 -1
  1029. package/out/tools/fetch/ppd.js +10 -9
  1030. package/out/tools/fetch/ppd.js.map +1 -1
  1031. package/out/tools/fetch/vlaanderen-ad.d.ts +131 -0
  1032. package/out/tools/fetch/vlaanderen-ad.d.ts.map +1 -0
  1033. package/out/tools/fetch/vlaanderen-ad.js +293 -0
  1034. package/out/tools/fetch/vlaanderen-ad.js.map +1 -0
  1035. package/out/tools/fetch/wfs-harvest.d.ts +410 -0
  1036. package/out/tools/fetch/wfs-harvest.d.ts.map +1 -0
  1037. package/out/tools/fetch/wfs-harvest.js +522 -0
  1038. package/out/tools/fetch/wfs-harvest.js.map +1 -0
  1039. package/out/tools/fetch/wikidata-subvenue.d.ts +31 -99
  1040. package/out/tools/fetch/wikidata-subvenue.d.ts.map +1 -1
  1041. package/out/tools/fetch/wikidata-subvenue.js +26 -121
  1042. package/out/tools/fetch/wikidata-subvenue.js.map +1 -1
  1043. package/out/tools/fetch/zip-archive.d.ts +54 -0
  1044. package/out/tools/fetch/zip-archive.d.ts.map +1 -0
  1045. package/out/tools/fetch/zip-archive.js +58 -0
  1046. package/out/tools/fetch/zip-archive.js.map +1 -0
  1047. package/out/tools/fetch.d.ts +140 -0
  1048. package/out/tools/fetch.d.ts.map +1 -0
  1049. package/out/tools/fetch.js +136 -0
  1050. package/out/tools/fetch.js.map +1 -0
  1051. package/out/tools/golden/expand.d.ts +105 -0
  1052. package/out/tools/golden/expand.d.ts.map +1 -0
  1053. package/out/tools/golden/expand.js +420 -0
  1054. package/out/tools/golden/expand.js.map +1 -0
  1055. package/out/tools/golden/promote.d.ts +77 -0
  1056. package/out/tools/golden/promote.d.ts.map +1 -0
  1057. package/out/tools/golden/promote.js +248 -0
  1058. package/out/tools/golden/promote.js.map +1 -0
  1059. package/out/tools/golden/relabel-street/directory.d.ts +98 -0
  1060. package/out/tools/golden/relabel-street/directory.d.ts.map +1 -0
  1061. package/out/tools/golden/relabel-street/directory.js +227 -0
  1062. package/out/tools/golden/relabel-street/directory.js.map +1 -0
  1063. package/out/tools/golden/relabel-street/row.d.ts +69 -0
  1064. package/out/tools/golden/relabel-street/row.d.ts.map +1 -0
  1065. package/out/tools/golden/relabel-street/row.js +174 -0
  1066. package/out/tools/golden/relabel-street/row.js.map +1 -0
  1067. package/out/tools/golden/relabel-street.d.ts +9 -0
  1068. package/out/tools/golden/relabel-street.d.ts.map +1 -0
  1069. package/out/tools/golden/relabel-street.js +9 -0
  1070. package/out/tools/golden/relabel-street.js.map +1 -0
  1071. package/out/tools/ingest-csv.d.ts +19 -15
  1072. package/out/tools/ingest-csv.d.ts.map +1 -1
  1073. package/out/tools/ingest-csv.js +39 -45
  1074. package/out/tools/ingest-csv.js.map +1 -1
  1075. package/out/tools/jsonl-to-parquet.d.ts +15 -28
  1076. package/out/tools/jsonl-to-parquet.d.ts.map +1 -1
  1077. package/out/tools/jsonl-to-parquet.js +49 -91
  1078. package/out/tools/jsonl-to-parquet.js.map +1 -1
  1079. package/out/tools/lint/recipe-output/vocab.d.ts +77 -0
  1080. package/out/tools/lint/recipe-output/vocab.d.ts.map +1 -0
  1081. package/out/tools/lint/recipe-output/vocab.js +239 -0
  1082. package/out/tools/lint/recipe-output/vocab.js.map +1 -0
  1083. package/out/tools/lint/recipe-output.d.ts +73 -0
  1084. package/out/tools/lint/recipe-output.d.ts.map +1 -0
  1085. package/out/tools/lint/recipe-output.js +302 -0
  1086. package/out/tools/lint/recipe-output.js.map +1 -0
  1087. package/out/tools/migrate/overlay-parquet.d.ts +30 -0
  1088. package/out/tools/migrate/overlay-parquet.d.ts.map +1 -0
  1089. package/out/tools/migrate/overlay-parquet.js +141 -0
  1090. package/out/tools/migrate/overlay-parquet.js.map +1 -0
  1091. package/out/tools/migrate/recipe-output.d.ts +35 -0
  1092. package/out/tools/migrate/recipe-output.d.ts.map +1 -0
  1093. package/out/tools/migrate/recipe-output.js +124 -0
  1094. package/out/tools/migrate/recipe-output.js.map +1 -0
  1095. package/out/tools/migrate/source-names.d.ts +52 -0
  1096. package/out/tools/migrate/source-names.d.ts.map +1 -0
  1097. package/out/tools/migrate/source-names.js +105 -0
  1098. package/out/tools/migrate/source-names.js.map +1 -0
  1099. package/out/tools/overlay/kryptonite.d.ts +33 -0
  1100. package/out/tools/overlay/kryptonite.d.ts.map +1 -0
  1101. package/out/tools/overlay/kryptonite.js +108 -0
  1102. package/out/tools/overlay/kryptonite.js.map +1 -0
  1103. package/out/tools/overlay/manifest.d.ts +142 -0
  1104. package/out/tools/overlay/manifest.d.ts.map +1 -0
  1105. package/out/tools/overlay/manifest.js +260 -0
  1106. package/out/tools/overlay/manifest.js.map +1 -0
  1107. package/out/tools/overlay/merge-source.d.ts +73 -0
  1108. package/out/tools/overlay/merge-source.d.ts.map +1 -0
  1109. package/out/tools/overlay/merge-source.js +63 -0
  1110. package/out/tools/overlay/merge-source.js.map +1 -0
  1111. package/out/tools/overlay/split-slice.d.ts +66 -0
  1112. package/out/tools/overlay/split-slice.d.ts.map +1 -0
  1113. package/out/tools/overlay/split-slice.js +78 -0
  1114. package/out/tools/overlay/split-slice.js.map +1 -0
  1115. package/out/tools/overlay/translit.d.ts +54 -0
  1116. package/out/tools/overlay/translit.d.ts.map +1 -0
  1117. package/out/tools/overlay/translit.js +177 -0
  1118. package/out/tools/overlay/translit.js.map +1 -0
  1119. package/out/tools/overture-subvenue.d.ts +17 -76
  1120. package/out/tools/overture-subvenue.d.ts.map +1 -1
  1121. package/out/tools/overture-subvenue.js +7 -74
  1122. package/out/tools/overture-subvenue.js.map +1 -1
  1123. package/out/tools/postcode-triples.d.ts +96 -109
  1124. package/out/tools/postcode-triples.d.ts.map +1 -1
  1125. package/out/tools/postcode-triples.js +237 -152
  1126. package/out/tools/postcode-triples.js.map +1 -1
  1127. package/out/tools/source-register/build.d.ts +145 -0
  1128. package/out/tools/source-register/build.d.ts.map +1 -0
  1129. package/out/tools/source-register/build.js +515 -0
  1130. package/out/tools/source-register/build.js.map +1 -0
  1131. package/out/tools/sub/venue/head-nouns.d.ts +21 -0
  1132. package/out/tools/sub/venue/head-nouns.d.ts.map +1 -0
  1133. package/out/tools/sub/venue/head-nouns.js +176 -0
  1134. package/out/tools/sub/venue/head-nouns.js.map +1 -0
  1135. package/out/tools/sub/venue/lexicon.d.ts +129 -0
  1136. package/out/tools/sub/venue/lexicon.d.ts.map +1 -0
  1137. package/out/tools/sub/venue/lexicon.js +239 -0
  1138. package/out/tools/sub/venue/lexicon.js.map +1 -0
  1139. package/out/tools/sub/venue/wikidata.d.ts +28 -0
  1140. package/out/tools/sub/venue/wikidata.d.ts.map +1 -0
  1141. package/out/tools/sub/venue/wikidata.js +65 -0
  1142. package/out/tools/sub/venue/wikidata.js.map +1 -0
  1143. package/out/tools.d.ts +31 -0
  1144. package/out/tools.d.ts.map +1 -0
  1145. package/out/tools.js +31 -0
  1146. package/out/tools.js.map +1 -0
  1147. package/out/tw/tools/fetch/gcis.d.ts +29 -0
  1148. package/out/tw/tools/fetch/gcis.d.ts.map +1 -0
  1149. package/out/tw/tools/fetch/gcis.js +141 -0
  1150. package/out/tw/tools/fetch/gcis.js.map +1 -0
  1151. package/out/types.d.ts +270 -101
  1152. package/out/types.d.ts.map +1 -1
  1153. package/out/types.js +133 -9
  1154. package/out/types.js.map +1 -1
  1155. package/out/us/adapters/fcc-bdc/adapter.d.ts +50 -0
  1156. package/out/us/adapters/fcc-bdc/adapter.d.ts.map +1 -0
  1157. package/out/us/adapters/fcc-bdc/adapter.js +129 -0
  1158. package/out/us/adapters/fcc-bdc/adapter.js.map +1 -0
  1159. package/out/us/adapters/state/hi-schools/adapter.d.ts +47 -0
  1160. package/out/us/adapters/state/hi-schools/adapter.d.ts.map +1 -0
  1161. package/out/us/adapters/state/hi-schools/adapter.js +146 -0
  1162. package/out/us/adapters/state/hi-schools/adapter.js.map +1 -0
  1163. package/out/us/adapters/state/hi-schools/workbook.d.ts +34 -0
  1164. package/out/us/adapters/state/hi-schools/workbook.d.ts.map +1 -0
  1165. package/out/us/adapters/state/hi-schools/workbook.js +22 -0
  1166. package/out/us/adapters/state/hi-schools/workbook.js.map +1 -0
  1167. package/out/us/adapters/state/ia-contractors/adapter.d.ts +41 -0
  1168. package/out/us/adapters/state/ia-contractors/adapter.d.ts.map +1 -0
  1169. package/out/us/adapters/state/ia-contractors/adapter.js +117 -0
  1170. package/out/us/adapters/state/ia-contractors/adapter.js.map +1 -0
  1171. package/out/us/adapters/state/ny-notaries/adapter.d.ts +33 -0
  1172. package/out/us/adapters/state/ny-notaries/adapter.d.ts.map +1 -0
  1173. package/out/us/adapters/state/ny-notaries/adapter.js +114 -0
  1174. package/out/us/adapters/state/ny-notaries/adapter.js.map +1 -0
  1175. package/out/us/adapters/state/tx-notaries/adapter.d.ts +34 -0
  1176. package/out/us/adapters/state/tx-notaries/adapter.d.ts.map +1 -0
  1177. package/out/us/adapters/state/tx-notaries/adapter.js +125 -0
  1178. package/out/us/adapters/state/tx-notaries/adapter.js.map +1 -0
  1179. package/out/us/adapters/tiger/adapter.d.ts +31 -0
  1180. package/out/us/adapters/tiger/adapter.d.ts.map +1 -0
  1181. package/out/us/adapters/tiger/adapter.js +173 -0
  1182. package/out/us/adapters/tiger/adapter.js.map +1 -0
  1183. package/out/us/adapters/tiger/street-decompose.d.ts +23 -0
  1184. package/out/us/adapters/tiger/street-decompose.d.ts.map +1 -0
  1185. package/out/us/adapters/tiger/street-decompose.js +58 -0
  1186. package/out/us/adapters/tiger/street-decompose.js.map +1 -0
  1187. package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts +62 -0
  1188. package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts.map +1 -0
  1189. package/out/us/adapters/usgov/hrsa-fqhc/adapter.js +133 -0
  1190. package/out/us/adapters/usgov/hrsa-fqhc/adapter.js.map +1 -0
  1191. package/out/us/adapters/usgov/imls-pls/adapter.d.ts +37 -0
  1192. package/out/us/adapters/usgov/imls-pls/adapter.d.ts.map +1 -0
  1193. package/out/us/adapters/usgov/imls-pls/adapter.js +113 -0
  1194. package/out/us/adapters/usgov/imls-pls/adapter.js.map +1 -0
  1195. package/out/us/adapters/usgov/irs-bmf/adapter.d.ts +38 -0
  1196. package/out/us/adapters/usgov/irs-bmf/adapter.d.ts.map +1 -0
  1197. package/out/us/adapters/usgov/irs-bmf/adapter.js +126 -0
  1198. package/out/us/adapters/usgov/irs-bmf/adapter.js.map +1 -0
  1199. package/out/us/adapters/usgov/nad/adapter.d.ts +28 -0
  1200. package/out/us/adapters/usgov/nad/adapter.d.ts.map +1 -0
  1201. package/out/us/adapters/usgov/nad/adapter.js +185 -0
  1202. package/out/us/adapters/usgov/nad/adapter.js.map +1 -0
  1203. package/out/us/adapters/usgov/nppes/adapter.d.ts +29 -0
  1204. package/out/us/adapters/usgov/nppes/adapter.d.ts.map +1 -0
  1205. package/out/us/adapters/usgov/nppes/adapter.js +140 -0
  1206. package/out/us/adapters/usgov/nppes/adapter.js.map +1 -0
  1207. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts +47 -0
  1208. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts.map +1 -0
  1209. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js +153 -0
  1210. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js.map +1 -0
  1211. package/out/us/fips-state.d.ts +50 -0
  1212. package/out/us/fips-state.d.ts.map +1 -0
  1213. package/out/us/fips-state.js +109 -0
  1214. package/out/us/fips-state.js.map +1 -0
  1215. package/out/us/tools/fetch/hrsa.d.ts +18 -0
  1216. package/out/us/tools/fetch/hrsa.d.ts.map +1 -0
  1217. package/out/us/tools/fetch/hrsa.js +45 -0
  1218. package/out/us/tools/fetch/hrsa.js.map +1 -0
  1219. package/out/us/tools/fetch/imls-pls.d.ts +14 -0
  1220. package/out/us/tools/fetch/imls-pls.d.ts.map +1 -0
  1221. package/out/us/tools/fetch/imls-pls.js +91 -0
  1222. package/out/us/tools/fetch/imls-pls.js.map +1 -0
  1223. package/out/us/tools/fetch/nad.d.ts +82 -0
  1224. package/out/us/tools/fetch/nad.d.ts.map +1 -0
  1225. package/out/us/tools/fetch/nad.js +239 -0
  1226. package/out/us/tools/fetch/nad.js.map +1 -0
  1227. package/out/us/tools/fetch/nppes.d.ts +16 -0
  1228. package/out/us/tools/fetch/nppes.d.ts.map +1 -0
  1229. package/out/us/tools/fetch/nppes.js +114 -0
  1230. package/out/us/tools/fetch/nppes.js.map +1 -0
  1231. package/out/us/tools/fetch/state/hi-schools.d.ts +29 -0
  1232. package/out/us/tools/fetch/state/hi-schools.d.ts.map +1 -0
  1233. package/out/us/tools/fetch/state/hi-schools.js +114 -0
  1234. package/out/us/tools/fetch/state/hi-schools.js.map +1 -0
  1235. package/out/us/tools/fetch/state/sources.d.ts +27 -0
  1236. package/out/us/tools/fetch/state/sources.d.ts.map +1 -0
  1237. package/out/us/tools/fetch/state/sources.js +110 -0
  1238. package/out/us/tools/fetch/state/sources.js.map +1 -0
  1239. package/out/us/tools/fetch/tiger-full.d.ts +9 -0
  1240. package/out/us/tools/fetch/tiger-full.d.ts.map +1 -0
  1241. package/out/us/tools/fetch/tiger-full.js +178 -0
  1242. package/out/us/tools/fetch/tiger-full.js.map +1 -0
  1243. package/out/utils/align.d.ts +25 -20
  1244. package/out/utils/align.d.ts.map +1 -1
  1245. package/out/utils/align.js +27 -42
  1246. package/out/utils/align.js.map +1 -1
  1247. package/out/utils/cooccurrence-stats.d.ts +58 -0
  1248. package/out/utils/cooccurrence-stats.d.ts.map +1 -0
  1249. package/out/utils/cooccurrence-stats.js +62 -0
  1250. package/out/utils/cooccurrence-stats.js.map +1 -0
  1251. package/out/utils/golden.d.ts +23 -29
  1252. package/out/utils/golden.d.ts.map +1 -1
  1253. package/out/utils/golden.js +33 -45
  1254. package/out/utils/golden.js.map +1 -1
  1255. package/out/utils/license.d.ts +158 -21
  1256. package/out/utils/license.d.ts.map +1 -1
  1257. package/out/utils/license.js +156 -26
  1258. package/out/utils/license.js.map +1 -1
  1259. package/out/utils/split.d.ts +66 -70
  1260. package/out/utils/split.d.ts.map +1 -1
  1261. package/out/utils/split.js +158 -69
  1262. package/out/utils/split.js.map +1 -1
  1263. package/out/utils/tokenize.d.ts +16 -28
  1264. package/out/utils/tokenize.d.ts.map +1 -1
  1265. package/out/utils/tokenize.js +18 -31
  1266. package/out/utils/tokenize.js.map +1 -1
  1267. package/out/utils/wof-json.d.ts +88 -62
  1268. package/out/utils/wof-json.d.ts.map +1 -1
  1269. package/out/utils/wof-json.js +81 -65
  1270. package/out/utils/wof-json.js.map +1 -1
  1271. package/out/utils.d.ts +13 -0
  1272. package/out/utils.d.ts.map +1 -0
  1273. package/out/utils.js +13 -0
  1274. package/out/utils.js.map +1 -0
  1275. package/out/ve/recipes/reviewed-postcode-tail.d.ts +65 -0
  1276. package/out/ve/recipes/reviewed-postcode-tail.d.ts.map +1 -0
  1277. package/out/ve/recipes/reviewed-postcode-tail.js +146 -0
  1278. package/out/ve/recipes/reviewed-postcode-tail.js.map +1 -0
  1279. package/package.json +46 -330
  1280. package/lib/adapters/ban/adapter.ts +0 -190
  1281. package/lib/adapters/ban/street-decompose.ts +0 -66
  1282. package/lib/adapters/fcc-bdc/adapter.ts +0 -174
  1283. package/lib/adapters/geonames-postal/adapter.ts +0 -122
  1284. package/lib/adapters/gnaf/adapter.ts +0 -149
  1285. package/lib/adapters/gnaf/assemble.ts +0 -225
  1286. package/lib/adapters/index.ts +0 -153
  1287. package/lib/adapters/state-hi-schools/adapter.ts +0 -170
  1288. package/lib/adapters/state-hi-schools/workbook.ts +0 -35
  1289. package/lib/adapters/state-ia-contractors/adapter.ts +0 -144
  1290. package/lib/adapters/state-ny-notaries/adapter.ts +0 -141
  1291. package/lib/adapters/state-tx-notaries/adapter.ts +0 -157
  1292. package/lib/adapters/synth-po-box/adapter.ts +0 -204
  1293. package/lib/adapters/tiger/adapter.ts +0 -252
  1294. package/lib/adapters/tiger/street-decompose.ts +0 -83
  1295. package/lib/adapters/usgov-hrsa-fqhc/adapter.ts +0 -167
  1296. package/lib/adapters/usgov-imls-pls/adapter.ts +0 -143
  1297. package/lib/adapters/usgov-irs-bmf/adapter.ts +0 -151
  1298. package/lib/adapters/usgov-nad/adapter.ts +0 -334
  1299. package/lib/adapters/usgov-nppes/adapter.ts +0 -151
  1300. package/lib/adapters/usgov-samhsa-treatment-locator/adapter.ts +0 -193
  1301. package/lib/adapters/utils/index.ts +0 -307
  1302. package/lib/adapters/wof-admin-jp/adapter.ts +0 -214
  1303. package/lib/adapters/wof-admin-json/adapter.ts +0 -231
  1304. package/lib/adapters/wof-json-rows.ts +0 -129
  1305. package/lib/adapters/wof-postalcode-json/adapter.ts +0 -176
  1306. package/lib/codex/us-fips-state.ts +0 -113
  1307. package/lib/recipes/bare-country.ts +0 -95
  1308. package/lib/recipes/cn-organizational-units.ts +0 -199
  1309. package/lib/recipes/cz-pcfirst-preposition.ts +0 -112
  1310. package/lib/recipes/fr-admin-split.ts +0 -243
  1311. package/lib/recipes/fr-bare-street.ts +0 -171
  1312. package/lib/recipes/fr-fragment.ts +0 -334
  1313. package/lib/recipes/fr-lieudit.ts +0 -301
  1314. package/lib/recipes/fr-order.ts +0 -246
  1315. package/lib/recipes/german.ts +0 -360
  1316. package/lib/recipes/index.ts +0 -97
  1317. package/lib/recipes/locale.ts +0 -600
  1318. package/lib/recipes/nl-postcode.ts +0 -117
  1319. package/lib/recipes/no-fragment.ts +0 -213
  1320. package/lib/recipes/no-street-led.ts +0 -135
  1321. package/lib/recipes/no-street.ts +0 -91
  1322. package/lib/recipes/po-box-cedex.ts +0 -976
  1323. package/lib/recipes/po-box.ts +0 -124
  1324. package/lib/recipes/reviewed-postcode-tail.ts +0 -190
  1325. package/lib/recipes/si-bare-village.ts +0 -99
  1326. package/lib/recipes/street-affix.ts +0 -805
  1327. package/lib/recipes/street-bare.ts +0 -102
  1328. package/lib/recipes/sub-venue-sources.ts +0 -878
  1329. package/lib/recipes/sub-venue.ts +0 -998
  1330. package/lib/synthesizers/german.ts +0 -260
  1331. package/lib/test-kit/index.ts +0 -100
  1332. package/lib/tools/align-slice.ts +0 -68
  1333. package/lib/tools/fetch/acra-sg.ts +0 -174
  1334. package/lib/tools/fetch/ban.ts +0 -289
  1335. package/lib/tools/fetch/gcis-tw.ts +0 -175
  1336. package/lib/tools/fetch/geonames-dump.ts +0 -257
  1337. package/lib/tools/fetch/geonames-postal.ts +0 -180
  1338. package/lib/tools/fetch/houjin-jp.ts +0 -135
  1339. package/lib/tools/fetch/hrsa.ts +0 -59
  1340. package/lib/tools/fetch/imls-pls.ts +0 -149
  1341. package/lib/tools/fetch/index.ts +0 -174
  1342. package/lib/tools/fetch/juso-kr.ts +0 -165
  1343. package/lib/tools/fetch/localdata-kr.ts +0 -194
  1344. package/lib/tools/fetch/nad.ts +0 -341
  1345. package/lib/tools/fetch/nppes.ts +0 -165
  1346. package/lib/tools/fetch/state-hi-schools.ts +0 -161
  1347. package/lib/tools/fetch/state-sources.ts +0 -146
  1348. package/lib/tools/fetch/tiger-full.ts +0 -308
  1349. package/lib/tools/gb-title-case.ts +0 -69
  1350. package/lib/tools/golden-expand.ts +0 -574
  1351. package/lib/tools/golden-promote.ts +0 -337
  1352. package/lib/tools/golden-relabel-street.ts +0 -686
  1353. package/lib/tools/index.ts +0 -28
  1354. package/lib/tools/lint-slice-vocab.ts +0 -388
  1355. package/lib/tools/lint-slice.ts +0 -496
  1356. package/lib/tools/overlay-manifest.ts +0 -148
  1357. package/lib/tools/slice-kryptonite.ts +0 -137
  1358. package/lib/tools/slice-translit.ts +0 -218
  1359. package/lib/tools/sub-venue/harvest.ts +0 -234
  1360. package/lib/tools/sub-venue/head-nouns.ts +0 -245
  1361. package/lib/tools/sub-venue/surfaces.ts +0 -95
  1362. package/lib/tools/sub-venue/table.ts +0 -281
  1363. package/lib/tools/sub-venue/wikidata.ts +0 -85
  1364. package/lib/tools/sub-venue-lexicon.ts +0 -429
  1365. package/lib/tools/sub-venue-promotions.ts +0 -330
  1366. package/lib/utils/index.ts +0 -14
  1367. package/lib/utils/parquet.ts +0 -582
  1368. package/lib/utils/slice-stats.ts +0 -95
  1369. package/out/adapters/ban/adapter.d.ts +0 -44
  1370. package/out/adapters/ban/adapter.d.ts.map +0 -1
  1371. package/out/adapters/ban/adapter.js +0 -149
  1372. package/out/adapters/ban/adapter.js.map +0 -1
  1373. package/out/adapters/ban/street-decompose.d.ts +0 -28
  1374. package/out/adapters/ban/street-decompose.d.ts.map +0 -1
  1375. package/out/adapters/ban/street-decompose.js +0 -51
  1376. package/out/adapters/ban/street-decompose.js.map +0 -1
  1377. package/out/adapters/fcc-bdc/adapter.d.ts +0 -68
  1378. package/out/adapters/fcc-bdc/adapter.d.ts.map +0 -1
  1379. package/out/adapters/fcc-bdc/adapter.js +0 -144
  1380. package/out/adapters/fcc-bdc/adapter.js.map +0 -1
  1381. package/out/adapters/geonames-postal/adapter.d.ts +0 -54
  1382. package/out/adapters/geonames-postal/adapter.d.ts.map +0 -1
  1383. package/out/adapters/geonames-postal/adapter.js +0 -107
  1384. package/out/adapters/geonames-postal/adapter.js.map +0 -1
  1385. package/out/adapters/gnaf/adapter.d.ts +0 -49
  1386. package/out/adapters/gnaf/adapter.d.ts.map +0 -1
  1387. package/out/adapters/gnaf/adapter.js +0 -124
  1388. package/out/adapters/gnaf/adapter.js.map +0 -1
  1389. package/out/adapters/gnaf/assemble.d.ts +0 -65
  1390. package/out/adapters/gnaf/assemble.d.ts.map +0 -1
  1391. package/out/adapters/gnaf/assemble.js +0 -154
  1392. package/out/adapters/gnaf/assemble.js.map +0 -1
  1393. package/out/adapters/index.d.ts +0 -51
  1394. package/out/adapters/index.d.ts.map +0 -1
  1395. package/out/adapters/index.js +0 -95
  1396. package/out/adapters/index.js.map +0 -1
  1397. package/out/adapters/state-hi-schools/adapter.d.ts +0 -46
  1398. package/out/adapters/state-hi-schools/adapter.d.ts.map +0 -1
  1399. package/out/adapters/state-hi-schools/adapter.js +0 -145
  1400. package/out/adapters/state-hi-schools/adapter.js.map +0 -1
  1401. package/out/adapters/state-hi-schools/workbook.d.ts +0 -29
  1402. package/out/adapters/state-hi-schools/workbook.d.ts.map +0 -1
  1403. package/out/adapters/state-hi-schools/workbook.js +0 -20
  1404. package/out/adapters/state-hi-schools/workbook.js.map +0 -1
  1405. package/out/adapters/state-ia-contractors/adapter.d.ts +0 -34
  1406. package/out/adapters/state-ia-contractors/adapter.d.ts.map +0 -1
  1407. package/out/adapters/state-ia-contractors/adapter.js +0 -111
  1408. package/out/adapters/state-ia-contractors/adapter.js.map +0 -1
  1409. package/out/adapters/state-ny-notaries/adapter.d.ts +0 -32
  1410. package/out/adapters/state-ny-notaries/adapter.d.ts.map +0 -1
  1411. package/out/adapters/state-ny-notaries/adapter.js +0 -119
  1412. package/out/adapters/state-ny-notaries/adapter.js.map +0 -1
  1413. package/out/adapters/state-tx-notaries/adapter.d.ts +0 -33
  1414. package/out/adapters/state-tx-notaries/adapter.d.ts.map +0 -1
  1415. package/out/adapters/state-tx-notaries/adapter.js +0 -125
  1416. package/out/adapters/state-tx-notaries/adapter.js.map +0 -1
  1417. package/out/adapters/synth-po-box/adapter.d.ts +0 -67
  1418. package/out/adapters/synth-po-box/adapter.d.ts.map +0 -1
  1419. package/out/adapters/synth-po-box/adapter.js +0 -140
  1420. package/out/adapters/synth-po-box/adapter.js.map +0 -1
  1421. package/out/adapters/tiger/adapter.d.ts +0 -55
  1422. package/out/adapters/tiger/adapter.d.ts.map +0 -1
  1423. package/out/adapters/tiger/adapter.js +0 -201
  1424. package/out/adapters/tiger/adapter.js.map +0 -1
  1425. package/out/adapters/tiger/street-decompose.d.ts +0 -30
  1426. package/out/adapters/tiger/street-decompose.d.ts.map +0 -1
  1427. package/out/adapters/tiger/street-decompose.js +0 -68
  1428. package/out/adapters/tiger/street-decompose.js.map +0 -1
  1429. package/out/adapters/usgov-hrsa-fqhc/adapter.d.ts +0 -56
  1430. package/out/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +0 -1
  1431. package/out/adapters/usgov-hrsa-fqhc/adapter.js +0 -132
  1432. package/out/adapters/usgov-hrsa-fqhc/adapter.js.map +0 -1
  1433. package/out/adapters/usgov-imls-pls/adapter.d.ts +0 -36
  1434. package/out/adapters/usgov-imls-pls/adapter.d.ts.map +0 -1
  1435. package/out/adapters/usgov-imls-pls/adapter.js +0 -114
  1436. package/out/adapters/usgov-imls-pls/adapter.js.map +0 -1
  1437. package/out/adapters/usgov-irs-bmf/adapter.d.ts +0 -37
  1438. package/out/adapters/usgov-irs-bmf/adapter.d.ts.map +0 -1
  1439. package/out/adapters/usgov-irs-bmf/adapter.js +0 -120
  1440. package/out/adapters/usgov-irs-bmf/adapter.js.map +0 -1
  1441. package/out/adapters/usgov-nad/adapter.d.ts +0 -48
  1442. package/out/adapters/usgov-nad/adapter.d.ts.map +0 -1
  1443. package/out/adapters/usgov-nad/adapter.js +0 -249
  1444. package/out/adapters/usgov-nad/adapter.js.map +0 -1
  1445. package/out/adapters/usgov-nppes/adapter.d.ts +0 -39
  1446. package/out/adapters/usgov-nppes/adapter.d.ts.map +0 -1
  1447. package/out/adapters/usgov-nppes/adapter.js +0 -118
  1448. package/out/adapters/usgov-nppes/adapter.js.map +0 -1
  1449. package/out/adapters/usgov-samhsa-treatment-locator/adapter.d.ts +0 -46
  1450. package/out/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +0 -1
  1451. package/out/adapters/usgov-samhsa-treatment-locator/adapter.js +0 -154
  1452. package/out/adapters/usgov-samhsa-treatment-locator/adapter.js.map +0 -1
  1453. package/out/adapters/utils/index.d.ts +0 -191
  1454. package/out/adapters/utils/index.d.ts.map +0 -1
  1455. package/out/adapters/utils/index.js +0 -206
  1456. package/out/adapters/utils/index.js.map +0 -1
  1457. package/out/adapters/wof-admin-jp/adapter.d.ts +0 -65
  1458. package/out/adapters/wof-admin-jp/adapter.d.ts.map +0 -1
  1459. package/out/adapters/wof-admin-jp/adapter.js +0 -161
  1460. package/out/adapters/wof-admin-jp/adapter.js.map +0 -1
  1461. package/out/adapters/wof-admin-json/adapter.d.ts +0 -79
  1462. package/out/adapters/wof-admin-json/adapter.d.ts.map +0 -1
  1463. package/out/adapters/wof-admin-json/adapter.js +0 -197
  1464. package/out/adapters/wof-admin-json/adapter.js.map +0 -1
  1465. package/out/adapters/wof-json-rows.d.ts +0 -62
  1466. package/out/adapters/wof-json-rows.d.ts.map +0 -1
  1467. package/out/adapters/wof-json-rows.js +0 -83
  1468. package/out/adapters/wof-json-rows.js.map +0 -1
  1469. package/out/adapters/wof-postalcode-json/adapter.d.ts +0 -65
  1470. package/out/adapters/wof-postalcode-json/adapter.d.ts.map +0 -1
  1471. package/out/adapters/wof-postalcode-json/adapter.js +0 -151
  1472. package/out/adapters/wof-postalcode-json/adapter.js.map +0 -1
  1473. package/out/codex/us-fips-state.d.ts +0 -41
  1474. package/out/codex/us-fips-state.d.ts.map +0 -1
  1475. package/out/codex/us-fips-state.js +0 -100
  1476. package/out/codex/us-fips-state.js.map +0 -1
  1477. package/out/recipes/bare-country.d.ts +0 -25
  1478. package/out/recipes/bare-country.d.ts.map +0 -1
  1479. package/out/recipes/bare-country.js +0 -88
  1480. package/out/recipes/bare-country.js.map +0 -1
  1481. package/out/recipes/cn-organizational-units.d.ts +0 -36
  1482. package/out/recipes/cn-organizational-units.d.ts.map +0 -1
  1483. package/out/recipes/cn-organizational-units.js +0 -159
  1484. package/out/recipes/cn-organizational-units.js.map +0 -1
  1485. package/out/recipes/cz-pcfirst-preposition.d.ts +0 -22
  1486. package/out/recipes/cz-pcfirst-preposition.d.ts.map +0 -1
  1487. package/out/recipes/cz-pcfirst-preposition.js +0 -101
  1488. package/out/recipes/cz-pcfirst-preposition.js.map +0 -1
  1489. package/out/recipes/fr-admin-split.d.ts +0 -38
  1490. package/out/recipes/fr-admin-split.d.ts.map +0 -1
  1491. package/out/recipes/fr-admin-split.js +0 -192
  1492. package/out/recipes/fr-admin-split.js.map +0 -1
  1493. package/out/recipes/fr-bare-street.d.ts +0 -28
  1494. package/out/recipes/fr-bare-street.d.ts.map +0 -1
  1495. package/out/recipes/fr-bare-street.js +0 -144
  1496. package/out/recipes/fr-bare-street.js.map +0 -1
  1497. package/out/recipes/fr-fragment.d.ts +0 -77
  1498. package/out/recipes/fr-fragment.d.ts.map +0 -1
  1499. package/out/recipes/fr-fragment.js +0 -277
  1500. package/out/recipes/fr-fragment.js.map +0 -1
  1501. package/out/recipes/fr-lieudit.d.ts +0 -32
  1502. package/out/recipes/fr-lieudit.d.ts.map +0 -1
  1503. package/out/recipes/fr-lieudit.js +0 -227
  1504. package/out/recipes/fr-lieudit.js.map +0 -1
  1505. package/out/recipes/fr-order.d.ts +0 -38
  1506. package/out/recipes/fr-order.d.ts.map +0 -1
  1507. package/out/recipes/fr-order.js +0 -198
  1508. package/out/recipes/fr-order.js.map +0 -1
  1509. package/out/recipes/german.d.ts +0 -44
  1510. package/out/recipes/german.d.ts.map +0 -1
  1511. package/out/recipes/german.js +0 -289
  1512. package/out/recipes/german.js.map +0 -1
  1513. package/out/recipes/index.d.ts +0 -24
  1514. package/out/recipes/index.d.ts.map +0 -1
  1515. package/out/recipes/index.js +0 -91
  1516. package/out/recipes/index.js.map +0 -1
  1517. package/out/recipes/locale.d.ts +0 -136
  1518. package/out/recipes/locale.d.ts.map +0 -1
  1519. package/out/recipes/locale.js +0 -460
  1520. package/out/recipes/locale.js.map +0 -1
  1521. package/out/recipes/nl-postcode.d.ts +0 -26
  1522. package/out/recipes/nl-postcode.d.ts.map +0 -1
  1523. package/out/recipes/nl-postcode.js +0 -103
  1524. package/out/recipes/nl-postcode.js.map +0 -1
  1525. package/out/recipes/no-fragment.d.ts +0 -43
  1526. package/out/recipes/no-fragment.d.ts.map +0 -1
  1527. package/out/recipes/no-fragment.js +0 -183
  1528. package/out/recipes/no-fragment.js.map +0 -1
  1529. package/out/recipes/no-street-led.d.ts +0 -24
  1530. package/out/recipes/no-street-led.d.ts.map +0 -1
  1531. package/out/recipes/no-street-led.js +0 -114
  1532. package/out/recipes/no-street-led.js.map +0 -1
  1533. package/out/recipes/no-street.d.ts +0 -18
  1534. package/out/recipes/no-street.d.ts.map +0 -1
  1535. package/out/recipes/no-street.js +0 -72
  1536. package/out/recipes/no-street.js.map +0 -1
  1537. package/out/recipes/po-box-cedex.d.ts +0 -38
  1538. package/out/recipes/po-box-cedex.d.ts.map +0 -1
  1539. package/out/recipes/po-box-cedex.js +0 -768
  1540. package/out/recipes/po-box-cedex.js.map +0 -1
  1541. package/out/recipes/po-box.d.ts +0 -17
  1542. package/out/recipes/po-box.d.ts.map +0 -1
  1543. package/out/recipes/po-box.js +0 -101
  1544. package/out/recipes/po-box.js.map +0 -1
  1545. package/out/recipes/reviewed-postcode-tail.d.ts +0 -47
  1546. package/out/recipes/reviewed-postcode-tail.d.ts.map +0 -1
  1547. package/out/recipes/reviewed-postcode-tail.js +0 -125
  1548. package/out/recipes/reviewed-postcode-tail.js.map +0 -1
  1549. package/out/recipes/si-bare-village.d.ts +0 -32
  1550. package/out/recipes/si-bare-village.d.ts.map +0 -1
  1551. package/out/recipes/si-bare-village.js +0 -89
  1552. package/out/recipes/si-bare-village.js.map +0 -1
  1553. package/out/recipes/street-affix.d.ts +0 -89
  1554. package/out/recipes/street-affix.d.ts.map +0 -1
  1555. package/out/recipes/street-affix.js +0 -563
  1556. package/out/recipes/street-affix.js.map +0 -1
  1557. package/out/recipes/street-bare.d.ts +0 -25
  1558. package/out/recipes/street-bare.d.ts.map +0 -1
  1559. package/out/recipes/street-bare.js +0 -87
  1560. package/out/recipes/street-bare.js.map +0 -1
  1561. package/out/recipes/sub-venue-sources.d.ts +0 -229
  1562. package/out/recipes/sub-venue-sources.d.ts.map +0 -1
  1563. package/out/recipes/sub-venue-sources.js +0 -654
  1564. package/out/recipes/sub-venue-sources.js.map +0 -1
  1565. package/out/recipes/sub-venue.d.ts +0 -269
  1566. package/out/recipes/sub-venue.d.ts.map +0 -1
  1567. package/out/recipes/sub-venue.js +0 -726
  1568. package/out/recipes/sub-venue.js.map +0 -1
  1569. package/out/synthesizers/german.d.ts +0 -115
  1570. package/out/synthesizers/german.d.ts.map +0 -1
  1571. package/out/synthesizers/german.js +0 -149
  1572. package/out/synthesizers/german.js.map +0 -1
  1573. package/out/test-kit/index.d.ts +0 -48
  1574. package/out/test-kit/index.d.ts.map +0 -1
  1575. package/out/test-kit/index.js +0 -78
  1576. package/out/test-kit/index.js.map +0 -1
  1577. package/out/tools/align-slice.d.ts +0 -7
  1578. package/out/tools/align-slice.d.ts.map +0 -1
  1579. package/out/tools/align-slice.js +0 -55
  1580. package/out/tools/align-slice.js.map +0 -1
  1581. package/out/tools/fetch/acra-sg.d.ts +0 -23
  1582. package/out/tools/fetch/acra-sg.d.ts.map +0 -1
  1583. package/out/tools/fetch/acra-sg.js +0 -126
  1584. package/out/tools/fetch/acra-sg.js.map +0 -1
  1585. package/out/tools/fetch/ban.d.ts +0 -31
  1586. package/out/tools/fetch/ban.d.ts.map +0 -1
  1587. package/out/tools/fetch/ban.js +0 -239
  1588. package/out/tools/fetch/ban.js.map +0 -1
  1589. package/out/tools/fetch/gcis-tw.d.ts +0 -23
  1590. package/out/tools/fetch/gcis-tw.d.ts.map +0 -1
  1591. package/out/tools/fetch/gcis-tw.js +0 -135
  1592. package/out/tools/fetch/gcis-tw.js.map +0 -1
  1593. package/out/tools/fetch/geonames-dump.d.ts +0 -91
  1594. package/out/tools/fetch/geonames-dump.d.ts.map +0 -1
  1595. package/out/tools/fetch/geonames-dump.js +0 -171
  1596. package/out/tools/fetch/geonames-dump.js.map +0 -1
  1597. package/out/tools/fetch/geonames-postal.d.ts +0 -76
  1598. package/out/tools/fetch/geonames-postal.d.ts.map +0 -1
  1599. package/out/tools/fetch/geonames-postal.js +0 -126
  1600. package/out/tools/fetch/geonames-postal.js.map +0 -1
  1601. package/out/tools/fetch/houjin-jp.d.ts +0 -24
  1602. package/out/tools/fetch/houjin-jp.d.ts.map +0 -1
  1603. package/out/tools/fetch/houjin-jp.js +0 -102
  1604. package/out/tools/fetch/houjin-jp.js.map +0 -1
  1605. package/out/tools/fetch/hrsa.d.ts +0 -18
  1606. package/out/tools/fetch/hrsa.d.ts.map +0 -1
  1607. package/out/tools/fetch/hrsa.js +0 -46
  1608. package/out/tools/fetch/hrsa.js.map +0 -1
  1609. package/out/tools/fetch/imls-pls.d.ts +0 -25
  1610. package/out/tools/fetch/imls-pls.d.ts.map +0 -1
  1611. package/out/tools/fetch/imls-pls.js +0 -108
  1612. package/out/tools/fetch/imls-pls.js.map +0 -1
  1613. package/out/tools/fetch/index.d.ts +0 -171
  1614. package/out/tools/fetch/index.d.ts.map +0 -1
  1615. package/out/tools/fetch/index.js +0 -170
  1616. package/out/tools/fetch/index.js.map +0 -1
  1617. package/out/tools/fetch/juso-kr.d.ts +0 -30
  1618. package/out/tools/fetch/juso-kr.d.ts.map +0 -1
  1619. package/out/tools/fetch/juso-kr.js +0 -120
  1620. package/out/tools/fetch/juso-kr.js.map +0 -1
  1621. package/out/tools/fetch/localdata-kr.d.ts +0 -30
  1622. package/out/tools/fetch/localdata-kr.d.ts.map +0 -1
  1623. package/out/tools/fetch/localdata-kr.js +0 -139
  1624. package/out/tools/fetch/localdata-kr.js.map +0 -1
  1625. package/out/tools/fetch/nad.d.ts +0 -70
  1626. package/out/tools/fetch/nad.d.ts.map +0 -1
  1627. package/out/tools/fetch/nad.js +0 -234
  1628. package/out/tools/fetch/nad.js.map +0 -1
  1629. package/out/tools/fetch/nppes.d.ts +0 -26
  1630. package/out/tools/fetch/nppes.d.ts.map +0 -1
  1631. package/out/tools/fetch/nppes.js +0 -126
  1632. package/out/tools/fetch/nppes.js.map +0 -1
  1633. package/out/tools/fetch/state-hi-schools.d.ts +0 -26
  1634. package/out/tools/fetch/state-hi-schools.d.ts.map +0 -1
  1635. package/out/tools/fetch/state-hi-schools.js +0 -112
  1636. package/out/tools/fetch/state-hi-schools.js.map +0 -1
  1637. package/out/tools/fetch/state-sources.d.ts +0 -26
  1638. package/out/tools/fetch/state-sources.d.ts.map +0 -1
  1639. package/out/tools/fetch/state-sources.js +0 -111
  1640. package/out/tools/fetch/state-sources.js.map +0 -1
  1641. package/out/tools/fetch/tiger-full.d.ts +0 -22
  1642. package/out/tools/fetch/tiger-full.d.ts.map +0 -1
  1643. package/out/tools/fetch/tiger-full.js +0 -217
  1644. package/out/tools/fetch/tiger-full.js.map +0 -1
  1645. package/out/tools/gb-title-case.d.ts +0 -2
  1646. package/out/tools/gb-title-case.d.ts.map +0 -1
  1647. package/out/tools/gb-title-case.js +0 -65
  1648. package/out/tools/gb-title-case.js.map +0 -1
  1649. package/out/tools/golden-expand.d.ts +0 -90
  1650. package/out/tools/golden-expand.d.ts.map +0 -1
  1651. package/out/tools/golden-expand.js +0 -406
  1652. package/out/tools/golden-expand.js.map +0 -1
  1653. package/out/tools/golden-promote.d.ts +0 -72
  1654. package/out/tools/golden-promote.d.ts.map +0 -1
  1655. package/out/tools/golden-promote.js +0 -240
  1656. package/out/tools/golden-promote.js.map +0 -1
  1657. package/out/tools/golden-relabel-street.d.ts +0 -196
  1658. package/out/tools/golden-relabel-street.d.ts.map +0 -1
  1659. package/out/tools/golden-relabel-street.js +0 -439
  1660. package/out/tools/golden-relabel-street.js.map +0 -1
  1661. package/out/tools/index.d.ts +0 -28
  1662. package/out/tools/index.d.ts.map +0 -1
  1663. package/out/tools/index.js +0 -28
  1664. package/out/tools/index.js.map +0 -1
  1665. package/out/tools/lint-slice-vocab.d.ts +0 -90
  1666. package/out/tools/lint-slice-vocab.d.ts.map +0 -1
  1667. package/out/tools/lint-slice-vocab.js +0 -267
  1668. package/out/tools/lint-slice-vocab.js.map +0 -1
  1669. package/out/tools/lint-slice.d.ts +0 -93
  1670. package/out/tools/lint-slice.d.ts.map +0 -1
  1671. package/out/tools/lint-slice.js +0 -322
  1672. package/out/tools/lint-slice.js.map +0 -1
  1673. package/out/tools/overlay-manifest.d.ts +0 -39
  1674. package/out/tools/overlay-manifest.d.ts.map +0 -1
  1675. package/out/tools/overlay-manifest.js +0 -90
  1676. package/out/tools/overlay-manifest.js.map +0 -1
  1677. package/out/tools/slice-kryptonite.d.ts +0 -32
  1678. package/out/tools/slice-kryptonite.d.ts.map +0 -1
  1679. package/out/tools/slice-kryptonite.js +0 -99
  1680. package/out/tools/slice-kryptonite.js.map +0 -1
  1681. package/out/tools/slice-translit.d.ts +0 -51
  1682. package/out/tools/slice-translit.d.ts.map +0 -1
  1683. package/out/tools/slice-translit.js +0 -166
  1684. package/out/tools/slice-translit.js.map +0 -1
  1685. package/out/tools/sub-venue/harvest.d.ts +0 -100
  1686. package/out/tools/sub-venue/harvest.d.ts.map +0 -1
  1687. package/out/tools/sub-venue/harvest.js +0 -168
  1688. package/out/tools/sub-venue/harvest.js.map +0 -1
  1689. package/out/tools/sub-venue/head-nouns.d.ts +0 -50
  1690. package/out/tools/sub-venue/head-nouns.d.ts.map +0 -1
  1691. package/out/tools/sub-venue/head-nouns.js +0 -213
  1692. package/out/tools/sub-venue/head-nouns.js.map +0 -1
  1693. package/out/tools/sub-venue/surfaces.d.ts +0 -45
  1694. package/out/tools/sub-venue/surfaces.d.ts.map +0 -1
  1695. package/out/tools/sub-venue/surfaces.js +0 -77
  1696. package/out/tools/sub-venue/surfaces.js.map +0 -1
  1697. package/out/tools/sub-venue/table.d.ts +0 -229
  1698. package/out/tools/sub-venue/table.d.ts.map +0 -1
  1699. package/out/tools/sub-venue/table.js +0 -108
  1700. package/out/tools/sub-venue/table.js.map +0 -1
  1701. package/out/tools/sub-venue/wikidata.d.ts +0 -26
  1702. package/out/tools/sub-venue/wikidata.d.ts.map +0 -1
  1703. package/out/tools/sub-venue/wikidata.js +0 -62
  1704. package/out/tools/sub-venue/wikidata.js.map +0 -1
  1705. package/out/tools/sub-venue-lexicon.d.ts +0 -156
  1706. package/out/tools/sub-venue-lexicon.d.ts.map +0 -1
  1707. package/out/tools/sub-venue-lexicon.js +0 -283
  1708. package/out/tools/sub-venue-lexicon.js.map +0 -1
  1709. package/out/tools/sub-venue-promotions.d.ts +0 -94
  1710. package/out/tools/sub-venue-promotions.d.ts.map +0 -1
  1711. package/out/tools/sub-venue-promotions.js +0 -266
  1712. package/out/tools/sub-venue-promotions.js.map +0 -1
  1713. package/out/utils/index.d.ts +0 -14
  1714. package/out/utils/index.d.ts.map +0 -1
  1715. package/out/utils/index.js +0 -14
  1716. package/out/utils/index.js.map +0 -1
  1717. package/out/utils/parquet.d.ts +0 -178
  1718. package/out/utils/parquet.d.ts.map +0 -1
  1719. package/out/utils/parquet.js +0 -371
  1720. package/out/utils/parquet.js.map +0 -1
  1721. package/out/utils/slice-stats.d.ts +0 -52
  1722. package/out/utils/slice-stats.d.ts.map +0 -1
  1723. package/out/utils/slice-stats.js +0 -58
  1724. package/out/utils/slice-stats.js.map +0 -1
@@ -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
+ * Default 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE/D,MAAM,gBAAgB,GAAG;IACxB,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,gBAAgB;IAChB,SAAS;IACT,cAAc;IACd,eAAe;CACN,CAAA;AAEV,MAAM,YAAY,GAAG,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAU,CAAA;AAEvE;;;;;;;GAOG;AACH,MAAM,YAAY,GAAsD;IACvE,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,WAAW;IACnB,WAAW,EAAE,WAAW;IACxB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,SAAS,EAAE,SAAS;IACpB,cAAc,EAAE,SAAS;IACzB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;CACxB,CAAA;AA6BD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,GAA4B,EAAE,MAAc;IACrE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;IAE1D,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAA;QAC1D,MAAM,IAAI,KAAK,CACd,QAAQ,MAAM,uDAAuD;YACpE,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,6BAA6B;YACnH,kFAAkF,CACnF,CAAA;IACF,CAAC;IAED,MAAM,CAAC,GAAI,GAAG,CAAC,WAAyB,CAAC,MAAM,CAAA;IAE/C,IAAK,GAAG,CAAC,SAAuB,CAAC,MAAM,KAAK,CAAC,IAAK,GAAG,CAAC,SAAuB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5F,MAAM,IAAI,KAAK,CACd,QAAQ,MAAM,0CAA0C;YACvD,UAAW,GAAG,CAAC,WAAyB,CAAC,MAAM,SAAU,GAAG,CAAC,SAAuB,CAAC,MAAM,GAAG;YAC9F,QAAS,GAAG,CAAC,SAAuB,CAAC,MAAM,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CACnG,CAAA;IACF,CAAC;AACF,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CACnC,OAA8B,EAC9B,MAA+B;IAE/B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,MAAM,CAAA;IAEnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,gDAAgD,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;IACjG,CAAC;IAED,gGAAgG;IAChG,kGAAkG;IAClG,mGAAmG;IACnG,mDAAmD;IACnD,YAAY,OAAO,GAAG,MAAM,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;IACtE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;IACnD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA;IAE3E,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,IAAI,MAAM,GAAG,CAAC,CAAA;IAEd,8FAA8F;IAC9F,gGAAgG;IAChG,6FAA6F;IAC7F,6CAA6C;IAC7C,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,EAAE,CAAA;QACR,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAA;QAE3B,IAAI,CAAC,IAAI;YAAE,SAAQ;QACnB,MAAM,GAAG,GAAG,eAAe,CAA0B,IAAI,CAAC,CAAA;QAC1D,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAC7B,6FAA6F;QAC7F,yFAAyF;QACzF,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;QAExB,IAAI,EAAE,CAAA;IACP,CAAC;IAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,KAAK,CAAC,GAAG,CAAC,CAAC,GAAkB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACnE,CAAC,CAAC,CAAA;IAEF,MAAM,EAAE,CAAC,QAAQ,IAAI,cAAc,OAAO,CAAC,KAAK,EAAE,CAAC,CAAA;IAEnD,MAAM,cAAc,GAAG,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAA;IACzG,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE9C,MAAM,EAAE,GAAG,MAAM,aAAa,EAAE,CAAA;IAChC,0FAA0F;IAC1F,6FAA6F;IAC7F,MAAM,EAAE,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;IAEjD,MAAM,EAAE,CAAC,GAAG,CACX,gBAAgB,UAAU,oBAAoB,eAAe,CAAC,SAAS,CAAC,KAAK;QAC5E,aAAa,cAAc,mCAAmC;QAC9D,OAAO,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,yDAAyD,YAAY,GAAG,CAC/G,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,aAAa,CAAC,2CAA2C,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAA;IACrD,MAAM,EAAE,CAAC,SAAS,OAAO,YAAY,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAEtD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,MAAM,EAAE,CAAA;AACxD,CAAC"}
1
+ {"version":3,"file":"jsonl-to-parquet.js","sourceRoot":"","sources":["../../lib/tools/jsonl-to-parquet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Base-consistency lint: a synthetic recipe output must not label a token a tag the base dominantly labels
7
+ * something else, or training gets conflicting gradients on the same token and the minority (the recipe output)
8
+ * loses. This reads a recipe output's own (token -> tag) and checks each token against the base.
9
+ *
10
+ * The check is country-scoped and full-count, because a token's correct tag is country-specific: "Paris" is a
11
+ * locality in FR data and a street in US "Paris Ave". A cross-country aggregate mis-judges any country-specific
12
+ * token. A small sample is street-biased because street sources dwarf locality sources. Each
13
+ * recipe-output token's base tag is therefore tallied scoped to the country the output uses it in, over a large
14
+ * scan. Pure-numeric tokens are excluded because house_number and postcode are context-determined. An
15
+ * affix-split flag (recipe output street_suffix/_prefix against base "street") is expected, because the loader's
16
+ * affix-relabel handles it.
17
+ */
18
+ /**
19
+ * Options for {@linkcode lintRecipeVocab}.
20
+ */
21
+ export interface LintRecipeVocabOptions {
22
+ /**
23
+ * The recipe output parquet to lint.
24
+ */
25
+ recipeOutputPath: string;
26
+ /**
27
+ * Base corpus version.
28
+ * Default `v0.5.0`.
29
+ */
30
+ baseVersion?: string;
31
+ /**
32
+ * Base corpus root.
33
+ * Default `$MAILWOMAN_DATA_ROOT/corpus/versioned`.
34
+ */
35
+ baseRoot?: string;
36
+ /**
37
+ * Base-majority confidence floor for a contradiction.
38
+ * Default 0.7.
39
+ */
40
+ threshold?: number;
41
+ /**
42
+ * Minimum base support to judge a token.
43
+ * Default 50.
44
+ */
45
+ minCount?: number;
46
+ /**
47
+ * Fraction of base parts to scan, a proportional per-source sample below 1.0.
48
+ * Default 1.0.
49
+ */
50
+ fraction?: number;
51
+ }
52
+ /**
53
+ * One contradiction row: token, recipe-output tag, base tag, base fraction, base total.
54
+ */
55
+ export type VocabRow = [token: string, outputTag: string, baseTag: string, baseFrac: number, baseTotal: number];
56
+ /**
57
+ * Findings summary returned by {@linkcode lintRecipeVocab}.
58
+ */
59
+ export interface LintRecipeVocabSummary {
60
+ /**
61
+ * Real contradictions — the command exits 1 when nonzero.
62
+ */
63
+ errors: number;
64
+ /**
65
+ * Affix-split rows (expected — the loader's affix-relabel handles them).
66
+ */
67
+ warnings: number;
68
+ findings: {
69
+ contradictions: VocabRow[];
70
+ affixSplits: VocabRow[];
71
+ };
72
+ }
73
+ /**
74
+ * Lint a synthetic recipe output's (token → tag) vocabulary against the base corpus, country-scoped.
75
+ */
76
+ export declare function lintRecipeVocab(options: LintRecipeVocabOptions): Promise<LintRecipeVocabSummary>;
77
+ //# sourceMappingURL=vocab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab.d.ts","sourceRoot":"","sources":["../../../../lib/tools/lint/recipe-output/vocab.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA+IH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,gBAAgB,EAAE,MAAM,CAAA;IACxB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;AAE/G;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE;QAAE,cAAc,EAAE,QAAQ,EAAE,CAAC;QAAC,WAAW,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAA;CACjE;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAoJtG"}
@@ -0,0 +1,239 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Base-consistency lint: a synthetic recipe output must not label a token a tag the base dominantly labels
7
+ * something else, or training gets conflicting gradients on the same token and the minority (the recipe output)
8
+ * loses. This reads a recipe output's own (token -> tag) and checks each token against the base.
9
+ *
10
+ * The check is country-scoped and full-count, because a token's correct tag is country-specific: "Paris" is a
11
+ * locality in FR data and a street in US "Paris Ave". A cross-country aggregate mis-judges any country-specific
12
+ * token. A small sample is street-biased because street sources dwarf locality sources. Each
13
+ * recipe-output token's base tag is therefore tallied scoped to the country the output uses it in, over a large
14
+ * scan. Pure-numeric tokens are excluded because house_number and postcode are context-determined. An
15
+ * affix-split flag (recipe output street_suffix/_prefix against base "street") is expected, because the loader's
16
+ * affix-relabel handles it.
17
+ */
18
+ import { dataRootPath } from "@mailwoman/core/data-root";
19
+ import { tryParsingJSON } from "@mailwoman/core/json";
20
+ import { pyRound } from "@mailwoman/core/numeric";
21
+ import { PathBuilder } from "path-ts";
22
+ import { Globerator } from "spliterator/node/fs";
23
+ import { openDuckDB } from "#parquet/duckdb";
24
+ /**
25
+ * Strip a BIO prefix ("B-"/"I-") off a label, matching the Python `strip_bio`.
26
+ */
27
+ function stripBIO(label) {
28
+ const head = label.slice(0, 2);
29
+ return head === "B-" || head === "I-" ? label.slice(2) : label;
30
+ }
31
+ /**
32
+ * Python `str.isdigit()`: non-empty and every character a Unicode digit.
33
+ *
34
+ * Pure-numeric tokens (house_number and postcode) are context-determined
35
+ * rather than lexical vocab, so they are excluded.
36
+ * `\p{Nd}` covers the decimal digits these address corpora actually contain.
37
+ */
38
+ function isDigit(token) {
39
+ return token.length > 0 && /^\p{Nd}+$/u.test(token);
40
+ }
41
+ /**
42
+ * Format a fraction as a whole-percent string the way Python's `:.0%` does, e.g. 0.73 -> "73%".
43
+ */
44
+ function pct(frac) {
45
+ return `${pyRound(frac * 100)}%`;
46
+ }
47
+ /**
48
+ * Format a float the way a Python f-string renders it: integer-valued floats keep one
49
+ * decimal (1.0 -> "1.0"), everything else is its shortest decimal (0.5 -> "0.5").
50
+ *
51
+ * Used for the `fraction` echo so the banner matches the Python print.
52
+ */
53
+ function formatPyFloat(n) {
54
+ return Number.isInteger(n) ? n.toFixed(1) : String(n);
55
+ }
56
+ /**
57
+ * Left-justify to a minimum width with spaces, matching Python's `{value:N}` string field.
58
+ */
59
+ function pad(value, width) {
60
+ return value.padEnd(width);
61
+ }
62
+ /**
63
+ * The dominant tag of a counter as (tag, total, fraction).
64
+ *
65
+ * An empty counter yields ("", 0, 0.0), and ties go to the first-inserted tag,
66
+ * mirroring `Counter.most_common(1)`.
67
+ */
68
+ function dominant(counter) {
69
+ let total = 0;
70
+ let bestTag = "";
71
+ let bestCount = -1;
72
+ for (const [tag, count] of counter) {
73
+ total += count;
74
+ if (count > bestCount) {
75
+ bestCount = count;
76
+ bestTag = tag;
77
+ }
78
+ }
79
+ if (total === 0)
80
+ return ["", 0, 0];
81
+ return [bestTag, total, bestCount / total];
82
+ }
83
+ /**
84
+ * Bump a (key -> count) tally, creating the inner counter on first sight.
85
+ */
86
+ function bump(table, key, sub) {
87
+ let counter = table.get(key);
88
+ if (!counter) {
89
+ counter = new Map();
90
+ table.set(key, counter);
91
+ }
92
+ counter.set(sub, (counter.get(sub) ?? 0) + 1);
93
+ }
94
+ /**
95
+ * Read a corpus parquet into rows, projecting only tokens, labels and country.
96
+ *
97
+ * DuckDB `to_json` returns list columns as JSON text.
98
+ * Gazetteer builders use the same technique for nested columns.
99
+ * This function parses the text back to string arrays.
100
+ */
101
+ async function readRows(con, path) {
102
+ const result = await con.runAndReadAll(`SELECT to_json(tokens) AS tokens, to_json(labels) AS labels, country FROM read_parquet('${path}')`);
103
+ const raw = result.getRowObjects();
104
+ const rows = [];
105
+ for (const r of raw) {
106
+ const tokens = tryParsingJSON(String(r.tokens));
107
+ const labels = tryParsingJSON(String(r.labels));
108
+ if (!Array.isArray(tokens) || !Array.isArray(labels))
109
+ continue;
110
+ rows.push({
111
+ tokens: tokens,
112
+ labels: labels,
113
+ country: r.country == null ? null : String(r.country),
114
+ });
115
+ }
116
+ return rows;
117
+ }
118
+ /**
119
+ * Read just the first row's `source` value, used to group base parts for a proportional sample.
120
+ */
121
+ async function readSource(con, path) {
122
+ const result = await con.runAndReadAll(`SELECT source FROM read_parquet('${path}') LIMIT 1`);
123
+ const rows = result.getRowObjects();
124
+ return rows.length ? String(rows[0].source) : "";
125
+ }
126
+ /**
127
+ * Lint a synthetic recipe output's (token → tag) vocabulary against the base corpus, country-scoped.
128
+ */
129
+ export async function lintRecipeVocab(options) {
130
+ const baseVersion = options.baseVersion ?? "v0.5.0";
131
+ const baseRoot = PathBuilder.from(options.baseRoot ?? dataRootPath("corpus", "versioned"));
132
+ const threshold = options.threshold ?? 0.7;
133
+ const minCount = options.minCount ?? 50;
134
+ const fraction = options.fraction ?? 1;
135
+ using con = await openDuckDB();
136
+ const outputRows = await readRows(con, options.recipeOutputPath);
137
+ const outputTags = new Map();
138
+ const outputCountries = new Map();
139
+ for (const { tokens, labels, country } of outputRows) {
140
+ const n = Math.min(tokens.length, labels.length);
141
+ for (let i = 0; i < n; i++) {
142
+ const w = tokens[i];
143
+ const l = labels[i];
144
+ if (isDigit(w))
145
+ continue;
146
+ bump(outputTags, w, stripBIO(l));
147
+ let set = outputCountries.get(w);
148
+ if (!set) {
149
+ set = new Set();
150
+ outputCountries.set(w, set);
151
+ }
152
+ set.add(country);
153
+ }
154
+ }
155
+ const outputVocab = new Set(outputTags.keys());
156
+ console.log(`recipe output: ${outputRows.length} rows, ${outputVocab.size} unique tokens`);
157
+ const trainDir = baseRoot(baseVersion, `corpus-${baseVersion}`, "train");
158
+ let parts = (await Globerator.from("*.parquet", {
159
+ cwd: trainDir,
160
+ absolute: true,
161
+ }).toArray()).toSorted();
162
+ if (!parts.length) {
163
+ throw new Error("no base parts found");
164
+ }
165
+ if (fraction < 1) {
166
+ const bysrc = new Map();
167
+ for (const p of parts) {
168
+ const src = await readSource(con, p);
169
+ let list = bysrc.get(src);
170
+ if (!list) {
171
+ list = [];
172
+ bysrc.set(src, list);
173
+ }
174
+ list.push(p);
175
+ }
176
+ const sampled = [];
177
+ for (const ps of bysrc.values()) {
178
+ const take = Math.max(2, pyRound(ps.length * fraction));
179
+ for (const p of ps.slice(0, take)) {
180
+ sampled.push(p);
181
+ }
182
+ }
183
+ parts = sampled;
184
+ }
185
+ console.log(`base ${baseVersion}: scanning ${parts.length} parts (fraction=${formatPyFloat(fraction)}), COUNTRY-scoped`);
186
+ const baseTags = new Map();
187
+ for (let i = 0; i < parts.length; i++) {
188
+ const rows = await readRows(con, parts[i]);
189
+ for (const { tokens, labels, country } of rows) {
190
+ const n = Math.min(tokens.length, labels.length);
191
+ for (let j = 0; j < n; j++) {
192
+ const w = tokens[j];
193
+ if (outputVocab.has(w) && outputCountries.get(w).has(country)) {
194
+ bump(baseTags, w, stripBIO(labels[j]));
195
+ }
196
+ }
197
+ }
198
+ if ((i + 1) % 100 === 0) {
199
+ console.log(` ...${i + 1}/${parts.length} parts`);
200
+ }
201
+ }
202
+ const flagged = [];
203
+ const affix = [];
204
+ for (const w of outputVocab) {
205
+ const [sTag] = dominant(outputTags.get(w));
206
+ const [bTag, bTotal, bFrac] = dominant(baseTags.get(w) ?? new Map());
207
+ if (bTotal < minCount || !bTag || bTag === sTag || bFrac < threshold)
208
+ continue;
209
+ const row = [w, sTag, bTag, bFrac, bTotal];
210
+ if ((sTag === "street_suffix" || sTag === "street_prefix") && bTag === "street") {
211
+ affix.push(row);
212
+ }
213
+ else {
214
+ flagged.push(row);
215
+ }
216
+ }
217
+ const sections = [
218
+ ["CONTRADICTION", flagged],
219
+ ["affix-split (EXPECTED — affix-relabel handles)", affix],
220
+ ];
221
+ for (const [label, rows] of sections) {
222
+ if (!rows.length)
223
+ continue;
224
+ rows.sort((a, b) => b[4] - a[4] || b[3] - a[3]);
225
+ console.log(`\n${label.startsWith("CONTRA") ? "⚠️ " : "· "}${rows.length} ${label}:`);
226
+ for (const [w, sTag, bTag, bFrac, bTotal] of rows) {
227
+ console.log(` ${pad(w, 18)} output=${pad(sTag, 14)} base=${bTag} (${pct(bFrac)}, n=${bTotal})`);
228
+ }
229
+ }
230
+ if (!flagged.length) {
231
+ console.log(`\n✅ NO real contradictions (country-scoped, threshold ${pct(threshold)}, support ${minCount}) — recipe output base-consistent`);
232
+ }
233
+ return {
234
+ errors: flagged.length,
235
+ warnings: affix.length,
236
+ findings: { contradictions: flagged, affixSplits: affix },
237
+ };
238
+ }
239
+ //# sourceMappingURL=vocab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocab.js","sourceRoot":"","sources":["../../../../lib/tools/lint/recipe-output/vocab.ts"],"names":[],"mappings":"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"}