@markusylisiurunen/tau 0.2.66 → 0.2.67

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 (53) hide show
  1. package/README.md +3 -1
  2. package/dist/core/async/cli.js +148 -180
  3. package/dist/core/async/cli.js.map +1 -1
  4. package/dist/core/async/server_config.js +5 -8
  5. package/dist/core/async/server_config.js.map +1 -1
  6. package/dist/core/async/session_manager.js +65 -72
  7. package/dist/core/async/session_manager.js.map +1 -1
  8. package/dist/core/async/telegram.js +57 -6
  9. package/dist/core/async/telegram.js.map +1 -1
  10. package/dist/core/auth/auth_manager.js.map +1 -1
  11. package/dist/core/auth/auth_storage.js +55 -76
  12. package/dist/core/auth/auth_storage.js.map +1 -1
  13. package/dist/core/auth/credential_resolver.js +11 -1
  14. package/dist/core/auth/credential_resolver.js.map +1 -1
  15. package/dist/core/auth/jwt.js +9 -9
  16. package/dist/core/auth/jwt.js.map +1 -1
  17. package/dist/core/auth/providers/openai_codex.js +128 -194
  18. package/dist/core/auth/providers/openai_codex.js.map +1 -1
  19. package/dist/core/cli.js +40 -48
  20. package/dist/core/cli.js.map +1 -1
  21. package/dist/core/config/content_loader.js +10 -13
  22. package/dist/core/config/content_loader.js.map +1 -1
  23. package/dist/core/config/markdown_frontmatter.js.map +1 -1
  24. package/dist/core/config/schema.js +18 -26
  25. package/dist/core/config/schema.js.map +1 -1
  26. package/dist/core/events/parser.js +47 -25
  27. package/dist/core/events/parser.js.map +1 -1
  28. package/dist/core/install/cli.js +10 -4
  29. package/dist/core/install/cli.js.map +1 -1
  30. package/dist/core/models/catalog.js +94 -0
  31. package/dist/core/models/catalog.js.map +1 -0
  32. package/dist/core/models/tau_extensions.js +2 -0
  33. package/dist/core/models/tau_extensions.js.map +1 -0
  34. package/dist/core/personas.js +7 -7
  35. package/dist/core/personas.js.map +1 -1
  36. package/dist/core/session/session_engine.js +3 -1
  37. package/dist/core/session/session_engine.js.map +1 -1
  38. package/dist/core/subagents/launch_model.js +10 -13
  39. package/dist/core/subagents/launch_model.js.map +1 -1
  40. package/dist/core/subagents/subagent_engine.js +1 -3
  41. package/dist/core/subagents/subagent_engine.js.map +1 -1
  42. package/dist/core/usage/cli.js +150 -130
  43. package/dist/core/usage/cli.js.map +1 -1
  44. package/dist/core/utils/model_stream.js +30 -4
  45. package/dist/core/utils/model_stream.js.map +1 -1
  46. package/dist/core/version.js +1 -1
  47. package/dist/tui/chat_controller/session_maintenance_service.js +10 -8
  48. package/dist/tui/chat_controller/session_maintenance_service.js.map +1 -1
  49. package/dist/tui/chat_controller.js +10 -18
  50. package/dist/tui/chat_controller.js.map +1 -1
  51. package/package.json +4 -4
  52. package/dist/core/utils/type_guards.js +0 -4
  53. package/dist/core/utils/type_guards.js.map +0 -1
