@coralai/sps-cli 0.23.13 → 0.23.15

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 (35) hide show
  1. package/README.md +2 -2
  2. package/dist/commands/doctor.d.ts.map +1 -1
  3. package/dist/commands/doctor.js +6 -4
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/workerDashboard.d.ts.map +1 -1
  6. package/dist/commands/workerDashboard.js +8 -7
  7. package/dist/commands/workerDashboard.js.map +1 -1
  8. package/dist/core/runtimeStore.d.ts +7 -2
  9. package/dist/core/runtimeStore.d.ts.map +1 -1
  10. package/dist/core/runtimeStore.js +14 -0
  11. package/dist/core/runtimeStore.js.map +1 -1
  12. package/dist/engines/ExecutionEngine.d.ts +1 -0
  13. package/dist/engines/ExecutionEngine.d.ts.map +1 -1
  14. package/dist/engines/ExecutionEngine.js +78 -89
  15. package/dist/engines/ExecutionEngine.js.map +1 -1
  16. package/dist/manager/post-actions.d.ts +1 -0
  17. package/dist/manager/post-actions.d.ts.map +1 -1
  18. package/dist/manager/post-actions.js +94 -97
  19. package/dist/manager/post-actions.js.map +1 -1
  20. package/dist/manager/recovery.d.ts +8 -0
  21. package/dist/manager/recovery.d.ts.map +1 -1
  22. package/dist/manager/recovery.js +225 -27
  23. package/dist/manager/recovery.js.map +1 -1
  24. package/dist/manager/runtime-coordinator.d.ts.map +1 -1
  25. package/dist/manager/runtime-coordinator.js +13 -7
  26. package/dist/manager/runtime-coordinator.js.map +1 -1
  27. package/dist/providers/ACPWorkerRuntime.d.ts +1 -0
  28. package/dist/providers/ACPWorkerRuntime.d.ts.map +1 -1
  29. package/dist/providers/ACPWorkerRuntime.js +20 -10
  30. package/dist/providers/ACPWorkerRuntime.js.map +1 -1
  31. package/dist/providers/PTYAgentRuntime.d.ts +1 -0
  32. package/dist/providers/PTYAgentRuntime.d.ts.map +1 -1
  33. package/dist/providers/PTYAgentRuntime.js +38 -44
  34. package/dist/providers/PTYAgentRuntime.js.map +1 -1
  35. package/package.json +1 -1
@@ -1,8 +1,18 @@
1
- import { readState, writeState } from '../core/state.js';
1
+ /**
2
+ * Recovery — restores worker state when tick process restarts.
3
+ *
4
+ * Scans state.json for active workers, checks PID liveness,
5
+ * and either re-attaches monitoring or triggers completion flows.
6
+ *
7
+ * Called once at tick startup before the main loop begins.
8
+ */
9
+ import { resolve } from 'node:path';
10
+ import { existsSync, readFileSync } from 'node:fs';
11
+ import { RuntimeStore } from '../core/runtimeStore.js';
2
12
  import { resolveGitlabProjectId } from '../core/config.js';
3
13
  import { ProjectContext } from '../core/context.js';
4
14
  import { isProcessAlive } from '../providers/outputParser.js';
5
- import { ACPWorkerRuntime } from '../providers/ACPWorkerRuntime.js';
15
+ import { createAgentRuntime } from '../providers/registry.js';
6
16
  // ─── Recovery ───────────────────────────────────────────────────
