@appkit/llamacpp-cli 1.6.0 → 1.8.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 (48) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +71 -1
  3. package/dist/cli.js +24 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/config.d.ts +1 -0
  6. package/dist/commands/config.d.ts.map +1 -1
  7. package/dist/commands/config.js +182 -13
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/create.d.ts.map +1 -1
  10. package/dist/commands/create.js +0 -1
  11. package/dist/commands/create.js.map +1 -1
  12. package/dist/commands/delete.js +12 -10
  13. package/dist/commands/delete.js.map +1 -1
  14. package/dist/commands/logs-all.d.ts +9 -0
  15. package/dist/commands/logs-all.d.ts.map +1 -0
  16. package/dist/commands/logs-all.js +209 -0
  17. package/dist/commands/logs-all.js.map +1 -0
  18. package/dist/commands/logs.d.ts +4 -0
  19. package/dist/commands/logs.d.ts.map +1 -1
  20. package/dist/commands/logs.js +108 -2
  21. package/dist/commands/logs.js.map +1 -1
  22. package/dist/commands/rm.d.ts.map +1 -1
  23. package/dist/commands/rm.js +5 -12
  24. package/dist/commands/rm.js.map +1 -1
  25. package/dist/commands/server-show.d.ts.map +1 -1
  26. package/dist/commands/server-show.js +20 -0
  27. package/dist/commands/server-show.js.map +1 -1
  28. package/dist/commands/start.d.ts.map +1 -1
  29. package/dist/commands/start.js +22 -7
  30. package/dist/commands/start.js.map +1 -1
  31. package/dist/commands/stop.js +3 -3
  32. package/dist/commands/stop.js.map +1 -1
  33. package/dist/utils/log-utils.d.ts +43 -0
  34. package/dist/utils/log-utils.d.ts.map +1 -0
  35. package/dist/utils/log-utils.js +190 -0
  36. package/dist/utils/log-utils.js.map +1 -0
  37. package/package.json +1 -1
  38. package/src/cli.ts +24 -1
  39. package/src/commands/config.ts +161 -15
  40. package/src/commands/create.ts +0 -1
  41. package/src/commands/delete.ts +10 -10
  42. package/src/commands/logs-all.ts +251 -0
  43. package/src/commands/logs.ts +138 -2
  44. package/src/commands/rm.ts +5 -12
  45. package/src/commands/server-show.ts +25 -0
  46. package/src/commands/start.ts +22 -7
  47. package/src/commands/stop.ts +3 -3
  48. package/src/utils/log-utils.ts +178 -0
@@ -58,20 +58,22 @@ async function deleteCommand(identifier) {
58
58
  }
59
59
  console.log();
60
60
  console.log(chalk_1.default.blue(`🗑️ Deleting server ${server.modelName}...`));
