@honua/react 0.0.20-alpha.0 → 0.1.1-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (363) hide show
  1. package/contract/discovery.d.ts +231 -0
  2. package/contract/discovery.d.ts.map +1 -0
  3. package/contract/discovery.js +554 -0
  4. package/contract/edit-sketch.d.ts +8 -0
  5. package/contract/edit-sketch.d.ts.map +1 -1
  6. package/contract/edit-sketch.js +15 -0
  7. package/contract/edit-snapping.d.ts +160 -0
  8. package/contract/edit-snapping.d.ts.map +1 -0
  9. package/contract/edit-snapping.js +675 -0
  10. package/contract/generated/projjson-v0.7-crs-validator.d.ts +35 -0
  11. package/contract/generated/projjson-v0.7-crs-validator.d.ts.map +1 -0
  12. package/contract/generated/projjson-v0.7-crs-validator.js +3941 -0
  13. package/contract/index.d.ts +12 -1
  14. package/contract/index.d.ts.map +1 -1
  15. package/contract/index.js +4 -0
  16. package/contract/pmtiles.d.ts +193 -0
  17. package/contract/pmtiles.d.ts.map +1 -0
  18. package/contract/pmtiles.js +195 -0
  19. package/contract/protocol-module.d.ts +70 -0
  20. package/contract/protocol-module.d.ts.map +1 -0
  21. package/contract/protocol-module.js +1 -0
  22. package/contract/schema-envelope.d.ts +26 -0
  23. package/contract/schema-envelope.d.ts.map +1 -0
  24. package/contract/schema-envelope.js +25 -0
  25. package/contract/schema.d.ts +582 -0
  26. package/contract/schema.d.ts.map +1 -0
  27. package/contract/schema.js +2483 -0
  28. package/contract/source-capability-support.d.ts +6 -0
  29. package/contract/source-capability-support.d.ts.map +1 -0
  30. package/contract/source-capability-support.js +154 -0
  31. package/contract/source.d.ts +57 -15
  32. package/contract/source.d.ts.map +1 -1
  33. package/contract/source.js +368 -65
  34. package/contract/types.d.ts +171 -6
  35. package/contract/types.d.ts.map +1 -1
  36. package/contract/types.js +14 -14
  37. package/core/auth/client-credentials-provider.d.ts +51 -0
  38. package/core/auth/client-credentials-provider.d.ts.map +1 -0
  39. package/core/auth/client-credentials-provider.js +115 -0
  40. package/core/auth/credential-store.d.ts +52 -0
  41. package/core/auth/credential-store.d.ts.map +1 -0
  42. package/core/auth/credential-store.js +82 -0
  43. package/core/auth/index.d.ts +23 -0
  44. package/core/auth/index.d.ts.map +1 -0
  45. package/core/auth/index.js +20 -0
  46. package/core/auth/oauth2-provider.d.ts +114 -0
  47. package/core/auth/oauth2-provider.d.ts.map +1 -0
  48. package/core/auth/oauth2-provider.js +408 -0
  49. package/core/auth/pkce.d.ts +25 -0
  50. package/core/auth/pkce.d.ts.map +1 -0
  51. package/core/auth/pkce.js +46 -0
  52. package/core/auth/static-providers.d.ts +20 -0
  53. package/core/auth/static-providers.d.ts.map +1 -0
  54. package/core/auth/static-providers.js +26 -0
  55. package/core/auth/token-endpoint.d.ts +40 -0
  56. package/core/auth/token-endpoint.d.ts.map +1 -0
  57. package/core/auth/token-endpoint.js +133 -0
  58. package/core/auth/types.d.ts +144 -0
  59. package/core/auth/types.d.ts.map +1 -0
  60. package/core/auth/types.js +8 -0
  61. package/core/bounded-json.d.ts +4 -0
  62. package/core/bounded-json.d.ts.map +1 -0
  63. package/core/bounded-json.js +38 -0
  64. package/core/cache-state.d.ts +9 -0
  65. package/core/cache-state.d.ts.map +1 -1
  66. package/core/cache-state.js +10 -0
  67. package/core/capabilities-xml.d.ts +33 -0
  68. package/core/capabilities-xml.d.ts.map +1 -0
  69. package/core/capabilities-xml.js +331 -0
  70. package/core/client.d.ts +35 -2
  71. package/core/client.d.ts.map +1 -1
  72. package/core/client.js +167 -29
  73. package/core/error-classifications.d.ts +153 -0
  74. package/core/error-classifications.d.ts.map +1 -0
  75. package/core/error-classifications.js +140 -0
  76. package/core/error-code-registry.d.ts +158 -0
  77. package/core/error-code-registry.d.ts.map +1 -0
  78. package/core/error-code-registry.js +143 -0
  79. package/core/error-envelope.d.ts +68 -0
  80. package/core/error-envelope.d.ts.map +1 -0
  81. package/core/error-envelope.js +357 -0
  82. package/core/errors.d.ts +73 -25
  83. package/core/errors.d.ts.map +1 -1
  84. package/core/errors.js +113 -46
  85. package/core/geoparquet-sql.d.ts +190 -0
  86. package/core/geoparquet-sql.d.ts.map +1 -0
  87. package/core/geoparquet-sql.js +368 -0
  88. package/core/odata-key-path.d.ts +12 -0
  89. package/core/odata-key-path.d.ts.map +1 -0
  90. package/core/odata-key-path.js +28 -0
  91. package/core/odata-write-codec.d.ts +66 -0
  92. package/core/odata-write-codec.d.ts.map +1 -0
  93. package/core/odata-write-codec.js +1083 -0
  94. package/core/odata.d.ts +59 -7
  95. package/core/odata.d.ts.map +1 -1
  96. package/core/odata.js +431 -99
  97. package/core/ogc-endpoint-layout.d.ts +70 -0
  98. package/core/ogc-endpoint-layout.d.ts.map +1 -0
  99. package/core/ogc-endpoint-layout.js +173 -0
  100. package/core/ogc-features.d.ts.map +1 -1
  101. package/core/ogc-features.js +35 -17
  102. package/core/ogc-maps.d.ts +7 -0
  103. package/core/ogc-maps.d.ts.map +1 -1
  104. package/core/ogc-maps.js +46 -7
  105. package/core/ogc-processes.d.ts +2 -1
  106. package/core/ogc-processes.d.ts.map +1 -1
  107. package/core/ogc-processes.js +33 -5
  108. package/core/ogc-records.d.ts +9 -0
  109. package/core/ogc-records.d.ts.map +1 -1
  110. package/core/ogc-records.js +78 -29
  111. package/core/ogc-tiles.d.ts +10 -1
  112. package/core/ogc-tiles.d.ts.map +1 -1
  113. package/core/ogc-tiles.js +56 -17
  114. package/core/path-utils.d.ts +9 -0
  115. package/core/path-utils.d.ts.map +1 -1
  116. package/core/path-utils.js +19 -0
  117. package/core/protocol-transport.d.ts +1 -0
  118. package/core/protocol-transport.d.ts.map +1 -1
  119. package/core/request-pipeline.d.ts.map +1 -1
  120. package/core/request-pipeline.js +1 -1
  121. package/core/spatial-filter.d.ts +8 -4
  122. package/core/spatial-filter.d.ts.map +1 -1
  123. package/core/spatial-filter.js +206 -16
  124. package/core/stac-static.d.ts +55 -0
  125. package/core/stac-static.d.ts.map +1 -0
  126. package/core/stac-static.js +386 -0
  127. package/core/stac.d.ts +12 -0
  128. package/core/stac.d.ts.map +1 -1
  129. package/core/stac.js +45 -15
  130. package/core/surfaces.d.ts +13 -0
  131. package/core/surfaces.d.ts.map +1 -1
  132. package/core/surfaces.js +127 -16
  133. package/core/types.d.ts +174 -7
  134. package/core/types.d.ts.map +1 -1
  135. package/core/wfs-capabilities.d.ts +12 -0
  136. package/core/wfs-capabilities.d.ts.map +1 -1
  137. package/core/wfs-capabilities.js +22 -3
  138. package/core/wfs.d.ts +13 -0
  139. package/core/wfs.d.ts.map +1 -1
  140. package/core/wfs.js +35 -5
  141. package/core/wms-capabilities.d.ts +56 -84
  142. package/core/wms-capabilities.d.ts.map +1 -1
  143. package/core/wms-capabilities.js +212 -509
  144. package/core/wmts-capabilities.d.ts +62 -62
  145. package/core/wmts-capabilities.d.ts.map +1 -1
  146. package/core/wmts-capabilities.js +224 -371
  147. package/esri-compat/editor.d.ts +8 -0
  148. package/esri-compat/editor.d.ts.map +1 -1
  149. package/esri-compat/editor.js +13 -0
  150. package/esri-compat/feature-layer.d.ts +2 -0
  151. package/esri-compat/feature-layer.d.ts.map +1 -1
  152. package/esri-compat/feature-layer.js +1 -0
  153. package/esri-compat/identity-manager.d.ts +43 -0
  154. package/esri-compat/identity-manager.d.ts.map +1 -1
  155. package/esri-compat/identity-manager.js +131 -1
  156. package/esri-compat/layer-list.d.ts +11 -0
  157. package/esri-compat/layer-list.d.ts.map +1 -1
  158. package/esri-compat/layer-list.js +49 -0
  159. package/esri-compat/legend.d.ts +10 -0
  160. package/esri-compat/legend.d.ts.map +1 -1
  161. package/esri-compat/legend.js +27 -0
  162. package/esri-compat/oauth-info.d.ts +15 -0
  163. package/esri-compat/oauth-info.d.ts.map +1 -1
  164. package/esri-compat/oauth-info.js +27 -0
  165. package/esri-compat/portal.d.ts +197 -0
  166. package/esri-compat/portal.d.ts.map +1 -0
  167. package/esri-compat/portal.js +251 -0
  168. package/esri-compat/renderer-objects.d.ts +40 -0
  169. package/esri-compat/renderer-objects.d.ts.map +1 -0
  170. package/esri-compat/renderer-objects.js +62 -0
  171. package/esri-compat/sketch.d.ts +43 -0
  172. package/esri-compat/sketch.d.ts.map +1 -1
  173. package/esri-compat/sketch.js +46 -0
  174. package/esri-compat/snapping.d.ts +43 -0
  175. package/esri-compat/snapping.d.ts.map +1 -0
  176. package/esri-compat/snapping.js +45 -0
  177. package/esri-compat/url.d.ts.map +1 -1
  178. package/esri-compat/url.js +1 -1
  179. package/esri-compat/widget-host.d.ts +84 -0
  180. package/esri-compat/widget-host.d.ts.map +1 -0
  181. package/esri-compat/widget-host.js +159 -0
  182. package/filter-registry/index.d.ts +145 -0
  183. package/filter-registry/index.d.ts.map +1 -0
  184. package/filter-registry/index.js +531 -0
  185. package/generated-app/errors.d.ts +18 -2
  186. package/generated-app/errors.d.ts.map +1 -1
  187. package/generated-app/errors.js +44 -11
  188. package/map/automatic-mount-integration.d.ts +134 -0
  189. package/map/automatic-mount-integration.d.ts.map +1 -0
  190. package/map/automatic-mount-integration.js +305 -0
  191. package/map/automatic-source-strategy.d.ts +125 -0
  192. package/map/automatic-source-strategy.d.ts.map +1 -0
  193. package/map/automatic-source-strategy.js +494 -0
  194. package/map/data-to-map-bridge.d.ts +293 -0
  195. package/map/data-to-map-bridge.d.ts.map +1 -0
  196. package/map/data-to-map-bridge.js +817 -0
  197. package/map/geojson-projection.d.ts +33 -0
  198. package/map/geojson-projection.d.ts.map +1 -0
  199. package/map/geojson-projection.js +118 -0
  200. package/map/index.d.ts +14 -0
  201. package/map/index.d.ts.map +1 -1
  202. package/map/index.js +8 -0
  203. package/map/raster-source-spec.d.ts +30 -0
  204. package/map/raster-source-spec.d.ts.map +1 -0
  205. package/map/raster-source-spec.js +190 -0
  206. package/map/raster-source-strategy.d.ts +65 -0
  207. package/map/raster-source-strategy.d.ts.map +1 -0
  208. package/map/raster-source-strategy.js +232 -0
  209. package/map/source-to-maplibre.d.ts +91 -0
  210. package/map/source-to-maplibre.d.ts.map +1 -0
  211. package/map/source-to-maplibre.js +454 -0
  212. package/map/temporal-playback.d.ts +139 -0
  213. package/map/temporal-playback.d.ts.map +1 -0
  214. package/map/temporal-playback.js +247 -0
  215. package/package.json +19 -1
  216. package/query-planner/canonical.d.ts +7 -0
  217. package/query-planner/canonical.d.ts.map +1 -0
  218. package/query-planner/canonical.js +145 -0
  219. package/query-planner/cql2-json.d.ts +17 -0
  220. package/query-planner/cql2-json.d.ts.map +1 -0
  221. package/query-planner/cql2-json.js +646 -0
  222. package/query-planner/diagnostics.d.ts +35 -0
  223. package/query-planner/diagnostics.d.ts.map +1 -0
  224. package/query-planner/diagnostics.js +373 -0
  225. package/query-planner/duckdb.d.ts +79 -0
  226. package/query-planner/duckdb.d.ts.map +1 -0
  227. package/query-planner/duckdb.js +758 -0
  228. package/query-planner/execution-context.d.ts +5 -0
  229. package/query-planner/execution-context.d.ts.map +1 -0
  230. package/query-planner/execution-context.js +50 -0
  231. package/query-planner/executor.d.ts +5 -0
  232. package/query-planner/executor.d.ts.map +1 -0
  233. package/query-planner/executor.js +223 -0
  234. package/query-planner/geoservices.d.ts +91 -0
  235. package/query-planner/geoservices.d.ts.map +1 -0
  236. package/query-planner/geoservices.js +667 -0
  237. package/query-planner/grpc.d.ts +100 -0
  238. package/query-planner/grpc.d.ts.map +1 -0
  239. package/query-planner/grpc.js +736 -0
  240. package/query-planner/index.d.ts +44 -0
  241. package/query-planner/index.d.ts.map +1 -0
  242. package/query-planner/index.js +30 -0
  243. package/query-planner/ir.d.ts +20 -0
  244. package/query-planner/ir.d.ts.map +1 -0
  245. package/query-planner/ir.js +417 -0
  246. package/query-planner/local-aggregate.d.ts +5 -0
  247. package/query-planner/local-aggregate.d.ts.map +1 -0
  248. package/query-planner/local-aggregate.js +126 -0
  249. package/query-planner/odata.d.ts +48 -0
  250. package/query-planner/odata.d.ts.map +1 -0
  251. package/query-planner/odata.js +662 -0
  252. package/query-planner/ogc-compiler.d.ts +55 -0
  253. package/query-planner/ogc-compiler.d.ts.map +1 -0
  254. package/query-planner/ogc-compiler.js +480 -0
  255. package/query-planner/ogc-features.d.ts +53 -0
  256. package/query-planner/ogc-features.d.ts.map +1 -0
  257. package/query-planner/ogc-features.js +617 -0
  258. package/query-planner/planner.d.ts +17 -0
  259. package/query-planner/planner.d.ts.map +1 -0
  260. package/query-planner/planner.js +818 -0
  261. package/query-planner/resource.d.ts +94 -0
  262. package/query-planner/resource.d.ts.map +1 -0
  263. package/query-planner/resource.js +526 -0
  264. package/query-planner/semantic-canonical.d.ts +15 -0
  265. package/query-planner/semantic-canonical.d.ts.map +1 -0
  266. package/query-planner/semantic-canonical.js +62 -0
  267. package/query-planner/semantic-compat.d.ts +10 -0
  268. package/query-planner/semantic-compat.d.ts.map +1 -0
  269. package/query-planner/semantic-compat.js +35 -0
  270. package/query-planner/semantic-compiler.d.ts +64 -0
  271. package/query-planner/semantic-compiler.d.ts.map +1 -0
  272. package/query-planner/semantic-compiler.js +81 -0
  273. package/query-planner/semantic-literals.d.ts +30 -0
  274. package/query-planner/semantic-literals.d.ts.map +1 -0
  275. package/query-planner/semantic-literals.js +133 -0
  276. package/query-planner/semantic-types.d.ts +265 -0
  277. package/query-planner/semantic-types.d.ts.map +1 -0
  278. package/query-planner/semantic-types.js +1 -0
  279. package/query-planner/semantic.d.ts +54 -0
  280. package/query-planner/semantic.d.ts.map +1 -0
  281. package/query-planner/semantic.js +1421 -0
  282. package/query-planner/types.d.ts +560 -0
  283. package/query-planner/types.d.ts.map +1 -0
  284. package/query-planner/types.js +49 -0
  285. package/query-planner/wfs-semantic.d.ts +58 -0
  286. package/query-planner/wfs-semantic.d.ts.map +1 -0
  287. package/query-planner/wfs-semantic.js +547 -0
  288. package/query-planner/wfs.d.ts +6 -0
  289. package/query-planner/wfs.d.ts.map +1 -0
  290. package/query-planner/wfs.js +71 -0
  291. package/react/external-map.d.ts +67 -0
  292. package/react/external-map.d.ts.map +1 -0
  293. package/react/external-map.js +63 -0
  294. package/react/honua-map.d.ts.map +1 -1
  295. package/react/honua-map.js +3 -2
  296. package/react/honua-source-layer.d.ts +110 -0
  297. package/react/honua-source-layer.d.ts.map +1 -0
  298. package/react/honua-source-layer.js +101 -0
  299. package/react/hooks.d.ts +28 -0
  300. package/react/hooks.d.ts.map +1 -1
  301. package/react/hooks.js +26 -4
  302. package/react/index.d.ts +8 -0
  303. package/react/index.d.ts.map +1 -1
  304. package/react/index.js +5 -0
  305. package/react/query-cache.d.ts +26 -4
  306. package/react/query-cache.d.ts.map +1 -1
  307. package/react/query-cache.js +51 -8
  308. package/react/selection.d.ts +177 -0
  309. package/react/selection.d.ts.map +1 -0
  310. package/react/selection.js +0 -0
  311. package/react/use-mounted-source.d.ts +69 -0
  312. package/react/use-mounted-source.d.ts.map +1 -0
  313. package/react/use-mounted-source.js +346 -0
  314. package/runtime/edit-snapping.d.ts +107 -0
  315. package/runtime/edit-snapping.d.ts.map +1 -0
  316. package/runtime/edit-snapping.js +190 -0
  317. package/runtime/errors.d.ts +3 -2
  318. package/runtime/errors.d.ts.map +1 -1
  319. package/runtime/errors.js +19 -2
  320. package/runtime/index.d.ts +8 -2
  321. package/runtime/index.d.ts.map +1 -1
  322. package/runtime/index.js +4 -4
  323. package/runtime/load-package.d.ts.map +1 -1
  324. package/runtime/load-package.js +8 -0
  325. package/runtime/map-package-validation.d.ts +0 -13
  326. package/runtime/map-package-validation.d.ts.map +1 -1
  327. package/runtime/map-package-validation.js +0 -12
  328. package/runtime/map-package.d.ts +1 -1
  329. package/runtime/map-package.d.ts.map +1 -1
  330. package/runtime/maplibre-renderer.d.ts +41 -0
  331. package/runtime/maplibre-renderer.d.ts.map +1 -0
  332. package/runtime/maplibre-renderer.js +322 -0
  333. package/runtime/pmtiles-protocol.d.ts +77 -0
  334. package/runtime/pmtiles-protocol.d.ts.map +1 -0
  335. package/runtime/pmtiles-protocol.js +120 -0
  336. package/runtime/query-tiles.d.ts +2 -1
  337. package/runtime/query-tiles.d.ts.map +1 -1
  338. package/runtime/query-tiles.js +6 -2
  339. package/runtime/source-bridge.d.ts +4 -4
  340. package/runtime/source-bridge.d.ts.map +1 -1
  341. package/runtime/source-bridge.js +36 -56
  342. package/runtime/style-interactions.d.ts +3 -2
  343. package/runtime/style-interactions.d.ts.map +1 -1
  344. package/runtime/style-interactions.js +11 -3
  345. package/runtime/terra-draw-sketch.d.ts +275 -0
  346. package/runtime/terra-draw-sketch.d.ts.map +1 -0
  347. package/runtime/terra-draw-sketch.js +404 -0
  348. package/source-capability-registry.d.ts +1 -0
  349. package/source-capability-registry.js +1 -0
  350. package/source-capability-types.d.ts +186 -0
  351. package/source-capability-types.js +7 -0
  352. package/style/index.d.ts +2 -0
  353. package/style/index.d.ts.map +1 -1
  354. package/style/index.js +2 -0
  355. package/style/renderers.d.ts +326 -0
  356. package/style/renderers.d.ts.map +1 -0
  357. package/style/renderers.js +517 -0
  358. package/webmap/convert-renderer.d.ts +24 -3
  359. package/webmap/convert-renderer.d.ts.map +1 -1
  360. package/webmap/convert-renderer.js +93 -112
  361. package/webmap/index.d.ts +1 -1
  362. package/webmap/index.d.ts.map +1 -1
  363. package/webmap/index.js +1 -1
