dual-brain 0.3.27 → 0.3.29

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.
@@ -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,17 @@ 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 [..._codexApprovalArgs(workspace, approvalMode), 'resume', sessionId];
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
+ ];
60
69
  }
61
70
 
62
71
  function _isReplitWorkspace(cwd) {
@@ -78,6 +87,86 @@ function _codexApprovalArgs(cwd, approvalMode = 'on-request') {
78
87
  return ['--sandbox', sandboxMode, '--ask-for-approval', approvalMode];
79
88
  }
80
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;
168
+ }
169
+
81
170
  function _sessionTool(session) {
82
171
  return session?.tool === 'codex' ? 'codex' : 'claude';
83
172
  }
@@ -242,6 +331,38 @@ async function checkForUpdates(currentVersion) {
242
331
  } catch {}
243
332
  return null;
244
333
  }
334
+
335
+ async function maybeAutoUpdateAndRelaunch(args, { cmd, isInteractive } = {}) {
336
+ if (!isInteractive) return false;
337
+ if (process.env.DUAL_BRAIN_NO_AUTO_UPDATE === '1') return false;
338
+ if (process.env.DUAL_BRAIN_AUTO_UPDATED === '1') return false;
339
+ const skip = new Set(['update', 'upgrade', 'install', 'uninstall', 'shell-hook', '--version', '-v', '--help', '-h']);
340
+ if (skip.has(cmd)) return false;
341
+
342
+ const current = readVersion();
343
+ const latest = await checkForUpdates(current);
344
+ if (!latest) return false;
345
+
346
+ const { spawnSync } = await import('node:child_process');
347
+ process.stdout.write(`\n Updating dual-brain ${current} -> ${latest}...\n`);
348
+ const install = spawnSync('npm', ['install', '-g', `dual-brain@${latest}`], {
349
+ stdio: 'inherit',
350
+ cwd: process.cwd(),
351
+ });
352
+ if (install.status !== 0) {
353
+ process.stdout.write(` Update failed; continuing with ${current}.\n\n`);
354
+ return false;
355
+ }
356
+
357
+ process.stdout.write(` Updated to ${latest}. Restarting dual-brain...\n\n`);
358
+ const relaunched = spawnSync('dual-brain', args, {
359
+ stdio: 'inherit',
360
+ cwd: process.cwd(),
361
+ env: { ...process.env, DUAL_BRAIN_AUTO_UPDATED: '1' },
362
+ });
363
+ process.exit(relaunched.status ?? 0);
364
+ }
365
+
245
366
  function flag(args, name) { const i = args.indexOf(name); return i !== -1 ? (args[i + 1] ?? true) : null; }
246
367
  function err(msg) { process.stderr.write(`Error: ${msg}\n`); process.exit(1); }
247
368
  function vtrace(msg) { process.stderr.write(`[verbose] ${msg}\n`); }
@@ -1073,7 +1194,11 @@ async function cmdStatus(args = []) {
1073
1194
  }
1074
1195
 
1075
1196
  // Head model
1197
+ const settings = loadSessionSettings(cwd);
1198
+ const intelligenceLevel = _getIntelligenceLevel(profile, settings);
1199
+ const intelligencePolicy = INTELLIGENCE_LEVELS[intelligenceLevel] || INTELLIGENCE_LEVELS[3];
1076
1200
  console.log(`\nHead model : ${getHeadModel(profile)}`);
1201
+ console.log(`Intelligence: ${intelligenceLevel} · ${intelligencePolicy.name} — ${intelligencePolicy.tagline}`);
1077
1202
  console.log(`Mode : ${profile.mode}`);
1078
1203
  console.log(`Solo brain : ${isSoloBrain(profile) ? 'yes' : 'no'}`);
