@honua/react 0.1.0-beta.0 → 0.1.1-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
package/core/errors.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Honua SDK error hierarchy. Every error thrown by `@honua/sdk-js` is an
3
- * instance of one of the classes in this file plus the runtime-type guard
4
- * `isHonuaError(error)`. See [`docs/errors.md`](../../docs/errors.md) for the
5
- * full reference table including recovery hints and the retry-policy mapping.
2
+ * Tagged hierarchy for the migrated Honua SDK error domains. The common
3
+ * `isHonuaError(error)` guard also recognizes migrated query, map, runtime,
4
+ * realtime, offline, and plugin subclasses. See
5
+ * [`docs/errors.md`](../../docs/errors.md) for exact coverage, residual domains,
6
+ * recovery hints, and the retryability classification.
6
7
  *
7
8
  * @example
8
9
  * ```ts
@@ -29,9 +30,26 @@
29
30
  *
30
31
  * @packageDocumentation
31
32
  */
32
- import { HonuaJobFailedError } from "./ogc-processes.js";
33
- import { HonuaWmsCapabilitiesParseError } from "./wms-capabilities.js";
34
- import { HonuaWmtsCapabilitiesParseError } from "./wmts-capabilities.js";
33
+ import { type HonuaErrorMetadata, type HonuaErrorOptions, HonuaSdkError } from "./error-envelope.js";
34
+ export type HonuaDiscoveryErrorCode = "ambiguous-protocol" | "ambiguous-source" | "invalid-endpoint" | "invalid-cache-identity" | "invalid-discovery-cache" | "invalid-capability" | "unsupported-protocol" | "protocol-mismatch";
35
+ /** Discovery input, metadata, or cache identity is invalid or inconsistent. */
36
+ export declare class HonuaDiscoveryError extends HonuaSdkError {
37
+ readonly code: HonuaDiscoveryErrorCode;
38
+ readonly detail?: Readonly<Record<string, unknown>> | undefined;
39
+ constructor(code: HonuaDiscoveryErrorCode, message: string, detail?: Readonly<Record<string, unknown>> | undefined, options?: HonuaErrorOptions);
40
+ }
41
+ /** Stable reason codes for geometry inputs that cannot be classified safely. */
42
+ export type HonuaGeometryErrorCode = "unknown-geometry" | "malformed-geometry";
43
+ /**
44
+ * Thrown when a geometry cannot be classified without guessing. The structured
45
+ * `code` and `detail` fields let callers distinguish an unsupported shape from
46
+ * a recognized-but-malformed Esri geometry without parsing the message.
47
+ */
48
+ export declare class HonuaGeometryError extends HonuaSdkError {
49
+ readonly code: HonuaGeometryErrorCode;
50
+ readonly detail?: Readonly<Record<string, unknown>> | undefined;
51
+ constructor(code: HonuaGeometryErrorCode, message: string, detail?: Readonly<Record<string, unknown>> | undefined, options?: HonuaErrorOptions);
52
+ }
35
53
  /**
36
54
  * Thrown when the server returns a non-2xx HTTP status. Branch on
37
55
  * `.statusCode` to decide recovery: refresh credentials on 401/403, respect
@@ -39,30 +57,30 @@ import { HonuaWmtsCapabilitiesParseError } from "./wmts-capabilities.js";
39
57
  *
40
58
  * @see [`docs/errors.md`](../../docs/errors.md)
41
59
  */
42
- export declare class HonuaHttpError extends Error {
60
+ export declare class HonuaHttpError extends HonuaSdkError {
43
61
  readonly statusCode: number;
44
62
  readonly body: unknown;
45
- constructor(statusCode: number, message: string, body: unknown);
63
+ constructor(statusCode: number, message: string, body: unknown, options?: HonuaErrorOptions);
46
64
  }
47
65
  /** Thrown when a request exceeds the configured timeout. */
48
- export declare class HonuaTimeoutError extends Error {
66
+ export declare class HonuaTimeoutError extends HonuaSdkError {
49
67
  readonly timeoutMs: number;
50
- constructor(timeoutMs: number);
68
+ constructor(timeoutMs: number, options?: HonuaErrorOptions);
51
69
  }
52
70
  /** Thrown when a network-level failure occurs (DNS, connection refused, etc.). */
53
- export declare class HonuaNetworkError extends Error {
71
+ export declare class HonuaNetworkError extends HonuaSdkError {
54
72
  readonly cause: unknown;
55
- constructor(message: string, cause: unknown);
73
+ constructor(message: string, cause: unknown, metadata?: HonuaErrorMetadata);
56
74
  }
57
75
  /** Thrown when a request is aborted via a caller-provided AbortSignal. */
58
- export declare class HonuaAbortError extends Error {
59
- constructor(message?: string);
76
+ export declare class HonuaAbortError extends HonuaSdkError {
77
+ constructor(message?: string, options?: HonuaErrorOptions);
60
78
  }
61
79
  /** Thrown when a gRPC-Web request fails, wrapping the underlying ConnectError. */
62
- export declare class HonuaGrpcError extends Error {
80
+ export declare class HonuaGrpcError extends HonuaSdkError {
63
81
  readonly code: number;
64
82
  readonly details: unknown;
65
- constructor(code: number, message: string, details?: unknown);
83
+ constructor(code: number, message: string, details?: unknown, options?: HonuaErrorOptions);
66
84
  }
67
85
  /**
68
86
  * Thrown when a `Source` is asked to perform an operation that the underlying
@@ -71,11 +89,11 @@ export declare class HonuaGrpcError extends Error {
71
89
  * decide whether to swap protocols, fall back to a degraded strategy, or
72
90
  * surface the limitation to the user.
73
91
  */
74
- export declare class HonuaCapabilityNotSupportedError extends Error {
92
+ export declare class HonuaCapabilityNotSupportedError extends HonuaSdkError {
75
93
  readonly capability: string;
76
94
  readonly protocol: string;
77
95
  readonly sourceId: string | undefined;
78
- constructor(capability: string, protocol: string, sourceId?: string);
96
+ constructor(capability: string, protocol: string, sourceId?: string, options?: HonuaErrorOptions);
79
97
  }
80
98
  /**
81
99
  * Cause codes for {@link HonuaAuthError}. They classify *why* an auth flow
@@ -102,12 +120,10 @@ export type HonuaAuthErrorCode = "interaction_required" | "refresh_failed" | "in
102
120
  *
103
121
  * @see [`docs/errors.md`](../../docs/errors.md)
104
122
  */
105
- export declare class HonuaAuthError extends Error {
123
+ export declare class HonuaAuthError extends HonuaSdkError {
106
124
  readonly code: HonuaAuthErrorCode;
107
125
  readonly cause: unknown;
108
- constructor(code: HonuaAuthErrorCode, message: string, options?: {
109
- cause?: unknown;
110
- });
126
+ constructor(code: HonuaAuthErrorCode, message: string, options?: HonuaErrorOptions);
111
127
  }
112
128
  /**
113
129
  * Thrown when an `ExplorationContext` operation is invalid — for example,
@@ -115,9 +131,9 @@ export declare class HonuaAuthError extends Error {
115
131
  * an incompatible snapshot, or binding a view that requests a slice that is
116
132
  * not exposed by the current dataset.
117
133
  */
118
- export declare class HonuaExplorationContextError extends Error {
134
+ export declare class HonuaExplorationContextError extends HonuaSdkError {
119
135
  readonly code: string;
120
- constructor(code: string, message: string);
136
+ constructor(code: string, message: string, options?: HonuaErrorOptions);
121
137
  }
122
138
  /**
123
139
  * Thrown when a WFS server replies with an `ows:ExceptionReport`. Carries the
@@ -127,13 +143,13 @@ export declare class HonuaExplorationContextError extends Error {
127
143
  * `src/core/wfs-capabilities.ts`; raw access lives behind the `protocol("wfs")`
128
144
  * escape hatch.
129
145
  */
130
- export declare class HonuaWfsExceptionError extends Error {
146
+ export declare class HonuaWfsExceptionError extends HonuaSdkError {
131
147
  readonly exceptionCode: string;
132
148
  readonly locator: string | undefined;
133
- constructor(exceptionCode: string, message: string, locator?: string);
149
+ constructor(exceptionCode: string, message: string, locator?: string, options?: HonuaErrorOptions);
134
150
  }
135
- /** All Honua SDK error types that can be discriminated with `instanceof`. */
136
- export type HonuaError = HonuaHttpError | HonuaTimeoutError | HonuaNetworkError | HonuaAbortError | HonuaGrpcError | HonuaAuthError | HonuaCapabilityNotSupportedError | HonuaExplorationContextError | HonuaWfsExceptionError | HonuaJobFailedError | HonuaWmsCapabilitiesParseError | HonuaWmtsCapabilitiesParseError;
151
+ /** Any public SDK error participating in the tagged envelope. */
152
+ export type HonuaError = HonuaSdkError;
137
153
  /** Type guard that narrows any value to one of the Honua SDK error types. */
138
154
  export declare function isHonuaError(error: unknown): error is HonuaError;
139
155
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,+BAA+B,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,IAAI,EAAE,OAAO,CAAC;gBAEX,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;CAMtE;AAED,4DAA4D;AAC5D,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAgB,SAAS,EAAE,MAAM,CAAC;gBAEf,SAAS,EAAE,MAAM;CAKrC;AAED,kFAAkF;AAClF,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAyB,KAAK,EAAE,OAAO,CAAC;gBAErB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAKnD;AAED,0EAA0E;AAC1E,qBAAa,eAAgB,SAAQ,KAAK;gBACrB,OAAO,SAAwB;CAInD;AAED,kFAAkF;AAClF,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,OAAO,EAAE,OAAO,CAAC;gBAEd,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;CAMpE;AAED;;;;;;GAMG;AACH,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,SAAgB,UAAU,EAAE,MAAM,CAAC;IACnC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;gBAE1B,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;CAW3E;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,eAAe,CAAC;AAE7F;;;;;;;;GAQG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,SAAgB,IAAI,EAAE,kBAAkB,CAAC;IACzC,SAAyB,KAAK,EAAE,OAAO,CAAC;gBAErB,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAO;CAMhG;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAKjD;AAED;;;;;;;GAOG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEzB,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAU5E;AAED,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAClB,cAAc,GACd,iBAAiB,GACjB,iBAAiB,GACjB,eAAe,GACf,cAAc,GACd,cAAc,GACd,gCAAgC,GAChC,4BAA4B,GAC5B,sBAAsB,GACtB,mBAAmB,GACnB,8BAA8B,GAC9B,+BAA+B,CAAC;AAEpC,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,UAAU,CAehE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"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"}
package/core/errors.js CHANGED
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Honua SDK error hierarchy. Every error thrown by `@honua/sdk-js` is an
3
- * instance of one of the classes in this file plus the runtime-type guard
4
- * `isHonuaError(error)`. See [`docs/errors.md`](../../docs/errors.md) for the
5
- * full reference table including recovery hints and the retry-policy mapping.
2
+ * Tagged hierarchy for the migrated Honua SDK error domains. The common
3
+ * `isHonuaError(error)` guard also recognizes migrated query, map, runtime,
4
+ * realtime, offline, and plugin subclasses. See
5
+ * [`docs/errors.md`](../../docs/errors.md) for exact coverage, residual domains,
6
+ * recovery hints, and the retryability classification.
6
7
  *
7
8
  * @example
8
9
  * ```ts