@@ -39,23 +39,34 @@
39
39
  *
40
40
  * @packageDocumentation
41
41
  */
42
- export type { AdapterFor, AdapterKind, AdapterTypeMap, AggregationFn, AggregationHistogramBucketAliases, AggregationHistogramBucketSpec, AggregationMetric, AggregationSpec, AggregationTimeIntervalSpec, AggregationTimeIntervalUnit, AggregationTimeSeriesAliases, AggregationTimeSeriesSpec, AttachmentAdd, AttachmentApi, AttachmentDelete, AttachmentEditOutcome, AttachmentGroup, AttachmentInfo, AttachmentQuery, AttachmentUpdate, CanonicalFeature, Capabilities, Capability, CapabilityPolicy, CreateDatasetOptions, Dataset, DatasetId, DegradedReason, EditEnvelope, EditOutcome, EditResult, FeatureId, MapBinding, PaginationSpec, Protocol, Query, RelatedGroup, RelatedQuery, RelatedResult, ResolveSourceContext, Result, SortSpec, Source, SourceAnalyticsCapabilities, SourceDescriptor, SourceFreshnessContract, SourceHistogramCapabilityMetadata, SourceId, SourceLocator, SourceResolver, SourceSchema, SourceTimeSeriesCapabilityMetadata, } from "./types.js";
42
+ export type { AdapterFor, AdapterKind, AdapterTypeMap, AggregationFn, AggregationHistogramBucketAliases, AggregationHistogramBucketSpec, AggregationMetric, AggregationSpec, AggregationTimeIntervalSpec, AggregationTimeIntervalUnit, AggregationTimeSeriesAliases, AggregationTimeSeriesSpec, AttachmentAdd, AttachmentApi, AttachmentDelete, AttachmentEditOutcome, AttachmentGroup, AttachmentInfo, AttachmentQuery, AttachmentUpdate, CanonicalFeature, Capabilities, CapabilityAwareSource, Capability, CapabilityPolicy, CreateDatasetOptions, Dataset, DatasetId, DegradedReason, EditEnvelope, EditOutcome, EditResult, FeatureId, MapBinding, PaginationSpec, Protocol, Query, RasterRequestBinding, RelatedGroup, RelatedQuery, RelatedResult, ResolveSourceContext, Result, SortSpec, Source, SourceWithCapability, SourceAnalyticsCapabilities, SourceDescriptor, SourceFreshnessContract, SourceHistogramCapabilityMetadata, SourceId, SourceLocator, SourceResolver, SourceSchema, SourceTimeSeriesCapabilityMetadata, } from "./types.js";
43
43
  export type { SpatialAggregationCacheMetadata, SpatialAggregationCategoryBucket, SpatialAggregationCategorySummarySpec, SpatialAggregationCategoryValue, SpatialAggregationCell, SpatialAggregationCellGeometry, SpatialAggregationContractFixture, SpatialAggregationCountSummarySpec, SpatialAggregationCountValue, SpatialAggregationDomainValue, SpatialAggregationGroupByMetadata, SpatialAggregationGroupBySpec, SpatialAggregationGroupedSummary, SpatialAggregationHistogramBucket, SpatialAggregationHistogramSummarySpec, SpatialAggregationHistogramValue, SpatialAggregationInclude, SpatialAggregationIndexModelMetadata, SpatialAggregationIndexCoverageMetadata, SpatialAggregationIndexSelection, SpatialAggregationIndexState, SpatialAggregationMetadata, SpatialAggregationMetricKind, SpatialAggregationMetricSummarySpec, SpatialAggregationMetricValue, SpatialAggregationPageInfo, SpatialAggregationPageRequest, SpatialAggregationProgressRefinement, SpatialAggregationProgressStatus, SpatialAggregationProgressiveState, SpatialAggregationRangeBucketSpec, SpatialAggregationRangeBucketValue, SpatialAggregationRangeSummarySpec, SpatialAggregationRangeValue, SpatialAggregationRequest, SpatialAggregationResolutionInput, SpatialAggregationResult, SpatialAggregationResolvedWidgetSummary, SpatialAggregationSummaryBag, SpatialAggregationSummaryBase, SpatialAggregationSummaryKind, SpatialAggregationSummaryMetadata, SpatialAggregationSummarySpec, SpatialAggregationSummaryValue, SpatialAggregationValidationIssue, SpatialAggregationValueType, SpatialAggregationViewport, SpatialAggregationWidgetKind, SpatialAggregationWidgetMetadata, SpatialAggregationWidgetSummarySource, } from "./spatial-aggregation.js";
