@mailwoman/resolver-wof-sqlite 10.0.0 → 10.2.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/README.md +9 -8
- package/lib/address/point/interpolation.ts +45 -39
- package/lib/address/point/schema.ts +17 -40
- package/lib/address/point.ts +316 -0
- package/lib/{address/index.ts → address.ts} +1 -1
- package/lib/ancestry/backfill.ts +20 -86
- package/lib/{ancestry/index.ts → ancestry.ts} +19 -15
- package/lib/build/candidate.ts +122 -174
- package/lib/build/population-corrections.ts +64 -0
- package/lib/build/slim.ts +44 -114
- package/lib/candidate/alias-bags.ts +16 -17
- package/lib/candidate/ancestors/schema.ts +77 -61
- package/lib/candidate/ancestors/sidecar.ts +15 -22
- package/lib/candidate/country-display-names.ts +6 -20
- package/lib/candidate/extract-fold.ts +10 -55
- package/lib/candidate/fts.ts +5 -23
- package/lib/candidate/importance.ts +65 -68
- package/lib/candidate/lookup.ts +124 -415
- package/lib/candidate/name-roles.ts +15 -33
- package/lib/candidate/own-name.ts +35 -32
- package/lib/candidate/place-attrs.ts +20 -13
- package/lib/candidate/schema.ts +29 -65
- package/lib/candidate/scoring.ts +54 -93
- package/lib/capital-schema.ts +21 -17
- package/lib/capitals.ts +29 -27
- package/lib/coincident-roles.ts +85 -55
- package/lib/convention/schema.ts +15 -16
- package/lib/convention.ts +144 -0
- package/lib/coverage-manifest-schema.ts +40 -45
- package/lib/currency-backfill.ts +34 -79
- package/lib/env.ts +1 -1
- package/lib/exact-match.ts +32 -21
- package/lib/extracts.ts +97 -74
- package/lib/fst/autocomplete.ts +54 -37
- package/lib/fst/builder.ts +37 -41
- package/lib/fst/deserialize-web.ts +16 -17
- package/lib/fst/format.ts +41 -23
- package/lib/fst/freshness.ts +43 -120
- package/lib/fst/matcher.ts +7 -5
- package/lib/fst/serialize.ts +54 -74
- package/lib/fst/types.ts +78 -75
- package/lib/{fst/index.ts → fst.ts} +1 -0
- package/lib/fts/query.ts +5 -36
- package/lib/fts.ts +280 -0
- package/lib/geonames/aliases.ts +73 -144
- package/lib/geonames/postal.ts +162 -71
- package/lib/index.ts +9 -8
- package/lib/interpolation.ts +48 -100
- package/lib/lookup.ts +155 -270
- package/lib/name-score.ts +9 -7
- package/lib/nsul/lookup.ts +37 -54
- package/lib/nsul/schema.ts +16 -43
- package/lib/paths.ts +159 -0
- package/lib/place-importance-schema.ts +62 -169
- package/lib/poi/lookup.ts +104 -121
- package/lib/poi/schema.ts +42 -26
- package/lib/polygon-schema.ts +10 -6
- package/lib/postal/city/alias/lookup.ts +22 -40
- package/lib/postal/city/alias/schema.ts +14 -10
- package/lib/postal/city/candidate-schema.ts +26 -20
- package/lib/postcode-point-lookup.ts +8 -27
- package/lib/primary-preference.ts +46 -126
- package/lib/proximity-rerank.ts +44 -33
- package/lib/ranking-weights.ts +105 -78
- package/lib/region-keys.ts +70 -42
- package/lib/reverse.ts +149 -86
- package/lib/schema.ts +73 -50
- package/lib/search-fetch.ts +90 -68
- package/lib/sqlite/convention-source.ts +15 -23
- package/lib/sqlite/utils.ts +19 -22
- package/lib/street/centroid/schema.ts +37 -42
- package/lib/street/{centroid/index.ts → centroid.ts} +16 -25
- package/lib/street/morphology/fst/builder.ts +60 -42
- package/lib/street/morphology/fst/loader.ts +40 -32
- package/lib/street/name-lookup.ts +45 -41
- package/lib/street/normalize.ts +88 -219
- package/lib/street/segment-schema.ts +116 -43
- package/lib/{street/index.ts → street.ts} +1 -1
- package/lib/types.ts +109 -150
- package/lib/unified-schema.ts +29 -29
- package/lib/uprn/existence.ts +30 -19
- package/lib/uprn/lookup.ts +29 -68
- package/lib/uprn/schema.ts +18 -40
- package/lib/weights-overlay-linker.ts +236 -252
- package/out/address/point/interpolation.d.ts +20 -23
- package/out/address/point/interpolation.d.ts.map +1 -1
- package/out/address/point/interpolation.js +42 -39
- package/out/address/point/interpolation.js.map +1 -1
- package/out/address/point/schema.d.ts +12 -35
- package/out/address/point/schema.d.ts.map +1 -1
- package/out/address/point/schema.js +3 -19
- package/out/address/point/schema.js.map +1 -1
- package/out/address/point.d.ts +57 -0
- package/out/address/point.d.ts.map +1 -0
- package/out/address/point.js +206 -0
- package/out/address/point.js.map +1 -0
- package/out/{address/index.js → address.d.ts} +2 -2
- package/out/address.d.ts.map +1 -0
- package/out/{address/index.d.ts → address.js} +2 -2
- package/out/address.js.map +1 -0
- package/out/ancestry/backfill.d.ts +11 -64
- package/out/ancestry/backfill.d.ts.map +1 -1
- package/out/ancestry/backfill.js +14 -74
- package/out/ancestry/backfill.js.map +1 -1
- package/out/ancestry.d.ts +49 -0
- package/out/ancestry.d.ts.map +1 -0
- package/out/ancestry.js +59 -0
- package/out/ancestry.js.map +1 -0
- package/out/build/candidate.d.ts +82 -112
- package/out/build/candidate.d.ts.map +1 -1
- package/out/build/candidate.js +17 -100
- package/out/build/candidate.js.map +1 -1
- package/out/build/population-corrections.d.ts +52 -0
- package/out/build/population-corrections.d.ts.map +1 -0
- package/out/build/population-corrections.js +40 -0
- package/out/build/population-corrections.js.map +1 -0
- package/out/build/slim.d.ts +8 -44
- package/out/build/slim.d.ts.map +1 -1
- package/out/build/slim.js +33 -94
- package/out/build/slim.js.map +1 -1
- package/out/candidate/alias-bags.d.ts +6 -6
- package/out/candidate/alias-bags.d.ts.map +1 -1
- package/out/candidate/alias-bags.js +16 -17
- package/out/candidate/alias-bags.js.map +1 -1
- package/out/candidate/ancestors/schema.d.ts +73 -57
- package/out/candidate/ancestors/schema.d.ts.map +1 -1
- package/out/candidate/ancestors/schema.js +56 -48
- package/out/candidate/ancestors/schema.js.map +1 -1
- package/out/candidate/ancestors/sidecar.d.ts +3 -8
- package/out/candidate/ancestors/sidecar.d.ts.map +1 -1
- package/out/candidate/ancestors/sidecar.js +15 -22
- package/out/candidate/ancestors/sidecar.js.map +1 -1
- package/out/candidate/country-display-names.d.ts +5 -15
- package/out/candidate/country-display-names.d.ts.map +1 -1
- package/out/candidate/country-display-names.js +6 -20
- package/out/candidate/country-display-names.js.map +1 -1
- package/out/candidate/extract-fold.d.ts +7 -15
- package/out/candidate/extract-fold.d.ts.map +1 -1
- package/out/candidate/extract-fold.js +5 -47
- package/out/candidate/extract-fold.js.map +1 -1
- package/out/candidate/fts.d.ts +5 -23
- package/out/candidate/fts.d.ts.map +1 -1
- package/out/candidate/fts.js +5 -23
- package/out/candidate/fts.js.map +1 -1
- package/out/candidate/importance.d.ts +60 -65
- package/out/candidate/importance.d.ts.map +1 -1
- package/out/candidate/importance.js +56 -63
- package/out/candidate/importance.js.map +1 -1
- package/out/candidate/lookup.d.ts +18 -55
- package/out/candidate/lookup.d.ts.map +1 -1
- package/out/candidate/lookup.js +82 -385
- package/out/candidate/lookup.js.map +1 -1
- package/out/candidate/name-roles.d.ts +9 -21
- package/out/candidate/name-roles.d.ts.map +1 -1
- package/out/candidate/name-roles.js +15 -33
- package/out/candidate/name-roles.js.map +1 -1
- package/out/candidate/own-name.d.ts +23 -25
- package/out/candidate/own-name.d.ts.map +1 -1
- package/out/candidate/own-name.js +35 -32
- package/out/candidate/own-name.js.map +1 -1
- package/out/candidate/place-attrs.d.ts +20 -13
- package/out/candidate/place-attrs.d.ts.map +1 -1
- package/out/candidate/place-attrs.js +4 -5
- package/out/candidate/place-attrs.js.map +1 -1
- package/out/candidate/schema.d.ts +27 -62
- package/out/candidate/schema.d.ts.map +1 -1
- package/out/candidate/schema.js +10 -22
- package/out/candidate/schema.js.map +1 -1
- package/out/candidate/scoring.d.ts +7 -8
- package/out/candidate/scoring.d.ts.map +1 -1
- package/out/candidate/scoring.js +52 -89
- package/out/candidate/scoring.js.map +1 -1
- package/out/capital-schema.d.ts +21 -17
- package/out/capital-schema.d.ts.map +1 -1
- package/out/capital-schema.js +17 -15
- package/out/capital-schema.js.map +1 -1
- package/out/capitals.d.ts +27 -25
- package/out/capitals.d.ts.map +1 -1
- package/out/capitals.js +23 -21
- package/out/capitals.js.map +1 -1
- package/out/coincident-roles.d.ts +60 -43
- package/out/coincident-roles.d.ts.map +1 -1
- package/out/coincident-roles.js +72 -50
- package/out/coincident-roles.js.map +1 -1
- package/out/convention/schema.d.ts +14 -14
- package/out/convention/schema.d.ts.map +1 -1
- package/out/convention/schema.js +6 -4
- package/out/convention/schema.js.map +1 -1
- package/out/convention.d.ts +97 -0
- package/out/convention.d.ts.map +1 -0
- package/out/convention.js +81 -0
- package/out/convention.js.map +1 -0
- package/out/coverage-manifest-schema.d.ts +34 -39
- package/out/coverage-manifest-schema.d.ts.map +1 -1
- package/out/coverage-manifest-schema.js +25 -34
- package/out/coverage-manifest-schema.js.map +1 -1
- package/out/currency-backfill.d.ts +16 -38
- package/out/currency-backfill.d.ts.map +1 -1
- package/out/currency-backfill.js +19 -46
- package/out/currency-backfill.js.map +1 -1
- package/out/env.d.ts +1 -1
- package/out/env.js +1 -1
- package/out/exact-match.d.ts +19 -10
- package/out/exact-match.d.ts.map +1 -1
- package/out/exact-match.js +32 -21
- package/out/exact-match.js.map +1 -1
- package/out/extracts.d.ts +66 -55
- package/out/extracts.d.ts.map +1 -1
- package/out/extracts.js +63 -55
- package/out/extracts.js.map +1 -1
- package/out/fst/autocomplete.d.ts +29 -21
- package/out/fst/autocomplete.d.ts.map +1 -1
- package/out/fst/autocomplete.js +39 -28
- package/out/fst/autocomplete.js.map +1 -1
- package/out/fst/builder.d.ts.map +1 -1
- package/out/fst/builder.js +37 -41
- package/out/fst/builder.js.map +1 -1
- package/out/fst/deserialize-web.d.ts +4 -4
- package/out/fst/deserialize-web.d.ts.map +1 -1
- package/out/fst/deserialize-web.js +15 -16
- package/out/fst/deserialize-web.js.map +1 -1
- package/out/fst/format.d.ts +41 -23
- package/out/fst/format.d.ts.map +1 -1
- package/out/fst/format.js +41 -23
- package/out/fst/format.js.map +1 -1
- package/out/fst/freshness.d.ts +19 -81
- package/out/fst/freshness.d.ts.map +1 -1
- package/out/fst/freshness.js +31 -94
- package/out/fst/freshness.js.map +1 -1
- package/out/fst/matcher.d.ts +5 -4
- package/out/fst/matcher.d.ts.map +1 -1
- package/out/fst/matcher.js +2 -2
- package/out/fst/matcher.js.map +1 -1
- package/out/fst/serialize.d.ts +28 -28
- package/out/fst/serialize.d.ts.map +1 -1
- package/out/fst/serialize.js +53 -71
- package/out/fst/serialize.js.map +1 -1
- package/out/fst/types.d.ts +78 -74
- package/out/fst/types.d.ts.map +1 -1
- package/out/fst/types.js +1 -4
- package/out/fst/types.js.map +1 -1
- package/out/{fst/index.js → fst.d.ts} +2 -1
- package/out/fst.d.ts.map +1 -0
- package/out/{fst/index.d.ts → fst.js} +2 -1
- package/out/fst.js.map +1 -0
- package/out/fts/query.d.ts +2 -27
- package/out/fts/query.d.ts.map +1 -1
- package/out/fts/query.js +5 -36
- package/out/fts/query.js.map +1 -1
- package/out/fts.d.ts +126 -0
- package/out/fts.d.ts.map +1 -0
- package/out/fts.js +188 -0
- package/out/fts.js.map +1 -0
- package/out/geonames/aliases.d.ts +26 -62
- package/out/geonames/aliases.d.ts.map +1 -1
- package/out/geonames/aliases.js +45 -117
- package/out/geonames/aliases.js.map +1 -1
- package/out/geonames/postal.d.ts +84 -44
- package/out/geonames/postal.d.ts.map +1 -1
- package/out/geonames/postal.js +115 -73
- package/out/geonames/postal.js.map +1 -1
- package/out/{geonames/index.js → geonames.d.ts} +1 -1
- package/out/geonames.d.ts.map +1 -0
- package/out/{geonames/index.d.ts → geonames.js} +1 -1
- package/out/geonames.js.map +1 -0
- package/out/index.d.ts +9 -8
- package/out/index.d.ts.map +1 -1
- package/out/index.js +6 -5
- package/out/index.js.map +1 -1
- package/out/interpolation.d.ts +18 -55
- package/out/interpolation.d.ts.map +1 -1
- package/out/interpolation.js +27 -69
- package/out/interpolation.js.map +1 -1
- package/out/lookup.d.ts +23 -51
- package/out/lookup.d.ts.map +1 -1
- package/out/lookup.js +136 -234
- package/out/lookup.js.map +1 -1
- package/out/name-score.d.ts +2 -2
- package/out/name-score.d.ts.map +1 -1
- package/out/name-score.js +9 -7
- package/out/name-score.js.map +1 -1
- package/out/nsul/lookup.d.ts +33 -34
- package/out/nsul/lookup.d.ts.map +1 -1
- package/out/nsul/lookup.js +26 -40
- package/out/nsul/lookup.js.map +1 -1
- package/out/nsul/schema.d.ts +16 -43
- package/out/nsul/schema.d.ts.map +1 -1
- package/out/nsul/schema.js +9 -35
- package/out/nsul/schema.js.map +1 -1
- package/out/{nsul/index.d.ts → nsul.d.ts} +1 -1
- package/out/nsul.d.ts.map +1 -0
- package/out/{nsul/index.js → nsul.js} +1 -1
- package/out/nsul.js.map +1 -0
- package/out/paths.d.ts +124 -0
- package/out/paths.d.ts.map +1 -0
- package/out/paths.js +104 -0
- package/out/paths.js.map +1 -0
- package/out/place-importance-schema.d.ts +51 -143
- package/out/place-importance-schema.d.ts.map +1 -1
- package/out/place-importance-schema.js +28 -143
- package/out/place-importance-schema.js.map +1 -1
- package/out/poi/lookup.d.ts +40 -47
- package/out/poi/lookup.d.ts.map +1 -1
- package/out/poi/lookup.js +69 -96
- package/out/poi/lookup.js.map +1 -1
- package/out/poi/schema.d.ts +41 -25
- package/out/poi/schema.d.ts.map +1 -1
- package/out/poi/schema.js +25 -17
- package/out/poi/schema.js.map +1 -1
- package/out/{poi/index.js → poi.d.ts} +1 -1
- package/out/poi.d.ts.map +1 -0
- package/out/{poi/index.d.ts → poi.js} +1 -1
- package/out/poi.js.map +1 -0
- package/out/polygon-schema.d.ts +10 -6
- package/out/polygon-schema.d.ts.map +1 -1
- package/out/polygon-schema.js +2 -2
- package/out/polygon-schema.js.map +1 -1
- package/out/postal/city/alias/lookup.d.ts +20 -23
- package/out/postal/city/alias/lookup.d.ts.map +1 -1
- package/out/postal/city/alias/lookup.js +17 -30
- package/out/postal/city/alias/lookup.js.map +1 -1
- package/out/postal/city/alias/schema.d.ts +14 -10
- package/out/postal/city/alias/schema.d.ts.map +1 -1
- package/out/postal/city/alias/schema.js +10 -8
- package/out/postal/city/alias/schema.js.map +1 -1
- package/out/postal/city/candidate-schema.d.ts +25 -19
- package/out/postal/city/candidate-schema.d.ts.map +1 -1
- package/out/postal/city/candidate-schema.js +21 -17
- package/out/postal/city/candidate-schema.js.map +1 -1
- package/out/{postal/index.d.ts → postal.d.ts} +1 -1
- package/out/postal.d.ts.map +1 -0
- package/out/{postal/index.js → postal.js} +1 -1
- package/out/postal.js.map +1 -0
- package/out/postcode-point-lookup.d.ts +6 -24
- package/out/postcode-point-lookup.d.ts.map +1 -1
- package/out/postcode-point-lookup.js +5 -17
- package/out/postcode-point-lookup.js.map +1 -1
- package/out/primary-preference.d.ts +38 -92
- package/out/primary-preference.d.ts.map +1 -1
- package/out/primary-preference.js +15 -99
- package/out/primary-preference.js.map +1 -1
- package/out/proximity-rerank.d.ts +41 -30
- package/out/proximity-rerank.d.ts.map +1 -1
- package/out/proximity-rerank.js +38 -29
- package/out/proximity-rerank.js.map +1 -1
- package/out/ranking-weights.d.ts +98 -64
- package/out/ranking-weights.d.ts.map +1 -1
- package/out/ranking-weights.js +26 -25
- package/out/ranking-weights.js.map +1 -1
- package/out/region-keys.d.ts +50 -31
- package/out/region-keys.d.ts.map +1 -1
- package/out/region-keys.js +68 -40
- package/out/region-keys.js.map +1 -1
- package/out/reverse.d.ts +78 -50
- package/out/reverse.d.ts.map +1 -1
- package/out/reverse.js +98 -61
- package/out/reverse.js.map +1 -1
- package/out/schema.d.ts +72 -49
- package/out/schema.d.ts.map +1 -1
- package/out/schema.js +4 -5
- package/out/schema.js.map +1 -1
- package/out/search-fetch.d.ts +16 -12
- package/out/search-fetch.d.ts.map +1 -1
- package/out/search-fetch.js +83 -63
- package/out/search-fetch.js.map +1 -1
- package/out/sqlite/convention-source.d.ts +12 -16
- package/out/sqlite/convention-source.d.ts.map +1 -1
- package/out/sqlite/convention-source.js +13 -22
- package/out/sqlite/convention-source.js.map +1 -1
- package/out/sqlite/utils.d.ts +19 -19
- package/out/sqlite/utils.d.ts.map +1 -1
- package/out/sqlite/utils.js +14 -15
- package/out/sqlite/utils.js.map +1 -1
- package/out/street/centroid/schema.d.ts +37 -42
- package/out/street/centroid/schema.d.ts.map +1 -1
- package/out/street/centroid/schema.js +9 -21
- package/out/street/centroid/schema.js.map +1 -1
- package/out/street/centroid.d.ts +30 -0
- package/out/street/centroid.d.ts.map +1 -0
- package/out/street/{centroid/index.js → centroid.js} +13 -24
- package/out/street/centroid.js.map +1 -0
- package/out/street/morphology/fst/builder.d.ts +20 -10
- package/out/street/morphology/fst/builder.d.ts.map +1 -1
- package/out/street/morphology/fst/builder.js +44 -34
- package/out/street/morphology/fst/builder.js.map +1 -1
- package/out/street/morphology/fst/loader.d.ts +33 -26
- package/out/street/morphology/fst/loader.d.ts.map +1 -1
- package/out/street/morphology/fst/loader.js +23 -22
- package/out/street/morphology/fst/loader.js.map +1 -1
- package/out/street/name-lookup.d.ts +24 -18
- package/out/street/name-lookup.d.ts.map +1 -1
- package/out/street/name-lookup.js +34 -35
- package/out/street/name-lookup.js.map +1 -1
- package/out/street/normalize.d.ts +35 -136
- package/out/street/normalize.d.ts.map +1 -1
- package/out/street/normalize.js +77 -194
- package/out/street/normalize.js.map +1 -1
- package/out/street/segment-schema.d.ts +79 -39
- package/out/street/segment-schema.d.ts.map +1 -1
- package/out/street/segment-schema.js +71 -21
- package/out/street/segment-schema.js.map +1 -1
- package/out/{street/index.js → street.d.ts} +2 -2
- package/out/street.d.ts.map +1 -0
- package/out/{street/index.d.ts → street.js} +2 -2
- package/out/street.js.map +1 -0
- package/out/types.d.ts +84 -149
- package/out/types.d.ts.map +1 -1
- package/out/types.js +0 -6
- package/out/types.js.map +1 -1
- package/out/unified-schema.d.ts +8 -12
- package/out/unified-schema.d.ts.map +1 -1
- package/out/unified-schema.js +29 -29
- package/out/unified-schema.js.map +1 -1
- package/out/uprn/existence.d.ts +28 -17
- package/out/uprn/existence.d.ts.map +1 -1
- package/out/uprn/existence.js +26 -16
- package/out/uprn/existence.js.map +1 -1
- package/out/uprn/lookup.d.ts +14 -44
- package/out/uprn/lookup.d.ts.map +1 -1
- package/out/uprn/lookup.js +21 -57
- package/out/uprn/lookup.js.map +1 -1
- package/out/uprn/schema.d.ts +18 -40
- package/out/uprn/schema.d.ts.map +1 -1
- package/out/uprn/schema.js +10 -32
- package/out/uprn/schema.js.map +1 -1
- package/out/{uprn/index.d.ts → uprn.d.ts} +1 -1
- package/out/uprn.d.ts.map +1 -0
- package/out/{uprn/index.js → uprn.js} +1 -1
- package/out/uprn.js.map +1 -0
- package/out/weights-overlay-linker.d.ts +138 -144
- package/out/weights-overlay-linker.d.ts.map +1 -1
- package/out/weights-overlay-linker.js +105 -159
- package/out/weights-overlay-linker.js.map +1 -1
- package/package.json +91 -596
- package/lib/address/point/index.ts +0 -328
- package/lib/convention/index.ts +0 -154
- package/lib/fts/index.ts +0 -361
- package/out/address/index.d.ts.map +0 -1
- package/out/address/index.js.map +0 -1
- package/out/address/point/index.d.ts +0 -53
- package/out/address/point/index.d.ts.map +0 -1
- package/out/address/point/index.js +0 -222
- package/out/address/point/index.js.map +0 -1
- package/out/ancestry/index.d.ts +0 -45
- package/out/ancestry/index.d.ts.map +0 -1
- package/out/ancestry/index.js +0 -55
- package/out/ancestry/index.js.map +0 -1
- package/out/convention/index.d.ts +0 -106
- package/out/convention/index.d.ts.map +0 -1
- package/out/convention/index.js +0 -93
- package/out/convention/index.js.map +0 -1
- package/out/fst/index.d.ts.map +0 -1
- package/out/fst/index.js.map +0 -1
- package/out/fts/index.d.ts +0 -184
- package/out/fts/index.d.ts.map +0 -1
- package/out/fts/index.js +0 -277
- package/out/fts/index.js.map +0 -1
- package/out/geonames/index.d.ts.map +0 -1
- package/out/geonames/index.js.map +0 -1
- package/out/nsul/index.d.ts.map +0 -1
- package/out/nsul/index.js.map +0 -1
- package/out/poi/index.d.ts.map +0 -1
- package/out/poi/index.js.map +0 -1
- package/out/postal/index.d.ts.map +0 -1
- package/out/postal/index.js.map +0 -1
- package/out/street/centroid/index.d.ts +0 -40
- package/out/street/centroid/index.d.ts.map +0 -1
- package/out/street/centroid/index.js.map +0 -1
- package/out/street/index.d.ts.map +0 -1
- package/out/street/index.js.map +0 -1
- package/out/uprn/index.d.ts.map +0 -1
- package/out/uprn/index.js.map +0 -1
- /package/lib/{geonames/index.ts → geonames.ts} +0 -0
- /package/lib/{nsul/index.ts → nsul.ts} +0 -0
- /package/lib/{poi/index.ts → poi.ts} +0 -0
- /package/lib/{postal/index.ts → postal.ts} +0 -0
- /package/lib/{uprn/index.ts → uprn.ts} +0 -0
|
@@ -2,29 +2,26 @@
|
|
|
2
2
|
* @copyright Sister Software
|
|
3
3
|
* @license AGPL-3.0
|
|
4
4
|
* @author Teffen Ellis, et al.
|
|
5
|
-
* Shared development tooling for weights overlays: the symlink primitives every overlay linker uses, the
|
|
6
|
-
* placetype-pair index build, and the manifest form ({@link materializeDevOverlay}) each locale's
|
|
7
|
-
* `scripts/link-dev-weights.ts` declares itself in.
|
|
8
5
|
*/
|
|
9
|
-
import { dataRootPath } from "@mailwoman/core/data-root";
|
|
10
|
-
import {
|
|
6
|
+
import { dataRootPath, weightsOverlayPath } from "@mailwoman/core/data-root";
|
|
7
|
+
import { readLocalJSONFile, readLocalTextFile, readLocalBuffer } from "@mailwoman/core/fs/readers";
|
|
8
|
+
import { pathExists, statPath, statLink } from "@mailwoman/core/fs/readers/stat";
|
|
11
9
|
import { createSymbolicLink, makeDirectories, movePath, removePath, writeLocalTextFile, } from "@mailwoman/core/fs/writers";
|
|
12
10
|
import { md5File } from "@mailwoman/core/hash";
|
|
13
11
|
import { parseJSONStrict } from "@mailwoman/core/json";
|
|
14
|
-
import { repoRootPath,
|
|
12
|
+
import { repoRootPath, repoRootPathBuilder, workspacePathBuilder } from "@mailwoman/core/paths";
|
|
15
13
|
import { spawnProcessSync } from "@mailwoman/core/process";
|
|
16
14
|
import { readReleaseConfig, repoCommittedSoftFeedSources } from "@mailwoman/core/release-config";
|
|
17
|
-
import { weightsOverlayPath } from "@mailwoman/core/utils";
|
|
18
|
-
import { resolvePath } from "path-ts";
|
|
19
15
|
import { $public } from "#env";
|
|
20
16
|
import { fstFreshnessWarning } from "#fst/freshness";
|
|
17
|
+
import { wofDatabasePath } from "#paths";
|
|
21
18
|
/**
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* rename
|
|
19
|
+
* Replaces `dest` with a symlink to `src` by renaming a temporary link over it.
|
|
20
|
+
*
|
|
21
|
+
* The rename is atomic, so concurrent test workers never see `dest` missing.
|
|
25
22
|
*/
|
|
26
23
|
export async function linkForce(src, dest) {
|
|
27
|
-
const tmp = `${dest}.tmp-link`;
|
|
24
|
+
const tmp = `${dest.toString()}.tmp-link`;
|
|
28
25
|
if (await pathExists(tmp)) {
|
|
29
26
|
await removePath(tmp);
|
|
30
27
|
}
|
|
@@ -32,7 +29,7 @@ export async function linkForce(src, dest) {
|
|
|
32
29
|
await movePath(tmp, dest);
|
|
33
30
|
}
|
|
34
31
|
/**
|
|
35
|
-
*
|
|
32
|
+
* Removes a file or symlink at `dest` so that the runtime falls back to the base en-us weights.
|
|
36
33
|
*/
|
|
37
34
|
export async function removeIfPresent(dest) {
|
|
38
35
|
try {
|
|
@@ -45,11 +42,10 @@ export async function removeIfPresent(dest) {
|
|
|
45
42
|
console.log(`removed stale local ${dest} (base fallback to en-us engages)`);
|
|
46
43
|
}
|
|
47
44
|
/**
|
|
48
|
-
*
|
|
45
|
+
* Symlinks one optional soft-feed artifact into an overlay and returns whether the source existed.
|
|
49
46
|
*
|
|
50
|
-
*
|
|
51
|
-
* has
|
|
52
|
-
* operator needs to know which channel just resolved OFF, not to have the link step abort.
|
|
47
|
+
* A missing source prints `consequenceIfMissing` and does not throw, because the
|
|
48
|
+
* runtime has a fallback for every soft-feed artifact.
|
|
53
49
|
*/
|
|
54
50
|
export async function linkSoftFeedSibling(source, destination, consequenceIfMissing) {
|
|
55
51
|
if (!(await pathExists(source))) {
|
|
@@ -61,36 +57,29 @@ export async function linkSoftFeedSibling(source, destination, consequenceIfMiss
|
|
|
61
57
|
return true;
|
|
62
58
|
}
|
|
63
59
|
/**
|
|
64
|
-
* The
|
|
65
|
-
* measured at δ=10 (each linker's own docstring carries its locale's receipt).
|
|
60
|
+
* The pair-index emission bias (δ) used by every shipped pair-index artifact.
|
|
66
61
|
*/
|
|
67
62
|
export const PAIR_INDEX_DELTA = 10;
|
|
68
63
|
/**
|
|
69
|
-
* The decoder transition-entry bonus (
|
|
70
|
-
*
|
|
71
|
-
* independently, and a locale earning one says nothing about the other.
|
|
64
|
+
* The decoder transition-entry bonus (β).
|
|
65
|
+
* Only locales that were calibrated with it pass it.
|
|
72
66
|
*/
|
|
73
67
|
export const PAIR_INDEX_TRANSITION_BETA = 5;
|
|
74
68
|
/**
|
|
75
|
-
* The
|
|
76
|
-
*
|
|
77
|
-
*
|
|
69
|
+
* The whole-edge parent-bias magnitude.
|
|
70
|
+
* Only locales that were calibrated with it pass it.
|
|
71
|
+
*
|
|
72
|
+
* Other locales omit the flag and do not inherit this value.
|
|
78
73
|
*/
|
|
79
74
|
export const PAIR_INDEX_PARENT_DELTA = 5;
|
|
80
75
|
/**
|
|
81
|
-
*
|
|
82
|
-
* `@mailwoman/neural` (which pulls onnxruntime-node) to read a few fields. `neural/pair-index-resolver.ts`'s own header
|
|
83
|
-
* parse is the source of truth this must follow.
|
|
76
|
+
* Reads the calibration fields from a PIX1 pair-index header without depending on `@mailwoman/neural`.
|
|
84
77
|
*
|
|
85
|
-
*
|
|
86
|
-
* (`neural-weights-{en-us,en-gb,en-nz,fr-fr}/scripts/link-dev-weights.ts`), which each carried their own near-copy
|
|
87
|
-
* before 2026-08-04 — the ×5 clone the taste audit named, and the reason three of them were schema-blind while this one
|
|
88
|
-
* was not.
|
|
78
|
+
* The parse must match the reader in `neural/lib/pair/index/resolver.ts`.
|
|
89
79
|
*/
|
|
90
80
|
export async function peekPairIndexHeaderFields(path) {
|
|
91
81
|
const bytes = await readLocalBuffer(path);
|
|
92
82
|
const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
93
|
-
// "PIX1" little-endian.
|
|
94
83
|
const MAGIC = 0x31_58_49_50;
|
|
95
84
|
if (view.getUint32(0, true) !== MAGIC) {
|
|
96
85
|
throw new Error(`pair index: bad magic reading ${path}`);
|
|
@@ -105,20 +94,16 @@ export async function peekPairIndexHeaderFields(path) {
|
|
|
105
94
|
sourceMD5s: header.sourceMD5s ?? [],
|
|
106
95
|
};
|
|
107
96
|
}
|
|
108
|
-
/**
|
|
109
|
-
* Hex characters in an md5 digest.
|
|
110
|
-
*/
|
|
111
97
|
const MD5_HEX_LENGTH = 32;
|
|
98
|
+
// repo-health-ignore export-name-affix -- This variant caches the hash in a sidecar.
|
|
99
|
+
// `md5File` hashes every time.
|
|
112
100
|
/**
|
|
113
|
-
*
|
|
114
|
-
* source is hashed once per change rather than once per linker run. The sidecar is trusted only when at least as new as
|
|
115
|
-
* the source; a missing or stale sidecar recomputes and rewrites, so the cache self-heals.
|
|
101
|
+
* Returns the MD5 of `path`, cached in a `<path>.md5` sidecar in `md5sum` format.
|
|
116
102
|
*
|
|
117
|
-
* The
|
|
103
|
+
* The sidecar is used only when it is at least as new as the source.
|
|
118
104
|
*/
|
|
119
|
-
// repo-health-ignore export-name-affix -- the sidecar cache IS the added behaviour; `md5File` hashes every time.
|
|
120
105
|
export async function md5FileWithSidecar(path) {
|
|
121
|
-
const sidecarPath = `${path}.md5`;
|
|
106
|
+
const sidecarPath = `${path.toString()}.md5`;
|
|
122
107
|
const sourceStats = await statPath(path);
|
|
123
108
|
if (await pathExists(sidecarPath)) {
|
|
124
109
|
try {
|
|
@@ -128,9 +113,7 @@ export async function md5FileWithSidecar(path) {
|
|
|
128
113
|
return hash;
|
|
129
114
|
}
|
|
130
115
|
}
|
|
131
|
-
catch {
|
|
132
|
-
// Unreadable sidecar — recompute below.
|
|
133
|
-
}
|
|
116
|
+
catch { }
|
|
134
117
|
}
|
|
135
118
|
const hash = await md5File(path);
|
|
136
119
|
const filename = path.split(/[/\\]/).pop() || path;
|
|
@@ -138,12 +121,10 @@ export async function md5FileWithSidecar(path) {
|
|
|
138
121
|
return hash;
|
|
139
122
|
}
|
|
140
123
|
/**
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
* linker passes a different set of sources and only it knows what they are.
|
|
124
|
+
* Returns why a pair-index header's schema or magnitudes differ from `expected`,
|
|
125
|
+
* or `undefined` when they match.
|
|
144
126
|
*
|
|
145
|
-
*
|
|
146
|
-
* three of the four base linkers ended up unable to notice a schema bump.
|
|
127
|
+
* The caller checks the source MD5s because only the caller knows its sources.
|
|
147
128
|
*/
|
|
148
129
|
export function pairIndexStaleReason(header, expected) {
|
|
149
130
|
if (header.schemaVersion !== REQUIRED_PAIR_INDEX_SCHEMA) {
|
|
@@ -157,75 +138,49 @@ export function pairIndexStaleReason(header, expected) {
|
|
|
157
138
|
if (header.parentDelta !== expected.parentDelta) {
|
|
158
139
|
return `parentDelta ${header.parentDelta ?? "(absent)"} → ${expected.parentDelta ?? "(absent)"}`;
|
|
159
140
|
}
|
|
160
|
-
return
|
|
141
|
+
return null;
|
|
161
142
|
}
|
|
162
143
|
/**
|
|
163
|
-
* The PIX1 schema
|
|
164
|
-
* they are two ends of one fact, and this copy exists only because a data-only overlay must not gain a dependency on
|
|
165
|
-
* `@mailwoman/neural` (onnxruntime-node) to read one header field. Bump BOTH in the same commit; a schema bump that
|
|
166
|
-
* leaves this behind makes every dev checkout rebuild-loop or serve an artifact the runtime refuses.
|
|
144
|
+
* The PIX1 schema version the pair-index reader requires.
|
|
167
145
|
*
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
* edition. Also compared by the four hand-written base linkers (`neural-weights-{en-us,en-gb,en-nz,fr-fr}`), which
|
|
171
|
-
* import this constant rather than re-typing the number.
|
|
146
|
+
* It must equal `KNOWN_SCHEMA_VERSION` in `neural/lib/pair/index/resolver.ts`.
|
|
147
|
+
* A mismatch makes dev checkouts rebuild on every run or link an artifact that the runtime refuses.
|
|
172
148
|
*/
|
|
173
149
|
export const REQUIRED_PAIR_INDEX_SCHEMA = 3;
|
|
174
150
|
/**
|
|
175
|
-
*
|
|
176
|
-
* now.
|
|
177
|
-
*
|
|
178
|
-
* WHY IT WARNS RATHER THAN REBUILDS, unlike its pair-index sibling above. A pair index is seconds of work and the
|
|
179
|
-
* linker owns its whole recipe. A locale FST is a multi-minute build whose output goes to a STAGING dir on purpose —
|
|
180
|
-
* the swap into `fst-per-locale/` is operator-approved after the battery, because an FST changes decoder behaviour and
|
|
181
|
-
* the D-rule does not let that land unmeasured. So the guard's job is to make the drift impossible to miss, and to name
|
|
182
|
-
* the command that starts fixing it. It is also why a stale FST is never fatal: the artifact is a decode-time bias
|
|
183
|
-
* list, and a dev tree must still run.
|
|
151
|
+
* Warns when a linked per-locale FST was built from a different admin database than the one on disk.
|
|
184
152
|
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
* packages build against the same one, so they share this rather than each pinning it.
|
|
153
|
+
* It does not rebuild, because an FST rebuild writes to a staging directory
|
|
154
|
+
* and an operator swaps it in after evaluation.
|
|
188
155
|
*/
|
|
189
156
|
export async function warnIfFSTStale(fstPath, locale) {
|
|
190
157
|
const warning = await fstFreshnessWarning({
|
|
191
158
|
fstPath,
|
|
192
|
-
sourceDBPath:
|
|
193
|
-
rebuildCommand: `node packages/mailwoman/out/cli/
|
|
159
|
+
sourceDBPath: wofDatabasePath("admin-global-priority.db"),
|
|
160
|
+
rebuildCommand: `node packages/mailwoman/out/cli/main.js gazetteer build fst --locales ${locale} (writes to a staging dir; swap is operator-conditional)`,
|
|
194
161
|
});
|
|
195
162
|
if (warning) {
|
|
196
163
|
console.error(warning);
|
|
197
164
|
}
|
|
198
165
|
}
|
|
199
166
|
/**
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
* runtime pipeline can auto-wire the gazetteer + street-context check, then run {@link warnIfFSTStale} on the linked
|
|
203
|
-
* artifact. The publish flow stages the real binary (release-sequenced).
|
|
167
|
+
* Symlinks the per-locale FST gazetteer `fst-<locale>.bin` into an overlay
|
|
168
|
+
* and checks it with {@link warnIfFSTStale}.
|
|
204
169
|
*/
|
|
205
170
|
export async function linkLocaleFST(destDir, locale) {
|
|
206
|
-
const source =
|
|
207
|
-
const linked = await linkSoftFeedSibling(source,
|
|
171
|
+
const source = wofDatabasePath("fst-per-locale", `fst-${locale}.bin`);
|
|
172
|
+
const linked = await linkSoftFeedSibling(source, destDir(`fst-${locale}.bin`), "the FST gazetteer default will resolve OFF for this locale.");
|
|
208
173
|
if (linked) {
|
|
209
174
|
await warnIfFSTStale(source, locale);
|
|
210
175
|
}
|
|
211
176
|
}
|
|
212
177
|
/**
|
|
213
|
-
*
|
|
214
|
-
*
|
|
215
|
-
* dev and the street-context check (#1315) deserializes the artifact instead of rebuilding from the libpostal
|
|
216
|
-
* dictionaries per process. Missing is non-fatal — the runtime loader's dictionary-build fallback covers it.
|
|
178
|
+
* Symlinks the prebuilt street-morphology FST into an overlay so that the
|
|
179
|
+
* street-context check does not rebuild it from dictionaries.
|
|
217
180
|
*/
|
|
218
181
|
export async function linkStreetMorphologyFST(destDir) {
|
|
219
|
-
await linkSoftFeedSibling(
|
|
182
|
+
await linkSoftFeedSibling(wofDatabasePath("fst-street-morphology.bin"), destDir("fst-street-morphology.bin"), "the street-context check falls back to the per-process dictionary build.");
|
|
220
183
|
}
|
|
221
|
-
/**
|
|
222
|
-
* Why an existing artifact may be TRUSTED without a rebuild, or `undefined` when it must be rebuilt (with the reason
|
|
223
|
-
* already printed). The skip requires both halves (#1734): the header magnitudes + format (`pairIndexStaleReason`) AND
|
|
224
|
-
* the header's `sourceMD5s` against the current sources' md5s. Magnitudes alone read a source change as "current"
|
|
225
|
-
* whenever pair counts happen not to move the calibrated numbers — the R5 freshness-guard lesson, which resurfaced in
|
|
226
|
-
* the 2026-08-18 admin swap. A source that is not on disk to re-hash leaves the magnitudes as the best available answer
|
|
227
|
-
* (the "missing source, can't build" branch below would fire anyway if a rebuild were needed).
|
|
228
|
-
*/
|
|
229
184
|
async function pairIndexIsFresh(dest, artifact, expected, sources, minimumPlausibleBytes) {
|
|
230
185
|
try {
|
|
231
186
|
const header = await peekPairIndexHeaderFields(dest);
|
|
@@ -271,28 +226,20 @@ async function pairIndexIsFresh(dest, artifact, expected, sources, minimumPlausi
|
|
|
271
226
|
}
|
|
272
227
|
}
|
|
273
228
|
/**
|
|
274
|
-
*
|
|
275
|
-
* these magnitudes
|
|
276
|
-
* staleness expectation and the CLI flags, so a magnitude cannot be checked by the guard and dropped from the build.
|
|
229
|
+
* Builds `pair-index-<country>.bin` into the overlay unless the existing artifact
|
|
230
|
+
* already matches these magnitudes and sources.
|
|
277
231
|
*
|
|
278
|
-
*
|
|
279
|
-
*
|
|
280
|
-
* have run a build yet rather than a real fault.
|
|
232
|
+
* A failed build exits the process.
|
|
233
|
+
* A missing CLI or input only prints a warning, because a fresh clone has neither.
|
|
281
234
|
*/
|
|
282
235
|
export async function buildPairIndexOverlay(overlay) {
|
|
283
236
|
const { packageDir, country, delta, transitionBeta, parentDelta } = overlay;
|
|
284
|
-
const CLI =
|
|
237
|
+
const CLI = workspacePathBuilder("mailwoman", "out", "cli", "main.js");
|
|
285
238
|
const ARTIFACT = `pair-index-${country}.bin`;
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
// already had.
|
|
289
|
-
const PKG_DIR = String(weightsOverlayPath(packageDir.replace(/^neural-weights-/, "")));
|
|
290
|
-
const DEST = resolvePath(PKG_DIR, ARTIFACT);
|
|
239
|
+
const PKG_DIR = weightsOverlayPath(packageDir.replace(/^neural-weights-/, ""));
|
|
240
|
+
const DEST = PKG_DIR(ARTIFACT);
|
|
291
241
|
await makeDirectories(PKG_DIR);
|
|
292
|
-
|
|
293
|
-
* Checked-in WOF-derived admin pairs — the default source, and the whole source list for the small overlays.
|
|
294
|
-
*/
|
|
295
|
-
const WOF_ADMIN_DB = String(dataRootPath("wof", "admin-global-priority.db"));
|
|
242
|
+
const WOF_ADMIN_DB = wofDatabasePath("admin-global-priority.db");
|
|
296
243
|
const sources = overlay.sources ?? [WOF_ADMIN_DB];
|
|
297
244
|
const inputs = overlay.inputs ?? sources;
|
|
298
245
|
const extraArgs = overlay.extraArgs ?? ["--borough-db", WOF_ADMIN_DB];
|
|
@@ -331,16 +278,16 @@ export async function buildPairIndexOverlay(overlay) {
|
|
|
331
278
|
console.log(`built ${ARTIFACT}`);
|
|
332
279
|
}
|
|
333
280
|
/**
|
|
334
|
-
*
|
|
335
|
-
*
|
|
336
|
-
*
|
|
281
|
+
* Returns the committed soft-feed lexicons as links.
|
|
282
|
+
*
|
|
283
|
+
* The filenames come from `release.config.json` so that dev links match the release.
|
|
337
284
|
*/
|
|
338
285
|
export async function committedSoftFeedLinks() {
|
|
339
286
|
const config = await readReleaseConfig();
|
|
340
287
|
const sources = repoCommittedSoftFeedSources(repoRootPath(), config.softFeed ?? {});
|
|
341
288
|
const link = (name, consequenceIfMissing) => {
|
|
342
289
|
const source = sources.get(name);
|
|
343
|
-
return source ? { source, name, consequenceIfMissing } :
|
|
290
|
+
return source ? { source, name, consequenceIfMissing } : null;
|
|
344
291
|
};
|
|
345
292
|
const anchor = link("anchor-lexicon-v1.json", "gazetteer channel will resolve OFF in this worktree.");
|
|
346
293
|
const country = link("country-surface-lexicon-v1.json", "country channel will resolve OFF in this worktree.");
|
|
@@ -348,59 +295,52 @@ export async function committedSoftFeedLinks() {
|
|
|
348
295
|
throw new Error("release.config.json names no softFeed.gazetteerLexicon / softFeed.countryLexicon — the overlays cannot link them.");
|
|
349
296
|
}
|
|
350
297
|
const streetType = link("street-type-lexicon-v3.json", "the street_type channel will resolve OFF in this worktree.");
|
|
351
|
-
return { anchor, country,
|
|
298
|
+
return { anchor, country, streetType };
|
|
352
299
|
}
|
|
353
|
-
/**
|
|
354
|
-
* Where each evidence channel's lexicon is found, by the name the card declares.
|
|
355
|
-
*/
|
|
356
300
|
const EVIDENCE_LEXICON_SOURCES = [
|
|
357
|
-
{ channel: "street_type", source: (name) =>
|
|
358
|
-
{ channel: "locality_surface", source: (name) =>
|
|
301
|
+
{ channel: "street_type", source: (name) => repoRootPathBuilder("data", "gazetteer", name) },
|
|
302
|
+
{ channel: "locality_surface", source: (name) => dataRootPath("gazetteer", name) },
|
|
359
303
|
];
|
|
360
304
|
/**
|
|
361
|
-
*
|
|
305
|
+
* Whether the locale's workspace package declares `mailwoman.baseWeights`.
|
|
362
306
|
*/
|
|
307
|
+
async function declaresBaseWeights(locale) {
|
|
308
|
+
const path = workspacePathBuilder(`neural-weights-${locale}`, "package.json");
|
|
309
|
+
if (!(await pathExists(path)))
|
|
310
|
+
return false;
|
|
311
|
+
const { mailwoman } = await readLocalJSONFile(path);
|
|
312
|
+
return typeof mailwoman?.baseWeights === "string" && mailwoman.baseWeights.length > 0;
|
|
313
|
+
}
|
|
363
314
|
async function readWeightsCard(workspace) {
|
|
364
|
-
const path =
|
|
315
|
+
const path = workspacePathBuilder(workspace, "model-card.json");
|
|
365
316
|
if (!(await pathExists(path)))
|
|
366
|
-
return
|
|
317
|
+
return null;
|
|
367
318
|
return readLocalJSONFile(path);
|
|
368
319
|
}
|
|
369
|
-
/**
|
|
370
|
-
* Link the base model pair from the release recipe and, when a digest card is named, hold the linked default bytes to
|
|
371
|
-
* that card's `files_md5`. The recipe and the card are the two registers a ship bumps in lockstep; a path bumped
|
|
372
|
-
* without the card, or the reverse, fails here rather than after an eval shift graded against the wrong weights.
|
|
373
|
-
*/
|
|
374
|
-
/**
|
|
375
|
-
* A char-path base (#2164): the graph and its sealed vocabulary from `release.config.json`'s `charWeights[family]`, no
|
|
376
|
-
* tokenizer. The dev overlay carries both so `resolveWeights` finds the package whole.
|
|
377
|
-
*/
|
|
378
320
|
async function linkCharModel(destDir, family) {
|
|
379
321
|
const recipe = (await readReleaseConfig()).charWeights?.[family];
|
|
380
322
|
if (!recipe) {
|
|
381
323
|
throw new Error(`release.config.json declares no charWeights.${family} — nothing to link for the ${family} base`);
|
|
382
324
|
}
|
|
383
|
-
const dataRoot =
|
|
325
|
+
const dataRoot = dataRootPath();
|
|
384
326
|
for (const [name, relative] of [
|
|
385
327
|
["model.onnx", recipe.model],
|
|
386
328
|
["char-vocab.json", recipe.charVocab],
|
|
387
329
|
]) {
|
|
388
|
-
const source =
|
|
330
|
+
const source = dataRoot(relative);
|
|
389
331
|
if (!(await pathExists(source))) {
|
|
390
332
|
throw new Error(`missing char-path source ${name} for ${family}: ${source}`);
|
|
391
333
|
}
|
|
392
|
-
await linkForce(source,
|
|
393
|
-
console.log(`linked ${
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
await linkForce(card, resolvePath(destDir, "model-card.json"));
|
|
399
|
-
await removeIfPresent(resolvePath(destDir, "tokenizer.model"));
|
|
334
|
+
await linkForce(source, destDir(name));
|
|
335
|
+
console.log(`linked ${destDir(name)} ← ${source}`);
|
|
336
|
+
}
|
|
337
|
+
const card = workspacePathBuilder(`neural-weights-${family}`, "model-card.json");
|
|
338
|
+
await linkForce(card, destDir("model-card.json"));
|
|
339
|
+
await removeIfPresent(destDir("tokenizer.model"));
|
|
400
340
|
}
|
|
401
341
|
async function linkBaseModelPair(destDir, digestCard) {
|
|
402
342
|
const recipe = await readReleaseConfig();
|
|
403
|
-
const dataRoot =
|
|
343
|
+
const dataRoot = dataRootPath();
|
|
404
344
|
const digests = digestCard ? (await readWeightsCard(digestCard))?.files_md5 : undefined;
|
|
405
345
|
const pair = [
|
|
406
346
|
{ label: "model", name: "model.onnx", override: $public.MAILWOMAN_DEV_MODEL, recipe: recipe.weights.model },
|
|
@@ -412,11 +352,11 @@ async function linkBaseModelPair(destDir, digestCard) {
|
|
|
412
352
|
},
|
|
413
353
|
];
|
|
414
354
|
for (const { label, name, override, recipe: recipePath } of pair) {
|
|
415
|
-
const source = override ||
|
|
355
|
+
const source = override || dataRoot(recipePath);
|
|
416
356
|
if (!(await pathExists(source))) {
|
|
417
357
|
throw new Error(`missing source ${label}: ${source} — set MAILWOMAN_DEV_${label.toUpperCase()} to override`);
|
|
418
358
|
}
|
|
419
|
-
const dest =
|
|
359
|
+
const dest = destDir(name);
|
|
420
360
|
await linkForce(source, dest);
|
|
421
361
|
console.log(`linked ${dest} ← ${source}`);
|
|
422
362
|
if (!digestCard)
|
|
@@ -438,13 +378,9 @@ async function linkBaseModelPair(destDir, digestCard) {
|
|
|
438
378
|
console.log(` ${name} digest ok`);
|
|
439
379
|
}
|
|
440
380
|
}
|
|
441
|
-
/**
|
|
442
|
-
* Build a postcode binary from a WOF postcode extract, skip-if-present. A missing CLI or extract is a warning (the
|
|
443
|
-
* anchor channel resolves OFF for that country); a build that runs and fails is an error.
|
|
444
|
-
*/
|
|
445
381
|
async function buildPostcodeBinary(destDir, cli, { country, database }) {
|
|
446
382
|
const artifact = `postcode-${country.toLowerCase()}.bin`;
|
|
447
|
-
const dest =
|
|
383
|
+
const dest = destDir(artifact);
|
|
448
384
|
if (await pathExists(dest)) {
|
|
449
385
|
console.log(`skipped ${artifact} build — ${dest} already present`);
|
|
450
386
|
return;
|
|
@@ -457,33 +393,43 @@ async function buildPostcodeBinary(destDir, cli, { country, database }) {
|
|
|
457
393
|
console.error(`WARNING: missing ${database} — ${artifact} not built; the anchor channel will resolve OFF for ${country.toUpperCase()}.`);
|
|
458
394
|
return;
|
|
459
395
|
}
|
|
460
|
-
const result = spawnProcessSync(process.execPath, [
|
|
396
|
+
const result = spawnProcessSync(process.execPath, [
|
|
397
|
+
cli,
|
|
398
|
+
"gazetteer",
|
|
399
|
+
"postcode-binary",
|
|
400
|
+
"--out",
|
|
401
|
+
destDir,
|
|
402
|
+
"--locale",
|
|
403
|
+
`${country.toUpperCase()}:${database.toString()}`,
|
|
404
|
+
], { stdio: "inherit" });
|
|
461
405
|
if (result.status !== 0 || !(await pathExists(dest))) {
|
|
462
406
|
throw new Error(`failed to build ${dest} (exit ${result.status})`);
|
|
463
407
|
}
|
|
464
408
|
console.log(`built ${dest}`);
|
|
465
409
|
}
|
|
466
410
|
/**
|
|
467
|
-
*
|
|
468
|
-
* documents, each independent on disk, and the result carries what a locale-specific step needs afterwards.
|
|
411
|
+
* Materializes one locale's dev weights overlay from its manifest.
|
|
469
412
|
*/
|
|
470
413
|
export async function materializeDevOverlay(manifest) {
|
|
471
|
-
const destDir =
|
|
472
|
-
const cli =
|
|
414
|
+
const destDir = weightsOverlayPath(manifest.locale);
|
|
415
|
+
const cli = workspacePathBuilder("mailwoman", "out", "cli", "main.js");
|
|
473
416
|
const card = await readWeightsCard(`neural-weights-${manifest.locale}`);
|
|
474
417
|
await makeDirectories(destDir);
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
418
|
+
// A package that declares `mailwoman.baseWeights` inherits its graph whatever the manifest says,
|
|
419
|
+
// because `resolveWeights` takes the base's graph over a file in the overlay directory.
|
|
420
|
+
const inherits = manifest.model?.kind === "inherit" || (!manifest.model && (await declaresBaseWeights(manifest.locale)));
|
|
421
|
+
if (inherits) {
|
|
422
|
+
await removeIfPresent(destDir("model.onnx"));
|
|
423
|
+
await removeIfPresent(destDir("tokenizer.model"));
|
|
478
424
|
}
|
|
479
425
|
else if (manifest.model?.kind === "link") {
|
|
480
|
-
await linkBaseModelPair(destDir, manifest.model.digestCard);
|
|
426
|
+
await linkBaseModelPair(destDir, manifest.model.digestCard ?? null);
|
|
481
427
|
}
|
|
482
428
|
else if (manifest.model?.kind === "char") {
|
|
483
429
|
await linkCharModel(destDir, manifest.model.family);
|
|
484
430
|
}
|
|
485
431
|
for (const { source, name, consequenceIfMissing } of manifest.softFeed ?? []) {
|
|
486
|
-
await linkSoftFeedSibling(source,
|
|
432
|
+
await linkSoftFeedSibling(source, destDir(name), consequenceIfMissing);
|
|
487
433
|
}
|
|
488
434
|
if (manifest.evidenceLexiconsFromCard) {
|
|
489
435
|
for (const { channel, source } of EVIDENCE_LEXICON_SOURCES) {
|
|
@@ -492,7 +438,7 @@ export async function materializeDevOverlay(manifest) {
|
|
|
492
438
|
console.error(`WARNING: model-card declares no requires.${channel}.lexicon — the ${channel} channel stays OFF.`);
|
|
493
439
|
continue;
|
|
494
440
|
}
|
|
495
|
-
await linkSoftFeedSibling(source(declared),
|
|
441
|
+
await linkSoftFeedSibling(source(declared), destDir(declared), `the ${channel} channel will resolve OFF in this worktree.`);
|
|
496
442
|
}
|
|
497
443
|
}
|
|
498
444
|
if (manifest.postcodeBinary) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weights-overlay-linker.js","sourceRoot":"","sources":["../lib/weights-overlay-linker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"weights-overlay-linker.js","sourceRoot":"","sources":["../lib/weights-overlay-linker.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC5E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAClG,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAChF,OAAO,EACN,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACR,UAAU,EACV,kBAAkB,GAClB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,EAAE,iBAAiB,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAA;AAGhG,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AAExC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,GAAoB,EAAE,IAAqB;IAC1E,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAA;IAEzC,IAAI,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,CAAC,GAAG,CAAC,CAAA;IACtB,CAAC;IAED,MAAM,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAClC,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAiB;IACtD,IAAI,CAAC;QACJ,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACR,OAAM;IACP,CAAC;IAED,MAAM,UAAU,CAAC,IAAI,CAAC,CAAA;IAEtB,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,mCAAmC,CAAC,CAAA;AAC5E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAuB,EACvB,WAAwB,EACxB,oBAA4B;IAE5B,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,oBAAoB,MAAM,MAAM,oBAAoB,EAAE,CAAC,CAAA;QAErE,OAAO,KAAK,CAAA;IACb,CAAC;IAED,MAAM,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;IAEpC,OAAO,CAAC,GAAG,CAAC,UAAU,WAAW,WAAW,MAAM,EAAE,CAAC,CAAA;IAErD,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAA;AAqFxC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,IAAqB;IACpE,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;IAE3E,MAAM,KAAK,GAAG,aAAa,CAAA;IAE3B,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;IAEzC,MAAM,MAAM,GAAG,eAAe,CAM3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IAElE,OAAO;QACN,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE;KACnC,CAAA;AACF,CAAC;AAED,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,qFAAqF;AACrF,+BAA+B;AAC/B;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAAqB;IAC7D,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAA;IAC5C,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAA;IAExC,IAAI,MAAM,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YACJ,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;gBAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;gBAEzE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc;oBAAE,OAAO,IAAI,CAAA;YACxD,CAAC;QACF,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACX,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,IAAI,IAAI,CAAA;IAElD,MAAM,kBAAkB,CAAC,GAAG,IAAI,KAAK,QAAQ,IAAI,EAAE,WAAW,CAAC,CAAA;IAE/D,OAAO,IAAI,CAAA;AACZ,CAAC;AAcD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA6B,EAAE,QAA8B;IACjG,IAAI,MAAM,CAAC,aAAa,KAAK,0BAA0B,EAAE,CAAC;QACzD,OAAO,iBAAiB,MAAM,CAAC,aAAa,MAAM,0BAA0B,EAAE,CAAA;IAC/E,CAAC;IAED,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;QAAE,OAAO,SAAS,MAAM,CAAC,KAAK,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAA;IAEvF,IAAI,MAAM,CAAC,cAAc,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;QACvD,OAAO,kBAAkB,MAAM,CAAC,cAAc,IAAI,UAAU,MAAM,QAAQ,CAAC,cAAc,IAAI,UAAU,EAAE,CAAA;IAC1G,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,eAAe,MAAM,CAAC,WAAW,IAAI,UAAU,MAAM,QAAQ,CAAC,WAAW,IAAI,UAAU,EAAE,CAAA;IACjG,CAAC;IAED,OAAO,IAAI,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAE3C;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,OAAoB,EAAE,MAAc;IACxE,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC;QACzC,OAAO;QACP,YAAY,EAAE,eAAe,CAAC,0BAA0B,CAAC;QACzD,cAAc,EAAE,yEAAyE,MAAM,2DAA2D;KAC1J,CAAC,CAAA;IAEF,IAAI,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACvB,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAoB,EAAE,MAAc;IACvE,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE,OAAO,MAAM,MAAM,CAAC,CAAA;IAErE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACvC,MAAM,EACN,OAAO,CAAC,OAAO,MAAM,MAAM,CAAC,EAC5B,6DAA6D,CAC7D,CAAA;IAED,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACrC,CAAC;AACF,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAoB;IACjE,MAAM,mBAAmB,CACxB,eAAe,CAAC,2BAA2B,CAAC,EAC5C,OAAO,CAAC,2BAA2B,CAAC,EACpC,0EAA0E,CAC1E,CAAA;AACF,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC9B,IAAiB,EACjB,QAAgB,EAChB,QAA8B,EAC9B,OAAsB,EACtB,qBAAyC;IAEzC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAAC,IAAI,CAAC,CAAA;QACpD,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE1D,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,MAAM,WAAW,EAAE,CAAC,CAAA;YAEtD,OAAO,KAAK,CAAA;QACb,CAAC;QAED,IAAI,qBAAqB,KAAK,SAAS,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,qBAAqB,EAAE,CAAC;YAChG,OAAO,CAAC,GAAG,CACV,cAAc,QAAQ,MAAM,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,8BAA8B;gBACrG,wCAAwC,CACzC,CAAA;YAED,OAAO,KAAK,CAAA;QACb,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,YAAY,IAAI,yDAAyD,CAAC,CAAA;YAEzG,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CACV,WAAW,QAAQ,YAAY,IAAI,oCAAoC,MAAM,sCAAsC,CACnH,CAAA;gBAED,OAAO,IAAI,CAAA;YACZ,CAAC;QACF,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CACV,cAAc,QAAQ,qBAAqB,MAAM,CAAC,UAAU,CAAC,MAAM,eAAe;gBACjF,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,2BAA2B,OAAO,CAAC,MAAM,EAAE,CACjG,CAAA;YAED,OAAO,KAAK,CAAA;QACb,CAAC;QAED,MAAM,WAAW,GAAa,EAAE,CAAA;QAEhC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,WAAW,CAAC,IAAI,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAA;QACnD,CAAC;QAED,IAAI,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CACV,WAAW,QAAQ,YAAY,IAAI,iCAAiC,OAAO,CAAC,MAAM,qBAAqB,CACvG,CAAA;YAED,OAAO,IAAI,CAAA;QACZ,CAAC;QAED,OAAO,CAAC,GAAG,CACV,cAAc,QAAQ,0BAA0B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACtH,CAAA;QAED,OAAO,KAAK,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,cAAc,QAAQ,8BAA+B,KAAe,CAAC,OAAO,GAAG,CAAC,CAAA;QAE5F,OAAO,KAAK,CAAA;IACb,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAyB;IACpE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,OAAO,CAAA;IAC3E,MAAM,GAAG,GAAG,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACtE,MAAM,QAAQ,GAAG,cAAc,OAAO,MAAM,CAAA;IAE5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAA;IAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;IAE9B,MAAM,YAAY,GAAG,eAAe,CAAC,0BAA0B,CAAC,CAAA;IAChE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAA;IACxC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;IAErE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CAAC,YAAY,GAAG,4DAA4D,QAAQ,GAAG,CAAC,CAAA;QAErG,OAAM;IACP,CAAC;IAED,IACC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,MAAM,gBAAgB,CACtB,IAAI,EACJ,QAAQ,EACR,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,EACtC,OAAO,EACP,OAAO,CAAC,qBAAqB,CAC7B,CAAC,EACD,CAAC;QACF,OAAM;IACP,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC5B,IAAI,MAAM,UAAU,CAAC,KAAK,CAAC;YAAE,SAAQ;QAErC,OAAO,CAAC,KAAK,CACZ,oBAAoB,KAAK,MAAM,QAAQ,wDAAwD,OAAO,CAAC,WAAW,EAAE,GAAG,CACvH,CAAA;QAED,OAAM;IACP,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAC9B,OAAO,CAAC,QAAQ,EAChB;QACC,GAAG;QACH,WAAW;QACX,YAAY;QACZ,OAAO;QACP,OAAO;QACP,WAAW;QACX,OAAO;QACP,SAAS;QACT,MAAM,CAAC,KAAK,CAAC;QACb,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QACtF,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC7E,GAAG,SAAS;KACZ,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACtD,OAAO,CAAC,KAAK,CAAC,0CAA0C,OAAO,UAAU,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;QAE1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAChB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,EAAE,CAAC,CAAA;AACjC,CAAC;AAWD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAK3C,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,4BAA4B,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IAEnF,MAAM,IAAI,GAAG,CAAC,IAAY,EAAE,oBAA4B,EAAuB,EAAE;QAChF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAEhC,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;IAC9D,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,wBAAwB,EAAE,sDAAsD,CAAC,CAAA;IACrG,MAAM,OAAO,GAAG,IAAI,CAAC,iCAAiC,EAAE,oDAAoD,CAAC,CAAA;IAE7G,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,mHAAmH,CACnH,CAAA;IACF,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,6BAA6B,EAAE,4DAA4D,CAAC,CAAA;IAEpH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;AACvC,CAAC;AA6FD,MAAM,wBAAwB,GAGzB;IACJ,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;IAC5F,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;CAClF,CAAA;AAED;;GAEG;AACH,KAAK,UAAU,mBAAmB,CAAC,MAAc;IAChD,MAAM,IAAI,GAAG,oBAAoB,CAAC,kBAAkB,MAAM,EAAE,EAAE,cAAc,CAAC,CAAA;IAE7E,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,KAAK,CAAA;IAE3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,iBAAiB,CAA4C,IAAI,CAAC,CAAA;IAE9F,OAAO,OAAO,SAAS,EAAE,WAAW,KAAK,QAAQ,IAAI,SAAS,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAA;AACtF,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,IAAI,GAAG,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAA;IAE/D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAA;IAE1C,OAAO,iBAAiB,CAAc,IAAI,CAAC,CAAA;AAC5C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,OAAoB,EAAE,MAAc;IAChE,MAAM,MAAM,GAAG,CAAC,MAAM,iBAAiB,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC,CAAA;IAEhE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,+CAA+C,MAAM,8BAA8B,MAAM,OAAO,CAAC,CAAA;IAClH,CAAC;IAED,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAA;IAE/B,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI;QAC9B,CAAC,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC;QAC5B,CAAC,iBAAiB,EAAE,MAAM,CAAC,SAAS,CAAC;KAC5B,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;QAEjC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,4BAA4B,IAAI,QAAQ,MAAM,KAAK,MAAM,EAAE,CAAC,CAAA;QAC7E,CAAC;QAED,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;QAEtC,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,CAAC,IAAI,CAAC,MAAM,MAAM,EAAE,CAAC,CAAA;IACnD,CAAC;IAED,MAAM,IAAI,GAAG,oBAAoB,CAAC,kBAAkB,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAA;IAEhF,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;IACjD,MAAM,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAClD,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAoB,EAAE,UAAyB;IAC/E,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAA;IAExC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAA;IAC/B,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,eAAe,CAAC,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAEvF,MAAM,IAAI,GAAG;QACZ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE;QAC3G;YACC,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,OAAO,CAAC,uBAAuB;YACzC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,SAAS;SAChC;KACD,CAAA;IAED,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAA;QAE/C,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,KAAK,MAAM,wBAAwB,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QAC7G,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAE1B,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAE7B,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,MAAM,MAAM,EAAE,CAAC,CAAA;QAEzC,IAAI,CAAC,UAAU;YAAE,SAAQ;QAEzB,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,4DAA4D,CAAC,CAAA;YAEtF,SAAQ;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;QAEhC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACd,eAAe,UAAU,+CAA+C,IAAI,+BAA+B,CAC3G,CAAA;QACF,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;QAElC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACd,8BAA8B,KAAK,QAAQ,MAAM,eAAe,QAAQ,KAAK,UAAU,0BAA0B;gBAChH,uFAAuF,KAAK,kBAAkB;gBAC9G,wBAAwB,CACzB,CAAA;QACF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,YAAY,CAAC,CAAA;IACnC,CAAC;AACF,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,OAAoB,EACpB,GAAgB,EAChB,EAAE,OAAO,EAAE,QAAQ,EAA8C;IAEjE,MAAM,QAAQ,GAAG,YAAY,OAAO,CAAC,WAAW,EAAE,MAAM,CAAA;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9B,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,QAAQ,YAAY,IAAI,kBAAkB,CAAC,CAAA;QAElE,OAAM;IACP,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,KAAK,CACZ,YAAY,GAAG,6EAA6E,QAAQ,GAAG,CACvG,CAAA;QAED,OAAM;IACP,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,CACZ,oBAAoB,QAAQ,MAAM,QAAQ,uDAAuD,OAAO,CAAC,WAAW,EAAE,GAAG,CACzH,CAAA;QAED,OAAM;IACP,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAC9B,OAAO,CAAC,QAAQ,EAChB;QACC,GAAG;QACH,WAAW;QACX,iBAAiB;QACjB,OAAO;QACP,OAAO;QACP,UAAU;QACV,GAAG,OAAO,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,EAAE;KACjD,EACD,EAAE,KAAK,EAAE,SAAS,EAAE,CACpB,CAAA;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,UAAU,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IACnE,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,QAA4B;IACvE,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,oBAAoB,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;IACtE,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,kBAAkB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAEvE,MAAM,eAAe,CAAC,OAAO,CAAC,CAAA;IAE9B,iGAAiG;IACjG,wFAAwF;IACxF,MAAM,QAAQ,GACb,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAExG,IAAI,QAAQ,EAAE,CAAC;QACd,MAAM,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;QAC5C,MAAM,eAAe,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAClD,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5C,MAAM,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAA;IACpE,CAAC;SAAM,IAAI,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5C,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,QAAQ,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC9E,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;IACvE,CAAC;IAED,IAAI,QAAQ,CAAC,wBAAwB,EAAE,CAAC;QACvC,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,wBAAwB,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;YAEnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4CAA4C,OAAO,kBAAkB,OAAO,qBAAqB,CAAC,CAAA;gBAEhH,SAAQ;YACT,CAAC;YAED,MAAM,mBAAmB,CACxB,MAAM,CAAC,QAAQ,CAAC,EAChB,OAAO,CAAC,QAAQ,CAAC,EACjB,OAAO,OAAO,6CAA6C,CAC3D,CAAA;QACF,CAAC;IACF,CAAC;IAED,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC7B,MAAM,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAA;IACjE,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,qBAAqB,CAAC,EAAE,UAAU,EAAE,kBAAkB,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAA;IACxG,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxB,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IAED,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAClC,MAAM,uBAAuB,CAAC,OAAO,CAAC,CAAA;IACvC,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAA;AAC9B,CAAC"}
|