@0xmaxma/claude-gateway 1.8.3 → 1.8.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 (41) hide show
  1. package/README.md +56 -0
  2. package/dist/cli/commands/debug-bundle.d.ts.map +1 -1
  3. package/dist/cli/commands/debug-bundle.js +9 -52
  4. package/dist/cli/commands/debug-bundle.js.map +1 -1
  5. package/dist/cli/commands/gateway.d.ts +6 -1
  6. package/dist/cli/commands/gateway.d.ts.map +1 -1
  7. package/dist/cli/commands/gateway.js +14 -3
  8. package/dist/cli/commands/gateway.js.map +1 -1
  9. package/dist/cli/commands/logs.d.ts +37 -0
  10. package/dist/cli/commands/logs.d.ts.map +1 -0
  11. package/dist/cli/commands/logs.js +356 -0
  12. package/dist/cli/commands/logs.js.map +1 -0
  13. package/dist/cli/index.d.ts.map +1 -1
  14. package/dist/cli/index.js +16 -5
  15. package/dist/cli/index.js.map +1 -1
  16. package/dist/cli/logs-dir.d.ts +69 -0
  17. package/dist/cli/logs-dir.d.ts.map +1 -0
  18. package/dist/cli/logs-dir.js +166 -0
  19. package/dist/cli/logs-dir.js.map +1 -0
  20. package/dist/config/watcher.d.ts.map +1 -1
  21. package/dist/config/watcher.js +5 -0
  22. package/dist/config/watcher.js.map +1 -1
  23. package/dist/index.js +26 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/logger.d.ts +52 -1
  26. package/dist/logger.d.ts.map +1 -1
  27. package/dist/logger.js +264 -2
  28. package/dist/logger.js.map +1 -1
  29. package/dist/shell/bypass-dialog.d.ts +104 -12
  30. package/dist/shell/bypass-dialog.d.ts.map +1 -1
  31. package/dist/shell/bypass-dialog.js +146 -14
  32. package/dist/shell/bypass-dialog.js.map +1 -1
  33. package/dist/shell/claude-pty-shell.js +29 -4
  34. package/dist/shell/claude-pty-shell.js.map +1 -1
  35. package/dist/shell/screen.d.ts +15 -11
  36. package/dist/shell/screen.d.ts.map +1 -1
  37. package/dist/shell/screen.js +42 -33
  38. package/dist/shell/screen.js.map +1 -1
  39. package/dist/types.d.ts +20 -0
  40. package/dist/types.d.ts.map +1 -1
  41. package/package.json +1 -1
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.formatLogLine = formatLogLine;
37
+ exports.tailFrom = tailFrom;
38
+ exports.tailLines = tailLines;
39
+ exports.runGatewayLogs = runGatewayLogs;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const logs_dir_1 = require("../logs-dir");
43
+ const output_1 = require("../output");
44
+ /**
45
+ * `gateway logs` — read the gateway's own logs without knowing where they live.
46
+ *
47
+ * The data was always well structured (one JSON object per line, written by
48
+ * src/logger.ts); what was missing was any way to reach it from the CLI, so
49
+ * operators had to know the on-disk layout and reach for `tail` by hand. A
50
+ * `logs` command was in scope for #374 and dropped in #375 rather than shipped
51
+ * as an always-failing stub; this is the version that works (#435).
52
+ *
53
+ * Every failure here is explicit — a missing directory, an unknown agent, a bad
54
+ * `--lines` — because the one thing a log reader must never do is answer "no
55
+ * logs" when the real answer is "I looked in the wrong place".
56
+ */
57
+ /** Default tail length, matching what `tail` gives you for free minus the guesswork. */
58
+ const DEFAULT_LINES = 50;
59
+ /** Chunk size for the reverse read. */
60
+ const TAIL_CHUNK = 64 * 1024;
61
+ /** Ceiling on how much of a file the tail will scan backwards. A session log can
62
+ * be hundreds of MB; reading it whole to show 50 lines would be the same
63
+ * mistake `debug-bundle` exists to avoid. A tail that hits this stops early and
64
+ * returns what it has, which is still the newest content. */
65
+ const TAIL_MAX_SCAN = 8 * 1024 * 1024;
66
+ /** How often `--follow` re-stats the file. */
67
+ const DEFAULT_POLL_MS = 300;
68
+ /**
69
+ * Render one stored line as `<ts> <level> <message>` with `data` appended
70
+ * compactly.
71
+ *
72
+ * A line that is not a gateway log record is passed through verbatim rather
73
+ * than dropped or replaced with a placeholder: anything already in the file is
74
+ * something the operator may need to see, and a reader that silently discards
75
+ * what it does not recognise is how a corrupt tail looks like an idle gateway.
76
+ */
77
+ function formatLogLine(line) {
78
+ let rec;
79
+ try {
80
+ rec = JSON.parse(line);
81
+ }
82
+ catch {
83
+ return line;
84
+ }
85
+ if (rec === null || typeof rec !== 'object' || typeof rec.message !== 'string')
86
+ return line;
87
+ const ts = typeof rec.ts === 'string' ? rec.ts : '-';
88
+ const level = typeof rec.level === 'string' ? rec.level.toUpperCase().padEnd(5) : '- ';
89
+ const head = `${ts} ${level} ${rec.message}`;
90
+ if (rec.data === undefined)
91
+ return head;
92
+ let data;
93
+ try {
94
+ data = JSON.stringify(rec.data);
95
+ }
96
+ catch {
97
+ return head; // circular/unserialisable — the message alone is still useful
98
+ }
99
+ return `${head} ${data}`;
100
+ }
101
+ /**
102
+ * The last `count` lines of `file`, oldest first, with the offset they were
103
+ * read to.
104
+ *
105
+ * Reads backwards in chunks so the cost is bounded by what is asked for rather
106
+ * than by the size of the file.
107
+ *
108
+ * `endPos` is what `--follow` must resume from. Following from a *later*
109
+ * `statSync` would skip whatever the gateway appended in between: those bytes
110
+ * are past the tail's read and before the follower's start, so nothing would
111
+ * ever print them. Nothing can interleave here within this process — the read
112
+ * is synchronous — but the writer is a different process, which is the whole
113
+ * reason the command exists.
114
+ */
115
+ function tailFrom(file, count) {
116
+ const fd = fs.openSync(file, 'r');
117
+ try {
118
+ const size = fs.fstatSync(fd).size;
119
+ let pos = size;
120
+ let scanned = 0;
121
+ let text = '';
122
+ while (pos > 0 && scanned < TAIL_MAX_SCAN) {
123
+ const len = Math.min(TAIL_CHUNK, pos);
124
+ pos -= len;
125
+ scanned += len;
126
+ const buf = Buffer.alloc(len);
127
+ fs.readSync(fd, buf, 0, len, pos);
128
+ text = buf.toString('utf-8') + text;
129
+ // +1 because the newline that ends the (count)th-from-last line belongs to
130
+ // the line before it — stopping at `count` can return one line short.
131
+ if (countNewlines(text) > count)
132
+ break;
133
+ }
134
+ const lines = text.split('\n');
135
+ // A leading fragment from a chunk boundary is not a whole line. It only
136
+ // exists when the scan stopped short of the start of the file. Dropping it
137
+ // is safe even when the boundary happens to land exactly on a newline: the
138
+ // loop only stops with more than `count` lines in hand, so the one dropped
139
+ // is always older than the newest `count`.
140
+ if (pos > 0 && lines.length > 0)
141
+ lines.shift();
142
+ while (lines.length > 0 && lines[lines.length - 1] === '')
143
+ lines.pop();
144
+ return { lines: lines.length > count ? lines.slice(lines.length - count) : lines, endPos: size };
145
+ }
146
+ finally {
147
+ fs.closeSync(fd);
148
+ }
149
+ }
150
+ /** The last `count` lines of `file`, oldest first. */
151
+ function tailLines(file, count) {
152
+ return tailFrom(file, count).lines;
153
+ }
154
+ function countNewlines(s) {
155
+ let n = 0;
156
+ for (let i = 0; i < s.length; i++)
157
+ if (s.charCodeAt(i) === 10)
158
+ n++;
159
+ return n;
160
+ }
161
+ /** Positive integer, or the reason it is not one. */
162
+ function parseLines(raw) {
163
+ if (raw === undefined)
164
+ return { lines: DEFAULT_LINES };
165
+ if (typeof raw !== 'string')
166
+ return { error: '--lines requires a value (a positive integer)' };
167
+ if (!/^\d+$/.test(raw))
168
+ return { error: `--lines must be a positive integer, got "${raw}"` };
169
+ const n = Number(raw);
170
+ if (!Number.isSafeInteger(n) || n < 1)
171
+ return { error: `--lines must be a positive integer, got "${raw}"` };
172
+ return { lines: n };
173
+ }
174
+ function printHelp(requested) {
175
+ (0, output_1.writeCommandHelp)(requested, 'gateway logs', 'read the gateway log files on this host', 'claude-gateway gateway logs [--follow] [--lines <n>] [--agent <id>] [--json] [--logDir <path>] [--config <path>]', [
176
+ ' --follow Stream new lines until interrupted (Ctrl-C)',
177
+ ` --lines <n> How many lines to show (default ${DEFAULT_LINES})`,
178
+ ' --agent <id> Read <id>.log instead of the process-wide gateway.log',
179
+ ' --json Print the stored lines verbatim, one JSON object per line',
180
+ ' --logDir <path> Read logs from here instead of the configured directory',
181
+ ' --config <path> Read logDir from this config file',
182
+ '',
183
+ ' Reads files directly, so it works even when the gateway is wedged or dead.',
184
+ ]);
185
+ }
186
+ async function runGatewayLogs(flags, opts = {}) {
187
+ if (flags.help === true) {
188
+ printHelp(true);
189
+ return 0;
190
+ }
191
+ const parsed = parseLines(flags.lines);
192
+ if ('error' in parsed) {
193
+ process.stderr.write(`${parsed.error}\n`);
194
+ return 1;
195
+ }
196
+ if (flags.agent !== undefined && typeof flags.agent !== 'string') {
197
+ process.stderr.write('--agent requires a value (a log stream id)\n');
198
+ return 1;
199
+ }
200
+ const logDir = (0, logs_dir_1.resolveLogDir)(flags);
201
+ // Before anything else reads a path: if `--config` named a file we could not
202
+ // use, say so now. Otherwise the "no log file at …" below names the default
203
+ // directory and reads like an answer rather than a misdirection.
204
+ const configWarning = (0, logs_dir_1.explicitConfigWarning)(flags);
205
+ if (configWarning)
206
+ process.stderr.write(`${configWarning}\n`);
207
+ const streamId = typeof flags.agent === 'string' ? flags.agent : 'gateway';
208
+ // A stream id reaches the filesystem, so it must not be able to leave the log
209
+ // directory. Session streams legitimately contain ':' (`<agent>:session:<id>`),
210
+ // so this rejects traversal rather than restricting the charset.
211
+ if (streamId.includes('/') || streamId.includes('\\') || streamId.split(path.sep).includes('..')) {
212
+ process.stderr.write(`Invalid --agent "${streamId}": a log stream id cannot contain a path separator\n`);
213
+ return 1;
214
+ }
215
+ const file = path.join(logDir, `${streamId}.log`);
216
+ if (!fs.existsSync(file)) {
217
+ // Never "no logs found": say which path was tried, and — since an unknown
218
+ // id is usually a typo — what could have been meant instead.
219
+ const { ids, error } = (0, logs_dir_1.listLogStreamIds)(logDir);
220
+ process.stderr.write(`No log file at ${file}\n`);
221
+ if (error) {
222
+ process.stderr.write(`${error}\n`);
223
+ }
224
+ else if (ids.length > 0) {
225
+ process.stderr.write(`Available streams (--agent <id>): ${ids.join(', ')}\n`);
226
+ }
227
+ else {
228
+ process.stderr.write(`${logDir} holds no log files yet\n`);
229
+ }
230
+ return 1;
231
+ }
232
+ const asJson = flags.json === true;
233
+ const emit = (line) => {
234
+ if (line === '')
235
+ return;
236
+ process.stdout.write(`${asJson ? line : formatLogLine(line)}\n`);
237
+ };
238
+ let startPos;
239
+ try {
240
+ // Resume from where the tail stopped, not from a fresh stat: the gateway is
241
+ // a different process and may have appended in between.
242
+ const tail = tailFrom(file, parsed.lines);
243
+ for (const line of tail.lines)
244
+ emit(line);
245
+ startPos = tail.endPos;
246
+ }
247
+ catch (err) {
248
+ const e = err;
249
+ process.stderr.write(`Cannot read ${file} (${e.code ?? e.message})\n`);
250
+ return 1;
251
+ }
252
+ if (flags.follow !== true)
253
+ return 0;
254
+ return await followFile(file, startPos, emit, opts);
255
+ }
256
+ /**
257
+ * Stream lines appended to `file` until aborted.
258
+ *
259
+ * Polls rather than using `fs.watch` because the file it is following can be
260
+ * rotated out from under it (src/logger.ts renames `<name>.log` to
261
+ * `<name>.log.1`): a watcher holds the old inode and would go quiet forever
262
+ * while the gateway writes happily into the new file. Comparing the inode on
263
+ * every poll turns that into a reopen.
264
+ */
265
+ async function followFile(file, fromPos, emit, opts) {
266
+ const pollMs = opts.pollMs ?? DEFAULT_POLL_MS;
267
+ let pos = fromPos;
268
+ let inode;
269
+ let carry = '';
270
+ try {
271
+ inode = fs.statSync(file).ino;
272
+ }
273
+ catch {
274
+ /* the file was there a moment ago; treat it as rotated on the next poll */
275
+ }
276
+ const drain = () => {
277
+ let stat;
278
+ try {
279
+ stat = fs.statSync(file);
280
+ }
281
+ catch {
282
+ return; // mid-rotation: the rename has happened, the new file has not appeared
283
+ }
284
+ if (inode !== undefined && stat.ino !== inode) {
285
+ // Rotated: a different file now answers to this name. Start at its
286
+ // beginning — the bytes between the old position and the rotation are in
287
+ // `<name>.log.1`, which the operator can read directly.
288
+ inode = stat.ino;
289
+ pos = 0;
290
+ carry = '';
291
+ }
292
+ else if (stat.size < pos) {
293
+ // Truncated in place (maxFiles = 0 unlinks rather than renames).
294
+ pos = 0;
295
+ carry = '';
296
+ }
297
+ if (inode === undefined)
298
+ inode = stat.ino;
299
+ if (stat.size <= pos)
300
+ return;
301
+ const len = stat.size - pos;
302
+ const buf = Buffer.alloc(len);
303
+ let read = 0;
304
+ const fd = fs.openSync(file, 'r');
305
+ try {
306
+ read = fs.readSync(fd, buf, 0, len, pos);
307
+ }
308
+ finally {
309
+ fs.closeSync(fd);
310
+ }
311
+ pos += read;
312
+ // A tail can land mid-line; hold the fragment until its newline arrives so
313
+ // a line is never emitted in two halves.
314
+ const chunk = carry + buf.subarray(0, read).toString('utf-8');
315
+ const parts = chunk.split('\n');
316
+ carry = parts.pop() ?? '';
317
+ for (const line of parts)
318
+ emit(line);
319
+ };
320
+ await new Promise((resolve) => {
321
+ const timer = setInterval(() => {
322
+ try {
323
+ drain();
324
+ }
325
+ catch {
326
+ /* transient (rotation race, permissions) — the next poll retries */
327
+ }
328
+ }, pollMs);
329
+ if (typeof timer.unref === 'function')
330
+ timer.unref();
331
+ const stop = () => {
332
+ clearInterval(timer);
333
+ resolve();
334
+ };
335
+ if (opts.signal) {
336
+ if (opts.signal.aborted)
337
+ return stop();
338
+ opts.signal.addEventListener('abort', stop, { once: true });
339
+ }
340
+ else {
341
+ process.once('SIGINT', stop);
342
+ }
343
+ });
344
+ // One last pass so lines written between the final poll and the interrupt are
345
+ // not lost, then flush any line the file never terminated.
346
+ try {
347
+ drain();
348
+ }
349
+ catch {
350
+ /* best-effort */
351
+ }
352
+ if (carry !== '')
353
+ emit(carry);
354
+ return 0;
355
+ }
356
+ //# sourceMappingURL=logs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../../src/cli/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,KAAK,EAAE,MAAM,UAAU,CAAC;AA2B7C;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwD5D;AA8KD;;;;uEAIuE;AACvE,eAAO,MAAM,MAAM,KAAK,CAAC;AAEzB;2EAC2E;AAC3E,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW9D,CAAC;AAEF;;;;+DAI+D;AAC/D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,SAAS,GAAG,MAAM,EAAE,CAG1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAc,KAAK,EAAE,MAAM,UAAU,CAAC;AAsC7C;;;;;;;GAOG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAwD5D;AA8KD;;;;uEAIuE;AACvE,eAAO,MAAM,MAAM,KAAK,CAAC;AAEzB;2EAC2E;AAC3E,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,eAAO,MAAM,SAAS,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAW9D,CAAC;AAEF;;;;+DAI+D;AAC/D,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,SAAS,GAAG,MAAM,EAAE,CAG1F"}
package/dist/cli/index.js CHANGED
@@ -50,15 +50,26 @@ const debug_bundle_1 = require("./commands/debug-bundle");
50
50
  const agents_1 = require("./commands/agents");
