@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.
Files changed (597) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +9 -0
  3. package/contract/analytics-sources.d.ts +149 -0
  4. package/contract/analytics-sources.d.ts.map +1 -0
  5. package/contract/analytics-sources.js +235 -0
  6. package/contract/edit-session.d.ts +203 -0
  7. package/contract/edit-session.d.ts.map +1 -0
  8. package/contract/edit-session.js +760 -0
  9. package/contract/edit-sketch.d.ts +91 -0
  10. package/contract/edit-sketch.d.ts.map +1 -0
  11. package/contract/edit-sketch.js +281 -0
  12. package/contract/index.d.ts +61 -0
  13. package/contract/index.d.ts.map +1 -0
  14. package/contract/index.js +51 -0
  15. package/contract/jobs.d.ts +149 -0
  16. package/contract/jobs.d.ts.map +1 -0
  17. package/contract/jobs.js +40 -0
  18. package/contract/source.d.ts +423 -0
  19. package/contract/source.d.ts.map +1 -0
  20. package/contract/source.js +3802 -0
  21. package/contract/spatial-aggregation.d.ts +336 -0
  22. package/contract/spatial-aggregation.d.ts.map +1 -0
  23. package/contract/spatial-aggregation.js +298 -0
  24. package/contract/temporal.d.ts +455 -0
  25. package/contract/temporal.d.ts.map +1 -0
  26. package/contract/temporal.js +146 -0
  27. package/contract/tiles.d.ts +370 -0
  28. package/contract/tiles.d.ts.map +1 -0
  29. package/contract/tiles.js +519 -0
  30. package/contract/types.d.ts +665 -0
  31. package/contract/types.d.ts.map +1 -0
  32. package/contract/types.js +175 -0
  33. package/contract/widget-source.d.ts +205 -0
  34. package/contract/widget-source.d.ts.map +1 -0
  35. package/contract/widget-source.js +1473 -0
  36. package/control-plane/client.d.ts +95 -0
  37. package/control-plane/client.d.ts.map +1 -0
  38. package/control-plane/client.js +374 -0
  39. package/control-plane/index.d.ts +18 -0
  40. package/control-plane/index.d.ts.map +1 -0
  41. package/control-plane/index.js +14 -0
  42. package/control-plane/types.d.ts +233 -0
  43. package/control-plane/types.d.ts.map +1 -0
  44. package/control-plane/types.js +7 -0
  45. package/core/batch.d.ts +37 -0
  46. package/core/batch.d.ts.map +1 -0
  47. package/core/batch.js +79 -0
  48. package/core/cache-state.d.ts +79 -0
  49. package/core/cache-state.d.ts.map +1 -0
  50. package/core/cache-state.js +87 -0
  51. package/core/client.d.ts +577 -0
  52. package/core/client.d.ts.map +1 -0
  53. package/core/client.js +1664 -0
  54. package/core/compatibility.d.ts +18 -0
  55. package/core/compatibility.d.ts.map +1 -0
  56. package/core/compatibility.js +245 -0
  57. package/core/errors.d.ts +107 -0
  58. package/core/errors.d.ts.map +1 -0
  59. package/core/errors.js +156 -0
  60. package/core/esri-geojson.d.ts +66 -0
  61. package/core/esri-geojson.d.ts.map +1 -0
  62. package/core/esri-geojson.js +363 -0
  63. package/core/geoservices.d.ts +34 -0
  64. package/core/geoservices.d.ts.map +1 -0
  65. package/core/geoservices.js +434 -0
  66. package/core/grpc-adapter.d.ts +23 -0
  67. package/core/grpc-adapter.d.ts.map +1 -0
  68. package/core/grpc-adapter.js +688 -0
  69. package/core/odata.d.ts +347 -0
  70. package/core/odata.d.ts.map +1 -0
  71. package/core/odata.js +913 -0
  72. package/core/ogc-conformance.d.ts +35 -0
  73. package/core/ogc-conformance.d.ts.map +1 -0
  74. package/core/ogc-conformance.js +134 -0
  75. package/core/ogc-features.d.ts +23 -0
  76. package/core/ogc-features.d.ts.map +1 -0
  77. package/core/ogc-features.js +114 -0
  78. package/core/ogc-maps.d.ts +49 -0
  79. package/core/ogc-maps.d.ts.map +1 -0
  80. package/core/ogc-maps.js +126 -0
  81. package/core/ogc-processes.d.ts +118 -0
  82. package/core/ogc-processes.d.ts.map +1 -0
  83. package/core/ogc-processes.js +423 -0
  84. package/core/ogc-records.d.ts +75 -0
  85. package/core/ogc-records.d.ts.map +1 -0
  86. package/core/ogc-records.js +251 -0
  87. package/core/ogc-tiles.d.ts +125 -0
  88. package/core/ogc-tiles.d.ts.map +1 -0
  89. package/core/ogc-tiles.js +183 -0
  90. package/core/path-utils.d.ts +69 -0
  91. package/core/path-utils.d.ts.map +1 -0
  92. package/core/path-utils.js +123 -0
  93. package/core/pbf-decoder.d.ts +39 -0
  94. package/core/pbf-decoder.d.ts.map +1 -0
  95. package/core/pbf-decoder.js +702 -0
  96. package/core/process-runner.d.ts +104 -0
  97. package/core/process-runner.d.ts.map +1 -0
  98. package/core/process-runner.js +315 -0
  99. package/core/protocol-transport.d.ts +76 -0
  100. package/core/protocol-transport.d.ts.map +1 -0
  101. package/core/protocol-transport.js +15 -0
  102. package/core/query-builder.d.ts +261 -0
  103. package/core/query-builder.d.ts.map +1 -0
  104. package/core/query-builder.js +538 -0
  105. package/core/request-pipeline.d.ts +88 -0
  106. package/core/request-pipeline.d.ts.map +1 -0
  107. package/core/request-pipeline.js +273 -0
  108. package/core/spatial-filter.d.ts +93 -0
  109. package/core/spatial-filter.d.ts.map +1 -0
  110. package/core/spatial-filter.js +153 -0
  111. package/core/stac.d.ts +55 -0
  112. package/core/stac.d.ts.map +1 -0
  113. package/core/stac.js +229 -0
  114. package/core/surfaces.d.ts +527 -0
  115. package/core/surfaces.d.ts.map +1 -0
  116. package/core/surfaces.js +1917 -0
  117. package/core/terrain-elevation.d.ts +114 -0
  118. package/core/terrain-elevation.d.ts.map +1 -0
  119. package/core/terrain-elevation.js +150 -0
  120. package/core/types.d.ts +1355 -0
  121. package/core/types.d.ts.map +1 -0
  122. package/core/types.js +13 -0
  123. package/core/wfs-capabilities.d.ts +143 -0
  124. package/core/wfs-capabilities.d.ts.map +1 -0
  125. package/core/wfs-capabilities.js +478 -0
  126. package/core/wfs-filter.d.ts +118 -0
  127. package/core/wfs-filter.d.ts.map +1 -0
  128. package/core/wfs-filter.js +634 -0
  129. package/core/wfs.d.ts +219 -0
  130. package/core/wfs.d.ts.map +1 -0
  131. package/core/wfs.js +406 -0
  132. package/core/wire-shared.d.ts +32 -0
  133. package/core/wire-shared.d.ts.map +1 -0
  134. package/core/wire-shared.js +76 -0
  135. package/core/wms-axis.d.ts +36 -0
  136. package/core/wms-axis.d.ts.map +1 -0
  137. package/core/wms-axis.js +73 -0
  138. package/core/wms-capabilities.d.ts +110 -0
  139. package/core/wms-capabilities.d.ts.map +1 -0
  140. package/core/wms-capabilities.js +559 -0
  141. package/core/wms-types.d.ts +128 -0
  142. package/core/wms-types.d.ts.map +1 -0
  143. package/core/wms-types.js +32 -0
  144. package/core/wms.d.ts +144 -0
  145. package/core/wms.d.ts.map +1 -0
  146. package/core/wms.js +338 -0
  147. package/core/wmts-capabilities.d.ts +82 -0
  148. package/core/wmts-capabilities.d.ts.map +1 -0
  149. package/core/wmts-capabilities.js +402 -0
  150. package/core/wmts.d.ts +103 -0
  151. package/core/wmts.d.ts.map +1 -0
  152. package/core/wmts.js +332 -0
  153. package/core/xml-text.d.ts +20 -0
  154. package/core/xml-text.d.ts.map +1 -0
  155. package/core/xml-text.js +85 -0
  156. package/esri-compat/basemap-gallery.d.ts +38 -0
  157. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  158. package/esri-compat/basemap-gallery.js +159 -0
  159. package/esri-compat/basemap-layer-list.d.ts +35 -0
  160. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  161. package/esri-compat/basemap-layer-list.js +139 -0
  162. package/esri-compat/basemap.d.ts +32 -0
  163. package/esri-compat/basemap.d.ts.map +1 -0
  164. package/esri-compat/basemap.js +84 -0
  165. package/esri-compat/bookmarks.d.ts +36 -0
  166. package/esri-compat/bookmarks.d.ts.map +1 -0
  167. package/esri-compat/bookmarks.js +108 -0
  168. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  169. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  170. package/esri-compat/class-breaks-renderer.js +164 -0
  171. package/esri-compat/color.d.ts +22 -0
  172. package/esri-compat/color.d.ts.map +1 -0
  173. package/esri-compat/color.js +106 -0
  174. package/esri-compat/controls.d.ts +174 -0
  175. package/esri-compat/controls.d.ts.map +1 -0
  176. package/esri-compat/controls.js +479 -0
  177. package/esri-compat/coordinate-conversion.d.ts +41 -0
  178. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  179. package/esri-compat/coordinate-conversion.js +125 -0
  180. package/esri-compat/directions.d.ts +45 -0
  181. package/esri-compat/directions.d.ts.map +1 -0
  182. package/esri-compat/directions.js +123 -0
  183. package/esri-compat/editor.d.ts +47 -0
  184. package/esri-compat/editor.d.ts.map +1 -0
  185. package/esri-compat/editor.js +170 -0
  186. package/esri-compat/esri-config.d.ts +16 -0
  187. package/esri-compat/esri-config.d.ts.map +1 -0
  188. package/esri-compat/esri-config.js +23 -0
  189. package/esri-compat/esri-request.d.ts +17 -0
  190. package/esri-compat/esri-request.d.ts.map +1 -0
  191. package/esri-compat/esri-request.js +127 -0
  192. package/esri-compat/event-bus.d.ts +106 -0
  193. package/esri-compat/event-bus.d.ts.map +1 -0
  194. package/esri-compat/event-bus.js +90 -0
  195. package/esri-compat/expand.d.ts +36 -0
  196. package/esri-compat/expand.d.ts.map +1 -0
  197. package/esri-compat/expand.js +97 -0
  198. package/esri-compat/extent.d.ts +43 -0
  199. package/esri-compat/extent.d.ts.map +1 -0
  200. package/esri-compat/extent.js +140 -0
  201. package/esri-compat/feature-filter.d.ts +55 -0
  202. package/esri-compat/feature-filter.d.ts.map +1 -0
  203. package/esri-compat/feature-filter.js +109 -0
  204. package/esri-compat/feature-form.d.ts +64 -0
  205. package/esri-compat/feature-form.d.ts.map +1 -0
  206. package/esri-compat/feature-form.js +137 -0
  207. package/esri-compat/feature-layer.d.ts +173 -0
  208. package/esri-compat/feature-layer.d.ts.map +1 -0
  209. package/esri-compat/feature-layer.js +661 -0
  210. package/esri-compat/feature-set.d.ts +32 -0
  211. package/esri-compat/feature-set.d.ts.map +1 -0
  212. package/esri-compat/feature-set.js +80 -0
  213. package/esri-compat/feature-table.d.ts +141 -0
  214. package/esri-compat/feature-table.d.ts.map +1 -0
  215. package/esri-compat/feature-table.js +500 -0
  216. package/esri-compat/feature-templates.d.ts +41 -0
  217. package/esri-compat/feature-templates.d.ts.map +1 -0
  218. package/esri-compat/feature-templates.js +97 -0
  219. package/esri-compat/feature.d.ts +33 -0
  220. package/esri-compat/feature.d.ts.map +1 -0
  221. package/esri-compat/feature.js +83 -0
  222. package/esri-compat/geojson-layer.d.ts +86 -0
  223. package/esri-compat/geojson-layer.d.ts.map +1 -0
  224. package/esri-compat/geojson-layer.js +191 -0
  225. package/esri-compat/geometry-engine.d.ts +107 -0
  226. package/esri-compat/geometry-engine.d.ts.map +1 -0
  227. package/esri-compat/geometry-engine.js +266 -0
  228. package/esri-compat/graphic.d.ts +46 -0
  229. package/esri-compat/graphic.d.ts.map +1 -0
  230. package/esri-compat/graphic.js +103 -0
  231. package/esri-compat/graphics-layer.d.ts +49 -0
  232. package/esri-compat/graphics-layer.d.ts.map +1 -0
  233. package/esri-compat/graphics-layer.js +185 -0
  234. package/esri-compat/group-layer.d.ts +48 -0
  235. package/esri-compat/group-layer.d.ts.map +1 -0
  236. package/esri-compat/group-layer.js +212 -0
  237. package/esri-compat/identify.d.ts +71 -0
  238. package/esri-compat/identify.d.ts.map +1 -0
  239. package/esri-compat/identify.js +299 -0
  240. package/esri-compat/identity-manager.d.ts +31 -0
  241. package/esri-compat/identity-manager.d.ts.map +1 -0
  242. package/esri-compat/identity-manager.js +115 -0
  243. package/esri-compat/imagery-layer.d.ts +78 -0
  244. package/esri-compat/imagery-layer.d.ts.map +1 -0
  245. package/esri-compat/imagery-layer.js +167 -0
  246. package/esri-compat/label-class.d.ts +31 -0
  247. package/esri-compat/label-class.d.ts.map +1 -0
  248. package/esri-compat/label-class.js +102 -0
  249. package/esri-compat/layer-list.d.ts +77 -0
  250. package/esri-compat/layer-list.d.ts.map +1 -0
  251. package/esri-compat/layer-list.js +342 -0
  252. package/esri-compat/legend.d.ts +53 -0
  253. package/esri-compat/legend.d.ts.map +1 -0
  254. package/esri-compat/legend.js +254 -0
  255. package/esri-compat/map-image-layer.d.ts +162 -0
  256. package/esri-compat/map-image-layer.d.ts.map +1 -0
  257. package/esri-compat/map-image-layer.js +709 -0
  258. package/esri-compat/map-view.d.ts +323 -0
  259. package/esri-compat/map-view.d.ts.map +1 -0
  260. package/esri-compat/map-view.js +1175 -0
  261. package/esri-compat/map.d.ts +47 -0
  262. package/esri-compat/map.d.ts.map +1 -0
  263. package/esri-compat/map.js +209 -0
  264. package/esri-compat/measurement-2d.d.ts +61 -0
  265. package/esri-compat/measurement-2d.d.ts.map +1 -0
  266. package/esri-compat/measurement-2d.js +184 -0
  267. package/esri-compat/measurement.d.ts +45 -0
  268. package/esri-compat/measurement.d.ts.map +1 -0
  269. package/esri-compat/measurement.js +193 -0
  270. package/esri-compat/oauth-info.d.ts +35 -0
  271. package/esri-compat/oauth-info.d.ts.map +1 -0
  272. package/esri-compat/oauth-info.js +115 -0
  273. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  274. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  275. package/esri-compat/picture-marker-symbol.js +126 -0
  276. package/esri-compat/point.d.ts +31 -0
  277. package/esri-compat/point.d.ts.map +1 -0
  278. package/esri-compat/point.js +102 -0
  279. package/esri-compat/polygon.d.ts +31 -0
  280. package/esri-compat/polygon.d.ts.map +1 -0
  281. package/esri-compat/polygon.js +107 -0
  282. package/esri-compat/polyline.d.ts +31 -0
  283. package/esri-compat/polyline.d.ts.map +1 -0
  284. package/esri-compat/polyline.js +107 -0
  285. package/esri-compat/popup-template.d.ts +55 -0
  286. package/esri-compat/popup-template.d.ts.map +1 -0
  287. package/esri-compat/popup-template.js +128 -0
  288. package/esri-compat/popup.d.ts +54 -0
  289. package/esri-compat/popup.d.ts.map +1 -0
  290. package/esri-compat/popup.js +312 -0
  291. package/esri-compat/print.d.ts +47 -0
  292. package/esri-compat/print.d.ts.map +1 -0
  293. package/esri-compat/print.js +105 -0
  294. package/esri-compat/query.d.ts +58 -0
  295. package/esri-compat/query.d.ts.map +1 -0
  296. package/esri-compat/query.js +128 -0
  297. package/esri-compat/reactive-utils.d.ts +24 -0
  298. package/esri-compat/reactive-utils.d.ts.map +1 -0
  299. package/esri-compat/reactive-utils.js +193 -0
  300. package/esri-compat/request.d.ts +41 -0
  301. package/esri-compat/request.d.ts.map +1 -0
  302. package/esri-compat/request.js +253 -0
  303. package/esri-compat/route-layer.d.ts +59 -0
  304. package/esri-compat/route-layer.d.ts.map +1 -0
  305. package/esri-compat/route-layer.js +223 -0
  306. package/esri-compat/route-task.d.ts +88 -0
  307. package/esri-compat/route-task.d.ts.map +1 -0
  308. package/esri-compat/route-task.js +225 -0
  309. package/esri-compat/scene-view.d.ts +41 -0
  310. package/esri-compat/scene-view.d.ts.map +1 -0
  311. package/esri-compat/scene-view.js +68 -0
  312. package/esri-compat/search.d.ts +112 -0
  313. package/esri-compat/search.d.ts.map +1 -0
  314. package/esri-compat/search.js +820 -0
  315. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  316. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  317. package/esri-compat/simple-fill-symbol.js +85 -0
  318. package/esri-compat/simple-line-symbol.d.ts +27 -0
  319. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  320. package/esri-compat/simple-line-symbol.js +85 -0
  321. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  322. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  323. package/esri-compat/simple-marker-symbol.js +92 -0
  324. package/esri-compat/simple-renderer.d.ts +29 -0
  325. package/esri-compat/simple-renderer.d.ts.map +1 -0
  326. package/esri-compat/simple-renderer.js +92 -0
  327. package/esri-compat/sketch.d.ts +64 -0
  328. package/esri-compat/sketch.d.ts.map +1 -0
  329. package/esri-compat/sketch.js +227 -0
  330. package/esri-compat/spatial-reference.d.ts +31 -0
  331. package/esri-compat/spatial-reference.d.ts.map +1 -0
  332. package/esri-compat/spatial-reference.js +102 -0
  333. package/esri-compat/swipe.d.ts +34 -0
  334. package/esri-compat/swipe.d.ts.map +1 -0
  335. package/esri-compat/swipe.js +93 -0
  336. package/esri-compat/table-list.d.ts +36 -0
  337. package/esri-compat/table-list.d.ts.map +1 -0
  338. package/esri-compat/table-list.js +126 -0
  339. package/esri-compat/text-symbol.d.ts +37 -0
  340. package/esri-compat/text-symbol.d.ts.map +1 -0
  341. package/esri-compat/text-symbol.js +123 -0
  342. package/esri-compat/tile-layer.d.ts +52 -0
  343. package/esri-compat/tile-layer.d.ts.map +1 -0
  344. package/esri-compat/tile-layer.js +168 -0
  345. package/esri-compat/time-slider.d.ts +70 -0
  346. package/esri-compat/time-slider.d.ts.map +1 -0
  347. package/esri-compat/time-slider.js +208 -0
  348. package/esri-compat/track.d.ts +51 -0
  349. package/esri-compat/track.d.ts.map +1 -0
  350. package/esri-compat/track.js +174 -0
  351. package/esri-compat/unique-value-renderer.d.ts +41 -0
  352. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  353. package/esri-compat/unique-value-renderer.js +127 -0
  354. package/esri-compat/url.d.ts +13 -0
  355. package/esri-compat/url.d.ts.map +1 -0
  356. package/esri-compat/url.js +68 -0
  357. package/esri-compat/vector-tile-layer.d.ts +47 -0
  358. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  359. package/esri-compat/vector-tile-layer.js +130 -0
  360. package/esri-compat/web-map.d.ts +14 -0
  361. package/esri-compat/web-map.d.ts.map +1 -0
  362. package/esri-compat/web-map.js +24 -0
  363. package/esri-compat/wfs-layer.d.ts +64 -0
  364. package/esri-compat/wfs-layer.d.ts.map +1 -0
  365. package/esri-compat/wfs-layer.js +145 -0
  366. package/esri-compat/wms-layer.d.ts +76 -0
  367. package/esri-compat/wms-layer.d.ts.map +1 -0
  368. package/esri-compat/wms-layer.js +157 -0
  369. package/exploration/context.d.ts +25 -0
  370. package/exploration/context.d.ts.map +1 -0
  371. package/exploration/context.js +396 -0
  372. package/exploration/index.d.ts +27 -0
  373. package/exploration/index.d.ts.map +1 -0
  374. package/exploration/index.js +24 -0
  375. package/exploration/presets.d.ts +27 -0
  376. package/exploration/presets.d.ts.map +1 -0
  377. package/exploration/presets.js +114 -0
  378. package/exploration/reducer.d.ts +23 -0
  379. package/exploration/reducer.d.ts.map +1 -0
  380. package/exploration/reducer.js +332 -0
  381. package/exploration/selection.d.ts +25 -0
  382. package/exploration/selection.d.ts.map +1 -0
  383. package/exploration/selection.js +34 -0
  384. package/exploration/selectors.d.ts +56 -0
  385. package/exploration/selectors.d.ts.map +1 -0
  386. package/exploration/selectors.js +110 -0
  387. package/exploration/types.d.ts +294 -0
  388. package/exploration/types.d.ts.map +1 -0
  389. package/exploration/types.js +33 -0
  390. package/expr/expression.d.ts +457 -0
  391. package/expr/expression.d.ts.map +1 -0
  392. package/expr/expression.js +663 -0
  393. package/expr/index.d.ts +32 -0
  394. package/expr/index.d.ts.map +1 -0
  395. package/expr/index.js +30 -0
  396. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  397. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  398. package/gen/honua/v1/feature_service_pb.js +375 -0
  399. package/generated-app/errors.d.ts +41 -0
  400. package/generated-app/errors.d.ts.map +1 -0
  401. package/generated-app/errors.js +41 -0
  402. package/generated-app/index.d.ts +17 -0
  403. package/generated-app/index.d.ts.map +1 -0
  404. package/generated-app/index.js +12 -0
  405. package/generated-app/manifest.d.ts +183 -0
  406. package/generated-app/manifest.d.ts.map +1 -0
  407. package/generated-app/manifest.js +14 -0
  408. package/generated-app/projection.d.ts +44 -0
  409. package/generated-app/projection.d.ts.map +1 -0
  410. package/generated-app/projection.js +234 -0
  411. package/generated-app/runtime.d.ts +215 -0
  412. package/generated-app/runtime.d.ts.map +1 -0
  413. package/generated-app/runtime.js +1196 -0
  414. package/interactions/detail-model.d.ts +54 -0
  415. package/interactions/detail-model.d.ts.map +1 -0
  416. package/interactions/detail-model.js +105 -0
  417. package/interactions/exploration-bindings.d.ts +120 -0
  418. package/interactions/exploration-bindings.d.ts.map +1 -0
  419. package/interactions/exploration-bindings.js +218 -0
  420. package/interactions/feature-state.d.ts +144 -0
  421. package/interactions/feature-state.d.ts.map +1 -0
  422. package/interactions/feature-state.js +169 -0
  423. package/interactions/hit-test.d.ts +112 -0
  424. package/interactions/hit-test.d.ts.map +1 -0
  425. package/interactions/hit-test.js +291 -0
  426. package/interactions/index.d.ts +31 -0
  427. package/interactions/index.d.ts.map +1 -0
  428. package/interactions/index.js +24 -0
  429. package/interactions/share-state.d.ts +36 -0
  430. package/interactions/share-state.d.ts.map +1 -0
  431. package/interactions/share-state.js +123 -0
  432. package/map/feature-service-adapter.d.ts +138 -0
  433. package/map/feature-service-adapter.d.ts.map +1 -0
  434. package/map/feature-service-adapter.js +279 -0
  435. package/map/honua-map.d.ts +203 -0
  436. package/map/honua-map.d.ts.map +1 -0
  437. package/map/honua-map.js +347 -0
  438. package/map/index.d.ts +27 -0
  439. package/map/index.d.ts.map +1 -0
  440. package/map/index.js +22 -0
  441. package/map/maplibre-target.d.ts +103 -0
  442. package/map/maplibre-target.d.ts.map +1 -0
  443. package/map/maplibre-target.js +164 -0
  444. package/map/webmap-maplibre.d.ts +60 -0
  445. package/map/webmap-maplibre.d.ts.map +1 -0
  446. package/map/webmap-maplibre.js +212 -0
  447. package/package.json +37 -0
  448. package/react/context.d.ts +32 -0
  449. package/react/context.d.ts.map +1 -0
  450. package/react/context.js +19 -0
  451. package/react/honua-layer.d.ts +35 -0
  452. package/react/honua-layer.d.ts.map +1 -0
  453. package/react/honua-layer.js +47 -0
  454. package/react/honua-map.d.ts +83 -0
  455. package/react/honua-map.d.ts.map +1 -0
  456. package/react/honua-map.js +109 -0
  457. package/react/honua-popup.d.ts +26 -0
  458. package/react/honua-popup.d.ts.map +1 -0
  459. package/react/honua-popup.js +34 -0
  460. package/react/hooks.d.ts +127 -0
  461. package/react/hooks.d.ts.map +1 -0
  462. package/react/hooks.js +206 -0
  463. package/react/index.d.ts +42 -0
  464. package/react/index.d.ts.map +1 -0
  465. package/react/index.js +34 -0
  466. package/react/provider.d.ts +36 -0
  467. package/react/provider.d.ts.map +1 -0
  468. package/react/provider.js +35 -0
  469. package/react/query-cache.d.ts +76 -0
  470. package/react/query-cache.d.ts.map +1 -0
  471. package/react/query-cache.js +188 -0
  472. package/runtime/diff.d.ts +31 -0
  473. package/runtime/diff.d.ts.map +1 -0
  474. package/runtime/diff.js +143 -0
  475. package/runtime/errors.d.ts +40 -0
  476. package/runtime/errors.d.ts.map +1 -0
  477. package/runtime/errors.js +35 -0
  478. package/runtime/index.d.ts +59 -0
  479. package/runtime/index.d.ts.map +1 -0
  480. package/runtime/index.js +43 -0
  481. package/runtime/legend.d.ts +23 -0
  482. package/runtime/legend.d.ts.map +1 -0
  483. package/runtime/legend.js +38 -0
  484. package/runtime/load-package.d.ts +125 -0
  485. package/runtime/load-package.d.ts.map +1 -0
  486. package/runtime/load-package.js +264 -0
  487. package/runtime/map-package-fetch.d.ts +107 -0
  488. package/runtime/map-package-fetch.d.ts.map +1 -0
  489. package/runtime/map-package-fetch.js +336 -0
  490. package/runtime/map-package-realtime.d.ts +169 -0
  491. package/runtime/map-package-realtime.d.ts.map +1 -0
  492. package/runtime/map-package-realtime.js +350 -0
  493. package/runtime/map-package-validation.d.ts +43 -0
  494. package/runtime/map-package-validation.d.ts.map +1 -0
  495. package/runtime/map-package-validation.js +269 -0
  496. package/runtime/map-package-watch.d.ts +78 -0
  497. package/runtime/map-package-watch.d.ts.map +1 -0
  498. package/runtime/map-package-watch.js +695 -0
  499. package/runtime/map-package.d.ts +167 -0
  500. package/runtime/map-package.d.ts.map +1 -0
  501. package/runtime/map-package.js +15 -0
  502. package/runtime/ogc-styles.d.ts +110 -0
  503. package/runtime/ogc-styles.d.ts.map +1 -0
  504. package/runtime/ogc-styles.js +195 -0
  505. package/runtime/popups.d.ts +62 -0
  506. package/runtime/popups.d.ts.map +1 -0
  507. package/runtime/popups.js +95 -0
  508. package/runtime/query-tiles.d.ts +217 -0
  509. package/runtime/query-tiles.d.ts.map +1 -0
  510. package/runtime/query-tiles.js +801 -0
  511. package/runtime/runtime.d.ts +243 -0
  512. package/runtime/runtime.d.ts.map +1 -0
  513. package/runtime/runtime.js +1147 -0
  514. package/runtime/source-bridge.d.ts +99 -0
  515. package/runtime/source-bridge.d.ts.map +1 -0
  516. package/runtime/source-bridge.js +401 -0
  517. package/runtime/style-compose.d.ts +46 -0
  518. package/runtime/style-compose.d.ts.map +1 -0
  519. package/runtime/style-compose.js +144 -0
  520. package/runtime/style-interactions.d.ts +141 -0
  521. package/runtime/style-interactions.d.ts.map +1 -0
  522. package/runtime/style-interactions.js +574 -0
  523. package/runtime/style-spec-validation.d.ts +23 -0
  524. package/runtime/style-spec-validation.d.ts.map +1 -0
  525. package/runtime/style-spec-validation.js +357 -0
  526. package/studio/capability-manifest.d.ts +285 -0
  527. package/studio/capability-manifest.d.ts.map +1 -0
  528. package/studio/capability-manifest.js +59 -0
  529. package/studio/chart-spec.d.ts +85 -0
  530. package/studio/chart-spec.d.ts.map +1 -0
  531. package/studio/chart-spec.js +106 -0
  532. package/studio/index.d.ts +34 -0
  533. package/studio/index.d.ts.map +1 -0
  534. package/studio/index.js +27 -0
  535. package/studio/provenance.d.ts +131 -0
  536. package/studio/provenance.d.ts.map +1 -0
  537. package/studio/provenance.js +39 -0
  538. package/studio/publish.d.ts +64 -0
  539. package/studio/publish.d.ts.map +1 -0
  540. package/studio/publish.js +13 -0
  541. package/studio/types.d.ts +278 -0
  542. package/studio/types.d.ts.map +1 -0
  543. package/studio/types.js +71 -0
  544. package/studio/validate.d.ts +45 -0
  545. package/studio/validate.d.ts.map +1 -0
  546. package/studio/validate.js +255 -0
  547. package/studio/validation.d.ts +112 -0
  548. package/studio/validation.d.ts.map +1 -0
  549. package/studio/validation.js +42 -0
  550. package/style/factory.d.ts +30 -0
  551. package/style/factory.d.ts.map +1 -0
  552. package/style/factory.js +61 -0
  553. package/style/index.d.ts +25 -0
  554. package/style/index.d.ts.map +1 -0
  555. package/style/index.js +24 -0
  556. package/style/specification.d.ts +203 -0
  557. package/style/specification.d.ts.map +1 -0
  558. package/style/specification.js +178 -0
  559. package/style/wms-wmts-resolvers.d.ts +38 -0
  560. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  561. package/style/wms-wmts-resolvers.js +92 -0
  562. package/webmap/contract.d.ts +28 -0
  563. package/webmap/contract.d.ts.map +1 -0
  564. package/webmap/contract.js +130 -0
  565. package/webmap/convert-basemap.d.ts +17 -0
  566. package/webmap/convert-basemap.d.ts.map +1 -0
  567. package/webmap/convert-basemap.js +78 -0
  568. package/webmap/convert-extent.d.ts +17 -0
  569. package/webmap/convert-extent.d.ts.map +1 -0
  570. package/webmap/convert-extent.js +114 -0
  571. package/webmap/convert-label.d.ts +13 -0
  572. package/webmap/convert-label.d.ts.map +1 -0
  573. package/webmap/convert-label.js +125 -0
  574. package/webmap/convert-layer.d.ts +22 -0
  575. package/webmap/convert-layer.d.ts.map +1 -0
  576. package/webmap/convert-layer.js +181 -0
  577. package/webmap/convert-popup.d.ts +34 -0
  578. package/webmap/convert-popup.d.ts.map +1 -0
  579. package/webmap/convert-popup.js +68 -0
  580. package/webmap/convert-renderer.d.ts +17 -0
  581. package/webmap/convert-renderer.d.ts.map +1 -0
  582. package/webmap/convert-renderer.js +161 -0
  583. package/webmap/convert-symbol.d.ts +17 -0
  584. package/webmap/convert-symbol.d.ts.map +1 -0
  585. package/webmap/convert-symbol.js +122 -0
  586. package/webmap/index.d.ts +44 -0
  587. package/webmap/index.d.ts.map +1 -0
  588. package/webmap/index.js +33 -0
  589. package/webmap/parse.d.ts +25 -0
  590. package/webmap/parse.d.ts.map +1 -0
  591. package/webmap/parse.js +83 -0
  592. package/webmap/types.d.ts +264 -0
  593. package/webmap/types.d.ts.map +1 -0
  594. package/webmap/types.js +13 -0
  595. package/webmap/warnings.d.ts +30 -0
  596. package/webmap/warnings.d.ts.map +1 -0
  597. 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"}
@@ -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 {};