@kdonev/termscape 0.1.2 → 0.1.4

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.
Files changed (120) hide show
  1. package/README.md +35 -4
  2. package/dist/agents/polling.d.ts +31 -0
  3. package/dist/agents/polling.d.ts.map +1 -0
  4. package/dist/agents/polling.js +65 -0
  5. package/dist/agents/polling.js.map +1 -0
  6. package/dist/agents/profiles.d.ts +21 -6
  7. package/dist/agents/profiles.d.ts.map +1 -1
  8. package/dist/agents/profiles.js +121 -3
  9. package/dist/agents/profiles.js.map +1 -1
  10. package/dist/agents/router.d.ts.map +1 -1
  11. package/dist/agents/router.js +2 -2
  12. package/dist/agents/router.js.map +1 -1
  13. package/dist/agents/shares.d.ts +32 -0
  14. package/dist/agents/shares.d.ts.map +1 -0
  15. package/dist/agents/shares.js +46 -0
  16. package/dist/agents/shares.js.map +1 -0
  17. package/dist/agents/wiring.d.ts +8 -0
  18. package/dist/agents/wiring.d.ts.map +1 -1
  19. package/dist/agents/wiring.js +72 -7
  20. package/dist/agents/wiring.js.map +1 -1
  21. package/dist/cli-args.d.ts +61 -0
  22. package/dist/cli-args.d.ts.map +1 -0
  23. package/dist/cli-args.js +35 -0
  24. package/dist/cli-args.js.map +1 -0
  25. package/dist/cli.js +10 -17
  26. package/dist/cli.js.map +1 -1
  27. package/dist/db/migrations.d.ts.map +1 -1
  28. package/dist/db/migrations.js +69 -0
  29. package/dist/db/migrations.js.map +1 -1
  30. package/dist/db/store.d.ts +21 -1
  31. package/dist/db/store.d.ts.map +1 -1
  32. package/dist/db/store.js +79 -3
  33. package/dist/db/store.js.map +1 -1
  34. package/dist/debug.d.ts +11 -0
  35. package/dist/debug.d.ts.map +1 -0
  36. package/dist/debug.js +45 -0
  37. package/dist/debug.js.map +1 -0
  38. package/dist/folders.d.ts +33 -0
  39. package/dist/folders.d.ts.map +1 -0
  40. package/dist/folders.js +88 -0
  41. package/dist/folders.js.map +1 -0
  42. package/dist/hub.d.ts +128 -3
  43. package/dist/hub.d.ts.map +1 -1
  44. package/dist/hub.js +498 -44
  45. package/dist/hub.js.map +1 -1
  46. package/dist/hub.tgz +0 -0
  47. package/dist/mcp/server.d.ts +2 -0
  48. package/dist/mcp/server.d.ts.map +1 -1
  49. package/dist/mcp/server.js +38 -5
  50. package/dist/mcp/server.js.map +1 -1
  51. package/dist/paths.d.ts +9 -0
  52. package/dist/paths.d.ts.map +1 -1
  53. package/dist/paths.js +9 -0
  54. package/dist/paths.js.map +1 -1
  55. package/dist/protocol/domain.d.ts +74 -0
  56. package/dist/protocol/domain.d.ts.map +1 -1
  57. package/dist/protocol/domain.js +58 -0
  58. package/dist/protocol/domain.js.map +1 -1
  59. package/dist/protocol/index.d.ts +1 -0
  60. package/dist/protocol/index.d.ts.map +1 -1
  61. package/dist/protocol/index.js +1 -0
  62. package/dist/protocol/index.js.map +1 -1
  63. package/dist/protocol/inject.d.ts +22 -2
  64. package/dist/protocol/inject.d.ts.map +1 -1
  65. package/dist/protocol/inject.js +24 -4
  66. package/dist/protocol/inject.js.map +1 -1
  67. package/dist/protocol/mcp-tools.d.ts +4 -0
  68. package/dist/protocol/mcp-tools.d.ts.map +1 -1
  69. package/dist/protocol/mcp-tools.js +16 -2
  70. package/dist/protocol/mcp-tools.js.map +1 -1
  71. package/dist/protocol/mouse.d.ts +54 -0
  72. package/dist/protocol/mouse.d.ts.map +1 -0
  73. package/dist/protocol/mouse.js +187 -0
  74. package/dist/protocol/mouse.js.map +1 -0
  75. package/dist/protocol/peer.d.ts +53 -1
  76. package/dist/protocol/peer.d.ts.map +1 -1
  77. package/dist/protocol/peer.js +96 -3
  78. package/dist/protocol/peer.js.map +1 -1
  79. package/dist/protocol/ws.d.ts +127 -2
  80. package/dist/protocol/ws.d.ts.map +1 -1
  81. package/dist/protocol/ws.js +83 -1
  82. package/dist/protocol/ws.js.map +1 -1
  83. package/dist/remote/deployer.d.ts.map +1 -1
  84. package/dist/remote/deployer.js +5 -1
  85. package/dist/remote/deployer.js.map +1 -1
  86. package/dist/remote/enroll.d.ts.map +1 -1
  87. package/dist/remote/enroll.js +25 -11
  88. package/dist/remote/enroll.js.map +1 -1
  89. package/dist/remote/join-script.d.ts.map +1 -1
  90. package/dist/remote/join-script.js +156 -31
  91. package/dist/remote/join-script.js.map +1 -1
  92. package/dist/remote/join.d.ts +2 -0
  93. package/dist/remote/join.d.ts.map +1 -1
  94. package/dist/remote/join.js +40 -1
  95. package/dist/remote/join.js.map +1 -1
  96. package/dist/remote/peer-serve.d.ts +19 -2
  97. package/dist/remote/peer-serve.d.ts.map +1 -1
  98. package/dist/remote/peer-serve.js +95 -7
  99. package/dist/remote/peer-serve.js.map +1 -1
  100. package/dist/remote/registry.d.ts +10 -0
  101. package/dist/remote/registry.d.ts.map +1 -1
  102. package/dist/remote/registry.js +31 -5
  103. package/dist/remote/registry.js.map +1 -1
  104. package/dist/server.d.ts.map +1 -1
  105. package/dist/server.js +269 -10
  106. package/dist/server.js.map +1 -1
  107. package/dist/session/manager.d.ts +25 -0
  108. package/dist/session/manager.d.ts.map +1 -1
  109. package/dist/session/manager.js +42 -0
  110. package/dist/session/manager.js.map +1 -1
  111. package/dist/session/pty.d.ts +30 -1
  112. package/dist/session/pty.d.ts.map +1 -1
  113. package/dist/session/pty.js +98 -1
  114. package/dist/session/pty.js.map +1 -1
  115. package/package.json +1 -1
  116. package/web/assets/index-Z03Ta4g3.js +111 -0
  117. package/web/assets/index-u_uCiaPD.css +1 -0
  118. package/web/index.html +2 -2
  119. package/web/assets/index-9Z_8xZqk.js +0 -111
  120. package/web/assets/index-DheUm5dl.css +0 -1
@@ -61,6 +61,35 @@ export const PeerRelayAsk = z.discriminatedUnion('t', [
61
61
  address: z.string(),
62
62
  lines: z.number().int().positive().optional(),
63
63
  }),
64
+ z.object({ t: z.literal('listHosts') }),
65
+ // A spawn_agent naming a `host`, from a hub with no local knowledge of one
66
+ // (the canvas machine itself, or a third machine). Everything here arrives
67
+ // already resolved, for the reason startSession's own peer request does
68
+ // (peer.ts, startSession req below): a template is config, the two hubs do
69
+ // not share config, and the asking hub is the only one that knows what its
70
+ // caller's template meant — `agent` is the CLI id it resolved to, `opening`
71
+ // is the template's prompt and the caller's own instruction already merged
72
+ // into one injection, and `template` travels only so the child's window can
73
+ // say which one was picked.
74
+ z.object({
75
+ t: z.literal('spawn'),
76
+ // Authenticated by the asking hub from the sender's own bearer token,
77
+ // exactly as `deliver`'s `from` is.
78
+ from: z.string(),
79
+ // Never omitted: a spawn_agent with no `host`, or one naming the asking
80
+ // hub's own machine, is handled entirely on that hub and never relays.
81
+ host: z.string(),
82
+ workspace: z.string().optional(),
83
+ name: z.string().optional(),
84
+ agent: z.string(),
85
+ template: z.string().nullable().optional(),
86
+ model: z.string().optional(),
87
+ effort: z.string().optional(),
88
+ env: z.record(z.string(), z.string()).optional(),
89
+ opening: z.string().optional(),
90
+ /** Whether the caller passed a `prompt`, for the reply's `promptQueued`. */
91
+ promptGiven: z.boolean(),
92
+ }),
64
93
  ]);
65
94
  export const PeerHello = z.object({
66
95
  t: z.literal('hello'),
@@ -78,6 +107,19 @@ export const PeerHello = z.object({
78
107
  platform: z.string(),
79
108
  arch: z.string(),
80
109
  homeDir: z.string(),
110
+ /**
111
+ * An id this machine minted for itself once and keeps.
112
+ *
113
+ * The durable host token says "I am the machine this canvas issued this
114
+ * to"; it does not survive the machine losing it, and a machine that
115
+ * enrolled a second time used to arrive as a second row for the same
116
+ * box. This says "I am *that* machine" independently of any credential,
117
+ * so the canvas can hand the row it already has a fresh token instead.
118
+ *
119
+ * Optional because a hub older than this sends none, in which case
120
+ * enrollment behaves exactly as it did before.
121
+ */
122
+ machineId: z.string().optional(),
81
123
  })
82
124
  .optional(),
83
125
  });
