@honua/app-platform 0.1.2-beta.0 → 0.1.7-beta.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 (400) hide show
  1. package/app/index.d.ts.map +1 -1
  2. package/app/index.js +4 -0
  3. package/collaboration/client.d.ts.map +1 -1
  4. package/connect-url-safety.d.ts +53 -0
  5. package/connect-url-safety.js +189 -0
  6. package/contract/discovery.d.ts +34 -0
  7. package/contract/discovery.d.ts.map +1 -1
  8. package/contract/index.d.ts +7 -5
  9. package/contract/index.d.ts.map +1 -1
  10. package/contract/index.js +3 -2
  11. package/contract/pmtiles.d.ts +10 -1
  12. package/contract/pmtiles.d.ts.map +1 -1
  13. package/contract/pmtiles.js +10 -2
  14. package/contract/protocol-module.d.ts +84 -9
  15. package/contract/protocol-module.d.ts.map +1 -1
  16. package/contract/query-filter-fes.d.ts +18 -0
  17. package/contract/query-filter-fes.d.ts.map +1 -0
  18. package/contract/query-filter-fes.js +122 -0
  19. package/contract/query-filter.d.ts +300 -0
  20. package/contract/query-filter.d.ts.map +1 -0
  21. package/contract/query-filter.js +883 -0
  22. package/contract/schema.d.ts +12 -0
  23. package/contract/schema.d.ts.map +1 -1
  24. package/contract/schema.js +34 -0
  25. package/contract/source-capability-support.d.ts.map +1 -1
  26. package/contract/source-capability-support.js +15 -3
  27. package/contract/source.d.ts +45 -25
  28. package/contract/source.d.ts.map +1 -1
  29. package/contract/source.js +719 -479
  30. package/contract/types.d.ts +88 -19
  31. package/contract/types.d.ts.map +1 -1
  32. package/contract/types.js +4 -0
  33. package/contract/widget-source.d.ts.map +1 -1
  34. package/controls/basemap-switcher.d.ts +19 -11
  35. package/controls/basemap-switcher.d.ts.map +1 -1
  36. package/controls/basemap-switcher.js +58 -25
  37. package/controls/catalog.d.ts +105 -0
  38. package/controls/catalog.d.ts.map +1 -0
  39. package/controls/catalog.js +341 -0
  40. package/controls/element-utils.d.ts +9 -0
  41. package/controls/element-utils.d.ts.map +1 -1
  42. package/controls/element-utils.js +17 -0
  43. package/controls/index.d.ts +29 -8
  44. package/controls/index.d.ts.map +1 -1
  45. package/controls/index.js +26 -8
  46. package/controls/layer-list.d.ts +13 -5
  47. package/controls/layer-list.d.ts.map +1 -1
  48. package/controls/layer-list.js +72 -15
  49. package/controls/legend.d.ts +32 -5
  50. package/controls/legend.d.ts.map +1 -1
  51. package/controls/legend.js +95 -25
  52. package/controls/qualification.d.ts +152 -0
  53. package/controls/qualification.d.ts.map +1 -0
  54. package/controls/qualification.js +1265 -0
  55. package/controls/registry.d.ts +104 -0
  56. package/controls/registry.d.ts.map +1 -0
  57. package/controls/registry.js +150 -0
  58. package/controls/swipe-control.d.ts +6 -1
  59. package/controls/swipe-control.d.ts.map +1 -1
  60. package/controls/swipe-control.js +82 -20
  61. package/core/client.d.ts +51 -21
  62. package/core/client.d.ts.map +1 -1
  63. package/core/client.js +234 -54
  64. package/core/error-classifications.d.ts +23 -0
  65. package/core/error-classifications.d.ts.map +1 -1
  66. package/core/error-classifications.js +23 -0
  67. package/core/error-code-registry.d.ts +24 -1
  68. package/core/error-code-registry.d.ts.map +1 -1
  69. package/core/error-code-registry.js +23 -0
  70. package/core/error-envelope.js +2 -0
  71. package/core/errors.d.ts +2 -2
  72. package/core/errors.d.ts.map +1 -1
  73. package/core/errors.js +1 -1
  74. package/core/geoparquet-sql.d.ts +69 -5
  75. package/core/geoparquet-sql.d.ts.map +1 -1
  76. package/core/geoparquet-sql.js +327 -10
  77. package/core/odata-write-codec.d.ts.map +1 -1
  78. package/core/odata-write-codec.js +0 -1
  79. package/core/odata.d.ts +6 -0
  80. package/core/odata.d.ts.map +1 -1
  81. package/core/odata.js +6 -1
  82. package/core/ogc-processes.d.ts +182 -25
  83. package/core/ogc-processes.d.ts.map +1 -1
  84. package/core/ogc-processes.js +602 -30
  85. package/core/process-runner.d.ts +8 -1
  86. package/core/process-runner.d.ts.map +1 -1
  87. package/core/process-runner.js +1 -0
  88. package/core/protocol-transport.d.ts +2 -0
  89. package/core/protocol-transport.d.ts.map +1 -1
  90. package/core/stac.d.ts +32 -0
  91. package/core/stac.d.ts.map +1 -1
  92. package/core/stac.js +158 -23
  93. package/core/surfaces.d.ts.map +1 -1
  94. package/core/surfaces.js +273 -68
  95. package/core/types.d.ts +138 -11
  96. package/core/types.d.ts.map +1 -1
  97. package/core/wfs-axis-order.d.ts +18 -0
  98. package/core/wfs-axis-order.d.ts.map +1 -0
  99. package/core/wfs-axis-order.js +108 -0
  100. package/core/wfs-capabilities.d.ts +65 -24
  101. package/core/wfs-capabilities.d.ts.map +1 -1
  102. package/core/wfs-capabilities.js +237 -27
  103. package/core/wfs-filter.d.ts +26 -3
  104. package/core/wfs-filter.d.ts.map +1 -1
  105. package/core/wfs-filter.js +48 -53
  106. package/core/wfs-protocol-error.d.ts +12 -0
  107. package/core/wfs-protocol-error.d.ts.map +1 -0
  108. package/core/wfs-protocol-error.js +13 -0
  109. package/core/wfs.d.ts +53 -1
  110. package/core/wfs.d.ts.map +1 -1
  111. package/core/wfs.js +251 -29
  112. package/core/wms-feature-info.d.ts +92 -0
  113. package/core/wms-feature-info.d.ts.map +1 -0
  114. package/core/wms-feature-info.js +285 -0
  115. package/core/wms.d.ts +9 -0
  116. package/core/wms.d.ts.map +1 -1
  117. package/core/wms.js +17 -5
  118. package/esri-compat/event-bus.d.ts +20 -0
  119. package/esri-compat/event-bus.d.ts.map +1 -1
  120. package/esri-compat/feature-filter.d.ts +46 -1
  121. package/esri-compat/feature-filter.d.ts.map +1 -1
  122. package/esri-compat/feature-filter.js +49 -0
  123. package/esri-compat/geojson-layer.d.ts +4 -2
  124. package/esri-compat/geojson-layer.d.ts.map +1 -1
  125. package/esri-compat/geojson-layer.js +4 -2
  126. package/esri-compat/identity-manager.js +2 -2
  127. package/esri-compat/imagery-layer.d.ts +2 -1
  128. package/esri-compat/imagery-layer.d.ts.map +1 -1
  129. package/esri-compat/imagery-layer.js +2 -1
  130. package/esri-compat/layer-list.d.ts +8 -1
  131. package/esri-compat/layer-list.d.ts.map +1 -1
  132. package/esri-compat/layer-list.js +11 -4
  133. package/esri-compat/legend.d.ts.map +1 -1
  134. package/esri-compat/legend.js +1 -1
  135. package/esri-compat/locator.d.ts +297 -0
  136. package/esri-compat/locator.d.ts.map +1 -0
  137. package/esri-compat/locator.js +579 -0
  138. package/esri-compat/map-image-layer.d.ts.map +1 -1
  139. package/esri-compat/map-view.d.ts.map +1 -1
  140. package/esri-compat/map-view.js +1 -1
  141. package/esri-compat/scene-view.d.ts.map +1 -1
  142. package/esri-compat/time-slider.d.ts +29 -0
  143. package/esri-compat/time-slider.d.ts.map +1 -1
  144. package/esri-compat/time-slider.js +117 -0
  145. package/esri-compat/wfs-layer.d.ts +2 -1
  146. package/esri-compat/wfs-layer.d.ts.map +1 -1
  147. package/esri-compat/wfs-layer.js +2 -1
  148. package/esri-compat/widget-host.d.ts +42 -6
  149. package/esri-compat/widget-host.d.ts.map +1 -1
  150. package/esri-compat/widget-host.js +99 -10
  151. package/generated-app/projection.d.ts.map +1 -1
  152. package/generated-app/runtime.d.ts.map +1 -1
  153. package/interactions/declarative-contract.d.ts +149 -0
  154. package/interactions/declarative-contract.d.ts.map +1 -0
  155. package/interactions/declarative-contract.js +293 -0
  156. package/interactions/declarative.d.ts +198 -0
  157. package/interactions/declarative.d.ts.map +1 -0
  158. package/interactions/declarative.js +470 -0
  159. package/interactions/feature-state.d.ts +7 -0
  160. package/interactions/feature-state.d.ts.map +1 -1
  161. package/interactions/feature-state.js +10 -2
  162. package/map/data-to-map-bridge.d.ts +1 -1
  163. package/map/data-to-map-bridge.d.ts.map +1 -1
  164. package/map/data-to-map-bridge.js +1 -2
  165. package/map/honua-map.d.ts.map +1 -1
  166. package/map/honua-map.js +1 -1
  167. package/map/index.d.ts +2 -0
  168. package/map/index.d.ts.map +1 -1
  169. package/map/index.js +2 -0
  170. package/map/maplibre-target.js +1 -1
  171. package/map/realtime-reconciliation-adapter.d.ts +98 -0
  172. package/map/realtime-reconciliation-adapter.d.ts.map +1 -0
  173. package/map/realtime-reconciliation-adapter.js +84 -0
  174. package/map/temporal-playback.d.ts +25 -0
  175. package/map/temporal-playback.d.ts.map +1 -1
  176. package/map/temporal-playback.js +29 -1
  177. package/operator/workspace/workspace.d.ts.map +1 -1
  178. package/operator/workspace/workspace.js +0 -2
  179. package/package.json +4 -3
  180. package/query-planner/canonical-filter.d.ts +30 -0
  181. package/query-planner/canonical-filter.d.ts.map +1 -0
  182. package/query-planner/canonical-filter.js +30 -0
  183. package/query-planner/columnar-plan.d.ts +63 -0
  184. package/query-planner/columnar-plan.d.ts.map +1 -0
  185. package/query-planner/columnar-plan.js +94 -0
  186. package/query-planner/diagnostics.d.ts +3 -3
  187. package/query-planner/diagnostics.d.ts.map +1 -1
  188. package/query-planner/diagnostics.js +17 -4
  189. package/query-planner/duckdb.d.ts.map +1 -1
  190. package/query-planner/duckdb.js +16 -2
  191. package/query-planner/execution-context.d.ts.map +1 -1
  192. package/query-planner/execution-context.js +3 -1
  193. package/query-planner/executor.d.ts.map +1 -1
  194. package/query-planner/executor.js +7 -1
  195. package/query-planner/geoservices.d.ts.map +1 -1
  196. package/query-planner/geoservices.js +24 -5
  197. package/query-planner/grpc.d.ts.map +1 -1
  198. package/query-planner/grpc.js +29 -5
  199. package/query-planner/index.d.ts +20 -5
  200. package/query-planner/index.d.ts.map +1 -1
  201. package/query-planner/index.js +16 -3
  202. package/query-planner/ir.d.ts +6 -1
  203. package/query-planner/ir.d.ts.map +1 -1
  204. package/query-planner/ir.js +63 -1
  205. package/query-planner/odata-protocol-module.d.ts +54 -0
  206. package/query-planner/odata-protocol-module.d.ts.map +1 -0
  207. package/query-planner/odata-protocol-module.js +199 -0
  208. package/query-planner/odata-v1.d.ts +23 -0
  209. package/query-planner/odata-v1.d.ts.map +1 -0
  210. package/query-planner/odata-v1.js +202 -0
  211. package/query-planner/odata.d.ts +0 -3
  212. package/query-planner/odata.d.ts.map +1 -1
  213. package/query-planner/odata.js +0 -143
  214. package/query-planner/ogc-features.d.ts.map +1 -1
  215. package/query-planner/ogc-features.js +23 -1
  216. package/query-planner/planner.d.ts +2 -2
  217. package/query-planner/planner.d.ts.map +1 -1
  218. package/query-planner/planner.js +146 -27
  219. package/query-planner/representation.d.ts +59 -0
  220. package/query-planner/representation.d.ts.map +1 -0
  221. package/query-planner/representation.js +140 -0
  222. package/query-planner/types.d.ts +153 -3
  223. package/query-planner/types.d.ts.map +1 -1
  224. package/query-planner/wfs-protocol-module.d.ts +57 -0
  225. package/query-planner/wfs-protocol-module.d.ts.map +1 -0
  226. package/query-planner/wfs-protocol-module.js +731 -0
  227. package/query-planner/wfs-v1.d.ts +41 -0
  228. package/query-planner/wfs-v1.d.ts.map +1 -0
  229. package/query-planner/wfs-v1.js +366 -0
  230. package/query-planner/wfs.d.ts +1 -3
  231. package/query-planner/wfs.d.ts.map +1 -1
  232. package/query-planner/wfs.js +1 -70
  233. package/realtime/checkpoint-store.d.ts +206 -0
  234. package/realtime/checkpoint-store.d.ts.map +1 -0
  235. package/realtime/checkpoint-store.js +504 -0
  236. package/realtime/honua-server.d.ts +8 -0
  237. package/realtime/honua-server.d.ts.map +1 -1
  238. package/realtime/honua-server.js +123 -14
  239. package/realtime/index.d.ts +4 -0
  240. package/realtime/index.d.ts.map +1 -1
  241. package/realtime/index.js +2 -0
  242. package/realtime/reconciliation.d.ts +245 -0
  243. package/realtime/reconciliation.d.ts.map +1 -0
  244. package/realtime/reconciliation.js +377 -0
  245. package/realtime/resumable-transport.d.ts.map +1 -1
  246. package/realtime/sse.d.ts.map +1 -1
  247. package/realtime/sse.js +7 -1
  248. package/realtime/websocket.d.ts.map +1 -1
  249. package/realtime/wire.d.ts +2 -1
  250. package/realtime/wire.d.ts.map +1 -1
  251. package/realtime/wire.js +24 -8
  252. package/replica-sync/errors.d.ts +19 -1
  253. package/replica-sync/errors.d.ts.map +1 -1
  254. package/replica-sync/errors.js +16 -0
  255. package/replica-sync/geoservices.d.ts +260 -0
  256. package/replica-sync/geoservices.d.ts.map +1 -0
  257. package/replica-sync/geoservices.js +1093 -0
  258. package/replica-sync/index.d.ts +5 -1
  259. package/replica-sync/index.d.ts.map +1 -1
  260. package/replica-sync/index.js +3 -1
  261. package/replica-sync/transport-conformance.d.ts +58 -0
  262. package/replica-sync/transport-conformance.d.ts.map +1 -0
  263. package/replica-sync/transport-conformance.js +265 -0
  264. package/replica-sync/types.d.ts +22 -0
  265. package/replica-sync/types.d.ts.map +1 -1
  266. package/runtime/index.d.ts +6 -2
  267. package/runtime/index.d.ts.map +1 -1
  268. package/runtime/index.js +3 -1
  269. package/runtime/load-package.d.ts +24 -0
  270. package/runtime/load-package.d.ts.map +1 -1
  271. package/runtime/load-package.js +45 -1
  272. package/runtime/maplibre-renderer.d.ts +11 -0
  273. package/runtime/maplibre-renderer.d.ts.map +1 -1
  274. package/runtime/maplibre-renderer.js +32 -7
  275. package/runtime/offline-region-protocol.d.ts +73 -0
  276. package/runtime/offline-region-protocol.d.ts.map +1 -0
  277. package/runtime/offline-region-protocol.js +63 -0
  278. package/runtime/offline-region-style.d.ts +78 -0
  279. package/runtime/offline-region-style.d.ts.map +1 -0
  280. package/runtime/offline-region-style.js +147 -0
  281. package/runtime/pmtiles-protocol.d.ts +7 -8
  282. package/runtime/pmtiles-protocol.d.ts.map +1 -1
  283. package/runtime/pmtiles-protocol.js +19 -66
  284. package/runtime/protocol-registry.d.ts +55 -0
  285. package/runtime/protocol-registry.d.ts.map +1 -0
  286. package/runtime/protocol-registry.js +103 -0
  287. package/runtime/runtime.d.ts +2 -0
  288. package/runtime/runtime.d.ts.map +1 -1
  289. package/runtime/runtime.js +6 -1
  290. package/runtime/style-compose.d.ts.map +1 -1
  291. package/runtime/style-compose.js +78 -9
  292. package/scene-workspace/analysis-widgets.d.ts +4 -2
  293. package/scene-workspace/analysis-widgets.d.ts.map +1 -1
  294. package/scene-workspace/analysis-widgets.js +4 -2
  295. package/scene-workspace/camera-correspondence.d.ts +151 -0
  296. package/scene-workspace/camera-correspondence.d.ts.map +1 -0
  297. package/scene-workspace/camera-correspondence.js +220 -0
  298. package/scene-workspace/cesium-adapter.d.ts +230 -29
  299. package/scene-workspace/cesium-adapter.d.ts.map +1 -1
  300. package/scene-workspace/cesium-adapter.js +741 -56
  301. package/scene-workspace/cesium-mount.d.ts +205 -0
  302. package/scene-workspace/cesium-mount.d.ts.map +1 -0
  303. package/scene-workspace/cesium-mount.js +392 -0
  304. package/scene-workspace/cesium-scene-owner.d.ts +160 -0
  305. package/scene-workspace/cesium-scene-owner.d.ts.map +1 -0
  306. package/scene-workspace/cesium-scene-owner.js +205 -0
  307. package/scene-workspace/cesium-state-sync.d.ts +101 -0
  308. package/scene-workspace/cesium-state-sync.d.ts.map +1 -0
  309. package/scene-workspace/cesium-state-sync.js +432 -0
  310. package/scene-workspace/cesium-time.d.ts +346 -0
  311. package/scene-workspace/cesium-time.d.ts.map +1 -0
  312. package/scene-workspace/cesium-time.js +403 -0
  313. package/scene-workspace/index.d.ts +42 -10
  314. package/scene-workspace/index.d.ts.map +1 -1
  315. package/scene-workspace/index.js +32 -7
  316. package/scene-workspace/maplibre-state-sync.d.ts +112 -0
  317. package/scene-workspace/maplibre-state-sync.d.ts.map +1 -0
  318. package/scene-workspace/maplibre-state-sync.js +400 -0
  319. package/scene-workspace/primitives.d.ts +237 -3
  320. package/scene-workspace/primitives.d.ts.map +1 -1
  321. package/scene-workspace/primitives.js +1087 -17
  322. package/scene-workspace/scene-discovery.d.ts +5 -2
  323. package/scene-workspace/scene-discovery.d.ts.map +1 -1
  324. package/scene-workspace/scene-discovery.js +5 -2
  325. package/scene-workspace/scene-view.d.ts +5 -2
  326. package/scene-workspace/scene-view.d.ts.map +1 -1
  327. package/scene-workspace/scene-view.js +5 -2
  328. package/scene-workspace/source-to-cesium.d.ts +141 -8
  329. package/scene-workspace/source-to-cesium.d.ts.map +1 -1
  330. package/scene-workspace/source-to-cesium.js +497 -72
  331. package/scene-workspace/state-sync-port-kit.d.ts +156 -0
  332. package/scene-workspace/state-sync-port-kit.d.ts.map +1 -0
  333. package/scene-workspace/state-sync-port-kit.js +319 -0
  334. package/scene-workspace/state-sync.d.ts +34 -1
  335. package/scene-workspace/state-sync.d.ts.map +1 -1
  336. package/scene-workspace/state-sync.js +48 -0
  337. package/scene-workspace/types.d.ts +8 -0
  338. package/scene-workspace/types.d.ts.map +1 -1
  339. package/scene-workspace/types.js +2 -0
  340. package/scene-workspace/workspace.d.ts +12 -1
  341. package/scene-workspace/workspace.d.ts.map +1 -1
  342. package/scene-workspace/workspace.js +13 -0
  343. package/studio/index.d.ts +24 -7
  344. package/studio/index.d.ts.map +1 -1
  345. package/studio/index.js +21 -7
  346. package/studio/lifecycle-client.d.ts +164 -0
  347. package/studio/lifecycle-client.d.ts.map +1 -0
  348. package/studio/lifecycle-client.js +299 -0
  349. package/studio/lifecycle-errors.d.ts +91 -0
  350. package/studio/lifecycle-errors.d.ts.map +1 -0
  351. package/studio/lifecycle-errors.js +77 -0
  352. package/studio/lifecycle-types.d.ts +321 -0
  353. package/studio/lifecycle-types.d.ts.map +1 -0
  354. package/studio/lifecycle-types.js +22 -0
  355. package/web-components/controller.d.ts.map +1 -1
  356. package/web-components/csp-styles.d.ts +6 -0
  357. package/web-components/csp-styles.d.ts.map +1 -0
  358. package/web-components/csp-styles.js +53 -0
  359. package/web-components/elements.d.ts +158 -2
  360. package/web-components/elements.d.ts.map +1 -1
  361. package/web-components/elements.js +1302 -215
  362. package/web-components/export-redaction.d.ts +252 -0
  363. package/web-components/export-redaction.d.ts.map +1 -0
  364. package/web-components/export-redaction.js +588 -0
  365. package/web-components/export.d.ts +417 -0
  366. package/web-components/export.d.ts.map +1 -0
  367. package/web-components/export.js +719 -0
  368. package/web-components/feature-editor-model.d.ts +265 -0
  369. package/web-components/feature-editor-model.d.ts.map +1 -0
  370. package/web-components/feature-editor-model.js +438 -0
  371. package/web-components/feature-editor-sketch.d.ts +125 -0
  372. package/web-components/feature-editor-sketch.d.ts.map +1 -0
  373. package/web-components/feature-editor-sketch.js +194 -0
  374. package/web-components/feature-editor-workflow.d.ts +286 -0
  375. package/web-components/feature-editor-workflow.d.ts.map +1 -0
  376. package/web-components/feature-editor-workflow.js +889 -0
  377. package/web-components/feature-editor.d.ts +83 -0
  378. package/web-components/feature-editor.d.ts.map +1 -0
  379. package/web-components/feature-editor.js +829 -0
  380. package/web-components/feature-table-engine.d.ts +465 -0
  381. package/web-components/feature-table-engine.d.ts.map +1 -0
  382. package/web-components/feature-table-engine.js +1360 -0
  383. package/web-components/feature-table-view.d.ts +95 -0
  384. package/web-components/feature-table-view.d.ts.map +1 -0
  385. package/web-components/feature-table-view.js +343 -0
  386. package/web-components/index.d.ts +34 -3
  387. package/web-components/index.d.ts.map +1 -1
  388. package/web-components/index.js +35 -2
  389. package/web-components/maplibre-renderer.d.ts.map +1 -1
  390. package/web-components/maplibre-renderer.js +13 -4
  391. package/web-components/measurement.d.ts +3 -1
  392. package/web-components/measurement.d.ts.map +1 -1
  393. package/web-components/measurement.js +62 -18
  394. package/web-components/time-slider.d.ts +122 -0
  395. package/web-components/time-slider.d.ts.map +1 -0
  396. package/web-components/time-slider.js +740 -0
  397. package/web-components/types.d.ts +310 -0
  398. package/web-components/types.d.ts.map +1 -1
  399. package/webmap/convert-label.js +0 -1
  400. package/webmap/convert-symbol.d.ts.map +1 -1
