@honua/react 0.1.2-beta.0 → 0.1.4-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 (281) hide show
  1. package/contract/discovery.d.ts +34 -0
  2. package/contract/discovery.d.ts.map +1 -1
  3. package/contract/index.d.ts +7 -5
  4. package/contract/index.d.ts.map +1 -1
  5. package/contract/index.js +3 -2
  6. package/contract/pmtiles.d.ts +10 -1
  7. package/contract/pmtiles.d.ts.map +1 -1
  8. package/contract/pmtiles.js +10 -2
  9. package/contract/protocol-module.d.ts +84 -9
  10. package/contract/protocol-module.d.ts.map +1 -1
  11. package/contract/query-filter-fes.d.ts +18 -0
  12. package/contract/query-filter-fes.d.ts.map +1 -0
  13. package/contract/query-filter-fes.js +122 -0
  14. package/contract/query-filter.d.ts +300 -0
  15. package/contract/query-filter.d.ts.map +1 -0
  16. package/contract/query-filter.js +883 -0
  17. package/contract/schema.d.ts +12 -0
  18. package/contract/schema.d.ts.map +1 -1
  19. package/contract/schema.js +34 -0
  20. package/contract/source-capability-support.d.ts.map +1 -1
  21. package/contract/source-capability-support.js +15 -3
  22. package/contract/source.d.ts +45 -25
  23. package/contract/source.d.ts.map +1 -1
  24. package/contract/source.js +719 -479
  25. package/contract/types.d.ts +87 -18
  26. package/contract/types.d.ts.map +1 -1
  27. package/contract/widget-source.d.ts.map +1 -1
  28. package/core/client.d.ts +45 -21
  29. package/core/client.d.ts.map +1 -1
  30. package/core/client.js +224 -46
  31. package/core/error-classifications.d.ts +6 -0
  32. package/core/error-classifications.d.ts.map +1 -1
  33. package/core/error-classifications.js +6 -0
  34. package/core/error-code-registry.d.ts +6 -0
  35. package/core/error-code-registry.d.ts.map +1 -1
  36. package/core/error-code-registry.js +6 -0
  37. package/core/error-envelope.js +2 -0
  38. package/core/errors.d.ts +1 -1
  39. package/core/errors.js +1 -1
  40. package/core/geoparquet-sql.d.ts +68 -4
  41. package/core/geoparquet-sql.d.ts.map +1 -1
  42. package/core/geoparquet-sql.js +325 -8
  43. package/core/odata-write-codec.d.ts.map +1 -1
  44. package/core/odata-write-codec.js +0 -1
  45. package/core/odata.d.ts +6 -0
  46. package/core/odata.d.ts.map +1 -1
  47. package/core/odata.js +6 -1
  48. package/core/ogc-processes.d.ts +182 -25
  49. package/core/ogc-processes.d.ts.map +1 -1
  50. package/core/ogc-processes.js +602 -30
  51. package/core/process-runner.d.ts +8 -1
  52. package/core/process-runner.d.ts.map +1 -1
  53. package/core/process-runner.js +1 -0
  54. package/core/protocol-transport.d.ts +2 -0
  55. package/core/protocol-transport.d.ts.map +1 -1
  56. package/core/stac.d.ts +31 -0
  57. package/core/stac.d.ts.map +1 -1
  58. package/core/stac.js +136 -19
  59. package/core/surfaces.d.ts.map +1 -1
  60. package/core/surfaces.js +273 -68
  61. package/core/types.d.ts +123 -9
  62. package/core/types.d.ts.map +1 -1
  63. package/core/wfs-axis-order.d.ts +18 -0
  64. package/core/wfs-axis-order.d.ts.map +1 -0
  65. package/core/wfs-axis-order.js +108 -0
  66. package/core/wfs-capabilities.d.ts +65 -24
  67. package/core/wfs-capabilities.d.ts.map +1 -1
  68. package/core/wfs-capabilities.js +237 -27
  69. package/core/wfs-filter.d.ts +26 -3
  70. package/core/wfs-filter.d.ts.map +1 -1
  71. package/core/wfs-filter.js +48 -53
  72. package/core/wfs-protocol-error.d.ts +12 -0
  73. package/core/wfs-protocol-error.d.ts.map +1 -0
  74. package/core/wfs-protocol-error.js +13 -0
  75. package/core/wfs.d.ts +53 -1
  76. package/core/wfs.d.ts.map +1 -1
  77. package/core/wfs.js +251 -29
  78. package/core/wms-feature-info.d.ts +92 -0
  79. package/core/wms-feature-info.d.ts.map +1 -0
  80. package/core/wms-feature-info.js +285 -0
  81. package/core/wms.d.ts +9 -0
  82. package/core/wms.d.ts.map +1 -1
  83. package/core/wms.js +17 -5
  84. package/esri-compat/event-bus.d.ts +20 -0
  85. package/esri-compat/event-bus.d.ts.map +1 -1
  86. package/esri-compat/feature-filter.d.ts +46 -1
  87. package/esri-compat/feature-filter.d.ts.map +1 -1
  88. package/esri-compat/feature-filter.js +49 -0
  89. package/esri-compat/geojson-layer.d.ts +4 -2
  90. package/esri-compat/geojson-layer.d.ts.map +1 -1
  91. package/esri-compat/geojson-layer.js +4 -2
  92. package/esri-compat/identity-manager.js +2 -2
  93. package/esri-compat/imagery-layer.d.ts +2 -1
  94. package/esri-compat/imagery-layer.d.ts.map +1 -1
  95. package/esri-compat/imagery-layer.js +2 -1
  96. package/esri-compat/layer-list.d.ts +8 -1
  97. package/esri-compat/layer-list.d.ts.map +1 -1
  98. package/esri-compat/layer-list.js +11 -4
  99. package/esri-compat/legend.d.ts.map +1 -1
  100. package/esri-compat/legend.js +1 -1
  101. package/esri-compat/locator.d.ts +297 -0
  102. package/esri-compat/locator.d.ts.map +1 -0
  103. package/esri-compat/locator.js +579 -0
  104. package/esri-compat/map-image-layer.d.ts.map +1 -1
  105. package/esri-compat/map-view.d.ts.map +1 -1
  106. package/esri-compat/map-view.js +1 -1
  107. package/esri-compat/scene-view.d.ts.map +1 -1
  108. package/esri-compat/time-slider.d.ts +29 -0
  109. package/esri-compat/time-slider.d.ts.map +1 -1
  110. package/esri-compat/time-slider.js +117 -0
  111. package/esri-compat/wfs-layer.d.ts +2 -1
  112. package/esri-compat/wfs-layer.d.ts.map +1 -1
  113. package/esri-compat/wfs-layer.js +2 -1
  114. package/esri-compat/widget-host.d.ts +42 -6
  115. package/esri-compat/widget-host.d.ts.map +1 -1
  116. package/esri-compat/widget-host.js +99 -10
  117. package/generated-app/projection.d.ts.map +1 -1
  118. package/generated-app/runtime.d.ts.map +1 -1
  119. package/map/data-to-map-bridge.d.ts +1 -1
  120. package/map/data-to-map-bridge.d.ts.map +1 -1
  121. package/map/data-to-map-bridge.js +1 -2
  122. package/map/honua-map.d.ts.map +1 -1
  123. package/map/honua-map.js +1 -1
  124. package/map/index.d.ts +2 -0
  125. package/map/index.d.ts.map +1 -1
  126. package/map/index.js +2 -0
  127. package/map/realtime-reconciliation-adapter.d.ts +98 -0
  128. package/map/realtime-reconciliation-adapter.d.ts.map +1 -0
  129. package/map/realtime-reconciliation-adapter.js +84 -0
  130. package/map/temporal-playback.d.ts +25 -0
  131. package/map/temporal-playback.d.ts.map +1 -1
  132. package/map/temporal-playback.js +29 -1
  133. package/package.json +4 -3
  134. package/query-planner/canonical-filter.d.ts +30 -0
  135. package/query-planner/canonical-filter.d.ts.map +1 -0
  136. package/query-planner/canonical-filter.js +30 -0
  137. package/query-planner/columnar-plan.d.ts +63 -0
  138. package/query-planner/columnar-plan.d.ts.map +1 -0
  139. package/query-planner/columnar-plan.js +94 -0
  140. package/query-planner/diagnostics.d.ts +3 -3
  141. package/query-planner/diagnostics.d.ts.map +1 -1
  142. package/query-planner/diagnostics.js +17 -4
  143. package/query-planner/duckdb.d.ts.map +1 -1
  144. package/query-planner/duckdb.js +16 -2
  145. package/query-planner/execution-context.d.ts.map +1 -1
  146. package/query-planner/execution-context.js +3 -1
  147. package/query-planner/executor.d.ts.map +1 -1
  148. package/query-planner/executor.js +7 -1
  149. package/query-planner/geoservices.d.ts.map +1 -1
  150. package/query-planner/geoservices.js +24 -5
  151. package/query-planner/grpc.d.ts.map +1 -1
  152. package/query-planner/grpc.js +29 -5
  153. package/query-planner/index.d.ts +20 -5
  154. package/query-planner/index.d.ts.map +1 -1
  155. package/query-planner/index.js +16 -3
  156. package/query-planner/ir.d.ts +6 -1
  157. package/query-planner/ir.d.ts.map +1 -1
  158. package/query-planner/ir.js +63 -1
  159. package/query-planner/odata-protocol-module.d.ts +54 -0
  160. package/query-planner/odata-protocol-module.d.ts.map +1 -0
  161. package/query-planner/odata-protocol-module.js +199 -0
  162. package/query-planner/odata-v1.d.ts +23 -0
  163. package/query-planner/odata-v1.d.ts.map +1 -0
  164. package/query-planner/odata-v1.js +202 -0
  165. package/query-planner/odata.d.ts +0 -3
  166. package/query-planner/odata.d.ts.map +1 -1
  167. package/query-planner/odata.js +0 -143
  168. package/query-planner/ogc-features.d.ts.map +1 -1
  169. package/query-planner/ogc-features.js +23 -1
  170. package/query-planner/planner.d.ts +2 -2
  171. package/query-planner/planner.d.ts.map +1 -1
  172. package/query-planner/planner.js +146 -27
  173. package/query-planner/representation.d.ts +59 -0
  174. package/query-planner/representation.d.ts.map +1 -0
  175. package/query-planner/representation.js +140 -0
  176. package/query-planner/types.d.ts +153 -3
  177. package/query-planner/types.d.ts.map +1 -1
  178. package/query-planner/wfs-protocol-module.d.ts +57 -0
  179. package/query-planner/wfs-protocol-module.d.ts.map +1 -0
  180. package/query-planner/wfs-protocol-module.js +731 -0
  181. package/query-planner/wfs-v1.d.ts +41 -0
  182. package/query-planner/wfs-v1.d.ts.map +1 -0
  183. package/query-planner/wfs-v1.js +366 -0
  184. package/query-planner/wfs.d.ts +1 -3
  185. package/query-planner/wfs.d.ts.map +1 -1
  186. package/query-planner/wfs.js +1 -70
  187. package/react/honua-map.d.ts +3 -1
  188. package/react/honua-map.d.ts.map +1 -1
  189. package/react/honua-map.js +11 -1
  190. package/react/hooks.d.ts +1 -1
  191. package/react/hooks.js +1 -1
  192. package/react/selection.d.ts.map +1 -1
  193. package/react/selection.js +0 -0
  194. package/react/use-mounted-source.d.ts +1 -1
  195. package/react/use-mounted-source.js +1 -1
  196. package/realtime/checkpoint-store.d.ts +206 -0
  197. package/realtime/checkpoint-store.d.ts.map +1 -0
  198. package/realtime/checkpoint-store.js +504 -0
  199. package/realtime/contract.d.ts +142 -0
  200. package/realtime/contract.d.ts.map +1 -0
  201. package/realtime/contract.js +154 -0
  202. package/realtime/exploration.d.ts +16 -0
  203. package/realtime/exploration.d.ts.map +1 -0
  204. package/realtime/exploration.js +32 -0
  205. package/realtime/honua-server.d.ts +131 -0
  206. package/realtime/honua-server.d.ts.map +1 -0
  207. package/realtime/honua-server.js +302 -0
  208. package/realtime/index.d.ts +39 -0
  209. package/realtime/index.d.ts.map +1 -0
  210. package/realtime/index.js +26 -0
  211. package/realtime/odata-delta.d.ts +114 -0
  212. package/realtime/odata-delta.d.ts.map +1 -0
  213. package/realtime/odata-delta.js +483 -0
  214. package/realtime/projections.d.ts +30 -0
  215. package/realtime/projections.d.ts.map +1 -0
  216. package/realtime/projections.js +51 -0
  217. package/realtime/reconciliation.d.ts +245 -0
  218. package/realtime/reconciliation.d.ts.map +1 -0
  219. package/realtime/reconciliation.js +377 -0
  220. package/realtime/reducer.d.ts +14 -0
  221. package/realtime/reducer.d.ts.map +1 -0
  222. package/realtime/reducer.js +351 -0
  223. package/realtime/resumable-transport.d.ts +111 -0
  224. package/realtime/resumable-transport.d.ts.map +1 -0
  225. package/realtime/resumable-transport.js +406 -0
  226. package/realtime/resumable.d.ts +104 -0
  227. package/realtime/resumable.d.ts.map +1 -0
  228. package/realtime/resumable.js +632 -0
  229. package/realtime/sse.d.ts +23 -0
  230. package/realtime/sse.d.ts.map +1 -0
  231. package/realtime/sse.js +147 -0
  232. package/realtime/store.d.ts +18 -0
  233. package/realtime/store.d.ts.map +1 -0
  234. package/realtime/store.js +63 -0
  235. package/realtime/types.d.ts +190 -0
  236. package/realtime/types.d.ts.map +1 -0
  237. package/realtime/types.js +10 -0
  238. package/realtime/websocket.d.ts +60 -0
  239. package/realtime/websocket.d.ts.map +1 -0
  240. package/realtime/websocket.js +157 -0
  241. package/realtime/wire.d.ts +28 -0
  242. package/realtime/wire.d.ts.map +1 -0
  243. package/realtime/wire.js +73 -0
  244. package/runtime/index.d.ts +6 -2
  245. package/runtime/index.d.ts.map +1 -1
  246. package/runtime/index.js +3 -1
  247. package/runtime/load-package.d.ts +24 -0
  248. package/runtime/load-package.d.ts.map +1 -1
  249. package/runtime/load-package.js +45 -1
  250. package/runtime/maplibre-renderer.d.ts +11 -0
  251. package/runtime/maplibre-renderer.d.ts.map +1 -1
  252. package/runtime/maplibre-renderer.js +32 -7
  253. package/runtime/offline-region-protocol.d.ts +73 -0
  254. package/runtime/offline-region-protocol.d.ts.map +1 -0
  255. package/runtime/offline-region-protocol.js +63 -0
  256. package/runtime/offline-region-style.d.ts +78 -0
  257. package/runtime/offline-region-style.d.ts.map +1 -0
  258. package/runtime/offline-region-style.js +147 -0
  259. package/runtime/pmtiles-protocol.d.ts +7 -8
  260. package/runtime/pmtiles-protocol.d.ts.map +1 -1
  261. package/runtime/pmtiles-protocol.js +19 -66
  262. package/runtime/protocol-registry.d.ts +55 -0
  263. package/runtime/protocol-registry.d.ts.map +1 -0
  264. package/runtime/protocol-registry.js +103 -0
  265. package/runtime/runtime.d.ts +2 -0
  266. package/runtime/runtime.d.ts.map +1 -1
  267. package/runtime/runtime.js +6 -1
  268. package/studio/index.d.ts +24 -7
  269. package/studio/index.d.ts.map +1 -1
  270. package/studio/index.js +21 -7
  271. package/studio/lifecycle-client.d.ts +164 -0
  272. package/studio/lifecycle-client.d.ts.map +1 -0
  273. package/studio/lifecycle-client.js +299 -0
  274. package/studio/lifecycle-errors.d.ts +91 -0
  275. package/studio/lifecycle-errors.d.ts.map +1 -0
  276. package/studio/lifecycle-errors.js +77 -0
  277. package/studio/lifecycle-types.d.ts +321 -0
  278. package/studio/lifecycle-types.d.ts.map +1 -0
  279. package/studio/lifecycle-types.js +22 -0
  280. package/webmap/convert-label.js +0 -1
  281. package/webmap/convert-symbol.d.ts.map +1 -1
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Plan-derived columnar batch identity.
3
+ *
4
+ * `ColumnarBatchIdentityV1` is the cache-key contract shipped by #940: source
5
+ * id, source version, schema version, plan id, authorization scope, ordering,
6
+ * and freshness together decide whether two batches are the same answer. Until
7
+ * now the only source-side producer minted those fields itself, so
8
+ * `columnarBatchCacheKey` keyed on a plan id no planner ever issued.
9
+ *
10
+ * This module closes that: every identity field except freshness is read from
11
+ * an accepted {@link QueryExecutionPlan}, and `planId` is the plan's own
12
+ * `validity.fingerprint`. A plan, schema, scope, or query change therefore
13
+ * changes the cache key by construction rather than by convention.
14
+ *
15
+ * Freshness is the one execution-time input. Planning stays observation-clock
16
+ * free — an observation instant in a plan would make the plan fingerprint
17
+ * change on every explain — so the caller supplies it when the source is
18
+ * actually read.
19
+ *
20
+ * The module imports only types from `../columnar/`, so it adds no runtime edge
21
+ * to the columnar data plane.
22
+ *
23
+ * @module
24
+ */
25
+ import type { ColumnarBatchIdentityV1 } from "../columnar/types.js";
26
+ import { type QueryExecutionPlan } from "./types.js";
27
+ /** Execution-time freshness evidence for a plan-produced batch. */
28
+ export interface ColumnarBatchIdentityFromPlanOptions {
29
+ /**
30
+ * RFC 3339 instant at which the source result was observed. Required, and
31
+ * supplied at execution: it is deliberately not a plan input.
32
+ */
33
+ readonly observedAt: string;
34
+ /** RFC 3339 instant after which the batch must be revalidated. */
35
+ readonly staleAfter?: string;
36
+ /** Opaque source validator, such as an HTTP ETag. Never a credential. */
37
+ readonly validator?: string;
38
+ /** Opaque monotonic source generation or revision. */
39
+ readonly generation?: string;
40
+ }
41
+ /**
42
+ * Derive the batch identity a columnar-selected plan implies.
43
+ *
44
+ * Field derivation:
45
+ * - `planId` — the plan's `validity.fingerprint` verbatim, so two plans that
46
+ * are interchangeable for reuse share a cache entry and two that are not,
47
+ * do not. The broader `plan.fingerprint` also covers cost estimates, which
48
+ * change nothing about which rows come back, so it is deliberately not used.
49
+ * - `sourceId` / `sourceVersion` / `schemaVersion` — the plan's declared source
50
+ * identity, falling back to the plan's own descriptor and schema fingerprints
51
+ * when the source declares no version string. Both fallbacks are plan-derived
52
+ * and change whenever the underlying identity changes.
53
+ * - `authorizationScope` — the plan's authorization-scope *fingerprint*, never
54
+ * the raw scope values.
55
+ * - `ordering` — the canonical query's `orderBy`, as an ordering contract.
56
+ * - `freshness` — from {@link ColumnarBatchIdentityFromPlanOptions}.
57
+ *
58
+ * @throws HonuaCapabilityNotSupportedError when the plan did not select
59
+ * columnar execution. A columnar identity minted from an object plan would
60
+ * let a batch claim provenance the planner never granted.
61
+ */
62
+ export declare function columnarBatchIdentityFromPlan(plan: QueryExecutionPlan, options: ColumnarBatchIdentityFromPlanOptions): ColumnarBatchIdentityV1;
63
+ //# sourceMappingURL=columnar-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"columnar-plan.d.ts","sourceRoot":"","sources":["../../../src/query-planner/columnar-plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAA6C,MAAM,sBAAsB,CAAC;AAE/G,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE9E,mEAAmE;AACnE,MAAM,WAAW,oCAAoC;IACnD;;;OAGG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,sDAAsD;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,oCAAoC,GAC5C,uBAAuB,CAqBzB"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Plan-derived columnar batch identity.
3
+ *
4
+ * `ColumnarBatchIdentityV1` is the cache-key contract shipped by #940: source
5
+ * id, source version, schema version, plan id, authorization scope, ordering,
6
+ * and freshness together decide whether two batches are the same answer. Until
7
+ * now the only source-side producer minted those fields itself, so
8
+ * `columnarBatchCacheKey` keyed on a plan id no planner ever issued.
9
+ *
10
+ * This module closes that: every identity field except freshness is read from
11
+ * an accepted {@link QueryExecutionPlan}, and `planId` is the plan's own
12
+ * `validity.fingerprint`. A plan, schema, scope, or query change therefore
13
+ * changes the cache key by construction rather than by convention.
14
+ *
15
+ * Freshness is the one execution-time input. Planning stays observation-clock
16
+ * free — an observation instant in a plan would make the plan fingerprint
17
+ * change on every explain — so the caller supplies it when the source is
18
+ * actually read.
19
+ *
20
+ * The module imports only types from `../columnar/`, so it adds no runtime edge
21
+ * to the columnar data plane.
22
+ *
23
+ * @module
24
+ */
25
+ import { HonuaCapabilityNotSupportedError } from "../core/errors.js";
26
+ import { HonuaQueryPlanningError } from "./types.js";
27
+ /**
28
+ * Derive the batch identity a columnar-selected plan implies.
29
+ *
30
+ * Field derivation:
31
+ * - `planId` — the plan's `validity.fingerprint` verbatim, so two plans that
32
+ * are interchangeable for reuse share a cache entry and two that are not,
33
+ * do not. The broader `plan.fingerprint` also covers cost estimates, which
34
+ * change nothing about which rows come back, so it is deliberately not used.
35
+ * - `sourceId` / `sourceVersion` / `schemaVersion` — the plan's declared source
36
+ * identity, falling back to the plan's own descriptor and schema fingerprints
37
+ * when the source declares no version string. Both fallbacks are plan-derived
38
+ * and change whenever the underlying identity changes.
39
+ * - `authorizationScope` — the plan's authorization-scope *fingerprint*, never
40
+ * the raw scope values.
41
+ * - `ordering` — the canonical query's `orderBy`, as an ordering contract.
42
+ * - `freshness` — from {@link ColumnarBatchIdentityFromPlanOptions}.
43
+ *
44
+ * @throws HonuaCapabilityNotSupportedError when the plan did not select
45
+ * columnar execution. A columnar identity minted from an object plan would
46
+ * let a batch claim provenance the planner never granted.
47
+ */
48
+ export function columnarBatchIdentityFromPlan(plan, options) {
49
+ if (plan.validity.representation !== "columnar") {
50
+ throw new HonuaCapabilityNotSupportedError("columnar-execution", plan.ir.source.protocol, plan.ir.source.id, {
51
+ context: { representation: plan.validity.representation, reason: plan.representation.reason },
52
+ });
53
+ }
54
+ const observedAt = requireText(options.observedAt, "observedAt");
55
+ return Object.freeze({
56
+ sourceId: plan.ir.source.id,
57
+ sourceVersion: plan.ir.source.sourceVersion ?? plan.provenance.source.descriptorFingerprint,
58
+ schemaVersion: plan.ir.source.schemaVersion ?? plan.validity.schemaFingerprint,
59
+ planId: plan.validity.fingerprint,
60
+ authorizationScope: plan.provenance.authorizationScope.fingerprint,
61
+ ordering: planOrdering(plan),
62
+ freshness: Object.freeze({
63
+ observedAt,
64
+ ...(options.staleAfter === undefined ? {} : { staleAfter: requireText(options.staleAfter, "staleAfter") }),
65
+ ...(options.validator === undefined ? {} : { validator: requireText(options.validator, "validator") }),
66
+ ...(options.generation === undefined ? {} : { generation: requireText(options.generation, "generation") }),
67
+ }),
68
+ });
69
+ }
70
+ /**
71
+ * The ordering contract the plan's canonical query establishes.
72
+ *
73
+ * Null placement is declared `last` because the compiled DuckDB `ORDER BY`
74
+ * emits no explicit `NULLS` clause and DuckDB's default null order is
75
+ * `NULLS LAST`; the identity states the order the rows actually arrive in
76
+ * rather than leaving it unspecified. A batch whose schema does not carry
77
+ * every ordering key is refused when the batch is created — the identity is
78
+ * never quietly loosened to match a narrower batch.
79
+ */
80
+ function planOrdering(plan) {
81
+ const orderBy = plan.ir.query.orderBy ?? [];
82
+ const keys = orderBy.map((sort) => Object.freeze({
83
+ field: sort.field,
84
+ direction: sort.direction === "desc" ? "descending" : "ascending",
85
+ nulls: "last",
86
+ }));
87
+ return Object.freeze({ stable: keys.length > 0, keys: Object.freeze(keys) });
88
+ }
89
+ function requireText(value, label) {
90
+ if (typeof value !== "string" || value.length === 0) {
91
+ throw new HonuaQueryPlanningError("invalid-query", `columnar batch identity ${label} must be a non-empty string`);
92
+ }
93
+ return value;
94
+ }
@@ -1,5 +1,5 @@
1
1
  import type { CapabilityPolicy, SourceDescriptor } from "../contract/types.js";
