@mailwoman/corpus 9.2.0 → 9.3.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 (1241) hide show
  1. package/README.md +22 -22
  2. package/data/PROVENANCE.md +7 -7
  3. package/lib/adapters/ban/adapter.ts +190 -0
  4. package/lib/adapters/ban/street-decompose.ts +66 -0
  5. package/lib/adapters/fcc-bdc/adapter.ts +174 -0
  6. package/lib/adapters/geonames/adapter.ts +199 -0
  7. package/lib/adapters/geonames-postal/adapter.ts +122 -0
  8. package/lib/adapters/gnaf/adapter.ts +149 -0
  9. package/lib/adapters/gnaf/assemble.ts +225 -0
  10. package/lib/adapters/index.ts +153 -0
  11. package/lib/adapters/openaddresses/adapter.ts +251 -0
  12. package/lib/adapters/overture/adapter.ts +162 -0
  13. package/lib/adapters/state-hi-schools/adapter.ts +170 -0
  14. package/lib/adapters/state-hi-schools/workbook.ts +35 -0
  15. package/lib/adapters/synth-po-box/adapter.ts +204 -0
  16. package/lib/adapters/tiger/adapter.ts +252 -0
  17. package/lib/adapters/tiger/street-decompose.ts +83 -0
  18. package/lib/adapters/usgov-hrsa-fqhc/adapter.ts +167 -0
  19. package/lib/adapters/usgov-imls-pls/adapter.ts +143 -0
  20. package/lib/adapters/usgov-irs-bmf/adapter.ts +151 -0
  21. package/lib/adapters/usgov-nad/adapter.ts +334 -0
  22. package/lib/adapters/usgov-nppes/adapter.ts +151 -0
  23. package/lib/adapters/usgov-samhsa-treatment-locator/adapter.ts +193 -0
  24. package/lib/adapters/utils/index.ts +307 -0
  25. package/lib/adapters/wof-admin-jp/adapter.ts +214 -0
  26. package/lib/adapters/wof-admin-json/adapter.ts +231 -0
  27. package/lib/adapters/wof-json-rows.ts +129 -0
  28. package/lib/adapters/wof-postalcode-json/adapter.ts +176 -0
  29. package/lib/build.ts +378 -0
  30. package/lib/env.ts +50 -0
  31. package/lib/index.ts +13 -0
  32. package/lib/name-prone-us-suffixes.ts +12 -0
  33. package/lib/recipes/anchor-absorption.ts +101 -0
  34. package/lib/recipes/bare-country.ts +95 -0
  35. package/lib/recipes/boundary-stress.ts +100 -0
  36. package/lib/recipes/cn-organizational-units.ts +199 -0
  37. package/lib/recipes/country-balanced.ts +509 -0
  38. package/lib/recipes/cz-pcfirst-preposition.ts +111 -0
  39. package/lib/recipes/fr-admin-split.ts +242 -0
  40. package/lib/recipes/fr-bare-street.ts +170 -0
  41. package/lib/recipes/fr-fragment.ts +333 -0
  42. package/lib/recipes/fr-lieudit.ts +301 -0
  43. package/lib/recipes/fr-order.ts +245 -0
  44. package/lib/recipes/german.ts +359 -0
  45. package/lib/recipes/house-venue.ts +92 -0
  46. package/lib/recipes/index.ts +97 -0
  47. package/lib/recipes/intersection.ts +618 -0
  48. package/lib/recipes/locale.ts +599 -0
  49. package/lib/recipes/nl-postcode.ts +115 -0
  50. package/lib/recipes/no-fragment.ts +219 -0
  51. package/lib/recipes/no-street-led.ts +141 -0
  52. package/lib/recipes/no-street.ts +90 -0
  53. package/lib/recipes/po-box-cedex.ts +976 -0
  54. package/lib/recipes/po-box.ts +123 -0
  55. package/lib/recipes/reviewed-postcode-tail.ts +190 -0
  56. package/lib/recipes/scaffold.ts +469 -0
  57. package/lib/recipes/si-bare-village.ts +97 -0
  58. package/lib/recipes/street-affix.ts +804 -0
  59. package/lib/recipes/street-bare.ts +100 -0
  60. package/lib/recipes/street.ts +81 -0
  61. package/lib/recipes/sub-venue-sources.ts +877 -0
  62. package/lib/recipes/sub-venue.ts +997 -0
  63. package/lib/recipes/trailing-region.ts +183 -0
  64. package/lib/recipes/unit.ts +304 -0
  65. package/lib/runner.ts +312 -0
  66. package/lib/synthesizers/anchor-absorption.ts +288 -0
  67. package/lib/synthesizers/boundary-stress.ts +532 -0
  68. package/lib/synthesizers/german.ts +260 -0
  69. package/lib/synthesizers/house-venue.ts +308 -0
  70. package/lib/synthesizers/intersection.ts +233 -0
  71. package/lib/synthesizers/no-street.ts +327 -0
  72. package/lib/synthesizers/po-box.ts +323 -0
  73. package/lib/synthesizers/street.ts +269 -0
  74. package/lib/synthesizers/utils.ts +993 -0
  75. package/lib/test-kit/corpus-recipe.ts +86 -0
  76. package/lib/test-kit/index.ts +100 -0
  77. package/lib/tools/align-slice.ts +68 -0
  78. package/lib/tools/audit.ts +403 -0
  79. package/lib/tools/corpus-stats.ts +136 -0
  80. package/lib/tools/fetch/ban.ts +289 -0
  81. package/lib/tools/fetch/download.ts +262 -0
  82. package/lib/tools/fetch/geonames-dump.ts +257 -0
  83. package/lib/tools/fetch/geonames-postal.ts +180 -0
  84. package/lib/tools/fetch/hrsa.ts +59 -0
  85. package/lib/tools/fetch/imls-pls.ts +149 -0
  86. package/lib/tools/fetch/index.ts +147 -0
  87. package/lib/tools/fetch/nad.ts +341 -0
  88. package/lib/tools/fetch/nppes.ts +165 -0
  89. package/lib/tools/fetch/openaddresses.ts +347 -0
  90. package/lib/tools/fetch/ourairports.ts +170 -0
  91. package/lib/tools/fetch/ppd.ts +121 -0
  92. package/lib/tools/fetch/state-hi-schools.ts +161 -0
  93. package/lib/tools/fetch/state-sources.ts +146 -0
  94. package/lib/tools/fetch/tiger-full.ts +308 -0
  95. package/lib/tools/fetch/wikidata-subvenue.ts +384 -0
  96. package/lib/tools/golden-expand.ts +574 -0
  97. package/lib/tools/golden-promote.ts +337 -0
  98. package/lib/tools/golden-relabel-street.ts +683 -0
  99. package/lib/tools/index.ts +28 -0
  100. package/lib/tools/ingest-csv.ts +378 -0
  101. package/lib/tools/jsonl-to-parquet.ts +207 -0
  102. package/lib/tools/lint-slice-vocab.ts +388 -0
  103. package/lib/tools/lint-slice.ts +496 -0
  104. package/lib/tools/overlay-manifest.ts +148 -0
  105. package/lib/tools/overture-subvenue.ts +209 -0
  106. package/lib/tools/postcode-triples.ts +363 -0
  107. package/lib/tools/slice-kryptonite.ts +137 -0
  108. package/lib/tools/slice-translit.ts +218 -0
  109. package/lib/tools/sub-venue/harvest.ts +234 -0
  110. package/lib/tools/sub-venue/head-nouns.ts +245 -0
  111. package/lib/tools/sub-venue/surfaces.ts +95 -0
  112. package/lib/tools/sub-venue/table.ts +281 -0
  113. package/lib/tools/sub-venue/wikidata.ts +85 -0
  114. package/lib/tools/sub-venue-lexicon.ts +429 -0
  115. package/lib/tools/sub-venue-promotions.ts +330 -0
  116. package/lib/types.ts +247 -0
  117. package/lib/utils/align.ts +330 -0
  118. package/lib/utils/golden.ts +189 -0
  119. package/lib/utils/index.ts +14 -0
  120. package/lib/utils/parquet.ts +582 -0
  121. package/lib/utils/slice-stats.ts +95 -0
  122. package/lib/utils/split.ts +279 -0
  123. package/lib/utils/tokenize.ts +120 -0
  124. package/lib/utils/wof-json.ts +247 -0
  125. package/out/adapters/ban/adapter.d.ts.map +1 -0
  126. package/out/adapters/ban/adapter.js +149 -0
  127. package/out/adapters/ban/adapter.js.map +1 -0
  128. package/out/adapters/ban/street-decompose.d.ts.map +1 -0
  129. package/out/adapters/ban/street-decompose.js +51 -0
  130. package/out/adapters/ban/street-decompose.js.map +1 -0
  131. package/out/adapters/fcc-bdc/adapter.d.ts.map +1 -0
  132. package/out/adapters/fcc-bdc/adapter.js +144 -0
  133. package/out/adapters/fcc-bdc/adapter.js.map +1 -0
  134. package/out/adapters/geonames/adapter.d.ts.map +1 -0
  135. package/out/adapters/geonames/adapter.js +176 -0
  136. package/out/adapters/geonames/adapter.js.map +1 -0
  137. package/out/adapters/geonames-postal/adapter.d.ts +54 -0
  138. package/out/adapters/geonames-postal/adapter.d.ts.map +1 -0
  139. package/out/adapters/geonames-postal/adapter.js +107 -0
  140. package/out/adapters/geonames-postal/adapter.js.map +1 -0
  141. package/out/adapters/gnaf/adapter.d.ts +49 -0
  142. package/out/adapters/gnaf/adapter.d.ts.map +1 -0
  143. package/out/adapters/gnaf/adapter.js +124 -0
  144. package/out/adapters/gnaf/adapter.js.map +1 -0
  145. package/out/adapters/gnaf/assemble.d.ts +65 -0
  146. package/out/adapters/gnaf/assemble.d.ts.map +1 -0
  147. package/out/adapters/gnaf/assemble.js +154 -0
  148. package/out/adapters/gnaf/assemble.js.map +1 -0
  149. package/out/adapters/index.d.ts +51 -0
  150. package/out/adapters/index.d.ts.map +1 -0
  151. package/out/adapters/index.js +95 -0
  152. package/out/adapters/index.js.map +1 -0
  153. package/out/adapters/openaddresses/adapter.d.ts.map +1 -0
  154. package/out/adapters/openaddresses/adapter.js +186 -0
  155. package/out/adapters/openaddresses/adapter.js.map +1 -0
  156. package/out/adapters/overture/adapter.d.ts +48 -0
  157. package/out/adapters/overture/adapter.d.ts.map +1 -0
  158. package/out/adapters/overture/adapter.js +125 -0
  159. package/out/adapters/overture/adapter.js.map +1 -0
  160. package/out/adapters/state-hi-schools/adapter.d.ts +46 -0
  161. package/out/adapters/state-hi-schools/adapter.d.ts.map +1 -0
  162. package/out/adapters/state-hi-schools/adapter.js +145 -0
  163. package/out/adapters/state-hi-schools/adapter.js.map +1 -0
  164. package/out/adapters/state-hi-schools/workbook.d.ts +29 -0
  165. package/out/adapters/state-hi-schools/workbook.d.ts.map +1 -0
  166. package/out/adapters/state-hi-schools/workbook.js +20 -0
  167. package/out/adapters/state-hi-schools/workbook.js.map +1 -0
  168. package/out/adapters/state-ia-contractors/adapter.d.ts.map +1 -0
  169. package/out/adapters/state-ia-contractors/adapter.js.map +1 -0
  170. package/out/adapters/state-ny-notaries/adapter.d.ts.map +1 -0
  171. package/out/adapters/state-ny-notaries/adapter.js.map +1 -0
  172. package/out/adapters/state-tx-notaries/adapter.d.ts.map +1 -0
  173. package/out/adapters/state-tx-notaries/adapter.js.map +1 -0
  174. package/out/adapters/synth-po-box/adapter.d.ts.map +1 -0
  175. package/out/adapters/synth-po-box/adapter.js +140 -0
  176. package/out/adapters/synth-po-box/adapter.js.map +1 -0
  177. package/out/adapters/tiger/adapter.d.ts +55 -0
  178. package/out/adapters/tiger/adapter.d.ts.map +1 -0
  179. package/out/adapters/tiger/adapter.js +201 -0
  180. package/out/adapters/tiger/adapter.js.map +1 -0
  181. package/out/adapters/tiger/street-decompose.d.ts.map +1 -0
  182. package/out/adapters/tiger/street-decompose.js +68 -0
  183. package/out/adapters/tiger/street-decompose.js.map +1 -0
  184. package/out/adapters/usgov-hrsa-fqhc/adapter.d.ts +56 -0
  185. package/out/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +1 -0
  186. package/out/adapters/usgov-hrsa-fqhc/adapter.js +132 -0
  187. package/out/adapters/usgov-hrsa-fqhc/adapter.js.map +1 -0
  188. package/out/adapters/usgov-imls-pls/adapter.d.ts +36 -0
  189. package/out/adapters/usgov-imls-pls/adapter.d.ts.map +1 -0
  190. package/out/adapters/usgov-imls-pls/adapter.js +114 -0
  191. package/out/adapters/usgov-imls-pls/adapter.js.map +1 -0
  192. package/out/adapters/usgov-irs-bmf/adapter.d.ts +37 -0
  193. package/out/adapters/usgov-irs-bmf/adapter.d.ts.map +1 -0
  194. package/out/adapters/usgov-irs-bmf/adapter.js +120 -0
  195. package/out/adapters/usgov-irs-bmf/adapter.js.map +1 -0
  196. package/out/adapters/usgov-nad/adapter.d.ts +48 -0
  197. package/out/adapters/usgov-nad/adapter.d.ts.map +1 -0
  198. package/out/adapters/usgov-nad/adapter.js +249 -0
  199. package/out/adapters/usgov-nad/adapter.js.map +1 -0
  200. package/out/adapters/usgov-nppes/adapter.d.ts.map +1 -0
  201. package/out/adapters/usgov-nppes/adapter.js +118 -0
  202. package/out/adapters/usgov-nppes/adapter.js.map +1 -0
  203. package/out/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +1 -0
  204. package/out/adapters/usgov-samhsa-treatment-locator/adapter.js +154 -0
  205. package/out/adapters/usgov-samhsa-treatment-locator/adapter.js.map +1 -0
  206. package/out/adapters/utils/index.d.ts +191 -0
  207. package/out/adapters/utils/index.d.ts.map +1 -0
  208. package/out/adapters/utils/index.js +206 -0
  209. package/out/adapters/utils/index.js.map +1 -0
  210. package/out/adapters/wof-admin-jp/adapter.d.ts.map +1 -0
  211. package/out/adapters/wof-admin-jp/adapter.js +161 -0
  212. package/out/adapters/wof-admin-jp/adapter.js.map +1 -0
  213. package/out/adapters/wof-admin-json/adapter.d.ts +79 -0
  214. package/out/adapters/wof-admin-json/adapter.d.ts.map +1 -0
  215. package/out/adapters/wof-admin-json/adapter.js +197 -0
  216. package/out/adapters/wof-admin-json/adapter.js.map +1 -0
  217. package/out/adapters/wof-json-rows.d.ts +62 -0
  218. package/out/adapters/wof-json-rows.d.ts.map +1 -0
  219. package/out/adapters/wof-json-rows.js +83 -0
  220. package/out/adapters/wof-json-rows.js.map +1 -0
  221. package/out/adapters/wof-postalcode-json/adapter.d.ts +65 -0
  222. package/out/adapters/wof-postalcode-json/adapter.d.ts.map +1 -0
  223. package/out/adapters/wof-postalcode-json/adapter.js +151 -0
  224. package/out/adapters/wof-postalcode-json/adapter.js.map +1 -0
  225. package/out/build.d.ts +132 -0
  226. package/out/build.d.ts.map +1 -0
  227. package/out/build.js +245 -0
  228. package/out/build.js.map +1 -0
  229. package/out/codex/us-fips-state.d.ts.map +1 -0
  230. package/out/codex/us-fips-state.js.map +1 -0
  231. package/out/env.d.ts +46 -0
  232. package/out/env.d.ts.map +1 -0
  233. package/out/env.js +46 -0
  234. package/out/env.js.map +1 -0
  235. package/out/index.d.ts +13 -0
  236. package/out/index.d.ts.map +1 -0
  237. package/out/index.js +13 -0
  238. package/out/index.js.map +1 -0
  239. package/out/name-prone-us-suffixes.d.ts +12 -0
  240. package/out/name-prone-us-suffixes.d.ts.map +1 -0
  241. package/out/name-prone-us-suffixes.js +12 -0
  242. package/out/name-prone-us-suffixes.js.map +1 -0
  243. package/out/recipes/anchor-absorption.d.ts +20 -0
  244. package/out/recipes/anchor-absorption.d.ts.map +1 -0
  245. package/out/recipes/anchor-absorption.js +81 -0
  246. package/out/recipes/anchor-absorption.js.map +1 -0
  247. package/out/recipes/bare-country.d.ts +25 -0
  248. package/out/recipes/bare-country.d.ts.map +1 -0
  249. package/out/recipes/bare-country.js +87 -0
  250. package/out/recipes/bare-country.js.map +1 -0
  251. package/out/recipes/boundary-stress.d.ts +20 -0
  252. package/out/recipes/boundary-stress.d.ts.map +1 -0
  253. package/out/recipes/boundary-stress.js +83 -0
  254. package/out/recipes/boundary-stress.js.map +1 -0
  255. package/out/recipes/cn-organizational-units.d.ts +36 -0
  256. package/out/recipes/cn-organizational-units.d.ts.map +1 -0
  257. package/out/recipes/cn-organizational-units.js +159 -0
  258. package/out/recipes/cn-organizational-units.js.map +1 -0
  259. package/out/recipes/country-balanced.d.ts +32 -0
  260. package/out/recipes/country-balanced.d.ts.map +1 -0
  261. package/out/recipes/country-balanced.js +393 -0
  262. package/out/recipes/country-balanced.js.map +1 -0
  263. package/out/recipes/cz-pcfirst-preposition.d.ts +22 -0
  264. package/out/recipes/cz-pcfirst-preposition.d.ts.map +1 -0
  265. package/out/recipes/cz-pcfirst-preposition.js +100 -0
  266. package/out/recipes/cz-pcfirst-preposition.js.map +1 -0
  267. package/out/recipes/fr-admin-split.d.ts +38 -0
  268. package/out/recipes/fr-admin-split.d.ts.map +1 -0
  269. package/out/recipes/fr-admin-split.js +192 -0
  270. package/out/recipes/fr-admin-split.js.map +1 -0
  271. package/out/recipes/fr-bare-street.d.ts +28 -0
  272. package/out/recipes/fr-bare-street.d.ts.map +1 -0
  273. package/out/recipes/fr-bare-street.js +143 -0
  274. package/out/recipes/fr-bare-street.js.map +1 -0
  275. package/out/recipes/fr-fragment.d.ts +77 -0
  276. package/out/recipes/fr-fragment.d.ts.map +1 -0
  277. package/out/recipes/fr-fragment.js +276 -0
  278. package/out/recipes/fr-fragment.js.map +1 -0
  279. package/out/recipes/fr-lieudit.d.ts +32 -0
  280. package/out/recipes/fr-lieudit.d.ts.map +1 -0
  281. package/out/recipes/fr-lieudit.js +227 -0
  282. package/out/recipes/fr-lieudit.js.map +1 -0
  283. package/out/recipes/fr-order.d.ts +38 -0
  284. package/out/recipes/fr-order.d.ts.map +1 -0
  285. package/out/recipes/fr-order.js +197 -0
  286. package/out/recipes/fr-order.js.map +1 -0
  287. package/out/recipes/german.d.ts +44 -0
  288. package/out/recipes/german.d.ts.map +1 -0
  289. package/out/recipes/german.js +288 -0
  290. package/out/recipes/german.js.map +1 -0
  291. package/out/recipes/house-venue.d.ts +18 -0
  292. package/out/recipes/house-venue.d.ts.map +1 -0
  293. package/out/recipes/house-venue.js +73 -0
  294. package/out/recipes/house-venue.js.map +1 -0
  295. package/out/recipes/index.d.ts +24 -0
  296. package/out/recipes/index.d.ts.map +1 -0
  297. package/out/recipes/index.js +91 -0
  298. package/out/recipes/index.js.map +1 -0
  299. package/out/recipes/intersection.d.ts +42 -0
  300. package/out/recipes/intersection.d.ts.map +1 -0
  301. package/out/recipes/intersection.js +452 -0
  302. package/out/recipes/intersection.js.map +1 -0
  303. package/out/recipes/locale.d.ts +136 -0
  304. package/out/recipes/locale.d.ts.map +1 -0
  305. package/out/recipes/locale.js +460 -0
  306. package/out/recipes/locale.js.map +1 -0
  307. package/out/recipes/nl-postcode.d.ts +26 -0
  308. package/out/recipes/nl-postcode.d.ts.map +1 -0
  309. package/out/recipes/nl-postcode.js +102 -0
  310. package/out/recipes/nl-postcode.js.map +1 -0
  311. package/out/recipes/no-fragment.d.ts +43 -0
  312. package/out/recipes/no-fragment.d.ts.map +1 -0
  313. package/out/recipes/no-fragment.js +182 -0
  314. package/out/recipes/no-fragment.js.map +1 -0
  315. package/out/recipes/no-street-led.d.ts +24 -0
  316. package/out/recipes/no-street-led.d.ts.map +1 -0
  317. package/out/recipes/no-street-led.js +113 -0
  318. package/out/recipes/no-street-led.js.map +1 -0
  319. package/out/recipes/no-street.d.ts +18 -0
  320. package/out/recipes/no-street.d.ts.map +1 -0
  321. package/out/recipes/no-street.js +71 -0
  322. package/out/recipes/no-street.js.map +1 -0
  323. package/out/recipes/po-box-cedex.d.ts +38 -0
  324. package/out/recipes/po-box-cedex.d.ts.map +1 -0
  325. package/out/recipes/po-box-cedex.js +767 -0
  326. package/out/recipes/po-box-cedex.js.map +1 -0
  327. package/out/recipes/po-box.d.ts +17 -0
  328. package/out/recipes/po-box.d.ts.map +1 -0
  329. package/out/recipes/po-box.js +100 -0
  330. package/out/recipes/po-box.js.map +1 -0
  331. package/out/recipes/reviewed-postcode-tail.d.ts +47 -0
  332. package/out/recipes/reviewed-postcode-tail.d.ts.map +1 -0
  333. package/out/recipes/reviewed-postcode-tail.js +125 -0
  334. package/out/recipes/reviewed-postcode-tail.js.map +1 -0
  335. package/out/recipes/scaffold.d.ts +324 -0
  336. package/out/recipes/scaffold.d.ts.map +1 -0
  337. package/out/recipes/scaffold.js +186 -0
  338. package/out/recipes/scaffold.js.map +1 -0
  339. package/out/recipes/si-bare-village.d.ts +32 -0
  340. package/out/recipes/si-bare-village.d.ts.map +1 -0
  341. package/out/recipes/si-bare-village.js +88 -0
  342. package/out/recipes/si-bare-village.js.map +1 -0
  343. package/out/recipes/street-affix.d.ts +89 -0
  344. package/out/recipes/street-affix.d.ts.map +1 -0
  345. package/out/recipes/street-affix.js +563 -0
  346. package/out/recipes/street-affix.js.map +1 -0
  347. package/out/recipes/street-bare.d.ts +25 -0
  348. package/out/recipes/street-bare.d.ts.map +1 -0
  349. package/out/recipes/street-bare.js +86 -0
  350. package/out/recipes/street-bare.js.map +1 -0
  351. package/out/recipes/street.d.ts +15 -0
  352. package/out/recipes/street.d.ts.map +1 -0
  353. package/out/recipes/street.js +69 -0
  354. package/out/recipes/street.js.map +1 -0
  355. package/out/recipes/sub-venue-sources.d.ts +229 -0
  356. package/out/recipes/sub-venue-sources.d.ts.map +1 -0
  357. package/out/recipes/sub-venue-sources.js +653 -0
  358. package/out/recipes/sub-venue-sources.js.map +1 -0
  359. package/out/recipes/sub-venue.d.ts +269 -0
  360. package/out/recipes/sub-venue.d.ts.map +1 -0
  361. package/out/recipes/sub-venue.js +725 -0
  362. package/out/recipes/sub-venue.js.map +1 -0
  363. package/out/recipes/trailing-region.d.ts +74 -0
  364. package/out/recipes/trailing-region.d.ts.map +1 -0
  365. package/out/recipes/trailing-region.js +157 -0
  366. package/out/recipes/trailing-region.js.map +1 -0
  367. package/out/recipes/unit.d.ts +29 -0
  368. package/out/recipes/unit.d.ts.map +1 -0
  369. package/out/recipes/unit.js +230 -0
  370. package/out/recipes/unit.js.map +1 -0
  371. package/out/runner.d.ts +130 -0
  372. package/out/runner.d.ts.map +1 -0
  373. package/out/runner.js +185 -0
  374. package/out/runner.js.map +1 -0
  375. package/out/synthesizers/anchor-absorption.d.ts +63 -0
  376. package/out/synthesizers/anchor-absorption.d.ts.map +1 -0
  377. package/out/synthesizers/anchor-absorption.js +221 -0
  378. package/out/synthesizers/anchor-absorption.js.map +1 -0
  379. package/out/synthesizers/boundary-stress.d.ts +78 -0
  380. package/out/synthesizers/boundary-stress.d.ts.map +1 -0
  381. package/out/synthesizers/boundary-stress.js +455 -0
  382. package/out/synthesizers/boundary-stress.js.map +1 -0
  383. package/out/synthesizers/german.d.ts +115 -0
  384. package/out/synthesizers/german.d.ts.map +1 -0
  385. package/out/synthesizers/german.js +149 -0
  386. package/out/synthesizers/german.js.map +1 -0
  387. package/out/synthesizers/house-venue.d.ts +56 -0
  388. package/out/synthesizers/house-venue.d.ts.map +1 -0
  389. package/out/synthesizers/house-venue.js +247 -0
  390. package/out/synthesizers/house-venue.js.map +1 -0
  391. package/out/synthesizers/intersection.d.ts +52 -0
  392. package/out/synthesizers/intersection.d.ts.map +1 -0
  393. package/out/synthesizers/intersection.js +175 -0
  394. package/out/synthesizers/intersection.js.map +1 -0
  395. package/out/synthesizers/no-street.d.ts +72 -0
  396. package/out/synthesizers/no-street.d.ts.map +1 -0
  397. package/out/synthesizers/no-street.js +262 -0
  398. package/out/synthesizers/no-street.js.map +1 -0
  399. package/out/synthesizers/po-box.d.ts +108 -0
  400. package/out/synthesizers/po-box.d.ts.map +1 -0
  401. package/out/synthesizers/po-box.js +250 -0
  402. package/out/synthesizers/po-box.js.map +1 -0
  403. package/out/synthesizers/street.d.ts +54 -0
  404. package/out/synthesizers/street.d.ts.map +1 -0
  405. package/out/synthesizers/street.js +218 -0
  406. package/out/synthesizers/street.js.map +1 -0
  407. package/out/synthesizers/utils.d.ts +241 -0
  408. package/out/synthesizers/utils.d.ts.map +1 -0
  409. package/out/synthesizers/utils.js +776 -0
  410. package/out/synthesizers/utils.js.map +1 -0
  411. package/out/test-kit/corpus-recipe.d.ts +59 -0
  412. package/out/test-kit/corpus-recipe.d.ts.map +1 -0
  413. package/out/test-kit/corpus-recipe.js +39 -0
  414. package/out/test-kit/corpus-recipe.js.map +1 -0
  415. package/out/test-kit/index.d.ts +48 -0
  416. package/out/test-kit/index.d.ts.map +1 -0
  417. package/out/test-kit/index.js +78 -0
  418. package/out/test-kit/index.js.map +1 -0
  419. package/out/tools/align-slice.d.ts +7 -0
  420. package/out/tools/align-slice.d.ts.map +1 -0
  421. package/out/tools/align-slice.js +55 -0
  422. package/out/tools/align-slice.js.map +1 -0
  423. package/out/tools/audit.d.ts +29 -0
  424. package/out/tools/audit.d.ts.map +1 -0
  425. package/out/tools/audit.js +282 -0
  426. package/out/tools/audit.js.map +1 -0
  427. package/out/tools/corpus-stats.d.ts +44 -0
  428. package/out/tools/corpus-stats.d.ts.map +1 -0
  429. package/out/tools/corpus-stats.js +102 -0
  430. package/out/tools/corpus-stats.js.map +1 -0
  431. package/out/tools/fetch/ban.d.ts +31 -0
  432. package/out/tools/fetch/ban.d.ts.map +1 -0
  433. package/out/tools/fetch/ban.js +239 -0
  434. package/out/tools/fetch/ban.js.map +1 -0
  435. package/out/tools/fetch/download.d.ts +117 -0
  436. package/out/tools/fetch/download.d.ts.map +1 -0
  437. package/out/tools/fetch/download.js +160 -0
  438. package/out/tools/fetch/download.js.map +1 -0
  439. package/out/tools/fetch/geonames-dump.d.ts +91 -0
  440. package/out/tools/fetch/geonames-dump.d.ts.map +1 -0
  441. package/out/tools/fetch/geonames-dump.js +171 -0
  442. package/out/tools/fetch/geonames-dump.js.map +1 -0
  443. package/out/tools/fetch/geonames-postal.d.ts +76 -0
  444. package/out/tools/fetch/geonames-postal.d.ts.map +1 -0
  445. package/out/tools/fetch/geonames-postal.js +126 -0
  446. package/out/tools/fetch/geonames-postal.js.map +1 -0
  447. package/out/tools/fetch/hrsa.d.ts +18 -0
  448. package/out/tools/fetch/hrsa.d.ts.map +1 -0
  449. package/out/tools/fetch/hrsa.js +46 -0
  450. package/out/tools/fetch/hrsa.js.map +1 -0
  451. package/out/tools/fetch/imls-pls.d.ts +25 -0
  452. package/out/tools/fetch/imls-pls.d.ts.map +1 -0
  453. package/out/tools/fetch/imls-pls.js +108 -0
  454. package/out/tools/fetch/imls-pls.js.map +1 -0
  455. package/out/tools/fetch/index.d.ts +144 -0
  456. package/out/tools/fetch/index.d.ts.map +1 -0
  457. package/out/tools/fetch/index.js +143 -0
  458. package/out/tools/fetch/index.js.map +1 -0
  459. package/out/tools/fetch/nad.d.ts +70 -0
  460. package/out/tools/fetch/nad.d.ts.map +1 -0
  461. package/out/tools/fetch/nad.js +234 -0
  462. package/out/tools/fetch/nad.js.map +1 -0
  463. package/out/tools/fetch/nppes.d.ts +26 -0
  464. package/out/tools/fetch/nppes.d.ts.map +1 -0
  465. package/out/tools/fetch/nppes.js +126 -0
  466. package/out/tools/fetch/nppes.js.map +1 -0
  467. package/out/tools/fetch/openaddresses.d.ts +9 -0
  468. package/out/tools/fetch/openaddresses.d.ts.map +1 -0
  469. package/out/tools/fetch/openaddresses.js +279 -0
  470. package/out/tools/fetch/openaddresses.js.map +1 -0
  471. package/out/tools/fetch/ourairports.d.ts +45 -0
  472. package/out/tools/fetch/ourairports.d.ts.map +1 -0
  473. package/out/tools/fetch/ourairports.js +128 -0
  474. package/out/tools/fetch/ourairports.js.map +1 -0
  475. package/out/tools/fetch/ppd.d.ts.map +1 -0
  476. package/out/tools/fetch/ppd.js +85 -0
  477. package/out/tools/fetch/ppd.js.map +1 -0
  478. package/out/tools/fetch/state-hi-schools.d.ts +26 -0
  479. package/out/tools/fetch/state-hi-schools.d.ts.map +1 -0
  480. package/out/tools/fetch/state-hi-schools.js +112 -0
  481. package/out/tools/fetch/state-hi-schools.js.map +1 -0
  482. package/out/tools/fetch/state-sources.d.ts +26 -0
  483. package/out/tools/fetch/state-sources.d.ts.map +1 -0
  484. package/out/tools/fetch/state-sources.js +111 -0
  485. package/out/tools/fetch/state-sources.js.map +1 -0
  486. package/out/tools/fetch/tiger-full.d.ts +22 -0
  487. package/out/tools/fetch/tiger-full.d.ts.map +1 -0
  488. package/out/tools/fetch/tiger-full.js +217 -0
  489. package/out/tools/fetch/tiger-full.js.map +1 -0
  490. package/out/tools/fetch/wikidata-subvenue.d.ts +171 -0
  491. package/out/tools/fetch/wikidata-subvenue.d.ts.map +1 -0
  492. package/out/tools/fetch/wikidata-subvenue.js +274 -0
  493. package/out/tools/fetch/wikidata-subvenue.js.map +1 -0
  494. package/out/tools/gb-title-case.d.ts.map +1 -0
  495. package/out/tools/gb-title-case.js.map +1 -0
  496. package/out/tools/golden-expand.d.ts +90 -0
  497. package/out/tools/golden-expand.d.ts.map +1 -0
  498. package/out/tools/golden-expand.js +406 -0
  499. package/out/tools/golden-expand.js.map +1 -0
  500. package/out/tools/golden-promote.d.ts.map +1 -0
  501. package/out/tools/golden-promote.js +240 -0
  502. package/out/tools/golden-promote.js.map +1 -0
  503. package/out/tools/golden-relabel-street.d.ts +196 -0
  504. package/out/tools/golden-relabel-street.d.ts.map +1 -0
  505. package/out/tools/golden-relabel-street.js +440 -0
  506. package/out/tools/golden-relabel-street.js.map +1 -0
  507. package/out/tools/index.d.ts +28 -0
  508. package/out/tools/index.d.ts.map +1 -0
  509. package/out/tools/index.js +28 -0
  510. package/out/tools/index.js.map +1 -0
  511. package/out/tools/ingest-csv.d.ts.map +1 -0
  512. package/out/tools/ingest-csv.js +265 -0
  513. package/out/tools/ingest-csv.js.map +1 -0
  514. package/out/tools/jsonl-to-parquet.d.ts +61 -0
  515. package/out/tools/jsonl-to-parquet.d.ts.map +1 -0
  516. package/out/tools/jsonl-to-parquet.js +150 -0
  517. package/out/tools/jsonl-to-parquet.js.map +1 -0
  518. package/out/tools/lint-slice-vocab.d.ts +90 -0
  519. package/out/tools/lint-slice-vocab.d.ts.map +1 -0
  520. package/out/tools/lint-slice-vocab.js +267 -0
  521. package/out/tools/lint-slice-vocab.js.map +1 -0
  522. package/out/tools/lint-slice.d.ts +93 -0
  523. package/out/tools/lint-slice.d.ts.map +1 -0
  524. package/out/tools/lint-slice.js +322 -0
  525. package/out/tools/lint-slice.js.map +1 -0
  526. package/out/tools/overlay-manifest.d.ts +39 -0
  527. package/out/tools/overlay-manifest.d.ts.map +1 -0
  528. package/out/tools/overlay-manifest.js +90 -0
  529. package/out/tools/overlay-manifest.js.map +1 -0
  530. package/out/tools/overture-subvenue.d.ts +112 -0
  531. package/out/tools/overture-subvenue.d.ts.map +1 -0
  532. package/out/tools/overture-subvenue.js +139 -0
  533. package/out/tools/overture-subvenue.js.map +1 -0
  534. package/out/tools/postcode-triples.d.ts +174 -0
  535. package/out/tools/postcode-triples.d.ts.map +1 -0
  536. package/out/tools/postcode-triples.js +292 -0
  537. package/out/tools/postcode-triples.js.map +1 -0
  538. package/out/tools/slice-kryptonite.d.ts +32 -0
  539. package/out/tools/slice-kryptonite.d.ts.map +1 -0
  540. package/out/tools/slice-kryptonite.js +99 -0
  541. package/out/tools/slice-kryptonite.js.map +1 -0
  542. package/out/tools/slice-translit.d.ts +51 -0
  543. package/out/tools/slice-translit.d.ts.map +1 -0
  544. package/out/tools/slice-translit.js +166 -0
  545. package/out/tools/slice-translit.js.map +1 -0
  546. package/out/tools/sub-venue/harvest.d.ts +100 -0
  547. package/out/tools/sub-venue/harvest.d.ts.map +1 -0
  548. package/out/tools/sub-venue/harvest.js +168 -0
  549. package/out/tools/sub-venue/harvest.js.map +1 -0
  550. package/out/tools/sub-venue/head-nouns.d.ts +50 -0
  551. package/out/tools/sub-venue/head-nouns.d.ts.map +1 -0
  552. package/out/tools/sub-venue/head-nouns.js +213 -0
  553. package/out/tools/sub-venue/head-nouns.js.map +1 -0
  554. package/out/tools/sub-venue/surfaces.d.ts +45 -0
  555. package/out/tools/sub-venue/surfaces.d.ts.map +1 -0
  556. package/out/tools/sub-venue/surfaces.js +77 -0
  557. package/out/tools/sub-venue/surfaces.js.map +1 -0
  558. package/out/tools/sub-venue/table.d.ts +229 -0
  559. package/out/tools/sub-venue/table.d.ts.map +1 -0
  560. package/out/tools/sub-venue/table.js +108 -0
  561. package/out/tools/sub-venue/table.js.map +1 -0
  562. package/out/tools/sub-venue/wikidata.d.ts +26 -0
  563. package/out/tools/sub-venue/wikidata.d.ts.map +1 -0
  564. package/out/tools/sub-venue/wikidata.js +62 -0
  565. package/out/tools/sub-venue/wikidata.js.map +1 -0
  566. package/out/tools/sub-venue-lexicon.d.ts +156 -0
  567. package/out/tools/sub-venue-lexicon.d.ts.map +1 -0
  568. package/out/tools/sub-venue-lexicon.js +283 -0
  569. package/out/tools/sub-venue-lexicon.js.map +1 -0
  570. package/out/tools/sub-venue-promotions.d.ts +94 -0
  571. package/out/tools/sub-venue-promotions.d.ts.map +1 -0
  572. package/out/tools/sub-venue-promotions.js +266 -0
  573. package/out/tools/sub-venue-promotions.js.map +1 -0
  574. package/out/types.d.ts +221 -0
  575. package/out/types.d.ts.map +1 -0
  576. package/out/types.js.map +1 -0
  577. package/out/utils/align.d.ts +93 -0
  578. package/out/utils/align.d.ts.map +1 -0
  579. package/out/utils/align.js +234 -0
  580. package/out/utils/align.js.map +1 -0
  581. package/out/utils/golden.d.ts +85 -0
  582. package/out/utils/golden.d.ts.map +1 -0
  583. package/out/utils/golden.js +127 -0
  584. package/out/utils/golden.js.map +1 -0
  585. package/out/utils/index.d.ts +14 -0
  586. package/out/utils/index.d.ts.map +1 -0
  587. package/out/utils/index.js +14 -0
  588. package/out/utils/index.js.map +1 -0
  589. package/out/utils/license.d.ts.map +1 -0
  590. package/out/utils/license.js.map +1 -0
  591. package/out/utils/parquet.d.ts +178 -0
  592. package/out/utils/parquet.d.ts.map +1 -0
  593. package/out/utils/parquet.js +371 -0
  594. package/out/utils/parquet.js.map +1 -0
  595. package/out/utils/slice-stats.d.ts +52 -0
  596. package/out/utils/slice-stats.d.ts.map +1 -0
  597. package/out/utils/slice-stats.js +58 -0
  598. package/out/utils/slice-stats.js.map +1 -0
  599. package/out/utils/split.d.ts +128 -0
  600. package/out/utils/split.d.ts.map +1 -0
  601. package/out/utils/split.js +204 -0
  602. package/out/utils/split.js.map +1 -0
  603. package/out/utils/tokenize.d.ts +64 -0
  604. package/out/utils/tokenize.d.ts.map +1 -0
  605. package/out/utils/tokenize.js +82 -0
  606. package/out/utils/tokenize.js.map +1 -0
  607. package/out/utils/wof-json.d.ts +113 -0
  608. package/out/utils/wof-json.d.ts.map +1 -0
  609. package/out/utils/wof-json.js +173 -0
  610. package/out/utils/wof-json.js.map +1 -0
  611. package/package.json +259 -194
  612. package/out/src/adapters/ban/adapter.d.ts.map +0 -1
  613. package/out/src/adapters/ban/adapter.js +0 -149
  614. package/out/src/adapters/ban/adapter.js.map +0 -1
  615. package/out/src/adapters/ban/street-decompose.d.ts.map +0 -1
  616. package/out/src/adapters/ban/street-decompose.js +0 -75
  617. package/out/src/adapters/ban/street-decompose.js.map +0 -1
  618. package/out/src/adapters/fcc-bdc/adapter.d.ts.map +0 -1
  619. package/out/src/adapters/fcc-bdc/adapter.js +0 -144
  620. package/out/src/adapters/fcc-bdc/adapter.js.map +0 -1
  621. package/out/src/adapters/geonames/adapter.d.ts.map +0 -1
  622. package/out/src/adapters/geonames/adapter.js +0 -176
  623. package/out/src/adapters/geonames/adapter.js.map +0 -1
  624. package/out/src/adapters/geonames-postal/adapter.d.ts +0 -41
  625. package/out/src/adapters/geonames-postal/adapter.d.ts.map +0 -1
  626. package/out/src/adapters/geonames-postal/adapter.js +0 -104
  627. package/out/src/adapters/geonames-postal/adapter.js.map +0 -1
  628. package/out/src/adapters/gnaf/adapter.d.ts +0 -49
  629. package/out/src/adapters/gnaf/adapter.d.ts.map +0 -1
  630. package/out/src/adapters/gnaf/adapter.js +0 -124
  631. package/out/src/adapters/gnaf/adapter.js.map +0 -1
  632. package/out/src/adapters/gnaf/assemble.d.ts +0 -65
  633. package/out/src/adapters/gnaf/assemble.d.ts.map +0 -1
  634. package/out/src/adapters/gnaf/assemble.js +0 -154
  635. package/out/src/adapters/gnaf/assemble.js.map +0 -1
  636. package/out/src/adapters/index.d.ts +0 -51
  637. package/out/src/adapters/index.d.ts.map +0 -1
  638. package/out/src/adapters/index.js +0 -95
  639. package/out/src/adapters/index.js.map +0 -1
  640. package/out/src/adapters/openaddresses/adapter.d.ts.map +0 -1
  641. package/out/src/adapters/openaddresses/adapter.js +0 -186
  642. package/out/src/adapters/openaddresses/adapter.js.map +0 -1
  643. package/out/src/adapters/overture/adapter.d.ts +0 -48
  644. package/out/src/adapters/overture/adapter.d.ts.map +0 -1
  645. package/out/src/adapters/overture/adapter.js +0 -125
  646. package/out/src/adapters/overture/adapter.js.map +0 -1
  647. package/out/src/adapters/state-hi-schools/adapter.d.ts +0 -47
  648. package/out/src/adapters/state-hi-schools/adapter.d.ts.map +0 -1
  649. package/out/src/adapters/state-hi-schools/adapter.js +0 -133
  650. package/out/src/adapters/state-hi-schools/adapter.js.map +0 -1
  651. package/out/src/adapters/state-ia-contractors/adapter.d.ts.map +0 -1
  652. package/out/src/adapters/state-ia-contractors/adapter.js.map +0 -1
  653. package/out/src/adapters/state-ny-notaries/adapter.d.ts.map +0 -1
  654. package/out/src/adapters/state-ny-notaries/adapter.js.map +0 -1
  655. package/out/src/adapters/state-tx-notaries/adapter.d.ts.map +0 -1
  656. package/out/src/adapters/state-tx-notaries/adapter.js.map +0 -1
  657. package/out/src/adapters/synth-po-box/adapter.d.ts.map +0 -1
  658. package/out/src/adapters/synth-po-box/adapter.js +0 -140
  659. package/out/src/adapters/synth-po-box/adapter.js.map +0 -1
  660. package/out/src/adapters/tiger/adapter.d.ts +0 -55
  661. package/out/src/adapters/tiger/adapter.d.ts.map +0 -1
  662. package/out/src/adapters/tiger/adapter.js +0 -201
  663. package/out/src/adapters/tiger/adapter.js.map +0 -1
  664. package/out/src/adapters/tiger/street-decompose.d.ts.map +0 -1
  665. package/out/src/adapters/tiger/street-decompose.js +0 -90
  666. package/out/src/adapters/tiger/street-decompose.js.map +0 -1
  667. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts +0 -47
  668. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +0 -1
  669. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js +0 -139
  670. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js.map +0 -1
  671. package/out/src/adapters/usgov-imls-pls/adapter.d.ts +0 -36
  672. package/out/src/adapters/usgov-imls-pls/adapter.d.ts.map +0 -1
  673. package/out/src/adapters/usgov-imls-pls/adapter.js +0 -114
  674. package/out/src/adapters/usgov-imls-pls/adapter.js.map +0 -1
  675. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts +0 -37
  676. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts.map +0 -1
  677. package/out/src/adapters/usgov-irs-bmf/adapter.js +0 -124
  678. package/out/src/adapters/usgov-irs-bmf/adapter.js.map +0 -1
  679. package/out/src/adapters/usgov-nad/adapter.d.ts +0 -48
  680. package/out/src/adapters/usgov-nad/adapter.d.ts.map +0 -1
  681. package/out/src/adapters/usgov-nad/adapter.js +0 -252
  682. package/out/src/adapters/usgov-nad/adapter.js.map +0 -1
  683. package/out/src/adapters/usgov-nppes/adapter.d.ts.map +0 -1
  684. package/out/src/adapters/usgov-nppes/adapter.js +0 -116
  685. package/out/src/adapters/usgov-nppes/adapter.js.map +0 -1
  686. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +0 -1
  687. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js +0 -156
  688. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js.map +0 -1
  689. package/out/src/adapters/utils/index.d.ts +0 -150
  690. package/out/src/adapters/utils/index.d.ts.map +0 -1
  691. package/out/src/adapters/utils/index.js +0 -159
  692. package/out/src/adapters/utils/index.js.map +0 -1
  693. package/out/src/adapters/wof-admin-jp/adapter.d.ts.map +0 -1
  694. package/out/src/adapters/wof-admin-jp/adapter.js +0 -164
  695. package/out/src/adapters/wof-admin-jp/adapter.js.map +0 -1
  696. package/out/src/adapters/wof-admin-json/adapter.d.ts +0 -82
  697. package/out/src/adapters/wof-admin-json/adapter.d.ts.map +0 -1
  698. package/out/src/adapters/wof-admin-json/adapter.js +0 -224
  699. package/out/src/adapters/wof-admin-json/adapter.js.map +0 -1
  700. package/out/src/adapters/wof-json-rows.d.ts +0 -32
  701. package/out/src/adapters/wof-json-rows.d.ts.map +0 -1
  702. package/out/src/adapters/wof-json-rows.js +0 -45
  703. package/out/src/adapters/wof-json-rows.js.map +0 -1
  704. package/out/src/adapters/wof-postalcode-json/adapter.d.ts +0 -65
  705. package/out/src/adapters/wof-postalcode-json/adapter.d.ts.map +0 -1
  706. package/out/src/adapters/wof-postalcode-json/adapter.js +0 -160
  707. package/out/src/adapters/wof-postalcode-json/adapter.js.map +0 -1
  708. package/out/src/build.d.ts +0 -132
  709. package/out/src/build.d.ts.map +0 -1
  710. package/out/src/build.js +0 -251
  711. package/out/src/build.js.map +0 -1
  712. package/out/src/codex/us-fips-state.d.ts.map +0 -1
  713. package/out/src/codex/us-fips-state.js.map +0 -1
  714. package/out/src/index.d.ts +0 -14
  715. package/out/src/index.d.ts.map +0 -1
  716. package/out/src/index.js +0 -14
  717. package/out/src/index.js.map +0 -1
  718. package/out/src/name-prone-us-suffixes.d.ts +0 -12
  719. package/out/src/name-prone-us-suffixes.d.ts.map +0 -1
  720. package/out/src/name-prone-us-suffixes.js +0 -12
  721. package/out/src/name-prone-us-suffixes.js.map +0 -1
  722. package/out/src/parquet-wrapper/index.d.ts +0 -9
  723. package/out/src/parquet-wrapper/index.d.ts.map +0 -1
  724. package/out/src/parquet-wrapper/index.js +0 -9
  725. package/out/src/parquet-wrapper/index.js.map +0 -1
  726. package/out/src/parquet-wrapper/reader.d.ts +0 -34
  727. package/out/src/parquet-wrapper/reader.d.ts.map +0 -1
  728. package/out/src/parquet-wrapper/reader.js +0 -69
  729. package/out/src/parquet-wrapper/reader.js.map +0 -1
  730. package/out/src/parquet-wrapper/schema.d.ts +0 -49
  731. package/out/src/parquet-wrapper/schema.d.ts.map +0 -1
  732. package/out/src/parquet-wrapper/schema.js +0 -55
  733. package/out/src/parquet-wrapper/schema.js.map +0 -1
  734. package/out/src/parquet-wrapper/writer.d.ts +0 -46
  735. package/out/src/parquet-wrapper/writer.d.ts.map +0 -1
  736. package/out/src/parquet-wrapper/writer.js +0 -76
  737. package/out/src/parquet-wrapper/writer.js.map +0 -1
  738. package/out/src/runner.d.ts +0 -126
  739. package/out/src/runner.d.ts.map +0 -1
  740. package/out/src/runner.js +0 -189
  741. package/out/src/runner.js.map +0 -1
  742. package/out/src/shard-recipes/anchor-absorption.d.ts +0 -20
  743. package/out/src/shard-recipes/anchor-absorption.d.ts.map +0 -1
  744. package/out/src/shard-recipes/anchor-absorption.js +0 -82
  745. package/out/src/shard-recipes/anchor-absorption.js.map +0 -1
  746. package/out/src/shard-recipes/bare-country.d.ts +0 -25
  747. package/out/src/shard-recipes/bare-country.d.ts.map +0 -1
  748. package/out/src/shard-recipes/bare-country.js +0 -87
  749. package/out/src/shard-recipes/bare-country.js.map +0 -1
  750. package/out/src/shard-recipes/boundary-stress.d.ts +0 -20
  751. package/out/src/shard-recipes/boundary-stress.d.ts.map +0 -1
  752. package/out/src/shard-recipes/boundary-stress.js +0 -83
  753. package/out/src/shard-recipes/boundary-stress.js.map +0 -1
  754. package/out/src/shard-recipes/country-balanced.d.ts +0 -32
  755. package/out/src/shard-recipes/country-balanced.d.ts.map +0 -1
  756. package/out/src/shard-recipes/country-balanced.js +0 -406
  757. package/out/src/shard-recipes/country-balanced.js.map +0 -1
  758. package/out/src/shard-recipes/cz-pcfirst-preposition.d.ts +0 -22
  759. package/out/src/shard-recipes/cz-pcfirst-preposition.d.ts.map +0 -1
  760. package/out/src/shard-recipes/cz-pcfirst-preposition.js +0 -100
  761. package/out/src/shard-recipes/cz-pcfirst-preposition.js.map +0 -1
  762. package/out/src/shard-recipes/fr-admin-split.d.ts +0 -38
  763. package/out/src/shard-recipes/fr-admin-split.d.ts.map +0 -1
  764. package/out/src/shard-recipes/fr-admin-split.js +0 -188
  765. package/out/src/shard-recipes/fr-admin-split.js.map +0 -1
  766. package/out/src/shard-recipes/fr-bare-street.d.ts +0 -28
  767. package/out/src/shard-recipes/fr-bare-street.d.ts.map +0 -1
  768. package/out/src/shard-recipes/fr-bare-street.js +0 -143
  769. package/out/src/shard-recipes/fr-bare-street.js.map +0 -1
  770. package/out/src/shard-recipes/fr-fragment.d.ts +0 -77
  771. package/out/src/shard-recipes/fr-fragment.d.ts.map +0 -1
  772. package/out/src/shard-recipes/fr-fragment.js +0 -276
  773. package/out/src/shard-recipes/fr-fragment.js.map +0 -1
  774. package/out/src/shard-recipes/fr-lieudit.d.ts +0 -32
  775. package/out/src/shard-recipes/fr-lieudit.d.ts.map +0 -1
  776. package/out/src/shard-recipes/fr-lieudit.js +0 -226
  777. package/out/src/shard-recipes/fr-lieudit.js.map +0 -1
  778. package/out/src/shard-recipes/fr-order.d.ts +0 -38
  779. package/out/src/shard-recipes/fr-order.d.ts.map +0 -1
  780. package/out/src/shard-recipes/fr-order.js +0 -208
  781. package/out/src/shard-recipes/fr-order.js.map +0 -1
  782. package/out/src/shard-recipes/german.d.ts +0 -23
  783. package/out/src/shard-recipes/german.d.ts.map +0 -1
  784. package/out/src/shard-recipes/german.js +0 -132
  785. package/out/src/shard-recipes/german.js.map +0 -1
  786. package/out/src/shard-recipes/house-venue.d.ts +0 -18
  787. package/out/src/shard-recipes/house-venue.d.ts.map +0 -1
  788. package/out/src/shard-recipes/house-venue.js +0 -74
  789. package/out/src/shard-recipes/house-venue.js.map +0 -1
  790. package/out/src/shard-recipes/index.d.ts +0 -24
  791. package/out/src/shard-recipes/index.d.ts.map +0 -1
  792. package/out/src/shard-recipes/index.js +0 -89
  793. package/out/src/shard-recipes/index.js.map +0 -1
  794. package/out/src/shard-recipes/intersection.d.ts +0 -42
  795. package/out/src/shard-recipes/intersection.d.ts.map +0 -1
  796. package/out/src/shard-recipes/intersection.js +0 -460
  797. package/out/src/shard-recipes/intersection.js.map +0 -1
  798. package/out/src/shard-recipes/locale.d.ts +0 -135
  799. package/out/src/shard-recipes/locale.d.ts.map +0 -1
  800. package/out/src/shard-recipes/locale.js +0 -459
  801. package/out/src/shard-recipes/locale.js.map +0 -1
  802. package/out/src/shard-recipes/nl-postcode.d.ts +0 -26
  803. package/out/src/shard-recipes/nl-postcode.d.ts.map +0 -1
  804. package/out/src/shard-recipes/nl-postcode.js +0 -102
  805. package/out/src/shard-recipes/nl-postcode.js.map +0 -1
  806. package/out/src/shard-recipes/no-fragment.d.ts +0 -43
  807. package/out/src/shard-recipes/no-fragment.d.ts.map +0 -1
  808. package/out/src/shard-recipes/no-fragment.js +0 -188
  809. package/out/src/shard-recipes/no-fragment.js.map +0 -1
  810. package/out/src/shard-recipes/no-street-led.d.ts +0 -24
  811. package/out/src/shard-recipes/no-street-led.d.ts.map +0 -1
  812. package/out/src/shard-recipes/no-street-led.js +0 -121
  813. package/out/src/shard-recipes/no-street-led.js.map +0 -1
  814. package/out/src/shard-recipes/no-street.d.ts +0 -18
  815. package/out/src/shard-recipes/no-street.d.ts.map +0 -1
  816. package/out/src/shard-recipes/no-street.js +0 -72
  817. package/out/src/shard-recipes/no-street.js.map +0 -1
  818. package/out/src/shard-recipes/po-box-cedex.d.ts +0 -38
  819. package/out/src/shard-recipes/po-box-cedex.d.ts.map +0 -1
  820. package/out/src/shard-recipes/po-box-cedex.js +0 -726
  821. package/out/src/shard-recipes/po-box-cedex.js.map +0 -1
  822. package/out/src/shard-recipes/po-box.d.ts +0 -17
  823. package/out/src/shard-recipes/po-box.d.ts.map +0 -1
  824. package/out/src/shard-recipes/po-box.js +0 -101
  825. package/out/src/shard-recipes/po-box.js.map +0 -1
  826. package/out/src/shard-recipes/reviewed-postcode-tail.d.ts +0 -47
  827. package/out/src/shard-recipes/reviewed-postcode-tail.d.ts.map +0 -1
  828. package/out/src/shard-recipes/reviewed-postcode-tail.js +0 -125
  829. package/out/src/shard-recipes/reviewed-postcode-tail.js.map +0 -1
  830. package/out/src/shard-recipes/scaffold.d.ts +0 -246
  831. package/out/src/shard-recipes/scaffold.d.ts.map +0 -1
  832. package/out/src/shard-recipes/scaffold.js +0 -137
  833. package/out/src/shard-recipes/scaffold.js.map +0 -1
  834. package/out/src/shard-recipes/si-bare-village.d.ts +0 -32
  835. package/out/src/shard-recipes/si-bare-village.d.ts.map +0 -1
  836. package/out/src/shard-recipes/si-bare-village.js +0 -88
  837. package/out/src/shard-recipes/si-bare-village.js.map +0 -1
  838. package/out/src/shard-recipes/street-affix.d.ts +0 -89
  839. package/out/src/shard-recipes/street-affix.d.ts.map +0 -1
  840. package/out/src/shard-recipes/street-affix.js +0 -578
  841. package/out/src/shard-recipes/street-affix.js.map +0 -1
  842. package/out/src/shard-recipes/street-bare.d.ts +0 -25
  843. package/out/src/shard-recipes/street-bare.d.ts.map +0 -1
  844. package/out/src/shard-recipes/street-bare.js +0 -86
  845. package/out/src/shard-recipes/street-bare.js.map +0 -1
  846. package/out/src/shard-recipes/street.d.ts +0 -15
  847. package/out/src/shard-recipes/street.d.ts.map +0 -1
  848. package/out/src/shard-recipes/street.js +0 -69
  849. package/out/src/shard-recipes/street.js.map +0 -1
  850. package/out/src/shard-recipes/sub-venue-sources.d.ts +0 -228
  851. package/out/src/shard-recipes/sub-venue-sources.d.ts.map +0 -1
  852. package/out/src/shard-recipes/sub-venue-sources.js +0 -664
  853. package/out/src/shard-recipes/sub-venue-sources.js.map +0 -1
  854. package/out/src/shard-recipes/sub-venue.d.ts +0 -269
  855. package/out/src/shard-recipes/sub-venue.d.ts.map +0 -1
  856. package/out/src/shard-recipes/sub-venue.js +0 -710
  857. package/out/src/shard-recipes/sub-venue.js.map +0 -1
  858. package/out/src/shard-recipes/trailing-region.d.ts +0 -74
  859. package/out/src/shard-recipes/trailing-region.d.ts.map +0 -1
  860. package/out/src/shard-recipes/trailing-region.js +0 -157
  861. package/out/src/shard-recipes/trailing-region.js.map +0 -1
  862. package/out/src/shard-recipes/unit.d.ts +0 -29
  863. package/out/src/shard-recipes/unit.d.ts.map +0 -1
  864. package/out/src/shard-recipes/unit.js +0 -243
  865. package/out/src/shard-recipes/unit.js.map +0 -1
  866. package/out/src/synthesizers/anchor-absorption.d.ts +0 -63
  867. package/out/src/synthesizers/anchor-absorption.d.ts.map +0 -1
  868. package/out/src/synthesizers/anchor-absorption.js +0 -223
  869. package/out/src/synthesizers/anchor-absorption.js.map +0 -1
  870. package/out/src/synthesizers/boundary-stress.d.ts +0 -78
  871. package/out/src/synthesizers/boundary-stress.d.ts.map +0 -1
  872. package/out/src/synthesizers/boundary-stress.js +0 -455
  873. package/out/src/synthesizers/boundary-stress.js.map +0 -1
  874. package/out/src/synthesizers/german.d.ts +0 -107
  875. package/out/src/synthesizers/german.d.ts.map +0 -1
  876. package/out/src/synthesizers/german.js +0 -148
  877. package/out/src/synthesizers/german.js.map +0 -1
  878. package/out/src/synthesizers/house-venue.d.ts +0 -56
  879. package/out/src/synthesizers/house-venue.d.ts.map +0 -1
  880. package/out/src/synthesizers/house-venue.js +0 -267
  881. package/out/src/synthesizers/house-venue.js.map +0 -1
  882. package/out/src/synthesizers/intersection.d.ts +0 -52
  883. package/out/src/synthesizers/intersection.d.ts.map +0 -1
  884. package/out/src/synthesizers/intersection.js +0 -175
  885. package/out/src/synthesizers/intersection.js.map +0 -1
  886. package/out/src/synthesizers/no-street.d.ts +0 -72
  887. package/out/src/synthesizers/no-street.d.ts.map +0 -1
  888. package/out/src/synthesizers/no-street.js +0 -282
  889. package/out/src/synthesizers/no-street.js.map +0 -1
  890. package/out/src/synthesizers/po-box.d.ts +0 -104
  891. package/out/src/synthesizers/po-box.d.ts.map +0 -1
  892. package/out/src/synthesizers/po-box.js +0 -266
  893. package/out/src/synthesizers/po-box.js.map +0 -1
  894. package/out/src/synthesizers/street.d.ts +0 -54
  895. package/out/src/synthesizers/street.d.ts.map +0 -1
  896. package/out/src/synthesizers/street.js +0 -221
  897. package/out/src/synthesizers/street.js.map +0 -1
  898. package/out/src/synthesizers/utils.d.ts +0 -203
  899. package/out/src/synthesizers/utils.d.ts.map +0 -1
  900. package/out/src/synthesizers/utils.js +0 -708
  901. package/out/src/synthesizers/utils.js.map +0 -1
  902. package/out/src/tools/align-shard.d.ts +0 -8
  903. package/out/src/tools/align-shard.d.ts.map +0 -1
  904. package/out/src/tools/align-shard.js +0 -56
  905. package/out/src/tools/align-shard.js.map +0 -1
  906. package/out/src/tools/audit.d.ts +0 -28
  907. package/out/src/tools/audit.d.ts.map +0 -1
  908. package/out/src/tools/audit.js +0 -285
  909. package/out/src/tools/audit.js.map +0 -1
  910. package/out/src/tools/corpus-stats.d.ts +0 -44
  911. package/out/src/tools/corpus-stats.d.ts.map +0 -1
  912. package/out/src/tools/corpus-stats.js +0 -138
  913. package/out/src/tools/corpus-stats.js.map +0 -1
  914. package/out/src/tools/fetch/ban.d.ts +0 -31
  915. package/out/src/tools/fetch/ban.d.ts.map +0 -1
  916. package/out/src/tools/fetch/ban.js +0 -239
  917. package/out/src/tools/fetch/ban.js.map +0 -1
  918. package/out/src/tools/fetch/download.d.ts +0 -78
  919. package/out/src/tools/fetch/download.d.ts.map +0 -1
  920. package/out/src/tools/fetch/download.js +0 -116
  921. package/out/src/tools/fetch/download.js.map +0 -1
  922. package/out/src/tools/fetch/geonames-dump.d.ts +0 -87
  923. package/out/src/tools/fetch/geonames-dump.d.ts.map +0 -1
  924. package/out/src/tools/fetch/geonames-dump.js +0 -178
  925. package/out/src/tools/fetch/geonames-dump.js.map +0 -1
  926. package/out/src/tools/fetch/geonames-postal.d.ts +0 -76
  927. package/out/src/tools/fetch/geonames-postal.d.ts.map +0 -1
  928. package/out/src/tools/fetch/geonames-postal.js +0 -125
  929. package/out/src/tools/fetch/geonames-postal.js.map +0 -1
  930. package/out/src/tools/fetch/hrsa.d.ts +0 -18
  931. package/out/src/tools/fetch/hrsa.d.ts.map +0 -1
  932. package/out/src/tools/fetch/hrsa.js +0 -46
  933. package/out/src/tools/fetch/hrsa.js.map +0 -1
  934. package/out/src/tools/fetch/imls-pls.d.ts +0 -25
  935. package/out/src/tools/fetch/imls-pls.d.ts.map +0 -1
  936. package/out/src/tools/fetch/imls-pls.js +0 -108
  937. package/out/src/tools/fetch/imls-pls.js.map +0 -1
  938. package/out/src/tools/fetch/index.d.ts +0 -144
  939. package/out/src/tools/fetch/index.d.ts.map +0 -1
  940. package/out/src/tools/fetch/index.js +0 -143
  941. package/out/src/tools/fetch/index.js.map +0 -1
  942. package/out/src/tools/fetch/nad.d.ts +0 -70
  943. package/out/src/tools/fetch/nad.d.ts.map +0 -1
  944. package/out/src/tools/fetch/nad.js +0 -234
  945. package/out/src/tools/fetch/nad.js.map +0 -1
  946. package/out/src/tools/fetch/nppes.d.ts +0 -26
  947. package/out/src/tools/fetch/nppes.d.ts.map +0 -1
  948. package/out/src/tools/fetch/nppes.js +0 -126
  949. package/out/src/tools/fetch/nppes.js.map +0 -1
  950. package/out/src/tools/fetch/openaddresses.d.ts +0 -61
  951. package/out/src/tools/fetch/openaddresses.d.ts.map +0 -1
  952. package/out/src/tools/fetch/openaddresses.js +0 -317
  953. package/out/src/tools/fetch/openaddresses.js.map +0 -1
  954. package/out/src/tools/fetch/ourairports.d.ts +0 -45
  955. package/out/src/tools/fetch/ourairports.d.ts.map +0 -1
  956. package/out/src/tools/fetch/ourairports.js +0 -128
  957. package/out/src/tools/fetch/ourairports.js.map +0 -1
  958. package/out/src/tools/fetch/ppd.d.ts.map +0 -1
  959. package/out/src/tools/fetch/ppd.js +0 -100
  960. package/out/src/tools/fetch/ppd.js.map +0 -1
  961. package/out/src/tools/fetch/state-hi-schools.d.ts +0 -25
  962. package/out/src/tools/fetch/state-hi-schools.d.ts.map +0 -1
  963. package/out/src/tools/fetch/state-hi-schools.js +0 -162
  964. package/out/src/tools/fetch/state-hi-schools.js.map +0 -1
  965. package/out/src/tools/fetch/state-sources.d.ts +0 -26
  966. package/out/src/tools/fetch/state-sources.d.ts.map +0 -1
  967. package/out/src/tools/fetch/state-sources.js +0 -111
  968. package/out/src/tools/fetch/state-sources.js.map +0 -1
  969. package/out/src/tools/fetch/tiger-full.d.ts +0 -42
  970. package/out/src/tools/fetch/tiger-full.d.ts.map +0 -1
  971. package/out/src/tools/fetch/tiger-full.js +0 -248
  972. package/out/src/tools/fetch/tiger-full.js.map +0 -1
  973. package/out/src/tools/fetch/wikidata-subvenue.d.ts +0 -171
  974. package/out/src/tools/fetch/wikidata-subvenue.d.ts.map +0 -1
  975. package/out/src/tools/fetch/wikidata-subvenue.js +0 -275
  976. package/out/src/tools/fetch/wikidata-subvenue.js.map +0 -1
  977. package/out/src/tools/gb-title-case.d.ts.map +0 -1
  978. package/out/src/tools/gb-title-case.js.map +0 -1
  979. package/out/src/tools/golden-expand.d.ts +0 -90
  980. package/out/src/tools/golden-expand.d.ts.map +0 -1
  981. package/out/src/tools/golden-expand.js +0 -413
  982. package/out/src/tools/golden-expand.js.map +0 -1
  983. package/out/src/tools/golden-promote.d.ts.map +0 -1
  984. package/out/src/tools/golden-promote.js +0 -244
  985. package/out/src/tools/golden-promote.js.map +0 -1
  986. package/out/src/tools/golden-relabel-street.d.ts +0 -196
  987. package/out/src/tools/golden-relabel-street.d.ts.map +0 -1
  988. package/out/src/tools/golden-relabel-street.js +0 -440
  989. package/out/src/tools/golden-relabel-street.js.map +0 -1
  990. package/out/src/tools/index.d.ts +0 -28
  991. package/out/src/tools/index.d.ts.map +0 -1
  992. package/out/src/tools/index.js +0 -28
  993. package/out/src/tools/index.js.map +0 -1
  994. package/out/src/tools/ingest-csv.d.ts.map +0 -1
  995. package/out/src/tools/ingest-csv.js +0 -296
  996. package/out/src/tools/ingest-csv.js.map +0 -1
  997. package/out/src/tools/jsonl-to-parquet.d.ts +0 -61
  998. package/out/src/tools/jsonl-to-parquet.d.ts.map +0 -1
  999. package/out/src/tools/jsonl-to-parquet.js +0 -164
  1000. package/out/src/tools/jsonl-to-parquet.js.map +0 -1
  1001. package/out/src/tools/lint-shard-vocab.d.ts +0 -90
  1002. package/out/src/tools/lint-shard-vocab.d.ts.map +0 -1
  1003. package/out/src/tools/lint-shard-vocab.js +0 -281
  1004. package/out/src/tools/lint-shard-vocab.js.map +0 -1
  1005. package/out/src/tools/lint-shard.d.ts +0 -93
  1006. package/out/src/tools/lint-shard.d.ts.map +0 -1
  1007. package/out/src/tools/lint-shard.js +0 -354
  1008. package/out/src/tools/lint-shard.js.map +0 -1
  1009. package/out/src/tools/overlay-manifest.d.ts +0 -39
  1010. package/out/src/tools/overlay-manifest.d.ts.map +0 -1
  1011. package/out/src/tools/overlay-manifest.js +0 -98
  1012. package/out/src/tools/overlay-manifest.js.map +0 -1
  1013. package/out/src/tools/overture-subvenue.d.ts +0 -112
  1014. package/out/src/tools/overture-subvenue.d.ts.map +0 -1
  1015. package/out/src/tools/overture-subvenue.js +0 -144
  1016. package/out/src/tools/overture-subvenue.js.map +0 -1
  1017. package/out/src/tools/postcode-triples.d.ts +0 -175
  1018. package/out/src/tools/postcode-triples.d.ts.map +0 -1
  1019. package/out/src/tools/postcode-triples.js +0 -304
  1020. package/out/src/tools/postcode-triples.js.map +0 -1
  1021. package/out/src/tools/shard-kryptonite.d.ts +0 -32
  1022. package/out/src/tools/shard-kryptonite.d.ts.map +0 -1
  1023. package/out/src/tools/shard-kryptonite.js +0 -100
  1024. package/out/src/tools/shard-kryptonite.js.map +0 -1
  1025. package/out/src/tools/shard-translit.d.ts +0 -51
  1026. package/out/src/tools/shard-translit.d.ts.map +0 -1
  1027. package/out/src/tools/shard-translit.js +0 -175
  1028. package/out/src/tools/shard-translit.js.map +0 -1
  1029. package/out/src/tools/sub-venue/harvest.d.ts +0 -100
  1030. package/out/src/tools/sub-venue/harvest.d.ts.map +0 -1
  1031. package/out/src/tools/sub-venue/harvest.js +0 -168
  1032. package/out/src/tools/sub-venue/harvest.js.map +0 -1
  1033. package/out/src/tools/sub-venue/head-nouns.d.ts +0 -50
  1034. package/out/src/tools/sub-venue/head-nouns.d.ts.map +0 -1
  1035. package/out/src/tools/sub-venue/head-nouns.js +0 -210
  1036. package/out/src/tools/sub-venue/head-nouns.js.map +0 -1
  1037. package/out/src/tools/sub-venue/surfaces.d.ts +0 -45
  1038. package/out/src/tools/sub-venue/surfaces.d.ts.map +0 -1
  1039. package/out/src/tools/sub-venue/surfaces.js +0 -77
  1040. package/out/src/tools/sub-venue/surfaces.js.map +0 -1
  1041. package/out/src/tools/sub-venue/table.d.ts +0 -229
  1042. package/out/src/tools/sub-venue/table.d.ts.map +0 -1
  1043. package/out/src/tools/sub-venue/table.js +0 -108
  1044. package/out/src/tools/sub-venue/table.js.map +0 -1
  1045. package/out/src/tools/sub-venue/wikidata.d.ts +0 -26
  1046. package/out/src/tools/sub-venue/wikidata.d.ts.map +0 -1
  1047. package/out/src/tools/sub-venue/wikidata.js +0 -62
  1048. package/out/src/tools/sub-venue/wikidata.js.map +0 -1
  1049. package/out/src/tools/sub-venue-lexicon.d.ts +0 -156
  1050. package/out/src/tools/sub-venue-lexicon.d.ts.map +0 -1
  1051. package/out/src/tools/sub-venue-lexicon.js +0 -282
  1052. package/out/src/tools/sub-venue-lexicon.js.map +0 -1
  1053. package/out/src/tools/sub-venue-promotions.d.ts +0 -94
  1054. package/out/src/tools/sub-venue-promotions.d.ts.map +0 -1
  1055. package/out/src/tools/sub-venue-promotions.js +0 -266
  1056. package/out/src/tools/sub-venue-promotions.js.map +0 -1
  1057. package/out/src/types.d.ts +0 -221
  1058. package/out/src/types.d.ts.map +0 -1
  1059. package/out/src/types.js.map +0 -1
  1060. package/out/src/utils/align.d.ts +0 -93
  1061. package/out/src/utils/align.d.ts.map +0 -1
  1062. package/out/src/utils/align.js +0 -234
  1063. package/out/src/utils/align.js.map +0 -1
  1064. package/out/src/utils/golden.d.ts +0 -69
  1065. package/out/src/utils/golden.d.ts.map +0 -1
  1066. package/out/src/utils/golden.js +0 -127
  1067. package/out/src/utils/golden.js.map +0 -1
  1068. package/out/src/utils/index.d.ts +0 -14
  1069. package/out/src/utils/index.d.ts.map +0 -1
  1070. package/out/src/utils/index.js +0 -14
  1071. package/out/src/utils/index.js.map +0 -1
  1072. package/out/src/utils/license.d.ts.map +0 -1
  1073. package/out/src/utils/license.js.map +0 -1
  1074. package/out/src/utils/parquet.d.ts +0 -162
  1075. package/out/src/utils/parquet.d.ts.map +0 -1
  1076. package/out/src/utils/parquet.js +0 -262
  1077. package/out/src/utils/parquet.js.map +0 -1
  1078. package/out/src/utils/split.d.ts +0 -127
  1079. package/out/src/utils/split.d.ts.map +0 -1
  1080. package/out/src/utils/split.js +0 -204
  1081. package/out/src/utils/split.js.map +0 -1
  1082. package/out/src/utils/tokenize.d.ts +0 -56
  1083. package/out/src/utils/tokenize.d.ts.map +0 -1
  1084. package/out/src/utils/tokenize.js +0 -48
  1085. package/out/src/utils/tokenize.js.map +0 -1
  1086. package/out/src/utils/wof-json.d.ts +0 -109
  1087. package/out/src/utils/wof-json.d.ts.map +0 -1
  1088. package/out/src/utils/wof-json.js +0 -173
  1089. package/out/src/utils/wof-json.js.map +0 -1
  1090. package/src/adapters/ban/adapter.ts +0 -191
  1091. package/src/adapters/ban/street-decompose.ts +0 -96
  1092. package/src/adapters/fcc-bdc/adapter.ts +0 -174
  1093. package/src/adapters/geonames/adapter.ts +0 -200
  1094. package/src/adapters/geonames-postal/adapter.ts +0 -119
  1095. package/src/adapters/gnaf/adapter.ts +0 -149
  1096. package/src/adapters/gnaf/assemble.ts +0 -226
  1097. package/src/adapters/index.ts +0 -149
  1098. package/src/adapters/openaddresses/adapter.ts +0 -251
  1099. package/src/adapters/overture/adapter.ts +0 -162
  1100. package/src/adapters/state-hi-schools/adapter.ts +0 -164
  1101. package/src/adapters/synth-po-box/adapter.ts +0 -204
  1102. package/src/adapters/tiger/adapter.ts +0 -253
  1103. package/src/adapters/tiger/street-decompose.ts +0 -111
  1104. package/src/adapters/usgov-hrsa-fqhc/adapter.ts +0 -183
  1105. package/src/adapters/usgov-imls-pls/adapter.ts +0 -143
  1106. package/src/adapters/usgov-irs-bmf/adapter.ts +0 -163
  1107. package/src/adapters/usgov-nad/adapter.ts +0 -348
  1108. package/src/adapters/usgov-nppes/adapter.ts +0 -159
  1109. package/src/adapters/usgov-samhsa-treatment-locator/adapter.ts +0 -204
  1110. package/src/adapters/utils/index.ts +0 -233
  1111. package/src/adapters/wof-admin-jp/adapter.ts +0 -216
  1112. package/src/adapters/wof-admin-json/adapter.ts +0 -256
  1113. package/src/adapters/wof-json-rows.ts +0 -79
  1114. package/src/adapters/wof-postalcode-json/adapter.ts +0 -183
  1115. package/src/build.ts +0 -386
  1116. package/src/index.ts +0 -14
  1117. package/src/name-prone-us-suffixes.ts +0 -12
  1118. package/src/parquet-wrapper/index.ts +0 -9
  1119. package/src/parquet-wrapper/reader.ts +0 -97
  1120. package/src/parquet-wrapper/schema.ts +0 -88
  1121. package/src/parquet-wrapper/writer.ts +0 -110
  1122. package/src/runner.ts +0 -317
  1123. package/src/shard-recipes/anchor-absorption.ts +0 -103
  1124. package/src/shard-recipes/bare-country.ts +0 -95
  1125. package/src/shard-recipes/boundary-stress.ts +0 -101
  1126. package/src/shard-recipes/country-balanced.ts +0 -524
  1127. package/src/shard-recipes/cz-pcfirst-preposition.ts +0 -111
  1128. package/src/shard-recipes/fr-admin-split.ts +0 -239
  1129. package/src/shard-recipes/fr-bare-street.ts +0 -170
  1130. package/src/shard-recipes/fr-fragment.ts +0 -332
  1131. package/src/shard-recipes/fr-lieudit.ts +0 -302
  1132. package/src/shard-recipes/fr-order.ts +0 -258
  1133. package/src/shard-recipes/german.ts +0 -170
  1134. package/src/shard-recipes/house-venue.ts +0 -88
  1135. package/src/shard-recipes/index.ts +0 -95
  1136. package/src/shard-recipes/intersection.ts +0 -630
  1137. package/src/shard-recipes/locale.ts +0 -599
  1138. package/src/shard-recipes/nl-postcode.ts +0 -115
  1139. package/src/shard-recipes/no-fragment.ts +0 -219
  1140. package/src/shard-recipes/no-street-led.ts +0 -143
  1141. package/src/shard-recipes/no-street.ts +0 -86
  1142. package/src/shard-recipes/po-box-cedex.ts +0 -920
  1143. package/src/shard-recipes/po-box.ts +0 -119
  1144. package/src/shard-recipes/reviewed-postcode-tail.ts +0 -189
  1145. package/src/shard-recipes/scaffold.ts +0 -360
  1146. package/src/shard-recipes/si-bare-village.ts +0 -97
  1147. package/src/shard-recipes/street-affix.ts +0 -826
  1148. package/src/shard-recipes/street-bare.ts +0 -101
  1149. package/src/shard-recipes/street.ts +0 -82
  1150. package/src/shard-recipes/sub-venue-sources.ts +0 -885
  1151. package/src/shard-recipes/sub-venue.ts +0 -984
  1152. package/src/shard-recipes/trailing-region.ts +0 -183
  1153. package/src/shard-recipes/unit.ts +0 -321
  1154. package/src/synthesizers/anchor-absorption.ts +0 -290
  1155. package/src/synthesizers/boundary-stress.ts +0 -531
  1156. package/src/synthesizers/german.ts +0 -251
  1157. package/src/synthesizers/house-venue.ts +0 -330
  1158. package/src/synthesizers/intersection.ts +0 -232
  1159. package/src/synthesizers/no-street.ts +0 -349
  1160. package/src/synthesizers/po-box.ts +0 -339
  1161. package/src/synthesizers/street.ts +0 -274
  1162. package/src/synthesizers/utils.ts +0 -903
  1163. package/src/tools/align-shard.ts +0 -70
  1164. package/src/tools/audit.ts +0 -399
  1165. package/src/tools/corpus-stats.ts +0 -184
  1166. package/src/tools/fetch/ban.ts +0 -290
  1167. package/src/tools/fetch/download.ts +0 -176
  1168. package/src/tools/fetch/geonames-dump.ts +0 -267
  1169. package/src/tools/fetch/geonames-postal.ts +0 -180
  1170. package/src/tools/fetch/hrsa.ts +0 -68
  1171. package/src/tools/fetch/imls-pls.ts +0 -158
  1172. package/src/tools/fetch/index.ts +0 -147
  1173. package/src/tools/fetch/nad.ts +0 -342
  1174. package/src/tools/fetch/nppes.ts +0 -174
  1175. package/src/tools/fetch/openaddresses.ts +0 -404
  1176. package/src/tools/fetch/ourairports.ts +0 -171
  1177. package/src/tools/fetch/ppd.ts +0 -137
  1178. package/src/tools/fetch/state-hi-schools.ts +0 -208
  1179. package/src/tools/fetch/state-sources.ts +0 -155
  1180. package/src/tools/fetch/tiger-full.ts +0 -354
  1181. package/src/tools/fetch/wikidata-subvenue.ts +0 -386
  1182. package/src/tools/golden-expand.ts +0 -584
  1183. package/src/tools/golden-promote.ts +0 -353
  1184. package/src/tools/golden-relabel-street.ts +0 -685
  1185. package/src/tools/index.ts +0 -28
  1186. package/src/tools/ingest-csv.ts +0 -422
  1187. package/src/tools/jsonl-to-parquet.ts +0 -221
  1188. package/src/tools/lint-shard-vocab.ts +0 -409
  1189. package/src/tools/lint-shard.ts +0 -543
  1190. package/src/tools/overlay-manifest.ts +0 -157
  1191. package/src/tools/overture-subvenue.ts +0 -215
  1192. package/src/tools/postcode-triples.ts +0 -375
  1193. package/src/tools/shard-kryptonite.ts +0 -139
  1194. package/src/tools/shard-translit.ts +0 -245
  1195. package/src/tools/sub-venue/harvest.ts +0 -235
  1196. package/src/tools/sub-venue/head-nouns.ts +0 -242
  1197. package/src/tools/sub-venue/surfaces.ts +0 -95
  1198. package/src/tools/sub-venue/table.ts +0 -281
  1199. package/src/tools/sub-venue/wikidata.ts +0 -85
  1200. package/src/tools/sub-venue-lexicon.ts +0 -431
  1201. package/src/tools/sub-venue-promotions.ts +0 -330
  1202. package/src/types.ts +0 -247
  1203. package/src/utils/align.ts +0 -331
  1204. package/src/utils/golden.ts +0 -176
  1205. package/src/utils/index.ts +0 -14
  1206. package/src/utils/parquet.ts +0 -391
  1207. package/src/utils/split.ts +0 -279
  1208. package/src/utils/tokenize.ts +0 -78
  1209. package/src/utils/wof-json.ts +0 -244
  1210. /package/{src → lib}/adapters/state-ia-contractors/adapter.ts +0 -0
  1211. /package/{src → lib}/adapters/state-ny-notaries/adapter.ts +0 -0
  1212. /package/{src → lib}/adapters/state-tx-notaries/adapter.ts +0 -0
  1213. /package/{src → lib}/codex/us-fips-state.ts +0 -0
  1214. /package/{src → lib}/tools/gb-title-case.ts +0 -0
  1215. /package/{src → lib}/utils/license.ts +0 -0
  1216. /package/out/{src/adapters → adapters}/ban/adapter.d.ts +0 -0
  1217. /package/out/{src/adapters → adapters}/ban/street-decompose.d.ts +0 -0
  1218. /package/out/{src/adapters → adapters}/fcc-bdc/adapter.d.ts +0 -0
  1219. /package/out/{src/adapters → adapters}/geonames/adapter.d.ts +0 -0
  1220. /package/out/{src/adapters → adapters}/openaddresses/adapter.d.ts +0 -0
  1221. /package/out/{src/adapters → adapters}/state-ia-contractors/adapter.d.ts +0 -0
  1222. /package/out/{src/adapters → adapters}/state-ia-contractors/adapter.js +0 -0
  1223. /package/out/{src/adapters → adapters}/state-ny-notaries/adapter.d.ts +0 -0
  1224. /package/out/{src/adapters → adapters}/state-ny-notaries/adapter.js +0 -0
  1225. /package/out/{src/adapters → adapters}/state-tx-notaries/adapter.d.ts +0 -0
  1226. /package/out/{src/adapters → adapters}/state-tx-notaries/adapter.js +0 -0
  1227. /package/out/{src/adapters → adapters}/synth-po-box/adapter.d.ts +0 -0
  1228. /package/out/{src/adapters → adapters}/tiger/street-decompose.d.ts +0 -0
  1229. /package/out/{src/adapters → adapters}/usgov-nppes/adapter.d.ts +0 -0
  1230. /package/out/{src/adapters → adapters}/usgov-samhsa-treatment-locator/adapter.d.ts +0 -0
  1231. /package/out/{src/adapters → adapters}/wof-admin-jp/adapter.d.ts +0 -0
  1232. /package/out/{src/codex → codex}/us-fips-state.d.ts +0 -0
  1233. /package/out/{src/codex → codex}/us-fips-state.js +0 -0
  1234. /package/out/{src/tools → tools}/fetch/ppd.d.ts +0 -0
  1235. /package/out/{src/tools → tools}/gb-title-case.d.ts +0 -0
  1236. /package/out/{src/tools → tools}/gb-title-case.js +0 -0
  1237. /package/out/{src/tools → tools}/golden-promote.d.ts +0 -0
  1238. /package/out/{src/tools → tools}/ingest-csv.d.ts +0 -0
  1239. /package/out/{src/types.js → types.js} +0 -0
  1240. /package/out/{src/utils → utils}/license.d.ts +0 -0
  1241. /package/out/{src/utils → utils}/license.js +0 -0
