@mailwoman/resolver-wof-sqlite 9.0.0 → 9.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -9
- package/address-point-interpolation.ts +18 -8
- package/address-point-schema.ts +18 -6
- package/address-point.ts +111 -18
- package/ancestry.ts +9 -6
- package/build-candidate.ts +287 -157
- package/build-slim.ts +3 -3
- package/candidate/alias-bags.ts +54 -0
- package/candidate/ancestors-sidecar.ts +206 -0
- package/candidate/country-display-names.ts +79 -0
- package/candidate/name-roles.ts +237 -0
- package/candidate/own-name.ts +146 -0
- package/candidate/place-attrs.ts +44 -0
- package/candidate/shard-fold.ts +137 -0
- package/candidate-ancestors-schema.ts +195 -0
- package/candidate-fts.ts +4 -2
- package/candidate-importance.ts +228 -0
- package/candidate-lookup.ts +564 -174
- package/candidate-schema.ts +60 -3
- package/candidate-scoring.ts +268 -0
- package/capital-schema.ts +90 -0
- package/capitals.ts +148 -0
- package/coincident-roles.ts +69 -10
- package/convention-schema.ts +72 -0
- package/convention.ts +2 -2
- package/coverage-manifest-schema.ts +7 -7
- package/currency-backfill.ts +249 -0
- package/exact-match.ts +104 -0
- package/fst-autocomplete.ts +105 -122
- package/fst-builder.ts +39 -47
- package/fst-deserialize-web.ts +43 -7
- package/fst-freshness.ts +2 -2
- package/fst-serialize.ts +68 -12
- package/fst-types.ts +35 -1
- package/fts-query.ts +1 -1
- package/fts.ts +16 -4
- package/geonames-postal.ts +2 -2
- package/index.ts +26 -14
- package/interpolation.ts +113 -19
- package/lookup.ts +118 -560
- package/name-score.ts +6 -4
- package/out/address-point-interpolation.d.ts.map +1 -1
- package/out/address-point-interpolation.js +13 -7
- package/out/address-point-interpolation.js.map +1 -1
- package/out/address-point-schema.d.ts +16 -6
- package/out/address-point-schema.d.ts.map +1 -1
- package/out/address-point-schema.js.map +1 -1
- package/out/address-point.d.ts.map +1 -1
- package/out/address-point.js +70 -14
- package/out/address-point.js.map +1 -1
- package/out/ancestry.d.ts +2 -2
- package/out/ancestry.d.ts.map +1 -1
- package/out/ancestry.js +5 -6
- package/out/ancestry.js.map +1 -1
- package/out/build-candidate.d.ts +108 -0
- package/out/build-candidate.d.ts.map +1 -1
- package/out/build-candidate.js +151 -120
- package/out/build-candidate.js.map +1 -1
- package/out/build-slim.d.ts +1 -1
- package/out/build-slim.js +3 -3
- package/out/build-slim.js.map +1 -1
- package/out/candidate/alias-bags.d.ts +17 -0
- package/out/candidate/alias-bags.d.ts.map +1 -0
- package/out/candidate/alias-bags.js +39 -0
- package/out/candidate/alias-bags.js.map +1 -0
- package/out/candidate/ancestors-sidecar.d.ts +33 -0
- package/out/candidate/ancestors-sidecar.d.ts.map +1 -0
- package/out/candidate/ancestors-sidecar.js +140 -0
- package/out/candidate/ancestors-sidecar.js.map +1 -0
- package/out/candidate/country-display-names.d.ts +35 -0
- package/out/candidate/country-display-names.d.ts.map +1 -0
- package/out/candidate/country-display-names.js +59 -0
- package/out/candidate/country-display-names.js.map +1 -0
- package/out/candidate/name-roles.d.ts +55 -0
- package/out/candidate/name-roles.d.ts.map +1 -0
- package/out/candidate/name-roles.js +165 -0
- package/out/candidate/name-roles.js.map +1 -0
- package/out/candidate/own-name.d.ts +50 -0
- package/out/candidate/own-name.d.ts.map +1 -0
- package/out/candidate/own-name.js +132 -0
- package/out/candidate/own-name.js.map +1 -0
- package/out/candidate/place-attrs.d.ts +43 -0
- package/out/candidate/place-attrs.d.ts.map +1 -0
- package/out/candidate/place-attrs.js +15 -0
- package/out/candidate/place-attrs.js.map +1 -0
- package/out/candidate/shard-fold.d.ts +31 -0
- package/out/candidate/shard-fold.d.ts.map +1 -0
- package/out/candidate/shard-fold.js +104 -0
- package/out/candidate/shard-fold.js.map +1 -0
- package/out/candidate-ancestors-schema.d.ts +150 -0
- package/out/candidate-ancestors-schema.d.ts.map +1 -0
- package/out/candidate-ancestors-schema.js +123 -0
- package/out/candidate-ancestors-schema.js.map +1 -0
- package/out/candidate-fts.d.ts +4 -2
- package/out/candidate-fts.d.ts.map +1 -1
- package/out/candidate-fts.js +4 -2
- package/out/candidate-fts.js.map +1 -1
- package/out/candidate-importance.d.ts +132 -0
- package/out/candidate-importance.d.ts.map +1 -0
- package/out/candidate-importance.js +174 -0
- package/out/candidate-importance.js.map +1 -0
- package/out/candidate-lookup.d.ts +22 -37
- package/out/candidate-lookup.d.ts.map +1 -1
- package/out/candidate-lookup.js +446 -132
- package/out/candidate-lookup.js.map +1 -1
- package/out/candidate-schema.d.ts +52 -4
- package/out/candidate-schema.d.ts.map +1 -1
- package/out/candidate-schema.js +8 -0
- package/out/candidate-schema.js.map +1 -1
- package/out/candidate-scoring.d.ts +34 -0
- package/out/candidate-scoring.d.ts.map +1 -0
- package/out/candidate-scoring.js +200 -0
- package/out/candidate-scoring.js.map +1 -0
- package/out/capital-schema.d.ts +51 -0
- package/out/capital-schema.d.ts.map +1 -0
- package/out/capital-schema.js +63 -0
- package/out/capital-schema.js.map +1 -0
- package/out/capitals.d.ts +69 -0
- package/out/capitals.d.ts.map +1 -0
- package/out/capitals.js +98 -0
- package/out/capitals.js.map +1 -0
- package/out/coincident-roles.d.ts +7 -0
- package/out/coincident-roles.d.ts.map +1 -1
- package/out/coincident-roles.js +42 -8
- package/out/coincident-roles.js.map +1 -1
- package/out/convention-schema.d.ts +51 -0
- package/out/convention-schema.d.ts.map +1 -0
- package/out/convention-schema.js +34 -0
- package/out/convention-schema.js.map +1 -0
- package/out/convention.d.ts +1 -1
- package/out/convention.js +2 -2
- package/out/coverage-manifest-schema.js +3 -7
- package/out/coverage-manifest-schema.js.map +1 -1
- package/out/currency-backfill.d.ts +46 -0
- package/out/currency-backfill.d.ts.map +1 -0
- package/out/currency-backfill.js +180 -0
- package/out/currency-backfill.js.map +1 -0
- package/out/exact-match.d.ts +25 -0
- package/out/exact-match.d.ts.map +1 -0
- package/out/exact-match.js +89 -0
- package/out/exact-match.js.map +1 -0
- package/out/fst-autocomplete.d.ts +24 -14
- package/out/fst-autocomplete.d.ts.map +1 -1
- package/out/fst-autocomplete.js +84 -100
- package/out/fst-autocomplete.js.map +1 -1
- package/out/fst-builder.d.ts.map +1 -1
- package/out/fst-builder.js +32 -40
- package/out/fst-builder.js.map +1 -1
- package/out/fst-deserialize-web.d.ts.map +1 -1
- package/out/fst-deserialize-web.js +36 -7
- package/out/fst-deserialize-web.js.map +1 -1
- package/out/fst-freshness.d.ts +2 -2
- package/out/fst-freshness.js +2 -2
- package/out/fst-serialize.d.ts +14 -4
- package/out/fst-serialize.d.ts.map +1 -1
- package/out/fst-serialize.js +60 -12
- package/out/fst-serialize.js.map +1 -1
- package/out/fst-types.d.ts +35 -1
- package/out/fst-types.d.ts.map +1 -1
- package/out/fts-query.js +1 -1
- package/out/fts-query.js.map +1 -1
- package/out/fts.d.ts +15 -4
- package/out/fts.d.ts.map +1 -1
- package/out/fts.js +15 -4
- package/out/fts.js.map +1 -1
- package/out/geonames-postal.d.ts +2 -2
- package/out/geonames-postal.js +2 -2
- package/out/index.d.ts +4 -2
- package/out/index.d.ts.map +1 -1
- package/out/index.js +3 -2
- package/out/index.js.map +1 -1
- package/out/interpolation.d.ts +8 -0
- package/out/interpolation.d.ts.map +1 -1
- package/out/interpolation.js +91 -19
- package/out/interpolation.js.map +1 -1
- package/out/lookup.d.ts +4 -5
- package/out/lookup.d.ts.map +1 -1
- package/out/lookup.js +102 -444
- package/out/lookup.js.map +1 -1
- package/out/name-score.d.ts +0 -10
- package/out/name-score.d.ts.map +1 -1
- package/out/name-score.js +6 -4
- package/out/name-score.js.map +1 -1
- package/out/place-importance-schema.d.ts +226 -0
- package/out/place-importance-schema.d.ts.map +1 -0
- package/out/place-importance-schema.js +288 -0
- package/out/place-importance-schema.js.map +1 -0
- package/out/poi-lookup.d.ts +1 -1
- package/out/poi-lookup.d.ts.map +1 -1
- package/out/poi-lookup.js +12 -13
- package/out/poi-lookup.js.map +1 -1
- package/out/poi-schema.d.ts +7 -3
- package/out/poi-schema.d.ts.map +1 -1
- package/out/poi-schema.js.map +1 -1
- package/out/polygon-schema.d.ts +37 -0
- package/out/polygon-schema.d.ts.map +1 -0
- package/out/polygon-schema.js +23 -0
- package/out/polygon-schema.js.map +1 -0
- package/out/postal-city-alias-lookup.d.ts +1 -1
- package/out/postal-city-alias-lookup.js +1 -1
- package/out/postal-city-candidate-schema.d.ts +2 -1
- package/out/postal-city-candidate-schema.d.ts.map +1 -1
- package/out/postal-city-candidate-schema.js.map +1 -1
- package/out/postcode-point-lookup.d.ts +1 -1
- package/out/postcode-point-lookup.js +1 -1
- package/out/primary-preference.d.ts +125 -0
- package/out/primary-preference.d.ts.map +1 -0
- package/out/primary-preference.js +138 -0
- package/out/primary-preference.js.map +1 -0
- package/out/proximity-rerank.d.ts +77 -0
- package/out/proximity-rerank.d.ts.map +1 -0
- package/out/proximity-rerank.js +86 -0
- package/out/proximity-rerank.js.map +1 -0
- package/out/region-keys.d.ts +47 -0
- package/out/region-keys.d.ts.map +1 -0
- package/out/region-keys.js +121 -0
- package/out/region-keys.js.map +1 -0
- package/out/reverse.d.ts.map +1 -1
- package/out/reverse.js +6 -9
- package/out/reverse.js.map +1 -1
- package/out/schema.d.ts +1 -1
- package/out/search-fetch.d.ts +57 -0
- package/out/search-fetch.d.ts.map +1 -0
- package/out/search-fetch.js +183 -0
- package/out/search-fetch.js.map +1 -0
- package/out/sharding.d.ts +3 -3
- package/out/sharding.js +1 -1
- package/out/sqlite-convention-source.d.ts +1 -1
- package/out/sqlite-convention-source.js +1 -1
- package/out/sqlite-utils.d.ts +31 -1
- package/out/sqlite-utils.d.ts.map +1 -1
- package/out/sqlite-utils.js +38 -0
- package/out/sqlite-utils.js.map +1 -1
- package/out/street-centroid-schema.d.ts +7 -2
- package/out/street-centroid-schema.d.ts.map +1 -1
- package/out/street-centroid-schema.js.map +1 -1
- package/out/street-centroid.d.ts.map +1 -1
- package/out/street-centroid.js +7 -7
- package/out/street-centroid.js.map +1 -1
- package/out/street-morphology-fst-builder.d.ts.map +1 -1
- package/out/street-morphology-fst-builder.js +5 -4
- package/out/street-morphology-fst-builder.js.map +1 -1
- package/out/street-normalize.d.ts +83 -9
- package/out/street-normalize.d.ts.map +1 -1
- package/out/street-normalize.js +177 -10
- package/out/street-normalize.js.map +1 -1
- package/out/street-segment-schema.d.ts +6 -2
- package/out/street-segment-schema.d.ts.map +1 -1
- package/out/street-segment-schema.js.map +1 -1
- package/out/types.d.ts +74 -1
- package/out/types.d.ts.map +1 -1
- package/out/unified-schema.d.ts +1 -1
- package/out/unified-schema.js +1 -1
- package/out/uprn-lookup.d.ts +85 -0
- package/out/uprn-lookup.d.ts.map +1 -0
- package/out/uprn-lookup.js +152 -0
- package/out/uprn-lookup.js.map +1 -0
- package/out/uprn-schema.d.ts +93 -0
- package/out/uprn-schema.d.ts.map +1 -0
- package/out/uprn-schema.js +78 -0
- package/out/uprn-schema.js.map +1 -0
- package/out/weights-overlay-linker.d.ts +141 -0
- package/out/weights-overlay-linker.d.ts.map +1 -0
- package/out/weights-overlay-linker.js +259 -0
- package/out/weights-overlay-linker.js.map +1 -0
- package/package.json +296 -16
- package/place-importance-schema.ts +402 -0
- package/poi-lookup.ts +12 -13
- package/poi-schema.ts +8 -3
- package/polygon-schema.ts +47 -0
- package/postal-city-alias-lookup.ts +1 -1
- package/postal-city-candidate-schema.ts +3 -1
- package/postcode-point-lookup.ts +1 -1
- package/primary-preference.ts +207 -0
- package/proximity-rerank.ts +120 -0
- package/region-keys.ts +144 -0
- package/reverse.ts +17 -16
- package/schema.ts +1 -1
- package/search-fetch.ts +256 -0
- package/sharding.ts +3 -3
- package/sqlite-convention-source.ts +1 -1
- package/sqlite-utils.ts +63 -1
- package/street-centroid-schema.ts +8 -2
- package/street-centroid.ts +13 -8
- package/street-morphology-fst-builder.ts +5 -4
- package/street-normalize.ts +254 -24
- package/street-segment-schema.ts +7 -2
- package/types.ts +74 -1
- package/unified-schema.ts +1 -1
- package/uprn-lookup.ts +210 -0
- package/uprn-schema.ts +124 -0
- package/weights-overlay-linker.ts +377 -0
- package/geo.ts +0 -121
- package/out/geo.d.ts +0 -74
- package/out/geo.d.ts.map +0 -1
- package/out/geo.js +0 -71
- package/out/geo.js.map +0 -1
package/out/fst-serialize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fst-serialize.js","sourceRoot":"","sources":["../fst-serialize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fst-serialize.js","sourceRoot":"","sources":["../fst-serialize.ts"],"names":[],"mappings":"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"}
|
package/out/fst-types.d.ts
CHANGED
|
@@ -12,7 +12,25 @@ export interface PlaceEntry {
|
|
|
12
12
|
placetype: PlacetypeID;
|
|
13
13
|
name: string;
|
|
14
14
|
parentChain: number[];
|
|
15
|
-
|
|
15
|
+
/**
|
|
16
|
+
* REFERENTIAL likelihood in [0, 1] — population-anchored (`referentialFromPopulation`), and the ONLY score the
|
|
17
|
+
* decoder bias is allowed to read (ROAD_TO_V9 §2, ratified 2026-08-06).
|
|
18
|
+
*
|
|
19
|
+
* This field was called `importance` through format v4, where it carried whichever score the source database happened
|
|
20
|
+
* to hold: the population proxy on a database with no `place_importance` table (which is every shipped
|
|
21
|
+
* `fst-per-locale` binary), the Wikipedia score where the concordance join landed otherwise. The rename is the point
|
|
22
|
+
* — a v4 artifact's value is a CONFLATION that cannot be told apart after the fact, which is why `fst-freshness.ts`
|
|
23
|
+
* reports anything below {@link FST_FORMAT_VERSION} as format-stale rather than reading it as referential.
|
|
24
|
+
*/
|
|
25
|
+
referential: number;
|
|
26
|
+
/**
|
|
27
|
+
* Encyclopedic (Wikipedia) importance in [0, 1], fan-out-guarded per #1497. Carried for consumers that want to
|
|
28
|
+
* DISPLAY salience; never read by the decoder or by any ranking.
|
|
29
|
+
*
|
|
30
|
+
* `undefined` = this place has no encyclopedic signal, or the artifact predates format 5. NEVER conflate either with
|
|
31
|
+
* 0 — the meaning-of-zero rule; roughly 89% of the 2026-08-05 gazetteer's rows have no Wikipedia article at all.
|
|
32
|
+
*/
|
|
33
|
+
encyclopedic?: number;
|
|
16
34
|
lat: number;
|
|
17
35
|
lon: number;
|
|
18
36
|
/**
|
|
@@ -47,7 +65,23 @@ export interface FSTProvenance {
|
|
|
47
65
|
placeCount: number;
|
|
48
66
|
edgeCount: number;
|
|
49
67
|
nameInsertions: number;
|
|
68
|
+
/**
|
|
69
|
+
* How many places carried a non-zero REFERENTIAL score at build time. Named `importanceMatches` for stamp
|
|
70
|
+
* compatibility with every artifact written before the two-score split — renaming the JSON key would make every
|
|
71
|
+
* existing stamp unreadable, and the number means the same thing it always did on a population-built artifact.
|
|
72
|
+
*/
|
|
50
73
|
importanceMatches: number;
|
|
74
|
+
/**
|
|
75
|
+
* How many places carried an ENCYCLOPEDIC score at build time. `undefined` on a pre-split build — which is not the
|
|
76
|
+
* same as 0 (a v5 build against a population-only database), so the freshness report says the two in different
|
|
77
|
+
* words.
|
|
78
|
+
*/
|
|
79
|
+
encyclopedicMatches?: number;
|
|
80
|
+
/**
|
|
81
|
+
* How the builder obtained its two scores — an {@link ImportanceSplitSource}. Recorded so an artifact states, in its
|
|
82
|
+
* own provenance, whether its encyclopedic channel is real, reconstructed from a legacy conflated column, or absent.
|
|
83
|
+
*/
|
|
84
|
+
importanceSource?: string;
|
|
51
85
|
sourceDB?: string;
|
|
52
86
|
/**
|
|
53
87
|
* MD5 of the source database's bytes at build time — the artifact's link to the gazetteer it is a projection of.
|
package/out/fst-types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fst-types.d.ts","sourceRoot":"","sources":["../fst-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,WAAW,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,
|
|
1
|
+
{"version":3,"file":"fst-types.d.ts","sourceRoot":"","sources":["../fst-types.ts"],"names":[],"mappings":"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"}
|
package/out/fts-query.js
CHANGED
|
@@ -59,7 +59,7 @@ export function sanitizeFTSQuery(text, opts) {
|
|
|
59
59
|
// fusing "Thiron-Gardais" into the unmatchable single term `ThironGardais` while the FTS
|
|
60
60
|
// doc holds two terms (#945 — the entire hyphenated-name class missed at the raw lookup;
|
|
61
61
|
// masked for years because pre-splice tokenizers never emitted hyphen-preserved values).
|
|
62
|
-
const parts = trimmed.split(/[^\p{L}\p{N}]+/u).filter(
|
|
62
|
+
const parts = trimmed.split(/[^\p{L}\p{N}]+/u).filter((part) => part.length > 0);
|
|
63
63
|
if (!parts.length)
|
|
64
64
|
continue;
|
|
65
65
|
for (let i = 0; i < parts.length; i++) {
|
package/out/fts-query.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts-query.js","sourceRoot":"","sources":["../fts-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,UAAU,mBAAmB,CAAC,CAA8B;IACjE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEnB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAA+B;IAC7E,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAE/B,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE3C,2FAA2F;QAC3F,uFAAuF;QACvF,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;YAEtD,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YAExE,SAAQ;QACT,CAAC;QAED,wFAAwF;QACxF,yFAAyF;QACzF,yFAAyF;QACzF,yFAAyF;QACzF,yFAAyF;QACzF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"fts-query.js","sourceRoot":"","sources":["../fts-query.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,UAAU,mBAAmB,CAAC,CAA8B;IACjE,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAEnB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAClC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAA+B;IAC7E,MAAM,GAAG,GAAa,EAAE,CAAA;IAExB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAA;QAE/B,IAAI,CAAC,OAAO;YAAE,SAAQ;QACtB,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;QAE3C,2FAA2F;QAC3F,uFAAuF;QACvF,IAAI,IAAI,EAAE,UAAU,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA;YAEtD,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;YAExE,SAAQ;QACT,CAAC;QAED,wFAAwF;QACxF,yFAAyF;QACzF,yFAAyF;QACzF,yFAAyF;QACzF,yFAAyF;QACzF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAEhF,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,SAAQ;QAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;YAE1C,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,yFAAyF;YACzF,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QACnG,CAAC;IACF,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AACrB,CAAC"}
|
package/out/fts.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* FTS5 index lifecycle for the WOF SQLite distribution.
|
|
7
7
|
*
|
|
8
|
-
* Shared by `
|
|
8
|
+
* Shared by `WOFSQLitePlaceLookup` (lazy build via `buildFTS: true`) and the operator-side
|
|
9
9
|
* `mailwoman gazetteer build fts` CLI (ahead-of-time build to avoid first-open latency in production).
|
|
10
10
|
*
|
|
11
11
|
* Upstream WOF SQLite distributions do NOT ship FTS5. The index lives in a `place_search` virtual
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { DatabaseSync } from "node:sqlite";
|
|
17
17
|
/**
|
|
18
|
-
* Name of the FTS5 virtual table this module owns. Centralized so `
|
|
18
|
+
* Name of the FTS5 virtual table this module owns. Centralized so `WOFSQLitePlaceLookup` and the CLI can't drift apart.
|
|
19
19
|
*/
|
|
20
20
|
export declare const PLACE_SEARCH_TABLE = "place_search";
|
|
21
21
|
/**
|
|
@@ -64,7 +64,7 @@ export declare const PLACE_SEARCH_TABLE = "place_search";
|
|
|
64
64
|
export declare const ALIAS_SEPARATOR = "\uE000";
|
|
65
65
|
/**
|
|
66
66
|
* Does any alias in an `alt_names` bag exactly equal the (already-normalized) query? The single shared implementation
|
|
67
|
-
* of the exact-tier alias check for every consumer of the bag — the Node resolver's `#
|
|
67
|
+
* of the exact-tier alias check for every consumer of the bag — the Node resolver's `#exactMatchIDs` fallback, the WASM
|
|
68
68
|
* resolver, and the demo's httpvfs resolver — so the bag format and its parsers can't drift.
|
|
69
69
|
*
|
|
70
70
|
* Two formats exist in the wild:
|
|
@@ -100,6 +100,17 @@ export declare const PLACE_BBOX_TABLE = "place_bbox";
|
|
|
100
100
|
* Schema: `(id INTEGER PRIMARY KEY, population INTEGER NOT NULL)`. Plain table, not virtual.
|
|
101
101
|
*/
|
|
102
102
|
export declare const PLACE_POPULATION_TABLE = "place_population";
|
|
103
|
+
/**
|
|
104
|
+
* Name of the auxiliary table holding the two salience scores per place — `referential` (population-anchored, the
|
|
105
|
+
* ranking backbone) and `encyclopedic` (the Wikipedia join, NULL when there is no article). Built by `mailwoman
|
|
106
|
+
* gazetteer importance`; schema and derivations in `place-importance-schema.ts`.
|
|
107
|
+
*
|
|
108
|
+
* The lookup reads ONLY `encyclopedic` from it, and only to CARRY the value onto the result — referential is derived
|
|
109
|
+
* from the population already joined, and no ORDER BY anywhere touches this table (ROAD_TO_V9 §2). Sparse and
|
|
110
|
+
* schema-versioned: a pre-split gazetteer has this table with a single conflated `importance` column instead, which the
|
|
111
|
+
* lookup's column probe deliberately refuses to read.
|
|
112
|
+
*/
|
|
113
|
+
export declare const PLACE_IMPORTANCE_TABLE = "place_importance";
|
|
103
114
|
/**
|
|
104
115
|
* Counters for a single `buildPlaceSearchFTS` run. Exposed so callers (CLI, lazy-build) can render progress to the
|
|
105
116
|
* user.
|
|
@@ -151,7 +162,7 @@ export interface BuildPlaceSearchFTSOpts {
|
|
|
151
162
|
*/
|
|
152
163
|
export declare function buildPlaceSearchFTS(db: DatabaseSync, opts?: BuildPlaceSearchFTSOpts): BuildPlaceSearchFTSResult;
|
|
153
164
|
/**
|
|
154
|
-
* Returns true iff the `place_search` table exists in the connected DB. Used by `
|
|
165
|
+
* Returns true iff the `place_search` table exists in the connected DB. Used by `WOFSQLitePlaceLookup` for its "FTS
|
|
155
166
|
* missing — pass buildFTS:true or run the CLI" guard.
|
|
156
167
|
*/
|
|
157
168
|
export declare function placeSearchFTSExists(db: DatabaseSync): boolean;
|
package/out/fts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts.d.ts","sourceRoot":"","sources":["../fts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,eAAe,WAAW,CAAA;AAOvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAWrH;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACvC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,CACZ,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,iBAAiB,GAAG,MAAM,EACzG,MAAM,CAAC,EAAE,MAAM,KACX,IAAI,CAAA;CACT;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,GAAE,uBAA4B,GAAG,yBAAyB,CAsInH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAE/D"}
|
|
1
|
+
{"version":3,"file":"fts.d.ts","sourceRoot":"","sources":["../fts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,iBAAiB,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,eAAe,WAAW,CAAA;AAOvC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAWrH;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AAExD;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,qBAAqB,CAAA;AAExD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IACpB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IACvB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACvC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,CACZ,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,eAAe,GAAG,iBAAiB,GAAG,MAAM,EACzG,MAAM,CAAC,EAAE,MAAM,KACX,IAAI,CAAA;CACT;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,YAAY,EAAE,IAAI,GAAE,uBAA4B,GAAG,yBAAyB,CAsInH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAE/D"}
|
package/out/fts.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*
|
|
6
6
|
* FTS5 index lifecycle for the WOF SQLite distribution.
|
|
7
7
|
*
|
|
8
|
-
* Shared by `
|
|
8
|
+
* Shared by `WOFSQLitePlaceLookup` (lazy build via `buildFTS: true`) and the operator-side
|
|
9
9
|
* `mailwoman gazetteer build fts` CLI (ahead-of-time build to avoid first-open latency in production).
|
|
10
10
|
*
|
|
11
11
|
* Upstream WOF SQLite distributions do NOT ship FTS5. The index lives in a `place_search` virtual
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* bag.
|
|
15
15
|
*/
|
|
16
16
|
/**
|
|
17
|
-
* Name of the FTS5 virtual table this module owns. Centralized so `
|
|
17
|
+
* Name of the FTS5 virtual table this module owns. Centralized so `WOFSQLitePlaceLookup` and the CLI can't drift apart.
|
|
18
18
|
*/
|
|
19
19
|
export const PLACE_SEARCH_TABLE = "place_search";
|
|
20
20
|
/**
|
|
@@ -67,7 +67,7 @@ export const ALIAS_SEPARATOR = "\uE000";
|
|
|
67
67
|
const ALIAS_SEPARATOR_CODEPOINT = ALIAS_SEPARATOR.codePointAt(0);
|
|
68
68
|
/**
|
|
69
69
|
* Does any alias in an `alt_names` bag exactly equal the (already-normalized) query? The single shared implementation
|
|
70
|
-
* of the exact-tier alias check for every consumer of the bag — the Node resolver's `#
|
|
70
|
+
* of the exact-tier alias check for every consumer of the bag — the Node resolver's `#exactMatchIDs` fallback, the WASM
|
|
71
71
|
* resolver, and the demo's httpvfs resolver — so the bag format and its parsers can't drift.
|
|
72
72
|
*
|
|
73
73
|
* Two formats exist in the wild:
|
|
@@ -113,6 +113,17 @@ export const PLACE_BBOX_TABLE = "place_bbox";
|
|
|
113
113
|
* Schema: `(id INTEGER PRIMARY KEY, population INTEGER NOT NULL)`. Plain table, not virtual.
|
|
114
114
|
*/
|
|
115
115
|
export const PLACE_POPULATION_TABLE = "place_population";
|
|
116
|
+
/**
|
|
117
|
+
* Name of the auxiliary table holding the two salience scores per place — `referential` (population-anchored, the
|
|
118
|
+
* ranking backbone) and `encyclopedic` (the Wikipedia join, NULL when there is no article). Built by `mailwoman
|
|
119
|
+
* gazetteer importance`; schema and derivations in `place-importance-schema.ts`.
|
|
120
|
+
*
|
|
121
|
+
* The lookup reads ONLY `encyclopedic` from it, and only to CARRY the value onto the result — referential is derived
|
|
122
|
+
* from the population already joined, and no ORDER BY anywhere touches this table (ROAD_TO_V9 §2). Sparse and
|
|
123
|
+
* schema-versioned: a pre-split gazetteer has this table with a single conflated `importance` column instead, which the
|
|
124
|
+
* lookup's column probe deliberately refuses to read.
|
|
125
|
+
*/
|
|
126
|
+
export const PLACE_IMPORTANCE_TABLE = "place_importance";
|
|
116
127
|
/**
|
|
117
128
|
* Build (or rebuild, with `drop: true`) the `place_search` FTS5 virtual table AND the `place_bbox` R*Tree virtual table
|
|
118
129
|
* from the existing `spr` + `names` tables in a WOF SQLite distribution.
|
|
@@ -236,7 +247,7 @@ export function buildPlaceSearchFTS(db, opts = {}) {
|
|
|
236
247
|
};
|
|
237
248
|
}
|
|
238
249
|
/**
|
|
239
|
-
* Returns true iff the `place_search` table exists in the connected DB. Used by `
|
|
250
|
+
* Returns true iff the `place_search` table exists in the connected DB. Used by `WOFSQLitePlaceLookup` for its "FTS
|
|
240
251
|
* missing — pass buildFTS:true or run the CLI" guard.
|
|
241
252
|
*/
|
|
242
253
|
export function placeSearchFTSExists(db) {
|
package/out/fts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fts.js","sourceRoot":"","sources":["../fts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fts.js","sourceRoot":"","sources":["../fts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAA;AAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,QAAQ,CAAA;AAEvC;;GAEG;AACH,MAAM,yBAAyB,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC,CAAW,CAAA;AAE1E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAuB,EAAE,eAAuB,EAAE,cAAuB;IAC3G,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,EAAE,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAA;IAC1E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAElF,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC,CAAA;IACxF,CAAC;IAED,IAAI,cAAc;QAAE,OAAO,KAAK,CAAA;IAEhC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,eAAe,GAAG,CAAC,CAAA;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAA;AAExD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,kBAAkB,CAAA;AA8CxD;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAAgB,EAAE,OAAgC,EAAE;IACvF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAEhD,UAAU,CAAC,UAAU,CAAC,CAAA;IACtB,MAAM,WAAW,GAAG,WAAW,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAA;IACvD,MAAM,YAAY,GAAG,WAAW,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;IAEtD,oEAAoE;IACpE,IAAI,UAAU,GAAG,KAAK,CAAA;IAEtB,IAAI,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,UAAU,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAA;QAC1C,EAAE,CAAC,IAAI,CAAC,cAAc,kBAAkB,EAAE,CAAC,CAAA;IAC5C,CAAC;IAED,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,UAAU,CAAC,UAAU,CAAC,CAAA;QAEtB,EAAE,CAAC,IAAI,CAAC;0BACgB,kBAAkB;;;;;;GAMzC,CAAC,CAAA;QAEF,UAAU,CAAC,YAAY,CAAC,CAAA;QAExB,6FAA6F;QAC7F,4FAA4F;QAC5F,6FAA6F;QAC7F,qFAAqF;QACrF,EAAE;QACF,8FAA8F;QAC9F,2FAA2F;QAC3F,2FAA2F;QAC3F,uFAAuF;QACvF,uFAAuF;QACvF,qBAAqB;QACrB,EAAE,CAAC,IAAI,CAAC;iBACO,kBAAkB;;;;;;2BAMR,yBAAyB;oBAChC,yBAAyB;wBACrB,yBAAyB;;;;;;;GAO9C,CAAC,CAAA;QAEF,UAAU,GAAG,IAAI,CAAA;IAClB,CAAC;IAED,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,6BAA6B,kBAAkB,EAAE,CAAC,CAAC,GAAG,EAAmB,CAAA;IAExG,oEAAoE;IACpE,IAAI,WAAW,GAAG,KAAK,CAAA;IAEvB,IAAI,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/B,UAAU,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;QACxC,EAAE,CAAC,IAAI,CAAC,cAAc,gBAAgB,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAChC,UAAU,CAAC,eAAe,CAAC,CAAA;QAE3B,wFAAwF;QACxF,iFAAiF;QACjF,EAAE,CAAC,IAAI,CAAC;0BACgB,gBAAgB;;;;;GAKvC,CAAC,CAAA;QAEF,UAAU,CAAC,iBAAiB,CAAC,CAAA;QAE7B,wFAAwF;QACxF,0FAA0F;QAC1F,oFAAoF;QACpF,wFAAwF;QACxF,EAAE,CAAC,IAAI,CAAC;iBACO,gBAAgB;;;;;;;;;;;;;;;;GAgB9B,CAAC,CAAA;QAEF,WAAW,GAAG,IAAI,CAAA;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,6BAA6B,gBAAgB,EAAE,CAAC,CAAC,GAAG,EAAmB,CAAA;IAEvG,sFAAsF;IACtF,iGAAiG;IACjG,kGAAkG;IAClG,+FAA+F;IAC/F,iCAAiC;IAEjC,UAAU,CACT,MAAM,EACN,GAAG,WAAW,CAAC,CAAC,eAAe,YAAY,CAAC,CAAC,aAAa;QACzD,IAAI,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,MAAM,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,GAAG,CACvF,CAAA;IAED,OAAO;QACN,OAAO,EAAE,UAAU;QACnB,WAAW,EAAE,WAAW,CAAC,CAAC;QAC1B,WAAW;QACX,eAAe,EAAE,YAAY,CAAC,CAAC;QAC/B,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;KAC9B,CAAA;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAgB;IACpD,OAAO,WAAW,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,EAAgB;IAC/C,OAAO,WAAW,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAA;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,EAAgB;IACrD,OAAO,WAAW,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,WAAW,CAAC,EAAgB,EAAE,IAAY;IAClD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,CAAC,IAAI,CAEvF,CAAA;IAEZ,OAAO,OAAO,CAAC,GAAG,CAAC,CAAA;AACpB,CAAC"}
|
package/out/geonames-postal.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ import type { DatabaseSync } from "node:sqlite";
|
|
|
41
41
|
*/
|
|
42
42
|
export declare const GEONAMES_POSTAL_ID_BASE = 9500000000000;
|
|
43
43
|
/**
|
|
44
|
-
* The #920 name law: reduce a
|
|
44
|
+
* The #920 name law: reduce a postcode to the sanitized-query token shape — strip every non-letter/number — so the
|
|
45
45
|
* stored name matches what `sanitizeFTSQuery` produces from the parsed postcode token. `"110 00"` → `"11000"`,
|
|
46
46
|
* `"11-041"` → `"11041"`, `"AD500"` → `"AD500"`.
|
|
47
47
|
*/
|
|
@@ -82,7 +82,7 @@ export interface GeonamesPostalIngestResult {
|
|
|
82
82
|
missing: string[];
|
|
83
83
|
}
|
|
84
84
|
/**
|
|
85
|
-
* Fold GeoNames
|
|
85
|
+
* Fold GeoNames postcodes for `countries` into an open unified/postcode ingest DB: one `spr` row per distinct
|
|
86
86
|
* normalized postcode (placetype `postalcode`, medoid centroid, degenerate bbox), the normalized form as `name`, and
|
|
87
87
|
* the display form as an extra `names` row when it differs. The caller owns the FTS rebuild (rows ride the standard
|
|
88
88
|
* freeze phase).
|
package/out/geonames-postal.js
CHANGED
|
@@ -48,7 +48,7 @@ const GEONAMES_POSTAL_COLUMNS = 11;
|
|
|
48
48
|
*/
|
|
49
49
|
export const GEONAMES_POSTAL_ID_BASE = 9_500_000_000_000;
|
|
50
50
|
/**
|
|
51
|
-
* The #920 name law: reduce a
|
|
51
|
+
* The #920 name law: reduce a postcode to the sanitized-query token shape — strip every non-letter/number — so the
|
|
52
52
|
* stored name matches what `sanitizeFTSQuery` produces from the parsed postcode token. `"110 00"` → `"11000"`,
|
|
53
53
|
* `"11-041"` → `"11041"`, `"AD500"` → `"AD500"`.
|
|
54
54
|
*/
|
|
@@ -97,7 +97,7 @@ export function medoidPoint(points) {
|
|
|
97
97
|
return best;
|
|
98
98
|
}
|
|
99
99
|
/**
|
|
100
|
-
* Fold GeoNames
|
|
100
|
+
* Fold GeoNames postcodes for `countries` into an open unified/postcode ingest DB: one `spr` row per distinct
|
|
101
101
|
* normalized postcode (placetype `postalcode`, medoid centroid, degenerate bbox), the normalized form as `name`, and
|
|
102
102
|
* the display form as an extra `names` row when it differs. The caller owns the FTS rebuild (rows ride the standard
|
|
103
103
|
* freeze phase).
|
package/out/index.d.ts
CHANGED
|
@@ -5,8 +5,11 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export type { FindPlaceQuery, GeoBbox, GeoPoint, PlaceCandidate, PlaceLookup, WOFPlacetype } from "./types.ts";
|
|
7
7
|
export type { AncestorsTable, CoincidentRolesTable, ConcordancesTable, GeojsonTable, NamesTable, PlaceAbbrTable, PlacePopulationTable, PlaceSearchTable, SprTable, WOFDatabase, } from "./schema.ts";
|
|
8
|
-
export {
|
|
8
|
+
export { WOFSQLitePlaceLookup, type RankingWeights, type WOFSQLitePlaceLookupOpts } from "./lookup.ts";
|
|
9
|
+
export { CANDIDATE_ANCESTOR_COLUMNS, CANDIDATE_ANCESTOR_TABLE, CANDIDATE_INTERVAL_TABLE, createCandidateAncestorTable, createCandidateIntervalTable, intervalContains, MAX_ANCESTOR_DEPTH, } from "./candidate-ancestors-schema.ts";
|
|
10
|
+
export type { CandidateAncestorsDatabase, CandidateAncestorTable, CandidateIntervalTable, IntervalLabel, } from "./candidate-ancestors-schema.ts";
|
|
9
11
|
export { CANDIDATE_FTS_TABLE, createCandidateFTS } from "./candidate-fts.ts";
|
|
12
|
+
export { ImportanceIndex, IMPORTANCE_JOIN_GATE_KM, type ImportanceIndexStats, loadImportanceIndex, } from "./candidate-importance.ts";
|
|
10
13
|
export { WOFCandidateTableLookup, type WOFCandidateTableLookupOpts } from "./candidate-lookup.ts";
|
|
11
14
|
export { COUNTRY_BBOX_TABLE, COUNTRY_COVERAGE_TABLE, createCountryBBoxTable, createCountryCoverageTable, readGazetteerCoverageManifest, writeGazetteerCoverageManifest, } from "./coverage-manifest-schema.ts";
|
|
12
15
|
export type { CountryBBoxTable, CountryCoverageTable, GazetteerCoverageDatabase } from "./coverage-manifest-schema.ts";
|
|
@@ -23,7 +26,6 @@ export { ADDRESS_CONVENTION_TABLE, BUILTIN_STRATEGY_NAMES, SeedConventionSource,
|
|
|
23
26
|
export { SqliteConventionSource } from "./sqlite-convention-source.ts";
|
|
24
27
|
export { WOFPostcodeLookup, type PostcodePlace } from "./postcode-point-lookup.ts";
|
|
25
28
|
export { PLACE_BBOX_TABLE, PLACE_SEARCH_TABLE, buildPlaceSearchFTS, placeBboxExists, placeSearchFTSExists, type BuildPlaceSearchFTSOpts, type BuildPlaceSearchFTSResult, } from "./fts.ts";
|
|
26
|
-
export { bboxAround, geometryContains, haversineKm, pointInPolygonRings, pointInRing, type Bbox, type GeojsonGeometry, type GeojsonMultiPolygon, type GeojsonPolygon, type GeojsonPosition, } from "./geo.ts";
|
|
27
29
|
export { PLACETYPE_DEPTH, ancestorLineage, placetypeDepth, type AncestorPlaceRow } from "./ancestry.ts";
|
|
28
30
|
export { WOFReverseGeocoder, type ContainmentKind, type ReverseGeocodeOpts, type ReverseGeocodeResult, type WOFReverseGeocoderOpts, } from "./reverse.ts";
|
|
29
31
|
export { AddressPointInterpolator } from "./address-point-interpolation.ts";
|
package/out/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9G,YAAY,EACX,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,QAAQ,EACR,WAAW,GACX,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,KAAK,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAEtG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/out/index.js
CHANGED
|
@@ -3,8 +3,10 @@
|
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
5
|
*/
|
|
6
|
-
export {
|
|
6
|
+
export { WOFSQLitePlaceLookup } from "./lookup.js";
|
|
7
|
+
export { CANDIDATE_ANCESTOR_COLUMNS, CANDIDATE_ANCESTOR_TABLE, CANDIDATE_INTERVAL_TABLE, createCandidateAncestorTable, createCandidateIntervalTable, intervalContains, MAX_ANCESTOR_DEPTH, } from "./candidate-ancestors-schema.js";
|
|
7
8
|
export { CANDIDATE_FTS_TABLE, createCandidateFTS } from "./candidate-fts.js";
|
|
9
|
+
export { ImportanceIndex, IMPORTANCE_JOIN_GATE_KM, loadImportanceIndex, } from "./candidate-importance.js";
|
|
8
10
|
export { WOFCandidateTableLookup } from "./candidate-lookup.js";
|
|
9
11
|
export { COUNTRY_BBOX_TABLE, COUNTRY_COVERAGE_TABLE, createCountryBBoxTable, createCountryCoverageTable, readGazetteerCoverageManifest, writeGazetteerCoverageManifest, } from "./coverage-manifest-schema.js";
|
|
10
12
|
export { SQLiteStreetNameLookup } from "./street-name-lookup.js";
|
|
@@ -17,7 +19,6 @@ export { ADDRESS_CONVENTION_TABLE, BUILTIN_STRATEGY_NAMES, SeedConventionSource,
|
|
|
17
19
|
export { SqliteConventionSource } from "./sqlite-convention-source.js";
|
|
18
20
|
export { WOFPostcodeLookup } from "./postcode-point-lookup.js";
|
|
19
21
|
export { PLACE_BBOX_TABLE, PLACE_SEARCH_TABLE, buildPlaceSearchFTS, placeBboxExists, placeSearchFTSExists, } from "./fts.js";
|
|
20
|
-
export { bboxAround, geometryContains, haversineKm, pointInPolygonRings, pointInRing, } from "./geo.js";
|
|
21
22
|
export { PLACETYPE_DEPTH, ancestorLineage, placetypeDepth } from "./ancestry.js";
|
|
22
23
|
export { WOFReverseGeocoder, } from "./reverse.js";
|
|
23
24
|
export { AddressPointInterpolator } from "./address-point-interpolation.js";
|
package/out/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,EAAE,oBAAoB,EAAsD,MAAM,aAAa,CAAA;AAEtG,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,EAAE,oBAAoB,EAAsD,MAAM,aAAa,CAAA;AAEtG,OAAO,EACN,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,gBAAgB,EAChB,kBAAkB,GAClB,MAAM,iCAAiC,CAAA;AASxC,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5E,OAAO,EACN,eAAe,EACf,uBAAuB,EAEvB,mBAAmB,GACnB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,uBAAuB,EAAoC,MAAM,uBAAuB,CAAA;AAEjG,OAAO,EACN,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,GAC9B,MAAM,+BAA+B,CAAA;AAGtC,OAAO,EAAE,sBAAsB,EAAmC,MAAM,yBAAyB,CAAA;AAEjG,OAAO,EACN,gBAAgB,EAEhB,qBAAqB,EACrB,uBAAuB,GACvB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AAE9D,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAGrH,OAAO,EACN,wBAAwB,GAGxB,MAAM,+BAA+B,CAAA;AAItC,OAAO,EACN,6BAA6B,EAC7B,2BAA2B,EAC3B,8BAA8B,GAC9B,MAAM,mCAAmC,CAAA;AAI1C,OAAO,EACN,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,iBAAiB,GAMjB,MAAM,iBAAiB,CAAA;AAExB,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAEtE,OAAO,EAAE,iBAAiB,EAAsB,MAAM,4BAA4B,CAAA;AAElF,OAAO,EACN,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,oBAAoB,GAGpB,MAAM,UAAU,CAAA;AAEjB,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAyB,MAAM,eAAe,CAAA;AAEvG,OAAO,EACN,kBAAkB,GAKlB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,OAAO,EACN,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,6BAA6B,CAAA;AAGpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AAEjE,OAAO,EACN,kBAAkB,GAIlB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,GAGb,MAAM,eAAe,CAAA"}
|
package/out/interpolation.d.ts
CHANGED
|
@@ -81,6 +81,14 @@ export interface InterpolationQuery {
|
|
|
81
81
|
* ZIP scope — strongly preferred; without it common street names abstain (see module doc).
|
|
82
82
|
*/
|
|
83
83
|
postcode?: string;
|
|
84
|
+
/**
|
|
85
|
+
* The resolved locality's coordinate — the tie-breaker when no postcode was given and the parity-preferred covering
|
|
86
|
+
* ranges still span several postcodes. See {@link NEAR_MAX_KM} for the acceptance geometry.
|
|
87
|
+
*/
|
|
88
|
+
near?: {
|
|
89
|
+
lat: number;
|
|
90
|
+
lon: number;
|
|
91
|
+
};
|
|
84
92
|
}
|
|
85
93
|
export declare class StreetInterpolator implements InterpolationLookup {
|
|
86
94
|
#private;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolation.d.ts","sourceRoot":"","sources":["../interpolation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"interpolation.d.ts","sourceRoot":"","sources":["../interpolation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG1C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAM9D;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,eAAe,GAAG,aAAa,CAAA;AAEjE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX;;OAEG;IACH,YAAY,EAAE,IAAI,CAAA;IAClB;;OAEG;IACH,MAAM,EAAE,mBAAmB,CAAA;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAA;IAC3B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;CACnC;AAsED,qBAAa,kBAAmB,YAAW,mBAAmB;;gBASjD,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE;IA+C9D;;;;OAIG;IACH,IAAI,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAE1C;IAED,IAAI,CAAC,KAAK,EAAE,kBAAkB,GAAG,eAAe,GAAG,IAAI;IA4FvD,KAAK,IAAI,IAAI;CAKb"}
|
package/out/interpolation.js
CHANGED
|
@@ -27,10 +27,57 @@
|
|
|
27
27
|
*/
|
|
28
28
|
import { DatabaseSync } from "node:sqlite";
|
|
29
29
|
import { parseJSONStrict } from "@mailwoman/core/objects";
|
|
30
|
-
import { clampFraction, pointAlong } from "@mailwoman/spatial";
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
|
|
30
|
+
import { clampFraction, haversineKm, pointAlong } from "@mailwoman/spatial";
|
|
31
|
+
import { hasTable, prepareAll } from "./sqlite-utils.js";
|
|
32
|
+
import { canonicalizeRouteKey, streetKeyVariants } from "./street-normalize.js";
|
|
33
|
+
/**
|
|
34
|
+
* Acceptance geometry for the `near` tie-break: the winning postcode group's closest segment must sit within this many
|
|
35
|
+
* kilometres of `near`, AND the runner-up group must be at least {@link NEAR_DOMINANCE} times farther. Both measured on
|
|
36
|
+
* the two live failures: Brooklyn's `st pauls place` 11226 segment is ~2 km from the Brooklyn centroid with Great
|
|
37
|
+
* Neck's 11021 at ~24 km (12×); Fraser's `east 13 mile road` 48026 is ~2 km with Mecosta's namesake ~190 km away. A
|
|
38
|
+
* near-tie between groups is genuine ambiguity and stays an abstention.
|
|
39
|
+
*/
|
|
40
|
+
const NEAR_MAX_KM = 25;
|
|
41
|
+
/**
|
|
42
|
+
* See {@link NEAR_MAX_KM}.
|
|
43
|
+
*/
|
|
44
|
+
const NEAR_DOMINANCE = 2;
|
|
45
|
+
/**
|
|
46
|
+
* The postcode group nearest `near`, under the {@link NEAR_MAX_KM} dominance geometry — or null when no group qualifies
|
|
47
|
+
* (out of range, or the runner-up is too close to call). A group's distance is its closest segment's first polyline
|
|
48
|
+
* vertex; a segment whose geometry fails to parse prices as unreachable rather than aborting the tie-break.
|
|
49
|
+
*/
|
|
50
|
+
function nearestPostcodeGroup(pool, near) {
|
|
51
|
+
const groups = new Map();
|
|
52
|
+
for (const row of pool) {
|
|
53
|
+
const key = row.postcode ?? "";
|
|
54
|
+
let km = Number.POSITIVE_INFINITY;
|
|
55
|
+
try {
|
|
56
|
+
const [firstVertex] = parseJSONStrict(row.geometry);
|
|
57
|
+
if (firstVertex) {
|
|
58
|
+
km = haversineKm(near.lat, near.lon, firstVertex[1], firstVertex[0]);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Unparseable geometry: this row cannot be sited, so it cannot win the tie-break.
|
|
63
|
+
}
|
|
64
|
+
const group = groups.get(key);
|
|
65
|
+
if (group) {
|
|
66
|
+
group.rows.push(row);
|
|
67
|
+
group.km = Math.min(group.km, km);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
groups.set(key, { rows: [row], km });
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
const ranked = [...groups.values()].toSorted((a, b) => a.km - b.km);
|
|
74
|
+
const [winner, runnerUp] = ranked;
|
|
75
|
+
if (!winner || winner.km > NEAR_MAX_KM)
|
|
76
|
+
return null;
|
|
77
|
+
if (runnerUp && runnerUp.km < winner.km * NEAR_DOMINANCE)
|
|
78
|
+
return null;
|
|
79
|
+
return winner.rows;
|
|
80
|
+
}
|
|
34
81
|
export class StreetInterpolator {
|
|
35
82
|
#db;
|
|
36
83
|
#ownsDB;
|
|
@@ -53,9 +100,9 @@ export class StreetInterpolator {
|
|
|
53
100
|
// `street_segment` table this interpolator is a no-op miss, not a crash that loses the state (#568).
|
|
54
101
|
if (hasTable(this.#db, "street_segment")) {
|
|
55
102
|
const columns = `from_hn, to_hn, min_hn, max_hn, parity, postcode, geometry, source, release`;
|
|
56
|
-
this.#byPostcode = this.#db
|
|
103
|
+
this.#byPostcode = prepareAll(this.#db, `SELECT ${columns} FROM street_segment
|
|
57
104
|
WHERE postcode = ? AND street_norm = ? AND min_hn <= ? AND max_hn >= ?`);
|
|
58
|
-
this.#byStreet = this.#db
|
|
105
|
+
this.#byStreet = prepareAll(this.#db, `SELECT ${columns} FROM street_segment
|
|
59
106
|
WHERE street_norm = ? AND min_hn <= ? AND max_hn >= ?`);
|
|
60
107
|
}
|
|
61
108
|
// #374 doctrine: the conformal radius multiplier is a property of the calibration set the ARTIFACT was
|
|
@@ -82,27 +129,36 @@ export class StreetInterpolator {
|
|
|
82
129
|
find(query) {
|
|
83
130
|
if (!this.#byPostcode || !this.#byStreet)
|
|
84
131
|
return null;
|
|
85
|
-
const streetNorm = canonicalizeRouteKey(normalizeStreetForKey(query.street));
|
|
86
132
|
const numberRaw = query.number.trim();
|
|
87
133
|
// Strictly-numeric house numbers only — this tier estimates, it doesn't guess at
|
|
88
134
|
// hyphenated/alphanumeric schemes the ranges don't model.
|
|
89
|
-
if (
|
|
135
|
+
if (!/^\d+$/.test(numberRaw))
|
|
90
136
|
return null;
|
|
91
137
|
const n = Number(numberRaw);
|
|
92
|
-
|
|
93
|
-
|
|
138
|
+
// Key-variant ladder (see `streetKeyVariants`): the literal key first, then the doubled-type
|
|
139
|
+
// collapse and the saint↔st register swap. A variant advances the ladder when it produces no
|
|
140
|
+
// ANSWER, not merely no rows — a wrong-register key can cover the number in far-away towns and
|
|
141
|
+
// then fail the ambiguity gate ("saint pauls place" reaches Nassau's rows; the Brooklyn answer
|
|
142
|
+
// lives under "st pauls place"), and stopping at rows would eclipse the right variant.
|
|
143
|
+
for (const variant of streetKeyVariants(query.street)) {
|
|
144
|
+
const streetNorm = canonicalizeRouteKey(variant);
|
|
94
145
|
// A given ZIP that scopes to nothing is a MISS, not a statewide guess: the retry was
|
|
95
146
|
// measured (2026-06-11 VT eval) at +2.3pp coverage for a poisoned tail (p99 1.0 → 20.8
|
|
96
147
|
// km, max 204 km — a unique name statewide can live in a far-away town).
|
|
97
|
-
rows =
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (postcodes.size > 1)
|
|
104
|
-
return null;
|
|
148
|
+
const rows = query.postcode
|
|
149
|
+
? this.#byPostcode(query.postcode.trim(), streetNorm, n, n)
|
|
150
|
+
: this.#byStreet(streetNorm, n, n);
|
|
151
|
+
const hit = this.#answerFromRows(rows, n, query);
|
|
152
|
+
if (hit)
|
|
153
|
+
return hit;
|
|
105
154
|
}
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Resolve one key variant's covering rows to an answer, or null when they cannot honestly give one — the
|
|
159
|
+
* parity/ambiguity/tightest-range pipeline the module doc describes.
|
|
160
|
+
*/
|
|
161
|
+
#answerFromRows(rows, n, query) {
|
|
106
162
|
if (!rows.length)
|
|
107
163
|
return null;
|
|
108
164
|
// Parity preference: exact side first, then 'mixed' (matches either), then the
|
|
@@ -111,8 +167,24 @@ export class StreetInterpolator {
|
|
|
111
167
|
const exact = rows.filter((r) => r.parity === (wantOdd ? "odd" : "even"));
|
|
112
168
|
const mixed = rows.filter((r) => r.parity === "mixed");
|
|
113
169
|
const preferred = exact.length ? exact : mixed;
|
|
114
|
-
|
|
170
|
+
let pool = preferred.length ? preferred : rows;
|
|
115
171
|
const parityMatched = preferred.length > 0;
|
|
172
|
+
// No scope given: the covering ranges must agree on ONE postcode or the lookup abstains — a
|
|
173
|
+
// name spanning towns is ambiguity, not an answer. Counted over the PARITY pool, not all
|
|
174
|
+
// rows: a section-line boundary road carries a different ZIP per side ("east 13 mile road"
|
|
175
|
+
// is Fraser 48026 odd / Roseville 48066 even), and the opposite side can never hold the
|
|
176
|
+
// number it would otherwise veto. When several postcodes survive parity, the caller's
|
|
177
|
+
// resolved-locality coordinate breaks the tie by segment proximity under the dominance
|
|
178
|
+
// geometry of {@link NEAR_MAX_KM} — a near-tie stays an abstention.
|
|
179
|
+
if (!query.postcode) {
|
|
180
|
+
const postcodes = new Set(pool.map((r) => r.postcode ?? ""));
|
|
181
|
+
if (postcodes.size > 1) {
|
|
182
|
+
const scoped = query.near ? nearestPostcodeGroup(pool, query.near) : null;
|
|
183
|
+
if (!scoped)
|
|
184
|
+
return null;
|
|
185
|
+
pool = scoped;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
116
188
|
// Tightest range wins — the most specific claim about where this number lives.
|
|
117
189
|
let best = pool[0];
|
|
118
190
|
for (const candidate of pool) {
|
package/out/interpolation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolation.js","sourceRoot":"","sources":["../interpolation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"interpolation.js","sourceRoot":"","sources":["../interpolation.ts"],"names":[],"mappings":"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"}
|