@honua/app-platform 0.0.20-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (840) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/app/index.d.ts +164 -0
  4. package/app/index.d.ts.map +1 -0
  5. package/app/index.js +424 -0
  6. package/app-controller/controller.d.ts +425 -0
  7. package/app-controller/controller.d.ts.map +1 -0
  8. package/app-controller/controller.js +1173 -0
  9. package/app-controller/index.d.ts +14 -0
  10. package/app-controller/index.d.ts.map +1 -0
  11. package/app-controller/index.js +12 -0
  12. package/app-workspace/index.d.ts +421 -0
  13. package/app-workspace/index.d.ts.map +1 -0
  14. package/app-workspace/index.js +722 -0
  15. package/collaboration/client.d.ts +40 -0
  16. package/collaboration/client.d.ts.map +1 -0
  17. package/collaboration/client.js +299 -0
  18. package/collaboration/errors.d.ts +15 -0
  19. package/collaboration/errors.d.ts.map +1 -0
  20. package/collaboration/errors.js +17 -0
  21. package/collaboration/fixture.d.ts +41 -0
  22. package/collaboration/fixture.d.ts.map +1 -0
  23. package/collaboration/fixture.js +362 -0
  24. package/collaboration/index.d.ts +18 -0
  25. package/collaboration/index.d.ts.map +1 -0
  26. package/collaboration/index.js +14 -0
  27. package/collaboration/types.d.ts +240 -0
  28. package/collaboration/types.d.ts.map +1 -0
  29. package/collaboration/types.js +1 -0
  30. package/contract/analytics-sources.d.ts +149 -0
  31. package/contract/analytics-sources.d.ts.map +1 -0
  32. package/contract/analytics-sources.js +235 -0
  33. package/contract/edit-session.d.ts +203 -0
  34. package/contract/edit-session.d.ts.map +1 -0
  35. package/contract/edit-session.js +760 -0
  36. package/contract/edit-sketch.d.ts +91 -0
  37. package/contract/edit-sketch.d.ts.map +1 -0
  38. package/contract/edit-sketch.js +281 -0
  39. package/contract/index.d.ts +63 -0
  40. package/contract/index.d.ts.map +1 -0
  41. package/contract/index.js +52 -0
  42. package/contract/jobs.d.ts +149 -0
  43. package/contract/jobs.d.ts.map +1 -0
  44. package/contract/jobs.js +40 -0
  45. package/contract/pmtiles.d.ts +162 -0
  46. package/contract/pmtiles.d.ts.map +1 -0
  47. package/contract/pmtiles.js +155 -0
  48. package/contract/source.d.ts +447 -0
  49. package/contract/source.d.ts.map +1 -0
  50. package/contract/source.js +3909 -0
  51. package/contract/spatial-aggregation.d.ts +336 -0
  52. package/contract/spatial-aggregation.d.ts.map +1 -0
  53. package/contract/spatial-aggregation.js +298 -0
  54. package/contract/temporal.d.ts +455 -0
  55. package/contract/temporal.d.ts.map +1 -0
  56. package/contract/temporal.js +146 -0
  57. package/contract/tiles.d.ts +370 -0
  58. package/contract/tiles.d.ts.map +1 -0
  59. package/contract/tiles.js +519 -0
  60. package/contract/types.d.ts +694 -0
  61. package/contract/types.d.ts.map +1 -0
  62. package/contract/types.js +183 -0
  63. package/contract/widget-source.d.ts +205 -0
  64. package/contract/widget-source.d.ts.map +1 -0
  65. package/contract/widget-source.js +1473 -0
  66. package/control-plane/client.d.ts +95 -0
  67. package/control-plane/client.d.ts.map +1 -0
  68. package/control-plane/client.js +374 -0
  69. package/control-plane/index.d.ts +18 -0
  70. package/control-plane/index.d.ts.map +1 -0
  71. package/control-plane/index.js +14 -0
  72. package/control-plane/types.d.ts +233 -0
  73. package/control-plane/types.d.ts.map +1 -0
  74. package/control-plane/types.js +7 -0
  75. package/controls/basemap-style-binding.d.ts +54 -0
  76. package/controls/basemap-style-binding.d.ts.map +1 -0
  77. package/controls/basemap-style-binding.js +199 -0
  78. package/controls/basemap-switcher.d.ts +95 -0
  79. package/controls/basemap-switcher.d.ts.map +1 -0
  80. package/controls/basemap-switcher.js +379 -0
  81. package/controls/element-utils.d.ts +48 -0
  82. package/controls/element-utils.d.ts.map +1 -0
  83. package/controls/element-utils.js +78 -0
  84. package/controls/index.d.ts +33 -0
  85. package/controls/index.d.ts.map +1 -0
  86. package/controls/index.js +30 -0
  87. package/controls/layer-list.d.ts +98 -0
  88. package/controls/layer-list.d.ts.map +1 -0
  89. package/controls/layer-list.js +375 -0
  90. package/controls/legend-derive.d.ts +53 -0
  91. package/controls/legend-derive.d.ts.map +1 -0
  92. package/controls/legend-derive.js +196 -0
  93. package/controls/legend.d.ts +104 -0
  94. package/controls/legend.d.ts.map +1 -0
  95. package/controls/legend.js +381 -0
  96. package/controls/swipe-control.d.ts +80 -0
  97. package/controls/swipe-control.d.ts.map +1 -0
  98. package/controls/swipe-control.js +368 -0
  99. package/controls/types.d.ts +227 -0
  100. package/controls/types.d.ts.map +1 -0
  101. package/controls/types.js +11 -0
  102. package/core/auth/client-credentials-provider.d.ts +51 -0
  103. package/core/auth/client-credentials-provider.d.ts.map +1 -0
  104. package/core/auth/client-credentials-provider.js +115 -0
  105. package/core/auth/credential-store.d.ts +52 -0
  106. package/core/auth/credential-store.d.ts.map +1 -0
  107. package/core/auth/credential-store.js +82 -0
  108. package/core/auth/index.d.ts +23 -0
  109. package/core/auth/index.d.ts.map +1 -0
  110. package/core/auth/index.js +20 -0
  111. package/core/auth/oauth2-provider.d.ts +114 -0
  112. package/core/auth/oauth2-provider.d.ts.map +1 -0
  113. package/core/auth/oauth2-provider.js +408 -0
  114. package/core/auth/pkce.d.ts +25 -0
  115. package/core/auth/pkce.d.ts.map +1 -0
  116. package/core/auth/pkce.js +46 -0
  117. package/core/auth/static-providers.d.ts +20 -0
  118. package/core/auth/static-providers.d.ts.map +1 -0
  119. package/core/auth/static-providers.js +26 -0
  120. package/core/auth/token-endpoint.d.ts +40 -0
  121. package/core/auth/token-endpoint.d.ts.map +1 -0
  122. package/core/auth/token-endpoint.js +133 -0
  123. package/core/auth/types.d.ts +144 -0
  124. package/core/auth/types.d.ts.map +1 -0
  125. package/core/auth/types.js +8 -0
  126. package/core/batch.d.ts +37 -0
  127. package/core/batch.d.ts.map +1 -0
  128. package/core/batch.js +79 -0
  129. package/core/cache-state.d.ts +79 -0
  130. package/core/cache-state.d.ts.map +1 -0
  131. package/core/cache-state.js +87 -0
  132. package/core/client.d.ts +607 -0
  133. package/core/client.d.ts.map +1 -0
  134. package/core/client.js +1716 -0
  135. package/core/compatibility.d.ts +18 -0
  136. package/core/compatibility.d.ts.map +1 -0
  137. package/core/compatibility.js +245 -0
  138. package/core/errors.d.ts +139 -0
  139. package/core/errors.d.ts.map +1 -0
  140. package/core/errors.js +176 -0
  141. package/core/esri-geojson.d.ts +66 -0
  142. package/core/esri-geojson.d.ts.map +1 -0
  143. package/core/esri-geojson.js +363 -0
  144. package/core/geoparquet-sql.d.ts +162 -0
  145. package/core/geoparquet-sql.d.ts.map +1 -0
  146. package/core/geoparquet-sql.js +333 -0
  147. package/core/geoservices.d.ts +34 -0
  148. package/core/geoservices.d.ts.map +1 -0
  149. package/core/geoservices.js +434 -0
  150. package/core/grpc-adapter.d.ts +23 -0
  151. package/core/grpc-adapter.d.ts.map +1 -0
  152. package/core/grpc-adapter.js +688 -0
  153. package/core/odata.d.ts +347 -0
  154. package/core/odata.d.ts.map +1 -0
  155. package/core/odata.js +913 -0
  156. package/core/ogc-conformance.d.ts +35 -0
  157. package/core/ogc-conformance.d.ts.map +1 -0
  158. package/core/ogc-conformance.js +134 -0
  159. package/core/ogc-endpoint-layout.d.ts +70 -0
  160. package/core/ogc-endpoint-layout.d.ts.map +1 -0
  161. package/core/ogc-endpoint-layout.js +173 -0
  162. package/core/ogc-features.d.ts +23 -0
  163. package/core/ogc-features.d.ts.map +1 -0
  164. package/core/ogc-features.js +129 -0
  165. package/core/ogc-maps.d.ts +49 -0
  166. package/core/ogc-maps.d.ts.map +1 -0
  167. package/core/ogc-maps.js +126 -0
  168. package/core/ogc-processes.d.ts +118 -0
  169. package/core/ogc-processes.d.ts.map +1 -0
  170. package/core/ogc-processes.js +423 -0
  171. package/core/ogc-records.d.ts +75 -0
  172. package/core/ogc-records.d.ts.map +1 -0
  173. package/core/ogc-records.js +251 -0
  174. package/core/ogc-tiles.d.ts +125 -0
  175. package/core/ogc-tiles.d.ts.map +1 -0
  176. package/core/ogc-tiles.js +183 -0
  177. package/core/path-utils.d.ts +69 -0
  178. package/core/path-utils.d.ts.map +1 -0
  179. package/core/path-utils.js +123 -0
  180. package/core/pbf-decoder.d.ts +39 -0
  181. package/core/pbf-decoder.d.ts.map +1 -0
  182. package/core/pbf-decoder.js +702 -0
  183. package/core/process-runner.d.ts +104 -0
  184. package/core/process-runner.d.ts.map +1 -0
  185. package/core/process-runner.js +315 -0
  186. package/core/protocol-transport.d.ts +76 -0
  187. package/core/protocol-transport.d.ts.map +1 -0
  188. package/core/protocol-transport.js +15 -0
  189. package/core/query-builder.d.ts +261 -0
  190. package/core/query-builder.d.ts.map +1 -0
  191. package/core/query-builder.js +538 -0
  192. package/core/request-pipeline.d.ts +88 -0
  193. package/core/request-pipeline.d.ts.map +1 -0
  194. package/core/request-pipeline.js +273 -0
  195. package/core/spatial-filter.d.ts +93 -0
  196. package/core/spatial-filter.d.ts.map +1 -0
  197. package/core/spatial-filter.js +153 -0
  198. package/core/stac-static.d.ts +51 -0
  199. package/core/stac-static.d.ts.map +1 -0
  200. package/core/stac-static.js +195 -0
  201. package/core/stac.d.ts +67 -0
  202. package/core/stac.d.ts.map +1 -0
  203. package/core/stac.js +259 -0
  204. package/core/surfaces.d.ts +540 -0
  205. package/core/surfaces.d.ts.map +1 -0
  206. package/core/surfaces.js +1964 -0
  207. package/core/terrain-elevation.d.ts +114 -0
  208. package/core/terrain-elevation.d.ts.map +1 -0
  209. package/core/terrain-elevation.js +150 -0
  210. package/core/types.d.ts +1404 -0
  211. package/core/types.d.ts.map +1 -0
  212. package/core/types.js +13 -0
  213. package/core/wfs-capabilities.d.ts +153 -0
  214. package/core/wfs-capabilities.d.ts.map +1 -0
  215. package/core/wfs-capabilities.js +490 -0
  216. package/core/wfs-filter.d.ts +118 -0
  217. package/core/wfs-filter.d.ts.map +1 -0
  218. package/core/wfs-filter.js +634 -0
  219. package/core/wfs.d.ts +232 -0
  220. package/core/wfs.d.ts.map +1 -0
  221. package/core/wfs.js +426 -0
  222. package/core/wire-shared.d.ts +32 -0
  223. package/core/wire-shared.d.ts.map +1 -0
  224. package/core/wire-shared.js +76 -0
  225. package/core/wms-axis.d.ts +36 -0
  226. package/core/wms-axis.d.ts.map +1 -0
  227. package/core/wms-axis.js +73 -0
  228. package/core/wms-capabilities.d.ts +110 -0
  229. package/core/wms-capabilities.d.ts.map +1 -0
  230. package/core/wms-capabilities.js +559 -0
  231. package/core/wms-types.d.ts +128 -0
  232. package/core/wms-types.d.ts.map +1 -0
  233. package/core/wms-types.js +32 -0
  234. package/core/wms.d.ts +144 -0
  235. package/core/wms.d.ts.map +1 -0
  236. package/core/wms.js +338 -0
  237. package/core/wmts-capabilities.d.ts +82 -0
  238. package/core/wmts-capabilities.d.ts.map +1 -0
  239. package/core/wmts-capabilities.js +402 -0
  240. package/core/wmts.d.ts +103 -0
  241. package/core/wmts.d.ts.map +1 -0
  242. package/core/wmts.js +332 -0
  243. package/core/xml-text.d.ts +20 -0
  244. package/core/xml-text.d.ts.map +1 -0
  245. package/core/xml-text.js +85 -0
  246. package/esri-compat/basemap-gallery.d.ts +38 -0
  247. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  248. package/esri-compat/basemap-gallery.js +159 -0
  249. package/esri-compat/basemap-layer-list.d.ts +35 -0
  250. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  251. package/esri-compat/basemap-layer-list.js +139 -0
  252. package/esri-compat/basemap.d.ts +32 -0
  253. package/esri-compat/basemap.d.ts.map +1 -0
  254. package/esri-compat/basemap.js +84 -0
  255. package/esri-compat/bookmarks.d.ts +36 -0
  256. package/esri-compat/bookmarks.d.ts.map +1 -0
  257. package/esri-compat/bookmarks.js +108 -0
  258. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  259. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  260. package/esri-compat/class-breaks-renderer.js +164 -0
  261. package/esri-compat/color.d.ts +22 -0
  262. package/esri-compat/color.d.ts.map +1 -0
  263. package/esri-compat/color.js +106 -0
  264. package/esri-compat/controls.d.ts +174 -0
  265. package/esri-compat/controls.d.ts.map +1 -0
  266. package/esri-compat/controls.js +479 -0
  267. package/esri-compat/coordinate-conversion.d.ts +41 -0
  268. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  269. package/esri-compat/coordinate-conversion.js +125 -0
  270. package/esri-compat/directions.d.ts +45 -0
  271. package/esri-compat/directions.d.ts.map +1 -0
  272. package/esri-compat/directions.js +123 -0
  273. package/esri-compat/editor.d.ts +47 -0
  274. package/esri-compat/editor.d.ts.map +1 -0
  275. package/esri-compat/editor.js +170 -0
  276. package/esri-compat/esri-config.d.ts +16 -0
  277. package/esri-compat/esri-config.d.ts.map +1 -0
  278. package/esri-compat/esri-config.js +23 -0
  279. package/esri-compat/esri-request.d.ts +17 -0
  280. package/esri-compat/esri-request.d.ts.map +1 -0
  281. package/esri-compat/esri-request.js +127 -0
  282. package/esri-compat/event-bus.d.ts +106 -0
  283. package/esri-compat/event-bus.d.ts.map +1 -0
  284. package/esri-compat/event-bus.js +90 -0
  285. package/esri-compat/expand.d.ts +36 -0
  286. package/esri-compat/expand.d.ts.map +1 -0
  287. package/esri-compat/expand.js +97 -0
  288. package/esri-compat/extent.d.ts +43 -0
  289. package/esri-compat/extent.d.ts.map +1 -0
  290. package/esri-compat/extent.js +140 -0
  291. package/esri-compat/feature-filter.d.ts +55 -0
  292. package/esri-compat/feature-filter.d.ts.map +1 -0
  293. package/esri-compat/feature-filter.js +109 -0
  294. package/esri-compat/feature-form.d.ts +64 -0
  295. package/esri-compat/feature-form.d.ts.map +1 -0
  296. package/esri-compat/feature-form.js +137 -0
  297. package/esri-compat/feature-layer.d.ts +173 -0
  298. package/esri-compat/feature-layer.d.ts.map +1 -0
  299. package/esri-compat/feature-layer.js +661 -0
  300. package/esri-compat/feature-set.d.ts +32 -0
  301. package/esri-compat/feature-set.d.ts.map +1 -0
  302. package/esri-compat/feature-set.js +80 -0
  303. package/esri-compat/feature-table.d.ts +141 -0
  304. package/esri-compat/feature-table.d.ts.map +1 -0
  305. package/esri-compat/feature-table.js +500 -0
  306. package/esri-compat/feature-templates.d.ts +41 -0
  307. package/esri-compat/feature-templates.d.ts.map +1 -0
  308. package/esri-compat/feature-templates.js +97 -0
  309. package/esri-compat/feature.d.ts +33 -0
  310. package/esri-compat/feature.d.ts.map +1 -0
  311. package/esri-compat/feature.js +83 -0
  312. package/esri-compat/geojson-layer.d.ts +86 -0
  313. package/esri-compat/geojson-layer.d.ts.map +1 -0
  314. package/esri-compat/geojson-layer.js +191 -0
  315. package/esri-compat/geometry-engine.d.ts +107 -0
  316. package/esri-compat/geometry-engine.d.ts.map +1 -0
  317. package/esri-compat/geometry-engine.js +266 -0
  318. package/esri-compat/graphic.d.ts +46 -0
  319. package/esri-compat/graphic.d.ts.map +1 -0
  320. package/esri-compat/graphic.js +103 -0
  321. package/esri-compat/graphics-layer.d.ts +49 -0
  322. package/esri-compat/graphics-layer.d.ts.map +1 -0
  323. package/esri-compat/graphics-layer.js +185 -0
  324. package/esri-compat/group-layer.d.ts +48 -0
  325. package/esri-compat/group-layer.d.ts.map +1 -0
  326. package/esri-compat/group-layer.js +212 -0
  327. package/esri-compat/identify.d.ts +71 -0
  328. package/esri-compat/identify.d.ts.map +1 -0
  329. package/esri-compat/identify.js +299 -0
  330. package/esri-compat/identity-manager.d.ts +74 -0
  331. package/esri-compat/identity-manager.d.ts.map +1 -0
  332. package/esri-compat/identity-manager.js +245 -0
  333. package/esri-compat/imagery-layer.d.ts +78 -0
  334. package/esri-compat/imagery-layer.d.ts.map +1 -0
  335. package/esri-compat/imagery-layer.js +167 -0
  336. package/esri-compat/label-class.d.ts +31 -0
  337. package/esri-compat/label-class.d.ts.map +1 -0
  338. package/esri-compat/label-class.js +102 -0
  339. package/esri-compat/layer-list.d.ts +77 -0
  340. package/esri-compat/layer-list.d.ts.map +1 -0
  341. package/esri-compat/layer-list.js +342 -0
  342. package/esri-compat/legend.d.ts +53 -0
  343. package/esri-compat/legend.d.ts.map +1 -0
  344. package/esri-compat/legend.js +254 -0
  345. package/esri-compat/map-image-layer.d.ts +162 -0
  346. package/esri-compat/map-image-layer.d.ts.map +1 -0
  347. package/esri-compat/map-image-layer.js +709 -0
  348. package/esri-compat/map-view.d.ts +323 -0
  349. package/esri-compat/map-view.d.ts.map +1 -0
  350. package/esri-compat/map-view.js +1175 -0
  351. package/esri-compat/map.d.ts +47 -0
  352. package/esri-compat/map.d.ts.map +1 -0
  353. package/esri-compat/map.js +209 -0
  354. package/esri-compat/measurement-2d.d.ts +61 -0
  355. package/esri-compat/measurement-2d.d.ts.map +1 -0
  356. package/esri-compat/measurement-2d.js +184 -0
  357. package/esri-compat/measurement.d.ts +45 -0
  358. package/esri-compat/measurement.d.ts.map +1 -0
  359. package/esri-compat/measurement.js +193 -0
  360. package/esri-compat/oauth-info.d.ts +50 -0
  361. package/esri-compat/oauth-info.d.ts.map +1 -0
  362. package/esri-compat/oauth-info.js +142 -0
  363. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  364. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  365. package/esri-compat/picture-marker-symbol.js +126 -0
  366. package/esri-compat/point.d.ts +31 -0
  367. package/esri-compat/point.d.ts.map +1 -0
  368. package/esri-compat/point.js +102 -0
  369. package/esri-compat/polygon.d.ts +31 -0
  370. package/esri-compat/polygon.d.ts.map +1 -0
  371. package/esri-compat/polygon.js +107 -0
  372. package/esri-compat/polyline.d.ts +31 -0
  373. package/esri-compat/polyline.d.ts.map +1 -0
  374. package/esri-compat/polyline.js +107 -0
  375. package/esri-compat/popup-template.d.ts +55 -0
  376. package/esri-compat/popup-template.d.ts.map +1 -0
  377. package/esri-compat/popup-template.js +128 -0
  378. package/esri-compat/popup.d.ts +54 -0
  379. package/esri-compat/popup.d.ts.map +1 -0
  380. package/esri-compat/popup.js +312 -0
  381. package/esri-compat/print.d.ts +47 -0
  382. package/esri-compat/print.d.ts.map +1 -0
  383. package/esri-compat/print.js +105 -0
  384. package/esri-compat/query.d.ts +58 -0
  385. package/esri-compat/query.d.ts.map +1 -0
  386. package/esri-compat/query.js +128 -0
  387. package/esri-compat/reactive-utils.d.ts +24 -0
  388. package/esri-compat/reactive-utils.d.ts.map +1 -0
  389. package/esri-compat/reactive-utils.js +193 -0
  390. package/esri-compat/request.d.ts +41 -0
  391. package/esri-compat/request.d.ts.map +1 -0
  392. package/esri-compat/request.js +253 -0
  393. package/esri-compat/route-layer.d.ts +59 -0
  394. package/esri-compat/route-layer.d.ts.map +1 -0
  395. package/esri-compat/route-layer.js +223 -0
  396. package/esri-compat/route-task.d.ts +88 -0
  397. package/esri-compat/route-task.d.ts.map +1 -0
  398. package/esri-compat/route-task.js +225 -0
  399. package/esri-compat/scene-view.d.ts +41 -0
  400. package/esri-compat/scene-view.d.ts.map +1 -0
  401. package/esri-compat/scene-view.js +68 -0
  402. package/esri-compat/search.d.ts +112 -0
  403. package/esri-compat/search.d.ts.map +1 -0
  404. package/esri-compat/search.js +820 -0
  405. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  406. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  407. package/esri-compat/simple-fill-symbol.js +85 -0
  408. package/esri-compat/simple-line-symbol.d.ts +27 -0
  409. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  410. package/esri-compat/simple-line-symbol.js +85 -0
  411. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  412. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  413. package/esri-compat/simple-marker-symbol.js +92 -0
  414. package/esri-compat/simple-renderer.d.ts +29 -0
  415. package/esri-compat/simple-renderer.d.ts.map +1 -0
  416. package/esri-compat/simple-renderer.js +92 -0
  417. package/esri-compat/sketch.d.ts +64 -0
  418. package/esri-compat/sketch.d.ts.map +1 -0
  419. package/esri-compat/sketch.js +227 -0
  420. package/esri-compat/spatial-reference.d.ts +31 -0
  421. package/esri-compat/spatial-reference.d.ts.map +1 -0
  422. package/esri-compat/spatial-reference.js +102 -0
  423. package/esri-compat/swipe.d.ts +34 -0
  424. package/esri-compat/swipe.d.ts.map +1 -0
  425. package/esri-compat/swipe.js +93 -0
  426. package/esri-compat/table-list.d.ts +36 -0
  427. package/esri-compat/table-list.d.ts.map +1 -0
  428. package/esri-compat/table-list.js +126 -0
  429. package/esri-compat/text-symbol.d.ts +37 -0
  430. package/esri-compat/text-symbol.d.ts.map +1 -0
  431. package/esri-compat/text-symbol.js +123 -0
  432. package/esri-compat/tile-layer.d.ts +52 -0
  433. package/esri-compat/tile-layer.d.ts.map +1 -0
  434. package/esri-compat/tile-layer.js +168 -0
  435. package/esri-compat/time-slider.d.ts +70 -0
  436. package/esri-compat/time-slider.d.ts.map +1 -0
  437. package/esri-compat/time-slider.js +208 -0
  438. package/esri-compat/track.d.ts +51 -0
  439. package/esri-compat/track.d.ts.map +1 -0
  440. package/esri-compat/track.js +174 -0
  441. package/esri-compat/unique-value-renderer.d.ts +41 -0
  442. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  443. package/esri-compat/unique-value-renderer.js +127 -0
  444. package/esri-compat/url.d.ts +13 -0
  445. package/esri-compat/url.d.ts.map +1 -0
  446. package/esri-compat/url.js +68 -0
  447. package/esri-compat/vector-tile-layer.d.ts +47 -0
  448. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  449. package/esri-compat/vector-tile-layer.js +130 -0
  450. package/esri-compat/web-map.d.ts +14 -0
  451. package/esri-compat/web-map.d.ts.map +1 -0
  452. package/esri-compat/web-map.js +24 -0
  453. package/esri-compat/wfs-layer.d.ts +64 -0
  454. package/esri-compat/wfs-layer.d.ts.map +1 -0
  455. package/esri-compat/wfs-layer.js +145 -0
  456. package/esri-compat/wms-layer.d.ts +76 -0
  457. package/esri-compat/wms-layer.d.ts.map +1 -0
  458. package/esri-compat/wms-layer.js +157 -0
  459. package/exploration/context.d.ts +25 -0
  460. package/exploration/context.d.ts.map +1 -0
  461. package/exploration/context.js +396 -0
  462. package/exploration/index.d.ts +27 -0
  463. package/exploration/index.d.ts.map +1 -0
  464. package/exploration/index.js +24 -0
  465. package/exploration/presets.d.ts +27 -0
  466. package/exploration/presets.d.ts.map +1 -0
  467. package/exploration/presets.js +114 -0
  468. package/exploration/reducer.d.ts +23 -0
  469. package/exploration/reducer.d.ts.map +1 -0
  470. package/exploration/reducer.js +332 -0
  471. package/exploration/selection.d.ts +25 -0
  472. package/exploration/selection.d.ts.map +1 -0
  473. package/exploration/selection.js +34 -0
  474. package/exploration/selectors.d.ts +56 -0
  475. package/exploration/selectors.d.ts.map +1 -0
  476. package/exploration/selectors.js +110 -0
  477. package/exploration/types.d.ts +294 -0
  478. package/exploration/types.d.ts.map +1 -0
  479. package/exploration/types.js +33 -0
  480. package/expr/expression.d.ts +457 -0
  481. package/expr/expression.d.ts.map +1 -0
  482. package/expr/expression.js +663 -0
  483. package/expr/index.d.ts +32 -0
  484. package/expr/index.d.ts.map +1 -0
  485. package/expr/index.js +30 -0
  486. package/filter-registry/index.d.ts +145 -0
  487. package/filter-registry/index.d.ts.map +1 -0
  488. package/filter-registry/index.js +531 -0
  489. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  490. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  491. package/gen/honua/v1/feature_service_pb.js +375 -0
  492. package/generated-app/errors.d.ts +41 -0
  493. package/generated-app/errors.d.ts.map +1 -0
  494. package/generated-app/errors.js +41 -0
  495. package/generated-app/index.d.ts +17 -0
  496. package/generated-app/index.d.ts.map +1 -0
  497. package/generated-app/index.js +12 -0
  498. package/generated-app/manifest.d.ts +183 -0
  499. package/generated-app/manifest.d.ts.map +1 -0
  500. package/generated-app/manifest.js +14 -0
  501. package/generated-app/projection.d.ts +44 -0
  502. package/generated-app/projection.d.ts.map +1 -0
  503. package/generated-app/projection.js +234 -0
  504. package/generated-app/runtime.d.ts +215 -0
  505. package/generated-app/runtime.d.ts.map +1 -0
  506. package/generated-app/runtime.js +1196 -0
  507. package/geocoding/index.d.ts +106 -0
  508. package/geocoding/index.d.ts.map +1 -0
  509. package/geocoding/index.js +278 -0
  510. package/interactions/detail-model.d.ts +54 -0
  511. package/interactions/detail-model.d.ts.map +1 -0
  512. package/interactions/detail-model.js +105 -0
  513. package/interactions/exploration-bindings.d.ts +120 -0
  514. package/interactions/exploration-bindings.d.ts.map +1 -0
  515. package/interactions/exploration-bindings.js +218 -0
  516. package/interactions/feature-state.d.ts +144 -0
  517. package/interactions/feature-state.d.ts.map +1 -0
  518. package/interactions/feature-state.js +169 -0
  519. package/interactions/hit-test.d.ts +112 -0
  520. package/interactions/hit-test.d.ts.map +1 -0
  521. package/interactions/hit-test.js +291 -0
  522. package/interactions/index.d.ts +31 -0
  523. package/interactions/index.d.ts.map +1 -0
  524. package/interactions/index.js +24 -0
  525. package/interactions/share-state.d.ts +36 -0
  526. package/interactions/share-state.d.ts.map +1 -0
  527. package/interactions/share-state.js +123 -0
  528. package/map/feature-service-adapter.d.ts +138 -0
  529. package/map/feature-service-adapter.d.ts.map +1 -0
  530. package/map/feature-service-adapter.js +279 -0
  531. package/map/honua-map.d.ts +203 -0
  532. package/map/honua-map.d.ts.map +1 -0
  533. package/map/honua-map.js +347 -0
  534. package/map/index.d.ts +27 -0
  535. package/map/index.d.ts.map +1 -0
  536. package/map/index.js +22 -0
  537. package/map/maplibre-target.d.ts +103 -0
  538. package/map/maplibre-target.d.ts.map +1 -0
  539. package/map/maplibre-target.js +164 -0
  540. package/map/webmap-maplibre.d.ts +60 -0
  541. package/map/webmap-maplibre.d.ts.map +1 -0
  542. package/map/webmap-maplibre.js +212 -0
  543. package/operate/client.d.ts +94 -0
  544. package/operate/client.d.ts.map +1 -0
  545. package/operate/client.js +361 -0
  546. package/operate/index.d.ts +22 -0
  547. package/operate/index.d.ts.map +1 -0
  548. package/operate/index.js +19 -0
  549. package/operate/types.d.ts +397 -0
  550. package/operate/types.d.ts.map +1 -0
  551. package/operate/types.js +17 -0
  552. package/operator/client.d.ts +60 -0
  553. package/operator/client.d.ts.map +1 -0
  554. package/operator/client.js +20 -0
  555. package/operator/controllers/approval.d.ts +52 -0
  556. package/operator/controllers/approval.d.ts.map +1 -0
  557. package/operator/controllers/approval.js +123 -0
  558. package/operator/controllers/base.d.ts +27 -0
  559. package/operator/controllers/base.d.ts.map +1 -0
  560. package/operator/controllers/base.js +53 -0
  561. package/operator/controllers/builder-workspace.d.ts +55 -0
  562. package/operator/controllers/builder-workspace.d.ts.map +1 -0
  563. package/operator/controllers/builder-workspace.js +108 -0
  564. package/operator/controllers/chat.d.ts +61 -0
  565. package/operator/controllers/chat.d.ts.map +1 -0
  566. package/operator/controllers/chat.js +154 -0
  567. package/operator/controllers/clarification.d.ts +52 -0
  568. package/operator/controllers/clarification.d.ts.map +1 -0
  569. package/operator/controllers/clarification.js +121 -0
  570. package/operator/controllers/execution.d.ts +60 -0
  571. package/operator/controllers/execution.d.ts.map +1 -0
  572. package/operator/controllers/execution.js +286 -0
  573. package/operator/controllers/index.d.ts +23 -0
  574. package/operator/controllers/index.d.ts.map +1 -0
  575. package/operator/controllers/index.js +15 -0
  576. package/operator/controllers/map-workspace.d.ts +85 -0
  577. package/operator/controllers/map-workspace.d.ts.map +1 -0
  578. package/operator/controllers/map-workspace.js +296 -0
  579. package/operator/controllers/plan-review.d.ts +66 -0
  580. package/operator/controllers/plan-review.d.ts.map +1 -0
  581. package/operator/controllers/plan-review.js +124 -0
  582. package/operator/errors.d.ts +62 -0
  583. package/operator/errors.d.ts.map +1 -0
  584. package/operator/errors.js +75 -0
  585. package/operator/i18n/index.d.ts +10 -0
  586. package/operator/i18n/index.d.ts.map +1 -0
  587. package/operator/i18n/index.js +8 -0
  588. package/operator/i18n/messages.d.ts +19 -0
  589. package/operator/i18n/messages.d.ts.map +1 -0
  590. package/operator/i18n/messages.js +54 -0
  591. package/operator/index.d.ts +19 -0
  592. package/operator/index.d.ts.map +1 -0
  593. package/operator/index.js +15 -0
  594. package/operator/telemetry.d.ts +26 -0
  595. package/operator/telemetry.d.ts.map +1 -0
  596. package/operator/telemetry.js +9 -0
  597. package/operator/theming/index.d.ts +12 -0
  598. package/operator/theming/index.d.ts.map +1 -0
  599. package/operator/theming/index.js +9 -0
  600. package/operator/theming/provider.d.ts +27 -0
  601. package/operator/theming/provider.d.ts.map +1 -0
  602. package/operator/theming/provider.js +26 -0
  603. package/operator/theming/tokens.d.ts +28 -0
  604. package/operator/theming/tokens.d.ts.map +1 -0
  605. package/operator/theming/tokens.js +65 -0
  606. package/operator/workspace/events.d.ts +70 -0
  607. package/operator/workspace/events.d.ts.map +1 -0
  608. package/operator/workspace/events.js +9 -0
  609. package/operator/workspace/index.d.ts +12 -0
  610. package/operator/workspace/index.d.ts.map +1 -0
  611. package/operator/workspace/index.js +8 -0
  612. package/operator/workspace/types.d.ts +178 -0
  613. package/operator/workspace/types.d.ts.map +1 -0
  614. package/operator/workspace/types.js +47 -0
  615. package/operator/workspace/workspace.d.ts +58 -0
  616. package/operator/workspace/workspace.d.ts.map +1 -0
  617. package/operator/workspace/workspace.js +339 -0
  618. package/package.json +105 -0
  619. package/realtime/exploration.d.ts +16 -0
  620. package/realtime/exploration.d.ts.map +1 -0
  621. package/realtime/exploration.js +32 -0
  622. package/realtime/honua-server.d.ts +123 -0
  623. package/realtime/honua-server.d.ts.map +1 -0
  624. package/realtime/honua-server.js +188 -0
  625. package/realtime/index.d.ts +20 -0
  626. package/realtime/index.d.ts.map +1 -0
  627. package/realtime/index.js +14 -0
  628. package/realtime/projections.d.ts +30 -0
  629. package/realtime/projections.d.ts.map +1 -0
  630. package/realtime/projections.js +51 -0
  631. package/realtime/reducer.d.ts +14 -0
  632. package/realtime/reducer.d.ts.map +1 -0
  633. package/realtime/reducer.js +351 -0
  634. package/realtime/sse.d.ts +23 -0
  635. package/realtime/sse.d.ts.map +1 -0
  636. package/realtime/sse.js +143 -0
  637. package/realtime/store.d.ts +18 -0
  638. package/realtime/store.d.ts.map +1 -0
  639. package/realtime/store.js +63 -0
  640. package/realtime/types.d.ts +190 -0
  641. package/realtime/types.d.ts.map +1 -0
  642. package/realtime/types.js +10 -0
  643. package/replica-sync/client.d.ts +32 -0
  644. package/replica-sync/client.d.ts.map +1 -0
  645. package/replica-sync/client.js +52 -0
  646. package/replica-sync/errors.d.ts +22 -0
  647. package/replica-sync/errors.d.ts.map +1 -0
  648. package/replica-sync/errors.js +29 -0
  649. package/replica-sync/fixture.d.ts +40 -0
  650. package/replica-sync/fixture.d.ts.map +1 -0
  651. package/replica-sync/fixture.js +364 -0
  652. package/replica-sync/index.d.ts +22 -0
  653. package/replica-sync/index.d.ts.map +1 -0
  654. package/replica-sync/index.js +17 -0
  655. package/replica-sync/types.d.ts +270 -0
  656. package/replica-sync/types.d.ts.map +1 -0
  657. package/replica-sync/types.js +13 -0
  658. package/runtime/diff.d.ts +31 -0
  659. package/runtime/diff.d.ts.map +1 -0
  660. package/runtime/diff.js +143 -0
  661. package/runtime/errors.d.ts +40 -0
  662. package/runtime/errors.d.ts.map +1 -0
  663. package/runtime/errors.js +35 -0
  664. package/runtime/index.d.ts +59 -0
  665. package/runtime/index.d.ts.map +1 -0
  666. package/runtime/index.js +40 -0
  667. package/runtime/legend.d.ts +23 -0
  668. package/runtime/legend.d.ts.map +1 -0
  669. package/runtime/legend.js +38 -0
  670. package/runtime/load-package.d.ts +125 -0
  671. package/runtime/load-package.d.ts.map +1 -0
  672. package/runtime/load-package.js +272 -0
  673. package/runtime/map-package-fetch.d.ts +107 -0
  674. package/runtime/map-package-fetch.d.ts.map +1 -0
  675. package/runtime/map-package-fetch.js +336 -0
  676. package/runtime/map-package-realtime.d.ts +169 -0
  677. package/runtime/map-package-realtime.d.ts.map +1 -0
  678. package/runtime/map-package-realtime.js +350 -0
  679. package/runtime/map-package-validation.d.ts +30 -0
  680. package/runtime/map-package-validation.d.ts.map +1 -0
  681. package/runtime/map-package-validation.js +257 -0
  682. package/runtime/map-package-watch.d.ts +78 -0
  683. package/runtime/map-package-watch.d.ts.map +1 -0
  684. package/runtime/map-package-watch.js +695 -0
  685. package/runtime/map-package.d.ts +167 -0
  686. package/runtime/map-package.d.ts.map +1 -0
  687. package/runtime/map-package.js +15 -0
  688. package/runtime/ogc-styles.d.ts +110 -0
  689. package/runtime/ogc-styles.d.ts.map +1 -0
  690. package/runtime/ogc-styles.js +195 -0
  691. package/runtime/pmtiles-protocol.d.ts +77 -0
  692. package/runtime/pmtiles-protocol.d.ts.map +1 -0
  693. package/runtime/pmtiles-protocol.js +120 -0
  694. package/runtime/popups.d.ts +62 -0
  695. package/runtime/popups.d.ts.map +1 -0
  696. package/runtime/popups.js +95 -0
  697. package/runtime/query-tiles.d.ts +217 -0
  698. package/runtime/query-tiles.d.ts.map +1 -0
  699. package/runtime/query-tiles.js +801 -0
  700. package/runtime/runtime.d.ts +243 -0
  701. package/runtime/runtime.d.ts.map +1 -0
  702. package/runtime/runtime.js +1147 -0
  703. package/runtime/source-bridge.d.ts +99 -0
  704. package/runtime/source-bridge.d.ts.map +1 -0
  705. package/runtime/source-bridge.js +428 -0
  706. package/runtime/style-compose.d.ts +46 -0
  707. package/runtime/style-compose.d.ts.map +1 -0
  708. package/runtime/style-compose.js +144 -0
  709. package/runtime/style-interactions.d.ts +141 -0
  710. package/runtime/style-interactions.d.ts.map +1 -0
  711. package/runtime/style-interactions.js +574 -0
  712. package/runtime/style-spec-validation.d.ts +23 -0
  713. package/runtime/style-spec-validation.d.ts.map +1 -0
  714. package/runtime/style-spec-validation.js +357 -0
  715. package/scene-workspace/analysis-widgets.d.ts +334 -0
  716. package/scene-workspace/analysis-widgets.d.ts.map +1 -0
  717. package/scene-workspace/analysis-widgets.js +424 -0
  718. package/scene-workspace/cesium-adapter.d.ts +438 -0
  719. package/scene-workspace/cesium-adapter.d.ts.map +1 -0
  720. package/scene-workspace/cesium-adapter.js +493 -0
  721. package/scene-workspace/index.d.ts +21 -0
  722. package/scene-workspace/index.d.ts.map +1 -0
  723. package/scene-workspace/index.js +14 -0
  724. package/scene-workspace/primitives.d.ts +162 -0
  725. package/scene-workspace/primitives.d.ts.map +1 -0
  726. package/scene-workspace/primitives.js +255 -0
  727. package/scene-workspace/scene-discovery.d.ts +196 -0
  728. package/scene-workspace/scene-discovery.d.ts.map +1 -0
  729. package/scene-workspace/scene-discovery.js +228 -0
  730. package/scene-workspace/scene-view.d.ts +209 -0
  731. package/scene-workspace/scene-view.d.ts.map +1 -0
  732. package/scene-workspace/scene-view.js +267 -0
  733. package/scene-workspace/types.d.ts +229 -0
  734. package/scene-workspace/types.d.ts.map +1 -0
  735. package/scene-workspace/types.js +23 -0
  736. package/scene-workspace/workspace.d.ts +13 -0
  737. package/scene-workspace/workspace.d.ts.map +1 -0
  738. package/scene-workspace/workspace.js +391 -0
  739. package/share/denial.d.ts +78 -0
  740. package/share/denial.d.ts.map +1 -0
  741. package/share/denial.js +61 -0
  742. package/share/embed-token.d.ts +71 -0
  743. package/share/embed-token.d.ts.map +1 -0
  744. package/share/embed-token.js +99 -0
  745. package/share/index.d.ts +35 -0
  746. package/share/index.d.ts.map +1 -0
  747. package/share/index.js +30 -0
  748. package/share/open-data.d.ts +114 -0
  749. package/share/open-data.d.ts.map +1 -0
  750. package/share/open-data.js +81 -0
  751. package/share/types.d.ts +163 -0
  752. package/share/types.d.ts.map +1 -0
  753. package/share/types.js +17 -0
  754. package/studio/capability-manifest.d.ts +285 -0
  755. package/studio/capability-manifest.d.ts.map +1 -0
  756. package/studio/capability-manifest.js +59 -0
  757. package/studio/chart-spec.d.ts +85 -0
  758. package/studio/chart-spec.d.ts.map +1 -0
  759. package/studio/chart-spec.js +106 -0
  760. package/studio/index.d.ts +34 -0
  761. package/studio/index.d.ts.map +1 -0
  762. package/studio/index.js +27 -0
  763. package/studio/provenance.d.ts +131 -0
  764. package/studio/provenance.d.ts.map +1 -0
  765. package/studio/provenance.js +39 -0
  766. package/studio/publish.d.ts +64 -0
  767. package/studio/publish.d.ts.map +1 -0
  768. package/studio/publish.js +13 -0
  769. package/studio/types.d.ts +278 -0
  770. package/studio/types.d.ts.map +1 -0
  771. package/studio/types.js +71 -0
  772. package/studio/validate.d.ts +45 -0
  773. package/studio/validate.d.ts.map +1 -0
  774. package/studio/validate.js +255 -0
  775. package/studio/validation.d.ts +112 -0
  776. package/studio/validation.d.ts.map +1 -0
  777. package/studio/validation.js +42 -0
  778. package/style/factory.d.ts +30 -0
  779. package/style/factory.d.ts.map +1 -0
  780. package/style/factory.js +61 -0
  781. package/style/index.d.ts +25 -0
  782. package/style/index.d.ts.map +1 -0
  783. package/style/index.js +24 -0
  784. package/style/specification.d.ts +203 -0
  785. package/style/specification.d.ts.map +1 -0
  786. package/style/specification.js +178 -0
  787. package/style/wms-wmts-resolvers.d.ts +38 -0
  788. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  789. package/style/wms-wmts-resolvers.js +92 -0
  790. package/web-components/controller.d.ts +39 -0
  791. package/web-components/controller.d.ts.map +1 -0
  792. package/web-components/controller.js +640 -0
  793. package/web-components/elements.d.ts +210 -0
  794. package/web-components/elements.d.ts.map +1 -0
  795. package/web-components/elements.js +1651 -0
  796. package/web-components/index.d.ts +24 -0
  797. package/web-components/index.d.ts.map +1 -0
  798. package/web-components/index.js +22 -0
  799. package/web-components/maplibre-renderer.d.ts +22 -0
  800. package/web-components/maplibre-renderer.d.ts.map +1 -0
  801. package/web-components/maplibre-renderer.js +474 -0
  802. package/web-components/types.d.ts +397 -0
  803. package/web-components/types.d.ts.map +1 -0
  804. package/web-components/types.js +1 -0
  805. package/webmap/contract.d.ts +28 -0
  806. package/webmap/contract.d.ts.map +1 -0
  807. package/webmap/contract.js +130 -0
  808. package/webmap/convert-basemap.d.ts +17 -0
  809. package/webmap/convert-basemap.d.ts.map +1 -0
  810. package/webmap/convert-basemap.js +78 -0
  811. package/webmap/convert-extent.d.ts +17 -0
  812. package/webmap/convert-extent.d.ts.map +1 -0
  813. package/webmap/convert-extent.js +114 -0
  814. package/webmap/convert-label.d.ts +13 -0
  815. package/webmap/convert-label.d.ts.map +1 -0
  816. package/webmap/convert-label.js +125 -0
  817. package/webmap/convert-layer.d.ts +22 -0
  818. package/webmap/convert-layer.d.ts.map +1 -0
  819. package/webmap/convert-layer.js +181 -0
  820. package/webmap/convert-popup.d.ts +34 -0
  821. package/webmap/convert-popup.d.ts.map +1 -0
  822. package/webmap/convert-popup.js +68 -0
  823. package/webmap/convert-renderer.d.ts +17 -0
  824. package/webmap/convert-renderer.d.ts.map +1 -0
  825. package/webmap/convert-renderer.js +161 -0
  826. package/webmap/convert-symbol.d.ts +17 -0
  827. package/webmap/convert-symbol.d.ts.map +1 -0
  828. package/webmap/convert-symbol.js +122 -0
  829. package/webmap/index.d.ts +44 -0
  830. package/webmap/index.d.ts.map +1 -0
  831. package/webmap/index.js +33 -0
  832. package/webmap/parse.d.ts +25 -0
  833. package/webmap/parse.d.ts.map +1 -0
  834. package/webmap/parse.js +83 -0
  835. package/webmap/types.d.ts +264 -0
  836. package/webmap/types.d.ts.map +1 -0
  837. package/webmap/types.js +13 -0
  838. package/webmap/warnings.d.ts +30 -0
  839. package/webmap/warnings.d.ts.map +1 -0
  840. package/webmap/warnings.js +37 -0
