@mailwoman/bdc 9.3.0 → 10.0.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/lib/sdk/build-bdc.ts +5 -119
- package/lib/sdk/client.ts +0 -2
- package/lib/sdk/geometry.ts +124 -0
- package/lib/sdk/index.ts +2 -2
- package/lib/sdk/nearest-infrastructure.ts +1 -1
- package/lib/sdk/parsing.ts +5 -5
- package/lib/sdk/plausibility.ts +1 -1
- package/out/sdk/build-bdc.d.ts +1 -33
- package/out/sdk/build-bdc.d.ts.map +1 -1
- package/out/sdk/build-bdc.js +4 -88
- package/out/sdk/build-bdc.js.map +1 -1
- package/out/sdk/buildings.d.ts.map +1 -1
- package/out/sdk/client.d.ts +0 -2
- package/out/sdk/client.d.ts.map +1 -1
- package/out/sdk/client.js +0 -2
- package/out/sdk/client.js.map +1 -1
- package/out/sdk/common.d.ts.map +1 -1
- package/out/sdk/data-collection.d.ts.map +1 -1
- package/out/sdk/{filing-dates.d.ts → filing/dates.d.ts} +1 -1
- package/out/sdk/filing/dates.d.ts.map +1 -0
- package/out/sdk/{filing-dates.js → filing/dates.js} +1 -1
- package/out/sdk/filing/dates.js.map +1 -0
- package/out/sdk/{filing-landscape.d.ts → filing/landscape.d.ts} +1 -1
- package/out/sdk/filing/landscape.d.ts.map +1 -0
- package/out/sdk/{filing-landscape.js → filing/landscape.js} +1 -1
- package/out/sdk/filing/landscape.js.map +1 -0
- package/out/sdk/geometry.d.ts +40 -0
- package/out/sdk/geometry.d.ts.map +1 -0
- package/out/sdk/geometry.js +93 -0
- package/out/sdk/geometry.js.map +1 -0
- package/out/sdk/index.d.ts +2 -2
- package/out/sdk/index.js +2 -2
- package/out/sdk/nearest-infrastructure.js +1 -1
- package/out/sdk/parsing.d.ts +1 -1
- package/out/sdk/parsing.js +5 -5
- package/out/sdk/parsing.js.map +1 -1
- package/out/sdk/plausibility.d.ts +1 -1
- package/out/sdk/plausibility.js +1 -1
- package/out/sdk/technologies.d.ts.map +1 -1
- package/package.json +20 -20
- package/out/sdk/filing-dates.d.ts.map +0 -1
- package/out/sdk/filing-dates.js.map +0 -1
- package/out/sdk/filing-landscape.d.ts.map +0 -1
- package/out/sdk/filing-landscape.js.map +0 -1
- /package/lib/sdk/{filing-dates.ts → filing/dates.ts} +0 -0
- /package/lib/sdk/{filing-landscape.ts → filing/landscape.ts} +0 -0
package/lib/sdk/build-bdc.ts
CHANGED
|
@@ -50,9 +50,8 @@
|
|
|
50
50
|
* the house rule exists for.
|
|
51
51
|
*/
|
|
52
52
|
|
|
53
|
-
import { pathExists,
|
|
53
|
+
import { pathExists, readFileRange } from "@mailwoman/core/fs/readers"
|
|
54
54
|
import { removePathIfPresent, movePath, makeDirectories, removePath } from "@mailwoman/core/fs/writers"
|
|
55
|
-
import { tryParsingJSON } from "@mailwoman/core/json"
|
|
56
55
|
import {
|
|
57
56
|
createLayerCoverageTable,
|
|
58
57
|
createLayerManifestTable,
|
|
@@ -72,11 +71,11 @@ import type { ProviderListRow } from "@mailwoman/filer/sdk"
|
|
|
72
71
|
import { shortCellToInt, type H3Cell } from "@mailwoman/spatial"
|
|
73
72
|
import { beginBatched } from "@mailwoman/sqlite/batched"
|
|
74
73
|
import { DatabaseClient } from "@mailwoman/sqlite/client"
|
|
75
|
-
import { openBuiltClient } from "@mailwoman/sqlite/sealed"
|
|
76
74
|
import { sealDatabase, swapDatabaseIntoPlace } from "@mailwoman/sqlite/sealed-db"
|
|
77
75
|
import { cellToParent, latLngToCell } from "h3-js"
|
|
78
76
|
import type { Insertable, Kysely } from "kysely"
|
|
79
77
|
import { basename, dirname, join } from "path-ts"
|
|
78
|
+
import { Globerator } from "spliterator/node/fs"
|
|
80
79
|
|
|
81
80
|
import {
|
|
82
81
|
BDC_COVERAGE_H3_RESOLUTION,
|
|
@@ -90,6 +89,8 @@ import {
|
|
|
90
89
|
import type { ProviderID } from "#sdk/common"
|
|
91
90
|
import { readAvailabilityRows, type BDCAvailabilityRow } from "#sdk/parsing"
|
|
92
91
|
|
|
92
|
+
export { createTIGERBlockCentroidLookup, geometryCentroid } from "#sdk/geometry"
|
|
93
|
+
|
|
93
94
|
/**
|
|
94
95
|
* Rows committed per `BEGIN`/`COMMIT` batch during both the staging load and the materialize pass — matches
|
|
95
96
|
* `build-poi.ts`'s `STAGE_BATCH_SIZE` discipline.
|
|
@@ -321,121 +322,6 @@ async function* readAvailabilityRowsFromCSVPaths(csvPaths: readonly string[]): A
|
|
|
321
322
|
}
|
|
322
323
|
}
|
|
323
324
|
|
|
324
|
-
/**
|
|
325
|
-
* One GeoJSON `Polygon`/`MultiPolygon` geometry, as stored in `tabblock20.geometry` (see `tiger/sdk/schema.ts`).
|
|
326
|
-
*/
|
|
327
|
-
interface GeoJSONPolygon {
|
|
328
|
-
type: "Polygon"
|
|
329
|
-
coordinates: number[][][]
|
|
330
|
-
}
|
|
331
|
-
|
|
332
|
-
interface GeoJSONMultiPolygon {
|
|
333
|
-
type: "MultiPolygon"
|
|
334
|
-
coordinates: number[][][][]
|
|
335
|
-
}
|
|
336
|
-
|
|
337
|
-
/**
|
|
338
|
-
* Area-weighted (shoelace) centroid of a GeoJSON `Polygon`/`MultiPolygon`'s EXTERIOR ring(s), area-weighted across
|
|
339
|
-
* rings for a MultiPolygon. Interior rings/holes are still ignored — a hole moves a block's centroid far less than the
|
|
340
|
-
* vertex-density skew this replaces, and only 1.0% of measured blocks carry one.
|
|
341
|
-
*
|
|
342
|
-
* This REPLACED the first version's vertex-average, whose "same res-9 cell for all but pathological shapes" claim was
|
|
343
|
-
* falsified by measurement over every real TIGER 2020 block in LA + Orange county (118,360 blocks, 2026-08-11): the
|
|
344
|
-
* vertex-average landed in a different res-9 cell for 11.6% of blocks, p99 displacement 286 m (past the ~174 m cell
|
|
345
|
-
* edge), max 3.7 km — the tail is TIGER's elongated rural/mountain blocks, whose boundary vertices cluster on the
|
|
346
|
-
* squiggly natural edge and drag a vertex-average toward it.
|
|
347
|
-
*
|
|
348
|
-
* A degenerate geometry with zero total ring area (a sliver the shoelace annihilates) falls back to the vertex average
|
|
349
|
-
* — a weaker answer beats none, and the fallback is exactly the old behavior.
|
|
350
|
-
*
|
|
351
|
-
* Returns `undefined` for anything that doesn't parse as one of the two geometry types (including `null` geometry).
|
|
352
|
-
*/
|
|
353
|
-
export function geometryCentroid(geometryJSON: string | null): { lat: number; lon: number } | undefined {
|
|
354
|
-
if (!geometryJSON) return undefined
|
|
355
|
-
|
|
356
|
-
const geometry = tryParsingJSON<GeoJSONPolygon | GeoJSONMultiPolygon>(geometryJSON)
|
|
357
|
-
|
|
358
|
-
if (!geometry) return undefined
|
|
359
|
-
|
|
360
|
-
const exteriorRings: number[][][] =
|
|
361
|
-
geometry.type === "Polygon"
|
|
362
|
-
? [geometry.coordinates[0] ?? []]
|
|
363
|
-
: geometry.type === "MultiPolygon"
|
|
364
|
-
? geometry.coordinates.map((polygon) => polygon[0] ?? [])
|
|
365
|
-
: []
|
|
366
|
-
|
|
367
|
-
let totalArea = 0
|
|
368
|
-
let weightedLon = 0
|
|
369
|
-
let weightedLat = 0
|
|
370
|
-
let sumLon = 0
|
|
371
|
-
let sumLat = 0
|
|
372
|
-
let count = 0
|
|
373
|
-
|
|
374
|
-
for (const ring of exteriorRings) {
|
|
375
|
-
let ringArea = 0
|
|
376
|
-
let ringLon = 0
|
|
377
|
-
let ringLat = 0
|
|
378
|
-
|
|
379
|
-
for (let i = 0; i < ring.length - 1; i++) {
|
|
380
|
-
const [x1, y1] = ring[i]!
|
|
381
|
-
const [x2, y2] = ring[i + 1]!
|
|
382
|
-
|
|
383
|
-
if (typeof x1 !== "number" || typeof y1 !== "number" || typeof x2 !== "number" || typeof y2 !== "number") {
|
|
384
|
-
continue
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
const cross = x1 * y2 - x2 * y1
|
|
388
|
-
ringArea += cross
|
|
389
|
-
ringLon += (x1 + x2) * cross
|
|
390
|
-
ringLat += (y1 + y2) * cross
|
|
391
|
-
// The vertex-average fallback accumulates alongside — one pass, both answers.
|
|
392
|
-
sumLon += x1
|
|
393
|
-
sumLat += y1
|
|
394
|
-
|
|
395
|
-
count++
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
ringArea /= 2
|
|
399
|
-
|
|
400
|
-
if (ringArea === 0) continue
|
|
401
|
-
|
|
402
|
-
const weight = Math.abs(ringArea)
|
|
403
|
-
totalArea += weight
|
|
404
|
-
weightedLon += (ringLon / (6 * ringArea)) * weight
|
|
405
|
-
weightedLat += (ringLat / (6 * ringArea)) * weight
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
if (totalArea > 0) {
|
|
409
|
-
return { lat: weightedLat / totalArea, lon: weightedLon / totalArea }
|
|
410
|
-
}
|
|
411
|
-
|
|
412
|
-
if (count === 0) return undefined
|
|
413
|
-
|
|
414
|
-
return { lat: sumLat / count, lon: sumLon / count }
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
/**
|
|
418
|
-
* The production `blockCentroids` supplier: opens the TIGER blocks database READ-ONLY and probes `tabblock20.GEOID`
|
|
419
|
-
* (uppercase) per lookup, decoding its GeoJSON `geometry` column via {@linkcode geometryCentroid}. The factory awaits
|
|
420
|
-
* its read-only open; the per-lookup probe and the `BuildBDCOptions.blockCentroids` interface stay synchronous — a
|
|
421
|
-
* plain sync function (the same sync-by-interface discipline AGENTS.md documents for the resolver ladder), so the
|
|
422
|
-
* returned closure uses `node:sqlite`'s raw `.prepare()`/`.get()` directly rather than Kysely. The connection is left
|
|
423
|
-
* open for the caller's process lifetime (a read-path lookup, not a build) — same lifecycle as the resolver-wof-sqlite
|
|
424
|
-
* lookups.
|
|
425
|
-
*/
|
|
426
|
-
export async function createTIGERBlockCentroidLookup(
|
|
427
|
-
tigerDBPath: string
|
|
428
|
-
): Promise<(geoid: string) => { lat: number; lon: number } | undefined> {
|
|
429
|
-
const db = await openBuiltClient(tigerDBPath)
|
|
430
|
-
const stmt = db.prepare("SELECT geometry FROM tabblock20 WHERE GEOID = ?")
|
|
431
|
-
|
|
432
|
-
return (geoid: string) => {
|
|
433
|
-
const row = stmt.get(geoid) as { geometry: string | null } | undefined
|
|
434
|
-
|
|
435
|
-
return row ? geometryCentroid(row.geometry) : undefined
|
|
436
|
-
}
|
|
437
|
-
}
|
|
438
|
-
|
|
439
325
|
/**
|
|
440
326
|
* Rows per `INSERT` batch when populating `bdc_provider`. Far smaller than {@link STAGE_BATCH_SIZE}: that constant
|
|
441
327
|
* tunes `bdc_availability`'s multi-million-row raw-prepared-statement path, whereas `bdc_provider` is a small
|
|
@@ -580,7 +466,7 @@ export async function buildBDCDatabase(options: BuildBDCOptions): Promise<BuildB
|
|
|
580
466
|
if (!(await pathExists(options.out))) {
|
|
581
467
|
const base = basename(options.out)
|
|
582
468
|
|
|
583
|
-
const parked =
|
|
469
|
+
const parked = await Globerator.from("*", { cwd: dirname(options.out), absolute: false }).find(
|
|
584
470
|
(name) => name === `${base}.prev` || name.startsWith(`${base}.old-`)
|
|
585
471
|
)
|
|
586
472
|
|
package/lib/sdk/client.ts
CHANGED
|
@@ -44,8 +44,6 @@ import { ResourceError } from "@mailwoman/core/errors"
|
|
|
44
44
|
import { $private } from "#env"
|
|
45
45
|
|
|
46
46
|
// Re-exported so a caller branching on this client's failures needs exactly one import.
|
|
47
|
-
export { isTransientResourceError } from "@mailwoman/core/api"
|
|
48
|
-
export { ResourceError } from "@mailwoman/core/errors"
|
|
49
47
|
|
|
50
48
|
/**
|
|
51
49
|
* The FCC BDC public-API base URL every request is resolved against.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
* @file Centroid and TIGER lookup utilities for BDC block geometry.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { tryParsingJSON } from "@mailwoman/core/json"
|
|
9
|
+
import { openBuiltClient } from "@mailwoman/sqlite/sealed"
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* One GeoJSON `Polygon`/`MultiPolygon` geometry, as stored in `tabblock20.geometry` (see `tiger/sdk/schema.ts`).
|
|
13
|
+
*/
|
|
14
|
+
interface GeoJSONPolygon {
|
|
15
|
+
type: "Polygon"
|
|
16
|
+
coordinates: number[][][]
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
interface GeoJSONMultiPolygon {
|
|
20
|
+
type: "MultiPolygon"
|
|
21
|
+
coordinates: number[][][][]
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Area-weighted (shoelace) centroid of a GeoJSON `Polygon`/`MultiPolygon`'s EXTERIOR ring(s), area-weighted across
|
|
26
|
+
* rings for a MultiPolygon. Interior rings/holes are still ignored — a hole moves a block's centroid far less than the
|
|
27
|
+
* vertex-density skew this replaces, and only 1.0% of measured blocks carry one.
|
|
28
|
+
*
|
|
29
|
+
* This REPLACED the first version's vertex-average, whose "same res-9 cell for all but pathological shapes" claim was
|
|
30
|
+
* falsified by measurement over every real TIGER 2020 block in LA + Orange county (118,360 blocks, 2026-08-11): the
|
|
31
|
+
* vertex-average landed in a different res-9 cell for 11.6% of blocks, p99 displacement 286 m (past the ~174 m cell
|
|
32
|
+
* edge), max 3.7 km — the tail is TIGER's elongated rural/mountain blocks, whose boundary vertices cluster on the
|
|
33
|
+
* squiggly natural edge and drag a vertex-average toward it.
|
|
34
|
+
*
|
|
35
|
+
* A degenerate geometry with zero total ring area (a sliver the shoelace annihilates) falls back to the vertex average
|
|
36
|
+
* — a weaker answer beats none, and the fallback is exactly the old behavior.
|
|
37
|
+
*
|
|
38
|
+
* Returns `undefined` for anything that doesn't parse as one of the two geometry types (including `null` geometry).
|
|
39
|
+
*/
|
|
40
|
+
export function geometryCentroid(geometryJSON: string | null): { lat: number; lon: number } | undefined {
|
|
41
|
+
if (!geometryJSON) return undefined
|
|
42
|
+
|
|
43
|
+
const geometry = tryParsingJSON<GeoJSONPolygon | GeoJSONMultiPolygon>(geometryJSON)
|
|
44
|
+
|
|
45
|
+
if (!geometry) return undefined
|
|
46
|
+
|
|
47
|
+
const exteriorRings: number[][][] =
|
|
48
|
+
geometry.type === "Polygon"
|
|
49
|
+
? [geometry.coordinates[0] ?? []]
|
|
50
|
+
: geometry.type === "MultiPolygon"
|
|
51
|
+
? geometry.coordinates.map((polygon) => polygon[0] ?? [])
|
|
52
|
+
: []
|
|
53
|
+
|
|
54
|
+
let totalArea = 0
|
|
55
|
+
let weightedLon = 0
|
|
56
|
+
let weightedLat = 0
|
|
57
|
+
let sumLon = 0
|
|
58
|
+
let sumLat = 0
|
|
59
|
+
let count = 0
|
|
60
|
+
|
|
61
|
+
for (const ring of exteriorRings) {
|
|
62
|
+
let ringArea = 0
|
|
63
|
+
let ringLon = 0
|
|
64
|
+
let ringLat = 0
|
|
65
|
+
|
|
66
|
+
for (let i = 0; i < ring.length - 1; i++) {
|
|
67
|
+
const [x1, y1] = ring[i]!
|
|
68
|
+
const [x2, y2] = ring[i + 1]!
|
|
69
|
+
|
|
70
|
+
if (typeof x1 !== "number" || typeof y1 !== "number" || typeof x2 !== "number" || typeof y2 !== "number") {
|
|
71
|
+
continue
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const cross = x1 * y2 - x2 * y1
|
|
75
|
+
ringArea += cross
|
|
76
|
+
ringLon += (x1 + x2) * cross
|
|
77
|
+
ringLat += (y1 + y2) * cross
|
|
78
|
+
// The vertex-average fallback accumulates alongside — one pass, both answers.
|
|
79
|
+
sumLon += x1
|
|
80
|
+
sumLat += y1
|
|
81
|
+
|
|
82
|
+
count++
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
ringArea /= 2
|
|
86
|
+
|
|
87
|
+
if (ringArea === 0) continue
|
|
88
|
+
|
|
89
|
+
const weight = Math.abs(ringArea)
|
|
90
|
+
totalArea += weight
|
|
91
|
+
weightedLon += (ringLon / (6 * ringArea)) * weight
|
|
92
|
+
weightedLat += (ringLat / (6 * ringArea)) * weight
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (totalArea > 0) {
|
|
96
|
+
return { lat: weightedLat / totalArea, lon: weightedLon / totalArea }
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
if (count === 0) return undefined
|
|
100
|
+
|
|
101
|
+
return { lat: sumLat / count, lon: sumLon / count }
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* The production `blockCentroids` supplier: opens the TIGER blocks database READ-ONLY and probes `tabblock20.GEOID`
|
|
106
|
+
* (uppercase) per lookup, decoding its GeoJSON `geometry` column via {@linkcode geometryCentroid}. The factory awaits
|
|
107
|
+
* its read-only open; the per-lookup probe and the `BuildBDCOptions.blockCentroids` interface stay synchronous — a
|
|
108
|
+
* plain sync function (the same sync-by-interface discipline AGENTS.md documents for the resolver ladder), so the
|
|
109
|
+
* returned closure uses `node:sqlite`'s raw `.prepare()`/`.get()` directly rather than Kysely. The connection is left
|
|
110
|
+
* open for the caller's process lifetime (a read-path lookup, not a build) — same lifecycle as the resolver-wof-sqlite
|
|
111
|
+
* lookups.
|
|
112
|
+
*/
|
|
113
|
+
export async function createTIGERBlockCentroidLookup(
|
|
114
|
+
tigerDBPath: string
|
|
115
|
+
): Promise<(geoid: string) => { lat: number; lon: number } | undefined> {
|
|
116
|
+
const db = await openBuiltClient(tigerDBPath)
|
|
117
|
+
const stmt = db.prepare("SELECT geometry FROM tabblock20 WHERE GEOID = ?")
|
|
118
|
+
|
|
119
|
+
return (geoid: string) => {
|
|
120
|
+
const row = stmt.get(geoid) as { geometry: string | null } | undefined
|
|
121
|
+
|
|
122
|
+
return row ? geometryCentroid(row.geometry) : undefined
|
|
123
|
+
}
|
|
124
|
+
}
|
package/lib/sdk/index.ts
CHANGED
|
@@ -4,8 +4,8 @@ export * from "#sdk/client"
|
|
|
4
4
|
export * from "#sdk/common"
|
|
5
5
|
export * from "#sdk/data-collection"
|
|
6
6
|
export * from "#sdk/download"
|
|
7
|
-
export * from "#sdk/filing
|
|
8
|
-
export * from "#sdk/filing
|
|
7
|
+
export * from "#sdk/filing/dates"
|
|
8
|
+
export * from "#sdk/filing/landscape"
|
|
9
9
|
export * from "#sdk/list-files"
|
|
10
10
|
export * from "#sdk/location"
|
|
11
11
|
export * from "#sdk/nearest-infrastructure"
|
|
@@ -40,7 +40,7 @@ import { shortCellToInt, type H3Cell, type PointLiteral } from "@mailwoman/spati
|
|
|
40
40
|
import type { DatabaseClient } from "@mailwoman/sqlite/client"
|
|
41
41
|
import { latLngToCell } from "h3-js"
|
|
42
42
|
|
|
43
|
-
import { res9ShortCellToRes6Parent } from "#sdk/filing
|
|
43
|
+
import { res9ShortCellToRes6Parent } from "#sdk/filing/landscape"
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* Ring budget default for {@link nearestInfrastructure} — wider than `POILookup`'s own internal `DEFAULT_MAX_RINGS`
|
package/lib/sdk/parsing.ts
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* Measured on that same file: 421,555 rows carry one embedded comma inside a quoted `brand_name` and 327
|
|
27
27
|
* carry two ("FiberFirst, LLC", "Valor Telecommunications of Texas, LP"). A delimiter scan blind to quotes
|
|
28
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.
|
|
29
|
+
* `String.split(",")` mismatches 81,095 of 2,000,000 real rows. Quote-aware parsing also keeps an
|
|
30
30
|
* embedded NEWLINE inside its row — no row in that file needs it (the 12/13/14-field line counts sum
|
|
31
31
|
* exactly to `wc -l`, so no record is split across lines), but the guarantee is what makes the reader safe
|
|
32
32
|
* on a file nobody has measured yet.
|
|
@@ -119,11 +119,11 @@ function projectRow(columns: readonly string[], providerID: ProviderID): BDCAvai
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
/**
|
|
122
|
-
* Shared reader options. `header: true` consumes the first row as the header even in `array` mode
|
|
123
|
-
*
|
|
124
|
-
*
|
|
122
|
+
* Shared reader options. `header: true` consumes the first row as the header even in `array` mode. Quote-aware parsing
|
|
123
|
+
* keeps the 421,882 quoted-brand rows aligned. `crlf` already defaults to `true` for CSV (RFC 4180), so a CRLF file
|
|
124
|
+
* does not leak `\r` into the last column.
|
|
125
125
|
*/
|
|
126
|
-
const READER_OPTIONS = { mode: "array"
|
|
126
|
+
const READER_OPTIONS = { mode: "array" } as const
|
|
127
127
|
|
|
128
128
|
/**
|
|
129
129
|
* Stream an FCC BDC availability CSV, yielding every data row. The header row is consumed, never emitted.
|
package/lib/sdk/plausibility.ts
CHANGED
|
@@ -129,7 +129,7 @@ import {
|
|
|
129
129
|
res9ShortCellToRes6Parent,
|
|
130
130
|
speedBucketForDownloadSpeed,
|
|
131
131
|
type ProviderFilingSummary,
|
|
132
|
-
} from "#sdk/filing
|
|
132
|
+
} from "#sdk/filing/landscape"
|
|
133
133
|
import { nearestInfrastructure, type InfrastructureHit } from "#sdk/nearest-infrastructure"
|
|
134
134
|
import {
|
|
135
135
|
BroadbandTechnologyCategory,
|
package/out/sdk/build-bdc.d.ts
CHANGED
|
@@ -54,6 +54,7 @@ import type { ProviderListRow } from "@mailwoman/filer/sdk";
|
|
|
54
54
|
import { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
55
55
|
import type { ProviderID } from "#sdk/common";
|
|
56
56
|
import { type BDCAvailabilityRow } from "#sdk/parsing";
|
|
57
|
+
export { createTIGERBlockCentroidLookup, geometryCentroid } from "#sdk/geometry";
|
|
57
58
|
/**
|
|
58
59
|
* The manifest's `attribution` — names the FCC as the source, then copies the Fabric-boundary sentence verbatim from
|
|
59
60
|
* `bdc/README.md`'s "CostQuest Fabric boundary" section (backticks stripped — this is plain prose, not markdown).
|
|
@@ -179,39 +180,6 @@ export interface BuildBDCResult {
|
|
|
179
180
|
* malformed CSV must be loud, never silently absorbed, so this throws instead.
|
|
180
181
|
*/
|
|
181
182
|
export declare function peekProviderID(csvBuffer: Buffer, csvPath?: string): ProviderID;
|
|
182
|
-
/**
|
|
183
|
-
* Area-weighted (shoelace) centroid of a GeoJSON `Polygon`/`MultiPolygon`'s EXTERIOR ring(s), area-weighted across
|
|
184
|
-
* rings for a MultiPolygon. Interior rings/holes are still ignored — a hole moves a block's centroid far less than the
|
|
185
|
-
* vertex-density skew this replaces, and only 1.0% of measured blocks carry one.
|
|
186
|
-
*
|
|
187
|
-
* This REPLACED the first version's vertex-average, whose "same res-9 cell for all but pathological shapes" claim was
|
|
188
|
-
* falsified by measurement over every real TIGER 2020 block in LA + Orange county (118,360 blocks, 2026-08-11): the
|
|
189
|
-
* vertex-average landed in a different res-9 cell for 11.6% of blocks, p99 displacement 286 m (past the ~174 m cell
|
|
190
|
-
* edge), max 3.7 km — the tail is TIGER's elongated rural/mountain blocks, whose boundary vertices cluster on the
|
|
191
|
-
* squiggly natural edge and drag a vertex-average toward it.
|
|
192
|
-
*
|
|
193
|
-
* A degenerate geometry with zero total ring area (a sliver the shoelace annihilates) falls back to the vertex average
|
|
194
|
-
* — a weaker answer beats none, and the fallback is exactly the old behavior.
|
|
195
|
-
*
|
|
196
|
-
* Returns `undefined` for anything that doesn't parse as one of the two geometry types (including `null` geometry).
|
|
197
|
-
*/
|
|
198
|
-
export declare function geometryCentroid(geometryJSON: string | null): {
|
|
199
|
-
lat: number;
|
|
200
|
-
lon: number;
|
|
201
|
-
} | undefined;
|
|
202
|
-
/**
|
|
203
|
-
* The production `blockCentroids` supplier: opens the TIGER blocks database READ-ONLY and probes `tabblock20.GEOID`
|
|
204
|
-
* (uppercase) per lookup, decoding its GeoJSON `geometry` column via {@linkcode geometryCentroid}. The factory awaits
|
|
205
|
-
* its read-only open; the per-lookup probe and the `BuildBDCOptions.blockCentroids` interface stay synchronous — a
|
|
206
|
-
* plain sync function (the same sync-by-interface discipline AGENTS.md documents for the resolver ladder), so the
|
|
207
|
-
* returned closure uses `node:sqlite`'s raw `.prepare()`/`.get()` directly rather than Kysely. The connection is left
|
|
208
|
-
* open for the caller's process lifetime (a read-path lookup, not a build) — same lifecycle as the resolver-wof-sqlite
|
|
209
|
-
* lookups.
|
|
210
|
-
*/
|
|
211
|
-
export declare function createTIGERBlockCentroidLookup(tigerDBPath: string): Promise<(geoid: string) => {
|
|
212
|
-
lat: number;
|
|
213
|
-
lon: number;
|
|
214
|
-
} | undefined>;
|
|
215
183
|
/**
|
|
216
184
|
* Build `bdc.db`: stage (raw dedup) → materialize (resolve `h3_cell` per geoid, skip+count unknown geoids) → drop stage
|
|
217
185
|
* → geoid index (index-after-load) → coverage → layer manifest → seal → atomic move-into-place. See the module
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-bdc.d.ts","sourceRoot":"","sources":["../../lib/sdk/build-bdc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;
|
|
1
|
+
{"version":3,"file":"build-bdc.d.ts","sourceRoot":"","sources":["../../lib/sdk/build-bdc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAaH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAMrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAgBzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAE5E,OAAO,EAAE,8BAA8B,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAQhF;;;GAGG;AACH,eAAO,MAAM,eAAe,QAEqF,CAAA;AAEjH,MAAM,WAAW,eAAe;IAC/B;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;IACvE;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAA;IACX;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B;;;;;;OAMG;IACH,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IAC3E,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,QAAQ,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,CAAA;IACtE;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC,aAAa,CAAC,CAAA;IACvC;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX;;;;;;OAMG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,kBAAkB,EAAE,MAAM,CAAA;CAC1B;AA4CD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,CA+B9E;AA8ID;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAoSxF"}
|
package/out/sdk/build-bdc.js
CHANGED
|
@@ -49,19 +49,19 @@
|
|
|
49
49
|
* mid-build crash mustn't cost the previously-good artifact, which is exactly the failure mode
|
|
50
50
|
* the house rule exists for.
|
|
51
51
|
*/
|
|
52
|
-
import { pathExists,
|
|
52
|
+
import { pathExists, readFileRange } from "@mailwoman/core/fs/readers";
|
|
53
53
|
import { removePathIfPresent, movePath, makeDirectories, removePath } from "@mailwoman/core/fs/writers";
|
|
54
|
-
import { tryParsingJSON } from "@mailwoman/core/json";
|
|
55
54
|
import { createLayerCoverageTable, createLayerManifestTable, LayerFreshnessPolicy, LayerTier, sourcePresentCoverageCells, writeLayerCoverage, writeLayerManifest, } from "@mailwoman/core/layers";
|
|
56
55
|
import { shortCellToInt } from "@mailwoman/spatial";
|
|
57
56
|
import { beginBatched } from "@mailwoman/sqlite/batched";
|
|
58
57
|
import { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
59
|
-
import { openBuiltClient } from "@mailwoman/sqlite/sealed";
|
|
60
58
|
import { sealDatabase, swapDatabaseIntoPlace } from "@mailwoman/sqlite/sealed-db";
|
|
61
59
|
import { cellToParent, latLngToCell } from "h3-js";
|
|
62
60
|
import { basename, dirname, join } from "path-ts";
|
|
61
|
+
import { Globerator } from "spliterator/node/fs";
|
|
63
62
|
import { BDC_COVERAGE_H3_RESOLUTION, BDC_H3_RESOLUTION, createBDCAvailabilityTable, createBDCGeoidIndex, createBDCProviderTable, } from "#schema";
|
|
64
63
|
import { readAvailabilityRows } from "#sdk/parsing";
|
|
64
|
+
export { createTIGERBlockCentroidLookup, geometryCentroid } from "#sdk/geometry";
|
|
65
65
|
/**
|
|
66
66
|
* Rows committed per `BEGIN`/`COMMIT` batch during both the staging load and the materialize pass — matches
|
|
67
67
|
* `build-poi.ts`'s `STAGE_BATCH_SIZE` discipline.
|
|
@@ -156,90 +156,6 @@ async function* readAvailabilityRowsFromCSVPaths(csvPaths) {
|
|
|
156
156
|
yield* readAvailabilityRows(csvPath, providerID);
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
|
-
/**
|
|
160
|
-
* Area-weighted (shoelace) centroid of a GeoJSON `Polygon`/`MultiPolygon`'s EXTERIOR ring(s), area-weighted across
|
|
161
|
-
* rings for a MultiPolygon. Interior rings/holes are still ignored — a hole moves a block's centroid far less than the
|
|
162
|
-
* vertex-density skew this replaces, and only 1.0% of measured blocks carry one.
|
|
163
|
-
*
|
|
164
|
-
* This REPLACED the first version's vertex-average, whose "same res-9 cell for all but pathological shapes" claim was
|
|
165
|
-
* falsified by measurement over every real TIGER 2020 block in LA + Orange county (118,360 blocks, 2026-08-11): the
|
|
166
|
-
* vertex-average landed in a different res-9 cell for 11.6% of blocks, p99 displacement 286 m (past the ~174 m cell
|
|
167
|
-
* edge), max 3.7 km — the tail is TIGER's elongated rural/mountain blocks, whose boundary vertices cluster on the
|
|
168
|
-
* squiggly natural edge and drag a vertex-average toward it.
|
|
169
|
-
*
|
|
170
|
-
* A degenerate geometry with zero total ring area (a sliver the shoelace annihilates) falls back to the vertex average
|
|
171
|
-
* — a weaker answer beats none, and the fallback is exactly the old behavior.
|
|
172
|
-
*
|
|
173
|
-
* Returns `undefined` for anything that doesn't parse as one of the two geometry types (including `null` geometry).
|
|
174
|
-
*/
|
|
175
|
-
export function geometryCentroid(geometryJSON) {
|
|
176
|
-
if (!geometryJSON)
|
|
177
|
-
return undefined;
|
|
178
|
-
const geometry = tryParsingJSON(geometryJSON);
|
|
179
|
-
if (!geometry)
|
|
180
|
-
return undefined;
|
|
181
|
-
const exteriorRings = geometry.type === "Polygon"
|
|
182
|
-
? [geometry.coordinates[0] ?? []]
|
|
183
|
-
: geometry.type === "MultiPolygon"
|
|
184
|
-
? geometry.coordinates.map((polygon) => polygon[0] ?? [])
|
|
185
|
-
: [];
|
|
186
|
-
let totalArea = 0;
|
|
187
|
-
let weightedLon = 0;
|
|
188
|
-
let weightedLat = 0;
|
|
189
|
-
let sumLon = 0;
|
|
190
|
-
let sumLat = 0;
|
|
191
|
-
let count = 0;
|
|
192
|
-
for (const ring of exteriorRings) {
|
|
193
|
-
let ringArea = 0;
|
|
194
|
-
let ringLon = 0;
|
|
195
|
-
let ringLat = 0;
|
|
196
|
-
for (let i = 0; i < ring.length - 1; i++) {
|
|
197
|
-
const [x1, y1] = ring[i];
|
|
198
|
-
const [x2, y2] = ring[i + 1];
|
|
199
|
-
if (typeof x1 !== "number" || typeof y1 !== "number" || typeof x2 !== "number" || typeof y2 !== "number") {
|
|
200
|
-
continue;
|
|
201
|
-
}
|
|
202
|
-
const cross = x1 * y2 - x2 * y1;
|
|
203
|
-
ringArea += cross;
|
|
204
|
-
ringLon += (x1 + x2) * cross;
|
|
205
|
-
ringLat += (y1 + y2) * cross;
|
|
206
|
-
// The vertex-average fallback accumulates alongside — one pass, both answers.
|
|
207
|
-
sumLon += x1;
|
|
208
|
-
sumLat += y1;
|
|
209
|
-
count++;
|
|
210
|
-
}
|
|
211
|
-
ringArea /= 2;
|
|
212
|
-
if (ringArea === 0)
|
|
213
|
-
continue;
|
|
214
|
-
const weight = Math.abs(ringArea);
|
|
215
|
-
totalArea += weight;
|
|
216
|
-
weightedLon += (ringLon / (6 * ringArea)) * weight;
|
|
217
|
-
weightedLat += (ringLat / (6 * ringArea)) * weight;
|
|
218
|
-
}
|
|
219
|
-
if (totalArea > 0) {
|
|
220
|
-
return { lat: weightedLat / totalArea, lon: weightedLon / totalArea };
|
|
221
|
-
}
|
|
222
|
-
if (count === 0)
|
|
223
|
-
return undefined;
|
|
224
|
-
return { lat: sumLat / count, lon: sumLon / count };
|
|
225
|
-
}
|
|
226
|
-
/**
|
|
227
|
-
* The production `blockCentroids` supplier: opens the TIGER blocks database READ-ONLY and probes `tabblock20.GEOID`
|
|
228
|
-
* (uppercase) per lookup, decoding its GeoJSON `geometry` column via {@linkcode geometryCentroid}. The factory awaits
|
|
229
|
-
* its read-only open; the per-lookup probe and the `BuildBDCOptions.blockCentroids` interface stay synchronous — a
|
|
230
|
-
* plain sync function (the same sync-by-interface discipline AGENTS.md documents for the resolver ladder), so the
|
|
231
|
-
* returned closure uses `node:sqlite`'s raw `.prepare()`/`.get()` directly rather than Kysely. The connection is left
|
|
232
|
-
* open for the caller's process lifetime (a read-path lookup, not a build) — same lifecycle as the resolver-wof-sqlite
|
|
233
|
-
* lookups.
|
|
234
|
-
*/
|
|
235
|
-
export async function createTIGERBlockCentroidLookup(tigerDBPath) {
|
|
236
|
-
const db = await openBuiltClient(tigerDBPath);
|
|
237
|
-
const stmt = db.prepare("SELECT geometry FROM tabblock20 WHERE GEOID = ?");
|
|
238
|
-
return (geoid) => {
|
|
239
|
-
const row = stmt.get(geoid);
|
|
240
|
-
return row ? geometryCentroid(row.geometry) : undefined;
|
|
241
|
-
};
|
|
242
|
-
}
|
|
243
159
|
/**
|
|
244
160
|
* Rows per `INSERT` batch when populating `bdc_provider`. Far smaller than {@link STAGE_BATCH_SIZE}: that constant
|
|
245
161
|
* tunes `bdc_availability`'s multi-million-row raw-prepared-statement path, whereas `bdc_provider` is a small
|
|
@@ -351,7 +267,7 @@ export async function buildBDCDatabase(options) {
|
|
|
351
267
|
// serving. Both aside spellings: this builder's old `.prev` and swapDatabaseIntoPlace's `.old-<pid>`.
|
|
352
268
|
if (!(await pathExists(options.out))) {
|
|
353
269
|
const base = basename(options.out);
|
|
354
|
-
const parked =
|
|
270
|
+
const parked = await Globerator.from("*", { cwd: dirname(options.out), absolute: false }).find((name) => name === `${base}.prev` || name.startsWith(`${base}.old-`));
|
|
355
271
|
if (parked) {
|
|
356
272
|
await movePath(join(dirname(options.out), parked), options.out);
|
|
357
273
|
progress(`restored ${parked} into place (a prior run crashed mid-swap)`);
|
package/out/sdk/build-bdc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-bdc.js","sourceRoot":"","sources":["../../lib/sdk/build-bdc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAEH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACvG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EACN,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,EACT,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,wBAAwB,CAAA;AAQ/B,OAAO,EAAE,cAAc,EAAe,MAAM,oBAAoB,CAAA;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AACjF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEjD,OAAO,EACN,0BAA0B,EAC1B,iBAAiB,EACjB,0BAA0B,EAC1B,mBAAmB,EACnB,sBAAsB,GAGtB,MAAM,SAAS,CAAA;AAEhB,OAAO,EAAE,oBAAoB,EAA2B,MAAM,cAAc,CAAA;AAE5E;;;GAGG;AACH,MAAM,gBAAgB,GAAG,MAAM,CAAA;AAE/B;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAC3B,uGAAuG;IACvG,gHAAgH,CAAA;AAwGjH;;;;;;;;;GASG;AACH,KAAK,UAAU,mBAAmB,CAAC,EAAuB;IACzD,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,WAAW,CAAC;SACxB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD,SAAS,CAAC,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC3D,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACpD,SAAS,CAAC,+BAA+B,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACzE,SAAS,CAAC,6BAA6B,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvE,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD,SAAS,CAAC,2BAA2B,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAClE,uBAAuB,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;SACnG,OAAO,EAAE,CAAA;AACZ,CAAC;AAmBD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB,EAAE,OAAgB;IACjE,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAA;IAEjD,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qEAAqE,UAAU,EAAE,CAAC,CAAA;IACnG,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IAE1D,MAAM,aAAa,GAAG,SAAS;SAC7B,QAAQ,CAAC,SAAS,GAAG,CAAC,EAAE,WAAW,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;SACrE,QAAQ,CAAC,OAAO,CAAC,CAAA;IAEnB,MAAM,eAAe,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnD,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,gFAAgF,UAAU,EAAE,CAAC,CAAA;IAC9G,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAEvD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAClB,gFAAgF,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE;YAChH,GAAG,UAAU,gGAAgG;YAC7G,mHAAmH,CACpH,CAAA;IACF,CAAC;IAED,OAAO,UAAwB,CAAA;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,EAAE,GAAG,IAAI,CAAA;AAExC;;;;;GAKG;AACH,KAAK,SAAS,CAAC,CAAC,gCAAgC,CAAC,QAA2B;IAC3E,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC,EAAE,sBAAsB,CAAC,EAAE,OAAO,CAAC,CAAA;QAEnG,KAAK,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;IACjD,CAAC;AACF,CAAC;AAeD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAA2B;IAC3D,IAAI,CAAC,YAAY;QAAE,OAAO,SAAS,CAAA;IAEnC,MAAM,QAAQ,GAAG,cAAc,CAAuC,YAAY,CAAC,CAAA;IAEnF,IAAI,CAAC,QAAQ;QAAE,OAAO,SAAS,CAAA;IAE/B,MAAM,aAAa,GAClB,QAAQ,CAAC,IAAI,KAAK,SAAS;QAC1B,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACjC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc;YACjC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACzD,CAAC,CAAC,EAAE,CAAA;IAEP,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QAClC,IAAI,QAAQ,GAAG,CAAC,CAAA;QAChB,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;YACzB,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAA;YAE7B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;gBAC1G,SAAQ;YACT,CAAC;YAED,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;YAC/B,QAAQ,IAAI,KAAK,CAAA;YACjB,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;YAC5B,OAAO,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;YAC5B,8EAA8E;YAC9E,MAAM,IAAI,EAAE,CAAA;YACZ,MAAM,IAAI,EAAE,CAAA;YAEZ,KAAK,EAAE,CAAA;QACR,CAAC;QAED,QAAQ,IAAI,CAAC,CAAA;QAEb,IAAI,QAAQ,KAAK,CAAC;YAAE,SAAQ;QAE5B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjC,SAAS,IAAI,MAAM,CAAA;QACnB,WAAW,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAA;QAClD,WAAW,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,MAAM,CAAA;IACnD,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,GAAG,EAAE,WAAW,GAAG,SAAS,EAAE,CAAA;IACtE,CAAC;IAED,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAEjC,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CAAA;AACpD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CACnD,WAAmB;IAEnB,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,WAAW,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAA;IAE1E,OAAO,CAAC,KAAa,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAA4C,CAAA;QAEtE,OAAO,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACxD,CAAC,CAAA;AACF,CAAC;AAED;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,GAAG,CAAA;AAEtC;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CACnC,SAAqE;IAErE,MAAM,YAAY,GAAG,IAAI,GAAG,EAA6B,CAAA;IAEzD,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;QAE7C,IAAI,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACf,CAAC;aAAM,CAAC;YACP,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAA;QACxC,CAAC;IACF,CAAC;IAED,OAAO,YAAY,CAAA;AACpB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,KAAK,UAAU,wBAAwB,CACtC,EAA+B,EAC/B,SAAqE,EACrE,OAAkD,EAClD,IAAY;IAEZ,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,SAAS,CAAC,CAAA;IAC3D,MAAM,UAAU,GAAmC,EAAE,CAAA;IAErD,IAAI,QAAoE,CAAA;IAExE,KAAK,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,YAAY,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAE7D,IAAI,GAAe,CAAA;QAEnB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,GAAG,GAAG,YAAY,CAAC,CAAC,CAAE,CAAA;QACvB,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,OAAO,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CACd,iCAAiC,UAAU,YAAY,YAAY,CAAC,MAAM,4BAA4B;oBACrG,2FAA2F;oBAC3F,uBAAuB,CACxB,CAAA;YACF,CAAC;YAED,QAAQ,KAAK,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAA;YAE1D,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,CAAC,CAAA;YAEtF,GAAG,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QACrE,CAAC;QAED,MAAM,wBAAwB,GAAG;YAChC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;SACpG,CAAA;QAED,MAAM,cAAc,GAAG,wBAAwB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAElG,UAAU,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,CAAA;IACrG,CAAC;IAED,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,IAAI,0BAA0B,EAAE,CAAC;QACpF,MAAM,EAAE;aACN,UAAU,CAAC,cAAc,CAAC;aAC1B,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,0BAA0B,CAAC,CAAC;aACnE,OAAO,EAAE,CAAA;IACZ,CAAC;IAED,OAAO,UAAU,CAAC,MAAM,CAAA;AACzB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAwB;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAA;IAEjD,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CACd,4GAA4G,CAC5G,CAAA;IACF,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,OAAO,CAAC,GAAG,WAAW,CAAA;IAE9C,IAAI,MAAM,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAA;IAC/B,CAAC;IAED,MAAM,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IAE3C,6FAA6F;IAC7F,+FAA+F;IAC/F,sGAAsG;IACtG,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAElC,MAAM,MAAM,GAAG,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC9D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,CACpE,CAAA;QAED,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YAC/D,QAAQ,CAAC,YAAY,MAAM,4CAA4C,CAAC,CAAA;QACzE,CAAC;IACF,CAAC;IAED,MAAM,SAAS,GACd,OAAO,CAAC,IAAI,IAAI,gCAAgC,CAAC,OAAO,CAAC,QAAS,CAAC,CAAA;IAEpE,MAAM,EAAE,GAAG,IAAI,cAAc,CAAc,YAAY,CAAC,CAAA;IACxD,iEAAiE;IACjE,EAAE,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAA;IAE9G,8FAA8F;IAC9F,IAAI,MAAsB,CAAA;IAE1B,IAAI,CAAC;QACJ,QAAQ,CAAC,+DAA+D,CAAC,CAAA;QACzE,MAAM,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAClC,MAAM,wBAAwB,CAAC,EAAE,CAAC,CAAA;QAClC,MAAM,0BAA0B,CAAC,EAAE,CAAC,CAAA;QACpC,MAAM,sBAAsB,CAAC,EAAE,CAAC,CAAA;QAChC,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAE7B,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAC1B;;;oCAGiC,CACjC,CAAA;QAED,IAAI,MAAM,GAAG,CAAC,CAAA;QAEd,QAAQ,CAAC,+FAA+F,CAAC,CAAA;QAEzG,MAAM,UAAU,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAA;QAExE,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YACnC,QAAQ,CAAC,GAAG,CACX,GAAG,CAAC,KAAK,EACT,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,6BAA6B,EACjC,GAAG,CAAC,2BAA2B,EAC/B,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,yBAAyB,CAC7B,CAAA;YAED,MAAM,EAAE,CAAA;YAER,UAAU,CAAC,UAAU,EAAE,CAAA;QACxB,CAAC;QAED,UAAU,CAAC,MAAM,EAAE,CAAA;QAEnB,MAAM,cAAc,GAAG,EAAE,CAAC,OAAO,CAAC,gDAAgD,CAAC,CAAC,GAAG,EAEtF,CAAA;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,cAAc,CAAC,YAAY,CAAA;QAEpD,QAAQ,CACP,UAAU,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,qBAAqB,OAAO,CAAC,cAAc,EAAE,UAAU,CAC7G,CAAA;QAED,MAAM,aAAa,GAAG,IAAI,GAAG,EAA2D,CAAA;QACxF;;;WAGG;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;QACnC,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,IAAI,QAAQ,GAAG,CAAC,CAAA;QAEhB,MAAM,eAAe,GAAG,EAAE,CAAC,OAAO,CACjC;;;0CAGuC,CACvC,CAAA;QAED,+GAA+G;QAC/G,2GAA2G;QAC3G,+GAA+G;QAC/G,gHAAgH;QAChH,8GAA8G;QAC9G,kHAAkH;QAClH,gGAAgG;QAChG,wGAAwG;QACxG,+GAA+G;QAC/G,6GAA6G;QAC7G,2GAA2G;QAC3G,iFAAiF;QACjF,MAAM,SAAS,GAAG,OAAO,CAAC,kBAAkB;YAC3C,CAAC,CAAC,EAAE,CAAC,OAAO,CACV;;oBAEe,CACf;YACF,CAAC,CAAC,EAAE,CAAC,OAAO,CACV;;oBAEe,CACf,CAAA;QAEH,QAAQ,CACP,+GAA+G,CAC/G,CAAA;QAED,MAAM,gBAAgB,GAAG,YAAY,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,gBAAgB,EAAE,CAAC,CAAA;QAE9E,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAmC,EAAE,CAAC;YACxE,IAAI,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAE3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAElD,QAAQ,GAAG,QAAQ;oBAClB,CAAC,CAAC,CAAC,GAAG,EAAE;wBACN,wFAAwF;wBACxF,yFAAyF;wBACzF,yFAAyF;wBACzF,wFAAwF;wBACxF,0EAA0E;wBAC1E,yFAAyF;wBACzF,6FAA6F;wBAC7F,2FAA2F;wBAC3F,wFAAwF;wBACxF,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAW,CAAA;wBAE1F,OAAO;4BACN,MAAM,EAAE,cAAc,CAAC,YAAY,CAAC;4BACpC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,YAAY,EAAE,0BAA0B,CAAW,CAAC;yBAC9F,CAAA;oBACF,CAAC,CAAC,EAAE;oBACL,CAAC,CAAC,IAAI,CAAA;gBAEP,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YACvC,CAAC;YAED,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,aAAa,EAAE,CAAA;gBAEf,SAAQ;YACT,CAAC;YAED,eAAe,CAAC,GAAG,CAClB,QAAQ,CAAC,MAAM,EACf,GAAG,CAAC,KAAK;YACT,iGAAiG;YACjG,0FAA0F;YAC1F,IAAI,EACJ,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,eAAe,EACnB,GAAG,CAAC,6BAA6B,EACjC,GAAG,CAAC,2BAA2B,EAC/B,GAAG,CAAC,WAAW,EACf,GAAG,CAAC,yBAAyB,EAC7B,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAC7D,CAAA;YAED,QAAQ,EAAE,CAAA;YACV,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC9B,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAEnF,gBAAgB,CAAC,UAAU,EAAE,CAAA;QAC9B,CAAC;QAED,gBAAgB,CAAC,MAAM,EAAE,CAAA;QAEzB,QAAQ,CACP,gBAAgB,QAAQ,CAAC,cAAc,EAAE,kBAAkB,SAAS,CAAC,IAAI,eAAe;YACvF,IAAI,aAAa,CAAC,cAAc,EAAE,4BAA4B,CAC/D,CAAA;QAED,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAA;QAEhD,QAAQ,CAAC,gDAAgD,CAAC,CAAA;QAC1D,MAAM,mBAAmB,CAAC,EAAE,CAAC,CAAA;QAE7B,8GAA8G;QAC9G,+GAA+G;QAC/G,wGAAwG;QACxG,MAAM,aAAa,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAA;QAE1D,MAAM,kBAAkB,CAAC,EAAE,EAAE,aAAa,CAAC,CAAA;QAE3C,QAAQ,CAAC,wBAAwB,CAAC,CAAA;QAElC,MAAM,kBAAkB,CAAC,EAAE,EAAE;YAC5B,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,OAAO,CAAC,QAAQ;YACzB,aAAa,EAAE,CAAC;YAChB,IAAI,EAAE,SAAS,CAAC,OAAO;YACvB,OAAO,EAAE,gCAAgC;YACzC,WAAW,EAAE,eAAe;YAC5B,MAAM,EAAE,SAAS;YACjB,aAAa,EAAE,OAAO,CAAC,QAAQ;YAC/B,QAAQ,EAAE,+BAA+B;YACzC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,eAAe,EAAE,oBAAoB,CAAC,gBAAgB;YACtD,SAAS,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;YACxF,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACnC,CAAC,CAAA;QAEF,iGAAiG;QACjG,8FAA8F;QAC9F,2EAA2E;QAC3E,IAAI,kBAAkB,GAAG,CAAC,CAAA;QAE1B,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,QAAQ,CAAC,oGAAoG,CAAC,CAAA;YAE9G,kBAAkB,GAAG,MAAM,wBAAwB,CAClD,EAAE,EACF,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ,CAC1C,CAAA;YAED,QAAQ,CAAC,iBAAiB,kBAAkB,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAA;QACvF,CAAC;QAED,QAAQ,CAAC,4BAA4B,CAAC,CAAA;QACtC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAClB,sGAAsG;QACtG,+GAA+G;QAC/G,oBAAoB;QACpB,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QAChC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACjB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;QAElB,MAAM,GAAG;YACR,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,SAAS,EAAE,SAAS,CAAC,IAAI;YACzB,aAAa,EAAE,aAAa,CAAC,MAAM;YACnC,aAAa;YACb,kBAAkB;SAClB,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,4FAA4F;QAC5F,uDAAuD;QACvD,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,OAAO,EAAE,CAAA;QACnB,CAAC;QAAC,MAAM,CAAC;YACR,+EAA+E;QAChF,CAAC;QAED,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAA;QAEvC,MAAM,KAAK,CAAA;IACZ,CAAC;IAED,QAAQ,CAAC,MAAM,CAAC,CAAA;IAChB,MAAM,YAAY,CAAC,YAAY,CAAC,CAAA;IAEhC,0FAA0F;IAC1F,2FAA2F;IAC3F,MAAM,qBAAqB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IAEtD,OAAO,MAAM,CAAA;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"build-bdc.js","sourceRoot":"","sources":["../../lib/sdk/build-bdc.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildings.d.ts","sourceRoot":"","sources":["../../lib/sdk/buildings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC5B;;;;OAIG
|
|
1
|
+
{"version":3,"file":"buildings.d.ts","sourceRoot":"","sources":["../../lib/sdk/buildings.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;IAC5B;;;;OAIG;aACH,WAAW,EAAE,GAAG;IAChB;;;;OAIG;aACH,cAAc,EAAE,GAAG;IACnB;;;;OAIG;aACH,KAAK,EAAE,GAAG;IACV;;;;OAIG;aACH,aAAa,EAAE,GAAG;IAClB;;;OAGG;aACH,GAAG,EAAE,GAAG;IACR;;OAEG;aACH,UAAU,EAAE,GAAG;IACf;;;;OAIG;aACH,KAAK,EAAE,GAAG;CACD,CAAA;AAEV;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,OAAO,gBAAgB,CAAC,CAAA;AAEvF;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;IACnC;;OAEG;aACH,QAAQ;IACR;;OAEG;aACH,WAAW;IACX;;OAEG;aACH,KAAK;CACI,CAAA;AAEV;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAA"}
|
package/out/sdk/client.d.ts
CHANGED
|
@@ -36,8 +36,6 @@
|
|
|
36
36
|
* | undecodable body | programmer bug | `isTransientResourceError(error)` is false |
|
|
37
37
|
*/
|
|
38
38
|
import { APIClient, type APIClientConfig, type ClockLike } from "@mailwoman/core/api";
|
|
39
|
-
export { isTransientResourceError } from "@mailwoman/core/api";
|
|
40
|
-
export { ResourceError } from "@mailwoman/core/errors";
|
|
41
39
|
/**
|
|
42
40
|
* The FCC BDC public-API base URL every request is resolved against.
|
|
43
41
|
*/
|
package/out/sdk/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../lib/sdk/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAuB,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAe,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../lib/sdk/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAuB,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,SAAS,EAAe,MAAM,qBAAqB,CAAA;AASvH;;GAEG;AACH,eAAO,MAAM,gBAAgB,4CAA4C,CAAA;AAEzE;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,+BAA+B,KAAK,CAAA;AAsDjD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;OAIG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;CAChC;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,CAAA;AAExE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;;OAOG;IACH,SAAS,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACvD;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;CACzC;AAoGD;;;GAGG;AACH,qBAAa,SAAU,SAAQ,SAAS,CAAC,eAAe,CAAC;;IACxD;;;;;;;;;;OAUG;IACU,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,CAAC,CAAC,CAQlG;IAED;;;;;;;;;;;;;OAaG;IACU,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC,CAWvF;IAED;;;;OAIG;IACI,aAAa,IAAI,gBAAgB,CAEvC;CAeD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAOtE;AAyED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,SAAS,CAwG/E"}
|
package/out/sdk/client.js
CHANGED
|
@@ -41,8 +41,6 @@ import { dataRootPath } from "@mailwoman/core/data-root";
|
|
|
41
41
|
import { ResourceError } from "@mailwoman/core/errors";
|
|
42
42
|
import { $private } from "#env";
|
|
43
43
|
// Re-exported so a caller branching on this client's failures needs exactly one import.
|
|
44
|
-
export { isTransientResourceError } from "@mailwoman/core/api";
|
|
45
|
-
export { ResourceError } from "@mailwoman/core/errors";
|
|
46
44
|
/**
|
|
47
45
|
* The FCC BDC public-API base URL every request is resolved against.
|
|
48
46
|
*/
|
package/out/sdk/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../lib/sdk/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAwC,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACvH,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAE/B,wFAAwF;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../lib/sdk/client.ts"],"names":[],"mappings":"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"}
|
package/out/sdk/common.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../lib/sdk/common.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAEvC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAEhE;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAErD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;IAC7B;;OAEG;;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../lib/sdk/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-collection.d.ts","sourceRoot":"","sources":["../../lib/sdk/data-collection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAElE;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB
|
|
1
|
+
{"version":3,"file":"data-collection.d.ts","sourceRoot":"","sources":["../../lib/sdk/data-collection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AAElE;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;aACjC,IAAI,EAAE,GAAG;aACT,MAAM,EAAE,GAAG;aACX,GAAG,EAAE,GAAG;aACR,mBAAmB,EAAE,GAAG;CACf,CAAA;AAEV;;;GAGG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,OAAO,qBAAqB,CAAC,CAAA;AAEtG;;;;;GAKG;AACH,eAAO,MAAM,WAAW;aACvB,WAAW,EAAE,CAAC;aACd,IAAI,EAAE,CAAC;aACP,QAAQ,EAAE,CAAC;aACX,OAAO,EAAE,CAAC;aACV,WAAW,EAAE,CAAC;aACd,SAAS,EAAE,CAAC;aACZ,UAAU,EAAE,CAAC;aACb,UAAU,EAAE,CAAC;aACb,OAAO,EAAE,CAAC;aACV,QAAQ,EAAE,EAAE;aACZ,cAAc,EAAE,EAAE;aAClB,KAAK,EAAE,EAAE;aACT,cAAc,EAAE,EAAE;aAClB,GAAG,EAAE,EAAE;aACP,QAAQ,EAAE,EAAE;aACZ,KAAK,EAAE,CAAC;CACC,CAAA;AAEV;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAA;AAExE;;GAEG;AACH,eAAO,MAAM,OAAO;aACnB,WAAW,EAAE,CAAC;aACd,cAAc,EAAE,CAAC;CACR,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAA;AAE5D;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IAC1B;;;;;;OAMG;IACH,WAAW,EAAE,6BAA6B,CAAA;IAE1C;;;;;;;OAOG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;;;;OAOG;IACH,GAAG,EAAE,MAAM,CAAA;IAEX;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAEnB;;;;;;;OAOG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;;;;OAOG;IACH,QAAQ,EAAE,OAAO,CAAA;IAEjB;;;;;;;;OAQG;IACH,kBAAkB,EAAE,gBAAgB,CAAA;IAEpC;;;;;;;;OAQG;IACH,aAAa,EAAE,WAAW,GAAG,IAAI,CAAA;IAEjC;;;;;;;;OAQG;IACH,uBAAuB,EAAE,qBAAqB,CAAA;IAE9C;;;;;;;OAOG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;;;;;;OAOG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;;;;;;;OASG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;;;;;;OASG;IACH,SAAS,EAAE,MAAM,CAAA;IAEjB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB"}
|
|
@@ -54,4 +54,4 @@ export declare function retrieveFilingDates(client: BDCClient, { filingType, ski
|
|
|
54
54
|
* (`YYYY-MM-DD`), which happens to sort correctly as strings too, but comparing as dates is the honest contract.
|
|
55
55
|
*/
|
|
56
56
|
export declare function resolveLatestVintage(entries: readonly FCCAsOfDateEntry[], dataType: BDCFilingDataType): string;
|
|
57
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=dates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.d.ts","sourceRoot":"","sources":["../../../lib/sdk/filing/dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,iBAAiB,CAAA;IAC5B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CAClB;AAMD,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,SAAS,EACjB,EAAE,UAAU,EAAE,SAAiB,EAAE,EAAE,yBAAyB,GAC1D,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAI7B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAgB9G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dates.js","sourceRoot":"","sources":["../../../lib/sdk/filing/dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA+BH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAiB,EACjB,EAAE,UAAU,EAAE,SAAS,GAAG,KAAK,EAA6B;IAE5D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAA4B,oBAAoB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;IAExG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,CAAA;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoC,EAAE,QAA2B;IACrG,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAA;IAExE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qEAAqE,QAAQ,GAAG,CAAC,CAAA;IAClG,CAAC;IAED,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAA;IAEzB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAClF,MAAM,GAAG,KAAK,CAAA;QACf,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC,UAAU,CAAA;AACzB,CAAC"}
|
|
@@ -114,4 +114,4 @@ export declare function res9ShortCellToRes6Parent(h3CellShortInt: number): numbe
|
|
|
114
114
|
* block with no coverage evidence is reported in `unknown_block_count` and never folded into a zero-filing claim.
|
|
115
115
|
*/
|
|
116
116
|
export declare function filingLandscape(db: DatabaseClient<BDCDatabase>, query: FilingLandscapeQuery): Promise<FilingLandscape>;
|
|
117
|
-
//# sourceMappingURL=
|
|
117
|
+
//# sourceMappingURL=landscape.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"landscape.d.ts","sourceRoot":"","sources":["../../../lib/sdk/filing/landscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAG9D,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzF;;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,CAExE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,EAC/B,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,eAAe,CAAC,CA6G1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"landscape.js","sourceRoot":"","sources":["../../../lib/sdk/filing/landscape.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
* @file Centroid and TIGER lookup utilities for BDC block geometry.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Area-weighted (shoelace) centroid of a GeoJSON `Polygon`/`MultiPolygon`'s EXTERIOR ring(s), area-weighted across
|
|
9
|
+
* rings for a MultiPolygon. Interior rings/holes are still ignored — a hole moves a block's centroid far less than the
|
|
10
|
+
* vertex-density skew this replaces, and only 1.0% of measured blocks carry one.
|
|
11
|
+
*
|
|
12
|
+
* This REPLACED the first version's vertex-average, whose "same res-9 cell for all but pathological shapes" claim was
|
|
13
|
+
* falsified by measurement over every real TIGER 2020 block in LA + Orange county (118,360 blocks, 2026-08-11): the
|
|
14
|
+
* vertex-average landed in a different res-9 cell for 11.6% of blocks, p99 displacement 286 m (past the ~174 m cell
|
|
15
|
+
* edge), max 3.7 km — the tail is TIGER's elongated rural/mountain blocks, whose boundary vertices cluster on the
|
|
16
|
+
* squiggly natural edge and drag a vertex-average toward it.
|
|
17
|
+
*
|
|
18
|
+
* A degenerate geometry with zero total ring area (a sliver the shoelace annihilates) falls back to the vertex average
|
|
19
|
+
* — a weaker answer beats none, and the fallback is exactly the old behavior.
|
|
20
|
+
*
|
|
21
|
+
* Returns `undefined` for anything that doesn't parse as one of the two geometry types (including `null` geometry).
|
|
22
|
+
*/
|
|
23
|
+
export declare function geometryCentroid(geometryJSON: string | null): {
|
|
24
|
+
lat: number;
|
|
25
|
+
lon: number;
|
|
26
|
+
} | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* The production `blockCentroids` supplier: opens the TIGER blocks database READ-ONLY and probes `tabblock20.GEOID`
|
|
29
|
+
* (uppercase) per lookup, decoding its GeoJSON `geometry` column via {@linkcode geometryCentroid}. The factory awaits
|
|
30
|
+
* its read-only open; the per-lookup probe and the `BuildBDCOptions.blockCentroids` interface stay synchronous — a
|
|
31
|
+
* plain sync function (the same sync-by-interface discipline AGENTS.md documents for the resolver ladder), so the
|
|
32
|
+
* returned closure uses `node:sqlite`'s raw `.prepare()`/`.get()` directly rather than Kysely. The connection is left
|
|
33
|
+
* open for the caller's process lifetime (a read-path lookup, not a build) — same lifecycle as the resolver-wof-sqlite
|
|
34
|
+
* lookups.
|
|
35
|
+
*/
|
|
36
|
+
export declare function createTIGERBlockCentroidLookup(tigerDBPath: string): Promise<(geoid: string) => {
|
|
37
|
+
lat: number;
|
|
38
|
+
lon: number;
|
|
39
|
+
} | undefined>;
|
|
40
|
+
//# sourceMappingURL=geometry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../lib/sdk/geometry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAkBH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CA8DtG;AAED;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CACnD,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAAC,CAStE"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
* @file Centroid and TIGER lookup utilities for BDC block geometry.
|
|
6
|
+
*/
|
|
7
|
+
import { tryParsingJSON } from "@mailwoman/core/json";
|
|
8
|
+
import { openBuiltClient } from "@mailwoman/sqlite/sealed";
|
|
9
|
+
/**
|
|
10
|
+
* Area-weighted (shoelace) centroid of a GeoJSON `Polygon`/`MultiPolygon`'s EXTERIOR ring(s), area-weighted across
|
|
11
|
+
* rings for a MultiPolygon. Interior rings/holes are still ignored — a hole moves a block's centroid far less than the
|
|
12
|
+
* vertex-density skew this replaces, and only 1.0% of measured blocks carry one.
|
|
13
|
+
*
|
|
14
|
+
* This REPLACED the first version's vertex-average, whose "same res-9 cell for all but pathological shapes" claim was
|
|
15
|
+
* falsified by measurement over every real TIGER 2020 block in LA + Orange county (118,360 blocks, 2026-08-11): the
|
|
16
|
+
* vertex-average landed in a different res-9 cell for 11.6% of blocks, p99 displacement 286 m (past the ~174 m cell
|
|
17
|
+
* edge), max 3.7 km — the tail is TIGER's elongated rural/mountain blocks, whose boundary vertices cluster on the
|
|
18
|
+
* squiggly natural edge and drag a vertex-average toward it.
|
|
19
|
+
*
|
|
20
|
+
* A degenerate geometry with zero total ring area (a sliver the shoelace annihilates) falls back to the vertex average
|
|
21
|
+
* — a weaker answer beats none, and the fallback is exactly the old behavior.
|
|
22
|
+
*
|
|
23
|
+
* Returns `undefined` for anything that doesn't parse as one of the two geometry types (including `null` geometry).
|
|
24
|
+
*/
|
|
25
|
+
export function geometryCentroid(geometryJSON) {
|
|
26
|
+
if (!geometryJSON)
|
|
27
|
+
return undefined;
|
|
28
|
+
const geometry = tryParsingJSON(geometryJSON);
|
|
29
|
+
if (!geometry)
|
|
30
|
+
return undefined;
|
|
31
|
+
const exteriorRings = geometry.type === "Polygon"
|
|
32
|
+
? [geometry.coordinates[0] ?? []]
|
|
33
|
+
: geometry.type === "MultiPolygon"
|
|
34
|
+
? geometry.coordinates.map((polygon) => polygon[0] ?? [])
|
|
35
|
+
: [];
|
|
36
|
+
let totalArea = 0;
|
|
37
|
+
let weightedLon = 0;
|
|
38
|
+
let weightedLat = 0;
|
|
39
|
+
let sumLon = 0;
|
|
40
|
+
let sumLat = 0;
|
|
41
|
+
let count = 0;
|
|
42
|
+
for (const ring of exteriorRings) {
|
|
43
|
+
let ringArea = 0;
|
|
44
|
+
let ringLon = 0;
|
|
45
|
+
let ringLat = 0;
|
|
46
|
+
for (let i = 0; i < ring.length - 1; i++) {
|
|
47
|
+
const [x1, y1] = ring[i];
|
|
48
|
+
const [x2, y2] = ring[i + 1];
|
|
49
|
+
if (typeof x1 !== "number" || typeof y1 !== "number" || typeof x2 !== "number" || typeof y2 !== "number") {
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
const cross = x1 * y2 - x2 * y1;
|
|
53
|
+
ringArea += cross;
|
|
54
|
+
ringLon += (x1 + x2) * cross;
|
|
55
|
+
ringLat += (y1 + y2) * cross;
|
|
56
|
+
// The vertex-average fallback accumulates alongside — one pass, both answers.
|
|
57
|
+
sumLon += x1;
|
|
58
|
+
sumLat += y1;
|
|
59
|
+
count++;
|
|
60
|
+
}
|
|
61
|
+
ringArea /= 2;
|
|
62
|
+
if (ringArea === 0)
|
|
63
|
+
continue;
|
|
64
|
+
const weight = Math.abs(ringArea);
|
|
65
|
+
totalArea += weight;
|
|
66
|
+
weightedLon += (ringLon / (6 * ringArea)) * weight;
|
|
67
|
+
weightedLat += (ringLat / (6 * ringArea)) * weight;
|
|
68
|
+
}
|
|
69
|
+
if (totalArea > 0) {
|
|
70
|
+
return { lat: weightedLat / totalArea, lon: weightedLon / totalArea };
|
|
71
|
+
}
|
|
72
|
+
if (count === 0)
|
|
73
|
+
return undefined;
|
|
74
|
+
return { lat: sumLat / count, lon: sumLon / count };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* The production `blockCentroids` supplier: opens the TIGER blocks database READ-ONLY and probes `tabblock20.GEOID`
|
|
78
|
+
* (uppercase) per lookup, decoding its GeoJSON `geometry` column via {@linkcode geometryCentroid}. The factory awaits
|
|
79
|
+
* its read-only open; the per-lookup probe and the `BuildBDCOptions.blockCentroids` interface stay synchronous — a
|
|
80
|
+
* plain sync function (the same sync-by-interface discipline AGENTS.md documents for the resolver ladder), so the
|
|
81
|
+
* returned closure uses `node:sqlite`'s raw `.prepare()`/`.get()` directly rather than Kysely. The connection is left
|
|
82
|
+
* open for the caller's process lifetime (a read-path lookup, not a build) — same lifecycle as the resolver-wof-sqlite
|
|
83
|
+
* lookups.
|
|
84
|
+
*/
|
|
85
|
+
export async function createTIGERBlockCentroidLookup(tigerDBPath) {
|
|
86
|
+
const db = await openBuiltClient(tigerDBPath);
|
|
87
|
+
const stmt = db.prepare("SELECT geometry FROM tabblock20 WHERE GEOID = ?");
|
|
88
|
+
return (geoid) => {
|
|
89
|
+
const row = stmt.get(geoid);
|
|
90
|
+
return row ? geometryCentroid(row.geometry) : undefined;
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.js","sourceRoot":"","sources":["../../lib/sdk/geometry.ts"],"names":[],"mappings":"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"}
|
package/out/sdk/index.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ export * from "#sdk/client";
|
|
|
4
4
|
export * from "#sdk/common";
|
|
5
5
|
export * from "#sdk/data-collection";
|
|
6
6
|
export * from "#sdk/download";
|
|
7
|
-
export * from "#sdk/filing
|
|
8
|
-
export * from "#sdk/filing
|
|
7
|
+
export * from "#sdk/filing/dates";
|
|
8
|
+
export * from "#sdk/filing/landscape";
|
|
9
9
|
export * from "#sdk/list-files";
|
|
10
10
|
export * from "#sdk/location";
|
|
11
11
|
export * from "#sdk/nearest-infrastructure";
|
package/out/sdk/index.js
CHANGED
|
@@ -4,8 +4,8 @@ export * from "#sdk/client";
|
|
|
4
4
|
export * from "#sdk/common";
|
|
5
5
|
export * from "#sdk/data-collection";
|
|
6
6
|
export * from "#sdk/download";
|
|
7
|
-
export * from "#sdk/filing
|
|
8
|
-
export * from "#sdk/filing
|
|
7
|
+
export * from "#sdk/filing/dates";
|
|
8
|
+
export * from "#sdk/filing/landscape";
|
|
9
9
|
export * from "#sdk/list-files";
|
|
10
10
|
export * from "#sdk/location";
|
|
11
11
|
export * from "#sdk/nearest-infrastructure";
|
|
@@ -37,7 +37,7 @@ import { readLayerCoverage } from "@mailwoman/core/layers";
|
|
|
37
37
|
import { POI_H3_RESOLUTION } from "@mailwoman/resolver-wof-sqlite/poi";
|
|
38
38
|
import { shortCellToInt } from "@mailwoman/spatial";
|
|
39
39
|
import { latLngToCell } from "h3-js";
|
|
40
|
-
import { res9ShortCellToRes6Parent } from "#sdk/filing
|
|
40
|
+
import { res9ShortCellToRes6Parent } from "#sdk/filing/landscape";
|
|
41
41
|
/**
|
|
42
42
|
* Ring budget default for {@link nearestInfrastructure} — wider than `POILookup`'s own internal `DEFAULT_MAX_RINGS`
|
|
43
43
|
* (16, ≈5.4 km) because telecom infrastructure (central offices, comm towers) is sparser per-area than poi.db's dense
|
package/out/sdk/parsing.d.ts
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* Measured on that same file: 421,555 rows carry one embedded comma inside a quoted `brand_name` and 327
|
|
27
27
|
* carry two ("FiberFirst, LLC", "Valor Telecommunications of Texas, LP"). A delimiter scan blind to quotes
|
|
28
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.
|
|
29
|
+
* `String.split(",")` mismatches 81,095 of 2,000,000 real rows. Quote-aware parsing also keeps an
|
|
30
30
|
* embedded NEWLINE inside its row — no row in that file needs it (the 12/13/14-field line counts sum
|
|
31
31
|
* exactly to `wc -l`, so no record is split across lines), but the guarantee is what makes the reader safe
|
|
32
32
|
* on a file nobody has measured yet.
|
package/out/sdk/parsing.js
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
* Measured on that same file: 421,555 rows carry one embedded comma inside a quoted `brand_name` and 327
|
|
27
27
|
* carry two ("FiberFirst, LLC", "Valor Telecommunications of Texas, LP"). A delimiter scan blind to quotes
|
|
28
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.
|
|
29
|
+
* `String.split(",")` mismatches 81,095 of 2,000,000 real rows. Quote-aware parsing also keeps an
|
|
30
30
|
* embedded NEWLINE inside its row — no row in that file needs it (the 12/13/14-field line counts sum
|
|
31
31
|
* exactly to `wc -l`, so no record is split across lines), but the guarantee is what makes the reader safe
|
|
32
32
|
* on a file nobody has measured yet.
|
|
@@ -89,11 +89,11 @@ function projectRow(columns, providerID) {
|
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
/**
|
|
92
|
-
* Shared reader options. `header: true` consumes the first row as the header even in `array` mode
|
|
93
|
-
*
|
|
94
|
-
*
|
|
92
|
+
* Shared reader options. `header: true` consumes the first row as the header even in `array` mode. Quote-aware parsing
|
|
93
|
+
* keeps the 421,882 quoted-brand rows aligned. `crlf` already defaults to `true` for CSV (RFC 4180), so a CRLF file
|
|
94
|
+
* does not leak `\r` into the last column.
|
|
95
95
|
*/
|
|
96
|
-
const READER_OPTIONS = { mode: "array"
|
|
96
|
+
const READER_OPTIONS = { mode: "array" };
|
|
97
97
|
/**
|
|
98
98
|
* Stream an FCC BDC availability CSV, yielding every data row. The header row is consumed, never emitted.
|
|
99
99
|
*
|
package/out/sdk/parsing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../lib/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,
|
|
1
|
+
{"version":3,"file":"parsing.js","sourceRoot":"","sources":["../../lib/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,EAAW,CAAA;AAEjD;;;;;;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"}
|
|
@@ -117,7 +117,7 @@ import type { POILookup } from "@mailwoman/resolver-wof-sqlite/poi";
|
|
|
117
117
|
import { type PointLiteral } from "@mailwoman/spatial";
|
|
118
118
|
import type { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
119
119
|
import { type BDCDatabase } from "#schema";
|
|
120
|
-
import { type ProviderFilingSummary } from "#sdk/filing
|
|
120
|
+
import { type ProviderFilingSummary } from "#sdk/filing/landscape";
|
|
121
121
|
import { type InfrastructureHit } from "#sdk/nearest-infrastructure";
|
|
122
122
|
/**
|
|
123
123
|
* One claimed broadband-service assertion to check. Exactly one spatial field is expected in practice (`geoid` wins if
|
package/out/sdk/plausibility.js
CHANGED
|
@@ -115,7 +115,7 @@ 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";
|
|
118
|
-
import { BDC_SPEED_BUCKET_100_1000, BDC_SPEED_BUCKET_25_100, BDC_SPEED_BUCKET_GIGABIT, BDC_SPEED_BUCKET_UNDER_25, filingLandscape, res9ShortCellToRes6Parent, speedBucketForDownloadSpeed, } from "#sdk/filing
|
|
118
|
+
import { BDC_SPEED_BUCKET_100_1000, BDC_SPEED_BUCKET_25_100, BDC_SPEED_BUCKET_GIGABIT, BDC_SPEED_BUCKET_UNDER_25, filingLandscape, res9ShortCellToRes6Parent, speedBucketForDownloadSpeed, } from "#sdk/filing/landscape";
|
|
119
119
|
import { nearestInfrastructure } from "#sdk/nearest-infrastructure";
|
|
120
120
|
import { BroadbandTechnologyCategory, BroadbandTechnologyCategoryToCodeSet, BroadbandTechnologyCode, } from "#sdk/technologies";
|
|
121
121
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"technologies.d.ts","sourceRoot":"","sources":["../../lib/sdk/technologies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;IACnC;;OAEG;;
|
|
1
|
+
{"version":3,"file":"technologies.d.ts","sourceRoot":"","sources":["../../lib/sdk/technologies.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;IACnC;;OAEG;aACH,cAAc,EAAE,EAAE;IAClB;;OAEG;aACH,cAAc,EAAE,EAAE;IAClB;;OAEG;aACH,IAAI,EAAE,EAAE;IACR;;OAEG;aACH,aAAa,EAAE,EAAE;IACjB;;OAEG;aACH,mBAAmB,EAAE,EAAE;IACvB;;OAEG;aACH,0BAA0B,EAAE,EAAE;IAC9B;;OAEG;aACH,iBAAiB,EAAE,EAAE;IACrB;;OAEG;aACH,iBAAiB,EAAE,EAAE;IACrB;;OAEG;aACH,kBAAkB,EAAE,EAAE;IACtB;;OAEG;aACH,mBAAmB,EAAE,EAAE;IACvB;;OAEG;aACH,sBAAsB,EAAE,EAAE;IAC1B;;OAEG;aACH,yBAAyB,EAAE,EAAE;IAC7B;;OAEG;aACH,kCAAkC,EAAE,EAAE;IACtC;;OAEG;aACH,gCAAgC,EAAE,EAAE;IACpC;;OAEG;aACH,sCAAsC,EAAE,EAAE;IAC1C;;OAEG;aACH,iBAAiB,EAAE,EAAE;IACrB;;OAEG;aACH,QAAQ,EAAE,CAAC;CACF,CAAA;AAEV;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAA;AAE5G;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;IACvC;;;;OAIG;aACH,KAAK,EAAE,OAAO;IACd;;;;OAIG;aACH,GAAG,EAAE,KAAK;IACV;;;;OAIG;aACH,KAAK,EAAE,OAAO;IACd;;;;OAIG;aACH,aAAa,EAAE,gBAAgB;IAC/B;;;;OAIG;aACH,SAAS,EAAE,WAAW;IACtB;;;;OAIG;aACH,iBAAiB,EAAE,qBAAqB;IACxC;;;;OAIG;aACH,KAAK,EAAE,OAAO;CACL,CAAA;AAEV;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAA;AAExH;;;;;;;GAOG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;CAkB+B,CAAA;AAEjF;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG,OAAO,qCAAqC,CAAA;AAEhG;;;;;GAKG;AACH,KAAK,cAAc,CAAC,CAAC,SAAS,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;AAEhG;;;;;;;GAOG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;CA4BqC,CAAA;AAEtF;;GAEG;AACH,MAAM,MAAM,oCAAoC,GAAG;KACjD,CAAC,IAAI,2BAA2B,GAAG,cAAc,CAAC,CAAC,OAAO,oCAAoC,CAAC,CAAC,CAAC,CAAC,CAAC;CACpG,CAAA;AAED;;;;;GAKG;AACH,wBAAgB,wCAAwC,CAAC,CAAC,SAAS,uBAAuB,EACzF,cAAc,EAAE,CAAC,GACf,qCAAqC,CAAC,CAAC,CAAC,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,yCAAyC,CAAC,CAAC,SAAS,2BAA2B,EAC9F,kBAAkB,EAAE,CAAC;;;;;;;;KAGrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mailwoman/bdc",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "FCC Broadband Data Collection (BDC) availability data — fetch/parse/ingest provider and bdc.db layer reader",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bdc",
|
|
@@ -88,9 +88,9 @@
|
|
|
88
88
|
"default": "./out/sdk/parsing.js"
|
|
89
89
|
},
|
|
90
90
|
"./sdk/filing-dates": {
|
|
91
|
-
"types": "./out/sdk/filing
|
|
92
|
-
"node": "./out/sdk/filing
|
|
93
|
-
"default": "./out/sdk/filing
|
|
91
|
+
"types": "./out/sdk/filing/dates.d.ts",
|
|
92
|
+
"node": "./out/sdk/filing/dates.js",
|
|
93
|
+
"default": "./out/sdk/filing/dates.js"
|
|
94
94
|
},
|
|
95
95
|
"./sdk/client": {
|
|
96
96
|
"types": "./out/sdk/client.d.ts",
|
|
@@ -108,9 +108,9 @@
|
|
|
108
108
|
"default": "./out/sdk/list-files.js"
|
|
109
109
|
},
|
|
110
110
|
"./sdk/filing-landscape": {
|
|
111
|
-
"types": "./out/sdk/filing
|
|
112
|
-
"node": "./out/sdk/filing
|
|
113
|
-
"default": "./out/sdk/filing
|
|
111
|
+
"types": "./out/sdk/filing/landscape.d.ts",
|
|
112
|
+
"node": "./out/sdk/filing/landscape.js",
|
|
113
|
+
"default": "./out/sdk/filing/landscape.js"
|
|
114
114
|
},
|
|
115
115
|
"./sdk/nearest-infrastructure": {
|
|
116
116
|
"types": "./out/sdk/nearest-infrastructure.d.ts",
|
|
@@ -168,9 +168,9 @@
|
|
|
168
168
|
"default": "./out/sdk/parsing.js"
|
|
169
169
|
},
|
|
170
170
|
"./sdk/filing-dates": {
|
|
171
|
-
"types": "./out/sdk/filing
|
|
172
|
-
"node": "./out/sdk/filing
|
|
173
|
-
"default": "./out/sdk/filing
|
|
171
|
+
"types": "./out/sdk/filing/dates.d.ts",
|
|
172
|
+
"node": "./out/sdk/filing/dates.js",
|
|
173
|
+
"default": "./out/sdk/filing/dates.js"
|
|
174
174
|
},
|
|
175
175
|
"./sdk/client": {
|
|
176
176
|
"types": "./out/sdk/client.d.ts",
|
|
@@ -188,9 +188,9 @@
|
|
|
188
188
|
"default": "./out/sdk/list-files.js"
|
|
189
189
|
},
|
|
190
190
|
"./sdk/filing-landscape": {
|
|
191
|
-
"types": "./out/sdk/filing
|
|
192
|
-
"node": "./out/sdk/filing
|
|
193
|
-
"default": "./out/sdk/filing
|
|
191
|
+
"types": "./out/sdk/filing/landscape.d.ts",
|
|
192
|
+
"node": "./out/sdk/filing/landscape.js",
|
|
193
|
+
"default": "./out/sdk/filing/landscape.js"
|
|
194
194
|
},
|
|
195
195
|
"./sdk/nearest-infrastructure": {
|
|
196
196
|
"types": "./out/sdk/nearest-infrastructure.d.ts",
|
|
@@ -220,16 +220,16 @@
|
|
|
220
220
|
"test": "vitest run"
|
|
221
221
|
},
|
|
222
222
|
"dependencies": {
|
|
223
|
-
"@mailwoman/core": "
|
|
224
|
-
"@mailwoman/evidence": "
|
|
225
|
-
"@mailwoman/filer": "
|
|
226
|
-
"@mailwoman/resolver-wof-sqlite": "
|
|
227
|
-
"@mailwoman/spatial": "
|
|
228
|
-
"@mailwoman/sqlite": "
|
|
223
|
+
"@mailwoman/core": "10.0.0",
|
|
224
|
+
"@mailwoman/evidence": "10.0.0",
|
|
225
|
+
"@mailwoman/filer": "10.0.0",
|
|
226
|
+
"@mailwoman/resolver-wof-sqlite": "10.0.0",
|
|
227
|
+
"@mailwoman/spatial": "10.0.0",
|
|
228
|
+
"@mailwoman/sqlite": "10.0.0",
|
|
229
229
|
"h3-js": "^4.5.0",
|
|
230
230
|
"kysely": "^0.29.5",
|
|
231
231
|
"path-ts": "^2.3.0",
|
|
232
|
-
"spliterator": "^
|
|
232
|
+
"spliterator": "^7.5.1",
|
|
233
233
|
"type-fest": "^5.9.0",
|
|
234
234
|
"zod": "^4.5.4"
|
|
235
235
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filing-dates.d.ts","sourceRoot":"","sources":["../../lib/sdk/filing-dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,SAAS,EAAE,iBAAiB,CAAA;IAC5B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;CAClB;AAMD,MAAM,WAAW,yBAAyB;IACzC;;OAEG;IACH,UAAU,EAAE,iBAAiB,CAAA;IAC7B;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,SAAS,EACjB,EAAE,UAAU,EAAE,SAAiB,EAAE,EAAE,yBAAyB,GAC1D,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAI7B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EAAE,QAAQ,EAAE,iBAAiB,GAAG,MAAM,CAgB9G"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filing-dates.js","sourceRoot":"","sources":["../../lib/sdk/filing-dates.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA+BH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,MAAiB,EACjB,EAAE,UAAU,EAAE,SAAS,GAAG,KAAK,EAA6B;IAE5D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,GAAG,CAA4B,oBAAoB,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAA;IAExG,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,UAAU,CAAC,CAAA;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAoC,EAAE,QAA2B;IACrG,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAA;IAExE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,qEAAqE,QAAQ,GAAG,CAAC,CAAA;IAClG,CAAC;IAED,IAAI,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAA;IAEzB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAClF,MAAM,GAAG,KAAK,CAAA;QACf,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC,UAAU,CAAA;AACzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filing-landscape.d.ts","sourceRoot":"","sources":["../../lib/sdk/filing-landscape.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAG9D,OAAO,EAAiD,KAAK,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzF;;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,CAExE;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACpC,EAAE,EAAE,cAAc,CAAC,WAAW,CAAC,EAC/B,KAAK,EAAE,oBAAoB,GACzB,OAAO,CAAC,eAAe,CAAC,CA6G1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filing-landscape.js","sourceRoot":"","sources":["../../lib/sdk/filing-landscape.ts"],"names":[],"mappings":"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"}
|
|
File without changes
|
|
File without changes
|