@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,99 @@
1
+ /**
2
+ * Fragment-only embed-token parsing.
3
+ *
4
+ * Embed bearer tokens MUST travel in the URL fragment (`#...`), never the query
5
+ * string. The fragment is not sent to the origin server, is not written to
6
+ * server access logs or the `Referer` header, and is not captured by most
7
+ * proxy/CDN request logging — so a fragment-borne bearer token has a much
8
+ * smaller disclosure surface than a query-string one. This helper extracts a
9
+ * token from the fragment and *rejects* query-string bearer patterns outright
10
+ * so a generated app or embed never silently accepts a leak-prone placement.
11
+ *
12
+ * @module
13
+ */
14
+ /** Default fragment parameter name an embed token is read from. */
15
+ export const HONUA_EMBED_TOKEN_FRAGMENT_PARAM = "embed_token";
16
+ function normalizeParams(param) {
17
+ if (param === undefined)
18
+ return [HONUA_EMBED_TOKEN_FRAGMENT_PARAM];
19
+ const list = typeof param === "string" ? [param] : param;
20
+ const names = list.map((name) => name.trim()).filter((name) => name.length > 0);
21
+ return names.length > 0 ? names : [HONUA_EMBED_TOKEN_FRAGMENT_PARAM];
22
+ }
23
+ /**
24
+ * Splits an arbitrary URL or location-like string into its query and fragment
25
+ * components without requiring an absolute base. Accepts a full URL
26
+ * (`https://host/path?q#frag`), a relative URL (`/path?q#frag`), a bare query
27
+ * (`?q`), or a bare fragment (`#frag`).
28
+ */
29
+ function splitLocation(input) {
30
+ if (typeof input !== "string")
31
+ return null;
32
+ const hashIndex = input.indexOf("#");
33
+ const fragment = hashIndex >= 0 ? input.slice(hashIndex + 1) : "";
34
+ const beforeFragment = hashIndex >= 0 ? input.slice(0, hashIndex) : input;
35
+ const queryIndex = beforeFragment.indexOf("?");
36
+ const query = queryIndex >= 0 ? beforeFragment.slice(queryIndex + 1) : "";
37
+ return { query, fragment };
38
+ }
39
+ /**
40
+ * Reads a named parameter out of a `&`/`=` encoded component (query or
41
+ * fragment). Returns the first match's decoded value, or `null` if absent. A
42
+ * present-but-empty parameter (`embed_token=`) returns an empty string so the
43
+ * caller can distinguish "absent" from "blank".
44
+ */
45
+ function readParam(component, names) {
46
+ if (component.length === 0)
47
+ return null;
48
+ const params = new URLSearchParams(component);
49
+ for (const name of names) {
50
+ if (params.has(name))
51
+ return params.get(name) ?? "";
52
+ }
53
+ return null;
54
+ }
55
+ /**
56
+ * Extracts an embed bearer token from a URL/location fragment, rejecting any
57
+ * token placed in the query string.
58
+ *
59
+ * Resolution order:
60
+ * 1. If a token parameter is present in the **query string**, reject with
61
+ * `query-string-token` — even if a fragment token also exists — so a
62
+ * leak-prone placement is never silently tolerated.
63
+ * 2. Otherwise read the token from the **fragment**. A blank fragment token
64
+ * rejects with `empty`; a missing one rejects with `missing`.
65
+ *
66
+ * @param input A full or relative URL, a bare query, or a bare fragment. In a
67
+ * browser, pass `window.location.href` (or `location.search + location.hash`).
68
+ */
69
+ export function parseEmbedTokenFromFragment(input, options = {}) {
70
+ const names = normalizeParams(options.param);
71
+ const parts = splitLocation(input);
72
+ if (parts === null)
73
+ return { ok: false, reason: "malformed" };
74
+ // (1) Reject query-string bearer tokens unconditionally.
75
+ const queryToken = readParam(parts.query, names);
76
+ if (queryToken !== null) {
77
+ return { ok: false, reason: "query-string-token" };
78
+ }
79
+ // (2) Read from the fragment.
80
+ const fragmentToken = readParam(parts.fragment, names);
81
+ if (fragmentToken === null)
82
+ return { ok: false, reason: "missing" };
83
+ const trimmed = fragmentToken.trim();
84
+ if (trimmed.length === 0)
85
+ return { ok: false, reason: "empty" };
86
+ return { ok: true, token: trimmed, param: names[0] };
87
+ }
88
+ /**
89
+ * Convenience guard: `true` when `input` carries an embed-token parameter in the
90
+ * query string (any leak-prone placement). Useful for asserting a redirect
91
+ * stripped the token before it reached a logged surface.
92
+ */
93
+ export function hasQueryStringEmbedToken(input, options = {}) {
94
+ const names = normalizeParams(options.param);
95
+ const parts = splitLocation(input);
96
+ if (parts === null)
97
+ return false;
98
+ return readParam(parts.query, names) !== null;
99
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * `@honua/sdk-js/share` — browser-safe Share, embed-token, public-link, and
3
+ * open-data contract types and helpers.
4
+ *
5
+ * The long-term Console runtime is .NET/Blazor, but generated apps and
6
+ * embeddable map surfaces need browser-safe contracts that match honua-server
7
+ * and `honua-sdk-dotnet`. This subpath projects that shared vocabulary into
8
+ * TypeScript so browser code consumes Share/embed/open-data state without
9
+ * inventing a second contract:
10
+ *
11
+ * - Contract types mirror the server JSON wire names exactly (a parsed `fetch`
12
+ * body assigns straight into them).
13
+ * - {@link parseEmbedTokenFromFragment} enforces fragment-only embed bearer
14
+ * tokens and rejects query-string placements.
15
+ * - Denial helpers model anonymous-safe access state without leaking item
16
+ * identity or private titles.
17
+ * - Open-data helpers project a held read model into DCAT / Schema.org output.
18
+ *
19
+ * This entrypoint owns no transport: it consumes server responses that are
20
+ * already available. Admin/write share operations live on
21
+ * `@honua/sdk-js/control-plane`.
22
+ *
23
+ * @experimental This entrypoint is not yet covered by the SDK's semver contract
24
+ * — the surface may change in any minor release prior to `1.0.0`.
25
+ * @module
26
+ */
27
+ export { HONUA_EMBED_AUDIENCES, HONUA_SHARE_ACCESS_TIERS, } from "./types.js";
28
+ export type { HonuaEmbedAudience, HonuaEmbedRedemption, HonuaEmbedToken, HonuaPublicLinkResolution, HonuaPublicLinkToken, HonuaShareAccessTier, HonuaShareDependencyConflict, HonuaShareItemType, HonuaShareProjection, } from "./types.js";
29
+ export { HONUA_SHARE_DENIAL_MESSAGES, denialFromHttpStatus, denyShareAccess, grantShareAccess, isShareAccessDenied, isShareAccessGranted, } from "./denial.js";
30
+ export type { HonuaEmbedAccessState, HonuaPublicLinkAccessState, HonuaShareAccessDenied, HonuaShareAccessGranted, HonuaShareAccessKind, HonuaShareAccessState, HonuaShareDenialReason, } from "./denial.js";
31
+ export { HONUA_EMBED_TOKEN_FRAGMENT_PARAM, hasQueryStringEmbedToken, parseEmbedTokenFromFragment, } from "./embed-token.js";
32
+ export type { HonuaEmbedTokenParseOk, HonuaEmbedTokenParseRejected, HonuaEmbedTokenParseResult, HonuaEmbedTokenRejectionReason, ParseEmbedTokenOptions, } from "./embed-token.js";
33
+ export { toDcatDataset, toSchemaOrgDataset, } from "./open-data.js";
34
+ export type { DcatDataset, DcatDistribution, HonuaOpenDataDistribution, HonuaOpenDataReadProjection, SchemaOrgDataDownload, SchemaOrgDataset, } from "./open-data.js";
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/share/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EACL,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,gCAAgC,EAChC,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,0BAA0B,EAC1B,8BAA8B,EAC9B,sBAAsB,GACvB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,yBAAyB,EACzB,2BAA2B,EAC3B,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,gBAAgB,CAAC"}
package/share/index.js ADDED
@@ -0,0 +1,30 @@
1
+ /**
2
+ * `@honua/sdk-js/share` — browser-safe Share, embed-token, public-link, and
3
+ * open-data contract types and helpers.
4
+ *
5
+ * The long-term Console runtime is .NET/Blazor, but generated apps and
6
+ * embeddable map surfaces need browser-safe contracts that match honua-server
7
+ * and `honua-sdk-dotnet`. This subpath projects that shared vocabulary into
8
+ * TypeScript so browser code consumes Share/embed/open-data state without
9
+ * inventing a second contract:
10
+ *
11
+ * - Contract types mirror the server JSON wire names exactly (a parsed `fetch`
12
+ * body assigns straight into them).
13
+ * - {@link parseEmbedTokenFromFragment} enforces fragment-only embed bearer
14
+ * tokens and rejects query-string placements.
15
+ * - Denial helpers model anonymous-safe access state without leaking item
16
+ * identity or private titles.
17
+ * - Open-data helpers project a held read model into DCAT / Schema.org output.
18
+ *
19
+ * This entrypoint owns no transport: it consumes server responses that are
20
+ * already available. Admin/write share operations live on
21
+ * `@honua/sdk-js/control-plane`.
22
+ *
23
+ * @experimental This entrypoint is not yet covered by the SDK's semver contract
24
+ * — the surface may change in any minor release prior to `1.0.0`.
25
+ * @module
26
+ */
27
+ export { HONUA_EMBED_AUDIENCES, HONUA_SHARE_ACCESS_TIERS, } from "./types.js";
28
+ export { HONUA_SHARE_DENIAL_MESSAGES, denialFromHttpStatus, denyShareAccess, grantShareAccess, isShareAccessDenied, isShareAccessGranted, } from "./denial.js";
29
+ export { HONUA_EMBED_TOKEN_FRAGMENT_PARAM, hasQueryStringEmbedToken, parseEmbedTokenFromFragment, } from "./embed-token.js";
30
+ export { toDcatDataset, toSchemaOrgDataset, } from "./open-data.js";
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Browser-safe open-data read projections and DCAT / Schema.org helper shapes.
3
+ *
4
+ * Generated apps and embeds frequently render an open-data landing card for a
5
+ * public-indexed item and need a stable, anonymous-safe shape plus a way to
6
+ * emit standards-aligned metadata (DCAT distributions, a Schema.org `Dataset`
7
+ * JSON-LD block) from an already-fetched server response. These helpers do not
8
+ * fetch or publish — they project a presentation read model the browser already
9
+ * holds into the shared vocabulary, so Console JS interop and generated apps
10
+ * agree on field names.
11
+ *
12
+ * The DCAT / Schema.org output follows the public DCAT (W3C / DCAT-AP) and
13
+ * Schema.org `Dataset` vocabularies. When honua-server's open-data publication
14
+ * API lands its own projection, prefer the server-emitted document; this helper
15
+ * remains the browser fallback for responses that only carry the read model.
16
+ *
17
+ * @module
18
+ */
19
+ import type { HonuaShareItemType } from "./types.js";
20
+ /** A downloadable/queryable distribution of an open-data item. */
21
+ export interface HonuaOpenDataDistribution {
22
+ /** Stable id of the distribution within the item. */
23
+ readonly id?: string;
24
+ /** Human title of the distribution (e.g. "GeoJSON download"). */
25
+ readonly title?: string;
26
+ /** IANA media type (e.g. `application/geo+json`). */
27
+ readonly mediaType?: string;
28
+ /** Short format label (e.g. `GeoJSON`, `CSV`, `OGC API - Features`). */
29
+ readonly format?: string;
30
+ /** Direct download URL, when the distribution is a file. */
31
+ readonly downloadUrl?: string;
32
+ /** Access URL for service/API distributions (non-file). */
33
+ readonly accessUrl?: string;
34
+ }
35
+ /**
36
+ * Anonymous-safe open-data read projection for a public-indexed item. Presents
37
+ * only fields safe to expose on an open-data landing surface.
38
+ */
39
+ export interface HonuaOpenDataReadProjection {
40
+ readonly itemId: string;
41
+ readonly itemType: HonuaShareItemType;
42
+ readonly title: string;
43
+ readonly summary?: string;
44
+ /** Keyword/theme tags. */
45
+ readonly keywords?: readonly string[];
46
+ /** License identifier or URL, when published. */
47
+ readonly license?: string;
48
+ /** Publishing organization/attribution, when set. */
49
+ readonly publisher?: string;
50
+ /** ISO-8601 timestamp the item was last modified, when known. */
51
+ readonly modified?: string;
52
+ /** Landing-page URL for the item on the open-data surface. */
53
+ readonly landingPageUrl?: string;
54
+ /** Distributions the item is available through. */
55
+ readonly distributions?: readonly HonuaOpenDataDistribution[];
56
+ }
57
+ /** A DCAT distribution object (`dcat:Distribution`). */
58
+ export interface DcatDistribution {
59
+ readonly "@type": "dcat:Distribution";
60
+ readonly title?: string;
61
+ readonly mediaType?: string;
62
+ readonly format?: string;
63
+ readonly downloadURL?: string;
64
+ readonly accessURL?: string;
65
+ }
66
+ /** A DCAT dataset object (`dcat:Dataset`) for an open-data item. */
67
+ export interface DcatDataset {
68
+ readonly "@type": "dcat:Dataset";
69
+ readonly identifier: string;
70
+ readonly title: string;
71
+ readonly description?: string;
72
+ readonly keyword?: readonly string[];
73
+ readonly license?: string;
74
+ readonly publisher?: string;
75
+ readonly modified?: string;
76
+ readonly landingPage?: string;
77
+ readonly distribution?: readonly DcatDistribution[];
78
+ }
79
+ /** A Schema.org `DataDownload` node. */
80
+ export interface SchemaOrgDataDownload {
81
+ readonly "@type": "DataDownload";
82
+ readonly name?: string;
83
+ readonly encodingFormat?: string;
84
+ readonly contentUrl?: string;
85
+ }
86
+ /** A Schema.org `Dataset` JSON-LD node for an open-data item. */
87
+ export interface SchemaOrgDataset {
88
+ readonly "@context": "https://schema.org";
89
+ readonly "@type": "Dataset";
90
+ readonly identifier: string;
91
+ readonly name: string;
92
+ readonly description?: string;
93
+ readonly keywords?: readonly string[];
94
+ readonly license?: string;
95
+ readonly publisher?: {
96
+ readonly "@type": "Organization";
97
+ readonly name: string;
98
+ };
99
+ readonly dateModified?: string;
100
+ readonly url?: string;
101
+ readonly distribution?: readonly SchemaOrgDataDownload[];
102
+ }
103
+ /**
104
+ * Projects a browser-held open-data read projection into a `dcat:Dataset`
105
+ * object. Omits unset/empty fields so the emitted document is minimal.
106
+ */
107
+ export declare function toDcatDataset(projection: HonuaOpenDataReadProjection): DcatDataset;
108
+ /**
109
+ * Projects a browser-held open-data read projection into a Schema.org `Dataset`
110
+ * JSON-LD node, suitable for injection into a `<script type="application/ld+json">`
111
+ * block on an open-data landing page. Omits unset/empty fields.
112
+ */
113
+ export declare function toSchemaOrgDataset(projection: HonuaOpenDataReadProjection): SchemaOrgDataset;
114
+ //# sourceMappingURL=open-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"open-data.d.ts","sourceRoot":"","sources":["../../../src/share/open-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Browser-safe open-data read projections and DCAT / Schema.org helper shapes.
3
+ *
4
+ * Generated apps and embeds frequently render an open-data landing card for a
5
+ * public-indexed item and need a stable, anonymous-safe shape plus a way to
6
+ * emit standards-aligned metadata (DCAT distributions, a Schema.org `Dataset`
7
+ * JSON-LD block) from an already-fetched server response. These helpers do not
8
+ * fetch or publish — they project a presentation read model the browser already
9
+ * holds into the shared vocabulary, so Console JS interop and generated apps
10
+ * agree on field names.
11
+ *
12
+ * The DCAT / Schema.org output follows the public DCAT (W3C / DCAT-AP) and
13
+ * Schema.org `Dataset` vocabularies. When honua-server's open-data publication
14
+ * API lands its own projection, prefer the server-emitted document; this helper
15
+ * remains the browser fallback for responses that only carry the read model.
16
+ *
17
+ * @module
18
+ */
19
+ function compact(value) {
20
+ const out = {};
21
+ for (const [key, val] of Object.entries(value)) {
22
+ if (val === undefined)
23
+ continue;
24
+ if (Array.isArray(val) && val.length === 0)
25
+ continue;
26
+ out[key] = val;
27
+ }
28
+ return out;
29
+ }
30
+ /**
31
+ * Projects a browser-held open-data read projection into a `dcat:Dataset`
32
+ * object. Omits unset/empty fields so the emitted document is minimal.
33
+ */
34
+ export function toDcatDataset(projection) {
35
+ const distribution = projection.distributions?.map((d) => compact({
36
+ "@type": "dcat:Distribution",
37
+ title: d.title,
38
+ mediaType: d.mediaType,
39
+ format: d.format,
40
+ downloadURL: d.downloadUrl,
41
+ accessURL: d.accessUrl,
42
+ }));
43
+ return compact({
44
+ "@type": "dcat:Dataset",
45
+ identifier: projection.itemId,
46
+ title: projection.title,
47
+ description: projection.summary,
48
+ keyword: projection.keywords,
49
+ license: projection.license,
50
+ publisher: projection.publisher,
51
+ modified: projection.modified,
52
+ landingPage: projection.landingPageUrl,
53
+ distribution,
54
+ });
55
+ }
56
+ /**
57
+ * Projects a browser-held open-data read projection into a Schema.org `Dataset`
58
+ * JSON-LD node, suitable for injection into a `<script type="application/ld+json">`
59
+ * block on an open-data landing page. Omits unset/empty fields.
60
+ */
61
+ export function toSchemaOrgDataset(projection) {
62
+ const distribution = projection.distributions?.map((d) => compact({
63
+ "@type": "DataDownload",
64
+ name: d.title,
65
+ encodingFormat: d.mediaType ?? d.format,
66
+ contentUrl: d.downloadUrl ?? d.accessUrl,
67
+ }));
68
+ return compact({
69
+ "@context": "https://schema.org",
70
+ "@type": "Dataset",
71
+ identifier: projection.itemId,
72
+ name: projection.title,
73
+ description: projection.summary,
74
+ keywords: projection.keywords,
75
+ license: projection.license,
76
+ publisher: projection.publisher ? { "@type": "Organization", name: projection.publisher } : undefined,
77
+ dateModified: projection.modified,
78
+ url: projection.landingPageUrl,
79
+ distribution,
80
+ });
81
+ }
@@ -0,0 +1,163 @@
1
+ /**
2
+ * Browser-safe Share, embed, public-link, and open-data contract types.
3
+ *
4
+ * These mirror the canonical honua-server Console Share contracts
5
+ * (`ConsoleShareAccessTier`, `ConsoleEmbedAudience`, `ConsoleShareProjection`,
6
+ * `ConsolePublicLinkResolutionResponse`, `ConsoleEmbedRedeemResponse`, …) and
7
+ * the `honua-sdk-dotnet` console clients so generated apps, embeds, and Console
8
+ * JS interop consume one vocabulary instead of inventing a second one. Field
9
+ * names match the server JSON wire names exactly so a parsed `fetch` body is
10
+ * assignable to these types without remapping.
11
+ *
12
+ * @module
13
+ */
14
+ /**
15
+ * Effective Share access tier for a content item. The share facet of an item,
16
+ * distinct from membership visibility: `public-link` exposes opaque-token
17
+ * access without changing membership; `public-indexed` implies the item is
18
+ * publicly readable and eligible for catalog indexing / open-data distribution.
19
+ *
20
+ * Mirrors `ConsoleShareAccessTier` (`private` | `organization` | `public-link`
21
+ * | `public-indexed`). The trailing `(string & {})` keeps the union open so a
22
+ * future server tier round-trips without a type error while preserving
23
+ * autocomplete on the known members.
24
+ */
25
+ export type HonuaShareAccessTier = "private" | "organization" | "public-link" | "public-indexed" | (string & {});
26
+ /** Known {@link HonuaShareAccessTier} members, for validation/iteration. */
27
+ export declare const HONUA_SHARE_ACCESS_TIERS: readonly ["private", "organization", "public-link", "public-indexed"];
28
+ /**
29
+ * Scope an embed authorization permits the redeeming surface to render.
30
+ * Mirrors `ConsoleEmbedAudience` (`map` | `content`).
31
+ */
32
+ export type HonuaEmbedAudience = "map" | "content" | (string & {});
33
+ /** Known {@link HonuaEmbedAudience} members. */
34
+ export declare const HONUA_EMBED_AUDIENCES: readonly ["map", "content"];
35
+ /**
36
+ * Console content item category. Mirrors `ConsoleContentItemType`.
37
+ */
38
+ export type HonuaShareItemType = "service" | "layer" | "saved-map" | "dashboard" | "report" | "generated-app" | "open-data" | (string & {});
39
+ /**
40
+ * A public-link token granting opaque, membership-independent read access.
41
+ * Mirrors `ConsolePublicLinkToken`.
42
+ *
43
+ * The opaque {@link token} value is disclosed only in the mint response and is
44
+ * `null`/absent on every subsequent read; callers reference a token thereafter
45
+ * by its stable {@link tokenId}.
46
+ */
47
+ export interface HonuaPublicLinkToken {
48
+ /** Stable identifier (safe to surface in lists/audit; carries no capability). */
49
+ readonly tokenId: string;
50
+ /** Opaque token value — populated only in the mint response, else `null`. */
51
+ readonly token?: string | null;
52
+ /** Content item this token grants access to. */
53
+ readonly itemId: string;
54
+ /** ISO-8601 timestamp the token was minted. */
55
+ readonly createdAt: string;
56
+ /** ISO-8601 expiry; `null`/absent means it never self-expires. */
57
+ readonly expiresAt?: string | null;
58
+ /** Principal that minted the token (audit attribution). */
59
+ readonly createdById?: string | null;
60
+ /** True when the token can no longer resolve (revoked or past expiry). */
61
+ readonly isExpired: boolean;
62
+ }
63
+ /**
64
+ * An embed token authorizing an external surface to render an item for a
65
+ * bounded audience and TTL. Mirrors `ConsoleEmbedToken`. Embed tokens always
66
+ * carry a hard {@link expiresAt}.
67
+ */
68
+ export interface HonuaEmbedToken {
69
+ /** Stable identifier (audit/listing). */
70
+ readonly tokenId: string;
71
+ /** Opaque token value — populated only in the mint response. */
72
+ readonly token?: string | null;
73
+ /** Content item this token authorizes embedding for. */
74
+ readonly itemId: string;
75
+ /** Audience/scope the embed may render. */
76
+ readonly audience: HonuaEmbedAudience;
77
+ /** ISO-8601 timestamp the token was minted. */
78
+ readonly createdAt: string;
79
+ /** ISO-8601 hard expiry (always present for embed tokens). */
80
+ readonly expiresAt: string;
81
+ /** Principal that minted the token (audit attribution). */
82
+ readonly createdById?: string | null;
83
+ /** True when past expiry or embedding has been disabled on the item. */
84
+ readonly isExpired: boolean;
85
+ }
86
+ /**
87
+ * Server-owned Share access projection — the read model the Share panel renders
88
+ * without resolving share state client-side. Mirrors `ConsoleShareProjection`.
89
+ */
90
+ export interface HonuaShareProjection {
91
+ /** Content item id. */
92
+ readonly itemId: string;
93
+ /** Machine-friendly item name. */
94
+ readonly itemName: string;
95
+ /** Human-readable title, when set. */
96
+ readonly itemTitle?: string | null;
97
+ /** Item category. */
98
+ readonly itemType: HonuaShareItemType;
99
+ /** Owner principal id, when set. */
100
+ readonly ownerId?: string | null;
101
+ /** Effective Share access tier. */
102
+ readonly accessTier: HonuaShareAccessTier;
103
+ /** True when at least one non-expired public-link token exists. */
104
+ readonly publicLinkEnabled: boolean;
105
+ /** Active and historical public-link tokens (token value always absent here). */
106
+ readonly publicLinkTokens?: readonly HonuaPublicLinkToken[];
107
+ /** True when embedding is enabled for the item. */
108
+ readonly embedEnabled: boolean;
109
+ /** Configured embed audience when {@link embedEnabled} is true. */
110
+ readonly embedAudience?: HonuaEmbedAudience | null;
111
+ /** Whether the item is currently eligible for open-data distribution. */
112
+ readonly openDataEligible: boolean;
113
+ /** Console verbs the requesting principal may perform on the item. */
114
+ readonly callerPermissions?: readonly string[];
115
+ /** True when an anonymous caller could read the item through any share mechanism. */
116
+ readonly anonymousEligible: boolean;
117
+ /** Logical access endpoints keyed by relation (e.g. `self`). */
118
+ readonly endpoints?: Readonly<Record<string, string>>;
119
+ /** ISO-8601 timestamp the share state was last updated, when state exists. */
120
+ readonly updatedAt?: string | null;
121
+ /** Principal that last updated the share state, when state exists. */
122
+ readonly updatedById?: string | null;
123
+ }
124
+ /**
125
+ * A dependency that blocks a public-sharing or embed-enablement request because
126
+ * it is not shareable by the requested audience. Mirrors
127
+ * `ConsoleShareDependencyConflict`.
128
+ *
129
+ * `itemName` is populated for authenticated callers and omitted on anonymous
130
+ * surfaces so private titles are never leaked.
131
+ */
132
+ export interface HonuaShareDependencyConflict {
133
+ readonly itemId: string;
134
+ readonly itemType?: HonuaShareItemType | null;
135
+ readonly itemName?: string | null;
136
+ readonly blockingReason: string;
137
+ }
138
+ /**
139
+ * Anonymous-safe public-link / public-content resolution response. Mirrors
140
+ * `ConsolePublicLinkResolutionResponse`. Carries only presentation metadata —
141
+ * owner, provenance, and caller permissions are never present on this surface.
142
+ */
143
+ export interface HonuaPublicLinkResolution {
144
+ readonly itemId: string;
145
+ readonly itemType: HonuaShareItemType;
146
+ readonly title?: string | null;
147
+ readonly summary?: string | null;
148
+ readonly accessTier: HonuaShareAccessTier;
149
+ readonly endpoints: Readonly<Record<string, string>>;
150
+ }
151
+ /**
152
+ * Anonymous-safe embed redemption response. Mirrors `ConsoleEmbedRedeemResponse`.
153
+ */
154
+ export interface HonuaEmbedRedemption {
155
+ readonly itemId: string;
156
+ readonly itemType: HonuaShareItemType;
157
+ readonly title?: string | null;
158
+ readonly audience: HonuaEmbedAudience;
159
+ /** ISO-8601 hard expiry of the redeemed token. */
160
+ readonly expiresAt: string;
161
+ readonly endpoints: Readonly<Record<string, string>>;
162
+ }
163
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/share/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEjH,4EAA4E;AAC5E,eAAO,MAAM,wBAAwB,uEAAwE,CAAC;AAE9G;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,KAAK,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEnE,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,6BAA8B,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,OAAO,GACP,WAAW,GACX,WAAW,GACX,QAAQ,GACR,eAAe,GACf,WAAW,GACX,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;;GAOG;AACH,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,+CAA+C;IAC/C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,uBAAuB;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,sCAAsC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,oCAAoC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mCAAmC;IACnC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,mEAAmE;IACnE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC5D,mDAAmD;IACnD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACnD,yEAAyE;IACzE,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,qFAAqF;IACrF,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,gEAAgE;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,8EAA8E;IAC9E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAC9C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,kDAAkD;IAClD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACtD"}
package/share/types.js ADDED
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Browser-safe Share, embed, public-link, and open-data contract types.
3
+ *
4
+ * These mirror the canonical honua-server Console Share contracts
5
+ * (`ConsoleShareAccessTier`, `ConsoleEmbedAudience`, `ConsoleShareProjection`,
6
+ * `ConsolePublicLinkResolutionResponse`, `ConsoleEmbedRedeemResponse`, …) and
7
+ * the `honua-sdk-dotnet` console clients so generated apps, embeds, and Console
8
+ * JS interop consume one vocabulary instead of inventing a second one. Field
9
+ * names match the server JSON wire names exactly so a parsed `fetch` body is
10
+ * assignable to these types without remapping.
11
+ *
12
+ * @module
13
+ */
14
+ /** Known {@link HonuaShareAccessTier} members, for validation/iteration. */
15
+ export const HONUA_SHARE_ACCESS_TIERS = ["private", "organization", "public-link", "public-indexed"];
16
+ /** Known {@link HonuaEmbedAudience} members. */
17
+ export const HONUA_EMBED_AUDIENCES = ["map", "content"];