@sentropic/llm-mesh 0.24.1 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +192 -0
  2. package/dist/catalog.d.ts +92 -0
  3. package/dist/catalog.d.ts.map +1 -1
  4. package/dist/catalog.js +47 -0
  5. package/dist/catalog.js.map +1 -1
  6. package/dist/enrollment/claude-code.d.ts +27 -5
  7. package/dist/enrollment/claude-code.d.ts.map +1 -1
  8. package/dist/enrollment/claude-code.js +224 -10
  9. package/dist/enrollment/claude-code.js.map +1 -1
  10. package/dist/enrollment/codex.d.ts +7 -0
  11. package/dist/enrollment/codex.d.ts.map +1 -1
  12. package/dist/enrollment/codex.js +74 -19
  13. package/dist/enrollment/codex.js.map +1 -1
  14. package/dist/enrollment/index.d.ts +1 -1
  15. package/dist/enrollment/index.d.ts.map +1 -1
  16. package/dist/enrollment/pkce.js +1 -1
  17. package/dist/errors.d.ts +19 -0
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js +51 -4
  20. package/dist/errors.js.map +1 -1
  21. package/dist/execution-features.d.ts +34 -0
  22. package/dist/execution-features.d.ts.map +1 -0
  23. package/dist/execution-features.js +84 -0
  24. package/dist/execution-features.js.map +1 -0
  25. package/dist/generated-model-council.d.ts +2 -2
  26. package/dist/generated-model-council.d.ts.map +1 -1
  27. package/dist/generated-model-council.js +5 -1
  28. package/dist/generated-model-council.js.map +1 -1
  29. package/dist/index.d.ts +4 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +4 -0
  32. package/dist/index.js.map +1 -1
  33. package/dist/native-messages.d.ts +130 -0
  34. package/dist/native-messages.d.ts.map +1 -0
  35. package/dist/native-messages.js +66 -0
  36. package/dist/native-messages.js.map +1 -0
  37. package/dist/providers.d.ts +5 -5
  38. package/dist/providers.d.ts.map +1 -1
  39. package/dist/providers.js +12 -5
  40. package/dist/providers.js.map +1 -1
  41. package/dist/responses-wire.d.ts +76 -0
  42. package/dist/responses-wire.d.ts.map +1 -0
  43. package/dist/responses-wire.js +35 -0
  44. package/dist/responses-wire.js.map +1 -0
  45. package/dist/route-attempt.d.ts +4 -0
  46. package/dist/route-attempt.d.ts.map +1 -1
  47. package/dist/route-attempt.js +8 -1
  48. package/dist/route-attempt.js.map +1 -1
  49. package/dist/route-health.d.ts +11 -0
  50. package/dist/route-health.d.ts.map +1 -1
  51. package/dist/route-health.js +32 -0
  52. package/dist/route-health.js.map +1 -1
  53. package/dist/route-planner-state.d.ts +33 -2
  54. package/dist/route-planner-state.d.ts.map +1 -1
  55. package/dist/route-planner-state.js +20 -1
  56. package/dist/route-planner-state.js.map +1 -1
  57. package/dist/route-planner.d.ts +21 -1
  58. package/dist/route-planner.d.ts.map +1 -1
  59. package/dist/route-planner.js +112 -33
  60. package/dist/route-planner.js.map +1 -1
  61. package/dist/route-quote.d.ts +16 -2
  62. package/dist/route-quote.d.ts.map +1 -1
  63. package/dist/route-quote.js +31 -5
  64. package/dist/route-quote.js.map +1 -1
  65. package/dist/route-selection.d.ts +13 -0
  66. package/dist/route-selection.d.ts.map +1 -1
  67. package/dist/route-selection.js +30 -5
  68. package/dist/route-selection.js.map +1 -1
  69. package/dist/routing-contracts.d.ts +42 -3
  70. package/dist/routing-contracts.d.ts.map +1 -1
  71. package/dist/routing-targets.d.ts +26 -0
  72. package/dist/routing-targets.d.ts.map +1 -1
  73. package/dist/routing-targets.js +96 -23
  74. package/dist/routing-targets.js.map +1 -1
  75. package/dist/service/facade.d.ts +3 -0
  76. package/dist/service/facade.d.ts.map +1 -1
  77. package/dist/service/facade.js +7 -1
  78. package/dist/service/facade.js.map +1 -1
  79. package/dist/service/local-account-transport-service.d.ts +18 -0
  80. package/dist/service/local-account-transport-service.d.ts.map +1 -1
  81. package/dist/service/local-account-transport-service.js +284 -46
  82. package/dist/service/local-account-transport-service.js.map +1 -1
  83. package/dist/transport/claude-code-runtime-client.d.ts +88 -0
  84. package/dist/transport/claude-code-runtime-client.d.ts.map +1 -0
  85. package/dist/transport/claude-code-runtime-client.js +305 -0
  86. package/dist/transport/claude-code-runtime-client.js.map +1 -0
  87. package/dist/transport/codex-runtime-client.d.ts.map +1 -1
  88. package/dist/transport/codex-runtime-client.js +24 -4
  89. package/dist/transport/codex-runtime-client.js.map +1 -1
  90. package/dist/transport/codex-runtime-wire.d.ts.map +1 -1
  91. package/dist/transport/codex-runtime-wire.js +131 -27
  92. package/dist/transport/codex-runtime-wire.js.map +1 -1
  93. package/dist/transport/mistral-runtime-client.d.ts.map +1 -1
  94. package/dist/transport/mistral-runtime-client.js +191 -9
  95. package/dist/transport/mistral-runtime-client.js.map +1 -1
  96. package/dist/transport/muse-runtime-client.d.ts.map +1 -1
  97. package/dist/transport/muse-runtime-client.js +221 -10
  98. package/dist/transport/muse-runtime-client.js.map +1 -1
  99. package/package.json +1 -1
