@mailwoman/resolver-wof-sqlite 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 (488) hide show
  1. package/README.md +16 -19
  2. package/lib/address/index.ts +9 -0
  3. package/{address-point-interpolation.ts → lib/address/point-interpolation.ts} +24 -22
  4. package/{address-point-schema.ts → lib/address/point-schema.ts} +18 -4
  5. package/{address-point.ts → lib/address/point.ts} +89 -27
  6. package/{ancestry-backfill.ts → lib/ancestry/backfill.ts} +14 -19
  7. package/{ancestry.ts → lib/ancestry/index.ts} +5 -3
  8. package/{build-candidate.ts → lib/build-candidate.ts} +84 -77
  9. package/{build-slim.ts → lib/build-slim.ts} +150 -165
  10. package/{candidate → lib/candidate}/alias-bags.ts +8 -6
  11. package/{candidate → lib/candidate}/ancestors-sidecar.ts +13 -15
  12. package/{candidate → lib/candidate}/country-display-names.ts +2 -2
  13. package/{candidate/shard-fold.ts → lib/candidate/extract-fold.ts} +26 -25
  14. package/{candidate → lib/candidate}/name-roles.ts +17 -16
  15. package/{candidate → lib/candidate}/own-name.ts +1 -1
  16. package/{candidate → lib/candidate}/place-attrs.ts +3 -3
  17. package/{candidate-ancestors-schema.ts → lib/candidate-ancestors-schema.ts} +4 -4
  18. package/{candidate-fts.ts → lib/candidate-fts.ts} +3 -3
  19. package/{candidate-importance.ts → lib/candidate-importance.ts} +53 -57
  20. package/{candidate-lookup.ts → lib/candidate-lookup.ts} +76 -73
  21. package/{candidate-schema.ts → lib/candidate-schema.ts} +5 -5
  22. package/{candidate-scoring.ts → lib/candidate-scoring.ts} +15 -22
  23. package/{capital-schema.ts → lib/capital-schema.ts} +5 -6
  24. package/{capitals.ts → lib/capitals.ts} +2 -2
  25. package/{coincident-roles.ts → lib/coincident-roles.ts} +8 -11
  26. package/{convention.ts → lib/convention/index.ts} +3 -3
  27. package/{convention-schema.ts → lib/convention/schema.ts} +2 -2
  28. package/{coverage-manifest-schema.ts → lib/coverage-manifest-schema.ts} +9 -10
  29. package/{currency-backfill.ts → lib/currency-backfill.ts} +126 -41
  30. package/lib/env.ts +50 -0
  31. package/{exact-match.ts → lib/exact-match.ts} +23 -14
  32. package/{sharding.ts → lib/extracts.ts} +61 -58
  33. package/{fst-autocomplete.ts → lib/fst/autocomplete.ts} +4 -4
  34. package/{fst-builder.ts → lib/fst/builder.ts} +17 -16
  35. package/{fst-deserialize-web.ts → lib/fst/deserialize-web.ts} +27 -87
  36. package/lib/fst/format.ts +106 -0
  37. package/{fst-freshness.ts → lib/fst/freshness.ts} +41 -74
  38. package/lib/fst/index.ts +14 -0
  39. package/{fst-matcher.ts → lib/fst/matcher.ts} +1 -1
  40. package/{fst-serialize.ts → lib/fst/serialize.ts} +37 -115
  41. package/{fst-types.ts → lib/fst/types.ts} +4 -2
  42. package/{fts.ts → lib/fts/index.ts} +24 -19
  43. package/{fts-query.ts → lib/fts/query.ts} +1 -1
  44. package/{geonames-aliases.ts → lib/geonames/aliases.ts} +13 -13
  45. package/lib/geonames/index.ts +8 -0
  46. package/{geonames-postal.ts → lib/geonames/postal.ts} +14 -13
  47. package/{index.ts → lib/index.ts} +37 -37
  48. package/{interpolation.ts → lib/interpolation.ts} +27 -25
  49. package/{lookup.ts → lib/lookup.ts} +129 -141
  50. package/lib/nsul/index.ts +8 -0
  51. package/lib/nsul/lookup.ts +144 -0
  52. package/lib/nsul/schema.ts +130 -0
  53. package/{place-importance-schema.ts → lib/place-importance-schema.ts} +7 -8
  54. package/lib/poi/index.ts +8 -0
  55. package/{poi-lookup.ts → lib/poi/lookup.ts} +22 -28
  56. package/{poi-schema.ts → lib/poi/schema.ts} +3 -4
  57. package/{postal-city-alias-lookup.ts → lib/postal/city-alias-lookup.ts} +14 -20
  58. package/{postal-city-candidate-schema.ts → lib/postal/city-candidate-schema.ts} +2 -2
  59. package/lib/postal/index.ts +9 -0
  60. package/{postcode-point-lookup.ts → lib/postcode-point-lookup.ts} +17 -15
  61. package/{primary-preference.ts → lib/primary-preference.ts} +29 -10
  62. package/{proximity-rerank.ts → lib/proximity-rerank.ts} +2 -2
  63. package/{ranking-weights.ts → lib/ranking-weights.ts} +30 -4
  64. package/{region-keys.ts → lib/region-keys.ts} +9 -9
  65. package/{reverse.ts → lib/reverse.ts} +34 -46
  66. package/{schema.ts → lib/schema.ts} +10 -0
  67. package/{search-fetch.ts → lib/search-fetch.ts} +29 -28
  68. package/{sqlite-convention-source.ts → lib/sqlite-convention-source.ts} +9 -10
  69. package/{sqlite-utils.ts → lib/sqlite-utils.ts} +14 -18
  70. package/{street-centroid-schema.ts → lib/street/centroid-schema.ts} +5 -5
  71. package/{street-centroid.ts → lib/street/centroid.ts} +14 -21
  72. package/lib/street/index.ts +13 -0
  73. package/{street-morphology-fst-builder.ts → lib/street/morphology-fst-builder.ts} +24 -14
  74. package/{street-morphology-fst-loader.ts → lib/street/morphology-fst-loader.ts} +14 -12
  75. package/{street-name-lookup.ts → lib/street/name-lookup.ts} +14 -30
  76. package/{street-normalize.ts → lib/street/normalize.ts} +44 -19
  77. package/{street-segment-schema.ts → lib/street/segment-schema.ts} +7 -7
  78. package/{types.ts → lib/types.ts} +18 -12
  79. package/{unified-schema.ts → lib/unified-schema.ts} +20 -24
  80. package/lib/uprn/existence.ts +84 -0
  81. package/lib/uprn/index.ts +9 -0
  82. package/{uprn-lookup.ts → lib/uprn/lookup.ts} +14 -18
  83. package/{uprn-schema.ts → lib/uprn/schema.ts} +3 -3
  84. package/lib/weights-overlay-linker.ts +878 -0
  85. package/out/address/index.d.ts +9 -0
  86. package/out/address/index.d.ts.map +1 -0
  87. package/out/address/index.js +9 -0
  88. package/out/address/index.js.map +1 -0
  89. package/out/{address-point-interpolation.d.ts → address/point-interpolation.d.ts} +11 -10
  90. package/out/address/point-interpolation.d.ts.map +1 -0
  91. package/out/{address-point-interpolation.js → address/point-interpolation.js} +18 -18
  92. package/out/address/point-interpolation.js.map +1 -0
  93. package/out/{address-point-schema.d.ts → address/point-schema.d.ts} +16 -6
  94. package/out/address/point-schema.d.ts.map +1 -0
  95. package/out/{address-point-schema.js → address/point-schema.js} +7 -3
  96. package/out/address/point-schema.js.map +1 -0
  97. package/out/{address-point.d.ts → address/point.d.ts} +16 -8
  98. package/out/address/point.d.ts.map +1 -0
  99. package/out/{address-point.js → address/point.js} +71 -20
  100. package/out/address/point.js.map +1 -0
  101. package/out/{ancestry-backfill.d.ts → ancestry/backfill.d.ts} +7 -5
  102. package/out/ancestry/backfill.d.ts.map +1 -0
  103. package/out/{ancestry-backfill.js → ancestry/backfill.js} +12 -16
  104. package/out/ancestry/backfill.js.map +1 -0
  105. package/out/{ancestry.d.ts → ancestry/index.d.ts} +4 -3
  106. package/out/ancestry/index.d.ts.map +1 -0
  107. package/out/{ancestry.js → ancestry/index.js} +3 -2
  108. package/out/ancestry/index.js.map +1 -0
  109. package/out/build-candidate.d.ts +30 -24
  110. package/out/build-candidate.d.ts.map +1 -1
  111. package/out/build-candidate.js +50 -52
  112. package/out/build-candidate.js.map +1 -1
  113. package/out/build-slim.d.ts +4 -4
  114. package/out/build-slim.d.ts.map +1 -1
  115. package/out/build-slim.js +124 -139
  116. package/out/build-slim.js.map +1 -1
  117. package/out/candidate/alias-bags.d.ts +5 -3
  118. package/out/candidate/alias-bags.d.ts.map +1 -1
  119. package/out/candidate/alias-bags.js +2 -2
  120. package/out/candidate/alias-bags.js.map +1 -1
  121. package/out/candidate/ancestors-sidecar.d.ts +9 -10
  122. package/out/candidate/ancestors-sidecar.d.ts.map +1 -1
  123. package/out/candidate/ancestors-sidecar.js +7 -7
  124. package/out/candidate/ancestors-sidecar.js.map +1 -1
  125. package/out/candidate/country-display-names.d.ts +1 -1
  126. package/out/candidate/country-display-names.d.ts.map +1 -1
  127. package/out/candidate/country-display-names.js +1 -1
  128. package/out/candidate/country-display-names.js.map +1 -1
  129. package/out/candidate/extract-fold.d.ts +32 -0
  130. package/out/candidate/extract-fold.d.ts.map +1 -0
  131. package/out/candidate/{shard-fold.js → extract-fold.js} +20 -20
  132. package/out/candidate/extract-fold.js.map +1 -0
  133. package/out/candidate/name-roles.d.ts +13 -11
  134. package/out/candidate/name-roles.d.ts.map +1 -1
  135. package/out/candidate/name-roles.js +11 -10
  136. package/out/candidate/name-roles.js.map +1 -1
  137. package/out/candidate/own-name.d.ts +1 -1
  138. package/out/candidate/own-name.d.ts.map +1 -1
  139. package/out/candidate/own-name.js +1 -1
  140. package/out/candidate/own-name.js.map +1 -1
  141. package/out/candidate/place-attrs.d.ts +3 -3
  142. package/out/candidate/place-attrs.d.ts.map +1 -1
  143. package/out/candidate/place-attrs.js +1 -1
  144. package/out/candidate/place-attrs.js.map +1 -1
  145. package/out/candidate-ancestors-schema.d.ts +4 -4
  146. package/out/candidate-ancestors-schema.d.ts.map +1 -1
  147. package/out/candidate-ancestors-schema.js +2 -2
  148. package/out/candidate-ancestors-schema.js.map +1 -1
  149. package/out/candidate-fts.d.ts +3 -3
  150. package/out/candidate-fts.d.ts.map +1 -1
  151. package/out/candidate-fts.js +1 -1
  152. package/out/candidate-fts.js.map +1 -1
  153. package/out/candidate-importance.d.ts +16 -16
  154. package/out/candidate-importance.d.ts.map +1 -1
  155. package/out/candidate-importance.js +46 -51
  156. package/out/candidate-importance.js.map +1 -1
  157. package/out/candidate-lookup.d.ts +11 -9
  158. package/out/candidate-lookup.d.ts.map +1 -1
  159. package/out/candidate-lookup.js +61 -58
  160. package/out/candidate-lookup.js.map +1 -1
  161. package/out/candidate-schema.d.ts +5 -5
  162. package/out/candidate-schema.d.ts.map +1 -1
  163. package/out/candidate-schema.js.map +1 -1
  164. package/out/candidate-scoring.d.ts +7 -7
  165. package/out/candidate-scoring.d.ts.map +1 -1
  166. package/out/candidate-scoring.js +10 -14
  167. package/out/candidate-scoring.js.map +1 -1
  168. package/out/capital-schema.d.ts +3 -3
  169. package/out/capital-schema.d.ts.map +1 -1
  170. package/out/capital-schema.js +2 -2
  171. package/out/capital-schema.js.map +1 -1
  172. package/out/capitals.d.ts +1 -1
  173. package/out/capitals.d.ts.map +1 -1
  174. package/out/capitals.js +2 -2
  175. package/out/capitals.js.map +1 -1
  176. package/out/coincident-roles.d.ts +6 -5
  177. package/out/coincident-roles.d.ts.map +1 -1
  178. package/out/coincident-roles.js +2 -4
  179. package/out/coincident-roles.js.map +1 -1
  180. package/out/{convention.d.ts → convention/index.d.ts} +4 -4
  181. package/out/convention/index.d.ts.map +1 -0
  182. package/out/{convention.js → convention/index.js} +2 -2
  183. package/out/convention/index.js.map +1 -0
  184. package/out/{convention-schema.d.ts → convention/schema.d.ts} +2 -2
  185. package/out/convention/schema.d.ts.map +1 -0
  186. package/out/{convention-schema.js → convention/schema.js} +3 -3
  187. package/out/convention/schema.js.map +1 -0
  188. package/out/coverage-manifest-schema.d.ts +8 -8
  189. package/out/coverage-manifest-schema.d.ts.map +1 -1
  190. package/out/coverage-manifest-schema.js +4 -4
  191. package/out/coverage-manifest-schema.js.map +1 -1
  192. package/out/currency-backfill.d.ts +51 -7
  193. package/out/currency-backfill.d.ts.map +1 -1
  194. package/out/currency-backfill.js +65 -49
  195. package/out/currency-backfill.js.map +1 -1
  196. package/out/env.d.ts +43 -0
  197. package/out/env.d.ts.map +1 -0
  198. package/out/env.js +48 -0
  199. package/out/env.js.map +1 -0
  200. package/out/exact-match.d.ts +5 -5
  201. package/out/exact-match.d.ts.map +1 -1
  202. package/out/exact-match.js +10 -11
  203. package/out/exact-match.js.map +1 -1
  204. package/out/extracts.d.ts +114 -0
  205. package/out/extracts.d.ts.map +1 -0
  206. package/out/{sharding.js → extracts.js} +38 -38
  207. package/out/extracts.js.map +1 -0
  208. package/out/{fst-autocomplete.d.ts → fst/autocomplete.d.ts} +2 -2
  209. package/out/fst/autocomplete.d.ts.map +1 -0
  210. package/out/{fst-autocomplete.js → fst/autocomplete.js} +3 -3
  211. package/out/fst/autocomplete.js.map +1 -0
  212. package/out/{fst-builder.d.ts → fst/builder.d.ts} +5 -5
  213. package/out/fst/builder.d.ts.map +1 -0
  214. package/out/{fst-builder.js → fst/builder.js} +14 -13
  215. package/out/fst/builder.js.map +1 -0
  216. package/out/{fst-deserialize-web.d.ts → fst/deserialize-web.d.ts} +3 -3
  217. package/out/fst/deserialize-web.d.ts.map +1 -0
  218. package/out/{fst-deserialize-web.js → fst/deserialize-web.js} +10 -74
  219. package/out/fst/deserialize-web.js.map +1 -0
  220. package/out/fst/format.d.ts +80 -0
  221. package/out/fst/format.d.ts.map +1 -0
  222. package/out/fst/format.js +91 -0
  223. package/out/fst/format.js.map +1 -0
  224. package/out/{fst-freshness.d.ts → fst/freshness.d.ts} +10 -13
  225. package/out/fst/freshness.d.ts.map +1 -0
  226. package/out/{fst-freshness.js → fst/freshness.js} +41 -73
  227. package/out/fst/freshness.js.map +1 -0
  228. package/out/fst/index.d.ts +14 -0
  229. package/out/fst/index.d.ts.map +1 -0
  230. package/out/fst/index.js +14 -0
  231. package/out/fst/index.js.map +1 -0
  232. package/out/{fst-matcher.d.ts → fst/matcher.d.ts} +2 -2
  233. package/out/fst/matcher.d.ts.map +1 -0
  234. package/out/{fst-matcher.js → fst/matcher.js} +1 -1
  235. package/out/fst/matcher.js.map +1 -0
  236. package/out/{fst-serialize.d.ts → fst/serialize.d.ts} +5 -10
  237. package/out/fst/serialize.d.ts.map +1 -0
  238. package/out/{fst-serialize.js → fst/serialize.js} +18 -98
  239. package/out/fst/serialize.js.map +1 -0
  240. package/out/{fst-types.d.ts → fst/types.d.ts} +4 -3
  241. package/out/fst/types.d.ts.map +1 -0
  242. package/out/{fst-types.js → fst/types.js} +1 -1
  243. package/out/fst/types.js.map +1 -0
  244. package/out/{fts.d.ts → fts/index.d.ts} +16 -9
  245. package/out/fts/index.d.ts.map +1 -0
  246. package/out/{fts.js → fts/index.js} +16 -11
  247. package/out/fts/index.js.map +1 -0
  248. package/out/{fts-query.d.ts → fts/query.d.ts} +2 -2
  249. package/out/fts/query.d.ts.map +1 -0
  250. package/out/{fts-query.js → fts/query.js} +1 -1
  251. package/out/fts/query.js.map +1 -0
  252. package/out/{geonames-aliases.d.ts → geonames/aliases.d.ts} +8 -6
  253. package/out/geonames/aliases.d.ts.map +1 -0
  254. package/out/{geonames-aliases.js → geonames/aliases.js} +7 -7
  255. package/out/geonames/aliases.js.map +1 -0
  256. package/out/geonames/index.d.ts +8 -0
  257. package/out/geonames/index.d.ts.map +1 -0
  258. package/out/geonames/index.js +8 -0
  259. package/out/geonames/index.js.map +1 -0
  260. package/out/{geonames-postal.d.ts → geonames/postal.d.ts} +10 -8
  261. package/out/geonames/postal.d.ts.map +1 -0
  262. package/out/{geonames-postal.js → geonames/postal.js} +9 -9
  263. package/out/geonames/postal.js.map +1 -0
  264. package/out/index.d.ts +32 -32
  265. package/out/index.d.ts.map +1 -1
  266. package/out/index.js +24 -24
  267. package/out/index.js.map +1 -1
  268. package/out/interpolation.d.ts +10 -9
  269. package/out/interpolation.d.ts.map +1 -1
  270. package/out/interpolation.js +20 -20
  271. package/out/interpolation.js.map +1 -1
  272. package/out/lookup.d.ts +21 -20
  273. package/out/lookup.d.ts.map +1 -1
  274. package/out/lookup.js +102 -112
  275. package/out/lookup.js.map +1 -1
  276. package/out/name-score.d.ts.map +1 -1
  277. package/out/name-score.js.map +1 -1
  278. package/out/nsul/index.d.ts +8 -0
  279. package/out/nsul/index.d.ts.map +1 -0
  280. package/out/nsul/index.js +8 -0
  281. package/out/nsul/index.js.map +1 -0
  282. package/out/nsul/lookup.d.ts +83 -0
  283. package/out/nsul/lookup.d.ts.map +1 -0
  284. package/out/nsul/lookup.js +80 -0
  285. package/out/nsul/lookup.js.map +1 -0
  286. package/out/nsul/schema.d.ts +100 -0
  287. package/out/nsul/schema.d.ts.map +1 -0
  288. package/out/nsul/schema.js +78 -0
  289. package/out/nsul/schema.js.map +1 -0
  290. package/out/place-importance-schema.d.ts +5 -5
  291. package/out/place-importance-schema.d.ts.map +1 -1
  292. package/out/place-importance-schema.js +3 -3
  293. package/out/place-importance-schema.js.map +1 -1
  294. package/out/poi/index.d.ts +8 -0
  295. package/out/poi/index.d.ts.map +1 -0
  296. package/out/poi/index.js +8 -0
  297. package/out/poi/index.js.map +1 -0
  298. package/out/{poi-lookup.d.ts → poi/lookup.d.ts} +8 -10
  299. package/out/poi/lookup.d.ts.map +1 -0
  300. package/out/{poi-lookup.js → poi/lookup.js} +14 -18
  301. package/out/poi/lookup.js.map +1 -0
  302. package/out/{poi-schema.d.ts → poi/schema.d.ts} +4 -4
  303. package/out/poi/schema.d.ts.map +1 -0
  304. package/out/{poi-schema.js → poi/schema.js} +1 -1
  305. package/out/poi/schema.js.map +1 -0
  306. package/out/polygon-schema.d.ts.map +1 -1
  307. package/out/polygon-schema.js.map +1 -1
  308. package/out/{postal-city-alias-lookup.d.ts → postal/city-alias-lookup.d.ts} +6 -5
  309. package/out/postal/city-alias-lookup.d.ts.map +1 -0
  310. package/out/{postal-city-alias-lookup.js → postal/city-alias-lookup.js} +11 -15
  311. package/out/postal/city-alias-lookup.js.map +1 -0
  312. package/out/{postal-city-alias-schema.d.ts → postal/city-alias-schema.d.ts} +1 -1
  313. package/out/{postal-city-alias-schema.d.ts.map → postal/city-alias-schema.d.ts.map} +1 -1
  314. package/out/{postal-city-alias-schema.js → postal/city-alias-schema.js} +1 -1
  315. package/out/{postal-city-alias-schema.js.map → postal/city-alias-schema.js.map} +1 -1
  316. package/out/{postal-city-candidate-schema.d.ts → postal/city-candidate-schema.d.ts} +3 -3
  317. package/out/{postal-city-candidate-schema.d.ts.map → postal/city-candidate-schema.d.ts.map} +1 -1
  318. package/out/{postal-city-candidate-schema.js → postal/city-candidate-schema.js} +2 -2
  319. package/out/{postal-city-candidate-schema.js.map → postal/city-candidate-schema.js.map} +1 -1
  320. package/out/postal/index.d.ts +9 -0
  321. package/out/postal/index.d.ts.map +1 -0
  322. package/out/postal/index.js +9 -0
  323. package/out/postal/index.js.map +1 -0
  324. package/out/postcode-point-lookup.d.ts +10 -10
  325. package/out/postcode-point-lookup.d.ts.map +1 -1
  326. package/out/postcode-point-lookup.js +13 -13
  327. package/out/postcode-point-lookup.js.map +1 -1
  328. package/out/primary-preference.d.ts +13 -5
  329. package/out/primary-preference.d.ts.map +1 -1
  330. package/out/primary-preference.js +16 -8
  331. package/out/primary-preference.js.map +1 -1
  332. package/out/proximity-rerank.d.ts +2 -2
  333. package/out/proximity-rerank.d.ts.map +1 -1
  334. package/out/proximity-rerank.js +2 -2
  335. package/out/proximity-rerank.js.map +1 -1
  336. package/out/ranking-weights.d.ts +15 -3
  337. package/out/ranking-weights.d.ts.map +1 -1
  338. package/out/ranking-weights.js +21 -3
  339. package/out/ranking-weights.js.map +1 -1
  340. package/out/region-keys.d.ts +8 -8
  341. package/out/region-keys.d.ts.map +1 -1
  342. package/out/region-keys.js +9 -9
  343. package/out/region-keys.js.map +1 -1
  344. package/out/reverse.d.ts +6 -6
  345. package/out/reverse.d.ts.map +1 -1
  346. package/out/reverse.js +20 -29
  347. package/out/reverse.js.map +1 -1
  348. package/out/schema.d.ts +9 -0
  349. package/out/schema.d.ts.map +1 -1
  350. package/out/schema.js.map +1 -1
  351. package/out/search-fetch.d.ts +12 -10
  352. package/out/search-fetch.d.ts.map +1 -1
  353. package/out/search-fetch.js +21 -20
  354. package/out/search-fetch.js.map +1 -1
  355. package/out/sqlite-convention-source.d.ts +7 -7
  356. package/out/sqlite-convention-source.d.ts.map +1 -1
  357. package/out/sqlite-convention-source.js +5 -5
  358. package/out/sqlite-convention-source.js.map +1 -1
  359. package/out/sqlite-utils.d.ts +8 -8
  360. package/out/sqlite-utils.d.ts.map +1 -1
  361. package/out/sqlite-utils.js +7 -8
  362. package/out/sqlite-utils.js.map +1 -1
  363. package/out/{street-centroid-schema.d.ts → street/centroid-schema.d.ts} +6 -6
  364. package/out/{street-centroid-schema.d.ts.map → street/centroid-schema.d.ts.map} +1 -1
  365. package/out/{street-centroid-schema.js → street/centroid-schema.js} +5 -5
  366. package/out/{street-centroid-schema.js.map → street/centroid-schema.js.map} +1 -1
  367. package/out/{street-centroid.d.ts → street/centroid.d.ts} +6 -6
  368. package/out/street/centroid.d.ts.map +1 -0
  369. package/out/{street-centroid.js → street/centroid.js} +13 -19
  370. package/out/street/centroid.js.map +1 -0
  371. package/out/street/index.d.ts +13 -0
  372. package/out/street/index.d.ts.map +1 -0
  373. package/out/street/index.js +13 -0
  374. package/out/street/index.js.map +1 -0
  375. package/out/{street-morphology-fst-builder.d.ts → street/morphology-fst-builder.d.ts} +4 -4
  376. package/out/street/morphology-fst-builder.d.ts.map +1 -0
  377. package/out/{street-morphology-fst-builder.js → street/morphology-fst-builder.js} +18 -13
  378. package/out/street/morphology-fst-builder.js.map +1 -0
  379. package/out/{street-morphology-fst-loader.d.ts → street/morphology-fst-loader.d.ts} +5 -5
  380. package/out/street/morphology-fst-loader.d.ts.map +1 -0
  381. package/out/{street-morphology-fst-loader.js → street/morphology-fst-loader.js} +11 -10
  382. package/out/street/morphology-fst-loader.js.map +1 -0
  383. package/out/{street-name-lookup.d.ts → street/name-lookup.d.ts} +4 -7
  384. package/out/street/name-lookup.d.ts.map +1 -0
  385. package/out/{street-name-lookup.js → street/name-lookup.js} +9 -23
  386. package/out/street/name-lookup.js.map +1 -0
  387. package/out/{street-normalize.d.ts → street/normalize.d.ts} +25 -14
  388. package/out/street/normalize.d.ts.map +1 -0
  389. package/out/{street-normalize.js → street/normalize.js} +36 -17
  390. package/out/street/normalize.js.map +1 -0
  391. package/out/{street-segment-schema.d.ts → street/segment-schema.d.ts} +8 -8
  392. package/out/{street-segment-schema.d.ts.map → street/segment-schema.d.ts.map} +1 -1
  393. package/out/{street-segment-schema.js → street/segment-schema.js} +4 -4
  394. package/out/{street-segment-schema.js.map → street/segment-schema.js.map} +1 -1
  395. package/out/types.d.ts +18 -12
  396. package/out/types.d.ts.map +1 -1
  397. package/out/types.js.map +1 -1
  398. package/out/unified-schema.d.ts +5 -4
  399. package/out/unified-schema.d.ts.map +1 -1
  400. package/out/unified-schema.js +15 -18
  401. package/out/unified-schema.js.map +1 -1
  402. package/out/uprn/existence.d.ts +53 -0
  403. package/out/uprn/existence.d.ts.map +1 -0
  404. package/out/uprn/existence.js +61 -0
  405. package/out/uprn/existence.js.map +1 -0
  406. package/out/uprn/index.d.ts +9 -0
  407. package/out/uprn/index.d.ts.map +1 -0
  408. package/out/uprn/index.js +9 -0
  409. package/out/uprn/index.js.map +1 -0
  410. package/out/{uprn-lookup.d.ts → uprn/lookup.d.ts} +4 -4
  411. package/out/uprn/lookup.d.ts.map +1 -0
  412. package/out/{uprn-lookup.js → uprn/lookup.js} +11 -14
  413. package/out/uprn/lookup.js.map +1 -0
  414. package/out/{uprn-schema.d.ts → uprn/schema.d.ts} +4 -4
  415. package/out/uprn/schema.d.ts.map +1 -0
  416. package/out/{uprn-schema.js → uprn/schema.js} +4 -4
  417. package/out/uprn/schema.js.map +1 -0
  418. package/out/weights-overlay-linker.d.ts +184 -26
  419. package/out/weights-overlay-linker.d.ts.map +1 -1
  420. package/out/weights-overlay-linker.js +338 -86
  421. package/out/weights-overlay-linker.js.map +1 -1
  422. package/package.json +465 -269
  423. package/out/address-point-interpolation.d.ts.map +0 -1
  424. package/out/address-point-interpolation.js.map +0 -1
  425. package/out/address-point-schema.d.ts.map +0 -1
  426. package/out/address-point-schema.js.map +0 -1
  427. package/out/address-point.d.ts.map +0 -1
  428. package/out/address-point.js.map +0 -1
  429. package/out/ancestry-backfill.d.ts.map +0 -1
  430. package/out/ancestry-backfill.js.map +0 -1
  431. package/out/ancestry.d.ts.map +0 -1
  432. package/out/ancestry.js.map +0 -1
  433. package/out/candidate/shard-fold.d.ts +0 -31
  434. package/out/candidate/shard-fold.d.ts.map +0 -1
  435. package/out/candidate/shard-fold.js.map +0 -1
  436. package/out/convention-schema.d.ts.map +0 -1
  437. package/out/convention-schema.js.map +0 -1
  438. package/out/convention.d.ts.map +0 -1
  439. package/out/convention.js.map +0 -1
  440. package/out/fst-autocomplete.d.ts.map +0 -1
  441. package/out/fst-autocomplete.js.map +0 -1
  442. package/out/fst-builder.d.ts.map +0 -1
  443. package/out/fst-builder.js.map +0 -1
  444. package/out/fst-deserialize-web.d.ts.map +0 -1
  445. package/out/fst-deserialize-web.js.map +0 -1
  446. package/out/fst-freshness.d.ts.map +0 -1
  447. package/out/fst-freshness.js.map +0 -1
  448. package/out/fst-matcher.d.ts.map +0 -1
  449. package/out/fst-matcher.js.map +0 -1
  450. package/out/fst-serialize.d.ts.map +0 -1
  451. package/out/fst-serialize.js.map +0 -1
  452. package/out/fst-types.d.ts.map +0 -1
  453. package/out/fst-types.js.map +0 -1
  454. package/out/fts-query.d.ts.map +0 -1
  455. package/out/fts-query.js.map +0 -1
  456. package/out/fts.d.ts.map +0 -1
  457. package/out/fts.js.map +0 -1
  458. package/out/geonames-aliases.d.ts.map +0 -1
  459. package/out/geonames-aliases.js.map +0 -1
  460. package/out/geonames-postal.d.ts.map +0 -1
  461. package/out/geonames-postal.js.map +0 -1
  462. package/out/poi-lookup.d.ts.map +0 -1
  463. package/out/poi-lookup.js.map +0 -1
  464. package/out/poi-schema.d.ts.map +0 -1
  465. package/out/poi-schema.js.map +0 -1
  466. package/out/postal-city-alias-lookup.d.ts.map +0 -1
  467. package/out/postal-city-alias-lookup.js.map +0 -1
  468. package/out/sharding.d.ts +0 -114
  469. package/out/sharding.d.ts.map +0 -1
  470. package/out/sharding.js.map +0 -1
  471. package/out/street-centroid.d.ts.map +0 -1
  472. package/out/street-centroid.js.map +0 -1
  473. package/out/street-morphology-fst-builder.d.ts.map +0 -1
  474. package/out/street-morphology-fst-builder.js.map +0 -1
  475. package/out/street-morphology-fst-loader.d.ts.map +0 -1
  476. package/out/street-morphology-fst-loader.js.map +0 -1
  477. package/out/street-name-lookup.d.ts.map +0 -1
  478. package/out/street-name-lookup.js.map +0 -1
  479. package/out/street-normalize.d.ts.map +0 -1
  480. package/out/street-normalize.js.map +0 -1
  481. package/out/uprn-lookup.d.ts.map +0 -1
  482. package/out/uprn-lookup.js.map +0 -1
  483. package/out/uprn-schema.d.ts.map +0 -1
  484. package/out/uprn-schema.js.map +0 -1
  485. package/weights-overlay-linker.ts +0 -377
  486. /package/{name-score.ts → lib/name-score.ts} +0 -0
  487. /package/{polygon-schema.ts → lib/polygon-schema.ts} +0 -0
  488. /package/{postal-city-alias-schema.ts → lib/postal/city-alias-schema.ts} +0 -0
