@proletariat/cli 0.3.112 → 0.3.114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/commands/orchestrate/index.js +11 -2
  2. package/dist/commands/orchestrate/index.js.map +1 -1
  3. package/dist/commands/pr/merge.js +44 -80
  4. package/dist/commands/pr/merge.js.map +1 -1
  5. package/dist/commands/work/start.js +30 -0
  6. package/dist/commands/work/start.js.map +1 -1
  7. package/dist/hooks/init.js +14 -1
  8. package/dist/hooks/init.js.map +1 -1
  9. package/dist/lib/events/events.d.ts +19 -0
  10. package/dist/lib/execution/devcontainer.js +26 -2
  11. package/dist/lib/execution/devcontainer.js.map +1 -1
  12. package/dist/lib/execution/prompt-watcher.d.ts +120 -0
  13. package/dist/lib/execution/prompt-watcher.js +222 -0
  14. package/dist/lib/execution/prompt-watcher.js.map +1 -0
  15. package/dist/lib/execution/runners/devcontainer-tmux.js +14 -0
  16. package/dist/lib/execution/runners/devcontainer-tmux.js.map +1 -1
  17. package/dist/lib/execution/runners/devcontainer.js +5 -1
  18. package/dist/lib/execution/runners/devcontainer.js.map +1 -1
  19. package/dist/lib/execution/runners/docker-credentials.d.ts +13 -0
  20. package/dist/lib/execution/runners/docker-credentials.js +55 -0
  21. package/dist/lib/execution/runners/docker-credentials.js.map +1 -1
  22. package/dist/lib/execution/runners/docker-management.d.ts +7 -0
  23. package/dist/lib/execution/runners/docker-management.js +38 -4
  24. package/dist/lib/execution/runners/docker-management.js.map +1 -1
  25. package/dist/lib/execution/runners/shared.d.ts +2 -2
  26. package/dist/lib/execution/runners/shared.js +2 -2
  27. package/dist/lib/execution/runners/shared.js.map +1 -1
  28. package/dist/lib/execution/spawner.js +31 -0
  29. package/dist/lib/execution/spawner.js.map +1 -1
  30. package/dist/lib/orchestrate/index.d.ts +1 -1
  31. package/dist/lib/orchestrate/index.js +1 -1
  32. package/dist/lib/orchestrate/index.js.map +1 -1
  33. package/dist/lib/orchestrate/llm-agent.d.ts +7 -0
  34. package/dist/lib/orchestrate/llm-agent.js +48 -1
  35. package/dist/lib/orchestrate/llm-agent.js.map +1 -1
  36. package/dist/lib/pr/index.d.ts +9 -0
  37. package/dist/lib/pr/index.js +46 -0
  38. package/dist/lib/pr/index.js.map +1 -1
  39. package/dist/lib/reconcile/index.d.ts +7 -2
  40. package/dist/lib/reconcile/index.js +130 -8
  41. package/dist/lib/reconcile/index.js.map +1 -1
  42. package/dist/lib/reconcile/types.d.ts +18 -1
  43. package/dist/lib/update-check.d.ts +39 -0
  44. package/dist/lib/update-check.js +139 -0
  45. package/dist/lib/update-check.js.map +1 -1
  46. package/oclif.manifest.json +675 -675
  47. package/package.json +1 -1
@@ -583,8 +583,32 @@ if command -v prlt &> /dev/null; then
583
583
 
584
584
  if [ "$TARGET_VERSION" != "unknown" ] && [ "$CURRENT_VERSION" != "$TARGET_VERSION" ]; then
585
585
  echo "Updating prlt from v\${CURRENT_VERSION} to v\${TARGET_VERSION} (channel: \${DESIRED_VERSION})..."