2
- import type { CanonicalQuery, ExplainQueryOptions, QueryFallbackPolicy, QueryIrSourceIdentity, QueryIrSourceIdentityV2, QueryIrV1, QueryIrV2, QueryPlanBoundsV1, QueryPlanCacheDecisionV1, QueryPlanCacheOptions, QueryPlanFidelity, QueryPlanFidelityLoss, QueryPlanProvenanceV1, QueryPlanStepProvenanceV1, QueryPlanValidityV1, QueryPlanWarning, QueryPlanningEstimates } from "./types.js";
2
+ import type { CanonicalQuery, ExplainQueryOptions, QueryFallbackPolicy, QueryIrSourceIdentity, QueryIrSourceIdentityV2, QueryIrV1, QueryIrV2, QueryPlanBoundsV1, QueryPlanCacheDecisionV1, QueryPlanCacheOptions, QueryPlanFidelity, QueryPlanFidelityLoss, QueryPlanProvenanceV1, QueryPlanRepresentation, QueryPlanRepresentationDecisionV1, QueryPlanStepProvenanceV1, QueryPlanValidityV1, QueryPlanWarning, QueryPlanningEstimates } from "./types.js";
3
3
  type SourceIdentity = QueryIrSourceIdentity | QueryIrSourceIdentityV2;