44
44
  export { CAPABILITIES, PROTOCOL_DEFAULT_CAPABILITIES, PROTOCOLS, capabilities, intersectCapabilities, unionCapabilities, } from "./types.js";
45
+ export type { SourceSchemaV2Envelope } from "./schema-envelope.js";
46
+ export { HONUA_DISCOVERY_ADAPTER_VERSION, HONUA_DISCOVERY_PROJECTION_VERSION, createDiscoveryCacheIdentity, inspectDiscoveredSource, normalizeDiscoveryEndpoint, resolveDiscoveryCapabilities, } from "./discovery.js";
47
+ export type { DiscoveryCacheIdentity, DiscoveryCacheIdentityOptions, DiscoveryCacheResourceIdentity, DiscoveryAxisOrderMetadata, DiscoveryCapabilityDecision, DiscoveryCapabilityDecisionCode, DiscoveryCapabilityEvidence, DiscoveryCapabilityEvidenceSummary, DiscoveryCapabilityPolicy, DiscoveryCapabilityResolution, DiscoveryDiagnostic, DiscoveryDiagnosticCode, DiscoveryDimensionMetadata, DiscoveryEvidenceKind, DiscoveryOperationMetadata, DiscoveryProvenance, DiscoverySourceMetadata, DiscoveryState, DiscoveryStyleMetadata, DiscoveryTileMatrixMetadata, DiscoveryTileMatrixSetMetadata, SourceDiscoveryInspection, } from "./discovery.js";
48
+ export { HonuaDiscoveryError } from "../core/errors.js";
49
+ export type { HonuaDiscoveryErrorCode } from "../core/errors.js";
45
50
  export { ANALYTICS_SOURCE_SCHEMA_VERSION, analyticsSourceDegradedReason, analyticsSourceId, assessAnalyticsSourcePushdown, buildAnalyticsSourceCacheKey, defineIndexedSpatialSource, defineWarehouseQuerySource, defineWarehouseTableSource, defineWarehouseTilesetSource, isAnalyticsSourceDescriptor, normalizeAnalyticsSourceDescriptor, } from "./analytics-sources.js";
