@mailwoman/corpus 8.6.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (497) hide show
  1. package/README.md +2 -2
  2. package/data/PROVENANCE.md +214 -0
  3. package/data/sub-venue-lexicon.json +18269 -0
  4. package/out/src/adapters/ban/adapter.d.ts +5 -4
  5. package/out/src/adapters/ban/adapter.d.ts.map +1 -1
  6. package/out/src/adapters/ban/adapter.js +62 -69
  7. package/out/src/adapters/ban/adapter.js.map +1 -1
  8. package/out/src/adapters/ban/street-decompose.d.ts.map +1 -1
  9. package/out/src/adapters/ban/street-decompose.js +18 -25
  10. package/out/src/adapters/ban/street-decompose.js.map +1 -1
  11. package/out/src/adapters/fcc-bdc/adapter.d.ts +1 -7
  12. package/out/src/adapters/fcc-bdc/adapter.d.ts.map +1 -1
  13. package/out/src/adapters/fcc-bdc/adapter.js +4 -26
  14. package/out/src/adapters/fcc-bdc/adapter.js.map +1 -1
  15. package/out/src/adapters/geonames/adapter.d.ts +1 -1
  16. package/out/src/adapters/geonames/adapter.d.ts.map +1 -1
  17. package/out/src/adapters/geonames/adapter.js +72 -78
  18. package/out/src/adapters/geonames/adapter.js.map +1 -1
  19. package/out/src/adapters/geonames-postal/adapter.d.ts +1 -1
  20. package/out/src/adapters/geonames-postal/adapter.d.ts.map +1 -1
  21. package/out/src/adapters/geonames-postal/adapter.js +46 -51
  22. package/out/src/adapters/geonames-postal/adapter.js.map +1 -1
  23. package/out/src/adapters/gnaf/adapter.d.ts +1 -1
  24. package/out/src/adapters/gnaf/adapter.d.ts.map +1 -1
  25. package/out/src/adapters/gnaf/adapter.js +6 -9
  26. package/out/src/adapters/gnaf/adapter.js.map +1 -1
  27. package/out/src/adapters/gnaf/assemble.d.ts.map +1 -1
  28. package/out/src/adapters/gnaf/assemble.js +7 -12
  29. package/out/src/adapters/gnaf/assemble.js.map +1 -1
  30. package/out/src/adapters/index.d.ts +1 -1
  31. package/out/src/adapters/index.d.ts.map +1 -1
  32. package/out/src/adapters/index.js +1 -1
  33. package/out/src/adapters/index.js.map +1 -1
  34. package/out/src/adapters/openaddresses/adapter.d.ts +1 -1
  35. package/out/src/adapters/openaddresses/adapter.d.ts.map +1 -1
  36. package/out/src/adapters/openaddresses/adapter.js +5 -10
  37. package/out/src/adapters/openaddresses/adapter.js.map +1 -1
  38. package/out/src/adapters/overture/adapter.d.ts +1 -1
  39. package/out/src/adapters/overture/adapter.d.ts.map +1 -1
  40. package/out/src/adapters/overture/adapter.js +5 -9
  41. package/out/src/adapters/overture/adapter.js.map +1 -1
  42. package/out/src/adapters/state-hi-schools/adapter.d.ts +1 -1
  43. package/out/src/adapters/state-hi-schools/adapter.d.ts.map +1 -1
  44. package/out/src/adapters/state-hi-schools/adapter.js +57 -75
  45. package/out/src/adapters/state-hi-schools/adapter.js.map +1 -1
  46. package/out/src/adapters/state-ia-contractors/adapter.d.ts +1 -1
  47. package/out/src/adapters/state-ia-contractors/adapter.d.ts.map +1 -1
  48. package/out/src/adapters/state-ia-contractors/adapter.js +60 -78
  49. package/out/src/adapters/state-ia-contractors/adapter.js.map +1 -1
  50. package/out/src/adapters/state-ny-notaries/adapter.d.ts +1 -1
  51. package/out/src/adapters/state-ny-notaries/adapter.d.ts.map +1 -1
  52. package/out/src/adapters/state-ny-notaries/adapter.js +69 -87
  53. package/out/src/adapters/state-ny-notaries/adapter.js.map +1 -1
  54. package/out/src/adapters/state-tx-notaries/adapter.d.ts +1 -1
  55. package/out/src/adapters/state-tx-notaries/adapter.d.ts.map +1 -1
  56. package/out/src/adapters/state-tx-notaries/adapter.js +71 -89
  57. package/out/src/adapters/state-tx-notaries/adapter.js.map +1 -1
  58. package/out/src/adapters/synth-po-box/adapter.d.ts +3 -3
  59. package/out/src/adapters/synth-po-box/adapter.d.ts.map +1 -1
  60. package/out/src/adapters/synth-po-box/adapter.js +10 -18
  61. package/out/src/adapters/synth-po-box/adapter.js.map +1 -1
  62. package/out/src/adapters/tiger/adapter.d.ts +1 -1
  63. package/out/src/adapters/tiger/adapter.d.ts.map +1 -1
  64. package/out/src/adapters/tiger/adapter.js +2 -2
  65. package/out/src/adapters/tiger/adapter.js.map +1 -1
  66. package/out/src/adapters/tiger/street-decompose.d.ts.map +1 -1
  67. package/out/src/adapters/tiger/street-decompose.js +18 -27
  68. package/out/src/adapters/tiger/street-decompose.js.map +1 -1
  69. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts +4 -4
  70. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +1 -1
  71. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js +64 -82
  72. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js.map +1 -1
  73. package/out/src/adapters/usgov-imls-pls/adapter.d.ts +1 -1
  74. package/out/src/adapters/usgov-imls-pls/adapter.d.ts.map +1 -1
  75. package/out/src/adapters/usgov-imls-pls/adapter.js +62 -84
  76. package/out/src/adapters/usgov-imls-pls/adapter.js.map +1 -1
  77. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts +1 -1
  78. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts.map +1 -1
  79. package/out/src/adapters/usgov-irs-bmf/adapter.js +59 -66
  80. package/out/src/adapters/usgov-irs-bmf/adapter.js.map +1 -1
  81. package/out/src/adapters/usgov-nad/adapter.d.ts +1 -1
  82. package/out/src/adapters/usgov-nad/adapter.d.ts.map +1 -1
  83. package/out/src/adapters/usgov-nad/adapter.js +6 -9
  84. package/out/src/adapters/usgov-nad/adapter.js.map +1 -1
  85. package/out/src/adapters/usgov-nppes/adapter.d.ts +1 -1
  86. package/out/src/adapters/usgov-nppes/adapter.d.ts.map +1 -1
  87. package/out/src/adapters/usgov-nppes/adapter.js +60 -78
  88. package/out/src/adapters/usgov-nppes/adapter.js.map +1 -1
  89. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.d.ts +1 -1
  90. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +1 -1
  91. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js +53 -73
  92. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js.map +1 -1
  93. package/out/src/{adapter.d.ts → adapters/utils/index.d.ts} +43 -2
  94. package/out/src/adapters/utils/index.d.ts.map +1 -0
  95. package/out/src/{adapter.js → adapters/utils/index.js} +47 -2
  96. package/out/src/adapters/utils/index.js.map +1 -0
  97. package/out/src/adapters/wof-admin-jp/adapter.d.ts +1 -1
  98. package/out/src/adapters/wof-admin-jp/adapter.d.ts.map +1 -1
  99. package/out/src/adapters/wof-admin-jp/adapter.js +24 -6
  100. package/out/src/adapters/wof-admin-jp/adapter.js.map +1 -1
  101. package/out/src/adapters/wof-admin-json/adapter.d.ts +2 -2
  102. package/out/src/adapters/wof-admin-json/adapter.d.ts.map +1 -1
  103. package/out/src/adapters/wof-admin-json/adapter.js +2 -2
  104. package/out/src/adapters/wof-admin-json/adapter.js.map +1 -1
  105. package/out/src/adapters/wof-postalcode-json/adapter.d.ts +2 -2
  106. package/out/src/adapters/wof-postalcode-json/adapter.d.ts.map +1 -1
  107. package/out/src/adapters/wof-postalcode-json/adapter.js +2 -2
  108. package/out/src/adapters/wof-postalcode-json/adapter.js.map +1 -1
  109. package/out/src/build.d.ts +3 -4
  110. package/out/src/build.d.ts.map +1 -1
  111. package/out/src/build.js +6 -8
  112. package/out/src/build.js.map +1 -1
  113. package/out/src/index.d.ts +3 -17
  114. package/out/src/index.d.ts.map +1 -1
  115. package/out/src/index.js +3 -17
  116. package/out/src/index.js.map +1 -1
  117. package/out/src/name-prone-us-suffixes.d.ts +12 -0
  118. package/out/src/name-prone-us-suffixes.d.ts.map +1 -0
  119. package/out/src/name-prone-us-suffixes.js +12 -0
  120. package/out/src/name-prone-us-suffixes.js.map +1 -0
  121. package/out/src/parquet-wrapper/reader.d.ts +8 -0
  122. package/out/src/parquet-wrapper/reader.d.ts.map +1 -1
  123. package/out/src/parquet-wrapper/reader.js +16 -0
  124. package/out/src/parquet-wrapper/reader.js.map +1 -1
  125. package/out/src/parquet-wrapper/schema.d.ts +4 -0
  126. package/out/src/parquet-wrapper/schema.d.ts.map +1 -1
  127. package/out/src/parquet-wrapper/schema.js.map +1 -1
  128. package/out/src/runner.d.ts +2 -2
  129. package/out/src/runner.d.ts.map +1 -1
  130. package/out/src/runner.js +1 -1
  131. package/out/src/runner.js.map +1 -1
  132. package/out/src/shard-recipes/anchor-absorption.d.ts.map +1 -1
  133. package/out/src/shard-recipes/anchor-absorption.js +5 -4
  134. package/out/src/shard-recipes/anchor-absorption.js.map +1 -1
  135. package/out/src/shard-recipes/boundary-stress.d.ts.map +1 -1
  136. package/out/src/shard-recipes/boundary-stress.js +2 -2
  137. package/out/src/shard-recipes/boundary-stress.js.map +1 -1
  138. package/out/src/shard-recipes/country-balanced.d.ts.map +1 -1
  139. package/out/src/shard-recipes/country-balanced.js +75 -75
  140. package/out/src/shard-recipes/country-balanced.js.map +1 -1
  141. package/out/src/shard-recipes/fr-admin-split.js +2 -2
  142. package/out/src/shard-recipes/fr-admin-split.js.map +1 -1
  143. package/out/src/shard-recipes/fr-fragment.d.ts.map +1 -1
  144. package/out/src/shard-recipes/fr-fragment.js +8 -5
  145. package/out/src/shard-recipes/fr-fragment.js.map +1 -1
  146. package/out/src/shard-recipes/fr-lieudit.js +2 -2
  147. package/out/src/shard-recipes/fr-lieudit.js.map +1 -1
  148. package/out/src/shard-recipes/fr-order.d.ts.map +1 -1
  149. package/out/src/shard-recipes/fr-order.js +18 -72
  150. package/out/src/shard-recipes/fr-order.js.map +1 -1
  151. package/out/src/shard-recipes/german.d.ts.map +1 -1
  152. package/out/src/shard-recipes/german.js +17 -70
  153. package/out/src/shard-recipes/german.js.map +1 -1
  154. package/out/src/shard-recipes/house-venue.d.ts.map +1 -1
  155. package/out/src/shard-recipes/house-venue.js +1 -1
  156. package/out/src/shard-recipes/house-venue.js.map +1 -1
  157. package/out/src/shard-recipes/index.d.ts.map +1 -1
  158. package/out/src/shard-recipes/index.js +4 -1
  159. package/out/src/shard-recipes/index.js.map +1 -1
  160. package/out/src/shard-recipes/intersection.d.ts +2 -2
  161. package/out/src/shard-recipes/intersection.d.ts.map +1 -1
  162. package/out/src/shard-recipes/intersection.js +28 -72
  163. package/out/src/shard-recipes/intersection.js.map +1 -1
  164. package/out/src/shard-recipes/locale.d.ts +5 -5
  165. package/out/src/shard-recipes/locale.d.ts.map +1 -1
  166. package/out/src/shard-recipes/locale.js +25 -35
  167. package/out/src/shard-recipes/locale.js.map +1 -1
  168. package/out/src/shard-recipes/no-fragment.d.ts.map +1 -1
  169. package/out/src/shard-recipes/no-fragment.js +8 -5
  170. package/out/src/shard-recipes/no-fragment.js.map +1 -1
  171. package/out/src/shard-recipes/no-street-led.d.ts.map +1 -1
  172. package/out/src/shard-recipes/no-street-led.js +8 -5
  173. package/out/src/shard-recipes/no-street-led.js.map +1 -1
  174. package/out/src/shard-recipes/no-street.d.ts.map +1 -1
  175. package/out/src/shard-recipes/no-street.js +1 -1
  176. package/out/src/shard-recipes/no-street.js.map +1 -1
  177. package/out/src/shard-recipes/po-box-cedex.d.ts +3 -3
  178. package/out/src/shard-recipes/po-box-cedex.d.ts.map +1 -1
  179. package/out/src/shard-recipes/po-box-cedex.js +101 -127
  180. package/out/src/shard-recipes/po-box-cedex.js.map +1 -1
  181. package/out/src/shard-recipes/po-box.d.ts.map +1 -1
  182. package/out/src/shard-recipes/po-box.js +1 -1
  183. package/out/src/shard-recipes/po-box.js.map +1 -1
  184. package/out/src/shard-recipes/scaffold.d.ts +58 -9
  185. package/out/src/shard-recipes/scaffold.d.ts.map +1 -1
  186. package/out/src/shard-recipes/scaffold.js +87 -29
  187. package/out/src/shard-recipes/scaffold.js.map +1 -1
  188. package/out/src/shard-recipes/street-affix.d.ts +54 -0
  189. package/out/src/shard-recipes/street-affix.d.ts.map +1 -1
  190. package/out/src/shard-recipes/street-affix.js +253 -111
  191. package/out/src/shard-recipes/street-affix.js.map +1 -1
  192. package/out/src/shard-recipes/street-bare.d.ts.map +1 -1
  193. package/out/src/shard-recipes/street-bare.js +3 -3
  194. package/out/src/shard-recipes/street-bare.js.map +1 -1
  195. package/out/src/shard-recipes/street.d.ts.map +1 -1
  196. package/out/src/shard-recipes/street.js +2 -2
  197. package/out/src/shard-recipes/street.js.map +1 -1
  198. package/out/src/shard-recipes/sub-venue-sources.d.ts +228 -0
  199. package/out/src/shard-recipes/sub-venue-sources.d.ts.map +1 -0
  200. package/out/src/shard-recipes/sub-venue-sources.js +664 -0
  201. package/out/src/shard-recipes/sub-venue-sources.js.map +1 -0
  202. package/out/src/shard-recipes/sub-venue.d.ts +269 -0
  203. package/out/src/shard-recipes/sub-venue.d.ts.map +1 -0
  204. package/out/src/shard-recipes/sub-venue.js +709 -0
  205. package/out/src/shard-recipes/sub-venue.js.map +1 -0
  206. package/out/src/shard-recipes/unit.d.ts +1 -1
  207. package/out/src/shard-recipes/unit.d.ts.map +1 -1
  208. package/out/src/shard-recipes/unit.js +26 -74
  209. package/out/src/shard-recipes/unit.js.map +1 -1
  210. package/out/src/{synthesize-anchor-absorption.d.ts → synthesizers/anchor-absorption.d.ts} +1 -1
  211. package/out/src/synthesizers/anchor-absorption.d.ts.map +1 -0
  212. package/out/src/{synthesize-anchor-absorption.js → synthesizers/anchor-absorption.js} +1 -1
  213. package/out/src/synthesizers/anchor-absorption.js.map +1 -0
  214. package/out/src/{synthesize-boundary-stress.d.ts → synthesizers/boundary-stress.d.ts} +3 -3
  215. package/out/src/synthesizers/boundary-stress.d.ts.map +1 -0
  216. package/out/src/{synthesize-boundary-stress.js → synthesizers/boundary-stress.js} +2 -2
  217. package/out/src/synthesizers/boundary-stress.js.map +1 -0
  218. package/out/src/{synthesize-german.d.ts → synthesizers/german.d.ts} +2 -2
  219. package/out/src/synthesizers/german.d.ts.map +1 -0
  220. package/out/src/{synthesize-german.js → synthesizers/german.js} +2 -2
  221. package/out/src/synthesizers/german.js.map +1 -0
  222. package/out/src/{synthesize-house-venue.d.ts → synthesizers/house-venue.d.ts} +4 -4
  223. package/out/src/synthesizers/house-venue.d.ts.map +1 -0
  224. package/out/src/{synthesize-house-venue.js → synthesizers/house-venue.js} +4 -4
  225. package/out/src/synthesizers/house-venue.js.map +1 -0
  226. package/out/src/{synthesize-intersection.d.ts → synthesizers/intersection.d.ts} +2 -2
  227. package/out/src/synthesizers/intersection.d.ts.map +1 -0
  228. package/out/src/{synthesize-intersection.js → synthesizers/intersection.js} +1 -1
  229. package/out/src/synthesizers/intersection.js.map +1 -0
  230. package/out/src/{synthesize-no-street.d.ts → synthesizers/no-street.d.ts} +3 -3
  231. package/out/src/synthesizers/no-street.d.ts.map +1 -0
  232. package/out/src/{synthesize-no-street.js → synthesizers/no-street.js} +2 -2
  233. package/out/src/synthesizers/no-street.js.map +1 -0
  234. package/out/src/{synthesize-po-box.d.ts → synthesizers/po-box.d.ts} +2 -2
  235. package/out/src/synthesizers/po-box.d.ts.map +1 -0
  236. package/out/src/{synthesize-po-box.js → synthesizers/po-box.js} +1 -1
  237. package/out/src/synthesizers/po-box.js.map +1 -0
  238. package/out/src/{synthesize-street.d.ts → synthesizers/street.d.ts} +2 -2
  239. package/out/src/synthesizers/street.d.ts.map +1 -0
  240. package/out/src/{synthesize-street.js → synthesizers/street.js} +2 -2
  241. package/out/src/synthesizers/street.js.map +1 -0
  242. package/out/src/{synthesize.d.ts → synthesizers/utils.d.ts} +3 -3
  243. package/out/src/synthesizers/utils.d.ts.map +1 -0
  244. package/out/src/{synthesize.js → synthesizers/utils.js} +4 -15
  245. package/out/src/synthesizers/utils.js.map +1 -0
  246. package/out/src/tools/align-shard.d.ts.map +1 -1
  247. package/out/src/tools/align-shard.js +4 -8
  248. package/out/src/tools/align-shard.js.map +1 -1
  249. package/out/src/tools/audit.d.ts.map +1 -1
  250. package/out/src/tools/audit.js +4 -4
  251. package/out/src/tools/audit.js.map +1 -1
  252. package/out/src/tools/corpus-stats.d.ts +2 -2
  253. package/out/src/tools/corpus-stats.d.ts.map +1 -1
  254. package/out/src/tools/corpus-stats.js +18 -31
  255. package/out/src/tools/corpus-stats.js.map +1 -1
  256. package/out/src/tools/fetch/download.d.ts.map +1 -1
  257. package/out/src/tools/fetch/download.js +5 -6
  258. package/out/src/tools/fetch/download.js.map +1 -1
  259. package/out/src/tools/fetch/imls-pls.d.ts.map +1 -1
  260. package/out/src/tools/fetch/imls-pls.js +3 -15
  261. package/out/src/tools/fetch/imls-pls.js.map +1 -1
  262. package/out/src/tools/fetch/index.d.ts +14 -1
  263. package/out/src/tools/fetch/index.d.ts.map +1 -1
  264. package/out/src/tools/fetch/index.js +14 -1
  265. package/out/src/tools/fetch/index.js.map +1 -1
  266. package/out/src/tools/fetch/nad.d.ts +1 -1
  267. package/out/src/tools/fetch/nad.js +1 -1
  268. package/out/src/tools/fetch/nppes.d.ts.map +1 -1
  269. package/out/src/tools/fetch/nppes.js +8 -14
  270. package/out/src/tools/fetch/nppes.js.map +1 -1
  271. package/out/src/tools/fetch/openaddresses.d.ts +1 -1
  272. package/out/src/tools/fetch/openaddresses.js +1 -1
  273. package/out/src/tools/fetch/ourairports.d.ts +45 -0
  274. package/out/src/tools/fetch/ourairports.d.ts.map +1 -0
  275. package/out/src/tools/fetch/ourairports.js +123 -0
  276. package/out/src/tools/fetch/ourairports.js.map +1 -0
  277. package/out/src/tools/fetch/wikidata-subvenue.d.ts +171 -0
  278. package/out/src/tools/fetch/wikidata-subvenue.d.ts.map +1 -0
  279. package/out/src/tools/fetch/wikidata-subvenue.js +275 -0
  280. package/out/src/tools/fetch/wikidata-subvenue.js.map +1 -0
  281. package/out/src/tools/golden-expand.d.ts.map +1 -1
  282. package/out/src/tools/golden-expand.js +18 -16
  283. package/out/src/tools/golden-expand.js.map +1 -1
  284. package/out/src/tools/golden-promote.d.ts.map +1 -1
  285. package/out/src/tools/golden-promote.js +12 -6
  286. package/out/src/tools/golden-promote.js.map +1 -1
  287. package/out/src/tools/golden-relabel-street.d.ts +196 -0
  288. package/out/src/tools/golden-relabel-street.d.ts.map +1 -0
  289. package/out/src/tools/golden-relabel-street.js +440 -0
  290. package/out/src/tools/golden-relabel-street.js.map +1 -0
  291. package/out/src/tools/index.d.ts +4 -0
  292. package/out/src/tools/index.d.ts.map +1 -1
  293. package/out/src/tools/index.js +4 -0
  294. package/out/src/tools/index.js.map +1 -1
  295. package/out/src/tools/jsonl-to-parquet.d.ts.map +1 -1
  296. package/out/src/tools/jsonl-to-parquet.js +3 -2
  297. package/out/src/tools/jsonl-to-parquet.js.map +1 -1
  298. package/out/src/tools/lint-shard-vocab.d.ts.map +1 -1
  299. package/out/src/tools/lint-shard-vocab.js +3 -2
  300. package/out/src/tools/lint-shard-vocab.js.map +1 -1
  301. package/out/src/tools/lint-shard.d.ts +3 -3
  302. package/out/src/tools/lint-shard.d.ts.map +1 -1
  303. package/out/src/tools/lint-shard.js +23 -32
  304. package/out/src/tools/lint-shard.js.map +1 -1
  305. package/out/src/tools/overlay-manifest.d.ts.map +1 -1
  306. package/out/src/tools/overlay-manifest.js +2 -1
  307. package/out/src/tools/overlay-manifest.js.map +1 -1
  308. package/out/src/tools/overture-subvenue.d.ts +112 -0
  309. package/out/src/tools/overture-subvenue.d.ts.map +1 -0
  310. package/out/src/tools/overture-subvenue.js +144 -0
  311. package/out/src/tools/overture-subvenue.js.map +1 -0
  312. package/out/src/tools/shard-kryptonite.d.ts +1 -1
  313. package/out/src/tools/shard-kryptonite.d.ts.map +1 -1
  314. package/out/src/tools/shard-kryptonite.js +6 -6
  315. package/out/src/tools/shard-kryptonite.js.map +1 -1
  316. package/out/src/tools/shard-translit.d.ts +6 -3
  317. package/out/src/tools/shard-translit.d.ts.map +1 -1
  318. package/out/src/tools/shard-translit.js +9 -8
  319. package/out/src/tools/shard-translit.js.map +1 -1
  320. package/out/src/tools/sub-venue-lexicon.d.ts +507 -0
  321. package/out/src/tools/sub-venue-lexicon.d.ts.map +1 -0
  322. package/out/src/tools/sub-venue-lexicon.js +817 -0
  323. package/out/src/tools/sub-venue-lexicon.js.map +1 -0
  324. package/out/src/tools/sub-venue-promotions.d.ts +94 -0
  325. package/out/src/tools/sub-venue-promotions.d.ts.map +1 -0
  326. package/out/src/tools/sub-venue-promotions.js +266 -0
  327. package/out/src/tools/sub-venue-promotions.js.map +1 -0
  328. package/out/src/{align.d.ts → utils/align.d.ts} +1 -1
  329. package/out/src/utils/align.d.ts.map +1 -0
  330. package/out/src/utils/align.js.map +1 -0
  331. package/out/src/{golden.d.ts → utils/golden.d.ts} +5 -0
  332. package/out/src/utils/golden.d.ts.map +1 -0
  333. package/out/src/{golden.js → utils/golden.js} +24 -10
  334. package/out/src/utils/golden.js.map +1 -0
  335. package/out/src/utils/index.d.ts +14 -0
  336. package/out/src/utils/index.d.ts.map +1 -0
  337. package/out/src/utils/index.js +14 -0
  338. package/out/src/utils/index.js.map +1 -0
  339. package/out/src/utils/license.d.ts.map +1 -0
  340. package/out/src/utils/license.js.map +1 -0
  341. package/out/src/{parquet.d.ts → utils/parquet.d.ts} +2 -2
  342. package/out/src/utils/parquet.d.ts.map +1 -0
  343. package/out/src/{parquet.js → utils/parquet.js} +3 -15
  344. package/out/src/utils/parquet.js.map +1 -0
  345. package/out/src/{split.d.ts → utils/split.d.ts} +8 -1
  346. package/out/src/utils/split.d.ts.map +1 -0
  347. package/out/src/{split.js → utils/split.js} +7 -0
  348. package/out/src/utils/split.js.map +1 -0
  349. package/out/src/utils/tokenize.d.ts.map +1 -0
  350. package/out/src/utils/tokenize.js.map +1 -0
  351. package/out/src/{wof-json.d.ts → utils/wof-json.d.ts} +2 -2
  352. package/out/src/utils/wof-json.d.ts.map +1 -0
  353. package/out/src/{wof-json.js → utils/wof-json.js} +5 -8
  354. package/out/src/utils/wof-json.js.map +1 -0
  355. package/package.json +66 -20
  356. package/src/adapters/ban/adapter.ts +58 -68
  357. package/src/adapters/ban/street-decompose.ts +17 -25
  358. package/src/adapters/fcc-bdc/adapter.ts +5 -36
  359. package/src/adapters/geonames/adapter.ts +67 -76
  360. package/src/adapters/geonames-postal/adapter.ts +45 -54
  361. package/src/adapters/gnaf/adapter.ts +7 -11
  362. package/src/adapters/gnaf/assemble.ts +7 -11
  363. package/src/adapters/index.ts +3 -2
  364. package/src/adapters/openaddresses/adapter.ts +6 -12
  365. package/src/adapters/overture/adapter.ts +6 -10
  366. package/src/adapters/state-hi-schools/adapter.ts +53 -77
  367. package/src/adapters/state-ia-contractors/adapter.ts +55 -80
  368. package/src/adapters/state-ny-notaries/adapter.ts +64 -89
  369. package/src/adapters/state-tx-notaries/adapter.ts +63 -88
  370. package/src/adapters/synth-po-box/adapter.ts +12 -23
  371. package/src/adapters/tiger/adapter.ts +4 -3
  372. package/src/adapters/tiger/street-decompose.ts +21 -31
  373. package/src/adapters/usgov-hrsa-fqhc/adapter.ts +64 -88
  374. package/src/adapters/usgov-imls-pls/adapter.ts +57 -86
  375. package/src/adapters/usgov-irs-bmf/adapter.ts +55 -66
  376. package/src/adapters/usgov-nad/adapter.ts +7 -11
  377. package/src/adapters/usgov-nppes/adapter.ts +54 -79
  378. package/src/adapters/usgov-samhsa-treatment-locator/adapter.ts +48 -75
  379. package/src/{adapter.ts → adapters/utils/index.ts} +59 -3
  380. package/src/adapters/wof-admin-jp/adapter.ts +35 -9
  381. package/src/adapters/wof-admin-json/adapter.ts +3 -4
  382. package/src/adapters/wof-postalcode-json/adapter.ts +3 -4
  383. package/src/build.ts +12 -11
  384. package/src/index.ts +3 -17
  385. package/src/name-prone-us-suffixes.ts +12 -0
  386. package/src/parquet-wrapper/reader.ts +19 -0
  387. package/src/parquet-wrapper/schema.ts +4 -0
  388. package/src/runner.ts +7 -2
  389. package/src/shard-recipes/anchor-absorption.ts +5 -4
  390. package/src/shard-recipes/boundary-stress.ts +6 -2
  391. package/src/shard-recipes/country-balanced.ts +77 -91
  392. package/src/shard-recipes/fr-admin-split.ts +3 -3
  393. package/src/shard-recipes/fr-fragment.ts +10 -7
  394. package/src/shard-recipes/fr-lieudit.ts +3 -3
  395. package/src/shard-recipes/fr-order.ts +18 -83
  396. package/src/shard-recipes/german.ts +17 -80
  397. package/src/shard-recipes/house-venue.ts +2 -1
  398. package/src/shard-recipes/index.ts +4 -1
  399. package/src/shard-recipes/intersection.ts +37 -74
  400. package/src/shard-recipes/locale.ts +31 -39
  401. package/src/shard-recipes/no-fragment.ts +10 -7
  402. package/src/shard-recipes/no-street-led.ts +10 -7
  403. package/src/shard-recipes/no-street.ts +2 -1
  404. package/src/shard-recipes/po-box-cedex.ts +127 -161
  405. package/src/shard-recipes/po-box.ts +6 -1
  406. package/src/shard-recipes/scaffold.ts +125 -27
  407. package/src/shard-recipes/street-affix.ts +335 -134
  408. package/src/shard-recipes/street-bare.ts +4 -3
  409. package/src/shard-recipes/street.ts +3 -2
  410. package/src/shard-recipes/sub-venue-sources.ts +895 -0
  411. package/src/shard-recipes/sub-venue.ts +982 -0
  412. package/src/shard-recipes/unit.ts +27 -85
  413. package/src/{synthesize-boundary-stress.ts → synthesizers/boundary-stress.ts} +2 -2
  414. package/src/{synthesize-german.ts → synthesizers/german.ts} +2 -2
  415. package/src/{synthesize-house-venue.ts → synthesizers/house-venue.ts} +4 -4
  416. package/src/{synthesize-intersection.ts → synthesizers/intersection.ts} +1 -1
  417. package/src/{synthesize-no-street.ts → synthesizers/no-street.ts} +2 -2
  418. package/src/{synthesize-po-box.ts → synthesizers/po-box.ts} +1 -1
  419. package/src/{synthesize-street.ts → synthesizers/street.ts} +2 -2
  420. package/src/{synthesize.ts → synthesizers/utils.ts} +4 -18
  421. package/src/tools/align-shard.ts +4 -7
  422. package/src/tools/audit.ts +6 -5
  423. package/src/tools/corpus-stats.ts +25 -33
  424. package/src/tools/fetch/download.ts +7 -5
  425. package/src/tools/fetch/imls-pls.ts +4 -18
  426. package/src/tools/fetch/index.ts +14 -1
  427. package/src/tools/fetch/nad.ts +1 -1
  428. package/src/tools/fetch/nppes.ts +9 -16
  429. package/src/tools/fetch/openaddresses.ts +1 -1
  430. package/src/tools/fetch/ourairports.ts +166 -0
  431. package/src/tools/fetch/wikidata-subvenue.ts +386 -0
  432. package/src/tools/golden-expand.ts +18 -13
  433. package/src/tools/golden-promote.ts +15 -6
  434. package/src/tools/golden-relabel-street.ts +685 -0
  435. package/src/tools/index.ts +4 -0
  436. package/src/tools/jsonl-to-parquet.ts +3 -2
  437. package/src/tools/lint-shard-vocab.ts +3 -2
  438. package/src/tools/lint-shard.ts +33 -36
  439. package/src/tools/overlay-manifest.ts +2 -1
  440. package/src/tools/overture-subvenue.ts +215 -0
  441. package/src/tools/shard-kryptonite.ts +8 -9
  442. package/src/tools/shard-translit.ts +22 -11
  443. package/src/tools/sub-venue-lexicon.ts +1250 -0
  444. package/src/tools/sub-venue-promotions.ts +330 -0
  445. package/src/{align.ts → utils/align.ts} +1 -1
  446. package/src/{golden.ts → utils/golden.ts} +25 -11
  447. package/src/utils/index.ts +14 -0
  448. package/src/{parquet.ts → utils/parquet.ts} +5 -19
  449. package/src/{split.ts → utils/split.ts} +8 -2
  450. package/src/{wof-json.ts → utils/wof-json.ts} +5 -8
  451. package/out/src/adapter.d.ts.map +0 -1
  452. package/out/src/adapter.js.map +0 -1
  453. package/out/src/align.d.ts.map +0 -1
  454. package/out/src/align.js.map +0 -1
  455. package/out/src/format.d.ts +0 -14
  456. package/out/src/format.d.ts.map +0 -1
  457. package/out/src/format.js +0 -14
  458. package/out/src/format.js.map +0 -1
  459. package/out/src/golden.d.ts.map +0 -1
  460. package/out/src/golden.js.map +0 -1
  461. package/out/src/license.d.ts.map +0 -1
  462. package/out/src/license.js.map +0 -1
  463. package/out/src/parquet.d.ts.map +0 -1
  464. package/out/src/parquet.js.map +0 -1
  465. package/out/src/split.d.ts.map +0 -1
  466. package/out/src/split.js.map +0 -1
  467. package/out/src/synthesize-anchor-absorption.d.ts.map +0 -1
  468. package/out/src/synthesize-anchor-absorption.js.map +0 -1
  469. package/out/src/synthesize-boundary-stress.d.ts.map +0 -1
  470. package/out/src/synthesize-boundary-stress.js.map +0 -1
  471. package/out/src/synthesize-german.d.ts.map +0 -1
  472. package/out/src/synthesize-german.js.map +0 -1
  473. package/out/src/synthesize-house-venue.d.ts.map +0 -1
  474. package/out/src/synthesize-house-venue.js.map +0 -1
  475. package/out/src/synthesize-intersection.d.ts.map +0 -1
  476. package/out/src/synthesize-intersection.js.map +0 -1
  477. package/out/src/synthesize-no-street.d.ts.map +0 -1
  478. package/out/src/synthesize-no-street.js.map +0 -1
  479. package/out/src/synthesize-po-box.d.ts.map +0 -1
  480. package/out/src/synthesize-po-box.js.map +0 -1
  481. package/out/src/synthesize-street.d.ts.map +0 -1
  482. package/out/src/synthesize-street.js.map +0 -1
  483. package/out/src/synthesize.d.ts.map +0 -1
  484. package/out/src/synthesize.js.map +0 -1
  485. package/out/src/tokenize.d.ts.map +0 -1
  486. package/out/src/tokenize.js.map +0 -1
  487. package/out/src/wof-json.d.ts.map +0 -1
  488. package/out/src/wof-json.js.map +0 -1
  489. package/src/format.ts +0 -14
  490. /package/out/src/{align.js → utils/align.js} +0 -0
  491. /package/out/src/{license.d.ts → utils/license.d.ts} +0 -0
  492. /package/out/src/{license.js → utils/license.js} +0 -0
  493. /package/out/src/{tokenize.d.ts → utils/tokenize.d.ts} +0 -0
  494. /package/out/src/{tokenize.js → utils/tokenize.js} +0 -0
  495. /package/src/{synthesize-anchor-absorption.ts → synthesizers/anchor-absorption.ts} +0 -0
  496. /package/src/{license.ts → utils/license.ts} +0 -0
  497. /package/src/{tokenize.ts → utils/tokenize.ts} +0 -0
