@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
@@ -34,7 +34,7 @@ import type { HonuaExtent, HonuaFieldInfo, HonuaServerCompatibilityFeature, Honu
34
34
  * escape hatch — every cross-protocol request shape goes through one
35
35
  * vocabulary even when the underlying protocol is utility-only.
36
36
  */
37
- export type Protocol = "grpc" | "geoservices-feature-service" | "geoservices-map-service" | "geoservices-image-service" | "geoservices-geometry-service" | "geoservices-gp-service" | "ogc-features" | "ogc-tiles" | "ogc-maps" | "ogc-records" | "stac" | "wfs" | "wms" | "wmts" | "odata" | "maplibre-vector" | "maplibre-raster" | "maplibre-geojson";
37
+ export type Protocol = "grpc" | "geoservices-feature-service" | "geoservices-map-service" | "geoservices-image-service" | "geoservices-geometry-service" | "geoservices-gp-service" | "ogc-features" | "ogc-tiles" | "ogc-maps" | "ogc-records" | "stac" | "wfs" | "wms" | "wmts" | "odata" | "pmtiles" | "geoparquet" | "maplibre-vector" | "maplibre-raster" | "maplibre-geojson";
38
38
  /** All protocol identifiers, in declaration order. */
39
39
  export declare const PROTOCOLS: readonly Protocol[];
40
40
  /**
@@ -125,6 +125,22 @@ export interface SourceLocator {
125
125
  layerId?: number;
126
126
  /** OGC API Features / Tiles / Maps collection identifier, or Records catalog id. */
127
127
  collectionId?: string | number;
128
+ /**
129
+ * OGC API / STAC endpoint-layout discovery mode.
130
+ *
131
+ * - `honua-facade` (default) addresses Honua Server's fixed facade paths
132
+ * (`/ogc/features/...`, `/stac/...`) with zero discovery round-trips.
133
+ * - `ogc-api` (OGC API Features/Records) / `stac-api` (STAC) treat
134
+ * `url` as the service root and discover collection / item / search
135
+ * paths from the landing page links (spec-driven, backend-agnostic).
136
+ * - `auto` probes the facade first and falls back to discovery.
137
+ * - `stac-static` (STAC only) reads a static `catalog.json` tree by
138
+ * following `child` / `item` links.
139
+ *
140
+ * Existing Honua-Server callers omit this field and see no behaviour
141
+ * change.
142
+ */
143
+ layout?: "honua-facade" | "ogc-api" | "auto" | "stac-api" | "stac-static";
128
144
  /** OGC API Tiles tile-matrix-set identifier (e.g. `WebMercatorQuad`). */
129
145
  tileMatrixSetId?: string;
130
146
  /** OGC API Maps / Tiles style identifier for styled-output endpoints. */
@@ -156,6 +172,19 @@ export interface SourceLocator {
156
172
  entitySet?: string;
157
173
  /** GP Service task identifier (for `geoservices-gp-service`). */
158
174
  taskName?: string;
175
+ /**
176
+ * GeoParquet source addressing. `url` carries the primary file or a
177
+ * hive-partitioned glob (e.g. an Overture theme prefix ending in
178
+ * `/**\/*.parquet`); `urls` lists multiple files read as one relation via
179
+ * `read_parquet([...])`. `geometryColumn` pins the geometry column when the
180
+ * file lacks GeoParquet `geo` metadata (Parquet-native GEOMETRY/GEOGRAPHY).
181
+ */
182
+ geoparquet?: {
183
+ /** Additional files unioned with `url` via `read_parquet([...])`. */
184
+ urls?: readonly string[];
185
+ /** Explicit geometry column name (overrides metadata detection). */
186
+ geometryColumn?: string;
187
+ };
159
188
  }
160
189
  /** Optional schema description; mirrors `HonuaLayerMetadata.fields`. */
161
190
  export interface SourceSchema {
@@ -515,7 +544,7 @@ export interface MapBinding {
515
544
  * narrows the typed escape hatch to one of these without forcing callers
516
545
  * to cast through `unknown`.
517
546
  */
518
- export type AdapterKind = "geoservices-feature-service" | "geoservices-map-service" | "geoservices-map-layer" | "geoservices-image-service" | "geoservices-geometry-service" | "geoservices-gp-service" | "ogc-features" | "ogc-tiles" | "ogc-maps" | "ogc-records" | "ogc-processes" | "stac" | "wfs" | "wms" | "wms-layer" | "wmts" | "wmts-layer" | "wmts-tileset" | "odata";
547
+ export type AdapterKind = "geoservices-feature-service" | "geoservices-map-service" | "geoservices-map-layer" | "geoservices-image-service" | "geoservices-geometry-service" | "geoservices-gp-service" | "ogc-features" | "ogc-tiles" | "ogc-maps" | "ogc-records" | "ogc-processes" | "stac" | "wfs" | "wms" | "wms-layer" | "wmts" | "wmts-layer" | "wmts-tileset" | "odata" | "pmtiles" | "geoparquet";
519
548
  /**
520
549
  * Compile-time map from `AdapterKind` → underlying class instance. Adapter
521
550
  * tickets extend this map by augmenting the `AdapterTypeMap` interface in
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contract/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/contract/types.ts"],"names":[],"mappings":"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"}
package/contract/types.js CHANGED
@@ -31,6 +31,8 @@ export const PROTOCOLS = [
31
31
  "wms",
32
32
  "wmts",
33
33
  "odata",
34
+ "pmtiles",
35
+ "geoparquet",
34
36
  "maplibre-vector",
35
37
  "maplibre-raster",
36
38
  "maplibre-geojson",
@@ -169,6 +171,12 @@ export const PROTOCOL_DEFAULT_CAPABILITIES = {
169
171
  wms: capabilities(["render", "tiles", "query"]),
170
172
  wmts: capabilities(["render", "tiles"]),
171
173
  odata: capabilities(["query", "queryObjectIds", "stream", "applyEdits"]),
174
+ // PMTiles archives are a single immutable tile store (raster or vector).
175
+ // They are tiles-only: the canonical query family throws
176
+ // `HonuaCapabilityNotSupportedError`; archive metadata is inspected via
177
+ // `Source.protocol("pmtiles").describe()`.
178
+ pmtiles: capabilities(["tiles"]),
179
+ geoparquet: capabilities(["query", "queryAggregate", "stream"]),
172
180
  "maplibre-vector": capabilities(["render", "tiles"]),
173
181
  "maplibre-raster": capabilities(["render", "tiles"]),
174
182
  "maplibre-geojson": capabilities(["render"]),
@@ -0,0 +1,51 @@
1
+ /**
2
+ * OAuth2 client-credentials provider (RFC 6749 §4.4).
3
+ *
4
+ * For confidential **Node/server** clients only — the `clientSecret` must never
5
+ * ship to a browser. There is no interactive step; tokens are fetched from the
6
+ * token endpoint on demand and refreshed by re-requesting the grant when they
7
+ * expire (client-credentials grants do not issue refresh tokens). Refresh is
8
+ * single-flight so N concurrent requests share one token-endpoint round-trip.
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ import type { HonuaAuthCredentials, HonuaAuthProviderContext } from "../types.js";
13
+ import type { ClientCredentialsConfig, HonuaAuthEventListener } from "./types.js";
14
+ /** OAuth2 client-credentials provider. Construct via {@link clientCredentials}. */
15
+ export declare class ClientCredentialsProvider {
16
+ private readonly config;
17
+ private readonly store;
18
+ private readonly serviceKey;
19
+ private readonly clockSkewMs;
20
+ private readonly fetchFn;
21
+ private readonly listeners;
22
+ private refreshInFlight;
23
+ constructor(config: ClientCredentialsConfig);
24
+ /** {@link HonuaAuthProvider.getCredentials}: fetch/refresh a bearer token. */
25
+ getCredentials(context?: HonuaAuthProviderContext): Promise<HonuaAuthCredentials | undefined>;
26
+ /** Drop the cached token; the next call re-requests the grant. */
27
+ signOut(): Promise<void>;
28
+ on(listener: HonuaAuthEventListener): {
29
+ remove(): void;
30
+ };
31
+ private fetchSingleFlight;
32
+ private fetchToken;
33
+ private emit;
34
+ }
35
+ /**
36
+ * Create an OAuth2 client-credentials {@link HonuaAuthProvider} for Node/server
37
+ * use. Do not use in a browser — the client secret would be exposed.
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * import { clientCredentials } from "@honua/sdk-js/auth";
42
+ * const auth = clientCredentials({
43
+ * tokenEndpoint: "https://idp.example/token",
44
+ * clientId: process.env.CLIENT_ID!,
45
+ * clientSecret: process.env.CLIENT_SECRET!,
46
+ * scopes: ["honua.read"],
47
+ * });
48
+ * ```
49
+ */
50
+ export declare function clientCredentials(config: ClientCredentialsConfig): ClientCredentialsProvider;
51
+ //# sourceMappingURL=client-credentials-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client-credentials-provider.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/client-credentials-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAUlF,OAAO,KAAK,EACV,uBAAuB,EAGvB,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAEpB,mFAAmF;AACnF,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,eAAe,CAAwC;gBAE5C,MAAM,EAAE,uBAAuB;IAWlD,8EAA8E;IACjE,cAAc,CACzB,OAAO,GAAE,wBAAoE,GAC5E,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAS5C,kEAAkE;IACrD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,EAAE,CAAC,QAAQ,EAAE,sBAAsB,GAAG;QAAE,MAAM,IAAI,IAAI,CAAA;KAAE;IAS/D,OAAO,CAAC,iBAAiB;YAaX,UAAU;IAmBxB,OAAO,CAAC,IAAI;CASb;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,yBAAyB,CAE5F"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * OAuth2 client-credentials provider (RFC 6749 §4.4).
3
+ *
4
+ * For confidential **Node/server** clients only — the `clientSecret` must never
5
+ * ship to a browser. There is no interactive step; tokens are fetched from the
6
+ * token endpoint on demand and refreshed by re-requesting the grant when they
7
+ * expire (client-credentials grants do not issue refresh tokens). Refresh is
8
+ * single-flight so N concurrent requests share one token-endpoint round-trip.
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ // HonuaAuthCredentials is the declared return type of getCredentials.
13
+ import { InMemoryCredentialStore } from "./credential-store.js";
14
+ import { DEFAULT_CLOCK_SKEW_MS, isCredentialExpiring, requestToken, resolveServiceKey, toHonuaCredentials, } from "./token-endpoint.js";
15
+ /** OAuth2 client-credentials provider. Construct via {@link clientCredentials}. */
16
+ export class ClientCredentialsProvider {
17
+ config;
18
+ store;
19
+ serviceKey;
20
+ clockSkewMs;
21
+ fetchFn;
22
+ listeners = new Set();
23
+ refreshInFlight;
24
+ constructor(config) {
25
+ this.config = config;
26
+ this.store = config.store ?? new InMemoryCredentialStore();
27
+ this.serviceKey = resolveServiceKey(config.serviceKey, config.clientId, config.tokenEndpoint);
28
+ this.clockSkewMs = config.clockSkewMs ?? DEFAULT_CLOCK_SKEW_MS;
29
+ this.fetchFn = (config.fetchFn ?? fetch).bind(globalThis);
30
+ if (config.onEvent) {
31
+ this.listeners.add(config.onEvent);
32
+ }
33
+ }
34
+ /** {@link HonuaAuthProvider.getCredentials}: fetch/refresh a bearer token. */
35
+ async getCredentials(context = { reason: "manual", forceRefresh: false }) {
36
+ const current = await this.store.get(this.serviceKey);
37
+ if (!context.forceRefresh && current && !isCredentialExpiring(current, this.clockSkewMs)) {
38
+ return toHonuaCredentials(current);
39
+ }
40
+ const fetched = await this.fetchSingleFlight();
41
+ return toHonuaCredentials(fetched);
42
+ }
43
+ /** Drop the cached token; the next call re-requests the grant. */
44
+ async signOut() {
45
+ await this.store.delete(this.serviceKey);
46
+ this.refreshInFlight = undefined;
47
+ this.emit({ type: "signed-out" });
48
+ }
49
+ on(listener) {
50
+ this.listeners.add(listener);
51
+ return {
52
+ remove: () => {
53
+ this.listeners.delete(listener);
54
+ },
55
+ };
56
+ }
57
+ fetchSingleFlight() {
58
+ if (this.refreshInFlight) {
59
+ return this.refreshInFlight;
60
+ }
61
+ const inFlight = this.fetchToken().finally(() => {
62
+ if (this.refreshInFlight === inFlight) {
63
+ this.refreshInFlight = undefined;
64
+ }
65
+ });
66
+ this.refreshInFlight = inFlight;
67
+ return inFlight;
68
+ }
69
+ async fetchToken() {
70
+ const previous = await this.store.get(this.serviceKey);
71
+ const credential = await requestToken({
72
+ fetchFn: this.fetchFn,
73
+ tokenEndpoint: this.config.tokenEndpoint,
74
+ params: {
75
+ grant_type: "client_credentials",
76
+ client_id: this.config.clientId,
77
+ client_secret: this.config.clientSecret,
78
+ ...(this.config.scopes && this.config.scopes.length > 0 ? { scope: this.config.scopes.join(" ") } : {}),
79
+ ...this.config.extraTokenParams,
80
+ },
81
+ previous,
82
+ });
83
+ await this.store.set(this.serviceKey, credential);
84
+ this.emit({ type: previous ? "token-refreshed" : "signed-in", credential });
85
+ return credential;
86
+ }
87
+ emit(event) {
88
+ for (const listener of this.listeners) {
89
+ try {
90
+ listener(event);
91
+ }
92
+ catch {
93
+ // Listener errors must not break the auth flow.
94
+ }
95
+ }
96
+ }
97
+ }
98
+ /**
99
+ * Create an OAuth2 client-credentials {@link HonuaAuthProvider} for Node/server
100
+ * use. Do not use in a browser — the client secret would be exposed.
101
+ *
102
+ * @example
103
+ * ```ts
104
+ * import { clientCredentials } from "@honua/sdk-js/auth";
105
+ * const auth = clientCredentials({
106
+ * tokenEndpoint: "https://idp.example/token",
107
+ * clientId: process.env.CLIENT_ID!,
108
+ * clientSecret: process.env.CLIENT_SECRET!,
109
+ * scopes: ["honua.read"],
110
+ * });
111
+ * ```
112
+ */
113
+ export function clientCredentials(config) {
114
+ return new ClientCredentialsProvider(config);
115
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * {@link CredentialStore} implementations.
3
+ *
4
+ * - {@link InMemoryCredentialStore} — the default. Tokens live only in the JS
5
+ * heap and vanish on reload; nothing else on the origin can read them.
6
+ * - {@link sessionStorageCredentialStore} / {@link localStorageCredentialStore}
7
+ * — explicit opt-in Web Storage adapters. Web Storage is readable by **any**
8
+ * script executing on the origin, so a single XSS bug can exfiltrate every
9
+ * stored token. Only enable them when you understand and accept that risk
10
+ * (see `docs/auth.md` → "Storage & security"). `localStorage` additionally
11
+ * persists across tabs/restarts, widening the exposure window.
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ import type { CredentialStore, StoredCredential } from "./types.js";
16
+ /**
17
+ * Default credential store. Holds credentials in a process-local `Map` — never
18
+ * serialized, never shared across origins, cleared on reload.
19
+ */
20
+ export declare class InMemoryCredentialStore implements CredentialStore {
21
+ private readonly entries;
22
+ get(key: string): StoredCredential | undefined;
23
+ set(key: string, value: StoredCredential): void;
24
+ delete(key: string): void;
25
+ }
26
+ /** Minimal Web Storage surface (`sessionStorage` / `localStorage`). */
27
+ interface WebStorageLike {
28
+ getItem(key: string): string | null;
29
+ setItem(key: string, value: string): void;
30
+ removeItem(key: string): void;
31
+ }
32
+ interface WebStorageCredentialStoreOptions {
33
+ /**
34
+ * Storage instance to use. Defaults to the matching global
35
+ * (`sessionStorage` / `localStorage`) resolved lazily.
36
+ */
37
+ storage?: WebStorageLike;
38
+ /** Key prefix for stored entries. Defaults to `honua.auth`. */
39
+ namespace?: string;
40
+ }
41
+ /**
42
+ * `sessionStorage`-backed credential store (per-tab, cleared when the tab
43
+ * closes). Opt-in: see the module-level security note before using it.
44
+ */
45
+ export declare function sessionStorageCredentialStore(options?: WebStorageCredentialStoreOptions): CredentialStore;
46
+ /**
47
+ * `localStorage`-backed credential store (persists across tabs and restarts).
48
+ * Highest-risk option — opt-in only. See the module-level security note.
49
+ */
50
+ export declare function localStorageCredentialStore(options?: WebStorageCredentialStoreOptions): CredentialStore;
51
+ export {};
52
+ //# sourceMappingURL=credential-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpE;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;IAExD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAI/C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGjC;AAED,uEAAuE;AACvE,UAAU,cAAc;IACtB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,UAAU,gCAAgC;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA+CD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,GAAE,gCAAqC,GAAG,eAAe,CAE7G;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,gCAAqC,GAAG,eAAe,CAE3G"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * {@link CredentialStore} implementations.
3
+ *
4
+ * - {@link InMemoryCredentialStore} — the default. Tokens live only in the JS
5
+ * heap and vanish on reload; nothing else on the origin can read them.
6
+ * - {@link sessionStorageCredentialStore} / {@link localStorageCredentialStore}
7
+ * — explicit opt-in Web Storage adapters. Web Storage is readable by **any**
8
+ * script executing on the origin, so a single XSS bug can exfiltrate every
9
+ * stored token. Only enable them when you understand and accept that risk
10
+ * (see `docs/auth.md` → "Storage & security"). `localStorage` additionally
11
+ * persists across tabs/restarts, widening the exposure window.
12
+ *
13
+ * @packageDocumentation
14
+ */
15
+ /**
16
+ * Default credential store. Holds credentials in a process-local `Map` — never
17
+ * serialized, never shared across origins, cleared on reload.
18
+ */
19
+ export class InMemoryCredentialStore {
20
+ entries = new Map();
21
+ get(key) {
22
+ return this.entries.get(key);
23
+ }
24
+ set(key, value) {
25
+ this.entries.set(key, value);
26
+ }
27
+ delete(key) {
28
+ this.entries.delete(key);
29
+ }
30
+ }
31
+ class WebStorageCredentialStore {
32
+ namespace;
33
+ resolveStorage;
34
+ constructor(kind, options) {
35
+ this.namespace = options.namespace ?? "honua.auth";
36
+ this.resolveStorage = () => {
37
+ if (options.storage) {
38
+ return options.storage;
39
+ }
40
+ const storage = kind === "session" ? globalThis.sessionStorage : globalThis.localStorage;
41
+ if (!storage) {
42
+ throw new Error(`${kind}Storage is unavailable in this environment. Pass an explicit \`storage\` adapter or use the in-memory store.`);
43
+ }
44
+ return storage;
45
+ };
46
+ }
47
+ storageKey(key) {
48
+ return `${this.namespace}:${key}`;
49
+ }
50
+ get(key) {
51
+ const raw = this.resolveStorage().getItem(this.storageKey(key));
52
+ if (!raw) {
53
+ return undefined;
54
+ }
55
+ try {
56
+ return JSON.parse(raw);
57
+ }
58
+ catch {
59
+ return undefined;
60
+ }
61
+ }
62
+ set(key, value) {
63
+ this.resolveStorage().setItem(this.storageKey(key), JSON.stringify(value));
64
+ }
65
+ delete(key) {
66
+ this.resolveStorage().removeItem(this.storageKey(key));
67
+ }
68
+ }
69
+ /**
70
+ * `sessionStorage`-backed credential store (per-tab, cleared when the tab
71
+ * closes). Opt-in: see the module-level security note before using it.
72
+ */
73
+ export function sessionStorageCredentialStore(options = {}) {
74
+ return new WebStorageCredentialStore("session", options);
75
+ }
76
+ /**
77
+ * `localStorage`-backed credential store (persists across tabs and restarts).
78
+ * Highest-risk option — opt-in only. See the module-level security note.
79
+ */
80
+ export function localStorageCredentialStore(options = {}) {
81
+ return new WebStorageCredentialStore("local", options);
82
+ }
@@ -0,0 +1,23 @@
1
+ /**
2
+ * `@honua/sdk-js/auth` — pluggable {@link HonuaAuthProvider} built-ins and the
3
+ * {@link CredentialStore} abstraction.
4
+ *
5
+ * These providers plug into `new HonuaClient({ auth })` and are therefore
6
+ * attached and refreshed transparently across **all** transports the client
7
+ * drives — every REST fetch path and every gRPC-web call (the client's auth
8
+ * interceptor re-resolves credentials per attempt), plus the 401/403
9
+ * force-refresh retry.
10
+ *
11
+ * This module is a dedicated subpath so a `HonuaClient`-only consumer never
12
+ * pays the PKCE/token-exchange code size unless they opt in.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ export { oauth2, OAuth2Provider } from "./oauth2-provider.js";
17
+ export { clientCredentials, ClientCredentialsProvider } from "./client-credentials-provider.js";
18
+ export { apiKeyAuth, bearerTokenAuth } from "./static-providers.js";
19
+ export { InMemoryCredentialStore, sessionStorageCredentialStore, localStorageCredentialStore, } from "./credential-store.js";
20
+ export { createPkcePair, createStateToken } from "./pkce.js";
21
+ export type { PkcePair } from "./pkce.js";
22
+ export type { ClientCredentialsConfig, CredentialStore, HonuaAuthEvent, HonuaAuthEventHandle, HonuaAuthEventListener, OAuth2Config, OAuth2SignInMode, OAuth2TokenResponse, StoredCredential, } from "./types.js";
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAChG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,YAAY,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * `@honua/sdk-js/auth` — pluggable {@link HonuaAuthProvider} built-ins and the
3
+ * {@link CredentialStore} abstraction.
4
+ *
5
+ * These providers plug into `new HonuaClient({ auth })` and are therefore
6
+ * attached and refreshed transparently across **all** transports the client
7
+ * drives — every REST fetch path and every gRPC-web call (the client's auth
8
+ * interceptor re-resolves credentials per attempt), plus the 401/403
9
+ * force-refresh retry.
10
+ *
11
+ * This module is a dedicated subpath so a `HonuaClient`-only consumer never
12
+ * pays the PKCE/token-exchange code size unless they opt in.
13
+ *
14
+ * @packageDocumentation
15
+ */
16
+ export { oauth2, OAuth2Provider } from "./oauth2-provider.js";
17
+ export { clientCredentials, ClientCredentialsProvider } from "./client-credentials-provider.js";
18
+ export { apiKeyAuth, bearerTokenAuth } from "./static-providers.js";
19
+ export { InMemoryCredentialStore, sessionStorageCredentialStore, localStorageCredentialStore, } from "./credential-store.js";
20
+ export { createPkcePair, createStateToken } from "./pkce.js";
@@ -0,0 +1,114 @@
1
+ /**
2
+ * OAuth2 authorization-code + PKCE provider.
3
+ *
4
+ * Implements {@link HonuaAuthProvider} (so it drops straight into
5
+ * `new HonuaClient({ auth })` and is attached/refreshed on every fetch and
6
+ * gRPC-web call) *and* exposes the interactive surface a browser app drives:
7
+ * `signIn()` (redirect or popup), `handleRedirectCallback()`, `signOut()`.
8
+ *
9
+ * Design highlights:
10
+ * - S256 PKCE + unguessable `state` (CSRF), validated on the redirect.
11
+ * - Silent refresh via `refresh_token` with a documented fallback
12
+ * (`interaction_required`) when no refresh token is available.
13
+ * - Clock-skew-tolerant expiry so a refresh happens *before* requests 401.
14
+ * - **Single-flight refresh**: N concurrent `getCredentials()` calls that all
15
+ * observe an expiring token share exactly one token-endpoint round-trip.
16
+ *
17
+ * @packageDocumentation
18
+ */
19
+ import type { HonuaAuthCredentials, HonuaAuthProviderContext, HonuaAuthRevocationContext } from "../types.js";
20
+ import type { HonuaAuthEventHandle, HonuaAuthEventListener, OAuth2Config, StoredCredential } from "./types.js";
21
+ /**
22
+ * OAuth2 authorization-code + PKCE provider. Construct via {@link oauth2}.
23
+ */
24
+ export declare class OAuth2Provider {
25
+ private readonly config;
26
+ private readonly store;
27
+ private readonly serviceKey;
28
+ private readonly clockSkewMs;
29
+ private readonly mode;
30
+ private readonly fetchFn;
31
+ private readonly listeners;
32
+ /** Single-flight guard: one in-flight refresh shared by all callers. */
33
+ private refreshInFlight;
34
+ /** In-memory transaction fallback when no Web Storage is available. */
35
+ private memoryTransaction;
36
+ constructor(config: OAuth2Config);
37
+ /**
38
+ * Resolve credentials for an outgoing request. Returns the current access
39
+ * token, silently refreshing it first when it is expiring (or when
40
+ * `context.forceRefresh` is set, e.g. after a 401). Throws
41
+ * {@link HonuaAuthError} `interaction_required` when there is no token and no
42
+ * refresh token — the app must call {@link OAuth2Provider.signIn}.
43
+ */
44
+ getCredentials(context?: HonuaAuthProviderContext): Promise<HonuaAuthCredentials | undefined>;
45
+ /** {@link HonuaAuthProvider.revokeCredentials} — clears + optionally revokes. */
46
+ revokeCredentials(_credentials: HonuaAuthCredentials, _context: HonuaAuthRevocationContext): Promise<void>;
47
+ /**
48
+ * Start interactive sign-in. In `redirect` mode this navigates the current
49
+ * window to the authorization endpoint and returns a promise that never
50
+ * resolves (the page unloads); complete the flow by calling
51
+ * {@link OAuth2Provider.handleRedirectCallback} when the app reloads at the
52
+ * redirect URI. In `popup` mode it opens a popup, waits for the redirect back,
53
+ * exchanges the code, and resolves with the stored credential.
54
+ */
55
+ signIn(): Promise<StoredCredential | undefined>;
56
+ /**
57
+ * Whether `url` (or the current window location) looks like an OAuth2 redirect
58
+ * callback (carries `code`+`state` or an `error`). Call this on app load to
59
+ * decide whether to invoke {@link OAuth2Provider.handleRedirectCallback}.
60
+ */
61
+ isRedirectCallback(url?: string): boolean;
62
+ /**
63
+ * Complete the redirect leg: validate `state`, exchange the authorization
64
+ * `code` (+ PKCE verifier) for tokens, persist them, and emit `signed-in`.
65
+ */
66
+ handleRedirectCallback(url?: string): Promise<StoredCredential>;
67
+ /** Whether a (non-expired) credential is currently stored. */
68
+ isSignedIn(): Promise<boolean>;
69
+ /** Read the raw stored credential, if any. */
70
+ getStoredCredential(): StoredCredential | undefined | Promise<StoredCredential | undefined>;
71
+ /** Clear stored credentials, optionally revoke them, and emit `signed-out`. */
72
+ signOut(): Promise<void>;
73
+ /** Register an auth lifecycle listener. */
74
+ on(listener: HonuaAuthEventListener): HonuaAuthEventHandle;
75
+ private refreshSingleFlight;
76
+ private doRefresh;
77
+ private exchangeCode;
78
+ private revokeAtEndpoint;
79
+ private buildAuthorizeUrl;
80
+ private signInPopup;
81
+ private parseUrl;
82
+ private getWindow;
83
+ private requireWindow;
84
+ private transactionKey;
85
+ private sessionStorage;
86
+ private saveTransaction;
87
+ private loadTransaction;
88
+ private clearTransaction;
89
+ private emit;
90
+ }
91
+ /**
92
+ * Create an OAuth2 authorization-code + PKCE {@link HonuaAuthProvider}.
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * import { HonuaClient } from "@honua/sdk-js/honua";
97
+ * import { oauth2 } from "@honua/sdk-js/auth";
98
+ *
99
+ * const auth = oauth2({
100
+ * authorizationEndpoint: "https://idp.example/authorize",
101
+ * tokenEndpoint: "https://idp.example/token",
102
+ * clientId: "my-app",
103
+ * redirectUri: `${location.origin}/callback`,
104
+ * scopes: ["openid", "profile"],
105
+ * });
106
+ * const client = new HonuaClient({ baseUrl: "https://api.example", auth });
107
+ *
108
+ * // On the callback page:
109
+ * if (auth.isRedirectCallback()) await auth.handleRedirectCallback();
110
+ * else if (!(await auth.isSignedIn())) await auth.signIn();
111
+ * ```
112
+ */
113
+ export declare function oauth2(config: OAuth2Config): OAuth2Provider;
114
+ //# sourceMappingURL=oauth2-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth2-provider.d.ts","sourceRoot":"","sources":["../../../../src/core/auth/oauth2-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAU9G,OAAO,KAAK,EAGV,oBAAoB,EACpB,sBAAsB,EACtB,YAAY,EAEZ,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAWpB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,wEAAwE;IACxE,OAAO,CAAC,eAAe,CAAwC;IAC/D,uEAAuE;IACvE,OAAO,CAAC,iBAAiB,CAA8B;gBAEpC,MAAM,EAAE,YAAY;IAcvC;;;;;;OAMG;IACU,cAAc,CACzB,OAAO,GAAE,wBAAoE,GAC5E,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC;IAkB5C,iFAAiF;IACpE,iBAAiB,CAC5B,YAAY,EAAE,oBAAoB,EAClC,QAAQ,EAAE,0BAA0B,GACnC,OAAO,CAAC,IAAI,CAAC;IAMhB;;;;;;;OAOG;IACU,MAAM,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAsB5D;;;;OAIG;IACI,kBAAkB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO;IAQhD;;;OAGG;IACU,sBAAsB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsC5E,8DAA8D;IACjD,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAK3C,8CAA8C;IACvC,mBAAmB,IAAI,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAIlG,+EAA+E;IAClE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAarC,2CAA2C;IACpC,EAAE,CAAC,QAAQ,EAAE,sBAAsB,GAAG,oBAAoB;IAWjE,OAAO,CAAC,mBAAmB;YAab,SAAS;YAmCT,YAAY;YAeZ,gBAAgB;IAa9B,OAAO,CAAC,iBAAiB;YAkBX,WAAW;IA6CzB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;IAgBvB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,IAAI;CASb;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,cAAc,CAE3D"}