peerllm-host-cli 2.1.10 → 2.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.
Files changed (42) hide show
  1. package/dist/cli/commands/config.d.ts.map +1 -1
  2. package/dist/cli/commands/config.js +1 -0
  3. package/dist/cli/commands/config.js.map +1 -1
  4. package/dist/cli/commands/rest.d.ts +3 -0
  5. package/dist/cli/commands/rest.d.ts.map +1 -0
  6. package/dist/cli/commands/rest.js +67 -0
  7. package/dist/cli/commands/rest.js.map +1 -0
  8. package/dist/cli/index.js +4 -0
  9. package/dist/cli/index.js.map +1 -1
  10. package/dist/core/llmWorker.js +47 -6
  11. package/dist/core/llmWorker.js.map +1 -1
  12. package/dist/core/logger.d.ts +6 -0
  13. package/dist/core/logger.d.ts.map +1 -1
  14. package/dist/core/logger.js +21 -1
  15. package/dist/core/logger.js.map +1 -1
  16. package/dist/core/orchestrator.d.ts +10 -0
  17. package/dist/core/orchestrator.d.ts.map +1 -1
  18. package/dist/core/orchestrator.js +143 -0
  19. package/dist/core/orchestrator.js.map +1 -1
  20. package/dist/core/resource-policy.d.ts +43 -0
  21. package/dist/core/resource-policy.d.ts.map +1 -0
  22. package/dist/core/resource-policy.js +89 -0
  23. package/dist/core/resource-policy.js.map +1 -0
  24. package/dist/core/runner-pool.d.ts +13 -1
  25. package/dist/core/runner-pool.d.ts.map +1 -1
  26. package/dist/core/runner-pool.js +28 -4
  27. package/dist/core/runner-pool.js.map +1 -1
  28. package/dist/core/shared-runner.d.ts +6 -0
  29. package/dist/core/shared-runner.d.ts.map +1 -1
  30. package/dist/core/shared-runner.js +17 -3
  31. package/dist/core/shared-runner.js.map +1 -1
  32. package/dist/daemon/rest-server.d.ts +33 -0
  33. package/dist/daemon/rest-server.d.ts.map +1 -0
  34. package/dist/daemon/rest-server.js +262 -0
  35. package/dist/daemon/rest-server.js.map +1 -0
  36. package/dist/daemon/run.d.ts.map +1 -1
  37. package/dist/daemon/run.js +30 -1
  38. package/dist/daemon/run.js.map +1 -1
  39. package/dist/shared/config-types.d.ts +2 -0
  40. package/dist/shared/config-types.d.ts.map +1 -1
  41. package/dist/shared/config-types.js.map +1 -1
  42. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiLpC,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkLpC,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}