@@ -20,24 +20,27 @@
20
20
  * locality-hash holdout (hash%10===0).
21
21
  *
22
22
  * Prerequisites (read once, before the generation loop — these do NOT consume `random`): the cached
23
- * OA zips in /tmp/oa-cache, the GeoNames Canada dump at /tmp/geonames-cache/CA.zip, and the
24
- * GeoNames POSTAL-CODE dumps for AU/NZ (/tmp/geonames-cache/{AU,NZ}-postal.zip). See the legacy
25
- * script header for the exact curl commands.
23
+ * OA zips in `$MAILWOMAN_DATA_ROOT/oa-cache`, the GeoNames Canada dump at
24
+ * `$MAILWOMAN_DATA_ROOT/geonames/CA.zip`, and the GeoNames POSTAL-CODE dumps for AU/NZ
25
+ * (`$MAILWOMAN_DATA_ROOT/geonames-postal/{AU,NZ}.zip`).
26
26
  *
27
27
  * Byte-fidelity: the legacy script seeded its own mulberry32 from `--seed`
28
28
  * (`mulberry32(opts.seed)`); this recipe re-creates the SAME generator
29
29
  * (`makeMulberry32(opts.seed)`) and preserves the synthesis call order exactly, so `--seed N`
30
30
  * reproduces the legacy run byte-for-byte.
