@supen-ai/cli 0.1.10 → 0.1.12

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 (81) hide show
  1. package/README.md +15 -7
  2. package/daemon/dist/agent-sdk/driver-output-ui.js +1 -1
  3. package/daemon/dist/agent-sdk/drivers/acpx-driver.js +1 -1
  4. package/daemon/dist/agent-sdk/drivers/acpx-driver.js.map +1 -1
  5. package/daemon/dist/agent-sdk/drivers/registry.js +1 -1
  6. package/daemon/dist/agent-sdk/drivers/registry.js.map +1 -1
  7. package/daemon/dist/channels/http-routes.js +59 -59
  8. package/daemon/dist/channels/http-routes.js.map +1 -1
  9. package/daemon/dist/channels/http.js +1 -1
  10. package/daemon/dist/channels/http.js.map +1 -1
  11. package/daemon/dist/core/coding-cli-status-cache.d.ts +19 -0
  12. package/daemon/dist/core/coding-cli-status-cache.d.ts.map +1 -0
  13. package/daemon/dist/core/coding-cli-status-cache.js +122 -0
  14. package/daemon/dist/core/coding-cli-status-cache.js.map +1 -0
  15. package/daemon/dist/core/config.js +1 -1
  16. package/daemon/dist/core/config.js.map +1 -1
  17. package/daemon/dist/core/control-commands.js +1 -1
  18. package/daemon/dist/core/cortex.js +4 -4
  19. package/daemon/dist/core/gateway-config.d.ts +1 -1
  20. package/daemon/dist/core/gateway-config.d.ts.map +1 -1
  21. package/daemon/dist/core/gateway-config.js +4 -1
  22. package/daemon/dist/core/gateway-config.js.map +1 -1
  23. package/daemon/dist/core/gateway.d.ts.map +1 -1
  24. package/daemon/dist/core/gateway.js +8 -34
  25. package/daemon/dist/core/gateway.js.map +1 -1
  26. package/daemon/dist/core/os-info.d.ts +65 -0
  27. package/daemon/dist/core/os-info.d.ts.map +1 -0
  28. package/daemon/dist/core/os-info.js +225 -0
  29. package/daemon/dist/core/os-info.js.map +1 -0
  30. package/daemon/dist/core/protocol-adapter.js +2 -2
  31. package/daemon/dist/core/thread-runtime-state.js +1 -1
  32. package/daemon/dist/http/context.js +2 -2
  33. package/daemon/dist/http/context.js.map +1 -1
  34. package/daemon/dist/http/router.d.ts.map +1 -1
  35. package/daemon/dist/http/router.js +4 -4
  36. package/daemon/dist/http/router.js.map +1 -1
  37. package/daemon/dist/http/routes/agents.d.ts.map +1 -1
  38. package/daemon/dist/http/routes/agents.js +13 -16
  39. package/daemon/dist/http/routes/agents.js.map +1 -1
  40. package/daemon/dist/http/routes/automations.d.ts.map +1 -1
  41. package/daemon/dist/http/routes/automations.js +27 -13
  42. package/daemon/dist/http/routes/automations.js.map +1 -1
  43. package/daemon/dist/http/routes/autonomy.js +4 -4
  44. package/daemon/dist/http/routes/autonomy.js.map +1 -1
  45. package/daemon/dist/http/routes/chat-input.d.ts +0 -1
  46. package/daemon/dist/http/routes/chat-input.d.ts.map +1 -1
  47. package/daemon/dist/http/routes/chat-input.js +0 -1
  48. package/daemon/dist/http/routes/chat-input.js.map +1 -1
  49. package/daemon/dist/http/routes/plugins.js +6 -6
  50. package/daemon/dist/http/routes/plugins.js.map +1 -1
  51. package/daemon/dist/http/routes/rpc.d.ts.map +1 -1
  52. package/daemon/dist/http/routes/rpc.js +43 -10
  53. package/daemon/dist/http/routes/rpc.js.map +1 -1
  54. package/daemon/dist/http/routes/sessions.js +15 -15
  55. package/daemon/dist/http/routes/sessions.js.map +1 -1
  56. package/daemon/dist/http/routes/skills.js +11 -11
  57. package/daemon/dist/http/routes/skills.js.map +1 -1
  58. package/daemon/dist/http/routes/system.d.ts +1 -0
  59. package/daemon/dist/http/routes/system.d.ts.map +1 -1
  60. package/daemon/dist/http/routes/system.js +540 -98
  61. package/daemon/dist/http/routes/system.js.map +1 -1
  62. package/daemon/dist/index.js +1 -1
  63. package/daemon/package.json +83 -0
  64. package/daemon/scripts/supen-daemon.js +1 -1
  65. package/dist/auth/login.js +1 -1
  66. package/dist/auth/login.js.map +1 -1
  67. package/dist/bootstrap.d.ts +1 -0
  68. package/dist/bootstrap.js +5 -4
  69. package/dist/bootstrap.js.map +1 -1
  70. package/dist/computer.js +44 -14
  71. package/dist/computer.js.map +1 -1
  72. package/dist/daemon-manage.js +9 -2
  73. package/dist/daemon-manage.js.map +1 -1
  74. package/dist/doctor.js +261 -14
  75. package/dist/doctor.js.map +1 -1
  76. package/dist/index.js +2 -1
  77. package/dist/index.js.map +1 -1
  78. package/dist/os-identity.d.ts +6 -0
  79. package/dist/os-identity.js +68 -0
  80. package/dist/os-identity.js.map +1 -0
  81. package/package.json +2 -2
