@w6w/sdk 0.9.15 → 0.9.23

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 (91) hide show
  1. package/README.md +21 -16
  2. package/dist/mod.d.ts +12 -1
  3. package/dist/mod.d.ts.map +1 -1
  4. package/dist/mod.js +7 -1
  5. package/dist/mod.js.map +1 -1
  6. package/dist/src/agents.d.ts +33 -0
  7. package/dist/src/agents.d.ts.map +1 -0
  8. package/dist/src/agents.js +73 -0
  9. package/dist/src/agents.js.map +1 -0
  10. package/dist/src/assets.d.ts +56 -0
  11. package/dist/src/assets.d.ts.map +1 -0
  12. package/dist/src/assets.js +143 -0
  13. package/dist/src/assets.js.map +1 -0
  14. package/dist/src/client.d.ts +24 -3
  15. package/dist/src/client.d.ts.map +1 -1
  16. package/dist/src/client.js +32 -3
  17. package/dist/src/client.js.map +1 -1
  18. package/dist/src/config.d.ts +14 -8
  19. package/dist/src/config.d.ts.map +1 -1
  20. package/dist/src/config.js +15 -9
  21. package/dist/src/config.js.map +1 -1
  22. package/dist/src/connections.d.ts +8 -3
  23. package/dist/src/connections.d.ts.map +1 -1
  24. package/dist/src/connections.js +6 -2
  25. package/dist/src/connections.js.map +1 -1
  26. package/dist/src/console/apps.d.ts +13 -0
  27. package/dist/src/console/apps.d.ts.map +1 -1
  28. package/dist/src/console/apps.js +3 -0
  29. package/dist/src/console/apps.js.map +1 -1
  30. package/dist/src/console/connections.d.ts +71 -11
  31. package/dist/src/console/connections.d.ts.map +1 -1
  32. package/dist/src/console/connections.js +27 -6
  33. package/dist/src/console/connections.js.map +1 -1
  34. package/dist/src/console/credentials.d.ts +183 -0
  35. package/dist/src/console/credentials.d.ts.map +1 -0
  36. package/dist/src/console/credentials.js +186 -0
  37. package/dist/src/console/credentials.js.map +1 -0
  38. package/dist/src/console/mod.d.ts +17 -2
  39. package/dist/src/console/mod.d.ts.map +1 -1
  40. package/dist/src/console/mod.js +15 -0
  41. package/dist/src/console/mod.js.map +1 -1
  42. package/dist/src/console/models.d.ts +208 -0
  43. package/dist/src/console/models.d.ts.map +1 -0
  44. package/dist/src/console/models.js +186 -0
  45. package/dist/src/console/models.js.map +1 -0
  46. package/dist/src/console/storage.d.ts +221 -0
  47. package/dist/src/console/storage.d.ts.map +1 -0
  48. package/dist/src/console/storage.js +198 -0
  49. package/dist/src/console/storage.js.map +1 -0
  50. package/dist/src/console/tokens.d.ts +53 -3
  51. package/dist/src/console/tokens.d.ts.map +1 -1
  52. package/dist/src/console/tokens.js +35 -4
  53. package/dist/src/console/tokens.js.map +1 -1
  54. package/dist/src/console/vault.d.ts +2 -2
  55. package/dist/src/console/vault.d.ts.map +1 -1
  56. package/dist/src/console/vault.js +1 -1
  57. package/dist/src/context.d.ts +68 -0
  58. package/dist/src/context.d.ts.map +1 -0
  59. package/dist/src/context.js +195 -0
  60. package/dist/src/context.js.map +1 -0
  61. package/dist/src/errors.d.ts +2 -2
  62. package/dist/src/errors.js +2 -2
  63. package/dist/src/http.d.ts +19 -1
  64. package/dist/src/http.d.ts.map +1 -1
  65. package/dist/src/http.js +21 -3
  66. package/dist/src/http.js.map +1 -1
  67. package/dist/src/models.d.ts +141 -0
  68. package/dist/src/models.d.ts.map +1 -0
  69. package/dist/src/models.js +128 -0
  70. package/dist/src/models.js.map +1 -0
  71. package/dist/src/server/mod.d.ts +11 -10
  72. package/dist/src/server/mod.d.ts.map +1 -1
  73. package/dist/src/server/mod.js +11 -9
  74. package/dist/src/server/mod.js.map +1 -1
  75. package/dist/src/skills.d.ts +29 -0
  76. package/dist/src/skills.d.ts.map +1 -0
  77. package/dist/src/skills.js +55 -0
  78. package/dist/src/skills.js.map +1 -0
  79. package/dist/src/types.d.ts +415 -8
  80. package/dist/src/types.d.ts.map +1 -1
  81. package/dist/src/types.js +1 -1
  82. package/dist/src/types.js.map +1 -1
  83. package/dist/src/vars.d.ts +2 -2
  84. package/dist/src/vars.d.ts.map +1 -1
  85. package/dist/src/vars.js +1 -1
  86. package/dist/src/version.js +1 -1
  87. package/dist/src/workflows.d.ts +6 -6
  88. package/dist/src/workflows.d.ts.map +1 -1
  89. package/dist/src/workflows.js +7 -5
  90. package/dist/src/workflows.js.map +1 -1
  91. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/context.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
  *
@@ -54,8 +54,21 @@ export interface RequestOptions {
54
54
  path: string;
55
55
  /** Query parameters, if any. */
56
56
  query?: QueryParams;
57
- /** Request body. Serialised as JSON when present; omit it for a bodiless request. */
57
+ /**
58
+ * Request body; omit it for a bodiless request. A `Uint8Array` is **bytes
59
+ * mode**: sent untouched with `content-type: application/octet-stream` — no
60
+ * JSON encoding, quoting or base64 (an `endpoints.json` operation declaring
61
+ * `bodyEncoding: "octet-stream"`). Anything else is serialised as JSON.
62
+ */
58
63
  body?: unknown;
64
+ /**
65
+ * How to read a **successful** response. `"bytes"` returns the body as a
66
+ * `Uint8Array`, read once via `arrayBuffer()` and never decoded or
67
+ * JSON-parsed (an operation declaring `responseEncoding: "octet-stream"`).
68
+ * Omitted, the body is parsed as JSON as always. A non-2xx response is the
69
+ * JSON error envelope in **both** modes and raises exactly as before.
70
+ */
71
+ responseType?: "json" | "bytes";
59
72
  /**
60
73
  * Extra headers to send with this request. Precedence, low to high: the
61
74
  * client's own `headers` default < this option < the bearer
@@ -197,6 +210,11 @@ export declare function buildUrl(config: ResolvedConfig, options: RequestOptions
197
210
  * check is false by construction. `config.onUnauthorized` is invoked with
198
211
  * whichever `401`/`unauthorized` error turns out to be terminal.
199
212
  *
213
+ * **Byte mode** (contract `0.11.0`): a `Uint8Array` `options.body` and/or
214
+ * `options.responseType: "bytes"` swap only the success-path encoding — see
215
+ * {@linkcode RequestOptions.body} and {@linkcode RequestOptions.responseType}.
216
+ * The three failure modes and the 401 recovery above apply unchanged.
217
+ *
200
218
  * @param config - Resolved configuration (base URL and credential).
201
219
  * @param fetchImpl - The transport to use; injected, never read from a module global.
202
220
  * @param options - The request.
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAgB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGhF;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAEhF,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,qFAAqF;IACrF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAM/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAOhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CA2H1B"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAgB,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAGhF;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAEhF,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,CAAC;CACT;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAM/E;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,CAOhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,wBAAsB,OAAO,CAAC,CAAC,EAC7B,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CA0I1B"}
package/dist/src/http.js CHANGED
@@ -120,6 +120,11 @@ export function buildUrl(config, options) {
120
120
  * check is false by construction. `config.onUnauthorized` is invoked with
121
121
  * whichever `401`/`unauthorized` error turns out to be terminal.
122
122
  *
123
+ * **Byte mode** (contract `0.11.0`): a `Uint8Array` `options.body` and/or
124
+ * `options.responseType: "bytes"` swap only the success-path encoding — see
125
+ * {@linkcode RequestOptions.body} and {@linkcode RequestOptions.responseType}.
126
+ * The three failure modes and the 401 recovery above apply unchanged.
127
+ *
123
128
  * @param config - Resolved configuration (base URL and credential).
124
129
  * @param fetchImpl - The transport to use; injected, never read from a module global.
125
130
  * @param options - The request.
@@ -146,14 +151,20 @@ export async function request(config, fetchImpl, options) {
146
151
  headers.set("authorization", `Bearer ${await requireToken(config)}`);
147
152
  }
148
153
  const hasBody = options.body !== undefined;
149
- if (hasBody)
150
- headers.set("content-type", "application/json");
154
+ const bytesBody = options.body instanceof Uint8Array;
155
+ if (hasBody) {
156
+ headers.set("content-type", bytesBody ? "application/octet-stream" : "application/json");
157
+ }
151
158
  let res;
152
159
  try {
153
160
  res = await fetchImpl(url, {
154
161
  method: options.method,
155
162
  headers,
156
- body: hasBody ? JSON.stringify(options.body) : undefined,
163
+ body: !hasBody
164
+ ? undefined
165
+ : bytesBody
166
+ ? options.body
167
+ : JSON.stringify(options.body),
157
168
  signal: options.signal,
158
169
  });
159
170
  }
@@ -173,6 +184,13 @@ export async function request(config, fetchImpl, options) {
173
184
  throw new ApiError(0, "network_error", `Could not reach the w6w server (${options.method} ${url}). ` +
174
185
  `It may be down or unreachable. (${err instanceof Error ? err.message : String(err)})`);
175
186
  }
187
+ // Bytes mode, success path only: the payload is the body. Read it once as raw
188
+ // bytes — never through `text()` (which would replace invalid UTF-8) or
189
+ // `json()`. A non-2xx falls through to the text/envelope handling below, so
190
+ // the typed error is identical in both modes.
191
+ if (res.ok && options.responseType === "bytes") {
192
+ return { status: res.status, body: new Uint8Array(await res.arrayBuffer()) };
193
+ }
176
194
  // Read the body exactly once, as text, then parse it guardedly — a response
177
195
  // body is a single-use stream, and `res.json()` on an HTML error page throws
178
196
  // an opaque SyntaxError that loses the page.
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/http.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * `client.models.*`, `client.modelRoutes.*` and `client.modelUsage.*` — the model
3
+ * registry: the catalog, named routes, and the completion gateway.
4
+ *
5
+ * Six operations, one HTTP call each (`endpoints.json`). The rest of the model surface (catalog edits, rates,
6
+ * budgets, route writes) lives in the unstable `client.console.models` group.
7
+ *
8
+ * **`modelRoutes.complete` returns the flat gateway envelope as-is** —
9
+ * `invocationId`, `status` and `key` included — and never unwraps it to
10
+ * `output` (DC-5/G-W4). Routes and usage are project-scoped: `?project=` is
11
+ * resolved per call, then from the client default.
12
+ *
13
+ * @module
14
+ */
15
+ import type { ResolvedConfig } from "./config.ts";
16
+ import { type CallOptions, type HttpResponse, type RequestOptions } from "./http.ts";
17
+ /** The slice of `W6WClient` these namespaces need. */
18
+ export interface ModelsHost {
19
+ /** The resolved configuration; only `project` is read. */
20
+ readonly config: ResolvedConfig;
21
+ /** Perform one request. */
22
+ request<T>(options: RequestOptions): Promise<HttpResponse<T>>;
23
+ }
24
+ /** The wire dialect a completion is spoken in. */
25
+ export type ModelDialect = "bridge" | "openai" | "anthropic" | "ollama";
26
+ /** How much of the gateway response a completion returns. */
27
+ export type ModelResponseMode = "both" | "output" | "raw";
28
+ /** One catalog entry. Fields beyond `id` are server-defined and may grow. */
29
+ export interface Model {
30
+ id: string;
31
+ provider?: string;
32
+ status?: string;
33
+ [field: string]: unknown;
34
+ }
35
+ /** One named model route. */
36
+ export interface ModelRoute {
37
+ name: string;
38
+ [field: string]: unknown;
39
+ }
40
+ /** A keyset-paged catalog page. */
41
+ export interface ModelPage {
42
+ models: Model[];
43
+ nextCursor: string | null;
44
+ }
45
+ /** Where a `usageSummary`'s counts came from. */
46
+ export type ModelUsageSource = "reported" | "partial" | "estimated" | "unknown" | "legacy";
47
+ /** Provider-neutral token counts; each is `null` when the provider did not report it. */
48
+ export interface ModelUsageSummary {
49
+ inclusiveInputTokens: number | null;
50
+ freshInputTokens: number | null;
51
+ cacheReadTokens: number | null;
52
+ cacheWriteTokens: number | null;
53
+ outputTokens: number | null;
54
+ reasoningTokens: number | null;
55
+ totalTokens: number | null;
56
+ source: ModelUsageSource;
57
+ }
58
+ /** The flat completion envelope, returned without unwrapping. */
59
+ export interface ModelCompletion {
60
+ invocationId: string;
61
+ status: string;
62
+ contractVersion?: 1;
63
+ /** The requested route name; `null` on the direct-model path. */
64
+ route?: string | null;
65
+ key?: string;
66
+ usageSummary?: ModelUsageSummary;
67
+ meta?: {
68
+ usageRecorded?: boolean;
69
+ [field: string]: unknown;
70
+ };
71
+ output?: unknown;
72
+ raw?: unknown;
73
+ [field: string]: unknown;
74
+ }
75
+ /** The result of `modelUsage.query`. */
76
+ export interface ModelUsageReport {
77
+ totals: Record<string, unknown>;
78
+ /**
79
+ * `true` when the server stopped folding the ledger at its aggregate row cap,
80
+ * so `totals` and `groups` cover only part of the filtered window.
81
+ */
82
+ totalsTruncated: boolean;
83
+ groups?: Record<string, unknown>[];
84
+ items: Record<string, unknown>[];
85
+ nextCursor: string | null;
86
+ }
87
+ /** `models.list` options. */
88
+ export interface ModelListOptions extends CallOptions {
89
+ provider?: string;
90
+ status?: string;
91
+ limit?: number;
92
+ cursor?: string;
93
+ }
94
+ /** Project-scoped call options. */
95
+ export interface ModelRouteOptions extends CallOptions {
96
+ /** Project id to scope this call to. */
97
+ project?: string;
98
+ }
99
+ /** `modelRoutes.complete` options. */
100
+ export interface ModelCompleteOptions extends ModelRouteOptions {
101
+ dialect?: ModelDialect;
102
+ response?: ModelResponseMode;
103
+ }
104
+ /** `modelUsage.query` options. */
105
+ export interface ModelUsageOptions extends ModelRouteOptions {
106
+ groupBy?: "route" | "model" | "day";
107
+ from?: string;
108
+ to?: string;
109
+ route?: string;
110
+ model?: string;
111
+ limit?: number;
112
+ cursor?: string;
113
+ }
114
+ /** `client.models` — the catalog. */
115
+ export declare class ModelsApi {
116
+ #private;
117
+ constructor(host: ModelsHost);
118
+ /** List the catalog; returns the whole page `{models, nextCursor}`. */
119
+ list(options?: ModelListOptions): Promise<ModelPage>;
120
+ /** Read one catalog entry by its catalog id (`mdl_…`), not a provider-native model id. */
121
+ get(id: string, options?: CallOptions): Promise<Model>;
122
+ }
123
+ /** `client.modelRoutes` — named routes and the completion gateway. */
124
+ export declare class ModelRoutesApi {
125
+ #private;
126
+ constructor(host: ModelsHost);
127
+ /** List the project's routes. */
128
+ list(options?: ModelRouteOptions): Promise<ModelRoute[]>;
129
+ /** Read one route by name. */
130
+ get(name: string, options?: ModelRouteOptions): Promise<ModelRoute>;
131
+ /** POST `input` to `/model-routes/{name}/complete`; the flat envelope, not unwrapped. */
132
+ complete(name: string, input: Record<string, unknown>, options?: ModelCompleteOptions): Promise<ModelCompletion>;
133
+ }
134
+ /** `client.modelUsage` — recorded usage. */
135
+ export declare class ModelUsageApi {
136
+ #private;
137
+ constructor(host: ModelsHost);
138
+ /** Query usage; returns `{totals, groups?, items, nextCursor}` as sent. */
139
+ query(options?: ModelUsageOptions): Promise<ModelUsageReport>;
140
+ }
141
+ //# sourceMappingURL=models.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * `client.models.*`, `client.modelRoutes.*` and `client.modelUsage.*` — the model
3
+ * registry: the catalog, named routes, and the completion gateway.
4
+ *
5
+ * Six operations, one HTTP call each (`endpoints.json`). The rest of the model surface (catalog edits, rates,
6
+ * budgets, route writes) lives in the unstable `client.console.models` group.
7
+ *
8
+ * **`modelRoutes.complete` returns the flat gateway envelope as-is** —
9
+ * `invocationId`, `status` and `key` included — and never unwraps it to
10
+ * `output` (DC-5/G-W4). Routes and usage are project-scoped: `?project=` is
11
+ * resolved per call, then from the client default.
12
+ *
13
+ * @module
14
+ */
15
+ import { path } from "./http.js";
16
+ /** Strip a single-key envelope if present, else take the body as sent. */
17
+ function pick(res, key) {
18
+ const b = res.body;
19
+ if (typeof b === "object" && b !== null && !Array.isArray(b)) {
20
+ const v = b[key];
21
+ if (v !== undefined && v !== null)
22
+ return v;
23
+ }
24
+ return b;
25
+ }
26
+ /** `client.models` — the catalog. */
27
+ export class ModelsApi {
28
+ #host;
29
+ constructor(host) {
30
+ this.#host = host;
31
+ }
32
+ /** List the catalog; returns the whole page `{models, nextCursor}`. */
33
+ async list(options) {
34
+ const res = await this.#host.request({
35
+ method: "GET",
36
+ path: "/models",
37
+ query: {
38
+ provider: options?.provider,
39
+ status: options?.status,
40
+ limit: options?.limit,
41
+ cursor: options?.cursor,
42
+ },
43
+ signal: options?.signal,
44
+ });
45
+ return res.body;
46
+ }
47
+ /** Read one catalog entry by its catalog id (`mdl_…`), not a provider-native model id. */
48
+ async get(id, options) {
49
+ const res = await this.#host.request({
50
+ method: "GET",
51
+ path: path `/models/${id}`,
52
+ signal: options?.signal,
53
+ });
54
+ return pick(res, "model");
55
+ }
56
+ }
57
+ /** `client.modelRoutes` — named routes and the completion gateway. */
58
+ export class ModelRoutesApi {
59
+ #host;
60
+ constructor(host) {
61
+ this.#host = host;
62
+ }
63
+ #project(options) {
64
+ return options?.project ?? this.#host.config.project ?? undefined;
65
+ }
66
+ /** List the project's routes. */
67
+ async list(options) {
68
+ const res = await this.#host.request({
69
+ method: "GET",
70
+ path: "/model-routes",
71
+ query: { project: this.#project(options) },
72
+ signal: options?.signal,
73
+ });
74
+ return pick(res, "routes");
75
+ }
76
+ /** Read one route by name. */
77
+ async get(name, options) {
78
+ const res = await this.#host.request({
79
+ method: "GET",
80
+ path: path `/model-routes/${name}`,
81
+ query: { project: this.#project(options) },
82
+ signal: options?.signal,
83
+ });
84
+ return pick(res, "route");
85
+ }
86
+ /** POST `input` to `/model-routes/{name}/complete`; the flat envelope, not unwrapped. */
87
+ async complete(name, input, options) {
88
+ const res = await this.#host.request({
89
+ method: "POST",
90
+ path: path `/model-routes/${name}/complete`,
91
+ query: {
92
+ project: this.#project(options),
93
+ dialect: options?.dialect,
94
+ response: options?.response,
95
+ },
96
+ body: input,
97
+ signal: options?.signal,
98
+ });
99
+ return res.body;
100
+ }
101
+ }
102
+ /** `client.modelUsage` — recorded usage. */
103
+ export class ModelUsageApi {
104
+ #host;
105
+ constructor(host) {
106
+ this.#host = host;
107
+ }
108
+ /** Query usage; returns `{totals, groups?, items, nextCursor}` as sent. */
109
+ async query(options) {
110
+ const res = await this.#host.request({
111
+ method: "GET",
112
+ path: "/model-usage",
113
+ query: {
114
+ project: options?.project ?? this.#host.config.project ?? undefined,
115
+ groupBy: options?.groupBy,
116
+ from: options?.from,
117
+ to: options?.to,
118
+ route: options?.route,
119
+ model: options?.model,
120
+ limit: options?.limit,
121
+ cursor: options?.cursor,
122
+ },
123
+ signal: options?.signal,
124
+ });
125
+ return res.body;
126
+ }
127
+ }
128
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"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"}
@@ -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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAkB,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAkDrC,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,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;IAC1C,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;AA6DD,MAAM,OAAO,GAAG,oBAAoB,CAAC;AAErC;;;;;;;;;;;;;GAaG;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,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC1C,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,CAAC,CAAC;IAE3B,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"}
1
+ {"version":3,"file":"mod.js","sourceRoot":"","sources":["../../../src/server/mod.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `client.skills.*` — read and archive skills (contract 0.11.0).
3
+ *
4
+ * There is no `create`: a skill is uploaded with `assets.uploads` and
5
+ * `purpose: "skill"`.
6
+ *
7
+ * @module
8
+ */
9
+ import { type CallOptions, type HttpResponse, type RequestOptions } from "./http.ts";
10
+ import { type ListPagedOptions, type Skill, type SkillsApi as SkillsApiShape, type SkillVersion } from "./types.ts";
11
+ /** The slice of `W6WClient` this namespace needs: the transport and nothing else. */
12
+ export interface SkillsHost {
13
+ /** Perform one request. */
14
+ request<T>(options: RequestOptions): Promise<HttpResponse<T>>;
15
+ }
16
+ /** `client.skills` — see the module doc. */
17
+ export declare class SkillsApi implements SkillsApiShape {
18
+ #private;
19
+ constructor(host: SkillsHost);
20
+ /** List skills visible to the caller. */
21
+ list(opts?: ListPagedOptions): Promise<Skill[]>;
22
+ /** Fetch one skill. */
23
+ get(id: string, opts?: CallOptions): Promise<Skill>;
24
+ /** List a skill's immutable versions. */
25
+ versions(id: string, opts?: CallOptions): Promise<SkillVersion[]>;
26
+ /** Archive a skill; returns the archived row. */
27
+ archive(id: string, opts?: CallOptions): Promise<Skill>;
28
+ }
29
+ //# sourceMappingURL=skills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/skills.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAQ,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3F,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,KAAK,SAAS,IAAI,cAAc,EAChC,KAAK,YAAY,EAElB,MAAM,YAAY,CAAC;AAEpB,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,2BAA2B;IAC3B,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;CAC/D;AAED,4CAA4C;AAC5C,qBAAa,SAAU,YAAW,cAAc;;gBAGlC,IAAI,EAAE,UAAU;IAI5B,yCAAyC;IACnC,IAAI,CAAC,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAUrD,uBAAuB;IACjB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IASzD,yCAAyC;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IASvE,iDAAiD;IAC3C,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;CAQ9D"}