@tokenfactory/acc-runner 0.5.0 → 0.6.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.map +1 -1
- package/dist/config.js +12 -3
- package/dist/config.js.map +1 -1
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +88 -0
- package/dist/doctor.js.map +1 -1
- package/dist/runtime/locks.d.ts +21 -0
- package/dist/runtime/locks.d.ts.map +1 -0
- package/dist/runtime/locks.js +97 -0
- package/dist/runtime/locks.js.map +1 -0
- package/dist/runtime/worktree.d.ts +22 -0
- package/dist/runtime/worktree.d.ts.map +1 -0
- package/dist/runtime/worktree.js +103 -0
- package/dist/runtime/worktree.js.map +1 -0
- package/dist/task-runner.d.ts +58 -21
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +331 -146
- package/dist/task-runner.js.map +1 -1
- package/dist/types.d.ts +12 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -1
- package/dist/watch.d.ts +18 -0
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +120 -27
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
package/dist/task-runner.js
CHANGED
|
@@ -13,14 +13,32 @@
|
|
|
13
13
|
* Cancellation: watch.ts holds a reference to the running child via the
|
|
14
14
|
* returned controller and SIGTERMs it on task_cancelled.
|
|
15
15
|
*/
|
|
16
|
+
import os from "node:os";
|
|
17
|
+
import path from "node:path";
|
|
16
18
|
import { execa } from "execa";
|
|
17
19
|
import { normalizeUsage, parseClaudeJson, priceUsdCents, } from "./cost-pricing.js";
|
|
18
20
|
import { git as defaultGit } from "./git.js";
|
|
19
21
|
import { gh as defaultGh } from "./gh.js";
|
|
20
22
|
import { writeMcpConfig as defaultWriteMcpConfig, } from "./mcp-spawn.js";
|
|
21
23
|
import { branchForTask, prTitleForTask, renderTaskPrompt, } from "./prompt.js";
|
|
24
|
+
import { acquireTaskLock as defaultAcquireTaskLock, TaskLockHeldError, } from "./runtime/locks.js";
|
|
25
|
+
import { prepareTaskWorktree as defaultPrepareTaskWorktree, } from "./runtime/worktree.js";
|
|
22
26
|
const LOG_BATCH_BYTES = 4 * 1024;
|
|
23
|
-
|
|
27
|
+
/**
|
|
28
|
+
* v0.6.0 REG-296: build the argv for `claude --print`. Splitting this
|
|
29
|
+
* out keeps the model-passthrough logic unit-testable without spawning
|
|
30
|
+
* a real subprocess. modelId is forwarded as `--model <id>` when
|
|
31
|
+
* non-empty (whitespace counts as empty); otherwise omitted so claude
|
|
32
|
+
* uses the operator's default model.
|
|
33
|
+
*/
|
|
34
|
+
export function buildClaudeArgs(modelId) {
|
|
35
|
+
const args = ["--print", "--dangerously-skip-permissions", "--output-format=json"];
|
|
36
|
+
const trimmed = (modelId ?? "").trim();
|
|
37
|
+
if (trimmed)
|
|
38
|
+
args.push("--model", trimmed);
|
|
39
|
+
return args;
|
|
40
|
+
}
|
|
41
|
+
function defaultSpawnClaude(cwd, modelId) {
|
|
24
42
|
// --dangerously-skip-permissions: bypass claude's per-edit approval
|
|
25
43
|
// prompts. The runner is non-interactive (no TTY for human approval)
|
|
26
44
|
// and the permission boundary is enforced one level up — see the
|
|
@@ -28,7 +46,8 @@ function defaultSpawnClaude(cwd) {
|
|
|
28
46
|
// --output-format=json: emit a structured object so we can parse the
|
|
29
47
|
// usage block for cost tracking. parseClaudeJson falls back to plain
|
|
30
48
|
// text when older claude versions emit markdown directly.
|
|
31
|
-
|
|
49
|
+
// --model: forwarded when the task pins a model (REG-296).
|
|
50
|
+
return execa("claude", buildClaudeArgs(modelId), {
|
|
32
51
|
cwd,
|
|
33
52
|
stdin: "pipe",
|
|
34
53
|
stdout: "pipe",
|
|
@@ -37,6 +56,25 @@ function defaultSpawnClaude(cwd) {
|
|
|
37
56
|
env: process.env,
|
|
38
57
|
});
|
|
39
58
|
}
|
|
59
|
+
async function defaultCheckoutBase(repoPath, baseBranch) {
|
|
60
|
+
// Plain `git checkout <branch>` (not `-B`) so the integration
|
|
61
|
+
// branch's existing ref is honored. With -B we'd reset the
|
|
62
|
+
// integration branch to current HEAD, which is the exact bug
|
|
63
|
+
// REG-301 was filed for in reverse — destructive instead of stale.
|
|
64
|
+
await execa("git", ["checkout", baseBranch], { cwd: repoPath, env: process.env });
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* v0.6.0 REG-295: expand `~/...` paths against $HOME so a task can
|
|
68
|
+
* carry `repo_path_hint = "~/work/foo"` from a row populated on a
|
|
69
|
+
* different machine. Absolute and relative paths pass through.
|
|
70
|
+
*/
|
|
71
|
+
export function expandHomePath(p) {
|
|
72
|
+
if (p === "~")
|
|
73
|
+
return os.homedir();
|
|
74
|
+
if (p.startsWith("~/"))
|
|
75
|
+
return path.join(os.homedir(), p.slice(2));
|
|
76
|
+
return p;
|
|
77
|
+
}
|
|
40
78
|
async function appendEvent(supabase, taskId, kind, payload) {
|
|
41
79
|
const { error } = await supabase.rpc("append_task_event", {
|
|
42
80
|
p_task_id: taskId,
|
|
@@ -121,176 +159,323 @@ export function runTask(taskId, deps) {
|
|
|
121
159
|
const git = deps.git ?? defaultGit;
|
|
122
160
|
const gh = deps.gh ?? defaultGh;
|
|
123
161
|
const spawnClaude = deps.spawnClaude ?? defaultSpawnClaude;
|
|
162
|
+
const checkoutBase = deps.checkoutBase ?? defaultCheckoutBase;
|
|
163
|
+
const acquireLock = deps.acquireLock ?? defaultAcquireTaskLock;
|
|
164
|
+
const prepareWorktree = deps.prepareWorktree ?? defaultPrepareTaskWorktree;
|
|
124
165
|
const postCostEvent = deps.postCostEvent ?? ((event) => defaultPostCostEvent(deps.supabase, event));
|
|
166
|
+
// Silence the unused-binding lint for `checkoutBase` — v0.11-F supersedes
|
|
167
|
+
// the v0.6.0 REG-301 pre-spawn `git checkout <baseBranch>` with the
|
|
168
|
+
// worktree's `add -B <branch> <path> <baseBranch>` start-point semantics,
|
|
169
|
+
// but the dep is still accepted for back-compat with test fixtures that
|
|
170
|
+
// inject a mock. Drop in v0.7.
|
|
171
|
+
void checkoutBase;
|
|
125
172
|
let child = null;
|
|
126
173
|
let cancelled = false;
|
|
174
|
+
// v0.6.1 (v0.11-D): release lock rows on every terminal exit path
|
|
175
|
+
// below the claim. Best-effort — a release failure logs to stderr
|
|
176
|
+
// but does not change the outcome the runner reports to the caller.
|
|
177
|
+
// Calling release without first calling claim is a no-op at the
|
|
178
|
+
// RPC level, so wiring this into both pre-claim and post-claim
|
|
179
|
+
// returns would be safe; we only call it from post-claim returns
|
|
180
|
+
// to keep the code path obvious to a reader.
|
|
181
|
+
const releaseLocks = async () => {
|
|
182
|
+
const { error } = await deps.supabase.rpc("release_task_locks", {
|
|
183
|
+
p_task_id: taskId,
|
|
184
|
+
});
|
|
185
|
+
if (error) {
|
|
186
|
+
process.stderr.write(`[acc-runner] release_task_locks(${taskId}) failed: ${error.message}\n`);
|
|
187
|
+
}
|
|
188
|
+
};
|
|
127
189
|
const promise = (async () => {
|
|
128
|
-
// 1.
|
|
129
|
-
|
|
190
|
+
// 1. Atomic claim + transition to running. v0.11-D: replaces the
|
|
191
|
+
// pre-v0.6.1 raw transition_task('running') call. The RPC
|
|
192
|
+
// row-locks acc.tasks FOR UPDATE, checks file-path overlap
|
|
193
|
+
// against other running tasks' locks, INSERTs a lock row +
|
|
194
|
+
// transitions to running in one transaction. On overlap or
|
|
195
|
+
// same-task race the task stays queued for another runner.
|
|
196
|
+
const claim = await deps.supabase.rpc("claim_task_with_locks", {
|
|
130
197
|
p_task_id: taskId,
|
|
131
|
-
|
|
198
|
+
p_runner_id: deps.session.runnerId,
|
|
132
199
|
});
|
|
133
|
-
if (
|
|
134
|
-
const msg =
|
|
135
|
-
// 22023
|
|
136
|
-
//
|
|
200
|
+
if (claim.error) {
|
|
201
|
+
const msg = claim.error.message;
|
|
202
|
+
// Includes 22023 (invalid_task_transition surfaced through the
|
|
203
|
+
// nested acc.transition_task call) — task may already be past
|
|
204
|
+
// 'running' (e.g. needs-review). Log and bail rather than crash.
|
|
137
205
|
await appendEvent(deps.supabase, taskId, "error", {
|
|
138
|
-
phase: "
|
|
206
|
+
phase: "claim_locks",
|
|
139
207
|
error: msg,
|
|
140
208
|
});
|
|
141
|
-
return { taskId, status: "failed", error: msg };
|
|
209
|
+
return { taskId, status: "failed", phase: "claim_locks", error: msg };
|
|
142
210
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
p_new_status: "failed",
|
|
211
|
+
const claimResult = (claim.data ?? {});
|
|
212
|
+
if (claimResult.ok !== true) {
|
|
213
|
+
const conflicts = Array.isArray(claimResult.conflicts) ? claimResult.conflicts : [];
|
|
214
|
+
await appendEvent(deps.supabase, taskId, "log", {
|
|
215
|
+
phase: "claim_locks",
|
|
216
|
+
stream: "stderr",
|
|
217
|
+
conflicts,
|
|
218
|
+
message: `file-lock conflict — other tasks hold overlapping paths: ${conflicts.join(", ")}`,
|
|
219
|
+
runner_id: deps.session.runnerId,
|
|
153
220
|
});
|
|
154
|
-
|
|
221
|
+
const reason = `file-lock conflict with: ${conflicts.join(", ") || "(unknown)"}`;
|
|
222
|
+
return {
|
|
223
|
+
taskId,
|
|
224
|
+
status: "failed",
|
|
225
|
+
phase: "claim_locks",
|
|
226
|
+
error: reason,
|
|
227
|
+
};
|
|
155
228
|
}
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
integrationBranch: deps.cfg.integrationBranch,
|
|
164
|
-
targetRepo: deps.cfg.targetRepo,
|
|
165
|
-
});
|
|
166
|
-
// 3. Repo prep.
|
|
229
|
+
// v0.6.1 (v0.11-D): every exit path below the successful claim
|
|
230
|
+
// must release the lock row so the same paths free up for the
|
|
231
|
+
// next runner. try/finally captures returns AND uncaught throws
|
|
232
|
+
// alike — strictly stronger than explicit pre-return release at
|
|
233
|
+
// each of the seven completion sites, and the runner CLI never
|
|
234
|
+
// recovers from a thrown error inside runTask, so the lock
|
|
235
|
+
// would otherwise leak until a future sweep job clears it.
|
|
167
236
|
try {
|
|
168
|
-
|
|
169
|
-
await
|
|
170
|
-
}
|
|
171
|
-
catch (err) {
|
|
172
|
-
const msg = err.message;
|
|
173
|
-
await appendEvent(deps.supabase, taskId, "error", { phase: "git", error: msg });
|
|
174
|
-
await deps.supabase.rpc("transition_task", {
|
|
237
|
+
// 2. Fetch task + adjacent rows.
|
|
238
|
+
const fetched = await deps.supabase.rpc("fetch_task_for_runner", {
|
|
175
239
|
p_task_id: taskId,
|
|
176
|
-
p_new_status: "failed",
|
|
177
240
|
});
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
// 4a. Provision .mcp.json so Claude Code auto-discovers acc-mcp-server.
|
|
185
|
-
// Best-effort: a failed write must not block the task. The MCP server
|
|
186
|
-
// is a context source, not a critical dependency for v0.5-C1.
|
|
187
|
-
let mcpCleanup = null;
|
|
188
|
-
if (deps.session) {
|
|
189
|
-
const writer = deps.writeMcpConfig ?? defaultWriteMcpConfig;
|
|
190
|
-
try {
|
|
191
|
-
mcpCleanup = await writer({
|
|
192
|
-
cwd: deps.cfg.repoPath,
|
|
193
|
-
taskId,
|
|
194
|
-
runnerId: deps.session.runnerId,
|
|
195
|
-
accessToken: deps.session.accessToken,
|
|
196
|
-
publicUrl: deps.publicUrl ?? deps.cfg.publicUrl,
|
|
197
|
-
supabaseUrl: deps.cfg.supabaseUrl,
|
|
198
|
-
supabaseAnonKey: deps.cfg.supabaseAnonKey,
|
|
241
|
+
if (fetched.error || !fetched.data) {
|
|
242
|
+
const msg = fetched.error?.message ?? "fetch_task_for_runner returned no data";
|
|
243
|
+
await appendEvent(deps.supabase, taskId, "error", { phase: "fetch", error: msg });
|
|
244
|
+
await deps.supabase.rpc("transition_task", {
|
|
245
|
+
p_task_id: taskId,
|
|
246
|
+
p_new_status: "failed",
|
|
199
247
|
});
|
|
248
|
+
return { taskId, status: "failed", phase: "fetch", error: msg };
|
|
200
249
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
250
|
+
const result = fetched.data;
|
|
251
|
+
const { task } = result;
|
|
252
|
+
const branch = branchForTask(task.id, task.title, task.branch);
|
|
253
|
+
// REG-295: per-task repo overrides — task row trumps config so one
|
|
254
|
+
// runner can service tasks across multiple repos. Env-backed config
|
|
255
|
+
// remains the fallback for tasks that don't carry a hint yet.
|
|
256
|
+
const repoPath = task.repo_path_hint?.trim()
|
|
257
|
+
? expandHomePath(task.repo_path_hint.trim())
|
|
258
|
+
: deps.cfg.repoPath;
|
|
259
|
+
const targetRepo = task.repo?.trim() || deps.cfg.targetRepo;
|
|
260
|
+
// REG-301: branch base comes from task → cfg → main. cfg.integrationBranch
|
|
261
|
+
// already defaults to "acc/integration" so the third fallback only
|
|
262
|
+
// matters when an operator zeroed it out via env.
|
|
263
|
+
const integrationBranch = task.integration_branch?.trim() || deps.cfg.integrationBranch || "main";
|
|
264
|
+
const prompt = renderTaskPrompt({
|
|
265
|
+
task,
|
|
266
|
+
agent: result.agent,
|
|
267
|
+
model: result.model,
|
|
268
|
+
integrationBranch,
|
|
269
|
+
targetRepo,
|
|
270
|
+
});
|
|
271
|
+
// v0.11-F: acquire the per-task PID lock before any worktree
|
|
272
|
+
// side-effect. Same-machine parallel runners that picked up the same
|
|
273
|
+
// task_id (e.g. two `acc-runner watch` processes seeing the same
|
|
274
|
+
// broadcast) race here; the second one bails on TaskLockHeldError.
|
|
275
|
+
let lock;
|
|
226
276
|
try {
|
|
227
|
-
await
|
|
277
|
+
lock = await acquireLock(taskId);
|
|
228
278
|
}
|
|
229
279
|
catch (err) {
|
|
230
|
-
|
|
280
|
+
if (err instanceof TaskLockHeldError) {
|
|
281
|
+
await appendEvent(deps.supabase, taskId, "error", {
|
|
282
|
+
phase: "worktree_lock",
|
|
283
|
+
error: err.message,
|
|
284
|
+
held_by_pid: err.heldByPid,
|
|
285
|
+
});
|
|
286
|
+
await deps.supabase.rpc("transition_task", {
|
|
287
|
+
p_task_id: taskId,
|
|
288
|
+
p_new_status: "failed",
|
|
289
|
+
});
|
|
290
|
+
return { taskId, status: "failed", phase: "worktree_lock", error: err.message };
|
|
291
|
+
}
|
|
292
|
+
throw err;
|
|
231
293
|
}
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
const event = buildCostEvent(taskId, capturedStdout, result.model?.id, result.runner?.id);
|
|
294
|
+
// Worktree gets assigned inside the git-prep block; cleanup in the
|
|
295
|
+
// outer finally handles both the success path and every early
|
|
296
|
+
// return that follows.
|
|
297
|
+
let worktree = null;
|
|
298
|
+
let workdir = repoPath;
|
|
238
299
|
try {
|
|
239
|
-
|
|
300
|
+
// 3. Repo prep. v0.11-F: fetch on the shared clone (worktree
|
|
301
|
+
// shares the object store) then provision an isolated worktree
|
|
302
|
+
// at ~/.cache/acc-runner/work/<task_id>/ forked from the
|
|
303
|
+
// integration branch. The redundant `git.checkout -B <branch>`
|
|
304
|
+
// is a no-op inside the new worktree — kept so the v0.6.0
|
|
305
|
+
// checkout seam stays observable in unit tests.
|
|
306
|
+
try {
|
|
307
|
+
await git.fetch(repoPath);
|
|
308
|
+
worktree = await prepareWorktree({
|
|
309
|
+
repoPath,
|
|
310
|
+
taskId,
|
|
311
|
+
branch,
|
|
312
|
+
baseBranch: integrationBranch,
|
|
313
|
+
});
|
|
314
|
+
workdir = worktree.path;
|
|
315
|
+
await git.checkout(workdir, branch);
|
|
316
|
+
}
|
|
317
|
+
catch (err) {
|
|
318
|
+
const msg = err.message;
|
|
319
|
+
await appendEvent(deps.supabase, taskId, "error", {
|
|
320
|
+
phase: "git",
|
|
321
|
+
error: msg,
|
|
322
|
+
base: integrationBranch,
|
|
323
|
+
branch,
|
|
324
|
+
repo_path: repoPath,
|
|
325
|
+
worktree_path: worktree?.path ?? null,
|
|
326
|
+
});
|
|
327
|
+
await deps.supabase.rpc("transition_task", {
|
|
328
|
+
p_task_id: taskId,
|
|
329
|
+
p_new_status: "failed",
|
|
330
|
+
});
|
|
331
|
+
return { taskId, status: "failed", phase: "git", error: msg };
|
|
332
|
+
}
|
|
333
|
+
// 4. Spawn Claude.
|
|
334
|
+
if (cancelled) {
|
|
335
|
+
return { taskId, status: "cancelled" };
|
|
336
|
+
}
|
|
337
|
+
// 4a. Provision .mcp.json so Claude Code auto-discovers acc-mcp-server.
|
|
338
|
+
// Best-effort: a failed write must not block the task. The MCP server
|
|
339
|
+
// is a context source, not a critical dependency for v0.5-C1.
|
|
340
|
+
let mcpCleanup = null;
|
|
341
|
+
if (deps.session) {
|
|
342
|
+
const writer = deps.writeMcpConfig ?? defaultWriteMcpConfig;
|
|
343
|
+
try {
|
|
344
|
+
mcpCleanup = await writer({
|
|
345
|
+
cwd: workdir,
|
|
346
|
+
taskId,
|
|
347
|
+
runnerId: deps.session.runnerId,
|
|
348
|
+
accessToken: deps.session.accessToken,
|
|
349
|
+
publicUrl: deps.publicUrl ?? deps.cfg.publicUrl,
|
|
350
|
+
supabaseUrl: deps.cfg.supabaseUrl,
|
|
351
|
+
supabaseAnonKey: deps.cfg.supabaseAnonKey,
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
catch (err) {
|
|
355
|
+
// Don't echo the token even on failure.
|
|
356
|
+
process.stderr.write(`[acc-runner] mcp .mcp.json write failed: ${err.message}\n`);
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
child = spawnClaude(workdir, result.model?.id);
|
|
360
|
+
if (child.stdin) {
|
|
361
|
+
child.stdin.write(prompt);
|
|
362
|
+
child.stdin.end();
|
|
363
|
+
}
|
|
364
|
+
const stdoutPromise = child.stdout
|
|
365
|
+
? streamToEvents(child.stdout, deps.supabase, taskId, "stdout")
|
|
366
|
+
: Promise.resolve("");
|
|
367
|
+
const stderrPromise = child.stderr
|
|
368
|
+
? streamToEvents(child.stderr, deps.supabase, taskId, "stderr")
|
|
369
|
+
: Promise.resolve("");
|
|
370
|
+
const [outcome, capturedStdout, capturedStderr] = await Promise.all([
|
|
371
|
+
child,
|
|
372
|
+
stdoutPromise,
|
|
373
|
+
stderrPromise,
|
|
374
|
+
]);
|
|
375
|
+
// Restore .mcp.json as soon as Claude exits — its MCP subprocess
|
|
376
|
+
// tree comes down with it, so leaving our token-bearing config on
|
|
377
|
+
// disk a moment longer is pure exposure surface.
|
|
378
|
+
if (mcpCleanup) {
|
|
379
|
+
try {
|
|
380
|
+
await mcpCleanup.restore();
|
|
381
|
+
}
|
|
382
|
+
catch (err) {
|
|
383
|
+
process.stderr.write(`[acc-runner] mcp .mcp.json restore failed: ${err.message}\n`);
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
// Post the cost event before any later branch returns so cap tracking
|
|
387
|
+
// captures success, cancellation, and non-zero exit alike. Best-effort:
|
|
388
|
+
// a failed POST logs to stderr but never bubbles past the runner.
|
|
389
|
+
{
|
|
390
|
+
const event = buildCostEvent(taskId, capturedStdout, result.model?.id, result.runner?.id);
|
|
391
|
+
try {
|
|
392
|
+
await postCostEvent(event);
|
|
393
|
+
}
|
|
394
|
+
catch (err) {
|
|
395
|
+
process.stderr.write(`[acc-runner] cost-event post failed: ${err.message}\n`);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
if (cancelled) {
|
|
399
|
+
await appendEvent(deps.supabase, taskId, "cancelled", {
|
|
400
|
+
exit_code: outcome.exitCode,
|
|
401
|
+
});
|
|
402
|
+
return { taskId, status: "cancelled", exitCode: outcome.exitCode };
|
|
403
|
+
}
|
|
404
|
+
if (outcome.exitCode !== 0) {
|
|
405
|
+
await appendEvent(deps.supabase, taskId, "error", {
|
|
406
|
+
phase: "claude_exit",
|
|
407
|
+
exit_code: outcome.exitCode,
|
|
408
|
+
stderr_tail: capturedStderr.slice(-2000),
|
|
409
|
+
});
|
|
410
|
+
await deps.supabase.rpc("transition_task", {
|
|
411
|
+
p_task_id: taskId,
|
|
412
|
+
p_new_status: "failed",
|
|
413
|
+
});
|
|
414
|
+
return {
|
|
415
|
+
taskId,
|
|
416
|
+
status: "failed",
|
|
417
|
+
phase: "claude_exit",
|
|
418
|
+
exitCode: outcome.exitCode,
|
|
419
|
+
error: capturedStderr.slice(-200).trim() || `claude exited ${outcome.exitCode}`,
|
|
420
|
+
};
|
|
421
|
+
}
|
|
422
|
+
// 5. Push + open PR. Both run from the worktree so the operator's
|
|
423
|
+
// shared clone never has the task branch checked out.
|
|
424
|
+
try {
|
|
425
|
+
await git.push(workdir, branch);
|
|
426
|
+
}
|
|
427
|
+
catch (err) {
|
|
428
|
+
const msg = err.message;
|
|
429
|
+
await appendEvent(deps.supabase, taskId, "error", { phase: "push", error: msg });
|
|
430
|
+
await deps.supabase.rpc("transition_task", {
|
|
431
|
+
p_task_id: taskId,
|
|
432
|
+
p_new_status: "failed",
|
|
433
|
+
});
|
|
434
|
+
return { taskId, status: "failed", phase: "push", error: msg };
|
|
435
|
+
}
|
|
436
|
+
let prUrl = "";
|
|
437
|
+
try {
|
|
438
|
+
const body = extractReportFromOutput(capturedStdout);
|
|
439
|
+
const pr = await gh.openPR(workdir, {
|
|
440
|
+
title: prTitleForTask(task.id, task.title),
|
|
441
|
+
body,
|
|
442
|
+
base: integrationBranch,
|
|
443
|
+
});
|
|
444
|
+
prUrl = pr.url;
|
|
445
|
+
await appendEvent(deps.supabase, taskId, "pr-opened", { url: prUrl });
|
|
446
|
+
}
|
|
447
|
+
catch (err) {
|
|
448
|
+
const msg = err.message;
|
|
449
|
+
await appendEvent(deps.supabase, taskId, "error", { phase: "pr_open", error: msg });
|
|
450
|
+
// Don't transition to failed — the push succeeded, the user can
|
|
451
|
+
// open a PR manually. Webhook will pick it up.
|
|
452
|
+
}
|
|
453
|
+
return { taskId, status: "ok", prUrl, exitCode: 0 };
|
|
240
454
|
}
|
|
241
|
-
|
|
242
|
-
|
|
455
|
+
finally {
|
|
456
|
+
// v0.11-F: tear down the per-task worktree and release the PID
|
|
457
|
+
// lock on every completion path (success, failure, cancellation,
|
|
458
|
+
// unexpected throw). Both legs are best-effort — leaking either
|
|
459
|
+
// resource is preferable to masking the original return value.
|
|
460
|
+
if (worktree) {
|
|
461
|
+
try {
|
|
462
|
+
await worktree.cleanup();
|
|
463
|
+
}
|
|
464
|
+
catch (err) {
|
|
465
|
+
process.stderr.write(`[acc-runner] worktree cleanup failed: ${err.message}\n`);
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
try {
|
|
469
|
+
await lock.release();
|
|
470
|
+
}
|
|
471
|
+
catch (err) {
|
|
472
|
+
process.stderr.write(`[acc-runner] lock release failed: ${err.message}\n`);
|
|
473
|
+
}
|
|
243
474
|
}
|
|
244
475
|
}
|
|
245
|
-
|
|
246
|
-
await
|
|
247
|
-
exit_code: outcome.exitCode,
|
|
248
|
-
});
|
|
249
|
-
return { taskId, status: "cancelled", exitCode: outcome.exitCode };
|
|
250
|
-
}
|
|
251
|
-
if (outcome.exitCode !== 0) {
|
|
252
|
-
await appendEvent(deps.supabase, taskId, "error", {
|
|
253
|
-
phase: "claude_exit",
|
|
254
|
-
exit_code: outcome.exitCode,
|
|
255
|
-
stderr_tail: capturedStderr.slice(-2000),
|
|
256
|
-
});
|
|
257
|
-
await deps.supabase.rpc("transition_task", {
|
|
258
|
-
p_task_id: taskId,
|
|
259
|
-
p_new_status: "failed",
|
|
260
|
-
});
|
|
261
|
-
return { taskId, status: "failed", exitCode: outcome.exitCode };
|
|
262
|
-
}
|
|
263
|
-
// 5. Push + open PR.
|
|
264
|
-
try {
|
|
265
|
-
await git.push(deps.cfg.repoPath, branch);
|
|
266
|
-
}
|
|
267
|
-
catch (err) {
|
|
268
|
-
const msg = err.message;
|
|
269
|
-
await appendEvent(deps.supabase, taskId, "error", { phase: "push", error: msg });
|
|
270
|
-
await deps.supabase.rpc("transition_task", {
|
|
271
|
-
p_task_id: taskId,
|
|
272
|
-
p_new_status: "failed",
|
|
273
|
-
});
|
|
274
|
-
return { taskId, status: "failed", error: msg };
|
|
275
|
-
}
|
|
276
|
-
let prUrl = "";
|
|
277
|
-
try {
|
|
278
|
-
const body = extractReportFromOutput(capturedStdout);
|
|
279
|
-
const pr = await gh.openPR(deps.cfg.repoPath, {
|
|
280
|
-
title: prTitleForTask(task.id, task.title),
|
|
281
|
-
body,
|
|
282
|
-
base: deps.cfg.integrationBranch,
|
|
283
|
-
});
|
|
284
|
-
prUrl = pr.url;
|
|
285
|
-
await appendEvent(deps.supabase, taskId, "pr-opened", { url: prUrl });
|
|
286
|
-
}
|
|
287
|
-
catch (err) {
|
|
288
|
-
const msg = err.message;
|
|
289
|
-
await appendEvent(deps.supabase, taskId, "error", { phase: "pr_open", error: msg });
|
|
290
|
-
// Don't transition to failed — the push succeeded, the user can
|
|
291
|
-
// open a PR manually. Webhook will pick it up.
|
|
476
|
+
finally {
|
|
477
|
+
await releaseLocks();
|
|
292
478
|
}
|
|
293
|
-
return { taskId, status: "ok", prUrl, exitCode: 0 };
|
|
294
479
|
})();
|
|
295
480
|
return {
|
|
296
481
|
taskId,
|
package/dist/task-runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-runner.js","sourceRoot":"","sources":["../src/task-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-runner.js","sourceRoot":"","sources":["../src/task-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,KAAK,EAA0B,MAAM,OAAO,CAAC;AAEtD,OAAO,EACL,cAAc,EACd,eAAe,EACf,aAAa,GAEd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,GAAG,IAAI,UAAU,EAAkB,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,EAAE,IAAI,SAAS,EAAiB,MAAM,SAAS,CAAC;AACzD,OAAO,EACL,cAAc,IAAI,qBAAqB,GAGxC,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,eAAe,IAAI,sBAAsB,EACzC,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,mBAAmB,IAAI,0BAA0B,GAGlD,MAAM,uBAAuB,CAAC;AAkG/B,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,OAAuB;IACrD,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,gCAAgC,EAAE,sBAAsB,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,OAAgB;IACvD,oEAAoE;IACpE,qEAAqE;IACrE,iEAAiE;IACjE,6DAA6D;IAC7D,qEAAqE;IACrE,qEAAqE;IACrE,0DAA0D;IAC1D,2DAA2D;IAC3D,OAAO,KAAK,CACV,QAAQ,EACR,eAAe,CAAC,OAAO,CAAC,EACxB;QACE,GAAG;QACH,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,OAAO,CAAC,GAAG;KACjB,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,UAAkB;IACrE,8DAA8D;IAC9D,2DAA2D;IAC3D,6DAA6D;IAC7D,mEAAmE;IACnE,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACpF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,CAAS;IACtC,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC;AACX,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAA8B,EAC9B,MAAc,EACd,IAAY,EACZ,OAAgC;IAEhC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE;QACxD,SAAS,EAAE,MAAM;QACjB,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,OAAO;KACnB,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACV,oEAAoE;QACpE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,MAA6B,EAC7B,QAA8B,EAC9B,MAAc,EACd,UAA+B;IAE/B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,KAAK,IAAI,EAAE;QACvB,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,IAAI,GAAG,OAAO,CAAC;QACrB,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,IAAI,IAAI,CAAC;QACjB,MAAM,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC;IACF,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAwC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClE,OAAO,IAAI,IAAI,CAAC;QAChB,IAAI,OAAO,CAAC,MAAM,IAAI,eAAe;YAAE,MAAM,KAAK,EAAE,CAAC;IACvD,CAAC;IACD,MAAM,KAAK,EAAE,CAAC;IACd,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACvC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO,uBAAuB,CAAC;QAC7C,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,MAAc,EACd,aAAwC,EACxC,QAAmC;IAEnC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,aAAa,IAAI,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5C,OAAO;QACL,OAAO,EAAI,MAAM;QACjB,KAAK;QACL,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;QACtC,SAAS,EAAE,QAAQ,IAAI,IAAI;QAC3B,GAAG,KAAK;KACT,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,QAA8B,EAC9B,KAAuB;IAEvB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,mBAAmB,EAAE;QACxD,SAAS,EAAa,KAAK,CAAC,OAAO;QACnC,OAAO,EAAe,KAAK,CAAC,KAAK;QACjC,cAAc,EAAQ,KAAK,CAAC,YAAY;QACxC,eAAe,EAAO,KAAK,CAAC,aAAa;QACzC,mBAAmB,EAAG,KAAK,CAAC,iBAAiB;QAC7C,oBAAoB,EAAE,KAAK,CAAC,kBAAkB;QAC9C,WAAW,EAAW,KAAK,CAAC,SAAS;QACrC,WAAW,EAAW,KAAK,CAAC,SAAS,IAAI,IAAI;KAC9C,CAAC,CAAC;IACH,IAAI,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,OAAO,CACrB,MAAc,EACd,IAAiB;IAEjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,UAAU,CAAC;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,SAAS,CAAC;IAChC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,kBAAkB,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,mBAAmB,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,sBAAsB,CAAC;IAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,0BAA0B,CAAC;IAC3E,MAAM,aAAa,GACjB,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IAChF,0EAA0E;IAC1E,oEAAoE;IACpE,0EAA0E;IAC1E,wEAAwE;IACxE,+BAA+B;IAC/B,KAAK,YAAY,CAAC;IAElB,IAAI,KAAK,GAA6B,IAAI,CAAC;IAC3C,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,kEAAkE;IAClE,kEAAkE;IAClE,oEAAoE;IACpE,gEAAgE;IAChE,+DAA+D;IAC/D,iEAAiE;IACjE,6CAA6C;IAC7C,MAAM,YAAY,GAAG,KAAK,IAAmB,EAAE;QAC7C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE;YAC9D,SAAS,EAAE,MAAM;SAClB,CAAC,CAAC;QACH,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mCAAmC,MAAM,aAAa,KAAK,CAAC,OAAO,IAAI,CACxE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAAK,IAA6B,EAAE;QACnD,iEAAiE;QACjE,6DAA6D;QAC7D,8DAA8D;QAC9D,8DAA8D;QAC9D,8DAA8D;QAC9D,8DAA8D;QAC9D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE;YAC7D,SAAS,EAAI,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;SACnC,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC;YAChC,+DAA+D;YAC/D,8DAA8D;YAC9D,iEAAiE;YACjE,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;gBAChD,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACxE,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAA2C,CAAC;QACjF,IAAI,WAAW,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;gBAC9C,KAAK,EAAO,aAAa;gBACzB,MAAM,EAAM,QAAQ;gBACpB,SAAS;gBACT,OAAO,EAAK,4DAA4D,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC9F,SAAS,EAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;aAClC,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,4BAA4B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;YACjF,OAAO;gBACL,MAAM;gBACN,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAG,aAAa;gBACrB,KAAK,EAAG,MAAM;aACf,CAAC;QACJ,CAAC;QAED,+DAA+D;QAC/D,8DAA8D;QAC9D,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,2DAA2D;QAC3D,2DAA2D;QAC3D,IAAI,CAAC;YACL,iCAAiC;YACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,EAAE;gBAC/D,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;YACH,IAAI,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,wCAAwC,CAAC;gBAC/E,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE;oBACzC,SAAS,EAAE,MAAM;oBACjB,YAAY,EAAE,QAAQ;iBACvB,CAAC,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;YAClE,CAAC;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAuB,CAAC;YAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;YACxB,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/D,mEAAmE;YACnE,oEAAoE;YACpE,8DAA8D;YAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE;gBAC1C,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;gBAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;YAC5D,2EAA2E;YAC3E,mEAAmE;YACnE,kDAAkD;YAClD,MAAM,iBAAiB,GACrB,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC;YAC1E,MAAM,MAAM,GAAG,gBAAgB,CAAC;gBAC9B,IAAI;gBACJ,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,iBAAiB;gBACjB,UAAU;aACX,CAAC,CAAC;YAEH,6DAA6D;YAC7D,qEAAqE;YACrE,iEAAiE;YACjE,mEAAmE;YACnE,IAAI,IAAc,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;oBACrC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;wBAChD,KAAK,EAAE,eAAe;wBACtB,KAAK,EAAE,GAAG,CAAC,OAAO;wBAClB,WAAW,EAAE,GAAG,CAAC,SAAS;qBAC3B,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE;wBACzC,SAAS,EAAE,MAAM;wBACjB,YAAY,EAAE,QAAQ;qBACvB,CAAC,CAAC;oBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;gBAClF,CAAC;gBACD,MAAM,GAAG,CAAC;YACZ,CAAC;YAED,mEAAmE;YACnE,8DAA8D;YAC9D,uBAAuB;YACvB,IAAI,QAAQ,GAA4B,IAAI,CAAC;YAC7C,IAAI,OAAO,GAAG,QAAQ,CAAC;YAEvB,IAAI,CAAC;gBACH,6DAA6D;gBAC7D,+DAA+D;gBAC/D,yDAAyD;gBACzD,+DAA+D;gBAC/D,0DAA0D;gBAC1D,gDAAgD;gBAChD,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC1B,QAAQ,GAAG,MAAM,eAAe,CAAC;wBAC/B,QAAQ;wBACR,MAAM;wBACN,MAAM;wBACN,UAAU,EAAE,iBAAiB;qBAC9B,CAAC,CAAC;oBACH,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;oBACxB,MAAM,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACtC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;oBACnC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;wBAChD,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,GAAG;wBACV,IAAI,EAAE,iBAAiB;wBACvB,MAAM;wBACN,SAAS,EAAE,QAAQ;wBACnB,aAAa,EAAE,QAAQ,EAAE,IAAI,IAAI,IAAI;qBACtC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE;wBACzC,SAAS,EAAE,MAAM;wBACjB,YAAY,EAAE,QAAQ;qBACvB,CAAC,CAAC;oBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;gBAChE,CAAC;gBAED,mBAAmB;gBACnB,IAAI,SAAS,EAAE,CAAC;oBACd,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBACzC,CAAC;gBAED,wEAAwE;gBACxE,sEAAsE;gBACtE,8DAA8D;gBAC9D,IAAI,UAAU,GAA4B,IAAI,CAAC;gBAC/C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC;oBAC5D,IAAI,CAAC;wBACH,UAAU,GAAG,MAAM,MAAM,CAAC;4BACxB,GAAG,EAAE,OAAO;4BACZ,MAAM;4BACN,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;4BAC/B,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW;4BACrC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS;4BAC/C,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW;4BACjC,eAAe,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe;yBAC1C,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,wCAAwC;wBACxC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,4CAA6C,GAAa,CAAC,OAAO,IAAI,CACvE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC1B,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;gBACD,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM;oBAChC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;oBAC/D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACxB,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM;oBAChC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;oBAC/D,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAExB,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAClE,KAAK;oBACL,aAAa;oBACb,aAAa;iBACd,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,kEAAkE;gBAClE,iDAAiD;gBACjD,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBAAC,MAAM,UAAU,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,8CAA+C,GAAa,CAAC,OAAO,IAAI,CACzE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,sEAAsE;gBACtE,wEAAwE;gBACxE,kEAAkE;gBAClE,CAAC;oBACC,MAAM,KAAK,GAAG,cAAc,CAC1B,MAAM,EACN,cAAc,EACd,MAAM,CAAC,KAAK,EAAE,EAAE,EAChB,MAAM,CAAC,MAAM,EAAE,EAAE,CAClB,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC7B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCAAyC,GAAa,CAAC,OAAO,IAAI,CACnE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE;wBACpD,SAAS,EAAE,OAAO,CAAC,QAAQ;qBAC5B,CAAC,CAAC;oBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrE,CAAC;gBAED,IAAI,OAAO,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE;wBAChD,KAAK,EAAE,aAAa;wBACpB,SAAS,EAAE,OAAO,CAAC,QAAQ;wBAC3B,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;qBACzC,CAAC,CAAC;oBACH,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE;wBACzC,SAAS,EAAE,MAAM;wBACjB,YAAY,EAAE,QAAQ;qBACvB,CAAC,CAAC;oBACH,OAAO;wBACL,MAAM;wBACN,MAAM,EAAE,QAAQ;wBAChB,KAAK,EAAE,aAAa;wBACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;wBAC1B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,iBAAiB,OAAO,CAAC,QAAQ,EAAE;qBAChF,CAAC;gBACJ,CAAC;gBAED,kEAAkE;gBAClE,sDAAsD;gBACtD,IAAI,CAAC;oBACH,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;oBACnC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACjF,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE;wBACzC,SAAS,EAAE,MAAM;wBACjB,YAAY,EAAE,QAAQ;qBACvB,CAAC,CAAC;oBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;gBACjE,CAAC;gBAED,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,uBAAuB,CAAC,cAAc,CAAC,CAAC;oBACrD,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE;wBAClC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC;wBAC1C,IAAI;wBACJ,IAAI,EAAE,iBAAiB;qBACxB,CAAC,CAAC;oBACH,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC;oBACf,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;oBACnC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpF,gEAAgE;oBAChE,+CAA+C;gBACjD,CAAC;gBAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;YACtD,CAAC;oBAAS,CAAC;gBACT,+DAA+D;gBAC/D,iEAAiE;gBACjE,gEAAgE;gBAChE,+DAA+D;gBAC/D,IAAI,QAAQ,EAAE,CAAC;oBACb,IAAI,CAAC;wBAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;oBAAC,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBAC7C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yCAA0C,GAAa,CAAC,OAAO,IAAI,CACpE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,IAAI,CAAC;oBAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACzC,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,qCAAsC,GAAa,CAAC,OAAO,IAAI,CAChE,CAAC;gBACJ,CAAC;YACH,CAAC;QACD,CAAC;gBAAS,CAAC;YACT,MAAM,YAAY,EAAE,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,EAAE,CAAC;IAEL,OAAO;QACL,MAAM;QACN,OAAO;QACP,MAAM;YACJ,SAAS,GAAG,IAAI,CAAC;YACjB,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACxB,CAAC;gBAAC,MAAM,CAAC;oBACP,yBAAyB;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* shape rather than importing it cross-workspace. v0.3 will dedupe via a
|
|
6
6
|
* shared workspace package once the runner is published.
|
|
7
7
|
*/
|
|
8
|
-
export declare const PROTOCOL_VERSION: "0.
|
|
8
|
+
export declare const PROTOCOL_VERSION: "0.6.1";
|
|
9
9
|
export declare const RUNNER_KEYCHAIN_SERVICE: "acc-runner";
|
|
10
10
|
export interface DeviceCodeResponse {
|
|
11
11
|
device_code: string;
|
|
@@ -62,6 +62,17 @@ export interface FetchTaskResult {
|
|
|
62
62
|
allowed: string[];
|
|
63
63
|
forbidden: string[];
|
|
64
64
|
contracts?: string[] | null;
|
|
65
|
+
/** v0.6.1 REG-295: per-task GitHub slug (owner/name) — overrides
|
|
66
|
+
* cfg.targetRepo so a single runner can service tasks spanning
|
|
67
|
+
* multiple repos. */
|
|
68
|
+
repo?: string | null;
|
|
69
|
+
/** v0.6.1 REG-295: per-task local clone path hint. `~`-prefixed
|
|
70
|
+
* paths expand against $HOME. Overrides cfg.repoPath. */
|
|
71
|
+
repo_path_hint?: string | null;
|
|
72
|
+
/** v0.6.1 REG-301: per-task base branch for new PR branches.
|
|
73
|
+
* Overrides cfg.integrationBranch so a hotfix task can target a
|
|
74
|
+
* release branch without touching env. */
|
|
75
|
+
integration_branch?: string | null;
|
|
65
76
|
};
|
|
66
77
|
agent: {
|
|
67
78
|
id?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAO,MAAM,gBAAgB,EAAG,OAAgB,CAAC;AACjD,eAAO,MAAM,uBAAuB,EAAG,YAAqB,CAAC;AAE7D,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,IAAI,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,uEAAuE;IACvE,aAAa,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG,wBAAwB,CAAC;AAE9E,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,MAAM,0BAA0B,GAClC,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,CAAC;AAEtB,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|