@empressaio/atom-contract 1.11.0 → 1.13.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 (34) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/README.md +13 -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 +248 -0
  10. package/dist/property/common.d.ts.map +1 -1
  11. package/dist/property/common.js +148 -0
  12. package/dist/property/common.js.map +1 -1
  13. package/dist/property/fixtures.d.ts +239 -0
  14. package/dist/property/fixtures.d.ts.map +1 -1
  15. package/dist/property/fixtures.js +483 -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/parcel-node.d.ts +710 -0
  22. package/dist/property/parcel-node.d.ts.map +1 -0
  23. package/dist/property/parcel-node.js +156 -0
  24. package/dist/property/parcel-node.js.map +1 -0
  25. package/dist/property/road-node.d.ts +2 -5
  26. package/dist/property/road-node.d.ts.map +1 -1
  27. package/dist/property/road-node.js +1 -2
  28. package/dist/property/road-node.js.map +1 -1
  29. package/dist/property/setback-rule.d.ts +16 -16
  30. package/dist/property/utility-easement.d.ts +724 -0
  31. package/dist/property/utility-easement.d.ts.map +1 -0
  32. package/dist/property/utility-easement.js +81 -0
  33. package/dist/property/utility-easement.js.map +1 -0
  34. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parcel-node.d.ts","sourceRoot":"","sources":["../../src/property/parcel-node.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,EAeL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AAErB;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,aAAa,CAAC;IAC1B,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,OAAO,EAAE,aAAa,CAAC;IACvB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACvE,kBAAkB,EAAE,wBAAwB,CAAC;IAC7C,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8DAA8D;IAC9D,cAAc,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sEAAsE;IACtE,eAAe,CAAC,EAAE,wBAAwB,CAAC;IAC3C;;;;OAIG;IACH,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,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,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,CAAC,EAAE,qBAAqB,CAAC;CACtC;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,eAAO,MAAM,4BAA4B,QACS,CAAC;AAEnD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+J3B,CAAC;AAEL,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GACxC,sBAAsB,CAExB"}
