@empressaio/atom-contract 1.10.0 → 1.12.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +7 -2
  3. package/dist/conformance/common.d.ts +1 -1
  4. package/dist/conformance/common.js +1 -1
  5. package/dist/property/building-footprint.d.ts +649 -0
  6. package/dist/property/building-footprint.d.ts.map +1 -0
  7. package/dist/property/building-footprint.js +86 -0
  8. package/dist/property/building-footprint.js.map +1 -0
  9. package/dist/property/common.d.ts +164 -0
  10. package/dist/property/common.d.ts.map +1 -1
  11. package/dist/property/common.js +93 -0
  12. package/dist/property/common.js.map +1 -1
  13. package/dist/property/fixtures.d.ts +90 -0
  14. package/dist/property/fixtures.d.ts.map +1 -1
  15. package/dist/property/fixtures.js +281 -0
  16. package/dist/property/fixtures.js.map +1 -1
  17. package/dist/property/index.d.ts +3 -0
  18. package/dist/property/index.d.ts.map +1 -1
  19. package/dist/property/index.js +3 -0
  20. package/dist/property/index.js.map +1 -1
  21. package/dist/property/road-node.d.ts +694 -0
  22. package/dist/property/road-node.d.ts.map +1 -0
  23. package/dist/property/road-node.js +81 -0
  24. package/dist/property/road-node.js.map +1 -0
  25. package/dist/property/setback-rule.d.ts +16 -16
  26. package/dist/property/utility-easement.d.ts +724 -0
  27. package/dist/property/utility-easement.d.ts.map +1 -0
  28. package/dist/property/utility-easement.js +81 -0
  29. package/dist/property/utility-easement.js.map +1 -0
  30. package/dist/temporal/common.d.ts +2 -2
  31. package/dist/temporal/common.d.ts.map +1 -1
  32. package/dist/temporal/common.js +2 -0
  33. package/dist/temporal/common.js.map +1 -1
  34. package/dist/workspace/workspace-attachment.d.ts +4 -4
  35. package/package.json +1 -1
