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.
@@ -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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "overlord-cli",
3
- "version": "0.2605151717.0",
3
+ "version": "0.2605160931.0",
4
4
  "description": "Overlord CLI — launch AI agents on tickets from anywhere",
5
5
  "homepage": "https://www.ovld.ai/docs/",
6
6
  "type": "module",