opencode-claude-auth 2.1.1 → 2.1.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.
package/README.md CHANGED
@@ -8,7 +8,7 @@ Self-contained Anthropic auth provider for OpenCode using your Claude Code crede
8
8
 
9
9
  ## How it works
10
10
 
11
- The plugin registers its own auth provider with a custom fetch handler that intercepts all Anthropic API requests. It reads OAuth tokens from the macOS Keychain (or `~/.claude/.credentials.json` on other platforms), caches them in memory with a 30-second TTL, and handles the full request lifecycle — no builtin Anthropic auth plugin required. On macOS, multiple Claude Code accounts are detected automatically and can be switched via `opencode auth login`.
11
+ The plugin registers its own auth provider with a custom fetch handler that intercepts all Anthropic API requests. It reads OAuth tokens from the macOS Keychain (or `~/.claude/.credentials.json` — or `$CLAUDE_CONFIG_DIR/.credentials.json` if that env var is set — on other platforms), caches them in memory with a 30-second TTL, and handles the full request lifecycle — no builtin Anthropic auth plugin required. On macOS, multiple Claude Code accounts are detected automatically and can be switched via `opencode auth login`.
12
12
 
13
13
  It also syncs credentials to OpenCode's `auth.json` as a fallback (on Windows, it writes to both `%USERPROFILE%\.local\share\opencode\auth.json` and `%LOCALAPPDATA%\opencode\auth.json` to cover all installation methods). If a token is near expiry, it refreshes directly via Anthropic's OAuth endpoint (zero LLM tokens consumed), falling back to the Claude CLI if the direct refresh fails. Background re-sync runs every 5 minutes.
14
14
 
@@ -78,7 +78,7 @@ Just run OpenCode. The plugin handles auth automatically — it reads your Claud
78
78
  The plugin checks these in order:
79
79
 
80
80
  1. macOS Keychain (all `Claude Code-credentials*` entries — multiple accounts are detected automatically)
81
- 2. `~/.claude/.credentials.json` (fallback, works on all platforms)
81
+ 2. `~/.claude/.credentials.json` (fallback, works on all platforms; if `CLAUDE_CONFIG_DIR` is set, reads `$CLAUDE_CONFIG_DIR/.credentials.json` instead)
82
82
 
83
83
  ## Multiple accounts (macOS)
84
84
 
@@ -96,17 +96,17 @@ If only one account is found, the switcher is hidden and the plugin uses it dire
96
96
 
97
97
  ## Troubleshooting
98
98
 
