@mailwoman/phrase-grouper 9.2.0 → 9.3.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} +2 -2
- package/{index.ts → lib/index.ts} +4 -4
- package/{rules.ts → lib/rules.ts} +42 -119
- package/lib/types.ts +28 -0
- package/out/group.d.ts +1 -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 +2 -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 +3 -38
- 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
|
@@ -23,8 +23,8 @@ import {
|
|
|
23
23
|
scoreVenuePhrase,
|
|
24
24
|
tokenizeSegment,
|
|
25
25
|
type SegmentToken,
|
|
26
|
-
} from "
|
|
27
|
-
import type { GroupPhrasesOpts, LocaleHint, NormalizedInputLite, PhraseProposal, QueryShapeLike } from "
|
|
26
|
+
} from "#rules"
|
|
27
|
+
import type { GroupPhrasesOpts, LocaleHint, NormalizedInputLite, PhraseProposal, QueryShapeLike } from "#types"
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* 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,9 +30,9 @@ 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
37
|
export type {
|
|
38
38
|
GroupPhrasesOpts,
|
|
@@ -43,4 +43,4 @@ export type {
|
|
|
43
43
|
PhraseProposal,
|
|
44
44
|
QueryShapeLike,
|
|
45
45
|
Section,
|
|
46
|
-
} from "
|
|
46
|
+
} from "#types"
|
|
@@ -16,9 +16,14 @@
|
|
|
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"
|
|
19
23
|
import { Span } from "@mailwoman/core/tokenization"
|
|
24
|
+
import { isRegionAbbreviationToken } from "@mailwoman/query-shape"
|
|
20
25
|
|
|
21
|
-
import type { PhraseProposal, QueryShapeLike } from "
|
|
26
|
+
import type { PhraseProposal, QueryShapeLike } from "#types"
|
|
22
27
|
|
|
23
28
|
/**
|
|
24
29
|
* One token within a segment — absolute offsets into the normalized input. Built by `tokenizeSegment` from a
|
|
@@ -40,52 +45,20 @@ const WHITESPACE = /\s+/
|
|
|
40
45
|
*/
|
|
41
46
|
const NEUTRAL_PROPOSAL_CONFIDENCE = 0.55
|
|
42
47
|
|
|
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
|
-
])
|
|
48
|
+
/**
|
|
49
|
+
* Single-token US state/territory names, derived from the codex roster. SINGLE-TOKEN scope on purpose: the non-tail
|
|
50
|
+
* region-name penalty below reads one token at a time, and a multi-word name ("New York", "North Carolina") can never
|
|
51
|
+
* match a single token — deriving only the single-token names keeps the set equal to what the check can ever see.
|
|
52
|
+
*/
|
|
53
|
+
const US_REGION_NAMES: ReadonlySet<string> = new Set(
|
|
54
|
+
US_STATE_NAMES.filter((name) => !name.includes(" ")).map((name) => name.toLowerCase())
|
|
55
|
+
)
|
|
85
56
|
|
|
86
57
|
/**
|
|
87
58
|
* Split a segment body into whitespace-separated tokens. Offsets are absolute into the original input (caller supplies
|
|
88
|
-
* the segment's `start` offset).
|
|
59
|
+
* the segment's `start` offset). Deliberately NOT `@mailwoman/query-shape`'s tokenizer: that one yields code-point
|
|
60
|
+
* CLASS runs for the whole input, while this one carries segment-relative → absolute span math for the proposal spans —
|
|
61
|
+
* the two disagree on what a token boundary is.
|
|
89
62
|
*/
|
|
90
63
|
/**
|
|
91
64
|
* Digit count above which a pure-numeric token stops being unambiguously a house number. 1-4 digits are clearly
|
|
@@ -169,10 +142,11 @@ function isAllDigit(s: string): boolean {
|
|
|
169
142
|
}
|
|
170
143
|
|
|
171
144
|
/**
|
|
172
|
-
*
|
|
145
|
+
* Region-abbreviation SHAPE via the shared `@mailwoman/query-shape` predicate, widened to 3 letters (US states,
|
|
146
|
+
* Canadian provinces, and 3-letter codes like "TWN").
|
|
173
147
|
*/
|
|
174
148
|
function isRegionAbbreviation(s: string): boolean {
|
|
175
|
-
return
|
|
149
|
+
return isRegionAbbreviationToken(s, { maxLetters: 3 })
|
|
176
150
|
}
|
|
177
151
|
|
|
178
152
|
/**
|
|
@@ -185,59 +159,18 @@ function startsCapitalized(s: string): boolean {
|
|
|
185
159
|
}
|
|
186
160
|
|
|
187
161
|
/**
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
* dictionary in this rule.
|
|
162
|
+
* Street-type suffix vocabulary — the full USPS Pub-28 table via `@mailwoman/codex`, replacing the short local set. The
|
|
163
|
+
* codex lookup carries no dotted variants ("St.", "Ave."), so one trailing period is stripped before the probe.
|
|
191
164
|
*/
|
|
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
165
|
function isStreetSuffix(token: string): boolean {
|
|
233
|
-
return
|
|
166
|
+
return isStreetSuffixToken(token.replace(/\.$/, ""))
|
|
234
167
|
}
|
|
235
168
|
|
|
236
169
|
/**
|
|
237
170
|
* Romance/Latin street-TYPE words that LEAD the street ("Via Trento", "Calle Mayor", "Corso Italia"). English puts the
|
|
238
171
|
* 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
|
-
*
|
|
172
|
+
* capitalized first-segment text the locality rule proposes, and on OOD intl input the model can't type it either — so
|
|
173
|
+
* the grouper-audit promotes it to a spurious `locality`, burying the real city (#425 re-verification).
|
|
241
174
|
*
|
|
242
175
|
* Street-TYPES only — deliberately NOT the ambiguous area/development words ("Polígono", "Urbanización", "Lugar",
|
|
243
176
|
* "Partida", "Borgo") that legitimately serve AS localities. This stays a bounded linguistic category; per-locale
|
|
@@ -433,31 +366,21 @@ const VENUE_MARKERS: ReadonlyMap<string, number> = new Map([
|
|
|
433
366
|
])
|
|
434
367
|
|
|
435
368
|
/**
|
|
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
|
-
])
|
|
369
|
+
* Unit-marker tokens outside the USPS tables. Pub-28 Appendix C2 (via `@mailwoman/codex`) covers the designator words
|
|
370
|
+
* themselves — APT/STE/RM/FL/BLDG/DEPT and their full forms — so the local extension carries only the bare "#" that
|
|
371
|
+
* introduces "#4B", which is not USPS vocabulary.
|
|
372
|
+
*/
|
|
373
|
+
const UNIT_MARKER_EXTENSIONS: ReadonlySet<string> = new Set(["#"])
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* True when a token admits the venue-by-exclusion heuristic as a unit/suite/floor marker: any USPS secondary unit or
|
|
377
|
+
* floor-class designator (dotted abbreviations included — one trailing period is stripped), or a local extension.
|
|
378
|
+
*/
|
|
379
|
+
function isUnitMarker(token: string): boolean {
|
|
380
|
+
const bare = token.replace(/\.$/, "")
|
|
381
|
+
|
|
382
|
+
return UNIT_MARKER_EXTENSIONS.has(token) || isUnitDesignatorToken(bare) || isFloorDesignatorToken(bare)
|
|
383
|
+
}
|
|
461
384
|
|
|
462
385
|
function venueMarkerWeight(tokens: ReadonlyArray<SegmentToken>): number {
|
|
463
386
|
let maxWeight = 0
|
|
@@ -473,8 +396,8 @@ function venueMarkerWeight(tokens: ReadonlyArray<SegmentToken>): number {
|
|
|
473
396
|
return maxWeight
|
|
474
397
|
}
|
|
475
398
|
|
|
476
|
-
function hasUnitMarker(tokens: ReadonlyArray<SegmentToken>): boolean {
|
|
477
|
-
return tokens.some((t) =>
|
|
399
|
+
export function hasUnitMarker(tokens: ReadonlyArray<SegmentToken>): boolean {
|
|
400
|
+
return tokens.some((t) => isUnitMarker(t.body))
|
|
478
401
|
}
|
|
479
402
|
|
|
480
403
|
/**
|
package/lib/types.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
* The minimal input shapes consumed by `groupPhrases` come from `@mailwoman/query-shape` — one declaration shared by
|
|
19
|
+
* every Stage-2.x consumer. `QueryShapeLike` stays this package's public name for its narrow read-only view.
|
|
20
|
+
*/
|
|
21
|
+
export type { NormalizedInputLite, QueryShapeTokensView as QueryShapeLike } from "@mailwoman/query-shape"
|
|
22
|
+
|
|
23
|
+
export interface GroupPhrasesOpts {
|
|
24
|
+
/**
|
|
25
|
+
* Reserved for future tunables (e.g. confidence floor, per-kind biasing). Currently unused.
|
|
26
|
+
*/
|
|
27
|
+
confidenceFloor?: number
|
|
28
|
+
}
|
package/out/group.d.ts
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 type { GroupPhrasesOpts, LocaleHint, NormalizedInputLite, PhraseProposal, QueryShapeLike } from "
|
|
15
|
+
import type { GroupPhrasesOpts, LocaleHint, NormalizedInputLite, PhraseProposal, QueryShapeLike } from "#types";
|
|
16
16
|
/**
|
|
17
17
|
* Synchronous, pure rule-based implementation. The async wrapper matches the pipeline contract.
|
|
18
18
|
*
|
package/out/group.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../lib/group.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AA6B/G;;;;;;;;;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;AAEH,OAAO,EACN,uBAAuB,EACvB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAEf,MAAM,
|
|
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, LocaleHint, NormalizedInputLite, PhraseGrouper, PhraseKind, PhraseProposal, QueryShapeLike, Section, } from "
|
|
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, LocaleHint, NormalizedInputLite, PhraseGrouper, PhraseKind, PhraseProposal, QueryShapeLike, Section, } 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,EACX,gBAAgB,EAChB,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,UAAU,EACV,cAAc,EACd,cAAc,EACd,OAAO,GACP,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,7 @@
|
|
|
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, QueryShapeLike } from "
|
|
18
|
+
import type { PhraseProposal, QueryShapeLike } from "#types";
|
|
19
19
|
/**
|
|
20
20
|
* One token within a segment — absolute offsets into the normalized input. Built by `tokenizeSegment` from a
|
|
21
21
|
* (segment-text, segment-start) pair.
|
|
@@ -26,6 +26,7 @@ export interface SegmentToken {
|
|
|
26
26
|
end: number;
|
|
27
27
|
}
|
|
28
28
|
export declare function tokenizeSegment(segmentBody: string, segmentStart: number): SegmentToken[];
|
|
29
|
+
export declare function hasUnitMarker(tokens: ReadonlyArray<SegmentToken>): boolean;
|
|
29
30
|
/**
|
|
30
31
|
* `NUMERIC` rule: emit one proposal per all-digit token. House numbers, postcodes (when no format hit), unit numbers
|
|
31
32
|
* 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;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAA;AAE5D;;;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
|
@@ -12,45 +12,10 @@ export type { LocaleHint, PhraseGrouper, PhraseKind, PhraseProposal } from "@mai
|
|
|
12
12
|
*/
|
|
13
13
|
export type { Section } from "@mailwoman/core/types";
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* The minimal input shapes consumed by `groupPhrases` come from `@mailwoman/query-shape` — one declaration shared by
|
|
16
|
+
* every Stage-2.x consumer. `QueryShapeLike` stays this package's public name for its narrow read-only view.
|
|
16
17
|
*/
|
|
17
|
-
export
|
|
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
|
-
}
|
|
18
|
+
export type { NormalizedInputLite, QueryShapeTokensView as QueryShapeLike } from "@mailwoman/query-shape";
|
|
54
19
|
export interface GroupPhrasesOpts {
|
|
55
20
|
/**
|
|
56
21
|
* 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;AACH,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAErG;;GAEG;AACH,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAEpD
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAErG;;GAEG;AACH,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA;AAEpD;;;GAGG;AACH,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,IAAI,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAEzG,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.3.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.3.0",
|
|
103
|
+
"@mailwoman/core": "9.3.0",
|
|
104
|
+
"@mailwoman/query-shape": "9.3.0"
|
|
82
105
|
},
|
|
83
106
|
"devDependencies": {
|
|
84
|
-
"@mailwoman/normalize": "9.
|
|
85
|
-
"@mailwoman/query-shape": "9.2.0"
|
|
107
|
+
"@mailwoman/normalize": "9.3.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
|
-
}
|