@appkit/llamacpp-cli 1.10.1 → 1.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +356 -3
  3. package/dist/cli.js +99 -0
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/admin/config.d.ts +10 -0
  6. package/dist/commands/admin/config.d.ts.map +1 -0
  7. package/dist/commands/admin/config.js +100 -0
  8. package/dist/commands/admin/config.js.map +1 -0
  9. package/dist/commands/admin/logs.d.ts +10 -0
  10. package/dist/commands/admin/logs.d.ts.map +1 -0
  11. package/dist/commands/admin/logs.js +114 -0
  12. package/dist/commands/admin/logs.js.map +1 -0
  13. package/dist/commands/admin/restart.d.ts +2 -0
  14. package/dist/commands/admin/restart.d.ts.map +1 -0
  15. package/dist/commands/admin/restart.js +29 -0
  16. package/dist/commands/admin/restart.js.map +1 -0
  17. package/dist/commands/admin/start.d.ts +2 -0
  18. package/dist/commands/admin/start.d.ts.map +1 -0
  19. package/dist/commands/admin/start.js +30 -0
  20. package/dist/commands/admin/start.js.map +1 -0
  21. package/dist/commands/admin/status.d.ts +2 -0
  22. package/dist/commands/admin/status.d.ts.map +1 -0
  23. package/dist/commands/admin/status.js +82 -0
  24. package/dist/commands/admin/status.js.map +1 -0
  25. package/dist/commands/admin/stop.d.ts +2 -0
  26. package/dist/commands/admin/stop.d.ts.map +1 -0
  27. package/dist/commands/admin/stop.js +21 -0
  28. package/dist/commands/admin/stop.js.map +1 -0
  29. package/dist/commands/logs.d.ts +1 -0
  30. package/dist/commands/logs.d.ts.map +1 -1
  31. package/dist/commands/logs.js +22 -0
  32. package/dist/commands/logs.js.map +1 -1
  33. package/dist/commands/server-show.js +1 -1
  34. package/dist/commands/server-show.js.map +1 -1
  35. package/dist/lib/admin-manager.d.ts +111 -0
  36. package/dist/lib/admin-manager.d.ts.map +1 -0
  37. package/dist/lib/admin-manager.js +413 -0
  38. package/dist/lib/admin-manager.js.map +1 -0
  39. package/dist/lib/admin-server.d.ts +148 -0
  40. package/dist/lib/admin-server.d.ts.map +1 -0
  41. package/dist/lib/admin-server.js +1161 -0
  42. package/dist/lib/admin-server.js.map +1 -0
  43. package/dist/lib/download-job-manager.d.ts +64 -0
  44. package/dist/lib/download-job-manager.d.ts.map +1 -0
  45. package/dist/lib/download-job-manager.js +164 -0
  46. package/dist/lib/download-job-manager.js.map +1 -0
  47. package/dist/tui/MultiServerMonitorApp.js +2 -2
  48. package/dist/tui/MultiServerMonitorApp.js.map +1 -1
  49. package/dist/types/admin-config.d.ts +19 -0
  50. package/dist/types/admin-config.d.ts.map +1 -0
  51. package/dist/types/admin-config.js +3 -0
  52. package/dist/types/admin-config.js.map +1 -0
  53. package/dist/utils/format-utils.d.ts +6 -0
  54. package/dist/utils/format-utils.d.ts.map +1 -1
  55. package/dist/utils/format-utils.js +18 -0
  56. package/dist/utils/format-utils.js.map +1 -1
  57. package/dist/utils/log-parser.d.ts +9 -0
  58. package/dist/utils/log-parser.d.ts.map +1 -1
  59. package/dist/utils/log-parser.js +11 -0
  60. package/dist/utils/log-parser.js.map +1 -1
  61. package/docs/images/web-ui-servers.png +0 -0
  62. package/package.json +1 -1
  63. package/src/cli.ts +100 -0
  64. package/src/commands/admin/config.ts +121 -0
  65. package/src/commands/admin/logs.ts +91 -0
  66. package/src/commands/admin/restart.ts +26 -0
  67. package/src/commands/admin/start.ts +27 -0
  68. package/src/commands/admin/status.ts +84 -0
  69. package/src/commands/admin/stop.ts +16 -0
  70. package/src/commands/logs.ts +24 -0
  71. package/src/commands/server-show.ts +2 -2
  72. package/src/lib/admin-manager.ts +435 -0
  73. package/src/lib/admin-server.ts +1243 -0
  74. package/src/lib/download-job-manager.ts +213 -0
  75. package/src/tui/MultiServerMonitorApp.ts +3 -3
  76. package/src/types/admin-config.ts +25 -0
  77. package/src/utils/format-utils.ts +18 -0
  78. package/src/utils/log-parser.ts +13 -0
  79. package/web/README.md +429 -0
  80. package/web/eslint.config.js +23 -0
  81. package/web/index.html +13 -0
  82. package/web/llamacpp-web-dist.tar.gz +0 -0
  83. package/web/package-lock.json +4017 -0
  84. package/web/package.json +38 -0
  85. package/web/postcss.config.js +6 -0
  86. package/web/public/vite.svg +1 -0
  87. package/web/src/App.css +42 -0
  88. package/web/src/App.tsx +86 -0
  89. package/web/src/assets/react.svg +1 -0
  90. package/web/src/components/ApiKeyPrompt.tsx +71 -0
  91. package/web/src/components/CreateServerModal.tsx +372 -0
  92. package/web/src/components/DownloadProgress.tsx +123 -0
  93. package/web/src/components/Nav.tsx +89 -0
  94. package/web/src/components/RouterConfigModal.tsx +240 -0
  95. package/web/src/components/SearchModal.tsx +306 -0
  96. package/web/src/components/ServerConfigModal.tsx +291 -0
  97. package/web/src/hooks/useApi.ts +259 -0
  98. package/web/src/index.css +42 -0
  99. package/web/src/lib/api.ts +226 -0
  100. package/web/src/main.tsx +10 -0
  101. package/web/src/pages/Dashboard.tsx +103 -0
  102. package/web/src/pages/Models.tsx +258 -0
  103. package/web/src/pages/Router.tsx +270 -0
  104. package/web/src/pages/RouterLogs.tsx +201 -0
  105. package/web/src/pages/ServerLogs.tsx +553 -0
  106. package/web/src/pages/Servers.tsx +358 -0
  107. package/web/src/types/api.ts +140 -0
  108. package/web/tailwind.config.js +31 -0
  109. package/web/tsconfig.app.json +28 -0
  110. package/web/tsconfig.json +7 -0
  111. package/web/tsconfig.node.json +26 -0
  112. package/web/vite.config.ts +25 -0
  113. package/MONITORING-ACCURACY-FIX.md +0 -199
  114. package/PER-PROCESS-METRICS.md +0 -190
