@mailwoman/corpus 5.2.0 → 5.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.
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `cz-pcfirst-preposition` — the Czech pc-first prepositional-locality shard, fourth orthography
7
+ * of the #901 leading-name-boundary family. The #897 close-out read all 8 residual CZ rows as one
8
+ * class: a LEADING postcode mis-assigned as house_number while the multi-word "nad/pod/u X"
9
+ * locality shatters ("51244 Rokytnice nad Jizerou, Dolní Rokytnice 111" → street
10
+ * 'RokytnicenadJizerou' + house_number '51244'). That leading-5-digit confusion is the
11
+ * anchor-pollution class whose decode-time OVERRIDE was correctly killed in #723 — this shard is
12
+ * the model-first fix as DATA: real prepositional localities in the order that breaks, so the
13
+ * model learns that a leading postcode before a multi-word name is a postcode. pc-first leads the
14
+ * cycle (the lesson); canonical and city-first keep the polarity balanced (the v1.9.9 lesson).
15
+ */
16
+ import { type ShardRecipe } from "./scaffold.js";
17
+ export declare const czPcFirstPrepositionRecipe: ShardRecipe;
18
+ //# sourceMappingURL=cz-pcfirst-preposition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cz-pcfirst-preposition.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/cz-pcfirst-preposition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAA6C,KAAK,WAAW,EAAiB,MAAM,eAAe,CAAA;AAE1G,eAAO,MAAM,0BAA0B,EAAE,WA6DxC,CAAA"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `cz-pcfirst-preposition` — the Czech pc-first prepositional-locality shard, fourth orthography
7
+ * of the #901 leading-name-boundary family. The #897 close-out read all 8 residual CZ rows as one
8
+ * class: a LEADING postcode mis-assigned as house_number while the multi-word "nad/pod/u X"
9
+ * locality shatters ("51244 Rokytnice nad Jizerou, Dolní Rokytnice 111" → street
10
+ * 'RokytnicenadJizerou' + house_number '51244'). That leading-5-digit confusion is the
11
+ * anchor-pollution class whose decode-time OVERRIDE was correctly killed in #723 — this shard is
12
+ * the model-first fix as DATA: real prepositional localities in the order that breaks, so the
13
+ * model learns that a leading postcode before a multi-word name is a postcode. pc-first leads the
14
+ * cycle (the lesson); canonical and city-first keep the polarity balanced (the v1.9.9 lesson).
15
+ */
16
+ import { alignAndWrite, makeMulberry32, readTuples, shardSourceID } from "./scaffold.js";
17
+ export const czPcFirstPrepositionRecipe = {
18
+ name: "cz-pcfirst-preposition",
19
+ description: "CZ pc-first + prepositional locality (#901 family): '«pc» «city nad X», «st» «n»' — the #723 class as data",
20
+ mode: "tuples",
21
+ async run(opts, write) {
22
+ makeMulberry32(opts.seed);
23
+ let read = 0;
24
+ let emitted = 0;
25
+ let skipped = 0;
26
+ for await (const t of readTuples(opts.input)) {
27
+ read++;
28
+ const street = String(t.street ?? "").trim();
29
+ const city = String(t.locality ?? "").trim();
30
+ const number = String(t.number ?? "").trim();
31
+ const postcode = String(t.postcode ?? "").trim();
32
+ if (!street || !city || !number || !postcode) {
33
+ skipped++;
34
+ continue;
35
+ }
36
+ const order = read % 3;
37
+ let raw;
38
+ const components = {
39
+ street,
40
+ house_number: number,
41
+ postcode,
42
+ locality: city,
43
+ };
44
+ if (order === 0) {
45
+ raw = `${postcode} ${city}, ${street} ${number}`;
46
+ }
47
+ else if (order === 1) {
48
+ raw = `${street} ${number}, ${postcode} ${city}`;
49
+ }
50
+ else {
51
+ raw = `${city}, ${postcode}, ${street} ${number}`;
52
+ }
53
+ const source_id = shardSourceID("synth-cz-pcfirst-preposition", {
54
+ ...components,
55
+ o: String(order),
56
+ v: String(read),
57
+ });
58
+ const canonical = {
59
+ raw,
60
+ components,
61
+ country: "CZ",
62
+ locale: "cs-CZ",
63
+ source: "synth-cz-pcfirst-preposition",
64
+ source_id,
65
+ corpus_version: "0.10.0",
66
+ license: "Synthetic — cz-pcfirst-preposition; (street, number, postcode, city) from OpenAddresses CZ (per-source attribution in the model card)",
67
+ };
68
+ if (alignAndWrite(write, canonical, "cz-pcfirst-preposition"))
69
+ emitted++;
70
+ else
71
+ skipped++;
72
+ }
73
+ return { read, emitted, skipped };
74
+ },
75
+ };
76
+ //# sourceMappingURL=cz-pcfirst-preposition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cz-pcfirst-preposition.js","sourceRoot":"","sources":["../../../src/shard-recipes/cz-pcfirst-preposition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAoB,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1G,MAAM,CAAC,MAAM,0BAA0B,GAAgB;IACtD,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACV,4GAA4G;IAC7G,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK;QACpB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAM,CAAC,EAAE,CAAC;YAC/C,IAAI,EAAE,CAAA;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAEhD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9C,OAAO,EAAE,CAAA;gBACT,SAAQ;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAA;YACtB,IAAI,GAAW,CAAA;YACf,MAAM,UAAU,GAA2B;gBAC1C,MAAM;gBACN,YAAY,EAAE,MAAM;gBACpB,QAAQ;gBACR,QAAQ,EAAE,IAAI;aACd,CAAA;YAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,MAAM,EAAE,CAAA;YACjD,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACxB,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAA;YACjD,CAAC;iBAAM,CAAC;gBACP,GAAG,GAAG,GAAG,IAAI,KAAK,QAAQ,KAAK,MAAM,IAAI,MAAM,EAAE,CAAA;YAClD,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,8BAA8B,EAAE;gBAC/D,GAAG,UAAU;gBACb,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;gBAChB,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC;aACf,CAAC,CAAA;YACF,MAAM,SAAS,GAAG;gBACjB,GAAG;gBACH,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,8BAA8B;gBACtC,SAAS;gBACT,cAAc,EAAE,QAAQ;gBACxB,OAAO,EACN,uIAAuI;aACxI,CAAA;YAED,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,wBAAwB,CAAC;gBAAE,OAAO,EAAE,CAAA;;gBACnE,OAAO,EAAE,CAAA;QACf,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAClC,CAAC;CACD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAMhD,cAAc,eAAe,CAAA;AAuB7B,4BAA4B;AAC5B,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAA4C,CAAA;AAEvG,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,IAAI,SAAS,WAAW,EAAE,CAEzD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAOhD,cAAc,eAAe,CAAA;AA2B7B,4BAA4B;AAC5B,eAAO,MAAM,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,WAAW,CAA4C,CAAA;AAEvG,+CAA+C;AAC/C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEpE;AAED,yCAAyC;AACzC,wBAAgB,gBAAgB,IAAI,SAAS,WAAW,EAAE,CAEzD"}
@@ -10,6 +10,7 @@
10
10
  import { anchorAbsorptionRecipe } from "./anchor-absorption.js";
