/** * @copyright Sister Software * @license AGPL-3.0 * @author Teffen Ellis, et al. * * `ban`: Base Adresse Nationale CSV adapter (FR street-level). * * Input: a CSV dump from `adresse.data.gouv.fr` (semicolon-separated, ~25M rows nationally). The * adapter only reads the small set of columns needed for the corpus: * * - `numero` → `house_number` * - `rep` → repetition index ("bis", "ter") appended to house_number * - `nom_voie` → `street` (full road name; includes the prefix "Rue", "Avenue", etc.) * - `code_postal` → `postcode` * - `nom_commune` → `locality` * * `region` and `country` are not in BAN. The adapter stamps `country: "FR"` on every row; region is * left for the wof-postalcode + wof-admin cross-reference at corpus build time (a future pass; * for Phase 1 the row's region is simply absent). * * License: the official BAN (adresse.data.gouv.fr) is DUAL-licensed — Licence Ouverte 2.0 (Etalab, * attribution-only) OR ODbL (share-alike). We ELECT Licence Ouverte 2.0 (issue #26 Tier B: * allowed for training with attribution; the ODbL option's share-alike obligation would defeat * the proprietary-weights goal). Stamped onto every row as `Licence Ouverte 2.0` — NOT the older * conservative `ODbL-1.0` label, which wrongly read as Tier-C-denied in the corpus license audit. * The model card MUST carry the BAN attribution (Tier B obligation). * * The adapter is streaming-aware: `CSVSpliterator.fromAsync` reads the `;`-delimited dump row by * row, so a 25M-row file never sits in memory. Honors `opts.limit` for fixture / smoke runs, * `opts.signal` for cancellation, and `opts.country` for a self-consistency check (errors if * country !== FR). */ import type { CorpusAdapter } from "@mailwoman/corpus/types"; /** * Registry id for this adapter. Stamped into every row it emits, so a corpus record can be traced back to the dataset * it came from. */ export declare const BAN_ADAPTER_ID = "ban"; export declare function createBanAdapter(): CorpusAdapter; /** * The configured adapter instance registered with the corpus builder. */ export declare const banAdapter: CorpusAdapter; //# sourceMappingURL=adapter.d.ts.map