46
51
  export type { AnalyticsIndexCoverageDescriptor, AnalyticsIndexCoverageKind, AnalyticsIndexDescriptor, AnalyticsIndexHierarchy, AnalyticsSourceCacheIdentity, AnalyticsSourceCacheKeyOptions, AnalyticsSourceCachePolicy, AnalyticsSourceCapabilityMetadata, AnalyticsSourceDescriptor, AnalyticsSourceDescriptorBase, AnalyticsSourceFallbackMode, AnalyticsSourceFallbackPolicy, AnalyticsSourceKind, AnalyticsSourceProtocolEscapeHatch, AnalyticsSourcePushdownAssessment, AnalyticsSourcePushdownCapability, AnalyticsSourceRelationDescriptor, AnalyticsSourceSchemaVersion, AnalyticsSourceSqlDescriptor, AnalyticsSourceTilesetDescriptor, AnalyticsWarehouseProvider, IndexedSpatialSourceDescriptor, WarehouseQuerySourceDescriptor, WarehouseTableSourceDescriptor, WarehouseTilesetSourceDescriptor, } from "./analytics-sources.js";
47
52
  export type { WidgetCategoriesRequest, WidgetCategoriesResult, WidgetCategoryBucket, WidgetCountRequest, WidgetCountResult, WidgetFormulaRequest, WidgetFormulaResult, WidgetHistogramBin, WidgetHistogramRequest, WidgetHistogramResult, WidgetRangeRequest, WidgetRangeResult, WidgetSource, WidgetSourceCacheHints, WidgetSourceCacheMetadata, WidgetSourceExecutionMode, WidgetSourceFilterClause, WidgetSourceFreshnessContract, WidgetSourceModelKind, WidgetSourceOptions, WidgetSourceOrderBy, WidgetSourceProjection, WidgetSourceRequestBase, WidgetSourceResponseBase, WidgetSourceSchemaVersion, WidgetSourceValue, WidgetTimeSeriesBucket, WidgetTimeSeriesInterval, WidgetTimeSeriesIntervalUnit, WidgetTimeSeriesRequest, WidgetTimeSeriesResult, WidgetTopValueBucket, WidgetTopValuesRequest, WidgetTopValuesResult, } from "./widget-source.js";
48
53
  export { WIDGET_SOURCE_SCHEMA_VERSION, createWidgetSource, widgetSource } from "./widget-source.js";
49
54
  export { EditWorkflowSession, createEditSession, normalizeEditWorkflowFailures } from "./edit-session.js";
50
55
  export type { CreateEditSessionOptions, EditAttachmentMutation, EditAttachmentMutationOutcome, EditFieldDomain, EditFieldDomainCodedValue, EditWorkflowCapabilityState, EditWorkflowCapabilitySummary, EditWorkflowConflictInfo, EditWorkflowConflictState, EditWorkflowFailure, EditWorkflowFailureKind, EditWorkflowField, EditWorkflowKind, EditWorkflowMetadata, EditWorkflowMetadataOptions, EditWorkflowOperation, EditWorkflowOptimisticHooks, EditWorkflowRelationship, EditWorkflowSnapshot, EditWorkflowStatus, EditWorkflowSubmitResult, EditWorkflowValidationError, EditWorkflowValidationResult, NormalizeEditWorkflowFailuresOptions, } from "./edit-session.js";
56
+ export { DEFAULT_SNAPPING_CONFIG, SnapIndex, compareSnapCandidates, createSnapIndex, createSnapIndexEditSessionHooks, resolveSnapCandidate, resolveSnappingConfig, withSnappedActiveVertex, } from "./edit-snapping.js";
57
+ export type { SnapCandidate, SnapCandidateKind, SnapIndexEditSessionHookOptions, SnapIndexFeatureInput, SnapIndexStats, SnapPosition, SnapProjection, SnapQueryInput, SnapResolution, SnapScreenPoint, SnapSourceOptions, SnappingConfig, } from "./edit-snapping.js";
51
58
  export { EditSketchWorkflowModel, createEditSketchWorkflow } from "./edit-sketch.js";
52
59
  export type { EditAnnotationPersistenceHook, EditAnnotationPersistenceSnapshot, EditAnnotationPersistenceState, EditSketchCapabilityState, EditSketchStatus, EditSketchTool, EditSketchToolCapability, EditSketchToolCapabilityInput, EditSketchUndoSnapshot, EditSketchWorkflowOptions, EditSketchWorkflowSnapshot, } from "./edit-sketch.js";
53
60
  export { FEATURE_SERVER_H3_SPATIAL_AGGREGATION_INDEX_MODEL_ID, SPATIAL_AGGREGATION_CAPABILITY, SPATIAL_AGGREGATION_METADATA_SCHEMA_VERSION, SPATIAL_AGGREGATION_SCHEMA_VERSION, assertFeatureServerH3SpatialAggregationRequest, assertValidSpatialAggregationRequest, isSpatialAggregationComplete, resolveSpatialAggregationWidgetSummary, spatialAggregationProgress, spatialAggregationSummaryKindSupportedByFeatureServerH3, spatialAggregationSummaryKindRequiresField, spatialAggregationWidgets, validateFeatureServerH3SpatialAggregationRequest, validateSpatialAggregationRequest, } from "./spatial-aggregation.js";
54
61
  export { QUERY_TILE_SERVER_CONTRACT_VERSION, QUERY_TILE_SERVER_FEATURE_DETAIL_ROUTE_TEMPLATE, QUERY_TILE_SERVER_RESPONSE_HEADERS, QUERY_TILE_SERVER_ROUTE_PREFIX, QUERY_TILE_SERVER_SOURCE_ROUTE_TEMPLATE, QUERY_TILE_SERVER_TILEJSON_ROUTE_TEMPLATE, QUERY_TILE_SERVER_TILE_ROUTE_TEMPLATE, buildQueryTileCacheKey, buildQueryTileFeatureDetailQuery, buildQueryTileServerPath, buildQueryTileServerUrl, defineQueryTileSource, loadQueryTileFeatureDetail, mapQueryTileFeatureIdentity, normalizeQueryTileKey, normalizeQueryTileSourceDescriptor, parseQueryTileFeatureDetailResponse, parseQueryTileJson, parseQueryTileServerErrorResponse, queryTileServerRequestParamsFromDescriptor, queryTileKeyString, stableJson, } from "./tiles.js";
55
62
  export type { DefineQueryTileSourceOptions, QueryTileCacheIdentityDescriptor, QueryTileCacheKeyOptions, QueryTileCachePolicy, QueryTileEndpointDescriptor, QueryTileFallbackMode, QueryTileFallbackPolicy, QueryTileFeatureDetailOptions, QueryTileFeatureIdentityContext, QueryTileFeatureIdentityDescriptor, QueryTileFeatureIdentityMapper, QueryTileFeatureIdentityTarget, QueryTileFormat, QueryTileFeatureDetailResponse, QueryTileJson, QueryTileJsonVectorLayer, QueryTileKey, QueryTileKeyInput, QueryTileProjectionDescriptor, QueryTileScheme, QueryTileServerCachePolicyDescriptor, QueryTileServerCacheValidators, QueryTileServerContractFixture, QueryTileServerDegradation, QueryTileServerDegradationCode, QueryTileServerDegradationSeverity, QueryTileServerError, QueryTileServerErrorCode, QueryTileServerErrorResponse, QueryTileServerFeatureIdentityDescriptor, QueryTileServerLimitDescriptor, QueryTileServerRequestParameters, QueryTileServerRouteKind, QueryTileServerRouteOptions, QueryTileServerTileJsonMetadata, QueryTileSpatialReference, QueryTileSpatialReferenceDescriptor, QueryTileExtentDescriptor, QueryTileSourceDescriptor, } from "./tiles.js";
