@mailwoman/resolver-wof-sqlite 10.0.0 → 10.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (477) hide show
  1. package/README.md +9 -8
  2. package/lib/address/point/interpolation.ts +45 -39
  3. package/lib/address/point/schema.ts +17 -40
  4. package/lib/address/point.ts +316 -0
  5. package/lib/{address/index.ts → address.ts} +1 -1
  6. package/lib/ancestry/backfill.ts +20 -86
  7. package/lib/{ancestry/index.ts → ancestry.ts} +19 -15
  8. package/lib/build/candidate.ts +122 -174
  9. package/lib/build/population-corrections.ts +64 -0
  10. package/lib/build/slim.ts +44 -114
  11. package/lib/candidate/alias-bags.ts +16 -17
  12. package/lib/candidate/ancestors/schema.ts +77 -61
  13. package/lib/candidate/ancestors/sidecar.ts +15 -22
  14. package/lib/candidate/country-display-names.ts +6 -20
  15. package/lib/candidate/extract-fold.ts +10 -55
  16. package/lib/candidate/fts.ts +5 -23
  17. package/lib/candidate/importance.ts +65 -68
  18. package/lib/candidate/lookup.ts +124 -415
  19. package/lib/candidate/name-roles.ts +15 -33
  20. package/lib/candidate/own-name.ts +35 -32
  21. package/lib/candidate/place-attrs.ts +20 -13
  22. package/lib/candidate/schema.ts +29 -65
  23. package/lib/candidate/scoring.ts +54 -93
  24. package/lib/capital-schema.ts +21 -17
  25. package/lib/capitals.ts +29 -27
  26. package/lib/coincident-roles.ts +85 -55
  27. package/lib/convention/schema.ts +15 -16
  28. package/lib/convention.ts +144 -0
  29. package/lib/coverage-manifest-schema.ts +40 -45
  30. package/lib/currency-backfill.ts +34 -79
  31. package/lib/env.ts +1 -1
  32. package/lib/exact-match.ts +32 -21
  33. package/lib/extracts.ts +97 -74
  34. package/lib/fst/autocomplete.ts +54 -37
  35. package/lib/fst/builder.ts +37 -41
  36. package/lib/fst/deserialize-web.ts +16 -17
  37. package/lib/fst/format.ts +41 -23
  38. package/lib/fst/freshness.ts +43 -120
  39. package/lib/fst/matcher.ts +7 -5
  40. package/lib/fst/serialize.ts +54 -74
  41. package/lib/fst/types.ts +78 -75
  42. package/lib/{fst/index.ts → fst.ts} +1 -0
  43. package/lib/fts/query.ts +5 -36
  44. package/lib/fts.ts +280 -0
  45. package/lib/geonames/aliases.ts +73 -144
  46. package/lib/geonames/postal.ts +162 -71
  47. package/lib/index.ts +9 -8
  48. package/lib/interpolation.ts +48 -100
  49. package/lib/lookup.ts +155 -270
  50. package/lib/name-score.ts +9 -7
  51. package/lib/nsul/lookup.ts +37 -54
  52. package/lib/nsul/schema.ts +16 -43
  53. package/lib/paths.ts +159 -0
  54. package/lib/place-importance-schema.ts +62 -169
  55. package/lib/poi/lookup.ts +104 -121
  56. package/lib/poi/schema.ts +42 -26
  57. package/lib/polygon-schema.ts +10 -6
  58. package/lib/postal/city/alias/lookup.ts +22 -40
  59. package/lib/postal/city/alias/schema.ts +14 -10
  60. package/lib/postal/city/candidate-schema.ts +26 -20
  61. package/lib/postcode-point-lookup.ts +8 -27
  62. package/lib/primary-preference.ts +46 -126
  63. package/lib/proximity-rerank.ts +44 -33
  64. package/lib/ranking-weights.ts +105 -78
  65. package/lib/region-keys.ts +70 -42
  66. package/lib/reverse.ts +149 -86
  67. package/lib/schema.ts +73 -50
  68. package/lib/search-fetch.ts +90 -68
  69. package/lib/sqlite/convention-source.ts +15 -23
  70. package/lib/sqlite/utils.ts +19 -22
  71. package/lib/street/centroid/schema.ts +37 -42
  72. package/lib/street/{centroid/index.ts → centroid.ts} +16 -25
  73. package/lib/street/morphology/fst/builder.ts +60 -42
  74. package/lib/street/morphology/fst/loader.ts +40 -32
  75. package/lib/street/name-lookup.ts +45 -41
  76. package/lib/street/normalize.ts +88 -219
  77. package/lib/street/segment-schema.ts +116 -43
  78. package/lib/{street/index.ts → street.ts} +1 -1
  79. package/lib/types.ts +109 -150
  80. package/lib/unified-schema.ts +29 -29
  81. package/lib/uprn/existence.ts +30 -19
  82. package/lib/uprn/lookup.ts +29 -68
  83. package/lib/uprn/schema.ts +18 -40
  84. package/lib/weights-overlay-linker.ts +236 -252
  85. package/out/address/point/interpolation.d.ts +20 -23
  86. package/out/address/point/interpolation.d.ts.map +1 -1
  87. package/out/address/point/interpolation.js +42 -39
  88. package/out/address/point/interpolation.js.map +1 -1
  89. package/out/address/point/schema.d.ts +12 -35
  90. package/out/address/point/schema.d.ts.map +1 -1
  91. package/out/address/point/schema.js +3 -19
  92. package/out/address/point/schema.js.map +1 -1
  93. package/out/address/point.d.ts +57 -0
  94. package/out/address/point.d.ts.map +1 -0
  95. package/out/address/point.js +206 -0
  96. package/out/address/point.js.map +1 -0
  97. package/out/{address/index.js → address.d.ts} +2 -2
  98. package/out/address.d.ts.map +1 -0
  99. package/out/{address/index.d.ts → address.js} +2 -2
  100. package/out/address.js.map +1 -0
  101. package/out/ancestry/backfill.d.ts +11 -64
  102. package/out/ancestry/backfill.d.ts.map +1 -1
  103. package/out/ancestry/backfill.js +14 -74
  104. package/out/ancestry/backfill.js.map +1 -1
  105. package/out/ancestry.d.ts +49 -0
  106. package/out/ancestry.d.ts.map +1 -0
  107. package/out/ancestry.js +59 -0
  108. package/out/ancestry.js.map +1 -0
  109. package/out/build/candidate.d.ts +82 -112
  110. package/out/build/candidate.d.ts.map +1 -1
  111. package/out/build/candidate.js +17 -100
  112. package/out/build/candidate.js.map +1 -1
  113. package/out/build/population-corrections.d.ts +52 -0
  114. package/out/build/population-corrections.d.ts.map +1 -0
  115. package/out/build/population-corrections.js +40 -0
  116. package/out/build/population-corrections.js.map +1 -0
  117. package/out/build/slim.d.ts +8 -44
  118. package/out/build/slim.d.ts.map +1 -1
  119. package/out/build/slim.js +33 -94
  120. package/out/build/slim.js.map +1 -1
  121. package/out/candidate/alias-bags.d.ts +6 -6
  122. package/out/candidate/alias-bags.d.ts.map +1 -1
  123. package/out/candidate/alias-bags.js +16 -17
  124. package/out/candidate/alias-bags.js.map +1 -1
  125. package/out/candidate/ancestors/schema.d.ts +73 -57
  126. package/out/candidate/ancestors/schema.d.ts.map +1 -1
  127. package/out/candidate/ancestors/schema.js +56 -48
  128. package/out/candidate/ancestors/schema.js.map +1 -1
  129. package/out/candidate/ancestors/sidecar.d.ts +3 -8
  130. package/out/candidate/ancestors/sidecar.d.ts.map +1 -1
  131. package/out/candidate/ancestors/sidecar.js +15 -22
  132. package/out/candidate/ancestors/sidecar.js.map +1 -1
  133. package/out/candidate/country-display-names.d.ts +5 -15
  134. package/out/candidate/country-display-names.d.ts.map +1 -1
  135. package/out/candidate/country-display-names.js +6 -20
  136. package/out/candidate/country-display-names.js.map +1 -1
  137. package/out/candidate/extract-fold.d.ts +7 -15
  138. package/out/candidate/extract-fold.d.ts.map +1 -1
  139. package/out/candidate/extract-fold.js +5 -47
  140. package/out/candidate/extract-fold.js.map +1 -1
  141. package/out/candidate/fts.d.ts +5 -23
  142. package/out/candidate/fts.d.ts.map +1 -1
  143. package/out/candidate/fts.js +5 -23
  144. package/out/candidate/fts.js.map +1 -1
  145. package/out/candidate/importance.d.ts +60 -65
  146. package/out/candidate/importance.d.ts.map +1 -1
  147. package/out/candidate/importance.js +56 -63
  148. package/out/candidate/importance.js.map +1 -1
  149. package/out/candidate/lookup.d.ts +18 -55
  150. package/out/candidate/lookup.d.ts.map +1 -1
  151. package/out/candidate/lookup.js +82 -385
  152. package/out/candidate/lookup.js.map +1 -1
  153. package/out/candidate/name-roles.d.ts +9 -21
  154. package/out/candidate/name-roles.d.ts.map +1 -1
  155. package/out/candidate/name-roles.js +15 -33
  156. package/out/candidate/name-roles.js.map +1 -1
  157. package/out/candidate/own-name.d.ts +23 -25
  158. package/out/candidate/own-name.d.ts.map +1 -1
  159. package/out/candidate/own-name.js +35 -32
  160. package/out/candidate/own-name.js.map +1 -1
  161. package/out/candidate/place-attrs.d.ts +20 -13
  162. package/out/candidate/place-attrs.d.ts.map +1 -1
  163. package/out/candidate/place-attrs.js +4 -5
  164. package/out/candidate/place-attrs.js.map +1 -1
  165. package/out/candidate/schema.d.ts +27 -62
  166. package/out/candidate/schema.d.ts.map +1 -1
  167. package/out/candidate/schema.js +10 -22
  168. package/out/candidate/schema.js.map +1 -1
  169. package/out/candidate/scoring.d.ts +7 -8
  170. package/out/candidate/scoring.d.ts.map +1 -1
  171. package/out/candidate/scoring.js +52 -89
  172. package/out/candidate/scoring.js.map +1 -1
  173. package/out/capital-schema.d.ts +21 -17
  174. package/out/capital-schema.d.ts.map +1 -1
  175. package/out/capital-schema.js +17 -15
  176. package/out/capital-schema.js.map +1 -1
  177. package/out/capitals.d.ts +27 -25
  178. package/out/capitals.d.ts.map +1 -1
  179. package/out/capitals.js +23 -21
  180. package/out/capitals.js.map +1 -1
  181. package/out/coincident-roles.d.ts +60 -43
  182. package/out/coincident-roles.d.ts.map +1 -1
  183. package/out/coincident-roles.js +72 -50
  184. package/out/coincident-roles.js.map +1 -1
  185. package/out/convention/schema.d.ts +14 -14
  186. package/out/convention/schema.d.ts.map +1 -1
  187. package/out/convention/schema.js +6 -4
  188. package/out/convention/schema.js.map +1 -1
  189. package/out/convention.d.ts +97 -0
  190. package/out/convention.d.ts.map +1 -0
  191. package/out/convention.js +81 -0
  192. package/out/convention.js.map +1 -0
  193. package/out/coverage-manifest-schema.d.ts +34 -39
  194. package/out/coverage-manifest-schema.d.ts.map +1 -1
  195. package/out/coverage-manifest-schema.js +25 -34
  196. package/out/coverage-manifest-schema.js.map +1 -1
  197. package/out/currency-backfill.d.ts +16 -38
  198. package/out/currency-backfill.d.ts.map +1 -1
  199. package/out/currency-backfill.js +19 -46
  200. package/out/currency-backfill.js.map +1 -1
  201. package/out/env.d.ts +1 -1
  202. package/out/env.js +1 -1
  203. package/out/exact-match.d.ts +19 -10
  204. package/out/exact-match.d.ts.map +1 -1
  205. package/out/exact-match.js +32 -21
  206. package/out/exact-match.js.map +1 -1
  207. package/out/extracts.d.ts +66 -55
  208. package/out/extracts.d.ts.map +1 -1
  209. package/out/extracts.js +63 -55
  210. package/out/extracts.js.map +1 -1
  211. package/out/fst/autocomplete.d.ts +29 -21
  212. package/out/fst/autocomplete.d.ts.map +1 -1
  213. package/out/fst/autocomplete.js +39 -28
  214. package/out/fst/autocomplete.js.map +1 -1
  215. package/out/fst/builder.d.ts.map +1 -1
  216. package/out/fst/builder.js +37 -41
  217. package/out/fst/builder.js.map +1 -1
  218. package/out/fst/deserialize-web.d.ts +4 -4
  219. package/out/fst/deserialize-web.d.ts.map +1 -1
  220. package/out/fst/deserialize-web.js +15 -16
  221. package/out/fst/deserialize-web.js.map +1 -1
  222. package/out/fst/format.d.ts +41 -23
  223. package/out/fst/format.d.ts.map +1 -1
  224. package/out/fst/format.js +41 -23
  225. package/out/fst/format.js.map +1 -1
  226. package/out/fst/freshness.d.ts +19 -81
  227. package/out/fst/freshness.d.ts.map +1 -1
  228. package/out/fst/freshness.js +31 -94
  229. package/out/fst/freshness.js.map +1 -1
  230. package/out/fst/matcher.d.ts +5 -4
  231. package/out/fst/matcher.d.ts.map +1 -1
  232. package/out/fst/matcher.js +2 -2
  233. package/out/fst/matcher.js.map +1 -1
  234. package/out/fst/serialize.d.ts +28 -28
  235. package/out/fst/serialize.d.ts.map +1 -1
  236. package/out/fst/serialize.js +53 -71
  237. package/out/fst/serialize.js.map +1 -1
  238. package/out/fst/types.d.ts +78 -74
  239. package/out/fst/types.d.ts.map +1 -1
  240. package/out/fst/types.js +1 -4
  241. package/out/fst/types.js.map +1 -1
  242. package/out/{fst/index.js → fst.d.ts} +2 -1
  243. package/out/fst.d.ts.map +1 -0
  244. package/out/{fst/index.d.ts → fst.js} +2 -1
  245. package/out/fst.js.map +1 -0
  246. package/out/fts/query.d.ts +2 -27
  247. package/out/fts/query.d.ts.map +1 -1
  248. package/out/fts/query.js +5 -36
  249. package/out/fts/query.js.map +1 -1
  250. package/out/fts.d.ts +126 -0
  251. package/out/fts.d.ts.map +1 -0
  252. package/out/fts.js +188 -0
  253. package/out/fts.js.map +1 -0
  254. package/out/geonames/aliases.d.ts +26 -62
  255. package/out/geonames/aliases.d.ts.map +1 -1
  256. package/out/geonames/aliases.js +45 -117
  257. package/out/geonames/aliases.js.map +1 -1
  258. package/out/geonames/postal.d.ts +84 -44
  259. package/out/geonames/postal.d.ts.map +1 -1
  260. package/out/geonames/postal.js +115 -73
  261. package/out/geonames/postal.js.map +1 -1
  262. package/out/{geonames/index.js → geonames.d.ts} +1 -1
  263. package/out/geonames.d.ts.map +1 -0
  264. package/out/{geonames/index.d.ts → geonames.js} +1 -1
  265. package/out/geonames.js.map +1 -0
  266. package/out/index.d.ts +9 -8
  267. package/out/index.d.ts.map +1 -1
  268. package/out/index.js +6 -5
  269. package/out/index.js.map +1 -1
  270. package/out/interpolation.d.ts +18 -55
  271. package/out/interpolation.d.ts.map +1 -1
  272. package/out/interpolation.js +27 -69
  273. package/out/interpolation.js.map +1 -1
  274. package/out/lookup.d.ts +23 -51
  275. package/out/lookup.d.ts.map +1 -1
  276. package/out/lookup.js +136 -234
  277. package/out/lookup.js.map +1 -1
  278. package/out/name-score.d.ts +2 -2
  279. package/out/name-score.d.ts.map +1 -1
  280. package/out/name-score.js +9 -7
  281. package/out/name-score.js.map +1 -1
  282. package/out/nsul/lookup.d.ts +33 -34
  283. package/out/nsul/lookup.d.ts.map +1 -1
  284. package/out/nsul/lookup.js +26 -40
  285. package/out/nsul/lookup.js.map +1 -1
  286. package/out/nsul/schema.d.ts +16 -43
  287. package/out/nsul/schema.d.ts.map +1 -1
  288. package/out/nsul/schema.js +9 -35
  289. package/out/nsul/schema.js.map +1 -1
  290. package/out/{nsul/index.d.ts → nsul.d.ts} +1 -1
  291. package/out/nsul.d.ts.map +1 -0
  292. package/out/{nsul/index.js → nsul.js} +1 -1
  293. package/out/nsul.js.map +1 -0
  294. package/out/paths.d.ts +124 -0
  295. package/out/paths.d.ts.map +1 -0
  296. package/out/paths.js +104 -0
  297. package/out/paths.js.map +1 -0
  298. package/out/place-importance-schema.d.ts +51 -143
  299. package/out/place-importance-schema.d.ts.map +1 -1
  300. package/out/place-importance-schema.js +28 -143
  301. package/out/place-importance-schema.js.map +1 -1
  302. package/out/poi/lookup.d.ts +40 -47
  303. package/out/poi/lookup.d.ts.map +1 -1
  304. package/out/poi/lookup.js +69 -96
  305. package/out/poi/lookup.js.map +1 -1
  306. package/out/poi/schema.d.ts +41 -25
  307. package/out/poi/schema.d.ts.map +1 -1
  308. package/out/poi/schema.js +25 -17
  309. package/out/poi/schema.js.map +1 -1
  310. package/out/{poi/index.js → poi.d.ts} +1 -1
  311. package/out/poi.d.ts.map +1 -0
  312. package/out/{poi/index.d.ts → poi.js} +1 -1
  313. package/out/poi.js.map +1 -0
  314. package/out/polygon-schema.d.ts +10 -6
  315. package/out/polygon-schema.d.ts.map +1 -1
  316. package/out/polygon-schema.js +2 -2
  317. package/out/polygon-schema.js.map +1 -1
  318. package/out/postal/city/alias/lookup.d.ts +20 -23
  319. package/out/postal/city/alias/lookup.d.ts.map +1 -1
  320. package/out/postal/city/alias/lookup.js +17 -30
  321. package/out/postal/city/alias/lookup.js.map +1 -1
  322. package/out/postal/city/alias/schema.d.ts +14 -10
  323. package/out/postal/city/alias/schema.d.ts.map +1 -1
  324. package/out/postal/city/alias/schema.js +10 -8
  325. package/out/postal/city/alias/schema.js.map +1 -1
  326. package/out/postal/city/candidate-schema.d.ts +25 -19
  327. package/out/postal/city/candidate-schema.d.ts.map +1 -1
  328. package/out/postal/city/candidate-schema.js +21 -17
  329. package/out/postal/city/candidate-schema.js.map +1 -1
  330. package/out/{postal/index.d.ts → postal.d.ts} +1 -1
  331. package/out/postal.d.ts.map +1 -0
  332. package/out/{postal/index.js → postal.js} +1 -1
  333. package/out/postal.js.map +1 -0
  334. package/out/postcode-point-lookup.d.ts +6 -24
  335. package/out/postcode-point-lookup.d.ts.map +1 -1
  336. package/out/postcode-point-lookup.js +5 -17
  337. package/out/postcode-point-lookup.js.map +1 -1
  338. package/out/primary-preference.d.ts +38 -92
  339. package/out/primary-preference.d.ts.map +1 -1
  340. package/out/primary-preference.js +15 -99
  341. package/out/primary-preference.js.map +1 -1
  342. package/out/proximity-rerank.d.ts +41 -30
  343. package/out/proximity-rerank.d.ts.map +1 -1
  344. package/out/proximity-rerank.js +38 -29
  345. package/out/proximity-rerank.js.map +1 -1
  346. package/out/ranking-weights.d.ts +98 -64
  347. package/out/ranking-weights.d.ts.map +1 -1
  348. package/out/ranking-weights.js +26 -25
  349. package/out/ranking-weights.js.map +1 -1
  350. package/out/region-keys.d.ts +50 -31
  351. package/out/region-keys.d.ts.map +1 -1
  352. package/out/region-keys.js +68 -40
  353. package/out/region-keys.js.map +1 -1
  354. package/out/reverse.d.ts +78 -50
  355. package/out/reverse.d.ts.map +1 -1
  356. package/out/reverse.js +98 -61
  357. package/out/reverse.js.map +1 -1
  358. package/out/schema.d.ts +72 -49
  359. package/out/schema.d.ts.map +1 -1
  360. package/out/schema.js +4 -5
  361. package/out/schema.js.map +1 -1
  362. package/out/search-fetch.d.ts +16 -12
  363. package/out/search-fetch.d.ts.map +1 -1
  364. package/out/search-fetch.js +83 -63
  365. package/out/search-fetch.js.map +1 -1
  366. package/out/sqlite/convention-source.d.ts +12 -16
  367. package/out/sqlite/convention-source.d.ts.map +1 -1
  368. package/out/sqlite/convention-source.js +13 -22
  369. package/out/sqlite/convention-source.js.map +1 -1
  370. package/out/sqlite/utils.d.ts +19 -19
  371. package/out/sqlite/utils.d.ts.map +1 -1
  372. package/out/sqlite/utils.js +14 -15
  373. package/out/sqlite/utils.js.map +1 -1
  374. package/out/street/centroid/schema.d.ts +37 -42
  375. package/out/street/centroid/schema.d.ts.map +1 -1
  376. package/out/street/centroid/schema.js +9 -21
  377. package/out/street/centroid/schema.js.map +1 -1
  378. package/out/street/centroid.d.ts +30 -0
  379. package/out/street/centroid.d.ts.map +1 -0
  380. package/out/street/{centroid/index.js → centroid.js} +13 -24
  381. package/out/street/centroid.js.map +1 -0
  382. package/out/street/morphology/fst/builder.d.ts +20 -10
  383. package/out/street/morphology/fst/builder.d.ts.map +1 -1
  384. package/out/street/morphology/fst/builder.js +44 -34
  385. package/out/street/morphology/fst/builder.js.map +1 -1
  386. package/out/street/morphology/fst/loader.d.ts +33 -26
  387. package/out/street/morphology/fst/loader.d.ts.map +1 -1
  388. package/out/street/morphology/fst/loader.js +23 -22
  389. package/out/street/morphology/fst/loader.js.map +1 -1
  390. package/out/street/name-lookup.d.ts +24 -18
  391. package/out/street/name-lookup.d.ts.map +1 -1
  392. package/out/street/name-lookup.js +34 -35
  393. package/out/street/name-lookup.js.map +1 -1
  394. package/out/street/normalize.d.ts +35 -136
  395. package/out/street/normalize.d.ts.map +1 -1
  396. package/out/street/normalize.js +77 -194
  397. package/out/street/normalize.js.map +1 -1
  398. package/out/street/segment-schema.d.ts +79 -39
  399. package/out/street/segment-schema.d.ts.map +1 -1
  400. package/out/street/segment-schema.js +71 -21
  401. package/out/street/segment-schema.js.map +1 -1
  402. package/out/{street/index.js → street.d.ts} +2 -2
  403. package/out/street.d.ts.map +1 -0
  404. package/out/{street/index.d.ts → street.js} +2 -2
  405. package/out/street.js.map +1 -0
  406. package/out/types.d.ts +84 -149
  407. package/out/types.d.ts.map +1 -1
  408. package/out/types.js +0 -6
  409. package/out/types.js.map +1 -1
  410. package/out/unified-schema.d.ts +8 -12
  411. package/out/unified-schema.d.ts.map +1 -1
  412. package/out/unified-schema.js +29 -29
  413. package/out/unified-schema.js.map +1 -1
  414. package/out/uprn/existence.d.ts +28 -17
  415. package/out/uprn/existence.d.ts.map +1 -1
  416. package/out/uprn/existence.js +26 -16
  417. package/out/uprn/existence.js.map +1 -1
  418. package/out/uprn/lookup.d.ts +14 -44
  419. package/out/uprn/lookup.d.ts.map +1 -1
  420. package/out/uprn/lookup.js +21 -57
  421. package/out/uprn/lookup.js.map +1 -1
  422. package/out/uprn/schema.d.ts +18 -40
  423. package/out/uprn/schema.d.ts.map +1 -1
  424. package/out/uprn/schema.js +10 -32
  425. package/out/uprn/schema.js.map +1 -1
  426. package/out/{uprn/index.d.ts → uprn.d.ts} +1 -1
  427. package/out/uprn.d.ts.map +1 -0
  428. package/out/{uprn/index.js → uprn.js} +1 -1
  429. package/out/uprn.js.map +1 -0
  430. package/out/weights-overlay-linker.d.ts +138 -144
  431. package/out/weights-overlay-linker.d.ts.map +1 -1
  432. package/out/weights-overlay-linker.js +105 -159
  433. package/out/weights-overlay-linker.js.map +1 -1
  434. package/package.json +91 -596
  435. package/lib/address/point/index.ts +0 -328
  436. package/lib/convention/index.ts +0 -154
  437. package/lib/fts/index.ts +0 -361
  438. package/out/address/index.d.ts.map +0 -1
  439. package/out/address/index.js.map +0 -1
  440. package/out/address/point/index.d.ts +0 -53
  441. package/out/address/point/index.d.ts.map +0 -1
  442. package/out/address/point/index.js +0 -222
  443. package/out/address/point/index.js.map +0 -1
  444. package/out/ancestry/index.d.ts +0 -45
  445. package/out/ancestry/index.d.ts.map +0 -1
  446. package/out/ancestry/index.js +0 -55
  447. package/out/ancestry/index.js.map +0 -1
  448. package/out/convention/index.d.ts +0 -106
  449. package/out/convention/index.d.ts.map +0 -1
  450. package/out/convention/index.js +0 -93
  451. package/out/convention/index.js.map +0 -1
  452. package/out/fst/index.d.ts.map +0 -1
  453. package/out/fst/index.js.map +0 -1
  454. package/out/fts/index.d.ts +0 -184
  455. package/out/fts/index.d.ts.map +0 -1
  456. package/out/fts/index.js +0 -277
  457. package/out/fts/index.js.map +0 -1
  458. package/out/geonames/index.d.ts.map +0 -1
  459. package/out/geonames/index.js.map +0 -1
  460. package/out/nsul/index.d.ts.map +0 -1
  461. package/out/nsul/index.js.map +0 -1
  462. package/out/poi/index.d.ts.map +0 -1
  463. package/out/poi/index.js.map +0 -1
  464. package/out/postal/index.d.ts.map +0 -1
  465. package/out/postal/index.js.map +0 -1
  466. package/out/street/centroid/index.d.ts +0 -40
  467. package/out/street/centroid/index.d.ts.map +0 -1
  468. package/out/street/centroid/index.js.map +0 -1
  469. package/out/street/index.d.ts.map +0 -1
  470. package/out/street/index.js.map +0 -1
  471. package/out/uprn/index.d.ts.map +0 -1
  472. package/out/uprn/index.js.map +0 -1
  473. /package/lib/{geonames/index.ts → geonames.ts} +0 -0
  474. /package/lib/{nsul/index.ts → nsul.ts} +0 -0
  475. /package/lib/{poi/index.ts → poi.ts} +0 -0
  476. /package/lib/{postal/index.ts → postal.ts} +0 -0
  477. /package/lib/{uprn/index.ts → uprn.ts} +0 -0
