@indianic/dialout 1.11.0 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +14 -0
  2. package/dist/ai-sessions.d.ts +26 -1
  3. package/dist/ai-sessions.d.ts.map +1 -1
  4. package/dist/ai-sessions.js +43 -7
  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 +4 -0
  49. package/node_modules/@indianic/dialout-shared/dist/index.d.ts.map +1 -1
  50. package/node_modules/@indianic/dialout-shared/dist/index.js +9 -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/package.json +2 -2
  58. package/node_modules/@indianic/dialout-shared/src/captured.test.ts +29 -0
  59. package/node_modules/@indianic/dialout-shared/src/captured.ts +46 -0
  60. package/node_modules/@indianic/dialout-shared/src/chat-blocks.test.ts +14 -0
  61. package/node_modules/@indianic/dialout-shared/src/chat-blocks.ts +12 -3
  62. package/node_modules/@indianic/dialout-shared/src/event-merge.test.ts +27 -0
  63. package/node_modules/@indianic/dialout-shared/src/event-merge.ts +11 -0
  64. package/node_modules/@indianic/dialout-shared/src/index.ts +6 -0
  65. package/node_modules/@indianic/dialout-shared/src/notices.test.ts +102 -0
  66. package/node_modules/@indianic/dialout-shared/src/notices.ts +159 -0
  67. package/package.json +1 -1
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
  /**
@@ -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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"}
@@ -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.
@@ -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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"}