@indianic/dialout 1.11.0 → 1.12.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 (77) hide show
  1. package/README.md +14 -0
  2. package/dist/ai-sessions.d.ts +45 -1
  3. package/dist/ai-sessions.d.ts.map +1 -1
  4. package/dist/ai-sessions.js +68 -10
  5. package/dist/ai-sessions.js.map +1 -1
  6. package/dist/cli-client.d.ts +60 -0
  7. package/dist/cli-client.d.ts.map +1 -0
  8. package/dist/cli-client.js +246 -0
  9. package/dist/cli-client.js.map +1 -0
  10. package/dist/cli-terminal.d.ts +101 -0
  11. package/dist/cli-terminal.d.ts.map +1 -0
  12. package/dist/cli-terminal.js +1121 -0
  13. package/dist/cli-terminal.js.map +1 -0
  14. package/dist/cli.js +84 -0
  15. package/dist/cli.js.map +1 -1
  16. package/dist/file-transfer.d.ts +18 -0
  17. package/dist/file-transfer.d.ts.map +1 -0
  18. package/dist/file-transfer.js +266 -0
  19. package/dist/file-transfer.js.map +1 -0
  20. package/dist/fs-browser.d.ts +3 -1
  21. package/dist/fs-browser.d.ts.map +1 -1
  22. package/dist/fs-browser.js +35 -6
  23. package/dist/fs-browser.js.map +1 -1
  24. package/dist/mcp-stdio.d.ts +10 -0
  25. package/dist/mcp-stdio.d.ts.map +1 -0
  26. package/dist/mcp-stdio.js +199 -0
  27. package/dist/mcp-stdio.js.map +1 -0
  28. package/dist/shared-shell.d.ts +77 -0
  29. package/dist/shared-shell.d.ts.map +1 -0
  30. package/dist/shared-shell.js +282 -0
  31. package/dist/shared-shell.js.map +1 -0
  32. package/dist/websocket.d.ts.map +1 -1
  33. package/dist/websocket.js +413 -1
  34. package/dist/websocket.js.map +1 -1
  35. package/node_modules/@indianic/dialout-shared/dist/captured.d.ts +27 -0
  36. package/node_modules/@indianic/dialout-shared/dist/captured.d.ts.map +1 -0
  37. package/node_modules/@indianic/dialout-shared/dist/captured.js +23 -0
  38. package/node_modules/@indianic/dialout-shared/dist/captured.test.d.ts +2 -0
  39. package/node_modules/@indianic/dialout-shared/dist/captured.test.d.ts.map +1 -0
  40. package/node_modules/@indianic/dialout-shared/dist/captured.test.js +27 -0
  41. package/node_modules/@indianic/dialout-shared/dist/chat-blocks.d.ts +5 -0
  42. package/node_modules/@indianic/dialout-shared/dist/chat-blocks.d.ts.map +1 -1
  43. package/node_modules/@indianic/dialout-shared/dist/chat-blocks.js +14 -3
  44. package/node_modules/@indianic/dialout-shared/dist/chat-blocks.test.js +14 -0
  45. package/node_modules/@indianic/dialout-shared/dist/event-merge.d.ts +7 -0
  46. package/node_modules/@indianic/dialout-shared/dist/event-merge.d.ts.map +1 -1
  47. package/node_modules/@indianic/dialout-shared/dist/event-merge.test.js +24 -0
  48. package/node_modules/@indianic/dialout-shared/dist/index.d.ts +5 -1
  49. package/node_modules/@indianic/dialout-shared/dist/index.d.ts.map +1 -1
  50. package/node_modules/@indianic/dialout-shared/dist/index.js +11 -1
  51. package/node_modules/@indianic/dialout-shared/dist/notices.d.ts +37 -0
  52. package/node_modules/@indianic/dialout-shared/dist/notices.d.ts.map +1 -0
  53. package/node_modules/@indianic/dialout-shared/dist/notices.js +124 -0
  54. package/node_modules/@indianic/dialout-shared/dist/notices.test.d.ts +2 -0
  55. package/node_modules/@indianic/dialout-shared/dist/notices.test.d.ts.map +1 -0
  56. package/node_modules/@indianic/dialout-shared/dist/notices.test.js +92 -0
  57. package/node_modules/@indianic/dialout-shared/dist/notify.d.ts +9 -0
  58. package/node_modules/@indianic/dialout-shared/dist/notify.d.ts.map +1 -1
  59. package/node_modules/@indianic/dialout-shared/dist/notify.js +27 -0
  60. package/node_modules/@indianic/dialout-shared/dist/session-announce.d.ts +20 -0
  61. package/node_modules/@indianic/dialout-shared/dist/session-announce.d.ts.map +1 -0
  62. package/node_modules/@indianic/dialout-shared/dist/session-announce.js +20 -0
  63. package/node_modules/@indianic/dialout-shared/dist/session-announce.test.d.ts +2 -0
  64. package/node_modules/@indianic/dialout-shared/dist/session-announce.test.d.ts.map +1 -0
  65. package/node_modules/@indianic/dialout-shared/dist/session-announce.test.js +30 -0
  66. package/node_modules/@indianic/dialout-shared/package.json +2 -2
  67. package/node_modules/@indianic/dialout-shared/src/captured.test.ts +29 -0
  68. package/node_modules/@indianic/dialout-shared/src/captured.ts +46 -0
  69. package/node_modules/@indianic/dialout-shared/src/chat-blocks.test.ts +14 -0
  70. package/node_modules/@indianic/dialout-shared/src/chat-blocks.ts +12 -3
  71. package/node_modules/@indianic/dialout-shared/src/event-merge.test.ts +27 -0
  72. package/node_modules/@indianic/dialout-shared/src/event-merge.ts +11 -0
  73. package/node_modules/@indianic/dialout-shared/src/index.ts +14 -1
  74. package/node_modules/@indianic/dialout-shared/src/notices.test.ts +102 -0
  75. package/node_modules/@indianic/dialout-shared/src/notices.ts +159 -0
  76. package/node_modules/@indianic/dialout-shared/src/notify.ts +51 -0
  77. package/package.json +2 -2