11
11
  import { boundaryStressRecipe } from "./boundary-stress.js";
12
12
  import { countryBalancedRecipe } from "./country-balanced.js";
13
+ import { czPcFirstPrepositionRecipe } from "./cz-pcfirst-preposition.js";
13
14
  import { frAdminSplitRecipe } from "./fr-admin-split.js";
14
15
  import { frBareStreetRecipe } from "./fr-bare-street.js";
15
16
  import { frOrderRecipe } from "./fr-order.js";
@@ -17,9 +18,12 @@ import { germanRecipe } from "./german.js";
17
18
  import { houseVenueRecipe } from "./house-venue.js";
18
19
  import { intersectionRecipe } from "./intersection.js";
19
20
  import { localeRecipe } from "./locale.js";
21
+ import { nlPostcodeRecipe } from "./nl-postcode.js";
22
+ import { noStreetLedRecipe } from "./no-street-led.js";
20
23
  import { noStreetRecipe } from "./no-street.js";
21
24
  import { poBoxCedexRecipe } from "./po-box-cedex.js";
22
25
  import { poBoxRecipe } from "./po-box.js";
26
+ import { siBareVillageRecipe } from "./si-bare-village.js";
23
27
  import { streetAffixRecipe } from "./street-affix.js";
24
28
  import { streetBareRecipe } from "./street-bare.js";
