@coralai/sps-cli 0.11.0 → 0.11.1
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 +63 -23
- package/dist/engines/ExecutionEngine.d.ts.map +1 -1
- package/dist/engines/ExecutionEngine.js +18 -2
- package/dist/engines/ExecutionEngine.js.map +1 -1
- package/dist/models/types.d.ts +3 -1
- package/dist/models/types.d.ts.map +1 -1
- package/dist/providers/ClaudePrintProvider.d.ts +6 -2
- package/dist/providers/ClaudePrintProvider.d.ts.map +1 -1
- package/dist/providers/ClaudePrintProvider.js +90 -31
- package/dist/providers/ClaudePrintProvider.js.map +1 -1
- package/dist/providers/CodexExecProvider.d.ts +6 -1
- package/dist/providers/CodexExecProvider.d.ts.map +1 -1
- package/dist/providers/CodexExecProvider.js +71 -13
- package/dist/providers/CodexExecProvider.js.map +1 -1
- package/dist/providers/outputParser.d.ts +11 -0
- package/dist/providers/outputParser.d.ts.map +1 -1
- package/dist/providers/outputParser.js +36 -0
- package/dist/providers/outputParser.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -55,8 +55,8 @@ npx tsx src/main.ts --help
|
|
|
55
55
|
|------|---------|------|
|
|
56
56
|
| Node.js | 18+ | CLI 运行环境 |
|
|
57
57
|
| git | 2.x | 分支与 worktree 管理 |
|
|
58
|
-
| tmux | 3.x | Worker 会话管理 |
|
|
59
58
|
| Claude Code CLI 或 Codex CLI | 最新 | AI Worker |
|
|
59
|
+
| tmux | 3.x | 仅 `WORKER_MODE=interactive` 时需要 |
|
|
60
60
|
|
|
61
61
|
## 快速开始
|
|
62
62
|
|
|
@@ -229,7 +229,7 @@ sps doctor <project> [--fix] [--json] [--skip-remote]
|
|
|
229
229
|
| gitlab | GitLab API 连通性 |
|
|
230
230
|
| plane | Plane API 连通性(仅 PM_TOOL=plane) |
|
|
231
231
|
| worker-tool | Claude Code / Codex CLI 是否在 PATH 中 |
|
|
232
|
-
| tmux | tmux
|
|
232
|
+
| tmux | tmux 是否可用(仅 `WORKER_MODE=interactive` 时必需) |
|
|
233
233
|
|
|
234
234
|
| 选项 | 说明 |
|
|
235
235
|
|------|------|
|
|
@@ -392,7 +392,7 @@ sps pipeline tick <project> [--json] [--dry-run]
|
|
|
392
392
|
2. **处理 Backlog 卡片** — 创建分支 + 创建 worktree → 推入 Todo
|
|
393
393
|
3. **处理 Todo 卡片** — 分配 Worker slot + 构建任务上下文 + 启动 Worker → 推入 Inprogress
|
|
394
394
|
|
|
395
|
-
受 `MAX_ACTIONS_PER_TICK` 限制(默认 1),防止单轮 tick 同时启动过多 Worker。多个 Worker
|
|
395
|
+
受 `MAX_ACTIONS_PER_TICK` 限制(默认 1),防止单轮 tick 同时启动过多 Worker。多个 Worker 启动之间有间隔(print 模式 2 秒,interactive 模式 10 秒)。
|
|
396
396
|
|
|
397
397
|
带有 `BLOCKED`、`NEEDS-FIX`、`CONFLICT`、`WAITING-CONFIRMATION`、`STALE-RUNTIME` 标签的卡片会被跳过。
|
|
398
398
|
|
|
@@ -421,14 +421,46 @@ sps worker launch <project> <seq> [--json] [--dry-run]
|
|
|
421
421
|
|
|
422
422
|
**启动流程:**
|
|
423
423
|
|
|
424
|
-
1. 分配空闲 Worker slot
|
|
424
|
+
1. 分配空闲 Worker slot
|
|
425
425
|
2. 写入 `.jarvis_task_prompt.txt` 到 worktree
|
|
426
|
-
3.
|
|
427
|
-
4.
|
|
428
|
-
5. 发送任务 prompt
|
|
429
|
-
6. 卡片推入 Inprogress
|
|
426
|
+
3. 启动 Worker 进程
|
|
427
|
+
4. 卡片推入 Inprogress
|
|
430
428
|
|
|
431
|
-
**
|
|
429
|
+
**Worker 执行模式(`WORKER_MODE`):**
|
|
430
|
+
|
|
431
|
+
| 模式 | 默认 | 说明 |
|
|
432
|
+
|------|------|------|
|
|
433
|
+
| `print` | **是** | 一次性执行,进程退出 = 任务完成,不依赖 tmux |
|
|
434
|
+
| `interactive` | 否 | 传统 tmux TUI 交互模式(降级方案) |
|
|
435
|
+
|
|
436
|
+
**Print 模式(推荐):**
|
|
437
|
+
|
|
438
|
+
Worker 以子进程方式运行,prompt 通过 stdin 传入,输出写入 JSONL 文件:
|
|
439
|
+
|
|
440
|
+
```
|
|
441
|
+
Claude: claude -p --output-format stream-json --dangerously-skip-permissions
|
|
442
|
+
Codex: codex exec - --json --dangerously-bypass-approvals-and-sandbox
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
核心优势:
|
|
446
|
+
- **不会卡住** — 无 TUI 交互,进程退出即完成
|
|
447
|
+
- **不需要确认** — 权限参数跳过所有确认弹窗
|
|
448
|
+
- **上下文延续** — 通过 `--resume <sessionId>` 实现跨任务上下文复用(命中 prompt cache,节省 token)
|
|
449
|
+
- **不依赖 tmux** — 纯进程管理,适合 CI/CD 环境
|
|
450
|
+
|
|
451
|
+
**Session Resume 链:**
|
|
452
|
+
|
|
453
|
+
同一 worktree 上的多次任务(初始实现 → CI 修复 → 冲突解决)共享同一个 session:
|
|
454
|
+
|
|
455
|
+
```
|
|
456
|
+
任务1: claude -p "实现功能" → session_id_1(存入 state.json)
|
|
457
|
+
CI修复: claude -p "修复CI" --resume sid → 继承任务1的完整上下文
|
|
458
|
+
冲突: claude -p "解冲突" --resume sid → 继承所有历史上下文
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
**Interactive 模式(降级方案):**
|
|
462
|
+
|
|
463
|
+
设置 `WORKER_MODE=interactive` 回退到 tmux 交互模式。此模式下复用策略:
|
|
432
464
|
|
|
433
465
|
| 场景 | 行为 |
|
|
434
466
|
|------|------|
|
|
@@ -455,14 +487,16 @@ sps worker dashboard [project1] [project2] ... [--once] [--json]
|
|
|
455
487
|
|------|------|
|
|
456
488
|
| (无参数) | 自动发现 `~/.projects/` 下所有项目 |
|
|
457
489
|
| `--once` | 输出一次快照后退出(不进入实时模式) |
|
|
458
|
-
| `--json` | 输出 JSON 格式(所有项目、所有 Worker slot 状态 +
|
|
490
|
+
| `--json` | 输出 JSON 格式(所有项目、所有 Worker slot 状态 + 输出预览) |
|
|
459
491
|
|
|
460
492
|
**实时模式:**
|
|
461
493
|
|
|
462
494
|
- 默认每 3 秒刷新(可通过 `SPS_DASHBOARD_INTERVAL` 环境变量调整)
|
|
463
495
|
- 按 `q` 退出,按 `r` 强制刷新
|
|
496
|
+
- 使用 alternate screen buffer(不污染终端 scrollback)
|
|
464
497
|
- 自适应网格布局,每个 Worker 一个面板
|
|
465
|
-
-
|
|
498
|
+
- Print 模式面板显示:PID、exit code、JSONL 渲染后的可读输出
|
|
499
|
+
- Interactive 模式面板显示:tmux pane 实时输出
|
|
466
500
|
|
|
467
501
|
**示例:**
|
|
468
502
|
|
|
@@ -580,7 +614,7 @@ sps qa tick <project> [--json]
|
|
|
580
614
|
| MR 不存在 | 标记 `NEEDS-FIX` |
|
|
581
615
|
| MR 已 merged | 释放资源 → Done |
|
|
582
616
|
| MR open + CI 成功 + 可合并 | 自动 merge |
|
|
583
|
-
| MR open + CI 失败 |
|
|
617
|
+
| MR open + CI 失败 | 自动修复(print 模式通过 `--resume` 延续上下文)或标记 `NEEDS-FIX` |
|
|
584
618
|
| MR open + CI 运行中 | 跳过,下轮再检查 |
|
|
585
619
|
| MR open + 不可合并 | 标记 `CONFLICT` |
|
|
586
620
|
| MR 已关闭(未 merge) | 标记 `NEEDS-FIX` |
|
|
@@ -616,10 +650,10 @@ sps monitor tick <project> [--json]
|
|
|
616
650
|
|
|
617
651
|
| 检查 | 说明 |
|
|
618
652
|
|------|------|
|
|
619
|
-
| 孤儿 slot 清理 | tmux session 已死但 slot 仍标记 active |
|
|
653
|
+
| 孤儿 slot 清理 | 进程/tmux session 已死但 slot 仍标记 active |
|
|
620
654
|
| 超时检测 | Inprogress 超过 `INPROGRESS_TIMEOUT_HOURS` |
|
|
621
|
-
| 等待确认检测 | Worker
|
|
622
|
-
| 阻塞检测 | Worker 遇到 error/fatal/stuck
|
|
655
|
+
| 等待确认检测 | Worker 等待用户确认(仅 interactive 模式;print 模式无确认) |
|
|
656
|
+
| 阻塞检测 | Worker 遇到 error/fatal/stuck 等(仅 interactive 模式) |
|
|
623
657
|
| 状态对齐 | PM 状态与 runtime 状态是否一致 |
|
|
624
658
|
|
|
625
659
|
**示例:**
|
|
@@ -645,8 +679,8 @@ sps monitor tick my-project --json
|
|
|
645
679
|
|
|
646
680
|
1. `CLAUDE.md` 和 `AGENTS.md` 提交到仓库主分支
|
|
647
681
|
2. 创建 git worktree 时自动继承这些文件
|
|
648
|
-
3. Worker 启动时读取 CLAUDE.md
|
|
649
|
-
4. 任务特有信息(seq、分支名、描述)写入 `.jarvis_task_prompt.txt
|
|
682
|
+
3. Worker 启动时读取 CLAUDE.md 了解项目规则(interactive 模式自动发现;print 模式在 cwd 中自动加载)
|
|
683
|
+
4. 任务特有信息(seq、分支名、描述)写入 `.jarvis_task_prompt.txt`,通过 stdin 传给 Worker(print 模式)或通过 tmux paste 传入(interactive 模式)
|
|
650
684
|
|
|
651
685
|
### 自定义项目规则
|
|
652
686
|
|
|
@@ -706,10 +740,11 @@ SPS 不会覆盖已存在的 CLAUDE.md / AGENTS.md。
|
|
|
706
740
|
| 字段 | 必填 | 默认值 | 说明 |
|
|
707
741
|
|------|------|-------|------|
|
|
708
742
|
| `WORKER_TOOL` | 否 | `claude` | Worker 类型:`claude` / `codex` |
|
|
743
|
+
| `WORKER_MODE` | 否 | `print` | 执行模式:`print`(一次性进程) / `interactive`(tmux TUI) |
|
|
709
744
|
| `MAX_CONCURRENT_WORKERS` | 否 | `3` | 最大并行 Worker 数 |
|
|
710
745
|
| `WORKER_RESTART_LIMIT` | 否 | `2` | Worker 死亡后最大重启次数 |
|
|
711
746
|
| `AUTOFIX_ATTEMPTS` | 否 | `2` | CI 失败自动修复尝试次数 |
|
|
712
|
-
| `WORKER_SESSION_REUSE` | 否 | `true` | 是否复用 tmux session |
|
|
747
|
+
| `WORKER_SESSION_REUSE` | 否 | `true` | 是否复用 tmux session(仅 interactive 模式) |
|
|
713
748
|
| `MAX_ACTIONS_PER_TICK` | 否 | `1` | 每轮 tick 最大操作数 |
|
|
714
749
|
|
|
715
750
|
#### 超时与策略
|
|
@@ -752,8 +787,8 @@ PLANE_PROJECT_ID="project-uuid-here"
|
|
|
752
787
|
|
|
753
788
|
# Worker
|
|
754
789
|
WORKER_TOOL="claude"
|
|
790
|
+
WORKER_MODE="print" # print(推荐)或 interactive(tmux 降级)
|
|
755
791
|
MAX_CONCURRENT_WORKERS=3
|
|
756
|
-
WORKER_SESSION_REUSE=true
|
|
757
792
|
MAX_ACTIONS_PER_TICK=1
|
|
758
793
|
```
|
|
759
794
|
|
|
@@ -800,7 +835,8 @@ Layer 0 Core Runtime 配置、路径、状态、锁、日志
|
|
|
800
835
|
|------|----------|------|
|
|
801
836
|
| PM 后端 | Plane CE / Trello / Markdown | TaskBackend |
|
|
802
837
|
| 代码托管 | GitLab | RepoBackend |
|
|
803
|
-
| AI Worker |
|
|
838
|
+
| AI Worker (print) | ClaudePrintProvider / CodexExecProvider | WorkerProvider |
|
|
839
|
+
| AI Worker (interactive) | ClaudeTmuxProvider / CodexTmuxProvider | WorkerProvider |
|
|
804
840
|
| 通知 | Matrix | Notifier |
|
|
805
841
|
|
|
806
842
|
### 引擎
|
|
@@ -855,12 +891,16 @@ workflow-cli/
|
|
|
855
891
|
│ ├── models/ # 类型定义
|
|
856
892
|
│ │ └── types.ts # Card, CommandResult, WorkerStatus 等
|
|
857
893
|
│ └── providers/ # 具体实现
|
|
858
|
-
│ ├── registry.ts # Provider
|
|
894
|
+
│ ├── registry.ts # Provider 工厂(按 WORKER_MODE × WORKER_TOOL 路由)
|
|
859
895
|
│ ├── PlaneTaskBackend.ts
|
|
860
896
|
│ ├── TrelloTaskBackend.ts
|
|
861
897
|
│ ├── MarkdownTaskBackend.ts
|
|
862
|
-
│ ├──
|
|
863
|
-
│ ├──
|
|
898
|
+
│ ├── ClaudePrintProvider.ts # claude -p 一次性执行(默认)
|
|
899
|
+
│ ├── CodexExecProvider.ts # codex exec 一次性执行(默认)
|
|
900
|
+
│ ├── ClaudeTmuxProvider.ts # tmux 交互模式(降级方案)
|
|
901
|
+
│ ├── CodexTmuxProvider.ts # tmux 交互模式(降级方案)
|
|
902
|
+
│ ├── outputParser.ts # JSONL 输出解析、进程管理工具
|
|
903
|
+
│ ├── streamRenderer.ts # JSONL → 人类可读文本(Dashboard 用)
|
|
864
904
|
│ ├── GitLabRepoBackend.ts
|
|
865
905
|
│ └── MatrixNotifier.ts
|
|
866
906
|
├── package.json
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,oBAAoB,CAAC;AAQ5F,qBAAa,eAAe;IAIxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ,CAAC;IAPnB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAKvB,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IA2FnE;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDxF,OAAO,CAAC,UAAU;IAMlB;;;;;;;;;;;;OAYG;YACW,mBAAmB;
|
|
1
|
+
{"version":3,"file":"ExecutionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAsC,MAAM,oBAAoB,CAAC;AAQ5F,qBAAa,eAAe;IAIxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ,CAAC;IAPnB,OAAO,CAAC,GAAG,CAAS;gBAGV,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,WAAW,EACxB,QAAQ,CAAC,EAAE,QAAQ,YAAA;IAKvB,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IA2FnE;;;OAGG;IACG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuDxF,OAAO,CAAC,UAAU;IAMlB;;;;;;;;;;;;OAYG;YACW,mBAAmB;IAwJjC;;;OAGG;YACW,WAAW;IA6DzB;;;OAGG;YACW,UAAU;IAmKxB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAqDxB;;OAEG;IACH,OAAO,CAAC,WAAW;IA+BnB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,OAAO,CAAC,QAAQ;CASjB"}
|
|
@@ -277,10 +277,26 @@ export class ExecutionEngine {
|
|
|
277
277
|
this.logEvent('blocked', seq, 'ok');
|
|
278
278
|
return { action: 'mark-blocked', entity: `seq:${seq}`, result: 'ok', message: 'Worker blocked' };
|
|
279
279
|
}
|
|
280
|
+
case 'EXITED_INCOMPLETE': {
|
|
281
|
+
// Worker exited gracefully (exit 0) but produced no artifacts.
|
|
282
|
+
// Likely hit token/budget limit or gave up.
|
|
283
|
+
// Mark NEEDS-FIX so it can be retried or investigated.
|
|
284
|
+
this.log.warn(`seq ${seq}: Worker exited without completing (no commits/MR found)`);
|
|
285
|
+
try {
|
|
286
|
+
await this.taskBackend.addLabel(seq, 'NEEDS-FIX');
|
|
287
|
+
await this.taskBackend.comment(seq, 'Worker exited without completing the task (no commits or MR found). May need retry or manual intervention.');
|
|
288
|
+
}
|
|
289
|
+
catch { /* best effort */ }
|
|
290
|
+
if (this.notifier) {
|
|
291
|
+
await this.notifier.sendWarning(`[${this.ctx.projectName}] seq:${seq} worker exited incomplete — no artifacts`).catch(() => { });
|
|
292
|
+
}
|
|
293
|
+
this.logEvent('exited-incomplete', seq, 'ok');
|
|
294
|
+
return { action: 'mark-needs-fix', entity: `seq:${seq}`, result: 'ok', message: 'Worker exited without artifacts (NEEDS-FIX)' };
|
|
295
|
+
}
|
|
280
296
|
case 'DEAD':
|
|
281
297
|
case 'DEAD_EXCEEDED': {
|
|
282
|
-
// Worker session died — MonitorEngine handles STALE-RUNTIME in detail
|
|
283
|
-
this.log.warn(`seq ${seq}: Worker
|
|
298
|
+
// Worker session/process died — MonitorEngine handles STALE-RUNTIME in detail
|
|
299
|
+
this.log.warn(`seq ${seq}: Worker dead (${workerStatus})`);
|
|
284
300
|
return null; // defer to MonitorEngine
|
|
285
301
|
}
|
|
286
302
|
case 'ALIVE':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionEngine.js","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ExecutionEngine.js","sourceRoot":"","sources":["../../src/engines/ExecutionEngine.ts"],"names":[],"mappings":"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"}
|
package/dist/models/types.d.ts
CHANGED
|
@@ -11,7 +11,9 @@ export interface Card {
|
|
|
11
11
|
export type CardState = 'Planning' | 'Backlog' | 'Todo' | 'Inprogress' | 'QA' | 'Done';
|
|
12
12
|
export type AuxiliaryState = 'BLOCKED' | 'NEEDS-FIX' | 'WAITING-CONFIRMATION' | 'CONFLICT' | 'STALE-RUNTIME';
|
|
13
13
|
/** Worker detection result */
|
|
14
|
-
export type WorkerStatus = 'ALIVE' | 'COMPLETED' | 'NEEDS_INPUT' | 'AUTO_CONFIRM' | 'BLOCKED' | 'DEAD' | 'DEAD_EXCEEDED'
|
|
14
|
+
export type WorkerStatus = 'ALIVE' | 'COMPLETED' | 'NEEDS_INPUT' | 'AUTO_CONFIRM' | 'BLOCKED' | 'DEAD' | 'DEAD_EXCEEDED'
|
|
15
|
+
/** Process exited (code 0) but no artifacts found (no commits/MR). Worker gave up or hit token limit. */
|
|
16
|
+
| 'EXITED_INCOMPLETE';
|
|
15
17
|
/** MR status from repo backend */
|
|
16
18
|
export interface MrStatus {
|
|
17
19
|
exists: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,IAAI,GAAG,MAAM,CAAC;AAEvF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,sBAAsB,GAAG,UAAU,GAAG,eAAe,CAAC;AAE7G,8BAA8B;AAC9B,MAAM,MAAM,YAAY,GACpB,OAAO,GACP,WAAW,GACX,aAAa,GACb,cAAc,GACd,SAAS,GACT,MAAM,GACN,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export declare class ClaudePrintProvider implements WorkerProvider {
|
|
|
16
16
|
pid?: number;
|
|
17
17
|
exitCode?: number;
|
|
18
18
|
}>;
|
|
19
|
-
detectCompleted(session: string, logDir: string,
|
|
19
|
+
detectCompleted(session: string, logDir: string, branch: string): Promise<WorkerStatus>;
|
|
20
20
|
/**
|
|
21
21
|
* Print mode with --dangerously-skip-permissions never waits for input.
|
|
22
22
|
*/
|
|
@@ -44,7 +44,11 @@ export declare class ClaudePrintProvider implements WorkerProvider {
|
|
|
44
44
|
* Called asynchronously — updates the tracking entry.
|
|
45
45
|
*/
|
|
46
46
|
extractSessionIdAsync(session: string): Promise<string | null>;
|
|
47
|
-
|
|
47
|
+
/**
|
|
48
|
+
* Look up worker slot info from state.json by tmuxSession name.
|
|
49
|
+
* Used as fallback when activeProcesses map is empty (SPS restarted).
|
|
50
|
+
*/
|
|
51
|
+
private findSlotBySession;
|
|
48
52
|
private log;
|
|
49
53
|
}
|
|
50
54
|
//# sourceMappingURL=ClaudePrintProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudePrintProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ClaudePrintProvider.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClaudePrintProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ClaudePrintProvider.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AA0BvD,qBAAa,mBAAoB,YAAW,cAAc;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,aAAa;IAI3B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa/D;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAcpF,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QACtC,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IA8BI,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IAkExB;;OAEG;IACG,aAAa,CACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAIhE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIvD;;;OAGG;IACG,OAAO,CACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,YAAY,CAAC;IAalB,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,YAAY,CAAC;IAmBxB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,OAAO,CAAC,WAAW;IAkEnB;;;OAGG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAQpE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,GAAG;CAGZ"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
import { spawn, execFileSync } from 'node:child_process';
|
|
8
8
|
import { existsSync, readFileSync, createWriteStream } from 'node:fs';
|
|
9
9
|
import { resolve } from 'node:path';
|
|
10
|
-
import { tailFile, parseClaudeSessionId, isProcessAlive, killProcessGroup, extractLastAssistantText, } from './outputParser.js';
|
|
10
|
+
import { tailFile, parseClaudeSessionId, isProcessAlive, killProcessGroup, extractLastAssistantText, branchCommitsAhead, branchPushed, } from './outputParser.js';
|
|
11
|
+
import { readState } from '../core/state.js';
|
|
11
12
|
/** Completion indicators in the final assistant message. */
|
|
12
13
|
const COMPLETION_KEYWORDS = /\b(done|完成|全部完成|MR created|merge request|已提交|已推送)\b|🎉/i;
|
|
13
14
|
/**
|
|
@@ -46,48 +47,85 @@ export class ClaudePrintProvider {
|
|
|
46
47
|
return this.spawnClaude(session, worktree, prompt, outputFile);
|
|
47
48
|
}
|
|
48
49
|
async inspect(session) {
|
|
50
|
+
// Try in-memory tracking first
|
|
49
51
|
const proc = activeProcesses.get(session);
|
|
50
|
-
if (
|
|
51
|
-
|
|
52
|
+
if (proc) {
|
|
53
|
+
const pid = proc.child.pid ?? 0;
|
|
54
|
+
const alive = pid > 0 && isProcessAlive(pid);
|
|
55
|
+
return {
|
|
56
|
+
alive,
|
|
57
|
+
paneText: tailFile(proc.outputFile, 50),
|
|
58
|
+
pid,
|
|
59
|
+
exitCode: proc.exitCode ?? undefined,
|
|
60
|
+
};
|
|
52
61
|
}
|
|
53
|
-
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
+
// Fallback: recover from state.json (SPS process may have restarted)
|
|
63
|
+
const slotInfo = this.findSlotBySession(session);
|
|
64
|
+
if (slotInfo?.pid) {
|
|
65
|
+
const alive = isProcessAlive(slotInfo.pid);
|
|
66
|
+
const paneText = slotInfo.outputFile ? tailFile(slotInfo.outputFile, 50) : '';
|
|
67
|
+
return {
|
|
68
|
+
alive,
|
|
69
|
+
paneText,
|
|
70
|
+
pid: slotInfo.pid,
|
|
71
|
+
exitCode: alive ? undefined : (slotInfo.exitCode ?? undefined),
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
return { alive: false, paneText: '', pid: undefined, exitCode: undefined };
|
|
62
75
|
}
|
|
63
|
-
async detectCompleted(session, logDir,
|
|
76
|
+
async detectCompleted(session, logDir, branch) {
|
|
64
77
|
// Priority 1: marker file
|
|
65
78
|
const markerPath = `${logDir}/task_completed`;
|
|
66
79
|
if (existsSync(markerPath)) {
|
|
67
80
|
return 'COMPLETED';
|
|
68
81
|
}
|
|
82
|
+
// Resolve process info — in-memory or state.json fallback
|
|
69
83
|
const proc = activeProcesses.get(session);
|
|
70
|
-
|
|
71
|
-
|
|
84
|
+
const slotInfo = !proc ? this.findSlotBySession(session) : null;
|
|
85
|
+
const pid = proc?.child.pid ?? slotInfo?.pid ?? 0;
|
|
86
|
+
const outputFile = proc?.outputFile ?? slotInfo?.outputFile ?? null;
|
|
87
|
+
const exitCode = proc?.exitCode ?? slotInfo?.exitCode ?? null;
|
|
88
|
+
if (!pid && !proc) {
|
|
89
|
+
// No process tracked at all — treat as dead
|
|
72
90
|
return 'DEAD';
|
|
73
91
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (alive) {
|
|
92
|
+
// Priority 2: process still running
|
|
93
|
+
if (pid > 0 && isProcessAlive(pid)) {
|
|
77
94
|
return 'ALIVE';
|
|
78
95
|
}
|
|
79
|
-
// Process has exited —
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
96
|
+
// ── Process has exited — verify with artifacts ──
|
|
97
|
+
// The key question: did the worker actually complete the task?
|
|
98
|
+
// Exit code 0 alone is NOT enough — worker may have:
|
|
99
|
+
// - Hit token/budget limit and exited gracefully
|
|
100
|
+
// - Said "I can't do this" and exited
|
|
101
|
+
// - Completed coding but not pushed / not created MR
|
|
102
|
+
// Check git artifacts: branch pushed with commits ahead of base
|
|
103
|
+
const worktree = slotInfo?.worktree ?? null;
|
|
104
|
+
const baseBranch = this.config.GITLAB_MERGE_BRANCH;
|
|
105
|
+
if (worktree && branch) {
|
|
106
|
+
const pushed = branchPushed(worktree, branch);
|
|
107
|
+
const commitsAhead = pushed
|
|
108
|
+
? branchCommitsAhead(worktree, branch, baseBranch)
|
|
109
|
+
: 0;
|
|
110
|
+
if (pushed && commitsAhead > 0) {
|
|
111
|
+
// Branch has been pushed with new commits — worker did real work.
|
|
112
|
+
// ExecutionEngine will additionally check MR existence before moving to QA.
|
|
113
|
+
return 'COMPLETED';
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Check output text for completion keywords as secondary signal
|
|
117
|
+
if (outputFile) {
|
|
118
|
+
const lastText = extractLastAssistantText(outputFile);
|
|
83
119
|
if (COMPLETION_KEYWORDS.test(lastText)) {
|
|
84
120
|
return 'COMPLETED';
|
|
85
121
|
}
|
|
86
|
-
// Exit 0 but no completion keyword — still consider completed
|
|
87
|
-
// (claude -p exits 0 on normal completion)
|
|
88
|
-
return 'COMPLETED';
|
|
89
122
|
}
|
|
90
|
-
//
|
|
123
|
+
// Process exited but no artifacts found
|
|
124
|
+
if (exitCode === 0) {
|
|
125
|
+
// Graceful exit but nothing to show for it
|
|
126
|
+
return 'EXITED_INCOMPLETE';
|
|
127
|
+
}
|
|
128
|
+
// Non-zero exit — worker crashed
|
|
91
129
|
return 'DEAD';
|
|
92
130
|
}
|
|
93
131
|
/**
|
|
@@ -104,9 +142,9 @@ export class ClaudePrintProvider {
|
|
|
104
142
|
* Returns a new LaunchResult with the new process info.
|
|
105
143
|
*/
|
|
106
144
|
async sendFix(session, fixPrompt, resumeSessionId) {
|
|
107
|
-
// Find worktree from
|
|
108
|
-
const
|
|
109
|
-
const worktree =
|
|
145
|
+
// Find worktree from state.json
|
|
146
|
+
const slotInfo = this.findSlotBySession(session);
|
|
147
|
+
const worktree = slotInfo?.worktree || '.';
|
|
110
148
|
const outputFile = resolve(this.config.raw.LOGS_DIR || `/tmp/sps-${this.config.PROJECT_NAME}`, `${session}-fix-${Date.now()}.jsonl`);
|
|
111
149
|
return this.spawnClaude(session, worktree, fixPrompt, outputFile, resumeSessionId);
|
|
112
150
|
}
|
|
@@ -209,8 +247,29 @@ export class ClaudePrintProvider {
|
|
|
209
247
|
return null;
|
|
210
248
|
return parseClaudeSessionId(proc.outputFile);
|
|
211
249
|
}
|
|
212
|
-
|
|
213
|
-
|
|
250
|
+
/**
|
|
251
|
+
* Look up worker slot info from state.json by tmuxSession name.
|
|
252
|
+
* Used as fallback when activeProcesses map is empty (SPS restarted).
|
|
253
|
+
*/
|
|
254
|
+
findSlotBySession(session) {
|
|
255
|
+
try {
|
|
256
|
+
const stateFile = resolve(process.env.HOME || '~', '.projects', this.config.PROJECT_NAME, 'runtime', 'state.json');
|
|
257
|
+
if (!existsSync(stateFile))
|
|
258
|
+
return null;
|
|
259
|
+
const state = readState(stateFile, this.config.MAX_CONCURRENT_WORKERS);
|
|
260
|
+
for (const slot of Object.values(state.workers)) {
|
|
261
|
+
if (slot.tmuxSession === session && slot.mode === 'print') {
|
|
262
|
+
return {
|
|
263
|
+
pid: slot.pid ?? null,
|
|
264
|
+
outputFile: slot.outputFile ?? null,
|
|
265
|
+
exitCode: slot.exitCode ?? null,
|
|
266
|
+
sessionId: slot.sessionId ?? null,
|
|
267
|
+
worktree: slot.worktree ?? null,
|
|
268
|
+
};
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
catch { /* state read error */ }
|
|
214
273
|
return null;
|
|
215
274
|
}
|
|
216
275
|
log(msg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClaudePrintProvider.js","sourceRoot":"","sources":["../../src/providers/ClaudePrintProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"ClaudePrintProvider.js","sourceRoot":"","sources":["../../src/providers/ClaudePrintProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ export declare class CodexExecProvider implements WorkerProvider {
|
|
|
12
12
|
pid?: number;
|
|
13
13
|
exitCode?: number;
|
|
14
14
|
}>;
|
|
15
|
-
detectCompleted(session: string, logDir: string,
|
|
15
|
+
detectCompleted(session: string, logDir: string, branch: string): Promise<WorkerStatus>;
|
|
16
16
|
detectWaiting(_session: string): Promise<{
|
|
17
17
|
waiting: boolean;
|
|
18
18
|
destructive: boolean;
|
|
@@ -26,6 +26,11 @@ export declare class CodexExecProvider implements WorkerProvider {
|
|
|
26
26
|
collectSummary(session: string): Promise<string>;
|
|
27
27
|
private spawnCodex;
|
|
28
28
|
extractSessionIdAsync(session: string): Promise<string | null>;
|
|
29
|
+
/**
|
|
30
|
+
* Look up worker slot info from state.json by tmuxSession name.
|
|
31
|
+
* Fallback when activeProcesses map is empty (SPS restarted).
|
|
32
|
+
*/
|
|
33
|
+
private findSlotBySession;
|
|
29
34
|
private log;
|
|
30
35
|
}
|
|
31
36
|
//# sourceMappingURL=CodexExecProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexExecProvider.d.ts","sourceRoot":"","sources":["../../src/providers/CodexExecProvider.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"CodexExecProvider.d.ts","sourceRoot":"","sources":["../../src/providers/CodexExecProvider.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAwBvD,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;gBAE3B,MAAM,EAAE,aAAa;IAI3B,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAcpF,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QACtC,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IA6BI,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,YAAY,CAAC;IA2ClB,aAAa,CACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAKhE,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjD,OAAO,CACX,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,YAAY,CAAC;IAUlB,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,YAAY,CAAC;IAmBlB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQtD,OAAO,CAAC,UAAU;IAkEZ,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAOpE;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgCzB,OAAO,CAAC,GAAG;CAGZ"}
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
import { spawn, execFileSync } from 'node:child_process';
|
|
8
8
|
import { existsSync, readFileSync, createWriteStream } from 'node:fs';
|
|
9
9
|
import { resolve } from 'node:path';
|
|
10
|
-
import { tailFile, parseCodexSessionId, isProcessAlive, killProcessGroup, } from './outputParser.js';
|
|
10
|
+
import { tailFile, parseCodexSessionId, isProcessAlive, killProcessGroup, branchCommitsAhead, branchPushed, } from './outputParser.js';
|
|
11
|
+
import { readState } from '../core/state.js';
|
|
11
12
|
/** Completion indicators. */
|
|
12
13
|
const COMPLETION_KEYWORDS = /\b(done|completed|finished|committed|pushed|MR created|merge request)\b/i;
|
|
13
14
|
/**
|
|
@@ -42,29 +43,61 @@ export class CodexExecProvider {
|
|
|
42
43
|
}
|
|
43
44
|
async inspect(session) {
|
|
44
45
|
const proc = activeProcesses.get(session);
|
|
45
|
-
if (
|
|
46
|
-
|
|
46
|
+
if (proc) {
|
|
47
|
+
const pid = proc.child.pid ?? 0;
|
|
48
|
+
const alive = pid > 0 && isProcessAlive(pid);
|
|
49
|
+
return {
|
|
50
|
+
alive,
|
|
51
|
+
paneText: tailFile(proc.outputFile, 50),
|
|
52
|
+
pid,
|
|
53
|
+
exitCode: proc.exitCode ?? undefined,
|
|
54
|
+
};
|
|
47
55
|
}
|
|
48
|
-
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
56
|
+
// Fallback: recover from state.json
|
|
57
|
+
const slotInfo = this.findSlotBySession(session);
|
|
58
|
+
if (slotInfo?.pid) {
|
|
59
|
+
const alive = isProcessAlive(slotInfo.pid);
|
|
60
|
+
const paneText = slotInfo.outputFile ? tailFile(slotInfo.outputFile, 50) : '';
|
|
61
|
+
return {
|
|
62
|
+
alive,
|
|
63
|
+
paneText,
|
|
64
|
+
pid: slotInfo.pid,
|
|
65
|
+
exitCode: alive ? undefined : (slotInfo.exitCode ?? undefined),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return { alive: false, paneText: '', pid: undefined, exitCode: undefined };
|
|
52
69
|
}
|
|
53
|
-
async detectCompleted(session, logDir,
|
|
70
|
+
async detectCompleted(session, logDir, branch) {
|
|
54
71
|
const markerPath = `${logDir}/task_completed`;
|
|
55
72
|
if (existsSync(markerPath)) {
|
|
56
73
|
return 'COMPLETED';
|
|
57
74
|
}
|
|
75
|
+
// Resolve process info — in-memory or state.json fallback
|
|
58
76
|
const proc = activeProcesses.get(session);
|
|
59
|
-
|
|
77
|
+
const slotInfo = !proc ? this.findSlotBySession(session) : null;
|
|
78
|
+
const pid = proc?.child.pid ?? slotInfo?.pid ?? 0;
|
|
79
|
+
const exitCode = proc?.exitCode ?? slotInfo?.exitCode ?? null;
|
|
80
|
+
if (!pid && !proc) {
|
|
60
81
|
return 'DEAD';
|
|
61
|
-
|
|
82
|
+
}
|
|
83
|
+
// Process still running
|
|
62
84
|
if (pid > 0 && isProcessAlive(pid)) {
|
|
63
85
|
return 'ALIVE';
|
|
64
86
|
}
|
|
65
|
-
// Process exited
|
|
66
|
-
|
|
67
|
-
|
|
87
|
+
// Process exited — verify with git artifacts
|
|
88
|
+
const worktree = slotInfo?.worktree ?? null;
|
|
89
|
+
const baseBranch = this.config.GITLAB_MERGE_BRANCH;
|
|
90
|
+
if (worktree && branch) {
|
|
91
|
+
const pushed = branchPushed(worktree, branch);
|
|
92
|
+
const commitsAhead = pushed
|
|
93
|
+
? branchCommitsAhead(worktree, branch, baseBranch)
|
|
94
|
+
: 0;
|
|
95
|
+
if (pushed && commitsAhead > 0) {
|
|
96
|
+
return 'COMPLETED';
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
if (exitCode === 0) {
|
|
100
|
+
return 'EXITED_INCOMPLETE';
|
|
68
101
|
}
|
|
69
102
|
return 'DEAD';
|
|
70
103
|
}
|
|
@@ -173,6 +206,31 @@ export class CodexExecProvider {
|
|
|
173
206
|
return null;
|
|
174
207
|
return parseCodexSessionId(proc.outputFile);
|
|
175
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Look up worker slot info from state.json by tmuxSession name.
|
|
211
|
+
* Fallback when activeProcesses map is empty (SPS restarted).
|
|
212
|
+
*/
|
|
213
|
+
findSlotBySession(session) {
|
|
214
|
+
try {
|
|
215
|
+
const stateFile = resolve(process.env.HOME || '~', '.projects', this.config.PROJECT_NAME, 'runtime', 'state.json');
|
|
216
|
+
if (!existsSync(stateFile))
|
|
217
|
+
return null;
|
|
218
|
+
const state = readState(stateFile, this.config.MAX_CONCURRENT_WORKERS);
|
|
219
|
+
for (const slot of Object.values(state.workers)) {
|
|
220
|
+
if (slot.tmuxSession === session && slot.mode === 'print') {
|
|
221
|
+
return {
|
|
222
|
+
pid: slot.pid ?? null,
|
|
223
|
+
outputFile: slot.outputFile ?? null,
|
|
224
|
+
exitCode: slot.exitCode ?? null,
|
|
225
|
+
sessionId: slot.sessionId ?? null,
|
|
226
|
+
worktree: slot.worktree ?? null,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch { /* state read error */ }
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
176
234
|
log(msg) {
|
|
177
235
|
process.stderr.write(`[codex-exec] ${msg}\n`);
|
|
178
236
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodexExecProvider.js","sourceRoot":"","sources":["../../src/providers/CodexExecProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,cAAc,EACd,gBAAgB,
|
|
1
|
+
{"version":3,"file":"CodexExecProvider.js","sourceRoot":"","sources":["../../src/providers/CodexExecProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,17 @@ export declare function isProcessAlive(pid: number): boolean;
|
|
|
31
31
|
* Uses negative PID to signal the entire process group.
|
|
32
32
|
*/
|
|
33
33
|
export declare function killProcessGroup(pid: number, timeoutMs?: number): Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Check if a branch has commits ahead of a base branch.
|
|
36
|
+
* This is the most reliable signal that the worker actually did work.
|
|
37
|
+
*
|
|
38
|
+
* Returns the number of commits ahead, or -1 on error.
|
|
39
|
+
*/
|
|
40
|
+
export declare function branchCommitsAhead(worktree: string, branch: string, baseBranch: string): number;
|
|
41
|
+
/**
|
|
42
|
+
* Check if branch has been pushed to remote (remote tracking ref exists).
|
|
43
|
+
*/
|
|
44
|
+
export declare function branchPushed(worktree: string, branch: string): boolean;
|
|
34
45
|
/**
|
|
35
46
|
* Extract the last assistant message text from Claude stream-json output.
|
|
36
47
|
* Useful for verifying task completion.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputParser.d.ts","sourceRoot":"","sources":["../../src/providers/outputParser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"outputParser.d.ts","sourceRoot":"","sources":["../../src/providers/outputParser.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAShE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBpE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAoBnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBpF;AAID;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAkB/F;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAWtE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2BjE"}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Handles output file tailing, session ID parsing, and process inspection.
|
|
4
4
|
*/
|
|
5
5
|
import { readFileSync, existsSync, statSync } from 'node:fs';
|
|
6
|
+
import { execFileSync } from 'node:child_process';
|
|
6
7
|
/**
|
|
7
8
|
* Read the last N lines from a file efficiently.
|
|
8
9
|
* Returns empty string if file doesn't exist.
|
|
@@ -145,6 +146,41 @@ export async function killProcessGroup(pid, timeoutMs = 5_000) {
|
|
|
145
146
|
}
|
|
146
147
|
catch { /* ignore */ }
|
|
147
148
|
}
|
|
149
|
+
// ─── Git Artifact Verification ─────────────────────────────────────
|
|
150
|
+
/**
|
|
151
|
+
* Check if a branch has commits ahead of a base branch.
|
|
152
|
+
* This is the most reliable signal that the worker actually did work.
|
|
153
|
+
*
|
|
154
|
+
* Returns the number of commits ahead, or -1 on error.
|
|
155
|
+
*/
|
|
156
|
+
export function branchCommitsAhead(worktree, branch, baseBranch) {
|
|
157
|
+
try {
|
|
158
|
+
// Fetch latest remote state (best-effort, may fail offline)
|
|
159
|
+
try {
|
|
160
|
+
execFileSync('git', ['-C', worktree, 'fetch', 'origin', '--quiet'], {
|
|
161
|
+
timeout: 10_000, stdio: ['ignore', 'pipe', 'pipe'],
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
catch { /* offline or no remote — ok, use local state */ }
|
|
165
|
+
const output = execFileSync('git', ['-C', worktree, 'rev-list', '--count', `origin/${baseBranch}..${branch}`], { encoding: 'utf-8', timeout: 5_000, stdio: ['ignore', 'pipe', 'pipe'] }).trim();
|
|
166
|
+
return parseInt(output, 10) || 0;
|
|
167
|
+
}
|
|
168
|
+
catch {
|
|
169
|
+
return -1; // git error
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Check if branch has been pushed to remote (remote tracking ref exists).
|
|
174
|
+
*/
|
|
175
|
+
export function branchPushed(worktree, branch) {
|
|
176
|
+
try {
|
|
177
|
+
execFileSync('git', ['-C', worktree, 'rev-parse', '--verify', `origin/${branch}`], { encoding: 'utf-8', timeout: 5_000, stdio: ['ignore', 'pipe', 'pipe'] });
|
|
178
|
+
return true;
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
return false;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
148
184
|
/**
|
|
149
185
|
* Extract the last assistant message text from Claude stream-json output.
|
|
150
186
|
* Useful for verifying task completion.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outputParser.js","sourceRoot":"","sources":["../../src/providers/outputParser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"outputParser.js","sourceRoot":"","sources":["../../src/providers/outputParser.ts"],"names":[],"mappings":"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"}
|