@mailwoman/corpus 9.3.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.
Files changed (165) hide show
  1. package/lib/recipes/anchor-absorption.ts +2 -2
  2. package/lib/recipes/bare-country.ts +2 -2
  3. package/lib/recipes/boundary-stress.ts +3 -1
  4. package/lib/recipes/country-balanced.ts +2 -1
  5. package/lib/recipes/cz-pcfirst-preposition.ts +2 -1
  6. package/lib/recipes/fr-admin-split.ts +2 -1
  7. package/lib/recipes/fr-bare-street.ts +2 -1
  8. package/lib/recipes/fr-fragment.ts +2 -1
  9. package/lib/recipes/fr-lieudit.ts +2 -2
  10. package/lib/recipes/fr-order.ts +2 -1
  11. package/lib/recipes/german.ts +2 -1
  12. package/lib/recipes/house-venue.ts +2 -1
  13. package/lib/recipes/intersection.ts +2 -1
  14. package/lib/recipes/locale.ts +2 -1
  15. package/lib/recipes/nl-postcode.ts +3 -1
  16. package/lib/recipes/no-fragment.ts +2 -8
  17. package/lib/recipes/no-street-led.ts +2 -8
  18. package/lib/recipes/no-street.ts +2 -1
  19. package/lib/recipes/po-box-cedex.ts +1 -1
  20. package/lib/recipes/po-box.ts +2 -1
  21. package/lib/recipes/scaffold.ts +0 -1
  22. package/lib/recipes/si-bare-village.ts +3 -1
  23. package/lib/recipes/street-affix.ts +3 -2
  24. package/lib/recipes/street-bare.ts +3 -1
  25. package/lib/recipes/street.ts +3 -1
  26. package/lib/recipes/sub-venue-sources.ts +2 -1
  27. package/lib/recipes/sub-venue.ts +2 -1
  28. package/lib/recipes/trailing-region.ts +3 -8
  29. package/lib/recipes/unit.ts +2 -2
  30. package/lib/tools/fetch/acra-sg.ts +174 -0
  31. package/lib/tools/fetch/download.ts +217 -2
  32. package/lib/tools/fetch/gcis-tw.ts +175 -0
  33. package/lib/tools/fetch/houjin-jp.ts +135 -0
  34. package/lib/tools/fetch/index.ts +27 -0
  35. package/lib/tools/fetch/juso-kr.ts +165 -0
  36. package/lib/tools/fetch/localdata-kr.ts +194 -0
  37. package/lib/tools/golden-relabel-street.ts +6 -3
  38. package/out/recipes/anchor-absorption.d.ts.map +1 -1
  39. package/out/recipes/anchor-absorption.js +2 -1
  40. package/out/recipes/anchor-absorption.js.map +1 -1
  41. package/out/recipes/bare-country.d.ts.map +1 -1
  42. package/out/recipes/bare-country.js +2 -1
  43. package/out/recipes/bare-country.js.map +1 -1
  44. package/out/recipes/boundary-stress.d.ts.map +1 -1
  45. package/out/recipes/boundary-stress.js +2 -1
  46. package/out/recipes/boundary-stress.js.map +1 -1
  47. package/out/recipes/country-balanced.d.ts.map +1 -1
  48. package/out/recipes/country-balanced.js +2 -1
  49. package/out/recipes/country-balanced.js.map +1 -1
  50. package/out/recipes/cz-pcfirst-preposition.d.ts.map +1 -1
  51. package/out/recipes/cz-pcfirst-preposition.js +2 -1
  52. package/out/recipes/cz-pcfirst-preposition.js.map +1 -1
  53. package/out/recipes/fr-admin-split.d.ts +1 -1
  54. package/out/recipes/fr-admin-split.d.ts.map +1 -1
  55. package/out/recipes/fr-admin-split.js +1 -1
  56. package/out/recipes/fr-admin-split.js.map +1 -1
  57. package/out/recipes/fr-bare-street.d.ts.map +1 -1
  58. package/out/recipes/fr-bare-street.js +2 -1
  59. package/out/recipes/fr-bare-street.js.map +1 -1
  60. package/out/recipes/fr-fragment.d.ts.map +1 -1
  61. package/out/recipes/fr-fragment.js +2 -1
  62. package/out/recipes/fr-fragment.js.map +1 -1
  63. package/out/recipes/fr-lieudit.d.ts +1 -1
  64. package/out/recipes/fr-lieudit.d.ts.map +1 -1
  65. package/out/recipes/fr-lieudit.js +1 -1
  66. package/out/recipes/fr-lieudit.js.map +1 -1
  67. package/out/recipes/fr-order.d.ts.map +1 -1
  68. package/out/recipes/fr-order.js +2 -1
  69. package/out/recipes/fr-order.js.map +1 -1
  70. package/out/recipes/german.d.ts.map +1 -1
  71. package/out/recipes/german.js +2 -1
  72. package/out/recipes/german.js.map +1 -1
  73. package/out/recipes/house-venue.d.ts.map +1 -1
  74. package/out/recipes/house-venue.js +2 -1
  75. package/out/recipes/house-venue.js.map +1 -1
  76. package/out/recipes/intersection.d.ts.map +1 -1
  77. package/out/recipes/intersection.js +2 -1
  78. package/out/recipes/intersection.js.map +1 -1
  79. package/out/recipes/locale.d.ts +1 -1
  80. package/out/recipes/locale.d.ts.map +1 -1
  81. package/out/recipes/locale.js +1 -1
  82. package/out/recipes/locale.js.map +1 -1
  83. package/out/recipes/nl-postcode.d.ts.map +1 -1
  84. package/out/recipes/nl-postcode.js +2 -1
  85. package/out/recipes/nl-postcode.js.map +1 -1
  86. package/out/recipes/no-fragment.d.ts.map +1 -1
  87. package/out/recipes/no-fragment.js +2 -1
  88. package/out/recipes/no-fragment.js.map +1 -1
  89. package/out/recipes/no-street-led.d.ts.map +1 -1
  90. package/out/recipes/no-street-led.js +2 -1
  91. package/out/recipes/no-street-led.js.map +1 -1
  92. package/out/recipes/no-street.d.ts.map +1 -1
  93. package/out/recipes/no-street.js +2 -1
  94. package/out/recipes/no-street.js.map +1 -1
  95. package/out/recipes/po-box-cedex.d.ts.map +1 -1
  96. package/out/recipes/po-box-cedex.js +2 -1
  97. package/out/recipes/po-box-cedex.js.map +1 -1
  98. package/out/recipes/po-box.d.ts.map +1 -1
  99. package/out/recipes/po-box.js +2 -1
  100. package/out/recipes/po-box.js.map +1 -1
  101. package/out/recipes/scaffold.d.ts +0 -1
  102. package/out/recipes/scaffold.d.ts.map +1 -1
  103. package/out/recipes/scaffold.js +0 -12
  104. package/out/recipes/scaffold.js.map +1 -1
  105. package/out/recipes/si-bare-village.d.ts.map +1 -1
  106. package/out/recipes/si-bare-village.js +2 -1
  107. package/out/recipes/si-bare-village.js.map +1 -1
  108. package/out/recipes/street-affix.d.ts.map +1 -1
  109. package/out/recipes/street-affix.js +3 -3
  110. package/out/recipes/street-affix.js.map +1 -1
  111. package/out/recipes/street-bare.d.ts.map +1 -1
  112. package/out/recipes/street-bare.js +2 -1
  113. package/out/recipes/street-bare.js.map +1 -1
  114. package/out/recipes/street.d.ts.map +1 -1
  115. package/out/recipes/street.js +2 -1
  116. package/out/recipes/street.js.map +1 -1
  117. package/out/recipes/sub-venue-sources.d.ts.map +1 -1
  118. package/out/recipes/sub-venue-sources.js +2 -1
  119. package/out/recipes/sub-venue-sources.js.map +1 -1
  120. package/out/recipes/sub-venue.d.ts.map +1 -1
  121. package/out/recipes/sub-venue.js +2 -1
  122. package/out/recipes/sub-venue.js.map +1 -1
  123. package/out/recipes/trailing-region.d.ts.map +1 -1
  124. package/out/recipes/trailing-region.js +2 -1
  125. package/out/recipes/trailing-region.js.map +1 -1
  126. package/out/recipes/unit.d.ts.map +1 -1
  127. package/out/recipes/unit.js +2 -1
  128. package/out/recipes/unit.js.map +1 -1
  129. package/out/tools/fetch/acra-sg.d.ts +23 -0
  130. package/out/tools/fetch/acra-sg.d.ts.map +1 -0
  131. package/out/tools/fetch/acra-sg.js +126 -0
  132. package/out/tools/fetch/acra-sg.js.map +1 -0
  133. package/out/tools/fetch/download.d.ts +65 -0
  134. package/out/tools/fetch/download.d.ts.map +1 -1
  135. package/out/tools/fetch/download.js +160 -2
  136. package/out/tools/fetch/download.js.map +1 -1
  137. package/out/tools/fetch/gcis-tw.d.ts +23 -0
  138. package/out/tools/fetch/gcis-tw.d.ts.map +1 -0
  139. package/out/tools/fetch/gcis-tw.js +135 -0
  140. package/out/tools/fetch/gcis-tw.js.map +1 -0
  141. package/out/tools/fetch/houjin-jp.d.ts +24 -0
  142. package/out/tools/fetch/houjin-jp.d.ts.map +1 -0
  143. package/out/tools/fetch/houjin-jp.js +102 -0
  144. package/out/tools/fetch/houjin-jp.js.map +1 -0
  145. package/out/tools/fetch/index.d.ts +27 -0
  146. package/out/tools/fetch/index.d.ts.map +1 -1
  147. package/out/tools/fetch/index.js +27 -0
  148. package/out/tools/fetch/index.js.map +1 -1
  149. package/out/tools/fetch/juso-kr.d.ts +30 -0
  150. package/out/tools/fetch/juso-kr.d.ts.map +1 -0
  151. package/out/tools/fetch/juso-kr.js +120 -0
  152. package/out/tools/fetch/juso-kr.js.map +1 -0
  153. package/out/tools/fetch/localdata-kr.d.ts +30 -0
  154. package/out/tools/fetch/localdata-kr.d.ts.map +1 -0
  155. package/out/tools/fetch/localdata-kr.js +139 -0
  156. package/out/tools/fetch/localdata-kr.js.map +1 -0
  157. package/out/tools/golden-relabel-street.d.ts.map +1 -1
  158. package/out/tools/golden-relabel-street.js +1 -2
  159. package/out/tools/golden-relabel-street.js.map +1 -1
  160. package/package.json +10 -10
  161. package/lib/name-prone-us-suffixes.ts +0 -12
  162. package/out/name-prone-us-suffixes.d.ts +0 -12
  163. package/out/name-prone-us-suffixes.d.ts.map +0 -1
  164. package/out/name-prone-us-suffixes.js +0 -12
  165. package/out/name-prone-us-suffixes.js.map +0 -1
