overlord-cli 0.2605151717.0 → 0.2605160931.0
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/_cli/launcher.mjs +19 -3
- package/package.json +1 -1
package/bin/_cli/launcher.mjs
CHANGED
|
@@ -68,10 +68,11 @@ const agentIdentifierMap = {
|
|
|
68
68
|
codex: 'codex',
|
|
69
69
|
cursor: 'cursor',
|
|
70
70
|
gemini: 'gemini',
|
|
71
|
-
opencode: 'opencode'
|
|
71
|
+
opencode: 'opencode',
|
|
72
|
+
pi: 'pi'
|
|
72
73
|
};
|
|
73
74
|
|
|
74
|
-
const supportedAgents = ['claude', 'codex', 'cursor', 'gemini', 'opencode'];
|
|
75
|
+
const supportedAgents = ['claude', 'codex', 'cursor', 'gemini', 'opencode', 'pi'];
|
|
75
76
|
|
|
76
77
|
function shellQuote(value) {
|
|
77
78
|
return `'${String(value).replace(/'/g, `'\\''`)}'`;
|
|
@@ -98,6 +99,8 @@ function buildExtraArgs(agent, options = {}) {
|
|
|
98
99
|
args.push('-c', `model_reasoning_effort=${toTomlString(options.thinking)}`);
|
|
99
100
|
} else if (agent === 'gemini') {
|
|
100
101
|
args.push('--thinking-level', options.thinking);
|
|
102
|
+
} else if (agent === 'pi') {
|
|
103
|
+
args.push('--thinking', options.thinking);
|
|
101
104
|
}
|
|
102
105
|
}
|
|
103
106
|
|
|
@@ -378,6 +381,17 @@ async function runAgent(agent, mode = 'run', options = {}) {
|
|
|
378
381
|
env: childEnv
|
|
379
382
|
});
|
|
380
383
|
}
|
|
384
|
+
} else if (agent === 'pi') {
|
|
385
|
+
if (mode === 'resume') {
|
|
386
|
+
const piSessionId = process.env.PI_SESSION_ID?.trim();
|
|
387
|
+
const args = piSessionId
|
|
388
|
+
? ['--session', piSessionId, context]
|
|
389
|
+
: ['--continue', context];
|
|
390
|
+
args.unshift(...extraArgs);
|
|
391
|
+
execFileSync('pi', args, { stdio: 'inherit', env: childEnv });
|
|
392
|
+
} else {
|
|
393
|
+
execFileSync('pi', [...extraArgs, context], { stdio: 'inherit', env: childEnv });
|
|
394
|
+
}
|
|
381
395
|
} else if (agent === 'gemini') {
|
|
382
396
|
// Write context to a temp file. Passing inline content as a positional arg
|
|
383
397
|
// causes Gemini's @-reference parser to lstat(cwd + content) when it encounters
|
|
@@ -413,7 +427,9 @@ async function runAgent(agent, mode = 'run', options = {}) {
|
|
|
413
427
|
? `No prior Codex session was found. Start one with \`ovld launch codex --ticket-id <ticket_id>\` first.`
|
|
414
428
|
: agent === 'opencode'
|
|
415
429
|
? `No prior OpenCode session was found. Start one with \`ovld launch opencode --ticket-id <ticket_id>\` first.`
|
|
416
|
-
: ''
|
|
430
|
+
: agent === 'pi'
|
|
431
|
+
? `No prior Pi session was found. Start one with \`ovld launch pi --ticket-id <ticket_id>\` first.`
|
|
432
|
+
: '';
|
|
417
433
|
const message = error instanceof Error ? error.message : String(error);
|
|
418
434
|
|
|
419
435
|
if (isResume && noSessionHint) {
|