package/out/lookup.js CHANGED
@@ -9,33 +9,31 @@
9
9
  *
10
10
  * See `docs/plan/phases/PHASE_4_2_wof_sqlite.md` for the design rationale.
11
11
  */
12
- import { DatabaseSync } from "node:sqlite";
13
- import { SqliteDialect } from "@mailwoman/core/kysley/dialect";
14
12
  import { expandPlacetypeFilter } from "@mailwoman/resolver";
15
13
  import { haversineKm } from "@mailwoman/spatial";
16
- import { Kysely } from "kysely";
17
- import { ancestorLineage } from "./ancestry.js";
18
- import { candidateFromSearchRow, rankCandidates } from "./candidate-scoring.js";
19
- import { loadCoincidentLocalities } from "./coincident-roles.js";
20
- import { ADDRESS_CONVENTION_TABLE, resolveConvention, SeedConventionSource, } from "./convention.js";
21
- import { normalizePlacetypes, sanitizeFTSQuery } from "./fts-query.js";
22
- import { buildPlaceSearchFTS, PLACE_BBOX_TABLE, PLACE_POPULATION_TABLE, PLACE_SEARCH_TABLE, placeBboxExists, placePopulationExists, placeSearchFTSExists, } from "./fts.js";
23
- import { cfNormalize, softNameScore } from "./name-score.js";
24
- import { encyclopedicClauses } from "./place-importance-schema.js";
25
- import { DEFAULT_WEIGHTS } from "./ranking-weights.js";
26
- import { fetchSearchRows } from "./search-fetch.js";
27
- import { pickShardForPlacetype, pickShardsForPlacetype, resolveShards, } from "./sharding.js";
28
- import { SqliteConventionSource } from "./sqlite-convention-source.js";
29
- import { allRows } from "./sqlite-utils.js";
14
+ import { DatabaseClient } from "@mailwoman/sqlite/client";
15
+ import { ancestorLineage } from "#ancestry/index";
16
+ import { candidateFromSearchRow, rankCandidates } from "#candidate-scoring";
17
+ import { loadCoincidentLocalities } from "#coincident-roles";
18
+ import { ADDRESS_CONVENTION_TABLE, resolveConvention, SeedConventionSource, } from "#convention/index";
19
+ import { pickExtractForPlacetype, pickExtractsForPlacetype, resolveExtracts, } from "#extracts";
20
+ import { buildPlaceSearchFTS, PLACE_BBOX_TABLE, PLACE_POPULATION_TABLE, PLACE_SEARCH_TABLE, placeBboxExists, placePopulationExists, placeSearchFTSExists, } from "#fts/index";
21
+ import { normalizePlacetypes, sanitizeFTSQuery } from "#fts/query";
22
+ import { cfNormalize, softNameScore } from "#name-score";
23
+ import { encyclopedicClauses } from "#place-importance-schema";
24
+ import { DEFAULT_WEIGHTS, populationScaleTerm } from "#ranking-weights";
25
+ import { fetchSearchRows } from "#search-fetch";
26
+ import { SqliteConventionSource } from "#sqlite-convention-source";
27
+ import { allRows } from "#sqlite-utils";
30
28
  /**
31
29
  * The coordinate-first candidate table (scripts/build-postcode-locality.ts): postcode → containing
32
30
  *
33
31
  * - Nearby localities with WOF alt-name aliases.
34
32
  */