@@ -57,6 +57,18 @@
57
57
  * - `state-hi-schools` — Hawaii DOE school directory (original XLSX; HIDOE + PCS sheets). Tier A
58
58
  * (state PD-equivalent).
59
59
  * - `tiger-full` — US Census TIGER 2024 ADDRFEAT, all US counties. Tier A (US PD).
60
+ * - `juso-kr` — the Korean road-name address register (주소DB, plus the English road-name DB) from
61
+ * business.juso.go.kr, the LABEL source for Korean. Tier B ("이용허락범위 제한 없음", attribution).
62
+ * - `localdata-kr` — Korea's local-government permit registry, one CSV per category, each row carrying
63
+ * the lot-number AND road-name address of one premises plus a coordinate. The NOISY source for
64
+ * Korean. Tier B (same label as `juso-kr`).
65
+ * - `gcis-tw` — Taiwan's company and business registers from the economic ministry's open-data
66
+ * platform, 148 files by region and industry. The NOISY source for Taiwanese. Tier B (Open
67
+ * Government Data License v1.0 — the prescribed attribution is a condition of the grant).
68
+ * - `acra-sg` — Singapore's ACRA corporate-entity register, 27 CSVs with the address FIELDED. The
69
+ * NOISY source for Singapore. Tier B (Singapore Open Data Licence 1.0).
70
+ * - `houjin-jp` — the National Tax Agency's corporate-number register, the nationwide Unicode CSV.
71
+ * The NOISY source for Japanese. Tier A-equivalent (free use, no attribution condition stated).
60
72
  *
