@empressaio/atom-contract 1.7.0 → 1.9.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 (79) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +39 -0
  3. package/dist/actor-record.d.ts +208 -0
  4. package/dist/actor-record.d.ts.map +1 -0
  5. package/dist/actor-record.js +98 -0
  6. package/dist/actor-record.js.map +1 -0
  7. package/dist/conformance/common.d.ts +11 -0
  8. package/dist/conformance/common.d.ts.map +1 -1
  9. package/dist/conformance/common.js +9 -0
  10. package/dist/conformance/common.js.map +1 -1
  11. package/dist/conformance/index.d.ts +1 -1
  12. package/dist/conformance/index.d.ts.map +1 -1
  13. package/dist/conformance/index.js +1 -1
  14. package/dist/conformance/index.js.map +1 -1
  15. package/dist/encumbrances/administrative-rule.d.ts +2 -2
  16. package/dist/encumbrances/restriction-clause.d.ts +2 -2
  17. package/dist/encumbrances/restriction-corpus.d.ts +2 -2
  18. package/dist/index.d.ts +5 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -1
  21. package/dist/index.js.map +1 -1
  22. package/dist/obligation.d.ts +54 -6
  23. package/dist/obligation.d.ts.map +1 -1
  24. package/dist/obligation.js +14 -0
  25. package/dist/obligation.js.map +1 -1
  26. package/dist/og/common.d.ts +2 -2
  27. package/dist/og/mineral-lease.d.ts +6 -6
  28. package/dist/og/ownership-interest.d.ts +8 -8
  29. package/dist/og/pad.d.ts +6 -6
  30. package/dist/og/production-timeseries.d.ts +4 -4
  31. package/dist/og/rrc-lease.d.ts +4 -4
  32. package/dist/og/well.d.ts +4 -4
  33. package/dist/og/zone.d.ts +2 -2
  34. package/dist/property/buildable-envelope.d.ts +464 -0
  35. package/dist/property/buildable-envelope.d.ts.map +1 -0
  36. package/dist/property/buildable-envelope.js +63 -0
  37. package/dist/property/buildable-envelope.js.map +1 -0
  38. package/dist/property/common.d.ts +513 -0
  39. package/dist/property/common.d.ts.map +1 -0
  40. package/dist/property/common.js +66 -0
  41. package/dist/property/common.js.map +1 -0
  42. package/dist/property/fixtures.d.ts +102 -0
  43. package/dist/property/fixtures.d.ts.map +1 -0
  44. package/dist/property/fixtures.js +299 -0
  45. package/dist/property/fixtures.js.map +1 -0
  46. package/dist/property/index.d.ts +23 -0
  47. package/dist/property/index.d.ts.map +1 -0
  48. package/dist/property/index.js +19 -0
  49. package/dist/property/index.js.map +1 -0
  50. package/dist/property/setback-rule.d.ts +887 -0
  51. package/dist/property/setback-rule.d.ts.map +1 -0
  52. package/dist/property/setback-rule.js +53 -0
  53. package/dist/property/setback-rule.js.map +1 -0
  54. package/dist/property/zoning-fact.d.ts +538 -0
  55. package/dist/property/zoning-fact.d.ts.map +1 -0
  56. package/dist/property/zoning-fact.js +48 -0
  57. package/dist/property/zoning-fact.js.map +1 -0
  58. package/dist/read-contract/index.d.ts +1 -0
  59. package/dist/read-contract/index.d.ts.map +1 -1
  60. package/dist/read-contract/index.js +1 -0
  61. package/dist/read-contract/index.js.map +1 -1
  62. package/dist/read-contract/reasoning-axes.d.ts +475 -0
  63. package/dist/read-contract/reasoning-axes.d.ts.map +1 -0
  64. package/dist/read-contract/reasoning-axes.js +75 -0
  65. package/dist/read-contract/reasoning-axes.js.map +1 -0
  66. package/dist/reasoning/fixtures.d.ts +63 -0
  67. package/dist/reasoning/fixtures.d.ts.map +1 -0
  68. package/dist/reasoning/fixtures.js +127 -0
  69. package/dist/reasoning/fixtures.js.map +1 -0
  70. package/dist/reasoning/index.d.ts +9 -0
  71. package/dist/reasoning/index.d.ts.map +1 -0
  72. package/dist/reasoning/index.js +9 -0
  73. package/dist/reasoning/index.js.map +1 -0
  74. package/dist/reasoning-chain.d.ts +177 -0
  75. package/dist/reasoning-chain.d.ts.map +1 -0
  76. package/dist/reasoning-chain.js +63 -0
  77. package/dist/reasoning-chain.js.map +1 -0
  78. package/dist/workspace/property-workspace.d.ts +6 -6
  79. package/package.json +9 -1
