dual-brain 0.3.22 → 0.3.25
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/bin/dual-brain.mjs +257 -68
- package/dist/src/decide.js +1 -1
- package/dist/src/decide.js.map +1 -1
- package/dist/src/dispatch.js +1 -1
- package/dist/src/dispatch.js.map +1 -1
- package/dist/src/provider-enforcement.d.ts +3 -1
- package/dist/src/provider-enforcement.js +2 -2
- package/dist/src/provider-enforcement.js.map +1 -1
- package/dist/src/setup-flow.d.ts +6 -0
- package/dist/src/setup-flow.js +13 -2
- package/dist/src/setup-flow.js.map +1 -1
- package/dist/src/test.js +2 -2
- package/dist/src/test.js.map +1 -1
- package/hooks/dual-brain-review.mjs +1 -1
- package/hooks/dual-brain-think.mjs +1 -1
- package/hooks/gpt-work-dispatcher.mjs +32 -6
- package/hooks/model-registry.mjs +14 -14
- package/hooks/task-classifier.mjs +1 -1
- package/hooks/wave-orchestrator.mjs +1 -1
- package/package.json +1 -1
package/bin/dual-brain.mjs
CHANGED
|
@@ -26,24 +26,27 @@ import { detectTask, primeAgentRegistry } from '../dist/src/detect.js';
|
|
|
26
26
|
|
|
27
27
|
function _claudeResumeArgs(sessionId, cwd) {
|
|
28
28
|
const args = ['--resume', sessionId];
|
|
29
|
-
const
|
|
30
|
-
if (
|
|
29
|
+
const workspace = cwd || process.cwd();
|
|
30
|
+
if (getEffectiveBypassPermissions(workspace)) args.push('--dangerously-skip-permissions');
|
|
31
|
+
else if (getEffectiveAutomode(loadProfile(workspace), workspace)) args.push('--permission-mode', 'auto');
|
|
31
32
|
return args;
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
function _claudeNewArgs(cwd) {
|
|
35
36
|
const args = [];
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
37
|
+
const workspace = cwd || process.cwd();
|
|
38
|
+
if (getEffectiveBypassPermissions(workspace)) args.push('--dangerously-skip-permissions');
|
|
39
|
+
else if (getEffectiveAutomode(loadProfile(workspace), workspace)) args.push('--permission-mode', 'auto');
|
|
38
40
|
return args;
|
|
39
41
|
}
|
|
40
42
|
|
|
41
43
|
function _codexResumeArgs(sessionId, cwd) {
|
|
42
|
-
const
|
|
43
|
-
if (
|
|
44
|
+
const workspace = cwd || process.cwd();
|
|
45
|
+
if (getEffectiveBypassPermissions(workspace)) {
|
|
44
46
|
return ['--dangerously-bypass-approvals-and-sandbox', 'resume', sessionId];
|
|
45
47
|
}
|
|
46
|
-
|
|
48
|
+
const approvalMode = getEffectiveAutomode(loadProfile(workspace), workspace) ? 'never' : 'on-request';
|
|
49
|
+
return ['--sandbox', 'workspace-write', '--ask-for-approval', approvalMode, 'resume', sessionId];
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
function _sessionTool(session) {
|
|
@@ -2084,6 +2087,168 @@ function loadTerminalState(cwd, terminalId) {
|
|
|
2084
2087
|
} catch { return null; }
|
|
2085
2088
|
}
|
|
2086
2089
|
|
|
2090
|
+
function sessionSettingsPath(cwd, terminalId = getTerminalId()) {
|
|
2091
|
+
return join(cwd, '.dualbrain', `session-settings-${terminalId}.json`);
|
|
2092
|
+
}
|
|
2093
|
+
|
|
2094
|
+
function loadSessionSettings(cwd, terminalId = getTerminalId()) {
|
|
2095
|
+
try {
|
|
2096
|
+
return JSON.parse(readFileSync(sessionSettingsPath(cwd, terminalId), 'utf8'));
|
|
2097
|
+
} catch { return {}; }
|
|
2098
|
+
}
|
|
2099
|
+
|
|
2100
|
+
function saveSessionSettings(cwd, settings, terminalId = getTerminalId()) {
|
|
2101
|
+
const dir = join(cwd, '.dualbrain');
|
|
2102
|
+
mkdirSync(dir, { recursive: true });
|
|
2103
|
+
writeFileSync(sessionSettingsPath(cwd, terminalId), JSON.stringify({
|
|
2104
|
+
...settings,
|
|
2105
|
+
terminalId,
|
|
2106
|
+
updatedAt: new Date().toISOString(),
|
|
2107
|
+
}, null, 2) + '\n');
|
|
2108
|
+
}
|
|
2109
|
+
|
|
2110
|
+
function getEffectiveAutomode(profile, cwd) {
|
|
2111
|
+
const session = loadSessionSettings(cwd || process.cwd());
|
|
2112
|
+
if (typeof session.automode === 'boolean') return session.automode;
|
|
2113
|
+
return profile.automode ?? profile.settings?.automode ?? false;
|
|
2114
|
+
}
|
|
2115
|
+
|
|
2116
|
+
function getEffectiveBypassPermissions(cwd) {
|
|
2117
|
+
const workspace = cwd || process.cwd();
|
|
2118
|
+
const session = loadSessionSettings(workspace);
|
|
2119
|
+
if (typeof session.bypassPermissions === 'boolean') return session.bypassPermissions;
|
|
2120
|
+
const profile = loadProfile(workspace);
|
|
2121
|
+
return !!profile.bypassPermissions;
|
|
2122
|
+
}
|
|
2123
|
+
|
|
2124
|
+
function parseModeCommand(input) {
|
|
2125
|
+
const text = input.trim().toLowerCase().replace(/\s+/g, ' ');
|
|
2126
|
+
const wantsSession = /\b(this|current)\s+(session|conversation|terminal|chat)\b|\bfor this\b|\bfor current\b/.test(text);
|
|
2127
|
+
const wantsGlobal = /\b(default|global|profile|always|future sessions|all sessions)\b/.test(text);
|
|
2128
|
+
const scope = wantsGlobal && !wantsSession ? 'profile' : 'session';
|
|
2129
|
+
|
|
2130
|
+
let key = null;
|
|
2131
|
+
if (/\b(auto|automode|auto mode)\b/.test(text)) key = 'automode';
|
|
2132
|
+
if (/\b(bypass|permission|permissions|approval|approvals|sandbox|safe mode)\b/.test(text)) key = 'bypassPermissions';
|
|
2133
|
+
if (!key) return null;
|
|
2134
|
+
|
|
2135
|
+
let value = null;
|
|
2136
|
+
if (/\b(on|enable|enabled|yes|true)\b/.test(text)) value = true;
|
|
2137
|
+
if (/\b(off|disable|disabled|no|false)\b/.test(text)) value = false;
|
|
2138
|
+
if (key === 'bypassPermissions' && /\b(safe|sandbox|approval|approvals)\b/.test(text) && /\bmode\b/.test(text) && !/\bbypass\b/.test(text)) {
|
|
2139
|
+
value = false;
|
|
2140
|
+
}
|
|
2141
|
+
if (value === null) return null;
|
|
2142
|
+
|
|
2143
|
+
return { key, value, scope };
|
|
2144
|
+
}
|
|
2145
|
+
|
|
2146
|
+
function applyModeCommand(cmd, cwd) {
|
|
2147
|
+
if (cmd.scope === 'profile') {
|
|
2148
|
+
const profile = loadProfile(cwd);
|
|
2149
|
+
if (cmd.key === 'automode') {
|
|
2150
|
+
profile.automode = cmd.value;
|
|
2151
|
+
profile.settings = { ...(profile.settings || {}), automode: cmd.value };
|
|
2152
|
+
} else {
|
|
2153
|
+
profile.bypassPermissions = cmd.value;
|
|
2154
|
+
}
|
|
2155
|
+
saveProfile(profile, { cwd });
|
|
2156
|
+
return { scope: 'default', value: cmd.value };
|
|
2157
|
+
}
|
|
2158
|
+
|
|
2159
|
+
const settings = loadSessionSettings(cwd);
|
|
2160
|
+
settings[cmd.key] = cmd.value;
|
|
2161
|
+
saveSessionSettings(cwd, settings);
|
|
2162
|
+
return { scope: 'this session', value: cmd.value };
|
|
2163
|
+
}
|
|
2164
|
+
|
|
2165
|
+
function pidAlive(pid) {
|
|
2166
|
+
if (!pid || pid === process.pid) return false;
|
|
2167
|
+
try {
|
|
2168
|
+
process.kill(pid, 0);
|
|
2169
|
+
return true;
|
|
2170
|
+
} catch { return false; }
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
function activeConversationPath(cwd) {
|
|
2174
|
+
return join(cwd, '.dualbrain', 'active-conversation.json');
|
|
2175
|
+
}
|
|
2176
|
+
|
|
2177
|
+
function readActiveConversation(cwd) {
|
|
2178
|
+
try {
|
|
2179
|
+
const lease = JSON.parse(readFileSync(activeConversationPath(cwd), 'utf8'));
|
|
2180
|
+
if (!lease?.sessionId) return null;
|
|
2181
|
+
if (!pidAlive(lease.ownerPid)) return null;
|
|
2182
|
+
return lease;
|
|
2183
|
+
} catch { return null; }
|
|
2184
|
+
}
|
|
2185
|
+
|
|
2186
|
+
function writeActiveConversation(cwd, session, tool) {
|
|
2187
|
+
const dir = join(cwd, '.dualbrain');
|
|
2188
|
+
const terminalId = getTerminalId();
|
|
2189
|
+
const lease = {
|
|
2190
|
+
conversationId: session.id,
|
|
2191
|
+
sessionId: session.id,
|
|
2192
|
+
provider: tool,
|
|
2193
|
+
terminalId,
|
|
2194
|
+
ownerPid: process.pid,
|
|
2195
|
+
startedAt: new Date().toISOString(),
|
|
2196
|
+
lastHeartbeat: new Date().toISOString(),
|
|
2197
|
+
mode: 'active-head',
|
|
2198
|
+
};
|
|
2199
|
+
mkdirSync(dir, { recursive: true });
|
|
2200
|
+
writeFileSync(activeConversationPath(cwd), JSON.stringify(lease, null, 2) + '\n');
|
|
2201
|
+
return lease;
|
|
2202
|
+
}
|
|
2203
|
+
|
|
2204
|
+
function clearActiveConversation(cwd, sessionId) {
|
|
2205
|
+
try {
|
|
2206
|
+
const lease = JSON.parse(readFileSync(activeConversationPath(cwd), 'utf8'));
|
|
2207
|
+
if (!sessionId || lease.sessionId === sessionId || lease.ownerPid === process.pid) {
|
|
2208
|
+
unlinkSync(activeConversationPath(cwd));
|
|
2209
|
+
}
|
|
2210
|
+
} catch {}
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
async function confirmConversationTakeover(sess, cwd, ask) {
|
|
2214
|
+
const active = readActiveConversation(cwd);
|
|
2215
|
+
if (!active || active.sessionId !== sess.id || active.ownerPid === process.pid) return 'launch';
|
|
2216
|
+
const label = sess.smartName || sess.name || sess.prompts?.first || sess.firstPrompt || sess.id;
|
|
2217
|
+
process.stdout.write('\n');
|
|
2218
|
+
process.stdout.write(` Session already active: ${String(label).replace(/\s+/g, ' ').slice(0, 80)}\n`);
|
|
2219
|
+
process.stdout.write(` Owner: ${active.terminalId || 'unknown terminal'} · pid ${active.ownerPid} · ${active.provider || 'provider'}\n\n`);
|
|
2220
|
+
process.stdout.write(' Enter back t take over n new session\n\n');
|
|
2221
|
+
if (!ask) return 'cancel';
|
|
2222
|
+
const choice = (await ask(' Choice: ')).trim().toLowerCase();
|
|
2223
|
+
if (choice === 't' || choice === 'takeover' || choice === 'take over') {
|
|
2224
|
+
return 'takeover';
|
|
2225
|
+
}
|
|
2226
|
+
if (choice === 'n') return 'new';
|
|
2227
|
+
return 'cancel';
|
|
2228
|
+
}
|
|
2229
|
+
|
|
2230
|
+
async function launchSessionWithLease(sess, cwd, ask = null) {
|
|
2231
|
+
const decision = await confirmConversationTakeover(sess, cwd, ask);
|
|
2232
|
+
if (decision === 'new') return { next: 'new-session' };
|
|
2233
|
+
if (decision === 'cancel') return { next: 'main' };
|
|
2234
|
+
|
|
2235
|
+
const { spawnSync } = await import('node:child_process');
|
|
2236
|
+
const tool = _sessionTool(sess);
|
|
2237
|
+
const launchArgs = _sessionLaunchArgs(sess, cwd);
|
|
2238
|
+
if (decision === 'takeover') {
|
|
2239
|
+
process.stdout.write(' Taking over active conversation in this terminal.\n');
|
|
2240
|
+
}
|
|
2241
|
+
writeActiveConversation(cwd, sess, tool);
|
|
2242
|
+
process.stdout.write(`\n Launching: ${tool} ${launchArgs.join(' ')}\n\n`);
|
|
2243
|
+
try {
|
|
2244
|
+
spawnSync(tool, launchArgs, { stdio: 'inherit' });
|
|
2245
|
+
} finally {
|
|
2246
|
+
saveTerminalState(cwd, getTerminalId(), sess.id, sess.tool || tool);
|
|
2247
|
+
clearActiveConversation(cwd, sess.id);
|
|
2248
|
+
}
|
|
2249
|
+
return { next: 'main' };
|
|
2250
|
+
}
|
|
2251
|
+
|
|
2087
2252
|
// ─── PR Detection ─────────────────────────────────────────────────────────────
|
|
2088
2253
|
|
|
2089
2254
|
/**
|
|
@@ -2427,6 +2592,11 @@ function classifyInput(input) {
|
|
|
2427
2592
|
const cmd = parts[0].toLowerCase();
|
|
2428
2593
|
const args = parts.slice(1);
|
|
2429
2594
|
|
|
2595
|
+
const modeCommand = parseModeCommand(trimmed);
|
|
2596
|
+
if (modeCommand) {
|
|
2597
|
+
return { tier: 'free', command: 'mode', args: [], modeCommand };
|
|
2598
|
+
}
|
|
2599
|
+
|
|
2430
2600
|
// Tier 0: SKILL — slash commands (checked first, deterministic)
|
|
2431
2601
|
if (trimmed.startsWith('/')) {
|
|
2432
2602
|
try {
|
|
@@ -2988,7 +3158,11 @@ async function mainScreen(rl, ask) {
|
|
|
2988
3158
|
const open = getOpenTasks(cwd);
|
|
2989
3159
|
if (open.length > 0) {
|
|
2990
3160
|
const intent = String(open[0].intent || '').replace(/\s+/g, ' ').trim();
|
|
2991
|
-
|
|
3161
|
+
const words = intent.split(' ').filter(Boolean);
|
|
3162
|
+
const looksLikeAccidentalKeys = words.length > 0 && words.every(w => w.length === 1);
|
|
3163
|
+
if (intent.length >= 5 && !looksLikeAccidentalKeys) {
|
|
3164
|
+
openTasks.push(`continue: ${intent.slice(0, 30)}`);
|
|
3165
|
+
}
|
|
2992
3166
|
}
|
|
2993
3167
|
} catch {}
|
|
2994
3168
|
suggestions = openTasks.length > 0
|
|
@@ -3167,7 +3341,7 @@ async function mainScreen(rl, ask) {
|
|
|
3167
3341
|
[`s`, 'settings & profiles'],
|
|
3168
3342
|
[`d`, 'doctor — diagnose issues'],
|
|
3169
3343
|
[`t`, 'team settings'],
|
|
3170
|
-
[`a`, profile
|
|
3344
|
+
[`a`, getEffectiveAutomode(profile, cwd) ? 'auto mode (on)' : 'auto mode (off)'],
|
|
3171
3345
|
[`q`, 'quit'],
|
|
3172
3346
|
];
|
|
3173
3347
|
for (const [key, label] of shortcuts) {
|
|
@@ -3306,6 +3480,15 @@ async function mainScreen(rl, ask) {
|
|
|
3306
3480
|
const cmd = classified.command;
|
|
3307
3481
|
const args = classified.args;
|
|
3308
3482
|
|
|
3483
|
+
if (cmd === 'mode') {
|
|
3484
|
+
const result = applyModeCommand(classified.modeCommand, cwd);
|
|
3485
|
+
const keyLabel = classified.modeCommand.key === 'automode' ? 'Auto mode' : 'Bypass permissions';
|
|
3486
|
+
const state = result.value ? '\x1b[32mON\x1b[0m' : '\x1b[2mOFF\x1b[0m';
|
|
3487
|
+
process.stdout.write(`\n ${keyLabel}: ${state} \x1b[2m(${result.scope})\x1b[0m\n\n`);
|
|
3488
|
+
await ask(' Press Enter to continue...');
|
|
3489
|
+
return { next: 'main' };
|
|
3490
|
+
}
|
|
3491
|
+
|
|
3309
3492
|
if (cmd === 'resume' || cmd === 'r') {
|
|
3310
3493
|
if (recentSessions.length === 0) return { next: 'new-session' };
|
|
3311
3494
|
return { next: 'sessions' };
|
|
@@ -3371,11 +3554,7 @@ async function mainScreen(rl, ask) {
|
|
|
3371
3554
|
const num = parseInt(pick, 10);
|
|
3372
3555
|
if (!isNaN(num) && num >= 1 && num <= Math.min(results.length, 9)) {
|
|
3373
3556
|
const sess = results[num - 1];
|
|
3374
|
-
|
|
3375
|
-
const tool = sess.tool === 'codex' ? 'codex' : 'claude';
|
|
3376
|
-
const launchArgs = tool === 'codex' ? _codexResumeArgs(sess.id, cwd) : _claudeResumeArgs(sess.id, cwd);
|
|
3377
|
-
process.stdout.write(`\n Launching: ${tool} ${launchArgs.join(' ')}\n\n`);
|
|
3378
|
-
sp2(tool, launchArgs, { stdio: 'inherit' });
|
|
3557
|
+
return await launchSessionWithLease(sess, cwd, ask);
|
|
3379
3558
|
}
|
|
3380
3559
|
return { next: 'main' };
|
|
3381
3560
|
}
|
|
@@ -3387,13 +3566,13 @@ async function mainScreen(rl, ask) {
|
|
|
3387
3566
|
if (cmd === 'auto') {
|
|
3388
3567
|
const cwd2 = process.cwd();
|
|
3389
3568
|
const prof = loadProfile(cwd2);
|
|
3390
|
-
const nextAuto = !(prof
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
const state =
|
|
3395
|
-
process.stdout.write(`\n Automode: ${state}\n`);
|
|
3396
|
-
process.stdout.write(` ${
|
|
3569
|
+
const nextAuto = !getEffectiveAutomode(prof, cwd2);
|
|
3570
|
+
const settings = loadSessionSettings(cwd2);
|
|
3571
|
+
settings.automode = nextAuto;
|
|
3572
|
+
saveSessionSettings(cwd2, settings);
|
|
3573
|
+
const state = nextAuto ? '\x1b[32mON\x1b[0m' : '\x1b[2mOFF\x1b[0m';
|
|
3574
|
+
process.stdout.write(`\n Automode: ${state} \x1b[2m(this session)\x1b[0m\n`);
|
|
3575
|
+
process.stdout.write(` ${nextAuto ? 'Tasks dispatch immediately (HEAD still gates dangerous ops)' : 'Tasks require Enter to confirm'}\n\n`);
|
|
3397
3576
|
await ask(' Press Enter to continue...');
|
|
3398
3577
|
return { next: 'main' };
|
|
3399
3578
|
}
|
|
@@ -3491,7 +3670,7 @@ async function mainScreen(rl, ask) {
|
|
|
3491
3670
|
}
|
|
3492
3671
|
|
|
3493
3672
|
// Automode: if HEAD says it's safe, just go — no confirmation needed
|
|
3494
|
-
const automode = profile
|
|
3673
|
+
const automode = getEffectiveAutomode(profile, cwd);
|
|
3495
3674
|
if (automode) {
|
|
3496
3675
|
process.stdout.write(`\n \x1b[36m⚡\x1b[0m ${summary} (${model}, depth: ${hj?.depth || '?'})\n`);
|
|
3497
3676
|
return { next: 'go', prompt: input, model, _loopResult: hj._loopResult };
|
|
@@ -3518,13 +3697,7 @@ async function mainScreen(rl, ask) {
|
|
|
3518
3697
|
return { next: 'new-session' };
|
|
3519
3698
|
}
|
|
3520
3699
|
const sess = recentSessions[0];
|
|
3521
|
-
|
|
3522
|
-
const tool = _sessionTool(sess);
|
|
3523
|
-
const launchArgs = _sessionLaunchArgs(sess, cwd);
|
|
3524
|
-
process.stdout.write(`\n Launching: ${tool} ${launchArgs.join(' ')}\n\n`);
|
|
3525
|
-
spawnSync(tool, launchArgs, { stdio: 'inherit' });
|
|
3526
|
-
saveTerminalState(cwd, getTerminalId(), sess.id, sess.tool || 'claude');
|
|
3527
|
-
return { next: 'main' };
|
|
3700
|
+
return await launchSessionWithLease(sess, cwd, ask);
|
|
3528
3701
|
}
|
|
3529
3702
|
|
|
3530
3703
|
// Number 1-9 → resume that session
|
|
@@ -3539,13 +3712,7 @@ async function mainScreen(rl, ask) {
|
|
|
3539
3712
|
if (ctx.filesTouched.length > 0) process.stdout.write(` Files touched: ${ctx.filesTouched.join(', ')}\n`);
|
|
3540
3713
|
}
|
|
3541
3714
|
} catch {}
|
|
3542
|
-
|
|
3543
|
-
const tool = _sessionTool(sess);
|
|
3544
|
-
const launchArgs = _sessionLaunchArgs(sess, cwd);
|
|
3545
|
-
process.stdout.write(`\n Launching: ${tool} ${launchArgs.join(' ')}\n\n`);
|
|
3546
|
-
spawnSync(tool, launchArgs, { stdio: 'inherit' });
|
|
3547
|
-
saveTerminalState(cwd, getTerminalId(), sess.id, sess.tool || 'claude');
|
|
3548
|
-
return { next: 'main' };
|
|
3715
|
+
return await launchSessionWithLease(sess, cwd, ask);
|
|
3549
3716
|
}
|
|
3550
3717
|
|
|
3551
3718
|
if (choice === 'n') { return { next: 'new-session' }; }
|
|
@@ -3584,11 +3751,7 @@ async function mainScreen(rl, ask) {
|
|
|
3584
3751
|
const num = parseInt(pick, 10);
|
|
3585
3752
|
if (!isNaN(num) && num >= 1 && num <= Math.min(results.length, 9)) {
|
|
3586
3753
|
const sess = results[num - 1];
|
|
3587
|
-
|
|
3588
|
-
const tool = sess.tool === 'codex' ? 'codex' : 'claude';
|
|
3589
|
-
const launchArgs = tool === 'codex' ? _codexResumeArgs(sess.id, cwd) : _claudeResumeArgs(sess.id, cwd);
|
|
3590
|
-
process.stdout.write(`\n Launching: ${tool} ${launchArgs.join(' ')}\n\n`);
|
|
3591
|
-
spawnSync(tool, launchArgs, { stdio: 'inherit' });
|
|
3754
|
+
return await launchSessionWithLease(sess, cwd, ask);
|
|
3592
3755
|
}
|
|
3593
3756
|
return { next: 'main' };
|
|
3594
3757
|
}
|
|
@@ -3598,11 +3761,11 @@ async function mainScreen(rl, ask) {
|
|
|
3598
3761
|
if (choice === 'i') { return { next: 'import-picker' }; }
|
|
3599
3762
|
if (choice === 'a') {
|
|
3600
3763
|
const prof = loadProfile(cwd);
|
|
3601
|
-
const nextAuto = !(prof
|
|
3602
|
-
|
|
3603
|
-
|
|
3604
|
-
|
|
3605
|
-
process.stdout.write(`\n Automode: ${
|
|
3764
|
+
const nextAuto = !getEffectiveAutomode(prof, cwd);
|
|
3765
|
+
const settings = loadSessionSettings(cwd);
|
|
3766
|
+
settings.automode = nextAuto;
|
|
3767
|
+
saveSessionSettings(cwd, settings);
|
|
3768
|
+
process.stdout.write(`\n Automode: ${nextAuto ? '\x1b[32mON\x1b[0m' : '\x1b[2mOFF\x1b[0m'} \x1b[2m(this session)\x1b[0m\n\n`);
|
|
3606
3769
|
await ask(' Press Enter to continue...');
|
|
3607
3770
|
return { next: 'main' };
|
|
3608
3771
|
}
|
|
@@ -4179,8 +4342,11 @@ async function settingsScreen(rl, ask) {
|
|
|
4179
4342
|
// Load current work style
|
|
4180
4343
|
const profile = loadProfile(cwd);
|
|
4181
4344
|
const currentBias = profile?.bias || profile?.mode || 'balanced';
|
|
4182
|
-
const automode = profile
|
|
4183
|
-
const
|
|
4345
|
+
const automode = getEffectiveAutomode(profile, cwd);
|
|
4346
|
+
const sessionSettings = loadSessionSettings(cwd);
|
|
4347
|
+
const bypassPermissions = getEffectiveBypassPermissions(cwd);
|
|
4348
|
+
const autoScope = typeof sessionSettings.automode === 'boolean' ? 'session' : 'default';
|
|
4349
|
+
const permissionScope = typeof sessionSettings.bypassPermissions === 'boolean' ? 'session' : 'default';
|
|
4184
4350
|
|
|
4185
4351
|
// Work style current markers
|
|
4186
4352
|
const _stIsFast = ['cost-saver', 'auto', 'solo-claude', 'solo-openai'].includes(currentBias);
|
|
@@ -4228,10 +4394,10 @@ async function settingsScreen(rl, ask) {
|
|
|
4228
4394
|
? `${RED}bypass approvals and sandbox${RESET}`
|
|
4229
4395
|
: `${GREEN}safe approvals + workspace sandbox${RESET}`;
|
|
4230
4396
|
const convLines = [
|
|
4231
|
-
` ${DIM}Auto mode${RESET} ${autoMark} ${automode ? 'run safe tasks immediately' : 'ask before launching tasks'}`,
|
|
4232
|
-
` ${DIM}Permissions${RESET} ${permMark} ${permMode}`,
|
|
4397
|
+
` ${DIM}Auto mode${RESET} ${autoMark} ${automode ? 'run safe tasks immediately' : 'ask before launching tasks'} ${DIM}[${autoScope}]${RESET}`,
|
|
4398
|
+
` ${DIM}Permissions${RESET} ${permMark} ${permMode} ${DIM}[${permissionScope}]${RESET}`,
|
|
4233
4399
|
` ${DIM}Claude resume${RESET} ${bypassPermissions ? '--dangerously-skip-permissions' : 'normal permissions'}`,
|
|
4234
|
-
` ${DIM}Codex resume${RESET} ${bypassPermissions ? '--dangerously-bypass-approvals-and-sandbox' :
|
|
4400
|
+
` ${DIM}Codex resume${RESET} ${bypassPermissions ? '--dangerously-bypass-approvals-and-sandbox' : `workspace-write + ${automode ? 'never ask' : 'on-request'}`}`,
|
|
4235
4401
|
];
|
|
4236
4402
|
|
|
4237
4403
|
// ── System info ──────────────────────────────────────────────────────────
|
|
@@ -4353,19 +4519,20 @@ async function settingsScreen(rl, ask) {
|
|
|
4353
4519
|
// Conversation behavior toggles
|
|
4354
4520
|
if (choice === 'o') {
|
|
4355
4521
|
const nextAuto = !automode;
|
|
4356
|
-
|
|
4357
|
-
|
|
4358
|
-
|
|
4359
|
-
process.stdout.write(`\n Auto mode: ${nextAuto ? GREEN + 'ON' + RESET : DIM + 'OFF' + RESET}\n\n`);
|
|
4522
|
+
const settings = loadSessionSettings(cwd);
|
|
4523
|
+
settings.automode = nextAuto;
|
|
4524
|
+
saveSessionSettings(cwd, settings);
|
|
4525
|
+
process.stdout.write(`\n Auto mode: ${nextAuto ? GREEN + 'ON' + RESET : DIM + 'OFF' + RESET} ${DIM}(this session)${RESET}\n\n`);
|
|
4360
4526
|
await ask(' Press Enter to continue...');
|
|
4361
4527
|
return { next: 'settings' };
|
|
4362
4528
|
}
|
|
4363
4529
|
|
|
4364
4530
|
if (choice === 'v') {
|
|
4365
4531
|
if (bypassPermissions) {
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4532
|
+
const settings = loadSessionSettings(cwd);
|
|
4533
|
+
settings.bypassPermissions = false;
|
|
4534
|
+
saveSessionSettings(cwd, settings);
|
|
4535
|
+
process.stdout.write(`\n Permission mode: ${GREEN}safe approvals + workspace sandbox${RESET} ${DIM}(this session)${RESET}\n\n`);
|
|
4369
4536
|
await ask(' Press Enter to continue...');
|
|
4370
4537
|
return { next: 'settings' };
|
|
4371
4538
|
}
|
|
@@ -4374,9 +4541,10 @@ async function settingsScreen(rl, ask) {
|
|
|
4374
4541
|
process.stdout.write(' Use it only in trusted workspaces where the user explicitly accepts the risk.\n');
|
|
4375
4542
|
const confirm = (await ask(' Type YES to enable bypass mode: ')).trim();
|
|
4376
4543
|
if (confirm === 'YES') {
|
|
4377
|
-
|
|
4378
|
-
|
|
4379
|
-
|
|
4544
|
+
const settings = loadSessionSettings(cwd);
|
|
4545
|
+
settings.bypassPermissions = true;
|
|
4546
|
+
saveSessionSettings(cwd, settings);
|
|
4547
|
+
process.stdout.write(`\n Permission mode: ${RED}bypass approvals and sandbox${RESET} ${DIM}(this session)${RESET}\n\n`);
|
|
4380
4548
|
} else {
|
|
4381
4549
|
process.stdout.write('\n Permission mode unchanged.\n\n');
|
|
4382
4550
|
}
|
|
@@ -5136,6 +5304,30 @@ async function runOnboardingWizard(_detection, cwd, rl) {
|
|
|
5136
5304
|
|
|
5137
5305
|
process.stdout.write('\n');
|
|
5138
5306
|
|
|
5307
|
+
// ─── Step 3: Behavior defaults ───────────────────────────────────────────
|
|
5308
|
+
process.stdout.write(` ${BOLD}Conversation behavior:${RST}\n\n`);
|
|
5309
|
+
process.stdout.write(` ${GRAY}Auto mode lets safe tasks launch immediately. HEAD still gates risky work.${RST}\n`);
|
|
5310
|
+
process.stdout.write(` ${GRAY}[Enter]${RST} auto mode on ${GRAY}[n]${RST} ask before launching tasks\n\n`);
|
|
5311
|
+
const autoKey = await singleKey(['n', '\r', 'y']);
|
|
5312
|
+
const defaultAutomode = autoKey !== 'n';
|
|
5313
|
+
process.stdout.write('\n');
|
|
5314
|
+
|
|
5315
|
+
process.stdout.write(` ${BOLD}Permission mode:${RST}\n\n`);
|
|
5316
|
+
process.stdout.write(` ${GREEN}●${RST} Safe approvals + workspace sandbox (recommended)\n`);
|
|
5317
|
+
process.stdout.write(` ${GRAY}○${RST} Bypass approvals/sandbox (advanced, trusted workspaces only)\n`);
|
|
5318
|
+
process.stdout.write('\n');
|
|
5319
|
+
process.stdout.write(` ${GRAY}[Enter]${RST} Safe ${GRAY}[b]${RST} bypass\n\n`);
|
|
5320
|
+
const permissionKey = await singleKey(['b', '\r']);
|
|
5321
|
+
let defaultBypassPermissions = false;
|
|
5322
|
+
if (permissionKey === 'b') {
|
|
5323
|
+
process.stdout.write('\n');
|
|
5324
|
+
process.stdout.write(` ${GRAY}Bypass mode disables provider approval prompts and sandboxing.${RST}\n`);
|
|
5325
|
+
process.stdout.write(` ${GRAY}Type YES to confirm: ${RST}`);
|
|
5326
|
+
const confirm = await new Promise(res => rl.question('', res));
|
|
5327
|
+
defaultBypassPermissions = String(confirm).trim() === 'YES';
|
|
5328
|
+
process.stdout.write('\n');
|
|
5329
|
+
}
|
|
5330
|
+
|
|
5139
5331
|
// Init living docs (non-fatal)
|
|
5140
5332
|
try {
|
|
5141
5333
|
const ld = await getLivingDocs();
|
|
@@ -5166,6 +5358,9 @@ async function runOnboardingWizard(_detection, cwd, rl) {
|
|
|
5166
5358
|
finalProfile.mode = enabledCount >= 2 ? 'dual' : finalClaudeEnabled ? 'solo-claude' : 'solo-openai';
|
|
5167
5359
|
finalProfile.bias = chosenBias;
|
|
5168
5360
|
finalProfile.workStyle = chosenBias;
|
|
5361
|
+
finalProfile.automode = defaultAutomode;
|
|
5362
|
+
finalProfile.settings = { ...(finalProfile.settings || {}), automode: defaultAutomode };
|
|
5363
|
+
finalProfile.bypassPermissions = defaultBypassPermissions;
|
|
5169
5364
|
|
|
5170
5365
|
// Ask about default shell (only on first wizard run)
|
|
5171
5366
|
if (!finalProfile.defaultShellAsked) {
|
|
@@ -5807,13 +6002,7 @@ async function sessionsScreen(rl, ask) {
|
|
|
5807
6002
|
const sess = sessions[cursor];
|
|
5808
6003
|
cleanup();
|
|
5809
6004
|
process.stdout.write('\n');
|
|
5810
|
-
|
|
5811
|
-
const launchArgs = _sessionLaunchArgs(sess, cwd);
|
|
5812
|
-
process.stdout.write(`\n Launching: ${tool} ${launchArgs.join(' ')}\n\n`);
|
|
5813
|
-
const { spawnSync } = await import('node:child_process');
|
|
5814
|
-
spawnSync(tool, launchArgs, { stdio: 'inherit' });
|
|
5815
|
-
saveTerminalState(cwd, getTerminalId(), sess.id, sess.tool || 'claude');
|
|
5816
|
-
resolve({ next: 'main' });
|
|
6005
|
+
resolve(await launchSessionWithLease(sess, cwd, null));
|
|
5817
6006
|
return;
|
|
5818
6007
|
}
|
|
5819
6008
|
|
package/dist/src/decide.js
CHANGED
|
@@ -345,7 +345,7 @@ function pickSandbox(model, detection) {
|
|
|
345
345
|
if (tier === 'search')
|
|
346
346
|
return 'read-only';
|
|
347
347
|
if (MODEL_CAPABILITIES[model]?.provider === 'openai')
|
|
348
|
-
return '
|
|
348
|
+
return 'workspace-write';
|
|
349
349
|
return 'workspace-write';
|
|
350
350
|
}
|
|
351
351
|
function chooseProvider(detection, profile, healthScores) {
|
package/dist/src/decide.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/decide.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decide.js","sourceRoot":"","sources":["../../src/decide.ts"],"names":[],"mappings":"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"}
|
package/dist/src/dispatch.js
CHANGED
|
@@ -515,7 +515,7 @@ function buildCommand(decision, prompt, files = [], _cwd) {
|
|
|
515
515
|
tier,
|
|
516
516
|
cwd: _cwd,
|
|
517
517
|
});
|
|
518
|
-
const cmd = ['claude', '--model', modelId, '--print', '--output-format', 'json', '-p', wrappedPrompt];
|
|
518
|
+
const cmd = ['claude', '--model', modelId, '--permission-mode', 'auto', '--print', '--output-format', 'json', '-p', wrappedPrompt];
|
|
519
519
|
if (effort)
|
|
520
520
|
cmd.push('--effort', effort);
|
|
521
521
|
return cmd;
|