@mailwoman/neural 4.16.2 → 5.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/address-system.d.ts +4 -5
- package/out/address-system.d.ts.map +1 -1
- package/out/address-system.js +4 -5
- package/out/address-system.js.map +1 -1
- package/out/anchor-inference.d.ts +16 -18
- package/out/anchor-inference.d.ts.map +1 -1
- package/out/anchor-inference.js +16 -18
- package/out/anchor-inference.js.map +1 -1
- package/out/browser.js +1 -1
- package/out/case-normalize.d.ts +13 -8
- package/out/case-normalize.d.ts.map +1 -1
- package/out/case-normalize.js +18 -11
- package/out/case-normalize.js.map +1 -1
- package/out/classifier.d.ts +125 -134
- package/out/classifier.d.ts.map +1 -1
- package/out/classifier.js +46 -49
- package/out/classifier.js.map +1 -1
- package/out/fst-prior.d.ts +19 -21
- package/out/fst-prior.d.ts.map +1 -1
- package/out/fst-prior.js +13 -14
- package/out/fst-prior.js.map +1 -1
- package/out/gazetteer-inference.d.ts +13 -16
- package/out/gazetteer-inference.d.ts.map +1 -1
- package/out/gazetteer-inference.js +13 -16
- package/out/gazetteer-inference.js.map +1 -1
- package/out/index.d.ts +1 -1
- package/out/index.js +1 -1
- package/out/labels.d.ts +9 -10
- package/out/labels.d.ts.map +1 -1
- package/out/labels.js +5 -6
- package/out/labels.js.map +1 -1
- package/out/onnx-runner.d.ts +33 -21
- package/out/onnx-runner.d.ts.map +1 -1
- package/out/onnx-runner.js +39 -19
- package/out/onnx-runner.js.map +1 -1
- package/out/postcode-anchor.d.ts +28 -34
- package/out/postcode-anchor.d.ts.map +1 -1
- package/out/postcode-anchor.js +48 -55
- package/out/postcode-anchor.js.map +1 -1
- package/out/postcode-binary-resolver.d.ts +10 -13
- package/out/postcode-binary-resolver.d.ts.map +1 -1
- package/out/postcode-binary-resolver.js +12 -15
- package/out/postcode-binary-resolver.js.map +1 -1
- package/out/postcode-repair.d.ts +5 -5
- package/out/postcode-repair.d.ts.map +1 -1
- package/out/postcode-repair.js +9 -10
- package/out/postcode-repair.js.map +1 -1
- package/out/proposal-classifier.d.ts +3 -3
- package/out/proposal-classifier.d.ts.map +1 -1
- package/out/proposal-classifier.js.map +1 -1
- package/out/query-shape-prior.d.ts +10 -11
- package/out/query-shape-prior.d.ts.map +1 -1
- package/out/query-shape-prior.js +12 -15
- package/out/query-shape-prior.js.map +1 -1
- package/out/scorer.d.ts +28 -31
- package/out/scorer.d.ts.map +1 -1
- package/out/scorer.js +39 -44
- package/out/scorer.js.map +1 -1
- package/out/soft-features.d.ts +12 -14
- package/out/soft-features.d.ts.map +1 -1
- package/out/soft-features.js +5 -6
- package/out/soft-features.js.map +1 -1
- package/out/span-bridge.d.ts +9 -11
- package/out/span-bridge.d.ts.map +1 -1
- package/out/span-bridge.js +8 -10
- package/out/span-bridge.js.map +1 -1
- package/out/span-proposal-prior.d.ts +13 -15
- package/out/span-proposal-prior.d.ts.map +1 -1
- package/out/span-proposal-prior.js +2 -2
- package/out/span-proposal-prior.js.map +1 -1
- package/out/span-proposer-lexicon.d.ts +2 -3
- package/out/span-proposer-lexicon.d.ts.map +1 -1
- package/out/span-proposer-lexicon.js +9 -10
- package/out/span-proposer-lexicon.js.map +1 -1
- package/out/street-morphology-prior.d.ts +11 -12
- package/out/street-morphology-prior.d.ts.map +1 -1
- package/out/street-morphology-prior.js +8 -9
- package/out/street-morphology-prior.js.map +1 -1
- package/out/tokenizer.d.ts +6 -7
- package/out/tokenizer.d.ts.map +1 -1
- package/out/tokenizer.js +6 -7
- package/out/tokenizer.js.map +1 -1
- package/out/unit-repair.d.ts +2 -2
- package/out/unit-repair.d.ts.map +1 -1
- package/out/unit-repair.js +11 -14
- package/out/unit-repair.js.map +1 -1
- package/out/viterbi.d.ts +13 -13
- package/out/viterbi.d.ts.map +1 -1
- package/out/viterbi.js +12 -12
- package/out/viterbi.js.map +1 -1
- package/out/vitest.config.d.ts.map +1 -1
- package/out/vitest.config.js.map +1 -1
- package/out/weights.d.ts +62 -71
- package/out/weights.d.ts.map +1 -1
- package/out/weights.js +33 -37
- package/out/weights.js.map +1 -1
- package/out/word-consistency.d.ts +4 -4
- package/out/word-consistency.d.ts.map +1 -1
- package/out/word-consistency.js +4 -4
- package/out/word-consistency.js.map +1 -1
- package/package.json +13 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postcode-binary-resolver.js","sourceRoot":"","sources":["../postcode-binary-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,MAAM,KAAK,GAAG,aAAa,CAAA,CAAC,qDAAqD;AACjF,MAAM,QAAQ,GAAG,CAAC,CAAA,CAAC,oCAAoC;AACvD,MAAM,KAAK,GAAG,KAAK,GAAG,EAAE,CAAA;AACxB,MAAM,KAAK,GAAG,KAAK,GAAG,GAAG,CAAA;AASzB;;;GAGG;AACH,SAAS,SAAS,CAAC,CAAS,EAAE,KAAa,EAAE,GAAe,EAAE,MAAc;IAC3E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE;QAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAC5F,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"postcode-binary-resolver.js","sourceRoot":"","sources":["../postcode-binary-resolver.ts"],"names":[],"mappings":"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"}
|
package/out/postcode-repair.d.ts
CHANGED
|
@@ -41,9 +41,9 @@ export interface PostcodeMatch {
|
|
|
41
41
|
priority: number;
|
|
42
42
|
}
|
|
43
43
|
/**
|
|
44
|
-
* Per-country postcode shape patterns, ordered most-specific → least. Alphanumeric patterns require
|
|
45
|
-
*
|
|
46
|
-
*
|
|
44
|
+
* Per-country postcode shape patterns, ordered most-specific → least. Alphanumeric patterns require uppercase letters
|
|
45
|
+
* (postcodes are conventionally uppercase, and the eval data has them uppercase) — this keeps them from matching
|
|
46
|
+
* ordinary lowercase prose.
|
|
47
47
|
*/
|
|
48
48
|
export declare const POSTCODE_PATTERNS: Array<{
|
|
49
49
|
label: string;
|
|
@@ -58,8 +58,8 @@ export interface RepairResult {
|
|
|
58
58
|
changed: number;
|
|
59
59
|
}
|
|
60
60
|
/**
|
|
61
|
-
* Repair postcode label spans in a decoded token sequence using per-country regexes. Returns a NEW
|
|
62
|
-
*
|
|
61
|
+
* Repair postcode label spans in a decoded token sequence using per-country regexes. Returns a NEW token array (inputs
|
|
62
|
+
* are not mutated) plus a change count.
|
|
63
63
|
*/
|
|
64
64
|
export declare function repairPostcodeLabels(text: string, input: readonly DecoderToken[]): RepairResult;
|
|
65
65
|
//# sourceMappingURL=postcode-repair.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postcode-repair.d.ts","sourceRoot":"","sources":["../postcode-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,+EAA+E;IAC/E,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;IACzB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAiB7F,CAAA;
|
|
1
|
+
{"version":3,"file":"postcode-repair.d.ts","sourceRoot":"","sources":["../postcode-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAE3D,qFAAqF;AACrF,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,+EAA+E;IAC/E,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;IACzB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,CAAA;CAChB;AAED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAiB7F,CAAA;AAyBD,6FAA6F;AAC7F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE,CAqB5D;AAED,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE,YAAY,EAAE,CAAA;IACtB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,CA8E/F"}
|
package/out/postcode-repair.js
CHANGED
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
* pattern-match (AU 4-digit, IN 6-digit, …).
|
|
32
32
|
*/
|
|
33
33
|
/**
|
|
34
|
-
* Per-country postcode shape patterns, ordered most-specific → least. Alphanumeric patterns require
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* Per-country postcode shape patterns, ordered most-specific → least. Alphanumeric patterns require uppercase letters
|
|
35
|
+
* (postcodes are conventionally uppercase, and the eval data has them uppercase) — this keeps them from matching
|
|
36
|
+
* ordinary lowercase prose.
|
|
37
37
|
*/
|
|
38
38
|
export const POSTCODE_PATTERNS = [
|
|
39
39
|
// --- Alphanumeric (eligible to ADD) ---
|
|
@@ -54,11 +54,10 @@ export const POSTCODE_PATTERNS = [
|
|
|
54
54
|
{ label: "NUM5", kind: "numeric", re: /\b\d{5}\b/g }, // US/FR/DE/ES 5-digit
|
|
55
55
|
];
|
|
56
56
|
/**
|
|
57
|
-
* Labels a postcode span is allowed to overwrite when the model emitted no postcode at all (ADD
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* postcode.
|
|
57
|
+
* Labels a postcode span is allowed to overwrite when the model emitted no postcode at all (ADD path). These are the
|
|
58
|
+
* geographic-container tags postcodes get confused with per the diagnostic ("often labeled as locality or O").
|
|
59
|
+
* Structural tags (house_number, street*, unit, po_box, venue, …) are intentionally absent so we never clobber a
|
|
60
|
+
* confidently-labeled street/number with a false postcode.
|
|
62
61
|
*/
|
|
63
62
|
const ADD_OVER_TAGS = new Set(["locality", "dependent_locality", "region", "subregion", "country"]);
|
|
64
63
|
const POSTCODE_B = "B-postcode";
|
|
@@ -95,8 +94,8 @@ export function collectMatches(text) {
|
|
|
95
94
|
return accepted;
|
|
96
95
|
}
|
|
97
96
|
/**
|
|
98
|
-
* Repair postcode label spans in a decoded token sequence using per-country regexes. Returns a NEW
|
|
99
|
-
*
|
|
97
|
+
* Repair postcode label spans in a decoded token sequence using per-country regexes. Returns a NEW token array (inputs
|
|
98
|
+
* are not mutated) plus a change count.
|
|
100
99
|
*/
|
|
101
100
|
export function repairPostcodeLabels(text, input) {
|
|
102
101
|
const matches = collectMatches(text);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postcode-repair.js","sourceRoot":"","sources":["../postcode-repair.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAcH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAoE;IACjG,yCAAyC;IACzC,mFAAmF;IACnF,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,wCAAwC,EAAE;IAC5E,+DAA+D;IAC/D,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,+BAA+B,EAAE;IACnE,uBAAuB;IACvB,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,cAAc,EAAE;IAClD,0FAA0F;IAC1F,2FAA2F;IAC3F,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,uBAAuB,EAAE;IAC3D,8BAA8B;IAC9B,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,WAAW;IACvE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,WAAW;IACrE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,WAAW;IACrE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,SAAS;IACnE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,sBAAsB;CAC5E,CAAA;AAED
|
|
1
|
+
{"version":3,"file":"postcode-repair.js","sourceRoot":"","sources":["../postcode-repair.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,9 @@ export interface NeuralProposalClassifierConfig {
|
|
|
25
25
|
/** The underlying neural classifier instance. */
|
|
26
26
|
classifier: NeuralAddressClassifier;
|
|
27
27
|
/**
|
|
28
|
-
* Component tags this classifier may emit. Defaults to the Stage 2 tag set (coarse +
|
|
29
|
-
*
|
|
30
|
-
*
|
|
28
|
+
* Component tags this classifier may emit. Defaults to the Stage 2 tag set (coarse + venue/street/house_number).
|
|
29
|
+
* v0.2.0 Stage 1 models never decode to the fine tags anyway, so the broader default is forwards-compat without
|
|
30
|
+
* back-compat risk.
|
|
31
31
|
*/
|
|
32
32
|
emits?: readonly ComponentTag[];
|
|
33
33
|
/** Locales this classifier is active for. `["*"]` (locale-agnostic) by default. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal-classifier.d.ts","sourceRoot":"","sources":["../proposal-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAGX,YAAY,EACZ,kBAAkB,EAElB,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"proposal-classifier.d.ts","sourceRoot":"","sources":["../proposal-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAGX,YAAY,EACZ,kBAAkB,EAElB,MAAM,uBAAuB,CAAA;AAE9B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAG9D,MAAM,WAAW,8BAA8B;IAC9C,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAA;IACV,iDAAiD;IACjD,UAAU,EAAE,uBAAuB,CAAA;IACnC;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;IAC/B,mFAAmF;IACnF,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAA;IACnC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,0EAA0E;AAC1E,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,8BAA8B,GAAG,kBAAkB,CAiDtG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proposal-classifier.js","sourceRoot":"","sources":["../proposal-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"proposal-classifier.js","sourceRoot":"","sources":["../proposal-classifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAaH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAmBzC,0EAA0E;AAC1E,MAAM,UAAU,8BAA8B,CAAC,GAAmC;IACjF,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,WAAW,CAAA;IACtC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAe,KAAgC,CAAC,CAAA;IACxE,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAA;IAEhC,KAAK,UAAU,QAAQ,CAAC,OAAgB,EAAE,IAAuB;QAChE,0FAA0F;QAC1F,yFAAyF;QACzF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/E,MAAM,SAAS,GAA6B,EAAE,CAAA;QAC9C,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAA;QAEnC,MAAM,KAAK,GAAG,CAAC,IAAiB,EAAQ,EAAE;YACzC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,wFAAwF;gBACxF,oFAAoF;gBACpF,uFAAuF;gBACvF,iFAAiF;gBACjF,mFAAmF;gBACnF,2EAA2E;gBAC3E,MAAM,IAAI,GAAG;oBACZ,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC,KAAK;oBACjC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC,GAAG;oBAC7B,IAAI,EAAE,IAAI,CAAC,KAAK;iBACG,CAAA;gBACpB,SAAS,CAAC,IAAI,CAAC;oBACd,IAAI;oBACJ,SAAS,EAAE,IAAI,CAAC,GAAG;oBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,GAAG,CAAC,EAAE;oBACjB,OAAO;iBACP,CAAC,CAAA;YACH,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ;gBAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAChD,CAAC,CAAA;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,CAAA;QAE1C,OAAO,SAAS,CAAA;IACjB,CAAC;IAED,OAAO;QACN,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK;QACL,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC;QAC7B,QAAQ;KACR,CAAA;AACF,CAAC"}
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* `@mailwoman/query-shape` — consumers compute the shape with that package, pass it in here.
|
|
20
20
|
*/
|
|
21
21
|
/**
|
|
22
|
-
* Minimal subset of `QueryShape` this module consumes. Compatible with `@mailwoman/query-shape`'s
|
|
23
|
-
*
|
|
22
|
+
* Minimal subset of `QueryShape` this module consumes. Compatible with `@mailwoman/query-shape`'s exported `QueryShape`
|
|
23
|
+
* type by shape — no import required.
|
|
24
24
|
*/
|
|
25
25
|
export interface QueryShapeLike {
|
|
26
26
|
knownFormats: ReadonlyArray<KnownFormatHitLike>;
|
|
@@ -46,25 +46,24 @@ export interface TokenLike {
|
|
|
46
46
|
}
|
|
47
47
|
export interface BuildPriorsOpts {
|
|
48
48
|
/**
|
|
49
|
-
* Maximum bias magnitude (in log-odds units). Default 1.0 — adds up to ~e^1 ≈ 2.7× odds to the
|
|
50
|
-
*
|
|
49
|
+
* Maximum bias magnitude (in log-odds units). Default 1.0 — adds up to ~e^1 ≈ 2.7× odds to the favored label.
|
|
50
|
+
* Confidence-scaled, so a 0.6-confidence format hit gets +0.6 max bias.
|
|
51
51
|
*/
|
|
52
52
|
biasScale?: number;
|
|
53
53
|
/**
|
|
54
|
-
* Bias magnitude for the locality soft prior (in log-odds units). Default 2.0 — adds ~e^2 ≈ 7.4×
|
|
55
|
-
*
|
|
54
|
+
* Bias magnitude for the locality soft prior (in log-odds units). Default 2.0 — adds ~e^2 ≈ 7.4× odds to B-locality /
|
|
55
|
+
* I-locality for tokens preceding a detected region abbreviation.
|
|
56
56
|
*/
|
|
57
57
|
localityBiasScale?: number;
|
|
58
58
|
/** Raw input text for region-name matching in the locality bias guard. */
|
|
59
59
|
inputText?: string;
|
|
60
60
|
}
|
|
61
61
|
/**
|
|
62
|
-
* Build a `[seqLen][numLabels]` matrix of additive log-bias to be added to encoder emissions before
|
|
63
|
-
* Viterbi decoding.
|
|
62
|
+
* Build a `[seqLen][numLabels]` matrix of additive log-bias to be added to encoder emissions before Viterbi decoding.
|
|
64
63
|
*
|
|
65
|
-
* For each (token, format-hit) pair where the token's character span overlaps the hit's span, the
|
|
66
|
-
*
|
|
67
|
-
*
|
|
64
|
+
* For each (token, format-hit) pair where the token's character span overlaps the hit's span, the matrix entry for the
|
|
65
|
+
* format's mapped label receives `hit.confidence × biasScale`. Tokens that don't overlap any hit, or for which no label
|
|
66
|
+
* mapping exists, get 0.
|
|
68
67
|
*
|
|
69
68
|
* Returns the all-zeros matrix if `shape.knownFormats` is empty — composes harmlessly.
|
|
70
69
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-shape-prior.d.ts","sourceRoot":"","sources":["../query-shape-prior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,YAAY,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC/C,mBAAmB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,yBAAyB;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAiBD,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED
|
|
1
|
+
{"version":3,"file":"query-shape-prior.d.ts","sourceRoot":"","sources":["../query-shape-prior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B,YAAY,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC/C,mBAAmB,CAAC,EAAE,aAAa,CAAC,yBAAyB,CAAC,CAAA;CAC9D;AAED,MAAM,WAAW,yBAAyB;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,4EAA4E;IAC5E,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAiBD,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAClC,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,EAChC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,EAC7B,IAAI,GAAE,eAAoB,GACxB,MAAM,EAAE,EAAE,CA0CZ;AAkJD,0EAA0E;AAC1E,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,EAAE,CAcvF"}
|
package/out/query-shape-prior.js
CHANGED
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
* `@mailwoman/query-shape` — consumers compute the shape with that package, pass it in here.
|
|
20
20
|
*/
|
|
21
21
|
/**
|
|
22
|
-
* Mapping from `KnownFormat` strings to the BIO label that should be boosted. Multiple formats may
|
|
23
|
-
*
|
|
22
|
+
* Mapping from `KnownFormat` strings to the BIO label that should be boosted. Multiple formats may map to the same
|
|
23
|
+
* label (all postcode flavors → `B-postcode`).
|
|
24
24
|
*/
|
|
25
25
|
const FORMAT_TO_LABEL = new Map([
|
|
26
26
|
["us_zip", "B-postcode"],
|
|
@@ -33,12 +33,11 @@ const FORMAT_TO_LABEL = new Map([
|
|
|
33
33
|
["po_box", "B-po_box"],
|
|
34
34
|
]);
|
|
35
35
|
/**
|
|
36
|
-
* Build a `[seqLen][numLabels]` matrix of additive log-bias to be added to encoder emissions before
|
|
37
|
-
* Viterbi decoding.
|
|
36
|
+
* Build a `[seqLen][numLabels]` matrix of additive log-bias to be added to encoder emissions before Viterbi decoding.
|
|
38
37
|
*
|
|
39
|
-
* For each (token, format-hit) pair where the token's character span overlaps the hit's span, the
|
|
40
|
-
*
|
|
41
|
-
*
|
|
38
|
+
* For each (token, format-hit) pair where the token's character span overlaps the hit's span, the matrix entry for the
|
|
39
|
+
* format's mapped label receives `hit.confidence × biasScale`. Tokens that don't overlap any hit, or for which no label
|
|
40
|
+
* mapping exists, get 0.
|
|
42
41
|
*
|
|
43
42
|
* Returns the all-zeros matrix if `shape.knownFormats` is empty — composes harmlessly.
|
|
44
43
|
*/
|
|
@@ -81,16 +80,14 @@ export function buildEmissionPriors(shape, tokens, labels, opts = {}) {
|
|
|
81
80
|
/**
|
|
82
81
|
* Apply locality bias to tokens preceding a detected region abbreviation.
|
|
83
82
|
*
|
|
84
|
-
* For "Washington, DC" — "DC" is the region abbreviation; "Washington" gets biased toward
|
|
85
|
-
*
|
|
83
|
+
* For "Washington, DC" — "DC" is the region abbreviation; "Washington" gets biased toward B-locality. For "New York,
|
|
84
|
+
* NY" — "New" gets B-locality and "York" gets I-locality.
|
|
86
85
|
*
|
|
87
|
-
* Guard: if the preceding text matches the full name of the region that the abbreviation represents
|
|
88
|
-
*
|
|
89
|
-
* a locality within it.
|
|
86
|
+
* Guard: if the preceding text matches the full name of the region that the abbreviation represents (e.g., "Washington"
|
|
87
|
+
* before "WA"), the locality bias is NOT applied — the text IS the region, not a locality within it.
|
|
90
88
|
*
|
|
91
|
-
* Constraint: only bias tokens that appear BEFORE the abbreviation's character offset and are
|
|
92
|
-
*
|
|
93
|
-
* themselves region abbreviations are skipped.
|
|
89
|
+
* Constraint: only bias tokens that appear BEFORE the abbreviation's character offset and are alphabetic (start with
|
|
90
|
+
* uppercase). Tokens that are part of a known postcode format or are themselves region abbreviations are skipped.
|
|
94
91
|
*/
|
|
95
92
|
function applyLocalityBias(matrix, shape, tokens, labelToCol, localityBias, inputText) {
|
|
96
93
|
const abbrevs = shape.regionAbbreviations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-shape-prior.js","sourceRoot":"","sources":["../query-shape-prior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA6BH;;;GAGG;AACH,MAAM,eAAe,GAAgC,IAAI,GAAG,CAAC;IAC5D,CAAC,QAAQ,EAAE,YAAY,CAAC;IACxB,CAAC,SAAS,EAAE,YAAY,CAAC;IACzB,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,QAAQ,EAAE,UAAU,CAAC;CACtB,CAAC,CAAA;AAkBF
|
|
1
|
+
{"version":3,"file":"query-shape-prior.js","sourceRoot":"","sources":["../query-shape-prior.ts"],"names":[],"mappings":"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"}
|
package/out/scorer.d.ts
CHANGED
|
@@ -17,16 +17,15 @@
|
|
|
17
17
|
* loudly instead of throwing (silent OOD is the bug, not the ablation).
|
|
18
18
|
*
|
|
19
19
|
* **Node-only.** Reads the model card, anchor lookup, and gazetteer lexicon from disk and
|
|
20
|
-
* constructs the `
|
|
20
|
+
* constructs the `ONNXRunner` (onnxruntime-node). Subpath `./scorer`; never import from the
|
|
21
21
|
* browser bundle.
|
|
22
22
|
*/
|
|
23
23
|
import { NeuralAddressClassifier } from "./classifier.js";
|
|
24
24
|
/**
|
|
25
|
-
* Delta threshold for the capability-manifest gate (#718/#719): a conventions row may forbid a tag
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* F1.
|
|
25
|
+
* Delta threshold for the capability-manifest gate (#718/#719): a conventions row may forbid a tag only if the mask
|
|
26
|
+
* does NOT provably destroy a real capability — i.e. `maskOffF1 − maskOnF1 ≤ 5pp`. A DELTA, not an absolute floor: a
|
|
27
|
+
* tag the model emits at 0.80 is protected if the mask drops it to 0.0, but a tag the mask leaves intact (small/zero
|
|
28
|
+
* delta) is legal regardless of its absolute F1.
|
|
30
29
|
*/
|
|
31
30
|
export declare const CAPABILITY_DELTA_THRESHOLD = 0.05;
|
|
32
31
|
/** Default postcode→anchor lookup (the pilot lookup the shipped en-us model trained against). */
|
|
@@ -34,9 +33,9 @@ export declare const DEFAULT_ANCHOR_LOOKUP: string;
|
|
|
34
33
|
/** Default gazetteer-anchor lexicon (codex-generated, repo-relative). */
|
|
35
34
|
export declare const DEFAULT_GAZETTEER_LEXICON = "data/gazetteer/anchor-lexicon-v1.json";
|
|
36
35
|
/**
|
|
37
|
-
* Per-channel overrides for a deliberate, DECLARED ablation. Setting any of these to a value
|
|
38
|
-
*
|
|
39
|
-
*
|
|
36
|
+
* Per-channel overrides for a deliberate, DECLARED ablation. Setting any of these to a value diverts the scorer from
|
|
37
|
+
* the model-card's declared SHIP-CONFIG; the scorer honors it but emits a loud `console.error` warning (a stated
|
|
38
|
+
* ablation is legal — silent OOD is not, #566/#685).
|
|
40
39
|
*/
|
|
41
40
|
export interface ScorerOverrides {
|
|
42
41
|
/** `false` to ablate the anchor channel even when the card declares it required. */
|
|
@@ -44,8 +43,8 @@ export interface ScorerOverrides {
|
|
|
44
43
|
/** `false` to ablate the gazetteer channel even when the card declares it required. */
|
|
45
44
|
gazetteer?: boolean;
|
|
46
45
|
/**
|
|
47
|
-
* Pin / disable the conventions mode (`"auto"` | a `SystemCode` | `false` to disable) regardless
|
|
48
|
-
*
|
|
46
|
+
* Pin / disable the conventions mode (`"auto"` | a `SystemCode` | `false` to disable) regardless of the card's
|
|
47
|
+
* declaration.
|
|
49
48
|
*/
|
|
50
49
|
conventions?: "auto" | string | false;
|
|
51
50
|
/** Override the bridge declaration. */
|
|
@@ -61,45 +60,43 @@ export interface CreateScorerOpts {
|
|
|
61
60
|
/** Path to the `model-card.json` (label vocab + the `requires` ship-config). */
|
|
62
61
|
modelCardPath: string;
|
|
63
62
|
/**
|
|
64
|
-
* Postcode→anchor lookup path. Default {@link DEFAULT_ANCHOR_LOOKUP} when it exists, else the
|
|
65
|
-
*
|
|
63
|
+
* Postcode→anchor lookup path. Default {@link DEFAULT_ANCHOR_LOOKUP} when it exists, else the soft-feed sibling
|
|
64
|
+
* shipped in the `@mailwoman/neural-weights-<locale>` package (#718 D1).
|
|
66
65
|
*/
|
|
67
66
|
anchorLookupPath?: string;
|
|
68
67
|
/**
|
|
69
|
-
* Gazetteer-anchor lexicon path. Default {@link DEFAULT_GAZETTEER_LEXICON} when it exists, else
|
|
70
|
-
*
|
|
68
|
+
* Gazetteer-anchor lexicon path. Default {@link DEFAULT_GAZETTEER_LEXICON} when it exists, else the soft-feed sibling
|
|
69
|
+
* shipped in the weights package (#718 D1).
|
|
71
70
|
*/
|
|
72
71
|
gazetteerLexiconPath?: string;
|
|
73
72
|
/**
|
|
74
|
-
* Locale tag (e.g. `"en-us"`) used to resolve the weights-package soft-feed siblings when the
|
|
75
|
-
*
|
|
76
|
-
*
|
|
73
|
+
* Locale tag (e.g. `"en-us"`) used to resolve the weights-package soft-feed siblings when the default `/mnt` /
|
|
74
|
+
* repo-relative paths are absent (#718 D1). Only consulted for that fallback; the model/tokenizer/card are always
|
|
75
|
+
* explicit on this path.
|
|
77
76
|
*/
|
|
78
77
|
locale?: string;
|
|
79
78
|
/**
|
|
80
|
-
* Fail CLOSED (throw) when the model-card declares a channel required but it isn't actually fed.
|
|
81
|
-
*
|
|
82
|
-
* this module exists to catch.
|
|
79
|
+
* Fail CLOSED (throw) when the model-card declares a channel required but it isn't actually fed. Default `true`. Set
|
|
80
|
+
* `false` only for throwaway debugging — a below-config scorer is the trap this module exists to catch.
|
|
83
81
|
*/
|
|
84
82
|
strict?: boolean;
|
|
85
83
|
/**
|
|
86
|
-
* Serving tier whose certified capabilities the load-time delta-gate (#718/#719) reads from the
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* capability claims to consult and is a no-op (legal).
|
|
84
|
+
* Serving tier whose certified capabilities the load-time delta-gate (#718/#719) reads from the card's `capabilities`
|
|
85
|
+
* block: `"server"` (anchor+gazetteer — the production default) or `"pocket"` (anchor-only). Default `"server"`. A
|
|
86
|
+
* tier the card doesn't certify → the gate has no capability claims to consult and is a no-op (legal).
|
|
90
87
|
*/
|
|
91
88
|
tier?: string;
|
|
92
89
|
/** Deliberate, DECLARED ablations (warn-not-throw). See {@link ScorerOverrides}. */
|
|
93
90
|
overrides?: ScorerOverrides;
|
|
94
91
|
}
|
|
95
92
|
/**
|
|
96
|
-
* Construct a `NeuralAddressClassifier` wired to the model-card's declared SHIP-CONFIG (anchor +
|
|
97
|
-
*
|
|
98
|
-
*
|
|
93
|
+
* Construct a `NeuralAddressClassifier` wired to the model-card's declared SHIP-CONFIG (anchor + gazetteer +
|
|
94
|
+
* conventions + bridge + near-postcode suppression), failing closed in `strict` mode when a declared channel can't
|
|
95
|
+
* actually be fed.
|
|
99
96
|
*
|
|
100
|
-
* Resolution of "what's required": the card's `requires` block when present; otherwise INFERRED
|
|
101
|
-
*
|
|
102
|
-
*
|
|
97
|
+
* Resolution of "what's required": the card's `requires` block when present; otherwise INFERRED from the ONNX graph's
|
|
98
|
+
* input names (back-compat for every pre-#718 bundle). Explicit `overrides` divert from the declaration with a loud
|
|
99
|
+
* warning rather than a throw.
|
|
103
100
|
*/
|
|
104
101
|
export declare function createScorer(opts: CreateScorerOpts): Promise<NeuralAddressClassifier>;
|
|
105
102
|
//# sourceMappingURL=scorer.d.ts.map
|
package/out/scorer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scorer.d.ts","sourceRoot":"","sources":["../scorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAezD
|
|
1
|
+
{"version":3,"file":"scorer.d.ts","sourceRoot":"","sources":["../scorer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAezD;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,OAAO,CAAA;AAE9C,iGAAiG;AACjG,eAAO,MAAM,qBAAqB,QAAqD,CAAA;AAEvF,yEAAyE;AACzE,eAAO,MAAM,yBAAyB,0CAA0C,CAAA;AAyChF;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC/B,oFAAoF;IACpF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,uFAAuF;IACvF,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IACrC,uCAAuC;IACvC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,yDAAyD;IACzD,6BAA6B,CAAC,EAAE,OAAO,CAAA;CACvC;AAED,MAAM,WAAW,gBAAgB;IAChC,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,qCAAqC;IACrC,aAAa,EAAE,MAAM,CAAA;IACrB,gFAAgF;IAChF,aAAa,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,SAAS,CAAC,EAAE,eAAe,CAAA;CAC3B;AAiFD;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAgJ3F"}
|
package/out/scorer.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* loudly instead of throwing (silent OOD is the bug, not the ablation).
|
|
18
18
|
*
|
|
19
19
|
* **Node-only.** Reads the model card, anchor lookup, and gazetteer lexicon from disk and
|
|
20
|
-
* constructs the `
|
|
20
|
+
* constructs the `ONNXRunner` (onnxruntime-node). Subpath `./scorer`; never import from the
|
|
21
21
|
* browser bundle.
|
|
22
22
|
*/
|
|
23
23
|
import { existsSync, readFileSync } from "node:fs";
|
|
@@ -26,16 +26,15 @@ import { dataRootPath } from "@mailwoman/core/utils";
|
|
|
26
26
|
import { parseAnchorLookup } from "./anchor-inference.js";
|
|
27
27
|
import { NeuralAddressClassifier } from "./classifier.js";
|
|
28
28
|
import { parseGazetteerLexicon } from "./gazetteer-inference.js";
|
|
29
|
-
import {
|
|
29
|
+
import { ONNXRunner } from "./onnx-runner.js";
|
|
30
30
|
import { PostcodeBinaryResolver } from "./postcode-binary-resolver.js";
|
|
31
31
|
import { MailwomanTokenizer } from "./tokenizer.js";
|
|
32
32
|
import { inferRequiredChannelsFromInputs, lookupTagCapability, readCapabilityManifest, readLabelsFromModelCard, readRequiredChannels, resolveWeights, } from "./weights.js";
|
|
33
33
|
/**
|
|
34
|
-
* Delta threshold for the capability-manifest gate (#718/#719): a conventions row may forbid a tag
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* F1.
|
|
34
|
+
* Delta threshold for the capability-manifest gate (#718/#719): a conventions row may forbid a tag only if the mask
|
|
35
|
+
* does NOT provably destroy a real capability — i.e. `maskOffF1 − maskOnF1 ≤ 5pp`. A DELTA, not an absolute floor: a
|
|
36
|
+
* tag the model emits at 0.80 is protected if the mask drops it to 0.0, but a tag the mask leaves intact (small/zero
|
|
37
|
+
* delta) is legal regardless of its absolute F1.
|
|
39
38
|
*/
|
|
40
39
|
export const CAPABILITY_DELTA_THRESHOLD = 0.05;
|
|
41
40
|
/** Default postcode→anchor lookup (the pilot lookup the shipped en-us model trained against). */
|
|
@@ -43,11 +42,11 @@ export const DEFAULT_ANCHOR_LOOKUP = dataRootPath("anchor", "pilot-anchor-lookup
|
|
|
43
42
|
/** Default gazetteer-anchor lexicon (codex-generated, repo-relative). */
|
|
44
43
|
export const DEFAULT_GAZETTEER_LEXICON = "data/gazetteer/anchor-lexicon-v1.json";
|
|
45
44
|
/**
|
|
46
|
-
* Resolve the anchor lookup source the scorer feeds when the caller passes no `anchorLookupPath`
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
45
|
+
* Resolve the anchor lookup source the scorer feeds when the caller passes no `anchorLookupPath` (#718 D1): prefer the
|
|
46
|
+
* operator's local pilot JSON (the eval's historical default — unchanged when present), else fall back to the soft-feed
|
|
47
|
+
* sibling the weights package SHIPS (`postcode-<cc>.bin` / `anchor-lookup.json`), so eval + serving read the SAME
|
|
48
|
+
* artifact. Returns `undefined` when neither exists (the scorer then fails closed on a declared-required anchor, as
|
|
49
|
+
* before).
|
|
51
50
|
*/
|
|
52
51
|
function defaultAnchorSource(locale) {
|
|
53
52
|
if (existsSync(DEFAULT_ANCHOR_LOOKUP))
|
|
@@ -60,9 +59,9 @@ function defaultAnchorSource(locale) {
|
|
|
60
59
|
}
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
|
-
* Resolve the gazetteer lexicon path the scorer feeds when the caller passes no
|
|
64
|
-
*
|
|
65
|
-
*
|
|
62
|
+
* Resolve the gazetteer lexicon path the scorer feeds when the caller passes no `gazetteerLexiconPath` (#718 D1):
|
|
63
|
+
* prefer the repo-relative codex lexicon (the eval default — unchanged when present), else the soft-feed sibling
|
|
64
|
+
* shipped in the weights package.
|
|
66
65
|
*/
|
|
67
66
|
function defaultGazetteerLexicon(locale) {
|
|
68
67
|
if (existsSync(DEFAULT_GAZETTEER_LEXICON))
|
|
@@ -88,10 +87,9 @@ class UnfedChannelError extends Error {
|
|
|
88
87
|
}
|
|
89
88
|
}
|
|
90
89
|
/**
|
|
91
|
-
* A loud, descriptive fail-closed error for a conventions mask that would destroy a CERTIFIED
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
* demonstrably emits) impossible to ship.
|
|
90
|
+
* A loud, descriptive fail-closed error for a conventions mask that would destroy a CERTIFIED capability (#718/#719).
|
|
91
|
+
* Thrown by {@link assertConventionsRespectCapabilities} — the structural guard that makes the D2/#719 bug-class (a
|
|
92
|
+
* `forbiddenTags` row suppressing a tag the model demonstrably emits) impossible to ship.
|
|
95
93
|
*/
|
|
96
94
|
class CapabilityViolationError extends Error {
|
|
97
95
|
constructor(message) {
|
|
@@ -100,24 +98,21 @@ class CapabilityViolationError extends Error {
|
|
|
100
98
|
}
|
|
101
99
|
}
|
|
102
100
|
/**
|
|
103
|
-
* The load-time delta-gate (#718/#719). Iterate the codex `ADDRESS_SYSTEM_CONVENTIONS`; for every
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
101
|
+
* The load-time delta-gate (#718/#719). Iterate the codex `ADDRESS_SYSTEM_CONVENTIONS`; for every `forbiddenTags`
|
|
102
|
+
* entry, look up the loaded tier's certified capability for that (system, tag). The forbid is ILLEGAL — the mask
|
|
103
|
+
* provably destroys a real capability — when the model is certified to emit the tag (`maskOffF1` present) and the mask
|
|
104
|
+
* measurably drops it:
|
|
107
105
|
*
|
|
108
|
-
*
|
|
109
|
-
* maskOffF1 − (maskOnF1 ?? 0) > CAPABILITY_DELTA_THRESHOLD
|
|
110
|
-
* ```
|
|
106
|
+
* maskOffF1 − (maskOnF1 ?? 0) > CAPABILITY_DELTA_THRESHOLD
|
|
111
107
|
*
|
|
112
|
-
* A forbidden tag with NO capability entry (model not certified there), or one whose `maskOnF1`
|
|
113
|
-
*
|
|
114
|
-
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
* it is rejected at load time.
|
|
108
|
+
* A forbidden tag with NO capability entry (model not certified there), or one whose `maskOnF1` shows the mask leaves
|
|
109
|
+
* it intact (small/zero/negative delta), is LEGAL. When `maskOnF1` is ABSENT for a certified tag, the mask's effect was
|
|
110
|
+
* never measured — and since the mask is a hard −1e9 emission ban, we conservatively assume full destruction (delta =
|
|
111
|
+
* maskOffF1 − 0). That's the #719 shape: FR `street_prefix` certified at maskOff 80.0, no benign mask-on measurement →
|
|
112
|
+
* forbidding it is rejected at load time.
|
|
118
113
|
*
|
|
119
|
-
* Back-compat: a card with no `capabilities` block (pre-#718) has no claims to consult, so the gate
|
|
120
|
-
*
|
|
114
|
+
* Back-compat: a card with no `capabilities` block (pre-#718) has no claims to consult, so the gate is a one-time-warn
|
|
115
|
+
* no-op and the model still loads.
|
|
121
116
|
*/
|
|
122
117
|
let warnedNoCapabilities = false;
|
|
123
118
|
function assertConventionsRespectCapabilities(modelCardPath, tier, strict) {
|
|
@@ -150,13 +145,13 @@ function assertConventionsRespectCapabilities(modelCardPath, tier, strict) {
|
|
|
150
145
|
}
|
|
151
146
|
}
|
|
152
147
|
/**
|
|
153
|
-
* Construct a `NeuralAddressClassifier` wired to the model-card's declared SHIP-CONFIG (anchor +
|
|
154
|
-
*
|
|
155
|
-
*
|
|
148
|
+
* Construct a `NeuralAddressClassifier` wired to the model-card's declared SHIP-CONFIG (anchor + gazetteer +
|
|
149
|
+
* conventions + bridge + near-postcode suppression), failing closed in `strict` mode when a declared channel can't
|
|
150
|
+
* actually be fed.
|
|
156
151
|
*
|
|
157
|
-
* Resolution of "what's required": the card's `requires` block when present; otherwise INFERRED
|
|
158
|
-
*
|
|
159
|
-
*
|
|
152
|
+
* Resolution of "what's required": the card's `requires` block when present; otherwise INFERRED from the ONNX graph's
|
|
153
|
+
* input names (back-compat for every pre-#718 bundle). Explicit `overrides` divert from the declaration with a loud
|
|
154
|
+
* warning rather than a throw.
|
|
160
155
|
*/
|
|
161
156
|
export async function createScorer(opts) {
|
|
162
157
|
const strict = opts.strict ?? true;
|
|
@@ -172,7 +167,7 @@ export async function createScorer(opts) {
|
|
|
172
167
|
const labels = readLabelsFromModelCard(opts.modelCardPath);
|
|
173
168
|
const [tokenizer, runner] = await Promise.all([
|
|
174
169
|
MailwomanTokenizer.loadFromFile(opts.tokenizerPath),
|
|
175
|
-
|
|
170
|
+
ONNXRunner.create(opts.modelPath),
|
|
176
171
|
]);
|
|
177
172
|
// What the model DECLARES it needs. Card `requires` block is authoritative; older cards (no block)
|
|
178
173
|
// fall back to the ONNX graph's declared inputs — a model exporting anchor_features/gazetteer_features
|
|
@@ -274,9 +269,9 @@ export async function createScorer(opts) {
|
|
|
274
269
|
});
|
|
275
270
|
}
|
|
276
271
|
/**
|
|
277
|
-
* Throw in strict mode; otherwise warn loudly and continue (deliberate below-config debugging).
|
|
278
|
-
*
|
|
279
|
-
*
|
|
272
|
+
* Throw in strict mode; otherwise warn loudly and continue (deliberate below-config debugging). `ErrorClass` defaults
|
|
273
|
+
* to {@link UnfedChannelError} (the channel-feed traps); the capability-gate passes {@link CapabilityViolationError} so
|
|
274
|
+
* the two fail-closed families are distinguishable.
|
|
280
275
|
*/
|
|
281
276
|
function fail(strict, message, ErrorClass = UnfedChannelError) {
|
|
282
277
|
const full = `[createScorer] ${message}`;
|