@honua/app-platform 0.0.20-alpha.0 → 0.1.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (381) hide show
  1. package/contract/discovery.d.ts +231 -0
  2. package/contract/discovery.d.ts.map +1 -0
  3. package/contract/discovery.js +554 -0
  4. package/contract/edit-sketch.d.ts +8 -0
  5. package/contract/edit-sketch.d.ts.map +1 -1
  6. package/contract/edit-sketch.js +15 -0
  7. package/contract/edit-snapping.d.ts +160 -0
  8. package/contract/edit-snapping.d.ts.map +1 -0
  9. package/contract/edit-snapping.js +675 -0
  10. package/contract/generated/projjson-v0.7-crs-validator.d.ts +35 -0
  11. package/contract/generated/projjson-v0.7-crs-validator.d.ts.map +1 -0
  12. package/contract/generated/projjson-v0.7-crs-validator.js +3941 -0
  13. package/contract/index.d.ts +11 -2
  14. package/contract/index.d.ts.map +1 -1
  15. package/contract/index.js +4 -1
  16. package/contract/pmtiles.d.ts +31 -0
  17. package/contract/pmtiles.d.ts.map +1 -1
  18. package/contract/pmtiles.js +60 -20
  19. package/contract/protocol-module.d.ts +70 -0
  20. package/contract/protocol-module.d.ts.map +1 -0
  21. package/contract/protocol-module.js +1 -0
  22. package/contract/schema-envelope.d.ts +26 -0
  23. package/contract/schema-envelope.d.ts.map +1 -0
  24. package/contract/schema-envelope.js +25 -0
  25. package/contract/schema.d.ts +582 -0
  26. package/contract/schema.d.ts.map +1 -0
  27. package/contract/schema.js +2483 -0
  28. package/contract/source-capability-support.d.ts +6 -0
  29. package/contract/source-capability-support.d.ts.map +1 -0
  30. package/contract/source-capability-support.js +154 -0
  31. package/contract/source.d.ts +35 -17
  32. package/contract/source.d.ts.map +1 -1
  33. package/contract/source.js +267 -71
  34. package/contract/types.d.ts +140 -4
  35. package/contract/types.d.ts.map +1 -1
  36. package/contract/types.js +6 -14
  37. package/core/bounded-json.d.ts +4 -0
  38. package/core/bounded-json.d.ts.map +1 -0
  39. package/core/bounded-json.js +38 -0
  40. package/core/cache-state.d.ts +9 -0
  41. package/core/cache-state.d.ts.map +1 -1
  42. package/core/cache-state.js +10 -0
  43. package/core/capabilities-xml.d.ts +33 -0
  44. package/core/capabilities-xml.d.ts.map +1 -0
  45. package/core/capabilities-xml.js +331 -0
  46. package/core/client.d.ts +4 -1
  47. package/core/client.d.ts.map +1 -1
  48. package/core/client.js +115 -29
  49. package/core/error-classifications.d.ts +153 -0
  50. package/core/error-classifications.d.ts.map +1 -0
  51. package/core/error-classifications.js +140 -0
  52. package/core/error-code-registry.d.ts +158 -0
  53. package/core/error-code-registry.d.ts.map +1 -0
  54. package/core/error-code-registry.js +143 -0
  55. package/core/error-envelope.d.ts +68 -0
  56. package/core/error-envelope.d.ts.map +1 -0
  57. package/core/error-envelope.js +357 -0
  58. package/core/errors.d.ts +45 -29
  59. package/core/errors.d.ts.map +1 -1
  60. package/core/errors.js +97 -50
  61. package/core/geoparquet-sql.d.ts +30 -2
  62. package/core/geoparquet-sql.d.ts.map +1 -1
  63. package/core/geoparquet-sql.js +38 -3
  64. package/core/odata-key-path.d.ts +12 -0
  65. package/core/odata-key-path.d.ts.map +1 -0
  66. package/core/odata-key-path.js +28 -0
  67. package/core/odata-write-codec.d.ts +66 -0
  68. package/core/odata-write-codec.d.ts.map +1 -0
  69. package/core/odata-write-codec.js +1083 -0
  70. package/core/odata.d.ts +59 -7
  71. package/core/odata.d.ts.map +1 -1
  72. package/core/odata.js +431 -99
  73. package/core/ogc-features.d.ts.map +1 -1
  74. package/core/ogc-features.js +3 -0
  75. package/core/ogc-maps.d.ts +7 -0
  76. package/core/ogc-maps.d.ts.map +1 -1
  77. package/core/ogc-maps.js +46 -7
  78. package/core/ogc-processes.d.ts +2 -1
  79. package/core/ogc-processes.d.ts.map +1 -1
  80. package/core/ogc-processes.js +33 -5
  81. package/core/ogc-records.d.ts +9 -0
  82. package/core/ogc-records.d.ts.map +1 -1
  83. package/core/ogc-records.js +78 -29
  84. package/core/ogc-tiles.d.ts +10 -1
  85. package/core/ogc-tiles.d.ts.map +1 -1
  86. package/core/ogc-tiles.js +56 -17
  87. package/core/path-utils.d.ts +9 -0
  88. package/core/path-utils.d.ts.map +1 -1
  89. package/core/path-utils.js +19 -0
  90. package/core/protocol-transport.d.ts +1 -0
  91. package/core/protocol-transport.d.ts.map +1 -1
  92. package/core/request-pipeline.d.ts.map +1 -1
  93. package/core/request-pipeline.js +1 -1
  94. package/core/spatial-filter.d.ts +8 -4
  95. package/core/spatial-filter.d.ts.map +1 -1
  96. package/core/spatial-filter.js +206 -16
  97. package/core/stac-static.d.ts +6 -2
  98. package/core/stac-static.d.ts.map +1 -1
  99. package/core/stac-static.js +260 -69
  100. package/core/surfaces.d.ts.map +1 -1
  101. package/core/surfaces.js +69 -5
  102. package/core/types.d.ts +125 -7
  103. package/core/types.d.ts.map +1 -1
  104. package/core/wfs-capabilities.d.ts +2 -0
  105. package/core/wfs-capabilities.d.ts.map +1 -1
  106. package/core/wfs-capabilities.js +8 -1
  107. package/core/wfs.d.ts.map +1 -1
  108. package/core/wfs.js +10 -0
  109. package/core/wms-capabilities.d.ts +56 -84
  110. package/core/wms-capabilities.d.ts.map +1 -1
  111. package/core/wms-capabilities.js +212 -509
  112. package/core/wmts-capabilities.d.ts +62 -62
  113. package/core/wmts-capabilities.d.ts.map +1 -1
  114. package/core/wmts-capabilities.js +224 -371
  115. package/esri-compat/editor.d.ts +8 -0
  116. package/esri-compat/editor.d.ts.map +1 -1
  117. package/esri-compat/editor.js +13 -0
  118. package/esri-compat/feature-layer.d.ts +2 -0
  119. package/esri-compat/feature-layer.d.ts.map +1 -1
  120. package/esri-compat/feature-layer.js +1 -0
  121. package/esri-compat/layer-list.d.ts +11 -0
  122. package/esri-compat/layer-list.d.ts.map +1 -1
  123. package/esri-compat/layer-list.js +49 -0
  124. package/esri-compat/legend.d.ts +10 -0
  125. package/esri-compat/legend.d.ts.map +1 -1
  126. package/esri-compat/legend.js +27 -0
  127. package/esri-compat/portal.d.ts +197 -0
  128. package/esri-compat/portal.d.ts.map +1 -0
  129. package/esri-compat/portal.js +251 -0
  130. package/esri-compat/renderer-objects.d.ts +40 -0
  131. package/esri-compat/renderer-objects.d.ts.map +1 -0
  132. package/esri-compat/renderer-objects.js +62 -0
  133. package/esri-compat/sketch.d.ts +43 -0
  134. package/esri-compat/sketch.d.ts.map +1 -1
  135. package/esri-compat/sketch.js +46 -0
  136. package/esri-compat/snapping.d.ts +43 -0
  137. package/esri-compat/snapping.d.ts.map +1 -0
  138. package/esri-compat/snapping.js +45 -0
  139. package/esri-compat/url.d.ts.map +1 -1
  140. package/esri-compat/url.js +1 -1
  141. package/esri-compat/widget-host.d.ts +84 -0
  142. package/esri-compat/widget-host.d.ts.map +1 -0
  143. package/esri-compat/widget-host.js +159 -0
  144. package/generated-app/errors.d.ts +18 -2
  145. package/generated-app/errors.d.ts.map +1 -1
  146. package/generated-app/errors.js +44 -11
  147. package/geocoding/index.d.ts +7 -0
  148. package/geocoding/index.d.ts.map +1 -1
  149. package/geocoding/index.js +5 -0
  150. package/geocoding/provider-http.d.ts +37 -0
  151. package/geocoding/provider-http.d.ts.map +1 -0
  152. package/geocoding/provider-http.js +91 -0
  153. package/geocoding/provider.d.ts +145 -0
  154. package/geocoding/provider.d.ts.map +1 -0
  155. package/geocoding/provider.js +41 -0
  156. package/geocoding/providers/honua.d.ts +28 -0
  157. package/geocoding/providers/honua.d.ts.map +1 -0
  158. package/geocoding/providers/honua.js +68 -0
  159. package/geocoding/providers/nominatim.d.ts +47 -0
  160. package/geocoding/providers/nominatim.d.ts.map +1 -0
  161. package/geocoding/providers/nominatim.js +105 -0
  162. package/geocoding/providers/pelias.d.ts +40 -0
  163. package/geocoding/providers/pelias.d.ts.map +1 -0
  164. package/geocoding/providers/pelias.js +115 -0
  165. package/geocoding/providers/photon.d.ts +39 -0
  166. package/geocoding/providers/photon.d.ts.map +1 -0
  167. package/geocoding/providers/photon.js +107 -0
  168. package/geometry/convert.d.ts +13 -0
  169. package/geometry/convert.d.ts.map +1 -0
  170. package/geometry/convert.js +12 -0
  171. package/geometry/index.d.ts +17 -0
  172. package/geometry/index.d.ts.map +1 -0
  173. package/geometry/index.js +15 -0
  174. package/geometry/internal.d.ts +25 -0
  175. package/geometry/internal.d.ts.map +1 -0
  176. package/geometry/internal.js +40 -0
  177. package/geometry/ops.d.ts +71 -0
  178. package/geometry/ops.d.ts.map +1 -0
  179. package/geometry/ops.js +147 -0
  180. package/geometry/project.d.ts +40 -0
  181. package/geometry/project.d.ts.map +1 -0
  182. package/geometry/project.js +88 -0
  183. package/geometry/types.d.ts +36 -0
  184. package/geometry/types.d.ts.map +1 -0
  185. package/geometry/types.js +12 -0
  186. package/map/automatic-mount-integration.d.ts +134 -0
  187. package/map/automatic-mount-integration.d.ts.map +1 -0
  188. package/map/automatic-mount-integration.js +305 -0
  189. package/map/automatic-source-strategy.d.ts +125 -0
  190. package/map/automatic-source-strategy.d.ts.map +1 -0
  191. package/map/automatic-source-strategy.js +494 -0
  192. package/map/data-to-map-bridge.d.ts +293 -0
  193. package/map/data-to-map-bridge.d.ts.map +1 -0
  194. package/map/data-to-map-bridge.js +817 -0
  195. package/map/geojson-projection.d.ts +33 -0
  196. package/map/geojson-projection.d.ts.map +1 -0
  197. package/map/geojson-projection.js +118 -0
  198. package/map/index.d.ts +14 -0
  199. package/map/index.d.ts.map +1 -1
  200. package/map/index.js +8 -0
  201. package/map/raster-source-spec.d.ts +30 -0
  202. package/map/raster-source-spec.d.ts.map +1 -0
  203. package/map/raster-source-spec.js +190 -0
  204. package/map/raster-source-strategy.d.ts +65 -0
  205. package/map/raster-source-strategy.d.ts.map +1 -0
  206. package/map/raster-source-strategy.js +232 -0
  207. package/map/source-to-maplibre.d.ts +91 -0
  208. package/map/source-to-maplibre.d.ts.map +1 -0
  209. package/map/source-to-maplibre.js +454 -0
  210. package/map/temporal-playback.d.ts +139 -0
  211. package/map/temporal-playback.d.ts.map +1 -0
  212. package/map/temporal-playback.js +247 -0
  213. package/package.json +33 -2
  214. package/query-planner/canonical.d.ts +7 -0
  215. package/query-planner/canonical.d.ts.map +1 -0
  216. package/query-planner/canonical.js +145 -0
  217. package/query-planner/cql2-json.d.ts +17 -0
  218. package/query-planner/cql2-json.d.ts.map +1 -0
  219. package/query-planner/cql2-json.js +646 -0
  220. package/query-planner/diagnostics.d.ts +35 -0
  221. package/query-planner/diagnostics.d.ts.map +1 -0
  222. package/query-planner/diagnostics.js +373 -0
  223. package/query-planner/duckdb.d.ts +79 -0
  224. package/query-planner/duckdb.d.ts.map +1 -0
  225. package/query-planner/duckdb.js +758 -0
  226. package/query-planner/execution-context.d.ts +5 -0
  227. package/query-planner/execution-context.d.ts.map +1 -0
  228. package/query-planner/execution-context.js +50 -0
  229. package/query-planner/executor.d.ts +5 -0
  230. package/query-planner/executor.d.ts.map +1 -0
  231. package/query-planner/executor.js +223 -0
  232. package/query-planner/geoservices.d.ts +91 -0
  233. package/query-planner/geoservices.d.ts.map +1 -0
  234. package/query-planner/geoservices.js +667 -0
  235. package/query-planner/grpc.d.ts +100 -0
  236. package/query-planner/grpc.d.ts.map +1 -0
  237. package/query-planner/grpc.js +736 -0
  238. package/query-planner/index.d.ts +44 -0
  239. package/query-planner/index.d.ts.map +1 -0
  240. package/query-planner/index.js +30 -0
  241. package/query-planner/ir.d.ts +20 -0
  242. package/query-planner/ir.d.ts.map +1 -0
  243. package/query-planner/ir.js +417 -0
  244. package/query-planner/local-aggregate.d.ts +5 -0
  245. package/query-planner/local-aggregate.d.ts.map +1 -0
  246. package/query-planner/local-aggregate.js +126 -0
  247. package/query-planner/odata.d.ts +48 -0
  248. package/query-planner/odata.d.ts.map +1 -0
  249. package/query-planner/odata.js +662 -0
  250. package/query-planner/ogc-compiler.d.ts +55 -0
  251. package/query-planner/ogc-compiler.d.ts.map +1 -0
  252. package/query-planner/ogc-compiler.js +480 -0
  253. package/query-planner/ogc-features.d.ts +53 -0
  254. package/query-planner/ogc-features.d.ts.map +1 -0
  255. package/query-planner/ogc-features.js +617 -0
  256. package/query-planner/planner.d.ts +17 -0
  257. package/query-planner/planner.d.ts.map +1 -0
  258. package/query-planner/planner.js +818 -0
  259. package/query-planner/resource.d.ts +94 -0
  260. package/query-planner/resource.d.ts.map +1 -0
  261. package/query-planner/resource.js +526 -0
  262. package/query-planner/semantic-canonical.d.ts +15 -0
  263. package/query-planner/semantic-canonical.d.ts.map +1 -0
  264. package/query-planner/semantic-canonical.js +62 -0
  265. package/query-planner/semantic-compat.d.ts +10 -0
  266. package/query-planner/semantic-compat.d.ts.map +1 -0
  267. package/query-planner/semantic-compat.js +35 -0
  268. package/query-planner/semantic-compiler.d.ts +64 -0
  269. package/query-planner/semantic-compiler.d.ts.map +1 -0
  270. package/query-planner/semantic-compiler.js +81 -0
  271. package/query-planner/semantic-literals.d.ts +30 -0
  272. package/query-planner/semantic-literals.d.ts.map +1 -0
  273. package/query-planner/semantic-literals.js +133 -0
  274. package/query-planner/semantic-types.d.ts +265 -0
  275. package/query-planner/semantic-types.d.ts.map +1 -0
  276. package/query-planner/semantic-types.js +1 -0
  277. package/query-planner/semantic.d.ts +54 -0
  278. package/query-planner/semantic.d.ts.map +1 -0
  279. package/query-planner/semantic.js +1421 -0
  280. package/query-planner/types.d.ts +560 -0
  281. package/query-planner/types.d.ts.map +1 -0
  282. package/query-planner/types.js +49 -0
  283. package/query-planner/wfs-semantic.d.ts +58 -0
  284. package/query-planner/wfs-semantic.d.ts.map +1 -0
  285. package/query-planner/wfs-semantic.js +547 -0
  286. package/query-planner/wfs.d.ts +6 -0
  287. package/query-planner/wfs.d.ts.map +1 -0
  288. package/query-planner/wfs.js +71 -0
  289. package/realtime/contract.d.ts +142 -0
  290. package/realtime/contract.d.ts.map +1 -0
  291. package/realtime/contract.js +154 -0
  292. package/realtime/honua-server.d.ts.map +1 -1
  293. package/realtime/honua-server.js +13 -8
  294. package/realtime/index.d.ts +19 -4
  295. package/realtime/index.d.ts.map +1 -1
  296. package/realtime/index.js +14 -4
  297. package/realtime/odata-delta.d.ts +114 -0
  298. package/realtime/odata-delta.d.ts.map +1 -0
  299. package/realtime/odata-delta.js +483 -0
  300. package/realtime/resumable-transport.d.ts +111 -0
  301. package/realtime/resumable-transport.d.ts.map +1 -0
  302. package/realtime/resumable-transport.js +406 -0
  303. package/realtime/resumable.d.ts +104 -0
  304. package/realtime/resumable.d.ts.map +1 -0
  305. package/realtime/resumable.js +632 -0
  306. package/realtime/sse.d.ts.map +1 -1
  307. package/realtime/sse.js +27 -23
  308. package/realtime/websocket.d.ts +60 -0
  309. package/realtime/websocket.d.ts.map +1 -0
  310. package/realtime/websocket.js +157 -0
  311. package/realtime/wire.d.ts +27 -0
  312. package/realtime/wire.d.ts.map +1 -0
  313. package/realtime/wire.js +57 -0
  314. package/replica-sync/errors.d.ts +2 -1
  315. package/replica-sync/errors.d.ts.map +1 -1
  316. package/replica-sync/errors.js +33 -2
  317. package/runtime/edit-snapping.d.ts +107 -0
  318. package/runtime/edit-snapping.d.ts.map +1 -0
  319. package/runtime/edit-snapping.js +190 -0
  320. package/runtime/errors.d.ts +3 -2
  321. package/runtime/errors.d.ts.map +1 -1
  322. package/runtime/errors.js +19 -2
  323. package/runtime/index.d.ts +6 -0
  324. package/runtime/index.d.ts.map +1 -1
  325. package/runtime/index.js +3 -0
  326. package/runtime/maplibre-renderer.d.ts +41 -0
  327. package/runtime/maplibre-renderer.d.ts.map +1 -0
  328. package/runtime/maplibre-renderer.js +322 -0
  329. package/runtime/query-tiles.d.ts +2 -1
  330. package/runtime/query-tiles.d.ts.map +1 -1
  331. package/runtime/query-tiles.js +6 -2
  332. package/runtime/source-bridge.d.ts +4 -4
  333. package/runtime/source-bridge.d.ts.map +1 -1
  334. package/runtime/source-bridge.js +9 -56
  335. package/runtime/style-interactions.d.ts +3 -2
  336. package/runtime/style-interactions.d.ts.map +1 -1
  337. package/runtime/style-interactions.js +11 -3
  338. package/runtime/terra-draw-sketch.d.ts +275 -0
  339. package/runtime/terra-draw-sketch.d.ts.map +1 -0
  340. package/runtime/terra-draw-sketch.js +404 -0
  341. package/scene-workspace/index.d.ts +4 -0
  342. package/scene-workspace/index.d.ts.map +1 -1
  343. package/scene-workspace/index.js +2 -0
  344. package/scene-workspace/source-to-cesium.d.ts +116 -0
  345. package/scene-workspace/source-to-cesium.d.ts.map +1 -0
  346. package/scene-workspace/source-to-cesium.js +791 -0
  347. package/scene-workspace/state-sync.d.ts +147 -0
  348. package/scene-workspace/state-sync.d.ts.map +1 -0
  349. package/scene-workspace/state-sync.js +1123 -0
  350. package/source-capability-registry.d.ts +1 -0
  351. package/source-capability-registry.js +1 -0
  352. package/source-capability-types.d.ts +186 -0
  353. package/source-capability-types.js +7 -0
  354. package/style/index.d.ts +2 -0
  355. package/style/index.d.ts.map +1 -1
  356. package/style/index.js +2 -0
  357. package/style/renderers.d.ts +326 -0
  358. package/style/renderers.d.ts.map +1 -0
  359. package/style/renderers.js +517 -0
  360. package/web-components/controller.d.ts +2 -0
  361. package/web-components/controller.d.ts.map +1 -1
  362. package/web-components/controller.js +49 -8
  363. package/web-components/elements.d.ts +95 -1
  364. package/web-components/elements.d.ts.map +1 -1
  365. package/web-components/elements.js +458 -19
  366. package/web-components/index.d.ts +8 -1
  367. package/web-components/index.d.ts.map +1 -1
  368. package/web-components/index.js +7 -0
  369. package/web-components/maplibre-renderer.d.ts.map +1 -1
  370. package/web-components/maplibre-renderer.js +87 -0
  371. package/web-components/measurement.d.ts +69 -0
  372. package/web-components/measurement.d.ts.map +1 -0
  373. package/web-components/measurement.js +523 -0
  374. package/web-components/types.d.ts +109 -0
  375. package/web-components/types.d.ts.map +1 -1
  376. package/webmap/convert-renderer.d.ts +24 -3
  377. package/webmap/convert-renderer.d.ts.map +1 -1
  378. package/webmap/convert-renderer.js +93 -112
  379. package/webmap/index.d.ts +1 -1
  380. package/webmap/index.d.ts.map +1 -1
  381. package/webmap/index.js +1 -1
