@mailwoman/corpus 9.1.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.md +2 -2
  2. package/data/PROVENANCE.md +13 -0
  3. package/data/reviewed-ve-postcode-tuples.json +74 -0
  4. package/out/src/adapters/ban/adapter.d.ts +1 -1
  5. package/out/src/adapters/ban/adapter.d.ts.map +1 -1
  6. package/out/src/adapters/ban/adapter.js +4 -3
  7. package/out/src/adapters/ban/adapter.js.map +1 -1
  8. package/out/src/adapters/fcc-bdc/adapter.d.ts +1 -1
  9. package/out/src/adapters/fcc-bdc/adapter.d.ts.map +1 -1
  10. package/out/src/adapters/fcc-bdc/adapter.js +2 -2
  11. package/out/src/adapters/fcc-bdc/adapter.js.map +1 -1
  12. package/out/src/adapters/geonames/adapter.d.ts +1 -1
  13. package/out/src/adapters/geonames/adapter.d.ts.map +1 -1
  14. package/out/src/adapters/geonames/adapter.js +1 -1
  15. package/out/src/adapters/geonames/adapter.js.map +1 -1
  16. package/out/src/adapters/geonames-postal/adapter.d.ts +1 -1
  17. package/out/src/adapters/geonames-postal/adapter.d.ts.map +1 -1
  18. package/out/src/adapters/geonames-postal/adapter.js +2 -2
  19. package/out/src/adapters/geonames-postal/adapter.js.map +1 -1
  20. package/out/src/adapters/gnaf/adapter.d.ts +1 -1
  21. package/out/src/adapters/gnaf/adapter.d.ts.map +1 -1
  22. package/out/src/adapters/gnaf/adapter.js +1 -1
  23. package/out/src/adapters/gnaf/adapter.js.map +1 -1
  24. package/out/src/adapters/index.d.ts +1 -1
  25. package/out/src/adapters/index.d.ts.map +1 -1
  26. package/out/src/adapters/index.js +1 -1
  27. package/out/src/adapters/index.js.map +1 -1
  28. package/out/src/adapters/openaddresses/adapter.d.ts +1 -1
  29. package/out/src/adapters/openaddresses/adapter.d.ts.map +1 -1
  30. package/out/src/adapters/openaddresses/adapter.js +2 -2
  31. package/out/src/adapters/openaddresses/adapter.js.map +1 -1
  32. package/out/src/adapters/overture/adapter.d.ts +1 -1
  33. package/out/src/adapters/overture/adapter.d.ts.map +1 -1
  34. package/out/src/adapters/overture/adapter.js +1 -1
  35. package/out/src/adapters/overture/adapter.js.map +1 -1
  36. package/out/src/adapters/state-hi-schools/adapter.d.ts +1 -1
  37. package/out/src/adapters/state-hi-schools/adapter.d.ts.map +1 -1
  38. package/out/src/adapters/state-hi-schools/adapter.js +6 -5
  39. package/out/src/adapters/state-hi-schools/adapter.js.map +1 -1
  40. package/out/src/adapters/state-ia-contractors/adapter.d.ts +1 -1
  41. package/out/src/adapters/state-ia-contractors/adapter.d.ts.map +1 -1
  42. package/out/src/adapters/state-ia-contractors/adapter.js +11 -6
  43. package/out/src/adapters/state-ia-contractors/adapter.js.map +1 -1
  44. package/out/src/adapters/state-ny-notaries/adapter.d.ts +1 -1
  45. package/out/src/adapters/state-ny-notaries/adapter.d.ts.map +1 -1
  46. package/out/src/adapters/state-ny-notaries/adapter.js +11 -17
  47. package/out/src/adapters/state-ny-notaries/adapter.js.map +1 -1
  48. package/out/src/adapters/state-tx-notaries/adapter.d.ts +1 -1
  49. package/out/src/adapters/state-tx-notaries/adapter.d.ts.map +1 -1
  50. package/out/src/adapters/state-tx-notaries/adapter.js +11 -6
  51. package/out/src/adapters/state-tx-notaries/adapter.js.map +1 -1
  52. package/out/src/adapters/synth-po-box/adapter.d.ts +2 -2
  53. package/out/src/adapters/synth-po-box/adapter.d.ts.map +1 -1
  54. package/out/src/adapters/synth-po-box/adapter.js +2 -2
  55. package/out/src/adapters/synth-po-box/adapter.js.map +1 -1
  56. package/out/src/adapters/tiger/adapter.d.ts +1 -1
  57. package/out/src/adapters/tiger/adapter.d.ts.map +1 -1
  58. package/out/src/adapters/tiger/adapter.js +1 -1
  59. package/out/src/adapters/tiger/adapter.js.map +1 -1
  60. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts +1 -1
  61. package/out/src/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +1 -1
  62. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js +6 -5
  63. package/out/src/adapters/usgov-hrsa-fqhc/adapter.js.map +1 -1
  64. package/out/src/adapters/usgov-imls-pls/adapter.d.ts +1 -1
  65. package/out/src/adapters/usgov-imls-pls/adapter.d.ts.map +1 -1
  66. package/out/src/adapters/usgov-imls-pls/adapter.js +10 -6
  67. package/out/src/adapters/usgov-imls-pls/adapter.js.map +1 -1
  68. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts +1 -1
  69. package/out/src/adapters/usgov-irs-bmf/adapter.d.ts.map +1 -1
  70. package/out/src/adapters/usgov-irs-bmf/adapter.js +5 -4
  71. package/out/src/adapters/usgov-irs-bmf/adapter.js.map +1 -1
  72. package/out/src/adapters/usgov-nad/adapter.d.ts +1 -1
  73. package/out/src/adapters/usgov-nad/adapter.d.ts.map +1 -1
  74. package/out/src/adapters/usgov-nad/adapter.js +7 -7
  75. package/out/src/adapters/usgov-nad/adapter.js.map +1 -1
  76. package/out/src/adapters/usgov-nppes/adapter.d.ts +1 -1
  77. package/out/src/adapters/usgov-nppes/adapter.d.ts.map +1 -1
  78. package/out/src/adapters/usgov-nppes/adapter.js +9 -9
  79. package/out/src/adapters/usgov-nppes/adapter.js.map +1 -1
  80. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.d.ts +1 -1
  81. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +1 -1
  82. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js +6 -5
  83. package/out/src/adapters/usgov-samhsa-treatment-locator/adapter.js.map +1 -1
  84. package/out/src/adapters/utils/index.d.ts +7 -1
  85. package/out/src/adapters/utils/index.d.ts.map +1 -1
  86. package/out/src/adapters/utils/index.js +10 -2
  87. package/out/src/adapters/utils/index.js.map +1 -1
  88. package/out/src/adapters/wof-admin-jp/adapter.d.ts +1 -1
  89. package/out/src/adapters/wof-admin-jp/adapter.d.ts.map +1 -1
  90. package/out/src/adapters/wof-admin-jp/adapter.js +5 -5
  91. package/out/src/adapters/wof-admin-jp/adapter.js.map +1 -1
  92. package/out/src/adapters/wof-admin-json/adapter.d.ts +4 -15
  93. package/out/src/adapters/wof-admin-json/adapter.d.ts.map +1 -1
  94. package/out/src/adapters/wof-admin-json/adapter.js +11 -35
  95. package/out/src/adapters/wof-admin-json/adapter.js.map +1 -1
  96. package/out/src/adapters/wof-json-rows.d.ts +32 -0
  97. package/out/src/adapters/wof-json-rows.d.ts.map +1 -0
  98. package/out/src/adapters/wof-json-rows.js +45 -0
  99. package/out/src/adapters/wof-json-rows.js.map +1 -0
  100. package/out/src/adapters/wof-postalcode-json/adapter.d.ts +4 -9
  101. package/out/src/adapters/wof-postalcode-json/adapter.d.ts.map +1 -1
  102. package/out/src/adapters/wof-postalcode-json/adapter.js +12 -37
  103. package/out/src/adapters/wof-postalcode-json/adapter.js.map +1 -1
  104. package/out/src/build.d.ts +4 -3
  105. package/out/src/build.d.ts.map +1 -1
  106. package/out/src/build.js +7 -4
  107. package/out/src/build.js.map +1 -1
  108. package/out/src/index.d.ts +1 -1
  109. package/out/src/index.d.ts.map +1 -1
  110. package/out/src/index.js +1 -1
  111. package/out/src/index.js.map +1 -1
  112. package/out/src/parquet-wrapper/reader.d.ts.map +1 -1
  113. package/out/src/parquet-wrapper/reader.js +5 -0
  114. package/out/src/parquet-wrapper/reader.js.map +1 -1
  115. package/out/src/runner.d.ts +2 -2
  116. package/out/src/runner.d.ts.map +1 -1
  117. package/out/src/runner.js +1 -1
  118. package/out/src/runner.js.map +1 -1
  119. package/out/src/shard-recipes/anchor-absorption.d.ts.map +1 -1
  120. package/out/src/shard-recipes/anchor-absorption.js +4 -5
  121. package/out/src/shard-recipes/anchor-absorption.js.map +1 -1
  122. package/out/src/shard-recipes/bare-country.d.ts +25 -0
  123. package/out/src/shard-recipes/bare-country.d.ts.map +1 -0
  124. package/out/src/shard-recipes/bare-country.js +87 -0
  125. package/out/src/shard-recipes/bare-country.js.map +1 -0
  126. package/out/src/shard-recipes/boundary-stress.d.ts.map +1 -1
  127. package/out/src/shard-recipes/boundary-stress.js +2 -2
  128. package/out/src/shard-recipes/boundary-stress.js.map +1 -1
  129. package/out/src/shard-recipes/country-balanced.d.ts.map +1 -1
  130. package/out/src/shard-recipes/country-balanced.js +6 -5
  131. package/out/src/shard-recipes/country-balanced.js.map +1 -1
  132. package/out/src/shard-recipes/cz-pcfirst-preposition.d.ts.map +1 -1
  133. package/out/src/shard-recipes/cz-pcfirst-preposition.js +28 -10
  134. package/out/src/shard-recipes/cz-pcfirst-preposition.js.map +1 -1
  135. package/out/src/shard-recipes/fr-admin-split.d.ts.map +1 -1
  136. package/out/src/shard-recipes/fr-admin-split.js +4 -3
  137. package/out/src/shard-recipes/fr-admin-split.js.map +1 -1
  138. package/out/src/shard-recipes/fr-bare-street.d.ts.map +1 -1
  139. package/out/src/shard-recipes/fr-bare-street.js +72 -11
  140. package/out/src/shard-recipes/fr-bare-street.js.map +1 -1
  141. package/out/src/shard-recipes/fr-lieudit.d.ts.map +1 -1
  142. package/out/src/shard-recipes/fr-lieudit.js +4 -3
  143. package/out/src/shard-recipes/fr-lieudit.js.map +1 -1
  144. package/out/src/shard-recipes/fr-order.d.ts.map +1 -1
  145. package/out/src/shard-recipes/fr-order.js +4 -3
  146. package/out/src/shard-recipes/fr-order.js.map +1 -1
  147. package/out/src/shard-recipes/german.d.ts.map +1 -1
  148. package/out/src/shard-recipes/german.js +3 -3
  149. package/out/src/shard-recipes/german.js.map +1 -1
  150. package/out/src/shard-recipes/house-venue.js +1 -1
  151. package/out/src/shard-recipes/house-venue.js.map +1 -1
  152. package/out/src/shard-recipes/index.d.ts.map +1 -1
  153. package/out/src/shard-recipes/index.js +6 -0
  154. package/out/src/shard-recipes/index.js.map +1 -1
  155. package/out/src/shard-recipes/intersection.d.ts.map +1 -1
  156. package/out/src/shard-recipes/intersection.js +3 -3
  157. package/out/src/shard-recipes/intersection.js.map +1 -1
  158. package/out/src/shard-recipes/locale.d.ts +1 -1
  159. package/out/src/shard-recipes/locale.d.ts.map +1 -1
  160. package/out/src/shard-recipes/locale.js +5 -4
  161. package/out/src/shard-recipes/locale.js.map +1 -1
  162. package/out/src/shard-recipes/no-street.js +1 -1
  163. package/out/src/shard-recipes/no-street.js.map +1 -1
  164. package/out/src/shard-recipes/po-box-cedex.d.ts.map +1 -1
  165. package/out/src/shard-recipes/po-box-cedex.js +2 -2
  166. package/out/src/shard-recipes/po-box-cedex.js.map +1 -1
  167. package/out/src/shard-recipes/po-box.d.ts.map +1 -1
  168. package/out/src/shard-recipes/po-box.js +1 -1
  169. package/out/src/shard-recipes/po-box.js.map +1 -1
  170. package/out/src/shard-recipes/reviewed-postcode-tail.d.ts +47 -0
  171. package/out/src/shard-recipes/reviewed-postcode-tail.d.ts.map +1 -0
  172. package/out/src/shard-recipes/reviewed-postcode-tail.js +125 -0
  173. package/out/src/shard-recipes/reviewed-postcode-tail.js.map +1 -0
  174. package/out/src/shard-recipes/scaffold.d.ts +33 -4
  175. package/out/src/shard-recipes/scaffold.d.ts.map +1 -1
  176. package/out/src/shard-recipes/scaffold.js +5 -6
  177. package/out/src/shard-recipes/scaffold.js.map +1 -1
  178. package/out/src/shard-recipes/street-affix.d.ts.map +1 -1
  179. package/out/src/shard-recipes/street-affix.js +2 -2
  180. package/out/src/shard-recipes/street-affix.js.map +1 -1
  181. package/out/src/shard-recipes/street-bare.js +3 -3
  182. package/out/src/shard-recipes/street-bare.js.map +1 -1
  183. package/out/src/shard-recipes/street.js +2 -2
  184. package/out/src/shard-recipes/street.js.map +1 -1
  185. package/out/src/shard-recipes/sub-venue-sources.d.ts +2 -2
  186. package/out/src/shard-recipes/sub-venue-sources.d.ts.map +1 -1
  187. package/out/src/shard-recipes/sub-venue-sources.js +1 -1
  188. package/out/src/shard-recipes/sub-venue-sources.js.map +1 -1
  189. package/out/src/shard-recipes/sub-venue.d.ts +1 -1
  190. package/out/src/shard-recipes/sub-venue.d.ts.map +1 -1
  191. package/out/src/shard-recipes/sub-venue.js +6 -5
  192. package/out/src/shard-recipes/sub-venue.js.map +1 -1
  193. package/out/src/shard-recipes/trailing-region.d.ts +74 -0
  194. package/out/src/shard-recipes/trailing-region.d.ts.map +1 -0
  195. package/out/src/shard-recipes/trailing-region.js +157 -0
  196. package/out/src/shard-recipes/trailing-region.js.map +1 -0
  197. package/out/src/shard-recipes/unit.d.ts.map +1 -1
  198. package/out/src/shard-recipes/unit.js +2 -2
  199. package/out/src/shard-recipes/unit.js.map +1 -1
  200. package/out/src/synthesizers/boundary-stress.d.ts +1 -1
  201. package/out/src/synthesizers/boundary-stress.d.ts.map +1 -1
  202. package/out/src/synthesizers/german.d.ts +1 -1
  203. package/out/src/synthesizers/german.d.ts.map +1 -1
  204. package/out/src/synthesizers/german.js.map +1 -1
  205. package/out/src/synthesizers/house-venue.d.ts +1 -1
  206. package/out/src/synthesizers/house-venue.d.ts.map +1 -1
  207. package/out/src/synthesizers/house-venue.js +16 -2
  208. package/out/src/synthesizers/house-venue.js.map +1 -1
  209. package/out/src/synthesizers/intersection.d.ts +1 -1
  210. package/out/src/synthesizers/intersection.d.ts.map +1 -1
  211. package/out/src/synthesizers/no-street.d.ts +1 -1
  212. package/out/src/synthesizers/no-street.d.ts.map +1 -1
  213. package/out/src/synthesizers/po-box.d.ts +1 -1
  214. package/out/src/synthesizers/po-box.d.ts.map +1 -1
  215. package/out/src/synthesizers/street.d.ts +1 -1
  216. package/out/src/synthesizers/street.d.ts.map +1 -1
  217. package/out/src/synthesizers/street.js +3 -2
  218. package/out/src/synthesizers/street.js.map +1 -1
  219. package/out/src/synthesizers/utils.d.ts +1 -1
  220. package/out/src/synthesizers/utils.d.ts.map +1 -1
  221. package/out/src/synthesizers/utils.js +3 -2
  222. package/out/src/synthesizers/utils.js.map +1 -1
  223. package/out/src/tools/align-shard.d.ts.map +1 -1
  224. package/out/src/tools/align-shard.js +2 -2
  225. package/out/src/tools/align-shard.js.map +1 -1
  226. package/out/src/tools/fetch/ban.d.ts.map +1 -1
  227. package/out/src/tools/fetch/ban.js +2 -18
  228. package/out/src/tools/fetch/ban.js.map +1 -1
  229. package/out/src/tools/fetch/download.d.ts +12 -3
  230. package/out/src/tools/fetch/download.d.ts.map +1 -1
  231. package/out/src/tools/fetch/download.js +20 -4
  232. package/out/src/tools/fetch/download.js.map +1 -1
  233. package/out/src/tools/fetch/geonames-dump.d.ts +87 -0
  234. package/out/src/tools/fetch/geonames-dump.d.ts.map +1 -0
  235. package/out/src/tools/fetch/geonames-dump.js +178 -0
  236. package/out/src/tools/fetch/geonames-dump.js.map +1 -0
  237. package/out/src/tools/fetch/geonames-postal.d.ts +76 -0
  238. package/out/src/tools/fetch/geonames-postal.d.ts.map +1 -0
  239. package/out/src/tools/fetch/geonames-postal.js +125 -0
  240. package/out/src/tools/fetch/geonames-postal.js.map +1 -0
  241. package/out/src/tools/fetch/imls-pls.d.ts.map +1 -1
  242. package/out/src/tools/fetch/imls-pls.js +2 -2
  243. package/out/src/tools/fetch/imls-pls.js.map +1 -1
  244. package/out/src/tools/fetch/index.d.ts +11 -0
  245. package/out/src/tools/fetch/index.d.ts.map +1 -1
  246. package/out/src/tools/fetch/index.js +11 -0
  247. package/out/src/tools/fetch/index.js.map +1 -1
  248. package/out/src/tools/fetch/nad.d.ts.map +1 -1
  249. package/out/src/tools/fetch/nad.js +20 -11
  250. package/out/src/tools/fetch/nad.js.map +1 -1
  251. package/out/src/tools/fetch/nppes.d.ts.map +1 -1
  252. package/out/src/tools/fetch/nppes.js +9 -7
  253. package/out/src/tools/fetch/nppes.js.map +1 -1
  254. package/out/src/tools/fetch/openaddresses.d.ts.map +1 -1
  255. package/out/src/tools/fetch/openaddresses.js +18 -17
  256. package/out/src/tools/fetch/openaddresses.js.map +1 -1
  257. package/out/src/tools/fetch/ourairports.d.ts.map +1 -1
  258. package/out/src/tools/fetch/ourairports.js +7 -2
  259. package/out/src/tools/fetch/ourairports.js.map +1 -1
  260. package/out/src/tools/fetch/ppd.d.ts +0 -4
  261. package/out/src/tools/fetch/ppd.d.ts.map +1 -1
  262. package/out/src/tools/fetch/ppd.js +1 -1
  263. package/out/src/tools/fetch/ppd.js.map +1 -1
  264. package/out/src/tools/fetch/state-hi-schools.d.ts.map +1 -1
  265. package/out/src/tools/fetch/state-hi-schools.js +3 -19
  266. package/out/src/tools/fetch/state-hi-schools.js.map +1 -1
  267. package/out/src/tools/fetch/state-sources.d.ts +4 -0
  268. package/out/src/tools/fetch/state-sources.d.ts.map +1 -1
  269. package/out/src/tools/fetch/state-sources.js +1 -5
  270. package/out/src/tools/fetch/state-sources.js.map +1 -1
  271. package/out/src/tools/fetch/tiger-full.d.ts.map +1 -1
  272. package/out/src/tools/fetch/tiger-full.js +15 -21
  273. package/out/src/tools/fetch/tiger-full.js.map +1 -1
  274. package/out/src/tools/golden-expand.d.ts.map +1 -1
  275. package/out/src/tools/golden-expand.js +34 -25
  276. package/out/src/tools/golden-expand.js.map +1 -1
  277. package/out/src/tools/golden-relabel-street.js +2 -2
  278. package/out/src/tools/golden-relabel-street.js.map +1 -1
  279. package/out/src/tools/index.d.ts +2 -2
  280. package/out/src/tools/index.d.ts.map +1 -1
  281. package/out/src/tools/index.js +2 -2
  282. package/out/src/tools/index.js.map +1 -1
  283. package/out/src/tools/ingest-csv.d.ts.map +1 -1
  284. package/out/src/tools/ingest-csv.js +0 -11
  285. package/out/src/tools/ingest-csv.js.map +1 -1
  286. package/out/src/tools/overlay-manifest.d.ts +4 -0
  287. package/out/src/tools/overlay-manifest.d.ts.map +1 -1
  288. package/out/src/tools/overlay-manifest.js +16 -6
  289. package/out/src/tools/overlay-manifest.js.map +1 -1
  290. package/out/src/tools/postcode-triples.d.ts +175 -0
  291. package/out/src/tools/postcode-triples.d.ts.map +1 -0
  292. package/out/src/tools/postcode-triples.js +304 -0
  293. package/out/src/tools/postcode-triples.js.map +1 -0
  294. package/out/src/tools/shard-kryptonite.d.ts.map +1 -1
  295. package/out/src/tools/shard-kryptonite.js +1 -2
  296. package/out/src/tools/shard-kryptonite.js.map +1 -1
  297. package/out/src/tools/shard-translit.d.ts.map +1 -1
  298. package/out/src/tools/shard-translit.js +4 -26
  299. package/out/src/tools/shard-translit.js.map +1 -1
  300. package/out/src/tools/sub-venue/harvest.d.ts +100 -0
  301. package/out/src/tools/sub-venue/harvest.d.ts.map +1 -0
  302. package/out/src/tools/sub-venue/harvest.js +168 -0
  303. package/out/src/tools/sub-venue/harvest.js.map +1 -0
  304. package/out/src/tools/sub-venue/head-nouns.d.ts +50 -0
  305. package/out/src/tools/sub-venue/head-nouns.d.ts.map +1 -0
  306. package/out/src/tools/sub-venue/head-nouns.js +210 -0
  307. package/out/src/tools/sub-venue/head-nouns.js.map +1 -0
  308. package/out/src/tools/sub-venue/surfaces.d.ts +45 -0
  309. package/out/src/tools/sub-venue/surfaces.d.ts.map +1 -0
  310. package/out/src/tools/sub-venue/surfaces.js +77 -0
  311. package/out/src/tools/sub-venue/surfaces.js.map +1 -0
  312. package/out/src/tools/sub-venue/table.d.ts +229 -0
  313. package/out/src/tools/sub-venue/table.d.ts.map +1 -0
  314. package/out/src/tools/sub-venue/table.js +108 -0
  315. package/out/src/tools/sub-venue/table.js.map +1 -0
  316. package/out/src/tools/sub-venue/wikidata.d.ts +26 -0
  317. package/out/src/tools/sub-venue/wikidata.d.ts.map +1 -0
  318. package/out/src/tools/sub-venue/wikidata.js +62 -0
  319. package/out/src/tools/sub-venue/wikidata.js.map +1 -0
  320. package/out/src/tools/sub-venue-lexicon.d.ts +27 -378
  321. package/out/src/tools/sub-venue-lexicon.d.ts.map +1 -1
  322. package/out/src/tools/sub-venue-lexicon.js +30 -565
  323. package/out/src/tools/sub-venue-lexicon.js.map +1 -1
  324. package/out/src/utils/align.d.ts +1 -1
  325. package/out/src/utils/align.d.ts.map +1 -1
  326. package/out/src/utils/align.js.map +1 -1
  327. package/out/src/utils/golden.js +1 -1
  328. package/out/src/utils/golden.js.map +1 -1
  329. package/out/src/utils/license.js +1 -1
  330. package/out/src/utils/license.js.map +1 -1
  331. package/out/src/utils/parquet.d.ts +24 -5
  332. package/out/src/utils/parquet.d.ts.map +1 -1
  333. package/out/src/utils/parquet.js +6 -2
  334. package/out/src/utils/parquet.js.map +1 -1
  335. package/out/src/utils/split.d.ts +1 -1
  336. package/out/src/utils/split.d.ts.map +1 -1
  337. package/out/src/utils/split.js +2 -2
  338. package/out/src/utils/split.js.map +1 -1
  339. package/package.json +230 -10
  340. package/src/adapters/ban/adapter.ts +6 -4
  341. package/src/adapters/fcc-bdc/adapter.ts +4 -3
  342. package/src/adapters/geonames/adapter.ts +3 -2
  343. package/src/adapters/geonames-postal/adapter.ts +4 -3
  344. package/src/adapters/gnaf/adapter.ts +3 -2
  345. package/src/adapters/index.ts +2 -2
  346. package/src/adapters/openaddresses/adapter.ts +4 -3
  347. package/src/adapters/overture/adapter.ts +3 -2
  348. package/src/adapters/state-hi-schools/adapter.ts +8 -6
  349. package/src/adapters/state-ia-contractors/adapter.ts +13 -7
  350. package/src/adapters/state-ny-notaries/adapter.ts +13 -31
  351. package/src/adapters/state-tx-notaries/adapter.ts +13 -7
  352. package/src/adapters/synth-po-box/adapter.ts +5 -4
  353. package/src/adapters/tiger/adapter.ts +3 -2
  354. package/src/adapters/usgov-hrsa-fqhc/adapter.ts +8 -6
  355. package/src/adapters/usgov-imls-pls/adapter.ts +12 -7
  356. package/src/adapters/usgov-irs-bmf/adapter.ts +7 -5
  357. package/src/adapters/usgov-nad/adapter.ts +9 -8
  358. package/src/adapters/usgov-nppes/adapter.ts +13 -11
  359. package/src/adapters/usgov-samhsa-treatment-locator/adapter.ts +8 -6
  360. package/src/adapters/utils/index.ts +16 -3
  361. package/src/adapters/wof-admin-jp/adapter.ts +9 -12
  362. package/src/adapters/wof-admin-json/adapter.ts +16 -54
  363. package/src/adapters/wof-json-rows.ts +79 -0
  364. package/src/adapters/wof-postalcode-json/adapter.ts +17 -50
  365. package/src/build.ts +10 -10
  366. package/src/index.ts +1 -1
  367. package/src/parquet-wrapper/reader.ts +9 -0
  368. package/src/runner.ts +2 -7
  369. package/src/shard-recipes/anchor-absorption.ts +5 -5
  370. package/src/shard-recipes/bare-country.ts +95 -0
  371. package/src/shard-recipes/boundary-stress.ts +2 -5
  372. package/src/shard-recipes/country-balanced.ts +8 -6
  373. package/src/shard-recipes/cz-pcfirst-preposition.ts +29 -10
  374. package/src/shard-recipes/fr-admin-split.ts +6 -4
  375. package/src/shard-recipes/fr-bare-street.ts +85 -10
  376. package/src/shard-recipes/fr-lieudit.ts +6 -4
  377. package/src/shard-recipes/fr-order.ts +6 -4
  378. package/src/shard-recipes/german.ts +4 -3
  379. package/src/shard-recipes/house-venue.ts +1 -1
  380. package/src/shard-recipes/index.ts +6 -0
  381. package/src/shard-recipes/intersection.ts +5 -4
  382. package/src/shard-recipes/locale.ts +6 -8
  383. package/src/shard-recipes/no-street.ts +1 -1
  384. package/src/shard-recipes/po-box-cedex.ts +4 -3
  385. package/src/shard-recipes/po-box.ts +1 -5
  386. package/src/shard-recipes/reviewed-postcode-tail.ts +189 -0
  387. package/src/shard-recipes/scaffold.ts +38 -7
  388. package/src/shard-recipes/street-affix.ts +4 -3
  389. package/src/shard-recipes/street-bare.ts +3 -3
  390. package/src/shard-recipes/street.ts +2 -2
  391. package/src/shard-recipes/sub-venue-sources.ts +4 -14
  392. package/src/shard-recipes/sub-venue.ts +10 -8
  393. package/src/shard-recipes/trailing-region.ts +183 -0
  394. package/src/shard-recipes/unit.ts +4 -3
  395. package/src/synthesizers/boundary-stress.ts +1 -1
  396. package/src/synthesizers/german.ts +2 -1
  397. package/src/synthesizers/house-venue.ts +17 -3
  398. package/src/synthesizers/intersection.ts +1 -1
  399. package/src/synthesizers/no-street.ts +1 -1
  400. package/src/synthesizers/po-box.ts +1 -1
  401. package/src/synthesizers/street.ts +5 -3
  402. package/src/synthesizers/utils.ts +5 -3
  403. package/src/tools/align-shard.ts +3 -2
  404. package/src/tools/fetch/ban.ts +2 -22
  405. package/src/tools/fetch/download.ts +22 -4
  406. package/src/tools/fetch/geonames-dump.ts +267 -0
  407. package/src/tools/fetch/geonames-postal.ts +180 -0
  408. package/src/tools/fetch/imls-pls.ts +2 -2
  409. package/src/tools/fetch/index.ts +11 -0
  410. package/src/tools/fetch/nad.ts +21 -10
  411. package/src/tools/fetch/nppes.ts +8 -6
  412. package/src/tools/fetch/openaddresses.ts +18 -22
  413. package/src/tools/fetch/ourairports.ts +7 -2
  414. package/src/tools/fetch/ppd.ts +1 -1
  415. package/src/tools/fetch/state-hi-schools.ts +3 -23
  416. package/src/tools/fetch/state-sources.ts +1 -1
  417. package/src/tools/fetch/tiger-full.ts +17 -24
  418. package/src/tools/golden-expand.ts +44 -33
  419. package/src/tools/golden-relabel-street.ts +2 -2
  420. package/src/tools/index.ts +2 -2
  421. package/src/tools/ingest-csv.ts +0 -13
  422. package/src/tools/overlay-manifest.ts +20 -8
  423. package/src/tools/postcode-triples.ts +375 -0
  424. package/src/tools/shard-kryptonite.ts +5 -4
  425. package/src/tools/shard-translit.ts +10 -35
  426. package/src/tools/sub-venue/harvest.ts +235 -0
  427. package/src/tools/sub-venue/head-nouns.ts +242 -0
  428. package/src/tools/sub-venue/surfaces.ts +95 -0
  429. package/src/tools/sub-venue/table.ts +281 -0
  430. package/src/tools/sub-venue/wikidata.ts +85 -0
  431. package/src/tools/sub-venue-lexicon.ts +67 -886
  432. package/src/utils/align.ts +2 -1
  433. package/src/utils/golden.ts +1 -1
  434. package/src/utils/license.ts +1 -1
  435. package/src/utils/parquet.ts +22 -8
  436. package/src/utils/split.ts +4 -3
