@honua/react 0.0.20-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +9 -0
  3. package/contract/analytics-sources.d.ts +149 -0
  4. package/contract/analytics-sources.d.ts.map +1 -0
  5. package/contract/analytics-sources.js +235 -0
  6. package/contract/edit-session.d.ts +203 -0
  7. package/contract/edit-session.d.ts.map +1 -0
  8. package/contract/edit-session.js +760 -0
  9. package/contract/edit-sketch.d.ts +91 -0
  10. package/contract/edit-sketch.d.ts.map +1 -0
  11. package/contract/edit-sketch.js +281 -0
  12. package/contract/index.d.ts +61 -0
  13. package/contract/index.d.ts.map +1 -0
  14. package/contract/index.js +51 -0
  15. package/contract/jobs.d.ts +149 -0
  16. package/contract/jobs.d.ts.map +1 -0
  17. package/contract/jobs.js +40 -0
  18. package/contract/source.d.ts +423 -0
  19. package/contract/source.d.ts.map +1 -0
  20. package/contract/source.js +3802 -0
  21. package/contract/spatial-aggregation.d.ts +336 -0
  22. package/contract/spatial-aggregation.d.ts.map +1 -0
  23. package/contract/spatial-aggregation.js +298 -0
  24. package/contract/temporal.d.ts +455 -0
  25. package/contract/temporal.d.ts.map +1 -0
  26. package/contract/temporal.js +146 -0
  27. package/contract/tiles.d.ts +370 -0
  28. package/contract/tiles.d.ts.map +1 -0
  29. package/contract/tiles.js +519 -0
  30. package/contract/types.d.ts +665 -0
  31. package/contract/types.d.ts.map +1 -0
  32. package/contract/types.js +175 -0
  33. package/contract/widget-source.d.ts +205 -0
  34. package/contract/widget-source.d.ts.map +1 -0
  35. package/contract/widget-source.js +1473 -0
  36. package/control-plane/client.d.ts +95 -0
  37. package/control-plane/client.d.ts.map +1 -0
  38. package/control-plane/client.js +374 -0
  39. package/control-plane/index.d.ts +18 -0
  40. package/control-plane/index.d.ts.map +1 -0
  41. package/control-plane/index.js +14 -0
  42. package/control-plane/types.d.ts +233 -0
  43. package/control-plane/types.d.ts.map +1 -0
  44. package/control-plane/types.js +7 -0
  45. package/core/batch.d.ts +37 -0
  46. package/core/batch.d.ts.map +1 -0
  47. package/core/batch.js +79 -0
  48. package/core/cache-state.d.ts +79 -0
  49. package/core/cache-state.d.ts.map +1 -0
  50. package/core/cache-state.js +87 -0
  51. package/core/client.d.ts +577 -0
  52. package/core/client.d.ts.map +1 -0
  53. package/core/client.js +1664 -0
  54. package/core/compatibility.d.ts +18 -0
  55. package/core/compatibility.d.ts.map +1 -0
  56. package/core/compatibility.js +245 -0
  57. package/core/errors.d.ts +107 -0
  58. package/core/errors.d.ts.map +1 -0
  59. package/core/errors.js +156 -0
  60. package/core/esri-geojson.d.ts +66 -0
  61. package/core/esri-geojson.d.ts.map +1 -0
  62. package/core/esri-geojson.js +363 -0
  63. package/core/geoservices.d.ts +34 -0
  64. package/core/geoservices.d.ts.map +1 -0
  65. package/core/geoservices.js +434 -0
  66. package/core/grpc-adapter.d.ts +23 -0
  67. package/core/grpc-adapter.d.ts.map +1 -0
  68. package/core/grpc-adapter.js +688 -0
  69. package/core/odata.d.ts +347 -0
  70. package/core/odata.d.ts.map +1 -0
  71. package/core/odata.js +913 -0
  72. package/core/ogc-conformance.d.ts +35 -0
  73. package/core/ogc-conformance.d.ts.map +1 -0
  74. package/core/ogc-conformance.js +134 -0
  75. package/core/ogc-features.d.ts +23 -0
  76. package/core/ogc-features.d.ts.map +1 -0
  77. package/core/ogc-features.js +114 -0
  78. package/core/ogc-maps.d.ts +49 -0
  79. package/core/ogc-maps.d.ts.map +1 -0
  80. package/core/ogc-maps.js +126 -0
  81. package/core/ogc-processes.d.ts +118 -0
  82. package/core/ogc-processes.d.ts.map +1 -0
  83. package/core/ogc-processes.js +423 -0
  84. package/core/ogc-records.d.ts +75 -0
  85. package/core/ogc-records.d.ts.map +1 -0
  86. package/core/ogc-records.js +251 -0
  87. package/core/ogc-tiles.d.ts +125 -0
  88. package/core/ogc-tiles.d.ts.map +1 -0
  89. package/core/ogc-tiles.js +183 -0
  90. package/core/path-utils.d.ts +69 -0
  91. package/core/path-utils.d.ts.map +1 -0
  92. package/core/path-utils.js +123 -0
  93. package/core/pbf-decoder.d.ts +39 -0
  94. package/core/pbf-decoder.d.ts.map +1 -0
  95. package/core/pbf-decoder.js +702 -0
  96. package/core/process-runner.d.ts +104 -0
  97. package/core/process-runner.d.ts.map +1 -0
  98. package/core/process-runner.js +315 -0
  99. package/core/protocol-transport.d.ts +76 -0
  100. package/core/protocol-transport.d.ts.map +1 -0
  101. package/core/protocol-transport.js +15 -0
  102. package/core/query-builder.d.ts +261 -0
  103. package/core/query-builder.d.ts.map +1 -0
  104. package/core/query-builder.js +538 -0
  105. package/core/request-pipeline.d.ts +88 -0
  106. package/core/request-pipeline.d.ts.map +1 -0
  107. package/core/request-pipeline.js +273 -0
  108. package/core/spatial-filter.d.ts +93 -0
  109. package/core/spatial-filter.d.ts.map +1 -0
  110. package/core/spatial-filter.js +153 -0
  111. package/core/stac.d.ts +55 -0
  112. package/core/stac.d.ts.map +1 -0
  113. package/core/stac.js +229 -0
  114. package/core/surfaces.d.ts +527 -0
  115. package/core/surfaces.d.ts.map +1 -0
  116. package/core/surfaces.js +1917 -0
  117. package/core/terrain-elevation.d.ts +114 -0
  118. package/core/terrain-elevation.d.ts.map +1 -0
  119. package/core/terrain-elevation.js +150 -0
  120. package/core/types.d.ts +1355 -0
  121. package/core/types.d.ts.map +1 -0
  122. package/core/types.js +13 -0
  123. package/core/wfs-capabilities.d.ts +143 -0
  124. package/core/wfs-capabilities.d.ts.map +1 -0
  125. package/core/wfs-capabilities.js +478 -0
  126. package/core/wfs-filter.d.ts +118 -0
  127. package/core/wfs-filter.d.ts.map +1 -0
  128. package/core/wfs-filter.js +634 -0
  129. package/core/wfs.d.ts +219 -0
  130. package/core/wfs.d.ts.map +1 -0
  131. package/core/wfs.js +406 -0
  132. package/core/wire-shared.d.ts +32 -0
  133. package/core/wire-shared.d.ts.map +1 -0
  134. package/core/wire-shared.js +76 -0
  135. package/core/wms-axis.d.ts +36 -0
  136. package/core/wms-axis.d.ts.map +1 -0
  137. package/core/wms-axis.js +73 -0
  138. package/core/wms-capabilities.d.ts +110 -0
  139. package/core/wms-capabilities.d.ts.map +1 -0
  140. package/core/wms-capabilities.js +559 -0
  141. package/core/wms-types.d.ts +128 -0
  142. package/core/wms-types.d.ts.map +1 -0
  143. package/core/wms-types.js +32 -0
  144. package/core/wms.d.ts +144 -0
  145. package/core/wms.d.ts.map +1 -0
  146. package/core/wms.js +338 -0
  147. package/core/wmts-capabilities.d.ts +82 -0
  148. package/core/wmts-capabilities.d.ts.map +1 -0
  149. package/core/wmts-capabilities.js +402 -0
  150. package/core/wmts.d.ts +103 -0
  151. package/core/wmts.d.ts.map +1 -0
  152. package/core/wmts.js +332 -0
  153. package/core/xml-text.d.ts +20 -0
  154. package/core/xml-text.d.ts.map +1 -0
  155. package/core/xml-text.js +85 -0
  156. package/esri-compat/basemap-gallery.d.ts +38 -0
  157. package/esri-compat/basemap-gallery.d.ts.map +1 -0
  158. package/esri-compat/basemap-gallery.js +159 -0
  159. package/esri-compat/basemap-layer-list.d.ts +35 -0
  160. package/esri-compat/basemap-layer-list.d.ts.map +1 -0
  161. package/esri-compat/basemap-layer-list.js +139 -0
  162. package/esri-compat/basemap.d.ts +32 -0
  163. package/esri-compat/basemap.d.ts.map +1 -0
  164. package/esri-compat/basemap.js +84 -0
  165. package/esri-compat/bookmarks.d.ts +36 -0
  166. package/esri-compat/bookmarks.d.ts.map +1 -0
  167. package/esri-compat/bookmarks.js +108 -0
  168. package/esri-compat/class-breaks-renderer.d.ts +50 -0
  169. package/esri-compat/class-breaks-renderer.d.ts.map +1 -0
  170. package/esri-compat/class-breaks-renderer.js +164 -0
  171. package/esri-compat/color.d.ts +22 -0
  172. package/esri-compat/color.d.ts.map +1 -0
  173. package/esri-compat/color.js +106 -0
  174. package/esri-compat/controls.d.ts +174 -0
  175. package/esri-compat/controls.d.ts.map +1 -0
  176. package/esri-compat/controls.js +479 -0
  177. package/esri-compat/coordinate-conversion.d.ts +41 -0
  178. package/esri-compat/coordinate-conversion.d.ts.map +1 -0
  179. package/esri-compat/coordinate-conversion.js +125 -0
  180. package/esri-compat/directions.d.ts +45 -0
  181. package/esri-compat/directions.d.ts.map +1 -0
  182. package/esri-compat/directions.js +123 -0
  183. package/esri-compat/editor.d.ts +47 -0
  184. package/esri-compat/editor.d.ts.map +1 -0
  185. package/esri-compat/editor.js +170 -0
  186. package/esri-compat/esri-config.d.ts +16 -0
  187. package/esri-compat/esri-config.d.ts.map +1 -0
  188. package/esri-compat/esri-config.js +23 -0
  189. package/esri-compat/esri-request.d.ts +17 -0
  190. package/esri-compat/esri-request.d.ts.map +1 -0
  191. package/esri-compat/esri-request.js +127 -0
  192. package/esri-compat/event-bus.d.ts +106 -0
  193. package/esri-compat/event-bus.d.ts.map +1 -0
  194. package/esri-compat/event-bus.js +90 -0
  195. package/esri-compat/expand.d.ts +36 -0
  196. package/esri-compat/expand.d.ts.map +1 -0
  197. package/esri-compat/expand.js +97 -0
  198. package/esri-compat/extent.d.ts +43 -0
  199. package/esri-compat/extent.d.ts.map +1 -0
  200. package/esri-compat/extent.js +140 -0
  201. package/esri-compat/feature-filter.d.ts +55 -0
  202. package/esri-compat/feature-filter.d.ts.map +1 -0
  203. package/esri-compat/feature-filter.js +109 -0
  204. package/esri-compat/feature-form.d.ts +64 -0
  205. package/esri-compat/feature-form.d.ts.map +1 -0
  206. package/esri-compat/feature-form.js +137 -0
  207. package/esri-compat/feature-layer.d.ts +173 -0
  208. package/esri-compat/feature-layer.d.ts.map +1 -0
  209. package/esri-compat/feature-layer.js +661 -0
  210. package/esri-compat/feature-set.d.ts +32 -0
  211. package/esri-compat/feature-set.d.ts.map +1 -0
  212. package/esri-compat/feature-set.js +80 -0
  213. package/esri-compat/feature-table.d.ts +141 -0
  214. package/esri-compat/feature-table.d.ts.map +1 -0
  215. package/esri-compat/feature-table.js +500 -0
  216. package/esri-compat/feature-templates.d.ts +41 -0
  217. package/esri-compat/feature-templates.d.ts.map +1 -0
  218. package/esri-compat/feature-templates.js +97 -0
  219. package/esri-compat/feature.d.ts +33 -0
  220. package/esri-compat/feature.d.ts.map +1 -0
  221. package/esri-compat/feature.js +83 -0
  222. package/esri-compat/geojson-layer.d.ts +86 -0
  223. package/esri-compat/geojson-layer.d.ts.map +1 -0
  224. package/esri-compat/geojson-layer.js +191 -0
  225. package/esri-compat/geometry-engine.d.ts +107 -0
  226. package/esri-compat/geometry-engine.d.ts.map +1 -0
  227. package/esri-compat/geometry-engine.js +266 -0
  228. package/esri-compat/graphic.d.ts +46 -0
  229. package/esri-compat/graphic.d.ts.map +1 -0
  230. package/esri-compat/graphic.js +103 -0
  231. package/esri-compat/graphics-layer.d.ts +49 -0
  232. package/esri-compat/graphics-layer.d.ts.map +1 -0
  233. package/esri-compat/graphics-layer.js +185 -0
  234. package/esri-compat/group-layer.d.ts +48 -0
  235. package/esri-compat/group-layer.d.ts.map +1 -0
  236. package/esri-compat/group-layer.js +212 -0
  237. package/esri-compat/identify.d.ts +71 -0
  238. package/esri-compat/identify.d.ts.map +1 -0
  239. package/esri-compat/identify.js +299 -0
  240. package/esri-compat/identity-manager.d.ts +31 -0
  241. package/esri-compat/identity-manager.d.ts.map +1 -0
  242. package/esri-compat/identity-manager.js +115 -0
  243. package/esri-compat/imagery-layer.d.ts +78 -0
  244. package/esri-compat/imagery-layer.d.ts.map +1 -0
  245. package/esri-compat/imagery-layer.js +167 -0
  246. package/esri-compat/label-class.d.ts +31 -0
  247. package/esri-compat/label-class.d.ts.map +1 -0
  248. package/esri-compat/label-class.js +102 -0
  249. package/esri-compat/layer-list.d.ts +77 -0
  250. package/esri-compat/layer-list.d.ts.map +1 -0
  251. package/esri-compat/layer-list.js +342 -0
  252. package/esri-compat/legend.d.ts +53 -0
  253. package/esri-compat/legend.d.ts.map +1 -0
  254. package/esri-compat/legend.js +254 -0
  255. package/esri-compat/map-image-layer.d.ts +162 -0
  256. package/esri-compat/map-image-layer.d.ts.map +1 -0
  257. package/esri-compat/map-image-layer.js +709 -0
  258. package/esri-compat/map-view.d.ts +323 -0
  259. package/esri-compat/map-view.d.ts.map +1 -0
  260. package/esri-compat/map-view.js +1175 -0
  261. package/esri-compat/map.d.ts +47 -0
  262. package/esri-compat/map.d.ts.map +1 -0
  263. package/esri-compat/map.js +209 -0
  264. package/esri-compat/measurement-2d.d.ts +61 -0
  265. package/esri-compat/measurement-2d.d.ts.map +1 -0
  266. package/esri-compat/measurement-2d.js +184 -0
  267. package/esri-compat/measurement.d.ts +45 -0
  268. package/esri-compat/measurement.d.ts.map +1 -0
  269. package/esri-compat/measurement.js +193 -0
  270. package/esri-compat/oauth-info.d.ts +35 -0
  271. package/esri-compat/oauth-info.d.ts.map +1 -0
  272. package/esri-compat/oauth-info.js +115 -0
  273. package/esri-compat/picture-marker-symbol.d.ts +35 -0
  274. package/esri-compat/picture-marker-symbol.d.ts.map +1 -0
  275. package/esri-compat/picture-marker-symbol.js +126 -0
  276. package/esri-compat/point.d.ts +31 -0
  277. package/esri-compat/point.d.ts.map +1 -0
  278. package/esri-compat/point.js +102 -0
  279. package/esri-compat/polygon.d.ts +31 -0
  280. package/esri-compat/polygon.d.ts.map +1 -0
  281. package/esri-compat/polygon.js +107 -0
  282. package/esri-compat/polyline.d.ts +31 -0
  283. package/esri-compat/polyline.d.ts.map +1 -0
  284. package/esri-compat/polyline.js +107 -0
  285. package/esri-compat/popup-template.d.ts +55 -0
  286. package/esri-compat/popup-template.d.ts.map +1 -0
  287. package/esri-compat/popup-template.js +128 -0
  288. package/esri-compat/popup.d.ts +54 -0
  289. package/esri-compat/popup.d.ts.map +1 -0
  290. package/esri-compat/popup.js +312 -0
  291. package/esri-compat/print.d.ts +47 -0
  292. package/esri-compat/print.d.ts.map +1 -0
  293. package/esri-compat/print.js +105 -0
  294. package/esri-compat/query.d.ts +58 -0
  295. package/esri-compat/query.d.ts.map +1 -0
  296. package/esri-compat/query.js +128 -0
  297. package/esri-compat/reactive-utils.d.ts +24 -0
  298. package/esri-compat/reactive-utils.d.ts.map +1 -0
  299. package/esri-compat/reactive-utils.js +193 -0
  300. package/esri-compat/request.d.ts +41 -0
  301. package/esri-compat/request.d.ts.map +1 -0
  302. package/esri-compat/request.js +253 -0
  303. package/esri-compat/route-layer.d.ts +59 -0
  304. package/esri-compat/route-layer.d.ts.map +1 -0
  305. package/esri-compat/route-layer.js +223 -0
  306. package/esri-compat/route-task.d.ts +88 -0
  307. package/esri-compat/route-task.d.ts.map +1 -0
  308. package/esri-compat/route-task.js +225 -0
  309. package/esri-compat/scene-view.d.ts +41 -0
  310. package/esri-compat/scene-view.d.ts.map +1 -0
  311. package/esri-compat/scene-view.js +68 -0
  312. package/esri-compat/search.d.ts +112 -0
  313. package/esri-compat/search.d.ts.map +1 -0
  314. package/esri-compat/search.js +820 -0
  315. package/esri-compat/simple-fill-symbol.d.ts +27 -0
  316. package/esri-compat/simple-fill-symbol.d.ts.map +1 -0
  317. package/esri-compat/simple-fill-symbol.js +85 -0
  318. package/esri-compat/simple-line-symbol.d.ts +27 -0
  319. package/esri-compat/simple-line-symbol.d.ts.map +1 -0
  320. package/esri-compat/simple-line-symbol.js +85 -0
  321. package/esri-compat/simple-marker-symbol.d.ts +29 -0
  322. package/esri-compat/simple-marker-symbol.d.ts.map +1 -0
  323. package/esri-compat/simple-marker-symbol.js +92 -0
  324. package/esri-compat/simple-renderer.d.ts +29 -0
  325. package/esri-compat/simple-renderer.d.ts.map +1 -0
  326. package/esri-compat/simple-renderer.js +92 -0
  327. package/esri-compat/sketch.d.ts +64 -0
  328. package/esri-compat/sketch.d.ts.map +1 -0
  329. package/esri-compat/sketch.js +227 -0
  330. package/esri-compat/spatial-reference.d.ts +31 -0
  331. package/esri-compat/spatial-reference.d.ts.map +1 -0
  332. package/esri-compat/spatial-reference.js +102 -0
  333. package/esri-compat/swipe.d.ts +34 -0
  334. package/esri-compat/swipe.d.ts.map +1 -0
  335. package/esri-compat/swipe.js +93 -0
  336. package/esri-compat/table-list.d.ts +36 -0
  337. package/esri-compat/table-list.d.ts.map +1 -0
  338. package/esri-compat/table-list.js +126 -0
  339. package/esri-compat/text-symbol.d.ts +37 -0
  340. package/esri-compat/text-symbol.d.ts.map +1 -0
  341. package/esri-compat/text-symbol.js +123 -0
  342. package/esri-compat/tile-layer.d.ts +52 -0
  343. package/esri-compat/tile-layer.d.ts.map +1 -0
  344. package/esri-compat/tile-layer.js +168 -0
  345. package/esri-compat/time-slider.d.ts +70 -0
  346. package/esri-compat/time-slider.d.ts.map +1 -0
  347. package/esri-compat/time-slider.js +208 -0
  348. package/esri-compat/track.d.ts +51 -0
  349. package/esri-compat/track.d.ts.map +1 -0
  350. package/esri-compat/track.js +174 -0
  351. package/esri-compat/unique-value-renderer.d.ts +41 -0
  352. package/esri-compat/unique-value-renderer.d.ts.map +1 -0
  353. package/esri-compat/unique-value-renderer.js +127 -0
  354. package/esri-compat/url.d.ts +13 -0
  355. package/esri-compat/url.d.ts.map +1 -0
  356. package/esri-compat/url.js +68 -0
  357. package/esri-compat/vector-tile-layer.d.ts +47 -0
  358. package/esri-compat/vector-tile-layer.d.ts.map +1 -0
  359. package/esri-compat/vector-tile-layer.js +130 -0
  360. package/esri-compat/web-map.d.ts +14 -0
  361. package/esri-compat/web-map.d.ts.map +1 -0
  362. package/esri-compat/web-map.js +24 -0
  363. package/esri-compat/wfs-layer.d.ts +64 -0
  364. package/esri-compat/wfs-layer.d.ts.map +1 -0
  365. package/esri-compat/wfs-layer.js +145 -0
  366. package/esri-compat/wms-layer.d.ts +76 -0
  367. package/esri-compat/wms-layer.d.ts.map +1 -0
  368. package/esri-compat/wms-layer.js +157 -0
  369. package/exploration/context.d.ts +25 -0
  370. package/exploration/context.d.ts.map +1 -0
  371. package/exploration/context.js +396 -0
  372. package/exploration/index.d.ts +27 -0
  373. package/exploration/index.d.ts.map +1 -0
  374. package/exploration/index.js +24 -0
  375. package/exploration/presets.d.ts +27 -0
  376. package/exploration/presets.d.ts.map +1 -0
  377. package/exploration/presets.js +114 -0
  378. package/exploration/reducer.d.ts +23 -0
  379. package/exploration/reducer.d.ts.map +1 -0
  380. package/exploration/reducer.js +332 -0
  381. package/exploration/selection.d.ts +25 -0
  382. package/exploration/selection.d.ts.map +1 -0
  383. package/exploration/selection.js +34 -0
  384. package/exploration/selectors.d.ts +56 -0
  385. package/exploration/selectors.d.ts.map +1 -0
  386. package/exploration/selectors.js +110 -0
  387. package/exploration/types.d.ts +294 -0
  388. package/exploration/types.d.ts.map +1 -0
  389. package/exploration/types.js +33 -0
  390. package/expr/expression.d.ts +457 -0
  391. package/expr/expression.d.ts.map +1 -0
  392. package/expr/expression.js +663 -0
  393. package/expr/index.d.ts +32 -0
  394. package/expr/index.d.ts.map +1 -0
  395. package/expr/index.js +30 -0
  396. package/gen/honua/v1/feature_service_pb.d.ts +918 -0
  397. package/gen/honua/v1/feature_service_pb.d.ts.map +1 -0
  398. package/gen/honua/v1/feature_service_pb.js +375 -0
  399. package/generated-app/errors.d.ts +41 -0
  400. package/generated-app/errors.d.ts.map +1 -0
  401. package/generated-app/errors.js +41 -0
  402. package/generated-app/index.d.ts +17 -0
  403. package/generated-app/index.d.ts.map +1 -0
  404. package/generated-app/index.js +12 -0
  405. package/generated-app/manifest.d.ts +183 -0
  406. package/generated-app/manifest.d.ts.map +1 -0
  407. package/generated-app/manifest.js +14 -0
  408. package/generated-app/projection.d.ts +44 -0
  409. package/generated-app/projection.d.ts.map +1 -0
  410. package/generated-app/projection.js +234 -0
  411. package/generated-app/runtime.d.ts +215 -0
  412. package/generated-app/runtime.d.ts.map +1 -0
  413. package/generated-app/runtime.js +1196 -0
  414. package/interactions/detail-model.d.ts +54 -0
  415. package/interactions/detail-model.d.ts.map +1 -0
  416. package/interactions/detail-model.js +105 -0
  417. package/interactions/exploration-bindings.d.ts +120 -0
  418. package/interactions/exploration-bindings.d.ts.map +1 -0
  419. package/interactions/exploration-bindings.js +218 -0
  420. package/interactions/feature-state.d.ts +144 -0
  421. package/interactions/feature-state.d.ts.map +1 -0
  422. package/interactions/feature-state.js +169 -0
  423. package/interactions/hit-test.d.ts +112 -0
  424. package/interactions/hit-test.d.ts.map +1 -0
  425. package/interactions/hit-test.js +291 -0
  426. package/interactions/index.d.ts +31 -0
  427. package/interactions/index.d.ts.map +1 -0
  428. package/interactions/index.js +24 -0
  429. package/interactions/share-state.d.ts +36 -0
  430. package/interactions/share-state.d.ts.map +1 -0
  431. package/interactions/share-state.js +123 -0
  432. package/map/feature-service-adapter.d.ts +138 -0
  433. package/map/feature-service-adapter.d.ts.map +1 -0
  434. package/map/feature-service-adapter.js +279 -0
  435. package/map/honua-map.d.ts +203 -0
  436. package/map/honua-map.d.ts.map +1 -0
  437. package/map/honua-map.js +347 -0
  438. package/map/index.d.ts +27 -0
  439. package/map/index.d.ts.map +1 -0
  440. package/map/index.js +22 -0
  441. package/map/maplibre-target.d.ts +103 -0
  442. package/map/maplibre-target.d.ts.map +1 -0
  443. package/map/maplibre-target.js +164 -0
  444. package/map/webmap-maplibre.d.ts +60 -0
  445. package/map/webmap-maplibre.d.ts.map +1 -0
  446. package/map/webmap-maplibre.js +212 -0
  447. package/package.json +37 -0
  448. package/react/context.d.ts +32 -0
  449. package/react/context.d.ts.map +1 -0
  450. package/react/context.js +19 -0
  451. package/react/honua-layer.d.ts +35 -0
  452. package/react/honua-layer.d.ts.map +1 -0
  453. package/react/honua-layer.js +47 -0
  454. package/react/honua-map.d.ts +83 -0
  455. package/react/honua-map.d.ts.map +1 -0
  456. package/react/honua-map.js +109 -0
  457. package/react/honua-popup.d.ts +26 -0
  458. package/react/honua-popup.d.ts.map +1 -0
  459. package/react/honua-popup.js +34 -0
  460. package/react/hooks.d.ts +127 -0
  461. package/react/hooks.d.ts.map +1 -0
  462. package/react/hooks.js +206 -0
  463. package/react/index.d.ts +42 -0
  464. package/react/index.d.ts.map +1 -0
  465. package/react/index.js +34 -0
  466. package/react/provider.d.ts +36 -0
  467. package/react/provider.d.ts.map +1 -0
  468. package/react/provider.js +35 -0
  469. package/react/query-cache.d.ts +76 -0
  470. package/react/query-cache.d.ts.map +1 -0
  471. package/react/query-cache.js +188 -0
  472. package/runtime/diff.d.ts +31 -0
  473. package/runtime/diff.d.ts.map +1 -0
  474. package/runtime/diff.js +143 -0
  475. package/runtime/errors.d.ts +40 -0
  476. package/runtime/errors.d.ts.map +1 -0
  477. package/runtime/errors.js +35 -0
  478. package/runtime/index.d.ts +59 -0
  479. package/runtime/index.d.ts.map +1 -0
  480. package/runtime/index.js +43 -0
  481. package/runtime/legend.d.ts +23 -0
  482. package/runtime/legend.d.ts.map +1 -0
  483. package/runtime/legend.js +38 -0
  484. package/runtime/load-package.d.ts +125 -0
  485. package/runtime/load-package.d.ts.map +1 -0
  486. package/runtime/load-package.js +264 -0
  487. package/runtime/map-package-fetch.d.ts +107 -0
  488. package/runtime/map-package-fetch.d.ts.map +1 -0
  489. package/runtime/map-package-fetch.js +336 -0
  490. package/runtime/map-package-realtime.d.ts +169 -0
  491. package/runtime/map-package-realtime.d.ts.map +1 -0
  492. package/runtime/map-package-realtime.js +350 -0
  493. package/runtime/map-package-validation.d.ts +43 -0
  494. package/runtime/map-package-validation.d.ts.map +1 -0
  495. package/runtime/map-package-validation.js +269 -0
  496. package/runtime/map-package-watch.d.ts +78 -0
  497. package/runtime/map-package-watch.d.ts.map +1 -0
  498. package/runtime/map-package-watch.js +695 -0
  499. package/runtime/map-package.d.ts +167 -0
  500. package/runtime/map-package.d.ts.map +1 -0
  501. package/runtime/map-package.js +15 -0
  502. package/runtime/ogc-styles.d.ts +110 -0
  503. package/runtime/ogc-styles.d.ts.map +1 -0
  504. package/runtime/ogc-styles.js +195 -0
  505. package/runtime/popups.d.ts +62 -0
  506. package/runtime/popups.d.ts.map +1 -0
  507. package/runtime/popups.js +95 -0
  508. package/runtime/query-tiles.d.ts +217 -0
  509. package/runtime/query-tiles.d.ts.map +1 -0
  510. package/runtime/query-tiles.js +801 -0
  511. package/runtime/runtime.d.ts +243 -0
  512. package/runtime/runtime.d.ts.map +1 -0
  513. package/runtime/runtime.js +1147 -0
  514. package/runtime/source-bridge.d.ts +99 -0
  515. package/runtime/source-bridge.d.ts.map +1 -0
  516. package/runtime/source-bridge.js +401 -0
  517. package/runtime/style-compose.d.ts +46 -0
  518. package/runtime/style-compose.d.ts.map +1 -0
  519. package/runtime/style-compose.js +144 -0
  520. package/runtime/style-interactions.d.ts +141 -0
  521. package/runtime/style-interactions.d.ts.map +1 -0
  522. package/runtime/style-interactions.js +574 -0
  523. package/runtime/style-spec-validation.d.ts +23 -0
  524. package/runtime/style-spec-validation.d.ts.map +1 -0
  525. package/runtime/style-spec-validation.js +357 -0
  526. package/studio/capability-manifest.d.ts +285 -0
  527. package/studio/capability-manifest.d.ts.map +1 -0
  528. package/studio/capability-manifest.js +59 -0
  529. package/studio/chart-spec.d.ts +85 -0
  530. package/studio/chart-spec.d.ts.map +1 -0
  531. package/studio/chart-spec.js +106 -0
  532. package/studio/index.d.ts +34 -0
  533. package/studio/index.d.ts.map +1 -0
  534. package/studio/index.js +27 -0
  535. package/studio/provenance.d.ts +131 -0
  536. package/studio/provenance.d.ts.map +1 -0
  537. package/studio/provenance.js +39 -0
  538. package/studio/publish.d.ts +64 -0
  539. package/studio/publish.d.ts.map +1 -0
  540. package/studio/publish.js +13 -0
  541. package/studio/types.d.ts +278 -0
  542. package/studio/types.d.ts.map +1 -0
  543. package/studio/types.js +71 -0
  544. package/studio/validate.d.ts +45 -0
  545. package/studio/validate.d.ts.map +1 -0
  546. package/studio/validate.js +255 -0
  547. package/studio/validation.d.ts +112 -0
  548. package/studio/validation.d.ts.map +1 -0
  549. package/studio/validation.js +42 -0
  550. package/style/factory.d.ts +30 -0
  551. package/style/factory.d.ts.map +1 -0
  552. package/style/factory.js +61 -0
  553. package/style/index.d.ts +25 -0
  554. package/style/index.d.ts.map +1 -0
  555. package/style/index.js +24 -0
  556. package/style/specification.d.ts +203 -0
  557. package/style/specification.d.ts.map +1 -0
  558. package/style/specification.js +178 -0
  559. package/style/wms-wmts-resolvers.d.ts +38 -0
  560. package/style/wms-wmts-resolvers.d.ts.map +1 -0
  561. package/style/wms-wmts-resolvers.js +92 -0
  562. package/webmap/contract.d.ts +28 -0
  563. package/webmap/contract.d.ts.map +1 -0
  564. package/webmap/contract.js +130 -0
  565. package/webmap/convert-basemap.d.ts +17 -0
  566. package/webmap/convert-basemap.d.ts.map +1 -0
  567. package/webmap/convert-basemap.js +78 -0
  568. package/webmap/convert-extent.d.ts +17 -0
  569. package/webmap/convert-extent.d.ts.map +1 -0
  570. package/webmap/convert-extent.js +114 -0
  571. package/webmap/convert-label.d.ts +13 -0
  572. package/webmap/convert-label.d.ts.map +1 -0
  573. package/webmap/convert-label.js +125 -0
  574. package/webmap/convert-layer.d.ts +22 -0
  575. package/webmap/convert-layer.d.ts.map +1 -0
  576. package/webmap/convert-layer.js +181 -0
  577. package/webmap/convert-popup.d.ts +34 -0
  578. package/webmap/convert-popup.d.ts.map +1 -0
  579. package/webmap/convert-popup.js +68 -0
  580. package/webmap/convert-renderer.d.ts +17 -0
  581. package/webmap/convert-renderer.d.ts.map +1 -0
  582. package/webmap/convert-renderer.js +161 -0
  583. package/webmap/convert-symbol.d.ts +17 -0
  584. package/webmap/convert-symbol.d.ts.map +1 -0
  585. package/webmap/convert-symbol.js +122 -0
  586. package/webmap/index.d.ts +44 -0
  587. package/webmap/index.d.ts.map +1 -0
  588. package/webmap/index.js +33 -0
  589. package/webmap/parse.d.ts +25 -0
  590. package/webmap/parse.d.ts.map +1 -0
  591. package/webmap/parse.js +83 -0
  592. package/webmap/types.d.ts +264 -0
  593. package/webmap/types.d.ts.map +1 -0
  594. package/webmap/types.js +13 -0
  595. package/webmap/warnings.d.ts +30 -0
  596. package/webmap/warnings.d.ts.map +1 -0
  597. package/webmap/warnings.js +37 -0