31
31
  */
32
- import { spawnSync } from "node:child_process";
32
+ import { existsSync } from "node:fs";
33
33
  import { isAuDeliveryService, isAuPostcode, isAuStateAbbreviation } from "@mailwoman/codex/au";
34
34
  import { FSA_LETTER_TO_PROVINCE, normalizeCaPostalCode } from "@mailwoman/codex/ca";
35
35
  import { isCedex } from "@mailwoman/codex/fr";
36
- import { isNzDeliveryService, isNzPostcode } from "@mailwoman/codex/nz";
36
+ import { isNZDeliveryService, isNZPostcode } from "@mailwoman/codex/nz";
37
37
  import { isPOBox } from "@mailwoman/codex/us";
38
- import { alignRow } from "../align.js";
39
- import { maybeNoisifyBoxNumber, PO_BOX_LOCALE_TEMPLATES, synthesizeMilitaryPoBoxRow, } from "../synthesize-po-box.js";
40
- import { makeMulberry32, shardSourceID } from "./scaffold.js";
38
+ import { readZipEntry } from "@mailwoman/core/fs/zip";
39
+ import { dataRootPath } from "@mailwoman/core/utils";
40
+ import { maybeNoisifyBoxNumber, PO_BOX_LOCALE_TEMPLATES, synthesizeMilitaryPoBoxRow, } from "@mailwoman/corpus/synthesizers/po-box";
41
+ import { alignRow } from "@mailwoman/corpus/utils";
42
+ import { TextSpliterator, TSVSpliterator } from "spliterator";
43
+ import { makeMulberry32, readCSVRecords, readZippedCSVRecords, shardSourceID, } from "./scaffold.js";
41
44
  // ── Base-skeleton sources ────────────────────────────────────────────────────────────────────────
42
45
  // Same OA cache as the unit/affix shards. US train = every NON-Vermont state; US eval = Vermont (the
43
46
  // corpus defaultHoldout). FR comes from the BAN-derived countrywide extract (stride-sampled — the
@@ -48,19 +51,27 @@ import { makeMulberry32, shardSourceID } from "./scaffold.js";
48
51
  would hide the distribution behind a wall of identifiers. Genuine thresholds in these files are
49
52
  extracted as named constants above. */
50
53
  const US_TRAIN_SOURCES = [
51
- { zip: "/tmp/oa-cache/us__ca__berkeley.zip", csv: "us/ca/berkeley.csv", region: "CA" },
52
- { zip: "/tmp/oa-cache/us__ca__marin.zip", csv: "us/ca/marin.csv", region: "CA" },
53
- { zip: "/tmp/oa-cache/us__dc__statewide.zip", csv: "us/dc/statewide.csv", region: "DC" },
54
- { zip: "/tmp/oa-cache/us__ia__statewide.zip", csv: "us/ia/statewide.csv", region: "IA" },
55
- { zip: "/tmp/oa-cache/us__il__cook.zip", csv: "us/il/cook.csv", region: "IL" },
56
- { zip: "/tmp/oa-cache/us__mt__statewide.zip", csv: "us/mt/statewide.csv", region: "MT" },
57
- { zip: "/tmp/oa-cache/us__sd__statewide.zip", csv: "us/sd/statewide.csv", region: "SD" },
54
+ { zip: dataRootPath("oa-cache", "us__ca__berkeley.zip"), csv: "us/ca/berkeley.csv", region: "CA" },
55
+ { zip: dataRootPath("oa-cache", "us__ca__marin.zip"), csv: "us/ca/marin.csv", region: "CA" },
56
+ { zip: dataRootPath("oa-cache", "us__dc__statewide.zip"), csv: "us/dc/statewide.csv", region: "DC" },
57
+ { zip: dataRootPath("oa-cache", "us__ia__statewide.zip"), csv: "us/ia/statewide.csv", region: "IA" },
58
+ { zip: dataRootPath("oa-cache", "us__il__cook.zip"), csv: "us/il/cook.csv", region: "IL" },
59
+ { zip: dataRootPath("oa-cache", "us__mt__statewide.zip"), csv: "us/mt/statewide.csv", region: "MT" },
60
+ { zip: dataRootPath("oa-cache", "us__sd__statewide.zip"), csv: "us/sd/statewide.csv", region: "SD" },
58
61
  ];