package/README.md CHANGED
@@ -252,6 +252,20 @@ Repeat steps 3 to 6 for every other machine you want in the room.
252
252
  | `dialout update` | Update to the latest published version |
253
253
  | `dialout config show` \| `path` \| `set <key> <value>` \| `reset` | Inspect and edit configuration |
254
254
  | `dialout --version` \| `--help` | Version and help |
255
+ | `dialout login` | Sign in with email, PIN, and a TOTP code. Stores `~/.dialout/cli-session.json` |
256
+ | `dialout logout` | Delete the stored CLI session |
257
+ | `dialout machines` | List machines and whether each is online |
258
+ | `dialout <machine>` | Open a shell on that machine. `exit` returns here |
259
+ | `dialout connect <machine>` | Same shell when the name is also a command |
260
+ | `dialout cp [-f\|--force] <local> <machine>:<remote>` | Upload one file, up to 10 MB. A trailing slash keeps the file name |
261
+ | `dialout cp [-f\|--force] <machine>:<remote> <local>` | Download one file |
262
+ | `dialout mcp` | Serve the shared shell as an MCP server on stdio |
263
+
264
+ Claude Code runs that server as:
265
+
266
+ ```json
267
+ { "mcpServers": { "dialout": { "command": "dialout", "args": ["mcp"] } } }
268
+ ```
255
269
 
256
270
  ## Configuration
257
271
 
@@ -50,7 +50,32 @@ export declare function deleteAiSession(id: string): boolean;
50
50
  export declare const HISTORY_CAP: number;
51
51
  export type { EventsMeta };
52
52
  export type EventsSink = (events: AiEvent[], status: AiStatus, usage: AiUsage | null, meta?: EventsMeta) => void;
