@kdonev/termscape 0.1.9 → 0.2.1

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 (103) hide show
  1. package/README.md +111 -45
  2. package/dist/cli-args.d.ts +10 -0
  3. package/dist/cli-args.d.ts.map +1 -1
  4. package/dist/cli-args.js +2 -0
  5. package/dist/cli-args.js.map +1 -1
  6. package/dist/cli.js +15 -258
  7. package/dist/cli.js.map +1 -1
  8. package/dist/hub.d.ts +28 -1
  9. package/dist/hub.d.ts.map +1 -1
  10. package/dist/hub.js +65 -2
  11. package/dist/hub.js.map +1 -1
  12. package/dist/hub.tgz +0 -0
  13. package/dist/main.d.ts +7 -0
  14. package/dist/main.d.ts.map +1 -0
  15. package/dist/main.js +343 -0
  16. package/dist/main.js.map +1 -0
  17. package/dist/protocol/domain.d.ts +35 -0
  18. package/dist/protocol/domain.d.ts.map +1 -1
  19. package/dist/protocol/domain.js +31 -2
  20. package/dist/protocol/domain.js.map +1 -1
  21. package/dist/protocol/index.d.ts +1 -0
  22. package/dist/protocol/index.d.ts.map +1 -1
  23. package/dist/protocol/index.js +1 -0
  24. package/dist/protocol/index.js.map +1 -1
  25. package/dist/protocol/mouse.d.ts +14 -0
  26. package/dist/protocol/mouse.d.ts.map +1 -1
  27. package/dist/protocol/mouse.js +16 -0
  28. package/dist/protocol/mouse.js.map +1 -1
  29. package/dist/protocol/peer.d.ts +23 -0
  30. package/dist/protocol/peer.d.ts.map +1 -1
  31. package/dist/protocol/peer.js +45 -1
  32. package/dist/protocol/peer.js.map +1 -1
  33. package/dist/protocol/version.d.ts +12 -0
  34. package/dist/protocol/version.d.ts.map +1 -0
  35. package/dist/protocol/version.js +37 -0
  36. package/dist/protocol/version.js.map +1 -0
  37. package/dist/protocol/ws.d.ts +103 -1
  38. package/dist/protocol/ws.d.ts.map +1 -1
  39. package/dist/protocol/ws.js +45 -1
  40. package/dist/protocol/ws.js.map +1 -1
  41. package/dist/remote/enroll.d.ts.map +1 -1
  42. package/dist/remote/enroll.js +22 -1
  43. package/dist/remote/enroll.js.map +1 -1
  44. package/dist/remote/join.d.ts.map +1 -1
  45. package/dist/remote/join.js +10 -1
  46. package/dist/remote/join.js.map +1 -1
  47. package/dist/remote/peer-serve.d.ts.map +1 -1
  48. package/dist/remote/peer-serve.js +23 -0
  49. package/dist/remote/peer-serve.js.map +1 -1
  50. package/dist/remote/peer.d.ts +7 -0
  51. package/dist/remote/peer.d.ts.map +1 -1
  52. package/dist/remote/peer.js +25 -1
  53. package/dist/remote/peer.js.map +1 -1
  54. package/dist/remote/registry.d.ts +24 -2
  55. package/dist/remote/registry.d.ts.map +1 -1
  56. package/dist/remote/registry.js +91 -5
  57. package/dist/remote/registry.js.map +1 -1
  58. package/dist/server.d.ts.map +1 -1
  59. package/dist/server.js +76 -8
  60. package/dist/server.js.map +1 -1
  61. package/dist/session/manager.d.ts.map +1 -1
  62. package/dist/session/manager.js +7 -1
  63. package/dist/session/manager.js.map +1 -1
  64. package/dist/session/paste-image.d.ts +19 -0
  65. package/dist/session/paste-image.d.ts.map +1 -0
  66. package/dist/session/paste-image.js +65 -0
  67. package/dist/session/paste-image.js.map +1 -0
  68. package/dist/supervisor.d.ts +44 -0
  69. package/dist/supervisor.d.ts.map +1 -0
  70. package/dist/supervisor.js +125 -0
  71. package/dist/supervisor.js.map +1 -0
  72. package/dist/update/host.d.ts +19 -0
  73. package/dist/update/host.d.ts.map +1 -0
  74. package/dist/update/host.js +56 -0
  75. package/dist/update/host.js.map +1 -0
  76. package/dist/update/install.d.ts +38 -0
  77. package/dist/update/install.d.ts.map +1 -0
  78. package/dist/update/install.js +81 -0
  79. package/dist/update/install.js.map +1 -0
  80. package/dist/update/post-install.d.ts +2 -0
  81. package/dist/update/post-install.d.ts.map +1 -0
  82. package/dist/update/post-install.js +39 -0
  83. package/dist/update/post-install.js.map +1 -0
  84. package/dist/update/restart.d.ts +31 -0
  85. package/dist/update/restart.d.ts.map +1 -0
  86. package/dist/update/restart.js +65 -0
  87. package/dist/update/restart.js.map +1 -0
  88. package/dist/update/resume.d.ts +5 -0
  89. package/dist/update/resume.d.ts.map +1 -0
  90. package/dist/update/resume.js +47 -0
  91. package/dist/update/resume.js.map +1 -0
  92. package/dist/update/updater.d.ts +57 -0
  93. package/dist/update/updater.d.ts.map +1 -0
  94. package/dist/update/updater.js +190 -0
  95. package/dist/update/updater.js.map +1 -0
  96. package/dist/window/app-window.js +43 -1
  97. package/dist/window/app-window.js.map +1 -1
  98. package/package.json +1 -1
  99. package/web/assets/index-85NfOib0.js +111 -0
  100. package/web/assets/index-Czi_vAR-.css +1 -0
  101. package/web/index.html +2 -2
  102. package/web/assets/index-gfbbNQK4.css +0 -1
  103. package/web/assets/index-i7fXLKF0.js +0 -111
