@honua/react 0.1.0-beta.0 → 0.1.2-beta.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 (315) hide show
  1. package/contract/discovery.d.ts +231 -0
  2. package/contract/discovery.d.ts.map +1 -0
  3. package/contract/discovery.js +554 -0
  4. package/contract/edit-sketch.d.ts +8 -0
  5. package/contract/edit-sketch.d.ts.map +1 -1
  6. package/contract/edit-sketch.js +15 -0
  7. package/contract/edit-snapping.d.ts +160 -0
  8. package/contract/edit-snapping.d.ts.map +1 -0
  9. package/contract/edit-snapping.js +675 -0
  10. package/contract/generated/projjson-v0.7-crs-validator.d.ts +35 -0
  11. package/contract/generated/projjson-v0.7-crs-validator.d.ts.map +1 -0
  12. package/contract/generated/projjson-v0.7-crs-validator.js +3941 -0
  13. package/contract/index.d.ts +11 -2
  14. package/contract/index.d.ts.map +1 -1
  15. package/contract/index.js +4 -1
  16. package/contract/pmtiles.d.ts +31 -0
  17. package/contract/pmtiles.d.ts.map +1 -1
  18. package/contract/pmtiles.js +60 -20
  19. package/contract/protocol-module.d.ts +70 -0
  20. package/contract/protocol-module.d.ts.map +1 -0
  21. package/contract/protocol-module.js +1 -0
  22. package/contract/schema-envelope.d.ts +26 -0
  23. package/contract/schema-envelope.d.ts.map +1 -0
  24. package/contract/schema-envelope.js +25 -0
  25. package/contract/schema.d.ts +582 -0
  26. package/contract/schema.d.ts.map +1 -0
  27. package/contract/schema.js +2483 -0
  28. package/contract/source-capability-support.d.ts +6 -0
  29. package/contract/source-capability-support.d.ts.map +1 -0
  30. package/contract/source-capability-support.js +154 -0
  31. package/contract/source.d.ts +35 -17
  32. package/contract/source.d.ts.map +1 -1
  33. package/contract/source.js +267 -71
  34. package/contract/types.d.ts +140 -4
  35. package/contract/types.d.ts.map +1 -1
  36. package/contract/types.js +6 -14
  37. package/core/bounded-json.d.ts +4 -0
  38. package/core/bounded-json.d.ts.map +1 -0
  39. package/core/bounded-json.js +38 -0
  40. package/core/cache-state.d.ts +9 -0
  41. package/core/cache-state.d.ts.map +1 -1
  42. package/core/cache-state.js +10 -0
  43. package/core/capabilities-xml.d.ts +33 -0
  44. package/core/capabilities-xml.d.ts.map +1 -0
  45. package/core/capabilities-xml.js +331 -0
  46. package/core/client.d.ts +4 -1
  47. package/core/client.d.ts.map +1 -1
  48. package/core/client.js +115 -29
  49. package/core/error-classifications.d.ts +153 -0
  50. package/core/error-classifications.d.ts.map +1 -0
  51. package/core/error-classifications.js +140 -0
  52. package/core/error-code-registry.d.ts +158 -0
  53. package/core/error-code-registry.d.ts.map +1 -0
  54. package/core/error-code-registry.js +143 -0
  55. package/core/error-envelope.d.ts +68 -0
  56. package/core/error-envelope.d.ts.map +1 -0
  57. package/core/error-envelope.js +357 -0
  58. package/core/errors.d.ts +45 -29
  59. package/core/errors.d.ts.map +1 -1
  60. package/core/errors.js +97 -50
  61. package/core/geoparquet-sql.d.ts +30 -2
  62. package/core/geoparquet-sql.d.ts.map +1 -1
  63. package/core/geoparquet-sql.js +38 -3
  64. package/core/odata-key-path.d.ts +12 -0
  65. package/core/odata-key-path.d.ts.map +1 -0
  66. package/core/odata-key-path.js +28 -0
  67. package/core/odata-write-codec.d.ts +66 -0
  68. package/core/odata-write-codec.d.ts.map +1 -0
  69. package/core/odata-write-codec.js +1083 -0
  70. package/core/odata.d.ts +59 -7
  71. package/core/odata.d.ts.map +1 -1
  72. package/core/odata.js +431 -99
  73. package/core/ogc-features.d.ts.map +1 -1
  74. package/core/ogc-features.js +3 -0
  75. package/core/ogc-maps.d.ts +7 -0
  76. package/core/ogc-maps.d.ts.map +1 -1
  77. package/core/ogc-maps.js +46 -7
  78. package/core/ogc-processes.d.ts +2 -1
  79. package/core/ogc-processes.d.ts.map +1 -1
  80. package/core/ogc-processes.js +33 -5
  81. package/core/ogc-records.d.ts +9 -0
  82. package/core/ogc-records.d.ts.map +1 -1
  83. package/core/ogc-records.js +78 -29
  84. package/core/ogc-tiles.d.ts +10 -1
  85. package/core/ogc-tiles.d.ts.map +1 -1
  86. package/core/ogc-tiles.js +56 -17
  87. package/core/path-utils.d.ts +9 -0
  88. package/core/path-utils.d.ts.map +1 -1
  89. package/core/path-utils.js +19 -0
  90. package/core/protocol-transport.d.ts +1 -0
  91. package/core/protocol-transport.d.ts.map +1 -1
  92. package/core/request-pipeline.d.ts.map +1 -1
  93. package/core/request-pipeline.js +1 -1
  94. package/core/spatial-filter.d.ts +8 -4
  95. package/core/spatial-filter.d.ts.map +1 -1
  96. package/core/spatial-filter.js +206 -16
  97. package/core/stac-static.d.ts +6 -2
  98. package/core/stac-static.d.ts.map +1 -1
  99. package/core/stac-static.js +260 -69
  100. package/core/surfaces.d.ts.map +1 -1
  101. package/core/surfaces.js +69 -5
  102. package/core/types.d.ts +125 -7
  103. package/core/types.d.ts.map +1 -1
  104. package/core/wfs-capabilities.d.ts +2 -0
  105. package/core/wfs-capabilities.d.ts.map +1 -1
  106. package/core/wfs-capabilities.js +8 -1
  107. package/core/wfs.d.ts.map +1 -1
  108. package/core/wfs.js +10 -0
  109. package/core/wms-capabilities.d.ts +56 -84
  110. package/core/wms-capabilities.d.ts.map +1 -1
  111. package/core/wms-capabilities.js +212 -509
  112. package/core/wmts-capabilities.d.ts +62 -62
  113. package/core/wmts-capabilities.d.ts.map +1 -1
  114. package/core/wmts-capabilities.js +224 -371
  115. package/esri-compat/editor.d.ts +8 -0
  116. package/esri-compat/editor.d.ts.map +1 -1
  117. package/esri-compat/editor.js +13 -0
  118. package/esri-compat/feature-layer.d.ts +2 -0
  119. package/esri-compat/feature-layer.d.ts.map +1 -1
  120. package/esri-compat/feature-layer.js +1 -0
  121. package/esri-compat/layer-list.d.ts +11 -0
  122. package/esri-compat/layer-list.d.ts.map +1 -1
  123. package/esri-compat/layer-list.js +49 -0
  124. package/esri-compat/legend.d.ts +10 -0
  125. package/esri-compat/legend.d.ts.map +1 -1
  126. package/esri-compat/legend.js +27 -0
  127. package/esri-compat/portal.d.ts +197 -0
  128. package/esri-compat/portal.d.ts.map +1 -0
  129. package/esri-compat/portal.js +251 -0
  130. package/esri-compat/renderer-objects.d.ts +40 -0
  131. package/esri-compat/renderer-objects.d.ts.map +1 -0
  132. package/esri-compat/renderer-objects.js +62 -0
  133. package/esri-compat/sketch.d.ts +43 -0
  134. package/esri-compat/sketch.d.ts.map +1 -1
  135. package/esri-compat/sketch.js +46 -0
  136. package/esri-compat/snapping.d.ts +43 -0
  137. package/esri-compat/snapping.d.ts.map +1 -0
  138. package/esri-compat/snapping.js +45 -0
  139. package/esri-compat/url.d.ts.map +1 -1
  140. package/esri-compat/url.js +1 -1
  141. package/esri-compat/widget-host.d.ts +84 -0
  142. package/esri-compat/widget-host.d.ts.map +1 -0
  143. package/esri-compat/widget-host.js +159 -0
  144. package/filter-registry/index.d.ts +145 -0
  145. package/filter-registry/index.d.ts.map +1 -0
  146. package/filter-registry/index.js +531 -0
  147. package/generated-app/errors.d.ts +18 -2
  148. package/generated-app/errors.d.ts.map +1 -1
  149. package/generated-app/errors.js +44 -11
  150. package/map/automatic-mount-integration.d.ts +134 -0
  151. package/map/automatic-mount-integration.d.ts.map +1 -0
  152. package/map/automatic-mount-integration.js +305 -0
  153. package/map/automatic-source-strategy.d.ts +125 -0
  154. package/map/automatic-source-strategy.d.ts.map +1 -0
  155. package/map/automatic-source-strategy.js +494 -0
  156. package/map/data-to-map-bridge.d.ts +293 -0
  157. package/map/data-to-map-bridge.d.ts.map +1 -0
  158. package/map/data-to-map-bridge.js +817 -0
  159. package/map/geojson-projection.d.ts +33 -0
  160. package/map/geojson-projection.d.ts.map +1 -0
  161. package/map/geojson-projection.js +118 -0
  162. package/map/index.d.ts +14 -0
  163. package/map/index.d.ts.map +1 -1
  164. package/map/index.js +8 -0
  165. package/map/raster-source-spec.d.ts +30 -0
  166. package/map/raster-source-spec.d.ts.map +1 -0
  167. package/map/raster-source-spec.js +190 -0
  168. package/map/raster-source-strategy.d.ts +65 -0
  169. package/map/raster-source-strategy.d.ts.map +1 -0
  170. package/map/raster-source-strategy.js +232 -0
  171. package/map/source-to-maplibre.d.ts +91 -0
  172. package/map/source-to-maplibre.d.ts.map +1 -0
  173. package/map/source-to-maplibre.js +454 -0
  174. package/map/temporal-playback.d.ts +139 -0
  175. package/map/temporal-playback.d.ts.map +1 -0
  176. package/map/temporal-playback.js +247 -0
  177. package/package.json +14 -1
  178. package/query-planner/canonical.d.ts +7 -0
  179. package/query-planner/canonical.d.ts.map +1 -0
  180. package/query-planner/canonical.js +145 -0
  181. package/query-planner/cql2-json.d.ts +17 -0
  182. package/query-planner/cql2-json.d.ts.map +1 -0
  183. package/query-planner/cql2-json.js +646 -0
  184. package/query-planner/diagnostics.d.ts +35 -0
  185. package/query-planner/diagnostics.d.ts.map +1 -0
  186. package/query-planner/diagnostics.js +373 -0
  187. package/query-planner/duckdb.d.ts +79 -0
  188. package/query-planner/duckdb.d.ts.map +1 -0
  189. package/query-planner/duckdb.js +758 -0
  190. package/query-planner/execution-context.d.ts +5 -0
  191. package/query-planner/execution-context.d.ts.map +1 -0
  192. package/query-planner/execution-context.js +50 -0
  193. package/query-planner/executor.d.ts +5 -0
  194. package/query-planner/executor.d.ts.map +1 -0
  195. package/query-planner/executor.js +223 -0
  196. package/query-planner/geoservices.d.ts +91 -0
  197. package/query-planner/geoservices.d.ts.map +1 -0
  198. package/query-planner/geoservices.js +667 -0
  199. package/query-planner/grpc.d.ts +100 -0
  200. package/query-planner/grpc.d.ts.map +1 -0
  201. package/query-planner/grpc.js +736 -0
  202. package/query-planner/index.d.ts +44 -0
  203. package/query-planner/index.d.ts.map +1 -0
  204. package/query-planner/index.js +30 -0
  205. package/query-planner/ir.d.ts +20 -0
  206. package/query-planner/ir.d.ts.map +1 -0
  207. package/query-planner/ir.js +417 -0
  208. package/query-planner/local-aggregate.d.ts +5 -0
  209. package/query-planner/local-aggregate.d.ts.map +1 -0
  210. package/query-planner/local-aggregate.js +126 -0
  211. package/query-planner/odata.d.ts +48 -0
  212. package/query-planner/odata.d.ts.map +1 -0
  213. package/query-planner/odata.js +662 -0
  214. package/query-planner/ogc-compiler.d.ts +55 -0
  215. package/query-planner/ogc-compiler.d.ts.map +1 -0
  216. package/query-planner/ogc-compiler.js +480 -0
  217. package/query-planner/ogc-features.d.ts +53 -0
  218. package/query-planner/ogc-features.d.ts.map +1 -0
  219. package/query-planner/ogc-features.js +617 -0
  220. package/query-planner/planner.d.ts +17 -0
  221. package/query-planner/planner.d.ts.map +1 -0
  222. package/query-planner/planner.js +818 -0
  223. package/query-planner/resource.d.ts +94 -0
  224. package/query-planner/resource.d.ts.map +1 -0
  225. package/query-planner/resource.js +526 -0
  226. package/query-planner/semantic-canonical.d.ts +15 -0
  227. package/query-planner/semantic-canonical.d.ts.map +1 -0
  228. package/query-planner/semantic-canonical.js +62 -0
  229. package/query-planner/semantic-compat.d.ts +10 -0
  230. package/query-planner/semantic-compat.d.ts.map +1 -0
  231. package/query-planner/semantic-compat.js +35 -0
  232. package/query-planner/semantic-compiler.d.ts +64 -0
  233. package/query-planner/semantic-compiler.d.ts.map +1 -0
  234. package/query-planner/semantic-compiler.js +81 -0
  235. package/query-planner/semantic-literals.d.ts +30 -0
  236. package/query-planner/semantic-literals.d.ts.map +1 -0
  237. package/query-planner/semantic-literals.js +133 -0
  238. package/query-planner/semantic-types.d.ts +265 -0
  239. package/query-planner/semantic-types.d.ts.map +1 -0
  240. package/query-planner/semantic-types.js +1 -0
  241. package/query-planner/semantic.d.ts +54 -0
  242. package/query-planner/semantic.d.ts.map +1 -0
  243. package/query-planner/semantic.js +1421 -0
  244. package/query-planner/types.d.ts +560 -0
  245. package/query-planner/types.d.ts.map +1 -0
  246. package/query-planner/types.js +49 -0
  247. package/query-planner/wfs-semantic.d.ts +58 -0
  248. package/query-planner/wfs-semantic.d.ts.map +1 -0
  249. package/query-planner/wfs-semantic.js +547 -0
  250. package/query-planner/wfs.d.ts +6 -0
  251. package/query-planner/wfs.d.ts.map +1 -0
  252. package/query-planner/wfs.js +71 -0
  253. package/react/external-map.d.ts +67 -0
  254. package/react/external-map.d.ts.map +1 -0
  255. package/react/external-map.js +63 -0
  256. package/react/honua-map.d.ts.map +1 -1
  257. package/react/honua-map.js +3 -2
  258. package/react/honua-source-layer.d.ts +110 -0
  259. package/react/honua-source-layer.d.ts.map +1 -0
  260. package/react/honua-source-layer.js +101 -0
  261. package/react/hooks.d.ts +28 -0
  262. package/react/hooks.d.ts.map +1 -1
  263. package/react/hooks.js +26 -4
  264. package/react/index.d.ts +8 -0
  265. package/react/index.d.ts.map +1 -1
  266. package/react/index.js +5 -0
  267. package/react/query-cache.d.ts +26 -4
  268. package/react/query-cache.d.ts.map +1 -1
  269. package/react/query-cache.js +51 -8
  270. package/react/selection.d.ts +177 -0
  271. package/react/selection.d.ts.map +1 -0
  272. package/react/selection.js +0 -0
  273. package/react/use-mounted-source.d.ts +69 -0
  274. package/react/use-mounted-source.d.ts.map +1 -0
  275. package/react/use-mounted-source.js +346 -0
  276. package/runtime/edit-snapping.d.ts +107 -0
  277. package/runtime/edit-snapping.d.ts.map +1 -0
  278. package/runtime/edit-snapping.js +190 -0
  279. package/runtime/errors.d.ts +3 -2
  280. package/runtime/errors.d.ts.map +1 -1
  281. package/runtime/errors.js +19 -2
  282. package/runtime/index.d.ts +6 -0
  283. package/runtime/index.d.ts.map +1 -1
  284. package/runtime/index.js +3 -0
  285. package/runtime/maplibre-renderer.d.ts +41 -0
  286. package/runtime/maplibre-renderer.d.ts.map +1 -0
  287. package/runtime/maplibre-renderer.js +322 -0
  288. package/runtime/query-tiles.d.ts +2 -1
  289. package/runtime/query-tiles.d.ts.map +1 -1
  290. package/runtime/query-tiles.js +6 -2
  291. package/runtime/source-bridge.d.ts +4 -4
  292. package/runtime/source-bridge.d.ts.map +1 -1
  293. package/runtime/source-bridge.js +9 -56
  294. package/runtime/style-interactions.d.ts +3 -2
  295. package/runtime/style-interactions.d.ts.map +1 -1
  296. package/runtime/style-interactions.js +11 -3
  297. package/runtime/terra-draw-sketch.d.ts +275 -0
  298. package/runtime/terra-draw-sketch.d.ts.map +1 -0
  299. package/runtime/terra-draw-sketch.js +404 -0
  300. package/source-capability-registry.d.ts +1 -0
  301. package/source-capability-registry.js +1 -0
  302. package/source-capability-types.d.ts +186 -0
  303. package/source-capability-types.js +7 -0
  304. package/style/index.d.ts +2 -0
  305. package/style/index.d.ts.map +1 -1
  306. package/style/index.js +2 -0
  307. package/style/renderers.d.ts +326 -0
  308. package/style/renderers.d.ts.map +1 -0
  309. package/style/renderers.js +517 -0
  310. package/webmap/convert-renderer.d.ts +24 -3
  311. package/webmap/convert-renderer.d.ts.map +1 -1
  312. package/webmap/convert-renderer.js +93 -112
  313. package/webmap/index.d.ts +1 -1
  314. package/webmap/index.d.ts.map +1 -1
  315. package/webmap/index.js +1 -1