@@ -29,9 +30,39 @@
29
30
  *
30
31
  * @packageDocumentation
31
32
  */
32
- import { HonuaJobFailedError } from "./ogc-processes.js";
33
- import { HonuaWmsCapabilitiesParseError } from "./wms-capabilities.js";
34
- import { HonuaWmtsCapabilitiesParseError } from "./wmts-capabilities.js";
33
+ import { HonuaSdkError, isHonuaSdkError, mergeHonuaErrorContext, } from "./error-envelope.js";
34
+ /** Discovery input, metadata, or cache identity is invalid or inconsistent. */
35
+ export class HonuaDiscoveryError extends HonuaSdkError {
36
+ code;
37
+ detail;
38
+ constructor(code, message, detail, options = {}) {
39
+ super(`discovery.${code}`, message, {
40
+ ...options,
41
+ context: mergeHonuaErrorContext(detail, options.context),
42
+ });
43
+ this.code = code;
44
+ this.detail = detail;
45
+ this.name = "HonuaDiscoveryError";
46
+ }
47
+ }
48
+ /**
49
+ * Thrown when a geometry cannot be classified without guessing. The structured
50
+ * `code` and `detail` fields let callers distinguish an unsupported shape from
51
+ * a recognized-but-malformed Esri geometry without parsing the message.
52
+ */
53
+ export class HonuaGeometryError extends HonuaSdkError {
54
+ code;
55
+ detail;
56
+ constructor(code, message, detail, options = {}) {
57
+ super(`core.geometry.${code}`, message, {
58
+ ...options,
59
+ context: mergeHonuaErrorContext(detail, options.context),
60
+ });
61
+ this.code = code;
62
+ this.detail = detail;
63
+ this.name = "HonuaGeometryError";
64
+ }
65
+ }
35
66
  /**
36
67
  * Thrown when the server returns a non-2xx HTTP status. Branch on
37
68
  * `.statusCode` to decide recovery: refresh credentials on 401/403, respect
@@ -39,49 +70,58 @@ import { HonuaWmtsCapabilitiesParseError } from "./wmts-capabilities.js";
39
70
  *
40
71
  * @see [`docs/errors.md`](../../docs/errors.md)
41
72
  */