4
4
  interface DiagnosticStep {
5
5
  readonly engine: "remote" | "client";
@@ -29,7 +29,7 @@ export declare function summarizeFidelity(steps: readonly {
29
29
  readonly fidelity: QueryPlanFidelity;
30
30
  readonly losses: readonly QueryPlanFidelityLoss[];
31
31
  };
32
- export declare function createPlanWarnings(steps: readonly DiagnosticStep[], source: SourceIdentity): readonly QueryPlanWarning[];
33
- export declare function createPlanValidity(ir: QueryIrV1 | QueryIrV2, provenance: QueryPlanProvenanceV1, capabilityPolicy: CapabilityPolicy, fallback: QueryFallbackPolicy, executionMode: "snapshot" | "delta"): QueryPlanValidityV1;
32
+ export declare function createPlanWarnings(steps: readonly DiagnosticStep[], source: SourceIdentity, representation: QueryPlanRepresentationDecisionV1): readonly QueryPlanWarning[];
33
+ export declare function createPlanValidity(ir: QueryIrV1 | QueryIrV2, provenance: QueryPlanProvenanceV1, capabilityPolicy: CapabilityPolicy, fallback: QueryFallbackPolicy, executionMode: "snapshot" | "delta", representation: QueryPlanRepresentation): QueryPlanValidityV1;
34
34
  export {};
35
35
  //# sourceMappingURL=diagnostics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/query-planner/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EAErB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EAErB,yBAAyB,EAEzB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB,KAAK,cAAc,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAGtE,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,eAAe,CAAC,GAChE,qBAAqB,CA6BvB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,qBAAqB,GAAG,yBAAyB,CAQjG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,wBAAwB,CA0C7F;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,qBAAqB,GAChC;IACD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD,CAUA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,EAAE,GAAG,iBAAiB,CAU/G;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,EAAE,GAC5G;IAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,CAO7F;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,MAAM,EAAE,cAAc,GACrB,SAAS,gBAAgB,EAAE,CA8B7B;AAMD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,UAAU,EAAE,qBAAqB,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,UAAU,GAAG,OAAO,GAClC,mBAAmB,CAerB"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/query-planner/diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,qBAAqB,EAErB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EAErB,uBAAuB,EACvB,iCAAiC,EACjC,yBAAyB,EAEzB,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB,KAAK,cAAc,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAGtE,UAAU,cAAc;IACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,gBAAgB,EAC5B,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,eAAe,CAAC,GAChE,qBAAqB,CA6BvB;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,qBAAqB,GAAG,yBAAyB,CAQjG;AAED,wBAAgB,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,wBAAwB,CA0C7F;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,cAAc,EACpB,SAAS,EAAE,sBAAsB,EACjC,UAAU,EAAE,qBAAqB,GAChC;IACD,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IACnC,QAAQ,CAAC,UAAU,EAAE,yBAAyB,CAAC;CAChD,CAUA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,EAAE,GAAG,iBAAiB,CAU/G;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,EAAE,GAC5G;IAAE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,qBAAqB,EAAE,CAAA;CAAE,CAO7F;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,iCAAiC,GAChD,SAAS,gBAAgB,EAAE,CA2C7B;AAMD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,UAAU,EAAE,qBAAqB,EACjC,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,mBAAmB,EAC7B,aAAa,EAAE,UAAU,GAAG,OAAO,EACnC,cAAc,EAAE,uBAAuB,GACtC,mBAAmB,CAgBrB"}
@@ -113,8 +113,20 @@ export function summarizeFidelity(steps) {
113
113
  : "exact";
114
114
  return { fidelity, losses: steps.flatMap((step) => step.losses) };
115
115
  }
116
- export function createPlanWarnings(steps, source) {
116
+ export function createPlanWarnings(steps, source, representation) {
117
117
  const warnings = [];
118
+ // Only surfaced when columnar was genuinely on offer. A source that cannot
119
+ // serve columnar states that in `representation.reason`; warning about it on
120
+ // every object plan would be noise, not information.
121
+ if (representation.selected === "object" && representation.available.includes("columnar")) {
122
+ warnings.push({
123
+ code: "columnar-representation-declined",
124
+ severity: "warning",
125
+ path: "$.representation",
126
+ message: `This source can serve columnar execution; object execution was selected (${representation.reason}).`,
127
+ remediation: 'Supply estimates that reach the plan\'s columnar thresholds, or pin representation: "columnar" to require it.',
128
+ });
129
+ }
118
130
  if (steps.some((step) => step.engine === "client")) {
119
131
  warnings.push({
120
132
  code: "bounded-local-fallback",
@@ -147,12 +159,13 @@ export function createPlanWarnings(steps, source) {
147
159
  function bboxApproximated(step) {
148
160
  return step.compiled !== undefined && "bboxApproximated" in step.compiled && step.compiled.bboxApproximated === true;
149
161
  }
150
- export function createPlanValidity(ir, provenance, capabilityPolicy, fallback, executionMode) {
162
+ export function createPlanValidity(ir, provenance, capabilityPolicy, fallback, executionMode, representation) {
151
163
  const unsigned = {
152
164
  version: QUERY_PLAN_DIAGNOSTICS_VERSION,
153
165
  plannerVersion: QUERY_PLANNER_VERSION,
154
166
  contractVersion: `${ir.kind}@${ir.version}`,
155
167
  executionMode,
168
+ representation,
156
169
  sourceFingerprint: provenance.source.descriptorFingerprint,
157
170
  schemaFingerprint: digest("schema-identity", provenance.schema),
158
171
  discoveryFingerprint: provenance.discovery.fingerprint,
@@ -311,9 +324,9 @@ function compiledRowLimit(compiled) {
311
324
  const artifact = compiled;
312
325
  const field = artifact.compiler === "ogc-api-features-query-v1"
313
326
  ? "limit"
314
- : artifact.compiler === "wfs-2.0-get-feature-v1"
327
+ : artifact.compiler === "wfs-2.0-get-feature-v1" || artifact.compiler === "wfs-2.0-protocol-query-v1"
315
328
  ? "count"
316
- : artifact.compiler === "odata-v4-query-v1"
329
+ : artifact.compiler === "odata-v4-query-v1" || artifact.compiler === "odata-v4-protocol-query-v1"
317
330
  ? "top"
318
331
  : artifact.compiler === "geoservices-rest-query-v1" || artifact.compiler === "honua-grpc-query-features-v1"
319
332
  ? "resultRecordCount"
@@ -1 +1 @@
1
- {"version":3,"file":"duckdb.d.ts","sourceRoot":"","sources":["../../../src/query-planner/duckdb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duckdb.d.ts","sourceRoot":"","sources":["../../../src/query-planner/duckdb.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@
12
12
  * @module
13
13
  */
14
14
  import { validateExecutableCrsBinding } from "../contract/schema.js";
15
- import { compileAggregate, compileQuery, geometryExpr, parquetSourceExpr, quoteIdentifier, } from "../core/geoparquet-sql.js";
15
+ import { GeoParquetWhereClauseError, compileAggregate, compileQuery, geometryExpr, parquetSourceExpr, quoteIdentifier, } from "../core/geoparquet-sql.js";
16
16
  import { queryFromCanonical } from "./ir.js";
17
17
  import { parseGeoParquetResourceHandle } from "./resource.js";
18
18
  import { hashSemanticQuery } from "./semantic-canonical.js";
@@ -64,9 +64,22 @@ export function compileDuckDbQuery(source, query) {
64
64
  };
65
65
  }
66
66
  catch (error) {
67
+ rethrowRejectedWhere(error);
67
68
  throw new HonuaQueryPlanningError("unsupported-query", `DuckDB query cannot be compiled deterministically: ${error instanceof Error ? error.message : String(error)}`);
68
69
  }
69
70
  }
71
+ /**
72
+ * Surface a contained `Query.where` rejection as an invalid query rather than
73
+ * an unsupported one: the raw-text lane is supported, this specific expression
74
+ * is refused. Only the fixed rejection code travels, never the caller's text.
75
+ */
76
+ function rethrowRejectedWhere(error) {
77
+ if (error instanceof GeoParquetWhereClauseError) {
78
+ throw new HonuaQueryPlanningError("invalid-query", `Query.where was rejected before SQL assembly: ${error.code}`, {
79
+ cause: error,
80
+ });
81
+ }
82
+ }
70
83
  /** Compile a credential-free template; execution recompiles with ephemeral resolved sources. */
71
84
  export function compileDuckDbQueryV2(source, query) {
72
85
  const geoparquet = source.geoparquet;
@@ -101,7 +114,8 @@ export function compileDuckDbQueryV2(source, query) {
101
114
  ...(compiled.bboxApproximated ? { bboxApproximated: true } : {}),
102
115
  };
103
116
  }
104
- catch {
117
+ catch (error) {
118
+ rethrowRejectedWhere(error);
105
119
  throw new HonuaQueryPlanningError("unsupported-query", "DuckDB query cannot be compiled safely for an opaque GeoParquet resource");
106
120
  }
107
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/query-planner/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAE1B,MAAM,YAAY,CAAC;AAEpB,oFAAoF;AACpF,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAuCN"}
1
+ {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../../../src/query-planner/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EACL,KAAK,uBAAuB,EAE5B,KAAK,oBAAoB,EAE1B,MAAM,YAAY,CAAC;AAEpB,oFAAoF;AACpF,wBAAgB,iCAAiC,CAAC,CAAC,EACjD,IAAI,EAAE,oBAAoB,EAC1B,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CA0CN"}
@@ -8,7 +8,9 @@ export function assertQueryPlanExecutionContextV1(plan, source, options) {
8
8
  const executionMode = options.executionMode ?? plan.validity.executionMode;
9
9
  const currentIr = { ...plan.ir, source: current };
10
10
  const currentProvenance = createQueryPlanProvenance(source.descriptor, current, options);
11
- const currentValidity = createPlanValidity(currentIr, currentProvenance, plan.capabilityPolicy, plan.fallback, executionMode);
11
+ // Representation is plan-bound, not source-bound: it is re-asserted here so
12
+ // the validity fingerprint recomputes identically, never re-decided.
13
+ const currentValidity = createPlanValidity(currentIr, currentProvenance, plan.capabilityPolicy, plan.fallback, executionMode, plan.validity.representation);
12
14
  if (currentValidity.fingerprint === plan.validity.fingerprint)
13
15
  return;
14
16
  if (!sameForeignSourceIdentity(current, plan.ir.source)) {
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/query-planner/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAUlE,OAAO,EACL,KAAK,uBAAuB,EAK5B,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AAEpB,mFAAmF;AACnF,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAiBhC"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../../src/query-planner/executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAUlE,OAAO,EACL,KAAK,uBAAuB,EAK5B,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAExB,MAAM,YAAY,CAAC;AAEpB,mFAAmF;AACnF,wBAAsB,gBAAgB,CAAC,CAAC,EACtC,IAAI,EAAE,kBAAkB,EACxB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CA0BhC"}
@@ -11,6 +11,12 @@ import { HonuaQueryPlanExecutionError, } from "./types.js";
11
11
  export async function executeQueryPlan(plan, source, options = {}) {
12
12
  const acceptedPlan = validateQueryPlanSnapshot(plan);
13
13
  assertPlanContext(acceptedPlan, source, options);
14
+ // This executor is the object-representation executor. Silently answering a
15
+ // columnar-selected plan with feature objects would misreport the
16
+ // representation the plan (and any batch identity derived from it) declares.
17
+ if (acceptedPlan.validity.representation !== "object") {
18
+ throw new HonuaQueryPlanExecutionError("invalid-plan", `executeQueryPlan returns object results, but this plan selected "${acceptedPlan.validity.representation}" execution; execute it through the plan's columnar producer or explain with representation: "object"`);
19
+ }
14
20
  throwIfExecutionAborted(options.signal);
15
21
  const remote = acceptedPlan.steps[0];
16
22
  if (!remote || remote.engine !== "remote") {
@@ -34,7 +40,7 @@ function assertPlanContext(plan, source, options) {
34
40
  const executionMode = options.executionMode ?? plan.validity.executionMode;
35
41
  const currentIr = { ...plan.ir, source: current };
36
42
  const currentProvenance = createQueryPlanProvenance(source.descriptor, current, options);
37
- const currentValidity = createPlanValidity(currentIr, currentProvenance, plan.capabilityPolicy, plan.fallback, executionMode);
43
+ const currentValidity = createPlanValidity(currentIr, currentProvenance, plan.capabilityPolicy, plan.fallback, executionMode, plan.validity.representation);
38
44
  if (currentValidity.fingerprint === plan.validity.fingerprint)
39
45
  return;
40
46
  if (!sameForeignSourceIdentity(current, plan.ir.source)) {
@@ -1 +1 @@
1
- {"version":3,"file":"geoservices.d.ts","sourceRoot":"","sources":["../../../src/query-planner/geoservices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geoservices.d.ts","sourceRoot":"","sources":["../../../src/query-planner/geoservices.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { compileQueryFilterToSql92, compileTemporalFilterToGeoServicesTime, } from "../contract/query-filter.js";
1
2
  import { validateExecutableCrsBinding } from "../contract/schema.js";
3
+ import { canonicalFilterParts } from "./canonical-filter.js";
2
4
  import { hashSemanticQuery } from "./semantic-canonical.js";
3
5
  import { prepareSemanticCompilerQuery, runSemanticCompiler, sameCrsDefinition, sameExecutableCrs, semanticSchemaField, semanticUnsupported, } from "./semantic-compiler.js";
4
6
  import { exactDecimalText, finiteDecimalNumber, quotedSemanticString, recordSemanticFieldMapping, semanticRequestFingerprint, sortSemanticFieldMappings, sql92Identifier, verifiedSemanticNativeText, verifiedSemanticSourceText, verifiedSemanticSourceVersion, } from "./semantic-literals.js";
@@ -17,11 +19,28 @@ export function compileGeoServicesQuery(source, query) {
17
19
  if (query.aggregation?.histogram || query.aggregation?.timeSeries) {
18
20
  throw new HonuaQueryPlanningError("unsupported-query", "The first GeoServices planner slice supports metrics and groupBy; histogram/timeSeries compilers remain follow-on work");
19
21
  }
22
+ const ctx = { protocol: source.protocol, sourceId: source.id };
23
+ const parts = canonicalFilterParts(query, ctx);
24
+ const typed = parts.expression ? compileQueryFilterToSql92(parts.expression, ctx) : {};
25
+ if (query.spatialFilter && typed.spatialFilter) {
26
+ throw new HonuaQueryPlanningError("unsupported-query", "A GeoServices query request carries one geometry; Query.spatialFilter and a spatial filter node cannot both be sent");
27
+ }
28
+ const spatialFilter = query.spatialFilter ?? typed.spatialFilter;
29
+ const whereParts = [
30
+ ...(query.where ? [query.where.expression] : []),
31
+ ...(typed.where !== undefined ? [typed.where] : []),
32
+ ];
33
+ const where = whereParts.length === 0
34
+ ? undefined
35
+ : whereParts.length === 1
36
+ ? whereParts[0]
37
+ : whereParts.map((part) => `(${part})`).join(" AND ");
20
38
  return {
21
39
  compiler: "geoservices-rest-query-v1",
22
40
  serviceId: source.serviceId,
23
41
  layerId: source.layerId,
24
- ...(query.where ? { where: query.where.expression } : {}),
42
+ ...(where !== undefined ? { where } : {}),
43
+ ...(parts.protocolTime ? { time: compileTemporalFilterToGeoServicesTime(parts.protocolTime, ctx) } : {}),
25
44
  ...(query.outFields && query.outFields.length > 0 ? { outFields: query.outFields } : {}),
26
45
  ...(query.returnGeometry !== undefined ? { returnGeometry: query.returnGeometry } : {}),
27
46
  ...(query.outSr !== undefined ? { outSr: query.outSr } : {}),
@@ -32,11 +51,11 @@ export function compileGeoServicesQuery(source, query) {
32
51
  .join(","),
33
52
  }
34
53
  : {}),
35
- ...(query.spatialFilter
54
+ ...(spatialFilter
36
55
  ? {
37
- geometry: query.spatialFilter.geometry,
38
- geometryType: query.spatialFilter.geometryType,
39
- ...(query.spatialFilter.spatialRel ? { spatialRel: query.spatialFilter.spatialRel } : {}),
56
+ geometry: spatialFilter.geometry,
57
+ geometryType: spatialFilter.geometryType,
58
+ ...(spatialFilter.spatialRel ? { spatialRel: spatialFilter.spatialRel } : {}),
40
59
  }
41
60
  : {}),
42
61
  ...(query.pagination?.offset !== undefined ? { resultOffset: query.pagination.offset } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"grpc.d.ts","sourceRoot":"","sources":["../../../src/query-planner/grpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grpc.d.ts","sourceRoot":"","sources":["../../../src/query-planner/grpc.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,9 @@
12
12
  *
13
13
  * @module
14
14
  */
15
+ import { compileQueryFilterToSql92 } from "../contract/query-filter.js";
15
16
  import { validateExecutableCrsBinding } from "../contract/schema.js";
17
+ import { canonicalFilterParts, refuseCanonicalFilter } from "./canonical-filter.js";
16
18
  import { hashSemanticQuery } from "./semantic-canonical.js";
17
19
  import { prepareSemanticCompilerQuery, runSemanticCompiler, sameExecutableCrs, semanticSchemaField, semanticUnsupported, } from "./semantic-compiler.js";
18
20
  import { HonuaQueryPlanningError } from "./types.js";
@@ -51,13 +53,35 @@ export function compileGrpcQuery(source, query) {
51
53
  // Aggregation returns statistic rows, never geometry — mirror the FeatureService
52
54
  // and GeoServices contract by forcing returnGeometry=false for statistics.
53
55
  const returnGeometry = aggregation ? false : query.returnGeometry;
56
+ // The gRPC FeatureService speaks the same SQL-92 `where` vocabulary as the
57
+ // REST FeatureServer, so the typed filter lowers through the same compiler.
58
+ // It has no `time` parameter, so a source-dimension temporal filter refuses.
59
+ const ctx = { protocol: "grpc", sourceId: source.id };
60
+ const parts = canonicalFilterParts(query, ctx);
61
+ if (parts.protocolTime) {
62
+ refuseCanonicalFilter("Query.temporalFilter without a field", "honua gRPC FeatureService", "QueryFeatures has no time parameter; name the temporal field so the predicate stays exact");
63
+ }
64
+ const typed = parts.expression ? compileQueryFilterToSql92(parts.expression, ctx) : {};
65
+ if (query.spatialFilter && typed.spatialFilter) {
66
+ throw new HonuaQueryPlanningError("unsupported-query", "A gRPC QueryFeatures request carries one geometry; Query.spatialFilter and a spatial filter node cannot both be sent");
67
+ }
68
+ const spatialFilter = query.spatialFilter ?? typed.spatialFilter;
69
+ const whereParts = [
70
+ ...(query.where ? [query.where.expression] : []),
71
+ ...(typed.where !== undefined ? [typed.where] : []),
72
+ ];
73
+ const where = whereParts.length === 0
74
+ ? undefined
75
+ : whereParts.length === 1
76
+ ? whereParts[0]
77
+ : whereParts.map((part) => `(${part})`).join(" AND ");
54
78
  return {
55
79
  compiler: "honua-grpc-query-features-v1",
56
80
  service: "honua.v1.FeatureService",
57
81
  method: "QueryFeatures",
58
82
  serviceId: source.serviceId,
59
83
  layerId: source.layerId,
60
- ...(query.where ? { where: query.where.expression } : {}),
84
+ ...(where !== undefined ? { where } : {}),
61
85
  ...(query.outFields && query.outFields.length > 0 ? { outFields: query.outFields } : {}),
62
86
  ...(returnGeometry !== undefined ? { returnGeometry } : {}),
63
87
  ...(query.outSr !== undefined ? { outSr: query.outSr } : {}),
@@ -66,12 +90,12 @@ export function compileGrpcQuery(source, query) {
66
90
  orderBy: query.orderBy.map((sort) => `${sort.field}${sort.direction === "desc" ? " DESC" : ""}`).join(","),
67
91
  }
68
92
  : {}),
69
- ...(query.spatialFilter
93
+ ...(spatialFilter
70
94
  ? {
71
95
  spatialFilter: {
72
- geometry: query.spatialFilter.geometry,
73
- geometryType: query.spatialFilter.geometryType,
74
- spatialRelationship: spatialRelationship(query.spatialFilter.spatialRel),
96
+ geometry: spatialFilter.geometry,
97
+ geometryType: spatialFilter.geometryType,
98
+ spatialRelationship: spatialRelationship(spatialFilter.spatialRel),
75
99
  },
76
100
  }
77
101
  : {}),
@@ -11,13 +11,22 @@
11
11
  * @packageDocumentation
12
12
  */
13
13
  export { canonicalStringify, sha256, toJsonValue } from "./canonical.js";
14
+ export { columnarBatchIdentityFromPlan } from "./columnar-plan.js";
15
+ export type { ColumnarBatchIdentityFromPlanOptions } from "./columnar-plan.js";
16
+ export { COLUMNAR_REPRESENTATION_ENCODINGS, COLUMNAR_REPRESENTATION_MIN_BYTES, COLUMNAR_REPRESENTATION_MIN_ROWS, createQueryPlanRepresentationDecision, isColumnarRepresentationEncoding, } from "./representation.js";
14
17
  export { compileDuckDbQuery, compileDuckDbQueryV2, compileSemanticDuckDbQuery } from "./duckdb.js";
15
18
  export { executeQueryPlan } from "./executor.js";
16
19
  export { compileGeoServicesQuery, compileSemanticGeoServicesQuery } from "./geoservices.js";
17
20
  export { compileGrpcQuery, compileSemanticGrpcQuery } from "./grpc.js";
18
21
  export { compileOgcApiFeaturesQuery, compileSemanticOgcApiFeaturesQuery } from "./ogc-features.js";
19
- export { compileOdataQuery, compileSemanticOdataQuery } from "./odata.js";
20
- export { compileSemanticWfsQuery, compileWfsQuery } from "./wfs.js";
22
+ export { odataProtocolModule } from "./odata-protocol-module.js";
23
+ export type { OdataProtocolExecutionQuery, OdataProtocolModule, OdataProtocolQueryBinding, } from "./odata-protocol-module.js";
24
+ export { compileOdataQuery } from "./odata-v1.js";
25
+ export { compileSemanticOdataQuery } from "./odata.js";
26
+ export { HonuaWfsProtocolError, wfsProtocolModule } from "./wfs-protocol-module.js";
27
+ export type { WfsProtocolErrorReason, WfsProtocolExecutionQuery, WfsProtocolModule, WfsProtocolQueryBinding, } from "./wfs-protocol-module.js";
28
+ export { compileWfsQuery } from "./wfs-v1.js";
29
+ export { compileSemanticWfsQuery } from "./wfs.js";
21
30
  export { canonicalizeQuery, createGeoParquetQueryIr, createQueryIr, hashQueryIr, queryFromCanonical, } from "./ir.js";
22
31
  export { explainQuery, hashQueryPlan, migrateGeoParquetQueryPlanV1, parseQueryPlan, queryPlanCacheKey, serializeQueryPlan, } from "./planner.js";
23
32
  export { QUERY_RESOURCE_HANDLE_KIND, QUERY_RESOURCE_HANDLE_VERSION, createGeoParquetResourceHandle, createGeoParquetResourceRegistry, hashGeoParquetResourceHandle, parseGeoParquetResourceHandle, resolveGeoParquetResource, } from "./resource.js";
@@ -35,10 +44,16 @@ export type { SemanticGeoServicesCompileOptions, SemanticGeoServicesCompiledQuer
35
44
  export type { SemanticGrpcCompileOptions, SemanticGrpcCompiledQueryV1, SemanticGrpcCoordinate, SemanticGrpcCoordinateSequence, SemanticGrpcGeometry, SemanticGrpcSourceIdentity, SemanticGrpcSpatialReference, SemanticGrpcSpatialRelationship, } from "./grpc.js";
36
45
  export type { Cql2FilterLanguage, OgcApiFeaturesFilterConformanceEvidence, SemanticOgcApiFeaturesCompileOptions, SemanticOgcApiFeaturesCompiledQueryV1, SemanticOgcApiFeaturesSourceIdentity, } from "./ogc-features.js";
37
46
  export type { SemanticWfsCompileOptions, SemanticWfsCompiledQueryV1, SemanticWfsSourceIdentity, Wfs20FilterCapabilitiesEvidence, } from "./wfs.js";
38
- export { COLUMNAR_WORKER_CANCEL_KIND, COLUMNAR_WORKER_ERROR_KIND, COLUMNAR_WORKER_PROGRESS_KIND, COLUMNAR_WORKER_PROTOCOL_VERSION, COLUMNAR_WORKER_REQUEST_KIND, COLUMNAR_WORKER_RESULT_KIND, ColumnarBatchLease, GEOARROW_SPEC_VERSION, HONUA_GEOARROW_LAYOUT_VERSION, HonuaGeoArrowError, HonuaColumnarWorkerError, createColumnarBatch, createColumnarWorkerSession, createGeoArrowBatch, decodeGeoArrowBatch, fromApacheArrowRecordBatch, inspectGeoArrowBatch, inspectColumnarBatch, leaseColumnarBatch, loadApacheArrow, startColumnarWorkerHost, toApacheArrowRecordBatch, } from "../columnar/index.js";
47
+ export { COLUMNAR_WORKER_CANCEL_KIND, COLUMNAR_WORKER_ERROR_KIND, COLUMNAR_WORKER_PROGRESS_KIND, COLUMNAR_WORKER_PROTOCOL_VERSION, COLUMNAR_WORKER_REQUEST_KIND, COLUMNAR_WORKER_RESULT_KIND, ColumnarBatchLease, DEFAULT_GEOARROW_AGGREGATE_MAX_GROUPS, DEFAULT_GEOARROW_AGGREGATE_YIELD_ROWS, GEOARROW_AGGREGATE_ABORT_CHECK_ROWS, GEOARROW_AGGREGATE_MAX_GRID_CELL_INDEX, GEOARROW_SPEC_VERSION, HONUA_GEOARROW_AGGREGATE_LAYOUT_VERSION, HONUA_GEOARROW_LAYOUT_VERSION, HonuaGeoArrowError, HonuaColumnarWorkerError, createColumnarBatch, createColumnarWorkerSession, createGeoArrowAggregateOperation, createGeoArrowBatch, createGeoArrowReprojectOperation, readGeoArrowAggregateBatch, deserializeGeoArrowBatch, decodeGeoArrowBatch, fromApacheArrowRecordBatch, inspectGeoArrowBatch, inspectColumnarBatch, leaseColumnarBatch, loadApacheArrow, startColumnarWorkerHost, serializeGeoArrowBatch, toApacheArrowRecordBatch, } from "../columnar/index.js";
48
+ export { DEFAULT_COLUMNAR_RESULT_MAX_FEATURES, columnarBatchToResult, columnarBatchToResultPages, resultToColumnarBatch, } from "../columnar/index.js";
49
+ export type { ColumnarBatchToResultOptions, ColumnarBatchToResultPagesOptions, ColumnarGeoJsonGeometry, ColumnarGeoJsonGeometryType, ColumnarResult, ColumnarResultAttributeBinding, ColumnarResultDictionaryBinding, ColumnarResultFeatureIdBinding, ColumnarResultGeometryDescriptor, ColumnarResultProvenance, ColumnarResultTemporalBinding, ResultToColumnarBatchAttributeOptions, ResultToColumnarBatchGeometryOptions, ResultToColumnarBatchOptions, ResultToColumnarBatchResult, } from "../columnar/index.js";
50
+ export { COLUMNAR_PATCH_ABORT_CHECK_ROWS, COLUMNAR_PATCH_KIND, COLUMNAR_PATCH_VERSION, DEFAULT_COLUMNAR_PATCH_MAX_CAPACITY_UTILIZATION, DEFAULT_COLUMNAR_PATCH_MAX_OPERATIONS, DEFAULT_COLUMNAR_PATCH_MAX_TOMBSTONE_OVERLAY_BYTES, DEFAULT_COLUMNAR_PATCH_MAX_TOMBSTONE_RATIO, DEFAULT_COLUMNAR_PATCH_MAX_VERTEX_GROWTH_RATIO, HONUA_COLUMNAR_PATCH_LAYOUT_VERSION, HonuaColumnarPatchError, applyColumnarPatch, columnarPatchLiveMask, createColumnarPatch, createColumnarPatchOperation, createPatchableGeoArrowBatch, decodePatchedGeoArrowBatch, inspectColumnarPatchState, } from "../columnar/index.js";
51
+ export type { ApplyColumnarPatchOptions, ApplyColumnarPatchOutcomeV1, ColumnarPatchAppendV1, ColumnarPatchAppliedInPlaceV1, ColumnarPatchCapacityV1, ColumnarPatchCursorV1, ColumnarPatchDeleteV1, ColumnarPatchGeometry, ColumnarPatchMetricsV1, ColumnarPatchOperationV1, ColumnarPatchRebuildOptions, ColumnarPatchRebuildReason, ColumnarPatchRebuiltV1, ColumnarPatchRejectedV1, ColumnarPatchRejectionCode, ColumnarPatchReserveV1, ColumnarPatchStateV1, ColumnarPatchThresholds, ColumnarPatchUpdateV1, ColumnarPatchV1, CreateColumnarPatchInput, CreateColumnarPatchOperationOptions, CreatePatchableGeoArrowBatchOptions, CreatedPatchableGeoArrowBatch, DecodedPatchedGeoArrowBatch, PatchableGeoArrowBatchMetrics, } from "../columnar/index.js";
52
+ export { COLUMNAR_BATCH_CACHE_CONFORMANCE_CASES, DEFAULT_COLUMNAR_BATCH_CACHE_MAX_AGE_MS, DEFAULT_COLUMNAR_BATCH_CACHE_MAX_RECORDS, DEFAULT_COLUMNAR_BATCH_CACHE_QUOTA_BYTES, GEOARROW_ENVELOPE_MIGRATIONS, HONUA_COLUMNAR_BATCH_CACHE_CONFORMANCE_KIND, HONUA_COLUMNAR_BATCH_CACHE_CONFORMANCE_VERSION, HONUA_COLUMNAR_BATCH_CACHE_FORMAT, HONUA_GEOARROW_ENVELOPE_KIND, HONUA_GEOARROW_ENVELOPE_VERSION, MAX_COLUMNAR_BATCH_CACHE_MAX_AGE_MS, MAX_COLUMNAR_BATCH_CACHE_MAX_RECORDS, MAX_COLUMNAR_BATCH_CACHE_QUOTA_BYTES, columnarAuthorizationScopeDigest, columnarBatchCacheFixtureBatch, columnarBatchCacheFixtureIdentity, columnarBatchCacheKey, columnarBatchCacheLegacyEntry, columnarBatchCacheOrderingDigest, createColumnarBatchCache, createIndexedDbColumnarBatchCacheStorage, createMemoryColumnarBatchCacheStorage, planColumnarBatchCacheAdmission, planGeoArrowEnvelopeMigration, readableGeoArrowEnvelopeVersions, runColumnarBatchCacheConformance, } from "../columnar/index.js";
53
+ export type { ColumnarBatchCacheAdmissionV1, ColumnarBatchCacheConformanceCaseResultV1, ColumnarBatchCacheConformanceOptions, ColumnarBatchCacheConformanceReportV1, ColumnarBatchCacheDiagnosticV1, ColumnarBatchCacheEntryV1, ColumnarBatchCacheFreshnessV1, ColumnarBatchCacheHandle, ColumnarBatchCacheMissReason, ColumnarBatchCacheOptions, ColumnarBatchCacheReadOptions, ColumnarBatchCacheReadV1, ColumnarBatchCacheRecordV1, ColumnarBatchCacheRefusalReason, ColumnarBatchCacheStaleReason, ColumnarBatchCacheStorage, ColumnarBatchCacheWriteOptions, ColumnarBatchCacheWriteV1, ColumnarTelemetry, ColumnarTelemetryIdentityV1, ColumnarTelemetryKind, ColumnarTelemetryOptions, ColumnarTelemetrySpan, ColumnarTelemetrySpanResult, GeoArrowEnvelopeMigrationPlanV1, GeoArrowEnvelopeMigrationRefusal, GeoArrowEnvelopeMigrationV1, IndexedDbColumnarBatchCacheStorageOptions, } from "../columnar/index.js";
39
54
  export { COLUMNAR_BATCH_KIND, COLUMNAR_BATCH_VERSION, COLUMNAR_TRANSFER_KIND, DEFAULT_COLUMNAR_BATCH_MAX_BACKING_BYTES, DEFAULT_COLUMNAR_BATCH_MAX_BUFFER_VIEWS, DEFAULT_COLUMNAR_BATCH_MAX_METADATA_ENTRIES, DEFAULT_COLUMNAR_BATCH_MAX_ROWS, DEFAULT_COLUMNAR_BATCH_MAX_SCHEMA_NODES, DEFAULT_COLUMNAR_BATCH_MAX_STRING_BYTES, HonuaColumnarTransferError, } from "../columnar/index.js";
40
- export type { ApacheArrowAdapterMetrics, ApacheArrowAdapterOptions, ApacheArrowDataLike, ApacheArrowFieldLike, ApacheArrowModuleImporter, ApacheArrowModuleLike, ApacheArrowRecordBatchLike, ApacheArrowRecordBatchResult, ApacheArrowTypeLike, ApacheArrowVectorLike, ColumnarBatchLeaseState, ColumnarBatchIdentityV1, ColumnarBatchLimits, ColumnarBatchMetrics, ColumnarBatchV1, ColumnarBufferRole, ColumnarBufferV1, ColumnarFieldV1, ColumnarFreshnessV1, ColumnarOrderingKeyV1, ColumnarOrderingV1, ColumnarSchemaV1, ColumnarTransferErrorCode, ColumnarTransferMessageV1, ColumnarTransferOptions, ColumnarTransferReceipt, ColumnarTransferTarget, ColumnarTypeV1, CreateColumnarBatchInput, ColumnarWorkerCancelV1, ColumnarWorkerErrorCode, ColumnarWorkerErrorV1, ColumnarWorkerExecutionProgress, ColumnarWorkerExecutionResult, ColumnarWorkerFactory, ColumnarWorkerFaultEvent, ColumnarWorkerHost, ColumnarWorkerMessageEvent, ColumnarWorkerOperation, ColumnarWorkerOperationContext, ColumnarWorkerProgressV1, ColumnarWorkerRequestV1, ColumnarWorkerResultV1, ColumnarWorkerSession, ColumnarWorkerSessionState, ColumnarWorkerTransport, CreateColumnarWorkerSessionOptions, ExecuteColumnarWorkerOperationOptions, CreateGeoArrowBatchInput, CreatedGeoArrowBatch, DecodedGeoArrowBatch, DecodedGeoArrowRow, GeoArrowBatchInspection, GeoArrowConversionLimits, GeoArrowConversionMetrics, GeoArrowCoordinateLayout, GeoArrowCrs, GeoArrowDictionaryBuffers, GeoArrowDictionaryColumnInput, GeoArrowDimensions, GeoArrowEdges, GeoArrowFeatureIdColumnInput, GeoArrowGeometryBuffers, GeoArrowGeometryColumnInput, GeoArrowGeometryKind, GeoArrowLineString, GeoArrowLineStringColumnInput, GeoArrowPoint, GeoArrowPointColumnInput, GeoArrowPolygon, GeoArrowPolygonColumnInput, GeoArrowPosition, GeoArrowTemporalBuffers, GeoArrowTemporalColumnInput, GeoArrowTimestampUnit, FromApacheArrowRecordBatchOptions, GeoArrowBatchFromApacheResult, HonuaGeoArrowErrorCode, LoadApacheArrowOptions, StartColumnarWorkerHostOptions, } from "../columnar/index.js";
55
+ export type { ApacheArrowAdapterMetrics, ApacheArrowAdapterOptions, ApacheArrowDataLike, ApacheArrowFieldLike, ApacheArrowModuleImporter, ApacheArrowModuleLike, ApacheArrowRecordBatchLike, ApacheArrowRecordBatchResult, ApacheArrowTypeLike, ApacheArrowVectorLike, ColumnarBatchLeaseState, ColumnarBatchIdentityV1, ColumnarBatchLimits, ColumnarBatchMetrics, ColumnarBatchV1, ColumnarBufferRole, ColumnarBufferV1, ColumnarFieldV1, ColumnarFreshnessV1, ColumnarOrderingKeyV1, ColumnarOrderingV1, ColumnarSchemaV1, ColumnarTransferErrorCode, ColumnarTransferMessageV1, ColumnarTransferOptions, ColumnarTransferReceipt, ColumnarTransferTarget, ColumnarTypeV1, CreateColumnarBatchInput, ColumnarWorkerCancelV1, ColumnarWorkerErrorCode, ColumnarWorkerErrorV1, ColumnarWorkerExecutionProgress, ColumnarWorkerExecutionResult, ColumnarWorkerFactory, ColumnarWorkerFaultEvent, ColumnarWorkerHost, ColumnarWorkerMessageEvent, ColumnarWorkerOperation, ColumnarWorkerOperationContext, ColumnarWorkerProgressV1, ColumnarWorkerRequestV1, ColumnarWorkerResultV1, ColumnarWorkerSession, ColumnarWorkerSessionState, ColumnarWorkerStreamOrdering, ColumnarWorkerTransport, CreateColumnarWorkerSessionOptions, ExecuteColumnarWorkerOperationOptions, CreateGeoArrowAggregateOperationOptions, CreateGeoArrowBatchInput, CreateGeoArrowReprojectOperationOptions, CreatedGeoArrowBatch, GeoArrowAggregateDictionaryGroupSpec, GeoArrowAggregateGridGroupSpec, GeoArrowAggregateGroupSpec, GeoArrowAggregateMetricKind, GeoArrowAggregateMetricSpec, GeoArrowAggregateNullKeyPolicy, GeoArrowAggregateNumericColumn, GeoArrowAggregateResult, GeoArrowAggregateRow, GeoArrowAggregateSource, GeoArrowAggregateTemporalGroupSpec, GeoArrowAggregateTruncationUnit, GeoArrowBatchSerializationResult, DecodedGeoArrowBatch, DecodedGeoArrowRow, GeoArrowBatchInspection, GeoArrowConversionLimits, GeoArrowConversionMetrics, GeoArrowSerializationMetrics, GeoArrowSerializationOptions, GeoArrowCoordinateLayout, GeoArrowCrs, GeoArrowDictionaryBuffers, GeoArrowDictionaryColumnInput, GeoArrowDimensions, GeoArrowEdges, GeoArrowFeatureIdColumnInput, GeoArrowGeometryBuffers, GeoArrowGeometryColumnInput, GeoArrowGeometryKind, GeoArrowLineString, GeoArrowLineStringColumnInput, GeoArrowPoint, GeoArrowPointColumnInput, GeoArrowPolygon, GeoArrowPolygonColumnInput, GeoArrowPosition, GeoArrowTemporalBuffers, GeoArrowTemporalColumnInput, GeoArrowTimestampUnit, FromApacheArrowRecordBatchOptions, GeoArrowBatchFromApacheResult, HonuaGeoArrowErrorCode, LoadApacheArrowOptions, StartColumnarWorkerHostOptions, } from "../columnar/index.js";
41
56
  export { HonuaQueryPlanExecutionError, HonuaQueryPlanningError, MAX_LOCAL_MATERIALIZATION_ROWS, QUERY_IR_KIND, QUERY_IR_VERSION, QUERY_PLAN_KIND, QUERY_PLAN_DIAGNOSTICS_VERSION, QUERY_PLANNER_VERSION, QUERY_PLAN_VERSION, QUERY_IR_V2_VERSION, QUERY_PLAN_V2_VERSION, } from "./types.js";
42
- export type { CanonicalQuery, CanonicalSpatialFilter, DuckDbCompiledQueryV1, DuckDbCompiledQueryV2, DuckDbGeometryEncoding, ExecuteQueryPlanOptions, ExplainGeoParquetQueryOptions, ExplainQueryOptions, GeoParquetEffectiveSchemaFieldV1, GeoParquetRemoteQueryPlanStepV2, GeoServicesCompiledQueryV1, GrpcCompiledQueryV1, GrpcSpatialRelationship, GrpcStatisticType, JsonPrimitive, JsonValue, LocalAggregatePlanStep, OgcApiFeaturesCompiledQueryV1, OdataCompiledQueryV1, QueryExecutionPlan, QueryExecutionPlanV1, QueryExecutionPlanV2, QueryFallbackPolicy, QueryIrGeoparquetIdentity, QueryIrGeoparquetResourceIdentity, QueryIrSourceIdentity, QueryIrSourceIdentityV2, QueryIrV1, QueryIrV2, QueryPlanExecution, QueryPlanExecutionErrorCode, QueryPlanExecutor, QueryPlanningErrorCode, QueryPlanningEstimates, QueryPlanBoundConfidence, QueryPlanBoundSource, QueryPlanBoundsV1, QueryPlanCacheAction, QueryPlanCacheDecisionV1, QueryPlanCacheFreshness, QueryPlanCacheOptions, QueryPlanCachePolicy, QueryPlanDiscoveryContext, QueryPlanDiscoveryState, QueryPlanExecutionFailureReason, QueryPlanExecutionMode, QueryPlanFidelity, QueryPlanFidelityLoss, QueryPlanProvenanceV1, QueryPlanQuantityBound, QueryPlanStepProvenanceV1, QueryPlanValidatorInput, QueryPlanValidatorKind, QueryPlanValidityV1, QueryPlanWarning, QueryPlanWarningCode, RemoteCompiledQueryV1, QueryPlanStep, QueryPlanStepV2, RemoteQueryPlanStep, WfsCompiledQueryV1, } from "./types.js";
57
+ export type { CanonicalQuery, CanonicalSpatialFilter, DuckDbCompiledQueryV1, DuckDbCompiledQueryV2, DuckDbGeometryEncoding, ExecuteQueryPlanOptions, ExplainGeoParquetQueryOptions, ExplainQueryOptions, GeoParquetEffectiveSchemaFieldV1, GeoParquetRemoteQueryPlanStepV2, GeoServicesCompiledQueryV1, GrpcCompiledQueryV1, GrpcSpatialRelationship, GrpcStatisticType, JsonPrimitive, JsonValue, LocalAggregatePlanStep, OgcApiFeaturesCompiledQueryV1, OdataCompiledQueryV1, OdataProtocolCompiledQueryV1, QueryExecutionPlan, QueryExecutionPlanV1, QueryExecutionPlanV2, QueryFallbackPolicy, QueryIrGeoparquetIdentity, QueryIrGeoparquetResourceIdentity, QueryIrSourceIdentity, QueryIrSourceIdentityV2, QueryIrV1, QueryIrV2, QueryPlanExecution, QueryPlanExecutionErrorCode, QueryPlanExecutor, QueryPlanningErrorCode, QueryPlanningEstimates, QueryPlanBoundConfidence, QueryPlanBoundSource, QueryPlanBoundsV1, QueryPlanCacheAction, QueryPlanCacheDecisionV1, QueryPlanCacheFreshness, QueryPlanCacheOptions, QueryPlanCachePolicy, QueryPlanDiscoveryContext, QueryPlanDiscoveryState, QueryPlanExecutionFailureReason, QueryPlanExecutionMode, QueryPlanFidelity, QueryPlanFidelityLoss, QueryPlanProvenanceV1, QueryPlanQuantityBound, QueryPlanRepresentation, QueryPlanRepresentationDecisionV1, QueryPlanRepresentationInputsV1, QueryPlanRepresentationReason, QueryPlanRepresentationRequest, QueryPlanStepProvenanceV1, QueryPlanValidatorInput, QueryPlanValidatorKind, QueryPlanValidityV1, QueryPlanWarning, QueryPlanWarningCode, RemoteCompiledQueryV1, QueryPlanStep, QueryPlanStepV2, RemoteQueryPlanStep, WfsCompiledQueryV1, WfsProtocolCompiledQueryV1, } from "./types.js";
43
58
  export type { CreateGeoParquetResourceHandleInput, GeoParquetResolverResourceReferenceV1, GeoParquetResourceHandleV1, GeoParquetResourceRegistry, GeoParquetResourceRegistryOptions, GeoParquetResourceResolutionContext, GeoParquetResourceResolver, RegisterGeoParquetResourceInput, ResolvedGeoParquetResource, } from "./resource.js";
44
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/query-planner/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,+BAA+B,EAAE,MAAM,kBAAkB,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,kCAAkC,EAAE,MAAM,mBAAmB,CAAC;AACnG,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACb,WAAW,EACX,kBAAkB,GACnB,MAAM,SAAS,CAAC;AACjB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,4BAA4B,EAC5B,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,4BAA4B,EAC5B,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,+BAA+B,GAChC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACjE,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,wBAAwB,EACxB,oBAAoB,EACpB,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AACtF,OAAO,EACL,wBAAwB,EACxB,mCAAmC,EACnC,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,0BAA0B,EAC1B,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC1D,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,6BAA6B,EAC7B,kBAAkB,EAClB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,eAAe,EACf,wBAAwB,EACxB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,qBAAqB,EACrB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,EACzB,YAAY,EACZ,yBAAyB,EACzB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,2BAA2B,EAC3B,4BAA4B,EAC5B,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,4BAA4B,EAC5B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,GACjC,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,iCAAiC,EACjC,kCAAkC,EAClC,2BAA2B,EAC3B,2BAA2B,EAC3B,iCAAiC,EACjC,mCAAmC,EACnC,sCAAsC,GACvC,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,sBAAsB,EACtB,8BAA8B,EAC9B,oBAAoB,EACpB,0BAA0B,EAC1B,4BAA4B,EAC5B,+BAA+B,GAChC,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,kBAAkB,EAClB,uCAAuC,EACvC,oCAAoC,EACpC,qCAAqC,EACrC,oCAAoC,GACrC,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,EAC1B,6BAA6B,EAC7B,gCAAgC,EAChC,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,6BAA6B,EAC7B,kBAAkB,EAClB,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,wCAAwC,EACxC,uCAAuC,EACvC,2CAA2C,EAC3C,+BAA+B,EAC/B,uCAAuC,EACvC,uCAAuC,EACvC,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,EACnB,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,EAC5B,mBAAmB,EACnB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,EACd,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,+BAA+B,EAC/B,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,kCAAkC,EAClC,qCAAqC,EACrC,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,WAAW,EACX,yBAAyB,EACzB,6BAA6B,EAC7B,kBAAkB,EAClB,aAAa,EACb,4BAA4B,EAC5B,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACpB,kBAAkB,EAClB,6BAA6B,EAC7B,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,uBAAuB,EACvB,2BAA2B,EAC3B,qBAAqB,EACrB,iCAAiC,EACjC,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,GAC/B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,8BAA8B,EAC9B,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,8BAA8B,EAC9B,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,mBAAmB,EACnB,gCAAgC,EAChC,+BAA+B,EAC/B,0BAA0B,EAC1B,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,sBAAsB,EACtB,6BAA6B,EAC7B,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,iCAAiC,EACjC,qBAAqB,EACrB,uBAAuB,EACvB,SAAS,EACT,SAAS,EACT,kBAAkB,EAClB,2BAA2B,EAC3B,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,uBAAuB,EACvB,+BAA+B,EAC/B,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,mCAAmC,EACnC,qCAAqC,EACrC,0BAA0B,EAC1B,0BAA0B,EAC1B,iCAAiC,EACjC,mCAAmC,EACnC,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/query-planner/index.ts"],"names":[],"mappings":"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"}