dsh-ssh-tui 0.7.3 → 0.8.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/README.en.md +101 -27
- package/README.md +83 -27
- package/docs/remote-ops.md +80 -1
- package/docs/terminals.md +17 -4
- package/docs/windows.md +128 -0
- package/lib/attach.js +14 -1
- package/lib/attach.js.map +1 -1
- package/lib/auth-failure.js +92 -0
- package/lib/auth-failure.js.map +1 -0
- package/lib/commands.js +2 -0
- package/lib/commands.js.map +1 -1
- package/lib/copy-text.js +2 -0
- package/lib/copy-text.js.map +1 -1
- package/lib/diag.js +3 -0
- package/lib/diag.js.map +1 -1
- package/lib/dialogs.js.map +1 -1
- package/lib/display-sock.js +313 -2
- package/lib/display-sock.js.map +1 -1
- package/lib/dsh-compat.js +46 -0
- package/lib/dsh-compat.js.map +1 -1
- package/lib/i18n/en.js +49 -14
- package/lib/i18n/en.js.map +1 -1
- package/lib/i18n/index.js +5 -0
- package/lib/i18n/index.js.map +1 -1
- package/lib/i18n/zh.js +49 -14
- package/lib/i18n/zh.js.map +1 -1
- package/lib/index.js +76 -15
- package/lib/index.js.map +1 -1
- package/lib/line-mode.js +4 -0
- package/lib/line-mode.js.map +1 -1
- package/lib/paint.js +32 -1
- package/lib/paint.js.map +1 -1
- package/lib/picker.js +104 -15
- package/lib/picker.js.map +1 -1
- package/lib/plan.js +8 -0
- package/lib/plan.js.map +1 -1
- package/lib/platform.js +81 -0
- package/lib/platform.js.map +1 -1
- package/lib/preset-rows.js +54 -24
- package/lib/preset-rows.js.map +1 -1
- package/lib/question-wait.js +418 -0
- package/lib/question-wait.js.map +1 -0
- package/lib/selection.js +26 -8
- package/lib/selection.js.map +1 -1
- package/lib/term-text.js +79 -8
- package/lib/term-text.js.map +1 -1
- package/lib/terminal-input.js +13 -0
- package/lib/terminal-input.js.map +1 -1
- package/lib/tui.js +713 -51
- package/lib/tui.js.map +1 -1
- package/lib/types/attach.d.ts +8 -0
- package/lib/types/auth-failure.d.ts +48 -0
- package/lib/types/commands.d.ts +6 -0
- package/lib/types/diag.d.ts +2 -0
- package/lib/types/dialogs.d.ts +16 -0
- package/lib/types/display-sock.d.ts +78 -2
- package/lib/types/dsh-compat.d.ts +44 -12
- package/lib/types/i18n/index.d.ts +13 -3
- package/lib/types/index.d.ts +7 -0
- package/lib/types/paint.d.ts +21 -0
- package/lib/types/picker.d.ts +22 -0
- package/lib/types/platform.d.ts +22 -0
- package/lib/types/preset-rows.d.ts +18 -10
- package/lib/types/question-wait.d.ts +221 -0
- package/lib/types/selection.d.ts +12 -4
- package/lib/types/settings-subagent.d.ts +3 -3
- package/lib/types/subagent-model.d.ts +3 -3
- package/lib/types/term-text.d.ts +14 -0
- package/lib/types/terminal-input.d.ts +10 -0
- package/lib/types/transcript-types.d.ts +22 -0
- package/lib/types/tui.d.ts +149 -3
- package/lib/types/update-check.d.ts +19 -4
- package/lib/types/workspace-changes.d.ts +135 -0
- package/lib/update-check.js +25 -8
- package/lib/update-check.js.map +1 -1
- package/lib/workspace-changes.js +120 -0
- package/lib/workspace-changes.js.map +1 -0
- package/package.json +104 -69
package/lib/display-sock.js
CHANGED
|
@@ -18,6 +18,10 @@
|
|
|
18
18
|
* 5 goodbye — host → relay, then close (user /exit)
|
|
19
19
|
* 6 rtt — relay → host (u32be milliseconds; 0xffffffff = unknown)
|
|
20
20
|
* 7 replaced — host → relay, then close (a newer Display took the session)
|
|
21
|
+
* 8 probe — host → relay: round-trip your terminal and report it
|
|
22
|
+
* 9 probe? — relay → host: 1 live, 2 silent (answered before, not now), 0 unknown
|
|
23
|
+
* 10 query — any process → host: is a window really on this session?
|
|
24
|
+
* 11 query? — host → that process: 1 attached, 2 detached, 0 cannot tell
|
|
21
25
|
*/
|
|
22
26
|
import { spawn, spawnSync } from 'node:child_process';
|
|
23
27
|
import { StringDecoder } from 'node:string_decoder';
|
|
@@ -26,7 +30,7 @@ import { createConnection, createServer } from 'node:net';
|
|
|
26
30
|
import { mkdir, readFile, unlink } from 'node:fs/promises';
|
|
27
31
|
import { closeSync, mkdirSync, openSync, readFileSync, rmSync } from 'node:fs';
|
|
28
32
|
import { homedir } from 'node:os';
|
|
29
|
-
import { TerminalInputFilter, TerminalInputPump } from './terminal-input.js';
|
|
33
|
+
import { RTT_SLOW_SAMPLE_TIMEOUT_MS, TerminalInputFilter, TerminalInputPump, } from './terminal-input.js';
|
|
30
34
|
import { dirname, join, resolve } from 'node:path';
|
|
31
35
|
import { bootstrapEnv, hostBootstrapCommand, hostSpawnOptions, restrictPathToUserSync, usesSigwinch, } from './platform.js';
|
|
32
36
|
import { terminalCapabilities } from './terminal-caps.js';
|
|
@@ -37,6 +41,14 @@ export const FRAME_HELLO = 4;
|
|
|
37
41
|
export const FRAME_GOODBYE = 5;
|
|
38
42
|
export const FRAME_RTT = 6;
|
|
39
43
|
export const FRAME_REPLACED = 7;
|
|
44
|
+
/** Host → relay: round-trip your terminal now and say what it answered. */
|
|
45
|
+
export const FRAME_PROBE = 8;
|
|
46
|
+
/** Relay → Host: the answer to {@link FRAME_PROBE}. */
|
|
47
|
+
export const FRAME_PROBE_REPLY = 9;
|
|
48
|
+
/** A prober → Host: is a window *really* on this session? Does not claim it. */
|
|
49
|
+
export const FRAME_QUERY = 10;
|
|
50
|
+
/** Host → prober: the answer to {@link FRAME_QUERY}. */
|
|
51
|
+
export const FRAME_QUERY_REPLY = 11;
|
|
40
52
|
const MAX_FRAME = 1024 * 1024;
|
|
41
53
|
/**
|
|
42
54
|
* Grace period for a kicked relay to read FRAME_REPLACED before its socket is
|
|
@@ -57,6 +69,40 @@ const REPLACED_GRACE_MS = 250;
|
|
|
57
69
|
* attach at all — hence the wider grace.
|
|
58
70
|
*/
|
|
59
71
|
const DISPLAY_HELLO_GRACE_MS = 6_000;
|
|
72
|
+
/**
|
|
73
|
+
* How long the Host waits for a relay's terminal round trip.
|
|
74
|
+
*
|
|
75
|
+
* The relay's own probe is two windows at most (a fast one, then a widened one
|
|
76
|
+
* for a slow link), so this only has to cover those plus the socket hop.
|
|
77
|
+
*/
|
|
78
|
+
const DISPLAY_PROBE_TIMEOUT_MS = 3_000;
|
|
79
|
+
/**
|
|
80
|
+
* The link is measured again this soon after an attach, then on the slower
|
|
81
|
+
* cadence below.
|
|
82
|
+
*
|
|
83
|
+
* The first measurement is taken while the session is still booting, and a
|
|
84
|
+
* jittery moment there used to be the only measurement there ever was: the
|
|
85
|
+
* footer chip stayed red and the paint cadence — with the per-frame byte budget
|
|
86
|
+
* — stayed at the slowest tier for hours. The early re-check corrects exactly
|
|
87
|
+
* that case without waiting a full cadence.
|
|
88
|
+
*/
|
|
89
|
+
const RTT_RECHECK_FIRST_MS = 8_000;
|
|
90
|
+
/** How often an attached relay re-measures the link for the Host's chip. */
|
|
91
|
+
const RTT_RECHECK_MS = 20_000;
|
|
92
|
+
/** After this many silent measurements, stop asking so often. */
|
|
93
|
+
const RTT_RECHECK_MAX_MISSES = 3;
|
|
94
|
+
/** A terminal that does not answer DSR is asked again only this rarely. */
|
|
95
|
+
const RTT_RECHECK_BACKOFF_MS = 600_000;
|
|
96
|
+
/**
|
|
97
|
+
* A measurement that moved by at least this much is confirmed soon after.
|
|
98
|
+
*
|
|
99
|
+
* The Host smooths over the last few measurements, so the *second* sample is
|
|
100
|
+
* what makes a real change stick — or what retires a one-off spike — and waiting
|
|
101
|
+
* a whole cadence for it keeps the chip on the wrong tier for that long.
|
|
102
|
+
*/
|
|
103
|
+
const RTT_MOVED_MS = 50;
|
|
104
|
+
/** How soon a moved measurement is confirmed. */
|
|
105
|
+
const RTT_RECHECK_CONFIRM_MS = 5_000;
|
|
60
106
|
/**
|
|
61
107
|
* Drop launcher SIGTERM/SIGINT/SIGHUP so closing SSH cannot dispose the tree
|
|
62
108
|
* before hangup handling. Leaving the session with setsid() is best-effort:
|
|
@@ -307,6 +353,33 @@ export function decodeRtt(payload) {
|
|
|
307
353
|
const value = payload.readUInt32BE(0);
|
|
308
354
|
return value === 0xffffffff ? undefined : value;
|
|
309
355
|
}
|
|
356
|
+
/** One byte of verdict: 1 live, 2 silent, 0 anything else (unknown). */
|
|
357
|
+
function encodeVerdict(type, value) {
|
|
358
|
+
return encodeFrame(type, Buffer.from([value]));
|
|
359
|
+
}
|
|
360
|
+
function decodeVerdict(payload) {
|
|
361
|
+
return payload.length > 0 ? payload.readUInt8(0) : 0;
|
|
362
|
+
}
|
|
363
|
+
export function encodeProbe() {
|
|
364
|
+
return encodeFrame(FRAME_PROBE);
|
|
365
|
+
}
|
|
366
|
+
export function encodeProbeReply(verdict) {
|
|
367
|
+
return encodeVerdict(FRAME_PROBE_REPLY, verdict === 'live' ? 1 : verdict === 'silent' ? 2 : 0);
|
|
368
|
+
}
|
|
369
|
+
export function decodeProbeReply(payload) {
|
|
370
|
+
const value = decodeVerdict(payload);
|
|
371
|
+
return value === 1 ? 'live' : value === 2 ? 'silent' : 'unknown';
|
|
372
|
+
}
|
|
373
|
+
export function encodeQuery() {
|
|
374
|
+
return encodeFrame(FRAME_QUERY);
|
|
375
|
+
}
|
|
376
|
+
export function encodeQueryReply(verdict) {
|
|
377
|
+
return encodeVerdict(FRAME_QUERY_REPLY, verdict === 'attached' ? 1 : verdict === 'detached' ? 2 : 0);
|
|
378
|
+
}
|
|
379
|
+
export function decodeQueryReply(payload) {
|
|
380
|
+
const value = decodeVerdict(payload);
|
|
381
|
+
return value === 1 ? 'attached' : value === 2 ? 'detached' : 'unknown';
|
|
382
|
+
}
|
|
310
383
|
/** Incremental decoder for one socket. */
|
|
311
384
|
export class FrameReader {
|
|
312
385
|
buffer = Buffer.alloc(0);
|
|
@@ -354,8 +427,12 @@ export class DisplayHost {
|
|
|
354
427
|
socket;
|
|
355
428
|
reader = new FrameReader();
|
|
356
429
|
attached = false;
|
|
430
|
+
/** Set while a {@link FRAME_PROBE} round trip is waiting for its answer. */
|
|
431
|
+
probeSettle;
|
|
432
|
+
probeInFlight;
|
|
357
433
|
constructor(path, handlers,
|
|
358
|
-
/** Test
|
|
434
|
+
/** Test seams: how long a silent connection may wait for its HELLO, and
|
|
435
|
+
* how long a relay may take to report its terminal round trip. */
|
|
359
436
|
options = {}) {
|
|
360
437
|
this.path = path;
|
|
361
438
|
this.handlers = handlers;
|
|
@@ -482,6 +559,12 @@ export class DisplayHost {
|
|
|
482
559
|
for (const frame of frames) {
|
|
483
560
|
if (frame.type === FRAME_HELLO)
|
|
484
561
|
claim();
|
|
562
|
+
else if (frame.type === FRAME_QUERY) {
|
|
563
|
+
// A prober asking whether a window is really on this session. It is
|
|
564
|
+
// deliberately not a claim: answering must never steal the display
|
|
565
|
+
// from the window the question is about.
|
|
566
|
+
void this.answerQuery(socket);
|
|
567
|
+
}
|
|
485
568
|
else if (!claimed)
|
|
486
569
|
continue;
|
|
487
570
|
else if (frame.type === FRAME_STDIN)
|
|
@@ -494,6 +577,9 @@ export class DisplayHost {
|
|
|
494
577
|
else if (frame.type === FRAME_RTT) {
|
|
495
578
|
this.handlers.onRtt?.(decodeRtt(frame.payload));
|
|
496
579
|
}
|
|
580
|
+
else if (frame.type === FRAME_PROBE_REPLY) {
|
|
581
|
+
this.settleProbe(decodeProbeReply(frame.payload));
|
|
582
|
+
}
|
|
497
583
|
}
|
|
498
584
|
});
|
|
499
585
|
socket.on('close', () => {
|
|
@@ -510,6 +596,79 @@ export class DisplayHost {
|
|
|
510
596
|
const probeGrace = setTimeout(dropProbe, this.options.helloGraceMs ?? DISPLAY_HELLO_GRACE_MS);
|
|
511
597
|
probeGrace.unref?.();
|
|
512
598
|
}
|
|
599
|
+
/**
|
|
600
|
+
* Whether a window is really on this session — asked of the window itself.
|
|
601
|
+
*
|
|
602
|
+
* "The socket answers" is not evidence. A relay whose SSH link was cut stays
|
|
603
|
+
* connected (its launcher sees no hangup until sshd does), and the Host then
|
|
604
|
+
* truthfully reports a display that no longer has a screen behind it. Only the
|
|
605
|
+
* far end can settle it, so this round-trips the terminal through the relay.
|
|
606
|
+
*/
|
|
607
|
+
async attachmentVerdict() {
|
|
608
|
+
if (this.socket === undefined || this.attached !== true)
|
|
609
|
+
return 'detached';
|
|
610
|
+
const terminal = await this.probeTerminal();
|
|
611
|
+
if (terminal === 'live')
|
|
612
|
+
return 'attached';
|
|
613
|
+
if (terminal === 'silent')
|
|
614
|
+
return 'detached';
|
|
615
|
+
return 'unknown';
|
|
616
|
+
}
|
|
617
|
+
/** One answer to one prober; never claims the display, never throws. */
|
|
618
|
+
async answerQuery(socket) {
|
|
619
|
+
const verdict = await this.attachmentVerdict();
|
|
620
|
+
try {
|
|
621
|
+
socket.write(encodeQueryReply(verdict));
|
|
622
|
+
}
|
|
623
|
+
catch {
|
|
624
|
+
// The prober gave up on its own deadline; nothing left to answer to.
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* Ask the claimed relay to round-trip its terminal, with a deadline.
|
|
629
|
+
*
|
|
630
|
+
* Sharing one in-flight round trip matters: a second question while the first
|
|
631
|
+
* is unanswered would be settled by the first reply, and two windows asking at
|
|
632
|
+
* once is a normal resume, not an error.
|
|
633
|
+
*/
|
|
634
|
+
async probeTerminal() {
|
|
635
|
+
if (this.probeInFlight !== undefined)
|
|
636
|
+
return await this.probeInFlight;
|
|
637
|
+
const socket = this.socket;
|
|
638
|
+
if (socket === undefined)
|
|
639
|
+
return 'unknown';
|
|
640
|
+
const pending = new Promise(resolve => {
|
|
641
|
+
// Referenced on purpose: the timer *completes* the round trip, and an
|
|
642
|
+
// unref'd one would let the loop drain with the caller still waiting.
|
|
643
|
+
const timer = setTimeout(() => {
|
|
644
|
+
this.probeSettle = undefined;
|
|
645
|
+
resolve('unknown');
|
|
646
|
+
}, this.options.probeTimeoutMs ?? DISPLAY_PROBE_TIMEOUT_MS);
|
|
647
|
+
this.probeSettle = verdict => {
|
|
648
|
+
clearTimeout(timer);
|
|
649
|
+
this.probeSettle = undefined;
|
|
650
|
+
resolve(verdict);
|
|
651
|
+
};
|
|
652
|
+
});
|
|
653
|
+
this.probeInFlight = pending;
|
|
654
|
+
try {
|
|
655
|
+
socket.write(encodeProbe());
|
|
656
|
+
}
|
|
657
|
+
catch {
|
|
658
|
+
this.settleProbe('unknown');
|
|
659
|
+
}
|
|
660
|
+
try {
|
|
661
|
+
return await pending;
|
|
662
|
+
}
|
|
663
|
+
finally {
|
|
664
|
+
this.probeInFlight = undefined;
|
|
665
|
+
}
|
|
666
|
+
}
|
|
667
|
+
settleProbe(verdict) {
|
|
668
|
+
const settle = this.probeSettle;
|
|
669
|
+
this.probeSettle = undefined;
|
|
670
|
+
settle?.(verdict);
|
|
671
|
+
}
|
|
513
672
|
sendStdout(bytes) {
|
|
514
673
|
const socket = this.socket;
|
|
515
674
|
if (socket === undefined || this.attached !== true)
|
|
@@ -584,6 +743,65 @@ function isPidAlive(pid) {
|
|
|
584
743
|
export async function displaySockExists(path, timeoutMs = 250) {
|
|
585
744
|
return await probeDisplaySock(path, timeoutMs);
|
|
586
745
|
}
|
|
746
|
+
/**
|
|
747
|
+
* How long a prober waits for the Host's answer to {@link FRAME_QUERY}.
|
|
748
|
+
*
|
|
749
|
+
* It has to cover the relay's own two probe windows (see
|
|
750
|
+
* {@link DISPLAY_PROBE_TIMEOUT_MS}) plus the hop; the answer only takes this
|
|
751
|
+
* long when the display really is silent.
|
|
752
|
+
*/
|
|
753
|
+
export const DISPLAY_QUERY_TIMEOUT_MS = 4_000;
|
|
754
|
+
/**
|
|
755
|
+
* Ask a live Host whether a window is really on its session.
|
|
756
|
+
*
|
|
757
|
+
* `undefined` means the Host did not answer — an older Host that does not know
|
|
758
|
+
* the frame, or one whose event loop is stuck. Every caller must read that as
|
|
759
|
+
* "cannot tell" and never as "free": the cost of the doubt is one confirmation
|
|
760
|
+
* prompt, and the cost of guessing wrong is taking a session away from a window
|
|
761
|
+
* somebody is still typing in.
|
|
762
|
+
*/
|
|
763
|
+
export async function queryDisplayAttachment(path, timeoutMs = DISPLAY_QUERY_TIMEOUT_MS) {
|
|
764
|
+
return await new Promise(resolve => {
|
|
765
|
+
const socket = createConnection(path);
|
|
766
|
+
const reader = new FrameReader();
|
|
767
|
+
let settled = false;
|
|
768
|
+
const finish = (verdict) => {
|
|
769
|
+
if (settled)
|
|
770
|
+
return;
|
|
771
|
+
settled = true;
|
|
772
|
+
clearTimeout(timer);
|
|
773
|
+
socket.destroy();
|
|
774
|
+
resolve(verdict);
|
|
775
|
+
};
|
|
776
|
+
const timer = setTimeout(() => finish(undefined), timeoutMs);
|
|
777
|
+
socket.once('connect', () => {
|
|
778
|
+
try {
|
|
779
|
+
socket.write(encodeQuery());
|
|
780
|
+
}
|
|
781
|
+
catch {
|
|
782
|
+
finish(undefined);
|
|
783
|
+
}
|
|
784
|
+
});
|
|
785
|
+
socket.on('data', chunk => {
|
|
786
|
+
let frames;
|
|
787
|
+
try {
|
|
788
|
+
frames = reader.push(chunk);
|
|
789
|
+
}
|
|
790
|
+
catch {
|
|
791
|
+
finish(undefined);
|
|
792
|
+
return;
|
|
793
|
+
}
|
|
794
|
+
for (const frame of frames) {
|
|
795
|
+
if (frame.type === FRAME_QUERY_REPLY) {
|
|
796
|
+
finish(decodeQueryReply(frame.payload));
|
|
797
|
+
return;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
});
|
|
801
|
+
socket.once('error', () => finish(undefined));
|
|
802
|
+
socket.once('close', () => finish(undefined));
|
|
803
|
+
});
|
|
804
|
+
}
|
|
587
805
|
function watchHostExit(child) {
|
|
588
806
|
let settle = () => { };
|
|
589
807
|
const exited = new Promise(resolve => { settle = resolve; });
|
|
@@ -1029,6 +1247,13 @@ export async function runDisplayRelay(path, options = {}) {
|
|
|
1029
1247
|
const reader = new FrameReader();
|
|
1030
1248
|
let settled = false;
|
|
1031
1249
|
let live = false;
|
|
1250
|
+
/** Whether this terminal has ever answered a cursor probe. */
|
|
1251
|
+
let terminalAnswered = false;
|
|
1252
|
+
let probeInFlight = false;
|
|
1253
|
+
/** The value the Host already has, so only real changes are reported. */
|
|
1254
|
+
let reportedRtt;
|
|
1255
|
+
let recheckMisses = 0;
|
|
1256
|
+
let rttTimer;
|
|
1032
1257
|
// Set when the Host tells us a newer Display took this session over. The
|
|
1033
1258
|
// terminal restore below is the one write that must NOT happen then: this
|
|
1034
1259
|
// relay no longer owns any screen, and if the link is dead (window killed,
|
|
@@ -1059,6 +1284,9 @@ export async function runDisplayRelay(path, options = {}) {
|
|
|
1059
1284
|
reject(error);
|
|
1060
1285
|
};
|
|
1061
1286
|
const cleanup = () => {
|
|
1287
|
+
if (rttTimer !== undefined)
|
|
1288
|
+
clearTimeout(rttTimer);
|
|
1289
|
+
rttTimer = undefined;
|
|
1062
1290
|
pump.stop();
|
|
1063
1291
|
stdout.removeListener('resize', onResize);
|
|
1064
1292
|
stdin.removeListener('end', onLocalHangup);
|
|
@@ -1158,6 +1386,80 @@ export async function runDisplayRelay(path, options = {}) {
|
|
|
1158
1386
|
sendResize();
|
|
1159
1387
|
}, 20);
|
|
1160
1388
|
};
|
|
1389
|
+
/**
|
|
1390
|
+
* Keep the Host's picture of the link current.
|
|
1391
|
+
*
|
|
1392
|
+
* The chip and the paint cadence (and the byte budget per frame) all come
|
|
1393
|
+
* from this number, and a link measured once at attach is a link measured at
|
|
1394
|
+
* its worst moment forever. The probe is a cursor round trip on a quiet
|
|
1395
|
+
* line: it costs one write and one reply, and the pump routes anything the
|
|
1396
|
+
* user typed meanwhile to the Host as usual.
|
|
1397
|
+
*/
|
|
1398
|
+
const recheckRtt = async () => {
|
|
1399
|
+
const measured = await pump.measure();
|
|
1400
|
+
if (settled)
|
|
1401
|
+
return;
|
|
1402
|
+
if (measured === undefined) {
|
|
1403
|
+
recheckMisses += 1;
|
|
1404
|
+
// A terminal that never answers DSR (a pipe, a dumb terminal) must not
|
|
1405
|
+
// be probed every twenty seconds for the rest of the session; one that
|
|
1406
|
+
// answers sometimes — a flapping link — keeps the normal cadence.
|
|
1407
|
+
scheduleRttRecheck(recheckMisses >= RTT_RECHECK_MAX_MISSES ? RTT_RECHECK_BACKOFF_MS : (options.rttRecheckMs ?? RTT_RECHECK_MS));
|
|
1408
|
+
return;
|
|
1409
|
+
}
|
|
1410
|
+
recheckMisses = 0;
|
|
1411
|
+
const moved = reportedRtt !== undefined && Math.abs(measured - reportedRtt) >= RTT_MOVED_MS;
|
|
1412
|
+
reportedRtt = measured;
|
|
1413
|
+
// Reported every time, even when it did not move: the Host takes the
|
|
1414
|
+
// median of the last few measurements, and a value sent once can never
|
|
1415
|
+
// outvote the stale one it replaced. An unchanged frame costs the screen
|
|
1416
|
+
// nothing (the painter is incremental), so the repetition is free.
|
|
1417
|
+
try {
|
|
1418
|
+
socket.write(encodeRtt(measured));
|
|
1419
|
+
}
|
|
1420
|
+
catch {
|
|
1421
|
+
// The socket is gone; the close handler settles the relay.
|
|
1422
|
+
}
|
|
1423
|
+
scheduleRttRecheck(moved
|
|
1424
|
+
? RTT_RECHECK_CONFIRM_MS
|
|
1425
|
+
: (options.rttRecheckMs ?? RTT_RECHECK_MS));
|
|
1426
|
+
};
|
|
1427
|
+
const scheduleRttRecheck = (delayMs) => {
|
|
1428
|
+
if (settled)
|
|
1429
|
+
return;
|
|
1430
|
+
rttTimer = setTimeout(() => {
|
|
1431
|
+
rttTimer = undefined;
|
|
1432
|
+
void recheckRtt();
|
|
1433
|
+
}, delayMs);
|
|
1434
|
+
rttTimer.unref?.();
|
|
1435
|
+
};
|
|
1436
|
+
/**
|
|
1437
|
+
* The Host asking whether this display still has a terminal.
|
|
1438
|
+
*
|
|
1439
|
+
* The answer has to come from a real round trip. A cut SSH link leaves this
|
|
1440
|
+
* relay connected and its event loop healthy — the launcher sees no hangup
|
|
1441
|
+
* until sshd does, which can be hours — so anything cheaper (a ping its own
|
|
1442
|
+
* loop answers) would keep reporting a window nobody can see any more.
|
|
1443
|
+
*/
|
|
1444
|
+
const answerProbe = async () => {
|
|
1445
|
+
if (probeInFlight)
|
|
1446
|
+
return;
|
|
1447
|
+
probeInFlight = true;
|
|
1448
|
+
try {
|
|
1449
|
+
// A slow link gets the widened window before its silence is believed:
|
|
1450
|
+
// "silent" is what lets a resume take the session over, and a live
|
|
1451
|
+
// window must never be misread into it.
|
|
1452
|
+
const alive = await pump.measureOnce() || await pump.measureOnce(RTT_SLOW_SAMPLE_TIMEOUT_MS);
|
|
1453
|
+
terminalAnswered ||= alive;
|
|
1454
|
+
socket.write(encodeProbeReply(alive ? 'live' : terminalAnswered ? 'silent' : 'unknown'));
|
|
1455
|
+
}
|
|
1456
|
+
catch {
|
|
1457
|
+
// The socket is gone; the close handler settles the relay.
|
|
1458
|
+
}
|
|
1459
|
+
finally {
|
|
1460
|
+
probeInFlight = false;
|
|
1461
|
+
}
|
|
1462
|
+
};
|
|
1161
1463
|
const onLocalHangup = () => {
|
|
1162
1464
|
finish('signal');
|
|
1163
1465
|
};
|
|
@@ -1194,6 +1496,11 @@ export async function runDisplayRelay(path, options = {}) {
|
|
|
1194
1496
|
const rtt = await pump.measure();
|
|
1195
1497
|
if (settled)
|
|
1196
1498
|
return;
|
|
1499
|
+
// The baseline a liveness check is compared against: a terminal that
|
|
1500
|
+
// answered once and is silent later is gone, one that never answered
|
|
1501
|
+
// tells us nothing (see `TerminalVerdict`).
|
|
1502
|
+
terminalAnswered = rtt !== undefined;
|
|
1503
|
+
reportedRtt = rtt;
|
|
1197
1504
|
const columns = stdout.columns || 80;
|
|
1198
1505
|
const rows = stdout.rows || 24;
|
|
1199
1506
|
socket.write(Buffer.concat([
|
|
@@ -1202,6 +1509,7 @@ export async function runDisplayRelay(path, options = {}) {
|
|
|
1202
1509
|
encodeRtt(rtt),
|
|
1203
1510
|
]));
|
|
1204
1511
|
live = true;
|
|
1512
|
+
scheduleRttRecheck(options.rttFirstRecheckMs ?? RTT_RECHECK_FIRST_MS);
|
|
1205
1513
|
if (options.announce === true) {
|
|
1206
1514
|
try {
|
|
1207
1515
|
stdout.write('\r\x1b[2K');
|
|
@@ -1261,6 +1569,9 @@ export async function runDisplayRelay(path, options = {}) {
|
|
|
1261
1569
|
finish('replaced');
|
|
1262
1570
|
return;
|
|
1263
1571
|
}
|
|
1572
|
+
else if (frame.type === FRAME_PROBE) {
|
|
1573
|
+
void answerProbe();
|
|
1574
|
+
}
|
|
1264
1575
|
}
|
|
1265
1576
|
});
|
|
1266
1577
|
socket.on('close', () => finish('host-closed'));
|
package/lib/display-sock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-sock.js","sourceRoot":"","sources":["../src/display-sock.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"display-sock.js","sourceRoot":"","sources":["../src/display-sock.ts"],"names":[],"mappings":"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"}
|
package/lib/dsh-compat.js
CHANGED
|
@@ -1,3 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The source kind this plugin declares for the messages it commits itself: the
|
|
3
|
+
* plan-close nudge and the approval-denied steering notice.
|
|
4
|
+
*
|
|
5
|
+
* These used to ride the released catch-all wrapper —
|
|
6
|
+
* `<kind: 'plugin', plugin: 'dsh-ssh-tui'>` — which 0.1.5 shipped as a member and
|
|
7
|
+
* 0.1.7 deleted ("each producer declares its own `kind` in its own module; there
|
|
8
|
+
* is no shared catch-all `plugin` kind"). Worse than missing on 0.1.7: its V4
|
|
9
|
+
* native admission *refuses* the wrapper outright, so an append under that
|
|
10
|
+
* spelling throws "format v4 message requires a producer-owned source kind" and
|
|
11
|
+
* takes the whole turn down with it — which is what the plan nudge and the
|
|
12
|
+
* approval-denied notice did to any turn they fired in on a V4 session.
|
|
13
|
+
*
|
|
14
|
+
* The producer-owned spelling is the one shape both supported lines admit: the
|
|
15
|
+
* wrapper was only ever mandatory for `system/message` (`SystemMessage['source']`
|
|
16
|
+
* is the `plugin` member on 0.1.5), while user-role messages have always carried
|
|
17
|
+
* a producer's own kind — the 0.1.5 line's own `goal`, `webhook`, and
|
|
18
|
+
* `agent-instructions` producers all commit `kind: '<their name>'`.
|
|
19
|
+
*/
|
|
20
|
+
export const TUI_SOURCE_KIND = 'dsh-ssh-tui';
|
|
21
|
+
/**
|
|
22
|
+
* The kind the V3-to-V4 lane gives the same messages in a converted log.
|
|
23
|
+
*
|
|
24
|
+
* The conversion lifts a released plugin wrapper to the producer's kind when it
|
|
25
|
+
* knows the plugin, and falls back to `plugin:<name>` when it does not — which is
|
|
26
|
+
* this plugin's case, so a resumed V3 session carries the prefixed spelling.
|
|
27
|
+
*/
|
|
28
|
+
export const TUI_CONVERTED_SOURCE_KIND = `plugin:${TUI_SOURCE_KIND}`;
|
|
29
|
+
/**
|
|
30
|
+
* Whether a durable message source came from this plugin.
|
|
31
|
+
*
|
|
32
|
+
* Three spellings reach a reader: the producer-owned kind written now, the
|
|
33
|
+
* `plugin:`-prefixed compatibility kind the V3-to-V4 conversion assigns, and the
|
|
34
|
+
* original wrapper (`kind: 'plugin'` + `plugin: 'dsh-ssh-tui'`) that a log
|
|
35
|
+
* committed before this change — or an unconverted V3 file read on the 0.1.5
|
|
36
|
+
* line — still carries.
|
|
37
|
+
*
|
|
38
|
+
* @param kind - the source's `kind`, when it has one.
|
|
39
|
+
* @param plugin - the source's legacy `plugin` field, when it carries the wrapper.
|
|
40
|
+
* @returns whether this plugin produced the message.
|
|
41
|
+
*/
|
|
42
|
+
export function isTuiMessageSource(kind, plugin) {
|
|
43
|
+
if (kind === TUI_SOURCE_KIND || kind === TUI_CONVERTED_SOURCE_KIND)
|
|
44
|
+
return true;
|
|
45
|
+
return kind === 'plugin' && plugin === TUI_SOURCE_KIND;
|
|
46
|
+
}
|
|
1
47
|
/**
|
|
2
48
|
* Settings namespaces are branded strings at the type level on both supported
|
|
3
49
|
* lines; this cast supplies the brand from a plain literal.
|