peerllm-host-cli 2.10.1 → 2.11.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 +32 -0
- package/dist/core/host-stats.d.ts +3 -0
- package/dist/core/host-stats.d.ts.map +1 -1
- package/dist/core/host-stats.js +19 -1
- package/dist/core/host-stats.js.map +1 -1
- package/dist/core/llmWorker.js +35 -5
- package/dist/core/llmWorker.js.map +1 -1
- package/dist/core/load-diagnostics.d.ts +29 -0
- package/dist/core/load-diagnostics.d.ts.map +1 -0
- package/dist/core/load-diagnostics.js +98 -0
- package/dist/core/load-diagnostics.js.map +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,38 @@
|
|
|
3
3
|
All notable changes to the PeerLLM host CLI are documented here. This project follows
|
|
4
4
|
[Semantic Versioning](https://semver.org/).
|
|
5
5
|
|
|
6
|
+
## [2.11.0]
|
|
7
|
+
|
|
8
|
+
### Added
|
|
9
|
+
|
|
10
|
+
- **The newest model architectures now load.** The bundled inference engine had fallen several
|
|
11
|
+
months behind, so models built around newer architectures were refused outright — the host
|
|
12
|
+
reported only "Failed to load model", and there was nothing an operator could do about it. The
|
|
13
|
+
case that surfaced this was a Qwen3.8-class 27B, which pairs attention with state-space layers
|
|
14
|
+
and ships a speculative-decoding head: the old engine treated that head as an ordinary layer
|
|
15
|
+
and demanded a tensor it legitimately does not contain. Every model that already worked keeps
|
|
16
|
+
working — all seventeen models on the test host load and generate, spanning Mistral, Qwen2.5,
|
|
17
|
+
Qwen3, DeepSeek-R1-distill, gpt-oss, Phi-4 and Nemotron.
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- **A model that fails to load now reports why.** The engine always explained the refusal —
|
|
22
|
+
a missing tensor, an unknown architecture, a truncated download — but that explanation went
|
|
23
|
+
only to the daemon log while the reported error read "Failed to load model". The real reason
|
|
24
|
+
now travels with the error, and a model that simply needs a newer host build says exactly that.
|
|
25
|
+
|
|
26
|
+
## [2.10.2]
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- **Earnings now come from the pushed snapshot.** The pending payout figure is delivered over
|
|
31
|
+
the hub alongside the rest of the dashboard data, instead of depending solely on the payout
|
|
32
|
+
poll.
|
|
33
|
+
- **A failed lookup can no longer report earnings of zero.** When the server cannot resolve a
|
|
34
|
+
host's owner it omits the figure rather than sending an empty one, and the last known value
|
|
35
|
+
stays put. A genuine zero is still accepted, so a settled payout does not leave a stale
|
|
36
|
+
balance behind.
|
|
37
|
+
|
|
6
38
|
## [2.10.1]
|
|
7
39
|
|
|
8
40
|
### Fixed
|
|
@@ -16,6 +16,9 @@ export interface PushedStatsPayload {
|
|
|
16
16
|
totalPeers?: number;
|
|
17
17
|
totalTokensNetwork?: number;
|
|
18
18
|
networkUptimePct?: number;
|
|
19
|
+
/** Pending payout for this host's owner. Absent when the server could not resolve
|
|
20
|
+
* the owner — absent is NOT zero, see applyPushedSnapshot. */
|
|
21
|
+
amountOwed?: number | null;
|
|
19
22
|
}
|
|
20
23
|
export interface HostSnapshot {
|
|
21
24
|
isApproved: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-stats.d.ts","sourceRoot":"","sources":["../../src/core/host-stats.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAuC,MAAM,qBAAqB,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAajD;uFACuF;AACvF,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"host-stats.d.ts","sourceRoot":"","sources":["../../src/core/host-stats.ts"],"names":[],"mappings":"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"}
|
package/dist/core/host-stats.js
CHANGED
|
@@ -89,7 +89,21 @@ export class HostStatsService {
|
|
|
89
89
|
networkUptimePct: payload.networkUptimePct ?? 0,
|
|
90
90
|
fetchedAt: Date.now(),
|
|
91
91
|
};
|
|
92
|
-
// Earnings
|
|
92
|
+
// Earnings, when the push carried them. The server omits amountOwed rather than
|
|
93
|
+
// sending null when it cannot resolve the host's owner, so absent means "no news" and
|
|
94
|
+
// must leave the last polled figure standing — writing 0 here would tell a host it
|
|
95
|
+
// has earned nothing because a server-side lookup failed.
|
|
96
|
+
//
|
|
97
|
+
// A real 0 is accepted and stored: an owner with nothing pending genuinely has
|
|
98
|
+
// nothing pending, and refusing it would strand a stale balance after a payout
|
|
99
|
+
// settles. Hence an explicit number check rather than `?? 0` or a truthiness test.
|
|
100
|
+
if (typeof payload.amountOwed === "number" && Number.isFinite(payload.amountOwed)) {
|
|
101
|
+
this.earnings = {
|
|
102
|
+
pendingAmount: payload.amountOwed,
|
|
103
|
+
currency: this.earnings?.currency ?? "USD",
|
|
104
|
+
fetchedAt: Date.now(),
|
|
105
|
+
};
|
|
106
|
+
}
|
|
93
107
|
this.lastError = null;
|
|
94
108
|
this.lastPushAt = Date.now();
|
|
95
109
|
}
|
|
@@ -119,6 +133,10 @@ export class HostStatsService {
|
|
|
119
133
|
}
|
|
120
134
|
async runTick() {
|
|
121
135
|
const cfg = await this.config.load();
|
|
136
|
+
// No push-freshness check here on purpose: tick() has already returned early if a
|
|
137
|
+
// push arrived within PUSH_SAFETY_POLL_MS, so reaching runTick means push is stale
|
|
138
|
+
// and every source below — earnings included — is back to polling. A second gate
|
|
139
|
+
// would be unreachable code that reads like a live rule.
|
|
122
140
|
const doEarnings = this.tickCount++ % EARNINGS_POLL_EVERY === 0;
|
|
123
141
|
const tasks = [
|
|
124
142
|
cfg.hostId ? this.fetchHost(cfg.hostId) : Promise.resolve(null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-stats.js","sourceRoot":"","sources":["../../src/core/host-stats.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,YAAY,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAEzF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,iFAAiF;AACjF,oEAAoE;AACpE,gFAAgF;AAChF,gFAAgF;AAChF,uDAAuD;AACvD,MAAM,eAAe,GAAG,MAAM,CAAC;AAC/B,MAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,4CAA4C;AAC3E,sEAAsE;AACtE,MAAM,mBAAmB,GAAG,CAAC,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"host-stats.js","sourceRoot":"","sources":["../../src/core/host-stats.ts"],"names":[],"mappings":"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"}
|
package/dist/core/llmWorker.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import os from "node:os";
|
|
2
2
|
import { getLlama, LlamaChat, LlamaChatSession } from "node-llama-cpp";
|
|
3
3
|
import { decideThreadCap, decideContextSize, resolveMathCores } from "./resource-policy.js";
|
|
4
|
+
import { diagnoseLoadFailure, isNativeLoadDiagnostic } from "./load-diagnostics.js";
|
|
4
5
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
6
|
let llama = null;
|
|
6
7
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -31,9 +32,29 @@ function send(msg) {
|
|
|
31
32
|
function fwdLog(level, message) {
|
|
32
33
|
send({ type: "log", level, message });
|
|
33
34
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
// 🔍 llama.cpp reports WHY a GGUF was rejected (missing tensor, unknown
|
|
36
|
+
// architecture, truncated file) only on its own log channel — loadModel() itself
|
|
37
|
+
// rejects with a bare "Failed to load model". Keep the last few explanatory lines
|
|
38
|
+
// from the current load attempt so the load handler can attach the real reason to
|
|
39
|
+
// the error it reports; otherwise it dies in the daemon log and the owner is told
|
|
40
|
+
// nothing actionable. Bounded so a long-running worker can't grow it.
|
|
41
|
+
const NATIVE_DIAGNOSTIC_LIMIT = 8;
|
|
42
|
+
let nativeDiagnostics = [];
|
|
43
|
+
function captureNativeDiagnostic(message) {
|
|
44
|
+
if (!isNativeLoadDiagnostic(message))
|
|
45
|
+
return;
|
|
46
|
+
nativeDiagnostics.push(message);
|
|
47
|
+
if (nativeDiagnostics.length > NATIVE_DIAGNOSTIC_LIMIT)
|
|
48
|
+
nativeDiagnostics.shift();
|
|
49
|
+
}
|
|
50
|
+
function forward(level, args) {
|
|
51
|
+
const message = args.map(String).join(" ");
|
|
52
|
+
captureNativeDiagnostic(message);
|
|
53
|
+
fwdLog(level, message);
|
|
54
|
+
}
|
|
55
|
+
console.log = (...args) => forward("info", args);
|
|
56
|
+
console.warn = (...args) => forward("warn", args);
|
|
57
|
+
console.error = (...args) => forward("error", args);
|
|
37
58
|
process.on("uncaughtException", (err) => {
|
|
38
59
|
fwdLog("error", `llmWorker uncaughtException: ${err.message}`);
|
|
39
60
|
process.exit(1);
|
|
@@ -110,6 +131,8 @@ process.on("message", (msg) => {
|
|
|
110
131
|
case "load-model": {
|
|
111
132
|
const modelPath = m["modelPath"];
|
|
112
133
|
const gpuLayers = m["gpuLayers"];
|
|
134
|
+
// Only reasons produced by THIS attempt may be blamed for THIS failure.
|
|
135
|
+
nativeDiagnostics = [];
|
|
113
136
|
try {
|
|
114
137
|
llama = await getLlama();
|
|
115
138
|
// Cap CPU threads now that we have a live Llama instance. cpuMathCores can
|
|
@@ -132,12 +155,19 @@ process.on("message", (msg) => {
|
|
|
132
155
|
});
|
|
133
156
|
}
|
|
134
157
|
catch (err2) {
|
|
135
|
-
|
|
158
|
+
// Report llama.cpp's own explanation, not the generic rejection.
|
|
159
|
+
send({
|
|
160
|
+
type: "error",
|
|
161
|
+
message: diagnoseLoadFailure(err2.message, nativeDiagnostics).message,
|
|
162
|
+
});
|
|
136
163
|
break;
|
|
137
164
|
}
|
|
138
165
|
}
|
|
139
166
|
else {
|
|
140
|
-
send({
|
|
167
|
+
send({
|
|
168
|
+
type: "error",
|
|
169
|
+
message: diagnoseLoadFailure(err.message, nativeDiagnostics).message,
|
|
170
|
+
});
|
|
141
171
|
break;
|
|
142
172
|
}
|
|
143
173
|
}
|
|
@@ -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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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** A native llama.cpp line worth keeping, plus what we concluded from it. */
|
|
2
|
+
export interface LoadFailure {
|
|
3
|
+
/** The message to throw / surface. Always non-empty. */
|
|
4
|
+
message: string;
|
|
5
|
+
/** The llama.cpp line the message was built from, if one was matched. */
|
|
6
|
+
nativeReason?: string;
|
|
7
|
+
/**
|
|
8
|
+
* True ONLY when llama.cpp said the file itself is truncated or malformed.
|
|
9
|
+
* A model the current llama.cpp merely does not understand is NOT corrupt —
|
|
10
|
+
* callers may delete on this signal, so it must stay narrow.
|
|
11
|
+
*/
|
|
12
|
+
corrupted: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Does this log line carry a load-failure reason worth keeping?
|
|
16
|
+
*
|
|
17
|
+
* Deliberately narrow: the worker forwards every llama.cpp line (hundreds per
|
|
18
|
+
* load — tensor listings, backend probes, KV-cache sizing), and we only want the
|
|
19
|
+
* handful that explain a rejection.
|
|
20
|
+
*/
|
|
21
|
+
export declare function isNativeLoadDiagnostic(line: string): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Build the message the host reports when a model fails to load.
|
|
24
|
+
*
|
|
25
|
+
* @param errMessage what node-llama-cpp rejected with (usually "Failed to load model")
|
|
26
|
+
* @param nativeLines llama.cpp log lines captured during THIS load attempt
|
|
27
|
+
*/
|
|
28
|
+
export declare function diagnoseLoadFailure(errMessage: string, nativeLines: readonly string[]): LoadFailure;
|
|
29
|
+
//# sourceMappingURL=load-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-diagnostics.d.ts","sourceRoot":"","sources":["../../src/core/load-diagnostics.ts"],"names":[],"mappings":"AAoBA,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAI5D;AAmDD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,MAAM,EAAE,GAAG,WAAW,CAuBnG"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
// src/core/load-diagnostics.ts
|
|
2
|
+
//
|
|
3
|
+
// 🔍 Pure, dependency-free translation of llama.cpp's native load chatter into a
|
|
4
|
+
// single actionable error message. Kept in sync with the PeerLLM Electron host's
|
|
5
|
+
// loadDiagnostics.ts (same logic, same patterns).
|
|
6
|
+
//
|
|
7
|
+
// Why this exists: when a GGUF is rejected, node-llama-cpp's loadModel() rejects
|
|
8
|
+
// with the generic "Failed to load model". The ACTUAL reason — missing tensor,
|
|
9
|
+
// unknown architecture, truncated file — is only ever printed by llama.cpp on its
|
|
10
|
+
// own log channel, which the worker forwards as ordinary log lines. The daemon
|
|
11
|
+
// then wraps the generic message, so `peerllm` prints "Failed to load 'X': Failed
|
|
12
|
+
// to load model" and the host owner is told nothing they can act on.
|
|
13
|
+
//
|
|
14
|
+
// A real case: Qwen3.8-27B-UD-Q4_K_M ships a NextN (multi-token-prediction) layer
|
|
15
|
+
// as blk.64. An older llama.cpp classified that layer as recurrent and demanded
|
|
16
|
+
// blk.64.ssm_conv1d.weight, which legitimately does not exist in the file. The log
|
|
17
|
+
// carried "missing tensor 'blk.64.ssm_conv1d.weight'"; the user saw "Failed to
|
|
18
|
+
// load model". Diagnosing it took a GGUF tensor-table dump — it should have taken
|
|
19
|
+
// reading the error.
|
|
20
|
+
/**
|
|
21
|
+
* Does this log line carry a load-failure reason worth keeping?
|
|
22
|
+
*
|
|
23
|
+
* Deliberately narrow: the worker forwards every llama.cpp line (hundreds per
|
|
24
|
+
* load — tensor listings, backend probes, KV-cache sizing), and we only want the
|
|
25
|
+
* handful that explain a rejection.
|
|
26
|
+
*/
|
|
27
|
+
export function isNativeLoadDiagnostic(line) {
|
|
28
|
+
return /error loading model|failed to load model|missing tensor|unknown model architecture|unsupported model architecture|unsupported architecture|not within the file bounds|invalid magic|wrong number of tensors/i.test(line);
|
|
29
|
+
}
|
|
30
|
+
/** Strip node-llama-cpp's forwarding prefix and llama.cpp's function-name prefix. */
|
|
31
|
+
function stripPrefixes(line) {
|
|
32
|
+
return line
|
|
33
|
+
.replace(/^\[node-llama-cpp\]\s*/i, "")
|
|
34
|
+
.replace(/^llama_model_load(?:_from_file_impl|er)?:\s*/i, "")
|
|
35
|
+
.replace(/^error loading model:\s*/i, "")
|
|
36
|
+
.trim();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* llama.cpp emits BOTH a specific line ("error loading model: missing tensor 'x'")
|
|
40
|
+
* and a generic follow-up ("failed to load model"). Prefer the specific one, else
|
|
41
|
+
* fall back to whatever we have.
|
|
42
|
+
*/
|
|
43
|
+
function pickReason(nativeLines) {
|
|
44
|
+
const cleaned = nativeLines
|
|
45
|
+
.filter(isNativeLoadDiagnostic)
|
|
46
|
+
.map(stripPrefixes)
|
|
47
|
+
.filter((line) => line.length > 0);
|
|
48
|
+
if (cleaned.length === 0)
|
|
49
|
+
return undefined;
|
|
50
|
+
const specific = cleaned.find((line) => !/^failed to load model\.?$/i.test(line));
|
|
51
|
+
return specific ?? cleaned[0];
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Is this a genuinely damaged file (delete-and-redownload), as opposed to a valid
|
|
55
|
+
* file this llama.cpp build cannot read yet (update-the-host)?
|
|
56
|
+
*
|
|
57
|
+
* Only llama.cpp's own corruption sentences count. "incomplete" alone is NOT
|
|
58
|
+
* matched: it appears in unrelated prose, and a false positive here condemns a
|
|
59
|
+
* multi-gigabyte download the owner waited on.
|
|
60
|
+
*/
|
|
61
|
+
function looksCorrupted(reason) {
|
|
62
|
+
return /not within the file bounds|invalid magic|wrong number of tensors/i.test(reason);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Is this a valid GGUF that the bundled llama.cpp is simply too old to load?
|
|
66
|
+
* New architectures land in llama.cpp continuously, so this is the single most
|
|
67
|
+
* likely reason a freshly-downloaded model fails on an older host build.
|
|
68
|
+
*/
|
|
69
|
+
function looksUnsupported(reason) {
|
|
70
|
+
return /missing tensor|unknown model architecture|unsupported model architecture|unsupported architecture/i.test(reason);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build the message the host reports when a model fails to load.
|
|
74
|
+
*
|
|
75
|
+
* @param errMessage what node-llama-cpp rejected with (usually "Failed to load model")
|
|
76
|
+
* @param nativeLines llama.cpp log lines captured during THIS load attempt
|
|
77
|
+
*/
|
|
78
|
+
export function diagnoseLoadFailure(errMessage, nativeLines) {
|
|
79
|
+
const base = (errMessage || "Failed to load model").trim();
|
|
80
|
+
const reason = pickReason(nativeLines);
|
|
81
|
+
if (reason === undefined)
|
|
82
|
+
return { message: base, corrupted: false };
|
|
83
|
+
// Don't print the same sentence twice when llama.cpp's line is already the
|
|
84
|
+
// one node-llama-cpp surfaced.
|
|
85
|
+
const message = base.toLowerCase().includes(reason.toLowerCase()) ? base : `${base}: ${reason}`;
|
|
86
|
+
if (looksCorrupted(reason)) {
|
|
87
|
+
return { message, nativeReason: reason, corrupted: true };
|
|
88
|
+
}
|
|
89
|
+
if (looksUnsupported(reason)) {
|
|
90
|
+
return {
|
|
91
|
+
message: `${message} — this model needs a newer llama.cpp than this host bundles. Update the PeerLLM host CLI to the latest version.`,
|
|
92
|
+
nativeReason: reason,
|
|
93
|
+
corrupted: false,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
return { message, nativeReason: reason, corrupted: false };
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=load-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"load-diagnostics.js","sourceRoot":"","sources":["../../src/core/load-diagnostics.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,EAAE;AACF,iFAAiF;AACjF,iFAAiF;AACjF,kDAAkD;AAClD,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,kFAAkF;AAClF,+EAA+E;AAC/E,kFAAkF;AAClF,qEAAqE;AACrE,EAAE;AACF,kFAAkF;AAClF,gFAAgF;AAChF,mFAAmF;AACnF,+EAA+E;AAC/E,kFAAkF;AAClF,qBAAqB;AAgBrB;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,8MAA8M,CAAC,IAAI,CACxN,IAAI,CACL,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACtC,OAAO,CAAC,+CAA+C,EAAE,EAAE,CAAC;SAC5D,OAAO,CAAC,2BAA2B,EAAE,EAAE,CAAC;SACxC,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,SAAS,UAAU,CAAC,WAA8B;IAChD,MAAM,OAAO,GAAG,WAAW;SACxB,MAAM,CAAC,sBAAsB,CAAC;SAC9B,GAAG,CAAC,aAAa,CAAC;SAClB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAErC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAClF,OAAO,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CAAC,MAAc;IACpC,OAAO,mEAAmE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1F,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAc;IACtC,OAAO,oGAAoG,CAAC,IAAI,CAC9G,MAAM,CACP,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,WAA8B;IACpF,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,sBAAsB,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEvC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IAErE,2EAA2E;IAC3E,+BAA+B;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,MAAM,EAAE,CAAC;IAEhG,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,OAAO;YACL,OAAO,EAAE,GAAG,OAAO,kHAAkH;YACrI,YAAY,EAAE,MAAM;YACpB,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AAC7D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "peerllm-host-cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.11.0",
|
|
4
4
|
"description": "Command-line PeerLLM host: serve decentralized AI compute from a headless machine.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Hassan Habib",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@microsoft/signalr": "^8.0.17",
|
|
59
59
|
"commander": "^12.1.0",
|
|
60
|
-
"node-llama-cpp": "^3.
|
|
60
|
+
"node-llama-cpp": "^3.20.0",
|
|
61
61
|
"systeminformation": "^5.31.6"
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|