59
- const US_EVAL_SOURCE = { zip: "/tmp/oa-cache/us__vt__statewide.zip", csv: "us/vt/statewide.csv", region: "VT" };
60
- const FR_SOURCE = { zip: "/tmp/oa-cache/fr__countrywide.zip", csv: "fr/countrywide.csv" };
61
- const GEONAMES_CA = "/tmp/geonames-cache/CA.zip";
62
- const GEONAMES_POSTAL_AU = { zip: "/tmp/geonames-cache/AU-postal.zip", txt: "AU.txt" };
63
- const GEONAMES_POSTAL_NZ = { zip: "/tmp/geonames-cache/NZ-postal.zip", txt: "NZ.txt" };
62
+ const US_EVAL_SOURCE = {
63
+ zip: dataRootPath("oa-cache", "us__vt__statewide.zip"),
64
+ csv: "us/vt/statewide.csv",
65
+ region: "VT",
66
+ };
67
+ const FR_SOURCE = { zip: dataRootPath("oa-cache", "fr__countrywide.zip"), csv: "fr/countrywide.csv" };
68
+ // GeoNames has two per-country exports with different schemas, and this recipe reads both. The MAIN
69
+ // dump (feature class + population columns) lives under `geonames/`; the POSTAL-CODE dump lives
70
+ // under `geonames-postal/`, where the directory carries the "postal" distinction the filename used
71
+ // to.
72
+ const GEONAMES_CA = dataRootPath("geonames", "CA.zip");
73
+ const GEONAMES_POSTAL_AU = { zip: dataRootPath("geonames-postal", "AU.zip"), txt: "AU.txt" };
74
+ const GEONAMES_POSTAL_NZ = { zip: dataRootPath("geonames-postal", "NZ.zip"), txt: "NZ.txt" };
64
75
  /**
65
76
  * ── Surface vocabulary (codex + corpus templates — see the header) ──────────────────────────────.
66
77
  */