package/dist/doctor.js CHANGED
@@ -16,7 +16,50 @@ import { execSync } from 'child_process';
16
16
  import yaml from 'yaml';
17
17
  import { readConfig, CONFIG_PATH, SUPEN_HOME, DAEMON_PORT } from './utils.js';
18
18
  import { computerApiPath } from './transport/computer-api.js';
19
+ import { runUpdateCommand } from './computer.js';
19
20
  const DEFAULT_GATEWAY_PORT = 10000;
21
+ function normalizeGatewayHttpUrl(raw) {
22
+ const trimmed = String(raw || '').trim().replace(/\/+$/, '');
23
+ if (!trimmed)
24
+ return '';
25
+ const candidate = trimmed.startsWith('http://') || trimmed.startsWith('https://')
26
+ ? trimmed
27
+ : trimmed.startsWith('wss://')
28
+ ? `https://${trimmed.slice('wss://'.length)}`
29
+ : trimmed.startsWith('ws://')
30
+ ? `http://${trimmed.slice('ws://'.length)}`
31
+ : `https://${trimmed}`;
32
+ try {
33
+ const url = new URL(candidate);
34
+ if (url.hostname === 'gateway.supen.ai' || url.hostname === 'supen-gateway.onrender.com') {
35
+ url.hostname = 'hub.supen.ai';
36
+ }
37
+ return url.toString().replace(/\/+$/, '');
38
+ }
39
+ catch {
40
+ return candidate;
41
+ }
42
+ }
43
+ function systemdUserEnv() {
44
+ const uid = typeof process.getuid === 'function' ? process.getuid() : Number(process.env.UID || 0);
45
+ const runtimeDir = process.env.XDG_RUNTIME_DIR || `/run/user/${uid}`;
46
+ return {
47
+ ...process.env,
48
+ XDG_RUNTIME_DIR: runtimeDir,
49
+ DBUS_SESSION_BUS_ADDRESS: process.env.DBUS_SESSION_BUS_ADDRESS || `unix:path=${runtimeDir}/bus`,
50
+ };
51
+ }
52
+ function readDaemonLockPid() {
53
+ const lockPath = path.join(SUPEN_HOME, 'daemon.lock');
54
+ try {
55
+ const parsed = JSON.parse(fs.readFileSync(lockPath, 'utf8'));
56
+ const pid = Number(parsed?.pid);
57
+ return Number.isInteger(pid) && pid > 0 ? pid : null;
58
+ }
59
+ catch {
60
+ return null;
61
+ }
62
+ }
20
63
  async function checkDaemon() {
21
64
  return new Promise((resolve) => {
22
65
  const req = http.get(`http://localhost:${DAEMON_PORT}/health`, (res) => {
@@ -105,19 +148,15 @@ function checkSkills() {
105
148
  './skills',
106
149
  ];
107
150
  const resolvedDirs = skillDirs.map((d) => d.replace('~', process.env.HOME || '').replace('@', path.join(SUPEN_HOME, 'daemon')));
151
+ let accessibleDir = null;
152
+ let totalSkills = 0;
108
153
  for (const dir of resolvedDirs) {
109
154
  if (fs.existsSync(dir)) {
110
155
  try {
111
156
  const entries = fs.readdirSync(dir);
112
157
  const skillCount = entries.filter((f) => fs.statSync(path.join(dir, f)).isDirectory()).length;
113
- if (skillCount > 0) {
114
- return {
115
- name: 'skills',
116
- status: 'pass',
117
- message: `Skills directory accessible: ${dir}`,
118
- details: [`Found ${skillCount} skill(s)`],
119
- };
120
- }
158
+ accessibleDir ??= dir;
159
+ totalSkills += skillCount;
121
160
  }
122
161
  catch (err) {
123
162
  issues.push(`Cannot read skills dir ${dir}: ${err.message}`);
@@ -127,6 +166,14 @@ function checkSkills() {
127
166
  issues.push(`Skills directory not found: ${dir}`);
128
167
  }
129
168
  }
169
+ if (accessibleDir) {
170
+ return {
171
+ name: 'skills',
172
+ status: 'pass',
173
+ message: `Skills directory accessible: ${accessibleDir}`,
174
+ details: [`Found ${totalSkills} skill(s)`],
175
+ };
176
+ }
130
177
  return {
131
178
  name: 'skills',
132
179
  status: issues.length === resolvedDirs.length ? 'fail' : 'warn',
@@ -233,10 +280,91 @@ function checkGateway() {
233
280
  details: ['Set gateway.url in config.yaml or SUPEN_GATEWAY_URL env var', 'Cloud computer features may not work'],
234
281
  };
235
282
  }
283
+ const normalized = normalizeGatewayHttpUrl(gatewayUrl);
236
284
  return {
237
285
  name: 'gateway',
238
- status: 'pass',
239
- message: `Gateway URL configured: ${gatewayUrl}`,
286
+ status: normalized && normalized !== gatewayUrl ? 'warn' : 'pass',
287
+ message: normalized && normalized !== gatewayUrl
288
+ ? `Gateway URL uses legacy host: ${gatewayUrl}`
289
+ : `Gateway URL configured: ${gatewayUrl}`,
290
+ details: normalized && normalized !== gatewayUrl
291
+ ? [`Canonical URL: ${normalized}`, 'Run `supen doctor --fix` to update config.yaml']
292
+ : undefined,
293
+ };
294
+ }
295
+ function checkService() {
296
+ if (process.platform === 'darwin') {
297
+ const uid = typeof process.getuid === 'function' ? process.getuid() : Number(process.env.UID || 0);
298
+ try {
299
+ execSync(`launchctl print gui/${uid}/ai.supen.daemon`, { stdio: 'ignore' });
300
+ return {
301
+ name: 'service',
302
+ status: 'pass',
303
+ message: 'Host daemon launchd service is loaded',
304
+ };
305
+ }
306
+ catch {
307
+ return {
308
+ name: 'service',
309
+ status: 'warn',
310
+ message: 'Host daemon launchd service is not loaded',
311
+ details: ['Run `supen doctor --fix` to install or restart the host daemon service'],
312
+ };
313
+ }
314
+ }
315
+ if (process.platform === 'linux') {
316
+ try {
317
+ const state = execSync('systemctl --user is-active supen-daemon.service', {
318
+ encoding: 'utf8',
319
+ env: systemdUserEnv(),
320
+ stdio: ['ignore', 'pipe', 'ignore'],
321
+ }).trim();
322
+ if (state === 'active') {
323
+ const mainPidRaw = execSync('systemctl --user show supen-daemon.service -p MainPID --value', {
324
+ encoding: 'utf8',
325
+ env: systemdUserEnv(),
326
+ stdio: ['ignore', 'pipe', 'ignore'],
327
+ }).trim();
328
+ const mainPid = Number(mainPidRaw);
329
+ const lockPid = readDaemonLockPid();
330
+ if (lockPid && Number.isInteger(mainPid) && mainPid > 0 && lockPid !== mainPid) {
331
+ return {
332
+ name: 'service',
333
+ status: 'warn',
334
+ message: 'Host daemon systemd service is active but does not own the daemon lock',
335
+ details: [
336
+ `Service PID: ${mainPid}`,
337
+ `Daemon lock PID: ${lockPid}`,
338
+ 'Run `supen doctor --fix` to restart the host daemon service and take over the lock',
339
+ ],
340
+ };
341
+ }
342
+ return {
343
+ name: 'service',
344
+ status: 'pass',
345
+ message: 'Host daemon systemd user service is active',
346
+ };
347
+ }
348
+ return {
349
+ name: 'service',
350
+ status: 'warn',
351
+ message: `Host daemon systemd user service is ${state || 'not active'}`,
352
+ details: ['Run `supen doctor --fix` to install or restart the host daemon service'],
353
+ };
354
+ }
355
+ catch {
356
+ return {
357
+ name: 'service',
358
+ status: 'warn',
359
+ message: 'Host daemon systemd user service is not active',
360
+ details: ['Run `supen doctor --fix` to install or restart the host daemon service'],
361
+ };
362
+ }
363
+ }
364
+ return {
365
+ name: 'service',
366
+ status: 'warn',
367
+ message: 'Host daemon service manager is not supported on this platform',
240
368
  };
241
369
  }
242
370
  function checkCLIs() {
@@ -261,9 +389,107 @@ function checkCLIs() {
261
389
  };
262
390
  }
263
391
  async function runAllDiagnostics() {
392
+ return runDoctor({});
393
+ }
394
+ function fixSkillsDirectory() {
395
+ try {
396
+ const dir = path.join(SUPEN_HOME, 'skills');
397
+ fs.mkdirSync(dir, { recursive: true });
398
+ return {
399
+ name: 'skills',
400
+ status: 'fixed',
401
+ message: `Ensured skills directory exists: ${dir}`,
402
+ };
403
+ }
404
+ catch (err) {
405
+ return {
406
+ name: 'skills',
407
+ status: 'failed',
408
+ message: err?.message || 'Failed to create skills directory',
409
+ };
410
+ }
411
+ }
412
+ function fixGatewayConfig() {
413
+ if (!fs.existsSync(CONFIG_PATH)) {
414
+ return {
415
+ name: 'gateway',
416
+ status: 'skipped',
417
+ message: 'config.yaml is missing',
418
+ };
419
+ }
420
+ try {
421
+ const raw = yaml.parse(fs.readFileSync(CONFIG_PATH, 'utf-8')) || {};
422
+ const current = raw?.gateway?.url || raw?.gateway_url;
423
+ const normalized = normalizeGatewayHttpUrl(current);
424
+ if (!current || !normalized || normalized === current) {
425
+ return {
426
+ name: 'gateway',
427
+ status: 'skipped',
428
+ message: 'Gateway URL is already canonical or not configured',
429
+ };
430
+ }
431
+ const next = {
432
+ ...raw,
433
+ gateway: {
434
+ ...(raw.gateway && typeof raw.gateway === 'object' ? raw.gateway : {}),
435
+ url: normalized,
436
+ },
437
+ };
438
+ if (raw.gateway_url)
439
+ next.gateway_url = normalized;
440
+ fs.writeFileSync(CONFIG_PATH, yaml.stringify(next));
441
+ return {
442
+ name: 'gateway',
443
+ status: 'fixed',
444
+ message: `Updated gateway URL to ${normalized}`,
445
+ };
446
+ }
447
+ catch (err) {
448
+ return {
449
+ name: 'gateway',
450
+ status: 'failed',
451
+ message: err?.message || 'Failed to update gateway config',
452
+ };
453
+ }
454
+ }
455
+ async function fixHostService() {
456
+ try {
457
+ await runUpdateCommand({ runtime: 'host' });
458
+ return {
459
+ name: 'service',
460
+ status: 'fixed',
461
+ message: 'Updated host daemon package and restarted service',
462
+ };
463
+ }
464
+ catch (err) {
465
+ return {
466
+ name: 'service',
467
+ status: 'failed',
468
+ message: err?.message || 'Failed to update or restart host daemon service',
469
+ };
470
+ }
471
+ }
472
+ async function applyFixes(results) {
473
+ const fixes = [];
474
+ const resultByName = new Map(results.map((result) => [result.name, result]));
475
+ if (resultByName.get('skills')?.status !== 'pass') {
476
+ fixes.push(fixSkillsDirectory());
477
+ }
478
+ if (resultByName.get('gateway')?.status !== 'pass') {
479
+ fixes.push(fixGatewayConfig());
480
+ }
481
+ const daemonStatus = resultByName.get('daemon')?.status;
482
+ const serviceStatus = resultByName.get('service')?.status;
483
+ if (daemonStatus === 'fail' || serviceStatus !== 'pass') {
484
+ fixes.push(await fixHostService());
485
+ }
486
+ return fixes;
487
+ }
488
+ async function runDoctor(options = {}) {
264
489
  console.log('\n Running diagnostics...\n');
265
490
  const checks = [
266
491
  { name: 'daemon', fn: checkDaemon },
492
+ { name: 'service', fn: () => Promise.resolve(checkService()) },
267
493
  { name: 'config', fn: () => Promise.resolve(checkConfig()) },
268
494
  { name: 'clis', fn: () => Promise.resolve(checkCLIs()) },
269
495
  { name: 'skills', fn: () => Promise.resolve(checkSkills()) },
@@ -294,30 +520,51 @@ async function runAllDiagnostics() {
294
520
  console.log('');
295
521
  }
296
522
  }
523
+ if (options.fix) {
524
+ console.log(' Applying fixes...\n');
525
+ const fixes = await applyFixes(results);
526
+ if (fixes.length === 0) {
527
+ console.log(' • No automatic fixes available for the current results.\n');
528
+ }
529
+ else {
530
+ for (const fix of fixes) {
531
+ const icon = fix.status === 'fixed' ? '✅' : fix.status === 'failed' ? '❌' : '⚠️';
532
+ console.log(` ${icon} ${fix.name}: ${fix.message}`);
533
+ }
534
+ console.log('');
535
+ }
536
+ if (options.rerun !== false) {
537
+ await runDoctor({ fix: false, rerun: false });
538
+ }
539
+ }
297
540
  }
298
541
  export function registerDoctorCommand(program) {
299
542
  const doctor = program
300
543
  .command('doctor')
301
- .description('Run diagnostics to check Supen setup');
544
+ .description('Run diagnostics to check Supen setup')
545
+ .option('--fix', 'Fix supported setup issues after diagnosing');
302
546
  doctor
303
547
  .command('list')
304
548
  .description('List available diagnostic checks')
305
549
  .action(() => {
306
550
  console.log('\n Available checks:');
307
551
  console.log(' daemon Is the daemon responding on port 2756?');
552
+ console.log(' service Is the host daemon installed as a system service?');
308
553
  console.log(' config Is config.yaml valid and present?');
309
554
  console.log(' clis Are required CLIs installed?');
310
555
  console.log(' skills Are skills directories accessible?');
311
556
  console.log(' channels Can we reach configured channel APIs?');
312
557
  console.log(' enrollment Is the daemon enrolled with the gateway?');
313
558
  console.log(' gateway Is gateway URL configured?\n');
314
- console.log(' Run `supen doctor` without subcommand to run all checks.\n');
559
+ console.log(' Run `supen doctor` without subcommand to run all checks.');
560
+ console.log(' Run `supen doctor --fix` to apply supported fixes.\n');
315
561
  });
316
562
  doctor
317
563
  .command('run')
318
564
  .description('Run all diagnostic checks')
319
- .action(runAllDiagnostics);
565
+ .option('--fix', 'Fix supported setup issues after diagnosing')
566
+ .action((options) => runDoctor({ fix: Boolean(options.fix) }));
320
567
  // Default action: run all checks
321
- doctor.action(runAllDiagnostics);
568
+ doctor.action((options) => runDoctor({ fix: Boolean(options.fix) }));
322
569
  }
323
570
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -78,10 +78,11 @@ const program = new Command();
78
78
  program
79
79
  .name('supen')
80
80
  .description('Supen CLI — bootstrap, manage skills, agents, and control the service')
81
- .version('0.1.10');
81
+ .version('0.1.12');
82
82
  program
83
83
  .command('bootstrap')
84
84
  .description('First-time setup: choose gateway mode or local Docker daemon mode')
85
+ .option('--hub-url <url>', 'Supen Hub URL for non-interactive local bootstrap')
85
86
  .option('--gateway-url <url>', 'Gateway URL for non-interactive local bootstrap')
86
87
  .option('--token <token>', 'Gateway bootstrap token for non-interactive local bootstrap')
87
88
  .option('-y, --yes', 'Run non-interactively with explicit flags')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type HostOsIdentity = {
2
+ distro_id?: string;
3
+ distro_name?: string;
4
+ };
5
+ export declare function readHostOsIdentity(platform?: string): HostOsIdentity;
6
+ export declare function hostOsIdentityEnv(platform?: string): Record<string, string>;
@@ -0,0 +1,68 @@
1
+ import fs from 'fs';
2
+ import os from 'os';
3
+ function parseOsRelease(content) {
4
+ const info = {};
5
+ for (const line of content.split('\n')) {
6
+ const trimmed = line.trim();
7
+ if (!trimmed || trimmed.startsWith('#'))
8
+ continue;
9
+ const separator = trimmed.indexOf('=');
10
+ if (separator <= 0)
11
+ continue;
12
+ const key = trimmed.slice(0, separator).trim().toLowerCase();
13
+ let value = trimmed.slice(separator + 1).trim();
14
+ if (value.startsWith('"') && value.endsWith('"')) {
15
+ value = value.slice(1, -1);
16
+ }
17
+ if (key === 'id')
18
+ info.id = value.toLowerCase();
19
+ if (key === 'name')
20
+ info.name = value;
21
+ if (key === 'version_id')
22
+ info.version_id = value;
23
+ }
24
+ if (!info.id && !info.name)
25
+ return {};
26
+ const distroName = info.name
27
+ ? info.version_id
28
+ ? `${info.name} ${info.version_id}`.trim()
29
+ : info.name
30
+ : info.id;
31
+ return {
32
+ ...(info.id ? { distro_id: info.id } : {}),
33
+ ...(distroName ? { distro_name: distroName } : {}),
34
+ };
35
+ }
36
+ export function readHostOsIdentity(platform = os.platform()) {
37
+ if (platform === 'darwin') {
38
+ return { distro_id: 'macos', distro_name: 'macOS' };
39
+ }
40
+ if (platform === 'win32') {
41
+ return { distro_id: 'windows', distro_name: 'Windows' };
42
+ }
43
+ for (const filePath of ['/etc/os-release', '/usr/lib/os-release']) {
44
+ try {
45
+ const parsed = parseOsRelease(fs.readFileSync(filePath, 'utf8'));
46
+ if (parsed.distro_id || parsed.distro_name) {
47
+ return parsed;
48
+ }
49
+ }
50
+ catch {
51
+ // try next path
52
+ }
53
+ }
54
+ if (platform === 'linux') {
55
+ return { distro_id: 'linux', distro_name: 'Linux' };
56
+ }
57
+ return { distro_id: platform, distro_name: platform };
58
+ }
59
+ export function hostOsIdentityEnv(platform = os.platform()) {
60
+ const identity = readHostOsIdentity(platform);
61
+ const env = {};
62
+ if (identity.distro_id)
63
+ env.SUPEN_OS_DISTRO_ID = identity.distro_id;
64
+ if (identity.distro_name)
65
+ env.SUPEN_OS_DISTRO_NAME = identity.distro_name;
66
+ return env;
67
+ }
68
+ //# sourceMappingURL=os-identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"os-identity.js","sourceRoot":"","sources":["../src/os-identity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@supen-ai/cli",
3
- "version": "0.1.10",
3
+ "version": "0.1.12",
4
4
  "description": "Supen CLI — command-line tool to manage local Supen daemon, agents, and skills",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -38,7 +38,7 @@
38
38
  "react": "^19.2.4",
39
39
  "rrule": "^2.8.1",
40
40
  "undici": "^7.24.2",
41
- "ws": "^8.19.0",
41
+ "ws": "^8.20.1",
42
42
  "yaml": "^2.8.3",
43
43
  "zod": "^4.3.6"
44
44
  },