@mycompbox/compbox-cli 1.18.0 → 1.20.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.
Files changed (49) hide show
  1. package/.tsbuildinfo +1 -1
  2. package/commands/configure.d.ts.map +1 -1
  3. package/commands/configure.js +31 -11
  4. package/commands/configure.js.map +1 -1
  5. package/commands/doctor.d.ts.map +1 -1
  6. package/commands/doctor.js +1 -1
  7. package/commands/doctor.js.map +1 -1
  8. package/commands/login.d.ts +2 -0
  9. package/commands/login.d.ts.map +1 -1
  10. package/commands/login.js +28 -6
  11. package/commands/login.js.map +1 -1
  12. package/commands/run.d.ts +12 -1
  13. package/commands/run.d.ts.map +1 -1
  14. package/commands/run.js +110 -30
  15. package/commands/run.js.map +1 -1
  16. package/index.js +1264 -540
  17. package/package.json +1 -1
  18. package/utils/agent-invoker.d.ts +59 -101
  19. package/utils/agent-invoker.d.ts.map +1 -1
  20. package/utils/agent-invoker.js +183 -508
  21. package/utils/agent-invoker.js.map +1 -1
  22. package/utils/autostart.d.ts +41 -0
  23. package/utils/autostart.d.ts.map +1 -0
  24. package/utils/autostart.js +122 -0
  25. package/utils/autostart.js.map +1 -0
  26. package/utils/key-run.d.ts +32 -0
  27. package/utils/key-run.d.ts.map +1 -0
  28. package/utils/key-run.js +77 -0
  29. package/utils/key-run.js.map +1 -0
  30. package/utils/loopback.d.ts +3 -3
  31. package/utils/loopback.d.ts.map +1 -1
  32. package/utils/loopback.js +3 -3
  33. package/utils/loopback.js.map +1 -1
  34. package/utils/mailbox-client.d.ts +31 -1
  35. package/utils/mailbox-client.d.ts.map +1 -1
  36. package/utils/mailbox-client.js +60 -2
  37. package/utils/mailbox-client.js.map +1 -1
  38. package/utils/mcp-config-writer.d.ts +2 -0
  39. package/utils/mcp-config-writer.d.ts.map +1 -1
  40. package/utils/mcp-config-writer.js +9 -1
  41. package/utils/mcp-config-writer.js.map +1 -1
  42. package/utils/repo-setup.d.ts +44 -0
  43. package/utils/repo-setup.d.ts.map +1 -0
  44. package/utils/repo-setup.js +178 -0
  45. package/utils/repo-setup.js.map +1 -0
  46. package/utils/run-workspace.d.ts +120 -0
  47. package/utils/run-workspace.d.ts.map +1 -0
  48. package/utils/run-workspace.js +298 -0
  49. package/utils/run-workspace.js.map +1 -0
