@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,167 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed mirror of the server-produced `MapPackage` (honua-server #731). The
|
|
3
|
+
* package shape is `honua_map_package.v1` — the format string is the
|
|
4
|
+
* canonical version gate and the runtime loader refuses other values.
|
|
5
|
+
*
|
|
6
|
+
* Field names mirror the server's camelCase JSON; see
|
|
7
|
+
* `/honua-server/docs/developer/AI_OPERATOR_CONTRACT.md#MapPackage` for the
|
|
8
|
+
* authoritative definition. The runtime preserves unknown fields on the
|
|
9
|
+
* package through `updatePackage` so minor additive changes do not break
|
|
10
|
+
* callers.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
import type { HonuaStyleSpecification } from "../style/specification.js";
|
|
15
|
+
/** Canonical format string for the v1 MapPackage shape. */
|
|
16
|
+
export declare const HONUA_MAP_PACKAGE_FORMAT_V1: "honua_map_package.v1";
|
|
17
|
+
/** Canonical format string for the v1 MapPackage shape. */
|
|
18
|
+
export type HonuaMapPackageFormat = typeof HONUA_MAP_PACKAGE_FORMAT_V1;
|
|
19
|
+
/** Lifecycle states a MapPackage may occupy server-side. */
|
|
20
|
+
export type HonuaMapPackageStatus = "Draft" | "Composing" | "Ready" | "Failed" | "Expired";
|
|
21
|
+
/**
|
|
22
|
+
* Server `SourceBinding.protocol` enum. Uses snake_case to match the
|
|
23
|
+
* server wire format. Translated to the SDK's kebab-case `Protocol`
|
|
24
|
+
* union in `source-bridge.ts`.
|
|
25
|
+
*/
|
|
26
|
+
export type HonuaMapPackageProtocol = "geoservices_feature_service" | "geoservices_map_service" | "ogc_features" | "ogc_maps" | "ogc_tiles" | "wfs" | "wms" | "wmts" | "odata" | "vector_tile" | "raster_tile" | "pmtiles" | "workspace_artifact";
|
|
27
|
+
/** Protocol-specific endpoint information attached to a binding. */
|
|
28
|
+
export interface HonuaMapPackageLocator {
|
|
29
|
+
url?: string;
|
|
30
|
+
serviceId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* The server's canonical `SourceLocator.LayerId` is `string?`
|
|
33
|
+
* (`honua-server/src/Honua.Core/Features/Geoprocessing/Domain/SourceBinding.cs`).
|
|
34
|
+
* Numeric forms (`0`) are accepted to match the SDK's historical
|
|
35
|
+
* shape; both variants are coerced to a number inside
|
|
36
|
+
* `projectSourceBindings` before hitting `createDataset`.
|
|
37
|
+
*/
|
|
38
|
+
layerId?: number | string;
|
|
39
|
+
collectionId?: string | number;
|
|
40
|
+
typeName?: string;
|
|
41
|
+
entitySet?: string;
|
|
42
|
+
/** Allow additive fields from newer server revisions. */
|
|
43
|
+
[extra: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
/** One inlined `SourceBinding` entry on a MapPackage. */
|
|
46
|
+
export interface HonuaMapPackageSourceBinding {
|
|
47
|
+
sourceId: string;
|
|
48
|
+
protocol: HonuaMapPackageProtocol;
|
|
49
|
+
locator: HonuaMapPackageLocator;
|
|
50
|
+
/** Server-side filter expression (protocol-specific). */
|
|
51
|
+
filter?: string;
|
|
52
|
+
/** Optional free-form attribution text. */
|
|
53
|
+
attribution?: string;
|
|
54
|
+
/** Out-of-band binding metadata. Preserved round-trip. */
|
|
55
|
+
metadata?: Record<string, string>;
|
|
56
|
+
}
|
|
57
|
+
/** A style reference carried inline on the package body. */
|
|
58
|
+
export interface HonuaMapPackageStyleRef {
|
|
59
|
+
styleId: string;
|
|
60
|
+
label?: string;
|
|
61
|
+
presetId?: string;
|
|
62
|
+
/**
|
|
63
|
+
* Inline body — MapLibre `paint` / `layout` overrides keyed by layer id.
|
|
64
|
+
* Draft-1 of honua-server#731 attaches bodies inline; when the server
|
|
65
|
+
* moves to out-of-band retrieval, callers supply `resolveStyleRef` on the
|
|
66
|
+
* loader instead.
|
|
67
|
+
*/
|
|
68
|
+
body?: HonuaStyleRefBody;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Resolved `StyleRef` body. Keys name MapLibre layers; values are partial
|
|
72
|
+
* layer overrides (paint/layout/minzoom/maxzoom/filter/metadata). Token
|
|
73
|
+
* placeholders in the form `{theme:key}` are substituted during
|
|
74
|
+
* composition from the active {@link HonuaMapPackageThemeSpec}.
|
|
75
|
+
*/
|
|
76
|
+
export type HonuaStyleRefBody = Record<string, HonuaStyleRefLayerOverride>;
|
|
77
|
+
/** Partial layer specification applied on top of `mapSpec.layers[i]`. */
|
|
78
|
+
export interface HonuaStyleRefLayerOverride {
|
|
79
|
+
paint?: Record<string, unknown>;
|
|
80
|
+
layout?: Record<string, unknown>;
|
|
81
|
+
minzoom?: number;
|
|
82
|
+
maxzoom?: number;
|
|
83
|
+
filter?: unknown;
|
|
84
|
+
metadata?: Record<string, unknown>;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Resolved `ThemeSpec`. v1 uses a flat, name-keyed token map. Richer
|
|
88
|
+
* ramp / typography shapes can be added without breaking the runtime
|
|
89
|
+
* public surface.
|
|
90
|
+
*/
|
|
91
|
+
export interface HonuaMapPackageThemeSpec {
|
|
92
|
+
themeId?: string;
|
|
93
|
+
tokens?: Record<string, string | number>;
|
|
94
|
+
}
|
|
95
|
+
/** Initial camera / extent for the composed map. */
|
|
96
|
+
export interface HonuaMapPackageInitialView {
|
|
97
|
+
bbox?: readonly [number, number, number, number];
|
|
98
|
+
center?: readonly [number, number];
|
|
99
|
+
zoom?: number;
|
|
100
|
+
pitch?: number;
|
|
101
|
+
bearing?: number;
|
|
102
|
+
crs?: string;
|
|
103
|
+
}
|
|
104
|
+
/** Legend swatch rendered by the runtime. */
|
|
105
|
+
export interface HonuaMapPackageLegendEntry {
|
|
106
|
+
label: string;
|
|
107
|
+
color?: string;
|
|
108
|
+
minValue?: number;
|
|
109
|
+
maxValue?: number;
|
|
110
|
+
/** Optional symbol URL for icon-based legends. */
|
|
111
|
+
iconUrl?: string;
|
|
112
|
+
}
|
|
113
|
+
/** Popup binding surface; resolved into a click handler by the runtime. */
|
|
114
|
+
export interface HonuaMapPackagePopupBinding {
|
|
115
|
+
sourceId: string;
|
|
116
|
+
/** Name of the source field to render. Optional when `template` is set. */
|
|
117
|
+
fieldName?: string;
|
|
118
|
+
/**
|
|
119
|
+
* Optional template. Default is a list of `key: value` rows rendered in
|
|
120
|
+
* a neutral, unstyled DOM subtree — `#29` operator components replace it.
|
|
121
|
+
*/
|
|
122
|
+
template?: string;
|
|
123
|
+
/** Optional HTML title for the popup. */
|
|
124
|
+
title?: string;
|
|
125
|
+
}
|
|
126
|
+
/** Label binding surface (v1 is pass-through metadata for the runtime). */
|
|
127
|
+
export interface HonuaMapPackageLabelBinding {
|
|
128
|
+
sourceId: string;
|
|
129
|
+
fieldName: string;
|
|
130
|
+
placement?: "point" | "line" | "polygon";
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* v1 MapPackage shape — mirrors the draft server type in
|
|
134
|
+
* `/home/makani/honua-server/src/Honua.Core/Features/Geoprocessing/Domain/MapPackage.cs`.
|
|
135
|
+
* Unknown fields are preserved through `updatePackage` round-trip so
|
|
136
|
+
* minor additive changes do not break runtime consumers.
|
|
137
|
+
*/
|
|
138
|
+
export interface HonuaMapPackage {
|
|
139
|
+
mapPackageId: string;
|
|
140
|
+
format: HonuaMapPackageFormat;
|
|
141
|
+
status?: HonuaMapPackageStatus;
|
|
142
|
+
createdAt?: string;
|
|
143
|
+
updatedAt?: string;
|
|
144
|
+
/** Optional server retention / hosting expiry timestamp. */
|
|
145
|
+
expiresAt?: string;
|
|
146
|
+
templateId?: string;
|
|
147
|
+
themeId?: string;
|
|
148
|
+
/** Optional inline theme body. Overrides out-of-band theme lookup. */
|
|
149
|
+
theme?: HonuaMapPackageThemeSpec;
|
|
150
|
+
previewArtifactId?: string;
|
|
151
|
+
sourceBindings: readonly HonuaMapPackageSourceBinding[];
|
|
152
|
+
styleRefs?: readonly HonuaMapPackageStyleRef[];
|
|
153
|
+
/**
|
|
154
|
+
* MapLibre-compatible style document. The runtime composes style-ref
|
|
155
|
+
* overrides and theme tokens into this body before handing it to
|
|
156
|
+
* `maplibre-gl.Map.setStyle`.
|
|
157
|
+
*/
|
|
158
|
+
mapSpec: HonuaStyleSpecification;
|
|
159
|
+
initialView?: HonuaMapPackageInitialView;
|
|
160
|
+
legend?: readonly HonuaMapPackageLegendEntry[];
|
|
161
|
+
popupBindings?: readonly HonuaMapPackagePopupBinding[];
|
|
162
|
+
labelBindings?: readonly HonuaMapPackageLabelBinding[];
|
|
163
|
+
boundArtifacts?: readonly string[];
|
|
164
|
+
/** Preserve additive fields through round-trip without forcing a type bump. */
|
|
165
|
+
[extra: string]: unknown;
|
|
166
|
+
}
|
|
167
|
+
//# sourceMappingURL=map-package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-package.d.ts","sourceRoot":"","sources":["../../../src/runtime/map-package.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Typed mirror of the server-produced `MapPackage` (honua-server #731). The
|
|
3
|
+
* package shape is `honua_map_package.v1` — the format string is the
|
|
4
|
+
* canonical version gate and the runtime loader refuses other values.
|
|
5
|
+
*
|
|
6
|
+
* Field names mirror the server's camelCase JSON; see
|
|
7
|
+
* `/honua-server/docs/developer/AI_OPERATOR_CONTRACT.md#MapPackage` for the
|
|
8
|
+
* authoritative definition. The runtime preserves unknown fields on the
|
|
9
|
+
* package through `updatePackage` so minor additive changes do not break
|
|
10
|
+
* callers.
|
|
11
|
+
*
|
|
12
|
+
* @module
|
|
13
|
+
*/
|
|
14
|
+
/** Canonical format string for the v1 MapPackage shape. */
|
|
15
|
+
export const HONUA_MAP_PACKAGE_FORMAT_V1 = "honua_map_package.v1";
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OGC API – Styles client + StyleRef resolver.
|
|
3
|
+
*
|
|
4
|
+
* Consumes the server's OGC API – Styles surface (honua-server, ADR-0048) so
|
|
5
|
+
* that `styleRefs.styleId` aligns with the server's canonical styleId instead
|
|
6
|
+
* of relying on an ad-hoc, caller-supplied callback:
|
|
7
|
+
*
|
|
8
|
+
* GET /ogc/styles -> { styles: [{ id, title, links }], default? }
|
|
9
|
+
* GET /ogc/styles/{styleId} -> MapLibre style document
|
|
10
|
+
* (Accept: application/vnd.mapbox.style+json — content negotiated)
|
|
11
|
+
* GET /ogc/styles/{styleId}/metadata -> style metadata document
|
|
12
|
+
*
|
|
13
|
+
* The {@link createOgcStyleRefResolver} factory adapts the full MapLibre style
|
|
14
|
+
* document returned by `/ogc/styles/{styleId}` into the per-layer
|
|
15
|
+
* {@link HonuaStyleRefBody} override map consumed by `applyStyleRefs`. This is
|
|
16
|
+
* wired as the default StyleRef resolution path in the runtime loader, while a
|
|
17
|
+
* caller-supplied callback remains supported as a back-compat override.
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
import type { HonuaClient } from "../core/client.js";
|
|
22
|
+
import type { HonuaStyleSpecification } from "../style/specification.js";
|
|
23
|
+
import type { HonuaStyleRefBody } from "./map-package.js";
|
|
24
|
+
import type { StyleRefResolver } from "./style-compose.js";
|
|
25
|
+
/** Default path prefix for the server's OGC API – Styles surface. */
|
|
26
|
+
export declare const DEFAULT_OGC_STYLES_PATH_PREFIX = "/ogc/styles";
|
|
27
|
+
/**
|
|
28
|
+
* MapLibre style media type used to content-negotiate the encoded style
|
|
29
|
+
* document from `/ogc/styles/{styleId}`. Matches the server default.
|
|
30
|
+
*/
|
|
31
|
+
export declare const MAPLIBRE_STYLE_MEDIA_TYPE = "application/vnd.mapbox.style+json";
|
|
32
|
+
/** A link entry on a styles list / style metadata document. */
|
|
33
|
+
export interface OgcStyleLink {
|
|
34
|
+
readonly rel: string;
|
|
35
|
+
readonly type?: string;
|
|
36
|
+
readonly href: string;
|
|
37
|
+
readonly title?: string;
|
|
38
|
+
}
|
|
39
|
+
/** One entry in the `/ogc/styles` style list. */
|
|
40
|
+
export interface OgcStyleListEntry {
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly title?: string;
|
|
43
|
+
readonly links?: readonly OgcStyleLink[];
|
|
44
|
+
}
|
|
45
|
+
/** Response body of `GET /ogc/styles`. */
|
|
46
|
+
export interface OgcStyleList {
|
|
47
|
+
readonly styles: readonly OgcStyleListEntry[];
|
|
48
|
+
/** Server-designated default styleId, when present. */
|
|
49
|
+
readonly default?: string;
|
|
50
|
+
}
|
|
51
|
+
/** Options shared by the OGC styles client calls. */
|
|
52
|
+
export interface OgcStylesRequestOptions {
|
|
53
|
+
readonly signal?: AbortSignal;
|
|
54
|
+
readonly headers?: HeadersInit;
|
|
55
|
+
}
|
|
56
|
+
/** Options for constructing an OGC styles client. */
|
|
57
|
+
export interface OgcStylesClientOptions {
|
|
58
|
+
readonly client: HonuaClient;
|
|
59
|
+
/**
|
|
60
|
+
* Override the OGC styles path prefix. Defaults to
|
|
61
|
+
* {@link DEFAULT_OGC_STYLES_PATH_PREFIX} (`/ogc/styles`).
|
|
62
|
+
*/
|
|
63
|
+
readonly pathPrefix?: string;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Thin client over the server's OGC API – Styles surface. Uses the shared
|
|
67
|
+
* {@link HonuaClient} request pipeline (auth / retry / interceptors), matching
|
|
68
|
+
* the other `/ogc/*` consumers in the SDK.
|
|
69
|
+
*/
|
|
70
|
+
export declare class OgcStylesClient {
|
|
71
|
+
private readonly client;
|
|
72
|
+
private readonly pathPrefix;
|
|
73
|
+
constructor(options: OgcStylesClientOptions);
|
|
74
|
+
/** List available styles via `GET /ogc/styles`. */
|
|
75
|
+
listStyles(options?: OgcStylesRequestOptions): Promise<OgcStyleList>;
|
|
76
|
+
/**
|
|
77
|
+
* Fetch the MapLibre style document for `styleId` via
|
|
78
|
+
* `GET /ogc/styles/{styleId}` (content-negotiated to
|
|
79
|
+
* {@link MAPLIBRE_STYLE_MEDIA_TYPE}).
|
|
80
|
+
*/
|
|
81
|
+
getStyle(styleId: string, options?: OgcStylesRequestOptions): Promise<HonuaStyleSpecification>;
|
|
82
|
+
/** Fetch the style metadata document via `GET /ogc/styles/{styleId}/metadata`. */
|
|
83
|
+
getStyleMetadata(styleId: string, options?: OgcStylesRequestOptions): Promise<Record<string, unknown>>;
|
|
84
|
+
/** Resolve the request path for a single style. */
|
|
85
|
+
stylePath(styleId: string): string;
|
|
86
|
+
private getJson;
|
|
87
|
+
}
|
|
88
|
+
/** Options for {@link createOgcStyleRefResolver}. */
|
|
89
|
+
export interface OgcStyleRefResolverOptions extends OgcStylesClientOptions, OgcStylesRequestOptions {
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Build a {@link StyleRefResolver} backed by the server's `/ogc/styles`
|
|
93
|
+
* surface. The resolver fetches `GET /ogc/styles/{styleId}` (content-negotiated
|
|
94
|
+
* MapLibre) and projects the returned style document's layers into the
|
|
95
|
+
* per-layer {@link HonuaStyleRefBody} override map that `applyStyleRefs`
|
|
96
|
+
* consumes. Layer overrides are keyed by MapLibre layer id; only
|
|
97
|
+
* paint/layout/zoom/filter/metadata are carried over (structural fields such
|
|
98
|
+
* as `source` are intentionally dropped — a StyleRef refines existing layers).
|
|
99
|
+
*
|
|
100
|
+
* The `presetId` argument is currently advisory and not encoded into the
|
|
101
|
+
* request path; the server resolves presets server-side by styleId.
|
|
102
|
+
*/
|
|
103
|
+
export declare function createOgcStyleRefResolver(options: OgcStyleRefResolverOptions): StyleRefResolver;
|
|
104
|
+
/**
|
|
105
|
+
* Project a MapLibre style document into a {@link HonuaStyleRefBody} — a map of
|
|
106
|
+
* per-layer paint/layout overrides keyed by layer id. Layers without any
|
|
107
|
+
* override-relevant fields are omitted.
|
|
108
|
+
*/
|
|
109
|
+
export declare function styleDocumentToRefBody(style: HonuaStyleSpecification): HonuaStyleRefBody;
|
|
110
|
+
//# sourceMappingURL=ogc-styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ogc-styles.d.ts","sourceRoot":"","sources":["../../../src/runtime/ogc-styles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAA2B,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAElG,OAAO,KAAK,EAAE,iBAAiB,EAA8B,MAAM,kBAAkB,CAAC;AACtF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,qEAAqE;AACrE,eAAO,MAAM,8BAA8B,gBAAgB,CAAC;AAE5D;;;GAGG;AACH,eAAO,MAAM,yBAAyB,sCAAsC,CAAC;AAE7E,+DAA+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAC1C;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC9C,uDAAuD;IACvD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qDAAqD;AACrD,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAChC;AAED,qDAAqD;AACrD,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,OAAO,EAAE,sBAAsB;IAK3C,mDAAmD;IACtC,UAAU,CAAC,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,YAAY,CAAC;IAKrF;;;;OAIG;IACU,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,uBAA4B,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAY/G,kFAAkF;IACrE,gBAAgB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAYnC,mDAAmD;IAC5C,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;YAI3B,OAAO;CActB;AAED,qDAAqD;AACrD,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB,EAAE,uBAAuB;CAAG;AAEtG;;;;;;;;;;;GAWG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,gBAAgB,CAa/F;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,uBAAuB,GAAG,iBAAiB,CAQxF"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OGC API – Styles client + StyleRef resolver.
|
|
3
|
+
*
|
|
4
|
+
* Consumes the server's OGC API – Styles surface (honua-server, ADR-0048) so
|
|
5
|
+
* that `styleRefs.styleId` aligns with the server's canonical styleId instead
|
|
6
|
+
* of relying on an ad-hoc, caller-supplied callback:
|
|
7
|
+
*
|
|
8
|
+
* GET /ogc/styles -> { styles: [{ id, title, links }], default? }
|
|
9
|
+
* GET /ogc/styles/{styleId} -> MapLibre style document
|
|
10
|
+
* (Accept: application/vnd.mapbox.style+json — content negotiated)
|
|
11
|
+
* GET /ogc/styles/{styleId}/metadata -> style metadata document
|
|
12
|
+
*
|
|
13
|
+
* The {@link createOgcStyleRefResolver} factory adapts the full MapLibre style
|
|
14
|
+
* document returned by `/ogc/styles/{styleId}` into the per-layer
|
|
15
|
+
* {@link HonuaStyleRefBody} override map consumed by `applyStyleRefs`. This is
|
|
16
|
+
* wired as the default StyleRef resolution path in the runtime loader, while a
|
|
17
|
+
* caller-supplied callback remains supported as a back-compat override.
|
|
18
|
+
*
|
|
19
|
+
* @module
|
|
20
|
+
*/
|
|
21
|
+
import { trimTrailingSlashes } from "../core/path-utils.js";
|
|
22
|
+
import { HonuaMapPackageError } from "./errors.js";
|
|
23
|
+
/** Default path prefix for the server's OGC API – Styles surface. */
|
|
24
|
+
export const DEFAULT_OGC_STYLES_PATH_PREFIX = "/ogc/styles";
|
|
25
|
+
/**
|
|
26
|
+
* MapLibre style media type used to content-negotiate the encoded style
|
|
27
|
+
* document from `/ogc/styles/{styleId}`. Matches the server default.
|
|
28
|
+
*/
|
|
29
|
+
export const MAPLIBRE_STYLE_MEDIA_TYPE = "application/vnd.mapbox.style+json";
|
|
30
|
+
/**
|
|
31
|
+
* Thin client over the server's OGC API – Styles surface. Uses the shared
|
|
32
|
+
* {@link HonuaClient} request pipeline (auth / retry / interceptors), matching
|
|
33
|
+
* the other `/ogc/*` consumers in the SDK.
|
|
34
|
+
*/
|
|
35
|
+
export class OgcStylesClient {
|
|
36
|
+
client;
|
|
37
|
+
pathPrefix;
|
|
38
|
+
constructor(options) {
|
|
39
|
+
this.client = options.client;
|
|
40
|
+
this.pathPrefix = normalizePrefix(options.pathPrefix ?? DEFAULT_OGC_STYLES_PATH_PREFIX);
|
|
41
|
+
}
|
|
42
|
+
/** List available styles via `GET /ogc/styles`. */
|
|
43
|
+
async listStyles(options = {}) {
|
|
44
|
+
const body = await this.getJson(this.pathPrefix, "application/json", options);
|
|
45
|
+
return normalizeStyleList(body);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Fetch the MapLibre style document for `styleId` via
|
|
49
|
+
* `GET /ogc/styles/{styleId}` (content-negotiated to
|
|
50
|
+
* {@link MAPLIBRE_STYLE_MEDIA_TYPE}).
|
|
51
|
+
*/
|
|
52
|
+
async getStyle(styleId, options = {}) {
|
|
53
|
+
const path = this.stylePath(styleId);
|
|
54
|
+
const body = await this.getJson(path, `${MAPLIBRE_STYLE_MEDIA_TYPE}, application/json;q=0.9`, options);
|
|
55
|
+
if (!isRecord(body) || !Array.isArray(body.layers)) {
|
|
56
|
+
throw new HonuaMapPackageError(`OGC style "${styleId}" did not return a MapLibre style document`, {
|
|
57
|
+
stage: "style-compose",
|
|
58
|
+
detail: { styleId, path },
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return body;
|
|
62
|
+
}
|
|
63
|
+
/** Fetch the style metadata document via `GET /ogc/styles/{styleId}/metadata`. */
|
|
64
|
+
async getStyleMetadata(styleId, options = {}) {
|
|
65
|
+
const path = `${this.stylePath(styleId)}/metadata`;
|
|
66
|
+
const body = await this.getJson(path, "application/json", options);
|
|
67
|
+
if (!isRecord(body)) {
|
|
68
|
+
throw new HonuaMapPackageError(`OGC style metadata for "${styleId}" was not an object`, {
|
|
69
|
+
stage: "style-compose",
|
|
70
|
+
detail: { styleId, path },
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return body;
|
|
74
|
+
}
|
|
75
|
+
/** Resolve the request path for a single style. */
|
|
76
|
+
stylePath(styleId) {
|
|
77
|
+
return `${this.pathPrefix}/${encodeURIComponent(styleId)}`;
|
|
78
|
+
}
|
|
79
|
+
async getJson(path, accept, options) {
|
|
80
|
+
const headers = new Headers(options.headers);
|
|
81
|
+
if (!headers.has("Accept"))
|
|
82
|
+
headers.set("Accept", accept);
|
|
83
|
+
const response = await this.client.pipelineFetch("GET", path, { headers }, options.signal);
|
|
84
|
+
try {
|
|
85
|
+
return await response.json();
|
|
86
|
+
}
|
|
87
|
+
catch (cause) {
|
|
88
|
+
throw new HonuaMapPackageError(`OGC styles response from "${path}" was not valid JSON`, {
|
|
89
|
+
stage: "style-compose",
|
|
90
|
+
detail: { path },
|
|
91
|
+
cause,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Build a {@link StyleRefResolver} backed by the server's `/ogc/styles`
|
|
98
|
+
* surface. The resolver fetches `GET /ogc/styles/{styleId}` (content-negotiated
|
|
99
|
+
* MapLibre) and projects the returned style document's layers into the
|
|
100
|
+
* per-layer {@link HonuaStyleRefBody} override map that `applyStyleRefs`
|
|
101
|
+
* consumes. Layer overrides are keyed by MapLibre layer id; only
|
|
102
|
+
* paint/layout/zoom/filter/metadata are carried over (structural fields such
|
|
103
|
+
* as `source` are intentionally dropped — a StyleRef refines existing layers).
|
|
104
|
+
*
|
|
105
|
+
* The `presetId` argument is currently advisory and not encoded into the
|
|
106
|
+
* request path; the server resolves presets server-side by styleId.
|
|
107
|
+
*/
|
|
108
|
+
export function createOgcStyleRefResolver(options) {
|
|
109
|
+
const ogc = new OgcStylesClient({
|
|
110
|
+
client: options.client,
|
|
111
|
+
...(options.pathPrefix ? { pathPrefix: options.pathPrefix } : {}),
|
|
112
|
+
});
|
|
113
|
+
const requestOptions = {
|
|
114
|
+
...(options.signal ? { signal: options.signal } : {}),
|
|
115
|
+
...(options.headers ? { headers: options.headers } : {}),
|
|
116
|
+
};
|
|
117
|
+
return async (styleId) => {
|
|
118
|
+
const style = await ogc.getStyle(styleId, requestOptions);
|
|
119
|
+
return styleDocumentToRefBody(style);
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Project a MapLibre style document into a {@link HonuaStyleRefBody} — a map of
|
|
124
|
+
* per-layer paint/layout overrides keyed by layer id. Layers without any
|
|
125
|
+
* override-relevant fields are omitted.
|
|
126
|
+
*/
|
|
127
|
+
export function styleDocumentToRefBody(style) {
|
|
128
|
+
const body = {};
|
|
129
|
+
for (const layer of style.layers ?? []) {
|
|
130
|
+
if (!layer || typeof layer.id !== "string")
|
|
131
|
+
continue;
|
|
132
|
+
const override = layerToOverride(layer);
|
|
133
|
+
if (override)
|
|
134
|
+
body[layer.id] = override;
|
|
135
|
+
}
|
|
136
|
+
return body;
|
|
137
|
+
}
|
|
138
|
+
function layerToOverride(layer) {
|
|
139
|
+
const override = {};
|
|
140
|
+
let hasField = false;
|
|
141
|
+
if (layer.paint !== undefined) {
|
|
142
|
+
override.paint = layer.paint;
|
|
143
|
+
hasField = true;
|
|
144
|
+
}
|
|
145
|
+
if (layer.layout !== undefined) {
|
|
146
|
+
override.layout = layer.layout;
|
|
147
|
+
hasField = true;
|
|
148
|
+
}
|
|
149
|
+
if (layer.minzoom !== undefined) {
|
|
150
|
+
override.minzoom = layer.minzoom;
|
|
151
|
+
hasField = true;
|
|
152
|
+
}
|
|
153
|
+
if (layer.maxzoom !== undefined) {
|
|
154
|
+
override.maxzoom = layer.maxzoom;
|
|
155
|
+
hasField = true;
|
|
156
|
+
}
|
|
157
|
+
if (layer.filter !== undefined) {
|
|
158
|
+
override.filter = layer.filter;
|
|
159
|
+
hasField = true;
|
|
160
|
+
}
|
|
161
|
+
if (layer.metadata !== undefined) {
|
|
162
|
+
override.metadata = layer.metadata;
|
|
163
|
+
hasField = true;
|
|
164
|
+
}
|
|
165
|
+
return hasField ? override : undefined;
|
|
166
|
+
}
|
|
167
|
+
function normalizeStyleList(body) {
|
|
168
|
+
if (!isRecord(body) || !Array.isArray(body.styles)) {
|
|
169
|
+
throw new HonuaMapPackageError("OGC styles list did not contain a styles array", {
|
|
170
|
+
stage: "style-compose",
|
|
171
|
+
detail: { body },
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
const styles = [];
|
|
175
|
+
for (const entry of body.styles) {
|
|
176
|
+
if (!isRecord(entry) || typeof entry.id !== "string")
|
|
177
|
+
continue;
|
|
178
|
+
styles.push({
|
|
179
|
+
id: entry.id,
|
|
180
|
+
...(typeof entry.title === "string" ? { title: entry.title } : {}),
|
|
181
|
+
...(Array.isArray(entry.links) ? { links: entry.links } : {}),
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
return {
|
|
185
|
+
styles,
|
|
186
|
+
...(typeof body.default === "string" ? { default: body.default } : {}),
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
function normalizePrefix(prefix) {
|
|
190
|
+
const trimmed = trimTrailingSlashes(prefix);
|
|
191
|
+
return trimmed.startsWith("/") ? trimmed : `/${trimmed}`;
|
|
192
|
+
}
|
|
193
|
+
function isRecord(value) {
|
|
194
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
195
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-registration of the MapLibre `pmtiles://` protocol.
|
|
3
|
+
*
|
|
4
|
+
* MapLibre GL JS resolves a source `url` of `pmtiles://https://…` by calling a
|
|
5
|
+
* protocol handler registered through `maplibregl.addProtocol("pmtiles", …)`.
|
|
6
|
+
* The `pmtiles` package supplies that handler via its `Protocol` class. This
|
|
7
|
+
* module wires the two together **lazily and idempotently**: the `pmtiles` and
|
|
8
|
+
* `maplibre-gl` packages are only pulled in (`await import(...)`) the first time
|
|
9
|
+
* a PMTiles-backed map is loaded, and registration happens exactly once no
|
|
10
|
+
* matter how many maps attach (MapLibre's protocol registry is process-global,
|
|
11
|
+
* and the `pmtiles.Protocol` instance caches every archive it opens).
|
|
12
|
+
*
|
|
13
|
+
* `loadMapPackage` calls {@link ensurePmtilesProtocol} before `map.setStyle`
|
|
14
|
+
* whenever the composed style references a `pmtiles://` source, so consumers get
|
|
15
|
+
* PMTiles rendering out-of-the-box with no manual `addProtocol` wiring. Adding a
|
|
16
|
+
* PMTiles source to a live map through `runtime.addSource` is synchronous — call
|
|
17
|
+
* {@link ensurePmtilesProtocol} yourself beforehand in that case.
|
|
18
|
+
*
|
|
19
|
+
* The `maplibre-gl` / `pmtiles` slices are injectable so the wiring is
|
|
20
|
+
* unit-testable without either real package.
|
|
21
|
+
*
|
|
22
|
+
* @module
|
|
23
|
+
*/
|
|
24
|
+
/** The MapLibre `addProtocol` / `removeProtocol` surface this module drives. */
|
|
25
|
+
export interface MaplibreProtocolRegistrar {
|
|
26
|
+
addProtocol(scheme: string, handler: unknown): void;
|
|
27
|
+
removeProtocol?(scheme: string): void;
|
|
28
|
+
}
|
|
29
|
+
/** The `pmtiles.Protocol` surface this module drives. */
|
|
30
|
+
export interface PmtilesProtocolLike {
|
|
31
|
+
readonly tile: unknown;
|
|
32
|
+
}
|
|
33
|
+
/** The minimal slice of `typeof import("pmtiles")` registration needs. */
|
|
34
|
+
export interface PmtilesProtocolModuleLike {
|
|
35
|
+
Protocol: new (options?: {
|
|
36
|
+
metadata?: boolean;
|
|
37
|
+
errorOnMissingTile?: boolean;
|
|
38
|
+
}) => PmtilesProtocolLike;
|
|
39
|
+
}
|
|
40
|
+
/** Injectable dependencies for {@link ensurePmtilesProtocol} (test seams). */
|
|
41
|
+
export interface EnsurePmtilesProtocolDeps {
|
|
42
|
+
/** Override the lazily-imported MapLibre `addProtocol` registrar. */
|
|
43
|
+
readonly maplibre?: MaplibreProtocolRegistrar;
|
|
44
|
+
/** Override the lazily-imported `pmtiles` module. */
|
|
45
|
+
readonly pmtilesModule?: PmtilesProtocolModuleLike;
|
|
46
|
+
/** Protocol scheme to register. Defaults to `"pmtiles"`. */
|
|
47
|
+
readonly scheme?: string;
|
|
48
|
+
}
|
|
49
|
+
/** The default MapLibre protocol scheme PMTiles archives are addressed under. */
|
|
50
|
+
export declare const PMTILES_PROTOCOL_SCHEME = "pmtiles";
|
|
51
|
+
/**
|
|
52
|
+
* Register the `pmtiles://` protocol on MapLibre if it has not been registered
|
|
53
|
+
* already. Idempotent: repeated calls (including from multiple maps loading
|
|
54
|
+
* concurrently) share a single registration and a single in-flight import.
|
|
55
|
+
*
|
|
56
|
+
* Returns once the protocol is registered so callers can `await` it before
|
|
57
|
+
* handing a `pmtiles://`-referencing style to `map.setStyle`.
|
|
58
|
+
*/
|
|
59
|
+
export declare function ensurePmtilesProtocol(deps?: EnsurePmtilesProtocolDeps): Promise<void>;
|
|
60
|
+
/** Whether the `pmtiles://` protocol (or `scheme`) is currently registered. */
|
|
61
|
+
export declare function isPmtilesProtocolRegistered(scheme?: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Tear down a prior {@link ensurePmtilesProtocol} registration. Primarily a test
|
|
64
|
+
* seam so the module-global registration does not leak between cases; also
|
|
65
|
+
* useful if a host wants to fully release the protocol. Best-effort — a
|
|
66
|
+
* registrar without `removeProtocol` just clears the local record.
|
|
67
|
+
*/
|
|
68
|
+
export declare function resetPmtilesProtocol(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Whether a composed MapLibre style references at least one `pmtiles://` source.
|
|
71
|
+
* Used by `loadMapPackage` to decide whether the protocol must be registered
|
|
72
|
+
* before `map.setStyle`.
|
|
73
|
+
*/
|
|
74
|
+
export declare function styleUsesPmtiles(style: {
|
|
75
|
+
sources?: Record<string, unknown>;
|
|
76
|
+
} | null | undefined, scheme?: string): boolean;
|
|
77
|
+
//# sourceMappingURL=pmtiles-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pmtiles-protocol.d.ts","sourceRoot":"","sources":["../../../src/runtime/pmtiles-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,gFAAgF;AAChF,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACpD,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,yDAAyD;AACzD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,0EAA0E;AAC1E,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,KAAK,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,KAAK,mBAAmB,CAAC;CACvG;AAED,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAC;IAC9C,qDAAqD;IACrD,QAAQ,CAAC,aAAa,CAAC,EAAE,yBAAyB,CAAC;IACnD,4DAA4D;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,iFAAiF;AACjF,eAAO,MAAM,uBAAuB,YAAY,CAAC;AAmCjD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,GAAE,yBAA8B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB/F;AAED,+EAA+E;AAC/E,wBAAgB,2BAA2B,CAAC,MAAM,GAAE,MAAgC,GAAG,OAAO,CAE7F;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAM3C;AAcD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,EAC/D,MAAM,GAAE,MAAgC,GACvC,OAAO,CAOT"}
|