@honua/app-platform 0.0.20-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (840) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +11 -0
  3. package/app/index.d.ts +164 -0
  4. package/app/index.d.ts.map +1 -0
  5. package/app/index.js +424 -0
  6. package/app-controller/controller.d.ts +425 -0
  7. package/app-controller/controller.d.ts.map +1 -0
  8. package/app-controller/controller.js +1173 -0
  9. package/app-controller/index.d.ts +14 -0
  10. package/app-controller/index.d.ts.map +1 -0
  11. package/app-controller/index.js +12 -0
  12. package/app-workspace/index.d.ts +421 -0
  13. package/app-workspace/index.d.ts.map +1 -0
  14. package/app-workspace/index.js +722 -0
  15. package/collaboration/client.d.ts +40 -0
  16. package/collaboration/client.d.ts.map +1 -0
  17. package/collaboration/client.js +299 -0
  18. package/collaboration/errors.d.ts +15 -0
  19. package/collaboration/errors.d.ts.map +1 -0
  20. package/collaboration/errors.js +17 -0
  21. package/collaboration/fixture.d.ts +41 -0
  22. package/collaboration/fixture.d.ts.map +1 -0
  23. package/collaboration/fixture.js +362 -0
  24. package/collaboration/index.d.ts +18 -0
  25. package/collaboration/index.d.ts.map +1 -0
  26. package/collaboration/index.js +14 -0
  27. package/collaboration/types.d.ts +240 -0
  28. package/collaboration/types.d.ts.map +1 -0
  29. package/collaboration/types.js +1 -0
  30. package/contract/analytics-sources.d.ts +149 -0
  31. package/contract/analytics-sources.d.ts.map +1 -0
  32. package/contract/analytics-sources.js +235 -0
  33. package/contract/edit-session.d.ts +203 -0
  34. package/contract/edit-session.d.ts.map +1 -0
  35. package/contract/edit-session.js +760 -0
  36. package/contract/edit-sketch.d.ts +91 -0
  37. package/contract/edit-sketch.d.ts.map +1 -0
  38. package/contract/edit-sketch.js +281 -0
  39. package/contract/index.d.ts +63 -0
  40. package/contract/index.d.ts.map +1 -0
  41. package/contract/index.js +52 -0
  42. package/contract/jobs.d.ts +149 -0
  43. package/contract/jobs.d.ts.map +1 -0
  44. package/contract/jobs.js +40 -0
  45. package/contract/pmtiles.d.ts +162 -0
  46. package/contract/pmtiles.d.ts.map +1 -0
  47. package/contract/pmtiles.js +155 -0
  48. package/contract/source.d.ts +447 -0
  49. package/contract/source.d.ts.map +1 -0
  50. package/contract/source.js +3909 -0
  51. package/contract/spatial-aggregation.d.ts +336 -0
  52. package/contract/spatial-aggregation.d.ts.map +1 -0
  53. package/contract/spatial-aggregation.js +298 -0
  54. package/contract/temporal.d.ts +455 -0
  55. package/contract/temporal.d.ts.map +1 -0
  56. package/contract/temporal.js +146 -0
  57. package/contract/tiles.d.ts +370 -0
  58. package/contract/tiles.d.ts.map +1 -0
  59. package/contract/tiles.js +519 -0
  60. package/contract/types.d.ts +694 -0
  61. package/contract/types.d.ts.map +1 -0
  62. package/contract/types.js +183 -0
  63. package/contract/widget-source.d.ts +205 -0
  64. package/contract/widget-source.d.ts.map +1 -0
  65. package/contract/widget-source.js +1473 -0
  66. package/control-plane/client.d.ts +95 -0
  67. package/control-plane/client.d.ts.map +1 -0
  68. package/control-plane/client.js +374 -0
  69. package/control-plane/index.d.ts +18 -0
  70. package/control-plane/index.d.ts.map +1 -0
  71. package/control-plane/index.js +14 -0
  72. package/control-plane/types.d.ts +233 -0
  73. package/control-plane/types.d.ts.map +1 -0
  74. package/control-plane/types.js +7 -0
  75. package/controls/basemap-style-binding.d.ts +54 -0
  76. package/controls/basemap-style-binding.d.ts.map +1 -0
  77. package/controls/basemap-style-binding.js +199 -0
  78. package/controls/basemap-switcher.d.ts +95 -0
  79. package/controls/basemap-switcher.d.ts.map +1 -0
  80. package/controls/basemap-switcher.js +379 -0
  81. package/controls/element-utils.d.ts +48 -0
  82. package/controls/element-utils.d.ts.map +1 -0
  83. package/controls/element-utils.js +78 -0
  84. package/controls/index.d.ts +33 -0
  85. package/controls/index.d.ts.map +1 -0
  86. package/controls/index.js +30 -0
  87. package/controls/layer-list.d.ts +98 -0
  88. package/controls/layer-list.d.ts.map +1 -0
  89. package/controls/layer-list.js +375 -0
  90. package/controls/legend-derive.d.ts +53 -0
  91. package/controls/legend-derive.d.ts.map +1 -0
  92. package/controls/legend-derive.js +196 -0
  93. package/controls/legend.d.ts +104 -0
  94. package/controls/legend.d.ts.map +1 -0
  95. package/controls/legend.js +381 -0
  96. package/controls/swipe-control.d.ts +80 -0
  97. package/controls/swipe-control.d.ts.map +1 -0
  98. package/controls/swipe-control.js +368 -0
  99. package/controls/types.d.ts +227 -0
  100. package/controls/types.d.ts.map +1 -0
  101. package/controls/types.js +11 -0
  102. package/core/auth/client-credentials-provider.d.ts +51 -0
  103. package/core/auth/client-credentials-provider.d.ts.map +1 -0
  104. package/core/auth/client-credentials-provider.js +115 -0
  105. package/core/auth/credential-store.d.ts +52 -0
  106. package/core/auth/credential-store.d.ts.map +1 -0
  107. package/core/auth/credential-store.js +82 -0
  108. package/core/auth/index.d.ts +23 -0
  109. package/core/auth/index.d.ts.map +1 -0
  110. package/core/auth/index.js +20 -0
  111. package/core/auth/oauth2-provider.d.ts +114 -0
  112. package/core/auth/oauth2-provider.d.ts.map +1 -0
  113. package/core/auth/oauth2-provider.js +408 -0
  114. package/core/auth/pkce.d.ts +25 -0
  115. package/core/auth/pkce.d.ts.map +1 -0
  116. package/core/auth/pkce.js +46 -0
  117. package/core/auth/static-providers.d.ts +20 -0
  118. package/core/auth/static-providers.d.ts.map +1 -0
  119. package/core/auth/static-providers.js +26 -0
  120. package/core/auth/token-endpoint.d.ts +40 -0
  121. package/core/auth/token-endpoint.d.ts.map +1 -0
  122. package/core/auth/token-endpoint.js +133 -0
  123. package/core/auth/types.d.ts +144 -0
  124. package/core/auth/types.d.ts.map +1 -0
  125. package/core/auth/types.js +8 -0
  126. package/core/batch.d.ts +37 -0
  127. package/core/batch.d.ts.map +1 -0
  128. package/core/batch.js +79 -0
  129. package/core/cache-state.d.ts +79 -0
  130. package/core/cache-state.d.ts.map +1 -0
  131. package/core/cache-state.js +87 -0
  132. package/core/client.d.ts +607 -0
  133. package/core/client.d.ts.map +1 -0
  134. package/core/client.js +1716 -0
  135. package/core/compatibility.d.ts +18 -0
  136. package/core/compatibility.d.ts.map +1 -0
  137. package/core/compatibility.js +245 -0
  138. package/core/errors.d.ts +139 -0
  139. package/core/errors.d.ts.map +1 -0
  140. package/core/errors.js +176 -0
  141. package/core/esri-geojson.d.ts +66 -0
  142. package/core/esri-geojson.d.ts.map +1 -0
  143. package/core/esri-geojson.js +363 -0
  144. package/core/geoparquet-sql.d.ts +162 -0
  145. package/core/geoparquet-sql.d.ts.map +1 -0
  146. package/core/geoparquet-sql.js +333 -0
  147. package/core/geoservices.d.ts +34 -0
  148. package/core/geoservices.d.ts.map +1 -0
  149. package/core/geoservices.js +434 -0
  150. package/core/grpc-adapter.d.ts +23 -0
  151. package/core/grpc-adapter.d.ts.map +1 -0
  152. package/core/grpc-adapter.js +688 -0
  153. package/core/odata.d.ts +347 -0
  154. package/core/odata.d.ts.map +1 -0
  155. package/core/odata.js +913 -0
  156. package/core/ogc-conformance.d.ts +35 -0
  157. package/core/ogc-conformance.d.ts.map +1 -0
  158. package/core/ogc-conformance.js +134 -0
  159. package/core/ogc-endpoint-layout.d.ts +70 -0
  160. package/core/ogc-endpoint-layout.d.ts.map +1 -0
  161. package/core/ogc-endpoint-layout.js +173 -0
  162. package/core/ogc-features.d.ts +23 -0
  163. package/core/ogc-features.d.ts.map +1 -0
  164. package/core/ogc-features.js +129 -0
  165. package/core/ogc-maps.d.ts +49 -0
  166. package/core/ogc-maps.d.ts.map +1 -0
  167. package/core/ogc-maps.js +126 -0
  168. package/core/ogc-processes.d.ts +118 -0
  169. package/core/ogc-processes.d.ts.map +1 -0
  170. package/core/ogc-processes.js +423 -0
  171. package/core/ogc-records.d.ts +75 -0
  172. package/core/ogc-records.d.ts.map +1 -0
  173. package/core/ogc-records.js +251 -0
  174. package/core/ogc-tiles.d.ts +125 -0
  175. package/core/ogc-tiles.d.ts.map +1 -0
  176. package/core/ogc-tiles.js +183 -0
  177. package/core/path-utils.d.ts +69 -0
  178. package/core/path-utils.d.ts.map +1 -0
  179. package/core/path-utils.js +123 -0
  180. package/core/pbf-decoder.d.ts +39 -0
  181. package/core/pbf-decoder.d.ts.map +1 -0
  182. package/core/pbf-decoder.js +702 -0
  183. package/core/process-runner.d.ts +104 -0
  184. package/core/process-runner.d.ts.map +1 -0
  185. package/core/process-runner.js +315 -0
  186. package/core/protocol-transport.d.ts +76 -0
  187. package/core/protocol-transport.d.ts.map +1 -0
  188. package/core/protocol-transport.js +15 -0
  189. package/core/query-builder.d.ts +261 -0
  190. package/core/query-builder.d.ts.map +1 -0
  191. package/core/query-builder.js +538 -0
  192. package/core/request-pipeline.d.ts +88 -0
  193. package/core/request-pipeline.d.ts.map +1 -0
  194. package/core/request-pipeline.js +273 -0
  195. package/core/spatial-filter.d.ts +93 -0
  196. package/core/spatial-filter.d.ts.map +1 -0
  197. package/core/spatial-filter.js +153 -0
  198. package/core/stac-static.d.ts +51 -0
  199. package/core/stac-static.d.ts.map +1 -0
  200. package/core/stac-static.js +195 -0
  201. package/core/stac.d.ts +67 -0
  202. package/core/stac.d.ts.map +1 -0
  203. package/core/stac.js +259 -0
  204. package/core/surfaces.d.ts +540 -0
  205. package/core/surfaces.d.ts.map +1 -0
  206. package/core/surfaces.js +1964 -0
  207. package/core/terrain-elevation.d.ts +114 -0
  208. package/core/terrain-elevation.d.ts.map +1 -0
  209. package/core/terrain-elevation.js +150 -0
  210. package/core/types.d.ts +1404 -0
  211. package/core/types.d.ts.map +1 -0
  212. package/core/types.js +13 -0
  213. package/core/wfs-capabilities.d.ts +153 -0
  214. package/core/wfs-capabilities.d.ts.map +1 -0
  215. package/core/wfs-capabilities.js +490 -0
  216. package/core/wfs-filter.d.ts +118 -0
  217. package/core/wfs-filter.d.ts.map +1 -0
  218. package/core/wfs-filter.js +634 -0
  219. package/core/wfs.d.ts +232 -0
  220. package/core/wfs.d.ts.map +1 -0
  221. package/core/wfs.js +426 -0
  222. package/core/wire-shared.d.ts +32 -0
  223. package/core/wire-shared.d.ts.map +1 -0
  224. package/core/wire-shared.js +76 -0
  225. package/core/wms-axis.d.ts +36 -0
  226. package/core/wms-axis.d.ts.map +1 -0
  227. package/core/wms-axis.js +73 -0
  228. package/core/wms-capabilities.d.ts +110 -0
  229. package/core/wms-capabilities.d.ts.map +1 -0
  230. package/core/wms-capabilities.js +559 -0
  231. package/core/wms-types.d.ts +128 -0
  232. package/core/wms-types.d.ts.map +1 -0
  233. package/core/wms-types.js +32 -0
  234. package/core/wms.d.ts +144 -0
  235. package/core/wms.d.ts.map +1 -0
  236. package/core/wms.js +338 -0
  237. package/core/wmts-capabilities.d.ts +82 -0
  238. package/core/wmts-capabilities.d.ts.map +1 -0
  239. package/core/wmts-capabilities.js +402 -0
  240. package/core/wmts.d.ts +103 -0
  241. package/core/wmts.d.ts.map +1 -0
  242. package/core/wmts.js +332 -0
  243. package/core/xml-text.d.ts +20 -0
  244. package/core/xml-text.d.ts.map +1 -0
  245. package/core/xml-text.js +85 -0
  246. package/esri-compat/basemap-gallery.d.ts +38 -0
  247. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  248. package/esri-compat/basemap-gallery.js +159 -0
  249. package/esri-compat/basemap-layer-list.d.ts +35 -0
  250. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  251. package/esri-compat/basemap-layer-list.js +139 -0
  252. package/esri-compat/basemap.d.ts +32 -0
  253. package/esri-compat/basemap.d.ts.map +1 -0
  254. package/esri-compat/basemap.js +84 -0
  255. package/esri-compat/bookmarks.d.ts +36 -0
  256. package/esri-compat/bookmarks.d.ts.map +1 -0
  257. package/esri-compat/bookmarks.js +108 -0
  258. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  259. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  260. package/esri-compat/class-breaks-renderer.js +164 -0
  261. package/esri-compat/color.d.ts +22 -0
  262. package/esri-compat/color.d.ts.map +1 -0
  263. package/esri-compat/color.js +106 -0
  264. package/esri-compat/controls.d.ts +174 -0
  265. package/esri-compat/controls.d.ts.map +1 -0
  266. package/esri-compat/controls.js +479 -0
  267. package/esri-compat/coordinate-conversion.d.ts +41 -0
  268. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  269. package/esri-compat/coordinate-conversion.js +125 -0
  270. package/esri-compat/directions.d.ts +45 -0
  271. package/esri-compat/directions.d.ts.map +1 -0
  272. package/esri-compat/directions.js +123 -0
  273. package/esri-compat/editor.d.ts +47 -0
  274. package/esri-compat/editor.d.ts.map +1 -0
  275. package/esri-compat/editor.js +170 -0
  276. package/esri-compat/esri-config.d.ts +16 -0
  277. package/esri-compat/esri-config.d.ts.map +1 -0
  278. package/esri-compat/esri-config.js +23 -0
  279. package/esri-compat/esri-request.d.ts +17 -0
  280. package/esri-compat/esri-request.d.ts.map +1 -0
  281. package/esri-compat/esri-request.js +127 -0
  282. package/esri-compat/event-bus.d.ts +106 -0
  283. package/esri-compat/event-bus.d.ts.map +1 -0
  284. package/esri-compat/event-bus.js +90 -0
  285. package/esri-compat/expand.d.ts +36 -0
  286. package/esri-compat/expand.d.ts.map +1 -0
  287. package/esri-compat/expand.js +97 -0
  288. package/esri-compat/extent.d.ts +43 -0
  289. package/esri-compat/extent.d.ts.map +1 -0
  290. package/esri-compat/extent.js +140 -0
  291. package/esri-compat/feature-filter.d.ts +55 -0
  292. package/esri-compat/feature-filter.d.ts.map +1 -0
  293. package/esri-compat/feature-filter.js +109 -0
  294. package/esri-compat/feature-form.d.ts +64 -0
  295. package/esri-compat/feature-form.d.ts.map +1 -0
  296. package/esri-compat/feature-form.js +137 -0
  297. package/esri-compat/feature-layer.d.ts +173 -0
  298. package/esri-compat/feature-layer.d.ts.map +1 -0
  299. package/esri-compat/feature-layer.js +661 -0
  300. package/esri-compat/feature-set.d.ts +32 -0
  301. package/esri-compat/feature-set.d.ts.map +1 -0
  302. package/esri-compat/feature-set.js +80 -0
  303. package/esri-compat/feature-table.d.ts +141 -0
  304. package/esri-compat/feature-table.d.ts.map +1 -0
  305. package/esri-compat/feature-table.js +500 -0
  306. package/esri-compat/feature-templates.d.ts +41 -0
  307. package/esri-compat/feature-templates.d.ts.map +1 -0
  308. package/esri-compat/feature-templates.js +97 -0
  309. package/esri-compat/feature.d.ts +33 -0
  310. package/esri-compat/feature.d.ts.map +1 -0
  311. package/esri-compat/feature.js +83 -0
  312. package/esri-compat/geojson-layer.d.ts +86 -0
  313. package/esri-compat/geojson-layer.d.ts.map +1 -0
  314. package/esri-compat/geojson-layer.js +191 -0
  315. package/esri-compat/geometry-engine.d.ts +107 -0
  316. package/esri-compat/geometry-engine.d.ts.map +1 -0
  317. package/esri-compat/geometry-engine.js +266 -0
  318. package/esri-compat/graphic.d.ts +46 -0
  319. package/esri-compat/graphic.d.ts.map +1 -0
  320. package/esri-compat/graphic.js +103 -0
  321. package/esri-compat/graphics-layer.d.ts +49 -0
  322. package/esri-compat/graphics-layer.d.ts.map +1 -0
  323. package/esri-compat/graphics-layer.js +185 -0
  324. package/esri-compat/group-layer.d.ts +48 -0
  325. package/esri-compat/group-layer.d.ts.map +1 -0
  326. package/esri-compat/group-layer.js +212 -0
  327. package/esri-compat/identify.d.ts +71 -0
  328. package/esri-compat/identify.d.ts.map +1 -0
  329. package/esri-compat/identify.js +299 -0
  330. package/esri-compat/identity-manager.d.ts +74 -0
  331. package/esri-compat/identity-manager.d.ts.map +1 -0
  332. package/esri-compat/identity-manager.js +245 -0
  333. package/esri-compat/imagery-layer.d.ts +78 -0
  334. package/esri-compat/imagery-layer.d.ts.map +1 -0
  335. package/esri-compat/imagery-layer.js +167 -0
  336. package/esri-compat/label-class.d.ts +31 -0
  337. package/esri-compat/label-class.d.ts.map +1 -0
  338. package/esri-compat/label-class.js +102 -0
  339. package/esri-compat/layer-list.d.ts +77 -0
  340. package/esri-compat/layer-list.d.ts.map +1 -0
  341. package/esri-compat/layer-list.js +342 -0
  342. package/esri-compat/legend.d.ts +53 -0
  343. package/esri-compat/legend.d.ts.map +1 -0
  344. package/esri-compat/legend.js +254 -0
  345. package/esri-compat/map-image-layer.d.ts +162 -0
  346. package/esri-compat/map-image-layer.d.ts.map +1 -0
  347. package/esri-compat/map-image-layer.js +709 -0
  348. package/esri-compat/map-view.d.ts +323 -0
  349. package/esri-compat/map-view.d.ts.map +1 -0
  350. package/esri-compat/map-view.js +1175 -0
  351. package/esri-compat/map.d.ts +47 -0
  352. package/esri-compat/map.d.ts.map +1 -0
  353. package/esri-compat/map.js +209 -0
  354. package/esri-compat/measurement-2d.d.ts +61 -0
  355. package/esri-compat/measurement-2d.d.ts.map +1 -0
  356. package/esri-compat/measurement-2d.js +184 -0
  357. package/esri-compat/measurement.d.ts +45 -0
  358. package/esri-compat/measurement.d.ts.map +1 -0
  359. package/esri-compat/measurement.js +193 -0
  360. package/esri-compat/oauth-info.d.ts +50 -0
  361. package/esri-compat/oauth-info.d.ts.map +1 -0
  362. package/esri-compat/oauth-info.js +142 -0
  363. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  364. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  365. package/esri-compat/picture-marker-symbol.js +126 -0
  366. package/esri-compat/point.d.ts +31 -0
  367. package/esri-compat/point.d.ts.map +1 -0
  368. package/esri-compat/point.js +102 -0
  369. package/esri-compat/polygon.d.ts +31 -0
  370. package/esri-compat/polygon.d.ts.map +1 -0
  371. package/esri-compat/polygon.js +107 -0
  372. package/esri-compat/polyline.d.ts +31 -0
  373. package/esri-compat/polyline.d.ts.map +1 -0
  374. package/esri-compat/polyline.js +107 -0
  375. package/esri-compat/popup-template.d.ts +55 -0
  376. package/esri-compat/popup-template.d.ts.map +1 -0
  377. package/esri-compat/popup-template.js +128 -0
  378. package/esri-compat/popup.d.ts +54 -0
  379. package/esri-compat/popup.d.ts.map +1 -0
  380. package/esri-compat/popup.js +312 -0
  381. package/esri-compat/print.d.ts +47 -0
  382. package/esri-compat/print.d.ts.map +1 -0
  383. package/esri-compat/print.js +105 -0
  384. package/esri-compat/query.d.ts +58 -0
  385. package/esri-compat/query.d.ts.map +1 -0
  386. package/esri-compat/query.js +128 -0
  387. package/esri-compat/reactive-utils.d.ts +24 -0
  388. package/esri-compat/reactive-utils.d.ts.map +1 -0
  389. package/esri-compat/reactive-utils.js +193 -0
  390. package/esri-compat/request.d.ts +41 -0
  391. package/esri-compat/request.d.ts.map +1 -0
  392. package/esri-compat/request.js +253 -0
  393. package/esri-compat/route-layer.d.ts +59 -0
  394. package/esri-compat/route-layer.d.ts.map +1 -0
  395. package/esri-compat/route-layer.js +223 -0
  396. package/esri-compat/route-task.d.ts +88 -0
  397. package/esri-compat/route-task.d.ts.map +1 -0
  398. package/esri-compat/route-task.js +225 -0
  399. package/esri-compat/scene-view.d.ts +41 -0
  400. package/esri-compat/scene-view.d.ts.map +1 -0
  401. package/esri-compat/scene-view.js +68 -0
  402. package/esri-compat/search.d.ts +112 -0
  403. package/esri-compat/search.d.ts.map +1 -0
  404. package/esri-compat/search.js +820 -0
  405. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  406. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  407. package/esri-compat/simple-fill-symbol.js +85 -0
  408. package/esri-compat/simple-line-symbol.d.ts +27 -0
  409. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  410. package/esri-compat/simple-line-symbol.js +85 -0
  411. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  412. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  413. package/esri-compat/simple-marker-symbol.js +92 -0
  414. package/esri-compat/simple-renderer.d.ts +29 -0
  415. package/esri-compat/simple-renderer.d.ts.map +1 -0
  416. package/esri-compat/simple-renderer.js +92 -0
  417. package/esri-compat/sketch.d.ts +64 -0
  418. package/esri-compat/sketch.d.ts.map +1 -0
  419. package/esri-compat/sketch.js +227 -0
  420. package/esri-compat/spatial-reference.d.ts +31 -0
  421. package/esri-compat/spatial-reference.d.ts.map +1 -0
  422. package/esri-compat/spatial-reference.js +102 -0
  423. package/esri-compat/swipe.d.ts +34 -0
  424. package/esri-compat/swipe.d.ts.map +1 -0
  425. package/esri-compat/swipe.js +93 -0
  426. package/esri-compat/table-list.d.ts +36 -0
  427. package/esri-compat/table-list.d.ts.map +1 -0
  428. package/esri-compat/table-list.js +126 -0
  429. package/esri-compat/text-symbol.d.ts +37 -0
  430. package/esri-compat/text-symbol.d.ts.map +1 -0
  431. package/esri-compat/text-symbol.js +123 -0
  432. package/esri-compat/tile-layer.d.ts +52 -0
  433. package/esri-compat/tile-layer.d.ts.map +1 -0
  434. package/esri-compat/tile-layer.js +168 -0
  435. package/esri-compat/time-slider.d.ts +70 -0
  436. package/esri-compat/time-slider.d.ts.map +1 -0
  437. package/esri-compat/time-slider.js +208 -0
  438. package/esri-compat/track.d.ts +51 -0
  439. package/esri-compat/track.d.ts.map +1 -0
  440. package/esri-compat/track.js +174 -0
  441. package/esri-compat/unique-value-renderer.d.ts +41 -0
  442. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  443. package/esri-compat/unique-value-renderer.js +127 -0
  444. package/esri-compat/url.d.ts +13 -0
  445. package/esri-compat/url.d.ts.map +1 -0
  446. package/esri-compat/url.js +68 -0
  447. package/esri-compat/vector-tile-layer.d.ts +47 -0
  448. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  449. package/esri-compat/vector-tile-layer.js +130 -0
  450. package/esri-compat/web-map.d.ts +14 -0
  451. package/esri-compat/web-map.d.ts.map +1 -0
  452. package/esri-compat/web-map.js +24 -0
  453. package/esri-compat/wfs-layer.d.ts +64 -0
  454. package/esri-compat/wfs-layer.d.ts.map +1 -0
  455. package/esri-compat/wfs-layer.js +145 -0
  456. package/esri-compat/wms-layer.d.ts +76 -0
  457. package/esri-compat/wms-layer.d.ts.map +1 -0
  458. package/esri-compat/wms-layer.js +157 -0
  459. package/exploration/context.d.ts +25 -0
  460. package/exploration/context.d.ts.map +1 -0
  461. package/exploration/context.js +396 -0
  462. package/exploration/index.d.ts +27 -0
  463. package/exploration/index.d.ts.map +1 -0
  464. package/exploration/index.js +24 -0
  465. package/exploration/presets.d.ts +27 -0
  466. package/exploration/presets.d.ts.map +1 -0
  467. package/exploration/presets.js +114 -0
  468. package/exploration/reducer.d.ts +23 -0
  469. package/exploration/reducer.d.ts.map +1 -0
  470. package/exploration/reducer.js +332 -0
  471. package/exploration/selection.d.ts +25 -0
  472. package/exploration/selection.d.ts.map +1 -0
  473. package/exploration/selection.js +34 -0
  474. package/exploration/selectors.d.ts +56 -0
  475. package/exploration/selectors.d.ts.map +1 -0
  476. package/exploration/selectors.js +110 -0
  477. package/exploration/types.d.ts +294 -0
  478. package/exploration/types.d.ts.map +1 -0
  479. package/exploration/types.js +33 -0
  480. package/expr/expression.d.ts +457 -0
  481. package/expr/expression.d.ts.map +1 -0
  482. package/expr/expression.js +663 -0
  483. package/expr/index.d.ts +32 -0
  484. package/expr/index.d.ts.map +1 -0
  485. package/expr/index.js +30 -0
  486. package/filter-registry/index.d.ts +145 -0
  487. package/filter-registry/index.d.ts.map +1 -0
  488. package/filter-registry/index.js +531 -0
  489. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  490. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  491. package/gen/honua/v1/feature_service_pb.js +375 -0
  492. package/generated-app/errors.d.ts +41 -0
  493. package/generated-app/errors.d.ts.map +1 -0
  494. package/generated-app/errors.js +41 -0
  495. package/generated-app/index.d.ts +17 -0
  496. package/generated-app/index.d.ts.map +1 -0
  497. package/generated-app/index.js +12 -0
  498. package/generated-app/manifest.d.ts +183 -0
  499. package/generated-app/manifest.d.ts.map +1 -0
  500. package/generated-app/manifest.js +14 -0
  501. package/generated-app/projection.d.ts +44 -0
  502. package/generated-app/projection.d.ts.map +1 -0
  503. package/generated-app/projection.js +234 -0
  504. package/generated-app/runtime.d.ts +215 -0
  505. package/generated-app/runtime.d.ts.map +1 -0
  506. package/generated-app/runtime.js +1196 -0
  507. package/geocoding/index.d.ts +106 -0
  508. package/geocoding/index.d.ts.map +1 -0
  509. package/geocoding/index.js +278 -0
  510. package/interactions/detail-model.d.ts +54 -0
  511. package/interactions/detail-model.d.ts.map +1 -0
  512. package/interactions/detail-model.js +105 -0
  513. package/interactions/exploration-bindings.d.ts +120 -0
  514. package/interactions/exploration-bindings.d.ts.map +1 -0
  515. package/interactions/exploration-bindings.js +218 -0
  516. package/interactions/feature-state.d.ts +144 -0
  517. package/interactions/feature-state.d.ts.map +1 -0
  518. package/interactions/feature-state.js +169 -0
  519. package/interactions/hit-test.d.ts +112 -0
  520. package/interactions/hit-test.d.ts.map +1 -0
  521. package/interactions/hit-test.js +291 -0
  522. package/interactions/index.d.ts +31 -0
  523. package/interactions/index.d.ts.map +1 -0
  524. package/interactions/index.js +24 -0
  525. package/interactions/share-state.d.ts +36 -0
  526. package/interactions/share-state.d.ts.map +1 -0
  527. package/interactions/share-state.js +123 -0
  528. package/map/feature-service-adapter.d.ts +138 -0
  529. package/map/feature-service-adapter.d.ts.map +1 -0
  530. package/map/feature-service-adapter.js +279 -0
  531. package/map/honua-map.d.ts +203 -0
  532. package/map/honua-map.d.ts.map +1 -0
  533. package/map/honua-map.js +347 -0
  534. package/map/index.d.ts +27 -0
  535. package/map/index.d.ts.map +1 -0
  536. package/map/index.js +22 -0
  537. package/map/maplibre-target.d.ts +103 -0
  538. package/map/maplibre-target.d.ts.map +1 -0
  539. package/map/maplibre-target.js +164 -0
  540. package/map/webmap-maplibre.d.ts +60 -0
  541. package/map/webmap-maplibre.d.ts.map +1 -0
  542. package/map/webmap-maplibre.js +212 -0
  543. package/operate/client.d.ts +94 -0
  544. package/operate/client.d.ts.map +1 -0
  545. package/operate/client.js +361 -0
  546. package/operate/index.d.ts +22 -0
  547. package/operate/index.d.ts.map +1 -0
  548. package/operate/index.js +19 -0
  549. package/operate/types.d.ts +397 -0
  550. package/operate/types.d.ts.map +1 -0
  551. package/operate/types.js +17 -0
  552. package/operator/client.d.ts +60 -0
  553. package/operator/client.d.ts.map +1 -0
  554. package/operator/client.js +20 -0
  555. package/operator/controllers/approval.d.ts +52 -0
  556. package/operator/controllers/approval.d.ts.map +1 -0
  557. package/operator/controllers/approval.js +123 -0
  558. package/operator/controllers/base.d.ts +27 -0
  559. package/operator/controllers/base.d.ts.map +1 -0
  560. package/operator/controllers/base.js +53 -0
  561. package/operator/controllers/builder-workspace.d.ts +55 -0
  562. package/operator/controllers/builder-workspace.d.ts.map +1 -0
  563. package/operator/controllers/builder-workspace.js +108 -0
  564. package/operator/controllers/chat.d.ts +61 -0
  565. package/operator/controllers/chat.d.ts.map +1 -0
  566. package/operator/controllers/chat.js +154 -0
  567. package/operator/controllers/clarification.d.ts +52 -0
  568. package/operator/controllers/clarification.d.ts.map +1 -0
  569. package/operator/controllers/clarification.js +121 -0
  570. package/operator/controllers/execution.d.ts +60 -0
  571. package/operator/controllers/execution.d.ts.map +1 -0
  572. package/operator/controllers/execution.js +286 -0
  573. package/operator/controllers/index.d.ts +23 -0
  574. package/operator/controllers/index.d.ts.map +1 -0
  575. package/operator/controllers/index.js +15 -0
  576. package/operator/controllers/map-workspace.d.ts +85 -0
  577. package/operator/controllers/map-workspace.d.ts.map +1 -0
  578. package/operator/controllers/map-workspace.js +296 -0
  579. package/operator/controllers/plan-review.d.ts +66 -0
  580. package/operator/controllers/plan-review.d.ts.map +1 -0
  581. package/operator/controllers/plan-review.js +124 -0
  582. package/operator/errors.d.ts +62 -0
  583. package/operator/errors.d.ts.map +1 -0
  584. package/operator/errors.js +75 -0
  585. package/operator/i18n/index.d.ts +10 -0
  586. package/operator/i18n/index.d.ts.map +1 -0
  587. package/operator/i18n/index.js +8 -0
  588. package/operator/i18n/messages.d.ts +19 -0
  589. package/operator/i18n/messages.d.ts.map +1 -0
  590. package/operator/i18n/messages.js +54 -0
  591. package/operator/index.d.ts +19 -0
  592. package/operator/index.d.ts.map +1 -0
  593. package/operator/index.js +15 -0
  594. package/operator/telemetry.d.ts +26 -0
  595. package/operator/telemetry.d.ts.map +1 -0
  596. package/operator/telemetry.js +9 -0
  597. package/operator/theming/index.d.ts +12 -0
  598. package/operator/theming/index.d.ts.map +1 -0
  599. package/operator/theming/index.js +9 -0
  600. package/operator/theming/provider.d.ts +27 -0
  601. package/operator/theming/provider.d.ts.map +1 -0
  602. package/operator/theming/provider.js +26 -0
  603. package/operator/theming/tokens.d.ts +28 -0
  604. package/operator/theming/tokens.d.ts.map +1 -0
  605. package/operator/theming/tokens.js +65 -0
  606. package/operator/workspace/events.d.ts +70 -0
  607. package/operator/workspace/events.d.ts.map +1 -0
  608. package/operator/workspace/events.js +9 -0
  609. package/operator/workspace/index.d.ts +12 -0
  610. package/operator/workspace/index.d.ts.map +1 -0
  611. package/operator/workspace/index.js +8 -0
  612. package/operator/workspace/types.d.ts +178 -0
  613. package/operator/workspace/types.d.ts.map +1 -0
  614. package/operator/workspace/types.js +47 -0
  615. package/operator/workspace/workspace.d.ts +58 -0
  616. package/operator/workspace/workspace.d.ts.map +1 -0
  617. package/operator/workspace/workspace.js +339 -0
  618. package/package.json +105 -0
  619. package/realtime/exploration.d.ts +16 -0
  620. package/realtime/exploration.d.ts.map +1 -0
  621. package/realtime/exploration.js +32 -0
  622. package/realtime/honua-server.d.ts +123 -0
  623. package/realtime/honua-server.d.ts.map +1 -0
  624. package/realtime/honua-server.js +188 -0
  625. package/realtime/index.d.ts +20 -0
  626. package/realtime/index.d.ts.map +1 -0
  627. package/realtime/index.js +14 -0
  628. package/realtime/projections.d.ts +30 -0
  629. package/realtime/projections.d.ts.map +1 -0
  630. package/realtime/projections.js +51 -0
  631. package/realtime/reducer.d.ts +14 -0
  632. package/realtime/reducer.d.ts.map +1 -0
  633. package/realtime/reducer.js +351 -0
  634. package/realtime/sse.d.ts +23 -0
  635. package/realtime/sse.d.ts.map +1 -0
  636. package/realtime/sse.js +143 -0
  637. package/realtime/store.d.ts +18 -0
  638. package/realtime/store.d.ts.map +1 -0
  639. package/realtime/store.js +63 -0
  640. package/realtime/types.d.ts +190 -0
  641. package/realtime/types.d.ts.map +1 -0
  642. package/realtime/types.js +10 -0
  643. package/replica-sync/client.d.ts +32 -0
  644. package/replica-sync/client.d.ts.map +1 -0
  645. package/replica-sync/client.js +52 -0
  646. package/replica-sync/errors.d.ts +22 -0
  647. package/replica-sync/errors.d.ts.map +1 -0
  648. package/replica-sync/errors.js +29 -0
  649. package/replica-sync/fixture.d.ts +40 -0
  650. package/replica-sync/fixture.d.ts.map +1 -0
  651. package/replica-sync/fixture.js +364 -0
  652. package/replica-sync/index.d.ts +22 -0
  653. package/replica-sync/index.d.ts.map +1 -0
  654. package/replica-sync/index.js +17 -0
  655. package/replica-sync/types.d.ts +270 -0
  656. package/replica-sync/types.d.ts.map +1 -0
  657. package/replica-sync/types.js +13 -0
  658. package/runtime/diff.d.ts +31 -0
  659. package/runtime/diff.d.ts.map +1 -0
  660. package/runtime/diff.js +143 -0
  661. package/runtime/errors.d.ts +40 -0
  662. package/runtime/errors.d.ts.map +1 -0
  663. package/runtime/errors.js +35 -0
  664. package/runtime/index.d.ts +59 -0
  665. package/runtime/index.d.ts.map +1 -0
  666. package/runtime/index.js +40 -0
  667. package/runtime/legend.d.ts +23 -0
  668. package/runtime/legend.d.ts.map +1 -0
  669. package/runtime/legend.js +38 -0
  670. package/runtime/load-package.d.ts +125 -0
  671. package/runtime/load-package.d.ts.map +1 -0
  672. package/runtime/load-package.js +272 -0
  673. package/runtime/map-package-fetch.d.ts +107 -0
  674. package/runtime/map-package-fetch.d.ts.map +1 -0
  675. package/runtime/map-package-fetch.js +336 -0
  676. package/runtime/map-package-realtime.d.ts +169 -0
  677. package/runtime/map-package-realtime.d.ts.map +1 -0
  678. package/runtime/map-package-realtime.js +350 -0
  679. package/runtime/map-package-validation.d.ts +30 -0
  680. package/runtime/map-package-validation.d.ts.map +1 -0
  681. package/runtime/map-package-validation.js +257 -0
  682. package/runtime/map-package-watch.d.ts +78 -0
  683. package/runtime/map-package-watch.d.ts.map +1 -0
  684. package/runtime/map-package-watch.js +695 -0
  685. package/runtime/map-package.d.ts +167 -0
  686. package/runtime/map-package.d.ts.map +1 -0
  687. package/runtime/map-package.js +15 -0
  688. package/runtime/ogc-styles.d.ts +110 -0
  689. package/runtime/ogc-styles.d.ts.map +1 -0
  690. package/runtime/ogc-styles.js +195 -0
  691. package/runtime/pmtiles-protocol.d.ts +77 -0
  692. package/runtime/pmtiles-protocol.d.ts.map +1 -0
  693. package/runtime/pmtiles-protocol.js +120 -0
  694. package/runtime/popups.d.ts +62 -0
  695. package/runtime/popups.d.ts.map +1 -0
  696. package/runtime/popups.js +95 -0
  697. package/runtime/query-tiles.d.ts +217 -0
  698. package/runtime/query-tiles.d.ts.map +1 -0
  699. package/runtime/query-tiles.js +801 -0
  700. package/runtime/runtime.d.ts +243 -0
  701. package/runtime/runtime.d.ts.map +1 -0
  702. package/runtime/runtime.js +1147 -0
  703. package/runtime/source-bridge.d.ts +99 -0
  704. package/runtime/source-bridge.d.ts.map +1 -0
  705. package/runtime/source-bridge.js +428 -0
  706. package/runtime/style-compose.d.ts +46 -0
  707. package/runtime/style-compose.d.ts.map +1 -0
  708. package/runtime/style-compose.js +144 -0
  709. package/runtime/style-interactions.d.ts +141 -0
  710. package/runtime/style-interactions.d.ts.map +1 -0
  711. package/runtime/style-interactions.js +574 -0
  712. package/runtime/style-spec-validation.d.ts +23 -0
  713. package/runtime/style-spec-validation.d.ts.map +1 -0
  714. package/runtime/style-spec-validation.js +357 -0
  715. package/scene-workspace/analysis-widgets.d.ts +334 -0
  716. package/scene-workspace/analysis-widgets.d.ts.map +1 -0
  717. package/scene-workspace/analysis-widgets.js +424 -0
  718. package/scene-workspace/cesium-adapter.d.ts +438 -0
  719. package/scene-workspace/cesium-adapter.d.ts.map +1 -0
  720. package/scene-workspace/cesium-adapter.js +493 -0
  721. package/scene-workspace/index.d.ts +21 -0
  722. package/scene-workspace/index.d.ts.map +1 -0
  723. package/scene-workspace/index.js +14 -0
  724. package/scene-workspace/primitives.d.ts +162 -0
  725. package/scene-workspace/primitives.d.ts.map +1 -0
  726. package/scene-workspace/primitives.js +255 -0
  727. package/scene-workspace/scene-discovery.d.ts +196 -0
  728. package/scene-workspace/scene-discovery.d.ts.map +1 -0
  729. package/scene-workspace/scene-discovery.js +228 -0
  730. package/scene-workspace/scene-view.d.ts +209 -0
  731. package/scene-workspace/scene-view.d.ts.map +1 -0
  732. package/scene-workspace/scene-view.js +267 -0
  733. package/scene-workspace/types.d.ts +229 -0
  734. package/scene-workspace/types.d.ts.map +1 -0
  735. package/scene-workspace/types.js +23 -0
  736. package/scene-workspace/workspace.d.ts +13 -0
  737. package/scene-workspace/workspace.d.ts.map +1 -0
  738. package/scene-workspace/workspace.js +391 -0
  739. package/share/denial.d.ts +78 -0
  740. package/share/denial.d.ts.map +1 -0
  741. package/share/denial.js +61 -0
  742. package/share/embed-token.d.ts +71 -0
  743. package/share/embed-token.d.ts.map +1 -0
  744. package/share/embed-token.js +99 -0
  745. package/share/index.d.ts +35 -0
  746. package/share/index.d.ts.map +1 -0
  747. package/share/index.js +30 -0
  748. package/share/open-data.d.ts +114 -0
  749. package/share/open-data.d.ts.map +1 -0
  750. package/share/open-data.js +81 -0
  751. package/share/types.d.ts +163 -0
  752. package/share/types.d.ts.map +1 -0
  753. package/share/types.js +17 -0
  754. package/studio/capability-manifest.d.ts +285 -0
  755. package/studio/capability-manifest.d.ts.map +1 -0
  756. package/studio/capability-manifest.js +59 -0
  757. package/studio/chart-spec.d.ts +85 -0
  758. package/studio/chart-spec.d.ts.map +1 -0
  759. package/studio/chart-spec.js +106 -0
  760. package/studio/index.d.ts +34 -0
  761. package/studio/index.d.ts.map +1 -0
  762. package/studio/index.js +27 -0
  763. package/studio/provenance.d.ts +131 -0
  764. package/studio/provenance.d.ts.map +1 -0
  765. package/studio/provenance.js +39 -0
  766. package/studio/publish.d.ts +64 -0
  767. package/studio/publish.d.ts.map +1 -0
  768. package/studio/publish.js +13 -0
  769. package/studio/types.d.ts +278 -0
  770. package/studio/types.d.ts.map +1 -0
  771. package/studio/types.js +71 -0
  772. package/studio/validate.d.ts +45 -0
  773. package/studio/validate.d.ts.map +1 -0
  774. package/studio/validate.js +255 -0
  775. package/studio/validation.d.ts +112 -0
  776. package/studio/validation.d.ts.map +1 -0
  777. package/studio/validation.js +42 -0
  778. package/style/factory.d.ts +30 -0
  779. package/style/factory.d.ts.map +1 -0
  780. package/style/factory.js +61 -0
  781. package/style/index.d.ts +25 -0
  782. package/style/index.d.ts.map +1 -0
  783. package/style/index.js +24 -0
  784. package/style/specification.d.ts +203 -0
  785. package/style/specification.d.ts.map +1 -0
  786. package/style/specification.js +178 -0
  787. package/style/wms-wmts-resolvers.d.ts +38 -0
  788. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  789. package/style/wms-wmts-resolvers.js +92 -0
  790. package/web-components/controller.d.ts +39 -0
  791. package/web-components/controller.d.ts.map +1 -0
  792. package/web-components/controller.js +640 -0
  793. package/web-components/elements.d.ts +210 -0
  794. package/web-components/elements.d.ts.map +1 -0
  795. package/web-components/elements.js +1651 -0
  796. package/web-components/index.d.ts +24 -0
  797. package/web-components/index.d.ts.map +1 -0
  798. package/web-components/index.js +22 -0
  799. package/web-components/maplibre-renderer.d.ts +22 -0
  800. package/web-components/maplibre-renderer.d.ts.map +1 -0
  801. package/web-components/maplibre-renderer.js +474 -0
  802. package/web-components/types.d.ts +397 -0
  803. package/web-components/types.d.ts.map +1 -0
  804. package/web-components/types.js +1 -0
  805. package/webmap/contract.d.ts +28 -0
  806. package/webmap/contract.d.ts.map +1 -0
  807. package/webmap/contract.js +130 -0
  808. package/webmap/convert-basemap.d.ts +17 -0
  809. package/webmap/convert-basemap.d.ts.map +1 -0
  810. package/webmap/convert-basemap.js +78 -0
  811. package/webmap/convert-extent.d.ts +17 -0
  812. package/webmap/convert-extent.d.ts.map +1 -0
  813. package/webmap/convert-extent.js +114 -0
  814. package/webmap/convert-label.d.ts +13 -0
  815. package/webmap/convert-label.d.ts.map +1 -0
  816. package/webmap/convert-label.js +125 -0
  817. package/webmap/convert-layer.d.ts +22 -0
  818. package/webmap/convert-layer.d.ts.map +1 -0
  819. package/webmap/convert-layer.js +181 -0
  820. package/webmap/convert-popup.d.ts +34 -0
  821. package/webmap/convert-popup.d.ts.map +1 -0
  822. package/webmap/convert-popup.js +68 -0
  823. package/webmap/convert-renderer.d.ts +17 -0
  824. package/webmap/convert-renderer.d.ts.map +1 -0
  825. package/webmap/convert-renderer.js +161 -0
  826. package/webmap/convert-symbol.d.ts +17 -0
  827. package/webmap/convert-symbol.d.ts.map +1 -0
  828. package/webmap/convert-symbol.js +122 -0
  829. package/webmap/index.d.ts +44 -0
  830. package/webmap/index.d.ts.map +1 -0
  831. package/webmap/index.js +33 -0
  832. package/webmap/parse.d.ts +25 -0
  833. package/webmap/parse.d.ts.map +1 -0
  834. package/webmap/parse.js +83 -0
  835. package/webmap/types.d.ts +264 -0
  836. package/webmap/types.d.ts.map +1 -0
  837. package/webmap/types.js +13 -0
  838. package/webmap/warnings.d.ts +30 -0
  839. package/webmap/warnings.d.ts.map +1 -0
  840. package/webmap/warnings.js +37 -0
