@provos/ironcurtain 0.9.0 → 0.9.1

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
@@ -108,9 +108,9 @@ ironcurtain mux
108
108
  **Key capabilities:**
109
109
 
110
110
  - **Full agent TUI** — The agent runs in a PTY inside a Docker container with no network access. You interact with it exactly as if it were running locally.
111
- - **Inline escalation handling** — When a tool call needs approval, an escalation panel overlays the viewport. Press Ctrl-A to enter command mode, `/approve N` or `/deny N`, and return.
111
+ - **Inline escalation handling** — When a tool call needs approval, an escalation picker overlays the viewport with single-key actions (a/d/w for approve/deny/whitelist). Use `/approve+ N` to whitelist a domain or path for the rest of the session.
112
112
  - **Trusted user input** — Text typed in command mode (Ctrl-A) is captured on the host side before entering the container. This creates a verified intent signal that the auto-approver can use — e.g., typing "push my changes to origin" will auto-approve a subsequent `git_push` escalation.
113
- - **Tab management** — Spawn multiple concurrent sessions (`/new`), switch between them (`/tab N`, Alt-1..9), close them (`/close`).
113
+ - **Tab management** — Spawn multiple concurrent sessions (`/new`), switch between them (`/tab N`, Alt-1..9), close them (`/close`). Multiple mux instances can run in parallel.
114
114
 
115
115
  See [DEVELOPER_GUIDE.md](DEVELOPER_GUIDE.md) for the full walkthrough: input modes, trusted input security model, escalation workflow, and keyboard reference.
116
116
 
