@thenewlabs/entangle-serve 2.14.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.
package/dist/agent.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type PipeEndpoint } from '@thenewlabs/entangle-utils';
2
2
  import { type CapabilityInfo } from './capability.js';
3
3
  import type { SharedWorkspace } from './shared-workspace.js';
4
+ import type { WorkspaceResolver } from './multi-session.js';
4
5
  interface AgentOptions {
5
6
  serverUrl: string;
6
7
  outputMode?: string;
@@ -8,6 +9,7 @@ interface AgentOptions {
8
9
  pinnedCapability?: CapabilityInfo;
9
10
  pipeEndpoints?: Map<string, PipeEndpoint>;
10
11
  sharedWorkspace?: SharedWorkspace;
12
+ getWorkspace?: WorkspaceResolver;
11
13
  onCapabilityReady?: (info: {
12
14
  link: string;
13
15
  capId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1G,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAGlC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAG1C,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAChF;AA4BD,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwDrE"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAEA,OAAO,EAA6C,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG1G,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,UAAU,YAAY;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,cAAc,CAAC;IAGlC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAI1C,eAAe,CAAC,EAAE,eAAe,CAAC;IAMlC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAGjC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAChF;AA8BD,wBAAsB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA+DrE"}
package/dist/agent.js CHANGED
@@ -22,6 +22,11 @@ export async function startAgent(options) {
22
22
  for (const [name, endpoint] of options.pipeEndpoints)
23
23
  pipeEndpoints.set(name, endpoint);
24
24
  }
25
+ // A multi-workspace resolver wins; otherwise a single sharedWorkspace is served
26
+ // via a constant resolver that ignores the key+cwd (back-compat). Either way
27
+ // the rest of the agent only ever sees `getWorkspace`.
28
+ const getWorkspace = options.getWorkspace ??
29
+ (options.sharedWorkspace ? () => options.sharedWorkspace : undefined);
25
30
  const state = {
26
31
  capabilities: new Map(),
27
32
  serverUrl: options.serverUrl,
@@ -29,7 +34,7 @@ export async function startAgent(options) {
29
34
  pipeEndpoints,
30
35
  ...(options.outputMode && { outputMode: options.outputMode }),
31
36
  ...(options.password && { password: options.password }),
32
- ...(options.sharedWorkspace && { sharedWorkspace: options.sharedWorkspace }),
37
+ ...(getWorkspace && { getWorkspace }),
33
38
  ...(options.onCapabilityReady && { onCapabilityReady: options.onCapabilityReady }),
34
39
  };
35
40
  output.info('Starting agent');
@@ -129,7 +134,7 @@ async function connectToServer(state, serverUrl) {
129
134
  state.output.info(`Invoker connected: socketId=${socketId}, capId=${capId}`);
130
135
  // Register synchronously (no await) so the session exists before this
131
136
  // invoker's AUTH1 arrives on the next relay message.
132
- const session = handleInvokerConnection(state.ws, socketId, cap, state.passwordHash, state.pipeEndpoints, state.sharedWorkspace);
137
+ const session = handleInvokerConnection(state.ws, socketId, cap, state.passwordHash, state.pipeEndpoints, state.getWorkspace);
133
138
  relaySessions.set(socketId, session);
134
139
  }
135
140
  else if (msg.type === 'RELAY_MSG') {
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,20 @@ import { BidirectionalCounters, StreamCounters, type PipeEndpoint } from '@thene
5
5
  import { StreamManager } from './stream-manager.js';
6
6
  import type { CapabilityInfo } from './capability.js';
7
7
  import type { SharedWorkspace } from './shared-workspace.js';
8
+ /**
9
+ * Resolves the {@link SharedWorkspace} a pty viewport binds to, from an optional
10
+ * workspace KEY and initial CWD carried in the pty STREAM_OPEN. Injected by the
11
+ * embedder (via `startAgent`) to enable MULTI-WORKSPACE hosting over a single
12
+ * capability/connection: each distinct key selects its own durable workspace,
13
+ * lazily created with `cwd` on first use.
14
+ *
15
+ * When `key` is undefined/absent the resolver MUST return the single default
16
+ * workspace — this is the back-compat path (one shared workspace, exactly the
17
+ * pre-multi-workspace behavior). `entangle serve`'s own CLI/daemon inject a
18
+ * constant resolver that ignores both arguments and always returns their one
19
+ * `SharedWorkspace`.
20
+ */
21
+ export type WorkspaceResolver = (key: string | undefined, cwd: string | undefined) => SharedWorkspace;
8
22
  export interface MultiSession {
9
23
  socketId: string;
10
24
  ws: WebSocket;
@@ -20,8 +34,8 @@ export interface MultiSession {
20
34
  streamManager?: StreamManager;
21
35
  pipeEndpoints?: Map<string, PipeEndpoint>;
22
36
  terminated?: boolean;
23
- sharedWorkspace?: SharedWorkspace | undefined;
24
- sharedViewers?: Set<string>;
37
+ getWorkspace?: WorkspaceResolver | undefined;
38
+ viewerWorkspaces?: Map<string, SharedWorkspace>;
25
39
  }
26
40
  export declare function handleMultiStreamFrame(session: MultiSession, frame: {
27
41
  type: FrameType;
@@ -1 +1 @@
1
- {"version":3,"file":"multi-session.d.ts","sourceRoot":"","sources":["../src/multi-session.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EACL,SAAS,EAcV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,UAAU,EAKX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,qBAAqB,EACrB,cAAc,EACd,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IAC9C,QAAQ,EAAE,qBAAqB,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAG9B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IAMrB,eAAe,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IAC9C,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AA6aD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CAqIf;AAGD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAW/D"}
1
+ {"version":3,"file":"multi-session.d.ts","sourceRoot":"","sources":["../src/multi-session.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,IAAI,CAAC;AAC3B,OAAO,EACL,SAAS,EAcV,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,UAAU,EAKX,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,qBAAqB,EACrB,cAAc,EACd,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAI7D;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAC9B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,MAAM,GAAG,SAAS,KACpB,eAAe,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,GAAG,EAAE,cAAc,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;IAC9C,QAAQ,EAAE,qBAAqB,CAAC;IAChC,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,OAAO,CAAC;IAEvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAG9B,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IASrB,YAAY,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7C,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACjD;AAmcD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,UAAU,CAAA;CAAE,GAC9C,OAAO,CAAC,IAAI,CAAC,CA8If;AAGD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAa/D"}
@@ -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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"}
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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"}
@@ -3,6 +3,17 @@ import { SharedSession } from './shared-session.js';
3
3
  const DEFAULT_SCROLLBACK_LINES = 1000;
4
4
  /** Hard cap on concurrent windows so a client can't spawn unbounded shells. */
5
5
  const DEFAULT_MAX_WINDOWS = 16;
6
+ /**
7
+ * A respawned shell that lives at least this long is treated as a healthy
8
+ * session: its next exit respawns IMMEDIATELY (the streak resets). A shell that
9
+ * exits faster than this — an unusable cwd (deleted/renamed mid-session), a
10
+ * missing/misconfigured shell — is treated as a fast-fail and backed off, so a
11
+ * persistent workspace can never tight-loop respawns.
12
+ */
13
+ const RESPAWN_HEALTHY_MS = 2000;
14
+ /** Base / cap for the exponential backoff between fast-failing shell respawns. */
15
+ const RESPAWN_BACKOFF_BASE_MS = 200;
16
+ const RESPAWN_BACKOFF_CAP_MS = 30000;
6
17
  /**
7
18
  * Repaint bytes for a WINDOW SWITCH: leave any alt buffer (`\x1b[?1049l`), home,
8
19
  * clear the screen AND scrollback (`\x1b[2J\x1b[3J`), then the serialized frame.
@@ -60,6 +71,14 @@ export class SharedWorkspace {
60
71
  /** Per-viewport active window index, keyed by sid. Defaults to 0 on attach. */
61
72
  viewportActive = new Map();
62
73
  exited = false;
74
+ /** Set by {@link kill}; suppresses any pending/future persistent respawn. */
75
+ killed = false;
76
+ /** Consecutive fast-fail respawns (reset once a shell survives RESPAWN_HEALTHY_MS). */
77
+ respawnStreak = 0;
78
+ /** Wall-clock of the last persistent respawn ATTEMPT (to measure shell lifetime). */
79
+ lastRespawnSpawnAt = 0;
80
+ /** Pending backoff timer for the next persistent respawn, if any. */
81
+ respawnTimer;
63
82
  cwd;
64
83
  maxWindows;
65
84
  hostDataCb;
@@ -150,6 +169,13 @@ export class SharedWorkspace {
150
169
  viewerCount() { return this.viewports.size; }
151
170
  /** Kill every window (which drives the workspace to exit). */
152
171
  kill() {
172
+ // Mark killed FIRST so a window exit can't respawn a persistent shell out
173
+ // from under a teardown, and cancel any pending backoff respawn.
174
+ this.killed = true;
175
+ if (this.respawnTimer) {
176
+ clearTimeout(this.respawnTimer);
177
+ delete this.respawnTimer;
178
+ }
153
179
  for (const w of this.windows) {
154
180
  try {
155
181
  w.kill();
@@ -478,16 +504,52 @@ export class SharedWorkspace {
478
504
  return { active: active - 1, repaint: false };
479
505
  return { active, repaint: false };
480
506
  }
481
- handleWindowExit(win, code, signal) {
482
- const idx = this.windows.indexOf(win);
483
- if (idx === -1)
484
- return;
485
- this.windows.splice(idx, 1);
486
- // Last window gone. PERSISTENT workspaces respawn a fresh shell in place
487
- // there must always be a window to attach to (typing `exit` in the last
488
- // Locus terminal yields a new prompt, it does not kill the workspace).
489
- if (this.windows.length === 0 && this.persistent) {
490
- const win = this.spawnWindow();
507
+ /**
508
+ * Bring a fresh shell back after the last window of a PERSISTENT workspace
509
+ * exits WITHOUT ever tight-looping.
510
+ *
511
+ * A normal exit (the shell ran a real session, then the user typed `exit`)
512
+ * respawns immediately, exactly as before. But a shell that CANNOT stay up
513
+ * an unusable cwd (the tab's directory deleted/renamed mid-session), a
514
+ * missing/misconfigured shell exits the instant it starts. The previous
515
+ * unconditional synchronous respawn turned that into an unbounded tight loop:
516
+ * respawn instant exit → respawn …, which pegs a core, churns PTYs + headless
517
+ * emulators, floods logs and eventually exhausts fds/PIDs — taking the whole
518
+ * daemon (and every attached client, local TTY included) down, i.e. the
519
+ * "durable" workspace ENDS after a while. So consecutive fast failures are
520
+ * backed off exponentially (capped); a shell that survives
521
+ * {@link RESPAWN_HEALTHY_MS} resets the streak to the immediate path. The
522
+ * workspace itself never ends — it keeps trying to bring a shell back.
523
+ */
524
+ respawnPersistentShell() {
525
+ if (this.killed)
526
+ return;
527
+ // Measure the just-exited shell's lifetime (from its spawn attempt). A
528
+ // healthy, long-lived session resets the streak so its exit respawns at once.
529
+ const lived = this.lastRespawnSpawnAt === 0 ? Infinity : Date.now() - this.lastRespawnSpawnAt;
530
+ if (lived >= RESPAWN_HEALTHY_MS)
531
+ this.respawnStreak = 0;
532
+ const delay = this.respawnStreak === 0
533
+ ? 0
534
+ : Math.min(RESPAWN_BACKOFF_CAP_MS, RESPAWN_BACKOFF_BASE_MS * 2 ** (this.respawnStreak - 1));
535
+ this.respawnStreak++;
536
+ const spawn = () => {
537
+ delete this.respawnTimer;
538
+ if (this.killed || this.windows.length > 0)
539
+ return;
540
+ this.lastRespawnSpawnAt = Date.now();
541
+ let win;
542
+ try {
543
+ win = this.spawnWindow();
544
+ }
545
+ catch (err) {
546
+ // This runs inside a node-pty exit callback: a synchronous spawn failure
547
+ // must NOT escape (it would crash the daemon). Treat it as another fast
548
+ // failure and back off — never crash, never give up.
549
+ this.output.error('Persistent workspace: shell respawn failed', err instanceof Error ? err.message : String(err));
550
+ this.respawnPersistentShell();
551
+ return;
552
+ }
491
553
  this.windows.push(win);
492
554
  this.hostActiveIndex = 0;
493
555
  for (const sid of this.viewportActive.keys())
@@ -497,6 +559,28 @@ export class SharedWorkspace {
497
559
  this.repaintViewport(sid);
498
560
  this.broadcastWindowState();
499
561
  this.output.info('Persistent workspace: last window exited; respawned a fresh shell');
562
+ };
563
+ if (delay === 0) {
564
+ spawn();
565
+ }
566
+ else {
567
+ this.output.warn(`Persistent workspace: shell keeps exiting immediately; retrying in ${delay}ms (attempt ${this.respawnStreak})`);
568
+ this.respawnTimer = setTimeout(spawn, delay);
569
+ this.respawnTimer.unref?.();
570
+ }
571
+ }
572
+ handleWindowExit(win, code, signal) {
573
+ const idx = this.windows.indexOf(win);
574
+ if (idx === -1)
575
+ return;
576
+ this.windows.splice(idx, 1);
577
+ // Last window gone. PERSISTENT workspaces respawn a fresh shell in place —
578
+ // there must always be a window to attach to (typing `exit` in the last
579
+ // Locus terminal yields a new prompt, it does not kill the workspace). The
580
+ // respawn is RATE-LIMITED (see respawnPersistentShell): a shell that cannot
581
+ // stay up must never tight-loop.
582
+ if (this.windows.length === 0 && this.persistent) {
583
+ this.respawnPersistentShell();
500
584
  return;
501
585
  }
502
586
  // Last window gone: the whole workspace ends. Tell every viewport and the
@@ -1 +1 @@
1
- {"version":3,"file":"shared-workspace.js","sourceRoot":"","sources":["../src/shared-workspace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-workspace.js","sourceRoot":"","sources":["../src/shared-workspace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thenewlabs/entangle-serve",
3
- "version": "2.14.0",
3
+ "version": "2.15.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -18,7 +18,7 @@
18
18
  "dependencies": {
19
19
  "@homebridge/node-pty-prebuilt-multiarch": "^0.13.1",
20
20
  "@thenewlabs/entangle-crypto": "^2.11.0",
21
- "@thenewlabs/entangle-protocol": "^2.11.0",
21
+ "@thenewlabs/entangle-protocol": "^2.12.0",
22
22
  "@thenewlabs/entangle-utils": "^2.11.0",
23
23
  "@xterm/addon-serialize": "^0.14.0",
24
24
  "@xterm/headless": "^6.0.0",