package/commands/run.js CHANGED
@@ -24,7 +24,9 @@ import { readConfig, applyPxpipeEnv, resolveProjectDir, resolveProjectDirForJob,
24
24
  import { START_EXECUTION_KINDS } from '@mycompbox/shared';
25
25
  import { retrieveSecret, MACHINE_TOKEN_ACCOUNT, AI_KEY_ACCOUNT, } from '../utils/keychain.js';
26
26
  import { MailboxClient, MailboxClientError, } from '../utils/mailbox-client.js';
27
- import { invokeEpicRequestViaApi, invokeEpicRequestViaSubscription, invokeStartExecutionPlan, invokeStartExecutionOrchestrate, unregisteredRemoteMessage, } from '../utils/agent-invoker.js';
27
+ import { invokeEpicRequestStep, invokeStartExecutionPlan, invokeStartExecutionOrchestrate, unregisteredRemoteMessage, } from '../utils/agent-invoker.js';
28
+ import { RunWorkspaceManager } from '../utils/run-workspace.js';
29
+ import { invokeConnectRepo } from '../utils/repo-setup.js';
28
30
  import { probeAgentRuntime, } from '../utils/claude-runtime.js';
29
31
  // Server-side hold requested per next-job call: NONE. The server answers
30
32
  // immediately and this loop paces itself with the intervals below.
@@ -55,15 +57,38 @@ export const IDLE_POLL_INTERVAL_MS = 15_000;
55
57
  // self-decaying, so it contributes almost nothing to the monthly bill.
56
58
  export const ACTIVE_POLL_INTERVAL_MS = 2_000;
57
59
  export const ACTIVE_WINDOW_MS = 60_000;
60
+ // After a reply in a request conversation, keep checking every few seconds for
61
+ // this long so the person's answer is picked up quickly. Each check is a short
62
+ // request (Cloud Run bills only while it's handled), so this costs a fraction
63
+ // of a cent.
64
+ export const CONVERSATION_POLL_INTERVAL_MS = 3_000;
65
+ export const CONVERSATION_WINDOW_MS = 10 * 60_000;
58
66
  /**
59
67
  * Sleep between polls: fast while a session is warm, slow once it has gone
60
68
  * quiet. `lastJobAt` is 0 before the first job of the process.
61
69
  *
62
70
  * Exported for unit testing (same pattern as runtimeHeartbeatDue below).
63
71
  */
64
- export function idleDelay(now, lastJobAt) {
72
+ export function idleDelay(now, lastJobAt, lastConversationAt = 0) {
65
73
  const warm = lastJobAt > 0 && now - lastJobAt < ACTIVE_WINDOW_MS;
66
- return warm ? ACTIVE_POLL_INTERVAL_MS : IDLE_POLL_INTERVAL_MS;
74
+ if (warm)
75
+ return ACTIVE_POLL_INTERVAL_MS;
76
+ const talking = lastConversationAt > 0 && now - lastConversationAt < CONVERSATION_WINDOW_MS;
77
+ return talking ? CONVERSATION_POLL_INTERVAL_MS : IDLE_POLL_INTERVAL_MS;
78
+ }
79
+ /**
80
+ * How many jobs this computer runs at once (interviews, plans and builds).
81
+ * Each build works in its own hidden copy of the project (see run-workspace),
82
+ * so builds don't step on each other or on the person's own folder.
83
+ * Override with COMPBOX_MAX_JOBS (1 restores one-at-a-time).
84
+ */
85
+ export const DEFAULT_MAX_PARALLEL_JOBS = 3;
86
+ export const MAX_JOBS_ENV = 'COMPBOX_MAX_JOBS';
87
+ export function maxParallelJobs(env = process.env) {
88
+ const raw = Number.parseInt(env[MAX_JOBS_ENV] ?? '', 10);
89
+ if (!Number.isFinite(raw) || raw < 1)
90
+ return DEFAULT_MAX_PARALLEL_JOBS;
91
+ return Math.min(raw, 10);
67
92
  }
68
93
  /** Backoff schedule on transient errors (network/5xx): 1s, 2s, 4s, ... capped. */
69
94
  const BACKOFF_BASE_MS = 1_000;
@@ -181,11 +206,12 @@ export function parseStartExecutionPayload(payload) {
181
206
  const projectRemote = typeof p.projectRemote === 'string' && p.projectRemote.length > 0
182
207
  ? p.projectRemote
183
208
  : undefined;
209
+ const useAiKey = p.useAiKey === true;
184
210
  if (p.kind === 'plan' && typeof p.epicRequestId === 'string' && p.epicRequestId.length > 0) {
185
- return { kind: 'plan', epicRequestId: p.epicRequestId, ...(projectRemote && { projectRemote }) };
211
+ return { kind: 'plan', epicRequestId: p.epicRequestId, ...(projectRemote && { projectRemote }), ...(useAiKey && { useAiKey }) };
186
212
  }
187
213
  if (p.kind === 'orchestrate' && typeof p.epicId === 'string' && p.epicId.length > 0) {
188
- return { kind: 'orchestrate', epicId: p.epicId, ...(projectRemote && { projectRemote }) };
214
+ return { kind: 'orchestrate', epicId: p.epicId, ...(projectRemote && { projectRemote }), ...(useAiKey && { useAiKey }) };
189
215
  }
190
216
  return null;
191
217
  }
@@ -220,6 +246,21 @@ export async function handleStartExecution(ctx, job) {
220
246
  return;
221
247
  }
222
248
  const jobProjectDir = routed.status === 'registered' || routed.status === 'fallback' ? routed.path : undefined;
249
+ // "Run with: My API key": fetch the person's saved key for this job only.
250
+ // Kept in memory and handed to Claude Code's environment, never stored.
251
+ let keyRun;
252
+ if (payload.useAiKey) {
253
+ try {
254
+ const key = await ctx.client.getAiKey(ctx.machineToken, job.id);
255
+ keyRun = { apiKey: key.apiKey, model: key.model };
256
+ console.log(chalk.gray(` Running on your saved API key (${key.provider}, ${key.model}).`));
257
+ }
258
+ catch (error) {
259
+ const message = error instanceof MailboxClientError ? error.message : 'the key request failed';
260
+ await completeWithFailure(ctx, job, `Couldn't get your saved API key from CompBox (${message}). Check Settings → AI, or run with this computer's own sign-in.`);
261
+ return;
262
+ }
263
+ }
223
264
  if (payload.kind === 'plan') {
224
265
  const userApiToken = ctx.userApiToken;
225
266
  if (!userApiToken) {
@@ -235,6 +276,7 @@ export async function handleStartExecution(ctx, job) {
235
276
  userApiToken,
236
277
  epicRequestId: payload.epicRequestId,
237
278
  projectDir: jobProjectDir,
279
+ ...(keyRun && { keyRun }),
238
280
  }, {
239
281
  // H4: keep this machine online during the long planner run — the poll
240
282
  // loop (its own heartbeat) is blocked for the whole job.
@@ -256,16 +298,23 @@ export async function handleStartExecution(ctx, job) {
256
298
  jobId: job.id,
257
299
  epicId: payload.epicId,
258
300
  projectDir: jobProjectDir,
301
+ ...(keyRun && { keyRun }),
259
302
  }, {
260
303
  // H4: keep this machine online during the long orchestrator run — the
261
304
  // poll loop (its own heartbeat) is blocked for the whole job.
262
305
  heartbeat: () => ctx.client.heartbeat(ctx.machineToken).catch(() => undefined),
306
+ // Own branch + worktree per run, finishing with a pull request.
307
+ workspace: new RunWorkspaceManager(),
263
308
  }));
264
309
  }
265
310
  /** Runs an agent invoker and closes out the job with its result, logging either way. */
266
311
  async function runInvokerAndComplete(ctx, job, invoke) {
267
312
  try {
268
313
  const outcome = await invoke();
314
+ if (outcome.status === 'yield') {
315
+ console.log(chalk.gray(` Job ${job.id}: replied; waiting for the person.`));
316
+ return;
317
+ }
269
318
  await ctx.client.completeJob(ctx.machineToken, job.id, outcome.status, outcome.result);
270
319
  console.log(outcome.status === 'done'
271
320
  ? chalk.green(` Job ${job.id} completed: ${JSON.stringify(outcome.result)}`)
@@ -295,34 +344,39 @@ async function completeWithFailure(ctx, job, error) {
295
344
  */
296
345
  async function handleJob(ctx, job) {
297
346
  console.log(chalk.cyan(`\n→ Claimed job ${job.id} (type: ${job.type}, status: ${job.status})`));
347
+ // Request conversations: one AI reply per claim; the job stays open
348
+ // (waiting on the person) instead of completing.
298
349
  const userApiToken = ctx.userApiToken;
299
- const isEpicRequest = job.type === 'epic_request' && !!userApiToken;
300
- if (isEpicRequest && userApiToken) {
350
+ if (job.type === 'epic_request' && userApiToken) {
351
+ let anthropicApiKey;
301
352
  if (ctx.aiMode === 'api-key') {
302
- const { value: anthropicApiKey } = await retrieveSecret(AI_KEY_ACCOUNT);
303
- if (anthropicApiKey) {
304
- console.log(chalk.gray(' Running the request-formulator interview (api mode)...'));
305
- await runInvokerAndComplete(ctx, job, () => invokeEpicRequestViaApi(job, {
306
- mailboxClient: ctx.client,
307
- machineToken: ctx.machineToken,
308
- apiBaseUrl: ctx.apiBaseUrl,
309
- userApiToken,
310
- anthropicApiKey,
311
- }));
312
- return;
313
- }
353
+ anthropicApiKey = (await retrieveSecret(AI_KEY_ACCOUNT)).value ?? undefined;
314
354
  }
315
- else if (ctx.aiMode === 'claude-subscription') {
316
- console.log(chalk.gray(' Running the request-formulator interview (claude-subscription mode, local `claude` CLI)...'));
317
- await runInvokerAndComplete(ctx, job, () => invokeEpicRequestViaSubscription(job, {
355
+ if (ctx.aiMode === 'claude-subscription' || anthropicApiKey) {
356
+ console.log(chalk.gray(` Replying in the request conversation (${anthropicApiKey ? 'api mode' : 'local claude CLI'})...`));
357
+ await runInvokerAndComplete(ctx, job, () => invokeEpicRequestStep(job, {
318
358
  mailboxClient: ctx.client,
319
359
  machineToken: ctx.machineToken,
320
360
  apiBaseUrl: ctx.apiBaseUrl,
321
361
  userApiToken,
362
+ ...(anthropicApiKey && { anthropicApiKey }),
322
363
  }));
323
364
  return;
324
365
  }
325
366
  }
367
+ // connect_repo: clone (or adopt) a project's repository and register its folder.
368
+ if (job.type === 'connect_repo') {
369
+ console.log(chalk.gray(' Setting up a project repository on this computer (connect_repo)...'));
370
+ await runInvokerAndComplete(ctx, job, async () => {
371
+ const outcome = await invokeConnectRepo(job.payload);
372
+ // Report the new folder right away so the web shows it as ready.
373
+ if (outcome.status === 'done') {
374
+ await ctx.client.heartbeat(ctx.machineToken, undefined, gatherServicedRemotes()).catch(() => undefined);
375
+ }
376
+ return outcome;
377
+ });
378
+ return;
379
+ }
326
380
  // start_execution (ENG-164): route on the payload `kind` (plan/orchestrate).
327
381
  // This replaces the old catch-all not-implemented fallback for this job type.
328
382
  if (job.type === 'start_execution') {
@@ -392,6 +446,8 @@ export const runCommand = new Command('run')
392
446
  console.log(chalk.gray(` Project: ${projectDir ?? '(unset — run `compbox configure` to set it; start_execution/plan jobs fail until then)'}`));
393
447
  console.log(chalk.gray(` Polling for jobs (every ${String(Math.round(IDLE_POLL_INTERVAL_MS / 1000))}s idle, ` +
394
448
  `${String(Math.round(ACTIVE_POLL_INTERVAL_MS / 1000))}s while a session is active)...\n`));
449
+ const maxJobs = maxParallelJobs();
450
+ console.log(chalk.gray(` Runs up to ${String(maxJobs)} job${maxJobs === 1 ? '' : 's'} at once (${MAX_JOBS_ENV} to change).\n`));
395
451
  // Agent-runtime probe (ENG-136): probe the local `claude` runtime ONCE at
396
452
  // startup and cache it; it is refreshed on the heartbeat cadence below and
397
453
  // rides along in each explicit heartbeat POST so central can surface
@@ -448,10 +504,18 @@ export const runCommand = new Command('run')
448
504
  // Timestamp of the last job handled — drives the warm/idle poll cadence
449
505
  // (see idleDelay). 0 until this process has handled its first job.
450
506
  let lastJobAt = 0;
507
+ // When this computer last replied in a request conversation (see idleDelay).
508
+ let lastConversationAt = 0;
509
+ // Jobs running right now, by id. The loop keeps polling while they run, so
510
+ // a second build can start alongside the first.
511
+ const inFlight = new Map();
451
512
  do {
452
513
  let job = null;
453
514
  try {
454
- job = await client.nextJob(machineToken, waitMs);
515
+ // At capacity: don't ask for more work, just keep the heartbeat going.
516
+ if (inFlight.size < maxJobs) {
517
+ job = await client.nextJob(machineToken, waitMs, [...inFlight.keys()]);
518
+ }
455
519
  consecutiveErrors = 0;
456
520
  // next-job refreshes lastSeenAt server-side (machine-auth); the runtime
457
521
  // status is sent separately below on its OWN cadence (do not couple it
@@ -468,12 +532,26 @@ export const runCommand = new Command('run')
468
532
  await sleep(delay);
469
533
  continue;
470
534
  }
535
+ // An older server ignores `running` and resumes a job we already have.
536
+ if (job && inFlight.has(job.id))
537
+ job = null;
471
538
  if (job) {
472
- await handleJob(jobContext, job);
473
- // Stamped AFTER the job finishes: the warm window should measure quiet
474
- // time since work ended, not since it started (a long run would
475
- // otherwise expire its own window while still executing).
476
- lastJobAt = Date.now();
539
+ const jobId = job.id;
540
+ const isConversation = job.type === 'epic_request';
541
+ const work = handleJob(jobContext, job)
542
+ .catch((error) => {
543
+ console.error(chalk.red(` Job ${jobId} stopped unexpectedly: ${error instanceof Error ? error.message : String(error)}`));
544
+ })
545
+ .finally(() => {
546
+ inFlight.delete(jobId);
547
+ // Stamped AFTER the job finishes: the warm window should measure quiet
548
+ // time since work ended, not since it started (a long run would
549
+ // otherwise expire its own window while still executing).
550
+ lastJobAt = Date.now();
551
+ if (isConversation)
552
+ lastConversationAt = lastJobAt;
553
+ });
554
+ inFlight.set(jobId, work);
477
555
  }
478
556
  // Agent-runtime heartbeat (ENG-136): refresh the cached probe and re-send
479
557
  // the status on its OWN cadence, independent of next-job. `lastRuntimeSentAt`
@@ -496,15 +574,17 @@ export const runCommand = new Command('run')
496
574
  lastRuntimeSentAt = Date.now();
497
575
  }
498
576
  }
499
- if (options.once)
577
+ if (options.once) {
578
+ await Promise.all(inFlight.values());
500
579
  break;
580
+ }
501
581
  // Pace the loop. The server no longer holds the connection, so WITHOUT
502
582
  // this sleep the daemon would spin as fast as the network allows — worse
503
583
  // for cost than the long-poll it replaced. Skipped when a job was just
504
584
  // handled: a job usually implies more work (a follow-up turn) is
505
585
  // imminent, so poll straight away and let the warm window take over.
506
586
  if (!job) {
507
- await sleep(idleDelay(Date.now(), lastJobAt));
587
+ await sleep(idleDelay(Date.now(), lastJobAt, lastConversationAt));
508
588
  }
509
589
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- `running` is mutated asynchronously by the SIGINT/SIGTERM handlers above; ESLint's control-flow analysis can't see that.
510
590
  } while (running);
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}