teamshare-bridge 0.22.13 → 0.22.15
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/bridge/daemon-instance.d.ts +19 -0
- package/dist/bridge/daemon-instance.js +39 -3
- package/dist/bridge/daemon-instance.js.map +1 -1
- package/dist/bridge/daemon.js +262 -175
- package/dist/bridge/daemon.js.map +1 -1
- package/dist/bridge/index.js +52 -13
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/local-server.d.ts +7 -1
- package/dist/bridge/local-server.js +25 -5
- package/dist/bridge/local-server.js.map +1 -1
- package/dist/bridge/service.d.ts +49 -2
- package/dist/bridge/service.js +209 -7
- package/dist/bridge/service.js.map +1 -1
- package/dist/bridge/stopped-marker.d.ts +8 -0
- package/dist/bridge/stopped-marker.js +62 -0
- package/dist/bridge/stopped-marker.js.map +1 -0
- package/dist/cli/commands/run.js +82 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/lib/stale-busy.d.ts +22 -0
- package/dist/lib/stale-busy.js +96 -0
- package/dist/lib/stale-busy.js.map +1 -0
- package/dist/lib/workspace/mirror-lease.d.ts +12 -0
- package/dist/lib/workspace/mirror-lease.js +15 -0
- package/dist/lib/workspace/mirror-lease.js.map +1 -1
- package/dist/lib/workspace/mirror.d.ts +46 -0
- package/dist/lib/workspace/mirror.js +96 -0
- package/dist/lib/workspace/mirror.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STOPPED_MARKER_PATH = void 0;
|
|
4
|
+
exports.writeStoppedMarker = writeStoppedMarker;
|
|
5
|
+
exports.readStoppedMarker = readStoppedMarker;
|
|
6
|
+
exports.clearStoppedMarker = clearStoppedMarker;
|
|
7
|
+
/**
|
|
8
|
+
* Manual-stop marker for the whole bridge (2026-10).
|
|
9
|
+
*
|
|
10
|
+
* `teamshare-bridge stop` means "everything down until a human starts it
|
|
11
|
+
* again": the stopped daemon, the watchdog supervisor, every agent session.
|
|
12
|
+
* Before this file, `stop` killed only verified daemon pids and wrote
|
|
13
|
+
* nothing, so NOTHING distinguished "human asked it down" from "crashed" —
|
|
14
|
+
* and the supervisor (30 s tick), the logon task, and the upgrade helper's
|
|
15
|
+
* trailing `startDaemon` each revived the machine on their own.
|
|
16
|
+
*
|
|
17
|
+
* The marker is the single durable "stay down" signal:
|
|
18
|
+
* - written by `stop` (service.ts `stopDaemon`), cleared ONLY by explicit
|
|
19
|
+
* `start` / `restart` — never by boot, status, crash, or upgrade;
|
|
20
|
+
* - honored by the supervisor tick (no starts, no sweeps) and by the
|
|
21
|
+
* upgrade helper's trailing `startDaemon` (installs, but does not
|
|
22
|
+
* relaunch a stopped machine);
|
|
23
|
+
* - the OS autostart registration is deliberately LEFT installed: at the
|
|
24
|
+
* next logon the supervisor boots, sees the marker, and exits instead of
|
|
25
|
+
* reviving. `autostart off` remains the separate "never run here" opt-out.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately tiny + dependency-free (same reasons as upgrade-marker.ts):
|
|
28
|
+
* path-injectable for the unit tests.
|
|
29
|
+
*/
|
|
30
|
+
const node_fs_1 = require("node:fs");
|
|
31
|
+
const node_os_1 = require("node:os");
|
|
32
|
+
const node_path_1 = require("node:path");
|
|
33
|
+
exports.STOPPED_MARKER_PATH = (0, node_path_1.join)((0, node_os_1.homedir)(), '.teamshare', 'daemon.stopped');
|
|
34
|
+
function writeStoppedMarker(marker, path = exports.STOPPED_MARKER_PATH) {
|
|
35
|
+
try {
|
|
36
|
+
(0, node_fs_1.mkdirSync)((0, node_path_1.dirname)(path), { recursive: true });
|
|
37
|
+
(0, node_fs_1.writeFileSync)(path, JSON.stringify(marker, null, 2), 'utf8');
|
|
38
|
+
}
|
|
39
|
+
catch {
|
|
40
|
+
/* best-effort: without the marker a stop degrades to the old behavior */
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function readStoppedMarker(path = exports.STOPPED_MARKER_PATH) {
|
|
44
|
+
try {
|
|
45
|
+
if (!(0, node_fs_1.existsSync)(path))
|
|
46
|
+
return null;
|
|
47
|
+
const parsed = JSON.parse((0, node_fs_1.readFileSync)(path, 'utf8'));
|
|
48
|
+
return parsed && typeof parsed.stoppedAt === 'string' ? parsed : null;
|
|
49
|
+
}
|
|
50
|
+
catch {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function clearStoppedMarker(path = exports.STOPPED_MARKER_PATH) {
|
|
55
|
+
try {
|
|
56
|
+
(0, node_fs_1.rmSync)(path, { force: true });
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
/* best-effort */
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=stopped-marker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopped-marker.js","sourceRoot":"","sources":["../../src/bridge/stopped-marker.ts"],"names":[],"mappings":";;;AAkCA,gDAUC;AAED,8CAQC;AAED,gDAMC;AA9DD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qCAAqF;AACrF,qCAAkC;AAClC,yCAA0C;AAE7B,QAAA,mBAAmB,GAAG,IAAA,gBAAI,EAAC,IAAA,iBAAO,GAAE,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;AAOnF,SAAgB,kBAAkB,CAChC,MAAqB,EACrB,IAAI,GAAG,2BAAmB;IAE1B,IAAI,CAAC;QACH,IAAA,mBAAS,EAAC,IAAA,mBAAO,EAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAA,uBAAa,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,yEAAyE;IAC3E,CAAC;AACH,CAAC;AAED,SAAgB,iBAAiB,CAAC,IAAI,GAAG,2BAAmB;IAC1D,IAAI,CAAC;QACH,IAAI,CAAC,IAAA,oBAAU,EAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,IAAI,EAAE,MAAM,CAAC,CAAkB,CAAC;QACvE,OAAO,MAAM,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAAC,IAAI,GAAG,2BAAmB;IAC3D,IAAI,CAAC;QACH,IAAA,gBAAM,EAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC"}
|
package/dist/cli/commands/run.js
CHANGED
|
@@ -66,6 +66,8 @@ const ensure_excludes_1 = require("../../lib/git/ensure-excludes");
|
|
|
66
66
|
const sync_1 = require("../../lib/context/sync");
|
|
67
67
|
const utils_2 = require("../utils");
|
|
68
68
|
const bridge_notice_1 = require("../../lib/bridge-notice");
|
|
69
|
+
const mirror_lease_1 = require("../../lib/workspace/mirror-lease");
|
|
70
|
+
const diagnostics_1 = require("../../lib/diagnostics");
|
|
69
71
|
const DONE_STATUSES_RUN = new Set(['in_review', 'resolved', 'closed']);
|
|
70
72
|
async function cmdRun(flags) {
|
|
71
73
|
const agentId = (0, utils_1.need)(flags, 'agent');
|
|
@@ -94,7 +96,17 @@ async function cmdRun(flags) {
|
|
|
94
96
|
const lock = await (0, lock_1.acquireLock)(agentId, 'task', {
|
|
95
97
|
taskId: taskIdFlag,
|
|
96
98
|
}, {
|
|
97
|
-
onWaiting: (busy) =>
|
|
99
|
+
onWaiting: (busy) => {
|
|
100
|
+
console.log(`[lock] agent ${agentId} is busy (pid ${busy.pid}, since ${busy.startedAt}, ${busy.kind}) - waiting for it to finish...`);
|
|
101
|
+
// LEASE HEARTBEAT (2026-10): this session was dispatched into a mirror
|
|
102
|
+
// but has not started yet. Without this the lease reads "never handed to
|
|
103
|
+
// anyone, ageing since creation" for the whole wait - indistinguishable
|
|
104
|
+
// from an orphan - and a sweep reaps a tree whose session is already on
|
|
105
|
+
// its way. Touching `lastActivityAt` keeps the reclaim clock moving with
|
|
106
|
+
// the waiter. No-op when there is no task yet or no lease.
|
|
107
|
+
if (taskIdFlag)
|
|
108
|
+
(0, mirror_lease_1.touchMirrorLease)(taskIdFlag);
|
|
109
|
+
},
|
|
98
110
|
onDuplicate: (busy) => console.log(`[lock] task ${taskIdFlag} is ALREADY running as agent ${agentId} ` +
|
|
99
111
|
`(pid ${busy.pid}, since ${busy.startedAt}) - this is a duplicate dispatch, exiting instead of waiting`),
|
|
100
112
|
});
|
|
@@ -201,6 +213,70 @@ async function cmdRun(flags) {
|
|
|
201
213
|
exitCode = 1;
|
|
202
214
|
return;
|
|
203
215
|
}
|
|
216
|
+
// DEAD-MIRROR RECOVERY (2026-10): the daemon built this tree, but this
|
|
217
|
+
// process may have waited on the agent lock long enough for it to be
|
|
218
|
+
// swept, cleaned or deleted meanwhile. Rebuild it ONCE here - a session
|
|
219
|
+
// must never start in a corpse and "degrade" into the linked folder (that
|
|
220
|
+
// is how a run wrote straight into the human's branch with no mirror, no
|
|
221
|
+
// branch and no PR). The rebuild lands on the task's own branch when one
|
|
222
|
+
// exists, so a retry continues previous commits.
|
|
223
|
+
let mirrorQuarantined;
|
|
224
|
+
if ((0, mirror_1.looksLikeMirrorPath)(cwd) && !(0, mirror_1.isMirrorDir)(cwd)) {
|
|
225
|
+
const taskBranch = (0, git_pipeline_1.desiredBranch)({
|
|
226
|
+
taskId: task.id,
|
|
227
|
+
projectSlug: task.project?.name,
|
|
228
|
+
taskTitle: task.title,
|
|
229
|
+
});
|
|
230
|
+
const recovery = await (0, mirror_1.ensureLiveMirror)({
|
|
231
|
+
cwd,
|
|
232
|
+
seed: task.id,
|
|
233
|
+
agentId,
|
|
234
|
+
projectId: task.projectId ?? null,
|
|
235
|
+
taskId: task.id,
|
|
236
|
+
baseBranch: taskBranch,
|
|
237
|
+
deliverableBranch: taskBranch,
|
|
238
|
+
log,
|
|
239
|
+
});
|
|
240
|
+
if (recovery.ok) {
|
|
241
|
+
mirrorQuarantined = recovery.quarantined;
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
// Rebuild failed: abort, don't degrade. Report to the hub (which owns
|
|
245
|
+
// the auto-run failure accounting) and say so where the human looks.
|
|
246
|
+
// This runs before the claim, so the task is untouched and retryable.
|
|
247
|
+
const reason = `Isolation unavailable: ${recovery.detail ?? 'the isolation mirror could not be rebuilt'}`;
|
|
248
|
+
log(`[isolation] FAILED - ${reason}. Refusing to run in the linked folder: an agent must never write to the user's branch.`, 'stderr');
|
|
249
|
+
try {
|
|
250
|
+
await api.reportRunFailed(taskId, { reason, harness });
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
log(`[isolation] reportRunFailed failed: ${(0, config_1.msg)(err)}`, 'stderr');
|
|
254
|
+
}
|
|
255
|
+
try {
|
|
256
|
+
await (0, bridge_notice_1.postBridgeNotice)({
|
|
257
|
+
api,
|
|
258
|
+
noticeKey: (0, bridge_notice_1.oneShotKey)('isolation-failed', agentId, task.projectId ?? '', taskId, (recovery.detail ?? '').slice(0, 60)),
|
|
259
|
+
scope: { taskId },
|
|
260
|
+
body: `**I could not start this task.** I could not create an isolated working tree for it (${recovery.detail ?? 'unknown error'}), and I will not fall back to your linked folder — an agent must never write to your working branch.\n\n` +
|
|
261
|
+
`The task has been left untouched. Fix the problem above and re-run it.`,
|
|
262
|
+
log: (m) => log(m),
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
catch (err) {
|
|
266
|
+
log(`[isolation] isolation-failure comment failed: ${(0, config_1.msg)(err)}`, 'stderr');
|
|
267
|
+
}
|
|
268
|
+
(0, diagnostics_1.reportDiagnosticSafe)({
|
|
269
|
+
kind: 'wake_failure',
|
|
270
|
+
severity: 'error',
|
|
271
|
+
agentId,
|
|
272
|
+
errorCode: 'ISOLATION_UNAVAILABLE',
|
|
273
|
+
message: `run for task ${taskId} could not get an isolated working tree (${recovery.detail ?? 'rebuild failed'}) - the run was FAILED rather than degraded into the linked folder`,
|
|
274
|
+
includeDoctor: true,
|
|
275
|
+
});
|
|
276
|
+
exitCode = 1;
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
204
280
|
// IMP-950: announce occupancy for arbitration visibility.
|
|
205
281
|
presenceCwd = cwd;
|
|
206
282
|
(0, presence_1.registerPresence)(cwd, { agentId, kind: 'task', taskId });
|
|
@@ -603,6 +679,11 @@ async function cmdRun(flags) {
|
|
|
603
679
|
const stashSummary = (0, git_runner_1.formatStashSummary)(stashResults, orphanStashes);
|
|
604
680
|
if (stashSummary)
|
|
605
681
|
summary += `\n\n${stashSummary}`;
|
|
682
|
+
if (mirrorQuarantined) {
|
|
683
|
+
summary +=
|
|
684
|
+
`\n\n**Isolation note:** the dispatched mirror was gone when this run started, so it was rebuilt. ` +
|
|
685
|
+
`Unrecognised remains were parked at \`${mirrorQuarantined}\` (nothing was deleted) - delete it by hand once you have confirmed nothing in it is needed.`;
|
|
686
|
+
}
|
|
606
687
|
if (!noReport)
|
|
607
688
|
await (0, brief_1.postClosingComment)(api, taskId, summary);
|
|
608
689
|
// Deterministic mention close (2026-09): a TASK COMMENT mention runs as a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../../src/cli/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Lock age past which a sessionless busy lock is reaped (default 30 min). */
|
|
2
|
+
export declare const STALE_BUSY_REAP_AFTER_MS: number;
|
|
3
|
+
/** How often the daemon runs the reaper per agent. */
|
|
4
|
+
export declare const STALE_BUSY_REAP_INTERVAL_MS: number;
|
|
5
|
+
export type StaleBusyOutcome = 'idle' | 'kept-live-session' | 'kept-young' | 'kept-not-busy' | 'kept-node-or-unknown' | 'cleared';
|
|
6
|
+
export interface StaleBusyDeps {
|
|
7
|
+
agentId: string;
|
|
8
|
+
hasLiveSession: () => boolean;
|
|
9
|
+
pushState: () => void;
|
|
10
|
+
log?: (message: string) => void;
|
|
11
|
+
nowMs?: () => number;
|
|
12
|
+
reapAfterMs?: number;
|
|
13
|
+
readLockFn?: (agentId: string) => {
|
|
14
|
+
pid: number;
|
|
15
|
+
startedAt: string;
|
|
16
|
+
} | null;
|
|
17
|
+
busyFn?: (agentId: string) => boolean;
|
|
18
|
+
clearLockFn?: (agentId: string) => void;
|
|
19
|
+
/** Image name for a pid, or null when unlistable/unknown. */
|
|
20
|
+
imageForPid?: (pid: number) => string | null;
|
|
21
|
+
}
|
|
22
|
+
export declare function reapStaleBusyLock(deps: StaleBusyDeps): StaleBusyOutcome;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.STALE_BUSY_REAP_INTERVAL_MS = exports.STALE_BUSY_REAP_AFTER_MS = void 0;
|
|
4
|
+
exports.reapStaleBusyLock = reapStaleBusyLock;
|
|
5
|
+
/**
|
|
6
|
+
* Stale-busy reaper (2026-10).
|
|
7
|
+
*
|
|
8
|
+
* THE BUG THIS EXISTS FOR
|
|
9
|
+
* -----------------------
|
|
10
|
+
* The console showed `Busy · task session since 42m ago` forever although no
|
|
11
|
+
* session was running. Chain, every link individually "correct":
|
|
12
|
+
*
|
|
13
|
+
* 1. A run died without its `finally` (`taskkill /F`, reboot, kill between
|
|
14
|
+
* harness exit and cleanup), leaving `~/.teamshare/locks/<agentId>.lock`.
|
|
15
|
+
* 2. The lock's pid number was later recycled by a FOREIGN process, so
|
|
16
|
+
* `pidAlive()` reads true and `isLockBusy()` asserts busy with the
|
|
17
|
+
* ORIGINAL `startedAt` (hence `since` frozen 42m back).
|
|
18
|
+
* 3. The daemon's 60 s `pushState` re-pushes `busy:true`, which refreshes
|
|
19
|
+
* the hub's 5-min TTL — so `GET /agents/:id/state` never goes idle.
|
|
20
|
+
* 4. Every hub self-heal (working-sync, orphan sweep) defers to exactly
|
|
21
|
+
* that signal while the daemon heartbeats. Three sweeps, all correctly
|
|
22
|
+
* deciding "the agent says it's working" — off one stale file.
|
|
23
|
+
*
|
|
24
|
+
* REAP RULE (all must hold; otherwise hands off):
|
|
25
|
+
* - the lock file parses with a numeric pid;
|
|
26
|
+
* - the agent has NO live relay session (a live session means real work —
|
|
27
|
+
* including a daemon restart mid-run, where the relay is empty but the
|
|
28
|
+
* CLI child survived; the image check below would still save us, but the
|
|
29
|
+
* session check short-circuits first);
|
|
30
|
+
* - the lock is older than STALE_BUSY_REAP_AFTER_MS (default 30 min; long
|
|
31
|
+
* builds always have a live session, so they never qualify);
|
|
32
|
+
* - busy is actually asserted (`isLockBusy` — a dead pid already reads
|
|
33
|
+
* idle and needs no reaping);
|
|
34
|
+
* - the holder pid resolves to a NON-node image (recycled by a foreign
|
|
35
|
+
* process). `node`/`node.exe`, an empty name, or an unlistable table
|
|
36
|
+
* means "could be ours" — hands off, fail-closed.
|
|
37
|
+
*
|
|
38
|
+
* Clearing removes only OUR lock FILE and pushes state; it NEVER kills by
|
|
39
|
+
* pid (see the kill-identity guards — a recycled pid must never be
|
|
40
|
+
* signalled). The next `pushState` then reports idle and the hub TTL +
|
|
41
|
+
* console clear on their own.
|
|
42
|
+
*/
|
|
43
|
+
const lock_1 = require("./lock");
|
|
44
|
+
const process_tree_1 = require("./process-tree");
|
|
45
|
+
/** Lock age past which a sessionless busy lock is reaped (default 30 min). */
|
|
46
|
+
exports.STALE_BUSY_REAP_AFTER_MS = Number(process.env.TEAMSHARE_STALE_BUSY_MS) || 30 * 60 * 1000;
|
|
47
|
+
/** How often the daemon runs the reaper per agent. */
|
|
48
|
+
exports.STALE_BUSY_REAP_INTERVAL_MS = 5 * 60 * 1000;
|
|
49
|
+
function defaultImageForPid(pid) {
|
|
50
|
+
try {
|
|
51
|
+
const tree = (0, process_tree_1.listProcessTree)();
|
|
52
|
+
if (!tree)
|
|
53
|
+
return null;
|
|
54
|
+
const node = tree.find((n) => n.pid === pid);
|
|
55
|
+
// Absent from the table while kill-0 says alive = unknown, not foreign.
|
|
56
|
+
return node ? node.image : null;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function isNodeImage(image) {
|
|
63
|
+
const parts = image.split(/[\\/]/);
|
|
64
|
+
const base = (parts.pop() ?? '').toLowerCase();
|
|
65
|
+
return base === 'node' || base === 'node.exe';
|
|
66
|
+
}
|
|
67
|
+
function reapStaleBusyLock(deps) {
|
|
68
|
+
const now = (deps.nowMs ?? Date.now)();
|
|
69
|
+
const lock = (deps.readLockFn ?? lock_1.readLock)(deps.agentId);
|
|
70
|
+
if (!lock || typeof lock.pid !== 'number')
|
|
71
|
+
return 'idle';
|
|
72
|
+
if (deps.hasLiveSession())
|
|
73
|
+
return 'kept-live-session';
|
|
74
|
+
const age = now - new Date(lock.startedAt).getTime();
|
|
75
|
+
const after = deps.reapAfterMs ?? exports.STALE_BUSY_REAP_AFTER_MS;
|
|
76
|
+
if (!Number.isFinite(age) || age < after)
|
|
77
|
+
return 'kept-young';
|
|
78
|
+
const busy = deps.busyFn ?? lock_1.isLockBusy;
|
|
79
|
+
if (!busy(deps.agentId))
|
|
80
|
+
return 'kept-not-busy';
|
|
81
|
+
const image = (deps.imageForPid ?? defaultImageForPid)(lock.pid);
|
|
82
|
+
if (!image || isNodeImage(image))
|
|
83
|
+
return 'kept-node-or-unknown';
|
|
84
|
+
(deps.clearLockFn ?? lock_1.clearLock)(deps.agentId);
|
|
85
|
+
try {
|
|
86
|
+
deps.pushState();
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
/* best-effort */
|
|
90
|
+
}
|
|
91
|
+
deps.log?.(`agent ${deps.agentId}: reaped stale busy lock ` +
|
|
92
|
+
`(pid ${lock.pid} is ${image}, no live session, ` +
|
|
93
|
+
`age ${Math.round(age / 60000)}m)`);
|
|
94
|
+
return 'cleared';
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=stale-busy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stale-busy.js","sourceRoot":"","sources":["../../src/lib/stale-busy.ts"],"names":[],"mappings":"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"}
|
|
@@ -74,6 +74,18 @@ export declare function markMirrorHandedTo(taskId: string, info: {
|
|
|
74
74
|
pid: number;
|
|
75
75
|
kind?: string;
|
|
76
76
|
}): void;
|
|
77
|
+
/**
|
|
78
|
+
* Heartbeat for a dispatched-but-waiting session (2026-10).
|
|
79
|
+
*
|
|
80
|
+
* A CLI spawned into a mirror can wait on the agent lock for a long time
|
|
81
|
+
* (several sessions, one agent) before it ever reaches `claimMirrorForSession`.
|
|
82
|
+
* During that whole wait the lease reads "never handed to anyone, ageing since
|
|
83
|
+
* creation" - indistinguishable from an orphan - so a sweep reaps a tree whose
|
|
84
|
+
* session is already on its way. Touching `lastActivityAt` while waiting keeps
|
|
85
|
+
* the reclaim clock (30-min grace when the field exists) moving with the waiter.
|
|
86
|
+
* No-op when the lease is gone; never throws.
|
|
87
|
+
*/
|
|
88
|
+
export declare function touchMirrorLease(taskId: string): void;
|
|
77
89
|
export declare function markMirrorKeptForRetry(taskId: string, reason?: string): void;
|
|
78
90
|
/**
|
|
79
91
|
* A retry took over a dead run's tree.
|
|
@@ -6,6 +6,7 @@ exports.writeMirrorLease = writeMirrorLease;
|
|
|
6
6
|
exports.patchMirrorLease = patchMirrorLease;
|
|
7
7
|
exports.deleteMirrorLease = deleteMirrorLease;
|
|
8
8
|
exports.markMirrorHandedTo = markMirrorHandedTo;
|
|
9
|
+
exports.touchMirrorLease = touchMirrorLease;
|
|
9
10
|
exports.markMirrorKeptForRetry = markMirrorKeptForRetry;
|
|
10
11
|
exports.markMirrorAdopted = markMirrorAdopted;
|
|
11
12
|
exports.listMirrorLeases = listMirrorLeases;
|
|
@@ -139,6 +140,20 @@ function markMirrorHandedTo(taskId, info) {
|
|
|
139
140
|
lastActivityAt: now,
|
|
140
141
|
});
|
|
141
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Heartbeat for a dispatched-but-waiting session (2026-10).
|
|
145
|
+
*
|
|
146
|
+
* A CLI spawned into a mirror can wait on the agent lock for a long time
|
|
147
|
+
* (several sessions, one agent) before it ever reaches `claimMirrorForSession`.
|
|
148
|
+
* During that whole wait the lease reads "never handed to anyone, ageing since
|
|
149
|
+
* creation" - indistinguishable from an orphan - so a sweep reaps a tree whose
|
|
150
|
+
* session is already on its way. Touching `lastActivityAt` while waiting keeps
|
|
151
|
+
* the reclaim clock (30-min grace when the field exists) moving with the waiter.
|
|
152
|
+
* No-op when the lease is gone; never throws.
|
|
153
|
+
*/
|
|
154
|
+
function touchMirrorLease(taskId) {
|
|
155
|
+
patchMirrorLease(taskId, { lastActivityAt: new Date().toISOString() });
|
|
156
|
+
}
|
|
142
157
|
function markMirrorKeptForRetry(taskId, reason) {
|
|
143
158
|
patchMirrorLease(taskId, {
|
|
144
159
|
keptForRetry: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mirror-lease.js","sourceRoot":"","sources":["../../../src/lib/workspace/mirror-lease.ts"],"names":[],"mappings":";;;AA+IA,0CAUC;AAED,4CAwBC;AAGD,4CASC;AAED,8CAOC;AAED,gDAUC;AAED,wDAgBC;AAWD,8CAeC;AAGD,4CAmBC;AAUD,8CAOC;AA0CD,4DAYC;
|
|
1
|
+
{"version":3,"file":"mirror-lease.js","sourceRoot":"","sources":["../../../src/lib/workspace/mirror-lease.ts"],"names":[],"mappings":"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"}
|
|
@@ -224,6 +224,52 @@ export declare function createIsolationMirror(folder: string, seed: string, agen
|
|
|
224
224
|
*/
|
|
225
225
|
deliverableBranch?: string | null;
|
|
226
226
|
}): Promise<MirrorOutcome>;
|
|
227
|
+
/**
|
|
228
|
+
* Rebuild-on-arrival (2026-10): a session dispatched into a mirror that no
|
|
229
|
+
* longer exists gets a WORKING tree, not a downgrade and not a run in the
|
|
230
|
+
* linked folder.
|
|
231
|
+
*
|
|
232
|
+
* The observed case: the daemon builds `taskrun-<taskId>`, the CLI waits on
|
|
233
|
+
* the agent lock behind a live session, and by the time it starts the tree is
|
|
234
|
+
* gone (swept, cleaned, or deleted by hand) - an empty shell with a mirror's
|
|
235
|
+
* name, no marker, no git repo. `git-prepare` used to downgrade that to
|
|
236
|
+
* `mirror-destroyed` and the harness ran anyway, escaping via absolute paths
|
|
237
|
+
* into the human's branch.
|
|
238
|
+
*
|
|
239
|
+
* Rules:
|
|
240
|
+
* - marker present -> nothing to do (the live path, zero cost);
|
|
241
|
+
* - corpse triage: a MISSING or EMPTY shell is removed; a NON-EMPTY shell of
|
|
242
|
+
* unknown provenance is QUARANTINED (`<path>.abandoned-<ts>`), never
|
|
243
|
+
* deleted - its bytes may be a dead run's only copy;
|
|
244
|
+
* - rebuild is attempted EXACTLY ONCE via `createIsolationMirror` with the
|
|
245
|
+
* same task id/branches, so the path stays deterministic and a retry still
|
|
246
|
+
* adopts it; any failure is terminal for the caller (abort, don't degrade);
|
|
247
|
+
* - the previous tree's uncommitted remainder is declared unrecoverable
|
|
248
|
+
* out loud when the lease says there was one - a rebuild continues from
|
|
249
|
+
* the task branch, it never pretends the files survived.
|
|
250
|
+
*/
|
|
251
|
+
export interface MirrorRecovery {
|
|
252
|
+
ok: boolean;
|
|
253
|
+
rebuilt: boolean;
|
|
254
|
+
/** Where unknown corpse content was parked (only when quarantined). */
|
|
255
|
+
quarantined?: string;
|
|
256
|
+
/** Why the rebuild was refused/failed (only when `ok` is false). */
|
|
257
|
+
detail?: string;
|
|
258
|
+
}
|
|
259
|
+
export declare function ensureLiveMirror(opts: {
|
|
260
|
+
/** The dispatched working directory (must be the task's own mirror path). */
|
|
261
|
+
cwd: string;
|
|
262
|
+
/** Mirror seed (task id for task-scoped runs). */
|
|
263
|
+
seed: string;
|
|
264
|
+
agentId?: string;
|
|
265
|
+
projectId?: string | null;
|
|
266
|
+
taskId?: string;
|
|
267
|
+
/** Branch to base the rebuilt tree on (the task's own branch for retries). */
|
|
268
|
+
baseBranch?: string | null;
|
|
269
|
+
/** Branch the rebuilt run delivers on. */
|
|
270
|
+
deliverableBranch?: string | null;
|
|
271
|
+
log?: (text: string) => void;
|
|
272
|
+
}): Promise<MirrorRecovery>;
|
|
227
273
|
/**
|
|
228
274
|
* Claim a mirror for THIS session (called by the spawned CLI on start).
|
|
229
275
|
* Records the pid in the lease so a second wake can tell "someone is working
|