@mailwoman/bdc 9.1.0 → 9.3.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/env.ts +30 -0
- package/lib/index.ts +2 -0
- package/{sdk → lib/sdk}/build-bdc.ts +343 -298
- package/{sdk → lib/sdk}/client.ts +24 -38
- package/{sdk → lib/sdk}/common.ts +1 -1
- package/{sdk → lib/sdk}/data-collection.ts +2 -2
- package/{sdk → lib/sdk}/download.ts +19 -15
- package/{sdk → lib/sdk}/filing-dates.ts +3 -3
- package/{sdk → lib/sdk}/filing-landscape.ts +12 -24
- package/lib/sdk/index.ts +14 -0
- package/{sdk → lib/sdk}/list-files.ts +2 -2
- package/{sdk → lib/sdk}/nearest-infrastructure.ts +5 -5
- package/lib/sdk/parsing.ts +157 -0
- package/{sdk → lib/sdk}/plausibility.ts +43 -29
- package/out/env.d.ts +24 -0
- package/out/env.d.ts.map +1 -0
- package/out/env.js +28 -0
- package/out/env.js.map +1 -0
- package/out/index.d.ts +2 -2
- package/out/index.d.ts.map +1 -1
- package/out/index.js +2 -2
- package/out/index.js.map +1 -1
- package/out/schema.d.ts.map +1 -1
- package/out/schema.js.map +1 -1
- package/out/sdk/build-bdc.d.ts +32 -25
- package/out/sdk/build-bdc.d.ts.map +1 -1
- package/out/sdk/build-bdc.js +255 -219
- package/out/sdk/build-bdc.js.map +1 -1
- package/out/sdk/buildings.d.ts.map +1 -1
- package/out/sdk/buildings.js.map +1 -1
- package/out/sdk/client.d.ts +7 -7
- package/out/sdk/client.d.ts.map +1 -1
- package/out/sdk/client.js +17 -29
- package/out/sdk/client.js.map +1 -1
- package/out/sdk/common.d.ts +1 -1
- package/out/sdk/common.d.ts.map +1 -1
- package/out/sdk/common.js.map +1 -1
- package/out/sdk/data-collection.d.ts +2 -2
- package/out/sdk/data-collection.d.ts.map +1 -1
- package/out/sdk/data-collection.js.map +1 -1
- package/out/sdk/download.d.ts +4 -3
- package/out/sdk/download.d.ts.map +1 -1
- package/out/sdk/download.js +12 -13
- package/out/sdk/download.js.map +1 -1
- package/out/sdk/filing-dates.d.ts +3 -3
- package/out/sdk/filing-dates.d.ts.map +1 -1
- package/out/sdk/filing-dates.js +1 -1
- package/out/sdk/filing-dates.js.map +1 -1
- package/out/sdk/filing-landscape.d.ts +4 -4
- package/out/sdk/filing-landscape.d.ts.map +1 -1
- package/out/sdk/filing-landscape.js +9 -19
- package/out/sdk/filing-landscape.js.map +1 -1
- package/out/sdk/index.d.ts +14 -14
- package/out/sdk/index.d.ts.map +1 -1
- package/out/sdk/index.js +14 -14
- package/out/sdk/index.js.map +1 -1
- package/out/sdk/list-files.d.ts +2 -2
- package/out/sdk/list-files.d.ts.map +1 -1
- package/out/sdk/list-files.js +1 -1
- package/out/sdk/list-files.js.map +1 -1
- package/out/sdk/location.d.ts.map +1 -1
- package/out/sdk/location.js.map +1 -1
- package/out/sdk/nearest-infrastructure.d.ts +4 -4
- package/out/sdk/nearest-infrastructure.d.ts.map +1 -1
- package/out/sdk/nearest-infrastructure.js +2 -2
- package/out/sdk/nearest-infrastructure.js.map +1 -1
- package/out/sdk/parsing.d.ts +66 -28
- package/out/sdk/parsing.d.ts.map +1 -1
- package/out/sdk/parsing.js +103 -70
- package/out/sdk/parsing.js.map +1 -1
- package/out/sdk/plausibility.d.ts +32 -14
- package/out/sdk/plausibility.d.ts.map +1 -1
- package/out/sdk/plausibility.js +15 -20
- package/out/sdk/plausibility.js.map +1 -1
- package/out/sdk/technologies.d.ts.map +1 -1
- package/out/sdk/technologies.js.map +1 -1
- package/package.json +164 -22
- package/index.ts +0 -2
- package/sdk/index.ts +0 -14
- package/sdk/parsing.ts +0 -124
- /package/{schema.ts → lib/schema.ts} +0 -0
- /package/{sdk → lib/sdk}/buildings.ts +0 -0
- /package/{sdk → lib/sdk}/location.ts +0 -0
- /package/{sdk → lib/sdk}/technologies.ts +0 -0
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* over a single broadband-service claim, under the registry-backed doctrine's positive-evidence-only
|
|
9
9
|
* invariant (spec §4): a BDC filing or a nearby infrastructure hit can RAISE confidence; their absence
|
|
10
10
|
* can only ever read as "unknown" or "no supporting evidence found, coverage permitting" — NEVER as
|
|
11
|
-
* "implausible." The four §7-2b acceptance
|
|
12
|
-
* `describe("§7-2b
|
|
11
|
+
* "implausible." The four §7-2b acceptance criteria are asserted in `plausibility.test.ts`'s
|
|
12
|
+
* `describe("§7-2b criteria")` block; this module is designed for them but doesn't assert them itself.
|
|
13
13
|
*
|
|
14
14
|
* **Claim resolution (decision 4).** A claim's spatial key resolves two INDEPENDENT ways:
|
|
15
15
|
*
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
* - **Physical evidence's search center**: independent of the above — `claim.point` (or the geocoded
|
|
25
25
|
* `claim.address`) directly, whenever available. A GEOID-ONLY claim (no point, no address) has NO
|
|
26
26
|
* coordinate to search from: bdc.db stores no public geoid→centroid resolver (deriving one would
|
|
27
|
-
* need the same Fabric-adjacent block-centroid
|
|
27
|
+
* need the same Fabric-adjacent block-centroid implementation the vertical explicitly keeps out of reach
|
|
28
28
|
* — §2.2's boundary), so physical evidence is skipped entirely for that shape of claim. This is a
|
|
29
29
|
* genuine, documented capability gap, not a missing-layer abstain: `coverage_confidence` still
|
|
30
30
|
* degrades honestly (see below), but no `PlausibilityEvidence` abstain variant fits "no coordinate
|
|
@@ -88,11 +88,11 @@
|
|
|
88
88
|
* filing coverage alone — it degrades to filing-covered → `"low"`, filing-unknown/absent →
|
|
89
89
|
* `"insufficient_survey_data"`. Rationale: spec §4 frames physical co-presence as the vertical's
|
|
90
90
|
* distinguishing "falsifier that only fires positively" and reserves `"high"` for genuine two-channel
|
|
91
|
-
* corroboration (§7-2b
|
|
91
|
+
* corroboration (§7-2b criterion 2: "matching filing + nearby plant in covered cells… high"); a tech
|
|
92
92
|
* that structurally can never offer a second channel should not be able to claim the same top
|
|
93
93
|
* confidence a fiber claim earns by actually having one available. This reading is more conservative
|
|
94
94
|
* than the alternative (treating the missing axis as inert and reporting `"high"` off filing alone),
|
|
95
|
-
* and nothing pins it: none of the four §7-2b
|
|
95
|
+
* and nothing pins it: none of the four §7-2b criteria exercises a no-physical-falsifier tech code.
|
|
96
96
|
*
|
|
97
97
|
* **The per-layer coverage-resolution sanity check.** Neither bdc.db's nor poi.db's `layer_manifest`
|
|
98
98
|
* records the COVERAGE-cell h3 resolution (6) that `res9ShortCellToRes6Parent` hardcodes on both sides
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
* WIRED — `bdcDB`, `poi`, or both, checked independently — {@link assertLayerSpineResolution} compares that one
|
|
104
104
|
* layer's recorded `spineKeys.h3.resolution` directly against the `BDC_H3_RESOLUTION` constant `pointCell` is
|
|
105
105
|
* actually derived from, and throws on a mismatch, catching a layer built at a different spine resolution before it
|
|
106
|
-
* silently mis-joins a coverage cell. This is TWO-SIDED, not
|
|
106
|
+
* silently mis-joins a coverage cell. This is TWO-SIDED, not conditioned on both layers being present together: a
|
|
107
107
|
* poi-only call still checks poi's own recorded resolution, since `readLayerCoverage`'s poi-side join key (below)
|
|
108
108
|
* is derived from `BDC_H3_RESOLUTION` regardless of whether `bdcDB` is wired at all — comparing each manifest
|
|
109
109
|
* against the constant, rather than the two manifests against each other, is what makes a single-layer call
|
|
@@ -112,14 +112,14 @@
|
|
|
112
112
|
* — that gap needs the schema addition, not a runtime assertion.
|
|
113
113
|
*/
|
|
114
114
|
|
|
115
|
-
import type
|
|
116
|
-
import {
|
|
117
|
-
import type { POILookup } from "@mailwoman/resolver-wof-sqlite/poi
|
|
115
|
+
import { readLayerCoverage, readLayerManifest, type LayerContractHandle } from "@mailwoman/core/layers"
|
|
116
|
+
import type { Evidence } from "@mailwoman/evidence"
|
|
117
|
+
import type { POILookup } from "@mailwoman/resolver-wof-sqlite/poi"
|
|
118
118
|
import { shortCellToInt, type H3Cell, type PointLiteral } from "@mailwoman/spatial"
|
|
119
|
+
import type { DatabaseClient } from "@mailwoman/sqlite/client"
|
|
119
120
|
import { latLngToCell } from "h3-js"
|
|
120
|
-
import type { Kysely } from "kysely"
|
|
121
121
|
|
|
122
|
-
import { BDC_H3_RESOLUTION, type BDCDatabase } from "
|
|
122
|
+
import { BDC_H3_RESOLUTION, type BDCDatabase } from "#schema"
|
|
123
123
|
import {
|
|
124
124
|
BDC_SPEED_BUCKET_100_1000,
|
|
125
125
|
BDC_SPEED_BUCKET_25_100,
|
|
@@ -129,13 +129,13 @@ import {
|
|
|
129
129
|
res9ShortCellToRes6Parent,
|
|
130
130
|
speedBucketForDownloadSpeed,
|
|
131
131
|
type ProviderFilingSummary,
|
|
132
|
-
} from "
|
|
133
|
-
import { nearestInfrastructure, type InfrastructureHit } from "
|
|
132
|
+
} from "#sdk/filing-landscape"
|
|
133
|
+
import { nearestInfrastructure, type InfrastructureHit } from "#sdk/nearest-infrastructure"
|
|
134
134
|
import {
|
|
135
135
|
BroadbandTechnologyCategory,
|
|
136
136
|
BroadbandTechnologyCategoryToCodeSet,
|
|
137
137
|
BroadbandTechnologyCode,
|
|
138
|
-
} from "
|
|
138
|
+
} from "#sdk/technologies"
|
|
139
139
|
|
|
140
140
|
/**
|
|
141
141
|
* The three fixed-wireless codes (unlicensed/licensed/licensed-by-rule), read off
|
|
@@ -165,10 +165,29 @@ export interface PlausibilityClaim {
|
|
|
165
165
|
export type PlausibilityAbstainReason = "requires_build_local_layer" | "requires_bdc_layer" | "insufficient_survey_data"
|
|
166
166
|
|
|
167
167
|
export type PlausibilityEvidence =
|
|
168
|
-
| {
|
|
169
|
-
|
|
168
|
+
| {
|
|
169
|
+
kind: "observation"
|
|
170
|
+
type: "filing"
|
|
171
|
+
source: "bdc"
|
|
172
|
+
vintage: string
|
|
173
|
+
filing: ProviderFilingSummary
|
|
174
|
+
corroborates: boolean
|
|
175
|
+
}
|
|
176
|
+
| { kind: "observation"; type: "physical_plant"; source: "poi"; vintage: string; hit: InfrastructureHit }
|
|
170
177
|
| { type: "abstain"; reason: PlausibilityAbstainReason; layer?: string }
|
|
171
178
|
|
|
179
|
+
/**
|
|
180
|
+
* The two non-abstain variants are {@link Evidence} observations wearing their original field names, so a caller that
|
|
181
|
+
* already reads `.filing` keeps working while a caller that wants the shared vocabulary can narrow on `kind`. The
|
|
182
|
+
* abstain variant deliberately does NOT join the union: an abstain is the ABSENCE of evidence plus a reason, which
|
|
183
|
+
* `coverage_confidence` already reports, and minting an evidence object for "we could not look" would put a claim where
|
|
184
|
+
* there is none.
|
|
185
|
+
*/
|
|
186
|
+
export type PlausibilitySharedEvidence =
|
|
187
|
+
Extract<PlausibilityEvidence, { kind: "observation" }> extends Evidence
|
|
188
|
+
? Extract<PlausibilityEvidence, { kind: "observation" }>
|
|
189
|
+
: never
|
|
190
|
+
|
|
172
191
|
/**
|
|
173
192
|
* One evidence channel's survey-completeness state for THIS claim, WITH the reason a non-`"covered"` state applies.
|
|
174
193
|
* `coverage_confidence` alone folds several genuinely different situations into the same
|
|
@@ -254,7 +273,7 @@ export interface GeocodeLike {
|
|
|
254
273
|
*/
|
|
255
274
|
export interface PlausibilityPOIDeps {
|
|
256
275
|
lookup: POILookup
|
|
257
|
-
contractDB: DatabaseClient
|
|
276
|
+
contractDB: LayerContractHandle & Pick<DatabaseClient, "destroy">
|
|
258
277
|
}
|
|
259
278
|
|
|
260
279
|
export interface PlausibilityDeps {
|
|
@@ -295,15 +314,6 @@ const SPEED_BUCKET_RANK: Readonly<Record<string, number>> = {
|
|
|
295
314
|
[BDC_SPEED_BUCKET_GIGABIT]: 3,
|
|
296
315
|
}
|
|
297
316
|
|
|
298
|
-
/**
|
|
299
|
-
* `BDCDatabase extends LayerContractDatabase` structurally, but Kysely's `transaction()` makes `Kysely<DB>` INVARIANT
|
|
300
|
-
* in `DB` — same cast idiom as `filing-landscape.ts`'s own private `asContractDB` (decision 8: reuse, never re-derive;
|
|
301
|
-
* copied rather than imported since the original is module-private).
|
|
302
|
-
*/
|
|
303
|
-
function asContractDB(kdb: DatabaseClient<BDCDatabase>): Kysely<LayerContractDatabase> {
|
|
304
|
-
return kdb as unknown as Kysely<LayerContractDatabase>
|
|
305
|
-
}
|
|
306
|
-
|
|
307
317
|
/**
|
|
308
318
|
* `true` when `filing` corroborates the claim: same `technology_code`, AND `filing.speed_bucket` ranks at or above the
|
|
309
319
|
* claimed download speed's own bucket. A different tech, or a same-tech but LESSER filing, is `false` — never disproof,
|
|
@@ -373,7 +383,7 @@ function combineCoverage(
|
|
|
373
383
|
*/
|
|
374
384
|
async function assertLayerSpineResolution(
|
|
375
385
|
layer: "bdc" | "poi",
|
|
376
|
-
contractDB:
|
|
386
|
+
contractDB: LayerContractHandle & Pick<DatabaseClient, "destroy">,
|
|
377
387
|
expectedResolution: number
|
|
378
388
|
): Promise<void> {
|
|
379
389
|
const manifest = await readLayerManifest(contractDB)
|
|
@@ -430,7 +440,7 @@ export async function plausibilityCheck(claim: PlausibilityClaim, deps: Plausibi
|
|
|
430
440
|
// independently per WIRED layer, not only when both are present: a poi-only call still joins poi's coverage
|
|
431
441
|
// table against a BDC_H3_RESOLUTION-derived cell (below) and must not do so unchecked.
|
|
432
442
|
if (deps.bdcDB) {
|
|
433
|
-
await assertLayerSpineResolution("bdc",
|
|
443
|
+
await assertLayerSpineResolution("bdc", deps.bdcDB, BDC_H3_RESOLUTION)
|
|
434
444
|
}
|
|
435
445
|
|
|
436
446
|
if (deps.poi) {
|
|
@@ -459,7 +469,9 @@ export async function plausibilityCheck(claim: PlausibilityClaim, deps: Plausibi
|
|
|
459
469
|
|
|
460
470
|
for (const filing of landscape.filings) {
|
|
461
471
|
evidence.push({
|
|
472
|
+
kind: "observation",
|
|
462
473
|
type: "filing",
|
|
474
|
+
source: "bdc",
|
|
463
475
|
filing,
|
|
464
476
|
vintage: landscape.vintage,
|
|
465
477
|
corroborates: filingCorroborates(filing, claim),
|
|
@@ -490,8 +502,10 @@ export async function plausibilityCheck(claim: PlausibilityClaim, deps: Plausibi
|
|
|
490
502
|
categoryIDs: [...physicalCategories],
|
|
491
503
|
})
|
|
492
504
|
|
|
505
|
+
const poiVintage = (await readLayerManifest(deps.poi.contractDB)).sourceVintage
|
|
506
|
+
|
|
493
507
|
for (const hit of hits) {
|
|
494
|
-
evidence.push({ type: "physical_plant", hit })
|
|
508
|
+
evidence.push({ kind: "observation", type: "physical_plant", source: "poi", vintage: poiVintage, hit })
|
|
495
509
|
}
|
|
496
510
|
|
|
497
511
|
const coverageCell = await readLayerCoverage(deps.poi.contractDB, res9ShortCellToRes6Parent(pointCell!))
|
package/out/env.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* The FCC Broadband Map credentials the BDC client sends.
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
/**
|
|
10
|
+
* FCC Broadband Map (BDC) public-API credentials (`bdc/lib/sdk/client.ts`) — username + hash_value header auth. Never
|
|
11
|
+
* log their values.
|
|
12
|
+
*/
|
|
13
|
+
export declare const PrivateBDCEnvSchema: z.ZodObject<{
|
|
14
|
+
FCC_MAP_USERNAME: z.ZodOptional<z.ZodString>;
|
|
15
|
+
FCC_MAP_API_KEY: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, z.core.$strip>;
|
|
17
|
+
/**
|
|
18
|
+
* Live BDC credentials over core's. Never log their values.
|
|
19
|
+
*/
|
|
20
|
+
export declare const $private: Record<never, never> & Record<string, never> & {
|
|
21
|
+
FCC_MAP_USERNAME?: string | undefined;
|
|
22
|
+
FCC_MAP_API_KEY?: string | undefined;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=env.d.ts.map
|
package/out/env.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../lib/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;iBAS9B,CAAA;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ;;;CAA4C,CAAA"}
|
package/out/env.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @copyright Sister Software
|
|
3
|
+
* @license AGPL-3.0
|
|
4
|
+
* @author Teffen Ellis, et al.
|
|
5
|
+
*
|
|
6
|
+
* The FCC Broadband Map credentials the BDC client sends.
|
|
7
|
+
*/
|
|
8
|
+
import { $private as corePrivate, liveEnv } from "@mailwoman/core/env";
|
|
9
|
+
import { z } from "zod";
|
|
10
|
+
/**
|
|
11
|
+
* FCC Broadband Map (BDC) public-API credentials (`bdc/lib/sdk/client.ts`) — username + hash_value header auth. Never
|
|
12
|
+
* log their values.
|
|
13
|
+
*/
|
|
14
|
+
export const PrivateBDCEnvSchema = z.object({
|
|
15
|
+
FCC_MAP_USERNAME: z.string().optional().meta({
|
|
16
|
+
title: "FCC Broadband Map username",
|
|
17
|
+
description: "Username used to authenticate to the FCC Broadband Data Collection API.",
|
|
18
|
+
}),
|
|
19
|
+
FCC_MAP_API_KEY: z.string().optional().meta({
|
|
20
|
+
title: "FCC Broadband Map API key",
|
|
21
|
+
description: "API key hash used to authenticate to the FCC Broadband Data Collection API.",
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
24
|
+
/**
|
|
25
|
+
* Live BDC credentials over core's. Never log their values.
|
|
26
|
+
*/
|
|
27
|
+
export const $private = liveEnv(PrivateBDCEnvSchema, corePrivate);
|
|
28
|
+
//# sourceMappingURL=env.js.map
|
package/out/env.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../lib/env.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC5C,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,yEAAyE;KACtF,CAAC;IACF,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC;QAC3C,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,6EAA6E;KAC1F,CAAC;CACF,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAA"}
|
package/out/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "
|
|
2
|
-
export * from "
|
|
1
|
+
export * from "#schema";
|
|
2
|
+
export * from "#sdk/index";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/out/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA"}
|
package/out/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "
|
|
2
|
-
export * from "
|
|
1
|
+
export * from "#schema";
|
|
2
|
+
export * from "#sdk/index";
|
|
3
3
|
//# sourceMappingURL=index.js.map
|
package/out/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA"}
|
package/out/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,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,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,WAAY,SAAQ,qBAAqB;IACzD,gBAAgB,EAAE,oBAAoB,CAAA;IACtC,YAAY,EAAE,gBAAgB,CAAA;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAE3C;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvF;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF"}
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../lib/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACpC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,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,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,gBAAgB;IAChC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC9B;AAED,MAAM,WAAW,WAAY,SAAQ,qBAAqB;IACzD,gBAAgB,EAAE,oBAAoB,CAAA;IACtC,YAAY,EAAE,gBAAgB,CAAA;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAElC;;;GAGG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAA;AAE3C;;;;GAIG;AACH,wBAAsB,0BAA0B,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBvF;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAQnF;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF"}
|
package/out/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AA+EH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAE3C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAAuB;IACvE,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,kBAAkB,CAAC;SAC/B,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC9B,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,+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,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;SAChC,OAAO,EAAE,CAAA;IAEX,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;AAC3G,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAuB;IACnE,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,cAAc,CAAC;SAC3B,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;SAC/B,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC;SACpC,OAAO,EAAE,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAuB;IAChE,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;AACvG,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../lib/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AA+EH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAElC;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAA;AAE3C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAAuB;IACvE,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,kBAAkB,CAAC;SAC/B,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SACnD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;SAC9C,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC;SAC9B,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,+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,SAAS,CAAC,aAAa,EAAE,MAAM,CAAC;SAChC,OAAO,EAAE,CAAA;IAEX,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAA;AAC3G,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,EAAuB;IACnE,MAAM,EAAE,CAAC,MAAM;SACb,WAAW,CAAC,cAAc,CAAC;SAC3B,SAAS,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;SAC1D,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;SACxB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;SAC/B,SAAS,CAAC,iBAAiB,EAAE,MAAM,CAAC;SACpC,OAAO,EAAE,CAAA;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EAAuB;IAChE,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;AACvG,CAAC"}
|
package/out/sdk/build-bdc.d.ts
CHANGED
|
@@ -8,8 +8,7 @@
|
|
|
8
8
|
*
|
|
9
9
|
* Mirrors `mailwoman/gazetteer-pipeline/poi/build-poi.ts`'s shape closely: the same build-tuning
|
|
10
10
|
* pragmas, the same single-pass `Map<number, number>` coverage aggregation taken during the load
|
|
11
|
-
* (no second scan), the same
|
|
12
|
-
* `@mailwoman/core/layers` calls, and the same `writeLayerManifest` → `sealDatabase` tail.
|
|
11
|
+
* (no second scan), and the same `writeLayerManifest` → `sealDatabase` tail.
|
|
13
12
|
*
|
|
14
13
|
* Two differences from that precedent, both deliberate:
|
|
15
14
|
*
|
|
@@ -50,11 +49,11 @@
|
|
|
50
49
|
* mid-build crash mustn't cost the previously-good artifact, which is exactly the failure mode
|
|
51
50
|
* the house rule exists for.
|
|
52
51
|
*/
|
|
53
|
-
import { DatabaseClient } from "@mailwoman/core/kysley/client";
|
|
54
52
|
import type { FilerDatabase } from "@mailwoman/filer";
|
|
55
53
|
import type { ProviderListRow } from "@mailwoman/filer/sdk";
|
|
56
|
-
import
|
|
57
|
-
import {
|
|
54
|
+
import { DatabaseClient } from "@mailwoman/sqlite/client";
|
|
55
|
+
import type { ProviderID } from "#sdk/common";
|
|
56
|
+
import { type BDCAvailabilityRow } from "#sdk/parsing";
|
|
58
57
|
/**
|
|
59
58
|
* The manifest's `attribution` — names the FCC as the source, then copies the Fabric-boundary sentence verbatim from
|
|
60
59
|
* `bdc/README.md`'s "CostQuest Fabric boundary" section (backticks stripped — this is plain prose, not markdown).
|
|
@@ -62,8 +61,8 @@ import { type BDCAvailabilityRow } from "./parsing.ts";
|
|
|
62
61
|
export declare const BDC_ATTRIBUTION: string;
|
|
63
62
|
export interface BuildBDCOptions {
|
|
64
63
|
/**
|
|
65
|
-
* Injected row source — the
|
|
66
|
-
* filesystem read happens.
|
|
64
|
+
* Injected row source — the TEST INJECTION POINT (mirrors `BuildPOIOptions.rows`). When given, `csvPaths` is ignored
|
|
65
|
+
* and no filesystem read happens.
|
|
67
66
|
*/
|
|
68
67
|
rows?: Iterable<BDCAvailabilityRow> | AsyncIterable<BDCAvailabilityRow>;
|
|
69
68
|
/**
|
|
@@ -95,8 +94,8 @@ export interface BuildBDCOptions {
|
|
|
95
94
|
* Resolve a 15-char census block GEOID to its centroid. Injected so tests supply a small fixture `Map` lookup instead
|
|
96
95
|
* of touching a real TIGER database; the real (CLI-wired) implementation is
|
|
97
96
|
* {@linkcode createTIGERBlockCentroidLookup}, which reads `tabblock20.GEOID` (uppercase — `TIGERBlockTable`) block
|
|
98
|
-
* geometry. Returning `undefined` for an unknown geoid is
|
|
99
|
-
*
|
|
97
|
+
* geometry. Returning `undefined` for an unknown geoid is required: the materialize pass counts it in `unknownGeoids`
|
|
98
|
+
* and skips the row — it must NEVER guess a cell.
|
|
100
99
|
*/
|
|
101
100
|
blockCentroids: (geoid: string) => {
|
|
102
101
|
lat: number;
|
|
@@ -104,9 +103,9 @@ export interface BuildBDCOptions {
|
|
|
104
103
|
} | undefined;
|
|
105
104
|
onProgress?: (message: string) => void;
|
|
106
105
|
/**
|
|
107
|
-
* Provider-list rows ({@link ProviderListRow}, `@mailwoman/filer/sdk`'s `parseProviderList`) — the test/CLI
|
|
108
|
-
* populating `bdc_provider` (2a decision 8 / 3a decision 6). When ABSENT (the default), `bdc_provider`
|
|
109
|
-
* and the rest of the build is untouched: every code path this option touches is
|
|
106
|
+
* Provider-list rows ({@link ProviderListRow}, `@mailwoman/filer/sdk`'s `parseProviderList`) — the test/CLI injection
|
|
107
|
+
* point for populating `bdc_provider` (2a decision 8 / 3a decision 6). When ABSENT (the default), `bdc_provider`
|
|
108
|
+
* stays empty and the rest of the build is untouched: every code path this option touches is conditioned behind `if
|
|
110
109
|
* (options.providers)`, so omitting it changes nothing. When present, `buildBDCDatabase` groups rows by `providerID`
|
|
111
110
|
* and inserts one `bdc_provider` row per distinct provider — see {@link BuildBDCOptions.filerDB} for how the primary
|
|
112
111
|
* FRN is picked when a provider carries more than one, and `schema.ts`'s `BDCProviderTable` docstring for the full
|
|
@@ -173,7 +172,7 @@ export interface BuildBDCResult {
|
|
|
173
172
|
*
|
|
174
173
|
* `csvPath` is optional and used ONLY to name the offending file in a thrown error (the direct-buffer unit tests call
|
|
175
174
|
* this without one; {@linkcode readAvailabilityRowsFromCSVPaths} always supplies it). The `Number.isSafeInteger` guard
|
|
176
|
-
* below is
|
|
175
|
+
* below is required, not defensive dressing: `bdc_stage.provider_id` is `INTEGER NOT NULL`, and a bare
|
|
177
176
|
* `Number.parseInt` on a non-numeric field (a malformed/re-headered/truncated CSV) silently produces `NaN`. `NaN` binds
|
|
178
177
|
* to that NOT NULL column as SQLite `NULL`, `INSERT OR IGNORE` then drops the row without a constraint error, and every
|
|
179
178
|
* dropped row gets counted as `deduped` — the ENTIRE file's rows vanish silently, misreported as ordinary dedup. A
|
|
@@ -181,11 +180,18 @@ export interface BuildBDCResult {
|
|
|
181
180
|
*/
|
|
182
181
|
export declare function peekProviderID(csvBuffer: Buffer, csvPath?: string): ProviderID;
|
|
183
182
|
/**
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
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.
|
|
189
195
|
*
|
|
190
196
|
* Returns `undefined` for anything that doesn't parse as one of the two geometry types (including `null` geometry).
|
|
191
197
|
*/
|
|
@@ -195,16 +201,17 @@ export declare function geometryCentroid(geometryJSON: string | null): {
|
|
|
195
201
|
} | undefined;
|
|
196
202
|
/**
|
|
197
203
|
* The production `blockCentroids` supplier: opens the TIGER blocks database READ-ONLY and probes `tabblock20.GEOID`
|
|
198
|
-
* (uppercase) per lookup, decoding its GeoJSON `geometry` column via {@linkcode geometryCentroid}.
|
|
199
|
-
*
|
|
200
|
-
*
|
|
201
|
-
*
|
|
202
|
-
* resolver-wof-sqlite
|
|
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.
|
|
203
210
|
*/
|
|
204
|
-
export declare function createTIGERBlockCentroidLookup(tigerDBPath: string): (geoid: string) => {
|
|
211
|
+
export declare function createTIGERBlockCentroidLookup(tigerDBPath: string): Promise<(geoid: string) => {
|
|
205
212
|
lat: number;
|
|
206
213
|
lon: number;
|
|
207
|
-
} | undefined
|
|
214
|
+
} | undefined>;
|
|
208
215
|
/**
|
|
209
216
|
* Build `bdc.db`: stage (raw dedup) → materialize (resolve `h3_cell` per geoid, skip+count unknown geoids) → drop stage
|
|
210
217
|
* → 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":["../../sdk/build-bdc.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"build-bdc.d.ts","sourceRoot":"","sources":["../../lib/sdk/build-bdc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAcH,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;AAQ5E;;;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;AAuCD;;;;;;;;;;;;;;;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;AAsHD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAoSxF"}
|