dual-brain 0.3.11 → 0.3.12

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.
@@ -8,9 +8,15 @@ interface DetectedEnvironment {
8
8
  }
9
9
  interface SetupAnswers {
10
10
  subscription?: string;
11
+ subscriptionCapacity?: SubscriptionCapacity;
11
12
  workStyle?: string;
12
13
  advanced?: AdvancedOptions;
13
14
  setupMode?: string;
15
+ shellDefault?: boolean;
16
+ }
17
+ interface SubscriptionCapacity {
18
+ raw: string;
19
+ counts: Record<string, number>;
14
20
  }
15
21
  interface AdvancedOptions {
16
22
  thinkEnabled?: boolean;
@@ -24,6 +30,7 @@ interface AdvancedOptions {
24
30
  interface SetupConfig {
25
31
  version: number;
26
32
  subscription: string;
33
+ subscriptionCapacity?: SubscriptionCapacity;
27
34
  workStyle: string;
28
35
  providers: {
29
36
  claude: boolean;
@@ -42,6 +49,7 @@ interface SetupConfig {
42
49
  };
43
50
  configuredAt: string;
44
51
  setupMode: string;
52
+ shellDefault: boolean;
45
53
  detectedEnv: {
46
54
  claude: boolean;
47
55
  codex: boolean;
@@ -69,6 +69,15 @@ const SUB_LABELS = {
69
69
  'claude-pro': 'Claude Pro', 'claude-max-5x': 'Claude Max 5x',
70
70
  'claude-max-20x': 'Claude Max 20x', 'chatgpt-plus': 'ChatGPT Plus',
71
71
  'chatgpt-pro': 'ChatGPT Pro', 'dual-pro': 'Both Pro tiers', 'dual-max': 'Max + Pro tiers',
72
+ 'auto-detected': 'Auto-detected providers',
73
+ 'declared-capacity': 'Declared subscription capacity',
74
+ };
75
+ const CAPACITY_LABELS = {
76
+ claudePro: 'Claude Pro $20',
77
+ claudeMax5x: 'Claude Max $100',
78
+ claudeMax20x: 'Claude Max $200',
79
+ chatgptPlus: 'ChatGPT Plus $20',
80
+ chatgptPro: 'ChatGPT Pro $200',
72
81
  };
73
82
  // ── Confirmation display ──────────────────────────────────────────────────────
74
83
  export function renderConfirmation(config) {
@@ -76,23 +85,29 @@ export function renderConfirmation(config) {
76
85
  return [
77
86
  '', c.bold(' Configuration:'), '',
78
87
  row('Subscription:', SUB_LABELS[config.subscription] || config.subscription),
88
+ config.subscriptionCapacity ? row('Capacity:', formatCapacity(config.subscriptionCapacity)) : '',
79
89
  row('Work style:', config.workStyle),
80
90
  row('Primary model:', config.models.execute),
81
91
  row('Think agent:', config.routing.thinkEnabled ? 'enabled' : 'disabled'),
82
92
  row('Learning:', config.routing.learningEnabled ? 'on' : 'off'),
93
+ row('Shell default:', config.shellDefault ? 'dual-brain' : 'leave current shell menu'),
83
94
  '',
84
95
  ].join('\n');
85
96
  }
86
97
  // ── Config builder ────────────────────────────────────────────────────────────
87
98
  export function buildConfig(answers, detected) {
88
- const { subscription = 'claude-pro', workStyle = 'balanced', advanced = {}, setupMode = 'quick' } = answers;
99
+ const { subscription = 'auto-detected', subscriptionCapacity, workStyle = 'balanced', advanced = {}, setupMode = 'quick', shellDefault = true } = answers;
89
100
  const dual = subscription.startsWith('dual-');
90
101
  const isMax = subscription.includes('max') || subscription === 'chatgpt-pro';
91
102
  const topModel = isMax ? 'opus' : 'sonnet';
92
103
  const exploreRate = { aggressive: 0.3, conservative: 0.1, auto: 0.25 }[workStyle] ?? 0.2;
104
+ const capacityProviders = providersFromCapacity(subscriptionCapacity);
93
105
  return {
94
- version: 1, subscription, workStyle,
95
- providers: { claude: subscription.startsWith('claude-') || dual, openai: subscription.startsWith('chatgpt-') || dual },
106
+ version: 1, subscription, subscriptionCapacity, workStyle,
107
+ providers: {
108
+ claude: capacityProviders.claude || subscription.startsWith('claude-') || dual || (subscription === 'auto-detected' && detected.claude),
109
+ openai: capacityProviders.openai || subscription.startsWith('chatgpt-') || dual || (subscription === 'auto-detected' && detected.codex),
110
+ },
96
111
  routing: {
97
112
  thinkEnabled: advanced.thinkEnabled ?? true,
98
113
  cascadeEnabled: advanced.cascadeEnabled ?? true,
@@ -103,6 +118,7 @@ export function buildConfig(answers, detected) {
103
118
  budget: { sessionLimitTokens: advanced.sessionLimitTokens ?? null, warnAtPercent: advanced.warnAtPercent ?? 80 },
104
119
  configuredAt: new Date().toISOString(),
105
120
  setupMode,
121
+ shellDefault,
106
122
  detectedEnv: { claude: detected.claude, codex: detected.codex, language: detected.language },
107
123
  };
108
124
  }
@@ -112,6 +128,11 @@ export function saveConfig(config, cwd) {
112
128
  if (!existsSync(dir))
113
129
  mkdirSync(dir, { recursive: true });
114
130
  writeFileSync(join(dir, 'config.json'), JSON.stringify(config, null, 2), 'utf8');
131
+ writeFileSync(join(dir, 'subscription.json'), JSON.stringify({
132
+ subscription: config.subscription,
133
+ capacity: config.subscriptionCapacity || null,
134
+ configuredAt: config.configuredAt,
135
+ }, null, 2), 'utf8');
115
136
  const orchPath = join(cwd, '.claude', 'orchestrator.json');
116
137
  if (existsSync(orchPath)) {
117
138
  try {
@@ -153,6 +174,45 @@ async function askYN(rl, question, defaultYes = true) {
153
174
  });
154
175
  });
155
176
  }
177
+ async function askLine(rl, question, hint) {
178
+ return new Promise(resolve => {
179
+ rl.question(`\n${c.bold(question)}\n${c.dim(hint)}\n${c.dim('> ')}`, answer => resolve(answer.trim()));
180
+ });
181
+ }
182
+ function parseCapacity(input) {
183
+ const raw = input.trim();
184
+ if (!raw)
185
+ return undefined;
186
+ const counts = {};
187
+ const aliases = {
188
+ 'claude-pro': 'claudePro', 'claude20': 'claudePro', 'c20': 'claudePro', 'cp': 'claudePro',
189
+ 'claude-max': 'claudeMax5x', 'claude-max-5x': 'claudeMax5x', 'claude100': 'claudeMax5x', 'c100': 'claudeMax5x', 'cm5': 'claudeMax5x',
190
+ 'claude-max-20x': 'claudeMax20x', 'claude200': 'claudeMax20x', 'c200': 'claudeMax20x', 'cm20': 'claudeMax20x',
191
+ 'chatgpt-plus': 'chatgptPlus', 'gpt-plus': 'chatgptPlus', 'openai20': 'chatgptPlus', 'gpt20': 'chatgptPlus', 'g20': 'chatgptPlus',
192
+ 'chatgpt-pro': 'chatgptPro', 'gpt-pro': 'chatgptPro', 'openai200': 'chatgptPro', 'gpt200': 'chatgptPro', 'g200': 'chatgptPro',
193
+ };
194
+ for (const match of raw.matchAll(/([a-z0-9$-]+)\s*(?:=|x|\*)\s*(\d+)/gi)) {
195
+ const key = match[1].toLowerCase();
196
+ const count = Math.max(0, parseInt(match[2], 10) || 0);
197
+ const mapped = aliases[key] || (key === '$100' ? 'claudeMax5x' : key === '$200' ? 'chatgptPro' : key === '$20' ? 'chatgptPlus' : '');
198
+ if (mapped && count)
199
+ counts[mapped] = (counts[mapped] || 0) + count;
200
+ }
201
+ return { raw, counts };
202
+ }
203
+ function formatCapacity(capacity) {
204
+ const parts = Object.entries(capacity.counts)
205
+ .filter(([, count]) => count > 0)
206
+ .map(([key, count]) => `${CAPACITY_LABELS[key] || key} x${count}`);
207
+ return parts.length ? parts.join(', ') : capacity.raw;
208
+ }
209
+ function providersFromCapacity(capacity) {
210
+ const counts = capacity?.counts || {};
211
+ return {
212
+ claude: !!(counts.claudePro || counts.claudeMax5x || counts.claudeMax20x),
213
+ openai: !!(counts.chatgptPlus || counts.chatgptPro),
214
+ };
215
+ }
156
216
  // ── Main entry point ──────────────────────────────────────────────────────────
157
217
  export async function runSetup(cwd, options = {}) {
158
218
  const detected = detectEnvironment(cwd);
@@ -186,21 +246,16 @@ export async function runSetup(cwd, options = {}) {
186
246
  { label: 'Quick setup', value: 'quick', description: '3 questions, ~20 seconds' },
187
247
  { label: 'Advanced', value: 'advanced', description: 'full control over routing, budgets, models' },
188
248
  ]);
189
- const subscription = await ask(rl, 'Your AI subscription:', [
190
- { label: 'Claude Pro ($20/mo)', value: 'claude-pro' },
191
- { label: 'Claude Max 5x ($100/mo)', value: 'claude-max-5x' },
192
- { label: 'Claude Max 20x ($200/mo)', value: 'claude-max-20x' },
193
- { label: 'ChatGPT Plus ($20/mo)', value: 'chatgpt-plus' },
194
- { label: 'ChatGPT Pro ($200/mo)', value: 'chatgpt-pro' },
195
- { label: 'Both providers (Pro tiers)', value: 'dual-pro' },
196
- { label: 'Both providers (Max tiers)', value: 'dual-max' },
197
- ]);
249
+ const capacityRaw = await askLine(rl, 'Subscription capacity (optional):', 'Press Enter for auto-detected providers, or enter counts like: claude100x3 gpt20x2 gpt200x1');
250
+ const subscriptionCapacity = parseCapacity(capacityRaw);
251
+ const subscription = subscriptionCapacity ? 'declared-capacity' : 'auto-detected';
198
252
  const workStyle = await ask(rl, 'How should dual-brain route your work?', [
199
253
  { label: 'Balanced', value: 'balanced', description: 'smart defaults, asks before expensive ops' },
200
254
  { label: 'Conservative', value: 'conservative', description: 'minimize tokens, prefer cheaper models' },
201
255
  { label: 'Aggressive', value: 'aggressive', description: 'best model available, maximize quality' },
202
256
  { label: 'Full auto', value: 'auto', description: 'never ask, optimize silently' },
203
257
  ]);
258
+ const shellDefault = await askYN(rl, 'Make dual-brain the default shell menu on new terminals?', true);
204
259
  let advanced = {};
205
260
  if (mode === 'advanced') {
206
261
  const thinkEnabled = await askYN(rl, 'Enable think agent?', true);
@@ -213,7 +268,7 @@ export async function runSetup(cwd, options = {}) {
213
268
  ]);
214
269
  advanced = { thinkEnabled, cascadeEnabled, learningEnabled, explorationRate };
215
270
  }
216
- const config = buildConfig({ subscription, workStyle, advanced, setupMode: mode }, detected);
271
+ const config = buildConfig({ subscription, subscriptionCapacity, workStyle, advanced, setupMode: mode, shellDefault }, detected);
217
272
  console.log(renderConfirmation(config));
218
273
  if (!await askYN(rl, 'Save and start?', true)) {
219
274
  console.log('\n' + c.yellow('Setup cancelled.') + '\n');
@@ -1 +1 @@
1
- {"version":3,"file":"setup-flow.js","sourceRoot":"","sources":["../../src/setup-flow.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,eAAe,EAAa,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,iFAAiF;AACjF,MAAM,CAAC,GAAG;IACR,IAAI,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;IAC3C,GAAG,EAAK,CAAC,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS;IAC3C,KAAK,EAAG,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC5C,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC5C,IAAI,EAAI,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;IAC5C,GAAG,EAAK,CAAC,CAAS,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS;CAC7C,CAAC;AA4DF,iFAAiF;AACjF,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,MAAM,GAAG,CAAC,GAAW,EAAW,EAAE,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC;IAE5H,IAAI,QAAQ,GAAG,SAAS,CAAC;IACzB,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAAO,QAAQ,GAAG,MAAM,CAAC;SAC7D,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACvC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAAO,QAAQ,GAAG,QAAQ,CAAC;SAChE,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAAS,QAAQ,GAAG,IAAI,CAAC;SAC5D,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QAAK,QAAQ,GAAG,MAAM,CAAC;SAC9D,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAAQ,QAAQ,GAAG,MAAM,CAAC;IAEnE,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,CAAC;QAAC,SAAS,GAAG,QAAQ,CAAC,UAAU,GAAG,GAAG,GAAG,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEzH,OAAO;QACL,MAAM,EAAU,MAAM,CAAC,kBAAkB,CAAC;QAC1C,KAAK,EAAW,MAAM,CAAC,iBAAiB,CAAC;QACzC,GAAG,EAAa,CAAC,CAAC,SAAS;QAC3B,SAAS,EAAO,SAAS,IAAI,IAAI;QACjC,QAAQ;QACR,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;KACnE,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,QAA6B;IACzD,MAAM,GAAG,GAAG,CAAC,EAAW,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACvJ,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,OAAO;QACL,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;QAClC,GAAG,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,oCAAoC,CAAC;QACnE,GAAG,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,cAAc,CAAC;QACnB,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC;QAC5C,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAG,qBAAqB,CAAC;QAC3C,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAK,mBAAmB,QAAQ,CAAC,SAAS,IAAI,WAAW,UAAU,CAAC;QACpF,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,GAAG,QAAQ,CAAC,QAAQ,UAAU,CAAC;QACpE,GAAG,CAAC,EAAE,CAAC;QACP,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;KACnC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,GAA2B;IACzC,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe;IAC5D,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc;IAClE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,iBAAiB;CAC1F,CAAC;AAEF,iFAAiF;AACjF,MAAM,UAAU,kBAAkB,CAAC,MAAmB;IACpD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE;QAClC,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC;QAC5E,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,SAAS,CAAC;QACpC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;QAC5C,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QACzE,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,WAAW,CAAC,OAAqB,EAAE,QAA6B;IAC9E,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,SAAS,GAAG,UAAU,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5G,MAAM,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,KAAK,aAAa,CAAC;IAC7E,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC3C,MAAM,WAAW,GAAI,EAAE,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAA6B,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;IACrH,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS;QACnC,SAAS,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,IAAI,EAAE;QACtH,OAAO,EAAE;YACP,YAAY,EAAK,QAAQ,CAAC,YAAY,IAAO,IAAI;YACjD,cAAc,EAAG,QAAQ,CAAC,cAAc,IAAK,IAAI;YACjD,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,IAAI;YACjD,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,WAAW;SACzD;QACD,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;QACpG,MAAM,EAAE,EAAE,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB,IAAI,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE;QAChH,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,SAAS;QACT,WAAW,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;KAC7F,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,MAAmB,EAAE,GAAW;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;IAC3D,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;YAClI,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC/F,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAClF,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACjE,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,KAAK,UAAU,GAAG,CAAC,EAAa,EAAE,QAAgB,EAAE,OAAqB;IACvE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvI,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;IAC5E,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,OAAO,CAAC,MAAM;gBAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;;gBAC7D,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,KAAK,CAAC,EAAa,EAAE,QAAgB,EAAE,UAAU,GAAG,IAAI;IACrE,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QAC3B,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE;YACtF,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC;gBAAE,OAAO,CAAC,UAAU,CAAC,CAAC;;gBACvB,OAAO,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW,EAAE,UAAwB,EAAE;IACpE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAExC,8CAA8C;IAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;QACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+FAA+F,CAAC,CAAC;QACtH,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC5F,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,4BAA4B;IAC5B,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,WAAW,CAAC;YACzB,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,YAAY;YAClD,SAAS,EAAK,OAAO,CAAC,SAAS,IAAO,UAAU;YAChD,SAAS,EAAK,iBAAiB;SAChC,EAAE,QAAQ,CAAC,CAAC;QACb,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,mCAAmC,CAAC,GAAG,2CAA2C,CAAC,CAAC;QAChH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;IAEnD,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAE/B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE;YACxC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAK,WAAW,EAAE,0BAA0B,EAAE;YACpF,EAAE,KAAK,EAAE,UAAU,EAAK,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,4CAA4C,EAAE;SACvG,CAAW,CAAC;QACb,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,uBAAuB,EAAE;YAC1D,EAAE,KAAK,EAAE,qBAAqB,EAAS,KAAK,EAAE,YAAY,EAAE;YAC5D,EAAE,KAAK,EAAE,yBAAyB,EAAK,KAAK,EAAE,eAAe,EAAE;YAC/D,EAAE,KAAK,EAAE,0BAA0B,EAAI,KAAK,EAAE,gBAAgB,EAAE;YAChE,EAAE,KAAK,EAAE,uBAAuB,EAAO,KAAK,EAAE,cAAc,EAAE;YAC9D,EAAE,KAAK,EAAE,uBAAuB,EAAO,KAAK,EAAE,aAAa,EAAE;YAC7D,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,UAAU,EAAE;YAC1D,EAAE,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,UAAU,EAAE;SAC3D,CAAW,CAAC;QACb,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,wCAAwC,EAAE;YACxE,EAAE,KAAK,EAAE,UAAU,EAAM,KAAK,EAAE,UAAU,EAAM,WAAW,EAAE,2CAA2C,EAAE;YAC1G,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,wCAAwC,EAAE;YACvG,EAAE,KAAK,EAAE,YAAY,EAAI,KAAK,EAAE,YAAY,EAAI,WAAW,EAAE,wCAAwC,EAAE;YACvG,EAAE,KAAK,EAAE,WAAW,EAAK,KAAK,EAAE,MAAM,EAAU,WAAW,EAAE,8BAA8B,EAAE;SAC9F,CAAW,CAAC;QACb,IAAI,QAAQ,GAAoB,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,MAAM,YAAY,GAAM,MAAM,KAAK,CAAC,EAAE,EAAE,qBAAqB,EAAE,IAAI,CAAC,CAAC;YACrE,MAAM,cAAc,GAAI,MAAM,KAAK,CAAC,EAAE,EAAE,yBAAyB,EAAE,IAAI,CAAC,CAAC;YACzE,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,EAAE,EAAE,+CAA+C,EAAE,IAAI,CAAC,CAAC;YAC/F,MAAM,eAAe,GAAG,MAAM,GAAG,CAAC,EAAE,EAAE,2BAA2B,EAAE;gBACjE,EAAE,KAAK,EAAE,WAAW,EAAK,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,yBAAyB,EAAE;gBAC7E,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,UAAU,EAAE;gBAC9D,EAAE,KAAK,EAAE,YAAY,EAAI,KAAK,EAAE,GAAG,EAAE,WAAW,EAAE,kCAAkC,EAAE;aACvF,CAAW,CAAC;YACb,QAAQ,GAAG,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;QAChF,CAAC;QACD,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC7F,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,CAAC;YACxD,KAAK,EAAE,CAAC;YAAC,OAAO,IAAI,CAAC;QACvB,CAAC;QACD,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1I,KAAK,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC;IACzB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QAAC,KAAK,EAAE,CAAC;QAAC,MAAM,GAAG,CAAC;IAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"setup-flow.js","sourceRoot":"","sources":["../../src/setup-flow.ts"],"names":[],"mappings":"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"}
package/install.mjs CHANGED
@@ -1020,6 +1020,54 @@ function printReport(env, mode, actions, isDryRun, { skipBanner = false } = {})
1020
1020
  nl();
1021
1021
  }
1022
1022
 
1023
+ function loadDualBrainConfig(workspace) {
1024
+ try {
1025
+ const p = join(workspace, '.dualbrain', 'config.json');
1026
+ if (!existsSync(p)) return null;
1027
+ return JSON.parse(readFileSync(p, 'utf8'));
1028
+ } catch {
1029
+ return null;
1030
+ }
1031
+ }
1032
+
1033
+ function installDefaultShellLauncher(workspace, actions) {
1034
+ const cfg = loadDualBrainConfig(workspace);
1035
+ if (!cfg?.shellDefault) return;
1036
+
1037
+ const bashrcPath = join(workspace, '.config', 'bashrc');
1038
+ if (!existsSync(bashrcPath)) {
1039
+ actions.push('⊘ default shell launcher (.config/bashrc not found)');
1040
+ return;
1041
+ }
1042
+
1043
+ const start = '# >>> dual-brain default launcher >>>';
1044
+ const end = '# <<< dual-brain default launcher <<<';
1045
+ const block = [
1046
+ start,
1047
+ '# Added by dual-brain install. Set DUAL_BRAIN_SKIP=1 to bypass.',
1048
+ 'export CLAUDE_NO_PROMPT=true',
1049
+ 'if [ -t 1 ] && [ -z "${DUAL_BRAIN_LOADED}" ] && [ -z "${DUAL_BRAIN_SKIP}" ]; then',
1050
+ ' export DUAL_BRAIN_LOADED=1',
1051
+ ' command -v dual-brain >/dev/null 2>&1 && dual-brain',
1052
+ 'fi',
1053
+ end,
1054
+ ].join('\n');
1055
+
1056
+ try {
1057
+ let src = readFileSync(bashrcPath, 'utf8');
1058
+ const esc = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1059
+ const existing = new RegExp(`${esc(start)}[\\s\\S]*?${esc(end)}\\n?`, 'm');
1060
+ src = src.replace(existing, '');
1061
+ const marker = '# Auto-show menu on shell start';
1062
+ if (src.includes(marker)) src = src.replace(marker, `${block}\n\n${marker}`);
1063
+ else src = `${src.replace(/\s*$/, '\n\n')}${block}\n`;
1064
+ writeFileSync(bashrcPath, src, 'utf8');
1065
+ actions.push('✓ dual-brain default shell launcher (.config/bashrc)');
1066
+ } catch {
1067
+ actions.push('⊘ default shell launcher (could not update .config/bashrc)');
1068
+ }
1069
+ }
1070
+
1023
1071
  // ─── Profile System ────────────────────────────────────────────────────────
1024
1072
 
1025
1073
  const PROFILE_FILE_REL = '.claude/dual-brain.profile.json';
@@ -1626,6 +1674,8 @@ async function main() {
1626
1674
  }
1627
1675
  }
1628
1676
 
1677
+ installDefaultShellLauncher(env.workspace, actions);
1678
+
1629
1679
  nl();
1630
1680
  await celebrate('Setup complete');
1631
1681
  nl();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dual-brain",
3
- "version": "0.3.11",
3
+ "version": "0.3.12",
4
4
  "description": "AI orchestration across Claude + OpenAI subscriptions — smart routing, budget awareness, and dual-brain collaboration",
5
5
  "type": "module",
6
6
  "bin": {