@mailwoman/phrase-grouper 9.2.0 → 9.4.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/{group.ts → lib/group.ts} +5 -2
- package/{index.ts → lib/index.ts} +4 -13
- package/{rules.ts → lib/rules.ts} +42 -120
- package/lib/types.ts +25 -0
- package/out/group.d.ts +3 -1
- package/out/group.d.ts.map +1 -1
- package/out/group.js +1 -1
- package/out/group.js.map +1 -1
- package/out/index.d.ts +4 -4
- package/out/index.d.ts.map +1 -1
- package/out/index.js +2 -2
- package/out/index.js.map +1 -1
- package/out/rules.d.ts +3 -1
- package/out/rules.d.ts.map +1 -1
- package/out/rules.js +37 -117
- package/out/rules.js.map +1 -1
- package/out/types.d.ts +2 -40
- package/out/types.d.ts.map +1 -1
- package/out/types.js.map +1 -1
- package/package.json +26 -4
- package/types.ts +0 -50
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
* and `phrase-grouper/rules.ts` for per-rule documentation.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
+
import type { LocaleHint, PhraseProposal } from "@mailwoman/core/pipeline"
|
|
17
|
+
import type { NormalizedInputLite, QueryShapeTokensView as QueryShapeLike } from "@mailwoman/query-shape"
|
|
18
|
+
|
|
16
19
|
import {
|
|
17
20
|
scoreHyphenatedCompound,
|
|
18
21
|
scoreLocalityPhrase,
|
|
@@ -23,8 +26,8 @@ import {
|
|
|
23
26
|
scoreVenuePhrase,
|
|
24
27
|
tokenizeSegment,
|
|
25
28
|
type SegmentToken,
|
|
26
|
-
} from "
|
|
27
|
-
import type { GroupPhrasesOpts
|
|
29
|
+
} from "#rules"
|
|
30
|
+
import type { GroupPhrasesOpts } from "#types"
|
|
28
31
|
|
|
29
32
|
/**
|
|
30
33
|
* Walk every QueryShape segment and emit one `tokens-by-segment` list. Falls back to treating the whole input as a
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* and `docs/articles/plan/phases/PHASE_8_v0_5_0_fresh_slate.md` § E for the v0.5.0 thread.
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
export { groupPhrases, groupPhrasesSync } from "
|
|
22
|
+
export { groupPhrases, groupPhrasesSync } from "#group"
|
|
23
23
|
|
|
24
24
|
export {
|
|
25
25
|
scoreHyphenatedCompound,
|
|
@@ -30,17 +30,8 @@ export {
|
|
|
30
30
|
scoreStreetPhrase,
|
|
31
31
|
scoreVenuePhrase,
|
|
32
32
|
tokenizeSegment,
|
|
33
|
-
} from "
|
|
33
|
+
} from "#rules"
|
|
34
34
|
|
|
35
|
-
export type { SegmentToken } from "
|
|
35
|
+
export type { SegmentToken } from "#rules"
|
|
36
36
|
|
|
37
|
-
export type {
|
|
38
|
-
GroupPhrasesOpts,
|
|
39
|
-
LocaleHint,
|
|
40
|
-
NormalizedInputLite,
|
|
41
|
-
PhraseGrouper,
|
|
42
|
-
PhraseKind,
|
|
43
|
-
PhraseProposal,
|
|
44
|
-
QueryShapeLike,
|
|
45
|
-
Section,
|
|
46
|
-
} from "./types.ts"
|
|
37
|
+
export type { GroupPhrasesOpts } from "#types"
|
|
@@ -16,9 +16,13 @@
|
|
|
16
16
|
* (Stage 5) picks the best non-overlapping subset.
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
|
+
import { isFloorDesignatorToken } from "@mailwoman/codex/us/floor-designator"
|
|
20
|
+
import { US_STATE_NAMES } from "@mailwoman/codex/us/state"
|
|
21
|
+
import { isStreetSuffixToken } from "@mailwoman/codex/us/street-suffix"
|
|
22
|
+
import { isUnitDesignatorToken } from "@mailwoman/codex/us/unit-designator"
|
|
23
|
+
import type { PhraseProposal } from "@mailwoman/core/pipeline"
|
|
19
24
|
import { Span } from "@mailwoman/core/tokenization"
|
|
20
|
-
|
|
21
|
-
import type { PhraseProposal, QueryShapeLike } from "./types.ts"
|
|
25
|
+
import { isRegionAbbreviationToken, type QueryShapeTokensView as QueryShapeLike } from "@mailwoman/query-shape"
|
|
22
26
|
|
|
23
27
|
/**
|
|
24
28
|
* One token within a segment — absolute offsets into the normalized input. Built by `tokenizeSegment` from a
|
|
@@ -40,52 +44,20 @@ const WHITESPACE = /\s+/
|
|
|
40
44
|
*/
|
|
41
45
|
const NEUTRAL_PROPOSAL_CONFIDENCE = 0.55
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
"delaware",
|
|
52
|
-
"florida",
|
|
53
|
-
"georgia",
|
|
54
|
-
"hawaii",
|
|
55
|
-
"idaho",
|
|
56
|
-
"illinois",
|
|
57
|
-
"indiana",
|
|
58
|
-
"iowa",
|
|
59
|
-
"kansas",
|
|
60
|
-
"kentucky",
|
|
61
|
-
"louisiana",
|
|
62
|
-
"maine",
|
|
63
|
-
"maryland",
|
|
64
|
-
"massachusetts",
|
|
65
|
-
"michigan",
|
|
66
|
-
"minnesota",
|
|
67
|
-
"mississippi",
|
|
68
|
-
"missouri",
|
|
69
|
-
"montana",
|
|
70
|
-
"nebraska",
|
|
71
|
-
"nevada",
|
|
72
|
-
"ohio",
|
|
73
|
-
"oklahoma",
|
|
74
|
-
"oregon",
|
|
75
|
-
"pennsylvania",
|
|
76
|
-
"tennessee",
|
|
77
|
-
"texas",
|
|
78
|
-
"utah",
|
|
79
|
-
"vermont",
|
|
80
|
-
"virginia",
|
|
81
|
-
"washington",
|
|
82
|
-
"wisconsin",
|
|
83
|
-
"wyoming",
|
|
84
|
-
])
|
|
47
|
+
/**
|
|
48
|
+
* Single-token US state/territory names, derived from the codex roster. SINGLE-TOKEN scope on purpose: the non-tail
|
|
49
|
+
* region-name penalty below reads one token at a time, and a multi-word name ("New York", "North Carolina") can never
|
|
50
|
+
* match a single token — deriving only the single-token names keeps the set equal to what the check can ever see.
|
|
51
|
+
*/
|
|
52
|
+
const US_REGION_NAMES: ReadonlySet<string> = new Set(
|
|
53
|
+
US_STATE_NAMES.filter((name) => !name.includes(" ")).map((name) => name.toLowerCase())
|
|
54
|
+
)
|
|
85
55
|
|
|
86
56
|
/**
|
|
87
57
|
* Split a segment body into whitespace-separated tokens. Offsets are absolute into the original input (caller supplies
|
|
88
|
-
* the segment's `start` offset).
|
|
58
|
+
* the segment's `start` offset). Deliberately NOT `@mailwoman/query-shape`'s tokenizer: that one yields code-point
|
|
59
|
+
* CLASS runs for the whole input, while this one carries segment-relative → absolute span math for the proposal spans —
|
|
60
|
+
* the two disagree on what a token boundary is.
|
|
89
61
|
*/
|
|
90
62
|
/**
|
|
91
63
|
* Digit count above which a pure-numeric token stops being unambiguously a house number. 1-4 digits are clearly
|
|
@@ -169,10 +141,11 @@ function isAllDigit(s: string): boolean {
|
|
|
169
141
|
}
|
|
170
142
|
|
|
171
143
|
/**
|
|
172
|
-
*
|
|
144
|
+
* Region-abbreviation SHAPE via the shared `@mailwoman/query-shape` predicate, widened to 3 letters (US states,
|
|
145
|
+
* Canadian provinces, and 3-letter codes like "TWN").
|
|
173
146
|
*/
|
|
174
147
|
function isRegionAbbreviation(s: string): boolean {
|
|
175
|
-
return
|
|
148
|
+
return isRegionAbbreviationToken(s, { maxLetters: 3 })
|
|
176
149
|
}
|
|
177
150
|
|
|
178
151
|
/**
|
|
@@ -185,59 +158,18 @@ function startsCapitalized(s: string): boolean {
|
|
|
185
158
|
}
|
|
186
159
|
|
|
187
160
|
/**
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
* dictionary in this rule.
|
|
161
|
+
* Street-type suffix vocabulary — the full USPS Pub-28 table via `@mailwoman/codex`, replacing the short local set. The
|
|
162
|
+
* codex lookup carries no dotted variants ("St.", "Ave."), so one trailing period is stripped before the probe.
|
|
191
163
|
*/
|
|
192
|
-
const STREET_SUFFIXES: ReadonlySet<string> = new Set([
|
|
193
|
-
"st",
|
|
194
|
-
"st.",
|
|
195
|
-
"street",
|
|
196
|
-
"ave",
|
|
197
|
-
"ave.",
|
|
198
|
-
"avenue",
|
|
199
|
-
"blvd",
|
|
200
|
-
"blvd.",
|
|
201
|
-
"boulevard",
|
|
202
|
-
"rd",
|
|
203
|
-
"rd.",
|
|
204
|
-
"road",
|
|
205
|
-
"ln",
|
|
206
|
-
"ln.",
|
|
207
|
-
"lane",
|
|
208
|
-
"dr",
|
|
209
|
-
"dr.",
|
|
210
|
-
"drive",
|
|
211
|
-
"way",
|
|
212
|
-
"pl",
|
|
213
|
-
"pl.",
|
|
214
|
-
"place",
|
|
215
|
-
"ct",
|
|
216
|
-
"ct.",
|
|
217
|
-
"court",
|
|
218
|
-
"pkwy",
|
|
219
|
-
"parkway",
|
|
220
|
-
"hwy",
|
|
221
|
-
"highway",
|
|
222
|
-
"ter",
|
|
223
|
-
"terrace",
|
|
224
|
-
"cir",
|
|
225
|
-
"circle",
|
|
226
|
-
"sq",
|
|
227
|
-
"square",
|
|
228
|
-
"trl",
|
|
229
|
-
"trail",
|
|
230
|
-
])
|
|
231
|
-
|
|
232
164
|
function isStreetSuffix(token: string): boolean {
|
|
233
|
-
return
|
|
165
|
+
return isStreetSuffixToken(token.replace(/\.$/, ""))
|
|
234
166
|
}
|
|
235
167
|
|
|
236
168
|
/**
|
|
237
169
|
* Romance/Latin street-TYPE words that LEAD the street ("Via Trento", "Calle Mayor", "Corso Italia"). English puts the
|
|
238
170
|
* type last (a suffix — see STREET_SUFFIXES); Romance languages put it first. Without this, a leading "Via"/"Calle" is
|
|
239
|
-
* capitalized first-segment text the locality rule
|
|
240
|
-
*
|
|
171
|
+
* capitalized first-segment text the locality rule proposes, and on OOD intl input the model can't type it either — so
|
|
172
|
+
* the grouper-audit promotes it to a spurious `locality`, burying the real city (#425 re-verification).
|
|
241
173
|
*
|
|
242
174
|
* Street-TYPES only — deliberately NOT the ambiguous area/development words ("Polígono", "Urbanización", "Lugar",
|
|
243
175
|
* "Partida", "Borgo") that legitimately serve AS localities. This stays a bounded linguistic category; per-locale
|
|
@@ -433,31 +365,21 @@ const VENUE_MARKERS: ReadonlyMap<string, number> = new Map([
|
|
|
433
365
|
])
|
|
434
366
|
|
|
435
367
|
/**
|
|
436
|
-
* Unit-
|
|
437
|
-
*
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
"
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
"fl",
|
|
452
|
-
"fl.",
|
|
453
|
-
"bldg",
|
|
454
|
-
"bldg.",
|
|
455
|
-
"building",
|
|
456
|
-
"dept",
|
|
457
|
-
"dept.",
|
|
458
|
-
"department",
|
|
459
|
-
"#",
|
|
460
|
-
])
|
|
368
|
+
* Unit-marker tokens outside the USPS tables. Pub-28 Appendix C2 (via `@mailwoman/codex`) covers the designator words
|
|
369
|
+
* themselves — APT/STE/RM/FL/BLDG/DEPT and their full forms — so the local extension carries only the bare "#" that
|
|
370
|
+
* introduces "#4B", which is not USPS vocabulary.
|
|
371
|
+
*/
|
|
372
|
+
const UNIT_MARKER_EXTENSIONS: ReadonlySet<string> = new Set(["#"])
|
|
373
|
+
|
|
374
|
+
/**
|
|
375
|
+
* True when a token admits the venue-by-exclusion heuristic as a unit/suite/floor marker: any USPS secondary unit or
|
|
376
|
+
* floor-class designator (dotted abbreviations included — one trailing period is stripped), or a local extension.
|
|
377
|
+
*/
|
|
378
|
+
function isUnitMarker(token: string): boolean {
|
|
379
|
+
const bare = token.replace(/\.$/, "")
|
|
380
|
+
|
|
381
|
+
return UNIT_MARKER_EXTENSIONS.has(token) || isUnitDesignatorToken(bare) || isFloorDesignatorToken(bare)
|
|
382
|
+
}
|
|
461
383
|
|
|
462
384
|
function venueMarkerWeight(tokens: ReadonlyArray<SegmentToken>): number {
|
|
463
385
|
let maxWeight = 0
|
|
@@ -473,8 +395,8 @@ function venueMarkerWeight(tokens: ReadonlyArray<SegmentToken>): number {
|
|
|
473
395
|
return maxWeight
|
|
474
396
|
}
|
|
475
397
|
|
|
476
|
-
function hasUnitMarker(tokens: ReadonlyArray<SegmentToken>): boolean {
|
|
477
|
-
return tokens.some((t) =>
|
|
398
|
+
export function hasUnitMarker(tokens: ReadonlyArray<SegmentToken>): boolean {
|
|
399
|
+
return tokens.some((t) => isUnitMarker(t.body))
|
|
478
400
|
}
|
|
479
401
|
|
|
480
402
|
/**
|
package/lib/types.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Re-exports of the canonical types from `@mailwoman/core/pipeline`.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Re-export of the canonical `Section` type from `@mailwoman/core/types`. `Section = Span`.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The minimal input shapes consumed by `groupPhrases` come from `@mailwoman/query-shape` — one declaration shared by
|
|
17
|
+
* every Stage-2.x consumer. `QueryShapeLike` stays this package's public name for its narrow read-only view.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export interface GroupPhrasesOpts {
|
|
21
|
+
/**
|
|
22
|
+
* Reserved for future tunables (e.g. confidence floor, per-kind biasing). Currently unused.
|
|
23
|
+
*/
|
|
24
|
+
confidenceFloor?: number
|
|
25
|
+
}
|
package/out/group.d.ts
CHANGED
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
* See `docs/articles/concepts/the-knowledge-ladder.md` § Phrase grouper for the design rationale,
|
|
13
13
|
* and `phrase-grouper/rules.ts` for per-rule documentation.
|
|
14
14
|
*/
|
|
15
|
-
import type {
|
|
15
|
+
import type { LocaleHint, PhraseProposal } from "@mailwoman/core/pipeline";
|
|
16
|
+
import type { NormalizedInputLite, QueryShapeTokensView as QueryShapeLike } from "@mailwoman/query-shape";
|
|
17
|
+
import type { GroupPhrasesOpts } from "#types";
|
|
16
18
|
/**
|
|
17
19
|
* Synchronous, pure rule-based implementation. The async wrapper matches the pipeline contract.
|
|
18
20
|
*
|
package/out/group.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../lib/group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,oBAAoB,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAazG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AA6B9C;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC/B,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,cAAc,EACrB,OAAO,CAAC,EAAE,UAAU,EACpB,KAAK,GAAE,gBAAqB,GAC1B,cAAc,EAAE,CA4BlB;AAED;;;GAGG;AACH,wBAAsB,YAAY,CACjC,KAAK,EAAE,mBAAmB,EAC1B,KAAK,EAAE,cAAc,EACrB,MAAM,CAAC,EAAE,UAAU,EACnB,IAAI,CAAC,EAAE,gBAAgB,GACrB,OAAO,CAAC,cAAc,EAAE,CAAC,CAE3B"}
|
package/out/group.js
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* See `docs/articles/concepts/the-knowledge-ladder.md` § Phrase grouper for the design rationale,
|
|
13
13
|
* and `phrase-grouper/rules.ts` for per-rule documentation.
|
|
14
14
|
*/
|
|
15
|
-
import { scoreHyphenatedCompound, scoreLocalityPhrase, scoreNumeric, scorePostcode, scoreRegionAbbreviation, scoreStreetPhrase, scoreVenuePhrase, tokenizeSegment, } from "
|
|
15
|
+
import { scoreHyphenatedCompound, scoreLocalityPhrase, scoreNumeric, scorePostcode, scoreRegionAbbreviation, scoreStreetPhrase, scoreVenuePhrase, tokenizeSegment, } from "#rules";
|
|
16
16
|
/**
|
|
17
17
|
* Walk every QueryShape segment and emit one `tokens-by-segment` list. Falls back to treating the whole input as a
|
|
18
18
|
* single segment when QueryShape didn't supply segmentation (e.g. callers wiring the grouper into a path that bypasses
|
package/out/group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../lib/group.ts"],"names":[],"mappings":"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"}
|
package/out/index.d.ts
CHANGED
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
* See `docs/articles/concepts/the-knowledge-ladder.md` § Phrase grouper for the design rationale
|
|
19
19
|
* and `docs/articles/plan/phases/PHASE_8_v0_5_0_fresh_slate.md` § E for the v0.5.0 thread.
|
|
20
20
|
*/
|
|
21
|
-
export { groupPhrases, groupPhrasesSync } from "
|
|
22
|
-
export { scoreHyphenatedCompound, scoreLocalityPhrase, scoreNumeric, scorePostcode, scoreRegionAbbreviation, scoreStreetPhrase, scoreVenuePhrase, tokenizeSegment, } from "
|
|
23
|
-
export type { SegmentToken } from "
|
|
24
|
-
export type { GroupPhrasesOpts
|
|
21
|
+
export { groupPhrases, groupPhrasesSync } from "#group";
|
|
22
|
+
export { scoreHyphenatedCompound, scoreLocalityPhrase, scoreNumeric, scorePostcode, scoreRegionAbbreviation, scoreStreetPhrase, scoreVenuePhrase, tokenizeSegment, } from "#rules";
|
|
23
|
+
export type { SegmentToken } from "#rules";
|
|
24
|
+
export type { GroupPhrasesOpts } from "#types";
|
|
25
25
|
//# sourceMappingURL=index.d.ts.map
|
package/out/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAEvD,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GACf,MAAM,QAAQ,CAAA;AAEf,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AAE1C,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA"}
|
package/out/index.js
CHANGED
|
@@ -18,6 +18,6 @@
|
|
|
18
18
|
* See `docs/articles/concepts/the-knowledge-ladder.md` § Phrase grouper for the design rationale
|
|
19
19
|
* and `docs/articles/plan/phases/PHASE_8_v0_5_0_fresh_slate.md` § E for the v0.5.0 thread.
|
|
20
20
|
*/
|
|
21
|
-
export { groupPhrases, groupPhrasesSync } from "
|
|
22
|
-
export { scoreHyphenatedCompound, scoreLocalityPhrase, scoreNumeric, scorePostcode, scoreRegionAbbreviation, scoreStreetPhrase, scoreVenuePhrase, tokenizeSegment, } from "
|
|
21
|
+
export { groupPhrases, groupPhrasesSync } from "#group";
|
|
22
|
+
export { scoreHyphenatedCompound, scoreLocalityPhrase, scoreNumeric, scorePostcode, scoreRegionAbbreviation, scoreStreetPhrase, scoreVenuePhrase, tokenizeSegment, } from "#rules";
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
package/out/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAEvD,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GACf,MAAM,QAAQ,CAAA"}
|
package/out/rules.d.ts
CHANGED
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
* Per "possibilities not constraints", rules emit overlapping proposals freely. The reconciler
|
|
16
16
|
* (Stage 5) picks the best non-overlapping subset.
|
|
17
17
|
*/
|
|
18
|
-
import type { PhraseProposal
|
|
18
|
+
import type { PhraseProposal } from "@mailwoman/core/pipeline";
|
|
19
|
+
import { type QueryShapeTokensView as QueryShapeLike } from "@mailwoman/query-shape";
|
|
19
20
|
/**
|
|
20
21
|
* One token within a segment — absolute offsets into the normalized input. Built by `tokenizeSegment` from a
|
|
21
22
|
* (segment-text, segment-start) pair.
|
|
@@ -26,6 +27,7 @@ export interface SegmentToken {
|
|
|
26
27
|
end: number;
|
|
27
28
|
}
|
|
28
29
|
export declare function tokenizeSegment(segmentBody: string, segmentStart: number): SegmentToken[];
|
|
30
|
+
export declare function hasUnitMarker(tokens: ReadonlyArray<SegmentToken>): boolean;
|
|
29
31
|
/**
|
|
30
32
|
* `NUMERIC` rule: emit one proposal per all-digit token. House numbers, postcodes (when no format hit), unit numbers
|
|
31
33
|
* all surface here as a base hypothesis.
|
package/out/rules.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../lib/rules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAE9D,OAAO,EAA6B,KAAK,oBAAoB,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE/G;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACX;AAoED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,YAAY,EAAE,CAwBzF;AA+QD,wBAAgB,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,OAAO,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAoBhG;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAiBnF;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CACtC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,GACpB,cAAc,EAAE,CAiClB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAkB3G;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAsFrG;AAwBD,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,GACpB,cAAc,EAAE,CA2GlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC/B,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,cAAc,CAAC,EAAE,OAAO,GACtB,cAAc,EAAE,CAoDlB"}
|
package/out/rules.js
CHANGED
|
@@ -15,7 +15,12 @@
|
|
|
15
15
|
* Per "possibilities not constraints", rules emit overlapping proposals freely. The reconciler
|
|
16
16
|
* (Stage 5) picks the best non-overlapping subset.
|
|
17
17
|
*/
|
|
18
|
+
import { isFloorDesignatorToken } from "@mailwoman/codex/us/floor-designator";
|
|
19
|
+
import { US_STATE_NAMES } from "@mailwoman/codex/us/state";
|
|
20
|
+
import { isStreetSuffixToken } from "@mailwoman/codex/us/street-suffix";
|
|
21
|
+
import { isUnitDesignatorToken } from "@mailwoman/codex/us/unit-designator";
|
|
18
22
|
import { Span } from "@mailwoman/core/tokenization";
|
|
23
|
+
import { isRegionAbbreviationToken } from "@mailwoman/query-shape";
|
|
19
24
|
const WHITESPACE = /\s+/;
|
|
20
25
|
/**
|
|
21
26
|
* Neutral baseline confidence for phrase proposals when no structural cue (position, length, known
|
|
@@ -24,51 +29,17 @@ const WHITESPACE = /\s+/;
|
|
|
24
29
|
* region name that isn't at segment-tail).
|
|
25
30
|
*/
|
|
26
31
|
const NEUTRAL_PROPOSAL_CONFIDENCE = 0.55;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
"colorado",
|
|
34
|
-
"connecticut",
|
|
35
|
-
"delaware",
|
|
36
|
-
"florida",
|
|
37
|
-
"georgia",
|
|
38
|
-
"hawaii",
|
|
39
|
-
"idaho",
|
|
40
|
-
"illinois",
|
|
41
|
-
"indiana",
|
|
42
|
-
"iowa",
|
|
43
|
-
"kansas",
|
|
44
|
-
"kentucky",
|
|
45
|
-
"louisiana",
|
|
46
|
-
"maine",
|
|
47
|
-
"maryland",
|
|
48
|
-
"massachusetts",
|
|
49
|
-
"michigan",
|
|
50
|
-
"minnesota",
|
|
51
|
-
"mississippi",
|
|
52
|
-
"missouri",
|
|
53
|
-
"montana",
|
|
54
|
-
"nebraska",
|
|
55
|
-
"nevada",
|
|
56
|
-
"ohio",
|
|
57
|
-
"oklahoma",
|
|
58
|
-
"oregon",
|
|
59
|
-
"pennsylvania",
|
|
60
|
-
"tennessee",
|
|
61
|
-
"texas",
|
|
62
|
-
"utah",
|
|
63
|
-
"vermont",
|
|
64
|
-
"virginia",
|
|
65
|
-
"washington",
|
|
66
|
-
"wisconsin",
|
|
67
|
-
"wyoming",
|
|
68
|
-
]);
|
|
32
|
+
/**
|
|
33
|
+
* Single-token US state/territory names, derived from the codex roster. SINGLE-TOKEN scope on purpose: the non-tail
|
|
34
|
+
* region-name penalty below reads one token at a time, and a multi-word name ("New York", "North Carolina") can never
|
|
35
|
+
* match a single token — deriving only the single-token names keeps the set equal to what the check can ever see.
|
|
36
|
+
*/
|
|
37
|
+
const US_REGION_NAMES = new Set(US_STATE_NAMES.filter((name) => !name.includes(" ")).map((name) => name.toLowerCase()));
|
|
69
38
|
/**
|
|
70
39
|
* Split a segment body into whitespace-separated tokens. Offsets are absolute into the original input (caller supplies
|
|
71
|
-
* the segment's `start` offset).
|
|
40
|
+
* the segment's `start` offset). Deliberately NOT `@mailwoman/query-shape`'s tokenizer: that one yields code-point
|
|
41
|
+
* CLASS runs for the whole input, while this one carries segment-relative → absolute span math for the proposal spans —
|
|
42
|
+
* the two disagree on what a token boundary is.
|
|
72
43
|
*/
|
|
73
44
|
/**
|
|
74
45
|
* Digit count above which a pure-numeric token stops being unambiguously a house number. 1-4 digits are clearly
|
|
@@ -138,10 +109,11 @@ function isAllDigit(s) {
|
|
|
138
109
|
return s.length > 0 && /^[0-9]+$/.test(s);
|
|
139
110
|
}
|
|
140
111
|
/**
|
|
141
|
-
*
|
|
112
|
+
* Region-abbreviation SHAPE via the shared `@mailwoman/query-shape` predicate, widened to 3 letters (US states,
|
|
113
|
+
* Canadian provinces, and 3-letter codes like "TWN").
|
|
142
114
|
*/
|
|
143
115
|
function isRegionAbbreviation(s) {
|
|
144
|
-
return
|
|
116
|
+
return isRegionAbbreviationToken(s, { maxLetters: 3 });
|
|
145
117
|
}
|
|
146
118
|
/**
|
|
147
119
|
* True when token starts with an uppercase letter — the common Western proper-noun shape. Unicode-aware (`\p{Lu}`) so
|
|
@@ -152,57 +124,17 @@ function startsCapitalized(s) {
|
|
|
152
124
|
return /^\p{Lu}/u.test(s);
|
|
153
125
|
}
|
|
154
126
|
/**
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
* dictionary in this rule.
|
|
127
|
+
* Street-type suffix vocabulary — the full USPS Pub-28 table via `@mailwoman/codex`, replacing the short local set. The
|
|
128
|
+
* codex lookup carries no dotted variants ("St.", "Ave."), so one trailing period is stripped before the probe.
|
|
158
129
|
*/
|
|
159
|
-
const STREET_SUFFIXES = new Set([
|
|
160
|
-
"st",
|
|
161
|
-
"st.",
|
|
162
|
-
"street",
|
|
163
|
-
"ave",
|
|
164
|
-
"ave.",
|
|
165
|
-
"avenue",
|
|
166
|
-
"blvd",
|
|
167
|
-
"blvd.",
|
|
168
|
-
"boulevard",
|
|
169
|
-
"rd",
|
|
170
|
-
"rd.",
|
|
171
|
-
"road",
|
|
172
|
-
"ln",
|
|
173
|
-
"ln.",
|
|
174
|
-
"lane",
|
|
175
|
-
"dr",
|
|
176
|
-
"dr.",
|
|
177
|
-
"drive",
|
|
178
|
-
"way",
|
|
179
|
-
"pl",
|
|
180
|
-
"pl.",
|
|
181
|
-
"place",
|
|
182
|
-
"ct",
|
|
183
|
-
"ct.",
|
|
184
|
-
"court",
|
|
185
|
-
"pkwy",
|
|
186
|
-
"parkway",
|
|
187
|
-
"hwy",
|
|
188
|
-
"highway",
|
|
189
|
-
"ter",
|
|
190
|
-
"terrace",
|
|
191
|
-
"cir",
|
|
192
|
-
"circle",
|
|
193
|
-
"sq",
|
|
194
|
-
"square",
|
|
195
|
-
"trl",
|
|
196
|
-
"trail",
|
|
197
|
-
]);
|
|
198
130
|
function isStreetSuffix(token) {
|
|
199
|
-
return
|
|
131
|
+
return isStreetSuffixToken(token.replace(/\.$/, ""));
|
|
200
132
|
}
|
|
201
133
|
/**
|
|
202
134
|
* Romance/Latin street-TYPE words that LEAD the street ("Via Trento", "Calle Mayor", "Corso Italia"). English puts the
|
|
203
135
|
* type last (a suffix — see STREET_SUFFIXES); Romance languages put it first. Without this, a leading "Via"/"Calle" is
|
|
204
|
-
* capitalized first-segment text the locality rule
|
|
205
|
-
*
|
|
136
|
+
* capitalized first-segment text the locality rule proposes, and on OOD intl input the model can't type it either — so
|
|
137
|
+
* the grouper-audit promotes it to a spurious `locality`, burying the real city (#425 re-verification).
|
|
206
138
|
*
|
|
207
139
|
* Street-TYPES only — deliberately NOT the ambiguous area/development words ("Polígono", "Urbanización", "Lugar",
|
|
208
140
|
* "Partida", "Borgo") that legitimately serve AS localities. This stays a bounded linguistic category; per-locale
|
|
@@ -391,31 +323,19 @@ const VENUE_MARKERS = new Map([
|
|
|
391
323
|
["farm", 0.65],
|
|
392
324
|
]);
|
|
393
325
|
/**
|
|
394
|
-
* Unit-
|
|
395
|
-
*
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
"
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
"rm.",
|
|
408
|
-
"floor",
|
|
409
|
-
"fl",
|
|
410
|
-
"fl.",
|
|
411
|
-
"bldg",
|
|
412
|
-
"bldg.",
|
|
413
|
-
"building",
|
|
414
|
-
"dept",
|
|
415
|
-
"dept.",
|
|
416
|
-
"department",
|
|
417
|
-
"#",
|
|
418
|
-
]);
|
|
326
|
+
* Unit-marker tokens outside the USPS tables. Pub-28 Appendix C2 (via `@mailwoman/codex`) covers the designator words
|
|
327
|
+
* themselves — APT/STE/RM/FL/BLDG/DEPT and their full forms — so the local extension carries only the bare "#" that
|
|
328
|
+
* introduces "#4B", which is not USPS vocabulary.
|
|
329
|
+
*/
|
|
330
|
+
const UNIT_MARKER_EXTENSIONS = new Set(["#"]);
|
|
331
|
+
/**
|
|
332
|
+
* True when a token admits the venue-by-exclusion heuristic as a unit/suite/floor marker: any USPS secondary unit or
|
|
333
|
+
* floor-class designator (dotted abbreviations included — one trailing period is stripped), or a local extension.
|
|
334
|
+
*/
|
|
335
|
+
function isUnitMarker(token) {
|
|
336
|
+
const bare = token.replace(/\.$/, "");
|
|
337
|
+
return UNIT_MARKER_EXTENSIONS.has(token) || isUnitDesignatorToken(bare) || isFloorDesignatorToken(bare);
|
|
338
|
+
}
|
|
419
339
|
function venueMarkerWeight(tokens) {
|
|
420
340
|
let maxWeight = 0;
|
|
421
341
|
for (const t of tokens) {
|
|
@@ -426,8 +346,8 @@ function venueMarkerWeight(tokens) {
|
|
|
426
346
|
}
|
|
427
347
|
return maxWeight;
|
|
428
348
|
}
|
|
429
|
-
function hasUnitMarker(tokens) {
|
|
430
|
-
return tokens.some((t) =>
|
|
349
|
+
export function hasUnitMarker(tokens) {
|
|
350
|
+
return tokens.some((t) => isUnitMarker(t.body));
|
|
431
351
|
}
|
|
432
352
|
/**
|
|
433
353
|
* `NUMERIC` rule: emit one proposal per all-digit token. House numbers, postcodes (when no format hit), unit numbers
|
package/out/rules.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../rules.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rules.js","sourceRoot":"","sources":["../lib/rules.ts"],"names":[],"mappings":"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"}
|
package/out/types.d.ts
CHANGED
|
@@ -6,51 +6,13 @@
|
|
|
6
6
|
/**
|
|
7
7
|
* Re-exports of the canonical types from `@mailwoman/core/pipeline`.
|
|
8
8
|
*/
|
|
9
|
-
export type { LocaleHint, PhraseGrouper, PhraseKind, PhraseProposal } from "@mailwoman/core/pipeline";
|
|
10
9
|
/**
|
|
11
10
|
* Re-export of the canonical `Section` type from `@mailwoman/core/types`. `Section = Span`.
|
|
12
11
|
*/
|
|
13
|
-
export type { Section } from "@mailwoman/core/types";
|
|
14
12
|
/**
|
|
15
|
-
*
|
|
13
|
+
* The minimal input shapes consumed by `groupPhrases` come from `@mailwoman/query-shape` — one declaration shared by
|
|
14
|
+
* every Stage-2.x consumer. `QueryShapeLike` stays this package's public name for its narrow read-only view.
|
|
16
15
|
*/
|
|
17
|
-
export interface NormalizedInputLite {
|
|
18
|
-
raw: string;
|
|
19
|
-
normalized: string;
|
|
20
|
-
appliedLocale?: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Minimal `QueryShape` shape consumed by `groupPhrases`. Compatible with `@mailwoman/query-shape`'s output.
|
|
24
|
-
*/
|
|
25
|
-
export interface QueryShapeLike {
|
|
26
|
-
knownFormats: ReadonlyArray<{
|
|
27
|
-
format: string;
|
|
28
|
-
span: {
|
|
29
|
-
start: number;
|
|
30
|
-
end: number;
|
|
31
|
-
};
|
|
32
|
-
confidence: number;
|
|
33
|
-
}>;
|
|
34
|
-
segments?: ReadonlyArray<{
|
|
35
|
-
body: string;
|
|
36
|
-
index: number;
|
|
37
|
-
span?: {
|
|
38
|
-
start: number;
|
|
39
|
-
end: number;
|
|
40
|
-
};
|
|
41
|
-
}>;
|
|
42
|
-
tokenClasses?: ReadonlyArray<{
|
|
43
|
-
span: {
|
|
44
|
-
start: number;
|
|
45
|
-
end: number;
|
|
46
|
-
body: string;
|
|
47
|
-
};
|
|
48
|
-
class: string;
|
|
49
|
-
length: number;
|
|
50
|
-
}>;
|
|
51
|
-
characterClass?: string;
|
|
52
|
-
totalLength?: number;
|
|
53
|
-
}
|
|
54
16
|
export interface GroupPhrasesOpts {
|
|
55
17
|
/**
|
|
56
18
|
* Reserved for future tunables (e.g. confidence floor, per-kind biasing). Currently unused.
|
package/out/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AAEH;;GAEG;AAEH;;;GAGG;AAEH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB"}
|
package/out/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mailwoman/phrase-grouper",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"description": "Stage 2.7 of the runtime pipeline — propose coherent input units (boundary discovery) with a structural kind hypothesis + confidence. Rule-based v1 (port of v1 section/sub-section logic); learned 1-2M-param span proposer reserved for v0.5.1.",
|
|
5
5
|
"license": "AGPL-3.0-only OR LicenseRef-Commercial",
|
|
6
6
|
"repository": {
|
|
@@ -24,28 +24,39 @@
|
|
|
24
24
|
"!test/**"
|
|
25
25
|
],
|
|
26
26
|
"type": "module",
|
|
27
|
+
"sideEffects": false,
|
|
27
28
|
"imports": {
|
|
28
29
|
"#index": {
|
|
29
30
|
"types": "./out/index.d.ts",
|
|
31
|
+
"node": "./out/index.js",
|
|
30
32
|
"default": "./out/index.js"
|
|
33
|
+
},
|
|
34
|
+
"#*": {
|
|
35
|
+
"types": "./out/*.d.ts",
|
|
36
|
+
"node": "./out/*.js",
|
|
37
|
+
"default": "./out/*.js"
|
|
31
38
|
}
|
|
32
39
|
},
|
|
33
40
|
"exports": {
|
|
34
41
|
"./package.json": "./package.json",
|
|
35
42
|
".": {
|
|
36
43
|
"types": "./out/index.d.ts",
|
|
44
|
+
"node": "./out/index.js",
|
|
37
45
|
"default": "./out/index.js"
|
|
38
46
|
},
|
|
39
47
|
"./group": {
|
|
40
48
|
"types": "./out/group.d.ts",
|
|
49
|
+
"node": "./out/group.js",
|
|
41
50
|
"default": "./out/group.js"
|
|
42
51
|
},
|
|
43
52
|
"./rules": {
|
|
44
53
|
"types": "./out/rules.d.ts",
|
|
54
|
+
"node": "./out/rules.js",
|
|
45
55
|
"default": "./out/rules.js"
|
|
46
56
|
},
|
|
47
57
|
"./types": {
|
|
48
58
|
"types": "./out/types.d.ts",
|
|
59
|
+
"node": "./out/types.js",
|
|
49
60
|
"default": "./out/types.js"
|
|
50
61
|
}
|
|
51
62
|
},
|
|
@@ -55,33 +66,44 @@
|
|
|
55
66
|
"./package.json": "./package.json",
|
|
56
67
|
".": {
|
|
57
68
|
"types": "./out/index.d.ts",
|
|
69
|
+
"node": "./out/index.js",
|
|
58
70
|
"default": "./out/index.js"
|
|
59
71
|
},
|
|
60
72
|
"./group": {
|
|
61
73
|
"types": "./out/group.d.ts",
|
|
74
|
+
"node": "./out/group.js",
|
|
62
75
|
"default": "./out/group.js"
|
|
63
76
|
},
|
|
64
77
|
"./rules": {
|
|
65
78
|
"types": "./out/rules.d.ts",
|
|
79
|
+
"node": "./out/rules.js",
|
|
66
80
|
"default": "./out/rules.js"
|
|
67
81
|
},
|
|
68
82
|
"./types": {
|
|
69
83
|
"types": "./out/types.d.ts",
|
|
84
|
+
"node": "./out/types.js",
|
|
70
85
|
"default": "./out/types.js"
|
|
71
86
|
}
|
|
72
87
|
},
|
|
73
88
|
"imports": {
|
|
74
89
|
"#index": {
|
|
75
90
|
"types": "./out/index.d.ts",
|
|
91
|
+
"node": "./out/index.js",
|
|
76
92
|
"default": "./out/index.js"
|
|
93
|
+
},
|
|
94
|
+
"#*": {
|
|
95
|
+
"types": "./out/*.d.ts",
|
|
96
|
+
"node": "./out/*.js",
|
|
97
|
+
"default": "./out/*.js"
|
|
77
98
|
}
|
|
78
99
|
}
|
|
79
100
|
},
|
|
80
101
|
"dependencies": {
|
|
81
|
-
"@mailwoman/
|
|
102
|
+
"@mailwoman/codex": "9.4.0",
|
|
103
|
+
"@mailwoman/core": "9.4.0",
|
|
104
|
+
"@mailwoman/query-shape": "9.4.0"
|
|
82
105
|
},
|
|
83
106
|
"devDependencies": {
|
|
84
|
-
"@mailwoman/normalize": "9.
|
|
85
|
-
"@mailwoman/query-shape": "9.2.0"
|
|
107
|
+
"@mailwoman/normalize": "9.4.0"
|
|
86
108
|
}
|
|
87
109
|
}
|
package/types.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @copyright Sister Software
|
|
3
|
-
* @license AGPL-3.0
|
|
4
|
-
* @author Teffen Ellis, et al.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Re-exports of the canonical types from `@mailwoman/core/pipeline`.
|
|
9
|
-
*/
|
|
10
|
-
export type { LocaleHint, PhraseGrouper, PhraseKind, PhraseProposal } from "@mailwoman/core/pipeline"
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Re-export of the canonical `Section` type from `@mailwoman/core/types`. `Section = Span`.
|
|
14
|
-
*/
|
|
15
|
-
export type { Section } from "@mailwoman/core/types"
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Minimal `NormalizedInput` shape consumed by `groupPhrases`. Compatible with `@mailwoman/normalize`'s output.
|
|
19
|
-
*/
|
|
20
|
-
export interface NormalizedInputLite {
|
|
21
|
-
raw: string
|
|
22
|
-
normalized: string
|
|
23
|
-
appliedLocale?: string
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Minimal `QueryShape` shape consumed by `groupPhrases`. Compatible with `@mailwoman/query-shape`'s output.
|
|
28
|
-
*/
|
|
29
|
-
export interface QueryShapeLike {
|
|
30
|
-
knownFormats: ReadonlyArray<{
|
|
31
|
-
format: string
|
|
32
|
-
span: { start: number; end: number }
|
|
33
|
-
confidence: number
|
|
34
|
-
}>
|
|
35
|
-
segments?: ReadonlyArray<{ body: string; index: number; span?: { start: number; end: number } }>
|
|
36
|
-
tokenClasses?: ReadonlyArray<{
|
|
37
|
-
span: { start: number; end: number; body: string }
|
|
38
|
-
class: string
|
|
39
|
-
length: number
|
|
40
|
-
}>
|
|
41
|
-
characterClass?: string
|
|
42
|
-
totalLength?: number
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
export interface GroupPhrasesOpts {
|
|
46
|
-
/**
|
|
47
|
-
* Reserved for future tunables (e.g. confidence floor, per-kind biasing). Currently unused.
|
|
48
|
-
*/
|
|
49
|
-
confidenceFloor?: number
|
|
50
|
-
}
|