53
- export declare function openAiSession(tmuxName: string, onEvents: EventsSink): void;
53
+ /**
54
+ * What the client already holds, so an open can answer with only the suffix.
55
+ *
56
+ * `key` is required and checked: a seq means nothing without knowing which
57
+ * transcript it counts. A pane that has moved on to a new conversation, or a
58
+ * client whose saved copy came from a different file, falls back to a full
59
+ * replay rather than appending one conversation to another.
60
+ */
61
+ export interface HaveThrough {
62
+ key: string;
63
+ through: number;
64
+ }
65
+ /**
66
+ * Where a delta should start, or null for "replay the whole page".
67
+ *
68
+ * Delta is only safe when the client's seq counts the SAME transcript (keys
69
+ * match) and the point it claims sits inside the window still in memory:
70
+ *
71
+ * below base the trim has already dropped what would come next, so sending
72
+ * from base would leave a gap the client cannot see
73
+ * above end the client claims more than this file holds — a truncated or
74
+ * rewritten transcript, or a stale saved copy from elsewhere
75
+ * exactly end nothing new; an empty delta, which is the in-sync signal
76
+ */
77
+ export declare function deltaStart(have: HaveThrough | null | undefined, sessionKey: string, base: number, count: number): number | null;
78
+ export declare function openAiSession(tmuxName: string, onEvents: EventsSink, have?: HaveThrough | null): void;
54
79
  /** Re-read one open session's pane and tell the client if its prompt changed. */
55
80
  export declare function checkPrompt(tmuxName: string): Promise<void>;
56
81
  /**
@@ -64,7 +89,26 @@ export declare function closeAllAiSessions(): void;
64
89
  export declare function sendKeysArgs(tmuxName: string, text: string): string[][];
65
90
  export interface SendDeps {
66
91
  run?: (args: string[]) => void;
92
+ /** Injected so the gap before Enter is assertable without waiting for it. */
93
+ schedule?: (fn: () => void, ms: number) => void;
67
94
  }
95
+ /**
96
+ * How long to wait after typing the text before pressing Enter.
97
+ *
98
+ * Both tmux commands used to be issued in the same tick. Measured against a
99
+ * raw-mode stdin reader inside tmux, the Enter then landed **2-3 ms** after the
100
+ * text — the order was right, so this was never a race. The problem is that
101
+ * Claude Code, Grok and other Ink/React TUIs classify input arriving within a
102
+ * few milliseconds of a multi-byte chunk as a *paste*, and a carriage return
103
+ * inside a paste is a literal newline, not a submit.
104
+ *
105
+ * So the message was typed into the agent's composer, a blank line was added
106
+ * under it, and nothing was ever sent — which is exactly what was reported.
107
+ *
108
+ * 60 ms is past any paste window those TUIs use and far below what a person
109
+ * notices. The same delay cannot hurt a plain shell, which has no such rule.
110
+ */
111
+ export declare const ENTER_DELAY_MS = 60;
68
112
  export declare function sendAiInput(tmuxName: string, text: string, deps?: SendDeps): void;
