@empressaio/atom-contract 1.8.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.
- package/CHANGELOG.md +48 -0
- package/README.md +39 -0
- package/dist/conformance/common.d.ts +5 -0
- package/dist/conformance/common.d.ts.map +1 -1
- package/dist/conformance/common.js +4 -0
- package/dist/conformance/common.js.map +1 -1
- package/dist/conformance/index.d.ts +1 -1
- package/dist/conformance/index.d.ts.map +1 -1
- package/dist/conformance/index.js +1 -1
- package/dist/conformance/index.js.map +1 -1
- package/dist/property/buildable-envelope.d.ts +464 -0
- package/dist/property/buildable-envelope.d.ts.map +1 -0
- package/dist/property/buildable-envelope.js +63 -0
- package/dist/property/buildable-envelope.js.map +1 -0
- package/dist/property/common.d.ts +513 -0
- package/dist/property/common.d.ts.map +1 -0
- package/dist/property/common.js +66 -0
- package/dist/property/common.js.map +1 -0
- package/dist/property/fixtures.d.ts +102 -0
- package/dist/property/fixtures.d.ts.map +1 -0
- package/dist/property/fixtures.js +299 -0
- package/dist/property/fixtures.js.map +1 -0
- package/dist/property/index.d.ts +23 -0
- package/dist/property/index.d.ts.map +1 -0
- package/dist/property/index.js +19 -0
- package/dist/property/index.js.map +1 -0
- package/dist/property/setback-rule.d.ts +887 -0
- package/dist/property/setback-rule.d.ts.map +1 -0
- package/dist/property/setback-rule.js +53 -0
- package/dist/property/setback-rule.js.map +1 -0
- package/dist/property/zoning-fact.d.ts +538 -0
- package/dist/property/zoning-fact.d.ts.map +1 -0
- package/dist/property/zoning-fact.js +48 -0
- package/dist/property/zoning-fact.js.map +1 -0
- package/package.json +5 -1
|
@@ -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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"}
|
|
@@ -0,0 +1,513 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared property reasoning atom substrate (master WDLL 3.2–3.6).
|
|
3
|
+
*
|
|
4
|
+
* Property fact / rule / derived kinds reuse 1.8.0 primitives:
|
|
5
|
+
* {@link ReasoningChain}, {@link AtomInputRef}, {@link PropertyConsequence},
|
|
6
|
+
* {@link ReasoningReadContract}, {@link ActorRecordAtomInstance},
|
|
7
|
+
* {@link ObligationAtomInstance}.
|
|
8
|
+
*
|
|
9
|
+
* **Calibrated confidence at READ (I-E):** instances MAY carry a
|
|
10
|
+
* {@link ReasoningThreeAxisConfidence}-shaped asserted snapshot at write
|
|
11
|
+
* time (including a placeholder `calibratedConfidence` with
|
|
12
|
+
* `provenance: "asserted"`). At READ, the calibrated axis resolves through
|
|
13
|
+
* the calibration overlay — it is NOT composed-and-frozen on the instance.
|
|
14
|
+
* Do not invent a frozen multiply (e.g. no `labeling x district` field).
|
|
15
|
+
*/
|
|
16
|
+
import { z } from "zod";
|
|
17
|
+
import type { AccessPolicy } from "../registration.js";
|
|
18
|
+
import type { AtomTier } from "../conformance/common.js";
|
|
19
|
+
import { type WidthedConfidence } from "../read-contract/common.js";
|
|
20
|
+
import { type ReasoningReadContract } from "../read-contract/reasoning-axes.js";
|
|
21
|
+
/** Central-TX parcel node id: `{county_fips}:{prop_id}`. */
|
|
22
|
+
export declare const PARCEL_NODE_ID_PATTERN: RegExp;
|
|
23
|
+
export declare const PROPERTY_ATOM_TIER: AtomTier;
|
|
24
|
+
export declare const PROPERTY_DEFAULT_ACCESS_POLICY: AccessPolicy;
|
|
25
|
+
export declare const PROPERTY_ACCESS_POLICY_SCHEMA: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
|
|
26
|
+
/** Quality gate fields required on every property reasoning atom. */
|
|
27
|
+
export declare const PROPERTY_QUALITY_GATE_FIELDS: {
|
|
28
|
+
readonly sourceCitation: z.ZodString;
|
|
29
|
+
readonly extractedAt: z.ZodString;
|
|
30
|
+
readonly asOf: z.ZodOptional<z.ZodString>;
|
|
31
|
+
};
|
|
32
|
+
/** Honest absence when no zoning polygon stamps the parcel. */
|
|
33
|
+
export declare const ZONING_ABSENCE_KIND: "no-zoning-stamp";
|
|
34
|
+
export declare const ZONING_ABSENCE_SCHEMA: z.ZodObject<{
|
|
35
|
+
kind: z.ZodLiteral<"no-zoning-stamp">;
|
|
36
|
+
reason: z.ZodString;
|
|
37
|
+
}, "strip", z.ZodTypeAny, {
|
|
38
|
+
kind: "no-zoning-stamp";
|
|
39
|
+
reason: string;
|
|
40
|
+
}, {
|
|
41
|
+
kind: "no-zoning-stamp";
|
|
42
|
+
reason: string;
|
|
43
|
+
}>;
|
|
44
|
+
export type ZoningAbsence = z.infer<typeof ZONING_ABSENCE_SCHEMA>;
|
|
45
|
+
/** Honest absence when setback match falls back to a conservative default. */
|
|
46
|
+
export declare const SETBACK_ABSENCE_KIND: "setback-fallback";
|
|
47
|
+
export declare const SETBACK_ABSENCE_SCHEMA: z.ZodObject<{
|
|
48
|
+
kind: z.ZodLiteral<"setback-fallback">;
|
|
49
|
+
reason: z.ZodString;
|
|
50
|
+
}, "strip", z.ZodTypeAny, {
|
|
51
|
+
kind: "setback-fallback";
|
|
52
|
+
reason: string;
|
|
53
|
+
}, {
|
|
54
|
+
kind: "setback-fallback";
|
|
55
|
+
reason: string;
|
|
56
|
+
}>;
|
|
57
|
+
export type SetbackAbsence = z.infer<typeof SETBACK_ABSENCE_SCHEMA>;
|
|
58
|
+
export type SetbackMatchBasis = "exact" | "prefix" | "fallback";
|
|
59
|
+
export declare const SETBACK_MATCH_BASIS_VALUES: ReadonlyArray<SetbackMatchBasis>;
|
|
60
|
+
export declare const SETBACK_MATCH_BASIS_SCHEMA: z.ZodEnum<["exact", "prefix", "fallback"]>;
|
|
61
|
+
/**
|
|
62
|
+
* Per-field provenance consumed from setback JSON (fan gift — do not invent
|
|
63
|
+
* tiers). Keys are scalar field names (`front`, `side`, `rear`).
|
|
64
|
+
*/
|
|
65
|
+
export interface SetbackFieldProvenanceEntry {
|
|
66
|
+
atomDid: string;
|
|
67
|
+
confidence: WidthedConfidence;
|
|
68
|
+
}
|
|
69
|
+
export declare const SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA: z.ZodObject<{
|
|
70
|
+
atomDid: z.ZodString;
|
|
71
|
+
confidence: z.ZodReadonly<z.ZodObject<{
|
|
72
|
+
readonly estimate: z.ZodNumber;
|
|
73
|
+
readonly n: z.ZodNumber;
|
|
74
|
+
readonly intervalWidth: z.ZodNumber;
|
|
75
|
+
readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
|
|
76
|
+
}, "strip", z.ZodTypeAny, {
|
|
77
|
+
estimate: number;
|
|
78
|
+
n: number;
|
|
79
|
+
intervalWidth: number;
|
|
80
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
81
|
+
}, {
|
|
82
|
+
estimate: number;
|
|
83
|
+
n: number;
|
|
84
|
+
intervalWidth: number;
|
|
85
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
86
|
+
}>>;
|
|
87
|
+
}, "strip", z.ZodTypeAny, {
|
|
88
|
+
confidence: Readonly<{
|
|
89
|
+
estimate: number;
|
|
90
|
+
n: number;
|
|
91
|
+
intervalWidth: number;
|
|
92
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
93
|
+
}>;
|
|
94
|
+
atomDid: string;
|
|
95
|
+
}, {
|
|
96
|
+
confidence: Readonly<{
|
|
97
|
+
estimate: number;
|
|
98
|
+
n: number;
|
|
99
|
+
intervalWidth: number;
|
|
100
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
101
|
+
}>;
|
|
102
|
+
atomDid: string;
|
|
103
|
+
}>;
|
|
104
|
+
export declare const SETBACK_FIELD_PROVENANCE_SCHEMA: z.ZodObject<{
|
|
105
|
+
front: z.ZodOptional<z.ZodObject<{
|
|
106
|
+
atomDid: z.ZodString;
|
|
107
|
+
confidence: z.ZodReadonly<z.ZodObject<{
|
|
108
|
+
readonly estimate: z.ZodNumber;
|
|
109
|
+
readonly n: z.ZodNumber;
|
|
110
|
+
readonly intervalWidth: z.ZodNumber;
|
|
111
|
+
readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
|
|
112
|
+
}, "strip", z.ZodTypeAny, {
|
|
113
|
+
estimate: number;
|
|
114
|
+
n: number;
|
|
115
|
+
intervalWidth: number;
|
|
116
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
117
|
+
}, {
|
|
118
|
+
estimate: number;
|
|
119
|
+
n: number;
|
|
120
|
+
intervalWidth: number;
|
|
121
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
122
|
+
}>>;
|
|
123
|
+
}, "strip", z.ZodTypeAny, {
|
|
124
|
+
confidence: Readonly<{
|
|
125
|
+
estimate: number;
|
|
126
|
+
n: number;
|
|
127
|
+
intervalWidth: number;
|
|
128
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
129
|
+
}>;
|
|
130
|
+
atomDid: string;
|
|
131
|
+
}, {
|
|
132
|
+
confidence: Readonly<{
|
|
133
|
+
estimate: number;
|
|
134
|
+
n: number;
|
|
135
|
+
intervalWidth: number;
|
|
136
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
137
|
+
}>;
|
|
138
|
+
atomDid: string;
|
|
139
|
+
}>>;
|
|
140
|
+
side: z.ZodOptional<z.ZodObject<{
|
|
141
|
+
atomDid: z.ZodString;
|
|
142
|
+
confidence: z.ZodReadonly<z.ZodObject<{
|
|
143
|
+
readonly estimate: z.ZodNumber;
|
|
144
|
+
readonly n: z.ZodNumber;
|
|
145
|
+
readonly intervalWidth: z.ZodNumber;
|
|
146
|
+
readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
|
|
147
|
+
}, "strip", z.ZodTypeAny, {
|
|
148
|
+
estimate: number;
|
|
149
|
+
n: number;
|
|
150
|
+
intervalWidth: number;
|
|
151
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
152
|
+
}, {
|
|
153
|
+
estimate: number;
|
|
154
|
+
n: number;
|
|
155
|
+
intervalWidth: number;
|
|
156
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
157
|
+
}>>;
|
|
158
|
+
}, "strip", z.ZodTypeAny, {
|
|
159
|
+
confidence: Readonly<{
|
|
160
|
+
estimate: number;
|
|
161
|
+
n: number;
|
|
162
|
+
intervalWidth: number;
|
|
163
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
164
|
+
}>;
|
|
165
|
+
atomDid: string;
|
|
166
|
+
}, {
|
|
167
|
+
confidence: Readonly<{
|
|
168
|
+
estimate: number;
|
|
169
|
+
n: number;
|
|
170
|
+
intervalWidth: number;
|
|
171
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
172
|
+
}>;
|
|
173
|
+
atomDid: string;
|
|
174
|
+
}>>;
|
|
175
|
+
rear: z.ZodOptional<z.ZodObject<{
|
|
176
|
+
atomDid: z.ZodString;
|
|
177
|
+
confidence: z.ZodReadonly<z.ZodObject<{
|
|
178
|
+
readonly estimate: z.ZodNumber;
|
|
179
|
+
readonly n: z.ZodNumber;
|
|
180
|
+
readonly intervalWidth: z.ZodNumber;
|
|
181
|
+
readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
|
|
182
|
+
}, "strip", z.ZodTypeAny, {
|
|
183
|
+
estimate: number;
|
|
184
|
+
n: number;
|
|
185
|
+
intervalWidth: number;
|
|
186
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
187
|
+
}, {
|
|
188
|
+
estimate: number;
|
|
189
|
+
n: number;
|
|
190
|
+
intervalWidth: number;
|
|
191
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
192
|
+
}>>;
|
|
193
|
+
}, "strip", z.ZodTypeAny, {
|
|
194
|
+
confidence: Readonly<{
|
|
195
|
+
estimate: number;
|
|
196
|
+
n: number;
|
|
197
|
+
intervalWidth: number;
|
|
198
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
199
|
+
}>;
|
|
200
|
+
atomDid: string;
|
|
201
|
+
}, {
|
|
202
|
+
confidence: Readonly<{
|
|
203
|
+
estimate: number;
|
|
204
|
+
n: number;
|
|
205
|
+
intervalWidth: number;
|
|
206
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
207
|
+
}>;
|
|
208
|
+
atomDid: string;
|
|
209
|
+
}>>;
|
|
210
|
+
}, "strict", z.ZodTypeAny, {
|
|
211
|
+
front?: {
|
|
212
|
+
confidence: Readonly<{
|
|
213
|
+
estimate: number;
|
|
214
|
+
n: number;
|
|
215
|
+
intervalWidth: number;
|
|
216
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
217
|
+
}>;
|
|
218
|
+
atomDid: string;
|
|
219
|
+
} | undefined;
|
|
220
|
+
side?: {
|
|
221
|
+
confidence: Readonly<{
|
|
222
|
+
estimate: number;
|
|
223
|
+
n: number;
|
|
224
|
+
intervalWidth: number;
|
|
225
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
226
|
+
}>;
|
|
227
|
+
atomDid: string;
|
|
228
|
+
} | undefined;
|
|
229
|
+
rear?: {
|
|
230
|
+
confidence: Readonly<{
|
|
231
|
+
estimate: number;
|
|
232
|
+
n: number;
|
|
233
|
+
intervalWidth: number;
|
|
234
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
235
|
+
}>;
|
|
236
|
+
atomDid: string;
|
|
237
|
+
} | undefined;
|
|
238
|
+
}, {
|
|
239
|
+
front?: {
|
|
240
|
+
confidence: Readonly<{
|
|
241
|
+
estimate: number;
|
|
242
|
+
n: number;
|
|
243
|
+
intervalWidth: number;
|
|
244
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
245
|
+
}>;
|
|
246
|
+
atomDid: string;
|
|
247
|
+
} | undefined;
|
|
248
|
+
side?: {
|
|
249
|
+
confidence: Readonly<{
|
|
250
|
+
estimate: number;
|
|
251
|
+
n: number;
|
|
252
|
+
intervalWidth: number;
|
|
253
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
254
|
+
}>;
|
|
255
|
+
atomDid: string;
|
|
256
|
+
} | undefined;
|
|
257
|
+
rear?: {
|
|
258
|
+
confidence: Readonly<{
|
|
259
|
+
estimate: number;
|
|
260
|
+
n: number;
|
|
261
|
+
intervalWidth: number;
|
|
262
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
263
|
+
}>;
|
|
264
|
+
atomDid: string;
|
|
265
|
+
} | undefined;
|
|
266
|
+
}>;
|
|
267
|
+
export type SetbackFieldProvenance = z.infer<typeof SETBACK_FIELD_PROVENANCE_SCHEMA>;
|
|
268
|
+
/** Optional read-contract snapshot on write; calibrated axis resolves at READ. */
|
|
269
|
+
export declare const PROPERTY_READ_CONTRACT_SCHEMA: z.ZodReadonly<z.ZodObject<{
|
|
270
|
+
axes: z.ZodReadonly<z.ZodObject<{
|
|
271
|
+
calibratedConfidence: z.ZodReadonly<z.ZodObject<{
|
|
272
|
+
readonly estimate: z.ZodNumber;
|
|
273
|
+
readonly n: z.ZodNumber;
|
|
274
|
+
readonly intervalWidth: z.ZodNumber;
|
|
275
|
+
readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
|
|
276
|
+
}, "strip", z.ZodTypeAny, {
|
|
277
|
+
estimate: number;
|
|
278
|
+
n: number;
|
|
279
|
+
intervalWidth: number;
|
|
280
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
281
|
+
}, {
|
|
282
|
+
estimate: number;
|
|
283
|
+
n: number;
|
|
284
|
+
intervalWidth: number;
|
|
285
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
286
|
+
}>>;
|
|
287
|
+
assertedConfidence: z.ZodReadonly<z.ZodObject<{
|
|
288
|
+
readonly estimate: z.ZodNumber;
|
|
289
|
+
readonly n: z.ZodNumber;
|
|
290
|
+
readonly intervalWidth: z.ZodNumber;
|
|
291
|
+
readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
|
|
292
|
+
}, "strip", z.ZodTypeAny, {
|
|
293
|
+
estimate: number;
|
|
294
|
+
n: number;
|
|
295
|
+
intervalWidth: number;
|
|
296
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
297
|
+
}, {
|
|
298
|
+
estimate: number;
|
|
299
|
+
n: number;
|
|
300
|
+
intervalWidth: number;
|
|
301
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
302
|
+
}>>;
|
|
303
|
+
consequence: z.ZodDiscriminatedUnion<"kind", [z.ZodObject<{
|
|
304
|
+
kind: z.ZodLiteral<"property-risk">;
|
|
305
|
+
stratum: z.ZodEnum<[import("../read-contract/reasoning-axes.js").PropertyRiskStratum, ...import("../read-contract/reasoning-axes.js").PropertyRiskStratum[]]>;
|
|
306
|
+
basis: z.ZodString;
|
|
307
|
+
assertedAt: z.ZodString;
|
|
308
|
+
auditRef: z.ZodOptional<z.ZodString>;
|
|
309
|
+
}, "strip", z.ZodTypeAny, {
|
|
310
|
+
stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
|
|
311
|
+
assertedAt: string;
|
|
312
|
+
kind: "property-risk";
|
|
313
|
+
basis: string;
|
|
314
|
+
auditRef?: string | undefined;
|
|
315
|
+
}, {
|
|
316
|
+
stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
|
|
317
|
+
assertedAt: string;
|
|
318
|
+
kind: "property-risk";
|
|
319
|
+
basis: string;
|
|
320
|
+
auditRef?: string | undefined;
|
|
321
|
+
}>, z.ZodObject<{
|
|
322
|
+
kind: z.ZodLiteral<"not-applicable">;
|
|
323
|
+
reason: z.ZodString;
|
|
324
|
+
assertedAt: z.ZodString;
|
|
325
|
+
}, "strip", z.ZodTypeAny, {
|
|
326
|
+
assertedAt: string;
|
|
327
|
+
kind: "not-applicable";
|
|
328
|
+
reason: string;
|
|
329
|
+
}, {
|
|
330
|
+
assertedAt: string;
|
|
331
|
+
kind: "not-applicable";
|
|
332
|
+
reason: string;
|
|
333
|
+
}>]>;
|
|
334
|
+
}, "strip", z.ZodTypeAny, {
|
|
335
|
+
calibratedConfidence: Readonly<{
|
|
336
|
+
estimate: number;
|
|
337
|
+
n: number;
|
|
338
|
+
intervalWidth: number;
|
|
339
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
340
|
+
}>;
|
|
341
|
+
assertedConfidence: Readonly<{
|
|
342
|
+
estimate: number;
|
|
343
|
+
n: number;
|
|
344
|
+
intervalWidth: number;
|
|
345
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
346
|
+
}>;
|
|
347
|
+
consequence: {
|
|
348
|
+
stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
|
|
349
|
+
assertedAt: string;
|
|
350
|
+
kind: "property-risk";
|
|
351
|
+
basis: string;
|
|
352
|
+
auditRef?: string | undefined;
|
|
353
|
+
} | {
|
|
354
|
+
assertedAt: string;
|
|
355
|
+
kind: "not-applicable";
|
|
356
|
+
reason: string;
|
|
357
|
+
};
|
|
358
|
+
}, {
|
|
359
|
+
calibratedConfidence: Readonly<{
|
|
360
|
+
estimate: number;
|
|
361
|
+
n: number;
|
|
362
|
+
intervalWidth: number;
|
|
363
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
364
|
+
}>;
|
|
365
|
+
assertedConfidence: Readonly<{
|
|
366
|
+
estimate: number;
|
|
367
|
+
n: number;
|
|
368
|
+
intervalWidth: number;
|
|
369
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
370
|
+
}>;
|
|
371
|
+
consequence: {
|
|
372
|
+
stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
|
|
373
|
+
assertedAt: string;
|
|
374
|
+
kind: "property-risk";
|
|
375
|
+
basis: string;
|
|
376
|
+
auditRef?: string | undefined;
|
|
377
|
+
} | {
|
|
378
|
+
assertedAt: string;
|
|
379
|
+
kind: "not-applicable";
|
|
380
|
+
reason: string;
|
|
381
|
+
};
|
|
382
|
+
}>>;
|
|
383
|
+
assembledAt: z.ZodString;
|
|
384
|
+
modelAttribution: z.ZodOptional<z.ZodReadonly<z.ZodObject<{
|
|
385
|
+
modelId: z.ZodString;
|
|
386
|
+
modelVersion: z.ZodString;
|
|
387
|
+
promptTemplateVersion: z.ZodString;
|
|
388
|
+
contextTemplateVersion: z.ZodString;
|
|
389
|
+
samplingParams: z.ZodReadonly<z.ZodObject<{
|
|
390
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
391
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
392
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
393
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
394
|
+
}, "strip", z.ZodUnknown, z.objectOutputType<{
|
|
395
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
396
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
397
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
398
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
399
|
+
}, z.ZodUnknown, "strip">, z.objectInputType<{
|
|
400
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
401
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
402
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
403
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
404
|
+
}, z.ZodUnknown, "strip">>>;
|
|
405
|
+
retrievedAtomSetId: z.ZodString;
|
|
406
|
+
}, "strip", z.ZodTypeAny, {
|
|
407
|
+
modelId: string;
|
|
408
|
+
modelVersion: string;
|
|
409
|
+
promptTemplateVersion: string;
|
|
410
|
+
contextTemplateVersion: string;
|
|
411
|
+
samplingParams: Readonly<z.objectOutputType<{
|
|
412
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
413
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
414
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
415
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
416
|
+
}, z.ZodUnknown, "strip">>;
|
|
417
|
+
retrievedAtomSetId: string;
|
|
418
|
+
}, {
|
|
419
|
+
modelId: string;
|
|
420
|
+
modelVersion: string;
|
|
421
|
+
promptTemplateVersion: string;
|
|
422
|
+
contextTemplateVersion: string;
|
|
423
|
+
samplingParams: Readonly<z.objectInputType<{
|
|
424
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
425
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
426
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
427
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
428
|
+
}, z.ZodUnknown, "strip">>;
|
|
429
|
+
retrievedAtomSetId: string;
|
|
430
|
+
}>>>;
|
|
431
|
+
}, "strip", z.ZodTypeAny, {
|
|
432
|
+
axes: Readonly<{
|
|
433
|
+
calibratedConfidence: Readonly<{
|
|
434
|
+
estimate: number;
|
|
435
|
+
n: number;
|
|
436
|
+
intervalWidth: number;
|
|
437
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
438
|
+
}>;
|
|
439
|
+
assertedConfidence: Readonly<{
|
|
440
|
+
estimate: number;
|
|
441
|
+
n: number;
|
|
442
|
+
intervalWidth: number;
|
|
443
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
444
|
+
}>;
|
|
445
|
+
consequence: {
|
|
446
|
+
stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
|
|
447
|
+
assertedAt: string;
|
|
448
|
+
kind: "property-risk";
|
|
449
|
+
basis: string;
|
|
450
|
+
auditRef?: string | undefined;
|
|
451
|
+
} | {
|
|
452
|
+
assertedAt: string;
|
|
453
|
+
kind: "not-applicable";
|
|
454
|
+
reason: string;
|
|
455
|
+
};
|
|
456
|
+
}>;
|
|
457
|
+
assembledAt: string;
|
|
458
|
+
modelAttribution?: Readonly<{
|
|
459
|
+
modelId: string;
|
|
460
|
+
modelVersion: string;
|
|
461
|
+
promptTemplateVersion: string;
|
|
462
|
+
contextTemplateVersion: string;
|
|
463
|
+
samplingParams: Readonly<z.objectOutputType<{
|
|
464
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
465
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
466
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
467
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
468
|
+
}, z.ZodUnknown, "strip">>;
|
|
469
|
+
retrievedAtomSetId: string;
|
|
470
|
+
}> | undefined;
|
|
471
|
+
}, {
|
|
472
|
+
axes: Readonly<{
|
|
473
|
+
calibratedConfidence: Readonly<{
|
|
474
|
+
estimate: number;
|
|
475
|
+
n: number;
|
|
476
|
+
intervalWidth: number;
|
|
477
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
478
|
+
}>;
|
|
479
|
+
assertedConfidence: Readonly<{
|
|
480
|
+
estimate: number;
|
|
481
|
+
n: number;
|
|
482
|
+
intervalWidth: number;
|
|
483
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
484
|
+
}>;
|
|
485
|
+
consequence: {
|
|
486
|
+
stratum: import("../read-contract/reasoning-axes.js").PropertyRiskStratum;
|
|
487
|
+
assertedAt: string;
|
|
488
|
+
kind: "property-risk";
|
|
489
|
+
basis: string;
|
|
490
|
+
auditRef?: string | undefined;
|
|
491
|
+
} | {
|
|
492
|
+
assertedAt: string;
|
|
493
|
+
kind: "not-applicable";
|
|
494
|
+
reason: string;
|
|
495
|
+
};
|
|
496
|
+
}>;
|
|
497
|
+
assembledAt: string;
|
|
498
|
+
modelAttribution?: Readonly<{
|
|
499
|
+
modelId: string;
|
|
500
|
+
modelVersion: string;
|
|
501
|
+
promptTemplateVersion: string;
|
|
502
|
+
contextTemplateVersion: string;
|
|
503
|
+
samplingParams: Readonly<z.objectInputType<{
|
|
504
|
+
temperature: z.ZodOptional<z.ZodNumber>;
|
|
505
|
+
topP: z.ZodOptional<z.ZodNumber>;
|
|
506
|
+
maxTokens: z.ZodOptional<z.ZodNumber>;
|
|
507
|
+
seed: z.ZodOptional<z.ZodNumber>;
|
|
508
|
+
}, z.ZodUnknown, "strip">>;
|
|
509
|
+
retrievedAtomSetId: string;
|
|
510
|
+
}> | undefined;
|
|
511
|
+
}>>;
|
|
512
|
+
export type PropertyReadContract = ReasoningReadContract;
|
|
513
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/property/common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,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;AAEzD,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,oCAAoC,CAAC;AAE5C,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,QAA4B,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,QAAiB,CAAC;AAEnD,eAAO,MAAM,8BAA8B,EAAE,YAA4B,CAAC;AAE1E,eAAO,MAAM,6BAA6B,mGAAuB,CAAC;AAElE,qEAAqE;AACrE,eAAO,MAAM,4BAA4B;;;;CAI/B,CAAC;AAEX,+DAA+D;AAC/D,eAAO,MAAM,mBAAmB,EAAG,iBAA0B,CAAC;AAE9D,eAAO,MAAM,qBAAqB;;;;;;;;;EAGhC,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,EAAG,kBAA2B,CAAC;AAEhE,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,iBAAiB,CAIvE,CAAC;AAEF,eAAO,MAAM,0BAA0B,4CAIrC,CAAC;AAEH;;;GAGG;AACH,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,iBAAiB,CAAC;CAC/B;AAED,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGhD,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjC,CAAC;AAEZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAC;AAErF,kFAAkF;AAClF,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAiC,CAAC;AAE5E,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared property reasoning atom substrate (master WDLL 3.2–3.6).
|
|
3
|
+
*
|
|
4
|
+
* Property fact / rule / derived kinds reuse 1.8.0 primitives:
|
|
5
|
+
* {@link ReasoningChain}, {@link AtomInputRef}, {@link PropertyConsequence},
|
|
6
|
+
* {@link ReasoningReadContract}, {@link ActorRecordAtomInstance},
|
|
7
|
+
* {@link ObligationAtomInstance}.
|
|
8
|
+
*
|
|
9
|
+
* **Calibrated confidence at READ (I-E):** instances MAY carry a
|
|
10
|
+
* {@link ReasoningThreeAxisConfidence}-shaped asserted snapshot at write
|
|
11
|
+
* time (including a placeholder `calibratedConfidence` with
|
|
12
|
+
* `provenance: "asserted"`). At READ, the calibrated axis resolves through
|
|
13
|
+
* the calibration overlay — it is NOT composed-and-frozen on the instance.
|
|
14
|
+
* Do not invent a frozen multiply (e.g. no `labeling x district` field).
|
|
15
|
+
*/
|
|
16
|
+
import { z } from "zod";
|
|
17
|
+
import { ACCESS_POLICY_SCHEMA } from "../conformance/common.js";
|
|
18
|
+
import { WIDTHED_CONFIDENCE_SCHEMA, } from "../read-contract/common.js";
|
|
19
|
+
import { REASONING_READ_CONTRACT_SCHEMA, } from "../read-contract/reasoning-axes.js";
|
|
20
|
+
/** Central-TX parcel node id: `{county_fips}:{prop_id}`. */
|
|
21
|
+
export const PARCEL_NODE_ID_PATTERN = /^\d{5}:[A-Za-z0-9._-]+$/;
|
|
22
|
+
export const PROPERTY_ATOM_TIER = "data";
|
|
23
|
+
export const PROPERTY_DEFAULT_ACCESS_POLICY = "public-free";
|
|
24
|
+
export const PROPERTY_ACCESS_POLICY_SCHEMA = ACCESS_POLICY_SCHEMA;
|
|
25
|
+
/** Quality gate fields required on every property reasoning atom. */
|
|
26
|
+
export const PROPERTY_QUALITY_GATE_FIELDS = {
|
|
27
|
+
sourceCitation: z.string().min(1),
|
|
28
|
+
extractedAt: z.string().min(1),
|
|
29
|
+
asOf: z.string().min(1).optional(),
|
|
30
|
+
};
|
|
31
|
+
/** Honest absence when no zoning polygon stamps the parcel. */
|
|
32
|
+
export const ZONING_ABSENCE_KIND = "no-zoning-stamp";
|
|
33
|
+
export const ZONING_ABSENCE_SCHEMA = z.object({
|
|
34
|
+
kind: z.literal(ZONING_ABSENCE_KIND),
|
|
35
|
+
reason: z.string().min(1),
|
|
36
|
+
});
|
|
37
|
+
/** Honest absence when setback match falls back to a conservative default. */
|
|
38
|
+
export const SETBACK_ABSENCE_KIND = "setback-fallback";
|
|
39
|
+
export const SETBACK_ABSENCE_SCHEMA = z.object({
|
|
40
|
+
kind: z.literal(SETBACK_ABSENCE_KIND),
|
|
41
|
+
reason: z.string().min(1),
|
|
42
|
+
});
|
|
43
|
+
export const SETBACK_MATCH_BASIS_VALUES = [
|
|
44
|
+
"exact",
|
|
45
|
+
"prefix",
|
|
46
|
+
"fallback",
|
|
47
|
+
];
|
|
48
|
+
export const SETBACK_MATCH_BASIS_SCHEMA = z.enum([
|
|
49
|
+
"exact",
|
|
50
|
+
"prefix",
|
|
51
|
+
"fallback",
|
|
52
|
+
]);
|
|
53
|
+
export const SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA = z.object({
|
|
54
|
+
atomDid: z.string().min(1),
|
|
55
|
+
confidence: WIDTHED_CONFIDENCE_SCHEMA,
|
|
56
|
+
});
|
|
57
|
+
export const SETBACK_FIELD_PROVENANCE_SCHEMA = z
|
|
58
|
+
.object({
|
|
59
|
+
front: SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA.optional(),
|
|
60
|
+
side: SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA.optional(),
|
|
61
|
+
rear: SETBACK_FIELD_PROVENANCE_ENTRY_SCHEMA.optional(),
|
|
62
|
+
})
|
|
63
|
+
.strict();
|
|
64
|
+
/** Optional read-contract snapshot on write; calibrated axis resolves at READ. */
|
|
65
|
+
export const PROPERTY_READ_CONTRACT_SCHEMA = REASONING_READ_CONTRACT_SCHEMA;
|
|
66
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/property/common.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EACL,yBAAyB,GAE1B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,8BAA8B,GAE/B,MAAM,oCAAoC,CAAC;AAE5C,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,kBAAkB,GAAa,MAAM,CAAC;AAEnD,MAAM,CAAC,MAAM,8BAA8B,GAAiB,aAAa,CAAC;AAE1E,MAAM,CAAC,MAAM,6BAA6B,GAAG,oBAAoB,CAAC;AAElE,qEAAqE;AACrE,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1B,CAAC;AAEX,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,iBAA0B,CAAC;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAIH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAA2B,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CAC1B,CAAC,CAAC;AAMH,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAC1E,OAAO;IACP,QAAQ;IACR,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC;IAC/C,OAAO;IACP,QAAQ;IACR,UAAU;CACX,CAAC,CAAC;AAWH,MAAM,CAAC,MAAM,qCAAqC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,UAAU,EAAE,yBAAyB;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,CAAC;IACN,KAAK,EAAE,qCAAqC,CAAC,QAAQ,EAAE;IACvD,IAAI,EAAE,qCAAqC,CAAC,QAAQ,EAAE;IACtD,IAAI,EAAE,qCAAqC,CAAC,QAAQ,EAAE;CACvD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,kFAAkF;AAClF,MAAM,CAAC,MAAM,6BAA6B,GAAG,8BAA8B,CAAC"}
|