61
- // Stop server if running
61
+ // Unload service (stops and removes from launchd)
62
62
  if (server.status === 'running') {
63
- console.log(chalk_1.default.dim('Stopping server...'));
64
- try {
65
- await launchctl_manager_1.launchctlManager.stopService(server.label);
63
+ console.log(chalk_1.default.dim('Stopping and unloading service...'));
64
+ }
65
+ else {
66
+ console.log(chalk_1.default.dim('Unloading service...'));
67
+ }
68
+ try {
69
+ await launchctl_manager_1.launchctlManager.unloadService(server.plistPath);
70
+ if (server.status === 'running') {
66
71
  await launchctl_manager_1.launchctlManager.waitForServiceStop(server.label, 5000);
67
72
  }
68
- catch (error) {
69
- console.log(chalk_1.default.yellow('⚠️ Failed to stop server gracefully'));
70
- }
71
73
  }
72
- // Unload service
73
- console.log(chalk_1.default.dim('Unloading launchctl service...'));
74
- await launchctl_manager_1.launchctlManager.unloadService(server.plistPath);
74
+ catch (error) {
75
+ console.log(chalk_1.default.yellow('⚠️ Failed to unload service gracefully'));
76
+ }
75
77
  // Delete plist
76
78
  console.log(chalk_1.default.dim('Deleting plist file...'));
77
79
  await launchctl_manager_1.launchctlManager.deletePlist(server.plistPath);
@@ -1 +1 @@
1
- {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../src/commands/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ interface LogsAllOptions {
2
+ clear?: boolean;
3
+ clearArchived?: boolean;
4
+ clearAll?: boolean;
5
+ rotate?: boolean;
6
+ }
7
+ export declare function logsAllCommand(options: LogsAllOptions): Promise<void>;
8
+ export {};
9
+ //# sourceMappingURL=logs-all.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs-all.d.ts","sourceRoot":"","sources":["../../src/commands/logs-all.ts"],"names":[],"mappings":"AAaA,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB3E"}
@@ -0,0 +1,209 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logsAllCommand = logsAllCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const cli_table3_1 = __importDefault(require("cli-table3"));
9
+ const state_manager_1 = require("../lib/state-manager");
10
+ const file_utils_1 = require("../utils/file-utils");
11
+ const log_utils_1 = require("../utils/log-utils");
12
+ async function logsAllCommand(options) {
13
+ // Get all servers
14
+ const servers = await state_manager_1.stateManager.getAllServers();
15
+ if (servers.length === 0) {
16
+ console.log(chalk_1.default.yellow('⚠️ No servers found'));
17
+ console.log(chalk_1.default.dim('\nCreate a server: llamacpp server create <model-filename>'));
18
+ return;
19
+ }
20
+ // Handle batch operations
21
+ if (options.clear || options.clearArchived || options.clearAll || options.rotate) {
22
+ await handleBatchOperation(servers, options);
23
+ return;
24
+ }
25
+ // Show table of log information
26
+ await showLogsTable(servers);
27
+ }
28
+ async function showLogsTable(servers) {
29
+ const table = new cli_table3_1.default({
30
+ head: [
31
+ chalk_1.default.bold('Server ID'),
32
+ chalk_1.default.bold('Current Stderr'),
33
+ chalk_1.default.bold('Current Stdout'),
34
+ chalk_1.default.bold('Archived'),
35
+ chalk_1.default.bold('Total'),
36
+ ],
37
+ colWidths: [30, 18, 18, 18, 18],
38
+ });
39
+ let totalCurrent = 0;
40
+ let totalArchived = 0;
41
+ for (const server of servers) {
42
+ // Get current log sizes
43
+ const stderrSize = (await (0, file_utils_1.fileExists)(server.stderrPath))
44
+ ? await (0, log_utils_1.getFileSize)(server.stderrPath)
45
+ : 0;
46
+ const stdoutSize = (await (0, file_utils_1.fileExists)(server.stdoutPath))
47
+ ? await (0, log_utils_1.getFileSize)(server.stdoutPath)
48
+ : 0;
49
+ // Get archived info
50
+ const archivedInfo = await (0, log_utils_1.getArchivedLogInfo)(server.id);
51
+ const currentTotal = stderrSize + stdoutSize;
52
+ const total = currentTotal + archivedInfo.totalSize;
53
+ totalCurrent += currentTotal;
54
+ totalArchived += archivedInfo.totalSize;
55
+ table.push([
56
+ server.id,
57
+ (0, log_utils_1.formatFileSize)(stderrSize),
58
+ (0, log_utils_1.formatFileSize)(stdoutSize),
59
+ archivedInfo.count > 0
60
+ ? `${(0, log_utils_1.formatFileSize)(archivedInfo.totalSize)} (${archivedInfo.count})`
61
+ : (0, log_utils_1.formatFileSize)(0),
62
+ (0, log_utils_1.formatFileSize)(total),
63
+ ]);
64
+ }
65
+ console.log(chalk_1.default.bold('\nServer Logs Overview:'));
66
+ console.log(table.toString());
67
+ console.log(chalk_1.default.dim('\nTotals:'));
68
+ console.log(chalk_1.default.dim(` Current logs: ${(0, log_utils_1.formatFileSize)(totalCurrent)}`));
69
+ console.log(chalk_1.default.dim(` Archived logs: ${(0, log_utils_1.formatFileSize)(totalArchived)}`));
70
+ console.log(chalk_1.default.dim(` Grand total: ${(0, log_utils_1.formatFileSize)(totalCurrent + totalArchived)}`));
71
+ console.log(chalk_1.default.dim('\nBatch operations:'));
72
+ console.log(chalk_1.default.dim(' llamacpp logs --clear Clear all current logs'));
73
+ console.log(chalk_1.default.dim(' llamacpp logs --clear-archived Delete only archived logs'));
74
+ console.log(chalk_1.default.dim(' llamacpp logs --clear-all Clear current + delete archives'));
75
+ console.log(chalk_1.default.dim(' llamacpp logs --rotate Rotate all logs with timestamps'));
76
+ }
77
+ async function handleBatchOperation(servers, options) {
78
+ if (options.clearArchived) {
79
+ console.log(chalk_1.default.blue('🗑️ Deleting archived logs for all servers...'));
80
+ console.log();
81
+ let totalFreed = 0;
82
+ let totalFiles = 0;
83
+ let serversProcessed = 0;
84
+ for (const server of servers) {
85
+ const archivedInfo = await (0, log_utils_1.deleteArchivedLogs)(server.id);
86
+ if (archivedInfo.count > 0) {
87
+ console.log(chalk_1.default.dim(` ${server.id}: ${(0, log_utils_1.formatFileSize)(archivedInfo.totalSize)} (${archivedInfo.count} file${archivedInfo.count !== 1 ? 's' : ''})`));
88
+ totalFreed += archivedInfo.totalSize;
89
+ totalFiles += archivedInfo.count;
90
+ serversProcessed++;
91
+ }
92
+ }
93
+ console.log();
94
+ if (serversProcessed === 0) {
95
+ console.log(chalk_1.default.yellow('⚠️ No archived logs found'));
96
+ console.log(chalk_1.default.dim(' Archived logs are created via --rotate or automatic rotation'));
97
+ }
98
+ else {
99
+ console.log(chalk_1.default.green(`✅ Deleted archived logs for ${serversProcessed} server${serversProcessed !== 1 ? 's' : ''}`));
100
+ console.log(chalk_1.default.dim(` Files deleted: ${totalFiles}`));
101
+ console.log(chalk_1.default.dim(` Total freed: ${(0, log_utils_1.formatFileSize)(totalFreed)}`));
102
+ console.log(chalk_1.default.dim(` Current logs preserved`));
103
+ }
104
+ }
105
+ else if (options.clearAll) {
106
+ console.log(chalk_1.default.blue('🗑️ Clearing all logs (current + archived) for all servers...'));
107
+ console.log();
108
+ let totalFreed = 0;
109
+ let serversProcessed = 0;
110
+ for (const server of servers) {
111
+ let serverTotal = 0;
112
+ // Clear current stderr
113
+ if (await (0, file_utils_1.fileExists)(server.stderrPath)) {
114
+ serverTotal += await (0, log_utils_1.getFileSize)(server.stderrPath);
115
+ await (0, log_utils_1.clearLogFile)(server.stderrPath);
116
+ }
117
+ // Clear current stdout
118
+ if (await (0, file_utils_1.fileExists)(server.stdoutPath)) {
119
+ serverTotal += await (0, log_utils_1.getFileSize)(server.stdoutPath);
120
+ await (0, log_utils_1.clearLogFile)(server.stdoutPath);
121
+ }
122
+ // Delete archived logs
123
+ const archivedInfo = await (0, log_utils_1.deleteArchivedLogs)(server.id);
124
+ serverTotal += archivedInfo.totalSize;
125
+ if (serverTotal > 0) {
126
+ console.log(chalk_1.default.dim(` ${server.id}: ${(0, log_utils_1.formatFileSize)(serverTotal)}`));
127
+ totalFreed += serverTotal;
128
+ serversProcessed++;
129
+ }
130
+ }
131
+ console.log();
132
+ console.log(chalk_1.default.green(`✅ Cleared all logs for ${serversProcessed} server${serversProcessed !== 1 ? 's' : ''}`));
133
+ console.log(chalk_1.default.dim(` Total freed: ${(0, log_utils_1.formatFileSize)(totalFreed)}`));
134
+ }
135
+ else if (options.clear) {
136
+ console.log(chalk_1.default.blue('🗑️ Clearing current logs for all servers...'));
137
+ console.log();
138
+ let totalFreed = 0;
139
+ let serversProcessed = 0;
140
+ for (const server of servers) {
141
+ let serverTotal = 0;
142
+ // Clear current stderr
143
+ if (await (0, file_utils_1.fileExists)(server.stderrPath)) {
144
+ serverTotal += await (0, log_utils_1.getFileSize)(server.stderrPath);
145
+ await (0, log_utils_1.clearLogFile)(server.stderrPath);
146
+ }
147
+ // Clear current stdout
148
+ if (await (0, file_utils_1.fileExists)(server.stdoutPath)) {
149
+ serverTotal += await (0, log_utils_1.getFileSize)(server.stdoutPath);
150
+ await (0, log_utils_1.clearLogFile)(server.stdoutPath);
151
+ }
152
+ if (serverTotal > 0) {
153
+ console.log(chalk_1.default.dim(` ${server.id}: ${(0, log_utils_1.formatFileSize)(serverTotal)}`));
154
+ totalFreed += serverTotal;
155
+ serversProcessed++;
156
+ }
157
+ }
158
+ console.log();
159
+ console.log(chalk_1.default.green(`✅ Cleared current logs for ${serversProcessed} server${serversProcessed !== 1 ? 's' : ''}`));
160
+ console.log(chalk_1.default.dim(` Total freed: ${(0, log_utils_1.formatFileSize)(totalFreed)}`));
161
+ console.log(chalk_1.default.dim(` Archived logs preserved`));
162
+ }
163
+ else if (options.rotate) {
164
+ console.log(chalk_1.default.blue('🔄 Rotating logs for all servers...'));
165
+ console.log();
166
+ let totalRotated = 0;
167
+ let filesRotated = 0;
168
+ for (const server of servers) {
169
+ const rotatedFiles = [];
170
+ // Rotate stderr if it has content
171
+ if (await (0, file_utils_1.fileExists)(server.stderrPath)) {
172
+ const size = await (0, log_utils_1.getFileSize)(server.stderrPath);
173
+ if (size > 0) {
174
+ try {
175
+ const archivedPath = await (0, log_utils_1.rotateLogFile)(server.stderrPath);
176
+ rotatedFiles.push(archivedPath);
177
+ totalRotated += size;
178
+ filesRotated++;
179
+ }
180
+ catch {
181
+ // Ignore empty files
182
+ }
183
+ }
184
+ }
185
+ // Rotate stdout if it has content
186
+ if (await (0, file_utils_1.fileExists)(server.stdoutPath)) {
187
+ const size = await (0, log_utils_1.getFileSize)(server.stdoutPath);
188
+ if (size > 0) {
189
+ try {
190
+ const archivedPath = await (0, log_utils_1.rotateLogFile)(server.stdoutPath);
191
+ rotatedFiles.push(archivedPath);
192
+ totalRotated += size;
193
+ filesRotated++;
194
+ }
195
+ catch {
196
+ // Ignore empty files
197
+ }
198
+ }
199
+ }
200
+ if (rotatedFiles.length > 0) {
201
+ console.log(chalk_1.default.dim(` ${server.id}: ${rotatedFiles.length} file${rotatedFiles.length !== 1 ? 's' : ''}`));
202
+ }
203
+ }
204
+ console.log();
205
+ console.log(chalk_1.default.green(`✅ Rotated ${filesRotated} log file${filesRotated !== 1 ? 's' : ''}`));
206
+ console.log(chalk_1.default.dim(` Total archived: ${(0, log_utils_1.formatFileSize)(totalRotated)}`));
207
+ }
208
+ }
209
+ //# sourceMappingURL=logs-all.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logs-all.js","sourceRoot":"","sources":["../../src/commands/logs-all.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,10 @@ interface LogsOptions {
6
6
  http?: boolean;
7
7
  stdout?: boolean;
8
8
  filter?: string;
9
+ clear?: boolean;
10
+ rotate?: boolean;
11
+ clearArchived?: boolean;
12
+ clearAll?: boolean;
9
13
  }
10
14
  export declare function logsCommand(identifier: string, options: LogsOptions): Promise<void>;
11
15
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AASA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAqKzF"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAiBA,UAAU,WAAW;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAiSzF"}
@@ -44,6 +44,7 @@ const state_manager_1 = require("../lib/state-manager");
44
44
  const file_utils_1 = require("../utils/file-utils");