@@ -0,0 +1,35 @@
1
+ /**
2
+ * OGC API conformance-class → canonical capability mapping. The
3
+ * conformance class identifiers are intentionally kept *internal* to
4
+ * this module — `negotiateOgcCapabilities` is the only public surface
5
+ * that maps from the server-advertised list onto canonical capability
6
+ * names. Top-level SDK types must not expose conformance-class names
7
+ * (acceptance criterion).
8
+ *
9
+ * @module
10
+ */
11
+ import type { Capabilities, Protocol } from "../contract/types.js";
12
+ import type { HonuaOgcConformanceResponse } from "./types.js";
13
+ /** Subset of `Protocol` for which OGC-style conformance applies. */
14
+ export type OgcConformanceProtocol = Extract<Protocol, "ogc-features" | "ogc-tiles" | "ogc-maps" | "ogc-records" | "stac"> | "ogc-processes";
15
+ /**
16
+ * Translate the server-advertised `conformsTo[]` list into a canonical
17
+ * `Capabilities` set for the given protocol. Conformance class
18
+ * identifiers are matched against substring keys so version drift
19
+ * (`features-1` → `features-3`) does not silently drop capabilities.
20
+ *
21
+ * Callers can intersect the result with their own narrower set when
22
+ * they want to gate optional features even if the server claims them.
23
+ */
24
+ export declare function negotiateOgcCapabilities(protocol: OgcConformanceProtocol, conformance: HonuaOgcConformanceResponse | {
25
+ conformsTo?: readonly string[];
26
+ } | undefined): Capabilities;
27
+ /**
28
+ * `true` when the conformance response advertises a class containing
29
+ * the given substring. Lets callers gate features on a specific
30
+ * extension without exposing the URI as a primary SDK type.
31
+ */
32
+ export declare function hasOgcConformanceClass(conformance: HonuaOgcConformanceResponse | {
33
+ conformsTo?: readonly string[];
34
+ } | undefined, classSubstring: string): boolean;
35
+ //# sourceMappingURL=ogc-conformance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogc-conformance.d.ts","sourceRoot":"","sources":["../../../src/core/ogc-conformance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAc,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AA8F9D,oEAAoE;AACpE,MAAM,MAAM,sBAAsB,GAC9B,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC,GACrF,eAAe,CAAC;AAEpB;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,sBAAsB,EAChC,WAAW,EAAE,2BAA2B,GAAG;IAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,GACxF,YAAY,CAad;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,2BAA2B,GAAG;IAAE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAAG,SAAS,EACzF,cAAc,EAAE,MAAM,GACrB,OAAO,CAMT"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * OGC API conformance-class → canonical capability mapping. The
3
+ * conformance class identifiers are intentionally kept *internal* to
4
+ * this module — `negotiateOgcCapabilities` is the only public surface
5
+ * that maps from the server-advertised list onto canonical capability
6
+ * names. Top-level SDK types must not expose conformance-class names
7
+ * (acceptance criterion).
8
+ *
9
+ * @module
10
+ */
11
+ import { capabilities } from "../contract/types.js";
12
+ /**
13
+ * Mapping from OGC conformance-class URI segments to one or more
14
+ * canonical capabilities. Stored as substring keys because the server
15
+ * may version the path differently (`features-1`, `features-2`,
16
+ * `features-3`, `features-4` — and OGC has been re-issuing the URIs
17
+ * over time). A substring match against `conformsTo[]` covers both
18
+ * versions.
19
+ */
20
+ const FEATURE_CONFORMANCE_MAP = [
21
+ ["features-1/1.0/conf/core", ["query", "queryObjectIds"]],
22
+ ["features-1/1.0/conf/oas3", []],
23
+ ["features-1/1.0/conf/oas30", []],
24
+ ["features-1/1.0/conf/geojson", []],
25
+ ["features-1/1.0/conf/html", []],
26
+ ["features-1/1.0/conf/crs", []],
27
+ ["features-3/1.0/conf/filter", ["queryAggregate"]],
28
+ ["features-3/1.0/conf/features-filter", ["queryAggregate"]],
29
+ ["features-3/1.0/conf/queryables", []],
30
+ ["features-3/1.0/conf/cql2-text", []],
31
+ ["features-3/1.0/conf/cql2-json", []],
32
+ ["features-4/1.0/conf/create-replace-delete", ["applyEdits"]],
33
+ ["features-4/1.0/conf/transactions", ["applyEdits"]],
34
+ ["features-2/1.0/conf/sql", ["sql"]],
35
+ ];
36
+ const TILE_CONFORMANCE_MAP = [
37
+ ["tiles-1/1.0/conf/core", ["tiles"]],
38
+ ["tiles-1/1.0/conf/tileset", ["tiles"]],
39
+ ["tiles-1/1.0/conf/tilesets-list", ["tiles"]],
40
+ ["tiles-1/1.0/conf/dataset-tilesets", ["tiles"]],
41
+ ["tiles-1/1.0/conf/geodata-tilesets", ["tiles"]],
42
+ ["tiles-1/1.0/conf/geodata-selection", ["tiles"]],
43
+ ["tiles-1/1.0/conf/multi-tile", ["tiles"]],
44
+ ["tiles-1/1.0/conf/oas30", []],
45
+ ["tiles-1/1.0/conf/mvt", ["tiles", "render"]],
46
+ ["tiles-1/1.0/conf/png", ["tiles", "render"]],
47
+ ["tiles-1/1.0/conf/jpeg", ["tiles", "render"]],
48
+ ];
49
+ const MAP_CONFORMANCE_MAP = [
50
+ ["maps-1/1.0/conf/core", ["render"]],
51
+ ["maps-1/1.0/conf/dataset-map", ["render"]],
52
+ ["maps-1/1.0/conf/collection-map", ["render"]],
53
+ ["maps-1/1.0/conf/scaling", ["render"]],
54
+ ["maps-1/1.0/conf/spatial-subsetting", ["render"]],
55
+ ["maps-1/1.0/conf/png", ["render"]],
56
+ ["maps-1/1.0/conf/jpeg", ["render"]],
57
+ ["styles-1/1.0/conf/core", ["render"]],
58
+ ];
59
+ const PROCESS_CONFORMANCE_MAP = [
60
+ ["processes-1/1.0/conf/core", ["processes"]],
61
+ ["processes-1/1.0/conf/ogc-process-description", ["processes"]],
62
+ ["processes-1/1.0/conf/job-list", ["processes"]],
63
+ ["processes-1/1.0/conf/dismiss", ["processes"]],
64
+ ["processes-1/1.0/conf/callback", ["processes"]],
65
+ ];
66
+ const RECORDS_CONFORMANCE_MAP = [
67
+ ["ogcapi-records-1/1.0/conf/records-api", ["query", "queryObjectIds"]],
68
+ ["ogcapi-records-1/1.0/conf/searchable-catalog", ["query", "queryObjectIds"]],
69
+ ["ogcapi-records-1/1.0/conf/record-core-query-parameters", ["query"]],
70
+ ["ogcapi-records-1/1.0/conf/cql-filter", ["query"]],
71
+ ["ogcapi-records-1/1.0/conf/searchable-catalog-filtering", ["query"]],
72
+ ["ogcapi-records-1/1.0/conf/sorting", ["query"]],
73
+ ["ogcapi-records-1/1.0/conf/searchable-catalog/sorting", ["query"]],
74
+ ["ogcapi-records-1/1.0/conf/json", []],
75
+ ["ogcapi-records-1/1.0/conf/html", []],
76
+ ["ogcapi-records-1/1.0/conf/oas30", []],
77
+ ];
78
+ const STAC_CONFORMANCE_MAP = [
79
+ ["stac-spec.org", ["query", "queryObjectIds"]],
80
+ ["api.stacspec.org/v1.0.0/core", ["query"]],
81
+ ["api.stacspec.org/v1.0.0/item-search", ["query", "queryObjectIds"]],
82
+ ["api.stacspec.org/v1.0.0/ogcapi-features", ["query", "queryObjectIds"]],
83
+ ["api.stacspec.org/v1.0.0/collections", []],
84
+ // STAC's `filter` extension is CQL2 query-side filtering, not server-side
85
+ // aggregation. The STAC source adapter has no aggregation implementation,
86
+ // so this conformance class must not advertise `queryAggregate`.
87
+ ["api.stacspec.org/v1.0.0/filter", []],
88
+ ];
89
+ const CONFORMANCE_TABLES = {
90
+ "ogc-features": FEATURE_CONFORMANCE_MAP,
91
+ "ogc-tiles": TILE_CONFORMANCE_MAP,
92
+ "ogc-maps": MAP_CONFORMANCE_MAP,
93
+ "ogc-processes": PROCESS_CONFORMANCE_MAP,
94
+ "ogc-records": RECORDS_CONFORMANCE_MAP,
95
+ stac: STAC_CONFORMANCE_MAP,
96
+ };
97
+ /**
98
+ * Translate the server-advertised `conformsTo[]` list into a canonical
99
+ * `Capabilities` set for the given protocol. Conformance class
100
+ * identifiers are matched against substring keys so version drift
101
+ * (`features-1` → `features-3`) does not silently drop capabilities.
102
+ *
103
+ * Callers can intersect the result with their own narrower set when
104
+ * they want to gate optional features even if the server claims them.
105
+ */
106
+ export function negotiateOgcCapabilities(protocol, conformance) {
107
+ const table = CONFORMANCE_TABLES[protocol];
108
+ const advertised = conformance?.conformsTo ?? [];
109
+ const out = new Set();
110
+ for (const uri of advertised) {
111
+ if (typeof uri !== "string")
112
+ continue;
113
+ for (const [needle, caps] of table) {
114
+ if (uri.includes(needle)) {
115
+ for (const cap of caps)
116
+ out.add(cap);
117
+ }
118
+ }
119
+ }
120
+ return capabilities(Array.from(out));
121
+ }
122
+ /**
123
+ * `true` when the conformance response advertises a class containing
124
+ * the given substring. Lets callers gate features on a specific
125
+ * extension without exposing the URI as a primary SDK type.
126
+ */
127
+ export function hasOgcConformanceClass(conformance, classSubstring) {
128
+ const advertised = conformance?.conformsTo ?? [];
129
+ for (const uri of advertised) {
130
+ if (typeof uri === "string" && uri.includes(classSubstring))
131
+ return true;
132
+ }
133
+ return false;
134
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * OGC API endpoint-layout resolution.
3
+ *
4
+ * The SDK's headline claim is one typed contract against ANY standards
5
+ * server. For OGC API Features / Records that means the client must not
6
+ * assume a fixed path prefix: a Honua Server mounts the facade at
7
+ * `/ogc/features/...`, but pygeoapi, ldproxy, and GeoServer's OGC API each
8
+ * serve the landing page at their own root and advertise their collections
9
+ * and conformance URLs through the landing page's `links` array
10
+ * (OGC API - Common Requirement 5).
11
+ *
12
+ * This module produces an {@link OgcEndpointLayout} — the concrete set of
13
+ * resource paths a Features client addresses:
14
+ *
15
+ * - {@link honuaFacadeFeaturesLayout} is the fixed facade layout and the
16
+ * default. It performs no network round-trips, so existing callers see
17
+ * zero behaviour change.
18
+ * - {@link resolveOgcEndpointLayout} discovers the layout from the landing
19
+ * page (`ogc-api` mode) or auto-detects the facade first and falls back
20
+ * to discovery (`auto` mode).
21
+ *
22
+ * Per OGC API - Features Requirement 17 the items resource is always at
23
+ * `{collections}/{collectionId}/items`, so a single landing-page fetch is
24
+ * enough to derive every per-collection path from the discovered
25
+ * collections URL.
26
+ *
27
+ * @module
28
+ */
29
+ import type { HonuaProtocolTransport } from "./protocol-transport.js";
30
+ import type { OgcEndpointLayout } from "./types.js";
31
+ /** Discovery mode carried on a source locator. */
32
+ export type OgcApiLayoutMode = "honua-facade" | "ogc-api" | "auto";
33
+ /**
34
+ * The Honua Server facade layout (`/ogc/features/...`). No network access;
35
+ * this is the default fast path and preserves the pre-existing behaviour of
36
+ * every OGC Features caller that points at a Honua Server.
37
+ */
38
+ export declare function honuaFacadeFeaturesLayout(base?: string): OgcEndpointLayout;
39
+ /**
40
+ * A raw OGC API layout built from a discovered (or configured) landing +
41
+ * collections + conformance URL triple. Per-collection paths are templated
42
+ * off the collections URL per OGC API - Features Requirement 17.
43
+ */
44
+ export declare function ogcApiFeaturesLayout(options: {
45
+ landingUrl: string;
46
+ collectionsUrl: string;
47
+ conformanceUrl: string;
48
+ }): OgcEndpointLayout;
49
+ /**
50
+ * Find the first link whose `rel` matches one of `rels` (exact or as the
51
+ * final path segment of a full OGC relation URI, e.g.
52
+ * `http://www.opengis.net/def/rel/ogc/1.0/data`).
53
+ */
54
+ export declare function findOgcLink(links: ReadonlyArray<{
55
+ href?: string;
56
+ rel?: string;
57
+ }> | undefined, ...rels: string[]): string | undefined;
58
+ /**
59
+ * Resolve the endpoint layout for the requested `mode`:
60
+ *
61
+ * - `honua-facade` (default) — the fixed facade layout, no round-trips.
62
+ * - `ogc-api` — discover from the landing page at the client baseUrl.
63
+ * - `auto` — probe the facade landing; use it when valid, otherwise
64
+ * discover from the root.
65
+ *
66
+ * Discovery failures surface as {@link HonuaCapabilityNotSupportedError}
67
+ * (per the SDK convention of throwing rather than returning empty data).
68
+ */
69
+ export declare function resolveOgcEndpointLayout(transport: HonuaProtocolTransport, mode?: OgcApiLayoutMode): Promise<OgcEndpointLayout>;
70
+ //# sourceMappingURL=ogc-endpoint-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogc-endpoint-layout.d.ts","sourceRoot":"","sources":["../../../src/core/ogc-endpoint-layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EAA2B,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE7E,kDAAkD;AAClD,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC;AAcnE;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,GAAE,MAA4B,GAAG,iBAAiB,CAY/F;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,iBAAiB,CAiBpB;AAgBD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAAS,EACjE,GAAG,IAAI,EAAE,MAAM,EAAE,GAChB,MAAM,GAAG,SAAS,CAWpB;AAyCD;;;;;;;;;;GAUG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,sBAAsB,EACjC,IAAI,GAAE,gBAAiC,GACtC,OAAO,CAAC,iBAAiB,CAAC,CAe5B"}
@@ -0,0 +1,173 @@
1
+ /**
2
+ * OGC API endpoint-layout resolution.
3
+ *
4
+ * The SDK's headline claim is one typed contract against ANY standards
5
+ * server. For OGC API Features / Records that means the client must not
6
+ * assume a fixed path prefix: a Honua Server mounts the facade at
7
+ * `/ogc/features/...`, but pygeoapi, ldproxy, and GeoServer's OGC API each
8
+ * serve the landing page at their own root and advertise their collections
9
+ * and conformance URLs through the landing page's `links` array
10
+ * (OGC API - Common Requirement 5).
11
+ *
12
+ * This module produces an {@link OgcEndpointLayout} — the concrete set of
13
+ * resource paths a Features client addresses:
14
+ *
15
+ * - {@link honuaFacadeFeaturesLayout} is the fixed facade layout and the
16
+ * default. It performs no network round-trips, so existing callers see
17
+ * zero behaviour change.
18
+ * - {@link resolveOgcEndpointLayout} discovers the layout from the landing
19
+ * page (`ogc-api` mode) or auto-detects the facade first and falls back
20
+ * to discovery (`auto` mode).
21
+ *
22
+ * Per OGC API - Features Requirement 17 the items resource is always at
23
+ * `{collections}/{collectionId}/items`, so a single landing-page fetch is
24
+ * enough to derive every per-collection path from the discovered
25
+ * collections URL.
26
+ *
27
+ * @module
28
+ */
29
+ import { HonuaCapabilityNotSupportedError } from "./errors.js";
30
+ const DEFAULT_FACADE_BASE = "/ogc/features";
31
+ function enc(id) {
32
+ return encodeURIComponent(String(id));
33
+ }
34
+ function trimTrailingSlash(url) {
35
+ let end = url.length;
36
+ while (end > 0 && url.charCodeAt(end - 1) === 0x2f)
37
+ end--;
38
+ return url.slice(0, end);
39
+ }
40
+ /**
41
+ * The Honua Server facade layout (`/ogc/features/...`). No network access;
42
+ * this is the default fast path and preserves the pre-existing behaviour of
43
+ * every OGC Features caller that points at a Honua Server.
44
+ */
45
+ export function honuaFacadeFeaturesLayout(base = DEFAULT_FACADE_BASE) {
46
+ const root = trimTrailingSlash(base) || DEFAULT_FACADE_BASE;
47
+ return {
48
+ mode: "honua-facade",
49
+ landing: () => root,
50
+ conformance: () => `${root}/conformance`,
51
+ collections: () => `${root}/collections`,
52
+ collection: (id) => `${root}/collections/${enc(id)}`,
53
+ queryables: (id) => `${root}/collections/${enc(id)}/queryables`,
54
+ items: (id) => `${root}/collections/${enc(id)}/items`,
55
+ item: (id, featureId) => `${root}/collections/${enc(id)}/items/${enc(featureId)}`,
56
+ };
57
+ }
58
+ /**
59
+ * A raw OGC API layout built from a discovered (or configured) landing +
60
+ * collections + conformance URL triple. Per-collection paths are templated
61
+ * off the collections URL per OGC API - Features Requirement 17.
62
+ */
63
+ export function ogcApiFeaturesLayout(options) {
64
+ const landing = trimTrailingSlash(options.landingUrl);
65
+ const collections = trimTrailingSlash(options.collectionsUrl);
66
+ const conformance = trimTrailingSlash(options.conformanceUrl);
67
+ return {
68
+ mode: "ogc-api",
69
+ // A bare landing path can be empty (the client baseUrl is the landing
70
+ // root); the wire layer still appends the `f=` param, producing
71
+ // `${baseUrl}?f=json`.
72
+ landing: () => landing,
73
+ conformance: () => conformance,
74
+ collections: () => collections,
75
+ collection: (id) => `${collections}/${enc(id)}`,
76
+ queryables: (id) => `${collections}/${enc(id)}/queryables`,
77
+ items: (id) => `${collections}/${enc(id)}/items`,
78
+ item: (id, featureId) => `${collections}/${enc(id)}/items/${enc(featureId)}`,
79
+ };
80
+ }
81
+ /**
82
+ * Resolve a link href to an absolute URL against a base. Absolute hrefs are
83
+ * returned unchanged; relative hrefs resolve against `${baseUrl}/`.
84
+ */
85
+ function absolutize(href, baseUrl) {
86
+ if (/^https?:\/\//i.test(href))
87
+ return href;
88
+ const root = baseUrl.endsWith("/") ? baseUrl : `${baseUrl}/`;
89
+ try {
90
+ return new URL(href, root).toString();
91
+ }
92
+ catch {
93
+ return href;
94
+ }
95
+ }
96
+ /**
97
+ * Find the first link whose `rel` matches one of `rels` (exact or as the
98
+ * final path segment of a full OGC relation URI, e.g.
99
+ * `http://www.opengis.net/def/rel/ogc/1.0/data`).
100
+ */
101
+ export function findOgcLink(links, ...rels) {
102
+ if (!links)
103
+ return undefined;
104
+ const wanted = new Set(rels.map((r) => r.toLowerCase()));
105
+ for (const link of links) {
106
+ if (typeof link.href !== "string" || link.href.length === 0)
107
+ continue;
108
+ const rel = (link.rel ?? "").toLowerCase();
109
+ if (wanted.has(rel))
110
+ return link.href;
111
+ const tail = rel.slice(rel.lastIndexOf("/") + 1);
112
+ if (tail && wanted.has(tail))
113
+ return link.href;
114
+ }
115
+ return undefined;
116
+ }
117
+ /**
118
+ * Discover an OGC API layout from the landing page. The client `baseUrl`
119
+ * IS the landing page root; the collections and conformance URLs are read
120
+ * from the landing `links` (falling back to the mandated relative
121
+ * `collections` / `conformance` sub-paths when a server omits them).
122
+ */
123
+ async function discoverOgcApiLayout(transport) {
124
+ const landing = await transport.requestCachedMetadataJson("ogc-features:layout:landing", "?f=json", {});
125
+ const baseUrl = trimTrailingSlash(transport.baseUrl);
126
+ const links = landing?.links;
127
+ const dataHref = findOgcLink(links, "data");
128
+ const conformanceHref = findOgcLink(links, "conformance");
129
+ const collectionsUrl = dataHref ? absolutize(dataHref, baseUrl) : `${baseUrl}/collections`;
130
+ const conformanceUrl = conformanceHref ? absolutize(conformanceHref, baseUrl) : `${baseUrl}/conformance`;
131
+ return ogcApiFeaturesLayout({ landingUrl: baseUrl, collectionsUrl, conformanceUrl });
132
+ }
133
+ /**
134
+ * Probe whether the Honua facade landing (`/ogc/features`) exists. Used by
135
+ * `auto` mode: a valid OGC landing document there confirms the facade
136
+ * fast path; anything else falls through to landing-page discovery.
137
+ */
138
+ async function facadeLandingLooksValid(transport) {
139
+ try {
140
+ const landing = await transport.requestCachedMetadataJson("ogc-features:layout:facade-probe", `${DEFAULT_FACADE_BASE}?f=json`, {});
141
+ return Array.isArray(landing?.links);
142
+ }
143
+ catch {
144
+ return false;
145
+ }
146
+ }
147
+ /**
148
+ * Resolve the endpoint layout for the requested `mode`:
149
+ *
150
+ * - `honua-facade` (default) — the fixed facade layout, no round-trips.
151
+ * - `ogc-api` — discover from the landing page at the client baseUrl.
152
+ * - `auto` — probe the facade landing; use it when valid, otherwise
153
+ * discover from the root.
154
+ *
155
+ * Discovery failures surface as {@link HonuaCapabilityNotSupportedError}
156
+ * (per the SDK convention of throwing rather than returning empty data).
157
+ */
158
+ export async function resolveOgcEndpointLayout(transport, mode = "honua-facade") {
159
+ if (mode === "honua-facade")
160
+ return honuaFacadeFeaturesLayout();
161
+ if (mode === "auto") {
162
+ if (await facadeLandingLooksValid(transport))
163
+ return honuaFacadeFeaturesLayout();
164
+ }
165
+ try {
166
+ return await discoverOgcApiLayout(transport);
167
+ }
168
+ catch (err) {
169
+ if (err instanceof HonuaCapabilityNotSupportedError)
170
+ throw err;
171
+ throw new HonuaCapabilityNotSupportedError("query", "ogc-features", `ogc-api layout discovery failed for ${transport.baseUrl}: ${err instanceof Error ? err.message : String(err)}`);
172
+ }
173
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * OGC API Features wire methods. Concrete URL-building, param
3
+ * serialization, and request shaping for the OGC API Features endpoints,
4
+ * invoked against an injected {@link HonuaProtocolTransport}. The typed
5
+ * `HonuaOgcFeatures` surface (in `surfaces.ts`) and the `HonuaClient`
6
+ * facade both delegate here.
7
+ *
8
+ * @module
9
+ */
10
+ import type { HonuaProtocolTransport } from "./protocol-transport.js";
11
+ import type { HonuaOgcCollectionMetadata, HonuaOgcCollectionsResponse, HonuaOgcConformanceResponse, HonuaOgcFeatureCollectionResponse, HonuaOgcFeatureResponse, HonuaOgcLandingResponse, HonuaOgcQueryablesResponse, OgcCollectionRequest, OgcCreateItemRequest, OgcDeleteItemRequest, OgcItemRequest, OgcItemsRequest, OgcMetadataRequest, OgcPatchItemRequest, OgcReplaceItemRequest } from "./types.js";
12
+ export declare function getOgcFeaturesLanding(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcLandingResponse>;
13
+ export declare function getOgcFeaturesConformance(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcConformanceResponse>;
14
+ export declare function listOgcCollections(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcCollectionsResponse>;
15
+ export declare function getOgcCollection(transport: HonuaProtocolTransport, request: OgcCollectionRequest): Promise<HonuaOgcCollectionMetadata>;
16
+ export declare function getOgcQueryables(transport: HonuaProtocolTransport, request: OgcCollectionRequest): Promise<HonuaOgcQueryablesResponse>;
17
+ export declare function listOgcItems(transport: HonuaProtocolTransport, request: OgcItemsRequest): Promise<HonuaOgcFeatureCollectionResponse>;
18
+ export declare function getOgcItem(transport: HonuaProtocolTransport, request: OgcItemRequest): Promise<HonuaOgcFeatureResponse>;
19
+ export declare function createOgcItem(transport: HonuaProtocolTransport, request: OgcCreateItemRequest): Promise<HonuaOgcFeatureResponse>;
20
+ export declare function replaceOgcItem(transport: HonuaProtocolTransport, request: OgcReplaceItemRequest): Promise<HonuaOgcFeatureResponse>;
21
+ export declare function patchOgcItem(transport: HonuaProtocolTransport, request: OgcPatchItemRequest): Promise<HonuaOgcFeatureResponse>;
22
+ export declare function deleteOgcItem(transport: HonuaProtocolTransport, request: OgcDeleteItemRequest): Promise<void>;
23
+ //# sourceMappingURL=ogc-features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogc-features.d.ts","sourceRoot":"","sources":["../../../src/core/ogc-features.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EACV,0BAA0B,EAC1B,2BAA2B,EAC3B,2BAA2B,EAC3B,iCAAiC,EACjC,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EAEpB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAoBpB,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,sBAAsB,EACjC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAQlC;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,sBAAsB,EACjC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,2BAA2B,CAAC,CAQtC;AAED,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,sBAAsB,EACjC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,2BAA2B,CAAC,CAQtC;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,0BAA0B,CAAC,CAQrC;AAED,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,0BAA0B,CAAC,CAQrC;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,iCAAiC,CAAC,CAoC5C;AAED,wBAAsB,UAAU,CAC9B,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,uBAAuB,CAAC,CAYlC;AAED,wBAAsB,aAAa,CACjC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAYlC;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,qBAAqB,GAC7B,OAAO,CAAC,uBAAuB,CAAC,CAelC;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,uBAAuB,CAAC,CAelC;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,sBAAsB,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnH"}
@@ -0,0 +1,129 @@
1
+ /**
2
+ * OGC API Features wire methods. Concrete URL-building, param
3
+ * serialization, and request shaping for the OGC API Features endpoints,
4
+ * invoked against an injected {@link HonuaProtocolTransport}. The typed
5
+ * `HonuaOgcFeatures` surface (in `surfaces.ts`) and the `HonuaClient`
6
+ * facade both delegate here.
7
+ *
8
+ * @module
9
+ */
10
+ import { honuaFacadeFeaturesLayout } from "./ogc-endpoint-layout.js";
11
+ import { createOgcMetadataParams, mergeHeaders, normalizeCsv } from "./wire-shared.js";
12
+ /**
13
+ * The endpoint layout to build paths against. Defaults to the Honua facade
14
+ * fast path (`/ogc/features/...`); backend-agnostic callers thread a
15
+ * spec-discovered layout onto `request.layout`.
16
+ */
17
+ function layoutOf(request) {
18
+ return request.layout ?? honuaFacadeFeaturesLayout();
19
+ }
20
+ /**
21
+ * A layout key fragment for cache keys so the facade and a discovered raw
22
+ * layout never collide in the metadata cache.
23
+ */
24
+ function layoutKey(layout) {
25
+ return layout.mode === "honua-facade" ? "facade" : layout.collections();
26
+ }
27
+ export async function getOgcFeaturesLanding(transport, request = {}) {
28
+ const params = createOgcMetadataParams(request);
29
+ const layout = layoutOf(request);
30
+ return transport.requestCachedMetadataJson(`ogc-features:landing:${layoutKey(layout)}:${params.toString()}`, `${layout.landing()}?${params.toString()}`, request);
31
+ }
32
+ export async function getOgcFeaturesConformance(transport, request = {}) {
33
+ const params = createOgcMetadataParams(request);
34
+ const layout = layoutOf(request);
35
+ return transport.requestCachedMetadataJson(`ogc-features:conformance:${layoutKey(layout)}:${params.toString()}`, `${layout.conformance()}?${params.toString()}`, request);
36
+ }
37
+ export async function listOgcCollections(transport, request = {}) {
38
+ const params = createOgcMetadataParams(request);
39
+ const layout = layoutOf(request);
40
+ return transport.requestCachedMetadataJson(`ogc-features:collections:${layoutKey(layout)}:${params.toString()}`, `${layout.collections()}?${params.toString()}`, request);
41
+ }
42
+ export async function getOgcCollection(transport, request) {
43
+ const params = createOgcMetadataParams(request);
44
+ const layout = layoutOf(request);
45
+ return transport.requestCachedMetadataJson(`ogc-features:collection:${layoutKey(layout)}:${request.collectionId}:${params.toString()}`, `${layout.collection(request.collectionId)}?${params.toString()}`, request);
46
+ }
47
+ export async function getOgcQueryables(transport, request) {
48
+ const params = createOgcMetadataParams(request);
49
+ const layout = layoutOf(request);
50
+ return transport.requestCachedMetadataJson(`ogc-features:queryables:${layoutKey(layout)}:${request.collectionId}:${params.toString()}`, `${layout.queryables(request.collectionId)}?${params.toString()}`, request);
51
+ }
52
+ export async function listOgcItems(transport, request) {
53
+ const params = createOgcMetadataParams(request);
54
+ if (request.limit !== undefined) {
55
+ params.set("limit", String(request.limit));
56
+ }
57
+ if (request.offset !== undefined) {
58
+ params.set("offset", String(request.offset));
59
+ }
60
+ if (request.bbox !== undefined) {
61
+ params.set("bbox", request.bbox);
62
+ }
63
+ if (request.datetime !== undefined) {
64
+ params.set("datetime", request.datetime);
65
+ }
66
+ if (request.filter !== undefined) {
67
+ params.set("filter", request.filter);
68
+ }
69
+ if (request.ids !== undefined) {
70
+ params.set("ids", normalizeCsv(request.ids));
71
+ }
72
+ if (request.properties !== undefined) {
73
+ params.set("properties", normalizeCsv(request.properties));
74
+ }
75
+ if (request.sortby !== undefined) {
76
+ params.set("sortby", request.sortby);
77
+ }
78
+ if (request.crs !== undefined) {
79
+ params.set("crs", request.crs);
80
+ }
81
+ const path = layoutOf(request).items(request.collectionId);
82
+ return transport.requestJson("GET", `${path}?${params.toString()}`, undefined, request.signal);
83
+ }
84
+ export async function getOgcItem(transport, request) {
85
+ const params = createOgcMetadataParams(request);
86
+ if (request.crs !== undefined) {
87
+ params.set("crs", request.crs);
88
+ }
89
+ const path = layoutOf(request).item(request.collectionId, request.featureId);
90
+ return transport.requestJson("GET", `${path}?${params.toString()}`, undefined, request.signal);
91
+ }
92
+ export async function createOgcItem(transport, request) {
93
+ const params = createOgcMetadataParams(request);
94
+ const path = layoutOf(request).items(request.collectionId);
95
+ return transport.requestJson("POST", `${path}?${params.toString()}`, {
96
+ headers: mergeHeaders({ "Content-Type": "application/geo+json" }, request.headers),
97
+ body: JSON.stringify(request.feature),
98
+ }, request.signal);
99
+ }
100
+ export async function replaceOgcItem(transport, request) {
101
+ const params = createOgcMetadataParams(request);
102
+ if (request.crs !== undefined) {
103
+ params.set("crs", request.crs);
104
+ }
105
+ const path = layoutOf(request).item(request.collectionId, request.featureId);
106
+ return transport.requestJson("PUT", `${path}?${params.toString()}`, {
107
+ headers: mergeHeaders({ "Content-Type": "application/geo+json" }, request.headers),
108
+ body: JSON.stringify(request.feature),
109
+ }, request.signal);
110
+ }
111
+ export async function patchOgcItem(transport, request) {
112
+ const params = createOgcMetadataParams(request);
113
+ if (request.crs !== undefined) {
114
+ params.set("crs", request.crs);
115
+ }
116
+ const path = layoutOf(request).item(request.collectionId, request.featureId);
117
+ return transport.requestJson("PATCH", `${path}?${params.toString()}`, {
118
+ headers: mergeHeaders({ "Content-Type": "application/merge-patch+json" }, request.headers),
119
+ body: JSON.stringify(request.patch),
120
+ }, request.signal);
121
+ }
122
+ export async function deleteOgcItem(transport, request) {
123
+ const params = createOgcMetadataParams(request);
124
+ if (request.crs !== undefined) {
125
+ params.set("crs", request.crs);
126
+ }
127
+ const path = layoutOf(request).item(request.collectionId, request.featureId);
128
+ await transport.requestJson("DELETE", `${path}?${params.toString()}`, undefined, request.signal);
129
+ }
@@ -0,0 +1,49 @@
1
+ /**
2
+ * OGC API Maps surface. Server-rendered map images at the dataset or
3
+ * collection level, with optional styled-output access. The runtime
4
+ * deliberately exposes a thin envelope (`width`, `height`, `bbox`,
5
+ * `crs`, `format`, optional `filter` / `collections`) — extension
6
+ * parameters live on `extraParams`.
7
+ *
8
+ * @module
9
+ */
10
+ import type { HonuaClient } from "./client.js";
11
+ import type { HonuaProtocolTransport } from "./protocol-transport.js";
12
+ import type { HonuaOgcConformanceResponse, HonuaOgcLandingResponse, HonuaOgcMapImageResponse, OgcMapImageRequest, OgcMetadataRequest } from "./types.js";
13
+ export interface HonuaOgcMapsOptions {
14
+ client: HonuaClient;
15
+ }
16
+ export interface HonuaOgcCollectionMapOptions {
17
+ client: HonuaClient;
18
+ collectionId: string | number;
19
+ styleId?: string;
20
+ }
21
+ export type HonuaOgcCollectionMapImageRequest = Omit<OgcMapImageRequest, "collectionId" | "styleId"> & {
22
+ styleId?: string;
23
+ };
24
+ /** Top-level OGC API Maps handle. */
25
+ export declare class HonuaOgcMaps {
26
+ readonly client: HonuaClient;
27
+ constructor(options: HonuaOgcMapsOptions);
28
+ collection(collectionId: string | number, styleId?: string): HonuaOgcCollectionMap;
29
+ landing(request?: OgcMetadataRequest): Promise<HonuaOgcLandingResponse>;
30
+ conformance(request?: OgcMetadataRequest): Promise<HonuaOgcConformanceResponse>;
31
+ /** Render a dataset-level map (across one or more collections). */
32
+ map(request?: OgcMapImageRequest): Promise<HonuaOgcMapImageResponse>;
33
+ }
34
+ /**
35
+ * Bound handle for a collection-level (and optionally styled) map. Drops
36
+ * the routing-discriminator fields from per-call requests.
37
+ */
38
+ export declare class HonuaOgcCollectionMap {
39
+ readonly client: HonuaClient;
40
+ readonly collectionId: string | number;
41
+ readonly styleId: string | undefined;
42
+ constructor(options: HonuaOgcCollectionMapOptions);
43
+ map(request?: HonuaOgcCollectionMapImageRequest): Promise<HonuaOgcMapImageResponse>;
44
+ }
45
+ export declare function createHonuaOgcMaps(client: HonuaClient): HonuaOgcMaps;
46
+ export declare function getOgcMapsLanding(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcLandingResponse>;
47
+ export declare function getOgcMapsConformance(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcConformanceResponse>;
48
+ export declare function getOgcMapImage(transport: HonuaProtocolTransport, request: OgcMapImageRequest): Promise<HonuaOgcMapImageResponse>;
49
+ //# sourceMappingURL=ogc-maps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogc-maps.d.ts","sourceRoot":"","sources":["../../../src/core/ogc-maps.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,KAAK,EACV,2BAA2B,EAC3B,uBAAuB,EACvB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,MAAM,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,iCAAiC,GAAG,IAAI,CAAC,kBAAkB,EAAE,cAAc,GAAG,SAAS,CAAC,GAAG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qCAAqC;AACrC,qBAAa,YAAY;IACvB,SAAgB,MAAM,EAAE,WAAW,CAAC;gBAEjB,OAAO,EAAE,mBAAmB;IAIxC,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,qBAAqB;IAI5E,OAAO,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAI3E,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAIhG,mEAAmE;IACtD,GAAG,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAGtF;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAChC,SAAgB,MAAM,EAAE,WAAW,CAAC;IACpC,SAAgB,YAAY,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9C,SAAgB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEzB,OAAO,EAAE,4BAA4B;IAM3C,GAAG,CAAC,OAAO,GAAE,iCAAsC,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAOrG;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,GAAG,YAAY,CAEpE;AAID,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,sBAAsB,EACjC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,uBAAuB,CAAC,CAOlC;AAED,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,sBAAsB,EACjC,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,2BAA2B,CAAC,CAOtC;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,wBAAwB,CAAC,CASnC"}