@sentropic/h2a-runtime 0.90.1 → 0.90.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/index.d.ts +16 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +131 -20
- package/dist/index.js.map +1 -1
- package/dist/proc-cpu.d.ts +44 -0
- package/dist/proc-cpu.d.ts.map +1 -1
- package/dist/proc-cpu.js +84 -2
- package/dist/proc-cpu.js.map +1 -1
- package/dist/relaunch.d.ts +32 -1
- package/dist/relaunch.d.ts.map +1 -1
- package/dist/relaunch.js +93 -0
- package/dist/relaunch.js.map +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +0 -3
- package/dist/run.js.map +1 -1
- package/dist/session-lease.d.ts +83 -4
- package/dist/session-lease.d.ts.map +1 -1
- package/dist/session-lease.js +197 -6
- package/dist/session-lease.js.map +1 -1
- package/dist/tmux.d.ts +45 -0
- package/dist/tmux.d.ts.map +1 -1
- package/dist/tmux.js +111 -1
- package/dist/tmux.js.map +1 -1
- package/package.json +2 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-lease.d.ts","sourceRoot":"","sources":["../src/session-lease.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;
|
|
1
|
+
{"version":3,"file":"session-lease.d.ts","sourceRoot":"","sources":["../src/session-lease.ts"],"names":[],"mappings":"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"}
|
package/dist/session-lease.js
CHANGED
|
@@ -74,6 +74,8 @@ export const DEFAULT_SESSION_LEASE_TTL_MS = 30 * 60_000;
|
|
|
74
74
|
* PROPOSED for reclamation to a human or conductor, who can still see it.
|
|
75
75
|
*/
|
|
76
76
|
export const DEFAULT_WORKING_CPU_MS_PER_SECOND = 75;
|
|
77
|
+
/** Maximum time a token-holder may keep a lease in the relaunch gap. */
|
|
78
|
+
export const DEFAULT_RESOLVING_BOUND_MS = 60_000;
|
|
77
79
|
/** Rejected lease operation (wrong token, absent lease, subject already held). */
|
|
78
80
|
export class SessionLeaseError extends Error {
|
|
79
81
|
constructor(message) {
|
|
@@ -89,6 +91,61 @@ export class SessionLeaseError extends Error {
|
|
|
89
91
|
export function isSessionLeaseAbandoned(lease, now) {
|
|
90
92
|
return Date.parse(now) - Date.parse(lease.heartbeatAt) > lease.ttlMs;
|
|
91
93
|
}
|
|
94
|
+
function workerRecord(worker) {
|
|
95
|
+
return worker !== undefined && worker !== "resolving" ? worker : undefined;
|
|
96
|
+
}
|
|
97
|
+
function processStartTime(procView, pid) {
|
|
98
|
+
if (Array.isArray(procView.processes)) {
|
|
99
|
+
return procView.processes.find((process) => process.pid === pid)?.startTime;
|
|
100
|
+
}
|
|
101
|
+
return procView.processes.get(pid)
|
|
102
|
+
?.startTime;
|
|
103
|
+
}
|
|
104
|
+
/** True when a present worker is contradicted by the current boot/proc view. */
|
|
105
|
+
export function workerDisproven(lease, procView, now) {
|
|
106
|
+
if (lease.worker === undefined)
|
|
107
|
+
return false; // R1: absent is UNKNOWN.
|
|
108
|
+
if (lease.worker === "resolving") {
|
|
109
|
+
// Resolving is safe only inside its own bounded window. When no instant is
|
|
110
|
+
// supplied, direct callers can still inspect the state without introducing
|
|
111
|
+
// an implicit clock; isSessionLeaseAlive always supplies `now`.
|
|
112
|
+
if (now === undefined)
|
|
113
|
+
return false;
|
|
114
|
+
const started = Date.parse(lease.relaunchStartedAt ?? "");
|
|
115
|
+
const bound = lease.resolvingBoundMs;
|
|
116
|
+
return (!Number.isFinite(started) ||
|
|
117
|
+
typeof bound !== "number" ||
|
|
118
|
+
!Number.isFinite(bound) ||
|
|
119
|
+
bound < 0 ||
|
|
120
|
+
Date.parse(now) - started > bound);
|
|
121
|
+
}
|
|
122
|
+
if (procView === undefined)
|
|
123
|
+
return false; // Unknown evidence is not disproof.
|
|
124
|
+
if (!procView.currentBootId)
|
|
125
|
+
return false; // /proc unavailable is UNKNOWN.
|
|
126
|
+
if (lease.worker.bootId !== procView.currentBootId)
|
|
127
|
+
return true;
|
|
128
|
+
const startTime = processStartTime(procView, lease.worker.pid);
|
|
129
|
+
return startTime === undefined || startTime !== lease.worker.startTime;
|
|
130
|
+
}
|
|
131
|
+
/** The one liveness projection used by slot and reclaim readers. */
|
|
132
|
+
export function isSessionLeaseAlive(lease, procView, now) {
|
|
133
|
+
return !isSessionLeaseAbandoned(lease, now) && !workerDisproven(lease, procView, now);
|
|
134
|
+
}
|
|
135
|
+
export function isSessionLeaseDeadBoot(lease, procView) {
|
|
136
|
+
const worker = workerRecord(lease.worker);
|
|
137
|
+
return (worker !== undefined &&
|
|
138
|
+
procView !== undefined &&
|
|
139
|
+
procView.currentBootId !== "" &&
|
|
140
|
+
worker.bootId !== procView.currentBootId);
|
|
141
|
+
}
|
|
142
|
+
export function isSessionLeaseContested(lease, procView, now) {
|
|
143
|
+
return workerDisproven(lease, procView, now) && !isSessionLeaseDeadBoot(lease, procView);
|
|
144
|
+
}
|
|
145
|
+
/** Pure slot counter; every count goes through the same liveness predicate. */
|
|
146
|
+
export function countLiveSessionLeases(leases, procView, now) {
|
|
147
|
+
return leases.filter((lease) => isSessionLeaseAlive(lease, procView, now)).length;
|
|
148
|
+
}
|
|
92
149
|
/**
|
|
93
150
|
* CPU rate (ms of CPU per second of wall clock) between the lease's last
|
|
94
151
|
* observation and `cpuMsNow` taken at `now`. Undefined when there is no prior
|
|
@@ -127,10 +184,15 @@ export function decideSessionBeat(input) {
|
|
|
127
184
|
* that still beats — is structurally excluded: the only filter is
|
|
128
185
|
* `isSessionLeaseAbandoned`, so a beating session can never appear here. PURE.
|
|
129
186
|
*/
|
|
130
|
-
export function reclaimProposals(leases, now) {
|
|
187
|
+
export function reclaimProposals(leases, now, procView) {
|
|
131
188
|
const nowMs = Date.parse(now);
|
|
132
189
|
return leases
|
|
133
|
-
.filter((lease) =>
|
|
190
|
+
.filter((lease) => {
|
|
191
|
+
// R3: a prior-boot corpse is reaped by the auditor and never proposed.
|
|
192
|
+
if (isSessionLeaseDeadBoot(lease, procView))
|
|
193
|
+
return false;
|
|
194
|
+
return !isSessionLeaseAlive(lease, procView, now);
|
|
195
|
+
})
|
|
134
196
|
.map((lease) => {
|
|
135
197
|
const idleMs = nowMs - Date.parse(lease.heartbeatAt);
|
|
136
198
|
const proposal = {
|
|
@@ -140,6 +202,10 @@ export function reclaimProposals(leases, now) {
|
|
|
140
202
|
ttlMs: lease.ttlMs,
|
|
141
203
|
heartbeatAt: lease.heartbeatAt,
|
|
142
204
|
};
|
|
205
|
+
if (isSessionLeaseContested(lease, procView, now))
|
|
206
|
+
proposal.reason = "contested";
|
|
207
|
+
else
|
|
208
|
+
proposal.reason = "abandoned";
|
|
143
209
|
return proposal;
|
|
144
210
|
})
|
|
145
211
|
.sort((a, b) => b.idleMs - a.idleMs);
|
|
@@ -161,6 +227,22 @@ export function planLeaseSupervision(leases, sessions) {
|
|
|
161
227
|
};
|
|
162
228
|
});
|
|
163
229
|
}
|
|
230
|
+
/** Pure read-back auditor projection over one tmux and one /proc snapshot. */
|
|
231
|
+
export function auditSessionLeaseFleet(sessions, leases, statusSurfaces, procView, now) {
|
|
232
|
+
const surfaces = new Map(statusSurfaces.map((surface) => [surface.sessionName, surface.marker]));
|
|
233
|
+
const missingStatusSurface = sessions
|
|
234
|
+
.filter((session) => {
|
|
235
|
+
const live = session.jobState !== "done" && session.jobState !== "failed";
|
|
236
|
+
return live && session.tmuxSession !== undefined && surfaces.get(session.tmuxSession) !== "v1";
|
|
237
|
+
})
|
|
238
|
+
.map((session) => session.sessionId);
|
|
239
|
+
const deadBoot = leases
|
|
240
|
+
.filter((lease) => isSessionLeaseDeadBoot(lease, procView))
|
|
241
|
+
.map((lease) => lease.sessionId);
|
|
242
|
+
const dead = new Set(deadBoot);
|
|
243
|
+
const contested = reclaimProposals(leases, now, procView).filter((proposal) => proposal.reason === "contested" && !dead.has(proposal.sessionId));
|
|
244
|
+
return { missingStatusSurface, contested, deadBoot };
|
|
245
|
+
}
|
|
164
246
|
/** Machine-scoped path of the session-lease side-store (beside `registry.json`). */
|
|
165
247
|
export function resolveSessionLeasePath() {
|
|
166
248
|
return join(resolveConfigDir(), "session-leases.json");
|
|
@@ -190,9 +272,9 @@ export class SessionLeaseStore {
|
|
|
190
272
|
forSession(sessionId) {
|
|
191
273
|
return this.readAll().find((lease) => lease.sessionId === sessionId);
|
|
192
274
|
}
|
|
193
|
-
/** The leases
|
|
194
|
-
abandoned(now) {
|
|
195
|
-
return this.readAll().filter((lease) =>
|
|
275
|
+
/** The leases not alive at `now`, using the shared reader predicate. */
|
|
276
|
+
abandoned(now, procView) {
|
|
277
|
+
return this.readAll().filter((lease) => !isSessionLeaseAlive(lease, procView, now));
|
|
196
278
|
}
|
|
197
279
|
/**
|
|
198
280
|
* Take the slot for `sessionId`. Rejects when a LIVE lease already covers it
|
|
@@ -223,6 +305,7 @@ export class SessionLeaseStore {
|
|
|
223
305
|
...(input.cpuMs !== undefined
|
|
224
306
|
? { sample: { cpuMs: input.cpuMs, sampledAt: now } }
|
|
225
307
|
: {}),
|
|
308
|
+
...(input.worker !== undefined ? { worker: input.worker } : {}),
|
|
226
309
|
};
|
|
227
310
|
const next = all.filter((l) => l.sessionId !== input.sessionId);
|
|
228
311
|
next.push(lease);
|
|
@@ -262,6 +345,79 @@ export class SessionLeaseStore {
|
|
|
262
345
|
sample: { cpuMs: input.cpuMs, sampledAt: this.clock() },
|
|
263
346
|
}));
|
|
264
347
|
}
|
|
348
|
+
/** Lazily migrate a legacy lease once a supervising pass can resolve its worker. */
|
|
349
|
+
populateWorker(input) {
|
|
350
|
+
return this.mutate(input.sessionId, input.token, "populate worker", (lease) => {
|
|
351
|
+
const next = { ...lease, worker: input.worker };
|
|
352
|
+
if (lease.worker === "resolving") {
|
|
353
|
+
delete next.relaunchStartedAt;
|
|
354
|
+
delete next.resolvingBoundMs;
|
|
355
|
+
}
|
|
356
|
+
return next;
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
/** Begin the bounded token-guarded relaunch window. */
|
|
360
|
+
beginRelaunch(input) {
|
|
361
|
+
return this.mutate(input.sessionId, input.token, "begin relaunch", (lease) => {
|
|
362
|
+
const bound = input.resolvingBoundMs ?? DEFAULT_RESOLVING_BOUND_MS;
|
|
363
|
+
if (!Number.isFinite(bound) || bound < 0) {
|
|
364
|
+
throw new SessionLeaseError("session-lease: resolvingBoundMs must be finite and non-negative");
|
|
365
|
+
}
|
|
366
|
+
return {
|
|
367
|
+
...lease,
|
|
368
|
+
worker: "resolving",
|
|
369
|
+
relaunchStartedAt: this.clock(),
|
|
370
|
+
resolvingBoundMs: bound,
|
|
371
|
+
};
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
/** Complete the same-act relaunch with the newly resolved worker identity. */
|
|
375
|
+
finishRelaunch(input) {
|
|
376
|
+
return this.mutate(input.sessionId, input.token, "finish relaunch", (lease) => {
|
|
377
|
+
const next = { ...lease, worker: input.worker };
|
|
378
|
+
delete next.relaunchStartedAt;
|
|
379
|
+
delete next.resolvingBoundMs;
|
|
380
|
+
return next;
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Run a relaunch and re-resolve the worker under the holder's token. If the
|
|
385
|
+
* process is not visible immediately, the bounded `resolving` state remains
|
|
386
|
+
* on disk and becomes reclaimable after its bound.
|
|
387
|
+
*/
|
|
388
|
+
relaunch(input) {
|
|
389
|
+
this.beginRelaunch(input);
|
|
390
|
+
let acted = false;
|
|
391
|
+
try {
|
|
392
|
+
acted = input.act();
|
|
393
|
+
}
|
|
394
|
+
catch {
|
|
395
|
+
acted = false;
|
|
396
|
+
}
|
|
397
|
+
if (!acted) {
|
|
398
|
+
const lease = this.forSession(input.sessionId);
|
|
399
|
+
if (!lease)
|
|
400
|
+
throw new SessionLeaseError(`session-lease: relaunch lease disappeared for ${input.sessionId}`);
|
|
401
|
+
return { succeeded: false, lease };
|
|
402
|
+
}
|
|
403
|
+
let worker;
|
|
404
|
+
try {
|
|
405
|
+
worker = input.resolveWorker();
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
worker = undefined;
|
|
409
|
+
}
|
|
410
|
+
if (worker === undefined) {
|
|
411
|
+
const lease = this.forSession(input.sessionId);
|
|
412
|
+
if (!lease)
|
|
413
|
+
throw new SessionLeaseError(`session-lease: relaunch lease disappeared for ${input.sessionId}`);
|
|
414
|
+
return { succeeded: true, lease };
|
|
415
|
+
}
|
|
416
|
+
return {
|
|
417
|
+
succeeded: true,
|
|
418
|
+
lease: this.finishRelaunch({ sessionId: input.sessionId, token: input.token, worker }),
|
|
419
|
+
};
|
|
420
|
+
}
|
|
265
421
|
/** Give the slot back. Only the matching token is accepted. */
|
|
266
422
|
release(input) {
|
|
267
423
|
withFileLock(this.leasesPath, () => {
|
|
@@ -295,19 +451,54 @@ export class SessionLeaseStore {
|
|
|
295
451
|
return next;
|
|
296
452
|
});
|
|
297
453
|
}
|
|
454
|
+
/** Remove only leases proven to belong to a prior kernel boot. */
|
|
455
|
+
reapDeadBootLeases(procView) {
|
|
456
|
+
return withFileLock(this.leasesPath, () => {
|
|
457
|
+
const all = readLeaseFile(this.leasesPath);
|
|
458
|
+
const dead = all
|
|
459
|
+
.filter((lease) => isSessionLeaseDeadBoot(lease, procView))
|
|
460
|
+
.map((lease) => lease.sessionId);
|
|
461
|
+
if (dead.length === 0)
|
|
462
|
+
return dead;
|
|
463
|
+
const deadSet = new Set(dead);
|
|
464
|
+
writeLeaseFile(this.leasesPath, all.filter((lease) => !deadSet.has(lease.sessionId)));
|
|
465
|
+
return dead;
|
|
466
|
+
});
|
|
467
|
+
}
|
|
298
468
|
}
|
|
299
469
|
/** Shape guard — a torn or hand-edited row must not poison the whole store. */
|
|
300
470
|
function isSessionLease(value) {
|
|
301
471
|
if (typeof value !== "object" || value === null)
|
|
302
472
|
return false;
|
|
303
473
|
const lease = value;
|
|
474
|
+
const worker = lease.worker;
|
|
475
|
+
const validWorker = worker === undefined ||
|
|
476
|
+
worker === "resolving" ||
|
|
477
|
+
(typeof worker === "object" &&
|
|
478
|
+
worker !== null &&
|
|
479
|
+
Number.isInteger(worker.pid) &&
|
|
480
|
+
worker.pid > 0 &&
|
|
481
|
+
typeof worker.startTime === "string" &&
|
|
482
|
+
/^\d+$/.test(worker.startTime) &&
|
|
483
|
+
typeof worker.bootId === "string" &&
|
|
484
|
+
worker.bootId.length > 0);
|
|
485
|
+
const validResolvingWindow = (lease.relaunchStartedAt === undefined && lease.resolvingBoundMs === undefined) ||
|
|
486
|
+
(typeof lease.relaunchStartedAt === "string" &&
|
|
487
|
+
typeof lease.resolvingBoundMs === "number" &&
|
|
488
|
+
Number.isFinite(lease.resolvingBoundMs) &&
|
|
489
|
+
lease.resolvingBoundMs >= 0);
|
|
304
490
|
return (typeof lease.leaseId === "string" &&
|
|
305
491
|
typeof lease.sessionId === "string" &&
|
|
306
492
|
typeof lease.holder === "string" &&
|
|
307
493
|
typeof lease.acquiredAt === "string" &&
|
|
308
494
|
typeof lease.heartbeatAt === "string" &&
|
|
309
495
|
typeof lease.token === "string" &&
|
|
310
|
-
typeof lease.ttlMs === "number"
|
|
496
|
+
typeof lease.ttlMs === "number" &&
|
|
497
|
+
validWorker &&
|
|
498
|
+
validResolvingWindow &&
|
|
499
|
+
(worker === "resolving"
|
|
500
|
+
? lease.relaunchStartedAt !== undefined && lease.resolvingBoundMs !== undefined
|
|
501
|
+
: true));
|
|
311
502
|
}
|
|
312
503
|
/**
|
|
313
504
|
* Read + parse the store. A missing, empty or garbled file degrades to `[]` —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-lease.js","sourceRoot":"","sources":["../src/session-lease.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-lease.js","sourceRoot":"","sources":["../src/session-lease.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux.d.ts
CHANGED
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* the LOCAL terminal owns scrollback + copy (OSC52) with no WS proxy in the
|
|
11
11
|
* middle — this is what fixes "I can't copy the code claude printed".
|
|
12
12
|
*/
|
|
13
|
+
import { type ProcView, type ProcessObservation, type WorkerAttribution } from "./proc-cpu.js";
|
|
14
|
+
import { type RelaunchSafety } from "./relaunch.js";
|
|
13
15
|
import { type LaunchContext } from "./launch-context.js";
|
|
14
16
|
import { type SessionClass } from "./session-class.js";
|
|
15
17
|
import type { TunnelConfig } from "./config.js";
|
|
@@ -131,6 +133,23 @@ export declare function listLocalSessionsWithDiagnostics(): {
|
|
|
131
133
|
readonly known: boolean;
|
|
132
134
|
readonly reason?: string;
|
|
133
135
|
};
|
|
136
|
+
export type H2aStatusSurfaceRecord = {
|
|
137
|
+
readonly sessionName: string;
|
|
138
|
+
readonly marker?: string;
|
|
139
|
+
};
|
|
140
|
+
type FleetTmuxRunner = (command: string, args: string[], options: {
|
|
141
|
+
encoding: "utf8";
|
|
142
|
+
stdio: ["ignore", "pipe", "ignore"];
|
|
143
|
+
}) => {
|
|
144
|
+
status: number | null;
|
|
145
|
+
stdout?: string;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Read the status marker for the whole tmux fleet in one invocation. This is
|
|
149
|
+
* intentionally a FORMAT projection: show-options -A -t <session> is a
|
|
150
|
+
* per-target probe and recreates the process storm this auditor exists to fix.
|
|
151
|
+
*/
|
|
152
|
+
export declare function listH2aStatusSurfaces(run?: FleetTmuxRunner): H2aStatusSurfaceRecord[];
|
|
134
153
|
/** Compatibility reader used by existing callers that accept best-effort []. */
|
|
135
154
|
export declare function listLocalSessions(): LocalSession[];
|
|
136
155
|
/**
|
|
@@ -457,6 +476,23 @@ export declare function conductorRunning(): boolean;
|
|
|
457
476
|
* doubt returns false (treat as live → never disturbed).
|
|
458
477
|
*/
|
|
459
478
|
export declare function localSessionIdle(name: string): boolean;
|
|
479
|
+
export type RelaunchSafetyProbe = {
|
|
480
|
+
resolvePane?: (name: string) => string | undefined;
|
|
481
|
+
panePid?: (pane: string) => number | undefined;
|
|
482
|
+
paneCommand?: (pane: string) => string | undefined;
|
|
483
|
+
observe?: (pane: string) => ProcessObservation | undefined;
|
|
484
|
+
sleep?: (ms: number) => void;
|
|
485
|
+
now?: () => number;
|
|
486
|
+
};
|
|
487
|
+
/**
|
|
488
|
+
* Fail-closed liveness evidence for the relaunch path.
|
|
489
|
+
*
|
|
490
|
+
* `localSessionIdle` remains available to its other callers, but relaunch must
|
|
491
|
+
* not use its flaky child-count shellout. This probe uses the merged worker
|
|
492
|
+
* attribution and process-tree CPU signal instead. Any unreadable pane, worker,
|
|
493
|
+
* or CPU sample is deliberately projected to the hard skip floor.
|
|
494
|
+
*/
|
|
495
|
+
export declare function sessionRelaunchSafety(name: string, probe?: RelaunchSafetyProbe): RelaunchSafety;
|
|
460
496
|
export type LocalSessionGatewayEnvStatus = "current" | "missing" | "stale" | "unknown";
|
|
461
497
|
/**
|
|
462
498
|
* Inspect the real CLI child process under the tmux wrapper and compare its
|
|
@@ -519,6 +555,8 @@ export declare function capturePaneVisible(pane: string): string | undefined;
|
|
|
519
555
|
* tell a working agent from one parked on its placeholder.
|
|
520
556
|
*/
|
|
521
557
|
export declare function paneTreeCpuMs(pane: string): number | undefined;
|
|
558
|
+
/** CPU + worker identity from one /proc snapshot at acquire time. */
|
|
559
|
+
export declare function paneProcessObservation(pane: string): ProcessObservation | undefined;
|
|
522
560
|
/**
|
|
523
561
|
* The pid actually doing the work behind a pane.
|
|
524
562
|
*
|
|
@@ -528,6 +566,12 @@ export declare function paneTreeCpuMs(pane: string): number | undefined;
|
|
|
528
566
|
* is reading the wrong process, and gets a false answer in both directions.
|
|
529
567
|
*/
|
|
530
568
|
export declare function paneWorkerPid(pane: string): number | undefined;
|
|
569
|
+
/** Composite identity of the process actually doing the work behind a pane. */
|
|
570
|
+
export declare function paneWorkerAttribution(pane: string): WorkerAttribution | undefined;
|
|
571
|
+
/** Resolve a pane worker from a caller-owned fleet snapshot without another scan. */
|
|
572
|
+
export declare function paneWorkerAttributionFromView(pane: string, view: ProcView): WorkerAttribution | undefined;
|
|
573
|
+
/** One /proc scan for the fleet-wide auditor and supervising pass. */
|
|
574
|
+
export declare function readFleetProcView(): ProcView;
|
|
531
575
|
/**
|
|
532
576
|
* Attach the real terminal straight into the Pod's tmux session via
|
|
533
577
|
* `kubectl exec -it`. The local terminal talks to tmux directly (no WS proxy),
|
|
@@ -536,4 +580,5 @@ export declare function paneWorkerPid(pane: string): number | undefined;
|
|
|
536
580
|
* detach/exit; returns the kubectl exit status.
|
|
537
581
|
*/
|
|
538
582
|
export declare function attachPodTmux(tunnel: TunnelConfig, sessionId: string): number;
|
|
583
|
+
export {};
|
|
539
584
|
//# sourceMappingURL=tmux.d.ts.map
|
package/dist/tmux.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}
|
package/dist/tmux.js
CHANGED
|
@@ -17,7 +17,8 @@ import { defaultLocalH2aRoot } from "./h2a-bridge.js";
|
|
|
17
17
|
import { mkdtempSync, readFileSync, readdirSync, rmSync, statSync, unlinkSync, writeFileSync, } from "node:fs";
|
|
18
18
|
import { basename, join } from "node:path";
|
|
19
19
|
import { homedir, tmpdir } from "node:os";
|
|
20
|
-
import { readProcessTreeCpuMs, readWorkerPid } from "./proc-cpu.js";
|
|
20
|
+
import { readProcessObservation, readProcessTreeCpuMs, readProcView, readWorkerAttribution, readWorkerPid, resolveWorkerAttributionFromView, } from "./proc-cpu.js";
|
|
21
|
+
import { decideRelaunchSafety, } from "./relaunch.js";
|
|
21
22
|
import { LAUNCH_OPTION_PREFIX, buildLaunchContext, launchContextOptions, parseLaunchContext, redactSecrets, } from "./launch-context.js";
|
|
22
23
|
import { SESSION_CLASS_ENV } from "./session-class.js";
|
|
23
24
|
const TMUX = "tmux";
|
|
@@ -281,6 +282,31 @@ export function listLocalSessionsWithDiagnostics() {
|
|
|
281
282
|
}
|
|
282
283
|
return { sessions: out, known: true };
|
|
283
284
|
}
|
|
285
|
+
/**
|
|
286
|
+
* Read the status marker for the whole tmux fleet in one invocation. This is
|
|
287
|
+
* intentionally a FORMAT projection: show-options -A -t <session> is a
|
|
288
|
+
* per-target probe and recreates the process storm this auditor exists to fix.
|
|
289
|
+
*/
|
|
290
|
+
export function listH2aStatusSurfaces(run = spawnSync) {
|
|
291
|
+
const r = run(TMUX, ["list-sessions", "-F", "#{session_name} #{@h2a_status_surface}"], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
|
|
292
|
+
if (r.status !== 0 || !r.stdout)
|
|
293
|
+
return [];
|
|
294
|
+
const records = [];
|
|
295
|
+
for (const line of r.stdout.split("\n")) {
|
|
296
|
+
if (!line)
|
|
297
|
+
continue;
|
|
298
|
+
const separator = line.indexOf(" ");
|
|
299
|
+
if (separator === -1) {
|
|
300
|
+
records.push({ sessionName: line });
|
|
301
|
+
continue;
|
|
302
|
+
}
|
|
303
|
+
const sessionName = line.slice(0, separator);
|
|
304
|
+
const marker = line.slice(separator + 1).trim();
|
|
305
|
+
if (sessionName)
|
|
306
|
+
records.push({ sessionName, ...(marker ? { marker } : {}) });
|
|
307
|
+
}
|
|
308
|
+
return records;
|
|
309
|
+
}
|
|
284
310
|
/** Compatibility reader used by existing callers that accept best-effort []. */
|
|
285
311
|
export function listLocalSessions() {
|
|
286
312
|
return listLocalSessionsWithDiagnostics().sessions;
|
|
@@ -1610,6 +1636,65 @@ export function localSessionIdle(name) {
|
|
|
1610
1636
|
const kids = Number((children.stdout ?? "").trim());
|
|
1611
1637
|
return Number.isInteger(kids) && kids === 0;
|
|
1612
1638
|
}
|
|
1639
|
+
const RELAUNCH_LIVENESS_SAMPLE_MS = 250;
|
|
1640
|
+
function paneCurrentCommand(pane) {
|
|
1641
|
+
const result = spawnSync(TMUX, ["display", "-p", "-t", pane, "#{pane_current_command}"], { encoding: "utf8" });
|
|
1642
|
+
if (result.status !== 0 || result.stdout === undefined)
|
|
1643
|
+
return undefined;
|
|
1644
|
+
const command = result.stdout.trim();
|
|
1645
|
+
return command || undefined;
|
|
1646
|
+
}
|
|
1647
|
+
/**
|
|
1648
|
+
* Fail-closed liveness evidence for the relaunch path.
|
|
1649
|
+
*
|
|
1650
|
+
* `localSessionIdle` remains available to its other callers, but relaunch must
|
|
1651
|
+
* not use its flaky child-count shellout. This probe uses the merged worker
|
|
1652
|
+
* attribution and process-tree CPU signal instead. Any unreadable pane, worker,
|
|
1653
|
+
* or CPU sample is deliberately projected to the hard skip floor.
|
|
1654
|
+
*/
|
|
1655
|
+
export function sessionRelaunchSafety(name, probe = {}) {
|
|
1656
|
+
try {
|
|
1657
|
+
const resolvePane = probe.resolvePane ?? resolveAgentPane;
|
|
1658
|
+
const readPanePid = probe.panePid ?? localSessionPanePid;
|
|
1659
|
+
const readPaneCommand = probe.paneCommand ?? paneCurrentCommand;
|
|
1660
|
+
const observe = probe.observe ?? paneProcessObservation;
|
|
1661
|
+
const sleep = probe.sleep ?? sleepBlocking;
|
|
1662
|
+
const now = probe.now ?? Date.now;
|
|
1663
|
+
const pane = resolvePane(name);
|
|
1664
|
+
if (!pane) {
|
|
1665
|
+
return {
|
|
1666
|
+
idle: false,
|
|
1667
|
+
activelyWorking: true,
|
|
1668
|
+
reason: "liveness indeterminate: agent pane is unreadable",
|
|
1669
|
+
};
|
|
1670
|
+
}
|
|
1671
|
+
const panePid = readPanePid(pane);
|
|
1672
|
+
const paneCommand = readPaneCommand(pane);
|
|
1673
|
+
if (panePid === undefined || paneCommand === undefined) {
|
|
1674
|
+
return decideRelaunchSafety({ paneCommand, panePid });
|
|
1675
|
+
}
|
|
1676
|
+
const startedAt = now();
|
|
1677
|
+
const first = observe(pane);
|
|
1678
|
+
sleep(RELAUNCH_LIVENESS_SAMPLE_MS);
|
|
1679
|
+
const second = observe(pane);
|
|
1680
|
+
return decideRelaunchSafety({
|
|
1681
|
+
paneCommand,
|
|
1682
|
+
panePid,
|
|
1683
|
+
firstWorkerPid: first?.worker?.pid,
|
|
1684
|
+
secondWorkerPid: second?.worker?.pid,
|
|
1685
|
+
firstCpuMs: first?.cpuMs,
|
|
1686
|
+
secondCpuMs: second?.cpuMs,
|
|
1687
|
+
elapsedMs: now() - startedAt,
|
|
1688
|
+
});
|
|
1689
|
+
}
|
|
1690
|
+
catch {
|
|
1691
|
+
return {
|
|
1692
|
+
idle: false,
|
|
1693
|
+
activelyWorking: true,
|
|
1694
|
+
reason: "liveness indeterminate: worker/CPU probe failed",
|
|
1695
|
+
};
|
|
1696
|
+
}
|
|
1697
|
+
}
|
|
1613
1698
|
function directChildPids(pid) {
|
|
1614
1699
|
const children = spawnSync("ps", ["--ppid", String(pid), "-o", "pid="], {
|
|
1615
1700
|
encoding: "utf8",
|
|
@@ -1794,6 +1879,13 @@ export function paneTreeCpuMs(pane) {
|
|
|
1794
1879
|
return undefined;
|
|
1795
1880
|
return readProcessTreeCpuMs(pid, procReaderDeps());
|
|
1796
1881
|
}
|
|
1882
|
+
/** CPU + worker identity from one /proc snapshot at acquire time. */
|
|
1883
|
+
export function paneProcessObservation(pane) {
|
|
1884
|
+
const pid = localSessionPanePid(pane);
|
|
1885
|
+
if (pid === undefined)
|
|
1886
|
+
return undefined;
|
|
1887
|
+
return readProcessObservation(pid, procReaderDeps());
|
|
1888
|
+
}
|
|
1797
1889
|
/**
|
|
1798
1890
|
* The pid actually doing the work behind a pane.
|
|
1799
1891
|
*
|
|
@@ -1808,6 +1900,24 @@ export function paneWorkerPid(pane) {
|
|
|
1808
1900
|
return undefined;
|
|
1809
1901
|
return readWorkerPid(pid, procReaderDeps());
|
|
1810
1902
|
}
|
|
1903
|
+
/** Composite identity of the process actually doing the work behind a pane. */
|
|
1904
|
+
export function paneWorkerAttribution(pane) {
|
|
1905
|
+
const pid = localSessionPanePid(pane);
|
|
1906
|
+
if (pid === undefined)
|
|
1907
|
+
return undefined;
|
|
1908
|
+
return readWorkerAttribution(pid, procReaderDeps());
|
|
1909
|
+
}
|
|
1910
|
+
/** Resolve a pane worker from a caller-owned fleet snapshot without another scan. */
|
|
1911
|
+
export function paneWorkerAttributionFromView(pane, view) {
|
|
1912
|
+
const pid = localSessionPanePid(pane);
|
|
1913
|
+
if (pid === undefined)
|
|
1914
|
+
return undefined;
|
|
1915
|
+
return resolveWorkerAttributionFromView(pid, view);
|
|
1916
|
+
}
|
|
1917
|
+
/** One /proc scan for the fleet-wide auditor and supervising pass. */
|
|
1918
|
+
export function readFleetProcView() {
|
|
1919
|
+
return readProcView(procReaderDeps());
|
|
1920
|
+
}
|
|
1811
1921
|
function procReaderDeps() {
|
|
1812
1922
|
return {
|
|
1813
1923
|
listPids: () => {
|