61
73
  * License tiers per `docs/licensing-strategy.md` (or the playpen knowledge base mirror at
62
74
  * `docs/docs/projects/mailwoman/licensing-strategy.md`). `openaddresses` is a **Tier-mixed**
@@ -96,11 +108,16 @@
96
108
  * MANIFEST is well-formed.
97
109
  * 5. Add the source's adapter (or extend an existing one) under `corpus/src/adapters/`.
98
110
  */
111
+ import { fetchACRASG } from "#tools/fetch/acra-sg";
99
112
  import { fetchBan } from "#tools/fetch/ban";
113
+ import { fetchGCISTW } from "#tools/fetch/gcis-tw";
100
114
  import { fetchGeonamesDumps } from "#tools/fetch/geonames-dump";
101
115
  import { fetchGeonamesPostal } from "#tools/fetch/geonames-postal";
116
+ import { fetchHoujinJP } from "#tools/fetch/houjin-jp";
102
117
  import { fetchHRSA } from "#tools/fetch/hrsa";
103
118
  import { fetchIMLSPLS } from "#tools/fetch/imls-pls";
119
+ import { fetchJusoKR } from "#tools/fetch/juso-kr";
120
+ import { fetchLocaldataKR } from "#tools/fetch/localdata-kr";
104
121
  import { fetchNAD } from "#tools/fetch/nad";
105
122
  import { fetchNPPES } from "#tools/fetch/nppes";
106
123
  import { fetchOpenAddresses } from "#tools/fetch/openaddresses";
@@ -109,11 +126,16 @@ import { fetchStateHISchools } from "#tools/fetch/state-hi-schools";
109
126
  import { fetchStateSources } from "#tools/fetch/state-sources";
110
127
  import { fetchTigerFull } from "#tools/fetch/tiger-full";
111
128
  import { fetchWikidataSubVenue } from "#tools/fetch/wikidata-subvenue";
129
+ export * from "#tools/fetch/acra-sg";
112
130
  export * from "#tools/fetch/ban";
131
+ export * from "#tools/fetch/gcis-tw";
113
132
  export * from "#tools/fetch/geonames-dump";
114
133
  export * from "#tools/fetch/geonames-postal";
134
+ export * from "#tools/fetch/houjin-jp";
115
135
  export * from "#tools/fetch/hrsa";
116
136
  export * from "#tools/fetch/imls-pls";
137
+ export * from "#tools/fetch/juso-kr";
138
+ export * from "#tools/fetch/localdata-kr";
117
139
  export * from "#tools/fetch/nad";
118
140
  export * from "#tools/fetch/nppes";
119
141
  export * from "#tools/fetch/openaddresses";
@@ -126,7 +148,12 @@ export * from "#tools/fetch/wikidata-subvenue";
126
148
  * The fetch-source registry: id → module entry point. Each entry point takes its own options interface.
127
149
  */