@@ -3,52 +3,30 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Typed schema for `uprn.db` — the OS Open UPRN spatial layer: every GB Unique Property Reference
7
- * Number with its WGS84 point, so mailwoman results can carry UPRN as an interoperability key
8
- * beside our own `@mailwoman/address-id`. One rowid table keyed `uprn INTEGER PRIMARY KEY` (the
9
- * rowid alias — the optimal shape for an integer-PK point table; `WITHOUT ROWID` buys nothing
10
- * here), plus a secondary res-9 `h3_cell` index for the bounded nearest-point probe.
11
- *
12
- * ## Coordinates are OS's own WGS84 columns
13
- *
14
- * The source CSV publishes BOTH coordinate systems per row — OSGB36 eastings/northings AND WGS84
15
- * `LATITUDE`/`LONGITUDE`. This layer stores OS's own lat/lon verbatim and never reconverts from
16
- * eastings: `@mailwoman/spatial`'s `osgb36ToWGS84` is a 7-parameter Helmert with a measured p95 of
17
- * 4.18 m, and re-deriving what the publisher already computed (with OSTN15, exactly) would replace
18
- * their answer with a strictly worse one.
19
- *
20
- * ## Why `h3_cell` exists at all
21
- *
22
- * The layer contract requires every domain row to be addressable by at least one spine key —
23
- * `writeLayerManifest` throws on a manifest that declares none — and UPRN is its own id space, not
24
- * H3/WOF/address-id/street. The res-9 short cell (`shortCellToInt`, the same packing as poi.db and
25
- * the OSM situs extracts) is the spine that fits a point table, and its index doubles as the
26
- * `nearestUPRN` ring probe.
27
- *
28
- * The DB also embeds the layer-contract tables from `@mailwoman/core/layers`; the builder
29
- * (`packages/mailwoman/lib/gazetteer-pipeline/uprn-layer.ts`) writes the manifest and per-res-6-cell
30
- * coverage.
6
+ * Typed schema for `uprn.db`, storing OS's own WGS84 latitude/longitude verbatim rather than reconverting from the source's eastings.
31
7
  */