@@ -0,0 +1,582 @@
1
+ /**
2
+ * Experimental vendor-neutral source schema v2.
3
+ *
4
+ * This module is the production projection of the contract accepted in
5
+ * `docs/decisions/vendor-neutral-source-contract-v2.md`. It deliberately lives
6
+ * beside, rather than replacing, the legacy Esri-shaped `SourceSchema`: the
7
+ * discovery rollout dual-reads both contracts until the 1.0 cutover.
8
+ *
9
+ * @experimental
10
+ * @module
11
+ */
12
+ import { type SourceSchemaV2Envelope } from "./schema-envelope.js";
13
+ import { type Protocol } from "./types.js";
14
+ export { SOURCE_SCHEMA_V2_KIND, SOURCE_SCHEMA_V2_VERSION } from "./schema-envelope.js";
15
+ export declare const SOURCE_SCHEMA_V2_FINGERPRINT_DOMAIN: "honua:schema:2.0";
16
+ export type JsonPrimitive = null | boolean | number | string;
17
+ export type JsonValue = JsonPrimitive | readonly JsonValue[] | {
18
+ readonly [key: string]: JsonValue;
19
+ };
20
+ export type JsonObject = {
21
+ readonly [key: string]: JsonValue;
22
+ };
23
+ export type ExtensionIdentifier = `${string}.${string}`;
24
+ export type ExtensionMap = Readonly<Record<ExtensionIdentifier, JsonValue>>;
25
+ export type IsoInstant = string;
26
+ export type Sha256 = `sha256:${string}`;
27
+ export type NonEmptyReadonlyArray<T> = readonly [T, ...T[]];
28
+ export type SourceProtocol = Protocol | ExtensionIdentifier;
29
+ export interface NativeTypeReference {
30
+ readonly protocol: SourceProtocol;
31
+ readonly name: string;
32
+ readonly namespace?: string;
33
+ readonly path?: readonly string[];
34
+ /** Sanitized metadata only. Raw protocol documents remain on native handles. */
35
+ readonly definition?: JsonValue;
36
+ }
37
+ export interface MetadataProvenance {
38
+ readonly method: "observed" | "declared" | "standard-default" | "inferred" | "unavailable";
39
+ readonly protocol: SourceProtocol;
40
+ readonly source: string;
41
+ readonly observedAt?: IsoInstant;
42
+ readonly validator?: {
43
+ readonly kind: "etag";
44
+ readonly value: string;
45
+ } | {
46
+ readonly kind: "last-modified";
47
+ readonly value: string;
48
+ } | {
49
+ readonly kind: "version";
50
+ readonly value: string;
51
+ };
52
+ readonly detail?: string;
53
+ }
54
+ export type AxisDirection = "east" | "west" | "north" | "south" | "up" | "down" | "future" | "past" | "other";
55
+ export interface CoordinateAxis {
56
+ readonly name: string;
57
+ readonly abbreviation?: string;
58
+ readonly direction: AxisDirection;
59
+ readonly unit: string;
60
+ }
61
+ export type AxisOrder = {
62
+ readonly state: "known";
63
+ readonly source: "crs-definition" | "protocol" | "encoding" | "declared";
64
+ readonly axes: readonly [CoordinateAxis, CoordinateAxis, ...CoordinateAxis[]];
65
+ } | {
66
+ readonly state: "unknown";
67
+ readonly reason: "missing" | "unrecognized" | "conflicting";
68
+ readonly native?: NativeTypeReference;
69
+ };
70
+ export type CrsDefinition = {
71
+ readonly kind: "authority";
72
+ readonly authority: string;
73
+ readonly code: string;
74
+ readonly version?: string;
75
+ readonly uri?: string;
76
+ readonly wkt?: string;
77
+ readonly definitionAxisOrder: AxisOrder;
78
+ } | {
79
+ readonly kind: "wkt";
80
+ readonly wkt: string;
81
+ readonly dialect: "wkt1" | "wkt2" | "unknown";
82
+ /** Only engine-validated WKT is safe to use for execution. */
83
+ readonly validation: "unverified" | "engine";
84
+ readonly name?: string;
85
+ readonly definitionAxisOrder: AxisOrder;
86
+ } | {
87
+ readonly kind: "uri";
88
+ readonly uri: string;
89
+ readonly name?: string;
90
+ readonly definitionAxisOrder: AxisOrder;
91
+ } | {
92
+ readonly kind: "projjson";
93
+ readonly projjson: JsonObject;
94
+ readonly name?: string;
95
+ readonly definitionAxisOrder: AxisOrder;
96
+ } | {
97
+ readonly kind: "unknown";
98
+ readonly reason: "missing" | "unrecognized" | "conflicting";
99
+ readonly native?: NativeTypeReference;
100
+ };
101
+ export type ResolvedCrsDefinition = Exclude<CrsDefinition, {
102
+ readonly kind: "unknown" | "wkt";
103
+ }> | (Extract<CrsDefinition, {
104
+ readonly kind: "wkt";
105
+ }> & {
106
+ readonly validation: "engine";
107
+ });
108
+ export interface ReprojectionRecord {
109
+ readonly source: ResolvedCrsDefinition;
110
+ readonly target: ResolvedCrsDefinition;
111
+ readonly operation?: string;
112
+ readonly engine: string;
113
+ readonly accuracyMeters?: number;
114
+ readonly transformedAt?: IsoInstant;
115
+ }
116
+ export type CrsProvenance = {
117
+ readonly method: "metadata" | "payload" | "standard-default" | "declared";
118
+ readonly native?: NativeTypeReference;
119
+ } | {
120
+ readonly method: "reprojected";
121
+ readonly native?: NativeTypeReference;
122
+ readonly reprojection: ReprojectionRecord;
123
+ };
124
+ export interface CrsBinding {
125
+ readonly definition: CrsDefinition;
126
+ /** Coordinate order in the encoded payload, independent of CRS-definition order. */
127
+ readonly coordinateOrder: AxisOrder;
128
+ readonly coordinateEpoch?: number;
129
+ readonly provenance: CrsProvenance;
130
+ }
131
+ export type KnownAxisOrder = Extract<AxisOrder, {
132
+ readonly state: "known";
133
+ }>;
134
+ export interface ExecutableCrsBinding {
135
+ readonly definition: ResolvedCrsDefinition;
136
+ readonly coordinateOrder: KnownAxisOrder;
137
+ readonly coordinateEpoch?: number;
138
+ readonly provenance: CrsProvenance;
139
+ }
140
+ export type CoordinateLayout = "xy" | "xyz" | "xym" | "xyzm";
141
+ export type Position2D = readonly [number, number];
142
+ export type Position3D = readonly [number, number, number];
143
+ export type Position4D = readonly [number, number, number, number];
144
+ export type Position = Position2D | Position3D | Position4D;
145
+ export type LinePositions<TPosition extends Position = Position> = readonly [TPosition, TPosition, ...TPosition[]];
146
+ export type LinearRing<TPosition extends Position = Position> = readonly [
147
+ TPosition,
148
+ TPosition,
149
+ TPosition,
150
+ TPosition,
151
+ ...TPosition[]
152
+ ];
153
+ export interface PointGeometry<TPosition extends Position = Position> {
154
+ readonly type: "Point";
155
+ readonly coordinates: TPosition;
156
+ }
157
+ export interface MultiPointGeometry<TPosition extends Position = Position> {
158
+ readonly type: "MultiPoint";
159
+ readonly coordinates: NonEmptyReadonlyArray<TPosition>;
160
+ }
161
+ export interface LineStringGeometry<TPosition extends Position = Position> {
162
+ readonly type: "LineString";
163
+ readonly coordinates: LinePositions<TPosition>;
164
+ }
165
+ export interface MultiLineStringGeometry<TPosition extends Position = Position> {
166
+ readonly type: "MultiLineString";
167
+ readonly coordinates: NonEmptyReadonlyArray<LinePositions<TPosition>>;
168
+ }
169
+ export interface PolygonGeometry<TPosition extends Position = Position> {
170
+ readonly type: "Polygon";
171
+ readonly coordinates: NonEmptyReadonlyArray<LinearRing<TPosition>>;
172
+ }
173
+ export interface MultiPolygonGeometry<TPosition extends Position = Position> {
174
+ readonly type: "MultiPolygon";
175
+ readonly coordinates: NonEmptyReadonlyArray<NonEmptyReadonlyArray<LinearRing<TPosition>>>;
176
+ }
177
+ export interface GeometryCollectionGeometry<TPosition extends Position = Position> {
178
+ readonly type: "GeometryCollection";
179
+ readonly geometries: NonEmptyReadonlyArray<CanonicalGeometry<TPosition>>;
180
+ }
181
+ export type CanonicalGeometry<TPosition extends Position = Position> = PointGeometry<TPosition> | MultiPointGeometry<TPosition> | LineStringGeometry<TPosition> | MultiLineStringGeometry<TPosition> | PolygonGeometry<TPosition> | MultiPolygonGeometry<TPosition> | GeometryCollectionGeometry<TPosition>;
182
+ export type GeometryKind = CanonicalGeometry["type"];
183
+ export type PresentGeometryWithCrs<TCrs extends CrsBinding | ExecutableCrsBinding> = {
184
+ readonly state: "present";
185
+ readonly geometry: CanonicalGeometry<Position2D>;
186
+ readonly crs: TCrs;
187
+ readonly layout: "xy";
188
+ } | {
189
+ readonly state: "present";
190
+ readonly geometry: CanonicalGeometry<Position3D>;
191
+ readonly crs: TCrs;
192
+ readonly layout: "xyz" | "xym";
193
+ } | {
194
+ readonly state: "present";
195
+ readonly geometry: CanonicalGeometry<Position4D>;
196
+ readonly crs: TCrs;
197
+ readonly layout: "xyzm";
198
+ };
199
+ export type PresentGeometryValue = PresentGeometryWithCrs<CrsBinding>;
200
+ export type ExecutableGeometryValue = PresentGeometryWithCrs<ExecutableCrsBinding>;
201
+ export interface EmptyGeometryValue {
202
+ readonly state: "empty";
203
+ readonly expectedType?: GeometryKind;
204
+ readonly crs: CrsBinding;
205
+ readonly layout: CoordinateLayout | "unknown";
206
+ }
207
+ export type GeometryValue = PresentGeometryValue | EmptyGeometryValue;
208
+ export type GeometryTypeKnowledge = {
209
+ readonly state: "known";
210
+ readonly type: GeometryKind;
211
+ } | {
212
+ readonly state: "mixed";
213
+ readonly types: readonly [GeometryKind, GeometryKind, ...GeometryKind[]];
214
+ } | {
215
+ readonly state: "unknown";
216
+ readonly reason: "missing" | "unrecognized" | "conflicting" | "unsupported";
217
+ readonly native?: NativeTypeReference;
218
+ };
219
+ export interface GeometryFieldSchema {
220
+ readonly field: string;
221
+ readonly geometryTypes: GeometryTypeKnowledge;
222
+ readonly crs: CrsBinding;
223
+ readonly layout: CoordinateLayout | "unknown";
224
+ readonly allowsEmpty: boolean | "unknown";
225
+ }
226
+ export type PrimaryGeometryField = {
227
+ readonly state: "known";
228
+ readonly field: string;
229
+ } | {
230
+ readonly state: "none";
231
+ readonly reason: "not-declared" | "no-default";
232
+ } | {
233
+ readonly state: "unknown";
234
+ readonly reason: "metadata-unavailable" | "conflicting";
235
+ };
236
+ export type SourceGeometrySchema = {
237
+ readonly state: "none";
238
+ readonly reason: "declared-non-spatial" | "no-geometry-fields";
239
+ } | {
240
+ readonly state: "known";
241
+ readonly fields: NonEmptyReadonlyArray<GeometryFieldSchema>;
242
+ readonly primaryField: PrimaryGeometryField;
243
+ } | {
244
+ readonly state: "unknown";
245
+ readonly reason: "metadata-unavailable" | "missing" | "unrecognized" | "conflicting";
246
+ readonly native?: NativeTypeReference;
247
+ };
248
+ export type BoundingBox = {
249
+ readonly layout: "xy";
250
+ readonly bounds: readonly [number, number, number, number];
251
+ } | {
252
+ readonly layout: "xyz";
253
+ readonly bounds: readonly [number, number, number, number, number, number];
254
+ };
255
+ export interface ExecutableBoundingBox {
256
+ readonly box: BoundingBox;
257
+ readonly crs: ExecutableCrsBinding;
258
+ }
259
+ export type SpatialExtent = {
260
+ readonly state: "known";
261
+ readonly boxes: NonEmptyReadonlyArray<BoundingBox>;
262
+ readonly crs: CrsBinding;
263
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
264
+ } | {
265
+ readonly state: "empty";
266
+ readonly reason: "empty-source" | "empty-result" | "all-geometries-empty";
267
+ readonly crs: CrsBinding;
268
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
269
+ } | {
270
+ readonly state: "mixed";
271
+ readonly extents: readonly [
272
+ Extract<SpatialExtent, {
273
+ readonly state: "known" | "empty";
274
+ }>,
275
+ Extract<SpatialExtent, {
276
+ readonly state: "known" | "empty";
277
+ }>,
278
+ ...Extract<SpatialExtent, {
279
+ readonly state: "known" | "empty";
280
+ }>[]
281
+ ];
282
+ readonly reason: "multiple-crs";
283
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
284
+ } | {
285
+ readonly state: "unknown";
286
+ readonly reason: "not-reported" | "not-computed" | "invalid";
287
+ readonly native?: NativeTypeReference;
288
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
289
+ } | {
290
+ readonly state: "none";
291
+ readonly reason: "non-spatial";
292
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
293
+ };
294
+ export type TemporalReferenceSystem = {
295
+ readonly kind: "gregorian";
296
+ } | {
297
+ readonly kind: "uri";
298
+ readonly uri: string;
299
+ } | {
300
+ readonly kind: "unknown";
301
+ readonly reason: "missing" | "unrecognized" | "conflicting";
302
+ readonly native?: NativeTypeReference;
303
+ };
304
+ export type TemporalInterval = readonly [string | null, string | null];
305
+ export type TemporalExtent = {
306
+ readonly state: "known";
307
+ readonly intervals: NonEmptyReadonlyArray<TemporalInterval>;
308
+ readonly referenceSystem: TemporalReferenceSystem;
309
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
310
+ } | {
311
+ readonly state: "empty";
312
+ readonly reason: "empty-source" | "empty-result" | "no-temporal-values";
313
+ readonly referenceSystem?: TemporalReferenceSystem;
314
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
315
+ } | {
316
+ readonly state: "unknown";
317
+ readonly reason: "not-reported" | "not-computed" | "invalid" | "conflicting";
318
+ readonly native?: NativeTypeReference;
319
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
320
+ } | {
321
+ readonly state: "none";
322
+ readonly reason: "non-temporal";
323
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
324
+ };
325
+ export type IntegerWidth = 8 | 16 | 32 | 64;
326
+ export type FloatWidth = 32 | 64;
327
+ export type TemporalUnit = "second" | "millisecond" | "microsecond" | "nanosecond";
328
+ export type LogicalType = {
329
+ readonly kind: "boolean";
330
+ } | {
331
+ readonly kind: "integer";
332
+ readonly bits: IntegerWidth;
333
+ readonly signed: boolean;
334
+ readonly jsonEncoding: "number" | "string";
335
+ } | {
336
+ readonly kind: "float";
337
+ readonly bits: FloatWidth;
338
+ } | {
339
+ readonly kind: "decimal";
340
+ readonly precision?: number;
341
+ readonly scale?: number;
342
+ readonly jsonEncoding: "number" | "string";
343
+ } | {
344
+ readonly kind: "string";
345
+ readonly maxLength?: number;
346
+ readonly encoding?: string;
347
+ } | {
348
+ readonly kind: "binary";
349
+ readonly encoding: "base64" | "url" | "opaque";
350
+ } | {
351
+ readonly kind: "uuid";
352
+ } | {
353
+ readonly kind: "date";
354
+ } | {
355
+ readonly kind: "time";
356
+ readonly unit: TemporalUnit;
357
+ } | {
358
+ readonly kind: "timestamp";
359
+ readonly unit: TemporalUnit;
360
+ readonly timezone: "utc" | "offset" | "local" | "unknown";
361
+ } | {
362
+ readonly kind: "duration";
363
+ readonly unit: TemporalUnit;
364
+ } | {
365
+ readonly kind: "json";
366
+ } | {
367
+ readonly kind: "geometry";
368
+ } | {
369
+ readonly kind: "list";
370
+ readonly element: LogicalType;
371
+ } | {
372
+ readonly kind: "struct";
373
+ readonly fields: readonly LogicalField[];
374
+ } | {
375
+ readonly kind: "union";
376
+ readonly members: readonly [LogicalType, LogicalType, ...LogicalType[]];
377
+ } | {
378
+ readonly kind: "unknown";
379
+ readonly reason: "missing" | "unrecognized" | "conflicting" | "unsupported";
380
+ readonly native?: NativeTypeReference;
381
+ };
382
+ export type BuiltInFieldRole = "primary-key" | "feature-id" | "geometry" | "time-instant" | "time-start" | "time-end" | "created-at" | "updated-at";
383
+ export type FieldRole = BuiltInFieldRole | ExtensionIdentifier;
384
+ export type DomainValue = Exclude<JsonPrimitive, null>;
385
+ export type OrderedDomainValue = string | number;
386
+ export interface CodedDomainValue {
387
+ readonly value: DomainValue;
388
+ readonly label?: string;
389
+ readonly description?: string;
390
+ readonly extensions?: ExtensionMap;
391
+ }
392
+ export interface RangeEndpoint {
393
+ readonly value: OrderedDomainValue;
394
+ readonly inclusive: boolean;
395
+ }
396
+ export type FieldValueDomain = {
397
+ readonly state: "none";
398
+ readonly reason: "unconstrained" | "not-applicable";
399
+ } | {
400
+ readonly state: "coded";
401
+ readonly values: NonEmptyReadonlyArray<CodedDomainValue>;
402
+ readonly openness: "closed" | "open" | "unknown";
403
+ } | ({
404
+ readonly state: "range";
405
+ readonly unit?: string;
406
+ } & ({
407
+ readonly minimum: RangeEndpoint;
408
+ readonly maximum?: RangeEndpoint;
409
+ } | {
410
+ readonly minimum?: never;
411
+ readonly maximum: RangeEndpoint;
412
+ })) | {
413
+ readonly state: "unknown";
414
+ readonly reason: "not-reported" | "unrecognized" | "conflicting" | "limit-exceeded";
415
+ readonly native?: NativeTypeReference;
416
+ };
417
+ export type FieldConstraint = {
418
+ readonly kind: "length";
419
+ readonly minimum?: number;
420
+ readonly maximum?: number;
421
+ } | {
422
+ readonly kind: "pattern";
423
+ readonly syntax: "ecma-262";
424
+ readonly expression: string;
425
+ readonly flags?: string;
426
+ } | {
427
+ readonly kind: "multiple-of";
428
+ readonly value: number;
429
+ } | {
430
+ readonly kind: "unique";
431
+ } | {
432
+ readonly kind: ExtensionIdentifier;
433
+ readonly value: JsonValue;
434
+ };
435
+ export type FieldConstraintState = {
436
+ readonly state: "none";
437
+ } | {
438
+ readonly state: "known";
439
+ readonly values: NonEmptyReadonlyArray<FieldConstraint>;
440
+ } | {
441
+ readonly state: "partial";
442
+ readonly values: NonEmptyReadonlyArray<FieldConstraint>;
443
+ readonly reason: "unrecognized" | "conflicting" | "limit-exceeded";
444
+ readonly native: NonEmptyReadonlyArray<NativeTypeReference>;
445
+ } | {
446
+ readonly state: "unknown";
447
+ readonly reason: "not-reported" | "unrecognized" | "conflicting" | "limit-exceeded";
448
+ readonly native?: NativeTypeReference;
449
+ };
450
+ export interface LogicalField {
451
+ readonly name: string;
452
+ /**
453
+ * Absolute native path from the source-record root. Struct descendants
454
+ * strictly extend their parent's path. Paths are unique among fields that
455
+ * can be addressed at the same time; mutually exclusive union branches may
456
+ * reuse one native path.
457
+ */
458
+ readonly path: NonEmptyReadonlyArray<string>;
459
+ readonly title?: string;
460
+ readonly description?: string;
461
+ readonly type: LogicalType;
462
+ readonly nullability: "nullable" | "non-nullable" | "unknown";
463
+ readonly mutability: "read-only" | "read-write" | "write-once" | "unknown";
464
+ readonly roles: readonly FieldRole[];
465
+ readonly defaultValue?: JsonValue;
466
+ readonly domain: FieldValueDomain;
467
+ readonly constraints: FieldConstraintState;
468
+ readonly native: readonly NativeTypeReference[];
469
+ readonly extensions?: ExtensionMap;
470
+ }
471
+ export type KeyDefinition = {
472
+ readonly state: "known";
473
+ readonly fields: NonEmptyReadonlyArray<string>;
474
+ } | {
475
+ readonly state: "none";
476
+ } | {
477
+ readonly state: "unknown";
478
+ readonly reason: "metadata-unavailable" | "not-declared" | "conflicting";
479
+ };
480
+ export type TemporalSchema = {
481
+ readonly state: "none";
482
+ } | {
483
+ readonly state: "instant";
484
+ readonly field: string;
485
+ } | {
486
+ readonly state: "interval";
487
+ readonly startField: string;
488
+ readonly endField: string;
489
+ } | {
490
+ readonly state: "mixed";
491
+ readonly fields: NonEmptyReadonlyArray<string>;
492
+ } | {
493
+ readonly state: "unknown";
494
+ readonly reason: "metadata-unavailable" | "not-declared" | "conflicting";
495
+ };
496
+ export interface SourceSchemaV2 extends SourceSchemaV2Envelope {
497
+ readonly fields: readonly LogicalField[];
498
+ readonly key: KeyDefinition;
499
+ readonly geometry: SourceGeometrySchema;
500
+ readonly temporal: TemporalSchema;
501
+ readonly openContent: "closed" | "open" | "unknown";
502
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
503
+ readonly extensions?: ExtensionMap;
504
+ }
505
+ export type SourceSchemaV2Input = Omit<SourceSchemaV2, "kind" | "version" | "fingerprint">;
506
+ export type SchemaState<TSchema extends SourceSchemaV2 = SourceSchemaV2> = {
507
+ readonly state: "known";
508
+ readonly value: TSchema;
509
+ } | {
510
+ readonly state: "unavailable";
511
+ readonly reason: "not-requested" | "request-failed" | "not-advertised" | "invalid";
512
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
513
+ };
514
+ export type SchemaIdentity = {
515
+ readonly state: "known";
516
+ readonly fingerprint: Sha256;
517
+ } | {
518
+ readonly state: "unavailable";
519
+ readonly reason: "not-requested" | "request-failed" | "not-advertised" | "invalid";
520
+ readonly provenance: NonEmptyReadonlyArray<MetadataProvenance>;
521
+ };
522
+ export type SchemaIdentityFor<TSchemaState extends SchemaState> = TSchemaState extends {
523
+ readonly state: "known";
524
+ readonly value: infer TSchema extends SourceSchemaV2;
525
+ } ? {
526
+ readonly state: "known";
527
+ readonly fingerprint: TSchema["fingerprint"];
528
+ } : TSchemaState extends Extract<SchemaState, {
529
+ readonly state: "unavailable";
530
+ }> ? {
531
+ readonly state: "unavailable";
532
+ readonly reason: TSchemaState["reason"];
533
+ readonly provenance: TSchemaState["provenance"];
534
+ } : never;
535
+ export type FeatureIdentityValue = string | number | boolean;
536
+ export interface FeatureIdentityPart {
537
+ readonly field: string;
538
+ readonly value: FeatureIdentityValue;
539
+ }
540
+ export type FeatureIdentity = {
541
+ readonly kind: "scalar";
542
+ readonly value: FeatureIdentityValue;
543
+ readonly field?: string;
544
+ } | {
545
+ readonly kind: "composite";
546
+ readonly parts: readonly [FeatureIdentityPart, FeatureIdentityPart, ...FeatureIdentityPart[]];
547
+ };
548
+ /** Create, validate, canonicalize, fingerprint, and deeply freeze a schema. */
549
+ export declare function createSourceSchemaV2(input: SourceSchemaV2Input): SourceSchemaV2;
550
+ /** Parse a serialized/object schema, rejecting future versions and fingerprint drift. */
551
+ export declare function parseSourceSchemaV2(value: string | unknown): SourceSchemaV2;
552
+ /** Canonical JSON form suitable for cache/storage interchange. */
553
+ export declare function serializeSourceSchemaV2(schema: SourceSchemaV2): string;
554
+ /** JSON-safe clone whose fingerprint and nested immutability are revalidated. */
555
+ export declare function cloneSourceSchemaV2(schema: SourceSchemaV2): SourceSchemaV2;
556
+ export declare function sourceSchemaIdentity(schema: SchemaState): SchemaIdentity;
557
+ /** @internal Adapter boundary for degrading malformed CRS metadata without losing its enclosing schema. */
558
+ export declare function validateSourceCrsDefinition(value: unknown): CrsDefinition;
559
+ /** @internal Query/spatial boundary for a fully validated executable CRS binding. */
560
+ export declare function validateExecutableCrsBinding(value: unknown, path?: string): ExecutableCrsBinding;
561
+ /**
562
+ * Test a JSON scalar against the canonical SourceSchemaV2 logical-type value
563
+ * semantics. Query admission imports this internal seam so binary encodings,
564
+ * numeric precision, and temporal precision cannot drift from schema truth.
565
+ *
566
+ * @internal
567
+ */
568
+ export declare function isLogicalDomainValueCompatible(value: JsonValue, type: LogicalType): boolean;
569
+ /**
570
+ * Compare two canonical scalar values with the exact ordering used by
571
+ * SourceSchemaV2 range domains. Timestamp offsets, leap seconds, and up to
572
+ * nanosecond precision are preserved; no comparison is routed through
573
+ * millisecond-limited `Date` arithmetic.
574
+ *
575
+ * `undefined` means that the values are invalid for the logical type or do
576
+ * not share a deterministic timeline (for example, a local timestamp and an
577
+ * offset timestamp under `timezone: "unknown"`).
578
+ *
579
+ * @internal
580
+ */
581
+ export declare function compareLogicalDomainValues(left: JsonValue, right: JsonValue, type: LogicalType): number | undefined;
582
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/contract/schema.ts"],"names":[],"mappings":"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"}