@@ -0,0 +1,423 @@
1
+ /**
2
+ * OGC API Processes surface. Process discovery, execution, and async
3
+ * job tracking. Per the ticket constraint, async executions return an
4
+ * `IJobRun` (the canonical async-operation surface) rather than an
5
+ * OGC-specific job type.
6
+ *
7
+ * @module
8
+ */
9
+ import { HonuaJobPollTimeoutError, isJobTerminal } from "../contract/jobs.js";
10
+ import { createOgcMetadataParams, mergeHeaders } from "./wire-shared.js";
11
+ const DEFAULT_POLL_INTERVAL_MS = 1_000;
12
+ /** Top-level OGC API Processes handle. */
13
+ export class HonuaOgcProcesses {
14
+ client;
15
+ constructor(options) {
16
+ this.client = options.client;
17
+ }
18
+ async landing(request = {}) {
19
+ return this.client.getOgcProcessesLanding(request);
20
+ }
21
+ async conformance(request = {}) {
22
+ return this.client.getOgcProcessesConformance(request);
23
+ }
24
+ async list(request = {}) {
25
+ return this.client.listOgcProcesses(request);
26
+ }
27
+ async describe(processId, request = {}) {
28
+ return this.client.getOgcProcess({ ...request, processId });
29
+ }
30
+ /**
31
+ * Submit a process for execution. Always returns an `IJobRun`: honua-server
32
+ * is async-only (advertises `jobControlOptions: ['async-execute', 'dismiss']`),
33
+ * so the runner polls for the terminal snapshot regardless of whether
34
+ * `mode` is `"async"` or `"auto"`.
35
+ */
36
+ async execute(request) {
37
+ const accepted = await this.client.executeOgcProcess(request);
38
+ return new HonuaOgcProcessJobRun({
39
+ client: this.client,
40
+ jobId: accepted.jobID,
41
+ processId: accepted.processID ?? request.processId,
42
+ initialStatus: accepted.statusInfo ?? {
43
+ jobID: accepted.jobID,
44
+ processID: accepted.processID ?? request.processId,
45
+ status: accepted.status,
46
+ },
47
+ });
48
+ }
49
+ /** Adopt an existing job by id (useful when reconnecting after navigation). */
50
+ job(jobId, options = {}) {
51
+ return new HonuaOgcProcessJobRun({
52
+ client: this.client,
53
+ jobId,
54
+ processId: options.processId,
55
+ });
56
+ }
57
+ }
58
+ /**
59
+ * `IJobRun` implementation backed by OGC API Processes 1.0 status / result
60
+ * endpoints. Watchers receive the latest `JobSnapshot` when status,
61
+ * progress, or terminal result changes; cancel is idempotent and races
62
+ * the server's `dismissed` response against any concurrent terminal
63
+ * transition.
64
+ */
65
+ export class HonuaOgcProcessJobRun {
66
+ id;
67
+ type;
68
+ client;
69
+ pollIntervalMs;
70
+ pollFn;
71
+ currentStatus;
72
+ currentProgress;
73
+ terminalSnapshot;
74
+ terminalPromise;
75
+ listeners = new Set();
76
+ constructor(options) {
77
+ this.client = options.client;
78
+ this.id = options.jobId;
79
+ this.type = options.processId ?? options.initialStatus?.processID ?? "unknown";
80
+ this.pollIntervalMs = options.pollIntervalMs ?? DEFAULT_POLL_INTERVAL_MS;
81
+ this.pollFn = options.pollFn ?? ((jobId, signal) => options.client.getOgcProcessJob({ jobId, signal }));
82
+ const initial = options.initialStatus;
83
+ this.currentStatus = initial?.status ?? "accepted";
84
+ this.currentProgress = progressFromOgcStatus(initial);
85
+ }
86
+ get status() {
87
+ return this.currentStatus;
88
+ }
89
+ get progress() {
90
+ return this.currentProgress;
91
+ }
92
+ async poll() {
93
+ if (this.terminalSnapshot) {
94
+ return this.terminalSnapshot;
95
+ }
96
+ const ogcStatus = await this.pollFn(this.id);
97
+ return this.handleOgcStatus(ogcStatus);
98
+ }
99
+ watch(listener) {
100
+ this.listeners.add(listener);
101
+ return () => this.listeners.delete(listener);
102
+ }
103
+ async results(options = {}) {
104
+ if (!this.terminalPromise) {
105
+ // Reset the cached promise if the poll loop rejects (abort / deadline /
106
+ // attempt cap) so a later results() call can retry rather than being
107
+ // permanently poisoned by a transient cancellation.
108
+ this.terminalPromise = this.runUntilTerminal(options).catch((error) => {
109
+ this.terminalPromise = undefined;
110
+ throw error;
111
+ });
112
+ }
113
+ return this.terminalPromise;
114
+ }
115
+ async cancel() {
116
+ if (this.terminalSnapshot) {
117
+ return this.currentStatus;
118
+ }
119
+ try {
120
+ const cancelled = await this.client.cancelOgcProcessJob({ jobId: this.id });
121
+ const snapshot = await this.handleOgcStatus(cancelled);
122
+ return snapshot.status;
123
+ }
124
+ catch (error) {
125
+ const statusCode = error?.statusCode;
126
+ // `IJobRun.cancel` is documented as idempotent: when the job is
127
+ // already gone (404), return the cached status. honua-server uses
128
+ // 409 for three distinct cases — only the terminal-race case is
129
+ // benign:
130
+ // - "Cannot dismiss completed job" → terminal race; poll for the
131
+ // authoritative terminal status and return it.
132
+ // - "Dismiss could not be confirmed" → backend dismissal request
133
+ // was issued but did not confirm; rethrow so callers can retry.
134
+ // - "Cancellation not supported" → backend lacks cancel support;
135
+ // rethrow so callers can branch.
136
+ // Any 409 with an unknown title also rethrows. The terminal-race
137
+ // branch only swallows the 409 when the follow-up poll reaches a
138
+ // terminal status; a non-terminal poll or a poll failure means the
139
+ // "completed job" claim cannot be confirmed and the original 409
140
+ // is the most honest signal.
141
+ if (statusCode === 404) {
142
+ return this.currentStatus;
143
+ }
144
+ if (statusCode === 409 && isCompletedJobConflict(error)) {
145
+ let fresh;
146
+ try {
147
+ fresh = await this.pollFn(this.id);
148
+ }
149
+ catch {
150
+ // Server claimed the job is in a terminal state but the
151
+ // follow-up poll could not confirm it. Surface the original
152
+ // 409 instead of letting the poll-side error swallow it.
153
+ throw error;
154
+ }
155
+ const snapshot = await this.handleOgcStatus(fresh);
156
+ if (!isJobTerminal(snapshot.status)) {
157
+ throw error;
158
+ }
159
+ return snapshot.status;
160
+ }
161
+ throw error;
162
+ }
163
+ }
164
+ async runUntilTerminal(options = {}) {
165
+ const { signal } = options;
166
+ const baseIntervalMs = options.pollIntervalMs ?? this.pollIntervalMs;
167
+ const maxIntervalMs = options.maxPollIntervalMs ?? Math.max(baseIntervalMs, 30_000);
168
+ const startedAt = Date.now();
169
+ let attempts = 0;
170
+ while (!this.terminalSnapshot) {
171
+ if (signal?.aborted) {
172
+ throw new HonuaJobPollTimeoutError(`Job ${this.id} poll aborted`, "aborted", this.id, this.currentStatus);
173
+ }
174
+ if (options.maxAttempts !== undefined && attempts >= options.maxAttempts) {
175
+ throw new HonuaJobPollTimeoutError(`Job ${this.id} did not reach a terminal state within ${options.maxAttempts} poll attempt(s)`, "max-attempts", this.id, this.currentStatus);
176
+ }
177
+ let ogcStatus;
178
+ try {
179
+ ogcStatus = await this.pollFn(this.id, signal);
180
+ }
181
+ catch (error) {
182
+ if (signal?.aborted) {
183
+ throw new HonuaJobPollTimeoutError(`Job ${this.id} poll aborted`, "aborted", this.id, this.currentStatus);
184
+ }
185
+ throw error;
186
+ }
187
+ attempts += 1;
188
+ await this.handleOgcStatus(ogcStatus);
189
+ if (this.terminalSnapshot)
190
+ break;
191
+ if (options.deadlineMs !== undefined && Date.now() - startedAt >= options.deadlineMs) {
192
+ throw new HonuaJobPollTimeoutError(`Job ${this.id} did not reach a terminal state within ${options.deadlineMs}ms`, "deadline", this.id, this.currentStatus);
193
+ }
194
+ // Capped exponential backoff instead of a fixed interval.
195
+ const intervalMs = Math.min(maxIntervalMs, baseIntervalMs * 2 ** (attempts - 1));
196
+ if (intervalMs > 0) {
197
+ await delay(intervalMs, signal);
198
+ }
199
+ }
200
+ if (this.terminalSnapshot.status === "successful" && this.terminalSnapshot.result) {
201
+ return this.terminalSnapshot.result;
202
+ }
203
+ throw makeJobFailedError(this.terminalSnapshot);
204
+ }
205
+ /**
206
+ * Translate an OGC `statusInfo` payload onto the canonical snapshot
207
+ * surface, fire watchers, and (for `successful` terminals) fetch the
208
+ * result document inline so the snapshot's `result.outputs` is
209
+ * populated by the time `runUntilTerminal` / `poll` resolves.
210
+ */
211
+ async handleOgcStatus(ogcStatus) {
212
+ const status = ogcStatus.status ?? "accepted";
213
+ const progress = progressFromOgcStatus(ogcStatus);
214
+ this.currentStatus = status;
215
+ this.currentProgress = progress;
216
+ if (status === "successful") {
217
+ try {
218
+ // Per OGC API Processes §7.11.1 the document-mode result body is the
219
+ // outputs map itself (honua-server returns `{}` for the canonical
220
+ // V1 process; populated maps are keyed by output id). Wrap it into
221
+ // the canonical `JobResult.outputs` envelope.
222
+ const results = await this.client.getOgcProcessJobResults({ jobId: this.id });
223
+ const snapshot = {
224
+ status: "successful",
225
+ progress,
226
+ result: { outputs: results },
227
+ };
228
+ this.terminalSnapshot = snapshot;
229
+ this.notify(snapshot);
230
+ return snapshot;
231
+ }
232
+ catch (error) {
233
+ const failure = {
234
+ status: "failed",
235
+ progress,
236
+ error: {
237
+ code: error?.name ?? "ResultsFetchFailed",
238
+ message: error instanceof Error ? error.message : String(error),
239
+ },
240
+ };
241
+ this.currentStatus = "failed";
242
+ this.terminalSnapshot = failure;
243
+ this.notify(failure);
244
+ return failure;
245
+ }
246
+ }
247
+ if (status === "failed" || status === "dismissed") {
248
+ const error = terminalJobError(status, ogcStatus);
249
+ const snapshot = {
250
+ status,
251
+ progress,
252
+ ...(error ? { error } : {}),
253
+ };
254
+ this.terminalSnapshot = snapshot;
255
+ this.notify(snapshot);
256
+ return snapshot;
257
+ }
258
+ const snapshot = { status, progress };
259
+ this.notify(snapshot);
260
+ return snapshot;
261
+ }
262
+ notify(snapshot) {
263
+ for (const listener of this.listeners) {
264
+ try {
265
+ listener(snapshot);
266
+ }
267
+ catch {
268
+ // Listener exceptions must not break the runner; log silently.
269
+ }
270
+ }
271
+ }
272
+ }
273
+ /** Error thrown when `IJobRun.results()` resolves a non-success terminal. */
274
+ export class HonuaJobFailedError extends Error {
275
+ status;
276
+ errorCode;
277
+ details;
278
+ constructor(message, status, errorCode, details) {
279
+ super(message);
280
+ this.name = "HonuaJobFailedError";
281
+ this.status = status;
282
+ this.errorCode = errorCode;
283
+ this.details = details;
284
+ }
285
+ }
286
+ /**
287
+ * Honua-server emits problem-details JSON for DELETE /jobs/{id} 409s. The
288
+ * `title` distinguishes the benign terminal race ("Cannot dismiss
289
+ * completed job") from non-benign 409s ("Dismiss could not be confirmed",
290
+ * "Cancellation not supported"). The detail text mirrors the title
291
+ * ("terminal state '...'") so we accept either as confirmation.
292
+ */
293
+ function isCompletedJobConflict(error) {
294
+ const body = error?.body;
295
+ if (!body || typeof body !== "object")
296
+ return false;
297
+ const title = body.title;
298
+ const detail = body.detail;
299
+ if (typeof title === "string" && /cannot dismiss completed job/i.test(title)) {
300
+ return true;
301
+ }
302
+ if (typeof detail === "string" && /terminal state/i.test(detail)) {
303
+ return true;
304
+ }
305
+ return false;
306
+ }
307
+ function terminalJobError(status, ogcStatus) {
308
+ if (ogcStatus.exception) {
309
+ return { ...ogcStatus.exception };
310
+ }
311
+ // honua-server emits failure text as `statusInfo.message` (its
312
+ // StatusInfo DTO has no `exception` field). Fall back to the progress
313
+ // message so `HonuaJobFailedError.message` carries the server reason
314
+ // instead of the generic "non-success terminal state" default.
315
+ if (typeof ogcStatus.message === "string" && ogcStatus.message.length > 0) {
316
+ return {
317
+ code: status === "dismissed" ? "JobDismissed" : "JobFailed",
318
+ message: ogcStatus.message,
319
+ };
320
+ }
321
+ return undefined;
322
+ }
323
+ function progressFromOgcStatus(ogcStatus) {
324
+ if (!ogcStatus)
325
+ return undefined;
326
+ const out = {};
327
+ if (typeof ogcStatus.progress === "number" && Number.isFinite(ogcStatus.progress)) {
328
+ out.percent = clampPercent(ogcStatus.progress);
329
+ }
330
+ if (ogcStatus.message !== undefined)
331
+ out.message = ogcStatus.message;
332
+ if (ogcStatus.updated !== undefined)
333
+ out.updatedAt = ogcStatus.updated;
334
+ if (out.percent === undefined && out.message === undefined && out.updatedAt === undefined) {
335
+ return undefined;
336
+ }
337
+ return out;
338
+ }
339
+ function clampPercent(value) {
340
+ if (value < 0)
341
+ return 0;
342
+ if (value > 100)
343
+ return 100;
344
+ return value;
345
+ }
346
+ function makeJobFailedError(snapshot) {
347
+ const error = snapshot.error;
348
+ const message = error?.message ?? `Job ended in non-success terminal state: ${snapshot.status}`;
349
+ return new HonuaJobFailedError(message, snapshot.status, error?.code, error?.details);
350
+ }
351
+ function delay(ms, signal) {
352
+ return new Promise((resolve) => {
353
+ if (signal?.aborted) {
354
+ resolve();
355
+ return;
356
+ }
357
+ const onAbort = () => {
358
+ clearTimeout(timer);
359
+ resolve();
360
+ };
361
+ const timer = setTimeout(() => {
362
+ signal?.removeEventListener("abort", onAbort);
363
+ resolve();
364
+ }, ms);
365
+ signal?.addEventListener("abort", onAbort, { once: true });
366
+ });
367
+ }
368
+ export function createHonuaOgcProcesses(client) {
369
+ return new HonuaOgcProcesses({ client });
370
+ }
371
+ // ── OGC API Processes wire methods ──────────────────────────────
372
+ export async function getOgcProcessesLanding(transport, request = {}) {
373
+ const params = createOgcMetadataParams(request);
374
+ return transport.requestCachedMetadataJson(`ogc-processes:landing:${params.toString()}`, `/ogc/processes?${params.toString()}`, request);
375
+ }
376
+ export async function getOgcProcessesConformance(transport, request = {}) {
377
+ const params = createOgcMetadataParams(request);
378
+ return transport.requestCachedMetadataJson(`ogc-processes:conformance:${params.toString()}`, `/ogc/processes/conformance?${params.toString()}`, request);
379
+ }
380
+ export async function listOgcProcesses(transport, request = {}) {
381
+ const params = createOgcMetadataParams(request);
382
+ return transport.requestCachedMetadataJson(`ogc-processes:processes:${params.toString()}`, `/ogc/processes/processes?${params.toString()}`, request);
383
+ }
384
+ export async function getOgcProcess(transport, request) {
385
+ const params = createOgcMetadataParams(request);
386
+ return transport.requestCachedMetadataJson(`ogc-processes:process:${request.processId}:${params.toString()}`, `/ogc/processes/processes/${encodeURIComponent(request.processId)}?${params.toString()}`, request);
387
+ }
388
+ export async function executeOgcProcess(transport, request) {
389
+ const headers = mergeHeaders({ "Content-Type": "application/json", Accept: "application/json" }, request.headers, preferHeaderForExecute(request));
390
+ const path = `/ogc/processes/processes/${encodeURIComponent(request.processId)}/execution`;
391
+ // honua-server only supports `response: "document"` and rejects "raw"
392
+ // with HTTP 501; the SDK pins the supported value here.
393
+ const body = JSON.stringify({
394
+ inputs: request.inputs ?? {},
395
+ outputs: request.outputs,
396
+ response: "document",
397
+ });
398
+ return transport.requestJson("POST", path, { headers, body }, request.signal);
399
+ }
400
+ export async function getOgcProcessJob(transport, request) {
401
+ const params = createOgcMetadataParams(request);
402
+ return transport.requestJson("GET", `/ogc/processes/jobs/${encodeURIComponent(request.jobId)}?${params.toString()}`, undefined, request.signal);
403
+ }
404
+ export async function getOgcProcessJobResults(transport, request) {
405
+ const params = createOgcMetadataParams(request);
406
+ return transport.requestJson("GET", `/ogc/processes/jobs/${encodeURIComponent(request.jobId)}/results?${params.toString()}`, undefined, request.signal);
407
+ }
408
+ export async function cancelOgcProcessJob(transport, request) {
409
+ const params = createOgcMetadataParams(request);
410
+ return transport.requestJson("DELETE", `/ogc/processes/jobs/${encodeURIComponent(request.jobId)}?${params.toString()}`, undefined, request.signal);
411
+ }
412
+ /**
413
+ * Build the `Prefer` header for an OGC API Processes execution request.
414
+ * honua-server is async-only: `mode: "async"` sends an explicit
415
+ * `Prefer: respond-async` so OGC-conformance checkers see the header;
416
+ * `mode: "auto"` (or unset) omits it and lets the server default apply.
417
+ */
418
+ function preferHeaderForExecute(request) {
419
+ if (request.mode === "async") {
420
+ return { Prefer: "respond-async" };
421
+ }
422
+ return undefined;
423
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * OGC API Records surface. Records are catalog metadata documents about
3
+ * resources (services, collections, maps, scenes, STAC collections, source
4
+ * descriptors), not STAC imagery items and not protocol-native service
5
+ * metadata. The wire calls live on `HonuaClient`; this class is the
6
+ * request-shaping layer on top.
7
+ *
8
+ * @module
9
+ */
10
+ import type { HonuaClient } from "./client.js";
11
+ import type { HonuaProtocolTransport } from "./protocol-transport.js";
12
+ import type { HonuaOgcCollectionMetadata, HonuaOgcCollectionsResponse, HonuaOgcConformanceResponse, HonuaOgcLandingResponse, HonuaOgcRecordResponse, HonuaOgcRecordsResponse, OgcCollectionRequest, OgcMetadataRequest, OgcRecordItemRequest, OgcRecordRawItemRequest, OgcRecordsRawSearchRequest, OgcRecordsSearchRequest } from "./types.js";
13
+ export interface HonuaOgcRecordsOptions {
14
+ client: HonuaClient;
15
+ }
16
+ export interface HonuaOgcRecordCollectionOptions {
17
+ client: HonuaClient;
18
+ collectionId: string | number;
19
+ }
20
+ export interface HonuaOgcRecordsSearchAllRequest extends OgcRecordsSearchRequest {
21
+ /** Maximum number of records to request per page. */
22
+ pageSize?: number;
23
+ /** Hard cap on the number of pages to fetch (defaults to 100). */
24
+ maxPages?: number;
25
+ }
26
+ export type HonuaOgcRecordCollectionSearchRequest = Omit<OgcRecordsSearchRequest, "collectionId">;
27
+ export type HonuaOgcRecordCollectionSearchAllRequest = HonuaOgcRecordCollectionSearchRequest & {
28
+ pageSize?: number;
29
+ maxPages?: number;
30
+ };
31
+ export type HonuaOgcRecordCollectionItemRequest = Omit<OgcRecordItemRequest, "collectionId">;
32
+ export type HonuaOgcRecordCollectionRawSearchRequest = Omit<OgcRecordsRawSearchRequest, "collectionId">;
33
+ export type HonuaOgcRecordCollectionRawItemRequest = Omit<OgcRecordRawItemRequest, "collectionId">;
34
+ /** Top-level OGC API Records handle. */
35
+ export declare class HonuaOgcRecords {
36
+ readonly client: HonuaClient;
37
+ constructor(options: HonuaOgcRecordsOptions);
38
+ collection(collectionId: string | number): HonuaOgcRecordCollection;
39
+ landing(request?: OgcMetadataRequest): Promise<HonuaOgcLandingResponse>;
40
+ conformance(request?: OgcMetadataRequest): Promise<HonuaOgcConformanceResponse>;
41
+ collections(request?: OgcMetadataRequest): Promise<HonuaOgcCollectionsResponse>;
42
+ collectionMetadata(request: OgcCollectionRequest): Promise<HonuaOgcCollectionMetadata>;
43
+ search(request: OgcRecordsSearchRequest): Promise<HonuaOgcRecordsResponse>;
44
+ record(request: OgcRecordItemRequest): Promise<HonuaOgcRecordResponse>;
45
+ rawSearch(request: OgcRecordsRawSearchRequest): Promise<Response>;
46
+ rawRecord(request: OgcRecordRawItemRequest): Promise<Response>;
47
+ searchAll(request: HonuaOgcRecordsSearchAllRequest): Promise<HonuaOgcRecordResponse[]>;
48
+ searchStream(request: HonuaOgcRecordsSearchAllRequest): AsyncGenerator<HonuaOgcRecordResponse[], void, undefined>;
49
+ }
50
+ /**
51
+ * Bound handle for one Records catalog (`/collections/{catalogId}`). Drops
52
+ * the routing discriminator from per-call requests.
53
+ */
54
+ export declare class HonuaOgcRecordCollection {
55
+ readonly client: HonuaClient;
56
+ readonly collectionId: string | number;
57
+ constructor(options: HonuaOgcRecordCollectionOptions);
58
+ metadata(request?: OgcMetadataRequest): Promise<HonuaOgcCollectionMetadata>;
59
+ search(request?: HonuaOgcRecordCollectionSearchRequest): Promise<HonuaOgcRecordsResponse>;
60
+ record(request: HonuaOgcRecordCollectionItemRequest): Promise<HonuaOgcRecordResponse>;
61
+ rawSearch(request?: HonuaOgcRecordCollectionRawSearchRequest): Promise<Response>;
62
+ rawRecord(request: HonuaOgcRecordCollectionRawItemRequest): Promise<Response>;
63
+ searchAll(request?: HonuaOgcRecordCollectionSearchAllRequest): Promise<HonuaOgcRecordResponse[]>;
64
+ searchStream(request?: HonuaOgcRecordCollectionSearchAllRequest): AsyncGenerator<HonuaOgcRecordResponse[], void, undefined>;
65
+ }
66
+ export declare function createHonuaOgcRecords(client: HonuaClient): HonuaOgcRecords;
67
+ export declare function getOgcRecordsLanding(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcLandingResponse>;
68
+ export declare function getOgcRecordsConformance(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcConformanceResponse>;
69
+ export declare function listOgcRecordCollections(transport: HonuaProtocolTransport, request?: OgcMetadataRequest): Promise<HonuaOgcCollectionsResponse>;
70
+ export declare function getOgcRecordCollection(transport: HonuaProtocolTransport, request: OgcCollectionRequest): Promise<HonuaOgcCollectionMetadata>;
71
+ export declare function searchOgcRecords(transport: HonuaProtocolTransport, request: OgcRecordsSearchRequest): Promise<HonuaOgcRecordsResponse>;
72
+ export declare function getOgcRecord(transport: HonuaProtocolTransport, request: OgcRecordItemRequest): Promise<HonuaOgcRecordResponse>;
73
+ export declare function fetchOgcRecordsRaw(transport: HonuaProtocolTransport, request: OgcRecordsRawSearchRequest): Promise<Response>;
74
+ export declare function fetchOgcRecordRaw(transport: HonuaProtocolTransport, request: OgcRecordRawItemRequest): Promise<Response>;
75
+ //# sourceMappingURL=ogc-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ogc-records.d.ts","sourceRoot":"","sources":["../../../src/core/ogc-records.ts"],"names":[],"mappings":"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"}