@@ -158,106 +169,64 @@ function localityHash(name) {
158
169
  return h;
159
170
  }
160
171
  const isHoldoutLocality = (name) => localityHash(name) % 10 === 0;
161
- /**
162
- * Minimal RFC-4180-ish splitter (handles quoted fields).
163
- */
164
- function splitCSV(line) {
165
- const out = [];
166
- let cur = "";
167
- let inQ = false;
168
- for (let i = 0; i < line.length; i++) {
169
- const c = line[i];
170
- if (inQ) {
171
- if (c === '"') {
172
- if (line[i + 1] === '"') {
173
- cur += '"';
174
- i++;
175
- }
176
- else {
177
- inQ = false;
178
- }
179
- }
180
- else {
181
- cur += c;
182
- }
183
- }
184
- else if (c === '"') {
185
- inQ = true;
186
- }
187
- else if (c === ",") {
188
- out.push(cur);
189
- cur = "";
190
- }
191
- else {
192
- cur += c;
193
- }
194
- }
195
- out.push(cur);
196
- return out;
197
- }
198
172
  const MAX_LOCALITY_LENGTH = 40;
199
173
  const cleanLocality = (loc) => loc && loc.length <= MAX_LOCALITY_LENGTH && !/\d|,/.test(loc) && !/cedex/i.test(loc);
200
174
  /**
201
175
  * Stream real US tuples (number/street/city/postcode) out of a cached OA zip.
202
176
  */
