@tokenfactory/acc-runner 0.29.3 → 0.29.4
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/runtime/self-upgrade.d.ts +79 -0
- package/dist/runtime/self-upgrade.d.ts.map +1 -0
- package/dist/runtime/self-upgrade.js +199 -0
- package/dist/runtime/self-upgrade.js.map +1 -0
- package/dist/watch.d.ts +30 -0
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +72 -1
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare const NO_AUTO_UPGRADE_ENV = "ACC_RUNNER_NO_AUTO_UPGRADE";
|
|
2
|
+
/** Force a package manager, bypassing detection (npm | pnpm). */
|
|
3
|
+
export declare const PACKAGE_MANAGER_ENV = "ACC_RUNNER_PACKAGE_MANAGER";
|
|
4
|
+
export type PackageManager = "npm" | "pnpm";
|
|
5
|
+
/** True when the operator has opted this runner out of autonomous upgrade. */
|
|
6
|
+
export declare function autoUpgradeDisabled(env?: NodeJS.ProcessEnv): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Decide which global package manager installed this binary so the upgrade
|
|
9
|
+
* uses the same one (mixing npm + pnpm globals strands the old copy on PATH).
|
|
10
|
+
* Resolution order: explicit env override → npm_config_user_agent (set when a
|
|
11
|
+
* package-manager script spawned us) → install-path heuristic → npm default.
|
|
12
|
+
*/
|
|
13
|
+
export declare function detectPackageManager(opts?: {
|
|
14
|
+
env?: NodeJS.ProcessEnv;
|
|
15
|
+
argv?: string[];
|
|
16
|
+
execPath?: string;
|
|
17
|
+
}): PackageManager;
|
|
18
|
+
/** The global-install command + args for a given package manager. */
|
|
19
|
+
export declare function upgradeCommand(pm: PackageManager): {
|
|
20
|
+
cmd: string;
|
|
21
|
+
args: string[];
|
|
22
|
+
};
|
|
23
|
+
export interface UpgradeDecision {
|
|
24
|
+
shouldUpgrade: boolean;
|
|
25
|
+
/** The version this attempt is keyed on in the once-per-target ledger. */
|
|
26
|
+
target: string | null;
|
|
27
|
+
reason: "behind-latest" | "below-min" | null;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Pure decision: upgrade when behind the npm `latest` dist-tag, or (failing a
|
|
31
|
+
* usable registry answer) when below the server min_version floor. `latest`
|
|
32
|
+
* wins because the install is always `@latest`; min is the fallback key so an
|
|
33
|
+
* offline runner that is nonetheless known to be below the floor still tries.
|
|
34
|
+
*/
|
|
35
|
+
export declare function decideUpgrade(input: {
|
|
36
|
+
current: string;
|
|
37
|
+
npmLatest: string | null;
|
|
38
|
+
serverMin?: string | null;
|
|
39
|
+
}): UpgradeDecision;
|
|
40
|
+
/**
|
|
41
|
+
* Re-exec onto the freshly-installed binary: spawn a detached copy of this
|
|
42
|
+
* process (same argv), let it inherit our stdio, then exit. Detaching +
|
|
43
|
+
* unref() means the child outlives us; a launchd/systemd KeepAlive wrapper
|
|
44
|
+
* that restarts on exit converges to the same new binary either way (the
|
|
45
|
+
* detached child is harmless — it re-runs the version check and, finding
|
|
46
|
+
* itself current, never re-upgrades).
|
|
47
|
+
*/
|
|
48
|
+
export declare function performReexec(opts?: {
|
|
49
|
+
exit?: (code: number) => void;
|
|
50
|
+
}): void;
|
|
51
|
+
export interface SelfUpgradeDeps {
|
|
52
|
+
/** Fetch npm `latest` (cached + offline-safe). Defaults to the real lookup. */
|
|
53
|
+
npmLatest?: () => Promise<string | null>;
|
|
54
|
+
/** Run the global install. Defaults to spawning the detected package manager. */
|
|
55
|
+
runInstall?: (cmd: string, args: string[]) => Promise<void>;
|
|
56
|
+
/** Re-exec onto the new binary. Defaults to performReexec (spawn + exit). */
|
|
57
|
+
reexec?: () => void;
|
|
58
|
+
/** Injectable clock (ms). Defaults to Date.now(). */
|
|
59
|
+
now?: number;
|
|
60
|
+
env?: NodeJS.ProcessEnv;
|
|
61
|
+
log?: (msg: string) => void;
|
|
62
|
+
warn?: (msg: string) => void;
|
|
63
|
+
}
|
|
64
|
+
export type SelfUpgradeStatus = "disabled" | "up-to-date" | "already-attempted" | "upgraded" | "failed";
|
|
65
|
+
export interface SelfUpgradeResult {
|
|
66
|
+
status: SelfUpgradeStatus;
|
|
67
|
+
target?: string;
|
|
68
|
+
reason?: UpgradeDecision["reason"];
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Attempt one autonomous self-upgrade. The CALLER guarantees the runner is
|
|
72
|
+
* idle (no task or review in flight) — this function never inspects work
|
|
73
|
+
* state, so it must only be called between tasks. Returns a status the caller
|
|
74
|
+
* can log; on "upgraded" the process has already been told to exit via reexec.
|
|
75
|
+
*/
|
|
76
|
+
export declare function maybeSelfUpgrade(input?: {
|
|
77
|
+
serverMin?: string | null;
|
|
78
|
+
}, deps?: SelfUpgradeDeps): Promise<SelfUpgradeResult>;
|
|
79
|
+
//# sourceMappingURL=self-upgrade.d.ts.map
|
|
@@ -0,0 +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;AAoDD;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAAG,IAAI,CAWhF;AAED,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACzC,iFAAiF;IACjF,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,qDAAqD;IACrD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,YAAY,GACZ,mBAAmB,GACnB,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAO,EACzC,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAqD5B"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FIX-K (runner self-upgrade) — true autonomous fleet upgrade.
|
|
3
|
+
*
|
|
4
|
+
* Pre-FIX-K the fleet was warn-only: version-check.ts hard-gated below the
|
|
5
|
+
* server MIN_VERSION, runtime/version-drift.ts looked up the npm `latest`
|
|
6
|
+
* dist-tag, and watch.ts printed "Run npm install -g …@latest" — but nothing
|
|
7
|
+
* ever ran the install or re-execed. The fleet only reached 0.29.x because an
|
|
8
|
+
* operator upgraded every box by hand.
|
|
9
|
+
*
|
|
10
|
+
* This module closes that loop. When the installed PACKAGE_VERSION is behind
|
|
11
|
+
* the npm `latest` dist-tag (or below the server's min_version floor), and the
|
|
12
|
+
* runner is idle, it:
|
|
13
|
+
*
|
|
14
|
+
* 1. detects the global package manager (npm vs pnpm),
|
|
15
|
+
* 2. runs the global install (`npm install -g …@latest` / `pnpm add -g …`),
|
|
16
|
+
* 3. re-execs onto the freshly-installed binary (spawn detached + exit).
|
|
17
|
+
*
|
|
18
|
+
* GUARDS (the caller in watch.ts owns the "idle / never mid-build" gate; this
|
|
19
|
+
* module owns the rest):
|
|
20
|
+
* - opt-out via ACC_RUNNER_NO_AUTO_UPGRADE=1 (falls back to the warning),
|
|
21
|
+
* - at most ONE attempt per target version (persisted ledger; subsumes
|
|
22
|
+
* backoff — a target that failed is never retried, only a *new* target
|
|
23
|
+
* re-arms the attempt),
|
|
24
|
+
* - on any install failure, fall back to the existing warning and keep
|
|
25
|
+
* running on the current binary.
|
|
26
|
+
*
|
|
27
|
+
* The 426 below-MIN_VERSION lockout in version-check.ts stays the floor: a
|
|
28
|
+
* runner that boots below min still hard-refuses in watch.ts before the loop
|
|
29
|
+
* ever arms this path.
|
|
30
|
+
*/
|
|
31
|
+
import fs from "node:fs/promises";
|
|
32
|
+
import path from "node:path";
|
|
33
|
+
import { spawn } from "node:child_process";
|
|
34
|
+
import { execa } from "execa";
|
|
35
|
+
import { cacheDir } from "./cache-dir.js";
|
|
36
|
+
import { compareSemver } from "../version-check.js";
|
|
37
|
+
import { NPM_PACKAGE, npmLatestVersion } from "./version-drift.js";
|
|
38
|
+
import { PACKAGE_VERSION } from "../pkg-version.js";
|
|
39
|
+
export const NO_AUTO_UPGRADE_ENV = "ACC_RUNNER_NO_AUTO_UPGRADE";
|
|
40
|
+
/** Force a package manager, bypassing detection (npm | pnpm). */
|
|
41
|
+
export const PACKAGE_MANAGER_ENV = "ACC_RUNNER_PACKAGE_MANAGER";
|
|
42
|
+
/** True when the operator has opted this runner out of autonomous upgrade. */
|
|
43
|
+
export function autoUpgradeDisabled(env = process.env) {
|
|
44
|
+
const v = env[NO_AUTO_UPGRADE_ENV];
|
|
45
|
+
return v === "1" || v === "true";
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Decide which global package manager installed this binary so the upgrade
|
|
49
|
+
* uses the same one (mixing npm + pnpm globals strands the old copy on PATH).
|
|
50
|
+
* Resolution order: explicit env override → npm_config_user_agent (set when a
|
|
51
|
+
* package-manager script spawned us) → install-path heuristic → npm default.
|
|
52
|
+
*/
|
|
53
|
+
export function detectPackageManager(opts = {}) {
|
|
54
|
+
const env = opts.env ?? process.env;
|
|
55
|
+
const override = env[PACKAGE_MANAGER_ENV]?.trim();
|
|
56
|
+
if (override === "npm" || override === "pnpm")
|
|
57
|
+
return override;
|
|
58
|
+
const ua = env.npm_config_user_agent ?? "";
|
|
59
|
+
if (ua.startsWith("pnpm"))
|
|
60
|
+
return "pnpm";
|
|
61
|
+
if (ua.startsWith("npm"))
|
|
62
|
+
return "npm";
|
|
63
|
+
// Long-lived daemons rarely carry npm_config_user_agent, so fall back to the
|
|
64
|
+
// install path of the running binary. pnpm globals live under a `pnpm`
|
|
65
|
+
// segment (~/.local/share/pnpm, ~/Library/pnpm, …/pnpm-global/…); npm globals
|
|
66
|
+
// live under `lib/node_modules`.
|
|
67
|
+
const argv = opts.argv ?? process.argv;
|
|
68
|
+
const probe = `${argv[1] ?? ""}\n${opts.execPath ?? process.execPath ?? ""}`;
|
|
69
|
+
if (/[\\/](?:pnpm|pnpm-global|\.pnpm)[\\/]/.test(probe))
|
|
70
|
+
return "pnpm";
|
|
71
|
+
return "npm";
|
|
72
|
+
}
|
|
73
|
+
/** The global-install command + args for a given package manager. */
|
|
74
|
+
export function upgradeCommand(pm) {
|
|
75
|
+
if (pm === "pnpm")
|
|
76
|
+
return { cmd: "pnpm", args: ["add", "-g", `${NPM_PACKAGE}@latest`] };
|
|
77
|
+
return { cmd: "npm", args: ["install", "-g", `${NPM_PACKAGE}@latest`] };
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Pure decision: upgrade when behind the npm `latest` dist-tag, or (failing a
|
|
81
|
+
* usable registry answer) when below the server min_version floor. `latest`
|
|
82
|
+
* wins because the install is always `@latest`; min is the fallback key so an
|
|
83
|
+
* offline runner that is nonetheless known to be below the floor still tries.
|
|
84
|
+
*/
|
|
85
|
+
export function decideUpgrade(input) {
|
|
86
|
+
const { current, npmLatest, serverMin } = input;
|
|
87
|
+
if (npmLatest && compareSemver(current, npmLatest) < 0) {
|
|
88
|
+
return { shouldUpgrade: true, target: npmLatest, reason: "behind-latest" };
|
|
89
|
+
}
|
|
90
|
+
if (serverMin && compareSemver(current, serverMin) < 0) {
|
|
91
|
+
return { shouldUpgrade: true, target: serverMin, reason: "below-min" };
|
|
92
|
+
}
|
|
93
|
+
return { shouldUpgrade: false, target: null, reason: null };
|
|
94
|
+
}
|
|
95
|
+
function ledgerFile() {
|
|
96
|
+
return path.join(cacheDir(), "self-upgrade.json");
|
|
97
|
+
}
|
|
98
|
+
async function readLedger() {
|
|
99
|
+
try {
|
|
100
|
+
return JSON.parse(await fs.readFile(ledgerFile(), "utf8"));
|
|
101
|
+
}
|
|
102
|
+
catch {
|
|
103
|
+
return {}; // missing or corrupt ledger = no attempts recorded
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
async function writeLedger(ledger) {
|
|
107
|
+
const file = ledgerFile();
|
|
108
|
+
await fs.mkdir(path.dirname(file), { recursive: true });
|
|
109
|
+
await fs.writeFile(file, `${JSON.stringify(ledger, null, 2)}\n`, "utf8");
|
|
110
|
+
}
|
|
111
|
+
/** True when we have already attempted (success or failure) this target. */
|
|
112
|
+
async function alreadyAttempted(target) {
|
|
113
|
+
const ledger = await readLedger();
|
|
114
|
+
return Boolean(ledger[target]);
|
|
115
|
+
}
|
|
116
|
+
async function recordAttempt(target, ok, now, error) {
|
|
117
|
+
const ledger = await readLedger();
|
|
118
|
+
ledger[target] = { attemptedAt: new Date(now).toISOString(), ok, ...(error ? { error } : {}) };
|
|
119
|
+
await writeLedger(ledger).catch(() => {
|
|
120
|
+
/* ledger write is best-effort; a miss just risks one extra attempt */
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
/** Default install runner — inherits stdio so the operator sees npm's output. */
|
|
124
|
+
async function defaultRunInstall(cmd, args) {
|
|
125
|
+
await execa(cmd, args, { stdio: "inherit" });
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Re-exec onto the freshly-installed binary: spawn a detached copy of this
|
|
129
|
+
* process (same argv), let it inherit our stdio, then exit. Detaching +
|
|
130
|
+
* unref() means the child outlives us; a launchd/systemd KeepAlive wrapper
|
|
131
|
+
* that restarts on exit converges to the same new binary either way (the
|
|
132
|
+
* detached child is harmless — it re-runs the version check and, finding
|
|
133
|
+
* itself current, never re-upgrades).
|
|
134
|
+
*/
|
|
135
|
+
export function performReexec(opts = {}) {
|
|
136
|
+
const exit = opts.exit ?? ((code) => process.exit(code));
|
|
137
|
+
// argv = [node, cliEntry, ...args]; re-run cliEntry + args under the same node.
|
|
138
|
+
const args = process.argv.slice(1);
|
|
139
|
+
const child = spawn(process.execPath, args, {
|
|
140
|
+
detached: true,
|
|
141
|
+
stdio: "inherit",
|
|
142
|
+
env: process.env,
|
|
143
|
+
});
|
|
144
|
+
child.unref();
|
|
145
|
+
exit(0);
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* Attempt one autonomous self-upgrade. The CALLER guarantees the runner is
|
|
149
|
+
* idle (no task or review in flight) — this function never inspects work
|
|
150
|
+
* state, so it must only be called between tasks. Returns a status the caller
|
|
151
|
+
* can log; on "upgraded" the process has already been told to exit via reexec.
|
|
152
|
+
*/
|
|
153
|
+
export async function maybeSelfUpgrade(input = {}, deps = {}) {
|
|
154
|
+
const env = deps.env ?? process.env;
|
|
155
|
+
if (autoUpgradeDisabled(env))
|
|
156
|
+
return { status: "disabled" };
|
|
157
|
+
const now = deps.now ?? Date.now();
|
|
158
|
+
const warn = deps.warn ?? ((m) => void process.stderr.write(`${m}\n`));
|
|
159
|
+
const log = deps.log ?? ((m) => void process.stdout.write(`${m}\n`));
|
|
160
|
+
const fetchLatest = deps.npmLatest ?? (() => npmLatestVersion());
|
|
161
|
+
const latest = await fetchLatest();
|
|
162
|
+
const decision = decideUpgrade({
|
|
163
|
+
current: PACKAGE_VERSION,
|
|
164
|
+
npmLatest: latest,
|
|
165
|
+
serverMin: input.serverMin ?? null,
|
|
166
|
+
});
|
|
167
|
+
if (!decision.shouldUpgrade || !decision.target)
|
|
168
|
+
return { status: "up-to-date" };
|
|
169
|
+
const target = decision.target;
|
|
170
|
+
// At most one attempt per target version — a target that already failed is
|
|
171
|
+
// never retried; only a newer target re-arms the path.
|
|
172
|
+
if (await alreadyAttempted(target)) {
|
|
173
|
+
return { status: "already-attempted", target, reason: decision.reason };
|
|
174
|
+
}
|
|
175
|
+
const pm = detectPackageManager({ env });
|
|
176
|
+
const { cmd, args } = upgradeCommand(pm);
|
|
177
|
+
// Record the attempt BEFORE running the install so a crash or a re-exec'd
|
|
178
|
+
// restart mid-install cannot loop on the same target.
|
|
179
|
+
await recordAttempt(target, false, now, "in-progress");
|
|
180
|
+
log(`[acc-runner] self-upgrade: v${PACKAGE_VERSION} → v${target} (${decision.reason}); ` +
|
|
181
|
+
`running \`${cmd} ${args.join(" ")}\``);
|
|
182
|
+
const runInstall = deps.runInstall ?? defaultRunInstall;
|
|
183
|
+
try {
|
|
184
|
+
await runInstall(cmd, args);
|
|
185
|
+
}
|
|
186
|
+
catch (err) {
|
|
187
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
188
|
+
await recordAttempt(target, false, now, message);
|
|
189
|
+
warn(`[acc-runner] self-upgrade to v${target} failed (${message}); ` +
|
|
190
|
+
`continuing on v${PACKAGE_VERSION}. Upgrade manually: \`${cmd} ${args.join(" ")}\`.`);
|
|
191
|
+
return { status: "failed", target, reason: decision.reason };
|
|
192
|
+
}
|
|
193
|
+
await recordAttempt(target, true, now);
|
|
194
|
+
log(`[acc-runner] self-upgrade installed v${target}; re-execing onto the new binary.`);
|
|
195
|
+
const reexec = deps.reexec ?? (() => performReexec());
|
|
196
|
+
reexec();
|
|
197
|
+
return { status: "upgraded", target, reason: decision.reason };
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=self-upgrade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"self-upgrade.js","sourceRoot":"","sources":["../../src/runtime/self-upgrade.ts"],"names":[],"mappings":"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"}
|
package/dist/watch.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { type RunnerSupabaseClient } from "./supabase.js";
|
|
|
5
5
|
import { runTask, type RunTaskController } from "./task-runner.js";
|
|
6
6
|
import { type ReviewAssignment, type ReviewerOutcome } from "./runtime/reviewer.js";
|
|
7
7
|
import { type SingletonLock } from "./runtime/singleton.js";
|
|
8
|
+
import { type SelfUpgradeResult } from "./runtime/self-upgrade.js";
|
|
8
9
|
import type { StoredSession } from "./types.js";
|
|
9
10
|
export declare class RefreshReuseDetectedError extends Error {
|
|
10
11
|
constructor(message: string);
|
|
@@ -124,6 +125,22 @@ export interface WatchOptions {
|
|
|
124
125
|
idleCheckMs?: number;
|
|
125
126
|
/** v0.12.0 (T-52-7): exit hook for tests. Defaults to process.exit. */
|
|
126
127
|
exit?: (code: number) => void;
|
|
128
|
+
/**
|
|
129
|
+
* FIX-K: idle self-upgrade check cadence (ms). The timer fires this often;
|
|
130
|
+
* each tick only acts when the runner is idle (no task/review in flight).
|
|
131
|
+
* Defaults to SELF_UPGRADE_CHECK_MS (30 min). Tests set a tiny value to
|
|
132
|
+
* observe the self-upgrade without real-time waits.
|
|
133
|
+
*/
|
|
134
|
+
selfUpgradeCheckMs?: number;
|
|
135
|
+
/**
|
|
136
|
+
* FIX-K: self-upgrade implementation injection for tests. Receives the
|
|
137
|
+
* server min_version floor captured at startup. Defaults to the real
|
|
138
|
+
* maybeSelfUpgrade (npm latest lookup → global install → re-exec). The
|
|
139
|
+
* idle/never-mid-build gate is applied by the caller before this runs.
|
|
140
|
+
*/
|
|
141
|
+
selfUpgrade?: (input: {
|
|
142
|
+
serverMin?: string | null;
|
|
143
|
+
}) => Promise<SelfUpgradeResult>;
|
|
127
144
|
/**
|
|
128
145
|
* v0.56 (T-56-1): backoff applied when a capacity_exhausted result
|
|
129
146
|
* carries no parseable reset time. Defaults to 30 min; tests set a tiny
|
|
@@ -305,6 +322,19 @@ interface WatchState {
|
|
|
305
322
|
idleTimer: NodeJS.Timeout | null;
|
|
306
323
|
/** Guards the idle-exit sequence against double-firing. */
|
|
307
324
|
idleExiting: boolean;
|
|
325
|
+
/**
|
|
326
|
+
* FIX-K: autonomous self-upgrade. selfUpgradeTimer fires the idle check;
|
|
327
|
+
* serverMin is the min_version floor captured from the startup handshake so
|
|
328
|
+
* a mid-run upgrade decision can still honour it; selfUpgradeFn is the
|
|
329
|
+
* injectable implementation; selfUpgrading guards against a re-entrant tick
|
|
330
|
+
* while the install is in flight.
|
|
331
|
+
*/
|
|
332
|
+
selfUpgradeTimer: NodeJS.Timeout | null;
|
|
333
|
+
serverMin: string | null;
|
|
334
|
+
selfUpgradeFn: (input: {
|
|
335
|
+
serverMin?: string | null;
|
|
336
|
+
}) => Promise<SelfUpgradeResult>;
|
|
337
|
+
selfUpgrading: boolean;
|
|
308
338
|
/**
|
|
309
339
|
* v0.56 (T-56-1): the task runner factory, stashed so the capacity
|
|
310
340
|
* pause/resume helpers can re-drive poll + pump without threading the
|
package/dist/watch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE3E,OAAO,EAAsB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACrB,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAIL,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"watch.d.ts","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
|
package/dist/watch.js
CHANGED
|
@@ -35,6 +35,7 @@ import { runReview, } from "./runtime/reviewer.js";
|
|
|
35
35
|
import { getQuarantine, setQuarantine, } from "./runtime/quarantine.js";
|
|
36
36
|
import { acquireSingletonLock, singletonRunnerId, SingletonLockHeldError, } from "./runtime/singleton.js";
|
|
37
37
|
import { getClaudeVersion, recordTaskClaudeVersion, } from "./runtime/version-drift.js";
|
|
38
|
+
import { autoUpgradeDisabled, maybeSelfUpgrade, } from "./runtime/self-upgrade.js";
|
|
38
39
|
import { postRunnerStateMessage } from "./messaging.js";
|
|
39
40
|
import { checkVersion, compareSemver } from "./version-check.js";
|
|
40
41
|
import { PROTOCOL_VERSION } from "./types.js";
|
|
@@ -51,6 +52,11 @@ const REFRESH_CHECK_MS = 30 * 60 * 1000;
|
|
|
51
52
|
// v0.12.0 (T-52-7): idle-TTL check cadence ceiling. The actual cadence is
|
|
52
53
|
// min(IDLE_CHECK_MS, ttl) so a tiny test TTL still gets checked in time.
|
|
53
54
|
const IDLE_CHECK_MS = 30_000;
|
|
55
|
+
// FIX-K: cadence of the idle self-upgrade check. The npm `latest` lookup it
|
|
56
|
+
// drives is itself cached 6h, so this can poll cheaply; 30 min keeps a stale
|
|
57
|
+
// fleet box converging onto a freshly-published version within the hour
|
|
58
|
+
// without a per-tick registry hit. Knob: ACC_RUNNER_UPGRADE_CHECK_MIN / tests.
|
|
59
|
+
const SELF_UPGRADE_CHECK_MS = 30 * 60 * 1000;
|
|
54
60
|
const HEARTBEAT_REFRESH_AFTER = 3;
|
|
55
61
|
const HEARTBEAT_EXIT_AFTER = 5;
|
|
56
62
|
const POLL_INTERVAL_MS = 30_000;
|
|
@@ -954,12 +960,22 @@ export async function watchCommand(options = {}) {
|
|
|
954
960
|
if (!v.ok && v.reason === "outdated") {
|
|
955
961
|
throw new Error(`acc-runner is below the server's minimum version (${v.serverMin}). Run \`pnpm add -g @tokenfactory/acc-runner@latest\`.`);
|
|
956
962
|
}
|
|
963
|
+
// FIX-K: capture the min_version floor from the handshake so the idle
|
|
964
|
+
// self-upgrade check can still honour it after boot (the 426 hard-gate
|
|
965
|
+
// above stays the boot-time floor; this is the running-loop fallback key).
|
|
966
|
+
const serverMin = (v.serverMin ?? null);
|
|
957
967
|
// v0.31-B: warn when running behind current_version (above min but stale).
|
|
958
968
|
// Launchd daemon often runs an old binary silently; this surfaces it at
|
|
959
969
|
// startup before the first heartbeat so the operator can update promptly.
|
|
970
|
+
// FIX-K: this is now the FALLBACK, not the only action — the idle
|
|
971
|
+
// self-upgrade timer (armed below) autonomously installs + re-execs unless
|
|
972
|
+
// ACC_RUNNER_NO_AUTO_UPGRADE=1, in which case this warning is all that fires.
|
|
960
973
|
if (v.ok && v.serverCurrent && compareSemver(PACKAGE_VERSION, v.serverCurrent) < 0) {
|
|
961
974
|
process.stderr.write(`[acc-runner] WARNING: running v${PACKAGE_VERSION}, server current is v${v.serverCurrent}. ` +
|
|
962
|
-
|
|
975
|
+
(autoUpgradeDisabled()
|
|
976
|
+
? `Run \`npm install -g @tokenfactory/acc-runner@latest\` then reload launchd ` +
|
|
977
|
+
`(auto-upgrade disabled via ACC_RUNNER_NO_AUTO_UPGRADE=1).\n`
|
|
978
|
+
: `Auto-upgrade will install npm latest when idle.\n`));
|
|
963
979
|
}
|
|
964
980
|
// v0.74-B: surface how spawned claude sessions will authenticate. api-key
|
|
965
981
|
// (ANTHROPIC_API_KEY set) bills against the API account with no per-session
|
|
@@ -1111,6 +1127,12 @@ export async function watchCommand(options = {}) {
|
|
|
1111
1127
|
lastActivityMs: Date.now(),
|
|
1112
1128
|
idleTimer: null,
|
|
1113
1129
|
idleExiting: false,
|
|
1130
|
+
// FIX-K: self-upgrade wiring. selfUpgradeFn defaults to the real path;
|
|
1131
|
+
// tests inject a stub. serverMin is the startup-handshake floor.
|
|
1132
|
+
selfUpgradeTimer: null,
|
|
1133
|
+
serverMin,
|
|
1134
|
+
selfUpgradeFn: options.selfUpgrade ?? ((input) => maybeSelfUpgrade(input)),
|
|
1135
|
+
selfUpgrading: false,
|
|
1114
1136
|
taskRunnerFactory,
|
|
1115
1137
|
pausedCapacity: false,
|
|
1116
1138
|
pausedUntil: null,
|
|
@@ -1245,6 +1267,8 @@ export async function watchCommand(options = {}) {
|
|
|
1245
1267
|
clearTimeout(state.resubscribeTimer); // v0.68 (T-68-1)
|
|
1246
1268
|
if (state.idleTimer)
|
|
1247
1269
|
clearInterval(state.idleTimer);
|
|
1270
|
+
if (state.selfUpgradeTimer)
|
|
1271
|
+
clearInterval(state.selfUpgradeTimer); // FIX-K
|
|
1248
1272
|
if (state.pauseTimer)
|
|
1249
1273
|
clearTimeout(state.pauseTimer); // v0.56 (T-56-1)
|
|
1250
1274
|
// v0.10 T-49-2: cancel every in-flight task (replaces v0.9 single cancel).
|
|
@@ -1298,6 +1322,17 @@ export async function watchCommand(options = {}) {
|
|
|
1298
1322
|
state.idleTimer.unref?.();
|
|
1299
1323
|
console.log(chalk.gray(`Idle TTL armed: exiting after ${Math.round(state.idleTtlMs / 60_000)} min without work.`));
|
|
1300
1324
|
}
|
|
1325
|
+
// FIX-K: arm the autonomous self-upgrade timer. Skipped entirely when the
|
|
1326
|
+
// operator opts out (ACC_RUNNER_NO_AUTO_UPGRADE=1) — then the startup
|
|
1327
|
+
// warning above is the only signal, preserving the legacy warn-only
|
|
1328
|
+
// behaviour. Unref'd so the check never holds the process open by itself.
|
|
1329
|
+
if (!autoUpgradeDisabled()) {
|
|
1330
|
+
const upgradeCheckMs = options.selfUpgradeCheckMs ?? SELF_UPGRADE_CHECK_MS;
|
|
1331
|
+
state.selfUpgradeTimer = setInterval(() => {
|
|
1332
|
+
void maybeSelfUpgradeTick(state);
|
|
1333
|
+
}, upgradeCheckMs);
|
|
1334
|
+
state.selfUpgradeTimer.unref?.();
|
|
1335
|
+
}
|
|
1301
1336
|
if (!options.taskRunnerFactory) {
|
|
1302
1337
|
// PA-11C-SIGTERM-REQUEUE: a clean shutdown is NOT a task failure. Both
|
|
1303
1338
|
// SIGINT and SIGTERM route through gracefulShutdown → stop(), which cancels
|
|
@@ -1381,6 +1416,42 @@ function scheduleHeartbeat(state, taskRunnerFactory, baseMs) {
|
|
|
1381
1416
|
})();
|
|
1382
1417
|
}, delay);
|
|
1383
1418
|
}
|
|
1419
|
+
/**
|
|
1420
|
+
* FIX-K: idle self-upgrade check. Fires from the self-upgrade timer and
|
|
1421
|
+
* delegates to maybeSelfUpgrade ONLY when the runner is fully idle — no task
|
|
1422
|
+
* or review running, queued, or pumping, and not paused for capacity. This is
|
|
1423
|
+
* the "never mid-build" gate: the same in-flight test maybeIdleExit uses, so a
|
|
1424
|
+
* self-upgrade can never re-exec out from under a running task. maybeSelfUpgrade
|
|
1425
|
+
* itself owns the opt-out, the once-per-target ledger, and the failure→warn
|
|
1426
|
+
* fallback; on success it re-execs and the process exits, so anything after the
|
|
1427
|
+
* await never runs in production.
|
|
1428
|
+
*/
|
|
1429
|
+
async function maybeSelfUpgradeTick(state) {
|
|
1430
|
+
if (state.stopped || state.idleExiting || state.selfUpgrading)
|
|
1431
|
+
return;
|
|
1432
|
+
if (state.pausedCapacity)
|
|
1433
|
+
return;
|
|
1434
|
+
if (state.running.size > 0 ||
|
|
1435
|
+
state.queue.length > 0 ||
|
|
1436
|
+
state.reviewQueue.length > 0 ||
|
|
1437
|
+
state.reviewPumping) {
|
|
1438
|
+
return;
|
|
1439
|
+
}
|
|
1440
|
+
state.selfUpgrading = true;
|
|
1441
|
+
try {
|
|
1442
|
+
await state.selfUpgradeFn({ serverMin: state.serverMin });
|
|
1443
|
+
}
|
|
1444
|
+
catch (err) {
|
|
1445
|
+
// A throwing self-upgrade must never crash the runner — fall back to the
|
|
1446
|
+
// warning and keep serving. (maybeSelfUpgrade already swallows install
|
|
1447
|
+
// failures; this catch covers an unexpected throw, e.g. ledger I/O.)
|
|
1448
|
+
process.stderr.write(`[acc-runner] self-upgrade check errored (${err.message}); ` +
|
|
1449
|
+
`continuing on v${PACKAGE_VERSION}.\n`);
|
|
1450
|
+
}
|
|
1451
|
+
finally {
|
|
1452
|
+
state.selfUpgrading = false;
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1384
1455
|
/**
|
|
1385
1456
|
* v0.12.0 (T-52-7): idle-TTL exit check. Fires from the idle timer; exits
|
|
1386
1457
|
* the process cleanly when the runner has had no queued or in-flight work
|
package/dist/watch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
|