@@ -0,0 +1,156 @@
1
+ import { z } from "zod";
2
+ import { REASONING_CHAIN_OBSERVED_SCHEMA } from "../reasoning-chain.js";
3
+ import { COUNTY_COVERAGE_PARCEL_NODE_SUFFIX, PARCEL_EXTERNAL_KEY_SCHEMA, PARCEL_GEOMETRY_SOURCE_TIER_SCHEMA, PARCEL_GEOMETRY_STORE_REF_SCHEMA, PARCEL_KEY_KIND_SCHEMA, PARCEL_NODE_ABSENCE_SCHEMA, PARCEL_NODE_ID_PATTERN, PROPERTY_ACCESS_POLICY_SCHEMA, PROPERTY_ATOM_TIER, PROPERTY_DEFAULT_ACCESS_POLICY, PROPERTY_QUALITY_GATE_FIELDS, PROPERTY_READ_CONTRACT_SCHEMA, SITE_LAYER_PROVENANCE_FIELDS, SITE_LAYER_VERIFIED_ABSENCE_SCHEMA, } from "./common.js";
4
+ /** Canonical parcel-node DID (matches the published MCP property-chain form). */
5
+ export function parcelNodeAtomDid(parcelNodeId) {
6
+ return `did:hauska:parcel-node:${parcelNodeId}`;
7
+ }
8
+ export const PARCEL_NODE_ATOM_DID_PATTERN = /^did:hauska:parcel-node:\d{5}:[A-Za-z0-9._-]+$/;
9
+ export const PARCEL_NODE_SCHEMA = z
10
+ .object({
11
+ entityType: z.literal("parcel-node"),
12
+ atomDid: z
13
+ .string()
14
+ .min(1)
15
+ .refine((val) => PARCEL_NODE_ATOM_DID_PATTERN.test(val), {
16
+ message: "atomDid must be did:hauska:parcel-node:{county_fips}:{key}",
17
+ }),
18
+ parcelNodeId: z
19
+ .string()
20
+ .min(1)
21
+ .refine((val) => PARCEL_NODE_ID_PATTERN.test(val), {
22
+ message: "parcelNodeId must match {county_fips}:{prop_id}",
23
+ }),
24
+ countyFips: z.string().regex(/^\d{5}$/, "countyFips must be 5 digits"),
25
+ keyKind: PARCEL_KEY_KIND_SCHEMA,
26
+ externalKeys: z.array(PARCEL_EXTERNAL_KEY_SCHEMA).min(1).readonly().optional(),
27
+ reasoningChain: REASONING_CHAIN_OBSERVED_SCHEMA,
28
+ geometrySourceTier: PARCEL_GEOMETRY_SOURCE_TIER_SCHEMA,
29
+ geometryStoreRef: PARCEL_GEOMETRY_STORE_REF_SCHEMA.optional(),
30
+ geometryLoaded: z.boolean(),
31
+ absence: PARCEL_NODE_ABSENCE_SCHEMA.optional(),
32
+ verifiedAbsence: SITE_LAYER_VERIFIED_ABSENCE_SCHEMA.optional(),
33
+ divergenceObservationCount: z.number().int().nonnegative().optional(),
34
+ accessPolicy: PROPERTY_ACCESS_POLICY_SCHEMA,
35
+ ...PROPERTY_QUALITY_GATE_FIELDS,
36
+ ...SITE_LAYER_PROVENANCE_FIELDS,
37
+ atomTier: z.literal(PROPERTY_ATOM_TIER),
38
+ readContract: PROPERTY_READ_CONTRACT_SCHEMA.optional(),
39
+ })
40
+ .superRefine((data, ctx) => {
41
+ const hasGeometryRef = data.geometryStoreRef !== undefined;
42
+ const hasAbsence = data.absence !== undefined;
43
+ const isAbsentTier = data.geometrySourceTier === "absent";
44
+ // Rule 1 — a resolved geometry pointer and a typed absence are contradictory.
45
+ if (hasGeometryRef && hasAbsence) {
46
+ ctx.addIssue({
47
+ code: z.ZodIssueCode.custom,
48
+ message: "geometryStoreRef and absence are mutually exclusive",
49
+ path: ["geometryStoreRef"],
50
+ });
51
+ }
52
+ if (isAbsentTier && hasGeometryRef) {
53
+ ctx.addIssue({
54
+ code: z.ZodIssueCode.custom,
55
+ message: "geometrySourceTier absent must not carry geometryStoreRef",
56
+ path: ["geometrySourceTier"],
57
+ });
58
+ }
59
+ // Rule 2 — fail closed on absent tier: verified absence with real scope.
60
+ if (isAbsentTier) {
61
+ if (!data.verifiedAbsence) {
62
+ ctx.addIssue({
63
+ code: z.ZodIssueCode.custom,
64
+ message: "geometrySourceTier absent requires verifiedAbsence (evaluated + provenanceScope)",
65
+ path: ["verifiedAbsence"],
66
+ });
67
+ }
68
+ if (data.geometryLoaded) {
69
+ ctx.addIssue({
70
+ code: z.ZodIssueCode.custom,
71
+ message: "geometrySourceTier absent requires geometryLoaded false",
72
+ path: ["geometryLoaded"],
73
+ });
74
+ }
75
+ }
76
+ else if (!hasGeometryRef && !hasAbsence) {
77
+ // Rule 3 — a present tier must resolve to a ring or say why it did not.
78
+ ctx.addIssue({
79
+ code: z.ZodIssueCode.custom,
80
+ message: "parcel-node requires geometryStoreRef OR per-parcel absence when geometrySourceTier is not absent",
81
+ path: ["geometryStoreRef"],
82
+ });
83
+ }
84
+ // Rule 4 — geometryLoaded is a claim about the pointer, not a mood.
85
+ if (data.geometryLoaded && !hasGeometryRef) {
86
+ ctx.addIssue({
87
+ code: z.ZodIssueCode.custom,
88
+ message: "geometryLoaded true requires geometryStoreRef",
89
+ path: ["geometryLoaded"],
90
+ });
91
+ }
92
+ if (!data.geometryLoaded && hasGeometryRef) {
93
+ ctx.addIssue({
94
+ code: z.ZodIssueCode.custom,
95
+ message: "geometryStoreRef present requires geometryLoaded true",
96
+ path: ["geometryLoaded"],
97
+ });
98
+ }
99
+ // Rule 5 — the pointer must name the same parcel the atom is about.
100
+ if (data.geometryStoreRef) {
101
+ if (data.geometryStoreRef.countyFips !== data.countyFips) {
102
+ ctx.addIssue({
103
+ code: z.ZodIssueCode.custom,
104
+ message: "geometryStoreRef.countyFips must equal countyFips",
105
+ path: ["geometryStoreRef", "countyFips"],
106
+ });
107
+ }
108
+ const expectedPrefix = `${data.countyFips}:`;
109
+ if (data.parcelNodeId.startsWith(expectedPrefix) &&
110
+ data.parcelNodeId.slice(expectedPrefix.length) !==
111
+ data.geometryStoreRef.propId) {
112
+ ctx.addIssue({
113
+ code: z.ZodIssueCode.custom,
114
+ message: "geometryStoreRef.propId must equal the parcelNodeId key token",
115
+ path: ["geometryStoreRef", "propId"],
116
+ });
117
+ }
118
+ }
119
+ // Rule 6 — atomDid embeds the parcel node id (MCP resolves by this form).
120
+ if (data.atomDid !== parcelNodeAtomDid(data.parcelNodeId)) {
121
+ ctx.addIssue({
122
+ code: z.ZodIssueCode.custom,
123
+ message: "atomDid must be did:hauska:parcel-node:{parcelNodeId}",
124
+ path: ["atomDid"],
125
+ });
126
+ }
127
+ // Rule 7 — the parcel node id must sit in the county the atom claims.
128
+ if (!data.parcelNodeId.startsWith(`${data.countyFips}:`)) {
129
+ ctx.addIssue({
130
+ code: z.ZodIssueCode.custom,
131
+ message: "parcelNodeId must begin with countyFips",
132
+ path: ["parcelNodeId"],
133
+ });
134
+ }
135
+ // Rule 8 — county-coverage anchors are county-level rows only.
136
+ const isCountyCoverage = data.parcelNodeId.endsWith(`:${COUNTY_COVERAGE_PARCEL_NODE_SUFFIX}`);
137
+ if (isCountyCoverage && !data.verifiedAbsence) {
138
+ ctx.addIssue({
139
+ code: z.ZodIssueCode.custom,
140
+ message: "county-coverage parcel-node anchor requires verifiedAbsence",
141
+ path: ["verifiedAbsence"],
142
+ });
143
+ }
144
+ // Rule 9 — public record; parcel identity is never gated.
145
+ if (data.accessPolicy !== PROPERTY_DEFAULT_ACCESS_POLICY) {
146
+ ctx.addIssue({
147
+ code: z.ZodIssueCode.custom,
148
+ message: "parcel-node must use accessPolicy public-free",
149
+ path: ["accessPolicy"],
150
+ });
151
+ }
152
+ });
153
+ export function createParcelNode(input) {
154
+ return PARCEL_NODE_SCHEMA.parse(input);
155
+ }
156
+ //# sourceMappingURL=parcel-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parcel-node.js","sourceRoot":"","sources":["../../src/property/parcel-node.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,6 @@ import type { ReasoningReadContract } from "../read-contract/reasoning-axes.js";
7
7
  export type RoadClassification = "highway" | "major_collector" | "minor_collector" | "residential" | "alley" | "gravel" | "unclassified";