586
- npm install -g "@proletariat/cli@\${DESIRED_VERSION}" 2>&1
587
- echo "prlt updated successfully"
586
+ # PRLT-1276: Back up current install before attempting update.
587
+ # If the update fails, restore from backup so prlt keeps working.
588
+ PRLT_PKG_DIR="/home/node/.npm-global/lib/node_modules/@proletariat/cli"
589
+ PRLT_BACKUP_DIR="\${PRLT_PKG_DIR}.prlt-backup-\$\$"
590
+ if [ -d "$PRLT_PKG_DIR" ]; then
591
+ mv "$PRLT_PKG_DIR" "$PRLT_BACKUP_DIR" 2>/dev/null || true
592
+ fi
593
+ if npm install -g "@proletariat/cli@\${DESIRED_VERSION}" 2>&1; then
594
+ echo "prlt updated successfully"
595
+ # Clean up backup on success
596
+ rm -rf "$PRLT_BACKUP_DIR" 2>/dev/null || true
597
+ else
598
+ echo "Warning: prlt update failed. Restoring previous version..."
599
+ # Restore from backup if update failed
600
+ if [ -d "$PRLT_BACKUP_DIR" ]; then
601
+ rm -rf "$PRLT_PKG_DIR" 2>/dev/null || true
602
+ mv "$PRLT_BACKUP_DIR" "$PRLT_PKG_DIR" 2>/dev/null || true
603
+ # Re-create bin symlink if it was removed
604
+ if [ ! -L "/home/node/.npm-global/bin/prlt" ] && [ -f "$PRLT_PKG_DIR/bin/run.js" ]; then
605
+ ln -sf "../lib/node_modules/@proletariat/cli/bin/run.js" "/home/node/.npm-global/bin/prlt" 2>/dev/null || true
606
+ fi
607
+ echo "Previous version restored: prlt v\${CURRENT_VERSION}"
608
+ else
609
+ echo "Error: Could not restore previous prlt installation"
610
+ fi
611
+ fi
588
612
  else
589
613
  echo "prlt v\${CURRENT_VERSION} is up to date"
590
614
  fi