@@ -0,0 +1,322 @@
1
+ import { HonuaAbortError } from "../core/errors.js";
2
+ import { HonuaAutomaticMapLibreStrategyError, explainAutomaticSourceToMapLibre, mountAutomaticSourceToMapLibre, } from "../map/index.js";
3
+ import { ensurePmtilesProtocol } from "./pmtiles-protocol.js";
4
+ const EMPTY_STYLE = Object.freeze({
5
+ version: 8,
6
+ sources: Object.freeze({}),
7
+ layers: Object.freeze([]),
8
+ });
9
+ /**
10
+ * Create an executable MapLibre adapter without importing `maplibre-gl`.
11
+ * The supplied module is retained only on this adapter instance. `style` and
12
+ * `rendererOptions.mapOptions` configure owned map construction; an existing
13
+ * map must already carry its caller-owned construction state.
14
+ */
15
+ export function maplibreRenderer(peer, options = {}) {
16
+ const maplibre = maplibrePeer(peer);
17
+ const pmtiles = options.pmtiles;
18
+ return Object.freeze({
19
+ kind: "maplibre",
20
+ environments: Object.freeze(["browser"]),
21
+ peer,
22
+ defaultOwnership(target) {
23
+ return isMapHost(target) ? "borrowed" : "owned";
24
+ },
25
+ async mount(target, request) {
26
+ const rendererOptions = request.rendererOptions ?? {};
27
+ const host = resolveMapHost(maplibre, target, request, rendererOptions);
28
+ const map = host.map;
29
+ try {
30
+ await waitUntilStyleReady(map, request.signal, host.owned);
31
+ let queryPlan = request.queryPlan;
32
+ let plan = explainAutomaticSourceToMapLibre(request.source, {
33
+ ...automaticOptions(rendererOptions),
34
+ ...(queryPlan === undefined ? {} : { queryPlan }),
35
+ });
36
+ const queryCandidate = plan.candidates.find((candidate) => candidate.strategy === "geojson-query");
37
+ if (queryPlan !== undefined && queryCandidate?.reason === "plan-context-mismatch") {
38
+ throw new HonuaAutomaticMapLibreStrategyError("stale-plan", "The accepted query plan no longer matches the mounted source.");
39
+ }
40
+ if (request.queryIntent === "explicit" &&
41
+ plan.selected !== undefined &&
42
+ plan.selected.strategy !== "geojson-query") {
43
+ throw new HonuaAutomaticMapLibreStrategyError("no-eligible-strategy", `The selected ${plan.selected.strategy} strategy cannot apply the explicit query. Select the geojson-query override or omit the query.`);
44
+ }
45
+ if (plan.selected === undefined && queryCandidate?.reason === "missing-query-plan") {
46
+ queryPlan = await request.planQuery();
47
+ plan = explainAutomaticSourceToMapLibre(request.source, {
48
+ ...automaticOptions(rendererOptions),
49
+ queryPlan,
50
+ });
51
+ }
52
+ if (plan.selected?.strategy.startsWith("pmtiles")) {
53
+ if (pmtiles === undefined || typeof maplibre.addProtocol !== "function") {
54
+ throw new HonuaAutomaticMapLibreStrategyError("no-eligible-strategy", "PMTiles mounting requires caller-injected MapLibre and PMTiles protocol peers.");
55
+ }
56
+ const registrar = {
57
+ addProtocol: (scheme, handler) => maplibre.addProtocol(scheme, handler),
58
+ ...(typeof maplibre.removeProtocol === "function"
59
+ ? { removeProtocol: (scheme) => maplibre.removeProtocol(scheme) }
60
+ : {}),
61
+ };
62
+ await ensurePmtilesProtocol({ maplibre: registrar, pmtilesModule: pmtiles });
63
+ }
64
+ const mounted = await mountAutomaticSourceToMapLibre(map, request.source, plan, {
65
+ ...automaticOptions(rendererOptions),
66
+ ...(queryPlan === undefined ? {} : { queryPlan }),
67
+ ...request.execution,
68
+ signal: request.signal,
69
+ });
70
+ let disposePromise;
71
+ const dispose = () => {
72
+ if (disposePromise !== undefined)
73
+ return disposePromise;
74
+ disposePromise = disposeMapLibreSession(mounted.dispose, host);
75
+ return disposePromise;
76
+ };
77
+ const ready = firstUsableFrame(map, rendererOptions.firstFrameEvent ?? "render", request.signal).catch(async (error) => {
78
+ try {
79
+ await dispose();
80
+ }
81
+ catch (cleanupError) {
82
+ throw new AggregateError([error, cleanupError], "MapLibre readiness and rollback failed");
83
+ }
84
+ throw error;
85
+ });
86
+ return {
87
+ raw: map,
88
+ diagnostics: mounted.diagnostics,
89
+ ready,
90
+ async refresh(refreshOptions = {}) {
91
+ const signal = combineSignals(request.signal, refreshOptions.signal);
92
+ throwIfAborted(signal);
93
+ await mounted.refresh({ ...request.execution, signal });
94
+ await firstUsableFrame(map, rendererOptions.firstFrameEvent ?? "render", signal);
95
+ },
96
+ dispose,
97
+ };
98
+ }
99
+ catch (error) {
100
+ if (host.owned) {
101
+ try {
102
+ host.map.remove?.();
103
+ }
104
+ catch (cleanupError) {
105
+ throw new AggregateError([error, cleanupError], "MapLibre mount and owned-host rollback failed");
106
+ }
107
+ }
108
+ throw error;
109
+ }
110
+ },
111
+ });
112
+ }
113
+ function automaticOptions(options) {
114
+ const { mapOptions: _mapOptions, firstFrameEvent: _firstFrameEvent, ...automatic } = options;
115
+ return automatic;
116
+ }
117
+ function maplibrePeer(value) {
118
+ if (typeof value !== "object" || value === null)
119
+ throw new TypeError("maplibreRenderer() requires an injected peer.");
120
+ const fallback = value.default !== null && typeof value.default === "object" ? value.default : undefined;
121
+ const MapConstructor = fallback?.Map ?? value.Map;
122
+ const addProtocol = value.addProtocol ?? fallback?.addProtocol;
123
+ const removeProtocol = value.removeProtocol ?? fallback?.removeProtocol;
124
+ return Object.freeze({
125
+ ...(typeof MapConstructor === "function" ? { Map: MapConstructor } : {}),
126
+ ...(typeof addProtocol === "function"
127
+ ? { addProtocol: addProtocol }
128
+ : {}),
129
+ ...(typeof removeProtocol === "function"
130
+ ? { removeProtocol: removeProtocol }
131
+ : {}),
132
+ });
133
+ }
134
+ function resolveMapHost(peer, target, request, options) {
135
+ if (isMapHost(target)) {
136
+ if (request.style !== undefined) {
137
+ throw new TypeError("MapLibre style is an owned-host construction option and cannot be applied to an existing map.");
138
+ }
139
+ if (options.mapOptions !== undefined) {
140
+ throw new TypeError("MapLibre mapOptions are owned-host construction options and cannot be applied to an existing map.");
141
+ }
142
+ assertReadinessHost(target);
143
+ if (request.ownership === "owned")
144
+ assertOwnedHost(target);
145
+ return { map: target, owned: request.ownership === "owned" };
146
+ }
147
+ if (request.ownership === "borrowed") {
148
+ throw new TypeError("A selector or element target cannot be borrowed without an existing MapLibre map.");
149
+ }
150
+ const MapConstructor = peer.Map;
151
+ if (typeof MapConstructor !== "function") {
152
+ throw new TypeError("The injected MapLibre peer does not expose a Map constructor.");
153
+ }
154
+ const style = request.style === undefined || request.style === "auto" ? EMPTY_STYLE : request.style;
155
+ const map = new MapConstructor({ ...options.mapOptions, container: target, style });
156
+ if (!isMapHost(map)) {
157
+ removeHostCandidate(map);
158
+ throw new TypeError("The injected MapLibre Map constructor returned an incompatible host.");
159
+ }
160
+ try {
161
+ assertReadinessHost(map);
162
+ assertOwnedHost(map);
163
+ }
164
+ catch (error) {
165
+ removeHostCandidate(map);
166
+ throw error;
167
+ }
168
+ return { map, owned: true };
169
+ }
170
+ function assertReadinessHost(map) {
171
+ if (typeof map.once !== "function" || typeof map.off !== "function" || typeof map.triggerRepaint !== "function") {
172
+ throw new HonuaAutomaticMapLibreStrategyError("map-mutation-failed", "The MapLibre host does not expose once(), off(), and triggerRepaint(); first-frame readiness is unavailable.");
173
+ }
174
+ }
175
+ function assertOwnedHost(map) {
176
+ if (typeof map.remove !== "function") {
177
+ throw new HonuaAutomaticMapLibreStrategyError("map-mutation-failed", "An owned MapLibre host must expose remove() for deterministic disposal.");
178
+ }
179
+ }
180
+ function removeHostCandidate(value) {
181
+ if (typeof value !== "object" || value === null)
182
+ return;
183
+ try {
184
+ const remove = value.remove;
185
+ if (typeof remove === "function")
186
+ Reflect.apply(remove, value, []);
187
+ }
188
+ catch {
189
+ // The incompatible host error remains the primary construction failure.
190
+ }
191
+ }
192
+ function isMapHost(value) {
193
+ if (typeof value !== "object" || value === null)
194
+ return false;
195
+ try {
196
+ const map = value;
197
+ return (typeof map.getSource === "function" &&
198
+ typeof map.addSource === "function" &&
199
+ typeof map.removeSource === "function" &&
200
+ typeof map.getLayer === "function" &&
201
+ typeof map.addLayer === "function" &&
202
+ typeof map.removeLayer === "function");
203
+ }
204
+ catch {
205
+ return false;
206
+ }
207
+ }
208
+ async function waitUntilStyleReady(map, signal, owned) {
209
+ throwIfAborted(signal);
210
+ assertReadinessHost(map);
211
+ const event = owned ? "load" : "style.load";
212
+ if (typeof map.isStyleLoaded === "function") {
213
+ const isReady = () => map.isStyleLoaded?.() === true;
214
+ while (!isReady()) {
215
+ await (owned
216
+ ? waitForEvent(map, event, signal, isReady)
217
+ : waitForAnyEvent(map, [event, "data"], signal, isReady));
218
+ }
219
+ return;
220
+ }
221
+ if (typeof map.loaded === "function") {
222
+ const isReady = () => map.loaded?.() === true;
223
+ while (!isReady())
224
+ await waitForEvent(map, event, signal, isReady);
225
+ return;
226
+ }
227
+ if (!owned && typeof map.getStyle === "function" && map.getStyle() !== undefined)
228
+ return;
229
+ await waitForEvent(map, event, signal);
230
+ }
231
+ async function firstUsableFrame(map, event, signal) {
232
+ throwIfAborted(signal);
233
+ assertReadinessHost(map);
234
+ const frame = waitForEvent(map, event, signal);
235
+ map.triggerRepaint();
236
+ await frame;
237
+ }
238
+ function waitForEvent(map, event, signal, isReady) {
239
+ return waitForAnyEvent(map, [event], signal, isReady);
240
+ }
241
+ function waitForAnyEvent(map, events, signal, isReady) {
242
+ return new Promise((resolve, reject) => {
243
+ let settled = false;
244
+ const cleanup = () => {
245
+ signal.removeEventListener("abort", aborted);
246
+ for (const event of events)
247
+ map.off(event, completed);
248
+ };
249
+ const completed = () => {
250
+ if (settled)
251
+ return;
252
+ settled = true;
253
+ cleanup();
254
+ resolve();
255
+ };
256
+ const aborted = () => {
257
+ if (settled)
258
+ return;
259
+ settled = true;
260
+ cleanup();
261
+ reject(new HonuaAbortError());
262
+ };
263
+ signal.addEventListener("abort", aborted, { once: true });
264
+ if (signal.aborted) {
265
+ aborted();
266
+ return;
267
+ }
268
+ try {
269
+ for (const event of events) {
270
+ if (settled)
271
+ break;
272
+ map.once(event, completed);
273
+ }
274
+ if (isReady?.())
275
+ completed();
276
+ if (signal.aborted) {
277
+ if (settled)
278
+ for (const event of events)
279
+ map.off(event, completed);
280
+ else
281
+ aborted();
282
+ }
283
+ }
284
+ catch (error) {
285
+ settled = true;
286
+ cleanup();
287
+ reject(error);
288
+ }
289
+ });
290
+ }
291
+ function disposeMapLibreSession(disposeMounted, host) {
292
+ return Promise.resolve().then(() => {
293
+ const failures = [];
294
+ try {
295
+ disposeMounted();
296
+ }
297
+ catch (error) {
298
+ failures.push(error);
299
+ }
300
+ if (host.owned) {
301
+ try {
302
+ host.map.remove?.();
303
+ }
304
+ catch (error) {
305
+ failures.push(error);
306
+ }
307
+ }
308
+ if (failures.length === 1)
309
+ throw failures[0];
310
+ if (failures.length > 1)
311
+ throw new AggregateError(failures, "MapLibre mounted-session cleanup failed");
312
+ });
313
+ }
314
+ function combineSignals(primary, secondary) {
315
+ if (secondary === undefined || secondary === primary)
316
+ return primary;
317
+ return AbortSignal.any([primary, secondary]);
318
+ }
319
+ function throwIfAborted(signal) {
320
+ if (signal.aborted)
321
+ throw new HonuaAbortError();
322
+ }
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import { type QueryTileCacheKeyOptions, type QueryTileCachePolicy, type QueryTileEndpointDescriptor, type QueryTileFeatureDetailResponse, type QueryTileFeatureIdentityTarget, type QueryTileJson, type QueryTileKey, type QueryTileKeyInput, type QueryTileServerCacheValidators, type QueryTileServerDegradation, type QueryTileServerErrorResponse, type QueryTileServerRequestParameters, type QueryTileSourceDescriptor } from "../contract/tiles.js";
12
12
  import type { Capability, Protocol } from "../contract/types.js";
13
+ import { HonuaSdkError } from "../core/error-envelope.js";
13
14
  export interface MapLibreQueryTileSourceSpec {
14
15
  type: "vector";
15
16
  tiles?: string[];
@@ -68,7 +69,7 @@ export interface QueryTileFeatureDetailFetchResult<T = Record<string, unknown>>
68
69
  detail?: QueryTileFeatureDetailResponse<T>;
69
70
  degraded?: readonly QueryTileServerDegradation[];
70
71
  }
71
- export declare class QueryTileServerResponseError extends Error {
72
+ export declare class QueryTileServerResponseError extends HonuaSdkError {
72
73
  readonly status: number;
73
74
  readonly url: string;
74
75
  readonly response: QueryTileServerErrorResponse | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"query-tiles.d.ts","sourceRoot":"","sources":["../../../src/runtime/query-tiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-tiles.d.ts","sourceRoot":"","sources":["../../../src/runtime/query-tiles.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,18 @@
10
10
  */
11
11
  import { assessAnalyticsSourcePushdown } from "../contract/analytics-sources.js";
12
12
  import { buildQueryTileCacheKey, buildQueryTileServerPath, normalizeQueryTileKey, normalizeQueryTileSourceDescriptor, parseQueryTileFeatureDetailResponse, parseQueryTileJson, parseQueryTileServerErrorResponse, queryTileKeyString, queryTileServerRequestParamsFromDescriptor, stableJson, } from "../contract/tiles.js";
13
+ import { HonuaSdkError } from "../core/error-envelope.js";
13
14
  import { trimLeadingSlashes, trimTrailingSlashes } from "../core/path-utils.js";
14
- export class QueryTileServerResponseError extends Error {
15
+ export class QueryTileServerResponseError extends HonuaSdkError {
15
16
  status;
16
17
  url;
17
18
  response;
18
19
  body;
19
20
  validators;
20
21
  constructor(options) {
21
- super(options.message);
22
+ super(QUERY_TILE_RETRYABLE_STATUSES.has(options.status)
23
+ ? "runtime.query-tiles.transient"
24
+ : "runtime.query-tiles.rejected", options.message, { context: { status: options.status, url: options.url } });
22
25
  this.name = "QueryTileServerResponseError";
23
26
  this.status = options.status;
24
27
  this.url = options.url;
@@ -27,6 +30,7 @@ export class QueryTileServerResponseError extends Error {
27
30
  this.validators = options.validators ?? {};
28
31
  }
29
32
  }
33
+ const QUERY_TILE_RETRYABLE_STATUSES = new Set([408, 429, 500, 502, 503, 504]);
30
34
  const WEB_MERCATOR_LAT_LIMIT = 85.05112878;
31
35
  const DEFAULT_MAX_VIEWPORT_TILES = 1024;
32
36
  const MAX_SAFE_TILE_ZOOM = 30;
@@ -60,10 +60,10 @@ export declare function toHonuaSourceSpec(descriptor: SourceDescriptor, filter?:
60
60
  };
61
61
  /**
62
62
  * Build a MapLibre `raster` source spec for a WMS descriptor. The
63
- * `tiles` template uses MapLibre's runtime substitution placeholders
64
- * (`{bbox-epsg3857}`, `{width}`, `{height}`) so each tile request is a
65
- * pre-baked KVP URL — consumers do not have to hand-assemble GetMap
66
- * URLs themselves.
63
+ * `tiles` template uses MapLibre's exact `{bbox-epsg-3857}` runtime
64
+ * placeholder plus validated (1–4096) literal WIDTH / HEIGHT values
65
+ * equal to `tileSize`, so each tile request is a pre-baked KVP URL —
66
+ * consumers do not have to hand-assemble GetMap URLs themselves.
67
67
  */
68
68
  export declare function buildWmsRasterSourceSpec(descriptor: SourceDescriptor, options?: {
69
69
  tileSize?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"source-bridge.d.ts","sourceRoot":"","sources":["../../../src/runtime/source-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,sBAAsB,EAA2B,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEtH,+DAA+D;AAC/D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC;;;;OAIG;IACH,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,yDAAyD;IACzD,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,SAAS,4BAA4B,EAAE,GAChD,sBAAsB,CA4CxB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,MAAM,CAAC,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAkE1C;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CA8B7E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACvF;IACD,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CA2BA;AA2ND,oFAAoF;AACpF,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"source-bridge.d.ts","sourceRoot":"","sources":["../../../src/runtime/source-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAGL,KAAK,gBAAgB,EAEtB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,KAAK,EAAE,sBAAsB,EAA2B,4BAA4B,EAAE,MAAM,kBAAkB,CAAC;AAEtH,+DAA+D;AAC/D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wDAAwD;AACxD,MAAM,WAAW,sBAAsB;IACrC,gEAAgE;IAChE,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC;;;;OAIG;IACH,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,yDAAyD;IACzD,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,QAAQ,EAAE,SAAS,4BAA4B,EAAE,GAChD,sBAAsB,CA4CxB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,gBAAgB,EAC5B,MAAM,CAAC,EAAE,MAAM,GACd;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAkE1C;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAG7E;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,gBAAgB,EAC5B,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACvF;IACD,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAGA;AA2ND,oFAAoF;AACpF,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
@@ -20,7 +20,7 @@
20
20
  * @module
21
21
  */
22
22
  import { PROTOCOL_DEFAULT_CAPABILITIES, } from "../contract/index.js";
23
- import { wmtsExtensionForFormat } from "../core/wms-types.js";
23
+ import { buildWmsRasterSourceSpec as buildMapWmsRasterSourceSpec, buildWmtsRasterSourceSpec as buildMapWmtsRasterSourceSpec, } from "../map/raster-source-spec.js";
24
24
  import { HonuaMapPackageError } from "./errors.js";
25
25
  /**
26
26
  * Project the bindings on a MapPackage into SDK contract descriptors and
@@ -145,42 +145,14 @@ export function toHonuaSourceSpec(descriptor, filter) {
145
145
  }
146
146
  /**
147
147
  * Build a MapLibre `raster` source spec for a WMS descriptor. The
148
- * `tiles` template uses MapLibre's runtime substitution placeholders
149
- * (`{bbox-epsg3857}`, `{width}`, `{height}`) so each tile request is a
150
- * pre-baked KVP URL — consumers do not have to hand-assemble GetMap
151
- * URLs themselves.
148
+ * `tiles` template uses MapLibre's exact `{bbox-epsg-3857}` runtime
149
+ * placeholder plus validated (1–4096) literal WIDTH / HEIGHT values
150
+ * equal to `tileSize`, so each tile request is a pre-baked KVP URL —
151
+ * consumers do not have to hand-assemble GetMap URLs themselves.
152
152
  */
153
153
  export function buildWmsRasterSourceSpec(descriptor, options = {}) {
154
- const url = requireLocatorUrl(descriptor);
155
- const tileSize = options.tileSize ?? 256;
156
- const format = options.format ?? "image/png";
157
- const transparent = options.transparent ?? true;
158
- const layers = descriptor.locator.typeName ?? "";
159
- const styles = descriptor.locator.styleId ?? "";
160
- const params = new URLSearchParams();
161
- params.set("SERVICE", "WMS");
162
- params.set("VERSION", "1.3.0");
163
- params.set("REQUEST", "GetMap");
164
- params.set("LAYERS", layers);
165
- params.set("STYLES", styles);
166
- params.set("CRS", "EPSG:3857");
167
- params.set("FORMAT", format);
168
- params.set("TRANSPARENT", String(transparent).toUpperCase());
169
- // MapLibre substitutes these placeholders at fetch-time. They are
170
- // intentionally appended verbatim (no encoding) so MapLibre's
171
- // template parser sees the literal tokens. WIDTH and HEIGHT are
172
- // emitted only as placeholders — duplicating them as fixed params
173
- // would produce ambiguous query keys that honua-server's
174
- // TryGetRequiredQueryValue / int.TryParse pair rejects.
175
- const baseUrl = `${url}?${params.toString()}&BBOX={bbox-epsg3857}&WIDTH={width}&HEIGHT={height}`;
176
- const out = {
177
- type: "raster",
178
- tiles: [baseUrl],
179
- tileSize,
180
- };
181
- if (descriptor.attribution)
182
- out.attribution = descriptor.attribution;
183
- return out;
154
+ const spec = buildMapWmsRasterSourceSpec(descriptor, options);
155
+ return { ...spec, tiles: [...spec.tiles] };
184
156
  }
185
157
  /**
186
158
  * Build a MapLibre `raster` source spec for a WMTS descriptor using the
@@ -188,27 +160,8 @@ export function buildWmsRasterSourceSpec(descriptor, options = {}) {
188
160
  * (MapLibre's standard tile placeholders).
189
161
  */
190
162
  export function buildWmtsRasterSourceSpec(descriptor, options = {}) {
191
- const url = requireLocatorUrl(descriptor);
192
- const tileSize = options.tileSize ?? 256;
193
- const format = options.format ?? "image/png";
194
- const ext = wmtsExtensionForFormat(format);
195
- const layer = descriptor.locator.typeName ?? "";
196
- const style = descriptor.locator.styleId ?? "default";
197
- const tms = descriptor.locator.tileMatrixSetId ?? "WebMercatorQuad";
198
- const tileTemplate = `${url}/${encodeURIComponent(layer)}/${encodeURIComponent(style)}/${encodeURIComponent(tms)}/{z}/{y}/{x}.${ext}`;
199
- const out = {
200
- type: "raster",
201
- tiles: [tileTemplate],
202
- tileSize,
203
- scheme: "xyz",
204
- };
205
- if (options.minzoom !== undefined)
206
- out.minzoom = options.minzoom;
207
- if (options.maxzoom !== undefined)
208
- out.maxzoom = options.maxzoom;
209
- if (descriptor.attribution)
210
- out.attribution = descriptor.attribution;
211
- return out;
163
+ const spec = buildMapWmtsRasterSourceSpec(descriptor, options);
164
+ return { ...spec, tiles: [...spec.tiles] };
212
165
  }
213
166
  function toSdkProtocol(protocol) {
214
167
  switch (protocol) {
@@ -10,6 +10,7 @@
10
10
  * @module
11
11
  */
12
12
  import type { FeatureId } from "../contract/types.js";
13
+ import { type HonuaErrorMetadata, HonuaSdkError } from "../core/error-envelope.js";
13
14
  import type { SourceQualifiedFeatureSelectionTarget } from "../exploration/types.js";
14
15
  import type { HonuaLayerSpecification, HonuaSourceSpecification, HonuaStyleSpecification } from "../style/specification.js";
15
16
  import type { HonuaMapPackage } from "./map-package.js";
@@ -26,10 +27,10 @@ export interface HonuaRuntimeDiagnostic {
26
27
  readonly capability?: string;
27
28
  readonly context?: Readonly<Record<string, unknown>>;
28
29
  }
29
- export declare class HonuaRuntimeDiagnosticError extends Error {
30
+ export declare class HonuaRuntimeDiagnosticError extends HonuaSdkError {
30
31
  readonly diagnostics: readonly HonuaRuntimeDiagnostic[];
31
32
  readonly cause: unknown;
32
- constructor(message: string, diagnostics: readonly HonuaRuntimeDiagnostic[], cause?: unknown);
33
+ constructor(message: string, diagnostics: readonly HonuaRuntimeDiagnostic[], cause?: unknown, metadata?: HonuaErrorMetadata);
33
34
  }
34
35
  export interface NativeMapLibreSourceSpecification {
35
36
  readonly type: string;
@@ -1 +1 @@
1
- {"version":3,"file":"style-interactions.d.ts","sourceRoot":"","sources":["../../../src/runtime/style-interactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"style-interactions.d.ts","sourceRoot":"","sources":["../../../src/runtime/style-interactions.ts"],"names":[],"mappings":"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"}
@@ -9,15 +9,23 @@
9
9
  *
10
10
  * @module
11
11
  */
12
+ import { HonuaSdkError, mergeHonuaErrorContext } from "../core/error-envelope.js";
12
13
  import { sourceFeatureSelectionTarget } from "../exploration/selection.js";
13
14
  import { Expr } from "../expr/index.js";
14
15
  import { isHonuaSource } from "../style/specification.js";
15
16
  import { validateRuntimeFilterStyleSpecSync, validateRuntimeLayerStyleSpecSync, validateRuntimeSourceStyleSpecSync, validateRuntimeStyleExpressionStyleSpecSync, } from "./style-spec-validation.js";
16
- export class HonuaRuntimeDiagnosticError extends Error {
17
+ export class HonuaRuntimeDiagnosticError extends HonuaSdkError {
17
18
  diagnostics;
18
19
  cause;
19
- constructor(message, diagnostics, cause) {
20
- super(message);
20
+ constructor(message, diagnostics, cause, metadata = {}) {
21
+ super("runtime.diagnostic", message, {
22
+ ...metadata,
23
+ cause,
24
+ context: mergeHonuaErrorContext(metadata.context, {
25
+ diagnosticCount: diagnostics.length,
26
+ diagnosticCodes: diagnostics.map(({ code }) => code),
27
+ }),
28
+ });
21
29
  this.name = "HonuaRuntimeDiagnosticError";
22
30
  this.diagnostics = diagnostics;
23
31
  this.cause = cause;