@thenewlabs/entangle-serve 2.13.0 → 2.15.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.
@@ -56,12 +56,20 @@ async function sendEncrypted(session, frameType, message, sid) {
56
56
  // Ordering matters: the 'opened' confirmation and the replay snapshot must be
57
57
  // the first frames the client sees for this sid, so any live output produced
58
58
  // during setup is buffered and flushed only after they are sent.
59
- async function handleSharedAttach(session, _message) {
60
- const workspace = session.sharedWorkspace;
59
+ async function handleSharedAttach(session, message) {
60
+ // Multi-workspace selection: the workspace KEY and initial CWD ride the pty
61
+ // open's `exec` field — argv[0] is the key (a Locus tab id), `cwd` the tab's
62
+ // directory. Absent/empty argv → key undefined → the resolver's default
63
+ // workspace (back-compat with clients that send no key). argv beyond [0] is
64
+ // ignored here: in shared mode it is never executed as a command.
65
+ const exec = message.msg?.exec;
66
+ const key = exec?.argv && exec.argv.length > 0 ? exec.argv[0] : undefined;
67
+ const cwd = exec?.cwd;
68
+ const workspace = session.getWorkspace(key, cwd);
61
69
  const sid = randomBytes(8).toString('base64url');
62
- if (!session.sharedViewers)
63
- session.sharedViewers = new Set();
64
- session.sharedViewers.add(sid);
70
+ if (!session.viewerWorkspaces)
71
+ session.viewerWorkspaces = new Map();
72
+ session.viewerWorkspaces.set(sid, workspace);
65
73
  let live = false;
66
74
  const pending = [];
67
75
  const { replay } = workspace.attachViewport({
@@ -74,10 +82,10 @@ async function handleSharedAttach(session, _message) {
74
82
  void sendStreamData(session, sid, chunk, 'stdout');
75
83
  },
76
84
  onExit: (code, signal) => {
77
- session.sharedViewers?.delete(sid);
85
+ session.viewerWorkspaces?.delete(sid);
78
86
  void sendStreamExit(session, sid, code, signal);
79
87
  },
80
- onWindowState: (state) => { void sendWindowState(session, state); },
88
+ onWindowState: (state) => { void sendWindowState(session, sid, state); },
81
89
  });
82
90
  // Confirm the open with the agent-assigned sid (first frame for this sid).
83
91
  const openedMsg = {
@@ -96,23 +104,26 @@ async function handleSharedAttach(session, _message) {
96
104
  }
97
105
  // Populate the client's tab bar with THIS viewport's own window state (its
98
106
  // active index), not the host's global view.
99
- await sendWindowState(session, workspace.windowStateForViewport(sid));
107
+ await sendWindowState(session, sid, workspace.windowStateForViewport(sid));
100
108
  }
101
- // This viewer's pty viewport sid the key its per-viewport window ops apply to.
102
- // A session's `sharedViewers` holds only pty-viewport sids (they are added only
103
- // in handleSharedAttach), so the first one is the pty viewport.
104
- function ptyViewportSid(session) {
105
- if (!session.sharedViewers)
109
+ // Fallback viewport sid for a window op that carried no explicit `sid` (a legacy
110
+ // single-viewport client). A session's `viewerWorkspaces` holds only pty-viewport
111
+ // sids (added only in handleSharedAttach), so the first one is the pty viewport.
112
+ // Multi-viewport clients always send an explicit sid, so this fallback only ever
113
+ // fires for the single-viewport back-compat case.
114
+ function firstViewerSid(session) {
115
+ if (!session.viewerWorkspaces)
106
116
  return undefined;
107
- for (const sid of session.sharedViewers)
117
+ for (const sid of session.viewerWorkspaces.keys())
108
118
  return sid;
109
119
  return undefined;
110
120
  }
111
121
  // Handle stream open request
112
122
  async function handleStreamOpen(session, message) {
113
- // In shared-workspace mode a PTY open binds a viewport to the workspace; a
114
- // 'cmd' open still spawns normally so one-off `connect <url> ls` keeps working.
115
- if (session.sharedWorkspace && message.msg?.mode === 'pty') {
123
+ // In shared-workspace mode a PTY open binds a viewport to a workspace (the
124
+ // resolver picks which); a 'cmd' open still spawns normally so one-off
125
+ // `connect <url> ls` keeps working.
126
+ if (session.getWorkspace && message.msg?.mode === 'pty') {
116
127
  await handleSharedAttach(session, message);
117
128
  return;
118
129
  }
@@ -188,9 +199,11 @@ async function handleStreamOpen(session, message) {
188
199
  }
189
200
  // Handle stream data (stdin)
190
201
  async function handleStreamData(session, message) {
191
- // Collaborative input: a viewport's keystrokes merge into the ACTIVE window.
192
- if (session.sharedViewers?.has(message.msg.sid)) {
193
- session.sharedWorkspace?.writeFromViewport(message.msg.sid, message.msg.chunk);
202
+ // Collaborative input: a viewport's keystrokes merge into ITS workspace's
203
+ // active window.
204
+ const inputWs = session.viewerWorkspaces?.get(message.msg.sid);
205
+ if (inputWs) {
206
+ inputWs.writeFromViewport(message.msg.sid, message.msg.chunk);
194
207
  return;
195
208
  }
196
209
  if (!session.streamManager) {
@@ -218,13 +231,13 @@ async function handleStreamResize(session, message) {
218
231
  // TTY, e.g. Locus): there the browser viewport IS the terminal, so its resize
219
232
  // reshapes the whole workspace — otherwise every shell would stay at the
220
233
  // 80×24 construction default forever.
221
- if (session.sharedViewers?.has(message.msg.sid)) {
222
- const workspace = session.sharedWorkspace;
223
- if (workspace?.viewerResizeAuthoritative) {
224
- workspace.resize(message.msg.cols, message.msg.rows);
234
+ const resizeWs = session.viewerWorkspaces?.get(message.msg.sid);
235
+ if (resizeWs) {
236
+ if (resizeWs.viewerResizeAuthoritative) {
237
+ resizeWs.resize(message.msg.cols, message.msg.rows);
225
238
  }
226
239
  else {
227
- workspace?.repaintViewportScreen(message.msg.sid);
240
+ resizeWs.repaintViewportScreen(message.msg.sid);
228
241
  }
229
242
  return;
230
243
  }
@@ -244,7 +257,7 @@ async function handleStreamSignal(session, message) {
244
257
  // In the shared shell, control chars (e.g. Ctrl-C) arrive as raw data and are
245
258
  // written through; explicit signal frames from a viewer are ignored so one
246
259
  // participant can't kill the shell out from under the others.
247
- if (session.sharedViewers?.has(message.msg.sid))
260
+ if (session.viewerWorkspaces?.has(message.msg.sid))
248
261
  return;
249
262
  if (!session.streamManager) {
250
263
  await sendStreamError(session, message.msg.sid, 'No active streams');
@@ -259,11 +272,12 @@ async function handleStreamSignal(session, message) {
259
272
  }
260
273
  // Handle stream close
261
274
  async function handleStreamClose(session, message) {
262
- // A viewport leaving the shared workspace just detaches — the windows keep
263
- // running for everyone else.
264
- if (session.sharedViewers?.has(message.msg.sid)) {
265
- session.sharedViewers.delete(message.msg.sid);
266
- session.sharedWorkspace?.detachViewport(message.msg.sid);
275
+ // A viewport leaving its workspace just detaches — the windows keep running
276
+ // for everyone else.
277
+ const closeWs = session.viewerWorkspaces?.get(message.msg.sid);
278
+ if (closeWs) {
279
+ session.viewerWorkspaces.delete(message.msg.sid);
280
+ closeWs.detachViewport(message.msg.sid);
267
281
  const closedMsg = {
268
282
  ctr: 0,
269
283
  msg: { v: 1, kind: 'closed', sid: message.msg.sid },
@@ -333,47 +347,50 @@ async function sendStreamError(session, sid, error) {
333
347
  };
334
348
  await sendEncrypted(session, FrameType.STREAM_ERROR, msg, sid);
335
349
  }
336
- // Send a window-state broadcast to this client's viewport(s). WINDOW_CTL frames
337
- // are not stream-scoped, so they ride the session GLOBAL counter (the same
338
- // sequence AUTH_PW / ERROR use), not a per-stream counter.
339
- async function sendWindowState(session, state) {
350
+ // Send a window-state push for a specific viewport. WINDOW_CTL frames are not
351
+ // stream-scoped, so they ride the session GLOBAL counter (the same sequence
352
+ // AUTH_PW / ERROR use), not a per-stream counter. The viewport's pty `sid` is
353
+ // carried IN the message body (additive optional field) so a multi-viewport
354
+ // client can route the state to the owning stream handle; single-viewport
355
+ // clients ignore it.
356
+ async function sendWindowState(session, sid, state) {
340
357
  const msg = {
341
358
  ctr: session.counters.outgoing.next(),
342
- msg: state,
359
+ msg: { ...state, sid },
343
360
  };
344
361
  await sendEncrypted(session, FrameType.WINDOW_CTL, msg);
345
362
  }
346
- // Handle a client->server window operation (WINDOW_CTL). Window ops drive THIS
347
- // viewer's OWN active window (keyed by its pty-viewport sid), so viewers can sit
348
- // on different windows independently; the workspace pushes each affected
349
- // viewport its own window-state and repaints. Rename mutates the shared window
350
- // list, so it stays global and re-broadcasts to everyone.
363
+ // Handle a client->server window operation (WINDOW_CTL). Window ops drive the
364
+ // active window of the TARGET viewport, so viewers/tabs can sit on different
365
+ // windows independently; the workspace pushes each affected viewport its own
366
+ // window-state and repaints. The op names its viewport via `op.sid` (additive
367
+ // field): with several pty viewports on one connection, "the first viewport" is
368
+ // no longer a valid assumption. A legacy op without a sid falls back to the
369
+ // session's first/only viewport. The workspace is resolved BY that sid, so an op
370
+ // always lands on the workspace the viewport is actually attached to.
351
371
  async function handleWindowCtl(session, message) {
352
- const workspace = session.sharedWorkspace;
372
+ const op = message.msg;
373
+ const sid = op.sid ?? firstViewerSid(session);
374
+ if (!sid)
375
+ return;
376
+ const workspace = session.viewerWorkspaces?.get(sid);
353
377
  if (!workspace)
354
378
  return;
355
- const sid = ptyViewportSid(session);
356
- const op = message.msg;
357
379
  switch (op.op) {
358
380
  case 'new-window':
359
- if (sid)
360
- workspace.newWindowForViewport(sid);
381
+ workspace.newWindowForViewport(sid);
361
382
  break;
362
383
  case 'next-window':
363
- if (sid)
364
- workspace.nextWindowForViewport(sid);
384
+ workspace.nextWindowForViewport(sid);
365
385
  break;
366
386
  case 'prev-window':
367
- if (sid)
368
- workspace.prevWindowForViewport(sid);
387
+ workspace.prevWindowForViewport(sid);
369
388
  break;
370
389
  case 'select-window':
371
- if (sid)
372
- workspace.selectWindowForViewport(sid, op.index);
390
+ workspace.selectWindowForViewport(sid, op.index);
373
391
  break;
374
392
  case 'close-window':
375
- if (sid)
376
- workspace.closeWindowFromViewport(sid, op.index);
393
+ workspace.closeWindowFromViewport(sid, op.index);
377
394
  break;
378
395
  case 'rename-window':
379
396
  workspace.renameWindow(op.index, op.title);
@@ -404,8 +421,16 @@ export async function handleMultiStreamFrame(session, frame) {
404
421
  terminateSession(session, 'Malformed message envelope');
405
422
  return;
406
423
  }
407
- // For stream messages, verify per-stream counter
408
- if (message.msg && typeof message.msg.sid === 'string') {
424
+ // WINDOW_CTL and KEEPALIVE ride the SESSION GLOBAL counter, never a
425
+ // per-stream one even though a WINDOW_CTL op now carries a `sid` (the
426
+ // target VIEWPORT for attribution, not a stream-counter selector). Keying the
427
+ // counter off `msg.sid` here would route these onto a per-stream sequence the
428
+ // client never uses and trip the replay defense. Only genuine STREAM_* frames
429
+ // (which carry the stream's own sid) use the per-stream counter.
430
+ const streamScoped = frame.type !== FrameType.WINDOW_CTL &&
431
+ frame.type !== FrameType.KEEPALIVE &&
432
+ message.msg && typeof message.msg.sid === 'string';
433
+ if (streamScoped) {
409
434
  const sid = message.msg.sid;
410
435
  const expectedCounter = session.streamCounters.getNext(sid, 'incoming');
411
436
  if (message.ctr !== expectedCounter) {
@@ -415,7 +440,7 @@ export async function handleMultiStreamFrame(session, frame) {
415
440
  session.streamCounters.increment(sid, 'incoming');
416
441
  }
417
442
  else {
418
- // Non-stream messages use global counter
443
+ // Non-stream messages (incl. WINDOW_CTL / KEEPALIVE) use the global counter.
419
444
  try {
420
445
  session.counters.incoming.validate(message.ctr);
421
446
  }
@@ -518,12 +543,17 @@ export async function handleMultiStreamFrame(session, frame) {
518
543
  }
519
544
  // Clean up session
520
545
  export function cleanupMultiSession(session) {
521
- // Detach this invoker's viewports from the workspace without killing windows.
522
- if (session.sharedViewers && session.sharedWorkspace) {
523
- for (const sid of session.sharedViewers) {
524
- session.sharedWorkspace.detachViewport(sid);
546
+ // Detach this invoker's viewports from their workspaces without killing
547
+ // windows. Each viewport may belong to a DIFFERENT workspace (multi-workspace),
548
+ // so detach each on the workspace it actually attached to.
549
+ if (session.viewerWorkspaces) {
550
+ for (const [sid, ws] of session.viewerWorkspaces) {
551
+ try {
552
+ ws.detachViewport(sid);
553
+ }
554
+ catch { /* best effort */ }
525
555
  }
526
- session.sharedViewers.clear();
556
+ session.viewerWorkspaces.clear();
527
557
  }
528
558
  if (session.streamManager) {
529
559
  session.streamManager.closeAllStreams('Session cleanup');
@@ -1 +1 @@
1
- {"version":3,"file":"multi-session.js","sourceRoot":"","sources":["../src/multi-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-session.js","sourceRoot":"","sources":["../src/multi-session.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,12 @@ export declare class RemoteHostSession implements HostSession {
76
76
  * the host UI tears its terminal down (host-terminal's restore() runs on exit).
77
77
  */
78
78
  detach(): void;
79
+ /**
80
+ * End the WHOLE session (host UI Ctrl-B q): ask the daemon to shut down. The
81
+ * daemon broadcasts `exit` and closes the sockets, which drives this client's
82
+ * normal exit path — so no local teardown here.
83
+ */
84
+ kill(): void;
79
85
  /** Tear down: end the socket (no exit fired — the caller is disposing us). */
80
86
  dispose(): void;
81
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"remote-host-session.d.ts","sourceRoot":"","sources":["../src/remote-host-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-host-session.d.ts","sourceRoot":"","sources":["../src/remote-host-session.ts"],"names":[],"mappings":"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"}
@@ -180,6 +180,14 @@ export class RemoteHostSession {
180
180
  catch { /* already ending */ }
181
181
  this.fireExit(null, null);
182
182
  }
183
+ /**
184
+ * End the WHOLE session (host UI Ctrl-B q): ask the daemon to shut down. The
185
+ * daemon broadcasts `exit` and closes the sockets, which drives this client's
186
+ * normal exit path — so no local teardown here.
187
+ */
188
+ kill() {
189
+ this.send({ t: 'kill' });
190
+ }
183
191
  /** Tear down: end the socket (no exit fired — the caller is disposing us). */
184
192
  dispose() {
185
193
  this.closed = true;
@@ -1 +1 @@
1
- {"version":3,"file":"remote-host-session.js","sourceRoot":"","sources":["../src/remote-host-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-host-session.js","sourceRoot":"","sources":["../src/remote-host-session.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -2,7 +2,7 @@ import WebSocket from 'ws';
2
2
  import { type DerivedKeys } from '@thenewlabs/entangle-crypto';
3
3
  import { BidirectionalCounters, type PipeEndpoint } from '@thenewlabs/entangle-utils';
4
4
  import type { CapabilityInfo } from './capability.js';
5
- import type { SharedWorkspace } from './shared-workspace.js';
5
+ import { type WorkspaceResolver } from './multi-session.js';
6
6
  export interface Session {
7
7
  socketId: string;
8
8
  ws: WebSocket;
@@ -19,10 +19,10 @@ export interface Session {
19
19
  nonceC?: string;
20
20
  auth1Seen?: boolean;
21
21
  pipeEndpoints?: Map<string, PipeEndpoint>;
22
- sharedWorkspace?: SharedWorkspace | undefined;
22
+ getWorkspace?: WorkspaceResolver | undefined;
23
23
  }
24
24
  export declare function sendRelayResponse(session: Session, frame: Uint8Array): void;
25
- export declare function handleInvokerConnection(agentWs: WebSocket, socketId: string, cap: CapabilityInfo, passwordHash?: string, pipeEndpoints?: Map<string, PipeEndpoint>, sharedWorkspace?: SharedWorkspace): {
25
+ export declare function handleInvokerConnection(agentWs: WebSocket, socketId: string, cap: CapabilityInfo, passwordHash?: string, pipeEndpoints?: Map<string, PipeEndpoint>, getWorkspace?: WorkspaceResolver): {
26
26
  handleFrame: (data: Buffer) => Promise<void>;
27
27
  cleanup: () => void;
28
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAO3B,OAAO,EAWL,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,qBAAqB,EAErB,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS7D,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;CAC/C;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAM3E;AAMD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACzC,eAAe,CAAC,EAAE,eAAe,GAChC;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAqCvE"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAO3B,OAAO,EAWL,KAAK,WAAW,EACjB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,qBAAqB,EAErB,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAA+C,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAQzG,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,EAAE,cAAc,CAAC;IACpB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,WAAW,CAAC;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,qBAAqB,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAI1C,YAAY,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC9C;AAGD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI,CAM3E;AAMD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACzC,YAAY,CAAC,EAAE,iBAAiB,GAC/B;IAAE,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAqCvE"}
package/dist/session.js CHANGED
@@ -20,7 +20,7 @@ export function sendRelayResponse(session, frame) {
20
20
  // before the next relay message is processed; an `await` here would defer that
21
21
  // by a microtask and drop the AUTH1 that the client sends immediately after
22
22
  // connecting (breaking concurrent sessions on the same capability).
23
- export function handleInvokerConnection(agentWs, socketId, cap, passwordHash, pipeEndpoints, sharedWorkspace) {
23
+ export function handleInvokerConnection(agentWs, socketId, cap, passwordHash, pipeEndpoints, getWorkspace) {
24
24
  const session = {
25
25
  socketId,
26
26
  ws: agentWs,
@@ -31,7 +31,7 @@ export function handleInvokerConnection(agentWs, socketId, cap, passwordHash, pi
31
31
  requiresPassword: !!passwordHash,
32
32
  passwordHash: passwordHash || undefined,
33
33
  ...(pipeEndpoints && { pipeEndpoints }),
34
- sharedWorkspace,
34
+ getWorkspace,
35
35
  };
36
36
  const reader = new FrameReader();
37
37
  const store = {};
@@ -93,8 +93,8 @@ async function handleFrame(session, store, frame) {
93
93
  requiresPassword: session.requiresPassword,
94
94
  passwordVerified: session.passwordVerified,
95
95
  ...(session.pipeEndpoints && { pipeEndpoints: session.pipeEndpoints }),
96
- sharedWorkspace: session.sharedWorkspace,
97
- sharedViewers: new Set(),
96
+ getWorkspace: session.getWorkspace,
97
+ viewerWorkspaces: new Map(),
98
98
  };
99
99
  }
100
100
  // Keep dynamic gating fields fresh (password may be verified after streams open attempts)
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
@@ -62,6 +62,14 @@ export declare class SharedWorkspace {
62
62
  /** Per-viewport active window index, keyed by sid. Defaults to 0 on attach. */
63
63
  private viewportActive;
64
64
  private exited;
65
+ /** Set by {@link kill}; suppresses any pending/future persistent respawn. */
66
+ private killed;
67
+ /** Consecutive fast-fail respawns (reset once a shell survives RESPAWN_HEALTHY_MS). */
68
+ private respawnStreak;
69
+ /** Wall-clock of the last persistent respawn ATTEMPT (to measure shell lifetime). */
70
+ private lastRespawnSpawnAt;
71
+ /** Pending backoff timer for the next persistent respawn, if any. */
72
+ private respawnTimer?;
65
73
  private readonly cwd?;
66
74
  private readonly maxWindows;
67
75
  private hostDataCb?;
@@ -254,6 +262,24 @@ export declare class SharedWorkspace {
254
262
  * one that vanished).
255
263
  */
256
264
  private rehomeAfterClose;
265
+ /**
266
+ * Bring a fresh shell back after the last window of a PERSISTENT workspace
267
+ * exits — WITHOUT ever tight-looping.
268
+ *
269
+ * A normal exit (the shell ran a real session, then the user typed `exit`)
270
+ * respawns immediately, exactly as before. But a shell that CANNOT stay up —
271
+ * an unusable cwd (the tab's directory deleted/renamed mid-session), a
272
+ * missing/misconfigured shell — exits the instant it starts. The previous
273
+ * unconditional synchronous respawn turned that into an unbounded tight loop:
274
+ * respawn → instant exit → respawn …, which pegs a core, churns PTYs + headless
275
+ * emulators, floods logs and eventually exhausts fds/PIDs — taking the whole
276
+ * daemon (and every attached client, local TTY included) down, i.e. the
277
+ * "durable" workspace ENDS after a while. So consecutive fast failures are
278
+ * backed off exponentially (capped); a shell that survives
279
+ * {@link RESPAWN_HEALTHY_MS} resets the streak to the immediate path. The
280
+ * workspace itself never ends — it keeps trying to bring a shell back.
281
+ */
282
+ private respawnPersistentShell;
257
283
  private handleWindowExit;
258
284
  }
259
285
  //# sourceMappingURL=shared-workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"shared-workspace.d.ts","sourceRoot":"","sources":["../src/shared-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-workspace.d.ts","sourceRoot":"","sources":["../src/shared-workspace.ts"],"names":[],"mappings":"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"}