@livedesk/client 0.1.15 → 0.1.16
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.
|
@@ -6,7 +6,7 @@ import path from 'path';
|
|
|
6
6
|
import crypto from 'crypto';
|
|
7
7
|
import { promises as fs, statfsSync } from 'fs';
|
|
8
8
|
|
|
9
|
-
const AGENT_VERSION = '0.1.
|
|
9
|
+
const AGENT_VERSION = '0.1.16-livedesk.1';
|
|
10
10
|
const DEFAULT_MANAGER = '127.0.0.1:5197';
|
|
11
11
|
const DEFAULT_HEARTBEAT_MS = 5000;
|
|
12
12
|
const DEFAULT_AI_MODEL = 'gpt-5.4-mini';
|
|
@@ -247,6 +247,49 @@ function getRootDiskStatus() {
|
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
|
|
250
|
+
function optionalNumber(value) {
|
|
251
|
+
const number = Number(value);
|
|
252
|
+
return Number.isFinite(number) ? number : undefined;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
function optionalRatio(value) {
|
|
256
|
+
const number = optionalNumber(value);
|
|
257
|
+
if (number === undefined) {
|
|
258
|
+
return undefined;
|
|
259
|
+
}
|
|
260
|
+
return Math.max(0, Math.min(1, number > 1 ? number / 100 : number));
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
function getAcceleratorStatus() {
|
|
264
|
+
return {
|
|
265
|
+
gpu: {
|
|
266
|
+
name: process.env.LIVEDESK_GPU_NAME || process.env.MINDEXEC_GPU_NAME || '',
|
|
267
|
+
usageRatio: optionalRatio(process.env.LIVEDESK_GPU_USAGE_RATIO || process.env.MINDEXEC_GPU_USAGE_RATIO),
|
|
268
|
+
temperatureC: optionalNumber(process.env.LIVEDESK_GPU_TEMPERATURE_C || process.env.MINDEXEC_GPU_TEMPERATURE_C)
|
|
269
|
+
},
|
|
270
|
+
npu: {
|
|
271
|
+
name: process.env.LIVEDESK_NPU_NAME || process.env.MINDEXEC_NPU_NAME || '',
|
|
272
|
+
usageRatio: optionalRatio(process.env.LIVEDESK_NPU_USAGE_RATIO || process.env.MINDEXEC_NPU_USAGE_RATIO),
|
|
273
|
+
tops: optionalNumber(process.env.LIVEDESK_NPU_TOPS || process.env.MINDEXEC_NPU_TOPS)
|
|
274
|
+
}
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
function getNetworkStatus() {
|
|
279
|
+
const interfaces = os.networkInterfaces();
|
|
280
|
+
const activeName = Object.entries(interfaces).find(([, addresses]) =>
|
|
281
|
+
Array.isArray(addresses) && addresses.some(address => !address.internal && address.family === 'IPv4')
|
|
282
|
+
)?.[0] || '';
|
|
283
|
+
return {
|
|
284
|
+
interface: activeName,
|
|
285
|
+
link: activeName || '',
|
|
286
|
+
rxMbps: optionalNumber(process.env.LIVEDESK_NETWORK_RX_MBPS || process.env.MINDEXEC_NETWORK_RX_MBPS),
|
|
287
|
+
txMbps: optionalNumber(process.env.LIVEDESK_NETWORK_TX_MBPS || process.env.MINDEXEC_NETWORK_TX_MBPS),
|
|
288
|
+
latencyMs: optionalNumber(process.env.LIVEDESK_NETWORK_LATENCY_MS || process.env.MINDEXEC_NETWORK_LATENCY_MS),
|
|
289
|
+
usageRatio: optionalRatio(process.env.LIVEDESK_NETWORK_USAGE_RATIO || process.env.MINDEXEC_NETWORK_USAGE_RATIO)
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
|
|
250
293
|
function getStatus(options = {}) {
|
|
251
294
|
const totalMem = os.totalmem();
|
|
252
295
|
const freeMem = os.freemem();
|
|
@@ -257,6 +300,7 @@ function getStatus(options = {}) {
|
|
|
257
300
|
? Number(Math.min(1, loadavg[0] / cpuCores).toFixed(4))
|
|
258
301
|
: 0;
|
|
259
302
|
const usedMemRatio = totalMem > 0 ? Number(((totalMem - freeMem) / totalMem).toFixed(4)) : 0;
|
|
303
|
+
const acceleratorStatus = getAcceleratorStatus();
|
|
260
304
|
const status = {
|
|
261
305
|
uptimeSec: Math.round(os.uptime()),
|
|
262
306
|
loadavg,
|
|
@@ -279,6 +323,9 @@ function getStatus(options = {}) {
|
|
|
279
323
|
usedRatio: usedMemRatio
|
|
280
324
|
},
|
|
281
325
|
disk: getRootDiskStatus(),
|
|
326
|
+
gpu: acceleratorStatus.gpu,
|
|
327
|
+
npu: acceleratorStatus.npu,
|
|
328
|
+
network: getNetworkStatus(),
|
|
282
329
|
workload: {
|
|
283
330
|
role: options.aiEnabled ? 'Agent worker' : options.taskEnabled ? 'Task worker' : 'Local machine',
|
|
284
331
|
status: 'idle',
|
|
Binary file
|
|
Binary file
|