@w6w/sdk 0.9.15 → 0.9.16

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.
package/README.md CHANGED
@@ -10,7 +10,7 @@ The package is authored as runtime-neutral TypeScript against Web standards (`fe
10
10
  `URL`, `AbortController`), so the same build runs under Node 18+, Deno and Bun.
11
11
 
12
12
  - **License:** MIT (see [LICENSE](./LICENSE)).
13
- - **Version:** `0.9.15`.
13
+ - **Version:** `0.9.16`.
14
14
  - **Guides:** [docs.w6w.io/clients/node](https://docs.w6w.io/clients/node/), with a
15
15
  [full reference](https://docs.w6w.io/clients/node/reference/).
16
16
 
@@ -37,7 +37,7 @@ means the same set of operations in every language.
37
37
  ```ts
38
38
  import { isActionRun, isFunctionRun, isWorkflowRun, W6WClient } from "@w6w/sdk";
39
39
 
40
- const client = new W6WClient(); // reads W6W_BASE_URL and W6W_TOKEN
40
+ const client = new W6WClient(); // W6W_BASE_URL (default https://api.w6w.io) and W6W_TOKEN
41
41
 
42
42
  // Who am I? (`me.versions.wrapper` is this SDK's version.)
43
43
  const me = await client.me();
@@ -166,15 +166,16 @@ Every call also takes an `AbortSignal` as `signal`; an aborted call raises `ApiE
166
166
 
167
167
  Two environment variables, both read only at client construction:
168
168
 
169
- | Variable | Meaning | Required |
170
- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------- | -------- |
171
- | `W6W_BASE_URL` | The **origin** of your w6w server, e.g. `https://api.example.com`. The API is served at the root of that host, so nothing is appended. | Yes |
172
- | `W6W_TOKEN` | The bearer token, sent as `Authorization: Bearer <token>` on every request. | Yes |
169
+ | Variable | Meaning | Required |
170
+ | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- |
171
+ | `W6W_BASE_URL` | The **origin** of your w6w server, e.g. `https://api.example.com`. The API is served at the root of that host, so nothing is appended. Defaults to `https://api.w6w.io`. | No |
172
+ | `W6W_TOKEN` | The bearer token, sent as `Authorization: Bearer <token>` on every request. | Yes |
173
173
 
174
174
  Explicit constructor arguments always win over the environment, and credentials are **instance
175
175
  state**: two clients in one process can hold different tokens and point at different servers with no
176
- interference. There is no default base URL — a client built without one and without `W6W_BASE_URL`
177
- raises a configuration error naming the variable.
176
+ interference. The base URL resolves as explicit `baseUrl`, then `W6W_BASE_URL`, then the default
177
+ `https://api.w6w.io` (exported as `DEFAULT_BASE_URL`) — so a client built without either talks to
178
+ w6w's own API.
178
179
 
179
180
  ```ts
180
181
  import { W6WClient } from "@w6w/sdk";
@@ -250,10 +251,10 @@ preserved verbatim, because it is indistinguishable from a real gateway prefix:
250
251
  > deployment behind a gateway prefix is addressed, and silently removing it would break those.
251
252
 
252
253
  A variable that is **set but empty** — or whitespace-only — counts as **unset**, in both variables.
253
- `W6W_BASE_URL=` is how a shell or a Dockerfile spells "I meant to set this and did not", so it
254
- raises the same configuration error as an absent one rather than quietly producing a relative URL.
255
- An empty string passed _explicitly_ to the constructor is likewise an error, and does not fall back
256
- to the environment.
254
+ `W6W_BASE_URL=` is how a shell or a Dockerfile spells "I meant to set this and did not", so it falls
255
+ through to the default `https://api.w6w.io`, exactly like an unset one, rather than quietly
256
+ producing a relative URL. An empty string passed _explicitly_ to the constructor is different: it is
257
+ an error, and falls back neither to the environment nor to the default.
257
258
 
258
259
  ### `W6W_TOKEN`
259
260
 
@@ -269,7 +270,7 @@ the environment.
269
270
 
270
271
  Two error types, and the difference between them is diagnostic:
271
272
 
272
- - **`ConfigError`** — the client never got as far as a request: no base URL, or no token.
273
+ - **`ConfigError`** — the client never got as far as a request: a malformed base URL, or no token.
273
274
  - **`ApiError`** — carries `status`, `code`, `message` and `raw` (the parsed response body, kept
274
275
  because an error body carries fields the message drops). It covers exactly three cases: a
275
276
  transport failure (`status: 0`, code `network_error`), a non-JSON body on a failing status (code
@@ -295,7 +296,10 @@ route and walkthrough are in [Embed w6w in your product](https://docs.w6w.io/gui
295
296
  import { createEmbedSessionClient } from "@w6w/sdk/server";
296
297
 
297
298
  const sessions = createEmbedSessionClient({
298
- baseUrl: process.env.W6W_BASE_URL!,
299
+ // Optional: defaults to https://api.w6w.io. Self-hosted? Pass your API origin: when omitted, the
300
+ // tenant client credentials are sent to https://api.w6w.io. This factory never reads W6W_BASE_URL itself;
301
+ // `|| undefined` keeps a blank variable from reaching it as an explicit "" (a ConfigError).
302
+ baseUrl: process.env.W6W_BASE_URL || undefined,
299
303
  clientId: process.env.W6W_TENANT_CLIENT_ID!,
300
304
  clientSecret: process.env.W6W_TENANT_CLIENT_SECRET!, // never sent to the browser
301
305
  });
@@ -308,7 +312,8 @@ const { token, expiresAt, account } = await sessions.create({ subject: userId, a
308
312
  `account` is the server's resolved `acct_…` id. The factory throws in a browser-like runtime.
309
313
 
310
314
  The lower-level `exchangeToken`, with an optional `account`, stays available from the same entry
311
- point:
315
+ point. **Self-hosted deployments must pass `baseUrl` explicitly; when omitted, the helper sends the
316
+ tenant client credentials to `https://api.w6w.io`** (neither helper reads `W6W_BASE_URL`):
312
317
 
313
318
  ```ts
314
319
  import { exchangeToken } from "@w6w/sdk/server";
@@ -330,7 +335,7 @@ app.post("/api/w6w-token", async (req, res) => {
330
335
  const account = await yourOwnMembershipLookup(session.userId);
331
336
 
332
337
  const { token, expiresIn } = await exchangeToken({
333
- baseUrl: process.env.W6W_BASE_URL!,
338
+ baseUrl: process.env.W6W_BASE_URL || undefined, // optional; defaults to https://api.w6w.io, never read from env
334
339
  clientId: process.env.W6W_TENANT_CLIENT_ID!,
335
340
  clientSecret: process.env.W6W_TENANT_CLIENT_SECRET!, // never sent to the browser
336
341
  subject: session.userId,
package/dist/mod.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  export { VERSION } from "./src/version.ts";
18
18
  export { W6WClient } from "./src/client.ts";
19
19
  export { ApiError, ConfigError } from "./src/errors.ts";
20
- export { BASE_PATH, type FetchLike, joinBaseUrl, type ResolvedConfig, type TokenProvider, type W6WClientOptions, } from "./src/config.ts";
20
+ export { BASE_PATH, DEFAULT_BASE_URL, type FetchLike, joinBaseUrl, type ResolvedConfig, type TokenProvider, type W6WClientOptions, } from "./src/config.ts";
21
21
  export type { CallOptions, HttpMethod, HttpResponse, QueryParams, RequestOptions, } from "./src/http.ts";
22
22
  export { path } from "./src/http.ts";
23
23
  export { DocumentsApi } from "./src/documents.ts";
package/dist/mod.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"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"}
package/dist/mod.js CHANGED
@@ -18,7 +18,7 @@ export { VERSION } from "./src/version.js";
18
18
  // Transport core (T2.1.2): the client, its configuration and the error model.
19
19
  export { W6WClient } from "./src/client.js";
20
20
  export { ApiError, ConfigError } from "./src/errors.js";
21
- export { BASE_PATH, joinBaseUrl, } from "./src/config.js";
21
+ export { BASE_PATH, DEFAULT_BASE_URL, joinBaseUrl, } from "./src/config.js";
22
22
  // Exported because `W6WClient.request` is public: a host reaching an endpoint
23
23
  // this version does not model yet must have the same encoding-at-interpolation
24
24
  // tag the operation modules use, or it will concatenate a caller value into a
package/dist/mod.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,8EAA8E;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,SAAS,EAET,WAAW,GAIZ,MAAM,iBAAiB,CAAC;AAQzB,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,iEAAiE;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,sCAAsC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,gFAAgF;AAChF,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAChF,6CAA6C;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,4EAA4E;AAC5E,iEAAiE;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAetD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmBlD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAoBxC,+EAA+E;AAC/E,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,uEAAuE;AACvE,wEAAwE;AACxE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,8EAA8E;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACL,SAAS,EACT,gBAAgB,EAEhB,WAAW,GAIZ,MAAM,iBAAiB,CAAC;AAQzB,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,iEAAiE;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,sCAAsC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,gFAAgF;AAChF,gFAAgF;AAChF,wEAAwE;AACxE,gFAAgF;AAChF,6CAA6C;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,4EAA4E;AAC5E,iEAAiE;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAetD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAmBlD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAoBxC,+EAA+E;AAC/E,+EAA+E;AAC/E,mDAAmD;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAGtC,+EAA+E;AAC/E,8EAA8E;AAC9E,gFAAgF;AAChF,uEAAuE;AACvE,wEAAwE;AACxE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
@@ -35,8 +35,8 @@ import { WorkflowsApi } from "./workflows.ts";
35
35
  *
36
36
  * Construction resolves configuration once — explicit arguments first, then the
37
37
  * environment (`W6W_BASE_URL`, `W6W_TOKEN`) — and never consults the
38
- * environment again. A missing base URL raises here; a missing token raises on
39
- * the first request, so a CLI can print `--help` offline.
38
+ * environment again. An omitted base URL falls back to `DEFAULT_BASE_URL`
39
+ * (only an explicit blank one raises here); a missing token raises on the first request, so a CLI can print `--help` offline.
40
40
  *
41
41
  * @example
42
42
  * ```ts
@@ -150,7 +150,7 @@ export declare class W6WClient {
150
150
  readonly team: TeamApi;
151
151
  /**
152
152
  * @param options - Explicit configuration; anything omitted falls back to the environment.
153
- * @throws {ConfigError} When no base URL is configured, or the host has no `fetch`.
153
+ * @throws {ConfigError} When an explicit `baseUrl` is blank or malformed, or the host has no `fetch`.
154
154
  */
155
155
  constructor(options?: W6WClientOptions);
156
156
  /**
@@ -36,8 +36,8 @@ import { WorkflowsApi } from "./workflows.js";
36
36
  *
37
37
  * Construction resolves configuration once — explicit arguments first, then the
38
38
  * environment (`W6W_BASE_URL`, `W6W_TOKEN`) — and never consults the
39
- * environment again. A missing base URL raises here; a missing token raises on
40
- * the first request, so a CLI can print `--help` offline.
39
+ * environment again. An omitted base URL falls back to `DEFAULT_BASE_URL`
40
+ * (only an explicit blank one raises here); a missing token raises on the first request, so a CLI can print `--help` offline.
41
41
  *
42
42
  * @example
43
43
  * ```ts
@@ -151,7 +151,7 @@ export class W6WClient {
151
151
  #fetch;
152
152
  /**
153
153
  * @param options - Explicit configuration; anything omitted falls back to the environment.
154
- * @throws {ConfigError} When no base URL is configured, or the host has no `fetch`.
154
+ * @throws {ConfigError} When an explicit `baseUrl` is blank or malformed, or the host has no `fetch`.
155
155
  */
156
156
  constructor(options = {}) {
157
157
  this.config = resolveConfig(options);
@@ -180,23 +180,29 @@ export interface ResolvedConfig {
180
180
  * @throws {ConfigError} When the origin is blank, relative, hostless or not `http(s)`.
181
181
  */
182
182
  export declare function joinBaseUrl(origin: string): string;
183
+ /**
184
+ * The base URL used when none is given: w6w's own production API. Declared once
185
+ * in `endpoints.json` as `defaultBaseUrl`; a conformance test pins this constant
186
+ * to it. An absolute origin, unlike a relative `"/api"`, resolves the same in
187
+ * every runtime.
188
+ */
189
+ export declare const DEFAULT_BASE_URL = "https://api.w6w.io";
183
190
  /**
184
191
  * Resolve constructor options and the environment into one config value.
185
192
  *
186
- * Precedence is **explicit argument > environment variable**, always; there is
187
- * no default base URL. An explicitly passed empty string is an *explicit*
188
- * value, not "unset" — it does not fall through to the environment, and an
189
- * empty base URL is a configuration error either way. Only an absent
190
- * (`undefined`) argument consults the environment.
193
+ * Precedence is **explicit argument > environment variable >
194
+ * {@linkcode DEFAULT_BASE_URL}**. An explicitly passed empty string is an
195
+ * *explicit* value, not "unset" — it does not fall through to the environment
196
+ * or the default, and an empty base URL is a configuration error. Only an
197
+ * absent (`undefined`) argument consults the environment.
191
198
  *
192
199
  * An **empty or whitespace-only environment variable is absent** and falls
193
200
  * through (see `src/env.ts`), so `W6W_BASE_URL=`, `W6W_BASE_URL=" "` and an
194
- * unset `W6W_BASE_URL` all end here, in the same configuration error — never in
195
- * a relative `"/api"`.
201
+ * unset `W6W_BASE_URL` all end at the default — never at a relative `"/api"`.
196
202
  *
197
203
  * @param options - Constructor options; `fetch` is ignored here (the client owns it).
198
204
  * @returns The resolved configuration.
199
- * @throws {ConfigError} When no usable base URL was supplied, naming `W6W_BASE_URL`.
205
+ * @throws {ConfigError} When an explicit or environment base URL is malformed.
200
206
  */
201
207
  export declare function resolveConfig(options?: W6WClientOptions): ResolvedConfig;
202
208
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,QAAQ,EAAe,MAAM,aAAa,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7B,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEpE,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBlD;AAkBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,gBAAqB,GAAG,cAAc,CAY5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,GAAG,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,MAAM,CAAC,CAajB"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,KAAK,QAAQ,EAAe,MAAM,aAAa,CAAC;AAEzD;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS,KAAK,CAAC;AAE5B;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEjF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,KAC7B,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAEpE,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B;;;;;;;;OAQG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAC9C,yDAAyD;IACzD,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;IACxC,iEAAiE;IACjE,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5D,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAeD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAuBlD;AAkBD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,gBAAqB,GAAG,cAAc,CAY5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,cAAc,EACtB,GAAG,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,OAAO,CAAC,MAAM,CAAC,CAajB"}
@@ -113,30 +113,36 @@ function parses(origin) {
113
113
  return false;
114
114
  }
115
115
  }
116
+ /**
117
+ * The base URL used when none is given: w6w's own production API. Declared once
118
+ * in `endpoints.json` as `defaultBaseUrl`; a conformance test pins this constant
119
+ * to it. An absolute origin, unlike a relative `"/api"`, resolves the same in
120
+ * every runtime.
121
+ */
122
+ export const DEFAULT_BASE_URL = "https://api.w6w.io";
116
123
  /**
117
124
  * Resolve constructor options and the environment into one config value.
118
125
  *
119
- * Precedence is **explicit argument > environment variable**, always; there is
120
- * no default base URL. An explicitly passed empty string is an *explicit*
121
- * value, not "unset" — it does not fall through to the environment, and an
122
- * empty base URL is a configuration error either way. Only an absent
123
- * (`undefined`) argument consults the environment.
126
+ * Precedence is **explicit argument > environment variable >
127
+ * {@linkcode DEFAULT_BASE_URL}**. An explicitly passed empty string is an
128
+ * *explicit* value, not "unset" — it does not fall through to the environment
129
+ * or the default, and an empty base URL is a configuration error. Only an
130
+ * absent (`undefined`) argument consults the environment.
124
131
  *
125
132
  * An **empty or whitespace-only environment variable is absent** and falls
126
133
  * through (see `src/env.ts`), so `W6W_BASE_URL=`, `W6W_BASE_URL=" "` and an
127
- * unset `W6W_BASE_URL` all end here, in the same configuration error — never in
128
- * a relative `"/api"`.
134
+ * unset `W6W_BASE_URL` all end at the default — never at a relative `"/api"`.
129
135
  *
130
136
  * @param options - Constructor options; `fetch` is ignored here (the client owns it).
131
137
  * @returns The resolved configuration.
132
- * @throws {ConfigError} When no usable base URL was supplied, naming `W6W_BASE_URL`.
138
+ * @throws {ConfigError} When an explicit or environment base URL is malformed.
133
139
  */
134
140
  export function resolveConfig(options = {}) {
135
141
  return {
136
142
  // Every normalisation, the emptiness test and the absoluteness check live in
137
143
  // `joinBaseUrl` — one code path, so the exported helper and the client can
138
144
  // never answer differently for the same input.
139
- baseUrl: joinBaseUrl(options.baseUrl ?? readEnv(ENV_BASE_URL) ?? ""),
145
+ baseUrl: joinBaseUrl(options.baseUrl ?? readEnv(ENV_BASE_URL) ?? DEFAULT_BASE_URL),
140
146
  token: options.token ?? readEnv(ENV_TOKEN) ?? null,
141
147
  refreshOnUnauthorized: options.refreshOnUnauthorized ?? false,
142
148
  onUnauthorized: options.onUnauthorized ?? null,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * `docs/implementation.md` §3, and raised by exactly the three failure modes
9
9
  * in `src/http.ts`.
10
10
  * - {@linkcode ConfigError} — the client was never in a position to make a
11
- * request: no base URL, or no token. No HTTP exchange happened, so an
11
+ * request: an explicitly blank base URL, or no token. No HTTP exchange happened, so an
12
12
  * `ApiError`'s `status` and `code` would have to be invented; `status: 0` in
13
13
  * particular is already spoken for by `network_error`, and conflating "your
14
14
  * server is unreachable" with "you have not configured a server" is exactly
@@ -65,7 +65,7 @@ export declare class ApiError extends Error {
65
65
  /**
66
66
  * The client is not configured well enough to make a request.
67
67
  *
68
- * Raised at construction when there is no base URL, and on the first request
68
+ * Raised at construction when an explicit base URL is blank or malformed, and on the first request
69
69
  * when there is no token — a client with no token can still be *built*, so a
70
70
  * CLI's `--help` and `--version` work offline (`docs/implementation.md` §2).
71
71
  *
@@ -8,7 +8,7 @@
8
8
  * `docs/implementation.md` §3, and raised by exactly the three failure modes
9
9
  * in `src/http.ts`.
10
10
  * - {@linkcode ConfigError} — the client was never in a position to make a
11
- * request: no base URL, or no token. No HTTP exchange happened, so an
11
+ * request: an explicitly blank base URL, or no token. No HTTP exchange happened, so an
12
12
  * `ApiError`'s `status` and `code` would have to be invented; `status: 0` in
13
13
  * particular is already spoken for by `network_error`, and conflating "your
14
14
  * server is unreachable" with "you have not configured a server" is exactly
@@ -71,7 +71,7 @@ export class ApiError extends Error {
71
71
  /**
72
72
  * The client is not configured well enough to make a request.
73
73
  *
74
- * Raised at construction when there is no base URL, and on the first request
74
+ * Raised at construction when an explicit base URL is blank or malformed, and on the first request
75
75
  * when there is no token — a client with no token can still be *built*, so a
76
76
  * CLI's `--help` and `--version` work offline (`docs/implementation.md` §2).
77
77
  *
@@ -31,9 +31,10 @@ export interface ExchangeTokenOptions {
31
31
  /**
32
32
  * The w6w server's origin, e.g. `https://api.example.com`. Same rules as
33
33
  * {@linkcode W6WClientOptions.baseUrl} — an absolute `http(s)` URL with a
34
- * host.
34
+ * host. Defaults to {@linkcode DEFAULT_BASE_URL} when omitted; this helper
35
+ * never reads `W6W_BASE_URL`. A blank value is a {@linkcode ConfigError}.
35
36
  */
36
- baseUrl: string;
37
+ baseUrl?: string;
37
38
  /** The tenant's client id. Must not contain `:` or a non-latin-1 character. */
38
39
  clientId: string;
39
40
  /** The tenant's client secret. Must be latin-1 encodable. */
@@ -88,8 +89,8 @@ export interface ExchangeTokenResult {
88
89
  * @param options - See {@linkcode ExchangeTokenOptions}.
89
90
  * @returns The minted token and the identity it carries.
90
91
  * @throws {ConfigError} Blank `clientId`/`clientSecret`/`subject`; a `clientId`
91
- * containing `:`; a `clientId`/`clientSecret` outside latin-1; no base URL;
92
- * no runtime `fetch`.
92
+ * containing `:`; a `clientId`/`clientSecret` outside latin-1; a blank or
93
+ * malformed `baseUrl`; no runtime `fetch`.
93
94
  * @throws {ApiError} `invalid_client` (401, unknown/disabled credentials),
94
95
  * `invalid_body` / `invalid_subject` / `invalid_account` (400), or any of
95
96
  * the transport's own failure modes (`../http.ts`). Never retried: this
@@ -100,10 +101,11 @@ export declare function exchangeToken(options: ExchangeTokenOptions): Promise<Ex
100
101
  /** Options for {@linkcode createEmbedSessionClient}. */
101
102
  export interface EmbedSessionClientOptions {
102
103
  /**
103
- * The w6w server's origin. Required and explicit: unlike {@linkcode exchangeToken}
104
- * this factory never falls back to `W6W_BASE_URL`.
104
+ * The w6w server's origin. Defaults to {@linkcode DEFAULT_BASE_URL}; like
105
+ * {@linkcode exchangeToken} this factory never reads `W6W_BASE_URL`. A blank
106
+ * value is a {@linkcode ConfigError}.
105
107
  */
106
- baseUrl: string;
108
+ baseUrl?: string;
107
109
  /** The tenant's client id. Must not contain `:` or a non-latin-1 character. */
108
110
  clientId: string;
109
111
  /** The tenant's client secret. Held by this instance only; never returned. */
@@ -161,9 +163,8 @@ export interface EmbedSessionClient {
161
163
  * and `document` exist (a browser-like global). This is a runtime check by
162
164
  * design; a bundler may or may not remove it.
163
165
  *
164
- * @throws {ConfigError} A missing/blank `baseUrl` (even when `W6W_BASE_URL` is
165
- * set), blank/non-string `clientId` or `clientSecret`, a `clientId` containing
166
- * `:`, non-latin-1 credentials, or a browser-like runtime. No message echoes
166
+ * @throws {ConfigError} A blank/malformed `baseUrl`, blank/non-string `clientId` or
167
+ * `clientSecret`, a `clientId` containing `:`, non-latin-1 credentials, or a browser-like runtime. No message echoes
167
168
  * `clientSecret`.
168
169
  */
169
170
  export declare function createEmbedSessionClient(options: EmbedSessionClientOptions): EmbedSessionClient;
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/server/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAiB,MAAM,cAAc,CAAC;AAI7D,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE;QACJ,mDAAmD;QACnD,OAAO,EAAE,MAAM,CAAC;QAChB,qDAAqD;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,mDAAmD;QACnD,IAAI,EAAE,MAAM,CAAC;QACb,6EAA6E;QAC7E,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAkED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CAwB9B;AAED,wDAAwD;AACxD,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,sDAAsD;AACtD,MAAM,WAAW,uBAAuB;IACtC,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/D;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CA6D/F"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/server/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAoB,KAAK,SAAS,EAAiB,MAAM,cAAc,CAAC;AAI/E,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,+DAA+D;AAC/D,MAAM,WAAW,mBAAmB;IAClC,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE;QACJ,mDAAmD;QACnD,OAAO,EAAE,MAAM,CAAC;QAChB,qDAAqD;QACrD,MAAM,EAAE,MAAM,CAAC;QACf,mDAAmD;QACnD,IAAI,EAAE,MAAM,CAAC;QACb,6EAA6E;QAC7E,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAkED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,mBAAmB,CAAC,CA0B9B;AAED,wDAAwD;AACxD,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,qFAAqF;IACrF,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,sDAAsD;AACtD,MAAM,WAAW,uBAAuB;IACtC,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qFAAqF;AACrF,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,+EAA+E;AAC/E,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/D;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,kBAAkB,CA6D/F"}
@@ -25,7 +25,7 @@
25
25
  *
26
26
  * @module
27
27
  */
28
- import { resolveConfig } from "../config.js";
28
+ import { DEFAULT_BASE_URL, resolveConfig } from "../config.js";
29
29
  import { ApiError, ConfigError } from "../errors.js";
30
30
  import { request } from "../http.js";
31
31
  /** Non-blank after trimming. `who` prefixes the message (the raw path keeps `exchangeToken`). */
@@ -96,8 +96,8 @@ function resolveFetch(fetchOption) {
96
96
  * @param options - See {@linkcode ExchangeTokenOptions}.
97
97
  * @returns The minted token and the identity it carries.
98
98
  * @throws {ConfigError} Blank `clientId`/`clientSecret`/`subject`; a `clientId`
99
- * containing `:`; a `clientId`/`clientSecret` outside latin-1; no base URL;
100
- * no runtime `fetch`.
99
+ * containing `:`; a `clientId`/`clientSecret` outside latin-1; a blank or
100
+ * malformed `baseUrl`; no runtime `fetch`.
101
101
  * @throws {ApiError} `invalid_client` (401, unknown/disabled credentials),
102
102
  * `invalid_body` / `invalid_subject` / `invalid_account` (400), or any of
103
103
  * the transport's own failure modes (`../http.ts`). Never retried: this
@@ -110,7 +110,9 @@ export async function exchangeToken(options) {
110
110
  required(clientSecret, "clientSecret");
111
111
  required(subject, "subject");
112
112
  const basic = basicAuthHeader(clientId, clientSecret);
113
- const config = resolveConfig({ baseUrl });
113
+ // A defined string never reaches resolveConfig's W6W_BASE_URL fallback: the
114
+ // credentials below go to the explicit host or the default, never an env host.
115
+ const config = resolveConfig({ baseUrl: baseUrl ?? DEFAULT_BASE_URL });
114
116
  const fetchImpl = resolveFetch(options.fetch);
115
117
  const body = { subject };
116
118
  if (account !== undefined) {
@@ -135,9 +137,8 @@ const SESSION = "EmbedSessionClient";
135
137
  * and `document` exist (a browser-like global). This is a runtime check by
136
138
  * design; a bundler may or may not remove it.
137
139
  *
138
- * @throws {ConfigError} A missing/blank `baseUrl` (even when `W6W_BASE_URL` is
139
- * set), blank/non-string `clientId` or `clientSecret`, a `clientId` containing
140
- * `:`, non-latin-1 credentials, or a browser-like runtime. No message echoes
140
+ * @throws {ConfigError} A blank/malformed `baseUrl`, blank/non-string `clientId` or
141
+ * `clientSecret`, a `clientId` containing `:`, non-latin-1 credentials, or a browser-like runtime. No message echoes
141
142
  * `clientSecret`.
142
143
  */
143
144
  export function createEmbedSessionClient(options) {
@@ -147,11 +148,12 @@ export function createEmbedSessionClient(options) {
147
148
  "secret must stay on your backend.");
148
149
  }
149
150
  const { baseUrl, clientId, clientSecret } = options ?? {};
150
- requiredText(baseUrl, "baseUrl", SESSION);
151
+ if (baseUrl !== undefined)
152
+ requiredText(baseUrl, "baseUrl", SESSION);
151
153
  requiredText(clientId, "clientId", SESSION);
152
154
  requiredText(clientSecret, "clientSecret", SESSION);
153
155
  basicAuthHeader(clientId, clientSecret, SESSION);
154
- resolveConfig({ baseUrl });
156
+ resolveConfig({ baseUrl: baseUrl ?? DEFAULT_BASE_URL });
155
157
  const fetchOption = options.fetch;
156
158
  const now = options.now ?? Date.now;
157
159
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/server/mod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/server/mod.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,gBAAgB,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAmDrC,iGAAiG;AACjG,SAAS,QAAQ,CAAC,KAAa,EAAE,KAAa,EAAE,GAAG,GAAG,eAAe;IACnE,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,OAAO,KAAK,uBAAuB,CAAC,CAAC;IACnE,CAAC;AACH,CAAC;AAED,gGAAgG;AAChG,SAAS,YAAY,CAAC,KAAc,EAAE,KAAa,EAAE,GAAW;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,WAAW,CAAC,GAAG,GAAG,OAAO,KAAK,gCAAgC,CAAC,CAAC;IAC5E,CAAC;IACD,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,eAAe,CACtB,QAAgB,EAChB,YAAoB,EACpB,GAAG,GAAG,eAAe;IAErB,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,WAAW,CACnB,GAAG,GAAG,4DAA4D;YAChE,wEAAwE;YACxE,8CAA8C,CACjD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,GAAG,QAAQ,IAAI,YAAY,EAAE,CAAC,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CACnB,GAAG,GAAG,2DAA2D;YAC/D,kEAAkE;YAClE,uDAAuD,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,WAAkC;IACtD,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;IAChC,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,WAAW,CACnB,2DAA2D;YACzD,kEAAkE,CACrE,CAAC;IACJ,CAAC;IACD,wEAAwE;IACxE,kDAAkD;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,OAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEtE,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEtD,4EAA4E;IAC5E,+EAA+E;IAC/E,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACvE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,IAAI,GAA0C,EAAE,OAAO,EAAE,CAAC;IAChE,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAsB,MAAM,EAAE,SAAS,EAAE;QAChE,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,gBAAgB;QACtB,IAAI;QACJ,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,KAAK,EAAE,EAAE;QAC5C,WAAW,EAAE,KAAK;KACnB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC,IAAI,CAAC;AAClB,CAAC;AA8DD,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAErC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,wBAAwB,CAAC,OAAkC;IACzE,MAAM,CAAC,GAAG,UAAsD,CAAC;IACjE,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACzE,MAAM,IAAI,WAAW,CACnB,GAAG,OAAO,wEAAwE;YAChF,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,IAAK,EAAgC,CAAC;IACzF,IAAI,OAAO,KAAK,SAAS;QAAE,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrE,YAAY,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5C,YAAY,CAAC,YAAY,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IACpD,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,CAAC,CAAC;IAExD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAClC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IAEpC,OAAO;QACL,KAAK,CAAC,MAAM,CAAC,KAA8B;YACzC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,IAAK,EAA8B,CAAC;YACzE,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YAC1C,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;YAElC,MAAM,EAAE,GAAG,GAAG,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC;gBAC9B,OAAO;gBACP,QAAQ;gBACR,YAAY;gBACZ,OAAO;gBACP,OAAO;gBACP,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,EAAE,GAAG,GAAG,EAAE,SAAS,GAAG,IAAI,CAAC;YAC/C,IACE,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS;gBACjC,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ;gBAClE,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;gBAClE,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ;gBACpE,OAAO,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EAC3E,CAAC;gBACD,MAAM,IAAI,QAAQ,CAChB,GAAG,EACH,cAAc,EACd,GAAG,OAAO,uDAAuD,CAClE,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,SAAS,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;gBAC9C,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO;gBACzB,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM;gBACvB,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO;gBACzB,UAAU,EAAE,OAAO;aACpB,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -10,5 +10,5 @@
10
10
  * this file as TypeScript source and rejects inferred public types ("no slow
11
11
  * types").
12
12
  */
13
- export const VERSION = "0.9.15";
13
+ export const VERSION = "0.9.16";
14
14
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@w6w/sdk",
3
- "version": "0.9.15",
3
+ "version": "0.9.16",
4
4
  "description": "Typed client for the w6w HTTP API. Thin transport, auth and error mapping — nothing else.",
5
5
  "license": "MIT",
6
6
  "repository": {