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.
@@ -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 ['--sandbox', 'workspace-write', '--ask-for-approval', 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
+ ];
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 sess = sessions[0];
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 settings = loadSessionSettings(cwd);
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
- saveSessionSettings(cwd, settings);
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: getEffectiveAutomode(profile, cwd),
1366
- bypassPermissions: getEffectiveBypassPermissions(cwd),
1367
- model: settings.headModel || null,
1368
- effort: settings.effort || null,
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 = candidates[0] || null;
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} will apply to the next session you launch through dual-brain.\n\n`);
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 launchArgs = _sessionLaunchArgs(sess, cwd);
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
- automode: getEffectiveAutomode(loadProfile(cwd), cwd),
2321
- bypassPermissions: getEffectiveBypassPermissions(cwd),
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 will apply on the next dual-brain resume/switch.\n\n');
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
- automode: getEffectiveAutomode(loadProfile(cwd), cwd),
2335
- bypassPermissions: getEffectiveBypassPermissions(cwd),
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
- '--sandbox', 'workspace-write',
2403
- '--ask-for-approval', pending?.automode ? 'never' : 'on-request',
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
- writeHandoffConversationLease(cwd, sess, currentTool, targetTool, pending.handoffBrief || _sessionBrief(sess, targetTool));
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 cmdSwitch([targetTool, pending.handoffBrief || _sessionBrief(sess, targetTool)]);
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
- spawnSync(targetTool, launchArgs, { stdio: 'inherit', cwd, env });
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
- spawnSync(tool, launchArgs, { stdio: 'inherit' });
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
- const tool = _sessionTool(sess);
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
- const { spawnSync } = await import('node:child_process');
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()),
@@ -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.26",
3
+ "version": "0.3.28",
4
4
  "description": "AI orchestration across Claude + OpenAI subscriptions — smart routing, budget awareness, and dual-brain collaboration",
5
5
  "type": "module",
6
6
  "bin": {