@@ -14,6 +14,7 @@ const WRITABLE_KEYS = [
14
14
  "gpuLayers",
15
15
  "restServerPort",
16
16
  "restServerEnabled",
17
+ "restServerApiKey",
17
18
  "networkHostUrl",
18
19
  "schedulingEnabled",
19
20
  "scheduleStartTime",
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare function makeRestCommand(): Command;
3
+ //# sourceMappingURL=rest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/rest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkEpC,wBAAgB,eAAe,IAAI,OAAO,CAMzC"}
@@ -0,0 +1,67 @@
1
+ import { Command } from "commander";
2
+ import { randomBytes } from "node:crypto";
3
+ import { EXIT } from "../exit-codes.js";
4
+ import { buildClientServices } from "../services.js";
5
+ function genKey() {
6
+ return `pllm_${randomBytes(24).toString("hex")}`;
7
+ }
8
+ function printStatus(enabled, port, key) {
9
+ const url = `http://127.0.0.1:${port}`;
10
+ process.stdout.write(`REST API : ${enabled ? "enabled" : "disabled"}\n`);
11
+ process.stdout.write(`Endpoint : ${url}/v1 (chat/completions, completions, models)\n`);
12
+ process.stdout.write(`API key : ${key ?? "(none — set on enable)"}\n`);
13
+ if (enabled && key) {
14
+ process.stdout.write(`\nExample:\n curl ${url}/v1/chat/completions \\\n` +
15
+ ` -H "Authorization: Bearer ${key}" -H "Content-Type: application/json" \\\n` +
16
+ ` -d '{"model":"<model>.gguf","messages":[{"role":"user","content":"hi"}]}'\n`);
17
+ }
18
+ }
19
+ function makeStatus() {
20
+ return new Command("status")
21
+ .description("Show the local REST API status, endpoint, and key")
22
+ .option("--config-dir <path>", "override config directory")
23
+ .action(async (opts) => {
24
+ const services = buildClientServices({ configDir: opts.configDir });
25
+ const cfg = await services.config.load();
26
+ printStatus(Boolean(cfg.restServerEnabled), cfg.restServerPort ?? 3000, cfg.restServerApiKey);
27
+ process.exit(EXIT.ok);
28
+ });
29
+ }
30
+ function makeOn() {
31
+ return new Command("on")
32
+ .description("Enable the local OpenAI-compatible REST API (restart the host to serve)")
33
+ .option("--port <port>", "port to listen on (127.0.0.1)", (v) => Number.parseInt(v, 10))
34
+ .option("--rotate-key", "generate a fresh API key")
35
+ .option("--config-dir <path>", "override config directory")
36
+ .action(async (opts) => {
37
+ const services = buildClientServices({ configDir: opts.configDir });
38
+ const updated = await services.config.update((c) => ({
39
+ ...c,
40
+ restServerEnabled: true,
41
+ restServerPort: opts.port ?? c.restServerPort ?? 3000,
42
+ restServerApiKey: opts.rotateKey || !c.restServerApiKey ? genKey() : c.restServerApiKey,
43
+ }));
44
+ printStatus(true, updated.restServerPort ?? 3000, updated.restServerApiKey);
45
+ process.stdout.write(`\nRun 'peerllm restart' for the host to start serving the API.\n`);
46
+ process.exit(EXIT.ok);
47
+ });
48
+ }
49
+ function makeOff() {
50
+ return new Command("off")
51
+ .description("Disable the local REST API")
52
+ .option("--config-dir <path>", "override config directory")
53
+ .action(async (opts) => {
54
+ const services = buildClientServices({ configDir: opts.configDir });
55
+ await services.config.update((c) => ({ ...c, restServerEnabled: false }));
56
+ process.stdout.write("REST API disabled. Run 'peerllm restart' to stop serving.\n");
57
+ process.exit(EXIT.ok);
58
+ });
59
+ }
60
+ export function makeRestCommand() {
61
+ return new Command("rest")
62
+ .description("Manage the local OpenAI-compatible REST API")
63
+ .addCommand(makeStatus())
64
+ .addCommand(makeOn())
65
+ .addCommand(makeOff());
66
+ }
67
+ //# sourceMappingURL=rest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rest.js","sourceRoot":"","sources":["../../../src/cli/commands/rest.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -24,6 +24,10 @@ async function main() {
24
24
  const { makeStatusCommand } = await import("./commands/status.js");
25
25
  return makeStatusCommand();
26
26
  })());
27
+ program.addCommand(await (async () => {
28
+ const { makeRestCommand } = await import("./commands/rest.js");
29
+ return makeRestCommand();
30
+ })());
27
31
  program.addCommand(await (async () => {
28
32
  const { makeLoginCommand } = await import("./commands/login.js");
29
33
  return makeLoginCommand();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,30 @@
1
+ import os from "node:os";
1
2
  import { getLlama, LlamaChatSession } from "node-llama-cpp";
3
+ import { decideThreadCap, decideContextSize, resolveMathCores } from "./resource-policy.js";
2
4
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
3
5
  let llama = null;
4
6
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
5
7
  let model = null;
6
8
  const contexts = new Map();
9
+ // 🧮 Co-existence thread cap. node-llama-cpp does NOT limit CPU threads when a GPU
10
+ // is present (maxThreads defaults to 0 = unlimited); a host that spills layers to
11
+ // CPU then pins every core and lags the owner's machine. We bound it from the live
12
+ // Llama instance's math-core count, tightening while the governor yields to a
13
+ // foreground app. The orchestrator flips `threadCapYielding` via 'set-thread-cap'.
14
+ let mathCores = 0;
15
+ let threadCapYielding = false;
16
+ function applyThreadCap() {
17
+ if (!llama || mathCores <= 0)
18
+ return;
19
+ const cap = decideThreadCap(mathCores, threadCapYielding);
20
+ try {
21
+ llama.maxThreads = cap;
22
+ fwdLog("info", `🧮 CPU thread cap → ${cap} (mathCores=${mathCores}, yielding=${threadCapYielding})`);
23
+ }
24
+ catch (err) {
25
+ fwdLog("warn", `⚠️ Failed to set maxThreads=${cap}: ${err?.message}`);
26
+ }
27
+ }
7
28
  function send(msg) {
8
29
  process.send?.(msg);
9
30
  }
@@ -91,6 +112,13 @@ process.on("message", (msg) => {
91
112
  const gpuLayers = m["gpuLayers"];
92
113
  try {
93
114
  llama = await getLlama();
115
+ // Cap CPU threads now that we have a live Llama instance. cpuMathCores can
116
+ // be 0 on GPU-present machines (where maxThreads also defaults to unlimited)
117
+ // — the exact case that lags — so resolveMathCores falls back to a
118
+ // physical-core estimate instead of trusting a 0. Without this, CPU-offloaded
119
+ // layers run on unlimited threads and pin the owner's whole machine.
120
+ mathCores = resolveMathCores(llama.cpuMathCores, os.cpus().length);
121
+ applyThreadCap();
94
122
  model = await llama.loadModel({ modelPath, gpuLayers });
95
123
  }
96
124
  catch (err) {
@@ -119,16 +147,22 @@ process.on("message", (msg) => {
119
147
  }
120
148
  case "create-context": {
121
149
  const conversationId = m["conversationId"];
150
+ const agentic = m["agentic"] !== false; // default true → full, safe window for a bare probe
122
151
  try {
123
152
  const trainSize = model?.trainContextSize ?? 4096;
124
153
  // LLooMA 2.0 (P2 quality): agentic contexts (conversation + tool results + file
125
154
  // content + tool schemas) overflow a 4K window — truncation drops the real
126
- // instruction/paths and the model falls back to placeholder paths (e.g. "src/main.py").
127
- // Default to a larger window, still clamped to the model's trained context, then let
128
- // createContextWithinBudget() step it down to whatever the device can actually
129
- // allocate. Override via PEERLLM_MAX_CONTEXT.
130
- const maxContext = Number(process.env.PEERLLM_MAX_CONTEXT) || 16384;
131
- const ceiling = Math.min(trainSize, maxContext);
155
+ // instruction/paths and the model falls back to placeholder paths (e.g. "src/main.py"),
156
+ // so agentic turns keep the full window. The runner tells us whether THIS turn is
157
+ // agentic; we size accordingly (agentic 16K vs chat 8K, see resource-policy) and clamp
158
+ // to the model's trained context. Every context reserves its full KV-cache up front, so
159
+ // sizing chat down frees VRAM back to GPU layers and cuts RAM. Override the ceilings via
160
+ // PEERLLM_MAX_CONTEXT (agentic) / PEERLLM_CHAT_CONTEXT (chat).
161
+ const agenticCeiling = Number(process.env.PEERLLM_MAX_CONTEXT) || 16384;
162
+ const chatCeiling = Number(process.env.PEERLLM_CHAT_CONTEXT) || 8192;
163
+ // Pick the ceiling by turn type, then let createContextWithinBudget step
164
+ // DOWN from there to whatever the device can actually allocate.
165
+ const ceiling = decideContextSize(agentic, trainSize, agenticCeiling, chatCeiling);
132
166
  const context = await createContextWithinBudget(ceiling);
133
167
  const session = new LlamaChatSession({ contextSequence: context.getSequence() });
134
168
  contexts.set(conversationId, { context, session, abortController: null });
@@ -247,6 +281,13 @@ process.on("message", (msg) => {
247
281
  send({ type: "pong", t: m["t"] });
248
282
  break;
249
283
  }
284
+ // 🤝 Co-existence: the orchestrator flips this as foreign load comes and
285
+ // goes. Tighten CPU threads while yielding so the owner's app wins.
286
+ case "set-thread-cap": {
287
+ threadCapYielding = m["yielding"] === true;
288
+ applyThreadCap();
289
+ break;
290
+ }
250
291
  case "dispose": {
251
292
  cancelAll();
252
293
  await new Promise((r) => setTimeout(r, 300));
@@ -1 +1 @@
1
- {"version":3,"file":"llmWorker.js","sourceRoot":"","sources":["../../src/core/llmWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llmWorker.js","sourceRoot":"","sources":["../../src/core/llmWorker.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,12 @@ export declare class Logger {
20
20
  warn(message: string, ...args: unknown[]): void;
21
21
  error(message: string, ...args: unknown[]): void;
22
22
  close(): void;
23
+ /**
24
+ * Returns the last `maxLines` lines of today's log file, newest last. Backs the 2.2.0 remote
25
+ * "view logs" pull (orchestrator RequestLogs). Lines were already redacted on write, and each is
26
+ * truncated so the SignalR response stays well under the 32 KB receive cap.
27
+ */
28
+ tail(maxLines?: number): string[];
23
29
  private write;
24
30
  private appendFile;
25
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAS3D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,MAAM;IAQL,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEN,IAAI,EAAE,aAAa;IAOhD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,KAAK,IAAI,IAAI;IAKb,OAAO,CAAC,KAAK;IAmBb,OAAO,CAAC,UAAU;CA+BnB;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAG5D;AAED,wBAAgB,SAAS,IAAI,MAAM,CAMlC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAS3D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,MAAM;IAQL,OAAO,CAAC,QAAQ,CAAC,IAAI;IAPjC,OAAO,CAAC,MAAM,CAA0B;IACxC,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAU;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;gBAEN,IAAI,EAAE,aAAa;IAOhD,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI/C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAIhD,KAAK,IAAI,IAAI;IAKb;;;;OAIG;IACH,IAAI,CAAC,QAAQ,SAAM,GAAG,MAAM,EAAE;IAc9B,OAAO,CAAC,KAAK;IAmBb,OAAO,CAAC,UAAU;CA+BnB;AAID,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAG5D;AAED,wBAAgB,SAAS,IAAI,MAAM,CAMlC"}
@@ -1,4 +1,4 @@
1
- import { createWriteStream, mkdirSync } from "node:fs";
1
+ import { createWriteStream, mkdirSync, readFileSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  import { redact, redactString } from "./redact.js";
4
4
  const LEVEL_RANK = {
@@ -38,6 +38,26 @@ export class Logger {
38
38
  this.stream?.end();
39
39
  this.stream = undefined;
40
40
  }
41
+ /**
42
+ * Returns the last `maxLines` lines of today's log file, newest last. Backs the 2.2.0 remote
43
+ * "view logs" pull (orchestrator RequestLogs). Lines were already redacted on write, and each is
44
+ * truncated so the SignalR response stays well under the 32 KB receive cap.
45
+ */
46
+ tail(maxLines = 200) {
47
+ try {
48
+ if (!this.opts.logsDir)
49
+ return [];
50
+ const today = new Date().toISOString().slice(0, 10);
51
+ const filePath = join(this.opts.logsDir, `${this.prefix}-${today}.log`);
52
+ const content = readFileSync(filePath, "utf8");
53
+ const lines = content.split("\n").filter((l) => l.trim().length > 0);
54
+ const n = Math.max(1, Math.min(maxLines, 2001));
55
+ return lines.slice(-n).map((l) => (l.length > 4000 ? l.slice(0, 4000) + "…" : l));
56
+ }
57
+ catch {
58
+ return [];
59
+ }
60
+ }
41
61
  write(level, message, args) {
42
62
  if (LEVEL_RANK[level] < LEVEL_RANK[this.minLevel])
43
63
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { ConfigService } from "./config.js";
2
2
  import { DaemonEventBus } from "./events.js";
3
3
  import type { ResolvedPaths } from "./paths.js";
4
+ import { RunnerPool } from "./runner-pool.js";
4
5
  import { type TokenRateStats } from "./token-rate.js";
5
6
  export type OrchestratorStatus = "disconnected" | "connecting" | "connected" | "error" | "suspended";
6
7
  export interface OrchestratorOptions {
@@ -27,6 +28,7 @@ export declare class OrchestratorService {
27
28
  private readonly tokensOut;
28
29
  private readonly foreignLoad;
29
30
  private lastAppliedPriority;
31
+ private lastThreadCapYielding;
30
32
  private readonly priorityRaiseDenied;
31
33
  private approvedModels;
32
34
  private _goingAway;
@@ -42,6 +44,12 @@ export declare class OrchestratorService {
42
44
  gpuLayers: number;
43
45
  activeContexts: number;
44
46
  }[];
47
+ /**
48
+ * The shared runner pool, so the local REST server can admit + serve models
49
+ * through the SAME single-flight admission (warm fast-path, idle-LRU eviction,
50
+ * capacity rejection) as network traffic — one VRAM authority for the host.
51
+ */
52
+ getPool(): RunnerPool;
45
53
  getTokenStats(): {
46
54
  in: TokenRateStats;
47
55
  out: TokenRateStats;
@@ -60,6 +68,8 @@ export declare class OrchestratorService {
60
68
  private cleanupConversation;
61
69
  private startCleanupLoop;
62
70
  private stopTimers;
71
+ private performSelfUpdate;
72
+ private performModelCommand;
63
73
  private send;
64
74
  private setStatus;
65
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAgCxE,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAErG,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,mBAAmB;IA4GlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IA3GjC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAsC;IAEpD,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAI7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;IACzF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAKpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,mBAAmB,CAAqC;IAOhE,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,cAAc,CAAgB;IAKtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,oBAAoB,CAAgB;IAG5C,OAAO,CAAC,WAAW,CAA2B;IAG9C,OAAO,CAAC,YAAY;gBA8DS,IAAI,EAAE,mBAAmB;IAKtD,SAAS,IAAI,kBAAkB;IAI/B,eAAe,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,EAAE;IAIrF,aAAa,IAAI;QAAE,EAAE,EAAE,cAAc,CAAC;QAAC,GAAG,EAAE,cAAc,CAAA;KAAE;IAI5D,iBAAiB,IAAI,MAAM,EAAE;IAIvB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA2IxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBnB,gBAAgB;IA4B9B,OAAO,CAAC,iBAAiB;YAgBX,2BAA2B;IA2BnC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YA8B5B,yBAAyB;IAkJvC,OAAO,CAAC,iBAAiB;YA2CX,YAAY;IA4H1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,UAAU;YAeJ,IAAI;IASlB,OAAO,CAAC,SAAS;CAKlB"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/orchestrator.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAM7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,UAAU,EAAyB,MAAM,kBAAkB,CAAC;AAKrE,OAAO,EAAoB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AA0CxE,MAAM,MAAM,kBAAkB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,GAAG,WAAW,CAAC;AAErG,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,mBAAmB;IAgHlB,OAAO,CAAC,QAAQ,CAAC,IAAI;IA/GjC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,MAAM,CAAsC;IAEpD,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAI7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;IACzF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0B;IAKpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,mBAAmB,CAAqC;IAIhE,OAAO,CAAC,qBAAqB,CAAwB;IAOrD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAqB;IACzD,OAAO,CAAC,cAAc,CAAgB;IAKtC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,sBAAsB,CAAc;IAC5C,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,oBAAoB,CAAgB;IAG5C,OAAO,CAAC,WAAW,CAA2B;IAG9C,OAAO,CAAC,YAAY;gBA8DS,IAAI,EAAE,mBAAmB;IAKtD,SAAS,IAAI,kBAAkB;IAI/B,eAAe,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,EAAE;IAIrF;;;;OAIG;IACH,OAAO,IAAI,UAAU;IAIrB,aAAa,IAAI;QAAE,EAAE,EAAE,cAAc,CAAC;QAAC,GAAG,EAAE,cAAc,CAAA;KAAE;IAI5D,iBAAiB,IAAI,MAAM,EAAE;IAIvB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4MxB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBnB,gBAAgB;IA4B9B,OAAO,CAAC,iBAAiB;YAgBX,2BAA2B;IA2BnC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;YA8B5B,yBAAyB;IA4JvC,OAAO,CAAC,iBAAiB;YA2CX,YAAY;IA4H1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,iBAAiB;YAgBX,mBAAmB;YAyCnB,IAAI;IASlB,OAAO,CAAC,SAAS;CAKlB"}
@@ -1,8 +1,12 @@
1
+ import { spawn } from "node:child_process";
2
+ import { unlink } from "node:fs/promises";
1
3
  import { arch as osArch, platform as osPlatform, constants as osConstants, setPriority } from "node:os";
4
+ import { join } from "node:path";
2
5
  import { HttpTransportType, HubConnectionBuilder, LogLevel, } from "@microsoft/signalr";
3
6
  import { buildHostCapacity } from "./capacity.js";
4
7
  import { ForeignLoadTracker, decideCoexistence, DEFAULT_CAPACITY_OFFER, } from "./coexistence-governor.js";
5
8
  import { getLogger } from "./logger.js";
9
+ import { downloadCatalogModel } from "./model-download.js";
6
10
  import { listModelsSync, getLLMDirectory } from "./models-fs.js";
7
11
  import { classifyToolCapability, decideSupportsTools } from "./tool-capability.js";
8
12
  import { RunnerPool, CapacityExceededError } from "./runner-pool.js";
@@ -38,6 +42,10 @@ export class OrchestratorService {
38
42
  // call setPriority on a transition (cheap; avoids hammering it every 5s).
39
43
  foreignLoad = new ForeignLoadTracker();
40
44
  lastAppliedPriority = null;
45
+ // 🤝 Co-existence: last CPU thread-cap intent we pushed to the workers — flip only
46
+ // on a transition (paired with the priority yield above). Priority alone doesn't
47
+ // stop a saturated all-core CPU eval; capping threads frees cores for the owner.
48
+ lastThreadCapYielding = null;
41
49
  // PIDs whose priority the OS refused to RAISE. On POSIX an unprivileged process
42
50
  // may lower its scheduling priority (nice up) but not raise it back (nice down) —
43
51
  // the kernel returns EACCES — so once we've yielded to "belowNormal" we usually
@@ -132,6 +140,14 @@ export class OrchestratorService {
132
140
  getLoadedModels() {
133
141
  return this.pool.loadedModels();
134
142
  }
143
+ /**
144
+ * The shared runner pool, so the local REST server can admit + serve models
145
+ * through the SAME single-flight admission (warm fast-path, idle-LRU eviction,
146
+ * capacity rejection) as network traffic — one VRAM authority for the host.
147
+ */
148
+ getPool() {
149
+ return this.pool;
150
+ }
135
151
  getTokenStats() {
136
152
  return { in: this.tokensIn.getStats(), out: this.tokensOut.getStats() };
137
153
  }
@@ -248,6 +264,67 @@ export class OrchestratorService {
248
264
  ?.requestRemoteRecycle(reason ?? "orchestrator")
249
265
  .catch((e) => getLogger().warn(`recycle: remote error: ${e.message}`));
250
266
  });
267
+ // ⬆️ UPDATE (2.2.0 Capability 3) — owner/admin asks this host to self-update. The CLI ships via
268
+ // npm, so we ignore the blob downloadUrl and update the global package, then restart the systemd
269
+ // user service. Deliberately does NOT kill this daemon: under systemd the restart stops the old
270
+ // instance gracefully and starts the new binary; off-systemd the host stays up on the old
271
+ // version (updated for next restart) rather than exiting and never coming back — never-break.
272
+ connection.on("UpdateHost", (req) => {
273
+ getLogger().info(`orchestrator: ⬆️ UpdateHost received: v${req?.version ?? "?"}`);
274
+ try {
275
+ this.performSelfUpdate(req?.version);
276
+ }
277
+ catch (err) {
278
+ getLogger().warn(`orchestrator: UpdateHost failed: ${err.message}`);
279
+ }
280
+ });
281
+ // 🧩 MANAGE LLMs (2.2.0 Capability 1) — owner/admin loads (pin), unloads (unpin), downloads
282
+ // (install, from the approved-catalog metadata) or deletes (remove) a model on this host. Uses
283
+ // the daemon's own runner pool + LLM directory + downloader; re-registers capabilities after.
284
+ const onModel = (cmd) => (req) => {
285
+ getLogger().info(`orchestrator: 🧩 ${cmd}Model received: ${req?.modelFile ?? "(none)"}`);
286
+ if (!req?.modelFile) {
287
+ getLogger().warn(`orchestrator: 🧩 ${cmd}Model ignored — no modelFile.`);
288
+ return;
289
+ }
290
+ void this.performModelCommand(cmd, req).catch((e) => getLogger().warn(`orchestrator: 🧩 ${cmd}Model failed: ${e.message}`));
291
+ };
292
+ connection.on("PinModel", onModel("pin"));
293
+ connection.on("UnpinModel", onModel("unpin"));
294
+ connection.on("InstallModel", onModel("install"));
295
+ connection.on("RemoveModel", onModel("remove"));
296
+ // 📜 REQUEST LOGS — owner/admin (2.2.0 Capability 4) pulls the tail of this host's local log.
297
+ // Read the last `tailLines` lines and stream them back in EmitLogs chunks (kept small to stay
298
+ // under SignalR's 32 KB receive cap), ending with isFinal. Never-break: a host predating this
299
+ // handler simply never answers and the orchestrator times out.
300
+ connection.on("RequestLogs", async (req) => {
301
+ const correlationId = req?.correlationId;
302
+ if (!correlationId)
303
+ return;
304
+ getLogger().info(`orchestrator: 📜 RequestLogs received (${req?.tailLines ?? 200} lines)`);
305
+ try {
306
+ const lines = getLogger().tail(req?.tailLines ?? 200);
307
+ const CHUNK = 75;
308
+ if (lines.length === 0) {
309
+ await this.send("EmitLogs", { correlationId, lines: [], isFinal: true });
310
+ return;
311
+ }
312
+ for (let i = 0; i < lines.length; i += CHUNK) {
313
+ const slice = lines.slice(i, i + CHUNK);
314
+ const isFinal = i + CHUNK >= lines.length;
315
+ await this.send("EmitLogs", { correlationId, lines: slice, isFinal });
316
+ }
317
+ }
318
+ catch (err) {
319
+ getLogger().warn(`orchestrator: RequestLogs failed: ${err.message}`);
320
+ await this.send("EmitLogs", {
321
+ correlationId,
322
+ lines: [],
323
+ isFinal: true,
324
+ error: err.message,
325
+ });
326
+ }
327
+ });
251
328
  connection.on("Suspended", (event) => {
252
329
  getLogger().warn("orchestrator: host suspended", JSON.stringify(event));
253
330
  this.suspendedByServer = true;
@@ -499,6 +576,15 @@ export class OrchestratorService {
499
576
  this.applyHostPriority(decision.desiredPriority);
500
577
  this.lastAppliedPriority = decision.desiredPriority;
501
578
  }
579
+ // ...and tighten/relax the CPU thread cap in lockstep. OS priority only
580
+ // arbitrates WHICH process wins a contended core; an unbounded all-core CPU
581
+ // eval still saturates the box. Capping threads leaves cores genuinely free
582
+ // for the owner. Fire on transition only (cheap; avoids re-sending every 5s).
583
+ const yielding = decision.desiredPriority === "belowNormal";
584
+ if (yielding !== this.lastThreadCapYielding) {
585
+ this.pool.setThreadCap(yielding);
586
+ this.lastThreadCapYielding = yielding;
587
+ }
502
588
  // Dynamic yield, not a hard switch: admit new work only while below the
503
589
  // governor's current proportional cap. Reaches 0 (no NEW admissions) only
504
590
  // at true saturation; sessions already running continue because the cap
@@ -713,6 +799,63 @@ export class OrchestratorService {
713
799
  this.reconnectTimer = null;
714
800
  }
715
801
  }
802
+ // ⬆️ 2.2.0 Capability 3 — install the new global npm package, then restart the systemd user
803
+ // service so the new binary takes over. Runs in a DETACHED child so it survives a service stop.
804
+ // npm global installs / systemctl may need appropriate permissions; failures are logged by the
805
+ // child and leave the running daemon untouched (never-break).
806
+ performSelfUpdate(version) {
807
+ const pkg = "peerllm-host-cli";
808
+ const spec = version ? `${pkg}@${version}` : `${pkg}@latest`;
809
+ getLogger().info(`orchestrator: ⬆️ self-update → npm i -g ${spec}, then restart service`);
810
+ const cmd = osPlatform() === "win32"
811
+ ? `npm i -g ${spec}`
812
+ : `npm i -g ${spec} && (systemctl --user restart peerllm-host || true)`;
813
+ const child = spawn(cmd, { shell: true, detached: true, stdio: "ignore" });
814
+ child.unref();
815
+ }
816
+ // 🧩 2.2.0 Capability 1 — apply a manage-LLMs command against the daemon's pool + LLM directory,
817
+ // then re-register capabilities so the network view updates. Pin loads with loadType "manual"
818
+ // (prioritized in eviction). Note: unlike the Electron host, the CLI does not yet persist pins
819
+ // across a daemon restart — a pinned model reverts to normal after a restart.
820
+ async performModelCommand(cmd, payload) {
821
+ const cfg = await this.opts.config.load();
822
+ const dir = getLLMDirectory(this.opts.paths, cfg);
823
+ const basename = payload.modelFile.replace(/\.gguf$/i, "");
824
+ const fileName = payload.modelFile.toLowerCase().endsWith(".gguf")
825
+ ? payload.modelFile
826
+ : `${payload.modelFile}.gguf`;
827
+ if (cmd === "pin") {
828
+ await this.pool.acquire(basename, cfg, "manual");
829
+ getLogger().info(`orchestrator: 🧩 pinned (loaded) ${basename}`);
830
+ await this.refreshCapabilities();
831
+ }
832
+ else if (cmd === "unpin") {
833
+ await this.pool.evict(basename);
834
+ getLogger().info(`orchestrator: 🧩 unpinned (unloaded) ${basename}`);
835
+ await this.refreshCapabilities();
836
+ }
837
+ else if (cmd === "remove") {
838
+ await this.pool.evict(basename);
839
+ await unlink(join(dir, fileName)).catch(() => undefined);
840
+ getLogger().info(`orchestrator: 🧩 removed (deleted) ${basename}`);
841
+ await this.refreshCapabilities();
842
+ }
843
+ else if (cmd === "install") {
844
+ const entry = {
845
+ id: basename,
846
+ name: basename,
847
+ source: "orchestrator",
848
+ repo: payload.repo ?? "",
849
+ file: fileName,
850
+ checksum: payload.sha256 ?? "",
851
+ sizeBytes: payload.sizeBytes ?? 0,
852
+ };
853
+ getLogger().info(`orchestrator: 🧩 installing ${fileName} from approved catalog…`);
854
+ await downloadCatalogModel({ destPath: join(dir, fileName), entry });
855
+ getLogger().info(`orchestrator: 🧩 installed ${fileName}`);
856
+ await this.refreshCapabilities();
857
+ }
858
+ }
716
859
  async send(method, payload) {
717
860
  if (this.connection?.state !== "Connected")
718
861
  return;