@@ -0,0 +1,694 @@
1
+ import { z } from "zod";
2
+ import type { AccessPolicy } from "../registration.js";
3
+ import type { AtomTier } from "../conformance/common.js";
4
+ import type { ReasoningChain } from "../reasoning-chain.js";
5
+ import type { ReasoningReadContract } from "../read-contract/reasoning-axes.js";
6
+ /** v1 road hierarchy (27c WDLL 3 / R1). */
7
+ export type RoadClassification = "highway" | "major_collector" | "minor_collector" | "residential" | "alley" | "gravel" | "unclassified";
8
+ export declare const ROAD_CLASSIFICATION_VALUES: ReadonlyArray<RoadClassification>;
9
+ export declare const ROAD_CLASSIFICATION_SCHEMA: z.ZodEnum<["highway", "major_collector", "minor_collector", "residential", "alley", "gravel", "unclassified"]>;
10
+ export declare const ROAD_CENTERLINE_SCHEMA: z.ZodObject<{
11
+ type: z.ZodLiteral<"LineString">;
12
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
13
+ }, "strip", z.ZodTypeAny, {
14
+ type: "LineString";
15
+ coordinates: [number, number][];
16
+ }, {
17
+ type: "LineString";
18
+ coordinates: [number, number][];
19
+ }>;
20
+ export type RoadCenterline = z.infer<typeof ROAD_CENTERLINE_SCHEMA>;
21
+ export declare const ROW_PROVENANCE_KIND: "approximate-assumed-per-class";
22
+ export declare const ROW_PROVENANCE_SCHEMA: z.ZodObject<{
23
+ kind: z.ZodLiteral<"approximate-assumed-per-class">;
24
+ /** Descriptor table key used for assumed width (jurisdiction knowledge). */
25
+ assumedWidthTableKey: z.ZodString;
26
+ osmHighwayTag: z.ZodString;
27
+ note: z.ZodOptional<z.ZodString>;
28
+ }, "strip", z.ZodTypeAny, {
29
+ kind: "approximate-assumed-per-class";
30
+ assumedWidthTableKey: string;
31
+ osmHighwayTag: string;
32
+ note?: string | undefined;
33
+ }, {
34
+ kind: "approximate-assumed-per-class";
35
+ assumedWidthTableKey: string;
36
+ osmHighwayTag: string;
37
+ note?: string | undefined;
38
+ }>;
39
+ export type RowProvenance = z.infer<typeof ROW_PROVENANCE_SCHEMA>;
40
+ export declare const ROAD_ROW_SCHEMA: z.ZodObject<{
41
+ assumedWidthFt: z.ZodNumber;
42
+ provenance: z.ZodObject<{
43
+ kind: z.ZodLiteral<"approximate-assumed-per-class">;
44
+ /** Descriptor table key used for assumed width (jurisdiction knowledge). */
45
+ assumedWidthTableKey: z.ZodString;
46
+ osmHighwayTag: z.ZodString;
47
+ note: z.ZodOptional<z.ZodString>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ kind: "approximate-assumed-per-class";
50
+ assumedWidthTableKey: string;
51
+ osmHighwayTag: string;
52
+ note?: string | undefined;
53
+ }, {
54
+ kind: "approximate-assumed-per-class";
55
+ assumedWidthTableKey: string;
56
+ osmHighwayTag: string;
57
+ note?: string | undefined;
58
+ }>;
59
+ /** Offset polylines from centerline + assumed half-width (v1 approximate). */
60
+ leftEdge: z.ZodObject<{
61
+ type: z.ZodLiteral<"LineString">;
62
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
63
+ }, "strip", z.ZodTypeAny, {
64
+ type: "LineString";
65
+ coordinates: [number, number][];
66
+ }, {
67
+ type: "LineString";
68
+ coordinates: [number, number][];
69
+ }>;
70
+ rightEdge: z.ZodObject<{
71
+ type: z.ZodLiteral<"LineString">;
72
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
73
+ }, "strip", z.ZodTypeAny, {
74
+ type: "LineString";
75
+ coordinates: [number, number][];
76
+ }, {
77
+ type: "LineString";
78
+ coordinates: [number, number][];
79
+ }>;
80
+ }, "strip", z.ZodTypeAny, {
81
+ provenance: {
82
+ kind: "approximate-assumed-per-class";
83
+ assumedWidthTableKey: string;
84
+ osmHighwayTag: string;
85
+ note?: string | undefined;
86
+ };
87
+ assumedWidthFt: number;
88
+ leftEdge: {
89
+ type: "LineString";
90
+ coordinates: [number, number][];
91
+ };
92
+ rightEdge: {
93
+ type: "LineString";
94
+ coordinates: [number, number][];
95
+ };
96
+ }, {
97
+ provenance: {
98
+ kind: "approximate-assumed-per-class";
99
+ assumedWidthTableKey: string;
100
+ osmHighwayTag: string;
101
+ note?: string | undefined;
102
+ };
103
+ assumedWidthFt: number;
104
+ leftEdge: {
105
+ type: "LineString";
106
+ coordinates: [number, number][];
107
+ };
108
+ rightEdge: {
109
+ type: "LineString";
110
+ coordinates: [number, number][];
111
+ };
112
+ }>;
113
+ export type RoadRow = z.infer<typeof ROAD_ROW_SCHEMA>;
114
+ /** Digital-twin-ready attach slot — no infra atoms in R1 scope. */
115
+ export declare const ROAD_ATTACH_POINT_SCHEMA: z.ZodObject<{
116
+ kind: z.ZodLiteral<"infra-slot">;
117
+ refKey: z.ZodString;
118
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
119
+ note: z.ZodOptional<z.ZodString>;
120
+ }, "strip", z.ZodTypeAny, {
121
+ kind: "infra-slot";
122
+ refKey: string;
123
+ position: [number, number];
124
+ note?: string | undefined;
125
+ }, {
126
+ kind: "infra-slot";
127
+ refKey: string;
128
+ position: [number, number];
129
+ note?: string | undefined;
130
+ }>;
131
+ export type RoadAttachPoint = z.infer<typeof ROAD_ATTACH_POINT_SCHEMA>;
132
+ /**
133
+ * Road NODE atom — first-class spine node (27c WDLL 3).
134
+ *
135
+ * Stable id `{county_fips}:road:{osm_way_id}`. Centerline from OSM;
136
+ * ROW edges from assumed per-class width with honest approximate provenance.
137
+ */
138
+ export interface RoadNodeAtomInstance {
139
+ entityType: "road-node";
140
+ atomDid: string;
141
+ roadNodeId: string;
142
+ /** Human label when OSM carries a name tag (e.g. "Spring Street"). */
143
+ displayName?: string;
144
+ countyFips: string;
145
+ osmWayId: number;
146
+ classification: RoadClassification;
147
+ centerline: RoadCenterline;
148
+ row: RoadRow;
149
+ /** Reserved reference/attach points for future infra atoms (streetlight, water main, …). */
150
+ attachPoints: ReadonlyArray<RoadAttachPoint>;
151
+ reasoningChain: Extract<ReasoningChain, {
152
+ reasoningKind: "observed";
153
+ }>;
154
+ accessPolicy: AccessPolicy;
155
+ sourceCitation: string;
156
+ extractedAt: string;
157
+ asOf?: string;
158
+ atomTier: AtomTier;
159
+ readContract?: ReasoningReadContract;
160
+ }
161
+ export declare const ROAD_NODE_SCHEMA: z.ZodObject<{
162
+ atomTier: z.ZodLiteral<AtomTier>;
163
+ readContract: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
164
+ axes: z.ZodReadonly<z.ZodObject<{
165
+ calibratedConfidence: z.ZodReadonly<z.ZodObject<{
166
+ readonly estimate: z.ZodNumber;
167
+ readonly n: z.ZodNumber;
168
+ readonly intervalWidth: z.ZodNumber;
169
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
170
+ }, "strip", z.ZodTypeAny, {
171
+ estimate: number;
172
+ n: number;
173
+ intervalWidth: number;
174
+ provenance: "asserted" | "backtest" | "seed" | "live";
175
+ }, {
176
+ estimate: number;
177
+ n: number;
178
+ intervalWidth: number;
179
+ provenance: "asserted" | "backtest" | "seed" | "live";
180
+ }>>;
181
+ assertedConfidence: z.ZodReadonly<z.ZodObject<{
182
+ readonly estimate: z.ZodNumber;
183
+ readonly n: z.ZodNumber;
184
+ readonly intervalWidth: z.ZodNumber;
185
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
186
+ }, "strip", z.ZodTypeAny, {
187
+ estimate: number;
188
+ n: number;
189
+ intervalWidth: number;
190
+ provenance: "asserted" | "backtest" | "seed" | "live";
191
+ }, {
192
+ estimate: number;
193
+ n: number;
194
+ intervalWidth: number;
195
+ provenance: "asserted" | "backtest" | "seed" | "live";
196
+ }>>;
197
+ consequence: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
198
+ kind: z.ZodLiteral<"property-risk">;
199
+ stratum: z.ZodEnum<[import("../read-contract/reasoning-axes.js").PropertyRiskStratum, ...import("../read-contract/reasoning-axes.js").PropertyRiskStratum[]]>;
200
+ basis: z.ZodString;
201
+ assertedAt: z.ZodString;
202
+ auditRef: z.ZodOptional<z.ZodString>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
205
+ assertedAt: string;
206
+ kind: "property-risk";
207
+ basis: string;
208
+ auditRef?: string | undefined;
209
+ }, {
210
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
211
+ assertedAt: string;
212
+ kind: "property-risk";
213
+ basis: string;
214
+ auditRef?: string | undefined;
215
+ }>, z.ZodObject<{
216
+ kind: z.ZodLiteral<"not-applicable">;
217
+ reason: z.ZodString;
218
+ assertedAt: z.ZodString;
219
+ }, "strip", z.ZodTypeAny, {
220
+ assertedAt: string;
221
+ kind: "not-applicable";
222
+ reason: string;
223
+ }, {
224
+ assertedAt: string;
225
+ kind: "not-applicable";
226
+ reason: string;
227
+ }>]>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ calibratedConfidence: Readonly<{
230
+ estimate: number;
231
+ n: number;
232
+ intervalWidth: number;
233
+ provenance: "asserted" | "backtest" | "seed" | "live";
234
+ }>;
235
+ assertedConfidence: Readonly<{
236
+ estimate: number;
237
+ n: number;
238
+ intervalWidth: number;
239
+ provenance: "asserted" | "backtest" | "seed" | "live";
240
+ }>;
241
+ consequence: {
242
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
243
+ assertedAt: string;
244
+ kind: "property-risk";
245
+ basis: string;
246
+ auditRef?: string | undefined;
247
+ } | {
248
+ assertedAt: string;
249
+ kind: "not-applicable";
250
+ reason: string;
251
+ };
252
+ }, {
253
+ calibratedConfidence: Readonly<{
254
+ estimate: number;
255
+ n: number;
256
+ intervalWidth: number;
257
+ provenance: "asserted" | "backtest" | "seed" | "live";
258
+ }>;
259
+ assertedConfidence: Readonly<{
260
+ estimate: number;
261
+ n: number;
262
+ intervalWidth: number;
263
+ provenance: "asserted" | "backtest" | "seed" | "live";
264
+ }>;
265
+ consequence: {
266
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
267
+ assertedAt: string;
268
+ kind: "property-risk";
269
+ basis: string;
270
+ auditRef?: string | undefined;
271
+ } | {
272
+ assertedAt: string;
273
+ kind: "not-applicable";
274
+ reason: string;
275
+ };
276
+ }>>;
277
+ assembledAt: z.ZodString;
278
+ modelAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
279
+ modelId: z.ZodString;
280
+ modelVersion: z.ZodString;
281
+ promptTemplateVersion: z.ZodString;
282
+ contextTemplateVersion: z.ZodString;
283
+ samplingParams: z.ZodReadonly<z.ZodObject<{
284
+ temperature: z.ZodOptional<z.ZodNumber>;
285
+ topP: z.ZodOptional<z.ZodNumber>;
286
+ maxTokens: z.ZodOptional<z.ZodNumber>;
287
+ seed: z.ZodOptional<z.ZodNumber>;
288
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
289
+ temperature: z.ZodOptional<z.ZodNumber>;
290
+ topP: z.ZodOptional<z.ZodNumber>;
291
+ maxTokens: z.ZodOptional<z.ZodNumber>;
292
+ seed: z.ZodOptional<z.ZodNumber>;
293
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
294
+ temperature: z.ZodOptional<z.ZodNumber>;
295
+ topP: z.ZodOptional<z.ZodNumber>;
296
+ maxTokens: z.ZodOptional<z.ZodNumber>;
297
+ seed: z.ZodOptional<z.ZodNumber>;
298
+ }, z.ZodUnknown, "strip">>>;
299
+ retrievedAtomSetId: z.ZodString;
300
+ }, "strip", z.ZodTypeAny, {
301
+ modelId: string;
302
+ modelVersion: string;
303
+ promptTemplateVersion: string;
304
+ contextTemplateVersion: string;
305
+ samplingParams: Readonly<z.objectOutputType<{
306
+ temperature: z.ZodOptional<z.ZodNumber>;
307
+ topP: z.ZodOptional<z.ZodNumber>;
308
+ maxTokens: z.ZodOptional<z.ZodNumber>;
309
+ seed: z.ZodOptional<z.ZodNumber>;
310
+ }, z.ZodUnknown, "strip">>;
311
+ retrievedAtomSetId: string;
312
+ }, {
313
+ modelId: string;
314
+ modelVersion: string;
315
+ promptTemplateVersion: string;
316
+ contextTemplateVersion: string;
317
+ samplingParams: Readonly<z.objectInputType<{
318
+ temperature: z.ZodOptional<z.ZodNumber>;
319
+ topP: z.ZodOptional<z.ZodNumber>;
320
+ maxTokens: z.ZodOptional<z.ZodNumber>;
321
+ seed: z.ZodOptional<z.ZodNumber>;
322
+ }, z.ZodUnknown, "strip">>;
323
+ retrievedAtomSetId: string;
324
+ }>>>;
325
+ }, "strip", z.ZodTypeAny, {
326
+ axes: Readonly<{
327
+ calibratedConfidence: Readonly<{
328
+ estimate: number;
329
+ n: number;
330
+ intervalWidth: number;
331
+ provenance: "asserted" | "backtest" | "seed" | "live";
332
+ }>;
333
+ assertedConfidence: Readonly<{
334
+ estimate: number;
335
+ n: number;
336
+ intervalWidth: number;
337
+ provenance: "asserted" | "backtest" | "seed" | "live";
338
+ }>;
339
+ consequence: {
340
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
341
+ assertedAt: string;
342
+ kind: "property-risk";
343
+ basis: string;
344
+ auditRef?: string | undefined;
345
+ } | {
346
+ assertedAt: string;
347
+ kind: "not-applicable";
348
+ reason: string;
349
+ };
350
+ }>;
351
+ assembledAt: string;
352
+ modelAttribution?: Readonly<{
353
+ modelId: string;
354
+ modelVersion: string;
355
+ promptTemplateVersion: string;
356
+ contextTemplateVersion: string;
357
+ samplingParams: Readonly<z.objectOutputType<{
358
+ temperature: z.ZodOptional<z.ZodNumber>;
359
+ topP: z.ZodOptional<z.ZodNumber>;
360
+ maxTokens: z.ZodOptional<z.ZodNumber>;
361
+ seed: z.ZodOptional<z.ZodNumber>;
362
+ }, z.ZodUnknown, "strip">>;
363
+ retrievedAtomSetId: string;
364
+ }> | undefined;
365
+ }, {
366
+ axes: Readonly<{
367
+ calibratedConfidence: Readonly<{
368
+ estimate: number;
369
+ n: number;
370
+ intervalWidth: number;
371
+ provenance: "asserted" | "backtest" | "seed" | "live";
372
+ }>;
373
+ assertedConfidence: Readonly<{
374
+ estimate: number;
375
+ n: number;
376
+ intervalWidth: number;
377
+ provenance: "asserted" | "backtest" | "seed" | "live";
378
+ }>;
379
+ consequence: {
380
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
381
+ assertedAt: string;
382
+ kind: "property-risk";
383
+ basis: string;
384
+ auditRef?: string | undefined;
385
+ } | {
386
+ assertedAt: string;
387
+ kind: "not-applicable";
388
+ reason: string;
389
+ };
390
+ }>;
391
+ assembledAt: string;
392
+ modelAttribution?: Readonly<{
393
+ modelId: string;
394
+ modelVersion: string;
395
+ promptTemplateVersion: string;
396
+ contextTemplateVersion: string;
397
+ samplingParams: Readonly<z.objectInputType<{
398
+ temperature: z.ZodOptional<z.ZodNumber>;
399
+ topP: z.ZodOptional<z.ZodNumber>;
400
+ maxTokens: z.ZodOptional<z.ZodNumber>;
401
+ seed: z.ZodOptional<z.ZodNumber>;
402
+ }, z.ZodUnknown, "strip">>;
403
+ retrievedAtomSetId: string;
404
+ }> | undefined;
405
+ }>>>;
406
+ sourceCitation: z.ZodString;
407
+ extractedAt: z.ZodString;
408
+ asOf: z.ZodOptional<z.ZodString>;
409
+ entityType: z.ZodLiteral<"road-node">;
410
+ atomDid: z.ZodEffects<z.ZodString, string, string>;
411
+ roadNodeId: z.ZodEffects<z.ZodString, string, string>;
412
+ displayName: z.ZodOptional<z.ZodString>;
413
+ countyFips: z.ZodString;
414
+ osmWayId: z.ZodNumber;
415
+ classification: z.ZodEnum<["highway", "major_collector", "minor_collector", "residential", "alley", "gravel", "unclassified"]>;
416
+ centerline: z.ZodObject<{
417
+ type: z.ZodLiteral<"LineString">;
418
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
419
+ }, "strip", z.ZodTypeAny, {
420
+ type: "LineString";
421
+ coordinates: [number, number][];
422
+ }, {
423
+ type: "LineString";
424
+ coordinates: [number, number][];
425
+ }>;
426
+ row: z.ZodObject<{
427
+ assumedWidthFt: z.ZodNumber;
428
+ provenance: z.ZodObject<{
429
+ kind: z.ZodLiteral<"approximate-assumed-per-class">;
430
+ /** Descriptor table key used for assumed width (jurisdiction knowledge). */
431
+ assumedWidthTableKey: z.ZodString;
432
+ osmHighwayTag: z.ZodString;
433
+ note: z.ZodOptional<z.ZodString>;
434
+ }, "strip", z.ZodTypeAny, {
435
+ kind: "approximate-assumed-per-class";
436
+ assumedWidthTableKey: string;
437
+ osmHighwayTag: string;
438
+ note?: string | undefined;
439
+ }, {
440
+ kind: "approximate-assumed-per-class";
441
+ assumedWidthTableKey: string;
442
+ osmHighwayTag: string;
443
+ note?: string | undefined;
444
+ }>;
445
+ /** Offset polylines from centerline + assumed half-width (v1 approximate). */
446
+ leftEdge: z.ZodObject<{
447
+ type: z.ZodLiteral<"LineString">;
448
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
449
+ }, "strip", z.ZodTypeAny, {
450
+ type: "LineString";
451
+ coordinates: [number, number][];
452
+ }, {
453
+ type: "LineString";
454
+ coordinates: [number, number][];
455
+ }>;
456
+ rightEdge: z.ZodObject<{
457
+ type: z.ZodLiteral<"LineString">;
458
+ coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
459
+ }, "strip", z.ZodTypeAny, {
460
+ type: "LineString";
461
+ coordinates: [number, number][];
462
+ }, {
463
+ type: "LineString";
464
+ coordinates: [number, number][];
465
+ }>;
466
+ }, "strip", z.ZodTypeAny, {
467
+ provenance: {
468
+ kind: "approximate-assumed-per-class";
469
+ assumedWidthTableKey: string;
470
+ osmHighwayTag: string;
471
+ note?: string | undefined;
472
+ };
473
+ assumedWidthFt: number;
474
+ leftEdge: {
475
+ type: "LineString";
476
+ coordinates: [number, number][];
477
+ };
478
+ rightEdge: {
479
+ type: "LineString";
480
+ coordinates: [number, number][];
481
+ };
482
+ }, {
483
+ provenance: {
484
+ kind: "approximate-assumed-per-class";
485
+ assumedWidthTableKey: string;
486
+ osmHighwayTag: string;
487
+ note?: string | undefined;
488
+ };
489
+ assumedWidthFt: number;
490
+ leftEdge: {
491
+ type: "LineString";
492
+ coordinates: [number, number][];
493
+ };
494
+ rightEdge: {
495
+ type: "LineString";
496
+ coordinates: [number, number][];
497
+ };
498
+ }>;
499
+ attachPoints: z.ZodArray<z.ZodObject<{
500
+ kind: z.ZodLiteral<"infra-slot">;
501
+ refKey: z.ZodString;
502
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
503
+ note: z.ZodOptional<z.ZodString>;
504
+ }, "strip", z.ZodTypeAny, {
505
+ kind: "infra-slot";
506
+ refKey: string;
507
+ position: [number, number];
508
+ note?: string | undefined;
509
+ }, {
510
+ kind: "infra-slot";
511
+ refKey: string;
512
+ position: [number, number];
513
+ note?: string | undefined;
514
+ }>, "many">;
515
+ reasoningChain: z.ZodObject<{
516
+ reasoningKind: z.ZodLiteral<"observed">;
517
+ }, "strip", z.ZodTypeAny, {
518
+ reasoningKind: "observed";
519
+ }, {
520
+ reasoningKind: "observed";
521
+ }>;
522
+ accessPolicy: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
523
+ }, "strip", z.ZodTypeAny, {
524
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
525
+ entityType: "road-node";
526
+ sourceCitation: string;
527
+ extractedAt: string;
528
+ atomDid: string;
529
+ reasoningChain: {
530
+ reasoningKind: "observed";
531
+ };
532
+ atomTier: AtomTier;
533
+ roadNodeId: string;
534
+ countyFips: string;
535
+ osmWayId: number;
536
+ classification: "highway" | "major_collector" | "minor_collector" | "residential" | "alley" | "gravel" | "unclassified";
537
+ centerline: {
538
+ type: "LineString";
539
+ coordinates: [number, number][];
540
+ };
541
+ row: {
542
+ provenance: {
543
+ kind: "approximate-assumed-per-class";
544
+ assumedWidthTableKey: string;
545
+ osmHighwayTag: string;
546
+ note?: string | undefined;
547
+ };
548
+ assumedWidthFt: number;
549
+ leftEdge: {
550
+ type: "LineString";
551
+ coordinates: [number, number][];
552
+ };
553
+ rightEdge: {
554
+ type: "LineString";
555
+ coordinates: [number, number][];
556
+ };
557
+ };
558
+ attachPoints: {
559
+ kind: "infra-slot";
560
+ refKey: string;
561
+ position: [number, number];
562
+ note?: string | undefined;
563
+ }[];
564
+ displayName?: string | undefined;
565
+ asOf?: string | undefined;
566
+ readContract?: Readonly<{
567
+ axes: Readonly<{
568
+ calibratedConfidence: Readonly<{
569
+ estimate: number;
570
+ n: number;
571
+ intervalWidth: number;
572
+ provenance: "asserted" | "backtest" | "seed" | "live";
573
+ }>;
574
+ assertedConfidence: Readonly<{
575
+ estimate: number;
576
+ n: number;
577
+ intervalWidth: number;
578
+ provenance: "asserted" | "backtest" | "seed" | "live";
579
+ }>;
580
+ consequence: {
581
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
582
+ assertedAt: string;
583
+ kind: "property-risk";
584
+ basis: string;
585
+ auditRef?: string | undefined;
586
+ } | {
587
+ assertedAt: string;
588
+ kind: "not-applicable";
589
+ reason: string;
590
+ };
591
+ }>;
592
+ assembledAt: string;
593
+ modelAttribution?: Readonly<{
594
+ modelId: string;
595
+ modelVersion: string;
596
+ promptTemplateVersion: string;
597
+ contextTemplateVersion: string;
598
+ samplingParams: Readonly<z.objectOutputType<{
599
+ temperature: z.ZodOptional<z.ZodNumber>;
600
+ topP: z.ZodOptional<z.ZodNumber>;
601
+ maxTokens: z.ZodOptional<z.ZodNumber>;
602
+ seed: z.ZodOptional<z.ZodNumber>;
603
+ }, z.ZodUnknown, "strip">>;
604
+ retrievedAtomSetId: string;
605
+ }> | undefined;
606
+ }> | undefined;
607
+ }, {
608
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
609
+ entityType: "road-node";
610
+ sourceCitation: string;
611
+ extractedAt: string;
612
+ atomDid: string;
613
+ reasoningChain: {
614
+ reasoningKind: "observed";
615
+ };
616
+ atomTier: AtomTier;
617
+ roadNodeId: string;
618
+ countyFips: string;
619
+ osmWayId: number;
620
+ classification: "highway" | "major_collector" | "minor_collector" | "residential" | "alley" | "gravel" | "unclassified";
621
+ centerline: {
622
+ type: "LineString";
623
+ coordinates: [number, number][];
624
+ };
625
+ row: {
626
+ provenance: {
627
+ kind: "approximate-assumed-per-class";
628
+ assumedWidthTableKey: string;
629
+ osmHighwayTag: string;
630
+ note?: string | undefined;
631
+ };
632
+ assumedWidthFt: number;
633
+ leftEdge: {
634
+ type: "LineString";
635
+ coordinates: [number, number][];
636
+ };
637
+ rightEdge: {
638
+ type: "LineString";
639
+ coordinates: [number, number][];
640
+ };
641
+ };
642
+ attachPoints: {
643
+ kind: "infra-slot";
644
+ refKey: string;
645
+ position: [number, number];
646
+ note?: string | undefined;
647
+ }[];
648
+ displayName?: string | undefined;
649
+ asOf?: string | undefined;
650
+ readContract?: Readonly<{
651
+ axes: Readonly<{
652
+ calibratedConfidence: Readonly<{
653
+ estimate: number;
654
+ n: number;
655
+ intervalWidth: number;
656
+ provenance: "asserted" | "backtest" | "seed" | "live";
657
+ }>;
658
+ assertedConfidence: Readonly<{
659
+ estimate: number;
660
+ n: number;
661
+ intervalWidth: number;
662
+ provenance: "asserted" | "backtest" | "seed" | "live";
663
+ }>;
664
+ consequence: {
665
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
666
+ assertedAt: string;
667
+ kind: "property-risk";
668
+ basis: string;
669
+ auditRef?: string | undefined;
670
+ } | {
671
+ assertedAt: string;
672
+ kind: "not-applicable";
673
+ reason: string;
674
+ };
675
+ }>;
676
+ assembledAt: string;
677
+ modelAttribution?: Readonly<{
678
+ modelId: string;
679
+ modelVersion: string;
680
+ promptTemplateVersion: string;
681
+ contextTemplateVersion: string;
682
+ samplingParams: Readonly<z.objectInputType<{
683
+ temperature: z.ZodOptional<z.ZodNumber>;
684
+ topP: z.ZodOptional<z.ZodNumber>;
685
+ maxTokens: z.ZodOptional<z.ZodNumber>;
686
+ seed: z.ZodOptional<z.ZodNumber>;
687
+ }, z.ZodUnknown, "strip">>;
688
+ retrievedAtomSetId: string;
689
+ }> | undefined;
690
+ }> | undefined;
691
+ }>;
692
+ export declare function createRoadNode(input: z.input<typeof ROAD_NODE_SCHEMA>): RoadNodeAtomInstance;
693
+ export declare function roadNodeIdFromParts(countyFips: string, osmWayId: number): string;
694
+ //# sourceMappingURL=road-node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"road-node.d.ts","sourceRoot":"","sources":["../../src/property/road-node.ts"],"names":[],"mappings":"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"}