@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
@@ -0,0 +1,175 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Intersection synthesizer — v0.7 coverage fix (night-3, DeepSeek-decided).
7
+ *
8
+ * The 2026-05-29 harness diagnostic found the neural model emits `intersection_a`/`intersection_b`
9
+ * with ~0.0001 probability on canonical intersections ("Broadway & W 42nd St") — it never learned
10
+ * the tags, because the corpus has NO intersection training signal (no generator, and real-data
11
+ * adapters don't emit intersection-formatted rows). Intersections are 65 of the 376 harness
12
+ * assertions (17%), all 0% neural. This generator produces the missing signal as a small targeted
13
+ * supplement slice (synthesis-as-supplement discipline: weight < 0.25, one-and-done).
14
+ *
15
+ * Output is a `CanonicalRow` ({raw, components}); the corpus aligner turns it into BIO labels
16
+ * (B-/I-intersection_a, O on the connector, B-/I-intersection_b). Surface forms of both streets
17
+ * MUST occur verbatim in `raw` so alignment lands.
18
+ *
19
+ * US-idiomatic only (the harness intersection cases are US: "X & Y, City, ST ZIP").
20
+ */
21
+ import { pick } from "#synthesizers/utils";
22
+ /**
23
+ * Street name cores (no suffix) — proper-noun streets that often appear bare.
24
+ */
25
+ /**
26
+ * Attempts to draw a second street distinct from the first before giving up on the pair.
27
+ */
28
+ const MAX_DISTINCT_STREET_TRIES = 8;
29
+ /* oxlint-disable sister-software/no-unnamed-threshold -- the bare decimals below are weighted-sampler
30
+ cutoffs, not thresholds: `const r = random()` followed by a cascade of `r < 0.4` branches IS the
31
+ output distribution, and reading the cascade top-to-bottom is how you see it. Naming each cutoff
32
+ would hide the distribution behind a wall of identifiers. Genuine thresholds in these files are
33
+ extracted as named constants above. */
34
+ const STREET_CORES = [
35
+ "Main",
36
+ "Oak",
37
+ "Elm",
38
+ "Maple",
39
+ "Pine",
40
+ "Cedar",
41
+ "Park",
42
+ "Lake",
43
+ "Hill",
44
+ "Washington",
45
+ "Lincoln",
46
+ "Jefferson",
47
+ "Madison",
48
+ "Franklin",
49
+ "Market",
50
+ "Broad",
51
+ "Church",
52
+ "Mill",
53
+ "Highland",
54
+ "Sunset",
55
+ "Union",
56
+ "Spring",
57
+ ];
58
+ /**
59
+ * Bare proper-noun streets that idiomatically take NO suffix.
60
+ */
61
+ const BARE_NAMES = ["Broadway", "Wall", "Bourbon", "Esplanade", "Riverside", "Lakeshore"];
62
+ const ORDINALS = [
63
+ "1st",
64
+ "2nd",
65
+ "3rd",
66
+ "4th",
67
+ "5th",
68
+ "6th",
69
+ "7th",
70
+ "8th",
71
+ "9th",
72
+ "10th",
73
+ "42nd",
74
+ "23rd",
75
+ "34th",
76
+ ];
77
+ const SUFFIXES = ["St", "Ave", "Blvd", "Rd", "Dr", "Ln", "Way", "Pl", "Ct", "Pkwy", "Ter", "Cir"];
78
+ // Vocabulary compile-checked against the codex; the ORDER stays this literal's. `Object.values(DirectionalAbbreviation)`
79
+ // runs N,E,S,W,… — deriving the array from it would re-map every pick() draw and change shipped slice bytes.
80
+ const DIRECTIONALS = ["N", "S", "E", "W", "NE", "NW", "SE", "SW"];
81
+ /**
82
+ * Connectors between the two streets. Whitespace-padded forms keep tokens clean for alignment. `@` added in v0.7.2 —
83
+ * the harness uses it ("Main St @ Second Ave") and v0.7.1 had never seen it.
84
+ */
85
+ const CONNECTORS = [" & ", " and ", " at ", " / ", " @ "];
86
+ /**
87
+ * Build a single street surface form, e.g. "W 42nd St", "Broadway", "Main St", "N Oak Ave".
88
+ */
89
+ function buildStreetName(random) {
90
+ // ~20% bare proper-noun street (no suffix), else directional? + core/ordinal + suffix.
91
+ if (random() < 0.2)
92
+ return pick(BARE_NAMES, random);
93
+ const parts = [];
94
+ if (random() < 0.35) {
95
+ parts.push(pick(DIRECTIONALS, random));
96
+ }
97
+ parts.push(random() < 0.45 ? pick(ORDINALS, random) : pick(STREET_CORES, random));
98
+ parts.push(pick(SUFFIXES, random));
99
+ return parts.join(" ");
100
+ }
101
+ /**
102
+ * Synthesize one US intersection row. Returns null on the rare degenerate case where the two streets collide (so
103
+ * alignment never has two identical surface forms to disambiguate).
104
+ */
105
+ export function synthesizeIntersectionRow(base, opts = {}) {
106
+ const random = opts.random ?? Math.random;
107
+ if (base.country !== "US")
108
+ return null;
109
+ const a = buildStreetName(random);
110
+ let b = buildStreetName(random);
111
+ // Ensure distinct surface forms (and not a substring of each other — alignment needs unambiguous spans).
112
+ let tries = 0;
113
+ while ((b === a || a.includes(b) || b.includes(a)) && tries++ < MAX_DISTINCT_STREET_TRIES) {
114
+ b = buildStreetName(random);
115
+ }
116
+ if (b === a || a.includes(b) || b.includes(a))
117
+ return null;
118
+ const connector = pick(CONNECTORS, random);
119
+ // "corner of" prefix variant (~20%) — still labels the two streets identically.
120
+ const cornerPrefix = random() < 0.2 ? "corner of " : "";
121
+ const components = { intersection_a: a, intersection_b: b };
122
+ // v0.7.2: ~60% BARE (no locality tail). v0.7.1 always appended ", City, ST", so the model learned
123
+ // to read post-intersection text as a locality and fumbled the harness's bare "X & Y" cases
124
+ // (mislabeling the second street as a locality). Match the eval distribution.
125
+ const bare = random() < 0.6;
126
+ let raw;
127
+ if (bare) {
128
+ raw = `${cornerPrefix}${a}${connector}${b}`;
129
+ }
130
+ else {
131
+ const includePostcode = base.postcode != null && random() < 0.7;
132
+ const tail = includePostcode
133
+ ? `, ${base.locality}, ${base.region} ${base.postcode}`
134
+ : `, ${base.locality}, ${base.region}`;
135
+ raw = `${cornerPrefix}${a}${connector}${b}${tail}`;
136
+ components.locality = base.locality;
137
+ components.region = base.region;
138
+ if (includePostcode) {
139
+ components.postcode = base.postcode;
140
+ }
141
+ }
142
+ return { raw, components, locale: "en-US" };
143
+ }
144
+ /**
145
+ * A small built-in US city/region/zip pool for standalone slice generation + tests.
146
+ */
147
+ export const DEFAULT_US_BASES = [
148
+ { locality: "New York", region: "NY", postcode: "10036", country: "US" },
149
+ { locality: "Chicago", region: "IL", postcode: "60613", country: "US" },
150
+ { locality: "Los Angeles", region: "CA", postcode: "90012", country: "US" },
151
+ { locality: "Seattle", region: "WA", postcode: "98109", country: "US" },
152
+ { locality: "Austin", region: "TX", postcode: "78701", country: "US" },
153
+ { locality: "Portland", region: "OR", postcode: "97205", country: "US" },
154
+ { locality: "Denver", region: "CO", postcode: "80202", country: "US" },
155
+ { locality: "Boston", region: "MA", postcode: "02116", country: "US" },
156
+ { locality: "Miami", region: "FL", postcode: "33130", country: "US" },
157
+ { locality: "Atlanta", region: "GA", postcode: "30303", country: "US" },
158
+ ];
159
+ /**
160
+ * Generate `count` intersection rows over the provided bases (round-robin).
161
+ */
162
+ export function generateIntersectionRows(count, bases = DEFAULT_US_BASES, opts = {}) {
163
+ const random = opts.random ?? Math.random;
164
+ const out = [];
165
+ let guard = 0;
166
+ while (out.length < count && guard++ < count * 4) {
167
+ const base = bases[out.length % bases.length];
168
+ const row = synthesizeIntersectionRow(base, { random });
169
+ if (row) {
170
+ out.push(row);
171
+ }
172
+ }
173
+ return out;
174
+ }
175
+ //# sourceMappingURL=intersection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersection.js","sourceRoot":"","sources":["../../lib/synthesizers/intersection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * No-street address synthesizer — the counter-distribution that v0.6.1's synth-street slice is
7
+ * missing. Generates BIO-labelable rows where there is NO street, NO house_number, NO
8
+ * street_prefix, NO street_suffix, NO intersection — only some subset of {venue, locality,
9
+ * region, postcode, country}.
10
+ *
11
+ * Rationale: the [2026-05-28 night-2
12
+ * postmortem](../../docs/articles/evals/night-shifts/2026-05-28-night-2-postmortem.md) and the [layer-1
13
+ * eval](../../docs/articles/evals/experiments/2026-05-28-layer-1-morphology-fst.md) showed that synth-street
14
+ * pushed the model into a high-confidence "decompose mode" that leaked into `dependent_locality`.
15
+ * Per DeepSeek's turn-2 recipe, the model needs explicit counter-examples: addresses where the
16
+ * model should NOT emit street labels. This synthesizer is that source.
17
+ *
18
+ * Six row templates, each producing a {raw, components} pair with no street-side tags:
19
+ *
20
+ * 1. **Plain venue + locality + region + postcode** `"Bob's Pizza, Boston, MA 02101"`
21
+ * 2. **Adversarial venue (containing street-typing words)** `"Wall Street Industries, NY 10005"`,
22
+ * `"5th Avenue Theater, Seattle, WA"`, `"Highway 61 Diner, Memphis TN"`. These are the rows
23
+ * that v0.6.1's decompose-mode would mis-tag as street_prefix/suffix; explicit negative
24
+ * training kills that signal.
25
+ * 3. **Locality + region + postcode (minimal)** — `"Boston, MA 02101"`
26
+ * 4. **Locality + region** — `"Boston, MA"`
27
+ * 5. **Postcode-only** — `"02101"`
28
+ * 6. **Country-only** — `"United States"`, `"France"` (rare in real data, but the model has seen these
29
+ * and should not hallucinate streets on them).
30
+ *
31
+ * Output is a `CanonicalRow` with no street-side components. Alignment will produce BIO labels
32
+ * where every token is one of {`B-venue`, `I-venue`, `B-locality`, `I-locality`, `B-region`,
33
+ * `B-postcode`, `B-country`, `I-country`, `O`} — explicitly never any street tag. That IS the
34
+ * counter-example signal the model is missing.
35
+ *
36
+ * This complements (does not replace) the existing US-base-tuple source used by
37
+ * `po-box.ts`; the same `NoStreetBaseTuple` shape is consumed.
38
+ */
39
+ import type { CanonicalRow } from "#types";
40
+ export interface NoStreetBaseTuple {
41
+ locality: string;
42
+ region: string;
43
+ postcode: string;
44
+ country: string;
45
+ }
46
+ export type NoStreetTemplate = "venue-plain" | "venue-adversarial" | "locality-region-postcode" | "locality-region" | "postcode-only" | "country-only";
47
+ export interface NoStreetSynthesisOpts {
48
+ random?: () => number;
49
+ /**
50
+ * Override the template selection entirely (used by tests for deterministic coverage).
51
+ */
52
+ forceTemplate?: NoStreetTemplate;
53
+ }
54
+ export interface SynthesizedNoStreetRow {
55
+ raw: string;
56
+ components: CanonicalRow["components"];
57
+ locale: string;
58
+ template: NoStreetTemplate;
59
+ }
60
+ /**
61
+ * Generate one no-street counter-example row for a base (locality, region, postcode, country) tuple. Picks a template
62
+ * by weighted random; the venue templates are the critical counter-distribution against synth-street's decompose-mode
63
+ * pressure.
64
+ */
65
+ export declare function synthesizeNoStreetRow(base: NoStreetBaseTuple, opts?: NoStreetSynthesisOpts): SynthesizedNoStreetRow | null;
66
+ /**
67
+ * Convenience: assert at type-level that a synthesized row carries no street-side components. Used by tests +
68
+ * downstream consumers who want to verify the contract at runtime.
69
+ */
70
+ export declare const STREET_SIDE_TAGS: readonly ["street", "street_prefix", "street_prefix_particle", "street_suffix", "house_number", "intersection_a", "intersection_b", "unit"];
71
+ export declare function hasAnyStreetSideTag(components: CanonicalRow["components"]): boolean;
72
+ //# sourceMappingURL=no-street.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-street.d.ts","sourceRoot":"","sources":["../../lib/synthesizers/no-street.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAU1C,MAAM,WAAW,iBAAiB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,gBAAgB,GACzB,aAAa,GACb,mBAAmB,GACnB,0BAA0B,GAC1B,iBAAiB,GACjB,eAAe,GACf,cAAc,CAAA;AAEjB,MAAM,WAAW,qBAAqB;IACrC,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IACrB;;OAEG;IACH,aAAa,CAAC,EAAE,gBAAgB,CAAA;CAChC;AAED,MAAM,WAAW,sBAAsB;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,gBAAgB,CAAA;CAC1B;AAoGD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,IAAI,EAAE,iBAAiB,EACvB,IAAI,GAAE,qBAA0B,GAC9B,sBAAsB,GAAG,IAAI,CA0F/B;AA2BD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,6IASnB,CAAA;AAEV,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,GAAG,OAAO,CAMnF"}
@@ -0,0 +1,262 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * No-street address synthesizer — the counter-distribution that v0.6.1's synth-street slice is
7
+ * missing. Generates BIO-labelable rows where there is NO street, NO house_number, NO
8
+ * street_prefix, NO street_suffix, NO intersection — only some subset of {venue, locality,
9
+ * region, postcode, country}.
10
+ *
11
+ * Rationale: the [2026-05-28 night-2
12
+ * postmortem](../../docs/articles/evals/night-shifts/2026-05-28-night-2-postmortem.md) and the [layer-1
13
+ * eval](../../docs/articles/evals/experiments/2026-05-28-layer-1-morphology-fst.md) showed that synth-street
14
+ * pushed the model into a high-confidence "decompose mode" that leaked into `dependent_locality`.
15
+ * Per DeepSeek's turn-2 recipe, the model needs explicit counter-examples: addresses where the
16
+ * model should NOT emit street labels. This synthesizer is that source.
17
+ *
18
+ * Six row templates, each producing a {raw, components} pair with no street-side tags:
19
+ *
20
+ * 1. **Plain venue + locality + region + postcode** `"Bob's Pizza, Boston, MA 02101"`
21
+ * 2. **Adversarial venue (containing street-typing words)** `"Wall Street Industries, NY 10005"`,
22
+ * `"5th Avenue Theater, Seattle, WA"`, `"Highway 61 Diner, Memphis TN"`. These are the rows
23
+ * that v0.6.1's decompose-mode would mis-tag as street_prefix/suffix; explicit negative
24
+ * training kills that signal.
25
+ * 3. **Locality + region + postcode (minimal)** — `"Boston, MA 02101"`
26
+ * 4. **Locality + region** — `"Boston, MA"`
27
+ * 5. **Postcode-only** — `"02101"`
28
+ * 6. **Country-only** — `"United States"`, `"France"` (rare in real data, but the model has seen these
29
+ * and should not hallucinate streets on them).
30
+ *
31
+ * Output is a `CanonicalRow` with no street-side components. Alignment will produce BIO labels
32
+ * where every token is one of {`B-venue`, `I-venue`, `B-locality`, `I-locality`, `B-region`,
33
+ * `B-postcode`, `B-country`, `I-country`, `O`} — explicitly never any street tag. That IS the
34
+ * counter-example signal the model is missing.
35
+ *
36
+ * This complements (does not replace) the existing US-base-tuple source used by
37
+ * `po-box.ts`; the same `NoStreetBaseTuple` shape is consumed.
38
+ */
39
+ import { countryToLocale, pick } from "#synthesizers/utils";
40
+ //#endregion
41
+ //#region Venue name pools
42
+ /**
43
+ * Plain venue names — businesses without street-typing words in the name. Used as the easy-mode positive class for
44
+ * venue detection.
45
+ */
46
+ const PLAIN_VENUES = [
47
+ "Bob's Pizza",
48
+ "Acme Corporation",
49
+ "Joe's Diner",
50
+ "Sunrise Bakery",
51
+ "Maple Leaf Cafe",
52
+ "Riverside Garden Center",
53
+ "Tech Solutions Inc",
54
+ "Pacific Industries",
55
+ "Atlantic Holdings",
56
+ "Stellar Consulting",
57
+ "Greenfield Partners",
58
+ "Mountain View Studio",
59
+ "The Daily Grind",
60
+ "Sunset Bistro",
61
+ "Harvest Moon Florist",
62
+ "Iron Forge Brewing",
63
+ "Crescent City Bookstore",
64
+ "Lighthouse Insurance Group",
65
+ "Pinecrest Veterinary",
66
+ "Westwood Realty",
67
+ ];
68
+ /**
69
+ * Adversarial venue names — businesses whose names contain street-typing tokens (Avenue, Street, Highway, Lane, Drive,
70
+ * Court, Plaza, Park, ...) but are themselves venues, not streets. The model must learn that these are venues despite
71
+ * the street-typing tokens.
72
+ *
73
+ * **No leading digit+ordinal venues** (e.g. "5th Avenue Theatre", "7th Street Bistro"). The v0.6.2 2026-05-29 step-20K
74
+ * eval showed that synthesized rows starting with `<digits><ordinal>` confused the model about house_number recognition
75
+ * — tokens like "5th" (which should be `B-house_number` in real addresses) were being labeled `B-venue` because
76
+ * adversarial venues placed them in venue position. v0.6.3 omits these patterns; the `synth-house-venue` slice
77
+ * separately teaches that house_number and venue coexist.
78
+ */
79
+ const ADVERSARIAL_VENUES = [
80
+ "Wall Street Industries",
81
+ "Highway 61 Diner",
82
+ "Lane Bryant",
83
+ "Park Avenue Dental",
84
+ "Broadway Theatre Company",
85
+ "Madison Square Garden",
86
+ "Main Street Bakery",
87
+ "Sunset Boulevard Studios",
88
+ "Ocean Drive Cafe",
89
+ "Mountain Road Outfitters",
90
+ "Hollywood Boulevard Salon",
91
+ "East Bay Auto",
92
+ "West End Pharmacy",
93
+ "North Shore Insurance",
94
+ "South Park Children's Center",
95
+ "River Road Animal Hospital",
96
+ "Hill Street Blues Bar",
97
+ "Court House Square Realty",
98
+ "Plaza Hotel",
99
+ "Lincoln Park Zoo",
100
+ "Central Park Conservancy",
101
+ "Lakeshore Boulevard Apartments",
102
+ "Memorial Drive Medical Center",
103
+ "Wabash Avenue Press",
104
+ "State Street Bank",
105
+ "Market Street Grill",
106
+ "Beach Boulevard Diner",
107
+ "Garden Lane Florist",
108
+ ];
109
+ // Compile-time guard: every venue must NOT start with the digit+ordinal pattern that
110
+ // confuses house_number recognition. If a future contributor adds a "5th Avenue Theatre"-
111
+ // style entry, this assertion will fire at module load time.
112
+ for (const v of ADVERSARIAL_VENUES) {
113
+ if (/^\d+(st|nd|rd|th)\b/i.test(v)) {
114
+ throw new Error(`ADVERSARIAL_VENUES entry "${v}" starts with digit+ordinal; this pattern confuses ` +
115
+ `house_number recognition (see v0.6.3 eval doc). Use a non-numeric venue name.`);
116
+ }
117
+ }
118
+ const COUNTRY_NAMES = new Map([
119
+ ["US", ["United States", "USA", "U.S.A.", "United States of America"]],
120
+ ["FR", ["France"]],
121
+ ["DE", ["Germany", "Deutschland"]],
122
+ ["GB", ["United Kingdom", "UK", "Great Britain"]],
123
+ ["CA", ["Canada"]],
124
+ ["AU", ["Australia"]],
125
+ ]);
126
+ //#endregion
127
+ //#region Synthesis
128
+ /**
129
+ * Generate one no-street counter-example row for a base (locality, region, postcode, country) tuple. Picks a template
130
+ * by weighted random; the venue templates are the critical counter-distribution against synth-street's decompose-mode
131
+ * pressure.
132
+ */
133
+ export function synthesizeNoStreetRow(base, opts = {}) {
134
+ const random = opts.random ?? Math.random;
135
+ const locale = countryToLocale(base.country);
136
+ const template = opts.forceTemplate ?? pickTemplate(random);
137
+ switch (template) {
138
+ case "venue-plain": {
139
+ const venue = pick(PLAIN_VENUES, random);
140
+ const raw = `${venue}, ${base.locality}, ${base.region} ${base.postcode}`;
141
+ return {
142
+ raw,
143
+ components: {
144
+ venue,
145
+ locality: base.locality,
146
+ region: base.region,
147
+ postcode: base.postcode,
148
+ },
149
+ locale,
150
+ template,
151
+ };
152
+ }
153
+ case "venue-adversarial": {
154
+ // The venue-adversarial template name is descriptive — when selected, this branch
155
+ // always draws from the adversarial pool. The `adversarialVenueRatio` opt is what
156
+ // the OUTER template picker uses to bias toward this template versus the plain one;
157
+ // once we're inside this branch the choice is already made.
158
+ const venue = pick(ADVERSARIAL_VENUES, random);
159
+ const raw = `${venue}, ${base.locality}, ${base.region} ${base.postcode}`;
160
+ return {
161
+ raw,
162
+ components: {
163
+ venue,
164
+ locality: base.locality,
165
+ region: base.region,
166
+ postcode: base.postcode,
167
+ },
168
+ locale,
169
+ template,
170
+ };
171
+ }
172
+ case "locality-region-postcode": {
173
+ const raw = `${base.locality}, ${base.region} ${base.postcode}`;
174
+ return {
175
+ raw,
176
+ components: {
177
+ locality: base.locality,
178
+ region: base.region,
179
+ postcode: base.postcode,
180
+ },
181
+ locale,
182
+ template,
183
+ };
184
+ }
185
+ case "locality-region": {
186
+ const raw = `${base.locality}, ${base.region}`;
187
+ return {
188
+ raw,
189
+ components: {
190
+ locality: base.locality,
191
+ region: base.region,
192
+ },
193
+ locale,
194
+ template,
195
+ };
196
+ }
197
+ case "postcode-only": {
198
+ return {
199
+ raw: base.postcode,
200
+ components: { postcode: base.postcode },
201
+ locale,
202
+ template,
203
+ };
204
+ }
205
+ case "country-only": {
206
+ const names = COUNTRY_NAMES.get(base.country) ?? [base.country];
207
+ const country = pick(names, random);
208
+ return {
209
+ raw: country,
210
+ components: { country },
211
+ locale,
212
+ template,
213
+ };
214
+ }
215
+ }
216
+ }
217
+ /**
218
+ * Template weights chosen so that the venue-* templates dominate (they're the counter-example shape that matters), with
219
+ * the minimal templates as long-tail noise.
220
+ */
221
+ function pickTemplate(random) {
222
+ const r = random();
223
+ if (r < 0.35)
224
+ return "venue-adversarial";
225
+ // 35% — the critical slice
226
+ if (r < 0.6)
227
+ return "venue-plain";
228
+ // 25%
229
+ if (r < 0.8)
230
+ return "locality-region-postcode";
231
+ // 20%
232
+ if (r < 0.92)
233
+ return "locality-region";
234
+ // 12%
235
+ if (r < 0.98)
236
+ return "postcode-only";
237
+ // 6%
238
+ return "country-only"; // 2%
239
+ }
240
+ /**
241
+ * Convenience: assert at type-level that a synthesized row carries no street-side components. Used by tests +
242
+ * downstream consumers who want to verify the contract at runtime.
243
+ */
244
+ export const STREET_SIDE_TAGS = [
245
+ "street",
246
+ "street_prefix",
247
+ "street_prefix_particle",
248
+ "street_suffix",
249
+ "house_number",
250
+ "intersection_a",
251
+ "intersection_b",
252
+ "unit",
253
+ ];
254
+ export function hasAnyStreetSideTag(components) {
255
+ for (const t of STREET_SIDE_TAGS) {
256
+ if (components[t])
257
+ return true;
258
+ }
259
+ return false;
260
+ }
261
+ //#endregion
262
+ //# sourceMappingURL=no-street.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-street.js","sourceRoot":"","sources":["../../lib/synthesizers/no-street.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * PO box / PMB / Apartado / Boîte Postale synthesizer.
7
+ *
8
+ * Generates BIO-labeled corpus rows where the delivery line is a PO box (mutually exclusive with
9
+ * street + house_number per USPS Pub 28 / DMM 508). Locale-aware: emits idiomatic forms for
10
+ * en-US, en-CA, en-GB, en-AU, fr-FR, fr-CA, es-ES, es-MX, es-AR.
11
+ *
12
+ * Per-DeepSeek design:
13
+ *
14
+ * - PMB ("Private Mailbox" — at CMRAs like UPS Store) shares the `po_box` tag with USPS PO Box.
15
+ * Disambiguation is a downstream heuristic (presence of a street line).
16
+ * - Whole-phrase span ("PO Box 123") not number-only ("123"). Matches existing golden eval.
17
+ * - 10% of outputs receive number-format noise (commas, dashes, embedded spaces) to harden against
18
+ * real-world OCR/transcription input.
19
+ * - PO boxes drop street/house_number/unit/street_prefix/street_suffix from input components.
20
+ *
21
+ * References:
22
+ *
23
+ * - USPS Pub 28 §28C2.040 — Private Mailbox formatting
24
+ * - USPS DMM 508 §4.1.4 / §4.5.4 — PO Box and street-addressed PO Box
25
+ */
26
+ import type { CanonicalRow } from "#types";
27
+ export interface PoBoxBaseTuple {
28
+ locality: string;
29
+ region: string;
30
+ postcode: string;
31
+ country: string;
32
+ }
33
+ export interface LocaleTemplate {
34
+ locale: string;
35
+ leaders: ReadonlyArray<string>;
36
+ pmb?: ReadonlyArray<string>;
37
+ }
38
+ /**
39
+ * The per-locale PO-box designator vocabulary (DeepSeek-signed list, see the header). Exported so slice builders
40
+ * (scripts/build-po-box-cedex-slice.mjs) can reuse THIS list as the single source of truth for non-US leaders instead
41
+ * of re-deriving it — the US slice additionally has `@mailwoman/codex/us` `US_PO_BOX_DESIGNATORS`/`isPOBox` as its
42
+ * matcher-side truth.
43
+ */
44
+ export declare const PO_BOX_LOCALE_TEMPLATES: ReadonlyArray<LocaleTemplate>;
45
+ /**
46
+ * Inject number-format noise into a box number string. Returns the noisy variant or the original (10% probability of
47
+ * noise per the design).
48
+ */
49
+ export declare function maybeNoisifyBoxNumber(num: string, random: () => number): string;
50
+ /**
51
+ * Compose a PO box phrase like "PO Box 123" or "PMB 200".
52
+ *
53
+ * Returns both the phrase and the canonical leader+number so the BIO aligner can mark the entire span as `po_box`.
54
+ */
55
+ export declare function composePoBoxPhrase(leader: string, number: string): string;
56
+ export interface SynthesizedPoBoxRow {
57
+ raw: string;
58
+ components: CanonicalRow["components"];
59
+ locale: string;
60
+ template: "po-box" | "pmb-with-street" | "military-po-box";
61
+ }
62
+ export interface PoBoxSynthesisOpts {
63
+ /**
64
+ * Random function — pass deterministic seed for tests. Default Math.random.
65
+ */
66
+ random?: () => number;
67
+ /**
68
+ * Number generator. Default uniform over 1..99999.
69
+ */
70
+ pickNumber?: (random: () => number) => string;
71
+ /**
72
+ * PMB probability when locale supports it (and a street is provided in the base tuple).
73
+ */
74
+ pmbRatio?: number;
75
+ }
76
+ /**
77
+ * Generate one PO box row for a base (locality, region, postcode, country) tuple. Picks a locale-appropriate leader and
78
+ * number. Optionally generates a PMB variant when the base tuple includes a street.
79
+ */
80
+ export declare function synthesizePoBoxRow(base: PoBoxBaseTuple & {
81
+ street?: string;
82
+ houseNumber?: string;
83
+ }, opts?: PoBoxSynthesisOpts): SynthesizedPoBoxRow | null;
84
+ /**
85
+ * Generate one US military/diplomatic PO-box row (#517). Self-contained — draws no base tuple.
86
+ */
87
+ export declare function synthesizeMilitaryPoBoxRow(opts?: PoBoxSynthesisOpts): SynthesizedPoBoxRow;
88
+ /**
89
+ * Map a country code (ISO-3166-1 alpha-2 or alpha-3, or country display name) to the locale code we have a PO box
90
+ * template for.
91
+ *
92
+ * TEMPLATE-SCOPED on top of the shared `#synthesizers/utils` map: a locale the shared map resolves but
93
+ * {@link PO_BOX_LOCALE_TEMPLATES} does not carry falls back to `en-US`, so `DE` (shared: `de-DE`, no PO-box template)
94
+ * keeps rendering the en-US box vocabulary here.
95
+ */
96
+ export declare function countryToLocale(country: string): string;
97
+ /**
98
+ * All locales we synthesize for. Exposed for tests and for source-weight tuning.
99
+ */
100
+ export declare function supportedLocales(): ReadonlyArray<string>;
101
+ /**
102
+ * Locales whose standard PO-box delivery line carries NO region token — the address reads `<po_box>, <locality>
103
+ * <postcode>` with nothing between locality and postcode (#517). NZ is the canonical case (`Private Bag 12, Auckland
104
+ * 1010`). Consumers (e.g. the synth-po-box adapter) use this to avoid discarding region-less input tuples for these
105
+ * locales as "missing region".
106
+ */
107
+ export declare const REGION_OPTIONAL_LOCALES: ReadonlySet<string>;
108
+ //# sourceMappingURL=po-box.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"po-box.d.ts","sourceRoot":"","sources":["../../lib/synthesizers/po-box.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAkB1C,MAAM,WAAW,cAAc;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAE9B,GAAG,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,cAAc,CA2CjE,CAAA;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,CAe/E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,YAAY,CAAC,YAAY,CAAC,CAAA;IACtC,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,GAAG,iBAAiB,CAAA;CAC1D;AAED,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,MAAM,KAAK,MAAM,CAAA;IAC7C;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CACjB;AAaD;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,cAAc,GAAG;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,IAAI,GAAE,kBAAuB,GAC3B,mBAAmB,GAAG,IAAI,CAyD5B;AA0BD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,GAAE,kBAAuB,GAAG,mBAAmB,CAuB7F;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAAC,MAAM,CAAC,CAExD;AAED;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,EAAE,WAAW,CAAC,MAAM,CAAsB,CAAA"}