45
45
  const process_utils_1 = require("../utils/process-utils");
46
46
  const log_parser_1 = require("../utils/log-parser");
47
+ const log_utils_1 = require("../utils/log-utils");
47
48
  async function logsCommand(identifier, options) {
48
49
  // Find server
49
50
  const server = await state_manager_1.stateManager.findServer(identifier);
@@ -53,6 +54,82 @@ async function logsCommand(identifier, options) {
53
54
  // Determine log file (default to stderr where verbose logs go)
54
55
  const logPath = options.stdout ? server.stdoutPath : server.stderrPath;
55
56
  const logType = options.stdout ? 'stdout' : 'stderr';
57
+ // Handle --clear-archived option (deletes only archived logs)
58
+ if (options.clearArchived) {
59
+ const archivedInfo = await (0, log_utils_1.deleteArchivedLogs)(server.id);
60
+ if (archivedInfo.count === 0) {
61
+ console.log(chalk_1.default.yellow(`⚠️ No archived logs found for ${server.modelName}`));
62
+ console.log(chalk_1.default.dim(` Archived logs are created via --rotate or automatic rotation`));
63
+ return;
64
+ }
65
+ console.log(chalk_1.default.green(`✅ Deleted archived logs for ${server.modelName}`));
66
+ console.log(chalk_1.default.dim(` Files deleted: ${archivedInfo.count}`));
67
+ console.log(chalk_1.default.dim(` Space freed: ${(0, log_utils_1.formatFileSize)(archivedInfo.totalSize)}`));
68
+ console.log(chalk_1.default.dim(` Current logs preserved`));
69
+ return;
70
+ }
71
+ // Handle --clear-all option (clears both current and archived logs)
72
+ if (options.clearAll) {
73
+ let totalFreed = 0;
74
+ let currentSize = 0;
75
+ let archivedSize = 0;
76
+ // Clear current stderr
77
+ if (await (0, file_utils_1.fileExists)(server.stderrPath)) {
78
+ currentSize += await (0, log_utils_1.getFileSize)(server.stderrPath);
79
+ await (0, log_utils_1.clearLogFile)(server.stderrPath);
80
+ }
81
+ // Clear current stdout
82
+ if (await (0, file_utils_1.fileExists)(server.stdoutPath)) {
83
+ currentSize += await (0, log_utils_1.getFileSize)(server.stdoutPath);
84
+ await (0, log_utils_1.clearLogFile)(server.stdoutPath);
85
+ }
86
+ // Delete all archived logs
87
+ const archivedInfo = await (0, log_utils_1.deleteArchivedLogs)(server.id);
88
+ archivedSize = archivedInfo.totalSize;
89
+ totalFreed = currentSize + archivedSize;
90
+ console.log(chalk_1.default.green(`✅ Cleared all logs for ${server.modelName}`));
91
+ if (currentSize > 0) {
92
+ console.log(chalk_1.default.dim(` Current logs: ${(0, log_utils_1.formatFileSize)(currentSize)}`));
93
+ }
94
+ if (archivedSize > 0) {
95
+ console.log(chalk_1.default.dim(` Archived logs: ${(0, log_utils_1.formatFileSize)(archivedSize)} (${archivedInfo.count} file${archivedInfo.count > 1 ? 's' : ''})`));
96
+ }
97
+ console.log(chalk_1.default.dim(` Total freed: ${(0, log_utils_1.formatFileSize)(totalFreed)}`));
98
+ return;
99
+ }
100
+ // Handle --clear option
101
+ if (options.clear) {
102
+ if (!(await (0, file_utils_1.fileExists)(logPath))) {
103
+ console.log(chalk_1.default.yellow(`⚠️ No ${logType} found for ${server.modelName}`));
104
+ console.log(chalk_1.default.dim(` Log file does not exist: ${logPath}`));
105
+ return;
106
+ }
107
+ const sizeBefore = await (0, log_utils_1.getFileSize)(logPath);
108
+ await (0, log_utils_1.clearLogFile)(logPath);
109
+ console.log(chalk_1.default.green(`✅ Cleared ${logType} for ${server.modelName}`));
110
+ console.log(chalk_1.default.dim(` Freed: ${(0, log_utils_1.formatFileSize)(sizeBefore)}`));
111
+ console.log(chalk_1.default.dim(` ${logPath}`));
112
+ return;
113
+ }
114
+ // Handle --rotate option
115
+ if (options.rotate) {
116
+ if (!(await (0, file_utils_1.fileExists)(logPath))) {
117
+ console.log(chalk_1.default.yellow(`⚠️ No ${logType} found for ${server.modelName}`));
118
+ console.log(chalk_1.default.dim(` Log file does not exist: ${logPath}`));
119
+ return;
120
+ }
121
+ try {
122
+ const archivedPath = await (0, log_utils_1.rotateLogFile)(logPath);
123
+ const size = await (0, log_utils_1.getFileSize)(archivedPath);
124
+ console.log(chalk_1.default.green(`✅ Rotated ${logType} for ${server.modelName}`));
125
+ console.log(chalk_1.default.dim(` Archived: ${(0, log_utils_1.formatFileSize)(size)}`));
126
+ console.log(chalk_1.default.dim(` → ${archivedPath}`));
127
+ }
128
+ catch (error) {
129
+ throw new Error(`Failed to rotate log: ${error.message}`);
130
+ }
131
+ return;
132
+ }
56
133
  // Check if log file exists
57
134
  if (!(await (0, file_utils_1.fileExists)(logPath))) {
58
135
  console.log(chalk_1.default.yellow(`⚠️ No ${logType} found for ${server.modelName}`));
@@ -90,6 +167,15 @@ async function logsCommand(identifier, options) {
90
167
  }
91
168
  console.log(chalk_1.default.blue(`📋 Logs for ${server.modelName} (${logType}${filterDesc})`));
92
169
  console.log(chalk_1.default.dim(` ${logPath}`));
170
+ // Show log size information
171
+ const currentSize = await (0, log_utils_1.getFileSize)(logPath);
172
+ const archivedInfo = await (0, log_utils_1.getArchivedLogInfo)(server.id);
173
+ if (archivedInfo.count > 0) {
174
+ console.log(chalk_1.default.dim(` Current: ${(0, log_utils_1.formatFileSize)(currentSize)} | Archived: ${(0, log_utils_1.formatFileSize)(archivedInfo.totalSize)} (${archivedInfo.count} file${archivedInfo.count > 1 ? 's' : ''})`));
175
+ }
176
+ else {
177
+ console.log(chalk_1.default.dim(` Current: ${(0, log_utils_1.formatFileSize)(currentSize)}`));
178
+ }
93
179
  // Show subtle note if verbose logging is not enabled
94
180
  if (!server.verbose && !options.verbose && !options.errors && !options.http && !options.filter) {
95
181
  console.log(chalk_1.default.dim(` verbosity is disabled`));
@@ -159,9 +245,16 @@ async function logsCommand(identifier, options) {
159
245
  // Compact mode: read file and parse
160
246
  try {
161
247
  // Use large multiplier to account for verbose debug output between requests
162
- const command = `tail -n ${lines * 100} "${logPath}" | grep -E "log_server_r"`;
248
+ // Add || true to prevent grep from failing when no matches found
249
+ const command = `tail -n ${lines * 100} "${logPath}" | grep -E "log_server_r" || true`;
163
250
  const output = await (0, process_utils_1.execCommand)(command);
164
251
  const logLines = output.split('\n').filter((l) => l.trim());
252
+ if (logLines.length === 0) {
253
+ console.log(chalk_1.default.dim('No HTTP request logs in compact format.'));
254
+ console.log(chalk_1.default.dim('The server may be starting up, or only simple GET requests have been made.'));
255
+ console.log(chalk_1.default.dim('\nTip: Use --http to see raw HTTP logs, or --verbose for all server logs.'));
256
+ return;
257
+ }
165
258
  const compactLines = [];
166
259
  for (const line of logLines) {
167
260
  log_parser_1.logParser.processLine(line, (compactLine) => {
@@ -172,6 +265,13 @@ async function logsCommand(identifier, options) {
172
265
  log_parser_1.logParser.flush((compactLine) => {
173
266
  compactLines.push(compactLine);
174
267
  });
268
+ // Check if we got any parsed output
269
+ if (compactLines.length === 0) {
270
+ console.log(chalk_1.default.dim('HTTP request logs found, but could not parse in compact format.'));
271
+ console.log(chalk_1.default.dim('This usually happens with simple GET requests (health checks, slots, etc.).'));
272
+ console.log(chalk_1.default.dim('\nTip: Use --http to see raw HTTP logs instead.'));
273
+ return;
274
+ }
175
275
  // Show only the last N compact lines
176
276
  const limitedLines = compactLines.slice(-lines);
177
277
  limitedLines.forEach((line) => console.log(line));
@@ -186,13 +286,19 @@ async function logsCommand(identifier, options) {
186
286
  let command;
187
287
  if (filterPattern) {
188
288
  // Use tail piped to grep
189
- command = `tail -n ${lines} "${logPath}" | grep -E "${filterPattern}"`;
289
+ // Add || true to prevent grep from failing when no matches found
290
+ command = `tail -n ${lines} "${logPath}" | grep -E "${filterPattern}" || true`;
190
291
  }
191
292
  else {
192
293
  // No filter
193
294
  command = `tail -n ${lines} "${logPath}"`;
194
295
  }
195
296
  const output = await (0, process_utils_1.execCommand)(command);
297
+ if (filterPattern && output.trim() === '') {
298
+ console.log(chalk_1.default.dim(`No logs matching pattern: ${filterPattern}`));
299
+ console.log(chalk_1.default.dim('\nTip: Try --verbose to see all logs, or adjust your filter pattern.'));
300
+ return;
301
+ }
196
302
  console.log(output);
197
303
  }
198
304
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"AAOA,wBAAsB,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyFtE"}
1
+ {"version":3,"file":"rm.d.ts","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"AAOA,wBAAsB,SAAS,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkFtE"}
@@ -75,22 +75,15 @@ async function rmCommand(modelIdentifier) {
75
75
  console.log(chalk_1.default.blue(`🗑️ Removing ${serversUsingModel.length} server(s)...\n`));
76
76
  for (const server of serversUsingModel) {
77
77
  console.log(chalk_1.default.dim(` Removing server: ${server.id}`));
78
- // Stop server if running
79
- if (server.status === 'running') {
80
- try {
81
- await launchctl_manager_1.launchctlManager.stopService(server.label);
82
- await launchctl_manager_1.launchctlManager.waitForServiceStop(server.label, 5000);
83
- }
84
- catch (error) {
85
- console.log(chalk_1.default.yellow(` ⚠️ Failed to stop server gracefully`));
86
- }
87
- }
88
- // Unload service
78
+ // Unload service (stops and removes from launchd)
89
79
  try {
90
80
  await launchctl_manager_1.launchctlManager.unloadService(server.plistPath);
81
+ if (server.status === 'running') {
82
+ await launchctl_manager_1.launchctlManager.waitForServiceStop(server.label, 5000);
83
+ }
91
84
  }
92
85
  catch (error) {
93
- // Ignore errors if service is already unloaded
86
+ console.log(chalk_1.default.yellow(` ⚠️ Failed to unload service gracefully`));
94
87
  }
95
88
  // Delete plist
96
89
  await launchctl_manager_1.launchctlManager.deletePlist(server.plistPath);
@@ -1 +1 @@
1
- {"version":3,"file":"rm.js","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rm.js","sourceRoot":"","sources":["../../src/commands/rm.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server-show.d.ts","sourceRoot":"","sources":["../../src/commands/server-show.ts"],"names":[],"mappings":"AAMA,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiIzE"}
1
+ {"version":3,"file":"server-show.d.ts","sourceRoot":"","sources":["../../src/commands/server-show.ts"],"names":[],"mappings":"AAQA,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAwJzE"}
@@ -9,6 +9,8 @@ const state_manager_1 = require("../lib/state-manager");
9
9
  const status_checker_1 = require("../lib/status-checker");
10
10
  const format_utils_1 = require("../utils/format-utils");
11
11
  const process_utils_1 = require("../utils/process-utils");
12
+ const log_utils_1 = require("../utils/log-utils");
13
+ const file_utils_1 = require("../utils/file-utils");
12
14
  async function serverShowCommand(identifier) {
13
15
  // Find the server
14
16
  const server = await state_manager_1.stateManager.findServer(identifier);
@@ -92,6 +94,24 @@ async function serverShowCommand(identifier) {
92
94
  if (updatedServer.customFlags && updatedServer.customFlags.length > 0) {
93
95
  console.log(`${chalk_1.default.bold('Custom Flags:')} ${updatedServer.customFlags.join(' ')}`);
94
96
  }
97
+ // Logs section
98
+ console.log('\n' + '─'.repeat(70));
99
+ console.log(chalk_1.default.bold('Logs:'));
100
+ console.log('─'.repeat(70));
101
+ // Get current log sizes
102
+ const stderrSize = (await (0, file_utils_1.fileExists)(updatedServer.stderrPath))
103
+ ? await (0, log_utils_1.getFileSize)(updatedServer.stderrPath)
104
+ : 0;
105
+ const stdoutSize = (await (0, file_utils_1.fileExists)(updatedServer.stdoutPath))
106
+ ? await (0, log_utils_1.getFileSize)(updatedServer.stdoutPath)
107
+ : 0;
108
+ // Get archived log info
109
+ const archivedInfo = await (0, log_utils_1.getArchivedLogInfo)(updatedServer.id);
110
+ console.log(`${chalk_1.default.bold('Stderr:')} ${(0, log_utils_1.formatFileSize)(stderrSize)} (current)`);
111
+ console.log(`${chalk_1.default.bold('Stdout:')} ${(0, log_utils_1.formatFileSize)(stdoutSize)} (current)`);
112
+ if (archivedInfo.count > 0) {
113
+ console.log(`${chalk_1.default.bold('Archived:')} ${(0, log_utils_1.formatFileSize)(archivedInfo.totalSize)} (${archivedInfo.count} file${archivedInfo.count > 1 ? 's' : ''})`);
114
+ }
95
115
  // Timestamps section
96
116
  console.log('\n' + '─'.repeat(70));
97
117
  console.log(chalk_1.default.bold('Timestamps:'));