@@ -1,119 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license AGPL-3.0
4
- * @author Teffen Ellis, et al.
5
- *
6
- * `po-box` shard recipe — synthetic PO box rows: tuples → {@link synthesizePoBoxRow} → aligned
7
- * LabeledRow, plus optional self-contained US military/diplomatic rows (#517) at
8
- * `--military-ratio`. Region is required EXCEPT region-less locales (NZ). Ported from
9
- * scripts/build-po-box-shard.mjs.
10
- */
11
-
12
- import { synthesizeMilitaryPoBoxRow, synthesizePoBoxRow, type PoBoxBaseTuple } from "#synthesizers/po-box"
13
-
14
- import { alignAndWrite, makeLcg, readTuples, shardSourceID, type ShardRecipe } from "./scaffold.ts"
15
-
16
- const LICENSE = "Synthetic — derived from CC-BY / public-domain input tuples"
17
-
18
- /**
19
- * Shard recipe registered with the corpus builder — see the file header for the parse behaviour it exists to exercise,
20
- * and `description` below for the surface form it generates.
21
- */
22
- export const poBoxRecipe: ShardRecipe = {
23
- name: "po-box",
24
- description: "PO box rows: tuples → synthesizePoBoxRow (+ optional US military/diplomatic rows)",
25
- mode: "tuples",
26
- options: [
27
- { flag: "--pmb-ratio <p>", description: "P(private-mailbox layout). Default 0.15" },
28
- { flag: "--military-ratio <p>", description: "P(emit one US military/diplomatic row per input, #517). Default 0" },
29
- ],
30
- async run(opts, write) {
31
- if (!opts.input) throw new Error("po-box recipe requires --input <tuples.jsonl>")
32
- const random = makeLcg(opts.seed)
33
- const pmbRatio = opts.pmbRatio ?? 0.15
34
- const militaryRatio = opts.militaryRatio ?? 0
35
- let read = 0
36
- let emitted = 0
37
- let skipped = 0
38
-
39
- for await (const tuple of readTuples(opts.input)) {
40
- read++
41
- // Region required EXCEPT region-less locales (NZ: "Private Bag 12, Auckland 1010", #517).
42
- const regionOptional = ["NZ", "NZL", "NEW ZEALAND"].includes(String(tuple.country || "").toUpperCase())
43
-
44
- if (!tuple.locality || !tuple.postcode || !tuple.country || (!tuple.region && !regionOptional)) {
45
- skipped++
46
-
47
- continue
48
- }
49
-
50
- for (let v = 0; v < opts.variants; v++) {
51
- const synth = synthesizePoBoxRow(tuple as PoBoxBaseTuple, { random, pmbRatio })
52
-
53
- if (!synth) continue
54
-
55
- const ok = alignAndWrite(
56
- write,
57
- {
58
- raw: synth.raw,
59
- components: synth.components,
60
- country: tuple.country,
61
- locale: synth.locale,
62
- source: "synth-po-box",
63
- source_id: shardSourceID("synth-po-box", {
64
- locality: tuple.locality,
65
- region: tuple.region,
66
- postcode: tuple.postcode,
67
- country: tuple.country,
68
- v: String(v),
69
- }),
70
- corpus_version: "0.4.0",
71
- license: LICENSE,
72
- },
73
- synth.template
74
- )
75
-
76
- if (ok) {
77
- emitted++
78
- } else {
79
- skipped++
80
- }
81
- }
82
-
83
- // US military/diplomatic rows (#517): self-contained, one per input line at --military-ratio.
84
- // Default 0 → byte-stable (random() not called when off). US-only.
85
- if (militaryRatio > 0 && random() < militaryRatio) {
86
- const mil = synthesizeMilitaryPoBoxRow({ random })
87
-
88
- const ok = alignAndWrite(
89
- write,
90
- {
91
- raw: mil.raw,
92
- components: mil.components,
93
- country: "US",
94
- locale: mil.locale,
95
- source: "synth-po-box",
96
- source_id: shardSourceID("synth-po-box", {
97
- po_box: mil.components.po_box,
98
- locality: mil.components.locality,
99
- region: mil.components.region,
100
- postcode: mil.components.postcode,
101
- v: `mil${emitted}`,
102
- }),
103
- corpus_version: "0.4.0",
104
- license: LICENSE,
105
- },
106
- mil.template
107
- )
108
-
109
- if (ok) {
110
- emitted++
111
- } else {
112
- skipped++
113
- }
114
- }
115
- }
116
-
117
- return { read, emitted, skipped }
118
- },
119
- }
@@ -1,189 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license AGPL-3.0
4
- * @author Teffen Ellis, et al.
5
- *
6
- * A bounded, reviewed source for Venezuela's `locality postcode, region` convention (#1821).
7
- * Bulk sources yielded zero Venezuelan tuples, so this recipe reads four reviewed facts and applies
8
- * only transformations that do not create another postcode-to-place join.
9
- */
10
-
11
- import { readFileSync } from "node:fs"
12
- import { fileURLToPath } from "node:url"
13
-
14
- import { parseJSONStrict } from "@mailwoman/core/objects"
15
-
16
- import { alignAndWrite, type ShardRecipe, shardSourceID } from "./scaffold.ts"
17
-
18
- /**
19
- * A separate sampler bucket so a receipt measures these reviewed after-locality rows and no other postcode placement.
20
- */
21
- export const REVIEWED_POSTCODE_TAIL_SOURCE = "synth-reviewed-postcode-tail"
22
-
23
- /**
24
- * The four postcode-to-place facts reviewed for #1821 and committed in the package data file.
25
- */
26
- const REVIEWED_TUPLE_COUNT = 4
27
-
28
- interface ReviewedTupleProvenance {
29
- publisher: string
30
- url: string
31
- retrievedAt: string
32
- reviewStatus: "reviewed"
33
- sourceLicenseNote: string
34
- }
35
-
36
- export interface ReviewedPostcodeTuple {
37
- id: string
38
- locality: string
39
- postcode: string
40
- region: string
41
- country: "Venezuela"
42
- cc: "VE"
43
- locale: "es-VE"
44
- postcodePlacement: "after_locality"
45
- provenance: ReviewedTupleProvenance
46
- }
47
-
48
- interface ReviewedPostcodeTupleFile {
49
- version: string
50
- reviewedAt: string
51
- tuples: ReviewedPostcodeTuple[]
52
- }
53
-
54
- type VariantID =
55
- | "canonical-country"
56
- | "canonical-no-country"
57
- | "comma-free"
58
- | "uppercase"
59
- | "left-context"
60
- | "accent-folded"
61
-
62
- interface Variant {
63
- id: VariantID
64
- raw: string
65
- components: Record<string, string>
66
- }
67
-
68
- const ISO_DATE = /^\d{4}-\d{2}-\d{2}$/
69
-
70
- export function defaultReviewedPostcodeTuplePath(): string {
71
- return fileURLToPath(import.meta.resolve("@mailwoman/corpus/data/reviewed-ve-postcode-tuples.json"))
72
- }
73
-
74
- export function readReviewedPostcodeTuples(path = defaultReviewedPostcodeTuplePath()): ReviewedPostcodeTuple[] {
75
- const document = parseJSONStrict<ReviewedPostcodeTupleFile>(readFileSync(path, "utf8"))
76
-
77
- if (!document.version || !ISO_DATE.test(document.reviewedAt) || document.tuples.length !== REVIEWED_TUPLE_COUNT) {
78
- throw new Error("reviewed postcode tuple file must declare a version, review date, and exactly four tuples")
79
- }
80
-
81
- const ids = new Set<string>()
82
- const facts = new Set<string>()
83
-
84
- for (const tuple of document.tuples) {
85
- const provenance = tuple.provenance
86
- const fact = `${tuple.locality}\u0000${tuple.postcode}\u0000${tuple.region}`
87
-
88
- if (
89
- !tuple.id ||
90
- !tuple.locality ||
91
- !tuple.postcode ||
92
- !tuple.region ||
93
- tuple.country !== "Venezuela" ||
94
- tuple.cc !== "VE" ||
95
- tuple.locale !== "es-VE" ||
96
- tuple.postcodePlacement !== "after_locality" ||
97
- !provenance?.publisher ||
98
- !URL.canParse(provenance.url) ||
99
- !ISO_DATE.test(provenance.retrievedAt) ||
100
- provenance.reviewStatus !== "reviewed" ||
101
- !provenance.sourceLicenseNote
102
- ) {
103
- throw new Error(`invalid reviewed postcode tuple: ${tuple.id || "<missing id>"}`)
104
- }
105
-
106
- if (ids.has(tuple.id) || facts.has(fact)) throw new Error(`duplicate reviewed postcode tuple: ${tuple.id}`)
107
- ids.add(tuple.id)
108
- facts.add(fact)
109
- }
110
-
111
- return document.tuples
112
- }
113
-
114
- const foldAccents = (value: string): string => value.normalize("NFD").replaceAll(/\p{M}/gu, "").normalize("NFC")
115
-
116
- export function reviewedPostcodeTailVariants(tuple: ReviewedPostcodeTuple): Variant[] {
117
- const tail = `${tuple.locality} ${tuple.postcode}, ${tuple.region}`
118
- const withCountry = `${tail}, ${tuple.country}`
119
- const base = { locality: tuple.locality, postcode: tuple.postcode, region: tuple.region, country: tuple.country }
120
- const upper = Object.fromEntries(Object.entries(base).map(([key, value]) => [key, value.toUpperCase()]))
121
-
122
- const variants: Variant[] = [
123
- { id: "canonical-country", raw: withCountry, components: base },
124
- {
125
- id: "canonical-no-country",
126
- raw: tail,
127
- components: { locality: tuple.locality, postcode: tuple.postcode, region: tuple.region },
128
- },
129
- { id: "comma-free", raw: `${tuple.locality} ${tuple.postcode} ${tuple.region} ${tuple.country}`, components: base },
130
- { id: "uppercase", raw: withCountry.toUpperCase(), components: upper },
131
- {
132
- id: "left-context",
133
- raw: `Comercio Ejemplo, Calle Principal, ${withCountry}`,
134
- components: { venue: "Comercio Ejemplo", street: "Calle Principal", ...base },
135
- },
136
- ]
137
-
138
- const foldedLocality = foldAccents(tuple.locality)
139
- const foldedRegion = foldAccents(tuple.region)
140
-
141
- if (foldedLocality !== tuple.locality || foldedRegion !== tuple.region) {
142
- variants.push({
143
- id: "accent-folded",
144
- raw: `${foldedLocality} ${tuple.postcode}, ${foldedRegion}, ${tuple.country}`,
145
- components: { locality: foldedLocality, postcode: tuple.postcode, region: foldedRegion, country: tuple.country },
146
- })
147
- }
148
-
149
- return variants
150
- }
151
-
152
- /**
153
- * Emit bounded surface variants of the committed reviewed facts without constructing another geographic join.
154
- */
155
- export const reviewedPostcodeTailRecipe: ShardRecipe = {
156
- name: "reviewed-postcode-tail",
157
- description: "Reviewed Venezuela locality-postcode-region tails with bounded surface variants",
158
- mode: "generate",
159
- async run(opts, write) {
160
- const tuples = readReviewedPostcodeTuples(opts.input)
161
- let emitted = 0
162
- let skipped = 0
163
-
164
- for (const tuple of tuples) {
165
- for (const variant of reviewedPostcodeTailVariants(tuple)) {
166
- const sourceID = shardSourceID(REVIEWED_POSTCODE_TAIL_SOURCE, { tuple: tuple.id, variant: variant.id })
167
-
168
- const canonical = {
169
- raw: variant.raw,
170
- components: variant.components,
171
- country: tuple.cc,
172
- locale: tuple.locale,
173
- source: REVIEWED_POSTCODE_TAIL_SOURCE,
174
- source_id: sourceID,
175
- corpus_version: "0.11.0",
176
- license: `Synthetic rendering of reviewed postal facts — ${tuple.provenance.publisher}; source terms recorded in reviewed-ve-postcode-tuples.json`,
177
- }
178
-
179
- if (alignAndWrite(write, canonical, "reviewed-postcode-tail", tuple.id)) {
180
- emitted++
181
- } else {
182
- skipped++
183
- }
184
- }
185
- }
186
-
187
- return { read: tuples.length, emitted, skipped }
188
- },
189
- }
@@ -1,360 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license AGPL-3.0
4
- * @author Teffen Ellis, et al.
5
- *
6
- * Shared scaffolding for the synthetic-corpus SHARD RECIPES — the common bits the 16
7
- * `build-*-shard.mjs` scripts each re-implemented: the seeded LCG PRNG, the tuple reader, and the
8
- * canonical → `alignRow` → `LabeledRow` JSONL emit step. A recipe ({@link ShardRecipe}) supplies
9
- * only its synthesis + filter; the `mailwoman corpus shard <recipe>` command supplies the I/O.
10
- */
11
-
12
- import { existsSync } from "node:fs"
13
-
14
- import { readZipEntry } from "@mailwoman/core/fs/zip"
15
- import { tryParsingJSON } from "@mailwoman/core/objects"
16
- import type { PathBuilderLike } from "path-ts"
17
- import type { AsyncChunkIterator, AsyncDataResource } from "spliterator"
18
- import { AsyncSequence, CSVSpliterator } from "spliterator"
19
-
20
- import { stableSourceIDFromParts } from "#adapters/utils"
21
- import { alignRow } from "#utils"
22
-
23
- /**
24
- * {@link stableSourceIDFromParts} under the name the recipes use: arbitrary disambiguator keys (e.g. a variant index
25
- * `v`) that aren't `ComponentTag`s, which is how the legacy builders kept per-variant ids unique.
26
- */
27
- export function shardSourceID(adapterID: string, parts: Record<string, string | undefined>): string {
28
- return stableSourceIDFromParts(adapterID, parts)
29
- }
30
-
31
- /**
32
- * Where a country's convention writes the postcode inside the `«locality», «region»[, «country»]` admin tail.
33
- *
34
- * Load-bearing rather than cosmetic: the same digits change TAG with position. Measured on the shipped model,
35
- * `Heladería Frappé Manía, Avenida Country Club, Barcelona 6001, Anzoátegui, Venezuela` tags `6001` as `house_number`
36
- * and loses the locality into the street, while the identical row written `… 6001 Barcelona, Anzoátegui, Venezuela`
37
- * tags it `postcode` and recovers `locality: Barcelona`. So a shard emitting one placement teaches one family of
38
- * countries.
39
- *
40
- * Each is attested by a gauntlet board row, which is the bar for adding another:
41
- *
42
- * - `leading` — `«postcode» «locality», «region»`. `Rua da Praia, 15, 8600-315 Lagos, Algarve, Portugal`
43
- * (`pt_structured`). The default, and what every tuple written before this field existed means.
44
- * - `after_locality` — `«locality» «postcode», «region»`. `…, Barcelona 6001, Anzoátegui, Venezuela`
45
- * (`ve_city_postcode_trailing_state`).
46
- * - `after_region` — `«locality», «region» «postcode»`. `12 MG Road, Indiranagar, Bengaluru, Karnataka 560038, India`
47
- * (`in_structured`).
48
- */
49
- export type PostcodePlacement = "leading" | "after_locality" | "after_region"
50
-
51
- /**
52
- * A (locality, region, postcode, country) source tuple — the input to tuples-mode recipes.
53
- */
54
- export interface ShardTuple {
55
- locality?: string
56
- /**
57
- * The segment before the locality, when the source has one. A shard whose every row BEGINS with the locality teaches
58
- * that the first named segment is the locality, which flips the model's default — measured on the v4.8.0 candidate,
59
- * where `Ye Three Lords, 27 Minories, London EC3N 1DE` came back `locality: "Ye Three Lords"`.
60
- */
61
- dependentLocality?: string
62
- region?: string
63
- postcode?: string
64
- country?: string
65
- /**
66
- * Defaults to `leading` when absent, which is what every tuple file written before this field existed means — so an
67
- * old tuples file produces byte-identical rows.
68
- */
69
- postcodePlacement?: PostcodePlacement
70
- [k: string]: unknown
71
- }
72
-
73
- /**
74
- * The two seeded generators the legacy `build-*-shard` scripts used, re-exported from their home in
75
- * `@mailwoman/core/utils` so a recipe keeps importing everything it needs from this one scaffold module.
76
- *
77
- * - `makeLcg` (`s = s*1664525 + 1013904223 mod 2^32`) — what the street/po-box/anchor builders seeded.
78
- * - `makeMulberry32` — what the MAJORITY of them used (german, locale, boundary-stress, unit, fr-order, country-balanced,
79
- * intersection, fr-admin-split, street-affix, street-bare, po-box-cedex).
80
- *
81
- * A recipe must seed the same one its `.mjs` did, the same way it did (usually `seed`, but some derive a per-stream
82
- * seed), or `--seed N` stops being byte-reproducible.
83
- */
84
- export { makeLcg, mulberry32 as makeMulberry32, makeLcg as makeRandom } from "@mailwoman/core/utils"
85
-
86
- /**
87
- * One CSV record, keyed by its lower-cased header name, every value trimmed. A column the header does not declare reads
88
- * as `undefined`; a column the header declares but this record does not reach reads as `""`.
89
- */
90
- export type CSVRecord = Record<string, string | undefined>
91
-
92
- /**
93
- * Quote handling spans the ROW split, not only the column split: a newline inside a quoted field belongs to a single
94
- * record, so the record boundaries can only be found by a scanner that already knows where the quotes are. Find the
95
- * lines first and unquote afterwards and such a record splits in two — the first half short by however many columns
96
- * followed the newline, which is how a `street` value comes to be read as `city`.
97
- *
98
- * `header: false` keeps the first record in the stream, so this module owns the lower-casing rather than
99
- * `normalizeKeys` — see {@link toHeader}.
100
- */
101
- const CSV_INIT = { header: false, enableQuoteHandling: true } as const
102
-
103
- /**
104
- * Header names are lower-cased on the way in. `normalizeKeys` will not do it: it leaves an ALL CAPS header alone, and
105
- * OpenAddresses ships `LON,LAT,NUMBER,STREET` while other extracts ship the same names lower-case. A recipe names its
106
- * columns in lower case either way.
107
- */
108
- function toHeader(cells: readonly string[]): string[] {
109
- return cells.map((name) => name.trim().toLowerCase())
110
- }
111
-
112
- /**
113
- * Line breaks inside a value become single spaces. A quote-aware parse is the first thing here able to return a value
114
- * CONTAINING one — `us/ia/statewide.csv` has 12, all unit designators like `"#2\n#2"` — and every consumer synthesizes
115
- * one-line address text from these cells with no guard, because until that parse landed no value could carry one.
116
- * Collapsing keeps the record (the address is fine; the source's line break is not part of it) without emitting a
117
- * training row with a newline inside it.
118
- *
119
- * Only `\r` and `\n`, deliberately — NOT `\s`. Runs of spaces and tabs pass through exactly as the source wrote them
120
- * (OA's IA extract writes `NORTH`, three spaces, `MAIN STREET`), because those could always appear and every shard
121
- * built to date contains them. Widening this to `\s+` silently rewrites values on rows with no line break at all.
122
- * `scaffold.test.ts` pins both halves, against both readers.
123
- */
124
- function toRecord(header: readonly string[], cells: readonly string[]): CSVRecord {
125
- const record: CSVRecord = {}
126
-
127
- for (let i = 0; i < header.length; i++) {
128
- record[header[i]!] = (cells[i] ?? "").replaceAll(/[\r\n]+/g, " ").trim()
129
- }
130
-
131
- return record
132
- }
133
-
134
- /**
135
- * Read a CSV as header-keyed records.
136
- *
137
- * Returns the spliterator's own {@linkcode AsyncSequence}, so a caller composes `take`/`drop`/`filter` onto it — those
138
- * ops fuse into one pull loop, and a `take` that is satisfied closes the source's file handle on the way out. Wrapping
139
- * this in an `async function*` costs an async frame per row and takes those ops away; don't.
140
- *
141
- * A source at or below the spliterator's 128 KiB bulk threshold is read whole and parsed by the synchronous engine, so
142
- * this is also the right reader for small sources — there is no buffered variant to reach for.
143
- */
144
- export function readCSVRecords(source: AsyncDataResource | AsyncChunkIterator): AsyncSequence<CSVRecord> {
145
- let header: string[] | null = null
146
-
147
- return CSVSpliterator.fromAsync<string[]>(source, CSV_INIT)
148
- .filter((cells) => {
149
- if (header) return true
150
-
151
- header = toHeader(cells)
152
-
153
- return false
154
- })
155
- .map((cells) => toRecord(header!, cells))
156
- }
157
-
158
- /**
159
- * {@link readCSVRecords} over one member of a zip archive — what every recipe reading a cached OA source wants.
160
- *
161
- * A source a checkout has not cached yields nothing, after saying so. A lab holds the archives for the countries it has
162
- * built, so a recipe naming ten sources routinely finds three, and the `unzip -p` subprocesses these replaced behaved
163
- * the same way by accident — a non-zero exit warned and returned no rows. A recipe that ends up with NO tuples at all
164
- * still throws; that is the case where the cache, not the recipe, is the problem.
165
- */
166
- export function readZippedCSVRecords(archivePath: PathBuilderLike, entryName: string): AsyncSequence<CSVRecord> {
167
- if (!existsSync(String(archivePath))) {
168
- console.error(` WARN: ${archivePath} is not cached — skipping ${entryName}`)
169
-
170
- return AsyncSequence.from<CSVRecord>([])
171
- }
172
-
173
- return readCSVRecords(readZipEntry(archivePath, entryName))
174
- }
175
-
176
- /**
177
- * Stream-parse a tuples JSONL file, yielding each parsed object (blank/invalid lines skipped).
178
- */
179
- export async function* readTuples(input: string): AsyncGenerator<ShardTuple> {
180
- // TextSpliterator (not JSONSpliterator) so a malformed line is SKIPPED, not thrown — the
181
- // per-line tryParsingJSON below is the tolerance this reader has always had.
182
- const { TextSpliterator } = await import("spliterator")
183
-
184
- for await (const line of TextSpliterator.fromAsync(input)) {
185
- const trimmed = line.trim()
186
-
187
- if (!trimmed) continue
188
-
189
- const tuple = tryParsingJSON<ShardTuple>(trimmed)
190
-
191
- if (tuple !== null) {
192
- yield tuple
193
- }
194
- }
195
- }
196
-
197
- /**
198
- * A canonical row as the recipes assemble it, before `alignRow` turns it into a `LabeledRow`.
199
- */
200
- export interface CanonicalShardRow {
201
- raw: string
202
- components: Record<string, string>
203
- country: string
204
- locale?: string
205
- source: string
206
- source_id: string
207
- corpus_version?: string
208
- license?: string
209
- }
210
-
211
- /**
212
- * Run a canonical row through `alignRow` and, on success, write the `LabeledRow` (+ `synth_method` / `synth_base_id`)
213
- * as one JSONL line. Returns true if emitted, false if alignment quarantined it.
214
- */
215
- export function alignAndWrite(
216
- write: (line: string) => void,
217
- canonical: CanonicalShardRow,
218
- synthMethod: string,
219
- synthBaseID: string | null = null
220
- ): boolean {
221
- const aligned = alignRow(canonical as Parameters<typeof alignRow>[0])
222
-
223
- if (!aligned.row) return false
224
- write(JSON.stringify({ ...aligned.row, synth_method: synthMethod, synth_base_id: synthBaseID }) + "\n")
225
-
226
- return true
227
- }
228
-
229
- /**
230
- * Parsed options a recipe's `run` receives. Common fields + the union of recipe-specific flags.
231
- */
232
- export interface ShardRecipeOpts {
233
- output: string
234
- seed: number
235
- variants: number
236
- input?: string
237
- count?: number
238
- golden?: boolean
239
- sourceName?: string
240
- // recipe-specific (each recipe reads only what it needs):
241
- houseNumberProb?: number
242
- pmbRatio?: number
243
- militaryRatio?: number
244
- reversedFraction?: number
245
- edgesDir?: string
246
- country?: string
247
- intlFraction?: number
248
- /**
249
- * `locale`: fraction of rows that append an explicit country surface form + a `country` component. Default 0.
250
- */
251
- countryFraction?: number
252
- /**
253
- * `locale`: tri-state override of the per-part `districtAsLocality` mapping for this invocation. `undefined` (flag
254
- * absent) leaves each `COUNTRY_SOURCES` part's own value untouched — every existing locale build stays
255
- * byte-identical. `true`/`false` forces that value on every part read this run. ES's pedanía shard
256
- * (`synth-es-pedania`) additionally uses `true` to select {@link LocaleCountrySource.pedaniaParts} instead of the
257
- * default `parts` — see `locale.ts`.
258
- */
259
- districtAsLocality?: boolean
260
- bareProb?: number
261
- hnProb?: number
262
- communes?: string
263
- /**
264
- * `fr-lieudit`: BAN `adresses-<dept>.csv` directory. Default `$MAILWOMAN_DATA_ROOT/corpus/sources/ban`.
265
- */
266
- banDir?: string
267
- multilocaleCount?: number
268
- /**
269
- * `fr-fragment` / `no-fragment` / `no-street-led`: the eval board's reserved street-surface list. REQUIRED for those
270
- * recipes — a shard that trains on its own eval set measures memorization. See their docstrings.
271
- */
272
- excludeSurfaces?: string
273
- /**
274
- * `no-fragment`: share of rows that are counter-distribution (bare locality OR bare postcode).
275
- */
276
- counterProb?: number
277
- /**
278
- * `no-fragment` knob 3: emit N copies of each street+number row whose number has >= longNumberMinDigits digits
279
- * (oversample the failing long-number class). Default 1 = no boost.
280
- */
281
- longNumberBoost?: number
282
- /**
283
- * `no-fragment` knob 3: minimum digit count for a number to count as "long" and be boosted. Default 3.
284
- */
285
- longNumberMinDigits?: number
286
- /**
287
- * `sub-venue`: the sub-venue lexicon JSON. Default = the committed `corpus/data/sub-venue-lexicon.json`, resolved
288
- * through the package manifest so it works from the source tree and from `out/`.
289
- */
290
- lexicon?: string
291
- /**
292
- * `sub-venue`: directory of `sub-venue-extract` JSONLs, one per region. Default
293
- * `$MAILWOMAN_DATA_ROOT/sub-venue/extracts`.
294
- */
295
- extractsDir?: string
296
- /**
297
- * `sub-venue`: the `poi.db` spatial layer, read for the en-US and fr-FR venue + confound pools (the two of poi.db's
298
- * four countries this shard has legs for). Default `$MAILWOMAN_DATA_ROOT/poi/poi.db`.
299
- */
300
- poiDB?: string
301
- /**
302
- * `sub-venue`: GB/US/FR address-context tuples JSONL. Default the house-venue v3 tuples
303
- * (`$MAILWOMAN_DATA_ROOT/corpus/intermediate/house-venue-tuples-v3.jsonl`); DE and ES read OpenAddresses directly.
304
- */
305
- subVenueTuples?: string
306
- /**
307
- * `sub-venue`: share of emitted rows that are confound NEGATIVES. Default 0.3.
308
- */
309
- negativeFraction?: number
310
- }
311
-
312
- /**
313
- * Tally a recipe returns.
314
- */
315
- export interface ShardStats {
316
- read?: number
317
- emitted: number
318
- skipped: number
319
- /**
320
- * Rows dropped because their street SURFACE is reserved by an eval board (`--exclude-surfaces`). Separate from
321
- * `skipped` on purpose: a nonzero value is the audit trail that the train/eval split actually fired. Zero when a
322
- * recipe has no board split.
323
- */
324
- contaminated?: number
325
- }
326
-
327
- /**
328
- * A single declared recipe-specific option flag (for the command's --help).
329
- */
330
- export interface ShardRecipeOption {
331
- flag: string
332
- description: string
333
- }
334
-
335
- /**
336
- * A shard recipe: its identity, input mode, and its synthesis `run`.
337
- */
338
- export interface ShardRecipe {
339
- /**
340
- * Recipe id, e.g. "street", "po-box" — the `<recipe>` positional.
341
- */
342
- name: string
343
- /**
344
- * One-line description for `--list` / help.
345
- */
346
- description: string
347
- /**
348
- * `tuples` reads `--input` JSONL; `generate` self-generates `--count` rows.
349
- */
350
- mode: "tuples" | "generate"
351
- /**
352
- * Recipe-specific flags this recipe honors (documentation only).
353
- */
354
- options?: ShardRecipeOption[]
355
- /**
356
- * Do the build: create the recipe's PRNG from `opts.seed` (its LEGACY generator — `makeLcg` or `makeMulberry32` — for
357
- * byte-reproducibility), synthesize, and emit each row via `write`.
358
- */
359
- run(opts: ShardRecipeOpts, write: (line: string) => void): Promise<ShardStats>
360
- }