99
- | Problem | Solution |
100
- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
101
- | "Credentials not found" | Run `claude` to authenticate with Claude Code first |
102
- | "Keychain is locked" | Run `security unlock-keychain ~/Library/Keychains/login.keychain-db` |
103
- | "Token expired and refresh failed" | The plugin runs `claude` CLI to refresh automatically. If this fails, re-authenticate manually by running `claude` |
104
- | Not working on Linux/Windows | Ensure `~/.claude/.credentials.json` exists. Run `claude` to create it |
105
- | Keychain access denied | Grant access when macOS prompts you |
106
- | Keychain read timed out | Restart Keychain Access (can happen on macOS Tahoe) |
107
- | "Credentials are unavailable or expired" | Run `claude` to refresh your Claude Code credentials |
108
- | "Extra usage is required for long context requests" | Your plan doesn't cover long context extra usage. See [Long context (1M)](#long-context-1m) below |
109
- | Plugin not updating to latest version | Delete the cached package: `rm -rf ~/.cache/opencode/packages/opencode-claude-auth@latest/` then restart OpenCode |
99
+ | Problem | Solution |
100
+ | --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
101
+ | "Credentials not found" | Run `claude` to authenticate with Claude Code first |
102
+ | "Keychain is locked" | Run `security unlock-keychain ~/Library/Keychains/login.keychain-db` |
103
+ | "Token expired and refresh failed" | The plugin runs `claude` CLI to refresh automatically. If this fails, re-authenticate manually by running `claude` |
104
+ | Not working on Linux/Windows | Ensure `~/.claude/.credentials.json` exists (or `$CLAUDE_CONFIG_DIR/.credentials.json` if that env var is set). Run `claude` to create it |
105
+ | Keychain access denied | Grant access when macOS prompts you |
106
+ | Keychain read timed out | Restart Keychain Access (can happen on macOS Tahoe) |
107
+ | "Credentials are unavailable or expired" | Run `claude` to refresh your Claude Code credentials |
108
+ | "Extra usage is required for long context requests" | Your conversation exceeded 200k tokens. See [Long context (1M)](#long-context-1m) below |
109
+ | Plugin not updating to latest version | Delete the cached package: `rm -rf ~/.cache/opencode/packages/opencode-claude-auth@latest/` then restart OpenCode |
110
110
 
111
111
  ### Diagnostic logging
112
112
 
@@ -157,6 +157,7 @@ All configurable parameters can be overridden via environment variables. If Anth
157
157
  | `ANTHROPIC_USER_AGENT` | Full User-Agent string (overrides CLI version) | `claude-cli/{version} (external, sdk-cli)` |
158
158
  | `ANTHROPIC_BETA_FLAGS` | Comma-separated beta feature flags | `baseBetas` list in [`src/model-config.ts`](src/model-config.ts) |
159
159
  | `CLAUDE_AUTH_DEBUG` | Enable diagnostic logging (`1` for default path, or a custom file path) | disabled |
160
+ | `CLAUDE_CONFIG_DIR` | Claude Code config directory used for the credentials-file fallback (reads `$CLAUDE_CONFIG_DIR/.credentials.json`). macOS still checks the Keychain first. | `~/.claude` |
160
161
  | `OPENCODE_CLAUDE_AUTH_MAX_RETRY_MS` | Max ms the plugin waits when honouring a 429/529 `retry-after` header. Beyond this cap the response surfaces immediately so OpenCode doesn't appear to hang on hour-long quota resets. | `30000` |
161
162
 
162
163
  Example:
@@ -1,6 +1,6 @@
1
- import { type ClaudeCredentials, type ClaudeAccount } from "./keychain.ts";
2
- export type { ClaudeCredentials } from "./keychain.ts";
1
+ import { type ClaudeAccount, type ClaudeCredentials } from "./keychain.ts";
3
2
  export type { ClaudeAccount } from "./keychain.ts";
3
+ export type { ClaudeCredentials } from "./keychain.ts";
4
4
  export declare function initAccounts(accounts: ClaudeAccount[]): void;
5
5
  export declare function setActiveAccountSource(source: string): void;
6
6
  export declare function refreshAccountsList(): ClaudeAccount[];
@@ -9,20 +9,9 @@ export declare function saveAccountSource(source: string): void;
9
9
  export declare function syncAuthJson(creds: ClaudeCredentials): void;
10
10
  export declare const OAUTH_TOKEN_URL = "https://claude.ai/v1/oauth/token";
11
11
  export declare const OAUTH_CLIENT_ID = "9d1c250a-e61b-44d9-88ed-5944d1962f5e";
12
- /**
13
- * Parse a raw OAuth token response into ClaudeCredentials.
14
- * Returns null if the response is missing a valid access_token.
15
- * Defaults expires_in to 36000s (10h) to match observed Claude token lifetime.
16
- */
17
12
  export declare function parseOAuthResponse(raw: string, currentRefreshToken: string, now?: number): ClaudeCredentials | null;
18
13
  export declare function refreshViaOAuth(refreshToken: string): ClaudeCredentials | null;
19
14
  export declare function refreshIfNeeded(account?: ClaudeAccount): ClaudeCredentials | null;
20
- /**
21
- * Returns the active account's credentials for auth.json sync purposes.
22
- * Unlike getCachedCredentials(), this does NOT trigger a refresh.
23
- * It returns the account's current in-memory credentials if they're still valid.
24
- * Returns null if no account or credentials are expired.
25
- */
26
15
  export declare function getCredentialsForSync(): ClaudeCredentials | null;
27
16
  /**
28
17
  * Re-read only the active account's credentials from its source (single
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAUA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,eAAe,CAAA;AAItB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAWlD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAE5D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ3D;AAED,wBAAgB,mBAAmB,IAAI,aAAa,EAAE,CAUrD;AAqBD,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAU1D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAStD;AA4CD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAc3D;AAED,eAAO,MAAM,eAAe,qCAAqC,CAAA;AACjE,eAAO,MAAM,eAAe,yCAAyC,CAAA;AAErE;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAC3B,GAAG,GAAE,MAAmB,GACvB,iBAAiB,GAAG,IAAI,CAoB1B;AAED,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,IAAI,CAmD1B;AA2BD,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,aAAa,GACtB,iBAAiB,GAAG,IAAI,CAgD1B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,iBAAiB,GAAG,IAAI,CAWhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAY1C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,CAAC,YAAY,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAsB,GAC5E,iBAAiB,GAAG,IAAI,CAqB1B;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAMhD;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAgC/D;AAED,wBAAgB,2BAA2B,IAAI,iBAAiB,GAAG,IAAI,CA0CtE"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAUA,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAA;AAItB,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAWtD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,IAAI,CAE5D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAQ3D;AAED,wBAAgB,mBAAmB,IAAI,aAAa,EAAE,CAUrD;AAqBD,wBAAgB,0BAA0B,IAAI,MAAM,GAAG,IAAI,CAU1D;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAStD;AA4CD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI,CAc3D;AAED,eAAO,MAAM,eAAe,qCAAqC,CAAA;AACjE,eAAO,MAAM,eAAe,yCAAyC,CAAA;AAErE,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,mBAAmB,EAAE,MAAM,EAC3B,GAAG,GAAE,MAAmB,GACvB,iBAAiB,GAAG,IAAI,CAoB1B;AAED,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,GACnB,iBAAiB,GAAG,IAAI,CAiD1B;AA0CD,wBAAgB,eAAe,CAC7B,OAAO,CAAC,EAAE,aAAa,GACtB,iBAAiB,GAAG,IAAI,CA0E1B;AAyCD,wBAAgB,qBAAqB,IAAI,iBAAiB,GAAG,IAAI,CAUhE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAY1C;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,CAAC,YAAY,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAsB,GAC5E,iBAAiB,GAAG,IAAI,CAqB1B;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAMhD;AAED,wBAAgB,oBAAoB,IAAI,iBAAiB,GAAG,IAAI,CAgC/D;AAED,wBAAgB,2BAA2B,IAAI,iBAAiB,GAAG,IAAI,CA0CtE"}
@@ -2,7 +2,7 @@ import { execFileSync, execSync } from "node:child_process";
2
2
  import { chmodSync, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
3
3
  import { homedir, tmpdir } from "node:os";
4
4
  import { dirname, join } from "node:path";
5
- import { readAllClaudeAccounts, refreshAccount, writeBackCredentials, } from "./keychain.js";
5
+ import { PRIMARY_SERVICE, readAllClaudeAccounts, refreshAccount, writeBackCredentials, } from "./keychain.js";
6
6
  import { resetExcludedBetas } from "./betas.js";
7
7
  import { log } from "./logger.js";
8
8
  const CREDENTIAL_CACHE_TTL_MS = 30_000;
@@ -127,11 +127,6 @@ export function syncAuthJson(creds) {
127
127
  }
128
128
  export const OAUTH_TOKEN_URL = "https://claude.ai/v1/oauth/token";
129
129
  export const OAUTH_CLIENT_ID = "9d1c250a-e61b-44d9-88ed-5944d1962f5e";
130
- /**
131
- * Parse a raw OAuth token response into ClaudeCredentials.
132
- * Returns null if the response is missing a valid access_token.
133
- * Defaults expires_in to 36000s (10h) to match observed Claude token lifetime.
134
- */
135
130
  export function parseOAuthResponse(raw, currentRefreshToken, now = Date.now()) {
136
131
  let data;
137
132
  try {
@@ -149,8 +144,6 @@ export function parseOAuthResponse(raw, currentRefreshToken, now = Date.now()) {
149
144
  };
150
145
  }
151
146
  export function refreshViaOAuth(refreshToken) {
152
- // Use a Node subprocess to perform the HTTP request synchronously.
153
- // The refresh token is passed via stdin to avoid exposure in process args.
154
147
  const script = `
155
148
  process.stdin.resume();
156
149
  let input = '';
@@ -198,20 +191,32 @@ export function refreshViaOAuth(refreshToken) {
198
191
  return null;
199
192
  }
200
193
  }
201
- function refreshViaCli() {
194
+ function refreshViaCli(configDir, requireConfigDir = false) {
195
+ if (requireConfigDir && !configDir) {
196
+ log("refresh_cli_skipped", {
197
+ source: "cli",
198
+ reason: "configDir unknown for suffixed account",
199
+ });
200
+ return false;
201
+ }
202
+ const env = {
203
+ ...process.env,
204
+ TERM: "dumb",
205
+ ...(configDir ? { CLAUDE_CONFIG_DIR: configDir } : {}),
206
+ };
202
207
  const maxAttempts = 2;
203
208
  for (let i = 0; i < maxAttempts; i++) {
204
- log("refresh_started", { source: "cli", attempt: i + 1 });
209
+ log("refresh_started", { source: "cli", attempt: i + 1, configDir });
205
210
  try {
206
211
  execSync("claude -p . --model haiku", {
207
212
  timeout: 60_000,
208
213
  encoding: "utf-8",
209
- env: { ...process.env, TERM: "dumb" },
214
+ env,
210
215
  stdio: "ignore",
211
216
  cwd: tmpdir(),
212
217
  });
213
218
  log("refresh_success", { source: "cli" });
214
- return;
219
+ return true;
215
220
  }
216
221
  catch (err) {
217
222
  log("refresh_failed", {
@@ -219,9 +224,10 @@ function refreshViaCli() {
219
224
  attempt: i + 1,
220
225
  error: err instanceof Error ? err.message : String(err),
221
226
  });
222
- // Non-fatal: retry once, then give up
223
227
  }
224
228
  }
229
+ log("refresh_cli_exhausted", { source: "cli", configDir });
230
+ return false;
225
231
  }
226
232
  export function refreshIfNeeded(account) {
227
233
  const target = account ?? getActiveAccount();
@@ -245,19 +251,39 @@ export function refreshIfNeeded(account) {
245
251
  expiresAt: creds.expiresAt,
246
252
  expiresIn: creds.expiresAt - Date.now(),
247
253
  });
248
- // Try direct OAuth refresh first (zero LLM tokens consumed)
249
254
  if (creds.refreshToken) {
250
255
  const oauthCreds = refreshViaOAuth(creds.refreshToken);
251
256
  if (oauthCreds && oauthCreds.expiresAt > Date.now() + 60_000) {
252
257
  target.credentials = oauthCreds;
253
- writeBackCredentials(target.source, oauthCreds);
258
+ writeBackCredentials(target.source, oauthCreds, target.configDir);
254
259
  return oauthCreds;
255
260
  }
256
261
  }
257
- // Fall back to CLI-based refresh (consumes Haiku tokens)
258
262
  log("refresh_fallback_cli", { source: target.source });
259
- refreshViaCli();
260
- const refreshed = refreshAccount(target.source);
263
+ const isSuffixedAccount = target.source !== PRIMARY_SERVICE &&
264
+ target.source.startsWith(PRIMARY_SERVICE + "-");
265
+ const cliSucceeded = refreshViaCli(target.configDir, isSuffixedAccount);
266
+ if (!cliSucceeded) {
267
+ const fallback = tryFallbackAccount(target.source);
268
+ if (fallback) {
269
+ target.credentials = fallback;
270
+ return fallback;
271
+ }
272
+ log("refresh_exhausted", {
273
+ source: target.source,
274
+ hadCredentials: false,
275
+ expiresAt: undefined,
276
+ });
277
+ return null;
278
+ }
279
+ let refreshed = refreshAccount(target.source, target.configDir);
280
+ if ((!refreshed || refreshed.expiresAt <= Date.now() + 60_000) &&
281
+ isSuffixedAccount) {
282
+ const primaryRefreshed = refreshAccount(PRIMARY_SERVICE);
283
+ if (primaryRefreshed && primaryRefreshed.expiresAt > Date.now() + 60_000) {
284
+ refreshed = primaryRefreshed;
285
+ }
286
+ }
261
287
  if (refreshed && refreshed.expiresAt > Date.now() + 60_000) {
262
288
  target.credentials = refreshed;
263
289
  return refreshed;
@@ -269,12 +295,43 @@ export function refreshIfNeeded(account) {
269
295
  });
270
296
  return null;
271
297
  }
272
- /**
273
- * Returns the active account's credentials for auth.json sync purposes.
274
- * Unlike getCachedCredentials(), this does NOT trigger a refresh.
275
- * It returns the account's current in-memory credentials if they're still valid.
276
- * Returns null if no account or credentials are expired.
277
- */
298
+ function tryFallbackAccount(excludeSource) {
299
+ const now = Date.now();
300
+ const candidates = allAccounts.filter((a) => a.source !== excludeSource);
301
+ // Accounts whose in-memory credentials are still valid can be borrowed
302
+ // directly no keychain read needed. A 401 on a borrowed token is
303
+ // handled by the existing reload-and-retry fetch path.
304
+ for (const account of candidates) {
305
+ if (account.credentials.expiresAt > now + 60_000) {
306
+ log("refresh_fallback_account", {
307
+ failedSource: excludeSource,
308
+ usedSource: account.source,
309
+ });
310
+ return account.credentials;
311
+ }
312
+ }
313
+ // Last resort: live-read the stale-looking ones too — another process
314
+ // (e.g. the Claude CLI in a different terminal) may have refreshed their
315
+ // keychain entry since we last read it.
316
+ for (const account of candidates) {
317
+ let fresh = null;
318
+ try {
319
+ fresh = refreshAccount(account.source, account.configDir);
320
+ }
321
+ catch {
322
+ continue;
323
+ }
324
+ if (fresh && fresh.expiresAt > now + 60_000) {
325
+ account.credentials = fresh;
326
+ log("refresh_fallback_account", {
327
+ failedSource: excludeSource,
328
+ usedSource: account.source,
329
+ });
330
+ return fresh;
331
+ }
332
+ }
333
+ return null;
334
+ }
278
335
  export function getCredentialsForSync() {
279
336
  const account = getActiveAccount();
280
337
  if (!account)
@@ -283,7 +340,6 @@ export function getCredentialsForSync() {
283
340
  if (creds.expiresAt > Date.now() + 60_000) {
284
341
  return creds;
285
342
  }
286
- // Credentials are near expiry -- don't refresh here, let the per-request path handle it
287
343
  return null;
288
344
  }
289
345
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AA+BjD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,cAAc,CAAA;AA8CrB,KAAK,OAAO,GAAG,OAAO,KAAK,CAAA;AAiB3B,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,EAClB,OAAO,SAAI,EACX,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,QAAQ,CAAC,CA8BnB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,SAAY,EACnB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,OAAO,CAqDT;AAID,QAAA,MAAM,MAAM,EAAE,MAwUb,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,CAAA;AACtC,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AA+BjD,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAC/C,OAAO,EACL,eAAe,EACf,eAAe,EACf,aAAa,EACb,uBAAuB,GACxB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,mBAAmB,EACnB,KAAK,iBAAiB,GACvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,oBAAoB,EACpB,2BAA2B,GAC5B,MAAM,cAAc,CAAA;AA8CrB,KAAK,OAAO,GAAG,OAAO,KAAK,CAAA;AAiB3B,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,EAClB,OAAO,SAAI,EACX,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,QAAQ,CAAC,CA8BnB;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,EAAE,WAAW,EACjB,WAAW,EAAE,MAAM,EACnB,OAAO,SAAY,EACnB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,OAAO,CAqDT;AAID,QAAA,MAAM,MAAM,EAAE,MAuUb,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,CAAA;AACtC,eAAe,MAAM,CAAA"}
package/dist/index.js CHANGED
@@ -253,7 +253,9 @@ const plugin = async () => {
253
253
  const headers = buildRequestHeaders(input, requestInit, latest.accessToken, modelId, excluded);
254
254
  const body = transformBody(requestInit.body);
255
255
  const headerKeys = [];
256
- headers.forEach((_, key) => headerKeys.push(key));
256
+ headers.forEach((_, key) => {
257
+ headerKeys.push(key);
258
+ });
257
259
  const betas = (headers.get("anthropic-beta") ?? "")
258
260
  .split(",")
259
261
  .filter(Boolean);
@@ -361,9 +363,7 @@ const plugin = async () => {
361
363
  options: currentAccounts.map((a) => ({
362
364
  label: a.label,
363
365
  value: a.source,
364
- hint: a.source === currentSource
365
- ? `${a.source} (active)`
366
- : a.source,
366
+ hint: a.source === currentSource ? "active" : undefined,
367
367
  })),
368
368
  },
369
369
  ];
@@ -380,8 +380,8 @@ const plugin = async () => {
380
380
  syncAuthJson(creds);
381
381
  saveAccountSource(chosen.source);
382
382
  const sourceDescription = chosen.source === "file"
383
- ? "credentials file (~/.claude/.credentials.json)"
384
- : "macOS Keychain";
383
+ ? `credentials file (${chosen.configDir ?? "~/.claude"}/.credentials.json)`
384
+ : `macOS Keychain (${chosen.source})`;
385
385
  return {
386
386
  url: "",
387
387
  instructions: `Using ${chosen.label} — credentials loaded from ${sourceDescription}.`,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,16 +7,21 @@ export interface ClaudeCredentials {
7
7
  export interface ClaudeAccount {
8
8
  label: string;
9
9
  source: string;
10
+ configDir?: string;
10
11
  credentials: ClaudeCredentials;
11
12
  }
13
+ export declare const PRIMARY_SERVICE = "Claude Code-credentials";
12
14
  export declare function parseCredentials(raw: string): ClaudeCredentials | null;
13
- export declare function buildAccountLabels(credsList: ClaudeCredentials[]): string[];
15
+ export declare function readCredentialsFile(configDir?: string): ClaudeCredentials | null;
16
+ export declare function keychainSuffixForDir(dir: string): string;
17
+ export declare function clearSuffixToDirCache(): void;
18
+ export declare function buildAccountLabels(credsList: ClaudeCredentials[], emails?: (string | null)[], sources?: (string | null)[]): string[];
14
19
  export declare function readAllClaudeAccounts(): ClaudeAccount[];
15
20
  export declare function updateCredentialBlob(existingJson: string, newCreds: {
16
21
  accessToken: string;
17
22
  refreshToken: string;
18
23
  expiresAt: number;
19
24
  }): string | null;
20
- export declare function writeBackCredentials(source: string, creds: ClaudeCredentials): boolean;
21
- export declare function refreshAccount(source: string): ClaudeCredentials | null;
25
+ export declare function writeBackCredentials(source: string, creds: ClaudeCredentials, configDir?: string): boolean;
26
+ export declare function refreshAccount(source: string, configDir?: string): ClaudeCredentials | null;
22
27
  //# sourceMappingURL=keychain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,iBAAiB,CAAA;CAC/B;AAID,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAoDtE;AAmHD,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,EAAE,GAAG,MAAM,EAAE,CAoB3E;AAED,wBAAgB,qBAAqB,IAAI,aAAa,EAAE,CA+BvD;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzE,MAAM,GAAG,IAAI,CAgBf;AAuBD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,iBAAiB,GACvB,OAAO,CA0DT;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAOvE"}
1
+ {"version":3,"file":"keychain.d.ts","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAaA,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,iBAAiB,CAAA;CAC/B;AAED,eAAO,MAAM,eAAe,4BAA4B,CAAA;AAExD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAmDtE;AAkID,wBAAgB,mBAAmB,CACjC,SAAS,SAA8D,GACtE,iBAAiB,GAAG,IAAI,CAW1B;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExD;AAwCD,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAcD,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,iBAAiB,EAAE,EAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,EAC1B,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,GAC1B,MAAM,EAAE,CA4BV;AAED,wBAAgB,qBAAqB,IAAI,aAAa,EAAE,CAgFvD;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACzE,MAAM,GAAG,IAAI,CAgBf;AAuBD,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,iBAAiB,EACxB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAyDT;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,iBAAiB,GAAG,IAAI,CAO1B"}
package/dist/keychain.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { execFileSync, execSync } from "node:child_process";
2
- import { chmodSync, readFileSync, writeFileSync } from "node:fs";
2
+ import { createHash } from "node:crypto";
3
+ import { chmodSync, existsSync, readdirSync, readFileSync, writeFileSync, } from "node:fs";
3
4
  import { homedir } from "node:os";
4
5
  import { join } from "node:path";
5
6
  import { log } from "./logger.js";
6
- const PRIMARY_SERVICE = "Claude Code-credentials";
7
+ export const PRIMARY_SERVICE = "Claude Code-credentials";
7
8
  export function parseCredentials(raw) {
8
9
  let parsed;
9
10
  try {
@@ -14,7 +15,6 @@ export function parseCredentials(raw) {
14
15
  }
15
16
  const data = parsed.claudeAiOauth ?? parsed;
16
17
  const creds = data;
17
- // Entries that only contain mcpOAuth are MCP server credentials, not user accounts
18
18
  if (parsed.mcpOAuth && !creds.accessToken) {
19
19
  return null;
20
20
  }
@@ -81,7 +81,7 @@ function readKeychainService(serviceName) {
81
81
  service: serviceName,
82
82
  errorType: "not_found",
83
83
  });
84
- return null; // item not found
84
+ return null;
85
85
  }
86
86
  log("keychain_read_error", {
87
87
  service: serviceName,
@@ -99,6 +99,9 @@ function listClaudeKeychainServices() {
99
99
  });
100
100
  const services = [];
101
101
  const seen = new Set();
102
+ // Any-length hex suffix so legacy entries stay discoverable. The
103
+ // suffix-to-config-dir mapping below still only applies to the
104
+ // 8-char hashes the Claude CLI generates.
102
105
  const re = /"Claude Code-credentials(?:-[0-9a-f]+)?"/g;
103
106
  let m = re.exec(dump);
104
107
  while (m !== null) {
@@ -127,20 +130,92 @@ function listClaudeKeychainServices() {
127
130
  return [PRIMARY_SERVICE];
128
131
  }
129
132
  }
130
- function readCredentialsFile() {
133
+ function readEmailFromConfigDir(configDir) {
134
+ const primaryConfigDir = join(homedir(), ".claude");
135
+ const candidates = [
136
+ join(configDir, ".claude.json"),
137
+ ...(configDir === primaryConfigDir
138
+ ? [join(homedir(), ".claude.json")]
139
+ : []),
140
+ ];
141
+ for (const path of candidates) {
142
+ try {
143
+ const raw = readFileSync(path, "utf-8");
144
+ const data = JSON.parse(raw);
145
+ const email = data.oauthAccount?.emailAddress;
146
+ if (email)
147
+ return email;
148
+ }
149
+ catch {
150
+ // try next candidate
151
+ }
152
+ }
153
+ return null;
154
+ }
155
+ export function readCredentialsFile(configDir = process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), ".claude")) {
131
156
  try {
132
- const credPath = join(homedir(), ".claude", ".credentials.json");
157
+ const credPath = join(configDir, ".credentials.json");
133
158
  const raw = readFileSync(credPath, "utf-8");
134
159
  const creds = parseCredentials(raw);
135
- log("credentials_file_read", { success: creds !== null });
160
+ log("credentials_file_read", { success: creds !== null, configDir });
136
161
  return creds;
137
162
  }
138
163
  catch {
139
- log("credentials_file_read", { success: false });
164
+ log("credentials_file_read", { success: false, configDir });
140
165
  return null;
141
166
  }
142
167
  }
143
- export function buildAccountLabels(credsList) {
168
+ export function keychainSuffixForDir(dir) {
169
+ return createHash("sha256").update(dir).digest("hex").slice(0, 8);
170
+ }
171
+ let suffixToDirCache = null;
172
+ function buildSuffixToDirCache(needed) {
173
+ const hasAllNeeded = (cache) => [...needed].every((suffix) => cache.has(suffix));
174
+ if (suffixToDirCache && hasAllNeeded(suffixToDirCache))
175
+ return suffixToDirCache;
176
+ const cache = suffixToDirCache ?? new Map();
177
+ const tryDir = (dir) => {
178
+ const suffix = keychainSuffixForDir(dir);
179
+ if (needed.has(suffix) && !cache.has(suffix))
180
+ cache.set(suffix, dir);
181
+ };
182
+ if (process.env.CLAUDE_CONFIG_DIR) {
183
+ tryDir(process.env.CLAUDE_CONFIG_DIR);
184
+ }
185
+ const home = homedir();
186
+ try {
187
+ const entries = readdirSync(home, { withFileTypes: true });
188
+ for (const entry of entries) {
189
+ if (!entry.isDirectory() || !entry.name.startsWith("."))
190
+ continue;
191
+ const dir = join(home, entry.name);
192
+ if (!existsSync(join(dir, ".claude.json")))
193
+ continue;
194
+ tryDir(dir);
195
+ if (hasAllNeeded(cache))
196
+ break;
197
+ }
198
+ }
199
+ catch {
200
+ //
201
+ }
202
+ suffixToDirCache = cache;
203
+ return cache;
204
+ }
205
+ export function clearSuffixToDirCache() {
206
+ suffixToDirCache = null;
207
+ }
208
+ function discoverConfigDirsForKeychain(keychainSuffixes) {
209
+ const cache = buildSuffixToDirCache(keychainSuffixes);
210
+ const result = new Map();
211
+ for (const suffix of keychainSuffixes) {
212
+ const dir = cache.get(suffix);
213
+ if (dir)
214
+ result.set(suffix, dir);
215
+ }
216
+ return result;
217
+ }
218
+ export function buildAccountLabels(credsList, emails, sources) {
144
219
  const baseLabels = credsList.map((c) => {
145
220
  if (c.subscriptionType) {
146
221
  const tier = c.subscriptionType.charAt(0).toUpperCase() + c.subscriptionType.slice(1);
@@ -152,24 +227,35 @@ export function buildAccountLabels(credsList) {
152
227
  for (const l of baseLabels)
153
228
  counts.set(l, (counts.get(l) ?? 0) + 1);
154
229
  const seen = new Map();
155
- return baseLabels.map((base) => {
156
- if ((counts.get(base) ?? 0) <= 1)
157
- return base;
158
- const n = (seen.get(base) ?? 0) + 1;
159
- seen.set(base, n);
160
- return `${base} ${n}`;
230
+ return baseLabels.map((base, i) => {
231
+ let label;
232
+ if ((counts.get(base) ?? 0) <= 1) {
233
+ label = base;
234
+ }
235
+ else {
236
+ const n = (seen.get(base) ?? 0) + 1;
237
+ seen.set(base, n);
238
+ label = `${base} ${n}`;
239
+ }
240
+ const email = emails?.[i];
241
+ if (email)
242
+ return `${label}: ${email}`;
243
+ const source = sources?.[i];
244
+ return source ? `${label}: ${source}` : label;
161
245
  });
162
246
  }
163
247
  export function readAllClaudeAccounts() {
164
248
  if (process.platform !== "darwin") {
165
- const creds = readCredentialsFile();
249
+ const configDir = process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), ".claude");
250
+ const creds = readCredentialsFile(configDir);
166
251
  if (!creds)
167
252
  return [];
168
- const [label] = buildAccountLabels([creds]);
169
- return [{ label, source: "file", credentials: creds }];
253
+ const email = readEmailFromConfigDir(configDir);
254
+ const [label] = buildAccountLabels([creds], [email]);
255
+ return [{ label, source: "file", configDir, credentials: creds }];
170
256
  }
171
257
  const services = listClaudeKeychainServices();
172
- const rawAccounts = [];
258
+ const keychainAccounts = [];
173
259
  for (const svc of services) {
174
260
  const raw = readKeychainService(svc);
175
261
  if (!raw)
@@ -177,19 +263,50 @@ export function readAllClaudeAccounts() {
177
263
  const creds = parseCredentials(raw);
178
264
  if (!creds)
179
265
  continue;
180
- rawAccounts.push({ source: svc, credentials: creds });
266
+ const suffixMatch = svc.match(/-([0-9a-f]{8})$/);
267
+ keychainAccounts.push({
268
+ source: svc,
269
+ suffix: suffixMatch ? suffixMatch[1] : null,
270
+ credentials: creds,
271
+ });
181
272
  }
182
- if (rawAccounts.length === 0) {
183
- const creds = readCredentialsFile();
184
- if (creds)
185
- rawAccounts.push({ source: "file", credentials: creds });
273
+ if (keychainAccounts.length === 0) {
274
+ const configDir = process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), ".claude");
275
+ const creds = readCredentialsFile(configDir);
276
+ if (!creds)
277
+ return [];
278
+ const email = readEmailFromConfigDir(configDir);
279
+ const [label] = buildAccountLabels([creds], [email]);
280
+ return [{ label, source: "file", configDir, credentials: creds }];
186
281
  }
187
- const labels = buildAccountLabels(rawAccounts.map((a) => a.credentials));
188
- return rawAccounts.map((a, i) => ({
189
- label: labels[i],
190
- source: a.source,
191
- credentials: a.credentials,
192
- }));
282
+ const suffixToDir = discoverConfigDirsForKeychain(new Set(keychainAccounts
283
+ .map((a) => a.suffix)
284
+ .filter((s) => s !== null)));
285
+ const resolved = keychainAccounts.map((a) => {
286
+ const configDir = a.suffix === null ? join(homedir(), ".claude") : suffixToDir.get(a.suffix);
287
+ const email = configDir ? readEmailFromConfigDir(configDir) : null;
288
+ log("account_config_dir", {
289
+ source: a.source,
290
+ configDir: configDir ?? null,
291
+ });
292
+ return {
293
+ source: a.source,
294
+ credentials: a.credentials,
295
+ configDir,
296
+ email,
297
+ };
298
+ });
299
+ const labels = buildAccountLabels(resolved.map((a) => a.credentials), resolved.map((a) => a.email), resolved.map((a) => a.source));
300
+ return resolved.map((a, i) => {
301
+ const account = {
302
+ label: labels[i],
303
+ source: a.source,
304
+ credentials: a.credentials,
305
+ };
306
+ if (a.configDir)
307
+ account.configDir = a.configDir;
308
+ return account;
309
+ });
193
310
  }
194
311
  export function updateCredentialBlob(existingJson, newCreds) {
195
312
  let parsed;
@@ -223,7 +340,7 @@ function getKeychainAccountName(serviceName) {
223
340
  return null;
224
341
  }
225
342
  }
226
- export function writeBackCredentials(source, creds) {
343
+ export function writeBackCredentials(source, creds, configDir) {
227
344
  const newCreds = {
228
345
  accessToken: creds.accessToken,
229
346
  refreshToken: creds.refreshToken,
@@ -231,7 +348,8 @@ export function writeBackCredentials(source, creds) {
231
348
  };
232
349
  if (source === "file") {
233
350
  try {
234
- const credPath = join(homedir(), ".claude", ".credentials.json");
351
+ const dir = configDir ?? process.env.CLAUDE_CONFIG_DIR ?? join(homedir(), ".claude");
352
+ const credPath = join(dir, ".credentials.json");
235
353
  const raw = readFileSync(credPath, "utf-8");
236
354
  const updated = updateCredentialBlob(raw, newCreds);
237
355
  if (!updated)
@@ -240,11 +358,11 @@ export function writeBackCredentials(source, creds) {
240
358
  if (process.platform !== "win32") {
241
359
  chmodSync(credPath, 0o600);
242
360
  }
243
- log("writeback_success", { source });
361
+ log("writeback_success", { source, configDir: dir });
244
362
  return true;
245
363
  }
246
364
  catch {
247
- log("writeback_failed", { source });
365
+ log("writeback_failed", { source, configDir: configDir ?? null });
248
366
  return false;
249
367
  }
250
368
  }
@@ -256,9 +374,6 @@ export function writeBackCredentials(source, creds) {
256
374
  const updated = updateCredentialBlob(raw, newCreds);
257
375
  if (!updated)
258
376
  return false;
259
- // Discover the actual account name from the existing Keychain entry.
260
- // Claude CLI uses the macOS username (e.g. "gmartin"), not the service name.
261
- // Using the wrong account name creates a duplicate entry instead of updating.
262
377
  const accountName = getKeychainAccountName(source) ?? source;
263
378
  execFileSync("/usr/bin/security", [
264
379
  "add-generic-password",
@@ -280,9 +395,9 @@ export function writeBackCredentials(source, creds) {
280
395
  }
281
396
  return false;
282
397
  }
283
- export function refreshAccount(source) {
398
+ export function refreshAccount(source, configDir) {
284
399
  if (source === "file") {
285
- return readCredentialsFile();
400
+ return readCredentialsFile(configDir);
286
401
  }
287
402
  const raw = readKeychainService(source);
288
403
  if (!raw)
@@ -1 +1 @@
1
- {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAejC,MAAM,eAAe,GAAG,yBAAyB,CAAA;AAEjD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAI,MAAsC,CAAC,aAAa,IAAI,MAAM,CAAA;IAC5E,MAAM,KAAK,GAAG,IAMb,CAAA;IAED,mFAAmF;IACnF,IAAK,MAAiC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACtE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EACnC,CAAC;QACD,GAAG,CAAC,oBAAoB,EAAE;YACxB,cAAc,EAAE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YACrD,eAAe,EAAE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;YACvD,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YAC9C,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,oBAAoB,EAAE;QACxB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;KACjB,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,gBAAgB,EACd,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;YACxC,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACxB,CAAC,CAAC,SAAS;KAChB,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CACrB,sCAAsC,WAAW,MAAM,EACvD;YACE,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO;SAClB,CACF,CAAC,IAAI,EAAE,CAAA;QACR,GAAG,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7D,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,GAA2D,CAAA;QAEzE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/C,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CACb,0FAA0F,EAC1F,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CACb,mHAAmH,EACnH,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CACb,yEAAyE,EACzE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,WAAW;aACvB,CAAC,CAAA;YACF,OAAO,IAAI,CAAA,CAAC,iBAAiB;QAC/B,CAAC;QACD,GAAG,CAAC,qBAAqB,EAAE;YACzB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,QAAQ,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE;SAC/C,CAAC,CAAA;QACF,MAAM,IAAI,KAAK,CACb,kCAAkC,WAAW,WAAW,KAAK,CAAC,MAAM,IAAI,SAAS,4CAA4C,EAC7H,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,wBAAwB,EAAE;YAC9C,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,QAAQ;YACrC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAE9B,MAAM,EAAE,GAAG,2CAA2C,CAAA;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;YACD,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,eAAe;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChD,CAAC;QACD,GAAG,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAA;QAChD,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,eAAe,EAAE;YACnB,KAAK,EAAE,kCAAkC;YACzC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC1D,CAAC,CAAA;QACF,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAA;QAChE,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACnC,GAAG,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA;QACzD,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAA;QAChD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,SAA8B;IAC/D,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,IAAI,GACR,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1E,OAAO,UAAU,IAAI,EAAE,CAAA;QACzB,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAA;IACtC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC7B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC7C,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QACjB,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;IACvB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,MAAM,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAC3C,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAA;IAC7C,MAAM,WAAW,GACf,EAAE,CAAA;IAEJ,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG;YAAE,SAAQ;QAClB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;IACvD,CAAC;IAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAA;QACnC,IAAI,KAAK;YAAE,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;IACrE,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;IACxE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,WAAW,EAAE,CAAC,CAAC,WAAW;KAC3B,CAAC,CAAC,CAAA;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,QAA0E;IAE1E,IAAI,MAA+B,CAAA;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,aAAoD,CAAA;IAC3E,MAAM,MAAM,GAAG,OAAO,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;IACzC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;IAC3C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;IAErC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CACzB,mBAAmB,EACnB,CAAC,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC,EAC5C,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACtE,CAAA;QACD,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,uBAAuB,EAAE;gBAC3B,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aAClB,CAAC,CAAA;YACF,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,KAAwB;IAExB,MAAM,QAAQ,GAAG;QACf,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAA;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAA;YAChE,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACnD,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAA;YAC1B,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAC5B,CAAC;YACD,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACpC,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACnC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;YACvC,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;YACtB,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACnD,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAA;YAC1B,qEAAqE;YACrE,6EAA6E;YAC7E,8EAA8E;YAC9E,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA;YAC5D,YAAY,CACV,mBAAmB,EACnB;gBACE,sBAAsB;gBACtB,IAAI;gBACJ,MAAM;gBACN,IAAI;gBACJ,WAAW;gBACX,IAAI;gBACJ,OAAO;gBACP,IAAI;aACL,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CACnC,CAAA;YACD,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;YACjD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACnC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,mBAAmB,EAAE,CAAA;IAC9B,CAAC;IACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"keychain.js","sourceRoot":"","sources":["../src/keychain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EACL,SAAS,EACT,UAAU,EACV,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAgBjC,MAAM,CAAC,MAAM,eAAe,GAAG,yBAAyB,CAAA;AAExD,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,IAAI,GAAI,MAAsC,CAAC,aAAa,IAAI,MAAM,CAAA;IAC5E,MAAM,KAAK,GAAG,IAMb,CAAA;IAED,IAAK,MAAiC,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACtE,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IACE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;QACrC,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;QACtC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EACnC,CAAC;QACD,GAAG,CAAC,oBAAoB,EAAE;YACxB,cAAc,EAAE,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ;YACrD,eAAe,EAAE,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ;YACvD,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;YAC9C,SAAS,EAAE,KAAK;SACjB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,GAAG,CAAC,oBAAoB,EAAE;QACxB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,KAAK;KACjB,CAAC,CAAA;IAEF,OAAO;QACL,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;QACtC,gBAAgB,EACd,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ;YACxC,CAAC,CAAC,KAAK,CAAC,gBAAgB;YACxB,CAAC,CAAC,SAAS;KAChB,CAAA;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,WAAmB;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CACrB,sCAAsC,WAAW,MAAM,EACvD;YACE,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,OAAO;SAClB,CACF,CAAC,IAAI,EAAE,CAAA;QACR,GAAG,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC7D,OAAO,MAAM,CAAA;IACf,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,GAA2D,CAAA;QAEzE,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC/C,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,SAAS;aACrB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CACb,0FAA0F,EAC1F,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CACb,mHAAmH,EACnH,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACzB,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAA;YACF,MAAM,IAAI,KAAK,CACb,yEAAyE,EACzE,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;QACH,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;YACxB,GAAG,CAAC,qBAAqB,EAAE;gBACzB,OAAO,EAAE,WAAW;gBACpB,SAAS,EAAE,WAAW;aACvB,CAAC,CAAA;YACF,OAAO,IAAI,CAAA;QACb,CAAC;QACD,GAAG,CAAC,qBAAqB,EAAE;YACzB,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,QAAQ,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE;SAC/C,CAAC,CAAA;QACF,MAAM,IAAI,KAAK,CACb,kCAAkC,WAAW,WAAW,KAAK,CAAC,MAAM,IAAI,SAAS,4CAA4C,EAC7H,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;IACH,CAAC;AACH,CAAC;AAED,SAAS,0BAA0B;IACjC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,QAAQ,CAAC,wBAAwB,EAAE;YAC9C,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,QAAQ;YACrC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAA;QAE9B,iEAAiE;QACjE,+DAA+D;QAC/D,0CAA0C;QAC1C,MAAM,EAAE,GAAG,2CAA2C,CAAA;QACtD,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACpB,CAAC;YACD,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC5D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,IAAI,GAAG,KAAK,eAAe;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChD,CAAC;QACD,GAAG,CAAC,eAAe,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAA;QAChD,OAAO,OAAO,CAAA;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,eAAe,EAAE;YACnB,KAAK,EAAE,kCAAkC;YACzC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;SAC1D,CAAC,CAAA;QACF,OAAO,CAAC,eAAe,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG;QACjB,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC;QAC/B,GAAG,CAAC,SAAS,KAAK,gBAAgB;YAChC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,cAAc,CAAC,CAAC;YACnC,CAAC,CAAC,EAAE,CAAC;KACR,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAE1B,CAAA;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAA;YAC7C,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,qBAAqB;QACvB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC;IAEvE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAA;QACrD,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAC3C,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACnC,GAAG,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACpE,OAAO,KAAK,CAAA;IACd,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAA;QAC3D,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,IAAI,gBAAgB,GAA+B,IAAI,CAAA;AAEvD,SAAS,qBAAqB,CAAC,MAAmB;IAChD,MAAM,YAAY,GAAG,CAAC,KAA0B,EAAE,EAAE,CAClD,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;IAElD,IAAI,gBAAgB,IAAI,YAAY,CAAC,gBAAgB,CAAC;QACpD,OAAO,gBAAgB,CAAA;IAEzB,MAAM,KAAK,GAAG,gBAAgB,IAAI,IAAI,GAAG,EAAkB,CAAA;IAE3D,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAA;QACxC,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACtE,CAAC,CAAA;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAClC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;IACtB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAQ;YACjE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;gBAAE,SAAQ;YACpD,MAAM,CAAC,GAAG,CAAC,CAAA;YACX,IAAI,YAAY,CAAC,KAAK,CAAC;gBAAE,MAAK;QAChC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,EAAE;IACJ,CAAC;IAED,gBAAgB,GAAG,KAAK,CAAA;IACxB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,gBAAgB,GAAG,IAAI,CAAA;AACzB,CAAC;AAED,SAAS,6BAA6B,CACpC,gBAA6B;IAE7B,MAAM,KAAK,GAAG,qBAAqB,CAAC,gBAAgB,CAAC,CAAA;IACrD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QAC7B,IAAI,GAAG;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAClC,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,SAA8B,EAC9B,MAA0B,EAC1B,OAA2B;IAE3B,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACvB,MAAM,IAAI,GACR,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC1E,OAAO,UAAU,IAAI,EAAE,CAAA;QACzB,CAAC;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,KAAK,MAAM,CAAC,IAAI,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IAEnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAA;IACtC,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAChC,IAAI,KAAa,CAAA;QACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;YACnC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;YACjB,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,EAAE,CAAA;QACxB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,KAAK;YAAE,OAAO,GAAG,KAAK,KAAK,KAAK,EAAE,CAAA;QACtC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA;QAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAA;QAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QACpD,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,QAAQ,GAAG,0BAA0B,EAAE,CAAA;IAC7C,MAAM,gBAAgB,GAIjB,EAAE,CAAA;IAEP,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAA;QACpC,IAAI,CAAC,GAAG;YAAE,SAAQ;QAClB,MAAM,KAAK,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC,KAAK;YAAE,SAAQ;QACpB,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAChD,gBAAgB,CAAC,IAAI,CAAC;YACpB,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3C,WAAW,EAAE,KAAK;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;QAC7D,MAAM,KAAK,GAAG,mBAAmB,CAAC,SAAS,CAAC,CAAA;QAC5C,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAA;QACrB,MAAM,KAAK,GAAG,sBAAsB,CAAC,SAAS,CAAC,CAAA;QAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,kBAAkB,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;QACpD,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;IAED,MAAM,WAAW,GAAG,6BAA6B,CAC/C,IAAI,GAAG,CACL,gBAAgB;SACb,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAC1C,CACF,CAAA;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1C,MAAM,SAAS,GACb,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;QAC5E,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAClE,GAAG,CAAC,oBAAoB,EAAE;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,SAAS,IAAI,IAAI;SAC7B,CAAC,CAAA;QACF,OAAO;YACL,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,SAAS;YACT,KAAK;SACN,CAAA;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,MAAM,GAAG,kBAAkB,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,EAClC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAC5B,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC9B,CAAA;IAED,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAkB;YAC7B,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,WAAW,EAAE,CAAC,CAAC,WAAW;SAC3B,CAAA;QACD,IAAI,CAAC,CAAC,SAAS;YAAE,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAA;QAChD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,YAAoB,EACpB,QAA0E;IAE1E,IAAI,MAA+B,CAAA;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,aAAoD,CAAA;IAC3E,MAAM,MAAM,GAAG,OAAO,IAAI,MAAM,CAAA;IAEhC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;IACzC,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAA;IAC3C,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAA;IAErC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAmB;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,YAAY,CACzB,mBAAmB,EACnB,CAAC,uBAAuB,EAAE,IAAI,EAAE,WAAW,CAAC,EAC5C,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CACtE,CAAA;QACD,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,KAAK,EAAE,CAAC;YACV,GAAG,CAAC,uBAAuB,EAAE;gBAC3B,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;aAClB,CAAC,CAAA;YACF,OAAO,KAAK,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,KAAwB,EACxB,SAAkB;IAElB,MAAM,QAAQ,GAAG;QACf,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAA;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GACP,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;YAC1E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAA;YAC/C,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC3C,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACnD,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAA;YAC1B,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;YACpE,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACjC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;YAC5B,CAAC;YACD,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAA;YACpD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,CAAC,CAAA;YACjE,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;YACvC,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAA;YACtB,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YACnD,IAAI,CAAC,OAAO;gBAAE,OAAO,KAAK,CAAA;YAC1B,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA;YAC5D,YAAY,CACV,mBAAmB,EACnB;gBACE,sBAAsB;gBACtB,IAAI;gBACJ,MAAM;gBACN,IAAI;gBACJ,WAAW;gBACX,IAAI;gBACJ,OAAO;gBACP,IAAI;aACL,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CACnC,CAAA;YACD,GAAG,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;YACjD,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACnC,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,SAAkB;IAElB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,GAAG,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,OAAO,gBAAgB,CAAC,GAAG,CAAC,CAAA;AAC9B,CAAC"}
package/installation.md CHANGED
@@ -28,7 +28,7 @@ If this returns credentials, you're authenticated. If it fails or returns nothin
28
28
  cat ~/.claude/.credentials.json
29
29
  ```
30
30
 
31
- If this file exists and contains valid JSON, you're authenticated.
31
+ If this file exists and contains valid JSON, you're authenticated. If `CLAUDE_CONFIG_DIR` is set, check `$CLAUDE_CONFIG_DIR/.credentials.json` instead.
32
32
 
33
33
  ### If credentials don't exist
34
34
 
@@ -38,7 +38,7 @@ Run Claude Code to authenticate:
38
38
  claude
39
39
  ```
40
40
 
41
- This will prompt you to log in and store credentials in Keychain (macOS) or `~/.claude/.credentials.json` (other platforms).
41
+ This will prompt you to log in and store credentials in Keychain (macOS) or `~/.claude/.credentials.json` (other platforms; `$CLAUDE_CONFIG_DIR/.credentials.json` if `CLAUDE_CONFIG_DIR` is set).
42
42
 
43
43
  ## Installation
44
44
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-claude-auth",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "description": "OpenCode plugin that uses your Claude Code credentials — no separate login needed.",
5
5
  "keywords": [
6
6
  "anthropic",
@@ -63,6 +63,7 @@
63
63
  "build": "rm -rf dist && tsc && cp src/anthropic-prompt.txt dist/",
64
64
  "test": "node --test --experimental-strip-types src/**/*.test.ts scripts/**/*.test.ts",
65
65
  "test:models": "pnpm run build && node scripts/test-models.ts",
66
+ "test:headless": "pnpm run build && node --experimental-strip-types scripts/test-headless.ts",
66
67
  "intercept": "pnpm run build && node --experimental-strip-types scripts/intercept-claude.ts",
67
68
  "intercept:all": "pnpm run build && node --experimental-strip-types scripts/intercept-claude.ts --all",
68
69
  "intercept:update": "pnpm run build && node --experimental-strip-types scripts/intercept-claude.ts --all --update",