@coralai/sps-cli 0.19.0 → 0.21.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/README.md +54 -7
- package/dist/commands/acpCommand.d.ts +2 -0
- package/dist/commands/acpCommand.d.ts.map +1 -0
- package/dist/commands/acpCommand.js +98 -0
- package/dist/commands/acpCommand.js.map +1 -0
- package/dist/commands/pipelineTick.d.ts.map +1 -1
- package/dist/commands/pipelineTick.js +3 -2
- package/dist/commands/pipelineTick.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +22 -7
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/tick.d.ts.map +1 -1
- package/dist/commands/tick.js +4 -3
- package/dist/commands/tick.js.map +1 -1
- package/dist/commands/workerDashboard.d.ts.map +1 -1
- package/dist/commands/workerDashboard.js +28 -8
- package/dist/commands/workerDashboard.js.map +1 -1
- package/dist/commands/workerLaunch.d.ts.map +1 -1
- package/dist/commands/workerLaunch.js +3 -2
- package/dist/commands/workerLaunch.js.map +1 -1
- package/dist/core/acpState.d.ts +4 -0
- package/dist/core/acpState.d.ts.map +1 -0
- package/dist/core/acpState.js +38 -0
- package/dist/core/acpState.js.map +1 -0
- package/dist/core/config.d.ts +5 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +5 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/paths.d.ts +2 -0
- package/dist/core/paths.d.ts.map +1 -1
- package/dist/core/paths.js +1 -0
- package/dist/core/paths.js.map +1 -1
- package/dist/core/state.d.ts +13 -1
- package/dist/core/state.d.ts.map +1 -1
- package/dist/core/state.js +11 -0
- package/dist/core/state.js.map +1 -1
- package/dist/engines/CloseoutEngine.d.ts.map +1 -1
- package/dist/engines/CloseoutEngine.js +6 -0
- package/dist/engines/CloseoutEngine.js.map +1 -1
- package/dist/engines/ExecutionEngine.d.ts +9 -1
- package/dist/engines/ExecutionEngine.d.ts.map +1 -1
- package/dist/engines/ExecutionEngine.js +197 -29
- package/dist/engines/ExecutionEngine.js.map +1 -1
- package/dist/engines/MonitorEngine.d.ts +1 -0
- package/dist/engines/MonitorEngine.d.ts.map +1 -1
- package/dist/engines/MonitorEngine.js +34 -0
- package/dist/engines/MonitorEngine.js.map +1 -1
- package/dist/interfaces/ACPClient.d.ts +55 -0
- package/dist/interfaces/ACPClient.d.ts.map +1 -0
- package/dist/interfaces/ACPClient.js +2 -0
- package/dist/interfaces/ACPClient.js.map +1 -0
- package/dist/interfaces/AgentRuntime.d.ts +8 -0
- package/dist/interfaces/AgentRuntime.d.ts.map +1 -0
- package/dist/interfaces/AgentRuntime.js +2 -0
- package/dist/interfaces/AgentRuntime.js.map +1 -0
- package/dist/main.js +16 -1
- package/dist/main.js.map +1 -1
- package/dist/manager/post-actions.d.ts.map +1 -1
- package/dist/manager/post-actions.js +4 -2
- package/dist/manager/post-actions.js.map +1 -1
- package/dist/manager/recovery.d.ts +4 -0
- package/dist/manager/recovery.d.ts.map +1 -1
- package/dist/manager/recovery.js +121 -0
- package/dist/manager/recovery.js.map +1 -1
- package/dist/manager/supervisor.d.ts +13 -3
- package/dist/manager/supervisor.d.ts.map +1 -1
- package/dist/manager/supervisor.js +51 -2
- package/dist/manager/supervisor.js.map +1 -1
- package/dist/models/acp.d.ts +33 -0
- package/dist/models/acp.d.ts.map +1 -0
- package/dist/models/acp.js +2 -0
- package/dist/models/acp.js.map +1 -0
- package/dist/providers/ACPWorkerRuntime.d.ts +19 -0
- package/dist/providers/ACPWorkerRuntime.d.ts.map +1 -0
- package/dist/providers/ACPWorkerRuntime.js +202 -0
- package/dist/providers/ACPWorkerRuntime.js.map +1 -0
- package/dist/providers/LocalACPClient.d.ts +11 -0
- package/dist/providers/LocalACPClient.d.ts.map +1 -0
- package/dist/providers/LocalACPClient.js +35 -0
- package/dist/providers/LocalACPClient.js.map +1 -0
- package/dist/providers/acpTmux.d.ts +6 -0
- package/dist/providers/acpTmux.d.ts.map +1 -0
- package/dist/providers/acpTmux.js +51 -0
- package/dist/providers/acpTmux.js.map +1 -0
- package/dist/providers/adapters/ClaudeACPAdapter.d.ts +11 -0
- package/dist/providers/adapters/ClaudeACPAdapter.d.ts.map +1 -0
- package/dist/providers/adapters/ClaudeACPAdapter.js +150 -0
- package/dist/providers/adapters/ClaudeACPAdapter.js.map +1 -0
- package/dist/providers/adapters/CodexACPAdapter.d.ts +11 -0
- package/dist/providers/adapters/CodexACPAdapter.d.ts.map +1 -0
- package/dist/providers/adapters/CodexACPAdapter.js +158 -0
- package/dist/providers/adapters/CodexACPAdapter.js.map +1 -0
- package/dist/providers/registry.d.ts +3 -0
- package/dist/providers/registry.d.ts.map +1 -1
- package/dist/providers/registry.js +4 -0
- package/dist/providers/registry.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
|
|
5
5
|
> **中文文档**: See `README-CN.md` in the source repository for Chinese documentation.
|
|
6
6
|
|
|
7
|
-
**v0.
|
|
7
|
+
**v0.21.0**
|
|
8
8
|
|
|
9
9
|
SPS (Smart Pipeline System) is a fully automated development pipeline CLI tool driven by AI Agents. From task card creation to code merging, the entire process runs unattended.
|
|
10
10
|
|
|
11
11
|
```
|
|
12
|
-
Create cards -> Start pipeline -> AI auto-codes ->
|
|
12
|
+
Create cards -> Start pipeline -> AI auto-codes -> Serial merge queue -> Notify completion
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
## Table of Contents
|
|
@@ -25,6 +25,7 @@ Create cards -> Start pipeline -> AI auto-codes -> Auto-merge to target branch -
|
|
|
25
25
|
- [sps card add](#sps-card-add)
|
|
26
26
|
- [sps tick](#sps-tick)
|
|
27
27
|
- [sps status](#sps-status)
|
|
28
|
+
- [sps acp](#sps-acp)
|
|
28
29
|
- [sps scheduler tick](#sps-scheduler-tick)
|
|
29
30
|
- [sps pipeline tick](#sps-pipeline-tick)
|
|
30
31
|
- [sps worker](#sps-worker)
|
|
@@ -61,7 +62,7 @@ npx tsx src/main.ts --help
|
|
|
61
62
|
| Node.js | 18+ | CLI runtime |
|
|
62
63
|
| git | 2.x | Branch and worktree management |
|
|
63
64
|
| Claude Code CLI or Codex CLI | Latest | AI Worker |
|
|
64
|
-
| tmux | 3.x |
|
|
65
|
+
| tmux | 3.x | Required for `WORKER_MODE=interactive` and ACP Phase 1 local sessions |
|
|
65
66
|
|
|
66
67
|
## Quick Start
|
|
67
68
|
|
|
@@ -103,7 +104,7 @@ Each task card progresses through the following state machine, fully driven by S
|
|
|
103
104
|
|
|
104
105
|
### MR_MODE=none (Default, Recommended)
|
|
105
106
|
|
|
106
|
-
After completing coding, the Worker
|
|
107
|
+
After completing coding, the Worker pushes the feature branch. SPS then serializes final integration to the target branch, skipping MR/CI/QA stages:
|
|
107
108
|
|
|
108
109
|
```
|
|
109
110
|
Planning -> Backlog -> Todo -> Inprogress -> Done
|
|
@@ -112,11 +113,13 @@ Planning -> Backlog -> Todo -> Inprogress -> Done
|
|
|
112
113
|
| Phase | Trigger Engine | Action |
|
|
113
114
|
|-------|---------------|--------|
|
|
114
115
|
| Planning -> Backlog | SchedulerEngine | Select card for queue, check admission criteria |
|
|
115
|
-
| Backlog -> Todo | ExecutionEngine | Create branch, create worktree, generate `.sps/merge.sh` |
|
|
116
|
+
| Backlog -> Todo | ExecutionEngine | Create branch, create worktree, generate fallback `.sps/merge.sh` |
|
|
116
117
|
| Todo -> Inprogress | ExecutionEngine | Assign Worker slot, build task context, launch AI Worker |
|
|
117
|
-
| Inprogress -> Done |
|
|
118
|
+
| Inprogress -> Done | PostActions + MergeMutex | Detect Worker completion, serialize merge to target branch, release resources, clean up worktree |
|
|
118
119
|
|
|
119
|
-
The Worker
|
|
120
|
+
The Worker no longer executes `.sps/merge.sh` as the normal path. In `MR_MODE=none`, the Worker commits and pushes the feature branch, then SPS closeout performs a serialized merge. `.sps/merge.sh` remains only as a manual fallback. See `docs/design/10-acp-worker-runtime-design.md` for the persistent ACP transport model, the full worker state breakdown, and the local same-user OAuth reuse boundary.
|
|
121
|
+
|
|
122
|
+
ACP Phase 2 now connects persistent ACP sessions to the main pipeline launch path. When `WORKER_TRANSPORT=acp`, `sps tick` launches work through `sessionId/runId` instead of a one-shot child process, persists that state into `runtime/state.json` plus `runtime/acp-state.json`, and lets recovery/status/dashboard inspect the live session/run state. Codex has been verified end-to-end on this path; Claude still depends on host-side `claude auth login` before reaching `ready`.
|
|
120
123
|
|
|
121
124
|
### MR_MODE=create (Optional)
|
|
122
125
|
|
|
@@ -426,6 +429,42 @@ sps status [--json]
|
|
|
426
429
|
|
|
427
430
|
---
|
|
428
431
|
|
|
432
|
+
### sps acp
|
|
433
|
+
|
|
434
|
+
Manage persistent ACP-backed worker sessions directly, or inspect the same transport that `sps tick` uses when `WORKER_TRANSPORT=acp`.
|
|
435
|
+
|
|
436
|
+
```bash
|
|
437
|
+
sps acp ensure <project> <slot> [claude|codex] [--json]
|
|
438
|
+
sps acp run <project> <slot> [claude|codex] "<prompt>" [--json]
|
|
439
|
+
sps acp prompt <project> <slot> [claude|codex] "<prompt>" [--json]
|
|
440
|
+
sps acp status <project> [slot] [--json]
|
|
441
|
+
sps acp stop <project> <slot> [--json]
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
Current behavior:
|
|
445
|
+
|
|
446
|
+
- `ensure` starts or reuses a persistent tmux-backed local session and mirrors it into `~/.coral/projects/<project>/runtime/acp-state.json`
|
|
447
|
+
- `run` submits a prompt onto the session and records a new run snapshot
|
|
448
|
+
- `status` refreshes session and run state from the local gateway
|
|
449
|
+
- `stop` terminates the persistent session and marks the slot `offline`
|
|
450
|
+
- `sps tick` reuses the same persistent transport when `WORKER_TRANSPORT=acp`
|
|
451
|
+
|
|
452
|
+
Observed session states:
|
|
453
|
+
|
|
454
|
+
| State | Meaning |
|
|
455
|
+
|-------|---------|
|
|
456
|
+
| `ready` | Session is authenticated and idle, ready to accept a prompt |
|
|
457
|
+
| `busy` | Session is alive and currently working |
|
|
458
|
+
| `booting` | Session started but is still blocked on onboarding or authentication |
|
|
459
|
+
| `offline` | Session is not reachable |
|
|
460
|
+
|
|
461
|
+
Current verification scope:
|
|
462
|
+
|
|
463
|
+
- Codex is verified in this release for `ensure -> run -> status -> stop`
|
|
464
|
+
- Claude session bootstrap and status detection are implemented, but prompt execution still depends on host-side `claude auth login`
|
|
465
|
+
|
|
466
|
+
---
|
|
467
|
+
|
|
429
468
|
### sps scheduler tick
|
|
430
469
|
|
|
431
470
|
Manually execute the scheduling step: Planning -> Backlog.
|
|
@@ -830,6 +869,10 @@ Project conf can reference global variables (e.g., `${PLANE_URL}`).
|
|
|
830
869
|
|-------|----------|---------|-------------|
|
|
831
870
|
| `WORKER_TOOL` | No | `claude` | Worker type: `claude` / `codex` |
|
|
832
871
|
| `WORKER_MODE` | No | `print` | Execution mode: `print` (one-shot process) / `interactive` (tmux TUI) |
|
|
872
|
+
| `WORKER_TRANSPORT` | No | `proc` | Worker transport: `proc` (one-shot child process) / `acp` (persistent session transport for `sps tick` and `sps acp`) |
|
|
873
|
+
| `ACP_GATEWAY_MODE` | No | `local` | ACP gateway deployment mode; Phase 2 supports `local` only |
|
|
874
|
+
| `ACP_AGENT` | No | `WORKER_TOOL` | Default ACP tool when `sps acp` does not receive a tool override |
|
|
875
|
+
| `ACP_SESSION_STRATEGY` | No | `per-slot` | Session allocation strategy; Phase 2 supports `per-slot` only |
|
|
833
876
|
| `MAX_CONCURRENT_WORKERS` | No | `3` | Maximum parallel Workers (worker slot ceiling) |
|
|
834
877
|
| `WORKER_RESTART_LIMIT` | No | `2` | Maximum restart count after Worker death |
|
|
835
878
|
| `AUTOFIX_ATTEMPTS` | No | `2` | CI failure auto-fix attempt count |
|
|
@@ -877,6 +920,10 @@ PLANE_PROJECT_ID="project-uuid-here"
|
|
|
877
920
|
# Worker
|
|
878
921
|
WORKER_TOOL="claude"
|
|
879
922
|
WORKER_MODE="print" # print (recommended) or interactive (tmux fallback)
|
|
923
|
+
WORKER_TRANSPORT="proc" # proc (pipeline default) or acp (persistent session pipeline/runtime)
|
|
924
|
+
ACP_GATEWAY_MODE="local"
|
|
925
|
+
ACP_AGENT="claude"
|
|
926
|
+
ACP_SESSION_STRATEGY="per-slot"
|
|
880
927
|
MAX_CONCURRENT_WORKERS=3
|
|
881
928
|
MAX_ACTIONS_PER_TICK=1
|
|
882
929
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acpCommand.d.ts","sourceRoot":"","sources":["../../src/commands/acpCommand.ts"],"names":[],"mappings":"AAyBA,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EAAE,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgFf"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ProjectContext } from '../core/context.js';
|
|
2
|
+
import { ACPWorkerRuntime } from '../providers/ACPWorkerRuntime.js';
|
|
3
|
+
import { Logger } from '../core/logger.js';
|
|
4
|
+
function parseTool(value) {
|
|
5
|
+
if (!value)
|
|
6
|
+
return undefined;
|
|
7
|
+
if (value === 'claude' || value === 'codex')
|
|
8
|
+
return value;
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
function renderSessionSummary(session) {
|
|
12
|
+
const run = session.currentRun
|
|
13
|
+
? `run=${session.currentRun.runId} ${session.currentRun.status} "${session.currentRun.promptPreview}"`
|
|
14
|
+
: 'run=none';
|
|
15
|
+
return `${session.slot} ${session.tool} session=${session.sessionId} slot=${session.status} remote=${session.sessionState} ${run}`;
|
|
16
|
+
}
|
|
17
|
+
export async function executeAcpCommand(project, subcommand, positionals, flags) {
|
|
18
|
+
const log = new Logger('acp', project);
|
|
19
|
+
const jsonOutput = !!flags.json;
|
|
20
|
+
const ctx = ProjectContext.load(project);
|
|
21
|
+
const runtime = new ACPWorkerRuntime(ctx);
|
|
22
|
+
if (subcommand === 'ensure') {
|
|
23
|
+
const slot = positionals[0];
|
|
24
|
+
if (!slot) {
|
|
25
|
+
throw new Error('Usage: sps acp ensure <project> <slot> [claude|codex]');
|
|
26
|
+
}
|
|
27
|
+
const tool = parseTool(positionals[1]);
|
|
28
|
+
const session = await runtime.ensureSession(slot, tool);
|
|
29
|
+
if (jsonOutput) {
|
|
30
|
+
console.log(JSON.stringify(session, null, 2));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
log.ok(`ACP session ready: ${renderSessionSummary(session)}`);
|
|
34
|
+
}
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (subcommand === 'run' || subcommand === 'prompt') {
|
|
38
|
+
const slot = positionals[0];
|
|
39
|
+
if (!slot) {
|
|
40
|
+
throw new Error('Usage: sps acp run <project> <slot> [claude|codex] "<prompt>"');
|
|
41
|
+
}
|
|
42
|
+
let tool = parseTool(positionals[1]);
|
|
43
|
+
let promptStartIdx = 1;
|
|
44
|
+
if (tool) {
|
|
45
|
+
promptStartIdx = 2;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
tool = undefined;
|
|
49
|
+
}
|
|
50
|
+
const prompt = positionals.slice(promptStartIdx).join(' ').trim();
|
|
51
|
+
if (!prompt) {
|
|
52
|
+
throw new Error('Prompt is required');
|
|
53
|
+
}
|
|
54
|
+
const session = await runtime.startRun(slot, prompt, tool);
|
|
55
|
+
if (jsonOutput) {
|
|
56
|
+
console.log(JSON.stringify(session, null, 2));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
log.ok(`ACP run started: ${renderSessionSummary(session)}`);
|
|
60
|
+
}
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
if (subcommand === 'status') {
|
|
64
|
+
const slot = positionals[0];
|
|
65
|
+
const state = await runtime.inspect(slot);
|
|
66
|
+
if (jsonOutput) {
|
|
67
|
+
console.log(JSON.stringify(state, null, 2));
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
const sessions = Object.values(state.sessions);
|
|
71
|
+
if (sessions.length === 0) {
|
|
72
|
+
log.info('No ACP sessions tracked');
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
for (const session of sessions) {
|
|
76
|
+
log.info(renderSessionSummary(session));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (subcommand === 'stop') {
|
|
83
|
+
const slot = positionals[0];
|
|
84
|
+
if (!slot) {
|
|
85
|
+
throw new Error('Usage: sps acp stop <project> <slot>');
|
|
86
|
+
}
|
|
87
|
+
await runtime.stopSession(slot);
|
|
88
|
+
if (jsonOutput) {
|
|
89
|
+
console.log(JSON.stringify({ ok: true, project, slot }, null, 2));
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
log.ok(`Stopped ACP session for ${slot}`);
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
throw new Error('Usage: sps acp <ensure|run|prompt|status|stop> <project> [args...]');
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=acpCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acpCommand.js","sourceRoot":"","sources":["../../src/commands/acpCommand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelineTick.d.ts","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"AAUA,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"pipelineTick.d.ts","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"AAUA,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAgDf"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProjectContext } from '../core/context.js';
|
|
2
2
|
import { ExecutionEngine } from '../engines/ExecutionEngine.js';
|
|
3
|
-
import { createTaskBackend, createRepoBackend, createNotifier } from '../providers/registry.js';
|
|
3
|
+
import { createTaskBackend, createRepoBackend, createNotifier, createAgentRuntime } from '../providers/registry.js';
|
|
4
4
|
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
5
5
|
import { CompletionJudge } from '../manager/completion-judge.js';
|
|
6
6
|
import { PostActions } from '../manager/post-actions.js';
|
|
@@ -37,7 +37,8 @@ export async function executePipelineTick(project, flags) {
|
|
|
37
37
|
});
|
|
38
38
|
const pmClient = createPMClient(ctx.config);
|
|
39
39
|
const postActions = new PostActions(pmClient, supervisor, resourceLimiter, notifier);
|
|
40
|
-
const
|
|
40
|
+
const agentRuntime = createAgentRuntime(ctx);
|
|
41
|
+
const engine = new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier, agentRuntime);
|
|
41
42
|
const result = await engine.tick({ dryRun });
|
|
42
43
|
if (jsonOutput) {
|
|
43
44
|
console.log(JSON.stringify(result, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipelineTick.js","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"pipelineTick.js","sourceRoot":"","sources":["../../src/commands/pipelineTick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAwHA,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CA4EjF"}
|
package/dist/commands/status.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { existsSync, readFileSync, readdirSync } from 'node:fs';
|
|
9
9
|
import { resolve } from 'node:path';
|
|
10
10
|
import { readState } from '../core/state.js';
|
|
11
|
+
import { readACPState } from '../core/acpState.js';
|
|
11
12
|
import { loadProjectConf } from '../core/config.js';
|
|
12
13
|
const HOME = process.env.HOME || '/home/coral';
|
|
13
14
|
const PROJECTS_DIR = resolve(HOME, '.coral', 'projects');
|
|
@@ -24,6 +25,7 @@ function getProjectStatus(project) {
|
|
|
24
25
|
const projectDir = resolve(PROJECTS_DIR, project);
|
|
25
26
|
const lockFile = resolve(projectDir, 'runtime', 'tick.lock');
|
|
26
27
|
const stateFile = resolve(projectDir, 'runtime', 'state.json');
|
|
28
|
+
const acpStateFile = resolve(projectDir, 'runtime', 'acp-state.json');
|
|
27
29
|
const pipelineFile = resolve(projectDir, 'pipeline_order.json');
|
|
28
30
|
// Tick status
|
|
29
31
|
let tick = 'stopped';
|
|
@@ -47,18 +49,31 @@ function getProjectStatus(project) {
|
|
|
47
49
|
try {
|
|
48
50
|
const maxWorkers = loadProjectConf(project).MAX_CONCURRENT_WORKERS;
|
|
49
51
|
const state = readState(stateFile, maxWorkers);
|
|
50
|
-
const
|
|
52
|
+
const acpState = readACPState(acpStateFile);
|
|
53
|
+
const slots = Object.entries(state.workers);
|
|
51
54
|
let realActive = 0;
|
|
52
55
|
let stale = 0;
|
|
53
56
|
let merging = 0;
|
|
54
|
-
for (const slot of slots) {
|
|
57
|
+
for (const [slotName, slot] of slots) {
|
|
55
58
|
if (slot.status === 'active') {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
+
if (slot.transport === 'acp' || slot.mode === 'acp') {
|
|
60
|
+
const session = acpState.sessions[slotName];
|
|
61
|
+
const runStatus = session?.currentRun?.status || null;
|
|
62
|
+
if (session && session.sessionState !== 'offline' && runStatus && !['completed', 'failed', 'cancelled', 'lost'].includes(runStatus)) {
|
|
63
|
+
realActive++;
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
stale++;
|
|
67
|
+
}
|
|
59
68
|
}
|
|
60
69
|
else {
|
|
61
|
-
|
|
70
|
+
const workerPid = slot.pid ?? null;
|
|
71
|
+
if (workerPid && isPidAlive(workerPid)) {
|
|
72
|
+
realActive++;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
stale++;
|
|
76
|
+
}
|
|
62
77
|
}
|
|
63
78
|
}
|
|
64
79
|
else if (slot.status === 'merging' || slot.status === 'resolving') {
|
|
@@ -68,7 +83,7 @@ function getProjectStatus(project) {
|
|
|
68
83
|
workers = {
|
|
69
84
|
total: slots.length,
|
|
70
85
|
active: realActive,
|
|
71
|
-
idle: slots.filter(s => s.status === 'idle').length,
|
|
86
|
+
idle: slots.filter(([, s]) => s.status === 'idle').length,
|
|
72
87
|
stale,
|
|
73
88
|
merging,
|
|
74
89
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,aAAa,CAAC;AAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAOzD,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAYD,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IAEhE,cAAc;IACd,IAAI,IAAI,GAA0B,SAAS,CAAC;IAC5C,IAAI,GAAG,GAAkB,IAAI,CAAC;IAC9B,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,GAAa,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;YACnE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACf,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAC3B,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,GAAG,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACrE,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,sBAAsB,CAAC;YACnE,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tick.d.ts","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"AAyIA;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuJf"}
|
package/dist/commands/tick.js
CHANGED
|
@@ -6,7 +6,7 @@ import { SchedulerEngine } from '../engines/SchedulerEngine.js';
|
|
|
6
6
|
import { ExecutionEngine } from '../engines/ExecutionEngine.js';
|
|
7
7
|
import { CloseoutEngine } from '../engines/CloseoutEngine.js';
|
|
8
8
|
import { MonitorEngine } from '../engines/MonitorEngine.js';
|
|
9
|
-
import { createTaskBackend, createWorkerProvider, createRepoBackend, createNotifier } from '../providers/registry.js';
|
|
9
|
+
import { createTaskBackend, createWorkerProvider, createRepoBackend, createNotifier, createAgentRuntime } from '../providers/registry.js';
|
|
10
10
|
import { ProcessSupervisor } from '../manager/supervisor.js';
|
|
11
11
|
import { CompletionJudge } from '../manager/completion-judge.js';
|
|
12
12
|
import { PostActions } from '../manager/post-actions.js';
|
|
@@ -61,12 +61,13 @@ function createRunner(project) {
|
|
|
61
61
|
return null;
|
|
62
62
|
}
|
|
63
63
|
// Create providers
|
|
64
|
-
let taskBackend, workerProvider, repoBackend, notifier;
|
|
64
|
+
let taskBackend, workerProvider, repoBackend, notifier, agentRuntime;
|
|
65
65
|
try {
|
|
66
66
|
taskBackend = createTaskBackend(ctx.config);
|
|
67
67
|
workerProvider = createWorkerProvider(ctx.config);
|
|
68
68
|
repoBackend = createRepoBackend(ctx.config);
|
|
69
69
|
notifier = createNotifier(ctx.config);
|
|
70
|
+
agentRuntime = createAgentRuntime(ctx);
|
|
70
71
|
}
|
|
71
72
|
catch (err) {
|
|
72
73
|
const msg = err instanceof Error ? err.message : String(err);
|
|
@@ -88,7 +89,7 @@ function createRunner(project) {
|
|
|
88
89
|
notifier,
|
|
89
90
|
scheduler: new SchedulerEngine(ctx, taskBackend, notifier),
|
|
90
91
|
closeout: new CloseoutEngine(ctx, taskBackend, repoBackend, workerProvider, notifier),
|
|
91
|
-
execution: new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier),
|
|
92
|
+
execution: new ExecutionEngine(ctx, taskBackend, repoBackend, supervisor, completionJudge, postActions, resourceLimiter, notifier, agentRuntime),
|
|
92
93
|
monitor: new MonitorEngine(ctx, taskBackend, workerProvider, repoBackend, notifier, supervisor),
|
|
93
94
|
done: false,
|
|
94
95
|
fatalError: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tick.js","sourceRoot":"","sources":["../../src/commands/tick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workerDashboard.d.ts","sourceRoot":"","sources":["../../src/commands/workerDashboard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workerDashboard.d.ts","sourceRoot":"","sources":["../../src/commands/workerDashboard.ts"],"names":[],"mappings":"AA0hBA,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC,CA6Bf"}
|
|
@@ -3,6 +3,7 @@ import { existsSync, readdirSync } from 'node:fs';
|
|
|
3
3
|
import { resolve } from 'node:path';
|
|
4
4
|
import { ProjectContext } from '../core/context.js';
|
|
5
5
|
import { readState } from '../core/state.js';
|
|
6
|
+
import { readACPState } from '../core/acpState.js';
|
|
6
7
|
import { isProcessAlive, tailFile } from '../providers/outputParser.js';
|
|
7
8
|
import { renderClaudeStreamLines, renderCodexStreamLines } from '../providers/streamRenderer.js';
|
|
8
9
|
const HOME = process.env.HOME || '/home/coral';
|
|
@@ -136,12 +137,22 @@ function collectPanels(projects) {
|
|
|
136
137
|
continue;
|
|
137
138
|
}
|
|
138
139
|
const state = readState(ctx.paths.stateFile, ctx.maxWorkers);
|
|
140
|
+
const acpState = readACPState(ctx.paths.acpStateFile);
|
|
139
141
|
for (const [slotName, slot] of Object.entries(state.workers)) {
|
|
140
142
|
const sessionName = slot.tmuxSession || `${projectName}-${slotName}`;
|
|
141
143
|
const isPrintMode = slot.mode === 'print';
|
|
144
|
+
const isAcpMode = slot.mode === 'acp' || slot.transport === 'acp';
|
|
142
145
|
let sessionAlive;
|
|
143
146
|
let paneLines;
|
|
144
|
-
if (
|
|
147
|
+
if (isAcpMode) {
|
|
148
|
+
const session = acpState.sessions[slotName];
|
|
149
|
+
const runStatus = session?.currentRun?.status || slot.remoteStatus || 'unknown';
|
|
150
|
+
sessionAlive = !!(session && session.sessionState !== 'offline');
|
|
151
|
+
paneLines = session?.lastPaneText
|
|
152
|
+
? session.lastPaneText.split('\n')
|
|
153
|
+
: [`(acp ${slot.agent || 'worker'} ${sessionAlive ? 'connected' : 'offline'})`, `run: ${runStatus}`];
|
|
154
|
+
}
|
|
155
|
+
else if (isPrintMode) {
|
|
145
156
|
// Print mode: check PID liveness + tail output file
|
|
146
157
|
sessionAlive = !!(slot.pid && slot.pid > 0 && isProcessAlive(slot.pid));
|
|
147
158
|
if (slot.outputFile) {
|
|
@@ -214,7 +225,9 @@ function renderPanel(panel, panelWidth, panelHeight) {
|
|
|
214
225
|
: '';
|
|
215
226
|
const modeInfo = panel.slot.mode === 'print'
|
|
216
227
|
? `pid:${panel.slot.pid || '?'}${panel.slot.exitCode != null ? ` exit:${panel.slot.exitCode}` : ''}`
|
|
217
|
-
: ''
|
|
228
|
+
: panel.slot.mode === 'acp'
|
|
229
|
+
? `acp:${panel.slot.sessionState || 'unknown'}${panel.slot.remoteStatus ? `/${panel.slot.remoteStatus}` : ''}`
|
|
230
|
+
: '';
|
|
218
231
|
const timeLine = elapsed || heartbeat || modeInfo
|
|
219
232
|
? ` ${DIM}${[elapsed, heartbeat, modeInfo].filter(Boolean).join(' │ ')}${RESET}`
|
|
220
233
|
: '';
|
|
@@ -376,16 +389,23 @@ function buildJsonOutput(projects) {
|
|
|
376
389
|
continue;
|
|
377
390
|
}
|
|
378
391
|
const state = readState(ctx.paths.stateFile, ctx.maxWorkers);
|
|
392
|
+
const acpState = readACPState(ctx.paths.acpStateFile);
|
|
379
393
|
const workers = [];
|
|
380
394
|
for (const [slotName, slot] of Object.entries(state.workers)) {
|
|
381
395
|
const sessionName = slot.tmuxSession || `${projectName}-${slotName}`;
|
|
382
396
|
const isPrintMode = slot.mode === 'print';
|
|
383
|
-
const
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
397
|
+
const isAcpMode = slot.mode === 'acp' || slot.transport === 'acp';
|
|
398
|
+
const acpSession = acpState.sessions[slotName];
|
|
399
|
+
const sessionAlive = isAcpMode
|
|
400
|
+
? !!(acpSession && acpSession.sessionState !== 'offline')
|
|
401
|
+
: isPrintMode
|
|
402
|
+
? !!(slot.pid && slot.pid > 0 && isProcessAlive(slot.pid))
|
|
403
|
+
: allSessions.has(sessionName);
|
|
404
|
+
const panePreview = isAcpMode
|
|
405
|
+
? (acpSession?.lastPaneText || '').trim()
|
|
406
|
+
: sessionAlive && !isPrintMode
|
|
407
|
+
? capturePaneText(sessionName, 5).trim()
|
|
408
|
+
: '';
|
|
389
409
|
workers.push({
|
|
390
410
|
slot: slotName,
|
|
391
411
|
status: slot.status,
|