@mailwoman/corpus 10.0.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 (1372) hide show
  1. package/README.md +120 -34
  2. package/data/PROVENANCE.md +623 -17
  3. package/data/address-source-register.json +14249 -0
  4. package/data/builds/v0.7.0-de-holdout/inputs.json +22 -0
  5. package/data/builds/v0.8.0-registers/inputs.json +92 -0
  6. package/data/license-decisions.json +1603 -0
  7. package/data/licenses/PROVENANCE.md +65 -0
  8. package/data/licenses/cdla-permissive-2.0.md +43 -0
  9. package/data/licenses/geonames-publication.md +34 -0
  10. package/data/licenses/licence-ouverte-2.0.md +36 -0
  11. package/data/licenses/national-address-database.md +46 -0
  12. package/data/licenses/nlod-2.0.md +90 -0
  13. package/data/licenses/sirene-publication.md +38 -0
  14. package/data/licenses/whosonfirst-licenses.md +65 -0
  15. package/data/source-resolutions.json +804 -0
  16. package/data/sub-venue-lexicon.json +1 -1
  17. package/data/training-manifests/v0.7.0-de-holdout.effective.json +477 -0
  18. package/data/training-manifests/v0.7.0-de-holdout.json +78 -0
  19. package/lib/adapters/cordis/adapter.ts +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 +42 -52
  23. package/lib/adapters/geonames/postal/adapter.ts +31 -37
  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 +51 -55
  27. package/lib/adapters/osm/adapter.ts +148 -70
  28. package/lib/adapters/overture/adapter.ts +52 -43
  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 +48 -33
  35. package/lib/adapters/wof/json-rows.ts +56 -26
  36. package/lib/adapters/wof/postalcode-json/adapter.ts +57 -59
  37. package/lib/adapters.ts +230 -0
  38. package/lib/au/adapters/gnaf/adapter.ts +35 -43
  39. package/lib/au/adapters/gnaf/assemble.ts +31 -51
  40. package/lib/be/adapters/brussels/adapter.ts +566 -0
  41. package/lib/be/adapters/vlaanderen/adapter.ts +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 +20 -41
  55. package/lib/cz/adapters/cuzk/adapter.ts +317 -0
  56. package/lib/cz/recipes/pcfirst-preposition.ts +40 -27
  57. package/lib/cz/tools/fetch/cuzk.ts +699 -0
  58. package/lib/de/recipes/locale.ts +68 -58
  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 +87 -59
  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 +38 -60
  84. package/lib/fr/recipes/bare-street.ts +37 -50
  85. package/lib/fr/recipes/fragment.ts +59 -142
  86. package/lib/fr/recipes/lieudit.ts +109 -73
  87. package/lib/fr/recipes/order.ts +32 -59
  88. package/lib/fr/{adapters/ban/street-decompose.ts → street-decompose.ts} +4 -3
  89. package/lib/fr/tools/fetch/annuaire-education.ts +306 -0
  90. package/lib/fr/tools/fetch/ban.ts +28 -19
  91. package/lib/fr/tools/fetch/finess.ts +352 -0
  92. package/lib/gauntlet-inputs.ts +92 -0
  93. package/lib/index.ts +9 -3
  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 +134 -176
  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 +27 -17
  102. package/lib/jp/tools/fetch/houjin.ts +16 -18
  103. package/lib/kr/adapters/juso/label-rows.ts +24 -44
  104. package/lib/kr/adapters/localdata/align.ts +20 -31
  105. package/lib/kr/adapters/localdata/key-index.ts +17 -25
  106. package/lib/kr/adapters/localdata/permit-rows.ts +33 -26
  107. package/lib/kr/tools/fetch/juso.ts +19 -21
  108. package/lib/kr/tools/fetch/localdata.ts +28 -29
  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 +46 -24
  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 +34 -58
  118. package/lib/no/recipes/street/led.ts +44 -25
  119. package/lib/no/recipes/{street/index.ts → street.ts} +29 -11
  120. package/lib/no/tools/fetch/matrikkelen.ts +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 +24 -32
  132. package/lib/recipes/bare/postcode/eval.ts +1 -1
  133. package/lib/recipes/bare/postcode.ts +346 -0
  134. package/lib/recipes/boundary-stress.ts +36 -19
  135. package/lib/recipes/country-balanced.ts +66 -86
  136. package/lib/recipes/house-venue.ts +31 -13
  137. package/lib/recipes/intersection.ts +82 -60
  138. package/lib/recipes/po/box/cedex/au-nz.ts +3 -3
  139. package/lib/recipes/po/box/cedex/ca.ts +3 -2
  140. package/lib/recipes/po/box/cedex/fr.ts +4 -3
  141. package/lib/recipes/po/box/cedex/phrases.ts +7 -6
  142. package/lib/recipes/po/box/cedex/recipe.ts +28 -16
  143. package/lib/recipes/po/box/cedex/sources.ts +3 -3
  144. package/lib/recipes/po/box/cedex/us.ts +7 -2
  145. package/lib/recipes/po/{box/index.ts → box.ts} +39 -18
  146. package/lib/recipes/scaffold.ts +252 -153
  147. package/lib/recipes/sources.ts +399 -0
  148. package/lib/recipes/street/affix.ts +54 -154
  149. package/lib/recipes/street/bare.ts +28 -15
  150. package/lib/recipes/street.ts +32 -8
  151. package/lib/recipes/sub/venue/context.ts +30 -23
  152. package/lib/recipes/sub/venue/render.ts +170 -0
  153. package/lib/recipes/sub/venue/sources.ts +68 -219
  154. package/lib/recipes/sub/venue.ts +801 -0
  155. package/lib/recipes/trailing-region.ts +69 -85
  156. package/lib/recipes/unit/sources.ts +44 -0
  157. package/lib/recipes/unit.ts +101 -89
  158. package/lib/{recipes/index.ts → recipes.ts} +13 -11
  159. package/lib/registers.ts +278 -0
  160. package/lib/ro/adapters/retea-scolara/adapter.ts +264 -0
  161. package/lib/ro/tools/fetch/retea-scolara.ts +187 -0
  162. package/lib/runner.ts +220 -84
  163. package/lib/sg/recipes/register.ts +46 -52
  164. package/lib/sg/tools/fetch/acra.ts +20 -25
  165. package/lib/si/recipes/bare-village.ts +34 -17
  166. package/lib/sk/adapters/inspire/adapter.ts +395 -0
  167. package/lib/sk/tools/fetch/inspire.ts +402 -0
  168. package/lib/source-register/effective-manifest.ts +659 -0
  169. package/lib/source-register/register.ts +539 -0
  170. package/lib/source-register/training-manifest.ts +218 -0
  171. package/lib/source-register/types.ts +590 -0
  172. package/lib/source-register.ts +71 -0
  173. package/lib/south-asia/recipes/register.ts +45 -26
  174. package/lib/subvenue/harvest.ts +251 -0
  175. package/lib/{tools/sub/venue → subvenue}/promotions.ts +33 -70
  176. package/lib/subvenue/surfaces.ts +94 -0
  177. package/lib/subvenue/table.ts +264 -0
  178. package/lib/surfaces/locale.ts +246 -0
  179. package/lib/synthesizers/anchor-absorption.ts +55 -91
  180. package/lib/synthesizers/boundary-stress.ts +49 -131
  181. package/lib/synthesizers/house-venue.ts +44 -102
  182. package/lib/synthesizers/intersection.ts +37 -26
  183. package/lib/synthesizers/no-street.ts +70 -119
  184. package/lib/synthesizers/po-box.ts +90 -105
  185. package/lib/synthesizers/street.ts +46 -34
  186. package/lib/synthesizers/utils.ts +64 -218
  187. package/lib/test-kit/corpus-recipe.ts +45 -28
  188. package/lib/test-kit.ts +116 -0
  189. package/lib/tools/align-canonical.ts +64 -0
  190. package/lib/tools/audit.ts +113 -118
  191. package/lib/tools/corpus-stats.ts +44 -30
  192. package/lib/tools/fetch/atom.ts +164 -0
  193. package/lib/tools/fetch/cordis.ts +318 -0
  194. package/lib/tools/fetch/download/manifest.ts +34 -22
  195. package/lib/tools/fetch/download/network.ts +55 -31
  196. package/lib/tools/fetch/download/retry.ts +26 -25
  197. package/lib/tools/fetch/geonames/dump.ts +72 -54
  198. package/lib/tools/fetch/geonames/postal.ts +27 -62
  199. package/lib/tools/fetch/gleif.ts +360 -0
  200. package/lib/tools/fetch/header.ts +69 -0
  201. package/lib/tools/fetch/inspire-addresses.ts +495 -0
  202. package/lib/tools/fetch/openaddresses.ts +22 -111
  203. package/lib/tools/fetch/ourairports.ts +18 -51
  204. package/lib/tools/fetch/ppd.ts +10 -8
  205. package/lib/tools/fetch/vlaanderen-ad.ts +435 -0
  206. package/lib/tools/fetch/wfs-harvest.ts +943 -0
  207. package/lib/tools/fetch/wikidata-subvenue.ts +45 -145
  208. package/lib/tools/fetch/zip-archive.ts +100 -0
  209. package/lib/tools/fetch.ts +143 -0
  210. package/lib/tools/golden/expand.ts +74 -43
  211. package/lib/tools/golden/promote.ts +41 -32
  212. package/lib/tools/golden/relabel-street/directory.ts +63 -36
  213. package/lib/tools/golden/relabel-street/row.ts +28 -106
  214. package/lib/tools/ingest-csv.ts +45 -48
  215. package/lib/tools/jsonl-to-parquet.ts +59 -98
  216. package/lib/tools/lint/recipe-output/vocab.ts +366 -0
  217. package/lib/tools/lint/{slice/index.ts → recipe-output.ts} +107 -121
  218. package/lib/tools/migrate/overlay-parquet.ts +173 -0
  219. package/lib/tools/migrate/recipe-output.ts +153 -0
  220. package/lib/tools/migrate/source-names.ts +161 -0
  221. package/lib/tools/{slice → overlay}/kryptonite.ts +43 -36
  222. package/lib/tools/overlay/manifest.ts +407 -0
  223. package/lib/tools/overlay/merge-source.ts +138 -0
  224. package/lib/tools/overlay/split-slice.ts +144 -0
  225. package/lib/tools/{slice → overlay}/translit.ts +74 -58
  226. package/lib/tools/overture-subvenue.ts +17 -90
  227. package/lib/tools/postcode-triples.ts +281 -210
  228. package/lib/tools/source-register/build.ts +819 -0
  229. package/lib/tools/sub/venue/head-nouns.ts +38 -75
  230. package/lib/tools/sub/venue/lexicon.ts +71 -106
  231. package/lib/tools/sub/venue/wikidata.ts +13 -10
  232. package/lib/tools.ts +31 -0
  233. package/lib/tw/tools/fetch/gcis.ts +17 -16
  234. package/lib/types.ts +304 -101
  235. package/lib/us/adapters/fcc-bdc/adapter.ts +26 -41
  236. package/lib/us/adapters/state/hi-schools/adapter.ts +28 -17
  237. package/lib/us/adapters/state/hi-schools/workbook.ts +7 -2
  238. package/lib/us/adapters/state/ia-contractors/adapter.ts +27 -15
  239. package/lib/us/adapters/state/ny-notaries/adapter.ts +24 -25
  240. package/lib/us/adapters/state/tx-notaries/adapter.ts +21 -15
  241. package/lib/us/adapters/tiger/adapter.ts +19 -44
  242. package/lib/us/adapters/tiger/street-decompose.ts +7 -17
  243. package/lib/us/adapters/usgov/hrsa-fqhc/adapter.ts +49 -34
  244. package/lib/us/adapters/usgov/imls-pls/adapter.ts +25 -19
  245. package/lib/us/adapters/usgov/irs-bmf/adapter.ts +32 -23
  246. package/lib/us/adapters/usgov/nad/adapter.ts +51 -112
  247. package/lib/us/adapters/usgov/nppes/adapter.ts +72 -35
  248. package/lib/us/adapters/usgov/samhsa-treatment-locator/adapter.ts +43 -30
  249. package/lib/us/fips-state.ts +17 -8
  250. package/lib/us/tools/fetch/hrsa.ts +7 -8
  251. package/lib/us/tools/fetch/imls-pls.ts +17 -35
  252. package/lib/us/tools/fetch/nad.ts +50 -32
  253. package/lib/us/tools/fetch/nppes.ts +23 -35
  254. package/lib/us/tools/fetch/state/hi-schools.ts +22 -16
  255. package/lib/us/tools/fetch/state/sources.ts +12 -12
  256. package/lib/us/tools/fetch/tiger-full.ts +21 -73
  257. package/lib/utils/align.ts +42 -52
  258. package/lib/utils/{slice-stats.ts → cooccurrence-stats.ts} +22 -16
  259. package/lib/utils/golden.ts +34 -49
  260. package/lib/utils/license.ts +238 -26
  261. package/lib/utils/split.ts +205 -88
  262. package/lib/utils/tokenize.ts +22 -34
  263. package/lib/utils/wof-json.ts +129 -76
  264. package/lib/{utils/index.ts → utils.ts} +0 -1
  265. package/lib/ve/recipes/reviewed-postcode-tail.ts +40 -13
  266. package/out/adapters/cordis/adapter.d.ts +324 -0
  267. package/out/adapters/cordis/adapter.d.ts.map +1 -0
  268. package/out/adapters/cordis/adapter.js +616 -0
  269. package/out/adapters/cordis/adapter.js.map +1 -0
  270. package/out/adapters/dedup-key.d.ts +30 -0
  271. package/out/adapters/dedup-key.d.ts.map +1 -0
  272. package/out/adapters/dedup-key.js +35 -0
  273. package/out/adapters/dedup-key.js.map +1 -0
  274. package/out/adapters/errors.d.ts +17 -0
  275. package/out/adapters/errors.d.ts.map +1 -0
  276. package/out/adapters/errors.js +20 -0
  277. package/out/adapters/errors.js.map +1 -0
  278. package/out/adapters/geonames/adapter.d.ts +26 -28
  279. package/out/adapters/geonames/adapter.d.ts.map +1 -1
  280. package/out/adapters/geonames/adapter.js +39 -49
  281. package/out/adapters/geonames/adapter.js.map +1 -1
  282. package/out/adapters/geonames/postal/adapter.d.ts +14 -27
  283. package/out/adapters/geonames/postal/adapter.d.ts.map +1 -1
  284. package/out/adapters/geonames/postal/adapter.js +30 -35
  285. package/out/adapters/geonames/postal/adapter.js.map +1 -1
  286. package/out/adapters/gleif/adapter.d.ts +293 -0
  287. package/out/adapters/gleif/adapter.d.ts.map +1 -0
  288. package/out/adapters/gleif/adapter.js +684 -0
  289. package/out/adapters/gleif/adapter.js.map +1 -0
  290. package/out/adapters/libpostal-dictionary.d.ts +22 -0
  291. package/out/adapters/libpostal-dictionary.d.ts.map +1 -0
  292. package/out/adapters/libpostal-dictionary.js +36 -0
  293. package/out/adapters/libpostal-dictionary.js.map +1 -0
  294. package/out/adapters/openaddresses/adapter.d.ts +28 -43
  295. package/out/adapters/openaddresses/adapter.d.ts.map +1 -1
  296. package/out/adapters/openaddresses/adapter.js +34 -46
  297. package/out/adapters/openaddresses/adapter.js.map +1 -1
  298. package/out/adapters/osm/adapter.d.ts +48 -42
  299. package/out/adapters/osm/adapter.d.ts.map +1 -1
  300. package/out/adapters/osm/adapter.js +116 -67
  301. package/out/adapters/osm/adapter.js.map +1 -1
  302. package/out/adapters/overture/adapter.d.ts +11 -37
  303. package/out/adapters/overture/adapter.d.ts.map +1 -1
  304. package/out/adapters/overture/adapter.js +45 -42
  305. package/out/adapters/overture/adapter.js.map +1 -1
  306. package/out/adapters/po-box/adapter.d.ts +63 -0
  307. package/out/adapters/po-box/adapter.d.ts.map +1 -0
  308. package/out/adapters/{synth-po-box → po-box}/adapter.js +45 -46
  309. package/out/adapters/po-box/adapter.js.map +1 -0
  310. package/out/adapters/registry.d.ts +55 -0
  311. package/out/adapters/registry.d.ts.map +1 -0
  312. package/out/adapters/registry.js +43 -0
  313. package/out/adapters/registry.js.map +1 -0
  314. package/out/adapters/sha256-stream.d.ts +26 -0
  315. package/out/adapters/sha256-stream.d.ts.map +1 -0
  316. package/out/adapters/sha256-stream.js +34 -0
  317. package/out/adapters/sha256-stream.js.map +1 -0
  318. package/out/adapters/source-id.d.ts +33 -0
  319. package/out/adapters/source-id.d.ts.map +1 -0
  320. package/out/adapters/source-id.js +42 -0
  321. package/out/adapters/source-id.js.map +1 -0
  322. package/out/adapters/street-line.d.ts +102 -0
  323. package/out/adapters/street-line.d.ts.map +1 -0
  324. package/out/adapters/street-line.js +117 -0
  325. package/out/adapters/street-line.js.map +1 -0
  326. package/out/adapters/wof/admin/json/adapter.d.ts +27 -18
  327. package/out/adapters/wof/admin/json/adapter.d.ts.map +1 -1
  328. package/out/adapters/wof/admin/json/adapter.js +47 -31
  329. package/out/adapters/wof/admin/json/adapter.js.map +1 -1
  330. package/out/adapters/wof/json-rows.d.ts +35 -19
  331. package/out/adapters/wof/json-rows.d.ts.map +1 -1
  332. package/out/adapters/wof/json-rows.js +35 -15
  333. package/out/adapters/wof/json-rows.js.map +1 -1
  334. package/out/adapters/wof/postalcode-json/adapter.d.ts +22 -38
  335. package/out/adapters/wof/postalcode-json/adapter.d.ts.map +1 -1
  336. package/out/adapters/wof/postalcode-json/adapter.js +55 -57
  337. package/out/adapters/wof/postalcode-json/adapter.js.map +1 -1
  338. package/out/adapters.d.ts +75 -0
  339. package/out/adapters.d.ts.map +1 -0
  340. package/out/adapters.js +167 -0
  341. package/out/adapters.js.map +1 -0
  342. package/out/au/adapters/gnaf/adapter.d.ts +15 -27
  343. package/out/au/adapters/gnaf/adapter.d.ts.map +1 -1
  344. package/out/au/adapters/gnaf/adapter.js +34 -42
  345. package/out/au/adapters/gnaf/adapter.js.map +1 -1
  346. package/out/au/adapters/gnaf/assemble.d.ts +15 -26
  347. package/out/au/adapters/gnaf/assemble.d.ts.map +1 -1
  348. package/out/au/adapters/gnaf/assemble.js +26 -46
  349. package/out/au/adapters/gnaf/assemble.js.map +1 -1
  350. package/out/be/adapters/brussels/adapter.d.ts +212 -0
  351. package/out/be/adapters/brussels/adapter.d.ts.map +1 -0
  352. package/out/be/adapters/brussels/adapter.js +435 -0
  353. package/out/be/adapters/brussels/adapter.js.map +1 -0
  354. package/out/be/adapters/vlaanderen/adapter.d.ts +233 -0
  355. package/out/be/adapters/vlaanderen/adapter.d.ts.map +1 -0
  356. package/out/be/adapters/vlaanderen/adapter.js +416 -0
  357. package/out/be/adapters/vlaanderen/adapter.js.map +1 -0
  358. package/out/be/adapters/wallonie/adapter.d.ts +196 -0
  359. package/out/be/adapters/wallonie/adapter.d.ts.map +1 -0
  360. package/out/be/adapters/wallonie/adapter.js +437 -0
  361. package/out/be/adapters/wallonie/adapter.js.map +1 -0
  362. package/out/be/tools/fetch/brussels.d.ts +119 -0
  363. package/out/be/tools/fetch/brussels.d.ts.map +1 -0
  364. package/out/be/tools/fetch/brussels.js +146 -0
  365. package/out/be/tools/fetch/brussels.js.map +1 -0
  366. package/out/be/tools/fetch/wallonie.d.ts +119 -0
  367. package/out/be/tools/fetch/wallonie.d.ts.map +1 -0
  368. package/out/be/tools/fetch/wallonie.js +167 -0
  369. package/out/be/tools/fetch/wallonie.js.map +1 -0
  370. package/out/build/adapters.d.ts +33 -0
  371. package/out/build/adapters.d.ts.map +1 -0
  372. package/out/build/adapters.js +68 -0
  373. package/out/build/adapters.js.map +1 -0
  374. package/out/build/align.d.ts +73 -0
  375. package/out/build/align.d.ts.map +1 -0
  376. package/out/build/align.js +226 -0
  377. package/out/build/align.js.map +1 -0
  378. package/out/build/checkpoint.d.ts +94 -0
  379. package/out/build/checkpoint.d.ts.map +1 -0
  380. package/out/build/checkpoint.js +59 -0
  381. package/out/build/checkpoint.js.map +1 -0
  382. package/out/build/eligibility.d.ts +47 -0
  383. package/out/build/eligibility.d.ts.map +1 -0
  384. package/out/build/eligibility.js +80 -0
  385. package/out/build/eligibility.js.map +1 -0
  386. package/out/build/heap.d.ts +28 -0
  387. package/out/build/heap.d.ts.map +1 -0
  388. package/out/build/heap.js +47 -0
  389. package/out/build/heap.js.map +1 -0
  390. package/out/build/inputs.d.ts +52 -0
  391. package/out/build/inputs.d.ts.map +1 -0
  392. package/out/build/inputs.js +49 -0
  393. package/out/build/inputs.js.map +1 -0
  394. package/out/build/rows.d.ts +16 -0
  395. package/out/build/rows.d.ts.map +1 -0
  396. package/out/build/rows.js +19 -0
  397. package/out/build/rows.js.map +1 -0
  398. package/out/build/types.d.ts +220 -0
  399. package/out/build/types.d.ts.map +1 -0
  400. package/out/build/types.js +34 -0
  401. package/out/build/types.js.map +1 -0
  402. package/out/build.d.ts +6 -121
  403. package/out/build.d.ts.map +1 -1
  404. package/out/build.js +112 -207
  405. package/out/build.js.map +1 -1
  406. package/out/cn/recipes/organizational-units.d.ts +5 -22
  407. package/out/cn/recipes/organizational-units.d.ts.map +1 -1
  408. package/out/cn/recipes/organizational-units.js +20 -41
  409. package/out/cn/recipes/organizational-units.js.map +1 -1
  410. package/out/cz/adapters/cuzk/adapter.d.ts +52 -0
  411. package/out/cz/adapters/cuzk/adapter.d.ts.map +1 -0
  412. package/out/cz/adapters/cuzk/adapter.js +266 -0
  413. package/out/cz/adapters/cuzk/adapter.js.map +1 -0
  414. package/out/cz/recipes/pcfirst-preposition.d.ts +7 -11
  415. package/out/cz/recipes/pcfirst-preposition.d.ts.map +1 -1
  416. package/out/cz/recipes/pcfirst-preposition.js +36 -27
  417. package/out/cz/recipes/pcfirst-preposition.js.map +1 -1
  418. package/out/cz/tools/fetch/cuzk.d.ts +272 -0
  419. package/out/cz/tools/fetch/cuzk.d.ts.map +1 -0
  420. package/out/cz/tools/fetch/cuzk.js +446 -0
  421. package/out/cz/tools/fetch/cuzk.js.map +1 -0
  422. package/out/de/recipes/locale.d.ts +24 -26
  423. package/out/de/recipes/locale.d.ts.map +1 -1
  424. package/out/de/recipes/locale.js +66 -56
  425. package/out/de/recipes/locale.js.map +1 -1
  426. package/out/directory.d.ts +20 -0
  427. package/out/directory.d.ts.map +1 -0
  428. package/out/directory.js +27 -0
  429. package/out/directory.js.map +1 -0
  430. package/out/dk/adapters/inspire/adapter.d.ts +154 -0
  431. package/out/dk/adapters/inspire/adapter.d.ts.map +1 -0
  432. package/out/dk/adapters/inspire/adapter.js +258 -0
  433. package/out/dk/adapters/inspire/adapter.js.map +1 -0
  434. package/out/dk/tools/fetch/inspire.d.ts +100 -0
  435. package/out/dk/tools/fetch/inspire.d.ts.map +1 -0
  436. package/out/dk/tools/fetch/inspire.js +230 -0
  437. package/out/dk/tools/fetch/inspire.js.map +1 -0
  438. package/out/ee/adapters/ads/adapter.d.ts +109 -0
  439. package/out/ee/adapters/ads/adapter.d.ts.map +1 -0
  440. package/out/ee/adapters/ads/adapter.js +191 -0
  441. package/out/ee/adapters/ads/adapter.js.map +1 -0
  442. package/out/ee/tools/fetch/ads.d.ts +123 -0
  443. package/out/ee/tools/fetch/ads.d.ts.map +1 -0
  444. package/out/ee/tools/fetch/ads.js +195 -0
  445. package/out/ee/tools/fetch/ads.js.map +1 -0
  446. package/out/env.d.ts +6 -2
  447. package/out/env.d.ts.map +1 -1
  448. package/out/env.js +6 -2
  449. package/out/env.js.map +1 -1
  450. package/out/es/adapters/bizkaia/adapter.d.ts +143 -0
  451. package/out/es/adapters/bizkaia/adapter.d.ts.map +1 -0
  452. package/out/es/adapters/bizkaia/adapter.js +332 -0
  453. package/out/es/adapters/bizkaia/adapter.js.map +1 -0
  454. package/out/es/adapters/catastro/adapter.d.ts +104 -0
  455. package/out/es/adapters/catastro/adapter.d.ts.map +1 -0
  456. package/out/es/adapters/catastro/adapter.js +288 -0
  457. package/out/es/adapters/catastro/adapter.js.map +1 -0
  458. package/out/es/adapters/gipuzkoa/adapter.d.ts +91 -0
  459. package/out/es/adapters/gipuzkoa/adapter.d.ts.map +1 -0
  460. package/out/es/adapters/gipuzkoa/adapter.js +225 -0
  461. package/out/es/adapters/gipuzkoa/adapter.js.map +1 -0
  462. package/out/es/adapters/navarra/adapter.d.ts +105 -0
  463. package/out/es/adapters/navarra/adapter.d.ts.map +1 -0
  464. package/out/es/adapters/navarra/adapter.js +241 -0
  465. package/out/es/adapters/navarra/adapter.js.map +1 -0
  466. package/out/es/cadastre.d.ts +109 -0
  467. package/out/es/cadastre.d.ts.map +1 -0
  468. package/out/es/cadastre.js +130 -0
  469. package/out/es/cadastre.js.map +1 -0
  470. package/out/es/tools/fetch/bizkaia.d.ts +278 -0
  471. package/out/es/tools/fetch/bizkaia.d.ts.map +1 -0
  472. package/out/es/tools/fetch/bizkaia.js +477 -0
  473. package/out/es/tools/fetch/bizkaia.js.map +1 -0
  474. package/out/es/tools/fetch/catastro.d.ts +272 -0
  475. package/out/es/tools/fetch/catastro.d.ts.map +1 -0
  476. package/out/es/tools/fetch/catastro.js +486 -0
  477. package/out/es/tools/fetch/catastro.js.map +1 -0
  478. package/out/es/tools/fetch/gipuzkoa.d.ts +162 -0
  479. package/out/es/tools/fetch/gipuzkoa.d.ts.map +1 -0
  480. package/out/es/tools/fetch/gipuzkoa.js +209 -0
  481. package/out/es/tools/fetch/gipuzkoa.js.map +1 -0
  482. package/out/es/tools/fetch/navarra.d.ts +189 -0
  483. package/out/es/tools/fetch/navarra.d.ts.map +1 -0
  484. package/out/es/tools/fetch/navarra.js +316 -0
  485. package/out/es/tools/fetch/navarra.js.map +1 -0
  486. package/out/fi/adapters/ryhti/adapter.d.ts +115 -0
  487. package/out/fi/adapters/ryhti/adapter.d.ts.map +1 -0
  488. package/out/fi/adapters/ryhti/adapter.js +244 -0
  489. package/out/fi/adapters/ryhti/adapter.js.map +1 -0
  490. package/out/fi/tools/fetch/ryhti.d.ts +206 -0
  491. package/out/fi/tools/fetch/ryhti.d.ts.map +1 -0
  492. package/out/fi/tools/fetch/ryhti.js +327 -0
  493. package/out/fi/tools/fetch/ryhti.js.map +1 -0
  494. package/out/fingerprints.d.ts +68 -0
  495. package/out/fingerprints.d.ts.map +1 -0
  496. package/out/fingerprints.js +130 -0
  497. package/out/fingerprints.js.map +1 -0
  498. package/out/fr/adapters/annuaire-education/adapter.d.ts +236 -0
  499. package/out/fr/adapters/annuaire-education/adapter.d.ts.map +1 -0
  500. package/out/fr/adapters/annuaire-education/adapter.js +475 -0
  501. package/out/fr/adapters/annuaire-education/adapter.js.map +1 -0
  502. package/out/fr/adapters/ban/adapter.d.ts +19 -25
  503. package/out/fr/adapters/ban/adapter.d.ts.map +1 -1
  504. package/out/fr/adapters/ban/adapter.js +65 -54
  505. package/out/fr/adapters/ban/adapter.js.map +1 -1
  506. package/out/fr/adapters/finess/adapter.d.ts +276 -0
  507. package/out/fr/adapters/finess/adapter.d.ts.map +1 -0
  508. package/out/fr/adapters/finess/adapter.js +519 -0
  509. package/out/fr/adapters/finess/adapter.js.map +1 -0
  510. package/out/fr/adapters/finess/postal-lines.d.ts +61 -0
  511. package/out/fr/adapters/finess/postal-lines.d.ts.map +1 -0
  512. package/out/fr/adapters/finess/postal-lines.js +114 -0
  513. package/out/fr/adapters/finess/postal-lines.js.map +1 -0
  514. package/out/fr/adapters/finess/voie-type.d.ts +77 -0
  515. package/out/fr/adapters/finess/voie-type.d.ts.map +1 -0
  516. package/out/fr/adapters/finess/voie-type.js +172 -0
  517. package/out/fr/adapters/finess/voie-type.js.map +1 -0
  518. package/out/fr/insee-country.d.ts +45 -0
  519. package/out/fr/insee-country.d.ts.map +1 -0
  520. package/out/fr/insee-country.js +60 -0
  521. package/out/fr/insee-country.js.map +1 -0
  522. package/out/fr/recipes/admin-split.d.ts +4 -27
  523. package/out/fr/recipes/admin-split.d.ts.map +1 -1
  524. package/out/fr/recipes/admin-split.js +36 -58
  525. package/out/fr/recipes/admin-split.js.map +1 -1
  526. package/out/fr/recipes/bare-street.d.ts +2 -17
  527. package/out/fr/recipes/bare-street.d.ts.map +1 -1
  528. package/out/fr/recipes/bare-street.js +35 -50
  529. package/out/fr/recipes/bare-street.js.map +1 -1
  530. package/out/fr/recipes/fragment.d.ts +6 -65
  531. package/out/fr/recipes/fragment.d.ts.map +1 -1
  532. package/out/fr/recipes/fragment.js +55 -135
  533. package/out/fr/recipes/fragment.js.map +1 -1
  534. package/out/fr/recipes/lieudit.d.ts +17 -19
  535. package/out/fr/recipes/lieudit.d.ts.map +1 -1
  536. package/out/fr/recipes/lieudit.js +88 -68
  537. package/out/fr/recipes/lieudit.js.map +1 -1
  538. package/out/fr/recipes/order.d.ts +4 -27
  539. package/out/fr/recipes/order.d.ts.map +1 -1
  540. package/out/fr/recipes/order.js +31 -58
  541. package/out/fr/recipes/order.js.map +1 -1
  542. package/out/fr/{adapters/ban/street-decompose.d.ts → street-decompose.d.ts} +3 -2
  543. package/out/fr/street-decompose.d.ts.map +1 -0
  544. package/out/fr/{adapters/ban/street-decompose.js → street-decompose.js} +4 -3
  545. package/out/fr/street-decompose.js.map +1 -0
  546. package/out/fr/tools/fetch/annuaire-education.d.ts +130 -0
  547. package/out/fr/tools/fetch/annuaire-education.d.ts.map +1 -0
  548. package/out/fr/tools/fetch/annuaire-education.js +196 -0
  549. package/out/fr/tools/fetch/annuaire-education.js.map +1 -0
  550. package/out/fr/tools/fetch/ban.d.ts +9 -7
  551. package/out/fr/tools/fetch/ban.d.ts.map +1 -1
  552. package/out/fr/tools/fetch/ban.js +27 -18
  553. package/out/fr/tools/fetch/ban.js.map +1 -1
  554. package/out/fr/tools/fetch/finess.d.ts +145 -0
  555. package/out/fr/tools/fetch/finess.d.ts.map +1 -0
  556. package/out/fr/tools/fetch/finess.js +228 -0
  557. package/out/fr/tools/fetch/finess.js.map +1 -0
  558. package/out/gauntlet-inputs.d.ts +42 -0
  559. package/out/gauntlet-inputs.d.ts.map +1 -0
  560. package/out/gauntlet-inputs.js +78 -0
  561. package/out/gauntlet-inputs.js.map +1 -0
  562. package/out/index.d.ts +9 -3
  563. package/out/index.d.ts.map +1 -1
  564. package/out/index.js +9 -3
  565. package/out/index.js.map +1 -1
  566. package/out/inspire/address.d.ts +251 -0
  567. package/out/inspire/address.d.ts.map +1 -0
  568. package/out/inspire/address.js +384 -0
  569. package/out/inspire/address.js.map +1 -0
  570. package/out/inspire/archive.d.ts +36 -0
  571. package/out/inspire/archive.d.ts.map +1 -0
  572. package/out/inspire/archive.js +42 -0
  573. package/out/inspire/archive.js.map +1 -0
  574. package/out/inspire/errors.d.ts +55 -0
  575. package/out/inspire/errors.d.ts.map +1 -0
  576. package/out/inspire/errors.js +64 -0
  577. package/out/inspire/errors.js.map +1 -0
  578. package/out/inspire/stream.d.ts +137 -0
  579. package/out/inspire/stream.d.ts.map +1 -0
  580. package/out/inspire/stream.js +125 -0
  581. package/out/inspire/stream.js.map +1 -0
  582. package/out/international/recipes/locale.d.ts +38 -84
  583. package/out/international/recipes/locale.d.ts.map +1 -1
  584. package/out/international/recipes/locale.js +112 -151
  585. package/out/international/recipes/locale.js.map +1 -1
  586. package/out/it/adapters/anac/adapter.d.ts +267 -0
  587. package/out/it/adapters/anac/adapter.d.ts.map +1 -0
  588. package/out/it/adapters/anac/adapter.js +429 -0
  589. package/out/it/adapters/anac/adapter.js.map +1 -0
  590. package/out/it/tools/fetch/anac.d.ts +174 -0
  591. package/out/it/tools/fetch/anac.d.ts.map +1 -0
  592. package/out/it/tools/fetch/anac.js +272 -0
  593. package/out/it/tools/fetch/anac.js.map +1 -0
  594. package/out/jp/adapters/wof-admin/adapter.d.ts +14 -11
  595. package/out/jp/adapters/wof-admin/adapter.d.ts.map +1 -1
  596. package/out/jp/adapters/wof-admin/adapter.js +27 -16
  597. package/out/jp/adapters/wof-admin/adapter.js.map +1 -1
  598. package/out/jp/tools/fetch/houjin.d.ts +7 -4
  599. package/out/jp/tools/fetch/houjin.d.ts.map +1 -1
  600. package/out/jp/tools/fetch/houjin.js +15 -11
  601. package/out/jp/tools/fetch/houjin.js.map +1 -1
  602. package/out/kr/adapters/juso/label-rows.d.ts +17 -31
  603. package/out/kr/adapters/juso/label-rows.d.ts.map +1 -1
  604. package/out/kr/adapters/juso/label-rows.js +19 -41
  605. package/out/kr/adapters/juso/label-rows.js.map +1 -1
  606. package/out/kr/adapters/localdata/align.d.ts +4 -16
  607. package/out/kr/adapters/localdata/align.d.ts.map +1 -1
  608. package/out/kr/adapters/localdata/align.js +19 -30
  609. package/out/kr/adapters/localdata/align.js.map +1 -1
  610. package/out/kr/adapters/localdata/key-index.d.ts +13 -22
  611. package/out/kr/adapters/localdata/key-index.d.ts.map +1 -1
  612. package/out/kr/adapters/localdata/key-index.js +15 -21
  613. package/out/kr/adapters/localdata/key-index.js.map +1 -1
  614. package/out/kr/adapters/localdata/permit-rows.d.ts +21 -14
  615. package/out/kr/adapters/localdata/permit-rows.d.ts.map +1 -1
  616. package/out/kr/adapters/localdata/permit-rows.js +30 -25
  617. package/out/kr/adapters/localdata/permit-rows.js.map +1 -1
  618. package/out/kr/tools/fetch/juso.d.ts +11 -8
  619. package/out/kr/tools/fetch/juso.d.ts.map +1 -1
  620. package/out/kr/tools/fetch/juso.js +15 -14
  621. package/out/kr/tools/fetch/juso.js.map +1 -1
  622. package/out/kr/tools/fetch/localdata.d.ts +16 -9
  623. package/out/kr/tools/fetch/localdata.d.ts.map +1 -1
  624. package/out/kr/tools/fetch/localdata.js +23 -15
  625. package/out/kr/tools/fetch/localdata.js.map +1 -1
  626. package/out/lu/adapters/bd-adresses/adapter.d.ts +109 -0
  627. package/out/lu/adapters/bd-adresses/adapter.d.ts.map +1 -0
  628. package/out/lu/adapters/bd-adresses/adapter.js +196 -0
  629. package/out/lu/adapters/bd-adresses/adapter.js.map +1 -0
  630. package/out/lu/tools/fetch/bd-adresses.d.ts +163 -0
  631. package/out/lu/tools/fetch/bd-adresses.d.ts.map +1 -0
  632. package/out/lu/tools/fetch/bd-adresses.js +223 -0
  633. package/out/lu/tools/fetch/bd-adresses.js.map +1 -0
  634. package/out/lv/adapters/varis/adapter.d.ts +283 -0
  635. package/out/lv/adapters/varis/adapter.d.ts.map +1 -0
  636. package/out/lv/adapters/varis/adapter.js +404 -0
  637. package/out/lv/adapters/varis/adapter.js.map +1 -0
  638. package/out/lv/tools/fetch/varis.d.ts +80 -0
  639. package/out/lv/tools/fetch/varis.d.ts.map +1 -0
  640. package/out/lv/tools/fetch/varis.js +133 -0
  641. package/out/lv/tools/fetch/varis.js.map +1 -0
  642. package/out/nl/adapters/kadaster/adapter.d.ts +125 -0
  643. package/out/nl/adapters/kadaster/adapter.d.ts.map +1 -0
  644. package/out/nl/adapters/kadaster/adapter.js +310 -0
  645. package/out/nl/adapters/kadaster/adapter.js.map +1 -0
  646. package/out/nl/recipes/postcode.d.ts +12 -14
  647. package/out/nl/recipes/postcode.d.ts.map +1 -1
  648. package/out/nl/recipes/postcode.js +42 -24
  649. package/out/nl/recipes/postcode.js.map +1 -1
  650. package/out/nl/tools/fetch/kadaster.d.ts +155 -0
  651. package/out/nl/tools/fetch/kadaster.d.ts.map +1 -0
  652. package/out/nl/tools/fetch/kadaster.js +179 -0
  653. package/out/nl/tools/fetch/kadaster.js.map +1 -0
  654. package/out/no/adapters/matrikkelen/adapter.d.ts +44 -0
  655. package/out/no/adapters/matrikkelen/adapter.d.ts.map +1 -0
  656. package/out/no/adapters/matrikkelen/adapter.js +143 -0
  657. package/out/no/adapters/matrikkelen/adapter.js.map +1 -0
  658. package/out/no/recipes/fragment.d.ts +1 -33
  659. package/out/no/recipes/fragment.d.ts.map +1 -1
  660. package/out/no/recipes/fragment.js +23 -57
  661. package/out/no/recipes/fragment.js.map +1 -1
  662. package/out/no/recipes/street/led.d.ts +9 -12
  663. package/out/no/recipes/street/led.d.ts.map +1 -1
  664. package/out/no/recipes/street/led.js +34 -24
  665. package/out/no/recipes/street/led.js.map +1 -1
  666. package/out/no/recipes/street.d.ts +19 -0
  667. package/out/no/recipes/street.d.ts.map +1 -0
  668. package/out/no/recipes/{street/index.js → street.js} +28 -12
  669. package/out/no/recipes/street.js.map +1 -0
  670. package/out/no/tools/fetch/matrikkelen.d.ts +251 -0
  671. package/out/no/tools/fetch/matrikkelen.d.ts.map +1 -0
  672. package/out/no/tools/fetch/matrikkelen.js +345 -0
  673. package/out/no/tools/fetch/matrikkelen.js.map +1 -0
  674. package/out/parquet/duckdb.d.ts +100 -0
  675. package/out/parquet/duckdb.d.ts.map +1 -0
  676. package/out/parquet/duckdb.js +92 -0
  677. package/out/parquet/duckdb.js.map +1 -0
  678. package/out/parquet/readers.d.ts +44 -0
  679. package/out/parquet/readers.d.ts.map +1 -0
  680. package/out/parquet/readers.js +69 -0
  681. package/out/parquet/readers.js.map +1 -0
  682. package/out/parquet/schema.d.ts +95 -0
  683. package/out/parquet/schema.d.ts.map +1 -0
  684. package/out/parquet/schema.js +157 -0
  685. package/out/parquet/schema.js.map +1 -0
  686. package/out/parquet/shuffle.d.ts +25 -0
  687. package/out/parquet/shuffle.d.ts.map +1 -0
  688. package/out/parquet/shuffle.js +44 -0
  689. package/out/parquet/shuffle.js.map +1 -0
  690. package/out/parquet/span-sql.d.ts +49 -0
  691. package/out/parquet/span-sql.d.ts.map +1 -0
  692. package/out/parquet/span-sql.js +53 -0
  693. package/out/parquet/span-sql.js.map +1 -0
  694. package/out/parquet/streams.d.ts +47 -0
  695. package/out/parquet/streams.d.ts.map +1 -0
  696. package/out/parquet/streams.js +78 -0
  697. package/out/parquet/streams.js.map +1 -0
  698. package/out/parquet/writers.d.ts +124 -0
  699. package/out/parquet/writers.d.ts.map +1 -0
  700. package/out/parquet/writers.js +251 -0
  701. package/out/parquet/writers.js.map +1 -0
  702. package/out/pl/adapters/emuia/adapter.d.ts +81 -0
  703. package/out/pl/adapters/emuia/adapter.d.ts.map +1 -0
  704. package/out/pl/adapters/emuia/adapter.js +178 -0
  705. package/out/pl/adapters/emuia/adapter.js.map +1 -0
  706. package/out/pl/tools/fetch/emuia.d.ts +165 -0
  707. package/out/pl/tools/fetch/emuia.d.ts.map +1 -0
  708. package/out/pl/tools/fetch/emuia.js +260 -0
  709. package/out/pl/tools/fetch/emuia.js.map +1 -0
  710. package/out/recipes/anchor-absorption.d.ts +9 -9
  711. package/out/recipes/anchor-absorption.d.ts.map +1 -1
  712. package/out/recipes/anchor-absorption.js +29 -19
  713. package/out/recipes/anchor-absorption.js.map +1 -1
  714. package/out/recipes/bare/country.d.ts +2 -20
  715. package/out/recipes/bare/country.d.ts.map +1 -1
  716. package/out/recipes/bare/country.js +20 -31
  717. package/out/recipes/bare/country.js.map +1 -1
  718. package/out/recipes/bare/postcode/eval.d.ts +1 -1
  719. package/out/recipes/bare/postcode/eval.js +1 -1
  720. package/out/recipes/bare/postcode.d.ts +41 -0
  721. package/out/recipes/bare/postcode.d.ts.map +1 -0
  722. package/out/recipes/bare/{postcode/index.js → postcode.js} +91 -79
  723. package/out/recipes/bare/postcode.js.map +1 -0
  724. package/out/recipes/boundary-stress.d.ts +8 -8
  725. package/out/recipes/boundary-stress.d.ts.map +1 -1
  726. package/out/recipes/boundary-stress.js +36 -19
  727. package/out/recipes/boundary-stress.js.map +1 -1
  728. package/out/recipes/country-balanced.d.ts +3 -21
  729. package/out/recipes/country-balanced.d.ts.map +1 -1
  730. package/out/recipes/country-balanced.js +58 -76
  731. package/out/recipes/country-balanced.js.map +1 -1
  732. package/out/recipes/house-venue.d.ts +8 -6
  733. package/out/recipes/house-venue.d.ts.map +1 -1
  734. package/out/recipes/house-venue.js +29 -13
  735. package/out/recipes/house-venue.js.map +1 -1
  736. package/out/recipes/intersection.d.ts +20 -20
  737. package/out/recipes/intersection.d.ts.map +1 -1
  738. package/out/recipes/intersection.js +65 -53
  739. package/out/recipes/intersection.js.map +1 -1
  740. package/out/recipes/po/box/cedex/au-nz.d.ts.map +1 -1
  741. package/out/recipes/po/box/cedex/au-nz.js +3 -3
  742. package/out/recipes/po/box/cedex/au-nz.js.map +1 -1
  743. package/out/recipes/po/box/cedex/ca.d.ts.map +1 -1
  744. package/out/recipes/po/box/cedex/ca.js +2 -2
  745. package/out/recipes/po/box/cedex/ca.js.map +1 -1
  746. package/out/recipes/po/box/cedex/fr.d.ts.map +1 -1
  747. package/out/recipes/po/box/cedex/fr.js +3 -3
  748. package/out/recipes/po/box/cedex/fr.js.map +1 -1
  749. package/out/recipes/po/box/cedex/phrases.d.ts.map +1 -1
  750. package/out/recipes/po/box/cedex/phrases.js +7 -6
  751. package/out/recipes/po/box/cedex/phrases.js.map +1 -1
  752. package/out/recipes/po/box/cedex/recipe.d.ts +1 -1
  753. package/out/recipes/po/box/cedex/recipe.d.ts.map +1 -1
  754. package/out/recipes/po/box/cedex/recipe.js +25 -15
  755. package/out/recipes/po/box/cedex/recipe.js.map +1 -1
  756. package/out/recipes/po/box/cedex/sources.d.ts +12 -12
  757. package/out/recipes/po/box/cedex/sources.d.ts.map +1 -1
  758. package/out/recipes/po/box/cedex/sources.js +1 -1
  759. package/out/recipes/po/box/cedex/sources.js.map +1 -1
  760. package/out/recipes/po/box/cedex/us.d.ts.map +1 -1
  761. package/out/recipes/po/box/cedex/us.js +5 -2
  762. package/out/recipes/po/box/cedex/us.js.map +1 -1
  763. package/out/recipes/po/box.d.ts +18 -0
  764. package/out/recipes/po/box.d.ts.map +1 -0
  765. package/out/recipes/po/{box/index.js → box.js} +37 -19
  766. package/out/recipes/po/box.js.map +1 -0
  767. package/out/recipes/scaffold.d.ts +211 -138
  768. package/out/recipes/scaffold.d.ts.map +1 -1
  769. package/out/recipes/scaffold.js +72 -63
  770. package/out/recipes/scaffold.js.map +1 -1
  771. package/out/recipes/sources.d.ts +178 -0
  772. package/out/recipes/sources.d.ts.map +1 -0
  773. package/out/recipes/sources.js +348 -0
  774. package/out/recipes/sources.js.map +1 -0
  775. package/out/recipes/street/affix.d.ts +20 -50
  776. package/out/recipes/street/affix.d.ts.map +1 -1
  777. package/out/recipes/street/affix.js +45 -133
  778. package/out/recipes/street/affix.js.map +1 -1
  779. package/out/recipes/street/bare.d.ts +9 -7
  780. package/out/recipes/street/bare.d.ts.map +1 -1
  781. package/out/recipes/street/bare.js +25 -14
  782. package/out/recipes/street/bare.js.map +1 -1
  783. package/out/recipes/street.d.ts +6 -4
  784. package/out/recipes/street.d.ts.map +1 -1
  785. package/out/recipes/street.js +29 -8
  786. package/out/recipes/street.js.map +1 -1
  787. package/out/recipes/sub/venue/context.d.ts +12 -9
  788. package/out/recipes/sub/venue/context.d.ts.map +1 -1
  789. package/out/recipes/sub/venue/context.js +21 -17
  790. package/out/recipes/sub/venue/context.js.map +1 -1
  791. package/out/recipes/sub/venue/render.d.ts +58 -0
  792. package/out/recipes/sub/venue/render.d.ts.map +1 -0
  793. package/out/recipes/sub/venue/render.js +118 -0
  794. package/out/recipes/sub/venue/render.js.map +1 -0
  795. package/out/recipes/sub/venue/sources.d.ts +49 -92
  796. package/out/recipes/sub/venue/sources.d.ts.map +1 -1
  797. package/out/recipes/sub/venue/sources.js +43 -179
  798. package/out/recipes/sub/venue/sources.js.map +1 -1
  799. package/out/recipes/sub/venue.d.ts +176 -0
  800. package/out/recipes/sub/venue.d.ts.map +1 -0
  801. package/out/recipes/sub/venue.js +562 -0
  802. package/out/recipes/sub/venue.js.map +1 -0
  803. package/out/recipes/trailing-region.d.ts +9 -61
  804. package/out/recipes/trailing-region.d.ts.map +1 -1
  805. package/out/recipes/trailing-region.js +55 -85
  806. package/out/recipes/trailing-region.js.map +1 -1
  807. package/out/recipes/unit/sources.d.ts +28 -0
  808. package/out/recipes/unit/sources.d.ts.map +1 -0
  809. package/out/recipes/unit/sources.js +30 -0
  810. package/out/recipes/unit/sources.js.map +1 -0
  811. package/out/recipes/unit.d.ts +30 -17
  812. package/out/recipes/unit.d.ts.map +1 -1
  813. package/out/recipes/unit.js +90 -79
  814. package/out/recipes/unit.js.map +1 -1
  815. package/out/recipes.d.ts +26 -0
  816. package/out/recipes.d.ts.map +1 -0
  817. package/out/{recipes/index.js → recipes.js} +14 -12
  818. package/out/recipes.js.map +1 -0
  819. package/out/registers.d.ts +277 -0
  820. package/out/registers.d.ts.map +1 -0
  821. package/out/registers.js +273 -0
  822. package/out/registers.js.map +1 -0
  823. package/out/ro/adapters/retea-scolara/adapter.d.ts +114 -0
  824. package/out/ro/adapters/retea-scolara/adapter.d.ts.map +1 -0
  825. package/out/ro/adapters/retea-scolara/adapter.js +209 -0
  826. package/out/ro/adapters/retea-scolara/adapter.js.map +1 -0
  827. package/out/ro/tools/fetch/retea-scolara.d.ts +69 -0
  828. package/out/ro/tools/fetch/retea-scolara.d.ts.map +1 -0
  829. package/out/ro/tools/fetch/retea-scolara.js +117 -0
  830. package/out/ro/tools/fetch/retea-scolara.js.map +1 -0
  831. package/out/runner.d.ts +120 -60
  832. package/out/runner.d.ts.map +1 -1
  833. package/out/runner.js +130 -56
  834. package/out/runner.js.map +1 -1
  835. package/out/sg/recipes/register.d.ts +18 -32
  836. package/out/sg/recipes/register.d.ts.map +1 -1
  837. package/out/sg/recipes/register.js +44 -49
  838. package/out/sg/recipes/register.js.map +1 -1
  839. package/out/sg/tools/fetch/acra.d.ts +11 -14
  840. package/out/sg/tools/fetch/acra.d.ts.map +1 -1
  841. package/out/sg/tools/fetch/acra.js +16 -19
  842. package/out/sg/tools/fetch/acra.js.map +1 -1
  843. package/out/si/recipes/bare-village.d.ts +12 -13
  844. package/out/si/recipes/bare-village.d.ts.map +1 -1
  845. package/out/si/recipes/bare-village.js +31 -17
  846. package/out/si/recipes/bare-village.js.map +1 -1
  847. package/out/sk/adapters/inspire/adapter.d.ts +119 -0
  848. package/out/sk/adapters/inspire/adapter.d.ts.map +1 -0
  849. package/out/sk/adapters/inspire/adapter.js +318 -0
  850. package/out/sk/adapters/inspire/adapter.js.map +1 -0
  851. package/out/sk/tools/fetch/inspire.d.ts +195 -0
  852. package/out/sk/tools/fetch/inspire.d.ts.map +1 -0
  853. package/out/sk/tools/fetch/inspire.js +280 -0
  854. package/out/sk/tools/fetch/inspire.js.map +1 -0
  855. package/out/source-register/effective-manifest.d.ts +355 -0
  856. package/out/source-register/effective-manifest.d.ts.map +1 -0
  857. package/out/source-register/effective-manifest.js +355 -0
  858. package/out/source-register/effective-manifest.js.map +1 -0
  859. package/out/source-register/register.d.ts +79 -0
  860. package/out/source-register/register.d.ts.map +1 -0
  861. package/out/source-register/register.js +400 -0
  862. package/out/source-register/register.js.map +1 -0
  863. package/out/source-register/training-manifest.d.ts +111 -0
  864. package/out/source-register/training-manifest.d.ts.map +1 -0
  865. package/out/source-register/training-manifest.js +120 -0
  866. package/out/source-register/training-manifest.js.map +1 -0
  867. package/out/source-register/types.d.ts +539 -0
  868. package/out/source-register/types.d.ts.map +1 -0
  869. package/out/source-register/types.js +263 -0
  870. package/out/source-register/types.js.map +1 -0
  871. package/out/source-register.d.ts +19 -0
  872. package/out/source-register.d.ts.map +1 -0
  873. package/out/source-register.js +16 -0
  874. package/out/source-register.js.map +1 -0
  875. package/out/south-asia/recipes/register.d.ts +20 -17
  876. package/out/south-asia/recipes/register.d.ts.map +1 -1
  877. package/out/south-asia/recipes/register.js +44 -24
  878. package/out/south-asia/recipes/register.js.map +1 -1
  879. package/out/subvenue/harvest.d.ts +117 -0
  880. package/out/subvenue/harvest.d.ts.map +1 -0
  881. package/out/subvenue/harvest.js +172 -0
  882. package/out/subvenue/harvest.js.map +1 -0
  883. package/out/subvenue/promotions.d.ts +65 -0
  884. package/out/subvenue/promotions.d.ts.map +1 -0
  885. package/out/{tools/sub/venue → subvenue}/promotions.js +15 -55
  886. package/out/subvenue/promotions.js.map +1 -0
  887. package/out/subvenue/surfaces.d.ts +39 -0
  888. package/out/subvenue/surfaces.d.ts.map +1 -0
  889. package/out/subvenue/surfaces.js +75 -0
  890. package/out/subvenue/surfaces.js.map +1 -0
  891. package/out/subvenue/table.d.ts +212 -0
  892. package/out/subvenue/table.d.ts.map +1 -0
  893. package/out/subvenue/table.js +94 -0
  894. package/out/subvenue/table.js.map +1 -0
  895. package/out/surfaces/locale.d.ts +113 -0
  896. package/out/surfaces/locale.d.ts.map +1 -0
  897. package/out/surfaces/locale.js +136 -0
  898. package/out/surfaces/locale.js.map +1 -0
  899. package/out/synthesizers/anchor-absorption.d.ts +21 -30
  900. package/out/synthesizers/anchor-absorption.d.ts.map +1 -1
  901. package/out/synthesizers/anchor-absorption.js +30 -85
  902. package/out/synthesizers/anchor-absorption.js.map +1 -1
  903. package/out/synthesizers/boundary-stress.d.ts +17 -48
  904. package/out/synthesizers/boundary-stress.d.ts.map +1 -1
  905. package/out/synthesizers/boundary-stress.js +27 -121
  906. package/out/synthesizers/boundary-stress.js.map +1 -1
  907. package/out/synthesizers/house-venue.d.ts +22 -25
  908. package/out/synthesizers/house-venue.d.ts.map +1 -1
  909. package/out/synthesizers/house-venue.js +28 -97
  910. package/out/synthesizers/house-venue.js.map +1 -1
  911. package/out/synthesizers/intersection.d.ts +10 -8
  912. package/out/synthesizers/intersection.d.ts.map +1 -1
  913. package/out/synthesizers/intersection.js +33 -26
  914. package/out/synthesizers/intersection.js.map +1 -1
  915. package/out/synthesizers/no-street.d.ts +7 -37
  916. package/out/synthesizers/no-street.d.ts.map +1 -1
  917. package/out/synthesizers/no-street.js +55 -111
  918. package/out/synthesizers/no-street.js.map +1 -1
  919. package/out/synthesizers/po-box.d.ts +46 -45
  920. package/out/synthesizers/po-box.d.ts.map +1 -1
  921. package/out/synthesizers/po-box.js +57 -97
  922. package/out/synthesizers/po-box.js.map +1 -1
  923. package/out/synthesizers/street.d.ts +18 -12
  924. package/out/synthesizers/street.d.ts.map +1 -1
  925. package/out/synthesizers/street.js +36 -29
  926. package/out/synthesizers/street.js.map +1 -1
  927. package/out/synthesizers/utils.d.ts +32 -129
  928. package/out/synthesizers/utils.d.ts.map +1 -1
  929. package/out/synthesizers/utils.js +54 -166
  930. package/out/synthesizers/utils.js.map +1 -1
  931. package/out/test-kit/corpus-recipe.d.ts +29 -23
  932. package/out/test-kit/corpus-recipe.d.ts.map +1 -1
  933. package/out/test-kit/corpus-recipe.js +28 -13
  934. package/out/test-kit/corpus-recipe.js.map +1 -1
  935. package/out/test-kit.d.ts +63 -0
  936. package/out/test-kit.d.ts.map +1 -0
  937. package/out/test-kit.js +88 -0
  938. package/out/test-kit.js.map +1 -0
  939. package/out/tools/align-canonical.d.ts +7 -0
  940. package/out/tools/align-canonical.d.ts.map +1 -0
  941. package/out/tools/align-canonical.js +52 -0
  942. package/out/tools/align-canonical.js.map +1 -0
  943. package/out/tools/audit.d.ts +18 -11
  944. package/out/tools/audit.d.ts.map +1 -1
  945. package/out/tools/audit.js +86 -95
  946. package/out/tools/audit.js.map +1 -1
  947. package/out/tools/corpus-stats.d.ts +24 -15
  948. package/out/tools/corpus-stats.d.ts.map +1 -1
  949. package/out/tools/corpus-stats.js +33 -29
  950. package/out/tools/corpus-stats.js.map +1 -1
  951. package/out/tools/fetch/atom.d.ts +115 -0
  952. package/out/tools/fetch/atom.d.ts.map +1 -0
  953. package/out/tools/fetch/atom.js +84 -0
  954. package/out/tools/fetch/atom.js.map +1 -0
  955. package/out/tools/fetch/cordis.d.ts +123 -0
  956. package/out/tools/fetch/cordis.d.ts.map +1 -0
  957. package/out/tools/fetch/cordis.js +208 -0
  958. package/out/tools/fetch/cordis.js.map +1 -0
  959. package/out/tools/fetch/download/manifest.d.ts +27 -18
  960. package/out/tools/fetch/download/manifest.d.ts.map +1 -1
  961. package/out/tools/fetch/download/manifest.js +20 -13
  962. package/out/tools/fetch/download/manifest.js.map +1 -1
  963. package/out/tools/fetch/download/network.d.ts +48 -27
  964. package/out/tools/fetch/download/network.d.ts.map +1 -1
  965. package/out/tools/fetch/download/network.js +26 -16
  966. package/out/tools/fetch/download/network.js.map +1 -1
  967. package/out/tools/fetch/download/retry.d.ts +16 -15
  968. package/out/tools/fetch/download/retry.d.ts.map +1 -1
  969. package/out/tools/fetch/download/retry.js +24 -24
  970. package/out/tools/fetch/download/retry.js.map +1 -1
  971. package/out/tools/fetch/{download/index.d.ts → download.d.ts} +1 -1
  972. package/out/tools/fetch/download.d.ts.map +1 -0
  973. package/out/tools/fetch/{download/index.js → download.js} +1 -1
  974. package/out/tools/fetch/download.js.map +1 -0
  975. package/out/tools/fetch/geonames/dump.d.ts +50 -32
  976. package/out/tools/fetch/geonames/dump.d.ts.map +1 -1
  977. package/out/tools/fetch/geonames/dump.js +52 -42
  978. package/out/tools/fetch/geonames/dump.js.map +1 -1
  979. package/out/tools/fetch/geonames/postal.d.ts +14 -49
  980. package/out/tools/fetch/geonames/postal.d.ts.map +1 -1
  981. package/out/tools/fetch/geonames/postal.js +17 -56
  982. package/out/tools/fetch/geonames/postal.js.map +1 -1
  983. package/out/tools/fetch/gleif.d.ts +137 -0
  984. package/out/tools/fetch/gleif.d.ts.map +1 -0
  985. package/out/tools/fetch/gleif.js +220 -0
  986. package/out/tools/fetch/gleif.js.map +1 -0
  987. package/out/tools/fetch/header.d.ts +41 -0
  988. package/out/tools/fetch/header.d.ts.map +1 -0
  989. package/out/tools/fetch/header.js +59 -0
  990. package/out/tools/fetch/header.js.map +1 -0
  991. package/out/tools/fetch/inspire-addresses.d.ts +249 -0
  992. package/out/tools/fetch/inspire-addresses.d.ts.map +1 -0
  993. package/out/tools/fetch/inspire-addresses.js +276 -0
  994. package/out/tools/fetch/inspire-addresses.js.map +1 -0
  995. package/out/tools/fetch/openaddresses.d.ts +1 -4
  996. package/out/tools/fetch/openaddresses.d.ts.map +1 -1
  997. package/out/tools/fetch/openaddresses.js +19 -98
  998. package/out/tools/fetch/openaddresses.js.map +1 -1
  999. package/out/tools/fetch/ourairports.d.ts +6 -33
  1000. package/out/tools/fetch/ourairports.d.ts.map +1 -1
  1001. package/out/tools/fetch/ourairports.js +14 -47
  1002. package/out/tools/fetch/ourairports.js.map +1 -1
  1003. package/out/tools/fetch/ppd.d.ts +4 -3
  1004. package/out/tools/fetch/ppd.d.ts.map +1 -1
  1005. package/out/tools/fetch/ppd.js +10 -7
  1006. package/out/tools/fetch/ppd.js.map +1 -1
  1007. package/out/tools/fetch/vlaanderen-ad.d.ts +131 -0
  1008. package/out/tools/fetch/vlaanderen-ad.d.ts.map +1 -0
  1009. package/out/tools/fetch/vlaanderen-ad.js +293 -0
  1010. package/out/tools/fetch/vlaanderen-ad.js.map +1 -0
  1011. package/out/tools/fetch/wfs-harvest.d.ts +410 -0
  1012. package/out/tools/fetch/wfs-harvest.d.ts.map +1 -0
  1013. package/out/tools/fetch/wfs-harvest.js +522 -0
  1014. package/out/tools/fetch/wfs-harvest.js.map +1 -0
  1015. package/out/tools/fetch/wikidata-subvenue.d.ts +32 -100
  1016. package/out/tools/fetch/wikidata-subvenue.d.ts.map +1 -1
  1017. package/out/tools/fetch/wikidata-subvenue.js +27 -122
  1018. package/out/tools/fetch/wikidata-subvenue.js.map +1 -1
  1019. package/out/tools/fetch/zip-archive.d.ts +54 -0
  1020. package/out/tools/fetch/zip-archive.d.ts.map +1 -0
  1021. package/out/tools/fetch/zip-archive.js +58 -0
  1022. package/out/tools/fetch/zip-archive.js.map +1 -0
  1023. package/out/tools/fetch.d.ts +140 -0
  1024. package/out/tools/fetch.d.ts.map +1 -0
  1025. package/out/tools/fetch.js +136 -0
  1026. package/out/tools/fetch.js.map +1 -0
  1027. package/out/tools/golden/expand.d.ts +28 -13
  1028. package/out/tools/golden/expand.d.ts.map +1 -1
  1029. package/out/tools/golden/expand.js +50 -36
  1030. package/out/tools/golden/expand.js.map +1 -1
  1031. package/out/tools/golden/promote.d.ts +13 -8
  1032. package/out/tools/golden/promote.d.ts.map +1 -1
  1033. package/out/tools/golden/promote.js +33 -28
  1034. package/out/tools/golden/promote.js.map +1 -1
  1035. package/out/tools/golden/relabel-street/directory.d.ts +24 -9
  1036. package/out/tools/golden/relabel-street/directory.d.ts.map +1 -1
  1037. package/out/tools/golden/relabel-street/directory.js +41 -30
  1038. package/out/tools/golden/relabel-street/directory.js.map +1 -1
  1039. package/out/tools/golden/relabel-street/row.d.ts +17 -69
  1040. package/out/tools/golden/relabel-street/row.d.ts.map +1 -1
  1041. package/out/tools/golden/relabel-street/row.js +16 -74
  1042. package/out/tools/golden/relabel-street/row.js.map +1 -1
  1043. package/out/tools/golden/{relabel-street/index.d.ts → relabel-street.d.ts} +1 -1
  1044. package/out/tools/golden/relabel-street.d.ts.map +1 -0
  1045. package/out/tools/golden/{relabel-street/index.js → relabel-street.js} +1 -1
  1046. package/out/tools/golden/relabel-street.js.map +1 -0
  1047. package/out/tools/ingest-csv.d.ts +19 -15
  1048. package/out/tools/ingest-csv.d.ts.map +1 -1
  1049. package/out/tools/ingest-csv.js +39 -43
  1050. package/out/tools/ingest-csv.js.map +1 -1
  1051. package/out/tools/jsonl-to-parquet.d.ts +15 -28
  1052. package/out/tools/jsonl-to-parquet.d.ts.map +1 -1
  1053. package/out/tools/jsonl-to-parquet.js +49 -91
  1054. package/out/tools/jsonl-to-parquet.js.map +1 -1
  1055. package/out/tools/lint/recipe-output/vocab.d.ts +77 -0
  1056. package/out/tools/lint/recipe-output/vocab.d.ts.map +1 -0
  1057. package/out/tools/lint/{slice → recipe-output}/vocab.js +54 -69
  1058. package/out/tools/lint/recipe-output/vocab.js.map +1 -0
  1059. package/out/tools/lint/recipe-output.d.ts +73 -0
  1060. package/out/tools/lint/recipe-output.d.ts.map +1 -0
  1061. package/out/tools/lint/{slice/index.js → recipe-output.js} +76 -96
  1062. package/out/tools/lint/recipe-output.js.map +1 -0
  1063. package/out/tools/migrate/overlay-parquet.d.ts +30 -0
  1064. package/out/tools/migrate/overlay-parquet.d.ts.map +1 -0
  1065. package/out/tools/migrate/overlay-parquet.js +141 -0
  1066. package/out/tools/migrate/overlay-parquet.js.map +1 -0
  1067. package/out/tools/migrate/recipe-output.d.ts +35 -0
  1068. package/out/tools/migrate/recipe-output.d.ts.map +1 -0
  1069. package/out/tools/migrate/recipe-output.js +124 -0
  1070. package/out/tools/migrate/recipe-output.js.map +1 -0
  1071. package/out/tools/migrate/source-names.d.ts +52 -0
  1072. package/out/tools/migrate/source-names.d.ts.map +1 -0
  1073. package/out/tools/migrate/source-names.js +105 -0
  1074. package/out/tools/migrate/source-names.js.map +1 -0
  1075. package/out/tools/overlay/kryptonite.d.ts +33 -0
  1076. package/out/tools/overlay/kryptonite.d.ts.map +1 -0
  1077. package/out/tools/{slice → overlay}/kryptonite.js +37 -28
  1078. package/out/tools/overlay/kryptonite.js.map +1 -0
  1079. package/out/tools/overlay/manifest.d.ts +142 -0
  1080. package/out/tools/overlay/manifest.d.ts.map +1 -0
  1081. package/out/tools/overlay/manifest.js +260 -0
  1082. package/out/tools/overlay/manifest.js.map +1 -0
  1083. package/out/tools/overlay/merge-source.d.ts +73 -0
  1084. package/out/tools/overlay/merge-source.d.ts.map +1 -0
  1085. package/out/tools/overlay/merge-source.js +63 -0
  1086. package/out/tools/overlay/merge-source.js.map +1 -0
  1087. package/out/tools/overlay/split-slice.d.ts +66 -0
  1088. package/out/tools/overlay/split-slice.d.ts.map +1 -0
  1089. package/out/tools/overlay/split-slice.js +78 -0
  1090. package/out/tools/overlay/split-slice.js.map +1 -0
  1091. package/out/tools/overlay/translit.d.ts +54 -0
  1092. package/out/tools/overlay/translit.d.ts.map +1 -0
  1093. package/out/tools/{slice → overlay}/translit.js +59 -48
  1094. package/out/tools/overlay/translit.js.map +1 -0
  1095. package/out/tools/overture-subvenue.d.ts +16 -75
  1096. package/out/tools/overture-subvenue.d.ts.map +1 -1
  1097. package/out/tools/overture-subvenue.js +7 -74
  1098. package/out/tools/overture-subvenue.js.map +1 -1
  1099. package/out/tools/postcode-triples.d.ts +77 -126
  1100. package/out/tools/postcode-triples.d.ts.map +1 -1
  1101. package/out/tools/postcode-triples.js +198 -192
  1102. package/out/tools/postcode-triples.js.map +1 -1
  1103. package/out/tools/source-register/build.d.ts +145 -0
  1104. package/out/tools/source-register/build.d.ts.map +1 -0
  1105. package/out/tools/source-register/build.js +515 -0
  1106. package/out/tools/source-register/build.js.map +1 -0
  1107. package/out/tools/sub/venue/head-nouns.d.ts +9 -38
  1108. package/out/tools/sub/venue/head-nouns.d.ts.map +1 -1
  1109. package/out/tools/sub/venue/head-nouns.js +37 -74
  1110. package/out/tools/sub/venue/head-nouns.js.map +1 -1
  1111. package/out/tools/sub/venue/lexicon.d.ts +55 -82
  1112. package/out/tools/sub/venue/lexicon.d.ts.map +1 -1
  1113. package/out/tools/sub/venue/lexicon.js +43 -87
  1114. package/out/tools/sub/venue/lexicon.js.map +1 -1
  1115. package/out/tools/sub/venue/wikidata.d.ts +8 -6
  1116. package/out/tools/sub/venue/wikidata.d.ts.map +1 -1
  1117. package/out/tools/sub/venue/wikidata.js +12 -9
  1118. package/out/tools/sub/venue/wikidata.js.map +1 -1
  1119. package/out/tools.d.ts +31 -0
  1120. package/out/tools.d.ts.map +1 -0
  1121. package/out/tools.js +31 -0
  1122. package/out/tools.js.map +1 -0
  1123. package/out/tw/tools/fetch/gcis.d.ts +9 -3
  1124. package/out/tw/tools/fetch/gcis.d.ts.map +1 -1
  1125. package/out/tw/tools/fetch/gcis.js +16 -10
  1126. package/out/tw/tools/fetch/gcis.js.map +1 -1
  1127. package/out/types.d.ts +270 -101
  1128. package/out/types.d.ts.map +1 -1
  1129. package/out/types.js +133 -9
  1130. package/out/types.js.map +1 -1
  1131. package/out/us/adapters/fcc-bdc/adapter.d.ts +18 -36
  1132. package/out/us/adapters/fcc-bdc/adapter.d.ts.map +1 -1
  1133. package/out/us/adapters/fcc-bdc/adapter.js +25 -38
  1134. package/out/us/adapters/fcc-bdc/adapter.js.map +1 -1
  1135. package/out/us/adapters/state/hi-schools/adapter.d.ts +12 -11
  1136. package/out/us/adapters/state/hi-schools/adapter.d.ts.map +1 -1
  1137. package/out/us/adapters/state/hi-schools/adapter.js +26 -16
  1138. package/out/us/adapters/state/hi-schools/adapter.js.map +1 -1
  1139. package/out/us/adapters/state/hi-schools/workbook.d.ts +7 -2
  1140. package/out/us/adapters/state/hi-schools/workbook.d.ts.map +1 -1
  1141. package/out/us/adapters/state/hi-schools/workbook.js +3 -1
  1142. package/out/us/adapters/state/hi-schools/workbook.js.map +1 -1
  1143. package/out/us/adapters/state/ia-contractors/adapter.d.ts +13 -6
  1144. package/out/us/adapters/state/ia-contractors/adapter.d.ts.map +1 -1
  1145. package/out/us/adapters/state/ia-contractors/adapter.js +27 -14
  1146. package/out/us/adapters/state/ia-contractors/adapter.js.map +1 -1
  1147. package/out/us/adapters/state/ny-notaries/adapter.d.ts +7 -6
  1148. package/out/us/adapters/state/ny-notaries/adapter.d.ts.map +1 -1
  1149. package/out/us/adapters/state/ny-notaries/adapter.js +24 -22
  1150. package/out/us/adapters/state/ny-notaries/adapter.js.map +1 -1
  1151. package/out/us/adapters/state/tx-notaries/adapter.d.ts +8 -7
  1152. package/out/us/adapters/state/tx-notaries/adapter.d.ts.map +1 -1
  1153. package/out/us/adapters/state/tx-notaries/adapter.js +21 -14
  1154. package/out/us/adapters/state/tx-notaries/adapter.js.map +1 -1
  1155. package/out/us/adapters/tiger/adapter.d.ts +10 -34
  1156. package/out/us/adapters/tiger/adapter.d.ts.map +1 -1
  1157. package/out/us/adapters/tiger/adapter.js +18 -42
  1158. package/out/us/adapters/tiger/adapter.js.map +1 -1
  1159. package/out/us/adapters/tiger/street-decompose.d.ts +6 -13
  1160. package/out/us/adapters/tiger/street-decompose.d.ts.map +1 -1
  1161. package/out/us/adapters/tiger/street-decompose.js +7 -17
  1162. package/out/us/adapters/tiger/street-decompose.js.map +1 -1
  1163. package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts +26 -20
  1164. package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts.map +1 -1
  1165. package/out/us/adapters/usgov/hrsa-fqhc/adapter.js +41 -29
  1166. package/out/us/adapters/usgov/hrsa-fqhc/adapter.js.map +1 -1
  1167. package/out/us/adapters/usgov/imls-pls/adapter.d.ts +8 -7
  1168. package/out/us/adapters/usgov/imls-pls/adapter.d.ts.map +1 -1
  1169. package/out/us/adapters/usgov/imls-pls/adapter.js +25 -18
  1170. package/out/us/adapters/usgov/imls-pls/adapter.js.map +1 -1
  1171. package/out/us/adapters/usgov/irs-bmf/adapter.d.ts +11 -10
  1172. package/out/us/adapters/usgov/irs-bmf/adapter.d.ts.map +1 -1
  1173. package/out/us/adapters/usgov/irs-bmf/adapter.js +32 -22
  1174. package/out/us/adapters/usgov/irs-bmf/adapter.js.map +1 -1
  1175. package/out/us/adapters/usgov/nad/adapter.d.ts +11 -31
  1176. package/out/us/adapters/usgov/nad/adapter.d.ts.map +1 -1
  1177. package/out/us/adapters/usgov/nad/adapter.js +51 -105
  1178. package/out/us/adapters/usgov/nad/adapter.js.map +1 -1
  1179. package/out/us/adapters/usgov/nppes/adapter.d.ts +12 -22
  1180. package/out/us/adapters/usgov/nppes/adapter.d.ts.map +1 -1
  1181. package/out/us/adapters/usgov/nppes/adapter.js +62 -32
  1182. package/out/us/adapters/usgov/nppes/adapter.js.map +1 -1
  1183. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts +16 -15
  1184. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts.map +1 -1
  1185. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js +36 -26
  1186. package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js.map +1 -1
  1187. package/out/us/fips-state.d.ts +17 -8
  1188. package/out/us/fips-state.d.ts.map +1 -1
  1189. package/out/us/fips-state.js +17 -8
  1190. package/out/us/fips-state.js.map +1 -1
  1191. package/out/us/tools/fetch/hrsa.d.ts +3 -3
  1192. package/out/us/tools/fetch/hrsa.d.ts.map +1 -1
  1193. package/out/us/tools/fetch/hrsa.js +6 -7
  1194. package/out/us/tools/fetch/hrsa.js.map +1 -1
  1195. package/out/us/tools/fetch/imls-pls.d.ts +5 -16
  1196. package/out/us/tools/fetch/imls-pls.d.ts.map +1 -1
  1197. package/out/us/tools/fetch/imls-pls.js +16 -33
  1198. package/out/us/tools/fetch/imls-pls.js.map +1 -1
  1199. package/out/us/tools/fetch/nad.d.ts +22 -10
  1200. package/out/us/tools/fetch/nad.d.ts.map +1 -1
  1201. package/out/us/tools/fetch/nad.js +29 -24
  1202. package/out/us/tools/fetch/nad.js.map +1 -1
  1203. package/out/us/tools/fetch/nppes.d.ts +6 -16
  1204. package/out/us/tools/fetch/nppes.d.ts.map +1 -1
  1205. package/out/us/tools/fetch/nppes.js +21 -33
  1206. package/out/us/tools/fetch/nppes.js.map +1 -1
  1207. package/out/us/tools/fetch/state/hi-schools.d.ts +8 -5
  1208. package/out/us/tools/fetch/state/hi-schools.d.ts.map +1 -1
  1209. package/out/us/tools/fetch/state/hi-schools.js +15 -13
  1210. package/out/us/tools/fetch/state/hi-schools.js.map +1 -1
  1211. package/out/us/tools/fetch/state/sources.d.ts +8 -7
  1212. package/out/us/tools/fetch/state/sources.d.ts.map +1 -1
  1213. package/out/us/tools/fetch/state/sources.js +8 -9
  1214. package/out/us/tools/fetch/state/sources.js.map +1 -1
  1215. package/out/us/tools/fetch/tiger-full.d.ts +1 -14
  1216. package/out/us/tools/fetch/tiger-full.d.ts.map +1 -1
  1217. package/out/us/tools/fetch/tiger-full.js +15 -54
  1218. package/out/us/tools/fetch/tiger-full.js.map +1 -1
  1219. package/out/utils/align.d.ts +24 -19
  1220. package/out/utils/align.d.ts.map +1 -1
  1221. package/out/utils/align.js +27 -42
  1222. package/out/utils/align.js.map +1 -1
  1223. package/out/utils/cooccurrence-stats.d.ts +58 -0
  1224. package/out/utils/cooccurrence-stats.d.ts.map +1 -0
  1225. package/out/utils/cooccurrence-stats.js +62 -0
  1226. package/out/utils/cooccurrence-stats.js.map +1 -0
  1227. package/out/utils/golden.d.ts +21 -31
  1228. package/out/utils/golden.d.ts.map +1 -1
  1229. package/out/utils/golden.js +28 -44
  1230. package/out/utils/golden.js.map +1 -1
  1231. package/out/utils/license.d.ts +158 -21
  1232. package/out/utils/license.d.ts.map +1 -1
  1233. package/out/utils/license.js +156 -26
  1234. package/out/utils/license.js.map +1 -1
  1235. package/out/utils/split.d.ts +66 -70
  1236. package/out/utils/split.d.ts.map +1 -1
  1237. package/out/utils/split.js +158 -69
  1238. package/out/utils/split.js.map +1 -1
  1239. package/out/utils/tokenize.d.ts +16 -28
  1240. package/out/utils/tokenize.d.ts.map +1 -1
  1241. package/out/utils/tokenize.js +18 -31
  1242. package/out/utils/tokenize.js.map +1 -1
  1243. package/out/utils/wof-json.d.ts +88 -62
  1244. package/out/utils/wof-json.d.ts.map +1 -1
  1245. package/out/utils/wof-json.js +76 -55
  1246. package/out/utils/wof-json.js.map +1 -1
  1247. package/out/{utils/index.js → utils.d.ts} +1 -2
  1248. package/out/utils.d.ts.map +1 -0
  1249. package/out/{utils/index.d.ts → utils.js} +1 -2
  1250. package/out/utils.js.map +1 -0
  1251. package/out/ve/recipes/reviewed-postcode-tail.d.ts +25 -7
  1252. package/out/ve/recipes/reviewed-postcode-tail.d.ts.map +1 -1
  1253. package/out/ve/recipes/reviewed-postcode-tail.js +33 -12
  1254. package/out/ve/recipes/reviewed-postcode-tail.js.map +1 -1
  1255. package/package.json +46 -480
  1256. package/lib/adapters/index.ts +0 -160
  1257. package/lib/adapters/synth-po-box/adapter.ts +0 -204
  1258. package/lib/adapters/utils/index.ts +0 -307
  1259. package/lib/recipes/bare/postcode/index.ts +0 -327
  1260. package/lib/recipes/sub/venue/index.ts +0 -997
  1261. package/lib/synthesizers/locale.ts +0 -261
  1262. package/lib/test-kit/index.ts +0 -100
  1263. package/lib/tools/align-slice.ts +0 -68
  1264. package/lib/tools/fetch/index.ts +0 -174
  1265. package/lib/tools/gb-title-case.ts +0 -69
  1266. package/lib/tools/index.ts +0 -28
  1267. package/lib/tools/lint/slice/vocab.ts +0 -376
  1268. package/lib/tools/overlay-manifest.ts +0 -215
  1269. package/lib/tools/sub/venue/harvest.ts +0 -234
  1270. package/lib/tools/sub/venue/surfaces.ts +0 -95
  1271. package/lib/tools/sub/venue/table.ts +0 -281
  1272. package/lib/utils/parquet.ts +0 -582
  1273. package/out/adapters/index.d.ts +0 -51
  1274. package/out/adapters/index.d.ts.map +0 -1
  1275. package/out/adapters/index.js +0 -97
  1276. package/out/adapters/index.js.map +0 -1
  1277. package/out/adapters/synth-po-box/adapter.d.ts +0 -67
  1278. package/out/adapters/synth-po-box/adapter.d.ts.map +0 -1
  1279. package/out/adapters/synth-po-box/adapter.js.map +0 -1
  1280. package/out/adapters/utils/index.d.ts +0 -191
  1281. package/out/adapters/utils/index.d.ts.map +0 -1
  1282. package/out/adapters/utils/index.js +0 -206
  1283. package/out/adapters/utils/index.js.map +0 -1
  1284. package/out/fr/adapters/ban/street-decompose.d.ts.map +0 -1
  1285. package/out/fr/adapters/ban/street-decompose.js.map +0 -1
  1286. package/out/no/recipes/street/index.d.ts +0 -18
  1287. package/out/no/recipes/street/index.d.ts.map +0 -1
  1288. package/out/no/recipes/street/index.js.map +0 -1
  1289. package/out/recipes/bare/postcode/index.d.ts +0 -62
  1290. package/out/recipes/bare/postcode/index.d.ts.map +0 -1
  1291. package/out/recipes/bare/postcode/index.js.map +0 -1
  1292. package/out/recipes/index.d.ts +0 -24
  1293. package/out/recipes/index.d.ts.map +0 -1
  1294. package/out/recipes/index.js.map +0 -1
  1295. package/out/recipes/po/box/index.d.ts +0 -17
  1296. package/out/recipes/po/box/index.d.ts.map +0 -1
  1297. package/out/recipes/po/box/index.js.map +0 -1
  1298. package/out/recipes/sub/venue/index.d.ts +0 -270
  1299. package/out/recipes/sub/venue/index.d.ts.map +0 -1
  1300. package/out/recipes/sub/venue/index.js +0 -728
  1301. package/out/recipes/sub/venue/index.js.map +0 -1
  1302. package/out/synthesizers/locale.d.ts +0 -116
  1303. package/out/synthesizers/locale.d.ts.map +0 -1
  1304. package/out/synthesizers/locale.js +0 -150
  1305. package/out/synthesizers/locale.js.map +0 -1
  1306. package/out/test-kit/index.d.ts +0 -48
  1307. package/out/test-kit/index.d.ts.map +0 -1
  1308. package/out/test-kit/index.js +0 -78
  1309. package/out/test-kit/index.js.map +0 -1
  1310. package/out/tools/align-slice.d.ts +0 -7
  1311. package/out/tools/align-slice.d.ts.map +0 -1
  1312. package/out/tools/align-slice.js +0 -55
  1313. package/out/tools/align-slice.js.map +0 -1
  1314. package/out/tools/fetch/download/index.d.ts.map +0 -1
  1315. package/out/tools/fetch/download/index.js.map +0 -1
  1316. package/out/tools/fetch/index.d.ts +0 -171
  1317. package/out/tools/fetch/index.d.ts.map +0 -1
  1318. package/out/tools/fetch/index.js +0 -170
  1319. package/out/tools/fetch/index.js.map +0 -1
  1320. package/out/tools/gb-title-case.d.ts +0 -2
  1321. package/out/tools/gb-title-case.d.ts.map +0 -1
  1322. package/out/tools/gb-title-case.js +0 -65
  1323. package/out/tools/gb-title-case.js.map +0 -1
  1324. package/out/tools/golden/relabel-street/index.d.ts.map +0 -1
  1325. package/out/tools/golden/relabel-street/index.js.map +0 -1
  1326. package/out/tools/index.d.ts +0 -28
  1327. package/out/tools/index.d.ts.map +0 -1
  1328. package/out/tools/index.js +0 -28
  1329. package/out/tools/index.js.map +0 -1
  1330. package/out/tools/lint/slice/index.d.ts +0 -93
  1331. package/out/tools/lint/slice/index.d.ts.map +0 -1
  1332. package/out/tools/lint/slice/index.js.map +0 -1
  1333. package/out/tools/lint/slice/vocab.d.ts +0 -90
  1334. package/out/tools/lint/slice/vocab.d.ts.map +0 -1
  1335. package/out/tools/lint/slice/vocab.js.map +0 -1
  1336. package/out/tools/overlay-manifest.d.ts +0 -89
  1337. package/out/tools/overlay-manifest.d.ts.map +0 -1
  1338. package/out/tools/overlay-manifest.js +0 -131
  1339. package/out/tools/overlay-manifest.js.map +0 -1
  1340. package/out/tools/slice/kryptonite.d.ts +0 -32
  1341. package/out/tools/slice/kryptonite.d.ts.map +0 -1
  1342. package/out/tools/slice/kryptonite.js.map +0 -1
  1343. package/out/tools/slice/translit.d.ts +0 -51
  1344. package/out/tools/slice/translit.d.ts.map +0 -1
  1345. package/out/tools/slice/translit.js.map +0 -1
  1346. package/out/tools/sub/venue/harvest.d.ts +0 -100
  1347. package/out/tools/sub/venue/harvest.d.ts.map +0 -1
  1348. package/out/tools/sub/venue/harvest.js +0 -168
  1349. package/out/tools/sub/venue/harvest.js.map +0 -1
  1350. package/out/tools/sub/venue/promotions.d.ts +0 -94
  1351. package/out/tools/sub/venue/promotions.d.ts.map +0 -1
  1352. package/out/tools/sub/venue/promotions.js.map +0 -1
  1353. package/out/tools/sub/venue/surfaces.d.ts +0 -45
  1354. package/out/tools/sub/venue/surfaces.d.ts.map +0 -1
  1355. package/out/tools/sub/venue/surfaces.js +0 -77
  1356. package/out/tools/sub/venue/surfaces.js.map +0 -1
  1357. package/out/tools/sub/venue/table.d.ts +0 -229
  1358. package/out/tools/sub/venue/table.d.ts.map +0 -1
  1359. package/out/tools/sub/venue/table.js +0 -108
  1360. package/out/tools/sub/venue/table.js.map +0 -1
  1361. package/out/utils/index.d.ts.map +0 -1
  1362. package/out/utils/index.js.map +0 -1
  1363. package/out/utils/parquet.d.ts +0 -178
  1364. package/out/utils/parquet.d.ts.map +0 -1
  1365. package/out/utils/parquet.js +0 -371
  1366. package/out/utils/parquet.js.map +0 -1
  1367. package/out/utils/slice-stats.d.ts +0 -52
  1368. package/out/utils/slice-stats.d.ts.map +0 -1
  1369. package/out/utils/slice-stats.js +0 -58
  1370. package/out/utils/slice-stats.js.map +0 -1
  1371. /package/lib/tools/fetch/{download/index.ts → download.ts} +0 -0
  1372. /package/lib/tools/golden/{relabel-street/index.ts → relabel-street.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-absorption.d.ts","sourceRoot":"","sources":["../../lib/synthesizers/anchor-absorption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAU9D,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,wBAAwB,GACjC,eAAe,GACf,wBAAwB,GACxB,YAAY,GACZ,MAAM,GACN,WAAW,GACX,cAAc,GACd,UAAU,CAAA;AAEb,MAAM,WAAW,6BAA6B;IAC7C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,8BAA8B;IAC9C,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,wBAAwB,CAAA;CAClC;AAyED;;GAEG;AACH,wBAAgB,6BAA6B,CAC5C,IAAI,GAAE,6BAAkC,GACtC,8BAA8B,CAgHhC;AAaD;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,wBAAwB,CAQjE,CAAA"}
1
+ {"version":3,"file":"anchor-absorption.d.ts","sourceRoot":"","sources":["../../lib/synthesizers/anchor-absorption.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAS9D;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,MAAM,MAAM,wBAAwB,GACjC,eAAe,GACf,wBAAwB,GACxB,YAAY,GACZ,MAAM,GACN,WAAW,GACX,cAAc,GACd,UAAU,CAAA;AAEb;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC7C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,wBAAwB,CAAA;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC9C,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAA;IACjD,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,wBAAwB,CAAA;CAClC;AA6DD;;GAEG;AACH,wBAAgB,6BAA6B,CAC5C,IAAI,GAAE,6BAAkC,GACtC,8BAA8B,CAyGhC;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,wBAAwB,CAQjE,CAAA"}
@@ -3,46 +3,18 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Anchor-absorption counter-augmentation (#220/#723, Probe A1). Teaches the model the CONTEXT-
7
- * DEPENDENT leading-5-digit disambiguation that the killed #723 override was faking, AND that the
8
- * `anchor_paint_mode=shaped` WHERE fix alone over-corrected on (Probe A0: it flipped the default
9
- * to house_number, recovering CASE-H but ERODING CASE-P — postcode F1 99.3→86.5 on
10
- * leading-postcode rows like "05764 Finel Hollow Road, VT").
11
- *
12
- * THE DISCRIMINATOR the model must learn (from the CASE-H vs CASE-P contrast, NOT a flipped
13
- * default):
14
- *
15
- * - A leading 5-digit WITH a trailing postcode + street context → it is the HOUSE NUMBER (CASE-H)
16
- * - A leading 5-digit with NO trailing postcode (US-rural / DE) → it IS the POSTCODE (CASE-P) Both
17
- * leading tokens are real ZIPs (so the painted anchor fires on both); only the surrounding
18
- * context separates them. The model attends to the trailing token to decide the leading one.
19
- *
20
- * Slice mix (the A0 learning sets a HEAVY CASE-P floor so the default doesn't flip — DeepSeek's
21
- * ≥35% CASE-P; here CASE-P total = 35%): H-adversarial 30% US street, leading real-ZIP house# +
22
- * TRAILING postcode → house_number P-us-rural 20% US rural, leading postcode, NO trailing →
23
- * postcode (the A0-erosion fix) P-de 15% German leading postcode "{pc} {city}, {street} {hn}" →
24
- * postcode anchor-fp 10% leading 5-digit that is NOT a real ZIP + trailing postcode →
25
- * house_number locale-ambig 15% minimal context; the local token (street-type vs none) decides
26
- * standard 10% normal small house# + trailing postcode → house_number (baseline)
27
- *
28
- * Real ZIPs for the leading-5-digit are sampled from the postcode anchor lookup at build time
29
- * (passed via opts.realZips) so the shaped anchor fires on them exactly as at inference; fake
30
- * ZIPs (anchor-fp) are 5-digit strings deliberately absent from the lookup.
6
+ * Generates address pairs in which context decides whether a leading five-digit token is a house number or a postcode.
31
7
  */
32
- import { pick } from "#synthesizers/utils";
8
+ import { sample } from "@mailwoman/core/random";
33
9
  /**
34
- * A realistic US house number: mostly 1–4 digits (the common range), 25% a real 5-digit ZIP (the HARD case — a 5-digit
35
- * leading number that is still a house number when a locality is present).
10
+ * Samples a house number.
11
+ * One quarter of the samples use a real ZIP code.
36
12
  */
37
13
  function houseNum(random, realZips) {
38
14
  if (random() < 0.25)
39
- return pick(realZips, random);
15
+ return sample(realZips, random);
40
16
  return String(1 + Math.floor(random() * 9999));
41
17
  }
42
- /**
43
- * Curated, provenance-light reference vocab (real US street/city/state + DE). Surface forms must appear in `raw` for
44
- * alignRow; these are plain ASCII tokens that align cleanly.
45
- */
46
18
  const STREET_NAMES = [
47
19
  "Main",
48
20
  "Oak",
@@ -63,6 +35,7 @@ const STREET_NAMES = [
63
35
  "Westpark",
64
36
  "Crescent Meadow",
65
37
  ];
38
+ // TODO: Derive this from the US codex package exports
66
39
  const STREET_TYPES = ["St", "Ave", "Rd", "Dr", "Ln", "Blvd", "Ct", "Way", "Road", "Drive"];
67
40
  const US_TUPLES = [
68
41
  { locality: "Springfield", region: "IL", postcode: "62701" },
@@ -74,14 +47,7 @@ const US_TUPLES = [
74
47
  { locality: "Rochester", region: "NY", postcode: "14606" },
75
48
  { locality: "Sacramento", region: "CA", postcode: "95823" },
76
49
  ];
77
- /**
78
- * US rural states where the leading-postcode "{ZIP} {Street}, {STATE}" form (no trailing ZIP) is real — the VT/rural
79
- * format the #723 override broke and Probe A0 eroded.
80
- */
81
50
  const RURAL_REGIONS = ["VT", "ND", "SD", "NH", "ME", "MT", "WY"];
82
- /**
83
- * DE leading-postcode tuples: "{postcode} {locality}, {street} {house}".
84
- */
85
51
  const DE_TUPLES = [
86
52
  { postcode: "10115", locality: "Berlin", street: "Hauptstraße" },
87
53
  { postcode: "80331", locality: "München", street: "Sendlinger Straße" },
@@ -90,22 +56,20 @@ const DE_TUPLES = [
90
56
  { postcode: "01067", locality: "Dresden", street: "Prager Straße" },
91
57
  ];
92
58
  const HOUSE_NUMS = ["5", "12", "27", "100", "212", "1450", "8"];
93
- /**
94
- * Fake 5-digit strings that are NOT real US ZIPs (so the anchor lookup MISSES them) — for anchor-fp.
95
- */
59
+ // These five-digit values must stay absent from the postcode lookup.
96
60
  const FAKE_ZIPS = ["00000", "99998", "99997", "00001", "99996"];
97
61
  /**
98
- * Build one anchor-absorption counter-augmentation row.
62
+ * Builds one row from a sampled or forced template.
99
63
  */
100
64
  export function synthesizeAnchorAbsorptionRow(opts = {}) {
101
65
  const random = opts.random ?? Math.random;
102
66
  const realZips = opts.realZips && opts.realZips.length ? opts.realZips : US_TUPLES.map((t) => t.postcode);
103
- const template = opts.forceTemplate ?? pick(ALL_TEMPLATES, random);
104
- const street = `${pick(STREET_NAMES, random)} ${pick(STREET_TYPES, random)}`;
67
+ const template = opts.forceTemplate ?? sample(ALL_TEMPLATES, random);
68
+ const street = `${sample(STREET_NAMES, random)} ${sample(STREET_TYPES, random)}`;
105
69
  if (template === "h-adversarial") {
106
- // US street, leading real-ZIP house number, WITH a trailing postcode → the leading is house_number.
107
- const zip = pick(realZips, random);
108
- const t = pick(US_TUPLES, random);
70
+ // The trailing postcode makes the leading real ZIP code a house number.
71
+ const zip = sample(realZips, random);
72
+ const t = sample(US_TUPLES, random);
109
73
  const raw = `${zip} ${street}, ${t.locality}, ${t.region} ${t.postcode}`;
110
74
  return {
111
75
  raw,
@@ -115,9 +79,9 @@ export function synthesizeAnchorAbsorptionRow(opts = {}) {
115
79
  };
116
80
  }
117
81
  if (template === "p-us-rural") {
118
- // US rural, leading postcode, NO trailing postcode → the leading IS the postcode (the A0-erosion fix).
119
- const zip = pick(realZips, random);
120
- const region = pick(RURAL_REGIONS, random);
82
+ // Without a locality or trailing postcode, the leading value is the postcode.
83
+ const zip = sample(realZips, random);
84
+ const region = sample(RURAL_REGIONS, random);
121
85
  const raw = `${zip} ${street}, ${region}`;
122
86
  return {
123
87
  raw,
@@ -127,9 +91,8 @@ export function synthesizeAnchorAbsorptionRow(opts = {}) {
127
91
  };
128
92
  }
129
93
  if (template === "p-de") {
130
- // German leading postcode "{pc} {city}, {street} {hn}" → the leading is the postcode.
131
- const d = pick(DE_TUPLES, random);
132
- const hn = pick(HOUSE_NUMS, random);
94
+ const d = sample(DE_TUPLES, random);
95
+ const hn = sample(HOUSE_NUMS, random);
133
96
  const raw = `${d.postcode} ${d.locality}, ${d.street} ${hn}`;
134
97
  return {
135
98
  raw,
@@ -139,9 +102,9 @@ export function synthesizeAnchorAbsorptionRow(opts = {}) {
139
102
  };
140
103
  }
141
104
  if (template === "anchor-fp") {
142
- // Leading 5-digit that is NOT a real ZIP (anchor MISSES) + trailing postcode → still house_number.
143
- const fake = pick(FAKE_ZIPS, random);
144
- const t = pick(US_TUPLES, random);
105
+ // A five-digit value absent from the ZIP lookup is still a house number here.
106
+ const fake = sample(FAKE_ZIPS, random);
107
+ const t = sample(US_TUPLES, random);
145
108
  const raw = `${fake} ${street}, ${t.locality}, ${t.region} ${t.postcode}`;
146
109
  return {
147
110
  raw,
@@ -151,13 +114,13 @@ export function synthesizeAnchorAbsorptionRow(opts = {}) {
151
114
  };
152
115
  }
153
116
  if (template === "locale-ambig") {
154
- // Minimal context — the LOCAL token decides. Half: "{realZip} {street}" (street-type → house#);
155
- // half: "{realZip} {locality}" (no street, leading postcode → postcode). No trailing, no region.
156
- const zip = pick(realZips, random);
117
+ // A following street makes the value a house number.
118
+ // A following locality makes it a postcode.
119
+ const zip = sample(realZips, random);
157
120
  if (random() < 0.5) {
158
121
  return { raw: `${zip} ${street}`, components: { house_number: zip, street }, locale: "en-US", template };
159
122
  }
160
- const t = pick(US_TUPLES, random);
123
+ const t = sample(US_TUPLES, random);
161
124
  return {
162
125
  raw: `${zip} ${t.locality}`,
163
126
  components: { postcode: zip, locality: t.locality },
@@ -166,15 +129,10 @@ export function synthesizeAnchorAbsorptionRow(opts = {}) {
166
129
  };
167
130
  }
168
131
  if (template === "h-no-trailing-locality") {
169
- // The A3 fix (#220): the common US format "{house#} {street}, {locality}, {STATE}" with NO trailing
170
- // postcode → the leading number is the HOUSE NUMBER. The CONTRAST to p-us-rural (same no-trailing,
171
- // state-bearing shape) is the LOCALITY: present here, absent there. The A2 slice lacked this slice,
172
- // so p-us-rural's "leading-number + STATE → postcode" rule over-generalized to 98 golden house#
173
- // rows ("36 Oxbow Dr, Bradford, VT" → postcode). The house# spans 1-4 digits AND real 5-digit ZIPs
174
- // (the hard case: 5-digit + locality is STILL a house number, distinct from p-us-rural's no-locality).
132
+ // The locality separates this form from the rural postcode-first form.
175
133
  const hn = houseNum(random, realZips);
176
- const t = pick(US_TUPLES, random);
177
- const region = random() < 0.5 ? pick(RURAL_REGIONS, random) : t.region;
134
+ const t = sample(US_TUPLES, random);
135
+ const region = random() < 0.5 ? sample(RURAL_REGIONS, random) : t.region;
178
136
  const raw = `${hn} ${street}, ${t.locality}, ${region}`;
179
137
  return {
180
138
  raw,
@@ -183,9 +141,8 @@ export function synthesizeAnchorAbsorptionRow(opts = {}) {
183
141
  template,
184
142
  };
185
143
  }
186
- // standard: normal house number + trailing postcode → house_number (baseline, keeps the common case).
187
144
  const hn = houseNum(random, realZips);
188
- const t = pick(US_TUPLES, random);
145
+ const t = sample(US_TUPLES, random);
189
146
  const raw = `${hn} ${street}, ${t.locality}, ${t.region} ${t.postcode}`;
190
147
  return {
191
148
  raw,
@@ -194,20 +151,8 @@ export function synthesizeAnchorAbsorptionRow(opts = {}) {
194
151
  template,
195
152
  };
196
153
  }
197
- // Weighted template bag — the slice mix. Expanded to a flat array so `pick` draws at the target
198
- // frequencies (matches the boundary-stress ALL_TEMPLATES idiom).
199
- //
200
- // A3 (#220, after the per-row diagnostic on the A2 probe): A1/A2 both held SLICE-H (100) + postcode
201
- // (~98) but cost house_number (95.8->92.8), and the A2 mix-rebalance did NOT move it — so it was never a
202
- // CASE-P-quantity problem. The row-by-row v192-vs-A2 diff (hn-regression-diff.ts) pinned it: 132/132 house#
203
- // regressions were house#->POSTCODE on "{house#} {street}, {locality}, {STATE}" no-trailing rows — the
204
- // p-us-rural rule ("leading-number + STATE + no-trailing -> postcode") OVER-GENERALIZED because the slice
205
- // had NO counter-slice for the common locality-bearing house# case. A3 ADDS h-no-trailing-locality (15%)
206
- // to teach the LOCALITY discriminator (present -> house#, absent + 5-digit -> postcode = p-us-rural) and
207
- // trims p-us-rural 16->13. Goal: house_number recovers WITHOUT re-eroding postcode/SLICE-H. CASE-P = 26%.
208
154
  /**
209
- * Every anchor-absorption template, in one list for the slice runner to sample from. Each covers a way a venue or
210
- * landmark name can swallow the street token that follows it.
155
+ * The template sampling pool, in which each template's repeat count is its weight.
211
156
  */
212
157
  export const ALL_TEMPLATES = [
213
158
  ...new Array(25).fill("h-adversarial"),
@@ -1 +1 @@
1
- {"version":3,"file":"anchor-absorption.js","sourceRoot":"","sources":["../../lib/synthesizers/anchor-absorption.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"anchor-absorption.js","sourceRoot":"","sources":["../../lib/synthesizers/anchor-absorption.ts"],"names":[],"mappings":"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"}
@@ -3,66 +3,35 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Boundary-instability synthesizer (#375 — the highest-impact parser change). The failure taxonomy
7
- *
8
- * The within-token-punctuation decomposition (#702) found one failure FAMILY surfacing under many
9
- * names: the model mis-places token boundaries between adjacent components when the boundary is
10
- * ambiguous or unmarked. This generator emits diverse BIO-labeled rows that put the gold boundary
11
- * exactly where the model wobbles, so a retrain learns the boundary from context, not the
12
- * lexeme.
13
- *
14
- * The four token-aligned stress shapes, all in BASE LOCALES (US/FR/DE) so the slice never
15
- * introduces tokens the base corpus lacks (the #511 base-consistency lint flagged an earlier
16
- * AU-bearing draft: AU 4-digit postcodes collide with US house numbers, and AU localities are
17
- * absent from the US/FR/DE base — a real contradiction). Each component is a whitespace-separated
18
- * token run, so `alignRow` labels it cleanly:
19
- *
20
- * 1. `street-eats-affix` — multi-word street + suffix (`Country Club Rd` → street + street_suffix),
21
- * the #1 wobble: the model keeps the suffix in the street.
22
- * 2. `comma-less-city-state` — no comma between street / locality / region (`100 Main St Springfield
23
- * IL 62701`), the #694 family: concatenated input loses the segmentation cue. US-only (US
24
- * zips are base-consistent; the boundary is locale-agnostic).
25
- * 3. `fr-prefix` — FR street-type prefix split from the name (`Rue Jean-Baptiste Lebas` →
26
- * street_prefix
27
- *
28
- * - Street), postcode-first order.
29
- * 4. `house-number-after-street` — FR/DE number-follows-street (`Neuve-des-Capucines 5` → street +
30
- * house_number), the model absorbs the number into the street.
31
- *
32
- * Two BALANCING shapes (added 2026-06-18 after the v1.6.0 probes). The first pass at weight 1.0
33
- * lifted the boundaries but over-fit a NARROW distribution — every row was a clean, full,
34
- * structured address — so the model regressed on out-of-distribution real rows (held-out US
35
- * locality 66.3→58.2%). These two widen the distribution the slice teaches over, per the
36
- * diagnosis (scripts/eval/locality-regression-probe): 5. `bare-locality` — locality with NO
37
- * street (`Public Library, Lisbon ND`, `75003 Paris`), the ship-blocker: 84% of the v1.6.0
38
- * locality regression was DROPPED locality on bare "City, STATE" rows, because every other shape
39
- * placed a street before the city. Bare / comma-less / postcode'd / venue-prefixed forms, US +
40
- * FR. 6. `house-number-before-street` — the confounding mirror of #4 (same FR vocab, number
41
- * BEFORE the street). A balanced before:after mix breaks the positional shortcut behind the #4
42
- * order-bias.
43
- *
44
- * EXCLUDED: the region+postcode glue (`NY14201` — sub-token, no punctuation to split) and the
45
- * AU/NZ/UK slash unit-convention (`4/2A` → unit+house_number). The slash labels cleanly (the
46
- * tokenizer splits `/`) and is the worst within-token class — but it inherently requires non-base
47
- * AU/NZ/UK locales, which contradict the US/FR/DE base (the lint catch). It belongs in a
48
- * separately-scoped AU/NZ/UK boundary-coverage slice that ALSO adds AU base coverage, not in this
49
- * base-locale slice. `synthesizers/boundary-stress.test.ts` proves the alignments.
6
+ * Generates US and French address rows that stress the boundaries between adjacent components.
50
7
  */
51
8
  import type { CanonicalRow } from "#types";
9
+ /**
10
+ * The row templates that {@link synthesizeBoundaryStressRow} can produce.
11
+ */
52
12
  export type BoundaryStressTemplate = "street-eats-affix" | "comma-less-city-state" | "fr-prefix" | "house-number-after-street" | "bare-locality" | "house-number-before-street";
13
+ /**
14
+ * A locality, region, postcode and country used as an address tail.
15
+ */
53
16
  export interface BoundaryStressBaseTuple {
54
17
  locality: string;
55
18
  region: string;
56
19
  postcode: string;
57
20
  country: string;
58
21
  }
22
+ /**
23
+ * Options for {@link synthesizeBoundaryStressRow}.
24
+ */
59
25
  export interface BoundaryStressSynthesisOpts {
60
26
  random?: () => number;
61
27
  /**
62
- * Force a specific shape (tests + balanced slice composition).
28
+ * A template to use instead of a sampled one.
63
29
  */
64
30
  forceTemplate?: BoundaryStressTemplate;
65
31
  }
32
+ /**
33
+ * One synthesized row with its template.
34
+ */
66
35
  export interface SynthesizedBoundaryStressRow {
67
36
  raw: string;
68
37
  components: CanonicalRow["components"];
@@ -70,9 +39,9 @@ export interface SynthesizedBoundaryStressRow {
70
39
  template: BoundaryStressTemplate;
71
40
  }
72
41
  /**
73
- * Synthesize one boundary-stress row. `base` is optional — when omitted, a locale-appropriate tuple is drawn from the
74
- * internal pools (so the generator is self-contained; a build script can pass real tuples for scale + diversity). Every
75
- * component value is a verbatim substring of `raw`, so `alignRow` locates + BIO-labels it.
42
+ * Synthesizes one row from a sampled or forced template.
43
+ *
44
+ * When `base` is absent, the function samples a built-in US or French tuple that suits the template.
76
45
  */
77
46
  export declare function synthesizeBoundaryStressRow(base: BoundaryStressBaseTuple | undefined, opts?: BoundaryStressSynthesisOpts): SynthesizedBoundaryStressRow;
78
47
  //# sourceMappingURL=boundary-stress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"boundary-stress.d.ts","sourceRoot":"","sources":["../../lib/synthesizers/boundary-stress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAQ1C,MAAM,MAAM,sBAAsB,GAC/B,mBAAmB,GACnB,uBAAuB,GACvB,WAAW,GACX,2BAA2B,GAG3B,eAAe,GACf,4BAA4B,CAAA;AAI/B,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,2BAA2B;IAC3C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAA;CACtC;AAED,MAAM,WAAW,4BAA4B;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,sBAAsB,CAAA;CAChC;AAoSD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,IAAI,GAAE,2BAAgC,GACpC,4BAA4B,CAyI9B"}
1
+ {"version":3,"file":"boundary-stress.d.ts","sourceRoot":"","sources":["../../lib/synthesizers/boundary-stress.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAQ1C;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC/B,mBAAmB,GACnB,uBAAuB,GACvB,WAAW,GACX,2BAA2B,GAC3B,eAAe,GACf,4BAA4B,CAAA;AAE/B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC3C,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,sBAAsB,CAAA;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC5C,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,sBAAsB,CAAA;CAChC;AAqQD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAC1C,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,IAAI,GAAE,2BAAgC,GACpC,4BAA4B,CAqH9B"}
@@ -3,58 +3,9 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Boundary-instability synthesizer (#375 — the highest-impact parser change). The failure taxonomy
7
- *
8
- * The within-token-punctuation decomposition (#702) found one failure FAMILY surfacing under many
9
- * names: the model mis-places token boundaries between adjacent components when the boundary is
10
- * ambiguous or unmarked. This generator emits diverse BIO-labeled rows that put the gold boundary
11
- * exactly where the model wobbles, so a retrain learns the boundary from context, not the
12
- * lexeme.
13
- *
14
- * The four token-aligned stress shapes, all in BASE LOCALES (US/FR/DE) so the slice never
15
- * introduces tokens the base corpus lacks (the #511 base-consistency lint flagged an earlier
16
- * AU-bearing draft: AU 4-digit postcodes collide with US house numbers, and AU localities are
17
- * absent from the US/FR/DE base — a real contradiction). Each component is a whitespace-separated
18
- * token run, so `alignRow` labels it cleanly:
19
- *
20
- * 1. `street-eats-affix` — multi-word street + suffix (`Country Club Rd` → street + street_suffix),
21
- * the #1 wobble: the model keeps the suffix in the street.
22
- * 2. `comma-less-city-state` — no comma between street / locality / region (`100 Main St Springfield
23
- * IL 62701`), the #694 family: concatenated input loses the segmentation cue. US-only (US
24
- * zips are base-consistent; the boundary is locale-agnostic).
25
- * 3. `fr-prefix` — FR street-type prefix split from the name (`Rue Jean-Baptiste Lebas` →
26
- * street_prefix
27
- *
28
- * - Street), postcode-first order.
29
- * 4. `house-number-after-street` — FR/DE number-follows-street (`Neuve-des-Capucines 5` → street +
30
- * house_number), the model absorbs the number into the street.
31
- *
32
- * Two BALANCING shapes (added 2026-06-18 after the v1.6.0 probes). The first pass at weight 1.0
33
- * lifted the boundaries but over-fit a NARROW distribution — every row was a clean, full,
34
- * structured address — so the model regressed on out-of-distribution real rows (held-out US
35
- * locality 66.3→58.2%). These two widen the distribution the slice teaches over, per the
36
- * diagnosis (scripts/eval/locality-regression-probe): 5. `bare-locality` — locality with NO
37
- * street (`Public Library, Lisbon ND`, `75003 Paris`), the ship-blocker: 84% of the v1.6.0
38
- * locality regression was DROPPED locality on bare "City, STATE" rows, because every other shape
39
- * placed a street before the city. Bare / comma-less / postcode'd / venue-prefixed forms, US +
40
- * FR. 6. `house-number-before-street` — the confounding mirror of #4 (same FR vocab, number
41
- * BEFORE the street). A balanced before:after mix breaks the positional shortcut behind the #4
42
- * order-bias.
43
- *
44
- * EXCLUDED: the region+postcode glue (`NY14201` — sub-token, no punctuation to split) and the
45
- * AU/NZ/UK slash unit-convention (`4/2A` → unit+house_number). The slash labels cleanly (the
46
- * tokenizer splits `/`) and is the worst within-token class — but it inherently requires non-base
47
- * AU/NZ/UK locales, which contradict the US/FR/DE base (the lint catch). It belongs in a
48
- * separately-scoped AU/NZ/UK boundary-coverage slice that ALSO adds AU base coverage, not in this
49
- * base-locale slice. `synthesizers/boundary-stress.test.ts` proves the alignments.
50
- */
51
- import { pick } from "#synthesizers/utils";
52
- /**
53
- * Multi-word street names — the suffix boundary only bites when "Club" could be read as part of the name. Single-word
54
- * names alone teach nothing about the suffix edge. Multi-word names are what make the suffix boundary BITE (the model
55
- * must not read the trailing suffix word as part of the name). Kept diverse so the slice teaches the boundary, not the
56
- * lexeme.
6
+ * Generates US and French address rows that stress the boundaries between adjacent components.
57
7
  */
8
+ import { sample } from "@mailwoman/core/random";
58
9
  const MULTIWORD_STREETS = [
59
10
  "Country Club",
60
11
  "Martin Luther King",
@@ -175,13 +126,8 @@ const SUFFIXES = [
175
126
  "Row",
176
127
  "Walk",
177
128
  ];
178
- // Vocabulary compile-checked against the codex; the ORDER stays this literal's. `Object.values(DirectionalAbbreviation)`
179
- // runs N,E,S,W,… — deriving the array from it would re-map every pick() draw and change shipped slice bytes.
129
+ // Keep the order fixed because seeded sampling depends on it.
180
130
  const DIRECTIONALS = ["N", "S", "E", "W", "NE", "NW", "SE", "SW"];
181
- /**
182
- * FR street-type prefixes + hyphenated honorific street names (the hyphen is incidental; the boundary stress is the
183
- * prefix↔name split + the number-after-street order).
184
- */
185
131
  const FR_PREFIXES = [
186
132
  "Rue",
187
133
  "Avenue",
@@ -225,16 +171,10 @@ const FR_NAMES = [
225
171
  "Aristide-Briand",
226
172
  ];
227
173
  /**
228
- * Org/venue prefixes for the bare-locality shape — the v1.6.0 locality drop hit org-PREFIXED real rows hardest ("LISBON
229
- * PUBLIC LIBRARY, …, Lisbon ND"; "Alburg Health Center"). Teaching the locality WITH a leading venue keeps the model
230
- * emitting it on facility-style addresses (NPPES/HRSA shapes). `venue` is a base ComponentTag. #511-LINTED 2026-06-18
231
- * (scripts/lint-venue-vocab — scan of nppes/hrsa/tiger/nad/wof-admin): every token here is venue-DOMINANT in the base,
232
- * so the slice agrees with it. The first draft was naive — 9 terms were dropped because their tokens are dominantly
233
- * street/locality and would CONTRADICT the base the way Madison-as-street did (#511): "Fire" 93% street, "Veterans" 94%
234
- * street, "City" 68% locality, "Hall" 63% street, "Memorial"/"Hospital" 62-63% street, "Recreation" 79% street, "Town"
235
- * 48% locality, "Library" 51% street, "County" 68% street, "Arts"/"Courthouse"/"Municipal" dependent_locality. Kept
236
- * tokens: Clinic 98%, Practice 98%, Dental 100%, Health 99%, Medical 88%, Community 92%, Department 90%, Group 87%,
237
- * Center 65%, School 70%, Public 89%, Elementary/Family 97% (all venue).
174
+ * Venue prefixes for bare-locality rows.
175
+ *
176
+ * The list uses only words that the base corpus labels as venue.
177
+ * It avoids words that it mostly labels as street or locality.
238
178
  */
239
179
  const VENUES = [
240
180
  "Community Center",
@@ -252,12 +192,7 @@ const VENUES = [
252
192
  "Elementary School",
253
193
  "Public School",
254
194
  ];
255
- /**
256
- * Localities DERIVED from the base corpus (#511): every name here is verified locality-DOMINANT in the training data
257
- * (B-locality ≫ I-street), so the slice agrees with the base instead of fighting it. The night's targeted scan caught
258
- * the prior vocab (Madison, Portland, Springfield IL…) at 92–100% STREET in the base ("Madison Ave"), the "5th Avenue
259
- * Theatre" #511 trap. See 2026-06-17-locality-vocab-fix.
260
- */
195
+ // The base corpus labels each of these localities as locality.
261
196
  const US_TUPLES = [
262
197
  { locality: "Albuquerque", region: "NM", postcode: "87102", country: "US" },
263
198
  { locality: "Indianapolis", region: "IN", postcode: "46203", country: "US" },
@@ -288,13 +223,7 @@ const US_TUPLES = [
288
223
  { locality: "Chicago", region: "IL", postcode: "60625", country: "US" },
289
224
  { locality: "Springfield", region: "MA", postcode: "01108", country: "US" },
290
225
  ];
291
- /**
292
- * FR localities DERIVED from the FR (ban) slices specifically — where these famous cities are 95–99% locality-DOMINANT
293
- * (Paris 515605/24789, Marseille 247014/1752, Lyon 106239/3114). NB: the all-slice scan falsely flagged them
294
- * street-dominant by undersampling the FR block (parts 180–209) and mixing in US street-contexts; the FR-block scan is
295
- * the honest distribution. Dept-diverse (28 depts), region empty (French addresses carry no region token; the
296
- * generator's region-optional path handles it).
297
- */
226
+ // French rows have no region component.
298
227
  const FR_TUPLES = [
299
228
  { locality: "Paris", region: "", postcode: "75003", country: "FR" },
300
229
  { locality: "Marseille", region: "", postcode: "13016", country: "FR" },
@@ -315,9 +244,6 @@ const FR_TUPLES = [
315
244
  { locality: "Brunoy", region: "", postcode: "91800", country: "FR" },
316
245
  { locality: "Rambouillet", region: "", postcode: "78120", country: "FR" },
317
246
  ];
318
- // NB: no DE_TUPLES — German cities are street-dominated too ("Berliner Straße"), and the base yielded
319
- // zero locality-dominant DE towns in the scan, so house-number-after-street is FR-only here. DE's
320
- // native-order number-after-street is covered by the dedicated synth-german slice.
321
247
  const houseNumber = (random) => String(1 + Math.floor(random() * 4999));
322
248
  const localeFor = { US: "en-US", FR: "fr-FR", DE: "de-DE" };
323
249
  const ALL_TEMPLATES = [
@@ -329,26 +255,18 @@ const ALL_TEMPLATES = [
329
255
  "house-number-before-street",
330
256
  ];
331
257
  /**
332
- * Synthesize one boundary-stress row. `base` is optional — when omitted, a locale-appropriate tuple is drawn from the
333
- * internal pools (so the generator is self-contained; a build script can pass real tuples for scale + diversity). Every
334
- * component value is a verbatim substring of `raw`, so `alignRow` locates + BIO-labels it.
258
+ * Synthesizes one row from a sampled or forced template.
259
+ *
260
+ * When `base` is absent, the function samples a built-in US or French tuple that suits the template.
335
261
  */
336
262
  export function synthesizeBoundaryStressRow(base, opts = {}) {
337
263
  const random = opts.random ?? Math.random;
338
- const template = opts.forceTemplate ?? pick(ALL_TEMPLATES, random);
264
+ const template = opts.forceTemplate ?? sample(ALL_TEMPLATES, random);
339
265
  if (template === "bare-locality") {
340
- // The v1.6.0 ship-blocker fix: locality was DROPPED on bare/short "City, STATE" rows (84% of the
341
- // regression) because every prior shape placed a street before the city, so the model learned "the
342
- // city follows a street" and stopped emitting locality without one. Teach the locality with NO street,
343
- // across the forms real data carries it — bare, comma-LESS, postcode'd, and venue/org-prefixed.
344
- const b = base ?? (random() < 0.3 ? pick(FR_TUPLES, random) : pick(US_TUPLES, random));
345
- const venue = random() < 0.45 ? pick(VENUES, random) : "";
346
- // ~12% carry a trailing country token — the v1.7.1 country patch (DeepSeek 2026-06-18). The pure
347
- // "City, STATE" bare rows carry NO country token, which cost ~4pp on us.country_homograph in v1.7.0;
348
- // teaching "…, USA"/"…, France" recovers it as a single-variable additive without diluting locality.
266
+ const b = base ?? (random() < 0.3 ? sample(FR_TUPLES, random) : sample(US_TUPLES, random));
267
+ const venue = random() < 0.45 ? sample(VENUES, random) : "";
349
268
  const withCountry = random() < 0.12;
350
269
  if (b.country === "FR") {
351
- // FR carries no region token; "{postcode} {locality}" is the bare FR form.
352
270
  const core = `${b.postcode} ${b.locality}${withCountry ? ", France" : ""}`;
353
271
  return {
354
272
  raw: venue ? `${venue}, ${core}` : core,
@@ -363,9 +281,8 @@ export function synthesizeBoundaryStressRow(base, opts = {}) {
363
281
  };
364
282
  }
365
283
  const withZip = random() < 0.5;
366
- const comma = random() < 0.6 ? "," : ""; // include the comma-LESS "City STATE" form too
367
- // "United States" (United 98% / States 98% country in the base), NOT "USA" — the #511 lint found
368
- // "USA" is locality-DOMINANT (75%, only 6% country) in the base; labeling it country would contradict.
284
+ const comma = random() < 0.6 ? "," : "";
285
+ // The base corpus labels this spelling as country.
369
286
  const countryName = "United States";
370
287
  const core = `${b.locality}${comma} ${b.region}${withZip ? ` ${b.postcode}` : ""}${withCountry ? `, ${countryName}` : ""}`;
371
288
  return {
@@ -384,16 +301,11 @@ export function synthesizeBoundaryStressRow(base, opts = {}) {
384
301
  if (template === "fr-prefix" ||
385
302
  template === "house-number-after-street" ||
386
303
  template === "house-number-before-street") {
387
- // FR-only (no base-consistent DE locality vocab; see the DE_TUPLES note above).
388
- const b = base ?? pick(FR_TUPLES, random);
389
- const name = pick(FR_NAMES, random);
304
+ const b = base ?? sample(FR_TUPLES, random);
305
+ const name = sample(FR_NAMES, random);
390
306
  const hn = houseNumber(random);
391
307
  if (template === "house-number-before-street") {
392
- // The confounding MIRROR of house-number-after-street: the SAME FR street vocab with the number
393
- // BEFORE the name. A balanced before:after mix (the build/recipe sets the ratio, ~7:3 to keep US
394
- // house_number 99.8% safe) teaches the model a street-adjacent number is a house_number by FORM,
395
- // not position — the probe found v1.6.0 confidently absorbs the TRAILING number into street (I-street
396
- // P=0.96), the order-bias.
308
+ // This form balances the number-after-street form with the same vocabulary.
397
309
  const raw = `${hn} ${name}, ${b.postcode} ${b.locality}`;
398
310
  return {
399
311
  raw,
@@ -403,8 +315,7 @@ export function synthesizeBoundaryStressRow(base, opts = {}) {
403
315
  };
404
316
  }
405
317
  if (template === "fr-prefix") {
406
- const prefix = pick(FR_PREFIXES, random);
407
- // "{hn} {prefix} {name}, {postcode} {locality}" — postcode-first, prefix split from the name.
318
+ const prefix = sample(FR_PREFIXES, random);
408
319
  const raw = `${hn} ${prefix} ${name}, ${b.postcode} ${b.locality}`;
409
320
  return {
410
321
  raw,
@@ -419,7 +330,6 @@ export function synthesizeBoundaryStressRow(base, opts = {}) {
419
330
  template,
420
331
  };
421
332
  }
422
- // house-number-after-street: "{name} {hn}, {postcode} {locality}" — number FOLLOWS the street.
423
333
  const raw = `${name} ${hn}, ${b.postcode} ${b.locality}`;
424
334
  return {
425
335
  raw,
@@ -428,13 +338,11 @@ export function synthesizeBoundaryStressRow(base, opts = {}) {
428
338
  template,
429
339
  };
430
340
  }
431
- // en-US street shapes (street-eats-affix + comma-less). US-only — US zips are base-consistent and
432
- // the boundary these teach is locale-agnostic; no need to introduce a non-base locale.
433
- const b = base ?? pick(US_TUPLES, random);
341
+ const b = base ?? sample(US_TUPLES, random);
434
342
  const hn = houseNumber(random);
435
- const dir = random() < 0.4 ? pick(DIRECTIONALS, random) : "";
436
- const name = random() < 0.7 ? pick(MULTIWORD_STREETS, random) : pick(SINGLE_STREETS, random);
437
- const suffix = pick(SUFFIXES, random);
343
+ const dir = random() < 0.4 ? sample(DIRECTIONALS, random) : "";
344
+ const name = random() < 0.7 ? sample(MULTIWORD_STREETS, random) : sample(SINGLE_STREETS, random);
345
+ const suffix = sample(SUFFIXES, random);
438
346
  const streetCore = `${dir ? `${dir} ` : ""}${name} ${suffix}`;
439
347
  const components = {
440
348
  house_number: hn,
@@ -446,10 +354,8 @@ export function synthesizeBoundaryStressRow(base, opts = {}) {
446
354
  postcode: b.postcode,
447
355
  };
448
356
  const raw = template === "comma-less-city-state"
449
- ? // no commas anywhere — the segmentation cue is gone
450
- `${hn} ${streetCore} ${b.locality} ${b.region} ${b.postcode}`
451
- : // standard delimited, multi-word street stresses the suffix boundary
452
- `${hn} ${streetCore}, ${b.locality}, ${b.region} ${b.postcode}`;
357
+ ? `${hn} ${streetCore} ${b.locality} ${b.region} ${b.postcode}`
358
+ : `${hn} ${streetCore}, ${b.locality}, ${b.region} ${b.postcode}`;
453
359
  return { raw, components, locale: localeFor[b.country] ?? "en-US", template };
454
360
  }
455
361
  //# sourceMappingURL=boundary-stress.js.map