@@ -1,18 +1,232 @@
1
+ import { generateNonce, generatePkcePair } from './pkce.js';
2
+ // Public constants verified in official Claude Code 2.1.296 (spec ledger A2; live
3
+ // validation 2026-10-10: the legacy claude.ai authorize endpoint leaves the consent
4
+ // button permanently disabled and current grants carry the user:plugins scope).
5
+ const USER_SCOPES = ['user:profile', 'user:inference', 'user:sessions:claude_code',
6
+ 'user:mcp_servers', 'user:plugins', 'user:file_upload'];
7
+ const BUNDLED_PROFILE = {
8
+ id: 'claude-code-oauth-2.1.296-v1',
9
+ authorizationUrl: 'https://claude.com/cai/oauth/authorize',
10
+ tokenUrl: 'https://platform.claude.com/v1/oauth/token',
11
+ clientId: '9d1c250a-e61b-44d9-88ed-5944d1962f5e',
12
+ redirectUri: 'https://platform.claude.com/oauth/code/callback',
13
+ authorizationScopes: ['org:create_api_key', ...USER_SCOPES],
14
+ refreshScopes: [...USER_SCOPES], requiredScopes: ['user:inference'],
15
+ source: 'https://registry.npmjs.org/@anthropic-ai/claude-code/2.1.296',
16
+ };
17
+ const failure = (reason) => new Error(`Claude enrollment: ${reason}; reauthenticate`);
18
+ // Only local preparation failures may permit replaying the same refresh grant.
19
+ export class ClaudeRefreshPreparationError extends Error {
20
+ constructor() { super('Claude refresh preparation failed; retry later'); }
21
+ }
22
+ const object = (value) => !!value && typeof value === 'object' && !Array.isArray(value);
23
+ const token = (value) => typeof value === 'string' && value.trim().length > 0 && !/[\r\n]/.test(value);
24
+ const scopes = (value) => Array.isArray(value)
25
+ && value.length > 0 && value.every((item) => typeof item === 'string' && /^[a-z0-9:_-]+$/.test(item));
26
+ const httpsUrl = (value) => {
27
+ if (typeof value !== 'string')
28
+ return false;
29
+ try {
30
+ const url = new URL(value);
31
+ return url.protocol === 'https:' && !url.username && !url.password && !url.search && !url.hash;
32
+ }
33
+ catch {
34
+ return false;
35
+ }
36
+ };
37
+ function validateProfile(value) {
38
+ if (!object(value) || typeof value.id !== 'string' || !/^[a-z0-9][a-z0-9._-]{2,99}$/.test(value.id)
39
+ || value.id === 'v1.0.0' || !httpsUrl(value.authorizationUrl) || !httpsUrl(value.tokenUrl)
40
+ || !httpsUrl(value.redirectUri) || !httpsUrl(value.source) || !token(value.clientId)
41
+ || !scopes(value.authorizationScopes) || !scopes(value.refreshScopes) || !scopes(value.requiredScopes)
42
+ || !value.requiredScopes.includes('user:inference')
43
+ || !value.requiredScopes.every((scope) => value.authorizationScopes.includes(scope)
44
+ && value.refreshScopes.includes(scope)))
45
+ throw failure('invalid OAuth profile');
46
+ const profile = { id: value.id, authorizationUrl: value.authorizationUrl,
47
+ tokenUrl: value.tokenUrl, redirectUri: value.redirectUri, clientId: value.clientId,
48
+ source: value.source, authorizationScopes: [...value.authorizationScopes],
49
+ refreshScopes: [...value.refreshScopes], requiredScopes: [...value.requiredScopes] };
50
+ if (profile.id === BUNDLED_PROFILE.id && JSON.stringify(profile) !== JSON.stringify({
51
+ ...profile, ...BUNDLED_PROFILE,
52
+ }))
53
+ throw failure('reserved OAuth profile');
54
+ return profile;
55
+ }
1
56
  export class ClaudeCodeEnrollmentProvider {
2
- async start(_input) {
3
- throw new Error('UNSUPPORTED: claude-code account transport enrollment is portal-only and unsupported locally in h2a-runtime.');
57
+ options;
58
+ fetchFn;
59
+ now;
60
+ metadata = new WeakMap();
61
+ sessions = new Map();
62
+ constructor(options = {}) {
63
+ this.options = options;
64
+ this.fetchFn = options.fetchFn ?? fetch;
65
+ this.now = options.nowFn ?? Date.now;
66
+ }
67
+ async profile(configRef, refresh = false) {
68
+ if (refresh && configRef === BUNDLED_PROFILE.id)
69
+ return BUNDLED_PROFILE;
70
+ if (refresh && (!configRef || configRef === 'v1.0.0'))
71
+ throw failure('unknown OAuth profile');
72
+ let value;
73
+ try {
74
+ value = await this.options.configResolver?.resolveConfig(configRef);
75
+ }
76
+ catch {
77
+ if (refresh)
78
+ throw new ClaudeRefreshPreparationError();
79
+ throw failure('OAuth profile resolution failed');
80
+ }
81
+ if (!this.options.configResolver || (object(value) && Object.keys(value).length === 0)) {
82
+ if (refresh)
83
+ throw failure('unknown OAuth profile');
84
+ return BUNDLED_PROFILE;
85
+ }
86
+ const profile = validateProfile(value);
87
+ if (refresh && profile.id !== configRef)
88
+ throw failure('OAuth profile version mismatch');
89
+ return profile;
90
+ }
91
+ async start(input) {
92
+ if (!input.ownerScope?.trim())
93
+ throw failure('ownerScope is required');
94
+ const profile = await this.profile(input.configRef);
95
+ if (input.redirectUri && input.redirectUri !== profile.redirectUri)
96
+ throw failure('redirect mismatch');
97
+ const { codeVerifier, codeChallenge } = generatePkcePair();
98
+ const state = generateNonce();
99
+ const enrollmentId = `enr_claude_${generateNonce()}`;
100
+ const expiresAt = this.now() + 15 * 60_000;
101
+ const url = new URL(profile.authorizationUrl);
102
+ url.search = new URLSearchParams({ code: 'true', response_type: 'code', client_id: profile.clientId,
103
+ redirect_uri: profile.redirectUri, scope: profile.authorizationScopes.join(' '),
104
+ code_challenge: codeChallenge, code_challenge_method: 'S256', state }).toString();
105
+ const timer = setTimeout(() => { void this.cancel(enrollmentId); }, 15 * 60_000);
106
+ timer.unref?.();
107
+ this.sessions.set(enrollmentId, { profile, verifier: codeVerifier, state, expiresAt,
108
+ consumed: false, controller: new AbortController(), timer });
109
+ return { kind: 'authorization-url', enrollmentId, url: url.toString(), expiresAt: new Date(expiresAt).toISOString() };
110
+ }
111
+ async complete(input) {
112
+ const session = this.sessions.get(input.enrollmentId);
113
+ if (!session || session.consumed)
114
+ throw failure('session unavailable');
115
+ session.consumed = true;
116
+ try {
117
+ const parts = typeof input.code === 'string' ? input.code.split('#') : [];
118
+ if (this.now() >= session.expiresAt || parts.length !== 2 || !token(parts[0])
119
+ || parts[1] !== session.state)
120
+ throw failure('invalid code, state or expired session');
121
+ const value = await this.exchange(session.profile, { grant_type: 'authorization_code',
122
+ code: parts[0], state: session.state, code_verifier: session.verifier,
123
+ client_id: session.profile.clientId, redirect_uri: session.profile.redirectUri }, session.controller);
124
+ if (this.sessions.get(input.enrollmentId) !== session || session.controller.signal.aborted
125
+ || this.now() >= session.expiresAt)
126
+ throw failure('session cancelled or expired');
127
+ return this.grant(value, session.profile, `acct_claude_${generateNonce()}`, 'browser');
128
+ }
129
+ finally {
130
+ await this.cancel(input.enrollmentId);
131
+ }
132
+ }
133
+ async importCredential(credentialJson) {
134
+ if (typeof credentialJson !== 'string' || new TextEncoder().encode(credentialJson).length > 65_536) {
135
+ throw failure('invalid credential document');
136
+ }
137
+ let value;
138
+ try {
139
+ value = JSON.parse(credentialJson);
140
+ }
141
+ catch {
142
+ throw failure('Paste the renewable Claude CLI credential or use browser enrollment');
143
+ }
144
+ if (object(value) && Object.hasOwn(value, 'claudeAiOauth'))
145
+ value = value.claudeAiOauth;
146
+ if (!object(value))
147
+ throw failure('invalid credential document');
148
+ const profile = await this.profile('claude-code');
149
+ return this.prepare(value.accessToken, value.refreshToken, value.expiresAt, value.scopes, profile, `acct_claude_${generateNonce()}`, 'credential-import');
150
+ }
151
+ async resolve(credential) {
152
+ const metadata = this.metadata.get(credential);
153
+ return metadata ? { ...metadata, scopes: [...metadata.scopes] } : {};
154
+ }
155
+ prepare(access, refresh, expiry, grantedScopes, profile, accountId, method) {
156
+ if (!token(access) || !token(refresh) || typeof expiry !== 'number' || expiry <= 0
157
+ || !Number.isFinite(expiry) || !Number.isFinite(new Date(expiry).getTime())
158
+ || !scopes(grantedScopes) || !profile.requiredScopes.every((scope) => grantedScopes.includes(scope))
159
+ || !grantedScopes.every((scope) => profile.authorizationScopes.includes(scope))) {
160
+ throw failure('invalid renewable grant');
161
+ }
162
+ const credential = { accountId, accessToken: access, refreshToken: refresh,
163
+ expiresAt: new Date(expiry).toISOString(), authClientConfigVersion: profile.id };
164
+ this.metadata.set(credential, { billing_type: 'seat', enrollmentMethod: method,
165
+ authClientConfigVersion: profile.id, refreshManagement: 'mesh', scopes: [...grantedScopes] });
166
+ return credential;
4
167
  }
5
- async complete(_input) {
6
- throw new Error('UNSUPPORTED: claude-code account transport enrollment is portal-only and unsupported locally in h2a-runtime.');
168
+ grant(value, profile, accountId, method, previousRefresh, previousScopes) {
169
+ if (!object(value) || typeof value.expires_in !== 'number' || !Number.isFinite(value.expires_in)
170
+ || value.expires_in <= 0 || (Object.hasOwn(value, 'scope') && typeof value.scope !== 'string')) {
171
+ throw failure('invalid token response');
172
+ }
173
+ const expiry = this.now() + value.expires_in * 1000;
174
+ if (expiry <= this.now())
175
+ throw failure('invalid token expiry');
176
+ return this.prepare(value.access_token, Object.hasOwn(value, 'refresh_token') ? value.refresh_token : previousRefresh, expiry, typeof value.scope === 'string' ? value.scope.split(' ') : previousScopes, profile, accountId, method);
7
177
  }
8
- async resolve(_credential) {
9
- throw new Error('UNSUPPORTED: claude-code account transport enrollment is portal-only and unsupported locally in h2a-runtime.');
178
+ async exchange(profile, body, controller = new AbortController()) {
179
+ let timer;
180
+ const deadline = new Promise((_, reject) => {
181
+ timer = setTimeout(() => { controller.abort(); reject(failure('token request timed out')); }, 30_000);
182
+ });
183
+ try {
184
+ return await Promise.race([deadline, (async () => {
185
+ let response;
186
+ let value;
187
+ try {
188
+ response = await this.fetchFn(profile.tokenUrl, { method: 'POST', redirect: 'error',
189
+ headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body), signal: controller.signal });
190
+ }
191
+ catch {
192
+ throw failure('token request failed');
193
+ }
194
+ try {
195
+ value = await response.json();
196
+ }
197
+ catch {
198
+ throw failure(`HTTP ${response.status} invalid_response`);
199
+ }
200
+ if (!response.ok) {
201
+ const code = object(value) && typeof value.error === 'string'
202
+ && ['invalid_grant', 'invalid_request', 'invalid_client', 'unauthorized_client',
203
+ 'unsupported_grant_type', 'invalid_scope', 'access_denied'].includes(value.error) ? value.error : 'oauth_error';
204
+ throw failure(`HTTP ${response.status} ${code}`);
205
+ }
206
+ return value;
207
+ })()]);
208
+ }
209
+ finally {
210
+ clearTimeout(timer);
211
+ }
10
212
  }
11
- async refresh(_input) {
12
- throw new Error('UNSUPPORTED: claude-code account transport refresh is portal-only and unsupported locally in h2a-runtime.');
213
+ async refresh(input) {
214
+ const profile = await this.profile(input.credentialVersion, true);
215
+ if (!token(input.refreshToken))
216
+ throw failure('missing or invalid refresh token');
217
+ const value = await this.exchange(profile, { grant_type: 'refresh_token',
218
+ refresh_token: input.refreshToken, client_id: profile.clientId, scope: profile.refreshScopes.join(' ') });
219
+ return this.grant(value, profile, input.accountId, 'refresh', input.refreshToken, input.grantedScopes);
13
220
  }
14
- async cancel(_enrollmentId) {
15
- // no-op stub
221
+ async cancel(enrollmentId) {
222
+ const session = this.sessions.get(enrollmentId);
223
+ if (!session)
224
+ return;
225
+ this.sessions.delete(enrollmentId);
226
+ clearTimeout(session.timer);
227
+ session.controller.abort();
228
+ session.verifier = '';
229
+ session.state = '';
16
230
  }
17
231
  }
18
232
  //# sourceMappingURL=claude-code.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/enrollment/claude-code.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,4BAA4B;IACvC,KAAK,CAAC,KAAK,CAAC,MAA4B;QACtC,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA+B;QAC5C,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,WAA+B;QAC3C,MAAM,IAAI,KAAK,CACb,8GAA8G,CAC/G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAoB;QAChC,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,aAAqB;QAChC,aAAa;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../src/enrollment/claude-code.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,13 @@ export interface CodexEnrollmentOptions {
11
11
  configResolver?: ConfigResolver;
12
12
  fetchFn?: typeof fetch;
13
13
  }
14
+ /**
15
+ * Transient network retries per device-flow fetch site. A device flow lasts
16
+ * minutes by design, so a poll/exchange fetch throw follows the same
17
+ * sleep-then-continue path as a 403 pending poll within the configured
18
+ * budgets — response-body reads and non-transient failures still fail fast.
19
+ */
20
+ export declare const CODEX_POLL_NETWORK_RETRIES = 3;
14
21
  export declare class CodexEnrollmentProvider implements EnrollmentProvider {
15
22
  private readonly defaultClientId;
16
23
  private readonly configResolver?;
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/enrollment/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,qBAAqB,6DAA0D,CAAC;AAC7F,eAAO,MAAM,sBAAsB,0DAAuD,CAAC;AAC3F,eAAO,MAAM,qBAAqB,wCAAqC,CAAC;AACxE,eAAO,MAAM,sBAAsB,yCAAsC,CAAC;AAE1E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CASrB;IACJ,OAAO,CAAC,QAAQ,CAAK;gBAET,OAAO,GAAE,sBAA2B;YAMlC,WAAW;IAYnB,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgE9D,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,WAAW,SAAK,GACf,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,kBAAkB,CAAC;KACjC,CAAC;IAuGI,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBrE,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO1E,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CzD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlD"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/enrollment/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EACV,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AAExB,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAC3D,eAAO,MAAM,eAAe,iCAAiC,CAAC;AAC9D,eAAO,MAAM,qBAAqB,6DAA0D,CAAC;AAC7F,eAAO,MAAM,sBAAsB,0DAAuD,CAAC;AAC3F,eAAO,MAAM,qBAAqB,wCAAqC,CAAC;AACxE,eAAO,MAAM,sBAAsB,yCAAsC,CAAC;AAE1E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED;;;;;GAKG;AACH,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAe5C,qBAAa,uBAAwB,YAAW,kBAAkB;IAChE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CASrB;IACJ,OAAO,CAAC,QAAQ,CAAK;gBAET,OAAO,GAAE,sBAA2B;YAMlC,WAAW;IAYnB,KAAK,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgE9D,iBAAiB,CACrB,YAAY,EAAE,MAAM,EACpB,WAAW,SAAK,GACf,OAAO,CAAC;QACT,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,kBAAkB,CAAC;KACjC,CAAC;IA6II,QAAQ,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAmBrE,OAAO,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO1E,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA8CzD,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAMlD"}
@@ -4,6 +4,26 @@ export const CODEX_DEVICE_AUTH_URL = `${CODEX_AUTH_ISSUER}/api/accounts/deviceau
4
4
  export const CODEX_DEVICE_TOKEN_URL = `${CODEX_AUTH_ISSUER}/api/accounts/deviceauth/token`;
5
5
  export const CODEX_OAUTH_TOKEN_URL = `${CODEX_AUTH_ISSUER}/oauth/token`;
6
6
  export const CODEX_VERIFICATION_URL = `${CODEX_AUTH_ISSUER}/codex/device`;
7
+ /**
8
+ * Transient network retries per device-flow fetch site. A device flow lasts
9
+ * minutes by design, so a poll/exchange fetch throw follows the same
10
+ * sleep-then-continue path as a 403 pending poll within the configured
11
+ * budgets — response-body reads and non-transient failures still fail fast.
12
+ */
13
+ export const CODEX_POLL_NETWORK_RETRIES = 3;
14
+ /**
15
+ * Network detail for client-facing exhaustion errors: cause-code preferred
16
+ * (`e.cause.code`: ETIMEDOUT, ECONNRESET, ...), otherwise the raw message
17
+ * (expressly allowed by spec §15.6). Raw system messages can carry
18
+ * hostnames/paths, so they never ride out alongside a code — the site,
19
+ * retry count and URL already frame it.
20
+ */
21
+ const networkErrorDetail = (error) => {
22
+ const code = error?.cause?.code;
23
+ if (typeof code === 'string' && code)
24
+ return code;
25
+ return error instanceof Error ? error.message : String(error);
26
+ };
7
27
  export class CodexEnrollmentProvider {
8
28
  defaultClientId;
9
29
  configResolver;
@@ -84,21 +104,38 @@ export class CodexEnrollmentProvider {
84
104
  throw new Error(`Enrollment session ${enrollmentId} not found`);
85
105
  }
86
106
  const clientId = await this.getClientId();
107
+ let pollNetworkFailures = 0;
87
108
  for (let attempt = 0; attempt < maxAttempts; attempt += 1) {
88
109
  if (entry.state.cancelledAt) {
89
110
  throw new Error(`Enrollment session ${enrollmentId} was cancelled`);
90
111
  }
91
- const response = await this.fetchFn(CODEX_DEVICE_TOKEN_URL, {
92
- method: 'POST',
93
- headers: {
94
- 'content-type': 'application/json',
95
- accept: 'application/json',
96
- },
97
- body: JSON.stringify({
98
- device_auth_id: entry.deviceAuthId,
99
- user_code: entry.userCode,
100
- }),
101
- });
112
+ let response;
113
+ try {
114
+ response = await this.fetchFn(CODEX_DEVICE_TOKEN_URL, {
115
+ method: 'POST',
116
+ headers: {
117
+ 'content-type': 'application/json',
118
+ accept: 'application/json',
119
+ },
120
+ body: JSON.stringify({
121
+ device_auth_id: entry.deviceAuthId,
122
+ user_code: entry.userCode,
123
+ }),
124
+ });
125
+ }
126
+ catch (error) {
127
+ // Transient poll-fetch blip: same sleep-then-continue path as a 403
128
+ // pending poll — poll/exchange fetch throws retry within the
129
+ // configured budgets (which share the poll's maxAttempts budget).
130
+ pollNetworkFailures += 1;
131
+ if (pollNetworkFailures > CODEX_POLL_NETWORK_RETRIES) {
132
+ throw new Error(`Codex device poll failed (network, ${CODEX_POLL_NETWORK_RETRIES} retries exhausted)`
133
+ + ` at ${CODEX_DEVICE_TOKEN_URL}: ${networkErrorDetail(error)}`);
134
+ }
135
+ await new Promise((res) => setTimeout(res, entry.pollIntervalMs * pollNetworkFailures));
136
+ continue;
137
+ }
138
+ pollNetworkFailures = 0;
102
139
  if (response.status === 403) {
103
140
  // P0-3: Wait for pollIntervalMs without hardcoded 50ms cap
104
141
  await new Promise((res) => setTimeout(res, entry.pollIntervalMs));
@@ -120,14 +157,32 @@ export class CodexEnrollmentProvider {
120
157
  client_id: clientId,
121
158
  code_verifier: tokenPayload.code_verifier,
122
159
  });
123
- const exchangeResponse = await this.fetchFn(CODEX_OAUTH_TOKEN_URL, {
124
- method: 'POST',
125
- headers: {
126
- 'content-type': 'application/x-www-form-urlencoded',
127
- accept: 'application/json',
128
- },
129
- body: exchangeBody,
130
- });
160
+ let exchangeResponse;
161
+ let exchangeNetworkFailures = 0;
162
+ for (;;) {
163
+ try {
164
+ exchangeResponse = await this.fetchFn(CODEX_OAUTH_TOKEN_URL, {
165
+ method: 'POST',
166
+ headers: {
167
+ 'content-type': 'application/x-www-form-urlencoded',
168
+ accept: 'application/json',
169
+ },
170
+ body: exchangeBody,
171
+ });
172
+ break;
173
+ }
174
+ catch (error) {
175
+ exchangeNetworkFailures += 1;
176
+ if (exchangeNetworkFailures > CODEX_POLL_NETWORK_RETRIES) {
177
+ throw new Error(`Codex OAuth token exchange failed (network, ${CODEX_POLL_NETWORK_RETRIES} retries exhausted)`
178
+ + ` at ${CODEX_OAUTH_TOKEN_URL}: ${networkErrorDetail(error)}`);
179
+ }
180
+ await new Promise((res) => setTimeout(res, entry.pollIntervalMs * exchangeNetworkFailures));
181
+ }
182
+ }
183
+ if (!exchangeResponse) {
184
+ throw new Error('Codex OAuth token exchange failed (network): no response');
185
+ }
131
186
  if (!exchangeResponse.ok) {
132
187
  const text = await exchangeResponse.text().catch(() => '');
133
188
  throw new Error(`Codex OAuth token exchange failed (${exchangeResponse.status}): ${text}`);
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/enrollment/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/enrollment/codex.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,iBAAiB,GAAG,yBAAyB,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,8BAA8B,CAAC;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,iBAAiB,mCAAmC,CAAC;AAC7F,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,iBAAiB,gCAAgC,CAAC;AAC3F,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,iBAAiB,cAAc,CAAC;AACxE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,iBAAiB,eAAe,CAAC;AAQ1E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC;AAE5C;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAU,EAAE;IACpD,MAAM,IAAI,GAAI,KAA+C,EAAE,KAAK,EAAE,IAAI,CAAC;IAC3E,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAClD,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,OAAO,uBAAuB;IACjB,eAAe,CAAS;IACxB,cAAc,CAAkB;IAChC,OAAO,CAAe;IACtB,QAAQ,GAAG,IAAI,GAAG,EAShC,CAAC;IACI,QAAQ,GAAG,CAAC,CAAC;IAErB,YAAY,UAAkC,EAAE;QAC9C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,QAAQ,IAAI,eAAe,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IAC1C,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,SAAkB;QAC1C,IAAI,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAClE,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;YAClE,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW;YACb,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAA2B;QACrC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC;QACnB,MAAM,YAAY,GAAG,aAAa,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1F,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,MAAM,EAAE,kBAAkB;aAC3B;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIrC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,cAAc,GAClB,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAClC,CAAC,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI;YACzB,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,KAAK,GAAoB;YAC7B,YAAY;YACZ,UAAU,EAAE,OAAO;YACnB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,aAAa,EAAE,QAAQ;YACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,SAAS;SACV,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE;YAC9B,KAAK;YACL,YAAY,EAAE,OAAO,CAAC,cAAc;YACpC,QAAQ,EAAE,OAAO,CAAC,SAAS;YAC3B,cAAc;SACf,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,aAAa;YACnB,YAAY;YACZ,eAAe,EAAE,sBAAsB;YACvC,QAAQ,EAAE,OAAO,CAAC,SAAS;YAC3B,cAAc;YACd,SAAS;SACV,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,YAAoB,EACpB,WAAW,GAAG,EAAE;QAOhB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,YAAY,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE1C,IAAI,mBAAmB,GAAG,CAAC,CAAC;QAC5B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;YAC1D,IAAI,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,sBAAsB,YAAY,gBAAgB,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE;oBACpD,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,MAAM,EAAE,kBAAkB;qBAC3B;oBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,cAAc,EAAE,KAAK,CAAC,YAAY;wBAClC,SAAS,EAAE,KAAK,CAAC,QAAQ;qBAC1B,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,oEAAoE;gBACpE,6DAA6D;gBAC7D,kEAAkE;gBAClE,mBAAmB,IAAI,CAAC,CAAC;gBACzB,IAAI,mBAAmB,GAAG,0BAA0B,EAAE,CAAC;oBACrD,MAAM,IAAI,KAAK,CACb,sCAAsC,0BAA0B,qBAAqB;0BACnF,OAAO,sBAAsB,KAAK,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAChE,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC,CAAC;gBACxF,SAAS;YACX,CAAC;YACD,mBAAmB,GAAG,CAAC,CAAC;YAExB,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,2DAA2D;gBAC3D,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnD,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;YAC5E,CAAC;YAED,MAAM,YAAY,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAG1C,CAAC;YAEF,IAAI,CAAC,YAAY,CAAC,kBAAkB,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;YAC5E,CAAC;YAED,8BAA8B;YAC9B,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC;gBACvC,UAAU,EAAE,oBAAoB;gBAChC,IAAI,EAAE,YAAY,CAAC,kBAAkB;gBACrC,YAAY,EAAE,GAAG,iBAAiB,sBAAsB;gBACxD,SAAS,EAAE,QAAQ;gBACnB,aAAa,EAAE,YAAY,CAAC,aAAa;aAC1C,CAAC,CAAC;YAEH,IAAI,gBAAsC,CAAC;YAC3C,IAAI,uBAAuB,GAAG,CAAC,CAAC;YAChC,SAAS,CAAC;gBACR,IAAI,CAAC;oBACH,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;wBAC3D,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACP,cAAc,EAAE,mCAAmC;4BACnD,MAAM,EAAE,kBAAkB;yBAC3B;wBACD,IAAI,EAAE,YAAY;qBACnB,CAAC,CAAC;oBACH,MAAM;gBACR,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,uBAAuB,IAAI,CAAC,CAAC;oBAC7B,IAAI,uBAAuB,GAAG,0BAA0B,EAAE,CAAC;wBACzD,MAAM,IAAI,KAAK,CACb,+CAA+C,0BAA0B,qBAAqB;8BAC5F,OAAO,qBAAqB,KAAK,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAC/D,CAAC;oBACJ,CAAC;oBACD,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,cAAc,GAAG,uBAAuB,CAAC,CAAC,CAAC;gBAC9F,CAAC;YACH,CAAC;YAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC3D,MAAM,IAAI,KAAK,CAAC,sCAAsC,gBAAgB,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;YAC7F,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAIjD,CAAC;YAEF,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YACnE,CAAC;YAED,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACpG,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAE/F,8DAA8D;YAC9D,MAAM,UAAU,GAAuB;gBACrC,SAAS;gBACT,WAAW,EAAE,WAAW,CAAC,YAAY;gBACrC,GAAG,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,SAAS;gBACT,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;aACnD,CAAC;YAEF,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;YAE9B,OAAO;gBACL,SAAS;gBACT,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,UAAU;gBAClC,KAAK,EAAE,kBAAkB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG;gBAClD,UAAU;aACX,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA8B;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,YAAY,YAAY,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,KAAK,CAAC,UAAU,CAAC;QAC1B,CAAC;QAED,MAAM,SAAS,GAAG,cAAc,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1D,OAAO;YACL,SAAS;YACT,WAAW,EAAE,SAAS,KAAK,CAAC,IAAI,EAAE;YAClC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YAC3D,uBAAuB,EAAE,KAAK,CAAC,KAAK,CAAC,aAAa;SACnD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAA8B;QAC1C,OAAO;YACL,QAAQ,EAAE,OAAO;YACjB,SAAS,EAAE,UAAU,CAAC,SAAS;SAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAmB;QAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,iBAAiB,CAAC;QACnE,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC;YAC/B,UAAU,EAAE,eAAe;YAC3B,aAAa,EAAE,YAAY;YAC3B,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,mCAAmC;gBACnD,MAAM,EAAE,kBAAkB;aAC3B;YACD,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIrC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,OAAO,CAAC,YAAY;YACjC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;YACvF,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YACnF,uBAAuB,EAAE,QAAQ;SAClC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,YAAoB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
@@ -1,2 +1,2 @@
1
- export type { AccountPublic, CredentialEnvelope, EnrollmentProvider, EnrollmentSession, PreparedCredential, ResolvedProviderMetadata, StartEnrollmentInput, } from './contracts.js';
1
+ export type { AccountPublic, CredentialEnvelope, EnrollmentCompletion, EnrollmentProvider, EnrollmentSession, PreparedCredential, ResolvedProviderMetadata, StartEnrollmentInput, } from './contracts.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/enrollment/index.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC"}
@@ -11,7 +11,7 @@ export function generatePkcePair() {
11
11
  return { codeVerifier, codeChallenge };
12
12
  }
13
13
  export function generateNonce() {
14
- return base64Url(randomBytes(16));
14
+ return base64Url(randomBytes(32));
15
15
  }
16
16
  export async function createLoopbackServer(expectedState, preferredPort = 0) {
17
17
  let server = null;
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,22 @@
1
1
  import type { ProviderId } from './providers.js';
2
+ /** Trusted transport measurement; never derive numbers from provider prose or caller headers. */
3
+ export interface RequestSizeDetail {
4
+ readonly requestBytes: number;
5
+ readonly limitBytes?: number;
6
+ readonly sizeIsLowerBound?: boolean;
7
+ readonly source: 'gateway' | 'upstream';
8
+ }
9
+ export declare const readRequestSizeDetail: (value: unknown) => RequestSizeDetail | undefined;
10
+ export declare class RequestTooLargeError extends Error {
11
+ readonly status = 413;
12
+ readonly code = "request_too_large";
13
+ readonly requestSize: RequestSizeDetail;
14
+ constructor(detail: RequestSizeDetail);
15
+ }
16
+ /** Bounded cause traversal retains typed size evidence across runtime/SDK wrappers. */
17
+ export declare const requestTooLargeDetail: (error: unknown) => {
18
+ requestSize?: RequestSizeDetail;
19
+ } | undefined;
2
20
  export type ProviderErrorRetryReason = 'rate_limit' | 'timeout' | 'server_error' | 'network' | 'overloaded' | 'unknown';
3
21
  export interface NormalizedProviderError {
4
22
  providerId: ProviderId;
@@ -10,6 +28,7 @@ export interface NormalizedProviderError {
10
28
  statusCode?: number;
11
29
  cause?: unknown;
12
30
  metadata?: Record<string, unknown>;
31
+ requestSize?: RequestSizeDetail;
13
32
  }
14
33
  export interface ProviderErrorNormalizationOptions {
15
34
  defaultMessage?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,SAAS,GACT,cAAc,GACd,SAAS,GACT,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AA6CD,eAAO,MAAM,wBAAwB,eACvB,MAAM,GAAG,SAAS,QACxB,MAAM,GAAG,SAAS,YACf,iCAAiC,KACzC,OAYF,CAAC;AAEF,eAAO,MAAM,sBAAsB,eACrB,UAAU,SACf,OAAO,YACL,iCAAiC,KACzC,uBAsCF,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,iGAAiG;AACjG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,UAAU,CAAC;CACzC;AAED,eAAO,MAAM,qBAAqB,UAAW,OAAO,KAAG,iBAAiB,GAAG,SAS1E,CAAC;AAEF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,OAAO;IACtB,QAAQ,CAAC,IAAI,uBAAuB;IACpC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,CAAC;gBAC5B,MAAM,EAAE,iBAAiB;CAOtC;AAED,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,UAAW,OAAO,KAAG;IAAE,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,SAgB5F,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,SAAS,GACT,cAAc,GACd,SAAS,GACT,YAAY,GACZ,SAAS,CAAC;AAEd,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,iCAAiC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1C;AA6CD,eAAO,MAAM,wBAAwB,eACvB,MAAM,GAAG,SAAS,QACxB,MAAM,GAAG,SAAS,YACf,iCAAiC,KACzC,OAcF,CAAC;AAEF,eAAO,MAAM,sBAAsB,eACrB,UAAU,SACf,OAAO,YACL,iCAAiC,KACzC,uBAwCF,CAAC"}
package/dist/errors.js CHANGED
@@ -1,3 +1,45 @@
1
+ export const readRequestSizeDetail = (value) => {
2
+ const detail = value;
3
+ if (!detail || typeof detail !== 'object' || !Number.isSafeInteger(detail.requestBytes)
4
+ || detail.requestBytes < 0 || (detail.source !== 'gateway' && detail.source !== 'upstream')
5
+ || (detail.limitBytes !== undefined && (!Number.isSafeInteger(detail.limitBytes) || detail.limitBytes <= 0))
6
+ || (detail.sizeIsLowerBound !== undefined && typeof detail.sizeIsLowerBound !== 'boolean'))
7
+ return undefined;
8
+ return Object.freeze({ requestBytes: detail.requestBytes, source: detail.source,
9
+ ...(detail.limitBytes !== undefined ? { limitBytes: detail.limitBytes } : {}),
10
+ ...(detail.sizeIsLowerBound !== undefined ? { sizeIsLowerBound: detail.sizeIsLowerBound } : {}) });
11
+ };
12
+ export class RequestTooLargeError extends Error {
13
+ status = 413;
14
+ code = 'request_too_large';
15
+ requestSize;
16
+ constructor(detail) {
17
+ super('Request body is too large');
18
+ this.name = 'RequestTooLargeError';
19
+ const safe = readRequestSizeDetail(detail);
20
+ if (!safe)
21
+ throw new TypeError('Invalid request size measurement');
22
+ this.requestSize = safe;
23
+ }
24
+ }
25
+ /** Bounded cause traversal retains typed size evidence across runtime/SDK wrappers. */
26
+ export const requestTooLargeDetail = (error) => {
27
+ let current = error;
28
+ let detected = false;
29
+ let requestSize;
30
+ const seen = new Set();
31
+ for (let depth = 0; depth < 8 && current && typeof current === 'object' && !seen.has(current); depth++) {
32
+ seen.add(current);
33
+ const record = current;
34
+ const metadata = record.metadata;
35
+ requestSize ??= readRequestSizeDetail(record.requestSize) ?? readRequestSizeDetail(metadata?.requestSize);
36
+ detected ||= record.status === 413 || record.statusCode === 413 || record.kind === 'request-too-large'
37
+ || [record.code, record.type].some(value => typeof value === 'string'
38
+ && ['request_too_large', 'request-too-large'].includes(value.toLowerCase()));
39
+ current = record.cause ?? record.error ?? record.response;
40
+ }
41
+ return detected ? { ...(requestSize ? { requestSize } : {}) } : undefined;
42
+ };
1
43
  const defaultRetryableStatusCodes = [408, 409, 425, 429, 500, 502, 503, 504];
2
44
  const defaultRetryableCodes = [
3
45
  'rate_limit',
@@ -37,6 +79,9 @@ const inferRetryReason = (statusCode, code) => {
37
79
  return undefined;
38
80
  };
39
81
  export const isRetryableProviderError = (statusCode, code, options = {}) => {
82
+ if (statusCode === 413 || code?.toLowerCase() === 'request_too_large'
83
+ || code?.toLowerCase() === 'request-too-large')
84
+ return false;
40
85
  const retryableStatusCodes = options.retryableStatusCodes ?? defaultRetryableStatusCodes;
41
86
  const retryableCodes = options.retryableCodes ?? defaultRetryableCodes;
42
87
  const nonRetryableCodes = options.nonRetryableCodes ?? [];
@@ -52,15 +97,16 @@ export const isRetryableProviderError = (statusCode, code, options = {}) => {
52
97
  export const normalizeProviderError = (providerId, error, options = {}) => {
53
98
  const record = asRecord(error);
54
99
  const nested = nestedErrorRecord(record);
55
- const statusCode = readNumber(record, 'statusCode') ||
100
+ const tooLarge = requestTooLargeDetail(error);
101
+ const statusCode = (tooLarge ? 413 : undefined) || readNumber(record, 'statusCode') ||
56
102
  readNumber(record, 'status') ||
57
103
  readNumber(nested, 'statusCode') ||
58
104
  readNumber(nested, 'status');
59
- const code = readString(record, 'code') ||
105
+ const code = (tooLarge ? 'request_too_large' : undefined) || readString(record, 'code') ||
60
106
  readString(record, 'type') ||
61
107
  readString(nested, 'code') ||
62
108
  readString(nested, 'status');
63
- const message = readString(record, 'message') ||
109
+ const message = (tooLarge ? 'Request body is too large' : undefined) || readString(record, 'message') ||
64
110
  readString(nested, 'message') ||
65
111
  (error instanceof Error && error.message) ||
66
112
  options.defaultMessage ||
@@ -77,7 +123,8 @@ export const normalizeProviderError = (providerId, error, options = {}) => {
77
123
  retryable,
78
124
  ...(code ? { code } : {}),
79
125
  ...(retryReason ? { retryReason } : {}),
80
- ...(retryAfterMs ? { retryAfterMs } : {}),
126
+ ...(!tooLarge && retryAfterMs ? { retryAfterMs } : {}),
127
+ ...(tooLarge?.requestSize ? { requestSize: tooLarge.requestSize } : {}),
81
128
  ...(typeof statusCode === 'number' ? { statusCode } : {}),
82
129
  ...(error instanceof Error || record ? { cause: error } : {}),
83
130
  };
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}