@@ -0,0 +1,296 @@
1
+ /**
2
+ * `MapWorkspaceController` — orchestrates the `HonuaMapRuntime` and the
3
+ * `ExplorationContext` for a single result `MapPackage`. The controller
4
+ * owns no MapLibre source/style code of its own — every map mutation
5
+ * delegates to the runtime from `src/runtime/`.
6
+ *
7
+ * @module
8
+ */
9
+ import { createExplorationContext, } from "../../exploration/index.js";
10
+ import { loadMapPackage, } from "../../runtime/index.js";
11
+ import { HonuaOperatorMapError } from "../errors.js";
12
+ import { ListenerBag, withTelemetrySpan } from "./base.js";
13
+ const MAP_VIEW_BINDING_ID = "map-primary";
14
+ export class MapWorkspaceController {
15
+ #client;
16
+ #mapFactory;
17
+ #preset;
18
+ #telemetry;
19
+ #loadOptions;
20
+ #bag = new ListenerBag();
21
+ #runtime;
22
+ #context;
23
+ #viewHandle;
24
+ #disposeMap;
25
+ #activeIntentId;
26
+ // Bumped on every loadPackage() / refine() / dispose() entry. The
27
+ // operation captures it before awaiting and only commits state when
28
+ // the captured value still matches at resolution time. Parallel
29
+ // loads or refinements thereby cannot let an older `MapPackage`
30
+ // overwrite a newer one.
31
+ #opGeneration = 0;
32
+ constructor(options) {
33
+ this.#client = options.client;
34
+ this.#mapFactory = options.mapFactory;
35
+ this.#preset = options.explorationPreset ?? "mapDriven";
36
+ this.#telemetry = options.telemetry;
37
+ this.#loadOptions = options.loadOptions;
38
+ }
39
+ get runtime() {
40
+ return this.#runtime;
41
+ }
42
+ get exploration() {
43
+ return this.#context;
44
+ }
45
+ on(listener) {
46
+ return this.#bag.on(listener);
47
+ }
48
+ /**
49
+ * Bind the controller to an intent so that subsequent `refine()` calls
50
+ * have an intent id to attach to the server request. Idempotent.
51
+ */
52
+ bindIntent(intentId) {
53
+ this.#activeIntentId = intentId;
54
+ }
55
+ /**
56
+ * Load a `MapPackage` into a fresh runtime + exploration context.
57
+ * Tears down any previously loaded package; safe to call repeatedly.
58
+ *
59
+ * Concurrent loads supersede each other via `#opGeneration`: an
60
+ * older load whose factory or `loadMapPackage` is still pending when
61
+ * a newer load arrives discards its locally-built runtime/context
62
+ * instead of overwriting the newer state.
63
+ */
64
+ async loadPackage(pkg) {
65
+ if (!this.#loadOptions) {
66
+ throw new HonuaOperatorMapError("loadPackage requires loadOptions on the controller", {
67
+ detail: { mapPackageId: pkg.mapPackageId },
68
+ });
69
+ }
70
+ this.#tearDown();
71
+ const gen = ++this.#opGeneration;
72
+ return withTelemetrySpan(this.#telemetry, "map-load", this.#activeIntentId, async () => {
73
+ let factoryResult;
74
+ let runtime;
75
+ try {
76
+ // The host-supplied factory can reject before any runtime
77
+ // setup happens (e.g. WebGL unavailable). Keep its failure
78
+ // inside the wrapper so embedders see a typed
79
+ // HonuaOperatorMapError on the workspace event stream
80
+ // instead of a raw factory rejection.
81
+ factoryResult = await this.#mapFactory();
82
+ if (gen !== this.#opGeneration) {
83
+ disposeFactoryResult(factoryResult);
84
+ throw new HonuaOperatorMapError("map load superseded by newer load", {
85
+ detail: { mapPackageId: pkg.mapPackageId },
86
+ });
87
+ }
88
+ runtime = await loadMapPackage(pkg, factoryResult.map, {
89
+ ...this.#loadOptions,
90
+ });
91
+ if (gen !== this.#opGeneration) {
92
+ disposeRuntime(runtime);
93
+ disposeFactoryResult(factoryResult);
94
+ throw new HonuaOperatorMapError("map load superseded by newer load", {
95
+ detail: { mapPackageId: pkg.mapPackageId },
96
+ });
97
+ }
98
+ this.#disposeMap = factoryResult.dispose;
99
+ this.#runtime = runtime;
100
+ this.#context = createExplorationContext({
101
+ datasetId: pkg.mapPackageId,
102
+ sourceIds: pkg.sourceBindings.map((binding) => binding.sourceId),
103
+ preset: this.#preset,
104
+ });
105
+ this.#viewHandle = this.#context.bind({ id: MAP_VIEW_BINDING_ID, role: "map" });
106
+ this.#bag.emit({ kind: "package-loaded", pkg });
107
+ return runtime;
108
+ }
109
+ catch (error) {
110
+ if (gen !== this.#opGeneration) {
111
+ // Superseded; the newer load owns teardown. Don't re-tear or emit.
112
+ throw error;
113
+ }
114
+ // `#disposeMap` is only assigned after `loadMapPackage`
115
+ // succeeds, so a factory that returned a host map followed
116
+ // by a `loadMapPackage` failure leaves the map orphaned.
117
+ // Dispose the locally-captured factoryResult / runtime here
118
+ // before #tearDown runs (it will be a no-op for those).
119
+ if (runtime !== undefined)
120
+ disposeRuntime(runtime);
121
+ if (factoryResult !== undefined && this.#disposeMap === undefined) {
122
+ disposeFactoryResult(factoryResult);
123
+ }
124
+ this.#tearDown();
125
+ const wrapped = error instanceof HonuaOperatorMapError
126
+ ? error
127
+ : new HonuaOperatorMapError("map package load failed", {
128
+ cause: error,
129
+ detail: { mapPackageId: pkg.mapPackageId },
130
+ });
131
+ this.#bag.emit({ kind: "error", error: wrapped });
132
+ throw wrapped;
133
+ }
134
+ }, { mapPackageId: pkg.mapPackageId });
135
+ }
136
+ /**
137
+ * Natural-language refinement. The server returns an updated
138
+ * `MapPackage`; the runtime's diff path applies it incrementally.
139
+ * Source-binding failures inside the runtime are forwarded via
140
+ * `runtime.reportSourceError(...)` rather than thrown.
141
+ */
142
+ async refine(prompt, signal) {
143
+ if (!this.#runtime) {
144
+ throw new HonuaOperatorMapError("refine called before loadPackage");
145
+ }
146
+ if (!this.#activeIntentId) {
147
+ throw new HonuaOperatorMapError("refine requires bindIntent before invocation");
148
+ }
149
+ const intentId = this.#activeIntentId;
150
+ const ownRuntime = this.#runtime;
151
+ const gen = ++this.#opGeneration;
152
+ return withTelemetrySpan(this.#telemetry, "map-refine", intentId, async () => {
153
+ try {
154
+ const next = await this.#client.operator.refineMap(intentId, prompt, signal);
155
+ if (gen !== this.#opGeneration || this.#runtime !== ownRuntime) {
156
+ // Superseded by a newer load/refine, or the runtime was
157
+ // torn down while we awaited. Skip the apply so we never
158
+ // mutate a stale or replaced runtime.
159
+ return next;
160
+ }
161
+ await ownRuntime.updatePackage(next);
162
+ if (gen !== this.#opGeneration || this.#runtime !== ownRuntime) {
163
+ return next;
164
+ }
165
+ this.#syncExplorationContext(next);
166
+ this.#bag.emit({ kind: "package-refined", pkg: next });
167
+ return next;
168
+ }
169
+ catch (error) {
170
+ if (gen !== this.#opGeneration || this.#runtime !== ownRuntime) {
171
+ // Superseded; let the newer op own error reporting.
172
+ throw error;
173
+ }
174
+ const wrapped = new HonuaOperatorMapError("map refine failed", {
175
+ intentId,
176
+ cause: error,
177
+ detail: { prompt },
178
+ });
179
+ this.#bag.emit({ kind: "error", error: wrapped });
180
+ // Forward any per-source recoveries to the runtime so
181
+ // listeners on the runtime see the failure on the same
182
+ // channel as native source events.
183
+ ownRuntime.reportSourceError("__refine__", error);
184
+ throw wrapped;
185
+ }
186
+ }, { prompt });
187
+ }
188
+ // ── Thin re-exports of HonuaMapRuntime ops ───────────────────
189
+ setLayerVisibility(layerId, visible) {
190
+ this.#assertRuntime().setLayerVisibility(layerId, visible);
191
+ }
192
+ bindPopup(layerId, binding) {
193
+ return this.#assertRuntime().bindPopup(layerId, binding);
194
+ }
195
+ setViewState(view) {
196
+ this.#assertRuntime().setViewState(view);
197
+ }
198
+ getLegend() {
199
+ return this.#assertRuntime().getLegend();
200
+ }
201
+ dispose() {
202
+ this.#opGeneration += 1;
203
+ this.#tearDown();
204
+ this.#bag.clear();
205
+ }
206
+ #assertRuntime() {
207
+ if (!this.#runtime) {
208
+ throw new HonuaOperatorMapError("operation requires a loaded MapPackage");
209
+ }
210
+ return this.#runtime;
211
+ }
212
+ /**
213
+ * `ExplorationContext` exposes immutable `datasetId` / `sourceIds`,
214
+ * so a refined package that changes either leaves linked views bound
215
+ * to stale metadata. Rebuild the context (and the primary view
216
+ * binding) on those transitions; otherwise leave it intact so
217
+ * subscribers retain their current state.
218
+ */
219
+ #syncExplorationContext(pkg) {
220
+ const nextSourceIds = pkg.sourceBindings.map((binding) => binding.sourceId);
221
+ if (this.#context &&
222
+ this.#context.datasetId === pkg.mapPackageId &&
223
+ sameSourceIds(this.#context.sourceIds, nextSourceIds)) {
224
+ return;
225
+ }
226
+ if (this.#viewHandle) {
227
+ this.#viewHandle.unbind();
228
+ this.#viewHandle = undefined;
229
+ }
230
+ if (this.#context) {
231
+ this.#context.dispose();
232
+ this.#context = undefined;
233
+ }
234
+ this.#context = createExplorationContext({
235
+ datasetId: pkg.mapPackageId,
236
+ sourceIds: nextSourceIds,
237
+ preset: this.#preset,
238
+ });
239
+ this.#viewHandle = this.#context.bind({ id: MAP_VIEW_BINDING_ID, role: "map" });
240
+ }
241
+ #tearDown() {
242
+ if (this.#viewHandle) {
243
+ this.#viewHandle.unbind();
244
+ this.#viewHandle = undefined;
245
+ }
246
+ if (this.#context) {
247
+ this.#context.dispose();
248
+ this.#context = undefined;
249
+ }
250
+ if (this.#runtime) {
251
+ try {
252
+ this.#runtime.dispose();
253
+ }
254
+ catch {
255
+ // dispose is best-effort during teardown; map errors do not
256
+ // re-surface here because the controller already returned.
257
+ }
258
+ this.#runtime = undefined;
259
+ this.#bag.emit({ kind: "package-disposed" });
260
+ }
261
+ if (this.#disposeMap) {
262
+ try {
263
+ this.#disposeMap();
264
+ }
265
+ catch {
266
+ // ignore — host-owned teardown.
267
+ }
268
+ this.#disposeMap = undefined;
269
+ }
270
+ }
271
+ }
272
+ function sameSourceIds(a, b) {
273
+ if (a.length !== b.length)
274
+ return false;
275
+ for (let i = 0; i < a.length; i += 1) {
276
+ if (a[i] !== b[i])
277
+ return false;
278
+ }
279
+ return true;
280
+ }
281
+ function disposeFactoryResult(factoryResult) {
282
+ try {
283
+ factoryResult.dispose?.();
284
+ }
285
+ catch {
286
+ // ignore — host-owned teardown.
287
+ }
288
+ }
289
+ function disposeRuntime(runtime) {
290
+ try {
291
+ runtime.dispose();
292
+ }
293
+ catch {
294
+ // dispose is best-effort during supersession cleanup.
295
+ }
296
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * `PlanReviewController` — exposes a server-produced plan, lets the
3
+ * embedder accept or revise it, and emits lifecycle events the workspace
4
+ * relays to embedders.
5
+ *
6
+ * Plan revisions are pass-through to the server; the controller never
7
+ * mutates plan steps locally.
8
+ *
9
+ * @module
10
+ */
11
+ import type { OperatorClient } from "../client.js";
12
+ import { HonuaOperatorPlanError } from "../errors.js";
13
+ import type { OperatorTelemetry } from "../telemetry.js";
14
+ import type { OperatorPlan, PlanStep } from "../workspace/types.js";
15
+ import { type Unsubscribe } from "./base.js";
16
+ export type PlanRevisionRequest = {
17
+ readonly intentId: string;
18
+ readonly notes?: string;
19
+ };
20
+ export type PlanReviewEvent = {
21
+ kind: "plan-loaded";
22
+ plan: OperatorPlan;
23
+ } | {
24
+ kind: "plan-accepted";
25
+ plan: OperatorPlan;
26
+ } | {
27
+ kind: "plan-revising";
28
+ plan: OperatorPlan;
29
+ } | {
30
+ kind: "plan-revised";
31
+ plan: OperatorPlan;
32
+ } | {
33
+ kind: "error";
34
+ error: HonuaOperatorPlanError;
35
+ };
36
+ export type DecorateStep = (step: PlanStep) => PlanStep;
37
+ export interface PlanReviewControllerOptions {
38
+ client: OperatorClient;
39
+ telemetry?: OperatorTelemetry;
40
+ /** Pure transformation applied to plan steps before they are emitted. */
41
+ decorateStep?: DecorateStep;
42
+ }
43
+ export declare class PlanReviewController {
44
+ #private;
45
+ constructor(options: PlanReviewControllerOptions);
46
+ get plan(): OperatorPlan | undefined;
47
+ on(listener: (event: PlanReviewEvent) => void): Unsubscribe;
48
+ /**
49
+ * Load the plan attached to an intent. Wraps transport errors in
50
+ * `HonuaOperatorPlanError` and emits an `error` event.
51
+ */
52
+ load(intentId: string, signal?: AbortSignal): Promise<OperatorPlan>;
53
+ /**
54
+ * Accept the loaded plan. The controller does not start execution —
55
+ * the workspace handles the hand-off to `ExecutionController`.
56
+ */
57
+ accept(): OperatorPlan;
58
+ /**
59
+ * Ask the server for a revised plan. The controller forwards the
60
+ * embedder's revision notes through `OperatorClient.revisePlan` so
61
+ * the server can act on them, instead of just observing them in
62
+ * telemetry. The controller never mutates step shape locally.
63
+ */
64
+ revise(request: PlanRevisionRequest, signal?: AbortSignal): Promise<OperatorPlan>;
65
+ }
66
+ //# sourceMappingURL=plan-review.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-review.d.ts","sourceRoot":"","sources":["../../../../src/operator/controllers/plan-review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,KAAK,EAIV,YAAY,EACZ,QAAQ,EAET,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAe,KAAK,WAAW,EAAqB,MAAM,WAAW,CAAC;AAE7E,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GACvB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,sBAAsB,CAAA;CAAE,CAAC;AAErD,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,QAAQ,CAAC;AAExD,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,yEAAyE;IACzE,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,qBAAa,oBAAoB;;gBAaZ,OAAO,EAAE,2BAA2B;IAMvD,IAAW,IAAI,IAAI,YAAY,GAAG,SAAS,CAE1C;IAEM,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,GAAG,WAAW;IAIlE;;;OAGG;IACU,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IA0BhF;;;OAGG;IACI,MAAM,IAAI,YAAY;IAS7B;;;;;OAKG;IACU,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;CAiD/F"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * `PlanReviewController` — exposes a server-produced plan, lets the
3
+ * embedder accept or revise it, and emits lifecycle events the workspace
4
+ * relays to embedders.
5
+ *
6
+ * Plan revisions are pass-through to the server; the controller never
7
+ * mutates plan steps locally.
8
+ *
9
+ * @module
10
+ */
11
+ import { HonuaOperatorPlanError } from "../errors.js";
12
+ import { ListenerBag, withTelemetrySpan } from "./base.js";
13
+ export class PlanReviewController {
14
+ #client;
15
+ #telemetry;
16
+ #decorateStep;
17
+ #bag = new ListenerBag();
18
+ #plan;
19
+ // Bumped on every load() / revise() entry. When `getPlan` /
20
+ // `revisePlan` resolves out of order (older intent's plan arrives
21
+ // after a newer intent has already triggered a load), the older
22
+ // resolution finds gen !== captured and is dropped without
23
+ // committing or emitting — accept() never executes a stale plan.
24
+ #generation = 0;
25
+ constructor(options) {
26
+ this.#client = options.client;
27
+ this.#telemetry = options.telemetry;
28
+ this.#decorateStep = options.decorateStep;
29
+ }
30
+ get plan() {
31
+ return this.#plan ? this.#decoratedPlan(this.#plan) : undefined;
32
+ }
33
+ on(listener) {
34
+ return this.#bag.on(listener);
35
+ }
36
+ /**
37
+ * Load the plan attached to an intent. Wraps transport errors in
38
+ * `HonuaOperatorPlanError` and emits an `error` event.
39
+ */
40
+ async load(intentId, signal) {
41
+ const gen = ++this.#generation;
42
+ try {
43
+ const plan = await withTelemetrySpan(this.#telemetry, "plan-load", intentId, () => this.#client.operator.getPlan(intentId, signal));
44
+ const decorated = this.#decoratedPlan(plan);
45
+ if (gen !== this.#generation) {
46
+ // Superseded by a newer load()/revise(); don't commit or emit.
47
+ return decorated;
48
+ }
49
+ this.#plan = plan;
50
+ this.#bag.emit({ kind: "plan-loaded", plan: decorated });
51
+ return decorated;
52
+ }
53
+ catch (error) {
54
+ const wrapped = error instanceof HonuaOperatorPlanError
55
+ ? error
56
+ : new HonuaOperatorPlanError("plan load failed", { intentId, cause: error });
57
+ if (gen === this.#generation) {
58
+ this.#bag.emit({ kind: "error", error: wrapped });
59
+ }
60
+ throw wrapped;
61
+ }
62
+ }
63
+ /**
64
+ * Accept the loaded plan. The controller does not start execution —
65
+ * the workspace handles the hand-off to `ExecutionController`.
66
+ */
67
+ accept() {
68
+ if (!this.#plan) {
69
+ throw new HonuaOperatorPlanError("acceptPlan called before plan load");
70
+ }
71
+ const decorated = this.#decoratedPlan(this.#plan);
72
+ this.#bag.emit({ kind: "plan-accepted", plan: decorated });
73
+ return decorated;
74
+ }
75
+ /**
76
+ * Ask the server for a revised plan. The controller forwards the
77
+ * embedder's revision notes through `OperatorClient.revisePlan` so
78
+ * the server can act on them, instead of just observing them in
79
+ * telemetry. The controller never mutates step shape locally.
80
+ */
81
+ async revise(request, signal) {
82
+ if (this.#plan) {
83
+ this.#bag.emit({ kind: "plan-revising", plan: this.#decoratedPlan(this.#plan) });
84
+ }
85
+ const gen = ++this.#generation;
86
+ try {
87
+ const next = await withTelemetrySpan(this.#telemetry, "plan-load", request.intentId, () => this.#client.operator.revisePlan(request.intentId, request.notes, signal), { revision: true, notes: request.notes });
88
+ const decorated = this.#decoratedPlan(next);
89
+ if (gen !== this.#generation) {
90
+ return decorated;
91
+ }
92
+ this.#plan = next;
93
+ this.#bag.emit({ kind: "plan-revised", plan: decorated });
94
+ return decorated;
95
+ }
96
+ catch (error) {
97
+ const wrapped = error instanceof HonuaOperatorPlanError
98
+ ? error
99
+ : new HonuaOperatorPlanError("plan revision failed", {
100
+ intentId: request.intentId,
101
+ cause: error,
102
+ });
103
+ if (gen === this.#generation) {
104
+ this.#bag.emit({ kind: "error", error: wrapped });
105
+ }
106
+ throw wrapped;
107
+ }
108
+ }
109
+ #decoratedPlan(plan) {
110
+ if (!this.#decorateStep)
111
+ return plan;
112
+ const steps = plan.steps.map((step) => this.#decorateStep(step));
113
+ switch (plan.kind) {
114
+ case "analysis":
115
+ return { ...plan, steps };
116
+ case "publishing":
117
+ return { ...plan, steps };
118
+ case "builder":
119
+ return { ...plan, steps };
120
+ case "deployment":
121
+ return { ...plan, steps };
122
+ }
123
+ }
124
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Operator-stage errors. Mirrors the discriminated-union pattern from
3
+ * `src/core/errors.ts`: each concrete class extends `Error` directly,
4
+ * the `HonuaOperatorError` type is the union of those classes, and
5
+ * `isHonuaOperatorError()` is the narrowing type guard.
6
+ *
7
+ * The set is independent of `HonuaError` in `src/core/errors.ts`; the
8
+ * two coexist so that adapter-level failures and operator-level failures
9
+ * can be discriminated separately.
10
+ *
11
+ * @module
12
+ */
13
+ export type HonuaOperatorErrorStage = "intent" | "plan" | "execution" | "approval" | "map" | "app";
14
+ /**
15
+ * Failure-kind taxonomy aligned with `AI_OPERATOR_CONTRACT`. Server
16
+ * responses with a structured failure kind populate the controller's
17
+ * error verbatim; unknown values are preserved as strings.
18
+ */
19
+ export type HonuaOperatorExecutionFailureKind = "ValidationFailed" | "AuthorizationDenied" | "UnknownDataset" | "UnknownProcess" | "ExecutionFailed" | "Timeout" | "Cancelled" | "OutputBindingFailed" | (string & {
20
+ readonly __brand?: never;
21
+ });
22
+ interface OperatorErrorContext {
23
+ intentId?: string;
24
+ planId?: string;
25
+ executionId?: string;
26
+ detail?: Record<string, unknown>;
27
+ cause?: unknown;
28
+ }
29
+ declare abstract class HonuaOperatorErrorBase extends Error {
30
+ readonly stage: HonuaOperatorErrorStage;
31
+ readonly intentId: string | undefined;
32
+ readonly planId: string | undefined;
33
+ readonly executionId: string | undefined;
34
+ readonly detail: Record<string, unknown> | undefined;
35
+ readonly cause: unknown;
36
+ protected constructor(stage: HonuaOperatorErrorStage, message: string, context?: OperatorErrorContext);
37
+ }
38
+ export declare class HonuaOperatorIntentError extends HonuaOperatorErrorBase {
39
+ constructor(message: string, context?: OperatorErrorContext);
40
+ }
41
+ export declare class HonuaOperatorPlanError extends HonuaOperatorErrorBase {
42
+ constructor(message: string, context?: OperatorErrorContext);
43
+ }
44
+ export declare class HonuaOperatorExecutionError extends HonuaOperatorErrorBase {
45
+ readonly failureKind: HonuaOperatorExecutionFailureKind | undefined;
46
+ constructor(message: string, context?: OperatorErrorContext & {
47
+ failureKind?: HonuaOperatorExecutionFailureKind;
48
+ });
49
+ }
50
+ export declare class HonuaOperatorApprovalError extends HonuaOperatorErrorBase {
51
+ constructor(message: string, context?: OperatorErrorContext);
52
+ }
53
+ export declare class HonuaOperatorMapError extends HonuaOperatorErrorBase {
54
+ constructor(message: string, context?: OperatorErrorContext);
55
+ }
56
+ export declare class HonuaOperatorAppError extends HonuaOperatorErrorBase {
57
+ constructor(message: string, context?: OperatorErrorContext);
58
+ }
59
+ export type HonuaOperatorError = HonuaOperatorIntentError | HonuaOperatorPlanError | HonuaOperatorExecutionError | HonuaOperatorApprovalError | HonuaOperatorMapError | HonuaOperatorAppError;
60
+ export declare function isHonuaOperatorError(error: unknown): error is HonuaOperatorError;
61
+ export {};
62
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/operator/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,KAAK,GAAG,KAAK,CAAC;AAEnG;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GACzC,kBAAkB,GAClB,qBAAqB,GACrB,gBAAgB,GAChB,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,GACT,WAAW,GACX,qBAAqB,GACrB,CAAC,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CAAC;AAE5C,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,uBAAe,sBAAuB,SAAQ,KAAK;IACjD,SAAgB,KAAK,EAAE,uBAAuB,CAAC;IAC/C,SAAgB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,SAAgB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD,SAAgB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC5D,SAAyB,KAAK,EAAE,OAAO,CAAC;IAExC,SAAS,aAAa,KAAK,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CAS1G;AAED,qBAAa,wBAAyB,SAAQ,sBAAsB;gBAC/C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CAIvE;AAED,qBAAa,sBAAuB,SAAQ,sBAAsB;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CAIvE;AAED,qBAAa,2BAA4B,SAAQ,sBAAsB;IACrE,SAAgB,WAAW,EAAE,iCAAiC,GAAG,SAAS,CAAC;gBAGzE,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,oBAAoB,GAAG;QAAE,WAAW,CAAC,EAAE,iCAAiC,CAAA;KAAO;CAM3F;AAED,qBAAa,0BAA2B,SAAQ,sBAAsB;gBACjD,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CAIvE;AAED,qBAAa,qBAAsB,SAAQ,sBAAsB;gBAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CAIvE;AAED,qBAAa,qBAAsB,SAAQ,sBAAsB;gBAC5C,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,oBAAyB;CAIvE;AAED,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,sBAAsB,GACtB,2BAA2B,GAC3B,0BAA0B,GAC1B,qBAAqB,GACrB,qBAAqB,CAAC;AAE1B,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,kBAAkB,CAShF"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Operator-stage errors. Mirrors the discriminated-union pattern from
3
+ * `src/core/errors.ts`: each concrete class extends `Error` directly,
4
+ * the `HonuaOperatorError` type is the union of those classes, and
5
+ * `isHonuaOperatorError()` is the narrowing type guard.
6
+ *
7
+ * The set is independent of `HonuaError` in `src/core/errors.ts`; the
8
+ * two coexist so that adapter-level failures and operator-level failures
9
+ * can be discriminated separately.
10
+ *
11
+ * @module
12
+ */
13
+ class HonuaOperatorErrorBase extends Error {
14
+ stage;
15
+ intentId;
16
+ planId;
17
+ executionId;
18
+ detail;
19
+ cause;
20
+ constructor(stage, message, context = {}) {
21
+ super(message);
22
+ this.stage = stage;
23
+ this.intentId = context.intentId;
24
+ this.planId = context.planId;
25
+ this.executionId = context.executionId;
26
+ this.detail = context.detail;
27
+ this.cause = context.cause;
28
+ }
29
+ }
30
+ export class HonuaOperatorIntentError extends HonuaOperatorErrorBase {
31
+ constructor(message, context = {}) {
32
+ super("intent", message, context);
33
+ this.name = "HonuaOperatorIntentError";
34
+ }
35
+ }
36
+ export class HonuaOperatorPlanError extends HonuaOperatorErrorBase {
37
+ constructor(message, context = {}) {
38
+ super("plan", message, context);
39
+ this.name = "HonuaOperatorPlanError";
40
+ }
41
+ }
42
+ export class HonuaOperatorExecutionError extends HonuaOperatorErrorBase {
43
+ failureKind;
44
+ constructor(message, context = {}) {
45
+ super("execution", message, context);
46
+ this.name = "HonuaOperatorExecutionError";
47
+ this.failureKind = context.failureKind;
48
+ }
49
+ }
50
+ export class HonuaOperatorApprovalError extends HonuaOperatorErrorBase {
51
+ constructor(message, context = {}) {
52
+ super("approval", message, context);
53
+ this.name = "HonuaOperatorApprovalError";
54
+ }
55
+ }
56
+ export class HonuaOperatorMapError extends HonuaOperatorErrorBase {
57
+ constructor(message, context = {}) {
58
+ super("map", message, context);
59
+ this.name = "HonuaOperatorMapError";
60
+ }
61
+ }
62
+ export class HonuaOperatorAppError extends HonuaOperatorErrorBase {
63
+ constructor(message, context = {}) {
64
+ super("app", message, context);
65
+ this.name = "HonuaOperatorAppError";
66
+ }
67
+ }
68
+ export function isHonuaOperatorError(error) {
69
+ return (error instanceof HonuaOperatorIntentError ||
70
+ error instanceof HonuaOperatorPlanError ||
71
+ error instanceof HonuaOperatorExecutionError ||
72
+ error instanceof HonuaOperatorApprovalError ||
73
+ error instanceof HonuaOperatorMapError ||
74
+ error instanceof HonuaOperatorAppError);
75
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * `@honua/sdk-js/operator/i18n` — operator message catalog and resolution helpers.
3
+ *
4
+ * @experimental This entrypoint is not yet covered by the SDK's semver contract
5
+ * — the surface may change in any minor release prior to `1.0.0`.
6
+ * @module
7
+ */
8
+ export { DEFAULT_MESSAGES, resolveMessage } from "./messages.js";
9
+ export type { MessageCatalog, MessageId } from "./messages.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/operator/i18n/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACjE,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * `@honua/sdk-js/operator/i18n` — operator message catalog and resolution helpers.
3
+ *
4
+ * @experimental This entrypoint is not yet covered by the SDK's semver contract
5
+ * — the surface may change in any minor release prior to `1.0.0`.
6
+ * @module
7
+ */
8
+ export { DEFAULT_MESSAGES, resolveMessage } from "./messages.js";
@@ -0,0 +1,19 @@
1
+ /**
2
+ * `MessageCatalog` — flat `id → string` map with ICU-lite placeholder
3
+ * substitution (`{name}`). The catalog is the only place reference
4
+ * components read user-facing strings from; embedders ship alternates
5
+ * by passing a different catalog.
6
+ *
7
+ * @module
8
+ */
9
+ export type MessageId = "chat.placeholder" | "chat.send" | "chat.empty" | "clarification.title" | "clarification.submit" | "clarification.required" | "plan.title" | "plan.empty" | "plan.accept" | "plan.revise" | "plan.requiresApproval" | "plan.estimatedCost" | "execution.idle" | "execution.accepted" | "execution.running" | "execution.successful" | "execution.failed" | "execution.dismissed" | "map.empty" | "map.refine" | "builder.empty" | "builder.refine" | "approval.notRequired" | "approval.pending" | "approval.granted" | "approval.deferred" | "approval.denied" | "approval.confirm" | "approval.audit";
10
+ export type MessageCatalog = Partial<Record<MessageId, string>>;
11
+ export declare const DEFAULT_MESSAGES: Readonly<Record<MessageId, string>>;
12
+ /**
13
+ * Resolve a message id to a string with ICU-lite `{placeholder}`
14
+ * substitution. Falls back to `DEFAULT_MESSAGES` when an id is not
15
+ * present in the supplied catalog. Unknown placeholders survive
16
+ * unrendered so missing data is visible rather than silently empty.
17
+ */
18
+ export declare function resolveMessage(catalog: MessageCatalog | undefined, id: MessageId, values?: Readonly<Record<string, string | number>>): string;
19
+ //# sourceMappingURL=messages.d.ts.map