42
- export class HonuaHttpError extends Error {
73
+ export class HonuaHttpError extends HonuaSdkError {
43
74
  statusCode;
44
75
  body;
45
- constructor(statusCode, message, body) {
46
- super(`HTTP ${statusCode}: ${message}`);
76
+ constructor(statusCode, message, body, options = {}) {
77
+ super(HTTP_RETRYABLE_STATUSES.has(statusCode) ? "core.http.transient" : "core.http.rejected", `HTTP ${statusCode}: ${message}`, {
78
+ ...options,
79
+ context: mergeHonuaErrorContext(options.context, { statusCode }),
80
+ });
47
81
  this.name = "HonuaHttpError";
48
82
  this.statusCode = statusCode;
49
83
  this.body = body;
50
84
  }
51
85
  }
52
86
  /** Thrown when a request exceeds the configured timeout. */
53
- export class HonuaTimeoutError extends Error {
87
+ export class HonuaTimeoutError extends HonuaSdkError {
54
88
  timeoutMs;
55
- constructor(timeoutMs) {
56
- super(`Request timed out after ${timeoutMs}ms`);
89
+ constructor(timeoutMs, options = {}) {
90
+ super("core.timeout", `Request timed out after ${timeoutMs}ms`, {
91
+ ...options,
92
+ context: mergeHonuaErrorContext(options.context, { timeoutMs }),
93
+ });
57
94
  this.name = "HonuaTimeoutError";
58
95
  this.timeoutMs = timeoutMs;
59
96
  }
60
97
  }
61
98
  /** Thrown when a network-level failure occurs (DNS, connection refused, etc.). */
62
- export class HonuaNetworkError extends Error {
99
+ export class HonuaNetworkError extends HonuaSdkError {
63
100
  cause;
64
- constructor(message, cause) {
65
- super(message);
101
+ constructor(message, cause, metadata = {}) {
102
+ super("core.network", message, { ...metadata, cause });
66
103
  this.name = "HonuaNetworkError";
67
104
  this.cause = cause;
68
105
  }
69
106
  }
70
107
  /** Thrown when a request is aborted via a caller-provided AbortSignal. */
71
- export class HonuaAbortError extends Error {
72
- constructor(message = "Request was aborted") {
73
- super(message);
108
+ export class HonuaAbortError extends HonuaSdkError {
109
+ constructor(message = "Request was aborted", options = {}) {
110
+ super("core.cancelled", message, options);
74
111
  this.name = "HonuaAbortError";
75
112
  }
76
113
  }
77
114
  /** Thrown when a gRPC-Web request fails, wrapping the underlying ConnectError. */
78
- export class HonuaGrpcError extends Error {
115
+ export class HonuaGrpcError extends HonuaSdkError {
79
116
  code;
80
117
  details;
81
- constructor(code, message, details) {
82
- super(message);
83
- this.name = "HonuaGrpcError";
118
+ constructor(code, message, details, options = {}) {
119
+ super(GRPC_RETRYABLE_CODES.has(code) ? "core.grpc.transient" : "core.grpc.rejected", message, {
120
+ ...options,
121
+ context: mergeHonuaErrorContext(options.context, { grpcCode: code }),
122
+ });
84
123
  this.code = code;
124
+ this.name = "HonuaGrpcError";
85
125
  this.details = details;
86
126
  }
87
127
  }
@@ -92,14 +132,18 @@ export class HonuaGrpcError extends Error {
92
132
  * decide whether to swap protocols, fall back to a degraded strategy, or
93
133
  * surface the limitation to the user.
94
134
  */
95
- export class HonuaCapabilityNotSupportedError extends Error {
135
+ export class HonuaCapabilityNotSupportedError extends HonuaSdkError {
96
136
  capability;
97
137
  protocol;
98
138
  sourceId;
99
- constructor(capability, protocol, sourceId) {
100
- super(sourceId
139
+ constructor(capability, protocol, sourceId, options = {}) {
140
+ const message = sourceId
101
141
  ? `Capability "${capability}" is not supported by protocol "${protocol}" on source "${sourceId}"`
102
- : `Capability "${capability}" is not supported by protocol "${protocol}"`);
142
+ : `Capability "${capability}" is not supported by protocol "${protocol}"`;
143
+ super("core.capability-not-supported", message, {
144
+ ...options,
145
+ context: mergeHonuaErrorContext(options.context, { capability, protocol, sourceId }),
146
+ });
103
147
  this.name = "HonuaCapabilityNotSupportedError";
104
148
  this.capability = capability;
105
149
  this.protocol = protocol;
@@ -115,13 +159,13 @@ export class HonuaCapabilityNotSupportedError extends Error {
115
159
  *
116
160
  * @see [`docs/errors.md`](../../docs/errors.md)
117
161
  */
118
- export class HonuaAuthError extends Error {
162
+ export class HonuaAuthError extends HonuaSdkError {
119
163
  code;
120
164
  cause;
121
165
  constructor(code, message, options = {}) {
122
- super(message);
123
- this.name = "HonuaAuthError";
166
+ super(AUTH_ERROR_CODES[code], message, options);
124
167
  this.code = code;
168
+ this.name = "HonuaAuthError";
125
169
  this.cause = options.cause;
126
170
  }
127
171
  }
@@ -131,12 +175,15 @@ export class HonuaAuthError extends Error {
131
175
  * an incompatible snapshot, or binding a view that requests a slice that is
132
176
  * not exposed by the current dataset.
133
177
  */
134
- export class HonuaExplorationContextError extends Error {
178
+ export class HonuaExplorationContextError extends HonuaSdkError {
135
179
  code;
136
- constructor(code, message) {
137
- super(message);
138
- this.name = "HonuaExplorationContextError";
180
+ constructor(code, message, options = {}) {
181
+ super("core.exploration-context", message, {
182
+ ...options,
183
+ context: mergeHonuaErrorContext(options.context, { reason: code }),
184
+ });
139
185
  this.code = code;
186
+ this.name = "HonuaExplorationContextError";
140
187
  }
141
188
  }
142
189
  /**
@@ -147,13 +194,17 @@ export class HonuaExplorationContextError extends Error {
147
194
  * `src/core/wfs-capabilities.ts`; raw access lives behind the `protocol("wfs")`
148
195
  * escape hatch.
149
196
  */
150
- export class HonuaWfsExceptionError extends Error {
197
+ export class HonuaWfsExceptionError extends HonuaSdkError {
151
198
  exceptionCode;
152
199
  locator;
153
- constructor(exceptionCode, message, locator) {
154
- super(locator
200
+ constructor(exceptionCode, message, locator, options = {}) {
201
+ const formattedMessage = locator
155
202
  ? `WFS ExceptionReport ${exceptionCode} (${locator}): ${message}`
156
- : `WFS ExceptionReport ${exceptionCode}: ${message}`);
203
+ : `WFS ExceptionReport ${exceptionCode}: ${message}`;
204
+ super("core.wfs-exception", formattedMessage, {
205
+ ...options,
206
+ context: mergeHonuaErrorContext(options.context, { exceptionCode, locator }),
207
+ });
157
208
  this.name = "HonuaWfsExceptionError";
158
209
  this.exceptionCode = exceptionCode;
159
210
  this.locator = locator;
@@ -161,16 +212,12 @@ export class HonuaWfsExceptionError extends Error {
161
212
  }
162
213
  /** Type guard that narrows any value to one of the Honua SDK error types. */
163
214
  export function isHonuaError(error) {
164
- return (error instanceof HonuaHttpError ||
165
- error instanceof HonuaTimeoutError ||
166
- error instanceof HonuaNetworkError ||
167
- error instanceof HonuaAbortError ||
168
- error instanceof HonuaGrpcError ||
169
- error instanceof HonuaAuthError ||
170
- error instanceof HonuaCapabilityNotSupportedError ||
171
- error instanceof HonuaExplorationContextError ||
172
- error instanceof HonuaWfsExceptionError ||
173
- error instanceof HonuaJobFailedError ||
174
- error instanceof HonuaWmsCapabilitiesParseError ||
175
- error instanceof HonuaWmtsCapabilitiesParseError);
215
+ return isHonuaSdkError(error);
176
216
  }
217
+ const HTTP_RETRYABLE_STATUSES = new Set([408, 429, 500, 502, 503, 504]);
218
+ const GRPC_RETRYABLE_CODES = new Set([4, 8, 10, 14]);
219
+ const AUTH_ERROR_CODES = {
220
+ interaction_required: "core.auth.interaction-required",
221
+ refresh_failed: "core.auth.refresh-failed",
222
+ invalid_grant: "core.auth.invalid-grant",
223
+ };
@@ -66,8 +66,23 @@ export declare function parquetSourceExpr(urls: readonly string[]): string;
66
66
  * 2.11, Mar 2025) — DuckDB reads it as a `GEOMETRY`, used directly.
67
67
  * - `geojson`: GeoParquet `GeoJSON` encoding (string) — wrap with
68
68
  * `ST_GeomFromGeoJSON(...)`.
69
- */
70
- export type GeometryEncoding = "wkb" | "native" | "geojson";
69
+ * - `geoarrow-point` / `geoarrow-linestring` / `geoarrow-polygon` /
70
+ * `geoarrow-multipoint` / `geoarrow-multilinestring` /
71
+ * `geoarrow-multipolygon`: GeoParquet **1.1** native single-geometry
72
+ * encodings (`geo.columns[].encoding`). DuckDB exposes these as nested
73
+ * `STRUCT`/`LIST` columns, not a `GEOMETRY` value — there is no DuckDB
74
+ * spatial expression for them. Geometry projection is decoded in JS by
75
+ * `@honua/sdk-js/geoparquet`'s native decoder (`native-geometry.ts`, built
76
+ * on `src/columnar/geoarrow.ts`); a spatial predicate against one of these
77
+ * columns requires a GeoParquet 1.1 bbox-covering column
78
+ * ({@link GeometryColumnPlan.bboxColumn}) and otherwise fails closed — see
79
+ * {@link geometryExpr}.
80
+ */
81
+ export type GeometryEncoding = "wkb" | "native" | "geojson" | "geoarrow-point" | "geoarrow-linestring" | "geoarrow-polygon" | "geoarrow-multipoint" | "geoarrow-multilinestring" | "geoarrow-multipolygon";
82
+ /** The `geoarrow-*` subset of {@link GeometryEncoding} (GeoParquet 1.1 native). */
83
+ export type GeoArrowNativeGeometryEncoding = Extract<GeometryEncoding, `geoarrow-${string}`>;
84
+ /** True for a GeoParquet 1.1 native single-geometry encoding (see {@link GeometryEncoding}). */
85
+ export declare function isGeoArrowNativeEncoding(encoding: GeometryEncoding): encoding is GeoArrowNativeGeometryEncoding;
71
86
  export interface GeometryColumnPlan {
72
87
  /** Geometry column name in the parquet file. */
73
88
  readonly column: string;
@@ -79,10 +94,23 @@ export interface GeometryColumnPlan {
79
94
  * can prune row groups without decoding any geometry.
80
95
  */
81
96
  readonly bboxColumn?: string;
97
+ /**
98
+ * Coordinate dimensions physically stored by a `geoarrow-*` encoding.
99
+ * Required (and only meaningful) when {@link encoding} is one of the
100
+ * `geoarrow-*` values; GeoParquet 1.1 native encodings carry no `M`.
101
+ */
102
+ readonly nativeDimensions?: "xy" | "xyz";
82
103
  }
83
104
  /**
84
105
  * SQL expression that yields a DuckDB `GEOMETRY` from the stored geometry
85
106
  * column, adapting to the physical encoding.
107
+ *
108
+ * @throws for a `geoarrow-*` encoding — GeoParquet 1.1 native columns are
109
+ * nested `STRUCT`/`LIST` values with no DuckDB spatial-predicate
110
+ * expression. Callers must fail closed before constructing SQL rather than
111
+ * let a malformed `ST_Intersects(...)` reach DuckDB; use a bbox-covering
112
+ * column for spatial pushdown and the dedicated native decoder for
113
+ * geometry projection instead.
86
114
  */
87
115
  export declare function geometryExpr(plan: GeometryColumnPlan): string;
88
116
  export interface BBox {
@@ -1 +1 @@
1
- {"version":3,"file":"geoparquet-sql.d.ts","sourceRoot":"","sources":["../../../src/core/geoparquet-sql.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geoparquet-sql.d.ts","sourceRoot":"","sources":["../../../src/core/geoparquet-sql.ts"],"names":[],"mappings":"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"}
@@ -90,9 +90,28 @@ export function parquetSourceExpr(urls) {
90
90
  const arg = list.length === 1 ? list[0] : `[${list.join(", ")}]`;
91
91
  return `read_parquet(${arg}, union_by_name = true, hive_partitioning = true)`;
92
92
  }
93
+ const GEOARROW_NATIVE_ENCODINGS = new Set([
94
+ "geoarrow-point",
95
+ "geoarrow-linestring",
96
+ "geoarrow-polygon",
97
+ "geoarrow-multipoint",
98
+ "geoarrow-multilinestring",
99
+ "geoarrow-multipolygon",
100
+ ]);
101
+ /** True for a GeoParquet 1.1 native single-geometry encoding (see {@link GeometryEncoding}). */
102
+ export function isGeoArrowNativeEncoding(encoding) {
103
+ return GEOARROW_NATIVE_ENCODINGS.has(encoding);
104
+ }
93
105
  /**
94
106
  * SQL expression that yields a DuckDB `GEOMETRY` from the stored geometry
95
107
  * column, adapting to the physical encoding.
108
+ *
109
+ * @throws for a `geoarrow-*` encoding — GeoParquet 1.1 native columns are
110
+ * nested `STRUCT`/`LIST` values with no DuckDB spatial-predicate
111
+ * expression. Callers must fail closed before constructing SQL rather than
112
+ * let a malformed `ST_Intersects(...)` reach DuckDB; use a bbox-covering
113
+ * column for spatial pushdown and the dedicated native decoder for
114
+ * geometry projection instead.
96
115
  */
97
116
  export function geometryExpr(plan) {
98
117
  const col = quoteIdentifier(plan.column);
@@ -103,6 +122,13 @@ export function geometryExpr(plan) {
103
122
  return `ST_GeomFromGeoJSON(${col})`;
104
123
  case "native":
105
124
  return col;
125
+ case "geoarrow-point":
126
+ case "geoarrow-linestring":
127
+ case "geoarrow-polygon":
128
+ case "geoarrow-multipoint":
129
+ case "geoarrow-multilinestring":
130
+ case "geoarrow-multipolygon":
131
+ throw new Error(`geoparquet: column ${JSON.stringify(plan.column)} uses the GeoParquet 1.1 native "${plan.encoding.slice("geoarrow-".length)}" encoding, which DuckDB stores as a nested struct/list value with no spatial-predicate expression. Supply a bbox-covering column for spatialFilter pushdown; geometry projection is decoded separately from the raw column.`);
106
132
  }
107
133
  }
108
134
  /**
@@ -209,7 +235,15 @@ function projection(query, options) {
209
235
  const geom = options.geometry;
210
236
  const geomAlias = quoteIdentifier(options.geometryAlias ?? DEFAULT_GEOMETRY_ALIAS);
211
237
  const wantGeometry = query.returnGeometry !== false && geom !== undefined;
212
- const geomSelect = wantGeometry ? `ST_AsGeoJSON(${geometryExpr(geom)}) AS ${geomAlias}` : undefined;
238
+ // `geoarrow-*` columns are raw nested struct/list values, not a DuckDB
239
+ // `GEOMETRY` — project them as-is and let the caller's native decoder
240
+ // (built on src/columnar/geoarrow.ts) turn the materialized rows into
241
+ // GeoJSON. Every other encoding keeps projecting `ST_AsGeoJSON(...)` text.
242
+ const geomSelect = wantGeometry
243
+ ? isGeoArrowNativeEncoding(geom.encoding)
244
+ ? `${quoteIdentifier(geom.column)} AS ${geomAlias}`
245
+ : `ST_AsGeoJSON(${geometryExpr(geom)}) AS ${geomAlias}`
246
+ : undefined;
213
247
  const outFields = query.outFields;
214
248
  if (outFields && outFields.length > 0) {
215
249
  const cols = outFields.filter((f) => !geom || f !== geom.column).map((f) => quoteIdentifier(f));
@@ -328,6 +362,7 @@ export function rowEstimateSql(sources) {
328
362
  * rows for Parquet-native geometry files, which carry no `geo` metadata.
329
363
  */
330
364
  export function geoMetadataSql(sources) {
331
- const first = stringLiteral(sources[0] ?? "");
332
- return `SELECT value FROM parquet_kv_metadata(${first}) WHERE decode(key) = 'geo'`;
365
+ const list = sources.map(stringLiteral);
366
+ const arg = list.length === 1 ? list[0] : `[${list.join(", ")}]`;
367
+ return `SELECT files.file_name, geo.value FROM parquet_file_metadata(${arg}) AS files LEFT JOIN parquet_kv_metadata(${arg}) AS geo ON geo.file_name = files.file_name AND decode(geo.key) = 'geo' ORDER BY files.file_name`;
333
368
  }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Encode an OData key predicate without hiding its structural grammar.
3
+ *
4
+ * Quotes plus the `,` / `=` delimiters outside quoted literals remain
5
+ * visible to direct and JSON-batch OData parsers. Unsafe value characters
6
+ * are percent-encoded by Unicode code point so non-BMP string keys remain
7
+ * valid path data rather than splitting or truncating the target URL.
8
+ *
9
+ * @internal
10
+ */
11
+ export declare function encodeOdataKeyPredicatePath(key: string | number): string;
12
+ //# sourceMappingURL=odata-key-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odata-key-path.d.ts","sourceRoot":"","sources":["../../../src/core/odata-key-path.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAiBxE"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Encode an OData key predicate without hiding its structural grammar.
3
+ *
4
+ * Quotes plus the `,` / `=` delimiters outside quoted literals remain
5
+ * visible to direct and JSON-batch OData parsers. Unsafe value characters
6
+ * are percent-encoded by Unicode code point so non-BMP string keys remain
7
+ * valid path data rather than splitting or truncating the target URL.
8
+ *
9
+ * @internal
10
+ */
11
+ export function encodeOdataKeyPredicatePath(key) {
12
+ const raw = String(key);
13
+ let output = "";
14
+ let inQuote = false;
15
+ for (const character of raw) {
16
+ if (character === "'") {
17
+ inQuote = !inQuote;
18
+ output += "'";
19
+ continue;
20
+ }
21
+ if (!inQuote && (character === "," || character === "=")) {
22
+ output += character;
23
+ continue;
24
+ }
25
+ output += /[A-Za-z0-9\-._~]/.test(character) ? character : encodeURIComponent(character);
26
+ }
27
+ return output;
28
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Metadata-driven OData write encoding primitives.
3
+ *
4
+ * This module deliberately has no transport dependencies. Callers supply the
5
+ * already-cached CSDL projection and decide how to attach the encoded body,
6
+ * content type, and key to an HTTP request.
7
+ */
8
+ import { type HonuaOdataMetadata } from "./odata.js";
9
+ /** Stable failure categories for local, pre-transport encoding errors. */
10
+ export type HonuaOdataEdmEncodingErrorCode = "cyclic-value" | "invalid-metadata" | "invalid-options" | "invalid-value" | "max-depth-exceeded" | "missing-key" | "resource-limit-exceeded" | "unknown-entity-set" | "unsupported-type";
11
+ /**
12
+ * A redacted local encoding failure.
13
+ *
14
+ * Messages contain a fixed explanation and a bounded, escaped property path.
15
+ * The rejected value and request body are intentionally never retained.
16
+ */
17
+ export declare class HonuaOdataEdmEncodingError extends TypeError {
18
+ readonly code: HonuaOdataEdmEncodingErrorCode;
19
+ readonly path: string;
20
+ constructor(code: HonuaOdataEdmEncodingErrorCode, path: string);
21
+ }
22
+ /**
23
+ * Controls the hard recursion bound for complex, collection, and untyped
24
+ * values. Fixed breadth and aggregate-node budgets also protect every call.
25
+ */
26
+ export interface HonuaOdataEdmEncodingOptions {
27
+ /** Maximum nested container depth. Defaults to and cannot exceed 32. */
28
+ readonly maxDepth?: number;
29
+ }
30
+ /** Controls metadata-typed entity-key encoding. */
31
+ export interface HonuaOdataEntityKeyEncodingOptions extends HonuaOdataEdmEncodingOptions {
32
+ /**
33
+ * Ordered metadata key fields to place in this URL predicate. Omit this for
34
+ * a direct entity set. Navigation paths may provide the child-key subset
35
+ * because the parent key is already carried by the path.
36
+ */
37
+ readonly keyFields?: readonly string[];
38
+ }
39
+ /** Body projection consumed by a later HTTP/edit integration layer. */
40
+ export interface HonuaOdataEncodedWriteBody {
41
+ /** JSON-compatible body with metadata-declared values encoded losslessly. */
42
+ readonly body: Record<string, unknown>;
43
+ /** Whether the body requires `IEEE754Compatible=true` on its media type. */
44
+ readonly requiresIeee754Compatible: boolean;
45
+ }
46
+ /** Key projection consumed by direct and batch URL builders. */
47
+ export interface HonuaOdataEncodedEntityKey {
48
+ /** OData key predicate content, without surrounding parentheses. */
49
+ readonly literal: string;
50
+ /** The same predicate encoded as one RFC 3986-safe URL path segment. */
51
+ readonly pathSegment: string;
52
+ }
53
+ /**
54
+ * Encode one entity body using the entity and complex property declarations in
55
+ * an existing OData metadata snapshot.
56
+ */
57
+ export declare function encodeOdataWriteBody(metadata: HonuaOdataMetadata, entitySet: string, body: Readonly<Record<string, unknown>>, options?: HonuaOdataEdmEncodingOptions): HonuaOdataEncodedWriteBody;
58
+ /**
59
+ * Encode a single or composite primary key in metadata declaration order.
60
+ *
61
+ * A single key accepts either its scalar value or an object carrying the key
62
+ * property. Composite keys require an object so component names cannot be
63
+ * confused or reordered by the caller.
64
+ */
65
+ export declare function encodeOdataEntityKey(metadata: HonuaOdataMetadata, entitySet: string, key: unknown, options?: HonuaOdataEntityKeyEncodingOptions): HonuaOdataEncodedEntityKey;
66
+ //# sourceMappingURL=odata-write-codec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"odata-write-codec.d.ts","sourceRoot":"","sources":["../../../src/core/odata-write-codec.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAGL,KAAK,kBAAkB,EAGxB,MAAM,YAAY,CAAC;AAwCpB,0EAA0E;AAC1E,MAAM,MAAM,8BAA8B,GACtC,cAAc,GACd,kBAAkB,GAClB,iBAAiB,GACjB,eAAe,GACf,oBAAoB,GACpB,aAAa,GACb,yBAAyB,GACzB,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,SAAS;IACvD,SAAgB,IAAI,EAAE,8BAA8B,CAAC;IACrD,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEV,IAAI,EAAE,8BAA8B,EAAE,IAAI,EAAE,MAAM;CAMtE;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,mDAAmD;AACnD,MAAM,WAAW,kCAAmC,SAAQ,4BAA4B;IACtF;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACxC;AAED,uEAAuE;AACvE,MAAM,WAAW,0BAA0B;IACzC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,4EAA4E;IAC5E,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;CAC7C;AAED,gEAAgE;AAChE,MAAM,WAAW,0BAA0B;IACzC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAkBD;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACvC,OAAO,GAAE,4BAAiC,GACzC,0BAA0B,CAS5B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,kBAAkB,EAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,kCAAuC,GAC/C,0BAA0B,CAyC5B"}