203
- function readUsTuples(source) {
204
- const r = spawnSync("unzip", ["-p", source.zip, source.csv], { maxBuffer: 1024 * 1024 * 1024, encoding: "buffer" });
205
- if (r.status !== 0) {
206
- console.error(` WARN: unzip failed for ${source.zip} (status ${r.status})`);
207
- return [];
208
- }
209
- const lines = r.stdout.toString("utf8").split(/\r?\n/);
210
- if (lines.length < 2)
211
- return [];
212
- const header = splitCSV(lines[0]).map((h) => h.trim().toLowerCase());
213
- const idx = (name) => header.indexOf(name);
214
- const iNum = idx("number"), iStreet = idx("street"), iCity = idx("city"), iPost = idx("postcode");
215
- const get = (cells, i) => (i >= 0 && i < cells.length ? (cells[i] ?? "").trim() : "");
177
+ async function readUsTuples(source) {
216
178
  const tuples = [];
217
179
  const seen = new Set();
218
- for (let li = 1; li < lines.length; li++) {
219
- if (!lines[li])
220
- continue;
221
- const cells = splitCSV(lines[li]);
222
- const locality = get(cells, iCity);
180
+ for await (const row of readZippedCSVRecords(source.zip, source.csv)) {
181
+ const locality = row.city ?? "";
223
182
  if (!cleanLocality(locality))
224
183
  continue;
225
184
  const key = locality.toLowerCase();
226
- const street = get(cells, iStreet), house_number = get(cells, iNum);
185
+ const street = row.street ?? "", house_number = row.number ?? "";
227
186
  // One tuple per (locality, street) pair keeps the pool varied without ballooning memory.
228
187
  const pairKey = `${key}|${street}`.toLowerCase();
229
188
  if (seen.has(pairKey))
230
189
  continue;
231
190
  seen.add(pairKey);
232
- tuples.push({ house_number, street, locality, region: source.region, postcode: get(cells, iPost) });
191
+ tuples.push({ house_number, street, locality, region: source.region, postcode: row.postcode ?? "" });
233
192
  }
234
193
  return tuples;
235
194
  }
195
+ /**
196
+ * The FR stride: keep line 3, then every 211th. Both numbers are the awk pre-filter's, kept exactly — they select which
197
+ * rows land in the shard, so changing either re-rolls the sample.
198
+ */
199
+ const FR_STRIDE = 211;
200
+ const FR_STRIDE_OFFSET = 3;
201
+ /**
202
+ * GeoNames population floor for a Canadian locality to enter the pool.
203
+ */
204
+ const CA_LOCALITY_MIN_POPULATION = 1000;
236
205
  /**
237
206
  * Stride-sampled FR tuples (number/street/city/postcode). The countrywide CSV is 2.5 GB and insee-ordered; `awk NR%K`
238
- * strides the whole country instead of reading one département. Quoted commas survive because awk only FILTERS lines —
239
- * parsing stays in splitCSV.
207
+ * strides the whole country instead of reading one département.
208
+ *
209
+ * The stride counts PHYSICAL lines, so a record carrying a newline inside a quoted field is two lines to the stride and
210
+ * can be cut in half by it. That is a sampling artefact of striding before the parse, not of the parse: whichever lines
211
+ * survive are re-assembled into records by the CSV reader, and a halved record fails the field checks below. Hence
212
+ * `skipEmpty: false` and no quote handling on the line split — a blank line still advances the count, exactly as it did
213
+ * when this was `awk NR`, and the rows the stride selects are the rows every existing FR shard was built from.
240
214
  */
241
- function readFrTuples(limit) {
242
- const r = spawnSync("bash", ["-c", `unzip -p "${FR_SOURCE.zip}" "${FR_SOURCE.csv}" | awk 'NR==1 || NR%211==3' | head -n ${limit + 1}`], { maxBuffer: 1024 * 1024 * 1024, encoding: "buffer" });
243
- if (r.status !== 0 && !r.stdout.length) {
244
- console.error(` WARN: unzip failed for ${FR_SOURCE.zip}`);
215
+ async function readFrTuples(limit) {
216
+ if (!existsSync(FR_SOURCE.zip)) {
217
+ console.error(` WARN: ${FR_SOURCE.zip} is not cached — skipping ${FR_SOURCE.csv}`);
245
218
  return [];
246
219
  }
247
- const lines = r.stdout.toString("utf8").split(/\r?\n/);
248
- if (lines.length < 2)
249
- return [];
250
- const header = splitCSV(lines[0]).map((h) => h.trim().toLowerCase());
251
- const idx = (n) => header.indexOf(n);
252
- const iNum = idx("number"), iStreet = idx("street"), iCity = idx("city"), iPost = idx("postcode");
253
- const get = (cells, i) => (i >= 0 && i < cells.length ? (cells[i] ?? "").trim() : "");
220
+ const encoder = new TextEncoder();
221
+ const strided = TextSpliterator.fromAsync(readZipEntry(FR_SOURCE.zip, FR_SOURCE.csv), { skipEmpty: false })
222
+ // `index` is 0-based where awk's NR is 1-based, hence the +1: keep the header, then every 211th line at offset 3.
223
+ .filter((_line, index) => index === 0 || (index + 1) % FR_STRIDE === FR_STRIDE_OFFSET)
224
+ .take(limit + 1)
225
+ .map((line) => encoder.encode(line + "\n"));
254
226
  const tuples = [];
255
227
  const seen = new Set();
256
- for (let li = 1; li < lines.length; li++) {
257
- if (!lines[li])
258
- continue;
259
- const cells = splitCSV(lines[li]);
260
- const locality = get(cells, iCity), postcode = get(cells, iPost), street = get(cells, iStreet), house_number = get(cells, iNum);
228
+ for await (const row of readCSVRecords(strided)) {
229
+ const locality = row.city ?? "", postcode = row.postcode ?? "", street = row.street ?? "", house_number = row.number ?? "";
261
230
  if (!cleanLocality(locality) || !/^\d{5}$/.test(postcode) || !street || !house_number)
262
231
  continue;
263
232
  const key = `${locality}|${street}`.toLowerCase();
@@ -272,16 +241,24 @@ function readFrTuples(limit) {
272
241
  * Canadian locality pools from the GeoNames dump (CC-BY 4.0): feature class P, admin1 10 (Québec) / 08 (Ontario),
273
242
  * population > 1000. GeoNames is the provenance-tracked source — no hand list.
274
243
  */
275
- function readCaLocalities(admin1) {
276
- const r = spawnSync("bash", [
277
- "-c",
278
- `unzip -p "${GEONAMES_CA}" CA.txt | awk -F'\\t' '$7=="P" && $9=="CA" && $11=="${admin1}" && $15>1000 {print $2}'`,
279
- ], { maxBuffer: 1024 * 1024 * 256, encoding: "utf8" });
280
- if (r.status !== 0) {
281
- console.error(` WARN: GeoNames read failed (admin1=${admin1}) — is ${GEONAMES_CA} present?`);
244
+ async function readCaLocalities(admin1) {
245
+ if (!existsSync(GEONAMES_CA)) {
246
+ console.error(` WARN: ${GEONAMES_CA} is not cached — skipping CA localities (admin1=${admin1})`);
282
247
  return [];
283
248
  }
284
- return [...new Set(r.stdout.split("\n").filter(cleanLocality))];
249
+ const localities = new Set();
250
+ // GeoNames main dump columns, 0-based: 1 name, 6 feature class, 8 country, 10 admin1, 14 population.
251
+ for await (const columns of TSVSpliterator.fromAsync(readZipEntry(GEONAMES_CA, "CA.txt"), { header: false })) {
252
+ if (columns[6] !== "P" || columns[8] !== "CA" || columns[10] !== admin1)
253
+ continue;
254
+ if (Number(columns[14]) <= CA_LOCALITY_MIN_POPULATION)
255
+ continue;
256
+ const name = columns[1] ?? "";
257
+ if (cleanLocality(name)) {
258
+ localities.add(name);
259
+ }
260
+ }
261
+ return [...localities];
285
262
  }
286
263
  /**
287
264
  * Real (locality, state?, postcode) tuples from a GeoNames postal-code dump (CC-BY 4.0). Tab format: country,
@@ -290,19 +267,16 @@ function readCaLocalities(admin1) {
290
267
  * validated against the codex 4-digit shape — a dump row that fails the contract is skipped, not emitted as a junk
291
268
  * label.
292
269
  */
293
- function readPostalTuples(source, opts) {
294
- const r = spawnSync("unzip", ["-p", source.zip, source.txt], { maxBuffer: 1024 * 1024 * 64, encoding: "utf8" });
295
- if (r.status !== 0) {
296
- console.error(` WARN: unzip failed for ${source.zip} (status ${r.status})`);
270
+ async function readPostalTuples(source, opts) {
271
+ if (!existsSync(source.zip)) {
272
+ console.error(` WARN: ${source.zip} is not cached — skipping ${source.txt}`);
297
273
  return [];
298
274
  }
299
275
  const tuples = [];
300
276
  const seen = new Set();
301
- const validPostcode = opts.withState ? isAuPostcode : isNzPostcode;
302
- for (const line of r.stdout.split("\n")) {
303
- if (!line)
304
- continue;
305
- const cols = line.split("\t");
277
+ const validPostcode = opts.withState ? isAuPostcode : isNZPostcode;
278
+ // A GeoNames dump carries no header row, so every line is data.
279
+ for await (const cols of TSVSpliterator.fromAsync(readZipEntry(source.zip, source.txt), { header: false })) {
306
280
  const postcode = (cols[1] ?? "").trim();
307
281
  const locality = (cols[2] ?? "").trim();
308
282
  const region = (cols[4] ?? "").trim();
@@ -387,7 +361,7 @@ function makeCedex(random) {
387
361
  /**
388
362
  * Compose an AU or NZ delivery-service phrase from the codex-sourced leaders. Same contract as makePoBoxPhrase: a
389
363
  * phrase built from a codex-known designator and a clean id must round-trip the codex matcher (isAuDeliveryService /
390
- * isNzDeliveryService) — a failure is a generation bug, loud. Noisy ids (commas / embedded spaces) are corpus-designed
364
+ * isNZDeliveryService) — a failure is a generation bug, loud. Noisy ids (commas / embedded spaces) are corpus-designed
391
365
  * adversarial forms, exempt.
392
366
  */
393
367
  function makeAuNzPoBoxPhrase(random, leaders, rareLeaders, validate) {
@@ -397,13 +371,13 @@ function makeAuNzPoBoxPhrase(random, leaders, rareLeaders, validate) {
397
371
  }
398
372
  let num = maybeNoisifyBoxNumber(pickBoxNumber(random), random);
399
373
  // NZ CMB identifiers are alpha-led per the ADV358 example ("CMB B99").
400
- if (leader === "CMB" && validate === isNzDeliveryService) {
374
+ if (leader === "CMB" && validate === isNZDeliveryService) {
401
375
  num = `B${num}`;
402
376
  }
403
377
  const phrase = `${caseDial(random, leader)} ${num}`;
404
378
  // The "clean id" shape differs per system: ADV358 identifiers carry no separators at all, the AU
405
379
  // AMAS id (like the US one) tolerates dashes. Noisy ids outside the clean shape are exempt.
406
- const cleanID = validate === isNzDeliveryService ? /^[\dA-Za-z]+$/ : /^[\dA-Za-z][\dA-Za-z-]*$/;
380
+ const cleanID = validate === isNZDeliveryService ? /^[\dA-Za-z]+$/ : /^[\dA-Za-z][\dA-Za-z-]*$/;
407
381
  if (cleanID.test(num) && !validate(phrase)) {
408
382
  throw new Error(`generated a phrase the codex matcher rejects: "${phrase}"`);
409
383
  }
@@ -539,7 +513,7 @@ function renderCaEn(random, loc) {
539
513
  return { fmt: "ca-en-golden-order", raw: `${phrase}, ${pc} ${loc}, ON`, components };
540
514
  return { fmt: "ca-en-bare", raw: phrase, components: { po_box: phrase } };
541
515
  }
542
- function renderAuPoBox(random, t) {
516
+ function renderAUPoBox(random, t) {
543
517
  const phrase = makeAuNzPoBoxPhrase(random, AU_LEADERS_CURRENT, AU_LEADERS_LEGACY, isAuDeliveryService);
544
518
  const { locality, region: reg, postcode: pc } = t;
545
519
  const r = random();
@@ -568,8 +542,8 @@ function renderAuPoBox(random, t) {
568
542
  const v = pick(random, VENUES_EN);
569
543
  return { fmt: "au-venue", raw: `${v}, ${phrase}, ${loc} ${reg} ${pc}`, components: { venue: v, ...base } };
570
544
  }
571
- function renderNzPoBox(random, t) {
572
- const phrase = makeAuNzPoBoxPhrase(random, NZ_LEADERS_COMMON, NZ_LEADERS_RARE, isNzDeliveryService);
545
+ function renderNZPoBox(random, t) {
546
+ const phrase = makeAuNzPoBoxPhrase(random, NZ_LEADERS_COMMON, NZ_LEADERS_RARE, isNZDeliveryService);
573
547
  const { locality, postcode: pc } = t;
574
548
  // NZ addresses are written mixed-case ("PO Box 4099, Timaru 7942") — no region line (ADV358).
575
549
  const base = { po_box: phrase, locality, postcode: pc };
@@ -616,29 +590,29 @@ export const poBoxCedexRecipe = {
616
590
  // US pool: VT only for golden, non-VT for train (the established geographic holdout).
617
591
  const usPool = [];
618
592
  for (const s of opts.golden ? [US_EVAL_SOURCE] : US_TRAIN_SOURCES) {
619
- const t = readUsTuples(s);
593
+ const t = await readUsTuples(s);
620
594
  console.error(` ${s.csv}: ${t.length} tuples`);
621
595
  for (const x of t) {
622
596
  usPool.push(x);
623
597
  }
624
598
  }
625
599
  // FR + CA pools: stable locality-hash holdout (golden gets hash%10==0, train the rest).
626
- const frAll = readFrTuples(80_000);
600
+ const frAll = await readFrTuples(80_000);
627
601
  const frPool = frAll.filter((t) => isHoldoutLocality(t.locality) === opts.golden);
628
602
  console.error(` ${FR_SOURCE.csv}: ${frAll.length} tuples (${frPool.length} after holdout split)`);
629
- const qcAll = readCaLocalities("10");
630
- const onAll = readCaLocalities("08");
603
+ const qcAll = await readCaLocalities("10");
604
+ const onAll = await readCaLocalities("08");
631
605
  const qcPool = qcAll.filter((l) => isHoldoutLocality(l) === opts.golden);
632
606
  const onPool = onAll.filter((l) => isHoldoutLocality(l) === opts.golden);
633
607
  console.error(` GeoNames CA: QC ${qcAll.length}→${qcPool.length}, ON ${onAll.length}→${onPool.length}`);
634
608
  // AU/NZ pools: same stable locality-hash holdout as FR/CA.
635
- const auAll = readPostalTuples(GEONAMES_POSTAL_AU, { withState: true });
636
- const nzAll = readPostalTuples(GEONAMES_POSTAL_NZ, { withState: false });
609
+ const auAll = (await readPostalTuples(GEONAMES_POSTAL_AU, { withState: true }));
610
+ const nzAll = (await readPostalTuples(GEONAMES_POSTAL_NZ, { withState: false }));
637
611
  const auPool = auAll.filter((t) => isHoldoutLocality(t.locality) === opts.golden);
638
612
  const nzPool = nzAll.filter((t) => isHoldoutLocality(t.locality) === opts.golden);
639
613
  console.error(` GeoNames postal: AU ${auAll.length}→${auPool.length}, NZ ${nzAll.length}→${nzPool.length}`);
640
614
  if (!usPool.length || !frPool.length || !qcPool.length || !onPool.length || !auPool.length || !nzPool.length) {
641
- throw new Error("A base pool is empty — check /tmp/oa-cache and /tmp/geonames-cache (CA.zip, AU-postal.zip, NZ-postal.zip).");
615
+ throw new Error(`A base pool is empty — check ${dataRootPath("oa-cache")}, ${GEONAMES_CA}, ${GEONAMES_POSTAL_AU.zip}, and ${GEONAMES_POSTAL_NZ.zip}.`);
642
616
  }
643
617
  const pickClass = (r) => {
644
618
  let acc = 0;
@@ -686,12 +660,12 @@ export const poBoxCedexRecipe = {
686
660
  locale = "fr-CA";
687
661
  }
688
662
  else if (cls === "po-box-au") {
689
- rendered = renderAuPoBox(random, pick(random, auPool));
663
+ rendered = renderAUPoBox(random, pick(random, auPool));
690
664
  country = "AU";
691
665
  locale = "en-AU";
692
666
  }
693
667
  else if (cls === "po-box-nz") {
694
- rendered = renderNzPoBox(random, pick(random, nzPool));
668
+ rendered = renderNZPoBox(random, pick(random, nzPool));
695
669
  country = "NZ";
696
670
  locale = "en-NZ";
697
671
  }
@@ -1 +1 @@
1
- {"version":3,"file":"po-box-cedex.js","sourceRoot":"","sources":["../../../src/shard-recipes/po-box-cedex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"po-box-cedex.js","sourceRoot":"","sources":["../../../src/shard-recipes/po-box-cedex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"po-box.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/po-box.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAInG;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAiGzB,CAAA"}
1
+ {"version":3,"file":"po-box.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/po-box.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,EAAqD,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAInG;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,WAiGzB,CAAA"}
@@ -8,7 +8,7 @@
8
8
  * `--military-ratio`. Region is required EXCEPT region-less locales (NZ). Ported from
9
9
  * scripts/build-po-box-shard.mjs.
10
10
  */
11
- import { synthesizeMilitaryPoBoxRow, synthesizePoBoxRow } from "../synthesize-po-box.js";
11
+ import { synthesizeMilitaryPoBoxRow, synthesizePoBoxRow, } from "@mailwoman/corpus/synthesizers/po-box";
12
12
  import { alignAndWrite, makeLcg, readTuples, shardSourceID } from "./scaffold.js";
13
13
  const LICENSE = "Synthetic — derived from CC-BY / public-domain input tuples";
14
14
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"po-box.js","sourceRoot":"","sources":["../../../src/shard-recipes/po-box.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"po-box.js","sourceRoot":"","sources":["../../../src/shard-recipes/po-box.ts"],"names":[],"mappings":"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"}