dual-brain 0.3.3 → 0.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/dual-brain.mjs +36 -40
- package/dist/src/auto-handoff.d.ts +10 -0
- package/dist/src/auto-handoff.js +64 -10
- package/dist/src/auto-handoff.js.map +1 -1
- package/package.json +1 -1
package/bin/dual-brain.mjs
CHANGED
|
@@ -297,6 +297,7 @@ Commands:
|
|
|
297
297
|
handoff Cross-provider switch (auto-detect limited provider)
|
|
298
298
|
--to claude|codex Force handoff to a specific provider
|
|
299
299
|
--show Show current handoff context without switching
|
|
300
|
+
switch claude|codex Force switch to a provider
|
|
300
301
|
think "question" Multi-round architecture decision with dual-brain
|
|
301
302
|
pr Show PR status for current branch
|
|
302
303
|
pr create Create PR from current branch with auto-generated description
|
|
@@ -1178,61 +1179,55 @@ async function cmdHandoff(args = []) {
|
|
|
1178
1179
|
return;
|
|
1179
1180
|
}
|
|
1180
1181
|
|
|
1181
|
-
//
|
|
1182
|
-
const limitStatus = detectLimitReached(cwd);
|
|
1183
|
-
const ux = getHandoffUX(limitStatus, toProvider || null);
|
|
1184
|
-
|
|
1185
|
-
// Display UX message
|
|
1186
|
-
if (ux.title) console.log(box(ux.title));
|
|
1187
|
-
if (ux.message) {
|
|
1188
|
-
console.log('');
|
|
1189
|
-
fxH.info(ux.message);
|
|
1190
|
-
}
|
|
1191
|
-
if (ux.detail) {
|
|
1192
|
-
fxH.dim(ux.detail);
|
|
1193
|
-
}
|
|
1194
|
-
console.log('');
|
|
1195
|
-
|
|
1196
|
-
// If --to is specified, force handoff regardless of limit status
|
|
1182
|
+
// If --to is specified, force switch regardless of limit status
|
|
1197
1183
|
if (toProvider) {
|
|
1198
1184
|
const target = toProvider.toLowerCase();
|
|
1199
1185
|
if (target !== 'claude' && target !== 'codex') {
|
|
1200
1186
|
err('--to must be "claude" or "codex"');
|
|
1201
1187
|
}
|
|
1202
|
-
const
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
} else {
|
|
1210
|
-
fxH.error(result.error || `Handoff to ${target} failed.`);
|
|
1188
|
+
const fromProvider = target === 'codex' ? 'anthropic' : 'openai';
|
|
1189
|
+
console.log(` ⚡ Switching to ${target}...`);
|
|
1190
|
+
console.log('');
|
|
1191
|
+
const { spawnHandoff } = autoHandoff;
|
|
1192
|
+
const result = spawnHandoff({ fromProvider, cwd, auto: true, force: true, interactive: true });
|
|
1193
|
+
if (!result.success) {
|
|
1194
|
+
fxH.error(result.message);
|
|
1211
1195
|
}
|
|
1212
1196
|
return;
|
|
1213
1197
|
}
|
|
1214
1198
|
|
|
1215
|
-
// Auto-detect:
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1199
|
+
// Auto-detect: check both providers, switch if one is limited
|
|
1200
|
+
const anthropicStatus = detectLimitReached('anthropic', cwd);
|
|
1201
|
+
const openaiStatus = detectLimitReached('openai', cwd);
|
|
1202
|
+
|
|
1203
|
+
if (anthropicStatus.limited && anthropicStatus.otherAvailable) {
|
|
1204
|
+
const ux = getHandoffUX(anthropicStatus);
|
|
1205
|
+
fxH.info(ux.text);
|
|
1219
1206
|
console.log('');
|
|
1220
|
-
const
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
}
|
|
1228
|
-
|
|
1229
|
-
|
|
1207
|
+
const { spawnHandoff } = autoHandoff;
|
|
1208
|
+
const result = spawnHandoff({ fromProvider: 'anthropic', cwd, auto: true, interactive: true });
|
|
1209
|
+
if (!result.success) fxH.error(result.message);
|
|
1210
|
+
} else if (openaiStatus.limited && openaiStatus.otherAvailable) {
|
|
1211
|
+
const ux = getHandoffUX(openaiStatus);
|
|
1212
|
+
fxH.info(ux.text);
|
|
1213
|
+
console.log('');
|
|
1214
|
+
const { spawnHandoff } = autoHandoff;
|
|
1215
|
+
const result = spawnHandoff({ fromProvider: 'openai', cwd, auto: true, interactive: true });
|
|
1216
|
+
if (!result.success) fxH.error(result.message);
|
|
1230
1217
|
} else {
|
|
1231
1218
|
fxH.success('No provider is currently limited. No handoff needed.');
|
|
1232
1219
|
fxH.dim('Use --to claude or --to codex to force a switch.');
|
|
1233
1220
|
}
|
|
1234
1221
|
}
|
|
1235
1222
|
|
|
1223
|
+
async function cmdSwitch(args = []) {
|
|
1224
|
+
const target = args[0];
|
|
1225
|
+
if (!target || !['claude', 'codex'].includes(target.toLowerCase())) {
|
|
1226
|
+
err('Usage: dual-brain switch <claude|codex>');
|
|
1227
|
+
}
|
|
1228
|
+
await cmdHandoff(['--to', target.toLowerCase()]);
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1236
1231
|
function cmdHot(providerArg) {
|
|
1237
1232
|
if (!providerArg) err('Usage: dual-brain hot <provider> (claude | openai)');
|
|
1238
1233
|
const provider = providerArg.toLowerCase();
|
|
@@ -6865,6 +6860,7 @@ async function main() {
|
|
|
6865
6860
|
if (cmd === 'pr') { await cmdPR(args.slice(1)); return; }
|
|
6866
6861
|
if (cmd === 'status') { await cmdStatus(args.slice(1)); return; }
|
|
6867
6862
|
if (cmd === 'handoff') { await cmdHandoff(args.slice(1)); return; }
|
|
6863
|
+
if (cmd === 'switch') { await cmdSwitch(args.slice(1)); return; }
|
|
6868
6864
|
if (cmd === 'hot') { cmdHot(args[1]); return; }
|
|
6869
6865
|
if (cmd === 'cool') { cmdCool(args[1]); return; }
|
|
6870
6866
|
if (cmd === 'remember') { cmdRemember(args[1]); return; }
|
|
@@ -6928,7 +6924,7 @@ fi
|
|
|
6928
6924
|
// If cmd is not a recognized subcommand, treat the entire arg list as a task.
|
|
6929
6925
|
// e.g. `dual-brain fix failing tests` → same as `dual-brain go "fix failing tests"`
|
|
6930
6926
|
const KNOWN_COMMANDS = new Set([
|
|
6931
|
-
'init', 'install', 'uninstall', 'auth', 'go', 'do', 'plan', 'ship', 'think', 'review', 'pr', 'status', 'handoff', 'hot', 'cool',
|
|
6927
|
+
'init', 'install', 'uninstall', 'auth', 'go', 'do', 'plan', 'ship', 'think', 'review', 'pr', 'status', 'handoff', 'switch', 'hot', 'cool',
|
|
6932
6928
|
'remember', 'forget', 'break-glass', 'specialists', 'search', 'shell-hook', 'watch',
|
|
6933
6929
|
'--help', '-h', '--version', '-v',
|
|
6934
6930
|
...Object.keys(loadSpecialistRegistry()),
|
|
@@ -27,6 +27,7 @@ export interface HandoffOpts {
|
|
|
27
27
|
fromProvider: string;
|
|
28
28
|
cwd?: string;
|
|
29
29
|
auto?: boolean;
|
|
30
|
+
force?: boolean;
|
|
30
31
|
}
|
|
31
32
|
export interface HandoffResult {
|
|
32
33
|
success: boolean;
|
|
@@ -62,6 +63,15 @@ export declare function buildHandoffPrompt(context: HandoffContext): string;
|
|
|
62
63
|
* Does NOT actually spawn the process (caller decides).
|
|
63
64
|
*/
|
|
64
65
|
export declare function executeHandoff(opts: HandoffOpts): HandoffResult;
|
|
66
|
+
/**
|
|
67
|
+
* Seamlessly spawn the other provider CLI with handoff context.
|
|
68
|
+
* Replaces the current process — user stays in the same terminal,
|
|
69
|
+
* conversation continues with the new provider.
|
|
70
|
+
*/
|
|
71
|
+
export declare function spawnHandoff(opts: HandoffOpts & {
|
|
72
|
+
interactive?: boolean;
|
|
73
|
+
force?: boolean;
|
|
74
|
+
}): HandoffResult;
|
|
65
75
|
/**
|
|
66
76
|
* Return the user-facing message for a rate limit situation.
|
|
67
77
|
*/
|
package/dist/src/auto-handoff.js
CHANGED
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* When one provider hits its rate limit, this module exports the conversation
|
|
5
5
|
* context and switches to the other provider seamlessly.
|
|
6
6
|
*/
|
|
7
|
-
import { existsSync, mkdirSync, readFileSync } from 'node:fs';
|
|
7
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
8
8
|
import { join } from 'node:path';
|
|
9
|
-
import {
|
|
9
|
+
import { spawn } from 'node:child_process';
|
|
10
|
+
import { atomicWriteJson, readJsonSafe } from './integrity.js';
|
|
10
11
|
import { getProviderState } from './provider-manager.js';
|
|
11
12
|
import { loadSession } from './session.js';
|
|
12
13
|
// ─── Constants ──────────────────────────────────────────────────────────────
|
|
@@ -217,16 +218,18 @@ export function buildHandoffPrompt(context) {
|
|
|
217
218
|
*/
|
|
218
219
|
export function executeHandoff(opts) {
|
|
219
220
|
try {
|
|
220
|
-
const { fromProvider, cwd, auto } = opts;
|
|
221
|
+
const { fromProvider, cwd, auto, force } = opts;
|
|
221
222
|
const normalized = normalizeProvider(fromProvider);
|
|
222
223
|
const other = OTHER_PROVIDER[normalized] || (normalized === 'anthropic' ? 'openai' : 'anthropic');
|
|
223
|
-
// Check that the other provider is available
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
224
|
+
// Check that the other provider is available (skip if forced)
|
|
225
|
+
if (!force) {
|
|
226
|
+
const otherState = getProviderState(other, cwd);
|
|
227
|
+
if (otherState.status === 'rate-limited' || otherState.status === 'down') {
|
|
228
|
+
return {
|
|
229
|
+
success: false,
|
|
230
|
+
message: `Cannot handoff: ${other} is also ${otherState.status}. Both providers unavailable.`,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
230
233
|
}
|
|
231
234
|
// Export session context
|
|
232
235
|
const context = exportSessionContext(cwd);
|
|
@@ -263,6 +266,57 @@ export function executeHandoff(opts) {
|
|
|
263
266
|
};
|
|
264
267
|
}
|
|
265
268
|
}
|
|
269
|
+
/**
|
|
270
|
+
* Seamlessly spawn the other provider CLI with handoff context.
|
|
271
|
+
* Replaces the current process — user stays in the same terminal,
|
|
272
|
+
* conversation continues with the new provider.
|
|
273
|
+
*/
|
|
274
|
+
export function spawnHandoff(opts) {
|
|
275
|
+
try {
|
|
276
|
+
const result = executeHandoff({ ...opts, force: opts.force });
|
|
277
|
+
if (!result.success || !result.command || !result.contextFile)
|
|
278
|
+
return result;
|
|
279
|
+
const [cli, ...cliArgs] = result.command;
|
|
280
|
+
const contextData = readJsonSafe(result.contextFile);
|
|
281
|
+
const prompt = contextData?.prompt || '';
|
|
282
|
+
// Write the prompt to a temp file the CLI can read
|
|
283
|
+
const promptFile = join(opts.cwd || process.cwd(), '.dual-brain/handoff/prompt.md');
|
|
284
|
+
writeFileSync(promptFile, prompt, 'utf8');
|
|
285
|
+
// Build the command based on which CLI we're launching
|
|
286
|
+
let spawnArgs;
|
|
287
|
+
if (cli === 'codex') {
|
|
288
|
+
// Codex: pass prompt directly
|
|
289
|
+
spawnArgs = ['-p', prompt.slice(0, 4000)];
|
|
290
|
+
}
|
|
291
|
+
else {
|
|
292
|
+
// Claude: use -p flag with prompt
|
|
293
|
+
spawnArgs = ['-p', prompt.slice(0, 4000), '--no-input'];
|
|
294
|
+
}
|
|
295
|
+
if (opts.interactive !== false) {
|
|
296
|
+
// Spawn with inherited stdio — user stays in same terminal
|
|
297
|
+
const child = spawn(cli, spawnArgs, {
|
|
298
|
+
stdio: 'inherit',
|
|
299
|
+
cwd: opts.cwd || process.cwd(),
|
|
300
|
+
});
|
|
301
|
+
child.on('exit', (code) => {
|
|
302
|
+
process.exit(code ?? 0);
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
return {
|
|
306
|
+
success: true,
|
|
307
|
+
command: [cli, ...spawnArgs],
|
|
308
|
+
contextFile: result.contextFile,
|
|
309
|
+
message: `⚡ Switching to ${cli}...`,
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
catch (err) {
|
|
313
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
314
|
+
return {
|
|
315
|
+
success: false,
|
|
316
|
+
message: `Auto-spawn failed: ${message}. Run manually: dual-brain handoff --show`,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
}
|
|
266
320
|
/**
|
|
267
321
|
* Return the user-facing message for a rate limit situation.
|
|
268
322
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auto-handoff.js","sourceRoot":"","sources":["../../src/auto-handoff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auto-handoff.js","sourceRoot":"","sources":["../../src/auto-handoff.ts"],"names":[],"mappings":"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"}
|