@@ -143,7 +185,19 @@ export const PeerRequest = z.discriminatedUnion('t', [
143
185
  // The canvas telling a host who else is on it. Sent whenever that set
144
186
  // changes, and it is the whole set minus the receiving host's own agents,
145
187
  // which it already knows about and would otherwise list twice.
146
- z.object({ t: z.literal('directory'), id: z.string(), agents: z.array(PeerAgent) }),
188
+ z.object({
189
+ t: z.literal('directory'),
190
+ id: z.string(),
191
+ agents: z.array(PeerAgent),
192
+ /**
193
+ * What the canvas calls this host, so it can answer `list_hosts` and
194
+ * `host: 'local'`/`'self'` for its own agents without a row for itself —
195
+ * it has none, the same way the canvas has none for its own machine. A
196
+ * label edited from the canvas panel after enrollment is not something
197
+ * this host would otherwise ever learn.
198
+ */
199
+ youAre: z.string().optional(),
200
+ }),
147
201
  // The answer to a `relay`, matched by the id the host chose for it. A
148
202
  // separate frame rather than an `ok`, because the two ends do not share a
149
203
  // request channel: the canvas asks, the host answers, and this is the canvas
@@ -178,6 +232,16 @@ export const PeerRequest = z.discriminatedUnion('t', [
178
232
  id: z.string(),
179
233
  address: z.string(),
180
234
  data: z.string(),
235
+ /**
236
+ * How to read `data` before it reaches the pty.
237
+ *
238
+ * `utf8`, the default and what every older hub sends, means it is text.
239
+ * `binary` means it is bytes carried one per code unit - a mouse report in
240
+ * the default encoding, where a coordinate past column 95 is a byte above
241
+ * 0x7f and encoding it as text would double it. A remote terminal is on
242
+ * the same footing as a local one only if this survives the crossing.
243
+ */
244
+ encoding: z.enum(['utf8', 'binary']).optional(),
181
245
  }),
182
246
  z.object({
183
247
  t: z.literal('resize'),
@@ -186,6 +250,14 @@ export const PeerRequest = z.discriminatedUnion('t', [
186
250
  cols: z.number().int().positive(),
187
251
  rows: z.number().int().positive(),
188
252
  }),
253
+ /**
254
+ * Whether a workspace folder makes sense there at all. Asked rather than
255
+ * assumed, for the same reason `listAgents` is: only that machine can
256
+ * resolve a path in its own platform's flavour and stat the result, so the
257
+ * Add/Edit-workspace dialog asks before a workspace pointing at it is even
258
+ * created, instead of an agent finding out at its first start.
259
+ */
260
+ z.object({ t: z.literal('checkFolder'), id: z.string(), path: z.string() }),
189
261
  ]);
190
262
  export const PeerResponse = z.discriminatedUnion('t', [
191
263
  z.object({
@@ -200,7 +272,22 @@ export const PeerResponse = z.discriminatedUnion('t', [
200
272
  hostToken: z.string().optional(),
201
273
  }),
202
274
  z.object({ t: z.literal('ok'), id: z.string(), result: z.unknown() }),
203
- z.object({ t: z.literal('err'), id: z.string(), message: z.string() }),
275
+ z.object({
276
+ t: z.literal('err'),
277
+ id: z.string(),
278
+ message: z.string(),
279
+ /**
280
+ * Why, for the handshake refusals a dialer can act on.
281
+ *
282
+ * `unknown-token` is the only one that means "enroll again": the canvas
283
+ * does not recognise the credential presented, so a machine holding a
284
+ * stale host token should drop it and spend its enrollment key. Every
285
+ * other refusal - a schema gap above all - is not about the credential,
286
+ * and treating it as one is what made an upgraded hub throw away its
287
+ * identity and come back as a new machine.
288
+ */
289
+ code: z.enum(['unknown-token', 'schema-mismatch', 'bad-hello']).optional(),
290
+ }),
204
291
  // Unsolicited: the peer pushing state changes and terminal output.
205
292
  z.object({ t: z.literal('sessions'), sessions: z.array(Session) }),
206
293
  // Unsolicited as well as in reply: that machine's detection finishes after
@@ -217,6 +304,12 @@ export const PeerResponse = z.discriminatedUnion('t', [
217
304
  /**
218
305
  * Bumped whenever the peer protocol or the DB schema changes shape. Hubs
219
306
  * refuse to connect across a mismatch rather than corrupting each other.
307
+ *
308
+ * 9: added `checkFolder`. Required, not cosmetic — `peer-serve.ts` drops a
309
+ * frame it cannot parse silently, so a peer older than this would leave a
310
+ * `checkFolder` request hanging forever instead of refusing it; the version
311
+ * gate is what turns that into an honest refusal at the handshake instead.
312
+ * Consequence: every already-joined machine has to re-run the installer.
220
313
  */
221
- export const PEER_SCHEMA_VERSION = 6;
314
+ export const PEER_SCHEMA_VERSION = 9;
222
315
  //# sourceMappingURL=peer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"peer.js","sourceRoot":"","sources":["../src/peer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"peer.js","sourceRoot":"","sources":["../src/peer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,19 @@
1
1
  import { z } from 'zod';
2
2
  export declare const BinaryFrameKind: {
3
3
  readonly PtyOutput: 1;
4
+ /** Payload is UTF-8 text: keystrokes, pastes, escape sequences. */
4
5
  readonly PtyInput: 2;
6
+ /**
7
+ * Payload is exact bytes, written to the PTY unchanged.
8
+ *
9
+ * Mouse reports in the default (X10) encoding are the reason this exists.
10
+ * They spell a coordinate as `32 + n`, so anything past column or row 95 is
11
+ * a byte above 0x7f - and a byte above 0x7f is not UTF-8 text. Sent as
12
+ * `PtyInput` it was re-encoded on the way through and arrived at the program
13
+ * as two bytes instead of one, which is how moving the mouse over a wide
14
+ * terminal typed garbage into it. Nothing on this path may decode it.
15
+ */
16
+ readonly PtyInputRaw: 3;
5
17
  };
6
18
  export type BinaryFrameKind = (typeof BinaryFrameKind)[keyof typeof BinaryFrameKind];
7
19
  export declare function encodeBinaryFrame(kind: BinaryFrameKind, sessionId: string, payload: Uint8Array): Uint8Array;
@@ -25,6 +37,11 @@ export declare const ClientMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
25
37
  sessionId: z.ZodString;
26
38
  cols: z.ZodNumber;
27
39
  rows: z.ZodNumber;
40
+ }, z.core.$strip>, z.ZodObject<{
41
+ t: z.ZodLiteral<"checkFolder">;
42
+ requestId: z.ZodOptional<z.ZodString>;
43
+ hostId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
44
+ path: z.ZodString;
28
45
  }, z.core.$strip>, z.ZodObject<{
29
46
  t: z.ZodLiteral<"createWorkspace">;
30
47
  requestId: z.ZodOptional<z.ZodString>;
@@ -90,6 +107,14 @@ export declare const ClientMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
90
107
  }, z.core.$strip>, z.ZodObject<{
91
108
  t: z.ZodLiteral<"resumeWorkspace">;
92
109
  workspaceId: z.ZodString;
110
+ }, z.core.$strip>, z.ZodObject<{
111
+ t: z.ZodLiteral<"shareSession">;
112
+ requestId: z.ZodOptional<z.ZodString>;
113
+ sessionId: z.ZodString;
114
+ }, z.core.$strip>, z.ZodObject<{
115
+ t: z.ZodLiteral<"unshareSession">;
116
+ requestId: z.ZodOptional<z.ZodString>;
117
+ sessionId: z.ZodString;
93
118
  }, z.core.$strip>, z.ZodObject<{
94
119
  t: z.ZodLiteral<"moveWindow">;
95
120
  sessionId: z.ZodString;
@@ -108,6 +133,27 @@ export declare const ClientMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
108
133
  panY: z.ZodNumber;
109
134
  zoom: z.ZodNumber;
110
135
  }, z.core.$strip>;
136
+ }, z.core.$strip>, z.ZodObject<{
137
+ t: z.ZodLiteral<"putNote">;
138
+ note: z.ZodObject<{
139
+ id: z.ZodString;
140
+ x: z.ZodNumber;
141
+ y: z.ZodNumber;
142
+ w: z.ZodNumber;
143
+ h: z.ZodNumber;
144
+ z: z.ZodNumber;
145
+ text: z.ZodString;
146
+ color: z.ZodEnum<{
147
+ yellow: "yellow";
148
+ pink: "pink";
149
+ green: "green";
150
+ blue: "blue";
151
+ }>;
152
+ updatedAt: z.ZodNumber;
153
+ }, z.core.$strip>;
154
+ }, z.core.$strip>, z.ZodObject<{
155
+ t: z.ZodLiteral<"removeNote">;
156
+ noteId: z.ZodString;
111
157
  }, z.core.$strip>, z.ZodObject<{
112
158
  t: z.ZodLiteral<"addHost">;
113
159
  requestId: z.ZodOptional<z.ZodString>;
@@ -137,19 +183,29 @@ export declare const ClientMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
137
183
  }, z.core.$strip>], "t">;
138
184
  export type ClientMsg = z.infer<typeof ClientMsg>;
139
185
  /**
140
- * The mutations a dialog drives, and so the ones that can be awaited.
186
+ * The mutations a dialog drives, plus `checkFolder` a pre-flight question
187
+ * rather than a mutation, but a dialog awaits it exactly the same way, so it
188
+ * belongs in the same list rather than a second one.
141
189
  *
142
190
  * Listed by name rather than derived from the presence of `requestId`,
143
191
  * because every message is structurally assignable to "might have a
144
192
  * requestId" and the derived version would quietly include all of them.
145
193
  */
146
194
  export type AckableMsg = Extract<ClientMsg, {
147
- t: 'createWorkspace' | 'updateWorkspace' | 'removeWorkspace' | 'saveTemplate' | 'removeTemplate' | 'resolveTemplateProposal' | 'startSession' | 'removeSession' | 'addHost' | 'updateHost' | 'removeHost';
195
+ t: 'checkFolder' | 'createWorkspace' | 'updateWorkspace' | 'removeWorkspace' | 'saveTemplate' | 'removeTemplate' | 'resolveTemplateProposal' | 'startSession' | 'removeSession' | 'addHost' | 'updateHost' | 'removeHost' | 'shareSession' | 'unshareSession';
148
196
  }>;
197
+ /** A share link, as the wire carries it: the token, not a finished URL. */
198
+ export declare const ShareInfo: z.ZodObject<{
199
+ sessionId: z.ZodString;
200
+ token: z.ZodString;
201
+ }, z.core.$strip>;
202
+ export type ShareInfo = z.infer<typeof ShareInfo>;
149
203
  export declare const HubState: z.ZodObject<{
150
204
  hubVersion: z.ZodString;
151
205
  enrollUrl: z.ZodNullable<z.ZodString>;
152
206
  enrollAltUrl: z.ZodNullable<z.ZodString>;
207
+ lanOrigin: z.ZodNullable<z.ZodString>;
208
+ lanAltOrigin: z.ZodNullable<z.ZodString>;
153
209
  hosts: z.ZodArray<z.ZodObject<{
154
210
  id: z.ZodString;
155
211
  label: z.ZodString;
@@ -313,6 +369,26 @@ export declare const HubState: z.ZodObject<{
313
369
  takesEffort: z.ZodBoolean;
314
370
  efforts: z.ZodArray<z.ZodString>;
315
371
  }, z.core.$strip>>>;
372
+ shares: z.ZodArray<z.ZodObject<{
373
+ sessionId: z.ZodString;
374
+ token: z.ZodString;
375
+ }, z.core.$strip>>;
376
+ notes: z.ZodArray<z.ZodObject<{
377
+ id: z.ZodString;
378
+ x: z.ZodNumber;
379
+ y: z.ZodNumber;
380
+ w: z.ZodNumber;
381
+ h: z.ZodNumber;
382
+ z: z.ZodNumber;
383
+ text: z.ZodString;
384
+ color: z.ZodEnum<{
385
+ yellow: "yellow";
386
+ pink: "pink";
387
+ green: "green";
388
+ blue: "blue";
389
+ }>;
390
+ updatedAt: z.ZodNumber;
391
+ }, z.core.$strip>>;
316
392
  }, z.core.$strip>;
317
393
  export type HubState = z.infer<typeof HubState>;
318
394
  export declare const ServerMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -321,6 +397,8 @@ export declare const ServerMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
321
397
  hubVersion: z.ZodString;
322
398
  enrollUrl: z.ZodNullable<z.ZodString>;
323
399
  enrollAltUrl: z.ZodNullable<z.ZodString>;
400
+ lanOrigin: z.ZodNullable<z.ZodString>;
401
+ lanAltOrigin: z.ZodNullable<z.ZodString>;
324
402
  hosts: z.ZodArray<z.ZodObject<{
325
403
  id: z.ZodString;
326
404
  label: z.ZodString;
@@ -484,6 +562,26 @@ export declare const ServerMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
484
562
  takesEffort: z.ZodBoolean;
485
563
  efforts: z.ZodArray<z.ZodString>;
486
564
  }, z.core.$strip>>>;
565
+ shares: z.ZodArray<z.ZodObject<{
566
+ sessionId: z.ZodString;
567
+ token: z.ZodString;
568
+ }, z.core.$strip>>;
569
+ notes: z.ZodArray<z.ZodObject<{
570
+ id: z.ZodString;
571
+ x: z.ZodNumber;
572
+ y: z.ZodNumber;
573
+ w: z.ZodNumber;
574
+ h: z.ZodNumber;
575
+ z: z.ZodNumber;
576
+ text: z.ZodString;
577
+ color: z.ZodEnum<{
578
+ yellow: "yellow";
579
+ pink: "pink";
580
+ green: "green";
581
+ blue: "blue";
582
+ }>;
583
+ updatedAt: z.ZodNumber;
584
+ }, z.core.$strip>>;
487
585
  }, z.core.$strip>;
488
586
  }, z.core.$strip>, z.ZodObject<{
489
587
  t: z.ZodLiteral<"sessionUpserted">;
@@ -612,6 +710,33 @@ export declare const ServerMsg: z.ZodDiscriminatedUnion<[z.ZodObject<{
612
710
  }, z.core.$strip>, z.ZodObject<{
613
711
  t: z.ZodLiteral<"hostRemoved">;
614
712
  hostId: z.ZodString;
713
+ }, z.core.$strip>, z.ZodObject<{
714
+ t: z.ZodLiteral<"sharesChanged">;
715
+ shares: z.ZodArray<z.ZodObject<{
716
+ sessionId: z.ZodString;
717
+ token: z.ZodString;
718
+ }, z.core.$strip>>;
719
+ }, z.core.$strip>, z.ZodObject<{
720
+ t: z.ZodLiteral<"noteUpserted">;
721
+ note: z.ZodObject<{
722
+ id: z.ZodString;
723
+ x: z.ZodNumber;
724
+ y: z.ZodNumber;
725
+ w: z.ZodNumber;
726
+ h: z.ZodNumber;
727
+ z: z.ZodNumber;
728
+ text: z.ZodString;
729
+ color: z.ZodEnum<{
730
+ yellow: "yellow";
731
+ pink: "pink";
732
+ green: "green";
733
+ blue: "blue";
734
+ }>;
735
+ updatedAt: z.ZodNumber;
736
+ }, z.core.$strip>;
737
+ }, z.core.$strip>, z.ZodObject<{
738
+ t: z.ZodLiteral<"noteRemoved">;
739
+ noteId: z.ZodString;
615
740
  }, z.core.$strip>, z.ZodObject<{
616
741
  t: z.ZodLiteral<"hostLog">;
617
742
  hostId: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAwBxB,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,GAClB,UAAU,CASZ;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,kBAAkB,CAOrE;AAiBD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA0IpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,SAAS,EACT;IACE,CAAC,EACG,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,yBAAyB,GACzB,cAAc,GACd,eAAe,GACf,SAAS,GACT,YAAY,GACZ,YAAY,CAAC;CAClB,CACF,CAAC;AAEF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmCnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA+DpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
1
+ {"version":3,"file":"ws.d.ts","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,eAAO,MAAM,eAAe;;IAE1B,mEAAmE;;IAEnE;;;;;;;;;OASG;;CAEK,CAAC;AACX,MAAM,MAAM,eAAe,GACzB,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEzD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,GAClB,UAAU,CASZ;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,kBAAkB,CAOrE;AAiBD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAkLpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;;;;;;;GAQG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,CAC9B,SAAS,EACT;IACE,CAAC,EACG,aAAa,GACb,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,cAAc,GACd,gBAAgB,GAChB,yBAAyB,GACzB,cAAc,GACd,eAAe,GACf,SAAS,GACT,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,gBAAgB,CAAC;CACtB,CACF,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,SAAS;;;iBAAyD,CAAC;AAChF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuDnB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAwEpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { Host, Message, Session, Viewport, Workspace, WindowRect, AgentProfileInfo, AgentTemplateInfo, TemplateProposal, } from './domain.js';
2
+ import { Host, Message, Note, Session, Viewport, Workspace, WindowRect, AgentProfileInfo, AgentTemplateInfo, TemplateProposal, } from './domain.js';
3
3
  /* ------------------------------------------------------------------ *
4
4
  * Binary framing for PTY traffic.
5
5
  *
@@ -12,7 +12,19 @@ import { Host, Message, Session, Viewport, Workspace, WindowRect, AgentProfileIn
12
12
  * ------------------------------------------------------------------ */
13
13
  export const BinaryFrameKind = {
14
14
  PtyOutput: 0x01,
15
+ /** Payload is UTF-8 text: keystrokes, pastes, escape sequences. */
15
16
  PtyInput: 0x02,
17
+ /**
18
+ * Payload is exact bytes, written to the PTY unchanged.
19
+ *
20
+ * Mouse reports in the default (X10) encoding are the reason this exists.
21
+ * They spell a coordinate as `32 + n`, so anything past column or row 95 is
22
+ * a byte above 0x7f - and a byte above 0x7f is not UTF-8 text. Sent as
23
+ * `PtyInput` it was re-encoded on the way through and arrived at the program
24
+ * as two bytes instead of one, which is how moving the mouse over a wide
25
+ * terminal typed garbage into it. Nothing on this path may decode it.
26
+ */
27
+ PtyInputRaw: 0x03,
16
28
  };
17
29
  export function encodeBinaryFrame(kind, sessionId, payload) {
18
30
  const id = new TextEncoder().encode(sessionId);
@@ -55,6 +67,22 @@ export const ClientMsg = z.discriminatedUnion('t', [
55
67
  z.object({ t: z.literal('detach'), sessionId: z.string() }),
56
68
  z.object({ t: z.literal('resize'), sessionId: z.string(), cols: z.number().int().positive(), rows: z.number().int().positive() }),
57
69
  // workspaces
70
+ /**
71
+ * Whether a folder makes sense on the machine a workspace would live on,
72
+ * asked before that workspace is created. `hostId` absent or null means
73
+ * this machine; either way the answer comes from `Hub.checkHostFolder`,
74
+ * which resolves and stats the path on whichever machine actually owns it
75
+ * instead of this hub's own process guessing in its own platform's
76
+ * flavour. A failure here is the dialog's only signal — there is no
77
+ * separate success payload, since the dialog already knows the path it
78
+ * asked about.
79
+ */
80
+ z.object({
81
+ t: z.literal('checkFolder'),
82
+ requestId,
83
+ hostId: z.string().nullable().optional(),
84
+ path: z.string().min(1),
85
+ }),
58
86
  z.object({ t: z.literal('createWorkspace'), requestId, name: z.string().min(1), rootPath: z.string().min(1), hostId: z.string().nullable().optional() }),
59
87
  /**
60
88
  * Rename a workspace or repoint it at another folder. Both are optional and
@@ -146,9 +174,32 @@ export const ClientMsg = z.discriminatedUnion('t', [
146
174
  z.object({ t: z.literal('removeSession'), requestId, sessionId: z.string() }),
147
175
  z.object({ t: z.literal('resumeSession'), sessionId: z.string() }),
148
176
  z.object({ t: z.literal('resumeWorkspace'), workspaceId: z.string() }),
177
+ /**
178
+ * Grant or revoke a link that opens one session, and nothing else, in
179
+ * another browser. Minted lazily: sharing a session that already has a
180
+ * token returns the same one rather than invalidating whatever tab already
181
+ * holds it.
182
+ */
183
+ z.object({ t: z.literal('shareSession'), requestId, sessionId: z.string() }),
184
+ /**
185
+ * Revoking closes every socket already scoped to the token, not merely
186
+ * the row that let it in - an open reviewer tab is the one case revocation
187
+ * exists for, and "revoked" would otherwise be untrue for it.
188
+ */
189
+ z.object({ t: z.literal('unshareSession'), requestId, sessionId: z.string() }),
149
190
  // canvas layout
150
191
  z.object({ t: z.literal('moveWindow'), sessionId: z.string(), rect: WindowRect }),
151
192
  z.object({ t: z.literal('setViewport'), viewport: Viewport }),
193
+ /**
194
+ * Create or change a sticky note: move, resize, edit its text, or recolour
195
+ * it. One frame for all of it, same reasoning as `saveTemplate` - a note is
196
+ * a handful of fields with no separate identity for "just the text changed".
197
+ * Not ackable: nothing waits on a note write the way a dialog waits on a
198
+ * mutation, and echoing it back to the sender is exactly what must NOT
199
+ * happen (see server.ts `broadcastExcept`).
200
+ */
201
+ z.object({ t: z.literal('putNote'), note: Note }),
202
+ z.object({ t: z.literal('removeNote'), noteId: z.string() }),
152
203
  // hosts
153
204
  z.object({
154
205
  t: z.literal('addHost'),
@@ -180,6 +231,8 @@ export const ClientMsg = z.discriminatedUnion('t', [
180
231
  /** Re-probe what is installed, here and on every attached machine. */
181
232
  z.object({ t: z.literal('refreshAgents') }),
182
233
  ]);
234
+ /** A share link, as the wire carries it: the token, not a finished URL. */
235
+ export const ShareInfo = z.object({ sessionId: z.string(), token: z.string() });
183
236
  export const HubState = z.object({
184
237
  hubVersion: z.string(),
185
238
  /**
@@ -193,6 +246,15 @@ export const HubState = z.object({
193
246
  * numeric form is always offered rather than assumed unnecessary.
194
247
  */
195
248
  enrollAltUrl: z.string().nullable(),
249
+ /**
250
+ * Where another machine can reach this hub at all, or null when it is
251
+ * bound to loopback. `serve()` already computes this for the join page,
252
+ * but a share link needs the reachable origin whether or not enrollment is
253
+ * on - it is a different grant with a different audience.
254
+ */
255
+ lanOrigin: z.string().nullable(),
256
+ /** The same origin by IP, when `lanOrigin` uses this machine's name. */
257
+ lanAltOrigin: z.string().nullable(),
196
258
  hosts: z.array(Host),
197
259
  workspaces: z.array(Workspace),
198
260
  sessions: z.array(Session),
@@ -215,6 +277,17 @@ export const HubState = z.object({
215
277
  * rather than this one's.
216
278
  */
217
279
  hostProfiles: z.record(z.string(), z.array(AgentProfileInfo)),
280
+ /**
281
+ * Which sessions are shared. Empty on a socket scoped to a share token: a
282
+ * reviewer holding one link has no business learning that others exist.
283
+ */
284
+ shares: z.array(ShareInfo),
285
+ /**
286
+ * Sticky notes, free-floating on the canvas. Empty on a share-scoped
287
+ * socket, same as `shares` - a reviewer holding one link sees the one
288
+ * terminal it names, nothing else on the canvas.
289
+ */
290
+ notes: z.array(Note),
218
291
  });
219
292
  export const ServerMsg = z.discriminatedUnion('t', [
220
293
  z.object({ t: z.literal('ready'), state: HubState }),
@@ -237,6 +310,15 @@ export const ServerMsg = z.discriminatedUnion('t', [
237
310
  z.object({ t: z.literal('workspaceRemoved'), workspaceId: z.string() }),
238
311
  z.object({ t: z.literal('hostUpserted'), host: Host }),
239
312
  z.object({ t: z.literal('hostRemoved'), hostId: z.string() }),
313
+ /** The whole list, for the same reason `templatesChanged` sends its whole list. */
314
+ z.object({ t: z.literal('sharesChanged'), shares: z.array(ShareInfo) }),
315
+ /**
316
+ * A note created, moved, resized, edited or recoloured - one event for all
317
+ * of it, mirroring `putNote`. Broadcast to every socket *except* the one
318
+ * that sent the write; see `broadcastExcept` in server.ts.
319
+ */
320
+ z.object({ t: z.literal('noteUpserted'), note: Note }),
321
+ z.object({ t: z.literal('noteRemoved'), noteId: z.string() }),
240
322
  // Deploy progress. A remote install rebuilds native modules and takes
241
323
  // minutes; without this the panel is a frozen button.
242
324
  z.object({ t: z.literal('hostLog'), hostId: z.string(), line: z.string() }),
@@ -1 +1 @@
1
- {"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ws.js","sourceRoot":"","sources":["../src/ws.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../src/remote/deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAsB,MAAM,MAAM,CAAC;AAE/D;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAsBD,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAOjE;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAW1E;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wEAAwE;AACxE,wBAAsB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,SAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,CAW3F;AAWD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CAuFf;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAqC5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAqBnD;AAED,qDAAqD;AACrD,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAqCvE"}
1
+ {"version":3,"file":"deployer.d.ts","sourceRoot":"","sources":["../../src/remote/deployer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,UAAU,CAAC;AAGlE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAsB,MAAM,MAAM,CAAC;AAE/D;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9B;AAsBD,wBAAgB,UAAU,CAAC,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAOjE;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAW1E;AAED,MAAM,WAAW,KAAK;IACpB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,wEAAwE;AACxE,wBAAsB,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,SAAqB,GAAG,OAAO,CAAC,KAAK,CAAC,CAW3F;AAWD;;;;GAIG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,IAAI,CAAC,CAuFf;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAyC5C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,CAqBnD;AAED,qDAAqD;AACrD,wBAAsB,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CAqCvE"}
@@ -146,7 +146,11 @@ export async function startRemoteHub(conn, opts) {
146
146
  if (m)
147
147
  return { port: existingPort, version: m[1] };
148
148
  }
149
- await exec(conn, `cd ${remoteDir}/hub && TERMSCAPE_HOME=${remoteDir} nohup node dist/cli.js --headless --port 0 --token '${opts.token}' > ${logFile} 2>&1 &`);
149
+ // `--token=<t>`, not `--token <t>`: the token is base64url and may begin
150
+ // with a dash, which Node's strict parseArgs rejects as a value that looks
151
+ // like another option. The shell quotes protect the *shell*; this protects
152
+ // the argument parser on the other side of it.
153
+ await exec(conn, `cd ${remoteDir}/hub && TERMSCAPE_HOME=${remoteDir} nohup node dist/cli.js --headless --port 0 --token='${opts.token}' > ${logFile} 2>&1 &`);
150
154
  // The CLI prints TERMSCAPE_PORT=<n> precisely so this can be parsed.
151
155
  for (let i = 0; i < 40; i++) {
152
156
  await new Promise((r) => setTimeout(r, 250));