@@ -241,15 +241,16 @@ Key configuration areas: models and API keys, resource budgets (token/step/time/
241
241
 
242
242
  ## Built-in Capabilities
243
243
 
244
- IronCurtain ships with five pre-configured MCP servers. All tool calls (except memory) are governed by your compiled policy.
244
+ IronCurtain ships with six pre-configured MCP servers. All tool calls (except memory) are governed by your compiled policy.
245
245
 
246
- | Server | Tools | Key capabilities |
247
- | -------------- | ----- | ----------------------------------------------------------------------------------------------------------------- |
248
- | **Filesystem** | 14 | Read, write, edit, search files; directory tree; move; diff calculation |
249
- | **Git** | 27 | Full git workflow: status, diff, log, commit, branch, push/pull/fetch, clone, stash, blame |
250
- | **Fetch** | 2 | HTTP GET with HTML-to-markdown conversion; web search (Brave, Tavily, SerpAPI) |
251
- | **GitHub** | 41 | Issues, PRs, code search, reviews via `ghcr.io/github/github-mcp-server`; requires a GitHub personal access token |
252
- | **Memory** | 5 | Persistent semantic memory with hybrid vector+keyword search, LLM summarization, and automatic compaction. Enabled for persona and cron sessions. |
246
+ | Server | Tools | Key capabilities |
247
+ | -------------------- | ----- | ----------------------------------------------------------------------------------------------------------------- |
248
+ | **Filesystem** | 14 | Read, write, edit, search files; directory tree; move; diff calculation |
249
+ | **Git** | 28 | Full git workflow: status, diff, log, commit, branch, push/pull/fetch, clone, stash, blame |
250
+ | **Fetch** | 2 | HTTP GET with HTML-to-markdown conversion; web search (Brave, Tavily, SerpAPI) |
251
+ | **GitHub** | 41 | Issues, PRs, code search, reviews via `ghcr.io/github/github-mcp-server`; requires a GitHub personal access token |
252
+ | **Google Workspace** | 128 | Gmail, Calendar, Drive, Docs, Sheets requires OAuth setup via `ironcurtain auth` |
253
+ | **Memory** | 5 | Persistent semantic memory with hybrid vector+keyword search, LLM summarization, and automatic compaction. Enabled for persona and cron sessions. |
253
254
 
254
255
  Read-only operations are allowed by default policy; mutations (writes, pushes, PR creation) escalate for human approval. Tools use `server.tool` naming (e.g., `filesystem.read_file`, `memory.recall`).
255
256
 
@@ -32,7 +32,7 @@ export async function prepareDockerInfrastructure(config, mode, sessionDir, sand
32
32
  const { useTcpTransport } = await import('./platform.js');
33
33
  const { getIronCurtainHome } = await import('../config/paths.js');
34
34
  const { prepareSession } = await import('./orientation.js');
35
- const { detectAuthMethod } = await import('./oauth-credentials.js');
35
+ const { detectAuthMethod, writeToKeychain } = await import('./oauth-credentials.js');
36
36
  const { OAuthTokenManager } = await import('./oauth-token-manager.js');
37
37
  await registerBuiltinAdapters(config.userConfig);
38
38
  const adapter = getAgent(mode.agent);
@@ -40,7 +40,7 @@ export async function prepareDockerInfrastructure(config, mode, sessionDir, sand
40
40
  // Detect authentication method. Adapters with detectCredential() handle
41
41
  // their own credential detection (e.g., Goose checks provider-specific keys).
42
42
  // Adapters without it fall back to detectAuthMethod() (Anthropic OAuth + API key).
43
- const authMethod = adapter.detectCredential ? adapter.detectCredential(config) : detectAuthMethod(config);
43
+ const authMethod = adapter.detectCredential ? adapter.detectCredential(config) : await detectAuthMethod(config);
44
44
  if (authMethod.kind === 'none') {
45
45
  throw new Error(adapter.credentialHelpText ??
46
46
  'No credentials available for Docker session. ' +
@@ -69,8 +69,11 @@ export async function prepareDockerInfrastructure(config, mode, sessionDir, sand
69
69
  // Providers sharing the same fakeKeyPrefix (and thus the same real credential)
70
70
  // reuse the same fake key so a single container token authenticates against all hosts.
71
71
  const oauthAccessToken = authMethod.kind === 'oauth' ? authMethod.credentials.accessToken : undefined;
72
+ const tokenManagerKeychainDeps = authMethod.kind === 'oauth' && authMethod.source === 'keychain'
73
+ ? { writeToKeychain, keychainServiceName: authMethod.keychainServiceName }
74
+ : undefined;
72
75
  const tokenManager = authMethod.kind === 'oauth'
73
- ? new OAuthTokenManager(authMethod.credentials, { canRefresh: authMethod.source === 'file' })
76
+ ? new OAuthTokenManager(authMethod.credentials, { canRefresh: true }, tokenManagerKeychainDeps)
74
77
  : undefined;
75
78
  const providers = adapter.getProviders(authKind);
76
79
  const fakeKeys = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"docker-infrastructure.js","sourceRoot":"","sources":["../../src/docker/docker-infrastructure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,UAAU,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,MAAM,EACN,SAAS,EACT,aAAa,EACb,UAAU,GACX,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AA8BvC,iEAAiE;AACjE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC,CAAC;AAE9E;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAyB,EACzB,IAAsC,EACtC,UAAkB,EAClB,UAAkB,EAClB,aAAqB,EACrB,YAAoB,EACpB,SAAiB;IAEjB,6EAA6E;IAC7E,MAAM,EAAE,uBAAuB,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IAClF,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACrE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAC5D,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;IACnD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACpE,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClE,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAE5D,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IACpE,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;IAEvE,MAAM,uBAAuB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAC;IAEjC,wEAAwE;IACxE,8EAA8E;IAC9E,mFAAmF;IACnF,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC1G,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,OAAO,CAAC,kBAAkB;YACxB,+CAA+C;gBAC7C,8DAA8D,CACnE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;IAEjC,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,CAAC,UAAU,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAEvC,wEAAwE;IACxE,0EAA0E;IAC1E,0CAA0C;IAC1C,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAClD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAExD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAErD,MAAM,KAAK,GAAG,mBAAmB,CAAC;QAChC,UAAU;QACV,MAAM;QACN,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;KACnC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAEjC,sDAAsD;IACtD,wFAAwF;IACxF,+EAA+E;IAC/E,uFAAuF;IACvF,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IACtG,MAAM,YAAY,GAChB,UAAU,CAAC,IAAI,KAAK,OAAO;QACzB,CAAC,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,UAAU,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC7F,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,gBAAgB,GAAyB,EAAE,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,KAAK,MAAM,cAAc,IAAI,SAAS,EAAE,CAAC;QACvC,IAAI,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACxD,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,cAAc,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC9E,0EAA0E;QAC1E,MAAM,gBAAgB,GAAG,YAAY,IAAI,eAAe,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7G,gBAAgB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,qDAAqD;IACrD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC;IACnD,IAAI,UAAqE,CAAC;IAC1E,IAAI,iBAAiH,CAAC;IAEtH,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;QACtB,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC1F,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE1E,UAAU,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,sBAAsB,CAAC;YACvC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,cAAc,EAAE,SAAS,CAAC,cAAc;SACzC,CAAC,CAAC;QACH,MAAM,mBAAmB,GAAG,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;QACvE,iBAAiB,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC;IACvE,CAAC;IAED,MAAM,SAAS,GAAG,MAAM;QACtB,CAAC,CAAC,eAAe,CAAC;YACd,UAAU,EAAE,CAAC;YACb,EAAE;YACF,SAAS,EAAE,gBAAgB;YAC3B,UAAU;YACV,iBAAiB;YACjB,WAAW,EAAE,CAAC;SACf,CAAC;QACJ,CAAC,CAAC,eAAe,CAAC;YACd,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,iBAAiB,CAAC;YAClD,EAAE;YACF,SAAS,EAAE,gBAAgB;YAC3B,UAAU;YACV,iBAAiB;YACjB,iBAAiB,EAAE,OAAO,CAAC,UAAU,EAAE,mBAAmB,CAAC;SAC5D,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC;IAErC,gFAAgF;IAChF,kFAAkF;IAClF,oFAAoF;IACpF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,qCAAqC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,kEAAkE;IAClE,MAAM,WAAW,GACf,QAAQ,CAAC,WAAW,KAAK,SAAS;QAChC,CAAC,CAAC,oBAAoB,QAAQ,CAAC,WAAW,EAAE;QAC5C,CAAC,CAAC,QAAQ,CAAC,iBAAiB;YAC1B,CAAC,CAAC,UAAU,QAAQ,CAAC,iBAAiB,EAAE;YACxC,CAAC,CAAC,SAAS,CAAC;IAClB,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,CAAC,eAAe,GAAG,WAAW,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,uBAAuB,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,oEAAoE;IACpE,oEAAoE;IACpE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;IACpB,IAAI,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,0CAA0C,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,uEAAuE;IACvE,IAAI,CAAC;QACH,oBAAoB;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/F,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC,CAAC;QACJ,4EAA4E;QAC5E,yEAAyE;QACzE,sDAAsD;QACtD,IAAI,MAAM,CAAC,eAAe,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;YAC9E,cAAc,CAAC,IAAI,CAAC;gBAClB,IAAI,EAAE,OAAO;gBACb,WAAW,EAAE,mEAAmE;aACjF,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,sBAAsB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAElF,MAAM,YAAY,GAAG,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,wBAAwB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3G,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAE/G,8CAA8C;QAC9C,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAErC,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAE1D,qEAAqE;QACrE,MAAM,uBAAuB,GAAG,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;QACvE,MAAM,oBAAoB,GAAG,uBAAuB;YAClD,CAAC,CAAC,2BAA2B,CAAC,UAAU,EAAE,uBAAuB,CAAC;YAClE,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,SAAS;YACT,UAAU;YACV,UAAU;YACV,aAAa;YACb,YAAY;YACZ,KAAK;YACL,SAAS;YACT,MAAM;YACN,OAAO;YACP,EAAE;YACF,QAAQ;YACR,cAAc;YACd,YAAY;YACZ,KAAK;YACL,MAAM;YACN,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,oBAAoB;YACpB,uBAAuB;SACxB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,+CAA+C;QAC/C,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACnC,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,IAAY,EAAE,MAAyB,EAAE,gBAAoC;IACnG,IAAI,gBAAgB,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,IAAI,GAAW,CAAC;IAChB,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,mBAAmB,CAAC;QACzB,KAAK,qBAAqB;YACxB,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;YACxC,MAAM;QACR,KAAK,gBAAgB;YACnB,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YACrC,MAAM;QACR,KAAK,mCAAmC;YACtC,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;YACrC,MAAM;QACR;YACE,MAAM,CAAC,IAAI,CAAC,iDAAiD,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,EAAE,CAAC;IACd,CAAC;IACD,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,CAAC,IAAI,CAAC,4CAA4C,IAAI,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,UAAkB,EAAE,MAA+B;IAC7F,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,IAAI,KAAK,EAAE,CAAC;QACV,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;YACtF,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YAEpC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjD,+CAA+C;YAC/C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACtE,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;gBAC/C,kBAAkB;gBAClB,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,aAAa;gBACb,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpD,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAC/D,IAAI,CAAC;QACH,UAAU,CAAC,eAAe,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAa,EAAE,MAAqB,EAAE,EAAwB;IAC9F,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEjD,8EAA8E;IAC9E,MAAM,cAAc,GAClB,IAAI,EAAE,KAAK,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAC3E,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,iBAAiB,CAAC;IAExB,+DAA+D;IAC/D,MAAM,SAAS,GAAG,yBAAyB,CAAC;IAC5C,MAAM,aAAa,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IAE3G,0EAA0E;IAC1E,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,cAAc,SAAS,EAAE,CAAC;IAC7C,MAAM,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,mCAAmC,SAAS,MAAM,mBAAmB,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC5F,MAAM,eAAe,GAAG,WAAW,IAAI,CAAC,MAAM,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAE3F,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,yBAAyB,KAAK,KAAK,CAAC,CAAC;QACjD,MAAM,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,EAAE;YAC7D,wBAAwB,EAAE,cAAc;SACzC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,qBAAqB,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,SAAiB,EACjB,MAAqB,EACrB,EAAwB,EACxB,SAAiB,EACjB,UAAkB,EAClB,SAAiB;IAEjB,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEtE,MAAM,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IAElF,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC,CAAC;QAE1E,MAAM,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE;YAC9E,wBAAwB,EAAE,SAAS;SACpC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,KAAa,EAAE,MAAqB,EAAE,YAAoB;IACpF,IAAI,CAAC,CAAC,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;IAC/E,OAAO,UAAU,KAAK,YAAY,CAAC;AACrC,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAiB,EAAE,WAAqB,EAAE,SAAiB,EAAE,UAAmB;IACxG,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAElC,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEvB,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC,MAAM,CAAC,UAAU,UAAU,IAAI,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"docker-infrastructure.js","sourceRoot":"","sources":["../../src/docker/docker-infrastructure.ts"],"names":[],"mappings":"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"}
@@ -20,11 +20,21 @@ export interface OAuthCredentials {
20
20
  }
21
21
  /** Where OAuth credentials were loaded from. */
22
22
  export type OAuthCredentialSource = 'file' | 'keychain';
23
+ /** Keychain lookup result that preserves the service name for write-back. */
24
+ export interface KeychainResult {
25
+ readonly credentials: OAuthCredentials;
26
+ readonly serviceName: string;
27
+ }
23
28
  /** Authentication method detected on the host. */
24
29
  export type AuthMethod = {
25
30
  readonly kind: 'oauth';
26
31
  readonly credentials: OAuthCredentials;
27
- readonly source: OAuthCredentialSource;
32
+ readonly source: 'file';
33
+ } | {
34
+ readonly kind: 'oauth';
35
+ readonly credentials: OAuthCredentials;
36
+ readonly source: 'keychain';
37
+ readonly keychainServiceName: string;
28
38
  } | {
29
39
  readonly kind: 'apikey';
30
40
  readonly key: string;
@@ -56,14 +66,30 @@ export declare function loadCredentialsFromFile(filePath: string): OAuthCredenti
56
66
  */
57
67
  export declare function parseCredentialsJson(json: string): OAuthCredentials | null;
58
68
  /**
59
- * Attempts to extract OAuth credentials from the macOS Keychain.
69
+ * Attempts to extract OAuth credentials from the macOS Keychain,
70
+ * also returning which service name succeeded (needed for write-back).
60
71
  * Returns null on non-macOS platforms, Keychain access failure, or
61
72
  * when no valid credentials are found.
62
73
  *
63
74
  * Tries both service names because Claude Code has a known bug where
64
75
  * the write and read service names differ.
65
76
  */
77
+ export declare function extractFromKeychainWithService(): KeychainResult | null;
78
+ /**
79
+ * Attempts to extract OAuth credentials from the macOS Keychain.
80
+ * Returns null on non-macOS platforms, Keychain access failure, or
81
+ * when no valid credentials are found.
82
+ *
83
+ * Delegates to extractFromKeychainWithService() and strips the service name.
84
+ */
66
85
  export declare function extractFromKeychain(): OAuthCredentials | null;
86
+ /**
87
+ * Writes updated OAuth credentials back to the macOS Keychain.
88
+ * Preserves existing fields in the Keychain entry (e.g., scopes, subscriptionType).
89
+ *
90
+ * No-op on non-macOS platforms.
91
+ */
92
+ export declare function writeToKeychain(credentials: OAuthCredentials, serviceName: string): void;
67
93
  /**
68
94
  * Refreshes an OAuth access token using a refresh token grant.
69
95
  *
@@ -76,19 +102,32 @@ export declare function refreshOAuthToken(refreshToken: string): Promise<OAuthCr
76
102
  * preserving other fields in the file (e.g., scopes, subscriptionType).
77
103
  */
78
104
  export declare function saveOAuthCredentials(credentials: OAuthCredentials, filePath?: string): void;
79
- /** Injectable credential sources for testability. */
105
+ /**
106
+ * Injectable credential sources for testability.
107
+ *
108
+ * The optional refresh/save/keychain-write functions enable token refresh
109
+ * and persistence in detectAuthMethod(). When these functions are omitted,
110
+ * expired tokens are not refreshed or written back; the caller only receives
111
+ * the detection result (and any existing, possibly stale, credentials).
112
+ */
80
113
  export interface CredentialSources {
81
114
  loadFromFile: () => OAuthCredentials | null;
82
115
  loadFromKeychain: () => OAuthCredentials | null;
116
+ refreshToken?: (refreshToken: string) => Promise<OAuthCredentials | null>;
117
+ saveToFile?: (credentials: OAuthCredentials) => void;
118
+ loadFromKeychainWithService?: () => KeychainResult | null;
119
+ writeToKeychain?: (credentials: OAuthCredentials, serviceName: string) => void;
83
120
  }
84
121
  /**
85
122
  * Detects the best authentication method available on the host.
123
+ * When refresh functions are provided in sources, attempts to refresh
124
+ * expired OAuth tokens before falling back to API key auth.
86
125
  *
87
126
  * Priority:
88
127
  * 1. IRONCURTAIN_DOCKER_AUTH=apikey env var forces API key mode
89
- * 2. OAuth credentials from ~/.claude/.credentials.json (if not expired)
90
- * 3. OAuth credentials from macOS Keychain (if credentials file missing)
128
+ * 2. OAuth credentials from ~/.claude/.credentials.json (valid or refreshable)
129
+ * 3. OAuth credentials from macOS Keychain (valid or refreshable)
91
130
  * 4. API key from config
92
131
  * 5. None
93
132
  */
94
- export declare function detectAuthMethod(config: IronCurtainConfig, sources?: CredentialSources): AuthMethod;
133
+ export declare function detectAuthMethod(config: IronCurtainConfig, sources?: CredentialSources): Promise<AuthMethod>;
@@ -94,14 +94,15 @@ export function parseCredentialsJson(json) {
94
94
  }
95
95
  }
96
96
  /**
97
- * Attempts to extract OAuth credentials from the macOS Keychain.
97
+ * Attempts to extract OAuth credentials from the macOS Keychain,
98
+ * also returning which service name succeeded (needed for write-back).
98
99
  * Returns null on non-macOS platforms, Keychain access failure, or
99
100
  * when no valid credentials are found.
100
101
  *
101
102
  * Tries both service names because Claude Code has a known bug where
102
103
  * the write and read service names differ.
103
104
  */
104
- export function extractFromKeychain() {
105
+ export function extractFromKeychainWithService() {
105
106
  if (platform() !== 'darwin')
106
107
  return null;
107
108
  const account = userInfo().username;
@@ -115,7 +116,7 @@ export function extractFromKeychain() {
115
116
  const credentials = parseCredentialsJson(result.trim());
116
117
  if (credentials) {
117
118
  logger.info(`Found OAuth credentials in macOS Keychain (service: "${service}")`);
118
- return credentials;
119
+ return { credentials, serviceName: service };
119
120
  }
120
121
  }
121
122
  catch {
@@ -125,6 +126,58 @@ export function extractFromKeychain() {
125
126
  }
126
127
  return null;
127
128
  }
129
+ /**
130
+ * Attempts to extract OAuth credentials from the macOS Keychain.
131
+ * Returns null on non-macOS platforms, Keychain access failure, or
132
+ * when no valid credentials are found.
133
+ *
134
+ * Delegates to extractFromKeychainWithService() and strips the service name.
135
+ */
136
+ export function extractFromKeychain() {
137
+ return extractFromKeychainWithService()?.credentials ?? null;
138
+ }
139
+ /**
140
+ * Writes updated OAuth credentials back to the macOS Keychain.
141
+ * Preserves existing fields in the Keychain entry (e.g., scopes, subscriptionType).
142
+ *
143
+ * No-op on non-macOS platforms.
144
+ */
145
+ export function writeToKeychain(credentials, serviceName) {
146
+ if (platform() !== 'darwin')
147
+ return;
148
+ const account = userInfo().username;
149
+ // Read existing Keychain value to preserve extra fields
150
+ let existing = {};
151
+ try {
152
+ const raw = execFileSync('security', ['find-generic-password', '-s', serviceName, '-a', account, '-w'], {
153
+ encoding: 'utf8',
154
+ stdio: ['pipe', 'pipe', 'pipe'],
155
+ timeout: 10_000,
156
+ });
157
+ const parsed = JSON.parse(raw.trim());
158
+ if (typeof parsed === 'object' && parsed !== null) {
159
+ existing = parsed;
160
+ }
161
+ }
162
+ catch {
163
+ // Entry doesn't exist or is unreadable -- start fresh
164
+ }
165
+ const existingOauth = typeof existing.claudeAiOauth === 'object' && existing.claudeAiOauth !== null
166
+ ? existing.claudeAiOauth
167
+ : {};
168
+ existing.claudeAiOauth = {
169
+ ...existingOauth,
170
+ accessToken: credentials.accessToken,
171
+ refreshToken: credentials.refreshToken,
172
+ expiresAt: credentials.expiresAt,
173
+ };
174
+ const json = JSON.stringify(existing);
175
+ // -U flag updates an existing entry or creates a new one
176
+ execFileSync('security', ['add-generic-password', '-U', '-s', serviceName, '-a', account, '-w', json], {
177
+ timeout: 10_000,
178
+ stdio: ['pipe', 'pipe', 'pipe'],
179
+ });
180
+ }
128
181
  /** Claude Code's public OAuth client ID. */
129
182
  const OAUTH_CLIENT_ID = '9d1c250a-e61b-44d9-88ed-5944d1962f5e';
130
183
  /** Anthropic's OAuth token endpoint (platform.claude.com since mid-2025). */
@@ -136,22 +189,25 @@ const OAUTH_TOKEN_URL = 'https://platform.claude.com/v1/oauth/token';
136
189
  * token, network error, etc.).
137
190
  */
138
191
  export async function refreshOAuthToken(refreshToken) {
192
+ const REFRESH_TIMEOUT_MS = 30_000;
139
193
  try {
194
+ const body = new URLSearchParams({
195
+ grant_type: 'refresh_token',
196
+ refresh_token: refreshToken,
197
+ client_id: OAUTH_CLIENT_ID,
198
+ });
140
199
  const response = await fetch(OAUTH_TOKEN_URL, {
141
200
  method: 'POST',
142
- headers: { 'Content-Type': 'application/json' },
143
- body: JSON.stringify({
144
- grant_type: 'refresh_token',
145
- refresh_token: refreshToken,
146
- client_id: OAUTH_CLIENT_ID,
147
- }),
201
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
202
+ body: body.toString(),
203
+ signal: AbortSignal.timeout(REFRESH_TIMEOUT_MS),
148
204
  });
149
205
  if (!response.ok) {
150
206
  logger.warn(`OAuth token refresh failed: HTTP ${response.status}`);
151
207
  return null;
152
208
  }
153
209
  const data = (await response.json());
154
- return parseTokenResponse(data);
210
+ return parseTokenResponse(data, refreshToken);
155
211
  }
156
212
  catch (err) {
157
213
  logger.warn(`OAuth token refresh error: ${err instanceof Error ? err.message : String(err)}`);
@@ -160,19 +216,19 @@ export async function refreshOAuthToken(refreshToken) {
160
216
  }
161
217
  /**
162
218
  * Validates and extracts credentials from an OAuth token endpoint response.
163
- * Returns null if any required field is missing or invalid.
219
+ * Returns null if access_token or expires_in are missing/invalid.
220
+ * Preserves the original refresh token when the response omits refresh_token
221
+ * (not all providers rotate refresh tokens on every grant).
164
222
  */
165
- function parseTokenResponse(data) {
223
+ function parseTokenResponse(data, fallbackRefreshToken) {
166
224
  const { access_token: accessToken, refresh_token: refreshToken, expires_in: expiresIn } = data;
167
225
  if (!isNonEmptyString(accessToken))
168
226
  return null;
169
- if (!isNonEmptyString(refreshToken))
170
- return null;
171
227
  if (!isPositiveFiniteNumber(expiresIn))
172
228
  return null;
173
229
  return {
174
230
  accessToken,
175
- refreshToken,
231
+ refreshToken: isNonEmptyString(refreshToken) ? refreshToken : fallbackRefreshToken,
176
232
  expiresAt: Date.now() + expiresIn * 1000,
177
233
  };
178
234
  }
@@ -208,39 +264,62 @@ export function saveOAuthCredentials(credentials, filePath) {
208
264
  const defaultSources = {
209
265
  loadFromFile: loadOAuthCredentials,
210
266
  loadFromKeychain: extractFromKeychain,
267
+ refreshToken: refreshOAuthToken,
268
+ saveToFile: saveOAuthCredentials,
269
+ loadFromKeychainWithService: extractFromKeychainWithService,
270
+ writeToKeychain,
211
271
  };
212
272
  /**
213
273
  * Detects the best authentication method available on the host.
274
+ * When refresh functions are provided in sources, attempts to refresh
275
+ * expired OAuth tokens before falling back to API key auth.
214
276
  *
215
277
  * Priority:
216
278
  * 1. IRONCURTAIN_DOCKER_AUTH=apikey env var forces API key mode
217
- * 2. OAuth credentials from ~/.claude/.credentials.json (if not expired)
218
- * 3. OAuth credentials from macOS Keychain (if credentials file missing)
279
+ * 2. OAuth credentials from ~/.claude/.credentials.json (valid or refreshable)
280
+ * 3. OAuth credentials from macOS Keychain (valid or refreshable)
219
281
  * 4. API key from config
220
282
  * 5. None
221
283
  */
222
- export function detectAuthMethod(config, sources) {
223
- const { loadFromFile, loadFromKeychain } = sources ?? defaultSources;
284
+ export async function detectAuthMethod(config, sources) {
285
+ const s = sources ?? defaultSources;
224
286
  // Allow explicit override to force API key mode
225
287
  if (process.env.IRONCURTAIN_DOCKER_AUTH === 'apikey') {
226
288
  logger.info('Docker auth override: forced API key mode via IRONCURTAIN_DOCKER_AUTH');
227
289
  return resolveApiKeyAuth(config);
228
290
  }
229
291
  // Try OAuth from credentials file
230
- const fileCreds = loadFromFile();
292
+ const fileCreds = s.loadFromFile();
231
293
  if (fileCreds) {
232
294
  if (!isTokenExpired(fileCreds)) {
233
295
  logger.info('Detected OAuth credentials from ~/.claude/.credentials.json');
234
296
  return { kind: 'oauth', credentials: fileCreds, source: 'file' };
235
297
  }
298
+ // Attempt refresh if refresh function is available
299
+ if (s.refreshToken) {
300
+ const refreshed = await tryRefreshFileCreds(fileCreds, s.refreshToken, s.saveToFile);
301
+ if (refreshed)
302
+ return refreshed;
303
+ }
236
304
  logger.warn('OAuth token from credentials file is expired');
237
305
  }
238
306
  // Try macOS Keychain if credentials file was not found
239
307
  if (!fileCreds) {
240
- const keychainCreds = loadFromKeychain();
241
- if (keychainCreds) {
242
- if (!isTokenExpired(keychainCreds)) {
243
- return { kind: 'oauth', credentials: keychainCreds, source: 'keychain' };
308
+ const keychainResult = s.loadFromKeychainWithService?.() ?? toKeychainResult(s.loadFromKeychain());
309
+ if (keychainResult) {
310
+ if (!isTokenExpired(keychainResult.credentials)) {
311
+ return {
312
+ kind: 'oauth',
313
+ credentials: keychainResult.credentials,
314
+ source: 'keychain',
315
+ keychainServiceName: keychainResult.serviceName,
316
+ };
317
+ }
318
+ // Attempt refresh if refresh function is available
319
+ if (s.refreshToken) {
320
+ const refreshed = await tryRefreshKeychainCreds(keychainResult, s.refreshToken, s.writeToKeychain);
321
+ if (refreshed)
322
+ return refreshed;
244
323
  }
245
324
  logger.warn('OAuth token from macOS Keychain is expired');
246
325
  }
@@ -248,6 +327,54 @@ export function detectAuthMethod(config, sources) {
248
327
  // Fall back to API key
249
328
  return resolveApiKeyAuth(config);
250
329
  }
330
+ /**
331
+ * Wraps a plain OAuthCredentials from loadFromKeychain() into a KeychainResult.
332
+ * Uses the first service name as a fallback since we don't know which one matched.
333
+ */
334
+ function toKeychainResult(creds) {
335
+ if (!creds)
336
+ return null;
337
+ return { credentials: creds, serviceName: KEYCHAIN_SERVICE_NAMES[0] };
338
+ }
339
+ /**
340
+ * Attempts to refresh expired file-sourced credentials.
341
+ * On success, saves to file and returns the oauth AuthMethod.
342
+ */
343
+ async function tryRefreshFileCreds(fileCreds, doRefresh, saveToFile) {
344
+ const refreshed = await doRefresh(fileCreds.refreshToken);
345
+ if (!refreshed)
346
+ return null;
347
+ try {
348
+ saveToFile?.(refreshed);
349
+ }
350
+ catch (err) {
351
+ logger.warn(`Failed to save refreshed credentials to file: ${err instanceof Error ? err.message : String(err)}`);
352
+ }
353
+ logger.info('Refreshed expired OAuth token from credentials file');
354
+ return { kind: 'oauth', credentials: refreshed, source: 'file' };
355
+ }
356
+ /**
357
+ * Attempts to refresh expired Keychain-sourced credentials.
358
+ * On success, writes back to Keychain and returns the oauth AuthMethod.
359
+ */
360
+ async function tryRefreshKeychainCreds(keychainResult, doRefresh, doWriteToKeychain) {
361
+ const refreshed = await doRefresh(keychainResult.credentials.refreshToken);
362
+ if (!refreshed)
363
+ return null;
364
+ try {
365
+ doWriteToKeychain?.(refreshed, keychainResult.serviceName);
366
+ }
367
+ catch (err) {
368
+ logger.warn(`Failed to write refreshed credentials to Keychain: ${err instanceof Error ? err.message : String(err)}`);
369
+ }
370
+ logger.info('Refreshed expired OAuth token from macOS Keychain');
371
+ return {
372
+ kind: 'oauth',
373
+ credentials: refreshed,
374
+ source: 'keychain',
375
+ keychainServiceName: keychainResult.serviceName,
376
+ };
377
+ }
251
378
  /**
252
379
  * Resolves API key authentication from config.
253
380
  */
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-credentials.js","sourceRoot":"","sources":["../../src/docker/oauth-credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAkBvC,+EAA+E;AAC/E,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7C,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,2DAA2D;AAC3D,MAAM,sBAAsB,GAAG,CAAC,yBAAyB,EAAE,aAAa,CAAU,CAAC;AAEnF;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,WAA6B;IAC1D,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,IAAI,WAAW,CAAC,SAAS,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;IAC1C,OAAO,uBAAuB,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAgB;IACtD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEvC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,IAAI,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE/D,MAAM,GAAG,GAAG,MAAiC,CAAC;QAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE7D,MAAM,KAAK,GAAG,KAAgC,CAAC;QAC/C,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QACvD,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1D,OAAO;YACL,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB;IACjC,IAAI,QAAQ,EAAE,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,QAAQ,CAAC;IACpC,KAAK,MAAM,OAAO,IAAI,sBAAsB,EAAE,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,uBAAuB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;gBACrG,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;gBAC/B,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,wDAAwD,OAAO,IAAI,CAAC,CAAC;gBACjF,OAAO,WAAW,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,wDAAwD;YACxD,SAAS;QACX,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4CAA4C;AAC5C,MAAM,eAAe,GAAG,sCAAsC,CAAC;AAE/D,6EAA6E;AAC7E,MAAM,eAAe,GAAG,4CAA4C,CAAC;AAErE;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,YAAoB;IAC1D,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE;YAC5C,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,UAAU,EAAE,eAAe;gBAC3B,aAAa,EAAE,YAAY;gBAC3B,SAAS,EAAE,eAAe;aAC3B,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,oCAAoC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACnE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;QAChE,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,kBAAkB,CAAC,IAA6B;IACvD,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IAE/F,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAChD,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpD,OAAO;QACL,WAAW;QACX,YAAY;QACZ,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI;KACzC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,WAA6B,EAAE,QAAiB;IACnF,MAAM,QAAQ,GAAG,QAAQ,IAAI,sBAAsB,EAAE,CAAC;IAEtD,IAAI,QAAQ,GAA4B,EAAE,CAAC;IAC3C,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAA4B,CAAC;QACpF,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,oCAAoC;IACtC,CAAC;IAED,MAAM,aAAa,GACjB,OAAO,QAAQ,CAAC,aAAa,KAAK,QAAQ,IAAI,QAAQ,CAAC,aAAa,KAAK,IAAI;QAC3E,CAAC,CAAE,QAAQ,CAAC,aAAyC;QACrD,CAAC,CAAC,EAAE,CAAC;IAET,QAAQ,CAAC,aAAa,GAAG;QACvB,GAAG,aAAa;QAChB,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC;IAEF,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,iFAAiF;IACjF,kEAAkE;IAClE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC;AAQD,MAAM,cAAc,GAAsB;IACxC,YAAY,EAAE,oBAAoB;IAClC,gBAAgB,EAAE,mBAAmB;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAyB,EAAE,OAA2B;IACrF,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,OAAO,IAAI,cAAc,CAAC;IAErE,gDAAgD;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;QACrF,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,kCAAkC;IAClC,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,SAAS,EAAE,CAAC;QACd,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC3E,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACnE,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IAED,uDAAuD;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBACnC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAC3E,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAyB;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC;IAC9C,IAAI,GAAG,EAAE,CAAC;QACR,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"oauth-credentials.js","sourceRoot":"","sources":["../../src/docker/oauth-credentials.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,9 @@
6
6
  * may also refresh tokens concurrently — re-reads the credentials file
7
7
  * before attempting a refresh to avoid using a stale refresh token.
8
8
  *
9
- * On macOS where credentials come from the Keychain, the manager operates
10
- * in read-only mode: it re-reads credentials from file and Keychain but
11
- * never performs its own refresh grant. This prevents invalidating the
12
- * host Claude Code's refresh token, which lives in the Keychain.
9
+ * For file-sourced credentials, refreshed tokens are saved back to the
10
+ * credentials file. For Keychain-sourced credentials (macOS), refreshed
11
+ * tokens are written back to the Keychain via the writeToKeychain dep.
13
12
  *
14
13
  * A single in-flight refresh promise is shared across concurrent callers
15
14
  * to prevent duplicate refresh requests.
@@ -22,6 +21,10 @@ export interface TokenManagerDeps {
22
21
  refreshToken: (refreshToken: string) => Promise<OAuthCredentials | null>;
23
22
  saveCredentials: (credentials: OAuthCredentials, filePath?: string) => void;
24
23
  credentialsFilePath: string;
24
+ /** When set, refreshed credentials are written to the Keychain instead of the file. */
25
+ writeToKeychain?: (credentials: OAuthCredentials, serviceName: string) => void;
26
+ /** The Keychain service name to use with writeToKeychain. */
27
+ keychainServiceName?: string;
25
28
  /** @deprecated No longer used internally. Kept for backward compatibility with tests. */
26
29
  now?: () => number;
27
30
  }
@@ -29,12 +32,12 @@ export interface OAuthTokenManagerOptions {
29
32
  /**
30
33
  * Whether the manager may perform its own refresh_token grant.
31
34
  *
32
- * When false (Keychain-sourced credentials on macOS), the manager only
33
- * re-reads credentials from the file and Keychain — it never POSTs to
34
- * the token endpoint itself, because doing so would rotate the refresh
35
- * token and break host Claude Code's copy in the Keychain.
35
+ * When false, the manager only re-reads credentials from the file and
36
+ * Keychain — it never POSTs to the token endpoint itself.
36
37
  *
37
- * Defaults to true (file-sourced credentials on Linux/WSL).
38
+ * Defaults to true. For Keychain-sourced credentials, set writeToKeychain
39
+ * and keychainServiceName in deps so refreshed tokens are persisted to
40
+ * the Keychain rather than the credentials file.
38
41
  */
39
42
  canRefresh?: boolean;
40
43
  }
@@ -67,13 +70,9 @@ export declare class OAuthTokenManager {
67
70
  * Core refresh logic with deduplication. Concurrent callers share a single
68
71
  * in-flight refresh promise.
69
72
  *
70
- * File-sourced credentials (canRefresh=true):
71
- * Re-read file -> if still expired, POST refresh grant -> on failure,
72
- * re-read file once more (host process may have won the race).
73
- *
74
- * Keychain-sourced credentials (canRefresh=false):
75
- * Re-read file and Keychain only -- never POST a refresh grant, because
76
- * doing so would rotate the refresh token and break host Claude Code.
73
+ * Re-read file -> for Keychain-sourced creds, also re-read Keychain ->
74
+ * if still expired and canRefresh is true, POST refresh grant ->
75
+ * on failure, re-read file once more (host process may have won the race).
77
76
  */
78
77
  private doRefresh;
79
78
  private executeRefresh;
@@ -6,10 +6,9 @@
6
6
  * may also refresh tokens concurrently — re-reads the credentials file
7
7
  * before attempting a refresh to avoid using a stale refresh token.
8
8
  *
9
- * On macOS where credentials come from the Keychain, the manager operates
10
- * in read-only mode: it re-reads credentials from file and Keychain but
11
- * never performs its own refresh grant. This prevents invalidating the
12
- * host Claude Code's refresh token, which lives in the Keychain.
9
+ * For file-sourced credentials, refreshed tokens are saved back to the
10
+ * credentials file. For Keychain-sourced credentials (macOS), refreshed
11
+ * tokens are written back to the Keychain via the writeToKeychain dep.
13
12
  *
14
13
  * A single in-flight refresh promise is shared across concurrent callers
15
14
  * to prevent duplicate refresh requests.
@@ -68,13 +67,9 @@ export class OAuthTokenManager {
68
67
  * Core refresh logic with deduplication. Concurrent callers share a single
69
68
  * in-flight refresh promise.
70
69
  *
71
- * File-sourced credentials (canRefresh=true):
72
- * Re-read file -> if still expired, POST refresh grant -> on failure,
73
- * re-read file once more (host process may have won the race).
74
- *
75
- * Keychain-sourced credentials (canRefresh=false):
76
- * Re-read file and Keychain only -- never POST a refresh grant, because
77
- * doing so would rotate the refresh token and break host Claude Code.
70
+ * Re-read file -> for Keychain-sourced creds, also re-read Keychain ->
71
+ * if still expired and canRefresh is true, POST refresh grant ->
72
+ * on failure, re-read file once more (host process may have won the race).
78
73
  */
79
74
  doRefresh() {
80
75
  if (this.inflightRefresh) {
@@ -93,24 +88,35 @@ export class OAuthTokenManager {
93
88
  this.credentials = fileCreds;
94
89
  return this.credentials.accessToken;
95
90
  }
96
- // In read-only mode, also try the Keychain but never POST a refresh grant
97
- if (!this.canRefresh) {
91
+ // For Keychain-sourced creds, check if the host process already refreshed.
92
+ // Capture the Keychain's refresh token in case it's newer than our startup copy.
93
+ let keychainRefreshToken;
94
+ if (this.deps.keychainServiceName) {
98
95
  const keychainCreds = this.deps.loadFromKeychain();
99
96
  if (keychainCreds && !isTokenExpired(keychainCreds)) {
100
97
  logger.info('[oauth-token-manager] Found valid token in Keychain (refreshed by host process)');
101
98
  this.credentials = keychainCreds;
102
99
  return this.credentials.accessToken;
103
100
  }
104
- logger.warn('[oauth-token-manager] Token expired and cannot self-refresh (Keychain mode) — waiting for host Claude Code to refresh');
101
+ keychainRefreshToken = keychainCreds?.refreshToken;
102
+ }
103
+ // Hard guard: when canRefresh is false, never POST a refresh grant
104
+ if (!this.canRefresh) {
105
+ logger.warn('[oauth-token-manager] Token expired and self-refresh is disabled');
105
106
  return null;
106
107
  }
107
- // Attempt refresh ourselves, preferring the file's refresh token if available
108
- const refreshToken = fileCreds?.refreshToken ?? this.credentials.refreshToken;
108
+ // Pick the best available refresh token: file > keychain > initial credentials
109
+ const refreshToken = fileCreds?.refreshToken ?? keychainRefreshToken ?? this.credentials.refreshToken;
109
110
  const newCreds = await this.deps.refreshToken(refreshToken);
110
111
  if (newCreds) {
111
112
  logger.info('[oauth-token-manager] Token refresh successful');
112
113
  try {
113
- this.deps.saveCredentials(newCreds, this.deps.credentialsFilePath);
114
+ if (this.deps.keychainServiceName && this.deps.writeToKeychain) {
115
+ this.deps.writeToKeychain(newCreds, this.deps.keychainServiceName);
116
+ }
117
+ else {
118
+ this.deps.saveCredentials(newCreds, this.deps.credentialsFilePath);
119
+ }
114
120
  }
115
121
  catch (err) {
116
122
  logger.warn(`[oauth-token-manager] Failed to save refreshed credentials: ${err instanceof Error ? err.message : String(err)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-token-manager.js","sourceRoot":"","sources":["../../src/docker/oauth-token-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-token-manager.js","sourceRoot":"","sources":["../../src/docker/oauth-token-manager.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  /* eslint-disable @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment */
8
8
  import { createPtyBridge } from './pty-bridge.js';
9
- import { createMuxInputHandler } from './mux-input-handler.js';
9
+ import { createMuxInputHandler, SCROLL_LINES } from './mux-input-handler.js';
10
10
  import { createMuxEscalationManager } from './mux-escalation-manager.js';
11
11
  import { createMuxRenderer } from './mux-renderer.js';
12
12
  import { writeTrustedUserContext } from './trusted-input.js';
@@ -31,7 +31,6 @@ export function createMuxApp(options) {
31
31
  // Mouse event constants
32
32
  const MOUSE_WHEEL_UP = 'MOUSE_WHEEL_UP';
33
33
  const MOUSE_WHEEL_DOWN = 'MOUSE_WHEEL_DOWN';
34
- const SCROLL_LINES = 3;
35
34
  // Components (initialized in start())
36
35
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
37
36
  let term;
@@ -452,6 +451,9 @@ export function createMuxApp(options) {
452
451
  // Exit fullscreen and destroy renderer before any async work
453
452
  // so the normal terminal is restored immediately.
454
453
  if (term) {
454
+ if (process.platform === 'darwin') {
455
+ process.stdout.write('\x1b[?1007l');
456
+ }
455
457
  term.grabInput(false);
456
458
  term.hideCursor(false);
457
459
  term.fullscreen(false);
@@ -509,7 +511,17 @@ export function createMuxApp(options) {
509
511
  term = terminalKit.default.terminal ?? terminalKit.terminal;
510
512
  term.fullscreen(true);
511
513
  term.hideCursor(true);
512
- term.grabInput({ mouse: 'button' });
514
+ if (process.platform === 'darwin') {
515
+ // On macOS, avoid X11 mouse tracking -- it prevents native text selection
516
+ // (Shift+click drag) in Terminal.app. Instead, enable alternate scroll mode
517
+ // which translates scroll wheel into Up/Down arrow sequences while the
518
+ // alternate screen buffer is active (enabled by fullscreen(true) above).
519
+ term.grabInput({ mouse: false });
520
+ process.stdout.write('\x1b[?1007h');
521
+ }
522
+ else {
523
+ term.grabInput({ mouse: 'button' });
524
+ }
513
525
  inputHandler = createMuxInputHandler({ initialMode: autoSpawn ? 'pty' : 'command' });
514
526
  pasteInterceptor = createPasteInterceptor((text) => {
515
527
  if (!running)
@@ -644,6 +656,9 @@ export function createMuxApp(options) {
644
656
  process.on('exit', () => {
645
657
  pasteInterceptor?.uninstall();
646
658
  if (term) {
659
+ if (process.platform === 'darwin') {
660
+ process.stdout.write('\x1b[?1007l');
661
+ }
647
662
  term.grabInput(false);
648
663
  }
649
664
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mux-app.js","sourceRoot":"","sources":["../../src/mux/mux-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mux-app.js","sourceRoot":"","sources":["../../src/mux/mux-app.ts"],"names":[],"mappings":"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"}
@@ -104,6 +104,8 @@ export interface MuxInputHandler {
104
104
  */
105
105
  handlePaste(text: string): MuxAction;
106
106
  }
107
+ /** Scroll amount (in lines) for arrow-key and mouse-wheel scrolling. */
108
+ export declare const SCROLL_LINES = 3;
107
109
  export interface MuxInputHandlerOptions {
108
110
  initialMode?: InputMode;
109
111
  }
@@ -29,6 +29,8 @@ const HOME = 'HOME';
29
29
  const END = 'END';
30
30
  const CTRL_E = 'CTRL_E';
31
31
  const SHIFT_TAB = 'SHIFT_TAB';
32
+ /** Scroll amount (in lines) for arrow-key and mouse-wheel scrolling. */
33
+ export const SCROLL_LINES = 3;
32
34
  /**
33
35
  * Converts terminal-kit's raw code (from `data.code`) to a string
34
36
  * suitable for writing to a PTY.
@@ -613,24 +615,24 @@ export function createMuxInputHandler(options) {
613
615
  }
614
616
  return { kind: 'none' };
615
617
  }
616
- // Up: move to same column on previous line
618
+ // Up: move to same column on previous line, or scroll if on first line
617
619
  if (key === UP) {
618
620
  const lastNl = _inputBuffer.lastIndexOf('\n', _cursorPos - 1);
619
621
  if (lastNl === -1)
620
- return { kind: 'none' }; // already on first line
622
+ return { kind: 'scroll-up', amount: SCROLL_LINES };
621
623
  const col = _cursorPos - lastNl - 1;
622
624
  const prevNl = _inputBuffer.lastIndexOf('\n', lastNl - 1);
623
625
  const prevLineLen = lastNl - (prevNl + 1);
624
626
  _cursorPos = prevNl + 1 + Math.min(col, prevLineLen);
625
627
  return { kind: 'redraw-input' };
626
628
  }
627
- // Down: move to same column on next line
629
+ // Down: move to same column on next line, or scroll if on last line
628
630
  if (key === DOWN) {
629
631
  const lastNl = _inputBuffer.lastIndexOf('\n', _cursorPos - 1);
630
632
  const col = lastNl === -1 ? _cursorPos : _cursorPos - lastNl - 1;
631
633
  const nextNl = _inputBuffer.indexOf('\n', _cursorPos);
632
634
  if (nextNl === -1)
633
- return { kind: 'none' }; // already on last line
635
+ return { kind: 'scroll-down', amount: SCROLL_LINES };
634
636
  const nextNextNl = _inputBuffer.indexOf('\n', nextNl + 1);
635
637
  const nextLineLen = nextNextNl === -1 ? _inputBuffer.length - nextNl - 1 : nextNextNl - nextNl - 1;
636
638
  _cursorPos = nextNl + 1 + Math.min(col, nextLineLen);
@@ -1 +1 @@
1
- {"version":3,"file":"mux-input-handler.js","sourceRoot":"","sources":["../../src/mux/mux-input-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mux-input-handler.js","sourceRoot":"","sources":["../../src/mux/mux-input-handler.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import { execFile as execFileCb } from 'node:child_process';
9
9
  import { promisify } from 'node:util';
10
- import { detectAuthMethod, loadOAuthCredentials } from '../docker/oauth-credentials.js';
10
+ import { detectAuthMethod, loadOAuthCredentials, extractFromKeychain, refreshOAuthToken, saveOAuthCredentials, extractFromKeychainWithService, writeToKeychain, } from '../docker/oauth-credentials.js';
11
11
  import { resolveApiKeyForProvider } from '../config/model-provider.js';
12
12
  const execFile = promisify(execFileCb);
13
13
  const DOCKER_TIMEOUT_MS = 5_000;
@@ -35,34 +35,33 @@ export async function checkDockerAvailable() {
35
35
  }
36
36
  }
37
37
  /**
38
- * Sources that skip macOS Keychain to keep preflight fast and non-interactive.
39
- * Full Keychain detection happens in prepareDockerInfrastructure().
40
- *
41
- * Limitation: macOS users whose OAuth credentials exist only in the Keychain
42
- * (no ~/.claude/.credentials.json and no API key) will fall back to builtin
43
- * in auto-detect mode, or get a PreflightError with explicit --agent.
44
- * In practice this is rare: Claude Code always writes the credentials file.
38
+ * Credential sources for preflight detection including Keychain lookup (~19ms)
39
+ * and token refresh so that expired credentials are refreshed at startup.
45
40
  */
46
41
  const preflightSources = {
47
42
  loadFromFile: loadOAuthCredentials,
48
- loadFromKeychain: () => null,
43
+ loadFromKeychain: extractFromKeychain,
44
+ refreshToken: refreshOAuthToken,
45
+ saveToFile: saveOAuthCredentials,
46
+ loadFromKeychainWithService: extractFromKeychainWithService,
47
+ writeToKeychain,
49
48
  };
50
49
  /**
51
50
  * Checks whether credentials (OAuth or API key) are available for the given agent.
52
51
  * Returns the auth kind if available, or null if no credentials found.
53
52
  *
54
- * Skips macOS Keychain to avoid interactive prompts during preflight.
55
- * Full detection including Keychain happens in prepareDockerInfrastructure().
53
+ * Includes macOS Keychain lookup and token refresh for expired credentials.
56
54
  */
57
- function detectCredentials(agentId, config, sources) {
55
+ async function detectCredentials(agentId, config, sources) {
58
56
  // Goose uses provider-specific API keys, not Anthropic OAuth.
59
57
  if (agentId === 'goose') {
60
58
  const provider = config.userConfig.gooseProvider;
61
59
  const key = resolveApiKeyForProvider(provider, config.userConfig);
62
60
  return key ? 'apikey' : null;
63
61
  }
64
- // Default path: Anthropic OAuth + API key detection (Claude Code and others)
65
- const auth = detectAuthMethod(config, sources ?? preflightSources);
62
+ // Default path: Anthropic OAuth + API key detection (Claude Code and others).
63
+ // Uses preflightSources, which may refresh expired tokens and update credential storage.
64
+ const auth = await detectAuthMethod(config, sources ?? preflightSources);
66
65
  if (auth.kind === 'none')
67
66
  return null;
68
67
  return auth.kind === 'oauth' ? 'oauth' : 'apikey';
@@ -104,7 +103,7 @@ async function resolveExplicit(agent, config, isDockerAvailable, credentialSourc
104
103
  if (!dockerOk) {
105
104
  throw new PreflightError(`--agent ${agent} requires Docker, but the Docker daemon is not available. ` + 'Is Docker installed and running?');
106
105
  }
107
- const credKind = detectCredentials(agent, config, credentialSources);
106
+ const credKind = await detectCredentials(agent, config, credentialSources);
108
107
  if (credKind === null) {
109
108
  throw new PreflightError(credentialErrorMessage(agent, config));
110
109
  }
@@ -122,7 +121,7 @@ async function resolveAutoDetect(config, isDockerAvailable, credentialSources) {
122
121
  };
123
122
  }
124
123
  const defaultAgent = config.userConfig.preferredDockerAgent;
125
- const credKind = detectCredentials(defaultAgent, config, credentialSources);
124
+ const credKind = await detectCredentials(defaultAgent, config, credentialSources);
126
125
  if (credKind === null) {
127
126
  return {
128
127
  mode: { kind: 'builtin' },
@@ -1 +1 @@
1
- {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/session/preflight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preflight.js","sourceRoot":"","sources":["../../src/session/preflight.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@provos/ironcurtain",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
4
4
  "type": "module",
5
5
  "description": "Secure agent runtime with trusted process mediation",
6
6
  "license": "Apache-2.0",