@mailwoman/resolver-wof-sqlite 6.4.0 → 7.0.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/out/build-slim.js +1 -1
- package/out/index.d.ts +1 -0
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -0
- package/out/index.js.map +1 -1
- package/out/street-centroid-schema.d.ts +14 -2
- package/out/street-centroid-schema.d.ts.map +1 -1
- package/out/street-centroid-schema.js +8 -1
- package/out/street-centroid-schema.js.map +1 -1
- package/out/street-name-lookup.d.ts +40 -0
- package/out/street-name-lookup.d.ts.map +1 -0
- package/out/street-name-lookup.js +83 -0
- package/out/street-name-lookup.js.map +1 -0
- package/package.json +5 -5
package/out/build-slim.js
CHANGED
|
@@ -119,7 +119,7 @@ export async function buildSlimWOFDatabase(opts) {
|
|
|
119
119
|
// querying `names` (`#exactMatchIds`), but the slim DB drops `names` for size — so the
|
|
120
120
|
// browser resolver gets its own tiny lookup (~hundreds of rows) to do the same data-driven
|
|
121
121
|
// exact-abbrev tiering ("VT" → Vermont, not a token-matching foreign region) instead of the
|
|
122
|
-
// demo's hardcoded `
|
|
122
|
+
// demo's hardcoded `expandUSRegion` map. Sourced from the `language='abbr'` rows
|
|
123
123
|
// `add-region-abbrevs.ts` wrote, already filtered to surviving spr ids via the names copy. The
|
|
124
124
|
// table is always created (empty when the source predates the abbrev enrichment) so the
|
|
125
125
|
// resolver can query it unconditionally.
|
package/out/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export type { AncestorsTable, CoincidentRolesTable, ConcordancesTable, GeojsonTa
|
|
|
8
8
|
export { WOFSqlitePlaceLookup, type RankingWeights, type WOFSqlitePlaceLookupOpts } from "./lookup.ts";
|
|
9
9
|
export { CANDIDATE_FTS_TABLE, createCandidateFTS } from "./candidate-fts.ts";
|
|
10
10
|
export { WOFCandidateTableLookup, type WOFCandidateTableLookupOpts } from "./candidate-lookup.ts";
|
|
11
|
+
export { SQLiteStreetNameLookup, type SQLiteStreetNameLookupOpts } from "./street-name-lookup.ts";
|
|
11
12
|
export { GEONAMES_ID_BASE, ingestGeonamesAliases, type GeonamesIngestProgress } from "./geonames-aliases.ts";
|
|
12
13
|
export { ADDRESS_POINT_COLUMNS, createAddressPointIndexes, createAddressPointTable } from "./address-point-schema.ts";
|
|
13
14
|
export type { AddressPointDatabase, AddressPointTable } from "./address-point-schema.ts";
|
package/out/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/out/index.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
export { WOFSqlitePlaceLookup } from "./lookup.js";
|
|
7
7
|
export { CANDIDATE_FTS_TABLE, createCandidateFTS } from "./candidate-fts.js";
|
|
8
8
|
export { WOFCandidateTableLookup } from "./candidate-lookup.js";
|
|
9
|
+
export { SQLiteStreetNameLookup } from "./street-name-lookup.js";
|
|
9
10
|
export { GEONAMES_ID_BASE, ingestGeonamesAliases } from "./geonames-aliases.js";
|
|
10
11
|
export { ADDRESS_POINT_COLUMNS, createAddressPointIndexes, createAddressPointTable } from "./address-point-schema.js";
|
|
11
12
|
export { WOFPostalCityAliasLookup, } from "./postal-city-alias-lookup.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;AAC5E,OAAO,EAAE,uBAAuB,EAAoC,MAAM,uBAAuB,CAAA;AAEjG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAA+B,MAAM,uBAAuB,CAAA;AAE5G,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAErH,OAAO,EACN,wBAAwB,GAGxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACN,6BAA6B,EAC7B,2BAA2B,EAC3B,8BAA8B,GAC9B,MAAM,mCAAmC,CAAA;AAG1C,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,EACN,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,WAAW,GAMX,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;AAC7D,OAAO,EACN,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EACN,kBAAkB,GAIlB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,GAGb,MAAM,eAAe,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,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAoC,MAAM,uBAAuB,CAAA;AACjG,OAAO,EAAE,sBAAsB,EAAmC,MAAM,yBAAyB,CAAA;AAEjG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAA+B,MAAM,uBAAuB,CAAA;AAE5G,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AAErH,OAAO,EACN,wBAAwB,GAGxB,MAAM,+BAA+B,CAAA;AAEtC,OAAO,EACN,6BAA6B,EAC7B,2BAA2B,EAC3B,8BAA8B,GAC9B,MAAM,mCAAmC,CAAA;AAG1C,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,EACN,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,WAAW,GAMX,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;AAC7D,OAAO,EACN,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,6BAA6B,CAAA;AAEpC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAA;AACjE,OAAO,EACN,kBAAkB,GAIlB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,GAGb,MAAM,eAAe,CAAA"}
|
|
@@ -49,6 +49,14 @@ export interface StreetCentroidTable {
|
|
|
49
49
|
source: string;
|
|
50
50
|
/** The pinned data release the underlying points came from. */
|
|
51
51
|
release: string;
|
|
52
|
+
/**
|
|
53
|
+
* #727 phase-4c: `foldStreetSurface(street_raw)` — the contract-fold street-NAME existence key for
|
|
54
|
+
* {@link StreetLocalityEvidence}. Distinct from `street_norm` (the `street-normalize` geocoding key): the
|
|
55
|
+
* name-evidence rerank folds the model's street surface with the SAME `foldStreetSurface` used to build this column
|
|
56
|
+
* (the fold-parity contract), so it must not drift from `street_norm`'s richer normalizer. Indexed (`idx_sc_name`)
|
|
57
|
+
* for a direct seek.
|
|
58
|
+
*/
|
|
59
|
+
name_key: string;
|
|
52
60
|
}
|
|
53
61
|
/** The street-centroid database schema for `new DatabaseClient<StreetCentroidDatabase>(...)`. */
|
|
54
62
|
export interface StreetCentroidDatabase {
|
|
@@ -58,9 +66,13 @@ export interface StreetCentroidDatabase {
|
|
|
58
66
|
* The `street_centroid` columns in INSERT order. The builder's positional prepared statement derives its placeholder
|
|
59
67
|
* list from this, so the positional order can't drift from the DDL / the reader.
|
|
60
68
|
*/
|
|
61
|
-
export declare const STREET_CENTROID_COLUMNS: readonly ["street_norm", "postcode", "locality_base", "lat", "lon", "min_lat", "max_lat", "min_lon", "max_lon", "point_count", "street_raw", "source", "release"];
|
|
69
|
+
export declare const STREET_CENTROID_COLUMNS: readonly ["street_norm", "postcode", "locality_base", "lat", "lon", "min_lat", "max_lat", "min_lon", "max_lon", "point_count", "street_raw", "source", "release", "name_key"];
|
|
62
70
|
/** Create the `street_centroid` table — called before the streaming bulk load. */
|
|
63
71
|
export declare function createStreetCentroidTable(db: Kysely<StreetCentroidDatabase>): Promise<void>;
|
|
64
|
-
/**
|
|
72
|
+
/**
|
|
73
|
+
* Create the probe indexes: the two geocoding-scope indexes (postcode, locality-base) the resolver reader relies on,
|
|
74
|
+
* plus `idx_sc_name` — the #727 phase-4c name-existence key for a direct `name_key = ?` seek (the unscoped fragment
|
|
75
|
+
* lookup; without it that query skip-scans `idx_sc_postcode` at ~5 ms/probe).
|
|
76
|
+
*/
|
|
65
77
|
export declare function createStreetCentroidIndexes(db: Kysely<StreetCentroidDatabase>): Promise<void>;
|
|
66
78
|
//# sourceMappingURL=street-centroid-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"street-centroid-schema.d.ts","sourceRoot":"","sources":["../street-centroid-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IACnC,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAA;IACnB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,sHAAsH;IACtH,aAAa,EAAE,MAAM,CAAA;IACrB,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAA;IACnB,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"street-centroid-schema.d.ts","sourceRoot":"","sources":["../street-centroid-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IACnC,iGAAiG;IACjG,WAAW,EAAE,MAAM,CAAA;IACnB,oFAAoF;IACpF,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,sHAAsH;IACtH,aAAa,EAAE,MAAM,CAAA;IACrB,qEAAqE;IACrE,GAAG,EAAE,MAAM,CAAA;IACX,sEAAsE;IACtE,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAA;IACnB,uFAAuF;IACvF,UAAU,EAAE,MAAM,CAAA;IAClB,6EAA6E;IAC7E,MAAM,EAAE,MAAM,CAAA;IACd,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED,iGAAiG;AACjG,MAAM,WAAW,sBAAsB;IACtC,eAAe,EAAE,mBAAmB,CAAA;CACpC;AAED;;;GAGG;AACH,eAAO,MAAM,uBAAuB,+KAe1B,CAAA;AAEV,kFAAkF;AAClF,wBAAsB,yBAAyB,CAAC,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBjG;AAED;;;;GAIG;AACH,wBAAsB,2BAA2B,CAAC,EAAE,EAAE,MAAM,CAAC,sBAAsB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnG"}
|
|
@@ -37,6 +37,7 @@ export const STREET_CENTROID_COLUMNS = [
|
|
|
37
37
|
"street_raw",
|
|
38
38
|
"source",
|
|
39
39
|
"release",
|
|
40
|
+
"name_key",
|
|
40
41
|
];
|
|
41
42
|
/** Create the `street_centroid` table — called before the streaming bulk load. */
|
|
42
43
|
export async function createStreetCentroidTable(db) {
|
|
@@ -55,9 +56,14 @@ export async function createStreetCentroidTable(db) {
|
|
|
55
56
|
.addColumn("street_raw", "text", (c) => c.notNull())
|
|
56
57
|
.addColumn("source", "text", (c) => c.notNull())
|
|
57
58
|
.addColumn("release", "text", (c) => c.notNull())
|
|
59
|
+
.addColumn("name_key", "text", (c) => c.notNull())
|
|
58
60
|
.execute();
|
|
59
61
|
}
|
|
60
|
-
/**
|
|
62
|
+
/**
|
|
63
|
+
* Create the probe indexes: the two geocoding-scope indexes (postcode, locality-base) the resolver reader relies on,
|
|
64
|
+
* plus `idx_sc_name` — the #727 phase-4c name-existence key for a direct `name_key = ?` seek (the unscoped fragment
|
|
65
|
+
* lookup; without it that query skip-scans `idx_sc_postcode` at ~5 ms/probe).
|
|
66
|
+
*/
|
|
61
67
|
export async function createStreetCentroidIndexes(db) {
|
|
62
68
|
await db.schema.createIndex("idx_sc_postcode").on("street_centroid").columns(["postcode", "street_norm"]).execute();
|
|
63
69
|
await db.schema
|
|
@@ -65,5 +71,6 @@ export async function createStreetCentroidIndexes(db) {
|
|
|
65
71
|
.on("street_centroid")
|
|
66
72
|
.columns(["locality_base", "street_norm"])
|
|
67
73
|
.execute();
|
|
74
|
+
await db.schema.createIndex("idx_sc_name").on("street_centroid").columns(["name_key"]).execute();
|
|
68
75
|
}
|
|
69
76
|
//# sourceMappingURL=street-centroid-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"street-centroid-schema.js","sourceRoot":"","sources":["../street-centroid-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;
|
|
1
|
+
{"version":3,"file":"street-centroid-schema.js","sourceRoot":"","sources":["../street-centroid-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAgDH;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACtC,aAAa;IACb,UAAU;IACV,eAAe;IACf,KAAK;IACL,KAAK;IACL,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;IACT,aAAa;IACb,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,UAAU;CACD,CAAA;AAEV,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,EAAkC;IACjF,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,iBAAiB,CAAC;SAC9B,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;SAC7B,SAAS,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACtD,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC5C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChD,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC/C,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAChD,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACjD,OAAO,EAAE,CAAA;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,EAAkC;IACnF,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;IACnH,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,iBAAiB,CAAC;SAC9B,EAAE,CAAC,iBAAiB,CAAC;SACrB,OAAO,CAAC,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;SACzC,OAAO,EAAE,CAAA;IACX,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,EAAE,CAAA;AACjG,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* #727 stage-2 phase 4c — the SQLite backend for {@link StreetLocalityEvidence}.
|
|
7
|
+
*
|
|
8
|
+
* Reads a street-name index (the FR instance = BAN `street-centroids-fr.db`, a `street_centroid`
|
|
9
|
+
* table of `street_norm × locality_base × postcode` rows) and answers "does this street surface
|
|
10
|
+
* exist as a name" for the k-best rerank. Sync-by-interface, `readOnly`, prepared statements,
|
|
11
|
+
* graceful-degrade on a tableless shard — the same reader discipline as `AddressPointSqliteLookup`.
|
|
12
|
+
*
|
|
13
|
+
* THE FOLD CONTRACT: the surface is folded with {@link foldStreetSurface} (the shared function),
|
|
14
|
+
* and the DB's `street_norm` column MUST have been built with that SAME fold or every hyphenated /
|
|
15
|
+
* apostrophe'd street silently misses. The current `street-centroids-fr.db` predates the contract
|
|
16
|
+
* fold (it folded without hyphen/apostrophe normalization); it must be REBUILT with
|
|
17
|
+
* `foldStreetSurface` + a `street_norm` index before this backend is wired in production. Until
|
|
18
|
+
* then this class is correct-by-construction against a fixture built with the contract fold, and
|
|
19
|
+
* the production rebuild is a tracked BAN-sdk follow-up.
|
|
20
|
+
*/
|
|
21
|
+
import { type StreetEvidenceScope, type StreetLocalityEvidence } from "@mailwoman/resolver";
|
|
22
|
+
export interface SQLiteStreetNameLookupOpts {
|
|
23
|
+
/** ISO-2 (upper-case) countries this index answers for. Default `["FR"]` (the BAN street-centroids instance). */
|
|
24
|
+
countries?: Iterable<string>;
|
|
25
|
+
/** Table name. Default `street_centroid`. */
|
|
26
|
+
table?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A {@link StreetLocalityEvidence} backed by a street-name SQLite index. Positive evidence only: any doubt (missing
|
|
30
|
+
* table, read miss) returns `false`, so the rerank fails open to the model's ranking.
|
|
31
|
+
*/
|
|
32
|
+
export declare class SQLiteStreetNameLookup implements StreetLocalityEvidence {
|
|
33
|
+
#private;
|
|
34
|
+
readonly countries: ReadonlySet<string>;
|
|
35
|
+
constructor(dbPath: string, opts?: SQLiteStreetNameLookupOpts);
|
|
36
|
+
hasStreetName(streetSurface: string, scope?: StreetEvidenceScope): boolean;
|
|
37
|
+
/** Close the underlying handle. */
|
|
38
|
+
close(): void;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=street-name-lookup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"street-name-lookup.d.ts","sourceRoot":"","sources":["../street-name-lookup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAIH,OAAO,EAAqB,KAAK,mBAAmB,EAAE,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AAiB9G,MAAM,WAAW,0BAA0B;IAC1C,iHAAiH;IACjH,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC5B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,sBAAsB;;IACpE,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;gBAM3B,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,0BAA+B;IAmBjE,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,mBAAmB,GAAG,OAAO;IAmB1E,mCAAmC;IACnC,KAAK,IAAI,IAAI;CAGb"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* #727 stage-2 phase 4c — the SQLite backend for {@link StreetLocalityEvidence}.
|
|
7
|
+
*
|
|
8
|
+
* Reads a street-name index (the FR instance = BAN `street-centroids-fr.db`, a `street_centroid`
|
|
9
|
+
* table of `street_norm × locality_base × postcode` rows) and answers "does this street surface
|
|
10
|
+
* exist as a name" for the k-best rerank. Sync-by-interface, `readOnly`, prepared statements,
|
|
11
|
+
* graceful-degrade on a tableless shard — the same reader discipline as `AddressPointSqliteLookup`.
|
|
12
|
+
*
|
|
13
|
+
* THE FOLD CONTRACT: the surface is folded with {@link foldStreetSurface} (the shared function),
|
|
14
|
+
* and the DB's `street_norm` column MUST have been built with that SAME fold or every hyphenated /
|
|
15
|
+
* apostrophe'd street silently misses. The current `street-centroids-fr.db` predates the contract
|
|
16
|
+
* fold (it folded without hyphen/apostrophe normalization); it must be REBUILT with
|
|
17
|
+
* `foldStreetSurface` + a `street_norm` index before this backend is wired in production. Until
|
|
18
|
+
* then this class is correct-by-construction against a fixture built with the contract fold, and
|
|
19
|
+
* the production rebuild is a tracked BAN-sdk follow-up.
|
|
20
|
+
*/
|
|
21
|
+
import { DatabaseSync } from "node:sqlite";
|
|
22
|
+
import { foldStreetSurface } from "@mailwoman/resolver";
|
|
23
|
+
function hasTable(db, table) {
|
|
24
|
+
const row = db.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ? LIMIT 1").get(table);
|
|
25
|
+
return row !== undefined;
|
|
26
|
+
}
|
|
27
|
+
function hasColumn(db, table, column) {
|
|
28
|
+
// `table` is a caller-controlled identifier (default `street_centroid`), not user input — safe to interpolate.
|
|
29
|
+
for (const row of db.prepare(`PRAGMA table_info(${table})`).all()) {
|
|
30
|
+
if (row.name === column)
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A {@link StreetLocalityEvidence} backed by a street-name SQLite index. Positive evidence only: any doubt (missing
|
|
37
|
+
* table, read miss) returns `false`, so the rerank fails open to the model's ranking.
|
|
38
|
+
*/
|
|
39
|
+
export class SQLiteStreetNameLookup {
|
|
40
|
+
countries;
|
|
41
|
+
#db;
|
|
42
|
+
#byName;
|
|
43
|
+
#byNameLocality;
|
|
44
|
+
#byNamePostcode;
|
|
45
|
+
constructor(dbPath, opts = {}) {
|
|
46
|
+
this.countries = new Set([...(opts.countries ?? ["FR"])].map((c) => c.toUpperCase()));
|
|
47
|
+
this.#db = new DatabaseSync(dbPath, { readOnly: true });
|
|
48
|
+
const table = opts.table ?? "street_centroid";
|
|
49
|
+
// Degrade gracefully on an empty/tableless shard — a no-op miss, never a crash (#568 discipline).
|
|
50
|
+
if (hasTable(this.#db, table)) {
|
|
51
|
+
// Prefer the #727 phase-4c `name_key` column (foldStreetSurface, indexed by `idx_sc_name` for a direct seek);
|
|
52
|
+
// fall back to `street_norm` on a pre-rebuild shard (a skip-scan, but correct). The fold used to build
|
|
53
|
+
// `name_key` MUST match `foldStreetSurface` here (the fold-parity contract).
|
|
54
|
+
const keyCol = hasColumn(this.#db, table, "name_key") ? "name_key" : "street_norm";
|
|
55
|
+
this.#byName = this.#db.prepare(`SELECT 1 FROM ${table} WHERE ${keyCol} = ? LIMIT 1`);
|
|
56
|
+
this.#byNameLocality = this.#db.prepare(`SELECT 1 FROM ${table} WHERE ${keyCol} = ? AND locality_base = ? LIMIT 1`);
|
|
57
|
+
this.#byNamePostcode = this.#db.prepare(`SELECT 1 FROM ${table} WHERE ${keyCol} = ? AND postcode = ? LIMIT 1`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
hasStreetName(streetSurface, scope) {
|
|
61
|
+
if (!this.#byName)
|
|
62
|
+
return false;
|
|
63
|
+
const norm = foldStreetSurface(streetSurface);
|
|
64
|
+
if (!norm)
|
|
65
|
+
return false;
|
|
66
|
+
// Scoped lookups tighten precision when the hypothesis carries a locality/postcode; a scoped MISS falls back to the
|
|
67
|
+
// unscoped probe (index incompleteness in the scope column is not evidence of absence — positive-evidence rule).
|
|
68
|
+
if (scope?.locality && this.#byNameLocality) {
|
|
69
|
+
if (this.#byNameLocality.get(norm, foldStreetSurface(scope.locality)) !== undefined)
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
if (scope?.postcode && this.#byNamePostcode) {
|
|
73
|
+
if (this.#byNamePostcode.get(norm, scope.postcode) !== undefined)
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
return this.#byName.get(norm) !== undefined;
|
|
77
|
+
}
|
|
78
|
+
/** Close the underlying handle. */
|
|
79
|
+
close() {
|
|
80
|
+
this.#db.close();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=street-name-lookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"street-name-lookup.js","sourceRoot":"","sources":["../street-name-lookup.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mailwoman/resolver-wof-sqlite",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.0",
|
|
4
4
|
"description": "Who's On First SQLite resolver — FTS5-backed PlaceLookup that resolves text queries to WOF place IDs + coordinates. Optional dependency for callers who want geocoding.",
|
|
5
5
|
"license": "AGPL-3.0-only OR LicenseRef-Commercial",
|
|
6
6
|
"repository": {
|
|
@@ -210,10 +210,10 @@
|
|
|
210
210
|
"access": "public"
|
|
211
211
|
},
|
|
212
212
|
"dependencies": {
|
|
213
|
-
"@mailwoman/codex": "
|
|
214
|
-
"@mailwoman/core": "
|
|
215
|
-
"@mailwoman/resolver": "
|
|
216
|
-
"@mailwoman/spatial": "
|
|
213
|
+
"@mailwoman/codex": "7.0.0",
|
|
214
|
+
"@mailwoman/core": "7.0.0",
|
|
215
|
+
"@mailwoman/resolver": "7.0.0",
|
|
216
|
+
"@mailwoman/spatial": "7.0.0",
|
|
217
217
|
"kysely": "^0.29.3"
|
|
218
218
|
}
|
|
219
219
|
}
|