@honua/react 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 +9 -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 +61 -0
- package/contract/index.d.ts.map +1 -0
- package/contract/index.js +51 -0
- package/contract/jobs.d.ts +149 -0
- package/contract/jobs.d.ts.map +1 -0
- package/contract/jobs.js +40 -0
- package/contract/source.d.ts +423 -0
- package/contract/source.d.ts.map +1 -0
- package/contract/source.js +3802 -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 +665 -0
- package/contract/types.d.ts.map +1 -0
- package/contract/types.js +175 -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/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 +577 -0
- package/core/client.d.ts.map +1 -0
- package/core/client.js +1664 -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 +107 -0
- package/core/errors.d.ts.map +1 -0
- package/core/errors.js +156 -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/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-features.d.ts +23 -0
- package/core/ogc-features.d.ts.map +1 -0
- package/core/ogc-features.js +114 -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.d.ts +55 -0
- package/core/stac.d.ts.map +1 -0
- package/core/stac.js +229 -0
- package/core/surfaces.d.ts +527 -0
- package/core/surfaces.d.ts.map +1 -0
- package/core/surfaces.js +1917 -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 +1355 -0
- package/core/types.d.ts.map +1 -0
- package/core/types.js +13 -0
- package/core/wfs-capabilities.d.ts +143 -0
- package/core/wfs-capabilities.d.ts.map +1 -0
- package/core/wfs-capabilities.js +478 -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 +219 -0
- package/core/wfs.d.ts.map +1 -0
- package/core/wfs.js +406 -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 +31 -0
- package/esri-compat/identity-manager.d.ts.map +1 -0
- package/esri-compat/identity-manager.js +115 -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 +35 -0
- package/esri-compat/oauth-info.d.ts.map +1 -0
- package/esri-compat/oauth-info.js +115 -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/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/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/package.json +37 -0
- package/react/context.d.ts +32 -0
- package/react/context.d.ts.map +1 -0
- package/react/context.js +19 -0
- package/react/honua-layer.d.ts +35 -0
- package/react/honua-layer.d.ts.map +1 -0
- package/react/honua-layer.js +47 -0
- package/react/honua-map.d.ts +83 -0
- package/react/honua-map.d.ts.map +1 -0
- package/react/honua-map.js +109 -0
- package/react/honua-popup.d.ts +26 -0
- package/react/honua-popup.d.ts.map +1 -0
- package/react/honua-popup.js +34 -0
- package/react/hooks.d.ts +127 -0
- package/react/hooks.d.ts.map +1 -0
- package/react/hooks.js +206 -0
- package/react/index.d.ts +42 -0
- package/react/index.d.ts.map +1 -0
- package/react/index.js +34 -0
- package/react/provider.d.ts +36 -0
- package/react/provider.d.ts.map +1 -0
- package/react/provider.js +35 -0
- package/react/query-cache.d.ts +76 -0
- package/react/query-cache.d.ts.map +1 -0
- package/react/query-cache.js +188 -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 +43 -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 +264 -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 +43 -0
- package/runtime/map-package-validation.d.ts.map +1 -0
- package/runtime/map-package-validation.js +269 -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/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 +401 -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/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/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,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client projection of the server capability manifest — the server-advertised
|
|
3
|
+
* set of package families, feature capabilities, transports, limits, and policy
|
|
4
|
+
* state a Console/MCP/QGIS client may rely on. Lets a client gate UI and tool
|
|
5
|
+
* exposure on what the connected server actually supports for the current
|
|
6
|
+
* tenant, workspace, environment, and caller policy scope rather than
|
|
7
|
+
* hard-coding assumptions.
|
|
8
|
+
*
|
|
9
|
+
* These shapes mirror the frozen server wire contract
|
|
10
|
+
* `honua.capability_manifest.v1` (honua-server `CapabilityManifestService` /
|
|
11
|
+
* `CapabilityManifestDocument`, PR #2356) and are the TypeScript analogue of the
|
|
12
|
+
* honua-sdk-dotnet `CapabilityManifest` / `CapabilityEntry` projection
|
|
13
|
+
* (honua-sdk-dotnet PR #253). The wire is frozen; field names, the
|
|
14
|
+
* `supported`/`available` split, and the reason-code surface are stable, so
|
|
15
|
+
* these shapes are no longer marked `@experimental`. Fetch a manifest with the
|
|
16
|
+
* control-plane client's `getCapabilityManifest()`.
|
|
17
|
+
*
|
|
18
|
+
* @module
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Return the capability entry with the given id, or `undefined` if the
|
|
22
|
+
* manifest does not advertise it (regardless of supported/available state).
|
|
23
|
+
* Mirrors the .NET `CapabilityManifest.GetCapability`.
|
|
24
|
+
*/
|
|
25
|
+
export function getCapability(manifest, id) {
|
|
26
|
+
return manifest.capabilities.find((entry) => entry.id === id);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Return `true` when the manifest advertises the capability as available in the
|
|
30
|
+
* current scope. Mirrors the .NET `CapabilityManifest.IsAvailable`.
|
|
31
|
+
*/
|
|
32
|
+
export function hasCapability(manifest, id) {
|
|
33
|
+
return getCapability(manifest, id)?.available === true;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Return `true` when the server implements the capability at all, even if it is
|
|
37
|
+
* not currently available (for example gated by edition or entitlement).
|
|
38
|
+
* Inspect {@link getCapabilityReasonCode} to explain an unavailable but
|
|
39
|
+
* supported capability. Mirrors the .NET `CapabilityManifest.IsSupported`.
|
|
40
|
+
*/
|
|
41
|
+
export function isCapabilitySupported(manifest, id) {
|
|
42
|
+
return getCapability(manifest, id)?.supported === true;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Return the machine-friendly reason code explaining a capability's
|
|
46
|
+
* availability state, or `undefined` when unknown or the capability is
|
|
47
|
+
* unrecognized. Mirrors the .NET `CapabilityManifest.GetReasonCode`.
|
|
48
|
+
*/
|
|
49
|
+
export function getCapabilityReasonCode(manifest, id) {
|
|
50
|
+
return getCapability(manifest, id)?.reasonCode;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Return `true` when the server advertises a supported package family with the
|
|
54
|
+
* given identifier (for example `map`). Mirrors the .NET
|
|
55
|
+
* `CapabilityManifest.HasPackageFamily`.
|
|
56
|
+
*/
|
|
57
|
+
export function hasPackageFamily(manifest, familyId) {
|
|
58
|
+
return manifest.packages?.families?.some((family) => family.id === familyId && family.supported) === true;
|
|
59
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A documented, compatible subset of the Vega-Lite v5 spec used by Studio
|
|
3
|
+
* dashboard and report charts. The acceptance criterion for cross-surface
|
|
4
|
+
* parity is that "dashboard/report charts use Vega-Lite specs or an explicitly
|
|
5
|
+
* documented compatible subset" — this module is that documented subset, plus
|
|
6
|
+
* a pure helper that derives a spec from a generated-app chart widget so MCP,
|
|
7
|
+
* QGIS, Console, and the SDK preview runtime all render the same chart.
|
|
8
|
+
*
|
|
9
|
+
* The subset is intentionally narrow: bar / arc / line / point marks over a
|
|
10
|
+
* single positional encoding pair plus an optional color channel. It is a
|
|
11
|
+
* structural subset of a real Vega-Lite `TopLevelSpec`, so a host may hand the
|
|
12
|
+
* object directly to `vega-embed` / `vega-lite` without translation, while the
|
|
13
|
+
* SDK stays free of a Vega dependency (these are plain data types).
|
|
14
|
+
*
|
|
15
|
+
* @experimental Not yet covered by the SDK's semver contract — these shapes
|
|
16
|
+
* may change in any minor release prior to `1.0.0`.
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import type { HonuaGeneratedAppChartWidget } from "../generated-app/manifest.js";
|
|
20
|
+
/** Vega-Lite schema URL this subset targets. */
|
|
21
|
+
export declare const HONUA_VEGA_LITE_SCHEMA_V5: "https://vega.github.io/schema/vega-lite/v5.json";
|
|
22
|
+
/** Mark types in the supported subset. */
|
|
23
|
+
export type HonuaChartMark = "bar" | "line" | "point" | "arc";
|
|
24
|
+
/** Encoding field type in the supported subset. */
|
|
25
|
+
export type HonuaChartFieldType = "quantitative" | "nominal" | "ordinal" | "temporal";
|
|
26
|
+
/**
|
|
27
|
+
* One positional / visual encoding channel. A structural subset of a
|
|
28
|
+
* Vega-Lite `FieldDef`.
|
|
29
|
+
*
|
|
30
|
+
* @experimental
|
|
31
|
+
*/
|
|
32
|
+
export interface HonuaChartEncodingChannel {
|
|
33
|
+
readonly field: string;
|
|
34
|
+
readonly type: HonuaChartFieldType;
|
|
35
|
+
readonly title?: string;
|
|
36
|
+
readonly aggregate?: "count" | "sum" | "mean" | "min" | "max" | "median";
|
|
37
|
+
readonly timeUnit?: string;
|
|
38
|
+
readonly bin?: boolean | {
|
|
39
|
+
readonly maxbins?: number;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The encoding block. `x`/`y` are the positional pair; `color` is optional.
|
|
44
|
+
*
|
|
45
|
+
* @experimental
|
|
46
|
+
*/
|
|
47
|
+
export interface HonuaChartEncoding {
|
|
48
|
+
readonly x?: HonuaChartEncodingChannel;
|
|
49
|
+
readonly y?: HonuaChartEncodingChannel;
|
|
50
|
+
readonly color?: HonuaChartEncodingChannel;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* The documented Vega-Lite-compatible chart spec. Inline `data.values` carry
|
|
54
|
+
* the rows; a host may instead point `data.name` at a named dataset. The
|
|
55
|
+
* `$schema` and structural layout make this directly consumable by Vega-Lite.
|
|
56
|
+
*
|
|
57
|
+
* @experimental
|
|
58
|
+
*/
|
|
59
|
+
export interface HonuaVegaLiteChartSpec {
|
|
60
|
+
readonly $schema: typeof HONUA_VEGA_LITE_SCHEMA_V5;
|
|
61
|
+
readonly title?: string;
|
|
62
|
+
readonly description?: string;
|
|
63
|
+
readonly mark: HonuaChartMark | {
|
|
64
|
+
readonly type: HonuaChartMark;
|
|
65
|
+
readonly tooltip?: boolean;
|
|
66
|
+
};
|
|
67
|
+
readonly encoding: HonuaChartEncoding;
|
|
68
|
+
readonly data?: {
|
|
69
|
+
readonly values?: ReadonlyArray<Record<string, unknown>>;
|
|
70
|
+
readonly name?: string;
|
|
71
|
+
};
|
|
72
|
+
readonly width?: number | "container";
|
|
73
|
+
readonly height?: number | "container";
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Derive a {@link HonuaVegaLiteChartSpec} from a generated-app chart widget so
|
|
77
|
+
* dashboard and report charts render identically across surfaces. `rows`, when
|
|
78
|
+
* supplied, become inline `data.values`; otherwise the host binds a named
|
|
79
|
+
* dataset. Returns `undefined` when the widget lacks the field needed for its
|
|
80
|
+
* chart kind (so a caller can degrade cleanly rather than emit a broken spec).
|
|
81
|
+
*
|
|
82
|
+
* @experimental
|
|
83
|
+
*/
|
|
84
|
+
export declare function chartWidgetToVegaLiteSpec(widget: HonuaGeneratedAppChartWidget, rows?: ReadonlyArray<Record<string, unknown>>): HonuaVegaLiteChartSpec | undefined;
|
|
85
|
+
//# sourceMappingURL=chart-spec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chart-spec.d.ts","sourceRoot":"","sources":["../../../src/studio/chart-spec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAEjF,gDAAgD;AAChD,eAAO,MAAM,yBAAyB,EAAG,iDAA0D,CAAC;AAEpG,0CAA0C;AAC1C,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE9D,mDAAmD;AACnD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACxD;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,CAAC,CAAC,EAAE,yBAAyB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,yBAAyB,CAAC;CAC5C;AAED;;;;;;GAMG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,OAAO,EAAE,OAAO,yBAAyB,CAAC;IACnD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9F,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACd,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;CACxC;AAYD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,4BAA4B,EACpC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAC5C,sBAAsB,GAAG,SAAS,CAiDpC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A documented, compatible subset of the Vega-Lite v5 spec used by Studio
|
|
3
|
+
* dashboard and report charts. The acceptance criterion for cross-surface
|
|
4
|
+
* parity is that "dashboard/report charts use Vega-Lite specs or an explicitly
|
|
5
|
+
* documented compatible subset" — this module is that documented subset, plus
|
|
6
|
+
* a pure helper that derives a spec from a generated-app chart widget so MCP,
|
|
7
|
+
* QGIS, Console, and the SDK preview runtime all render the same chart.
|
|
8
|
+
*
|
|
9
|
+
* The subset is intentionally narrow: bar / arc / line / point marks over a
|
|
10
|
+
* single positional encoding pair plus an optional color channel. It is a
|
|
11
|
+
* structural subset of a real Vega-Lite `TopLevelSpec`, so a host may hand the
|
|
12
|
+
* object directly to `vega-embed` / `vega-lite` without translation, while the
|
|
13
|
+
* SDK stays free of a Vega dependency (these are plain data types).
|
|
14
|
+
*
|
|
15
|
+
* @experimental Not yet covered by the SDK's semver contract — these shapes
|
|
16
|
+
* may change in any minor release prior to `1.0.0`.
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
/** Vega-Lite schema URL this subset targets. */
|
|
20
|
+
export const HONUA_VEGA_LITE_SCHEMA_V5 = "https://vega.github.io/schema/vega-lite/v5.json";
|
|
21
|
+
/**
|
|
22
|
+
* Map a generated-app chart widget kind to a Vega-Lite mark and the encoding
|
|
23
|
+
* shape the subset expects.
|
|
24
|
+
*/
|
|
25
|
+
const CHART_KIND_MARK = {
|
|
26
|
+
categories: "bar",
|
|
27
|
+
histogram: "bar",
|
|
28
|
+
"time-series": "line",
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Derive a {@link HonuaVegaLiteChartSpec} from a generated-app chart widget so
|
|
32
|
+
* dashboard and report charts render identically across surfaces. `rows`, when
|
|
33
|
+
* supplied, become inline `data.values`; otherwise the host binds a named
|
|
34
|
+
* dataset. Returns `undefined` when the widget lacks the field needed for its
|
|
35
|
+
* chart kind (so a caller can degrade cleanly rather than emit a broken spec).
|
|
36
|
+
*
|
|
37
|
+
* @experimental
|
|
38
|
+
*/
|
|
39
|
+
export function chartWidgetToVegaLiteSpec(widget, rows) {
|
|
40
|
+
const chartKind = widget.chartKind ?? "categories";
|
|
41
|
+
const mark = CHART_KIND_MARK[chartKind];
|
|
42
|
+
let encoding;
|
|
43
|
+
if (chartKind === "categories") {
|
|
44
|
+
const category = widget.groupBy ?? widget.field;
|
|
45
|
+
if (!category)
|
|
46
|
+
return undefined;
|
|
47
|
+
encoding = {
|
|
48
|
+
x: { field: category, type: "nominal", title: widget.title },
|
|
49
|
+
y: { field: "count", type: "quantitative", aggregate: "count", title: "Count" },
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
else if (chartKind === "histogram") {
|
|
53
|
+
if (!widget.field)
|
|
54
|
+
return undefined;
|
|
55
|
+
encoding = {
|
|
56
|
+
x: {
|
|
57
|
+
field: widget.field,
|
|
58
|
+
type: "quantitative",
|
|
59
|
+
bin: widget.bins ? { maxbins: widget.bins } : true,
|
|
60
|
+
title: widget.title ?? widget.field,
|
|
61
|
+
},
|
|
62
|
+
y: { field: "count", type: "quantitative", aggregate: "count", title: "Count" },
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
// time-series
|
|
67
|
+
const timeField = widget.field ?? widget.groupBy;
|
|
68
|
+
if (!timeField)
|
|
69
|
+
return undefined;
|
|
70
|
+
const valueChannel = widget.metric
|
|
71
|
+
? {
|
|
72
|
+
field: widget.metric.field === "*" ? "count" : widget.metric.field,
|
|
73
|
+
type: "quantitative",
|
|
74
|
+
aggregate: metricToAggregate(widget.metric.fn),
|
|
75
|
+
title: widget.metric.alias ?? widget.metric.field,
|
|
76
|
+
}
|
|
77
|
+
: { field: "count", type: "quantitative", aggregate: "count", title: "Count" };
|
|
78
|
+
encoding = {
|
|
79
|
+
x: { field: timeField, type: "temporal", title: widget.title ?? timeField },
|
|
80
|
+
y: valueChannel,
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
return {
|
|
84
|
+
$schema: HONUA_VEGA_LITE_SCHEMA_V5,
|
|
85
|
+
...(widget.title ? { title: widget.title } : {}),
|
|
86
|
+
mark: { type: mark, tooltip: true },
|
|
87
|
+
encoding,
|
|
88
|
+
width: "container",
|
|
89
|
+
...(rows ? { data: { values: rows } } : {}),
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function metricToAggregate(metric) {
|
|
93
|
+
switch (metric) {
|
|
94
|
+
case "sum":
|
|
95
|
+
return "sum";
|
|
96
|
+
case "avg":
|
|
97
|
+
case "mean":
|
|
98
|
+
return "mean";
|
|
99
|
+
case "min":
|
|
100
|
+
return "min";
|
|
101
|
+
case "max":
|
|
102
|
+
return "max";
|
|
103
|
+
default:
|
|
104
|
+
return "count";
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@honua/sdk-js/studio` — browser-safe TypeScript projections, validation and
|
|
3
|
+
* preview envelopes, capability-manifest types, and publish/share/embed
|
|
4
|
+
* contracts for the Studio package families.
|
|
5
|
+
*
|
|
6
|
+
* This barrel is intentionally MCP/QGIS-safe: it exports only types and pure
|
|
7
|
+
* functions and never imports from `operator`, `esri-compat`, `web-components`,
|
|
8
|
+
* `interactions`, or `realtime` (which pull in MapLibre / DOM code). The
|
|
9
|
+
* established `map` and `dashboard`/`app` shapes are re-exported from their
|
|
10
|
+
* leaf modules so consumers reach every family from one import path.
|
|
11
|
+
*
|
|
12
|
+
* @experimental This entrypoint is not yet covered by the SDK's semver contract
|
|
13
|
+
* — the surface may change in any minor release prior to `1.0.0`, and the
|
|
14
|
+
* stub families may change again when their server contracts ship.
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
export { HONUA_ANALYSIS_PACKAGE_FORMAT_V1, HONUA_ETL_PACKAGE_FORMAT_V1, HONUA_FORM_PACKAGE_FORMAT_V1, HONUA_GP_PACKAGE_FORMAT_V1, HONUA_QUERY_PACKAGE_FORMAT_V1, HONUA_REPORT_PACKAGE_FORMAT_V1, HONUA_WORKFLOW_PACKAGE_FORMAT_V1, STUDIO_PACKAGE_FAMILIES, isStudioPackageFamily, tagStudioPackage, } from "./types.js";
|
|
18
|
+
export type { HonuaAnalysisPackage, HonuaAnalysisPackageFormat, HonuaETLPackage, HonuaETLPackageFormat, HonuaFormFieldSpec, HonuaFormPackage, HonuaFormPackageFormat, HonuaGPPackage, HonuaGPPackageFormat, HonuaGPParameterSpec, HonuaQueryPackage, HonuaQueryPackageFormat, HonuaReportPackage, HonuaReportPackageFormat, HonuaReportSectionSpec, HonuaStudioBindingRef, HonuaStudioPackage, HonuaStudioPackageBase, HonuaStudioPackageFamily, HonuaStudioPackageStatus, HonuaStudioQuerySpec, HonuaWorkflowPackage, HonuaWorkflowPackageFormat, HonuaWorkflowStepSpec, StudioPackageFamilyShapes, } from "./types.js";
|
|
19
|
+
export { fromMapPackageValidation, toStudioValidationResponse } from "./validation.js";
|
|
20
|
+
export type { StudioPackageDiagnostic, StudioPackageDiagnosticSeverity, StudioPackagePreviewResponse, StudioPackageValidationResponse, StudioPreviewArtifactRef, } from "./validation.js";
|
|
21
|
+
export { validatePackageProvenance, validateStudioPackage } from "./validate.js";
|
|
22
|
+
export type { ValidateStudioPackageOptions } from "./validate.js";
|
|
23
|
+
export { HONUA_PACKAGE_PROVENANCE_FORMAT_V1, getPackageProvenance } from "./provenance.js";
|
|
24
|
+
export type { HonuaPackageOrigin, HonuaPackagePermission, HonuaPackageProvenance, HonuaPackageProvenanceFormat, HonuaPlanProvenance, HonuaPlanStep, HonuaPromptProvenance, HonuaProvenanceDataBinding, } from "./provenance.js";
|
|
25
|
+
export { HONUA_VEGA_LITE_SCHEMA_V5, chartWidgetToVegaLiteSpec } from "./chart-spec.js";
|
|
26
|
+
export type { HonuaChartEncoding, HonuaChartEncodingChannel, HonuaChartFieldType, HonuaChartMark, HonuaVegaLiteChartSpec, } from "./chart-spec.js";
|
|
27
|
+
export { getCapability, getCapabilityReasonCode, hasCapability, hasPackageFamily, isCapabilitySupported, } from "./capability-manifest.js";
|
|
28
|
+
export type { StudioCapabilityAnalysisLimits, StudioCapabilityAttachmentLimits, StudioCapabilityEditLimits, StudioCapabilityEntitlementDecision, StudioCapabilityEntry, StudioCapabilityEnvironment, StudioCapabilityGeometryLimits, StudioCapabilityJobLimits, StudioCapabilityLimits, StudioCapabilityLink, StudioCapabilityManifest, StudioCapabilityPackageFamily, StudioCapabilityPackages, StudioCapabilityPolicies, StudioCapabilityPreviewLimits, StudioCapabilityPublicationLimits, StudioCapabilityQueryLimits, StudioCapabilityScope, StudioCapabilityServerInfo, StudioCapabilityStreamingLimits, StudioCapabilityTransports, StudioCapabilityTransportState, StudioCapabilityUploadLimits, } from "./capability-manifest.js";
|
|
29
|
+
export type { HonuaShareRequest, HonuaShareResponse, StudioEmbedConfig, StudioPublishRequest, StudioPublishResponse, } from "./publish.js";
|
|
30
|
+
export { HONUA_MAP_PACKAGE_FORMAT_V1 } from "../runtime/map-package.js";
|
|
31
|
+
export type { HonuaMapPackage, HonuaMapPackageFormat } from "../runtime/map-package.js";
|
|
32
|
+
export { HONUA_GENERATED_APP_MANIFEST_FORMAT_V1 } from "../generated-app/manifest.js";
|
|
33
|
+
export type { HonuaGeneratedAppManifest, HonuaGeneratedAppPackage } from "../generated-app/manifest.js";
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/studio/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,gCAAgC,EAChC,2BAA2B,EAC3B,4BAA4B,EAC5B,0BAA0B,EAC1B,6BAA6B,EAC7B,8BAA8B,EAC9B,gCAAgC,EAChC,uBAAuB,EACvB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EACV,uBAAuB,EACvB,+BAA+B,EAC/B,4BAA4B,EAC5B,+BAA+B,EAC/B,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACjF,YAAY,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,kCAAkC,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,YAAY,EACV,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,4BAA4B,EAC5B,mBAAmB,EACnB,aAAa,EACb,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACvF,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,cAAc,EACd,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,aAAa,EACb,uBAAuB,EACvB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,8BAA8B,EAC9B,gCAAgC,EAChC,0BAA0B,EAC1B,mCAAmC,EACnC,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,yBAAyB,EACzB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,iCAAiC,EACjC,2BAA2B,EAC3B,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,EAC9B,4BAA4B,GAC7B,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,sCAAsC,EAAE,MAAM,8BAA8B,CAAC;AACtF,YAAY,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC"}
|
package/studio/index.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@honua/sdk-js/studio` — browser-safe TypeScript projections, validation and
|
|
3
|
+
* preview envelopes, capability-manifest types, and publish/share/embed
|
|
4
|
+
* contracts for the Studio package families.
|
|
5
|
+
*
|
|
6
|
+
* This barrel is intentionally MCP/QGIS-safe: it exports only types and pure
|
|
7
|
+
* functions and never imports from `operator`, `esri-compat`, `web-components`,
|
|
8
|
+
* `interactions`, or `realtime` (which pull in MapLibre / DOM code). The
|
|
9
|
+
* established `map` and `dashboard`/`app` shapes are re-exported from their
|
|
10
|
+
* leaf modules so consumers reach every family from one import path.
|
|
11
|
+
*
|
|
12
|
+
* @experimental This entrypoint is not yet covered by the SDK's semver contract
|
|
13
|
+
* — the surface may change in any minor release prior to `1.0.0`, and the
|
|
14
|
+
* stub families may change again when their server contracts ship.
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
export { HONUA_ANALYSIS_PACKAGE_FORMAT_V1, HONUA_ETL_PACKAGE_FORMAT_V1, HONUA_FORM_PACKAGE_FORMAT_V1, HONUA_GP_PACKAGE_FORMAT_V1, HONUA_QUERY_PACKAGE_FORMAT_V1, HONUA_REPORT_PACKAGE_FORMAT_V1, HONUA_WORKFLOW_PACKAGE_FORMAT_V1, STUDIO_PACKAGE_FAMILIES, isStudioPackageFamily, tagStudioPackage, } from "./types.js";
|
|
18
|
+
export { fromMapPackageValidation, toStudioValidationResponse } from "./validation.js";
|
|
19
|
+
export { validatePackageProvenance, validateStudioPackage } from "./validate.js";
|
|
20
|
+
export { HONUA_PACKAGE_PROVENANCE_FORMAT_V1, getPackageProvenance } from "./provenance.js";
|
|
21
|
+
export { HONUA_VEGA_LITE_SCHEMA_V5, chartWidgetToVegaLiteSpec } from "./chart-spec.js";
|
|
22
|
+
export { getCapability, getCapabilityReasonCode, hasCapability, hasPackageFamily, isCapabilitySupported, } from "./capability-manifest.js";
|
|
23
|
+
// Re-exported established families so `@honua/sdk-js/studio` is the single
|
|
24
|
+
// import path for every Studio package projection. These leaf modules carry
|
|
25
|
+
// no MapLibre/DOM runtime imports (their cross-module imports are type-only).
|
|
26
|
+
export { HONUA_MAP_PACKAGE_FORMAT_V1 } from "../runtime/map-package.js";
|
|
27
|
+
export { HONUA_GENERATED_APP_MANIFEST_FORMAT_V1 } from "../generated-app/manifest.js";
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared provenance contract carried by AI-generated Studio packages
|
|
3
|
+
* (map, dashboard, report, app, and the stub families) regardless of which
|
|
4
|
+
* surface produced them — Honua Studio/Console, an MCP client, or the QGIS
|
|
5
|
+
* plugin.
|
|
6
|
+
*
|
|
7
|
+
* Parity goal: a package generated through MCP or QGIS records the same
|
|
8
|
+
* prompt / plan / data-binding / permission / origin provenance as one
|
|
9
|
+
* generated in Console, so the SDK can validate, attribute, and preview it
|
|
10
|
+
* with one contract. The shape is intentionally additive and open-ended —
|
|
11
|
+
* unknown fields are preserved through `[extra: string]: unknown` so a newer
|
|
12
|
+
* generator never breaks an older client.
|
|
13
|
+
*
|
|
14
|
+
* @experimental Not yet covered by the SDK's semver contract — these shapes
|
|
15
|
+
* may change in any minor release prior to `1.0.0` and before the matching
|
|
16
|
+
* server contracts ship.
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
/** Canonical format string for the v1 package-provenance shape. */
|
|
20
|
+
export declare const HONUA_PACKAGE_PROVENANCE_FORMAT_V1: "honua_package_provenance.v1";
|
|
21
|
+
export type HonuaPackageProvenanceFormat = typeof HONUA_PACKAGE_PROVENANCE_FORMAT_V1;
|
|
22
|
+
/**
|
|
23
|
+
* The surface that produced a package. Used to attribute generation and to
|
|
24
|
+
* gate which capabilities a host may assume (e.g. QGIS-origin packages cannot
|
|
25
|
+
* assume Console-only server execution).
|
|
26
|
+
*
|
|
27
|
+
* @experimental
|
|
28
|
+
*/
|
|
29
|
+
export type HonuaPackageOrigin = "console" | "studio" | "mcp" | "qgis" | "sdk" | (string & {});
|
|
30
|
+
/**
|
|
31
|
+
* The natural-language prompt and any structured instructions that drove an
|
|
32
|
+
* AI generation. `surface` records which client captured the prompt so MCP
|
|
33
|
+
* and QGIS flows carry the same shape as Console.
|
|
34
|
+
*
|
|
35
|
+
* @experimental
|
|
36
|
+
*/
|
|
37
|
+
export interface HonuaPromptProvenance {
|
|
38
|
+
readonly text?: string;
|
|
39
|
+
readonly system?: string;
|
|
40
|
+
readonly surface?: HonuaPackageOrigin;
|
|
41
|
+
readonly model?: string;
|
|
42
|
+
readonly capturedAt?: string;
|
|
43
|
+
readonly [extra: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* One step in the generation plan the agent followed to produce the package.
|
|
47
|
+
*
|
|
48
|
+
* @experimental
|
|
49
|
+
*/
|
|
50
|
+
export interface HonuaPlanStep {
|
|
51
|
+
readonly id?: string;
|
|
52
|
+
readonly kind?: string;
|
|
53
|
+
readonly summary?: string;
|
|
54
|
+
readonly toolName?: string;
|
|
55
|
+
readonly status?: "planned" | "succeeded" | "failed" | "skipped" | (string & {});
|
|
56
|
+
readonly [extra: string]: unknown;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* The plan an agent executed — an ordered list of steps plus an optional
|
|
60
|
+
* free-text rationale. Mirrors what Console records so MCP/QGIS-generated
|
|
61
|
+
* packages can be inspected identically.
|
|
62
|
+
*
|
|
63
|
+
* @experimental
|
|
64
|
+
*/
|
|
65
|
+
export interface HonuaPlanProvenance {
|
|
66
|
+
readonly steps?: readonly HonuaPlanStep[];
|
|
67
|
+
readonly rationale?: string;
|
|
68
|
+
readonly [extra: string]: unknown;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* One data binding referenced by a package's provenance: which source (and
|
|
72
|
+
* optionally which query/layer) the generated output reads. This duplicates
|
|
73
|
+
* just enough of the per-family binding to let a validator confirm the
|
|
74
|
+
* package's declared inputs without loading every family-specific spec.
|
|
75
|
+
*
|
|
76
|
+
* @experimental
|
|
77
|
+
*/
|
|
78
|
+
export interface HonuaProvenanceDataBinding {
|
|
79
|
+
readonly sourceId: string;
|
|
80
|
+
readonly title?: string;
|
|
81
|
+
readonly protocol?: string;
|
|
82
|
+
readonly queryId?: string;
|
|
83
|
+
readonly layerId?: string;
|
|
84
|
+
readonly role?: "primary" | "secondary" | "lookup" | (string & {});
|
|
85
|
+
readonly [extra: string]: unknown;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A single permission the package requires to render or execute. `scope`
|
|
89
|
+
* names the capability (e.g. `"source:read"`, `"server:execute"`) and
|
|
90
|
+
* `clientSide` records whether the SDK can satisfy it in a browser preview
|
|
91
|
+
* (`true`) or whether it requires server execution (`false`).
|
|
92
|
+
*
|
|
93
|
+
* @experimental
|
|
94
|
+
*/
|
|
95
|
+
export interface HonuaPackagePermission {
|
|
96
|
+
readonly scope: string;
|
|
97
|
+
readonly resource?: string;
|
|
98
|
+
readonly clientSide?: boolean;
|
|
99
|
+
readonly description?: string;
|
|
100
|
+
readonly [extra: string]: unknown;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Provenance envelope attached to a generated package, consistently shaped
|
|
104
|
+
* across Console, MCP, and QGIS. Attach it under a package's `provenance`
|
|
105
|
+
* field (every family carries an open `[extra]` index signature) so the SDK
|
|
106
|
+
* validator and preview helpers can read one contract.
|
|
107
|
+
*
|
|
108
|
+
* @experimental
|
|
109
|
+
*/
|
|
110
|
+
export interface HonuaPackageProvenance {
|
|
111
|
+
readonly format: HonuaPackageProvenanceFormat;
|
|
112
|
+
readonly origin: HonuaPackageOrigin;
|
|
113
|
+
/** Stable id of the package this provenance describes, when known. */
|
|
114
|
+
readonly packageId?: string;
|
|
115
|
+
readonly generatedAt?: string;
|
|
116
|
+
/** Generator/tool identifier, e.g. `"honua-mcp@1.4.0"` or `"qgis-plugin@0.3"`. */
|
|
117
|
+
readonly generator?: string;
|
|
118
|
+
readonly prompt?: HonuaPromptProvenance;
|
|
119
|
+
readonly plan?: HonuaPlanProvenance;
|
|
120
|
+
readonly dataBindings?: readonly HonuaProvenanceDataBinding[];
|
|
121
|
+
readonly permissions?: readonly HonuaPackagePermission[];
|
|
122
|
+
readonly [extra: string]: unknown;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Read the provenance envelope off any package value, or `undefined` when it
|
|
126
|
+
* is absent or malformed. Does not throw on untrusted input.
|
|
127
|
+
*
|
|
128
|
+
* @experimental
|
|
129
|
+
*/
|
|
130
|
+
export declare function getPackageProvenance(pkg: unknown): HonuaPackageProvenance | undefined;
|
|
131
|
+
//# sourceMappingURL=provenance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provenance.d.ts","sourceRoot":"","sources":["../../../src/studio/provenance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,mEAAmE;AACnE,eAAO,MAAM,kCAAkC,EAAG,6BAAsC,CAAC;AAEzF,MAAM,MAAM,4BAA4B,GAAG,OAAO,kCAAkC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE/F;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjF,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACnE,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;IACpC,sEAAsE;IACtE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACzD,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAOD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,GAAG,SAAS,CAMrF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared provenance contract carried by AI-generated Studio packages
|
|
3
|
+
* (map, dashboard, report, app, and the stub families) regardless of which
|
|
4
|
+
* surface produced them — Honua Studio/Console, an MCP client, or the QGIS
|
|
5
|
+
* plugin.
|
|
6
|
+
*
|
|
7
|
+
* Parity goal: a package generated through MCP or QGIS records the same
|
|
8
|
+
* prompt / plan / data-binding / permission / origin provenance as one
|
|
9
|
+
* generated in Console, so the SDK can validate, attribute, and preview it
|
|
10
|
+
* with one contract. The shape is intentionally additive and open-ended —
|
|
11
|
+
* unknown fields are preserved through `[extra: string]: unknown` so a newer
|
|
12
|
+
* generator never breaks an older client.
|
|
13
|
+
*
|
|
14
|
+
* @experimental Not yet covered by the SDK's semver contract — these shapes
|
|
15
|
+
* may change in any minor release prior to `1.0.0` and before the matching
|
|
16
|
+
* server contracts ship.
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
/** Canonical format string for the v1 package-provenance shape. */
|
|
20
|
+
export const HONUA_PACKAGE_PROVENANCE_FORMAT_V1 = "honua_package_provenance.v1";
|
|
21
|
+
/**
|
|
22
|
+
* Read the provenance envelope off any package value, or `undefined` when it
|
|
23
|
+
* is absent or malformed. Does not throw on untrusted input.
|
|
24
|
+
*
|
|
25
|
+
* @experimental
|
|
26
|
+
*/
|
|
27
|
+
export function getPackageProvenance(pkg) {
|
|
28
|
+
if (!isRecord(pkg))
|
|
29
|
+
return undefined;
|
|
30
|
+
const provenance = pkg.provenance;
|
|
31
|
+
if (!isRecord(provenance))
|
|
32
|
+
return undefined;
|
|
33
|
+
if (provenance.format !== HONUA_PACKAGE_PROVENANCE_FORMAT_V1)
|
|
34
|
+
return undefined;
|
|
35
|
+
return provenance;
|
|
36
|
+
}
|
|
37
|
+
function isRecord(value) {
|
|
38
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
39
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Versioned publication, share, and embed request/response contracts for
|
|
3
|
+
* generated Studio artifacts. These extend the established control-plane
|
|
4
|
+
* patterns: {@link HonuaShareRequest} / {@link HonuaShareResponse} are
|
|
5
|
+
* re-exported from `control-plane/types` (single source of truth — not
|
|
6
|
+
* re-declared) so Console and MCP can reach the share contract from the one
|
|
7
|
+
* `@honua/sdk-js/studio` path without taking on the full control-plane client.
|
|
8
|
+
*
|
|
9
|
+
* @experimental Not yet covered by the SDK's semver contract — these shapes
|
|
10
|
+
* may change in any minor release prior to `1.0.0`.
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
import type { HonuaStudioPackage, HonuaStudioPackageFamily } from "./types.js";
|
|
14
|
+
export type { HonuaShareRequest, HonuaShareResponse } from "../control-plane/types.js";
|
|
15
|
+
/**
|
|
16
|
+
* Request to publish a Studio package of any family.
|
|
17
|
+
*
|
|
18
|
+
* @experimental
|
|
19
|
+
*/
|
|
20
|
+
export interface StudioPublishRequest<T = HonuaStudioPackage> {
|
|
21
|
+
readonly packageFamily: HonuaStudioPackageFamily | (string & {});
|
|
22
|
+
readonly package: T;
|
|
23
|
+
readonly title?: string;
|
|
24
|
+
readonly description?: string;
|
|
25
|
+
readonly workspaceId?: string;
|
|
26
|
+
readonly visibility?: "private" | "workspace" | "public" | (string & {});
|
|
27
|
+
readonly message?: string;
|
|
28
|
+
readonly ifMatch?: string;
|
|
29
|
+
readonly [extra: string]: unknown;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Response from publishing a Studio package.
|
|
33
|
+
*
|
|
34
|
+
* @experimental
|
|
35
|
+
*/
|
|
36
|
+
export interface StudioPublishResponse {
|
|
37
|
+
readonly packageId: string;
|
|
38
|
+
readonly packageFamily: HonuaStudioPackageFamily | (string & {});
|
|
39
|
+
readonly status?: string;
|
|
40
|
+
readonly job?: {
|
|
41
|
+
readonly id: string;
|
|
42
|
+
readonly status: string;
|
|
43
|
+
readonly [k: string]: unknown;
|
|
44
|
+
};
|
|
45
|
+
readonly links?: Record<string, string | undefined>;
|
|
46
|
+
readonly [extra: string]: unknown;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Client-side descriptor for embedding a published package. `token` and
|
|
50
|
+
* `embedUrl` are server-issued; this type only carries an already-issued
|
|
51
|
+
* descriptor — it does not imply a token-minting call within the SDK.
|
|
52
|
+
*
|
|
53
|
+
* @experimental
|
|
54
|
+
*/
|
|
55
|
+
export interface StudioEmbedConfig {
|
|
56
|
+
readonly packageId: string;
|
|
57
|
+
readonly packageFamily: HonuaStudioPackageFamily | (string & {});
|
|
58
|
+
readonly embedUrl?: string;
|
|
59
|
+
readonly token?: string;
|
|
60
|
+
readonly expiresAt?: string;
|
|
61
|
+
readonly options?: Record<string, unknown>;
|
|
62
|
+
readonly [extra: string]: unknown;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=publish.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../../src/studio/publish.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAG/E,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEvF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,kBAAkB;IAC1D,QAAQ,CAAC,aAAa,EAAE,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC/F,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACpD,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,wBAAwB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,QAAQ,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CACnC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Versioned publication, share, and embed request/response contracts for
|
|
3
|
+
* generated Studio artifacts. These extend the established control-plane
|
|
4
|
+
* patterns: {@link HonuaShareRequest} / {@link HonuaShareResponse} are
|
|
5
|
+
* re-exported from `control-plane/types` (single source of truth — not
|
|
6
|
+
* re-declared) so Console and MCP can reach the share contract from the one
|
|
7
|
+
* `@honua/sdk-js/studio` path without taking on the full control-plane client.
|
|
8
|
+
*
|
|
9
|
+
* @experimental Not yet covered by the SDK's semver contract — these shapes
|
|
10
|
+
* may change in any minor release prior to `1.0.0`.
|
|
11
|
+
* @module
|
|
12
|
+
*/
|
|
13
|
+
export {};
|