@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.15-livedesk.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',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livedesk/client",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "LiveDesk local remote client",
5
5
  "type": "module",
6
6
  "bin": {