@pat-lewczuk/cezar 0.1.0 → 0.1.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/dist/config.d.ts +55 -0
- package/dist/config.js +44 -0
- package/dist/config.js.map +1 -0
- package/dist/core/agent-runner.d.ts +13 -0
- package/dist/core/claude-cli-runner.js +23 -2
- package/dist/core/claude-cli-runner.js.map +1 -1
- package/dist/git-worktree.d.ts +49 -0
- package/dist/git-worktree.js +129 -0
- package/dist/git-worktree.js.map +1 -0
- package/dist/handoff.d.ts +42 -0
- package/dist/handoff.js +120 -0
- package/dist/handoff.js.map +1 -0
- package/dist/index.js +27 -6
- package/dist/index.js.map +1 -1
- package/dist/planner.d.ts +17 -0
- package/dist/planner.js +244 -0
- package/dist/planner.js.map +1 -0
- package/dist/runs/store.d.ts +40 -13
- package/dist/runs/store.js +33 -3
- package/dist/runs/store.js.map +1 -1
- package/dist/server/github.d.ts +28 -0
- package/dist/server/github.js +133 -0
- package/dist/server/github.js.map +1 -0
- package/dist/server/launch-key.d.ts +7 -0
- package/dist/server/launch-key.js +33 -0
- package/dist/server/launch-key.js.map +1 -0
- package/dist/server/pr.d.ts +22 -0
- package/dist/server/pr.js +92 -0
- package/dist/server/pr.js.map +1 -0
- package/dist/server/server.js +370 -15
- package/dist/server/server.js.map +1 -1
- package/dist/skills-remote.d.ts +35 -0
- package/dist/skills-remote.js +266 -0
- package/dist/skills-remote.js.map +1 -0
- package/dist/skills.d.ts +18 -6
- package/dist/skills.js +8 -4
- package/dist/skills.js.map +1 -1
- package/dist/todos.d.ts +60 -0
- package/dist/todos.js +166 -0
- package/dist/todos.js.map +1 -0
- package/dist/workflows/load.js +5 -9
- package/dist/workflows/load.js.map +1 -1
- package/dist/workflows/run.d.ts +62 -3
- package/dist/workflows/run.js +332 -43
- package/dist/workflows/run.js.map +1 -1
- package/dist/workflows/types.d.ts +27 -20
- package/dist/workflows/types.js +21 -0
- package/dist/workflows/types.js.map +1 -1
- package/package.json +1 -1
- package/scripts/mock-claude.mjs +118 -0
- package/web/app.js +1851 -149
- package/web/index.html +73 -22
- package/web/style.css +1271 -223
package/dist/index.js
CHANGED
|
@@ -6,6 +6,7 @@ import { mkdirSync, writeFileSync, existsSync, readFileSync } from 'node:fs';
|
|
|
6
6
|
import { dirname, join, resolve } from 'node:path';
|
|
7
7
|
import { fileURLToPath } from 'node:url';
|
|
8
8
|
import { detectEnvironment } from './core/backend-detect.js';
|
|
9
|
+
import { pruneOrphans } from './git-worktree.js';
|
|
9
10
|
import { getRepoInfo } from './server/git.js';
|
|
10
11
|
import { RunStore } from './runs/store.js';
|
|
11
12
|
import { RunManager } from './workflows/run.js';
|
|
@@ -27,7 +28,9 @@ Options:
|
|
|
27
28
|
-h, --help show this help
|
|
28
29
|
|
|
29
30
|
Zero config: uses your logged-in \`claude\` CLI (and \`gh\` for GitHub bits).
|
|
30
|
-
Skills live in .ai/skills
|
|
31
|
+
Skills live in .ai/skills/, .ai/cezar/skills/ and your team skills repo
|
|
32
|
+
(default open-mercato/skills; override via .ai/cezar/config.json);
|
|
33
|
+
workflows in .ai/cezar/workflows/.`;
|
|
31
34
|
async function main() {
|
|
32
35
|
const { values, positionals } = parseArgs({
|
|
33
36
|
options: {
|
|
@@ -71,11 +74,18 @@ async function serveCommand(repoRoot, preferredPort, openBrowser) {
|
|
|
71
74
|
const version = readOwnVersion();
|
|
72
75
|
const checks = await detectEnvironment();
|
|
73
76
|
const repo = await getRepoInfo(repoRoot);
|
|
77
|
+
// Startup reconcile (spec 006): sweep worktrees whose run no longer exists.
|
|
78
|
+
if (repo) {
|
|
79
|
+
const orphans = await pruneOrphans(repoRoot, new Set(store.listRuns().map((r) => r.id))).catch(() => []);
|
|
80
|
+
if (orphans.length > 0) {
|
|
81
|
+
console.log(` cleaned ${orphans.length} orphaned worktree(s): ${orphans.map((id) => id.slice(0, 8)).join(', ')}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
74
84
|
const port = await pickPort(preferredPort);
|
|
75
85
|
startServer({ repoRoot, store, manager, version }, port);
|
|
76
86
|
const url = `http://localhost:${port}`;
|
|
77
87
|
console.log(`\n cezar v${version} — ${repoRoot}`);
|
|
78
|
-
console.log(` ${repo ? `branch ${repo.branch}` : 'not a git repository (
|
|
88
|
+
console.log(` ${repo ? `branch ${repo.branch}` : 'not a git repository (tasks run in place, one at a time; repo view is empty)'}`);
|
|
79
89
|
for (const check of checks) {
|
|
80
90
|
const mark = check.available ? '✓' : '✗';
|
|
81
91
|
const detail = check.available ? (check.version ?? 'ok') : (check.hint ?? 'missing');
|
|
@@ -175,16 +185,21 @@ async function runCommand(repoRoot, task, workflowName, model) {
|
|
|
175
185
|
}
|
|
176
186
|
});
|
|
177
187
|
const run = manager.startRun(workflow, { task, model });
|
|
188
|
+
// `review` is terminal here too (spec 009) — headless runs must not hang on
|
|
189
|
+
// the GUI's review gate; the diff waits on the task branch/cockpit instead.
|
|
178
190
|
const final = await new Promise((resolveStatus) => {
|
|
179
191
|
store.on('run', (r) => {
|
|
180
|
-
if (r.id === run.id && ['done', 'failed', 'cancelled'].includes(r.status))
|
|
192
|
+
if (r.id === run.id && ['done', 'review', 'failed', 'cancelled'].includes(r.status))
|
|
181
193
|
resolveStatus(r.status);
|
|
182
194
|
});
|
|
183
195
|
});
|
|
184
196
|
store.flush();
|
|
185
197
|
const record = store.getRun(run.id);
|
|
198
|
+
if (final === 'review') {
|
|
199
|
+
console.log(`\n changes ready for review on branch ${record?.branch ?? '?'} — inspect them in the cockpit: npx cezar`);
|
|
200
|
+
}
|
|
186
201
|
console.log(`\nrun ${final} — ${record?.tokensUsed ?? 0} tokens — details in the cockpit: npx cezar`);
|
|
187
|
-
process.exitCode = final === 'done' ? 0 : 1;
|
|
202
|
+
process.exitCode = final === 'done' || final === 'review' ? 0 : 1;
|
|
188
203
|
}
|
|
189
204
|
// ---- init --------------------------------------------------------------------
|
|
190
205
|
function initCommand(repoRoot) {
|
|
@@ -245,10 +260,16 @@ function openStore(repoRoot) {
|
|
|
245
260
|
/** Keep run data out of the user's repo history; workflows/skills stay committable. */
|
|
246
261
|
function ensureDataGitignore(repoRoot) {
|
|
247
262
|
const path = join(repoRoot, '.ai/cezar', '.gitignore');
|
|
263
|
+
const wanted = ['runs.json', 'runs.json.tmp', 'runs/', 'worktrees/', 'todos.json', 'todos.json.tmp', 'launch-key'];
|
|
248
264
|
try {
|
|
249
265
|
mkdirSync(join(repoRoot, '.ai/cezar'), { recursive: true });
|
|
250
|
-
|
|
251
|
-
|
|
266
|
+
const current = existsSync(path) ? readFileSync(path, 'utf8') : '';
|
|
267
|
+
const lines = current.split('\n');
|
|
268
|
+
const missing = wanted.filter((w) => !lines.includes(w));
|
|
269
|
+
if (missing.length > 0) {
|
|
270
|
+
const glue = current && !current.endsWith('\n') ? '\n' : '';
|
|
271
|
+
writeFileSync(path, `${current}${glue}${missing.join('\n')}\n`, 'utf8');
|
|
272
|
+
}
|
|
252
273
|
}
|
|
253
274
|
catch {
|
|
254
275
|
// non-fatal
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type WorkflowStepDef } from './workflows/types.js';
|
|
3
|
+
export interface PlanResult {
|
|
4
|
+
steps: WorkflowStepDef[];
|
|
5
|
+
rationale: string;
|
|
6
|
+
/** True when this is the degraded one-step quick-task plan. */
|
|
7
|
+
fallback: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function planChain(repoRoot: string, task: string): Promise<PlanResult>;
|
|
10
|
+
export declare function slugify(name: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Best-effort structured-output extraction (trimmed from @cezar/core's
|
|
13
|
+
* `parseStructured`): try the whole string after stripping a ```json fence,
|
|
14
|
+
* then scan for balanced top-level `{...}` blocks and return the first that
|
|
15
|
+
* validates. Null when nothing does — the caller decides how to recover.
|
|
16
|
+
*/
|
|
17
|
+
export declare function parseStructured<T>(raw: string, schema: z.ZodType<T, z.ZodTypeDef, unknown>): T | null;
|
package/dist/planner.js
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { z } from 'zod';
|
|
4
|
+
import { ClaudeCliRunner } from './core/claude-cli-runner.js';
|
|
5
|
+
import { loadConfig } from './config.js';
|
|
6
|
+
import { discoverSkills } from './skills.js';
|
|
7
|
+
import { workflowStepSchema } from './workflows/types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Chain-from-prompt (spec 008): one cheap `claude` call turns the user's task
|
|
10
|
+
* into a proposed chain of workflow steps built from the skills at hand plus a
|
|
11
|
+
* detected verification command. The planner NEVER blocks the user — any
|
|
12
|
+
* error, timeout or unparseable answer degrades to a one-step quick-task plan
|
|
13
|
+
* with `fallback: true` so the GUI can show a dim note.
|
|
14
|
+
*/
|
|
15
|
+
const PLANNER_TIMEOUT_MS = 60_000;
|
|
16
|
+
const PLANNER_SYSTEM_PROMPT = 'You are a planning assistant for an AI coding agent cockpit. Respond with ONLY a JSON object: ' +
|
|
17
|
+
'{"steps":[{"skill"?:string,"name":string,"prompt"?:string,"command"?:string}],"rationale":string}. ' +
|
|
18
|
+
'Rules: pick skills ONLY from the provided catalog; a step has either "prompt" (an agent step) or ' +
|
|
19
|
+
'"command" (a shell verification check); include the {{task}} placeholder in agent prompts where ' +
|
|
20
|
+
"the user's task text belongs; 1-5 steps; prefer fewer.";
|
|
21
|
+
const plannerResponseSchema = z.object({
|
|
22
|
+
steps: z
|
|
23
|
+
.array(z.object({
|
|
24
|
+
skill: z.string().optional(),
|
|
25
|
+
name: z.string().min(1),
|
|
26
|
+
prompt: z.string().optional(),
|
|
27
|
+
command: z.string().optional(),
|
|
28
|
+
}))
|
|
29
|
+
.min(1)
|
|
30
|
+
.max(5),
|
|
31
|
+
rationale: z.string().default(''),
|
|
32
|
+
});
|
|
33
|
+
export async function planChain(repoRoot, task) {
|
|
34
|
+
const [skills, config, verifyCommands] = await Promise.all([
|
|
35
|
+
discoverSkills(repoRoot),
|
|
36
|
+
loadConfig(repoRoot),
|
|
37
|
+
detectVerifyCommands(repoRoot),
|
|
38
|
+
]);
|
|
39
|
+
const skillNames = new Set(skills.map((s) => s.name));
|
|
40
|
+
const userPrompt = buildPlannerPrompt(task, skills, verifyCommands);
|
|
41
|
+
const runner = new ClaudeCliRunner();
|
|
42
|
+
// One retry on an unparseable answer; a runner error goes straight to fallback.
|
|
43
|
+
for (let attempt = 0; attempt < 2; attempt++) {
|
|
44
|
+
let text;
|
|
45
|
+
try {
|
|
46
|
+
const result = await runner.run({
|
|
47
|
+
systemPrompt: PLANNER_SYSTEM_PROMPT,
|
|
48
|
+
userPrompt,
|
|
49
|
+
cwd: repoRoot,
|
|
50
|
+
allowedTools: [],
|
|
51
|
+
model: config.plannerModel,
|
|
52
|
+
timeoutMs: PLANNER_TIMEOUT_MS,
|
|
53
|
+
});
|
|
54
|
+
text = result.text;
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
const parsed = parseStructured(text, plannerResponseSchema);
|
|
60
|
+
if (!parsed)
|
|
61
|
+
continue;
|
|
62
|
+
const steps = sanitizeSteps(parsed.steps, skillNames);
|
|
63
|
+
if (steps.length === 0)
|
|
64
|
+
break; // everything got rejected — degrade
|
|
65
|
+
return { steps, rationale: parsed.rationale, fallback: false };
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
steps: [{ id: 'task', name: 'Do the task', prompt: '{{task}}' }],
|
|
69
|
+
rationale: 'planner unavailable — single-step plan',
|
|
70
|
+
fallback: true,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/** The `[cez-planner]` marker lets the CEZ_DRY_RUN mock recognize a planning call. */
|
|
74
|
+
function buildPlannerPrompt(task, skills, verifyCommands) {
|
|
75
|
+
const catalog = skills.length
|
|
76
|
+
? skills.map((s) => `- ${s.name} — ${s.description ?? ''}`).join('\n')
|
|
77
|
+
: '(no skills available)';
|
|
78
|
+
const verify = verifyCommands.length
|
|
79
|
+
? verifyCommands.map((c) => `- ${c}`).join('\n')
|
|
80
|
+
: '(none detected)';
|
|
81
|
+
return [
|
|
82
|
+
'[cez-planner] Plan a chain of steps for this task.',
|
|
83
|
+
'',
|
|
84
|
+
'Task:',
|
|
85
|
+
task,
|
|
86
|
+
'',
|
|
87
|
+
'Skill catalog (name — description):',
|
|
88
|
+
catalog,
|
|
89
|
+
'',
|
|
90
|
+
'Verification commands detected in this repo:',
|
|
91
|
+
verify,
|
|
92
|
+
].join('\n');
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Detect verification commands the planner may propose as `check` steps:
|
|
96
|
+
* `package.json` scripts (test/lint/build) and Makefile targets (first 50
|
|
97
|
+
* lines). Best effort — an unreadable file just contributes nothing.
|
|
98
|
+
*/
|
|
99
|
+
async function detectVerifyCommands(repoRoot) {
|
|
100
|
+
const out = [];
|
|
101
|
+
const pkgSchema = z.object({ scripts: z.record(z.string()).default({}) });
|
|
102
|
+
try {
|
|
103
|
+
const raw = JSON.parse(await readFile(join(repoRoot, 'package.json'), 'utf8'));
|
|
104
|
+
const pkg = pkgSchema.safeParse(raw);
|
|
105
|
+
if (pkg.success) {
|
|
106
|
+
if (pkg.data.scripts['test'])
|
|
107
|
+
out.push('npm test');
|
|
108
|
+
if (pkg.data.scripts['lint'])
|
|
109
|
+
out.push('npm run lint');
|
|
110
|
+
if (pkg.data.scripts['build'])
|
|
111
|
+
out.push('npm run build');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
// no package.json — fine
|
|
116
|
+
}
|
|
117
|
+
try {
|
|
118
|
+
const make = await readFile(join(repoRoot, 'Makefile'), 'utf8');
|
|
119
|
+
for (const line of make.split('\n').slice(0, 50)) {
|
|
120
|
+
const m = /^([A-Za-z0-9_.-]+):(?!=)/.exec(line);
|
|
121
|
+
if (m && m[1] && !m[1].startsWith('.'))
|
|
122
|
+
out.push(`make ${m[1]}`);
|
|
123
|
+
if (out.length >= 8)
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// no Makefile — fine
|
|
129
|
+
}
|
|
130
|
+
return out;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Turn the model's raw steps into valid `WorkflowStepDef`s: exactly one of
|
|
134
|
+
* prompt/command, unknown skills stripped (the prompt still carries the step),
|
|
135
|
+
* ids derived from names with `-2`-style dedup. Steps that can't be repaired
|
|
136
|
+
* are dropped — the caller falls back when nothing survives.
|
|
137
|
+
*/
|
|
138
|
+
function sanitizeSteps(raw, skillNames) {
|
|
139
|
+
const out = [];
|
|
140
|
+
const usedIds = new Set();
|
|
141
|
+
for (const s of raw) {
|
|
142
|
+
let skill = s.skill?.trim() || undefined;
|
|
143
|
+
const prompt = s.prompt?.trim() || undefined;
|
|
144
|
+
const command = s.command?.trim() || undefined;
|
|
145
|
+
if (Boolean(prompt) === Boolean(command))
|
|
146
|
+
continue; // needs exactly one
|
|
147
|
+
if (command)
|
|
148
|
+
skill = undefined; // a shell check carries no skill
|
|
149
|
+
if (skill && !skillNames.has(skill))
|
|
150
|
+
skill = undefined; // unknown skill → plain prompt
|
|
151
|
+
const id = uniqueId(slugify(s.name) || 'step', usedIds);
|
|
152
|
+
const candidate = workflowStepSchema.safeParse({
|
|
153
|
+
id,
|
|
154
|
+
name: s.name,
|
|
155
|
+
...(skill ? { skill } : {}),
|
|
156
|
+
...(prompt ? { prompt } : {}),
|
|
157
|
+
...(command ? { command } : {}),
|
|
158
|
+
});
|
|
159
|
+
if (!candidate.success)
|
|
160
|
+
continue;
|
|
161
|
+
usedIds.add(id);
|
|
162
|
+
out.push(candidate.data);
|
|
163
|
+
}
|
|
164
|
+
return out;
|
|
165
|
+
}
|
|
166
|
+
export function slugify(name) {
|
|
167
|
+
return name
|
|
168
|
+
.toLowerCase()
|
|
169
|
+
.replace(/[^a-z0-9]+/g, '-')
|
|
170
|
+
.replace(/^-+|-+$/g, '');
|
|
171
|
+
}
|
|
172
|
+
function uniqueId(base, used) {
|
|
173
|
+
if (!used.has(base))
|
|
174
|
+
return base;
|
|
175
|
+
for (let n = 2;; n++) {
|
|
176
|
+
const id = `${base}-${n}`;
|
|
177
|
+
if (!used.has(id))
|
|
178
|
+
return id;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Best-effort structured-output extraction (trimmed from @cezar/core's
|
|
183
|
+
* `parseStructured`): try the whole string after stripping a ```json fence,
|
|
184
|
+
* then scan for balanced top-level `{...}` blocks and return the first that
|
|
185
|
+
* validates. Null when nothing does — the caller decides how to recover.
|
|
186
|
+
*/
|
|
187
|
+
export function parseStructured(raw, schema) {
|
|
188
|
+
const cleaned = raw
|
|
189
|
+
.replace(/^```(?:json|javascript|js|jsonl)?\s*\n?/im, '')
|
|
190
|
+
.replace(/\n?```\s*$/m, '')
|
|
191
|
+
.trim();
|
|
192
|
+
try {
|
|
193
|
+
return schema.parse(JSON.parse(cleaned));
|
|
194
|
+
}
|
|
195
|
+
catch {
|
|
196
|
+
for (const candidate of extractJsonObjectCandidates(raw)) {
|
|
197
|
+
try {
|
|
198
|
+
return schema.parse(JSON.parse(candidate));
|
|
199
|
+
}
|
|
200
|
+
catch {
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
function extractJsonObjectCandidates(raw) {
|
|
208
|
+
const candidates = [];
|
|
209
|
+
let start = -1;
|
|
210
|
+
let depth = 0;
|
|
211
|
+
let inString = false;
|
|
212
|
+
let escaped = false;
|
|
213
|
+
for (let i = 0; i < raw.length; i++) {
|
|
214
|
+
const ch = raw[i];
|
|
215
|
+
if (inString) {
|
|
216
|
+
if (escaped)
|
|
217
|
+
escaped = false;
|
|
218
|
+
else if (ch === '\\')
|
|
219
|
+
escaped = true;
|
|
220
|
+
else if (ch === '"')
|
|
221
|
+
inString = false;
|
|
222
|
+
continue;
|
|
223
|
+
}
|
|
224
|
+
if (ch === '"') {
|
|
225
|
+
inString = true;
|
|
226
|
+
}
|
|
227
|
+
else if (ch === '{') {
|
|
228
|
+
if (depth === 0)
|
|
229
|
+
start = i;
|
|
230
|
+
depth++;
|
|
231
|
+
}
|
|
232
|
+
else if (ch === '}') {
|
|
233
|
+
if (depth === 0)
|
|
234
|
+
continue;
|
|
235
|
+
depth--;
|
|
236
|
+
if (depth === 0 && start >= 0) {
|
|
237
|
+
candidates.push(raw.slice(start, i + 1));
|
|
238
|
+
start = -1;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
return candidates;
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=planner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"planner.js","sourceRoot":"","sources":["../src/planner.ts"],"names":[],"mappings":"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"}
|
package/dist/runs/store.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { EventEmitter } from 'node:events';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
export type RunStatus = 'queued' | 'running' | 'waiting' | 'done' | 'failed' | 'cancelled';
|
|
4
|
-
export type StepStatus = 'pending' | 'running' | 'waiting' | 'done' | 'failed' | 'cancelled' | 'skipped';
|
|
3
|
+
export type RunStatus = 'queued' | 'running' | 'waiting' | 'review' | 'done' | 'failed' | 'cancelled';
|
|
4
|
+
export type StepStatus = 'pending' | 'running' | 'waiting' | 'review' | 'done' | 'failed' | 'cancelled' | 'skipped';
|
|
5
5
|
declare const stepStateSchema: z.ZodObject<{
|
|
6
6
|
id: z.ZodString;
|
|
7
7
|
name: z.ZodString;
|
|
8
8
|
kind: z.ZodEnum<["agent", "check"]>;
|
|
9
|
-
status: z.ZodEnum<["pending", "running", "waiting", "done", "failed", "cancelled", "skipped"]>;
|
|
9
|
+
status: z.ZodEnum<["pending", "running", "waiting", "review", "done", "failed", "cancelled", "skipped"]>;
|
|
10
10
|
iterations: z.ZodNumber;
|
|
11
11
|
tokensUsed: z.ZodNumber;
|
|
12
12
|
startedAt: z.ZodOptional<z.ZodString>;
|
|
@@ -17,8 +17,8 @@ declare const stepStateSchema: z.ZodObject<{
|
|
|
17
17
|
/** Dollar cost reported by the claude CLI for this step's turns. */
|
|
18
18
|
costUsd: z.ZodOptional<z.ZodNumber>;
|
|
19
19
|
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
status: "running" | "waiting" | "review" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
20
21
|
name: string;
|
|
21
|
-
status: "running" | "waiting" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
22
22
|
id: string;
|
|
23
23
|
kind: "agent" | "check";
|
|
24
24
|
iterations: number;
|
|
@@ -29,8 +29,8 @@ declare const stepStateSchema: z.ZodObject<{
|
|
|
29
29
|
sessionId?: string | undefined;
|
|
30
30
|
costUsd?: number | undefined;
|
|
31
31
|
}, {
|
|
32
|
+
status: "running" | "waiting" | "review" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
32
33
|
name: string;
|
|
33
|
-
status: "running" | "waiting" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
34
34
|
id: string;
|
|
35
35
|
kind: "agent" | "check";
|
|
36
36
|
iterations: number;
|
|
@@ -47,7 +47,7 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
47
47
|
workflow: z.ZodString;
|
|
48
48
|
task: z.ZodString;
|
|
49
49
|
model: z.ZodOptional<z.ZodString>;
|
|
50
|
-
status: z.ZodEnum<["queued", "running", "waiting", "done", "failed", "cancelled"]>;
|
|
50
|
+
status: z.ZodEnum<["queued", "running", "waiting", "review", "done", "failed", "cancelled"]>;
|
|
51
51
|
createdAt: z.ZodString;
|
|
52
52
|
startedAt: z.ZodOptional<z.ZodString>;
|
|
53
53
|
finishedAt: z.ZodOptional<z.ZodString>;
|
|
@@ -55,6 +55,16 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
55
55
|
costUsd: z.ZodOptional<z.ZodNumber>;
|
|
56
56
|
/** First GitHub PR URL spotted in the transcript (the janitor trick). */
|
|
57
57
|
pullRequestUrl: z.ZodOptional<z.ZodString>;
|
|
58
|
+
/** Task worktree (spec 006) — absent when the run executed in the repo root. */
|
|
59
|
+
worktreePath: z.ZodOptional<z.ZodString>;
|
|
60
|
+
/** The task's own branch (`cez/<id8>`), created off `baseBranch`. */
|
|
61
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
62
|
+
/** Branch (or commit, when HEAD was detached) the worktree was forked from. */
|
|
63
|
+
baseBranch: z.ZodOptional<z.ZodString>;
|
|
64
|
+
/** Parallel variants (spec 010): tasks sharing a groupId are one group. */
|
|
65
|
+
groupId: z.ZodOptional<z.ZodString>;
|
|
66
|
+
/** Variant letter within the group — 'A' | 'B' | 'C' (kept as a string). */
|
|
67
|
+
variant: z.ZodOptional<z.ZodString>;
|
|
58
68
|
archived: z.ZodDefault<z.ZodBoolean>;
|
|
59
69
|
archivedAt: z.ZodOptional<z.ZodString>;
|
|
60
70
|
currentStepId: z.ZodOptional<z.ZodString>;
|
|
@@ -63,7 +73,7 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
63
73
|
id: z.ZodString;
|
|
64
74
|
name: z.ZodString;
|
|
65
75
|
kind: z.ZodEnum<["agent", "check"]>;
|
|
66
|
-
status: z.ZodEnum<["pending", "running", "waiting", "done", "failed", "cancelled", "skipped"]>;
|
|
76
|
+
status: z.ZodEnum<["pending", "running", "waiting", "review", "done", "failed", "cancelled", "skipped"]>;
|
|
67
77
|
iterations: z.ZodNumber;
|
|
68
78
|
tokensUsed: z.ZodNumber;
|
|
69
79
|
startedAt: z.ZodOptional<z.ZodString>;
|
|
@@ -74,8 +84,8 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
74
84
|
/** Dollar cost reported by the claude CLI for this step's turns. */
|
|
75
85
|
costUsd: z.ZodOptional<z.ZodNumber>;
|
|
76
86
|
}, "strip", z.ZodTypeAny, {
|
|
87
|
+
status: "running" | "waiting" | "review" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
77
88
|
name: string;
|
|
78
|
-
status: "running" | "waiting" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
79
89
|
id: string;
|
|
80
90
|
kind: "agent" | "check";
|
|
81
91
|
iterations: number;
|
|
@@ -86,8 +96,8 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
86
96
|
sessionId?: string | undefined;
|
|
87
97
|
costUsd?: number | undefined;
|
|
88
98
|
}, {
|
|
99
|
+
status: "running" | "waiting" | "review" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
89
100
|
name: string;
|
|
90
|
-
status: "running" | "waiting" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
91
101
|
id: string;
|
|
92
102
|
kind: "agent" | "check";
|
|
93
103
|
iterations: number;
|
|
@@ -99,7 +109,7 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
99
109
|
costUsd?: number | undefined;
|
|
100
110
|
}>, "many">;
|
|
101
111
|
}, "strip", z.ZodTypeAny, {
|
|
102
|
-
status: "queued" | "running" | "waiting" | "done" | "failed" | "cancelled";
|
|
112
|
+
status: "queued" | "running" | "waiting" | "review" | "done" | "failed" | "cancelled";
|
|
103
113
|
id: string;
|
|
104
114
|
tokensUsed: number;
|
|
105
115
|
title: string;
|
|
@@ -108,8 +118,8 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
108
118
|
createdAt: string;
|
|
109
119
|
archived: boolean;
|
|
110
120
|
steps: {
|
|
121
|
+
status: "running" | "waiting" | "review" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
111
122
|
name: string;
|
|
112
|
-
status: "running" | "waiting" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
113
123
|
id: string;
|
|
114
124
|
kind: "agent" | "check";
|
|
115
125
|
iterations: number;
|
|
@@ -120,16 +130,21 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
120
130
|
sessionId?: string | undefined;
|
|
121
131
|
costUsd?: number | undefined;
|
|
122
132
|
}[];
|
|
133
|
+
branch?: string | undefined;
|
|
134
|
+
baseBranch?: string | undefined;
|
|
123
135
|
startedAt?: string | undefined;
|
|
124
136
|
finishedAt?: string | undefined;
|
|
125
137
|
error?: string | undefined;
|
|
126
138
|
costUsd?: number | undefined;
|
|
127
139
|
model?: string | undefined;
|
|
128
140
|
pullRequestUrl?: string | undefined;
|
|
141
|
+
worktreePath?: string | undefined;
|
|
142
|
+
groupId?: string | undefined;
|
|
143
|
+
variant?: string | undefined;
|
|
129
144
|
archivedAt?: string | undefined;
|
|
130
145
|
currentStepId?: string | undefined;
|
|
131
146
|
}, {
|
|
132
|
-
status: "queued" | "running" | "waiting" | "done" | "failed" | "cancelled";
|
|
147
|
+
status: "queued" | "running" | "waiting" | "review" | "done" | "failed" | "cancelled";
|
|
133
148
|
id: string;
|
|
134
149
|
tokensUsed: number;
|
|
135
150
|
title: string;
|
|
@@ -137,8 +152,8 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
137
152
|
task: string;
|
|
138
153
|
createdAt: string;
|
|
139
154
|
steps: {
|
|
155
|
+
status: "running" | "waiting" | "review" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
140
156
|
name: string;
|
|
141
|
-
status: "running" | "waiting" | "done" | "failed" | "cancelled" | "pending" | "skipped";
|
|
142
157
|
id: string;
|
|
143
158
|
kind: "agent" | "check";
|
|
144
159
|
iterations: number;
|
|
@@ -149,12 +164,17 @@ declare const runRecordSchema: z.ZodObject<{
|
|
|
149
164
|
sessionId?: string | undefined;
|
|
150
165
|
costUsd?: number | undefined;
|
|
151
166
|
}[];
|
|
167
|
+
branch?: string | undefined;
|
|
168
|
+
baseBranch?: string | undefined;
|
|
152
169
|
startedAt?: string | undefined;
|
|
153
170
|
finishedAt?: string | undefined;
|
|
154
171
|
error?: string | undefined;
|
|
155
172
|
costUsd?: number | undefined;
|
|
156
173
|
model?: string | undefined;
|
|
157
174
|
pullRequestUrl?: string | undefined;
|
|
175
|
+
worktreePath?: string | undefined;
|
|
176
|
+
groupId?: string | undefined;
|
|
177
|
+
variant?: string | undefined;
|
|
158
178
|
archived?: boolean | undefined;
|
|
159
179
|
archivedAt?: string | undefined;
|
|
160
180
|
currentStepId?: string | undefined;
|
|
@@ -188,6 +208,8 @@ export declare class RunStore extends EventEmitter {
|
|
|
188
208
|
workflow: string;
|
|
189
209
|
task: string;
|
|
190
210
|
model?: string;
|
|
211
|
+
groupId?: string;
|
|
212
|
+
variant?: string;
|
|
191
213
|
steps: Array<Pick<StepState, 'id' | 'name' | 'kind'>>;
|
|
192
214
|
}): RunRecord;
|
|
193
215
|
updateRun(id: string, patch: Partial<Omit<RunRecord, 'id' | 'steps'>>): RunRecord | undefined;
|
|
@@ -209,6 +231,11 @@ export declare class RunStore extends EventEmitter {
|
|
|
209
231
|
private seqs;
|
|
210
232
|
private nextSeq;
|
|
211
233
|
private eventsPath;
|
|
234
|
+
/** Same location `handoffPath()` in handoff.ts produces — inlined to keep
|
|
235
|
+
* the store free of upward imports. */
|
|
236
|
+
private handoffPath;
|
|
237
|
+
/** Agent screenshots persisted by the run manager (see persistImage). */
|
|
238
|
+
private imagesDir;
|
|
212
239
|
private touch;
|
|
213
240
|
private pruneOldRuns;
|
|
214
241
|
/** Debounced so token-usage updates don't rewrite the index per event. */
|