package/dist/main.js ADDED
@@ -0,0 +1,343 @@
1
+ import { mkdirSync, rmSync, writeFileSync } from 'node:fs';
2
+ import { Hub, HUB_VERSION } from './hub.js';
3
+ import { serve, MEMORABLE_PORTS } from './server.js';
4
+ import { mintClientToken } from './agents/tokens.js';
5
+ import { paths } from './paths.js';
6
+ import { listenPlan } from './remote/lan.js';
7
+ import { joinCanvas } from './remote/join.js';
8
+ import { openInBrowser } from './browser.js';
9
+ import { openAppWindow } from './window/open-window.js';
10
+ import { ProfileRegistry } from './agents/profiles.js';
11
+ import { which } from './agents/resolve.js';
12
+ import { debugTopics } from './debug.js';
13
+ import { Updater } from './update/updater.js';
14
+ import { installKind } from './update/install.js';
15
+ import { EXIT_RESTART, restartArgs, writeRestartPlan } from './update/restart.js';
16
+ import { runHostUpdate } from './update/host.js';
17
+ import { resumeFile } from './update/resume.js';
18
+ import { announceExit } from './supervisor.js';
19
+ /** How long shutdown waits for open connections to close. See `shutdown`. */
20
+ const SERVER_CLOSE_DEADLINE_MS = 2000;
21
+ /**
22
+ * Warn when no agent CLI is installed.
23
+ *
24
+ * Without this the first thing a new user does - start an agent - fails inside
25
+ * a terminal window on the canvas, where the error is easy to miss and reads
26
+ * like the hub is broken. Checking every profile that wires up MCP, rather
27
+ * than "claude" specifically, keeps a custom ~/.termscape/agents.toml counted.
28
+ */
29
+ function preflightAgents() {
30
+ const agents = ProfileRegistry.load()
31
+ .list()
32
+ .filter((profile) => profile.mcp);
33
+ if (agents.length === 0)
34
+ return;
35
+ if (agents.some((profile) => which(profile.command)))
36
+ return;
37
+ const names = agents.map((profile) => profile.command).join(', ');
38
+ console.error(`[warn] no agent CLI found on PATH (looked for: ${names})`);
39
+ console.error(' install one - https://claude.com/claude-code - or set');
40
+ console.error(' an absolute "command" in ~/.termscape/agents.toml.');
41
+ console.error(' Terminals with the "shell" profile still work.');
42
+ console.error('');
43
+ }
44
+ /**
45
+ * The hub itself. `cliPath` is the entry point it was started from, which is
46
+ * how it tells an npx run from a global install from a checkout.
47
+ */
48
+ export async function main(values, cliPath) {
49
+ if (values.version) {
50
+ console.log(HUB_VERSION);
51
+ return;
52
+ }
53
+ if (values.help) {
54
+ console.log(`termscape ${HUB_VERSION}
55
+
56
+ --port <n> port to bind; 0 lets the OS pick. Default: the first
57
+ free memorable port (7777, 4242, ...)
58
+ --listen <addr> bind address. Default: every interface, so the canvas is
59
+ reachable from your network with its token and another
60
+ machine can attach from the join page - the one page
61
+ served *without* the token. "loopback" keeps the hub to
62
+ this machine, and turns that page off with it
63
+ --headless serve no web UI; used when running as a remote hub
64
+ --token <t> client token to use instead of generating one
65
+ --open open the canvas even when not on a terminal
66
+ --no-open do not open the canvas; just print the url
67
+ --browser open the canvas in the browser instead of its own
68
+ window. Closing that window stops the hub; closing a
69
+ browser tab does not
70
+ --no-update-check do not ask npm whether a newer termscape is out
71
+
72
+ Joining another machine's canvas:
73
+
74
+ --join <url> dial that hub and put this machine on its canvas
75
+ --join-token <t> single-use token from its join page; not needed once
76
+ this machine has enrolled once
77
+ --label <name> how to name this machine there (default: hostname)
78
+ `);
79
+ return;
80
+ }
81
+ preflightAgents();
82
+ mkdirSync(paths.home(), { recursive: true });
83
+ const clientToken = values.token ?? mintClientToken();
84
+ writeFileSync(paths.tokenFile(), clientToken, { mode: 0o600 });
85
+ // The join installer reads this to stop a previous hub before replacing its
86
+ // files; on Windows a loaded .node cannot be deleted while it runs.
87
+ writeFileSync(paths.pidFile(), String(process.pid));
88
+ const plan = listenPlan(values.listen, { headless: values.headless });
89
+ const hub = new Hub();
90
+ const { app, origin, lanOrigin, lanAltOrigin, enrollOrigin, enrollAltOrigin, port, peerServer, } = await serve({
91
+ hub,
92
+ host: plan.host,
93
+ enroll: plan.enroll,
94
+ // The join page has to be typed by hand on another machine, so prefer a
95
+ // port worth remembering unless one was asked for explicitly.
96
+ port: values.port === undefined ? MEMORABLE_PORTS : Number(values.port),
97
+ clientToken,
98
+ headless: values.headless,
99
+ });
100
+ const url = `${origin}/?token=${clientToken}`;
101
+ // A remote hub is parsed by the deployer, so keep this line machine-readable.
102
+ console.log(`termscape hub ${HUB_VERSION} listening on ${origin}`);
103
+ console.log(`TERMSCAPE_PORT=${port}`);
104
+ // Said out loud because it is easy to leave on, and because a remote
105
+ // session only traces if the hub on the *other* machine was started with
106
+ // it too - a half-traced path is what makes an input look lost.
107
+ const traced = debugTopics();
108
+ if (traced.length > 0) {
109
+ console.log(` tracing: ${traced.join(', ')} (TERMSCAPE_DEBUG)`);
110
+ }
111
+ /*
112
+ * Binding wide and answering the join page is the default now, which makes
113
+ * it news rather than a confirmation - so it is said first, before the URLs,
114
+ * and it says what it costs before it says what it buys. The old banner put
115
+ * this last, where it read as an acknowledgement of something the operator
116
+ * had just typed.
117
+ *
118
+ * The way out is printed on the enrolling path too, not only the other one.
119
+ * It is the branch where somebody might want it.
120
+ */
121
+ if (!values.headless && lanOrigin) {
122
+ const where = lanOrigin.replace(/^http:\/\//, '');
123
+ console.log(`\n on your network at ${where}`);
124
+ if (enrollOrigin) {
125
+ console.log(` anyone who can reach it can load the join page and`);
126
+ console.log(` attach a machine to this canvas. Everything else`);
127
+ console.log(` needs the token below.`);
128
+ console.log(` --listen loopback keeps the hub to this machine.`);
129
+ }
130
+ else {
131
+ console.log(` the canvas needs the token below, so this is worth`);
132
+ console.log(` opening on a phone or a second screen.`);
133
+ console.log(` --listen loopback keeps the hub to this machine.`);
134
+ }
135
+ }
136
+ if (!values.headless)
137
+ console.log(`\n open: ${url}`);
138
+ // The canvas is worth opening from a phone or a second screen, and that
139
+ // needs the token too - so offer the whole URL, not just the host.
140
+ if (!values.headless && lanOrigin) {
141
+ console.log(` or ${lanOrigin}/?token=${clientToken}`);
142
+ // If the name does not resolve on the other machine, the IP always will.
143
+ if (lanAltOrigin)
144
+ console.log(` or ${lanAltOrigin}/?token=${clientToken}`);
145
+ }
146
+ if (enrollOrigin) {
147
+ console.log(`\n enroll: ${enrollOrigin}/join`);
148
+ if (enrollAltOrigin)
149
+ console.log(` or ${enrollAltOrigin}/join`);
150
+ }
151
+ else if (!values.headless) {
152
+ // Only two ways to get here now that the default enrolls: the operator
153
+ // asked for loopback, or this machine has no address anyone could reach it
154
+ // on. Saying which is the difference between a setting they chose and a
155
+ // network they need to go and look at.
156
+ const why = values.listen === undefined
157
+ ? 'this machine has no address another machine could reach it on'
158
+ : 'this hub is bound to loopback';
159
+ console.log(`\n no join page: ${why}`);
160
+ }
161
+ if (!values.headless)
162
+ console.log('');
163
+ // The canvas hub asks us to stop when the user drops this host, so the
164
+ // machine does not keep a hub running that belongs to nobody.
165
+ // A join that was refused cannot be retried into working, and this hub was
166
+ // started only to join. Stopping frees its install for a re-run.
167
+ hub.on('joinFailed', (message) => {
168
+ console.error(`[join] cannot join: ${message}`);
169
+ void shutdown('join failed');
170
+ });
171
+ hub.on('peerShutdown', () => {
172
+ console.log('\n[peer] the canvas dropped this host; stopping');
173
+ void shutdown('peer');
174
+ });
175
+ /*
176
+ * The canvas telling this machine to take its build. Only a joined hub can:
177
+ * it knows the canvas to fetch from, and the installer that does the work
178
+ * is the one it was installed by in the first place.
179
+ */
180
+ const joinUrl = values.join;
181
+ if (joinUrl) {
182
+ hub.on('peerUpdate', (answer) => {
183
+ console.log('\n[peer] the canvas asked this machine to update; handing over to its installer');
184
+ // Before the installer stops this hub: the one it starts resumes them.
185
+ hub.rememberRunning();
186
+ runHostUpdate(joinUrl).then(() => answer(null), (err) => {
187
+ // Nothing is going to restart, so nothing is waiting to resume.
188
+ rmSync(resumeFile(), { force: true });
189
+ answer(`could not start the update here: ${err.message}`);
190
+ });
191
+ });
192
+ }
193
+ let link = null;
194
+ if (values.join) {
195
+ link = joinCanvas({
196
+ hub,
197
+ peerServer,
198
+ hubUrl: values.join,
199
+ joinToken: values['join-token'],
200
+ label: values.label,
201
+ });
202
+ }
203
+ let shuttingDown = false;
204
+ const shutdown = async (signal, exitCode = 0) => {
205
+ if (shuttingDown)
206
+ return;
207
+ shuttingDown = true;
208
+ console.log(`\n[${signal}] saving state...`);
209
+ // Snapshots are forced here: this is the write that makes a clean restart
210
+ // come back with the right screens.
211
+ try {
212
+ link?.stop();
213
+ hub.shutdown();
214
+ }
215
+ catch (err) {
216
+ // Stopping is the one thing this must not fail at. A throw here used to
217
+ // skip the exit below and leave the hub up with nothing to stop it.
218
+ console.error('[shutdown]', err instanceof Error ? err.message : err);
219
+ }
220
+ try {
221
+ rmSync(paths.pidFile(), { force: true });
222
+ }
223
+ catch {
224
+ // Best effort; a stale pid file is handled by whoever reads it.
225
+ }
226
+ /*
227
+ * Closing the server is given a deadline rather than waited out. It waits
228
+ * for every websocket to finish its close handshake, and a client that
229
+ * never answers - a tab on a laptop that went to sleep, a machine on the
230
+ * other end of a dead link, anything that opened a socket and went quiet -
231
+ * held it open indefinitely. The canvas window had gone, the terminal was
232
+ * still held, and only Ctrl+C gave it back. State is already saved by now;
233
+ * all that is left to lose is a goodbye nobody is listening for.
234
+ */
235
+ await Promise.race([
236
+ app.close().catch(() => {
237
+ // Server already down.
238
+ }),
239
+ new Promise((resolve) => setTimeout(resolve, SERVER_CLOSE_DEADLINE_MS).unref()),
240
+ ]);
241
+ // node-pty on ConPTY keeps handles that can hold the loop open past close,
242
+ // and on Windows has been seen to hold process.exit itself. Saying so
243
+ // first lets a supervisor finish the job.
244
+ await announceExit(exitCode);
245
+ process.exit(exitCode);
246
+ };
247
+ // A hub replaced by this one for an update left behind which agents it was
248
+ // running. Bring them back, now that there is a hub to run them.
249
+ void hub.resumeRemembered().then((resumed) => {
250
+ if (resumed.length > 0)
251
+ console.log(`[update] resumed ${resumed.join(', ')}`);
252
+ });
253
+ startUpdater({
254
+ hub,
255
+ values,
256
+ cliPath,
257
+ port,
258
+ clientToken,
259
+ restart: (plan) => {
260
+ hub.rememberRunning();
261
+ writeRestartPlan(plan);
262
+ void shutdown('update', EXIT_RESTART);
263
+ },
264
+ });
265
+ for (const sig of ['SIGINT', 'SIGTERM']) {
266
+ process.on(sig, () => void shutdown(sig));
267
+ }
268
+ process.on('uncaughtException', (err) => {
269
+ console.error('[fatal]', err);
270
+ void shutdown('uncaughtException');
271
+ });
272
+ // Node escalates an unhandled rejection to uncaughtException, which above
273
+ // stops the hub. A peer refusing a request is a normal thing that must not
274
+ // cost the user every agent running on this machine, so it is logged and
275
+ // survived instead. Call sites still catch their own; this is the net.
276
+ process.on('unhandledRejection', (reason) => {
277
+ console.error('[unhandled]', reason instanceof Error ? reason.message : reason);
278
+ });
279
+ /*
280
+ * Opening the canvas is the default, not a flag.
281
+ *
282
+ * The URL carries a token, so it is long and cannot be retyped - leaving
283
+ * the user to copy it out of scrollback is most of the friction in a
284
+ * one-command install. A headless hub has no UI to open, and a hub started
285
+ * by a script or a supervisor has nobody watching, which is what the TTY
286
+ * check stands in for. --open overrides that check; --no-open beats both.
287
+ *
288
+ * What opens is a window of the canvas's own, which is the app: closing it
289
+ * stops the hub, as Ctrl+C would. --browser asks for a tab instead, and a
290
+ * machine with no webview to show gets one anyway rather than nothing.
291
+ * Opened after `shutdown` exists, since closing the window calls it.
292
+ */
293
+ const wantsCanvas = !values.headless &&
294
+ !values['no-open'] &&
295
+ (values.open || process.stdout.isTTY === true);
296
+ if (wantsCanvas && values.browser) {
297
+ openInBrowser(url);
298
+ }
299
+ else if (wantsCanvas) {
300
+ openAppWindow(url, {
301
+ onClosed: () => void shutdown('window closed'),
302
+ onUnavailable: () => {
303
+ console.error('[app] no native window here; opening the browser instead');
304
+ openInBrowser(url);
305
+ },
306
+ onCrashed: (why) => {
307
+ console.error(`[app] the window exited (${why}); the hub is still running at ${url}`);
308
+ },
309
+ });
310
+ }
311
+ }
312
+ /**
313
+ * Look for newer releases, and be ready to install one when asked.
314
+ *
315
+ * Only a hub that has a canvas of its own looks: a headless hub is a joined
316
+ * machine, which takes its canvas's build rather than npm's, and anyone who
317
+ * would rather not be told can say so.
318
+ */
319
+ function startUpdater(opts) {
320
+ const { hub, values } = opts;
321
+ const initialError = process.env.TERMSCAPE_UPDATE_ERROR ?? null;
322
+ // It has been read; the agents this hub starts have no use for it.
323
+ delete process.env.TERMSCAPE_UPDATE_ERROR;
324
+ if (initialError)
325
+ console.error(`[update] ${initialError}`);
326
+ const optedOut = values['no-update-check'] || process.env.TERMSCAPE_NO_UPDATE_CHECK === '1';
327
+ if (values.headless || values.join || optedOut)
328
+ return;
329
+ const updater = new Updater({
330
+ currentVersion: HUB_VERSION,
331
+ kind: installKind(opts.cliPath, { joined: false }),
332
+ canRestart: process.env.TERMSCAPE_SUPERVISED === '1',
333
+ cliPath: opts.cliPath,
334
+ restartArgs: () => restartArgs(process.argv.slice(2), { port: opts.port, token: opts.clientToken }),
335
+ restart: opts.restart,
336
+ initialError,
337
+ });
338
+ hub.updater = updater;
339
+ updater.on('change', (info) => hub.emit('update', info));
340
+ hub.emit('update', updater.info());
341
+ updater.start();
342
+ }
343
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -47,9 +47,11 @@ export declare const Host: z.ZodObject<{
47
47
  disconnected: "disconnected";
48
48
  connecting: "connecting";
49
49
  connected: "connected";
50
+ outdated: "outdated";
50
51
  }>;
51
52
  lastSeenAt: z.ZodNullable<z.ZodNumber>;
52
53
  error: z.ZodNullable<z.ZodString>;
54
+ canUpdate: z.ZodOptional<z.ZodBoolean>;
53
55
  }, z.core.$strip>;