@@ -0,0 +1,417 @@
1
+ /**
2
+ * The Honua component kit's **export-adapter contract** (issue #683, parent
3
+ * epic #678; REQ-001/REQ-002/REQ-003).
4
+ *
5
+ * ## Why an adapter at all
6
+ *
7
+ * `<honua-print-export>` has always offered three actions — print layout,
8
+ * renderer snapshot, sanitized state JSON — but only browser print was ever
9
+ * implemented. The other two were *correctly* reported as unsupported rather
10
+ * than being faked, because producing them safely needs something the
11
+ * component kit does not have and must not guess at:
12
+ *
13
+ * - A **renderer** it is allowed to read pixels from. `canvas.toDataURL()` on a
14
+ * WebGL map silently returns a blank image unless the map was created with
15
+ * `canvasContextAttributes: { preserveDrawingBuffer: true }` (MapLibre 5 and
16
+ * 6; earlier majors took a top-level `preserveDrawingBuffer`), and it throws on a canvas tainted by
17
+ * cross-origin tiles. Only the application that constructed the map knows
18
+ * which of those is true, and only it can decide whether reading those
19
+ * pixels is authorized.
20
+ * - An **authorization boundary**. A map's live state transitively references
21
+ * the credentials that made it work: signed tile URLs, `Authorization`
22
+ * headers, SAS query strings, OAuth scope detail. Serializing "the current
23
+ * state" naively hands all of that to whoever receives the file.
24
+ *
25
+ * So export is modelled as an explicit, injected capability. There is no
26
+ * ambient fallback that "does its best": with no adapter, snapshot and state
27
+ * export **fail closed** with {@link HonuaCapabilityNotSupportedError} and
28
+ * produce no bytes at all. That is the whole point — a missing adapter must
29
+ * never degrade into a silent, partially-credentialed artifact.
30
+ *
31
+ * ## The four things the contract makes explicit (REQ-001)
32
+ *
33
+ * 1. **Capability** — {@link HonuaExportAdapter.describeCapabilities} declares
34
+ * exactly which kinds the adapter implements. A kind it does not declare is
35
+ * refused before the adapter is called; a kind it declares but does not
36
+ * implement is a *reported* contract violation, never a silent no-op.
37
+ * 2. **Ownership** — every result carries {@link HonuaExportResult.ownership}
38
+ * and an always-present {@link HonuaExportResult.release}. `bytes` handed to
39
+ * the caller are the caller's to keep and remain valid after `release()`;
40
+ * `release()` frees only adapter-held resources (object URLs, offscreen
41
+ * canvases, server-side render jobs). Callers can therefore always call it
42
+ * exactly once, unconditionally, in a `finally`.
43
+ * 3. **Cancellation** — an {@link AbortSignal} is checked before the adapter
44
+ * runs, forwarded to it, and re-checked after it returns; a cancelled export
45
+ * releases whatever the adapter produced and yields `status: "cancelled"`
46
+ * with no bytes.
47
+ * 4. **Error reporting** — the runner never throws. It returns a discriminated
48
+ * {@link HonuaExportResult} whose `status` is one of
49
+ * `ready`/`unsupported`/`cancelled`/`error`, with a redacted `message` and
50
+ * the structured `error` for programmatic handling. Elements can render the
51
+ * envelope directly; callers who prefer exceptions use
52
+ * {@link assertHonuaExportReady}.
53
+ *
54
+ * ## Redaction is not the adapter's job (REQ-002)
55
+ *
56
+ * The runner sanitizes state **before** the adapter is invoked, so an adapter
57
+ * — including a third-party or server-side one — never receives credential
58
+ * material in the first place. It then re-scans everything the adapter returned
59
+ * (bytes, text, filename hint, fidelity warnings) and refuses to emit an
60
+ * artifact that fails the scan. Both layers live in
61
+ * {@link "./export-redaction.js"}; see that module for the two-layer model.
62
+ *
63
+ * ## Provenance travels with the artifact (REQ-003)
64
+ *
65
+ * Attribution, license notices, scale, export timestamp, data-freshness, and
66
+ * fidelity warnings are assembled by the runner from the map package and
67
+ * controller state, handed to the adapter, and echoed on the result. Where a
68
+ * source declares attribution, the export **cannot** drop it: an artifact
69
+ * missing required attribution fails closed exactly like a credential leak,
70
+ * because shipping an unattributed map is a licence violation, not a cosmetic
71
+ * defect.
72
+ *
73
+ * ## Bundle posture (NFR-001)
74
+ *
75
+ * This module and its redaction sibling import nothing but the SDK's own error
76
+ * base and types. No renderer, PDF writer, image encoder, localization
77
+ * framework, or test-only peer is referenced, statically or dynamically —
78
+ * every one of those lives on the application side of the adapter seam. The
79
+ * built-in adapters here are thin structural shims over objects the caller
80
+ * already owns.
81
+ *
82
+ * @module
83
+ */
84
+ import { HonuaSdkError } from "../core/error-envelope.js";
85
+ import { type HonuaExportRedaction, type HonuaSanitizedExportState } from "./export-redaction.js";
86
+ import type { HonuaViewportState, HonuaWebComponentState } from "./types.js";
87
+ /** What an export produces. */
88
+ export type HonuaExportKind =
89
+ /** A print layout (browser print dialog, or an adapter-rendered paginated document). */
90
+ "print"
91
+ /** A raster/vector image of the current renderer view. */
92
+ | "snapshot"
93
+ /** A sanitized, credential-free JSON document describing the current view state. */
94
+ | "state";
95
+ /** Every export kind, in a stable order. */
96
+ export declare const HONUA_EXPORT_KINDS: readonly HonuaExportKind[];
97
+ /** Terminal status of one export attempt. */
98
+ export type HonuaExportStatus =
99
+ /** An artifact was produced and passed every safety assertion. */
100
+ "ready"
101
+ /** No adapter, or the adapter does not implement this kind. No bytes were produced. */
102
+ | "unsupported"
103
+ /** The caller's `AbortSignal` fired. Adapter-held resources were released. */
104
+ | "cancelled"
105
+ /** The adapter threw, returned an unusable payload, or produced an unsafe artifact. */
106
+ | "error";
107
+ /** Who is responsible for releasing adapter-held resources. */
108
+ export type HonuaExportOwnership =
109
+ /** Nothing to release; `release()` is a no-op. */
110
+ "none"
111
+ /** The caller must call `release()` when finished; the runner has not called it. */
112
+ | "caller-releases"
113
+ /** The runner already released everything (cancelled/failed export). */
114
+ | "released";
115
+ /**
116
+ * Attribution and fidelity metadata that must survive into every artifact
117
+ * (REQ-003). Assembled by {@link buildHonuaExportProvenance}.
118
+ */
119
+ export interface HonuaExportProvenance {
120
+ /** ISO-8601 instant the export was produced. */
121
+ readonly exportedAt: string;
122
+ /** Attribution strings required by the bound sources or the accepted plan. Never dropped. */
123
+ readonly attribution: readonly string[];
124
+ /** Licence notices required by the bound sources or the accepted plan. Never dropped. */
125
+ readonly licenseNotices: readonly string[];
126
+ /** Human-readable approximate scale, e.g. `"1:24,000"`. */
127
+ readonly scaleLabel?: string;
128
+ /** ISO-8601 instant the underlying data was last refreshed, when known. */
129
+ readonly dataFreshnessAt?: string;
130
+ /** `true` when the exported view is known to be showing stale data. */
131
+ readonly stale?: boolean;
132
+ /**
133
+ * Honest statements about what the artifact does *not* faithfully reproduce
134
+ * (unsupported layer types, omitted non-exportable sources, rasterized
135
+ * vector text, ...). Adapters may append their own.
136
+ */
137
+ readonly fidelityWarnings: readonly string[];
138
+ /** Map-package id the export came from, when known. */
139
+ readonly packageId?: string;
140
+ /** The producing component kit, for artifact traceability. */
141
+ readonly generator: string;
142
+ }
143
+ /** Declares what an adapter can actually do. */
144
+ export interface HonuaExportCapabilities {
145
+ /** Stable adapter id, surfaced on results and in diagnostics. */
146
+ readonly adapterId: string;
147
+ /** Kinds this adapter implements. A kind absent here is refused before the adapter runs. */
148
+ readonly kinds: readonly HonuaExportKind[];
149
+ /** Whether the adapter honours an `AbortSignal` mid-flight. Purely informational: the runner enforces cancellation either way. */
150
+ readonly cancellable: boolean;
151
+ /** Media types the adapter can emit for `snapshot`, most preferred first. */
152
+ readonly snapshotMediaTypes?: readonly string[];
153
+ /** Optional pixel ceiling the adapter will not exceed, for callers sizing a request. */
154
+ readonly maxSnapshotPixels?: number;
155
+ }
156
+ /**
157
+ * Everything an adapter is given. Note what is *absent*: no controller, no
158
+ * client, no credential store, no raw state. An adapter cannot reach
159
+ * credential material through this object even if it tries.
160
+ */
161
+ export interface HonuaExportContext {
162
+ readonly kind: HonuaExportKind;
163
+ /** Caller-supplied, already-redacted title. */
164
+ readonly title: string | undefined;
165
+ /** Provenance the adapter must stamp into the artifact where the format allows it. */
166
+ readonly provenance: HonuaExportProvenance;
167
+ /** Credential-free state document. Always present for `state`; supplied for the others as layout input. */
168
+ readonly state: HonuaSanitizedExportState;
169
+ /** Cancellation signal. Adapters that do long work should honour it. */
170
+ readonly signal: AbortSignal | undefined;
171
+ /** Requested media type, when the caller expressed a preference. */
172
+ readonly mediaType: string | undefined;
173
+ }
174
+ /** What an adapter returns for a successful export. */
175
+ export interface HonuaExportPayload {
176
+ /** Media type of `bytes`/`text`. */
177
+ readonly mediaType: string;
178
+ /** Binary artifact. Mutually exclusive with `text` in practice; `bytes` wins if both are set. */
179
+ readonly bytes?: Uint8Array;
180
+ /** Text artifact (JSON, SVG, HTML). */
181
+ readonly text?: string;
182
+ /** Suggested filename stem. Sanitized by the runner; a hint that looks credential-bearing is discarded. */
183
+ readonly filenameHint?: string;
184
+ /** Additional honest fidelity caveats, merged into the result's provenance. */
185
+ readonly fidelityWarnings?: readonly string[];
186
+ /**
187
+ * Releases adapter-held resources. The runner always calls this exactly once
188
+ * on a cancelled or failed export, and never calls it on a successful one —
189
+ * a successful result hands the obligation to the caller via
190
+ * {@link HonuaExportResult.release}.
191
+ */
192
+ readonly release?: () => void | Promise<void>;
193
+ /**
194
+ * `true` when this export completed as a side effect and carries no bytes —
195
+ * the browser print dialog being the canonical case.
196
+ */
197
+ readonly sideEffectOnly?: boolean;
198
+ /**
199
+ * Whether the artifact's **bytes** carry the attribution and licence notices
200
+ * the sources require (REQ-003) — a watermark composited into the image, a
201
+ * PDF footer, a JSON provenance block.
202
+ *
203
+ * Defaults to `false`, which is the honest default: reading a WebGL canvas
204
+ * captures the map's pixels and nothing else, because MapLibre renders its
205
+ * attribution as DOM outside the canvas. An adapter that does not composite
206
+ * attribution must not claim it did, so the runner adds an explicit fidelity
207
+ * warning naming what the caller has to present alongside the artifact, and
208
+ * {@link HonuaExportRequest.requireEmbeddedProvenance} turns that into a hard
209
+ * failure for callers who cannot.
210
+ */
211
+ readonly provenanceEmbedded?: boolean;
212
+ }
213
+ /**
214
+ * One export kind's implementation. Every method is optional; whichever kinds
215
+ * {@link HonuaExportAdapter.describeCapabilities} declares must have the
216
+ * matching method, and the runner reports a violation rather than silently
217
+ * succeeding when it does not.
218
+ */
219
+ export interface HonuaExportAdapter {
220
+ /** Stable identifier, echoed on results. */
221
+ readonly id: string;
222
+ describeCapabilities(): HonuaExportCapabilities;
223
+ print?(context: HonuaExportContext): HonuaExportPayload | Promise<HonuaExportPayload>;
224
+ snapshot?(context: HonuaExportContext): HonuaExportPayload | Promise<HonuaExportPayload>;
225
+ exportState?(context: HonuaExportContext): HonuaExportPayload | Promise<HonuaExportPayload>;
226
+ }
227
+ /** The outcome of one export attempt. Never thrown — always returned. */
228
+ export interface HonuaExportResult {
229
+ readonly kind: HonuaExportKind;
230
+ readonly status: HonuaExportStatus;
231
+ /** Adapter that served the request, or `undefined` when none was available. */
232
+ readonly adapterId: string | undefined;
233
+ /** Credential-safe download filename. Present only on `ready`. */
234
+ readonly filename?: string;
235
+ readonly mediaType?: string;
236
+ /** Caller-owned bytes. Remain valid after {@link release}. */
237
+ readonly bytes?: Uint8Array;
238
+ /** Caller-owned text. */
239
+ readonly text?: string;
240
+ /** `true` when the export completed as a side effect (browser print) and has no payload. */
241
+ readonly sideEffectOnly?: boolean;
242
+ readonly provenance: HonuaExportProvenance;
243
+ /**
244
+ * Whether the required attribution and licence notices are carried by the
245
+ * artifact's own bytes (REQ-003). When `false`, `provenance` still names them
246
+ * and `provenance.fidelityWarnings` says so explicitly — the caller is
247
+ * responsible for presenting them wherever the artifact is published.
248
+ * `undefined` only on results that produced no artifact.
249
+ */
250
+ readonly provenanceEmbedded?: boolean;
251
+ /** Everything withheld while sanitizing state for this export. */
252
+ readonly redactions: readonly HonuaExportRedaction[];
253
+ readonly ownership: HonuaExportOwnership;
254
+ /** Always defined; safe to call exactly once regardless of `status`. Idempotent. */
255
+ readonly release: () => Promise<void>;
256
+ /** Redacted, human-readable explanation. Safe to log, display, or put on an event. */
257
+ readonly message?: string;
258
+ /** Structured failure for programmatic handling. */
259
+ readonly error?: HonuaSdkError;
260
+ }
261
+ export interface HonuaExportRequest<T = Record<string, unknown>> {
262
+ readonly kind: HonuaExportKind;
263
+ /** Adapter to serve the request. Omitting it is what makes an export fail closed. */
264
+ readonly adapter?: HonuaExportAdapter | undefined;
265
+ /** Live component state. Sanitized before the adapter sees any of it. */
266
+ readonly state?: HonuaWebComponentState<T> | undefined;
267
+ /** Untrusted title (map name, package id, user input). */
268
+ readonly title?: string;
269
+ readonly signal?: AbortSignal;
270
+ readonly mediaType?: string;
271
+ /** Sources the accepted plan marks non-exportable. See `SanitizeHonuaExportStateOptions`. */
272
+ readonly nonExportableSourceIds?: readonly string[];
273
+ /** Extra attribution required by the accepted plan beyond what the sources declare. */
274
+ readonly requiredAttribution?: readonly string[];
275
+ /** Licence notices required by the accepted plan. */
276
+ readonly requiredLicenseNotices?: readonly string[];
277
+ /**
278
+ * Fail closed unless the adapter embeds the required attribution into the
279
+ * artifact's own bytes (REQ-003). Off by default, because the common and
280
+ * legitimate arrangement is for the application to present attribution
281
+ * alongside the artifact — the result reports
282
+ * {@link HonuaExportResult.provenanceEmbedded} and carries an explicit
283
+ * fidelity warning either way. Set this when the artifact will travel on its
284
+ * own, with no surrounding surface to carry the notice.
285
+ */
286
+ readonly requireEmbeddedProvenance?: boolean;
287
+ /** Overrides the export timestamp. Tests pin it; production should not set it. */
288
+ readonly exportedAt?: string;
289
+ }
290
+ /** Thrown by {@link assertHonuaExportReady} and used to wrap adapter faults. */
291
+ export declare class HonuaExportError extends HonuaSdkError {
292
+ readonly status: HonuaExportStatus;
293
+ constructor(status: Exclude<HonuaExportStatus, "ready">, message: string, options?: {
294
+ cause?: unknown;
295
+ });
296
+ }
297
+ /** `1:24,000`-style approximate scale for a web-mercator viewport at 96 DPI. */
298
+ export declare function approximateHonuaScaleLabel(viewport: HonuaViewportState | undefined): string | undefined;
299
+ export interface BuildHonuaExportProvenanceOptions {
300
+ readonly requiredAttribution?: readonly string[];
301
+ readonly requiredLicenseNotices?: readonly string[];
302
+ readonly fidelityWarnings?: readonly string[];
303
+ readonly exportedAt?: string;
304
+ }
305
+ /**
306
+ * Assembles the provenance block for an export (REQ-003) from the map package
307
+ * and controller state, unioned with anything the accepted plan additionally
308
+ * requires. Every string is redacted, because attribution text is
309
+ * caller-supplied and has appeared with a signed URL in it in the wild.
310
+ */
311
+ export declare function buildHonuaExportProvenance<T>(state: HonuaWebComponentState<T> | undefined, sanitized: HonuaSanitizedExportState, options?: BuildHonuaExportProvenanceOptions): HonuaExportProvenance;
312
+ /**
313
+ * Fail-closed provenance check (REQ-003): every attribution string and licence
314
+ * notice a source or the accepted plan declares must be present on the
315
+ * provenance that ships with the artifact.
316
+ *
317
+ * This exists because provenance is the one part of an export a well-meaning
318
+ * adapter or caller is most likely to "simplify away". Dropping attribution is
319
+ * a licence breach, so it is enforced with the same severity as a credential
320
+ * leak rather than logged as a warning.
321
+ */
322
+ export declare function assertHonuaExportProvenanceComplete(provenance: HonuaExportProvenance, required: {
323
+ readonly attribution: readonly string[];
324
+ readonly licenseNotices: readonly string[];
325
+ }): void;
326
+ /**
327
+ * Runs one export end to end. Never throws: every failure mode — no adapter,
328
+ * undeclared kind, missing method, adapter exception, cancellation, unsafe
329
+ * artifact, missing provenance — comes back as a {@link HonuaExportResult}.
330
+ *
331
+ * @example Fail closed with no adapter
332
+ * ```ts doc-test=skip reason="illustrative excerpt over an ambient controller state"
333
+ * const result = await runHonuaExport({ kind: "snapshot", state });
334
+ * result.status; // "unsupported"
335
+ * result.bytes; // undefined — no partial artifact is ever produced
336
+ * result.error?.sdkCode // "core.capability-not-supported"
337
+ * ```
338
+ */
339
+ export declare function runHonuaExport<T>(request: HonuaExportRequest<T>): Promise<HonuaExportResult>;
340
+ /** Throws `result.error` unless the export succeeded; returns the result otherwise. */
341
+ export declare function assertHonuaExportReady(result: HonuaExportResult): HonuaExportResult;
342
+ /** The minimal renderer surface a snapshot adapter needs. Structurally satisfied by a MapLibre `Map`'s canvas. */
343
+ export interface HonuaSnapshotCanvasLike {
344
+ toDataURL?(type?: string, quality?: number): string;
345
+ toBlob?(callback: (blob: unknown) => void, type?: string, quality?: number): void;
346
+ }
347
+ /** What {@link createHonuaExportAdapter} needs to serve a snapshot. */
348
+ export interface HonuaSnapshotSource {
349
+ /**
350
+ * Returns the renderer canvas to read pixels from, or `undefined` when the
351
+ * renderer is not currently readable. Returning `undefined` makes the
352
+ * snapshot fail closed instead of emitting a blank image.
353
+ *
354
+ * The application is asserting, by supplying this, that the canvas was
355
+ * created with `canvasContextAttributes: { preserveDrawingBuffer: true }`
356
+ * (or is otherwise readable) and that reading it is authorized.
357
+ */
358
+ getCanvas(): HonuaSnapshotCanvasLike | undefined;
359
+ /** Preferred media type, default `image/png`. */
360
+ readonly mediaType?: string;
361
+ /** Fidelity caveats the application knows apply to its snapshots. */
362
+ readonly fidelityWarnings?: readonly string[];
363
+ /**
364
+ * Set only if `getCanvas()` returns a canvas that already has the required
365
+ * attribution composited into its pixels (an application that draws a
366
+ * watermark or footer before handing the canvas over). Left `false`, the
367
+ * export reports honestly that the bytes do not carry attribution.
368
+ */
369
+ readonly provenanceEmbedded?: boolean;
370
+ }
371
+ export interface CreateHonuaExportAdapterOptions {
372
+ readonly id: string;
373
+ /** Supply to enable `snapshot`. Omit and the adapter simply does not declare that kind. */
374
+ readonly snapshot?: HonuaSnapshotSource;
375
+ /** Supply to enable `print`. `createBrowserPrintExportAdapter()` covers the browser-dialog case. */
376
+ readonly print?: (context: HonuaExportContext) => HonuaExportPayload | Promise<HonuaExportPayload>;
377
+ /**
378
+ * Enables the sanitized-state export. `true` uses the runner's own
379
+ * credential-free JSON projection; a function lets the application wrap it
380
+ * (adding its own envelope) while still starting from the sanitized document.
381
+ */
382
+ readonly state?: boolean | ((context: HonuaExportContext) => HonuaExportPayload | Promise<HonuaExportPayload>);
383
+ }
384
+ /**
385
+ * Builds an export adapter from capabilities the application explicitly grants.
386
+ *
387
+ * Everything here is structural: no `maplibre-gl`, `cesium`, PDF writer, or
388
+ * image encoder is imported, so wiring an adapter costs a consumer bundle
389
+ * nothing beyond the object it passes in (NFR-001).
390
+ *
391
+ * @example
392
+ * ```ts doc-test=skip reason="requires a live MapLibre map instance"
393
+ * const adapter = createHonuaExportAdapter({
394
+ * id: "my-app",
395
+ * // map created with canvasContextAttributes: { preserveDrawingBuffer: true }
396
+ * snapshot: { getCanvas: () => map.getCanvas() },
397
+ * state: true,
398
+ * });
399
+ * printExportElement.exportAdapter = adapter;
400
+ * ```
401
+ */
402
+ export declare function createHonuaExportAdapter(options: CreateHonuaExportAdapterOptions): HonuaExportAdapter;
403
+ /** The window surface {@link createBrowserPrintExportAdapter} needs. */
404
+ export interface HonuaPrintWindowLike {
405
+ print(): void;
406
+ }
407
+ /**
408
+ * The browser-print adapter: the one export the component kit can serve without
409
+ * application help, because `window.print()` reads no pixels and serializes no
410
+ * state — the browser prints what it already renders, under the user's own
411
+ * session.
412
+ *
413
+ * It is a *default* for `print` only. Snapshot and state export deliberately
414
+ * have no equivalent built-in, because both require reading privileged data.
415
+ */
416
+ export declare function createBrowserPrintExportAdapter(windowLike?: HonuaPrintWindowLike | undefined): HonuaExportAdapter;
417
+ //# sourceMappingURL=export.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/web-components/export.ts"],"names":[],"mappings":"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"}