25
29
  import { streetRecipe } from "./street.js";
@@ -41,6 +45,10 @@ const RECIPES = [
41
45
  frOrderRecipe,
42
46
  frAdminSplitRecipe,
43
47
  frBareStreetRecipe,
48
+ czPcFirstPrepositionRecipe,
49
+ nlPostcodeRecipe,
50
+ noStreetLedRecipe,
51
+ siBareVillageRecipe,
44
52
  countryBalancedRecipe,
45
53
  boundaryStressRecipe,
46
54
  anchorAbsorptionRecipe,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shard-recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,cAAc,eAAe,CAAA;AAE7B,iDAAiD;AACjD,MAAM,OAAO,GAA2B;IACvC,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;CACtB,CAAA;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,aAAa,GAAqC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvG,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,gBAAgB;IAC/B,OAAO,OAAO,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shard-recipes/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AAEtC,cAAc,eAAe,CAAA;AAE7B,iDAAiD;AACjD,MAAM,OAAO,GAA2B;IACvC,YAAY;IACZ,gBAAgB;IAChB,iBAAiB;IACjB,cAAc;IACd,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,UAAU;IACV,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,0BAA0B;IAC1B,gBAAgB;IAChB,iBAAiB;IACjB,mBAAmB;IACnB,qBAAqB;IACrB,oBAAoB;IACpB,sBAAsB;CACtB,CAAA;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,aAAa,GAAqC,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvG,+CAA+C;AAC/C,MAAM,UAAU,cAAc,CAAC,IAAY;IAC1C,OAAO,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC/B,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,gBAAgB;IAC/B,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `nl-postcode` — the Dutch full-form postcode shard (#924). The model reads the DIGITS-FIRST NL
7
+ * postcode "1012 LG" as a house number + a 2-letter street ("1012 LG Amsterdam" → house_number
8
+ * 1012 / street "LG" / locality Amsterdam), and that spurious street context then pulls the
9
+ * locality into the US situs tier (Amsterdam → Amsterdam, NY). Letters-first postcodes (UK
10
+ * "SW1A 1AA") parse natively; the `\d{4} [A-Z]{2}` shape does not, and the soft query-shape prior
11
+ * (0.9 log-odds) can't overcome the strong house-number reading of a leading 4-digit token.
12
+ *
13
+ * This is the model-first fix as DATA (the #723/#901 discipline — teach the boundary, don't
14
+ * override the decoder): real NL (street, number, postcode, city) tuples in the orders Dutch
15
+ * addresses actually use, with the full postcode tagged as ONE postcode span. Both the SPACED
16
+ * ("1012 LG", the failing form — a 2-token span) and UNSPACED ("1012LG", 1 token) forms are
17
+ * emitted so the model learns the digits-first postcode regardless of spacing; the three orders
18
+ * keep polarity balanced (the v1.9.9 lesson).
19
+ */
20
+ import { type ShardRecipe } from "./scaffold.js";
21
+ export declare const nlPostcodeRecipe: ShardRecipe;
22
+ //# sourceMappingURL=nl-postcode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl-postcode.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/nl-postcode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAA6C,KAAK,WAAW,EAAiB,MAAM,eAAe,CAAA;AAO1G,eAAO,MAAM,gBAAgB,EAAE,WA0E9B,CAAA"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `nl-postcode` — the Dutch full-form postcode shard (#924). The model reads the DIGITS-FIRST NL
7
+ * postcode "1012 LG" as a house number + a 2-letter street ("1012 LG Amsterdam" → house_number
8
+ * 1012 / street "LG" / locality Amsterdam), and that spurious street context then pulls the
9
+ * locality into the US situs tier (Amsterdam → Amsterdam, NY). Letters-first postcodes (UK
10
+ * "SW1A 1AA") parse natively; the `\d{4} [A-Z]{2}` shape does not, and the soft query-shape prior
11
+ * (0.9 log-odds) can't overcome the strong house-number reading of a leading 4-digit token.
12
+ *
13
+ * This is the model-first fix as DATA (the #723/#901 discipline — teach the boundary, don't
14
+ * override the decoder): real NL (street, number, postcode, city) tuples in the orders Dutch
15
+ * addresses actually use, with the full postcode tagged as ONE postcode span. Both the SPACED
16
+ * ("1012 LG", the failing form — a 2-token span) and UNSPACED ("1012LG", 1 token) forms are
17
+ * emitted so the model learns the digits-first postcode regardless of spacing; the three orders
18
+ * keep polarity balanced (the v1.9.9 lesson).
19
+ */
20
+ import { alignAndWrite, makeMulberry32, readTuples, shardSourceID } from "./scaffold.js";
21
+ /** "1012LG" → "1012 LG". The tuples carry the unspaced OA form; the spaced form is the failing case. */
22
+ function spacePostcode(pc) {
23
+ return pc.replace(/^(\d{4})([A-Z]{2})$/, "$1 $2");
24
+ }
25
+ export const nlPostcodeRecipe = {
26
+ name: "nl-postcode",
27
+ description: "NL full-form postcode (#924): teach '\\d{4} [A-Z]{2}' = postcode, not house#+street — spaced + unspaced, 3 orders",
28
+ mode: "tuples",
29
+ async run(opts, write) {
30
+ makeMulberry32(opts.seed);
31
+ let read = 0;
32
+ let emitted = 0;
33
+ let skipped = 0;
34
+ for await (const t of readTuples(opts.input)) {
35
+ read++;
36
+ const street = String(t.street ?? "").trim();
37
+ const city = String(t.locality ?? "").trim();
38
+ const number = String(t.number ?? "").trim();
39
+ const rawPostcode = String(t.postcode ?? "")
40
+ .trim()
41
+ .toUpperCase()
42
+ .replace(/\s+/g, "");
43
+ if (!street || !city || !number || !/^\d{4}[A-Z]{2}$/.test(rawPostcode)) {
44
+ skipped++;
45
+ continue;
46
+ }
47
+ // Spacing rotates so the model sees BOTH the failing spaced form and the unspaced form; the
48
+ // components.postcode value MUST match the raw form so alignment tags the right span.
49
+ const spaced = read % 2 === 0;
50
+ const postcode = spaced ? spacePostcode(rawPostcode) : rawPostcode;
51
+ // The three orders Dutch addresses use. `street number, postcode city` is canonical; the
52
+ // pc-first form is where the leading digits most strongly mis-read as a house number.
53
+ const order = read % 3;
54
+ let raw;
55
+ if (order === 0) {
56
+ raw = `${street} ${number}, ${postcode} ${city}`;
57
+ }
58
+ else if (order === 1) {
59
+ raw = `${postcode} ${city}, ${street} ${number}`;
60
+ }
61
+ else {
62
+ raw = `${city}, ${postcode}, ${street} ${number}`;
63
+ }
64
+ const components = {
65
+ street,
66
+ house_number: number,
67
+ postcode,
68
+ locality: city,
69
+ };
70
+ const source_id = shardSourceID("synth-nl-postcode", {
71
+ ...components,
72
+ o: String(order),
73
+ s: spaced ? "1" : "0",
74
+ v: String(read),
75
+ });
76
+ const canonical = {
77
+ raw,
78
+ components,
79
+ country: "NL",
80
+ locale: "nl-NL",
81
+ source: "synth-nl-postcode",
82
+ source_id,
83
+ corpus_version: "0.10.0",
84
+ license: "Synthetic — nl-postcode; (street, number, postcode, city) from OpenAddresses NL (per-source attribution in the model card)",
85
+ };
86
+ if (alignAndWrite(write, canonical, "nl-postcode"))
87
+ emitted++;
88
+ else
89
+ skipped++;
90
+ }
91
+ return { read, emitted, skipped };
92
+ },
93
+ };
94
+ //# sourceMappingURL=nl-postcode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl-postcode.js","sourceRoot":"","sources":["../../../src/shard-recipes/nl-postcode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `no-street-led` — the Norwegian street-led shard, third orthography of the #901
7
+ * leading-name-boundary family. The post-#920 NO row-read measured the residual as
8
+ * ORDER-SENSITIVE decode: street-led forms ("Tangavegen 40, 5620 Tørvikbygd") carry a 30%
9
+ * residual vs pc-first's 7% — the diacritic street head (…vegen/…veien with ø/å/æ) is the same
10
+ * leading-name-before-comma boundary the FR bare-street and SI village forms exercise, in a
11
+ * third orthography. All three real orders cycle per tuple (balanced polarity — the v1.9.9
12
+ * lesson: a one-order gradient loses at convergence):
13
+ *
14
+ * 1. canonical "«st» «n», «pc» «city»" (the 30% residual class — the lesson)
15
+ * 2. city-first "«city», «pc», «st» «n»"
16
+ * 3. pc-first "«pc» «city», «st» «n»" (the 7% floor — the anchor the others converge to)
17
+ */
18
+ import { type ShardRecipe } from "./scaffold.js";
19
+ export declare const noStreetLedRecipe: ShardRecipe;
20
+ //# sourceMappingURL=no-street-led.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-street-led.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/no-street-led.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAA6C,KAAK,WAAW,EAAiB,MAAM,eAAe,CAAA;AAE1G,eAAO,MAAM,iBAAiB,EAAE,WAwD/B,CAAA"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `no-street-led` — the Norwegian street-led shard, third orthography of the #901
7
+ * leading-name-boundary family. The post-#920 NO row-read measured the residual as
8
+ * ORDER-SENSITIVE decode: street-led forms ("Tangavegen 40, 5620 Tørvikbygd") carry a 30%
9
+ * residual vs pc-first's 7% — the diacritic street head (…vegen/…veien with ø/å/æ) is the same
10
+ * leading-name-before-comma boundary the FR bare-street and SI village forms exercise, in a
11
+ * third orthography. All three real orders cycle per tuple (balanced polarity — the v1.9.9
12
+ * lesson: a one-order gradient loses at convergence):
13
+ *
14
+ * 1. canonical "«st» «n», «pc» «city»" (the 30% residual class — the lesson)
15
+ * 2. city-first "«city», «pc», «st» «n»"
16
+ * 3. pc-first "«pc» «city», «st» «n»" (the 7% floor — the anchor the others converge to)
17
+ */
18
+ import { alignAndWrite, makeMulberry32, readTuples, shardSourceID } from "./scaffold.js";
19
+ export const noStreetLedRecipe = {
20
+ name: "no-street-led",
21
+ description: "NO street-led boundary form (#901 family): '«st» «n», «pc» «city»' — diacritic street heads",
22
+ mode: "tuples",
23
+ async run(opts, write) {
24
+ makeMulberry32(opts.seed);
25
+ let read = 0;
26
+ let emitted = 0;
27
+ let skipped = 0;
28
+ for await (const t of readTuples(opts.input)) {
29
+ read++;
30
+ const street = String(t.street ?? "").trim();
31
+ const city = String(t.locality ?? "").trim();
32
+ const number = String(t.number ?? "").trim();
33
+ const postcode = String(t.postcode ?? "").trim();
34
+ if (!street || !city || !number || !postcode) {
35
+ skipped++;
36
+ continue;
37
+ }
38
+ const order = read % 3;
39
+ let raw;
40
+ const components = {
41
+ street,
42
+ house_number: number,
43
+ postcode,
44
+ locality: city,
45
+ };
46
+ if (order === 0) {
47
+ raw = `${street} ${number}, ${postcode} ${city}`;
48
+ }
49
+ else if (order === 1) {
50
+ raw = `${city}, ${postcode}, ${street} ${number}`;
51
+ }
52
+ else {
53
+ raw = `${postcode} ${city}, ${street} ${number}`;
54
+ }
55
+ const source_id = shardSourceID("synth-no-street-led", { ...components, o: String(order), v: String(read) });
56
+ const canonical = {
57
+ raw,
58
+ components,
59
+ country: "NO",
60
+ locale: "nb-NO",
61
+ source: "synth-no-street-led",
62
+ source_id,
63
+ corpus_version: "0.10.0",
64
+ license: "Synthetic — no-street-led; (street, number, postcode, city) from OpenAddresses NO (per-source attribution in the model card)",
65
+ };
66
+ if (alignAndWrite(write, canonical, "no-street-led"))
67
+ emitted++;
68
+ else
69
+ skipped++;
70
+ }
71
+ return { read, emitted, skipped };
72
+ },
73
+ };
74
+ //# sourceMappingURL=no-street-led.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"no-street-led.js","sourceRoot":"","sources":["../../../src/shard-recipes/no-street-led.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAoB,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1G,MAAM,CAAC,MAAM,iBAAiB,GAAgB;IAC7C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,6FAA6F;IAC1G,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK;QACpB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAM,CAAC,EAAE,CAAC;YAC/C,IAAI,EAAE,CAAA;YACN,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAEhD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC9C,OAAO,EAAE,CAAA;gBACT,SAAQ;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAA;YACtB,IAAI,GAAW,CAAA;YACf,MAAM,UAAU,GAA2B;gBAC1C,MAAM;gBACN,YAAY,EAAE,MAAM;gBACpB,QAAQ;gBACR,QAAQ,EAAE,IAAI;aACd,CAAA;YAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,GAAG,GAAG,GAAG,MAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAA;YACjD,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACxB,GAAG,GAAG,GAAG,IAAI,KAAK,QAAQ,KAAK,MAAM,IAAI,MAAM,EAAE,CAAA;YAClD,CAAC;iBAAM,CAAC;gBACP,GAAG,GAAG,GAAG,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,MAAM,EAAE,CAAA;YACjD,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,qBAAqB,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC5G,MAAM,SAAS,GAAG;gBACjB,GAAG;gBACH,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,qBAAqB;gBAC7B,SAAS;gBACT,cAAc,EAAE,QAAQ;gBACxB,OAAO,EACN,8HAA8H;aAC/H,CAAA;YAED,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,eAAe,CAAC;gBAAE,OAAO,EAAE,CAAA;;gBAC1D,OAAO,EAAE,CAAA;QACf,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAClC,CAAC;CACD,CAAA"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `si-bare-village` — the Slovenian no-street counter-shard (#901 run-2). Slovenia's rural
7
+ * addressing has NO street line: the village name is the street-level token and repeats as the
8
+ * locality ("Zabiče 8, 6250 Zabiče"). The v1.9.8 gate FALSIFIED the fr-bare-street shard alone on
9
+ * exactly this class (SI resolve −3.4pp; "Apače 108" split into street "Apače 10" + house "8") —
10
+ * the bare-street boundary lesson generalizes onto a form where the leading name must keep its
11
+ * number whole and the trailing mention must stay locality-bound. This shard is the paired
12
+ * counter-distribution: same lesson ("name before number, comma, then admin"), opposite polarity
13
+ * on the trailing mention.
14
+ *
15
+ * Three real-order templates cycle per tuple (mirrors the coord-golden orders so the eval and the
16
+ * training distribution agree):
17
+ *
18
+ * 1. canonical "«V» «n», «pc» «V»"
19
+ * 2. bare "«V» «n», «V»" (no postcode — the anchor-free form, the fr-bare lesson)
20
+ * 3. pc-first "«pc» «V», «V» «n»"
21
+ *
22
+ * Gold spans: leading «V» = street (matches OA ground truth — the village IS the address line),
23
+ * «n» = house_number (NEVER split mid-digits), «pc» = postcode (never swallowing the neighbor),
24
+ * trailing «V» = locality (the binding the resolver needs).
25
+ */
26
+ import { type ShardRecipe } from "./scaffold.js";
27
+ export declare const siBareVillageRecipe: ShardRecipe;
28
+ //# sourceMappingURL=si-bare-village.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"si-bare-village.d.ts","sourceRoot":"","sources":["../../../src/shard-recipes/si-bare-village.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAA6C,KAAK,WAAW,EAAiB,MAAM,eAAe,CAAA;AAE1G,eAAO,MAAM,mBAAmB,EAAE,WAwDjC,CAAA"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * `si-bare-village` — the Slovenian no-street counter-shard (#901 run-2). Slovenia's rural
7
+ * addressing has NO street line: the village name is the street-level token and repeats as the
8
+ * locality ("Zabiče 8, 6250 Zabiče"). The v1.9.8 gate FALSIFIED the fr-bare-street shard alone on
9
+ * exactly this class (SI resolve −3.4pp; "Apače 108" split into street "Apače 10" + house "8") —
10
+ * the bare-street boundary lesson generalizes onto a form where the leading name must keep its
11
+ * number whole and the trailing mention must stay locality-bound. This shard is the paired
12
+ * counter-distribution: same lesson ("name before number, comma, then admin"), opposite polarity
13
+ * on the trailing mention.
14
+ *
15
+ * Three real-order templates cycle per tuple (mirrors the coord-golden orders so the eval and the
16
+ * training distribution agree):
17
+ *
18
+ * 1. canonical "«V» «n», «pc» «V»"
19
+ * 2. bare "«V» «n», «V»" (no postcode — the anchor-free form, the fr-bare lesson)
20
+ * 3. pc-first "«pc» «V», «V» «n»"
21
+ *
22
+ * Gold spans: leading «V» = street (matches OA ground truth — the village IS the address line),
23
+ * «n» = house_number (NEVER split mid-digits), «pc» = postcode (never swallowing the neighbor),
24
+ * trailing «V» = locality (the binding the resolver needs).
25
+ */
26
+ import { alignAndWrite, makeMulberry32, readTuples, shardSourceID } from "./scaffold.js";
27
+ export const siBareVillageRecipe = {
28
+ name: "si-bare-village",
29
+ description: "SI no-street village form (#901 run-2): '«V» «n», «pc» «V»' — the fr-bare-street counter-distribution",
30
+ mode: "tuples",
31
+ async run(opts, write) {
32
+ makeMulberry32(opts.seed);
33
+ let read = 0;
34
+ let emitted = 0;
35
+ let skipped = 0;
36
+ for await (const t of readTuples(opts.input)) {
37
+ read++;
38
+ const village = String(t.locality ?? "").trim();
39
+ const number = String(t.number ?? "").trim();
40
+ const postcode = String(t.postcode ?? "").trim();
41
+ if (!village || !number || !postcode) {
42
+ skipped++;
43
+ continue;
44
+ }
45
+ const order = read % 3;
46
+ let raw;
47
+ const components = {
48
+ street: village,
49
+ house_number: number,
50
+ locality: village,
51
+ };
52
+ if (order === 0) {
53
+ components.postcode = postcode;
54
+ raw = `${village} ${number}, ${postcode} ${village}`;
55
+ }
56
+ else if (order === 1) {
57
+ raw = `${village} ${number}, ${village}`;
58
+ }
59
+ else {
60
+ components.postcode = postcode;
61
+ raw = `${postcode} ${village}, ${village} ${number}`;
62
+ }
63
+ const source_id = shardSourceID("synth-si-bare-village", { ...components, o: String(order), v: String(read) });
64
+ const canonical = {
65
+ raw,
66
+ components,
67
+ country: "SI",
68
+ locale: "sl-SI",
69
+ source: "synth-si-bare-village",
70
+ source_id,
71
+ corpus_version: "0.9.9",
72
+ license: "Synthetic — si-bare-village; (village, number, postcode) from OpenAddresses SI (per-source attribution in the model card)",
73
+ };
74
+ if (alignAndWrite(write, canonical, "si-bare-village"))
75
+ emitted++;
76
+ else
77
+ skipped++;
78
+ }
79
+ return { read, emitted, skipped };
80
+ },
81
+ };
82
+ //# sourceMappingURL=si-bare-village.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"si-bare-village.js","sourceRoot":"","sources":["../../../src/shard-recipes/si-bare-village.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAoB,aAAa,EAAE,MAAM,eAAe,CAAA;AAE1G,MAAM,CAAC,MAAM,mBAAmB,GAAgB;IAC/C,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,uGAAuG;IACpH,IAAI,EAAE,QAAQ;IACd,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK;QACpB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACzB,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,IAAI,KAAK,EAAE,MAAM,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,KAAM,CAAC,EAAE,CAAC;YAC/C,IAAI,EAAE,CAAA;YACN,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAEhD,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtC,OAAO,EAAE,CAAA;gBACT,SAAQ;YACT,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAA;YACtB,IAAI,GAAW,CAAA;YACf,MAAM,UAAU,GAA2B;gBAC1C,MAAM,EAAE,OAAO;gBACf,YAAY,EAAE,MAAM;gBACpB,QAAQ,EAAE,OAAO;aACjB,CAAA;YAED,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACjB,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;gBAC9B,GAAG,GAAG,GAAG,OAAO,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,EAAE,CAAA;YACrD,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACxB,GAAG,GAAG,GAAG,OAAO,IAAI,MAAM,KAAK,OAAO,EAAE,CAAA;YACzC,CAAC;iBAAM,CAAC;gBACP,UAAU,CAAC,QAAQ,GAAG,QAAQ,CAAA;gBAC9B,GAAG,GAAG,GAAG,QAAQ,IAAI,OAAO,KAAK,OAAO,IAAI,MAAM,EAAE,CAAA;YACrD,CAAC;YACD,MAAM,SAAS,GAAG,aAAa,CAAC,uBAAuB,EAAE,EAAE,GAAG,UAAU,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YAC9G,MAAM,SAAS,GAAG;gBACjB,GAAG;gBACH,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,MAAM,EAAE,uBAAuB;gBAC/B,SAAS;gBACT,cAAc,EAAE,OAAO;gBACvB,OAAO,EACN,2HAA2H;aAC5H,CAAA;YAED,IAAI,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,CAAC;gBAAE,OAAO,EAAE,CAAA;;gBAC5D,OAAO,EAAE,CAAA;QACf,CAAC;QAED,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAClC,CAAC;CACD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/corpus",
3
- "version": "5.2.0",
3
+ "version": "5.4.0",
4
4
  "description": "Mailwoman corpus pipeline: BIO-labeled dataset builder for the neural classifier.",
5
5
  "license": "AGPL-3.0-only OR LicenseRef-Commercial",
6
6
  "repository": {
@@ -26,9 +26,9 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@dsnp/parquetjs": "1.8.7",
29
- "@mailwoman/codex": "5.2.0",
30
- "@mailwoman/core": "5.2.0",
31
- "@mailwoman/formatter": "5.2.0",
29
+ "@mailwoman/codex": "5.4.0",
30
+ "@mailwoman/core": "5.4.0",
31
+ "@mailwoman/formatter": "5.4.0",
32
32
  "csv-parse": "^5.6.0",
33
33
  "fast-glob": "^3.3.3",
34
34
  "fastest-levenshtein": "^1.0.16",