@mailwoman/corpus 9.4.0 → 10.1.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 +134 -32
- package/data/PROVENANCE.md +623 -17
- package/data/address-source-register.json +14249 -0
- package/data/builds/v0.7.0-de-holdout/inputs.json +22 -0
- package/data/builds/v0.8.0-registers/inputs.json +92 -0
- package/data/license-decisions.json +1603 -0
- package/data/licenses/PROVENANCE.md +65 -0
- package/data/licenses/cdla-permissive-2.0.md +43 -0
- package/data/licenses/geonames-publication.md +34 -0
- package/data/licenses/licence-ouverte-2.0.md +36 -0
- package/data/licenses/national-address-database.md +46 -0
- package/data/licenses/nlod-2.0.md +90 -0
- package/data/licenses/sirene-publication.md +38 -0
- package/data/licenses/whosonfirst-licenses.md +65 -0
- package/data/source-resolutions.json +804 -0
- package/data/sub-venue-lexicon.json +1 -1
- package/data/training-manifests/v0.7.0-de-holdout.effective.json +477 -0
- package/data/training-manifests/v0.7.0-de-holdout.json +78 -0
- package/lib/adapters/cordis/adapter.ts +785 -0
- package/lib/adapters/dedup-key.ts +40 -0
- package/lib/adapters/errors.ts +21 -0
- package/lib/adapters/geonames/adapter.ts +43 -53
- package/lib/adapters/geonames/postal/adapter.ts +116 -0
- package/lib/adapters/gleif/adapter.ts +828 -0
- package/lib/adapters/libpostal-dictionary.ts +39 -0
- package/lib/adapters/openaddresses/adapter.ts +54 -61
- package/lib/adapters/osm/adapter.ts +356 -0
- package/lib/adapters/overture/adapter.ts +65 -41
- package/lib/adapters/po-box/adapter.ts +202 -0
- package/lib/adapters/registry.ts +79 -0
- package/lib/adapters/sha256-stream.ts +49 -0
- package/lib/adapters/source-id.ts +49 -0
- package/lib/adapters/street-line.ts +135 -0
- package/lib/adapters/wof/admin/json/adapter.ts +254 -0
- package/lib/adapters/wof/json-rows.ts +211 -0
- package/lib/adapters/wof/postalcode-json/adapter.ts +194 -0
- package/lib/adapters.ts +230 -0
- package/lib/au/adapters/gnaf/adapter.ts +144 -0
- package/lib/au/adapters/gnaf/assemble.ts +205 -0
- package/lib/be/adapters/brussels/adapter.ts +566 -0
- package/lib/be/adapters/vlaanderen/adapter.ts +670 -0
- package/lib/be/adapters/wallonie/adapter.ts +537 -0
- package/lib/be/tools/fetch/brussels.ts +239 -0
- package/lib/be/tools/fetch/wallonie.ts +274 -0
- package/lib/build/adapters.ts +110 -0
- package/lib/build/align.ts +364 -0
- package/lib/build/checkpoint.ts +131 -0
- package/lib/build/eligibility.ts +96 -0
- package/lib/build/heap.ts +53 -0
- package/lib/build/inputs.ts +81 -0
- package/lib/build/rows.ts +21 -0
- package/lib/build/types.ts +232 -0
- package/lib/build.ts +127 -315
- package/lib/cn/recipes/organizational-units.ts +178 -0
- package/lib/cz/adapters/cuzk/adapter.ts +317 -0
- package/lib/cz/recipes/pcfirst-preposition.ts +125 -0
- package/lib/cz/tools/fetch/cuzk.ts +699 -0
- package/lib/de/recipes/locale.ts +370 -0
- package/lib/directory.ts +31 -0
- package/lib/dk/adapters/inspire/adapter.ts +345 -0
- package/lib/dk/tools/fetch/inspire.ts +321 -0
- package/lib/ee/adapters/ads/adapter.ts +246 -0
- package/lib/ee/tools/fetch/ads.ts +270 -0
- package/lib/env.ts +6 -2
- package/lib/es/adapters/bizkaia/adapter.ts +388 -0
- package/lib/es/adapters/catastro/adapter.ts +343 -0
- package/lib/es/adapters/gipuzkoa/adapter.ts +263 -0
- package/lib/es/adapters/navarra/adapter.ts +289 -0
- package/lib/es/cadastre.ts +194 -0
- package/lib/es/tools/fetch/bizkaia.ts +748 -0
- package/lib/es/tools/fetch/catastro.ts +754 -0
- package/lib/es/tools/fetch/gipuzkoa.ts +336 -0
- package/lib/es/tools/fetch/navarra.ts +488 -0
- package/lib/fi/adapters/ryhti/adapter.ts +323 -0
- package/lib/fi/tools/fetch/ryhti.ts +476 -0
- package/lib/fingerprints.ts +154 -0
- package/lib/fr/adapters/annuaire-education/adapter.ts +598 -0
- package/lib/fr/adapters/ban/adapter.ts +187 -0
- package/lib/fr/adapters/finess/adapter.ts +618 -0
- package/lib/fr/adapters/finess/postal-lines.ts +157 -0
- package/lib/fr/adapters/finess/voie-type.ts +200 -0
- package/lib/fr/insee-country.ts +62 -0
- package/lib/fr/recipes/admin-split.ts +221 -0
- package/lib/fr/recipes/bare-street.ts +158 -0
- package/lib/fr/recipes/fragment.ts +251 -0
- package/lib/fr/recipes/lieudit.ts +310 -0
- package/lib/fr/recipes/order.ts +219 -0
- package/lib/fr/street-decompose.ts +67 -0
- package/lib/fr/tools/fetch/annuaire-education.ts +306 -0
- package/lib/fr/tools/fetch/ban.ts +298 -0
- package/lib/fr/tools/fetch/finess.ts +352 -0
- package/lib/gauntlet-inputs.ts +92 -0
- package/lib/index.ts +10 -4
- package/lib/inspire/address.ts +457 -0
- package/lib/inspire/archive.ts +44 -0
- package/lib/inspire/errors.ts +71 -0
- package/lib/inspire/stream.ts +262 -0
- package/lib/international/recipes/locale.ts +556 -0
- package/lib/it/adapters/anac/adapter.ts +522 -0
- package/lib/it/tools/fetch/anac.ts +394 -0
- package/lib/jp/adapters/wof-admin/adapter.ts +224 -0
- package/lib/jp/tools/fetch/houjin.ts +139 -0
- package/lib/kr/adapters/juso/label-rows.ts +239 -0
- package/lib/kr/adapters/localdata/align.ts +288 -0
- package/lib/kr/adapters/localdata/key-index.ts +177 -0
- package/lib/kr/adapters/localdata/permit-rows.ts +193 -0
- package/lib/kr/tools/fetch/juso.ts +170 -0
- package/lib/kr/tools/fetch/localdata.ts +205 -0
- package/lib/lu/adapters/bd-adresses/adapter.ts +240 -0
- package/lib/lu/tools/fetch/bd-adresses.ts +351 -0
- package/lib/lv/adapters/varis/adapter.ts +499 -0
- package/lib/lv/tools/fetch/varis.ts +214 -0
- package/lib/nl/adapters/kadaster/adapter.ts +386 -0
- package/lib/nl/recipes/postcode.ts +139 -0
- package/lib/nl/tools/fetch/kadaster.ts +298 -0
- package/lib/no/adapters/matrikkelen/adapter.ts +187 -0
- package/lib/no/recipes/fragment.ts +189 -0
- package/lib/no/recipes/street/led.ts +154 -0
- package/lib/no/recipes/street.ts +109 -0
- package/lib/no/tools/fetch/matrikkelen.ts +519 -0
- package/lib/parquet/duckdb.ts +144 -0
- package/lib/parquet/readers.ts +86 -0
- package/lib/parquet/schema.ts +214 -0
- package/lib/parquet/shuffle.ts +59 -0
- package/lib/parquet/span-sql.ts +54 -0
- package/lib/parquet/streams.ts +113 -0
- package/lib/parquet/writers.ts +451 -0
- package/lib/pl/adapters/emuia/adapter.ts +202 -0
- package/lib/pl/tools/fetch/emuia.ts +360 -0
- package/lib/recipes/anchor-absorption.ts +30 -19
- package/lib/recipes/bare/country.ts +87 -0
- package/lib/recipes/bare/postcode/eval.ts +99 -0
- package/lib/recipes/bare/postcode.ts +346 -0
- package/lib/recipes/boundary-stress.ts +36 -19
- package/lib/recipes/country-balanced.ts +67 -87
- package/lib/recipes/house-venue.ts +31 -13
- package/lib/recipes/intersection.ts +83 -61
- package/lib/recipes/po/box/cedex/au-nz.ts +82 -0
- package/lib/recipes/po/box/cedex/ca.ts +59 -0
- package/lib/recipes/po/box/cedex/fr.ts +77 -0
- package/lib/recipes/po/box/cedex/phrases.ts +109 -0
- package/lib/recipes/po/box/cedex/recipe.ts +215 -0
- package/lib/recipes/po/box/cedex/sources.ts +189 -0
- package/lib/recipes/po/box/cedex/types.ts +35 -0
- package/lib/recipes/po/box/cedex/us.ts +74 -0
- package/lib/recipes/po/box/cedex/vocabulary.ts +106 -0
- package/lib/recipes/po/box/cedex.ts +9 -0
- package/lib/recipes/po/box.ts +149 -0
- package/lib/recipes/scaffold.ts +258 -182
- package/lib/recipes/sources.ts +399 -0
- package/lib/recipes/street/affix.ts +707 -0
- package/lib/recipes/street/bare.ts +115 -0
- package/lib/recipes/street.ts +32 -8
- package/lib/recipes/sub/venue/context.ts +156 -0
- package/lib/recipes/sub/venue/render.ts +170 -0
- package/lib/recipes/sub/venue/sources.ts +588 -0
- package/lib/recipes/sub/venue.ts +801 -0
- package/lib/recipes/trailing-region.ts +70 -81
- package/lib/recipes/unit/sources.ts +44 -0
- package/lib/recipes/unit.ts +102 -90
- package/lib/recipes.ts +106 -0
- package/lib/registers.ts +278 -0
- package/lib/ro/adapters/retea-scolara/adapter.ts +264 -0
- package/lib/ro/tools/fetch/retea-scolara.ts +187 -0
- package/lib/runner.ts +220 -84
- package/lib/sg/recipes/register.ts +264 -0
- package/lib/sg/tools/fetch/acra.ts +174 -0
- package/lib/si/recipes/bare-village.ts +116 -0
- package/lib/sk/adapters/inspire/adapter.ts +395 -0
- package/lib/sk/tools/fetch/inspire.ts +402 -0
- package/lib/source-register/effective-manifest.ts +659 -0
- package/lib/source-register/register.ts +539 -0
- package/lib/source-register/training-manifest.ts +218 -0
- package/lib/source-register/types.ts +590 -0
- package/lib/source-register.ts +71 -0
- package/lib/south-asia/recipes/register.ts +233 -0
- package/lib/subvenue/harvest.ts +251 -0
- package/lib/subvenue/promotions.ts +293 -0
- package/lib/subvenue/surfaces.ts +94 -0
- package/lib/subvenue/table.ts +264 -0
- package/lib/surfaces/locale.ts +246 -0
- package/lib/synthesizers/anchor-absorption.ts +55 -91
- package/lib/synthesizers/boundary-stress.ts +49 -131
- package/lib/synthesizers/house-venue.ts +44 -102
- package/lib/synthesizers/intersection.ts +37 -26
- package/lib/synthesizers/no-street.ts +70 -119
- package/lib/synthesizers/po-box.ts +90 -105
- package/lib/synthesizers/street.ts +47 -35
- package/lib/synthesizers/utils.ts +65 -219
- package/lib/test-kit/corpus-recipe.ts +45 -28
- package/lib/test-kit.ts +116 -0
- package/lib/tools/align-canonical.ts +64 -0
- package/lib/tools/audit.ts +114 -118
- package/lib/tools/corpus-stats.ts +46 -32
- package/lib/tools/fetch/atom.ts +164 -0
- package/lib/tools/fetch/cordis.ts +318 -0
- package/lib/tools/fetch/download/manifest.ts +114 -0
- package/lib/tools/fetch/download/network.ts +250 -0
- package/lib/tools/fetch/download/retry.ts +174 -0
- package/lib/tools/fetch/download.ts +4 -471
- package/lib/tools/fetch/geonames/dump.ts +275 -0
- package/lib/tools/fetch/geonames/postal.ts +145 -0
- package/lib/tools/fetch/gleif.ts +360 -0
- package/lib/tools/fetch/header.ts +69 -0
- package/lib/tools/fetch/inspire-addresses.ts +495 -0
- package/lib/tools/fetch/openaddresses.ts +20 -109
- package/lib/tools/fetch/ourairports.ts +16 -49
- package/lib/tools/fetch/ppd.ts +10 -10
- package/lib/tools/fetch/vlaanderen-ad.ts +435 -0
- package/lib/tools/fetch/wfs-harvest.ts +943 -0
- package/lib/tools/fetch/wikidata-subvenue.ts +43 -143
- package/lib/tools/fetch/zip-archive.ts +100 -0
- package/lib/tools/fetch.ts +143 -0
- package/lib/tools/golden/expand.ts +605 -0
- package/lib/tools/golden/promote.ts +349 -0
- package/lib/tools/golden/relabel-street/directory.ts +367 -0
- package/lib/tools/golden/relabel-street/row.ts +283 -0
- package/lib/tools/golden/relabel-street.ts +9 -0
- package/lib/tools/ingest-csv.ts +45 -50
- package/lib/tools/jsonl-to-parquet.ts +59 -98
- package/lib/tools/lint/recipe-output/vocab.ts +366 -0
- package/lib/tools/lint/recipe-output.ts +482 -0
- package/lib/tools/migrate/overlay-parquet.ts +173 -0
- package/lib/tools/migrate/recipe-output.ts +153 -0
- package/lib/tools/migrate/source-names.ts +161 -0
- package/lib/tools/overlay/kryptonite.ts +144 -0
- package/lib/tools/overlay/manifest.ts +407 -0
- package/lib/tools/overlay/merge-source.ts +138 -0
- package/lib/tools/overlay/split-slice.ts +144 -0
- package/lib/tools/overlay/translit.ts +234 -0
- package/lib/tools/overture-subvenue.ts +18 -91
- package/lib/tools/postcode-triples.ts +362 -167
- package/lib/tools/source-register/build.ts +819 -0
- package/lib/tools/sub/venue/head-nouns.ts +208 -0
- package/lib/tools/sub/venue/lexicon.ts +394 -0
- package/lib/tools/sub/venue/wikidata.ts +88 -0
- package/lib/tools.ts +31 -0
- package/lib/tw/tools/fetch/gcis.ts +181 -0
- package/lib/types.ts +304 -101
- package/lib/us/adapters/fcc-bdc/adapter.ts +158 -0
- package/lib/us/adapters/state/hi-schools/adapter.ts +171 -0
- package/lib/us/adapters/state/hi-schools/workbook.ts +40 -0
- package/lib/us/adapters/state/ia-contractors/adapter.ts +148 -0
- package/lib/us/adapters/state/ny-notaries/adapter.ts +132 -0
- package/lib/us/adapters/state/tx-notaries/adapter.ts +155 -0
- package/lib/us/adapters/tiger/adapter.ts +225 -0
- package/lib/us/adapters/tiger/street-decompose.ts +73 -0
- package/lib/us/adapters/usgov/hrsa-fqhc/adapter.ts +171 -0
- package/lib/us/adapters/usgov/imls-pls/adapter.ts +140 -0
- package/lib/us/adapters/usgov/irs-bmf/adapter.ts +154 -0
- package/lib/us/adapters/usgov/nad/adapter.ts +263 -0
- package/lib/us/adapters/usgov/nppes/adapter.ts +180 -0
- package/lib/us/adapters/usgov/samhsa-treatment-locator/adapter.ts +195 -0
- package/lib/us/fips-state.ts +122 -0
- package/lib/us/tools/fetch/hrsa.ts +58 -0
- package/lib/us/tools/fetch/imls-pls.ts +131 -0
- package/lib/us/tools/fetch/nad.ts +359 -0
- package/lib/us/tools/fetch/nppes.ts +153 -0
- package/lib/us/tools/fetch/state/hi-schools.ts +167 -0
- package/lib/us/tools/fetch/state/sources.ts +146 -0
- package/lib/us/tools/fetch/tiger-full.ts +256 -0
- package/lib/utils/align.ts +43 -53
- package/lib/utils/cooccurrence-stats.ts +101 -0
- package/lib/utils/golden.ts +39 -50
- package/lib/utils/license.ts +238 -26
- package/lib/utils/split.ts +205 -88
- package/lib/utils/tokenize.ts +22 -34
- package/lib/utils/wof-json.ts +134 -87
- package/lib/utils.ts +13 -0
- package/lib/ve/recipes/reviewed-postcode-tail.ts +217 -0
- package/out/adapters/cordis/adapter.d.ts +324 -0
- package/out/adapters/cordis/adapter.d.ts.map +1 -0
- package/out/adapters/cordis/adapter.js +616 -0
- package/out/adapters/cordis/adapter.js.map +1 -0
- package/out/adapters/dedup-key.d.ts +30 -0
- package/out/adapters/dedup-key.d.ts.map +1 -0
- package/out/adapters/dedup-key.js +35 -0
- package/out/adapters/dedup-key.js.map +1 -0
- package/out/adapters/errors.d.ts +17 -0
- package/out/adapters/errors.d.ts.map +1 -0
- package/out/adapters/errors.js +20 -0
- package/out/adapters/errors.js.map +1 -0
- package/out/adapters/geonames/adapter.d.ts +26 -28
- package/out/adapters/geonames/adapter.d.ts.map +1 -1
- package/out/adapters/geonames/adapter.js +40 -50
- package/out/adapters/geonames/adapter.js.map +1 -1
- package/out/adapters/geonames/postal/adapter.d.ts +41 -0
- package/out/adapters/geonames/postal/adapter.d.ts.map +1 -0
- package/out/adapters/geonames/postal/adapter.js +102 -0
- package/out/adapters/geonames/postal/adapter.js.map +1 -0
- package/out/adapters/gleif/adapter.d.ts +293 -0
- package/out/adapters/gleif/adapter.d.ts.map +1 -0
- package/out/adapters/gleif/adapter.js +684 -0
- package/out/adapters/gleif/adapter.js.map +1 -0
- package/out/adapters/libpostal-dictionary.d.ts +22 -0
- package/out/adapters/libpostal-dictionary.d.ts.map +1 -0
- package/out/adapters/libpostal-dictionary.js +36 -0
- package/out/adapters/libpostal-dictionary.js.map +1 -0
- package/out/adapters/openaddresses/adapter.d.ts +28 -43
- package/out/adapters/openaddresses/adapter.d.ts.map +1 -1
- package/out/adapters/openaddresses/adapter.js +37 -51
- package/out/adapters/openaddresses/adapter.js.map +1 -1
- package/out/adapters/osm/adapter.d.ts +101 -0
- package/out/adapters/osm/adapter.d.ts.map +1 -0
- package/out/adapters/osm/adapter.js +260 -0
- package/out/adapters/osm/adapter.js.map +1 -0
- package/out/adapters/overture/adapter.d.ts +14 -30
- package/out/adapters/overture/adapter.d.ts.map +1 -1
- package/out/adapters/overture/adapter.js +57 -41
- package/out/adapters/overture/adapter.js.map +1 -1
- package/out/adapters/po-box/adapter.d.ts +63 -0
- package/out/adapters/po-box/adapter.d.ts.map +1 -0
- package/out/adapters/po-box/adapter.js +139 -0
- package/out/adapters/po-box/adapter.js.map +1 -0
- package/out/adapters/registry.d.ts +55 -0
- package/out/adapters/registry.d.ts.map +1 -0
- package/out/adapters/registry.js +43 -0
- package/out/adapters/registry.js.map +1 -0
- package/out/adapters/sha256-stream.d.ts +26 -0
- package/out/adapters/sha256-stream.d.ts.map +1 -0
- package/out/adapters/sha256-stream.js +34 -0
- package/out/adapters/sha256-stream.js.map +1 -0
- package/out/adapters/source-id.d.ts +33 -0
- package/out/adapters/source-id.d.ts.map +1 -0
- package/out/adapters/source-id.js +42 -0
- package/out/adapters/source-id.js.map +1 -0
- package/out/adapters/street-line.d.ts +102 -0
- package/out/adapters/street-line.d.ts.map +1 -0
- package/out/adapters/street-line.js +117 -0
- package/out/adapters/street-line.js.map +1 -0
- package/out/adapters/wof/admin/json/adapter.d.ts +88 -0
- package/out/adapters/wof/admin/json/adapter.d.ts.map +1 -0
- package/out/adapters/wof/admin/json/adapter.js +220 -0
- package/out/adapters/wof/admin/json/adapter.js.map +1 -0
- package/out/adapters/wof/json-rows.d.ts +89 -0
- package/out/adapters/wof/json-rows.d.ts.map +1 -0
- package/out/adapters/wof/json-rows.js +135 -0
- package/out/adapters/wof/json-rows.js.map +1 -0
- package/out/adapters/wof/postalcode-json/adapter.d.ts +49 -0
- package/out/adapters/wof/postalcode-json/adapter.d.ts.map +1 -0
- package/out/adapters/wof/postalcode-json/adapter.js +165 -0
- package/out/adapters/wof/postalcode-json/adapter.js.map +1 -0
- package/out/adapters.d.ts +75 -0
- package/out/adapters.d.ts.map +1 -0
- package/out/adapters.js +167 -0
- package/out/adapters.js.map +1 -0
- package/out/au/adapters/gnaf/adapter.d.ts +37 -0
- package/out/au/adapters/gnaf/adapter.d.ts.map +1 -0
- package/out/au/adapters/gnaf/adapter.js +119 -0
- package/out/au/adapters/gnaf/adapter.js.map +1 -0
- package/out/au/adapters/gnaf/assemble.d.ts +54 -0
- package/out/au/adapters/gnaf/assemble.d.ts.map +1 -0
- package/out/au/adapters/gnaf/assemble.js +134 -0
- package/out/au/adapters/gnaf/assemble.js.map +1 -0
- package/out/be/adapters/brussels/adapter.d.ts +212 -0
- package/out/be/adapters/brussels/adapter.d.ts.map +1 -0
- package/out/be/adapters/brussels/adapter.js +435 -0
- package/out/be/adapters/brussels/adapter.js.map +1 -0
- package/out/be/adapters/vlaanderen/adapter.d.ts +233 -0
- package/out/be/adapters/vlaanderen/adapter.d.ts.map +1 -0
- package/out/be/adapters/vlaanderen/adapter.js +416 -0
- package/out/be/adapters/vlaanderen/adapter.js.map +1 -0
- package/out/be/adapters/wallonie/adapter.d.ts +196 -0
- package/out/be/adapters/wallonie/adapter.d.ts.map +1 -0
- package/out/be/adapters/wallonie/adapter.js +437 -0
- package/out/be/adapters/wallonie/adapter.js.map +1 -0
- package/out/be/tools/fetch/brussels.d.ts +119 -0
- package/out/be/tools/fetch/brussels.d.ts.map +1 -0
- package/out/be/tools/fetch/brussels.js +146 -0
- package/out/be/tools/fetch/brussels.js.map +1 -0
- package/out/be/tools/fetch/wallonie.d.ts +119 -0
- package/out/be/tools/fetch/wallonie.d.ts.map +1 -0
- package/out/be/tools/fetch/wallonie.js +167 -0
- package/out/be/tools/fetch/wallonie.js.map +1 -0
- package/out/build/adapters.d.ts +33 -0
- package/out/build/adapters.d.ts.map +1 -0
- package/out/build/adapters.js +68 -0
- package/out/build/adapters.js.map +1 -0
- package/out/build/align.d.ts +73 -0
- package/out/build/align.d.ts.map +1 -0
- package/out/build/align.js +226 -0
- package/out/build/align.js.map +1 -0
- package/out/build/checkpoint.d.ts +94 -0
- package/out/build/checkpoint.d.ts.map +1 -0
- package/out/build/checkpoint.js +59 -0
- package/out/build/checkpoint.js.map +1 -0
- package/out/build/eligibility.d.ts +47 -0
- package/out/build/eligibility.d.ts.map +1 -0
- package/out/build/eligibility.js +80 -0
- package/out/build/eligibility.js.map +1 -0
- package/out/build/heap.d.ts +28 -0
- package/out/build/heap.d.ts.map +1 -0
- package/out/build/heap.js +47 -0
- package/out/build/heap.js.map +1 -0
- package/out/build/inputs.d.ts +52 -0
- package/out/build/inputs.d.ts.map +1 -0
- package/out/build/inputs.js +49 -0
- package/out/build/inputs.js.map +1 -0
- package/out/build/rows.d.ts +16 -0
- package/out/build/rows.d.ts.map +1 -0
- package/out/build/rows.js +19 -0
- package/out/build/rows.js.map +1 -0
- package/out/build/types.d.ts +220 -0
- package/out/build/types.d.ts.map +1 -0
- package/out/build/types.js +34 -0
- package/out/build/types.js.map +1 -0
- package/out/build.d.ts +6 -121
- package/out/build.d.ts.map +1 -1
- package/out/build.js +112 -207
- package/out/build.js.map +1 -1
- package/out/cn/recipes/organizational-units.d.ts +19 -0
- package/out/cn/recipes/organizational-units.d.ts.map +1 -0
- package/out/cn/recipes/organizational-units.js +138 -0
- package/out/cn/recipes/organizational-units.js.map +1 -0
- package/out/cz/adapters/cuzk/adapter.d.ts +52 -0
- package/out/cz/adapters/cuzk/adapter.d.ts.map +1 -0
- package/out/cz/adapters/cuzk/adapter.js +266 -0
- package/out/cz/adapters/cuzk/adapter.js.map +1 -0
- package/out/cz/recipes/pcfirst-preposition.d.ts +18 -0
- package/out/cz/recipes/pcfirst-preposition.d.ts.map +1 -0
- package/out/cz/recipes/pcfirst-preposition.js +110 -0
- package/out/cz/recipes/pcfirst-preposition.js.map +1 -0
- package/out/cz/tools/fetch/cuzk.d.ts +272 -0
- package/out/cz/tools/fetch/cuzk.d.ts.map +1 -0
- package/out/cz/tools/fetch/cuzk.js +446 -0
- package/out/cz/tools/fetch/cuzk.js.map +1 -0
- package/out/de/recipes/locale.d.ts +42 -0
- package/out/de/recipes/locale.d.ts.map +1 -0
- package/out/de/recipes/locale.js +299 -0
- package/out/de/recipes/locale.js.map +1 -0
- package/out/directory.d.ts +20 -0
- package/out/directory.d.ts.map +1 -0
- package/out/directory.js +27 -0
- package/out/directory.js.map +1 -0
- package/out/dk/adapters/inspire/adapter.d.ts +154 -0
- package/out/dk/adapters/inspire/adapter.d.ts.map +1 -0
- package/out/dk/adapters/inspire/adapter.js +258 -0
- package/out/dk/adapters/inspire/adapter.js.map +1 -0
- package/out/dk/tools/fetch/inspire.d.ts +100 -0
- package/out/dk/tools/fetch/inspire.d.ts.map +1 -0
- package/out/dk/tools/fetch/inspire.js +230 -0
- package/out/dk/tools/fetch/inspire.js.map +1 -0
- package/out/ee/adapters/ads/adapter.d.ts +109 -0
- package/out/ee/adapters/ads/adapter.d.ts.map +1 -0
- package/out/ee/adapters/ads/adapter.js +191 -0
- package/out/ee/adapters/ads/adapter.js.map +1 -0
- package/out/ee/tools/fetch/ads.d.ts +123 -0
- package/out/ee/tools/fetch/ads.d.ts.map +1 -0
- package/out/ee/tools/fetch/ads.js +195 -0
- package/out/ee/tools/fetch/ads.js.map +1 -0
- package/out/env.d.ts +7 -3
- package/out/env.d.ts.map +1 -1
- package/out/env.js +6 -2
- package/out/env.js.map +1 -1
- package/out/es/adapters/bizkaia/adapter.d.ts +143 -0
- package/out/es/adapters/bizkaia/adapter.d.ts.map +1 -0
- package/out/es/adapters/bizkaia/adapter.js +332 -0
- package/out/es/adapters/bizkaia/adapter.js.map +1 -0
- package/out/es/adapters/catastro/adapter.d.ts +104 -0
- package/out/es/adapters/catastro/adapter.d.ts.map +1 -0
- package/out/es/adapters/catastro/adapter.js +288 -0
- package/out/es/adapters/catastro/adapter.js.map +1 -0
- package/out/es/adapters/gipuzkoa/adapter.d.ts +91 -0
- package/out/es/adapters/gipuzkoa/adapter.d.ts.map +1 -0
- package/out/es/adapters/gipuzkoa/adapter.js +225 -0
- package/out/es/adapters/gipuzkoa/adapter.js.map +1 -0
- package/out/es/adapters/navarra/adapter.d.ts +105 -0
- package/out/es/adapters/navarra/adapter.d.ts.map +1 -0
- package/out/es/adapters/navarra/adapter.js +241 -0
- package/out/es/adapters/navarra/adapter.js.map +1 -0
- package/out/es/cadastre.d.ts +109 -0
- package/out/es/cadastre.d.ts.map +1 -0
- package/out/es/cadastre.js +130 -0
- package/out/es/cadastre.js.map +1 -0
- package/out/es/tools/fetch/bizkaia.d.ts +278 -0
- package/out/es/tools/fetch/bizkaia.d.ts.map +1 -0
- package/out/es/tools/fetch/bizkaia.js +477 -0
- package/out/es/tools/fetch/bizkaia.js.map +1 -0
- package/out/es/tools/fetch/catastro.d.ts +272 -0
- package/out/es/tools/fetch/catastro.d.ts.map +1 -0
- package/out/es/tools/fetch/catastro.js +486 -0
- package/out/es/tools/fetch/catastro.js.map +1 -0
- package/out/es/tools/fetch/gipuzkoa.d.ts +162 -0
- package/out/es/tools/fetch/gipuzkoa.d.ts.map +1 -0
- package/out/es/tools/fetch/gipuzkoa.js +209 -0
- package/out/es/tools/fetch/gipuzkoa.js.map +1 -0
- package/out/es/tools/fetch/navarra.d.ts +189 -0
- package/out/es/tools/fetch/navarra.d.ts.map +1 -0
- package/out/es/tools/fetch/navarra.js +316 -0
- package/out/es/tools/fetch/navarra.js.map +1 -0
- package/out/fi/adapters/ryhti/adapter.d.ts +115 -0
- package/out/fi/adapters/ryhti/adapter.d.ts.map +1 -0
- package/out/fi/adapters/ryhti/adapter.js +244 -0
- package/out/fi/adapters/ryhti/adapter.js.map +1 -0
- package/out/fi/tools/fetch/ryhti.d.ts +206 -0
- package/out/fi/tools/fetch/ryhti.d.ts.map +1 -0
- package/out/fi/tools/fetch/ryhti.js +327 -0
- package/out/fi/tools/fetch/ryhti.js.map +1 -0
- package/out/fingerprints.d.ts +68 -0
- package/out/fingerprints.d.ts.map +1 -0
- package/out/fingerprints.js +130 -0
- package/out/fingerprints.js.map +1 -0
- package/out/fr/adapters/annuaire-education/adapter.d.ts +236 -0
- package/out/fr/adapters/annuaire-education/adapter.d.ts.map +1 -0
- package/out/fr/adapters/annuaire-education/adapter.js +475 -0
- package/out/fr/adapters/annuaire-education/adapter.js.map +1 -0
- package/out/fr/adapters/ban/adapter.d.ts +38 -0
- package/out/fr/adapters/ban/adapter.d.ts.map +1 -0
- package/out/fr/adapters/ban/adapter.js +134 -0
- package/out/fr/adapters/ban/adapter.js.map +1 -0
- package/out/fr/adapters/finess/adapter.d.ts +276 -0
- package/out/fr/adapters/finess/adapter.d.ts.map +1 -0
- package/out/fr/adapters/finess/adapter.js +519 -0
- package/out/fr/adapters/finess/adapter.js.map +1 -0
- package/out/fr/adapters/finess/postal-lines.d.ts +61 -0
- package/out/fr/adapters/finess/postal-lines.d.ts.map +1 -0
- package/out/fr/adapters/finess/postal-lines.js +114 -0
- package/out/fr/adapters/finess/postal-lines.js.map +1 -0
- package/out/fr/adapters/finess/voie-type.d.ts +77 -0
- package/out/fr/adapters/finess/voie-type.d.ts.map +1 -0
- package/out/fr/adapters/finess/voie-type.js +172 -0
- package/out/fr/adapters/finess/voie-type.js.map +1 -0
- package/out/fr/insee-country.d.ts +45 -0
- package/out/fr/insee-country.d.ts.map +1 -0
- package/out/fr/insee-country.js +60 -0
- package/out/fr/insee-country.js.map +1 -0
- package/out/fr/recipes/admin-split.d.ts +15 -0
- package/out/fr/recipes/admin-split.d.ts.map +1 -0
- package/out/fr/recipes/admin-split.js +170 -0
- package/out/fr/recipes/admin-split.js.map +1 -0
- package/out/fr/recipes/bare-street.d.ts +13 -0
- package/out/fr/recipes/bare-street.d.ts.map +1 -0
- package/out/fr/recipes/bare-street.js +129 -0
- package/out/fr/recipes/bare-street.js.map +1 -0
- package/out/fr/recipes/fragment.d.ts +18 -0
- package/out/fr/recipes/fragment.d.ts.map +1 -0
- package/out/fr/recipes/fragment.js +197 -0
- package/out/fr/recipes/fragment.js.map +1 -0
- package/out/fr/recipes/lieudit.d.ts +30 -0
- package/out/fr/recipes/lieudit.d.ts.map +1 -0
- package/out/fr/recipes/lieudit.js +231 -0
- package/out/fr/recipes/lieudit.js.map +1 -0
- package/out/fr/recipes/order.d.ts +15 -0
- package/out/fr/recipes/order.d.ts.map +1 -0
- package/out/fr/recipes/order.js +171 -0
- package/out/fr/recipes/order.js.map +1 -0
- package/out/fr/street-decompose.d.ts +29 -0
- package/out/fr/street-decompose.d.ts.map +1 -0
- package/out/fr/street-decompose.js +52 -0
- package/out/fr/street-decompose.js.map +1 -0
- package/out/fr/tools/fetch/annuaire-education.d.ts +130 -0
- package/out/fr/tools/fetch/annuaire-education.d.ts.map +1 -0
- package/out/fr/tools/fetch/annuaire-education.js +196 -0
- package/out/fr/tools/fetch/annuaire-education.js.map +1 -0
- package/out/fr/tools/fetch/ban.d.ts +33 -0
- package/out/fr/tools/fetch/ban.d.ts.map +1 -0
- package/out/fr/tools/fetch/ban.js +248 -0
- package/out/fr/tools/fetch/ban.js.map +1 -0
- package/out/fr/tools/fetch/finess.d.ts +145 -0
- package/out/fr/tools/fetch/finess.d.ts.map +1 -0
- package/out/fr/tools/fetch/finess.js +228 -0
- package/out/fr/tools/fetch/finess.js.map +1 -0
- package/out/gauntlet-inputs.d.ts +42 -0
- package/out/gauntlet-inputs.d.ts.map +1 -0
- package/out/gauntlet-inputs.js +78 -0
- package/out/gauntlet-inputs.js.map +1 -0
- package/out/index.d.ts +10 -4
- package/out/index.d.ts.map +1 -1
- package/out/index.js +10 -4
- package/out/index.js.map +1 -1
- package/out/inspire/address.d.ts +251 -0
- package/out/inspire/address.d.ts.map +1 -0
- package/out/inspire/address.js +384 -0
- package/out/inspire/address.js.map +1 -0
- package/out/inspire/archive.d.ts +36 -0
- package/out/inspire/archive.d.ts.map +1 -0
- package/out/inspire/archive.js +42 -0
- package/out/inspire/archive.js.map +1 -0
- package/out/inspire/errors.d.ts +55 -0
- package/out/inspire/errors.d.ts.map +1 -0
- package/out/inspire/errors.js +64 -0
- package/out/inspire/errors.js.map +1 -0
- package/out/inspire/stream.d.ts +137 -0
- package/out/inspire/stream.d.ts.map +1 -0
- package/out/inspire/stream.js +125 -0
- package/out/inspire/stream.js.map +1 -0
- package/out/international/recipes/locale.d.ts +90 -0
- package/out/international/recipes/locale.d.ts.map +1 -0
- package/out/international/recipes/locale.js +419 -0
- package/out/international/recipes/locale.js.map +1 -0
- package/out/it/adapters/anac/adapter.d.ts +267 -0
- package/out/it/adapters/anac/adapter.d.ts.map +1 -0
- package/out/it/adapters/anac/adapter.js +429 -0
- package/out/it/adapters/anac/adapter.js.map +1 -0
- package/out/it/tools/fetch/anac.d.ts +174 -0
- package/out/it/tools/fetch/anac.d.ts.map +1 -0
- package/out/it/tools/fetch/anac.js +272 -0
- package/out/it/tools/fetch/anac.js.map +1 -0
- package/out/jp/adapters/wof-admin/adapter.d.ts +68 -0
- package/out/jp/adapters/wof-admin/adapter.d.ts.map +1 -0
- package/out/jp/adapters/wof-admin/adapter.js +172 -0
- package/out/jp/adapters/wof-admin/adapter.js.map +1 -0
- package/out/jp/tools/fetch/houjin.d.ts +27 -0
- package/out/jp/tools/fetch/houjin.d.ts.map +1 -0
- package/out/jp/tools/fetch/houjin.js +106 -0
- package/out/jp/tools/fetch/houjin.js.map +1 -0
- package/out/kr/adapters/juso/label-rows.d.ts +62 -0
- package/out/kr/adapters/juso/label-rows.d.ts.map +1 -0
- package/out/kr/adapters/juso/label-rows.js +172 -0
- package/out/kr/adapters/juso/label-rows.js.map +1 -0
- package/out/kr/adapters/localdata/align.d.ts +31 -0
- package/out/kr/adapters/localdata/align.d.ts.map +1 -0
- package/out/kr/adapters/localdata/align.js +212 -0
- package/out/kr/adapters/localdata/align.js.map +1 -0
- package/out/kr/adapters/localdata/key-index.d.ts +62 -0
- package/out/kr/adapters/localdata/key-index.d.ts.map +1 -0
- package/out/kr/adapters/localdata/key-index.js +127 -0
- package/out/kr/adapters/localdata/key-index.js.map +1 -0
- package/out/kr/adapters/localdata/permit-rows.d.ts +73 -0
- package/out/kr/adapters/localdata/permit-rows.d.ts.map +1 -0
- package/out/kr/adapters/localdata/permit-rows.js +136 -0
- package/out/kr/adapters/localdata/permit-rows.js.map +1 -0
- package/out/kr/tools/fetch/juso.d.ts +33 -0
- package/out/kr/tools/fetch/juso.d.ts.map +1 -0
- package/out/kr/tools/fetch/juso.js +121 -0
- package/out/kr/tools/fetch/juso.js.map +1 -0
- package/out/kr/tools/fetch/localdata.d.ts +37 -0
- package/out/kr/tools/fetch/localdata.d.ts.map +1 -0
- package/out/kr/tools/fetch/localdata.js +147 -0
- package/out/kr/tools/fetch/localdata.js.map +1 -0
- package/out/lu/adapters/bd-adresses/adapter.d.ts +109 -0
- package/out/lu/adapters/bd-adresses/adapter.d.ts.map +1 -0
- package/out/lu/adapters/bd-adresses/adapter.js +196 -0
- package/out/lu/adapters/bd-adresses/adapter.js.map +1 -0
- package/out/lu/tools/fetch/bd-adresses.d.ts +163 -0
- package/out/lu/tools/fetch/bd-adresses.d.ts.map +1 -0
- package/out/lu/tools/fetch/bd-adresses.js +223 -0
- package/out/lu/tools/fetch/bd-adresses.js.map +1 -0
- package/out/lv/adapters/varis/adapter.d.ts +283 -0
- package/out/lv/adapters/varis/adapter.d.ts.map +1 -0
- package/out/lv/adapters/varis/adapter.js +404 -0
- package/out/lv/adapters/varis/adapter.js.map +1 -0
- package/out/lv/tools/fetch/varis.d.ts +80 -0
- package/out/lv/tools/fetch/varis.d.ts.map +1 -0
- package/out/lv/tools/fetch/varis.js +133 -0
- package/out/lv/tools/fetch/varis.js.map +1 -0
- package/out/nl/adapters/kadaster/adapter.d.ts +125 -0
- package/out/nl/adapters/kadaster/adapter.d.ts.map +1 -0
- package/out/nl/adapters/kadaster/adapter.js +310 -0
- package/out/nl/adapters/kadaster/adapter.js.map +1 -0
- package/out/nl/recipes/postcode.d.ts +24 -0
- package/out/nl/recipes/postcode.d.ts.map +1 -0
- package/out/nl/recipes/postcode.js +121 -0
- package/out/nl/recipes/postcode.js.map +1 -0
- package/out/nl/tools/fetch/kadaster.d.ts +155 -0
- package/out/nl/tools/fetch/kadaster.d.ts.map +1 -0
- package/out/nl/tools/fetch/kadaster.js +179 -0
- package/out/nl/tools/fetch/kadaster.js.map +1 -0
- package/out/no/adapters/matrikkelen/adapter.d.ts +44 -0
- package/out/no/adapters/matrikkelen/adapter.d.ts.map +1 -0
- package/out/no/adapters/matrikkelen/adapter.js +143 -0
- package/out/no/adapters/matrikkelen/adapter.js.map +1 -0
- package/out/no/recipes/fragment.d.ts +11 -0
- package/out/no/recipes/fragment.d.ts.map +1 -0
- package/out/no/recipes/fragment.js +149 -0
- package/out/no/recipes/fragment.js.map +1 -0
- package/out/no/recipes/street/led.d.ts +21 -0
- package/out/no/recipes/street/led.d.ts.map +1 -0
- package/out/no/recipes/street/led.js +124 -0
- package/out/no/recipes/street/led.js.map +1 -0
- package/out/no/recipes/street.d.ts +19 -0
- package/out/no/recipes/street.d.ts.map +1 -0
- package/out/no/recipes/street.js +88 -0
- package/out/no/recipes/street.js.map +1 -0
- package/out/no/tools/fetch/matrikkelen.d.ts +251 -0
- package/out/no/tools/fetch/matrikkelen.d.ts.map +1 -0
- package/out/no/tools/fetch/matrikkelen.js +345 -0
- package/out/no/tools/fetch/matrikkelen.js.map +1 -0
- package/out/parquet/duckdb.d.ts +100 -0
- package/out/parquet/duckdb.d.ts.map +1 -0
- package/out/parquet/duckdb.js +92 -0
- package/out/parquet/duckdb.js.map +1 -0
- package/out/parquet/readers.d.ts +44 -0
- package/out/parquet/readers.d.ts.map +1 -0
- package/out/parquet/readers.js +69 -0
- package/out/parquet/readers.js.map +1 -0
- package/out/parquet/schema.d.ts +95 -0
- package/out/parquet/schema.d.ts.map +1 -0
- package/out/parquet/schema.js +157 -0
- package/out/parquet/schema.js.map +1 -0
- package/out/parquet/shuffle.d.ts +25 -0
- package/out/parquet/shuffle.d.ts.map +1 -0
- package/out/parquet/shuffle.js +44 -0
- package/out/parquet/shuffle.js.map +1 -0
- package/out/parquet/span-sql.d.ts +49 -0
- package/out/parquet/span-sql.d.ts.map +1 -0
- package/out/parquet/span-sql.js +53 -0
- package/out/parquet/span-sql.js.map +1 -0
- package/out/parquet/streams.d.ts +47 -0
- package/out/parquet/streams.d.ts.map +1 -0
- package/out/parquet/streams.js +78 -0
- package/out/parquet/streams.js.map +1 -0
- package/out/parquet/writers.d.ts +124 -0
- package/out/parquet/writers.d.ts.map +1 -0
- package/out/parquet/writers.js +251 -0
- package/out/parquet/writers.js.map +1 -0
- package/out/pl/adapters/emuia/adapter.d.ts +81 -0
- package/out/pl/adapters/emuia/adapter.d.ts.map +1 -0
- package/out/pl/adapters/emuia/adapter.js +178 -0
- package/out/pl/adapters/emuia/adapter.js.map +1 -0
- package/out/pl/tools/fetch/emuia.d.ts +165 -0
- package/out/pl/tools/fetch/emuia.d.ts.map +1 -0
- package/out/pl/tools/fetch/emuia.js +260 -0
- package/out/pl/tools/fetch/emuia.js.map +1 -0
- package/out/recipes/anchor-absorption.d.ts +9 -9
- package/out/recipes/anchor-absorption.d.ts.map +1 -1
- package/out/recipes/anchor-absorption.js +29 -19
- package/out/recipes/anchor-absorption.js.map +1 -1
- package/out/recipes/bare/country.d.ts +7 -0
- package/out/recipes/bare/country.d.ts.map +1 -0
- package/out/recipes/bare/country.js +77 -0
- package/out/recipes/bare/country.js.map +1 -0
- package/out/recipes/bare/postcode/eval.d.ts +29 -0
- package/out/recipes/bare/postcode/eval.d.ts.map +1 -0
- package/out/recipes/bare/postcode/eval.js +85 -0
- package/out/recipes/bare/postcode/eval.js.map +1 -0
- package/out/recipes/bare/postcode.d.ts +41 -0
- package/out/recipes/bare/postcode.d.ts.map +1 -0
- package/out/recipes/bare/postcode.js +279 -0
- package/out/recipes/bare/postcode.js.map +1 -0
- package/out/recipes/boundary-stress.d.ts +8 -8
- package/out/recipes/boundary-stress.d.ts.map +1 -1
- package/out/recipes/boundary-stress.js +36 -19
- package/out/recipes/boundary-stress.js.map +1 -1
- package/out/recipes/country-balanced.d.ts +3 -21
- package/out/recipes/country-balanced.d.ts.map +1 -1
- package/out/recipes/country-balanced.js +58 -76
- package/out/recipes/country-balanced.js.map +1 -1
- package/out/recipes/house-venue.d.ts +8 -6
- package/out/recipes/house-venue.d.ts.map +1 -1
- package/out/recipes/house-venue.js +29 -13
- package/out/recipes/house-venue.js.map +1 -1
- package/out/recipes/intersection.d.ts +20 -20
- package/out/recipes/intersection.d.ts.map +1 -1
- package/out/recipes/intersection.js +65 -53
- package/out/recipes/intersection.js.map +1 -1
- package/out/recipes/po/box/cedex/au-nz.d.ts +7 -0
- package/out/recipes/po/box/cedex/au-nz.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/au-nz.js +56 -0
- package/out/recipes/po/box/cedex/au-nz.js.map +1 -0
- package/out/recipes/po/box/cedex/ca.d.ts +7 -0
- package/out/recipes/po/box/cedex/ca.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/ca.js +38 -0
- package/out/recipes/po/box/cedex/ca.js.map +1 -0
- package/out/recipes/po/box/cedex/fr.d.ts +7 -0
- package/out/recipes/po/box/cedex/fr.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/fr.js +57 -0
- package/out/recipes/po/box/cedex/fr.js.map +1 -0
- package/out/recipes/po/box/cedex/phrases.d.ts +8 -0
- package/out/recipes/po/box/cedex/phrases.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/phrases.js +77 -0
- package/out/recipes/po/box/cedex/phrases.js.map +1 -0
- package/out/recipes/po/box/cedex/recipe.d.ts +9 -0
- package/out/recipes/po/box/cedex/recipe.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/recipe.js +163 -0
- package/out/recipes/po/box/cedex/recipe.js.map +1 -0
- package/out/recipes/po/box/cedex/sources.d.ts +86 -0
- package/out/recipes/po/box/cedex/sources.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/sources.js +143 -0
- package/out/recipes/po/box/cedex/sources.js.map +1 -0
- package/out/recipes/po/box/cedex/types.d.ts +31 -0
- package/out/recipes/po/box/cedex/types.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/types.js +5 -0
- package/out/recipes/po/box/cedex/types.js.map +1 -0
- package/out/recipes/po/box/cedex/us.d.ts +7 -0
- package/out/recipes/po/box/cedex/us.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/us.js +54 -0
- package/out/recipes/po/box/cedex/us.js.map +1 -0
- package/out/recipes/po/box/cedex/vocabulary.d.ts +68 -0
- package/out/recipes/po/box/cedex/vocabulary.d.ts.map +1 -0
- package/out/recipes/po/box/cedex/vocabulary.js +90 -0
- package/out/recipes/po/box/cedex/vocabulary.js.map +1 -0
- package/out/recipes/po/box/cedex.d.ts +9 -0
- package/out/recipes/po/box/cedex.d.ts.map +1 -0
- package/out/recipes/po/box/cedex.js +9 -0
- package/out/recipes/po/box/cedex.js.map +1 -0
- package/out/recipes/po/box.d.ts +18 -0
- package/out/recipes/po/box.d.ts.map +1 -0
- package/out/recipes/po/box.js +123 -0
- package/out/recipes/po/box.js.map +1 -0
- package/out/recipes/scaffold.d.ts +214 -121
- package/out/recipes/scaffold.d.ts.map +1 -1
- package/out/recipes/scaffold.js +78 -88
- package/out/recipes/scaffold.js.map +1 -1
- package/out/recipes/sources.d.ts +178 -0
- package/out/recipes/sources.d.ts.map +1 -0
- package/out/recipes/sources.js +348 -0
- package/out/recipes/sources.js.map +1 -0
- package/out/recipes/street/affix.d.ts +59 -0
- package/out/recipes/street/affix.d.ts.map +1 -0
- package/out/recipes/street/affix.js +477 -0
- package/out/recipes/street/affix.js.map +1 -0
- package/out/recipes/street/bare.d.ts +27 -0
- package/out/recipes/street/bare.d.ts.map +1 -0
- package/out/recipes/street/bare.js +98 -0
- package/out/recipes/street/bare.js.map +1 -0
- package/out/recipes/street.d.ts +6 -4
- package/out/recipes/street.d.ts.map +1 -1
- package/out/recipes/street.js +29 -8
- package/out/recipes/street.js.map +1 -1
- package/out/recipes/sub/venue/context.d.ts +32 -0
- package/out/recipes/sub/venue/context.d.ts.map +1 -0
- package/out/recipes/sub/venue/context.js +110 -0
- package/out/recipes/sub/venue/context.js.map +1 -0
- package/out/recipes/sub/venue/render.d.ts +58 -0
- package/out/recipes/sub/venue/render.d.ts.map +1 -0
- package/out/recipes/sub/venue/render.js +118 -0
- package/out/recipes/sub/venue/render.js.map +1 -0
- package/out/recipes/sub/venue/sources.d.ts +166 -0
- package/out/recipes/sub/venue/sources.d.ts.map +1 -0
- package/out/recipes/sub/venue/sources.js +419 -0
- package/out/recipes/sub/venue/sources.js.map +1 -0
- package/out/recipes/sub/venue.d.ts +176 -0
- package/out/recipes/sub/venue.d.ts.map +1 -0
- package/out/recipes/sub/venue.js +562 -0
- package/out/recipes/sub/venue.js.map +1 -0
- package/out/recipes/trailing-region.d.ts +9 -61
- package/out/recipes/trailing-region.d.ts.map +1 -1
- package/out/recipes/trailing-region.js +56 -81
- package/out/recipes/trailing-region.js.map +1 -1
- package/out/recipes/unit/sources.d.ts +28 -0
- package/out/recipes/unit/sources.d.ts.map +1 -0
- package/out/recipes/unit/sources.js +30 -0
- package/out/recipes/unit/sources.js.map +1 -0
- package/out/recipes/unit.d.ts +30 -17
- package/out/recipes/unit.d.ts.map +1 -1
- package/out/recipes/unit.js +90 -79
- package/out/recipes/unit.js.map +1 -1
- package/out/recipes.d.ts +26 -0
- package/out/recipes.d.ts.map +1 -0
- package/out/recipes.js +100 -0
- package/out/recipes.js.map +1 -0
- package/out/registers.d.ts +277 -0
- package/out/registers.d.ts.map +1 -0
- package/out/registers.js +273 -0
- package/out/registers.js.map +1 -0
- package/out/ro/adapters/retea-scolara/adapter.d.ts +114 -0
- package/out/ro/adapters/retea-scolara/adapter.d.ts.map +1 -0
- package/out/ro/adapters/retea-scolara/adapter.js +209 -0
- package/out/ro/adapters/retea-scolara/adapter.js.map +1 -0
- package/out/ro/tools/fetch/retea-scolara.d.ts +69 -0
- package/out/ro/tools/fetch/retea-scolara.d.ts.map +1 -0
- package/out/ro/tools/fetch/retea-scolara.js +117 -0
- package/out/ro/tools/fetch/retea-scolara.js.map +1 -0
- package/out/runner.d.ts +120 -60
- package/out/runner.d.ts.map +1 -1
- package/out/runner.js +130 -56
- package/out/runner.js.map +1 -1
- package/out/sg/recipes/register.d.ts +55 -0
- package/out/sg/recipes/register.d.ts.map +1 -0
- package/out/sg/recipes/register.js +206 -0
- package/out/sg/recipes/register.js.map +1 -0
- package/out/sg/tools/fetch/acra.d.ts +20 -0
- package/out/sg/tools/fetch/acra.d.ts.map +1 -0
- package/out/sg/tools/fetch/acra.js +123 -0
- package/out/sg/tools/fetch/acra.js.map +1 -0
- package/out/si/recipes/bare-village.d.ts +31 -0
- package/out/si/recipes/bare-village.d.ts.map +1 -0
- package/out/si/recipes/bare-village.js +103 -0
- package/out/si/recipes/bare-village.js.map +1 -0
- package/out/sk/adapters/inspire/adapter.d.ts +119 -0
- package/out/sk/adapters/inspire/adapter.d.ts.map +1 -0
- package/out/sk/adapters/inspire/adapter.js +318 -0
- package/out/sk/adapters/inspire/adapter.js.map +1 -0
- package/out/sk/tools/fetch/inspire.d.ts +195 -0
- package/out/sk/tools/fetch/inspire.d.ts.map +1 -0
- package/out/sk/tools/fetch/inspire.js +280 -0
- package/out/sk/tools/fetch/inspire.js.map +1 -0
- package/out/source-register/effective-manifest.d.ts +355 -0
- package/out/source-register/effective-manifest.d.ts.map +1 -0
- package/out/source-register/effective-manifest.js +355 -0
- package/out/source-register/effective-manifest.js.map +1 -0
- package/out/source-register/register.d.ts +79 -0
- package/out/source-register/register.d.ts.map +1 -0
- package/out/source-register/register.js +400 -0
- package/out/source-register/register.js.map +1 -0
- package/out/source-register/training-manifest.d.ts +111 -0
- package/out/source-register/training-manifest.d.ts.map +1 -0
- package/out/source-register/training-manifest.js +120 -0
- package/out/source-register/training-manifest.js.map +1 -0
- package/out/source-register/types.d.ts +539 -0
- package/out/source-register/types.d.ts.map +1 -0
- package/out/source-register/types.js +263 -0
- package/out/source-register/types.js.map +1 -0
- package/out/source-register.d.ts +19 -0
- package/out/source-register.d.ts.map +1 -0
- package/out/source-register.js +16 -0
- package/out/source-register.js.map +1 -0
- package/out/south-asia/recipes/register.d.ts +54 -0
- package/out/south-asia/recipes/register.d.ts.map +1 -0
- package/out/south-asia/recipes/register.js +174 -0
- package/out/south-asia/recipes/register.js.map +1 -0
- package/out/subvenue/harvest.d.ts +117 -0
- package/out/subvenue/harvest.d.ts.map +1 -0
- package/out/subvenue/harvest.js +172 -0
- package/out/subvenue/harvest.js.map +1 -0
- package/out/subvenue/promotions.d.ts +65 -0
- package/out/subvenue/promotions.d.ts.map +1 -0
- package/out/subvenue/promotions.js +226 -0
- package/out/subvenue/promotions.js.map +1 -0
- package/out/subvenue/surfaces.d.ts +39 -0
- package/out/subvenue/surfaces.d.ts.map +1 -0
- package/out/subvenue/surfaces.js +75 -0
- package/out/subvenue/surfaces.js.map +1 -0
- package/out/subvenue/table.d.ts +212 -0
- package/out/subvenue/table.d.ts.map +1 -0
- package/out/subvenue/table.js +94 -0
- package/out/subvenue/table.js.map +1 -0
- package/out/surfaces/locale.d.ts +113 -0
- package/out/surfaces/locale.d.ts.map +1 -0
- package/out/surfaces/locale.js +136 -0
- package/out/surfaces/locale.js.map +1 -0
- package/out/synthesizers/anchor-absorption.d.ts +22 -31
- package/out/synthesizers/anchor-absorption.d.ts.map +1 -1
- package/out/synthesizers/anchor-absorption.js +30 -85
- package/out/synthesizers/anchor-absorption.js.map +1 -1
- package/out/synthesizers/boundary-stress.d.ts +17 -48
- package/out/synthesizers/boundary-stress.d.ts.map +1 -1
- package/out/synthesizers/boundary-stress.js +27 -121
- package/out/synthesizers/boundary-stress.js.map +1 -1
- package/out/synthesizers/house-venue.d.ts +22 -25
- package/out/synthesizers/house-venue.d.ts.map +1 -1
- package/out/synthesizers/house-venue.js +28 -97
- package/out/synthesizers/house-venue.js.map +1 -1
- package/out/synthesizers/intersection.d.ts +10 -8
- package/out/synthesizers/intersection.d.ts.map +1 -1
- package/out/synthesizers/intersection.js +33 -26
- package/out/synthesizers/intersection.js.map +1 -1
- package/out/synthesizers/no-street.d.ts +7 -37
- package/out/synthesizers/no-street.d.ts.map +1 -1
- package/out/synthesizers/no-street.js +55 -111
- package/out/synthesizers/no-street.js.map +1 -1
- package/out/synthesizers/po-box.d.ts +46 -45
- package/out/synthesizers/po-box.d.ts.map +1 -1
- package/out/synthesizers/po-box.js +57 -97
- package/out/synthesizers/po-box.js.map +1 -1
- package/out/synthesizers/street.d.ts +18 -12
- package/out/synthesizers/street.d.ts.map +1 -1
- package/out/synthesizers/street.js +37 -30
- package/out/synthesizers/street.js.map +1 -1
- package/out/synthesizers/utils.d.ts +32 -129
- package/out/synthesizers/utils.d.ts.map +1 -1
- package/out/synthesizers/utils.js +54 -166
- package/out/synthesizers/utils.js.map +1 -1
- package/out/test-kit/corpus-recipe.d.ts +29 -23
- package/out/test-kit/corpus-recipe.d.ts.map +1 -1
- package/out/test-kit/corpus-recipe.js +28 -13
- package/out/test-kit/corpus-recipe.js.map +1 -1
- package/out/test-kit.d.ts +63 -0
- package/out/test-kit.d.ts.map +1 -0
- package/out/test-kit.js +88 -0
- package/out/test-kit.js.map +1 -0
- package/out/tools/align-canonical.d.ts +7 -0
- package/out/tools/align-canonical.d.ts.map +1 -0
- package/out/tools/align-canonical.js +52 -0
- package/out/tools/align-canonical.js.map +1 -0
- package/out/tools/audit.d.ts +18 -11
- package/out/tools/audit.d.ts.map +1 -1
- package/out/tools/audit.js +87 -95
- package/out/tools/audit.js.map +1 -1
- package/out/tools/corpus-stats.d.ts +24 -15
- package/out/tools/corpus-stats.d.ts.map +1 -1
- package/out/tools/corpus-stats.js +35 -31
- package/out/tools/corpus-stats.js.map +1 -1
- package/out/tools/fetch/atom.d.ts +115 -0
- package/out/tools/fetch/atom.d.ts.map +1 -0
- package/out/tools/fetch/atom.js +84 -0
- package/out/tools/fetch/atom.js.map +1 -0
- package/out/tools/fetch/cordis.d.ts +123 -0
- package/out/tools/fetch/cordis.d.ts.map +1 -0
- package/out/tools/fetch/cordis.js +208 -0
- package/out/tools/fetch/cordis.js.map +1 -0
- package/out/tools/fetch/download/manifest.d.ts +56 -0
- package/out/tools/fetch/download/manifest.d.ts.map +1 -0
- package/out/tools/fetch/download/manifest.js +81 -0
- package/out/tools/fetch/download/manifest.js.map +1 -0
- package/out/tools/fetch/download/network.d.ts +126 -0
- package/out/tools/fetch/download/network.d.ts.map +1 -0
- package/out/tools/fetch/download/network.js +140 -0
- package/out/tools/fetch/download/network.js.map +1 -0
- package/out/tools/fetch/download/retry.d.ts +46 -0
- package/out/tools/fetch/download/retry.d.ts.map +1 -0
- package/out/tools/fetch/download/retry.js +136 -0
- package/out/tools/fetch/download/retry.js.map +1 -0
- package/out/tools/fetch/download.d.ts +4 -176
- package/out/tools/fetch/download.d.ts.map +1 -1
- package/out/tools/fetch/download.js +4 -312
- package/out/tools/fetch/download.js.map +1 -1
- package/out/tools/fetch/geonames/dump.d.ts +109 -0
- package/out/tools/fetch/geonames/dump.d.ts.map +1 -0
- package/out/tools/fetch/geonames/dump.js +181 -0
- package/out/tools/fetch/geonames/dump.js.map +1 -0
- package/out/tools/fetch/geonames/postal.d.ts +41 -0
- package/out/tools/fetch/geonames/postal.d.ts.map +1 -0
- package/out/tools/fetch/geonames/postal.js +87 -0
- package/out/tools/fetch/geonames/postal.js.map +1 -0
- package/out/tools/fetch/gleif.d.ts +137 -0
- package/out/tools/fetch/gleif.d.ts.map +1 -0
- package/out/tools/fetch/gleif.js +220 -0
- package/out/tools/fetch/gleif.js.map +1 -0
- package/out/tools/fetch/header.d.ts +41 -0
- package/out/tools/fetch/header.d.ts.map +1 -0
- package/out/tools/fetch/header.js +59 -0
- package/out/tools/fetch/header.js.map +1 -0
- package/out/tools/fetch/inspire-addresses.d.ts +249 -0
- package/out/tools/fetch/inspire-addresses.d.ts.map +1 -0
- package/out/tools/fetch/inspire-addresses.js +276 -0
- package/out/tools/fetch/inspire-addresses.js.map +1 -0
- package/out/tools/fetch/openaddresses.d.ts +0 -3
- package/out/tools/fetch/openaddresses.d.ts.map +1 -1
- package/out/tools/fetch/openaddresses.js +18 -97
- package/out/tools/fetch/openaddresses.js.map +1 -1
- package/out/tools/fetch/ourairports.d.ts +5 -32
- package/out/tools/fetch/ourairports.d.ts.map +1 -1
- package/out/tools/fetch/ourairports.js +13 -46
- package/out/tools/fetch/ourairports.js.map +1 -1
- package/out/tools/fetch/ppd.d.ts +4 -3
- package/out/tools/fetch/ppd.d.ts.map +1 -1
- package/out/tools/fetch/ppd.js +10 -9
- package/out/tools/fetch/ppd.js.map +1 -1
- package/out/tools/fetch/vlaanderen-ad.d.ts +131 -0
- package/out/tools/fetch/vlaanderen-ad.d.ts.map +1 -0
- package/out/tools/fetch/vlaanderen-ad.js +293 -0
- package/out/tools/fetch/vlaanderen-ad.js.map +1 -0
- package/out/tools/fetch/wfs-harvest.d.ts +410 -0
- package/out/tools/fetch/wfs-harvest.d.ts.map +1 -0
- package/out/tools/fetch/wfs-harvest.js +522 -0
- package/out/tools/fetch/wfs-harvest.js.map +1 -0
- package/out/tools/fetch/wikidata-subvenue.d.ts +31 -99
- package/out/tools/fetch/wikidata-subvenue.d.ts.map +1 -1
- package/out/tools/fetch/wikidata-subvenue.js +26 -121
- package/out/tools/fetch/wikidata-subvenue.js.map +1 -1
- package/out/tools/fetch/zip-archive.d.ts +54 -0
- package/out/tools/fetch/zip-archive.d.ts.map +1 -0
- package/out/tools/fetch/zip-archive.js +58 -0
- package/out/tools/fetch/zip-archive.js.map +1 -0
- package/out/tools/fetch.d.ts +140 -0
- package/out/tools/fetch.d.ts.map +1 -0
- package/out/tools/fetch.js +136 -0
- package/out/tools/fetch.js.map +1 -0
- package/out/tools/golden/expand.d.ts +105 -0
- package/out/tools/golden/expand.d.ts.map +1 -0
- package/out/tools/golden/expand.js +420 -0
- package/out/tools/golden/expand.js.map +1 -0
- package/out/tools/golden/promote.d.ts +77 -0
- package/out/tools/golden/promote.d.ts.map +1 -0
- package/out/tools/golden/promote.js +248 -0
- package/out/tools/golden/promote.js.map +1 -0
- package/out/tools/golden/relabel-street/directory.d.ts +98 -0
- package/out/tools/golden/relabel-street/directory.d.ts.map +1 -0
- package/out/tools/golden/relabel-street/directory.js +227 -0
- package/out/tools/golden/relabel-street/directory.js.map +1 -0
- package/out/tools/golden/relabel-street/row.d.ts +69 -0
- package/out/tools/golden/relabel-street/row.d.ts.map +1 -0
- package/out/tools/golden/relabel-street/row.js +174 -0
- package/out/tools/golden/relabel-street/row.js.map +1 -0
- package/out/tools/golden/relabel-street.d.ts +9 -0
- package/out/tools/golden/relabel-street.d.ts.map +1 -0
- package/out/tools/golden/relabel-street.js +9 -0
- package/out/tools/golden/relabel-street.js.map +1 -0
- package/out/tools/ingest-csv.d.ts +19 -15
- package/out/tools/ingest-csv.d.ts.map +1 -1
- package/out/tools/ingest-csv.js +39 -45
- package/out/tools/ingest-csv.js.map +1 -1
- package/out/tools/jsonl-to-parquet.d.ts +15 -28
- package/out/tools/jsonl-to-parquet.d.ts.map +1 -1
- package/out/tools/jsonl-to-parquet.js +49 -91
- package/out/tools/jsonl-to-parquet.js.map +1 -1
- package/out/tools/lint/recipe-output/vocab.d.ts +77 -0
- package/out/tools/lint/recipe-output/vocab.d.ts.map +1 -0
- package/out/tools/lint/recipe-output/vocab.js +239 -0
- package/out/tools/lint/recipe-output/vocab.js.map +1 -0
- package/out/tools/lint/recipe-output.d.ts +73 -0
- package/out/tools/lint/recipe-output.d.ts.map +1 -0
- package/out/tools/lint/recipe-output.js +302 -0
- package/out/tools/lint/recipe-output.js.map +1 -0
- package/out/tools/migrate/overlay-parquet.d.ts +30 -0
- package/out/tools/migrate/overlay-parquet.d.ts.map +1 -0
- package/out/tools/migrate/overlay-parquet.js +141 -0
- package/out/tools/migrate/overlay-parquet.js.map +1 -0
- package/out/tools/migrate/recipe-output.d.ts +35 -0
- package/out/tools/migrate/recipe-output.d.ts.map +1 -0
- package/out/tools/migrate/recipe-output.js +124 -0
- package/out/tools/migrate/recipe-output.js.map +1 -0
- package/out/tools/migrate/source-names.d.ts +52 -0
- package/out/tools/migrate/source-names.d.ts.map +1 -0
- package/out/tools/migrate/source-names.js +105 -0
- package/out/tools/migrate/source-names.js.map +1 -0
- package/out/tools/overlay/kryptonite.d.ts +33 -0
- package/out/tools/overlay/kryptonite.d.ts.map +1 -0
- package/out/tools/overlay/kryptonite.js +108 -0
- package/out/tools/overlay/kryptonite.js.map +1 -0
- package/out/tools/overlay/manifest.d.ts +142 -0
- package/out/tools/overlay/manifest.d.ts.map +1 -0
- package/out/tools/overlay/manifest.js +260 -0
- package/out/tools/overlay/manifest.js.map +1 -0
- package/out/tools/overlay/merge-source.d.ts +73 -0
- package/out/tools/overlay/merge-source.d.ts.map +1 -0
- package/out/tools/overlay/merge-source.js +63 -0
- package/out/tools/overlay/merge-source.js.map +1 -0
- package/out/tools/overlay/split-slice.d.ts +66 -0
- package/out/tools/overlay/split-slice.d.ts.map +1 -0
- package/out/tools/overlay/split-slice.js +78 -0
- package/out/tools/overlay/split-slice.js.map +1 -0
- package/out/tools/overlay/translit.d.ts +54 -0
- package/out/tools/overlay/translit.d.ts.map +1 -0
- package/out/tools/overlay/translit.js +177 -0
- package/out/tools/overlay/translit.js.map +1 -0
- package/out/tools/overture-subvenue.d.ts +17 -76
- package/out/tools/overture-subvenue.d.ts.map +1 -1
- package/out/tools/overture-subvenue.js +7 -74
- package/out/tools/overture-subvenue.js.map +1 -1
- package/out/tools/postcode-triples.d.ts +96 -109
- package/out/tools/postcode-triples.d.ts.map +1 -1
- package/out/tools/postcode-triples.js +237 -152
- package/out/tools/postcode-triples.js.map +1 -1
- package/out/tools/source-register/build.d.ts +145 -0
- package/out/tools/source-register/build.d.ts.map +1 -0
- package/out/tools/source-register/build.js +515 -0
- package/out/tools/source-register/build.js.map +1 -0
- package/out/tools/sub/venue/head-nouns.d.ts +21 -0
- package/out/tools/sub/venue/head-nouns.d.ts.map +1 -0
- package/out/tools/sub/venue/head-nouns.js +176 -0
- package/out/tools/sub/venue/head-nouns.js.map +1 -0
- package/out/tools/sub/venue/lexicon.d.ts +129 -0
- package/out/tools/sub/venue/lexicon.d.ts.map +1 -0
- package/out/tools/sub/venue/lexicon.js +239 -0
- package/out/tools/sub/venue/lexicon.js.map +1 -0
- package/out/tools/sub/venue/wikidata.d.ts +28 -0
- package/out/tools/sub/venue/wikidata.d.ts.map +1 -0
- package/out/tools/sub/venue/wikidata.js +65 -0
- package/out/tools/sub/venue/wikidata.js.map +1 -0
- package/out/tools.d.ts +31 -0
- package/out/tools.d.ts.map +1 -0
- package/out/tools.js +31 -0
- package/out/tools.js.map +1 -0
- package/out/tw/tools/fetch/gcis.d.ts +29 -0
- package/out/tw/tools/fetch/gcis.d.ts.map +1 -0
- package/out/tw/tools/fetch/gcis.js +141 -0
- package/out/tw/tools/fetch/gcis.js.map +1 -0
- package/out/types.d.ts +270 -101
- package/out/types.d.ts.map +1 -1
- package/out/types.js +133 -9
- package/out/types.js.map +1 -1
- package/out/us/adapters/fcc-bdc/adapter.d.ts +50 -0
- package/out/us/adapters/fcc-bdc/adapter.d.ts.map +1 -0
- package/out/us/adapters/fcc-bdc/adapter.js +129 -0
- package/out/us/adapters/fcc-bdc/adapter.js.map +1 -0
- package/out/us/adapters/state/hi-schools/adapter.d.ts +47 -0
- package/out/us/adapters/state/hi-schools/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/hi-schools/adapter.js +146 -0
- package/out/us/adapters/state/hi-schools/adapter.js.map +1 -0
- package/out/us/adapters/state/hi-schools/workbook.d.ts +34 -0
- package/out/us/adapters/state/hi-schools/workbook.d.ts.map +1 -0
- package/out/us/adapters/state/hi-schools/workbook.js +22 -0
- package/out/us/adapters/state/hi-schools/workbook.js.map +1 -0
- package/out/us/adapters/state/ia-contractors/adapter.d.ts +41 -0
- package/out/us/adapters/state/ia-contractors/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/ia-contractors/adapter.js +117 -0
- package/out/us/adapters/state/ia-contractors/adapter.js.map +1 -0
- package/out/us/adapters/state/ny-notaries/adapter.d.ts +33 -0
- package/out/us/adapters/state/ny-notaries/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/ny-notaries/adapter.js +114 -0
- package/out/us/adapters/state/ny-notaries/adapter.js.map +1 -0
- package/out/us/adapters/state/tx-notaries/adapter.d.ts +34 -0
- package/out/us/adapters/state/tx-notaries/adapter.d.ts.map +1 -0
- package/out/us/adapters/state/tx-notaries/adapter.js +125 -0
- package/out/us/adapters/state/tx-notaries/adapter.js.map +1 -0
- package/out/us/adapters/tiger/adapter.d.ts +31 -0
- package/out/us/adapters/tiger/adapter.d.ts.map +1 -0
- package/out/us/adapters/tiger/adapter.js +173 -0
- package/out/us/adapters/tiger/adapter.js.map +1 -0
- package/out/us/adapters/tiger/street-decompose.d.ts +23 -0
- package/out/us/adapters/tiger/street-decompose.d.ts.map +1 -0
- package/out/us/adapters/tiger/street-decompose.js +58 -0
- package/out/us/adapters/tiger/street-decompose.js.map +1 -0
- package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts +62 -0
- package/out/us/adapters/usgov/hrsa-fqhc/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/hrsa-fqhc/adapter.js +133 -0
- package/out/us/adapters/usgov/hrsa-fqhc/adapter.js.map +1 -0
- package/out/us/adapters/usgov/imls-pls/adapter.d.ts +37 -0
- package/out/us/adapters/usgov/imls-pls/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/imls-pls/adapter.js +113 -0
- package/out/us/adapters/usgov/imls-pls/adapter.js.map +1 -0
- package/out/us/adapters/usgov/irs-bmf/adapter.d.ts +38 -0
- package/out/us/adapters/usgov/irs-bmf/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/irs-bmf/adapter.js +126 -0
- package/out/us/adapters/usgov/irs-bmf/adapter.js.map +1 -0
- package/out/us/adapters/usgov/nad/adapter.d.ts +28 -0
- package/out/us/adapters/usgov/nad/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/nad/adapter.js +185 -0
- package/out/us/adapters/usgov/nad/adapter.js.map +1 -0
- package/out/us/adapters/usgov/nppes/adapter.d.ts +29 -0
- package/out/us/adapters/usgov/nppes/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/nppes/adapter.js +140 -0
- package/out/us/adapters/usgov/nppes/adapter.js.map +1 -0
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts +47 -0
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.d.ts.map +1 -0
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js +153 -0
- package/out/us/adapters/usgov/samhsa-treatment-locator/adapter.js.map +1 -0
- package/out/us/fips-state.d.ts +50 -0
- package/out/us/fips-state.d.ts.map +1 -0
- package/out/us/fips-state.js +109 -0
- package/out/us/fips-state.js.map +1 -0
- package/out/us/tools/fetch/hrsa.d.ts +18 -0
- package/out/us/tools/fetch/hrsa.d.ts.map +1 -0
- package/out/us/tools/fetch/hrsa.js +45 -0
- package/out/us/tools/fetch/hrsa.js.map +1 -0
- package/out/us/tools/fetch/imls-pls.d.ts +14 -0
- package/out/us/tools/fetch/imls-pls.d.ts.map +1 -0
- package/out/us/tools/fetch/imls-pls.js +91 -0
- package/out/us/tools/fetch/imls-pls.js.map +1 -0
- package/out/us/tools/fetch/nad.d.ts +82 -0
- package/out/us/tools/fetch/nad.d.ts.map +1 -0
- package/out/us/tools/fetch/nad.js +239 -0
- package/out/us/tools/fetch/nad.js.map +1 -0
- package/out/us/tools/fetch/nppes.d.ts +16 -0
- package/out/us/tools/fetch/nppes.d.ts.map +1 -0
- package/out/us/tools/fetch/nppes.js +114 -0
- package/out/us/tools/fetch/nppes.js.map +1 -0
- package/out/us/tools/fetch/state/hi-schools.d.ts +29 -0
- package/out/us/tools/fetch/state/hi-schools.d.ts.map +1 -0
- package/out/us/tools/fetch/state/hi-schools.js +114 -0
- package/out/us/tools/fetch/state/hi-schools.js.map +1 -0
- package/out/us/tools/fetch/state/sources.d.ts +27 -0
- package/out/us/tools/fetch/state/sources.d.ts.map +1 -0
- package/out/us/tools/fetch/state/sources.js +110 -0
- package/out/us/tools/fetch/state/sources.js.map +1 -0
- package/out/us/tools/fetch/tiger-full.d.ts +9 -0
- package/out/us/tools/fetch/tiger-full.d.ts.map +1 -0
- package/out/us/tools/fetch/tiger-full.js +178 -0
- package/out/us/tools/fetch/tiger-full.js.map +1 -0
- package/out/utils/align.d.ts +25 -20
- package/out/utils/align.d.ts.map +1 -1
- package/out/utils/align.js +27 -42
- package/out/utils/align.js.map +1 -1
- package/out/utils/cooccurrence-stats.d.ts +58 -0
- package/out/utils/cooccurrence-stats.d.ts.map +1 -0
- package/out/utils/cooccurrence-stats.js +62 -0
- package/out/utils/cooccurrence-stats.js.map +1 -0
- package/out/utils/golden.d.ts +23 -29
- package/out/utils/golden.d.ts.map +1 -1
- package/out/utils/golden.js +33 -45
- package/out/utils/golden.js.map +1 -1
- package/out/utils/license.d.ts +158 -21
- package/out/utils/license.d.ts.map +1 -1
- package/out/utils/license.js +156 -26
- package/out/utils/license.js.map +1 -1
- package/out/utils/split.d.ts +66 -70
- package/out/utils/split.d.ts.map +1 -1
- package/out/utils/split.js +158 -69
- package/out/utils/split.js.map +1 -1
- package/out/utils/tokenize.d.ts +16 -28
- package/out/utils/tokenize.d.ts.map +1 -1
- package/out/utils/tokenize.js +18 -31
- package/out/utils/tokenize.js.map +1 -1
- package/out/utils/wof-json.d.ts +88 -62
- package/out/utils/wof-json.d.ts.map +1 -1
- package/out/utils/wof-json.js +81 -65
- package/out/utils/wof-json.js.map +1 -1
- package/out/utils.d.ts +13 -0
- package/out/utils.d.ts.map +1 -0
- package/out/utils.js +13 -0
- package/out/utils.js.map +1 -0
- package/out/ve/recipes/reviewed-postcode-tail.d.ts +65 -0
- package/out/ve/recipes/reviewed-postcode-tail.d.ts.map +1 -0
- package/out/ve/recipes/reviewed-postcode-tail.js +146 -0
- package/out/ve/recipes/reviewed-postcode-tail.js.map +1 -0
- package/package.json +46 -330
- package/lib/adapters/ban/adapter.ts +0 -190
- package/lib/adapters/ban/street-decompose.ts +0 -66
- package/lib/adapters/fcc-bdc/adapter.ts +0 -174
- package/lib/adapters/geonames-postal/adapter.ts +0 -122
- package/lib/adapters/gnaf/adapter.ts +0 -149
- package/lib/adapters/gnaf/assemble.ts +0 -225
- package/lib/adapters/index.ts +0 -153
- package/lib/adapters/state-hi-schools/adapter.ts +0 -170
- package/lib/adapters/state-hi-schools/workbook.ts +0 -35
- package/lib/adapters/state-ia-contractors/adapter.ts +0 -144
- package/lib/adapters/state-ny-notaries/adapter.ts +0 -141
- package/lib/adapters/state-tx-notaries/adapter.ts +0 -157
- package/lib/adapters/synth-po-box/adapter.ts +0 -204
- package/lib/adapters/tiger/adapter.ts +0 -252
- package/lib/adapters/tiger/street-decompose.ts +0 -83
- package/lib/adapters/usgov-hrsa-fqhc/adapter.ts +0 -167
- package/lib/adapters/usgov-imls-pls/adapter.ts +0 -143
- package/lib/adapters/usgov-irs-bmf/adapter.ts +0 -151
- package/lib/adapters/usgov-nad/adapter.ts +0 -334
- package/lib/adapters/usgov-nppes/adapter.ts +0 -151
- package/lib/adapters/usgov-samhsa-treatment-locator/adapter.ts +0 -193
- package/lib/adapters/utils/index.ts +0 -307
- package/lib/adapters/wof-admin-jp/adapter.ts +0 -214
- package/lib/adapters/wof-admin-json/adapter.ts +0 -231
- package/lib/adapters/wof-json-rows.ts +0 -129
- package/lib/adapters/wof-postalcode-json/adapter.ts +0 -176
- package/lib/codex/us-fips-state.ts +0 -113
- package/lib/recipes/bare-country.ts +0 -95
- package/lib/recipes/cn-organizational-units.ts +0 -199
- package/lib/recipes/cz-pcfirst-preposition.ts +0 -112
- package/lib/recipes/fr-admin-split.ts +0 -243
- package/lib/recipes/fr-bare-street.ts +0 -171
- package/lib/recipes/fr-fragment.ts +0 -334
- package/lib/recipes/fr-lieudit.ts +0 -301
- package/lib/recipes/fr-order.ts +0 -246
- package/lib/recipes/german.ts +0 -360
- package/lib/recipes/index.ts +0 -97
- package/lib/recipes/locale.ts +0 -600
- package/lib/recipes/nl-postcode.ts +0 -117
- package/lib/recipes/no-fragment.ts +0 -213
- package/lib/recipes/no-street-led.ts +0 -135
- package/lib/recipes/no-street.ts +0 -91
- package/lib/recipes/po-box-cedex.ts +0 -976
- package/lib/recipes/po-box.ts +0 -124
- package/lib/recipes/reviewed-postcode-tail.ts +0 -190
- package/lib/recipes/si-bare-village.ts +0 -99
- package/lib/recipes/street-affix.ts +0 -805
- package/lib/recipes/street-bare.ts +0 -102
- package/lib/recipes/sub-venue-sources.ts +0 -878
- package/lib/recipes/sub-venue.ts +0 -998
- package/lib/synthesizers/german.ts +0 -260
- package/lib/test-kit/index.ts +0 -100
- package/lib/tools/align-slice.ts +0 -68
- package/lib/tools/fetch/acra-sg.ts +0 -174
- package/lib/tools/fetch/ban.ts +0 -289
- package/lib/tools/fetch/gcis-tw.ts +0 -175
- package/lib/tools/fetch/geonames-dump.ts +0 -257
- package/lib/tools/fetch/geonames-postal.ts +0 -180
- package/lib/tools/fetch/houjin-jp.ts +0 -135
- package/lib/tools/fetch/hrsa.ts +0 -59
- package/lib/tools/fetch/imls-pls.ts +0 -149
- package/lib/tools/fetch/index.ts +0 -174
- package/lib/tools/fetch/juso-kr.ts +0 -165
- package/lib/tools/fetch/localdata-kr.ts +0 -194
- package/lib/tools/fetch/nad.ts +0 -341
- package/lib/tools/fetch/nppes.ts +0 -165
- package/lib/tools/fetch/state-hi-schools.ts +0 -161
- package/lib/tools/fetch/state-sources.ts +0 -146
- package/lib/tools/fetch/tiger-full.ts +0 -308
- package/lib/tools/gb-title-case.ts +0 -69
- package/lib/tools/golden-expand.ts +0 -574
- package/lib/tools/golden-promote.ts +0 -337
- package/lib/tools/golden-relabel-street.ts +0 -686
- package/lib/tools/index.ts +0 -28
- package/lib/tools/lint-slice-vocab.ts +0 -388
- package/lib/tools/lint-slice.ts +0 -496
- package/lib/tools/overlay-manifest.ts +0 -148
- package/lib/tools/slice-kryptonite.ts +0 -137
- package/lib/tools/slice-translit.ts +0 -218
- package/lib/tools/sub-venue/harvest.ts +0 -234
- package/lib/tools/sub-venue/head-nouns.ts +0 -245
- package/lib/tools/sub-venue/surfaces.ts +0 -95
- package/lib/tools/sub-venue/table.ts +0 -281
- package/lib/tools/sub-venue/wikidata.ts +0 -85
- package/lib/tools/sub-venue-lexicon.ts +0 -429
- package/lib/tools/sub-venue-promotions.ts +0 -330
- package/lib/utils/index.ts +0 -14
- package/lib/utils/parquet.ts +0 -582
- package/lib/utils/slice-stats.ts +0 -95
- package/out/adapters/ban/adapter.d.ts +0 -44
- package/out/adapters/ban/adapter.d.ts.map +0 -1
- package/out/adapters/ban/adapter.js +0 -149
- package/out/adapters/ban/adapter.js.map +0 -1
- package/out/adapters/ban/street-decompose.d.ts +0 -28
- package/out/adapters/ban/street-decompose.d.ts.map +0 -1
- package/out/adapters/ban/street-decompose.js +0 -51
- package/out/adapters/ban/street-decompose.js.map +0 -1
- package/out/adapters/fcc-bdc/adapter.d.ts +0 -68
- package/out/adapters/fcc-bdc/adapter.d.ts.map +0 -1
- package/out/adapters/fcc-bdc/adapter.js +0 -144
- package/out/adapters/fcc-bdc/adapter.js.map +0 -1
- package/out/adapters/geonames-postal/adapter.d.ts +0 -54
- package/out/adapters/geonames-postal/adapter.d.ts.map +0 -1
- package/out/adapters/geonames-postal/adapter.js +0 -107
- package/out/adapters/geonames-postal/adapter.js.map +0 -1
- package/out/adapters/gnaf/adapter.d.ts +0 -49
- package/out/adapters/gnaf/adapter.d.ts.map +0 -1
- package/out/adapters/gnaf/adapter.js +0 -124
- package/out/adapters/gnaf/adapter.js.map +0 -1
- package/out/adapters/gnaf/assemble.d.ts +0 -65
- package/out/adapters/gnaf/assemble.d.ts.map +0 -1
- package/out/adapters/gnaf/assemble.js +0 -154
- package/out/adapters/gnaf/assemble.js.map +0 -1
- package/out/adapters/index.d.ts +0 -51
- package/out/adapters/index.d.ts.map +0 -1
- package/out/adapters/index.js +0 -95
- package/out/adapters/index.js.map +0 -1
- package/out/adapters/state-hi-schools/adapter.d.ts +0 -46
- package/out/adapters/state-hi-schools/adapter.d.ts.map +0 -1
- package/out/adapters/state-hi-schools/adapter.js +0 -145
- package/out/adapters/state-hi-schools/adapter.js.map +0 -1
- package/out/adapters/state-hi-schools/workbook.d.ts +0 -29
- package/out/adapters/state-hi-schools/workbook.d.ts.map +0 -1
- package/out/adapters/state-hi-schools/workbook.js +0 -20
- package/out/adapters/state-hi-schools/workbook.js.map +0 -1
- package/out/adapters/state-ia-contractors/adapter.d.ts +0 -34
- package/out/adapters/state-ia-contractors/adapter.d.ts.map +0 -1
- package/out/adapters/state-ia-contractors/adapter.js +0 -111
- package/out/adapters/state-ia-contractors/adapter.js.map +0 -1
- package/out/adapters/state-ny-notaries/adapter.d.ts +0 -32
- package/out/adapters/state-ny-notaries/adapter.d.ts.map +0 -1
- package/out/adapters/state-ny-notaries/adapter.js +0 -119
- package/out/adapters/state-ny-notaries/adapter.js.map +0 -1
- package/out/adapters/state-tx-notaries/adapter.d.ts +0 -33
- package/out/adapters/state-tx-notaries/adapter.d.ts.map +0 -1
- package/out/adapters/state-tx-notaries/adapter.js +0 -125
- package/out/adapters/state-tx-notaries/adapter.js.map +0 -1
- package/out/adapters/synth-po-box/adapter.d.ts +0 -67
- package/out/adapters/synth-po-box/adapter.d.ts.map +0 -1
- package/out/adapters/synth-po-box/adapter.js +0 -140
- package/out/adapters/synth-po-box/adapter.js.map +0 -1
- package/out/adapters/tiger/adapter.d.ts +0 -55
- package/out/adapters/tiger/adapter.d.ts.map +0 -1
- package/out/adapters/tiger/adapter.js +0 -201
- package/out/adapters/tiger/adapter.js.map +0 -1
- package/out/adapters/tiger/street-decompose.d.ts +0 -30
- package/out/adapters/tiger/street-decompose.d.ts.map +0 -1
- package/out/adapters/tiger/street-decompose.js +0 -68
- package/out/adapters/tiger/street-decompose.js.map +0 -1
- package/out/adapters/usgov-hrsa-fqhc/adapter.d.ts +0 -56
- package/out/adapters/usgov-hrsa-fqhc/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-hrsa-fqhc/adapter.js +0 -132
- package/out/adapters/usgov-hrsa-fqhc/adapter.js.map +0 -1
- package/out/adapters/usgov-imls-pls/adapter.d.ts +0 -36
- package/out/adapters/usgov-imls-pls/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-imls-pls/adapter.js +0 -114
- package/out/adapters/usgov-imls-pls/adapter.js.map +0 -1
- package/out/adapters/usgov-irs-bmf/adapter.d.ts +0 -37
- package/out/adapters/usgov-irs-bmf/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-irs-bmf/adapter.js +0 -120
- package/out/adapters/usgov-irs-bmf/adapter.js.map +0 -1
- package/out/adapters/usgov-nad/adapter.d.ts +0 -48
- package/out/adapters/usgov-nad/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-nad/adapter.js +0 -249
- package/out/adapters/usgov-nad/adapter.js.map +0 -1
- package/out/adapters/usgov-nppes/adapter.d.ts +0 -39
- package/out/adapters/usgov-nppes/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-nppes/adapter.js +0 -118
- package/out/adapters/usgov-nppes/adapter.js.map +0 -1
- package/out/adapters/usgov-samhsa-treatment-locator/adapter.d.ts +0 -46
- package/out/adapters/usgov-samhsa-treatment-locator/adapter.d.ts.map +0 -1
- package/out/adapters/usgov-samhsa-treatment-locator/adapter.js +0 -154
- package/out/adapters/usgov-samhsa-treatment-locator/adapter.js.map +0 -1
- package/out/adapters/utils/index.d.ts +0 -191
- package/out/adapters/utils/index.d.ts.map +0 -1
- package/out/adapters/utils/index.js +0 -206
- package/out/adapters/utils/index.js.map +0 -1
- package/out/adapters/wof-admin-jp/adapter.d.ts +0 -65
- package/out/adapters/wof-admin-jp/adapter.d.ts.map +0 -1
- package/out/adapters/wof-admin-jp/adapter.js +0 -161
- package/out/adapters/wof-admin-jp/adapter.js.map +0 -1
- package/out/adapters/wof-admin-json/adapter.d.ts +0 -79
- package/out/adapters/wof-admin-json/adapter.d.ts.map +0 -1
- package/out/adapters/wof-admin-json/adapter.js +0 -197
- package/out/adapters/wof-admin-json/adapter.js.map +0 -1
- package/out/adapters/wof-json-rows.d.ts +0 -62
- package/out/adapters/wof-json-rows.d.ts.map +0 -1
- package/out/adapters/wof-json-rows.js +0 -83
- package/out/adapters/wof-json-rows.js.map +0 -1
- package/out/adapters/wof-postalcode-json/adapter.d.ts +0 -65
- package/out/adapters/wof-postalcode-json/adapter.d.ts.map +0 -1
- package/out/adapters/wof-postalcode-json/adapter.js +0 -151
- package/out/adapters/wof-postalcode-json/adapter.js.map +0 -1
- package/out/codex/us-fips-state.d.ts +0 -41
- package/out/codex/us-fips-state.d.ts.map +0 -1
- package/out/codex/us-fips-state.js +0 -100
- package/out/codex/us-fips-state.js.map +0 -1
- package/out/recipes/bare-country.d.ts +0 -25
- package/out/recipes/bare-country.d.ts.map +0 -1
- package/out/recipes/bare-country.js +0 -88
- package/out/recipes/bare-country.js.map +0 -1
- package/out/recipes/cn-organizational-units.d.ts +0 -36
- package/out/recipes/cn-organizational-units.d.ts.map +0 -1
- package/out/recipes/cn-organizational-units.js +0 -159
- package/out/recipes/cn-organizational-units.js.map +0 -1
- package/out/recipes/cz-pcfirst-preposition.d.ts +0 -22
- package/out/recipes/cz-pcfirst-preposition.d.ts.map +0 -1
- package/out/recipes/cz-pcfirst-preposition.js +0 -101
- package/out/recipes/cz-pcfirst-preposition.js.map +0 -1
- package/out/recipes/fr-admin-split.d.ts +0 -38
- package/out/recipes/fr-admin-split.d.ts.map +0 -1
- package/out/recipes/fr-admin-split.js +0 -192
- package/out/recipes/fr-admin-split.js.map +0 -1
- package/out/recipes/fr-bare-street.d.ts +0 -28
- package/out/recipes/fr-bare-street.d.ts.map +0 -1
- package/out/recipes/fr-bare-street.js +0 -144
- package/out/recipes/fr-bare-street.js.map +0 -1
- package/out/recipes/fr-fragment.d.ts +0 -77
- package/out/recipes/fr-fragment.d.ts.map +0 -1
- package/out/recipes/fr-fragment.js +0 -277
- package/out/recipes/fr-fragment.js.map +0 -1
- package/out/recipes/fr-lieudit.d.ts +0 -32
- package/out/recipes/fr-lieudit.d.ts.map +0 -1
- package/out/recipes/fr-lieudit.js +0 -227
- package/out/recipes/fr-lieudit.js.map +0 -1
- package/out/recipes/fr-order.d.ts +0 -38
- package/out/recipes/fr-order.d.ts.map +0 -1
- package/out/recipes/fr-order.js +0 -198
- package/out/recipes/fr-order.js.map +0 -1
- package/out/recipes/german.d.ts +0 -44
- package/out/recipes/german.d.ts.map +0 -1
- package/out/recipes/german.js +0 -289
- package/out/recipes/german.js.map +0 -1
- package/out/recipes/index.d.ts +0 -24
- package/out/recipes/index.d.ts.map +0 -1
- package/out/recipes/index.js +0 -91
- package/out/recipes/index.js.map +0 -1
- package/out/recipes/locale.d.ts +0 -136
- package/out/recipes/locale.d.ts.map +0 -1
- package/out/recipes/locale.js +0 -460
- package/out/recipes/locale.js.map +0 -1
- package/out/recipes/nl-postcode.d.ts +0 -26
- package/out/recipes/nl-postcode.d.ts.map +0 -1
- package/out/recipes/nl-postcode.js +0 -103
- package/out/recipes/nl-postcode.js.map +0 -1
- package/out/recipes/no-fragment.d.ts +0 -43
- package/out/recipes/no-fragment.d.ts.map +0 -1
- package/out/recipes/no-fragment.js +0 -183
- package/out/recipes/no-fragment.js.map +0 -1
- package/out/recipes/no-street-led.d.ts +0 -24
- package/out/recipes/no-street-led.d.ts.map +0 -1
- package/out/recipes/no-street-led.js +0 -114
- package/out/recipes/no-street-led.js.map +0 -1
- package/out/recipes/no-street.d.ts +0 -18
- package/out/recipes/no-street.d.ts.map +0 -1
- package/out/recipes/no-street.js +0 -72
- package/out/recipes/no-street.js.map +0 -1
- package/out/recipes/po-box-cedex.d.ts +0 -38
- package/out/recipes/po-box-cedex.d.ts.map +0 -1
- package/out/recipes/po-box-cedex.js +0 -768
- package/out/recipes/po-box-cedex.js.map +0 -1
- package/out/recipes/po-box.d.ts +0 -17
- package/out/recipes/po-box.d.ts.map +0 -1
- package/out/recipes/po-box.js +0 -101
- package/out/recipes/po-box.js.map +0 -1
- package/out/recipes/reviewed-postcode-tail.d.ts +0 -47
- package/out/recipes/reviewed-postcode-tail.d.ts.map +0 -1
- package/out/recipes/reviewed-postcode-tail.js +0 -125
- package/out/recipes/reviewed-postcode-tail.js.map +0 -1
- package/out/recipes/si-bare-village.d.ts +0 -32
- package/out/recipes/si-bare-village.d.ts.map +0 -1
- package/out/recipes/si-bare-village.js +0 -89
- package/out/recipes/si-bare-village.js.map +0 -1
- package/out/recipes/street-affix.d.ts +0 -89
- package/out/recipes/street-affix.d.ts.map +0 -1
- package/out/recipes/street-affix.js +0 -563
- package/out/recipes/street-affix.js.map +0 -1
- package/out/recipes/street-bare.d.ts +0 -25
- package/out/recipes/street-bare.d.ts.map +0 -1
- package/out/recipes/street-bare.js +0 -87
- package/out/recipes/street-bare.js.map +0 -1
- package/out/recipes/sub-venue-sources.d.ts +0 -229
- package/out/recipes/sub-venue-sources.d.ts.map +0 -1
- package/out/recipes/sub-venue-sources.js +0 -654
- package/out/recipes/sub-venue-sources.js.map +0 -1
- package/out/recipes/sub-venue.d.ts +0 -269
- package/out/recipes/sub-venue.d.ts.map +0 -1
- package/out/recipes/sub-venue.js +0 -726
- package/out/recipes/sub-venue.js.map +0 -1
- package/out/synthesizers/german.d.ts +0 -115
- package/out/synthesizers/german.d.ts.map +0 -1
- package/out/synthesizers/german.js +0 -149
- package/out/synthesizers/german.js.map +0 -1
- package/out/test-kit/index.d.ts +0 -48
- package/out/test-kit/index.d.ts.map +0 -1
- package/out/test-kit/index.js +0 -78
- package/out/test-kit/index.js.map +0 -1
- package/out/tools/align-slice.d.ts +0 -7
- package/out/tools/align-slice.d.ts.map +0 -1
- package/out/tools/align-slice.js +0 -55
- package/out/tools/align-slice.js.map +0 -1
- package/out/tools/fetch/acra-sg.d.ts +0 -23
- package/out/tools/fetch/acra-sg.d.ts.map +0 -1
- package/out/tools/fetch/acra-sg.js +0 -126
- package/out/tools/fetch/acra-sg.js.map +0 -1
- package/out/tools/fetch/ban.d.ts +0 -31
- package/out/tools/fetch/ban.d.ts.map +0 -1
- package/out/tools/fetch/ban.js +0 -239
- package/out/tools/fetch/ban.js.map +0 -1
- package/out/tools/fetch/gcis-tw.d.ts +0 -23
- package/out/tools/fetch/gcis-tw.d.ts.map +0 -1
- package/out/tools/fetch/gcis-tw.js +0 -135
- package/out/tools/fetch/gcis-tw.js.map +0 -1
- package/out/tools/fetch/geonames-dump.d.ts +0 -91
- package/out/tools/fetch/geonames-dump.d.ts.map +0 -1
- package/out/tools/fetch/geonames-dump.js +0 -171
- package/out/tools/fetch/geonames-dump.js.map +0 -1
- package/out/tools/fetch/geonames-postal.d.ts +0 -76
- package/out/tools/fetch/geonames-postal.d.ts.map +0 -1
- package/out/tools/fetch/geonames-postal.js +0 -126
- package/out/tools/fetch/geonames-postal.js.map +0 -1
- package/out/tools/fetch/houjin-jp.d.ts +0 -24
- package/out/tools/fetch/houjin-jp.d.ts.map +0 -1
- package/out/tools/fetch/houjin-jp.js +0 -102
- package/out/tools/fetch/houjin-jp.js.map +0 -1
- package/out/tools/fetch/hrsa.d.ts +0 -18
- package/out/tools/fetch/hrsa.d.ts.map +0 -1
- package/out/tools/fetch/hrsa.js +0 -46
- package/out/tools/fetch/hrsa.js.map +0 -1
- package/out/tools/fetch/imls-pls.d.ts +0 -25
- package/out/tools/fetch/imls-pls.d.ts.map +0 -1
- package/out/tools/fetch/imls-pls.js +0 -108
- package/out/tools/fetch/imls-pls.js.map +0 -1
- package/out/tools/fetch/index.d.ts +0 -171
- package/out/tools/fetch/index.d.ts.map +0 -1
- package/out/tools/fetch/index.js +0 -170
- package/out/tools/fetch/index.js.map +0 -1
- package/out/tools/fetch/juso-kr.d.ts +0 -30
- package/out/tools/fetch/juso-kr.d.ts.map +0 -1
- package/out/tools/fetch/juso-kr.js +0 -120
- package/out/tools/fetch/juso-kr.js.map +0 -1
- package/out/tools/fetch/localdata-kr.d.ts +0 -30
- package/out/tools/fetch/localdata-kr.d.ts.map +0 -1
- package/out/tools/fetch/localdata-kr.js +0 -139
- package/out/tools/fetch/localdata-kr.js.map +0 -1
- package/out/tools/fetch/nad.d.ts +0 -70
- package/out/tools/fetch/nad.d.ts.map +0 -1
- package/out/tools/fetch/nad.js +0 -234
- package/out/tools/fetch/nad.js.map +0 -1
- package/out/tools/fetch/nppes.d.ts +0 -26
- package/out/tools/fetch/nppes.d.ts.map +0 -1
- package/out/tools/fetch/nppes.js +0 -126
- package/out/tools/fetch/nppes.js.map +0 -1
- package/out/tools/fetch/state-hi-schools.d.ts +0 -26
- package/out/tools/fetch/state-hi-schools.d.ts.map +0 -1
- package/out/tools/fetch/state-hi-schools.js +0 -112
- package/out/tools/fetch/state-hi-schools.js.map +0 -1
- package/out/tools/fetch/state-sources.d.ts +0 -26
- package/out/tools/fetch/state-sources.d.ts.map +0 -1
- package/out/tools/fetch/state-sources.js +0 -111
- package/out/tools/fetch/state-sources.js.map +0 -1
- package/out/tools/fetch/tiger-full.d.ts +0 -22
- package/out/tools/fetch/tiger-full.d.ts.map +0 -1
- package/out/tools/fetch/tiger-full.js +0 -217
- package/out/tools/fetch/tiger-full.js.map +0 -1
- package/out/tools/gb-title-case.d.ts +0 -2
- package/out/tools/gb-title-case.d.ts.map +0 -1
- package/out/tools/gb-title-case.js +0 -65
- package/out/tools/gb-title-case.js.map +0 -1
- package/out/tools/golden-expand.d.ts +0 -90
- package/out/tools/golden-expand.d.ts.map +0 -1
- package/out/tools/golden-expand.js +0 -406
- package/out/tools/golden-expand.js.map +0 -1
- package/out/tools/golden-promote.d.ts +0 -72
- package/out/tools/golden-promote.d.ts.map +0 -1
- package/out/tools/golden-promote.js +0 -240
- package/out/tools/golden-promote.js.map +0 -1
- package/out/tools/golden-relabel-street.d.ts +0 -196
- package/out/tools/golden-relabel-street.d.ts.map +0 -1
- package/out/tools/golden-relabel-street.js +0 -439
- package/out/tools/golden-relabel-street.js.map +0 -1
- package/out/tools/index.d.ts +0 -28
- package/out/tools/index.d.ts.map +0 -1
- package/out/tools/index.js +0 -28
- package/out/tools/index.js.map +0 -1
- package/out/tools/lint-slice-vocab.d.ts +0 -90
- package/out/tools/lint-slice-vocab.d.ts.map +0 -1
- package/out/tools/lint-slice-vocab.js +0 -267
- package/out/tools/lint-slice-vocab.js.map +0 -1
- package/out/tools/lint-slice.d.ts +0 -93
- package/out/tools/lint-slice.d.ts.map +0 -1
- package/out/tools/lint-slice.js +0 -322
- package/out/tools/lint-slice.js.map +0 -1
- package/out/tools/overlay-manifest.d.ts +0 -39
- package/out/tools/overlay-manifest.d.ts.map +0 -1
- package/out/tools/overlay-manifest.js +0 -90
- package/out/tools/overlay-manifest.js.map +0 -1
- package/out/tools/slice-kryptonite.d.ts +0 -32
- package/out/tools/slice-kryptonite.d.ts.map +0 -1
- package/out/tools/slice-kryptonite.js +0 -99
- package/out/tools/slice-kryptonite.js.map +0 -1
- package/out/tools/slice-translit.d.ts +0 -51
- package/out/tools/slice-translit.d.ts.map +0 -1
- package/out/tools/slice-translit.js +0 -166
- package/out/tools/slice-translit.js.map +0 -1
- package/out/tools/sub-venue/harvest.d.ts +0 -100
- package/out/tools/sub-venue/harvest.d.ts.map +0 -1
- package/out/tools/sub-venue/harvest.js +0 -168
- package/out/tools/sub-venue/harvest.js.map +0 -1
- package/out/tools/sub-venue/head-nouns.d.ts +0 -50
- package/out/tools/sub-venue/head-nouns.d.ts.map +0 -1
- package/out/tools/sub-venue/head-nouns.js +0 -213
- package/out/tools/sub-venue/head-nouns.js.map +0 -1
- package/out/tools/sub-venue/surfaces.d.ts +0 -45
- package/out/tools/sub-venue/surfaces.d.ts.map +0 -1
- package/out/tools/sub-venue/surfaces.js +0 -77
- package/out/tools/sub-venue/surfaces.js.map +0 -1
- package/out/tools/sub-venue/table.d.ts +0 -229
- package/out/tools/sub-venue/table.d.ts.map +0 -1
- package/out/tools/sub-venue/table.js +0 -108
- package/out/tools/sub-venue/table.js.map +0 -1
- package/out/tools/sub-venue/wikidata.d.ts +0 -26
- package/out/tools/sub-venue/wikidata.d.ts.map +0 -1
- package/out/tools/sub-venue/wikidata.js +0 -62
- package/out/tools/sub-venue/wikidata.js.map +0 -1
- package/out/tools/sub-venue-lexicon.d.ts +0 -156
- package/out/tools/sub-venue-lexicon.d.ts.map +0 -1
- package/out/tools/sub-venue-lexicon.js +0 -283
- package/out/tools/sub-venue-lexicon.js.map +0 -1
- package/out/tools/sub-venue-promotions.d.ts +0 -94
- package/out/tools/sub-venue-promotions.d.ts.map +0 -1
- package/out/tools/sub-venue-promotions.js +0 -266
- package/out/tools/sub-venue-promotions.js.map +0 -1
- package/out/utils/index.d.ts +0 -14
- package/out/utils/index.d.ts.map +0 -1
- package/out/utils/index.js +0 -14
- package/out/utils/index.js.map +0 -1
- package/out/utils/parquet.d.ts +0 -178
- package/out/utils/parquet.d.ts.map +0 -1
- package/out/utils/parquet.js +0 -371
- package/out/utils/parquet.js.map +0 -1
- package/out/utils/slice-stats.d.ts +0 -52
- package/out/utils/slice-stats.d.ts.map +0 -1
- package/out/utils/slice-stats.js +0 -58
- package/out/utils/slice-stats.js.map +0 -1
|
@@ -0,0 +1,400 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* Reads and audits the address-source register.
|
|
7
|
+
*/
|
|
8
|
+
import { readLocalJSONFile } from "@mailwoman/core/fs/readers";
|
|
9
|
+
import { sha256Hex } from "@mailwoman/core/hash";
|
|
10
|
+
import { stringifyJSON } from "@mailwoman/core/json";
|
|
11
|
+
import { resolveModulePath } from "@mailwoman/core/module/resolvers";
|
|
12
|
+
import { AssertedProposition } from "@mailwoman/evidence/status";
|
|
13
|
+
import { BackboneState, JurisdictionResearchState, LicenseReviewState, OperationPermission, PersonalDataReading, REGISTER_SECTORS, SourceGeometry, SourceOperation, SourceStatus, UNRESOLVED_FIELDS, } from "#source-register/types";
|
|
14
|
+
import { AddressRole } from "#types";
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the path of the committed register through the package's `./data/*` export.
|
|
17
|
+
*
|
|
18
|
+
* Resolution happens on call so that importing this module works before the build has written the register.
|
|
19
|
+
*/
|
|
20
|
+
export function addressSourceRegisterPath() {
|
|
21
|
+
return resolveModulePath("@mailwoman/corpus/data/address-source-register.json");
|
|
22
|
+
}
|
|
23
|
+
const PROPOSITIONS = new Set(Object.values(AssertedProposition));
|
|
24
|
+
const SECTORS = new Set(REGISTER_SECTORS);
|
|
25
|
+
const BACKBONE_STATES = new Set(Object.values(BackboneState));
|
|
26
|
+
const RESEARCH_STATES = new Set(Object.values(JurisdictionResearchState));
|
|
27
|
+
const SOURCE_STATUSES = new Set(Object.values(SourceStatus));
|
|
28
|
+
const GEOMETRIES = new Set(Object.values(SourceGeometry));
|
|
29
|
+
const PERSONAL_DATA_READINGS = new Set(Object.values(PersonalDataReading));
|
|
30
|
+
const ADDRESS_ROLES = new Set(Object.values(AddressRole));
|
|
31
|
+
/**
|
|
32
|
+
* Returns the license label that the exclude filter in `@mailwoman/corpus/utils/license` matches by prefix.
|
|
33
|
+
*
|
|
34
|
+
* The function returns `undefined` until someone has elected terms for the decision.
|
|
35
|
+
*/
|
|
36
|
+
export function electedLicenseLabel(decision) {
|
|
37
|
+
if (decision.state !== LicenseReviewState.Elected)
|
|
38
|
+
return undefined;
|
|
39
|
+
return decision.spdx ?? decision.electedTerms;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Replaces generated license decisions with recorded ones that share a license id.
|
|
43
|
+
*
|
|
44
|
+
* The build generates an `unchecked` decision for each license and rewrites the register
|
|
45
|
+
* whole, so reviewed decisions live in a separate input and merge here.
|
|
46
|
+
*
|
|
47
|
+
* @throws When a recorded decision refers to a license that the generated set lacks.
|
|
48
|
+
* Such a decision is a typo or refers to a removed source.
|
|
49
|
+
*/
|
|
50
|
+
export function applyLicenseDecisions(generated, recorded) {
|
|
51
|
+
const known = new Set(generated.map((decision) => decision.licenseID));
|
|
52
|
+
for (const licenseID of recorded.keys()) {
|
|
53
|
+
if (!known.has(licenseID)) {
|
|
54
|
+
throw new Error(`a recorded license decision names ${stringifyJSON(licenseID)}, which the register does not carry. ` +
|
|
55
|
+
"A decision that licenses nothing is a typo or a source that has been removed.");
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return generated.map((decision) => recorded.get(decision.licenseID) ?? decision);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The operations that ingesting a source into the corpus performs.
|
|
62
|
+
*
|
|
63
|
+
* Redistribution and commercial sublicensing happen at release, so this list omits them.
|
|
64
|
+
*/
|
|
65
|
+
export const INGEST_OPERATIONS = [
|
|
66
|
+
SourceOperation.Fetch,
|
|
67
|
+
SourceOperation.Extract,
|
|
68
|
+
SourceOperation.Transform,
|
|
69
|
+
SourceOperation.Train,
|
|
70
|
+
];
|
|
71
|
+
/**
|
|
72
|
+
* The operations that releasing a model trained on a source adds to {@link INGEST_OPERATIONS}.
|
|
73
|
+
*/
|
|
74
|
+
export const MODEL_RELEASE_OPERATIONS = [
|
|
75
|
+
SourceOperation.RedistributeModel,
|
|
76
|
+
SourceOperation.CommercialSublicense,
|
|
77
|
+
];
|
|
78
|
+
/**
|
|
79
|
+
* Returns the recorded permission for one operation under a license decision.
|
|
80
|
+
*
|
|
81
|
+
* The result is `unreviewed` when the decision is not elected or does not mention the operation.
|
|
82
|
+
* The selected terms establish which terms apply.
|
|
83
|
+
* Each operation still needs its own review.
|
|
84
|
+
*/
|
|
85
|
+
export function permissionFor(decision, operation) {
|
|
86
|
+
if (decision.state !== LicenseReviewState.Elected) {
|
|
87
|
+
return {
|
|
88
|
+
permission: OperationPermission.Unreviewed,
|
|
89
|
+
because: `the decision reads ${decision.state}, so no operation has been read against terms`,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
return (decision.operations?.[operation] ?? {
|
|
93
|
+
permission: OperationPermission.Unreviewed,
|
|
94
|
+
because: `the elected terms do not state whether ${operation} is permitted`,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Returns every reason that a source may not enter a training corpus, or an empty array when it may.
|
|
99
|
+
*
|
|
100
|
+
* The function returns reasons so that callers can tell the different blockers apart.
|
|
101
|
+
*/
|
|
102
|
+
export function ingestEligibilityProblems(source, register, operations = INGEST_OPERATIONS) {
|
|
103
|
+
const problems = [];
|
|
104
|
+
const decision = register.licenses.find((entry) => entry.licenseID === source.license);
|
|
105
|
+
if (!decision) {
|
|
106
|
+
problems.push(`license ${stringifyJSON(source.license)} is not declared in the register`);
|
|
107
|
+
}
|
|
108
|
+
else if (decision.state !== LicenseReviewState.Elected) {
|
|
109
|
+
problems.push(`license ${stringifyJSON(source.license)} is ${decision.state}, and only elected terms admit a source`);
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
for (const operation of operations) {
|
|
113
|
+
const reading = permissionFor(decision, operation);
|
|
114
|
+
if (reading.permission === OperationPermission.Permitted)
|
|
115
|
+
continue;
|
|
116
|
+
problems.push(`the elected terms read ${reading.permission} for ${operation}: ${reading.because}`);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (source.status === SourceStatus.RetainedOriginal) {
|
|
120
|
+
problems.push("the source was carried from the earlier memo and has not been re-resolved");
|
|
121
|
+
}
|
|
122
|
+
if (source.status === SourceStatus.VerifiedCorpusStale) {
|
|
123
|
+
problems.push("the bulk copy that was examined has stopped being updated");
|
|
124
|
+
}
|
|
125
|
+
if (source.status === SourceStatus.VerifiedAuthority) {
|
|
126
|
+
problems.push("the register was confirmed but its address fields and bulk access were not inspected");
|
|
127
|
+
}
|
|
128
|
+
if (!Object.keys(source.addressRoles ?? {}).length) {
|
|
129
|
+
problems.push("no address column has a resolved role, so the grammar the rows carry is unknown");
|
|
130
|
+
}
|
|
131
|
+
if (!source.coverage) {
|
|
132
|
+
problems.push("no coverage has been measured");
|
|
133
|
+
}
|
|
134
|
+
problems.push(...personalDataProblems(source));
|
|
135
|
+
return problems;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Returns the personal-data problems that block ingest of a source.
|
|
139
|
+
*
|
|
140
|
+
* A missing review blocks ingest, because an unexamined publication has not been found clear.
|
|
141
|
+
*/
|
|
142
|
+
function personalDataProblems(source) {
|
|
143
|
+
const review = source.personalDataReview;
|
|
144
|
+
if (!review) {
|
|
145
|
+
return ["no personal-data review is recorded, and an unexamined publication is not one found clear"];
|
|
146
|
+
}
|
|
147
|
+
if (review.reading === PersonalDataReading.Present) {
|
|
148
|
+
return [`the publication carries records about identifiable people and no analysis is complete: ${review.because}`];
|
|
149
|
+
}
|
|
150
|
+
if (review.reading === PersonalDataReading.Assessed && !review.record) {
|
|
151
|
+
return ["the personal-data review reads assessed and names no record, so the analysis cannot be read"];
|
|
152
|
+
}
|
|
153
|
+
return [];
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Returns one message for each structural problem in a register.
|
|
157
|
+
*
|
|
158
|
+
* The content digest is checked separately on read, because the build audits registers
|
|
159
|
+
* before it writes a digest.
|
|
160
|
+
*/
|
|
161
|
+
export function auditAddressSourceRegister(register) {
|
|
162
|
+
const problems = [];
|
|
163
|
+
if (!register.version) {
|
|
164
|
+
problems.push("the register carries no version");
|
|
165
|
+
}
|
|
166
|
+
if (!register.jurisdictions.length) {
|
|
167
|
+
problems.push("the jurisdiction table is empty");
|
|
168
|
+
}
|
|
169
|
+
problems.push(...auditLicenses(register));
|
|
170
|
+
problems.push(...auditJurisdictions(register));
|
|
171
|
+
problems.push(...auditSources(register));
|
|
172
|
+
problems.push(...auditUnresolvedClaim(register));
|
|
173
|
+
return problems;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Computes the SHA-256 digest of the register without its `contentDigest` field.
|
|
177
|
+
*
|
|
178
|
+
* The build and the read audit share this function so that they serialize identically.
|
|
179
|
+
* The digest covers the parsed object, so reformatting the file keeps it valid.
|
|
180
|
+
*
|
|
181
|
+
* Key order is part of the serialization, so reordering keys by hand changes the digest.
|
|
182
|
+
*/
|
|
183
|
+
export function registerContentDigest(register) {
|
|
184
|
+
const { contentDigest: _omitted, ...rest } = register;
|
|
185
|
+
return sha256Hex(stringifyJSON(rest));
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Checks that a register read from disk still matches the digest that its build wrote.
|
|
189
|
+
*
|
|
190
|
+
* Only the read path runs this check, because the build and test fixtures
|
|
191
|
+
* audit registers that have no digest.
|
|
192
|
+
*/
|
|
193
|
+
function auditContentDigest(register) {
|
|
194
|
+
if (!register.contentDigest) {
|
|
195
|
+
return [
|
|
196
|
+
"the register carries no `contentDigest`. It is written by `mailwoman corpus source-register`, and a register " +
|
|
197
|
+
"without one cannot be told apart from a hand-edited copy.",
|
|
198
|
+
];
|
|
199
|
+
}
|
|
200
|
+
const expected = registerContentDigest(register);
|
|
201
|
+
if (expected === register.contentDigest)
|
|
202
|
+
return [];
|
|
203
|
+
return [
|
|
204
|
+
`the register's \`contentDigest\` reads ${register.contentDigest} and its content hashes to ${expected}. ` +
|
|
205
|
+
"Something edited the file after the build wrote it. Regenerate it with the command in " +
|
|
206
|
+
"`packages/corpus/data/PROVENANCE.md` rather than correcting the digest by hand.",
|
|
207
|
+
];
|
|
208
|
+
}
|
|
209
|
+
function auditLicenses(register) {
|
|
210
|
+
const problems = [];
|
|
211
|
+
const seen = new Set();
|
|
212
|
+
const referenced = new Set(register.sources.map((source) => source.license));
|
|
213
|
+
for (const decision of register.licenses) {
|
|
214
|
+
const named = stringifyJSON(decision.licenseID);
|
|
215
|
+
if (seen.has(decision.licenseID)) {
|
|
216
|
+
problems.push(`license ${named} is declared twice`);
|
|
217
|
+
}
|
|
218
|
+
seen.add(decision.licenseID);
|
|
219
|
+
if (!referenced.has(decision.licenseID)) {
|
|
220
|
+
problems.push(`license ${named} is declared and no source points at it`);
|
|
221
|
+
}
|
|
222
|
+
switch (decision.state) {
|
|
223
|
+
case LicenseReviewState.Unchecked: {
|
|
224
|
+
if (!decision.publisherStatement) {
|
|
225
|
+
problems.push(`license ${named} is unchecked and records no publisher statement`);
|
|
226
|
+
}
|
|
227
|
+
break;
|
|
228
|
+
}
|
|
229
|
+
case LicenseReviewState.Elected: {
|
|
230
|
+
problems.push(...auditElected(decision, named));
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
case LicenseReviewState.Refused: {
|
|
234
|
+
if (!decision.refusedBecause) {
|
|
235
|
+
problems.push(`license ${named} is refused and gives no reason`);
|
|
236
|
+
}
|
|
237
|
+
break;
|
|
238
|
+
}
|
|
239
|
+
default: {
|
|
240
|
+
problems.push(`license ${named} carries an unknown review state`);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
return problems;
|
|
245
|
+
}
|
|
246
|
+
function auditElected(decision, named) {
|
|
247
|
+
const problems = [];
|
|
248
|
+
if (!decision.electedTerms) {
|
|
249
|
+
problems.push(`license ${named} is elected and names no terms`);
|
|
250
|
+
}
|
|
251
|
+
if (!decision.retrievedCopy) {
|
|
252
|
+
problems.push(`license ${named} is elected and names no retrieved copy`);
|
|
253
|
+
}
|
|
254
|
+
if (!decision.electedBecause) {
|
|
255
|
+
problems.push(`license ${named} is elected and gives no reason`);
|
|
256
|
+
}
|
|
257
|
+
for (const [operation, reading] of Object.entries(decision.operations ?? {})) {
|
|
258
|
+
if (!reading.because) {
|
|
259
|
+
problems.push(`license ${named} reads ${reading.permission} for ${operation} and gives no reason`);
|
|
260
|
+
}
|
|
261
|
+
// A permission must cite its basis in the terms so that a reviewer can check it.
|
|
262
|
+
// A refusal needs no basis.
|
|
263
|
+
if (reading.permission === OperationPermission.Permitted && !reading.basis) {
|
|
264
|
+
problems.push(`license ${named} permits ${operation} and names no basis for the permission`);
|
|
265
|
+
}
|
|
266
|
+
if (!Object.values(OperationPermission).includes(reading.permission)) {
|
|
267
|
+
problems.push(`license ${named} reads an unknown permission ${stringifyJSON(reading.permission)} for ${operation}`);
|
|
268
|
+
}
|
|
269
|
+
if (!Object.values(SourceOperation).includes(operation)) {
|
|
270
|
+
problems.push(`license ${named} names ${stringifyJSON(operation)}, which is not an operation this repository performs`);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return problems;
|
|
274
|
+
}
|
|
275
|
+
function auditJurisdictions(register) {
|
|
276
|
+
const problems = [];
|
|
277
|
+
const seen = new Set();
|
|
278
|
+
const sourceCounts = new Map();
|
|
279
|
+
for (const source of register.sources) {
|
|
280
|
+
sourceCounts.set(source.iso2, (sourceCounts.get(source.iso2) ?? 0) + 1);
|
|
281
|
+
}
|
|
282
|
+
for (const jurisdiction of register.jurisdictions) {
|
|
283
|
+
const named = stringifyJSON(jurisdiction.iso2);
|
|
284
|
+
if (seen.has(jurisdiction.iso2)) {
|
|
285
|
+
problems.push(`jurisdiction ${named} appears twice`);
|
|
286
|
+
}
|
|
287
|
+
seen.add(jurisdiction.iso2);
|
|
288
|
+
if (!BACKBONE_STATES.has(jurisdiction.backboneState)) {
|
|
289
|
+
problems.push(`jurisdiction ${named} carries an unknown backbone state`);
|
|
290
|
+
}
|
|
291
|
+
if (!RESEARCH_STATES.has(jurisdiction.researchState)) {
|
|
292
|
+
problems.push(`jurisdiction ${named} carries an unknown research state`);
|
|
293
|
+
}
|
|
294
|
+
const count = sourceCounts.get(jurisdiction.iso2) ?? 0;
|
|
295
|
+
const seeded = jurisdiction.researchState === JurisdictionResearchState.Seeded;
|
|
296
|
+
if (seeded && count === 0) {
|
|
297
|
+
problems.push(`jurisdiction ${named} is seeded and has no sources`);
|
|
298
|
+
}
|
|
299
|
+
if (!seeded && count > 0) {
|
|
300
|
+
problems.push(`jurisdiction ${named} is ${jurisdiction.researchState} and has ${count} sources`);
|
|
301
|
+
}
|
|
302
|
+
if (!seeded && !jurisdiction.stateReason) {
|
|
303
|
+
problems.push(`jurisdiction ${named} has no sources and does not say why`);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return problems;
|
|
307
|
+
}
|
|
308
|
+
function auditSources(register) {
|
|
309
|
+
const problems = [];
|
|
310
|
+
const known = new Set(register.jurisdictions.map((jurisdiction) => jurisdiction.iso2));
|
|
311
|
+
const declared = new Set(register.licenses.map((decision) => decision.licenseID));
|
|
312
|
+
const seen = new Set();
|
|
313
|
+
for (const source of register.sources) {
|
|
314
|
+
const named = stringifyJSON(source.sourceID);
|
|
315
|
+
if (seen.has(source.sourceID)) {
|
|
316
|
+
problems.push(`source ${named} appears twice`);
|
|
317
|
+
}
|
|
318
|
+
seen.add(source.sourceID);
|
|
319
|
+
if (!known.has(source.iso2)) {
|
|
320
|
+
problems.push(`source ${named} names jurisdiction ${stringifyJSON(source.iso2)}, which the jurisdiction table does not carry`);
|
|
321
|
+
}
|
|
322
|
+
if (!SECTORS.has(source.sector)) {
|
|
323
|
+
problems.push(`source ${named} names an unlisted sector`);
|
|
324
|
+
}
|
|
325
|
+
if (!SOURCE_STATUSES.has(source.status)) {
|
|
326
|
+
problems.push(`source ${named} carries an unknown status`);
|
|
327
|
+
}
|
|
328
|
+
if (!GEOMETRIES.has(source.geometry)) {
|
|
329
|
+
problems.push(`source ${named} carries an unknown geometry state`);
|
|
330
|
+
}
|
|
331
|
+
if (!declared.has(source.license)) {
|
|
332
|
+
problems.push(`source ${named} points at an undeclared license decision`);
|
|
333
|
+
}
|
|
334
|
+
if (source.addressRoles && !Object.keys(source.addressRoles).length) {
|
|
335
|
+
problems.push(`source ${named} carries an empty \`addressRoles\`, which reads as resolved and states no role. ` +
|
|
336
|
+
"Leave the field out until a column has one.");
|
|
337
|
+
}
|
|
338
|
+
for (const [column, role] of Object.entries(source.addressRoles ?? {})) {
|
|
339
|
+
if (!ADDRESS_ROLES.has(role)) {
|
|
340
|
+
problems.push(`source ${named} gives column ${stringifyJSON(column)} the role ${stringifyJSON(role)}, ` +
|
|
341
|
+
"which is not an `AddressRole`");
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
const review = source.personalDataReview;
|
|
345
|
+
if (review && !PERSONAL_DATA_READINGS.has(review.reading)) {
|
|
346
|
+
problems.push(`source ${named} carries an unknown personal-data reading`);
|
|
347
|
+
}
|
|
348
|
+
if (review && !review.because) {
|
|
349
|
+
problems.push(`source ${named} carries a personal-data review stating no reason, so nothing records what it rests on`);
|
|
350
|
+
}
|
|
351
|
+
if (review?.reading === PersonalDataReading.Assessed && !review.record) {
|
|
352
|
+
problems.push(`source ${named} is assessed for personal data and names no record of the analysis`);
|
|
353
|
+
}
|
|
354
|
+
if (!source.asserts.length) {
|
|
355
|
+
problems.push(`source ${named} asserts nothing`);
|
|
356
|
+
}
|
|
357
|
+
for (const proposition of source.asserts) {
|
|
358
|
+
if (!PROPOSITIONS.has(proposition)) {
|
|
359
|
+
problems.push(`source ${named} asserts ${stringifyJSON(proposition)}, which is not a proposition`);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
return problems;
|
|
364
|
+
}
|
|
365
|
+
function auditUnresolvedClaim(register) {
|
|
366
|
+
const problems = [];
|
|
367
|
+
const listed = new Set(register.unresolved);
|
|
368
|
+
for (const field of register.unresolved) {
|
|
369
|
+
if (!UNRESOLVED_FIELDS.includes(field)) {
|
|
370
|
+
problems.push(`${stringifyJSON(field)} is named unresolved and is not a field of a source`);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
for (const field of UNRESOLVED_FIELDS) {
|
|
374
|
+
const resolved = register.sources.filter((source) => source[field] !== undefined);
|
|
375
|
+
if (listed.has(field) && resolved.length) {
|
|
376
|
+
problems.push(`${stringifyJSON(field)} is declared unresolved and ${resolved.length} sources carry it — ` +
|
|
377
|
+
`drop it from \`unresolved\``);
|
|
378
|
+
}
|
|
379
|
+
if (!listed.has(field) && !resolved.length) {
|
|
380
|
+
problems.push(`${stringifyJSON(field)} is not declared unresolved and no source carries it`);
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
return problems;
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Reads the committed register and checks its digest and structure.
|
|
387
|
+
*
|
|
388
|
+
* @throws When the file does not parse or the audit reports a problem.
|
|
389
|
+
* The message lists every problem.
|
|
390
|
+
*/
|
|
391
|
+
export async function readAddressSourceRegister(path) {
|
|
392
|
+
const resolved = path ?? addressSourceRegisterPath();
|
|
393
|
+
const register = await readLocalJSONFile(resolved);
|
|
394
|
+
const problems = [...auditContentDigest(register), ...auditAddressSourceRegister(register)];
|
|
395
|
+
if (problems.length) {
|
|
396
|
+
throw new Error(`${resolved} failed the register audit:\n ${problems.join("\n ")}`);
|
|
397
|
+
}
|
|
398
|
+
return register;
|
|
399
|
+
}
|
|
400
|
+
//# sourceMappingURL=register.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../lib/source-register/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* The frozen record of sources that contributed rows to one corpus build.
|
|
7
|
+
* It also records the applicable terms.
|
|
8
|
+
*
|
|
9
|
+
* Its digest is over the manifest with `contentDigest` emptied, so two builds over identical inputs
|
|
10
|
+
* produce the same digest. A change to a source, its elected grant, row count or recipe changes the digest.
|
|
11
|
+
*/
|
|
12
|
+
import { LicenseReviewState, type LicenseDecision, type SourceOperation } from "#source-register/types";
|
|
13
|
+
/**
|
|
14
|
+
* What one source contributed to a build.
|
|
15
|
+
*
|
|
16
|
+
* Also records what the build had established about its terms.
|
|
17
|
+
*/
|
|
18
|
+
export interface TrainingSourceRecord {
|
|
19
|
+
/**
|
|
20
|
+
* The adapter id stamped into every row's `source`, and the join key to the register's `sourceID`.
|
|
21
|
+
*/
|
|
22
|
+
source: string;
|
|
23
|
+
/**
|
|
24
|
+
* Rows this source contributed after license exclusion and eligibility but before augmentation.
|
|
25
|
+
* A synthetic row counts under the source it was fanned from.
|
|
26
|
+
*/
|
|
27
|
+
rows: number;
|
|
28
|
+
license: string;
|
|
29
|
+
/**
|
|
30
|
+
* The register's decision for that license when the build ran, or `null`
|
|
31
|
+
* when the register contains no decision for it.
|
|
32
|
+
*/
|
|
33
|
+
decision: {
|
|
34
|
+
licenseID: string;
|
|
35
|
+
state: LicenseReviewState;
|
|
36
|
+
electedTerms: string | null;
|
|
37
|
+
/**
|
|
38
|
+
* The operations the elected grant permitted at build time.
|
|
39
|
+
*
|
|
40
|
+
* An operation absent here was `unreviewed` or `refused`, which the decision records separately.
|
|
41
|
+
*/
|
|
42
|
+
permitted: SourceOperation[];
|
|
43
|
+
} | null;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* One corpus build's frozen source record.
|
|
47
|
+
*/
|
|
48
|
+
export interface TrainingManifest {
|
|
49
|
+
manifestID: "corpus-training-manifest";
|
|
50
|
+
schemaVersion: 1;
|
|
51
|
+
corpusVersion: string;
|
|
52
|
+
builtAt: string;
|
|
53
|
+
/**
|
|
54
|
+
* The build profile, so a reader can tell a corpus whose sources were checked
|
|
55
|
+
* from one whose sources were not.
|
|
56
|
+
*/
|
|
57
|
+
profile: string;
|
|
58
|
+
/**
|
|
59
|
+
* Sources in descending row order.
|
|
60
|
+
*/
|
|
61
|
+
sources: TrainingSourceRecord[];
|
|
62
|
+
/**
|
|
63
|
+
* Sources the build refused, with the reasons, so the record shows what was
|
|
64
|
+
* left out as well as what went in.
|
|
65
|
+
*
|
|
66
|
+
* Each key is `<adapter id>:<ISO 3166-1 alpha-2>`, the pair that addresses one register source,
|
|
67
|
+
* because one adapter can emit several jurisdictions and each carries its own license decision.
|
|
68
|
+
*/
|
|
69
|
+
refused: Record<string, readonly string[]>;
|
|
70
|
+
totalRows: number;
|
|
71
|
+
/**
|
|
72
|
+
* Sha256 over this manifest with `contentDigest` emptied.
|
|
73
|
+
*/
|
|
74
|
+
contentDigest: string;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The digest a manifest should include, computed over the manifest with its digest field emptied.
|
|
78
|
+
*/
|
|
79
|
+
export declare function trainingManifestDigest(manifest: TrainingManifest): string;
|
|
80
|
+
/**
|
|
81
|
+
* Freeze one build's source observations into a manifest.
|
|
82
|
+
*
|
|
83
|
+
* A license absent from the decision table records `decision: null` rather than being omitted,
|
|
84
|
+
* so a build that read an unregistered adapter stays distinguishable from one that read no source.
|
|
85
|
+
*/
|
|
86
|
+
export declare function freezeTrainingManifest(input: {
|
|
87
|
+
corpusVersion: string;
|
|
88
|
+
builtAt: string;
|
|
89
|
+
profile: string;
|
|
90
|
+
rowsBySource: ReadonlyMap<string, {
|
|
91
|
+
rows: number;
|
|
92
|
+
license: string;
|
|
93
|
+
}>;
|
|
94
|
+
decisionsByLicense: ReadonlyMap<string, LicenseDecision>;
|
|
95
|
+
refused: ReadonlyMap<string, readonly string[]>;
|
|
96
|
+
}): TrainingManifest;
|
|
97
|
+
/**
|
|
98
|
+
* Everything wrong with a training manifest, one message per problem.
|
|
99
|
+
*
|
|
100
|
+
* The digest check is what makes the record frozen rather than merely written.
|
|
101
|
+
*/
|
|
102
|
+
export declare function auditTrainingManifest(manifest: TrainingManifest): string[];
|
|
103
|
+
/**
|
|
104
|
+
* The sources in a manifest whose terms did not permit an operation
|
|
105
|
+
* when the build ran, with the reason for each.
|
|
106
|
+
*/
|
|
107
|
+
export declare function sourcesNotPermitting(manifest: TrainingManifest, operation: SourceOperation): Array<{
|
|
108
|
+
source: string;
|
|
109
|
+
because: string;
|
|
110
|
+
}>;
|
|
111
|
+
//# sourceMappingURL=training-manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"training-manifest.d.ts","sourceRoot":"","sources":["../../lib/source-register/training-manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAEvG;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,QAAQ,EAAE;QACT,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,kBAAkB,CAAA;QACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;QAC3B;;;;WAIG;QACH,SAAS,EAAE,eAAe,EAAE,CAAA;KAC5B,GAAG,IAAI,CAAA;CACR;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,0BAA0B,CAAA;IACtC,aAAa,EAAE,CAAC,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,OAAO,EAAE,oBAAoB,EAAE,CAAA;IAC/B;;;;;;OAMG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;CACrB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAEzE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC7C,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACpE,kBAAkB,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACxD,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAA;CAC/C,GAAG,gBAAgB,CAwCnB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,EAAE,CA4B1E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,eAAe,GACxB,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA+B5C"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* The frozen record of sources that contributed rows to one corpus build.
|
|
7
|
+
* It also records the applicable terms.
|
|
8
|
+
*
|
|
9
|
+
* Its digest is over the manifest with `contentDigest` emptied, so two builds over identical inputs
|
|
10
|
+
* produce the same digest. A change to a source, its elected grant, row count or recipe changes the digest.
|
|
11
|
+
*/
|
|
12
|
+
import { sha256Hex } from "@mailwoman/core/hash";
|
|
13
|
+
import { stringifyJSON } from "@mailwoman/core/json";
|
|
14
|
+
import { LicenseReviewState } from "#source-register/types";
|
|
15
|
+
/**
|
|
16
|
+
* The digest a manifest should include, computed over the manifest with its digest field emptied.
|
|
17
|
+
*/
|
|
18
|
+
export function trainingManifestDigest(manifest) {
|
|
19
|
+
return sha256Hex(stringifyJSON({ ...manifest, contentDigest: "" }));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Freeze one build's source observations into a manifest.
|
|
23
|
+
*
|
|
24
|
+
* A license absent from the decision table records `decision: null` rather than being omitted,
|
|
25
|
+
* so a build that read an unregistered adapter stays distinguishable from one that read no source.
|
|
26
|
+
*/
|
|
27
|
+
export function freezeTrainingManifest(input) {
|
|
28
|
+
const sources = [...input.rowsBySource.entries()]
|
|
29
|
+
.map(([source, { rows, license }]) => {
|
|
30
|
+
const decision = input.decisionsByLicense.get(license);
|
|
31
|
+
return {
|
|
32
|
+
source,
|
|
33
|
+
rows,
|
|
34
|
+
license,
|
|
35
|
+
decision: decision
|
|
36
|
+
? {
|
|
37
|
+
licenseID: decision.licenseID,
|
|
38
|
+
state: decision.state,
|
|
39
|
+
electedTerms: decision.state === LicenseReviewState.Elected ? decision.electedTerms : null,
|
|
40
|
+
permitted: decision.state === LicenseReviewState.Elected
|
|
41
|
+
? Object.entries(decision.operations ?? {})
|
|
42
|
+
.filter(([, reading]) => reading.permission === "permitted")
|
|
43
|
+
.map(([operation]) => operation)
|
|
44
|
+
.toSorted()
|
|
45
|
+
: [],
|
|
46
|
+
}
|
|
47
|
+
: null,
|
|
48
|
+
};
|
|
49
|
+
})
|
|
50
|
+
.toSorted((left, right) => right.rows - left.rows || left.source.localeCompare(right.source));
|
|
51
|
+
const manifest = {
|
|
52
|
+
manifestID: "corpus-training-manifest",
|
|
53
|
+
schemaVersion: 1,
|
|
54
|
+
corpusVersion: input.corpusVersion,
|
|
55
|
+
builtAt: input.builtAt,
|
|
56
|
+
profile: input.profile,
|
|
57
|
+
sources,
|
|
58
|
+
refused: Object.fromEntries([...input.refused.entries()].toSorted(([a], [b]) => a.localeCompare(b))),
|
|
59
|
+
totalRows: sources.reduce((total, record) => total + record.rows, 0),
|
|
60
|
+
contentDigest: "",
|
|
61
|
+
};
|
|
62
|
+
return { ...manifest, contentDigest: trainingManifestDigest(manifest) };
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Everything wrong with a training manifest, one message per problem.
|
|
66
|
+
*
|
|
67
|
+
* The digest check is what makes the record frozen rather than merely written.
|
|
68
|
+
*/
|
|
69
|
+
export function auditTrainingManifest(manifest) {
|
|
70
|
+
const problems = [];
|
|
71
|
+
if (manifest.contentDigest !== trainingManifestDigest(manifest)) {
|
|
72
|
+
problems.push("the manifest's content digest does not match its contents, so something edited it after its build");
|
|
73
|
+
}
|
|
74
|
+
const counted = manifest.sources.reduce((total, record) => total + record.rows, 0);
|
|
75
|
+
if (counted !== manifest.totalRows) {
|
|
76
|
+
problems.push(`the manifest totals ${manifest.totalRows} rows and its sources carry ${counted}`);
|
|
77
|
+
}
|
|
78
|
+
const seen = new Set();
|
|
79
|
+
for (const record of manifest.sources) {
|
|
80
|
+
if (seen.has(record.source)) {
|
|
81
|
+
problems.push(`source ${stringifyJSON(record.source)} appears more than once`);
|
|
82
|
+
}
|
|
83
|
+
seen.add(record.source);
|
|
84
|
+
if (record.rows <= 0) {
|
|
85
|
+
problems.push(`source ${stringifyJSON(record.source)} contributed ${record.rows} rows and should not be listed`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return problems;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The sources in a manifest whose terms did not permit an operation
|
|
92
|
+
* when the build ran, with the reason for each.
|
|
93
|
+
*/
|
|
94
|
+
export function sourcesNotPermitting(manifest, operation) {
|
|
95
|
+
const blocking = [];
|
|
96
|
+
for (const record of manifest.sources) {
|
|
97
|
+
if (!record.decision) {
|
|
98
|
+
blocking.push({
|
|
99
|
+
source: record.source,
|
|
100
|
+
because: `the register carried no decision for license ${stringifyJSON(record.license)} when the corpus was built`,
|
|
101
|
+
});
|
|
102
|
+
continue;
|
|
103
|
+
}
|
|
104
|
+
if (record.decision.state !== LicenseReviewState.Elected) {
|
|
105
|
+
blocking.push({
|
|
106
|
+
source: record.source,
|
|
107
|
+
because: `its license decision read ${record.decision.state} when the corpus was built`,
|
|
108
|
+
});
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (!record.decision.permitted.includes(operation)) {
|
|
112
|
+
blocking.push({
|
|
113
|
+
source: record.source,
|
|
114
|
+
because: `the elected terms ${stringifyJSON(record.decision.electedTerms ?? "")} did not permit ${operation}`,
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return blocking;
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=training-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"training-manifest.js","sourceRoot":"","sources":["../../lib/source-register/training-manifest.ts"],"names":[],"mappings":"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"}
|