@mailwoman/bdc 9.0.0 → 9.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"build-bdc.js","sourceRoot":"","sources":["../../sdk/build-bdc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-bdc.js","sourceRoot":"","sources":["../../sdk/build-bdc.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,6 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  * @file FCC BDC availability-file download + zip extraction.
6
- *
7
- * Re-homed from Nexus's `sync/fcc/bdc/download-file.ts` (relicense-by-copy, no provenance headers),
8
- * trimmed hard: the Nexus original downloaded AND cached the `.zip`, extracted it, THEN wrote a Parquet
9
- * file with a row-count integrity check. All Parquet machinery is dropped here — `bdc.db` is
10
- * SQLite, not Parquet-backed (`bdc/schema.ts`) — and the `.zip` itself isn't cached either; only the
11
- * extracted CSV is written to `destinationDir`, and its presence alone is the cache check.
12
- *
13
- * The zip-extraction library also changes: the Nexus original's `extractSingleFileZip` used `adm-zip`
14
- * (a repo-wide Nexus dependency). No unzip dependency exists anywhere in this repo — every workspace
15
- * `package.json` was checked, `tiger/` and `osm/` included — so `yauzl-promise` is a `bdc`-only
16
- * dependency.
17
6
  */
18
7
  import type { BDCClient } from "./client.ts";
19
8
  import { type BDCFile } from "./common.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../sdk/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AA+B7D;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB/G"}
1
+ {"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../sdk/download.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,EAAqB,KAAK,OAAO,EAAE,MAAM,aAAa,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAoB/G"}
@@ -3,47 +3,11 @@
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
5
  * @file FCC BDC availability-file download + zip extraction.
6
- *
7
- * Re-homed from Nexus's `sync/fcc/bdc/download-file.ts` (relicense-by-copy, no provenance headers),
8
- * trimmed hard: the Nexus original downloaded AND cached the `.zip`, extracted it, THEN wrote a Parquet
9
- * file with a row-count integrity check. All Parquet machinery is dropped here — `bdc.db` is
10
- * SQLite, not Parquet-backed (`bdc/schema.ts`) — and the `.zip` itself isn't cached either; only the
11
- * extracted CSV is written to `destinationDir`, and its presence alone is the cache check.
12
- *
13
- * The zip-extraction library also changes: the Nexus original's `extractSingleFileZip` used `adm-zip`
14
- * (a repo-wide Nexus dependency). No unzip dependency exists anywhere in this repo — every workspace
15
- * `package.json` was checked, `tiger/` and `osm/` included — so `yauzl-promise` is a `bdc`-only
16
- * dependency.
17
6
  */
18
7
  import * as fs from "node:fs/promises";
19
8
  import * as path from "node:path";
20
- import { fromBuffer } from "yauzl-promise";
9
+ import { extractSingleFileZip } from "@mailwoman/core/fs/zip";
21
10
  import { BDCFilingDataType } from "./common.js";
22
- /**
23
- * Extract the first file entry of a zip archive buffer into a single in-memory `Buffer`.
24
- *
25
- * BDC availability downloads are always a single zip-wrapped CSV, so — like the Nexus original — this doesn't walk
26
- * every entry, just the first non-directory one.
27
- */
28
- async function extractSingleFileZip(zippedBuffer) {
29
- const zip = await fromBuffer(zippedBuffer);
30
- try {
31
- for await (const entry of zip) {
32
- if (entry.filename.endsWith("/"))
33
- continue;
34
- const readStream = await entry.openReadStream();
35
- const chunks = [];
36
- for await (const chunk of readStream) {
37
- chunks.push(chunk);
38
- }
39
- return Buffer.concat(chunks);
40
- }
41
- throw new Error("extractSingleFileZip: no file entries found in zip archive.");
42
- }
43
- finally {
44
- await zip.close();
45
- }
46
- }
47
11
  /**
48
12
  * Download and cache an FCC BDC availability file, extracting its zip-wrapped CSV to `destinationDir`.
49
13
  *
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../sdk/download.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAG1C,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAA;AAE7D;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CAAC,YAAoB;IACvD,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,CAAA;IAE1C,IAAI,CAAC;QACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAE1C,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,CAAA;YAC/C,MAAM,MAAM,GAAa,EAAE,CAAA;YAE3B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;gBACtC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACnB,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC7B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAA;IAC/E,CAAC;YAAS,CAAC;QACV,MAAM,GAAG,CAAC,KAAK,EAAE,CAAA;IAClB,CAAC;AACF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAiB,EAAE,IAAa,EAAE,cAAsB;IAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAA;IAEjE,MAAM,aAAa,GAAG,MAAM,EAAE;SAC5B,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;IAEpB,IAAI,aAAa;QAAE,OAAO,OAAO,CAAA;IAEjC,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,cAAc,CACpD,+BAA+B,iBAAiB,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,CAC9E,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAE5E,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAEtC,OAAO,OAAO,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../sdk/download.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAG7D,OAAO,EAAE,iBAAiB,EAAgB,MAAM,aAAa,CAAA;AAE7D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAiB,EAAE,IAAa,EAAE,cAAsB;IAC7F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAA;IAEjE,MAAM,aAAa,GAAG,MAAM,EAAE;SAC5B,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;SAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;IAEpB,IAAI,aAAa;QAAE,OAAO,OAAO,CAAA;IAEjC,MAAM,iBAAiB,GAAG,MAAM,MAAM,CAAC,cAAc,CACpD,+BAA+B,iBAAiB,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,EAAE,CAC9E,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAA;IAE5E,MAAM,EAAE,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACnD,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAEtC,OAAO,OAAO,CAAA;AACf,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"filing-landscape.d.ts","sourceRoot":"","sources":["../../sdk/filing-landscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAMnE,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAE9F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,qBAAqB,EAAE,CAAA;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,aAAa,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,yBAAyB,aAAa,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAAY,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,mCAAmC,MAAM,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,uCAAuC,OAAO,CAAA;AAE3D;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,0BAA0B,EAAE,MAAM,GAAG,MAAM,CAQtF;AAqBD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,EAC/B,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,eAAe,CAAC,CA6G1B"}
1
+ {"version":3,"file":"filing-landscape.d.ts","sourceRoot":"","sources":["../../sdk/filing-landscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAMnE,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAE9F;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAA;IACf,oBAAoB,EAAE,MAAM,CAAA;IAC5B,mBAAmB,EAAE,MAAM,CAAA;IAC3B,OAAO,EAAE,qBAAqB,EAAE,CAAA;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,aAAa,CAAA;AAEnD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAA;AAE/C;;GAEG;AACH,eAAO,MAAM,yBAAyB,aAAa,CAAA;AAEnD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAAY,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAA;AAEpD;;GAEG;AACH,eAAO,MAAM,mCAAmC,MAAM,CAAA;AAEtD;;GAEG;AACH,eAAO,MAAM,uCAAuC,OAAO,CAAA;AAE3D;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,0BAA0B,EAAE,MAAM,GAAG,MAAM,CAQtF;AAaD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAKxE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,EAC/B,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,eAAe,CAAC,CA6G1B"}
@@ -90,13 +90,6 @@ const speedBucketCaseSQL = sql `CASE
90
90
  WHEN max_advertised_download_speed < ${BDC_SPEED_BUCKET_THRESHOLD_GIGABIT_MBPS} THEN ${BDC_SPEED_BUCKET_100_1000}
91
91
  ELSE ${BDC_SPEED_BUCKET_GIGABIT}
92
92
  END`;
93
- /**
94
- * `BDCDatabase extends LayerContractDatabase` structurally, but Kysely's `transaction()` makes `Kysely<DB>` INVARIANT
95
- * in `DB` — same narrowing cast as `build-bdc.ts`'s `asContractDB`.
96
- */
97
- function asContractDB(kdb) {
98
- return kdb;
99
- }
100
93
  /**
101
94
  * Reconstruct the res-6 ancestor of a res-9 short-cell int WITHOUT a centroid — see the module docstring for why the
102
95
  * centroid is the wrong input. Exported so tests can assert this agrees, cell-for-cell, with `build-bdc.ts`'s own
@@ -126,7 +119,7 @@ export async function filingLandscape(db, query) {
126
119
  }
127
120
  // Read (and validate) the manifest FIRST — a broken/missing manifest must throw before any block is
128
121
  // classified, never fall through to an "unstamped" answer (gate 4).
129
- const manifest = await readLayerManifest(asContractDB(db));
122
+ const manifest = await readLayerManifest(db);
130
123
  const requestedUnits = query.geoids ?? query.h3Cells;
131
124
  const unitColumn = query.geoids ? "geoid" : "h3_cell";
132
125
  // Candidate res-9 cell per requested unit. `h3Cells` queries already carry the cell directly;
@@ -164,7 +157,7 @@ export async function filingLandscape(db, query) {
164
157
  continue;
165
158
  }
166
159
  const res6Parent = res9ShortCellToRes6Parent(candidateCell);
167
- const coverage = await readLayerCoverage(asContractDB(db), res6Parent);
160
+ const coverage = await readLayerCoverage(db, res6Parent);
168
161
  if (coverage === undefined) {
169
162
  unknownBlockCount++;
170
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"filing-landscape.js","sourceRoot":"","sources":["../../sdk/filing-landscape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filing-landscape.js","sourceRoot":"","sources":["../../sdk/filing-landscape.ts"],"names":[],"mappings":"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"}
@@ -2,29 +2,63 @@
2
2
  * @copyright Sister Software.
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
- * @file FCC BDC availability CSV byte-level parser.
6
- *
7
- * Re-homed from Nexus's `sync/fcc/bdc/parsing.ts` (relicense-by-copy, no provenance headers): the same
8
- * byte-scanning generator over the FCC's 12-column availability CSV see the Nexus `RawBSLAvailabilityRow`
9
- * tuple (`sync/fcc/bdc/block-aggregator.ts`) for the column order this scan assumes: frn, provider_id,
10
- * brand_name, location_id, technology, max_advertised_download_speed, max_advertised_upload_speed,
11
- * low_latency, business_residential_code, state_usps, block_geoid, h3_res8_id. Changed only where the
12
- * pre-registered 2a decisions require: `geoid` (column 10, `block_geoid`) decodes to an ASCII string
13
- * instead of staying a raw `Uint8Array` slice (decision 3), and `location_id` (column 3) stays a string
14
- * instead of `parseInt`ing it, preserving leading zeros (decision 1). `business_residential_code` is
15
- * likewise decoded to its ASCII string here the Nexus original kept only the field's first raw byte as
16
- * a bare `number`, which this port's `BDCAvailabilityRow` shape doesn't call for.
17
- *
18
- * Columns 0-2 (frn, provider_id, brand_name) and 9, 11 (state_usps, h3_res8_id) are scanned over but
19
- * never sliced into the output record: `provider_id` comes from the `providerID` parameter instead (the
20
- * FCC partitions availability files per provider, so the caller already knows it), and FRN/brand/state/H3
21
- * join concerns are out of scope for 2a (decision 8 provider identity is a 2c registry-join seam).
5
+ * @file FCC BDC availability CSV row reader.
6
+ *
7
+ * Streams the FCC's 12-column availability CSV through `CSVSpliterator` in `array` mode and projects the
8
+ * seven columns 2a keeps. Columns 0-2 (`frn`, `provider_id`, `brand_name`) and 9, 11 (`state_usps`,
9
+ * `h3_res8_id`) are read past and never emitted: `provider_id` comes from the {@linkcode ProviderID}
10
+ * parameter instead (the FCC partitions availability files per provider, so the caller already knows it),
11
+ * and FRN/brand/state/H3 join concerns are a 2c registry-join seam.
12
+ *
13
+ * Two projection decisions are load-bearing and pre-registered. `location_id` (column 3) stays a STRING —
14
+ * the FCC's values are zero-padded 10-digit strings and `parseInt` would lose the leading zeros (decision
15
+ * 1). `geoid` (column 10) is a string joining `TIGERBlockTable.GEOID` (decision 3).
16
+ *
17
+ * ## Why the source is a resource, not a Buffer
18
+ *
19
+ * This read is STREAMING because the files do not fit the alternative. One state × one technology —
20
+ * `bdc_48_FibertothePremises_fixed_broadband_D25` is 920 MB and 10,369,043 rows, and a national run
21
+ * spans every state × every technology. The previous byte scanner took a `Buffer`, so its caller opened
22
+ * with `readFile(csvPath)` and held the whole file resident per file.
23
+ *
24
+ * ## Why quoting is not optional here
25
+ *
26
+ * Measured on that same file: 421,555 rows carry one embedded comma inside a quoted `brand_name` and 327
27
+ * carry two ("FiberFirst, LLC", "Valor Telecommunications of Texas, LP"). A delimiter scan blind to quotes
28
+ * shifts every column right of `brand_name` on 4% of rows — measured exactly, a quote-blind
29
+ * `String.split(",")` mismatches 81,095 of 2,000,000 real rows. `enableQuoteHandling` also keeps an
30
+ * embedded NEWLINE inside its row — no row in that file needs it (the 12/13/14-field line counts sum
31
+ * exactly to `wc -l`, so no record is split across lines), but the guarantee is what makes the reader safe
32
+ * on a file nobody has measured yet.
33
+ *
34
+ * ## What this costs
35
+ *
36
+ * Measured on the full 920 MB / 10,369,042-row file, projecting these 7 of 12 columns, identical checksums
37
+ * across every arm. One arm per process — arms sharing a process mis-rank, because the JIT warms across
38
+ * them:
39
+ *
40
+ * ```
41
+ * hand-rolled byte scan, whole buffer 778 ns/row peak RSS 978 MB
42
+ * spliterator 6.2.0, streaming 2,435 ns/row peak RSS 112 MB
43
+ * spliterator patched, streaming 860 ns/row peak RSS 100 MB
44
+ * ```
45
+ *
46
+ * The 6.2.0 row is why this looked like a regression when it landed: CSVSpliterator decoded once per
47
+ * COLUMN, and `TextDecoder`'s per-call overhead dominates at column sizes. Fixed upstream in
48
+ * sister-software/spliterator#6 by decoding the row once — so the streaming path now runs within 10% of a
49
+ * whole-buffer byte scan while holding 9.8x less memory. **Requires a spliterator release carrying that
50
+ * fix**; on 6.2.0 this reader is correct and roughly 3x slower.
51
+ *
52
+ * Do not route around it by hand-rolling a splitter here again. The staging insert this feeds measures 615
53
+ * ns/row, so the parse does sit on the critical path — but a local fast-and-quote-blind parser is exactly
54
+ * the trade that produced the scanner this replaced, and the quote-blind version is 4% wrong.
22
55
  */
56
+ import type { AsyncDataResource } from "spliterator";
23
57
  import type { ProviderID } from "./common.ts";
24
58
  /**
25
59
  * A single parsed row of FCC BDC availability data.
26
60
  *
27
- * @see {@linkcode takeAvailabilityLine}
61
+ * @see {@linkcode readAvailabilityRows}
28
62
  */
29
63
  export interface BDCAvailabilityRow {
30
64
  provider_id: number;
@@ -39,19 +73,23 @@ export interface BDCAvailabilityRow {
39
73
  low_latency: 0 | 1;
40
74
  business_residential_code: string;
41
75
  /**
42
- * Decoded to an ASCII string at the parse boundary (2a decision 3) — joins `TIGERBlockTable.GEOID` (note: uppercase
43
- * column on that side).
76
+ * Joins `TIGERBlockTable.GEOID` (note: uppercase column on that side) 2a decision 3.
44
77
  */
45
78
  geoid: string;
46
79
  }
47
80
  /**
48
- * Given a buffer containing FCC BDC availability CSV data, yield each data row (the header row is skipped) as a
49
- * {@linkcode BDCAvailabilityRow}.
81
+ * Stream an FCC BDC availability CSV, yielding every data row. The header row is consumed, never emitted.
82
+ *
83
+ * `source` is anything `spliterator` can open asynchronously — a path string, a `path-ts` builder, a URL, a file
84
+ * handle, or an async chunk iterator. Prefer handing it the path and letting it own the read: that is what keeps a 920
85
+ * MB file off the heap.
86
+ */
87
+ export declare function readAvailabilityRows(source: AsyncDataResource, providerID: ProviderID): AsyncIterable<BDCAvailabilityRow>;
88
+ /**
89
+ * Synchronous sibling for an in-memory buffer — fixtures and tests, never the build path.
50
90
  *
51
- * A byte-level scan, not a general CSV parser: it tracks comma/newline byte positions directly and only toggles
52
- * quote-awareness via a running double-quote count (an odd count means the scanner is currently inside a quoted field,
53
- * so a comma there isn't a column delimiter) — matching the Nexus original's approach for this specific, known-shaped
54
- * 12-column file rather than reaching for a general CSV library.
91
+ * Kept because a test that must assert on a literal CSV should not have to stand up a stream to do it. If you are
92
+ * reaching for this against a file on disk, reach for {@linkcode readAvailabilityRows} instead.
55
93
  */
56
- export declare function takeAvailabilityLine(csvBuffer: Buffer, providerID: ProviderID): Iterable<BDCAvailabilityRow>;
94
+ export declare function readAvailabilityRowsSync(csvBuffer: Buffer | string, providerID: ProviderID): Iterable<BDCAvailabilityRow>;
57
95
  //# sourceMappingURL=parsing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../../sdk/parsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAgB7C;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,6BAA6B,EAAE,MAAM,CAAA;IACrC,2BAA2B,EAAE,MAAM,CAAA;IACnC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAA;IAClB,yBAAyB,EAAE,MAAM,CAAA;IACjC;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;GAQG;AACH,wBAAiB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,QAAQ,CAAC,kBAAkB,CAAC,CAmD7G"}
1
+ {"version":3,"file":"parsing.d.ts","sourceRoot":"","sources":["../../sdk/parsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAGpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAmB7C;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC,WAAW,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,6BAA6B,EAAE,MAAM,CAAA;IACrC,2BAA2B,EAAE,MAAM,CAAA;IACnC,WAAW,EAAE,CAAC,GAAG,CAAC,CAAA;IAClB,yBAAyB,EAAE,MAAM,CAAA;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACb;AA4BD;;;;;;GAMG;AACH,wBAAuB,oBAAoB,CAC1C,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,UAAU,GACpB,aAAa,CAAC,kBAAkB,CAAC,CAInC;AAED;;;;;GAKG;AACH,wBAAiB,wBAAwB,CACxC,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,UAAU,EAAE,UAAU,GACpB,QAAQ,CAAC,kBAAkB,CAAC,CAI9B"}
@@ -2,86 +2,119 @@
2
2
  * @copyright Sister Software.
3
3
  * @license AGPL-3.0
4
4
  * @author Teffen Ellis, et al.
5
- * @file FCC BDC availability CSV byte-level parser.
5
+ * @file FCC BDC availability CSV row reader.
6
6
  *
7
- * Re-homed from Nexus's `sync/fcc/bdc/parsing.ts` (relicense-by-copy, no provenance headers): the same
8
- * byte-scanning generator over the FCC's 12-column availability CSV see the Nexus `RawBSLAvailabilityRow`
9
- * tuple (`sync/fcc/bdc/block-aggregator.ts`) for the column order this scan assumes: frn, provider_id,
10
- * brand_name, location_id, technology, max_advertised_download_speed, max_advertised_upload_speed,
11
- * low_latency, business_residential_code, state_usps, block_geoid, h3_res8_id. Changed only where the
12
- * pre-registered 2a decisions require: `geoid` (column 10, `block_geoid`) decodes to an ASCII string
13
- * instead of staying a raw `Uint8Array` slice (decision 3), and `location_id` (column 3) stays a string
14
- * instead of `parseInt`ing it, preserving leading zeros (decision 1). `business_residential_code` is
15
- * likewise decoded to its ASCII string here — the Nexus original kept only the field's first raw byte as
16
- * a bare `number`, which this port's `BDCAvailabilityRow` shape doesn't call for.
7
+ * Streams the FCC's 12-column availability CSV through `CSVSpliterator` in `array` mode and projects the
8
+ * seven columns 2a keeps. Columns 0-2 (`frn`, `provider_id`, `brand_name`) and 9, 11 (`state_usps`,
9
+ * `h3_res8_id`) are read past and never emitted: `provider_id` comes from the {@linkcode ProviderID}
10
+ * parameter instead (the FCC partitions availability files per provider, so the caller already knows it),
11
+ * and FRN/brand/state/H3 join concerns are a 2c registry-join seam.
17
12
  *
18
- * Columns 0-2 (frn, provider_id, brand_name) and 9, 11 (state_usps, h3_res8_id) are scanned over but
19
- * never sliced into the output record: `provider_id` comes from the `providerID` parameter instead (the
20
- * FCC partitions availability files per provider, so the caller already knows it), and FRN/brand/state/H3
21
- * join concerns are out of scope for 2a (decision 8 — provider identity is a 2c registry-join seam).
13
+ * Two projection decisions are load-bearing and pre-registered. `location_id` (column 3) stays a STRING
14
+ * the FCC's values are zero-padded 10-digit strings and `parseInt` would lose the leading zeros (decision
15
+ * 1). `geoid` (column 10) is a string joining `TIGERBlockTable.GEOID` (decision 3).
16
+ *
17
+ * ## Why the source is a resource, not a Buffer
18
+ *
19
+ * This read is STREAMING because the files do not fit the alternative. One state × one technology —
20
+ * `bdc_48_FibertothePremises_fixed_broadband_D25` — is 920 MB and 10,369,043 rows, and a national run
21
+ * spans every state × every technology. The previous byte scanner took a `Buffer`, so its caller opened
22
+ * with `readFile(csvPath)` and held the whole file resident per file.
23
+ *
24
+ * ## Why quoting is not optional here
25
+ *
26
+ * Measured on that same file: 421,555 rows carry one embedded comma inside a quoted `brand_name` and 327
27
+ * carry two ("FiberFirst, LLC", "Valor Telecommunications of Texas, LP"). A delimiter scan blind to quotes
28
+ * shifts every column right of `brand_name` on 4% of rows — measured exactly, a quote-blind
29
+ * `String.split(",")` mismatches 81,095 of 2,000,000 real rows. `enableQuoteHandling` also keeps an
30
+ * embedded NEWLINE inside its row — no row in that file needs it (the 12/13/14-field line counts sum
31
+ * exactly to `wc -l`, so no record is split across lines), but the guarantee is what makes the reader safe
32
+ * on a file nobody has measured yet.
33
+ *
34
+ * ## What this costs
35
+ *
36
+ * Measured on the full 920 MB / 10,369,042-row file, projecting these 7 of 12 columns, identical checksums
37
+ * across every arm. One arm per process — arms sharing a process mis-rank, because the JIT warms across
38
+ * them:
39
+ *
40
+ * ```
41
+ * hand-rolled byte scan, whole buffer 778 ns/row peak RSS 978 MB
42
+ * spliterator 6.2.0, streaming 2,435 ns/row peak RSS 112 MB
43
+ * spliterator patched, streaming 860 ns/row peak RSS 100 MB
44
+ * ```
45
+ *
46
+ * The 6.2.0 row is why this looked like a regression when it landed: CSVSpliterator decoded once per
47
+ * COLUMN, and `TextDecoder`'s per-call overhead dominates at column sizes. Fixed upstream in
48
+ * sister-software/spliterator#6 by decoding the row once — so the streaming path now runs within 10% of a
49
+ * whole-buffer byte scan while holding 9.8x less memory. **Requires a spliterator release carrying that
50
+ * fix**; on 6.2.0 this reader is correct and roughly 3x slower.
51
+ *
52
+ * Do not route around it by hand-rolling a splitter here again. The staging insert this feeds measures 615
53
+ * ns/row, so the parse does sit on the critical path — but a local fast-and-quote-blind parser is exactly
54
+ * the trade that produced the scanner this replaced, and the quote-blind version is 4% wrong.
22
55
  */
56
+ import { CSVSpliterator } from "spliterator";
23
57
  /**
24
- * Byte values this scanner switches on.
58
+ * Column positions in the FCC's 12-column availability CSV. Named rather than sliced by offset so a reader can check
59
+ * them against the header row without counting commas:
25
60
  *
26
- * Local to this file — no generic newline-delimited-file utility exists elsewhere in the repo to import. Nexus's
27
- * equivalent (`LineDelimitedCharacter`) lived in `@isp.nexus/sdk/files`, a workspace this port doesn't carry over, and
28
- * repo convention forbids TS `enum` anyway (`erasableSyntaxOnly`).
61
+ * `frn,provider_id,brand_name,location_id,technology,max_advertised_download_speed,`
62
+ * `max_advertised_upload_speed,low_latency,business_residential_code,state_usps,block_geoid,h3_res8_id`
29
63
  */
30
- const CSVByte = {
31
- Newline: 10,
32
- Comma: 44,
33
- DoubleQuote: 34,
34
- One: 49,
64
+ const Column = {
65
+ LocationID: 3,
66
+ Technology: 4,
67
+ MaxAdvertisedDownloadSpeed: 5,
68
+ MaxAdvertisedUploadSpeed: 6,
69
+ LowLatency: 7,
70
+ BusinessResidentialCode: 8,
71
+ BlockGeoID: 10,
35
72
  };
36
73
  /**
37
- * Given a buffer containing FCC BDC availability CSV data, yield each data row (the header row is skipped) as a
38
- * {@linkcode BDCAvailabilityRow}.
74
+ * Project one already-split CSV row onto {@linkcode BDCAvailabilityRow}.
75
+ *
76
+ * Separate from the iteration so the sync and async readers cannot drift in what they emit — the one-function
77
+ * discipline. Not exported: a caller with a split row wants {@linkcode readAvailabilityRowsSync}.
78
+ */
79
+ function projectRow(columns, providerID) {
80
+ return {
81
+ provider_id: providerID,
82
+ location_id: columns[Column.LocationID] ?? "",
83
+ technology_code: Number.parseInt(columns[Column.Technology] ?? "", 10),
84
+ max_advertised_download_speed: Number.parseInt(columns[Column.MaxAdvertisedDownloadSpeed] ?? "", 10),
85
+ max_advertised_upload_speed: Number.parseInt(columns[Column.MaxAdvertisedUploadSpeed] ?? "", 10),
86
+ low_latency: columns[Column.LowLatency] === "1" ? 1 : 0,
87
+ business_residential_code: columns[Column.BusinessResidentialCode] ?? "",
88
+ geoid: columns[Column.BlockGeoID] ?? "",
89
+ };
90
+ }
91
+ /**
92
+ * Shared reader options. `header: true` consumes the first row as the header even in `array` mode;
93
+ * `enableQuoteHandling` is what makes the 421,882 quoted-brand rows keep their column alignment. `crlf` already
94
+ * defaults to `true` for CSV (RFC 4180), so a CRLF file does not leak `\r` into the last column.
95
+ */
96
+ const READER_OPTIONS = { mode: "array", enableQuoteHandling: true };
97
+ /**
98
+ * Stream an FCC BDC availability CSV, yielding every data row. The header row is consumed, never emitted.
99
+ *
100
+ * `source` is anything `spliterator` can open asynchronously — a path string, a `path-ts` builder, a URL, a file
101
+ * handle, or an async chunk iterator. Prefer handing it the path and letting it own the read: that is what keeps a 920
102
+ * MB file off the heap.
103
+ */
104
+ export async function* readAvailabilityRows(source, providerID) {
105
+ for await (const columns of CSVSpliterator.fromAsync(source, READER_OPTIONS)) {
106
+ yield projectRow(columns, providerID);
107
+ }
108
+ }
109
+ /**
110
+ * Synchronous sibling for an in-memory buffer — fixtures and tests, never the build path.
39
111
  *
40
- * A byte-level scan, not a general CSV parser: it tracks comma/newline byte positions directly and only toggles
41
- * quote-awareness via a running double-quote count (an odd count means the scanner is currently inside a quoted field,
42
- * so a comma there isn't a column delimiter) — matching the Nexus original's approach for this specific, known-shaped
43
- * 12-column file rather than reaching for a general CSV library.
112
+ * Kept because a test that must assert on a literal CSV should not have to stand up a stream to do it. If you are
113
+ * reaching for this against a file on disk, reach for {@linkcode readAvailabilityRows} instead.
44
114
  */
45
- export function* takeAvailabilityLine(csvBuffer, providerID) {
46
- // Skip the header row.
47
- let byteIndex = csvBuffer.indexOf(CSVByte.Newline) + 1;
48
- const contentDelimiters = new Uint32Array(12); // 12 columns
49
- contentDelimiters[0] = byteIndex;
50
- let delimiterIndex = 1;
51
- let doubleQuoteCount = 0;
52
- while (byteIndex < csvBuffer.length) {
53
- const byte = csvBuffer[byteIndex];
54
- if (byte === CSVByte.DoubleQuote) {
55
- doubleQuoteCount++;
56
- }
57
- if (byte === CSVByte.Comma && doubleQuoteCount % 2 === 0) {
58
- contentDelimiters[delimiterIndex] = byteIndex;
59
- delimiterIndex++;
60
- }
61
- if (byte === CSVByte.Newline) {
62
- contentDelimiters[delimiterIndex] = CSVByte.Newline;
63
- const slices = [];
64
- // Skip columns 0-2 (frn, provider_id, brand_name) — see the file header for why.
65
- for (let i = 3; i < contentDelimiters.length; i++) {
66
- const start = contentDelimiters[i] + 1;
67
- const end = contentDelimiters[i + 1];
68
- slices.push(csvBuffer.subarray(start, end));
69
- }
70
- const record = {
71
- provider_id: providerID,
72
- location_id: slices[0].toString("ascii"),
73
- technology_code: Number.parseInt(slices[1].toString(), 10),
74
- max_advertised_download_speed: Number.parseInt(slices[2].toString(), 10),
75
- max_advertised_upload_speed: Number.parseInt(slices[3].toString(), 10),
76
- low_latency: slices[4][0] === CSVByte.One ? 1 : 0,
77
- business_residential_code: slices[5].toString("ascii"),
78
- geoid: slices[7].toString("ascii"),
79
- };
80
- yield record;
81
- delimiterIndex = 1;
82
- doubleQuoteCount = 0;
83
- }
84
- byteIndex++;
115
+ export function* readAvailabilityRowsSync(csvBuffer, providerID) {
116
+ for (const columns of CSVSpliterator.from(csvBuffer, READER_OPTIONS)) {
117
+ yield projectRow(columns, providerID);
85
118
  }
86
119
  }
87
120
  //# sourceMappingURL=parsing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../sdk/parsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;;;;GAMG;AACH,MAAM,OAAO,GAAG;IACf,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,WAAW,EAAE,EAAE;IACf,GAAG,EAAE,EAAE;CACE,CAAA;AA0BV;;;;;;;;GAQG;AACH,MAAM,SAAS,CAAC,CAAC,oBAAoB,CAAC,SAAiB,EAAE,UAAsB;IAC9E,uBAAuB;IACvB,IAAI,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACtD,MAAM,iBAAiB,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAA,CAAC,aAAa;IAC3D,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAA;IAChC,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,gBAAgB,GAAG,CAAC,CAAA;IAExB,OAAO,SAAS,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;QAEjC,IAAI,IAAI,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC;YAClC,gBAAgB,EAAE,CAAA;QACnB,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,CAAC,KAAK,IAAI,gBAAgB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1D,iBAAiB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;YAE7C,cAAc,EAAE,CAAA;QACjB,CAAC;QAED,IAAI,IAAI,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YAC9B,iBAAiB,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,OAAO,CAAA;YACnD,MAAM,MAAM,GAAa,EAAE,CAAA;YAE3B,iFAAiF;YACjF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAE,GAAG,CAAC,CAAA;gBACvC,MAAM,GAAG,GAAG,iBAAiB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBAEpC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YAC5C,CAAC;YAED,MAAM,MAAM,GAAuB;gBAClC,WAAW,EAAE,UAAU;gBACvB,WAAW,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACzC,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;gBAC3D,6BAA6B,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACzE,2BAA2B,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;gBACvE,WAAW,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,yBAAyB,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACvD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;aACnC,CAAA;YAED,MAAM,MAAM,CAAA;YACZ,cAAc,GAAG,CAAC,CAAA;YAClB,gBAAgB,GAAG,CAAC,CAAA;QACrB,CAAC;QAED,SAAS,EAAE,CAAA;IACZ,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../sdk/parsing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAI5C;;;;;;GAMG;AACH,MAAM,MAAM,GAAG;IACd,UAAU,EAAE,CAAC;IACb,UAAU,EAAE,CAAC;IACb,0BAA0B,EAAE,CAAC;IAC7B,wBAAwB,EAAE,CAAC;IAC3B,UAAU,EAAE,CAAC;IACb,uBAAuB,EAAE,CAAC;IAC1B,UAAU,EAAE,EAAE;CACL,CAAA;AAyBV;;;;;GAKG;AACH,SAAS,UAAU,CAAC,OAA0B,EAAE,UAAsB;IACrE,OAAO;QACN,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;QAC7C,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QACtE,6BAA6B,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QACpG,2BAA2B,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;QAChG,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE;QACxE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE;KACvC,CAAA;AACF,CAAC;AAED;;;;GAIG;AACH,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAW,CAAA;AAE5E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,oBAAoB,CAC1C,MAAyB,EACzB,UAAsB;IAEtB,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,cAAc,CAAC,SAAS,CAAW,MAAM,EAAE,cAAc,CAAC,EAAE,CAAC;QACxF,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,SAAS,CAAC,CAAC,wBAAwB,CACxC,SAA0B,EAC1B,UAAsB;IAEtB,KAAK,MAAM,OAAO,IAAI,cAAc,CAAC,IAAI,CAAW,SAAS,EAAE,cAAc,CAAC,EAAE,CAAC;QAChF,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACtC,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plausibility.d.ts","sourceRoot":"","sources":["../../sdk/plausibility.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plausibility.d.ts","sourceRoot":"","sources":["../../sdk/plausibility.ts"],"names":[],"mappings":"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"}
@@ -111,7 +111,7 @@
111
111
  * can NOT catch a layer whose row spine is 9 but whose COVERAGE cells were derived at some OTHER resolution than 6
112
112
  * — that gap needs the schema addition, not a runtime assertion.
113
113
  */
114
- import { readLayerCoverage, readLayerManifest } from "@mailwoman/core/layers";
114
+ import { readLayerCoverage, readLayerManifest, } from "@mailwoman/core/layers";
115
115
  import { shortCellToInt } from "@mailwoman/spatial";
116
116
  import { latLngToCell } from "h3-js";
117
117
  import { BDC_H3_RESOLUTION } from "../schema.js";
@@ -151,14 +151,6 @@ const SPEED_BUCKET_RANK = {
151
151
  [BDC_SPEED_BUCKET_100_1000]: 2,
152
152
  [BDC_SPEED_BUCKET_GIGABIT]: 3,
153
153
  };
154
- /**
155
- * `BDCDatabase extends LayerContractDatabase` structurally, but Kysely's `transaction()` makes `Kysely<DB>` INVARIANT
156
- * in `DB` — same cast idiom as `filing-landscape.ts`'s own private `asContractDB` (decision 8: reuse, never re-derive;
157
- * copied rather than imported since the original is module-private).
158
- */
159
- function asContractDB(kdb) {
160
- return kdb;
161
- }
162
154
  /**
163
155
  * `true` when `filing` corroborates the claim: same `technology_code`, AND `filing.speed_bucket` ranks at or above the
164
156
  * claimed download speed's own bucket. A different tech, or a same-tech but LESSER filing, is `false` — never disproof,
@@ -259,7 +251,7 @@ export async function plausibilityCheck(claim, deps) {
259
251
  // independently per WIRED layer, not only when both are present: a poi-only call still joins poi's coverage
260
252
  // table against a BDC_H3_RESOLUTION-derived cell (below) and must not do so unchecked.
261
253
  if (deps.bdcDB) {
262
- await assertLayerSpineResolution("bdc", asContractDB(deps.bdcDB), BDC_H3_RESOLUTION);
254
+ await assertLayerSpineResolution("bdc", deps.bdcDB, BDC_H3_RESOLUTION);
263
255
  }
264
256
  if (deps.poi) {
265
257
  await assertLayerSpineResolution("poi", deps.poi.contractDB, BDC_H3_RESOLUTION);