opencode-openai-multi-auth 5.0.1 → 5.0.3

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 (47) hide show
  1. package/README.md +8 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +190 -8
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/accounts/manager.d.ts +18 -0
  7. package/dist/lib/accounts/manager.d.ts.map +1 -1
  8. package/dist/lib/accounts/manager.js +149 -16
  9. package/dist/lib/accounts/manager.js.map +1 -1
  10. package/dist/lib/accounts/types.d.ts +1 -0
  11. package/dist/lib/accounts/types.d.ts.map +1 -1
  12. package/dist/lib/accounts/types.js.map +1 -1
  13. package/dist/lib/auth/auth.d.ts.map +1 -1
  14. package/dist/lib/auth/auth.js +8 -0
  15. package/dist/lib/auth/auth.js.map +1 -1
  16. package/dist/lib/codex-status.d.ts +41 -0
  17. package/dist/lib/codex-status.d.ts.map +1 -0
  18. package/dist/lib/codex-status.js +349 -0
  19. package/dist/lib/codex-status.js.map +1 -0
  20. package/dist/lib/constants.d.ts +8 -0
  21. package/dist/lib/constants.d.ts.map +1 -1
  22. package/dist/lib/constants.js +13 -0
  23. package/dist/lib/constants.js.map +1 -1
  24. package/dist/lib/models.d.ts +42 -0
  25. package/dist/lib/models.d.ts.map +1 -0
  26. package/dist/lib/models.js +85 -0
  27. package/dist/lib/models.js.map +1 -0
  28. package/dist/lib/prompts/codex-opencode-bridge.d.ts +1 -1
  29. package/dist/lib/prompts/codex-opencode-bridge.d.ts.map +1 -1
  30. package/dist/lib/prompts/codex-opencode-bridge.js +22 -5
  31. package/dist/lib/prompts/codex-opencode-bridge.js.map +1 -1
  32. package/dist/lib/prompts/codex.d.ts.map +1 -1
  33. package/dist/lib/prompts/codex.js +10 -0
  34. package/dist/lib/prompts/codex.js.map +1 -1
  35. package/dist/lib/request/fetch-helpers.d.ts +2 -1
  36. package/dist/lib/request/fetch-helpers.d.ts.map +1 -1
  37. package/dist/lib/request/fetch-helpers.js +32 -3
  38. package/dist/lib/request/fetch-helpers.js.map +1 -1
  39. package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
  40. package/dist/lib/request/helpers/model-map.js +43 -11
  41. package/dist/lib/request/helpers/model-map.js.map +1 -1
  42. package/dist/lib/request/request-transformer.d.ts.map +1 -1
  43. package/dist/lib/request/request-transformer.js +32 -7
  44. package/dist/lib/request/request-transformer.js.map +1 -1
  45. package/dist/lib/types.d.ts +1 -0
  46. package/dist/lib/types.d.ts.map +1 -1
  47. package/package.json +1 -1
package/README.md CHANGED
@@ -139,6 +139,12 @@ rm ~/.config/opencode/openai-accounts.json
139
139
  cat ~/.config/opencode/openai-accounts.json | jq '.accounts[] | {email, rateLimitResets}'
