@honua/react 0.0.20-alpha.0 → 0.1.0-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 (89) hide show
  1. package/contract/index.d.ts +2 -0
  2. package/contract/index.d.ts.map +1 -1
  3. package/contract/index.js +1 -0
  4. package/contract/pmtiles.d.ts +162 -0
  5. package/contract/pmtiles.d.ts.map +1 -0
  6. package/contract/pmtiles.js +155 -0
  7. package/contract/source.d.ts +24 -0
  8. package/contract/source.d.ts.map +1 -1
  9. package/contract/source.js +115 -8
  10. package/contract/types.d.ts +31 -2
  11. package/contract/types.d.ts.map +1 -1
  12. package/contract/types.js +8 -0
  13. package/core/auth/client-credentials-provider.d.ts +51 -0
  14. package/core/auth/client-credentials-provider.d.ts.map +1 -0
  15. package/core/auth/client-credentials-provider.js +115 -0
  16. package/core/auth/credential-store.d.ts +52 -0
  17. package/core/auth/credential-store.d.ts.map +1 -0
  18. package/core/auth/credential-store.js +82 -0
  19. package/core/auth/index.d.ts +23 -0
  20. package/core/auth/index.d.ts.map +1 -0
  21. package/core/auth/index.js +20 -0
  22. package/core/auth/oauth2-provider.d.ts +114 -0
  23. package/core/auth/oauth2-provider.d.ts.map +1 -0
  24. package/core/auth/oauth2-provider.js +408 -0
  25. package/core/auth/pkce.d.ts +25 -0
  26. package/core/auth/pkce.d.ts.map +1 -0
  27. package/core/auth/pkce.js +46 -0
  28. package/core/auth/static-providers.d.ts +20 -0
  29. package/core/auth/static-providers.d.ts.map +1 -0
  30. package/core/auth/static-providers.js +26 -0
  31. package/core/auth/token-endpoint.d.ts +40 -0
  32. package/core/auth/token-endpoint.d.ts.map +1 -0
  33. package/core/auth/token-endpoint.js +133 -0
  34. package/core/auth/types.d.ts +144 -0
  35. package/core/auth/types.d.ts.map +1 -0
  36. package/core/auth/types.js +8 -0
  37. package/core/client.d.ts +31 -1
  38. package/core/client.d.ts.map +1 -1
  39. package/core/client.js +52 -0
  40. package/core/errors.d.ts +33 -1
  41. package/core/errors.d.ts.map +1 -1
  42. package/core/errors.js +20 -0
  43. package/core/geoparquet-sql.d.ts +162 -0
  44. package/core/geoparquet-sql.d.ts.map +1 -0
  45. package/core/geoparquet-sql.js +333 -0
  46. package/core/ogc-endpoint-layout.d.ts +70 -0
  47. package/core/ogc-endpoint-layout.d.ts.map +1 -0
  48. package/core/ogc-endpoint-layout.js +173 -0
  49. package/core/ogc-features.d.ts.map +1 -1
  50. package/core/ogc-features.js +32 -17
  51. package/core/stac-static.d.ts +51 -0
  52. package/core/stac-static.d.ts.map +1 -0
  53. package/core/stac-static.js +195 -0
  54. package/core/stac.d.ts +12 -0
  55. package/core/stac.d.ts.map +1 -1
  56. package/core/stac.js +45 -15
  57. package/core/surfaces.d.ts +13 -0
  58. package/core/surfaces.d.ts.map +1 -1
  59. package/core/surfaces.js +58 -11
  60. package/core/types.d.ts +49 -0
  61. package/core/types.d.ts.map +1 -1
  62. package/core/wfs-capabilities.d.ts +10 -0
  63. package/core/wfs-capabilities.d.ts.map +1 -1
  64. package/core/wfs-capabilities.js +14 -2
  65. package/core/wfs.d.ts +13 -0
  66. package/core/wfs.d.ts.map +1 -1
  67. package/core/wfs.js +25 -5
  68. package/esri-compat/identity-manager.d.ts +43 -0
  69. package/esri-compat/identity-manager.d.ts.map +1 -1
  70. package/esri-compat/identity-manager.js +131 -1
  71. package/esri-compat/oauth-info.d.ts +15 -0
  72. package/esri-compat/oauth-info.d.ts.map +1 -1
  73. package/esri-compat/oauth-info.js +27 -0
  74. package/package.json +6 -1
  75. package/runtime/index.d.ts +2 -2
  76. package/runtime/index.d.ts.map +1 -1
  77. package/runtime/index.js +1 -4
  78. package/runtime/load-package.d.ts.map +1 -1
  79. package/runtime/load-package.js +8 -0
  80. package/runtime/map-package-validation.d.ts +0 -13
  81. package/runtime/map-package-validation.d.ts.map +1 -1
  82. package/runtime/map-package-validation.js +0 -12
  83. package/runtime/map-package.d.ts +1 -1
  84. package/runtime/map-package.d.ts.map +1 -1
  85. package/runtime/pmtiles-protocol.d.ts +77 -0
  86. package/runtime/pmtiles-protocol.d.ts.map +1 -0
  87. package/runtime/pmtiles-protocol.js +120 -0
  88. package/runtime/source-bridge.d.ts.map +1 -1
  89. package/runtime/source-bridge.js +27 -0