@@ -1 +1 @@
1
- {"version":3,"file":"server-show.js","sourceRoot":"","sources":["../../src/commands/server-show.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-show.js","sourceRoot":"","sources":["../../src/commands/server-show.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ import { AdminConfig } from '../types/admin-config';
2
+ export interface AdminServiceStatus {
3
+ isRunning: boolean;
4
+ pid: number | null;
5
+ exitCode: number | null;
6
+ lastExitReason?: string;
7
+ }
8
+ export declare class AdminManager {
9
+ private configDir;
10
+ private logsDir;
11
+ private configPath;
12
+ private launchAgentsDir;
13
+ constructor();
14
+ /**
15
+ * Initialize admin directories
16
+ */
17
+ initialize(): Promise<void>;
18
+ /**
19
+ * Generate a secure random API key
20
+ */
21
+ generateApiKey(): string;
22
+ /**
23
+ * Get default admin configuration
24
+ */
25
+ getDefaultConfig(): AdminConfig;
26
+ /**
27
+ * Load admin configuration
28
+ */
29
+ loadConfig(): Promise<AdminConfig | null>;
30
+ /**
31
+ * Save admin configuration
32
+ */
33
+ saveConfig(config: AdminConfig): Promise<void>;
34
+ /**
35
+ * Update admin configuration with partial changes
36
+ */
37
+ updateConfig(updates: Partial<AdminConfig>): Promise<void>;
38
+ /**
39
+ * Delete admin configuration
40
+ */
41
+ deleteConfig(): Promise<void>;
42
+ /**
43
+ * Regenerate API key
44
+ */
45
+ regenerateApiKey(): Promise<string>;
46
+ /**
47
+ * Generate plist XML content for the admin service
48
+ */
49
+ generatePlist(config: AdminConfig): string;
50
+ /**
51
+ * Create and write plist file
52
+ */
53
+ createPlist(config: AdminConfig): Promise<void>;
54
+ /**
55
+ * Delete plist file
56
+ */
57
+ deletePlist(config: AdminConfig): Promise<void>;
58
+ /**
59
+ * Load service (register with launchctl)
60
+ */
61
+ loadService(plistPath: string): Promise<void>;
62
+ /**
63
+ * Unload service (unregister from launchctl)
64
+ */
65
+ unloadService(plistPath: string): Promise<void>;
66
+ /**
67
+ * Start service
68
+ */
69
+ startService(label: string): Promise<void>;
70
+ /**
71
+ * Stop service
72
+ */
73
+ stopService(label: string): Promise<void>;
74
+ /**
75
+ * Get service status from launchctl
76
+ */
77
+ getServiceStatus(label: string): Promise<AdminServiceStatus>;
78
+ /**
79
+ * Interpret exit code to human-readable reason
80
+ */
81
+ private interpretExitCode;
82
+ /**
83
+ * Wait for service to start (with timeout)
84
+ */
85
+ waitForServiceStart(label: string, timeoutMs?: number): Promise<boolean>;
86
+ /**
87
+ * Wait for service to stop (with timeout)
88
+ */
89
+ waitForServiceStop(label: string, timeoutMs?: number): Promise<boolean>;
90
+ /**
91
+ * Start admin service
92
+ */
93
+ start(): Promise<void>;
94
+ /**
95
+ * Stop admin service
96
+ */
97
+ stop(): Promise<void>;
98
+ /**
99
+ * Restart admin service
100
+ */
101
+ restart(): Promise<void>;
102
+ /**
103
+ * Get admin status
104
+ */
105
+ getStatus(): Promise<{
106
+ config: AdminConfig;
107
+ status: AdminServiceStatus;
108
+ } | null>;
109
+ }
110
+ export declare const adminManager: AdminManager;
111
+ //# sourceMappingURL=admin-manager.d.ts.map
@@ -0,0 +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;IAiB/B;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;IAO/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;IAkE1C;;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"}
@@ -0,0 +1,413 @@
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.adminManager = exports.AdminManager = void 0;
37
+ const path = __importStar(require("path"));
38
+ const fs = __importStar(require("fs/promises"));
39
+ const crypto = __importStar(require("crypto"));
40
+ const process_utils_1 = require("../utils/process-utils");
41
+ const file_utils_1 = require("../utils/file-utils");
42
+ class AdminManager {
43
+ constructor() {
44
+ this.configDir = (0, file_utils_1.getConfigDir)();
45
+ this.logsDir = (0, file_utils_1.getLogsDir)();
46
+ this.configPath = path.join(this.configDir, 'admin.json');
47
+ this.launchAgentsDir = (0, file_utils_1.getLaunchAgentsDir)();
48
+ }
49
+ /**
50
+ * Initialize admin directories
51
+ */
52
+ async initialize() {
53
+ await (0, file_utils_1.ensureDir)(this.configDir);
54
+ await (0, file_utils_1.ensureDir)(this.logsDir);
55
+ await (0, file_utils_1.ensureDir)(this.launchAgentsDir);
56
+ }
57
+ /**
58
+ * Generate a secure random API key
59
+ */
60
+ generateApiKey() {
61
+ return crypto.randomBytes(32).toString('hex');
62
+ }
63
+ /**
64
+ * Get default admin configuration
65
+ */
66
+ getDefaultConfig() {
67
+ return {
68
+ id: 'admin',
69
+ port: 9200,
70
+ host: '127.0.0.1',
71
+ apiKey: this.generateApiKey(),
72
+ label: 'com.llama.admin',
73
+ plistPath: path.join(this.launchAgentsDir, 'com.llama.admin.plist'),
74
+ stdoutPath: path.join(this.logsDir, 'admin.stdout'),
75
+ stderrPath: path.join(this.logsDir, 'admin.stderr'),
76
+ requestTimeout: 30000,
77
+ verbose: false,
78
+ status: 'stopped',
79
+ createdAt: new Date().toISOString(),
80
+ };
81
+ }
82
+ /**
83
+ * Load admin configuration
84
+ */
85
+ async loadConfig() {
86
+ if (!(await (0, file_utils_1.fileExists)(this.configPath))) {
87
+ return null;
88
+ }
89
+ return await (0, file_utils_1.readJson)(this.configPath);
90
+ }
91
+ /**
92
+ * Save admin configuration
93
+ */
94
+ async saveConfig(config) {
95
+ await (0, file_utils_1.writeJsonAtomic)(this.configPath, config);
96
+ }
97
+ /**
98
+ * Update admin configuration with partial changes
99
+ */
100
+ async updateConfig(updates) {
101
+ const existingConfig = await this.loadConfig();
102
+ if (!existingConfig) {
103
+ throw new Error('Admin configuration not found');
104
+ }
105
+ const updatedConfig = { ...existingConfig, ...updates };
106
+ await this.saveConfig(updatedConfig);
107
+ }
108
+ /**
109
+ * Delete admin configuration
110
+ */
111
+ async deleteConfig() {
112
+ if (await (0, file_utils_1.fileExists)(this.configPath)) {
113
+ await fs.unlink(this.configPath);
114
+ }
115
+ }
116
+ /**
117
+ * Regenerate API key
118
+ */
119
+ async regenerateApiKey() {
120
+ const config = await this.loadConfig();
121
+ if (!config) {
122
+ throw new Error('Admin configuration not found');
123
+ }
124
+ const newApiKey = this.generateApiKey();
125
+ await this.updateConfig({ apiKey: newApiKey });
126
+ return newApiKey;
127
+ }
128
+ /**
129
+ * Generate plist XML content for the admin service
130
+ */
131
+ generatePlist(config) {
132
+ // Find the compiled admin-server.js file
133
+ // In dev mode (tsx), __dirname is src/lib/
134
+ // In production, __dirname is dist/lib/
135
+ // Always use the compiled dist version for launchctl
136
+ let adminServerPath;
137
+ if (__dirname.includes('/src/')) {
138
+ // Dev mode - point to dist/lib/admin-server.js
139
+ const projectRoot = path.resolve(__dirname, '../..');
140
+ adminServerPath = path.join(projectRoot, 'dist/lib/admin-server.js');
141
+ }
142
+ else {
143
+ // Production mode - already in dist/lib/
144
+ adminServerPath = path.join(__dirname, 'admin-server.js');
145
+ }
146
+ // Use the current Node.js executable path (resolves symlinks)
147
+ const nodePath = process.execPath;
148
+ const args = [
149
+ nodePath,
150
+ adminServerPath,
151
+ '--config', this.configPath,
152
+ ];
153
+ const argsXml = args.map(arg => ` <string>${arg}</string>`).join('\n');
154
+ return `<?xml version="1.0" encoding="UTF-8"?>
155
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
156
+ "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
157
+ <plist version="1.0">
158
+ <dict>
159
+ <key>Label</key>
160
+ <string>${config.label}</string>
161
+
162
+ <key>ProgramArguments</key>
163
+ <array>
164
+ ${argsXml}
165
+ </array>
166
+
167
+ <key>RunAtLoad</key>
168
+ <false/>
169
+
170
+ <key>KeepAlive</key>
171
+ <dict>
172
+ <key>Crashed</key>
173
+ <true/>
174
+ <key>SuccessfulExit</key>
175
+ <false/>
176
+ </dict>
177
+
178
+ <key>StandardOutPath</key>
179
+ <string>${config.stdoutPath}</string>
180
+
181
+ <key>StandardErrorPath</key>
182
+ <string>${config.stderrPath}</string>
183
+
184
+ <key>WorkingDirectory</key>
185
+ <string>/tmp</string>
186
+
187
+ <key>ThrottleInterval</key>
188
+ <integer>10</integer>
189
+ </dict>
190
+ </plist>
191
+ `;
192
+ }
193
+ /**
194
+ * Create and write plist file
195
+ */
196
+ async createPlist(config) {
197
+ const plistContent = this.generatePlist(config);
198
+ await (0, file_utils_1.writeFileAtomic)(config.plistPath, plistContent);
199
+ }
200
+ /**
201
+ * Delete plist file
202
+ */
203
+ async deletePlist(config) {
204
+ if (await (0, file_utils_1.fileExists)(config.plistPath)) {
205
+ await fs.unlink(config.plistPath);
206
+ }
207
+ }
208
+ /**
209
+ * Load service (register with launchctl)
210
+ */
211
+ async loadService(plistPath) {
212
+ await (0, process_utils_1.execCommand)(`launchctl load "${plistPath}"`);
213
+ }
214
+ /**
215
+ * Unload service (unregister from launchctl)
216
+ */
217
+ async unloadService(plistPath) {
218
+ try {
219
+ await (0, process_utils_1.execCommand)(`launchctl unload "${plistPath}"`);
220
+ }
221
+ catch (error) {
222
+ // Ignore errors if service is not loaded
223
+ }
224
+ }
225
+ /**
226
+ * Start service
227
+ */
228
+ async startService(label) {
229
+ await (0, process_utils_1.execCommand)(`launchctl start ${label}`);
230
+ }
231
+ /**
232
+ * Stop service
233
+ */
234
+ async stopService(label) {
235
+ await (0, process_utils_1.execCommand)(`launchctl stop ${label}`);
236
+ }
237
+ /**
238
+ * Get service status from launchctl
239
+ */
240
+ async getServiceStatus(label) {
241
+ try {
242
+ const { stdout } = await (0, process_utils_1.execAsync)(`launchctl list | grep ${label}`);
243
+ const lines = stdout.trim().split('\n');
244
+ for (const line of lines) {
245
+ const parts = line.split(/\s+/);
246
+ if (parts.length >= 3) {
247
+ const pidStr = parts[0].trim();
248
+ const exitCodeStr = parts[1].trim();
249
+ const serviceLabel = parts[2].trim();
250
+ if (serviceLabel === label) {
251
+ const pid = pidStr !== '-' ? parseInt(pidStr, 10) : null;
252
+ const exitCode = exitCodeStr !== '-' ? parseInt(exitCodeStr, 10) : null;
253
+ const isRunning = pid !== null;
254
+ return {
255
+ isRunning,
256
+ pid,
257
+ exitCode,
258
+ lastExitReason: this.interpretExitCode(exitCode),
259
+ };
260
+ }
261
+ }
262
+ }
263
+ return {
264
+ isRunning: false,
265
+ pid: null,
266
+ exitCode: null,
267
+ };
268
+ }
269
+ catch (error) {
270
+ return {
271
+ isRunning: false,
272
+ pid: null,
273
+ exitCode: null,
274
+ };
275
+ }
276
+ }
277
+ /**
278
+ * Interpret exit code to human-readable reason
279
+ */
280
+ interpretExitCode(code) {
281
+ if (code === null || code === 0)
282
+ return undefined;
283
+ if (code === -9)
284
+ return 'Force killed (SIGKILL)';
285
+ if (code === -15)
286
+ return 'Terminated (SIGTERM)';
287
+ return `Exit code: ${code}`;
288
+ }
289
+ /**
290
+ * Wait for service to start (with timeout)
291
+ */
292
+ async waitForServiceStart(label, timeoutMs = 5000) {
293
+ const startTime = Date.now();
294
+ while (Date.now() - startTime < timeoutMs) {
295
+ const status = await this.getServiceStatus(label);
296
+ if (status.isRunning) {
297
+ return true;
298
+ }
299
+ await new Promise((resolve) => setTimeout(resolve, 500));
300
+ }
301
+ return false;
302
+ }
303
+ /**
304
+ * Wait for service to stop (with timeout)
305
+ */
306
+ async waitForServiceStop(label, timeoutMs = 5000) {
307
+ const startTime = Date.now();
308
+ while (Date.now() - startTime < timeoutMs) {
309
+ const status = await this.getServiceStatus(label);
310
+ if (!status.isRunning) {
311
+ return true;
312
+ }
313
+ await new Promise((resolve) => setTimeout(resolve, 500));
314
+ }
315
+ return false;
316
+ }
317
+ /**
318
+ * Start admin service
319
+ */
320
+ async start() {
321
+ await this.initialize();
322
+ let config = await this.loadConfig();
323
+ if (!config) {
324
+ // Create default config
325
+ config = this.getDefaultConfig();
326
+ await this.saveConfig(config);
327
+ }
328
+ // Check if already running
329
+ if (config.status === 'running') {
330
+ throw new Error('Admin service is already running');
331
+ }
332
+ // Check for throttled state (exit code 78)
333
+ const currentStatus = await this.getServiceStatus(config.label);
334
+ if (currentStatus.exitCode === 78) {
335
+ // Service is throttled - clean up and start fresh
336
+ await this.unloadService(config.plistPath);
337
+ await this.deletePlist(config);
338
+ // Give launchd a moment to clean up
339
+ await new Promise((resolve) => setTimeout(resolve, 1000));
340
+ }
341
+ // Create plist
342
+ await this.createPlist(config);
343
+ // Load and start service
344
+ try {
345
+ await this.loadService(config.plistPath);
346
+ }
347
+ catch (error) {
348
+ // May already be loaded
349
+ }
350
+ await this.startService(config.label);
351
+ // Wait for startup
352
+ const started = await this.waitForServiceStart(config.label, 5000);
353
+ if (!started) {
354
+ throw new Error('Admin service failed to start');
355
+ }
356
+ // Update config
357
+ const status = await this.getServiceStatus(config.label);
358
+ await this.updateConfig({
359
+ status: 'running',
360
+ pid: status.pid || undefined,
361
+ lastStarted: new Date().toISOString(),
362
+ });
363
+ }
364
+ /**
365
+ * Stop admin service
366
+ */
367
+ async stop() {
368
+ const config = await this.loadConfig();
369
+ if (!config) {
370
+ throw new Error('Admin configuration not found');
371
+ }
372
+ if (config.status !== 'running') {
373
+ throw new Error('Admin service is not running');
374
+ }
375
+ // Unload service
376
+ await this.unloadService(config.plistPath);
377
+ // Wait for shutdown
378
+ await this.waitForServiceStop(config.label, 5000);
379
+ // Update config
380
+ await this.updateConfig({
381
+ status: 'stopped',
382
+ pid: undefined,
383
+ lastStopped: new Date().toISOString(),
384
+ });
385
+ }
386
+ /**
387
+ * Restart admin service
388
+ */
389
+ async restart() {
390
+ try {
391
+ await this.stop();
392
+ }
393
+ catch (error) {
394
+ // May not be running
395
+ }
396
+ await this.start();
397
+ }
398
+ /**
399
+ * Get admin status
400
+ */
401
+ async getStatus() {
402
+ const config = await this.loadConfig();
403
+ if (!config) {
404
+ return null;
405
+ }
406
+ const status = await this.getServiceStatus(config.label);
407
+ return { config, status };
408
+ }
409
+ }
410
+ exports.AdminManager = AdminManager;
411
+ // Export singleton instance
412
+ exports.adminManager = new AdminManager();
413
+ //# sourceMappingURL=admin-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-manager.js","sourceRoot":"","sources":["../../src/lib/admin-manager.ts"],"names":[],"mappings":"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"}