140
140
  ```
141
141
 
142
+ ### Slash Commands (TUI)
143
+ ```text
144
+ /codex-status
145
+ ```
146
+ Shows usage status for all configured accounts.
147
+
142
148
  ---
143
149
 
144
150
  ## Models
@@ -152,6 +158,8 @@ All GPT-5.2 and GPT-5.1 models with reasoning variants:
152
158
  - **gpt-5.1-codex-mini** (medium/high)
153
159
  - **gpt-5.1** (none/low/medium/high)
154
160
 
161
+ Note: The model selector reflects what the ChatGPT OAuth backend advertises. API-only models (like gpt-5-mini/nano) may not appear until the backend exposes them.
162
+
155
163
  ---
156
164
 
157
165
  ## Configuration
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Plugin } from "@opencode-ai/plugin";
1
+ import { type Plugin } from "@opencode-ai/plugin";
2
2
  export declare const OpenAIAuthPlugin: Plugin;
3
3
  export default OpenAIAuthPlugin;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,qBAAqB,CAAC;AAiD/D,eAAO,MAAM,gBAAgB,EAAE,MAua9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAoB,MAAM,qBAAqB,CAAC;AAuD1E,eAAO,MAAM,gBAAgB,EAAE,MAonB9B,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -1,11 +1,14 @@
1
+ import { tool } from "@opencode-ai/plugin";
1
2
  import { createAuthorizationFlow, decodeJWT, exchangeAuthorizationCode, parseAuthorizationInput, REDIRECT_URI, } from "./lib/auth/auth.js";
2
3
  import { openBrowserUrl } from "./lib/auth/browser.js";
3
4
  import { startLocalOAuthServer } from "./lib/auth/server.js";
4
5
  import { getCodexMode, loadPluginConfig } from "./lib/config.js";
5
- import { AUTH_LABELS, CODEX_BASE_URL, DUMMY_API_KEY, ERROR_MESSAGES, JWT_CLAIM_PATH, LOG_STAGES, PROVIDER_ID, HTTP_STATUS, } from "./lib/constants.js";
6
+ import { AUTH_LABELS, CODEX_BASE_URL, DUMMY_API_KEY, ERROR_MESSAGES, JWT_CLAIM_PATH, LOG_STAGES, PROVIDER_ID, HTTP_STATUS, MODEL_FALLBACKS, } from "./lib/constants.js";
6
7
  import { logRequest, logDebug } from "./lib/logger.js";
7
8
  import { createCodexHeaders, extractRequestUrl, handleErrorResponse, handleSuccessResponse, rewriteUrlForCodex, transformRequestForCodex, } from "./lib/request/fetch-helpers.js";
8
9
  import { AccountManager } from "./lib/accounts/index.js";
10
+ import { codexStatus } from "./lib/codex-status.js";
11
+ import { prefetchModels } from "./lib/models.js";
9
12
  function extractModelFromBody(body) {
10
13
  if (!body)
11
14
  return undefined;
@@ -20,6 +23,8 @@ function extractModelFromBody(body) {
20
23
  let lastToastAccountIndex = null;
21
24
  let lastToastTime = 0;
22
25
  const TOAST_DEBOUNCE_MS = 5000;
26
+ /** Track which models we've already shown fallback notifications for */
27
+ const notifiedFallbacks = new Set();
23
28
  export const OpenAIAuthPlugin = async ({ client }) => {
24
29
  const quietMode = process.env.OPENCODE_OPENAI_QUIET === "1";
25
30
  const debugMode = process.env.OPENCODE_OPENAI_DEBUG === "1";
@@ -81,6 +86,40 @@ export const OpenAIAuthPlugin = async ({ client }) => {
81
86
  }
82
87
  catch { }
83
88
  };
89
+ const showModelRetryToast = async (model, failedAccount, nextAccount, triedCount, totalAccounts) => {
90
+ if (quietMode)
91
+ return;
92
+ const failedLabel = failedAccount.email || `Account ${failedAccount.index + 1}`;
93
+ const nextLabel = nextAccount.email || `Account ${nextAccount.index + 1}`;
94
+ const nextPlan = nextAccount.planType ? ` [${nextAccount.planType}]` : "";
95
+ try {
96
+ await client.tui.showToast({
97
+ body: {
98
+ message: `${model} not on ${failedLabel}, trying ${nextLabel}${nextPlan} (${triedCount}/${totalAccounts})`,
99
+ variant: "info",
100
+ },
101
+ });
102
+ }
103
+ catch { }
104
+ };
105
+ const showModelFallbackToast = async (originalModel, fallbackModel) => {
106
+ if (quietMode)
107
+ return;
108
+ // Only show once per model to avoid spam
109
+ const key = `${originalModel}->${fallbackModel}`;
110
+ if (notifiedFallbacks.has(key))
111
+ return;
112
+ notifiedFallbacks.add(key);
113
+ try {
114
+ await client.tui.showToast({
115
+ body: {
116
+ message: `${originalModel} not available yet. Using ${fallbackModel} instead.`,
117
+ variant: "warning",
118
+ },
119
+ });
120
+ }
121
+ catch { }
122
+ };
84
123
  const accountManager = new AccountManager({
85
124
  accountSelectionStrategy: process.env.OPENCODE_OPENAI_STRATEGY || "sticky",
86
125
  debug: process.env.OPENCODE_OPENAI_DEBUG === "1",
@@ -149,13 +188,15 @@ export const OpenAIAuthPlugin = async ({ client }) => {
149
188
  };
150
189
  const pluginConfig = loadPluginConfig();
151
190
  const codexMode = getCodexMode(pluginConfig);
152
- const executeRequest = async (account, input, init, retryCount = 0) => {
191
+ const executeRequest = async (account, input, init, retryCount = 0, triedAccountIndices = new Set()) => {
192
+ // Track this account as tried
193
+ triedAccountIndices.add(account.index);
153
194
  const isTokenValid = await accountManager.ensureValidToken(account);
154
195
  if (!isTokenValid) {
155
- const nextAccount = await accountManager.getNextAvailableAccount();
196
+ const nextAccount = await accountManager.getNextAvailableAccountExcluding(triedAccountIndices);
156
197
  if (nextAccount && nextAccount.index !== account.index) {
157
198
  await showAccountSwitchToast(account, nextAccount);
158
- return executeRequest(nextAccount, input, init, retryCount);
199
+ return executeRequest(nextAccount, input, init, retryCount, triedAccountIndices);
159
200
  }
160
201
  return new Response(JSON.stringify({ error: "All accounts failed token refresh" }), {
161
202
  status: HTTP_STATUS.UNAUTHORIZED,
@@ -183,6 +224,14 @@ export const OpenAIAuthPlugin = async ({ client }) => {
183
224
  headers: { "Content-Type": "application/json" },
184
225
  });
185
226
  }
227
+ // Pre-fetch models to "register" client with backend
228
+ // This may help unlock access to newer models like gpt-5.3-codex
229
+ try {
230
+ await prefetchModels(account.access || "", accountId);
231
+ }
232
+ catch {
233
+ // Ignore errors - this is a best-effort optimization
234
+ }
186
235
  const headers = createCodexHeaders(requestInit, accountId, account.access || "", {
187
236
  model: transformation?.body.model,
188
237
  promptCacheKey: transformation?.body?.prompt_cache_key,
@@ -191,6 +240,18 @@ export const OpenAIAuthPlugin = async ({ client }) => {
191
240
  ...requestInit,
192
241
  headers,
193
242
  });
243
+ try {
244
+ const headersObj = {};
245
+ response.headers.forEach((value, key) => {
246
+ headersObj[key] = value;
247
+ });
248
+ await codexStatus.updateFromHeaders(account, headersObj);
249
+ }
250
+ catch (error) {
251
+ if (debugMode) {
252
+ console.log("[openai-multi-auth] codex-status update failed", error);
253
+ }
254
+ }
194
255
  logRequest(LOG_STAGES.RESPONSE, {
195
256
  status: response.status,
196
257
  ok: response.ok,
@@ -235,19 +296,88 @@ export const OpenAIAuthPlugin = async ({ client }) => {
235
296
  catch { }
236
297
  }
237
298
  if (retryCount < accountManager.getAccountCount() - 1) {
238
- const nextAccount = await accountManager.getNextAvailableAccount(model);
299
+ const nextAccount = await accountManager.getNextAvailableAccountExcluding(triedAccountIndices, model);
239
300
  if (nextAccount && nextAccount.index !== account.index) {
240
301
  await showAccountSwitchToast(account, nextAccount);
241
- return executeRequest(nextAccount, input, init, retryCount + 1);
302
+ return executeRequest(nextAccount, input, init, retryCount + 1, triedAccountIndices);
242
303
  }
243
304
  }
244
305
  }
245
306
  if (response.status === HTTP_STATUS.UNAUTHORIZED && retryCount < 1) {
246
307
  accountManager.markRefreshFailed(account, "401 Unauthorized");
247
- const nextAccount = await accountManager.getNextAvailableAccount(model);
308
+ const nextAccount = await accountManager.getNextAvailableAccountExcluding(triedAccountIndices, model);
248
309
  if (nextAccount && nextAccount.index !== account.index) {
249
310
  await showAccountSwitchToast(account, nextAccount);
250
- return executeRequest(nextAccount, input, init, retryCount + 1);
311
+ return executeRequest(nextAccount, input, init, retryCount + 1, triedAccountIndices);
312
+ }
313
+ }
314
+ // Handle model not supported errors (400 Bad Request with specific message)
315
+ if (response.status === 400) {
316
+ try {
317
+ const cloned = response.clone();
318
+ const errorBody = await cloned.json();
319
+ const detail = errorBody?.detail || errorBody?.error?.message || "";
320
+ // Always log 400 errors to file for debugging
321
+ const fs = await import("node:fs");
322
+ const path = await import("node:path");
323
+ const os = await import("node:os");
324
+ const logDir = path.join(os.homedir(), ".opencode", "logs", "codex-plugin");
325
+ fs.mkdirSync(logDir, { recursive: true });
326
+ fs.writeFileSync(path.join(logDir, "last-400-error.json"), JSON.stringify({
327
+ timestamp: new Date().toISOString(),
328
+ model: transformation?.body.model,
329
+ status: response.status,
330
+ errorBody,
331
+ detail,
332
+ accountIndex: account.index,
333
+ accountEmail: account.email,
334
+ accountPlanType: account.planType,
335
+ triedAccounts: Array.from(triedAccountIndices),
336
+ totalAccounts: accountManager.getAccountCount(),
337
+ }, null, 2));
338
+ // Log the error for debugging
339
+ if (debugMode) {
340
+ console.log(`[openai-multi-auth] 400 error for model ${transformation?.body.model} on account ${account.email || account.index} [${account.planType}]: ${JSON.stringify(errorBody)}`);
341
+ }
342
+ // Check if it's a "model not supported" error
343
+ if (detail.includes("model is not supported") || detail.includes("not supported when using Codex")) {
344
+ const requestedModel = transformation?.body.model || model;
345
+ // STEP 1: Try other accounts first (they might be Plus/Pro/Team and support the model)
346
+ const nextAccount = await accountManager.getNextAvailableAccountExcluding(triedAccountIndices, requestedModel);
347
+ if (nextAccount) {
348
+ if (debugMode) {
349
+ console.log(`[openai-multi-auth] Model ${requestedModel} not supported on ${account.email || account.index} [${account.planType}], trying ${nextAccount.email || nextAccount.index} [${nextAccount.planType}]`);
350
+ }
351
+ await showModelRetryToast(requestedModel, account, nextAccount, triedAccountIndices.size, accountManager.getAccountCount());
352
+ return executeRequest(nextAccount, input, init, retryCount, triedAccountIndices);
353
+ }
354
+ // STEP 2: All accounts tried - fall back to older model
355
+ const fallbackModel = MODEL_FALLBACKS[requestedModel];
356
+ if (fallbackModel) {
357
+ if (debugMode) {
358
+ console.log(`[openai-multi-auth] All ${triedAccountIndices.size} accounts tried for ${requestedModel}, falling back to ${fallbackModel}`);
359
+ }
360
+ await showModelFallbackToast(requestedModel, fallbackModel);
361
+ // Retry with fallback model using first available account (reset tried accounts for new model)
362
+ const modifiedBody = JSON.parse(init?.body || "{}");
363
+ modifiedBody.model = fallbackModel;
364
+ const modifiedInit = {
365
+ ...init,
366
+ body: JSON.stringify(modifiedBody),
367
+ };
368
+ // Get first available account for the fallback model
369
+ const fallbackAccount = await accountManager.getNextAvailableAccount(fallbackModel);
370
+ if (fallbackAccount) {
371
+ // Reset tried accounts for the new model
372
+ return executeRequest(fallbackAccount, input, modifiedInit, 0, new Set());
373
+ }
374
+ // If no account available, use current account
375
+ return executeRequest(account, input, modifiedInit, retryCount + 1, new Set());
376
+ }
377
+ }
378
+ }
379
+ catch {
380
+ // If parsing fails, continue with normal error handling
251
381
  }
252
382
  }
253
383
  if (!response.ok) {
@@ -315,6 +445,58 @@ export const OpenAIAuthPlugin = async ({ client }) => {
315
445
  },
316
446
  ],
317
447
  },
448
+ config: async (cfg) => {
449
+ cfg.command = cfg.command || {};
450
+ cfg.command["codex-status"] = {
451
+ template: "Run the codex-status tool and output the result EXACTLY as returned by the tool, without any additional text or commentary.",
452
+ description: "List all configured OpenAI accounts and their current usage status.",
453
+ };
454
+ cfg.experimental = cfg.experimental || {};
455
+ cfg.experimental.primary_tools = cfg.experimental.primary_tools || [];
456
+ if (!cfg.experimental.primary_tools.includes("codex-status")) {
457
+ cfg.experimental.primary_tools.push("codex-status");
458
+ }
459
+ },
460
+ tool: {
461
+ "codex-status": tool({
462
+ description: "List all configured OpenAI accounts and their current usage status.",
463
+ args: {},
464
+ async execute() {
465
+ const accounts = accountManager.getAllAccounts();
466
+ if (accounts.length === 0) {
467
+ return [
468
+ "OpenAI Codex Status",
469
+ "",
470
+ " Accounts: 0",
471
+ "",
472
+ "Add accounts:",
473
+ " opencode auth login",
474
+ ].join("\n");
475
+ }
476
+ const now = Date.now();
477
+ await Promise.all(accounts.map(async (acc) => {
478
+ if (acc.access && acc.expires && acc.expires > now) {
479
+ await codexStatus.fetchFromBackend(acc, acc.access);
480
+ }
481
+ }));
482
+ const active = accountManager.getActiveAccount();
483
+ const activeIndex = active?.index ?? 0;
484
+ const lines = ["OpenAI Codex Status", ""];
485
+ for (const account of accounts) {
486
+ const status = account.index === activeIndex ? "ACTIVE" : "READY";
487
+ const email = account.email || `Account ${account.index + 1}`;
488
+ const plan = account.planType || "Unknown";
489
+ lines.push(`${account.index + 1}. ${status} ${email} [${plan}]`);
490
+ const statusLines = await codexStatus.renderStatus(account);
491
+ for (const line of statusLines) {
492
+ lines.push(line);
493
+ }
494
+ lines.push("");
495
+ }
496
+ return lines.join("\n");
497
+ },
498
+ }),
499
+ },
318
500
  };
319
501
  };
320
502
  export default OpenAIAuthPlugin;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ import type { ManagedAccount, MultiAccountConfig } from "./types.js";
2
2
  export declare class AccountManager {
3
3
  private accounts;
4
4
  private activeIndex;
5
+ private roundRobinCursor;
6
+ private strategyInitialized;
5
7
  private config;
6
8
  constructor(config?: Partial<MultiAccountConfig>);
7
9
  loadFromDisk(): Promise<void>;
@@ -11,6 +13,8 @@ export declare class AccountManager {
11
13
  getAllAccounts(): ManagedAccount[];
12
14
  getAccountCount(): number;
13
15
  getNextAvailableAccount(model?: string): Promise<ManagedAccount | null>;
16
+ private normalizeIndex;
17
+ private initializeStrategyState;
14
18
  private isAccountAvailable;
15
19
  private getLeastRateLimitedAccount;
16
20
  markRateLimited(account: ManagedAccount, retryAfterMs: number, model?: string): void;
@@ -19,5 +23,19 @@ export declare class AccountManager {
19
23
  updateAccountTokens(account: ManagedAccount, accessToken: string, refreshToken: string, expires: number): Promise<void>;
20
24
  ensureValidToken(account: ManagedAccount): Promise<boolean>;
21
25
  getActiveAccount(): ManagedAccount | null;
26
+ /**
27
+ * Get the next available account excluding the specified account indices.
28
+ * Used for model fallback retry logic - try other accounts before falling back to older model.
29
+ */
30
+ getNextAvailableAccountExcluding(excludeIndices: Set<number>, model?: string): Promise<ManagedAccount | null>;
31
+ /**
32
+ * Check if an account supports a specific model based on plan type.
33
+ * GPT-5.3-codex requires Plus/Pro/Team - free accounts don't support it.
34
+ */
35
+ accountSupportsModel(account: ManagedAccount, model: string): boolean;
36
+ /**
37
+ * Get accounts that might support a model (non-free for gpt-5.3-*)
38
+ */
39
+ getAccountsSupportingModel(model: string): ManagedAccount[];
22
40
  }
23
41
  //# sourceMappingURL=manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../lib/accounts/manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EAEd,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAkBpB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAI9C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBvC,UAAU,CACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;IA+E1B,cAAc,IAAI,cAAc,EAAE;IAIlC,eAAe,IAAI,MAAM;IAInB,uBAAuB,CAC3B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAuBjC,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,0BAA0B;IAyBlC,eAAe,CACb,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAiBP,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU/D,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAoBtC,mBAAmB,CACvB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IA2BV,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAmCjE,gBAAgB,IAAI,cAAc,GAAG,IAAI;CAI1C"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../lib/accounts/manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,cAAc,EAEd,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAkBpB,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAI9C,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAoB7B,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAc3B,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBvC,UAAU,CACd,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,YAAY,EAAE,MAAM,EACpB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC;IAiF1B,cAAc,IAAI,cAAc,EAAE;IAIlC,eAAe,IAAI,MAAM;IAInB,uBAAuB,CAC3B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAuCjC,OAAO,CAAC,cAAc;YAMR,uBAAuB;IA6BrC,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,0BAA0B;IAyBlC,eAAe,CACb,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,IAAI;IAiBP,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAU/D,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAsBtC,mBAAmB,CACvB,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IA2BV,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IAkDjE,gBAAgB,IAAI,cAAc,GAAG,IAAI;IAKzC;;;OAGG;IACG,gCAAgC,CACpC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,EAC3B,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA2CjC;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO;IAYrE;;OAEG;IACH,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;CAG5D"}