32
8
  import { shortCellToInt } from "@mailwoman/spatial";
33
9
  import { latLngToCell } from "h3-js";
34
10
  /**
35
- * Resolution the `uprn` table's `h3_cell` column is keyed at — the shared layer-spine resolution (poi.db, the OSM situs
36
- * extracts).
11
+ * Resolution the `uprn` table's `h3_cell` column is keyed at, shared with the other layer spines.
37
12
  */
38
13
  export const UPRN_H3_RESOLUTION = 9;
39
14
  /**
40
- * Resolution of the layer's `layer_coverage` cells — coarse, per the contract (matches poi.db).
15
+ * Resolution of the layer's `layer_coverage` cells, coarse per the layer interface
16
+ * and shared with the other spines.
41
17
  */
42
18
  export const UPRN_COVERAGE_H3_RESOLUTION = 6;
43
19
  /**
44
- * The full res-9 cell for a UPRN point — the ONE derivation both the builder and every consumer share, so a fixture
45
- * built by a test and a row built by the real ingest can never disagree on which cell a coordinate keys to.
20
+ * The full res-9 cell for a UPRN point.
21
+ *
22
+ * This is the one derivation the builder and its consumers share so their cells cannot disagree.
46
23
  */
47
24
  export function uprnFullCell(latitude, longitude) {
48
25
  return latLngToCell(latitude, longitude, UPRN_H3_RESOLUTION);
49
26
  }
