@mailwoman/core 4.3.0 → 4.5.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.
@@ -10,5 +10,7 @@ export type { ClassifierCandidate, ParentChainLookup, ParseTree, ReconcileInputs
10
10
  export { runPipeline } from "./runtime-pipeline.js";
11
11
  export { aggregateSpanLogits } from "./span-logit-aggregation.js";
12
12
  export type { SpanBounds, TokenPiece } from "./span-logit-aggregation.js";
13
+ export { EMPTY_SPAN_PROPOSER_LEXICON, proposeSpans } from "./span-proposer.js";
14
+ export type { ProposedSpan, ProposedSpanKind, SpanProposerLexicon } from "./span-proposer.js";
13
15
  export type { AddressClassifier, ClassifierOpts, FstMatcherLike, LocaleHint, LocaleTag, NormalizedInputLite, PhraseGrouper, PhraseKind, PhraseProposal, PipelineOpts, PipelineResult, PipelineTiming, QueryKind, QueryKindResult, QueryShapeLite, RuntimePipelineStages, UserLocation, } from "./types.js";
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EACX,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,cAAc,GACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACzE,YAAY,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,YAAY,GACZ,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EACX,mBAAmB,EACnB,iBAAiB,EACjB,SAAS,EACT,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,cAAc,GACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AACzE,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC9E,YAAY,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7F,YAAY,EACX,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,cAAc,EACd,SAAS,EACT,eAAe,EACf,cAAc,EACd,qBAAqB,EACrB,YAAY,GACZ,MAAM,YAAY,CAAA"}
@@ -8,4 +8,5 @@
8
8
  export { reconcileSpans } from "./reconcile.js";
9
9
  export { runPipeline } from "./runtime-pipeline.js";
10
10
  export { aggregateSpanLogits } from "./span-logit-aggregation.js";
11
+ export { EMPTY_SPAN_PROPOSER_LEXICON, proposeSpans } from "./span-proposer.js";
11
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAU/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAU/C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AAEjE,OAAO,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA"}
@@ -3,16 +3,16 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Pre-fetch adapters that wire a `ResolverBackend` into the reconciler's concordance axes
7
- * (#478 step 2, re-scoped): `reconcileSpans` already implements resolver-candidate and
8
- * parent-chain scoring but the runtime pipeline never passed the lookups — the axes were
9
- * dormant, exercised only by Map-backed test fixtures.
6
+ * Pre-fetch adapters that wire a `ResolverBackend` into the reconciler's concordance axes (#478
7
+ * step 2, re-scoped): `reconcileSpans` already implements resolver-candidate and parent-chain
8
+ * scoring but the runtime pipeline never passed the lookups — the axes were dormant, exercised
9
+ * only by Map-backed test fixtures.
10
10
  *
11
11
  * The reconciler's beam search is SYNCHRONOUS; the backend is async. So this module does one
12
- * bounded async pre-fetch pass — `findPlace` per (phrase-span × top-k tag) pair, `ancestors`
13
- * per fetched place — and returns Map-backed lookups with the contract the reconciler expects.
14
- * Query count is capped (`maxLookups`, default 12) the same way `resolveTree` caps its walk;
15
- * pairs are visited in classifier-score order so the budget goes to the likeliest spans.
12
+ * bounded async pre-fetch pass — `findPlace` per (phrase-span × top-k tag) pair, `ancestors` per
13
+ * fetched place — and returns Map-backed lookups with the contract the reconciler expects. Query
14
+ * count is capped (`maxLookups`, default 12) the same way `resolveTree` caps its walk; pairs are
15
+ * visited in classifier-score order so the budget goes to the likeliest spans.
16
16
  */
17
17
  import type { ResolverBackend } from "../resolver/types.js";
18
18
  import type { ClassifierCandidate, ParentChainLookup, ResolverCandidatesLookup } from "./reconcile.js";
@@ -3,16 +3,16 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  *
6
- * Pre-fetch adapters that wire a `ResolverBackend` into the reconciler's concordance axes
7
- * (#478 step 2, re-scoped): `reconcileSpans` already implements resolver-candidate and
8
- * parent-chain scoring but the runtime pipeline never passed the lookups — the axes were
9
- * dormant, exercised only by Map-backed test fixtures.
6
+ * Pre-fetch adapters that wire a `ResolverBackend` into the reconciler's concordance axes (#478
7
+ * step 2, re-scoped): `reconcileSpans` already implements resolver-candidate and parent-chain
8
+ * scoring but the runtime pipeline never passed the lookups — the axes were dormant, exercised
9
+ * only by Map-backed test fixtures.
10
10
  *
11
11
  * The reconciler's beam search is SYNCHRONOUS; the backend is async. So this module does one
12
- * bounded async pre-fetch pass — `findPlace` per (phrase-span × top-k tag) pair, `ancestors`
13
- * per fetched place — and returns Map-backed lookups with the contract the reconciler expects.
14
- * Query count is capped (`maxLookups`, default 12) the same way `resolveTree` caps its walk;
15
- * pairs are visited in classifier-score order so the budget goes to the likeliest spans.
12
+ * bounded async pre-fetch pass — `findPlace` per (phrase-span × top-k tag) pair, `ancestors` per
13
+ * fetched place — and returns Map-backed lookups with the contract the reconciler expects. Query
14
+ * count is capped (`maxLookups`, default 12) the same way `resolveTree` caps its walk; pairs are
15
+ * visited in classifier-score order so the budget goes to the likeliest spans.
16
16
  */
17
17
  const RESOLVABLE_TAGS = new Set(["country", "region", "locality", "dependent_locality", "county", "subregion"]);
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../pipeline/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAe,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,GAAG,EAAE,YAAY,CAAA;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;CACpG;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;CAC7D;AAED,MAAM,WAAW,eAAe;IAC/B,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC9C,wEAAwE;IACxE,cAAc,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAClD,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;IAC7C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC7B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,WAAW,CAAA;IACjB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC9B;AA+CD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAwDjE"}
1
+ {"version":3,"file":"reconcile.d.ts","sourceRoot":"","sources":["../../pipeline/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,OAAO,KAAK,EAAe,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEhD;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAA;IACpC,GAAG,EAAE,YAAY,CAAA;IACjB,uCAAuC;IACvC,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACxC,aAAa,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,EAAE,YAAY,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;CACpG;AAED;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAAA;CAC7D;AAED,MAAM,WAAW,eAAe;IAC/B,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,aAAa,CAAC,cAAc,CAAC,CAAA;IAC9C,wEAAwE;IACxE,cAAc,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IAClD,kBAAkB,CAAC,EAAE,wBAAwB,CAAA;IAC7C,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,IAAI,CAAC,EAAE,aAAa,CAAA;CACpB;AAED,MAAM,WAAW,aAAa;IAC7B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sEAAsE;IACtE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,WAAW,CAAA;IACjB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,WAAW,EAAE,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC9B;AAoED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAwDjE"}
@@ -45,14 +45,33 @@ const DEFAULTS = {
45
45
  runnersUp: 3,
46
46
  };
47
47
  /**
48
- * Log-space bonus per accepted slot. Counterweight for the multiplicative penalty inherent in
49
- * "score = ∏ confidences": each factor in [0, 1] strictly lowers the running score, which would
50
- * otherwise make the empty parse always win. log(2.5) a slot whose product of factors exceeds
51
- * 1/2.5 = 0.4 is worth including; below that, the search prefers to skip.
48
+ * Log-space bonus per **word covered** by an accepted slot. Counterweight for the multiplicative
49
+ * penalty inherent in "score = ∏ confidences": each factor in [0, 1] strictly lowers the running
50
+ * score, which would otherwise make the empty parse always win. With per-word scaling, a slot is
51
+ * worth including when the per-word geometric mean of its factors exceeds 1/2.5 = 0.4; below that,
52
+ * the search prefers to skip.
53
+ *
54
+ * Why per-word and not per-slot: a constant per-slot bonus carries two structural biases, both
55
+ * measured on `"New York City"` (2026-06-11):
56
+ *
57
+ * 1. **Fragments beat coverage.** The per-token logit aggregation gives interior fragments inflated
58
+ * confidence (`City` aggregates I-locality mass → locality 0.92 vs 0.60 for the full span), and
59
+ * a per-slot bonus charges nothing for leaving the rest of the input unexplained — so the beam
60
+ * picked the bare `locality="City"` (+0.475) over `locality="New York City"` (+0.199) and the
61
+ * grouper-audit then promoted the orphaned `York` to a spurious `region`.
62
+ * 2. **More spans collect more bonuses.** For two interpretations covering the same words, the one
63
+ * split into more slots banked one bonus per slot — a fragmentation subsidy.
64
+ *
65
+ * Scaling the bonus by the slot's word count makes coverage the thing being rewarded:
66
+ * equal-coverage interpretations collect equal bonus (the classifier/phrase/resolver factors alone
67
+ * decide), and an interpretation that explains more of the input out-scores one that silently drops
68
+ * words unless the extra evidence is genuinely weak (per-word factor mean < 0.4).
52
69
  *
53
70
  * The choice of 2.5 is a tuning constant, not a free parameter we expose — exposing it would invite
54
71
  * callers to disable inclusion entirely (defeating the purpose of the reconciler) and the sensible
55
- * range is narrow. Lives here rather than `ReconcileOpts` for that reason.
72
+ * range is narrow. Lives here rather than `ReconcileOpts` for that reason. Words are
73
+ * whitespace-delimited; scripts without spaces (CJK) count as one word, which degrades to the old
74
+ * per-slot behavior rather than misbehaving.
56
75
  */
57
76
  const INCLUSION_LOG_BONUS = Math.log(2.5);
58
77
  /**
@@ -96,7 +115,7 @@ export function reconcileSpans(inputs) {
96
115
  logSafe(slot.classifierScore) +
97
116
  logSafe(slot.resolverScore) +
98
117
  concordanceDelta +
99
- INCLUSION_LOG_BONUS;
118
+ INCLUSION_LOG_BONUS * slot.wordCount;
100
119
  next.push({
101
120
  assignments: [...beam.assignments, slot],
102
121
  logScore: beam.logScore + slotLog,
@@ -166,6 +185,7 @@ function buildSlots(inputs, opts) {
166
185
  for (const phrase of spans) {
167
186
  const key = spanKey(phrase.span.start, phrase.span.end);
168
187
  const tagCandidates = topN(tagsBySpan.get(key) ?? [], opts.kTag, (c) => c.score);
188
+ const words = wordCountOf(inputs.raw, phrase.span);
169
189
  for (const tagC of tagCandidates) {
170
190
  const places = inputs.resolverCandidates
171
191
  ? inputs.resolverCandidates.candidatesFor(tagC.span, tagC.tag).slice(0, opts.kResolver)
@@ -178,6 +198,7 @@ function buildSlots(inputs, opts) {
178
198
  classifierScore: tagC.score,
179
199
  place: null,
180
200
  resolverScore: 1,
201
+ wordCount: words,
181
202
  });
182
203
  continue;
183
204
  }
@@ -189,12 +210,23 @@ function buildSlots(inputs, opts) {
189
210
  classifierScore: tagC.score,
190
211
  place,
191
212
  resolverScore: normalizeResolverScore(place.score),
213
+ wordCount: words,
192
214
  });
193
215
  }
194
216
  }
195
217
  }
196
218
  return slots;
197
219
  }
220
+ /**
221
+ * Whitespace-delimited word count of a span's surface text, floor 1. Scales the per-slot inclusion
222
+ * bonus so coverage — not slot count — is what the search rewards (see `INCLUSION_LOG_BONUS`).
223
+ */
224
+ function wordCountOf(raw, span) {
225
+ const text = raw.slice(span.start, span.end).trim();
226
+ if (text.length === 0)
227
+ return 1;
228
+ return text.split(/\s+/).length;
229
+ }
198
230
  /**
199
231
  * Concordance delta for adding `slot` to an existing beam. Returns the log-space contribution to
200
232
  * add to the beam's running score, or `-Infinity` if the slot introduces a hard contradiction
@@ -1 +1 @@
1
- {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../pipeline/reconcile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAuFH,MAAM,QAAQ,GAAG;IAChB,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,SAAS,EAAE,CAAC;IACZ,iBAAiB,EAAE,GAAG;IACtB,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,CAAC;CACZ,CAAA;AAED;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAEzC;;;GAGG;AACH,MAAM,YAAY,GAAgC,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAA;AACzG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAe,YAAY,CAAC,CAAA;AAmB3D;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB;IACrD,MAAM,IAAI,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAE5C,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,uFAAuF;IACvF,oFAAoF;IACpF,oCAAoC;IACpC,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9E,IAAI,KAAK,GAAW,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAEnE,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,IAAI,GAAW,EAAE,CAAA;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACf,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;gBAClF,IAAI,gBAAgB,KAAK,MAAM,CAAC,iBAAiB;oBAAE,SAAQ;gBAC3D,MAAM,OAAO,GACZ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;oBACxB,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC;oBAC7B,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;oBAC3B,gBAAgB;oBAChB,mBAAmB,CAAA;gBACpB,IAAI,CAAC,IAAI,CAAC;oBACT,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC;oBACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAG,OAAO;oBACjC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;iBACtB,CAAC,CAAA;YACH,CAAC;QACF,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC5C,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC7C,6FAA6F;IAC7F,qFAAqF;IACrF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IAExD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;IACvB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAA;IAEpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAE3D,OAAO;QACN,IAAI,EAAE,KAAK,CAAC,CAAC,CAAE;QACf,UAAU,EAAE,WAAW,CAAC,CAAC,CAAE;QAC3B,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QAC/C,cAAc,EAAE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC;KAC/C,CAAA;AACF,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,UAAU,CAAC,MAAuB,EAAE,IAA6B;IACzE,MAAM,SAAS,GAAG,IAAI,GAAG,EAA0B,CAAA;IACnD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YAC3C,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACpB,CAAC;IACF,CAAC;IACD,6FAA6F;IAC7F,0FAA0F;IAC1F,8FAA8F;IAC9F,2FAA2F;IAC3F,yEAAyE;IACzE,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAA;IACnD,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;QAC3C,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;IAC/B,CAAC;IACD,MAAM,KAAK,GAAqB,EAAE,CAAA;IAClC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAA;IAC1D,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACnC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACX,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACvB,CAAC;IAED,MAAM,KAAK,GAAiB,EAAE,CAAA;IAC9B,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAChF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB;gBACvC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC;gBACvF,CAAC,CAAC,EAAE,CAAA;YACL,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,eAAe,EAAE,IAAI,CAAC,KAAK;oBAC3B,KAAK,EAAE,IAAI;oBACX,aAAa,EAAE,CAAC;iBAChB,CAAC,CAAA;gBACF,SAAQ;YACT,CAAC;YACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;oBACb,eAAe,EAAE,IAAI,CAAC,KAAK;oBAC3B,KAAK;oBACL,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC;iBAClD,CAAC,CAAA;YACH,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAA;AACb,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,mBAAmB,CAC3B,QAAsB,EACtB,SAAqB,EACrB,MAAuB,EACvB,IAA6B;IAE7B,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACrE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAA;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAA;IACtB,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IACnD,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAQ;QAC7D,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChD,MAAM,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;QACpD,MAAM,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;QACrD,IAAI,KAAK,KAAK,MAAM;YAAE,SAAQ;QAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,KAAM,CAAC,CAAA;QAC7C,KAAK,EAAE,CAAA;QACP,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,QAAQ,EAAE,CAAA;YACV,SAAQ;QACT,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,KAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC/D,IAAI,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,CAAA;QACV,CAAC;aAAM,CAAC;YACP,OAAO,MAAM,CAAC,iBAAiB,CAAA;QAChC,CAAC;IACF,CAAC;IACD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IACzB,MAAM,UAAU,GAAG,OAAO,GAAG,KAAK,CAAA;IAClC,4FAA4F;IAC5F,mFAAmF;IACnF,2DAA2D;IAC3D,OAAO,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAA;AAC3C,CAAC;AAED,SAAS,QAAQ,CAAC,CAAkB,EAAE,CAAkB;IACvD,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAU,EAAE,MAAuB,EAAE,IAA6B;IACvF,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;QACnC,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAA;QAC5C,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IACzC,CAAC;IACD,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;IAC5C,MAAM,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAA;IAC1D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,CAAA;AAC5D,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAC3B,WAAyB,EACzB,MAAuB,EACvB,IAA6B;IAE7B,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,OAAO,CAAC,CAAA;IACjC,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAG,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QACzF,IAAI,KAAK,KAAK,MAAM,CAAC,iBAAiB;YAAE,OAAO,MAAM,CAAC,iBAAiB,CAAA;QACvE,GAAG,IAAI,KAAK,CAAA;IACb,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC;AAED,SAAS,SAAS,CAAC,IAAU,EAAE,GAAW;IACzC,MAAM,KAAK,GAAkB,IAAI,CAAC,WAAW;SAC3C,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;SAC3C,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAChD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;QACtB,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;QAClB,UAAU,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU;QAClD,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,yBAAyB;QACnC,GAAG,CAAC,IAAI,CAAC,KAAK;YACb,CAAC,CAAC;gBACA,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;gBACnB,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG;gBACnB,OAAO,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;aACxD;YACF,CAAC,CAAC,EAAE,CAAC;KACN,CAAC,CAAC,CAAA;IACJ,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAA;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,GAAW;IAClC,OAAO;QACN,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACxB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KACnF,CAAA;AACF,CAAC;AAED,SAAS,aAAa,CAAC,KAAoB;IAC1C,sFAAsF;IACtF,sFAAsF;IACtF,OAAO,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;AACtD,CAAC;AAED,SAAS,OAAO,CAAC,KAAa,EAAE,GAAW;IAC1C,OAAO,GAAG,KAAK,IAAI,GAAG,EAAE,CAAA;AACzB,CAAC;AAED,SAAS,IAAI,CAAI,KAAuB,EAAE,CAAS,EAAE,GAAqB;IACzE,OAAO,KAAK;SACV,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAC/B,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACd,CAAC;AAED,SAAS,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;AACjC,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa;IAC5C,yFAAyF;IACzF,4FAA4F;IAC5F,iCAAiC;IACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAA;IACtD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACvB,OAAO,KAAK,CAAA;AACb,CAAC;AAED,SAAS,OAAO,CAAC,MAAgB;IAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;AAChC,CAAC"}
1
+ {"version":3,"file":"reconcile.js","sourceRoot":"","sources":["../../pipeline/reconcile.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pipeline.d.ts","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAIzD,OAAO,KAAK,EAOX,cAAc,EACd,YAAY,EACZ,cAAc,EAGd,qBAAqB,EACrB,MAAM,YAAY,CAAA;AA4HnB;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,EAC7B,IAAI,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,cAAc,CAAC,CA0KzB;AA2DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,cAAc,EAAE,EAC3B,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,mBAAmB,EAAE,GACpC,WAAW,CA2Eb"}
1
+ {"version":3,"file":"runtime-pipeline.d.ts","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAe,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAGnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGzD,OAAO,KAAK,EAOX,cAAc,EACd,YAAY,EACZ,cAAc,EAGd,qBAAqB,EACrB,MAAM,YAAY,CAAA;AA4HnB;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,qBAAqB,EAC7B,IAAI,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,cAAc,CAAC,CA0KzB;AA2DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,WAAW,EACjB,SAAS,EAAE,cAAc,EAAE,EAC3B,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,mBAAmB,EAAE,GACpC,WAAW,CA2Eb"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-pipeline.js","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-pipeline.js","sourceRoot":"","sources":["../../pipeline/runtime-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Stage 2.7 span proposer — mechanisms M2 + M3 from the punctuation survey
7
+ * (`docs/articles/reviews/2026-06-11-punctuation-survey.md`), the structural half of the
8
+ * sub-premise direction note (`docs/articles/plan/2026-06-11-subpremise-proposer-direction.md`).
9
+ *
10
+ * A pure function over the raw input emitting TYPED span proposals from three cue families:
11
+ *
12
+ * 1. **Paired delimiters (M2)** — balanced `()`, `[]`, `""`, `«»`, `„“` groups propose
13
+ * `ANNOTATION_SPAN` / `QUOTED_SPAN`. Unbalanced delimiters of a class produce NO proposal
14
+ * for that class — the proposer never guesses a missing pair (graceful degradation to
15
+ * today's behavior, per the survey's unbalanced-class read).
16
+ * 2. **Designator + identifier** — the sub-premise grammar (`Apt 4B`, `Suite 500`, `PO Box 19`): a
17
+ * closed-vocabulary leader from the injected codex-backed lexicon followed by a short
18
+ * identifier proposes `UNIT_PHRASE` / `LEVEL_PHRASE` / `PO_BOX_PHRASE`.
19
+ * 3. **Dual-path numeric punctuation (M3, the Pelias PR #56 mechanism)** — `2/14`, `14-16`, `123 1/2`
20
+ * adjacent to a number context emit BOTH readings as alternatives sharing an
21
+ * `alternativeGroup`: the fused single-value reading (`FUSED_NUMBER`) AND the
22
+ * designator-split reading (`SPLIT_UNIT` + `SPLIT_HOUSE_NUMBER`), locale-conditioned by
23
+ * which codex systems the lexicon was built from (the AU/NZ `Flat 2/14` split exists only
24
+ * when those tables are loaded). The proposer never decides between readings — downstream
25
+ * consumers weigh them.
26
+ *
27
+ * The proposals are INFORMATION, not decisions (the #464 lesson): consumers treat them as phrase
28
+ * priors the classifier conditions on and as structural boundaries the decode-side span bridge
29
+ * must not merge across. The classifier can always disagree.
30
+ *
31
+ * Like the phrase grouper's rules, the cues here are structural + provenance-tracked vocabulary
32
+ * (codex tables injected by the caller) — no place names, no guessed designators. Core stays
33
+ * codex-free: `@mailwoman/neural` builds the {@link SpanProposerLexicon} from `@mailwoman/codex`
34
+ * (see `neural/span-proposer-lexicon.ts`).
35
+ */
36
+ /** Typed kinds a span proposal may carry. See the module doc for the three cue families. */
37
+ export type ProposedSpanKind =
38
+ /** A balanced `()`/`[]` group whose content reads as an aside about the address. */
39
+ "ANNOTATION_SPAN"
40
+ /** A balanced quote group — the content is likely a NAME (venue/unit); typing is the classifier's
41
+ job. */
42
+ | "QUOTED_SPAN"
43
+ /** Delivery-service designator + identifier ("PO Box 19", "GPO Box 2890", "Private Bag 7"). */
44
+ | "PO_BOX_PHRASE"
45
+ /** Secondary-unit designator + identifier ("Apt 4B", "Suite 500"). */
46
+ | "UNIT_PHRASE"
47
+ /** Level-class designator + identifier ("Floor 3", "FL 12"). */
48
+ | "LEVEL_PHRASE"
49
+ /** Dual-path FUSED reading: the punctuated numeric is ONE value ("123 1/2", "69-10", "14/2"). */
50
+ | "FUSED_NUMBER"
51
+ /** Dual-path SPLIT reading, left side: the sub-premise ("Flat 2" of "Flat 2/14", "3" of "3/45"). */
52
+ | "SPLIT_UNIT"
53
+ /** Dual-path SPLIT reading, right side: the house number ("14" of "Flat 2/14"). */
54
+ | "SPLIT_HOUSE_NUMBER";
55
+ /** One typed span proposal. Char offsets into the raw input; `end` exclusive. */
56
+ export interface ProposedSpan {
57
+ start: number;
58
+ end: number;
59
+ kind: ProposedSpanKind;
60
+ /** 0..1. Confidence is shape-derived; consumers weight or floor it (it is never a verdict). */
61
+ confidence: number;
62
+ /**
63
+ * Alternative readings of ONE surface share a group id (M3 dual-path: the fused and split
64
+ * readings of `2/14` carry the same group). Absent for single-reading proposals.
65
+ */
66
+ alternativeGroup?: number;
67
+ /** Provenance: which cue family + rule emitted this ("paired:()", "designator:unit",
68
+ "slash:au-split"). */
69
+ source: string;
70
+ }
71
+ /**
72
+ * Vocabulary the proposer conditions on — built from `@mailwoman/codex` tables by the caller
73
+ * (`buildCodexSpanLexicon` in `@mailwoman/neural`). All token sets are lowercase. An empty lexicon
74
+ * (the default) limits the proposer to the paired-delimiter cue family.
75
+ */
76
+ export interface SpanProposerLexicon {
77
+ /** Codex system codes the lexicon was built from ("us", "au", "nz", …) — drives M3 locale
78
+ conditioning. */
79
+ systems: ReadonlySet<string>;
80
+ /** Leading secondary-unit designator tokens (USPS Pub-28 C2 variants: "apt", "ste", "unit", …). */
81
+ unitDesignators: ReadonlySet<string>;
82
+ /** Level-class designator tokens ("floor", "fl", "bsmt", "ph", …) — typed LEVEL_PHRASE. */
83
+ levelDesignators: ReadonlySet<string>;
84
+ /**
85
+ * Descriptive designators ("building", "rear", "side", …) that, inside a bracketed group, read as
86
+ * annotation content rather than a unit ("[Building A]" describes; "[Suite 9]" addresses).
87
+ */
88
+ weakDesignators: ReadonlySet<string>;
89
+ /**
90
+ * Global scan regex for delivery-service designator+identifier phrases, built from the codex
91
+ * po_box / delivery-service tables. Must carry the `g` flag.
92
+ */
93
+ deliveryService?: RegExp;
94
+ }
95
+ /** Empty lexicon — paired-delimiter proposals only. */
96
+ export declare const EMPTY_SPAN_PROPOSER_LEXICON: SpanProposerLexicon;
97
+ /**
98
+ * Propose typed spans over `text`. Pure and synchronous; safe to run on every parse. Proposals may
99
+ * overlap freely ("possibilities not constraints"); alternatives of one surface share an
100
+ * `alternativeGroup`. Sorted by `start`, then descending confidence.
101
+ *
102
+ * Designator and numeric proposals fully inside a confident (≥ 0.6) `ANNOTATION_SPAN` are
103
+ * suppressed — bracketed asides describe the address ("(Apt 4 around back)"), and the annotation
104
+ * proposal already carries the span. Content inside QUOTED_SPANs is NOT suppressed (quotes wrap
105
+ * names, not asides).
106
+ */
107
+ export declare function proposeSpans(text: string, lexicon?: SpanProposerLexicon): ProposedSpan[];
108
+ //# sourceMappingURL=span-proposer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span-proposer.d.ts","sourceRoot":"","sources":["../../pipeline/span-proposer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,4FAA4F;AAC5F,MAAM,MAAM,gBAAgB;AAC3B,oFAAoF;AAClF,iBAAiB;AACnB;OACM;GACJ,aAAa;AACf,+FAA+F;GAC7F,eAAe;AACjB,sEAAsE;GACpE,aAAa;AACf,gEAAgE;GAC9D,cAAc;AAChB,iGAAiG;GAC/F,cAAc;AAChB,oGAAoG;GAClG,YAAY;AACd,mFAAmF;GACjF,oBAAoB,CAAA;AAEvB,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,gBAAgB,CAAA;IACtB,+FAA+F;IAC/F,UAAU,EAAE,MAAM,CAAA;IAClB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;qBACoB;IACpB,MAAM,EAAE,MAAM,CAAA;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IACnC;gBACe;IACf,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5B,mGAAmG;IACnG,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC,2FAA2F;IAC3F,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC;;;OAGG;IACH,eAAe,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACpC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,uDAAuD;AACvD,eAAO,MAAM,2BAA2B,EAAE,mBAKzC,CAAA;AAmYD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAiD,GAAG,YAAY,EAAE,CAkBrH"}
@@ -0,0 +1,435 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Stage 2.7 span proposer — mechanisms M2 + M3 from the punctuation survey
7
+ * (`docs/articles/reviews/2026-06-11-punctuation-survey.md`), the structural half of the
8
+ * sub-premise direction note (`docs/articles/plan/2026-06-11-subpremise-proposer-direction.md`).
9
+ *
10
+ * A pure function over the raw input emitting TYPED span proposals from three cue families:
11
+ *
12
+ * 1. **Paired delimiters (M2)** — balanced `()`, `[]`, `""`, `«»`, `„“` groups propose
13
+ * `ANNOTATION_SPAN` / `QUOTED_SPAN`. Unbalanced delimiters of a class produce NO proposal
14
+ * for that class — the proposer never guesses a missing pair (graceful degradation to
15
+ * today's behavior, per the survey's unbalanced-class read).
16
+ * 2. **Designator + identifier** — the sub-premise grammar (`Apt 4B`, `Suite 500`, `PO Box 19`): a
17
+ * closed-vocabulary leader from the injected codex-backed lexicon followed by a short
18
+ * identifier proposes `UNIT_PHRASE` / `LEVEL_PHRASE` / `PO_BOX_PHRASE`.
19
+ * 3. **Dual-path numeric punctuation (M3, the Pelias PR #56 mechanism)** — `2/14`, `14-16`, `123 1/2`
20
+ * adjacent to a number context emit BOTH readings as alternatives sharing an
21
+ * `alternativeGroup`: the fused single-value reading (`FUSED_NUMBER`) AND the
22
+ * designator-split reading (`SPLIT_UNIT` + `SPLIT_HOUSE_NUMBER`), locale-conditioned by
23
+ * which codex systems the lexicon was built from (the AU/NZ `Flat 2/14` split exists only
24
+ * when those tables are loaded). The proposer never decides between readings — downstream
25
+ * consumers weigh them.
26
+ *
27
+ * The proposals are INFORMATION, not decisions (the #464 lesson): consumers treat them as phrase
28
+ * priors the classifier conditions on and as structural boundaries the decode-side span bridge
29
+ * must not merge across. The classifier can always disagree.
30
+ *
31
+ * Like the phrase grouper's rules, the cues here are structural + provenance-tracked vocabulary
32
+ * (codex tables injected by the caller) — no place names, no guessed designators. Core stays
33
+ * codex-free: `@mailwoman/neural` builds the {@link SpanProposerLexicon} from `@mailwoman/codex`
34
+ * (see `neural/span-proposer-lexicon.ts`).
35
+ */
36
+ /** Empty lexicon — paired-delimiter proposals only. */
37
+ export const EMPTY_SPAN_PROPOSER_LEXICON = {
38
+ systems: new Set(),
39
+ unitDesignators: new Set(),
40
+ levelDesignators: new Set(),
41
+ weakDesignators: new Set(),
42
+ };
43
+ const EDGE_PUNCT = /[\s,;:.()[\]"'«»„“”]/;
44
+ function tokenize(text) {
45
+ const out = [];
46
+ let i = 0;
47
+ while (i < text.length) {
48
+ while (i < text.length && /\s/.test(text[i]))
49
+ i++;
50
+ if (i >= text.length)
51
+ break;
52
+ const start = i;
53
+ while (i < text.length && !/\s/.test(text[i]))
54
+ i++;
55
+ const body = text.slice(start, i);
56
+ let s = 0;
57
+ let e = body.length;
58
+ while (s < e && EDGE_PUNCT.test(body[s]))
59
+ s++;
60
+ while (e > s && EDGE_PUNCT.test(body[e - 1]))
61
+ e--;
62
+ out.push({
63
+ body,
64
+ start,
65
+ end: i,
66
+ stripped: body.slice(s, e),
67
+ strippedStart: start + s,
68
+ strippedEnd: start + e,
69
+ });
70
+ }
71
+ return out;
72
+ }
73
+ // ---------------------------------------------------------------------------
74
+ // Cue family 1 — paired delimiters (M2)
75
+ // ---------------------------------------------------------------------------
76
+ /**
77
+ * Find balanced pairs for one open/close class. Returns null when ANY delimiter of the class is
78
+ * unbalanced (stray opener or closer) — the caller emits nothing for the class.
79
+ */
80
+ function findBalancedPairs(text, open, close) {
81
+ const stack = [];
82
+ const out = [];
83
+ for (let i = 0; i < text.length; i++) {
84
+ const ch = text[i];
85
+ if (ch === open)
86
+ stack.push(i);
87
+ else if (ch === close) {
88
+ const o = stack.pop();
89
+ if (o === undefined)
90
+ return null;
91
+ out.push({ open: o, close: i });
92
+ }
93
+ }
94
+ return stack.length > 0 ? null : out;
95
+ }
96
+ /** Same-character quote pairing ("…"): consecutive occurrences pair up; an odd count is unbalanced. */
97
+ function findSameCharPairs(text, ch) {
98
+ const positions = [];
99
+ for (let i = 0; i < text.length; i++)
100
+ if (text[i] === ch)
101
+ positions.push(i);
102
+ if (positions.length % 2 !== 0)
103
+ return null;
104
+ const out = [];
105
+ for (let i = 0; i < positions.length; i += 2)
106
+ out.push({ open: positions[i], close: positions[i + 1] });
107
+ return out;
108
+ }
109
+ /**
110
+ * Shape-derived annotation confidence (M2: "confidence from balance + content shape"):
111
+ *
112
+ * - Content that is EXACTLY a strong designator + identifier ("Suite 9") is probably a real component
113
+ * written in brackets (gold convention 2) → very low annotation confidence, letting the
114
+ * designator cue own the span.
115
+ * - Lowercase- or digit-leading content ("rear entrance", "2nd floor", "code 2580") is the
116
+ * instruction/aside shape → high.
117
+ * - A short capitalized group at the very END of the input ("(Australia)", "[New Zealand]") is the
118
+ * trailing-component shape (often a country) → low, below typical consumer floors.
119
+ * - Everything else (capitalized mid-string: "[Building A]", "(The White House)") → moderate.
120
+ */
121
+ function annotationConfidence(content, atEndOfInput, lexicon) {
122
+ const tokens = content.split(/\s+/).filter(Boolean);
123
+ if (tokens.length === 0)
124
+ return 0;
125
+ if (tokens.length === 2) {
126
+ const lead = tokens[0].toLowerCase().replace(/\.$/, "");
127
+ const strong = (lexicon.unitDesignators.has(lead) || lexicon.levelDesignators.has(lead)) && !lexicon.weakDesignators.has(lead);
128
+ if (strong && isShortIdentifier(tokens[1]))
129
+ return 0.25;
130
+ }
131
+ if (/^[\p{Ll}0-9]/u.test(content))
132
+ return 0.9;
133
+ if (atEndOfInput && tokens.length <= 3)
134
+ return 0.45;
135
+ return 0.75;
136
+ }
137
+ function proposePairedDelimiters(text, lexicon) {
138
+ const out = [];
139
+ const lastNonSpace = text.trimEnd().length;
140
+ const bracketClasses = [
141
+ ["(", ")"],
142
+ ["[", "]"],
143
+ ];
144
+ for (const [open, close] of bracketClasses) {
145
+ const pairs = findBalancedPairs(text, open, close);
146
+ if (!pairs)
147
+ continue; // unbalanced — never guess the missing pair
148
+ for (const p of pairs) {
149
+ const content = text.slice(p.open + 1, p.close).trim();
150
+ if (!content)
151
+ continue;
152
+ const atEnd = p.close >= lastNonSpace - 1;
153
+ out.push({
154
+ start: p.open,
155
+ end: p.close + 1,
156
+ kind: "ANNOTATION_SPAN",
157
+ confidence: annotationConfidence(content, atEnd, lexicon),
158
+ source: `paired:${open}${close}`,
159
+ });
160
+ }
161
+ }
162
+ const quotePairFinders = [
163
+ () => findSameCharPairs(text, '"'),
164
+ () => findBalancedPairs(text, "“", "”"), // “ ”
165
+ () => findBalancedPairs(text, "«", "»"), // « »
166
+ // „…“ (low-9 opener, German/Czech): closes with “ — only scanned when a „ is present, so the
167
+ // “ ” class above (which would see a stray “) is skipped for such inputs.
168
+ ];
169
+ const hasLow9 = text.includes("„");
170
+ for (const [idx, find] of quotePairFinders.entries()) {
171
+ if (hasLow9 && idx === 1)
172
+ continue;
173
+ const pairs = find();
174
+ if (!pairs)
175
+ continue;
176
+ for (const p of pairs) {
177
+ const content = text.slice(p.open + 1, p.close).trim();
178
+ if (!content)
179
+ continue;
180
+ out.push({ start: p.open, end: p.close + 1, kind: "QUOTED_SPAN", confidence: 0.8, source: "paired:quote" });
181
+ }
182
+ }
183
+ if (hasLow9) {
184
+ const pairs = findBalancedPairs(text, "„", "“");
185
+ if (pairs) {
186
+ for (const p of pairs) {
187
+ const content = text.slice(p.open + 1, p.close).trim();
188
+ if (!content)
189
+ continue;
190
+ out.push({ start: p.open, end: p.close + 1, kind: "QUOTED_SPAN", confidence: 0.8, source: "paired:quote" });
191
+ }
192
+ }
193
+ }
194
+ return out;
195
+ }
196
+ // ---------------------------------------------------------------------------
197
+ // Cue family 2 — designator + identifier (the sub-premise grammar)
198
+ // ---------------------------------------------------------------------------
199
+ /** Short identifier shapes per the designator grammar: "4B", "500", "#104", "B", "B99". */
200
+ function isShortIdentifier(body) {
201
+ return /^#?\d{1,6}[A-Za-z]{0,2}$/.test(body) || /^[A-Za-z]$/.test(body) || /^[A-Za-z]\d{1,4}$/.test(body);
202
+ }
203
+ function proposeDesignatorPhrases(text, tokens, lexicon) {
204
+ const out = [];
205
+ for (let i = 0; i < tokens.length - 1; i++) {
206
+ const lead = tokens[i].stripped.toLowerCase();
207
+ const isUnit = lexicon.unitDesignators.has(lead);
208
+ const isLevel = lexicon.levelDesignators.has(lead);
209
+ if (!isUnit && !isLevel)
210
+ continue;
211
+ const next = tokens[i + 1];
212
+ if (next.stripped.includes("/") || next.stripped.includes("-"))
213
+ continue; // cue family 3 owns punctuated ids
214
+ if (!isShortIdentifier(next.stripped))
215
+ continue;
216
+ const weak = lexicon.weakDesignators.has(lead);
217
+ out.push({
218
+ start: tokens[i].strippedStart,
219
+ end: next.strippedEnd,
220
+ kind: isLevel ? "LEVEL_PHRASE" : "UNIT_PHRASE",
221
+ confidence: weak ? 0.5 : 0.85,
222
+ source: `designator:${isLevel ? "level" : "unit"}`,
223
+ });
224
+ }
225
+ if (lexicon.deliveryService) {
226
+ // Fresh lastIndex per call — the lexicon regex is shared.
227
+ const re = new RegExp(lexicon.deliveryService.source, lexicon.deliveryService.flags);
228
+ for (const m of text.matchAll(re)) {
229
+ out.push({
230
+ start: m.index,
231
+ end: m.index + m[0].length,
232
+ kind: "PO_BOX_PHRASE",
233
+ confidence: 0.9,
234
+ source: "designator:delivery-service",
235
+ });
236
+ }
237
+ }
238
+ return out;
239
+ }
240
+ // ---------------------------------------------------------------------------
241
+ // Cue family 3 — dual-path numeric punctuation (M3)
242
+ // ---------------------------------------------------------------------------
243
+ const SLASH_COMPOUND = /^(\d{1,4}[A-Za-z]?)\/(\d{1,5}[A-Za-z]?)$/;
244
+ const HYPHEN_COMPOUND = /^(\d{1,4})-(\d{1,5})$/;
245
+ const FRACTION = /^\d\/\d$/;
246
+ /**
247
+ * Words that lead NUMBERED ROADS ("Hwy 50/89", "Route 1/9", "I-95") — a bounded structural category
248
+ * (road-type leaders), mirroring the phrase grouper's street-type sets. The
249
+ * leading-designator-shape fallback must not read them as sub-premise designators: a slash after a
250
+ * road leader is a route concurrency, not an AU unit/house split.
251
+ */
252
+ const ROAD_LEADERS = new Set(["hwy", "highway", "route", "rte", "sr", "cr", "interstate", "loop"]);
253
+ function proposeNumericReadings(tokens, lexicon, nextGroup) {
254
+ const out = [];
255
+ const hasAuNz = lexicon.systems.has("au") || lexicon.systems.has("nz");
256
+ for (let i = 0; i < tokens.length; i++) {
257
+ const t = tokens[i];
258
+ const prev = i > 0 ? tokens[i - 1] : undefined;
259
+ const prevLead = prev?.stripped.toLowerCase() ?? "";
260
+ const prevIsDesignator = lexicon.unitDesignators.has(prevLead) || lexicon.levelDesignators.has(prevLead);
261
+ // USPS half address: "123 1/2" — the fraction belongs to house_number (one fused value).
262
+ if (lexicon.systems.has("us") && FRACTION.test(t.stripped) && prev && /^\d{1,5}$/.test(prev.stripped)) {
263
+ out.push({
264
+ start: prev.strippedStart,
265
+ end: t.strippedEnd,
266
+ kind: "FUSED_NUMBER",
267
+ confidence: 0.85,
268
+ source: "fraction:usps-half-address",
269
+ });
270
+ continue;
271
+ }
272
+ const slash = SLASH_COMPOUND.exec(t.stripped);
273
+ if (slash) {
274
+ const leftEnd = t.strippedStart + slash[1].length;
275
+ const rightStart = leftEnd + 1;
276
+ // Reading A context: a unit/level designator leads ("Unit 4/22", "Flat 2/14" via the
277
+ // leading-shape fallback below). Reading B context: the compound itself leads the address
278
+ // ("3/45 Wattle St" — the AU/NZ bare sub-premise shape, only proposed when those codex
279
+ // systems are loaded).
280
+ const leadingShape = !prevIsDesignator &&
281
+ prev !== undefined &&
282
+ i === 1 &&
283
+ /^\p{Lu}[\p{L}]{1,7}$/u.test(prev.stripped) &&
284
+ !ROAD_LEADERS.has(prevLead) &&
285
+ hasAuNz;
286
+ if (prevIsDesignator || leadingShape) {
287
+ const group = nextGroup();
288
+ const conf = prevIsDesignator ? (hasAuNz ? 0.85 : 0.6) : 0.7;
289
+ out.push({
290
+ start: prev.strippedStart,
291
+ end: leftEnd,
292
+ kind: "SPLIT_UNIT",
293
+ confidence: conf,
294
+ alternativeGroup: group,
295
+ source: prevIsDesignator ? "slash:designator-split" : "slash:leading-designator-shape",
296
+ });
297
+ out.push({
298
+ start: rightStart,
299
+ end: t.strippedEnd,
300
+ kind: "SPLIT_HOUSE_NUMBER",
301
+ confidence: conf,
302
+ alternativeGroup: group,
303
+ source: "slash:designator-split",
304
+ });
305
+ out.push({
306
+ start: t.strippedStart,
307
+ end: t.strippedEnd,
308
+ kind: "FUSED_NUMBER",
309
+ confidence: 0.3,
310
+ alternativeGroup: group,
311
+ source: "slash:fused-alternative",
312
+ });
313
+ }
314
+ else if (i === 0 && hasAuNz && tokens.length > 1) {
315
+ const group = nextGroup();
316
+ out.push({
317
+ start: t.strippedStart,
318
+ end: leftEnd,
319
+ kind: "SPLIT_UNIT",
320
+ confidence: 0.75,
321
+ alternativeGroup: group,
322
+ source: "slash:bare-leading-split",
323
+ });
324
+ out.push({
325
+ start: rightStart,
326
+ end: t.strippedEnd,
327
+ kind: "SPLIT_HOUSE_NUMBER",
328
+ confidence: 0.75,
329
+ alternativeGroup: group,
330
+ source: "slash:bare-leading-split",
331
+ });
332
+ out.push({
333
+ start: t.strippedStart,
334
+ end: t.strippedEnd,
335
+ kind: "FUSED_NUMBER",
336
+ confidence: 0.45,
337
+ alternativeGroup: group,
338
+ source: "slash:fused-alternative",
339
+ });
340
+ }
341
+ else if (prev && /^\p{Lu}[\p{L}]{3,}$/u.test(prev.stripped)) {
342
+ // Trailing European form ("Hauptstraße 14/2") — one fused value after the street name.
343
+ // The ≥4-char guard keeps short street-type leaders ("Hwy 50/89") out of this reading.
344
+ out.push({
345
+ start: t.strippedStart,
346
+ end: t.strippedEnd,
347
+ kind: "FUSED_NUMBER",
348
+ confidence: 0.55,
349
+ source: "slash:trailing-fused",
350
+ });
351
+ }
352
+ continue;
353
+ }
354
+ const hyphen = HYPHEN_COMPOUND.exec(t.stripped);
355
+ if (hyphen) {
356
+ // ZIP+4 shape is a postcode, not a house number — never propose a reading for it.
357
+ if (hyphen[1].length === 5)
358
+ continue;
359
+ const next = i + 1 < tokens.length ? tokens[i + 1] : undefined;
360
+ const leftEnd = t.strippedStart + hyphen[1].length;
361
+ if (prevIsDesignator) {
362
+ const group = nextGroup();
363
+ out.push({
364
+ start: prev.strippedStart,
365
+ end: leftEnd,
366
+ kind: "SPLIT_UNIT",
367
+ confidence: 0.45,
368
+ alternativeGroup: group,
369
+ source: "hyphen:designator-split",
370
+ });
371
+ out.push({
372
+ start: leftEnd + 1,
373
+ end: t.strippedEnd,
374
+ kind: "SPLIT_HOUSE_NUMBER",
375
+ confidence: 0.45,
376
+ alternativeGroup: group,
377
+ source: "hyphen:designator-split",
378
+ });
379
+ out.push({
380
+ start: t.strippedStart,
381
+ end: t.strippedEnd,
382
+ kind: "FUSED_NUMBER",
383
+ confidence: 0.6,
384
+ alternativeGroup: group,
385
+ source: "hyphen:fused-alternative",
386
+ });
387
+ }
388
+ else if (next && (/^\p{Lu}/u.test(next.stripped) || /^\d{1,4}(?:st|nd|rd|th)$/i.test(next.stripped))) {
389
+ // House-number position (a street follows — capitalized or ordinal): "69-10 47th Ave",
390
+ // "14-16 Smith St".
391
+ // Fused only — whether it is a Queens label or a range is not the parser's call (OSM
392
+ // models the difference with a separate tag, not syntax).
393
+ out.push({
394
+ start: t.strippedStart,
395
+ end: t.strippedEnd,
396
+ kind: "FUSED_NUMBER",
397
+ confidence: 0.55,
398
+ source: "hyphen:house-number-position",
399
+ });
400
+ }
401
+ }
402
+ }
403
+ return out;
404
+ }
405
+ // ---------------------------------------------------------------------------
406
+ // Entry point
407
+ // ---------------------------------------------------------------------------
408
+ /**
409
+ * Propose typed spans over `text`. Pure and synchronous; safe to run on every parse. Proposals may
410
+ * overlap freely ("possibilities not constraints"); alternatives of one surface share an
411
+ * `alternativeGroup`. Sorted by `start`, then descending confidence.
412
+ *
413
+ * Designator and numeric proposals fully inside a confident (≥ 0.6) `ANNOTATION_SPAN` are
414
+ * suppressed — bracketed asides describe the address ("(Apt 4 around back)"), and the annotation
415
+ * proposal already carries the span. Content inside QUOTED_SPANs is NOT suppressed (quotes wrap
416
+ * names, not asides).
417
+ */
418
+ export function proposeSpans(text, lexicon = EMPTY_SPAN_PROPOSER_LEXICON) {
419
+ if (text.length === 0)
420
+ return [];
421
+ let groupCounter = 0;
422
+ const nextGroup = () => groupCounter++;
423
+ const paired = proposePairedDelimiters(text, lexicon);
424
+ const tokens = tokenize(text);
425
+ const inner = [
426
+ ...proposeDesignatorPhrases(text, tokens, lexicon),
427
+ ...proposeNumericReadings(tokens, lexicon, nextGroup),
428
+ ];
429
+ const confidentAnnotations = paired.filter((p) => p.kind === "ANNOTATION_SPAN" && p.confidence >= 0.6);
430
+ const survivors = inner.filter((p) => !confidentAnnotations.some((a) => p.start >= a.start && p.end <= a.end));
431
+ const out = [...paired, ...survivors];
432
+ out.sort((a, b) => (a.start !== b.start ? a.start - b.start : b.confidence - a.confidence));
433
+ return out;
434
+ }
435
+ //# sourceMappingURL=span-proposer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span-proposer.js","sourceRoot":"","sources":["../../pipeline/span-proposer.ts"],"names":[],"mappings":"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"}
@@ -200,8 +200,8 @@ export interface RuntimePipelineStages {
200
200
  fst?: FstMatcherLike;
201
201
  resolver?: Resolver;
202
202
  /**
203
- * The gazetteer BACKEND (lower-level than `resolver`), enabling the reconciler's concordance
204
- * axes (#478): a bounded pre-fetch turns it into the resolver-candidate + parent-chain lookups
203
+ * The gazetteer BACKEND (lower-level than `resolver`), enabling the reconciler's concordance axes
204
+ * (#478): a bounded pre-fetch turns it into the resolver-candidate + parent-chain lookups
205
205
  * `reconcileSpans` scores with. Optional — absent, reconcile runs classifier-only (today's
206
206
  * behavior, byte-stable).
207
207
  */
@@ -18,12 +18,12 @@
18
18
  * "country": { "mode": "both" }
19
19
  * }
20
20
  * }
21
- * ```
21
+ * ```
22
22
  *
23
- * Validation is LOUD and total, by hard-won rule: unknown tags, unknown modes, unknown FIELDS,
24
- * and out-of-range thresholds all throw with the offending path. (A silently-accepted
25
- * `minimumConfidence` typo cost a debugging session on 2026-06-10 — `set()` is structurally
26
- * typed and won't save a JSON file. This loader is where the contract is enforced.)
23
+ * Validation is LOUD and total, by hard-won rule: unknown tags, unknown modes, unknown FIELDS, and
24
+ * out-of-range thresholds all throw with the offending path. (A silently-accepted
25
+ * `minimumConfidence` typo cost a debugging session on 2026-06-10 — `set()` is structurally typed
26
+ * and won't save a JSON file. This loader is where the contract is enforced.)
27
27
  */
28
28
  import type { PolicyMode } from "./policy.js";
29
29
  import { InMemoryPolicyRegistry } from "./registry.js";
@@ -18,12 +18,12 @@
18
18
  * "country": { "mode": "both" }
19
19
  * }
20
20
  * }
21
- * ```
21
+ * ```
22
22
  *
23
- * Validation is LOUD and total, by hard-won rule: unknown tags, unknown modes, unknown FIELDS,
24
- * and out-of-range thresholds all throw with the offending path. (A silently-accepted
25
- * `minimumConfidence` typo cost a debugging session on 2026-06-10 — `set()` is structurally
26
- * typed and won't save a JSON file. This loader is where the contract is enforced.)
23
+ * Validation is LOUD and total, by hard-won rule: unknown tags, unknown modes, unknown FIELDS, and
24
+ * out-of-range thresholds all throw with the offending path. (A silently-accepted
25
+ * `minimumConfidence` typo cost a debugging session on 2026-06-10 — `set()` is structurally typed
26
+ * and won't save a JSON file. This loader is where the contract is enforced.)
27
27
  */
28
28
  import { COMPONENT_TAGS } from "../types/component.js";
29
29
  import { InMemoryPolicyRegistry } from "./registry.js";
@@ -4,7 +4,7 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  export * from "./defaults.js";
7
+ export * from "./from-config.js";
7
8
  export * from "./policy.js";
8
9
  export * from "./registry.js";
9
- export * from "./from-config.js";
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../policy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../policy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
@@ -4,7 +4,7 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  export * from "./defaults.js";
7
+ export * from "./from-config.js";
7
8
  export * from "./policy.js";
8
9
  export * from "./registry.js";
9
- export * from "./from-config.js";
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../policy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../policy/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAA;AAC7B,cAAc,kBAAkB,CAAA;AAChC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA"}
@@ -4,6 +4,6 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  export { createWofResolver } from "./resolve.js";
7
- export { DEFAULT_PLACETYPE_MAP } from "./types.js";
7
+ export { DEFAULT_PLACETYPE_MAP, PLACETYPE_FILTER_GROUPS, expandPlacetypeFilter } from "./types.js";
8
8
  export type { AddressPointHit, AddressPointLookup, Ancestor, CoincidentLocality, PlacetypeMap, ResolveOpts, ResolvedPlace, Resolver, ResolverBackend, } from "./types.js";
9
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../resolver/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClD,YAAY,EACX,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,GACf,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../resolver/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAClG,YAAY,EACX,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,EACR,eAAe,GACf,MAAM,YAAY,CAAA"}
@@ -4,5 +4,5 @@
4
4
  * @author Teffen Ellis, et al.
5
5
  */
6
6
  export { createWofResolver } from "./resolve.js";
7
- export { DEFAULT_PLACETYPE_MAP } from "./types.js";
7
+ export { DEFAULT_PLACETYPE_MAP, PLACETYPE_FILTER_GROUPS, expandPlacetypeFilter } from "./types.js";
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../resolver/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../resolver/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA"}
@@ -54,8 +54,8 @@ function firstPostcodeValue(roots) {
54
54
  }
55
55
  /**
56
56
  * Address-point tier (#476): find `street` + `house_number` in the tree (first occurrence,
57
- * depth-first), scope by the tree's postcode/locality values, and on an exact hit stamp the
58
- * point onto the STREET node's metadata. Additive only — admin resolution is never altered.
57
+ * depth-first), scope by the tree's postcode/locality values, and on an exact hit stamp the point
58
+ * onto the STREET node's metadata. Additive only — admin resolution is never altered.
59
59
  */
60
60
  function applyAddressPoint(roots, lookup) {
61
61
  let street;
@@ -131,8 +131,8 @@ export interface AddressPointHit {
131
131
  release: string;
132
132
  }
133
133
  /**
134
- * Street-level exact-point lookup (#476). Implementations own their normalization — both the
135
- * shard build and this lookup must apply the SAME normalizer (see
134
+ * Street-level exact-point lookup (#476). Implementations own their normalization — both the shard
135
+ * build and this lookup must apply the SAME normalizer (see
136
136
  * `resolver-wof-sqlite/street-normalize.ts`). Core depends only on this contract.
137
137
  */
138
138
  export interface AddressPointLookup {
@@ -261,6 +261,29 @@ export interface ResolveOpts {
261
261
  */
262
262
  export type PlacetypeMap = Partial<Record<ComponentTag, string>>;
263
263
  export declare const DEFAULT_PLACETYPE_MAP: PlacetypeMap;
264
+ /**
265
+ * Placetype-equivalence groups for lookup FILTERING. WOF splits "city-like place" across several
266
+ * placetypes — `locality` (most cities), `borough` (Brooklyn, the Paris arrondissements, the London
267
+ * boroughs), and `localadmin` (FR communes, US towns/townships in New England) — but an address's
268
+ * locality span can name ANY of them. A backend that filters a locality query to `placetype =
269
+ * 'locality'` alone makes Brooklyn-the-borough (pop 2.5M) unreachable, so the fuzzy "Brooklyn Park,
270
+ * MN" wins instead.
271
+ *
272
+ * This table is the single source of truth for that expansion, shared by every lookup backend
273
+ * (`@mailwoman/resolver-wof-sqlite`, `@mailwoman/resolver-wof-wasm`, and the demo's httpvfs lookup)
274
+ * so the Node and browser resolvers can't drift. Keyed by the REQUESTED placetype; the value is the
275
+ * set the SQL filter should actually accept. Placetypes without an entry pass through unchanged —
276
+ * an explicit `placetype: "borough"` query stays narrow.
277
+ */
278
+ export declare const PLACETYPE_FILTER_GROUPS: Readonly<Record<string, readonly string[]>>;
279
+ /**
280
+ * Expand a placetype filter through {@link PLACETYPE_FILTER_GROUPS}, deduplicated and
281
+ * order-preserving (the first entry stays first — shard routing keys off it). `null`/`undefined`
282
+ * (no filter) passes through untouched.
283
+ */
284
+ export declare function expandPlacetypeFilter(placetypes: null): null;
285
+ export declare function expandPlacetypeFilter(placetypes: readonly string[]): string[];
286
+ export declare function expandPlacetypeFilter(placetypes: readonly string[] | null): string[] | null;
264
287
  /**
265
288
  * The interface implemented by `createWofResolver` and any future resolver factories.
266
289
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../resolver/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../resolver/types.ts"],"names":[],"mappings":"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"}
@@ -23,4 +23,33 @@ export const DEFAULT_PLACETYPE_MAP = {
23
23
  // queries to a `postalcode_us` (or similarly-named) shard, falling back to main if absent.
24
24
  postcode: "postalcode",
25
25
  };
26
+ /**
27
+ * Placetype-equivalence groups for lookup FILTERING. WOF splits "city-like place" across several
28
+ * placetypes — `locality` (most cities), `borough` (Brooklyn, the Paris arrondissements, the London
29
+ * boroughs), and `localadmin` (FR communes, US towns/townships in New England) — but an address's
30
+ * locality span can name ANY of them. A backend that filters a locality query to `placetype =
31
+ * 'locality'` alone makes Brooklyn-the-borough (pop 2.5M) unreachable, so the fuzzy "Brooklyn Park,
32
+ * MN" wins instead.
33
+ *
34
+ * This table is the single source of truth for that expansion, shared by every lookup backend
35
+ * (`@mailwoman/resolver-wof-sqlite`, `@mailwoman/resolver-wof-wasm`, and the demo's httpvfs lookup)
36
+ * so the Node and browser resolvers can't drift. Keyed by the REQUESTED placetype; the value is the
37
+ * set the SQL filter should actually accept. Placetypes without an entry pass through unchanged —
38
+ * an explicit `placetype: "borough"` query stays narrow.
39
+ */
40
+ export const PLACETYPE_FILTER_GROUPS = {
41
+ locality: ["locality", "borough", "localadmin"],
42
+ };
43
+ export function expandPlacetypeFilter(placetypes) {
44
+ if (!placetypes)
45
+ return null;
46
+ const out = [];
47
+ for (const placetype of placetypes) {
48
+ for (const expanded of PLACETYPE_FILTER_GROUPS[placetype] ?? [placetype]) {
49
+ if (!out.includes(expanded))
50
+ out.push(expanded);
51
+ }
52
+ }
53
+ return out;
54
+ }
26
55
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../resolver/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA8PH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IAClD,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,kBAAkB,EAAE,UAAU;IAC9B,SAAS,EAAE,QAAQ;IACnB,0FAA0F;IAC1F,6FAA6F;IAC7F,2FAA2F;IAC3F,QAAQ,EAAE,YAAY;CACtB,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../resolver/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA8PH,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IAClD,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,kBAAkB,EAAE,UAAU;IAC9B,SAAS,EAAE,QAAQ;IACnB,0FAA0F;IAC1F,6FAA6F;IAC7F,2FAA2F;IAC3F,QAAQ,EAAE,YAAY;CACtB,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAgD;IACnF,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;CAC/C,CAAA;AAUD,MAAM,UAAU,qBAAqB,CAAC,UAAoC;IACzE,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IAC5B,MAAM,GAAG,GAAa,EAAE,CAAA;IACxB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,KAAK,MAAM,QAAQ,IAAI,uBAAuB,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1E,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAChD,CAAC;IACF,CAAC;IACD,OAAO,GAAG,CAAA;AACX,CAAC"}
@@ -8,9 +8,9 @@ import { type TextNormalizerInit } from "@mailwoman/core/tokenization";
8
8
  import { LocaleIndex } from "./LocaleIndex.js";
9
9
  export type LibPostalLanguageCode = Alpha2LanguageCode | "all";
10
10
  /**
11
- * Languages with a libpostal dictionary directory on disk. Lazily resolved and memoized — this
12
- * was a top-level `await` until #481, which made any bare-import + subpath-import combination a
13
- * TLA cycle under Vite's loader (classifier base classes evaluated as `undefined`; see the old
11
+ * Languages with a libpostal dictionary directory on disk. Lazily resolved and memoized — this was
12
+ * a top-level `await` until #481, which made any bare-import + subpath-import combination a TLA
13
+ * cycle under Vite's loader (classifier base classes evaluated as `undefined`; see the old
14
14
  * workaround note in `classifiers/adapter.test.ts`). The promise is shared, so concurrent first
15
15
  * callers do one `readdir`.
16
16
  */
@@ -19,9 +19,9 @@ const libPostalDataDirectory = resourceDictionaryPathBuilder("libpostal");
19
19
  const libPostalInternalDataDirectory = resourceDictionaryPathBuilder("internal", "libpostal");
20
20
  let _availableLanguages;
21
21
  /**
22
- * Languages with a libpostal dictionary directory on disk. Lazily resolved and memoized — this
23
- * was a top-level `await` until #481, which made any bare-import + subpath-import combination a
24
- * TLA cycle under Vite's loader (classifier base classes evaluated as `undefined`; see the old
22
+ * Languages with a libpostal dictionary directory on disk. Lazily resolved and memoized — this was
23
+ * a top-level `await` until #481, which made any bare-import + subpath-import combination a TLA
24
+ * cycle under Vite's loader (classifier base classes evaluated as `undefined`; see the old
25
25
  * workaround note in `classifiers/adapter.test.ts`). The promise is shared, so concurrent first
26
26
  * callers do one `readdir`.
27
27
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/core",
3
- "version": "4.3.0",
3
+ "version": "4.5.0",
4
4
  "description": "Mailwoman core: tokenization, classification primitives, solver, formatter, resources, filters, solvers, utils.",
5
5
  "license": "AGPL-3.0-only",
6
6
  "repository": {