56
63
  export { ALL_CAPABILITIES, FIRST_PARTY_PROTOCOLS, createDataset, geoServicesFeatureSource, geoServicesGPServiceSource, geoServicesGeometryServiceSource, geoServicesImageSource, geoServicesMapServiceSource, odataSource, ogcFeaturesSource, ogcTilesSource, ogcMapsSource, ogcRecordsSource, stacSearchSource, wfsSource, wmsSource, wmtsSource, } from "./source.js";
64
+ export type { OdataSourceOptions, OdataWriteEncoding } from "./source.js";
57
65
  export type { IJobRun, JobError, JobProgress, JobResult, JobResultsOptions, JobSnapshot, JobSnapshotListener, JobStatus, } from "./jobs.js";
58
66
  export { HonuaJobPollTimeoutError, isJobTerminal } from "./jobs.js";
67
+ export { HonuaPmtilesArchive, describePmtilesArchive, pmtilesProtocolModule, stripPmtilesScheme, toPmtilesSourceUrl, } from "./pmtiles.js";
68
+ export type { DescribePmtilesArchiveDeps, PmtilesArchiveDescription, PmtilesArchiveLike, PmtilesHeaderLike, PmtilesModuleLike, PmtilesRangeResponse, PmtilesSourceLike, PmtilesTileKind, PmtilesVectorLayerInfo, } from "./pmtiles.js";
69
+ export type { ProtocolModule, ProtocolModuleDiagnostic, ProtocolModuleDiscoverOptions, ProtocolModuleEnvironment, ProtocolModuleHandle, } from "./protocol-module.js";
59
70
  export { TEMPORAL_CAPABILITY, TEMPORAL_ROUTE_PREFIX, TEMPORAL_ROUTES, TEMPORAL_SCHEMA_VERSION, assertValidTemporalRollbackPlanRequest, createTemporalClient, isReadOnlyTemporalHistory, temporalModeSupports, validateTemporalRollbackPlanRequest, } from "./temporal.js";
60
71
  export type { TemporalAsOfRequest, TemporalAttributeChange, TemporalCheckpoint, TemporalChangeSet, TemporalChangeSetOperationKind, TemporalClient, TemporalClientCallOptions, TemporalContractFixture, TemporalCursor, TemporalCursorType, TemporalDiff, TemporalDiffRequest, TemporalDiffStatus, TemporalDiffSummary, TemporalError, TemporalErrorCode, TemporalFeatureChangeType, TemporalFeatureDiff, TemporalFeatureTimeline, TemporalFeatureTimelineRequest, TemporalFilter, TemporalGeometryChange, TemporalHistoryModel, TemporalJobRef, TemporalMode, TemporalRequestClient, TemporalRevision, TemporalRevisionOperation, TemporalRiskLevel, TemporalRollbackExecuteRequest, TemporalRollbackMode, TemporalRollbackOperation, TemporalRollbackPlan, TemporalRollbackPlanRequest, TemporalRollbackScope, TemporalRollbackStatus, TemporalSourceCapability, TemporalValidationIssue, } from "./temporal.js";
61
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract/index.ts"],"names":[],"mappings":"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"}
package/contract/index.js CHANGED
@@ -40,12 +40,16 @@
40
40
  * @packageDocumentation
41
41
  */
42
42
  export { CAPABILITIES, PROTOCOL_DEFAULT_CAPABILITIES, PROTOCOLS, capabilities, intersectCapabilities, unionCapabilities, } from "./types.js";
43
+ export { HONUA_DISCOVERY_ADAPTER_VERSION, HONUA_DISCOVERY_PROJECTION_VERSION, createDiscoveryCacheIdentity, inspectDiscoveredSource, normalizeDiscoveryEndpoint, resolveDiscoveryCapabilities, } from "./discovery.js";
44
+ export { HonuaDiscoveryError } from "../core/errors.js";
43
45
  export { ANALYTICS_SOURCE_SCHEMA_VERSION, analyticsSourceDegradedReason, analyticsSourceId, assessAnalyticsSourcePushdown, buildAnalyticsSourceCacheKey, defineIndexedSpatialSource, defineWarehouseQuerySource, defineWarehouseTableSource, defineWarehouseTilesetSource, isAnalyticsSourceDescriptor, normalizeAnalyticsSourceDescriptor, } from "./analytics-sources.js";
44
46
  export { WIDGET_SOURCE_SCHEMA_VERSION, createWidgetSource, widgetSource } from "./widget-source.js";
45
47
  export { EditWorkflowSession, createEditSession, normalizeEditWorkflowFailures } from "./edit-session.js";
48
+ export { DEFAULT_SNAPPING_CONFIG, SnapIndex, compareSnapCandidates, createSnapIndex, createSnapIndexEditSessionHooks, resolveSnapCandidate, resolveSnappingConfig, withSnappedActiveVertex, } from "./edit-snapping.js";
46
49
  export { EditSketchWorkflowModel, createEditSketchWorkflow } from "./edit-sketch.js";
47
50
  export { FEATURE_SERVER_H3_SPATIAL_AGGREGATION_INDEX_MODEL_ID, SPATIAL_AGGREGATION_CAPABILITY, SPATIAL_AGGREGATION_METADATA_SCHEMA_VERSION, SPATIAL_AGGREGATION_SCHEMA_VERSION, assertFeatureServerH3SpatialAggregationRequest, assertValidSpatialAggregationRequest, isSpatialAggregationComplete, resolveSpatialAggregationWidgetSummary, spatialAggregationProgress, spatialAggregationSummaryKindSupportedByFeatureServerH3, spatialAggregationSummaryKindRequiresField, spatialAggregationWidgets, validateFeatureServerH3SpatialAggregationRequest, validateSpatialAggregationRequest, } from "./spatial-aggregation.js";
48
51
  export { QUERY_TILE_SERVER_CONTRACT_VERSION, QUERY_TILE_SERVER_FEATURE_DETAIL_ROUTE_TEMPLATE, QUERY_TILE_SERVER_RESPONSE_HEADERS, QUERY_TILE_SERVER_ROUTE_PREFIX, QUERY_TILE_SERVER_SOURCE_ROUTE_TEMPLATE, QUERY_TILE_SERVER_TILEJSON_ROUTE_TEMPLATE, QUERY_TILE_SERVER_TILE_ROUTE_TEMPLATE, buildQueryTileCacheKey, buildQueryTileFeatureDetailQuery, buildQueryTileServerPath, buildQueryTileServerUrl, defineQueryTileSource, loadQueryTileFeatureDetail, mapQueryTileFeatureIdentity, normalizeQueryTileKey, normalizeQueryTileSourceDescriptor, parseQueryTileFeatureDetailResponse, parseQueryTileJson, parseQueryTileServerErrorResponse, queryTileServerRequestParamsFromDescriptor, queryTileKeyString, stableJson, } from "./tiles.js";
49
52
  export { ALL_CAPABILITIES, FIRST_PARTY_PROTOCOLS, createDataset, geoServicesFeatureSource, geoServicesGPServiceSource, geoServicesGeometryServiceSource, geoServicesImageSource, geoServicesMapServiceSource, odataSource, ogcFeaturesSource, ogcTilesSource, ogcMapsSource, ogcRecordsSource, stacSearchSource, wfsSource, wmsSource, wmtsSource, } from "./source.js";
50
53
  export { HonuaJobPollTimeoutError, isJobTerminal } from "./jobs.js";
54
+ export { HonuaPmtilesArchive, describePmtilesArchive, pmtilesProtocolModule, stripPmtilesScheme, toPmtilesSourceUrl, } from "./pmtiles.js";
51
55
  export { TEMPORAL_CAPABILITY, TEMPORAL_ROUTE_PREFIX, TEMPORAL_ROUTES, TEMPORAL_SCHEMA_VERSION, assertValidTemporalRollbackPlanRequest, createTemporalClient, isReadOnlyTemporalHistory, temporalModeSupports, validateTemporalRollbackPlanRequest, } from "./temporal.js";
@@ -0,0 +1,193 @@
1
+ /**
2
+ * PMTiles archive inspection for the protocol-neutral contract.
3
+ *
4
+ * A PMTiles archive is a single, immutable file (on object storage or any
5
+ * static host) that stores an entire raster or vector tile pyramid. It
6
+ * participates in the `Dataset` / `Source` model as a **tiles-only** protocol:
7
+ * the canonical query family throws {@link HonuaCapabilityNotSupportedError}
8
+ * (there is no feature-query surface on an archive), while archive metadata —
9
+ * bounds, min/max zoom, and vector layer names — is inspected through
10
+ * `Source.protocol("pmtiles").describe()`.
11
+ *
12
+ * This module never statically imports the `pmtiles` package. The reader is
13
+ * pulled in lazily (`await import("pmtiles")`) the first time an archive is
14
+ * actually described, mirroring the Cesium adapter so consumers that never
15
+ * touch PMTiles pay zero bundle cost. A minimal `pmtiles` module slice is
16
+ * modelled here so the wiring stays unit-testable against an injected fake
17
+ * without a network fetch.
18
+ *
19
+ * @module
20
+ */
21
+ import type { ProtocolModule } from "./protocol-module.js";
22
+ /**
23
+ * Canonical tile-payload kinds a PMTiles archive can store. `mvt` is a vector
24
+ * archive (Mapbox Vector Tiles); the rest are raster encodings. `unknown`
25
+ * covers archives whose header tile-type byte the reader could not classify.
26
+ */
27
+ export type PmtilesTileKind = "mvt" | "png" | "jpeg" | "webp" | "avif" | "unknown";
28
+ /**
29
+ * One vector layer advertised in a vector archive's TileJSON-style metadata
30
+ * (`vector_layers`). Present only for `mvt` archives; raster archives report an
31
+ * empty {@link PmtilesArchiveDescription.vectorLayers} list.
32
+ */
33
+ export interface PmtilesVectorLayerInfo {
34
+ /** Layer id — the MapLibre `source-layer` name to reference in a style. */
35
+ readonly id: string;
36
+ /** Optional human description carried in the archive metadata. */
37
+ readonly description?: string;
38
+ /** Optional per-layer minimum zoom advertised in the metadata. */
39
+ readonly minZoom?: number;
40
+ /** Optional per-layer maximum zoom advertised in the metadata. */
41
+ readonly maxZoom?: number;
42
+ /** Optional field-name → type map advertised in the metadata. */
43
+ readonly fields?: Readonly<Record<string, string>>;
44
+ }
45
+ /**
46
+ * The archive metadata surfaced by {@link describePmtilesArchive}. Bounds are
47
+ * `[west, south, east, north]` in degrees; `center` is `[lon, lat, zoom]`. The
48
+ * raw metadata JSON is preserved on `metadata` for callers that need archive
49
+ * fields beyond the normalized shape.
50
+ */
51
+ export interface PmtilesArchiveDescription {
52
+ /** Archive URL the description was read from. */
53
+ readonly url: string;
54
+ /** Tile payload kind stored in the archive. */
55
+ readonly tileKind: PmtilesTileKind;
56
+ /** Geographic bounds `[west, south, east, north]` in degrees. */
57
+ readonly bounds: readonly [number, number, number, number];
58
+ /** Lowest zoom level present in the archive. */
59
+ readonly minZoom: number;
60
+ /** Highest zoom level present in the archive. */
61
+ readonly maxZoom: number;
62
+ /** Suggested view center `[lon, lat, zoom]`. */
63
+ readonly center: readonly [number, number, number];
64
+ /** Vector layer definitions (empty for raster archives). */
65
+ readonly vectorLayers: readonly PmtilesVectorLayerInfo[];
66
+ /** Attribution string advertised in the archive metadata, when present. */
67
+ readonly attribution?: string;
68
+ /** The raw, parsed archive metadata JSON. */
69
+ readonly metadata: Readonly<Record<string, unknown>>;
70
+ }
71
+ /** A byte-range response from a {@link PmtilesSourceLike}. */
72
+ export interface PmtilesRangeResponse {
73
+ readonly data: ArrayBuffer;
74
+ readonly etag?: string;
75
+ }
76
+ /**
77
+ * The `pmtiles` `Source` surface — a byte-range reader over the archive. A
78
+ * remote archive uses the reader's own `FetchSource`; a local fixture (tests)
79
+ * supplies a buffer-backed implementation.
80
+ */
81
+ export interface PmtilesSourceLike {
82
+ getBytes(offset: number, length: number, signal?: AbortSignal, etag?: string): Promise<PmtilesRangeResponse>;
83
+ getKey(): string;
84
+ }
85
+ /** The `Header` fields this module reads (a subset of `pmtiles.Header`). */
86
+ export interface PmtilesHeaderLike {
87
+ readonly minZoom: number;
88
+ readonly maxZoom: number;
89
+ readonly minLon: number;
90
+ readonly minLat: number;
91
+ readonly maxLon: number;
92
+ readonly maxLat: number;
93
+ readonly centerZoom: number;
94
+ readonly centerLon: number;
95
+ readonly centerLat: number;
96
+ readonly tileType: number;
97
+ }
98
+ /** The `PMTiles` reader surface this module drives. */
99
+ export interface PmtilesArchiveLike {
100
+ getHeader(): Promise<PmtilesHeaderLike>;
101
+ getMetadata(): Promise<unknown>;
102
+ }
103
+ /** The minimal slice of `typeof import("pmtiles")` the describe path needs. */
104
+ export interface PmtilesModuleLike {
105
+ new (source: PmtilesSourceLike | string): PmtilesArchiveLike;
106
+ }
107
+ /** Injectable dependencies for {@link describePmtilesArchive} (test seams). */
108
+ export interface DescribePmtilesArchiveDeps {
109
+ /** Override the lazily-imported `pmtiles.PMTiles` constructor. */
110
+ readonly PMTiles?: PmtilesModuleLike;
111
+ /** Read from a local/in-memory source instead of fetching `url`. */
112
+ readonly source?: PmtilesSourceLike;
113
+ }
114
+ /**
115
+ * Inspect a PMTiles archive and return its normalized metadata (bounds, min/max
116
+ * zoom, suggested center, and vector layer names). The `pmtiles` reader is
117
+ * imported lazily on first use.
118
+ *
119
+ * Pass {@link DescribePmtilesArchiveDeps.source} to read a local archive (the
120
+ * unit-test path) or {@link DescribePmtilesArchiveDeps.PMTiles} to inject a fake
121
+ * reader; both default to fetching `url` through the real reader.
122
+ *
123
+ * @example
124
+ * ```ts
125
+ * const info = await describePmtilesArchive("https://example.com/basemap.pmtiles");
126
+ * console.log(info.bounds, info.minZoom, info.maxZoom);
127
+ * for (const layer of info.vectorLayers) console.log(layer.id);
128
+ * ```
129
+ */
130
+ export declare function describePmtilesArchive(url: string, deps?: DescribePmtilesArchiveDeps): Promise<PmtilesArchiveDescription>;
131
+ /**
132
+ * Typed adapter handle for a PMTiles archive, reachable through
133
+ * `Source.protocol("pmtiles")`. Provides the archive-metadata inspection
134
+ * surface ({@link HonuaPmtilesArchive.describe}) that the tiles-only PMTiles
135
+ * `Source` uses to participate in the Dataset model honestly. The first
136
+ * `describe()` call is cached so repeated inspection does not re-open the
137
+ * archive.
138
+ */
139
+ export declare class HonuaPmtilesArchive {
140
+ #private;
141
+ /** The `pmtiles://`-free archive URL this handle inspects. */
142
+ readonly url: string;
143
+ constructor(url: string, deps?: DescribePmtilesArchiveDeps);
144
+ /**
145
+ * Inspect the archive and return its normalized metadata. Cached after the
146
+ * first successful call; a failed inspection is not cached so a transient
147
+ * fetch error can be retried.
148
+ */
149
+ describe(): Promise<PmtilesArchiveDescription>;
150
+ }
151
+ /**
152
+ * Strip a leading `pmtiles://` scheme from an archive URL, if present. MapLibre
153
+ * style sources address PMTiles archives as `pmtiles://https://…`; the reader
154
+ * (and this contract's describe path) want the bare archive URL.
155
+ */
156
+ export declare function stripPmtilesScheme(url: string): string;
157
+ /**
158
+ * Add the `pmtiles://` scheme to a bare archive URL if it is not already
159
+ * present. The inverse of {@link stripPmtilesScheme}; use it when composing a
160
+ * MapLibre source `url` from a plain archive locator.
161
+ */
162
+ export declare function toPmtilesSourceUrl(url: string): string;
163
+ /**
164
+ * The first-party PMTiles {@link ProtocolModule} (issue #538).
165
+ *
166
+ * `pmtilesSource()` (`src/contract/source.ts`) builds its
167
+ * `Source.protocol("pmtiles")` escape hatch through this exact factory
168
+ * instead of constructing {@link HonuaPmtilesArchive} directly, and
169
+ * `pmtilesProtocolPlugin` (`@honua/sdk-js/plugin`) packages the same factory
170
+ * as a `HonuaPluginFactory<"protocol">` for `HonuaPluginRegistry`. Both
171
+ * callers run the identical construction path, which is what proves the
172
+ * built-in adapter carries no special registry privilege.
173
+ *
174
+ * `discover()` is synchronous: PMTiles opens its reader lazily on the
175
+ * returned handle's own first `describe()` call, so no I/O happens before a
176
+ * caller actually asks for archive metadata (REQ-003, issue #538).
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * const module = pmtilesProtocolModule();
181
+ * const handle = module.discover({
182
+ * id: "basemap",
183
+ * protocol: "pmtiles",
184
+ * locator: { url: "https://example.com/basemap.pmtiles" },
185
+ * });
186
+ * if (!(handle instanceof Promise)) {
187
+ * const info = await handle.adapter.describe();
188
+ * console.log(info.bounds);
189
+ * }
190
+ * ```
191
+ */
192
+ export declare function pmtilesProtocolModule(deps?: DescribePmtilesArchiveDeps): ProtocolModule<"pmtiles", HonuaPmtilesArchive>;
193
+ //# sourceMappingURL=pmtiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pmtiles.d.ts","sourceRoot":"","sources":["../../../src/contract/pmtiles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ import { PROTOCOL_DEFAULT_CAPABILITIES } from "./types.js";
2
+ /**
3
+ * Lazily import the `pmtiles` reader. Kept in its own function so the dynamic
4
+ * `import("pmtiles")` is the only reference to the package in `src/`, which is
5
+ * what keeps PMTiles out of every bundle that never inspects an archive.
6
+ */
7
+ async function loadPmtilesCtor() {
8
+ const mod = (await import("pmtiles"));
9
+ return mod.PMTiles;
10
+ }
11
+ /**
12
+ * The `pmtiles` `TileType` enum values (spec v3). Duplicated here as a plain
13
+ * map so classification does not force a value import of the package.
14
+ */
15
+ const TILE_KIND_BY_TYPE = {
16
+ 0: "unknown",
17
+ 1: "mvt",
18
+ 2: "png",
19
+ 3: "jpeg",
20
+ 4: "webp",
21
+ 5: "avif",
22
+ };
23
+ function tileKindFromHeader(tileType) {
24
+ return TILE_KIND_BY_TYPE[tileType] ?? "unknown";
25
+ }
26
+ function readVectorLayers(metadata) {
27
+ const raw = metadata.vector_layers;
28
+ if (!Array.isArray(raw))
29
+ return [];
30
+ const layers = [];
31
+ for (const entry of raw) {
32
+ if (!entry || typeof entry !== "object")
33
+ continue;
34
+ const record = entry;
35
+ const id = record.id;
36
+ if (typeof id !== "string" || id === "")
37
+ continue;
38
+ const info = { id };
39
+ if (typeof record.description === "string")
40
+ info.description = record.description;
41
+ if (typeof record.minzoom === "number")
42
+ info.minZoom = record.minzoom;
43
+ if (typeof record.maxzoom === "number")
44
+ info.maxZoom = record.maxzoom;
45
+ if (record.fields && typeof record.fields === "object") {
46
+ info.fields = record.fields;
47
+ }
48
+ layers.push(info);
49
+ }
50
+ return layers;
51
+ }
52
+ function asMetadataRecord(metadata) {
53
+ return metadata && typeof metadata === "object" ? metadata : {};
54
+ }
55
+ /**
56
+ * Inspect a PMTiles archive and return its normalized metadata (bounds, min/max
57
+ * zoom, suggested center, and vector layer names). The `pmtiles` reader is
58
+ * imported lazily on first use.
59
+ *
60
+ * Pass {@link DescribePmtilesArchiveDeps.source} to read a local archive (the
61
+ * unit-test path) or {@link DescribePmtilesArchiveDeps.PMTiles} to inject a fake
62
+ * reader; both default to fetching `url` through the real reader.
63
+ *
64
+ * @example
65
+ * ```ts
66
+ * const info = await describePmtilesArchive("https://example.com/basemap.pmtiles");
67
+ * console.log(info.bounds, info.minZoom, info.maxZoom);
68
+ * for (const layer of info.vectorLayers) console.log(layer.id);
69
+ * ```
70
+ */
71
+ export async function describePmtilesArchive(url, deps = {}) {
72
+ const PMTiles = deps.PMTiles ?? (await loadPmtilesCtor());
73
+ const archive = deps.source ? new PMTiles(deps.source) : new PMTiles(url);
74
+ const [header, rawMetadata] = await Promise.all([archive.getHeader(), archive.getMetadata()]);
75
+ const metadata = asMetadataRecord(rawMetadata);
76
+ const attribution = typeof metadata.attribution === "string" ? metadata.attribution : undefined;
77
+ return {
78
+ url,
79
+ tileKind: tileKindFromHeader(header.tileType),
80
+ bounds: [header.minLon, header.minLat, header.maxLon, header.maxLat],
81
+ minZoom: header.minZoom,
82
+ maxZoom: header.maxZoom,
83
+ center: [header.centerLon, header.centerLat, header.centerZoom],
84
+ vectorLayers: readVectorLayers(metadata),
85
+ ...(attribution ? { attribution } : {}),
86
+ metadata,
87
+ };
88
+ }
89
+ /**
90
+ * Typed adapter handle for a PMTiles archive, reachable through
91
+ * `Source.protocol("pmtiles")`. Provides the archive-metadata inspection
92
+ * surface ({@link HonuaPmtilesArchive.describe}) that the tiles-only PMTiles
93
+ * `Source` uses to participate in the Dataset model honestly. The first
94
+ * `describe()` call is cached so repeated inspection does not re-open the
95
+ * archive.
96
+ */
97
+ export class HonuaPmtilesArchive {
98
+ /** The `pmtiles://`-free archive URL this handle inspects. */
99
+ url;
100
+ #deps;
101
+ #description;
102
+ constructor(url, deps = {}) {
103
+ this.url = url;
104
+ this.#deps = deps;
105
+ }
106
+ /**
107
+ * Inspect the archive and return its normalized metadata. Cached after the
108
+ * first successful call; a failed inspection is not cached so a transient
109
+ * fetch error can be retried.
110
+ */
111
+ describe() {
112
+ if (!this.#description) {
113
+ this.#description = describePmtilesArchive(this.url, this.#deps).catch((error) => {
114
+ this.#description = undefined;
115
+ throw error;
116
+ });
117
+ }
118
+ return this.#description;
119
+ }
120
+ }
121
+ /**
122
+ * Strip a leading `pmtiles://` scheme from an archive URL, if present. MapLibre
123
+ * style sources address PMTiles archives as `pmtiles://https://…`; the reader
124
+ * (and this contract's describe path) want the bare archive URL.
125
+ */
126
+ export function stripPmtilesScheme(url) {
127
+ return url.startsWith("pmtiles://") ? url.slice("pmtiles://".length) : url;
128
+ }
129
+ /**
130
+ * Add the `pmtiles://` scheme to a bare archive URL if it is not already
131
+ * present. The inverse of {@link stripPmtilesScheme}; use it when composing a
132
+ * MapLibre source `url` from a plain archive locator.
133
+ */
134
+ export function toPmtilesSourceUrl(url) {
135
+ return url.startsWith("pmtiles://") ? url : `pmtiles://${url}`;
136
+ }
137
+ function requirePmtilesModuleLocator(descriptor) {
138
+ const { url } = descriptor.locator;
139
+ if (typeof url !== "string" || url === "") {
140
+ throw new Error(`createDataset: source "${descriptor.id}" (pmtiles) requires locator.url`);
141
+ }
142
+ return url;
143
+ }
144
+ /**
145
+ * The first-party PMTiles {@link ProtocolModule} (issue #538).
146
+ *
147
+ * `pmtilesSource()` (`src/contract/source.ts`) builds its
148
+ * `Source.protocol("pmtiles")` escape hatch through this exact factory
149
+ * instead of constructing {@link HonuaPmtilesArchive} directly, and
150
+ * `pmtilesProtocolPlugin` (`@honua/sdk-js/plugin`) packages the same factory
151
+ * as a `HonuaPluginFactory<"protocol">` for `HonuaPluginRegistry`. Both
152
+ * callers run the identical construction path, which is what proves the
153
+ * built-in adapter carries no special registry privilege.
154
+ *
155
+ * `discover()` is synchronous: PMTiles opens its reader lazily on the
156
+ * returned handle's own first `describe()` call, so no I/O happens before a
157
+ * caller actually asks for archive metadata (REQ-003, issue #538).
158
+ *
159
+ * @example
160
+ * ```ts
161
+ * const module = pmtilesProtocolModule();
162
+ * const handle = module.discover({
163
+ * id: "basemap",
164
+ * protocol: "pmtiles",
165
+ * locator: { url: "https://example.com/basemap.pmtiles" },
166
+ * });
167
+ * if (!(handle instanceof Promise)) {
168
+ * const info = await handle.adapter.describe();
169
+ * console.log(info.bounds);
170
+ * }
171
+ * ```
172
+ */
173
+ export function pmtilesProtocolModule(deps = {}) {
174
+ return Object.freeze({
175
+ kind: "pmtiles",
176
+ environments: Object.freeze(["browser", "node", "worker"]),
177
+ capabilities(descriptor) {
178
+ return descriptor.capabilities ?? PROTOCOL_DEFAULT_CAPABILITIES.pmtiles;
179
+ },
180
+ discover(descriptor) {
181
+ const url = stripPmtilesScheme(requirePmtilesModuleLocator(descriptor));
182
+ const archive = new HonuaPmtilesArchive(url, deps);
183
+ return Object.freeze({
184
+ descriptor,
185
+ capabilities: descriptor.capabilities ?? PROTOCOL_DEFAULT_CAPABILITIES.pmtiles,
186
+ adapter: archive,
187
+ diagnostics: Object.freeze([]),
188
+ dispose() {
189
+ // The archive holds no open handles between describe() calls;
190
+ // disposal is deterministic and synchronous with nothing to release.
191
+ },
192
+ });
193
+ },
194
+ });
195
+ }
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Minimal protocol-module composition (issue #538).
3
+ *
4
+ * `RendererAdapter` (`src/kernel/renderer.ts`) is the accepted, plain,
5
+ * injectable seam every mounted renderer satisfies — first-party
6
+ * (`maplibreRenderer`) and an external, non-Web-Mercator renderer plugin
7
+ * (issue #566) alike — without the kernel importing the plugin SDK or
8
+ * maintaining a privileged construction path. `ProtocolModule` is the
9
+ * equivalent minimal
10
+ * seam for a `Source.protocol(...)` escape-hatch adapter: discovery, the
11
+ * capability set it advertises for a descriptor, diagnostics, and
12
+ * disposal. `compile`/`execute` are intentionally absent from this first
13
+ * bounded slice — no first-party module has migrated its query-compiler
14
+ * pipeline onto the seam yet (see `docs/plugin-manifest-certification.md`
15
+ * for the tracked follow-up).
16
+ *
17
+ * This module has no dependency on `src/plugin` or any global registry: a
18
+ * `ProtocolModule` is a plain value object. SDK-internal `Source`
19
+ * construction (for example `pmtilesSource()`) and a module packaged as a
20
+ * `HonuaPluginFactory<"protocol">` for `HonuaPluginRegistry`
21
+ * (`src/plugin/pmtiles-protocol-plugin.ts`) both consume exactly this shape,
22
+ * which is what proves the built-in adapter carries no special registry
23
+ * privilege.
24
+ *
25
+ * @module
26
+ */
27
+ import type { Capabilities, SourceDescriptor } from "./types.js";
28
+ /** Runtime environments a protocol module can execute in. Mirrors `RendererEnvironment`. */
29
+ export type ProtocolModuleEnvironment = "browser" | "node" | "worker";
30
+ /** Stable, protocol-neutral diagnostic exposed by one discovered module handle. */
31
+ export interface ProtocolModuleDiagnostic {
32
+ readonly code: string;
33
+ readonly severity: "info" | "warning" | "error";
34
+ readonly message: string;
35
+ }
36
+ export interface ProtocolModuleDiscoverOptions {
37
+ readonly signal?: AbortSignal;
38
+ }
39
+ /**
40
+ * One discovered, disposable protocol-module handle bound to a source
41
+ * descriptor. `adapter` is the same typed escape-hatch value historically
42
+ * returned by `Source.protocol(name)` (for example a `HonuaPmtilesArchive`),
43
+ * so migrating a built-in onto this seam never changes what callers observe
44
+ * through the existing escape hatch.
45
+ */
46
+ export interface ProtocolModuleHandle<TAdapter = unknown> {
47
+ readonly descriptor: SourceDescriptor;
48
+ readonly capabilities: Capabilities;
49
+ readonly adapter: TAdapter;
50
+ readonly diagnostics: readonly ProtocolModuleDiagnostic[];
51
+ dispose(): void | Promise<void>;
52
+ }
53
+ /**
54
+ * Minimal executable protocol seam. Heavy peers are injected as values
55
+ * (`peer`) and are never imported by SDK core; discovery stays lazy so a
56
+ * module that is registered but never discovered pays no I/O or peer-import
57
+ * cost. `discover` may return synchronously when construction needs no I/O
58
+ * (as PMTiles does — the archive itself is opened lazily on first
59
+ * `describe()`), or asynchronously for a module whose discovery is
60
+ * inherently a network round trip.
61
+ */
62
+ export interface ProtocolModule<TKind extends string = string, TAdapter = unknown> {
63
+ readonly kind: TKind;
64
+ readonly environments: readonly ProtocolModuleEnvironment[];
65
+ readonly peer?: unknown;
66
+ /** Pure and synchronous: never performs I/O. */
67
+ capabilities(descriptor: SourceDescriptor): Capabilities;
68
+ discover(descriptor: SourceDescriptor, options?: ProtocolModuleDiscoverOptions): ProtocolModuleHandle<TAdapter> | Promise<ProtocolModuleHandle<TAdapter>>;
69
+ }
70
+ //# sourceMappingURL=protocol-module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol-module.d.ts","sourceRoot":"","sources":["../../../src/contract/protocol-module.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,4FAA4F;AAC5F,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtE,mFAAmF;AACnF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IAChD,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB,CAAC,QAAQ,GAAG,OAAO;IACtD,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IACtC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,SAAS,wBAAwB,EAAE,CAAC;IAC1D,OAAO,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAG,OAAO;IAC/E,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IACrB,QAAQ,CAAC,YAAY,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,gDAAgD;IAChD,YAAY,CAAC,UAAU,EAAE,gBAAgB,GAAG,YAAY,CAAC;IACzD,QAAQ,CACN,UAAU,EAAE,gBAAgB,EAC5B,OAAO,CAAC,EAAE,6BAA6B,GACtC,oBAAoB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;CAC7E"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Lightweight SourceSchemaV2 envelope checks for generic consumers.
3
+ *
4
+ * This module intentionally does not validate schema contents or recompute the
5
+ * fingerprint. Full validation belongs to the focused `/source-schema`
6
+ * ingestion and cache boundaries. Generic discovery uses this only as a
7
+ * bounded transport-envelope check; it does not establish trusted identity.
8
+ *
9
+ */
10
+ export declare const SOURCE_SCHEMA_V2_KIND: "honua.source-schema";
11
+ export declare const SOURCE_SCHEMA_V2_VERSION: "2.0";
12
+ /**
13
+ * Stable, lightweight transport envelope for an opt-in source schema.
14
+ *
15
+ * The generic contract deliberately exposes only identity metadata. Consumers
16
+ * that need fields, geometry, or other schema semantics must enter through the
17
+ * focused `@honua/sdk-js/source-schema` subpath, which validates the complete
18
+ * value and exposes {@link SourceSchemaV2} there.
19
+ */
20
+ export interface SourceSchemaV2Envelope {
21
+ readonly kind: typeof SOURCE_SCHEMA_V2_KIND;
22
+ readonly version: typeof SOURCE_SCHEMA_V2_VERSION;
23
+ readonly fingerprint: `sha256:${string}`;
24
+ }
25
+ export declare function sourceSchemaV2EnvelopeFingerprint(value: unknown): SourceSchemaV2Envelope["fingerprint"];
26
+ //# sourceMappingURL=schema-envelope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-envelope.d.ts","sourceRoot":"","sources":["../../../src/contract/schema-envelope.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,qBAAqB,EAAG,qBAA8B,CAAC;AACpE,eAAO,MAAM,wBAAwB,EAAG,KAAc,CAAC;AAEvD;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,OAAO,qBAAqB,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,OAAO,wBAAwB,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,UAAU,MAAM,EAAE,CAAC;CAC1C;AAID,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAYvG"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Lightweight SourceSchemaV2 envelope checks for generic consumers.
3
+ *
4
+ * This module intentionally does not validate schema contents or recompute the
5
+ * fingerprint. Full validation belongs to the focused `/source-schema`
6
+ * ingestion and cache boundaries. Generic discovery uses this only as a
7
+ * bounded transport-envelope check; it does not establish trusted identity.
8
+ *
9
+ */
10
+ export const SOURCE_SCHEMA_V2_KIND = "honua.source-schema";
11
+ export const SOURCE_SCHEMA_V2_VERSION = "2.0";
12
+ const SOURCE_SCHEMA_V2_FINGERPRINT = /^sha256:[0-9a-f]{64}$/;
13
+ export function sourceSchemaV2EnvelopeFingerprint(value) {
14
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
15
+ throw new TypeError("SourceSchemaV2 must be an object");
16
+ }
17
+ const record = value;
18
+ if (record.kind !== SOURCE_SCHEMA_V2_KIND || record.version !== SOURCE_SCHEMA_V2_VERSION) {
19
+ throw new TypeError(`SourceSchemaV2 must use ${SOURCE_SCHEMA_V2_KIND}@${SOURCE_SCHEMA_V2_VERSION}`);
20
+ }
21
+ if (typeof record.fingerprint !== "string" || !SOURCE_SCHEMA_V2_FINGERPRINT.test(record.fingerprint)) {
22
+ throw new TypeError("SourceSchemaV2 fingerprint must be a lowercase SHA-256 digest");
23
+ }
24
+ return record.fingerprint;
25
+ }