@appkit/llamacpp-cli 1.1.1 → 1.2.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/CHANGELOG.md +9 -0
- package/README.md +95 -16
- package/dist/cli.js +38 -8
- package/dist/cli.js.map +1 -1
- package/dist/commands/create.d.ts +10 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +152 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/list.js +1 -1
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/logs.d.ts.map +1 -1
- package/dist/commands/logs.js +17 -3
- package/dist/commands/logs.js.map +1 -1
- package/dist/commands/ps.js +1 -1
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/pull.js +1 -1
- package/dist/commands/pull.js.map +1 -1
- package/dist/commands/run.d.ts +5 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +22 -3
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/server-show.d.ts +2 -0
- package/dist/commands/server-show.d.ts.map +1 -0
- package/dist/commands/server-show.js +120 -0
- package/dist/commands/server-show.js.map +1 -0
- package/dist/commands/start.d.ts +1 -10
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +31 -121
- package/dist/commands/start.js.map +1 -1
- package/dist/lib/config-generator.d.ts +1 -2
- package/dist/lib/config-generator.d.ts.map +1 -1
- package/dist/lib/config-generator.js +3 -6
- package/dist/lib/config-generator.js.map +1 -1
- package/dist/lib/launchctl-manager.d.ts.map +1 -1
- package/dist/lib/launchctl-manager.js +3 -4
- package/dist/lib/launchctl-manager.js.map +1 -1
- package/dist/types/server-config.d.ts +1 -2
- package/dist/types/server-config.d.ts.map +1 -1
- package/dist/types/server-config.js.map +1 -1
- package/dist/utils/log-parser.d.ts +10 -0
- package/dist/utils/log-parser.d.ts.map +1 -1
- package/dist/utils/log-parser.js +51 -3
- package/dist/utils/log-parser.js.map +1 -1
- package/package.json +1 -1
- package/src/cli.ts +38 -8
- package/src/commands/create.ts +143 -0
- package/src/commands/list.ts +1 -1
- package/src/commands/logs.ts +20 -3
- package/src/commands/ps.ts +1 -1
- package/src/commands/pull.ts +1 -1
- package/src/commands/run.ts +27 -3
- package/src/commands/server-show.ts +125 -0
- package/src/commands/start.ts +39 -112
- package/src/lib/config-generator.ts +4 -8
- package/src/lib/launchctl-manager.ts +4 -3
- package/src/types/server-config.ts +1 -2
- package/src/utils/log-parser.ts +54 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [1.2.0](https://github.com/appkitstudio/llamacpp-cli/compare/v1.1.1...v1.2.0) (2025-12-09)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add 'show' command to display server configuration and status details ([1f615eb](https://github.com/appkitstudio/llamacpp-cli/commit/1f615ebe369ae9d61b087a79fc17787e4a56d3b5))
|
|
11
|
+
* add support for one-shot message mode in 'run' command ([853d62a](https://github.com/appkitstudio/llamacpp-cli/commit/853d62ab9ef9ec8c4e45213f00453d7b28648124))
|
|
12
|
+
* implement 'create' command for server management and update related documentation ([39996e2](https://github.com/appkitstudio/llamacpp-cli/commit/39996e26f412dd593d9c253322a90d17907dfff4))
|
|
13
|
+
|
|
5
14
|
## [1.1.1](https://github.com/appkitstudio/llamacpp-cli/compare/v1.1.0...v1.1.1) (2025-12-09)
|
|
6
15
|
|
|
7
16
|
|
package/README.md
CHANGED
|
@@ -70,8 +70,8 @@ llamacpp pull bartowski/Llama-3.2-3B-Instruct-GGUF/llama-3.2-3b-instruct-q4_k_m.
|
|
|
70
70
|
# List local models
|
|
71
71
|
llamacpp ls
|
|
72
72
|
|
|
73
|
-
#
|
|
74
|
-
llamacpp server
|
|
73
|
+
# Create and start a server (auto-assigns port, uses smart defaults)
|
|
74
|
+
llamacpp server create llama-3.2-3b-instruct-q4_k_m.gguf
|
|
75
75
|
|
|
76
76
|
# View running servers
|
|
77
77
|
llamacpp ps
|
|
@@ -79,9 +79,15 @@ llamacpp ps
|
|
|
79
79
|
# Chat with your model interactively
|
|
80
80
|
llamacpp server run llama-3.2-3b
|
|
81
81
|
|
|
82
|
+
# Or send a single message (non-interactive)
|
|
83
|
+
llamacpp server run llama-3.2-3b -m "What is the capital of France?"
|
|
84
|
+
|
|
82
85
|
# Stop a server
|
|
83
86
|
llamacpp server stop llama-3.2-3b
|
|
84
87
|
|
|
88
|
+
# Start a stopped server
|
|
89
|
+
llamacpp server start llama-3.2-3b
|
|
90
|
+
|
|
85
91
|
# View logs
|
|
86
92
|
llamacpp server logs llama-3.2-3b -f
|
|
87
93
|
```
|
|
@@ -126,11 +132,11 @@ The server is fully compatible with OpenAI's API format, so you can use it with
|
|
|
126
132
|
|
|
127
133
|
### Example Output
|
|
128
134
|
|
|
129
|
-
|
|
135
|
+
Creating a server:
|
|
130
136
|
```
|
|
131
|
-
$ llamacpp server
|
|
137
|
+
$ llamacpp server create llama-3.2-3b-instruct-q4_k_m.gguf
|
|
132
138
|
|
|
133
|
-
✓ Server started successfully!
|
|
139
|
+
✓ Server created and started successfully!
|
|
134
140
|
|
|
135
141
|
Model: llama-3.2-3b-instruct-q4_k_m.gguf
|
|
136
142
|
Port: 9000
|
|
@@ -165,6 +171,12 @@ Assistant: The capital of France is Paris...
|
|
|
165
171
|
You: exit
|
|
166
172
|
```
|
|
167
173
|
|
|
174
|
+
One-shot message:
|
|
175
|
+
```
|
|
176
|
+
$ llamacpp server run llama-3.2-3b -m "What is the capital of France?"
|
|
177
|
+
Assistant: The capital of France is Paris...
|
|
178
|
+
```
|
|
179
|
+
|
|
168
180
|
## Commands
|
|
169
181
|
|
|
170
182
|
### `llamacpp ls`
|
|
@@ -252,12 +264,12 @@ Shows:
|
|
|
252
264
|
|
|
253
265
|
## Server Management
|
|
254
266
|
|
|
255
|
-
### `llamacpp server
|
|
256
|
-
|
|
267
|
+
### `llamacpp server create <model> [options]`
|
|
268
|
+
Create and start a new llama-server instance.
|
|
257
269
|
|
|
258
270
|
```bash
|
|
259
|
-
llamacpp server
|
|
260
|
-
llamacpp server
|
|
271
|
+
llamacpp server create llama-3.2-3b-instruct-q4_k_m.gguf
|
|
272
|
+
llamacpp server create llama-3.2-3b-instruct-q4_k_m.gguf --port 8080 --ctx-size 16384 --verbose
|
|
261
273
|
```
|
|
262
274
|
|
|
263
275
|
**Options:**
|
|
@@ -265,19 +277,60 @@ llamacpp server start llama-3.2-3b-instruct-q4_k_m.gguf --port 8080 --ctx-size 1
|
|
|
265
277
|
- `-t, --threads <number>` - Thread count (default: half of CPU cores)
|
|
266
278
|
- `-c, --ctx-size <number>` - Context size (default: based on model size)
|
|
267
279
|
- `-g, --gpu-layers <number>` - GPU layers (default: 60)
|
|
280
|
+
- `-v, --verbose` - Enable verbose HTTP logging (detailed request/response info)
|
|
281
|
+
|
|
282
|
+
### `llamacpp server show <identifier>`
|
|
283
|
+
Show detailed configuration and status information for a server.
|
|
284
|
+
|
|
285
|
+
```bash
|
|
286
|
+
llamacpp server show llama-3.2-3b # By partial name
|
|
287
|
+
llamacpp server show 9000 # By port
|
|
288
|
+
llamacpp server show llama-3-2-3b # By server ID
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
**Displays:**
|
|
292
|
+
- Server ID, model name, and path
|
|
293
|
+
- Current status (running/stopped/crashed)
|
|
294
|
+
- Port and PID
|
|
295
|
+
- Runtime info (uptime, memory usage)
|
|
296
|
+
- Configuration (threads, context size, GPU layers, verbose logging)
|
|
297
|
+
- Timestamps (created, last started/stopped)
|
|
298
|
+
- System paths (plist file, log files)
|
|
299
|
+
- Quick commands for common next actions
|
|
300
|
+
|
|
301
|
+
**Identifiers:** Port number, server ID, partial model name
|
|
302
|
+
|
|
303
|
+
### `llamacpp server start <identifier>`
|
|
304
|
+
Start an existing stopped server.
|
|
305
|
+
|
|
306
|
+
```bash
|
|
307
|
+
llamacpp server start llama-3.2-3b # By partial name
|
|
308
|
+
llamacpp server start 9000 # By port
|
|
309
|
+
llamacpp server start llama-3-2-3b # By server ID
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
**Identifiers:** Port number, server ID, partial model name, or model filename
|
|
268
313
|
|
|
269
|
-
### `llamacpp server run <identifier
|
|
270
|
-
Run an interactive chat session with a model.
|
|
314
|
+
### `llamacpp server run <identifier> [options]`
|
|
315
|
+
Run an interactive chat session with a model, or send a single message.
|
|
271
316
|
|
|
272
317
|
```bash
|
|
318
|
+
# Interactive mode (REPL)
|
|
273
319
|
llamacpp server run llama-3.2-3b # By partial name
|
|
274
320
|
llamacpp server run 9000 # By port
|
|
275
321
|
llamacpp server run llama-3-2-3b # By server ID
|
|
322
|
+
|
|
323
|
+
# One-shot mode (single message and exit)
|
|
324
|
+
llamacpp server run llama-3.2-3b -m "What is the capital of France?"
|
|
325
|
+
llamacpp server run 9000 --message "Explain quantum computing in simple terms"
|
|
276
326
|
```
|
|
277
327
|
|
|
328
|
+
**Options:**
|
|
329
|
+
- `-m, --message <text>` - Send a single message and exit (non-interactive mode)
|
|
330
|
+
|
|
278
331
|
**Identifiers:** Port number, server ID, partial model name, or model filename
|
|
279
332
|
|
|
280
|
-
|
|
333
|
+
In interactive mode, type `exit` or press Ctrl+C to end the session.
|
|
281
334
|
|
|
282
335
|
### `llamacpp server stop <identifier>`
|
|
283
336
|
Stop a running server by model name, port, or ID.
|
|
@@ -298,10 +351,19 @@ llamacpp server rm 9000
|
|
|
298
351
|
### `llamacpp server logs <identifier> [options]`
|
|
299
352
|
View server logs with smart filtering.
|
|
300
353
|
|
|
354
|
+
**Without `--verbose` (default):**
|
|
355
|
+
```bash
|
|
356
|
+
llamacpp server logs llama-3.2-3b
|
|
357
|
+
# Output: 2025-12-09 18:02:23 POST /v1/chat/completions 127.0.0.1 200
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
**With `--verbose` enabled on server:**
|
|
301
361
|
```bash
|
|
302
|
-
# Compact one-liner format (default)
|
|
303
362
|
llamacpp server logs llama-3.2-3b
|
|
304
363
|
# Output: 2025-12-09 18:02:23 POST /v1/chat/completions 127.0.0.1 200 "What is..." 305 22 1036
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
**More examples:**
|
|
305
367
|
|
|
306
368
|
# Full HTTP JSON request/response
|
|
307
369
|
llamacpp server logs llama-3.2-3b --http
|
|
@@ -331,12 +393,29 @@ llamacpp server logs llama-3.2-3b --filter "error|warning"
|
|
|
331
393
|
- `--filter <pattern>` - Custom grep pattern for filtering
|
|
332
394
|
- `--stdout` - Show stdout instead of stderr (rarely needed)
|
|
333
395
|
|
|
334
|
-
**
|
|
396
|
+
**Output Formats:**
|
|
397
|
+
|
|
398
|
+
Non-verbose servers (default):
|
|
399
|
+
```
|
|
400
|
+
TIMESTAMP METHOD ENDPOINT IP STATUS
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
Verbose servers (`--verbose` flag on create):
|
|
335
404
|
```
|
|
336
405
|
TIMESTAMP METHOD ENDPOINT IP STATUS "MESSAGE..." TOKENS_IN TOKENS_OUT TIME_MS
|
|
337
406
|
```
|
|
338
407
|
|
|
339
|
-
The compact format shows one line per request
|
|
408
|
+
The compact format shows one line per HTTP request. Verbose servers include:
|
|
409
|
+
- User's message (first 50 characters)
|
|
410
|
+
- Token counts (prompt tokens in, completion tokens out)
|
|
411
|
+
- Total response time in milliseconds
|
|
412
|
+
|
|
413
|
+
**Note:** To get detailed logs, create your server with the `--verbose` flag:
|
|
414
|
+
```bash
|
|
415
|
+
llamacpp server create model.gguf --verbose
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
Use `--http` to see full request/response JSON, or `--verbose` option to see all internal server logs.
|
|
340
419
|
|
|
341
420
|
## Configuration
|
|
342
421
|
|
|
@@ -401,7 +480,7 @@ brew install llama.cpp
|
|
|
401
480
|
### Port already in use
|
|
402
481
|
llamacpp-cli will automatically find the next available port. Or specify a custom port:
|
|
403
482
|
```bash
|
|
404
|
-
llamacpp server
|
|
483
|
+
llamacpp server create model.gguf --port 8080
|
|
405
484
|
```
|
|
406
485
|
|
|
407
486
|
### Server won't start
|
package/dist/cli.js
CHANGED
|
@@ -8,6 +8,7 @@ const commander_1 = require("commander");
|
|
|
8
8
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
9
|
const list_1 = require("./commands/list");
|
|
10
10
|
const ps_1 = require("./commands/ps");
|
|
11
|
+
const create_1 = require("./commands/create");
|
|
11
12
|
const start_1 = require("./commands/start");
|
|
12
13
|
const run_1 = require("./commands/run");
|
|
13
14
|
const stop_1 = require("./commands/stop");
|
|
@@ -17,6 +18,7 @@ const rm_1 = require("./commands/rm");
|
|
|
17
18
|
const logs_1 = require("./commands/logs");
|
|
18
19
|
const search_1 = require("./commands/search");
|
|
19
20
|
const show_1 = require("./commands/show");
|
|
21
|
+
const server_show_1 = require("./commands/server-show");
|
|
20
22
|
const program = new commander_1.Command();
|
|
21
23
|
program
|
|
22
24
|
.name('llamacpp')
|
|
@@ -114,20 +116,47 @@ program
|
|
|
114
116
|
const server = program
|
|
115
117
|
.command('server')
|
|
116
118
|
.description('Manage llama-server instances');
|
|
117
|
-
//
|
|
119
|
+
// Create a new server
|
|
118
120
|
server
|
|
119
|
-
.command('
|
|
120
|
-
.description('
|
|
121
|
+
.command('create')
|
|
122
|
+
.description('Create and start a new llama-server instance')
|
|
121
123
|
.argument('<model>', 'Model filename or path')
|
|
122
124
|
.option('-p, --port <number>', 'Port number (default: auto-assign)', parseInt)
|
|
123
125
|
.option('-t, --threads <number>', 'Thread count (default: auto)', parseInt)
|
|
124
126
|
.option('-c, --ctx-size <number>', 'Context size (default: auto)', parseInt)
|
|
125
127
|
.option('-g, --gpu-layers <number>', 'GPU layers (default: 60)', parseInt)
|
|
126
|
-
.option('-v, --
|
|
127
|
-
.option('--no-log-timestamps', 'Disable timestamps in log messages')
|
|
128
|
+
.option('-v, --verbose', 'Enable verbose HTTP logging (detailed request/response info)')
|
|
128
129
|
.action(async (model, options) => {
|
|
129
130
|
try {
|
|
130
|
-
await (0,
|
|
131
|
+
await (0, create_1.createCommand)(model, options);
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
console.error(chalk_1.default.red('❌ Error:'), error.message);
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
// Show server details
|
|
139
|
+
server
|
|
140
|
+
.command('show')
|
|
141
|
+
.description('Show server configuration details')
|
|
142
|
+
.argument('<identifier>', 'Server identifier: port (9000), server ID (llama-3-2-3b), or partial model name')
|
|
143
|
+
.action(async (identifier) => {
|
|
144
|
+
try {
|
|
145
|
+
await (0, server_show_1.serverShowCommand)(identifier);
|
|
146
|
+
}
|
|
147
|
+
catch (error) {
|
|
148
|
+
console.error(chalk_1.default.red('❌ Error:'), error.message);
|
|
149
|
+
process.exit(1);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
// Start an existing server
|
|
153
|
+
server
|
|
154
|
+
.command('start')
|
|
155
|
+
.description('Start an existing stopped server')
|
|
156
|
+
.argument('<identifier>', 'Server identifier: port (9000), server ID (llama-3-2-3b), or partial model name')
|
|
157
|
+
.action(async (identifier) => {
|
|
158
|
+
try {
|
|
159
|
+
await (0, start_1.startCommand)(identifier);
|
|
131
160
|
}
|
|
132
161
|
catch (error) {
|
|
133
162
|
console.error(chalk_1.default.red('❌ Error:'), error.message);
|
|
@@ -139,9 +168,10 @@ server
|
|
|
139
168
|
.command('run')
|
|
140
169
|
.description('Run an interactive chat session with a model')
|
|
141
170
|
.argument('<model>', 'Model identifier: port (9000), server ID (llama-3-2-3b), partial name, or model filename')
|
|
142
|
-
.
|
|
171
|
+
.option('-m, --message <text>', 'Send a single message and exit (non-interactive mode)')
|
|
172
|
+
.action(async (model, options) => {
|
|
143
173
|
try {
|
|
144
|
-
await (0, run_1.runCommand)(model);
|
|
174
|
+
await (0, run_1.runCommand)(model, options);
|
|
145
175
|
}
|
|
146
176
|
catch (error) {
|
|
147
177
|
console.error(chalk_1.default.red('❌ Error:'), error.message);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;AAEA,yCAAoC;AACpC,kDAA0B;AAC1B,0CAA8C;AAC9C,sCAA0C;AAC1C,4CAAgD;AAChD,wCAA4C;AAC5C,0CAA8C;AAC9C,8CAAkD;AAClD,0CAA8C;AAC9C,sCAA0C;AAC1C,0CAA8C;AAC9C,8CAAkD;AAClD,0CAA8C;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface CreateOptions {
|
|
2
|
+
port?: number;
|
|
3
|
+
threads?: number;
|
|
4
|
+
ctxSize?: number;
|
|
5
|
+
gpuLayers?: number;
|
|
6
|
+
verbose?: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare function createCommand(model: string, options: CreateOptions): Promise<void>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=create.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAYA,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA0HxF"}
|
|
@@ -0,0 +1,152 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createCommand = createCommand;
|
|
40
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
const model_scanner_1 = require("../lib/model-scanner");
|
|
43
|
+
const state_manager_1 = require("../lib/state-manager");
|
|
44
|
+
const config_generator_1 = require("../lib/config-generator");
|
|
45
|
+
const port_manager_1 = require("../lib/port-manager");
|
|
46
|
+
const launchctl_manager_1 = require("../lib/launchctl-manager");
|
|
47
|
+
const status_checker_1 = require("../lib/status-checker");
|
|
48
|
+
const process_utils_1 = require("../utils/process-utils");
|
|
49
|
+
const format_utils_1 = require("../utils/format-utils");
|
|
50
|
+
const file_utils_1 = require("../utils/file-utils");
|
|
51
|
+
async function createCommand(model, options) {
|
|
52
|
+
// Initialize state manager
|
|
53
|
+
await state_manager_1.stateManager.initialize();
|
|
54
|
+
// 1. Check if llama-server exists
|
|
55
|
+
if (!(await (0, process_utils_1.commandExists)('llama-server'))) {
|
|
56
|
+
throw new Error('llama-server not found. Install with: brew install llama.cpp');
|
|
57
|
+
}
|
|
58
|
+
// 2. Resolve model path
|
|
59
|
+
const modelPath = await model_scanner_1.modelScanner.resolveModelPath(model);
|
|
60
|
+
if (!modelPath) {
|
|
61
|
+
throw new Error(`Model not found: ${model}\n\nRun: llamacpp list`);
|
|
62
|
+
}
|
|
63
|
+
const modelName = path.basename(modelPath);
|
|
64
|
+
// 3. Check if server already exists for this model
|
|
65
|
+
const existingServer = await state_manager_1.stateManager.serverExistsForModel(modelPath);
|
|
66
|
+
if (existingServer) {
|
|
67
|
+
throw new Error(`Server already exists for ${modelName}\n\nUse: llamacpp server start ${modelName}`);
|
|
68
|
+
}
|
|
69
|
+
// 4. Get model size
|
|
70
|
+
const modelSize = await model_scanner_1.modelScanner.getModelSize(modelName);
|
|
71
|
+
if (!modelSize) {
|
|
72
|
+
throw new Error(`Failed to read model file: ${modelPath}`);
|
|
73
|
+
}
|
|
74
|
+
// 5. Determine port
|
|
75
|
+
let port;
|
|
76
|
+
if (options.port) {
|
|
77
|
+
port_manager_1.portManager.validatePort(options.port);
|
|
78
|
+
const available = await port_manager_1.portManager.isPortAvailable(options.port);
|
|
79
|
+
if (!available) {
|
|
80
|
+
throw new Error(`Port ${options.port} is already in use`);
|
|
81
|
+
}
|
|
82
|
+
port = options.port;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
port = await port_manager_1.portManager.findAvailablePort();
|
|
86
|
+
}
|
|
87
|
+
// 6. Generate server configuration
|
|
88
|
+
console.log(chalk_1.default.blue(`🚀 Creating server for ${modelName}\n`));
|
|
89
|
+
const serverOptions = {
|
|
90
|
+
port: options.port,
|
|
91
|
+
threads: options.threads,
|
|
92
|
+
ctxSize: options.ctxSize,
|
|
93
|
+
gpuLayers: options.gpuLayers,
|
|
94
|
+
verbose: options.verbose,
|
|
95
|
+
};
|
|
96
|
+
const config = await config_generator_1.configGenerator.generateConfig(modelPath, modelName, modelSize, port, serverOptions);
|
|
97
|
+
// Display configuration
|
|
98
|
+
console.log(chalk_1.default.dim(`Model: ${modelPath}`));
|
|
99
|
+
console.log(chalk_1.default.dim(`Size: ${(0, format_utils_1.formatBytes)(modelSize)}`));
|
|
100
|
+
console.log(chalk_1.default.dim(`Port: ${config.port}${options.port ? '' : ' (auto-assigned)'}`));
|
|
101
|
+
console.log(chalk_1.default.dim(`Threads: ${config.threads}`));
|
|
102
|
+
console.log(chalk_1.default.dim(`Context Size: ${config.ctxSize}`));
|
|
103
|
+
console.log(chalk_1.default.dim(`GPU Layers: ${config.gpuLayers}`));
|
|
104
|
+
console.log(chalk_1.default.dim(`Verbose Logging: ${config.verbose ? 'enabled' : 'disabled'}`));
|
|
105
|
+
console.log();
|
|
106
|
+
// 7. Ensure log directory exists
|
|
107
|
+
await (0, file_utils_1.ensureDir)(path.dirname(config.stdoutPath));
|
|
108
|
+
// 8. Create plist file
|
|
109
|
+
console.log(chalk_1.default.dim('Creating launchctl service...'));
|
|
110
|
+
await launchctl_manager_1.launchctlManager.createPlist(config);
|
|
111
|
+
// 9. Load service
|
|
112
|
+
try {
|
|
113
|
+
await launchctl_manager_1.launchctlManager.loadService(config.plistPath);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
// Clean up plist if load fails
|
|
117
|
+
await launchctl_manager_1.launchctlManager.deletePlist(config.plistPath);
|
|
118
|
+
throw new Error(`Failed to load service: ${error.message}`);
|
|
119
|
+
}
|
|
120
|
+
// 10. Start service
|
|
121
|
+
try {
|
|
122
|
+
await launchctl_manager_1.launchctlManager.startService(config.label);
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
// Clean up if start fails
|
|
126
|
+
await launchctl_manager_1.launchctlManager.unloadService(config.plistPath);
|
|
127
|
+
await launchctl_manager_1.launchctlManager.deletePlist(config.plistPath);
|
|
128
|
+
throw new Error(`Failed to start service: ${error.message}`);
|
|
129
|
+
}
|
|
130
|
+
// 11. Wait for startup
|
|
131
|
+
console.log(chalk_1.default.dim('Waiting for server to start...'));
|
|
132
|
+
const started = await launchctl_manager_1.launchctlManager.waitForServiceStart(config.label, 5000);
|
|
133
|
+
if (!started) {
|
|
134
|
+
// Clean up if startup fails
|
|
135
|
+
await launchctl_manager_1.launchctlManager.stopService(config.label);
|
|
136
|
+
await launchctl_manager_1.launchctlManager.unloadService(config.plistPath);
|
|
137
|
+
await launchctl_manager_1.launchctlManager.deletePlist(config.plistPath);
|
|
138
|
+
throw new Error('Server failed to start. Check logs with: llamacpp server logs --errors');
|
|
139
|
+
}
|
|
140
|
+
// 12. Update config with running status
|
|
141
|
+
const updatedConfig = await status_checker_1.statusChecker.updateServerStatus(config);
|
|
142
|
+
// 13. Save server config
|
|
143
|
+
await state_manager_1.stateManager.saveServerConfig(updatedConfig);
|
|
144
|
+
// 14. Display success message
|
|
145
|
+
console.log();
|
|
146
|
+
console.log(chalk_1.default.green('✅ Server created and started successfully!'));
|
|
147
|
+
console.log();
|
|
148
|
+
console.log(chalk_1.default.dim(`Connect: http://localhost:${config.port}`));
|
|
149
|
+
console.log(chalk_1.default.dim(`View logs: llamacpp server logs ${config.id}`));
|
|
150
|
+
console.log(chalk_1.default.dim(`Stop: llamacpp server stop ${config.id}`));
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=create.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/list.js
CHANGED
|
@@ -32,6 +32,6 @@ async function listCommand() {
|
|
|
32
32
|
console.log(table.toString());
|
|
33
33
|
const totalSize = models.reduce((sum, m) => sum + m.size, 0);
|
|
34
34
|
console.log(chalk_1.default.dim(`\nTotal: ${models.length} models (${(0, format_utils_1.formatBytes)(totalSize)})`));
|
|
35
|
-
console.log(chalk_1.default.dim(`\
|
|
35
|
+
console.log(chalk_1.default.dim(`\nCreate a server: llamacpp server create <model-filename>`));
|
|
36
36
|
}
|
|
37
37
|
//# sourceMappingURL=list.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;;;;AAMA,kCA8BC;AApCD,kDAA0B;AAC1B,4DAA+B;AAC/B,wDAAoD;AACpD,wDAAqE;AACrE,oDAAmD;AAE5C,KAAK,UAAU,WAAW;IAC/B,MAAM,SAAS,GAAG,IAAA,yBAAY,GAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,SAAS,IAAI,CAAC,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,UAAU,EAAE,CAAC;IAE/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAC;QACzF,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;QACnC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KACxB,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,aAAa;YACnB,IAAA,8BAAe,EAAC,KAAK,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,YAAY,IAAA,0BAAW,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;;;;AAMA,kCA8BC;AApCD,kDAA0B;AAC1B,4DAA+B;AAC/B,wDAAoD;AACpD,wDAAqE;AACrE,oDAAmD;AAE5C,KAAK,UAAU,WAAW;IAC/B,MAAM,SAAS,GAAG,IAAA,yBAAY,GAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,SAAS,IAAI,CAAC,CAAC,CAAC;IAEjE,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,UAAU,EAAE,CAAC;IAE/C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC,CAAC;QACzF,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,oBAAK,CAAC;QACtB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC;QACnC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;KACxB,CAAC,CAAC;IAEH,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC;YACT,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,aAAa;YACnB,IAAA,8BAAe,EAAC,KAAK,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE9B,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,MAAM,CAAC,MAAM,YAAY,IAAA,0BAAW,EAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACvF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -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,
|
|
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"}
|
package/dist/commands/logs.js
CHANGED
|
@@ -89,7 +89,12 @@ async function logsCommand(identifier, options) {
|
|
|
89
89
|
useCompactMode = true;
|
|
90
90
|
}
|
|
91
91
|
console.log(chalk_1.default.blue(`📋 Logs for ${server.modelName} (${logType}${filterDesc})`));
|
|
92
|
-
console.log(chalk_1.default.dim(` ${logPath}
|
|
92
|
+
console.log(chalk_1.default.dim(` ${logPath}`));
|
|
93
|
+
// Show subtle note if verbose logging is not enabled
|
|
94
|
+
if (!server.verbose && !options.verbose && !options.errors && !options.http && !options.filter) {
|
|
95
|
+
console.log(chalk_1.default.dim(` verbosity is disabled`));
|
|
96
|
+
}
|
|
97
|
+
console.log();
|
|
93
98
|
if (options.follow) {
|
|
94
99
|
// Follow logs in real-time with optional filtering
|
|
95
100
|
if (useCompactMode) {
|
|
@@ -153,14 +158,23 @@ async function logsCommand(identifier, options) {
|
|
|
153
158
|
if (useCompactMode) {
|
|
154
159
|
// Compact mode: read file and parse
|
|
155
160
|
try {
|
|
156
|
-
|
|
161
|
+
// Use large multiplier to account for verbose debug output between requests
|
|
162
|
+
const command = `tail -n ${lines * 100} "${logPath}" | grep -E "log_server_r"`;
|
|
157
163
|
const output = await (0, process_utils_1.execCommand)(command);
|
|
158
164
|
const logLines = output.split('\n').filter((l) => l.trim());
|
|
165
|
+
const compactLines = [];
|
|
159
166
|
for (const line of logLines) {
|
|
160
167
|
log_parser_1.logParser.processLine(line, (compactLine) => {
|
|
161
|
-
|
|
168
|
+
compactLines.push(compactLine);
|
|
162
169
|
});
|
|
163
170
|
}
|
|
171
|
+
// Flush any remaining buffered logs (handles simple format)
|
|
172
|
+
log_parser_1.logParser.flush((compactLine) => {
|
|
173
|
+
compactLines.push(compactLine);
|
|
174
|
+
});
|
|
175
|
+
// Show only the last N compact lines
|
|
176
|
+
const limitedLines = compactLines.slice(-lines);
|
|
177
|
+
limitedLines.forEach((line) => console.log(line));
|
|
164
178
|
}
|
|
165
179
|
catch (error) {
|
|
166
180
|
throw new Error(`Failed to read logs: ${error.message}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,
|
|
1
|
+
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,kCAqKC;AAxLD,kDAA0B;AAC1B,iDAAsC;AACtC,mDAAqC;AAErC,wDAAoD;AACpD,oDAAiD;AACjD,0DAAqD;AACrD,oDAAgD;AAYzC,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,OAAoB;IACxE,cAAc;IACd,MAAM,MAAM,GAAG,MAAM,4BAAY,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,UAAU,sBAAsB,CAAC,CAAC;IACzE,CAAC;IAED,+DAA+D;IAC/D,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;IACvE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;IAErD,2BAA2B;IAC3B,IAAI,CAAC,CAAC,MAAM,IAAA,uBAAU,EAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,UAAU,OAAO,cAAc,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,IAAI,aAAa,GAAkB,IAAI,CAAC;IACxC,IAAI,UAAU,GAAG,EAAE,CAAC;IACpB,IAAI,cAAc,GAAG,KAAK,CAAC;IAE3B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACpB,8BAA8B;QAC9B,UAAU,GAAG,iBAAiB,CAAC;IACjC,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,mBAAmB;QACnB,aAAa,GAAG,wCAAwC,CAAC;QACzD,UAAU,GAAG,gBAAgB,CAAC;IAChC,CAAC;SAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACxB,sBAAsB;QACtB,aAAa,GAAG,cAAc,CAAC;QAC/B,UAAU,GAAG,cAAc,CAAC;IAC9B,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,gBAAgB;QAChB,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,UAAU,GAAG,aAAa,OAAO,CAAC,MAAM,GAAG,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,aAAa,GAAG,cAAc,CAAC;QAC/B,UAAU,GAAG,YAAY,CAAC;QAC1B,cAAc,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,SAAS,KAAK,OAAO,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;IAExC,qDAAqD;IACrD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,mDAAmD;QACnD,IAAI,cAAc,EAAE,CAAC;YACnB,qDAAqD;YACrD,MAAM,WAAW,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;YACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,eAAe,CAAC;gBAClC,KAAK,EAAE,WAAW,CAAC,MAAM;gBACzB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;YAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBAClC,sBAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;wBAC1C,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBAC3B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,2BAA2B;YAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACxB,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,aAAa,EAAE,CAAC;YACzB,uCAAuC;YACvC,MAAM,WAAW,GAAG,IAAA,qBAAK,EAAC,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,OAAO,gCAAgC,aAAa,GAAG,CAAC,EAAE;gBAC3G,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,2BAA2B;YAC3B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACxB,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,uBAAuB;YACvB,MAAM,IAAI,GAAG,IAAA,qBAAK,EAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE;gBAC1C,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;YAEH,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACxB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,4CAA4C;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QAElC,IAAI,cAAc,EAAE,CAAC;YACnB,oCAAoC;YACpC,IAAI,CAAC;gBACH,4EAA4E;gBAC5E,MAAM,OAAO,GAAG,WAAW,KAAK,GAAG,GAAG,KAAK,OAAO,4BAA4B,CAAC;gBAC/E,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAAC,OAAO,CAAC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBAE5D,MAAM,YAAY,GAAa,EAAE,CAAC;gBAClC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,sBAAS,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;wBAC1C,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,4DAA4D;gBAC5D,sBAAS,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE;oBAC9B,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC,CAAC,CAAC;gBAEH,qCAAqC;gBACrC,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChD,YAAY,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAyB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,IAAI,CAAC;gBACH,IAAI,OAAe,CAAC;gBAEpB,IAAI,aAAa,EAAE,CAAC;oBAClB,yBAAyB;oBACzB,OAAO,GAAG,WAAW,KAAK,KAAK,OAAO,gBAAgB,aAAa,GAAG,CAAC;gBACzE,CAAC;qBAAM,CAAC;oBACN,YAAY;oBACZ,OAAO,GAAG,WAAW,KAAK,KAAK,OAAO,GAAG,CAAC;gBAC5C,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,IAAA,2BAAW,EAAC,OAAO,CAAC,CAAC;gBAC1C,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,wBAAyB,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
|
package/dist/commands/ps.js
CHANGED
|
@@ -14,7 +14,7 @@ async function psCommand() {
|
|
|
14
14
|
const servers = await state_manager_1.stateManager.getAllServers();
|
|
15
15
|
if (servers.length === 0) {
|
|
16
16
|
console.log(chalk_1.default.yellow('No servers configured.'));
|
|
17
|
-
console.log(chalk_1.default.dim('\
|
|
17
|
+
console.log(chalk_1.default.dim('\nCreate a server: llamacpp server create <model-filename>'));
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
20
|
// Update all server statuses
|
package/dist/commands/ps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ps.js","sourceRoot":"","sources":["../../src/commands/ps.ts"],"names":[],"mappings":";;;;;AAOA,8BAkFC;AAzFD,kDAA0B;AAC1B,4DAA+B;AAC/B,wDAAoD;AACpD,0DAAsD;AACtD,wDAAkE;AAClE,0DAA0D;AAEnD,KAAK,UAAU,SAAS;IAC7B,MAAM,OAAO,GAAG,MAAM,4BAAY,CAAC,aAAa,EAAE,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"ps.js","sourceRoot":"","sources":["../../src/commands/ps.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/pull.js
CHANGED
|
@@ -24,7 +24,7 @@ async function pullCommand(identifier, options) {
|
|
|
24
24
|
try {
|
|
25
25
|
const modelPath = await model_downloader_1.modelDownloader.downloadModel(parsed.repo, filename);
|
|
26
26
|
console.log();
|
|
27
|
-
console.log(chalk_1.default.dim(`
|
|
27
|
+
console.log(chalk_1.default.dim(`Create server: llamacpp server create ${filename}`));
|
|
28
28
|
}
|
|
29
29
|
catch (error) {
|
|
30
30
|
if (error.message.includes('interrupted')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":";;;;;AAOA,kCAgCC;AAvCD,kDAA0B;AAC1B,8DAA0D;AAMnD,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,OAAoB;IACxE,8BAA8B;IAC9B,MAAM,MAAM,GAAG,kCAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE7D,gEAAgE;IAChE,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,wCAAwC;YACxC,oDAAoD;YACpD,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,QAAQ,IAAI,OAAO,CAAC;IACtB,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,kCAAe,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE7E,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":";;;;;AAOA,kCAgCC;AAvCD,kDAA0B;AAC1B,8DAA0D;AAMnD,KAAK,UAAU,WAAW,CAAC,UAAkB,EAAE,OAAoB;IACxE,8BAA8B;IAC9B,MAAM,MAAM,GAAG,kCAAe,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IAE7D,gEAAgE;IAChE,IAAI,QAAQ,GAAG,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC;IAE3C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,wCAAwC;YACxC,oDAAoD;YACpD,yDAAyD,CAC1D,CAAC;IACJ,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9C,QAAQ,IAAI,OAAO,CAAC;IACtB,CAAC;IAED,qBAAqB;IACrB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,kCAAe,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAE7E,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yCAAyC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|