@honua/app-platform 0.0.20-alpha.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/LICENSE +201 -0
- package/README.md +11 -0
- package/app/index.d.ts +164 -0
- package/app/index.d.ts.map +1 -0
- package/app/index.js +424 -0
- package/app-controller/controller.d.ts +425 -0
- package/app-controller/controller.d.ts.map +1 -0
- package/app-controller/controller.js +1173 -0
- package/app-controller/index.d.ts +14 -0
- package/app-controller/index.d.ts.map +1 -0
- package/app-controller/index.js +12 -0
- package/app-workspace/index.d.ts +421 -0
- package/app-workspace/index.d.ts.map +1 -0
- package/app-workspace/index.js +722 -0
- package/collaboration/client.d.ts +40 -0
- package/collaboration/client.d.ts.map +1 -0
- package/collaboration/client.js +299 -0
- package/collaboration/errors.d.ts +15 -0
- package/collaboration/errors.d.ts.map +1 -0
- package/collaboration/errors.js +17 -0
- package/collaboration/fixture.d.ts +41 -0
- package/collaboration/fixture.d.ts.map +1 -0
- package/collaboration/fixture.js +362 -0
- package/collaboration/index.d.ts +18 -0
- package/collaboration/index.d.ts.map +1 -0
- package/collaboration/index.js +14 -0
- package/collaboration/types.d.ts +240 -0
- package/collaboration/types.d.ts.map +1 -0
- package/collaboration/types.js +1 -0
- package/contract/analytics-sources.d.ts +149 -0
- package/contract/analytics-sources.d.ts.map +1 -0
- package/contract/analytics-sources.js +235 -0
- package/contract/edit-session.d.ts +203 -0
- package/contract/edit-session.d.ts.map +1 -0
- package/contract/edit-session.js +760 -0
- package/contract/edit-sketch.d.ts +91 -0
- package/contract/edit-sketch.d.ts.map +1 -0
- package/contract/edit-sketch.js +281 -0
- package/contract/index.d.ts +63 -0
- package/contract/index.d.ts.map +1 -0
- package/contract/index.js +52 -0
- package/contract/jobs.d.ts +149 -0
- package/contract/jobs.d.ts.map +1 -0
- package/contract/jobs.js +40 -0
- package/contract/pmtiles.d.ts +162 -0
- package/contract/pmtiles.d.ts.map +1 -0
- package/contract/pmtiles.js +155 -0
- package/contract/source.d.ts +447 -0
- package/contract/source.d.ts.map +1 -0
- package/contract/source.js +3909 -0
- package/contract/spatial-aggregation.d.ts +336 -0
- package/contract/spatial-aggregation.d.ts.map +1 -0
- package/contract/spatial-aggregation.js +298 -0
- package/contract/temporal.d.ts +455 -0
- package/contract/temporal.d.ts.map +1 -0
- package/contract/temporal.js +146 -0
- package/contract/tiles.d.ts +370 -0
- package/contract/tiles.d.ts.map +1 -0
- package/contract/tiles.js +519 -0
- package/contract/types.d.ts +694 -0
- package/contract/types.d.ts.map +1 -0
- package/contract/types.js +183 -0
- package/contract/widget-source.d.ts +205 -0
- package/contract/widget-source.d.ts.map +1 -0
- package/contract/widget-source.js +1473 -0
- package/control-plane/client.d.ts +95 -0
- package/control-plane/client.d.ts.map +1 -0
- package/control-plane/client.js +374 -0
- package/control-plane/index.d.ts +18 -0
- package/control-plane/index.d.ts.map +1 -0
- package/control-plane/index.js +14 -0
- package/control-plane/types.d.ts +233 -0
- package/control-plane/types.d.ts.map +1 -0
- package/control-plane/types.js +7 -0
- package/controls/basemap-style-binding.d.ts +54 -0
- package/controls/basemap-style-binding.d.ts.map +1 -0
- package/controls/basemap-style-binding.js +199 -0
- package/controls/basemap-switcher.d.ts +95 -0
- package/controls/basemap-switcher.d.ts.map +1 -0
- package/controls/basemap-switcher.js +379 -0
- package/controls/element-utils.d.ts +48 -0
- package/controls/element-utils.d.ts.map +1 -0
- package/controls/element-utils.js +78 -0
- package/controls/index.d.ts +33 -0
- package/controls/index.d.ts.map +1 -0
- package/controls/index.js +30 -0
- package/controls/layer-list.d.ts +98 -0
- package/controls/layer-list.d.ts.map +1 -0
- package/controls/layer-list.js +375 -0
- package/controls/legend-derive.d.ts +53 -0
- package/controls/legend-derive.d.ts.map +1 -0
- package/controls/legend-derive.js +196 -0
- package/controls/legend.d.ts +104 -0
- package/controls/legend.d.ts.map +1 -0
- package/controls/legend.js +381 -0
- package/controls/swipe-control.d.ts +80 -0
- package/controls/swipe-control.d.ts.map +1 -0
- package/controls/swipe-control.js +368 -0
- package/controls/types.d.ts +227 -0
- package/controls/types.d.ts.map +1 -0
- package/controls/types.js +11 -0
- package/core/auth/client-credentials-provider.d.ts +51 -0
- package/core/auth/client-credentials-provider.d.ts.map +1 -0
- package/core/auth/client-credentials-provider.js +115 -0
- package/core/auth/credential-store.d.ts +52 -0
- package/core/auth/credential-store.d.ts.map +1 -0
- package/core/auth/credential-store.js +82 -0
- package/core/auth/index.d.ts +23 -0
- package/core/auth/index.d.ts.map +1 -0
- package/core/auth/index.js +20 -0
- package/core/auth/oauth2-provider.d.ts +114 -0
- package/core/auth/oauth2-provider.d.ts.map +1 -0
- package/core/auth/oauth2-provider.js +408 -0
- package/core/auth/pkce.d.ts +25 -0
- package/core/auth/pkce.d.ts.map +1 -0
- package/core/auth/pkce.js +46 -0
- package/core/auth/static-providers.d.ts +20 -0
- package/core/auth/static-providers.d.ts.map +1 -0
- package/core/auth/static-providers.js +26 -0
- package/core/auth/token-endpoint.d.ts +40 -0
- package/core/auth/token-endpoint.d.ts.map +1 -0
- package/core/auth/token-endpoint.js +133 -0
- package/core/auth/types.d.ts +144 -0
- package/core/auth/types.d.ts.map +1 -0
- package/core/auth/types.js +8 -0
- package/core/batch.d.ts +37 -0
- package/core/batch.d.ts.map +1 -0
- package/core/batch.js +79 -0
- package/core/cache-state.d.ts +79 -0
- package/core/cache-state.d.ts.map +1 -0
- package/core/cache-state.js +87 -0
- package/core/client.d.ts +607 -0
- package/core/client.d.ts.map +1 -0
- package/core/client.js +1716 -0
- package/core/compatibility.d.ts +18 -0
- package/core/compatibility.d.ts.map +1 -0
- package/core/compatibility.js +245 -0
- package/core/errors.d.ts +139 -0
- package/core/errors.d.ts.map +1 -0
- package/core/errors.js +176 -0
- package/core/esri-geojson.d.ts +66 -0
- package/core/esri-geojson.d.ts.map +1 -0
- package/core/esri-geojson.js +363 -0
- package/core/geoparquet-sql.d.ts +162 -0
- package/core/geoparquet-sql.d.ts.map +1 -0
- package/core/geoparquet-sql.js +333 -0
- package/core/geoservices.d.ts +34 -0
- package/core/geoservices.d.ts.map +1 -0
- package/core/geoservices.js +434 -0
- package/core/grpc-adapter.d.ts +23 -0
- package/core/grpc-adapter.d.ts.map +1 -0
- package/core/grpc-adapter.js +688 -0
- package/core/odata.d.ts +347 -0
- package/core/odata.d.ts.map +1 -0
- package/core/odata.js +913 -0
- package/core/ogc-conformance.d.ts +35 -0
- package/core/ogc-conformance.d.ts.map +1 -0
- package/core/ogc-conformance.js +134 -0
- package/core/ogc-endpoint-layout.d.ts +70 -0
- package/core/ogc-endpoint-layout.d.ts.map +1 -0
- package/core/ogc-endpoint-layout.js +173 -0
- package/core/ogc-features.d.ts +23 -0
- package/core/ogc-features.d.ts.map +1 -0
- package/core/ogc-features.js +129 -0
- package/core/ogc-maps.d.ts +49 -0
- package/core/ogc-maps.d.ts.map +1 -0
- package/core/ogc-maps.js +126 -0
- package/core/ogc-processes.d.ts +118 -0
- package/core/ogc-processes.d.ts.map +1 -0
- package/core/ogc-processes.js +423 -0
- package/core/ogc-records.d.ts +75 -0
- package/core/ogc-records.d.ts.map +1 -0
- package/core/ogc-records.js +251 -0
- package/core/ogc-tiles.d.ts +125 -0
- package/core/ogc-tiles.d.ts.map +1 -0
- package/core/ogc-tiles.js +183 -0
- package/core/path-utils.d.ts +69 -0
- package/core/path-utils.d.ts.map +1 -0
- package/core/path-utils.js +123 -0
- package/core/pbf-decoder.d.ts +39 -0
- package/core/pbf-decoder.d.ts.map +1 -0
- package/core/pbf-decoder.js +702 -0
- package/core/process-runner.d.ts +104 -0
- package/core/process-runner.d.ts.map +1 -0
- package/core/process-runner.js +315 -0
- package/core/protocol-transport.d.ts +76 -0
- package/core/protocol-transport.d.ts.map +1 -0
- package/core/protocol-transport.js +15 -0
- package/core/query-builder.d.ts +261 -0
- package/core/query-builder.d.ts.map +1 -0
- package/core/query-builder.js +538 -0
- package/core/request-pipeline.d.ts +88 -0
- package/core/request-pipeline.d.ts.map +1 -0
- package/core/request-pipeline.js +273 -0
- package/core/spatial-filter.d.ts +93 -0
- package/core/spatial-filter.d.ts.map +1 -0
- package/core/spatial-filter.js +153 -0
- package/core/stac-static.d.ts +51 -0
- package/core/stac-static.d.ts.map +1 -0
- package/core/stac-static.js +195 -0
- package/core/stac.d.ts +67 -0
- package/core/stac.d.ts.map +1 -0
- package/core/stac.js +259 -0
- package/core/surfaces.d.ts +540 -0
- package/core/surfaces.d.ts.map +1 -0
- package/core/surfaces.js +1964 -0
- package/core/terrain-elevation.d.ts +114 -0
- package/core/terrain-elevation.d.ts.map +1 -0
- package/core/terrain-elevation.js +150 -0
- package/core/types.d.ts +1404 -0
- package/core/types.d.ts.map +1 -0
- package/core/types.js +13 -0
- package/core/wfs-capabilities.d.ts +153 -0
- package/core/wfs-capabilities.d.ts.map +1 -0
- package/core/wfs-capabilities.js +490 -0
- package/core/wfs-filter.d.ts +118 -0
- package/core/wfs-filter.d.ts.map +1 -0
- package/core/wfs-filter.js +634 -0
- package/core/wfs.d.ts +232 -0
- package/core/wfs.d.ts.map +1 -0
- package/core/wfs.js +426 -0
- package/core/wire-shared.d.ts +32 -0
- package/core/wire-shared.d.ts.map +1 -0
- package/core/wire-shared.js +76 -0
- package/core/wms-axis.d.ts +36 -0
- package/core/wms-axis.d.ts.map +1 -0
- package/core/wms-axis.js +73 -0
- package/core/wms-capabilities.d.ts +110 -0
- package/core/wms-capabilities.d.ts.map +1 -0
- package/core/wms-capabilities.js +559 -0
- package/core/wms-types.d.ts +128 -0
- package/core/wms-types.d.ts.map +1 -0
- package/core/wms-types.js +32 -0
- package/core/wms.d.ts +144 -0
- package/core/wms.d.ts.map +1 -0
- package/core/wms.js +338 -0
- package/core/wmts-capabilities.d.ts +82 -0
- package/core/wmts-capabilities.d.ts.map +1 -0
- package/core/wmts-capabilities.js +402 -0
- package/core/wmts.d.ts +103 -0
- package/core/wmts.d.ts.map +1 -0
- package/core/wmts.js +332 -0
- package/core/xml-text.d.ts +20 -0
- package/core/xml-text.d.ts.map +1 -0
- package/core/xml-text.js +85 -0
- package/esri-compat/basemap-gallery.d.ts +38 -0
- package/esri-compat/basemap-gallery.d.ts.map +1 -0
- package/esri-compat/basemap-gallery.js +159 -0
- package/esri-compat/basemap-layer-list.d.ts +35 -0
- package/esri-compat/basemap-layer-list.d.ts.map +1 -0
- package/esri-compat/basemap-layer-list.js +139 -0
- package/esri-compat/basemap.d.ts +32 -0
- package/esri-compat/basemap.d.ts.map +1 -0
- package/esri-compat/basemap.js +84 -0
- package/esri-compat/bookmarks.d.ts +36 -0
- package/esri-compat/bookmarks.d.ts.map +1 -0
- package/esri-compat/bookmarks.js +108 -0
- package/esri-compat/class-breaks-renderer.d.ts +50 -0
- package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
- package/esri-compat/class-breaks-renderer.js +164 -0
- package/esri-compat/color.d.ts +22 -0
- package/esri-compat/color.d.ts.map +1 -0
- package/esri-compat/color.js +106 -0
- package/esri-compat/controls.d.ts +174 -0
- package/esri-compat/controls.d.ts.map +1 -0
- package/esri-compat/controls.js +479 -0
- package/esri-compat/coordinate-conversion.d.ts +41 -0
- package/esri-compat/coordinate-conversion.d.ts.map +1 -0
- package/esri-compat/coordinate-conversion.js +125 -0
- package/esri-compat/directions.d.ts +45 -0
- package/esri-compat/directions.d.ts.map +1 -0
- package/esri-compat/directions.js +123 -0
- package/esri-compat/editor.d.ts +47 -0
- package/esri-compat/editor.d.ts.map +1 -0
- package/esri-compat/editor.js +170 -0
- package/esri-compat/esri-config.d.ts +16 -0
- package/esri-compat/esri-config.d.ts.map +1 -0
- package/esri-compat/esri-config.js +23 -0
- package/esri-compat/esri-request.d.ts +17 -0
- package/esri-compat/esri-request.d.ts.map +1 -0
- package/esri-compat/esri-request.js +127 -0
- package/esri-compat/event-bus.d.ts +106 -0
- package/esri-compat/event-bus.d.ts.map +1 -0
- package/esri-compat/event-bus.js +90 -0
- package/esri-compat/expand.d.ts +36 -0
- package/esri-compat/expand.d.ts.map +1 -0
- package/esri-compat/expand.js +97 -0
- package/esri-compat/extent.d.ts +43 -0
- package/esri-compat/extent.d.ts.map +1 -0
- package/esri-compat/extent.js +140 -0
- package/esri-compat/feature-filter.d.ts +55 -0
- package/esri-compat/feature-filter.d.ts.map +1 -0
- package/esri-compat/feature-filter.js +109 -0
- package/esri-compat/feature-form.d.ts +64 -0
- package/esri-compat/feature-form.d.ts.map +1 -0
- package/esri-compat/feature-form.js +137 -0
- package/esri-compat/feature-layer.d.ts +173 -0
- package/esri-compat/feature-layer.d.ts.map +1 -0
- package/esri-compat/feature-layer.js +661 -0
- package/esri-compat/feature-set.d.ts +32 -0
- package/esri-compat/feature-set.d.ts.map +1 -0
- package/esri-compat/feature-set.js +80 -0
- package/esri-compat/feature-table.d.ts +141 -0
- package/esri-compat/feature-table.d.ts.map +1 -0
- package/esri-compat/feature-table.js +500 -0
- package/esri-compat/feature-templates.d.ts +41 -0
- package/esri-compat/feature-templates.d.ts.map +1 -0
- package/esri-compat/feature-templates.js +97 -0
- package/esri-compat/feature.d.ts +33 -0
- package/esri-compat/feature.d.ts.map +1 -0
- package/esri-compat/feature.js +83 -0
- package/esri-compat/geojson-layer.d.ts +86 -0
- package/esri-compat/geojson-layer.d.ts.map +1 -0
- package/esri-compat/geojson-layer.js +191 -0
- package/esri-compat/geometry-engine.d.ts +107 -0
- package/esri-compat/geometry-engine.d.ts.map +1 -0
- package/esri-compat/geometry-engine.js +266 -0
- package/esri-compat/graphic.d.ts +46 -0
- package/esri-compat/graphic.d.ts.map +1 -0
- package/esri-compat/graphic.js +103 -0
- package/esri-compat/graphics-layer.d.ts +49 -0
- package/esri-compat/graphics-layer.d.ts.map +1 -0
- package/esri-compat/graphics-layer.js +185 -0
- package/esri-compat/group-layer.d.ts +48 -0
- package/esri-compat/group-layer.d.ts.map +1 -0
- package/esri-compat/group-layer.js +212 -0
- package/esri-compat/identify.d.ts +71 -0
- package/esri-compat/identify.d.ts.map +1 -0
- package/esri-compat/identify.js +299 -0
- package/esri-compat/identity-manager.d.ts +74 -0
- package/esri-compat/identity-manager.d.ts.map +1 -0
- package/esri-compat/identity-manager.js +245 -0
- package/esri-compat/imagery-layer.d.ts +78 -0
- package/esri-compat/imagery-layer.d.ts.map +1 -0
- package/esri-compat/imagery-layer.js +167 -0
- package/esri-compat/label-class.d.ts +31 -0
- package/esri-compat/label-class.d.ts.map +1 -0
- package/esri-compat/label-class.js +102 -0
- package/esri-compat/layer-list.d.ts +77 -0
- package/esri-compat/layer-list.d.ts.map +1 -0
- package/esri-compat/layer-list.js +342 -0
- package/esri-compat/legend.d.ts +53 -0
- package/esri-compat/legend.d.ts.map +1 -0
- package/esri-compat/legend.js +254 -0
- package/esri-compat/map-image-layer.d.ts +162 -0
- package/esri-compat/map-image-layer.d.ts.map +1 -0
- package/esri-compat/map-image-layer.js +709 -0
- package/esri-compat/map-view.d.ts +323 -0
- package/esri-compat/map-view.d.ts.map +1 -0
- package/esri-compat/map-view.js +1175 -0
- package/esri-compat/map.d.ts +47 -0
- package/esri-compat/map.d.ts.map +1 -0
- package/esri-compat/map.js +209 -0
- package/esri-compat/measurement-2d.d.ts +61 -0
- package/esri-compat/measurement-2d.d.ts.map +1 -0
- package/esri-compat/measurement-2d.js +184 -0
- package/esri-compat/measurement.d.ts +45 -0
- package/esri-compat/measurement.d.ts.map +1 -0
- package/esri-compat/measurement.js +193 -0
- package/esri-compat/oauth-info.d.ts +50 -0
- package/esri-compat/oauth-info.d.ts.map +1 -0
- package/esri-compat/oauth-info.js +142 -0
- package/esri-compat/picture-marker-symbol.d.ts +35 -0
- package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
- package/esri-compat/picture-marker-symbol.js +126 -0
- package/esri-compat/point.d.ts +31 -0
- package/esri-compat/point.d.ts.map +1 -0
- package/esri-compat/point.js +102 -0
- package/esri-compat/polygon.d.ts +31 -0
- package/esri-compat/polygon.d.ts.map +1 -0
- package/esri-compat/polygon.js +107 -0
- package/esri-compat/polyline.d.ts +31 -0
- package/esri-compat/polyline.d.ts.map +1 -0
- package/esri-compat/polyline.js +107 -0
- package/esri-compat/popup-template.d.ts +55 -0
- package/esri-compat/popup-template.d.ts.map +1 -0
- package/esri-compat/popup-template.js +128 -0
- package/esri-compat/popup.d.ts +54 -0
- package/esri-compat/popup.d.ts.map +1 -0
- package/esri-compat/popup.js +312 -0
- package/esri-compat/print.d.ts +47 -0
- package/esri-compat/print.d.ts.map +1 -0
- package/esri-compat/print.js +105 -0
- package/esri-compat/query.d.ts +58 -0
- package/esri-compat/query.d.ts.map +1 -0
- package/esri-compat/query.js +128 -0
- package/esri-compat/reactive-utils.d.ts +24 -0
- package/esri-compat/reactive-utils.d.ts.map +1 -0
- package/esri-compat/reactive-utils.js +193 -0
- package/esri-compat/request.d.ts +41 -0
- package/esri-compat/request.d.ts.map +1 -0
- package/esri-compat/request.js +253 -0
- package/esri-compat/route-layer.d.ts +59 -0
- package/esri-compat/route-layer.d.ts.map +1 -0
- package/esri-compat/route-layer.js +223 -0
- package/esri-compat/route-task.d.ts +88 -0
- package/esri-compat/route-task.d.ts.map +1 -0
- package/esri-compat/route-task.js +225 -0
- package/esri-compat/scene-view.d.ts +41 -0
- package/esri-compat/scene-view.d.ts.map +1 -0
- package/esri-compat/scene-view.js +68 -0
- package/esri-compat/search.d.ts +112 -0
- package/esri-compat/search.d.ts.map +1 -0
- package/esri-compat/search.js +820 -0
- package/esri-compat/simple-fill-symbol.d.ts +27 -0
- package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
- package/esri-compat/simple-fill-symbol.js +85 -0
- package/esri-compat/simple-line-symbol.d.ts +27 -0
- package/esri-compat/simple-line-symbol.d.ts.map +1 -0
- package/esri-compat/simple-line-symbol.js +85 -0
- package/esri-compat/simple-marker-symbol.d.ts +29 -0
- package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
- package/esri-compat/simple-marker-symbol.js +92 -0
- package/esri-compat/simple-renderer.d.ts +29 -0
- package/esri-compat/simple-renderer.d.ts.map +1 -0
- package/esri-compat/simple-renderer.js +92 -0
- package/esri-compat/sketch.d.ts +64 -0
- package/esri-compat/sketch.d.ts.map +1 -0
- package/esri-compat/sketch.js +227 -0
- package/esri-compat/spatial-reference.d.ts +31 -0
- package/esri-compat/spatial-reference.d.ts.map +1 -0
- package/esri-compat/spatial-reference.js +102 -0
- package/esri-compat/swipe.d.ts +34 -0
- package/esri-compat/swipe.d.ts.map +1 -0
- package/esri-compat/swipe.js +93 -0
- package/esri-compat/table-list.d.ts +36 -0
- package/esri-compat/table-list.d.ts.map +1 -0
- package/esri-compat/table-list.js +126 -0
- package/esri-compat/text-symbol.d.ts +37 -0
- package/esri-compat/text-symbol.d.ts.map +1 -0
- package/esri-compat/text-symbol.js +123 -0
- package/esri-compat/tile-layer.d.ts +52 -0
- package/esri-compat/tile-layer.d.ts.map +1 -0
- package/esri-compat/tile-layer.js +168 -0
- package/esri-compat/time-slider.d.ts +70 -0
- package/esri-compat/time-slider.d.ts.map +1 -0
- package/esri-compat/time-slider.js +208 -0
- package/esri-compat/track.d.ts +51 -0
- package/esri-compat/track.d.ts.map +1 -0
- package/esri-compat/track.js +174 -0
- package/esri-compat/unique-value-renderer.d.ts +41 -0
- package/esri-compat/unique-value-renderer.d.ts.map +1 -0
- package/esri-compat/unique-value-renderer.js +127 -0
- package/esri-compat/url.d.ts +13 -0
- package/esri-compat/url.d.ts.map +1 -0
- package/esri-compat/url.js +68 -0
- package/esri-compat/vector-tile-layer.d.ts +47 -0
- package/esri-compat/vector-tile-layer.d.ts.map +1 -0
- package/esri-compat/vector-tile-layer.js +130 -0
- package/esri-compat/web-map.d.ts +14 -0
- package/esri-compat/web-map.d.ts.map +1 -0
- package/esri-compat/web-map.js +24 -0
- package/esri-compat/wfs-layer.d.ts +64 -0
- package/esri-compat/wfs-layer.d.ts.map +1 -0
- package/esri-compat/wfs-layer.js +145 -0
- package/esri-compat/wms-layer.d.ts +76 -0
- package/esri-compat/wms-layer.d.ts.map +1 -0
- package/esri-compat/wms-layer.js +157 -0
- package/exploration/context.d.ts +25 -0
- package/exploration/context.d.ts.map +1 -0
- package/exploration/context.js +396 -0
- package/exploration/index.d.ts +27 -0
- package/exploration/index.d.ts.map +1 -0
- package/exploration/index.js +24 -0
- package/exploration/presets.d.ts +27 -0
- package/exploration/presets.d.ts.map +1 -0
- package/exploration/presets.js +114 -0
- package/exploration/reducer.d.ts +23 -0
- package/exploration/reducer.d.ts.map +1 -0
- package/exploration/reducer.js +332 -0
- package/exploration/selection.d.ts +25 -0
- package/exploration/selection.d.ts.map +1 -0
- package/exploration/selection.js +34 -0
- package/exploration/selectors.d.ts +56 -0
- package/exploration/selectors.d.ts.map +1 -0
- package/exploration/selectors.js +110 -0
- package/exploration/types.d.ts +294 -0
- package/exploration/types.d.ts.map +1 -0
- package/exploration/types.js +33 -0
- package/expr/expression.d.ts +457 -0
- package/expr/expression.d.ts.map +1 -0
- package/expr/expression.js +663 -0
- package/expr/index.d.ts +32 -0
- package/expr/index.d.ts.map +1 -0
- package/expr/index.js +30 -0
- package/filter-registry/index.d.ts +145 -0
- package/filter-registry/index.d.ts.map +1 -0
- package/filter-registry/index.js +531 -0
- package/gen/honua/v1/feature_service_pb.d.ts +918 -0
- package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
- package/gen/honua/v1/feature_service_pb.js +375 -0
- package/generated-app/errors.d.ts +41 -0
- package/generated-app/errors.d.ts.map +1 -0
- package/generated-app/errors.js +41 -0
- package/generated-app/index.d.ts +17 -0
- package/generated-app/index.d.ts.map +1 -0
- package/generated-app/index.js +12 -0
- package/generated-app/manifest.d.ts +183 -0
- package/generated-app/manifest.d.ts.map +1 -0
- package/generated-app/manifest.js +14 -0
- package/generated-app/projection.d.ts +44 -0
- package/generated-app/projection.d.ts.map +1 -0
- package/generated-app/projection.js +234 -0
- package/generated-app/runtime.d.ts +215 -0
- package/generated-app/runtime.d.ts.map +1 -0
- package/generated-app/runtime.js +1196 -0
- package/geocoding/index.d.ts +106 -0
- package/geocoding/index.d.ts.map +1 -0
- package/geocoding/index.js +278 -0
- package/interactions/detail-model.d.ts +54 -0
- package/interactions/detail-model.d.ts.map +1 -0
- package/interactions/detail-model.js +105 -0
- package/interactions/exploration-bindings.d.ts +120 -0
- package/interactions/exploration-bindings.d.ts.map +1 -0
- package/interactions/exploration-bindings.js +218 -0
- package/interactions/feature-state.d.ts +144 -0
- package/interactions/feature-state.d.ts.map +1 -0
- package/interactions/feature-state.js +169 -0
- package/interactions/hit-test.d.ts +112 -0
- package/interactions/hit-test.d.ts.map +1 -0
- package/interactions/hit-test.js +291 -0
- package/interactions/index.d.ts +31 -0
- package/interactions/index.d.ts.map +1 -0
- package/interactions/index.js +24 -0
- package/interactions/share-state.d.ts +36 -0
- package/interactions/share-state.d.ts.map +1 -0
- package/interactions/share-state.js +123 -0
- package/map/feature-service-adapter.d.ts +138 -0
- package/map/feature-service-adapter.d.ts.map +1 -0
- package/map/feature-service-adapter.js +279 -0
- package/map/honua-map.d.ts +203 -0
- package/map/honua-map.d.ts.map +1 -0
- package/map/honua-map.js +347 -0
- package/map/index.d.ts +27 -0
- package/map/index.d.ts.map +1 -0
- package/map/index.js +22 -0
- package/map/maplibre-target.d.ts +103 -0
- package/map/maplibre-target.d.ts.map +1 -0
- package/map/maplibre-target.js +164 -0
- package/map/webmap-maplibre.d.ts +60 -0
- package/map/webmap-maplibre.d.ts.map +1 -0
- package/map/webmap-maplibre.js +212 -0
- package/operate/client.d.ts +94 -0
- package/operate/client.d.ts.map +1 -0
- package/operate/client.js +361 -0
- package/operate/index.d.ts +22 -0
- package/operate/index.d.ts.map +1 -0
- package/operate/index.js +19 -0
- package/operate/types.d.ts +397 -0
- package/operate/types.d.ts.map +1 -0
- package/operate/types.js +17 -0
- package/operator/client.d.ts +60 -0
- package/operator/client.d.ts.map +1 -0
- package/operator/client.js +20 -0
- package/operator/controllers/approval.d.ts +52 -0
- package/operator/controllers/approval.d.ts.map +1 -0
- package/operator/controllers/approval.js +123 -0
- package/operator/controllers/base.d.ts +27 -0
- package/operator/controllers/base.d.ts.map +1 -0
- package/operator/controllers/base.js +53 -0
- package/operator/controllers/builder-workspace.d.ts +55 -0
- package/operator/controllers/builder-workspace.d.ts.map +1 -0
- package/operator/controllers/builder-workspace.js +108 -0
- package/operator/controllers/chat.d.ts +61 -0
- package/operator/controllers/chat.d.ts.map +1 -0
- package/operator/controllers/chat.js +154 -0
- package/operator/controllers/clarification.d.ts +52 -0
- package/operator/controllers/clarification.d.ts.map +1 -0
- package/operator/controllers/clarification.js +121 -0
- package/operator/controllers/execution.d.ts +60 -0
- package/operator/controllers/execution.d.ts.map +1 -0
- package/operator/controllers/execution.js +286 -0
- package/operator/controllers/index.d.ts +23 -0
- package/operator/controllers/index.d.ts.map +1 -0
- package/operator/controllers/index.js +15 -0
- package/operator/controllers/map-workspace.d.ts +85 -0
- package/operator/controllers/map-workspace.d.ts.map +1 -0
- package/operator/controllers/map-workspace.js +296 -0
- package/operator/controllers/plan-review.d.ts +66 -0
- package/operator/controllers/plan-review.d.ts.map +1 -0
- package/operator/controllers/plan-review.js +124 -0
- package/operator/errors.d.ts +62 -0
- package/operator/errors.d.ts.map +1 -0
- package/operator/errors.js +75 -0
- package/operator/i18n/index.d.ts +10 -0
- package/operator/i18n/index.d.ts.map +1 -0
- package/operator/i18n/index.js +8 -0
- package/operator/i18n/messages.d.ts +19 -0
- package/operator/i18n/messages.d.ts.map +1 -0
- package/operator/i18n/messages.js +54 -0
- package/operator/index.d.ts +19 -0
- package/operator/index.d.ts.map +1 -0
- package/operator/index.js +15 -0
- package/operator/telemetry.d.ts +26 -0
- package/operator/telemetry.d.ts.map +1 -0
- package/operator/telemetry.js +9 -0
- package/operator/theming/index.d.ts +12 -0
- package/operator/theming/index.d.ts.map +1 -0
- package/operator/theming/index.js +9 -0
- package/operator/theming/provider.d.ts +27 -0
- package/operator/theming/provider.d.ts.map +1 -0
- package/operator/theming/provider.js +26 -0
- package/operator/theming/tokens.d.ts +28 -0
- package/operator/theming/tokens.d.ts.map +1 -0
- package/operator/theming/tokens.js +65 -0
- package/operator/workspace/events.d.ts +70 -0
- package/operator/workspace/events.d.ts.map +1 -0
- package/operator/workspace/events.js +9 -0
- package/operator/workspace/index.d.ts +12 -0
- package/operator/workspace/index.d.ts.map +1 -0
- package/operator/workspace/index.js +8 -0
- package/operator/workspace/types.d.ts +178 -0
- package/operator/workspace/types.d.ts.map +1 -0
- package/operator/workspace/types.js +47 -0
- package/operator/workspace/workspace.d.ts +58 -0
- package/operator/workspace/workspace.d.ts.map +1 -0
- package/operator/workspace/workspace.js +339 -0
- package/package.json +105 -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 +123 -0
- package/realtime/honua-server.d.ts.map +1 -0
- package/realtime/honua-server.js +188 -0
- package/realtime/index.d.ts +20 -0
- package/realtime/index.d.ts.map +1 -0
- package/realtime/index.js +14 -0
- package/realtime/projections.d.ts +30 -0
- package/realtime/projections.d.ts.map +1 -0
- package/realtime/projections.js +51 -0
- package/realtime/reducer.d.ts +14 -0
- package/realtime/reducer.d.ts.map +1 -0
- package/realtime/reducer.js +351 -0
- package/realtime/sse.d.ts +23 -0
- package/realtime/sse.d.ts.map +1 -0
- package/realtime/sse.js +143 -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/replica-sync/client.d.ts +32 -0
- package/replica-sync/client.d.ts.map +1 -0
- package/replica-sync/client.js +52 -0
- package/replica-sync/errors.d.ts +22 -0
- package/replica-sync/errors.d.ts.map +1 -0
- package/replica-sync/errors.js +29 -0
- package/replica-sync/fixture.d.ts +40 -0
- package/replica-sync/fixture.d.ts.map +1 -0
- package/replica-sync/fixture.js +364 -0
- package/replica-sync/index.d.ts +22 -0
- package/replica-sync/index.d.ts.map +1 -0
- package/replica-sync/index.js +17 -0
- package/replica-sync/types.d.ts +270 -0
- package/replica-sync/types.d.ts.map +1 -0
- package/replica-sync/types.js +13 -0
- package/runtime/diff.d.ts +31 -0
- package/runtime/diff.d.ts.map +1 -0
- package/runtime/diff.js +143 -0
- package/runtime/errors.d.ts +40 -0
- package/runtime/errors.d.ts.map +1 -0
- package/runtime/errors.js +35 -0
- package/runtime/index.d.ts +59 -0
- package/runtime/index.d.ts.map +1 -0
- package/runtime/index.js +40 -0
- package/runtime/legend.d.ts +23 -0
- package/runtime/legend.d.ts.map +1 -0
- package/runtime/legend.js +38 -0
- package/runtime/load-package.d.ts +125 -0
- package/runtime/load-package.d.ts.map +1 -0
- package/runtime/load-package.js +272 -0
- package/runtime/map-package-fetch.d.ts +107 -0
- package/runtime/map-package-fetch.d.ts.map +1 -0
- package/runtime/map-package-fetch.js +336 -0
- package/runtime/map-package-realtime.d.ts +169 -0
- package/runtime/map-package-realtime.d.ts.map +1 -0
- package/runtime/map-package-realtime.js +350 -0
- package/runtime/map-package-validation.d.ts +30 -0
- package/runtime/map-package-validation.d.ts.map +1 -0
- package/runtime/map-package-validation.js +257 -0
- package/runtime/map-package-watch.d.ts +78 -0
- package/runtime/map-package-watch.d.ts.map +1 -0
- package/runtime/map-package-watch.js +695 -0
- package/runtime/map-package.d.ts +167 -0
- package/runtime/map-package.d.ts.map +1 -0
- package/runtime/map-package.js +15 -0
- package/runtime/ogc-styles.d.ts +110 -0
- package/runtime/ogc-styles.d.ts.map +1 -0
- package/runtime/ogc-styles.js +195 -0
- package/runtime/pmtiles-protocol.d.ts +77 -0
- package/runtime/pmtiles-protocol.d.ts.map +1 -0
- package/runtime/pmtiles-protocol.js +120 -0
- package/runtime/popups.d.ts +62 -0
- package/runtime/popups.d.ts.map +1 -0
- package/runtime/popups.js +95 -0
- package/runtime/query-tiles.d.ts +217 -0
- package/runtime/query-tiles.d.ts.map +1 -0
- package/runtime/query-tiles.js +801 -0
- package/runtime/runtime.d.ts +243 -0
- package/runtime/runtime.d.ts.map +1 -0
- package/runtime/runtime.js +1147 -0
- package/runtime/source-bridge.d.ts +99 -0
- package/runtime/source-bridge.d.ts.map +1 -0
- package/runtime/source-bridge.js +428 -0
- package/runtime/style-compose.d.ts +46 -0
- package/runtime/style-compose.d.ts.map +1 -0
- package/runtime/style-compose.js +144 -0
- package/runtime/style-interactions.d.ts +141 -0
- package/runtime/style-interactions.d.ts.map +1 -0
- package/runtime/style-interactions.js +574 -0
- package/runtime/style-spec-validation.d.ts +23 -0
- package/runtime/style-spec-validation.d.ts.map +1 -0
- package/runtime/style-spec-validation.js +357 -0
- package/scene-workspace/analysis-widgets.d.ts +334 -0
- package/scene-workspace/analysis-widgets.d.ts.map +1 -0
- package/scene-workspace/analysis-widgets.js +424 -0
- package/scene-workspace/cesium-adapter.d.ts +438 -0
- package/scene-workspace/cesium-adapter.d.ts.map +1 -0
- package/scene-workspace/cesium-adapter.js +493 -0
- package/scene-workspace/index.d.ts +21 -0
- package/scene-workspace/index.d.ts.map +1 -0
- package/scene-workspace/index.js +14 -0
- package/scene-workspace/primitives.d.ts +162 -0
- package/scene-workspace/primitives.d.ts.map +1 -0
- package/scene-workspace/primitives.js +255 -0
- package/scene-workspace/scene-discovery.d.ts +196 -0
- package/scene-workspace/scene-discovery.d.ts.map +1 -0
- package/scene-workspace/scene-discovery.js +228 -0
- package/scene-workspace/scene-view.d.ts +209 -0
- package/scene-workspace/scene-view.d.ts.map +1 -0
- package/scene-workspace/scene-view.js +267 -0
- package/scene-workspace/types.d.ts +229 -0
- package/scene-workspace/types.d.ts.map +1 -0
- package/scene-workspace/types.js +23 -0
- package/scene-workspace/workspace.d.ts +13 -0
- package/scene-workspace/workspace.d.ts.map +1 -0
- package/scene-workspace/workspace.js +391 -0
- package/share/denial.d.ts +78 -0
- package/share/denial.d.ts.map +1 -0
- package/share/denial.js +61 -0
- package/share/embed-token.d.ts +71 -0
- package/share/embed-token.d.ts.map +1 -0
- package/share/embed-token.js +99 -0
- package/share/index.d.ts +35 -0
- package/share/index.d.ts.map +1 -0
- package/share/index.js +30 -0
- package/share/open-data.d.ts +114 -0
- package/share/open-data.d.ts.map +1 -0
- package/share/open-data.js +81 -0
- package/share/types.d.ts +163 -0
- package/share/types.d.ts.map +1 -0
- package/share/types.js +17 -0
- package/studio/capability-manifest.d.ts +285 -0
- package/studio/capability-manifest.d.ts.map +1 -0
- package/studio/capability-manifest.js +59 -0
- package/studio/chart-spec.d.ts +85 -0
- package/studio/chart-spec.d.ts.map +1 -0
- package/studio/chart-spec.js +106 -0
- package/studio/index.d.ts +34 -0
- package/studio/index.d.ts.map +1 -0
- package/studio/index.js +27 -0
- package/studio/provenance.d.ts +131 -0
- package/studio/provenance.d.ts.map +1 -0
- package/studio/provenance.js +39 -0
- package/studio/publish.d.ts +64 -0
- package/studio/publish.d.ts.map +1 -0
- package/studio/publish.js +13 -0
- package/studio/types.d.ts +278 -0
- package/studio/types.d.ts.map +1 -0
- package/studio/types.js +71 -0
- package/studio/validate.d.ts +45 -0
- package/studio/validate.d.ts.map +1 -0
- package/studio/validate.js +255 -0
- package/studio/validation.d.ts +112 -0
- package/studio/validation.d.ts.map +1 -0
- package/studio/validation.js +42 -0
- package/style/factory.d.ts +30 -0
- package/style/factory.d.ts.map +1 -0
- package/style/factory.js +61 -0
- package/style/index.d.ts +25 -0
- package/style/index.d.ts.map +1 -0
- package/style/index.js +24 -0
- package/style/specification.d.ts +203 -0
- package/style/specification.d.ts.map +1 -0
- package/style/specification.js +178 -0
- package/style/wms-wmts-resolvers.d.ts +38 -0
- package/style/wms-wmts-resolvers.d.ts.map +1 -0
- package/style/wms-wmts-resolvers.js +92 -0
- package/web-components/controller.d.ts +39 -0
- package/web-components/controller.d.ts.map +1 -0
- package/web-components/controller.js +640 -0
- package/web-components/elements.d.ts +210 -0
- package/web-components/elements.d.ts.map +1 -0
- package/web-components/elements.js +1651 -0
- package/web-components/index.d.ts +24 -0
- package/web-components/index.d.ts.map +1 -0
- package/web-components/index.js +22 -0
- package/web-components/maplibre-renderer.d.ts +22 -0
- package/web-components/maplibre-renderer.d.ts.map +1 -0
- package/web-components/maplibre-renderer.js +474 -0
- package/web-components/types.d.ts +397 -0
- package/web-components/types.d.ts.map +1 -0
- package/web-components/types.js +1 -0
- package/webmap/contract.d.ts +28 -0
- package/webmap/contract.d.ts.map +1 -0
- package/webmap/contract.js +130 -0
- package/webmap/convert-basemap.d.ts +17 -0
- package/webmap/convert-basemap.d.ts.map +1 -0
- package/webmap/convert-basemap.js +78 -0
- package/webmap/convert-extent.d.ts +17 -0
- package/webmap/convert-extent.d.ts.map +1 -0
- package/webmap/convert-extent.js +114 -0
- package/webmap/convert-label.d.ts +13 -0
- package/webmap/convert-label.d.ts.map +1 -0
- package/webmap/convert-label.js +125 -0
- package/webmap/convert-layer.d.ts +22 -0
- package/webmap/convert-layer.d.ts.map +1 -0
- package/webmap/convert-layer.js +181 -0
- package/webmap/convert-popup.d.ts +34 -0
- package/webmap/convert-popup.d.ts.map +1 -0
- package/webmap/convert-popup.js +68 -0
- package/webmap/convert-renderer.d.ts +17 -0
- package/webmap/convert-renderer.d.ts.map +1 -0
- package/webmap/convert-renderer.js +161 -0
- package/webmap/convert-symbol.d.ts +17 -0
- package/webmap/convert-symbol.d.ts.map +1 -0
- package/webmap/convert-symbol.js +122 -0
- package/webmap/index.d.ts +44 -0
- package/webmap/index.d.ts.map +1 -0
- package/webmap/index.js +33 -0
- package/webmap/parse.d.ts +25 -0
- package/webmap/parse.d.ts.map +1 -0
- package/webmap/parse.js +83 -0
- package/webmap/types.d.ts +264 -0
- package/webmap/types.d.ts.map +1 -0
- package/webmap/types.js +13 -0
- package/webmap/warnings.d.ts +30 -0
- package/webmap/warnings.d.ts.map +1 -0
- package/webmap/warnings.js +37 -0
|
@@ -0,0 +1,455 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol-neutral temporal data-history contracts.
|
|
3
|
+
*
|
|
4
|
+
* Honua exposes temporal history — "git over data" — from many surfaces:
|
|
5
|
+
* Console, MCP clients in Claude/GPT, the QGIS plugin, and Studio-generated
|
|
6
|
+
* maps, dashboards, and reports. This module is the single shared vocabulary
|
|
7
|
+
* those surfaces speak so AI prompts and UI builders do not drift from server
|
|
8
|
+
* truth. It mirrors the server contract tracked in honua-server#1166 and the
|
|
9
|
+
* Console information model in
|
|
10
|
+
* `honua-console/docs/architecture/temporal-data-viewer-information-model.md`.
|
|
11
|
+
*
|
|
12
|
+
* It is intentionally a contract surface only: it describes the request
|
|
13
|
+
* envelopes SDK callers send and the response shapes apps render. Unsupported
|
|
14
|
+
* capabilities are represented explicitly (`mode: "none"`, capability flags,
|
|
15
|
+
* and {@link TemporalError} codes) rather than inferred from missing fields,
|
|
16
|
+
* so a read-only history source is never confused with named-version editing
|
|
17
|
+
* (honua-server#371).
|
|
18
|
+
*
|
|
19
|
+
* The {@link createTemporalClient} factory layers thin request builders over
|
|
20
|
+
* any client that can issue a JSON request (the SDK's `HonuaClient` satisfies
|
|
21
|
+
* it via `pipelineRequestJson`); it does not couple to a concrete transport.
|
|
22
|
+
*
|
|
23
|
+
* @module
|
|
24
|
+
*/
|
|
25
|
+
import type { SpatialFilter } from "../core/spatial-filter.js";
|
|
26
|
+
import type { HonuaExtent } from "../core/types.js";
|
|
27
|
+
import type { FeatureId, SourceId } from "./types.js";
|
|
28
|
+
export declare const TEMPORAL_SCHEMA_VERSION: "honua.temporal.v1";
|
|
29
|
+
export declare const TEMPORAL_CAPABILITY: "temporalHistory";
|
|
30
|
+
/** Route prefix every temporal endpoint shares. */
|
|
31
|
+
export declare const TEMPORAL_ROUTE_PREFIX: "/temporal";
|
|
32
|
+
/**
|
|
33
|
+
* Canonical request routes. Large diff and rollback operations return job
|
|
34
|
+
* references (see {@link TemporalDiff.job} / {@link TemporalRollbackOperation})
|
|
35
|
+
* rather than forcing synchronous responses.
|
|
36
|
+
*/
|
|
37
|
+
export declare const TEMPORAL_ROUTES: {
|
|
38
|
+
readonly capabilities: "/temporal/capabilities";
|
|
39
|
+
readonly checkpoints: "/temporal/checkpoints";
|
|
40
|
+
readonly queryAsOf: "/temporal/query-as-of";
|
|
41
|
+
readonly diff: "/temporal/diff";
|
|
42
|
+
readonly diffStatus: "/temporal/diffs/{diffId}";
|
|
43
|
+
readonly featureTimeline: "/temporal/features/{featureId}/timeline";
|
|
44
|
+
readonly rollbackPlans: "/temporal/rollback-plans";
|
|
45
|
+
readonly rollbackOperations: "/temporal/rollback-operations";
|
|
46
|
+
readonly rollbackOperationStatus: "/temporal/rollback-operations/{operationId}";
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* What a layer or table can support. `none` means temporal history is
|
|
50
|
+
* unavailable; the richer modes are additive (`rollback` implies `diff`,
|
|
51
|
+
* `history`, and `as_of` are also offered). Capability discovery is
|
|
52
|
+
* server-owned — clients must not infer a mode from the presence of fields.
|
|
53
|
+
*/
|
|
54
|
+
export type TemporalMode = "none" | "as_of" | "history" | "diff" | "rollback";
|
|
55
|
+
/** Underlying history model. Opaque to apps; surfaced for diagnostics only. */
|
|
56
|
+
export type TemporalHistoryModel = "system_versioned" | "valid_time" | "transaction_time" | "bitemporal" | "delta_log" | "external_audit";
|
|
57
|
+
/** Cursor kinds a checkpoint can address. */
|
|
58
|
+
export type TemporalCursorType = "timestamp" | "transaction" | "release" | "job" | "named_checkpoint";
|
|
59
|
+
/** Operation that produced a revision. */
|
|
60
|
+
export type TemporalRevisionOperation = "insert" | "update" | "delete" | "restore";
|
|
61
|
+
/** Operation that produced a change set. */
|
|
62
|
+
export type TemporalChangeSetOperationKind = "interactive_edit" | "bulk_import" | "etl_job" | "metadata_release" | "sync" | "rollback";
|
|
63
|
+
/** Per-feature change classification within a diff. */
|
|
64
|
+
export type TemporalFeatureChangeType = "added" | "removed" | "updated" | "unchanged";
|
|
65
|
+
/** Scope a rollback targets. */
|
|
66
|
+
export type TemporalRollbackScope = "feature" | "selection" | "layer" | "change_set" | "release";
|
|
67
|
+
/** How a rollback would be carried out. */
|
|
68
|
+
export type TemporalRollbackMode = "metadata_only" | "data_revert" | "service_revision_switch" | "script_required" | "manual";
|
|
69
|
+
/** Coarse risk band the server assigns to a rollback plan. */
|
|
70
|
+
export type TemporalRiskLevel = "low" | "medium" | "high";
|
|
71
|
+
/** Lifecycle of a rollback operation. Mirrors {@link import("./jobs.js").JobStatus}. */
|
|
72
|
+
export type TemporalRollbackStatus = "accepted" | "running" | "successful" | "failed" | "dismissed";
|
|
73
|
+
/** Lifecycle of an asynchronously produced diff. */
|
|
74
|
+
export type TemporalDiffStatus = "accepted" | "running" | "successful" | "failed" | "dismissed";
|
|
75
|
+
/**
|
|
76
|
+
* Stable machine codes for temporal error/status conditions. Servers and SDK
|
|
77
|
+
* helpers use these so consumers branch on a code rather than parse prose.
|
|
78
|
+
*/
|
|
79
|
+
export type TemporalErrorCode = "unsupported-history" | "masked-fields" | "expired-retention" | "large-diff-job-required" | "rollback-blocked" | "approval-required";
|
|
80
|
+
/** Error/status envelope shared by every temporal surface. */
|
|
81
|
+
export interface TemporalError {
|
|
82
|
+
code: TemporalErrorCode;
|
|
83
|
+
message: string;
|
|
84
|
+
/** Fields the server masked from the response when `code` is `masked-fields`. */
|
|
85
|
+
maskedFields?: readonly string[];
|
|
86
|
+
/** Job reference to follow when `code` is `large-diff-job-required`. */
|
|
87
|
+
job?: TemporalJobRef;
|
|
88
|
+
/** Approver roles/identities required when `code` is `approval-required`. */
|
|
89
|
+
requiredApprovals?: readonly string[];
|
|
90
|
+
/** Optional retention boundary the request fell outside of. */
|
|
91
|
+
retentionExpiresAt?: string;
|
|
92
|
+
details?: unknown;
|
|
93
|
+
}
|
|
94
|
+
/** Reference to a server job that produces a large diff or runs a rollback. */
|
|
95
|
+
export interface TemporalJobRef {
|
|
96
|
+
jobRunId: string;
|
|
97
|
+
/** Stable status code if the server reports one inline. */
|
|
98
|
+
status?: TemporalDiffStatus | TemporalRollbackStatus;
|
|
99
|
+
/** Links to artifacts (diff pages, rollback evidence) when produced. */
|
|
100
|
+
artifactRefs?: readonly string[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* What a source supports. Read-only history (`rollbackSupported: false`) is
|
|
104
|
+
* always distinguishable from named-version editing, which is a separate
|
|
105
|
+
* contract (honua-server#371).
|
|
106
|
+
*/
|
|
107
|
+
export interface TemporalSourceCapability {
|
|
108
|
+
sourceId: SourceId;
|
|
109
|
+
resourceId?: string;
|
|
110
|
+
layerId?: string | number;
|
|
111
|
+
mode: TemporalMode;
|
|
112
|
+
historyModel?: TemporalHistoryModel;
|
|
113
|
+
stableFeatureIdField?: string;
|
|
114
|
+
validFromField?: string;
|
|
115
|
+
validToField?: string;
|
|
116
|
+
transactionIdField?: string;
|
|
117
|
+
actorField?: string;
|
|
118
|
+
operationIdField?: string;
|
|
119
|
+
geometryHistorySupported: boolean;
|
|
120
|
+
attributeHistorySupported: boolean;
|
|
121
|
+
rollbackSupported: boolean;
|
|
122
|
+
retentionPolicyId?: string;
|
|
123
|
+
schemaEvolutionPolicy?: string;
|
|
124
|
+
/** Smallest snapshot granularity, e.g. ISO-8601 duration `"PT1H"`. */
|
|
125
|
+
minimumSnapshotGranularity?: string;
|
|
126
|
+
/** Largest diff window the server will compute synchronously, ISO-8601. */
|
|
127
|
+
maxDiffWindow?: string;
|
|
128
|
+
changeTrackingSupported?: boolean;
|
|
129
|
+
}
|
|
130
|
+
/** Named or implicit point usable as a history cursor. */
|
|
131
|
+
export interface TemporalCheckpoint {
|
|
132
|
+
checkpointId: string;
|
|
133
|
+
sourceId: SourceId;
|
|
134
|
+
resourceId?: string;
|
|
135
|
+
cursorType: TemporalCursorType;
|
|
136
|
+
/** Cursor payload; an ISO-8601 timestamp, transaction id, release id, etc. */
|
|
137
|
+
cursorValue: string;
|
|
138
|
+
label?: string;
|
|
139
|
+
createdAt?: string;
|
|
140
|
+
createdBy?: string;
|
|
141
|
+
operationRef?: string;
|
|
142
|
+
gitRef?: string;
|
|
143
|
+
jobRunId?: string;
|
|
144
|
+
metadataReleaseId?: string;
|
|
145
|
+
}
|
|
146
|
+
/** One committed state of one feature or row. */
|
|
147
|
+
export interface TemporalRevision {
|
|
148
|
+
revisionId: string;
|
|
149
|
+
sourceId: SourceId;
|
|
150
|
+
featureId: FeatureId;
|
|
151
|
+
validFrom?: string;
|
|
152
|
+
validTo?: string;
|
|
153
|
+
transactionTime?: string;
|
|
154
|
+
operation: TemporalRevisionOperation;
|
|
155
|
+
actorId?: string;
|
|
156
|
+
actorDisplayName?: string;
|
|
157
|
+
sourceClient?: string;
|
|
158
|
+
jobRunId?: string;
|
|
159
|
+
releaseOperationId?: string;
|
|
160
|
+
editSessionId?: string;
|
|
161
|
+
reason?: string;
|
|
162
|
+
schemaVersion?: string;
|
|
163
|
+
geometryDigest?: string;
|
|
164
|
+
attributeDigest?: string;
|
|
165
|
+
}
|
|
166
|
+
/** A grouped set of revisions caused by one operation. */
|
|
167
|
+
export interface TemporalChangeSet {
|
|
168
|
+
changeSetId: string;
|
|
169
|
+
sourceId: SourceId;
|
|
170
|
+
operationRef?: string;
|
|
171
|
+
operationKind: TemporalChangeSetOperationKind;
|
|
172
|
+
startedAt?: string;
|
|
173
|
+
completedAt?: string;
|
|
174
|
+
actorId?: string;
|
|
175
|
+
status?: string;
|
|
176
|
+
featureCounts?: Readonly<Record<string, number>>;
|
|
177
|
+
fieldCounts?: Readonly<Record<string, number>>;
|
|
178
|
+
geometryChangeCount?: number;
|
|
179
|
+
validationSummary?: unknown;
|
|
180
|
+
/** Whether this change set can be the target of a rollback. */
|
|
181
|
+
rollbackEligibility?: "eligible" | "ineligible" | "requires-approval";
|
|
182
|
+
}
|
|
183
|
+
/** Field-level before/after change. `before`/`after` are absent when masked. */
|
|
184
|
+
export interface TemporalAttributeChange {
|
|
185
|
+
field: string;
|
|
186
|
+
before?: unknown;
|
|
187
|
+
after?: unknown;
|
|
188
|
+
/** True when policy masked the values; see {@link TemporalError} `masked-fields`. */
|
|
189
|
+
masked?: boolean;
|
|
190
|
+
}
|
|
191
|
+
/** Summary of a geometry change between two revisions. */
|
|
192
|
+
export interface TemporalGeometryChange {
|
|
193
|
+
changed: boolean;
|
|
194
|
+
fromDigest?: string;
|
|
195
|
+
toDigest?: string;
|
|
196
|
+
/** Optional server-computed magnitude, e.g. area or vertex delta. */
|
|
197
|
+
magnitude?: number;
|
|
198
|
+
}
|
|
199
|
+
/** Per-feature comparison within a diff or feature timeline. */
|
|
200
|
+
export interface TemporalFeatureDiff {
|
|
201
|
+
featureId: FeatureId;
|
|
202
|
+
changeType: TemporalFeatureChangeType;
|
|
203
|
+
fromRevisionId?: string;
|
|
204
|
+
toRevisionId?: string;
|
|
205
|
+
attributeChanges?: readonly TemporalAttributeChange[];
|
|
206
|
+
geometryChange?: TemporalGeometryChange;
|
|
207
|
+
actorIds?: readonly string[];
|
|
208
|
+
operationRefs?: readonly string[];
|
|
209
|
+
validationFindings?: readonly unknown[];
|
|
210
|
+
}
|
|
211
|
+
/** Aggregate counts for a diff. */
|
|
212
|
+
export interface TemporalDiffSummary {
|
|
213
|
+
addedFeatures: number;
|
|
214
|
+
removedFeatures: number;
|
|
215
|
+
updatedFeatures: number;
|
|
216
|
+
geometryChangedFeatures: number;
|
|
217
|
+
attributeChangedFeatures: number;
|
|
218
|
+
unchangedFeatures?: number;
|
|
219
|
+
}
|
|
220
|
+
/** Server-generated comparison between two checkpoints or time cursors. */
|
|
221
|
+
export interface TemporalDiff {
|
|
222
|
+
diffId: string;
|
|
223
|
+
sourceId: SourceId;
|
|
224
|
+
fromCheckpointId: string;
|
|
225
|
+
toCheckpointId: string;
|
|
226
|
+
status: TemporalDiffStatus;
|
|
227
|
+
extent?: HonuaExtent;
|
|
228
|
+
summary?: TemporalDiffSummary;
|
|
229
|
+
/** A page of per-feature changes; large diffs page via {@link nextCursor}. */
|
|
230
|
+
sampleFeatureChanges?: readonly TemporalFeatureDiff[];
|
|
231
|
+
nextCursor?: string;
|
|
232
|
+
generatedAt?: string;
|
|
233
|
+
expiresAt?: string;
|
|
234
|
+
/** Set when the diff is produced asynchronously by the job runner. */
|
|
235
|
+
job?: TemporalJobRef;
|
|
236
|
+
/** Present on `failed` / unsupported responses. */
|
|
237
|
+
error?: TemporalError;
|
|
238
|
+
}
|
|
239
|
+
/** The complete revision history for one feature. */
|
|
240
|
+
export interface TemporalFeatureTimeline {
|
|
241
|
+
sourceId: SourceId;
|
|
242
|
+
featureId: FeatureId;
|
|
243
|
+
revisions: readonly TemporalRevision[];
|
|
244
|
+
/** Per-revision change detail, parallel to {@link revisions}. */
|
|
245
|
+
changes?: readonly TemporalFeatureDiff[];
|
|
246
|
+
nextCursor?: string;
|
|
247
|
+
error?: TemporalError;
|
|
248
|
+
}
|
|
249
|
+
/** Server-authored plan for a proposed rollback. Immutable evidence. */
|
|
250
|
+
export interface TemporalRollbackPlan {
|
|
251
|
+
rollbackPlanId: string;
|
|
252
|
+
sourceId: SourceId;
|
|
253
|
+
targetScope: TemporalRollbackScope;
|
|
254
|
+
targetCheckpointId: string;
|
|
255
|
+
currentCheckpointId?: string;
|
|
256
|
+
affectedFeatureCount?: number;
|
|
257
|
+
validationFindings?: readonly unknown[];
|
|
258
|
+
compatibilityFindings?: readonly unknown[];
|
|
259
|
+
requiresJob: boolean;
|
|
260
|
+
requiresApproval: boolean;
|
|
261
|
+
rollbackMode: TemporalRollbackMode;
|
|
262
|
+
generatedScriptRef?: string;
|
|
263
|
+
/** Estimated duration as an ISO-8601 duration. */
|
|
264
|
+
estimatedDuration?: string;
|
|
265
|
+
riskLevel?: TemporalRiskLevel;
|
|
266
|
+
/** Set when the plan cannot be produced or rollback is blocked. */
|
|
267
|
+
error?: TemporalError;
|
|
268
|
+
}
|
|
269
|
+
/** Tracked execution record for a rollback. */
|
|
270
|
+
export interface TemporalRollbackOperation {
|
|
271
|
+
rollbackOperationId: string;
|
|
272
|
+
rollbackPlanId: string;
|
|
273
|
+
jobRunId?: string;
|
|
274
|
+
status: TemporalRollbackStatus;
|
|
275
|
+
requestedBy?: string;
|
|
276
|
+
approvedBy?: string;
|
|
277
|
+
startedAt?: string;
|
|
278
|
+
completedAt?: string;
|
|
279
|
+
resultCheckpointId?: string;
|
|
280
|
+
auditEventIds?: readonly string[];
|
|
281
|
+
artifactRefs?: readonly string[];
|
|
282
|
+
failureReason?: string;
|
|
283
|
+
error?: TemporalError;
|
|
284
|
+
}
|
|
285
|
+
/** Shared filter for as-of, diff, and timeline reads. */
|
|
286
|
+
export interface TemporalFilter {
|
|
287
|
+
actorIds?: readonly string[];
|
|
288
|
+
jobRunIds?: readonly string[];
|
|
289
|
+
serviceIds?: readonly string[];
|
|
290
|
+
releaseOperationIds?: readonly string[];
|
|
291
|
+
fields?: readonly string[];
|
|
292
|
+
featureIds?: readonly FeatureId[];
|
|
293
|
+
extent?: HonuaExtent;
|
|
294
|
+
spatialFilter?: SpatialFilter;
|
|
295
|
+
/** Inclusive ISO-8601 time range. */
|
|
296
|
+
from?: string;
|
|
297
|
+
to?: string;
|
|
298
|
+
}
|
|
299
|
+
/** A history cursor: a checkpoint id, or a typed cursor value. */
|
|
300
|
+
export interface TemporalCursor {
|
|
301
|
+
checkpointId?: string;
|
|
302
|
+
cursorType?: TemporalCursorType;
|
|
303
|
+
cursorValue?: string;
|
|
304
|
+
}
|
|
305
|
+
/** Request to read a source's state at a checkpoint or timestamp. */
|
|
306
|
+
export interface TemporalAsOfRequest {
|
|
307
|
+
sourceId: SourceId;
|
|
308
|
+
/** The point in time to read. Provide a checkpoint id or a typed cursor. */
|
|
309
|
+
cursor: TemporalCursor;
|
|
310
|
+
where?: string;
|
|
311
|
+
outFields?: readonly string[];
|
|
312
|
+
filter?: TemporalFilter;
|
|
313
|
+
/** Page size hint for the returned feature window. */
|
|
314
|
+
limit?: number;
|
|
315
|
+
cursorToken?: string;
|
|
316
|
+
}
|
|
317
|
+
/** Request to compute a diff between two cursors. */
|
|
318
|
+
export interface TemporalDiffRequest {
|
|
319
|
+
sourceId: SourceId;
|
|
320
|
+
from: TemporalCursor;
|
|
321
|
+
to: TemporalCursor;
|
|
322
|
+
filter?: TemporalFilter;
|
|
323
|
+
/** Include field-level before/after values when policy allows it. */
|
|
324
|
+
includeAttributeChanges?: boolean;
|
|
325
|
+
includeGeometryChanges?: boolean;
|
|
326
|
+
limit?: number;
|
|
327
|
+
}
|
|
328
|
+
/** Request to read a feature's revision timeline. */
|
|
329
|
+
export interface TemporalFeatureTimelineRequest {
|
|
330
|
+
sourceId: SourceId;
|
|
331
|
+
featureId: FeatureId;
|
|
332
|
+
filter?: TemporalFilter;
|
|
333
|
+
limit?: number;
|
|
334
|
+
cursorToken?: string;
|
|
335
|
+
}
|
|
336
|
+
/** Request to author a rollback plan. */
|
|
337
|
+
export interface TemporalRollbackPlanRequest {
|
|
338
|
+
sourceId: SourceId;
|
|
339
|
+
targetScope: TemporalRollbackScope;
|
|
340
|
+
targetCheckpointId: string;
|
|
341
|
+
/** Required for `feature` / `selection` scopes. */
|
|
342
|
+
featureIds?: readonly FeatureId[];
|
|
343
|
+
/** Required for `layer` scope. */
|
|
344
|
+
layerId?: string | number;
|
|
345
|
+
/** Required for `change_set` scope. */
|
|
346
|
+
changeSetId?: string;
|
|
347
|
+
/** Required for `release` scope. */
|
|
348
|
+
releaseOperationId?: string;
|
|
349
|
+
reason?: string;
|
|
350
|
+
}
|
|
351
|
+
/** Request to execute a previously authored rollback plan. */
|
|
352
|
+
export interface TemporalRollbackExecuteRequest {
|
|
353
|
+
rollbackPlanId: string;
|
|
354
|
+
/** Approver identity when the plan requires approval. */
|
|
355
|
+
approvedBy?: string;
|
|
356
|
+
reason?: string;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Fixture envelope for Console and Studio temporal viewer prototypes. Captures
|
|
360
|
+
* a coherent set of states for one source so apps and tests can render the
|
|
361
|
+
* full viewer without a live server.
|
|
362
|
+
*/
|
|
363
|
+
export interface TemporalContractFixture {
|
|
364
|
+
schemaVersion: typeof TEMPORAL_SCHEMA_VERSION;
|
|
365
|
+
capability: TemporalSourceCapability;
|
|
366
|
+
checkpoints: readonly TemporalCheckpoint[];
|
|
367
|
+
asOf: {
|
|
368
|
+
request: TemporalAsOfRequest;
|
|
369
|
+
revisions: readonly TemporalRevision[];
|
|
370
|
+
};
|
|
371
|
+
diff: {
|
|
372
|
+
request: TemporalDiffRequest;
|
|
373
|
+
response: TemporalDiff;
|
|
374
|
+
};
|
|
375
|
+
featureTimeline: {
|
|
376
|
+
request: TemporalFeatureTimelineRequest;
|
|
377
|
+
response: TemporalFeatureTimeline;
|
|
378
|
+
};
|
|
379
|
+
rollback: {
|
|
380
|
+
planRequest: TemporalRollbackPlanRequest;
|
|
381
|
+
plan: TemporalRollbackPlan;
|
|
382
|
+
operation: TemporalRollbackOperation;
|
|
383
|
+
};
|
|
384
|
+
/** Representative error/status envelopes, keyed by code. */
|
|
385
|
+
errors: Readonly<Record<TemporalErrorCode, TemporalError>>;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* `true` when `capability` advertises at least `required`. The modes are
|
|
389
|
+
* additive, so a `rollback` source also supports `diff`, `history`, and
|
|
390
|
+
* `as_of`. A `none` source never satisfies any positive requirement.
|
|
391
|
+
*/
|
|
392
|
+
export declare function temporalModeSupports(capability: TemporalSourceCapability, required: TemporalMode): boolean;
|
|
393
|
+
/**
|
|
394
|
+
* `true` when the source exposes read-only temporal history but not rollback
|
|
395
|
+
* — the case that must stay distinct from named-version editing.
|
|
396
|
+
*/
|
|
397
|
+
export declare function isReadOnlyTemporalHistory(capability: TemporalSourceCapability): boolean;
|
|
398
|
+
/** Validation issue from {@link validateTemporalRollbackPlanRequest}. */
|
|
399
|
+
export interface TemporalValidationIssue {
|
|
400
|
+
path: string;
|
|
401
|
+
message: string;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Validate the scope-specific fields a rollback plan request must carry.
|
|
405
|
+
* Returns an empty array when valid.
|
|
406
|
+
*/
|
|
407
|
+
export declare function validateTemporalRollbackPlanRequest(request: TemporalRollbackPlanRequest): readonly TemporalValidationIssue[];
|
|
408
|
+
/** Throwing variant of {@link validateTemporalRollbackPlanRequest}. */
|
|
409
|
+
export declare function assertValidTemporalRollbackPlanRequest(request: TemporalRollbackPlanRequest): void;
|
|
410
|
+
/**
|
|
411
|
+
* Minimal client surface the temporal helpers need. The SDK's `HonuaClient`
|
|
412
|
+
* satisfies this via `pipelineRequestJson`; tests can pass a stub. Query
|
|
413
|
+
* parameters belong on `path`.
|
|
414
|
+
*/
|
|
415
|
+
export interface TemporalRequestClient {
|
|
416
|
+
pipelineRequestJson<T = unknown>(method: "GET" | "POST", path: string, init?: {
|
|
417
|
+
headers?: HeadersInit;
|
|
418
|
+
body?: BodyInit | null;
|
|
419
|
+
}, signal?: AbortSignal): Promise<T>;
|
|
420
|
+
}
|
|
421
|
+
/** Options accepted by every temporal client method. */
|
|
422
|
+
export interface TemporalClientCallOptions {
|
|
423
|
+
signal?: AbortSignal;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* Thin request builders over a {@link TemporalRequestClient}. Every method
|
|
427
|
+
* targets a route in {@link TEMPORAL_ROUTES} and returns the canonical shape;
|
|
428
|
+
* unsupported capabilities surface as {@link TemporalError} on the response or
|
|
429
|
+
* as a server error, never as silently empty data.
|
|
430
|
+
*/
|
|
431
|
+
export interface TemporalClient {
|
|
432
|
+
/** Discover what a source supports. */
|
|
433
|
+
capabilities(resourceId: string, options?: TemporalClientCallOptions): Promise<TemporalSourceCapability>;
|
|
434
|
+
/** List checkpoints (history cursors) for a source. */
|
|
435
|
+
listCheckpoints(sourceId: SourceId, options?: TemporalClientCallOptions): Promise<readonly TemporalCheckpoint[]>;
|
|
436
|
+
/** Read a source's state at a checkpoint or timestamp. */
|
|
437
|
+
queryAsOf(request: TemporalAsOfRequest, options?: TemporalClientCallOptions): Promise<readonly TemporalRevision[]>;
|
|
438
|
+
/** Request a diff between two cursors. May return a job reference. */
|
|
439
|
+
requestDiff(request: TemporalDiffRequest, options?: TemporalClientCallOptions): Promise<TemporalDiff>;
|
|
440
|
+
/** Read the status / next page of a previously requested diff. */
|
|
441
|
+
getDiff(diffId: string, options?: TemporalClientCallOptions & {
|
|
442
|
+
cursor?: string;
|
|
443
|
+
}): Promise<TemporalDiff>;
|
|
444
|
+
/** Read a feature's revision timeline. */
|
|
445
|
+
featureTimeline(request: TemporalFeatureTimelineRequest, options?: TemporalClientCallOptions): Promise<TemporalFeatureTimeline>;
|
|
446
|
+
/** Author a rollback plan. */
|
|
447
|
+
createRollbackPlan(request: TemporalRollbackPlanRequest, options?: TemporalClientCallOptions): Promise<TemporalRollbackPlan>;
|
|
448
|
+
/** Execute a previously authored rollback plan. */
|
|
449
|
+
executeRollback(request: TemporalRollbackExecuteRequest, options?: TemporalClientCallOptions): Promise<TemporalRollbackOperation>;
|
|
450
|
+
/** Read the status of a rollback operation. */
|
|
451
|
+
rollbackOperationStatus(operationId: string, options?: TemporalClientCallOptions): Promise<TemporalRollbackOperation>;
|
|
452
|
+
}
|
|
453
|
+
/** Build a {@link TemporalClient} bound to a request client. */
|
|
454
|
+
export declare function createTemporalClient(client: TemporalRequestClient): TemporalClient;
|
|
455
|
+
//# sourceMappingURL=temporal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"temporal.d.ts","sourceRoot":"","sources":["../../../src/contract/temporal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Protocol-neutral temporal data-history contracts.
|
|
3
|
+
*
|
|
4
|
+
* Honua exposes temporal history — "git over data" — from many surfaces:
|
|
5
|
+
* Console, MCP clients in Claude/GPT, the QGIS plugin, and Studio-generated
|
|
6
|
+
* maps, dashboards, and reports. This module is the single shared vocabulary
|
|
7
|
+
* those surfaces speak so AI prompts and UI builders do not drift from server
|
|
8
|
+
* truth. It mirrors the server contract tracked in honua-server#1166 and the
|
|
9
|
+
* Console information model in
|
|
10
|
+
* `honua-console/docs/architecture/temporal-data-viewer-information-model.md`.
|
|
11
|
+
*
|
|
12
|
+
* It is intentionally a contract surface only: it describes the request
|
|
13
|
+
* envelopes SDK callers send and the response shapes apps render. Unsupported
|
|
14
|
+
* capabilities are represented explicitly (`mode: "none"`, capability flags,
|
|
15
|
+
* and {@link TemporalError} codes) rather than inferred from missing fields,
|
|
16
|
+
* so a read-only history source is never confused with named-version editing
|
|
17
|
+
* (honua-server#371).
|
|
18
|
+
*
|
|
19
|
+
* The {@link createTemporalClient} factory layers thin request builders over
|
|
20
|
+
* any client that can issue a JSON request (the SDK's `HonuaClient` satisfies
|
|
21
|
+
* it via `pipelineRequestJson`); it does not couple to a concrete transport.
|
|
22
|
+
*
|
|
23
|
+
* @module
|
|
24
|
+
*/
|
|
25
|
+
export const TEMPORAL_SCHEMA_VERSION = "honua.temporal.v1";
|
|
26
|
+
export const TEMPORAL_CAPABILITY = "temporalHistory";
|
|
27
|
+
/** Route prefix every temporal endpoint shares. */
|
|
28
|
+
export const TEMPORAL_ROUTE_PREFIX = "/temporal";
|
|
29
|
+
/**
|
|
30
|
+
* Canonical request routes. Large diff and rollback operations return job
|
|
31
|
+
* references (see {@link TemporalDiff.job} / {@link TemporalRollbackOperation})
|
|
32
|
+
* rather than forcing synchronous responses.
|
|
33
|
+
*/
|
|
34
|
+
export const TEMPORAL_ROUTES = {
|
|
35
|
+
capabilities: "/temporal/capabilities",
|
|
36
|
+
checkpoints: "/temporal/checkpoints",
|
|
37
|
+
queryAsOf: "/temporal/query-as-of",
|
|
38
|
+
diff: "/temporal/diff",
|
|
39
|
+
diffStatus: "/temporal/diffs/{diffId}",
|
|
40
|
+
featureTimeline: "/temporal/features/{featureId}/timeline",
|
|
41
|
+
rollbackPlans: "/temporal/rollback-plans",
|
|
42
|
+
rollbackOperations: "/temporal/rollback-operations",
|
|
43
|
+
rollbackOperationStatus: "/temporal/rollback-operations/{operationId}",
|
|
44
|
+
};
|
|
45
|
+
const MODE_RANK = {
|
|
46
|
+
none: 0,
|
|
47
|
+
as_of: 1,
|
|
48
|
+
history: 2,
|
|
49
|
+
diff: 3,
|
|
50
|
+
rollback: 4,
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* `true` when `capability` advertises at least `required`. The modes are
|
|
54
|
+
* additive, so a `rollback` source also supports `diff`, `history`, and
|
|
55
|
+
* `as_of`. A `none` source never satisfies any positive requirement.
|
|
56
|
+
*/
|
|
57
|
+
export function temporalModeSupports(capability, required) {
|
|
58
|
+
if (required === "none")
|
|
59
|
+
return true;
|
|
60
|
+
return MODE_RANK[capability.mode] >= MODE_RANK[required];
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* `true` when the source exposes read-only temporal history but not rollback
|
|
64
|
+
* — the case that must stay distinct from named-version editing.
|
|
65
|
+
*/
|
|
66
|
+
export function isReadOnlyTemporalHistory(capability) {
|
|
67
|
+
return capability.mode !== "none" && !capability.rollbackSupported;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Validate the scope-specific fields a rollback plan request must carry.
|
|
71
|
+
* Returns an empty array when valid.
|
|
72
|
+
*/
|
|
73
|
+
export function validateTemporalRollbackPlanRequest(request) {
|
|
74
|
+
const issues = [];
|
|
75
|
+
if (!request.sourceId)
|
|
76
|
+
issues.push({ path: "sourceId", message: "sourceId is required" });
|
|
77
|
+
if (!request.targetCheckpointId) {
|
|
78
|
+
issues.push({ path: "targetCheckpointId", message: "targetCheckpointId is required" });
|
|
79
|
+
}
|
|
80
|
+
if ((request.targetScope === "feature" || request.targetScope === "selection") && !hasItems(request.featureIds)) {
|
|
81
|
+
issues.push({ path: "featureIds", message: `${request.targetScope} rollback requires featureIds` });
|
|
82
|
+
}
|
|
83
|
+
if (request.targetScope === "layer" && request.layerId === undefined) {
|
|
84
|
+
issues.push({ path: "layerId", message: "layer rollback requires layerId" });
|
|
85
|
+
}
|
|
86
|
+
if (request.targetScope === "change_set" && !request.changeSetId) {
|
|
87
|
+
issues.push({ path: "changeSetId", message: "change_set rollback requires changeSetId" });
|
|
88
|
+
}
|
|
89
|
+
if (request.targetScope === "release" && !request.releaseOperationId) {
|
|
90
|
+
issues.push({ path: "releaseOperationId", message: "release rollback requires releaseOperationId" });
|
|
91
|
+
}
|
|
92
|
+
return issues;
|
|
93
|
+
}
|
|
94
|
+
/** Throwing variant of {@link validateTemporalRollbackPlanRequest}. */
|
|
95
|
+
export function assertValidTemporalRollbackPlanRequest(request) {
|
|
96
|
+
const issues = validateTemporalRollbackPlanRequest(request);
|
|
97
|
+
if (issues.length > 0) {
|
|
98
|
+
throw new Error(`Invalid temporal rollback plan request: ${issues.map((issue) => issue.path).join(", ")}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/** Build a {@link TemporalClient} bound to a request client. */
|
|
102
|
+
export function createTemporalClient(client) {
|
|
103
|
+
const jsonInit = (body) => ({
|
|
104
|
+
headers: { "content-type": "application/json" },
|
|
105
|
+
body: JSON.stringify(body),
|
|
106
|
+
});
|
|
107
|
+
return {
|
|
108
|
+
capabilities(resourceId, options) {
|
|
109
|
+
const path = `${TEMPORAL_ROUTES.capabilities}?resourceId=${encodeURIComponent(resourceId)}`;
|
|
110
|
+
return client.pipelineRequestJson("GET", path, undefined, options?.signal);
|
|
111
|
+
},
|
|
112
|
+
listCheckpoints(sourceId, options) {
|
|
113
|
+
const path = `${TEMPORAL_ROUTES.checkpoints}?sourceId=${encodeURIComponent(String(sourceId))}`;
|
|
114
|
+
return client.pipelineRequestJson("GET", path, undefined, options?.signal);
|
|
115
|
+
},
|
|
116
|
+
queryAsOf(request, options) {
|
|
117
|
+
return client.pipelineRequestJson("POST", TEMPORAL_ROUTES.queryAsOf, jsonInit(request), options?.signal);
|
|
118
|
+
},
|
|
119
|
+
requestDiff(request, options) {
|
|
120
|
+
return client.pipelineRequestJson("POST", TEMPORAL_ROUTES.diff, jsonInit(request), options?.signal);
|
|
121
|
+
},
|
|
122
|
+
getDiff(diffId, options) {
|
|
123
|
+
const base = TEMPORAL_ROUTES.diffStatus.replace("{diffId}", encodeURIComponent(diffId));
|
|
124
|
+
const path = options?.cursor ? `${base}?cursor=${encodeURIComponent(options.cursor)}` : base;
|
|
125
|
+
return client.pipelineRequestJson("GET", path, undefined, options?.signal);
|
|
126
|
+
},
|
|
127
|
+
featureTimeline(request, options) {
|
|
128
|
+
const path = TEMPORAL_ROUTES.featureTimeline.replace("{featureId}", encodeURIComponent(String(request.featureId)));
|
|
129
|
+
return client.pipelineRequestJson("POST", path, jsonInit(request), options?.signal);
|
|
130
|
+
},
|
|
131
|
+
async createRollbackPlan(request, options) {
|
|
132
|
+
assertValidTemporalRollbackPlanRequest(request);
|
|
133
|
+
return client.pipelineRequestJson("POST", TEMPORAL_ROUTES.rollbackPlans, jsonInit(request), options?.signal);
|
|
134
|
+
},
|
|
135
|
+
executeRollback(request, options) {
|
|
136
|
+
return client.pipelineRequestJson("POST", TEMPORAL_ROUTES.rollbackOperations, jsonInit(request), options?.signal);
|
|
137
|
+
},
|
|
138
|
+
rollbackOperationStatus(operationId, options) {
|
|
139
|
+
const path = TEMPORAL_ROUTES.rollbackOperationStatus.replace("{operationId}", encodeURIComponent(operationId));
|
|
140
|
+
return client.pipelineRequestJson("GET", path, undefined, options?.signal);
|
|
141
|
+
},
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
function hasItems(value) {
|
|
145
|
+
return Array.isArray(value) && value.length > 0;
|
|
146
|
+
}
|