@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,649 @@
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
+ import { type BuildingFootprintAbsence, type BuildingFootprintSourceTier, type FootprintGeometry, type SiteLayerVerifiedAbsence } from "./common.js";
7
+ /**
8
+ * Building footprint FACT atom — observed improvement geometry or honest absence.
9
+ *
10
+ * ADR-029 / T3: one atom per structure footprint on a parcel (0..N).
11
+ * ML-derived tier is always `public-free` with ODC-By in `sourceCitation`
12
+ * (master ruling 2026-08-05).
13
+ */
14
+ export interface BuildingFootprintAtomInstance {
15
+ entityType: "building-footprint";
16
+ atomDid: string;
17
+ parcelNodeId: string;
18
+ /** Stable id within parcel (`primary`, `accessory-1`, `county-coverage`, …). */
19
+ footprintId: string;
20
+ reasoningChain: Extract<ReasoningChain, {
21
+ reasoningKind: "observed";
22
+ }>;
23
+ sourceTier: BuildingFootprintSourceTier;
24
+ /** Present when a footprint polygon is observed. */
25
+ footprintGeometry?: FootprintGeometry;
26
+ /** Per-parcel absence when a source exists but yields no feature. */
27
+ absence?: BuildingFootprintAbsence;
28
+ /** County-coverage or county-level verified absence (ADR-028 pair). */
29
+ verifiedAbsence?: SiteLayerVerifiedAbsence;
30
+ accessPolicy: AccessPolicy;
31
+ sourceCitation: string;
32
+ extractedAt: string;
33
+ asOf?: string;
34
+ sourceVintage?: string;
35
+ verificationStatus: "machine" | "human" | "unsurveyed";
36
+ sourceAdapter: string;
37
+ evaluatedAt: string;
38
+ structureRole?: "primary" | "accessory" | "unknown";
39
+ atomTier: AtomTier;
40
+ readContract?: ReasoningReadContract;
41
+ }
42
+ export declare const BUILDING_FOOTPRINT_SCHEMA: z.ZodEffects<z.ZodObject<{
43
+ structureRole: z.ZodOptional<z.ZodEnum<["primary", "accessory", "unknown"]>>;
44
+ atomTier: z.ZodLiteral<AtomTier>;
45
+ readContract: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
46
+ axes: z.ZodReadonly<z.ZodObject<{
47
+ calibratedConfidence: z.ZodReadonly<z.ZodObject<{
48
+ readonly estimate: z.ZodNumber;
49
+ readonly n: z.ZodNumber;
50
+ readonly intervalWidth: z.ZodNumber;
51
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
52
+ }, "strip", z.ZodTypeAny, {
53
+ estimate: number;
54
+ n: number;
55
+ intervalWidth: number;
56
+ provenance: "asserted" | "backtest" | "seed" | "live";
57
+ }, {
58
+ estimate: number;
59
+ n: number;
60
+ intervalWidth: number;
61
+ provenance: "asserted" | "backtest" | "seed" | "live";
62
+ }>>;
63
+ assertedConfidence: z.ZodReadonly<z.ZodObject<{
64
+ readonly estimate: z.ZodNumber;
65
+ readonly n: z.ZodNumber;
66
+ readonly intervalWidth: z.ZodNumber;
67
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
68
+ }, "strip", z.ZodTypeAny, {
69
+ estimate: number;
70
+ n: number;
71
+ intervalWidth: number;
72
+ provenance: "asserted" | "backtest" | "seed" | "live";
73
+ }, {
74
+ estimate: number;
75
+ n: number;
76
+ intervalWidth: number;
77
+ provenance: "asserted" | "backtest" | "seed" | "live";
78
+ }>>;
79
+ consequence: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
80
+ kind: z.ZodLiteral<"property-risk">;
81
+ stratum: z.ZodEnum<[import("../read-contract/reasoning-axes.js").PropertyRiskStratum, ...import("../read-contract/reasoning-axes.js").PropertyRiskStratum[]]>;
82
+ basis: z.ZodString;
83
+ assertedAt: z.ZodString;
84
+ auditRef: z.ZodOptional<z.ZodString>;
85
+ }, "strip", z.ZodTypeAny, {
86
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
87
+ assertedAt: string;
88
+ kind: "property-risk";
89
+ basis: string;
90
+ auditRef?: string | undefined;
91
+ }, {
92
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
93
+ assertedAt: string;
94
+ kind: "property-risk";
95
+ basis: string;
96
+ auditRef?: string | undefined;
97
+ }>, z.ZodObject<{
98
+ kind: z.ZodLiteral<"not-applicable">;
99
+ reason: z.ZodString;
100
+ assertedAt: z.ZodString;
101
+ }, "strip", z.ZodTypeAny, {
102
+ assertedAt: string;
103
+ kind: "not-applicable";
104
+ reason: string;
105
+ }, {
106
+ assertedAt: string;
107
+ kind: "not-applicable";
108
+ reason: string;
109
+ }>]>;
110
+ }, "strip", z.ZodTypeAny, {
111
+ calibratedConfidence: Readonly<{
112
+ estimate: number;
113
+ n: number;
114
+ intervalWidth: number;
115
+ provenance: "asserted" | "backtest" | "seed" | "live";
116
+ }>;
117
+ assertedConfidence: Readonly<{
118
+ estimate: number;
119
+ n: number;
120
+ intervalWidth: number;
121
+ provenance: "asserted" | "backtest" | "seed" | "live";
122
+ }>;
123
+ consequence: {
124
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
125
+ assertedAt: string;
126
+ kind: "property-risk";
127
+ basis: string;
128
+ auditRef?: string | undefined;
129
+ } | {
130
+ assertedAt: string;
131
+ kind: "not-applicable";
132
+ reason: string;
133
+ };
134
+ }, {
135
+ calibratedConfidence: Readonly<{
136
+ estimate: number;
137
+ n: number;
138
+ intervalWidth: number;
139
+ provenance: "asserted" | "backtest" | "seed" | "live";
140
+ }>;
141
+ assertedConfidence: Readonly<{
142
+ estimate: number;
143
+ n: number;
144
+ intervalWidth: number;
145
+ provenance: "asserted" | "backtest" | "seed" | "live";
146
+ }>;
147
+ consequence: {
148
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
149
+ assertedAt: string;
150
+ kind: "property-risk";
151
+ basis: string;
152
+ auditRef?: string | undefined;
153
+ } | {
154
+ assertedAt: string;
155
+ kind: "not-applicable";
156
+ reason: string;
157
+ };
158
+ }>>;
159
+ assembledAt: z.ZodString;
160
+ modelAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
161
+ modelId: z.ZodString;
162
+ modelVersion: z.ZodString;
163
+ promptTemplateVersion: z.ZodString;
164
+ contextTemplateVersion: z.ZodString;
165
+ samplingParams: z.ZodReadonly<z.ZodObject<{
166
+ temperature: z.ZodOptional<z.ZodNumber>;
167
+ topP: z.ZodOptional<z.ZodNumber>;
168
+ maxTokens: z.ZodOptional<z.ZodNumber>;
169
+ seed: z.ZodOptional<z.ZodNumber>;
170
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
171
+ temperature: z.ZodOptional<z.ZodNumber>;
172
+ topP: z.ZodOptional<z.ZodNumber>;
173
+ maxTokens: z.ZodOptional<z.ZodNumber>;
174
+ seed: z.ZodOptional<z.ZodNumber>;
175
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
176
+ temperature: z.ZodOptional<z.ZodNumber>;
177
+ topP: z.ZodOptional<z.ZodNumber>;
178
+ maxTokens: z.ZodOptional<z.ZodNumber>;
179
+ seed: z.ZodOptional<z.ZodNumber>;
180
+ }, z.ZodUnknown, "strip">>>;
181
+ retrievedAtomSetId: z.ZodString;
182
+ }, "strip", z.ZodTypeAny, {
183
+ modelId: string;
184
+ modelVersion: string;
185
+ promptTemplateVersion: string;
186
+ contextTemplateVersion: string;
187
+ samplingParams: Readonly<z.objectOutputType<{
188
+ temperature: z.ZodOptional<z.ZodNumber>;
189
+ topP: z.ZodOptional<z.ZodNumber>;
190
+ maxTokens: z.ZodOptional<z.ZodNumber>;
191
+ seed: z.ZodOptional<z.ZodNumber>;
192
+ }, z.ZodUnknown, "strip">>;
193
+ retrievedAtomSetId: string;
194
+ }, {
195
+ modelId: string;
196
+ modelVersion: string;
197
+ promptTemplateVersion: string;
198
+ contextTemplateVersion: string;
199
+ samplingParams: Readonly<z.objectInputType<{
200
+ temperature: z.ZodOptional<z.ZodNumber>;
201
+ topP: z.ZodOptional<z.ZodNumber>;
202
+ maxTokens: z.ZodOptional<z.ZodNumber>;
203
+ seed: z.ZodOptional<z.ZodNumber>;
204
+ }, z.ZodUnknown, "strip">>;
205
+ retrievedAtomSetId: string;
206
+ }>>>;
207
+ }, "strip", z.ZodTypeAny, {
208
+ axes: Readonly<{
209
+ calibratedConfidence: Readonly<{
210
+ estimate: number;
211
+ n: number;
212
+ intervalWidth: number;
213
+ provenance: "asserted" | "backtest" | "seed" | "live";
214
+ }>;
215
+ assertedConfidence: Readonly<{
216
+ estimate: number;
217
+ n: number;
218
+ intervalWidth: number;
219
+ provenance: "asserted" | "backtest" | "seed" | "live";
220
+ }>;
221
+ consequence: {
222
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
223
+ assertedAt: string;
224
+ kind: "property-risk";
225
+ basis: string;
226
+ auditRef?: string | undefined;
227
+ } | {
228
+ assertedAt: string;
229
+ kind: "not-applicable";
230
+ reason: string;
231
+ };
232
+ }>;
233
+ assembledAt: string;
234
+ modelAttribution?: Readonly<{
235
+ modelId: string;
236
+ modelVersion: string;
237
+ promptTemplateVersion: string;
238
+ contextTemplateVersion: string;
239
+ samplingParams: Readonly<z.objectOutputType<{
240
+ temperature: z.ZodOptional<z.ZodNumber>;
241
+ topP: z.ZodOptional<z.ZodNumber>;
242
+ maxTokens: z.ZodOptional<z.ZodNumber>;
243
+ seed: z.ZodOptional<z.ZodNumber>;
244
+ }, z.ZodUnknown, "strip">>;
245
+ retrievedAtomSetId: string;
246
+ }> | undefined;
247
+ }, {
248
+ axes: Readonly<{
249
+ calibratedConfidence: Readonly<{
250
+ estimate: number;
251
+ n: number;
252
+ intervalWidth: number;
253
+ provenance: "asserted" | "backtest" | "seed" | "live";
254
+ }>;
255
+ assertedConfidence: Readonly<{
256
+ estimate: number;
257
+ n: number;
258
+ intervalWidth: number;
259
+ provenance: "asserted" | "backtest" | "seed" | "live";
260
+ }>;
261
+ consequence: {
262
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
263
+ assertedAt: string;
264
+ kind: "property-risk";
265
+ basis: string;
266
+ auditRef?: string | undefined;
267
+ } | {
268
+ assertedAt: string;
269
+ kind: "not-applicable";
270
+ reason: string;
271
+ };
272
+ }>;
273
+ assembledAt: string;
274
+ modelAttribution?: Readonly<{
275
+ modelId: string;
276
+ modelVersion: string;
277
+ promptTemplateVersion: string;
278
+ contextTemplateVersion: string;
279
+ samplingParams: Readonly<z.objectInputType<{
280
+ temperature: z.ZodOptional<z.ZodNumber>;
281
+ topP: z.ZodOptional<z.ZodNumber>;
282
+ maxTokens: z.ZodOptional<z.ZodNumber>;
283
+ seed: z.ZodOptional<z.ZodNumber>;
284
+ }, z.ZodUnknown, "strip">>;
285
+ retrievedAtomSetId: string;
286
+ }> | undefined;
287
+ }>>>;
288
+ sourceVintage: z.ZodOptional<z.ZodString>;
289
+ verificationStatus: z.ZodEnum<["machine", "human", "unsurveyed"]>;
290
+ sourceAdapter: z.ZodString;
291
+ evaluatedAt: z.ZodString;
292
+ sourceCitation: z.ZodString;
293
+ extractedAt: z.ZodString;
294
+ asOf: z.ZodOptional<z.ZodString>;
295
+ entityType: z.ZodLiteral<"building-footprint">;
296
+ atomDid: z.ZodEffects<z.ZodString, string, string>;
297
+ parcelNodeId: z.ZodEffects<z.ZodString, string, string>;
298
+ footprintId: z.ZodString;
299
+ reasoningChain: z.ZodObject<{
300
+ reasoningKind: z.ZodLiteral<"observed">;
301
+ }, "strip", z.ZodTypeAny, {
302
+ reasoningKind: "observed";
303
+ }, {
304
+ reasoningKind: "observed";
305
+ }>;
306
+ sourceTier: z.ZodEnum<["cad-authoritative", "ml-derived", "absent"]>;
307
+ footprintGeometry: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
308
+ type: z.ZodLiteral<"Polygon">;
309
+ coordinates: z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">;
310
+ }, "strip", z.ZodTypeAny, {
311
+ type: "Polygon";
312
+ coordinates: [number, number][][];
313
+ }, {
314
+ type: "Polygon";
315
+ coordinates: [number, number][][];
316
+ }>, z.ZodObject<{
317
+ type: z.ZodLiteral<"MultiPolygon">;
318
+ coordinates: z.ZodArray<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">, "many">, "many">;
319
+ }, "strip", z.ZodTypeAny, {
320
+ type: "MultiPolygon";
321
+ coordinates: [number, number][][][];
322
+ }, {
323
+ type: "MultiPolygon";
324
+ coordinates: [number, number][][][];
325
+ }>]>>;
326
+ absence: z.ZodOptional<z.ZodObject<{
327
+ kind: z.ZodLiteral<"no-footprint-feature">;
328
+ reason: z.ZodString;
329
+ }, "strip", z.ZodTypeAny, {
330
+ kind: "no-footprint-feature";
331
+ reason: string;
332
+ }, {
333
+ kind: "no-footprint-feature";
334
+ reason: string;
335
+ }>>;
336
+ verifiedAbsence: z.ZodOptional<z.ZodObject<{
337
+ evaluated: z.ZodLiteral<true>;
338
+ provenanceScope: z.ZodArray<z.ZodString, "many">;
339
+ }, "strict", z.ZodTypeAny, {
340
+ evaluated: true;
341
+ provenanceScope: string[];
342
+ }, {
343
+ evaluated: true;
344
+ provenanceScope: string[];
345
+ }>>;
346
+ accessPolicy: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
347
+ }, "strip", z.ZodTypeAny, {
348
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
349
+ entityType: "building-footprint";
350
+ sourceCitation: string;
351
+ extractedAt: string;
352
+ atomDid: string;
353
+ evaluatedAt: string;
354
+ verificationStatus: "machine" | "human" | "unsurveyed";
355
+ sourceAdapter: string;
356
+ parcelNodeId: string;
357
+ reasoningChain: {
358
+ reasoningKind: "observed";
359
+ };
360
+ atomTier: AtomTier;
361
+ footprintId: string;
362
+ sourceTier: "cad-authoritative" | "ml-derived" | "absent";
363
+ asOf?: string | undefined;
364
+ readContract?: Readonly<{
365
+ axes: Readonly<{
366
+ calibratedConfidence: Readonly<{
367
+ estimate: number;
368
+ n: number;
369
+ intervalWidth: number;
370
+ provenance: "asserted" | "backtest" | "seed" | "live";
371
+ }>;
372
+ assertedConfidence: Readonly<{
373
+ estimate: number;
374
+ n: number;
375
+ intervalWidth: number;
376
+ provenance: "asserted" | "backtest" | "seed" | "live";
377
+ }>;
378
+ consequence: {
379
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
380
+ assertedAt: string;
381
+ kind: "property-risk";
382
+ basis: string;
383
+ auditRef?: string | undefined;
384
+ } | {
385
+ assertedAt: string;
386
+ kind: "not-applicable";
387
+ reason: string;
388
+ };
389
+ }>;
390
+ assembledAt: string;
391
+ modelAttribution?: Readonly<{
392
+ modelId: string;
393
+ modelVersion: string;
394
+ promptTemplateVersion: string;
395
+ contextTemplateVersion: string;
396
+ samplingParams: Readonly<z.objectOutputType<{
397
+ temperature: z.ZodOptional<z.ZodNumber>;
398
+ topP: z.ZodOptional<z.ZodNumber>;
399
+ maxTokens: z.ZodOptional<z.ZodNumber>;
400
+ seed: z.ZodOptional<z.ZodNumber>;
401
+ }, z.ZodUnknown, "strip">>;
402
+ retrievedAtomSetId: string;
403
+ }> | undefined;
404
+ }> | undefined;
405
+ footprintGeometry?: {
406
+ type: "Polygon";
407
+ coordinates: [number, number][][];
408
+ } | {
409
+ type: "MultiPolygon";
410
+ coordinates: [number, number][][][];
411
+ } | undefined;
412
+ absence?: {
413
+ kind: "no-footprint-feature";
414
+ reason: string;
415
+ } | undefined;
416
+ verifiedAbsence?: {
417
+ evaluated: true;
418
+ provenanceScope: string[];
419
+ } | undefined;
420
+ structureRole?: "unknown" | "primary" | "accessory" | undefined;
421
+ sourceVintage?: string | undefined;
422
+ }, {
423
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
424
+ entityType: "building-footprint";
425
+ sourceCitation: string;
426
+ extractedAt: string;
427
+ atomDid: string;
428
+ evaluatedAt: string;
429
+ verificationStatus: "machine" | "human" | "unsurveyed";
430
+ sourceAdapter: string;
431
+ parcelNodeId: string;
432
+ reasoningChain: {
433
+ reasoningKind: "observed";
434
+ };
435
+ atomTier: AtomTier;
436
+ footprintId: string;
437
+ sourceTier: "cad-authoritative" | "ml-derived" | "absent";
438
+ asOf?: string | undefined;
439
+ readContract?: Readonly<{
440
+ axes: Readonly<{
441
+ calibratedConfidence: Readonly<{
442
+ estimate: number;
443
+ n: number;
444
+ intervalWidth: number;
445
+ provenance: "asserted" | "backtest" | "seed" | "live";
446
+ }>;
447
+ assertedConfidence: Readonly<{
448
+ estimate: number;
449
+ n: number;
450
+ intervalWidth: number;
451
+ provenance: "asserted" | "backtest" | "seed" | "live";
452
+ }>;
453
+ consequence: {
454
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
455
+ assertedAt: string;
456
+ kind: "property-risk";
457
+ basis: string;
458
+ auditRef?: string | undefined;
459
+ } | {
460
+ assertedAt: string;
461
+ kind: "not-applicable";
462
+ reason: string;
463
+ };
464
+ }>;
465
+ assembledAt: string;
466
+ modelAttribution?: Readonly<{
467
+ modelId: string;
468
+ modelVersion: string;
469
+ promptTemplateVersion: string;
470
+ contextTemplateVersion: string;
471
+ samplingParams: Readonly<z.objectInputType<{
472
+ temperature: z.ZodOptional<z.ZodNumber>;
473
+ topP: z.ZodOptional<z.ZodNumber>;
474
+ maxTokens: z.ZodOptional<z.ZodNumber>;
475
+ seed: z.ZodOptional<z.ZodNumber>;
476
+ }, z.ZodUnknown, "strip">>;
477
+ retrievedAtomSetId: string;
478
+ }> | undefined;
479
+ }> | undefined;
480
+ footprintGeometry?: {
481
+ type: "Polygon";
482
+ coordinates: [number, number][][];
483
+ } | {
484
+ type: "MultiPolygon";
485
+ coordinates: [number, number][][][];
486
+ } | undefined;
487
+ absence?: {
488
+ kind: "no-footprint-feature";
489
+ reason: string;
490
+ } | undefined;
491
+ verifiedAbsence?: {
492
+ evaluated: true;
493
+ provenanceScope: string[];
494
+ } | undefined;
495
+ structureRole?: "unknown" | "primary" | "accessory" | undefined;
496
+ sourceVintage?: string | undefined;
497
+ }>, {
498
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
499
+ entityType: "building-footprint";
500
+ sourceCitation: string;
501
+ extractedAt: string;
502
+ atomDid: string;
503
+ evaluatedAt: string;
504
+ verificationStatus: "machine" | "human" | "unsurveyed";
505
+ sourceAdapter: string;
506
+ parcelNodeId: string;
507
+ reasoningChain: {
508
+ reasoningKind: "observed";
509
+ };
510
+ atomTier: AtomTier;
511
+ footprintId: string;
512
+ sourceTier: "cad-authoritative" | "ml-derived" | "absent";
513
+ asOf?: string | undefined;
514
+ readContract?: Readonly<{
515
+ axes: Readonly<{
516
+ calibratedConfidence: Readonly<{
517
+ estimate: number;
518
+ n: number;
519
+ intervalWidth: number;
520
+ provenance: "asserted" | "backtest" | "seed" | "live";
521
+ }>;
522
+ assertedConfidence: Readonly<{
523
+ estimate: number;
524
+ n: number;
525
+ intervalWidth: number;
526
+ provenance: "asserted" | "backtest" | "seed" | "live";
527
+ }>;
528
+ consequence: {
529
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
530
+ assertedAt: string;
531
+ kind: "property-risk";
532
+ basis: string;
533
+ auditRef?: string | undefined;
534
+ } | {
535
+ assertedAt: string;
536
+ kind: "not-applicable";
537
+ reason: string;
538
+ };
539
+ }>;
540
+ assembledAt: string;
541
+ modelAttribution?: Readonly<{
542
+ modelId: string;
543
+ modelVersion: string;
544
+ promptTemplateVersion: string;
545
+ contextTemplateVersion: string;
546
+ samplingParams: Readonly<z.objectOutputType<{
547
+ temperature: z.ZodOptional<z.ZodNumber>;
548
+ topP: z.ZodOptional<z.ZodNumber>;
549
+ maxTokens: z.ZodOptional<z.ZodNumber>;
550
+ seed: z.ZodOptional<z.ZodNumber>;
551
+ }, z.ZodUnknown, "strip">>;
552
+ retrievedAtomSetId: string;
553
+ }> | undefined;
554
+ }> | undefined;
555
+ footprintGeometry?: {
556
+ type: "Polygon";
557
+ coordinates: [number, number][][];
558
+ } | {
559
+ type: "MultiPolygon";
560
+ coordinates: [number, number][][][];
561
+ } | undefined;
562
+ absence?: {
563
+ kind: "no-footprint-feature";
564
+ reason: string;
565
+ } | undefined;
566
+ verifiedAbsence?: {
567
+ evaluated: true;
568
+ provenanceScope: string[];
569
+ } | undefined;
570
+ structureRole?: "unknown" | "primary" | "accessory" | undefined;
571
+ sourceVintage?: string | undefined;
572
+ }, {
573
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
574
+ entityType: "building-footprint";
575
+ sourceCitation: string;
576
+ extractedAt: string;
577
+ atomDid: string;
578
+ evaluatedAt: string;
579
+ verificationStatus: "machine" | "human" | "unsurveyed";
580
+ sourceAdapter: string;
581
+ parcelNodeId: string;
582
+ reasoningChain: {
583
+ reasoningKind: "observed";
584
+ };
585
+ atomTier: AtomTier;
586
+ footprintId: string;
587
+ sourceTier: "cad-authoritative" | "ml-derived" | "absent";
588
+ asOf?: string | undefined;
589
+ readContract?: Readonly<{
590
+ axes: Readonly<{
591
+ calibratedConfidence: Readonly<{
592
+ estimate: number;
593
+ n: number;
594
+ intervalWidth: number;
595
+ provenance: "asserted" | "backtest" | "seed" | "live";
596
+ }>;
597
+ assertedConfidence: Readonly<{
598
+ estimate: number;
599
+ n: number;
600
+ intervalWidth: number;
601
+ provenance: "asserted" | "backtest" | "seed" | "live";
602
+ }>;
603
+ consequence: {
604
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
605
+ assertedAt: string;
606
+ kind: "property-risk";
607
+ basis: string;
608
+ auditRef?: string | undefined;
609
+ } | {
610
+ assertedAt: string;
611
+ kind: "not-applicable";
612
+ reason: string;
613
+ };
614
+ }>;
615
+ assembledAt: string;
616
+ modelAttribution?: Readonly<{
617
+ modelId: string;
618
+ modelVersion: string;
619
+ promptTemplateVersion: string;
620
+ contextTemplateVersion: string;
621
+ samplingParams: Readonly<z.objectInputType<{
622
+ temperature: z.ZodOptional<z.ZodNumber>;
623
+ topP: z.ZodOptional<z.ZodNumber>;
624
+ maxTokens: z.ZodOptional<z.ZodNumber>;
625
+ seed: z.ZodOptional<z.ZodNumber>;
626
+ }, z.ZodUnknown, "strip">>;
627
+ retrievedAtomSetId: string;
628
+ }> | undefined;
629
+ }> | undefined;
630
+ footprintGeometry?: {
631
+ type: "Polygon";
632
+ coordinates: [number, number][][];
633
+ } | {
634
+ type: "MultiPolygon";
635
+ coordinates: [number, number][][][];
636
+ } | undefined;
637
+ absence?: {
638
+ kind: "no-footprint-feature";
639
+ reason: string;
640
+ } | undefined;
641
+ verifiedAbsence?: {
642
+ evaluated: true;
643
+ provenanceScope: string[];
644
+ } | undefined;
645
+ structureRole?: "unknown" | "primary" | "accessory" | undefined;
646
+ sourceVintage?: string | undefined;
647
+ }>;
648
+ export declare function createBuildingFootprint(input: z.input<typeof BUILDING_FOOTPRINT_SCHEMA>): BuildingFootprintAtomInstance;
649
+ //# sourceMappingURL=building-footprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"building-footprint.d.ts","sourceRoot":"","sources":["../../src/property/building-footprint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,OAAO,EAYL,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,EAChC,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAErB;;;;;;GAMG;AACH,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,oBAAoB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACvE,UAAU,EAAE,2BAA2B,CAAC;IACxC,oDAAoD;IACpD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,qEAAqE;IACrE,OAAO,CAAC,EAAE,wBAAwB,CAAC;IACnC,uEAAuE;IACvE,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IACpD,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoFlC,CAAC;AAEL,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC/C,6BAA6B,CAE/B"}