54
56
  export type Host = z.infer<typeof Host>;
55
57
  export declare const Workspace: z.ZodObject<{
@@ -294,6 +296,7 @@ export declare const HostInfo: z.ZodObject<{
294
296
  disconnected: "disconnected";
295
297
  connecting: "connecting";
296
298
  connected: "connected";
299
+ outdated: "outdated";
297
300
  }>;
298
301
  you: z.ZodBoolean;
299
302
  platform: z.ZodNullable<z.ZodString>;
@@ -311,4 +314,36 @@ export declare const HostInfo: z.ZodObject<{
311
314
  }, z.core.$strip>>;
312
315
  }, z.core.$strip>;
313
316
  export type HostInfo = z.infer<typeof HostInfo>;
317
+ /**
318
+ * How a hub can replace itself with a newer release.
319
+ *
320
+ * `npx` and `global` can fetch from npm and restart in place. `host` is a
321
+ * machine joined to a canvas: it takes the canvas's own build instead, when
322
+ * the canvas tells it to. `source` is a checkout, which updates by git.
323
+ */
324
+ export declare const InstallKind: z.ZodEnum<{
325
+ source: "source";
326
+ npx: "npx";
327
+ global: "global";
328
+ host: "host";
329
+ }>;
330
+ export type InstallKind = z.infer<typeof InstallKind>;
331
+ export declare const UpdateInfo: z.ZodObject<{
332
+ latest: z.ZodNullable<z.ZodString>;
333
+ kind: z.ZodEnum<{
334
+ source: "source";
335
+ npx: "npx";
336
+ global: "global";
337
+ host: "host";
338
+ }>;
339
+ canRestart: z.ZodBoolean;
340
+ state: z.ZodEnum<{
341
+ failed: "failed";
342
+ idle: "idle";
343
+ downloading: "downloading";
344
+ restarting: "restarting";
345
+ }>;
346
+ error: z.ZodNullable<z.ZodString>;
347
+ }, z.core.$strip>;
348
+ export type UpdateInfo = z.infer<typeof UpdateInfo>;
314
349
  //# sourceMappingURL=domain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
