@appkit/llamacpp-cli 2.0.0 → 2.1.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.
- package/README.md +271 -277
- package/dist/cli.js +133 -23
- package/dist/cli.js.map +1 -1
- package/dist/commands/admin/config.d.ts +1 -1
- package/dist/commands/admin/config.js +5 -5
- package/dist/commands/admin/config.js.map +1 -1
- package/dist/commands/admin/log-config.d.ts +11 -0
- package/dist/commands/admin/log-config.d.ts.map +1 -0
- package/dist/commands/admin/log-config.js +159 -0
- package/dist/commands/admin/log-config.js.map +1 -0
- package/dist/commands/admin/logs.d.ts +2 -3
- package/dist/commands/admin/logs.d.ts.map +1 -1
- package/dist/commands/admin/logs.js +6 -48
- package/dist/commands/admin/logs.js.map +1 -1
- package/dist/commands/admin/status.d.ts.map +1 -1
- package/dist/commands/admin/status.js +1 -0
- package/dist/commands/admin/status.js.map +1 -1
- package/dist/commands/config.d.ts +1 -0
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +63 -196
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/create.d.ts +3 -2
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +24 -97
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +7 -24
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/internal/server-wrapper.d.ts +15 -0
- package/dist/commands/internal/server-wrapper.d.ts.map +1 -0
- package/dist/commands/internal/server-wrapper.js +126 -0
- package/dist/commands/internal/server-wrapper.js.map +1 -0
- package/dist/commands/logs-all.d.ts +0 -2
- package/dist/commands/logs-all.d.ts.map +1 -1
- package/dist/commands/logs-all.js +1 -61
- package/dist/commands/logs-all.js.map +1 -1
- package/dist/commands/logs.d.ts +2 -5
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +104 -120
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/migrate-labels.d.ts +12 -0
- package/dist/commands/migrate-labels.d.ts.map +1 -0
- package/dist/commands/migrate-labels.js +160 -0
- package/dist/commands/migrate-labels.js.map +1 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +2 -1
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/rm.d.ts.map +1 -1
- package/dist/commands/rm.js +22 -48
- package/dist/commands/rm.js.map +1 -1
- package/dist/commands/router/config.d.ts +1 -1
- package/dist/commands/router/config.js +6 -6
- package/dist/commands/router/config.js.map +1 -1
- package/dist/commands/router/logs.d.ts +2 -4
- package/dist/commands/router/logs.d.ts.map +1 -1
- package/dist/commands/router/logs.js +34 -189
- package/dist/commands/router/logs.js.map +1 -1
- package/dist/commands/router/status.d.ts.map +1 -1
- package/dist/commands/router/status.js +1 -0
- package/dist/commands/router/status.js.map +1 -1
- package/dist/commands/server-show.d.ts.map +1 -1
- package/dist/commands/server-show.js +3 -0
- package/dist/commands/server-show.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +21 -72
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/stop.d.ts.map +1 -1
- package/dist/commands/stop.js +10 -26
- package/dist/commands/stop.js.map +1 -1
- package/dist/launchers/llamacpp-admin +8 -0
- package/dist/launchers/llamacpp-router +8 -0
- package/dist/launchers/llamacpp-server +8 -0
- package/dist/lib/admin-manager.d.ts +4 -0
- package/dist/lib/admin-manager.d.ts.map +1 -1
- package/dist/lib/admin-manager.js +42 -18
- package/dist/lib/admin-manager.js.map +1 -1
- package/dist/lib/admin-server.d.ts +48 -1
- package/dist/lib/admin-server.d.ts.map +1 -1
- package/dist/lib/admin-server.js +632 -238
- package/dist/lib/admin-server.js.map +1 -1
- package/dist/lib/config-generator.d.ts +1 -0
- package/dist/lib/config-generator.d.ts.map +1 -1
- package/dist/lib/config-generator.js +12 -5
- package/dist/lib/config-generator.js.map +1 -1
- package/dist/lib/keyboard-manager.d.ts +162 -0
- package/dist/lib/keyboard-manager.d.ts.map +1 -0
- package/dist/lib/keyboard-manager.js +247 -0
- package/dist/lib/keyboard-manager.js.map +1 -0
- package/dist/lib/label-migration.d.ts +65 -0
- package/dist/lib/label-migration.d.ts.map +1 -0
- package/dist/lib/label-migration.js +458 -0
- package/dist/lib/label-migration.js.map +1 -0
- package/dist/lib/launchctl-manager.d.ts +9 -0
- package/dist/lib/launchctl-manager.d.ts.map +1 -1
- package/dist/lib/launchctl-manager.js +65 -19
- package/dist/lib/launchctl-manager.js.map +1 -1
- package/dist/lib/log-management-service.d.ts +51 -0
- package/dist/lib/log-management-service.d.ts.map +1 -0
- package/dist/lib/log-management-service.js +124 -0
- package/dist/lib/log-management-service.js.map +1 -0
- package/dist/lib/log-workers.d.ts +70 -0
- package/dist/lib/log-workers.d.ts.map +1 -0
- package/dist/lib/log-workers.js +217 -0
- package/dist/lib/log-workers.js.map +1 -0
- package/dist/lib/model-downloader.d.ts +9 -1
- package/dist/lib/model-downloader.d.ts.map +1 -1
- package/dist/lib/model-downloader.js +98 -1
- package/dist/lib/model-downloader.js.map +1 -1
- package/dist/lib/model-management-service.d.ts +60 -0
- package/dist/lib/model-management-service.d.ts.map +1 -0
- package/dist/lib/model-management-service.js +246 -0
- package/dist/lib/model-management-service.js.map +1 -0
- package/dist/lib/model-management-service.test.d.ts +2 -0
- package/dist/lib/model-management-service.test.d.ts.map +1 -0
- package/dist/lib/model-management-service.test.js.map +1 -0
- package/dist/lib/model-scanner.d.ts +15 -3
- package/dist/lib/model-scanner.d.ts.map +1 -1
- package/dist/lib/model-scanner.js +174 -17
- package/dist/lib/model-scanner.js.map +1 -1
- package/dist/lib/openapi-spec.d.ts +1335 -0
- package/dist/lib/openapi-spec.d.ts.map +1 -0
- package/dist/lib/openapi-spec.js +1017 -0
- package/dist/lib/openapi-spec.js.map +1 -0
- package/dist/lib/router-logger.d.ts +1 -1
- package/dist/lib/router-logger.d.ts.map +1 -1
- package/dist/lib/router-logger.js +13 -11
- package/dist/lib/router-logger.js.map +1 -1
- package/dist/lib/router-manager.d.ts +4 -0
- package/dist/lib/router-manager.d.ts.map +1 -1
- package/dist/lib/router-manager.js +30 -18
- package/dist/lib/router-manager.js.map +1 -1
- package/dist/lib/router-server.d.ts.map +1 -1
- package/dist/lib/router-server.js +22 -12
- package/dist/lib/router-server.js.map +1 -1
- package/dist/lib/server-config-service.d.ts +51 -0
- package/dist/lib/server-config-service.d.ts.map +1 -0
- package/dist/lib/server-config-service.js +310 -0
- package/dist/lib/server-config-service.js.map +1 -0
- package/dist/lib/server-config-service.test.d.ts +2 -0
- package/dist/lib/server-config-service.test.d.ts.map +1 -0
- package/dist/lib/server-config-service.test.js.map +1 -0
- package/dist/lib/server-lifecycle-service.d.ts +172 -0
- package/dist/lib/server-lifecycle-service.d.ts.map +1 -0
- package/dist/lib/server-lifecycle-service.js +619 -0
- package/dist/lib/server-lifecycle-service.js.map +1 -0
- package/dist/lib/state-manager.d.ts +18 -1
- package/dist/lib/state-manager.d.ts.map +1 -1
- package/dist/lib/state-manager.js +51 -2
- package/dist/lib/state-manager.js.map +1 -1
- package/dist/lib/status-checker.d.ts +11 -4
- package/dist/lib/status-checker.d.ts.map +1 -1
- package/dist/lib/status-checker.js +34 -1
- package/dist/lib/status-checker.js.map +1 -1
- package/dist/lib/validation-service.d.ts +43 -0
- package/dist/lib/validation-service.d.ts.map +1 -0
- package/dist/lib/validation-service.js +112 -0
- package/dist/lib/validation-service.js.map +1 -0
- package/dist/lib/validation-service.test.d.ts +2 -0
- package/dist/lib/validation-service.test.d.ts.map +1 -0
- package/dist/lib/validation-service.test.js.map +1 -0
- package/dist/scripts/http-log-filter.sh +8 -0
- package/dist/tui/ConfigApp.d.ts.map +1 -1
- package/dist/tui/ConfigApp.js +222 -184
- package/dist/tui/ConfigApp.js.map +1 -1
- package/dist/tui/HistoricalMonitorApp.d.ts.map +1 -1
- package/dist/tui/HistoricalMonitorApp.js +12 -0
- package/dist/tui/HistoricalMonitorApp.js.map +1 -1
- package/dist/tui/ModelsApp.d.ts.map +1 -1
- package/dist/tui/ModelsApp.js +93 -17
- package/dist/tui/ModelsApp.js.map +1 -1
- package/dist/tui/MonitorApp.d.ts.map +1 -1
- package/dist/tui/MonitorApp.js +1 -3
- package/dist/tui/MonitorApp.js.map +1 -1
- package/dist/tui/MultiServerMonitorApp.d.ts +3 -3
- package/dist/tui/MultiServerMonitorApp.d.ts.map +1 -1
- package/dist/tui/MultiServerMonitorApp.js +724 -508
- package/dist/tui/MultiServerMonitorApp.js.map +1 -1
- package/dist/tui/RootNavigator.d.ts.map +1 -1
- package/dist/tui/RootNavigator.js +17 -1
- package/dist/tui/RootNavigator.js.map +1 -1
- package/dist/tui/RouterApp.d.ts +6 -0
- package/dist/tui/RouterApp.d.ts.map +1 -0
- package/dist/tui/RouterApp.js +928 -0
- package/dist/tui/RouterApp.js.map +1 -0
- package/dist/tui/SearchApp.d.ts.map +1 -1
- package/dist/tui/SearchApp.js +27 -6
- package/dist/tui/SearchApp.js.map +1 -1
- package/dist/tui/shared/modal-controller.d.ts +65 -0
- package/dist/tui/shared/modal-controller.d.ts.map +1 -0
- package/dist/tui/shared/modal-controller.js +625 -0
- package/dist/tui/shared/modal-controller.js.map +1 -0
- package/dist/tui/shared/overlay-utils.d.ts +7 -0
- package/dist/tui/shared/overlay-utils.d.ts.map +1 -0
- package/dist/tui/shared/overlay-utils.js +54 -0
- package/dist/tui/shared/overlay-utils.js.map +1 -0
- package/dist/types/admin-config.d.ts +15 -2
- package/dist/types/admin-config.d.ts.map +1 -1
- package/dist/types/model-info.d.ts +5 -0
- package/dist/types/model-info.d.ts.map +1 -1
- package/dist/types/router-config.d.ts +2 -2
- package/dist/types/router-config.d.ts.map +1 -1
- package/dist/types/server-config.d.ts +8 -0
- package/dist/types/server-config.d.ts.map +1 -1
- package/dist/types/server-config.js +25 -0
- package/dist/types/server-config.js.map +1 -1
- package/dist/utils/http-log-filter.d.ts +10 -0
- package/dist/utils/http-log-filter.d.ts.map +1 -0
- package/dist/utils/http-log-filter.js +84 -0
- package/dist/utils/http-log-filter.js.map +1 -0
- package/dist/utils/log-parser.d.ts.map +1 -1
- package/dist/utils/log-parser.js +7 -4
- package/dist/utils/log-parser.js.map +1 -1
- package/dist/utils/log-utils.d.ts +59 -4
- package/dist/utils/log-utils.d.ts.map +1 -1
- package/dist/utils/log-utils.js +150 -11
- package/dist/utils/log-utils.js.map +1 -1
- package/dist/utils/shard-utils.d.ts +72 -0
- package/dist/utils/shard-utils.d.ts.map +1 -0
- package/dist/utils/shard-utils.js +168 -0
- package/dist/utils/shard-utils.js.map +1 -0
- package/package.json +18 -4
- package/src/launchers/llamacpp-admin +8 -0
- package/src/launchers/llamacpp-router +8 -0
- package/src/launchers/llamacpp-server +8 -0
- package/web/dist/assets/index-Byhoy86V.css +1 -0
- package/web/dist/assets/index-HSrgvray.js +50 -0
- package/web/dist/index.html +2 -2
- package/web/dist/assets/index-Bin89Lwr.css +0 -1
- package/web/dist/assets/index-CVmonw3T.js +0 -17
package/dist/commands/start.js
CHANGED
|
@@ -6,86 +6,35 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.startCommand = startCommand;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const state_manager_1 = require("../lib/state-manager");
|
|
9
|
-
const
|
|
10
|
-
const status_checker_1 = require("../lib/status-checker");
|
|
11
|
-
const file_utils_1 = require("../utils/file-utils");
|
|
12
|
-
const log_utils_1 = require("../utils/log-utils");
|
|
9
|
+
const server_lifecycle_service_1 = require("../lib/server-lifecycle-service");
|
|
13
10
|
async function startCommand(identifier) {
|
|
14
11
|
// Initialize state manager
|
|
15
12
|
await state_manager_1.stateManager.initialize();
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
// 3. Auto-rotate logs if they exceed 100MB
|
|
30
|
-
try {
|
|
31
|
-
const result = await (0, log_utils_1.autoRotateIfNeeded)(server.stdoutPath, server.stderrPath, 100);
|
|
32
|
-
if (result.rotated) {
|
|
33
|
-
console.log(chalk_1.default.dim('Auto-rotated large log files:'));
|
|
34
|
-
for (const file of result.files) {
|
|
35
|
-
console.log(chalk_1.default.dim(` → ${file}`));
|
|
36
|
-
}
|
|
13
|
+
console.log(chalk_1.default.blue(`▶️ Starting server...`));
|
|
14
|
+
// Use centralized lifecycle service
|
|
15
|
+
const result = await server_lifecycle_service_1.serverLifecycleService.startServer(identifier, {
|
|
16
|
+
onProgress: (msg) => console.log(chalk_1.default.dim(msg)),
|
|
17
|
+
});
|
|
18
|
+
if (!result.success) {
|
|
19
|
+
throw new Error(result.error || 'Unknown error');
|
|
20
|
+
}
|
|
21
|
+
// Display rotated logs if any
|
|
22
|
+
if (result.rotatedLogs && result.rotatedLogs.length > 0) {
|
|
23
|
+
console.log(chalk_1.default.dim('Auto-rotated large log files:'));
|
|
24
|
+
for (const file of result.rotatedLogs) {
|
|
25
|
+
console.log(chalk_1.default.dim(` → ${file}`));
|
|
37
26
|
}
|
|
38
27
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
console.log(chalk_1.default.
|
|
42
|
-
}
|
|
43
|
-
// 4. Ensure plist exists (recreate if missing)
|
|
44
|
-
try {
|
|
45
|
-
await launchctl_manager_1.launchctlManager.createPlist(server);
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
// May already exist, that's okay
|
|
49
|
-
}
|
|
50
|
-
// 5. Load service if needed
|
|
51
|
-
try {
|
|
52
|
-
await launchctl_manager_1.launchctlManager.loadService(server.plistPath);
|
|
53
|
-
}
|
|
54
|
-
catch (error) {
|
|
55
|
-
// May already be loaded, that's okay
|
|
56
|
-
}
|
|
57
|
-
// 6. Start the service
|
|
58
|
-
try {
|
|
59
|
-
await launchctl_manager_1.launchctlManager.startService(server.label);
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
throw new Error(`Failed to start service: ${error.message}`);
|
|
63
|
-
}
|
|
64
|
-
// 7. Wait for startup
|
|
65
|
-
console.log(chalk_1.default.dim('Waiting for server to start...'));
|
|
66
|
-
const started = await launchctl_manager_1.launchctlManager.waitForServiceStart(server.label, 5000);
|
|
67
|
-
if (!started) {
|
|
68
|
-
throw new Error(`Server failed to start. Check logs with: llamacpp server logs ${server.id}`);
|
|
69
|
-
}
|
|
70
|
-
// 8. Update server status
|
|
71
|
-
let updatedServer = await status_checker_1.statusChecker.updateServerStatus(server);
|
|
72
|
-
// 9. Parse Metal (GPU) memory allocation if not already captured
|
|
73
|
-
if (!updatedServer.metalMemoryMB) {
|
|
74
|
-
console.log(chalk_1.default.dim('Detecting Metal (GPU) memory allocation...'));
|
|
75
|
-
await new Promise(resolve => setTimeout(resolve, 8000)); // 8 second delay
|
|
76
|
-
const metalMemoryMB = await (0, file_utils_1.parseMetalMemoryFromLog)(updatedServer.stderrPath);
|
|
77
|
-
if (metalMemoryMB) {
|
|
78
|
-
updatedServer = { ...updatedServer, metalMemoryMB };
|
|
79
|
-
await state_manager_1.stateManager.saveServerConfig(updatedServer);
|
|
80
|
-
console.log(chalk_1.default.dim(`Metal memory: ${metalMemoryMB.toFixed(0)} MB`));
|
|
81
|
-
}
|
|
28
|
+
// Display Metal memory if detected
|
|
29
|
+
if (result.metalMemoryMB) {
|
|
30
|
+
console.log(chalk_1.default.dim(`Metal memory: ${result.metalMemoryMB.toFixed(0)} MB`));
|
|
82
31
|
}
|
|
83
|
-
//
|
|
32
|
+
// Display success
|
|
84
33
|
console.log();
|
|
85
34
|
console.log(chalk_1.default.green('✅ Server started successfully!'));
|
|
86
35
|
console.log();
|
|
87
|
-
console.log(chalk_1.default.dim(`Connect: http://localhost:${server.port}`));
|
|
88
|
-
console.log(chalk_1.default.dim(`View logs: llamacpp server logs ${server.id}`));
|
|
89
|
-
console.log(chalk_1.default.dim(`Stop: llamacpp server stop ${server.id}`));
|
|
36
|
+
console.log(chalk_1.default.dim(`Connect: http://localhost:${result.server.port}`));
|
|
37
|
+
console.log(chalk_1.default.dim(`View logs: llamacpp server logs ${result.server.id}`));
|
|
38
|
+
console.log(chalk_1.default.dim(`Stop: llamacpp server stop ${result.server.id}`));
|
|
90
39
|
}
|
|
91
40
|
//# sourceMappingURL=start.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":";;;;;AAIA,oCAmCC;AAvCD,kDAA0B;AAC1B,wDAAoD;AACpD,8EAAyE;AAElE,KAAK,UAAU,YAAY,CAAC,UAAkB;IACnD,2BAA2B;IAC3B,MAAM,4BAAY,CAAC,UAAU,EAAE,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAElD,oCAAoC;IACpC,MAAM,MAAM,GAAG,MAAM,iDAAsB,CAAC,WAAW,CAAC,UAAU,EAAE;QAClE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACjD,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,8BAA8B;IAC9B,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,mCAAmC;IACnC,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,kBAAkB;IAClB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mCAAmC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stop.d.ts","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnE"}
|
package/dist/commands/stop.js
CHANGED
|
@@ -6,34 +6,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.stopCommand = stopCommand;
|
|
7
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
8
8
|
const state_manager_1 = require("../lib/state-manager");
|
|
9
|
-
const
|
|
10
|
-
const status_checker_1 = require("../lib/status-checker");
|
|
9
|
+
const server_lifecycle_service_1 = require("../lib/server-lifecycle-service");
|
|
11
10
|
async function stopCommand(identifier) {
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
// Initialize state manager
|
|
12
|
+
await state_manager_1.stateManager.initialize();
|
|
13
|
+
console.log(chalk_1.default.blue(`⏹️ Stopping server...`));
|
|
14
|
+
// Use centralized lifecycle service
|
|
15
|
+
const result = await server_lifecycle_service_1.serverLifecycleService.stopServer(identifier, {
|
|
16
|
+
onProgress: (msg) => console.log(chalk_1.default.dim(msg)),
|
|
17
|
+
});
|
|
18
|
+
if (!result.success) {
|
|
19
|
+
throw new Error(result.error || 'Unknown error');
|
|
16
20
|
}
|
|
17
|
-
// Check if already stopped
|
|
18
|
-
if (server.status === 'stopped') {
|
|
19
|
-
console.log(chalk_1.default.yellow(`⚠️ Server ${server.modelName} is already stopped`));
|
|
20
|
-
return;
|
|
21
|
-
}
|
|
22
|
-
console.log(chalk_1.default.blue(`⏹️ Stopping ${server.modelName} (port ${server.port})...`));
|
|
23
|
-
// Unload the service (removes from launchd management - won't auto-restart)
|
|
24
|
-
try {
|
|
25
|
-
await launchctl_manager_1.launchctlManager.unloadService(server.plistPath);
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
throw new Error(`Failed to unload service: ${error.message}`);
|
|
29
|
-
}
|
|
30
|
-
// Wait for clean shutdown
|
|
31
|
-
const stopped = await launchctl_manager_1.launchctlManager.waitForServiceStop(server.label, 5000);
|
|
32
|
-
if (!stopped) {
|
|
33
|
-
console.log(chalk_1.default.yellow('⚠️ Server did not stop cleanly (timeout)'));
|
|
34
|
-
}
|
|
35
|
-
// Update server status
|
|
36
|
-
await status_checker_1.statusChecker.updateServerStatus(server);
|
|
37
21
|
console.log(chalk_1.default.green('✅ Server stopped'));
|
|
38
22
|
}
|
|
39
23
|
//# sourceMappingURL=stop.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"stop.js","sourceRoot":"","sources":["../../src/commands/stop.ts"],"names":[],"mappings":";;;;;AAIA,kCAgBC;AApBD,kDAA0B;AAC1B,wDAAoD;AACpD,8EAAyE;AAElE,KAAK,UAAU,WAAW,CAAC,UAAkB;IAClD,2BAA2B;IAC3B,MAAM,4BAAY,CAAC,UAAU,EAAE,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAElD,oCAAoC;IACpC,MAAM,MAAM,GAAG,MAAM,iDAAsB,CAAC,UAAU,CAAC,UAAU,EAAE;QACjE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KACjD,CAAC,CAAC;IAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,eAAe,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# llamacpp-cli admin launcher wrapper
|
|
3
|
+
# This script invokes Node.js but appears as "llamacpp-admin" in process lists and macOS notifications
|
|
4
|
+
# First argument is the full path to node executable
|
|
5
|
+
NODE_PATH="$1"
|
|
6
|
+
shift
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
8
|
+
exec "$NODE_PATH" "$SCRIPT_DIR/../lib/admin-server.js" "$@"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# llamacpp-cli router launcher wrapper
|
|
3
|
+
# This script invokes Node.js but appears as "llamacpp-router" in process lists and macOS notifications
|
|
4
|
+
# First argument is the full path to node executable
|
|
5
|
+
NODE_PATH="$1"
|
|
6
|
+
shift
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
8
|
+
exec "$NODE_PATH" "$SCRIPT_DIR/../lib/router-server.js" "$@"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# llamacpp-cli launcher wrapper
|
|
3
|
+
# This script invokes Node.js but appears as "llamacpp-server" in process lists and macOS notifications
|
|
4
|
+
# First argument is the full path to node executable
|
|
5
|
+
NODE_PATH="$1"
|
|
6
|
+
shift
|
|
7
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
8
|
+
exec "$NODE_PATH" "$SCRIPT_DIR/../cli.js" "$@"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-manager.d.ts","sourceRoot":"","sources":["../../src/lib/admin-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAapD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAS;;IAShC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,gBAAgB,IAAI,WAAW;
|
|
1
|
+
{"version":3,"file":"admin-manager.d.ts","sourceRoot":"","sources":["../../src/lib/admin-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAapD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAS;;IAShC;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAMjC;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,gBAAgB,IAAI,WAAW;IA6B/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAQ/C;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAShE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAMnC;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAUzC;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAoE1C;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAKrD;;OAEG;IACG,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrD;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;OAEG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACG,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAyClE;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY5E;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAY3E;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB3B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAE,GAAG,IAAI,CAAC;CASvF;AAGD,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -69,16 +69,38 @@ class AdminManager {
|
|
|
69
69
|
port: 9200,
|
|
70
70
|
host: '127.0.0.1',
|
|
71
71
|
apiKey: this.generateApiKey(),
|
|
72
|
-
label: '
|
|
73
|
-
plistPath: path.join(this.launchAgentsDir, '
|
|
72
|
+
label: 'studio.appkit.llamacpp-cli.admin',
|
|
73
|
+
plistPath: path.join(this.launchAgentsDir, 'studio.appkit.llamacpp-cli.admin.plist'),
|
|
74
74
|
stdoutPath: path.join(this.logsDir, 'admin.stdout'),
|
|
75
75
|
stderrPath: path.join(this.logsDir, 'admin.stderr'),
|
|
76
76
|
requestTimeout: 30000,
|
|
77
|
-
|
|
77
|
+
logging: false,
|
|
78
78
|
status: 'stopped',
|
|
79
79
|
createdAt: new Date().toISOString(),
|
|
80
|
+
logManagement: {
|
|
81
|
+
autoRotate: {
|
|
82
|
+
enabled: true,
|
|
83
|
+
intervalHours: 24,
|
|
84
|
+
thresholdMB: 100,
|
|
85
|
+
},
|
|
86
|
+
autoDelete: {
|
|
87
|
+
enabled: true,
|
|
88
|
+
intervalHours: 24,
|
|
89
|
+
afterDays: 30,
|
|
90
|
+
},
|
|
91
|
+
},
|
|
80
92
|
};
|
|
81
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Migrate old config format (verbose → logging)
|
|
96
|
+
*/
|
|
97
|
+
migrateConfig(config) {
|
|
98
|
+
if ('verbose' in config && !('logging' in config)) {
|
|
99
|
+
config.logging = config.verbose;
|
|
100
|
+
delete config.verbose;
|
|
101
|
+
}
|
|
102
|
+
return config;
|
|
103
|
+
}
|
|
82
104
|
/**
|
|
83
105
|
* Load admin configuration
|
|
84
106
|
*/
|
|
@@ -86,7 +108,8 @@ class AdminManager {
|
|
|
86
108
|
if (!(await (0, file_utils_1.fileExists)(this.configPath))) {
|
|
87
109
|
return null;
|
|
88
110
|
}
|
|
89
|
-
|
|
111
|
+
const config = await (0, file_utils_1.readJson)(this.configPath);
|
|
112
|
+
return this.migrateConfig(config);
|
|
90
113
|
}
|
|
91
114
|
/**
|
|
92
115
|
* Save admin configuration
|
|
@@ -129,25 +152,23 @@ class AdminManager {
|
|
|
129
152
|
* Generate plist XML content for the admin service
|
|
130
153
|
*/
|
|
131
154
|
generatePlist(config) {
|
|
132
|
-
// Find the
|
|
133
|
-
//
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
else {
|
|
143
|
-
// Production mode - already in dist/lib/
|
|
144
|
-
adminServerPath = path.join(__dirname, 'admin-server.js');
|
|
155
|
+
// Find the wrapper script
|
|
156
|
+
// Try relative to current module location (works for both dev and prod)
|
|
157
|
+
let wrapperPath = path.join(__dirname, '..', 'launchers', 'llamacpp-admin');
|
|
158
|
+
if (!require('fs').existsSync(wrapperPath)) {
|
|
159
|
+
// Try from the CLI binary location (global install)
|
|
160
|
+
const binPath = process.argv[1];
|
|
161
|
+
wrapperPath = path.join(path.dirname(binPath), '..', 'launchers', 'llamacpp-admin');
|
|
162
|
+
if (!require('fs').existsSync(wrapperPath)) {
|
|
163
|
+
throw new Error(`Admin wrapper script not found at ${wrapperPath}`);
|
|
164
|
+
}
|
|
145
165
|
}
|
|
146
166
|
// Use the current Node.js executable path (resolves symlinks)
|
|
147
167
|
const nodePath = process.execPath;
|
|
168
|
+
// Build arguments: wrapper receives node path, then config path
|
|
148
169
|
const args = [
|
|
170
|
+
wrapperPath,
|
|
149
171
|
nodePath,
|
|
150
|
-
adminServerPath,
|
|
151
172
|
'--config', this.configPath,
|
|
152
173
|
];
|
|
153
174
|
const argsXml = args.map(arg => ` <string>${arg}</string>`).join('\n');
|
|
@@ -186,6 +207,9 @@ ${argsXml}
|
|
|
186
207
|
|
|
187
208
|
<key>ThrottleInterval</key>
|
|
188
209
|
<integer>10</integer>
|
|
210
|
+
|
|
211
|
+
<key>ProcessType</key>
|
|
212
|
+
<string>Background</string>
|
|
189
213
|
</dict>
|
|
190
214
|
</plist>
|
|
191
215
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-manager.js","sourceRoot":"","sources":["../../src/lib/admin-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,gDAAkC;AAClC,+CAAiC;AAEjC,0DAAgE;AAChE,oDAS6B;AAS7B,MAAa,YAAY;IAMvB;QACE,IAAI,CAAC,SAAS,GAAG,IAAA,yBAAY,GAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAA,uBAAU,GAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,IAAA,+BAAkB,GAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO;YACL,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;YAC7B,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"admin-manager.js","sourceRoot":"","sources":["../../src/lib/admin-manager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAC7B,gDAAkC;AAClC,+CAAiC;AAEjC,0DAAgE;AAChE,oDAS6B;AAS7B,MAAa,YAAY;IAMvB;QACE,IAAI,CAAC,SAAS,GAAG,IAAA,yBAAY,GAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,IAAA,uBAAU,GAAE,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,IAAA,+BAAkB,GAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAA,sBAAS,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO;YACL,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE;YAC7B,KAAK,EAAE,kCAAkC;YACzC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,wCAAwC,CAAC;YACpF,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;YACnD,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC;YACnD,cAAc,EAAE,KAAK;YACrB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,aAAa,EAAE;gBACb,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,EAAE;oBACjB,WAAW,EAAE,GAAG;iBACjB;gBACD,UAAU,EAAE;oBACV,OAAO,EAAE,IAAI;oBACb,aAAa,EAAE,EAAE;oBACjB,SAAS,EAAE,EAAE;iBACd;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAW;QAC/B,IAAI,SAAS,IAAI,MAAM,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;YAClD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAChC,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QACD,OAAO,MAAqB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,CAAC,MAAM,IAAA,uBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAQ,EAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAmB;QAClC,MAAM,IAAA,4BAAe,EAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAA6B;QAC9C,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,aAAa,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,MAAM,IAAA,uBAAU,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,MAAmB;QAC/B,0BAA0B;QAC1B,wEAAwE;QACxE,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC5E,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3C,oDAAoD;YACpD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;YACpF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,MAAM,IAAI,KAAK,CAAC,qCAAqC,WAAW,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAElC,gEAAgE;QAChE,MAAM,IAAI,GAAG;YACX,WAAW;YACX,QAAQ;YACR,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5E,OAAO;;;;;;cAMG,MAAM,CAAC,KAAK;;;;EAIxB,OAAO;;;;;;;;;;;;;;;cAeK,MAAM,CAAC,UAAU;;;cAGjB,MAAM,CAAC,UAAU;;;;;;;;;;;;CAY9B,CAAC;IACA,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAmB;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,IAAA,4BAAe,EAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAAmB;QACnC,IAAI,MAAM,IAAA,uBAAU,EAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YACvC,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,MAAM,IAAA,2BAAW,EAAC,mBAAmB,SAAS,GAAG,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,IAAI,CAAC;YACH,MAAM,IAAA,2BAAW,EAAC,qBAAqB,SAAS,GAAG,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,MAAM,IAAA,2BAAW,EAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,MAAM,IAAA,2BAAW,EAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAa;QAClC,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,yBAAS,EAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC;YACrE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAExC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAChC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACtB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpC,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBAErC,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;wBAC3B,MAAM,GAAG,GAAG,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACzD,MAAM,QAAQ,GAAG,WAAW,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACxE,MAAM,SAAS,GAAG,GAAG,KAAK,IAAI,CAAC;wBAE/B,OAAO;4BACL,SAAS;4BACT,GAAG;4BACH,QAAQ;4BACR,cAAc,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;yBACjD,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,GAAG,EAAE,IAAI;gBACT,QAAQ,EAAE,IAAI;aACf,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAmB;QAC3C,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAClD,IAAI,IAAI,KAAK,CAAC,CAAC;YAAE,OAAO,wBAAwB,CAAC;QACjD,IAAI,IAAI,KAAK,CAAC,EAAE;YAAE,OAAO,sBAAsB,CAAC;QAChD,OAAO,cAAc,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAa,EAAE,SAAS,GAAG,IAAI;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,SAAS,GAAG,IAAI;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAExB,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,wBAAwB;YACxB,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAED,2BAA2B;QAC3B,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,2CAA2C;QAC3C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,aAAa,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;YAClC,kDAAkD;YAClD,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC/B,oCAAoC;YACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC5D,CAAC;QAED,eAAe;QACf,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE/B,yBAAyB;QACzB,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,wBAAwB;QAC1B,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEtC,mBAAmB;QACnB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,YAAY,CAAC;YACtB,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,SAAS;YAC5B,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,iBAAiB;QACjB,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAE3C,oBAAoB;QACpB,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAElD,gBAAgB;QAChB,MAAM,IAAI,CAAC,YAAY,CAAC;YACtB,MAAM,EAAE,SAAS;YACjB,GAAG,EAAE,SAAS;YACd,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qBAAqB;QACvB,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;CACF;AAlbD,oCAkbC;AAED,4BAA4B;AACf,QAAA,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -5,8 +5,18 @@
|
|
|
5
5
|
declare class AdminServer {
|
|
6
6
|
private config;
|
|
7
7
|
private server;
|
|
8
|
+
private autoRotateWorker?;
|
|
9
|
+
private autoDeleteWorker?;
|
|
8
10
|
initialize(): Promise<void>;
|
|
9
11
|
start(): Promise<void>;
|
|
12
|
+
/**
|
|
13
|
+
* Start log management workers based on configuration
|
|
14
|
+
*/
|
|
15
|
+
private startWorkers;
|
|
16
|
+
/**
|
|
17
|
+
* Stop log management workers
|
|
18
|
+
*/
|
|
19
|
+
private stopWorkers;
|
|
10
20
|
/**
|
|
11
21
|
* Main request handler
|
|
12
22
|
*/
|
|
@@ -15,6 +25,10 @@ declare class AdminServer {
|
|
|
15
25
|
* Health check endpoint
|
|
16
26
|
*/
|
|
17
27
|
private handleHealth;
|
|
28
|
+
/**
|
|
29
|
+
* Proxy router requests (production mode)
|
|
30
|
+
*/
|
|
31
|
+
private handleRouterProxy;
|
|
18
32
|
/**
|
|
19
33
|
* List all servers
|
|
20
34
|
*/
|
|
@@ -47,12 +61,16 @@ declare class AdminServer {
|
|
|
47
61
|
* Restart server
|
|
48
62
|
*/
|
|
49
63
|
private handleRestartServer;
|
|
64
|
+
/**
|
|
65
|
+
* Get slot status from a running llama.cpp server
|
|
66
|
+
*/
|
|
67
|
+
private handleGetServerSlots;
|
|
50
68
|
/**
|
|
51
69
|
* Get server logs
|
|
52
70
|
*/
|
|
53
71
|
private handleGetLogs;
|
|
54
72
|
/**
|
|
55
|
-
* List models
|
|
73
|
+
* List models (handles sharded models correctly)
|
|
56
74
|
*/
|
|
57
75
|
private handleListModels;
|
|
58
76
|
/**
|
|
@@ -85,6 +103,7 @@ declare class AdminServer {
|
|
|
85
103
|
private handleDownloadModel;
|
|
86
104
|
/**
|
|
87
105
|
* Delete model
|
|
106
|
+
* FIX: Now uses modelManagementService which filters by modelPath (not modelName)
|
|
88
107
|
*/
|
|
89
108
|
private handleDeleteModel;
|
|
90
109
|
/**
|
|
@@ -95,6 +114,10 @@ declare class AdminServer {
|
|
|
95
114
|
* Get router status
|
|
96
115
|
*/
|
|
97
116
|
private handleGetRouter;
|
|
117
|
+
/**
|
|
118
|
+
* Get admin status
|
|
119
|
+
*/
|
|
120
|
+
private handleGetAdmin;
|
|
98
121
|
/**
|
|
99
122
|
* Start router service
|
|
100
123
|
*/
|
|
@@ -111,10 +134,30 @@ declare class AdminServer {
|
|
|
111
134
|
* Get router logs
|
|
112
135
|
*/
|
|
113
136
|
private handleGetRouterLogs;
|
|
137
|
+
/**
|
|
138
|
+
* Get admin service logs content
|
|
139
|
+
*/
|
|
140
|
+
private handleGetAdminServiceLogs;
|
|
114
141
|
/**
|
|
115
142
|
* Update router configuration
|
|
116
143
|
*/
|
|
117
144
|
private handleUpdateRouter;
|
|
145
|
+
/**
|
|
146
|
+
* Get admin log information
|
|
147
|
+
*/
|
|
148
|
+
private handleGetAdminLogs;
|
|
149
|
+
/**
|
|
150
|
+
* Rotate log files
|
|
151
|
+
*/
|
|
152
|
+
private handleRotateLogs;
|
|
153
|
+
/**
|
|
154
|
+
* Clear archived logs
|
|
155
|
+
*/
|
|
156
|
+
private handleClearArchivedLogs;
|
|
157
|
+
/**
|
|
158
|
+
* Update log management configuration
|
|
159
|
+
*/
|
|
160
|
+
private handleUpdateLogConfig;
|
|
118
161
|
/**
|
|
119
162
|
* Authenticate request via API key
|
|
120
163
|
*/
|
|
@@ -134,6 +177,10 @@ declare class AdminServer {
|
|
|
134
177
|
/**
|
|
135
178
|
* Serve static files from web/dist directory
|
|
136
179
|
*/
|
|
180
|
+
/**
|
|
181
|
+
* Serve Swagger UI for API documentation
|
|
182
|
+
*/
|
|
183
|
+
private handleSwaggerUI;
|
|
137
184
|
private handleStaticFile;
|
|
138
185
|
/**
|
|
139
186
|
* Log request
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin-server.d.ts","sourceRoot":"","sources":["../../src/lib/admin-server.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"admin-server.d.ts","sourceRoot":"","sources":["../../src/lib/admin-server.ts"],"names":[],"mappings":";AAuCA;;GAEG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAEtC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAa5B;;OAEG;YACW,YAAY;IAqB1B;;OAEG;YACW,WAAW;IASzB;;OAEG;YACW,aAAa;IAyJ3B;;OAEG;YACW,YAAY;IAQ1B;;OAEG;YACW,iBAAiB;IAqD/B;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;YACW,eAAe;IAgB7B;;OAEG;YACW,kBAAkB;IAyDhC;;OAEG;YACW,kBAAkB;IAyEhC;;OAEG;YACW,kBAAkB;IAqBhC;;OAEG;YACW,iBAAiB;IA8B/B;;OAEG;YACW,gBAAgB;IA0B9B;;OAEG;YACW,mBAAmB;IA4BjC;;OAEG;YACW,oBAAoB;IA8ClC;;OAEG;YACW,aAAa;IAiD3B;;OAEG;YACW,gBAAgB;IA8B9B;;OAEG;YACW,cAAc;IAyB5B;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;IASjC;;OAEG;YACW,cAAc;IAK5B;;OAEG;YACW,YAAY;IAS1B;;OAEG;YACW,eAAe;IAsB7B;;OAEG;YACW,mBAAmB;IA+BjC;;;OAGG;YACW,iBAAiB;IAiC/B;;OAEG;YACW,kBAAkB;IAqChC;;OAEG;YACW,eAAe;IAmD7B;;OAEG;YACW,cAAc;IAmC5B;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;YACW,gBAAgB;IAa9B;;OAEG;YACW,mBAAmB;IAejC;;OAEG;YACW,mBAAmB;IAuCjC;;OAEG;YACW,yBAAyB;IA4BvC;;OAEG;YACW,kBAAkB;IA2ChC;;OAEG;YACW,kBAAkB;IAmChC;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,uBAAuB;IAkBrC;;OAEG;YACW,qBAAqB;IAuCnC;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;YACW,QAAQ;IAStB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAOhB;;OAEG;IACH,OAAO,CAAC,SAAS;IAWjB;;OAEG;IACH;;OAEG;YACW,eAAe;YAoFf,gBAAgB;IA0E9B;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,WAAW;CAKpB;AAkBD,OAAO,EAAE,WAAW,EAAE,CAAC"}
|