@@ -0,0 +1,464 @@
1
+ import { z } from "zod";
2
+ import type { AccessPolicy } from "../registration.js";
3
+ import type { AtomTier } from "../conformance/common.js";
4
+ import type { AtomInputRef } from "../reasoning-chain.js";
5
+ import type { ReasoningChain } from "../reasoning-chain.js";
6
+ import type { ReasoningReadContract } from "../read-contract/reasoning-axes.js";
7
+ /** Canonical derivation method for buildable envelope inset (master 3.6). */
8
+ export declare const BUILDABLE_ENVELOPE_DERIVATION_METHOD: "buildable-envelope-inset-v1";
9
+ /**
10
+ * Buildable-envelope DERIVED atom — inputs cite fact + rule + reference fields.
11
+ *
12
+ * No `labeling x district` multiply field. `calibratedConfidence` on
13
+ * {@link readContract} may be a placeholder asserted snapshot at write;
14
+ * at READ the calibrated axis resolves via overlay (I-E). Envelope uses
15
+ * {@link PropertyConsequence} `not-applicable`, not life-safety ASCE7 stuffing.
16
+ */
17
+ export interface BuildableEnvelopeAtomInstance {
18
+ entityType: "buildable-envelope";
19
+ atomDid: string;
20
+ parcelNodeId: string;
21
+ reasoningChain: Extract<ReasoningChain, {
22
+ reasoningKind: "derived";
23
+ }> & {
24
+ derivationMethod: typeof BUILDABLE_ENVELOPE_DERIVATION_METHOD;
25
+ inputAtomRefs: AtomInputRef[];
26
+ };
27
+ accessPolicy: AccessPolicy;
28
+ sourceCitation: string;
29
+ extractedAt: string;
30
+ asOf?: string;
31
+ atomTier: AtomTier;
32
+ readContract?: ReasoningReadContract;
33
+ }
34
+ export declare const BUILDABLE_ENVELOPE_SCHEMA: z.ZodObject<{
35
+ atomTier: z.ZodLiteral<AtomTier>;
36
+ readContract: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
37
+ axes: z.ZodReadonly<z.ZodObject<{
38
+ calibratedConfidence: z.ZodReadonly<z.ZodObject<{
39
+ readonly estimate: z.ZodNumber;
40
+ readonly n: z.ZodNumber;
41
+ readonly intervalWidth: z.ZodNumber;
42
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
43
+ }, "strip", z.ZodTypeAny, {
44
+ estimate: number;
45
+ n: number;
46
+ intervalWidth: number;
47
+ provenance: "asserted" | "backtest" | "seed" | "live";
48
+ }, {
49
+ estimate: number;
50
+ n: number;
51
+ intervalWidth: number;
52
+ provenance: "asserted" | "backtest" | "seed" | "live";
53
+ }>>;
54
+ assertedConfidence: z.ZodReadonly<z.ZodObject<{
55
+ readonly estimate: z.ZodNumber;
56
+ readonly n: z.ZodNumber;
57
+ readonly intervalWidth: z.ZodNumber;
58
+ readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
59
+ }, "strip", z.ZodTypeAny, {
60
+ estimate: number;
61
+ n: number;
62
+ intervalWidth: number;
63
+ provenance: "asserted" | "backtest" | "seed" | "live";
64
+ }, {
65
+ estimate: number;
66
+ n: number;
67
+ intervalWidth: number;
68
+ provenance: "asserted" | "backtest" | "seed" | "live";
69
+ }>>;
70
+ consequence: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
71
+ kind: z.ZodLiteral<"property-risk">;
72
+ stratum: z.ZodEnum<[import("../read-contract/reasoning-axes.js").PropertyRiskStratum, ...import("../read-contract/reasoning-axes.js").PropertyRiskStratum[]]>;
73
+ basis: z.ZodString;
74
+ assertedAt: z.ZodString;
75
+ auditRef: z.ZodOptional<z.ZodString>;
76
+ }, "strip", z.ZodTypeAny, {
77
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
78
+ assertedAt: string;
79
+ kind: "property-risk";
80
+ basis: string;
81
+ auditRef?: string | undefined;
82
+ }, {
83
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
84
+ assertedAt: string;
85
+ kind: "property-risk";
86
+ basis: string;
87
+ auditRef?: string | undefined;
88
+ }>, z.ZodObject<{
89
+ kind: z.ZodLiteral<"not-applicable">;
90
+ reason: z.ZodString;
91
+ assertedAt: z.ZodString;
92
+ }, "strip", z.ZodTypeAny, {
93
+ assertedAt: string;
94
+ kind: "not-applicable";
95
+ reason: string;
96
+ }, {
97
+ assertedAt: string;
98
+ kind: "not-applicable";
99
+ reason: string;
100
+ }>]>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ calibratedConfidence: Readonly<{
103
+ estimate: number;
104
+ n: number;
105
+ intervalWidth: number;
106
+ provenance: "asserted" | "backtest" | "seed" | "live";
107
+ }>;
108
+ assertedConfidence: Readonly<{
109
+ estimate: number;
110
+ n: number;
111
+ intervalWidth: number;
112
+ provenance: "asserted" | "backtest" | "seed" | "live";
113
+ }>;
114
+ consequence: {
115
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
116
+ assertedAt: string;
117
+ kind: "property-risk";
118
+ basis: string;
119
+ auditRef?: string | undefined;
120
+ } | {
121
+ assertedAt: string;
122
+ kind: "not-applicable";
123
+ reason: string;
124
+ };
125
+ }, {
126
+ calibratedConfidence: Readonly<{
127
+ estimate: number;
128
+ n: number;
129
+ intervalWidth: number;
130
+ provenance: "asserted" | "backtest" | "seed" | "live";
131
+ }>;
132
+ assertedConfidence: Readonly<{
133
+ estimate: number;
134
+ n: number;
135
+ intervalWidth: number;
136
+ provenance: "asserted" | "backtest" | "seed" | "live";
137
+ }>;
138
+ consequence: {
139
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
140
+ assertedAt: string;
141
+ kind: "property-risk";
142
+ basis: string;
143
+ auditRef?: string | undefined;
144
+ } | {
145
+ assertedAt: string;
146
+ kind: "not-applicable";
147
+ reason: string;
148
+ };
149
+ }>>;
150
+ assembledAt: z.ZodString;
151
+ modelAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
152
+ modelId: z.ZodString;
153
+ modelVersion: z.ZodString;
154
+ promptTemplateVersion: z.ZodString;
155
+ contextTemplateVersion: z.ZodString;
156
+ samplingParams: z.ZodReadonly<z.ZodObject<{
157
+ temperature: z.ZodOptional<z.ZodNumber>;
158
+ topP: z.ZodOptional<z.ZodNumber>;
159
+ maxTokens: z.ZodOptional<z.ZodNumber>;
160
+ seed: z.ZodOptional<z.ZodNumber>;
161
+ }, "strip", z.ZodUnknown, z.objectOutputType<{
162
+ temperature: z.ZodOptional<z.ZodNumber>;
163
+ topP: z.ZodOptional<z.ZodNumber>;
164
+ maxTokens: z.ZodOptional<z.ZodNumber>;
165
+ seed: z.ZodOptional<z.ZodNumber>;
166
+ }, z.ZodUnknown, "strip">, z.objectInputType<{
167
+ temperature: z.ZodOptional<z.ZodNumber>;
168
+ topP: z.ZodOptional<z.ZodNumber>;
169
+ maxTokens: z.ZodOptional<z.ZodNumber>;
170
+ seed: z.ZodOptional<z.ZodNumber>;
171
+ }, z.ZodUnknown, "strip">>>;
172
+ retrievedAtomSetId: z.ZodString;
173
+ }, "strip", z.ZodTypeAny, {
174
+ modelId: string;
175
+ modelVersion: string;
176
+ promptTemplateVersion: string;
177
+ contextTemplateVersion: string;
178
+ samplingParams: Readonly<z.objectOutputType<{
179
+ temperature: z.ZodOptional<z.ZodNumber>;
180
+ topP: z.ZodOptional<z.ZodNumber>;
181
+ maxTokens: z.ZodOptional<z.ZodNumber>;
182
+ seed: z.ZodOptional<z.ZodNumber>;
183
+ }, z.ZodUnknown, "strip">>;
184
+ retrievedAtomSetId: string;
185
+ }, {
186
+ modelId: string;
187
+ modelVersion: string;
188
+ promptTemplateVersion: string;
189
+ contextTemplateVersion: string;
190
+ samplingParams: Readonly<z.objectInputType<{
191
+ temperature: z.ZodOptional<z.ZodNumber>;
192
+ topP: z.ZodOptional<z.ZodNumber>;
193
+ maxTokens: z.ZodOptional<z.ZodNumber>;
194
+ seed: z.ZodOptional<z.ZodNumber>;
195
+ }, z.ZodUnknown, "strip">>;
196
+ retrievedAtomSetId: string;
197
+ }>>>;
198
+ }, "strip", z.ZodTypeAny, {
199
+ axes: Readonly<{
200
+ calibratedConfidence: Readonly<{
201
+ estimate: number;
202
+ n: number;
203
+ intervalWidth: number;
204
+ provenance: "asserted" | "backtest" | "seed" | "live";
205
+ }>;
206
+ assertedConfidence: Readonly<{
207
+ estimate: number;
208
+ n: number;
209
+ intervalWidth: number;
210
+ provenance: "asserted" | "backtest" | "seed" | "live";
211
+ }>;
212
+ consequence: {
213
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
214
+ assertedAt: string;
215
+ kind: "property-risk";
216
+ basis: string;
217
+ auditRef?: string | undefined;
218
+ } | {
219
+ assertedAt: string;
220
+ kind: "not-applicable";
221
+ reason: string;
222
+ };
223
+ }>;
224
+ assembledAt: string;
225
+ modelAttribution?: Readonly<{
226
+ modelId: string;
227
+ modelVersion: string;
228
+ promptTemplateVersion: string;
229
+ contextTemplateVersion: string;
230
+ samplingParams: Readonly<z.objectOutputType<{
231
+ temperature: z.ZodOptional<z.ZodNumber>;
232
+ topP: z.ZodOptional<z.ZodNumber>;
233
+ maxTokens: z.ZodOptional<z.ZodNumber>;
234
+ seed: z.ZodOptional<z.ZodNumber>;
235
+ }, z.ZodUnknown, "strip">>;
236
+ retrievedAtomSetId: string;
237
+ }> | undefined;
238
+ }, {
239
+ axes: Readonly<{
240
+ calibratedConfidence: Readonly<{
241
+ estimate: number;
242
+ n: number;
243
+ intervalWidth: number;
244
+ provenance: "asserted" | "backtest" | "seed" | "live";
245
+ }>;
246
+ assertedConfidence: Readonly<{
247
+ estimate: number;
248
+ n: number;
249
+ intervalWidth: number;
250
+ provenance: "asserted" | "backtest" | "seed" | "live";
251
+ }>;
252
+ consequence: {
253
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
254
+ assertedAt: string;
255
+ kind: "property-risk";
256
+ basis: string;
257
+ auditRef?: string | undefined;
258
+ } | {
259
+ assertedAt: string;
260
+ kind: "not-applicable";
261
+ reason: string;
262
+ };
263
+ }>;
264
+ assembledAt: string;
265
+ modelAttribution?: Readonly<{
266
+ modelId: string;
267
+ modelVersion: string;
268
+ promptTemplateVersion: string;
269
+ contextTemplateVersion: string;
270
+ samplingParams: Readonly<z.objectInputType<{
271
+ temperature: z.ZodOptional<z.ZodNumber>;
272
+ topP: z.ZodOptional<z.ZodNumber>;
273
+ maxTokens: z.ZodOptional<z.ZodNumber>;
274
+ seed: z.ZodOptional<z.ZodNumber>;
275
+ }, z.ZodUnknown, "strip">>;
276
+ retrievedAtomSetId: string;
277
+ }> | undefined;
278
+ }>>>;
279
+ sourceCitation: z.ZodString;
280
+ extractedAt: z.ZodString;
281
+ asOf: z.ZodOptional<z.ZodString>;
282
+ entityType: z.ZodLiteral<"buildable-envelope">;
283
+ atomDid: z.ZodEffects<z.ZodString, string, string>;
284
+ parcelNodeId: z.ZodEffects<z.ZodString, string, string>;
285
+ reasoningChain: z.ZodEffects<z.ZodObject<{
286
+ reasoningKind: z.ZodLiteral<"derived">;
287
+ derivationMethod: z.ZodString;
288
+ inputAtomRefs: z.ZodArray<z.ZodReadonly<z.ZodObject<{
289
+ atomDid: z.ZodString;
290
+ role: z.ZodEnum<[import("../reasoning-chain.js").AtomInputRefRole, ...import("../reasoning-chain.js").AtomInputRefRole[]]>;
291
+ entityType: z.ZodOptional<z.ZodString>;
292
+ citationLabel: z.ZodOptional<z.ZodString>;
293
+ }, "strip", z.ZodTypeAny, {
294
+ atomDid: string;
295
+ role: import("../reasoning-chain.js").AtomInputRefRole;
296
+ entityType?: string | undefined;
297
+ citationLabel?: string | undefined;
298
+ }, {
299
+ atomDid: string;
300
+ role: import("../reasoning-chain.js").AtomInputRefRole;
301
+ entityType?: string | undefined;
302
+ citationLabel?: string | undefined;
303
+ }>>, "many">;
304
+ }, "strip", z.ZodTypeAny, {
305
+ reasoningKind: "derived";
306
+ derivationMethod: string;
307
+ inputAtomRefs: Readonly<{
308
+ atomDid: string;
309
+ role: import("../reasoning-chain.js").AtomInputRefRole;
310
+ entityType?: string | undefined;
311
+ citationLabel?: string | undefined;
312
+ }>[];
313
+ }, {
314
+ reasoningKind: "derived";
315
+ derivationMethod: string;
316
+ inputAtomRefs: Readonly<{
317
+ atomDid: string;
318
+ role: import("../reasoning-chain.js").AtomInputRefRole;
319
+ entityType?: string | undefined;
320
+ citationLabel?: string | undefined;
321
+ }>[];
322
+ }>, {
323
+ reasoningKind: "derived";
324
+ derivationMethod: string;
325
+ inputAtomRefs: Readonly<{
326
+ atomDid: string;
327
+ role: import("../reasoning-chain.js").AtomInputRefRole;
328
+ entityType?: string | undefined;
329
+ citationLabel?: string | undefined;
330
+ }>[];
331
+ }, {
332
+ reasoningKind: "derived";
333
+ derivationMethod: string;
334
+ inputAtomRefs: Readonly<{
335
+ atomDid: string;
336
+ role: import("../reasoning-chain.js").AtomInputRefRole;
337
+ entityType?: string | undefined;
338
+ citationLabel?: string | undefined;
339
+ }>[];
340
+ }>;
341
+ accessPolicy: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
342
+ }, "strict", z.ZodTypeAny, {
343
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
344
+ entityType: "buildable-envelope";
345
+ sourceCitation: string;
346
+ extractedAt: string;
347
+ atomDid: string;
348
+ parcelNodeId: string;
349
+ reasoningChain: {
350
+ reasoningKind: "derived";
351
+ derivationMethod: string;
352
+ inputAtomRefs: Readonly<{
353
+ atomDid: string;
354
+ role: import("../reasoning-chain.js").AtomInputRefRole;
355
+ entityType?: string | undefined;
356
+ citationLabel?: string | undefined;
357
+ }>[];
358
+ };
359
+ atomTier: AtomTier;
360
+ asOf?: string | undefined;
361
+ readContract?: Readonly<{
362
+ axes: Readonly<{
363
+ calibratedConfidence: Readonly<{
364
+ estimate: number;
365
+ n: number;
366
+ intervalWidth: number;
367
+ provenance: "asserted" | "backtest" | "seed" | "live";
368
+ }>;
369
+ assertedConfidence: Readonly<{
370
+ estimate: number;
371
+ n: number;
372
+ intervalWidth: number;
373
+ provenance: "asserted" | "backtest" | "seed" | "live";
374
+ }>;
375
+ consequence: {
376
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
377
+ assertedAt: string;
378
+ kind: "property-risk";
379
+ basis: string;
380
+ auditRef?: string | undefined;
381
+ } | {
382
+ assertedAt: string;
383
+ kind: "not-applicable";
384
+ reason: string;
385
+ };
386
+ }>;
387
+ assembledAt: string;
388
+ modelAttribution?: Readonly<{
389
+ modelId: string;
390
+ modelVersion: string;
391
+ promptTemplateVersion: string;
392
+ contextTemplateVersion: string;
393
+ samplingParams: Readonly<z.objectOutputType<{
394
+ temperature: z.ZodOptional<z.ZodNumber>;
395
+ topP: z.ZodOptional<z.ZodNumber>;
396
+ maxTokens: z.ZodOptional<z.ZodNumber>;
397
+ seed: z.ZodOptional<z.ZodNumber>;
398
+ }, z.ZodUnknown, "strip">>;
399
+ retrievedAtomSetId: string;
400
+ }> | undefined;
401
+ }> | undefined;
402
+ }, {
403
+ accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
404
+ entityType: "buildable-envelope";
405
+ sourceCitation: string;
406
+ extractedAt: string;
407
+ atomDid: string;
408
+ parcelNodeId: string;
409
+ reasoningChain: {
410
+ reasoningKind: "derived";
411
+ derivationMethod: string;
412
+ inputAtomRefs: Readonly<{
413
+ atomDid: string;
414
+ role: import("../reasoning-chain.js").AtomInputRefRole;
415
+ entityType?: string | undefined;
416
+ citationLabel?: string | undefined;
417
+ }>[];
418
+ };
419
+ atomTier: AtomTier;
420
+ asOf?: string | undefined;
421
+ readContract?: Readonly<{
422
+ axes: Readonly<{
423
+ calibratedConfidence: Readonly<{
424
+ estimate: number;
425
+ n: number;
426
+ intervalWidth: number;
427
+ provenance: "asserted" | "backtest" | "seed" | "live";
428
+ }>;
429
+ assertedConfidence: Readonly<{
430
+ estimate: number;
431
+ n: number;
432
+ intervalWidth: number;
433
+ provenance: "asserted" | "backtest" | "seed" | "live";
434
+ }>;
435
+ consequence: {
436
+ stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
437
+ assertedAt: string;
438
+ kind: "property-risk";
439
+ basis: string;
440
+ auditRef?: string | undefined;
441
+ } | {
442
+ assertedAt: string;
443
+ kind: "not-applicable";
444
+ reason: string;
445
+ };
446
+ }>;
447
+ assembledAt: string;
448
+ modelAttribution?: Readonly<{
449
+ modelId: string;
450
+ modelVersion: string;
451
+ promptTemplateVersion: string;
452
+ contextTemplateVersion: string;
453
+ samplingParams: Readonly<z.objectInputType<{
454
+ temperature: z.ZodOptional<z.ZodNumber>;
455
+ topP: z.ZodOptional<z.ZodNumber>;
456
+ maxTokens: z.ZodOptional<z.ZodNumber>;
457
+ seed: z.ZodOptional<z.ZodNumber>;
458
+ }, z.ZodUnknown, "strip">>;
459
+ retrievedAtomSetId: string;
460
+ }> | undefined;
461
+ }> | undefined;
462
+ }>;
463
+ export declare function createBuildableEnvelope(input: z.input<typeof BUILDABLE_ENVELOPE_SCHEMA>): BuildableEnvelopeAtomInstance;
464
+ //# sourceMappingURL=buildable-envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildable-envelope.d.ts","sourceRoot":"","sources":["../../src/property/buildable-envelope.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,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAUhF,6EAA6E;AAC7E,eAAO,MAAM,oCAAoC,EAAG,6BAAsC,CAAC;AAE3F;;;;;;;GAOG;AACH,MAAM,WAAW,6BAA6B;IAC5C,UAAU,EAAE,oBAAoB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,aAAa,EAAE,SAAS,CAAA;KAAE,CAAC,GAAG;QACtE,gBAAgB,EAAE,OAAO,oCAAoC,CAAC;QAC9D,aAAa,EAAE,YAAY,EAAE,CAAC;KAC/B,CAAC;IACF,YAAY,EAAE,YAAY,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC;AAED,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4D3B,CAAC;AAEZ,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,GAC/C,6BAA6B,CAE/B"}
@@ -0,0 +1,63 @@
1
+ import { z } from "zod";
2
+ import { REASONING_CHAIN_DERIVED_SCHEMA } from "../reasoning-chain.js";
3
+ import { PARCEL_NODE_ID_PATTERN, PROPERTY_ACCESS_POLICY_SCHEMA, PROPERTY_ATOM_TIER, PROPERTY_QUALITY_GATE_FIELDS, PROPERTY_READ_CONTRACT_SCHEMA, } from "./common.js";
4
+ /** Canonical derivation method for buildable envelope inset (master 3.6). */
5
+ export const BUILDABLE_ENVELOPE_DERIVATION_METHOD = "buildable-envelope-inset-v1";
6
+ export const BUILDABLE_ENVELOPE_SCHEMA = z
7
+ .object({
8
+ entityType: z.literal("buildable-envelope"),
9
+ atomDid: z
10
+ .string()
11
+ .min(1)
12
+ .refine((val) => /^benvelope_[0-9a-f]{16}$/.test(val), {
13
+ message: "atomDid must be in format benvelope_<16-hex-chars>",
14
+ }),
15
+ parcelNodeId: z
16
+ .string()
17
+ .min(1)
18
+ .refine((val) => PARCEL_NODE_ID_PATTERN.test(val), {
19
+ message: "parcelNodeId must match {county_fips}:{prop_id}",
20
+ }),
21
+ reasoningChain: REASONING_CHAIN_DERIVED_SCHEMA.superRefine((chain, ctx) => {
22
+ if (chain.derivationMethod !== BUILDABLE_ENVELOPE_DERIVATION_METHOD) {
23
+ ctx.addIssue({
24
+ code: z.ZodIssueCode.custom,
25
+ message: `derivationMethod must be ${BUILDABLE_ENVELOPE_DERIVATION_METHOD}`,
26
+ path: ["derivationMethod"],
27
+ });
28
+ }
29
+ const hasZoningFact = chain.inputAtomRefs.some((r) => r.role === "fact" && r.entityType === "zoning-fact");
30
+ const hasSetbackRule = chain.inputAtomRefs.some((r) => r.role === "rule" && r.entityType === "setback-rule");
31
+ const refFieldCount = chain.inputAtomRefs.filter((r) => r.role === "reference-field").length;
32
+ if (!hasZoningFact) {
33
+ ctx.addIssue({
34
+ code: z.ZodIssueCode.custom,
35
+ message: "buildable-envelope requires a zoning-fact input ref",
36
+ path: ["inputAtomRefs"],
37
+ });
38
+ }
39
+ if (!hasSetbackRule) {
40
+ ctx.addIssue({
41
+ code: z.ZodIssueCode.custom,
42
+ message: "buildable-envelope requires a setback-rule input ref",
43
+ path: ["inputAtomRefs"],
44
+ });
45
+ }
46
+ if (refFieldCount < 2) {
47
+ ctx.addIssue({
48
+ code: z.ZodIssueCode.custom,
49
+ message: "buildable-envelope requires geometry + front-edge reference-field inputs",
50
+ path: ["inputAtomRefs"],
51
+ });
52
+ }
53
+ }),
54
+ accessPolicy: PROPERTY_ACCESS_POLICY_SCHEMA,
55
+ ...PROPERTY_QUALITY_GATE_FIELDS,
56
+ atomTier: z.literal(PROPERTY_ATOM_TIER),
57
+ readContract: PROPERTY_READ_CONTRACT_SCHEMA.optional(),
58
+ })
59
+ .strict();
60
+ export function createBuildableEnvelope(input) {
61
+ return BUILDABLE_ENVELOPE_SCHEMA.parse(input);
62
+ }
63
+ //# sourceMappingURL=buildable-envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildable-envelope.js","sourceRoot":"","sources":["../../src/property/buildable-envelope.ts"],"names":[],"mappings":"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"}