@@ -34,9 +34,10 @@
34
34
  */
35
35
 
36
36
  import type { BIOLabel, ComponentTag } from "@mailwoman/core/types"
37
- import type { CanonicalRow, LabeledRow, QuarantinedRow } from "@mailwoman/corpus/types"
38
37
  import { distance as levenshteinDistance } from "fastest-levenshtein"
39
38
 
39
+ import type { CanonicalRow, LabeledRow, QuarantinedRow } from "#types"
40
+
40
41
  import { whitespaceTokenizer, type TokenSpan, type Tokenizer } from "./tokenize.ts"
41
42
 
42
43
  /**
@@ -63,7 +63,7 @@ export interface GoldenReport {
63
63
  export function parseGoldenLine(line: string): GoldenEntry {
64
64
  // The throw IS the result: `validateGoldenFile` catches it and records the message against the line
65
65
  // number, so a tolerant parse would report a corrupt row as valid.
66
- // oxlint-disable-next-line no-restricted-properties
66
+ // oxlint-disable-next-line no-restricted-properties -- throw-on-corrupt is recorded against this JSONL line by the caller
67
67
  const obj = JSON.parse(line) as Partial<GoldenEntry> & Record<string, unknown>
68
68
 
69
69
  if (typeof obj.raw !== "string" || !obj.raw.length) {
@@ -36,7 +36,7 @@ export function compileLicenseExcludes(spec: string): RegExp[] {
36
36
  return spec
37
37
  .split(",")
38
38
  .map((s) => s.trim())
39
- .filter(Boolean)
39
+ .filter((entry) => entry !== "")
40
40
  .map((s) => new RegExp("^" + s.replaceAll(/[.*+?^${}()|[\]\\]/g, "\\$&"), "i"))
41
41
  }
42
42
 
@@ -41,8 +41,9 @@ import { mkdir, stat, writeFile } from "node:fs/promises"
41
41
  import { join } from "node:path"
42
42
 
43
43
  import { sha256File } from "@mailwoman/core/utils"
44
- import { ParquetWriter, type ParquetSchemaDefinition } from "@mailwoman/corpus/parquet-wrapper"
45
- import type { LabeledRow } from "@mailwoman/corpus/types"
44
+
45
+ import { ParquetWriter, type ParquetSchemaDefinition } from "#parquet-wrapper"
46
+ import type { LabeledRow } from "#types"
46
47
 
47
48
  import type { SplitName } from "./split.ts"
48
49
 
@@ -59,6 +60,10 @@ export const SHARD_COMPRESSION = "SNAPPY" as const
59
60
  /**
60
61
  * A single Parquet-style row shape. The `[key: string]: unknown` index signature is required for compatibility with
61
62
  * `ParquetRecordLike` in the wrapper — parquetjs accepts any string key on rows.
63
+ *
64
+ * The three columns the schema marks `optional: true` are optional here too: `appendRow` receives the row with them
65
+ * OMITTED rather than null (see {@link appendShape}), and a reader gets back whichever of null/absent parquetjs
66
+ * surfaces.
62
67
  */
