@coralai/sps-cli 0.23.14 → 0.23.16
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 +4 -2
- package/dist/core/taskPrompts.d.ts +29 -0
- package/dist/core/taskPrompts.d.ts.map +1 -0
- package/dist/core/taskPrompts.js +125 -0
- package/dist/core/taskPrompts.js.map +1 -0
- package/dist/engines/ExecutionEngine.d.ts.map +1 -1
- package/dist/engines/ExecutionEngine.js +28 -49
- package/dist/engines/ExecutionEngine.js.map +1 -1
- package/dist/manager/recovery.d.ts +7 -0
- package/dist/manager/recovery.d.ts.map +1 -1
- package/dist/manager/recovery.js +175 -6
- package/dist/manager/recovery.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
> **中文文档**: See `README-CN.md` in the source repository for Chinese documentation.
|
|
6
6
|
|
|
7
|
-
**v0.23.
|
|
7
|
+
**v0.23.16**
|
|
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
|
|
|
@@ -12,6 +12,8 @@ SPS (Smart Pipeline System) is a fully automated development pipeline CLI tool d
|
|
|
12
12
|
Create cards -> Start pipeline -> AI auto-codes -> Serial merge queue -> Notify completion
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
+
Current design direction: SPS is converging on a worker-owned two-phase execution model. `Inprogress` is the development phase, `QA` is the integration/merge phase, and label-driven skill profile injection remains part of worker prompt construction. `v0.23.16` lands the first concrete step: per-worktree `.sps/development_prompt.txt` and `.sps/integration_prompt.txt`, plus phase-aware recovery prompt selection. Merge ownership still remains to be moved out of fixed closeout logic and into the `QA` worker phase.
|
|
16
|
+
|
|
15
17
|
## Table of Contents
|
|
16
18
|
|
|
17
19
|
- [Installation](#installation)
|
|
@@ -123,7 +125,7 @@ Planning -> Backlog -> Todo -> Inprogress -> Done
|
|
|
123
125
|
|
|
124
126
|
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. Final integration now runs inside a temporary detached merge worktree, which avoids `main already used by worktree` failures and keeps the user's main checkout untouched. `.sps/merge.sh` remains only as a manual fallback. See `docs/design/10-acp-worker-runtime-design.md` for the persistent Agent transport model, the full worker state breakdown, and the local same-user OAuth reuse boundary. See `docs/design/11-runtime-state-authority-and-recovery-redesign.md` for the redesign that demotes `state.json` / `acp-state.json` to projections and re-centers recovery around PM state plus worktree/git evidence. See `docs/design/12-unified-runtime-state-machine.md` for the next-step module cleanup plan that converges `Execution`, `Recovery`, `Monitor`, `Closeout`, and `PostActions` into one state machine authority plus a single runtime coordinator/write path.
|
|
125
127
|
|
|
126
|
-
PTY transport now extends the same session/run model into the default CLI-backed worker path.
|
|
128
|
+
PTY transport now extends the same session/run model into the default CLI-backed worker path, but the restart boundary is now explicit. Within a running `tick` process, `WORKER_TRANSPORT=pty` still uses `sessionId/runId` for retries and conflict follow-up runs. Across a `tick` restart, SPS no longer pretends it can recover the old PTY session; it recovers the task from `TaskLease + WorktreeEvidence`, judges completion from git/worktree evidence first, and starts a fresh PTY run in the same worktree only if work remains. `WORKER_TRANSPORT=acp` still keeps its session-based model. The PTY hardening sequence remains: v0.23.5 upgrades `node-pty` to a macOS-safe build, auto-restores missing execute permissions on `spawn-helper`, and auto-skips the benign Codex update notice during PTY boot so `ensureSession()` can reach `ready`; v0.23.6 fixes PTY run lifecycle tracking so newly submitted conflict-resolution runs no longer get marked `completed` during the first inspect cycle before the CLI actually leaves the prompt; v0.23.7 switches `sps worker dashboard` from raw PTY pane dumps to structured worker summaries; v0.23.9 validates persisted PTY sessions by PID before treating them as alive; v0.23.10 aligns PM and read-only views around runtime-owned cards; v0.23.11 introduces PM + worktree + session-first runtime projection; v0.23.12 moves recovery/execution onto `TaskLease + WorktreeEvidence`; v0.23.13 pulls monitor/closeout onto the same lease-first model; v0.23.14 completes the write-path migration through `RuntimeStore`; and v0.23.15 finalizes PTY restart behavior as task-level recovery instead of fake session-level recovery. Codex has been verified on launch, task-level recovery, direct merge, same-process resume, PTY conflict fallback, spawn-helper self-heal, immediate post-launch run-state inspection, summary-style dashboard rendering, cold-state liveness validation, runtime-owned PM reconciliation, read-only snapshot rendering, and lease-first recovery/execution/monitor/closeout flow; Claude still depends on host-side `claude auth login` before reaching `ready`.
|
|
127
129
|
|
|
128
130
|
### MR_MODE=create (Optional)
|
|
129
131
|
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CardState } from '../models/types.js';
|
|
2
|
+
import type { TaskLeasePhase } from './state.js';
|
|
3
|
+
export type WorkerTaskPhase = 'development' | 'integration';
|
|
4
|
+
export declare const DEVELOPMENT_PROMPT_FILE = "development_prompt.txt";
|
|
5
|
+
export declare const INTEGRATION_PROMPT_FILE = "integration_prompt.txt";
|
|
6
|
+
export declare const LEGACY_TASK_PROMPT_FILE = "task_prompt.txt";
|
|
7
|
+
interface SharedPromptContext {
|
|
8
|
+
taskSeq: string;
|
|
9
|
+
taskTitle: string;
|
|
10
|
+
taskDescription: string;
|
|
11
|
+
cardId: string;
|
|
12
|
+
worktreePath: string;
|
|
13
|
+
branchName: string;
|
|
14
|
+
targetBranch: string;
|
|
15
|
+
mergeMode: 'none' | 'create';
|
|
16
|
+
gitlabProjectId: string;
|
|
17
|
+
skillContent?: string;
|
|
18
|
+
projectRules?: string;
|
|
19
|
+
knowledge?: string;
|
|
20
|
+
}
|
|
21
|
+
interface PhasePromptContext extends SharedPromptContext {
|
|
22
|
+
phase: WorkerTaskPhase;
|
|
23
|
+
}
|
|
24
|
+
export declare function selectWorkerPhase(pmState: CardState | null | undefined, leasePhase?: TaskLeasePhase | null): WorkerTaskPhase;
|
|
25
|
+
export declare function promptFileForPhase(phase: WorkerTaskPhase): string;
|
|
26
|
+
export declare function buildPhasePrompt(ctx: PhasePromptContext): string;
|
|
27
|
+
export declare function buildResumePrompt(phase: WorkerTaskPhase, worktreePath: string, branchName: string, originalPrompt: string | null): string;
|
|
28
|
+
export {};
|
|
29
|
+
//# sourceMappingURL=taskPrompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskPrompts.d.ts","sourceRoot":"","sources":["../../src/core/taskPrompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,aAAa,CAAC;AAE5D,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,uBAAuB,2BAA2B,CAAC;AAChE,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AAEzD,UAAU,mBAAmB;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,kBAAmB,SAAQ,mBAAmB;IACtD,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACrC,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,GACjC,eAAe,CAMjB;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAsBhE;AA4ED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,eAAe,EACtB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,cAAc,EAAE,MAAM,GAAG,IAAI,GAC5B,MAAM,CAuBR"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
export const DEVELOPMENT_PROMPT_FILE = 'development_prompt.txt';
|
|
2
|
+
export const INTEGRATION_PROMPT_FILE = 'integration_prompt.txt';
|
|
3
|
+
export const LEGACY_TASK_PROMPT_FILE = 'task_prompt.txt';
|
|
4
|
+
export function selectWorkerPhase(pmState, leasePhase) {
|
|
5
|
+
if (pmState === 'QA')
|
|
6
|
+
return 'integration';
|
|
7
|
+
if (leasePhase && ['merging', 'resolving_conflict'].includes(leasePhase)) {
|
|
8
|
+
return 'integration';
|
|
9
|
+
}
|
|
10
|
+
return 'development';
|
|
11
|
+
}
|
|
12
|
+
export function promptFileForPhase(phase) {
|
|
13
|
+
return phase === 'integration' ? INTEGRATION_PROMPT_FILE : DEVELOPMENT_PROMPT_FILE;
|
|
14
|
+
}
|
|
15
|
+
export function buildPhasePrompt(ctx) {
|
|
16
|
+
const sections = [];
|
|
17
|
+
if (ctx.skillContent?.trim()) {
|
|
18
|
+
sections.push(ctx.skillContent.trim());
|
|
19
|
+
sections.push('---');
|
|
20
|
+
}
|
|
21
|
+
if (ctx.projectRules?.trim()) {
|
|
22
|
+
sections.push(ctx.projectRules.trim());
|
|
23
|
+
sections.push('---');
|
|
24
|
+
}
|
|
25
|
+
if (ctx.knowledge?.trim()) {
|
|
26
|
+
sections.push(ctx.knowledge.trim());
|
|
27
|
+
sections.push('---');
|
|
28
|
+
}
|
|
29
|
+
sections.push(buildTaskSection(ctx));
|
|
30
|
+
sections.push(buildPhaseInstructions(ctx));
|
|
31
|
+
return sections.join('\n\n').trim() + '\n';
|
|
32
|
+
}
|
|
33
|
+
function buildTaskSection(ctx) {
|
|
34
|
+
return `# Current Task
|
|
35
|
+
|
|
36
|
+
Task ID: ${ctx.taskSeq}
|
|
37
|
+
Task: ${ctx.taskTitle}
|
|
38
|
+
Branch: ${ctx.branchName}
|
|
39
|
+
Target Branch: ${ctx.targetBranch}
|
|
40
|
+
Card Full ID: ${ctx.cardId}
|
|
41
|
+
GitLab Project ID: ${ctx.gitlabProjectId}
|
|
42
|
+
MR Mode: ${ctx.mergeMode}
|
|
43
|
+
Worktree: ${ctx.worktreePath}
|
|
44
|
+
|
|
45
|
+
Description:
|
|
46
|
+
${ctx.taskDescription || '(no description)'}`;
|
|
47
|
+
}
|
|
48
|
+
function buildPhaseInstructions(ctx) {
|
|
49
|
+
if (ctx.phase === 'integration') {
|
|
50
|
+
return `# Integration Phase Instructions
|
|
51
|
+
|
|
52
|
+
You are in the integration phase for this task.
|
|
53
|
+
|
|
54
|
+
Your responsibility in this phase is to integrate the current task branch back into the target branch.
|
|
55
|
+
|
|
56
|
+
First inspect the repository state yourself in this worktree:
|
|
57
|
+
1. Confirm the current branch
|
|
58
|
+
2. Check git status
|
|
59
|
+
3. Check whether a rebase or merge is already in progress
|
|
60
|
+
4. Inspect conflicts if they exist
|
|
61
|
+
5. Determine the exact next step required to finish integration
|
|
62
|
+
|
|
63
|
+
Rules:
|
|
64
|
+
1. Work only in the current worktree: ${ctx.worktreePath}
|
|
65
|
+
2. Integrate branch ${ctx.branchName} back into target branch ${ctx.targetBranch}
|
|
66
|
+
3. If there are conflicts, resolve them carefully based on the task intent and current codebase
|
|
67
|
+
4. Complete any required git add / rebase --continue / merge follow-up steps
|
|
68
|
+
5. Validate the repository state before finishing
|
|
69
|
+
6. Do not restart development from scratch unless the repository state clearly requires code changes to complete integration
|
|
70
|
+
7. If you are blocked by permissions, confirmations, or external policy, report the exact blocker instead of looping forever
|
|
71
|
+
8. Say "done" only after integration work is complete or you have identified a concrete external blocker
|
|
72
|
+
|
|
73
|
+
Completion rule:
|
|
74
|
+
- The preferred outcome of this phase is: the integration work is finished successfully for branch ${ctx.branchName} against target ${ctx.targetBranch}.
|
|
75
|
+
- Do not treat this phase as a fresh development task.`;
|
|
76
|
+
}
|
|
77
|
+
return `# Development Phase Instructions
|
|
78
|
+
|
|
79
|
+
You are in the development phase for this task.
|
|
80
|
+
|
|
81
|
+
Your responsibility in this phase is to complete the implementation work in the current task branch.
|
|
82
|
+
|
|
83
|
+
First inspect the repository state yourself in this worktree:
|
|
84
|
+
1. Confirm the current branch
|
|
85
|
+
2. Check git status
|
|
86
|
+
3. Check whether a rebase or merge is already in progress
|
|
87
|
+
4. Inspect the current code and determine what remains to finish the task
|
|
88
|
+
|
|
89
|
+
Rules:
|
|
90
|
+
1. Work only in the current worktree: ${ctx.worktreePath}
|
|
91
|
+
2. Complete the implementation for this task
|
|
92
|
+
3. Run appropriate validation or tests when needed
|
|
93
|
+
4. Commit the finished work to the current task branch ${ctx.branchName}
|
|
94
|
+
5. Do not merge into the target branch ${ctx.targetBranch} in this phase
|
|
95
|
+
6. Do not run merge scripts or perform integration work in this phase
|
|
96
|
+
7. Current pipeline handoff still requires the feature branch to be pushed after implementation is complete; push ${ctx.branchName} only after the development work is committed and ready for handoff
|
|
97
|
+
8. If you are blocked by permissions, confirmations, or missing environment requirements, report the exact blocker
|
|
98
|
+
9. Say "done" only after the implementation work is complete and the branch is in a ready-for-integration state
|
|
99
|
+
|
|
100
|
+
Completion rule:
|
|
101
|
+
- The intended end of this phase is: the implementation is complete on branch ${ctx.branchName} and ready to enter integration.
|
|
102
|
+
- Do not merge into ${ctx.targetBranch} in this phase.`;
|
|
103
|
+
}
|
|
104
|
+
export function buildResumePrompt(phase, worktreePath, branchName, originalPrompt) {
|
|
105
|
+
const phaseLabel = phase === 'integration' ? 'QA' : 'Inprogress';
|
|
106
|
+
const phaseGoal = phase === 'integration'
|
|
107
|
+
? 'Continue the integration work for this task in the current worktree.'
|
|
108
|
+
: 'Continue the development work for this task in the current worktree.';
|
|
109
|
+
const header = [
|
|
110
|
+
'The previous SPS tick process stopped. The old worker session is gone.',
|
|
111
|
+
'Recover this task at the task level in the existing worktree.',
|
|
112
|
+
`Current PM State: ${phaseLabel}`,
|
|
113
|
+
`Worktree: ${worktreePath}`,
|
|
114
|
+
`Branch: ${branchName}`,
|
|
115
|
+
'',
|
|
116
|
+
phaseGoal,
|
|
117
|
+
'First inspect the current repository state yourself before changing anything.',
|
|
118
|
+
'Then continue the same task from the current repository state instead of starting over.',
|
|
119
|
+
].join('\n');
|
|
120
|
+
if (!originalPrompt?.trim()) {
|
|
121
|
+
return header;
|
|
122
|
+
}
|
|
123
|
+
return `${header}\n\nPhase task context:\n---\n${originalPrompt.trim()}`;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=taskPrompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskPrompts.js","sourceRoot":"","sources":["../../src/core/taskPrompts.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAiD,MAAM,oBAAoB,CAAC;
|
|
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,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAiD,MAAM,oBAAoB,CAAC;AAcvG,OAAO,EAAE,iBAAiB,EAAqB,MAAM,0BAA0B,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,WAAW,EAA0B,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAIjE,qBAAa,eAAe;IAKxB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,eAAe;IACvB,OAAO,CAAC,QAAQ,CAAC;IACjB,OAAO,CAAC,YAAY,CAAC;IAZvB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,YAAY,CAAe;gBAGzB,GAAG,EAAE,cAAc,EACnB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,iBAAiB,EAC7B,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,eAAe,EAChC,QAAQ,CAAC,EAAE,QAAQ,YAAA,EACnB,YAAY,CAAC,GAAE,YAAY,GAAG,IAAI,aAAA;IAMtC,IAAI,CAAC,IAAI,GAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC;IAuGnE;;;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;YAIJ,+BAA+B;YAe/B,4BAA4B;IAoC1C,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,kBAAkB;IAM1B;;;;OAIG;YACW,oBAAoB;IAgBlC;;;;;;;OAOG;YACW,mBAAmB;IA+DjC;;;OAGG;YACW,WAAW;IA6DzB;;;OAGG;YACW,UAAU;IAyRxB;;;OAGG;YACW,YAAY;YAYZ,sBAAsB;YA6GtB,wBAAwB;IA2DtC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,eAAe;IASvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,gBAAgB;IAmExB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAqGxB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAanB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAsCzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,QAAQ;CASjB"}
|
|
@@ -4,6 +4,7 @@ import { RuntimeStore } from '../core/runtimeStore.js';
|
|
|
4
4
|
import { resolveGitlabProjectId } from '../core/config.js';
|
|
5
5
|
import { resolveWorktreePath } from '../core/paths.js';
|
|
6
6
|
import { readQueue } from '../core/queue.js';
|
|
7
|
+
import { buildPhasePrompt, DEVELOPMENT_PROMPT_FILE, INTEGRATION_PROMPT_FILE, LEGACY_TASK_PROMPT_FILE, } from '../core/taskPrompts.js';
|
|
7
8
|
import { Logger } from '../core/logger.js';
|
|
8
9
|
const SKIP_LABELS = ['BLOCKED', 'NEEDS-FIX', 'CONFLICT', 'WAITING-CONFIRMATION', 'STALE-RUNTIME'];
|
|
9
10
|
export class ExecutionEngine {
|
|
@@ -475,7 +476,7 @@ export class ExecutionEngine {
|
|
|
475
476
|
const msg = err instanceof Error ? err.message : String(err);
|
|
476
477
|
this.log.warn(`PM claim for seq ${seq} failed (non-fatal): ${msg}`);
|
|
477
478
|
}
|
|
478
|
-
// Step 5: Build task context (
|
|
479
|
+
// Step 5: Build task context (.sps/development_prompt.txt + .sps/integration_prompt.txt)
|
|
479
480
|
try {
|
|
480
481
|
this.buildTaskContext(card, worktreePath);
|
|
481
482
|
this.log.ok(`Step 5: Task context built for seq ${seq}`);
|
|
@@ -489,7 +490,7 @@ export class ExecutionEngine {
|
|
|
489
490
|
}
|
|
490
491
|
// Step 6: Launch worker via Supervisor
|
|
491
492
|
try {
|
|
492
|
-
const promptFile = resolve(worktreePath, '.sps',
|
|
493
|
+
const promptFile = resolve(worktreePath, '.sps', LEGACY_TASK_PROMPT_FILE);
|
|
493
494
|
// Check global resource limit
|
|
494
495
|
const acquire = this.resourceLimiter.tryAcquireDetailed();
|
|
495
496
|
if (!acquire.acquired) {
|
|
@@ -857,62 +858,40 @@ export class ExecutionEngine {
|
|
|
857
858
|
}
|
|
858
859
|
// ── 3. Project Knowledge (truncated) ──
|
|
859
860
|
const knowledge = this.loadProjectKnowledge(worktreePath);
|
|
860
|
-
// ── Assemble prompt ──
|
|
861
|
-
const sections = [];
|
|
862
|
-
if (skillContent) {
|
|
863
|
-
sections.push(skillContent);
|
|
864
|
-
sections.push('---');
|
|
865
|
-
}
|
|
866
|
-
if (projectRules) {
|
|
867
|
-
sections.push(projectRules);
|
|
868
|
-
sections.push('---');
|
|
869
|
-
}
|
|
870
|
-
if (knowledge) {
|
|
871
|
-
sections.push(knowledge);
|
|
872
|
-
sections.push('---');
|
|
873
|
-
}
|
|
874
861
|
// Build requirements based on MR mode
|
|
875
862
|
const mrMode = this.ctx.mrMode; // 'none' | 'create'
|
|
876
863
|
const createMR = mrMode === 'create';
|
|
877
864
|
// Generate .sps/merge.sh (kept as manual fallback, not executed by worker)
|
|
878
865
|
this.writeMergeScript(worktreePath, branchName, card, mrMode === 'create');
|
|
879
|
-
const
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
Target Branch: ${this.ctx.mergeBranch}
|
|
902
|
-
Card Full ID: ${card.id}
|
|
903
|
-
GitLab Project ID: ${resolveGitlabProjectId(this.ctx.config)}
|
|
904
|
-
MR Mode: ${mrMode}
|
|
905
|
-
|
|
906
|
-
Description:
|
|
907
|
-
${card.desc || '(no description)'}
|
|
908
|
-
|
|
909
|
-
Requirements:
|
|
910
|
-
${requirements.join('\n')}`);
|
|
866
|
+
const sharedPromptContext = {
|
|
867
|
+
taskSeq: card.seq,
|
|
868
|
+
taskTitle: card.name,
|
|
869
|
+
taskDescription: card.desc || '(no description)',
|
|
870
|
+
cardId: card.id,
|
|
871
|
+
worktreePath,
|
|
872
|
+
branchName,
|
|
873
|
+
targetBranch: this.ctx.mergeBranch,
|
|
874
|
+
mergeMode: mrMode,
|
|
875
|
+
gitlabProjectId: resolveGitlabProjectId(this.ctx.config),
|
|
876
|
+
skillContent,
|
|
877
|
+
projectRules,
|
|
878
|
+
knowledge,
|
|
879
|
+
};
|
|
880
|
+
const developmentPrompt = buildPhasePrompt({
|
|
881
|
+
...sharedPromptContext,
|
|
882
|
+
phase: 'development',
|
|
883
|
+
});
|
|
884
|
+
const integrationPrompt = buildPhasePrompt({
|
|
885
|
+
...sharedPromptContext,
|
|
886
|
+
phase: 'integration',
|
|
887
|
+
});
|
|
911
888
|
const spsDir = resolve(worktreePath, '.sps');
|
|
912
889
|
if (!existsSync(spsDir)) {
|
|
913
890
|
mkdirSync(spsDir, { recursive: true });
|
|
914
891
|
}
|
|
915
|
-
writeFileSync(resolve(spsDir,
|
|
892
|
+
writeFileSync(resolve(spsDir, DEVELOPMENT_PROMPT_FILE), developmentPrompt);
|
|
893
|
+
writeFileSync(resolve(spsDir, INTEGRATION_PROMPT_FILE), integrationPrompt);
|
|
894
|
+
writeFileSync(resolve(spsDir, LEGACY_TASK_PROMPT_FILE), developmentPrompt);
|
|
916
895
|
}
|
|
917
896
|
/**
|
|
918
897
|
* Write .sps/merge.sh into the worktree.
|
|
@@ -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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"}
|
|
@@ -36,10 +36,17 @@ export declare class Recovery {
|
|
|
36
36
|
private buildOnExitCallback;
|
|
37
37
|
private log;
|
|
38
38
|
private recoverAcpSlot;
|
|
39
|
+
private recoverPtyTask;
|
|
39
40
|
private listRecoverableLeases;
|
|
40
41
|
private resolveRecoverySlotName;
|
|
41
42
|
private getRetryCount;
|
|
42
43
|
private syncAcpSlot;
|
|
44
|
+
private syncRecoveredTask;
|
|
45
|
+
private shouldRestartPtyTask;
|
|
46
|
+
private buildPtyRecoveryPrompt;
|
|
47
|
+
private readTaskPrompt;
|
|
48
|
+
private slotStatusForLease;
|
|
49
|
+
private isPtyTask;
|
|
43
50
|
private isActiveRun;
|
|
44
51
|
private acpExitCode;
|
|
45
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../../src/manager/recovery.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,eAAe,EAAmB,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,WAAW,EAA0B,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOvD,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,qBAAa,QAAQ;IAEjB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe;gBAHf,UAAU,EAAE,iBAAiB,EAC7B,KAAK,EAAE,eAAe,EACtB,kBAAkB,EAAE,CAAC,aAAa,EAAE,aAAa,KAAK,WAAW,EACjE,eAAe,EAAE,eAAe;IAGnD,OAAO,CAAC,UAAU;IAOlB;;;;OAIG;IACG,OAAO,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAoH/D,OAAO,CAAC,sBAAsB;IAoC9B,OAAO,CAAC,mBAAmB;IAiC3B,OAAO,CAAC,GAAG;YAIG,cAAc;YAyGd,cAAc;IAqF5B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,uBAAuB;IA8B/B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,iBAAiB;IAgEzB,OAAO,CAAC,oBAAoB;IAoB5B,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,WAAW;CAGpB"}
|
package/dist/manager/recovery.js
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
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';
|
|
1
11
|
import { RuntimeStore } from '../core/runtimeStore.js';
|
|
2
12
|
import { resolveGitlabProjectId } from '../core/config.js';
|
|
3
13
|
import { ProjectContext } from '../core/context.js';
|
|
14
|
+
import { buildResumePrompt, LEGACY_TASK_PROMPT_FILE, promptFileForPhase, selectWorkerPhase, } from '../core/taskPrompts.js';
|
|
4
15
|
import { isProcessAlive } from '../providers/outputParser.js';
|
|
5
|
-
import {
|
|
16
|
+
import { createAgentRuntime } from '../providers/registry.js';
|
|
6
17
|
// ─── Recovery ───────────────────────────────────────────────────
|
|
7
18
|
export class Recovery {
|
|
8
19
|
supervisor;
|
|
@@ -55,7 +66,7 @@ export class Recovery {
|
|
|
55
66
|
result.found++;
|
|
56
67
|
const isAcpTransport = workerRef.transport === 'acp' || workerRef.transport === 'pty' || workerRef.mode === 'acp' || workerRef.mode === 'pty';
|
|
57
68
|
if (isAcpTransport && slotName) {
|
|
58
|
-
const recovered = await this.recoverAcpSlot(project, slotName, seq, workerRef, postActions, lease
|
|
69
|
+
const recovered = await this.recoverAcpSlot(project, slotName, seq, workerRef, postActions, lease);
|
|
59
70
|
if (recovered === 'alive')
|
|
60
71
|
result.alive++;
|
|
61
72
|
if (recovered === 'completed')
|
|
@@ -168,9 +179,12 @@ export class Recovery {
|
|
|
168
179
|
log(msg) {
|
|
169
180
|
process.stderr.write(`[recovery] ${msg}\n`);
|
|
170
181
|
}
|
|
171
|
-
async recoverAcpSlot(project, slotName, seq, slot, postActions,
|
|
182
|
+
async recoverAcpSlot(project, slotName, seq, slot, postActions, lease) {
|
|
183
|
+
if (this.isPtyTask(project, slot)) {
|
|
184
|
+
return this.recoverPtyTask(project, slotName, seq, slot, postActions, lease);
|
|
185
|
+
}
|
|
172
186
|
const ctx = ProjectContext.load(project.name);
|
|
173
|
-
const runtime =
|
|
187
|
+
const runtime = createAgentRuntime(ctx);
|
|
174
188
|
const inspected = await runtime.inspect(slotName);
|
|
175
189
|
const session = inspected.sessions[slotName];
|
|
176
190
|
const workerId = `${project.name}:${slotName}:${seq}`;
|
|
@@ -236,9 +250,61 @@ export class Recovery {
|
|
|
236
250
|
await postActions.executeCompletion(postActionCtx, completion, session?.sessionId || null);
|
|
237
251
|
return 'completed';
|
|
238
252
|
}
|
|
239
|
-
await postActions.executeFailure(postActionCtx, completion, exitCode, null, retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
|
|
253
|
+
await postActions.executeFailure(postActionCtx, completion, exitCode, null, lease.retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
|
|
240
254
|
return 'failed';
|
|
241
255
|
}
|
|
256
|
+
async recoverPtyTask(project, slotName, seq, slot, postActions, lease) {
|
|
257
|
+
const state = this.stateStore(project).readState();
|
|
258
|
+
const evidence = state.worktreeEvidence[seq] || null;
|
|
259
|
+
const judgeInput = {
|
|
260
|
+
worktree: slot.worktree || '',
|
|
261
|
+
branch: slot.branch || '',
|
|
262
|
+
baseBranch: project.config.GITLAB_MERGE_BRANCH,
|
|
263
|
+
outputFile: null,
|
|
264
|
+
exitCode: 1,
|
|
265
|
+
logsDir: project.logsDir,
|
|
266
|
+
};
|
|
267
|
+
const completion = this.judge.judge(judgeInput);
|
|
268
|
+
const postActionCtx = this.buildPostActionContext(project, slotName, seq, slot);
|
|
269
|
+
if (completion.status === 'completed') {
|
|
270
|
+
await postActions.executeCompletion(postActionCtx, completion, null);
|
|
271
|
+
return 'completed';
|
|
272
|
+
}
|
|
273
|
+
if (!this.shouldRestartPtyTask(lease, evidence, slot)) {
|
|
274
|
+
await postActions.executeFailure(postActionCtx, completion, 1, null, lease.retryCount, { onExit: this.buildOnExitCallback(project, slotName, slot, seq, postActions) });
|
|
275
|
+
return 'failed';
|
|
276
|
+
}
|
|
277
|
+
const ctx = ProjectContext.load(project.name);
|
|
278
|
+
const runtime = createAgentRuntime(ctx);
|
|
279
|
+
const tool = slot.agent || (project.config.ACP_AGENT || project.config.WORKER_TOOL);
|
|
280
|
+
const prompt = this.buildPtyRecoveryPrompt(project, lease, slot, evidence);
|
|
281
|
+
const session = await runtime.startRun(slotName, prompt, tool, slot.worktree || undefined);
|
|
282
|
+
this.resourceLimiter.tryAcquire();
|
|
283
|
+
this.syncRecoveredTask(project, slotName, seq, lease, slot, session);
|
|
284
|
+
const workerId = `${project.name}:${slotName}:${seq}`;
|
|
285
|
+
this.supervisor.registerAcpHandle({
|
|
286
|
+
id: workerId,
|
|
287
|
+
pid: null,
|
|
288
|
+
outputFile: null,
|
|
289
|
+
project: project.name,
|
|
290
|
+
seq,
|
|
291
|
+
slot: slotName,
|
|
292
|
+
branch: slot.branch || '',
|
|
293
|
+
worktree: slot.worktree || '',
|
|
294
|
+
tool: session.tool,
|
|
295
|
+
exitCode: null,
|
|
296
|
+
sessionId: session.sessionId,
|
|
297
|
+
runId: session.currentRun?.runId || null,
|
|
298
|
+
sessionState: session.sessionState,
|
|
299
|
+
remoteStatus: session.currentRun?.status || null,
|
|
300
|
+
lastEventAt: session.lastSeenAt,
|
|
301
|
+
startedAt: slot.claimedAt || lease.claimedAt || new Date().toISOString(),
|
|
302
|
+
exitedAt: null,
|
|
303
|
+
});
|
|
304
|
+
this.log(`Recovered PTY task ${workerId} by starting a fresh task-level session ` +
|
|
305
|
+
`(session ${session.sessionId}, run ${session.currentRun?.runId || 'unknown'})`);
|
|
306
|
+
return 'alive';
|
|
307
|
+
}
|
|
242
308
|
listRecoverableLeases(state) {
|
|
243
309
|
return Object.entries(state.leases)
|
|
244
310
|
.filter(([, lease]) => !['suspended', 'released'].includes(lease.phase))
|
|
@@ -283,12 +349,115 @@ export class Recovery {
|
|
|
283
349
|
slot.sessionState = session.sessionState;
|
|
284
350
|
slot.remoteStatus = session.currentRun?.status || null;
|
|
285
351
|
slot.lastEventAt = session.lastSeenAt;
|
|
286
|
-
slot.pid = null;
|
|
352
|
+
slot.pid = session.pid ?? null;
|
|
287
353
|
slot.outputFile = null;
|
|
288
354
|
slot.exitCode = null;
|
|
289
355
|
slot.lastHeartbeat = new Date().toISOString();
|
|
290
356
|
});
|
|
291
357
|
}
|
|
358
|
+
syncRecoveredTask(project, slotName, seq, lease, slot, session) {
|
|
359
|
+
this.stateStore(project).updateState('recovery-pty-restart', (state) => {
|
|
360
|
+
const worker = state.workers[slotName];
|
|
361
|
+
if (worker) {
|
|
362
|
+
worker.status = this.slotStatusForLease(lease.phase);
|
|
363
|
+
worker.seq = parseInt(seq, 10);
|
|
364
|
+
worker.branch = slot.branch || lease.branch;
|
|
365
|
+
worker.worktree = slot.worktree || lease.worktree;
|
|
366
|
+
worker.claimedAt = slot.claimedAt || lease.claimedAt || new Date().toISOString();
|
|
367
|
+
worker.mode = 'pty';
|
|
368
|
+
worker.transport = 'pty';
|
|
369
|
+
worker.agent = session.tool;
|
|
370
|
+
worker.tmuxSession = session.sessionName;
|
|
371
|
+
worker.sessionId = session.sessionId;
|
|
372
|
+
worker.runId = session.currentRun?.runId || null;
|
|
373
|
+
worker.sessionState = session.sessionState;
|
|
374
|
+
worker.remoteStatus = session.currentRun?.status || null;
|
|
375
|
+
worker.lastEventAt = session.lastSeenAt;
|
|
376
|
+
worker.pid = session.pid ?? null;
|
|
377
|
+
worker.outputFile = null;
|
|
378
|
+
worker.exitCode = null;
|
|
379
|
+
worker.lastHeartbeat = new Date().toISOString();
|
|
380
|
+
}
|
|
381
|
+
state.activeCards[seq] = {
|
|
382
|
+
seq: parseInt(seq, 10),
|
|
383
|
+
state: 'Inprogress',
|
|
384
|
+
worker: slotName,
|
|
385
|
+
mrUrl: state.activeCards[seq]?.mrUrl || null,
|
|
386
|
+
conflictDomains: state.activeCards[seq]?.conflictDomains || [],
|
|
387
|
+
startedAt: state.activeCards[seq]?.startedAt || lease.claimedAt || new Date().toISOString(),
|
|
388
|
+
retryCount: lease.retryCount,
|
|
389
|
+
};
|
|
390
|
+
if (state.leases[seq]) {
|
|
391
|
+
state.leases[seq].slot = slotName;
|
|
392
|
+
state.leases[seq].branch = slot.branch || lease.branch;
|
|
393
|
+
state.leases[seq].worktree = slot.worktree || lease.worktree;
|
|
394
|
+
state.leases[seq].sessionId = session.sessionId;
|
|
395
|
+
state.leases[seq].runId = session.currentRun?.runId || null;
|
|
396
|
+
state.leases[seq].phase = session.pendingInput
|
|
397
|
+
? 'waiting_confirmation'
|
|
398
|
+
: lease.phase === 'resolving_conflict'
|
|
399
|
+
? 'resolving_conflict'
|
|
400
|
+
: 'coding';
|
|
401
|
+
state.leases[seq].lastTransitionAt = new Date().toISOString();
|
|
402
|
+
}
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
shouldRestartPtyTask(lease, evidence, slot) {
|
|
406
|
+
const hasWorktree = !!(slot.worktree || lease.worktree);
|
|
407
|
+
const hasBranch = !!(slot.branch || lease.branch);
|
|
408
|
+
if (!hasWorktree || !hasBranch)
|
|
409
|
+
return false;
|
|
410
|
+
if (lease.phase === 'resolving_conflict')
|
|
411
|
+
return true;
|
|
412
|
+
if (lease.phase === 'waiting_confirmation')
|
|
413
|
+
return true;
|
|
414
|
+
if (lease.phase === 'coding')
|
|
415
|
+
return true;
|
|
416
|
+
if (lease.phase === 'merging' && evidence && ['rebase', 'merge', 'conflict'].includes(evidence.gitStatus)) {
|
|
417
|
+
return true;
|
|
418
|
+
}
|
|
419
|
+
return false;
|
|
420
|
+
}
|
|
421
|
+
buildPtyRecoveryPrompt(project, lease, slot, evidence) {
|
|
422
|
+
const worktree = slot.worktree || lease.worktree || '';
|
|
423
|
+
const branch = slot.branch || lease.branch || '';
|
|
424
|
+
const phase = selectWorkerPhase(lease.pmStateObserved, lease.phase);
|
|
425
|
+
const originalPrompt = this.readTaskPrompt(worktree, phase);
|
|
426
|
+
return buildResumePrompt(phase, worktree, branch, originalPrompt);
|
|
427
|
+
}
|
|
428
|
+
readTaskPrompt(worktree, phase) {
|
|
429
|
+
if (!worktree)
|
|
430
|
+
return null;
|
|
431
|
+
const candidateFiles = [
|
|
432
|
+
resolve(worktree, '.sps', promptFileForPhase(phase)),
|
|
433
|
+
resolve(worktree, '.sps', LEGACY_TASK_PROMPT_FILE),
|
|
434
|
+
];
|
|
435
|
+
for (const promptFile of candidateFiles) {
|
|
436
|
+
if (!existsSync(promptFile))
|
|
437
|
+
continue;
|
|
438
|
+
try {
|
|
439
|
+
const content = readFileSync(promptFile, 'utf-8').trim();
|
|
440
|
+
if (content)
|
|
441
|
+
return content;
|
|
442
|
+
}
|
|
443
|
+
catch {
|
|
444
|
+
// try next candidate
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
return null;
|
|
448
|
+
}
|
|
449
|
+
slotStatusForLease(phase) {
|
|
450
|
+
if (phase === 'merging')
|
|
451
|
+
return 'merging';
|
|
452
|
+
if (phase === 'resolving_conflict' || phase === 'waiting_confirmation')
|
|
453
|
+
return 'resolving';
|
|
454
|
+
if (phase === 'closing')
|
|
455
|
+
return 'releasing';
|
|
456
|
+
return 'active';
|
|
457
|
+
}
|
|
458
|
+
isPtyTask(project, slot) {
|
|
459
|
+
return slot.transport === 'pty' || slot.mode === 'pty' || project.config.WORKER_TRANSPORT === 'pty';
|
|
460
|
+
}
|
|
292
461
|
isActiveRun(status) {
|
|
293
462
|
return ['submitted', 'running', 'waiting_input'].includes(status);
|
|
294
463
|
}
|
|
@@ -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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"}
|