feat(et): support server stats for EternalTerminal sessions (#1377)

* feat(et): support server stats for EternalTerminal sessions

- Generalize the Mosh stats companion into reusable connection helpers
- Open a companion SSH connection so the host-info bar works for ET sessions
- Fall back to execOnEtSession for jumped ET sessions without a direct connection
- Forward host-key and algorithm options to the ET backend for companion parity
- Close the ET stats companion on session close, cleanup, and PTY exit

* fix(et): harden stats exec host-key trust and cleanup

Enforce StrictHostKeyChecking=yes for background ET stats/distro probes
instead of accept-new, merge vault known_hosts for parity with ssh2
companions, and wrap companion connection teardown in try/catch.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: bincxz <16399091+binaricat@users.noreply.github.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
秋秋
2026-06-10 19:46:24 +08:00
committed by GitHub
parent 8be5865b76
commit 881f3b1a34
12 changed files with 486 additions and 52 deletions

View File

@@ -58,6 +58,9 @@ declare global {
port?: number;
etPort?: number;
legacyAlgorithms?: boolean;
skipEcdsaHostKey?: boolean;
algorithmOverrides?: import("../../domain/models").HostAlgorithmOverrides;
knownHosts?: import("../../domain/models").KnownHost[];
jumpHosts?: NetcattyJumpHost[];
agentForwarding?: boolean;
cols?: number;