@@ -13,18 +13,15 @@ export class OpenAICodexAdapter {
13
13
  addOAuthAccount(authStorage, credentials) {
14
14
  const claims = assertCodexClaims(credentials);
15
15
  const accountId = claims.accountId;
16
- const providerAccountId = normalizeString(credentials.accountId) ?? claims.accountId;
17
- const enterpriseUrl = normalizeString(credentials.enterpriseUrl);
18
- const projectId = normalizeString(credentials.projectId);
19
16
  const account = {
20
17
  type: "oauth",
21
18
  accountId,
22
- providerAccountId,
19
+ providerAccountId: normalizeString(credentials.accountId) ?? claims.accountId,
23
20
  access: credentials.access,
24
21
  refresh: credentials.refresh,
25
22
  expires: credentials.expires,
26
- enterpriseUrl,
27
- projectId,
23
+ enterpriseUrl: normalizeString(credentials.enterpriseUrl),
24
+ projectId: normalizeString(credentials.projectId),
28
25
  };
29
26
  authStorage.update((data) => {
30
27
  const providerData = ensureProvider(data, PROVIDER_ID);
@@ -42,15 +39,13 @@ export class OpenAICodexAdapter {
42
39
  let removed = false;
43
40
  authStorage.update((data) => {
44
41
  const providerData = ensureProvider(data, PROVIDER_ID);
45
- const nextAccounts = providerData.accounts.filter((account) => {
46
- if (account.type !== "oauth")
47
- return true;
48
- if (!matchesIdentifier(account, normalizedId))
42
+ providerData.accounts = providerData.accounts.filter((account) => {
43
+ if (account.type !== "oauth" || !matchesIdentifier(account, normalizedId)) {
49
44
  return true;
45
+ }
50
46
  removed = true;
51
47
  return false;
52
48
  });
53
- providerData.accounts = nextAccounts;
54
49
  });
55
50
  return removed;
56
51
  }
@@ -58,11 +53,9 @@ export class OpenAICodexAdapter {
58
53
  const accounts = getAccounts(authStorage);
59
54
  if (accounts.length === 0)
60
55
  return [];
61
- const details = await Promise.all(accounts.map(async (account) => {
56
+ return Promise.all(accounts.map(async (account) => {
62
57
  const identity = decodeIdentity(account.access);
63
- const usage = await this.getUsageSnapshot(authStorage, account, {
64
- forceRefresh: true,
65
- });
58
+ const usage = await this.getUsageSnapshot(authStorage, account, { forceRefresh: true });
66
59
  return {
67
60
  provider: PROVIDER_ID,
68
61
  accountId: account.accountId,
@@ -71,7 +64,6 @@ export class OpenAICodexAdapter {
71
64
  usage,
72
65
  };
73
66
  }));
74
- return details;
75
67
  }
76
68
  async selectAccount(authStorage) {
77
69
  const accounts = getAccounts(authStorage);
@@ -83,67 +75,52 @@ export class OpenAICodexAdapter {
83
75
  return apiKey ? { accountId: forcedAccountId, apiKey } : undefined;
84
76
  }
85
77
  const now = nowSeconds();
86
- const candidates = accounts.map((account, index) => ({
87
- account,
88
- index,
89
- usage: account.usage,
90
- }));
78
+ const candidates = accounts.map((account, index) => ({ account, index, usage: account.usage }));
91
79
  candidates.sort((a, b) => compareAccountPriority(a, b, now));
92
80
  for (const candidate of candidates) {
93
81
  const apiKey = await this.getApiKeyForAccount(authStorage, candidate.account.accountId);
94
- if (!apiKey) {
82
+ if (!apiKey)
95
83
  continue;
96
- }
97
84
  let usage = candidate.usage;
98
- if (shouldRefreshUsage(usage, now) || !isUsageUsable(usage, now)) {
85
+ if (!isUsageUsable(usage, now) || !usage || isUsageExpired(usage, now)) {
99
86
  const refreshed = await this.getUsageSnapshot(authStorage, candidate.account, {
100
87
  apiKey,
101
88
  forceRefresh: true,
102
89
  });
103
90
  usage = refreshed ?? usage;
104
91
  }
105
- if (!isUsageUsable(usage, now)) {
106
- continue;
92
+ if (isUsageUsable(usage, now)) {
93
+ return { accountId: candidate.account.accountId, apiKey };
107
94
  }
108
- return { accountId: candidate.account.accountId, apiKey };
109
95
  }
110
96
  return undefined;
111
97
  }
112
98
  selectAccountFromList(accounts) {
113
99
  if (accounts.length === 0)
114
100
  return undefined;
115
- const now = nowSeconds();
116
101
  const forcedAccountId = getForcedAccountIdFromList(accounts);
117
102
  if (forcedAccountId)
118
103
  return forcedAccountId;
119
- const candidates = accounts.map((account, index) => ({ account, index }));
120
- const usableCandidates = candidates.filter((candidate) => isUsageUsable(candidate.account.usage, now));
121
- if (usableCandidates.length === 0)
104
+ const now = nowSeconds();
105
+ const candidates = accounts
106
+ .map((account, index) => ({ accountId: account.accountId, usage: account.usage, index }))
107
+ .filter((candidate) => isUsageUsable(candidate.usage, now));
108
+ if (candidates.length === 0)
122
109
  return undefined;
123
- usableCandidates.sort((a, b) => compareAccountPriority({ index: a.index, usage: a.account.usage }, { index: b.index, usage: b.account.usage }, now));
124
- return usableCandidates[0]?.account.accountId;
110
+ candidates.sort((a, b) => compareAccountPriority(a, b, now));
111
+ return candidates[0]?.accountId;
125
112
  }
126
113
  async getApiKeyForAccount(authStorage, accountId) {
127
114
  const account = getAccounts(authStorage).find((entry) => entry.accountId === accountId);
128
115
  if (!account)
129
116
  return undefined;
130
- const credential = toOAuthCredentials(account);
131
117
  const result = await getOAuthApiKey(PROVIDER_ID, {
132
- [PROVIDER_ID]: credential,
118
+ [PROVIDER_ID]: toOAuthCredentials(account),
133
119
  });
134
120
  if (!result)
135
121
  return undefined;
136
122
  if (shouldUpdateAccount(account, result.newCredentials)) {
137
- authStorage.update((data) => {
138
- const providerData = ensureProvider(data, PROVIDER_ID);
139
- const index = providerData.accounts.findIndex((entry) => entry.type === "oauth" && entry.accountId === account.accountId);
140
- if (index < 0)
141
- return;
142
- const current = providerData.accounts[index];
143
- if (!current || current.type !== "oauth")
144
- return;
145
- providerData.accounts[index] = mergeUpdatedCredentials(current, result.newCredentials);
146
- });
123
+ updateStoredOAuthAccount(authStorage, account.accountId, (current) => mergeUpdatedCredentials(current, result.newCredentials));
147
124
  }
148
125
  return result.apiKey;
149
126
  }
@@ -154,13 +131,12 @@ export class OpenAICodexAdapter {
154
131
  const account = getAccounts(authStorage).find((entry) => entry.accountId === accountId);
155
132
  if (!account)
156
133
  return false;
157
- const now = nowSeconds();
158
134
  const usage = await this.getUsageSnapshot(authStorage, account, {
159
135
  apiKey: options?.apiKey,
160
136
  refreshIfExpired: true,
161
137
  refreshIfMissing: true,
162
138
  });
163
- return isUsageUsable(usage, now);
139
+ return isUsageUsable(usage, nowSeconds());
164
140
  }
165
141
  async handleProviderError(authStorage, accountId, _error) {
166
142
  const accounts = getAccounts(authStorage);
@@ -173,48 +149,44 @@ export class OpenAICodexAdapter {
173
149
  forceRefresh: true,
174
150
  refreshIfMissing: true,
175
151
  });
176
- if (!selectedUsage)
152
+ if (!selectedUsage || !isUsageExhausted(selectedUsage))
177
153
  return false;
178
- const exhausted = isUsageExhausted(selectedUsage);
179
- if (exhausted) {
180
- for (const account of accounts) {
181
- if (account.accountId === accountId)
182
- continue;
183
- await this.getUsageSnapshot(authStorage, account, {
184
- forceRefresh: true,
185
- refreshIfMissing: true,
186
- });
187
- }
154
+ for (const account of accounts) {
155
+ if (account.accountId === accountId)
156
+ continue;
157
+ await this.getUsageSnapshot(authStorage, account, {
158
+ forceRefresh: true,
159
+ refreshIfMissing: true,
160
+ });
188
161
  }
189
- return exhausted;
162
+ return true;
190
163
  }
191
164
  async getUsageSnapshot(authStorage, account, options) {
192
165
  const now = nowSeconds();
193
166
  let usage = account.usage;
194
- const forceRefresh = options?.forceRefresh ?? false;
195
- const refreshMissing = options?.refreshIfMissing ?? false;
196
- const refreshExpired = options?.refreshIfExpired ?? false;
197
- const shouldRefresh = forceRefresh ||
198
- (refreshMissing && !usage) ||
199
- (refreshExpired && usage && isUsageExpired(usage, now));
200
- if (shouldRefresh) {
201
- try {
202
- const apiKey = options?.apiKey ?? (await this.getApiKeyForAccount(authStorage, account.accountId));
203
- if (!apiKey)
204
- return usage;
205
- const refreshedAccount = getAccounts(authStorage).find((entry) => entry.accountId === account.accountId) ??
206
- account;
207
- const refreshed = await fetchUsage(apiKey, refreshedAccount.providerAccountId);
208
- if (refreshed) {
209
- usage = refreshed;
210
- updateAccountUsage(authStorage, account.accountId, refreshed);
211
- }
212
- }
213
- catch {
167
+ const shouldRefresh = Boolean(options?.forceRefresh) ||
168
+ (Boolean(options?.refreshIfMissing) && !usage) ||
169
+ (Boolean(options?.refreshIfExpired) && usage !== undefined && isUsageExpired(usage, now));
170
+ if (!shouldRefresh)
171
+ return usage;
172
+ try {
173
+ const apiKey = options?.apiKey ?? (await this.getApiKeyForAccount(authStorage, account.accountId));
174
+ if (!apiKey)
214
175
  return usage;
215
- }
176
+ const refreshedAccount = getAccounts(authStorage).find((entry) => entry.accountId === account.accountId) ?? account;
177
+ const refreshedUsage = await fetchUsage(apiKey, refreshedAccount.providerAccountId);
178
+ if (!refreshedUsage)
179
+ return usage;
180
+ usage = refreshedUsage;
181
+ updateStoredOAuthAccount(authStorage, account.accountId, (current) => ({
182
+ ...current,
183
+ usage: refreshedUsage,
184
+ }));
185
+ return usage;
186
+ }
187
+ catch {
188
+ return usage;
216
189
  }
217
- return usage;
218
190
  }
219
191
  }
220
192
  function ensureProvider(data, providerId) {
@@ -224,36 +196,36 @@ function ensureProvider(data, providerId) {
224
196
  return data.providers[providerId];
225
197
  }
226
198
  function getAccounts(authStorage) {
227
- const data = authStorage.getData();
228
- const provider = data.providers[PROVIDER_ID];
229
- if (!provider || !Array.isArray(provider.accounts))
199
+ const provider = authStorage.getData().providers[PROVIDER_ID];
200
+ if (!provider)
230
201
  return [];
231
202
  return provider.accounts.filter((account) => account.type === "oauth");
232
203
  }
233
204
  function resolveForcedAccountId(authStorage) {
234
- const raw = process.env[FORCED_ACCOUNT_ENV];
235
- if (!raw)
205
+ const forced = readForcedAccountIdentifier();
206
+ if (!forced)
236
207
  return undefined;
237
- const identifier = normalizeIdentifier(raw);
238
- if (!identifier)
239
- return undefined;
240
- const account = getAccounts(authStorage).find((entry) => matchesIdentifier(entry, identifier));
208
+ const account = getAccounts(authStorage).find((entry) => matchesIdentifier(entry, forced.identifier));
241
209
  if (!account) {
242
- throw new Error(`${FORCED_ACCOUNT_ENV} did not match any stored Codex account: "${raw}". ` +
210
+ throw new Error(`${FORCED_ACCOUNT_ENV} did not match any stored Codex account: "${forced.raw}". ` +
243
211
  'Run "tau auth list" to see available accounts.');
244
212
  }
245
213
  return account.accountId;
246
214
  }
247
215
  function getForcedAccountIdFromList(accounts) {
216
+ const forced = readForcedAccountIdentifier();
217
+ if (!forced)
218
+ return undefined;
219
+ const account = accounts.find((entry) => entry.email?.trim().toLowerCase() === forced.identifier ||
220
+ entry.accountId.trim().toLowerCase() === forced.identifier);
221
+ return account?.accountId;
222
+ }
223
+ function readForcedAccountIdentifier() {
248
224
  const raw = process.env[FORCED_ACCOUNT_ENV];
249
225
  if (!raw)
250
226
  return undefined;
251
227
  const identifier = normalizeIdentifier(raw);
252
- if (!identifier)
253
- return undefined;
254
- const account = accounts.find((entry) => entry.email?.trim().toLowerCase() === identifier ||
255
- entry.accountId.trim().toLowerCase() === identifier);
256
- return account?.accountId;
228
+ return identifier ? { raw, identifier } : undefined;
257
229
  }
258
230
  function toOAuthCredentials(account) {
259
231
  const credentials = {
@@ -269,54 +241,38 @@ function toOAuthCredentials(account) {
269
241
  return credentials;
270
242
  }
271
243
  function assertCodexClaims(credentials) {
272
- const payload = decodeJwtPayload(credentials.access);
273
- const accountId = extractAccountId(payload);
274
- const identity = decodeIdentityPayload(payload);
244
+ const claims = parseCodexClaims(decodeJwtPayload(credentials.access));
275
245
  const missing = [];
276
- if (!accountId)
246
+ if (!claims.accountId)
277
247
  missing.push("account id");
278
- if (!identity.email)
248
+ if (!claims.email)
279
249
  missing.push("email");
280
- if (!identity.plan)
250
+ if (!claims.plan)
281
251
  missing.push("plan");
282
252
  if (missing.length > 0) {
283
253
  throw new Error(`oauth access token missing required claims: ${missing.join(", ")}. please re-authenticate.`);
284
254
  }
285
255
  const providedAccountId = normalizeString(credentials.accountId);
286
- if (providedAccountId && providedAccountId !== accountId) {
287
- throw new Error(`oauth access token account id "${accountId}" does not match credentials account id "${providedAccountId}".`);
256
+ if (providedAccountId && providedAccountId !== claims.accountId) {
257
+ throw new Error(`oauth access token account id "${claims.accountId}" does not match credentials account id "${providedAccountId}".`);
288
258
  }
289
- return { accountId: accountId, email: identity.email, plan: identity.plan };
259
+ return { accountId: claims.accountId, email: claims.email, plan: claims.plan };
290
260
  }
291
261
  function decodeIdentity(accessToken) {
292
- return decodeIdentityPayload(decodeJwtPayload(accessToken));
262
+ const claims = parseCodexClaims(decodeJwtPayload(accessToken));
263
+ return { email: claims.email, plan: claims.plan };
293
264
  }
294
- function decodeIdentityPayload(payload) {
265
+ function parseCodexClaims(payload) {
295
266
  if (!payload)
296
267
  return {};
297
- const emailValue = payload.email ??
298
- (typeof payload["https://api.openai.com/profile"] === "object"
299
- ? payload["https://api.openai.com/profile"].email
300
- : undefined);
301
- const planValue = (typeof payload["https://api.openai.com/auth"] === "object"
302
- ? payload["https://api.openai.com/auth"]
303
- .chatgpt_plan_type
304
- : undefined) ?? payload.chatgpt_plan_type;
305
- const email = normalizeString(emailValue);
306
- const plan = normalizeString(planValue);
307
- return { email, plan };
308
- }
309
- function extractAccountId(payload) {
310
- if (!payload)
311
- return undefined;
312
- const authPayload = payload["https://api.openai.com/auth"];
313
- if (authPayload && typeof authPayload === "object") {
314
- const chatgptAccountId = authPayload.chatgpt_account_id;
315
- const normalized = normalizeString(chatgptAccountId);
316
- if (normalized)
317
- return normalized;
318
- }
319
- return normalizeString(payload.chatgpt_account_id);
268
+ const profileClaims = asRecord(payload["https://api.openai.com/profile"]);
269
+ const authClaims = asRecord(payload["https://api.openai.com/auth"]);
270
+ return {
271
+ email: normalizeString(payload.email) ?? normalizeString(profileClaims?.email),
272
+ plan: normalizeString(authClaims?.chatgpt_plan_type) ?? normalizeString(payload.chatgpt_plan_type),
273
+ accountId: normalizeString(authClaims?.chatgpt_account_id) ??
274
+ normalizeString(payload.chatgpt_account_id),
275
+ };
320
276
  }
321
277
  function normalizeString(value) {
322
278
  if (typeof value !== "string")
@@ -324,6 +280,11 @@ function normalizeString(value) {
324
280
  const trimmed = value.trim();
325
281
  return trimmed.length > 0 ? trimmed : undefined;
326
282
  }
283
+ function asRecord(value) {
284
+ return typeof value === "object" && value !== null && !Array.isArray(value)
285
+ ? value
286
+ : undefined;
287
+ }
327
288
  function normalizeIdentifier(value) {
328
289
  return value.trim().toLowerCase();
329
290
  }
@@ -332,9 +293,7 @@ function matchesIdentifier(account, identifier) {
332
293
  return false;
333
294
  if (account.accountId.toLowerCase() === identifier)
334
295
  return true;
335
- const identity = decodeIdentity(account.access);
336
- const email = identity.email ? identity.email.toLowerCase() : undefined;
337
- return email === identifier;
296
+ return decodeIdentity(account.access).email?.toLowerCase() === identifier;
338
297
  }
339
298
  async function fetchUsage(apiKey, providerAccountId) {
340
299
  const headers = {
@@ -345,32 +304,28 @@ async function fetchUsage(apiKey, providerAccountId) {
345
304
  headers["ChatGPT-Account-Id"] = providerAccountId;
346
305
  }
347
306
  const response = await fetch(USAGE_ENDPOINT, { method: "GET", headers });
348
- if (!response.ok) {
307
+ if (!response.ok)
349
308
  return undefined;
350
- }
351
- const data = (await response.json());
352
- const primary = data.rate_limit?.primary_window;
353
- const secondary = data.rate_limit?.secondary_window;
354
- const windows = [];
355
- if (primary) {
356
- windows.push({
357
- name: "primary",
358
- usedPercent: clampPercent(primary.used_percent),
359
- resetAt: normalizeNumber(primary.reset_at),
360
- windowSeconds: normalizeNumber(primary.limit_window_seconds),
361
- });
362
- }
363
- if (secondary) {
364
- windows.push({
365
- name: "secondary",
366
- usedPercent: clampPercent(secondary.used_percent),
367
- resetAt: normalizeNumber(secondary.reset_at),
368
- windowSeconds: normalizeNumber(secondary.limit_window_seconds),
369
- });
370
- }
371
- if (windows.length === 0)
309
+ const root = asRecord((await response.json()));
310
+ const rateLimit = asRecord(root?.rate_limit);
311
+ if (!rateLimit)
312
+ return undefined;
313
+ const windows = [
314
+ parseUsageWindow(rateLimit.primary_window, "primary"),
315
+ parseUsageWindow(rateLimit.secondary_window, "secondary"),
316
+ ].filter((window) => window !== undefined);
317
+ return windows.length > 0 ? { windows } : undefined;
318
+ }
319
+ function parseUsageWindow(value, name) {
320
+ const window = asRecord(value);
321
+ if (!window)
372
322
  return undefined;
373
- return { windows };
323
+ return {
324
+ name,
325
+ usedPercent: clampPercent(window.used_percent),
326
+ resetAt: normalizeNumber(window.reset_at),
327
+ windowSeconds: normalizeNumber(window.limit_window_seconds),
328
+ };
374
329
  }
375
330
  function compareAccountPriority(a, b, now) {
376
331
  const activeA = hasActivePrimaryWindow(a.usage, now);
@@ -392,13 +347,9 @@ function findWindow(usage, name) {
392
347
  return usage.windows.find((window) => window.name === name);
393
348
  }
394
349
  function getUsageUsedPercent(usage, now) {
395
- if (!usage)
350
+ if (!usage || isUsageExpired(usage, now))
396
351
  return undefined;
397
- if (isUsageExpired(usage, now))
398
- return undefined;
399
- const primary = findWindow(usage, "primary");
400
- const secondary = findWindow(usage, "secondary");
401
- return Math.max(primary?.usedPercent ?? 0, secondary?.usedPercent ?? 0);
352
+ return Math.max(findWindow(usage, "primary")?.usedPercent ?? 0, findWindow(usage, "secondary")?.usedPercent ?? 0);
402
353
  }
403
354
  function nowSeconds() {
404
355
  return Math.floor(Date.now() / 1000);
@@ -407,22 +358,10 @@ function isUsageExpired(usage, now) {
407
358
  return usage.windows.some((window) => window.resetAt > 0 && window.resetAt <= now);
408
359
  }
409
360
  function isUsageExhausted(usage) {
410
- const primary = findWindow(usage, "primary");
411
- const secondary = findWindow(usage, "secondary");
412
- const threshold = 99;
413
- return (primary?.usedPercent ?? 0) >= threshold || (secondary?.usedPercent ?? 0) >= threshold;
361
+ return (Math.max(findWindow(usage, "primary")?.usedPercent ?? 0, findWindow(usage, "secondary")?.usedPercent ?? 0) >= 99);
414
362
  }
415
363
  function isUsageUsable(usage, now) {
416
- if (!usage)
417
- return true;
418
- if (isUsageExpired(usage, now))
419
- return true;
420
- return !isUsageExhausted(usage);
421
- }
422
- function shouldRefreshUsage(usage, now) {
423
- if (!usage)
424
- return true;
425
- return isUsageExpired(usage, now);
364
+ return !usage || isUsageExpired(usage, now) || !isUsageExhausted(usage);
426
365
  }
427
366
  function hasActivePrimaryWindow(usage, now) {
428
367
  if (!usage)
@@ -430,27 +369,25 @@ function hasActivePrimaryWindow(usage, now) {
430
369
  const primary = findWindow(usage, "primary");
431
370
  return Boolean(primary && primary.resetAt > now);
432
371
  }
433
- function updateAccountUsage(authStorage, accountId, usage) {
372
+ function updateStoredOAuthAccount(authStorage, accountId, update) {
434
373
  authStorage.update((data) => {
435
- const providerData = ensureProvider(data, PROVIDER_ID);
436
- const index = providerData.accounts.findIndex((entry) => entry.type === "oauth" && entry.accountId === accountId);
374
+ const accounts = ensureProvider(data, PROVIDER_ID).accounts;
375
+ const index = accounts.findIndex((entry) => entry.type === "oauth" && entry.accountId === accountId);
437
376
  if (index < 0)
438
377
  return;
439
- const account = providerData.accounts[index];
378
+ const account = accounts[index];
440
379
  if (!account || account.type !== "oauth")
441
380
  return;
442
- providerData.accounts[index] = { ...account, usage };
381
+ accounts[index] = update(account);
443
382
  });
444
383
  }
445
384
  function clampPercent(value) {
446
- if (typeof value !== "number" || Number.isNaN(value))
447
- return 0;
448
- return Math.min(100, Math.max(0, Math.round(value)));
385
+ return typeof value === "number" && !Number.isNaN(value)
386
+ ? Math.min(100, Math.max(0, Math.round(value)))
387
+ : 0;
449
388
  }
450
389
  function normalizeNumber(value) {
451
- if (typeof value !== "number" || Number.isNaN(value))
452
- return 0;
453
- return Math.round(value);
390
+ return typeof value === "number" && !Number.isNaN(value) ? Math.round(value) : 0;
454
391
  }
455
392
  function shouldUpdateAccount(current, updated) {
456
393
  const updatedAccountId = normalizeString(updated.accountId);
@@ -464,17 +401,14 @@ function shouldUpdateAccount(current, updated) {
464
401
  Boolean(updatedProjectId && updatedProjectId !== current.projectId));
465
402
  }
466
403
  function mergeUpdatedCredentials(account, updated) {
467
- const providerAccountId = normalizeString(updated.accountId) ?? account.providerAccountId;
468
- const enterpriseUrl = normalizeString(updated.enterpriseUrl) ?? account.enterpriseUrl;
469
- const projectId = normalizeString(updated.projectId) ?? account.projectId;
470
404
  return {
471
405
  ...account,
472
406
  access: updated.access,
473
407
  refresh: updated.refresh,
474
408
  expires: updated.expires,
475
- providerAccountId,
476
- enterpriseUrl,
477
- projectId,
409
+ providerAccountId: normalizeString(updated.accountId) ?? account.providerAccountId,
410
+ enterpriseUrl: normalizeString(updated.enterpriseUrl) ?? account.enterpriseUrl,
411
+ projectId: normalizeString(updated.projectId) ?? account.projectId,
478
412
  };
479
413
  }
480
414
  //# sourceMappingURL=openai_codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openai_codex.js","sourceRoot":"","sources":["../../../../src/core/auth/providers/openai_codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAU7C,MAAM,WAAW,GAAG,cAAc,CAAC;AACnC,MAAM,cAAc,GAAG,cAAc,CAAC;AACtC,MAAM,cAAc,GAAG,4CAA4C,CAAC;AACpE,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAmB/C,MAAM,OAAO,kBAAkB;IACpB,EAAE,GAAG,WAAW,CAAC;IACjB,KAAK,GAAG,cAAc,CAAC;IAEhC,wBAAwB,CAAC,WAA6B;QACpD,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjC,CAAC;IAED,eAAe,CAAC,WAAwB,EAAE,WAA6B;QACrE,MAAM,MAAM,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QACnC,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC;QACrF,MAAM,aAAa,GAAG,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,OAAO,GAAiB;YAC5B,IAAI,EAAE,OAAO;YACb,SAAS;YACT,iBAAiB;YACjB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,aAAa;YACb,SAAS;SACV,CAAC;QAEF,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CACnE,CAAC;YACF,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACvB,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa,CAAC,WAAwB,EAAE,SAAiB;QACvD,MAAM,YAAY,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO,IAAI,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,CAAC;oBAAE,OAAO,IAAI,CAAC;gBAC3D,OAAO,GAAG,IAAI,CAAC;gBACf,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;YACH,YAAY,CAAC,QAAQ,GAAG,YAAY,CAAC;QACvC,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAwB;QAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAErC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAChD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE;gBAC9D,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YACH,OAAO;gBACL,QAAQ,EAAE,WAAW;gBACrB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK;aACoB,CAAC;QAC9B,CAAC,CAAC,CACH,CAAC;QAEF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,WAAwB;QAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5C,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC7D,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC5E,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,CAAC;QAED,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACnD,OAAO;YACP,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC,CAAC;QAEJ,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAE7D,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACxF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,SAAS;YACX,CAAC;YAED,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;YAC5B,IAAI,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,EAAE;oBAC5E,MAAM;oBACN,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,KAAK,GAAG,SAAS,IAAI,KAAK,CAAC;YAC7B,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAC5D,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,qBAAqB,CAAC,QAA2B;QAC/C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QAEzB,MAAM,eAAe,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,eAAe;YAAE,OAAO,eAAe,CAAC;QAE5C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1E,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CACvD,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAC5C,CAAC;QACF,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACpD,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7B,sBAAsB,CACpB,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAC1C,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAC1C,GAAG,CACJ,CACF,CAAC;QACF,OAAO,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,WAAwB,EACxB,SAAiB;QAEjB,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,WAA4B,EAAE;YAChE,CAAC,WAAW,CAAC,EAAE,UAAU;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAC9B,IAAI,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;YACxD,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAC3E,CAAC;gBACF,IAAI,KAAK,GAAG,CAAC;oBAAE,OAAO;gBACtB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;oBAAE,OAAO;gBACjD,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,kBAAkB,CAAC,WAAwB;QACzC,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,WAAwB,EACxB,SAAiB,EACjB,OAA6B;QAE7B,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE;YAC9D,MAAM,EAAE,OAAO,EAAE,MAAM;YACvB,gBAAgB,EAAE,IAAI;YACtB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,OAAO,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,WAAwB,EACxB,SAAiB,EACjB,MAAe;QAEf,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAExC,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC;QACpF,IAAI,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QAEnC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,EAAE;YAC9E,YAAY,EAAE,IAAI;YAClB,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QAEjC,MAAM,SAAS,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;oBAAE,SAAS;gBAC9C,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,OAAO,EAAE;oBAChD,YAAY,EAAE,IAAI;oBAClB,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,WAAwB,EACxB,OAAqB,EACrB,OAKC;QAED,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC1B,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,IAAI,KAAK,CAAC;QACpD,MAAM,cAAc,GAAG,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC;QAC1D,MAAM,cAAc,GAAG,OAAO,EAAE,gBAAgB,IAAI,KAAK,CAAC;QAC1D,MAAM,aAAa,GACjB,YAAY;YACZ,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC;YAC1B,CAAC,cAAc,IAAI,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1D,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,MAAM,GACV,OAAO,EAAE,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;gBACtF,IAAI,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBAC1B,MAAM,gBAAgB,GACpB,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;oBAC/E,OAAO,CAAC;gBACV,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;gBAC/E,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,GAAG,SAAS,CAAC;oBAClB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,SAAS,cAAc,CAAC,IAAqB,EAAE,UAAkB;IAC/D,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,UAAU,CAAE,CAAC;AACrC,CAAC;AAED,SAAS,WAAW,CAAC,WAAwB;IAC3C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9D,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAA2B,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAwB;IACtD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,GAAG,kBAAkB,6CAA6C,GAAG,KAAK;YACxE,gDAAgD,CACnD,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA2B;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAC3B,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU;QAChD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CACtD,CAAC;IACF,OAAO,OAAO,EAAE,SAAS,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAqB;IAC/C,MAAM,WAAW,GAAqB;QACpC,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC;IACF,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,iBAAiB,CAAC,WAA6B;IAKtD,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,CAAC,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,+CAA+C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAC7F,CAAC;IACJ,CAAC;IAED,MAAM,iBAAiB,GAAG,eAAe,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IACjE,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CACb,kCAAkC,SAAS,4CAA4C,iBAAiB,IAAI,CAC7G,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,SAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAK,EAAE,CAAC;AACjF,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB;IACzC,OAAO,qBAAqB,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,qBAAqB,CAAC,OAA4C;IAIzE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IAExB,MAAM,UAAU,GACd,OAAO,CAAC,KAAK;QACb,CAAC,OAAO,OAAO,CAAC,gCAAgC,CAAC,KAAK,QAAQ;YAC5D,CAAC,CAAE,OAAO,CAAC,gCAAgC,CAAyB,CAAC,KAAK;YAC1E,CAAC,CAAC,SAAS,CAAC,CAAC;IACjB,MAAM,SAAS,GACb,CAAC,OAAO,OAAO,CAAC,6BAA6B,CAAC,KAAK,QAAQ;QACzD,CAAC,CAAE,OAAO,CAAC,6BAA6B,CAAqC;aACxE,iBAAiB;QACtB,CAAC,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAE9C,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IACxC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA4C;IACpE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,WAAW,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC3D,IAAI,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,gBAAgB,GAAI,WAAgD,CAAC,kBAAkB,CAAC;QAC9F,MAAM,UAAU,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;QACrD,IAAI,UAAU;YAAE,OAAO,UAAU,CAAC;IACpC,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAqB,EAAE,UAAkB;IAClE,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAC9B,IAAI,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAChE,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,OAAO,KAAK,KAAK,UAAU,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,MAAc,EACd,iBAA0B;IAE1B,MAAM,OAAO,GAA2B;QACtC,aAAa,EAAE,UAAU,MAAM,EAAE;QACjC,MAAM,EAAE,kBAAkB;KAC3B,CAAC;IACF,IAAI,iBAAiB,EAAE,CAAC;QACtB,OAAO,CAAC,oBAAoB,CAAC,GAAG,iBAAiB,CAAC;IACpD,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACzE,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAkB,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEpD,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC;YAC/C,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC;YAC1C,aAAa,EAAE,eAAe,CAAC,OAAO,CAAC,oBAAoB,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC;YACjD,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC5C,aAAa,EAAE,eAAe,CAAC,SAAS,CAAC,oBAAoB,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3C,OAAO,EAAE,OAAO,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,sBAAsB,CAC7B,CAA8C,EAC9C,CAA8C,EAC9C,GAAW;IAEX,MAAM,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,sBAAsB,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;QAClE,OAAO,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;AAC3B,CAAC;AAED,SAAS,UAAU,CAAC,KAAuB,EAAE,IAAY;IACvD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAmC,EAAE,GAAW;IAC3E,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,EAAE,SAAS,EAAE,WAAW,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,cAAc,CAAC,KAAuB,EAAE,GAAW;IAC1D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAuB;IAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,EAAE,CAAC;IACrB,OAAO,CAAC,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC,IAAI,SAAS,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC;AAChG,CAAC;AAED,SAAS,aAAa,CAAC,KAAmC,EAAE,GAAW;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5C,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAmC,EAAE,GAAW;IAC1E,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAmC,EAAE,GAAW;IAC9E,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,kBAAkB,CACzB,WAAwB,EACxB,SAAiB,EACjB,KAAuB;IAEvB,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,SAAS,CAC3C,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,CACnE,CAAC;QACF,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO;QACtB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO;YAAE,OAAO;QACjD,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAqB,EAAE,OAAyB;IAC3E,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,MAAM,oBAAoB,GAAG,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,OAAO,CACL,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;QACjC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QACnC,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QACnC,OAAO,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,OAAO,CAAC,iBAAiB,CAAC;QAC3E,OAAO,CAAC,oBAAoB,IAAI,oBAAoB,KAAK,OAAO,CAAC,aAAa,CAAC;QAC/E,OAAO,CAAC,gBAAgB,IAAI,gBAAgB,KAAK,OAAO,CAAC,SAAS,CAAC,CACpE,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAqB,EAAE,OAAyB;IAC/E,MAAM,iBAAiB,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAC1F,MAAM,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,OAAO,CAAC,aAAa,CAAC;IACtF,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC;IAC1E,OAAO;QACL,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,iBAAiB;QACjB,aAAa;QACb,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"openai_codex.js","sourceRoot":"","sources":["../../../../src/core/auth/providers/openai_codex.ts"],"names":[],"mappings":"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"}