7
17
  export class Recovery {
8
18
  supervisor;
@@ -15,6 +25,12 @@ export class Recovery {
15
25
  this.postActionsFactory = postActionsFactory;
16
26
  this.resourceLimiter = resourceLimiter;
17
27
  }
28
+ stateStore(project) {
29
+ return new RuntimeStore({
30
+ paths: { stateFile: project.stateFile },
31
+ maxWorkers: project.config.MAX_CONCURRENT_WORKERS,
32
+ });
33
+ }
18
34
  /**
19
35
  * Scan all projects for active workers and recover them.
20
36
  *
@@ -23,7 +39,7 @@ export class Recovery {
23
39
  async recover(projects) {
24
40
  const result = { found: 0, alive: 0, completed: 0, failed: 0 };
25
41
  for (const project of projects) {
26
- const state = readState(project.stateFile, project.config.MAX_CONCURRENT_WORKERS);
42
+ const state = this.stateStore(project).readState();
27
43
  const reservedSlots = new Set();
28
44
  // Create per-project PostActions (C3 fix: use correct PM config per project)
29
45
  const postActions = this.postActionsFactory(project.config);
@@ -49,7 +65,7 @@ export class Recovery {
49
65
  result.found++;
50
66
  const isAcpTransport = workerRef.transport === 'acp' || workerRef.transport === 'pty' || workerRef.mode === 'acp' || workerRef.mode === 'pty';
51
67
  if (isAcpTransport && slotName) {
52
- const recovered = await this.recoverAcpSlot(project, slotName, seq, workerRef, postActions, lease.retryCount);
68
+ const recovered = await this.recoverAcpSlot(project, slotName, seq, workerRef, postActions, lease);
53
69
  if (recovered === 'alive')
54
70
  result.alive++;
55
71
  if (recovered === 'completed')
@@ -149,7 +165,7 @@ export class Recovery {
149
165
  };
150
166
  const completion = this.judge.judge(judgeInput);
151
167
  const ctx = this.buildPostActionContext(project, slotName, seq, slot);
152
- const state = readState(project.stateFile, project.config.MAX_CONCURRENT_WORKERS);
168
+ const state = this.stateStore(project).readState();
153
169
  const retryCount = this.getRetryCount(state, seq);
154
170
  if (completion.status === 'completed') {
155
171
  await postActions.executeCompletion(ctx, completion, slot.sessionId || null);
@@ -162,9 +178,12 @@ export class Recovery {
162
178
  log(msg) {
163
179
  process.stderr.write(`[recovery] ${msg}\n`);
164
180
  }
165
- async recoverAcpSlot(project, slotName, seq, slot, postActions, retryCount) {
181
+ async recoverAcpSlot(project, slotName, seq, slot, postActions, lease) {
182
+ if (this.isPtyTask(project, slot)) {
183
+ return this.recoverPtyTask(project, slotName, seq, slot, postActions, lease);
184
+ }
166
185
  const ctx = ProjectContext.load(project.name);
167
- const runtime = new ACPWorkerRuntime(ctx);
186
+ const runtime = createAgentRuntime(ctx);
168
187
  const inspected = await runtime.inspect(slotName);
169
188
  const session = inspected.sessions[slotName];
170
189
  const workerId = `${project.name}:${slotName}:${seq}`;
@@ -230,9 +249,61 @@ export class Recovery {
230
249
  await postActions.executeCompletion(postActionCtx, completion, session?.sessionId || null);
231
250
  return 'completed';
232
251
  }
233
- await postActions.executeFailure(postActionCtx, completion, exitCode, null, retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
252
+ await postActions.executeFailure(postActionCtx, completion, exitCode, null, lease.retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
234
253
  return 'failed';
235
254
  }
255
+ async recoverPtyTask(project, slotName, seq, slot, postActions, lease) {
256
+ const state = this.stateStore(project).readState();
257
+ const evidence = state.worktreeEvidence[seq] || null;
258
+ const judgeInput = {
259
+ worktree: slot.worktree || '',
260
+ branch: slot.branch || '',
261
+ baseBranch: project.config.GITLAB_MERGE_BRANCH,
262
+ outputFile: null,
263
+ exitCode: 1,
264
+ logsDir: project.logsDir,
265
+ };
266
+ const completion = this.judge.judge(judgeInput);
267
+ const postActionCtx = this.buildPostActionContext(project, slotName, seq, slot);
268
+ if (completion.status === 'completed') {
269
+ await postActions.executeCompletion(postActionCtx, completion, null);
270
+ return 'completed';
271
+ }
272
+ if (!this.shouldRestartPtyTask(lease, evidence, slot)) {
273
+ await postActions.executeFailure(postActionCtx, completion, 1, null, lease.retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
274
+ return 'failed';
275
+ }
276
+ const ctx = ProjectContext.load(project.name);
277
+ const runtime = createAgentRuntime(ctx);
278
+ const tool = slot.agent || (project.config.ACP_AGENT || project.config.WORKER_TOOL);
279
+ const prompt = this.buildPtyRecoveryPrompt(project, lease, slot, evidence);
280
+ const session = await runtime.startRun(slotName, prompt, tool, slot.worktree || undefined);
281
+ this.resourceLimiter.tryAcquire();
282
+ this.syncRecoveredTask(project, slotName, seq, lease, slot, session);
283
+ const workerId = `${project.name}:${slotName}:${seq}`;
284
+ this.supervisor.registerAcpHandle({
285
+ id: workerId,
286
+ pid: null,
287
+ outputFile: null,
288
+ project: project.name,
289
+ seq,
290
+ slot: slotName,
291
+ branch: slot.branch || '',
292
+ worktree: slot.worktree || '',
293
+ tool: session.tool,
294
+ exitCode: null,
295
+ sessionId: session.sessionId,
296
+ runId: session.currentRun?.runId || null,
297
+ sessionState: session.sessionState,
298
+ remoteStatus: session.currentRun?.status || null,
299
+ lastEventAt: session.lastSeenAt,
300
+ startedAt: slot.claimedAt || lease.claimedAt || new Date().toISOString(),
301
+ exitedAt: null,
302
+ });
303
+ this.log(`Recovered PTY task ${workerId} by starting a fresh task-level session ` +
304
+ `(session ${session.sessionId}, run ${session.currentRun?.runId || 'unknown'})`);
305
+ return 'alive';
306
+ }
236
307
  listRecoverableLeases(state) {
237
308
  return Object.entries(state.leases)
238
309
  .filter(([, lease]) => !['suspended', 'released'].includes(lease.phase))
@@ -263,25 +334,152 @@ export class Recovery {
263
334
  return state.leases[seq]?.retryCount ?? state.activeCards[seq]?.retryCount ?? 0;
264
335
  }
265
336
  syncAcpSlot(project, slotName, session) {
266
- const state = readState(project.stateFile, project.config.MAX_CONCURRENT_WORKERS);
267
- const slot = state.workers[slotName];
268
- if (!slot)
269
- return;
270
- const transport = project.config.WORKER_TRANSPORT === 'pty' ? 'pty' : 'acp';
271
- slot.mode = transport;
272
- slot.transport = transport;
273
- slot.agent = session.tool;
274
- slot.tmuxSession = session.sessionName;
275
- slot.sessionId = session.sessionId;
276
- slot.runId = session.currentRun?.runId || null;
277
- slot.sessionState = session.sessionState;
278
- slot.remoteStatus = session.currentRun?.status || null;
279
- slot.lastEventAt = session.lastSeenAt;
280
- slot.pid = null;
281
- slot.outputFile = null;
282
- slot.exitCode = null;
283
- slot.lastHeartbeat = new Date().toISOString();
284
- writeState(project.stateFile, state, 'recovery-acp-sync');
337
+ this.stateStore(project).updateState('recovery-acp-sync', (state) => {
338
+ const slot = state.workers[slotName];
339
+ if (!slot)
340
+ return;
341
+ const transport = project.config.WORKER_TRANSPORT === 'pty' ? 'pty' : 'acp';
342
+ slot.mode = transport;
343
+ slot.transport = transport;
344
+ slot.agent = session.tool;
345
+ slot.tmuxSession = session.sessionName;
346
+ slot.sessionId = session.sessionId;
347
+ slot.runId = session.currentRun?.runId || null;
348
+ slot.sessionState = session.sessionState;
349
+ slot.remoteStatus = session.currentRun?.status || null;
350
+ slot.lastEventAt = session.lastSeenAt;
351
+ slot.pid = session.pid ?? null;
352
+ slot.outputFile = null;
353
+ slot.exitCode = null;
354
+ slot.lastHeartbeat = new Date().toISOString();
355
+ });
356
+ }
357
+ syncRecoveredTask(project, slotName, seq, lease, slot, session) {
358
+ this.stateStore(project).updateState('recovery-pty-restart', (state) => {
359
+ const worker = state.workers[slotName];
360
+ if (worker) {
361
+ worker.status = this.slotStatusForLease(lease.phase);
362
+ worker.seq = parseInt(seq, 10);
363
+ worker.branch = slot.branch || lease.branch;
364
+ worker.worktree = slot.worktree || lease.worktree;
365
+ worker.claimedAt = slot.claimedAt || lease.claimedAt || new Date().toISOString();
366
+ worker.mode = 'pty';
367
+ worker.transport = 'pty';
368
+ worker.agent = session.tool;
369
+ worker.tmuxSession = session.sessionName;
370
+ worker.sessionId = session.sessionId;
371
+ worker.runId = session.currentRun?.runId || null;
372
+ worker.sessionState = session.sessionState;
373
+ worker.remoteStatus = session.currentRun?.status || null;
374
+ worker.lastEventAt = session.lastSeenAt;
375
+ worker.pid = session.pid ?? null;
376
+ worker.outputFile = null;
377
+ worker.exitCode = null;
378
+ worker.lastHeartbeat = new Date().toISOString();
379
+ }
380
+ state.activeCards[seq] = {
381
+ seq: parseInt(seq, 10),
382
+ state: 'Inprogress',
383
+ worker: slotName,
384
+ mrUrl: state.activeCards[seq]?.mrUrl || null,
385
+ conflictDomains: state.activeCards[seq]?.conflictDomains || [],
386
+ startedAt: state.activeCards[seq]?.startedAt || lease.claimedAt || new Date().toISOString(),
387
+ retryCount: lease.retryCount,
388
+ };
389
+ if (state.leases[seq]) {
390
+ state.leases[seq].slot = slotName;
391
+ state.leases[seq].branch = slot.branch || lease.branch;
392
+ state.leases[seq].worktree = slot.worktree || lease.worktree;
393
+ state.leases[seq].sessionId = session.sessionId;
394
+ state.leases[seq].runId = session.currentRun?.runId || null;
395
+ state.leases[seq].phase = session.pendingInput
396
+ ? 'waiting_confirmation'
397
+ : lease.phase === 'resolving_conflict'
398
+ ? 'resolving_conflict'
399
+ : 'coding';
400
+ state.leases[seq].lastTransitionAt = new Date().toISOString();
401
+ }
402
+ });
403
+ }
404
+ shouldRestartPtyTask(lease, evidence, slot) {
405
+ const hasWorktree = !!(slot.worktree || lease.worktree);
406
+ const hasBranch = !!(slot.branch || lease.branch);
407
+ if (!hasWorktree || !hasBranch)
408
+ return false;
409
+ if (lease.phase === 'resolving_conflict')
410
+ return true;
411
+ if (lease.phase === 'waiting_confirmation')
412
+ return true;
413
+ if (lease.phase === 'coding')
414
+ return true;
415
+ if (lease.phase === 'merging' && evidence && ['rebase', 'merge', 'conflict'].includes(evidence.gitStatus)) {
416
+ return true;
417
+ }
418
+ return false;
419
+ }
420
+ buildPtyRecoveryPrompt(project, lease, slot, evidence) {
421
+ const worktree = slot.worktree || lease.worktree || '';
422
+ const branch = slot.branch || lease.branch || '';
423
+ const originalPrompt = this.readTaskPrompt(worktree);
424
+ const conflictRecovery = lease.phase === 'resolving_conflict' || !!evidence && ['rebase', 'merge', 'conflict'].includes(evidence.gitStatus);
425
+ const header = conflictRecovery
426
+ ? [
427
+ 'The previous SPS tick process stopped. The old PTY session is gone.',
428
+ 'Recover this task at the task level in the existing worktree.',
429
+ `Working directory: ${worktree}`,
430
+ `Branch: ${branch}`,
431
+ '',
432
+ 'Current goal:',
433
+ `1. cd ${worktree}`,
434
+ `2. Inspect the existing git state and continue the in-progress rebase/merge against origin/${project.config.GITLAB_MERGE_BRANCH}`,
435
+ '3. Resolve every conflict carefully based on the current code and task intent',
436
+ '4. Run git add on resolved files and continue the rebase/merge',
437
+ `5. Push the feature branch with git push --force-with-lease origin ${branch}`,
438
+ '6. Say "done" only after the branch is in a good state',
439
+ ]
440
+ : [
441
+ 'The previous SPS tick process stopped. The old PTY session is gone.',
442
+ 'Recover this task at the task level in the existing worktree.',
443
+ `Working directory: ${worktree}`,
444
+ `Branch: ${branch}`,
445
+ '',
446
+ 'Current goal:',
447
+ `1. cd ${worktree}`,
448
+ '2. Inspect the current git/worktree state before changing anything',
449
+ '3. Continue the task from the existing code instead of starting over',
450
+ '4. Run the necessary tests/checks for the current state',
451
+ `5. Push the feature branch ${branch} when the task is complete`,
452
+ '6. Say "done" only after the branch is pushed',
453
+ ];
454
+ if (!originalPrompt) {
455
+ return header.join('\n');
456
+ }
457
+ return `${header.join('\n')}\n\nOriginal task context:\n---\n${originalPrompt}`;
458
+ }
459
+ readTaskPrompt(worktree) {
460
+ if (!worktree)
461
+ return null;
462
+ const promptFile = resolve(worktree, '.sps', 'task_prompt.txt');
463
+ if (!existsSync(promptFile))
464
+ return null;
465
+ try {
466
+ return readFileSync(promptFile, 'utf-8').trim() || null;
467
+ }
468
+ catch {
469
+ return null;
470
+ }
471
+ }
472
+ slotStatusForLease(phase) {
473
+ if (phase === 'merging')
474
+ return 'merging';
475
+ if (phase === 'resolving_conflict' || phase === 'waiting_confirmation')
476
+ return 'resolving';
477
+ if (phase === 'closing')
478
+ return 'releasing';
479
+ return 'active';
480
+ }
481
+ isPtyTask(project, slot) {
482
+ return slot.transport === 'pty' || slot.mode === 'pty' || project.config.WORKER_TRANSPORT === 'pty';
285
483
  }
286
484
  isActiveRun(status) {
287
485
  return ['submitted', 'running', 'waiting_input'].includes(status);
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-coordinator.d.ts","sourceRoot":"","sources":["../../src/manager/runtime-coordinator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAIL,KAAK,YAAY,EAMlB,MAAM,kBAAkB,CAAC;AAW1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,kBAAkB,CAAC;AAKjF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAeD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAkB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAjD,GAAG,EAAE,cAAc,EAAmB,WAAW,EAAE,WAAW;IAErF,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIvD,wBAAwB,CAAC,SAAS,SAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAIlF,wBAAwB;IAwEtC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,WAAW;IAsCnB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,iBAAiB;CAe1B"}
1
+ {"version":3,"file":"runtime-coordinator.d.ts","sourceRoot":"","sources":["../../src/manager/runtime-coordinator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAEL,KAAK,YAAY,EAMlB,MAAM,kBAAkB,CAAC;AAY1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAkC,MAAM,kBAAkB,CAAC;AAKjF,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,YAAY,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAeD,qBAAa,kBAAkB;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAAkB,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAjD,GAAG,EAAE,cAAc,EAAmB,WAAW,EAAE,WAAW;IAErF,sBAAsB,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAIvD,wBAAwB,CAAC,SAAS,SAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAIlF,wBAAwB;IA8EtC,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,iBAAiB;IAkCzB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,uBAAuB;IAwC/B,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,SAAS;IAajB,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,WAAW;IAsCnB,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,iBAAiB;CAe1B"}
@@ -1,7 +1,7 @@
1
1
  import { execFileSync } from 'node:child_process';
2
2
  import { existsSync, readdirSync } from 'node:fs';
3
- import { readACPState, writeACPState } from '../core/acpState.js';
4
- import { readState, writeState, createIdleWorkerSlot, } from '../core/state.js';
3
+ import { createIdleWorkerSlot, } from '../core/state.js';
4
+ import { RuntimeStore } from '../core/runtimeStore.js';
5
5
  import { resolveWorktreePath } from '../core/paths.js';
6
6
  import { branchPushed, isProcessAlive as isProcAlive, } from '../providers/outputParser.js';
7
7
  import { getPersistedRunStatus, hasPersistedActiveRun, isPersistedSessionAlive, } from '../core/sessionLiveness.js';
@@ -20,12 +20,12 @@ export class RuntimeCoordinator {
20
20
  return this.computeRuntimeProjection(true, updatedBy);
21
21
  }
22
22
  async computeRuntimeProjection(persist, updatedBy) {
23
- const state = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
24
- const acpState = readACPState(this.ctx.paths.acpStateFile);
23
+ const store = new RuntimeStore(this.ctx);
24
+ const { state, acpState } = store.read();
25
25
  const cards = await this.taskBackend.listAll();
26
26
  const cardsBySeq = new Map(cards.map((card) => [card.seq, card]));
27
27
  const normalizedACPState = this.normalizeACPState(state, acpState);
28
- const nextState = readState(this.ctx.paths.stateFile, this.ctx.maxWorkers);
28
+ const nextState = structuredClone(state);
29
29
  nextState.leases = {};
30
30
  nextState.worktreeEvidence = {};
31
31
  nextState.activeCards = {};
@@ -75,8 +75,14 @@ export class RuntimeCoordinator {
75
75
  JSON.stringify(state.worktreeEvidence) !== JSON.stringify(nextState.worktreeEvidence) ||
76
76
  JSON.stringify(acpState.sessions) !== JSON.stringify(normalizedACPState.sessions);
77
77
  if (persist && changed) {
78
- writeState(this.ctx.paths.stateFile, nextState, updatedBy);
79
- writeACPState(this.ctx.paths.acpStateFile, normalizedACPState, updatedBy);
78
+ store.updateRuntime(updatedBy, (runtimeState, runtimeACPState) => {
79
+ runtimeState.workers = nextState.workers;
80
+ runtimeState.activeCards = nextState.activeCards;
81
+ runtimeState.leases = nextState.leases;
82
+ runtimeState.worktreeEvidence = nextState.worktreeEvidence;
83
+ runtimeState.worktreeCleanup = nextState.worktreeCleanup;
84
+ runtimeACPState.sessions = normalizedACPState.sessions;
85
+ });
80
86
  }
81
87
  return { state: nextState, acpState: normalizedACPState, updated: changed };
82
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-coordinator.js","sourceRoot":"","sources":["../../src/manager/runtime-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-coordinator.js","sourceRoot":"","sources":["../../src/manager/runtime-coordinator.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import type { ACPState, ACPSessionRecord, ACPTool } from '../models/acp.js';
5
5
  export declare class ACPWorkerRuntime implements AgentRuntime {
6
6
  private readonly ctx;
7
7
  private readonly client;
8
+ private readonly runtimeStore;
8
9
  constructor(ctx: ProjectContext, client?: ACPClient);
9
10
  ensureSession(slot: string, tool?: ACPTool, cwdOverride?: string): Promise<ACPSessionRecord>;
10
11
  startRun(slot: string, prompt: string, tool?: ACPTool, cwdOverride?: string): Promise<ACPSessionRecord>;
@@ -1 +1 @@
1
- {"version":3,"file":"ACPWorkerRuntime.d.ts","sourceRoot":"","sources":["../../src/providers/ACPWorkerRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAEV,QAAQ,EACR,gBAAgB,EAGhB,OAAO,EACR,MAAM,kBAAkB,CAAC;AAgB1B,qBAAa,gBAAiB,YAAW,YAAY;IAEjD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBADN,GAAG,EAAE,cAAc,EACnB,MAAM,GAAE,SAAgC;IAGrD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAuC5F,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYvG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBlE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAyDzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC9C,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;YASP,SAAS;CAwCxB"}
1
+ {"version":3,"file":"ACPWorkerRuntime.d.ts","sourceRoot":"","sources":["../../src/providers/ACPWorkerRuntime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAEV,QAAQ,EACR,gBAAgB,EAGhB,OAAO,EACR,MAAM,kBAAkB,CAAC;AAgB1B,qBAAa,gBAAiB,YAAW,YAAY;IAIjD,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;gBAGzB,GAAG,EAAE,cAAc,EACnB,MAAM,GAAE,SAAgC;IAKrD,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAyC5F,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAYvG,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAgBlE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IA2DzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC9C,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,aAAa;YASP,SAAS;CA0CxB"}
@@ -1,4 +1,4 @@
1
- import { readACPState, writeACPState } from '../core/acpState.js';
1
+ import { RuntimeStore } from '../core/runtimeStore.js';
2
2
  import { LocalACPClient } from './LocalACPClient.js';
3
3
  function now() {
4
4
  return new Date().toISOString();
@@ -13,12 +13,14 @@ function isTerminalRunStatus(status) {
13
13
  export class ACPWorkerRuntime {
14
14
  ctx;
15
15
  client;
16
+ runtimeStore;
16
17
  constructor(ctx, client = new LocalACPClient()) {
17
18
  this.ctx = ctx;
18
19
  this.client = client;
20
+ this.runtimeStore = new RuntimeStore(ctx);
19
21
  }
20
22
  async ensureSession(slot, tool, cwdOverride) {
21
- const state = readACPState(this.ctx.paths.acpStateFile);
23
+ const state = this.runtimeStore.readACPState();
22
24
  const normalizedSlot = this.normalizeSlot(slot);
23
25
  const selectedTool = tool || this.defaultTool();
24
26
  const existing = state.sessions[normalizedSlot];
@@ -49,17 +51,19 @@ export class ACPWorkerRuntime {
49
51
  lastPaneText: result.paneText,
50
52
  pendingInput: null,
51
53
  });
52
- writeACPState(this.ctx.paths.acpStateFile, state, 'acp-ensure-session');
54
+ this.runtimeStore.updateACPState('acp-ensure-session', (draft) => {
55
+ draft.sessions[normalizedSlot] = session;
56
+ });
53
57
  return session;
54
58
  }
55
59
  async startRun(slot, prompt, tool, cwdOverride) {
56
60
  const normalizedSlot = this.normalizeSlot(slot);
57
- const state = readACPState(this.ctx.paths.acpStateFile);
61
+ const state = this.runtimeStore.readACPState();
58
62
  const session = await this.ensureSession(normalizedSlot, tool, cwdOverride);
59
63
  if (session.sessionState !== 'ready') {
60
64
  throw new Error(`ACP session ${session.sessionId} is not ready (state=${session.sessionState})`);
61
65
  }
62
- const freshState = readACPState(this.ctx.paths.acpStateFile);
66
+ const freshState = this.runtimeStore.readACPState();
63
67
  const existing = freshState.sessions[normalizedSlot] || session;
64
68
  return this.launchRun(freshState, normalizedSlot, existing, prompt, 'acp-start-run');
65
69
  }
@@ -79,7 +83,7 @@ export class ACPWorkerRuntime {
79
83
  return this.launchRun(inspected, normalizedSlot, existing, prompt, 'acp-resume-run');
80
84
  }
81
85
  async inspect(slot) {
82
- const state = readACPState(this.ctx.paths.acpStateFile);
86
+ const state = this.runtimeStore.readACPState();
83
87
  const slots = slot ? [this.normalizeSlot(slot)] : Object.keys(state.sessions);
84
88
  for (const slotName of slots) {
85
89
  const session = state.sessions[slotName];
@@ -129,12 +133,14 @@ export class ACPWorkerRuntime {
129
133
  pendingInput: null,
130
134
  };
131
135
  }
132
- writeACPState(this.ctx.paths.acpStateFile, state, 'acp-inspect');
136
+ this.runtimeStore.updateACPState('acp-inspect', (draft) => {
137
+ draft.sessions = state.sessions;
138
+ });
133
139
  return state;
134
140
  }
135
141
  async stopSession(slot) {
136
142
  const normalizedSlot = this.normalizeSlot(slot);
137
- const state = readACPState(this.ctx.paths.acpStateFile);
143
+ const state = this.runtimeStore.readACPState();
138
144
  const session = state.sessions[normalizedSlot];
139
145
  if (!session) {
140
146
  throw new Error(`ACP session not found for slot ${normalizedSlot}`);
@@ -160,7 +166,9 @@ export class ACPWorkerRuntime {
160
166
  lastPaneText: '',
161
167
  pendingInput: null,
162
168
  };
163
- writeACPState(this.ctx.paths.acpStateFile, state, 'acp-stop-session');
169
+ this.runtimeStore.updateACPState('acp-stop-session', (draft) => {
170
+ draft.sessions[normalizedSlot] = state.sessions[normalizedSlot];
171
+ });
164
172
  }
165
173
  normalizeSlot(slot) {
166
174
  if (/^worker-\d+$/.test(slot))
@@ -217,7 +225,9 @@ export class ACPWorkerRuntime {
217
225
  lastPaneText: result.paneText,
218
226
  pendingInput: null,
219
227
  });
220
- writeACPState(this.ctx.paths.acpStateFile, state, updatedBy);
228
+ this.runtimeStore.updateACPState(updatedBy, (draft) => {
229
+ draft.sessions[slot] = updated;
230
+ });
221
231
  return updated;
222
232
  }
223
233
  }