@@ -28,9 +28,21 @@ export const Host = z.object({
28
28
  /** `linux-x64`, `darwin-arm64`, ... as reported by an enrolling host. */
29
29
  platform: z.string().nullable(),
30
30
  hubVersion: z.string().nullable(),
31
- state: z.enum(['disconnected', 'connecting', 'connected', 'error']),
31
+ /**
32
+ * `outdated`: the host dialled in speaking an older peer schema. It is kept
33
+ * on the line so the canvas can tell it to update itself, and nothing else
34
+ * is routed to it until it has.
35
+ */
36
+ state: z.enum(['disconnected', 'connecting', 'connected', 'outdated', 'error']),
32
37
  lastSeenAt: z.number().nullable(),
33
38
  error: z.string().nullable(),
39
+ /**
40
+ * Whether the canvas can bring this host to its own version: always for an
41
+ * ssh host, which it redeploys; for an enrolled one, only when its hello
42
+ * said it understands `update`. Not stored - it is a fact about the hub
43
+ * running over there right now.
44
+ */
45
+ canUpdate: z.boolean().optional(),
34
46
  });
35
47
  export const Workspace = z.object({
36
48
  id: z.string(),
@@ -266,7 +278,7 @@ export const HostInfo = z.object({
266
278
  id: z.string(),
267
279
  label: z.string(),
268
280
  kind: z.enum(['canvas', 'ssh', 'enrolled']),
269
- state: z.enum(['disconnected', 'connecting', 'connected', 'error']),
281
+ state: z.enum(['disconnected', 'connecting', 'connected', 'outdated', 'error']),
270
282
  /** True for the machine the *calling* agent is running on. */
271
283
  you: z.boolean(),
272
284
  platform: z.string().nullable(),
@@ -285,4 +297,21 @@ export const HostInfo = z.object({
285
297
  detail: z.string().nullable(),
286
298
  })),
287
299
  });
300
+ /**
301
+ * How a hub can replace itself with a newer release.
302
+ *
303
+ * `npx` and `global` can fetch from npm and restart in place. `host` is a
304
+ * machine joined to a canvas: it takes the canvas's own build instead, when
305
+ * the canvas tells it to. `source` is a checkout, which updates by git.
306
+ */
307
+ export const InstallKind = z.enum(['npx', 'global', 'host', 'source']);
308
+ export const UpdateInfo = z.object({
309
+ /** The newest release on npm, or null until a check has answered. */
310
+ latest: z.string().nullable(),
311
+ kind: InstallKind,
312
+ /** Whether this hub runs under the supervisor that can restart it. */
313
+ canRestart: z.boolean(),
314
+ state: z.enum(['idle', 'downloading', 'restarting', 'failed']),
315
+ error: z.string().nullable(),
316
+ });
288
317
  //# sourceMappingURL=domain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain.js","sourceRoot":"","sources":["../src/domain.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,5 @@ export * from './inject.js';
5
5
  export * from './address.js';
6
6
  export * from './peer.js';
7
7
  export * from './mouse.js';
8
+ export * from './version.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -5,4 +5,5 @@ export * from './inject.js';
5
5
  export * from './address.js';
6
6
  export * from './peer.js';
7
7
  export * from './mouse.js';
8
+ export * from './version.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
@@ -25,6 +25,20 @@ export declare function hexBytes(bytes: Uint8Array, limit?: number): string;
25
25
  export declare function describeInput(bytes: Uint8Array): string;
26
26
  /** The same, for input a caller is holding as one-byte-per-code-unit text. */
27
27
  export declare function describeLatin1(data: string): string;
28
+ /**
29
+ * Turns off every mode that makes a terminal send input nobody typed: mouse
30
+ * reports in every encoding, focus events, bracketed paste, and application
31
+ * cursor keys.
32
+ *
33
+ * Written when a session launches. The screen restored for it was saved from
34
+ * the previous process and carries that process's modes - Claude Code's
35
+ * `?1003h` among them - so the window went on reporting every mouse move to a
36
+ * new process that had not asked for any, and was still starting up and
37
+ * reading its input as text. Moving the mouse over a resuming window typed
38
+ * `C{"Co$Cf&...` into its prompt. The new process turns back on whatever it
39
+ * actually wants.
40
+ */
41
+ export declare const INPUT_MODES_RESET: string;
28
42
  export interface ModeChange {
29
43
  mode: string;
30
44
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../src/mouse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,SAAK,GAAG,MAAM,CAK9D;AAqED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIvD;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AA4BD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAUtD;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIhE"}
1
+ {"version":3,"file":"mouse.d.ts","sourceRoot":"","sources":["../src/mouse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,SAAK,GAAG,MAAM,CAK9D;AAqED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAIvD;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAInD;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,QAGI,CAAC;AA4BnC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAUtD;AAED,0EAA0E;AAC1E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAIhE"}
@@ -117,6 +117,22 @@ export function describeLatin1(data) {
117
117
  bytes[i] = data.charCodeAt(i) & 0xff;
118
118
  return describeInput(bytes);
119
119
  }
120
+ /**
121
+ * Turns off every mode that makes a terminal send input nobody typed: mouse
122
+ * reports in every encoding, focus events, bracketed paste, and application
123
+ * cursor keys.
124
+ *
125
+ * Written when a session launches. The screen restored for it was saved from
126
+ * the previous process and carries that process's modes - Claude Code's
127
+ * `?1003h` among them - so the window went on reporting every mouse move to a
128
+ * new process that had not asked for any, and was still starting up and
129
+ * reading its input as text. Moving the mouse over a resuming window typed
130
+ * `C{"Co$Cf&...` into its prompt. The new process turns back on whatever it
131
+ * actually wants.
132
+ */
133
+ export const INPUT_MODES_RESET = '\x1b[?9l\x1b[?1000l\x1b[?1002l\x1b[?1003l' +
134
+ '\x1b[?1005l\x1b[?1006l\x1b[?1015l\x1b[?1016l' +
135
+ '\x1b[?1004l\x1b[?2004l\x1b[?1l';
120
136
  /**
121
137
  * The modes that decide whether a wheel is the program's business or the
122
138
  * terminal's, named by what they do rather than by number.
@@ -1 +1 @@
1
- {"version":3,"file":"mouse.js","sourceRoot":"","sources":["../src/mouse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mouse.js","sourceRoot":"","sources":["../src/mouse.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,kEAAkE;AAClE,MAAM,UAAU,QAAQ,CAAC,KAAiB,EAAE,KAAK,GAAG,EAAE;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC/C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;IACb,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AACxE,CAAC;AAED,wEAAwE;AACxE,SAAS,MAAM,CAAC,KAAiB;IAC/B,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAC;aACxB,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAC;aAC7B,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAC;aAC7B,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,KAAK,CAAC;aAC7B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;aAC3E,IAAI,CAAC,GAAG,IAAI;YAAE,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;;YAC5C,GAAG,IAAI,MAAM,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,CAAS;IAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IAClB,MAAM,IAAI,GAAG;QACX,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACpB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QACnB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;KACrB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClB,IAAI,IAAY,CAAC;IACjB,IAAI,KAAK;QAAE,IAAI,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC;SAChF,IAAI,GAAG,KAAK,CAAC;QAAE,IAAI,GAAG,SAAS,CAAC;;QAChC,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,GAAG,CAAE,CAAC;IAC9C,IAAI,MAAM,IAAI,CAAC,KAAK;QAAE,IAAI,IAAI,SAAS,CAAC;IACxC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,KAAiB;IAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7E,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC;IACzB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC;IAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9D,OAAO,OAAO,cAAc,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,GAAG,GAAG,IAAI,EAAE,CAAC;AACjE,CAAC;AAED,wEAAwE;AACxE,SAAS,SAAS,CAAC,KAAiB;IAClC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,MAAM,CAAC,GAAG,gCAAgC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACjD,OAAO,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,KAAiB;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,KAAK;QAAE,OAAO,GAAG,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;IAClD,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3E,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAC5B,2CAA2C;IAC3C,8CAA8C;IAC9C,gCAAgC,CAAC;AAEnC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,GAA2B;IACzC,GAAG,EAAE,WAAW;IAChB,MAAM,EAAE,aAAa;IACrB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,kBAAkB;IAC1B,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,qBAAqB;IAC7B,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,sBAAsB;IAC9B,MAAM,EAAE,oBAAoB;IAC5B,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,mBAAmB;IAC3B,IAAI,EAAE,mBAAmB;CAC1B,CAAC;AAQF;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,8EAA8E;IAC9E,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QACzD,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI;gBAAE,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnF,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,UAAkB;IACtD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,uBAAuB,CAAC;IACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC"}