@honua/react 0.0.20-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +9 -0
  3. package/contract/analytics-sources.d.ts +149 -0
  4. package/contract/analytics-sources.d.ts.map +1 -0
  5. package/contract/analytics-sources.js +235 -0
  6. package/contract/edit-session.d.ts +203 -0
  7. package/contract/edit-session.d.ts.map +1 -0
  8. package/contract/edit-session.js +760 -0
  9. package/contract/edit-sketch.d.ts +91 -0
  10. package/contract/edit-sketch.d.ts.map +1 -0
  11. package/contract/edit-sketch.js +281 -0
  12. package/contract/index.d.ts +61 -0
  13. package/contract/index.d.ts.map +1 -0
  14. package/contract/index.js +51 -0
  15. package/contract/jobs.d.ts +149 -0
  16. package/contract/jobs.d.ts.map +1 -0
  17. package/contract/jobs.js +40 -0
  18. package/contract/source.d.ts +423 -0
  19. package/contract/source.d.ts.map +1 -0
  20. package/contract/source.js +3802 -0
  21. package/contract/spatial-aggregation.d.ts +336 -0
  22. package/contract/spatial-aggregation.d.ts.map +1 -0
  23. package/contract/spatial-aggregation.js +298 -0
  24. package/contract/temporal.d.ts +455 -0
  25. package/contract/temporal.d.ts.map +1 -0
  26. package/contract/temporal.js +146 -0
  27. package/contract/tiles.d.ts +370 -0
  28. package/contract/tiles.d.ts.map +1 -0
  29. package/contract/tiles.js +519 -0
  30. package/contract/types.d.ts +665 -0
  31. package/contract/types.d.ts.map +1 -0
  32. package/contract/types.js +175 -0
  33. package/contract/widget-source.d.ts +205 -0
  34. package/contract/widget-source.d.ts.map +1 -0
  35. package/contract/widget-source.js +1473 -0
  36. package/control-plane/client.d.ts +95 -0
  37. package/control-plane/client.d.ts.map +1 -0
  38. package/control-plane/client.js +374 -0
  39. package/control-plane/index.d.ts +18 -0
  40. package/control-plane/index.d.ts.map +1 -0
  41. package/control-plane/index.js +14 -0
  42. package/control-plane/types.d.ts +233 -0
  43. package/control-plane/types.d.ts.map +1 -0
  44. package/control-plane/types.js +7 -0
  45. package/core/batch.d.ts +37 -0
  46. package/core/batch.d.ts.map +1 -0
  47. package/core/batch.js +79 -0
  48. package/core/cache-state.d.ts +79 -0
  49. package/core/cache-state.d.ts.map +1 -0
  50. package/core/cache-state.js +87 -0
  51. package/core/client.d.ts +577 -0
  52. package/core/client.d.ts.map +1 -0
  53. package/core/client.js +1664 -0
  54. package/core/compatibility.d.ts +18 -0
  55. package/core/compatibility.d.ts.map +1 -0
  56. package/core/compatibility.js +245 -0
  57. package/core/errors.d.ts +107 -0
  58. package/core/errors.d.ts.map +1 -0
  59. package/core/errors.js +156 -0
  60. package/core/esri-geojson.d.ts +66 -0
  61. package/core/esri-geojson.d.ts.map +1 -0
  62. package/core/esri-geojson.js +363 -0
  63. package/core/geoservices.d.ts +34 -0
  64. package/core/geoservices.d.ts.map +1 -0
  65. package/core/geoservices.js +434 -0
  66. package/core/grpc-adapter.d.ts +23 -0
  67. package/core/grpc-adapter.d.ts.map +1 -0
  68. package/core/grpc-adapter.js +688 -0
  69. package/core/odata.d.ts +347 -0
  70. package/core/odata.d.ts.map +1 -0
  71. package/core/odata.js +913 -0
  72. package/core/ogc-conformance.d.ts +35 -0
  73. package/core/ogc-conformance.d.ts.map +1 -0
  74. package/core/ogc-conformance.js +134 -0
  75. package/core/ogc-features.d.ts +23 -0
  76. package/core/ogc-features.d.ts.map +1 -0
  77. package/core/ogc-features.js +114 -0
  78. package/core/ogc-maps.d.ts +49 -0
  79. package/core/ogc-maps.d.ts.map +1 -0
  80. package/core/ogc-maps.js +126 -0
  81. package/core/ogc-processes.d.ts +118 -0
  82. package/core/ogc-processes.d.ts.map +1 -0
  83. package/core/ogc-processes.js +423 -0
  84. package/core/ogc-records.d.ts +75 -0
  85. package/core/ogc-records.d.ts.map +1 -0
  86. package/core/ogc-records.js +251 -0
  87. package/core/ogc-tiles.d.ts +125 -0
  88. package/core/ogc-tiles.d.ts.map +1 -0
  89. package/core/ogc-tiles.js +183 -0
  90. package/core/path-utils.d.ts +69 -0
  91. package/core/path-utils.d.ts.map +1 -0
  92. package/core/path-utils.js +123 -0
  93. package/core/pbf-decoder.d.ts +39 -0
  94. package/core/pbf-decoder.d.ts.map +1 -0
  95. package/core/pbf-decoder.js +702 -0
  96. package/core/process-runner.d.ts +104 -0
  97. package/core/process-runner.d.ts.map +1 -0
  98. package/core/process-runner.js +315 -0
  99. package/core/protocol-transport.d.ts +76 -0
  100. package/core/protocol-transport.d.ts.map +1 -0
  101. package/core/protocol-transport.js +15 -0
  102. package/core/query-builder.d.ts +261 -0
  103. package/core/query-builder.d.ts.map +1 -0
  104. package/core/query-builder.js +538 -0
  105. package/core/request-pipeline.d.ts +88 -0
  106. package/core/request-pipeline.d.ts.map +1 -0
  107. package/core/request-pipeline.js +273 -0
  108. package/core/spatial-filter.d.ts +93 -0
  109. package/core/spatial-filter.d.ts.map +1 -0
  110. package/core/spatial-filter.js +153 -0
  111. package/core/stac.d.ts +55 -0
  112. package/core/stac.d.ts.map +1 -0
  113. package/core/stac.js +229 -0
  114. package/core/surfaces.d.ts +527 -0
  115. package/core/surfaces.d.ts.map +1 -0
  116. package/core/surfaces.js +1917 -0
  117. package/core/terrain-elevation.d.ts +114 -0
  118. package/core/terrain-elevation.d.ts.map +1 -0
  119. package/core/terrain-elevation.js +150 -0
  120. package/core/types.d.ts +1355 -0
  121. package/core/types.d.ts.map +1 -0
  122. package/core/types.js +13 -0
  123. package/core/wfs-capabilities.d.ts +143 -0
  124. package/core/wfs-capabilities.d.ts.map +1 -0
  125. package/core/wfs-capabilities.js +478 -0
  126. package/core/wfs-filter.d.ts +118 -0
  127. package/core/wfs-filter.d.ts.map +1 -0
  128. package/core/wfs-filter.js +634 -0
  129. package/core/wfs.d.ts +219 -0
  130. package/core/wfs.d.ts.map +1 -0
  131. package/core/wfs.js +406 -0
  132. package/core/wire-shared.d.ts +32 -0
  133. package/core/wire-shared.d.ts.map +1 -0
  134. package/core/wire-shared.js +76 -0
  135. package/core/wms-axis.d.ts +36 -0
  136. package/core/wms-axis.d.ts.map +1 -0
  137. package/core/wms-axis.js +73 -0
  138. package/core/wms-capabilities.d.ts +110 -0
  139. package/core/wms-capabilities.d.ts.map +1 -0
  140. package/core/wms-capabilities.js +559 -0
  141. package/core/wms-types.d.ts +128 -0
  142. package/core/wms-types.d.ts.map +1 -0
  143. package/core/wms-types.js +32 -0
  144. package/core/wms.d.ts +144 -0
  145. package/core/wms.d.ts.map +1 -0
  146. package/core/wms.js +338 -0
  147. package/core/wmts-capabilities.d.ts +82 -0
  148. package/core/wmts-capabilities.d.ts.map +1 -0
  149. package/core/wmts-capabilities.js +402 -0
  150. package/core/wmts.d.ts +103 -0
  151. package/core/wmts.d.ts.map +1 -0
  152. package/core/wmts.js +332 -0
  153. package/core/xml-text.d.ts +20 -0
  154. package/core/xml-text.d.ts.map +1 -0
  155. package/core/xml-text.js +85 -0
  156. package/esri-compat/basemap-gallery.d.ts +38 -0
  157. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  158. package/esri-compat/basemap-gallery.js +159 -0
  159. package/esri-compat/basemap-layer-list.d.ts +35 -0
  160. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  161. package/esri-compat/basemap-layer-list.js +139 -0
  162. package/esri-compat/basemap.d.ts +32 -0
  163. package/esri-compat/basemap.d.ts.map +1 -0
  164. package/esri-compat/basemap.js +84 -0
  165. package/esri-compat/bookmarks.d.ts +36 -0
  166. package/esri-compat/bookmarks.d.ts.map +1 -0
  167. package/esri-compat/bookmarks.js +108 -0
  168. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  169. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  170. package/esri-compat/class-breaks-renderer.js +164 -0
  171. package/esri-compat/color.d.ts +22 -0
  172. package/esri-compat/color.d.ts.map +1 -0
  173. package/esri-compat/color.js +106 -0
  174. package/esri-compat/controls.d.ts +174 -0
  175. package/esri-compat/controls.d.ts.map +1 -0
  176. package/esri-compat/controls.js +479 -0
  177. package/esri-compat/coordinate-conversion.d.ts +41 -0
  178. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  179. package/esri-compat/coordinate-conversion.js +125 -0
  180. package/esri-compat/directions.d.ts +45 -0
  181. package/esri-compat/directions.d.ts.map +1 -0
  182. package/esri-compat/directions.js +123 -0
  183. package/esri-compat/editor.d.ts +47 -0
  184. package/esri-compat/editor.d.ts.map +1 -0
  185. package/esri-compat/editor.js +170 -0
  186. package/esri-compat/esri-config.d.ts +16 -0
  187. package/esri-compat/esri-config.d.ts.map +1 -0
  188. package/esri-compat/esri-config.js +23 -0
  189. package/esri-compat/esri-request.d.ts +17 -0
  190. package/esri-compat/esri-request.d.ts.map +1 -0
  191. package/esri-compat/esri-request.js +127 -0
  192. package/esri-compat/event-bus.d.ts +106 -0
  193. package/esri-compat/event-bus.d.ts.map +1 -0
  194. package/esri-compat/event-bus.js +90 -0
  195. package/esri-compat/expand.d.ts +36 -0
  196. package/esri-compat/expand.d.ts.map +1 -0
  197. package/esri-compat/expand.js +97 -0
  198. package/esri-compat/extent.d.ts +43 -0
  199. package/esri-compat/extent.d.ts.map +1 -0
  200. package/esri-compat/extent.js +140 -0
  201. package/esri-compat/feature-filter.d.ts +55 -0
  202. package/esri-compat/feature-filter.d.ts.map +1 -0
  203. package/esri-compat/feature-filter.js +109 -0
  204. package/esri-compat/feature-form.d.ts +64 -0
  205. package/esri-compat/feature-form.d.ts.map +1 -0
  206. package/esri-compat/feature-form.js +137 -0
  207. package/esri-compat/feature-layer.d.ts +173 -0
  208. package/esri-compat/feature-layer.d.ts.map +1 -0
  209. package/esri-compat/feature-layer.js +661 -0
  210. package/esri-compat/feature-set.d.ts +32 -0
  211. package/esri-compat/feature-set.d.ts.map +1 -0
  212. package/esri-compat/feature-set.js +80 -0
  213. package/esri-compat/feature-table.d.ts +141 -0
  214. package/esri-compat/feature-table.d.ts.map +1 -0
  215. package/esri-compat/feature-table.js +500 -0
  216. package/esri-compat/feature-templates.d.ts +41 -0
  217. package/esri-compat/feature-templates.d.ts.map +1 -0
  218. package/esri-compat/feature-templates.js +97 -0
  219. package/esri-compat/feature.d.ts +33 -0
  220. package/esri-compat/feature.d.ts.map +1 -0
  221. package/esri-compat/feature.js +83 -0
  222. package/esri-compat/geojson-layer.d.ts +86 -0
  223. package/esri-compat/geojson-layer.d.ts.map +1 -0
  224. package/esri-compat/geojson-layer.js +191 -0
  225. package/esri-compat/geometry-engine.d.ts +107 -0
  226. package/esri-compat/geometry-engine.d.ts.map +1 -0
  227. package/esri-compat/geometry-engine.js +266 -0
  228. package/esri-compat/graphic.d.ts +46 -0
  229. package/esri-compat/graphic.d.ts.map +1 -0
  230. package/esri-compat/graphic.js +103 -0
  231. package/esri-compat/graphics-layer.d.ts +49 -0
  232. package/esri-compat/graphics-layer.d.ts.map +1 -0
  233. package/esri-compat/graphics-layer.js +185 -0
  234. package/esri-compat/group-layer.d.ts +48 -0
  235. package/esri-compat/group-layer.d.ts.map +1 -0
  236. package/esri-compat/group-layer.js +212 -0
  237. package/esri-compat/identify.d.ts +71 -0
  238. package/esri-compat/identify.d.ts.map +1 -0
  239. package/esri-compat/identify.js +299 -0
  240. package/esri-compat/identity-manager.d.ts +31 -0
  241. package/esri-compat/identity-manager.d.ts.map +1 -0
  242. package/esri-compat/identity-manager.js +115 -0
  243. package/esri-compat/imagery-layer.d.ts +78 -0
  244. package/esri-compat/imagery-layer.d.ts.map +1 -0
  245. package/esri-compat/imagery-layer.js +167 -0
  246. package/esri-compat/label-class.d.ts +31 -0
  247. package/esri-compat/label-class.d.ts.map +1 -0
  248. package/esri-compat/label-class.js +102 -0
  249. package/esri-compat/layer-list.d.ts +77 -0
  250. package/esri-compat/layer-list.d.ts.map +1 -0
  251. package/esri-compat/layer-list.js +342 -0
  252. package/esri-compat/legend.d.ts +53 -0
  253. package/esri-compat/legend.d.ts.map +1 -0
  254. package/esri-compat/legend.js +254 -0
  255. package/esri-compat/map-image-layer.d.ts +162 -0
  256. package/esri-compat/map-image-layer.d.ts.map +1 -0
  257. package/esri-compat/map-image-layer.js +709 -0
  258. package/esri-compat/map-view.d.ts +323 -0
  259. package/esri-compat/map-view.d.ts.map +1 -0
  260. package/esri-compat/map-view.js +1175 -0
  261. package/esri-compat/map.d.ts +47 -0
  262. package/esri-compat/map.d.ts.map +1 -0
  263. package/esri-compat/map.js +209 -0
  264. package/esri-compat/measurement-2d.d.ts +61 -0
  265. package/esri-compat/measurement-2d.d.ts.map +1 -0
  266. package/esri-compat/measurement-2d.js +184 -0
  267. package/esri-compat/measurement.d.ts +45 -0
  268. package/esri-compat/measurement.d.ts.map +1 -0
  269. package/esri-compat/measurement.js +193 -0
  270. package/esri-compat/oauth-info.d.ts +35 -0
  271. package/esri-compat/oauth-info.d.ts.map +1 -0
  272. package/esri-compat/oauth-info.js +115 -0
  273. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  274. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  275. package/esri-compat/picture-marker-symbol.js +126 -0
  276. package/esri-compat/point.d.ts +31 -0
  277. package/esri-compat/point.d.ts.map +1 -0
  278. package/esri-compat/point.js +102 -0
  279. package/esri-compat/polygon.d.ts +31 -0
  280. package/esri-compat/polygon.d.ts.map +1 -0
  281. package/esri-compat/polygon.js +107 -0
  282. package/esri-compat/polyline.d.ts +31 -0
  283. package/esri-compat/polyline.d.ts.map +1 -0
  284. package/esri-compat/polyline.js +107 -0
  285. package/esri-compat/popup-template.d.ts +55 -0
  286. package/esri-compat/popup-template.d.ts.map +1 -0
  287. package/esri-compat/popup-template.js +128 -0
  288. package/esri-compat/popup.d.ts +54 -0
  289. package/esri-compat/popup.d.ts.map +1 -0
  290. package/esri-compat/popup.js +312 -0
  291. package/esri-compat/print.d.ts +47 -0
  292. package/esri-compat/print.d.ts.map +1 -0
  293. package/esri-compat/print.js +105 -0
  294. package/esri-compat/query.d.ts +58 -0
  295. package/esri-compat/query.d.ts.map +1 -0
  296. package/esri-compat/query.js +128 -0
  297. package/esri-compat/reactive-utils.d.ts +24 -0
  298. package/esri-compat/reactive-utils.d.ts.map +1 -0
  299. package/esri-compat/reactive-utils.js +193 -0
  300. package/esri-compat/request.d.ts +41 -0
  301. package/esri-compat/request.d.ts.map +1 -0
  302. package/esri-compat/request.js +253 -0
  303. package/esri-compat/route-layer.d.ts +59 -0
  304. package/esri-compat/route-layer.d.ts.map +1 -0
  305. package/esri-compat/route-layer.js +223 -0
  306. package/esri-compat/route-task.d.ts +88 -0
  307. package/esri-compat/route-task.d.ts.map +1 -0
  308. package/esri-compat/route-task.js +225 -0
  309. package/esri-compat/scene-view.d.ts +41 -0
  310. package/esri-compat/scene-view.d.ts.map +1 -0
  311. package/esri-compat/scene-view.js +68 -0
  312. package/esri-compat/search.d.ts +112 -0
  313. package/esri-compat/search.d.ts.map +1 -0
  314. package/esri-compat/search.js +820 -0
  315. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  316. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  317. package/esri-compat/simple-fill-symbol.js +85 -0
  318. package/esri-compat/simple-line-symbol.d.ts +27 -0
  319. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  320. package/esri-compat/simple-line-symbol.js +85 -0
  321. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  322. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  323. package/esri-compat/simple-marker-symbol.js +92 -0
  324. package/esri-compat/simple-renderer.d.ts +29 -0
  325. package/esri-compat/simple-renderer.d.ts.map +1 -0
  326. package/esri-compat/simple-renderer.js +92 -0
  327. package/esri-compat/sketch.d.ts +64 -0
  328. package/esri-compat/sketch.d.ts.map +1 -0
  329. package/esri-compat/sketch.js +227 -0
  330. package/esri-compat/spatial-reference.d.ts +31 -0
  331. package/esri-compat/spatial-reference.d.ts.map +1 -0
  332. package/esri-compat/spatial-reference.js +102 -0
  333. package/esri-compat/swipe.d.ts +34 -0
  334. package/esri-compat/swipe.d.ts.map +1 -0
  335. package/esri-compat/swipe.js +93 -0
  336. package/esri-compat/table-list.d.ts +36 -0
  337. package/esri-compat/table-list.d.ts.map +1 -0
  338. package/esri-compat/table-list.js +126 -0
  339. package/esri-compat/text-symbol.d.ts +37 -0
  340. package/esri-compat/text-symbol.d.ts.map +1 -0
  341. package/esri-compat/text-symbol.js +123 -0
  342. package/esri-compat/tile-layer.d.ts +52 -0
  343. package/esri-compat/tile-layer.d.ts.map +1 -0
  344. package/esri-compat/tile-layer.js +168 -0
  345. package/esri-compat/time-slider.d.ts +70 -0
  346. package/esri-compat/time-slider.d.ts.map +1 -0
  347. package/esri-compat/time-slider.js +208 -0
  348. package/esri-compat/track.d.ts +51 -0
  349. package/esri-compat/track.d.ts.map +1 -0
  350. package/esri-compat/track.js +174 -0
  351. package/esri-compat/unique-value-renderer.d.ts +41 -0
  352. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  353. package/esri-compat/unique-value-renderer.js +127 -0
  354. package/esri-compat/url.d.ts +13 -0
  355. package/esri-compat/url.d.ts.map +1 -0
  356. package/esri-compat/url.js +68 -0
  357. package/esri-compat/vector-tile-layer.d.ts +47 -0
  358. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  359. package/esri-compat/vector-tile-layer.js +130 -0
  360. package/esri-compat/web-map.d.ts +14 -0
  361. package/esri-compat/web-map.d.ts.map +1 -0
  362. package/esri-compat/web-map.js +24 -0
  363. package/esri-compat/wfs-layer.d.ts +64 -0
  364. package/esri-compat/wfs-layer.d.ts.map +1 -0
  365. package/esri-compat/wfs-layer.js +145 -0
  366. package/esri-compat/wms-layer.d.ts +76 -0
  367. package/esri-compat/wms-layer.d.ts.map +1 -0
  368. package/esri-compat/wms-layer.js +157 -0
  369. package/exploration/context.d.ts +25 -0
  370. package/exploration/context.d.ts.map +1 -0
  371. package/exploration/context.js +396 -0
  372. package/exploration/index.d.ts +27 -0
  373. package/exploration/index.d.ts.map +1 -0
  374. package/exploration/index.js +24 -0
  375. package/exploration/presets.d.ts +27 -0
  376. package/exploration/presets.d.ts.map +1 -0
  377. package/exploration/presets.js +114 -0
  378. package/exploration/reducer.d.ts +23 -0
  379. package/exploration/reducer.d.ts.map +1 -0
  380. package/exploration/reducer.js +332 -0
  381. package/exploration/selection.d.ts +25 -0
  382. package/exploration/selection.d.ts.map +1 -0
  383. package/exploration/selection.js +34 -0
  384. package/exploration/selectors.d.ts +56 -0
  385. package/exploration/selectors.d.ts.map +1 -0
  386. package/exploration/selectors.js +110 -0
  387. package/exploration/types.d.ts +294 -0
  388. package/exploration/types.d.ts.map +1 -0
  389. package/exploration/types.js +33 -0
  390. package/expr/expression.d.ts +457 -0
  391. package/expr/expression.d.ts.map +1 -0
  392. package/expr/expression.js +663 -0
  393. package/expr/index.d.ts +32 -0
  394. package/expr/index.d.ts.map +1 -0
  395. package/expr/index.js +30 -0
  396. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  397. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  398. package/gen/honua/v1/feature_service_pb.js +375 -0
  399. package/generated-app/errors.d.ts +41 -0
  400. package/generated-app/errors.d.ts.map +1 -0
  401. package/generated-app/errors.js +41 -0
  402. package/generated-app/index.d.ts +17 -0
  403. package/generated-app/index.d.ts.map +1 -0
  404. package/generated-app/index.js +12 -0
  405. package/generated-app/manifest.d.ts +183 -0
  406. package/generated-app/manifest.d.ts.map +1 -0
  407. package/generated-app/manifest.js +14 -0
  408. package/generated-app/projection.d.ts +44 -0
  409. package/generated-app/projection.d.ts.map +1 -0
  410. package/generated-app/projection.js +234 -0
  411. package/generated-app/runtime.d.ts +215 -0
  412. package/generated-app/runtime.d.ts.map +1 -0
  413. package/generated-app/runtime.js +1196 -0
  414. package/interactions/detail-model.d.ts +54 -0
  415. package/interactions/detail-model.d.ts.map +1 -0
  416. package/interactions/detail-model.js +105 -0
  417. package/interactions/exploration-bindings.d.ts +120 -0
  418. package/interactions/exploration-bindings.d.ts.map +1 -0
  419. package/interactions/exploration-bindings.js +218 -0
  420. package/interactions/feature-state.d.ts +144 -0
  421. package/interactions/feature-state.d.ts.map +1 -0
  422. package/interactions/feature-state.js +169 -0
  423. package/interactions/hit-test.d.ts +112 -0
  424. package/interactions/hit-test.d.ts.map +1 -0
  425. package/interactions/hit-test.js +291 -0
  426. package/interactions/index.d.ts +31 -0
  427. package/interactions/index.d.ts.map +1 -0
  428. package/interactions/index.js +24 -0
  429. package/interactions/share-state.d.ts +36 -0
  430. package/interactions/share-state.d.ts.map +1 -0
  431. package/interactions/share-state.js +123 -0
  432. package/map/feature-service-adapter.d.ts +138 -0
  433. package/map/feature-service-adapter.d.ts.map +1 -0
  434. package/map/feature-service-adapter.js +279 -0
  435. package/map/honua-map.d.ts +203 -0
  436. package/map/honua-map.d.ts.map +1 -0
  437. package/map/honua-map.js +347 -0
  438. package/map/index.d.ts +27 -0
  439. package/map/index.d.ts.map +1 -0
  440. package/map/index.js +22 -0
  441. package/map/maplibre-target.d.ts +103 -0
  442. package/map/maplibre-target.d.ts.map +1 -0
  443. package/map/maplibre-target.js +164 -0
  444. package/map/webmap-maplibre.d.ts +60 -0
  445. package/map/webmap-maplibre.d.ts.map +1 -0
  446. package/map/webmap-maplibre.js +212 -0
  447. package/package.json +37 -0
  448. package/react/context.d.ts +32 -0
  449. package/react/context.d.ts.map +1 -0
  450. package/react/context.js +19 -0
  451. package/react/honua-layer.d.ts +35 -0
  452. package/react/honua-layer.d.ts.map +1 -0
  453. package/react/honua-layer.js +47 -0
  454. package/react/honua-map.d.ts +83 -0
  455. package/react/honua-map.d.ts.map +1 -0
  456. package/react/honua-map.js +109 -0
  457. package/react/honua-popup.d.ts +26 -0
  458. package/react/honua-popup.d.ts.map +1 -0
  459. package/react/honua-popup.js +34 -0
  460. package/react/hooks.d.ts +127 -0
  461. package/react/hooks.d.ts.map +1 -0
  462. package/react/hooks.js +206 -0
  463. package/react/index.d.ts +42 -0
  464. package/react/index.d.ts.map +1 -0
  465. package/react/index.js +34 -0
  466. package/react/provider.d.ts +36 -0
  467. package/react/provider.d.ts.map +1 -0
  468. package/react/provider.js +35 -0
  469. package/react/query-cache.d.ts +76 -0
  470. package/react/query-cache.d.ts.map +1 -0
  471. package/react/query-cache.js +188 -0
  472. package/runtime/diff.d.ts +31 -0
  473. package/runtime/diff.d.ts.map +1 -0
  474. package/runtime/diff.js +143 -0
  475. package/runtime/errors.d.ts +40 -0
  476. package/runtime/errors.d.ts.map +1 -0
  477. package/runtime/errors.js +35 -0
  478. package/runtime/index.d.ts +59 -0
  479. package/runtime/index.d.ts.map +1 -0
  480. package/runtime/index.js +43 -0
  481. package/runtime/legend.d.ts +23 -0
  482. package/runtime/legend.d.ts.map +1 -0
  483. package/runtime/legend.js +38 -0
  484. package/runtime/load-package.d.ts +125 -0
  485. package/runtime/load-package.d.ts.map +1 -0
  486. package/runtime/load-package.js +264 -0
  487. package/runtime/map-package-fetch.d.ts +107 -0
  488. package/runtime/map-package-fetch.d.ts.map +1 -0
  489. package/runtime/map-package-fetch.js +336 -0
  490. package/runtime/map-package-realtime.d.ts +169 -0
  491. package/runtime/map-package-realtime.d.ts.map +1 -0
  492. package/runtime/map-package-realtime.js +350 -0
  493. package/runtime/map-package-validation.d.ts +43 -0
  494. package/runtime/map-package-validation.d.ts.map +1 -0
  495. package/runtime/map-package-validation.js +269 -0
  496. package/runtime/map-package-watch.d.ts +78 -0
  497. package/runtime/map-package-watch.d.ts.map +1 -0
  498. package/runtime/map-package-watch.js +695 -0
  499. package/runtime/map-package.d.ts +167 -0
  500. package/runtime/map-package.d.ts.map +1 -0
  501. package/runtime/map-package.js +15 -0
  502. package/runtime/ogc-styles.d.ts +110 -0
  503. package/runtime/ogc-styles.d.ts.map +1 -0
  504. package/runtime/ogc-styles.js +195 -0
  505. package/runtime/popups.d.ts +62 -0
  506. package/runtime/popups.d.ts.map +1 -0
  507. package/runtime/popups.js +95 -0
  508. package/runtime/query-tiles.d.ts +217 -0
  509. package/runtime/query-tiles.d.ts.map +1 -0
  510. package/runtime/query-tiles.js +801 -0
  511. package/runtime/runtime.d.ts +243 -0
  512. package/runtime/runtime.d.ts.map +1 -0
  513. package/runtime/runtime.js +1147 -0
  514. package/runtime/source-bridge.d.ts +99 -0
  515. package/runtime/source-bridge.d.ts.map +1 -0
  516. package/runtime/source-bridge.js +401 -0
  517. package/runtime/style-compose.d.ts +46 -0
  518. package/runtime/style-compose.d.ts.map +1 -0
  519. package/runtime/style-compose.js +144 -0
  520. package/runtime/style-interactions.d.ts +141 -0
  521. package/runtime/style-interactions.d.ts.map +1 -0
  522. package/runtime/style-interactions.js +574 -0
  523. package/runtime/style-spec-validation.d.ts +23 -0
  524. package/runtime/style-spec-validation.d.ts.map +1 -0
  525. package/runtime/style-spec-validation.js +357 -0
  526. package/studio/capability-manifest.d.ts +285 -0
  527. package/studio/capability-manifest.d.ts.map +1 -0
  528. package/studio/capability-manifest.js +59 -0
  529. package/studio/chart-spec.d.ts +85 -0
  530. package/studio/chart-spec.d.ts.map +1 -0
  531. package/studio/chart-spec.js +106 -0
  532. package/studio/index.d.ts +34 -0
  533. package/studio/index.d.ts.map +1 -0
  534. package/studio/index.js +27 -0
  535. package/studio/provenance.d.ts +131 -0
  536. package/studio/provenance.d.ts.map +1 -0
  537. package/studio/provenance.js +39 -0
  538. package/studio/publish.d.ts +64 -0
  539. package/studio/publish.d.ts.map +1 -0
  540. package/studio/publish.js +13 -0
  541. package/studio/types.d.ts +278 -0
  542. package/studio/types.d.ts.map +1 -0
  543. package/studio/types.js +71 -0
  544. package/studio/validate.d.ts +45 -0
  545. package/studio/validate.d.ts.map +1 -0
  546. package/studio/validate.js +255 -0
  547. package/studio/validation.d.ts +112 -0
  548. package/studio/validation.d.ts.map +1 -0
  549. package/studio/validation.js +42 -0
  550. package/style/factory.d.ts +30 -0
  551. package/style/factory.d.ts.map +1 -0
  552. package/style/factory.js +61 -0
  553. package/style/index.d.ts +25 -0
  554. package/style/index.d.ts.map +1 -0
  555. package/style/index.js +24 -0
  556. package/style/specification.d.ts +203 -0
  557. package/style/specification.d.ts.map +1 -0
  558. package/style/specification.js +178 -0
  559. package/style/wms-wmts-resolvers.d.ts +38 -0
  560. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  561. package/style/wms-wmts-resolvers.js +92 -0
  562. package/webmap/contract.d.ts +28 -0
  563. package/webmap/contract.d.ts.map +1 -0
  564. package/webmap/contract.js +130 -0
  565. package/webmap/convert-basemap.d.ts +17 -0
  566. package/webmap/convert-basemap.d.ts.map +1 -0
  567. package/webmap/convert-basemap.js +78 -0
  568. package/webmap/convert-extent.d.ts +17 -0
  569. package/webmap/convert-extent.d.ts.map +1 -0
  570. package/webmap/convert-extent.js +114 -0
  571. package/webmap/convert-label.d.ts +13 -0
  572. package/webmap/convert-label.d.ts.map +1 -0
  573. package/webmap/convert-label.js +125 -0
  574. package/webmap/convert-layer.d.ts +22 -0
  575. package/webmap/convert-layer.d.ts.map +1 -0
  576. package/webmap/convert-layer.js +181 -0
  577. package/webmap/convert-popup.d.ts +34 -0
  578. package/webmap/convert-popup.d.ts.map +1 -0
  579. package/webmap/convert-popup.js +68 -0
  580. package/webmap/convert-renderer.d.ts +17 -0
  581. package/webmap/convert-renderer.d.ts.map +1 -0
  582. package/webmap/convert-renderer.js +161 -0
  583. package/webmap/convert-symbol.d.ts +17 -0
  584. package/webmap/convert-symbol.d.ts.map +1 -0
  585. package/webmap/convert-symbol.js +122 -0
  586. package/webmap/index.d.ts +44 -0
  587. package/webmap/index.d.ts.map +1 -0
  588. package/webmap/index.js +33 -0
  589. package/webmap/parse.d.ts +25 -0
  590. package/webmap/parse.d.ts.map +1 -0
  591. package/webmap/parse.js +83 -0
  592. package/webmap/types.d.ts +264 -0
  593. package/webmap/types.d.ts.map +1 -0
  594. package/webmap/types.js +13 -0
  595. package/webmap/warnings.d.ts +30 -0
  596. package/webmap/warnings.d.ts.map +1 -0
  597. package/webmap/warnings.js +37 -0