50
27
  /**
51
- * The `h3_cell` column value for a UPRN point: {@link uprnFullCell} packed to the shared 48-bit short-cell integer.
28
+ * The `h3_cell` column value for a uprn point, packing {@link uprnFullCell} to
29
+ * the shared 48-bit short-cell integer.
52
30
  */
53
31
  export function uprnH3Cell(latitude, longitude) {
54
32
  return shortCellToInt(uprnFullCell(latitude, longitude));
@@ -70,7 +48,7 @@ export async function createUPRNMetaTable(db) {
70
48
  .execute();
71
49
  }
72
50
  /**
73
- * Secondary index for the `nearestUPRN` ring probe. Builders call this AFTER the bulk load (index-after-load).
51
+ * Secondary index for the `nearestUPRN` ring probe, created after the bulk load.
74
52
  */
75
53
  export async function createUPRNIndexes(db) {
76
54
  await db.schema.createIndex("uprn_h3_cell").on("uprn").column("h3_cell").execute();
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../lib/uprn/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,EAAE,cAAc,EAAe,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAGpC;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAuC5C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,SAAiB;IAC/D,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,CAAW,CAAA;AACvE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,SAAiB;IAC7D,OAAO,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAwB;IAC7D,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,MAAM,CAAC;SACnB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SACnD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnD,OAAO,EAAE,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAwB;IACjE,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,WAAW,CAAC;SACxB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C,OAAO,EAAE,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAwB;IAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;AACnF,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../lib/uprn/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAe,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAGpC;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAA;AAEnC;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAA;AAuC5C;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,SAAiB;IAC/D,OAAO,YAAY,CAAC,QAAQ,EAAE,SAAS,EAAE,kBAAkB,CAAW,CAAA;AACvE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,SAAiB;IAC7D,OAAO,cAAc,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,EAAwB;IAC7D,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,MAAM,CAAC;SACnB,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SACnD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnD,OAAO,EAAE,CAAA;AACZ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAwB;IACjE,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,WAAW,CAAC;SACxB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SAC/C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C,OAAO,EAAE,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,EAAwB;IAC/D,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;AACnF,CAAC"}
@@ -6,4 +6,4 @@
6
6
  export * from "#uprn/existence";
7
7
  export * from "#uprn/lookup";
8
8
  export * from "#uprn/schema";
9
- //# sourceMappingURL=index.d.ts.map
9
+ //# sourceMappingURL=uprn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uprn.d.ts","sourceRoot":"","sources":["../lib/uprn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
@@ -6,4 +6,4 @@
6
6
  export * from "#uprn/existence";
7
7
  export * from "#uprn/lookup";
8
8
  export * from "#uprn/schema";
9
- //# sourceMappingURL=index.js.map
9
+ //# sourceMappingURL=uprn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uprn.js","sourceRoot":"","sources":["../lib/uprn.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
@@ -2,93 +2,103 @@
2
2
  * @copyright Sister Software
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
- * Shared development tooling for weights overlays: the symlink primitives every overlay linker uses, the
6
- * placetype-pair index build, and the manifest form ({@link materializeDevOverlay}) each locale's
7
- * `scripts/link-dev-weights.ts` declares itself in.
8
5
  */
6
+ import type { PathBuilder, PathBuilderLike } from "path-ts";
9
7
  /**
10
- * Replicate `ln -sf SRC DEST` ATOMICALLY: symlink under a temp name, then rename over the destination. A plain
11
- * unlink-then-symlink leaves a no-file window that concurrent vitest workers can hit mid-suite — bit CI on 2026-07-24.
12
- * rename(2) replaces the destination atomically.
8
+ * Replaces `dest` with a symlink to `src` by renaming a temporary link over it.
9
+ *
10
+ * The rename is atomic, so concurrent test workers never see `dest` missing.
13
11
  */
14
- export declare function linkForce(src: string, dest: string): Promise<void>;
12
+ export declare function linkForce(src: PathBuilderLike, dest: PathBuilderLike): Promise<void>;
15
13
  /**
16
- * Remove a leftover local file/symlink so the #1179 base-weights fallback engages.
14
+ * Removes a file or symlink at `dest` so that the runtime falls back to the base en-us weights.
17
15
  */
18
- export declare function removeIfPresent(dest: string): Promise<void>;
16
+ export declare function removeIfPresent(dest: PathBuilder): Promise<void>;
19
17
  /**
20
- * Symlink one soft-feed sibling into an overlay, warning rather than failing when the source is absent.
18
+ * Symlinks one optional soft-feed artifact into an overlay and returns whether the source existed.
21
19
  *
22
- * Every one of these artifacts is OPTIONAL by design — the runtime has a fallback for each, so a fresh worktree that
23
- * has not built the gazetteer still geocodes. That is why the miss prints the consequence instead of throwing: the
24
- * operator needs to know which channel just resolved OFF, not to have the link step abort.
20
+ * A missing source prints `consequenceIfMissing` and does not throw, because the
21
+ * runtime has a fallback for every soft-feed artifact.
25
22
  */
26
- export declare function linkSoftFeedSibling(source: string, destination: string, consequenceIfMissing: string): Promise<boolean>;
23
+ export declare function linkSoftFeedSibling(source: PathBuilderLike, destination: PathBuilder, consequenceIfMissing: string): Promise<boolean>;
27
24
  /**
28
- * The calibrated pair-index emission bias every shipped artifact is built at today — the R5/R6/R9/R10/R11 bars were all
29
- * measured at δ=10 (each linker's own docstring carries its locale's receipt).
25
+ * The pair-index emission bias (δ) used by every shipped pair-index artifact.
30
26
  */
31
27
  export declare const PAIR_INDEX_DELTA = 10;
32
28
  /**
33
- * The decoder transition-entry bonus (TRANSITION-BETA build, 2026-07-24 — operator-approved β=5 from the
34
- * transition-level probe). en-nz deliberately builds WITHOUT one (unmeasured there): the two magnitudes are calibrated
35
- * independently, and a locale earning one says nothing about the other.
29
+ * The decoder transition-entry bonus (β).
30
+ * Only locales that were calibrated with it pass it.
36
31
  */
37
32
  export declare const PAIR_INDEX_TRANSITION_BETA = 5;
38
33
  /**
39
- * The WHOLE-EDGE parent-bias magnitude (#46, default-on 2026-08-04) at the verdict's recommended δ=5 — see
40
- * `docs/records/evals/2026-08-04-pix1-whole-edge-verdict.md`. Only the measured locales (us/gb/nz/fr) pass it; the
41
- * D-rule's answer to an unmeasured locale is a per-locale absence, not an inherited magnitude.
34
+ * The whole-edge parent-bias magnitude.
35
+ * Only locales that were calibrated with it pass it.
36
+ *
37
+ * Other locales omit the flag and do not inherit this value.
42
38
  */
43
39
  export declare const PAIR_INDEX_PARENT_DELTA = 5;
44
40
  /**
45
- * What one pair-index build has to say about itself. Everything else is shared.
41
+ * Describes one locale's pair-index build.
42
+ *
43
+ * When `sources`, `inputs` and `extraArgs` are omitted, the build reads the shared WOF admin database.
46
44
  */
47
45
  export interface PairIndexOverlay {
48
46
  /**
49
- * Workspace directory name, e.g. `neural-weights-de-de`.
47
+ * The weights workspace directory name, such as `neural-weights-de-de`.
48
+ * The overlay locale is derived from it.
50
49
  */
51
50
  packageDir: string;
52
51
  /**
53
- * ISO country code passed to `gazetteer pair-index --country`, and the suffix of the built artifact (`de` →
54
- * `pair-index-de.bin`). NOT the locale tag: `en-in` builds `pair-index-in.bin`.
52
+ * The ISO country code passed to `--country` and used in `pair-index-<country>.bin`.
53
+ *
54
+ * It can differ from the locale tag.
55
+ * For example, `en-in` builds `pair-index-in.bin`.
55
56
  */
56
57
  country: string;
57
58
  /**
58
- * Calibrated magnitudes the locale's bars were measured at. Baked into the artifact's PIX1 header, which is how the
59
- * freshness check notices a change to any of them. An ABSENT `transitionBeta`/`parentDelta` means the flag is not
60
- * passed and the header carries no such key — a real state, distinct from zero (see `PairIndexHeader.parentDelta`).
61
- * The whole calibration feeds both the build FLAGS and the staleness EXPECTATION, so the two cannot disagree.
59
+ * The child bias magnitude.
60
+ *
61
+ * The build writes `delta`, `transitionBeta` and `parentDelta` into the PIX1 header.
62
+ * The freshness check compares them.
63
+ *
64
+ * An absent `transitionBeta` or `parentDelta` leaves its key out of the header.
65
+ * The freshness check treats an absent key as distinct from zero.
62
66
  */
63
67
  delta: number;
64
68
  transitionBeta?: number;
65
69
  parentDelta?: number;
66
70
  /**
67
- * Source FILES whose md5s the build records, in the order `gazetteer pair-index` records them. The freshness guard
68
- * compares EVERY one against the existing header (#1734): a partial comparison leaves the guard blind to the rest,
69
- * and a stale artifact then keeps reporting itself fresh while the data it was built from has moved. Empty means the
70
- * build's source cannot be file-hashed (fr's BAN directory) and freshness rests on the magnitudes alone. Default: the
71
- * WOF admin DB.
71
+ * The source files whose MD5s the build records, in the order that `gazetteer pair-index` records them.
72
+ *
73
+ * The freshness check compares each MD5 with the header.
74
+ * An empty list makes the check compare the magnitudes only.
75
+ *
76
+ * @defaultValue the WOF admin database.
72
77
  */
73
- sources?: string[];
78
+ sources?: PathBuilder[];
74
79
  /**
75
- * Inputs that must exist before a build is attempted — a missing one warns and returns, because a fresh clone has no
76
- * data root and `yarn test` invokes the linkers to verify auto-resolve. Default: `sources`.
80
+ * Files that must exist before a build runs.
81
+ *
82
+ * A missing file prints a warning and skips the build.
83
+ *
84
+ * @defaultValue `sources`
77
85
  */
78
- inputs?: string[];
86
+ inputs?: PathBuilder[];
79
87
  /**
80
- * Extra CLI args naming the build's sources (`--source`, `--borough-db`, `--pairs-jsonl`, `--ban-dir`). Default:
81
- * `--borough-db <admin db>`.
88
+ * Extra CLI arguments that pass the build's sources.
89
+ *
90
+ * @defaultValue `--borough-db <admin db>`
82
91
  */
83
- extraArgs?: string[];
92
+ extraArgs?: PathBuilderLike[];
84
93
  /**
85
- * Refuse to trust an existing artifact smaller than this. fr-fr's guard: a pair index built from the WRONG source can
86
- * carry matching magnitudes, and size is the one signal the header cannot fake.
94
+ * The byte size below which an existing artifact is rebuilt.
95
+ *
96
+ * A build from the wrong source can have matching header magnitudes but a smaller size.
87
97
  */
88
98
  minimumPlausibleBytes?: number;
89
99
  }
90
100
  /**
91
- * The header fields a dev-weights freshness guard reads.
101
+ * The pair-index header fields that the dev-weights freshness check reads.
92
102
  */
93
103
  export interface PairIndexHeaderFields {
94
104
  delta: number;
@@ -96,33 +106,28 @@ export interface PairIndexHeaderFields {
96
106
  parentDelta: number | undefined;
97
107
  schemaVersion: number;
98
108
  /**
99
- * One md5 per source the build read, in fold order. Empty on a header that recorded none.
109
+ * One MD5 per source the build read, in recorded order.
110
+ * The list is empty when the header has none.
100
111
  */
101
112
  sourceMD5s: string[];
102
113
  }
103
114
  /**
104
- * Minimal PIX1 header reader — magic + header only, reimplemented so a data-only weights package gains no dependency on
105
- * `@mailwoman/neural` (which pulls onnxruntime-node) to read a few fields. `neural/pair-index-resolver.ts`'s own header
106
- * parse is the source of truth this must follow.
115
+ * Reads the calibration fields from a PIX1 pair-index header without depending on `@mailwoman/neural`.
107
116
  *
108
- * Shared by the overlay build below AND by the four hand-written base linkers
109
- * (`neural-weights-{en-us,en-gb,en-nz,fr-fr}/scripts/link-dev-weights.ts`), which each carried their own near-copy
110
- * before 2026-08-04 — the ×5 clone the taste audit named, and the reason three of them were schema-blind while this one
111
- * was not.
117
+ * The parse must match the reader in `neural/lib/pair/index/resolver.ts`.
112
118
  */
113
- export declare function peekPairIndexHeaderFields(path: string): Promise<PairIndexHeaderFields>;
119
+ export declare function peekPairIndexHeaderFields(path: PathBuilderLike): Promise<PairIndexHeaderFields>;
114
120
  /**
115
- * Md5 of `path`, cached in a standard `md5sum`-format sidecar (`<hash> <filename>`) beside it so a multi-gigabyte
116
- * source is hashed once per change rather than once per linker run. The sidecar is trusted only when at least as new as
117
- * the source; a missing or stale sidecar recomputes and rewrites, so the cache self-heals.
121
+ * Returns the MD5 of `path`, cached in a `<path>.md5` sidecar in `md5sum` format.
118
122
  *
119
- * The shared home for the copies the base linkers (`en-us`, `en-gb`, `en-nz`) each carry — new callers import this one.
123
+ * The sidecar is used only when it is at least as new as the source.
120
124
  */
121
- export declare function md5FileWithSidecar(path: string): Promise<string>;
125
+ export declare function md5FileWithSidecar(path: PathBuilderLike): Promise<string>;
122
126
  /**
123
- * The calibrated magnitudes a linker bakes into its artifact. `undefined` means the flag is NOT passed and the header
124
- * carries no such key — a real state, distinct from zero (see `PairIndexHeader.parentDelta`), so the comparison below
125
- * is `!==` against `undefined` rather than a truthiness test.
127
+ * The calibrated magnitudes that a linker writes into its pair-index artifact.
128
+ *
129
+ * An `undefined` magnitude means the header has no such key.
130
+ * It is distinct from zero.
126
131
  */
127
132
  export interface PairIndexCalibration {
128
133
  delta: number;
@@ -130,69 +135,46 @@ export interface PairIndexCalibration {
130
135
  parentDelta?: number;
131
136
  }
132
137
  /**
133
- * Why an existing `pair-index-*.bin` is stale against `expected`, or `undefined` when its header matches. Covers the
134
- * FORMAT (schemaVersion) and every calibrated magnitude; source-md5 freshness stays with the caller, because each base
135
- * linker passes a different set of sources and only it knows what they are.
138
+ * Returns why a pair-index header's schema or magnitudes differ from `expected`,
139
+ * or `undefined` when they match.
136
140
  *
137
- * One place so a magnitude added to the header cannot be checked by some linkers and not others — which is exactly how
138
- * three of the four base linkers ended up unable to notice a schema bump.
141
+ * The caller checks the source MD5s because only the caller knows its sources.
139
142
  */
140
- export declare function pairIndexStaleReason(header: PairIndexHeaderFields, expected: PairIndexCalibration): string | undefined;
143
+ export declare function pairIndexStaleReason(header: PairIndexHeaderFields, expected: PairIndexCalibration): string | null;
141
144
  /**
142
- * The PIX1 schema this tree's reader requires. MUST equal `KNOWN_SCHEMA_VERSION` in `neural/pair-index-resolver.ts` —
143
- * they are two ends of one fact, and this copy exists only because a data-only overlay must not gain a dependency on
144
- * `@mailwoman/neural` (onnxruntime-node) to read one header field. Bump BOTH in the same commit; a schema bump that
145
- * leaves this behind makes every dev checkout rebuild-loop or serve an artifact the runtime refuses.
145
+ * The PIX1 schema version the pair-index reader requires.
146
146
  *
147
- * The freshness guard must compare it: a guard that checks only delta + source md5 reads a format-obsolete binary as
148
- * "current" and leaves every dev checkout with artifacts the runtime refuses — the R5 freshness-guard lesson, format
149
- * edition. Also compared by the four hand-written base linkers (`neural-weights-{en-us,en-gb,en-nz,fr-fr}`), which
150
- * import this constant rather than re-typing the number.
147
+ * It must equal `KNOWN_SCHEMA_VERSION` in `neural/lib/pair/index/resolver.ts`.
148
+ * A mismatch makes dev checkouts rebuild on every run or link an artifact that the runtime refuses.
151
149
  */
152
150
  export declare const REQUIRED_PAIR_INDEX_SCHEMA = 3;
153
151
  /**
154
- * Warn when the per-locale FST a linker just symlinked was built from a DIFFERENT admin database than the one on disk
155
- * now.
152
+ * Warns when a linked per-locale FST was built from a different admin database than the one on disk.
156
153
  *
157
- * WHY IT WARNS RATHER THAN REBUILDS, unlike its pair-index sibling above. A pair index is seconds of work and the
158
- * linker owns its whole recipe. A locale FST is a multi-minute build whose output goes to a STAGING dir on purpose —
159
- * the swap into `fst-per-locale/` is operator-approved after the battery, because an FST changes decoder behaviour and
160
- * the D-rule does not let that land unmeasured. So the guard's job is to make the drift impossible to miss, and to name
161
- * the command that starts fixing it. It is also why a stale FST is never fatal: the artifact is a decode-time bias
162
- * list, and a dev tree must still run.
163
- *
164
- * The source-side half of the comparison lives here rather than in `fst-freshness.ts` for the same reason
165
- * `pairIndexStaleReason` splits: only the caller knows which database it built against. All three FST-linking base
166
- * packages build against the same one, so they share this rather than each pinning it.
154
+ * It does not rebuild, because an FST rebuild writes to a staging directory
155
+ * and an operator swaps it in after evaluation.
167
156
  */
168
- export declare function warnIfFSTStale(fstPath: string, locale: string): Promise<void>;
157
+ export declare function warnIfFSTStale(fstPath: PathBuilder, locale: string): Promise<void>;
169
158
  /**
170
- * Symlink the per-locale FST gazetteer (`fst-<locale>.bin`) from the shared build area
171
- * (`$MAILWOMAN_DATA_ROOT/wof/fst-per-locale/`) into an overlay so `resolveWeights` surfaces `fstPath` in dev and the
172
- * runtime pipeline can auto-wire the gazetteer + street-context check, then run {@link warnIfFSTStale} on the linked
173
- * artifact. The publish flow stages the real binary (release-sequenced).
159
+ * Symlinks the per-locale FST gazetteer `fst-<locale>.bin` into an overlay
160
+ * and checks it with {@link warnIfFSTStale}.
174
161
  */
175
- export declare function linkLocaleFST(destDir: string, locale: string): Promise<void>;
162
+ export declare function linkLocaleFST(destDir: PathBuilder, locale: string): Promise<void>;
176
163
  /**
177
- * Symlink the sealed locale-general street-morphology FST (`$MAILWOMAN_DATA_ROOT/wof/fst-street-morphology.bin`,
178
- * `mailwoman gazetteer build street-morphology`) into an overlay so `resolveWeights` surfaces `streetMorphologyPath` in
179
- * dev and the street-context check (#1315) deserializes the artifact instead of rebuilding from the libpostal
180
- * dictionaries per process. Missing is non-fatal — the runtime loader's dictionary-build fallback covers it.
164
+ * Symlinks the prebuilt street-morphology FST into an overlay so that the
165
+ * street-context check does not rebuild it from dictionaries.
181
166
  */
182
- export declare function linkStreetMorphologyFST(destDir: string): Promise<void>;
167
+ export declare function linkStreetMorphologyFST(destDir: PathBuilder): Promise<void>;
183
168
  /**
184
- * Build `pair-index-<country>.bin` into the overlay, skipping the work when the artifact on disk was already built at
185
- * these magnitudes FROM the sources on disk (see {@link pairIndexIsFresh}). The calibration object drives both the
186
- * staleness expectation and the CLI flags, so a magnitude cannot be checked by the guard and dropped from the build.
169
+ * Builds `pair-index-<country>.bin` into the overlay unless the existing artifact
170
+ * already matches these magnitudes and sources.
187
171
  *
188
- * Exits non-zero on a failed build. Missing INPUTS (an unbuilt CLI, an absent source) warn and return instead: a fresh
189
- * clone has neither, and `yarn test` invokes this to verify auto-resolve, so a hard failure there would be a failure to
190
- * have run a build yet rather than a real fault.
172
+ * A failed build exits the process.
173
+ * A missing CLI or input only prints a warning, because a fresh clone has neither.
191
174
  */
192
175
  export declare function buildPairIndexOverlay(overlay: PairIndexOverlay): Promise<void>;
193
176
  /**
194
- * A soft-feed sibling an overlay links: where it comes from, the name it takes in the overlay, and the consequence line
195
- * printed when the source is missing (the link is warn-and-continue; the channel resolves OFF).
177
+ * A soft-feed artifact that an overlay links, with the warning to print when its source is missing.
196
178
  */
197
179
  export interface SoftFeedLink {
198
180
  source: string;
@@ -200,18 +182,17 @@ export interface SoftFeedLink {
200
182
  consequenceIfMissing: string;
201
183
  }
202
184
  /**
203
- * The committed soft-feed lexicons as links, by channel, read from `release.config.json` so the filename a manifest
204
- * links is the one the release ships. `streetType` is offered for completeness; the manifests link the evidence
205
- * lexicons by the generation their CARD names instead (`evidenceLexiconsFromCard`).
185
+ * Returns the committed soft-feed lexicons as links.
186
+ *
187
+ * The filenames come from `release.config.json` so that dev links match the release.
206
188
  */
207
189
  export declare function committedSoftFeedLinks(): Promise<{
208
190
  anchor: SoftFeedLink;
209
191
  country: SoftFeedLink;
210
- streetType?: SoftFeedLink;
192
+ streetType: SoftFeedLink | null;
211
193
  }>;
212
194
  /**
213
- * The slice of a weights package's committed `model-card.json` the dev materialization reads: the shipped digests the
214
- * release re-verifies against the published tarball, and the channel requirements that name evidence lexicons.
195
+ * The fields of a weights package's `model-card.json` that dev materialization reads.
215
196
  */
216
197
  export interface WeightsCard {
217
198
  files_md5?: Record<string, string>;
@@ -221,26 +202,34 @@ export interface WeightsCard {
221
202
  } | undefined>;
222
203
  }
223
204
  /**
224
- * What one locale's `scripts/link-dev-weights.ts` declares, so an overlay is a manifest plus a call rather than a
225
- * script cloned from a sibling. Every step is optional and runs only when named, in a fixed order: model pair,
226
- * soft-feed siblings, card-named evidence lexicons, postcode binary, pair index, FSTs.
205
+ * Declares what one locale's dev overlay contains. {@link materializeDevOverlay}
206
+ * runs the steps in the order the fields are listed.
227
207
  */
228
208
  export interface DevOverlayManifest {
229
209
  /**
230
- * The overlay's locale tag, lower-case. The workspace is `neural-weights-<locale>` and the artifacts land in
231
- * `$MAILWOMAN_DATA_ROOT/weights/<locale>/`, never in the tracked package: the binaries are not in git, so
232
- * materializing them there made a fresh worktree unable to geocode, made `yarn test` mutate a tracked directory, and
233
- * put a symlink into a publish tarball (`YN0035`).
210
+ * The overlay's lowercase locale tag.
211
+ * The workspace is `neural-weights-<locale>`.
212
+ *
213
+ * Artifacts go to the data root's `weights/<locale>/` overlay because the binaries are kept out of git.
234
214
  */
235
215
  locale: string;
236
216
  /**
237
- * What happens to `model.onnx` + `tokenizer.model`. `link`: the pair is symlinked from the paths
238
- * `release.config.json`'s `weights` block names under the data root (`$MAILWOMAN_DEV_MODEL` /
239
- * `$MAILWOMAN_DEV_TOKENIZER` override them), and when `digestCard` names a workspace the linked default bytes must
240
- * match that workspace's card `files_md5` — the #397 drift guard, which fails loud instead of grading the wrong
241
- * model; an override skips the check and says so. `inherit`: the package declares `mailwoman.baseWeights`, so any
242
- * local pair is REMOVED — a stale local file shadows the base fallback and silently serves outdated bytes. Omitted:
243
- * the pair is left to `packages/release-kit/lib/weights/link-weights-overlay.ts`, the recipe writer.
217
+ * How the overlay gets its model files.
218
+ *
219
+ * When it is omitted, `link-weights-overlay.ts` in release-kit handles them.
220
+ *
221
+ * The `link` kind symlinks `model.onnx` and `tokenizer.model` from the
222
+ * `release.config.json` weights paths under the data root.
223
+ * The `$MAILWOMAN_DEV_MODEL` and `$MAILWOMAN_DEV_TOKENIZER` variables override those paths.
224
+ *
225
+ * With `digestCard`, the linked default files must match the `files_md5` of that workspace's card.
226
+ * An override skips this check.
227
+ *
228
+ * The `inherit` kind removes any local pair, because the package declares
229
+ * `mailwoman.baseWeights` and a local file would shadow the base.
230
+ *
231
+ * The `char` kind links the `charWeights.<family>` model, character vocabulary and model card.
232
+ * It removes any tokenizer.
244
233
  */
245
234
  model?: {
246
235
  kind: "link";
@@ -252,48 +241,53 @@ export interface DevOverlayManifest {
252
241
  family: string;
253
242
  };
254
243
  /**
255
- * Soft-feed siblings linked warn-and-continue, in order.
244
+ * Soft-feed siblings to link in order.
245
+ * A missing source prints a warning and the step continues.
256
246
  */
257
247
  softFeed?: ReadonlyArray<SoftFeedLink>;
258
248
  /**
259
- * Link the evidence lexicons the overlay's own card names under `requires.<channel>.lexicon`, so the generation comes
260
- * from the card the loader reads and a card bump moves the artifact with it. `street-type-lexicon-v*.json` is
261
- * committed under `data/gazetteer/`; `locality-surface-lexicon-v*.json` is 7–13 MB and lives in the data root.
249
+ * Whether to link the evidence lexicons listed under `requires.<channel>.lexicon`
250
+ * in the overlay's model card.
251
+ * A card update then changes the linked file too.
252
+ *
253
+ * The street-type lexicon comes from the repo's `data/gazetteer/`.
254
+ * The locality-surface lexicon comes from the data root.
262
255
  */
263
256
  evidenceLexiconsFromCard?: boolean;
264
257
  /**
265
- * Build `postcode-<country>.bin` from a WOF postcode extract through the compiled `gazetteer postcode-binary` CLI,
266
- * skipped when already present (it rebuilds in seconds, and the extract is versionless on disk).
258
+ * Builds `postcode-<country>.bin` from a WOF postcode extract with the compiled CLI.
259
+ * The step is skipped when the file already exists.
267
260
  */
268
261
  postcodeBinary?: {
269
262
  country: string;
270
- database: string;
263
+ database: PathBuilder;
271
264
  };
272
265
  /**
273
- * The placetype-pair index build, minus `packageDir`, which follows from `locale`.
266
+ * The placetype-pair index build.
267
+ * Its `packageDir` is derived from `locale`.
274
268
  */
275
269
  pairIndex?: Omit<PairIndexOverlay, "packageDir">;
276
270
  /**
277
- * Link `fst-<locale>.bin` with its freshness warning.
271
+ * Whether to link `fst-<locale>.bin` and warn when it is stale.
278
272
  */
279
273
  localeFST?: boolean;
280
274
  /**
281
- * Link the shared street-morphology FST.
275
+ * Whether to link the shared street-morphology FST.
282
276
  */
283
277
  streetMorphologyFST?: boolean;
284
278
  }
285
279
  /**
286
- * What a materialized overlay hands back for the locale-specific step a manifest cannot express (en-gb's
287
- * card-conditional postcode binary is the one that exists).
280
+ * The overlay directory, CLI path and model card that {@link materializeDevOverlay} returns.
281
+ *
282
+ * Callers use them for locale-specific steps that a manifest cannot express.
288
283
  */
289
284
  export interface DevOverlay {
290
- destDir: string;
291
- cli: string;
292
- card: WeightsCard | undefined;
285
+ destDir: PathBuilder;
286
+ cli: PathBuilder;
287
+ card: WeightsCard | null;
293
288
  }
294
289
  /**
295
- * Materialize one locale's dev overlay from its manifest. The steps run in the order {@link DevOverlayManifest}
296
- * documents, each independent on disk, and the result carries what a locale-specific step needs afterwards.
290
+ * Materializes one locale's dev weights overlay from its manifest.
297
291
  */
298
292
  export declare function materializeDevOverlay(manifest: DevOverlayManifest): Promise<DevOverlay>;
299
293
  //# sourceMappingURL=weights-overlay-linker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"weights-overlay-linker.d.ts","sourceRoot":"","sources":["../lib/weights-overlay-linker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"weights-overlay-linker.d.ts","sourceRoot":"","sources":["../lib/weights-overlay-linker.ts"],"names":[],"mappings":"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"}