69
113
  /**
70
114
  * Press keys in an AI session's pane — how a prompt is answered: arrows to
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sessions.d.ts","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sessions.d.ts","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.HISTORY_CAP = exports.REPLAY_LIMIT = void 0;
36
+ exports.ENTER_DELAY_MS = exports.HISTORY_CAP = exports.REPLAY_LIMIT = void 0;
37
37
  exports.readPanePrompt = readPanePrompt;
38
38
  exports.statusWithPrompt = statusWithPrompt;
39
39
  exports.launchedTranscript = launchedTranscript;
@@ -42,6 +42,7 @@ exports.discoverAiSessions = discoverAiSessions;
42
42
  exports.diagnoseAiSessions = diagnoseAiSessions;
43
43
  exports.createAiSession = createAiSession;
44
44
  exports.deleteAiSession = deleteAiSession;
45
+ exports.deltaStart = deltaStart;
45
46
  exports.openAiSession = openAiSession;
46
47
  exports.checkPrompt = checkPrompt;
47
48
  exports.sendAiHistory = sendAiHistory;
@@ -316,7 +317,27 @@ function deleteAiSession(id) {
316
317
  // at most a PREVIEW_LIMIT tool preview, so this bounds the heap per open
317
318
  // session at a few MB rather than at the size of the transcript.
318
319
  exports.HISTORY_CAP = dialout_shared_1.REPLAY_LIMIT * 15;
319
- function openAiSession(tmuxName, onEvents) {
320
+ /**
321
+ * Where a delta should start, or null for "replay the whole page".
322
+ *
323
+ * Delta is only safe when the client's seq counts the SAME transcript (keys
324
+ * match) and the point it claims sits inside the window still in memory:
325
+ *
326
+ * below base the trim has already dropped what would come next, so sending
327
+ * from base would leave a gap the client cannot see
328
+ * above end the client claims more than this file holds — a truncated or
329
+ * rewritten transcript, or a stale saved copy from elsewhere
330
+ * exactly end nothing new; an empty delta, which is the in-sync signal
331
+ */
332
+ function deltaStart(have, sessionKey, base, count) {
333
+ if (!have || !have.key || have.key !== sessionKey)
334
+ return null;
335
+ if (!Number.isInteger(have.through))
336
+ return null;
337
+ const start = have.through + 1;
338
+ return start >= base && start <= base + count ? start : null;
339
+ }
340
+ function openAiSession(tmuxName, onEvents, have) {
320
341
  closeAiSession(tmuxName);
321
342
  void (async () => {
322
343
  // Ask discovery rather than resolving again: it is the only place that
@@ -376,12 +397,27 @@ function openAiSession(tmuxName, onEvents) {
376
397
  live.tail.catchUp();
377
398
  replaying = false;
378
399
  live.prompt = await readPanePrompt(tmuxName);
379
- const initial = live.events.slice(-dialout_shared_1.REPLAY_LIMIT);
380
- const firstSeq = live.base + live.events.length - initial.length;
381
- onEvents(initial, statusWithPrompt((0, ai_status_1.deriveStatus)(live.events, live.tail.lastGrowthMs, Date.now()), live.prompt), live.usage.usage, {
382
- replay: true, firstSeq, earlier: firstSeq - live.base, sessionKey, prompt: live.prompt,
383
- session: { kind: row.kind, folder: row.folder, gitBranch: row.gitBranch, title: live.title || row.title },
384
- });
400
+ const status = statusWithPrompt((0, ai_status_1.deriveStatus)(live.events, live.tail.lastGrowthMs, Date.now()), live.prompt);
401
+ const session = { kind: row.kind, folder: row.folder, gitBranch: row.gitBranch, title: live.title || row.title };
402
+ const end = live.base + live.events.length;
403
+ // The client said what it holds (it painted the captured copy from the
404
+ // server's database). Answer with the suffix after that point when that is
405
+ // sound — see deltaStart for when it is not.
406
+ const start = deltaStart(have, sessionKey, live.base, live.events.length);
407
+ if (start !== null) {
408
+ onEvents(live.events.slice(start - live.base), status, live.usage.usage, {
409
+ // No `earlier`: the client counted it from the database, which reaches
410
+ // further back than this window does, and must keep its own figure.
411
+ delta: true, firstSeq: start, sessionKey, prompt: live.prompt, session,
412
+ });
413
+ }
414
+ else {
415
+ const initial = live.events.slice(-dialout_shared_1.REPLAY_LIMIT);
416
+ const firstSeq = end - initial.length;
417
+ onEvents(initial, status, live.usage.usage, {
418
+ replay: true, firstSeq, earlier: firstSeq - live.base, sessionKey, prompt: live.prompt, session,
419
+ });
420
+ }
385
421
  live.tail.start();
386
422
  // Re-read the pane while the chat is open: a prompt appears without any
387
423
  // transcript growth, and disappears the moment it is answered anywhere.
@@ -457,6 +493,23 @@ function sendKeysArgs(tmuxName, text) {
457
493
  ['send-keys', '-t', tmuxName, 'Enter'],
458
494
  ];
459
495
  }
496
+ /**
497
+ * How long to wait after typing the text before pressing Enter.
498
+ *
499
+ * Both tmux commands used to be issued in the same tick. Measured against a
500
+ * raw-mode stdin reader inside tmux, the Enter then landed **2-3 ms** after the
501
+ * text — the order was right, so this was never a race. The problem is that
502
+ * Claude Code, Grok and other Ink/React TUIs classify input arriving within a
503
+ * few milliseconds of a multi-byte chunk as a *paste*, and a carriage return
504
+ * inside a paste is a literal newline, not a submit.
505
+ *
506
+ * So the message was typed into the agent's composer, a blank line was added
507
+ * under it, and nothing was ever sent — which is exactly what was reported.
508
+ *
509
+ * 60 ms is past any paste window those TUIs use and far below what a person
510
+ * notices. The same delay cannot hurt a plain shell, which has no such rule.
511
+ */
512
+ exports.ENTER_DELAY_MS = 60;
460
513
  function sendAiInput(tmuxName, text, deps = {}) {
461
514
  // A launched session takes structured input on stdin; a tmux one takes
462
515
  // keystrokes. Same call site, different mechanism.
@@ -470,8 +523,13 @@ function sendAiInput(tmuxName, text, deps = {}) {
470
523
  const run = deps.run || ((args) => {
471
524
  (0, child_process_1.execFile)('tmux', args, { timeout: 5000 }, () => { });
472
525
  });
473
- for (const args of sendKeysArgs(tmuxName, text))
474
- run(args);
526
+ const schedule = deps.schedule || ((fn, ms) => { setTimeout(fn, ms); });
527
+ // Type the text, then press Enter separately — see ENTER_DELAY_MS. A named
528
+ // key (Escape, C-c, an arrow) is a single command with no Enter to follow.
529
+ const [first, enter] = sendKeysArgs(tmuxName, text);
530
+ run(first);
531
+ if (enter)
532
+ schedule(() => run(enter), exports.ENTER_DELAY_MS);
475
533
  }
476
534
  /**
477
535
  * Press keys in an AI session's pane — how a prompt is answered: arrows to
@@ -1 +1 @@
1
- {"version":3,"file":"ai-sessions.js","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-sessions.js","sourceRoot":"","sources":["../src/ai-sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ export declare const RESERVED_COMMANDS: ReadonlySet<string>;
2
+ export declare function rewriteConnectArgv(argv: string[], reserved: ReadonlySet<string>): string[];
3
+ export declare function apiOriginFromServerUrl(serverUrl: string): string | null;
4
+ export declare function terminalSocketUrl(serverUrl: string, machineId: number, token: string): string | null;
5
+ export interface CliMachine {
6
+ id: number;
7
+ name: string;
8
+ isOnline: boolean;
9
+ }
10
+ export type MachineMatch = {
11
+ ok: true;
12
+ machine: CliMachine;
13
+ } | {
14
+ ok: false;
15
+ reason: 'none' | 'ambiguous' | 'offline';
16
+ matches: CliMachine[];
17
+ };
18
+ export declare function matchMachine(rows: readonly CliMachine[], input: string): MachineMatch;
19
+ export type CopyPair = {
20
+ ok: true;
21
+ upload: boolean;
22
+ machine: string;
23
+ local: string;
24
+ remote: string;
25
+ } | {
26
+ ok: false;
27
+ error: string;
28
+ };
29
+ export declare function parseCopyPair(left: string, right: string): CopyPair;
30
+ export declare function expandLocalHome(p: string, homedir: string): string;
31
+ export declare function resolveRemoteDest(remote: string, remoteIsDir: boolean, localBasename: string): string;
32
+ export declare function resolveLocalDest(local: string, localIsDir: boolean, remoteBasename: string): string;
33
+ export declare const MAX_COPY_BYTES: number;
34
+ export interface EscapeResult {
35
+ atLineStart: boolean;
36
+ forward: string;
37
+ detach: boolean;
38
+ pendingTilde: boolean;
39
+ }
40
+ export declare function consumeEscape(atLineStart: boolean, chunk: string, pendingTilde?: boolean): EscapeResult;
41
+ export type AuthStep = {
42
+ step: 'store';
43
+ token: string;
44
+ } | {
45
+ step: 'totp';
46
+ pendingToken: string;
47
+ } | {
48
+ step: 'enroll';
49
+ } | {
50
+ step: 'error';
51
+ message: string;
52
+ };
53
+ export declare function interpretAuthBody(body: unknown): AuthStep;
54
+ export interface CliSession {
55
+ token: string;
56
+ serverUrl: string;
57
+ }
58
+ export declare function writeCliSession(file: string, session: CliSession): void;
59
+ export declare function readCliSession(file: string): CliSession | null;
60
+ //# sourceMappingURL=cli-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-client.d.ts","sourceRoot":"","sources":["../src/cli-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,246 @@
1
+ "use strict";
2
+ // Pure CLI helpers: argv, URLs, copy paths, the OpenSSH-style `~.` escape,
3
+ // and the user session file. No network, tty, or tmux. This module does not
4
+ // read config.json, an API key, or WS_INTERNAL_TOKEN — the session file is
5
+ // the user JWT only.
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.MAX_COPY_BYTES = exports.RESERVED_COMMANDS = void 0;
8
+ exports.rewriteConnectArgv = rewriteConnectArgv;
9
+ exports.apiOriginFromServerUrl = apiOriginFromServerUrl;
10
+ exports.terminalSocketUrl = terminalSocketUrl;
11
+ exports.matchMachine = matchMachine;
12
+ exports.parseCopyPair = parseCopyPair;
13
+ exports.expandLocalHome = expandLocalHome;
14
+ exports.resolveRemoteDest = resolveRemoteDest;
15
+ exports.resolveLocalDest = resolveLocalDest;
16
+ exports.consumeEscape = consumeEscape;
17
+ exports.interpretAuthBody = interpretAuthBody;
18
+ exports.writeCliSession = writeCliSession;
19
+ exports.readCliSession = readCliSession;
20
+ const fs_1 = require("fs");
21
+ exports.RESERVED_COMMANDS = new Set([
22
+ 'init',
23
+ 'profiles',
24
+ 'use',
25
+ 'start',
26
+ 'stop',
27
+ 'restart',
28
+ 'status',
29
+ 'install-service',
30
+ 'uninstall-service',
31
+ 'setup-cron',
32
+ 'remove-cron',
33
+ 'repair',
34
+ 'setup-cowork',
35
+ 'update',
36
+ 'config',
37
+ 'tmux',
38
+ 'ai-doctor',
39
+ 'login',
40
+ 'logout',
41
+ 'machines',
42
+ 'connect',
43
+ 'cp',
44
+ 'mcp',
45
+ ]);
46
+ // A bare name becomes `connect <name>`. Reserved words and flags are left
47
+ // alone so `dialout status` is not turned into a connect. Nothing is printed.
48
+ function rewriteConnectArgv(argv, reserved) {
49
+ const name = argv[2];
50
+ if (name === undefined || name.startsWith('-') || reserved.has(name)) {
51
+ return argv.slice();
52
+ }
53
+ return [argv[0], argv[1], 'connect', ...argv.slice(2)];
54
+ }
55
+ // `/ws` is stripped first so a production URL keeps its port. Only a bare
56
+ // local ws-server port (50052, no /ws path) maps onto the Next.js port 50051.
57
+ // Anything else is null — do not guess an origin.
58
+ function apiOriginFromServerUrl(serverUrl) {
59
+ let url;
60
+ try {
61
+ url = new URL(serverUrl);
62
+ }
63
+ catch {
64
+ return null;
65
+ }
66
+ if (url.protocol !== 'ws:' && url.protocol !== 'wss:')
67
+ return null;
68
+ const scheme = url.protocol === 'wss:' ? 'https:' : 'http:';
69
+ if (url.pathname.endsWith('/ws')) {
70
+ return `${scheme}//${url.host}`;
71
+ }
72
+ const local = url.hostname === 'localhost' || url.hostname === '127.0.0.1';
73
+ if (local && url.port === '50052') {
74
+ return `${scheme}//${url.hostname}:50051`;
75
+ }
76
+ return null;
77
+ }
78
+ function terminalSocketUrl(serverUrl, machineId, token) {
79
+ if (apiOriginFromServerUrl(serverUrl) === null)
80
+ return null;
81
+ const base = serverUrl.endsWith('/') ? serverUrl.slice(0, -1) : serverUrl;
82
+ return `${base}/terminal?machineId=${machineId}&token=${encodeURIComponent(token)}`;
83
+ }
84
+ function matchMachine(rows, input) {
85
+ const needle = input.toLowerCase();
86
+ const matches = rows.filter((row) => row.name.toLowerCase() === needle);
87
+ if (matches.length === 0)
88
+ return { ok: false, reason: 'none', matches: [] };
89
+ if (matches.length > 1)
90
+ return { ok: false, reason: 'ambiguous', matches };
91
+ const machine = matches[0];
92
+ if (machine === undefined)
93
+ return { ok: false, reason: 'none', matches: [] };
94
+ if (!machine.isOnline)
95
+ return { ok: false, reason: 'offline', matches };
96
+ return { ok: true, machine };
97
+ }
98
+ // The first colon separates `name` from the remote path. An empty name is
99
+ // not a machine prefix (so `:path` stays local). An empty remote is not a
100
+ // destination.
101
+ function machinePrefix(side) {
102
+ const colon = side.indexOf(':');
103
+ if (colon <= 0)
104
+ return null;
105
+ return { machine: side.slice(0, colon), remote: side.slice(colon + 1) };
106
+ }
107
+ function parseCopyPair(left, right) {
108
+ const fromLeft = machinePrefix(left);
109
+ const fromRight = machinePrefix(right);
110
+ if (fromLeft && fromRight)
111
+ return { ok: false, error: 'only one path may name a machine' };
112
+ const prefixed = fromLeft ?? fromRight;
113
+ if (prefixed === null)
114
+ return { ok: false, error: 'one path must be machine:path' };
115
+ if (prefixed.remote === '')
116
+ return { ok: false, error: 'remote path is empty' };
117
+ if (fromLeft) {
118
+ return { ok: true, upload: false, machine: fromLeft.machine, local: right, remote: fromLeft.remote };
119
+ }
120
+ return { ok: true, upload: true, machine: prefixed.machine, local: left, remote: prefixed.remote };
121
+ }
122
+ // Leading `~` or `~/` only. `~other` is someone else's home and is not expanded.
123
+ function expandLocalHome(p, homedir) {
124
+ if (p === '~')
125
+ return homedir;
126
+ if (!p.startsWith('~/'))
127
+ return p;
128
+ const base = homedir.endsWith('/') ? homedir.slice(0, -1) : homedir;
129
+ return `${base}/${p.slice(2)}`;
130
+ }
131
+ // String join, not path.join: a remote `..` has to stay visible for the
132
+ // path check that runs later, and `~` must not be normalized away.
133
+ function joinDest(dir, isDir, basename) {
134
+ if (!dir.endsWith('/') && !isDir)
135
+ return dir;
136
+ if (dir.endsWith('/'))
137
+ return dir + basename;
138
+ return `${dir}/${basename}`;
139
+ }
140
+ function resolveRemoteDest(remote, remoteIsDir, localBasename) {
141
+ return joinDest(remote, remoteIsDir, localBasename);
142
+ }
143
+ function resolveLocalDest(local, localIsDir, remoteBasename) {
144
+ return joinDest(local, localIsDir, remoteBasename);
145
+ }
146
+ exports.MAX_COPY_BYTES = 10 * 1024 * 1024;
147
+ // CR and LF both count as a newline, matching OpenSSH (`last_was_cr`).
148
+ // The break is forwarded; it is not part of the escape. `~.` detaches only
149
+ // at line start (the stream starts at line start). `~~` forwards one tilde.
150
+ // A line-start `~` that ends the chunk is not forwarded: the next call
151
+ // finishes the escape, so the tilde is not sent early.
152
+ function isLineBreak(ch) {
153
+ return ch === '\n' || ch === '\r';
154
+ }
155
+ function consumeEscape(atLineStart, chunk, pendingTilde = false) {
156
+ const parts = [];
157
+ let i = 0;
158
+ if (pendingTilde) {
159
+ if (chunk.length === 0) {
160
+ return { atLineStart, forward: '', detach: false, pendingTilde: true };
161
+ }
162
+ const next = chunk[0] ?? '';
163
+ i = 1;
164
+ if (next === '.') {
165
+ return { atLineStart: false, forward: '', detach: true, pendingTilde: false };
166
+ }
167
+ parts.push('~');
168
+ if (next !== '~')
169
+ parts.push(next);
170
+ atLineStart = isLineBreak(next);
171
+ }
172
+ while (i < chunk.length) {
173
+ const ch = chunk[i] ?? '';
174
+ if (!(atLineStart && ch === '~')) {
175
+ parts.push(ch);
176
+ atLineStart = isLineBreak(ch);
177
+ i += 1;
178
+ continue;
179
+ }
180
+ if (i + 1 >= chunk.length) {
181
+ return { atLineStart: true, forward: parts.join(''), detach: false, pendingTilde: true };
182
+ }
183
+ const next = chunk[i + 1] ?? '';
184
+ i += 2;
185
+ if (next === '.') {
186
+ return { atLineStart: false, forward: parts.join(''), detach: true, pendingTilde: false };
187
+ }
188
+ parts.push('~');
189
+ if (next !== '~')
190
+ parts.push(next);
191
+ atLineStart = isLineBreak(next);
192
+ }
193
+ return { atLineStart, forward: parts.join(''), detach: false, pendingTilde: false };
194
+ }
195
+ const UNEXPECTED_AUTH = 'unexpected login response';
196
+ // Token wins over a pending step. `pending: 'enroll'` wins over `error`.
197
+ // `trustDevice` is ignored — the CLI never sends it and must not branch on it.
198
+ function interpretAuthBody(body) {
199
+ if (typeof body !== 'object' || body === null || Array.isArray(body)) {
200
+ return { step: 'error', message: UNEXPECTED_AUTH };
201
+ }
202
+ const rec = body;
203
+ if (typeof rec.token === 'string' && rec.token.length > 0) {
204
+ return { step: 'store', token: rec.token };
205
+ }
206
+ if (rec.pending === '2fa' && typeof rec.pendingToken === 'string' && rec.pendingToken.length > 0) {
207
+ return { step: 'totp', pendingToken: rec.pendingToken };
208
+ }
209
+ if (rec.pending === 'enroll') {
210
+ return { step: 'enroll' };
211
+ }
212
+ if (typeof rec.error === 'string') {
213
+ return { step: 'error', message: rec.error };
214
+ }
215
+ return { step: 'error', message: UNEXPECTED_AUTH };
216
+ }
217
+ // writeFile's mode is umask-masked and ignored when the file already exists,
218
+ // so chmod pins 0600 either way. The JWT sits in this file.
219
+ function writeCliSession(file, session) {
220
+ const body = JSON.stringify({ token: session.token, serverUrl: session.serverUrl });
221
+ (0, fs_1.writeFileSync)(file, body, { encoding: 'utf8', mode: 0o600 });
222
+ (0, fs_1.chmodSync)(file, 0o600);
223
+ }
224
+ function readCliSession(file) {
225
+ let text;
226
+ try {
227
+ text = (0, fs_1.readFileSync)(file, 'utf8');
228
+ }
229
+ catch {
230
+ return null;
231
+ }
232
+ let parsed;
233
+ try {
234
+ parsed = JSON.parse(text);
235
+ }
236
+ catch {
237
+ return null;
238
+ }
239
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
240
+ return null;
241
+ const rec = parsed;
242
+ if (typeof rec.token !== 'string' || typeof rec.serverUrl !== 'string')
243
+ return null;
244
+ return { token: rec.token, serverUrl: rec.serverUrl };
245
+ }
246
+ //# sourceMappingURL=cli-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-client.js","sourceRoot":"","sources":["../src/cli-client.ts"],"names":[],"mappings":"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"}