35
33
  /**
36
- * The placetypes `pickShardsForPlacetype`'s substring rule can route by name. Not every WOF placetype — only the ones a
37
- * purpose-built shard is ever named for — so the diagnostic below can say "this name routes nowhere" without claiming
38
- * to enumerate the gazetteer.
34
+ * The placetypes `pickExtractsForPlacetype`'s substring rule can route by name. Not every WOF placetype — only the ones
35
+ * a purpose-built extract is ever named for — so the diagnostic below can say "this name routes nowhere" without
36
+ * claiming to enumerate the gazetteer.
39
37
  */
40
38
  const KNOWN_ROUTED_PLACETYPES = [
41
39
  "postalcode",
@@ -61,43 +59,46 @@ const CF_PC_DECAY_KM = 8;
61
59
  const CF_MISMATCH_KM = 50;
62
60
  export class WOFSQLitePlaceLookup {
63
61
  #db;
64
- #ownsDB;
65
- #kysely;
62
+ /**
63
+ * Resources this instance opened. A connection handed in by a caller is NOT in here, so disposal cannot reach it —
64
+ * ownership is membership rather than a flag a later branch has to check.
65
+ */
66
+ #resources = new DisposableStack();
66
67
  #weights;
67
68
  /**
68
69
  * Cached at construction so we don't `sqlite_master` query on every findPlace call. Bbox + near- with-radius queries
69
70
  * fall back to no-filter when this is false, preserving compatibility with DBs that were FTS-built before the R*Tree
70
71
  * shipped.
71
72
  *
72
- * Per-shard: a shard is only considered to have the bbox index if its own R*Tree table exists.
73
+ * Per-extract: a extract is only considered to have the bbox index if its own R*Tree table exists.
73
74
  */
74
75
  #hasBboxIndex;
75
76
  /**
76
- * Per-shard probe for the `place_population` aux table. When false, the LEFT JOIN is omitted from the SELECT and
77
+ * Per-extract probe for the `place_population` aux table. When false, the LEFT JOIN is omitted from the SELECT and
77
78
  * population boost is 0 for every row — preserves compatibility with DBs built before this feature shipped.
78
79
  */
79
80
  #hasPopulationIndex;
80
81
  /**
81
- * Per-shard SELECT term + LEFT JOIN for the two-score split's `encyclopedic` carry (ROAD_TO_V9 §2 R1), probed and
82
- * built once at construction. Degrades to `NULL AS encyclopedic` with no join on a pre-split shard — every shipped
83
- * shard today. See {@link encyclopedicClauses} for why the probe is a column and not a table.
82
+ * Per-extract SELECT term + LEFT JOIN for the two-score split's `encyclopedic` carry (ROAD_TO_V9 §2 R1), probed and
83
+ * built once at construction. Degrades to `NULL AS encyclopedic` with no join on a pre-split extract — every shipped
84
+ * extract today. See {@link encyclopedicClauses} for why the probe is a column and not a table.
84
85
  */
85
86
  #encyclopedicClauses;
86
87
  /**
87
- * Per-shard probe for the `postcode_locality` table (the coordinate-first candidate table, built by
88
+ * Per-extract probe for the `postcode_locality` table (the coordinate-first candidate table, built by
88
89
  * scripts/build-postcode-locality.ts). Cached at construction; null'd out when absent so the coord-first path
89
90
  * silently no-ops on a deployment that didn't ship the table.
90
91
  */
91
- #postcodeLocalityShard;
92
+ #postcodeLocalityExtract;
92
93
  /**
93
- * Resolved shard list. Always at least one entry; first is `main`. Multi-shard adds extras with their own derived (or
94
- * override) schema names.
94
+ * Resolved extract list. Always at least one entry; first is `main`. Multi-extract adds extras with their own derived
95
+ * (or override) schema names.
95
96
  */
96
- #shards;
97
+ #extracts;
97
98
  /**
98
- * #920: per-schema probed country sets for country-aware shard routing (non-main shards only).
99
+ * #920: per-schema probed country sets for country-aware extract routing (non-main extracts only).
99
100
  */
100
- #shardCountries;
101
+ #extractCountries;
101
102
  /**
102
103
  * The Geographic Rule Engine (Direction E, #289). `#conventionSource` supplies per-WOF-polygon resolution profiles;
103
104
  * `#strategies` is the named-primitive registry the merged convention dispatches. Empty source → every query resolves
@@ -122,7 +123,7 @@ export class WOFSQLitePlaceLookup {
122
123
  #ancestorsCache = new Map();
123
124
  /**
124
125
  * Opt-in postal-city alias reader (#475). `null` unless `opts.postalCityAliases` was supplied — every alias code path
125
- * is gated on this, so the default resolver is byte-identical.
126
+ * is conditioned on this, so the default resolver is byte-identical.
126
127
  */
127
128
  #postalCityAliases;
128
129
  constructor(opts, weights) {
@@ -134,23 +135,21 @@ export class WOFSQLitePlaceLookup {
134
135
  }
135
136
  if (opts.database) {
136
137
  this.#db = opts.database;
137
- this.#ownsDB = false;
138
- this.#shards = [{ path: ":memory:", schemaName: "main", placetypes: [] }];
138
+ this.#extracts = [{ path: ":memory:", schemaName: "main", placetypes: [] }];
139
139
  }
140
140
  else {
141
- const shards = resolveShards(opts.databasePath);
142
- this.#shards = shards;
143
- // Read-only by default — shipped gazetteer shards are sealed 0444 and Docker `:ro` mounts
141
+ const extracts = resolveExtracts(opts.databasePath);
142
+ this.#extracts = extracts;
143
+ // Read-only by default — shipped gazetteer extracts are sealed 0444 and Docker `:ro` mounts
144
144
  // forbid write-mode opens, so a writable open fails there. The only code path that writes to
145
- // the main shard is `#ensureFTS()` (FTS5 index build), gated on `opts.buildFTS`; open writable
145
+ // the main extract is `#ensureFTS()` (FTS5 index build), conditioned on `opts.buildFTS`; open writable
146
146
  // ONLY when that build was explicitly requested. Every read query (FTS5 MATCH, the aux-table
147
147
  // SELECTs, ATTACH, and the `busy_timeout` PRAGMA) works read-only. See the docker read-only
148
148
  // mount limitation (#1213).
149
- this.#db = new DatabaseSync(shards[0].path, { readOnly: !opts.buildFTS });
150
- this.#ownsDB = true;
151
- // ATTACH each non-main shard. Schema names were validated by resolveShards, so safe to
149
+ this.#db = this.#resources.use(new DatabaseClient(extracts[0].path, { readOnly: !opts.buildFTS }));
150
+ // ATTACH each non-main extract. Schema names were validated by resolveExtracts, so safe to
152
151
  // interpolate directly (SQLite ATTACH doesn't accept parameters for the schema name).
153
- for (const s of shards.slice(1)) {
152
+ for (const s of extracts.slice(1)) {
154
153
  this.#db.exec(`ATTACH DATABASE '${s.path.replaceAll("'", "''")}' AS ${s.schemaName}`);
155
154
  }
156
155
  }
@@ -162,47 +161,44 @@ export class WOFSQLitePlaceLookup {
162
161
  else {
163
162
  this.#assertFTSExists();
164
163
  }
165
- this.#kysely = new Kysely({
166
- dialect: new SqliteDialect({ database: this.#db }),
167
- });
168
164
  this.#weights = { ...DEFAULT_WEIGHTS, ...weights };
169
- // Probe each shard's aux-table presence — driven by per-shard table existence in
165
+ // Probe each extract's aux-table presence — driven by per-extract table existence in
170
166
  // sqlite_master. Cached at construction so findPlace doesn't query sqlite_master per call.
171
167
  this.#hasBboxIndex = new Map();
172
168
  this.#hasPopulationIndex = new Map();
173
169
  this.#encyclopedicClauses = new Map();
174
- for (const s of this.#shards) {
175
- this.#hasBboxIndex.set(s.schemaName, this.#shardHasTable(s.schemaName, PLACE_BBOX_TABLE));
176
- this.#hasPopulationIndex.set(s.schemaName, this.#shardHasTable(s.schemaName, PLACE_POPULATION_TABLE));
170
+ for (const s of this.#extracts) {
171
+ this.#hasBboxIndex.set(s.schemaName, this.#extractHasTable(s.schemaName, PLACE_BBOX_TABLE));
172
+ this.#hasPopulationIndex.set(s.schemaName, this.#extractHasTable(s.schemaName, PLACE_POPULATION_TABLE));
177
173
  this.#encyclopedicClauses.set(s.schemaName, encyclopedicClauses(this.#db, s.schemaName));
178
174
  }
179
- // Every lookup path here reaches `place_search`, and a shard without it fails in one of two ways
175
+ // Every lookup path here reaches `place_search`, and a extract without it fails in one of two ways
180
176
  // that are both hard to read: an unroutable name returns zero hits (indistinguishable from "this
181
177
  // country has no places") and a routable one throws mid-query from deep inside a SELECT. The
182
- // unroutable half is the worse of the two — a shard reaches routing only through the name
178
+ // unroutable half is the worse of the two — a extract reaches routing only through the name
183
179
  // `deriveSchemaName` derives from its FILENAME, so a file spelled one letter off the placetype it
184
180
  // serves answers with nothing while holding every row that was asked for.
185
181
  //
186
- // Two independent things bring a shard under the guard, and it needs both. Carrying `spr` is a
187
- // CLAIM to be a place shard. Carrying a name that routes is an INVITATION to be queried as one, and
182
+ // Two independent things bring a extract under the guard, and it needs both. Carrying `spr` is a
183
+ // CLAIM to be a place extract. Carrying a name that routes is an INVITATION to be queried as one, and
188
184
  // it is made by the filename alone — so a database with no tables at all still gets picked, still
189
185
  // answers no query, and still dies inside a SELECT. Testing only the claim lets an empty or
190
186
  // truncated file past construction; testing only the name would exempt a correctly-named build
191
- // input. A shard needs to fail neither test to be exempt.
187
+ // input. A extract needs to fail neither test to be exempt.
192
188
  //
193
189
  // Exempt by design: `postcode-locality-<cc>.db` carries a relation table and nothing else, matches
194
- // no routed placetype, and is part of the documented default shard list.
195
- for (const s of this.#shards) {
190
+ // no routed placetype, and is part of the documented default extract list.
191
+ for (const s of this.#extracts) {
196
192
  if (s.schemaName === "main")
197
193
  continue;
198
194
  const routes = KNOWN_ROUTED_PLACETYPES.some((pt) => s.schemaName === pt || s.schemaName.startsWith(`${pt}_`) || s.schemaName.endsWith(`_${pt}`));
199
- const claimsPlaceShard = this.#shardHasTable(s.schemaName, "spr");
200
- if (!routes && !claimsPlaceShard)
195
+ const claimsPlaceExtract = this.#extractHasTable(s.schemaName, "spr");
196
+ if (!routes && !claimsPlaceExtract)
201
197
  continue;
202
- if (this.#shardHasTable(s.schemaName, PLACE_SEARCH_TABLE))
198
+ if (this.#extractHasTable(s.schemaName, PLACE_SEARCH_TABLE))
203
199
  continue;
204
200
  throw new Error(`WOFSQLitePlaceLookup: ${s.path} ` +
205
- (claimsPlaceShard
201
+ (claimsPlaceExtract
206
202
  ? `carries "spr" but no "${PLACE_SEARCH_TABLE}" table, so it cannot serve a lookup.`
207
203
  : `is named for a routed placetype but carries neither "spr" nor "${PLACE_SEARCH_TABLE}", so every ` +
208
204
  `query routed to it would die mid-SELECT. An empty or truncated file reads exactly like this.`) +
@@ -212,53 +208,53 @@ export class WOFSQLitePlaceLookup {
212
208
  : ` Its schema name "${s.schemaName}" also matches no routed placetype (${KNOWN_ROUTED_PLACETYPES.join(", ")}), ` +
213
209
  `so it would never have been queried even with the table — check the filename's spelling.`));
214
210
  }
215
- // #920 country-aware shard routing: probe each NON-MAIN shard's country set once at
216
- // construction (they're small, purpose-built shards — postcode/locality slices; main is the
211
+ // #920 country-aware extract routing: probe each NON-MAIN extract's country set once at
212
+ // construction (they're small, purpose-built extracts — postcode/locality slices; main is the
217
213
  // multi-GB admin DB and is the fallback anyway, so it is deliberately NOT scanned). Feeds
218
- // pickShardForPlacetype so two postcode shards (postalcode-us + postalcode-geonames-tail)
219
- // route by the query's country instead of first-match starving the second shard.
220
- this.#shardCountries = new Map();
221
- for (const sh of this.#shards) {
214
+ // pickExtractForPlacetype so two postcode extracts (postalcode-us + postalcode-geonames-tail)
215
+ // route by the query's country instead of first-match starving the second extract.
216
+ this.#extractCountries = new Map();
217
+ for (const sh of this.#extracts) {
222
218
  if (sh.schemaName === "main")
223
219
  continue;
224
220
  try {
225
221
  const rows = this.#db
226
222
  .prepare(`SELECT DISTINCT country FROM ${sh.schemaName}.spr WHERE country != ''`)
227
223
  .all();
228
- this.#shardCountries.set(sh.schemaName, new Set(rows.map((r) => r.country)));
224
+ this.#extractCountries.set(sh.schemaName, new Set(rows.map((r) => r.country)));
229
225
  }
230
226
  catch {
231
- // A shard without spr (or an attach oddity) just doesn't participate in country routing.
227
+ // A extract without spr (or an attach oddity) just doesn't participate in country routing.
232
228
  }
233
229
  }
234
- // The postcode_locality table can live on any attached shard (typically its own
235
- // `postcode-locality-<cc>.db`). Find the first shard that has it; null = coord-first disabled.
236
- this.#postcodeLocalityShard =
237
- this.#shards.find((s) => this.#shardHasTable(s.schemaName, POSTCODE_LOCALITY_TABLE))?.schemaName ?? null;
238
- // Opt-in postal-city alias reader (#475). Construction-time present-or-not is the gate: null
230
+ // The postcode_locality table can live on any attached extract (typically its own
231
+ // `postcode-locality-<cc>.db`). Find the first extract that has it; null = coord-first disabled.
232
+ this.#postcodeLocalityExtract =
233
+ this.#extracts.find((s) => this.#extractHasTable(s.schemaName, POSTCODE_LOCALITY_TABLE))?.schemaName ?? null;
234
+ // Opt-in postal-city alias reader (#475). Construction-time present-or-not is the check: null
239
235
  // keeps the coordinate-first scorer byte-identical to pre-#475.
240
236
  this.#postalCityAliases = opts.postalCityAliases ?? null;
241
237
  // The Geographic Rule Engine convention source. Precedence: an explicit `opts.conventions`
242
238
  // (a ready source or a seed map) wins; else the build-from-source convention asset if one is
243
- // attached (auto-detected, like the postcode_locality shard — adding conventions.db to
239
+ // attached (auto-detected, like the postcode_locality extract — adding conventions.db to
244
240
  // databasePath enables it; queried on demand, not paged into memory); else empty, so EU rides
245
241
  // WORLD_DEFAULT. The registry binds strategy NAMES to the SQL-bound primitives — adding a
246
242
  // strategy is registering it here.
247
- const conventionShard = this.#shards.find((s) => this.#shardHasTable(s.schemaName, ADDRESS_CONVENTION_TABLE))?.schemaName ?? null;
243
+ const conventionExtract = this.#extracts.find((s) => this.#extractHasTable(s.schemaName, ADDRESS_CONVENTION_TABLE))?.schemaName ?? null;
248
244
  this.#conventionSource = opts.conventions
249
245
  ? "get" in opts.conventions && typeof opts.conventions.get === "function"
250
246
  ? opts.conventions
251
247
  : new SeedConventionSource(opts.conventions)
252
- : conventionShard
253
- ? new SqliteConventionSource(this.#db, conventionShard)
248
+ : conventionExtract
249
+ ? new SqliteConventionSource(this.#db, conventionExtract)
254
250
  : new SeedConventionSource();
255
251
  this.#strategies = new Map([
256
252
  ["postcode_area_resolution", (q, c) => this.#postcodeAreaResolution(q, c)],
257
253
  ["fallback_fuzzy_name_match", (q) => this.#fuzzyNameMatch(q)],
258
254
  ]);
259
255
  }
260
- #shardHasTable(schemaName, tableName) {
261
- // For main, the existing helpers work directly. For attached shards we have to ask via the
256
+ #extractHasTable(schemaName, tableName) {
257
+ // For main, the existing helpers work directly. For attached extracts we have to ask via the
262
258
  // schema-qualified `sqlite_master` view.
263
259
  if (schemaName === "main") {
264
260
  if (tableName === PLACE_BBOX_TABLE)
@@ -297,9 +293,9 @@ export class WOFSQLitePlaceLookup {
297
293
  // #924: NL postcode retry ladder. The WOF NL postalcode repo stores full codes UNSPACED
298
294
  // ('1012LG') plus 4-digit stems ('1012'), while Dutch addresses carry the spaced form
299
295
  // ('1012 LG') — two FTS tokens that can never match the one-token doc (the #920 name law,
300
- // resurfacing in a WOF-built shard). On a postcode-typed NL-shape miss, retry ONCE with the
296
+ // resurfacing in a WOF-built extract). On a postcode-typed NL-shape miss, retry ONCE with the
301
297
  // whitespace-joined form (block-level precision when the full-code row exists), then the
302
- // 4-digit stem (area-level). Country-gated to NL — the same digits+letters shape elsewhere
298
+ // 4-digit stem (area-level). Country-restricted to NL — the same digits+letters shape elsewhere
303
299
  // must not silently coarsen to a different system's code. Each retry only fires when its
304
300
  // text differs from the current one, so the ladder terminates by construction.
305
301
  if (query.country?.toUpperCase() === "NL" &&
@@ -372,46 +368,46 @@ export class WOFSQLitePlaceLookup {
372
368
  `against a newer code revision, rebuild the asset for this one.`);
373
369
  }
374
370
  /**
375
- * Strategy `postcode_area_resolution` — the coordinate-first locality path, strictly gated (a sibling postcode AND a
376
- * postcode_locality table AND a locality query). Returns `null` — so the dispatcher falls through to the next
377
- * strategy — when the gate is unmet or the postcode isn't in the table; otherwise the soft-scored postcode∪name
371
+ * Strategy `postcode_area_resolution` — the coordinate-first locality path, strictly conditioned (a sibling postcode
372
+ * AND a postcode_locality table AND a locality query). Returns `null` — so the dispatcher falls through to the next
373
+ * strategy — when the condition is unmet or the postcode isn't in the table; otherwise the soft-scored postcode∪name
378
374
  * candidate set.
379
375
  */
380
376
  #postcodeAreaResolution(query, convention) {
381
- if (!(query.postcode && this.#postcodeLocalityShard && this.#isLocalityQuery(query))) {
377
+ if (!(query.postcode && this.#postcodeLocalityExtract && this.#isLocalityQuery(query))) {
382
378
  return Promise.resolve(null);
383
379
  }
384
- return this.#findLocalityCoordFirst(query, this.#postcodeLocalityShard, convention);
380
+ return this.#findLocalityCoordFirst(query, this.#postcodeLocalityExtract, convention);
385
381
  }
386
382
  /**
387
383
  * Strategy `fallback_fuzzy_name_match` — the BM25 FTS name-match over the gazetteer, the universal fallback. Always
388
384
  * returns an array (never null), so it terminates the dispatch chain.
389
385
  */
390
- async #fuzzyNameMatch(query, forceShard) {
386
+ async #fuzzyNameMatch(query, forceExtract) {
391
387
  const limit = query.limit ?? 10;
392
388
  // Expand the placetype filter through the shared equivalence table (core/resolver): a
393
389
  // `locality` query must also reach `borough` / `localadmin` rows — Brooklyn-the-borough
394
390
  // (pop 2.5M) is a borough, not a locality, and a strict filter made it unreachable so the
395
391
  // fuzzy "Brooklyn Park, MN" won instead. Order-preserving: the FIRST entry stays the
396
- // requested placetype, which is what shard routing keys off below.
392
+ // requested placetype, which is what extract routing keys off below.
397
393
  const placetypes = expandPlacetypeFilter(normalizePlacetypes(query.placetype));
398
394
  // Postcode-typed queries keep the #920 fused name-law shape; everything else splits on
399
395
  // intra-token punctuation so hyphenated names reach the FTS as their real terms (#945).
400
396
  const ftsQuery = sanitizeFTSQuery(query.text, { fuseTokens: placetypes?.includes("postalcode") ?? false });
401
397
  if (!ftsQuery)
402
398
  return [];
403
- // Pick the shard for this query. Multi-shard routing is placetype-driven; a query without
404
- // `placetype` always goes to main. (Mixed-placetype queries with multiple shards aren't
399
+ // Pick the extract for this query. Multi-extract routing is placetype-driven; a query without
400
+ // `placetype` always goes to main. (Mixed-placetype queries with multiple extracts aren't
405
401
  // supported in v1 — caller can issue two findPlace calls and merge in TS if needed.)
406
402
  const firstPlacetype = placetypes?.[0];
407
403
  // Bias fan-out (#58/proximity-bias): a country-less query WITH proximity hints must see the
408
- // cross-shard ambiguity the hints exist to resolve — "48026" lives in postalcode-us AND
409
- // postalcode-intl, and single-shard routing would hide one side. Query every matching shard
410
- // (self-recursion with a shard pin), merge by id, and re-sort by the same (exact, prominence)
411
- // keys the per-shard tier sort used. Bounded: hints + no country + >1 matching shard only.
404
+ // cross-extract ambiguity the hints exist to resolve — "48026" lives in postalcode-us AND
405
+ // postalcode-intl, and single-extract routing would hide one side. Query every matching extract
406
+ // (self-recursion with a extract pin), merge by id, and re-sort by the same (exact, prominence)
407
+ // keys the per-extract tier sort used. Bounded: hints + no country + >1 matching extract only.
412
408
  const hasBiasHints = !!query.near || (query.bias?.length ?? 0) > 0;
413
- if (!forceShard && hasBiasHints && !query.country) {
414
- const matching = pickShardsForPlacetype(this.#shards, firstPlacetype);
409
+ if (!forceExtract && hasBiasHints && !query.country) {
410
+ const matching = pickExtractsForPlacetype(this.#extracts, firstPlacetype);
415
411
  if (matching.length > 1) {
416
412
  const pools = [];
417
413
  for (const sh of matching) {
@@ -430,13 +426,13 @@ export class WOFSQLitePlaceLookup {
430
426
  return merged.slice(0, limit);
431
427
  }
432
428
  }
433
- const shard = forceShard ??
434
- pickShardForPlacetype(this.#shards, firstPlacetype, {
429
+ const extract = forceExtract ??
430
+ pickExtractForPlacetype(this.#extracts, firstPlacetype, {
435
431
  country: query.country,
436
- countriesBySchema: this.#shardCountries,
432
+ countriesBySchema: this.#extractCountries,
437
433
  });
438
434
  // bare schema name; safe to interpolate (validated at construction)
439
- const sch = shard.schemaName;
435
+ const sch = extract.schemaName;
440
436
  const rawRows = fetchSearchRows({
441
437
  db: this.#db,
442
438
  schemaName: sch,
@@ -569,7 +565,7 @@ export class WOFSQLitePlaceLookup {
569
565
  ? [...wofAliases, ...(postalAliasByGeo.get(cfNormalize(cand.name)) ?? [])]
570
566
  : wofAliases;
571
567
  const sName = softNameScore(query.text, cand.name, aliases);
572
- const sPop = cand.population && cand.population > 0 ? Math.min(1, Math.log10(1 + cand.population) / 6) : 0;
568
+ const sPop = populationScaleTerm(cand.population, this.#weights);
573
569
  scored.push({ ...cand, score: w.pc * sPc + w.name * sName + w.pop * sPop, exact: sName >= 1 });
574
570
  }
575
571
  // Exact-name tiering (same philosophy as the FTS path): an EXACT name/alias match tiers above
@@ -634,16 +630,10 @@ export class WOFSQLitePlaceLookup {
634
630
  return c;
635
631
  });
636
632
  }
637
- close() {
638
- // Destroying the Kysely instance closes the underlying connection IF we own it. If the caller
639
- // passed in a pre-opened DatabaseSync (test fixture), respect their ownership.
640
- void this.#kysely.destroy();
641
- if (this.#ownsDB) {
642
- this.#db.close();
643
- }
644
- }
645
633
  [Symbol.dispose]() {
646
- this.close();
634
+ // Only when we opened it. A caller who passed a pre-opened client keeps using it after this returns — the FTS
635
+ // build this lookup performed lives on their connection, and closing it would take that with us.
636
+ this.#resources[Symbol.dispose]();
647
637
  }
648
638
  /**
649
639
  * Build the FTS5 virtual table from the `names` + `places` tables.
package/out/lookup.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../lookup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../lib/lookup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"name-score.d.ts","sourceRoot":"","sources":["../name-score.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO7C;AAsCD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgB5F"}
1
+ {"version":3,"file":"name-score.d.ts","sourceRoot":"","sources":["../lib/name-score.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAO7C;AAsCD;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgB5F"}
@@ -1 +1 @@
1
- {"version":3,"file":"name-score.js","sourceRoot":"","sources":["../name-score.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS;IACpC,OAAO,CAAC;SACN,WAAW,EAAE;SACb,SAAS,CAAC,KAAK,CAAC;SAChB,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,8BAA8B;SACjE,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;SAC9B,IAAI,EAAE,CAAA;AACT,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,CAAS;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAErB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IAChC,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,CAAC,IAAI,CAAC;QAChB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,KAAK,EAAE,CAAA;QACR,CAAC;IAEF,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,OAA0B;IACnF,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAE3B,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IAChB,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,CAAC,CAAC;YAAE,SAAQ;QAEhB,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACrB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"name-score.js","sourceRoot":"","sources":["../lib/name-score.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,CAAS;IACpC,OAAO,CAAC;SACN,WAAW,EAAE;SACb,SAAS,CAAC,KAAK,CAAC;SAChB,UAAU,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,8BAA8B;SACjE,UAAU,CAAC,aAAa,EAAE,GAAG,CAAC;SAC9B,IAAI,EAAE,CAAA;AACT,CAAC;AAED;;GAEG;AACH,SAAS,QAAQ,CAAC,CAAS;IAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAA;IAClB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAA;IAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IAC3B,CAAC;IAED,OAAO,GAAG,CAAA;AACX,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IACrB,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAErB,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI;QAAE,OAAO,CAAC,CAAA;IAChC,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,CAAC,IAAI,CAAC;QAChB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACd,KAAK,EAAE,CAAA;QACR,CAAC;IAEF,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,OAA0B;IACnF,MAAM,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;IAE3B,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IAChB,IAAI,IAAI,GAAG,CAAC,CAAA;IAEZ,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAE1B,IAAI,CAAC,CAAC;YAAE,SAAQ;QAEhB,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,CAAA;QACrB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ export * from "#nsul/lookup";
7
+ export * from "#nsul/schema";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../lib/nsul/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ */
6
+ export * from "#nsul/lookup";
7
+ export * from "#nsul/schema";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/nsul/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}