128
150
  export const FETCH_SOURCES = {
151
+ "acra-sg": fetchACRASG,
129
152
  ban: fetchBan,
153
+ "gcis-tw": fetchGCISTW,
154
+ "houjin-jp": fetchHoujinJP,
155
+ "juso-kr": fetchJusoKR,
156
+ "localdata-kr": fetchLocaldataKR,
130
157
  nad: fetchNAD,
131
158
  "geonames-dump": fetchGeonamesDumps,
132
159
  "geonames-postal": fetchGeonamesPostal,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/tools/fetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,cAAc,kBAAkB,CAAA;AAChC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,QAAQ;IACb,eAAe,EAAE,kBAAkB;IACnC,iBAAiB,EAAE,mBAAmB;IACtC,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,UAAU;IACjB,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,mBAAmB;IACvC,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,qBAAqB;CACjC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/tools/fetch/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6GG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AAEtE,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,0BAA0B,CAAA;AACxC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,4BAA4B,CAAA;AAC1C,cAAc,yBAAyB,CAAA;AACvC,cAAc,gCAAgC,CAAA;AAE9C;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,QAAQ;IACb,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,GAAG,EAAE,QAAQ;IACb,eAAe,EAAE,kBAAkB;IACnC,iBAAiB,EAAE,mBAAmB;IACtC,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,UAAU;IACjB,aAAa,EAAE,kBAAkB;IACjC,WAAW,EAAE,gBAAgB;IAC7B,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,mBAAmB;IACvC,YAAY,EAAE,cAAc;IAC5B,mBAAmB,EAAE,qBAAqB;CACjC,CAAA"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Fetch the Korean road-name address register (도로명주소 주소DB) from the ministry's address-industry
7
+ * portal, business.juso.go.kr. This is the LABEL source for Korean addresses: about 6,000,000
8
+ * road-name addresses and 8,000,000 lot-number (지번) records, split by the publisher into four
9
+ * pipe-delimited CP949 text files per region (도로명코드 / 주소 / 지번 / 부가정보), with the postcode in
10
+ * the supplementary file. No coordinates. The public-data portal labels it "이용허락범위 제한 없음"
11
+ * (no restriction on the scope of use), and it is a direct download with no application step — the
12
+ * distinction that matters against the ministry's entrance-coordinate products, which are provided
13
+ * only after a purpose-of-use review (`docs/superpowers/plans/counsel-dossier.md` §4).
14
+ *
15
+ * The portal is a single-page app; the file behind it is reached in two calls. `selectAttrbDBDwldList`
16
+ * lists the monthly full files for one product (`rtlDtaDtlSn` 8 is the 주소DB, 2 the English
17
+ * road-name DB), and `/api/jst/download` streams one by the parameters the listing carried. The
18
+ * English DB rides along because it is the Latin-script half of the same register.
19
+ *
20
+ * Invoke via `mailwoman corpus fetch juso-kr --out-root <path>`.
21
+ */
22
+ import type { BaseFetchOptions, FetchSummary } from "#tools/fetch/download";
23
+ export interface FetchJusoKROptions extends BaseFetchOptions {
24
+ /**
25
+ * The month to fetch as `YYYYMM`. Defaults to the latest month the portal lists as present.
26
+ */
27
+ month?: string;
28
+ }
29
+ export declare function fetchJusoKR(options: FetchJusoKROptions, report?: (line: string) => void): Promise<FetchSummary>;
30
+ //# sourceMappingURL=juso-kr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"juso-kr.d.ts","sourceRoot":"","sources":["../../../lib/tools/fetch/juso-kr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAA4C,MAAM,uBAAuB,CAAA;AAoCrH,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC3D;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAsCD,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC,CA2DrH"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Fetch the Korean road-name address register (도로명주소 주소DB) from the ministry's address-industry
7
+ * portal, business.juso.go.kr. This is the LABEL source for Korean addresses: about 6,000,000
8
+ * road-name addresses and 8,000,000 lot-number (지번) records, split by the publisher into four
9
+ * pipe-delimited CP949 text files per region (도로명코드 / 주소 / 지번 / 부가정보), with the postcode in
10
+ * the supplementary file. No coordinates. The public-data portal labels it "이용허락범위 제한 없음"
11
+ * (no restriction on the scope of use), and it is a direct download with no application step — the
12
+ * distinction that matters against the ministry's entrance-coordinate products, which are provided
13
+ * only after a purpose-of-use review (`docs/superpowers/plans/counsel-dossier.md` §4).
14
+ *
15
+ * The portal is a single-page app; the file behind it is reached in two calls. `selectAttrbDBDwldList`
16
+ * lists the monthly full files for one product (`rtlDtaDtlSn` 8 is the 주소DB, 2 the English
17
+ * road-name DB), and `/api/jst/download` streams one by the parameters the listing carried. The
18
+ * English DB rides along because it is the Latin-script half of the same register.
19
+ *
20
+ * Invoke via `mailwoman corpus fetch juso-kr --out-root <path>`.
21
+ */
22
+ import { makeDirectories } from "@mailwoman/core/fs/writers";
23
+ import { sha256File } from "@mailwoman/core/hash";
24
+ import { join } from "path-ts";
25
+ import { resumableDownload, writeManifest } from "#tools/fetch/download";
26
+ const SLUG = "juso-kr";
27
+ const PORTAL = "https://business.juso.go.kr";
28
+ const LIST_URL = `${PORTAL}/api/jst/selectAttrbDBDwldList`;
29
+ const DOWNLOAD_URL = `${PORTAL}/api/jst/download`;
30
+ const REFERER = `${PORTAL}/jst/jstAddressDownload?menu=30`;
31
+ /**
32
+ * The portal's product ids for the two registers this module fetches.
33
+ */
34
+ const PRODUCTS = [
35
+ { sn: "8", name: "주소DB" },
36
+ { sn: "2", name: "도로명주소 영문" },
37
+ ];
38
+ const LICENSE = "이용허락범위 제한 없음 (data.go.kr label for 행정안전부_도로명주소 주소DB); 공공누리 attribution to 행정안전부";
39
+ const ATTRIBUTION = "행정안전부 (Ministry of the Interior and Safety), 도로명주소 (juso.go.kr)";
40
+ const BROWSER_HEADERS = {
41
+ "user-agent": "Mozilla/5.0 (X11; Linux x86_64) mailwoman-corpus-fetch",
42
+ referer: REFERER,
43
+ };
44
+ /**
45
+ * The monthly full files the portal lists for one product over the twelve months ending at `year`/`month`.
46
+ */
47
+ async function listMonthlyFiles(sn, year, month) {
48
+ const res = await fetch(LIST_URL, {
49
+ method: "POST",
50
+ headers: { ...BROWSER_HEADERS, accept: "application/json", "content-type": "application/json;charset=UTF-8" },
51
+ body: JSON.stringify({ rtlDtaDtlSn: sn, year, month, expand: "Y" }),
52
+ });
53
+ if (!res.ok)
54
+ throw new Error(`juso-kr: listing product ${sn} answered HTTP ${res.status}`);
55
+ const json = (await res.json());
56
+ return (json.results?.allMonthFileList ?? []).filter((file) => file.isExist === "Y");
57
+ }
58
+ function downloadURL(file, regYmd) {
59
+ const query = new URLSearchParams({
60
+ reqType: file.fileTypeNm,
61
+ ctprvnCd: file.ctpvClsfCd,
62
+ stdde: file.crtrYm,
63
+ fileName: file.fileNm,
64
+ realFileName: file.tmprFileNm,
65
+ intFileNo: file.fileSn ?? "0",
66
+ intNum: file.atflNo ?? "0",
67
+ regYmd,
68
+ });
69
+ return `${DOWNLOAD_URL}?${query.toString()}`;
70
+ }
71
+ export async function fetchJusoKR(options, report) {
72
+ const destDir = join(options.outRoot, SLUG);
73
+ await makeDirectories(destDir);
74
+ const now = new Date();
75
+ const files = [];
76
+ const failedCodes = [];
77
+ for (const product of PRODUCTS) {
78
+ const listed = await listMonthlyFiles(product.sn, now.getFullYear(), now.getMonth() + 1);
79
+ const file = options.month ? listed.find((entry) => entry.crtrYm === options.month) : listed.at(-1);
80
+ if (!file) {
81
+ report?.(` ✗ ${product.name}: no full file listed${options.month ? ` for ${options.month}` : ""}`);
82
+ failedCodes.push(product.name);
83
+ continue;
84
+ }
85
+ const url = downloadURL(file, String(now.getFullYear()));
86
+ const dest = join(destDir, file.tmprFileNm);
87
+ report?.(`=== ${SLUG} / ${product.name} ${file.crtrYm} → ${file.tmprFileNm}`);
88
+ let bytes;
89
+ try {
90
+ // The portal drops a connection every few megabytes and answers Range with 206, so the transfer resumes
91
+ // from what landed rather than starting the 181 MB over.
92
+ bytes = await resumableDownload({ url, dest, headers: BROWSER_HEADERS, report });
93
+ }
94
+ catch (error) {
95
+ report?.(` ✗ ${error.message}`);
96
+ failedCodes.push(product.name);
97
+ continue;
98
+ }
99
+ const sha = await sha256File(dest);
100
+ files.push({
101
+ source_url: url,
102
+ downloaded_at: new Date().toISOString(),
103
+ filename: file.tmprFileNm,
104
+ sha256: sha,
105
+ bytes,
106
+ });
107
+ report?.(` ✓ ${(bytes / 1024 / 1024).toFixed(1)} MB sha256=${sha}`);
108
+ }
109
+ const manifest = {
110
+ source: SLUG,
111
+ source_url: REFERER,
112
+ license: LICENSE,
113
+ attribution: ATTRIBUTION,
114
+ downloaded_at: new Date().toISOString(),
115
+ files,
116
+ };
117
+ await writeManifest(join(destDir, "MANIFEST.json"), manifest);
118
+ return { fetched: files.length, skipped: 0, failed: failedCodes.length, failedCodes };
119
+ }
120
+ //# sourceMappingURL=juso-kr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"juso-kr.js","sourceRoot":"","sources":["../../../lib/tools/fetch/juso-kr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Fetch Korea's local-government permit registry (지방행정인허가데이터): one CSV per permit category,
7
+ * every business a local authority has licensed, about 195 categories. Each row carries BOTH address
8
+ * forms of the same premises — `소재지전체주소` (the lot-number form, 지번) and `도로명전체주소` (the
9
+ * road-name form) — plus both postcodes and a planar coordinate (`좌표정보(x/y)`, EPSG:5174). That
10
+ * pairing is the cheapest dual-format signal Korean addresses offer, and the coordinate is the
11
+ * board's coordinate half, which is why this is the NOISY source for Korean and not a side dish.
12
+ *
13
+ * The public-data portal labels the category files "이용허락범위 제한 없음" and links them to
14
+ * `file.localdata.go.kr`, which serves them behind a session: the category page sets the XSRF cookie,
15
+ * `/file/validate/download-count` is the portal's own rate check (429 when it wants a pause), and
16
+ * `/file/download/<slug>/info` streams the CSV. The files are CP949 as delivered; the adapter
17
+ * decodes. The restaurant category alone is about 700 MB.
18
+ *
19
+ * Invoke via `mailwoman corpus fetch localdata-kr --out-root <path>`, optionally with
20
+ * `--categories general_restaurants,rest_cafes`.
21
+ */
22
+ import type { BaseFetchOptions, FetchSummary } from "#tools/fetch/download";
23
+ export interface FetchLocaldataKROptions extends BaseFetchOptions {
24
+ /**
25
+ * Category slugs to fetch (the path segment of `/file/<slug>/info`). Defaults to every category the portal lists.
26
+ */
27
+ categories?: string[];
28
+ }
29
+ export declare function fetchLocaldataKR(options: FetchLocaldataKROptions, report?: (line: string) => void): Promise<FetchSummary>;
30
+ //# sourceMappingURL=localdata-kr.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localdata-kr.d.ts","sourceRoot":"","sources":["../../../lib/tools/fetch/localdata-kr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AASH,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAA4C,MAAM,uBAAuB,CAAA;AAWrH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB;IAChE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAqDD,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,uBAAuB,EAChC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC7B,OAAO,CAAC,YAAY,CAAC,CA4FvB"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * @copyright Sister Software
3
+ * @license AGPL-3.0
4
+ * @author Teffen Ellis, et al.
5
+ *
6
+ * Fetch Korea's local-government permit registry (지방행정인허가데이터): one CSV per permit category,
7
+ * every business a local authority has licensed, about 195 categories. Each row carries BOTH address
8
+ * forms of the same premises — `소재지전체주소` (the lot-number form, 지번) and `도로명전체주소` (the
9
+ * road-name form) — plus both postcodes and a planar coordinate (`좌표정보(x/y)`, EPSG:5174). That
10
+ * pairing is the cheapest dual-format signal Korean addresses offer, and the coordinate is the
11
+ * board's coordinate half, which is why this is the NOISY source for Korean and not a side dish.
12
+ *
13
+ * The public-data portal labels the category files "이용허락범위 제한 없음" and links them to
14
+ * `file.localdata.go.kr`, which serves them behind a session: the category page sets the XSRF cookie,
15
+ * `/file/validate/download-count` is the portal's own rate check (429 when it wants a pause), and
16
+ * `/file/download/<slug>/info` streams the CSV. The files are CP949 as delivered; the adapter
17
+ * decodes. The restaurant category alone is about 700 MB.
18
+ *
19
+ * Invoke via `mailwoman corpus fetch localdata-kr --out-root <path>`, optionally with
20
+ * `--categories general_restaurants,rest_cafes`.
21
+ */
22
+ import { BYTES_PER_KIB } from "@mailwoman/core/fs/formatters";
23
+ import { pathExists } from "@mailwoman/core/fs/readers";
24
+ import { makeDirectories } from "@mailwoman/core/fs/writers";
25
+ import { sha256File } from "@mailwoman/core/hash";
26
+ import { sleep } from "@mailwoman/core/utils/sleep";
27
+ import { join } from "path-ts";
28
+ import { cookieHeader, loadCollectionFiles, streamBodyToFile, withRetries, writeManifest } from "#tools/fetch/download";
29
+ const SLUG = "localdata-kr";
30
+ const PORTAL = "https://file.localdata.go.kr";
31
+ const INDEX_URL = `${PORTAL}/file/general_restaurants/info`;
32
+ const LICENSE = "이용허락범위 제한 없음 (data.go.kr label on each category file, e.g. 행정안전부_식품_일반음식점)";
33
+ const ATTRIBUTION = "행정안전부 (Ministry of the Interior and Safety), 지방행정인허가데이터";
34
+ const HTTP_TOO_MANY_REQUESTS = 429;
35
+ const RATE_PAUSE_MS = 30_000;
36
+ const USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) mailwoman-corpus-fetch";
37
+ /**
38
+ * Open a session on the portal: the category page answers the XSRF cookie and the navigation that names every category.
39
+ */
40
+ async function openSession() {
41
+ const res = await fetch(INDEX_URL, {
42
+ headers: { "user-agent": USER_AGENT, accept: "text/html", referer: "https://www.data.go.kr/" },
43
+ });
44
+ if (!res.ok)
45
+ throw new Error(`localdata-kr: the category page answered HTTP ${res.status}`);
46
+ const html = await res.text();
47
+ const cookie = cookieHeader(res);
48
+ const xsrf = /XSRF-TOKEN=([^;]+)/.exec(cookie)?.[1];
49
+ const categories = [];
50
+ const seen = new Set();
51
+ for (const [, slug, name] of html.matchAll(/href="\/file\/([a-z0-9_]+)\/info"[^>]*>\s*<span>([^<]+)<\/span>/g)) {
52
+ if (!slug || !name || seen.has(slug))
53
+ continue;
54
+ seen.add(slug);
55
+ categories.push({ slug, name: name.trim() });
56
+ }
57
+ return { cookie, xsrf, categories };
58
+ }
59
+ /**
60
+ * The portal's own rate check; a 429 carries the pause it asks for in prose, so the caller sleeps and retries.
61
+ */
62
+ async function validateDownloadCount(session) {
63
+ const headers = { "user-agent": USER_AGENT, cookie: session.cookie, referer: INDEX_URL };
64
+ if (session.xsrf) {
65
+ headers["X-XSRF-TOKEN"] = session.xsrf;
66
+ }
67
+ const res = await fetch(`${PORTAL}/file/validate/download-count`, { headers });
68
+ return res.status !== HTTP_TOO_MANY_REQUESTS;
69
+ }
70
+ export async function fetchLocaldataKR(options, report) {
71
+ const destDir = join(options.outRoot, SLUG);
72
+ await makeDirectories(destDir);
73
+ const manifestPath = join(destDir, "MANIFEST.json");
74
+ const session = await openSession();
75
+ const wanted = options.categories?.length
76
+ ? session.categories.filter((category) => options.categories.includes(category.slug))
77
+ : session.categories;
78
+ report?.(`=== ${SLUG}: ${wanted.length} of ${session.categories.length} categories`);
79
+ // A previous run's entries survive, keyed by file name, so a re-run after an interruption fetches only what is missing.
80
+ const previous = await loadCollectionFiles(manifestPath);
81
+ const files = new Map();
82
+ let fetched = 0;
83
+ let skipped = 0;
84
+ const failedCodes = [];
85
+ for (const category of wanted) {
86
+ const filename = `${category.slug}.csv`;
87
+ const dest = join(destDir, filename);
88
+ const url = `${PORTAL}/file/download/${category.slug}/info`;
89
+ const before = previous.get(filename);
90
+ if (before && (await pathExists(dest))) {
91
+ files.set(filename, before);
92
+ skipped++;
93
+ continue;
94
+ }
95
+ report?.(`--- ${category.name} (${category.slug})`);
96
+ while (!(await validateDownloadCount(session))) {
97
+ report?.(` portal asks for a pause — sleeping ${RATE_PAUSE_MS / 1000}s`);
98
+ await sleep(RATE_PAUSE_MS);
99
+ }
100
+ let bytes;
101
+ try {
102
+ bytes = await withRetries(async () => {
103
+ const res = await fetch(url, {
104
+ headers: { "user-agent": USER_AGENT, cookie: session.cookie, referer: INDEX_URL, accept: "*/*" },
105
+ signal: AbortSignal.timeout(1_800_000),
106
+ });
107
+ if (!res.ok || !(res.headers.get("content-type") ?? "").includes("text/csv")) {
108
+ throw new Error(`HTTP ${res.status} ${res.headers.get("content-type") ?? ""} for ${category.slug}`);
109
+ }
110
+ return streamBodyToFile(res, dest);
111
+ }, { report, label: category.slug });
112
+ }
113
+ catch (error) {
114
+ report?.(` ✗ ${error.message}`);
115
+ failedCodes.push(category.slug);
116
+ continue;
117
+ }
118
+ if (bytes < BYTES_PER_KIB) {
119
+ report?.(` ✗ ${bytes} bytes — an error page, not the register`);
120
+ failedCodes.push(category.slug);
121
+ continue;
122
+ }
123
+ const sha = await sha256File(dest);
124
+ files.set(filename, { source_url: url, downloaded_at: new Date().toISOString(), filename, sha256: sha, bytes });
125
+ fetched++;
126
+ report?.(` ✓ ${(bytes / 1024 / 1024).toFixed(1)} MB sha256=${sha}`);
127
+ const manifest = {
128
+ source: SLUG,
129
+ source_url: INDEX_URL,
130
+ license: LICENSE,
131
+ attribution: ATTRIBUTION,
132
+ downloaded_at: new Date().toISOString(),
133
+ files: [...files.values()],
134
+ };
135
+ await writeManifest(manifestPath, manifest);
136
+ }
137
+ return { fetched, skipped, failed: failedCodes.length, failedCodes };
138
+ }
139
+ //# sourceMappingURL=localdata-kr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"localdata-kr.js","sourceRoot":"","sources":["../../../lib/tools/fetch/localdata-kr.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"golden-relabel-street.d.ts","sourceRoot":"","sources":["../../lib/tools/golden-relabel-street.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"golden-relabel-street.d.ts","sourceRoot":"","sources":["../../lib/tools/golden-relabel-street.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@
55
55
  * adapter's spans have). The tool asserts this per row and refuses to write a file if it ever