8
8
  export declare const ROAD_CLASSIFICATION_VALUES: ReadonlyArray<RoadClassification>;
9
9
  export declare const ROAD_CLASSIFICATION_SCHEMA: z.ZodEnum<["highway", "major_collector", "minor_collector", "residential", "alley", "gravel", "unclassified"]>;
10
- /** WGS84 [lng, lat] vertex. */
11
- export type GeoCoord = readonly [number, number];
12
- export declare const GEO_COORD_SCHEMA: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
13
10
  export declare const ROAD_CENTERLINE_SCHEMA: z.ZodObject<{
14
11
  type: z.ZodLiteral<"LineString">;
15
12
  coordinates: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, "many">;
@@ -529,12 +526,12 @@ export declare const ROAD_NODE_SCHEMA: z.ZodObject<{
529
526
  sourceCitation: string;
530
527
  extractedAt: string;
531
528
  atomDid: string;
529
+ countyFips: string;
532
530
  reasoningChain: {
533
531
  reasoningKind: "observed";
534
532
  };
535
533
  atomTier: AtomTier;
536
534
  roadNodeId: string;
537
- countyFips: string;
538
535
  osmWayId: number;
539
536
  classification: "highway" | "major_collector" | "minor_collector" | "residential" | "alley" | "gravel" | "unclassified";
540
537
  centerline: {
@@ -613,12 +610,12 @@ export declare const ROAD_NODE_SCHEMA: z.ZodObject<{
613
610
  sourceCitation: string;
614
611
  extractedAt: string;
615
612
  atomDid: string;
613
+ countyFips: string;
616
614
  reasoningChain: {
617
615
  reasoningKind: "observed";
618
616
  };
619
617
  atomTier: AtomTier;
620
618
  roadNodeId: string;
621
- countyFips: string;
622
619
  osmWayId: number;
623
620
  classification: "highway" | "major_collector" | "minor_collector" | "residential" | "alley" | "gravel" | "unclassified";
624
621
  centerline: {
@@ -1 +1 @@
1
- {"version":3,"file":"road-node.d.ts","sourceRoot":"","sources":["../../src/property/road-node.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;AAUhF,2CAA2C;AAC3C,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,OAAO,GACP,QAAQ,GACR,cAAc,CAAC;AAEnB,eAAO,MAAM,0BAA0B,EAAE,aAAa,CAAC,kBAAkB,CAQxE,CAAC;AAEF,eAAO,MAAM,0BAA0B,gHAQrC,CAAC;AAEH,+BAA+B;AAC/B,MAAM,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD,eAAO,MAAM,gBAAgB,8CAAoC,CAAC;AAElE,eAAO,MAAM,sBAAsB;;;;;;;;;EAGjC,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEpE,eAAO,MAAM,mBAAmB,EAAG,+BAAwC,CAAC;AAE5E,eAAO,MAAM,qBAAqB;;IAEhC,4EAA4E;;;;;;;;;;;;;;EAI5E,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAElE,eAAO,MAAM,eAAe;;;;QAR1B,4EAA4E;;;;;;;;;;;;;;;IAW5E,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG9E,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAEtD,mEAAmE;AACnE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;EAKnC,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEvE;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,WAAW,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,kBAAkB,CAAC;IACnC,UAAU,EAAE,cAAc,CAAC;IAC3B,GAAG,EAAE,OAAO,CAAC;IACb,4FAA4F;IAC5F,YAAY,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC7C,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE;QAAE,aAAa,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACvE,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,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAxD3B,4EAA4E;;;;;;;;;;;;;;;QAW5E,8EAA8E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuE9E,CAAC;AAEH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,GACtC,oBAAoB,CAEtB;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhF"}
1
+ {"version":3,"file":"road-node.d.ts","sourceRoot":"","sources":["../../src/property/road-node.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { REASONING_CHAIN_OBSERVED_SCHEMA } from "../reasoning-chain.js";
3
- import { PROPERTY_ACCESS_POLICY_SCHEMA, PROPERTY_ATOM_TIER, PROPERTY_QUALITY_GATE_FIELDS, PROPERTY_READ_CONTRACT_SCHEMA, ROAD_NODE_ID_PATTERN, } from "./common.js";
3
+ import { GEO_COORD_SCHEMA, PROPERTY_ACCESS_POLICY_SCHEMA, PROPERTY_ATOM_TIER, PROPERTY_QUALITY_GATE_FIELDS, PROPERTY_READ_CONTRACT_SCHEMA, ROAD_NODE_ID_PATTERN, } from "./common.js";
4
4
  export const ROAD_CLASSIFICATION_VALUES = [
5
5
  "highway",
6
6
  "major_collector",
@@ -19,7 +19,6 @@ export const ROAD_CLASSIFICATION_SCHEMA = z.enum([
19
19
  "gravel",
20
20
  "unclassified",
21
21
  ]);
22
- export const GEO_COORD_SCHEMA = z.tuple([z.number(), z.number()]);
23
22
  export const ROAD_CENTERLINE_SCHEMA = z.object({
24
23
  type: z.literal("LineString"),
25
24
  coordinates: z.array(GEO_COORD_SCHEMA).min(2),
@@ -1 +1 @@
1
- {"version":3,"file":"road-node.js","sourceRoot":"","sources":["../../src/property/road-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"road-node.js","sourceRoot":"","sources":["../../src/property/road-node.ts"],"names":[],"mappings":"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"}
@@ -561,6 +561,10 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
561
561
  retrievedAtomSetId: string;
562
562
  }> | undefined;
563
563
  }> | undefined;
564
+ absence?: {
565
+ kind: "setback-fallback";
566
+ reason: string;
567
+ } | undefined;
564
568
  fieldProvenance?: {
565
569
  front?: {
566
570
  confidence: Readonly<{
@@ -590,10 +594,6 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
590
594
  atomDid: string;
591
595
  } | undefined;
592
596
  } | undefined;
593
- absence?: {
594
- kind: "setback-fallback";
595
- reason: string;
596
- } | undefined;
597
597
  }, {
598
598
  accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
599
599
  entityType: "setback-rule";
@@ -657,6 +657,10 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
657
657
  retrievedAtomSetId: string;
658
658
  }> | undefined;
659
659
  }> | undefined;
660
+ absence?: {
661
+ kind: "setback-fallback";
662
+ reason: string;
663
+ } | undefined;
660
664
  fieldProvenance?: {
661
665
  front?: {
662
666
  confidence: Readonly<{
@@ -686,10 +690,6 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
686
690
  atomDid: string;
687
691
  } | undefined;
688
692
  } | undefined;
689
- absence?: {
690
- kind: "setback-fallback";
691
- reason: string;
692
- } | undefined;
693
693
  }>, {
694
694
  accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
695
695
  entityType: "setback-rule";
@@ -753,6 +753,10 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
753
753
  retrievedAtomSetId: string;
754
754
  }> | undefined;
755
755
  }> | undefined;
756
+ absence?: {
757
+ kind: "setback-fallback";
758
+ reason: string;
759
+ } | undefined;
756
760
  fieldProvenance?: {
757
761
  front?: {
758
762
  confidence: Readonly<{
@@ -782,10 +786,6 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
782
786
  atomDid: string;
783
787
  } | undefined;
784
788
  } | undefined;
785
- absence?: {
786
- kind: "setback-fallback";
787
- reason: string;
788
- } | undefined;
789
789
  }, {
790
790
  accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
791
791
  entityType: "setback-rule";
@@ -849,6 +849,10 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
849
849
  retrievedAtomSetId: string;
850
850
  }> | undefined;
851
851
  }> | undefined;
852
+ absence?: {
853
+ kind: "setback-fallback";
854
+ reason: string;
855
+ } | undefined;
852
856
  fieldProvenance?: {
853
857
  front?: {
854
858
  confidence: Readonly<{
@@ -878,10 +882,6 @@ export declare const SETBACK_RULE_SCHEMA: z.ZodEffects<z.ZodObject<{
878
882
  atomDid: string;
879
883
  } | undefined;
880
884
  } | undefined;
881
- absence?: {
882
- kind: "setback-fallback";
883
- reason: string;
884
- } | undefined;
885
885
  }>;
886
886
  export declare function createSetbackRule(input: z.input<typeof SETBACK_RULE_SCHEMA>): SetbackRuleAtomInstance;
887
887
  //# sourceMappingURL=setback-rule.d.ts.map