@tokenfactory/acc-runner 0.47.9 → 0.47.11
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/build-info.generated.d.ts +1 -1
- package/dist/build-info.generated.js +2 -2
- package/dist/companion-autostart.d.ts.map +1 -1
- package/dist/companion-autostart.js +5 -0
- package/dist/companion-autostart.js.map +1 -1
- package/dist/companion-run.d.ts.map +1 -1
- package/dist/companion-run.js +46 -18
- package/dist/companion-run.js.map +1 -1
- package/dist/doctor.d.ts +20 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +187 -3
- package/dist/doctor.js.map +1 -1
- package/dist/keychain.d.ts +31 -0
- package/dist/keychain.d.ts.map +1 -1
- package/dist/keychain.js +70 -1
- package/dist/keychain.js.map +1 -1
- package/dist/program.d.ts.map +1 -1
- package/dist/program.js +23 -1
- package/dist/program.js.map +1 -1
- package/dist/runtime/auth-lifecycle.d.ts +22 -1
- package/dist/runtime/auth-lifecycle.d.ts.map +1 -1
- package/dist/runtime/auth-lifecycle.js +28 -1
- package/dist/runtime/auth-lifecycle.js.map +1 -1
- package/dist/runtime/refresh-lock.d.ts +232 -0
- package/dist/runtime/refresh-lock.d.ts.map +1 -0
- package/dist/runtime/refresh-lock.js +609 -0
- package/dist/runtime/refresh-lock.js.map +1 -0
- package/dist/supervisor.d.ts +46 -0
- package/dist/supervisor.d.ts.map +1 -1
- package/dist/supervisor.js +65 -0
- package/dist/supervisor.js.map +1 -1
- package/dist/task-runner.d.ts.map +1 -1
- package/dist/task-runner.js +16 -0
- package/dist/task-runner.js.map +1 -1
- package/dist/token-provider.d.ts +12 -0
- package/dist/token-provider.d.ts.map +1 -1
- package/dist/token-provider.js +23 -3
- package/dist/token-provider.js.map +1 -1
- package/dist/watch.d.ts +31 -13
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +180 -37
- package/dist/watch.js.map +1 -1
- package/package.json +1 -1
- package/scripts/setup-dedicated-runner-linux.sh +17 -35
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const BUILD_COMMIT_SHA = "
|
|
1
|
+
export declare const BUILD_COMMIT_SHA = "cbe3215a7b75d557fb7e25a0aaba5b4837c9e8de";
|
|
2
2
|
export declare const BUILD_DIST_SHA256 = "pending-build";
|
|
3
3
|
//# sourceMappingURL=build-info.generated.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
// Generated by scripts/gen-build-info.mjs. Do not edit by hand.
|
|
2
|
-
export const BUILD_COMMIT_SHA = "
|
|
3
|
-
export const BUILD_DIST_SHA256 = "
|
|
2
|
+
export const BUILD_COMMIT_SHA = "cbe3215a7b75d557fb7e25a0aaba5b4837c9e8de";
|
|
3
|
+
export const BUILD_DIST_SHA256 = "5f337833f28bc1461237730434a90489e80d3326a646aacbdccd39f6a236ef5b";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion-autostart.d.ts","sourceRoot":"","sources":["../src/companion-autostart.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,uGAAuG;AACvG,eAAO,MAAM,yBAAyB,EAAG,uCAAgD,CAAC;AAE1F,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA6C9G;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"companion-autostart.d.ts","sourceRoot":"","sources":["../src/companion-autostart.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,uGAAuG;AACvG,eAAO,MAAM,yBAAyB,EAAG,uCAAgD,CAAC;AAE1F,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,UAAU,GAAG,MAAM,CAAC,GAAG,MAAM,GAAG,IAAI,CAQ/F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CA6C9G;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAoBlE;AAED,8CAA8C;AAC9C,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,yEAAyE;IACzE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAgBpF;AAED,+DAA+D;AAC/D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC,CAetF;AAED,kFAAkF;AAClF,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAmBnE;AAED,6CAA6C;AAC7C,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACrC,6CAA6C;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAalE"}
|
|
@@ -99,6 +99,11 @@ Type=simple
|
|
|
99
99
|
ExecStart=${opts.binPath} companion
|
|
100
100
|
Restart=on-failure
|
|
101
101
|
RestartSec=60
|
|
102
|
+
# RUNNER-REFRESH-ROTATION-LOST (ROTATED): a TERMINAL refresh refusal exits 78
|
|
103
|
+
# (EX_CONFIG). Do NOT restart that — re-presenting the revoked token only
|
|
104
|
+
# re-trips reuse detection and burns the family. Mirrors the watch unit
|
|
105
|
+
# (supervisor.ts) so BOTH rotators on a shared slot fail closed, not loop.
|
|
106
|
+
RestartPreventExitStatus=78
|
|
102
107
|
|
|
103
108
|
[Install]
|
|
104
109
|
WantedBy=default.target
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion-autostart.js","sourceRoot":"","sources":["../src/companion-autostart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGlC,uGAAuG;AACvG,MAAM,CAAC,MAAM,yBAAyB,GAAG,uCAAgD,CAAC;AAc1F,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,IAA8C;IAC9E,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,yBAAyB,QAAQ,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,yBAAyB,UAAU,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAgE;IACpG,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,qBAAqB,CAAC;IAChE,OAAO;;;;YAIG,yBAAyB;;;;cAIvB,UAAU;;cAEV,IAAI,CAAC,OAAO;;;;;;;;;;;;;;;;;YAiBd,IAAI,CAAC,IAAI;;;YAGT,IAAI,CAAC,IAAI;;;;;;;;;YAST,IAAI,CAAC,IAAI;;;CAGpB,CAAC;AACF,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,gBAAgB,CAAC,IAAyB;IACxD,OAAO;;;;;;;YAOG,IAAI,CAAC,OAAO
|
|
1
|
+
{"version":3,"file":"companion-autostart.js","sourceRoot":"","sources":["../src/companion-autostart.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion-run.d.ts","sourceRoot":"","sources":["../src/companion-run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"companion-run.d.ts","sourceRoot":"","sources":["../src/companion-run.ts"],"names":[],"mappings":"AA4FA,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAE9F,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB,kCAAkC,CAAC;AAEtE;;;;GAIG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,eAAe,CAAC,CAqgBjE;AAED,+DAA+D;AAC/D,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC,CAmB5D;AAED,8DAA8D;AAC9D,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAK7D;AAED,wCAAwC;AACxC,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC,CAK/D"}
|
package/dist/companion-run.js
CHANGED
|
@@ -11,7 +11,15 @@ import chalk from "chalk";
|
|
|
11
11
|
import { applyBootstrapConfig, loadConfig, resolveRunnerConcurrency } from "./config.js";
|
|
12
12
|
import { getTokenProvider } from "./token-provider.js";
|
|
13
13
|
import { createRunnerClient } from "./supabase.js";
|
|
14
|
-
import {
|
|
14
|
+
import { expiresSoon, isTerminalRefreshError, } from "./runtime/auth-lifecycle.js";
|
|
15
|
+
// RUNNER-REFRESH-ROTATION-LOST (ROTATED): the companion shares the watch
|
|
16
|
+
// runner's refresh coordinator (instance-scoped lock + keychain re-read/adopt)
|
|
17
|
+
// and the terminal-refusal emitter so two rotators on ONE slot never revoke
|
|
18
|
+
// each other's token family, and a refusal here names THIS process (AC3).
|
|
19
|
+
import { coordinatedRefresh, emitRefreshRefused, EX_CONFIG, } from "./runtime/refresh-lock.js";
|
|
20
|
+
import { resolveInstance } from "./instance.js";
|
|
21
|
+
import { sessionAccount } from "./keychain.js";
|
|
22
|
+
import { withDeadline } from "./heartbeat/beat.js";
|
|
15
23
|
import { CHAT_WALL_CLOCK_MS_ENV, resolveChatWallClockMs, } from "./chat-lane.js";
|
|
16
24
|
import { createSupabaseChatTransport } from "./chat-transport.js";
|
|
17
25
|
import { getConfiguredChatEngine } from "./engines/registry.js";
|
|
@@ -59,6 +67,26 @@ export async function companionCommand() {
|
|
|
59
67
|
}
|
|
60
68
|
let session = loaded;
|
|
61
69
|
cfg = applyBootstrapConfig(cfg, session);
|
|
70
|
+
// RUNNER-REFRESH-ROTATION-LOST (ROTATED): a TERMINAL refresh refusal (reuse or
|
|
71
|
+
// expired) is unrecoverable from a running loop — re-presenting the token only
|
|
72
|
+
// re-trips the server's reuse detection and burns the whole family. Emit the
|
|
73
|
+
// `auth.refresh_refused` board breadcrumb naming THIS process (AC3: process
|
|
74
|
+
// = "companion") and exit EX_CONFIG so the companion's supervisor unit
|
|
75
|
+
// (RestartPreventExitStatus=78) leaves it FAILED instead of restart-looping and
|
|
76
|
+
// re-revoking on every start. Reads `cfg`/`session` at call time (both mutate
|
|
77
|
+
// on rotation). Shares the emitter verbatim with the `watch` runner.
|
|
78
|
+
const exitOnRefreshRefused = async (error) => {
|
|
79
|
+
await emitRefreshRefused({
|
|
80
|
+
session,
|
|
81
|
+
instance: resolveInstance(),
|
|
82
|
+
account: tokenProvider.boundAccount() ?? sessionAccount(),
|
|
83
|
+
error,
|
|
84
|
+
process: "companion",
|
|
85
|
+
makeClient: () => createRunnerClient(cfg, session.access_token, session.realtime_config),
|
|
86
|
+
withDeadline,
|
|
87
|
+
});
|
|
88
|
+
process.exit(EX_CONFIG);
|
|
89
|
+
};
|
|
62
90
|
// BUILD-FINGERPRINT-RUNNING-1: record the build this long-running companion
|
|
63
91
|
// loaded so a fresh `acc version` or `acc doctor` can detect a stale launchd
|
|
64
92
|
// process after an on-disk upgrade (see runtime/running-build.ts). Both read
|
|
@@ -71,12 +99,15 @@ export async function companionCommand() {
|
|
|
71
99
|
// the companion doesn't start on a token that lapses minutes later.
|
|
72
100
|
if (tokenProvider.canRefresh() && expiresSoon(session)) {
|
|
73
101
|
try {
|
|
74
|
-
|
|
75
|
-
|
|
102
|
+
// Coordinated: takes the instance-scoped refresh lock and RE-READS the slot
|
|
103
|
+
// first, adopting a sibling rotator's successor instead of re-presenting our
|
|
104
|
+
// (possibly superseded) token. coordinatedRefresh persists the successor.
|
|
105
|
+
const outcome = await coordinatedRefresh({ cfg, session, provider: tokenProvider });
|
|
106
|
+
session = outcome.session;
|
|
76
107
|
}
|
|
77
108
|
catch (err) {
|
|
78
|
-
if (err
|
|
79
|
-
|
|
109
|
+
if (isTerminalRefreshError(err)) {
|
|
110
|
+
await exitOnRefreshRefused(err); // emits AC3 breadcrumb + exits; never returns
|
|
80
111
|
}
|
|
81
112
|
// A transient startup refresh failure is non-fatal: come online on the
|
|
82
113
|
// existing token; the heartbeat lifecycle refreshes / backs off / exits.
|
|
@@ -323,24 +354,21 @@ export async function companionCommand() {
|
|
|
323
354
|
const refreshAuth = async () => {
|
|
324
355
|
if (!tokenProvider.canRefresh())
|
|
325
356
|
return false;
|
|
326
|
-
let next;
|
|
327
357
|
try {
|
|
328
|
-
|
|
358
|
+
// Coordinated across every rotator on this slot (lock + re-read/adopt);
|
|
359
|
+
// coordinatedRefresh persists the successor to the keychain itself.
|
|
360
|
+
const outcome = await coordinatedRefresh({ cfg, session, provider: tokenProvider });
|
|
361
|
+
session = outcome.session;
|
|
329
362
|
}
|
|
330
363
|
catch (err) {
|
|
331
|
-
if (err
|
|
332
|
-
// No safe recovery from a running loop —
|
|
333
|
-
//
|
|
334
|
-
//
|
|
335
|
-
|
|
336
|
-
return false;
|
|
364
|
+
if (isTerminalRefreshError(err)) {
|
|
365
|
+
// No safe recovery from a running loop — emit the AC3 breadcrumb naming
|
|
366
|
+
// the companion and exit EX_CONFIG so the unit does not restart-loop and
|
|
367
|
+
// re-revoke on every start. The operator must re-login on a trusted box.
|
|
368
|
+
await exitOnRefreshRefused(err); // never returns
|
|
337
369
|
}
|
|
338
|
-
throw err; // caught by CompanionRunner.runRefresh
|
|
370
|
+
throw err; // transient — caught by CompanionRunner.runRefresh, treated as "not refreshed"
|
|
339
371
|
}
|
|
340
|
-
session = next;
|
|
341
|
-
await tokenProvider.save(session).catch(() => {
|
|
342
|
-
/* env-mode save is in-memory; never fatal */
|
|
343
|
-
});
|
|
344
372
|
supabase = createRunnerClient(cfg, session.access_token, session.realtime_config);
|
|
345
373
|
await transport.refreshClient(supabase, session.access_token).catch(() => {
|
|
346
374
|
/* channel teardown is best-effort; the next frame re-subscribes */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"companion-run.js","sourceRoot":"","sources":["../src/companion-run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"companion-run.js","sourceRoot":"","sources":["../src/companion-run.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { EngineCredentialProbe } from "./engines/types.js";
|
|
|
3
3
|
import { type BootstrapConfigInput, type RunnerConfig } from "./config.js";
|
|
4
4
|
import { type StoredSession } from "./types.js";
|
|
5
5
|
import { type GitAuthProbe } from "./git-auth/index.js";
|
|
6
|
+
import { type RefreshRotator, type RefreshRotatorUnit } from "./runtime/refresh-lock.js";
|
|
6
7
|
import { type NpmLatestDeps } from "./runtime/version-drift.js";
|
|
7
8
|
import { type RunnerBuildFingerprint } from "./build-fingerprint.js";
|
|
8
9
|
import { probeMcpServer, type McpProbeResult } from "./mcp-spawn.js";
|
|
@@ -122,6 +123,17 @@ export declare function checkInstance(): Promise<CheckOutcome>;
|
|
|
122
123
|
* An already-expired token fails the check with a clear remediation.
|
|
123
124
|
*/
|
|
124
125
|
export declare function checkEnvToken(): Promise<CheckOutcome>;
|
|
126
|
+
/**
|
|
127
|
+
* RUNNER-REFRESH-ROTATION-LOST (AC4): report the stored session's refresh/
|
|
128
|
+
* access-credential age from the KEYCHAIN alone, and name the gap that there is
|
|
129
|
+
* no read-only server endpoint to compare the refresh token's server-side issue
|
|
130
|
+
* time against today. /api/runner/refresh is the only refresh-lane endpoint and
|
|
131
|
+
* it is NOT read-only (it rotates + can trip reuse detection), so this check
|
|
132
|
+
* must never call it — it decodes the stored access token's `iat`/`exp` and
|
|
133
|
+
* reports what it can. The slot it reports is the SAME one the watch loop loads
|
|
134
|
+
* (one credential per start); it never iterates other accounts.
|
|
135
|
+
*/
|
|
136
|
+
export declare function checkRefreshAge(): Promise<CheckOutcome>;
|
|
125
137
|
export declare function checkCredentialIdentity(): Promise<CheckOutcome>;
|
|
126
138
|
/**
|
|
127
139
|
* RD-1 (BOOTSTRAP-CONFIG): best-effort load of the persisted keychain / env
|
|
@@ -144,6 +156,14 @@ export interface SingletonCheckDeps {
|
|
|
144
156
|
scan?: (selfPid: number) => Promise<number[]>;
|
|
145
157
|
}
|
|
146
158
|
export declare function checkSingleton(cfg: RunnerConfig | null, deps?: SingletonCheckDeps): Promise<CheckOutcome>;
|
|
159
|
+
export interface RefreshRotatorCheckDeps {
|
|
160
|
+
/** Injectable process scanner for tests. Defaults to the real ps scan. */
|
|
161
|
+
scan?: (selfPid?: number) => Promise<RefreshRotator[]>;
|
|
162
|
+
/** Injectable unit scanner for tests. Defaults to the real systemctl scan. */
|
|
163
|
+
scanUnits?: () => Promise<RefreshRotatorUnit[]>;
|
|
164
|
+
env?: NodeJS.ProcessEnv;
|
|
165
|
+
}
|
|
166
|
+
export declare function checkRefreshRotators(deps?: RefreshRotatorCheckDeps): Promise<CheckOutcome>;
|
|
147
167
|
export declare function checkUpdateAvailable(deps?: NpmLatestDeps): Promise<CheckOutcome>;
|
|
148
168
|
/**
|
|
149
169
|
* V113: report the self-update-on-426 state — the opt-in knob's value plus the
|
package/dist/doctor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAUA,OAAO,EAIL,KAAK,wBAAwB,EAE9B,MAAM,kBAAkB,CAAC;AAY1B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAEL,KAAK,oBAAoB,EAUzB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/doctor.js
CHANGED
|
@@ -15,14 +15,14 @@ import { codexEngineEnabled, resolveCodexSpawnMode } from "./engines/codex.js";
|
|
|
15
15
|
import { engineRegistrationState, getConfiguredChatEngine } from "./engines/registry.js";
|
|
16
16
|
import { claudeCodeEngine } from "./engines/claude-code.js";
|
|
17
17
|
import { applyBootstrapConfig, CONCURRENCY_ENV, concurrencyEnvExplicit, configSources, loadConfigOrNull, resolveConcurrencyLimit, resolveEffectiveConcurrency, resolveReservedReviewSlots, RESERVED_REVIEW_SLOT_ENV, supabaseConfigSource, } from "./config.js";
|
|
18
|
-
import { getTokenProvider, resolveTokenMode } from "./token-provider.js";
|
|
18
|
+
import { decodeJwtClaims, getTokenProvider, resolveTokenMode } from "./token-provider.js";
|
|
19
19
|
import { cacheDir } from "./runtime/cache-dir.js";
|
|
20
20
|
import { cloneCacheRoot, listCachedClones } from "./runtime/clone-cache.js";
|
|
21
21
|
import { createRunnerClient } from "./supabase.js";
|
|
22
22
|
import { machineIdentity } from "./login.js";
|
|
23
23
|
import { safeText } from "./machine-capabilities/redact.js";
|
|
24
24
|
import { INSTANCE_ENV, INSTANCE_NAME_RE, instanceKeychainAccount, resolveInstance, } from "./instance.js";
|
|
25
|
-
import { activeSystemdUnitName, systemdUnitPath } from "./supervisor.js";
|
|
25
|
+
import { activeSystemdUnitName, systemdUnitPath, RESTART_PREVENT_EXIT_STATUS, } from "./supervisor.js";
|
|
26
26
|
import { checkVersion } from "./version-check.js";
|
|
27
27
|
import { PROTOCOL_VERSION } from "./types.js";
|
|
28
28
|
import { locksDir, listStaleLocks } from "./runtime/locks.js";
|
|
@@ -31,6 +31,9 @@ import { getQuarantine, quarantineFile } from "./runtime/quarantine.js";
|
|
|
31
31
|
import { makeGitAuthProbe } from "./git-auth/index.js";
|
|
32
32
|
import { getChatCircuit, chatCircuitFile } from "./runtime/chat-circuit-breaker.js";
|
|
33
33
|
import { findLiveLockHolder, listForeignRunnerPids, singletonLockPath, } from "./runtime/singleton.js";
|
|
34
|
+
// RUNNER-REFRESH-ROTATION-LOST (ROTATED, AC4): host rotator census — every process
|
|
35
|
+
// that refreshes a keychain slot (watch/companion) and which slot it resolves.
|
|
36
|
+
import { listRefreshRotators, listRefreshRotatorUnits, rotatorSlot, } from "./runtime/refresh-lock.js";
|
|
34
37
|
import { getClaudeVersion, npmLatestVersion, readTaskEnv, } from "./runtime/version-drift.js";
|
|
35
38
|
import { compareSemver as compareSemverVer } from "./version-check.js";
|
|
36
39
|
import { latestSelfUpdateAttempt } from "./runtime/self-upgrade.js";
|
|
@@ -671,6 +674,50 @@ export async function checkEnvToken() {
|
|
|
671
674
|
detail: `runner ${session.runner_id} (id: ${idSource}), ${refresh}, ${fleet}, expires ${session.access_expires_at}`,
|
|
672
675
|
};
|
|
673
676
|
}
|
|
677
|
+
/**
|
|
678
|
+
* RUNNER-REFRESH-ROTATION-LOST (AC4): report the stored session's refresh/
|
|
679
|
+
* access-credential age from the KEYCHAIN alone, and name the gap that there is
|
|
680
|
+
* no read-only server endpoint to compare the refresh token's server-side issue
|
|
681
|
+
* time against today. /api/runner/refresh is the only refresh-lane endpoint and
|
|
682
|
+
* it is NOT read-only (it rotates + can trip reuse detection), so this check
|
|
683
|
+
* must never call it — it decodes the stored access token's `iat`/`exp` and
|
|
684
|
+
* reports what it can. The slot it reports is the SAME one the watch loop loads
|
|
685
|
+
* (one credential per start); it never iterates other accounts.
|
|
686
|
+
*/
|
|
687
|
+
export async function checkRefreshAge() {
|
|
688
|
+
const name = "refresh credential age";
|
|
689
|
+
const provider = getTokenProvider();
|
|
690
|
+
let session;
|
|
691
|
+
try {
|
|
692
|
+
session = await provider.load();
|
|
693
|
+
}
|
|
694
|
+
catch {
|
|
695
|
+
// An env-token init error is already surfaced by checkEnvToken; stay quiet.
|
|
696
|
+
return { name, ok: true, detail: "skipped (session unavailable)" };
|
|
697
|
+
}
|
|
698
|
+
if (!session)
|
|
699
|
+
return { name, ok: true, detail: "skipped (not logged in)" };
|
|
700
|
+
const account = provider.boundAccount() ?? "env";
|
|
701
|
+
const claims = decodeJwtClaims(session.access_token);
|
|
702
|
+
const now = Date.now();
|
|
703
|
+
const parts = [`slot=${account}`];
|
|
704
|
+
if (claims?.iat) {
|
|
705
|
+
const ageMin = Math.max(0, Math.round((now - claims.iat * 1000) / 60_000));
|
|
706
|
+
parts.push(`access issued ${ageMin}m ago`);
|
|
707
|
+
}
|
|
708
|
+
else {
|
|
709
|
+
parts.push("access iat unavailable");
|
|
710
|
+
}
|
|
711
|
+
const expMs = Date.parse(session.access_expires_at);
|
|
712
|
+
if (Number.isFinite(expMs)) {
|
|
713
|
+
const mins = Math.round((expMs - now) / 60_000);
|
|
714
|
+
parts.push(mins >= 0 ? `expires in ${mins}m` : `expired ${-mins}m ago`);
|
|
715
|
+
}
|
|
716
|
+
// The gap: no read-only endpoint exists to confirm the refresh token the
|
|
717
|
+
// keychain holds is still the server's current (un-rotated) successor.
|
|
718
|
+
parts.push("no read-only server endpoint to verify refresh-token freshness");
|
|
719
|
+
return { name, ok: true, detail: parts.join(", ") };
|
|
720
|
+
}
|
|
674
721
|
export async function checkCredentialIdentity() {
|
|
675
722
|
// Resolve the SERVING model-credential account (BYOK key → null email;
|
|
676
723
|
// config-file or OS-keychain login → the account it carries), NOT the ACC
|
|
@@ -997,6 +1044,102 @@ export async function checkSingleton(cfg, deps = {}) {
|
|
|
997
1044
|
};
|
|
998
1045
|
}
|
|
999
1046
|
}
|
|
1047
|
+
export async function checkRefreshRotators(deps = {}) {
|
|
1048
|
+
const name = "refresh rotators";
|
|
1049
|
+
if (resolveTokenMode() === "env") {
|
|
1050
|
+
return { name, ok: true, detail: "skipped (token mode: env — no keychain slot)" };
|
|
1051
|
+
}
|
|
1052
|
+
const env = deps.env ?? process.env;
|
|
1053
|
+
const scan = deps.scan ?? listRefreshRotators;
|
|
1054
|
+
const scanUnits = deps.scanUnits ?? listRefreshRotatorUnits;
|
|
1055
|
+
let selfInstance;
|
|
1056
|
+
try {
|
|
1057
|
+
selfInstance = resolveInstance(env);
|
|
1058
|
+
}
|
|
1059
|
+
catch {
|
|
1060
|
+
selfInstance = null;
|
|
1061
|
+
}
|
|
1062
|
+
const selfSlot = rotatorSlot(selfInstance);
|
|
1063
|
+
let units;
|
|
1064
|
+
try {
|
|
1065
|
+
units = await scanUnits();
|
|
1066
|
+
}
|
|
1067
|
+
catch {
|
|
1068
|
+
units = [];
|
|
1069
|
+
}
|
|
1070
|
+
let procs;
|
|
1071
|
+
try {
|
|
1072
|
+
procs = await scan(process.pid);
|
|
1073
|
+
}
|
|
1074
|
+
catch {
|
|
1075
|
+
procs = [];
|
|
1076
|
+
}
|
|
1077
|
+
// Units are authoritative (they carry state + the env-resolved slot). Each is
|
|
1078
|
+
// one rotator; remember its MainPID so the matching live process is not also
|
|
1079
|
+
// counted as a second, independent rotator.
|
|
1080
|
+
const unitPids = new Set();
|
|
1081
|
+
const entries = [];
|
|
1082
|
+
for (const u of units) {
|
|
1083
|
+
if (u.mainPid)
|
|
1084
|
+
unitPids.add(u.mainPid);
|
|
1085
|
+
const pidNote = u.mainPid ? `, pid ${u.mainPid}` : "";
|
|
1086
|
+
entries.push({
|
|
1087
|
+
slot: rotatorSlot(u.instance),
|
|
1088
|
+
label: `${u.kind} unit ${u.unit} [${u.state}${pidNote}]`,
|
|
1089
|
+
isSelf: u.mainPid === process.pid,
|
|
1090
|
+
});
|
|
1091
|
+
}
|
|
1092
|
+
// Add only the processes NOT already represented by a unit's MainPID — a
|
|
1093
|
+
// manual (non-systemd) rotator. The ps scan already excludes our own pid.
|
|
1094
|
+
for (const p of procs) {
|
|
1095
|
+
if (p.pid && unitPids.has(p.pid))
|
|
1096
|
+
continue;
|
|
1097
|
+
entries.push({
|
|
1098
|
+
slot: rotatorSlot(p.instance),
|
|
1099
|
+
label: `${p.kind}(pid ${p.pid})`,
|
|
1100
|
+
isSelf: false,
|
|
1101
|
+
});
|
|
1102
|
+
}
|
|
1103
|
+
if (entries.length === 0) {
|
|
1104
|
+
return {
|
|
1105
|
+
name,
|
|
1106
|
+
ok: true,
|
|
1107
|
+
detail: `no other rotator processes or units; this host resolves slot ${selfSlot}`,
|
|
1108
|
+
};
|
|
1109
|
+
}
|
|
1110
|
+
const bySlot = new Map();
|
|
1111
|
+
for (const e of entries) {
|
|
1112
|
+
const list = bySlot.get(e.slot) ?? [];
|
|
1113
|
+
list.push(e);
|
|
1114
|
+
bySlot.set(e.slot, list);
|
|
1115
|
+
}
|
|
1116
|
+
const lines = [...bySlot.entries()].map(([slot, list]) => `${slot}: ${list.map((e) => e.label).join(", ")}`);
|
|
1117
|
+
// The hazard: two or more DISTINCT rotators (units or processes, after the
|
|
1118
|
+
// MainPID reconciliation) resolve ONE keychain slot. The rule is uniform
|
|
1119
|
+
// across every slot, including this host's own. DOCTOR-ROTATOR-CENSUS-SELF-
|
|
1120
|
+
// SLOT-FALSE-POSITIVE-1: `doctor` run from an operator shell (the documented
|
|
1121
|
+
// `acc-runner doctor --instance <name>` path) is NOT itself a rotator, so a
|
|
1122
|
+
// slot's single legitimate watch unit must not read as a sibling of the shell
|
|
1123
|
+
// invocation — the earlier self-slot `>= 1` rule made exactly that false call.
|
|
1124
|
+
// The `isSelf` exclusion is kept for the case where `doctor` runs as a
|
|
1125
|
+
// supervised unit's own MainPID (e.g. a health probe): that unit, which is
|
|
1126
|
+
// running `doctor` rather than rotating, never counts itself.
|
|
1127
|
+
const hazard = [...bySlot.values()].some((list) => list.filter((e) => !e.isSelf).length >= 2);
|
|
1128
|
+
if (hazard) {
|
|
1129
|
+
return {
|
|
1130
|
+
name,
|
|
1131
|
+
ok: false,
|
|
1132
|
+
warn: true,
|
|
1133
|
+
detail: `multiple rotators resolve one slot — ${lines.join(" ; ")} (this host: ${selfSlot})`,
|
|
1134
|
+
fix: "Run at most one rotator (`watch` OR `companion`) per keychain slot, or give each a distinct `--instance` so they rotate independent slots. A stopped/failed unit still counts — it rotates the instant it restarts. Siblings on one slot rely on the instance-scoped refresh lock; a sibling on a build predating it can still revoke the token family.",
|
|
1135
|
+
};
|
|
1136
|
+
}
|
|
1137
|
+
return {
|
|
1138
|
+
name,
|
|
1139
|
+
ok: true,
|
|
1140
|
+
detail: `${lines.join(" ; ")} (this host: ${selfSlot})`,
|
|
1141
|
+
};
|
|
1142
|
+
}
|
|
1000
1143
|
// v0.14.0 (T-54-2, GA-6) ------------------------------------------------
|
|
1001
1144
|
// Version-drift WARNs. Both are advisory (never fail the run): a stale
|
|
1002
1145
|
// binary or a swapped-out claude CLI is worth surfacing but is not a hard
|
|
@@ -1485,8 +1628,9 @@ export async function checkSystemdUnit(platform = process.platform, env = proces
|
|
|
1485
1628
|
// env.HOME, not os.homedir(): the unit belongs to the user this check is
|
|
1486
1629
|
// resolving for, and it keeps the check injectable in tests.
|
|
1487
1630
|
const unitPath = systemdUnitPath(env.HOME ?? os.homedir(), resolveInstance(env));
|
|
1631
|
+
let unitBody = null;
|
|
1488
1632
|
try {
|
|
1489
|
-
await fs.
|
|
1633
|
+
unitBody = await fs.readFile(unitPath, "utf8");
|
|
1490
1634
|
}
|
|
1491
1635
|
catch {
|
|
1492
1636
|
return {
|
|
@@ -1496,8 +1640,33 @@ export async function checkSystemdUnit(platform = process.platform, env = proces
|
|
|
1496
1640
|
fix: `Run packages/acc-runner/scripts/setup-dedicated-runner-linux.sh${resolveInstance(env) ? ` --instance ${resolveInstance(env)}` : ""} from the repo clone.`,
|
|
1497
1641
|
};
|
|
1498
1642
|
}
|
|
1643
|
+
const instanceName = resolveInstance(env);
|
|
1644
|
+
const loginFix = `acc-runner login${instanceName ? ` --instance ${instanceName}` : ""}`;
|
|
1499
1645
|
const active = await systemctl(["--user", "is-active", unit]);
|
|
1500
1646
|
if (active !== "active") {
|
|
1647
|
+
// RUNNER-REFRESH-ROTATION-LOST: a unit left FAILED on exit 78 is the
|
|
1648
|
+
// terminal-refusal state — a `systemctl start` would just re-present the
|
|
1649
|
+
// dead credential. Name the real fix (clear the slot + re-login), not a
|
|
1650
|
+
// bare restart. ExecMainStatus carries the last exit code.
|
|
1651
|
+
if (active === "failed") {
|
|
1652
|
+
const mainStatus = await systemctl([
|
|
1653
|
+
"--user",
|
|
1654
|
+
"show",
|
|
1655
|
+
unit,
|
|
1656
|
+
"-p",
|
|
1657
|
+
"ExecMainStatus",
|
|
1658
|
+
"--value",
|
|
1659
|
+
]);
|
|
1660
|
+
if (mainStatus === String(RESTART_PREVENT_EXIT_STATUS)) {
|
|
1661
|
+
return {
|
|
1662
|
+
name,
|
|
1663
|
+
ok: false,
|
|
1664
|
+
detail: `${unit} failed on exit ${RESTART_PREVENT_EXIT_STATUS} — a terminal refresh refusal ` +
|
|
1665
|
+
`(the refresh token was rotated/expired and re-presenting it was refused)`,
|
|
1666
|
+
fix: `Clear the stale keychain slot, then: ${loginFix} && systemctl --user start ${unit}`,
|
|
1667
|
+
};
|
|
1668
|
+
}
|
|
1669
|
+
}
|
|
1501
1670
|
return {
|
|
1502
1671
|
name,
|
|
1503
1672
|
ok: false,
|
|
@@ -1505,6 +1674,19 @@ export async function checkSystemdUnit(platform = process.platform, env = proces
|
|
|
1505
1674
|
fix: `systemctl --user start ${unit} && journalctl --user -u ${unit} -n 50`,
|
|
1506
1675
|
};
|
|
1507
1676
|
}
|
|
1677
|
+
// RUNNER-REFRESH-ROTATION-LOST: an active unit that predates the
|
|
1678
|
+
// RestartPreventExitStatus=78 directive will restart-loop through a terminal
|
|
1679
|
+
// refusal. Advisory (the unit is up now) — re-install to adopt the directive.
|
|
1680
|
+
if (!new RegExp(`^RestartPreventExitStatus=.*\\b${RESTART_PREVENT_EXIT_STATUS}\\b`, "m").test(unitBody)) {
|
|
1681
|
+
return {
|
|
1682
|
+
name,
|
|
1683
|
+
ok: false,
|
|
1684
|
+
warn: true,
|
|
1685
|
+
detail: `${unit} active but missing RestartPreventExitStatus=${RESTART_PREVENT_EXIT_STATUS} — ` +
|
|
1686
|
+
`a terminal refresh refusal would restart-loop and burn the token family`,
|
|
1687
|
+
fix: `Re-run packages/acc-runner/scripts/setup-dedicated-runner-linux.sh${instanceName ? ` --instance ${instanceName}` : ""} to adopt the directive.`,
|
|
1688
|
+
};
|
|
1689
|
+
}
|
|
1508
1690
|
const enabled = await systemctl(["--user", "is-enabled", unit]);
|
|
1509
1691
|
if (enabled !== "enabled" && enabled !== "enabled-runtime") {
|
|
1510
1692
|
return {
|
|
@@ -1606,6 +1788,7 @@ export async function doctorCommand(options = {}) {
|
|
|
1606
1788
|
checkKeychain,
|
|
1607
1789
|
checkInstance,
|
|
1608
1790
|
checkEnvToken,
|
|
1791
|
+
checkRefreshAge,
|
|
1609
1792
|
checkCredentialIdentity,
|
|
1610
1793
|
() => checkBootstrapConfig(bootstrap),
|
|
1611
1794
|
...(cfg ? [() => checkServer(cfg.publicUrl)] : []),
|
|
@@ -1620,6 +1803,7 @@ export async function doctorCommand(options = {}) {
|
|
|
1620
1803
|
() => checkOrphanWorktrees(cfg),
|
|
1621
1804
|
checkStaleLocks,
|
|
1622
1805
|
() => checkSingleton(cfg),
|
|
1806
|
+
checkRefreshRotators,
|
|
1623
1807
|
checkUpdateAvailable,
|
|
1624
1808
|
() => checkSelfUpdateOn426(cfg),
|
|
1625
1809
|
checkClaudeDrift,
|