56
56
  * fails.
57
57
  */
58
- import { isStreetDirectionalToken, matchTrailingSuffix } from "@mailwoman/codex/us";
58
+ import { isStreetDirectionalToken, matchTrailingSuffix, NAME_PRONE_US_SUFFIXES, } from "@mailwoman/codex/us";
59
59
  import { pathExists, readDirectoryEntries, readLocalBuffer, readLocalTextFile } from "@mailwoman/core/fs/readers";
60
60
  import { makeDirectories, writeLocalFile, writeLocalJSONFile, writeLocalTextFile } from "@mailwoman/core/fs/writers";
61
61
  import { sha256File } from "@mailwoman/core/hash";
@@ -64,7 +64,6 @@ import { isPresent } from "@mailwoman/core/objects";
64
64
  import { escapeRegExp } from "@mailwoman/core/strings/regexp";
65
65
  import { basename, join } from "path-ts";
66
66
  import { TextSpliterator } from "spliterator";
67
- import { NAME_PRONE_US_SUFFIXES } from "#name-prone-us-suffixes";
68
67
  /**
69
68
  * Split `s` at its LAST whitespace run, returning the three pieces verbatim. Null when there is no interior whitespace,
70
69
  * when the head would be empty, or when `s` carries leading/trailing whitespace (a golden row is stored trimmed; an
@@ -1 +1 @@
1
- {"version":3,"file":"golden-relabel-street.js","sourceRoot":"","sources":["../../lib/tools/golden-relabel-street.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"golden-relabel-street.js","sourceRoot":"","sources":["../../lib/tools/golden-relabel-street.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mailwoman/corpus",
3
- "version": "9.3.0",
3
+ "version": "9.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": {
@@ -411,15 +411,15 @@
411
411
  }
412
412
  },
413
413
  "dependencies": {
414
- "@mailwoman/ban": "9.3.0",
415
- "@mailwoman/bdc": "9.3.0",
416
- "@mailwoman/codex": "9.3.0",
417
- "@mailwoman/core": "9.3.0",
418
- "@mailwoman/formatter": "9.3.0",
419
- "@mailwoman/normalize": "9.3.0",
420
- "@mailwoman/resolver-wof-sqlite": "9.3.0",
421
- "@mailwoman/sqlite": "9.3.0",
422
- "@mailwoman/tiger": "9.3.0",
414
+ "@mailwoman/ban": "9.4.0",
415
+ "@mailwoman/bdc": "9.4.0",
416
+ "@mailwoman/codex": "9.4.0",
417
+ "@mailwoman/core": "9.4.0",
418
+ "@mailwoman/formatter": "9.4.0",
419
+ "@mailwoman/normalize": "9.4.0",
420
+ "@mailwoman/resolver-wof-sqlite": "9.4.0",
421
+ "@mailwoman/sqlite": "9.4.0",
422
+ "@mailwoman/tiger": "9.4.0",
423
423
  "apache-arrow": "^21.2.0",
424
424
  "fast-glob": "^3.3.3",
425
425
  "fastest-levenshtein": "^1.0.16",
@@ -1,12 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license AGPL-3.0
4
- * @author Teffen Ellis, et al.
5
- *
6
- * Re-export shim: the name-prone set moved to `@mailwoman/codex/us` (data in
7
- * `codex/us/street-suffix.json`, 2026-08-10) so the golden relabel flags, the #1569 slice
8
- * recipe, AND the Python relabel pass (via the `gazetteer affix-relabel` v2 lexicon) all read
9
- * one record. Import from `@mailwoman/codex/us` in new code.
10
- */
11
-
12
- export { NAME_PRONE_US_SUFFIXES } from "@mailwoman/codex/us"
@@ -1,12 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license AGPL-3.0
4
- * @author Teffen Ellis, et al.
5
- *
6
- * Re-export shim: the name-prone set moved to `@mailwoman/codex/us` (data in
7
- * `codex/us/street-suffix.json`, 2026-08-10) so the golden relabel flags, the #1569 slice
8
- * recipe, AND the Python relabel pass (via the `gazetteer affix-relabel` v2 lexicon) all read
9
- * one record. Import from `@mailwoman/codex/us` in new code.
10
- */
11
- export { NAME_PRONE_US_SUFFIXES } from "@mailwoman/codex/us";
12
- //# sourceMappingURL=name-prone-us-suffixes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"name-prone-us-suffixes.d.ts","sourceRoot":"","sources":["../lib/name-prone-us-suffixes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1,12 +0,0 @@
1
- /**
2
- * @copyright Sister Software
3
- * @license AGPL-3.0
4
- * @author Teffen Ellis, et al.
5
- *
6
- * Re-export shim: the name-prone set moved to `@mailwoman/codex/us` (data in
7
- * `codex/us/street-suffix.json`, 2026-08-10) so the golden relabel flags, the #1569 slice
8
- * recipe, AND the Python relabel pass (via the `gazetteer affix-relabel` v2 lexicon) all read
9
- * one record. Import from `@mailwoman/codex/us` in new code.
10
- */
11
- export { NAME_PRONE_US_SUFFIXES } from "@mailwoman/codex/us";
12
- //# sourceMappingURL=name-prone-us-suffixes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"name-prone-us-suffixes.js","sourceRoot":"","sources":["../lib/name-prone-us-suffixes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA"}