@honua/react 0.1.2-beta.0 → 0.1.7-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.
- package/contract/discovery.d.ts +34 -0
- package/contract/discovery.d.ts.map +1 -1
- package/contract/index.d.ts +7 -5
- package/contract/index.d.ts.map +1 -1
- package/contract/index.js +3 -2
- package/contract/pmtiles.d.ts +10 -1
- package/contract/pmtiles.d.ts.map +1 -1
- package/contract/pmtiles.js +10 -2
- package/contract/protocol-module.d.ts +84 -9
- package/contract/protocol-module.d.ts.map +1 -1
- package/contract/query-filter-fes.d.ts +18 -0
- package/contract/query-filter-fes.d.ts.map +1 -0
- package/contract/query-filter-fes.js +122 -0
- package/contract/query-filter.d.ts +300 -0
- package/contract/query-filter.d.ts.map +1 -0
- package/contract/query-filter.js +883 -0
- package/contract/schema.d.ts +12 -0
- package/contract/schema.d.ts.map +1 -1
- package/contract/schema.js +34 -0
- package/contract/source-capability-support.d.ts.map +1 -1
- package/contract/source-capability-support.js +15 -3
- package/contract/source.d.ts +45 -25
- package/contract/source.d.ts.map +1 -1
- package/contract/source.js +719 -479
- package/contract/types.d.ts +88 -19
- package/contract/types.d.ts.map +1 -1
- package/contract/types.js +4 -0
- package/contract/widget-source.d.ts.map +1 -1
- package/core/client.d.ts +51 -21
- package/core/client.d.ts.map +1 -1
- package/core/client.js +234 -54
- package/core/error-classifications.d.ts +23 -0
- package/core/error-classifications.d.ts.map +1 -1
- package/core/error-classifications.js +23 -0
- package/core/error-code-registry.d.ts +24 -1
- package/core/error-code-registry.d.ts.map +1 -1
- package/core/error-code-registry.js +23 -0
- package/core/error-envelope.js +2 -0
- package/core/errors.d.ts +2 -2
- package/core/errors.d.ts.map +1 -1
- package/core/errors.js +1 -1
- package/core/geoparquet-sql.d.ts +69 -5
- package/core/geoparquet-sql.d.ts.map +1 -1
- package/core/geoparquet-sql.js +327 -10
- package/core/odata-write-codec.d.ts.map +1 -1
- package/core/odata-write-codec.js +0 -1
- package/core/odata.d.ts +6 -0
- package/core/odata.d.ts.map +1 -1
- package/core/odata.js +6 -1
- package/core/ogc-processes.d.ts +182 -25
- package/core/ogc-processes.d.ts.map +1 -1
- package/core/ogc-processes.js +602 -30
- package/core/process-runner.d.ts +8 -1
- package/core/process-runner.d.ts.map +1 -1
- package/core/process-runner.js +1 -0
- package/core/protocol-transport.d.ts +2 -0
- package/core/protocol-transport.d.ts.map +1 -1
- package/core/stac.d.ts +32 -0
- package/core/stac.d.ts.map +1 -1
- package/core/stac.js +158 -23
- package/core/surfaces.d.ts.map +1 -1
- package/core/surfaces.js +273 -68
- package/core/types.d.ts +138 -11
- package/core/types.d.ts.map +1 -1
- package/core/wfs-axis-order.d.ts +18 -0
- package/core/wfs-axis-order.d.ts.map +1 -0
- package/core/wfs-axis-order.js +108 -0
- package/core/wfs-capabilities.d.ts +65 -24
- package/core/wfs-capabilities.d.ts.map +1 -1
- package/core/wfs-capabilities.js +237 -27
- package/core/wfs-filter.d.ts +26 -3
- package/core/wfs-filter.d.ts.map +1 -1
- package/core/wfs-filter.js +48 -53
- package/core/wfs-protocol-error.d.ts +12 -0
- package/core/wfs-protocol-error.d.ts.map +1 -0
- package/core/wfs-protocol-error.js +13 -0
- package/core/wfs.d.ts +53 -1
- package/core/wfs.d.ts.map +1 -1
- package/core/wfs.js +251 -29
- package/core/wms-feature-info.d.ts +92 -0
- package/core/wms-feature-info.d.ts.map +1 -0
- package/core/wms-feature-info.js +285 -0
- package/core/wms.d.ts +9 -0
- package/core/wms.d.ts.map +1 -1
- package/core/wms.js +17 -5
- package/esri-compat/event-bus.d.ts +20 -0
- package/esri-compat/event-bus.d.ts.map +1 -1
- package/esri-compat/feature-filter.d.ts +46 -1
- package/esri-compat/feature-filter.d.ts.map +1 -1
- package/esri-compat/feature-filter.js +49 -0
- package/esri-compat/geojson-layer.d.ts +4 -2
- package/esri-compat/geojson-layer.d.ts.map +1 -1
- package/esri-compat/geojson-layer.js +4 -2
- package/esri-compat/identity-manager.js +2 -2
- package/esri-compat/imagery-layer.d.ts +2 -1
- package/esri-compat/imagery-layer.d.ts.map +1 -1
- package/esri-compat/imagery-layer.js +2 -1
- package/esri-compat/layer-list.d.ts +8 -1
- package/esri-compat/layer-list.d.ts.map +1 -1
- package/esri-compat/layer-list.js +11 -4
- package/esri-compat/legend.d.ts.map +1 -1
- package/esri-compat/legend.js +1 -1
- package/esri-compat/locator.d.ts +297 -0
- package/esri-compat/locator.d.ts.map +1 -0
- package/esri-compat/locator.js +579 -0
- package/esri-compat/map-image-layer.d.ts.map +1 -1
- package/esri-compat/map-view.d.ts.map +1 -1
- package/esri-compat/map-view.js +1 -1
- package/esri-compat/scene-view.d.ts.map +1 -1
- package/esri-compat/time-slider.d.ts +29 -0
- package/esri-compat/time-slider.d.ts.map +1 -1
- package/esri-compat/time-slider.js +117 -0
- package/esri-compat/wfs-layer.d.ts +2 -1
- package/esri-compat/wfs-layer.d.ts.map +1 -1
- package/esri-compat/wfs-layer.js +2 -1
- package/esri-compat/widget-host.d.ts +42 -6
- package/esri-compat/widget-host.d.ts.map +1 -1
- package/esri-compat/widget-host.js +99 -10
- package/generated-app/projection.d.ts.map +1 -1
- package/generated-app/runtime.d.ts.map +1 -1
- package/interactions/declarative-contract.d.ts +149 -0
- package/interactions/declarative-contract.d.ts.map +1 -0
- package/interactions/declarative-contract.js +293 -0
- package/interactions/declarative.d.ts +198 -0
- package/interactions/declarative.d.ts.map +1 -0
- package/interactions/declarative.js +470 -0
- package/interactions/feature-state.d.ts +7 -0
- package/interactions/feature-state.d.ts.map +1 -1
- package/interactions/feature-state.js +10 -2
- package/map/data-to-map-bridge.d.ts +1 -1
- package/map/data-to-map-bridge.d.ts.map +1 -1
- package/map/data-to-map-bridge.js +1 -2
- package/map/honua-map.d.ts.map +1 -1
- package/map/honua-map.js +1 -1
- package/map/index.d.ts +2 -0
- package/map/index.d.ts.map +1 -1
- package/map/index.js +2 -0
- package/map/maplibre-target.js +1 -1
- package/map/realtime-reconciliation-adapter.d.ts +98 -0
- package/map/realtime-reconciliation-adapter.d.ts.map +1 -0
- package/map/realtime-reconciliation-adapter.js +84 -0
- package/map/temporal-playback.d.ts +25 -0
- package/map/temporal-playback.d.ts.map +1 -1
- package/map/temporal-playback.js +29 -1
- package/package.json +4 -3
- package/query-planner/canonical-filter.d.ts +30 -0
- package/query-planner/canonical-filter.d.ts.map +1 -0
- package/query-planner/canonical-filter.js +30 -0
- package/query-planner/columnar-plan.d.ts +63 -0
- package/query-planner/columnar-plan.d.ts.map +1 -0
- package/query-planner/columnar-plan.js +94 -0
- package/query-planner/diagnostics.d.ts +3 -3
- package/query-planner/diagnostics.d.ts.map +1 -1
- package/query-planner/diagnostics.js +17 -4
- package/query-planner/duckdb.d.ts.map +1 -1
- package/query-planner/duckdb.js +16 -2
- package/query-planner/execution-context.d.ts.map +1 -1
- package/query-planner/execution-context.js +3 -1
- package/query-planner/executor.d.ts.map +1 -1
- package/query-planner/executor.js +7 -1
- package/query-planner/geoservices.d.ts.map +1 -1
- package/query-planner/geoservices.js +24 -5
- package/query-planner/grpc.d.ts.map +1 -1
- package/query-planner/grpc.js +29 -5
- package/query-planner/index.d.ts +20 -5
- package/query-planner/index.d.ts.map +1 -1
- package/query-planner/index.js +16 -3
- package/query-planner/ir.d.ts +6 -1
- package/query-planner/ir.d.ts.map +1 -1
- package/query-planner/ir.js +63 -1
- package/query-planner/odata-protocol-module.d.ts +54 -0
- package/query-planner/odata-protocol-module.d.ts.map +1 -0
- package/query-planner/odata-protocol-module.js +199 -0
- package/query-planner/odata-v1.d.ts +23 -0
- package/query-planner/odata-v1.d.ts.map +1 -0
- package/query-planner/odata-v1.js +202 -0
- package/query-planner/odata.d.ts +0 -3
- package/query-planner/odata.d.ts.map +1 -1
- package/query-planner/odata.js +0 -143
- package/query-planner/ogc-features.d.ts.map +1 -1
- package/query-planner/ogc-features.js +23 -1
- package/query-planner/planner.d.ts +2 -2
- package/query-planner/planner.d.ts.map +1 -1
- package/query-planner/planner.js +146 -27
- package/query-planner/representation.d.ts +59 -0
- package/query-planner/representation.d.ts.map +1 -0
- package/query-planner/representation.js +140 -0
- package/query-planner/types.d.ts +153 -3
- package/query-planner/types.d.ts.map +1 -1
- package/query-planner/wfs-protocol-module.d.ts +57 -0
- package/query-planner/wfs-protocol-module.d.ts.map +1 -0
- package/query-planner/wfs-protocol-module.js +731 -0
- package/query-planner/wfs-v1.d.ts +41 -0
- package/query-planner/wfs-v1.d.ts.map +1 -0
- package/query-planner/wfs-v1.js +366 -0
- package/query-planner/wfs.d.ts +1 -3
- package/query-planner/wfs.d.ts.map +1 -1
- package/query-planner/wfs.js +1 -70
- package/react/honua-map.d.ts +3 -1
- package/react/honua-map.d.ts.map +1 -1
- package/react/honua-map.js +11 -1
- package/react/hooks.d.ts +1 -1
- package/react/hooks.js +1 -1
- package/react/selection.d.ts.map +1 -1
- package/react/selection.js +0 -0
- package/react/use-mounted-source.d.ts +1 -1
- package/react/use-mounted-source.js +1 -1
- package/realtime/checkpoint-store.d.ts +206 -0
- package/realtime/checkpoint-store.d.ts.map +1 -0
- package/realtime/checkpoint-store.js +504 -0
- package/realtime/contract.d.ts +142 -0
- package/realtime/contract.d.ts.map +1 -0
- package/realtime/contract.js +154 -0
- package/realtime/exploration.d.ts +16 -0
- package/realtime/exploration.d.ts.map +1 -0
- package/realtime/exploration.js +32 -0
- package/realtime/honua-server.d.ts +131 -0
- package/realtime/honua-server.d.ts.map +1 -0
- package/realtime/honua-server.js +302 -0
- package/realtime/index.d.ts +39 -0
- package/realtime/index.d.ts.map +1 -0
- package/realtime/index.js +26 -0
- package/realtime/odata-delta.d.ts +114 -0
- package/realtime/odata-delta.d.ts.map +1 -0
- package/realtime/odata-delta.js +483 -0
- package/realtime/projections.d.ts +30 -0
- package/realtime/projections.d.ts.map +1 -0
- package/realtime/projections.js +51 -0
- package/realtime/reconciliation.d.ts +245 -0
- package/realtime/reconciliation.d.ts.map +1 -0
- package/realtime/reconciliation.js +377 -0
- package/realtime/reducer.d.ts +14 -0
- package/realtime/reducer.d.ts.map +1 -0
- package/realtime/reducer.js +351 -0
- package/realtime/resumable-transport.d.ts +111 -0
- package/realtime/resumable-transport.d.ts.map +1 -0
- package/realtime/resumable-transport.js +406 -0
- package/realtime/resumable.d.ts +104 -0
- package/realtime/resumable.d.ts.map +1 -0
- package/realtime/resumable.js +632 -0
- package/realtime/sse.d.ts +23 -0
- package/realtime/sse.d.ts.map +1 -0
- package/realtime/sse.js +153 -0
- package/realtime/store.d.ts +18 -0
- package/realtime/store.d.ts.map +1 -0
- package/realtime/store.js +63 -0
- package/realtime/types.d.ts +190 -0
- package/realtime/types.d.ts.map +1 -0
- package/realtime/types.js +10 -0
- package/realtime/websocket.d.ts +60 -0
- package/realtime/websocket.d.ts.map +1 -0
- package/realtime/websocket.js +157 -0
- package/realtime/wire.d.ts +28 -0
- package/realtime/wire.d.ts.map +1 -0
- package/realtime/wire.js +73 -0
- package/runtime/index.d.ts +6 -2
- package/runtime/index.d.ts.map +1 -1
- package/runtime/index.js +3 -1
- package/runtime/load-package.d.ts +24 -0
- package/runtime/load-package.d.ts.map +1 -1
- package/runtime/load-package.js +45 -1
- package/runtime/maplibre-renderer.d.ts +11 -0
- package/runtime/maplibre-renderer.d.ts.map +1 -1
- package/runtime/maplibre-renderer.js +32 -7
- package/runtime/offline-region-protocol.d.ts +73 -0
- package/runtime/offline-region-protocol.d.ts.map +1 -0
- package/runtime/offline-region-protocol.js +63 -0
- package/runtime/offline-region-style.d.ts +78 -0
- package/runtime/offline-region-style.d.ts.map +1 -0
- package/runtime/offline-region-style.js +147 -0
- package/runtime/pmtiles-protocol.d.ts +7 -8
- package/runtime/pmtiles-protocol.d.ts.map +1 -1
- package/runtime/pmtiles-protocol.js +19 -66
- package/runtime/protocol-registry.d.ts +55 -0
- package/runtime/protocol-registry.d.ts.map +1 -0
- package/runtime/protocol-registry.js +103 -0
- package/runtime/runtime.d.ts +2 -0
- package/runtime/runtime.d.ts.map +1 -1
- package/runtime/runtime.js +6 -1
- package/runtime/style-compose.d.ts.map +1 -1
- package/runtime/style-compose.js +78 -9
- package/studio/index.d.ts +24 -7
- package/studio/index.d.ts.map +1 -1
- package/studio/index.js +21 -7
- package/studio/lifecycle-client.d.ts +164 -0
- package/studio/lifecycle-client.d.ts.map +1 -0
- package/studio/lifecycle-client.js +299 -0
- package/studio/lifecycle-errors.d.ts +91 -0
- package/studio/lifecycle-errors.d.ts.map +1 -0
- package/studio/lifecycle-errors.js +77 -0
- package/studio/lifecycle-types.d.ts +321 -0
- package/studio/lifecycle-types.d.ts.map +1 -0
- package/studio/lifecycle-types.js +22 -0
- package/webmap/convert-label.js +0 -1
- package/webmap/convert-symbol.d.ts.map +1 -1
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* remains the public documentation source of truth; `check:error-codes`
|
|
7
7
|
* verifies the compact table against every descriptor.
|
|
8
8
|
*/
|
|
9
|
-
export type HonuaErrorDomain = "core" | "discovery" | "query" | "map" | "runtime" | "realtime" | "offline" | "plugin" | "agent" | "app";
|
|
9
|
+
export type HonuaErrorDomain = "core" | "discovery" | "query" | "map" | "runtime" | "realtime" | "offline" | "plugin" | "pmtiles" | "agent" | "app";
|
|
10
10
|
export type HonuaErrorCategory = "authentication" | "cancellation" | "capability" | "internal" | "network" | "protocol" | "timeout" | "validation";
|
|
11
11
|
export interface HonuaErrorCodeDescriptor {
|
|
12
12
|
readonly domain: HonuaErrorDomain;
|
|
@@ -26,6 +26,14 @@ export declare const HONUA_ERROR_CODE_REGISTRY: Readonly<{
|
|
|
26
26
|
readonly "core.cancelled": HonuaErrorCodeDescriptor;
|
|
27
27
|
readonly "core.grpc.transient": HonuaErrorCodeDescriptor;
|
|
28
28
|
readonly "core.grpc.rejected": HonuaErrorCodeDescriptor;
|
|
29
|
+
readonly "pmtiles.lifecycle.invalid-request": HonuaErrorCodeDescriptor;
|
|
30
|
+
readonly "pmtiles.lifecycle.invalid-response": HonuaErrorCodeDescriptor;
|
|
31
|
+
readonly "pmtiles.lifecycle.response-too-large": HonuaErrorCodeDescriptor;
|
|
32
|
+
readonly "pmtiles.lifecycle.job-poll-timeout": HonuaErrorCodeDescriptor;
|
|
33
|
+
readonly "pmtiles.lifecycle.job-failed": HonuaErrorCodeDescriptor;
|
|
34
|
+
readonly "pmtiles.lifecycle.job-cancelled": HonuaErrorCodeDescriptor;
|
|
35
|
+
readonly "pmtiles.lifecycle.access-url-expired": HonuaErrorCodeDescriptor;
|
|
36
|
+
readonly "pmtiles.lifecycle.manual-cleanup-unsupported": HonuaErrorCodeDescriptor;
|
|
29
37
|
readonly "core.geometry.unknown-geometry": HonuaErrorCodeDescriptor;
|
|
30
38
|
readonly "core.geometry.malformed-geometry": HonuaErrorCodeDescriptor;
|
|
31
39
|
readonly "core.auth.interaction-required": HonuaErrorCodeDescriptor;
|
|
@@ -37,12 +45,21 @@ export declare const HONUA_ERROR_CODE_REGISTRY: Readonly<{
|
|
|
37
45
|
readonly "core.job-failed": HonuaErrorCodeDescriptor;
|
|
38
46
|
readonly "core.wms-capabilities-parse": HonuaErrorCodeDescriptor;
|
|
39
47
|
readonly "core.wmts-capabilities-parse": HonuaErrorCodeDescriptor;
|
|
48
|
+
readonly "core.coverage.invalid-request": HonuaErrorCodeDescriptor;
|
|
49
|
+
readonly "core.coverage.invalid-response": HonuaErrorCodeDescriptor;
|
|
50
|
+
readonly "core.coverage.response-too-large": HonuaErrorCodeDescriptor;
|
|
51
|
+
readonly "core.coverage.unsupported-format": HonuaErrorCodeDescriptor;
|
|
52
|
+
readonly "core.coverage.service-error": HonuaErrorCodeDescriptor;
|
|
53
|
+
readonly "core.coverage.wcs-exception": HonuaErrorCodeDescriptor;
|
|
40
54
|
readonly "discovery.ambiguous-protocol": HonuaErrorCodeDescriptor;
|
|
41
55
|
readonly "discovery.ambiguous-source": HonuaErrorCodeDescriptor;
|
|
56
|
+
readonly "discovery.invalid-cloud-native-input": HonuaErrorCodeDescriptor;
|
|
57
|
+
readonly "discovery.invalid-cloud-native-manifest": HonuaErrorCodeDescriptor;
|
|
42
58
|
readonly "discovery.invalid-endpoint": HonuaErrorCodeDescriptor;
|
|
43
59
|
readonly "discovery.invalid-cache-identity": HonuaErrorCodeDescriptor;
|
|
44
60
|
readonly "discovery.invalid-discovery-cache": HonuaErrorCodeDescriptor;
|
|
45
61
|
readonly "discovery.invalid-capability": HonuaErrorCodeDescriptor;
|
|
62
|
+
readonly "discovery.cloud-native-operation-unavailable": HonuaErrorCodeDescriptor;
|
|
46
63
|
readonly "discovery.unsupported-protocol": HonuaErrorCodeDescriptor;
|
|
47
64
|
readonly "discovery.protocol-mismatch": HonuaErrorCodeDescriptor;
|
|
48
65
|
readonly "query.planning.invalid-query": HonuaErrorCodeDescriptor;
|
|
@@ -52,6 +69,7 @@ export declare const HONUA_ERROR_CODE_REGISTRY: Readonly<{
|
|
|
52
69
|
readonly "query.planning.fallback-disabled": HonuaErrorCodeDescriptor;
|
|
53
70
|
readonly "query.planning.unsafe-materialization": HonuaErrorCodeDescriptor;
|
|
54
71
|
readonly "query.execution.invalid-plan": HonuaErrorCodeDescriptor;
|
|
72
|
+
readonly "query.execution.wfs-protocol": HonuaErrorCodeDescriptor;
|
|
55
73
|
readonly "query.execution.plan-context-mismatch": HonuaErrorCodeDescriptor;
|
|
56
74
|
readonly "query.execution.unsafe-materialization": HonuaErrorCodeDescriptor;
|
|
57
75
|
readonly "query.execution.invalid-resource-handle": HonuaErrorCodeDescriptor;
|
|
@@ -106,9 +124,12 @@ export declare const HONUA_ERROR_CODE_REGISTRY: Readonly<{
|
|
|
106
124
|
readonly "realtime.checkpoint.invalid": HonuaErrorCodeDescriptor;
|
|
107
125
|
readonly "realtime.sequence.gap": HonuaErrorCodeDescriptor;
|
|
108
126
|
readonly "realtime.protocol.terminal": HonuaErrorCodeDescriptor;
|
|
127
|
+
readonly "realtime.reconciliation.disposed": HonuaErrorCodeDescriptor;
|
|
128
|
+
readonly "realtime.reconciliation.invalid-option": HonuaErrorCodeDescriptor;
|
|
109
129
|
readonly "offline.region.validation": HonuaErrorCodeDescriptor;
|
|
110
130
|
readonly "offline.region.quota": HonuaErrorCodeDescriptor;
|
|
111
131
|
readonly "offline.region.integrity": HonuaErrorCodeDescriptor;
|
|
132
|
+
readonly "offline.region.miss": HonuaErrorCodeDescriptor;
|
|
112
133
|
readonly "offline.cancelled": HonuaErrorCodeDescriptor;
|
|
113
134
|
readonly "offline.transport.failure": HonuaErrorCodeDescriptor;
|
|
114
135
|
readonly "offline.transport.transient": HonuaErrorCodeDescriptor;
|
|
@@ -153,6 +174,8 @@ export declare const HONUA_ERROR_CODE_REGISTRY: Readonly<{
|
|
|
153
174
|
readonly "app.data-load-failed": HonuaErrorCodeDescriptor;
|
|
154
175
|
readonly "app.render-failed": HonuaErrorCodeDescriptor;
|
|
155
176
|
readonly "app.disposed": HonuaErrorCodeDescriptor;
|
|
177
|
+
readonly "app.export-unsafe": HonuaErrorCodeDescriptor;
|
|
178
|
+
readonly "app.export-failed": HonuaErrorCodeDescriptor;
|
|
156
179
|
}>;
|
|
157
180
|
export type HonuaErrorCode = keyof typeof HONUA_ERROR_CODE_REGISTRY;
|
|
158
181
|
//# sourceMappingURL=error-code-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-code-registry.d.ts","sourceRoot":"","sources":["../../../src/core/error-code-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,WAAW,GACX,OAAO,GACP,KAAK,GACL,SAAS,GACT,UAAU,GACV,SAAS,GACT,QAAQ,GACR,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"error-code-registry.d.ts","sourceRoot":"","sources":["../../../src/core/error-code-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,WAAW,GACX,OAAO,GACP,KAAK,GACL,SAAS,GACT,UAAU,GACV,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,kBAAkB,GAC1B,gBAAgB,GAChB,cAAc,GACd,YAAY,GACZ,UAAU,GACV,SAAS,GACT,UAAU,GACV,SAAS,GACT,YAAY,CAAC;AAEjB,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkpBwB,CAAC;AAE/D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,yBAAyB,CAAC"}
|
|
@@ -10,6 +10,14 @@ export const HONUA_ERROR_CODE_REGISTRY = Object.freeze({
|
|
|
10
10
|
"core.cancelled": classification("core", "cancellation", false, "Caller cancelled the operation"),
|
|
11
11
|
"core.grpc.transient": classification("core", "protocol", true, "Retryable gRPC-Web transport failure"),
|
|
12
12
|
"core.grpc.rejected": classification("core", "protocol", false, "Non-retryable gRPC-Web transport failure"),
|
|
13
|
+
"pmtiles.lifecycle.invalid-request": classification("pmtiles", "validation", false, "PMTiles lifecycle request is invalid"),
|
|
14
|
+
"pmtiles.lifecycle.invalid-response": classification("pmtiles", "validation", false, "PMTiles lifecycle response violates the server contract"),
|
|
15
|
+
"pmtiles.lifecycle.response-too-large": classification("pmtiles", "validation", false, "PMTiles lifecycle response exceeds its byte ceiling"),
|
|
16
|
+
"pmtiles.lifecycle.job-poll-timeout": classification("pmtiles", "timeout", true, "PMTiles job did not reach a terminal state within polling bounds"),
|
|
17
|
+
"pmtiles.lifecycle.job-failed": classification("pmtiles", "protocol", false, "PMTiles job reached the failed state"),
|
|
18
|
+
"pmtiles.lifecycle.job-cancelled": classification("pmtiles", "cancellation", false, "PMTiles job reached the cancelled state"),
|
|
19
|
+
"pmtiles.lifecycle.access-url-expired": classification("pmtiles", "validation", false, "Published PMTiles access URL is expired"),
|
|
20
|
+
"pmtiles.lifecycle.manual-cleanup-unsupported": classification("pmtiles", "capability", false, "Managed PMTiles artifact deletion is not exposed"),
|
|
13
21
|
"core.geometry.unknown-geometry": classification("core", "validation", false, "Geometry shape cannot be classified safely"),
|
|
14
22
|
"core.geometry.malformed-geometry": classification("core", "validation", false, "Recognized geometry has invalid coordinates or structure"),
|
|
15
23
|
"core.auth.interaction-required": classification("core", "authentication", false, "Interactive authentication is required"),
|
|
@@ -21,12 +29,21 @@ export const HONUA_ERROR_CODE_REGISTRY = Object.freeze({
|
|
|
21
29
|
"core.job-failed": classification("core", "protocol", false, "Remote job reached a failed terminal state"),
|
|
22
30
|
"core.wms-capabilities-parse": classification("core", "protocol", false, "WMS capabilities document is invalid"),
|
|
23
31
|
"core.wmts-capabilities-parse": classification("core", "protocol", false, "WMTS capabilities document is invalid"),
|
|
32
|
+
"core.coverage.invalid-request": classification("core", "validation", false, "Coverage request is invalid"),
|
|
33
|
+
"core.coverage.invalid-response": classification("core", "protocol", false, "Coverage response is invalid"),
|
|
34
|
+
"core.coverage.response-too-large": classification("core", "validation", false, "Coverage response exceeds its byte limit"),
|
|
35
|
+
"core.coverage.unsupported-format": classification("core", "capability", false, "Coverage format is unsupported"),
|
|
36
|
+
"core.coverage.service-error": classification("core", "protocol", false, "Coverage service rejected the request"),
|
|
37
|
+
"core.coverage.wcs-exception": classification("core", "protocol", false, "WCS exception report"),
|
|
24
38
|
"discovery.ambiguous-protocol": classification("discovery", "validation", false, "Multiple protocols match the endpoint"),
|
|
25
39
|
"discovery.ambiguous-source": classification("discovery", "validation", false, "Multiple sources match the selection"),
|
|
40
|
+
"discovery.invalid-cloud-native-input": classification("discovery", "validation", false, "Cloud-native discovery input is invalid or ambiguous"),
|
|
41
|
+
"discovery.invalid-cloud-native-manifest": classification("discovery", "validation", false, "Cloud-native deployment manifest is invalid"),
|
|
26
42
|
"discovery.invalid-endpoint": classification("discovery", "validation", false, "Discovery endpoint is invalid"),
|
|
27
43
|
"discovery.invalid-cache-identity": classification("discovery", "validation", false, "Discovery cache identity is invalid"),
|
|
28
44
|
"discovery.invalid-discovery-cache": classification("discovery", "validation", false, "Discovery cache entry is invalid"),
|
|
29
45
|
"discovery.invalid-capability": classification("discovery", "validation", false, "Discovered capability evidence is invalid"),
|
|
46
|
+
"discovery.cloud-native-operation-unavailable": classification("discovery", "capability", false, "Cloud-native source operation is unavailable at its declared maturity"),
|
|
30
47
|
"discovery.unsupported-protocol": classification("discovery", "capability", false, "Endpoint protocol is unsupported"),
|
|
31
48
|
"discovery.protocol-mismatch": classification("discovery", "validation", false, "Endpoint protocol conflicts with its hint"),
|
|
32
49
|
"query.planning.invalid-query": classification("query", "validation", false, "Query is invalid"),
|
|
@@ -36,6 +53,7 @@ export const HONUA_ERROR_CODE_REGISTRY = Object.freeze({
|
|
|
36
53
|
"query.planning.fallback-disabled": classification("query", "capability", false, "Required local fallback is disabled"),
|
|
37
54
|
"query.planning.unsafe-materialization": classification("query", "validation", false, "Planned local materialization exceeds its safety bound"),
|
|
38
55
|
"query.execution.invalid-plan": classification("query", "validation", false, "Query plan is invalid"),
|
|
56
|
+
"query.execution.wfs-protocol": classification("query", "protocol", false, "WFS protocol evidence or response is invalid"),
|
|
39
57
|
"query.execution.plan-context-mismatch": classification("query", "validation", false, "Execution context does not match the accepted query plan"),
|
|
40
58
|
"query.execution.unsafe-materialization": classification("query", "validation", false, "Query execution exceeded its materialization bound"),
|
|
41
59
|
"query.execution.invalid-resource-handle": classification("query", "validation", false, "Query resource handle is invalid"),
|
|
@@ -90,9 +108,12 @@ export const HONUA_ERROR_CODE_REGISTRY = Object.freeze({
|
|
|
90
108
|
"realtime.checkpoint.invalid": classification("realtime", "validation", false, "Realtime checkpoint or resume context is invalid"),
|
|
91
109
|
"realtime.sequence.gap": classification("realtime", "protocol", true, "Realtime ordering requires a replacement snapshot"),
|
|
92
110
|
"realtime.protocol.terminal": classification("realtime", "protocol", false, "Realtime delivery reached a terminal failure"),
|
|
111
|
+
"realtime.reconciliation.disposed": classification("realtime", "validation", false, "Realtime reconciliation controller, cache, or adapter is disposed"),
|
|
112
|
+
"realtime.reconciliation.invalid-option": classification("realtime", "validation", false, "Realtime reconciliation option is invalid"),
|
|
93
113
|
"offline.region.validation": classification("offline", "validation", false, "Offline region input or lifecycle state is invalid"),
|
|
94
114
|
"offline.region.quota": classification("offline", "validation", false, "Offline region exceeds a logical storage quota"),
|
|
95
115
|
"offline.region.integrity": classification("offline", "protocol", false, "Offline resource integrity verification failed"),
|
|
116
|
+
"offline.region.miss": classification("offline", "validation", false, "Offline region does not cover the requested read"),
|
|
96
117
|
"offline.cancelled": classification("offline", "cancellation", false, "Offline operation was cancelled"),
|
|
97
118
|
"offline.transport.failure": classification("offline", "network", false, "Offline resource or replica transport failed without a transient classification"),
|
|
98
119
|
"offline.transport.transient": classification("offline", "network", true, "Offline resource or replica transport failed transiently"),
|
|
@@ -137,6 +158,8 @@ export const HONUA_ERROR_CODE_REGISTRY = Object.freeze({
|
|
|
137
158
|
"app.data-load-failed": classification("app", "internal", false, "Generated app feature data failed to load"),
|
|
138
159
|
"app.render-failed": classification("app", "internal", false, "Generated app render failed"),
|
|
139
160
|
"app.disposed": classification("app", "validation", false, "Generated app runtime is disposed"),
|
|
161
|
+
"app.export-unsafe": classification("app", "validation", false, "Component export refused because the artifact could not be proven credential-free"),
|
|
162
|
+
"app.export-failed": classification("app", "internal", false, "Component export adapter failed to produce an artifact"),
|
|
140
163
|
});
|
|
141
164
|
function classification(domain, category, retryable, summary) {
|
|
142
165
|
return Object.freeze({ domain, category, retryable, summary });
|
package/core/error-envelope.js
CHANGED
|
@@ -326,6 +326,7 @@ const SAFE_ERROR_NAMES = new Set([
|
|
|
326
326
|
"HonuaMapPackageError",
|
|
327
327
|
"HonuaNetworkError",
|
|
328
328
|
"HonuaOfflineRegionError",
|
|
329
|
+
"HonuaOfflineEditQueueError",
|
|
329
330
|
"HonuaPluginRegistryError",
|
|
330
331
|
"HonuaQueryPlanExecutionError",
|
|
331
332
|
"HonuaQueryPlanningError",
|
|
@@ -336,6 +337,7 @@ const SAFE_ERROR_NAMES = new Set([
|
|
|
336
337
|
"HonuaTemporalPlaybackError",
|
|
337
338
|
"HonuaTimeoutError",
|
|
338
339
|
"HonuaWfsExceptionError",
|
|
340
|
+
"HonuaWfsProtocolError",
|
|
339
341
|
"HonuaWmsCapabilitiesParseError",
|
|
340
342
|
"HonuaWmtsCapabilitiesParseError",
|
|
341
343
|
"NetworkError",
|
package/core/errors.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* } from "@honua/sdk-js";
|
|
16
16
|
*
|
|
17
17
|
* try {
|
|
18
|
-
* await dataset.source("parcels")!.queryAll({
|
|
18
|
+
* await dataset.source("parcels")!.queryAll({ pagination: { limit: 100 } });
|
|
19
19
|
* } catch (error) {
|
|
20
20
|
* if (!isHonuaError(error)) throw error;
|
|
21
21
|
* if (error instanceof HonuaCapabilityNotSupportedError) return fallback();
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
* @packageDocumentation
|
|
32
32
|
*/
|
|
33
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";
|
|
34
|
+
export type HonuaDiscoveryErrorCode = "ambiguous-protocol" | "ambiguous-source" | "invalid-cloud-native-input" | "invalid-cloud-native-manifest" | "invalid-endpoint" | "invalid-cache-identity" | "invalid-discovery-cache" | "invalid-capability" | "cloud-native-operation-unavailable" | "unsupported-protocol" | "protocol-mismatch";
|
|
35
35
|
/** Discovery input, metadata, or cache identity is invalid or inconsistent. */
|
|
36
36
|
export declare class HonuaDiscoveryError extends HonuaSdkError {
|
|
37
37
|
readonly code: HonuaDiscoveryErrorCode;
|
package/core/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/core/errors.ts"],"names":[],"mappings":"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"}
|
package/core/errors.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* } from "@honua/sdk-js";
|
|
16
16
|
*
|
|
17
17
|
* try {
|
|
18
|
-
* await dataset.source("parcels")!.queryAll({
|
|
18
|
+
* await dataset.source("parcels")!.queryAll({ pagination: { limit: 100 } });
|
|
19
19
|
* } catch (error) {
|
|
20
20
|
* if (!isHonuaError(error)) throw error;
|
|
21
21
|
* if (error instanceof HonuaCapabilityNotSupportedError) return fallback();
|
package/core/geoparquet-sql.d.ts
CHANGED
|
@@ -16,10 +16,10 @@
|
|
|
16
16
|
* (b) a string literal escaped by {@link stringLiteral} (single quotes doubled,
|
|
17
17
|
* embedded NULs rejected), or (c) a SQL identifier escaped by
|
|
18
18
|
* {@link quoteIdentifier} (double quotes doubled, embedded NULs / control chars
|
|
19
|
-
* rejected).
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
19
|
+
* rejected). {@link Query.where} is the one raw-text lane: it is caller-authored
|
|
20
|
+
* DuckDB filter SQL, so it cannot be escaped like a value. It is instead
|
|
21
|
+
* **contained** by {@link validateWhereExpression} before it is embedded — see
|
|
22
|
+
* that function for the exact trust model.
|
|
23
23
|
*
|
|
24
24
|
* @module
|
|
25
25
|
*/
|
|
@@ -48,6 +48,70 @@ export declare function numberLiteral(value: number): string;
|
|
|
48
48
|
* validates non-negative finiteness.
|
|
49
49
|
*/
|
|
50
50
|
export declare function integerLiteral(value: number): string;
|
|
51
|
+
/**
|
|
52
|
+
* Fixed rejection codes emitted by {@link validateWhereExpression}. Codes are
|
|
53
|
+
* stable and the thrown message never echoes the rejected text, so a hostile
|
|
54
|
+
* `where` cannot smuggle content into logs or a UI error toast.
|
|
55
|
+
*/
|
|
56
|
+
export type GeoParquetWhereRejectionCode = "GEOPARQUET_WHERE_NOT_TEXT" | "GEOPARQUET_WHERE_EMPTY" | "GEOPARQUET_WHERE_CONTROL_CHARACTER" | "GEOPARQUET_WHERE_UNTERMINATED_QUOTE" | "GEOPARQUET_WHERE_STATEMENT_SEPARATOR" | "GEOPARQUET_WHERE_COMMENT" | "GEOPARQUET_WHERE_UNBALANCED_PARENTHESES" | "GEOPARQUET_WHERE_PARAMETER_MARKER" | "GEOPARQUET_WHERE_ESCAPE_STRING" | "GEOPARQUET_WHERE_FORBIDDEN_KEYWORD";
|
|
57
|
+
/**
|
|
58
|
+
* A `Query.where` expression was rejected before it could be embedded in
|
|
59
|
+
* DuckDB SQL. Carries a fixed {@link GeoParquetWhereRejectionCode} rather than
|
|
60
|
+
* the offending text.
|
|
61
|
+
*/
|
|
62
|
+
export declare class GeoParquetWhereClauseError extends Error {
|
|
63
|
+
readonly code: GeoParquetWhereRejectionCode;
|
|
64
|
+
/** The denylisted keyword for `GEOPARQUET_WHERE_FORBIDDEN_KEYWORD`; never caller text otherwise. */
|
|
65
|
+
readonly keyword: string | undefined;
|
|
66
|
+
constructor(code: GeoParquetWhereRejectionCode, detail: string, keyword?: string);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Contain a caller-authored {@link Query.where} expression before it is
|
|
70
|
+
* embedded in generated DuckDB SQL, returning the trimmed text on success.
|
|
71
|
+
*
|
|
72
|
+
* ## Trust model
|
|
73
|
+
*
|
|
74
|
+
* `where` is raw filter SQL — the GeoParquet/DuckDB lane has no value-escaping
|
|
75
|
+
* equivalent for it, and the semantic (typed, parameterized) compiler in
|
|
76
|
+
* `query-planner/duckdb.ts` is the path that removes the raw text entirely.
|
|
77
|
+
* Until a caller migrates to that path, this validator draws the boundary:
|
|
78
|
+
*
|
|
79
|
+
* **Guaranteed by this function.** The accepted text is a *single* expression
|
|
80
|
+
* that cannot leave the `WHERE ( … )` slot it is spliced into. It rejects, with
|
|
81
|
+
* a typed {@link GeoParquetWhereClauseError}:
|
|
82
|
+
*
|
|
83
|
+
* - statement separators (`;`) and therefore chained/multi-statement input;
|
|
84
|
+
* - SQL comments — both line (`--`) and block comment markers — including the
|
|
85
|
+
* trailing-comment trick that would otherwise swallow the compiler's own
|
|
86
|
+
* `AND (<spatial predicate>)`;
|
|
87
|
+
* - unterminated string / quoted-identifier literals, which is how `x' OR 1=1`
|
|
88
|
+
* style probes escape a literal;
|
|
89
|
+
* - `E'…'` escape strings, where a backslash escapes a quote: that second
|
|
90
|
+
* escaping grammar would let a literal end for this scanner but not for
|
|
91
|
+
* DuckDB, so every boundary after it is mis-parsed. Plain literals with
|
|
92
|
+
* doubled quotes carry the same data;
|
|
93
|
+
* - unbalanced parentheses, so the wrapping `( … )` cannot be closed early to
|
|
94
|
+
* re-associate or append clauses;
|
|
95
|
+
* - `SELECT` / `UNION` and other statement or set-operation keywords, plus a
|
|
96
|
+
* table-context `FROM`, so a filter cannot become a subquery or UNION probe
|
|
97
|
+
* that reads other tables or files registered in the same DuckDB session.
|
|
98
|
+
* `FROM` stays available in its expression forms — `EXTRACT(YEAR FROM ts)`,
|
|
99
|
+
* `TRIM(BOTH ' ' FROM name)`, `SUBSTRING(name FROM 2 FOR 3)`, `OVERLAY(…)`;
|
|
100
|
+
* - parameter markers (`?`, `$1`, `$name`) — this lane binds no values;
|
|
101
|
+
* - control characters other than tab / newline / carriage return.
|
|
102
|
+
*
|
|
103
|
+
* **Still the caller's responsibility.** This is containment, not a semantic
|
|
104
|
+
* parser: accepted text is still executed by DuckDB. It can reference any
|
|
105
|
+
* column in the scanned files, call any scalar function the session exposes,
|
|
106
|
+
* and cost arbitrary CPU. Fabricating a syntactically invalid expression still
|
|
107
|
+
* fails at DuckDB, not here. Applications that forward end-user input (a filter
|
|
108
|
+
* box, a URL parameter) should build the expression from typed inputs rather
|
|
109
|
+
* than concatenating strings, and treat this validator as a backstop.
|
|
110
|
+
*
|
|
111
|
+
* The `Source.protocol("geoparquet").sql(...)` handle remains an explicit,
|
|
112
|
+
* opt-in raw-SQL escape hatch and is deliberately not covered here.
|
|
113
|
+
*/
|
|
114
|
+
export declare function validateWhereExpression(where: string): string;
|
|
51
115
|
/**
|
|
52
116
|
* Build the `read_parquet(...)` table expression from one or more file URLs /
|
|
53
117
|
* globs. A single source renders `read_parquet('url')`; multiple sources
|
|
@@ -176,7 +240,7 @@ export declare function compileAggregate(query: Query & {
|
|
|
176
240
|
*/
|
|
177
241
|
export declare function describeSql(sources: readonly string[]): string;
|
|
178
242
|
/**
|
|
179
|
-
* Cheap row-count
|
|
243
|
+
* Cheap row-count and row-group totals from the Parquet file metadata,
|
|
180
244
|
* summed across all files. Avoids a full `count(*)` table scan on large
|
|
181
245
|
* Overture extracts.
|
|
182
246
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geoparquet-sql.d.ts","sourceRoot":"","sources":["../../../src/core/geoparquet-sql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;
|
|
1
|
+
{"version":3,"file":"geoparquet-sql.d.ts","sourceRoot":"","sources":["../../../src/core/geoparquet-sql.ts"],"names":[],"mappings":"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"}
|