@@ -0,0 +1,143 @@
1
+ /**
2
+ * Diff primitives for incremental `updatePackage` application.
3
+ *
4
+ * The runtime uses stable IDs (`sourceId`, `layer.id`) as the diff key
5
+ * and falls back to a full `map.setStyle` only when structural change
6
+ * makes incremental patching unsafe (e.g. layer reorder, mapSpec version
7
+ * mismatch, source type change).
8
+ *
9
+ * @module
10
+ */
11
+ export function diffPackages(previous, next) {
12
+ const prevBindings = new Map(previous.sourceBindings.map((b) => [b.sourceId, b]));
13
+ const nextBindings = new Map(next.sourceBindings.map((b) => [b.sourceId, b]));
14
+ const addedSourceBindings = [];
15
+ const removedSourceIds = [];
16
+ const changedSourceIds = [];
17
+ for (const [id, binding] of nextBindings) {
18
+ if (!prevBindings.has(id))
19
+ addedSourceBindings.push(binding);
20
+ else if (!sameBinding(prevBindings.get(id), binding))
21
+ changedSourceIds.push(id);
22
+ }
23
+ for (const id of prevBindings.keys()) {
24
+ if (!nextBindings.has(id))
25
+ removedSourceIds.push(id);
26
+ }
27
+ const prevLayers = new Map(previous.mapSpec.layers.map((l) => [l.id, l]));
28
+ const nextLayers = new Map(next.mapSpec.layers.map((l) => [l.id, l]));
29
+ const addedLayerIds = [];
30
+ const removedLayerIds = [];
31
+ const changedLayerIds = [];
32
+ for (const [id, layer] of nextLayers) {
33
+ if (!prevLayers.has(id))
34
+ addedLayerIds.push(id);
35
+ else if (!sameLayer(prevLayers.get(id), layer))
36
+ changedLayerIds.push(id);
37
+ }
38
+ for (const id of prevLayers.keys()) {
39
+ if (!nextLayers.has(id))
40
+ removedLayerIds.push(id);
41
+ }
42
+ const styleStructuralReason = detectStructuralChange(previous.mapSpec, next.mapSpec);
43
+ const sourceStructuralReason = detectSourceBindingChange(addedSourceBindings, removedSourceIds, changedSourceIds);
44
+ const structuralReason = styleStructuralReason ?? sourceStructuralReason;
45
+ return {
46
+ addedSourceBindings,
47
+ removedSourceIds,
48
+ changedSourceIds,
49
+ addedLayerIds,
50
+ removedLayerIds,
51
+ changedLayerIds,
52
+ incremental: structuralReason === undefined,
53
+ structuralReason,
54
+ };
55
+ }
56
+ function detectSourceBindingChange(added, removed, changed) {
57
+ if (added.length > 0)
58
+ return "source bindings added";
59
+ if (removed.length > 0)
60
+ return "source bindings removed";
61
+ if (changed.length > 0)
62
+ return "source bindings changed";
63
+ return undefined;
64
+ }
65
+ function sameBinding(a, b) {
66
+ if (a.protocol !== b.protocol)
67
+ return false;
68
+ if ((a.filter ?? "") !== (b.filter ?? ""))
69
+ return false;
70
+ if ((a.attribution ?? "") !== (b.attribution ?? ""))
71
+ return false;
72
+ return shallowEqual(a.locator, b.locator);
73
+ }
74
+ function sameLayer(a, b) {
75
+ if (a.type !== b.type)
76
+ return false;
77
+ if ((a.source ?? "") !== (b.source ?? ""))
78
+ return false;
79
+ if (a["source-layer"] !== b["source-layer"])
80
+ return false;
81
+ if (!stableEqual(a.paint, b.paint))
82
+ return false;
83
+ if (!stableEqual(a.layout, b.layout))
84
+ return false;
85
+ if (!stableEqual(a.filter, b.filter))
86
+ return false;
87
+ if (a.minzoom !== b.minzoom)
88
+ return false;
89
+ if (a.maxzoom !== b.maxzoom)
90
+ return false;
91
+ return true;
92
+ }
93
+ function detectStructuralChange(prev, next) {
94
+ if (prev.version !== next.version)
95
+ return "mapSpec.version changed";
96
+ const prevSourceIds = Object.keys(prev.sources).sort();
97
+ const nextSourceIds = Object.keys(next.sources).sort();
98
+ if (prevSourceIds.length !== nextSourceIds.length)
99
+ return "mapSpec source set changed";
100
+ for (let i = 0; i < prevSourceIds.length; i++) {
101
+ if (prevSourceIds[i] !== nextSourceIds[i])
102
+ return "mapSpec source set changed";
103
+ }
104
+ for (const sourceId of prevSourceIds) {
105
+ if (!stableEqual(prev.sources[sourceId], next.sources[sourceId])) {
106
+ return `mapSpec source "${sourceId}" changed`;
107
+ }
108
+ }
109
+ const prevIds = prev.layers.map((l) => l.id);
110
+ const nextIds = next.layers.map((l) => l.id);
111
+ if (prevIds.length !== nextIds.length || prevIds.some((id) => !nextIds.includes(id))) {
112
+ return "layer set changed";
113
+ }
114
+ const commonPrev = prevIds.filter((id) => nextIds.includes(id));
115
+ const commonNext = nextIds.filter((id) => prevIds.includes(id));
116
+ for (let i = 0; i < commonPrev.length; i++) {
117
+ if (commonPrev[i] !== commonNext[i])
118
+ return "layer order changed";
119
+ }
120
+ return undefined;
121
+ }
122
+ function stableEqual(a, b) {
123
+ if (a === b)
124
+ return true;
125
+ if (a === undefined || b === undefined)
126
+ return a === b;
127
+ try {
128
+ return JSON.stringify(a) === JSON.stringify(b);
129
+ }
130
+ catch {
131
+ return false;
132
+ }
133
+ }
134
+ function shallowEqual(a, b) {
135
+ const ak = Object.keys(a);
136
+ const bk = Object.keys(b);
137
+ if (ak.length !== bk.length)
138
+ return false;
139
+ for (const k of ak)
140
+ if (a[k] !== b[k])
141
+ return false;
142
+ return true;
143
+ }
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Runtime-specific error surface. Other Honua SDK errors
3
+ * (`HonuaCapabilityNotSupportedError`, `HonuaHttpError`, etc.) bubble
4
+ * through unchanged; this class wraps only the runtime-binding failures
5
+ * so callers can discriminate stage of failure.
6
+ *
7
+ * @module
8
+ */
9
+ /**
10
+ * Stage of the runtime pipeline a failure occurred in. Keeping this as a
11
+ * string union lets callers switch on it without a dependency on the
12
+ * error class itself.
13
+ */
14
+ export type HonuaMapPackageErrorStage = "fetch" | "load" | "validate" | "update" | "style-compose" | "source-bind" | "view" | "popup" | "dispose";
15
+ /**
16
+ * Thrown for runtime-level binding failures. Per-source / per-request
17
+ * protocol failures keep their existing error classes
18
+ * (`HonuaCapabilityNotSupportedError`, `HonuaHttpError`) and surface on
19
+ * the per-`Source` promises from `runtime.dataset` and through the
20
+ * shared `HonuaClient` interceptor chain. The `source-error` event on
21
+ * `HonuaRuntimeEvent` is the canonical observable for per-source
22
+ * failures: the loader emits it for tolerant bind-time failures
23
+ * (`sourceErrorPolicy: "tolerant"`, the default) and
24
+ * `HonuaMapRuntime.reportSourceError` emits the same event for
25
+ * query-time rejections forwarded by mixed-source consumers — see
26
+ * `docs/composition.md`.
27
+ */
28
+ export declare class HonuaMapPackageError extends Error {
29
+ readonly packageId: string | undefined;
30
+ readonly stage: HonuaMapPackageErrorStage;
31
+ readonly detail: unknown;
32
+ readonly cause: unknown;
33
+ constructor(message: string, options: {
34
+ packageId?: string;
35
+ stage: HonuaMapPackageErrorStage;
36
+ detail?: unknown;
37
+ cause?: unknown;
38
+ });
39
+ }
40
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/runtime/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GACjC,OAAO,GACP,MAAM,GACN,UAAU,GACV,QAAQ,GACR,eAAe,GACf,aAAa,GACb,MAAM,GACN,OAAO,GACP,SAAS,CAAC;AAEd;;;;;;;;;;;;GAYG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAgB,KAAK,EAAE,yBAAyB,CAAC;IACjD,SAAgB,MAAM,EAAE,OAAO,CAAC;IAChC,SAAyB,KAAK,EAAE,OAAO,CAAC;gBAGtC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,yBAAyB,CAAC;QACjC,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB;CASJ"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Runtime-specific error surface. Other Honua SDK errors
3
+ * (`HonuaCapabilityNotSupportedError`, `HonuaHttpError`, etc.) bubble
4
+ * through unchanged; this class wraps only the runtime-binding failures
5
+ * so callers can discriminate stage of failure.
6
+ *
7
+ * @module
8
+ */
9
+ /**
10
+ * Thrown for runtime-level binding failures. Per-source / per-request
11
+ * protocol failures keep their existing error classes
12
+ * (`HonuaCapabilityNotSupportedError`, `HonuaHttpError`) and surface on
13
+ * the per-`Source` promises from `runtime.dataset` and through the
14
+ * shared `HonuaClient` interceptor chain. The `source-error` event on
15
+ * `HonuaRuntimeEvent` is the canonical observable for per-source
16
+ * failures: the loader emits it for tolerant bind-time failures
17
+ * (`sourceErrorPolicy: "tolerant"`, the default) and
18
+ * `HonuaMapRuntime.reportSourceError` emits the same event for
19
+ * query-time rejections forwarded by mixed-source consumers — see
20
+ * `docs/composition.md`.
21
+ */
22
+ export class HonuaMapPackageError extends Error {
23
+ packageId;
24
+ stage;
25
+ detail;
26
+ cause;
27
+ constructor(message, options) {
28
+ super(message);
29
+ this.name = "HonuaMapPackageError";
30
+ this.packageId = options.packageId;
31
+ this.stage = options.stage;
32
+ this.detail = options.detail;
33
+ this.cause = options.cause;
34
+ }
35
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * `@honua/sdk-js/runtime` — MapLibre GL JS-first runtime for Honua
3
+ * `MapPackage`. Consumes a server-produced `MapPackage` and binds it to
4
+ * a caller-provided `MaplibreMap` instance.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { HonuaClient } from "@honua/sdk-js";
9
+ * import { loadMapPackage } from "@honua/sdk-js/runtime";
10
+ * import maplibregl from "maplibre-gl";
11
+ *
12
+ * const map = new maplibregl.Map({ container: "map" });
13
+ * const runtime = await loadMapPackage(pkg, map, {
14
+ * client: new HonuaClient({ baseUrl: "https://honua.example.com" }),
15
+ * popupFactory: () => new maplibregl.Popup(),
16
+ * });
17
+ * runtime.setLayerVisibility("parcels-fill", false);
18
+ * await runtime.updatePackage(nextPkg);
19
+ * ```
20
+ *
21
+ * @packageDocumentation
22
+ */
23
+ export { loadMapPackage } from "./load-package.js";
24
+ export type { LoadMapPackageOptions, SourceErrorPolicy } from "./load-package.js";
25
+ export { BoundedMapPackageFetchCache, DEFAULT_MAP_PACKAGE_CACHE_LIMIT, DEFAULT_MAP_PACKAGE_PATH_PREFIX, defaultMapPackagePath, fetchMapPackage, loadMapPackageFromId, mapPackageFingerprint, resolveMapPackagePath, } from "./map-package-fetch.js";
26
+ export type { FetchMapPackageOptions, FetchMapPackageResult, LoadMapPackageFromIdOptions, LoadMapPackageFromIdResult, MapPackageFetchCache, MapPackageFetchCacheEntry, MapPackageFetchCacheState, MapPackageFetchCacheStatus, MapPackageLocator, MapPackagePathResolver, } from "./map-package-fetch.js";
27
+ export { MAP_PACKAGE_REALTIME_CHANNEL_V1, createMapPackageServerSentEventsTransport, decodeMapPackageRealtimeMessage, encodeMapPackageRealtimeUrl, readMapPackageRealtimeAdvertisement, } from "./map-package-realtime.js";
28
+ export type { MapPackageRealtimeAdvertisement, MapPackageRealtimeAuth, MapPackageRealtimeChannel, MapPackageRealtimeCheckpoint, MapPackageRealtimeDisconnectedMessage, MapPackageRealtimeErrorMessage, MapPackageRealtimeEventSource, MapPackageRealtimeEventSourceFactory, MapPackageRealtimeFallbackMode, MapPackageRealtimeHeartbeatMessage, MapPackageRealtimeMessage, MapPackageRealtimeMessageBase, MapPackageRealtimeObserver, MapPackageRealtimeReadyMessage, MapPackageRealtimeReconnectOptions, MapPackageRealtimeRefetchRequiredMessage, MapPackageRealtimeReloadRequiredMessage, MapPackageRealtimeStaleMessage, MapPackageRealtimeSubscribeRequest, MapPackageRealtimeSubscriptionHandle, MapPackageRealtimeTransport, MapPackageRealtimeTransportKind, MapPackageRealtimeUpdate, MapPackageRealtimeUpdatedMessage, MapPackageRealtimeWatchOptions, MapPackageServerSentEventsTransportOptions, } from "./map-package-realtime.js";
29
+ export { watchMapPackage } from "./map-package-watch.js";
30
+ export type { MapPackageWatchEvent, MapPackageWatchHandle, WatchMapPackageOptions } from "./map-package-watch.js";
31
+ export { hasMapPackageDiagnosticErrors, validateMapPackage } from "./map-package-validation.js";
32
+ export type { HonuaMapPackageDiagnostic, HonuaMapPackageDiagnosticCode, HonuaMapPackageDiagnosticSeverity, ValidateMapPackageOptions, ValidateMapPackageResult, } from "./map-package-validation.js";
33
+ export { fromMapPackageValidation, toStudioValidationResponse } from "./map-package-validation.js";
34
+ export type { StudioPackageDiagnostic, StudioPackageDiagnosticSeverity, StudioPackageValidationResponse, } from "./map-package-validation.js";
35
+ export { HonuaMapRuntime } from "./runtime.js";
36
+ export type { HonuaMapRuntimeInternals, HonuaMapRuntimeReload, HonuaRuntimeEvent, HonuaRuntimeEventListener, HonuaRuntimeTelemetry, HonuaRuntimeTelemetrySpan, HonuaRuntimeTelemetrySpanResult, MaplibreMap, RuntimeHitTestOptions, RuntimePointerInteractionHandler, RuntimePointerInteractionOptions, SetViewStateInput, } from "./runtime.js";
37
+ export { HONUA_MAP_PACKAGE_FORMAT_V1 } from "./map-package.js";
38
+ export type { HonuaMapPackage, HonuaMapPackageFormat, HonuaMapPackageInitialView, HonuaMapPackageLabelBinding, HonuaMapPackageLegendEntry, HonuaMapPackageLocator, HonuaMapPackagePopupBinding, HonuaMapPackageProtocol, HonuaMapPackageSourceBinding, HonuaMapPackageStatus, HonuaMapPackageStyleRef, HonuaMapPackageThemeSpec, HonuaStyleRefBody, HonuaStyleRefLayerOverride, } from "./map-package.js";
39
+ export { HonuaMapPackageError } from "./errors.js";
40
+ export type { HonuaMapPackageErrorStage } from "./errors.js";
41
+ export { buildLegend } from "./legend.js";
42
+ export type { LegendEntry } from "./legend.js";
43
+ export { bindPopup, defaultPopupRenderer } from "./popups.js";
44
+ export type { BindPopupOptions, PopupBindingHandle, PopupFactory, PopupFeature, PopupHandle, PopupRenderContext, PopupRenderer, } from "./popups.js";
45
+ export { applyStyleRefs, applyTheme, composeStyle } from "./style-compose.js";
46
+ export type { StyleComposeOptions, StyleRefResolver, ThemeResolver } from "./style-compose.js";
47
+ export { DEFAULT_OGC_STYLES_PATH_PREFIX, MAPLIBRE_STYLE_MEDIA_TYPE, OgcStylesClient, createOgcStyleRefResolver, styleDocumentToRefBody, } from "./ogc-styles.js";
48
+ export type { OgcStyleLink, OgcStyleList, OgcStyleListEntry, OgcStyleRefResolverOptions, OgcStylesClientOptions, OgcStylesRequestOptions, } from "./ogc-styles.js";
49
+ export { prepareRuntimeStyleSpecValidation, validateRuntimeFilterStyleSpec, validateRuntimeLayerStyleSpec, validateRuntimeSourceStyleSpec, validateRuntimeStyleExpressionStyleSpec, validateRuntimeStyleSpec, } from "./style-spec-validation.js";
50
+ export type { RuntimeStyleSpecValidationMode, RuntimeStyleSpecValidationOptions } from "./style-spec-validation.js";
51
+ export { buildWmsRasterSourceSpec, buildWmtsRasterSourceSpec, projectSourceBindings, toHonuaSourceSpec, } from "./source-bridge.js";
52
+ export type { NativeMapLibreSourceEntry, SourceBridgeProjection } from "./source-bridge.js";
53
+ export { QueryTileRequestController, buildMapLibreQueryTileSourceSpec, buildQueryTileJson, buildQueryTileUrl, buildQueryTileUrlTemplate, createQueryTileRequestController, diagnoseQueryTileSourceSupport, fetchQueryTileFeatureDetail, fetchQueryTileJson, queryTilesForViewport, QueryTileServerResponseError, } from "./query-tiles.js";
54
+ export type { FetchQueryTileFeatureDetailOptions, FetchQueryTileJsonOptions, MapLibreQueryTileSourceSpec, QueryTileFeatureDetailFetchResult, QueryTileCacheSnapshot, QueryTileDiagnostic, QueryTileDiagnosticCode, QueryTileDiagnosticSeverity, QueryTileFetcher, QueryTileJsonFetchResult, QueryTileLifecycleEvent, QueryTileLifecycleListener, QueryTileRequest, QueryTileRequestControllerOptions, QueryTileRequestTileOptions, QueryTileServerFetch, QueryTileServerFetchOptions, QueryTileSourceSpecOptions, QueryTileUrlTemplateOptions, QueryTileViewport, QueryTileViewportRequestOptions, QueryTileViewportRequestResult, } from "./query-tiles.js";
55
+ export { diffPackages } from "./diff.js";
56
+ export type { MapPackageDiff } from "./diff.js";
57
+ export { HonuaRuntimeDiagnosticError, featureStateTargetFromSelection, featureStateTargetKey, featureTargetForLayer, materializeRuntimeLayer, materializeRuntimeSource, materializeStyleValue, protocolForSource, rendererRuntimeDiagnosticError, resolveFeatureIdFromEventFeature, resolveRuntimeBeforeId, selectionTargetForLayer, sourceContextForLayer, throwRuntimeDiagnostics, validateRuntimeFilterExpression, validateRuntimeLayer, validateRuntimeSource, validateRuntimeStyleExpression, } from "./style-interactions.js";
58
+ export type { HonuaRuntimeDiagnostic, HonuaRuntimeDiagnosticSeverity, NativeMapLibreSourceSpecification, RuntimeClickInteractionHandler, RuntimeClickInteractionOptions, RuntimeExplorationSelectionOptions, RuntimeFeatureInteractionEvent, RuntimeFeatureStateTarget, RuntimeFilterExpression, RuntimeHoverInteractionOptions, RuntimeLayerOrder, RuntimeLayerOrderOptions, RuntimeLayerSpecification, RuntimeLayerUpdate, RuntimeLayoutSpecification, RuntimePaintSpecification, RuntimeSelectionInteractionOptions, RuntimeSourceSpecification, RuntimeStyleValue, } from "./style-interactions.js";
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAElF,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,+BAA+B,EAC/B,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,2BAA2B,EAC3B,0BAA0B,EAC1B,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,+BAA+B,EAC/B,yCAAyC,EACzC,+BAA+B,EAC/B,2BAA2B,EAC3B,mCAAmC,GACpC,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,+BAA+B,EAC/B,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC5B,qCAAqC,EACrC,8BAA8B,EAC9B,6BAA6B,EAC7B,oCAAoC,EACpC,8BAA8B,EAC9B,kCAAkC,EAClC,yBAAyB,EACzB,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,EAC9B,kCAAkC,EAClC,wCAAwC,EACxC,uCAAuC,EACvC,8BAA8B,EAC9B,kCAAkC,EAClC,oCAAoC,EACpC,2BAA2B,EAC3B,+BAA+B,EAC/B,wBAAwB,EACxB,gCAAgC,EAChC,8BAA8B,EAC9B,0CAA0C,GAC3C,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,YAAY,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAElH,OAAO,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAChG,YAAY,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,iCAAiC,EACjC,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACnG,YAAY,EACV,uBAAuB,EACvB,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EACV,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,yBAAyB,EACzB,+BAA+B,EAC/B,WAAW,EACX,qBAAqB,EACrB,gCAAgC,EAChC,gCAAgC,EAChC,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC/D,YAAY,EACV,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAC9D,YAAY,EACV,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC9E,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE/F,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,eAAe,EACf,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,iCAAiC,EACjC,8BAA8B,EAC9B,6BAA6B,EAC7B,8BAA8B,EAC9B,uCAAuC,EACvC,wBAAwB,GACzB,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,8BAA8B,EAAE,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;AAEpH,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAE5F,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,kBAAkB,EAClB,iBAAiB,EACjB,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,EAC9B,2BAA2B,EAC3B,kBAAkB,EAClB,qBAAqB,EACrB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAC1B,YAAY,EACV,kCAAkC,EAClC,yBAAyB,EACzB,2BAA2B,EAC3B,iCAAiC,EACjC,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,gBAAgB,EAChB,iCAAiC,EACjC,2BAA2B,EAC3B,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EACjB,+BAA+B,EAC/B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,iBAAiB,EACjB,8BAA8B,EAC9B,gCAAgC,EAChC,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,uBAAuB,EACvB,+BAA+B,EAC/B,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,sBAAsB,EACtB,8BAA8B,EAC9B,iCAAiC,EACjC,8BAA8B,EAC9B,8BAA8B,EAC9B,kCAAkC,EAClC,8BAA8B,EAC9B,yBAAyB,EACzB,uBAAuB,EACvB,8BAA8B,EAC9B,iBAAiB,EACjB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,0BAA0B,EAC1B,yBAAyB,EACzB,kCAAkC,EAClC,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,yBAAyB,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * `@honua/sdk-js/runtime` — MapLibre GL JS-first runtime for Honua
3
+ * `MapPackage`. Consumes a server-produced `MapPackage` and binds it to
4
+ * a caller-provided `MaplibreMap` instance.
5
+ *
6
+ * @example
7
+ * ```ts
8
+ * import { HonuaClient } from "@honua/sdk-js";
9
+ * import { loadMapPackage } from "@honua/sdk-js/runtime";
10
+ * import maplibregl from "maplibre-gl";
11
+ *
12
+ * const map = new maplibregl.Map({ container: "map" });
13
+ * const runtime = await loadMapPackage(pkg, map, {
14
+ * client: new HonuaClient({ baseUrl: "https://honua.example.com" }),
15
+ * popupFactory: () => new maplibregl.Popup(),
16
+ * });
17
+ * runtime.setLayerVisibility("parcels-fill", false);
18
+ * await runtime.updatePackage(nextPkg);
19
+ * ```
20
+ *
21
+ * @packageDocumentation
22
+ */
23
+ export { loadMapPackage } from "./load-package.js";
24
+ export { BoundedMapPackageFetchCache, DEFAULT_MAP_PACKAGE_CACHE_LIMIT, DEFAULT_MAP_PACKAGE_PATH_PREFIX, defaultMapPackagePath, fetchMapPackage, loadMapPackageFromId, mapPackageFingerprint, resolveMapPackagePath, } from "./map-package-fetch.js";
25
+ export { MAP_PACKAGE_REALTIME_CHANNEL_V1, createMapPackageServerSentEventsTransport, decodeMapPackageRealtimeMessage, encodeMapPackageRealtimeUrl, readMapPackageRealtimeAdvertisement, } from "./map-package-realtime.js";
26
+ export { watchMapPackage } from "./map-package-watch.js";
27
+ export { hasMapPackageDiagnosticErrors, validateMapPackage } from "./map-package-validation.js";
28
+ // Experimental bridge to the unified Studio validation envelope. Reachable
29
+ // from the same path map-package consumers already use; the full Studio
30
+ // contract lives at `@honua/sdk-js/studio`.
31
+ export { fromMapPackageValidation, toStudioValidationResponse } from "./map-package-validation.js";
32
+ export { HonuaMapRuntime } from "./runtime.js";
33
+ export { HONUA_MAP_PACKAGE_FORMAT_V1 } from "./map-package.js";
34
+ export { HonuaMapPackageError } from "./errors.js";
35
+ export { buildLegend } from "./legend.js";
36
+ export { bindPopup, defaultPopupRenderer } from "./popups.js";
37
+ export { applyStyleRefs, applyTheme, composeStyle } from "./style-compose.js";
38
+ export { DEFAULT_OGC_STYLES_PATH_PREFIX, MAPLIBRE_STYLE_MEDIA_TYPE, OgcStylesClient, createOgcStyleRefResolver, styleDocumentToRefBody, } from "./ogc-styles.js";
39
+ export { prepareRuntimeStyleSpecValidation, validateRuntimeFilterStyleSpec, validateRuntimeLayerStyleSpec, validateRuntimeSourceStyleSpec, validateRuntimeStyleExpressionStyleSpec, validateRuntimeStyleSpec, } from "./style-spec-validation.js";
40
+ export { buildWmsRasterSourceSpec, buildWmtsRasterSourceSpec, projectSourceBindings, toHonuaSourceSpec, } from "./source-bridge.js";
41
+ export { QueryTileRequestController, buildMapLibreQueryTileSourceSpec, buildQueryTileJson, buildQueryTileUrl, buildQueryTileUrlTemplate, createQueryTileRequestController, diagnoseQueryTileSourceSupport, fetchQueryTileFeatureDetail, fetchQueryTileJson, queryTilesForViewport, QueryTileServerResponseError, } from "./query-tiles.js";
42
+ export { diffPackages } from "./diff.js";
43
+ export { HonuaRuntimeDiagnosticError, featureStateTargetFromSelection, featureStateTargetKey, featureTargetForLayer, materializeRuntimeLayer, materializeRuntimeSource, materializeStyleValue, protocolForSource, rendererRuntimeDiagnosticError, resolveFeatureIdFromEventFeature, resolveRuntimeBeforeId, selectionTargetForLayer, sourceContextForLayer, throwRuntimeDiagnostics, validateRuntimeFilterExpression, validateRuntimeLayer, validateRuntimeSource, validateRuntimeStyleExpression, } from "./style-interactions.js";
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Legend helpers. The runtime surfaces a `LegendEntry[]` derived from
3
+ * `MapPackage.legend[]` (authoritative) with optional swatches pulled
4
+ * from the composed style for layers that did not supply an explicit
5
+ * color.
6
+ *
7
+ * @module
8
+ */
9
+ import type { HonuaStyleSpecification } from "../style/specification.js";
10
+ import type { HonuaMapPackageLegendEntry } from "./map-package.js";
11
+ /** Runtime-facing legend entry. */
12
+ export interface LegendEntry {
13
+ /** Stable id for UI list keys. Derived from label when absent. */
14
+ id: string;
15
+ label: string;
16
+ color?: string;
17
+ minValue?: number;
18
+ maxValue?: number;
19
+ iconUrl?: string;
20
+ }
21
+ /** Build a legend list from the package entries, backfilling colors from the style when possible. */
22
+ export declare function buildLegend(packageEntries: readonly HonuaMapPackageLegendEntry[] | undefined, style: HonuaStyleSpecification): LegendEntry[];
23
+ //# sourceMappingURL=legend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legend.d.ts","sourceRoot":"","sources":["../../../src/runtime/legend.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAEnE,mCAAmC;AACnC,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qGAAqG;AACrG,wBAAgB,WAAW,CACzB,cAAc,EAAE,SAAS,0BAA0B,EAAE,GAAG,SAAS,EACjE,KAAK,EAAE,uBAAuB,GAC7B,WAAW,EAAE,CAYf"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Legend helpers. The runtime surfaces a `LegendEntry[]` derived from
3
+ * `MapPackage.legend[]` (authoritative) with optional swatches pulled
4
+ * from the composed style for layers that did not supply an explicit
5
+ * color.
6
+ *
7
+ * @module
8
+ */
9
+ import { trimChar } from "../core/path-utils.js";
10
+ /** Build a legend list from the package entries, backfilling colors from the style when possible. */
11
+ export function buildLegend(packageEntries, style) {
12
+ const entries = packageEntries ?? [];
13
+ const fallbackColors = collectFirstFillColors(style);
14
+ return entries.map((entry, index) => ({
15
+ id: legendEntryId(entry, index),
16
+ label: entry.label,
17
+ color: entry.color ?? fallbackColors[index],
18
+ ...(entry.minValue !== undefined ? { minValue: entry.minValue } : {}),
19
+ ...(entry.maxValue !== undefined ? { maxValue: entry.maxValue } : {}),
20
+ ...(entry.iconUrl !== undefined ? { iconUrl: entry.iconUrl } : {}),
21
+ }));
22
+ }
23
+ function legendEntryId(entry, index) {
24
+ const slug = trimChar(entry.label
25
+ .trim()
26
+ .toLowerCase()
27
+ .replace(/[^a-z0-9]+/g, "-"), "-");
28
+ return slug ? `${slug}-${index}` : `legend-${index}`;
29
+ }
30
+ function collectFirstFillColors(style) {
31
+ const colors = [];
32
+ for (const layer of style.layers) {
33
+ const paint = layer.paint ?? {};
34
+ const value = (paint["fill-color"] ?? paint["circle-color"] ?? paint["line-color"]);
35
+ colors.push(typeof value === "string" ? value : undefined);
36
+ }
37
+ return colors;
38
+ }
@@ -0,0 +1,125 @@
1
+ /**
2
+ * `loadMapPackage` — the first-class entry point that turns a server
3
+ * `MapPackage` into a running MapLibre GL JS map. The caller owns the
4
+ * `MaplibreMap` instance (peer dependency); the runtime composes the
5
+ * style, resolves bindings through the shared contract, and hands the
6
+ * composed style to `map.setStyle`.
7
+ *
8
+ * @module
9
+ */
10
+ import { type SourceResolver } from "../contract/index.js";
11
+ import type { HonuaClient } from "../core/client.js";
12
+ import { type HonuaMapPackage } from "./map-package.js";
13
+ import type { PopupFactory, PopupRenderer } from "./popups.js";
14
+ import { HonuaMapRuntime, type HonuaRuntimeEventListener, type HonuaRuntimeTelemetry, type MaplibreMap } from "./runtime.js";
15
+ import { type StyleRefResolver, type ThemeResolver } from "./style-compose.js";
16
+ import type { RuntimeStyleSpecValidationMode } from "./style-spec-validation.js";
17
+ /**
18
+ * How `loadMapPackage` reacts when a single protocol-backed source
19
+ * binding fails to project / build a Honua source spec. Defaults to
20
+ * `"tolerant"` because the entire point of mixed-protocol composition is
21
+ * that one bad source should not break the rest of the map.
22
+ *
23
+ * Per-source binding failures still surface loudly under `"tolerant"`:
24
+ *
25
+ * - the runtime emits a `{ type: "source-error", sourceId, error }`
26
+ * event,
27
+ * - {@link HonuaRuntimeTelemetry.error} receives a `source-bind` span,
28
+ * - layers whose `source` references a failed source are dropped from
29
+ * the composed style so MapLibre does not throw on a missing source.
30
+ *
31
+ * `"fail-fast"` preserves the historical single-source behaviour: any
32
+ * per-source binding failure rejects the load with
33
+ * `HonuaMapPackageError({ stage: "source-bind" })`. Configuration-level
34
+ * binding errors (unknown protocol, missing locator, duplicate id,
35
+ * deferred `workspace_artifact`) raised by `projectSourceBindings`
36
+ * always fail-fast under either policy — those are operator errors that
37
+ * must be fixed.
38
+ */
39
+ export type SourceErrorPolicy = "tolerant" | "fail-fast";
40
+ export interface LoadMapPackageOptions {
41
+ /** Active `HonuaClient`; used for protocol adapter binding. */
42
+ client: HonuaClient;
43
+ /**
44
+ * Out-of-band style-ref body resolver. Only called when the ref has no
45
+ * inline body. When omitted, the runtime defaults to resolving
46
+ * `styleRefs.styleId` against the server's OGC API – Styles surface
47
+ * (`GET /ogc/styles/{styleId}`, content-negotiated MapLibre) via
48
+ * {@link createOgcStyleRefResolver}, so the JS identifier matches the
49
+ * server's canonical styleId. Pass a callback to override that path
50
+ * (back-compat), or set {@link disableDefaultStyleRefResolver} to skip it.
51
+ */
52
+ resolveStyleRef?: StyleRefResolver;
53
+ /**
54
+ * Disable the default `/ogc/styles` StyleRef resolver. When true and no
55
+ * {@link resolveStyleRef} callback is supplied, style refs without an
56
+ * inline body are left unresolved (composition then errors on them).
57
+ */
58
+ disableDefaultStyleRefResolver?: boolean;
59
+ /** Out-of-band theme resolver. Only called when `pkg.theme` is absent and `pkg.themeId` is set. */
60
+ resolveTheme?: ThemeResolver;
61
+ /**
62
+ * Resolver passed to `createDataset` for adapters the built-in set
63
+ * (`geoservices-*`, `ogc-features`) does not cover — typically the
64
+ * WFS/WMS/OData/tile-layer adapters contributed by `#24`–`#28`.
65
+ */
66
+ resolveSource?: SourceResolver;
67
+ /** Skip `client.checkCompatibility()` — useful in tests and conformance fixtures. */
68
+ skipCompatibilityCheck?: boolean;
69
+ /** Telemetry collector; wired through the `HonuaClient` interceptor chain. */
70
+ telemetry?: HonuaRuntimeTelemetry;
71
+ /** Optional popup factory; required only if the caller calls `runtime.bindPopup`. */
72
+ popupFactory?: PopupFactory;
73
+ /** Optional popup renderer; defaults to an unstyled `<dl>` of feature properties. */
74
+ popupRenderer?: PopupRenderer;
75
+ /**
76
+ * When true, apply `pkg.initialView` to the map immediately after load.
77
+ * Defaults to `true`.
78
+ */
79
+ applyInitialView?: boolean;
80
+ /**
81
+ * Listener registered on the runtime **before** the first
82
+ * `source-ready` / `package-loaded` emissions so callers can observe
83
+ * the initial lifecycle without race-binding through
84
+ * `runtime.on(...)`. Equivalent to calling `runtime.on(listener)`
85
+ * immediately after construction. Subsequent events (updatePackage,
86
+ * disposed, …) also flow through this listener.
87
+ */
88
+ onEvent?: HonuaRuntimeEventListener;
89
+ /**
90
+ * Per-source binding error policy. Defaults to `"tolerant"`: a single
91
+ * source failing to bind (resolver throws, `toHonuaSourceSpec` throws,
92
+ * `dataset.source(id)` throws) does not abort the whole package load.
93
+ * Failed sources surface via `source-error` events and the
94
+ * {@link HonuaRuntimeTelemetry.error} hook; remaining sources continue
95
+ * to render. Pass `"fail-fast"` to reject the load on any per-source
96
+ * binding failure (the historical single-source behaviour).
97
+ */
98
+ sourceErrorPolicy?: SourceErrorPolicy;
99
+ /**
100
+ * MapLibre style-spec validation mode used by runtime source/layer
101
+ * mutation helpers. Defaults to `"strict"`; pass `"warning-only"` to
102
+ * keep diagnostics non-fatal, or `"renderer-deferred"` to skip SDK
103
+ * style-spec checks and let the renderer report invalid style values.
104
+ */
105
+ styleSpecValidationMode?: RuntimeStyleSpecValidationMode;
106
+ }
107
+ /**
108
+ * Load a `MapPackage` onto a caller-provided `MaplibreMap`. Returns a
109
+ * runtime handle that exposes the operational API. Throws
110
+ * `HonuaMapPackageError` on binding failure. Query-time adapter errors
111
+ * (`HonuaHttpError`, `HonuaCapabilityNotSupportedError`, ...) continue
112
+ * to flow through the returned `Source` promises on `runtime.dataset`
113
+ * and through the shared `HonuaClient` interceptor chain.
114
+ *
115
+ * Per-source binding tolerance is governed by
116
+ * {@link LoadMapPackageOptions.sourceErrorPolicy} — the default
117
+ * `"tolerant"` policy lets a heterogeneous (mixed-protocol) composition
118
+ * keep rendering when one source fails by skipping the failing source
119
+ * (and any layers that reference it) and emitting a `source-error`
120
+ * runtime event plus a `source-bind` telemetry error span. Pass
121
+ * `"fail-fast"` to restore the historical reject-on-any-binding-failure
122
+ * behaviour.
123
+ */
124
+ export declare function loadMapPackage(pkg: HonuaMapPackage, map: MaplibreMap, options: LoadMapPackageOptions): Promise<HonuaMapRuntime>;
125
+ //# sourceMappingURL=load-package.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-package.d.ts","sourceRoot":"","sources":["../../../src/runtime/load-package.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAuC,KAAK,cAAc,EAAiB,MAAM,sBAAsB,CAAC;AAC/G,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAA+B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAErF,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,eAAe,EAEf,KAAK,yBAAyB,EAC9B,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAG7F,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAEjF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC;AAEzD,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,MAAM,EAAE,WAAW,CAAC;IACpB;;;;;;;;OAQG;IACH,eAAe,CAAC,EAAE,gBAAgB,CAAC;IACnC;;;;OAIG;IACH,8BAA8B,CAAC,EAAE,OAAO,CAAC;IACzC,mGAAmG;IACnG,YAAY,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,qFAAqF;IACrF,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,8EAA8E;IAC9E,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,qFAAqF;IACrF,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,qFAAqF;IACrF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;;;;OAKG;IACH,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,WAAW,EAChB,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,eAAe,CAAC,CA6M1B"}