51
51
  const channels_1 = require("./commands/channels");
52
52
  /** Flags that are always boolean regardless of command — never consume the next
53
- * token as a value (see parseCliArgs). */
54
- const GLOBAL_BOOLEAN_FLAGS = new Set(['help', 'json', 'yes', 'print']);
53
+ * token as a value (see parseCliArgs). `follow` is here rather than in the
54
+ * gateway command because the verb is a positional: `gateway --follow logs`
55
+ * would otherwise parse `logs` as the flag's value and leave no command at all.
56
+ * No generated resource command declares a `--follow` value flag. */
57
+ const GLOBAL_BOOLEAN_FLAGS = new Set(['help', 'json', 'yes', 'print', 'follow']);
55
58
  /** Flags every command accepts, on top of whatever the generated manifest
56
59
  * declares for that command. Anything outside this set and the command's own
57
60
  * flags is a typo, and is reported rather than dropped: a resource command
58
61
  * builds its query/body from `cmd.flags` alone, so an unrecognised flag would
59
- * otherwise be parsed, ignored, and reported as success. */
62
+ * otherwise be parsed, ignored, and reported as success.
63
+ *
64
+ * Not simply `GLOBAL_BOOLEAN_FLAGS` spread in: the two sets answer different
65
+ * questions. `follow` has to parse as a boolean everywhere so the gateway verb
66
+ * survives, but it means nothing to a resource command, and accepting it there
67
+ * would quietly re-open the hole this check exists to close. */
60
68
  const GLOBAL_FLAG_NAMES = new Set([
61
- ...GLOBAL_BOOLEAN_FLAGS,
69
+ 'help',
70
+ 'json',
71
+ 'yes',
72
+ 'print',
62
73
  'url',
63
74
  'key',
64
75
  'config',
@@ -291,7 +302,7 @@ exports.NAME_W = 36;
291
302
  * longer than a core command name, so that listing gets its own width. */
292
303
  exports.NOUN_NAME_W = 48;
293
304
  exports.CORE_HELP = [
294
- ['gateway status|restart|stop', 'Manage the gateway process (manager-aware)'],
305
+ ['gateway status|restart|stop|logs', 'Manage the gateway process (manager-aware)'],
295
306
  ['service install|status|uninstall', 'Run the gateway as a systemd-user or PM2 service'],
296
307
  ['update [check]', 'Check for / install a newer claude-gateway'],
297
308
  ['claude version|update [check]', 'Inspect / update the Claude Code binary'],
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Locating and listing the gateway's log directory, shared by every reader.
3
+ *
4
+ * `debug-bundle` owned this privately and `gateway logs` needs the same three
5
+ * behaviours — the `--logDir` → config → default precedence, the literal `~`
6
+ * the shipped config template writes, and an errno instead of a silent empty
7
+ * listing. Two copies of that would drift, and the tilde bug is what a drifted
8
+ * copy looks like: `readdirSync('~/…')` throws ENOENT, which reads exactly like
9
+ * "the directory is empty".
10
+ */
11
+ /** The config file stores `logDir` exactly as written, and the shipped template
12
+ * writes `~/.claude-gateway/logs`. The server expands that itself on boot, so
13
+ * the literal tilde survives on disk and only bites a reader that forgets to
14
+ * expand it. */
15
+ export declare function resolveLogDir(flags: Record<string, string | boolean>): string;
16
+ /**
17
+ * The reason an explicitly passed `--config` did not contribute a `logDir`, or
18
+ * undefined when there is nothing to say.
19
+ *
20
+ * `loadCliConfig` answers `{}` for a file that is missing, unreadable or
21
+ * malformed — it cannot distinguish them, and for most commands that is the
22
+ * right shape. Here it is not: the caller then silently resolves the *default*
23
+ * log directory and reports "no log file at <default path>", naming a directory
24
+ * the operator never asked about while the typo in `--config` goes unmentioned.
25
+ * That is the same class of failure as the unexpanded `~`, arriving by a
26
+ * different route.
27
+ *
28
+ * Only an explicit `--config` is worth complaining about. The default config
29
+ * being absent is ordinary — a fresh install has no config yet, and the default
30
+ * log directory is the correct answer for it.
31
+ */
32
+ export declare function explicitConfigWarning(flags: Record<string, string | boolean>): string | undefined;
33
+ export interface LogDirListing {
34
+ names: string[];
35
+ /** Set when the directory could not be read at all — never "no logs found". */
36
+ error?: string;
37
+ }
38
+ /**
39
+ * Every entry in `dir`, or the reason it could not be read.
40
+ *
41
+ * The read used to be wrapped in a bare `catch { return [] }`, which reported
42
+ * every failure as "no logs found". That is how the unexpanded `~` stayed
43
+ * invisible: an ENOENT on a path that was never resolved looked exactly like an
44
+ * empty directory, and a permission problem still would. The caller needs the
45
+ * errno to say anything useful, so it is returned rather than eaten.
46
+ */
47
+ export declare function readLogDir(dir: string): LogDirListing;
48
+ /** Session logs in `dir` with their mtimes, or the reason the directory could
49
+ * not be read. Session loggers are created as `<agent>:session:<uuid>`, so the
50
+ * name carries the marker this filters on. */
51
+ export declare function listSessionLogs(dir: string): {
52
+ logs: Array<{
53
+ file: string;
54
+ mtimeMs: number;
55
+ }>;
56
+ error?: string;
57
+ };
58
+ /**
59
+ * Stream ids that have a live `<id>.log` in `dir`, sorted.
60
+ *
61
+ * Rotated generations (`<id>.log.1`) are deliberately excluded: they are not
62
+ * separate streams, and offering one as an `--agent` value would name a target
63
+ * that rotation can rename out from under the reader at any moment.
64
+ */
65
+ export declare function listLogStreamIds(dir: string): {
66
+ ids: string[];
67
+ error?: string;
68
+ };
69
+ //# sourceMappingURL=logs-dir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs-dir.d.ts","sourceRoot":"","sources":["../../src/cli/logs-dir.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AAEH;;;iBAGiB;AACjB,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,CAK7E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,MAAM,GAAG,SAAS,CAiBjG;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CASrD;AAED;;+CAE+C;AAC/C,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAgB/G;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAQ/E"}