63
68
  export interface ParquetRow {
64
69
  raw: string
@@ -68,13 +73,13 @@ export interface ParquetRow {
68
73
  span_ends: readonly number[]
69
74
  span_tags: readonly string[]
70
75
  country: string
71
- locale: string | null
76
+ locale?: string | null
72
77
  source: string
73
78
  source_id: string
74
79
  corpus_version: string
75
80
  license: string
76
- synth_method: string | null
77
- synth_base_id: string | null
81
+ synth_method?: string | null
82
+ synth_base_id?: string | null
78
83
  [key: string]: unknown
79
84
  }
80
85
 
@@ -139,6 +144,11 @@ export interface ShardDescriptor {
139
144
  sha256: string
140
145
  first_source_id: string
141
146
  last_source_id: string
147
+ /**
148
+ * The shard's corpus source slug, when the writer knows it. `audit.ts` prefers this over inferring the source from
149
+ * `first_source_id`'s prefix; `writeShards` itself writes multi-source shards and leaves it unset.
150
+ */
151
+ source?: string
142
152
  }
143
153
 
144
154
  export interface ShardManifest {
@@ -227,9 +237,13 @@ export function rowToParquet(row: LabeledRow): ParquetRow {
227
237
  * Project a `ParquetRow` for `appendRow`. parquetjs treats `null` as "skip" for `optional` columns; passing it
228
238
  * explicitly is fine, but cleaner to omit so the on-disk Definition Levels match what PyArrow / DuckDB / etc. produce
229
239
  * for the same logical row.
240
+ *
241
+ * EXPORTED because it was not, and a second producer hand-rolled its own copy that predates the v0.5.0 span triple
242
+ * (#519). `LABELED_ROW_SCHEMA` declares those three columns `repeated` and NOT optional, so the copy wrote empty arrays
243
+ * under a schema promising values. Every new column has to arrive here once, not once per writer.
230
244
  */
231
- function appendShape(row: ParquetRow): Record<string, unknown> {
232
- const out: Record<string, unknown> = {
245
+ export function appendShape(row: ParquetRow): ParquetRow {
246
+ const out: ParquetRow = {
233
247
  raw: row.raw,
234
248
  tokens: row.tokens,
235
249
  labels: row.labels,
@@ -335,7 +349,7 @@ export async function writeShards(perSplit: PerSplitRows, opts: WriteShardsOptio
335
349
  }
336
350
 
337
351
  const pq = rowToParquet(row)
338
- await writer!.appendRow(appendShape(pq) as unknown as ParquetRow)
352
+ await writer!.appendRow(appendShape(pq))
339
353
 
340
354
  if (shardRows === 0) {
341
355
  firstSourceID = row.source_id
@@ -31,9 +31,10 @@ import { mkdir, unlink, writeFile } from "node:fs/promises"
31
31
  import { join } from "node:path"
32
32
 
33
33
  import { childEnv } from "@mailwoman/core/scripting/utils"
34
- import type { CanonicalRow, LabeledRow } from "@mailwoman/corpus/types"
35
34
  import { JSONSpliterator } from "spliterator"
36
35
 
36
+ import type { CanonicalRow, LabeledRow } from "#types"
37
+
37
38
  export type SplitName = "train" | "val" | "test"
38
39
 
39
40
  export interface SplitOptions {
@@ -216,7 +217,7 @@ export async function writeSplitManifestsFromLabeledFiles(opts: {
216
217
  for (const split of ["train", "val", "test"] as const) {
217
218
  const labeledPath = opts.labeledPaths[split]
218
219
  const outPath = join(opts.outputDir, `${split}.txt`)
219
- await streamSortedSourceIds(labeledPath, outPath)
220
+ await streamSortedSourceIDs(labeledPath, outPath)
220
221
  }
221
222
 
222
223
  const total = opts.counts.train + opts.counts.val + opts.counts.test
@@ -236,7 +237,7 @@ export async function writeSplitManifestsFromLabeledFiles(opts: {
236
237
  * Extract `source_id`s from a labeled JSONL file, write them sorted to `outPath`. Empty input → empty output file (not
237
238
  * absent). Uses `sort(1)` for disk-spilling external sort so peak memory stays O(1) regardless of labeled-row count.
238
239
  */
239
- async function streamSortedSourceIds(labeledJsonlPath: string, outPath: string): Promise<void> {
240
+ async function streamSortedSourceIDs(labeledJsonlPath: string, outPath: string): Promise<void> {
240
241
  const unsortedPath = `${outPath}.unsorted`
241
242
  const out = createWriteStream(unsortedPath, { encoding: "utf8" })
242
243