1079
1204
  try {
@@ -1337,14 +1462,22 @@ async function cmdRuntimeSwitch(args = []) {
1337
1462
  const cwd = process.cwd();
1338
1463
  let sessions = [];
1339
1464
  try { sessions = enrichSessions(importReplitSessions(cwd), cwd); } catch {}
1340
- const sess = sessions[0];
1465
+ const active = readActiveConversation(cwd);
1466
+ const sess = active
1467
+ ? (sessions.find(s => s.id === active.sessionId) || {
1468
+ id: active.sessionId,
1469
+ tool: active.provider,
1470
+ smartName: active.sessionName || active.conversationId || active.sessionId,
1471
+ })
1472
+ : sessions[0];
1341
1473
  if (!sess) {
1342
1474
  console.log('No resumable session found.');
1343
1475
  return;
1344
1476
  }
1345
1477
 
1346
1478
  const profile = loadProfile(cwd);
1347
- const settings = loadSessionSettings(cwd);
1479
+ const settingsTerminalId = active?.terminalId || getTerminalId();
1480
+ const settings = loadSessionSettings(cwd, settingsTerminalId);
1348
1481
  let provider = _sessionTool(sess);
1349
1482
  let reason = 'head-runtime-switch';
1350
1483
  const confirmed = args.includes('--confirm') || args.includes('--go');
@@ -1362,6 +1495,9 @@ async function cmdRuntimeSwitch(args = []) {
1362
1495
  if (a === '--effort' && args[i + 1]) {
1363
1496
  settings.effort = args[i + 1];
1364
1497
  }
1498
+ if ((a === '--level' || a === '--intelligence' || a === '--intelligence-level') && args[i + 1]) {
1499
+ settings.intelligenceLevel = _normalizeIntelligenceLevel(args[i + 1], settings.intelligenceLevel || 3);
1500
+ }
1365
1501
  if (a === '--reason' && args[i + 1]) reason = args[i + 1];
1366
1502
  }
1367
1503
 
@@ -1377,14 +1513,27 @@ async function cmdRuntimeSwitch(args = []) {
1377
1513
  settings.automode = true;
1378
1514
  settings.bypassPermissions = true;
1379
1515
  }
1380
- saveSessionSettings(cwd, settings);
1516
+
1517
+ const headPolicy = _headPolicyFor(provider, profile, settings);
1518
+ if (!settings.headModel || !_modelMatchesProvider(settings.headModel, provider)) {
1519
+ settings.headModel = headPolicy.model;
1520
+ }
1521
+ if (!settings.effort) settings.effort = headPolicy.effort;
1522
+ saveSessionSettings(cwd, settings, settingsTerminalId);
1523
+
1524
+ const effectiveAutomode = typeof settings.automode === 'boolean'
1525
+ ? settings.automode
1526
+ : (profile.automode ?? profile.settings?.automode ?? false);
1527
+ const effectiveBypass = typeof settings.bypassPermissions === 'boolean'
1528
+ ? settings.bypassPermissions
1529
+ : !!profile.bypassPermissions;
1381
1530
 
1382
1531
  const pending = writePendingRuntimeSwitch(cwd, sess, {
1383
1532
  provider,
1384
- automode: getEffectiveAutomode(profile, cwd),
1385
- bypassPermissions: getEffectiveBypassPermissions(cwd),
1386
- model: settings.headModel || null,
1387
- effort: settings.effort || null,
1533
+ automode: effectiveAutomode,
1534
+ bypassPermissions: effectiveBypass,
1535
+ model: settings.headModel,
1536
+ effort: settings.effort,
1388
1537
  confirmed,
1389
1538
  reason,
1390
1539
  });
@@ -1398,13 +1547,29 @@ async function cmdRuntimeSwitch(args = []) {
1398
1547
  console.log(`Provider: ${provider}`);
1399
1548
  console.log(`Mode: ${getEffectiveConversationMode(profile, cwd)}`);
1400
1549
  console.log(`Launch: ${provider} ${launchArgs.join(' ')}`);
1550
+ if (confirmed) {
1551
+ const activeForSwitch = readActiveConversation(cwd);
1552
+ if (activeForSwitch?.sessionId === sess.id) {
1553
+ console.log('Active supervisor detected: HEAD will restart with these settings.');
1554
+ } else if (!args.includes('--apply')) {
1555
+ console.log('No active supervisor detected: saved for the next dual-brain resume/switch, not live yet.');
1556
+ }
1557
+ }
1401
1558
  console.log('');
1402
1559
 
1403
1560
  if (args.includes('--apply')) {
1404
- await processPendingRuntimeSwitch(cwd);
1561
+ const applied = await processPendingRuntimeSwitch(cwd);
1562
+ if (!applied) console.log('Could not apply live here; resume the session through dual-brain to use these settings.');
1405
1563
  }
1406
1564
  }
1407
1565
 
1566
+ async function cmdAuto(args = []) {
1567
+ const switchArgs = ['--automode', '--confirm'];
1568
+ const levelIdx = args.findIndex(a => a === '--level' || a === '--intelligence' || a === '--intelligence-level');
1569
+ if (levelIdx !== -1 && args[levelIdx + 1]) switchArgs.push('--level', args[levelIdx + 1]);
1570
+ await cmdRuntimeSwitch(switchArgs);
1571
+ }
1572
+
1408
1573
  async function cmdUpdate() {
1409
1574
  const cwd = process.cwd();
1410
1575
  console.log(' Updating Dual Brain...');
@@ -2317,41 +2482,160 @@ function applyModeCommand(cmd, cwd) {
2317
2482
  return { scope: 'this session', value: cmd.value, key: cmd.key };
2318
2483
  }
2319
2484
 
2485
+ function parseIntelligenceCommand(input, cwd = process.cwd()) {
2486
+ const text = input.trim().toLowerCase().replace(/\s+/g, ' ');
2487
+ if (!/\b(intelligence|intel|smartness|brain|level|quality)\b/.test(text)) return null;
2488
+ const wantsSession = /\b(this|current)\s+(session|conversation|terminal|chat|manager|supervisor)\b|\bfor this\b|\bfor current\b/.test(text);
2489
+ const wantsGlobal = /\b(default|global|profile|always|future sessions|all sessions)\b/.test(text);
2490
+ const scope = wantsGlobal && !wantsSession ? 'profile' : 'session';
2491
+
2492
+ let level = null;
2493
+ const named = [
2494
+ ['quick', 1],
2495
+ ['daily', 2],
2496
+ ['smart', 3],
2497
+ ['expert', 4],
2498
+ ['max', 5],
2499
+ ['maximum', 5],
2500
+ ];
2501
+ for (const [name, value] of named) {
2502
+ if (new RegExp(`\\b${name}\\b`).test(text)) level = value;
2503
+ }
2504
+ const num = text.match(/\b(?:level\s*)?([1-5])\b/);
2505
+ if (num) level = Number.parseInt(num[1], 10);
2506
+
2507
+ if (/\b(up|higher|raise|increase|smarter|stronger|better)\b/.test(text)) {
2508
+ const current = _getIntelligenceLevel(loadProfile(cwd), loadSessionSettings(cwd));
2509
+ level = Math.min(5, current + 1);
2510
+ }
2511
+ if (/\b(down|lower|decrease|cheaper|faster|lighter)\b/.test(text)) {
2512
+ const current = _getIntelligenceLevel(loadProfile(cwd), loadSessionSettings(cwd));
2513
+ level = Math.max(1, current - 1);
2514
+ }
2515
+ if (!level) return null;
2516
+ return { level: _normalizeIntelligenceLevel(level, 3), scope };
2517
+ }
2518
+
2519
+ function applyIntelligenceCommand(cmd, cwd) {
2520
+ const profile = loadProfile(cwd);
2521
+ if (cmd.scope === 'profile') {
2522
+ profile.intelligenceLevel = cmd.level;
2523
+ profile.settings = { ...(profile.settings || {}), intelligenceLevel: cmd.level };
2524
+ saveProfile(profile, { cwd });
2525
+ return { scope: 'default', level: cmd.level };
2526
+ }
2527
+
2528
+ const settings = loadSessionSettings(cwd);
2529
+ settings.intelligenceLevel = cmd.level;
2530
+ delete settings.headModel;
2531
+ delete settings.effort;
2532
+ saveSessionSettings(cwd, settings);
2533
+ return { scope: 'this session', level: cmd.level };
2534
+ }
2535
+
2536
+ function parseProviderSwitchCommand(input) {
2537
+ const text = input.trim().toLowerCase().replace(/\s+/g, ' ');
2538
+ if (!/\b(switchover|switch over|switch provider|other provider|continue in (gpt|codex|claude|other provider)|switch (to|into) (gpt|codex|claude|openai))\b/.test(text)) {
2539
+ return null;
2540
+ }
2541
+ let provider = null;
2542
+ if (/\b(gpt|codex|openai)\b/.test(text)) provider = 'codex';
2543
+ if (/\bclaude\b/.test(text)) provider = 'claude';
2544
+ return { provider };
2545
+ }
2546
+
2547
+ function getActionSession(cwd, recentSessions = []) {
2548
+ const active = readActiveConversation(cwd);
2549
+ if (active) {
2550
+ return recentSessions.find(s => s.id === active.sessionId) || {
2551
+ id: active.sessionId,
2552
+ tool: active.provider,
2553
+ smartName: active.sessionName || active.conversationId || active.sessionId,
2554
+ };
2555
+ }
2556
+ return recentSessions[0] || null;
2557
+ }
2558
+
2559
+ async function switchProviderNow(cwd, session, target = null) {
2560
+ if (!session) return false;
2561
+ const currentTool = _sessionTool(session);
2562
+ const targetTool = target || (currentTool === 'codex' ? 'claude' : 'codex');
2563
+ const brief = _sessionBrief(session, targetTool);
2564
+ setSessionResumeProvider(cwd, session, targetTool, 'head-provider-switch');
2565
+ writeHandoffConversationLease(cwd, session, currentTool, targetTool, brief);
2566
+ markSessionSuperseded(cwd, session, targetTool, 'head-provider-switch');
2567
+ await cmdSwitch([targetTool, brief]);
2568
+ return true;
2569
+ }
2570
+
2320
2571
  async function offerRuntimeReloadAfterModeChange(cwd, ask, recentSessions, label = 'runtime settings') {
2321
2572
  const cyan = '\x1b[36m';
2322
2573
  const reset = '\x1b[0m';
2574
+ const profile = loadProfile(cwd);
2575
+ const active = readActiveConversation(cwd);
2323
2576
  let candidates = Array.isArray(recentSessions) ? recentSessions : [];
2324
2577
  if (candidates.length === 0) {
2325
2578
  try { candidates = enrichSessions(importReplitSessions(cwd), cwd).slice(0, 3); } catch {}
2326
2579
  }
2327
- const sess = candidates[0] || null;
2580
+ const sess = active
2581
+ ? (candidates.find(s => s.id === active.sessionId) || {
2582
+ id: active.sessionId,
2583
+ tool: active.provider,
2584
+ smartName: active.sessionName || active.conversationId || active.sessionId,
2585
+ })
2586
+ : candidates[0] || null;
2328
2587
  process.stdout.write(' Provider approval flags are applied when Claude/Codex starts.\n');
2329
2588
  if (!sess) {
2330
- process.stdout.write(` ${label} will apply to the next session you launch through dual-brain.\n\n`);
2589
+ process.stdout.write(` ${label} saved, but no resumable HEAD session was found.\n`);
2590
+ process.stdout.write(' It will apply to the next session launched through dual-brain.\n\n');
2331
2591
  await ask(' Press Enter to continue...');
2332
2592
  return { next: 'main' };
2333
2593
  }
2334
2594
 
2335
2595
  const tool = _sessionTool(sess);
2336
- const launchArgs = _sessionLaunchArgs(sess, cwd);
2596
+ const settings = loadSessionSettings(cwd, active?.terminalId || getTerminalId());
2597
+ const headPolicy = _headPolicyFor(tool, profile, settings);
2598
+ if (!settings.headModel || !_modelMatchesProvider(settings.headModel, tool)) settings.headModel = headPolicy.model;
2599
+ if (!settings.effort) settings.effort = headPolicy.effort;
2600
+ saveSessionSettings(cwd, settings, active?.terminalId || getTerminalId());
2601
+ const effectiveAutomode = typeof settings.automode === 'boolean'
2602
+ ? settings.automode
2603
+ : (profile.automode ?? profile.settings?.automode ?? false);
2604
+ const effectiveBypass = typeof settings.bypassPermissions === 'boolean'
2605
+ ? settings.bypassPermissions
2606
+ : !!profile.bypassPermissions;
2607
+ const launchArgs = runtimeLaunchArgsForPending(sess, cwd, {
2608
+ provider: tool,
2609
+ model: settings.headModel,
2610
+ effort: settings.effort,
2611
+ automode: effectiveAutomode,
2612
+ bypassPermissions: effectiveBypass,
2613
+ });
2337
2614
  writePendingRuntimeSwitch(cwd, sess, {
2338
2615
  provider: tool,
2339
- automode: getEffectiveAutomode(loadProfile(cwd), cwd),
2340
- bypassPermissions: getEffectiveBypassPermissions(cwd),
2616
+ model: settings.headModel,
2617
+ effort: settings.effort,
2618
+ automode: effectiveAutomode,
2619
+ bypassPermissions: effectiveBypass,
2341
2620
  reason: `${label}-reload`,
2342
2621
  });
2343
2622
  process.stdout.write(` Reload needed: ${tool} must restart with: ${launchArgs.join(' ')}\n\n`);
2623
+ if (!active) {
2624
+ process.stdout.write(' No active dual-brain supervisor is attached to this shell, so this cannot be applied live.\n');
2625
+ }
2344
2626
  process.stdout.write(` ${cyan}Enter${reset} reload last session now ${cyan}n${reset} later\n\n`);
2345
2627
  const choice = (await ask(' Choice: ')).trim().toLowerCase();
2346
2628
  if (choice === 'n' || choice === 'no' || choice === 'later') {
2347
- process.stdout.write('\n Saved. It will apply on the next dual-brain resume/switch.\n\n');
2629
+ process.stdout.write('\n Saved for next dual-brain resume/switch. It is not live in the current provider process.\n\n');
2348
2630
  await ask(' Press Enter to continue...');
2349
2631
  return { next: 'main' };
2350
2632
  }
2351
2633
  writePendingRuntimeSwitch(cwd, sess, {
2352
2634
  provider: tool,
2353
- automode: getEffectiveAutomode(loadProfile(cwd), cwd),
2354
- bypassPermissions: getEffectiveBypassPermissions(cwd),
2635
+ model: settings.headModel,
2636
+ effort: settings.effort,
2637
+ automode: effectiveAutomode,
2638
+ bypassPermissions: effectiveBypass,
2355
2639
  reason: `${label}-reload`,
2356
2640
  confirmed: true,
2357
2641
  });
@@ -2418,6 +2702,7 @@ function runtimeLaunchArgsForPending(session, cwd, pending) {
2418
2702
  if (tool === 'codex') {
2419
2703
  if (pending?.bypassPermissions) return ['--dangerously-bypass-approvals-and-sandbox', 'resume', session.id];
2420
2704
  return [
2705
+ ..._codexModelEffortArgs(pending?.model, pending?.effort),
2421
2706
  ..._codexApprovalArgs(cwd, pending?.automode ? 'never' : 'on-request'),
2422
2707
  'resume', session.id,
2423
2708
  ];
@@ -2488,6 +2773,7 @@ function writeActiveConversation(cwd, session, tool, extra = {}) {
2488
2773
  const lease = {
2489
2774
  conversationId: session.id,
2490
2775
  sessionId: session.id,
2776
+ sessionName: session.smartName || session.name || session.prompts?.first || session.firstPrompt || session.id,
2491
2777
  provider: tool,
2492
2778
  terminalId,
2493
2779
  ownerPid: process.pid,
@@ -2686,6 +2972,7 @@ async function launchSupervisedHandoff(session, cwd, currentTool, targetTool, br
2686
2972
  launchArgs = pending?.bypassPermissions
2687
2973
  ? ['--dangerously-bypass-approvals-and-sandbox', prompt.slice(0, 4000)]
2688
2974
  : [
2975
+ ..._codexModelEffortArgs(pending?.model, pending?.effort),
2689
2976
  ..._codexApprovalArgs(cwd, pending?.automode ? 'never' : 'on-request'),
2690
2977
  prompt.slice(0, 4000),
2691
2978
  ];
@@ -2695,7 +2982,10 @@ async function launchSupervisedHandoff(session, cwd, currentTool, targetTool, br
2695
2982
  : pending?.automode
2696
2983
  ? ['--permission-mode', 'auto']
2697
2984
  : [];
2698
- launchArgs = [...permissionArgs, prompt.slice(0, 4000)];
2985
+ const modelArgs = [];
2986
+ if (pending?.model) modelArgs.push('--model', pending.model);
2987
+ if (pending?.effort) modelArgs.push('--effort', pending.effort);
2988
+ launchArgs = [...modelArgs, ...permissionArgs, prompt.slice(0, 4000)];
2699
2989
  }
2700
2990
 
2701
2991
  process.stdout.write(` Launching: ${targetTool} ${launchArgs.slice(0, -1).join(' ')} [handoff context]\n\n`);
@@ -3102,6 +3392,16 @@ function classifyInput(input) {
3102
3392
  return { tier: 'free', command: 'mode', args: [], modeCommand };
3103
3393
  }
3104
3394
 
3395
+ const intelligenceCommand = parseIntelligenceCommand(trimmed);
3396
+ if (intelligenceCommand) {
3397
+ return { tier: 'free', command: 'intelligence', args: [], intelligenceCommand };
3398
+ }
3399
+
3400
+ const providerSwitchCommand = parseProviderSwitchCommand(trimmed);
3401
+ if (providerSwitchCommand) {
3402
+ return { tier: 'free', command: 'provider-switch', args: [], providerSwitchCommand };
3403
+ }
3404
+
3105
3405
  // Tier 0: SKILL — slash commands (checked first, deterministic)
3106
3406
  if (trimmed.startsWith('/')) {
3107
3407
  try {
@@ -3988,6 +4288,23 @@ async function mainScreen(rl, ask) {
3988
4288
  return await offerRuntimeReloadAfterModeChange(cwd, ask, recentSessions, keyLabel);
3989
4289
  }
3990
4290
 
4291
+ if (cmd === 'intelligence') {
4292
+ const result = applyIntelligenceCommand(classified.intelligenceCommand, cwd);
4293
+ const policy = INTELLIGENCE_LEVELS[result.level] || INTELLIGENCE_LEVELS[3];
4294
+ process.stdout.write(`\n Intelligence: \x1b[32m${result.level} · ${policy.name}\x1b[0m \x1b[2m(${result.scope})\x1b[0m\n`);
4295
+ process.stdout.write(` ${policy.tagline}\n\n`);
4296
+ return await offerRuntimeReloadAfterModeChange(cwd, ask, recentSessions, `Intelligence ${result.level}`);
4297
+ }
4298
+
4299
+ if (cmd === 'provider-switch') {
4300
+ const sess = getActionSession(cwd, recentSessions);
4301
+ if (!sess) return { next: 'new-session' };
4302
+ const target = classified.providerSwitchCommand.provider;
4303
+ process.stdout.write(`\n Switching HEAD to ${target === 'claude' ? 'Claude' : target === 'codex' ? 'Codex/GPT' : 'the other provider'}...\n\n`);
4304
+ await switchProviderNow(cwd, sess, target);
4305
+ return { next: 'main' };
4306
+ }
4307
+
3991
4308
  if (cmd === 'resume' || cmd === 'r') {
3992
4309
  if (recentSessions.length === 0) return { next: 'new-session' };
3993
4310
  return { next: 'sessions' };
@@ -4312,10 +4629,7 @@ async function switchProviderScreen(rl, ask, ctx = {}) {
4312
4629
  }
4313
4630
  if (choice === 'b' || choice === 'q') return { next: 'main' };
4314
4631
 
4315
- setSessionResumeProvider(cwd, session, target, 'user-switch-now');
4316
- writeHandoffConversationLease(cwd, session, currentTool, target, brief);
4317
- markSessionSuperseded(cwd, session, target, 'manual-provider-switch');
4318
- await cmdSwitch([target, brief]);
4632
+ await switchProviderNow(cwd, session, target);
4319
4633
  return { next: 'main' };
4320
4634
  }
4321
4635
 
@@ -4854,6 +5168,10 @@ async function settingsScreen(rl, ask) {
4854
5168
  const sessionSettings = loadSessionSettings(cwd);
4855
5169
  const bypassPermissions = getEffectiveBypassPermissions(cwd);
4856
5170
  const conversationMode = getEffectiveConversationMode(profile, cwd);
5171
+ const intelligenceLevel = _getIntelligenceLevel(profile, sessionSettings);
5172
+ const intelligencePolicy = INTELLIGENCE_LEVELS[intelligenceLevel] || INTELLIGENCE_LEVELS[3];
5173
+ const gptHead = _headPolicyFor('codex', profile, sessionSettings);
5174
+ const claudeHead = _headPolicyFor('claude', profile, sessionSettings);
4857
5175
  const autoScope = typeof sessionSettings.automode === 'boolean' ? 'session' : 'default';
4858
5176
  const permissionScope = typeof sessionSettings.bypassPermissions === 'boolean' ? 'session' : 'default';
4859
5177
 
@@ -4896,6 +5214,15 @@ async function settingsScreen(rl, ask) {
4896
5214
  ` ${dot(_stIsFull)} ${_stIsFull ? BOLD : DIM}Full Power${RESET} dual-brain everything, max quality`,
4897
5215
  ];
4898
5216
 
5217
+ const intelTicks = [1, 2, 3, 4, 5].map(n => n === intelligenceLevel ? `${GREEN}${n}${RESET}` : `${DIM}${n}${RESET}`).join(' ');
5218
+ const intelLines = [
5219
+ ` ${DIM}Level${RESET} ${BOLD}${intelligenceLevel} · ${intelligencePolicy.name}${RESET}`,
5220
+ ` ${DIM}Good for${RESET} ${intelligencePolicy.tagline}`,
5221
+ ` ${DIM}Scale${RESET} ${intelTicks} ${DIM}Quick → Max${RESET}`,
5222
+ ` ${DIM}GPT HEAD${RESET} ${gptHead.model} (${gptHead.effort})`,
5223
+ ` ${DIM}Claude HEAD${RESET} ${claudeHead.model} (${claudeHead.effort})`,
5224
+ ];
5225
+
4899
5226
  // ── Conversation behavior ───────────────────────────────────────────────
4900
5227
  const autoMark = automode ? chk : xmark;
4901
5228
  const permMark = bypassPermissions ? `${RED}!${RESET}` : chk;
@@ -4986,6 +5313,12 @@ async function settingsScreen(rl, ask) {
4986
5313
  signalLine('info', `${DIM}[1-3] change${RESET}`),
4987
5314
  ];
4988
5315
 
5316
+ const intelContent = [
5317
+ ...intelLines.map(l => l.replace(/^ /, '')),
5318
+ '',
5319
+ signalLine('info', `${DIM}[4] Quick [5] Daily [6] Smart [7] Expert [8] Max${RESET}`),
5320
+ ];
5321
+
4989
5322
  const convContent = [
4990
5323
  ...convLines.map(l => l.replace(/^ /, '')),
4991
5324
  '',
@@ -5006,6 +5339,7 @@ async function settingsScreen(rl, ask) {
5006
5339
  process.stdout.write('\n');
5007
5340
  process.stdout.write(panel('Subscriptions', subsContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
5008
5341
  process.stdout.write(panel('Work style', wsContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
5342
+ process.stdout.write(panel('Intelligence', intelContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
5009
5343
  process.stdout.write(panel('Conversation', convContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
5010
5344
  process.stdout.write(panel('System', sysContent, { width: settingsPanelW, titleColor: CYAN }) + '\n\n');
5011
5345
  process.stdout.write(panel('Navigation', navContent, { width: settingsPanelW }) + '\n\n');
@@ -5032,6 +5366,21 @@ async function settingsScreen(rl, ask) {
5032
5366
  return { next: 'settings' };
5033
5367
  }
5034
5368
 
5369
+ if (['4', '5', '6', '7', '8'].includes(choice)) {
5370
+ const levelMap = { '4': 1, '5': 2, '6': 3, '7': 4, '8': 5 };
5371
+ const level = levelMap[choice];
5372
+ const settings = loadSessionSettings(cwd);
5373
+ settings.intelligenceLevel = level;
5374
+ delete settings.headModel;
5375
+ delete settings.effort;
5376
+ saveSessionSettings(cwd, settings);
5377
+ const policy = INTELLIGENCE_LEVELS[level] || INTELLIGENCE_LEVELS[3];
5378
+ process.stdout.write(`\n Intelligence: ${GREEN}${level} · ${policy.name}${RESET} ${DIM}(this session)${RESET}\n`);
5379
+ process.stdout.write(` ${DIM}${policy.tagline}${RESET}\n\n`);
5380
+ const reload = await offerRuntimeReloadAfterModeChange(cwd, ask, [], `Intelligence ${level}`);
5381
+ return reload?.next === 'main' ? { next: 'settings' } : reload;
5382
+ }
5383
+
5035
5384
  // Conversation behavior toggles
5036
5385
  if (choice === 'o') {
5037
5386
  const settings = loadSessionSettings(cwd);
@@ -7485,6 +7834,9 @@ async function main() {
7485
7834
 
7486
7835
  const args = process.argv.slice(2);
7487
7836
  const cmd = args[0];
7837
+ const isInteractive = process.stdin.isTTY;
7838
+
7839
+ await maybeAutoUpdateAndRelaunch(args, { cmd, isInteractive });
7488
7840
 
7489
7841
  // Session start marker — feeds routing advisor with cross-session timing signals
7490
7842
  try {
@@ -7495,9 +7847,6 @@ async function main() {
7495
7847
  if (cmd === '--help' || cmd === '-h') { printHelp(); return; }
7496
7848
  if (cmd === '--version' || cmd === '-v') { console.log(readVersion()); return; }
7497
7849
 
7498
- // Interactive-only commands: enter screen state machine (only when TTY)
7499
- const isInteractive = process.stdin.isTTY;
7500
-
7501
7850
  if (cmd === 'menu') {
7502
7851
  if (!isInteractive) {
7503
7852
  process.stderr.write('dual-brain menu requires an interactive terminal.\n');
@@ -7754,6 +8103,7 @@ async function main() {
7754
8103
  if (cmd === 'handoff') { await cmdHandoff(args.slice(1)); return; }
7755
8104
  if (cmd === 'switch') { await cmdSwitch(args.slice(1)); return; }
7756
8105
  if (cmd === 'runtime-switch') { await cmdRuntimeSwitch(args.slice(1)); return; }
8106
+ if (cmd === 'auto' || cmd === 'automode' || cmd === 'smart-auto') { await cmdAuto(args.slice(1)); return; }
7757
8107
  if (cmd === 'update' || cmd === 'upgrade') { await cmdUpdate(); return; }
7758
8108
  if (cmd === 'hot') { cmdHot(args[1]); return; }
7759
8109
  if (cmd === 'cool') { cmdCool(args[1]); return; }
@@ -7818,7 +8168,7 @@ fi
7818
8168
  // If cmd is not a recognized subcommand, treat the entire arg list as a task.
7819
8169
  // e.g. `dual-brain fix failing tests` → same as `dual-brain go "fix failing tests"`
7820
8170
  const KNOWN_COMMANDS = new Set([
7821
- 'menu', 'init', 'install', 'uninstall', 'auth', 'go', 'do', 'plan', 'ship', 'think', 'review', 'pr', 'status', 'handoff', 'switch', 'runtime-switch', 'hot', 'cool',
8171
+ 'menu', 'init', 'install', 'uninstall', 'auth', 'go', 'do', 'plan', 'ship', 'think', 'review', 'pr', 'status', 'handoff', 'switch', 'runtime-switch', 'auto', 'automode', 'smart-auto', 'hot', 'cool',
7822
8172
  'remember', 'forget', 'break-glass', 'specialists', 'search', 'shell-hook', 'watch', 'update', 'upgrade',
7823
8173
  '--help', '-h', '--version', '-v',
7824
8174
  ...Object.keys(loadSpecialistRegistry()),
@@ -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[];
@@ -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 openaiHead = rankOpenAIModels(available.openai, mode === 'cost-saver' ? 'search' : 'head')[0];
227
- const claudeHead = mode === 'quality-first' && available.claude.includes('opus') ? 'opus' :
228
- available.claude.includes('sonnet') ? 'sonnet' :
229
- available.claude.includes('default') ? 'default' :
230
- available.claude[0];
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} is the strongest available GPT head candidate from the local Codex catalog; keep Claude available for comparison and failover.`,
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} is the best Claude Code head alias available locally; use GPT as the secondary execution/review brain.`,
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
  }
@@ -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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"}
@@ -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;
@@ -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' ? 'gpt-4o' : 'sonnet';
504
- // Both available — default to Claude (we're running in Claude Code)
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)
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dual-brain",
3
- "version": "0.3.27",
3
+ "version": "0.3.29",
4
4
  "description": "AI orchestration across Claude + OpenAI subscriptions — smart routing, budget awareness, and dual-brain collaboration",
5
5
  "type": "module",
6
6
  "bin": {