@xenosystem/agents-client 0.1.36 โ 0.1.38
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/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -13
- package/dist/index.js.map +1 -1
- package/dist/modelCatalog.d.ts +99 -0
- package/dist/modelCatalog.d.ts.map +1 -1
- package/dist/modelCatalog.js +246 -30
- package/dist/modelCatalog.js.map +1 -1
- package/dist/node.d.ts +45 -2
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +129 -10
- package/dist/node.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -187,9 +187,11 @@ export declare class AgentsApiError extends Error {
|
|
|
187
187
|
readonly status: number;
|
|
188
188
|
/** True when caused by a fetch/abort/timeout rather than an HTTP response. */
|
|
189
189
|
readonly isNetwork: boolean;
|
|
190
|
+
readonly isTimeout: boolean;
|
|
190
191
|
readonly cause?: unknown;
|
|
191
192
|
constructor(code: AgentsApiErrorCode, message: string, status?: number, opts?: {
|
|
192
193
|
isNetwork?: boolean;
|
|
194
|
+
isTimeout?: boolean;
|
|
193
195
|
cause?: unknown;
|
|
194
196
|
});
|
|
195
197
|
get isBudgetExceeded(): boolean;
|
|
@@ -199,11 +201,41 @@ export declare class AgentsApiError extends Error {
|
|
|
199
201
|
}
|
|
200
202
|
export declare function isAgentsApiError(err: unknown): err is AgentsApiError;
|
|
201
203
|
export type TokenProvider = string | (() => string | null | undefined | Promise<string | null | undefined>);
|
|
204
|
+
/**
|
|
205
|
+
* Mints the authorization for ONE named request.
|
|
206
|
+
*
|
|
207
|
+
* ๐ด It takes the method and URL because a DPoP proof is BOUND to them โ which is exactly why a
|
|
208
|
+
* `token: string` callback cannot express one. A bearer is reusable; a proof authorizes the single
|
|
209
|
+
* call it was minted for, so there is no "give me the token" question to ask.
|
|
210
|
+
*
|
|
211
|
+
* Returning `null` means nobody is signed in. That is a fact to report, never a reason to fall
|
|
212
|
+
* back to a stale credential.
|
|
213
|
+
*/
|
|
214
|
+
export type RequestAuthorizer = (target: {
|
|
215
|
+
method: string;
|
|
216
|
+
url: string;
|
|
217
|
+
}) => Promise<{
|
|
218
|
+
authorization: string;
|
|
219
|
+
dpop?: string;
|
|
220
|
+
} | null>;
|
|
202
221
|
export interface AgentsClientConfig {
|
|
203
222
|
/** Base of the agents API. Default `https://api.xenostudio.ai/v1/agents`. */
|
|
204
223
|
baseUrl?: string;
|
|
205
224
|
/** Platform bearer โ an OIDC JWT or (once supported) a platform API key. */
|
|
206
225
|
token: TokenProvider;
|
|
226
|
+
/**
|
|
227
|
+
* The signed-in ACCOUNT, preferred over `token` whenever it is supplied.
|
|
228
|
+
*
|
|
229
|
+
* ๐ด Why this exists: hosted runs authenticated only from a long-lived JWT in
|
|
230
|
+
* `~/.xeno/credentials.json` that nothing in this app refreshes. Measured 2026-09-14, that token
|
|
231
|
+
* had been expired for two days and every hosted turn failed `unauthorized (HTTP 401)` โ while
|
|
232
|
+
* the person WAS signed in, because the two credential paths never met. Signing in again could
|
|
233
|
+
* not help, which is the worst shape a credential bug can take.
|
|
234
|
+
*
|
|
235
|
+
* An authorizer that returns `null` means no account: the client then falls back to `token`, so
|
|
236
|
+
* a BYO-key or Hub-brokered install keeps working exactly as before.
|
|
237
|
+
*/
|
|
238
|
+
authorize?: RequestAuthorizer;
|
|
207
239
|
/** Optional workspace selector โ `x-xeno-workspace` header (SPEC ยง7). */
|
|
208
240
|
workspace?: string;
|
|
209
241
|
/** Optional fetch impl (custom / testing). Defaults to global fetch. */
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -70,6 +70,7 @@ export class AgentsApiError extends Error {
|
|
|
70
70
|
status;
|
|
71
71
|
/** True when caused by a fetch/abort/timeout rather than an HTTP response. */
|
|
72
72
|
isNetwork;
|
|
73
|
+
isTimeout;
|
|
73
74
|
cause;
|
|
74
75
|
constructor(code, message, status = 0, opts) {
|
|
75
76
|
super(message);
|
|
@@ -77,6 +78,7 @@ export class AgentsApiError extends Error {
|
|
|
77
78
|
this.code = code;
|
|
78
79
|
this.status = status;
|
|
79
80
|
this.isNetwork = opts?.isNetwork ?? false;
|
|
81
|
+
this.isTimeout = opts?.isTimeout ?? false;
|
|
80
82
|
this.cause = opts?.cause;
|
|
81
83
|
}
|
|
82
84
|
get isBudgetExceeded() {
|
|
@@ -115,11 +117,29 @@ export function createAgentsClient(config) {
|
|
|
115
117
|
}
|
|
116
118
|
return u.toString();
|
|
117
119
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
+
/**
|
|
121
|
+
* @param method HTTP method of the request these headers are for.
|
|
122
|
+
* @param target Absolute URL of that request.
|
|
123
|
+
*
|
|
124
|
+
* ๐ด Both are REQUIRED, and that is the whole point: a DPoP proof is bound to the exact method
|
|
125
|
+
* and URL, so headers cannot be computed without knowing the call they authorize. A bearer
|
|
126
|
+
* ignores them, which is why this signature is safe for both paths.
|
|
127
|
+
*/
|
|
128
|
+
async function authHeaders(method, target, json, extra) {
|
|
120
129
|
const h = { accept: "application/json" };
|
|
121
|
-
|
|
122
|
-
|
|
130
|
+
// The signed-in account first; the legacy token only when there is no account. An authorizer
|
|
131
|
+
// returning null means nobody is signed in โ fall back, rather than fail a BYO-key install.
|
|
132
|
+
const minted = config.authorize ? await config.authorize({ method, url: target }) : null;
|
|
133
|
+
if (minted) {
|
|
134
|
+
h.authorization = minted.authorization;
|
|
135
|
+
if (minted.dpop)
|
|
136
|
+
h.dpop = minted.dpop;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
const t = typeof config.token === "function" ? await config.token() : config.token;
|
|
140
|
+
if (t)
|
|
141
|
+
h.authorization = `Bearer ${t}`;
|
|
142
|
+
}
|
|
123
143
|
if (json)
|
|
124
144
|
h["content-type"] = "application/json";
|
|
125
145
|
if (config.workspace)
|
|
@@ -138,7 +158,7 @@ export function createAgentsClient(config) {
|
|
|
138
158
|
}
|
|
139
159
|
let timer;
|
|
140
160
|
if (timeoutMs > 0) {
|
|
141
|
-
timer = setTimeout(() => ctl.abort(new AgentsApiError("network_error", `Request timed out after ${timeoutMs}ms
|
|
161
|
+
timer = setTimeout(() => ctl.abort(new AgentsApiError("network_error", `Request timed out after ${timeoutMs}ms`, 0, { isNetwork: true, isTimeout: true })), timeoutMs);
|
|
142
162
|
if (typeof timer.unref === "function")
|
|
143
163
|
timer.unref();
|
|
144
164
|
}
|
|
@@ -189,9 +209,12 @@ export function createAgentsClient(config) {
|
|
|
189
209
|
async function requestJson(method, path, opts) {
|
|
190
210
|
const { signal, cancel } = withTimeout(opts?.signal, opts?.timeoutMs ?? defaultTimeout);
|
|
191
211
|
try {
|
|
192
|
-
|
|
212
|
+
// Computed ONCE: a proof is bound to this exact URL, so signing one string and fetching
|
|
213
|
+
// another is an authorization bug that presents as an unexplained 401.
|
|
214
|
+
const target = url(path, opts?.query);
|
|
215
|
+
const res = await f(target, {
|
|
193
216
|
method,
|
|
194
|
-
headers: await authHeaders(opts?.body !== undefined, opts?.headers),
|
|
217
|
+
headers: await authHeaders(method, target, opts?.body !== undefined, opts?.headers),
|
|
195
218
|
...(opts?.body !== undefined ? { body: JSON.stringify(opts.body) } : {}),
|
|
196
219
|
signal,
|
|
197
220
|
});
|
|
@@ -210,16 +233,18 @@ export function createAgentsClient(config) {
|
|
|
210
233
|
/** One connection's worth of the attach stream. Yields parsed RunEvents. */
|
|
211
234
|
async function* streamOnce(runId, opts) {
|
|
212
235
|
const sse = opts.transport === "sse";
|
|
213
|
-
|
|
236
|
+
// Same rule as requestJson: one URL, used for both the proof and the fetch.
|
|
237
|
+
const target = url(`runs/${encodeURIComponent(runId)}/attach`, {
|
|
238
|
+
follow: "true",
|
|
239
|
+
tail: opts.tail,
|
|
240
|
+
since: !sse ? opts.since : undefined,
|
|
241
|
+
});
|
|
242
|
+
const headers = await authHeaders("GET", target, false, {
|
|
214
243
|
accept: sse ? "text/event-stream" : "application/x-ndjson",
|
|
215
244
|
// SSE resume: header wins over ?since server-side.
|
|
216
245
|
...(sse && opts.since !== undefined ? { "last-event-id": String(opts.since) } : {}),
|
|
217
246
|
});
|
|
218
|
-
const res = await f(
|
|
219
|
-
follow: "true",
|
|
220
|
-
tail: opts.tail,
|
|
221
|
-
since: !sse ? opts.since : undefined,
|
|
222
|
-
}), { method: "GET", headers, ...(opts.signal ? { signal: opts.signal } : {}) });
|
|
247
|
+
const res = await f(target, { method: "GET", headers, ...(opts.signal ? { signal: opts.signal } : {}) });
|
|
223
248
|
if (!res.ok)
|
|
224
249
|
throw await toError(res);
|
|
225
250
|
if (!res.body)
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/modelCatalog.d.ts
CHANGED
|
@@ -17,13 +17,112 @@ export interface CloudModelRecord {
|
|
|
17
17
|
displayName?: string;
|
|
18
18
|
isDefault?: boolean;
|
|
19
19
|
reasoningOptions?: CloudModelReasoningOption[];
|
|
20
|
+
/** The model's context window, when the catalog states it; the conversation's context meter needs it. */
|
|
21
|
+
contextWindowTokens?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A stable, typed reason the catalog load did not produce models โ never a raw upstream message,
|
|
25
|
+
* so a caller can react (retry, prompt sign-in, surface a specific UI state) without parsing
|
|
26
|
+
* English text out of {@link XenoCloudModelCatalog.error}.
|
|
27
|
+
*
|
|
28
|
+
* - `auth-required` โ no usable credential, or the server said the one we sent is invalid (401).
|
|
29
|
+
* Retrying without a new credential will not help.
|
|
30
|
+
* - `forbidden` โ the server recognised the credential and refused it anyway (403). Distinct from
|
|
31
|
+
* `auth-required`: the identity was accepted, the request was not.
|
|
32
|
+
* - `rate-limited` โ HTTP 429. See {@link CatalogFailure.retryAfterMs}.
|
|
33
|
+
* - `server` โ HTTP 5xx from the channel that answered. Transient, worth retrying.
|
|
34
|
+
* - `timeout` โ the deadline elapsed, whether during the authorizer, the connection, or a
|
|
35
|
+
* stalled body.
|
|
36
|
+
* - `network` โ the transport itself threw (DNS, TLS, connection reset, an injected transport
|
|
37
|
+
* error). Also the default for an error this client did not itself construct.
|
|
38
|
+
* - `invalid-response` โ the response could not be trusted or consumed: a redirect, oversized
|
|
39
|
+
* headers/body, non-UTF-8 or non-JSON content, a missing body, or an HTTP status this client
|
|
40
|
+
* does not otherwise classify.
|
|
41
|
+
* - `configuration` โ the caller passed options this function cannot act on (e.g. an
|
|
42
|
+
* out-of-range {@link LoadXenoCloudModelCatalogOptions.maxResponseBytes}). Not the server's
|
|
43
|
+
* fault and not fixed by retrying unmodified.
|
|
44
|
+
* - `cancelled` โ the caller's `AbortSignal` fired, or the deadline had already elapsed before a
|
|
45
|
+
* request could even start. Never followed by a fallback attempt.
|
|
46
|
+
*/
|
|
47
|
+
export type CatalogFailureCode = 'timeout' | 'network' | 'rate-limited' | 'server' | 'auth-required' | 'forbidden' | 'invalid-response' | 'configuration' | 'cancelled';
|
|
48
|
+
export interface CatalogFailure {
|
|
49
|
+
code: CatalogFailureCode;
|
|
50
|
+
/** Whether trying again, unmodified, might succeed. */
|
|
51
|
+
retryable: boolean;
|
|
52
|
+
/** Present only for `rate-limited`, derived from a bounded `Retry-After`. */
|
|
53
|
+
retryAfterMs?: number;
|
|
54
|
+
}
|
|
55
|
+
/** One channel's failed attempt, kept even when a later channel ultimately succeeded. */
|
|
56
|
+
export interface CatalogAttempt {
|
|
57
|
+
source: CloudModelSource;
|
|
58
|
+
failure: CatalogFailure;
|
|
20
59
|
}
|
|
21
60
|
export interface XenoCloudModelCatalog {
|
|
22
61
|
models: CloudModelRecord[];
|
|
23
62
|
error: string | null;
|
|
63
|
+
/**
|
|
64
|
+
* Every channel that was tried and failed, in attempt order โ INCLUDING when a later channel
|
|
65
|
+
* went on to succeed. Always present (an empty array when nothing failed).
|
|
66
|
+
*
|
|
67
|
+
* ๐ด A genuine fallback success used to drop the earlier failure on the floor: `error` carried
|
|
68
|
+
* an informational sentence, but the TYPED reason (was it a 500? a timeout? rate-limited?) and
|
|
69
|
+
* which channel it came from were gone the moment the platform route worked. A caller deciding
|
|
70
|
+
* whether the direct route is worth retrying next time needs that even when today's overall
|
|
71
|
+
* call succeeded.
|
|
72
|
+
*/
|
|
73
|
+
attempts: CatalogAttempt[];
|
|
74
|
+
/** Present only when no source produced a usable catalog. Equivalent to the last `attempts` entry. */
|
|
75
|
+
failure?: CatalogFailure;
|
|
76
|
+
/** Which channel actually produced `models`, when any request succeeded. */
|
|
77
|
+
source?: CloudModelSource;
|
|
78
|
+
/**
|
|
79
|
+
* Whether the server EXPLICITLY confirmed or rejected an identity โ never inferred from
|
|
80
|
+
* `models.length`, and never asserted `true` merely because no explicit rejection happened.
|
|
81
|
+
*
|
|
82
|
+
* - `true` โ a request actually completed successfully using a credential. A genuinely empty
|
|
83
|
+
* catalog (a valid, well-formed response with zero chat models) still sets this: the
|
|
84
|
+
* emptiness is a fact about the account's entitlements, not about whether sign-in worked.
|
|
85
|
+
* - `false` โ the server explicitly said the credential is invalid (401), the authorizer
|
|
86
|
+
* explicitly reported nobody is signed in (returned `null`), or no credential was supplied
|
|
87
|
+
* at all. All three are CONFIRMED negative facts, not inferred ones.
|
|
88
|
+
* - **absent (`undefined`)** โ unverified. Every other failure (timeout, network error, 5xx,
|
|
89
|
+
* 429, 403, a malformed response, cancellation) tells us nothing about the credential's
|
|
90
|
+
* validity one way or the other, and must not be read as either sign-in state. A 403 in
|
|
91
|
+
* particular is tempting to read as "identity confirmed, just forbidden" โ that is still an
|
|
92
|
+
* INFERENCE this field refuses to make; `failure.code === 'forbidden'` carries that distinction
|
|
93
|
+
* for a caller that wants to draw it explicitly.
|
|
94
|
+
*/
|
|
95
|
+
authenticated?: boolean;
|
|
96
|
+
}
|
|
97
|
+
/** Finished headers for one request: an `Authorization` value and, for DPoP, its bound proof. */
|
|
98
|
+
export interface CatalogAuthorization {
|
|
99
|
+
authorization: string;
|
|
100
|
+
dpop?: string;
|
|
24
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Mint authorization for one outbound request.
|
|
104
|
+
*
|
|
105
|
+
* ๐ด Per-request by necessity, not by taste. A DPoP proof is bound to the exact method and URL,
|
|
106
|
+
* so there is no "the token" to fetch once and reuse โ asking for a bearer up front is what the
|
|
107
|
+
* legacy `webToken` path did, and it is why the cloud lane kept using a credential that had
|
|
108
|
+
* expired while the person was signed in.
|
|
109
|
+
*/
|
|
110
|
+
export type XenoCloudAuthorizer = (target: {
|
|
111
|
+
method: string;
|
|
112
|
+
url: string;
|
|
113
|
+
}) => Promise<CatalogAuthorization | null>;
|
|
25
114
|
export interface LoadXenoCloudModelCatalogOptions {
|
|
26
115
|
apiKey?: string;
|
|
116
|
+
/**
|
|
117
|
+
* The signed-in account's request authorizer.
|
|
118
|
+
*
|
|
119
|
+
* Preferred over {@link LoadXenoCloudModelCatalogOptions.webToken}: that field reads a
|
|
120
|
+
* long-lived JWT out of `~/.xeno/credentials.json`, which is Hub's legacy file and knows nothing
|
|
121
|
+
* about an OIDC sign-in in this app. When only that is present, the lane reports "sign in" to a
|
|
122
|
+
* person who already has.
|
|
123
|
+
*/
|
|
124
|
+
authorize?: XenoCloudAuthorizer;
|
|
125
|
+
/** @deprecated Legacy Hub credential file. Superseded by {@link LoadXenoCloudModelCatalogOptions.authorize}. */
|
|
27
126
|
webToken?: string;
|
|
28
127
|
directApiBase?: string;
|
|
29
128
|
platformModelsUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelCatalog.d.ts","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,UAAU,GAAG,aAAa,CAAA;AAE7E,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,eAAe,CAAA;AAEtD,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,sBAAsB,CAAA;IACpC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,MAAM,EAAE,gBAAgB,CAAA;IACxB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gBAAgB,CAAC,EAAE,yBAAyB,EAAE,CAAA;
|
|
1
|
+
{"version":3,"file":"modelCatalog.d.ts","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"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"}
|
package/dist/modelCatalog.js
CHANGED
|
@@ -9,45 +9,108 @@ const DEFAULT_TIMEOUT_MS = 10_000;
|
|
|
9
9
|
export async function loadXenoCloudModelCatalog(options = {}) {
|
|
10
10
|
const apiKey = cleanSecret(options.apiKey);
|
|
11
11
|
const webToken = cleanSecret(options.webToken);
|
|
12
|
-
|
|
12
|
+
const authorize = options.authorize;
|
|
13
|
+
if (!apiKey && !webToken && !authorize) {
|
|
14
|
+
// A CONFIRMED negative: no credential of any kind was even supplied. This is not an
|
|
15
|
+
// inference from a failed request โ there was no request to fail.
|
|
13
16
|
return {
|
|
14
17
|
models: [],
|
|
15
18
|
error: 'Sign in to load the live XENO model catalog.',
|
|
19
|
+
authenticated: false,
|
|
20
|
+
attempts: [],
|
|
21
|
+
failure: { code: 'auth-required', retryable: false },
|
|
16
22
|
};
|
|
17
23
|
}
|
|
18
24
|
const fetchImpl = options.fetchImpl || fetch;
|
|
19
25
|
const failures = [];
|
|
26
|
+
const attempts = [];
|
|
20
27
|
const deadline = Date.now() + positiveTimeout(options.timeoutMs);
|
|
21
28
|
if (apiKey) {
|
|
22
29
|
try {
|
|
23
|
-
const payload = await readCatalogPayload(fetchImpl, `${normalizeBase(options.directApiBase || DEFAULT_DIRECT_API_BASE)}/v1/models`, apiKey, 'Direct', options.signal, deadline, options.maxResponseBytes);
|
|
30
|
+
const payload = await readCatalogPayload(fetchImpl, `${normalizeBase(options.directApiBase || DEFAULT_DIRECT_API_BASE)}/v1/models`, { authorization: `Bearer ${apiKey}` }, 'Direct', options.signal, deadline, options.maxResponseBytes);
|
|
24
31
|
const models = decorateCloudModels(readModelRecords(payload), 'api', 'available', null);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
/**
|
|
33
|
+
* ๐ด A well-formed response is success, whether or not it lists any chat models.
|
|
34
|
+
*
|
|
35
|
+
* This used to gate success on `models.length > 0`, pushing "returned no chat models" as a
|
|
36
|
+
* failure and falling through to the platform credential โ turning a genuinely empty (but
|
|
37
|
+
* valid) catalog into a synthesized error, and into a reason to try a credential the caller
|
|
38
|
+
* never asked to fall back to. An account with zero entitled models is not a broken lookup.
|
|
39
|
+
*/
|
|
40
|
+
return { models, error: null, source: 'api', authenticated: true, attempts };
|
|
28
41
|
}
|
|
29
42
|
catch (error) {
|
|
43
|
+
const failure = failureOf(error);
|
|
44
|
+
attempts.push({ source: 'api', failure });
|
|
30
45
|
failures.push(safeError(error, 'The direct model catalog is unavailable.'));
|
|
31
46
|
}
|
|
32
47
|
}
|
|
33
|
-
if (
|
|
48
|
+
if ((authorize || webToken) && Date.now() < deadline) {
|
|
34
49
|
try {
|
|
35
|
-
|
|
36
|
-
|
|
50
|
+
/**
|
|
51
|
+
* ๐ด Checked FIRST, inside the same `try` the rest of this attempt uses โ not as a
|
|
52
|
+
* separate outer condition. An outer `!options.signal?.aborted` guard would silently skip
|
|
53
|
+
* this whole branch on an already-cancelled caller, which means no `CatalogFailure` is ever
|
|
54
|
+
* recorded when the account-only route (no `apiKey`, so no earlier direct attempt) is the
|
|
55
|
+
* only one ever considered. Throwing it here instead routes through the SAME catch as every
|
|
56
|
+
* other platform failure, so a pre-cancelled call still reports `{ code: 'cancelled' }`
|
|
57
|
+
* rather than the generic "unavailable" fallback โ while still never touching the
|
|
58
|
+
* authorizer or the transport.
|
|
59
|
+
*/
|
|
60
|
+
if (options.signal?.aborted)
|
|
61
|
+
throw new CatalogRequestError('Model catalog request cancelled.', { code: 'cancelled', retryable: false });
|
|
62
|
+
const platformUrl = options.platformModelsUrl || DEFAULT_PLATFORM_MODELS_URL;
|
|
63
|
+
/**
|
|
64
|
+
* The signed-in account first, the legacy file only as a fallback.
|
|
65
|
+
*
|
|
66
|
+
* ๐ด This order is the fix. `webToken` is a long-lived JWT in `~/.xeno/credentials.json`
|
|
67
|
+
* written by Hub, and nothing in this app refreshes it โ so once it expired, the lane told a
|
|
68
|
+
* signed-in person to sign in, and signing in could not help because the two credential
|
|
69
|
+
* paths never met. An authorizer that yields null means nobody is signed in, which is a fact
|
|
70
|
+
* to report, not a reason to reach for a stale token.
|
|
71
|
+
*/
|
|
72
|
+
const authorization = await mintPlatformAuthorization(authorize, webToken, platformUrl, deadline, options.signal);
|
|
73
|
+
if (!authorization)
|
|
74
|
+
throw new CatalogRequestError('Sign in to XENO to use cloud models.', { code: 'auth-required', retryable: false });
|
|
75
|
+
const payload = await readCatalogPayload(fetchImpl, platformUrl, authorization, 'Platform', options.signal, deadline, options.maxResponseBytes);
|
|
76
|
+
/**
|
|
77
|
+
* ๐ด An account-only install (no `apiKey`) never had a "direct" path to fall back FROM โ
|
|
78
|
+
* this IS its primary route, so `available` is the honest availability, not `degraded`.
|
|
79
|
+
* `degraded` is reserved for a GENUINE fallback: an `apiKey` was supplied and its direct
|
|
80
|
+
* request failed, so these models are a substitute for the one the caller actually wanted.
|
|
81
|
+
*/
|
|
82
|
+
const isFallback = Boolean(apiKey);
|
|
83
|
+
const models = decorateCloudModels(readModelRecords(payload), 'platform-auth', isFallback ? 'degraded' : 'available', isFallback
|
|
37
84
|
? 'The direct catalog was unavailable; these models came from the authenticated XENO platform catalog.'
|
|
38
85
|
: 'These models came from the authenticated XENO platform catalog.');
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
86
|
+
// Same reasoning as the direct path: a valid empty answer is a successful load, not a
|
|
87
|
+
// reason to report the earlier direct failure as this call's overall error. `attempts`
|
|
88
|
+
// still carries that earlier failure โ success never erases it, see `CatalogAttempt`.
|
|
89
|
+
return { models, error: failures[0] || null, source: 'platform-auth', authenticated: true, attempts };
|
|
42
90
|
}
|
|
43
91
|
catch (error) {
|
|
92
|
+
const failure = failureOf(error);
|
|
93
|
+
attempts.push({ source: 'platform-auth', failure });
|
|
44
94
|
failures.push(safeError(error, 'The authenticated platform model catalog is unavailable.'));
|
|
45
95
|
}
|
|
46
96
|
}
|
|
97
|
+
const lastFailure = attempts.length > 0 ? attempts[attempts.length - 1].failure : undefined;
|
|
47
98
|
return {
|
|
48
99
|
models: [],
|
|
49
100
|
error: failures.join(' ')
|
|
50
101
|
|| 'The live XENO model catalog is unavailable.',
|
|
102
|
+
attempts,
|
|
103
|
+
...(lastFailure ? { failure: lastFailure } : {}),
|
|
104
|
+
/**
|
|
105
|
+
* ๐ด `false` only for a CONFIRMED rejection (`auth-required` โ covers an explicit 401, the
|
|
106
|
+
* authorizer explicitly returning `null`, and a request that never even had a credential to
|
|
107
|
+
* send). Every other failure code is left `undefined` โ unverified โ rather than asserted
|
|
108
|
+
* `false`. A timeout, a 5xx, a 429, a malformed response, or a cancellation says NOTHING about
|
|
109
|
+
* whether the credential itself is good, and reporting `false` for those would be exactly the
|
|
110
|
+
* kind of invented positive-from-failure this field exists to refuse, just in the other
|
|
111
|
+
* direction.
|
|
112
|
+
*/
|
|
113
|
+
...(lastFailure?.code === 'auth-required' ? { authenticated: false } : {}),
|
|
51
114
|
};
|
|
52
115
|
}
|
|
53
116
|
function readModelRecords(payload) {
|
|
@@ -68,6 +131,30 @@ function readModelRecords(payload) {
|
|
|
68
131
|
}
|
|
69
132
|
return records;
|
|
70
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Does this parsed body look like EITHER catalog document shape this client understands
|
|
136
|
+
* (`{ data: [...] }` or `{ companies: {...} }`), even if the list/map inside is empty?
|
|
137
|
+
*
|
|
138
|
+
* ๐ด This exists because `readModelRecords` above is deliberately LENIENT โ it returns `[]` for
|
|
139
|
+
* anything it doesn't recognise, which is correct for EXTRACTING records but was, before this
|
|
140
|
+
* check, the entire validation the response ever received. That let a genuinely malformed body
|
|
141
|
+
* (valid JSON, wrong shape entirely โ a bare string, `{}`, `{"unexpected":"field"}`, a top-level
|
|
142
|
+
* array) sail through as a "valid empty catalog" and come back `error: null, authenticated: true`
|
|
143
|
+
* โ a validated success manufactured from a document that was never a catalog at all. A body that
|
|
144
|
+
* does not even claim to carry `data` or `companies` gets refused here, before the "empty is
|
|
145
|
+
* success" reasoning in the caller ever sees it; a body that DOES have a `data: []` or an empty
|
|
146
|
+
* `companies: {}` still passes, because THAT is the shape of a real, valid, empty catalog.
|
|
147
|
+
*/
|
|
148
|
+
function isRecognizedCatalogShape(payload) {
|
|
149
|
+
if (!isRecord(payload))
|
|
150
|
+
return false;
|
|
151
|
+
const model = (value) => isRecord(value) && typeof value.id === 'string' && !!value.id.trim();
|
|
152
|
+
if (Array.isArray(payload.data))
|
|
153
|
+
return payload.data.every(model);
|
|
154
|
+
if (isRecord(payload.companies))
|
|
155
|
+
return Object.values(payload.companies).every(value => Array.isArray(value) && value.every(model));
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
71
158
|
function decorateCloudModels(models, source, availability, availabilityReason) {
|
|
72
159
|
return normalizeCloudChatModels(models).map((model) => ({
|
|
73
160
|
...model,
|
|
@@ -91,17 +178,27 @@ function normalizeCloudChatModels(models) {
|
|
|
91
178
|
if (type && !['model', 'text', 'chat', 'llm'].includes(type))
|
|
92
179
|
continue;
|
|
93
180
|
seen.add(id);
|
|
181
|
+
const contextWindow = contextWindowOf(model);
|
|
94
182
|
normalized.push({
|
|
95
183
|
id,
|
|
96
184
|
object: typeof model.object === 'string' ? model.object : 'model',
|
|
97
185
|
...(typeof model.displayName === 'string' && model.displayName.trim() ? { displayName: model.displayName.trim() } : {}),
|
|
98
186
|
...(typeof model.isDefault === 'boolean' ? { isDefault: model.isDefault } : {}),
|
|
187
|
+
...(contextWindow !== undefined ? { contextWindowTokens: contextWindow } : {}),
|
|
99
188
|
...(Array.isArray(model.reasoningOptions) ? { reasoningOptions: normalizeReasoningOptions(model.reasoningOptions)
|
|
100
189
|
.filter((option) => !option.runtimeModelId || !unavailableIds.has(option.runtimeModelId)) } : {}),
|
|
101
190
|
});
|
|
102
191
|
}
|
|
103
192
|
return normalized;
|
|
104
193
|
}
|
|
194
|
+
/** A positive whole token count from whichever field the catalog uses; anything else is absent, never guessed. */
|
|
195
|
+
function contextWindowOf(model) {
|
|
196
|
+
for (const value of [model.contextWindowTokens, model.context_window, model.contextLength, model.context_length]) {
|
|
197
|
+
if (typeof value === 'number' && Number.isInteger(value) && value > 0 && value <= 100_000_000)
|
|
198
|
+
return value;
|
|
199
|
+
}
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
105
202
|
function normalizeReasoningOptions(values) {
|
|
106
203
|
const seen = new Set();
|
|
107
204
|
return values.flatMap((value) => {
|
|
@@ -127,34 +224,107 @@ function isCloudChatModelId(id) {
|
|
|
127
224
|
return !/(^|[/_-])(imagen|nano[_-]?banana|veo|lyria|tts|whisper|audio|image|video|embed|embedding|moderation|rerank|search)([/_.-]|$)/i.test(id);
|
|
128
225
|
}
|
|
129
226
|
class CatalogRequestError extends Error {
|
|
227
|
+
failure;
|
|
228
|
+
constructor(message, failure) {
|
|
229
|
+
super(message);
|
|
230
|
+
this.failure = failure;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
/** Anything this module did not itself throw is treated as a transient transport failure. */
|
|
234
|
+
function failureOf(error) {
|
|
235
|
+
if (error instanceof CatalogRequestError)
|
|
236
|
+
return error.failure;
|
|
237
|
+
return { code: 'network', retryable: true };
|
|
238
|
+
}
|
|
239
|
+
// Bounds how long a caller can be told to wait: a broken or hostile server sending an absurd
|
|
240
|
+
// `Retry-After` must not be able to park a caller indefinitely. Mirrors the spirit of the
|
|
241
|
+
// existing byte/time bounds in this file.
|
|
242
|
+
const MAX_RETRY_AFTER_MS = 10 * 60 * 1000;
|
|
243
|
+
/** Accepts both `Retry-After` forms (delta-seconds and an HTTP-date), always bounded and >= 0. */
|
|
244
|
+
function parseRetryAfterMs(value) {
|
|
245
|
+
if (!value)
|
|
246
|
+
return undefined;
|
|
247
|
+
const trimmed = value.trim();
|
|
248
|
+
if (/^\d+$/.test(trimmed)) {
|
|
249
|
+
const seconds = Number(trimmed);
|
|
250
|
+
if (!Number.isFinite(seconds) || seconds < 0)
|
|
251
|
+
return undefined;
|
|
252
|
+
return Math.min(seconds * 1000, MAX_RETRY_AFTER_MS);
|
|
253
|
+
}
|
|
254
|
+
const asDate = Date.parse(trimmed);
|
|
255
|
+
if (Number.isNaN(asDate))
|
|
256
|
+
return undefined;
|
|
257
|
+
return Math.max(0, Math.min(asDate - Date.now(), MAX_RETRY_AFTER_MS));
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Mints the platform authorization under the SAME deadline and cancellation the transport obeys.
|
|
261
|
+
*
|
|
262
|
+
* ๐ด Without this, a stalled authorizer (one that never resolves) hung the whole call past its
|
|
263
|
+
* configured timeout โ the deadline only ever covered `readCatalogPayload`'s own fetch, never the
|
|
264
|
+
* `await authorize(...)` that runs before it. A caller supplying `timeoutMs` was entitled to
|
|
265
|
+
* assume it bounded the ENTIRE call, authorizer included.
|
|
266
|
+
*/
|
|
267
|
+
async function mintPlatformAuthorization(authorize, webToken, platformUrl, deadline, callerSignal) {
|
|
268
|
+
if (!authorize)
|
|
269
|
+
return { authorization: `Bearer ${webToken}` };
|
|
270
|
+
if (callerSignal?.aborted)
|
|
271
|
+
throw new CatalogRequestError('Model catalog request cancelled.', { code: 'cancelled', retryable: false });
|
|
272
|
+
const remaining = deadline - Date.now();
|
|
273
|
+
if (remaining <= 0)
|
|
274
|
+
throw new CatalogRequestError('Model catalog request timed out.', { code: 'timeout', retryable: true });
|
|
275
|
+
let rejectStalled;
|
|
276
|
+
const stalled = new Promise((_, reject) => { rejectStalled = reject; });
|
|
277
|
+
void stalled.catch(() => undefined);
|
|
278
|
+
const timer = setTimeout(() => rejectStalled(new CatalogRequestError('Model catalog request timed out.', { code: 'timeout', retryable: true })), remaining);
|
|
279
|
+
const onAbort = () => rejectStalled(new CatalogRequestError('Model catalog request cancelled.', { code: 'cancelled', retryable: false }));
|
|
280
|
+
callerSignal?.addEventListener('abort', onAbort, { once: true });
|
|
281
|
+
try {
|
|
282
|
+
const minting = authorize({ method: 'GET', url: platformUrl });
|
|
283
|
+
// Promise.race observes late rejection, and finally also covers a synchronous authorizer throw.
|
|
284
|
+
return await Promise.race([minting, stalled]);
|
|
285
|
+
}
|
|
286
|
+
finally {
|
|
287
|
+
clearTimeout(timer);
|
|
288
|
+
callerSignal?.removeEventListener('abort', onAbort);
|
|
289
|
+
}
|
|
130
290
|
}
|
|
131
291
|
/** Portable fetch path: the deadline covers headers AND streamed body, including fallback. */
|
|
132
|
-
|
|
292
|
+
/**
|
|
293
|
+
* @param authorization the finished request headers, not a bare token.
|
|
294
|
+
*
|
|
295
|
+
* ๐ด It used to take a token string and write `Bearer ${credential}`. A DPoP-bound access token
|
|
296
|
+
* needs BOTH a different scheme and a second `DPoP` header carrying a proof over this exact
|
|
297
|
+
* method and URL โ neither of which a caller can express by handing over a string.
|
|
298
|
+
*/
|
|
299
|
+
async function readCatalogPayload(fetchImpl, url, authorization, label, callerSignal, deadline, maximumBytes) {
|
|
133
300
|
const maxBytes = maximumBytes ?? 2 * 1024 * 1024;
|
|
134
301
|
if (!Number.isSafeInteger(maxBytes) || maxBytes < 1 || maxBytes > 16 * 1024 * 1024)
|
|
135
|
-
throw new CatalogRequestError('Invalid model catalog response limit.');
|
|
302
|
+
throw new CatalogRequestError('Invalid model catalog response limit.', { code: 'configuration', retryable: false });
|
|
136
303
|
if (callerSignal?.aborted)
|
|
137
|
-
throw new CatalogRequestError('Model catalog request cancelled.');
|
|
304
|
+
throw new CatalogRequestError('Model catalog request cancelled.', { code: 'cancelled', retryable: false });
|
|
138
305
|
const remaining = deadline - Date.now();
|
|
139
306
|
if (remaining <= 0)
|
|
140
|
-
throw new CatalogRequestError('Model catalog request timed out.');
|
|
307
|
+
throw new CatalogRequestError('Model catalog request timed out.', { code: 'timeout', retryable: true });
|
|
141
308
|
const controller = new AbortController();
|
|
142
309
|
let reader;
|
|
143
310
|
let stopped;
|
|
144
311
|
let rejectInterruption;
|
|
145
312
|
const interrupted = new Promise((_, reject) => { rejectInterruption = reject; });
|
|
146
313
|
void interrupted.catch(() => undefined);
|
|
147
|
-
const stop = (message) => {
|
|
148
|
-
stopped ??= new CatalogRequestError(message);
|
|
314
|
+
const stop = (message, failure) => {
|
|
315
|
+
stopped ??= new CatalogRequestError(message, failure);
|
|
149
316
|
controller.abort();
|
|
150
317
|
rejectInterruption(stopped);
|
|
151
318
|
void reader?.cancel().catch(() => undefined);
|
|
152
319
|
};
|
|
153
|
-
const onAbort = () => stop('Model catalog request cancelled.');
|
|
320
|
+
const onAbort = () => stop('Model catalog request cancelled.', { code: 'cancelled', retryable: false });
|
|
154
321
|
callerSignal?.addEventListener('abort', onAbort, { once: true });
|
|
155
|
-
const timer = setTimeout(() => stop('Model catalog request timed out.'), remaining);
|
|
322
|
+
const timer = setTimeout(() => stop('Model catalog request timed out.', { code: 'timeout', retryable: true }), remaining);
|
|
156
323
|
try {
|
|
157
|
-
const pending = fetchImpl(url, {
|
|
324
|
+
const pending = fetchImpl(url, {
|
|
325
|
+
headers: { Authorization: authorization.authorization, ...(authorization.dpop ? { DPoP: authorization.dpop } : {}) },
|
|
326
|
+
signal: controller.signal, redirect: 'manual',
|
|
327
|
+
});
|
|
158
328
|
// Abort is advisory for injected transports; a late body must not remain open.
|
|
159
329
|
void pending.then(response => { if (controller.signal.aborted)
|
|
160
330
|
void response.body?.cancel().catch(() => undefined); }, () => undefined);
|
|
@@ -165,26 +335,66 @@ async function readCatalogPayload(fetchImpl, url, credential, label, callerSigna
|
|
|
165
335
|
}
|
|
166
336
|
if (response.redirected || (response.status >= 300 && response.status < 400)) {
|
|
167
337
|
void response.body?.cancel().catch(() => undefined);
|
|
168
|
-
throw new CatalogRequestError('Model catalog redirects are disabled.');
|
|
338
|
+
throw new CatalogRequestError('Model catalog redirects are disabled.', { code: 'invalid-response', retryable: false });
|
|
169
339
|
}
|
|
170
340
|
let headerBytes = 0;
|
|
171
341
|
const encoder = new TextEncoder();
|
|
172
342
|
response.headers.forEach((value, key) => { headerBytes += encoder.encode(key).byteLength + encoder.encode(value).byteLength; });
|
|
173
343
|
if (headerBytes > 64 * 1024) {
|
|
174
344
|
void response.body?.cancel().catch(() => undefined);
|
|
175
|
-
throw new CatalogRequestError('Model catalog headers exceed the response limit.');
|
|
345
|
+
throw new CatalogRequestError('Model catalog headers exceed the response limit.', { code: 'invalid-response', retryable: false });
|
|
176
346
|
}
|
|
177
347
|
if (!response.ok) {
|
|
178
348
|
void response.body?.cancel().catch(() => undefined);
|
|
179
|
-
|
|
349
|
+
/**
|
|
350
|
+
* ๐ด A 401 is not an outage, and saying "returned HTTP 401" makes it read like one.
|
|
351
|
+
*
|
|
352
|
+
* Measured in the running app: the cloud lane was blocked with "Platform model catalog
|
|
353
|
+
* returned HTTP 401." โ true, unactionable, and indistinguishable to a reader from the
|
|
354
|
+
* service being down. It is the ONE catalog failure the person can fix themselves, and the
|
|
355
|
+
* surface already has a branch waiting for a reason that starts with "Sign in"
|
|
356
|
+
* (it relabels the lane "Sign in for Cloud"), which nothing was producing.
|
|
357
|
+
*
|
|
358
|
+
* Every other status stays verbatim: a 500 really is the service, and inventing advice for
|
|
359
|
+
* it would be worse than the number.
|
|
360
|
+
*
|
|
361
|
+
* ๐ด 401 and 403 are DIFFERENT failures, WITH DIFFERENT PERSON-FACING SENTENCES.
|
|
362
|
+
*
|
|
363
|
+
* 401 means we sent no usable credential (`auth-required` โ the identity was never
|
|
364
|
+
* established): "Sign in" is the correct, actionable instruction. 403 means the server
|
|
365
|
+
* recognised the request and refused it anyway (`forbidden`) โ telling that person to
|
|
366
|
+
* "sign in" is either useless (they already are) or actively wrong (no amount of signing in
|
|
367
|
+
* fixes a permission the account doesn't have). An earlier version of this code sent the
|
|
368
|
+
* identical "Sign in to XENO..." sentence for both, which is the same category of mistake as
|
|
369
|
+
* reporting "authenticated" from a failure: inferring a fact (what will fix this) that the
|
|
370
|
+
* response never confirmed. This does NOT claim identity was confirmed for 403 either โ
|
|
371
|
+
* see `authenticated` on `XenoCloudModelCatalog`, which stays unset for `forbidden`.
|
|
372
|
+
*/
|
|
373
|
+
if (response.status === 401) {
|
|
374
|
+
// โ ๏ธ NOT `${label}` here: that is the internal channel name ("Platform", "Direct"),
|
|
375
|
+
// and this sentence is read by a person in the dock. The channel still names the
|
|
376
|
+
// non-auth failures below, where a reader benefits from knowing which one answered.
|
|
377
|
+
throw new CatalogRequestError('Sign in to XENO to use cloud models.', { code: 'auth-required', retryable: false });
|
|
378
|
+
}
|
|
379
|
+
if (response.status === 403) {
|
|
380
|
+
throw new CatalogRequestError('Your XENO account does not have permission to use cloud models.', { code: 'forbidden', retryable: false });
|
|
381
|
+
}
|
|
382
|
+
if (response.status === 429) {
|
|
383
|
+
const retryAfterMs = parseRetryAfterMs(response.headers.get('retry-after'));
|
|
384
|
+
throw new CatalogRequestError(`${label} model catalog is rate limited.`, { code: 'rate-limited', retryable: true, ...(retryAfterMs !== undefined ? { retryAfterMs } : {}) });
|
|
385
|
+
}
|
|
386
|
+
if (response.status >= 500) {
|
|
387
|
+
throw new CatalogRequestError(`${label} model catalog returned HTTP ${response.status}.`, { code: 'server', retryable: true });
|
|
388
|
+
}
|
|
389
|
+
throw new CatalogRequestError(`${label} model catalog returned HTTP ${response.status}.`, { code: 'invalid-response', retryable: false });
|
|
180
390
|
}
|
|
181
391
|
const declared = response.headers.get('content-length');
|
|
182
392
|
if (declared && /^\d+$/.test(declared) && Number(declared) > maxBytes) {
|
|
183
393
|
void response.body?.cancel().catch(() => undefined);
|
|
184
|
-
throw new CatalogRequestError('Model catalog response exceeds the byte limit.');
|
|
394
|
+
throw new CatalogRequestError('Model catalog response exceeds the byte limit.', { code: 'invalid-response', retryable: false });
|
|
185
395
|
}
|
|
186
396
|
if (!response.body)
|
|
187
|
-
throw new CatalogRequestError('Model catalog returned an empty response.');
|
|
397
|
+
throw new CatalogRequestError('Model catalog returned an empty response.', { code: 'invalid-response', retryable: false });
|
|
188
398
|
reader = response.body.getReader();
|
|
189
399
|
const decoder = new TextDecoder('utf-8', { fatal: true });
|
|
190
400
|
let bytes = 0, text = '';
|
|
@@ -196,26 +406,32 @@ async function readCatalogPayload(fetchImpl, url, credential, label, callerSigna
|
|
|
196
406
|
break;
|
|
197
407
|
bytes += part.value.byteLength;
|
|
198
408
|
if (bytes > maxBytes)
|
|
199
|
-
throw new CatalogRequestError('Model catalog response exceeds the byte limit.');
|
|
409
|
+
throw new CatalogRequestError('Model catalog response exceeds the byte limit.', { code: 'invalid-response', retryable: false });
|
|
200
410
|
try {
|
|
201
411
|
text += decoder.decode(part.value, { stream: true });
|
|
202
412
|
}
|
|
203
413
|
catch {
|
|
204
|
-
throw new CatalogRequestError('Model catalog response is not valid UTF-8.');
|
|
414
|
+
throw new CatalogRequestError('Model catalog response is not valid UTF-8.', { code: 'invalid-response', retryable: false });
|
|
205
415
|
}
|
|
206
416
|
}
|
|
207
417
|
try {
|
|
208
418
|
text += decoder.decode();
|
|
209
419
|
}
|
|
210
420
|
catch {
|
|
211
|
-
throw new CatalogRequestError('Model catalog response is not valid UTF-8.');
|
|
421
|
+
throw new CatalogRequestError('Model catalog response is not valid UTF-8.', { code: 'invalid-response', retryable: false });
|
|
212
422
|
}
|
|
423
|
+
let parsed;
|
|
213
424
|
try {
|
|
214
|
-
|
|
425
|
+
parsed = JSON.parse(text);
|
|
215
426
|
}
|
|
216
427
|
catch {
|
|
217
|
-
throw new CatalogRequestError('Model catalog response is not valid JSON.');
|
|
428
|
+
throw new CatalogRequestError('Model catalog response is not valid JSON.', { code: 'invalid-response', retryable: false });
|
|
218
429
|
}
|
|
430
|
+
// Valid JSON is not the same as a valid CATALOG. See `isRecognizedCatalogShape` โ a
|
|
431
|
+
// malformed-but-parseable body must fail here, never be silently treated as an empty catalog.
|
|
432
|
+
if (!isRecognizedCatalogShape(parsed))
|
|
433
|
+
throw new CatalogRequestError('Model catalog response has an unrecognized shape.', { code: 'invalid-response', retryable: false });
|
|
434
|
+
return parsed;
|
|
219
435
|
}
|
|
220
436
|
finally {
|
|
221
437
|
clearTimeout(timer);
|
package/dist/modelCatalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelCatalog.js","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"modelCatalog.js","sourceRoot":"","sources":["../src/modelCatalog.ts"],"names":[],"mappings":"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"}
|
package/dist/node.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AgentsClient } from './index.js';
|
|
2
|
-
import { type XenoCloudModelCatalog } from './modelCatalog.js';
|
|
2
|
+
import { type CatalogFailure, type XenoCloudAuthorizer, type XenoCloudModelCatalog } from './modelCatalog.js';
|
|
3
3
|
export * from './index.js';
|
|
4
4
|
export interface XenoCloudCredentialSnapshot {
|
|
5
5
|
apiKey?: string;
|
|
@@ -13,6 +13,18 @@ export interface XenoCloudCredentialSourceOptions {
|
|
|
13
13
|
export interface XenoCloudNodeClientOptions extends XenoCloudCredentialSourceOptions {
|
|
14
14
|
baseUrl?: string;
|
|
15
15
|
fetchImpl?: typeof fetch;
|
|
16
|
+
/**
|
|
17
|
+
* The signed-in account's request authorizer, supplied by the host composition.
|
|
18
|
+
*
|
|
19
|
+
* When present it is preferred over the legacy `~/.xeno/credentials.json` token, and
|
|
20
|
+
* `authenticated` reflects whether IT can mint โ so the lane's answer follows the account the
|
|
21
|
+
* person actually signed into rather than a file Hub last wrote.
|
|
22
|
+
*
|
|
23
|
+
* ๐ด It lives on THIS interface, not only on the discovery options, because the agents CLIENT
|
|
24
|
+
* is what performs hosted runs. Declaring it one level down was the shape of the original bug:
|
|
25
|
+
* the model catalogue could authorize as the account and hosted runs structurally could not.
|
|
26
|
+
*/
|
|
27
|
+
authorize?: XenoCloudAuthorizer;
|
|
16
28
|
}
|
|
17
29
|
export interface DiscoverXenoCloudNodeRuntimeOptions extends XenoCloudNodeClientOptions {
|
|
18
30
|
directApiBase?: string;
|
|
@@ -21,11 +33,42 @@ export interface DiscoverXenoCloudNodeRuntimeOptions extends XenoCloudNodeClient
|
|
|
21
33
|
timeoutMs?: number;
|
|
22
34
|
}
|
|
23
35
|
export interface XenoCloudHostedStatus {
|
|
24
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Whether the server EXPLICITLY confirmed or rejected the credential's identity.
|
|
38
|
+
*
|
|
39
|
+
* - `false` โ a CONFIRMED rejection: no credential was supplied at all, or the server
|
|
40
|
+
* explicitly said the one we sent is invalid (401 / `unauthorized`).
|
|
41
|
+
* - **absent (`undefined`)** โ unverified, which includes a SUCCESSFUL `status()` call.
|
|
42
|
+
*
|
|
43
|
+
* ๐ด There is deliberately no `true` case. `/v1/agents/status` (`AgentsApiStatus`:
|
|
44
|
+
* `schemaVersion`/`ok`/`service`/`version`/`capabilities`) is a capability-negotiation probe,
|
|
45
|
+
* not an identity check โ nothing in that shape confirms the CALLER was authenticated, and the
|
|
46
|
+
* route can legitimately answer successfully whether or not it even required a credential. A
|
|
47
|
+
* 200 there proves the SERVICE is reachable, never that a person is signed in. Treating that
|
|
48
|
+
* success as "authenticated" was the same invented-positive-from-an-unconfirming-signal mistake
|
|
49
|
+
* this field already refuses for failures (see the account catch below) โ just on the success
|
|
50
|
+
* side instead. A timeout, a network error, a 5xx, or a 403 (identity recognised, ACTION
|
|
51
|
+
* refused โ a different fact from "not signed in") tells us nothing about the credential's
|
|
52
|
+
* validity either, and also stays unverified. See `hostedStatusFailure`.
|
|
53
|
+
*/
|
|
54
|
+
authenticated?: boolean;
|
|
25
55
|
ok: boolean;
|
|
26
56
|
capabilities: string[];
|
|
27
57
|
version?: string;
|
|
28
58
|
service?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Present whenever this probe did not confirm success, INCLUDING the early "no credential at
|
|
61
|
+
* all" case. Reuses the model catalog's `CatalogFailure` vocabulary (rather than a second
|
|
62
|
+
* taxonomy) so a caller does not need to special-case which lane it is reading.
|
|
63
|
+
*
|
|
64
|
+
* The model catalog and this hosted-status probe run independently (`Promise.all` in
|
|
65
|
+
* `discoverXenoCloudNodeRuntime`) and neither call's outcome is inferred from the other's. A
|
|
66
|
+
* caller building a recovery/retry loop must retry THIS probe on its own `failure.retryable`
|
|
67
|
+
* signal even when `modelCatalog` already succeeded โ a successful model catalog load says
|
|
68
|
+
* nothing about whether the hosted-runs service answered, and this field is what carries that
|
|
69
|
+
* information forward rather than it being dropped.
|
|
70
|
+
*/
|
|
71
|
+
failure?: CatalogFailure;
|
|
29
72
|
safeUnavailableReason?: string;
|
|
30
73
|
}
|
|
31
74
|
export interface XenoCloudNodeRuntimeDiscovery {
|
package/dist/node.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAGA,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAEL,KAAK,cAAc,EAEnB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAA;AAE1B,cAAc,YAAY,CAAA;AAE1B,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gCAAgC;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,0BAA2B,SAAQ,gCAAgC;IAClF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,OAAO,KAAK,CAAA;IACxB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAA;CAChC;AAED,MAAM,WAAW,mCAAoC,SAAQ,0BAA0B;IACrF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;;;;;;;;;;;;;;OAiBG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,EAAE,EAAE,OAAO,CAAA;IACX,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,OAAO,CAAA;IACtB,yBAAyB,EAAE,OAAO,CAAA;IAClC,YAAY,EAAE,qBAAqB,CAAA;IACnC,YAAY,EAAE,qBAAqB,CAAA;CACpC;AAED,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,gCAAqC,GAC7C,2BAA2B,CAc7B;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,GAAE,0BAA+B,GACvC,YAAY,CAmBd;AAED,wBAAsB,4BAA4B,CAChD,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAAC,6BAA6B,CAAC,CAwCxC;AA2BD,wBAAsB,0BAA0B,CAC9C,OAAO,GAAE,mCAAwC,GAChD,OAAO,CAAC,qBAAqB,CAAC,CAKhC"}
|
package/dist/node.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
2
|
import { homedir } from 'node:os';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
|
-
import { createAgentsClient, } from './index.js';
|
|
4
|
+
import { createAgentsClient, isAgentsApiError, } from './index.js';
|
|
5
5
|
import { loadXenoCloudModelCatalog, } from './modelCatalog.js';
|
|
6
6
|
export * from './index.js';
|
|
7
7
|
export function readXenoCloudCredentials(options = {}) {
|
|
@@ -22,6 +22,19 @@ export function readXenoCloudCredentials(options = {}) {
|
|
|
22
22
|
export function createXenoCloudNodeAgentsClient(options = {}) {
|
|
23
23
|
return createAgentsClient({
|
|
24
24
|
...(options.baseUrl ? { baseUrl: options.baseUrl } : {}),
|
|
25
|
+
/**
|
|
26
|
+
* ๐ด The signed-in ACCOUNT authorizes hosted runs, with the legacy file as the fallback.
|
|
27
|
+
*
|
|
28
|
+
* This order is the fix. `webToken` is a long-lived JWT in `~/.xeno/credentials.json` written
|
|
29
|
+
* by Hub, and nothing in this app refreshes it โ so once it expired, hosted runs failed
|
|
30
|
+
* `unauthorized (HTTP 401)` for a person who was signed in, and signing in again could not
|
|
31
|
+
* help because the two credential paths never met. Measured 2026-09-14: that token had been
|
|
32
|
+
* expired for two days while the account itself was perfectly valid.
|
|
33
|
+
*
|
|
34
|
+
* The same ordering `loadXenoCloudModelCatalog` already uses โ hosted runs were simply the
|
|
35
|
+
* half that never got it.
|
|
36
|
+
*/
|
|
37
|
+
...(options.authorize ? { authorize: options.authorize } : {}),
|
|
25
38
|
token: () => readXenoCloudCredentials(options).webToken || '',
|
|
26
39
|
...(options.fetchImpl ? { fetchImpl: options.fetchImpl } : {}),
|
|
27
40
|
});
|
|
@@ -30,6 +43,7 @@ export async function discoverXenoCloudNodeRuntime(options = {}) {
|
|
|
30
43
|
const credentials = readXenoCloudCredentials(options);
|
|
31
44
|
const modelOptions = {
|
|
32
45
|
...(credentials.apiKey ? { apiKey: credentials.apiKey } : {}),
|
|
46
|
+
...(options.authorize ? { authorize: options.authorize } : {}),
|
|
33
47
|
...(credentials.webToken ? { webToken: credentials.webToken } : {}),
|
|
34
48
|
...(options.directApiBase ? { directApiBase: options.directApiBase } : {}),
|
|
35
49
|
...(options.platformModelsUrl ? { platformModelsUrl: options.platformModelsUrl } : {}),
|
|
@@ -39,47 +53,145 @@ export async function discoverXenoCloudNodeRuntime(options = {}) {
|
|
|
39
53
|
};
|
|
40
54
|
const [modelCatalog, hostedStatus] = await Promise.all([
|
|
41
55
|
loadXenoCloudModelCatalog(modelOptions),
|
|
42
|
-
|
|
56
|
+
/**
|
|
57
|
+
* โ
Hosted RUNS now authenticate as the signed-in account, with the legacy file as fallback.
|
|
58
|
+
*
|
|
59
|
+
* This comment used to record the opposite as a known boundary: the client took a `token()`
|
|
60
|
+
* callback returning one bearer string, and a DPoP credential cannot be expressed that way โ
|
|
61
|
+
* it needs a proof per method and URL. That was true, and it was the whole bug: hosted runs
|
|
62
|
+
* failed `unauthorized (HTTP 401)` for a signed-in person because the legacy token had
|
|
63
|
+
* expired and no account path existed to replace it.
|
|
64
|
+
*
|
|
65
|
+
* `AgentsClientConfig.authorize` is that path โ it receives the method and URL, so a proof
|
|
66
|
+
* can be bound to them. `token` remains for BYO-key and Hub-brokered installs.
|
|
67
|
+
*/
|
|
68
|
+
loadHostedStatusWithToken(isLiveWebToken(credentials.webToken) ? credentials.webToken : undefined, options),
|
|
43
69
|
]);
|
|
44
70
|
return {
|
|
45
|
-
|
|
71
|
+
// This compatibility boolean means a credential this discovery can run hosted work with: a
|
|
72
|
+
// LIVE legacy web token (BYO-key and Hub-brokered installs โ the surface smoke's cloud fixture
|
|
73
|
+
// is exactly that install, and dropping this branch refused it with "Sign in", measured
|
|
74
|
+
// 2026-09-17), or platform authentication the model catalog CONFIRMED. A public service-status
|
|
75
|
+
// response never establishes one, and model COUNT is not a credential (that was the old
|
|
76
|
+
// inference); the host separately owns account identity.
|
|
77
|
+
authenticated: isLiveWebToken(credentials.webToken) || (modelCatalog.source === 'platform-auth' && modelCatalog.authenticated === true),
|
|
46
78
|
directCredentialAvailable: Boolean(credentials.apiKey),
|
|
47
79
|
hostedStatus,
|
|
48
80
|
modelCatalog,
|
|
49
81
|
};
|
|
50
82
|
}
|
|
83
|
+
/**
|
|
84
|
+
* Is the legacy `webToken` present AND not expired?
|
|
85
|
+
*
|
|
86
|
+
* ๐ด "Present" was the old test, and an expired token passed it โ so the lane reported itself
|
|
87
|
+
* authenticated, skipped the account path, and failed every hosted run with `unauthorized (HTTP
|
|
88
|
+
* 401)`. Measured 2026-09-14: expired two days earlier, and nothing in this app refreshes it.
|
|
89
|
+
*
|
|
90
|
+
* โ ๏ธ Deliberately lenient about SHAPE, strict about EXPIRY. This never decides that a token is
|
|
91
|
+
* VALID โ only the server does that. A token we cannot parse is left for the server to judge,
|
|
92
|
+
* because refusing one we merely failed to read would break installs this code has never seen.
|
|
93
|
+
* The 60s skew margin avoids treating a token that dies mid-flight as usable.
|
|
94
|
+
*/
|
|
95
|
+
function isLiveWebToken(webToken) {
|
|
96
|
+
if (!webToken)
|
|
97
|
+
return false;
|
|
98
|
+
const parts = webToken.split('.');
|
|
99
|
+
if (parts.length !== 3)
|
|
100
|
+
return true;
|
|
101
|
+
try {
|
|
102
|
+
const payload = JSON.parse(Buffer.from(parts[1], 'base64url').toString('utf8'));
|
|
103
|
+
if (typeof payload.exp !== 'number')
|
|
104
|
+
return true;
|
|
105
|
+
return payload.exp * 1000 > Date.now() + 60_000;
|
|
106
|
+
}
|
|
107
|
+
catch {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
51
111
|
export async function probeXenoCloudHostedStatus(options = {}) {
|
|
52
|
-
|
|
112
|
+
const { webToken } = readXenoCloudCredentials(options);
|
|
113
|
+
// Hand the probe only a token it could actually authenticate with, so an expired one falls
|
|
114
|
+
// through to the account authorizer instead of shadowing it.
|
|
115
|
+
return loadHostedStatusWithToken(isLiveWebToken(webToken) ? webToken : undefined, options);
|
|
53
116
|
}
|
|
54
117
|
async function loadHostedStatusWithToken(webToken, options) {
|
|
55
|
-
|
|
118
|
+
/**
|
|
119
|
+
* ๐ด A signed-in ACCOUNT is a hosted-runs credential, exactly like the legacy token.
|
|
120
|
+
*
|
|
121
|
+
* This gate used to read `webToken` alone, so an account-only install was told to "sign in" no
|
|
122
|
+
* matter how many times it signed in โ the credential it was asking for was one this app never
|
|
123
|
+
* mints. Measured 2026-09-14: the lane reported that message with a two-days-expired token while
|
|
124
|
+
* the account was valid and the model catalogue, which DOES authorize as the account, was full.
|
|
125
|
+
*/
|
|
126
|
+
if (!webToken && !options.authorize) {
|
|
56
127
|
return {
|
|
57
128
|
authenticated: false,
|
|
58
129
|
ok: false,
|
|
59
130
|
capabilities: [],
|
|
131
|
+
failure: { code: 'auth-required', retryable: false },
|
|
60
132
|
safeUnavailableReason: 'Sign in to use hosted XENO Agent runs.',
|
|
61
133
|
};
|
|
62
134
|
}
|
|
63
135
|
try {
|
|
64
136
|
const status = await createXenoCloudNodeAgentsClient(options).status(options.signal ? { signal: options.signal } : undefined);
|
|
137
|
+
// ๐ด No `authenticated: true` here โ see the doc comment on `XenoCloudHostedStatus.authenticated`.
|
|
138
|
+
// This probe answering successfully is not evidence the caller's identity was checked.
|
|
65
139
|
return {
|
|
66
|
-
authenticated: true,
|
|
67
140
|
ok: status.ok === true,
|
|
68
141
|
capabilities: Array.isArray(status.capabilities) ? [...status.capabilities] : [],
|
|
69
142
|
...(status.version ? { version: status.version } : {}),
|
|
70
143
|
...(status.service ? { service: status.service } : {}),
|
|
71
|
-
...(status.ok === true ? {} : { safeUnavailableReason: 'The hosted XENO Agent service is unavailable.' }),
|
|
144
|
+
...(status.ok === true ? {} : { failure: { code: 'server', retryable: true }, safeUnavailableReason: 'The hosted XENO Agent service is unavailable.' }),
|
|
72
145
|
};
|
|
73
146
|
}
|
|
74
147
|
catch (error) {
|
|
148
|
+
/**
|
|
149
|
+
* ๐ด Never `true`, and not unconditionally `false` either. This used to report
|
|
150
|
+
* `authenticated: true` for ANY failure, on the reasoning that reaching this branch already
|
|
151
|
+
* means a credential was supplied โ conflating "we sent something" with "the server confirmed
|
|
152
|
+
* an identity", which is exactly the invented-positive-from-failure this whole fix removes.
|
|
153
|
+
*
|
|
154
|
+
* The fix is NOT "flip it to false on any failure" โ that is the same mistake in the other
|
|
155
|
+
* direction: a timeout or a 503 confirms nothing about the credential either, so asserting
|
|
156
|
+
* `false` there would be an invented NEGATIVE. Only a CONFIRMED rejection (`auth-required` โ
|
|
157
|
+
* an explicit 401 / `unauthorized`) sets `false`. A 403 (identity recognised, action refused โ
|
|
158
|
+
* a different fact from "not signed in") and every other failure (network, timeout, 5xx,
|
|
159
|
+
* rate-limited) leave the field OMITTED: unverified, not a guess in either direction.
|
|
160
|
+
*/
|
|
161
|
+
const failure = hostedStatusFailure(error);
|
|
75
162
|
return {
|
|
76
|
-
authenticated:
|
|
163
|
+
...(failure.code === 'auth-required' ? { authenticated: false } : {}),
|
|
77
164
|
ok: false,
|
|
78
165
|
capabilities: [],
|
|
166
|
+
failure,
|
|
79
167
|
safeUnavailableReason: safeError(error),
|
|
80
168
|
};
|
|
81
169
|
}
|
|
82
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Maps the agents-API's own error taxonomy (`AgentsApiErrorCode`, `index.ts`) onto the SAME
|
|
173
|
+
* `CatalogFailureCode` vocabulary the model catalog uses, so a caller reading a hosted-status
|
|
174
|
+
* failure does not need a second set of codes.
|
|
175
|
+
*
|
|
176
|
+
* Timeout is a typed client signal, not a match against an English error message.
|
|
177
|
+
*/
|
|
178
|
+
function hostedStatusFailure(error) {
|
|
179
|
+
if (!isAgentsApiError(error))
|
|
180
|
+
return { code: 'network', retryable: true };
|
|
181
|
+
if (error.status === 401 || error.code === 'unauthorized')
|
|
182
|
+
return { code: 'auth-required', retryable: false };
|
|
183
|
+
if (error.status === 403 || error.code === 'forbidden')
|
|
184
|
+
return { code: 'forbidden', retryable: false };
|
|
185
|
+
if (error.status === 429 || error.code === 'rate_limited')
|
|
186
|
+
return { code: 'rate-limited', retryable: true };
|
|
187
|
+
if (error.status >= 500)
|
|
188
|
+
return { code: 'server', retryable: true };
|
|
189
|
+
if (error.isTimeout)
|
|
190
|
+
return { code: 'timeout', retryable: true };
|
|
191
|
+
if (error.isNetwork)
|
|
192
|
+
return { code: 'network', retryable: true };
|
|
193
|
+
return { code: 'invalid-response', retryable: false };
|
|
194
|
+
}
|
|
83
195
|
function readJsonRecord(path) {
|
|
84
196
|
try {
|
|
85
197
|
if (!existsSync(path))
|
|
@@ -96,8 +208,15 @@ function cleanSecret(value) {
|
|
|
96
208
|
return cleaned || undefined;
|
|
97
209
|
}
|
|
98
210
|
function safeError(error) {
|
|
99
|
-
|
|
100
|
-
|
|
211
|
+
const failure = hostedStatusFailure(error);
|
|
212
|
+
if (failure.code === 'auth-required')
|
|
213
|
+
return 'Sign in to use hosted XENO Agent runs.';
|
|
214
|
+
if (failure.code === 'forbidden')
|
|
215
|
+
return 'Your account is not permitted to use hosted XENO Agent runs.';
|
|
216
|
+
if (failure.code === 'timeout')
|
|
217
|
+
return 'The hosted XENO Agent service request timed out.';
|
|
218
|
+
if (failure.code === 'rate-limited')
|
|
219
|
+
return 'The hosted XENO Agent service is rate limited.';
|
|
101
220
|
return 'The hosted XENO Agent service is unavailable.';
|
|
102
221
|
}
|
|
103
222
|
function isRecord(value) {
|
package/dist/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EACL,kBAAkB,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":"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"}
|