dual-brain 0.3.26 → 0.3.28
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 +451 -49
- package/dist/src/decide.d.ts +4 -0
- package/dist/src/decide.js +33 -7
- package/dist/src/decide.js.map +1 -1
- package/dist/src/profile.d.ts +4 -0
- package/dist/src/profile.js +7 -3
- package/dist/src/profile.js.map +1 -1
- package/package.json +1 -1
package/bin/dual-brain.mjs
CHANGED
|
@@ -30,7 +30,7 @@ function _claudeResumeArgs(sessionId, cwd) {
|
|
|
30
30
|
if (getEffectiveBypassPermissions(workspace)) args.push('--dangerously-skip-permissions');
|
|
31
31
|
else if (getEffectiveAutomode(loadProfile(workspace), workspace)) {
|
|
32
32
|
const settings = loadSessionSettings(workspace);
|
|
33
|
-
if (settings.headModel) args.push('--model', settings.headModel);
|
|
33
|
+
if (_modelMatchesProvider(settings.headModel, 'claude')) args.push('--model', settings.headModel);
|
|
34
34
|
if (settings.effort) args.push('--effort', settings.effort);
|
|
35
35
|
args.push('--permission-mode', 'auto');
|
|
36
36
|
}
|
|
@@ -43,7 +43,7 @@ function _claudeNewArgs(cwd) {
|
|
|
43
43
|
if (getEffectiveBypassPermissions(workspace)) args.push('--dangerously-skip-permissions');
|
|
44
44
|
else if (getEffectiveAutomode(loadProfile(workspace), workspace)) {
|
|
45
45
|
const settings = loadSessionSettings(workspace);
|
|
46
|
-
if (settings.headModel) args.push('--model', settings.headModel);
|
|
46
|
+
if (_modelMatchesProvider(settings.headModel, 'claude')) args.push('--model', settings.headModel);
|
|
47
47
|
if (settings.effort) args.push('--effort', settings.effort);
|
|
48
48
|
args.push('--permission-mode', 'auto');
|
|
49
49
|
}
|
|
@@ -55,8 +55,116 @@ function _codexResumeArgs(sessionId, cwd) {
|
|
|
55
55
|
if (getEffectiveBypassPermissions(workspace)) {
|
|
56
56
|
return ['--dangerously-bypass-approvals-and-sandbox', 'resume', sessionId];
|
|
57
57
|
}
|
|
58
|
+
const settings = loadSessionSettings(workspace);
|
|
58
59
|
const approvalMode = getEffectiveAutomode(loadProfile(workspace), workspace) ? 'never' : 'on-request';
|
|
59
|
-
return [
|
|
60
|
+
return [
|
|
61
|
+
..._codexModelEffortArgs(
|
|
62
|
+
_modelMatchesProvider(settings.headModel, 'codex') ? settings.headModel : null,
|
|
63
|
+
settings.effort,
|
|
64
|
+
),
|
|
65
|
+
..._codexApprovalArgs(workspace, approvalMode),
|
|
66
|
+
'resume',
|
|
67
|
+
sessionId,
|
|
68
|
+
];
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
function _isReplitWorkspace(cwd) {
|
|
72
|
+
const workspace = cwd || process.cwd();
|
|
73
|
+
return !!(
|
|
74
|
+
process.env.REPL_ID ||
|
|
75
|
+
process.env.REPL_SLUG ||
|
|
76
|
+
process.env.REPLIT_CLUSTER ||
|
|
77
|
+
existsSync(join(workspace, '.replit')) ||
|
|
78
|
+
existsSync(join(workspace, '.replit-tools'))
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function _codexApprovalArgs(cwd, approvalMode = 'on-request') {
|
|
83
|
+
// Codex workspace-write depends on bubblewrap/user namespaces. Replit's
|
|
84
|
+
// container frequently blocks that, so use the Replit container boundary and
|
|
85
|
+
// Codex approvals instead of launching a HEAD that cannot run any command.
|
|
86
|
+
const sandboxMode = _isReplitWorkspace(cwd) ? 'danger-full-access' : 'workspace-write';
|
|
87
|
+
return ['--sandbox', sandboxMode, '--ask-for-approval', approvalMode];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const INTELLIGENCE_LEVELS = {
|
|
91
|
+
1: {
|
|
92
|
+
name: 'Quick',
|
|
93
|
+
tagline: 'fast answers and obvious edits',
|
|
94
|
+
claude: { model: 'sonnet', effort: 'low' },
|
|
95
|
+
codex: { model: 'gpt-5.4-mini', effort: 'low' },
|
|
96
|
+
},
|
|
97
|
+
2: {
|
|
98
|
+
name: 'Daily',
|
|
99
|
+
tagline: 'normal vibe coding with light escalation',
|
|
100
|
+
claude: { model: 'sonnet', effort: 'medium' },
|
|
101
|
+
codex: { model: 'gpt-5.4-mini', effort: 'medium' },
|
|
102
|
+
},
|
|
103
|
+
3: {
|
|
104
|
+
name: 'Smart',
|
|
105
|
+
tagline: 'recommended product/dev orchestration',
|
|
106
|
+
claude: { model: 'sonnet', effort: 'medium' },
|
|
107
|
+
codex: { model: 'gpt-5.4', effort: 'medium' },
|
|
108
|
+
},
|
|
109
|
+
4: {
|
|
110
|
+
name: 'Expert',
|
|
111
|
+
tagline: 'hard debugging, architecture, auth, security',
|
|
112
|
+
claude: { model: 'opus', effort: 'medium' },
|
|
113
|
+
codex: { model: 'gpt-5.5', effort: 'medium' },
|
|
114
|
+
},
|
|
115
|
+
5: {
|
|
116
|
+
name: 'Max',
|
|
117
|
+
tagline: 'highest-quality HEAD, slower and heavier',
|
|
118
|
+
claude: { model: 'opus', effort: 'high' },
|
|
119
|
+
codex: { model: 'gpt-5.5', effort: 'high' },
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
function _normalizeIntelligenceLevel(value, fallback = 3) {
|
|
124
|
+
const n = Number.parseInt(String(value ?? ''), 10);
|
|
125
|
+
return Number.isFinite(n) && n >= 1 && n <= 5 ? n : fallback;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function _getIntelligenceLevel(profile, settings = {}) {
|
|
129
|
+
return _normalizeIntelligenceLevel(
|
|
130
|
+
settings.intelligenceLevel ?? profile?.intelligenceLevel ?? profile?.settings?.intelligenceLevel,
|
|
131
|
+
3,
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
function _headPolicyFor(provider, profile, settings = {}) {
|
|
136
|
+
const level = _getIntelligenceLevel(profile, settings);
|
|
137
|
+
const policy = INTELLIGENCE_LEVELS[level] || INTELLIGENCE_LEVELS[3];
|
|
138
|
+
const target = provider === 'claude' ? 'claude' : 'codex';
|
|
139
|
+
return {
|
|
140
|
+
level,
|
|
141
|
+
levelName: policy.name,
|
|
142
|
+
tagline: policy.tagline,
|
|
143
|
+
provider: target,
|
|
144
|
+
model: policy[target].model,
|
|
145
|
+
effort: policy[target].effort,
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
function _defaultHeadModelForProvider(provider, profile = null, settings = {}) {
|
|
150
|
+
return _headPolicyFor(provider, profile, settings).model;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
function _defaultEffortForModel(model, provider = 'codex', profile = null, settings = {}) {
|
|
154
|
+
return _headPolicyFor(provider, profile, settings).effort || (model ? 'medium' : null);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
function _modelMatchesProvider(model, provider) {
|
|
158
|
+
if (!model) return false;
|
|
159
|
+
if (provider === 'claude') return /^(opus|sonnet|haiku|claude)/i.test(model);
|
|
160
|
+
return /^(gpt|o[0-9]|codex)/i.test(model);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
function _codexModelEffortArgs(model, effort) {
|
|
164
|
+
const args = [];
|
|
165
|
+
if (model) args.push('--model', model);
|
|
166
|
+
if (effort) args.push('-c', `model_reasoning_effort="${effort}"`);
|
|
167
|
+
return args;
|
|
60
168
|
}
|
|
61
169
|
|
|
62
170
|
function _sessionTool(session) {
|
|
@@ -1054,7 +1162,11 @@ async function cmdStatus(args = []) {
|
|
|
1054
1162
|
}
|
|
1055
1163
|
|
|
1056
1164
|
// Head model
|
|
1165
|
+
const settings = loadSessionSettings(cwd);
|
|
1166
|
+
const intelligenceLevel = _getIntelligenceLevel(profile, settings);
|
|
1167
|
+
const intelligencePolicy = INTELLIGENCE_LEVELS[intelligenceLevel] || INTELLIGENCE_LEVELS[3];
|
|
1057
1168
|
console.log(`\nHead model : ${getHeadModel(profile)}`);
|
|
1169
|
+
console.log(`Intelligence: ${intelligenceLevel} · ${intelligencePolicy.name} — ${intelligencePolicy.tagline}`);
|
|
1058
1170
|
console.log(`Mode : ${profile.mode}`);
|
|
1059
1171
|
console.log(`Solo brain : ${isSoloBrain(profile) ? 'yes' : 'no'}`);
|
|
1060
1172
|
try {
|
|
@@ -1318,14 +1430,22 @@ async function cmdRuntimeSwitch(args = []) {
|
|
|
1318
1430
|
const cwd = process.cwd();
|
|
1319
1431
|
let sessions = [];
|
|
1320
1432
|
try { sessions = enrichSessions(importReplitSessions(cwd), cwd); } catch {}
|
|
1321
|
-
const
|
|
1433
|
+
const active = readActiveConversation(cwd);
|
|
1434
|
+
const sess = active
|
|
1435
|
+
? (sessions.find(s => s.id === active.sessionId) || {
|
|
1436
|
+
id: active.sessionId,
|
|
1437
|
+
tool: active.provider,
|
|
1438
|
+
smartName: active.sessionName || active.conversationId || active.sessionId,
|
|
1439
|
+
})
|
|
1440
|
+
: sessions[0];
|
|
1322
1441
|
if (!sess) {
|
|
1323
1442
|
console.log('No resumable session found.');
|
|
1324
1443
|
return;
|
|
1325
1444
|
}
|
|
1326
1445
|
|
|
1327
1446
|
const profile = loadProfile(cwd);
|
|
1328
|
-
const
|
|
1447
|
+
const settingsTerminalId = active?.terminalId || getTerminalId();
|
|
1448
|
+
const settings = loadSessionSettings(cwd, settingsTerminalId);
|
|
1329
1449
|
let provider = _sessionTool(sess);
|
|
1330
1450
|
let reason = 'head-runtime-switch';
|
|
1331
1451
|
const confirmed = args.includes('--confirm') || args.includes('--go');
|
|
@@ -1343,6 +1463,9 @@ async function cmdRuntimeSwitch(args = []) {
|
|
|
1343
1463
|
if (a === '--effort' && args[i + 1]) {
|
|
1344
1464
|
settings.effort = args[i + 1];
|
|
1345
1465
|
}
|
|
1466
|
+
if ((a === '--level' || a === '--intelligence' || a === '--intelligence-level') && args[i + 1]) {
|
|
1467
|
+
settings.intelligenceLevel = _normalizeIntelligenceLevel(args[i + 1], settings.intelligenceLevel || 3);
|
|
1468
|
+
}
|
|
1346
1469
|
if (a === '--reason' && args[i + 1]) reason = args[i + 1];
|
|
1347
1470
|
}
|
|
1348
1471
|
|
|
@@ -1358,14 +1481,27 @@ async function cmdRuntimeSwitch(args = []) {
|
|
|
1358
1481
|
settings.automode = true;
|
|
1359
1482
|
settings.bypassPermissions = true;
|
|
1360
1483
|
}
|
|
1361
|
-
|
|
1484
|
+
|
|
1485
|
+
const headPolicy = _headPolicyFor(provider, profile, settings);
|
|
1486
|
+
if (!settings.headModel || !_modelMatchesProvider(settings.headModel, provider)) {
|
|
1487
|
+
settings.headModel = headPolicy.model;
|
|
1488
|
+
}
|
|
1489
|
+
if (!settings.effort) settings.effort = headPolicy.effort;
|
|
1490
|
+
saveSessionSettings(cwd, settings, settingsTerminalId);
|
|
1491
|
+
|
|
1492
|
+
const effectiveAutomode = typeof settings.automode === 'boolean'
|
|
1493
|
+
? settings.automode
|
|
1494
|
+
: (profile.automode ?? profile.settings?.automode ?? false);
|
|
1495
|
+
const effectiveBypass = typeof settings.bypassPermissions === 'boolean'
|
|
1496
|
+
? settings.bypassPermissions
|
|
1497
|
+
: !!profile.bypassPermissions;
|
|
1362
1498
|
|
|
1363
1499
|
const pending = writePendingRuntimeSwitch(cwd, sess, {
|
|
1364
1500
|
provider,
|
|
1365
|
-
automode:
|
|
1366
|
-
bypassPermissions:
|
|
1367
|
-
model: settings.headModel
|
|
1368
|
-
effort: settings.effort
|
|
1501
|
+
automode: effectiveAutomode,
|
|
1502
|
+
bypassPermissions: effectiveBypass,
|
|
1503
|
+
model: settings.headModel,
|
|
1504
|
+
effort: settings.effort,
|
|
1369
1505
|
confirmed,
|
|
1370
1506
|
reason,
|
|
1371
1507
|
});
|
|
@@ -1379,13 +1515,29 @@ async function cmdRuntimeSwitch(args = []) {
|
|
|
1379
1515
|
console.log(`Provider: ${provider}`);
|
|
1380
1516
|
console.log(`Mode: ${getEffectiveConversationMode(profile, cwd)}`);
|
|
1381
1517
|
console.log(`Launch: ${provider} ${launchArgs.join(' ')}`);
|
|
1518
|
+
if (confirmed) {
|
|
1519
|
+
const activeForSwitch = readActiveConversation(cwd);
|
|
1520
|
+
if (activeForSwitch?.sessionId === sess.id) {
|
|
1521
|
+
console.log('Active supervisor detected: HEAD will restart with these settings.');
|
|
1522
|
+
} else if (!args.includes('--apply')) {
|
|
1523
|
+
console.log('No active supervisor detected: saved for the next dual-brain resume/switch, not live yet.');
|
|
1524
|
+
}
|
|
1525
|
+
}
|
|
1382
1526
|
console.log('');
|
|
1383
1527
|
|
|
1384
1528
|
if (args.includes('--apply')) {
|
|
1385
|
-
await processPendingRuntimeSwitch(cwd);
|
|
1529
|
+
const applied = await processPendingRuntimeSwitch(cwd);
|
|
1530
|
+
if (!applied) console.log('Could not apply live here; resume the session through dual-brain to use these settings.');
|
|
1386
1531
|
}
|
|
1387
1532
|
}
|
|
1388
1533
|
|
|
1534
|
+
async function cmdAuto(args = []) {
|
|
1535
|
+
const switchArgs = ['--automode', '--confirm'];
|
|
1536
|
+
const levelIdx = args.findIndex(a => a === '--level' || a === '--intelligence' || a === '--intelligence-level');
|
|
1537
|
+
if (levelIdx !== -1 && args[levelIdx + 1]) switchArgs.push('--level', args[levelIdx + 1]);
|
|
1538
|
+
await cmdRuntimeSwitch(switchArgs);
|
|
1539
|
+
}
|
|
1540
|
+
|
|
1389
1541
|
async function cmdUpdate() {
|
|
1390
1542
|
const cwd = process.cwd();
|
|
1391
1543
|
console.log(' Updating Dual Brain...');
|
|
@@ -2298,41 +2450,125 @@ function applyModeCommand(cmd, cwd) {
|
|
|
2298
2450
|
return { scope: 'this session', value: cmd.value, key: cmd.key };
|
|
2299
2451
|
}
|
|
2300
2452
|
|
|
2453
|
+
function parseIntelligenceCommand(input, cwd = process.cwd()) {
|
|
2454
|
+
const text = input.trim().toLowerCase().replace(/\s+/g, ' ');
|
|
2455
|
+
if (!/\b(intelligence|intel|smartness|brain|level|quality)\b/.test(text)) return null;
|
|
2456
|
+
const wantsSession = /\b(this|current)\s+(session|conversation|terminal|chat|manager|supervisor)\b|\bfor this\b|\bfor current\b/.test(text);
|
|
2457
|
+
const wantsGlobal = /\b(default|global|profile|always|future sessions|all sessions)\b/.test(text);
|
|
2458
|
+
const scope = wantsGlobal && !wantsSession ? 'profile' : 'session';
|
|
2459
|
+
|
|
2460
|
+
let level = null;
|
|
2461
|
+
const named = [
|
|
2462
|
+
['quick', 1],
|
|
2463
|
+
['daily', 2],
|
|
2464
|
+
['smart', 3],
|
|
2465
|
+
['expert', 4],
|
|
2466
|
+
['max', 5],
|
|
2467
|
+
['maximum', 5],
|
|
2468
|
+
];
|
|
2469
|
+
for (const [name, value] of named) {
|
|
2470
|
+
if (new RegExp(`\\b${name}\\b`).test(text)) level = value;
|
|
2471
|
+
}
|
|
2472
|
+
const num = text.match(/\b(?:level\s*)?([1-5])\b/);
|
|
2473
|
+
if (num) level = Number.parseInt(num[1], 10);
|
|
2474
|
+
|
|
2475
|
+
if (/\b(up|higher|raise|increase|smarter|stronger|better)\b/.test(text)) {
|
|
2476
|
+
const current = _getIntelligenceLevel(loadProfile(cwd), loadSessionSettings(cwd));
|
|
2477
|
+
level = Math.min(5, current + 1);
|
|
2478
|
+
}
|
|
2479
|
+
if (/\b(down|lower|decrease|cheaper|faster|lighter)\b/.test(text)) {
|
|
2480
|
+
const current = _getIntelligenceLevel(loadProfile(cwd), loadSessionSettings(cwd));
|
|
2481
|
+
level = Math.max(1, current - 1);
|
|
2482
|
+
}
|
|
2483
|
+
if (!level) return null;
|
|
2484
|
+
return { level: _normalizeIntelligenceLevel(level, 3), scope };
|
|
2485
|
+
}
|
|
2486
|
+
|
|
2487
|
+
function applyIntelligenceCommand(cmd, cwd) {
|
|
2488
|
+
const profile = loadProfile(cwd);
|
|
2489
|
+
if (cmd.scope === 'profile') {
|
|
2490
|
+
profile.intelligenceLevel = cmd.level;
|
|
2491
|
+
profile.settings = { ...(profile.settings || {}), intelligenceLevel: cmd.level };
|
|
2492
|
+
saveProfile(profile, { cwd });
|
|
2493
|
+
return { scope: 'default', level: cmd.level };
|
|
2494
|
+
}
|
|
2495
|
+
|
|
2496
|
+
const settings = loadSessionSettings(cwd);
|
|
2497
|
+
settings.intelligenceLevel = cmd.level;
|
|
2498
|
+
delete settings.headModel;
|
|
2499
|
+
delete settings.effort;
|
|
2500
|
+
saveSessionSettings(cwd, settings);
|
|
2501
|
+
return { scope: 'this session', level: cmd.level };
|
|
2502
|
+
}
|
|
2503
|
+
|
|
2301
2504
|
async function offerRuntimeReloadAfterModeChange(cwd, ask, recentSessions, label = 'runtime settings') {
|
|
2302
2505
|
const cyan = '\x1b[36m';
|
|
2303
2506
|
const reset = '\x1b[0m';
|
|
2507
|
+
const profile = loadProfile(cwd);
|
|
2508
|
+
const active = readActiveConversation(cwd);
|
|
2304
2509
|
let candidates = Array.isArray(recentSessions) ? recentSessions : [];
|
|
2305
2510
|
if (candidates.length === 0) {
|
|
2306
2511
|
try { candidates = enrichSessions(importReplitSessions(cwd), cwd).slice(0, 3); } catch {}
|
|
2307
2512
|
}
|
|
2308
|
-
const sess =
|
|
2513
|
+
const sess = active
|
|
2514
|
+
? (candidates.find(s => s.id === active.sessionId) || {
|
|
2515
|
+
id: active.sessionId,
|
|
2516
|
+
tool: active.provider,
|
|
2517
|
+
smartName: active.sessionName || active.conversationId || active.sessionId,
|
|
2518
|
+
})
|
|
2519
|
+
: candidates[0] || null;
|
|
2309
2520
|
process.stdout.write(' Provider approval flags are applied when Claude/Codex starts.\n');
|
|
2310
2521
|
if (!sess) {
|
|
2311
|
-
process.stdout.write(` ${label}
|
|
2522
|
+
process.stdout.write(` ${label} saved, but no resumable HEAD session was found.\n`);
|
|
2523
|
+
process.stdout.write(' It will apply to the next session launched through dual-brain.\n\n');
|
|
2312
2524
|
await ask(' Press Enter to continue...');
|
|
2313
2525
|
return { next: 'main' };
|
|
2314
2526
|
}
|
|
2315
2527
|
|
|
2316
2528
|
const tool = _sessionTool(sess);
|
|
2317
|
-
const
|
|
2529
|
+
const settings = loadSessionSettings(cwd, active?.terminalId || getTerminalId());
|
|
2530
|
+
const headPolicy = _headPolicyFor(tool, profile, settings);
|
|
2531
|
+
if (!settings.headModel || !_modelMatchesProvider(settings.headModel, tool)) settings.headModel = headPolicy.model;
|
|
2532
|
+
if (!settings.effort) settings.effort = headPolicy.effort;
|
|
2533
|
+
saveSessionSettings(cwd, settings, active?.terminalId || getTerminalId());
|
|
2534
|
+
const effectiveAutomode = typeof settings.automode === 'boolean'
|
|
2535
|
+
? settings.automode
|
|
2536
|
+
: (profile.automode ?? profile.settings?.automode ?? false);
|
|
2537
|
+
const effectiveBypass = typeof settings.bypassPermissions === 'boolean'
|
|
2538
|
+
? settings.bypassPermissions
|
|
2539
|
+
: !!profile.bypassPermissions;
|
|
2540
|
+
const launchArgs = runtimeLaunchArgsForPending(sess, cwd, {
|
|
2541
|
+
provider: tool,
|
|
2542
|
+
model: settings.headModel,
|
|
2543
|
+
effort: settings.effort,
|
|
2544
|
+
automode: effectiveAutomode,
|
|
2545
|
+
bypassPermissions: effectiveBypass,
|
|
2546
|
+
});
|
|
2318
2547
|
writePendingRuntimeSwitch(cwd, sess, {
|
|
2319
2548
|
provider: tool,
|
|
2320
|
-
|
|
2321
|
-
|
|
2549
|
+
model: settings.headModel,
|
|
2550
|
+
effort: settings.effort,
|
|
2551
|
+
automode: effectiveAutomode,
|
|
2552
|
+
bypassPermissions: effectiveBypass,
|
|
2322
2553
|
reason: `${label}-reload`,
|
|
2323
2554
|
});
|
|
2324
2555
|
process.stdout.write(` Reload needed: ${tool} must restart with: ${launchArgs.join(' ')}\n\n`);
|
|
2556
|
+
if (!active) {
|
|
2557
|
+
process.stdout.write(' No active dual-brain supervisor is attached to this shell, so this cannot be applied live.\n');
|
|
2558
|
+
}
|
|
2325
2559
|
process.stdout.write(` ${cyan}Enter${reset} reload last session now ${cyan}n${reset} later\n\n`);
|
|
2326
2560
|
const choice = (await ask(' Choice: ')).trim().toLowerCase();
|
|
2327
2561
|
if (choice === 'n' || choice === 'no' || choice === 'later') {
|
|
2328
|
-
process.stdout.write('\n Saved. It
|
|
2562
|
+
process.stdout.write('\n Saved for next dual-brain resume/switch. It is not live in the current provider process.\n\n');
|
|
2329
2563
|
await ask(' Press Enter to continue...');
|
|
2330
2564
|
return { next: 'main' };
|
|
2331
2565
|
}
|
|
2332
2566
|
writePendingRuntimeSwitch(cwd, sess, {
|
|
2333
2567
|
provider: tool,
|
|
2334
|
-
|
|
2335
|
-
|
|
2568
|
+
model: settings.headModel,
|
|
2569
|
+
effort: settings.effort,
|
|
2570
|
+
automode: effectiveAutomode,
|
|
2571
|
+
bypassPermissions: effectiveBypass,
|
|
2336
2572
|
reason: `${label}-reload`,
|
|
2337
2573
|
confirmed: true,
|
|
2338
2574
|
});
|
|
@@ -2399,8 +2635,8 @@ function runtimeLaunchArgsForPending(session, cwd, pending) {
|
|
|
2399
2635
|
if (tool === 'codex') {
|
|
2400
2636
|
if (pending?.bypassPermissions) return ['--dangerously-bypass-approvals-and-sandbox', 'resume', session.id];
|
|
2401
2637
|
return [
|
|
2402
|
-
|
|
2403
|
-
|
|
2638
|
+
..._codexModelEffortArgs(pending?.model, pending?.effort),
|
|
2639
|
+
..._codexApprovalArgs(cwd, pending?.automode ? 'never' : 'on-request'),
|
|
2404
2640
|
'resume', session.id,
|
|
2405
2641
|
];
|
|
2406
2642
|
}
|
|
@@ -2446,37 +2682,35 @@ async function processPendingRuntimeSwitch(cwd) {
|
|
|
2446
2682
|
clearPendingRuntimeSwitch(cwd);
|
|
2447
2683
|
|
|
2448
2684
|
if (targetTool !== currentTool) {
|
|
2449
|
-
|
|
2685
|
+
const brief = pending.handoffBrief || _sessionBrief(sess, targetTool);
|
|
2686
|
+
writeHandoffConversationLease(cwd, sess, currentTool, targetTool, brief);
|
|
2450
2687
|
markSessionSuperseded(cwd, sess, targetTool, pending.reason || 'runtime-switch');
|
|
2451
|
-
await
|
|
2688
|
+
await launchSupervisedHandoff(sess, cwd, currentTool, targetTool, brief, pending);
|
|
2452
2689
|
return true;
|
|
2453
2690
|
}
|
|
2454
2691
|
|
|
2455
|
-
const { spawnSync } = await import('node:child_process');
|
|
2456
2692
|
const launchArgs = runtimeLaunchArgsForPending(sess, cwd, pending);
|
|
2457
2693
|
process.stdout.write(` Launching: ${targetTool} ${launchArgs.join(' ')}\n\n`);
|
|
2458
2694
|
writeActiveConversation(cwd, sess, targetTool);
|
|
2459
|
-
const env = targetTool === 'codex' && (!process.env.TERM || process.env.TERM === 'dumb')
|
|
2460
|
-
? { ...process.env, TERM: 'xterm-256color' }
|
|
2461
|
-
: process.env;
|
|
2462
2695
|
try {
|
|
2463
|
-
|
|
2696
|
+
await launchSupervisedHead(targetTool, launchArgs, cwd, sess);
|
|
2464
2697
|
} finally {
|
|
2465
|
-
saveTerminalState(cwd, getTerminalId(), sess.id, sess.tool || targetTool);
|
|
2466
2698
|
clearActiveConversation(cwd, sess.id);
|
|
2467
2699
|
}
|
|
2468
2700
|
return true;
|
|
2469
2701
|
}
|
|
2470
2702
|
|
|
2471
|
-
function writeActiveConversation(cwd, session, tool) {
|
|
2703
|
+
function writeActiveConversation(cwd, session, tool, extra = {}) {
|
|
2472
2704
|
const dir = join(cwd, '.dualbrain');
|
|
2473
2705
|
const terminalId = getTerminalId();
|
|
2474
2706
|
const lease = {
|
|
2475
2707
|
conversationId: session.id,
|
|
2476
2708
|
sessionId: session.id,
|
|
2709
|
+
sessionName: session.smartName || session.name || session.prompts?.first || session.firstPrompt || session.id,
|
|
2477
2710
|
provider: tool,
|
|
2478
2711
|
terminalId,
|
|
2479
2712
|
ownerPid: process.pid,
|
|
2713
|
+
childPid: extra.childPid || null,
|
|
2480
2714
|
startedAt: new Date().toISOString(),
|
|
2481
2715
|
lastHeartbeat: new Date().toISOString(),
|
|
2482
2716
|
mode: 'active-head',
|
|
@@ -2486,6 +2720,18 @@ function writeActiveConversation(cwd, session, tool) {
|
|
|
2486
2720
|
return lease;
|
|
2487
2721
|
}
|
|
2488
2722
|
|
|
2723
|
+
function updateActiveConversation(cwd, sessionId, updates = {}) {
|
|
2724
|
+
try {
|
|
2725
|
+
const lease = JSON.parse(readFileSync(activeConversationPath(cwd), 'utf8'));
|
|
2726
|
+
if (sessionId && lease.sessionId !== sessionId) return;
|
|
2727
|
+
writeFileSync(activeConversationPath(cwd), JSON.stringify({
|
|
2728
|
+
...lease,
|
|
2729
|
+
...updates,
|
|
2730
|
+
lastHeartbeat: new Date().toISOString(),
|
|
2731
|
+
}, null, 2) + '\n');
|
|
2732
|
+
} catch {}
|
|
2733
|
+
}
|
|
2734
|
+
|
|
2489
2735
|
function writeHandoffConversationLease(cwd, session, fromTool, targetTool, taskBrief = '') {
|
|
2490
2736
|
const dir = join(cwd, '.dualbrain');
|
|
2491
2737
|
const terminalId = getTerminalId();
|
|
@@ -2562,6 +2808,128 @@ function clearActiveConversation(cwd, sessionId) {
|
|
|
2562
2808
|
} catch {}
|
|
2563
2809
|
}
|
|
2564
2810
|
|
|
2811
|
+
function pendingSwitchMatchesSession(pending, session) {
|
|
2812
|
+
if (!pending || pending.status !== 'confirmed' || pending.autoLaunch === false) return false;
|
|
2813
|
+
if (!session?.id) return true;
|
|
2814
|
+
return pending.sessionId === session.id;
|
|
2815
|
+
}
|
|
2816
|
+
|
|
2817
|
+
async function launchSupervisedHead(tool, launchArgs, cwd, session) {
|
|
2818
|
+
const { spawn } = await import('node:child_process');
|
|
2819
|
+
const env = tool === 'codex' && (!process.env.TERM || process.env.TERM === 'dumb')
|
|
2820
|
+
? { ...process.env, TERM: 'xterm-256color' }
|
|
2821
|
+
: process.env;
|
|
2822
|
+
let switching = false;
|
|
2823
|
+
let forceTimer = null;
|
|
2824
|
+
|
|
2825
|
+
return await new Promise((resolve) => {
|
|
2826
|
+
const child = spawn(tool, launchArgs, { stdio: 'inherit', cwd, env });
|
|
2827
|
+
updateActiveConversation(cwd, session?.id, { childPid: child.pid, provider: tool });
|
|
2828
|
+
|
|
2829
|
+
const stopChildForSwitch = () => {
|
|
2830
|
+
if (switching) return;
|
|
2831
|
+
switching = true;
|
|
2832
|
+
process.stdout.write('\n Switch confirmed — restarting HEAD with updated settings...\n');
|
|
2833
|
+
try { child.kill('SIGTERM'); } catch {}
|
|
2834
|
+
forceTimer = setTimeout(() => {
|
|
2835
|
+
try {
|
|
2836
|
+
if (!child.killed) child.kill('SIGKILL');
|
|
2837
|
+
} catch {}
|
|
2838
|
+
}, 2500);
|
|
2839
|
+
};
|
|
2840
|
+
|
|
2841
|
+
const watcher = setInterval(() => {
|
|
2842
|
+
const pending = readPendingRuntimeSwitch(cwd);
|
|
2843
|
+
if (pendingSwitchMatchesSession(pending, session)) stopChildForSwitch();
|
|
2844
|
+
}, 500);
|
|
2845
|
+
|
|
2846
|
+
child.on('exit', async (code, signal) => {
|
|
2847
|
+
clearInterval(watcher);
|
|
2848
|
+
if (forceTimer) clearTimeout(forceTimer);
|
|
2849
|
+
saveTerminalState(cwd, getTerminalId(), session?.id, session?.tool || tool);
|
|
2850
|
+
|
|
2851
|
+
if (switching) {
|
|
2852
|
+
const launched = await processPendingRuntimeSwitch(cwd);
|
|
2853
|
+
resolve({ switched: launched, code, signal });
|
|
2854
|
+
return;
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2857
|
+
clearActiveConversation(cwd, session?.id);
|
|
2858
|
+
resolve({ switched: false, code, signal });
|
|
2859
|
+
});
|
|
2860
|
+
|
|
2861
|
+
child.on('error', (err) => {
|
|
2862
|
+
clearInterval(watcher);
|
|
2863
|
+
if (forceTimer) clearTimeout(forceTimer);
|
|
2864
|
+
process.stderr.write(`\n Could not launch ${tool}: ${err.message}\n`);
|
|
2865
|
+
clearActiveConversation(cwd, session?.id);
|
|
2866
|
+
resolve({ switched: false, error: err });
|
|
2867
|
+
});
|
|
2868
|
+
});
|
|
2869
|
+
}
|
|
2870
|
+
|
|
2871
|
+
async function launchSupervisedHandoff(session, cwd, currentTool, targetTool, brief, pending = {}) {
|
|
2872
|
+
let autoHandoff;
|
|
2873
|
+
try {
|
|
2874
|
+
autoHandoff = await import('../dist/src/auto-handoff.js');
|
|
2875
|
+
} catch (e) {
|
|
2876
|
+
process.stderr.write(`\n Could not load auto-handoff module: ${e.message}\n`);
|
|
2877
|
+
return { switched: false };
|
|
2878
|
+
}
|
|
2879
|
+
|
|
2880
|
+
const fromProvider = currentTool === 'codex' ? 'openai' : 'anthropic';
|
|
2881
|
+
const result = autoHandoff.executeHandoff({
|
|
2882
|
+
fromProvider,
|
|
2883
|
+
cwd,
|
|
2884
|
+
auto: !!pending.automode,
|
|
2885
|
+
force: true,
|
|
2886
|
+
taskBrief: brief,
|
|
2887
|
+
});
|
|
2888
|
+
if (!result.success || !result.contextFile) {
|
|
2889
|
+
process.stderr.write(`\n ${result.message || 'Handoff failed.'}\n`);
|
|
2890
|
+
return { switched: false };
|
|
2891
|
+
}
|
|
2892
|
+
|
|
2893
|
+
let prompt = '';
|
|
2894
|
+
try {
|
|
2895
|
+
const data = JSON.parse(readFileSync(result.contextFile, 'utf8'));
|
|
2896
|
+
prompt = data?.prompt || '';
|
|
2897
|
+
} catch {}
|
|
2898
|
+
if (!prompt) {
|
|
2899
|
+
process.stderr.write('\n Handoff context was created, but no prompt was available to launch the target provider.\n');
|
|
2900
|
+
return { switched: false };
|
|
2901
|
+
}
|
|
2902
|
+
|
|
2903
|
+
let launchArgs;
|
|
2904
|
+
if (targetTool === 'codex') {
|
|
2905
|
+
launchArgs = pending?.bypassPermissions
|
|
2906
|
+
? ['--dangerously-bypass-approvals-and-sandbox', prompt.slice(0, 4000)]
|
|
2907
|
+
: [
|
|
2908
|
+
..._codexModelEffortArgs(pending?.model, pending?.effort),
|
|
2909
|
+
..._codexApprovalArgs(cwd, pending?.automode ? 'never' : 'on-request'),
|
|
2910
|
+
prompt.slice(0, 4000),
|
|
2911
|
+
];
|
|
2912
|
+
} else {
|
|
2913
|
+
const permissionArgs = pending?.bypassPermissions
|
|
2914
|
+
? ['--dangerously-skip-permissions']
|
|
2915
|
+
: pending?.automode
|
|
2916
|
+
? ['--permission-mode', 'auto']
|
|
2917
|
+
: [];
|
|
2918
|
+
const modelArgs = [];
|
|
2919
|
+
if (pending?.model) modelArgs.push('--model', pending.model);
|
|
2920
|
+
if (pending?.effort) modelArgs.push('--effort', pending.effort);
|
|
2921
|
+
launchArgs = [...modelArgs, ...permissionArgs, prompt.slice(0, 4000)];
|
|
2922
|
+
}
|
|
2923
|
+
|
|
2924
|
+
process.stdout.write(` Launching: ${targetTool} ${launchArgs.slice(0, -1).join(' ')} [handoff context]\n\n`);
|
|
2925
|
+
writeActiveConversation(cwd, session, targetTool);
|
|
2926
|
+
try {
|
|
2927
|
+
return await launchSupervisedHead(targetTool, launchArgs, cwd, { ...session, tool: targetTool });
|
|
2928
|
+
} finally {
|
|
2929
|
+
clearActiveConversation(cwd, session?.id);
|
|
2930
|
+
}
|
|
2931
|
+
}
|
|
2932
|
+
|
|
2565
2933
|
async function confirmConversationTakeover(sess, cwd, ask) {
|
|
2566
2934
|
const active = readActiveConversation(cwd);
|
|
2567
2935
|
if (!active || active.sessionId !== sess.id || active.ownerPid === process.pid) return 'launch';
|
|
@@ -2602,9 +2970,8 @@ async function launchSessionWithLease(sess, cwd, ask = null) {
|
|
|
2602
2970
|
writeActiveConversation(cwd, sess, tool);
|
|
2603
2971
|
process.stdout.write(`\n Launching: ${tool} ${launchArgs.join(' ')}\n\n`);
|
|
2604
2972
|
try {
|
|
2605
|
-
|
|
2973
|
+
await launchSupervisedHead(tool, launchArgs, cwd, sess);
|
|
2606
2974
|
} finally {
|
|
2607
|
-
saveTerminalState(cwd, getTerminalId(), sess.id, sess.tool || tool);
|
|
2608
2975
|
clearActiveConversation(cwd, sess.id);
|
|
2609
2976
|
}
|
|
2610
2977
|
return { next: 'main' };
|
|
@@ -2958,6 +3325,11 @@ function classifyInput(input) {
|
|
|
2958
3325
|
return { tier: 'free', command: 'mode', args: [], modeCommand };
|
|
2959
3326
|
}
|
|
2960
3327
|
|
|
3328
|
+
const intelligenceCommand = parseIntelligenceCommand(trimmed);
|
|
3329
|
+
if (intelligenceCommand) {
|
|
3330
|
+
return { tier: 'free', command: 'intelligence', args: [], intelligenceCommand };
|
|
3331
|
+
}
|
|
3332
|
+
|
|
2961
3333
|
// Tier 0: SKILL — slash commands (checked first, deterministic)
|
|
2962
3334
|
if (trimmed.startsWith('/')) {
|
|
2963
3335
|
try {
|
|
@@ -3844,6 +4216,14 @@ async function mainScreen(rl, ask) {
|
|
|
3844
4216
|
return await offerRuntimeReloadAfterModeChange(cwd, ask, recentSessions, keyLabel);
|
|
3845
4217
|
}
|
|
3846
4218
|
|
|
4219
|
+
if (cmd === 'intelligence') {
|
|
4220
|
+
const result = applyIntelligenceCommand(classified.intelligenceCommand, cwd);
|
|
4221
|
+
const policy = INTELLIGENCE_LEVELS[result.level] || INTELLIGENCE_LEVELS[3];
|
|
4222
|
+
process.stdout.write(`\n Intelligence: \x1b[32m${result.level} · ${policy.name}\x1b[0m \x1b[2m(${result.scope})\x1b[0m\n`);
|
|
4223
|
+
process.stdout.write(` ${policy.tagline}\n\n`);
|
|
4224
|
+
return await offerRuntimeReloadAfterModeChange(cwd, ask, recentSessions, `Intelligence ${result.level}`);
|
|
4225
|
+
}
|
|
4226
|
+
|
|
3847
4227
|
if (cmd === 'resume' || cmd === 'r') {
|
|
3848
4228
|
if (recentSessions.length === 0) return { next: 'new-session' };
|
|
3849
4229
|
return { next: 'sessions' };
|
|
@@ -4710,6 +5090,10 @@ async function settingsScreen(rl, ask) {
|
|
|
4710
5090
|
const sessionSettings = loadSessionSettings(cwd);
|
|
4711
5091
|
const bypassPermissions = getEffectiveBypassPermissions(cwd);
|
|
4712
5092
|
const conversationMode = getEffectiveConversationMode(profile, cwd);
|
|
5093
|
+
const intelligenceLevel = _getIntelligenceLevel(profile, sessionSettings);
|
|
5094
|
+
const intelligencePolicy = INTELLIGENCE_LEVELS[intelligenceLevel] || INTELLIGENCE_LEVELS[3];
|
|
5095
|
+
const gptHead = _headPolicyFor('codex', profile, sessionSettings);
|
|
5096
|
+
const claudeHead = _headPolicyFor('claude', profile, sessionSettings);
|
|
4713
5097
|
const autoScope = typeof sessionSettings.automode === 'boolean' ? 'session' : 'default';
|
|
4714
5098
|
const permissionScope = typeof sessionSettings.bypassPermissions === 'boolean' ? 'session' : 'default';
|
|
4715
5099
|
|
|
@@ -4752,6 +5136,15 @@ async function settingsScreen(rl, ask) {
|
|
|
4752
5136
|
` ${dot(_stIsFull)} ${_stIsFull ? BOLD : DIM}Full Power${RESET} dual-brain everything, max quality`,
|
|
4753
5137
|
];
|
|
4754
5138
|
|
|
5139
|
+
const intelTicks = [1, 2, 3, 4, 5].map(n => n === intelligenceLevel ? `${GREEN}${n}${RESET}` : `${DIM}${n}${RESET}`).join(' ');
|
|
5140
|
+
const intelLines = [
|
|
5141
|
+
` ${DIM}Level${RESET} ${BOLD}${intelligenceLevel} · ${intelligencePolicy.name}${RESET}`,
|
|
5142
|
+
` ${DIM}Good for${RESET} ${intelligencePolicy.tagline}`,
|
|
5143
|
+
` ${DIM}Scale${RESET} ${intelTicks} ${DIM}Quick → Max${RESET}`,
|
|
5144
|
+
` ${DIM}GPT HEAD${RESET} ${gptHead.model} (${gptHead.effort})`,
|
|
5145
|
+
` ${DIM}Claude HEAD${RESET} ${claudeHead.model} (${claudeHead.effort})`,
|
|
5146
|
+
];
|
|
5147
|
+
|
|
4755
5148
|
// ── Conversation behavior ───────────────────────────────────────────────
|
|
4756
5149
|
const autoMark = automode ? chk : xmark;
|
|
4757
5150
|
const permMark = bypassPermissions ? `${RED}!${RESET}` : chk;
|
|
@@ -4842,6 +5235,12 @@ async function settingsScreen(rl, ask) {
|
|
|
4842
5235
|
signalLine('info', `${DIM}[1-3] change${RESET}`),
|
|
4843
5236
|
];
|
|
4844
5237
|
|
|
5238
|
+
const intelContent = [
|
|
5239
|
+
...intelLines.map(l => l.replace(/^ /, '')),
|
|
5240
|
+
'',
|
|
5241
|
+
signalLine('info', `${DIM}[4] Quick [5] Daily [6] Smart [7] Expert [8] Max${RESET}`),
|
|
5242
|
+
];
|
|
5243
|
+
|
|
4845
5244
|
const convContent = [
|
|
4846
5245
|
...convLines.map(l => l.replace(/^ /, '')),
|
|
4847
5246
|
'',
|
|
@@ -4862,6 +5261,7 @@ async function settingsScreen(rl, ask) {
|
|
|
4862
5261
|
process.stdout.write('\n');
|
|
4863
5262
|
process.stdout.write(panel('Subscriptions', subsContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
|
|
4864
5263
|
process.stdout.write(panel('Work style', wsContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
|
|
5264
|
+
process.stdout.write(panel('Intelligence', intelContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
|
|
4865
5265
|
process.stdout.write(panel('Conversation', convContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
|
|
4866
5266
|
process.stdout.write(panel('System', sysContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
|
|
4867
5267
|
process.stdout.write(panel('Navigation', navContent, { width: settingsPanelW }) + '\n\n');
|
|
@@ -4888,6 +5288,21 @@ async function settingsScreen(rl, ask) {
|
|
|
4888
5288
|
return { next: 'settings' };
|
|
4889
5289
|
}
|
|
4890
5290
|
|
|
5291
|
+
if (['4', '5', '6', '7', '8'].includes(choice)) {
|
|
5292
|
+
const levelMap = { '4': 1, '5': 2, '6': 3, '7': 4, '8': 5 };
|
|
5293
|
+
const level = levelMap[choice];
|
|
5294
|
+
const settings = loadSessionSettings(cwd);
|
|
5295
|
+
settings.intelligenceLevel = level;
|
|
5296
|
+
delete settings.headModel;
|
|
5297
|
+
delete settings.effort;
|
|
5298
|
+
saveSessionSettings(cwd, settings);
|
|
5299
|
+
const policy = INTELLIGENCE_LEVELS[level] || INTELLIGENCE_LEVELS[3];
|
|
5300
|
+
process.stdout.write(`\n Intelligence: ${GREEN}${level} · ${policy.name}${RESET} ${DIM}(this session)${RESET}\n`);
|
|
5301
|
+
process.stdout.write(` ${DIM}${policy.tagline}${RESET}\n\n`);
|
|
5302
|
+
const reload = await offerRuntimeReloadAfterModeChange(cwd, ask, [], `Intelligence ${level}`);
|
|
5303
|
+
return reload?.next === 'main' ? { next: 'settings' } : reload;
|
|
5304
|
+
}
|
|
5305
|
+
|
|
4891
5306
|
// Conversation behavior toggles
|
|
4892
5307
|
if (choice === 'o') {
|
|
4893
5308
|
const settings = loadSessionSettings(cwd);
|
|
@@ -6232,16 +6647,7 @@ async function sessionDetailScreen(rl, ask, ctx = {}) {
|
|
|
6232
6647
|
const choice = (await ask(' Choice: ')).trim().toLowerCase();
|
|
6233
6648
|
|
|
6234
6649
|
if (choice === 'c' || choice === 'r') {
|
|
6235
|
-
|
|
6236
|
-
const launchArgs = _sessionLaunchArgs(sess, cwd);
|
|
6237
|
-
console.log(`\n Launching: ${tool} ${launchArgs.join(' ')}\n`);
|
|
6238
|
-
try {
|
|
6239
|
-
const { spawnSync } = await import('node:child_process');
|
|
6240
|
-
spawnSync(tool, launchArgs, { stdio: 'inherit' });
|
|
6241
|
-
} catch {
|
|
6242
|
-
console.log(` Could not launch ${tool} CLI.`);
|
|
6243
|
-
}
|
|
6244
|
-
return { next: 'dashboard' };
|
|
6650
|
+
return await launchSessionWithLease(sess, cwd, ask);
|
|
6245
6651
|
}
|
|
6246
6652
|
|
|
6247
6653
|
if (choice === 'g') {
|
|
@@ -6542,12 +6948,7 @@ async function sessionManageScreen(rl, ask, ctx = {}) {
|
|
|
6542
6948
|
}
|
|
6543
6949
|
|
|
6544
6950
|
if (choice === 'o') {
|
|
6545
|
-
|
|
6546
|
-
const tool = _sessionTool(sess);
|
|
6547
|
-
const launchArgs = _sessionLaunchArgs(sess, cwd);
|
|
6548
|
-
console.log(`\n Launching: ${tool} ${launchArgs.join(' ')}\n`);
|
|
6549
|
-
spawnSync(tool, launchArgs, { stdio: 'inherit' });
|
|
6550
|
-
return { next: 'sessions' };
|
|
6951
|
+
return await launchSessionWithLease(sess, cwd, ask);
|
|
6551
6952
|
}
|
|
6552
6953
|
|
|
6553
6954
|
if (choice === 'g') {
|
|
@@ -7624,6 +8025,7 @@ async function main() {
|
|
|
7624
8025
|
if (cmd === 'handoff') { await cmdHandoff(args.slice(1)); return; }
|
|
7625
8026
|
if (cmd === 'switch') { await cmdSwitch(args.slice(1)); return; }
|
|
7626
8027
|
if (cmd === 'runtime-switch') { await cmdRuntimeSwitch(args.slice(1)); return; }
|
|
8028
|
+
if (cmd === 'auto' || cmd === 'automode' || cmd === 'smart-auto') { await cmdAuto(args.slice(1)); return; }
|
|
7627
8029
|
if (cmd === 'update' || cmd === 'upgrade') { await cmdUpdate(); return; }
|
|
7628
8030
|
if (cmd === 'hot') { cmdHot(args[1]); return; }
|
|
7629
8031
|
if (cmd === 'cool') { cmdCool(args[1]); return; }
|
|
@@ -7688,7 +8090,7 @@ fi
|
|
|
7688
8090
|
// If cmd is not a recognized subcommand, treat the entire arg list as a task.
|
|
7689
8091
|
// e.g. `dual-brain fix failing tests` → same as `dual-brain go "fix failing tests"`
|
|
7690
8092
|
const KNOWN_COMMANDS = new Set([
|
|
7691
|
-
'menu', 'init', 'install', 'uninstall', 'auth', 'go', 'do', 'plan', 'ship', 'think', 'review', 'pr', 'status', 'handoff', 'switch', 'runtime-switch', 'hot', 'cool',
|
|
8093
|
+
'menu', 'init', 'install', 'uninstall', 'auth', 'go', 'do', 'plan', 'ship', 'think', 'review', 'pr', 'status', 'handoff', 'switch', 'runtime-switch', 'auto', 'automode', 'smart-auto', 'hot', 'cool',
|
|
7692
8094
|
'remember', 'forget', 'break-glass', 'specialists', 'search', 'shell-hook', 'watch', 'update', 'upgrade',
|
|
7693
8095
|
'--help', '-h', '--version', '-v',
|
|
7694
8096
|
...Object.keys(loadSpecialistRegistry()),
|
package/dist/src/decide.d.ts
CHANGED
|
@@ -60,6 +60,10 @@ export interface HeadRecommendation {
|
|
|
60
60
|
}
|
|
61
61
|
export declare function recommendHeadModel(profile: {
|
|
62
62
|
mode?: string;
|
|
63
|
+
intelligenceLevel?: number;
|
|
64
|
+
settings?: {
|
|
65
|
+
intelligenceLevel?: number;
|
|
66
|
+
};
|
|
63
67
|
providers?: Record<string, {
|
|
64
68
|
enabled?: boolean;
|
|
65
69
|
models?: string[];
|
package/dist/src/decide.js
CHANGED
|
@@ -218,16 +218,41 @@ function rankOpenAIModels(models, purpose) {
|
|
|
218
218
|
return score(a) - score(b);
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
|
+
function pickOpenAIHeadForLevel(models, level) {
|
|
222
|
+
const preferred = level >= 5
|
|
223
|
+
? [/^gpt-5\.5$/i, /^gpt-5\.4$/i, /^gpt-5\.2$/i]
|
|
224
|
+
: level >= 4
|
|
225
|
+
? [/^gpt-5\.5$/i, /^gpt-5\.4$/i, /^gpt-5\.4-mini$/i]
|
|
226
|
+
: level >= 3
|
|
227
|
+
? [/^gpt-5\.4$/i, /^gpt-5\.4-mini$/i, /^gpt-5\.5$/i]
|
|
228
|
+
: [/^gpt-5\.4-mini$/i, /^gpt-4\.1-mini$/i, /^gpt-4o-mini$/i, /^gpt-5\.4$/i];
|
|
229
|
+
for (const re of preferred) {
|
|
230
|
+
const match = models.find(m => re.test(m));
|
|
231
|
+
if (match)
|
|
232
|
+
return match;
|
|
233
|
+
}
|
|
234
|
+
return rankOpenAIModels(models, 'head')[0];
|
|
235
|
+
}
|
|
236
|
+
function pickClaudeHeadForLevel(models, level) {
|
|
237
|
+
if (level >= 4 && models.includes('opus'))
|
|
238
|
+
return 'opus';
|
|
239
|
+
if (models.includes('sonnet'))
|
|
240
|
+
return 'sonnet';
|
|
241
|
+
if (models.includes('default'))
|
|
242
|
+
return 'default';
|
|
243
|
+
return models[0];
|
|
244
|
+
}
|
|
221
245
|
export function recommendHeadModel(profile) {
|
|
222
246
|
const available = getAvailableModels(profile);
|
|
223
247
|
const claudeEnabled = profile?.providers?.claude?.enabled !== false && available.claude.length > 0;
|
|
224
248
|
const openaiEnabled = profile?.providers?.openai?.enabled !== false && available.openai.length > 0;
|
|
225
249
|
const mode = String(profile?.mode || 'auto');
|
|
226
|
-
const
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
250
|
+
const level = Math.max(1, Math.min(5, Number(profile?.intelligenceLevel ?? profile?.settings?.intelligenceLevel ?? 3) || 3));
|
|
251
|
+
const levelName = ['Quick', 'Daily', 'Smart', 'Expert', 'Max'][level - 1] || 'Smart';
|
|
252
|
+
const openaiHead = mode === 'cost-saver'
|
|
253
|
+
? rankOpenAIModels(available.openai, 'search')[0]
|
|
254
|
+
: pickOpenAIHeadForLevel(available.openai, level);
|
|
255
|
+
const claudeHead = pickClaudeHeadForLevel(available.claude, level);
|
|
231
256
|
const alternatives = [];
|
|
232
257
|
if (claudeEnabled && claudeHead) {
|
|
233
258
|
alternatives.push({
|
|
@@ -250,7 +275,7 @@ export function recommendHeadModel(profile) {
|
|
|
250
275
|
effort: openaiHead.includes('5.') ? 'medium' : undefined,
|
|
251
276
|
confidence: _codexModelCache.models ? 'high' : 'medium',
|
|
252
277
|
source: _codexModelCache.models ? 'codex debug models' : 'static fallback',
|
|
253
|
-
reason: `${openaiHead}
|
|
278
|
+
reason: `${openaiHead} matches Intelligence ${level} (${levelName}) for an always-on orchestration HEAD; stronger models remain available for escalation.`,
|
|
254
279
|
alternatives,
|
|
255
280
|
};
|
|
256
281
|
}
|
|
@@ -258,9 +283,10 @@ export function recommendHeadModel(profile) {
|
|
|
258
283
|
return {
|
|
259
284
|
provider: 'claude',
|
|
260
285
|
model: claudeHead,
|
|
286
|
+
effort: claudeHead === 'opus' ? 'medium' : undefined,
|
|
261
287
|
confidence: _claudeModelCache.source === 'claude-cli-aliases' ? 'high' : 'medium',
|
|
262
288
|
source: _claudeModelCache.source,
|
|
263
|
-
reason: `${claudeHead}
|
|
289
|
+
reason: `${claudeHead} matches Intelligence ${level} (${levelName}) for the conversational HEAD; use premium think/review escalation when needed.`,
|
|
264
290
|
alternatives,
|
|
265
291
|
};
|
|
266
292
|
}
|
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/profile.d.ts
CHANGED
|
@@ -47,10 +47,14 @@ export interface Profile {
|
|
|
47
47
|
bias: string;
|
|
48
48
|
preferences: Preference[];
|
|
49
49
|
apiGuardrail: boolean;
|
|
50
|
+
settings?: Record<string, unknown>;
|
|
50
51
|
capabilities?: DetectedCapabilities;
|
|
51
52
|
detectedAt?: string;
|
|
52
53
|
forbiddenModels?: string[];
|
|
53
54
|
preferredModels?: string[];
|
|
55
|
+
headModel?: string;
|
|
56
|
+
headEffort?: string;
|
|
57
|
+
intelligenceLevel?: number;
|
|
54
58
|
costBias?: number;
|
|
55
59
|
subscription?: unknown;
|
|
56
60
|
budget?: unknown;
|
package/dist/src/profile.js
CHANGED
|
@@ -496,13 +496,17 @@ function isSoloBrain(profile) {
|
|
|
496
496
|
return getAvailableProviders(profile).length === 1;
|
|
497
497
|
}
|
|
498
498
|
function getHeadModel(profile) {
|
|
499
|
+
if (profile.headModel)
|
|
500
|
+
return profile.headModel;
|
|
501
|
+
const level = Math.max(1, Math.min(5, Number(profile.intelligenceLevel ?? profile.settings?.intelligenceLevel ?? 3) || 3));
|
|
499
502
|
const providers = getAvailableProviders(profile);
|
|
500
503
|
if (providers.length === 0)
|
|
501
504
|
return 'sonnet';
|
|
505
|
+
const openaiHead = level >= 4 ? 'gpt-5.5' : level >= 3 ? 'gpt-5.4' : 'gpt-5.4-mini';
|
|
506
|
+
const claudeHead = level >= 4 ? 'opus' : 'sonnet';
|
|
502
507
|
if (providers.length === 1)
|
|
503
|
-
return providers[0].name === 'openai' ?
|
|
504
|
-
|
|
505
|
-
return 'sonnet';
|
|
508
|
+
return providers[0].name === 'openai' ? openaiHead : claudeHead;
|
|
509
|
+
return openaiHead;
|
|
506
510
|
}
|
|
507
511
|
// ---------------------------------------------------------------------------
|
|
508
512
|
// Capability-based auto-setup (replaces subscription-based autoSetup)
|
package/dist/src/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../src/profile.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED