@thenewlabs/entangle-connect 2.3.0 → 2.5.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.
@@ -1,3 +1,4 @@
1
+ import { type WindowStateBody } from '@thenewlabs/entangle-protocol';
1
2
  export type SignalName = 'SIGINT' | 'SIGTERM' | 'SIGHUP' | 'SIGQUIT' | 'SIGKILL';
2
3
  export interface StreamHandlers {
3
4
  onOpened?: () => void;
@@ -44,11 +45,21 @@ export declare class InvokeConnection {
44
45
  private streams;
45
46
  private pendingOpens;
46
47
  private onCloseCb?;
48
+ private onWindowStateCb?;
47
49
  constructor(capId: string, S: string, password?: string | undefined, promptPassword?: (() => Promise<string>) | undefined);
48
50
  /** Connect and complete the handshake (including password if required). */
49
51
  connect(wsUrl: string): Promise<void>;
50
52
  private handleHandshakeFrame;
51
53
  private dispatchStreamFrame;
54
+ private handleWindowCtl;
55
+ private sendWindowCtl;
56
+ /** Register a callback invoked whenever the server broadcasts window-state. */
57
+ onWindowState(cb: (state: WindowStateBody) => void): void;
58
+ newWindow(): void;
59
+ nextWindow(): void;
60
+ prevWindow(): void;
61
+ selectWindow(index: number): void;
62
+ closeWindow(index: number): void;
52
63
  private sendStream;
53
64
  /** Open a command stream. */
54
65
  openCmd(argv: string[], options?: {
@@ -1 +1 @@
1
- {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"AAwBA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IACnE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9D,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED;;;;GAIG;AACH,qBAAa,YAAY;IACJ,GAAG,EAAE,MAAM;IAAE,OAAO,CAAC,IAAI;gBAAzB,GAAG,EAAE,MAAM,EAAU,IAAI,EAAE,gBAAgB;IAC9D,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAC9B,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI;IAC7B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IACxC,KAAK,IAAI,IAAI;CACd;AAOD;;;;;GAKG;AACH,qBAAa,gBAAgB;IAiBzB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,CAAC;IACT,OAAO,CAAC,QAAQ,CAAC;IAGjB,OAAO,CAAC,cAAc,CAAC;IArBzB,OAAO,CAAC,EAAE,CAAa;IACvB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,SAAS,CAAC,CAAa;gBAGrB,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,EACT,QAAQ,CAAC,EAAE,MAAM,YAAA,EAGjB,cAAc,CAAC,GAAE,MAAM,OAAO,CAAC,MAAM,CAAC,aAAA;IAGhD,2EAA2E;IACrE,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAsC7B,oBAAoB;YAsEpB,mBAAmB;YAiDnB,UAAU;IASxB,6BAA6B;IAC7B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAO,EAAE,QAAQ,GAAE,cAAmB,GAAG,YAAY;IAWpG,yBAAyB;IACzB,OAAO,CAAC,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,QAAQ,GAAE,cAAmB,GAAG,YAAY;IAY3G,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAI9C,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI;IAIjD,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAIzD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB,OAAO,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAI7B,UAAU,IAAI,IAAI;CAGnB"}
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export class InvokeConnection {
46
46
  streams = new Map();
47
47
  pendingOpens = [];
48
48
  onCloseCb;
49
+ onWindowStateCb;
49
50
  constructor(capId, S, password,
50
51
  // Called when the agent requires a password and none was supplied up front
51
52
  // (e.g. to prompt interactively). Its result is used for this session.
@@ -151,6 +152,13 @@ export class InvokeConnection {
151
152
  fail(new Error(`Server error: ${decrypted.msg?.code} - ${decrypted.msg?.detail}`));
152
153
  return;
153
154
  }
155
+ // Window control (tab bar state) is not stream-scoped, so it must be handled
156
+ // before dispatchStreamFrame (which keys off `msg.sid`). It rides the session
157
+ // GLOBAL counter, mirroring AUTH_PW / ERROR — not a per-stream counter.
158
+ if (frame.type === FrameType.WINDOW_CTL) {
159
+ await this.handleWindowCtl(frame);
160
+ return;
161
+ }
154
162
  // Post-handshake stream frames.
155
163
  await this.dispatchStreamFrame(frame);
156
164
  }
@@ -204,6 +212,48 @@ export class InvokeConnection {
204
212
  }
205
213
  }
206
214
  }
215
+ // Decode an incoming WINDOW_CTL frame. Framing matches STREAM_* (CBOR
216
+ // `{ ctr, msg }` under `streamAead` + `frameAad(WINDOW_CTL, dir)`), but the
217
+ // counter is the SESSION GLOBAL incoming counter, not a per-stream one. A
218
+ // counter hiccup drops just this frame rather than tearing down the terminal.
219
+ async handleWindowCtl(frame) {
220
+ if (!this.sessionKeys)
221
+ return;
222
+ const aad = frameAad(FrameType.WINDOW_CTL, AeadDir.ServerToClient);
223
+ const plaintext = await streamAeadDecrypt(this.sessionKeys.K_enc, frame.payload, aad);
224
+ const message = decode(plaintext);
225
+ if (!message || typeof message.ctr !== 'number')
226
+ return;
227
+ try {
228
+ this.counters.incoming.validate(message.ctr);
229
+ }
230
+ catch {
231
+ return; // out-of-order / replayed control frame: ignore
232
+ }
233
+ if (message.msg?.kind === 'window-state') {
234
+ this.onWindowStateCb?.(message.msg);
235
+ }
236
+ }
237
+ // Send a client->server window op on the WINDOW_CTL channel. Uses the session
238
+ // GLOBAL outgoing counter (like AUTH_PW), streamAead + ClientToServer AAD.
239
+ async sendWindowCtl(op) {
240
+ if (!this.sessionKeys)
241
+ return;
242
+ const ctr = this.counters.outgoing.next();
243
+ const plaintext = encode({ ctr, msg: op });
244
+ const aad = frameAad(FrameType.WINDOW_CTL, AeadDir.ClientToServer);
245
+ const ct = await streamAeadEncrypt(this.sessionKeys.K_enc, plaintext, aad);
246
+ this.ws.send(encodeFrame(FrameType.WINDOW_CTL, ct));
247
+ }
248
+ /** Register a callback invoked whenever the server broadcasts window-state. */
249
+ onWindowState(cb) {
250
+ this.onWindowStateCb = cb;
251
+ }
252
+ newWindow() { void this.sendWindowCtl({ v: 1, kind: 'op', op: 'new-window' }); }
253
+ nextWindow() { void this.sendWindowCtl({ v: 1, kind: 'op', op: 'next-window' }); }
254
+ prevWindow() { void this.sendWindowCtl({ v: 1, kind: 'op', op: 'prev-window' }); }
255
+ selectWindow(index) { void this.sendWindowCtl({ v: 1, kind: 'op', op: 'select-window', index }); }
256
+ closeWindow(index) { void this.sendWindowCtl({ v: 1, kind: 'op', op: 'close-window', index }); }
207
257
  async sendStream(type, sid, msgBody) {
208
258
  const ctr = this.streamCounters.getNext(sid, 'outgoing');
209
259
  const plaintext = encode({ ctr, msg: { v: 1, sid, ...msgBody } });
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../src/connection.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AAMA,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,EACT,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAC3F,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA+Cf"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"AA+CA,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,MAAM,EACT,OAAO,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,EAC3F,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CA6If"}
package/dist/terminal.js CHANGED
@@ -2,6 +2,45 @@ import { OutputHandler, parseOutputMode } from '@thenewlabs/entangle-utils';
2
2
  import { InvokeConnection } from './connection.js';
3
3
  import { promptHidden } from './prompt.js';
4
4
  const output = new OutputHandler({ mode: parseOutputMode(process.env.OUTPUT_MODE || 'text') });
5
+ // Prefix key: Ctrl-B (like tmux). After it, a single command byte drives windows.
6
+ const PREFIX = 0x02; // Ctrl-B
7
+ // ANSI helpers for the reserved tmux-style bar on the BOTTOM row.
8
+ const SAVE_CURSOR = '\x1b7'; // DECSC: cursor position + attributes
9
+ const RESTORE_CURSOR = '\x1b8'; // DECRC
10
+ // Blue tmux-style bar to match the host: dim blue bar background, brighter blue
11
+ // for the active tab, bright white text, and a full reset at the end.
12
+ const BAR_BG = '\x1b[48;5;25m'; // bar background (blue)
13
+ const ACTIVE_BG = '\x1b[48;5;33m'; // active tab background (brighter blue)
14
+ const TEXT = '\x1b[97m'; // bright white text
15
+ const RESET = '\x1b[0m';
16
+ // Build the full-width bottom bar, e.g. ` 1:shell 2:logs 3:build ` on a blue
17
+ // background, with the active window's tab in a brighter blue. The line is
18
+ // padded/truncated to exactly `cols` visible columns so it fills the row.
19
+ function renderTabBar(state, cols) {
20
+ let out = `${BAR_BG}${TEXT}`;
21
+ let width = 0;
22
+ state.windows.forEach((w, i) => {
23
+ if (width >= cols)
24
+ return;
25
+ const title = w.title || 'window';
26
+ let label = ` ${i + 1}:${title} `;
27
+ const remaining = cols - width;
28
+ if (label.length > remaining)
29
+ label = label.slice(0, remaining);
30
+ width += label.length;
31
+ out += i === state.activeIndex ? `${ACTIVE_BG}${label}${BAR_BG}` : label;
32
+ });
33
+ if (width < cols)
34
+ out += ' '.repeat(cols - width); // pad the rest of the bar
35
+ return `${out}${RESET}`;
36
+ }
37
+ // Repaint the bottom bar (row `rows`) without disturbing the shell's cursor. The
38
+ // scroll region keeps shell output off row `rows`; absolute CUP (`\x1b[<rows>;1H`)
39
+ // ignores the scroll region because origin mode (DECOM) is off by default.
40
+ function drawTabBar(state, cols, rows) {
41
+ const bar = renderTabBar(state, cols);
42
+ process.stdout.write(`${SAVE_CURSOR}\x1b[${rows};1H\x1b[2K${bar}${RESTORE_CURSOR}`);
43
+ }
5
44
  export async function openTerminal(wsUrl, S, options, password) {
6
45
  const { cwd, cols = 80, rows = 24 } = options;
7
46
  const capId = wsUrl.split('/').pop();
@@ -9,7 +48,22 @@ export async function openTerminal(wsUrl, S, options, password) {
9
48
  await conn.connect(wsUrl);
10
49
  output.info('Authenticated');
11
50
  await new Promise((resolve) => {
51
+ let scrollRegionSet = false;
52
+ let repaintTimer;
12
53
  const cleanup = () => {
54
+ // Restore the terminal: stop the tab-bar repaint, drop the scroll region,
55
+ // clear, home the cursor, then return stdin to cooked mode.
56
+ if (repaintTimer) {
57
+ clearInterval(repaintTimer);
58
+ repaintTimer = undefined;
59
+ }
60
+ if (scrollRegionSet) {
61
+ try {
62
+ process.stdout.write('\x1b[r\x1b[2J\x1b[H');
63
+ }
64
+ catch { }
65
+ scrollRegionSet = false;
66
+ }
13
67
  if (process.stdin.isTTY) {
14
68
  try {
15
69
  process.stdin.setRawMode(false);
@@ -18,18 +72,110 @@ export async function openTerminal(wsUrl, S, options, password) {
18
72
  }
19
73
  process.stdin.pause();
20
74
  };
21
- const handle = conn.openPty({ cols, rows, ...(cwd ? { cwd } : {}) }, {
75
+ // Physical terminal geometry, falling back to the negotiated size.
76
+ const termCols = () => process.stdout.columns || cols;
77
+ const termRows = () => process.stdout.rows || rows;
78
+ // Reserve the BOTTOM row for the bar: the shell area is rows 1..rows-1, so
79
+ // the pty gets one fewer row than the physical terminal.
80
+ const shellRows = () => Math.max(1, termRows() - 1);
81
+ // Last window-state the server sent us; drives the tab bar and `prefix-x`.
82
+ let lastState;
83
+ let tabBarDirty = false;
84
+ conn.onWindowState((state) => {
85
+ lastState = state;
86
+ tabBarDirty = false; // a fresh full repaint below supersedes any pending one
87
+ drawTabBar(state, termCols(), termRows());
88
+ });
89
+ // A shell `clear`, a full-screen app, or the server's switch repaint emits a
90
+ // full-screen clear that blanks the reserved bottom row until the next
91
+ // window-state (which may never arrive for a plain `clear`). So after any pty
92
+ // output we mark the tab bar dirty and repaint it from the last known state
93
+ // on a small coalescing interval (unref'd so it never keeps the process up).
94
+ repaintTimer = setInterval(() => {
95
+ if (!tabBarDirty || !lastState)
96
+ return;
97
+ tabBarDirty = false;
98
+ drawTabBar(lastState, termCols(), termRows());
99
+ }, 60);
100
+ repaintTimer.unref?.();
101
+ // Ctrl-B prefix state machine over stdin. When the prefix is seen, the next
102
+ // byte is a window command; every other byte forwards to the shell pty.
103
+ let prefixArmed = false;
104
+ const onStdin = (d) => {
105
+ const bytes = new Uint8Array(d);
106
+ let passthrough = [];
107
+ const flush = () => {
108
+ if (passthrough.length) {
109
+ handle.write(new Uint8Array(passthrough));
110
+ passthrough = [];
111
+ }
112
+ };
113
+ for (const b of bytes) {
114
+ if (prefixArmed) {
115
+ prefixArmed = false;
116
+ if (b === PREFIX) {
117
+ // Ctrl-B Ctrl-B: send a literal Ctrl-B to the shell.
118
+ passthrough.push(PREFIX);
119
+ continue;
120
+ }
121
+ flush(); // deliver any queued shell input before acting on the command
122
+ if (b === 0x63)
123
+ conn.newWindow(); // 'c'
124
+ else if (b === 0x6e)
125
+ conn.nextWindow(); // 'n'
126
+ else if (b === 0x70)
127
+ conn.prevWindow(); // 'p'
128
+ else if (b === 0x78) { // 'x' close active
129
+ if (lastState && lastState.activeIndex >= 0)
130
+ conn.closeWindow(lastState.activeIndex);
131
+ }
132
+ else if (b >= 0x30 && b <= 0x39) { // '1'..'9' -> 0..8, '0' -> 9
133
+ // Tabs are labelled 1-based ("1:shell" = index 0), so digit 1..9
134
+ // selects window 0..8 and 0 selects window 9 (ignored if OOR).
135
+ const digit = b - 0x30;
136
+ conn.selectWindow(digit === 0 ? 9 : digit - 1);
137
+ }
138
+ // Any other byte after the prefix is ignored.
139
+ continue;
140
+ }
141
+ if (b === PREFIX) {
142
+ flush();
143
+ prefixArmed = true;
144
+ continue;
145
+ }
146
+ passthrough.push(b);
147
+ }
148
+ flush();
149
+ };
150
+ const handle = conn.openPty({ cols, rows: shellRows(), ...(cwd ? { cwd } : {}) }, {
22
151
  onOpened: () => {
23
152
  if (process.stdin.isTTY)
24
153
  process.stdin.setRawMode(true);
154
+ // Reserve the bottom row: scroll region = rows 1..rows-1, so the shell
155
+ // can never scroll over the bar.
156
+ process.stdout.write(`\x1b[1;${shellRows()}r`);
157
+ scrollRegionSet = true;
158
+ if (lastState)
159
+ drawTabBar(lastState, termCols(), termRows());
25
160
  process.stdin.resume();
26
- process.stdin.on('data', (d) => handle.write(new Uint8Array(d)));
161
+ process.stdin.on('data', onStdin);
27
162
  process.stdout.on('resize', () => {
28
- handle.resize(process.stdout.columns || 80, process.stdout.rows || 24);
163
+ // (a) Drop the scroll region so the resize can't corrupt the reserved
164
+ // row, (b) resize the pty — this emits a STREAM_RESIZE which the server
165
+ // answers with a clear + active-window replay, so we do NOT locally
166
+ // reconstruct the screen, (c) re-establish the reserved region for the
167
+ // new size, and (d) redraw the bottom bar.
168
+ process.stdout.write('\x1b[r');
169
+ handle.resize(termCols(), shellRows());
170
+ process.stdout.write(`\x1b[1;${shellRows()}r`);
171
+ if (lastState)
172
+ drawTabBar(lastState, termCols(), termRows());
29
173
  });
30
174
  },
31
175
  onData: (chunk) => {
32
176
  process.stdout.write(Buffer.from(chunk));
177
+ // Shell output may have cleared the bottom row; schedule a coalesced repaint.
178
+ tabBarDirty = true;
33
179
  },
34
180
  onExit: (code, signal) => {
35
181
  output.info(`Terminal exited: code=${code}, signal=${signal}`);
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../src/terminal.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thenewlabs/entangle-connect",
3
- "version": "2.3.0",
3
+ "version": "2.5.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -12,9 +12,9 @@
12
12
  "prepublishOnly": "npm run build"
13
13
  },
14
14
  "dependencies": {
15
- "@thenewlabs/entangle-crypto": "^2.3.0",
16
- "@thenewlabs/entangle-protocol": "^2.3.0",
17
- "@thenewlabs/entangle-utils": "^2.3.0",
15
+ "@thenewlabs/entangle-crypto": "^2.5.0",
16
+ "@thenewlabs/entangle-protocol": "^2.5.0",
17
+ "@thenewlabs/entangle-utils": "^2.5.0",
18
18
  "cborg": "^4.5.8",
19
19
  "commander": "^15.0.0",
20
20
  "ws": "^8.21.0"