package/core/stac.js CHANGED
@@ -16,23 +16,31 @@ const DEFAULT_STAC_MAX_PAGES = 100;
16
16
  */
17
17
  export class HonuaStacSearch {
18
18
  client;
19
+ basePath;
19
20
  constructor(options) {
20
21
  this.client = options.client;
22
+ this.basePath = options.basePath;
23
+ }
24
+ /** Inject the configured STAC base path unless the caller already set one. */
25
+ withBase(request) {
26
+ if (this.basePath === undefined || request.stacBasePath !== undefined)
27
+ return request;
28
+ return { ...request, stacBasePath: this.basePath };
21
29
  }
22
30
  async landing(request = {}) {
23
- return this.client.getStacLanding(request);
31
+ return this.client.getStacLanding(this.withBase(request));
24
32
  }
25
33
  async collections(request = {}) {
26
- return this.client.listStacCollections(request);
34
+ return this.client.listStacCollections(this.withBase(request));
27
35
  }
28
36
  async collection(request) {
29
- return this.client.getStacCollection(request);
37
+ return this.client.getStacCollection(this.withBase(request));
30
38
  }
31
39
  async item(request) {
32
- return this.client.getStacItem(request);
40
+ return this.client.getStacItem(this.withBase(request));
33
41
  }
34
42
  async search(request = {}) {
35
- return this.client.searchStac(request);
43
+ return this.client.searchStac(this.withBase(request));
36
44
  }
37
45
  async searchAll(request = {}) {
38
46
  const pageSize = request.pageSize ?? request.limit ?? DEFAULT_STAC_PAGE_SIZE;
@@ -40,12 +48,12 @@ export class HonuaStacSearch {
40
48
  const items = [];
41
49
  let cursor = { offset: request.offset, next: request.next };
42
50
  for (let page = 0; page < maxPages; page += 1) {
43
- const response = await this.client.searchStac({
51
+ const response = await this.client.searchStac(this.withBase({
44
52
  ...request,
45
53
  limit: pageSize,
46
54
  offset: cursor.offset,
47
55
  next: cursor.next,
48
- });
56
+ }));
49
57
  const pageItems = response.features ?? [];
50
58
  if (pageItems.length === 0)
51
59
  break;
@@ -65,12 +73,12 @@ export class HonuaStacSearch {
65
73
  const maxPages = request.maxPages ?? DEFAULT_STAC_MAX_PAGES;
66
74
  let cursor = { offset: request.offset, next: request.next };
67
75
  for (let page = 0; page < maxPages; page += 1) {
68
- const response = await this.client.searchStac({
76
+ const response = await this.client.searchStac(this.withBase({
69
77
  ...request,
70
78
  limit: pageSize,
71
79
  offset: cursor.offset,
72
80
  next: cursor.next,
73
- });
81
+ }));
74
82
  const pageItems = response.features ?? [];
75
83
  if (pageItems.length === 0)
76
84
  break;
@@ -118,33 +126,55 @@ export function createHonuaStacSearch(client) {
118
126
  return new HonuaStacSearch({ client });
119
127
  }
120
128
  // ── STAC API wire methods ───────────────────────────────────────
129
+ /**
130
+ * Path prefix the STAC endpoints are mounted under. Defaults to `/stac`
131
+ * (the Honua Server facade). Backend-agnostic callers pointing at a raw
132
+ * STAC API root pass `""` so the paths resolve directly under the client
133
+ * baseUrl (e.g. Earth Search served at `.../v1`).
134
+ */
135
+ function stacBase(request) {
136
+ const base = request.stacBasePath;
137
+ if (base === undefined)
138
+ return "/stac";
139
+ // Trim trailing slashes; an explicit "" means "the client baseUrl is the
140
+ // STAC API root".
141
+ let end = base.length;
142
+ while (end > 0 && base.charCodeAt(end - 1) === 0x2f)
143
+ end--;
144
+ return base.slice(0, end);
145
+ }
121
146
  export async function getStacLanding(transport, request = {}) {
122
147
  const params = createOgcMetadataParams(request);
123
- return transport.requestCachedMetadataJson(`stac:landing:${params.toString()}`, `/stac?${params.toString()}`, request);
148
+ const base = stacBase(request);
149
+ return transport.requestCachedMetadataJson(`stac:landing:${base}:${params.toString()}`, `${base}?${params.toString()}`, request);
124
150
  }
125
151
  export async function listStacCollections(transport, request = {}) {
126
152
  const params = createOgcMetadataParams(request);
127
- return transport.requestCachedMetadataJson(`stac:collections:${params.toString()}`, `/stac/collections?${params.toString()}`, request);
153
+ const base = stacBase(request);
154
+ return transport.requestCachedMetadataJson(`stac:collections:${base}:${params.toString()}`, `${base}/collections?${params.toString()}`, request);
128
155
  }
129
156
  export async function getStacCollection(transport, request) {
130
157
  const params = createOgcMetadataParams(request);
131
- return transport.requestCachedMetadataJson(`stac:collection:${request.collectionId}:${params.toString()}`, `/stac/collections/${encodeURIComponent(String(request.collectionId))}?${params.toString()}`, request);
158
+ const base = stacBase(request);
159
+ return transport.requestCachedMetadataJson(`stac:collection:${base}:${request.collectionId}:${params.toString()}`, `${base}/collections/${encodeURIComponent(String(request.collectionId))}?${params.toString()}`, request);
132
160
  }
133
161
  export async function getStacItem(transport, request) {
134
162
  const params = createOgcMetadataParams(request);
135
- const path = `/stac/collections/${encodeURIComponent(String(request.collectionId))}` +
163
+ const base = stacBase(request);
164
+ const path = `${base}/collections/${encodeURIComponent(String(request.collectionId))}` +
136
165
  `/items/${encodeURIComponent(String(request.itemId))}`;
137
166
  return transport.requestJson("GET", `${path}?${params.toString()}`, undefined, request.signal);
138
167
  }
139
168
  export async function searchStac(transport, request = {}) {
169
+ const base = stacBase(request);
140
170
  if (request.usePost) {
141
- return transport.requestJson("POST", "/stac/search", {
171
+ return transport.requestJson("POST", `${base}/search`, {
142
172
  headers: mergeHeaders({ "Content-Type": "application/json", Accept: "application/json" }),
143
173
  body: JSON.stringify(stacSearchBody(request)),
144
174
  }, request.signal);
145
175
  }
146
176
  const params = serializeStacSearchParams(request);
147
- return transport.requestJson("GET", `/stac/search?${params.toString()}`, undefined, request.signal);
177
+ return transport.requestJson("GET", `${base}/search?${params.toString()}`, undefined, request.signal);
148
178
  }
149
179
  function serializeStacSearchParams(request) {
150
180
  const params = new URLSearchParams();
@@ -3,6 +3,7 @@ import type { SpatialAggregationRequest, SpatialAggregationResult } from "../con
3
3
  import type { SourceId } from "../contract/types.js";
4
4
  import type { HonuaMetadataRequestOptions } from "./cache-state.js";
5
5
  import type { HonuaClient } from "./client.js";
6
+ import type { OgcApiLayoutMode } from "./ogc-endpoint-layout.js";
6
7
  import type { ApplyEditsRequest, ExportMapRequest, HonuaAddAttachmentResponse, HonuaApplyEditsResponse, HonuaAttachmentListResponse, HonuaDeleteAttachmentsResponse, HonuaExportMapResponse, HonuaExtent, HonuaFeature, HonuaFindResponse, HonuaIdentifyResponse, HonuaLayerMetadata, HonuaLegendResponse, HonuaOgcCollectionMetadata, HonuaOgcCollectionsResponse, HonuaOgcConformanceResponse, HonuaOgcFeatureCollectionResponse, HonuaOgcFeatureResponse, HonuaOgcLandingResponse, HonuaOgcQueryablesResponse, HonuaQueryAttachmentsResponse, HonuaQueryResponse, HonuaRawRequest, HonuaRelatedRecordsResponse, HonuaServiceMetadata, HonuaTypedFeature, HonuaTypedQueryResponse, HonuaUpdateAttachmentResponse, MapFindRequest, MapIdentifyRequest, MapLayerQueryRequest, MapLegendRequest, MapRelatedRecordsRequest, OgcCollectionRequest, OgcCreateItemRequest, OgcDeleteItemRequest, OgcItemRequest, OgcItemsRequest, OgcMetadataRequest, OgcPatchItemRequest, OgcReplaceItemRequest, QueryFeaturesRequest, QueryMethod, QueryRelatedRecordsRequest } from "./types.js";
7
8
  export interface HonuaServiceOptions {
8
9
  client: HonuaClient;
@@ -231,14 +232,24 @@ export declare class HonuaMapLayer {
231
232
  }
232
233
  export interface HonuaOgcFeaturesOptions {
233
234
  client: HonuaClient;
235
+ /**
236
+ * Endpoint-layout discovery mode. `honua-facade` (default) uses the fixed
237
+ * `/ogc/features/...` fast path; `ogc-api` / `auto` discover the layout
238
+ * from the server landing page so the surface works against raw pygeoapi
239
+ * / ldproxy / GeoServer OGC API endpoints.
240
+ */
241
+ layout?: OgcApiLayoutMode;
234
242
  }
235
243
  export interface HonuaOgcFeatureCollectionOptions {
236
244
  client: HonuaClient;
237
245
  collectionId: string | number;
246
+ layout?: OgcApiLayoutMode;
238
247
  }
239
248
  export declare class HonuaOgcFeatures {
240
249
  readonly client: HonuaClient;
250
+ private readonly layoutMode;
241
251
  constructor(options: HonuaOgcFeaturesOptions);
252
+ private layout;
242
253
  collection(collectionId: string | number): HonuaOgcFeatureCollection;
243
254
  landing(request?: HonuaOgcMetadataRequest): Promise<HonuaOgcLandingResponse>;
244
255
  conformance(request?: HonuaOgcMetadataRequest): Promise<HonuaOgcConformanceResponse>;
@@ -256,7 +267,9 @@ export declare class HonuaOgcFeatures {
256
267
  export declare class HonuaOgcFeatureCollection {
257
268
  readonly client: HonuaClient;
258
269
  readonly collectionId: string | number;
270
+ private readonly layoutMode;
259
271
  constructor(options: HonuaOgcFeatureCollectionOptions);
272
+ private layout;
260
273
  metadata(request?: HonuaOgcMetadataRequest): Promise<HonuaOgcCollectionMetadata>;
261
274
  queryables(request?: HonuaOgcMetadataRequest): Promise<HonuaOgcQueryablesResponse>;
262
275
  items(request?: HonuaOgcCollectionItemsRequest): Promise<HonuaOgcFeatureCollectionResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../src/core/surfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../src/core/surfaces.ts"],"names":[],"mappings":"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"}
package/core/surfaces.js CHANGED
@@ -693,34 +693,55 @@ export class HonuaMapLayer {
693
693
  });
694
694
  }
695
695
  }
696
+ /**
697
+ * Resolve the layout to inject onto a request. Returns `undefined` for the
698
+ * facade fast path so the wire layer keeps its zero-round-trip default.
699
+ */
700
+ async function resolveInjectedLayout(client, mode) {
701
+ if (mode === undefined || mode === "honua-facade")
702
+ return undefined;
703
+ return client.resolveOgcFeaturesLayout(mode);
704
+ }
696
705
  export class HonuaOgcFeatures {
697
706
  client;
707
+ layoutMode;
698
708
  constructor(options) {
699
709
  this.client = options.client;
710
+ this.layoutMode = options.layout;
711
+ }
712
+ layout() {
713
+ return resolveInjectedLayout(this.client, this.layoutMode);
700
714
  }
701
715
  collection(collectionId) {
702
716
  return new HonuaOgcFeatureCollection({
703
717
  client: this.client,
704
718
  collectionId,
719
+ ...(this.layoutMode ? { layout: this.layoutMode } : {}),
705
720
  });
706
721
  }
707
722
  async landing(request = {}) {
708
- return this.client.getOgcFeaturesLanding(request);
723
+ const layout = await this.layout();
724
+ return this.client.getOgcFeaturesLanding({ ...request, ...(layout ? { layout } : {}) });
709
725
  }
710
726
  async conformance(request = {}) {
711
- return this.client.getOgcFeaturesConformance(request);
727
+ const layout = await this.layout();
728
+ return this.client.getOgcFeaturesConformance({ ...request, ...(layout ? { layout } : {}) });
712
729
  }
713
730
  async collections(request = {}) {
714
- return this.client.listOgcCollections(request);
731
+ const layout = await this.layout();
732
+ return this.client.listOgcCollections({ ...request, ...(layout ? { layout } : {}) });
715
733
  }
716
734
  async getCollection(request) {
717
- return this.client.getOgcCollection(request);
735
+ const layout = await this.layout();
736
+ return this.client.getOgcCollection({ ...request, ...(layout ? { layout } : {}) });
718
737
  }
719
738
  async queryables(request) {
720
- return this.client.getOgcQueryables(request);
739
+ const layout = await this.layout();
740
+ return this.client.getOgcQueryables({ ...request, ...(layout ? { layout } : {}) });
721
741
  }
722
742
  async items(request) {
723
- return this.client.listOgcItems(request);
743
+ const layout = await this.layout();
744
+ return this.client.listOgcItems({ ...request, ...(layout ? { layout } : {}) });
724
745
  }
725
746
  async itemsAll(request) {
726
747
  const pageSize = normalizePageSize(request.pageSize, request.limit);
@@ -757,44 +778,60 @@ export class HonuaOgcFeatures {
757
778
  return features;
758
779
  }
759
780
  async item(request) {
760
- return this.client.getOgcItem(request);
781
+ const layout = await this.layout();
782
+ return this.client.getOgcItem({ ...request, ...(layout ? { layout } : {}) });
761
783
  }
762
784
  async createItem(request) {
763
- return this.client.createOgcItem(request);
785
+ const layout = await this.layout();
786
+ return this.client.createOgcItem({ ...request, ...(layout ? { layout } : {}) });
764
787
  }
765
788
  async replaceItem(request) {
766
- return this.client.replaceOgcItem(request);
789
+ const layout = await this.layout();
790
+ return this.client.replaceOgcItem({ ...request, ...(layout ? { layout } : {}) });
767
791
  }
768
792
  async patchItem(request) {
769
- return this.client.patchOgcItem(request);
793
+ const layout = await this.layout();
794
+ return this.client.patchOgcItem({ ...request, ...(layout ? { layout } : {}) });
770
795
  }
771
796
  async deleteItem(request) {
772
- return this.client.deleteOgcItem(request);
797
+ const layout = await this.layout();
798
+ return this.client.deleteOgcItem({ ...request, ...(layout ? { layout } : {}) });
773
799
  }
774
800
  }
775
801
  export class HonuaOgcFeatureCollection {
776
802
  client;
777
803
  collectionId;
804
+ layoutMode;
778
805
  constructor(options) {
779
806
  this.client = options.client;
780
807
  this.collectionId = options.collectionId;
808
+ this.layoutMode = options.layout;
809
+ }
810
+ layout() {
811
+ return resolveInjectedLayout(this.client, this.layoutMode);
781
812
  }
782
813
  async metadata(request = {}) {
814
+ const layout = await this.layout();
783
815
  return this.client.getOgcCollection({
784
816
  ...request,
785
817
  collectionId: this.collectionId,
818
+ ...(layout ? { layout } : {}),
786
819
  });
787
820
  }
788
821
  async queryables(request = {}) {
822
+ const layout = await this.layout();
789
823
  return this.client.getOgcQueryables({
790
824
  ...request,
791
825
  collectionId: this.collectionId,
826
+ ...(layout ? { layout } : {}),
792
827
  });
793
828
  }
794
829
  async items(request = {}) {
830
+ const layout = await this.layout();
795
831
  return this.client.listOgcItems({
796
832
  ...request,
797
833
  collectionId: this.collectionId,
834
+ ...(layout ? { layout } : {}),
798
835
  });
799
836
  }
800
837
  async itemsAll(request = {}) {
@@ -852,33 +889,43 @@ export class HonuaOgcFeatureCollection {
852
889
  }
853
890
  }
854
891
  async item(request) {
892
+ const layout = await this.layout();
855
893
  return this.client.getOgcItem({
856
894
  ...request,
857
895
  collectionId: this.collectionId,
896
+ ...(layout ? { layout } : {}),
858
897
  });
859
898
  }
860
899
  async createItem(request) {
900
+ const layout = await this.layout();
861
901
  return this.client.createOgcItem({
862
902
  ...request,
863
903
  collectionId: this.collectionId,
904
+ ...(layout ? { layout } : {}),
864
905
  });
865
906
  }
866
907
  async replaceItem(request) {
908
+ const layout = await this.layout();
867
909
  return this.client.replaceOgcItem({
868
910
  ...request,
869
911
  collectionId: this.collectionId,
912
+ ...(layout ? { layout } : {}),
870
913
  });
871
914
  }
872
915
  async patchItem(request) {
916
+ const layout = await this.layout();
873
917
  return this.client.patchOgcItem({
874
918
  ...request,
875
919
  collectionId: this.collectionId,
920
+ ...(layout ? { layout } : {}),
876
921
  });
877
922
  }
878
923
  async deleteItem(request) {
924
+ const layout = await this.layout();
879
925
  return this.client.deleteOgcItem({
880
926
  ...request,
881
927
  collectionId: this.collectionId,
928
+ ...(layout ? { layout } : {}),
882
929
  });
883
930
  }
884
931
  }
package/core/types.d.ts CHANGED
@@ -594,9 +594,51 @@ export interface HonuaServerCompatibilityStatus {
594
594
  reasons: string[];
595
595
  }
596
596
  export type OgcResponseFormat = "json" | "html" | "geojson" | "gml" | "csv" | "schemajson" | "schema+json";
597
+ /**
598
+ * Resolved OGC API endpoint layout — the concrete resource paths (or
599
+ * absolute URLs) a Features / Records client addresses for one server.
600
+ *
601
+ * Two shapes are produced by {@link ../ogc-endpoint-layout}:
602
+ *
603
+ * - `honua-facade` — the fixed `/ogc/features/...` facade paths. This is
604
+ * the zero-round-trip fast path and the default, so existing callers
605
+ * pointing at a Honua Server see identical behaviour.
606
+ * - `ogc-api` — a spec-discovered raw layout. The collections and
607
+ * conformance URLs come from the landing page's `rel="data"` /
608
+ * `rel="conformance"` links (OGC API - Common Requirement 5), and the
609
+ * per-collection item paths follow the mandated
610
+ * `{collections}/{collectionId}/items` template (OGC API - Features
611
+ * Requirement 17). Lets the same typed `Query` run against pygeoapi,
612
+ * ldproxy, GeoServer OGC API, etc. without a Honua facade.
613
+ *
614
+ * Every method returns a path or absolute URL WITHOUT a query string; the
615
+ * wire layer appends the shared `f=`/param string.
616
+ */
617
+ export interface OgcEndpointLayout {
618
+ readonly mode: "honua-facade" | "ogc-api";
619
+ landing(): string;
620
+ conformance(): string;
621
+ collections(): string;
622
+ collection(collectionId: string | number): string;
623
+ queryables(collectionId: string | number): string;
624
+ items(collectionId: string | number): string;
625
+ item(collectionId: string | number, featureId: string | number): string;
626
+ }
597
627
  export interface OgcMetadataRequest extends HonuaMetadataRequestOptions {
598
628
  responseFormat?: OgcResponseFormat | string;
599
629
  extraParams?: Record<string, string | number | boolean>;
630
+ /**
631
+ * Resolved endpoint layout. Omitted requests use the Honua facade fast
632
+ * path (`/ogc/features/...`); the backend-agnostic surfaces resolve a
633
+ * spec-driven layout once and thread it onto every request.
634
+ */
635
+ layout?: OgcEndpointLayout;
636
+ /**
637
+ * STAC-only: path prefix the STAC endpoints are mounted under. Defaults
638
+ * to `/stac` (Honua facade). A raw STAC API root passes `""`. Ignored by
639
+ * the OGC API Features methods (which use {@link layout}).
640
+ */
641
+ stacBasePath?: string;
600
642
  }
601
643
  export interface OgcCollectionRequest extends OgcMetadataRequest {
602
644
  collectionId: string | number;
@@ -1300,6 +1342,13 @@ export interface StacSearchRequest {
1300
1342
  signal?: AbortSignal;
1301
1343
  /** When `true`, the adapter posts the body to `/search`. */
1302
1344
  usePost?: boolean;
1345
+ /**
1346
+ * Path prefix the STAC endpoints are mounted under. Defaults to `/stac`
1347
+ * (the Honua Server facade). Backend-agnostic callers pointing at a raw
1348
+ * STAC API root (e.g. Earth Search at `.../v1`) pass `""` so the search
1349
+ * and collection paths resolve directly under the client baseUrl.
1350
+ */
1351
+ stacBasePath?: string;
1303
1352
  }
1304
1353
  /** Single STAC item (a GeoJSON feature with STAC-specific extensions). */
1305
1354
  export interface HonuaStacItemResponse extends HonuaOgcFeatureResponse {