@@ -1 +1 @@
1
- {"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../src/lib/execution/devcontainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../src/lib/execution/devcontainer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Prompt Watcher — Auto-dismiss third-party plugin onboarding prompts
3
+ *
4
+ * Monitors tmux pane output during the first N seconds after agent spawn
5
+ * to detect and auto-dismiss known interactive prompts (e.g. Vercel plugin
6
+ * telemetry, Claude Code sensitive-file write permission).
7
+ *
8
+ * PRLT-1281: Prevents agents from getting stuck on plugin first-run dialogs.
9
+ */
10
+ /** Policy for what to do when a prompt is matched. */
11
+ export type DismissAction = 'decline' | 'approve_always' | 'approve' | 'escalate';
12
+ /** A known prompt pattern and its auto-dismiss response. */
13
+ export interface PromptPattern {
14
+ /** Human-readable name for logging. */
15
+ name: string;
16
+ /** Required header text that must appear in the pane output. */
17
+ headerMatch: string;
18
+ /** The cursor marker that indicates an interactive menu is active. */
19
+ cursorMarker: string;
20
+ /** What action to take when matched. */
21
+ action: DismissAction;
22
+ /**
23
+ * The option text to select. For numbered menus, this is matched against
24
+ * the menu items to find the correct number key to send.
25
+ */
26
+ preferredOption: string;
27
+ /**
28
+ * Fallback option text if preferredOption is not found in the menu.
29
+ * Used for "Always allow" → fallback to "Yes" scenarios.
30
+ */
31
+ fallbackOption?: string;
32
+ }
33
+ /** Result of a prompt dismissal attempt. */
34
+ export interface DismissResult {
35
+ /** The pattern that matched. */
36
+ pattern: PromptPattern;
37
+ /** The actual text that was matched in the pane output. */
38
+ matchedText: string;
39
+ /** The answer that was sent. */
40
+ selectedAnswer: string;
41
+ /** Whether the dismissal was successful (keystroke sent without error). */
42
+ success: boolean;
43
+ /** Error message if dismissal failed. */
44
+ error?: string;
45
+ }
46
+ /** Result of an escalation (unknown prompt detected). */
47
+ export interface EscalationResult {
48
+ /** The pane content that triggered escalation. */
49
+ paneContent: string;
50
+ /** Why escalation was triggered. */
51
+ reason: string;
52
+ }
53
+ /** Callback for logging auto-dismiss events. */
54
+ export type DismissLogger = (result: DismissResult) => void;
55
+ /** Callback for escalating unknown prompts. */
56
+ export type EscalationHandler = (result: EscalationResult) => void;
57
+ /**
58
+ * Registry of known plugin onboarding prompts.
59
+ * Start narrow (exact strings) and broaden as more prompts are cataloged.
60
+ */
61
+ export declare const KNOWN_PROMPT_PATTERNS: PromptPattern[];
62
+ /**
63
+ * Check if pane output contains a genuine interactive prompt.
64
+ * Requires BOTH the header text AND the cursor marker to be present,
65
+ * preventing false positives from normal numbered lists in output.
66
+ */
67
+ export declare function detectPrompt(paneContent: string): {
68
+ pattern: PromptPattern;
69
+ matchedText: string;
70
+ } | null;
71
+ /**
72
+ * Check if pane output contains an unknown interactive prompt.
73
+ * An unknown prompt has the cursor marker (❯) with a numbered list
74
+ * but does NOT match any known pattern's header text.
75
+ *
76
+ * We look for lines that start with the cursor marker followed by a number,
77
+ * indicating an active numbered menu that we don't recognize.
78
+ */
79
+ export declare function detectUnknownPrompt(paneContent: string): boolean;
80
+ /**
81
+ * Find the menu option number for a given option text.
82
+ * Parses numbered menu items like " 2. No thanks" and returns the number key.
83
+ */
84
+ export declare function findMenuOptionKey(paneContent: string, optionText: string): string | null;
85
+ /**
86
+ * Determine the key to send for a given prompt pattern match.
87
+ * Returns the number key for the preferred (or fallback) option.
88
+ */
89
+ export declare function resolveKeyToSend(paneContent: string, pattern: PromptPattern): {
90
+ key: string;
91
+ optionText: string;
92
+ } | null;
93
+ /**
94
+ * Send a menu selection keystroke to a tmux session.
95
+ * Sends the number key followed by Enter to select the option.
96
+ */
97
+ export declare function sendMenuSelection(sessionId: string, key: string, containerId?: string): void;
98
+ export interface PromptWatcherOptions {
99
+ /** How long to watch for prompts (ms). Default: 60000 (60s). */
100
+ watchDurationMs?: number;
101
+ /** How often to poll pane output (ms). Default: 3000 (3s). */
102
+ pollIntervalMs?: number;
103
+ /** Number of scrollback lines to capture. Default: 50. */
104
+ captureLines?: number;
105
+ /** Container ID for container-based sessions. */
106
+ containerId?: string;
107
+ /** Callback for logging auto-dismiss events. */
108
+ onDismiss?: DismissLogger;
109
+ /** Callback for escalating unknown prompts. */
110
+ onEscalate?: EscalationHandler;
111
+ /** Logging function. */
112
+ log?: (msg: string) => void;
113
+ }
114
+ /**
115
+ * Start watching a tmux session for interactive prompts.
116
+ * Runs in the background (non-blocking) for the configured duration.
117
+ *
118
+ * Returns a cleanup function to stop watching early.
119
+ */
120
+ export declare function startPromptWatcher(sessionId: string, options?: PromptWatcherOptions): () => void;
@@ -0,0 +1,222 @@
1
+ /**
2
+ * Prompt Watcher — Auto-dismiss third-party plugin onboarding prompts
3
+ *
4
+ * Monitors tmux pane output during the first N seconds after agent spawn
5
+ * to detect and auto-dismiss known interactive prompts (e.g. Vercel plugin
6
+ * telemetry, Claude Code sensitive-file write permission).
7
+ *
8
+ * PRLT-1281: Prevents agents from getting stuck on plugin first-run dialogs.
9
+ */
10
+ import { execSync } from 'node:child_process';
11
+ import { captureTmuxPane } from './session-utils.js';
12
+ // =============================================================================
13
+ // Known Prompt Patterns
14
+ // =============================================================================
15
+ /**
16
+ * Registry of known plugin onboarding prompts.
17
+ * Start narrow (exact strings) and broaden as more prompts are cataloged.
18
+ */
19
+ export const KNOWN_PROMPT_PATTERNS = [
20
+ {
21
+ name: 'vercel-plugin-telemetry',
22
+ headerMatch: 'The Vercel plugin collects anonymous usage data',
23
+ cursorMarker: '❯',
24
+ action: 'decline',
25
+ preferredOption: 'No thanks',
26
+ },
27
+ {
28
+ name: 'claude-sensitive-file-permission',
29
+ headerMatch: 'Claude requested permissions to edit',
30
+ cursorMarker: '❯',
31
+ action: 'approve_always',
32
+ preferredOption: 'Yes, and always allow access to .claude/',
33
+ fallbackOption: 'Yes',
34
+ },
35
+ ];
36
+ // =============================================================================
37
+ // Pattern Matching
38
+ // =============================================================================
39
+ /**
40
+ * Check if pane output contains a genuine interactive prompt.
41
+ * Requires BOTH the header text AND the cursor marker to be present,
42
+ * preventing false positives from normal numbered lists in output.
43
+ */
44
+ export function detectPrompt(paneContent) {
45
+ for (const pattern of KNOWN_PROMPT_PATTERNS) {
46
+ if (paneContent.includes(pattern.headerMatch) &&
47
+ paneContent.includes(pattern.cursorMarker)) {
48
+ return { pattern, matchedText: pattern.headerMatch };
49
+ }
50
+ }
51
+ return null;
52
+ }
53
+ /**
54
+ * Check if pane output contains an unknown interactive prompt.
55
+ * An unknown prompt has the cursor marker (❯) with a numbered list
56
+ * but does NOT match any known pattern's header text.
57
+ *
58
+ * We look for lines that start with the cursor marker followed by a number,
59
+ * indicating an active numbered menu that we don't recognize.
60
+ */
61
+ export function detectUnknownPrompt(paneContent) {
62
+ // Must have the interactive cursor marker
63
+ if (!paneContent.includes('❯'))
64
+ return false;
65
+ // Must have numbered menu items (e.g. "❯ 1." or " 2.")
66
+ const hasNumberedMenu = /❯\s+\d+\./m.test(paneContent) && /\s+\d+\.\s+\S/m.test(paneContent);
67
+ if (!hasNumberedMenu)
68
+ return false;
69
+ // Must NOT match any known pattern (those are handled by detectPrompt)
70
+ const knownMatch = detectPrompt(paneContent);
71
+ if (knownMatch)
72
+ return false;
73
+ return true;
74
+ }
75
+ /**
76
+ * Find the menu option number for a given option text.
77
+ * Parses numbered menu items like " 2. No thanks" and returns the number key.
78
+ */
79
+ export function findMenuOptionKey(paneContent, optionText) {
80
+ // Match lines like "❯ 1. Share prompts" or " 2. No thanks"
81
+ const menuLineRegex = /[❯\s]+(\d+)\.\s+(.+)/g;
82
+ let match;
83
+ while ((match = menuLineRegex.exec(paneContent)) !== null) {
84
+ const [, number, text] = match;
85
+ if (text.trim().toLowerCase().startsWith(optionText.toLowerCase())) {
86
+ return number;
87
+ }
88
+ }
89
+ return null;
90
+ }
91
+ /**
92
+ * Determine the key to send for a given prompt pattern match.
93
+ * Returns the number key for the preferred (or fallback) option.
94
+ */
95
+ export function resolveKeyToSend(paneContent, pattern) {
96
+ // Try preferred option first
97
+ const preferredKey = findMenuOptionKey(paneContent, pattern.preferredOption);
98
+ if (preferredKey) {
99
+ return { key: preferredKey, optionText: pattern.preferredOption };
100
+ }
101
+ // Try fallback option
102
+ if (pattern.fallbackOption) {
103
+ const fallbackKey = findMenuOptionKey(paneContent, pattern.fallbackOption);
104
+ if (fallbackKey) {
105
+ return { key: fallbackKey, optionText: pattern.fallbackOption };
106
+ }
107
+ }
108
+ return null;
109
+ }
110
+ // =============================================================================
111
+ // Keystroke Sending
112
+ // =============================================================================
113
+ /**
114
+ * Send a menu selection keystroke to a tmux session.
115
+ * Sends the number key followed by Enter to select the option.
116
+ */
117
+ export function sendMenuSelection(sessionId, key, containerId) {
118
+ const sendKeyCmd = `tmux send-keys -t "${sessionId}" "${key}"`;
119
+ const sendEnterCmd = `tmux send-keys -t "${sessionId}" Enter`;
120
+ if (containerId) {
121
+ execSync(`docker exec ${containerId} bash -c '${sendKeyCmd}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 10000 });
122
+ execSync('sleep 0.2', { stdio: ['pipe', 'pipe', 'pipe'] });
123
+ execSync(`docker exec ${containerId} bash -c '${sendEnterCmd}'`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'], timeout: 10000 });
124
+ }
125
+ else {
126
+ execSync(sendKeyCmd, {
127
+ encoding: 'utf-8',
128
+ stdio: ['pipe', 'pipe', 'pipe'],
129
+ timeout: 5000,
130
+ });
131
+ execSync('sleep 0.2', { stdio: ['pipe', 'pipe', 'pipe'] });
132
+ execSync(sendEnterCmd, {
133
+ encoding: 'utf-8',
134
+ stdio: ['pipe', 'pipe', 'pipe'],
135
+ timeout: 5000,
136
+ });
137
+ }
138
+ }
139
+ /**
140
+ * Start watching a tmux session for interactive prompts.
141
+ * Runs in the background (non-blocking) for the configured duration.
142
+ *
143
+ * Returns a cleanup function to stop watching early.
144
+ */
145
+ export function startPromptWatcher(sessionId, options = {}) {
146
+ const { watchDurationMs = 60_000, pollIntervalMs = 3_000, captureLines = 50, containerId, onDismiss, onEscalate, log = () => { }, } = options;
147
+ let stopped = false;
148
+ // Track patterns already handled to avoid re-sending keystrokes
149
+ const dismissedPatterns = new Set();
150
+ let escalated = false;
151
+ const poll = () => {
152
+ if (stopped)
153
+ return;
154
+ try {
155
+ const paneContent = captureTmuxPane(sessionId, captureLines, containerId);
156
+ if (!paneContent)
157
+ return;
158
+ // Check for known prompts first
159
+ const detection = detectPrompt(paneContent);
160
+ if (detection && !dismissedPatterns.has(detection.pattern.name)) {
161
+ const { pattern, matchedText } = detection;
162
+ // Resolve which key to send
163
+ const resolution = resolveKeyToSend(paneContent, pattern);
164
+ if (resolution) {
165
+ log(`[prompt-watcher] Auto-dismissing "${pattern.name}" with option "${resolution.optionText}"`);
166
+ try {
167
+ sendMenuSelection(sessionId, resolution.key, containerId);
168
+ dismissedPatterns.add(pattern.name);
169
+ const result = {
170
+ pattern,
171
+ matchedText,
172
+ selectedAnswer: resolution.optionText,
173
+ success: true,
174
+ };
175
+ onDismiss?.(result);
176
+ }
177
+ catch (error) {
178
+ const result = {
179
+ pattern,
180
+ matchedText,
181
+ selectedAnswer: resolution.optionText,
182
+ success: false,
183
+ error: error instanceof Error ? error.message : String(error),
184
+ };
185
+ onDismiss?.(result);
186
+ log(`[prompt-watcher] Failed to dismiss "${pattern.name}": ${result.error}`);
187
+ }
188
+ }
189
+ return; // Don't check for unknown prompts in the same poll cycle
190
+ }
191
+ // Check for unknown prompts (escalate, don't auto-answer)
192
+ if (!escalated && detectUnknownPrompt(paneContent)) {
193
+ escalated = true;
194
+ log('[prompt-watcher] Unknown interactive prompt detected — escalating');
195
+ onEscalate?.({
196
+ paneContent,
197
+ reason: 'Unknown interactive prompt with numbered menu detected during startup window',
198
+ });
199
+ }
200
+ }
201
+ catch {
202
+ // Polling errors are non-fatal — session may have ended
203
+ }
204
+ };
205
+ // Start polling
206
+ const intervalId = setInterval(poll, pollIntervalMs);
207
+ // Run first check immediately
208
+ poll();
209
+ // Auto-stop after watch duration
210
+ const timeoutId = setTimeout(() => {
211
+ stopped = true;
212
+ clearInterval(intervalId);
213
+ log(`[prompt-watcher] Watch period ended for session "${sessionId}"`);
214
+ }, watchDurationMs);
215
+ // Return cleanup function
216
+ return () => {
217
+ stopped = true;
218
+ clearInterval(intervalId);
219
+ clearTimeout(timeoutId);
220
+ };
221
+ }
222
+ //# sourceMappingURL=prompt-watcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-watcher.js","sourceRoot":"","sources":["../../../src/lib/execution/prompt-watcher.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,20 @@ ${containerPostExec}
106
106
  catch {
107
107
  return { success: false, error: `Failed to verify tmux session "${sessionName}" inside container.` };
108
108
  }
109
+ // PRLT-1296: Early-exit detection — if Claude dies immediately (e.g., auth failure),
110
+ // the tmux session disappears within seconds. Wait briefly and re-check so we can
111
+ // report failure instead of falsely reporting 'running'.
112
+ await new Promise(resolve => setTimeout(resolve, 5000));
113
+ try {
114
+ execSync(`docker exec ${actualContainerId} tmux has-session -t "${sessionName}" 2>&1`, { encoding: 'utf-8', stdio: ['pipe', 'pipe', 'pipe'] });
115
+ }
116
+ catch {
117
+ // Session died within 5 seconds of creation — likely auth failure or immediate crash
118
+ return {
119
+ success: false,
120
+ error: `Agent session "${sessionName}" exited immediately after spawn. This usually indicates an authentication failure (expired/invalid credentials) or a Claude Code startup error. Check container logs: docker logs ${actualContainerId}`,
121
+ };
122
+ }
109
123
  return { success: true, containerId: actualContainerId, sessionId: sessionName };
110
124
  }
111
125
  // Foreground mode: attach in current terminal
@@ -1 +1 @@
1
- {"version":3,"file":"devcontainer-tmux.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer-tmux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devcontainer-tmux.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer-tmux.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Delegates display mode handling to devcontainer-terminal.ts and devcontainer-tmux.ts.
6
6
  */
7
7
  import { spawn, execSync, fs, path, os, resolveCodexExecutionContext, validateCodexMode, getCodexCommand, resolveToolsForSpawn, } from './shared.js';
8
- import { buildSessionName, buildPrompt, getExecutorCommand, isClaudeExecutor, checkDockerDaemon, ensureDockerContainer, copyClaudeCredentials, ensureWorkflowScope, } from './shared.js';
8
+ import { buildSessionName, buildPrompt, getExecutorCommand, isClaudeExecutor, checkDockerDaemon, ensureDockerContainer, copyClaudeCredentials, refreshCredentialVolume, ensureWorkflowScope, } from './shared.js';
9
9
  import { runDevcontainerInTmux } from './devcontainer-tmux.js';
10
10
  import { runDevcontainerInTerminal } from './devcontainer-terminal.js';
11
11
  import { writeWorkspaceManifest } from '../context.js';
@@ -173,6 +173,10 @@ export async function runDevcontainer(context, executor, config, displayMode = '
173
173
  // Copy Claude credentials into agent directory so container can access them
174
174
  if (isClaudeExecutor(executor)) {
175
175
  copyClaudeCredentials(context.agentDir);
176
+ // PRLT-1296: Refresh credential volume with fresh host credentials before each spawn.
177
+ // OAuth tokens expire every ~24h; the volume is a snapshot that goes stale.
178
+ // This ensures containers always get the host's current (auto-refreshed) tokens.
179
+ refreshCredentialVolume();
176
180
  }
177
181
  // Start or reuse container using raw Docker commands
178
182
  const containerId = ensureDockerContainer(context, config, executor);
@@ -1 +1 @@
1
- {"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devcontainer.js","sourceRoot":"","sources":["../../../../src/lib/execution/runners/devcontainer.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,19 @@ export declare function getDockerCredentialInfo(): {
36
36
  expiresAt: Date;
37
37
  subscriptionType?: string;
38
38
  } | null;
39
+ /**
40
+ * PRLT-1296: Refresh the claude-credentials Docker volume with fresh credentials from the host.
41
+ *
42
+ * OAuth tokens expire every ~24h. The host's Claude Code auto-refreshes its tokens,
43
+ * but the Docker volume is a snapshot that goes stale. This copies the host's current
44
+ * credentials into the volume before each container spawn, ensuring fresh tokens.
45
+ *
46
+ * Creates the volume if it doesn't exist.
47
+ * Sets file ownership to UID 1000 (node user) so the container can read them.
48
+ *
49
+ * @returns true if credentials were refreshed successfully, false otherwise
50
+ */
51
+ export declare function refreshCredentialVolume(): boolean;
39
52
  /**
40
53
  * Check if Claude Code authentication is available on the host system.
41
54
  * Returns true if any of:
@@ -81,6 +81,61 @@ export function getDockerCredentialInfo() {
81
81
  return null;
82
82
  }
83
83
  }
84
+ /**
85
+ * PRLT-1296: Refresh the claude-credentials Docker volume with fresh credentials from the host.
86
+ *
87
+ * OAuth tokens expire every ~24h. The host's Claude Code auto-refreshes its tokens,
88
+ * but the Docker volume is a snapshot that goes stale. This copies the host's current
89
+ * credentials into the volume before each container spawn, ensuring fresh tokens.
90
+ *
91
+ * Creates the volume if it doesn't exist.
92
+ * Sets file ownership to UID 1000 (node user) so the container can read them.
93
+ *
94
+ * @returns true if credentials were refreshed successfully, false otherwise
95
+ */
96
+ export function refreshCredentialVolume() {
97
+ const homeDir = process.env.HOME || os.homedir();
98
+ const hostCredPath = path.join(homeDir, '.claude', '.credentials.json');
99
+ // Check if host has credentials to copy
100
+ if (!fs.existsSync(hostCredPath)) {
101
+ console.debug('[runners:credentials] No host credentials at ~/.claude/.credentials.json, skipping refresh');
102
+ return false;
103
+ }
104
+ try {
105
+ // Use a temporary container to copy host credentials into the named volume.
106
+ // -v ~/.claude:/src:ro → mount host credentials read-only
107
+ // -v claude-credentials:/dest → mount the target volume
108
+ // cp + chown ensures node user (UID 1000) owns the file inside the container.
109
+ // --pull never avoids Docker Hub auth issues on locked keychains / headless environments.
110
+ const refreshCmd = [
111
+ 'docker run --rm --pull never',
112
+ `-v "${path.join(homeDir, '.claude')}:/src:ro"`,
113
+ `-v "${CLAUDE_CREDENTIALS_VOLUME}:/dest"`,
114
+ `alpine sh -c 'cp /src/.credentials.json /dest/.credentials.json && chown 1000:1000 /dest/.credentials.json'`,
115
+ ].join(' ');
116
+ execSync(refreshCmd, { stdio: 'pipe', timeout: 15000 });
117
+ console.debug('[runners:credentials] Refreshed credential volume with host credentials');
118
+ return true;
119
+ }
120
+ catch (error) {
121
+ // alpine image may not be cached — try with node:22 which is already pulled for agent builds
122
+ try {
123
+ const fallbackCmd = [
124
+ 'docker run --rm --pull never',
125
+ `-v "${path.join(homeDir, '.claude')}:/src:ro"`,
126
+ `-v "${CLAUDE_CREDENTIALS_VOLUME}:/dest"`,
127
+ `node:22 bash -c 'cp /src/.credentials.json /dest/.credentials.json && chown 1000:1000 /dest/.credentials.json'`,
128
+ ].join(' ');
129
+ execSync(fallbackCmd, { stdio: 'pipe', timeout: 15000 });
130
+ console.debug('[runners:credentials] Refreshed credential volume with host credentials (node:22 fallback)');
131
+ return true;
132
+ }
133
+ catch {
134
+ console.debug('[runners:credentials] Failed to refresh credential volume:', error);
135
+ return false;
136
+ }
137
+ }
138
+ }
84
139
  /**
85
140
  * Check if Claude Code authentication is available on the host system.
86
141
  * Returns true if any of: