peerllm-host-cli 0.3.0 → 1.7.1

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 (49) hide show
  1. package/LICENSE +82 -13
  2. package/README.md +2 -16
  3. package/dist/cli/commands/dashboard.d.ts +1 -0
  4. package/dist/cli/commands/dashboard.d.ts.map +1 -1
  5. package/dist/cli/commands/dashboard.js +465 -209
  6. package/dist/cli/commands/dashboard.js.map +1 -1
  7. package/dist/cli/commands/models.js +8 -8
  8. package/dist/cli/commands/models.js.map +1 -1
  9. package/dist/cli/commands/start.d.ts.map +1 -1
  10. package/dist/cli/commands/start.js +5 -4
  11. package/dist/cli/commands/start.js.map +1 -1
  12. package/dist/cli/tui.d.ts +12 -0
  13. package/dist/cli/tui.d.ts.map +1 -1
  14. package/dist/cli/tui.js +49 -0
  15. package/dist/cli/tui.js.map +1 -1
  16. package/dist/core/catalog.d.ts +10 -7
  17. package/dist/core/catalog.d.ts.map +1 -1
  18. package/dist/core/catalog.js +10 -2
  19. package/dist/core/catalog.js.map +1 -1
  20. package/dist/core/host-stats.d.ts +54 -0
  21. package/dist/core/host-stats.d.ts.map +1 -0
  22. package/dist/core/host-stats.js +148 -0
  23. package/dist/core/host-stats.js.map +1 -0
  24. package/dist/core/model-download.d.ts.map +1 -1
  25. package/dist/core/model-download.js +9 -16
  26. package/dist/core/model-download.js.map +1 -1
  27. package/dist/core/npm-version.d.ts +23 -0
  28. package/dist/core/npm-version.d.ts.map +1 -0
  29. package/dist/core/npm-version.js +73 -0
  30. package/dist/core/npm-version.js.map +1 -0
  31. package/dist/core/orchestrator.d.ts +9 -0
  32. package/dist/core/orchestrator.d.ts.map +1 -1
  33. package/dist/core/orchestrator.js +25 -4
  34. package/dist/core/orchestrator.js.map +1 -1
  35. package/dist/core/token-rate.d.ts +14 -0
  36. package/dist/core/token-rate.d.ts.map +1 -0
  37. package/dist/core/token-rate.js +36 -0
  38. package/dist/core/token-rate.js.map +1 -0
  39. package/dist/daemon/methods.d.ts +4 -0
  40. package/dist/daemon/methods.d.ts.map +1 -1
  41. package/dist/daemon/methods.js +58 -6
  42. package/dist/daemon/methods.js.map +1 -1
  43. package/dist/daemon/run.d.ts.map +1 -1
  44. package/dist/daemon/run.js +10 -0
  45. package/dist/daemon/run.js.map +1 -1
  46. package/dist/shared/protocol.d.ts +41 -1
  47. package/dist/shared/protocol.d.ts.map +1 -1
  48. package/dist/shared/protocol.js +1 -1
  49. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;CACjD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAwErF"}
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAC;IACzC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,iBAAiB,CAAC;IAC9B,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;CACjD;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAgIrF"}
@@ -1,4 +1,5 @@
1
1
  import { METHOD, MIN_CLIENT_VERSION, PROTOCOL_VERSION, } from "../shared/protocol.js";
2
+ import { listModelsSync } from "../core/models-fs.js";
2
3
  export function buildMethodRegistry(state) {
3
4
  return {
4
5
  [METHOD.protocolVersion]: async () => ({
@@ -9,13 +10,19 @@ export function buildMethodRegistry(state) {
9
10
  const config = await state.config.load();
10
11
  const refreshToken = await state.secrets.get("refreshToken");
11
12
  const uptimeSeconds = Math.floor((Date.now() - state.startedAt.getTime()) / 1000);
12
- return {
13
+ const hostSnap = state.hostStats.getHostSnapshot();
14
+ const netSnap = state.hostStats.getNetworkSnapshot();
15
+ const earnSnap = state.hostStats.getEarningsSnapshot();
16
+ const lastError = state.hostStats.getLastError();
17
+ const latestCliVersion = state.npmVersion.getLatestVersion();
18
+ const result = {
13
19
  daemon: {
14
20
  pid: state.pid,
15
21
  startedAt: state.startedAt.toISOString(),
16
22
  uptimeSeconds,
17
23
  version: state.cliVersion,
18
24
  protocolVersion: PROTOCOL_VERSION,
25
+ ...(latestCliVersion ? { latestCliVersion } : {}),
19
26
  },
20
27
  config: {
21
28
  path: state.paths.configFile,
@@ -31,6 +38,49 @@ export function buildMethodRegistry(state) {
31
38
  },
32
39
  orchestrator: { status: state.getOrchestratorStatus() },
33
40
  };
41
+ if (hostSnap) {
42
+ result.host = {
43
+ isApproved: hostSnap.isApproved,
44
+ conversations: hostSnap.conversations,
45
+ averageResponseMs: hostSnap.averageResponseMs,
46
+ currentUptime: hostSnap.currentUptime,
47
+ totalUptime: hostSnap.totalUptime,
48
+ stale: lastError?.source === "host" ? true : undefined,
49
+ };
50
+ }
51
+ if (netSnap) {
52
+ result.network = {
53
+ activeHosts: netSnap.activeHosts,
54
+ approvedHosts: netSnap.approvedHosts,
55
+ totalHosts: netSnap.totalHosts,
56
+ totalServedTokens: netSnap.totalServedTokens,
57
+ networkUptimePct: netSnap.networkUptimePct,
58
+ stale: lastError?.source === "network" ? true : undefined,
59
+ };
60
+ }
61
+ if (earnSnap) {
62
+ result.earnings = {
63
+ pendingAmount: earnSnap.pendingAmount,
64
+ currency: earnSnap.currency,
65
+ stale: lastError?.source === "earnings" ? true : undefined,
66
+ };
67
+ }
68
+ const tokenStats = state.orchestrator?.getTokenStats();
69
+ if (tokenStats) {
70
+ result.tokens = {
71
+ in: {
72
+ totalServed: tokenStats.in.totalServed,
73
+ tokensPerSecond: tokenStats.in.tokensPerSecond,
74
+ ...(hostSnap ? { lifetime: hostSnap.incomingTokens } : {}),
75
+ },
76
+ out: {
77
+ totalServed: tokenStats.out.totalServed,
78
+ tokensPerSecond: tokenStats.out.tokensPerSecond,
79
+ ...(hostSnap ? { lifetime: hostSnap.servedTokens } : {}),
80
+ },
81
+ };
82
+ }
83
+ return result;
34
84
  },
35
85
  [METHOD.shutdown]: async (_params, ctx) => {
36
86
  // Defer close so the response has time to flush over the socket
@@ -42,9 +92,6 @@ export function buildMethodRegistry(state) {
42
92
  return { acknowledged: true };
43
93
  },
44
94
  [METHOD.configReload]: async () => {
45
- // ConfigService reads from disk on every load() — there's no cache to
46
- // invalidate. We acknowledge so callers can wait for the daemon to
47
- // pick up new fields on its next read.
48
95
  return { reloaded: true };
49
96
  },
50
97
  [METHOD.hostRename]: async (params) => {
@@ -60,8 +107,13 @@ export function buildMethodRegistry(state) {
60
107
  return { hostName };
61
108
  },
62
109
  [METHOD.modelsState]: async () => {
63
- const stats = state.orchestrator?.getRunnerStats() ?? null;
64
- return { loaded: stats };
110
+ const config = await state.config.load();
111
+ const loaded = state.orchestrator?.getRunnerStats() ?? null;
112
+ return {
113
+ loaded,
114
+ available: listModelsSync(state.paths, config),
115
+ approved: state.orchestrator?.getApprovedModels() ?? [],
116
+ };
65
117
  },
66
118
  };
67
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/daemon/methods.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"AAUA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,cAAM,YAAa,SAAQ,KAAK;aACe,QAAQ,EAAE,MAAM;aAAkB,IAAI,CAAC,EAAE,MAAM;gBAAhF,OAAO,EAAE,MAAM,EAAkB,QAAQ,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAG7F;AA4FD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAsH9E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"AAYA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAGrE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,cAAM,YAAa,SAAQ,KAAK;aACe,QAAQ,EAAE,MAAM;aAAkB,IAAI,CAAC,EAAE,MAAM;gBAAhF,OAAO,EAAE,MAAM,EAAkB,QAAQ,EAAE,MAAM,EAAkB,IAAI,CAAC,EAAE,MAAM,YAAA;CAG7F;AA4FD,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgI9E;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
@@ -2,7 +2,9 @@ import { AuthService } from "../core/auth.js";
2
2
  import { BackendClient, BackendError } from "../core/backend-client.js";
3
3
  import { createConfigService } from "../core/config.js";
4
4
  import { DaemonEventBus } from "../core/events.js";
5
+ import { HostStatsService } from "../core/host-stats.js";
5
6
  import { initGlobalLogger } from "../core/logger.js";
7
+ import { NpmVersionService } from "../core/npm-version.js";
6
8
  import { OrchestratorService } from "../core/orchestrator.js";
7
9
  import { resolvePaths } from "../core/paths.js";
8
10
  import { SecretsService } from "../core/secrets.js";
@@ -111,6 +113,10 @@ export async function runDaemon(opts) {
111
113
  events,
112
114
  cliVersion: opts.cliVersion,
113
115
  });
116
+ const hostStats = new HostStatsService(backend, auth, config);
117
+ hostStats.start();
118
+ const npmVersion = new NpmVersionService();
119
+ npmVersion.start();
114
120
  const state = {
115
121
  pid: process.pid,
116
122
  startedAt: new Date(),
@@ -119,6 +125,8 @@ export async function runDaemon(opts) {
119
125
  config,
120
126
  secrets,
121
127
  orchestrator,
128
+ hostStats,
129
+ npmVersion,
122
130
  getOrchestratorStatus: () => orchestratorStatus,
123
131
  };
124
132
  let stopping = false;
@@ -136,6 +144,8 @@ export async function runDaemon(opts) {
136
144
  if (stopping)
137
145
  return;
138
146
  stopping = true;
147
+ npmVersion.stop();
148
+ hostStats.stop();
139
149
  try {
140
150
  await orchestrator.disconnect();
141
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAiB,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAA2B,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAoB,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,yBAAyB,EAAgB,MAAM,eAAe,CAAC;AAcxF,MAAM,YAAa,SAAQ,KAAK;IACe;IAAkC;IAA/E,YAAY,OAAe,EAAkB,QAAgB,EAAkB,IAAa;QAC1F,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,aAAQ,GAAR,QAAQ,CAAQ;QAAkB,SAAI,GAAJ,IAAI,CAAS;IAE5F,CAAC;CACF;AAOD,KAAK,UAAU,mBAAmB,CAChC,MAA8C,EAC9C,OAAuB,EACvB,OAAsB,EACtB,YAAiC;IAEjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACvD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,YAAY,CACpB,mBAAmB,EACnB,CAAC,EACD,kCAAkC,CACnC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC3B,MAAM,IAAI,YAAY,CACpB,6BAA6B,EAC7B,CAAC,EACD,qDAAqD,CACtD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CACpB,uBAAuB,EACvB,CAAC,EACD,2CAA2C,CAC5C,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,OAAO,CAAqB;YACrD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,cAAc,GAAG,CAAC,MAAM,EAAE;SACjC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,IAAI,YAAY,CACpB,0BAA0B,EAC1B,CAAC,EACD,oEAAoE,CACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,YAAY;YAAE,MAAM,GAAG,CAAC;QAC3C,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACrD,+DAA+D;YAC/D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,+BAAgC,GAAa,CAAC,OAAO,EAAE,EACvD,CAAC,CACF,CAAC;IACJ,CAAC;IAED,iFAAiF;IACjF,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1D,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,MAAM,IAAI,YAAY,CACpB,sCAAsC,EACtC,CAAC,EACD,qEAAqE,CACtE,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,YAAY,CACpB,6BAA6B,EAC7B,CAAC,EACD,uDAAuD,CACxD,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,YAAY;YAAE,MAAM,GAAG,CAAC;QAC3C,IAAI,GAAG,YAAY,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACrD,4EAA4E;YAC5E,OAAO;QACT,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,8BAA+B,GAAa,CAAC,OAAO,EAAE,EACtD,CAAC,CACF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAsB;IACpD,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;IAEpC,gBAAgB,CAAC;QACf,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAA0B,IAAI,MAAM;QAC9E,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACpC,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE5D,MAAM,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAElE,0EAA0E;IAC1E,oCAAoC;IACpC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAEjC,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,yBAAyB,EAAE,CAAC;YAC7C,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAkC,CAAC;YAClE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;YACf,MAAM,CAAC,CAAC;QACV,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,kBAAkB,GAAuB,cAAc,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;QACpC,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,IAAI,mBAAmB,CAAC;QAC3C,KAAK;QACL,MAAM;QACN,MAAM;QACN,UAAU,EAAE,IAAI,CAAC,UAAU;KAC5B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAgB;QACzB,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,KAAK;QACL,MAAM;QACN,OAAO;QACP,YAAY;QACZ,qBAAqB,EAAE,GAAG,EAAE,CAAC,kBAAkB;KAChD,CAAC;IAEF,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,cAA2B,CAAC;IAChC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE;QAC5C,cAAc,GAAG,GAAG,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC;QACxB,QAAQ,EAAE,KAAK,CAAC,WAAW;QAC3B,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC;QACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;QACrC,MAAM;KACP,CAAC,CAAC;IAEH,KAAK,UAAU,QAAQ;QACrB,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,oEAAoE;YACpE,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;gBACjB,KAAK,EAAE,MAAM;gBACb,OAAO,EAAE,kCAAmC,GAAa,CAAC,OAAO,EAAE;gBACnE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,cAAc,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,GAAmB,EAAQ,EAAE;QAClD,KAAK,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;YACxB,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAErC,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;IAEnB,wEAAwE;IACxE,4CAA4C;IAC5C,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;QAC1C,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;YACjB,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,wCAAwC,GAAG,CAAC,OAAO,EAAE;YAC9D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,WAAW;QACX,KAAK;KACN,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/daemon/run.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const PROTOCOL_VERSION = "1.0.0";
1
+ export declare const PROTOCOL_VERSION = "1.1.0";
2
2
  export declare const MIN_CLIENT_VERSION = "1.0.0";
3
3
  export declare const METHOD: {
4
4
  readonly protocolVersion: "protocol.version";
@@ -13,6 +13,11 @@ export interface ProtocolVersionResult {
13
13
  version: string;
14
14
  minClientVersion: string;
15
15
  }
16
+ export interface TokenFlow {
17
+ totalServed: number;
18
+ tokensPerSecond: number;
19
+ lifetime?: number;
20
+ }
16
21
  export interface GetStatusResult {
17
22
  daemon: {
18
23
  pid: number;
@@ -20,6 +25,7 @@ export interface GetStatusResult {
20
25
  uptimeSeconds: number;
21
26
  version: string;
22
27
  protocolVersion: string;
28
+ latestCliVersion?: string;
23
29
  };
24
30
  config: {
25
31
  path: string;
@@ -36,6 +42,40 @@ export interface GetStatusResult {
36
42
  orchestrator: {
37
43
  status: "disconnected" | "connecting" | "connected" | "error";
38
44
  };
45
+ host?: {
46
+ isApproved: boolean;
47
+ conversations: number;
48
+ averageResponseMs: number;
49
+ currentUptime: string;
50
+ totalUptime: string;
51
+ stale?: boolean;
52
+ };
53
+ network?: {
54
+ activeHosts: number;
55
+ approvedHosts: number;
56
+ totalHosts: number;
57
+ totalServedTokens: number;
58
+ networkUptimePct: number;
59
+ stale?: boolean;
60
+ };
61
+ tokens?: {
62
+ in: TokenFlow;
63
+ out: TokenFlow;
64
+ };
65
+ earnings?: {
66
+ pendingAmount: number;
67
+ currency: string;
68
+ stale?: boolean;
69
+ };
70
+ }
71
+ export interface ModelsState {
72
+ loaded: {
73
+ modelName: string;
74
+ gpuLayers: number;
75
+ activeContexts: number;
76
+ } | null;
77
+ available?: string[];
78
+ approved?: string[];
39
79
  }
40
80
  export interface ShutdownResult {
41
81
  acknowledged: true;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/shared/protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;KAC/D,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,IAAI,CAAC;CACpB"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../../src/shared/protocol.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,UAAU,CAAC;AAExC,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,eAAe,EAAE,MAAM,CAAC;QAGxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,aAAa,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,CAAC;IACF,IAAI,EAAE;QACJ,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;QAC3B,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;KACtC,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;KAC/D,CAAC;IAKF,IAAI,CAAC,EAAE;QACL,UAAU,EAAE,OAAO,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,OAAO,CAAC,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;IAEF,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,SAAS,CAAC;QACd,GAAG,EAAE,SAAS,CAAC;KAChB,CAAC;IAEF,QAAQ,CAAC,EAAE;QACT,aAAa,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;KACxB,GAAG,IAAI,CAAC;IAET,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAGrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,IAAI,CAAC;CACpB"}
@@ -1,4 +1,4 @@
1
- export const PROTOCOL_VERSION = "1.0.0";
1
+ export const PROTOCOL_VERSION = "1.1.0";
2
2
  export const MIN_CLIENT_VERSION = "1.0.0";
3
3
  export const METHOD = {
4
4
  protocolVersion: "protocol.version",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "peerllm-host-cli",
3
- "version": "0.3.0",
3
+ "version": "1.7.1",
4
4
  "description": "Command-line PeerLLM host: serve decentralized AI compute from a headless machine.",
5
5
  "author": {
6
6
  "name": "Hassan Habib",
@@ -65,6 +65,6 @@
65
65
  "@typescript-eslint/parser": "^8.5.0",
66
66
  "eslint": "^9.10.0",
67
67
  "typescript": "^5.6.0",
68
- "vitest": "^2.1.0"
68
+ "vitest": "^4.1.6"
69
69
  }
70
70
  }