@monotykamary/localterm-server 2.30.0 → 2.32.0
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/capture-renderer.d.ts +21 -0
- package/dist/capture-renderer.d.ts.map +1 -0
- package/dist/capture-renderer.js +160 -0
- package/dist/capture-renderer.js.map +1 -0
- package/dist/cdp/cdp-client.d.ts +58 -0
- package/dist/cdp/cdp-client.d.ts.map +1 -1
- package/dist/cdp/cdp-client.js +119 -3
- package/dist/cdp/cdp-client.js.map +1 -1
- package/dist/constants.d.ts +19 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +84 -0
- package/dist/constants.js.map +1 -1
- package/dist/daemon-config-store.d.ts.map +1 -1
- package/dist/daemon-config-store.js +1 -5
- package/dist/daemon-config-store.js.map +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +290 -6
- package/dist/index.js.map +1 -1
- package/dist/protocol.d.ts +3 -3
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +2 -2
- package/dist/protocol.js.map +1 -1
- package/dist/schemas.d.ts +139 -0
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +213 -1
- package/dist/schemas.js.map +1 -1
- package/dist/session-automation.d.ts +53 -0
- package/dist/session-automation.d.ts.map +1 -0
- package/dist/session-automation.js +230 -0
- package/dist/session-automation.js.map +1 -0
- package/dist/session-manager.d.ts +45 -0
- package/dist/session-manager.d.ts.map +1 -1
- package/dist/session-manager.js +352 -2
- package/dist/session-manager.js.map +1 -1
- package/dist/session.d.ts +2 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +19 -0
- package/dist/session.js.map +1 -1
- package/dist/types.d.ts +10 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/named-keys.d.ts +4 -0
- package/dist/utils/named-keys.d.ts.map +1 -0
- package/dist/utils/named-keys.js +82 -0
- package/dist/utils/named-keys.js.map +1 -0
- package/dist/utils/sgr-mouse.d.ts +13 -0
- package/dist/utils/sgr-mouse.d.ts.map +1 -0
- package/dist/utils/sgr-mouse.js +40 -0
- package/dist/utils/sgr-mouse.js.map +1 -0
- package/dist/utils/terminal-mode-state.d.ts +1 -0
- package/dist/utils/terminal-mode-state.d.ts.map +1 -1
- package/dist/utils/terminal-mode-state.js +13 -0
- package/dist/utils/terminal-mode-state.js.map +1 -1
- package/package.json +2 -1
package/dist/session-manager.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { randomBytes } from "node:crypto";
|
|
1
2
|
import path from "node:path";
|
|
2
|
-
import {
|
|
3
|
+
import { CaptureRenderer } from "./capture-renderer.js";
|
|
4
|
+
import { CAPTURE_PANE_MAX_LINES, EXEC_DEFAULT_OUTPUT_LIMIT_BYTES, EXEC_DEFAULT_TIMEOUT_MS, EXEC_EPHEMERAL_SCROLLBACK, EXEC_MAX_OUTPUT_LIMIT_BYTES, EXEC_MAX_TIMEOUT_MS, EXEC_RAW_ACCUMULATE_CAP_BYTES, EXEC_TIMEOUT_INTERRUPT_GRACE_MS, MAX_CONCURRENT_SESSIONS, MAX_OUTPUT_BYTES, OUTPUT_BATCH_FLUSH_BYTES, OUTPUT_BATCH_WINDOW_MS, SESSION_ACTIVITY_WINDOW_MS, SESSION_GRACE_MS, SESSION_PENDING_PROMOTE_TIMEOUT_MS, WAIT_IDLE_POLL_INTERVAL_MS, WS_BACKPRESSURE_THRESHOLD_BYTES, WS_CLOSE_BACKPRESSURE, WS_OUTBOUND_DRAIN_POLL_MS, WS_OUTBOUND_PAUSE_HIGH_WATER_BYTES, WS_OUTBOUND_RESUME_LOW_WATER_BYTES, WS_READY_STATE_OPEN, } from "./constants.js";
|
|
3
5
|
import { GitDiffWatcher, GIT_DIFF_WATCHER_EVENT_NAMES, } from "./git-diff-watcher.js";
|
|
4
6
|
import { GitMetadataCoordinator } from "./git-metadata-coordinator.js";
|
|
5
7
|
import { Session } from "./session.js";
|
|
8
|
+
import { resolveNamedKeys } from "./utils/named-keys.js";
|
|
6
9
|
import { getBufferedAmount } from "./utils/ws-socket.js";
|
|
7
10
|
// Owns every live PTY for the daemon's lifetime. A Session is created on spawn
|
|
8
11
|
// and stays here until its shell exits, it's explicitly killed, or its
|
|
@@ -42,7 +45,10 @@ export class SessionManager {
|
|
|
42
45
|
if (this.sessions.size < MAX_CONCURRENT_SESSIONS)
|
|
43
46
|
return false;
|
|
44
47
|
for (const managed of this.sessions.values()) {
|
|
45
|
-
|
|
48
|
+
// A dormant, non-pinned session can be evicted to make room. Pinned
|
|
49
|
+
// sessions hold their slots (never silently reaped), so a full cap of
|
|
50
|
+
// pinned sessions surfaces a real capacity error instead of a steal.
|
|
51
|
+
if (managed.clients.size === 0 && !managed.pinned)
|
|
46
52
|
return false;
|
|
47
53
|
}
|
|
48
54
|
return true;
|
|
@@ -77,6 +83,7 @@ export class SessionManager {
|
|
|
77
83
|
lastOutputAt: managed.lastOutputAt,
|
|
78
84
|
clients: managed.clients.size,
|
|
79
85
|
state: this.computeState(managed),
|
|
86
|
+
pinned: managed.pinned,
|
|
80
87
|
}));
|
|
81
88
|
}
|
|
82
89
|
// Every live PTY whose current cwd is inside `targetPath` (or equals it). A
|
|
@@ -154,6 +161,8 @@ export class SessionManager {
|
|
|
154
161
|
hasForeground: false,
|
|
155
162
|
graceTimer: null,
|
|
156
163
|
parkedAt: null,
|
|
164
|
+
pinned: false,
|
|
165
|
+
captureRenderer: undefined,
|
|
157
166
|
ptySizeCols: null,
|
|
158
167
|
ptySizeRows: null,
|
|
159
168
|
ptySizeWasMultiViewer: false,
|
|
@@ -348,6 +357,331 @@ export class SessionManager {
|
|
|
348
357
|
this.coordinatorsByCwd.clear();
|
|
349
358
|
this.lastOutputAtByPid.clear();
|
|
350
359
|
}
|
|
360
|
+
// Spawn a PTY with no attached WebSocket — the REST/CLI path (POST /api/sessions,
|
|
361
|
+
// `localterm session new`, the one-shot exec helper). `pinned` controls the
|
|
362
|
+
// idle-reap policy: a pinned session (the REST default) lives until explicitly
|
|
363
|
+
// killed or its shell exits; an unpinned one enters the no-clients grace window
|
|
364
|
+
// immediately (it has no viewer to detach from), matching a browser tab nobody
|
|
365
|
+
// opened. Returns the session id, or null at the capacity cap.
|
|
366
|
+
spawnDetached(input, pinned) {
|
|
367
|
+
const managed = this.spawn(input);
|
|
368
|
+
if (!managed)
|
|
369
|
+
return null;
|
|
370
|
+
managed.pinned = pinned;
|
|
371
|
+
// A detached session has no client to detach from, so arm the grace now (a
|
|
372
|
+
// no-op arm when pinned — startGrace parks it indefinitely instead).
|
|
373
|
+
if (managed.clients.size === 0 && !managed.session.isExited)
|
|
374
|
+
this.startGrace(managed);
|
|
375
|
+
return managed.id;
|
|
376
|
+
}
|
|
377
|
+
// Write input to a session by id — the REST/CLI send-keys path. Unlike the
|
|
378
|
+
// WebSocket `writeInput`, there's no pending-client handshake to promote; the
|
|
379
|
+
// bytes go straight to the PTY. Returns false for an unknown/exited session.
|
|
380
|
+
writeInputById(id, data) {
|
|
381
|
+
const managed = this.sessions.get(id);
|
|
382
|
+
if (!managed || managed.session.isExited)
|
|
383
|
+
return false;
|
|
384
|
+
managed.session.write(data);
|
|
385
|
+
return true;
|
|
386
|
+
}
|
|
387
|
+
// Resize a session by id — the REST/CLI resize path for detached sessions
|
|
388
|
+
// (those with no WebSocket client to drive recomputeResize). Also keeps the
|
|
389
|
+
// capture renderer's grid in sync. Returns false for an unknown/exited session.
|
|
390
|
+
resizeById(id, cols, rows) {
|
|
391
|
+
const managed = this.sessions.get(id);
|
|
392
|
+
if (!managed || managed.session.isExited)
|
|
393
|
+
return false;
|
|
394
|
+
managed.session.resize(cols, rows);
|
|
395
|
+
managed.captureRenderer?.resize(cols, rows);
|
|
396
|
+
return true;
|
|
397
|
+
}
|
|
398
|
+
// Read the session's rendered screen as clean text (ANSI processed by the
|
|
399
|
+
// headless emulator) — the tmux `capture-pane -p` equivalent. `lines` defaults
|
|
400
|
+
// to the visible viewport and may extend into scrollback up to
|
|
401
|
+
// CAPTURE_PANE_MAX_LINES. Returns null for an unknown/exited session. Awaits
|
|
402
|
+
// the renderer's pending writes so the read never lands before a parse.
|
|
403
|
+
async capturePane(id, lines) {
|
|
404
|
+
const managed = this.sessions.get(id);
|
|
405
|
+
if (!managed || managed.session.isExited)
|
|
406
|
+
return null;
|
|
407
|
+
const capped = lines && lines > 0 ? Math.min(lines, CAPTURE_PANE_MAX_LINES) : undefined;
|
|
408
|
+
const renderer = await this.ensureCaptureRenderer(managed);
|
|
409
|
+
return renderer.capture(capped);
|
|
410
|
+
}
|
|
411
|
+
// Toggle a session's pinned flag — PATCH /api/sessions/:id. Re-arms (or
|
|
412
|
+
// cancels) the grace timer live for a dormant session so the change takes
|
|
413
|
+
// effect immediately, not on the next detach. Returns false for an unknown id.
|
|
414
|
+
setPinned(id, pinned) {
|
|
415
|
+
const managed = this.sessions.get(id);
|
|
416
|
+
if (!managed)
|
|
417
|
+
return false;
|
|
418
|
+
managed.pinned = pinned;
|
|
419
|
+
if (managed.clients.size === 0 && !managed.session.isExited)
|
|
420
|
+
this.startGrace(managed);
|
|
421
|
+
return true;
|
|
422
|
+
}
|
|
423
|
+
// Rename a session — PATCH /api/sessions/:id. The shell's next OSC title or
|
|
424
|
+
// cwd-derived title overwrites it (as in tmux), but until then the picker and a
|
|
425
|
+
// fresh attach see the renamed title. Returns false for an unknown id.
|
|
426
|
+
setTitleById(id, title) {
|
|
427
|
+
const managed = this.sessions.get(id);
|
|
428
|
+
if (!managed)
|
|
429
|
+
return false;
|
|
430
|
+
managed.session.setTitle(title);
|
|
431
|
+
return true;
|
|
432
|
+
}
|
|
433
|
+
// Resolve space-separated named keys (`F2`, `Escape`, `Ctrl-C`, literal text)
|
|
434
|
+
// to xterm bytes and write them to a session — the `localterm session press`
|
|
435
|
+
// path. Unknown tokens pass through as literal text so `press hello` types
|
|
436
|
+
// "hello". Returns false for an unknown/exited session.
|
|
437
|
+
pressKeysById(id, input) {
|
|
438
|
+
const managed = this.sessions.get(id);
|
|
439
|
+
if (!managed || managed.session.isExited)
|
|
440
|
+
return false;
|
|
441
|
+
const data = resolveNamedKeys(input);
|
|
442
|
+
if (!data)
|
|
443
|
+
return false;
|
|
444
|
+
managed.session.write(data);
|
|
445
|
+
return true;
|
|
446
|
+
}
|
|
447
|
+
// Wait primitive: block until the session's rendered pane matches a text /
|
|
448
|
+
// regex predicate or goes idle for `idleMs`, bounded by `timeoutMs`. Reuses
|
|
449
|
+
// the tmux-parity capture renderer (flushed per frame) as the source of
|
|
450
|
+
// truth — the same grid `capture-pane` and `exec` read — so the predicate
|
|
451
|
+
// tests clean, ANSI-processed text, not raw bytes. Resolves `{matched,
|
|
452
|
+
// elapsedMs, snapshot}`. Returns null for an unknown/exited session.
|
|
453
|
+
async waitFor(id, predicate, timeoutMs, idleMs) {
|
|
454
|
+
const managed = this.sessions.get(id);
|
|
455
|
+
if (!managed || managed.session.isExited)
|
|
456
|
+
return null;
|
|
457
|
+
const session = managed.session;
|
|
458
|
+
const startedAt = Date.now();
|
|
459
|
+
let resolved = false;
|
|
460
|
+
let lastChangeAt = Date.now();
|
|
461
|
+
let timeoutHandle = null;
|
|
462
|
+
let idleTimer = null;
|
|
463
|
+
return new Promise((resolve) => {
|
|
464
|
+
const finalize = async (matched) => {
|
|
465
|
+
if (resolved)
|
|
466
|
+
return;
|
|
467
|
+
resolved = true;
|
|
468
|
+
if (timeoutHandle)
|
|
469
|
+
clearTimeout(timeoutHandle);
|
|
470
|
+
if (idleTimer)
|
|
471
|
+
clearInterval(idleTimer);
|
|
472
|
+
session.off("output", onOutput);
|
|
473
|
+
session.off("exit", onExit);
|
|
474
|
+
const snapshot = await this.capturePane(id).catch(() => "");
|
|
475
|
+
resolve({
|
|
476
|
+
matched,
|
|
477
|
+
elapsedMs: Date.now() - startedAt,
|
|
478
|
+
snapshot: snapshot ?? "",
|
|
479
|
+
});
|
|
480
|
+
};
|
|
481
|
+
const testPredicate = async () => {
|
|
482
|
+
const renderer = await this.ensureCaptureRenderer(managed);
|
|
483
|
+
await renderer.flush();
|
|
484
|
+
return predicate.test(renderer.capture());
|
|
485
|
+
};
|
|
486
|
+
const onOutput = () => {
|
|
487
|
+
lastChangeAt = Date.now();
|
|
488
|
+
void testPredicate().then((hit) => {
|
|
489
|
+
if (hit && !resolved)
|
|
490
|
+
finalize(true);
|
|
491
|
+
});
|
|
492
|
+
};
|
|
493
|
+
const onExit = () => {
|
|
494
|
+
void finalize(false);
|
|
495
|
+
};
|
|
496
|
+
// Idle mode: resolve once no output has arrived for `idleMs`. The interval
|
|
497
|
+
// checks recency without forcing a renderer read each tick (the output
|
|
498
|
+
// listener already bumps lastChangeAt).
|
|
499
|
+
if (predicate.kind === "idle") {
|
|
500
|
+
idleTimer = setInterval(() => {
|
|
501
|
+
if (!resolved && Date.now() - lastChangeAt >= (idleMs ?? 0))
|
|
502
|
+
finalize(true);
|
|
503
|
+
}, WAIT_IDLE_POLL_INTERVAL_MS);
|
|
504
|
+
idleTimer.unref?.();
|
|
505
|
+
}
|
|
506
|
+
else {
|
|
507
|
+
// Text/regex: test once up front in case the pane already matches, then
|
|
508
|
+
// react to output events.
|
|
509
|
+
void testPredicate().then((hit) => {
|
|
510
|
+
if (hit && !resolved)
|
|
511
|
+
finalize(true);
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
session.on("output", onOutput);
|
|
515
|
+
session.on("exit", onExit);
|
|
516
|
+
timeoutHandle = setTimeout(() => finalize(false), timeoutMs);
|
|
517
|
+
timeoutHandle.unref?.();
|
|
518
|
+
});
|
|
519
|
+
}
|
|
520
|
+
// Resolve the (col, row) of a label on the session's visible viewport — the
|
|
521
|
+
// `mouse --on-text` coord source. Reads the capture renderer's grid (the same
|
|
522
|
+
// source `capture-pane` uses) so no browser tab is required to find the label.
|
|
523
|
+
// Returns null when the text isn't on screen.
|
|
524
|
+
async findTextInViewport(id, needle) {
|
|
525
|
+
const managed = this.sessions.get(id);
|
|
526
|
+
if (!managed || managed.session.isExited)
|
|
527
|
+
return null;
|
|
528
|
+
const renderer = await this.ensureCaptureRenderer(managed);
|
|
529
|
+
await renderer.flush();
|
|
530
|
+
return renderer.findTextInViewport(needle);
|
|
531
|
+
}
|
|
532
|
+
// Whether the session's foreground app enabled a mouse tracking mode — gates
|
|
533
|
+
// the SGR-1006 fallback for `mouse` when no CDP tab is available.
|
|
534
|
+
mouseEnabledFor(id) {
|
|
535
|
+
const managed = this.sessions.get(id);
|
|
536
|
+
return managed ? managed.session.mouseEnabled : false;
|
|
537
|
+
}
|
|
538
|
+
// The session's current PTY size (cols/rows), for the mouse-state endpoint
|
|
539
|
+
// and any coord-bounds check. Returns `{0,0}` for an unknown id.
|
|
540
|
+
sessionSizeFor(id) {
|
|
541
|
+
const managed = this.sessions.get(id);
|
|
542
|
+
return managed
|
|
543
|
+
? { cols: managed.session.cols, rows: managed.session.rows }
|
|
544
|
+
: { cols: 0, rows: 0 };
|
|
545
|
+
}
|
|
546
|
+
// Lazily create (and prime) a session's capture renderer. Fed the scrollback
|
|
547
|
+
// snapshot at creation so it catches up on recent history before the renderer
|
|
548
|
+
// existed, then kept alive and fed live output by onSessionOutput. Awaits the
|
|
549
|
+
// snapshot's async parse so the first capture-pane read lands on a populated
|
|
550
|
+
// grid instead of a blank one (xterm parses `write` on a timer).
|
|
551
|
+
async ensureCaptureRenderer(managed) {
|
|
552
|
+
if (managed.captureRenderer)
|
|
553
|
+
return managed.captureRenderer;
|
|
554
|
+
const renderer = new CaptureRenderer(managed.session.cols, managed.session.rows);
|
|
555
|
+
const snapshot = managed.session.snapshotScrollback();
|
|
556
|
+
if (snapshot)
|
|
557
|
+
renderer.write(snapshot);
|
|
558
|
+
await renderer.flush();
|
|
559
|
+
managed.captureRenderer = renderer;
|
|
560
|
+
return renderer;
|
|
561
|
+
}
|
|
562
|
+
// Run a single shell command line inside a persistent session, capture its
|
|
563
|
+
// rendered output, and return its exit code — the blocking tmux send-keys +
|
|
564
|
+
// capture-pane replacement for agents. The command and its completion marker
|
|
565
|
+
// are written on ONE input line (`;`-chained) so `$?` is the command's exit
|
|
566
|
+
// before the next prompt's precmd hooks reset it. A start/end marker pair
|
|
567
|
+
// brackets the output in the rendered grid; the marker lines themselves are
|
|
568
|
+
// stripped. A timeout interrupts a hung command (Ctrl-C) and returns partial
|
|
569
|
+
// output. `command` must be a single line — for multi-line logic, write a
|
|
570
|
+
// script and exec `bash script.sh`.
|
|
571
|
+
async execInSession(id, command, options = {}) {
|
|
572
|
+
const managed = this.sessions.get(id);
|
|
573
|
+
if (!managed || managed.session.isExited)
|
|
574
|
+
return null;
|
|
575
|
+
const session = managed.session;
|
|
576
|
+
const timeoutMs = this.clampInt(options.timeoutMs ?? EXEC_DEFAULT_TIMEOUT_MS, 1, EXEC_MAX_TIMEOUT_MS);
|
|
577
|
+
const outputLimit = this.clampInt(options.outputLimitBytes ?? EXEC_DEFAULT_OUTPUT_LIMIT_BYTES, 1, EXEC_MAX_OUTPUT_LIMIT_BYTES);
|
|
578
|
+
const token = randomBytes(8).toString("hex");
|
|
579
|
+
const startMarker = `__LT_S_${token}__`;
|
|
580
|
+
const endMarkerPrefix = `__LT_E_${token}__`;
|
|
581
|
+
const endPattern = new RegExp(`${endMarkerPrefix} (\\d+)`);
|
|
582
|
+
const cmd = command.trim() || ":";
|
|
583
|
+
const wrapped = `printf '${startMarker}\\n'; ${cmd}; printf '${endMarkerPrefix} %d\\n' "$?"`;
|
|
584
|
+
const startedAt = Date.now();
|
|
585
|
+
let accumulated = "";
|
|
586
|
+
let capped = false;
|
|
587
|
+
let exitCode = null;
|
|
588
|
+
let didTimeout = false;
|
|
589
|
+
let resolved = false;
|
|
590
|
+
let timeoutHandle = null;
|
|
591
|
+
let interruptHandle = null;
|
|
592
|
+
return new Promise((resolve) => {
|
|
593
|
+
const finalize = async (finalExit, finalTimedOut) => {
|
|
594
|
+
if (resolved)
|
|
595
|
+
return;
|
|
596
|
+
resolved = true;
|
|
597
|
+
if (timeoutHandle)
|
|
598
|
+
clearTimeout(timeoutHandle);
|
|
599
|
+
if (interruptHandle)
|
|
600
|
+
clearTimeout(interruptHandle);
|
|
601
|
+
session.off("output", onOutput);
|
|
602
|
+
session.off("exit", onExit);
|
|
603
|
+
resolve(await this.buildExecResult(session.cols, session.rows, accumulated, startMarker, endMarkerPrefix, finalExit, finalTimedOut, outputLimit, startedAt));
|
|
604
|
+
};
|
|
605
|
+
const onOutput = (data) => {
|
|
606
|
+
if (!capped) {
|
|
607
|
+
if (accumulated.length + data.length <= EXEC_RAW_ACCUMULATE_CAP_BYTES) {
|
|
608
|
+
accumulated += data;
|
|
609
|
+
}
|
|
610
|
+
else {
|
|
611
|
+
const room = EXEC_RAW_ACCUMULATE_CAP_BYTES - accumulated.length;
|
|
612
|
+
if (room > 0)
|
|
613
|
+
accumulated += data.slice(0, room);
|
|
614
|
+
capped = true;
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
// Once the timeout has fired we've committed to a timed-out result; a
|
|
618
|
+
// marker arriving during the interrupt grace (Ctrl-C kills the command,
|
|
619
|
+
// the trailing `printf END $?` runs with the interrupt exit code) is
|
|
620
|
+
// ignored so the call resolves as timed out, not as a normal completion.
|
|
621
|
+
if (didTimeout)
|
|
622
|
+
return;
|
|
623
|
+
const match = accumulated.match(endPattern);
|
|
624
|
+
if (match) {
|
|
625
|
+
exitCode = Number.parseInt(match[1], 10);
|
|
626
|
+
finalize(exitCode, false);
|
|
627
|
+
}
|
|
628
|
+
};
|
|
629
|
+
const onExit = (code) => {
|
|
630
|
+
exitCode = code;
|
|
631
|
+
finalize(code, false);
|
|
632
|
+
};
|
|
633
|
+
session.on("output", onOutput);
|
|
634
|
+
session.on("exit", onExit);
|
|
635
|
+
timeoutHandle = setTimeout(() => {
|
|
636
|
+
// Commit to a timed-out result: the command didn't finish within
|
|
637
|
+
// timeoutMs. Send Ctrl-C to interrupt it (so the session returns to a
|
|
638
|
+
// prompt for a follow-up call), then resolve after a short grace so any
|
|
639
|
+
// output already in flight is captured into the partial result. A marker
|
|
640
|
+
// arriving during the grace is ignored (see onOutput).
|
|
641
|
+
didTimeout = true;
|
|
642
|
+
session.write("\x03");
|
|
643
|
+
interruptHandle = setTimeout(() => finalize(null, true), EXEC_TIMEOUT_INTERRUPT_GRACE_MS);
|
|
644
|
+
interruptHandle.unref?.();
|
|
645
|
+
}, timeoutMs);
|
|
646
|
+
timeoutHandle.unref?.();
|
|
647
|
+
// A client sending input is live; for a detached session there's no
|
|
648
|
+
// pending handshake, so the bytes reach the PTY directly.
|
|
649
|
+
session.write(`${wrapped}\r`);
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
async buildExecResult(cols, rows, accumulated, startMarker, endMarkerPrefix, exitCode, timedOut, outputLimit, startedAt) {
|
|
653
|
+
// Render the captured raw stream through a fresh headless terminal and slice
|
|
654
|
+
// between the start/end marker rows for clean, ANSI-processed text. A fresh
|
|
655
|
+
// (not the persistent) renderer so this exec's output is isolated and the
|
|
656
|
+
// markers are always near the bottom of the buffer.
|
|
657
|
+
const renderer = new CaptureRenderer(cols, rows, EXEC_EPHEMERAL_SCROLLBACK);
|
|
658
|
+
let output;
|
|
659
|
+
try {
|
|
660
|
+
renderer.write(accumulated);
|
|
661
|
+
await renderer.flush();
|
|
662
|
+
const endRow = exitCode !== null && !timedOut ? renderer.findRow(`${endMarkerPrefix} ${exitCode}`) : -1;
|
|
663
|
+
const startRow = renderer.findRow(startMarker);
|
|
664
|
+
output = renderer.extractBetween(startRow, endRow);
|
|
665
|
+
}
|
|
666
|
+
finally {
|
|
667
|
+
renderer.dispose();
|
|
668
|
+
}
|
|
669
|
+
const textBytes = Buffer.byteLength(output, "utf8");
|
|
670
|
+
const truncated = textBytes > outputLimit;
|
|
671
|
+
if (truncated) {
|
|
672
|
+
output = Buffer.from(output, "utf8").subarray(0, outputLimit).toString("utf8");
|
|
673
|
+
}
|
|
674
|
+
return {
|
|
675
|
+
exitCode,
|
|
676
|
+
output,
|
|
677
|
+
timedOut,
|
|
678
|
+
truncated,
|
|
679
|
+
durationMs: Date.now() - startedAt,
|
|
680
|
+
};
|
|
681
|
+
}
|
|
682
|
+
clampInt(value, min, max) {
|
|
683
|
+
return Math.min(Math.max(Math.trunc(value), min), max);
|
|
684
|
+
}
|
|
351
685
|
sendScrollback(ws, managed) {
|
|
352
686
|
const snapshot = managed.session.snapshotScrollback();
|
|
353
687
|
if (!snapshot)
|
|
@@ -400,6 +734,10 @@ export class SessionManager {
|
|
|
400
734
|
managed.lastOutputAt = Date.now();
|
|
401
735
|
this.noteOutput(managed.session.pid);
|
|
402
736
|
this.hooks.onOutputActivity();
|
|
737
|
+
// Keep the capture renderer (if one exists) in lockstep with the PTY so a
|
|
738
|
+
// later capture-pane reads current rendered text. Lazily created, so this
|
|
739
|
+
// is a no-op for sessions nobody has captured (the common browser case).
|
|
740
|
+
managed.captureRenderer?.write(data);
|
|
403
741
|
if (managed.outputBatch.length >= OUTPUT_BATCH_FLUSH_BYTES) {
|
|
404
742
|
if (managed.outputBatchTimer !== null) {
|
|
405
743
|
clearTimeout(managed.outputBatchTimer);
|
|
@@ -500,6 +838,9 @@ export class SessionManager {
|
|
|
500
838
|
else {
|
|
501
839
|
session.resize(cols, rows);
|
|
502
840
|
}
|
|
841
|
+
// Keep the capture renderer's grid at the PTY's effective size so a
|
|
842
|
+
// capture-pane reflects the same line wrapping a viewer would see.
|
|
843
|
+
managed.captureRenderer?.resize(cols, rows);
|
|
503
844
|
// The PTY's effective size is the min across attached clients (tmux-style):
|
|
504
845
|
// a narrower peer constrains everyone. Broadcast it on change so each
|
|
505
846
|
// viewer can mask the dead area beyond its own (possibly wider) grid as
|
|
@@ -613,6 +954,8 @@ export class SessionManager {
|
|
|
613
954
|
managed.graceTimer = null;
|
|
614
955
|
}
|
|
615
956
|
managed.parkedAt = null;
|
|
957
|
+
managed.captureRenderer?.dispose();
|
|
958
|
+
managed.captureRenderer = undefined;
|
|
616
959
|
if (managed.outputBatchTimer !== null) {
|
|
617
960
|
clearTimeout(managed.outputBatchTimer);
|
|
618
961
|
managed.outputBatchTimer = null;
|
|
@@ -648,6 +991,9 @@ export class SessionManager {
|
|
|
648
991
|
for (const managed of this.sessions.values()) {
|
|
649
992
|
if (managed.clients.size > 0)
|
|
650
993
|
continue;
|
|
994
|
+
// Pinned sessions are never silently evicted — they're explicitly held.
|
|
995
|
+
if (managed.pinned)
|
|
996
|
+
continue;
|
|
651
997
|
// Evict the parked session whose grace fires soonest (armed earliest); a
|
|
652
998
|
// parked session with no timer is a fresh spawn nobody attached yet —
|
|
653
999
|
// yield it only after all armed ones.
|
|
@@ -663,6 +1009,10 @@ export class SessionManager {
|
|
|
663
1009
|
startGrace(managed) {
|
|
664
1010
|
this.cancelGrace(managed);
|
|
665
1011
|
managed.parkedAt = Date.now();
|
|
1012
|
+
// Pinned sessions park indefinitely — never reaped by the idle grace and
|
|
1013
|
+
// never evicted at the cap. They live until an explicit kill or shell exit.
|
|
1014
|
+
if (managed.pinned)
|
|
1015
|
+
return;
|
|
666
1016
|
const graceMs = this.getGraceMs();
|
|
667
1017
|
// "Never reap": park the shell with no timer. It lingers until a viewer
|
|
668
1018
|
// reattaches, it's killed from the switcher, the shell exits, or it's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-manager.js","sourceRoot":"","sources":["../src/session-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export declare class Session extends EventEmitter<SessionEvents> {
|
|
|
36
36
|
private readonly foregroundWatcher;
|
|
37
37
|
private readonly reportInitialCommandExit;
|
|
38
38
|
private hasEmittedAutomationExit;
|
|
39
|
+
get mouseEnabled(): boolean;
|
|
39
40
|
constructor(input: SpawnPtyInput);
|
|
40
41
|
get pid(): number;
|
|
41
42
|
get shellBaseName(): string;
|
|
@@ -46,6 +47,7 @@ export declare class Session extends EventEmitter<SessionEvents> {
|
|
|
46
47
|
get isExited(): boolean;
|
|
47
48
|
get isPaused(): boolean;
|
|
48
49
|
get lastEmittedCwd(): string;
|
|
50
|
+
setTitle(title: string): void;
|
|
49
51
|
write(data: string): void;
|
|
50
52
|
pause(): void;
|
|
51
53
|
resume(): void;
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA4B3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAYhD,UAAU,aAAa;IACrB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACvB,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACvB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACnB,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7B,WAAW,EAAE,EAAE,CAAC;IAChB,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qBAAa,OAAQ,SAAQ,YAAY,CAAC,aAAa,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqB;IAE9C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAO;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAUnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,OAAO,CAAC,mBAAmB,CAAM;IACjC,OAAO,CAAC,qBAAqB,CAAwC;IACrE,OAAO,CAAC,oBAAoB,CAAwB;IACpD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,YAAY,CAAM;IAK1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgB;IACjD,OAAO,CAAC,eAAe,CAAK;IAO5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA2B;IACrD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IACtD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAU;IACnD,OAAO,CAAC,wBAAwB,CAAS;
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
package/dist/session.js
CHANGED
|
@@ -70,6 +70,14 @@ export class Session extends EventEmitter {
|
|
|
70
70
|
foregroundWatcher;
|
|
71
71
|
reportInitialCommandExit;
|
|
72
72
|
hasEmittedAutomationExit = false;
|
|
73
|
+
// Whether the PTY's foreground app enabled a mouse tracking mode (1000–1007).
|
|
74
|
+
// Gates the SGR-1006 fallback for `session mouse` when no CDP tab is
|
|
75
|
+
// available: writing mouse bytes into a session that didn't enable mouse
|
|
76
|
+
// would feed them to the app as typed text. xterm.js gates this itself when
|
|
77
|
+
// dispatching a real event over CDP.
|
|
78
|
+
get mouseEnabled() {
|
|
79
|
+
return this.modeState.mouseEnabled;
|
|
80
|
+
}
|
|
73
81
|
constructor(input) {
|
|
74
82
|
super();
|
|
75
83
|
ensureSpawnHelperExecutable();
|
|
@@ -196,6 +204,17 @@ export class Session extends EventEmitter {
|
|
|
196
204
|
get lastEmittedCwd() {
|
|
197
205
|
return this.lastEmittedCwdValue;
|
|
198
206
|
}
|
|
207
|
+
// Force the session's title from the REST/CLI rename surface. The shell's
|
|
208
|
+
// next OSC 0/2 title or cwd-derived title overwrites it (matching tmux, where
|
|
209
|
+
// a shell that sets its own title can override `rename-session`), but until
|
|
210
|
+
// then the picker and a fresh attach see the renamed title. Kept separate
|
|
211
|
+
// from `initialDocumentTitle` (frozen at spawn) so the override is live.
|
|
212
|
+
setTitle(title) {
|
|
213
|
+
const trimmed = title.trim();
|
|
214
|
+
if (!trimmed)
|
|
215
|
+
return;
|
|
216
|
+
this.lastEmittedTitle = trimmed;
|
|
217
|
+
}
|
|
199
218
|
write(data) {
|
|
200
219
|
if (this.exited)
|
|
201
220
|
return;
|