@tokenfactory/acc-runner 0.36.0 → 0.37.2
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/cli.js +0 -0
- package/dist/config.d.ts +12 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +18 -0
- package/dist/config.js.map +1 -1
- package/dist/doctor.d.ts +7 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +24 -0
- package/dist/doctor.js.map +1 -1
- package/dist/gh.d.ts +49 -0
- package/dist/gh.d.ts.map +1 -1
- package/dist/gh.js +139 -41
- package/dist/gh.js.map +1 -1
- package/dist/github-client.d.ts +32 -8
- package/dist/github-client.d.ts.map +1 -1
- package/dist/github-client.js +48 -15
- package/dist/github-client.js.map +1 -1
- package/dist/prepr-gate.d.ts +48 -0
- package/dist/prepr-gate.d.ts.map +1 -1
- package/dist/prepr-gate.js +65 -2
- package/dist/prepr-gate.js.map +1 -1
- package/dist/runtime/reviewer.d.ts.map +1 -1
- package/dist/runtime/reviewer.js +9 -0
- package/dist/runtime/reviewer.js.map +1 -1
- package/dist/runtime/rework.d.ts +35 -4
- package/dist/runtime/rework.d.ts.map +1 -1
- package/dist/runtime/rework.js +144 -8
- package/dist/runtime/rework.js.map +1 -1
- package/dist/runtime/self-upgrade.d.ts +89 -0
- package/dist/runtime/self-upgrade.d.ts.map +1 -1
- package/dist/runtime/self-upgrade.js +98 -0
- package/dist/runtime/self-upgrade.js.map +1 -1
- package/dist/session-control.d.ts +33 -0
- package/dist/session-control.d.ts.map +1 -0
- package/dist/session-control.js +27 -0
- package/dist/session-control.js.map +1 -0
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +60 -3
- package/dist/task-runner.js.map +1 -1
- package/dist/watch.d.ts +11 -1
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +41 -2
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
- package/dist/anthropic-auth.d.ts +0 -53
- package/dist/anthropic-auth.d.ts.map +0 -1
- package/dist/anthropic-auth.js +0 -89
- package/dist/anthropic-auth.js.map +0 -1
package/dist/runtime/rework.d.ts
CHANGED
|
@@ -72,14 +72,45 @@ export interface ReconcileReworkOptions {
|
|
|
72
72
|
/** Regenerate generated artifacts after the merge. Defaults to the repo's
|
|
73
73
|
* `gen-migration-manifest` step; best-effort, output is gitignored. */
|
|
74
74
|
regenArtifacts?: (workdir: string) => Promise<void>;
|
|
75
|
+
/**
|
|
76
|
+
* LM-1: resolve the subset of `paths` the target repo declares
|
|
77
|
+
* `merge=union` in `.gitattributes`. Defaults to `git check-attr merge`
|
|
78
|
+
* against the worktree (see `declaredUnionPaths`). Injected in tests so the
|
|
79
|
+
* scoped-union fallback is exercisable without a materialized `.gitattributes`
|
|
80
|
+
* — and so a `.ts` overlap can be PROVEN to stay a real conflict (it is never
|
|
81
|
+
* in the returned set). NEVER blanket keep-both: only paths returned here are
|
|
82
|
+
* union-resolved; everything else falls through to the mechanical resolver or
|
|
83
|
+
* HALTs.
|
|
84
|
+
*/
|
|
85
|
+
unionAttr?: (workdir: string, paths: string[]) => Promise<Set<string>>;
|
|
75
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The subset of `paths` whose `merge` attribute resolves to `union`, per the
|
|
89
|
+
* worktree's `.gitattributes` (queried through git itself, so glob precedence
|
|
90
|
+
* and nested `.gitattributes` are handled exactly as a real merge would). An
|
|
91
|
+
* empty set on any error — the caller then falls through to the mechanical
|
|
92
|
+
* resolver / HALT rather than guessing.
|
|
93
|
+
*/
|
|
94
|
+
export declare function declaredUnionPaths(git: ReworkGitExec, workdir: string, paths: string[]): Promise<Set<string>>;
|
|
95
|
+
/**
|
|
96
|
+
* LM-1 fix (a): make sure the worktree presents `.gitattributes` so the merge
|
|
97
|
+
* (and `git check-attr`) see the repo's declared merge drivers. A sparse or
|
|
98
|
+
* blobless checkout can leave the root `.gitattributes` un-materialized, which
|
|
99
|
+
* silently disables `merge=union`. Best-effort + non-fatal: a repo that has no
|
|
100
|
+
* `.gitattributes`, or a worktree that already materialized it, is a harmless
|
|
101
|
+
* no-op.
|
|
102
|
+
*/
|
|
103
|
+
export declare function ensureAttributesMaterialized(git: ReworkGitExec, workdir: string): Promise<void>;
|
|
76
104
|
/**
|
|
77
105
|
* Merge `origin/<integrationBranch>` into the rework worktree's branch and
|
|
78
106
|
* regenerate artifacts. Clean merge → `reconciled`. Conflicts entirely in
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
107
|
+
* paths the repo declares `merge=union` (LM-1: append-only ledgers) → resolved
|
|
108
|
+
* with git's own union driver. Conflicts in mechanical file classes →
|
|
109
|
+
* auto-resolved via the conflict-resolver mergers. Either way the merge is
|
|
110
|
+
* committed. Any genuine source conflict (an unmergeable mechanical file, or a
|
|
111
|
+
* non-union path like a `.ts` overlap) → merge aborted and
|
|
112
|
+
* `{ status: "halt", conflicted }` so the caller surfaces it for operator
|
|
113
|
+
* review WITHOUT burning a rework cycle.
|
|
83
114
|
*/
|
|
84
115
|
export declare function reconcileReworkBranch(opts: ReconcileReworkOptions): Promise<ReconcileResult>;
|
|
85
116
|
//# sourceMappingURL=rework.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rework.d.ts","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rework.d.ts","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime/rework.js
CHANGED
|
@@ -16,10 +16,11 @@
|
|
|
16
16
|
* "comments":["..."],"cycle":1} -->
|
|
17
17
|
*/
|
|
18
18
|
import fs from "node:fs/promises";
|
|
19
|
+
import os from "node:os";
|
|
19
20
|
import path from "node:path";
|
|
20
21
|
import { execa } from "execa";
|
|
21
22
|
import { buildEnv } from "../bin-resolve.js";
|
|
22
|
-
import { classifyFile, mergeVercelCrons, mergeCurrentCycle, mergeMinVersion, mergePackageVersion, resolvePlanning, } from "./conflict-resolver.js";
|
|
23
|
+
import { classifyFile, hasConflictMarkers, mergeVercelCrons, mergeCurrentCycle, mergeMinVersion, mergePackageVersion, resolvePlanning, } from "./conflict-resolver.js";
|
|
23
24
|
/** Mirrors the bound enforced inside acc.create_rework_task. */
|
|
24
25
|
export const MAX_REWORK_CYCLES = 3;
|
|
25
26
|
// Lazy body match so reviewer comments containing "}" don't truncate the
|
|
@@ -156,13 +157,125 @@ async function defaultRegenArtifacts(workdir) {
|
|
|
156
157
|
reject: false,
|
|
157
158
|
});
|
|
158
159
|
}
|
|
159
|
-
/**
|
|
160
|
-
* when the file is absent on that side
|
|
161
|
-
*
|
|
160
|
+
/** stage 1 = merge base (common ancestor); stage 2 = ours (the rework branch);
|
|
161
|
+
* stage 3 = theirs (integration). null when the file is absent on that side
|
|
162
|
+
* (add/add has no stage 1; delete/modify drops stage 2 or 3), which the
|
|
163
|
+
* per-class mergers and the union merge below handle. */
|
|
162
164
|
async function showStage(git, workdir, stage, file) {
|
|
163
165
|
const r = await git(["show", `:${stage}:${file}`], workdir);
|
|
164
166
|
return r.exitCode === 0 ? r.stdout : null;
|
|
165
167
|
}
|
|
168
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
169
|
+
// LM-1: honor `merge=union` on the sync merge + scoped union fallback.
|
|
170
|
+
//
|
|
171
|
+
// The auto-created "Merge branch <integration> into <task-branch>" sync merge
|
|
172
|
+
// was arriving with conflict markers in append-only ledger files the target
|
|
173
|
+
// repo declares `merge=union` (docs/TASKS.md, docs/DECISIONS.md, …) even though
|
|
174
|
+
// a local `git merge` resolves them cleanly. Root cause: the merge ran in a
|
|
175
|
+
// worktree whose root `.gitattributes` was not materialized (sparse/blobless
|
|
176
|
+
// checkout), so git's per-path `merge=union` driver never engaged.
|
|
177
|
+
//
|
|
178
|
+
// Two layers of defense:
|
|
179
|
+
// (a) ensureAttributesMaterialized() restores the root `.gitattributes` BEFORE
|
|
180
|
+
// the merge so the built-in union driver engages natively.
|
|
181
|
+
// (b) after a conflicted merge, any conflicted path the repo DECLARES
|
|
182
|
+
// `merge=union` is re-merged with git's own union driver
|
|
183
|
+
// (`git merge-file --union`, identical to the `merge=union` attribute).
|
|
184
|
+
// Non-union paths stay real conflicts for a human. This is scoped to the
|
|
185
|
+
// declared set only — a `.ts` overlap is never union-resolved.
|
|
186
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
187
|
+
/**
|
|
188
|
+
* The subset of `paths` whose `merge` attribute resolves to `union`, per the
|
|
189
|
+
* worktree's `.gitattributes` (queried through git itself, so glob precedence
|
|
190
|
+
* and nested `.gitattributes` are handled exactly as a real merge would). An
|
|
191
|
+
* empty set on any error — the caller then falls through to the mechanical
|
|
192
|
+
* resolver / HALT rather than guessing.
|
|
193
|
+
*/
|
|
194
|
+
export async function declaredUnionPaths(git, workdir, paths) {
|
|
195
|
+
const union = new Set();
|
|
196
|
+
if (paths.length === 0)
|
|
197
|
+
return union;
|
|
198
|
+
const r = await git(["check-attr", "merge", "--", ...paths], workdir);
|
|
199
|
+
if (r.exitCode !== 0)
|
|
200
|
+
return union;
|
|
201
|
+
// Each line: "<path>: merge: <value>" (value is a single token:
|
|
202
|
+
// union | unspecified | set | unset | <driver>).
|
|
203
|
+
for (const line of r.stdout.split(/\r?\n/)) {
|
|
204
|
+
const m = /^(.+): merge: (\S+)$/.exec(line.trim());
|
|
205
|
+
if (m && m[2] === "union")
|
|
206
|
+
union.add(m[1]);
|
|
207
|
+
}
|
|
208
|
+
return union;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* LM-1 fix (a): make sure the worktree presents `.gitattributes` so the merge
|
|
212
|
+
* (and `git check-attr`) see the repo's declared merge drivers. A sparse or
|
|
213
|
+
* blobless checkout can leave the root `.gitattributes` un-materialized, which
|
|
214
|
+
* silently disables `merge=union`. Best-effort + non-fatal: a repo that has no
|
|
215
|
+
* `.gitattributes`, or a worktree that already materialized it, is a harmless
|
|
216
|
+
* no-op.
|
|
217
|
+
*/
|
|
218
|
+
export async function ensureAttributesMaterialized(git, workdir) {
|
|
219
|
+
try {
|
|
220
|
+
await fs.access(path.join(workdir, ".gitattributes"));
|
|
221
|
+
return; // already present — nothing to do
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
/* not materialized — restore it from HEAD below */
|
|
225
|
+
}
|
|
226
|
+
// reject:false via the seam, so a repo without a committed `.gitattributes`
|
|
227
|
+
// just no-ops (non-zero exit, ignored).
|
|
228
|
+
await git(["checkout", "HEAD", "--", ".gitattributes"], workdir);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Re-merge one conflicted path with git's built-in union driver, using the
|
|
232
|
+
* index stages the failed merge left behind. `git merge-file --union` IS the
|
|
233
|
+
* `merge=union` attribute driver, so this is byte-identical to what a native
|
|
234
|
+
* union merge would have produced. Returns the union-merged content, or null
|
|
235
|
+
* when the path can't be safely unioned — a side deleted (add/delete or
|
|
236
|
+
* delete/modify), a stage read failed, or git could not resolve every hunk.
|
|
237
|
+
* A null keeps the path a real conflict; we NEVER blanket keep-both.
|
|
238
|
+
*/
|
|
239
|
+
async function unionMergeStages(git, workdir, file) {
|
|
240
|
+
const [base, ours, theirs] = await Promise.all([
|
|
241
|
+
showStage(git, workdir, 1, file),
|
|
242
|
+
showStage(git, workdir, 2, file),
|
|
243
|
+
showStage(git, workdir, 3, file),
|
|
244
|
+
]);
|
|
245
|
+
// A union merge needs BOTH sides present. A delete on either side is a real
|
|
246
|
+
// conflict a human must adjudicate, not something to union.
|
|
247
|
+
if (ours === null || theirs === null)
|
|
248
|
+
return null;
|
|
249
|
+
const dir = await fs.mkdtemp(path.join(os.tmpdir(), "acc-union-"));
|
|
250
|
+
try {
|
|
251
|
+
const oursP = path.join(dir, "ours");
|
|
252
|
+
const baseP = path.join(dir, "base");
|
|
253
|
+
const theirsP = path.join(dir, "theirs");
|
|
254
|
+
await Promise.all([
|
|
255
|
+
fs.writeFile(oursP, ours, "utf8"),
|
|
256
|
+
// add/add conflicts have no common ancestor (stage 1 absent) — union
|
|
257
|
+
// against an empty base keeps both additions.
|
|
258
|
+
fs.writeFile(baseP, base ?? "", "utf8"),
|
|
259
|
+
fs.writeFile(theirsP, theirs, "utf8"),
|
|
260
|
+
]);
|
|
261
|
+
const r = await git(["merge-file", "-p", "--union", oursP, baseP, theirsP], workdir);
|
|
262
|
+
// --union resolves every hunk (exit 0). A non-zero exit — or residual
|
|
263
|
+
// conflict markers — means we could NOT cleanly union; stay a real
|
|
264
|
+
// conflict rather than commit markers.
|
|
265
|
+
if (r.exitCode !== 0)
|
|
266
|
+
return null;
|
|
267
|
+
if (hasConflictMarkers(r.stdout))
|
|
268
|
+
return null;
|
|
269
|
+
return r.stdout;
|
|
270
|
+
}
|
|
271
|
+
finally {
|
|
272
|
+
await fs.rm(dir, { recursive: true, force: true });
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
/** Default `unionAttr`: query the worktree's `.gitattributes` via git. */
|
|
276
|
+
function defaultUnionAttr(git) {
|
|
277
|
+
return (workdir, paths) => declaredUnionPaths(git, workdir, paths);
|
|
278
|
+
}
|
|
166
279
|
/** Resolve one mechanical conflict using the SAME mergers the conflict-resolver
|
|
167
280
|
* uses. base=integration (theirs), head=rework (ours) mirrors its base/head
|
|
168
281
|
* convention. null → unmergeable / a real source file → caller HALTs. */
|
|
@@ -185,15 +298,22 @@ function resolveMechanical(file, ours, theirs) {
|
|
|
185
298
|
/**
|
|
186
299
|
* Merge `origin/<integrationBranch>` into the rework worktree's branch and
|
|
187
300
|
* regenerate artifacts. Clean merge → `reconciled`. Conflicts entirely in
|
|
188
|
-
*
|
|
189
|
-
*
|
|
190
|
-
*
|
|
191
|
-
*
|
|
301
|
+
* paths the repo declares `merge=union` (LM-1: append-only ledgers) → resolved
|
|
302
|
+
* with git's own union driver. Conflicts in mechanical file classes →
|
|
303
|
+
* auto-resolved via the conflict-resolver mergers. Either way the merge is
|
|
304
|
+
* committed. Any genuine source conflict (an unmergeable mechanical file, or a
|
|
305
|
+
* non-union path like a `.ts` overlap) → merge aborted and
|
|
306
|
+
* `{ status: "halt", conflicted }` so the caller surfaces it for operator
|
|
307
|
+
* review WITHOUT burning a rework cycle.
|
|
192
308
|
*/
|
|
193
309
|
export async function reconcileReworkBranch(opts) {
|
|
194
310
|
const git = opts.git ?? defaultReworkGit();
|
|
195
311
|
const regen = opts.regenArtifacts ?? defaultRegenArtifacts;
|
|
312
|
+
const unionAttr = opts.unionAttr ?? defaultUnionAttr(git);
|
|
196
313
|
const integrationRef = `origin/${opts.integrationBranch}`;
|
|
314
|
+
// LM-1 (a): materialize `.gitattributes` BEFORE the merge so the built-in
|
|
315
|
+
// `merge=union` driver engages natively on a sparse/blobless checkout.
|
|
316
|
+
await ensureAttributesMaterialized(git, opts.workdir);
|
|
197
317
|
const merge = await git(["merge", "--no-edit", integrationRef], opts.workdir);
|
|
198
318
|
// Match both the modern "Already up to date." and the older hyphenated
|
|
199
319
|
// "Already up-to-date." so `merged` is reported correctly across git versions.
|
|
@@ -221,9 +341,25 @@ export async function reconcileReworkBranch(opts) {
|
|
|
221
341
|
conflicted: [`merge ${integrationRef} failed with no conflicted paths`],
|
|
222
342
|
};
|
|
223
343
|
}
|
|
344
|
+
// LM-1 (b): scoped union fallback. Any conflicted path the repo DECLARES
|
|
345
|
+
// `merge=union` is re-merged with git's union driver; everything else keeps
|
|
346
|
+
// the existing mechanical-resolver-or-HALT behaviour. The union set is
|
|
347
|
+
// computed from `.gitattributes`, so a `.ts` overlap is never in it and
|
|
348
|
+
// always stays a real conflict.
|
|
349
|
+
const unionSet = await unionAttr(opts.workdir, unmerged);
|
|
224
350
|
const halt = [];
|
|
225
351
|
const writes = [];
|
|
226
352
|
for (const file of unmerged) {
|
|
353
|
+
if (unionSet.has(file)) {
|
|
354
|
+
const unioned = await unionMergeStages(git, opts.workdir, file);
|
|
355
|
+
// Declared union but unsafe to union (a side was deleted, or git could
|
|
356
|
+
// not resolve every hunk) → keep it a real conflict, never keep-both.
|
|
357
|
+
if (unioned === null)
|
|
358
|
+
halt.push(file);
|
|
359
|
+
else
|
|
360
|
+
writes.push({ file, content: unioned });
|
|
361
|
+
continue;
|
|
362
|
+
}
|
|
227
363
|
const [ours, theirs] = await Promise.all([
|
|
228
364
|
showStage(git, opts.workdir, 2, file),
|
|
229
365
|
showStage(git, opts.workdir, 3, file),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rework.js","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rework.js","sourceRoot":"","sources":["../../src/runtime/rework.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,16 @@ export declare function upgradeCommand(pm: PackageManager): {
|
|
|
20
20
|
cmd: string;
|
|
21
21
|
args: string[];
|
|
22
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* V113: the global-install command pinned to an EXACT version, used by the
|
|
25
|
+
* 426 self-update path. Unlike `upgradeCommand` (which chases `@latest`), the
|
|
26
|
+
* 426 handshake tells us precisely which `min_version` the server demands, so
|
|
27
|
+
* we install that version rather than gambling that `@latest` clears the floor.
|
|
28
|
+
*/
|
|
29
|
+
export declare function pinnedUpdateCommand(pm: PackageManager, version: string): {
|
|
30
|
+
cmd: string;
|
|
31
|
+
args: string[];
|
|
32
|
+
};
|
|
23
33
|
export interface UpgradeDecision {
|
|
24
34
|
shouldUpgrade: boolean;
|
|
25
35
|
/** The version this attempt is keyed on in the once-per-target ledger. */
|
|
@@ -37,6 +47,27 @@ export declare function decideUpgrade(input: {
|
|
|
37
47
|
npmLatest: string | null;
|
|
38
48
|
serverMin?: string | null;
|
|
39
49
|
}): UpgradeDecision;
|
|
50
|
+
interface AttemptRecord {
|
|
51
|
+
attemptedAt: string;
|
|
52
|
+
ok: boolean;
|
|
53
|
+
error?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* V113: expose the attempt for a target so `acc-runner doctor` can report the
|
|
57
|
+
* last self-update outcome. Returns null when nothing was ever attempted. The
|
|
58
|
+
* 426 path and the idle self-upgrade share this ledger (same file, keyed by
|
|
59
|
+
* target version), so the one-attempt-per-version guard spans both.
|
|
60
|
+
*/
|
|
61
|
+
export declare function readSelfUpdateAttempt(target: string): Promise<AttemptRecord | null>;
|
|
62
|
+
/**
|
|
63
|
+
* V113: the most recent self-update/self-upgrade attempt across all targets,
|
|
64
|
+
* by `attemptedAt`, for `acc-runner doctor` to surface. Null when the ledger is
|
|
65
|
+
* empty or unreadable.
|
|
66
|
+
*/
|
|
67
|
+
export declare function latestSelfUpdateAttempt(): Promise<{
|
|
68
|
+
target: string;
|
|
69
|
+
record: AttemptRecord;
|
|
70
|
+
} | null>;
|
|
40
71
|
/**
|
|
41
72
|
* Re-exec onto the freshly-installed binary: spawn a detached copy of this
|
|
42
73
|
* process (same argv), let it inherit our stdio, then exit. Detaching +
|
|
@@ -76,4 +107,62 @@ export interface SelfUpgradeResult {
|
|
|
76
107
|
export declare function maybeSelfUpgrade(input?: {
|
|
77
108
|
serverMin?: string | null;
|
|
78
109
|
}, deps?: SelfUpgradeDeps): Promise<SelfUpgradeResult>;
|
|
110
|
+
/**
|
|
111
|
+
* V113 — self-update on a server 426 Upgrade Required (opt-in, default OFF).
|
|
112
|
+
*
|
|
113
|
+
* Pre-V113 a runner that booted below the server's MIN_VERSION got 426 from
|
|
114
|
+
* `/api/runner/min-version`, printed an upgrade hint, and PARKED until a human
|
|
115
|
+
* ran `npm i -g`. This closes that loop for operators who opt in: install the
|
|
116
|
+
* exact `min_version` the 426 handshake named and restart `watch` onto it.
|
|
117
|
+
*
|
|
118
|
+
* Distinct from `maybeSelfUpgrade` (FIX-K):
|
|
119
|
+
* - It is OPT-IN (default off) rather than opt-out — the caller passes
|
|
120
|
+
* `enabled` (resolved from cfg.selfUpdateOn426 = ACC_RUNNER_SELF_UPDATE_ON_426
|
|
121
|
+
* / config.json) so a fleet only self-updates on 426 where an operator asked.
|
|
122
|
+
* - It installs `@<min>` (the precise floor), not `@latest`.
|
|
123
|
+
* - It fires ONCE at startup on the 426, not on an idle timer.
|
|
124
|
+
*
|
|
125
|
+
* Shared with FIX-K:
|
|
126
|
+
* - the once-per-target attempt ledger (`<cache>/self-upgrade.json`), so a
|
|
127
|
+
* restarted process that STILL sees 426 (the install didn't actually clear
|
|
128
|
+
* the floor) finds the attempt recorded and parks instead of looping npm
|
|
129
|
+
* installs — the no-loop guard the spec requires.
|
|
130
|
+
* - package-manager detection and the detached re-exec.
|
|
131
|
+
*
|
|
132
|
+
* SINGLETON-LOCK SAFETY (T-54-2): the caller passes `beforeReexec`, invoked
|
|
133
|
+
* immediately before the re-exec so the running process can release its
|
|
134
|
+
* single-instance flock; the restarted process then re-acquires it cleanly
|
|
135
|
+
* rather than colliding with a still-held lock. Best-effort — a lock left by a
|
|
136
|
+
* dead pid self-reclaims on the next boot regardless.
|
|
137
|
+
*
|
|
138
|
+
* On `updated` the process has already been told to exit via `reexec`; every
|
|
139
|
+
* other status means "park" and the caller surfaces the one alert + exits.
|
|
140
|
+
*/
|
|
141
|
+
export interface SelfUpdate426Deps {
|
|
142
|
+
/** Run the global install. Defaults to spawning the detected package manager. */
|
|
143
|
+
runInstall?: (cmd: string, args: string[]) => Promise<void>;
|
|
144
|
+
/** Re-exec onto the new binary. Defaults to performReexec (spawn + exit). */
|
|
145
|
+
reexec?: () => void;
|
|
146
|
+
/**
|
|
147
|
+
* Release the single-instance flock (and any other restart-blocking state)
|
|
148
|
+
* just before re-exec so the restarted `watch` can re-acquire it. Best-effort;
|
|
149
|
+
* a throw here is swallowed so a release hiccup never aborts a good update.
|
|
150
|
+
*/
|
|
151
|
+
beforeReexec?: () => Promise<void>;
|
|
152
|
+
/** Injectable clock (ms). Defaults to Date.now(). */
|
|
153
|
+
now?: number;
|
|
154
|
+
env?: NodeJS.ProcessEnv;
|
|
155
|
+
log?: (msg: string) => void;
|
|
156
|
+
warn?: (msg: string) => void;
|
|
157
|
+
}
|
|
158
|
+
export type SelfUpdate426Status = "disabled" | "no-min-version" | "already-current" | "already-attempted" | "updated" | "failed";
|
|
159
|
+
export interface SelfUpdate426Result {
|
|
160
|
+
status: SelfUpdate426Status;
|
|
161
|
+
target?: string;
|
|
162
|
+
}
|
|
163
|
+
export declare function maybeSelfUpdateOn426(input: {
|
|
164
|
+
minVersion?: string | null;
|
|
165
|
+
enabled: boolean;
|
|
166
|
+
}, deps?: SelfUpdate426Deps): Promise<SelfUpdate426Result>;
|
|
167
|
+
export {};
|
|
79
168
|
//# sourceMappingURL=self-upgrade.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-upgrade.d.ts","sourceRoot":"","sources":["../../src/runtime/self-upgrade.ts"],"names":[],"mappings":"AAuCA,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAChE,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,CAAC;AAE5C,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAGjF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GACzE,cAAc,CAiBhB;AAED,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAGlF;AAED,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,eAAe,GAAG,WAAW,GAAG,IAAI,CAAC;CAC9C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GAAG,eAAe,CASlB;
|
|
1
|
+
{"version":3,"file":"self-upgrade.d.ts","sourceRoot":"","sources":["../../src/runtime/self-upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,6 +76,18 @@ export function upgradeCommand(pm) {
|
|
|
76
76
|
return { cmd: "pnpm", args: ["add", "-g", `${NPM_PACKAGE}@latest`] };
|
|
77
77
|
return { cmd: "npm", args: ["install", "-g", `${NPM_PACKAGE}@latest`] };
|
|
78
78
|
}
|
|
79
|
+
/**
|
|
80
|
+
* V113: the global-install command pinned to an EXACT version, used by the
|
|
81
|
+
* 426 self-update path. Unlike `upgradeCommand` (which chases `@latest`), the
|
|
82
|
+
* 426 handshake tells us precisely which `min_version` the server demands, so
|
|
83
|
+
* we install that version rather than gambling that `@latest` clears the floor.
|
|
84
|
+
*/
|
|
85
|
+
export function pinnedUpdateCommand(pm, version) {
|
|
86
|
+
const spec = `${NPM_PACKAGE}@${version}`;
|
|
87
|
+
if (pm === "pnpm")
|
|
88
|
+
return { cmd: "pnpm", args: ["add", "-g", spec] };
|
|
89
|
+
return { cmd: "npm", args: ["install", "-g", spec] };
|
|
90
|
+
}
|
|
79
91
|
/**
|
|
80
92
|
* Pure decision: upgrade when behind the npm `latest` dist-tag, or (failing a
|
|
81
93
|
* usable registry answer) when below the server min_version floor. `latest`
|
|
@@ -113,6 +125,33 @@ async function alreadyAttempted(target) {
|
|
|
113
125
|
const ledger = await readLedger();
|
|
114
126
|
return Boolean(ledger[target]);
|
|
115
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* V113: expose the attempt for a target so `acc-runner doctor` can report the
|
|
130
|
+
* last self-update outcome. Returns null when nothing was ever attempted. The
|
|
131
|
+
* 426 path and the idle self-upgrade share this ledger (same file, keyed by
|
|
132
|
+
* target version), so the one-attempt-per-version guard spans both.
|
|
133
|
+
*/
|
|
134
|
+
export async function readSelfUpdateAttempt(target) {
|
|
135
|
+
const ledger = await readLedger();
|
|
136
|
+
return ledger[target] ?? null;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* V113: the most recent self-update/self-upgrade attempt across all targets,
|
|
140
|
+
* by `attemptedAt`, for `acc-runner doctor` to surface. Null when the ledger is
|
|
141
|
+
* empty or unreadable.
|
|
142
|
+
*/
|
|
143
|
+
export async function latestSelfUpdateAttempt() {
|
|
144
|
+
const ledger = await readLedger();
|
|
145
|
+
let latest = null;
|
|
146
|
+
for (const [target, record] of Object.entries(ledger)) {
|
|
147
|
+
if (!record?.attemptedAt)
|
|
148
|
+
continue;
|
|
149
|
+
if (!latest || record.attemptedAt > latest.record.attemptedAt) {
|
|
150
|
+
latest = { target, record };
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return latest;
|
|
154
|
+
}
|
|
116
155
|
async function recordAttempt(target, ok, now, error) {
|
|
117
156
|
const ledger = await readLedger();
|
|
118
157
|
ledger[target] = { attemptedAt: new Date(now).toISOString(), ok, ...(error ? { error } : {}) };
|
|
@@ -196,4 +235,63 @@ export async function maybeSelfUpgrade(input = {}, deps = {}) {
|
|
|
196
235
|
reexec();
|
|
197
236
|
return { status: "upgraded", target, reason: decision.reason };
|
|
198
237
|
}
|
|
238
|
+
export async function maybeSelfUpdateOn426(input, deps = {}) {
|
|
239
|
+
const env = deps.env ?? process.env;
|
|
240
|
+
const warn = deps.warn ?? ((m) => void process.stderr.write(`${m}\n`));
|
|
241
|
+
const log = deps.log ?? ((m) => void process.stdout.write(`${m}\n`));
|
|
242
|
+
// Opt-in: default OFF. A runner only self-updates on 426 where an operator
|
|
243
|
+
// set cfg.selfUpdateOn426; otherwise the caller parks as it always has.
|
|
244
|
+
if (!input.enabled)
|
|
245
|
+
return { status: "disabled" };
|
|
246
|
+
const target = (input.minVersion ?? "").trim();
|
|
247
|
+
// The 426 body should always carry min_version; without it there is nothing
|
|
248
|
+
// safe to pin to (chasing @latest could still miss the floor). Park.
|
|
249
|
+
if (!target)
|
|
250
|
+
return { status: "no-min-version" };
|
|
251
|
+
// Defensive: never "update" toward a version we already satisfy — a bogus
|
|
252
|
+
// 426 shouldn't trigger a pointless reinstall/re-exec.
|
|
253
|
+
if (compareSemver(PACKAGE_VERSION, target) >= 0) {
|
|
254
|
+
return { status: "already-current", target };
|
|
255
|
+
}
|
|
256
|
+
// No-loop guard: at most ONE attempt per target version. A re-exec'd process
|
|
257
|
+
// that boots and STILL gets 426 for the same floor (the install didn't raise
|
|
258
|
+
// the version) finds the attempt recorded here and parks — no install loop.
|
|
259
|
+
if (await alreadyAttempted(target)) {
|
|
260
|
+
return { status: "already-attempted", target };
|
|
261
|
+
}
|
|
262
|
+
const now = deps.now ?? Date.now();
|
|
263
|
+
const pm = detectPackageManager({ env });
|
|
264
|
+
const { cmd, args } = pinnedUpdateCommand(pm, target);
|
|
265
|
+
// Record the attempt BEFORE running the install so a crash or a re-exec'd
|
|
266
|
+
// restart mid-install cannot loop on the same target.
|
|
267
|
+
await recordAttempt(target, false, now, "in-progress");
|
|
268
|
+
log(`[acc-runner] 426 Upgrade Required: self-update v${PACKAGE_VERSION} → v${target}; ` +
|
|
269
|
+
`running \`${cmd} ${args.join(" ")}\``);
|
|
270
|
+
const runInstall = deps.runInstall ?? defaultRunInstall;
|
|
271
|
+
try {
|
|
272
|
+
await runInstall(cmd, args);
|
|
273
|
+
}
|
|
274
|
+
catch (err) {
|
|
275
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
276
|
+
await recordAttempt(target, false, now, message);
|
|
277
|
+
warn(`[acc-runner] self-update to v${target} failed (${message}); parking. ` +
|
|
278
|
+
`Upgrade manually: \`${cmd} ${args.join(" ")}\`.`);
|
|
279
|
+
return { status: "failed", target };
|
|
280
|
+
}
|
|
281
|
+
await recordAttempt(target, true, now);
|
|
282
|
+
log(`[acc-runner] self-update installed v${target}; restarting watch onto the new binary.`);
|
|
283
|
+
// Release the singleton flock BEFORE re-exec so the restarted watch can
|
|
284
|
+
// acquire it (T-54-2). Best-effort — never abort a good update on a hiccup.
|
|
285
|
+
if (deps.beforeReexec) {
|
|
286
|
+
try {
|
|
287
|
+
await deps.beforeReexec();
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
/* best-effort lock release */
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
const reexec = deps.reexec ?? (() => performReexec());
|
|
294
|
+
reexec();
|
|
295
|
+
return { status: "updated", target };
|
|
296
|
+
}
|
|
199
297
|
//# sourceMappingURL=self-upgrade.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self-upgrade.js","sourceRoot":"","sources":["../../src/runtime/self-upgrade.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"self-upgrade.js","sourceRoot":"","sources":["../../src/runtime/self-upgrade.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PF-08c — runner-side session-control drain (ADDITIVE, Track A note).
|
|
3
|
+
*
|
|
4
|
+
* The operator issues steer/pause/resume/abort/intervene commands via
|
|
5
|
+
* acc.control_session (they land in acc.session_controls, status='pending').
|
|
6
|
+
* This helper lets the runner drain the pending commands for its live task and
|
|
7
|
+
* acknowledge them via acc.ack_session_control — closing the round-trip.
|
|
8
|
+
*
|
|
9
|
+
* ADDITIVE ONLY: this is a NEW module over two NEW 0243 RPCs. It does not change
|
|
10
|
+
* any existing runner-protocol message shape (the frozen contract) — the runner
|
|
11
|
+
* poll/ack channel sits beside the message bus, it does not modify it. Wiring
|
|
12
|
+
* these into task-runner.ts's main loop (react to abort/pause between tool
|
|
13
|
+
* turns) is a Track A follow-up; this file is the reusable primitive.
|
|
14
|
+
*/
|
|
15
|
+
import type { RunnerSupabaseClient } from "./supabase.js";
|
|
16
|
+
export type SessionControlAction = "steer" | "pause" | "resume" | "abort" | "intervene";
|
|
17
|
+
export type SessionControlAckStatus = "acked" | "applied" | "expired";
|
|
18
|
+
export interface SessionControl {
|
|
19
|
+
id: string;
|
|
20
|
+
task_id: string;
|
|
21
|
+
runner_id: string | null;
|
|
22
|
+
action: SessionControlAction;
|
|
23
|
+
message: string | null;
|
|
24
|
+
status: string;
|
|
25
|
+
issued_at: string;
|
|
26
|
+
}
|
|
27
|
+
/** Fetch the pending operator commands for a task, oldest-first. Read failures
|
|
28
|
+
* return [] and log — control is best-effort, never a hard dependency of the
|
|
29
|
+
* spawn (a poll glitch must not crash the run). */
|
|
30
|
+
export declare function drainSessionControls(sb: RunnerSupabaseClient, taskId: string): Promise<SessionControl[]>;
|
|
31
|
+
/** Acknowledge a control the runner has applied (or is expiring). */
|
|
32
|
+
export declare function ackSessionControl(sb: RunnerSupabaseClient, controlId: string, status?: SessionControlAckStatus): Promise<void>;
|
|
33
|
+
//# sourceMappingURL=session-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-control.d.ts","sourceRoot":"","sources":["../src/session-control.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE1D,MAAM,MAAM,oBAAoB,GAC5B,OAAO,GACP,OAAO,GACP,QAAQ,GACR,OAAO,GACP,WAAW,CAAC;AAEhB,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;oDAEoD;AACpD,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,oBAAoB,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,cAAc,EAAE,CAAC,CAc3B;AAED,qEAAqE;AACrE,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,oBAAoB,EACxB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,uBAAmC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAUf"}
|