@xagent-ai/cli 1.3.0 → 1.3.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 (190) hide show
  1. package/.github/release.yml +76 -0
  2. package/.github/workflows/ci.yml +3 -0
  3. package/.github/workflows/release.yml +11 -17
  4. package/README.md +2 -2
  5. package/README_CN.md +2 -2
  6. package/dist/agents.d.ts.map +1 -1
  7. package/dist/agents.js +7 -3
  8. package/dist/agents.js.map +1 -1
  9. package/dist/ai-client/factory.d.ts +0 -12
  10. package/dist/ai-client/factory.d.ts.map +1 -1
  11. package/dist/ai-client/factory.js +0 -32
  12. package/dist/ai-client/factory.js.map +1 -1
  13. package/dist/ai-client/index.js +1 -1
  14. package/dist/ai-client/index.js.map +1 -1
  15. package/dist/ai-client/providers/anthropic.d.ts.map +1 -1
  16. package/dist/ai-client/providers/anthropic.js +10 -4
  17. package/dist/ai-client/providers/anthropic.js.map +1 -1
  18. package/dist/ai-client/providers/openai.d.ts.map +1 -1
  19. package/dist/ai-client/providers/openai.js +8 -4
  20. package/dist/ai-client/providers/openai.js.map +1 -1
  21. package/dist/ai-client/providers/remote.d.ts +0 -1
  22. package/dist/ai-client/providers/remote.d.ts.map +1 -1
  23. package/dist/ai-client/providers/remote.js +11 -10
  24. package/dist/ai-client/providers/remote.js.map +1 -1
  25. package/dist/ai-client/types.d.ts +14 -0
  26. package/dist/ai-client/types.d.ts.map +1 -1
  27. package/dist/ai-client/types.js +17 -0
  28. package/dist/ai-client/types.js.map +1 -1
  29. package/dist/ai-client-factory.d.ts.map +1 -1
  30. package/dist/ai-client-factory.js +4 -4
  31. package/dist/ai-client-factory.js.map +1 -1
  32. package/dist/auth.d.ts.map +1 -1
  33. package/dist/auth.js +10 -12
  34. package/dist/auth.js.map +1 -1
  35. package/dist/cancellation.d.ts.map +1 -1
  36. package/dist/cancellation.js +3 -5
  37. package/dist/cancellation.js.map +1 -1
  38. package/dist/checkpoint.d.ts +1 -0
  39. package/dist/checkpoint.d.ts.map +1 -1
  40. package/dist/checkpoint.js +37 -4
  41. package/dist/checkpoint.js.map +1 -1
  42. package/dist/cli.js +132 -32
  43. package/dist/cli.js.map +1 -1
  44. package/dist/config.js +1 -1
  45. package/dist/config.js.map +1 -1
  46. package/dist/context-compressor.d.ts +1 -2
  47. package/dist/context-compressor.d.ts.map +1 -1
  48. package/dist/context-compressor.js +23 -18
  49. package/dist/context-compressor.js.map +1 -1
  50. package/dist/conversation.d.ts +1 -1
  51. package/dist/conversation.d.ts.map +1 -1
  52. package/dist/conversation.js +8 -7
  53. package/dist/conversation.js.map +1 -1
  54. package/dist/gui-subagent/action-parser/actionParser.js +2 -2
  55. package/dist/gui-subagent/action-parser/actionParser.js.map +1 -1
  56. package/dist/gui-subagent/agent/gui-agent.d.ts +10 -0
  57. package/dist/gui-subagent/agent/gui-agent.d.ts.map +1 -1
  58. package/dist/gui-subagent/agent/gui-agent.js +105 -32
  59. package/dist/gui-subagent/agent/gui-agent.js.map +1 -1
  60. package/dist/gui-subagent/index.d.ts +7 -0
  61. package/dist/gui-subagent/index.d.ts.map +1 -1
  62. package/dist/gui-subagent/index.js +2 -0
  63. package/dist/gui-subagent/index.js.map +1 -1
  64. package/dist/gui-subagent/operator/computer-operator.d.ts.map +1 -1
  65. package/dist/gui-subagent/operator/computer-operator.js +2 -0
  66. package/dist/gui-subagent/operator/computer-operator.js.map +1 -1
  67. package/dist/input-processor.js +2 -2
  68. package/dist/input-processor.js.map +1 -1
  69. package/dist/logger.d.ts.map +1 -1
  70. package/dist/logger.js +1 -1
  71. package/dist/logger.js.map +1 -1
  72. package/dist/mcp.d.ts +2 -1
  73. package/dist/mcp.d.ts.map +1 -1
  74. package/dist/mcp.js +83 -21
  75. package/dist/mcp.js.map +1 -1
  76. package/dist/memory.d.ts.map +1 -1
  77. package/dist/memory.js +3 -3
  78. package/dist/memory.js.map +1 -1
  79. package/dist/output-util.d.ts +27 -0
  80. package/dist/output-util.d.ts.map +1 -0
  81. package/dist/output-util.js +74 -0
  82. package/dist/output-util.js.map +1 -0
  83. package/dist/retry.js +1 -1
  84. package/dist/retry.js.map +1 -1
  85. package/dist/ripgrep.d.ts.map +1 -1
  86. package/dist/ripgrep.js +5 -3
  87. package/dist/ripgrep.js.map +1 -1
  88. package/dist/sdk-output-adapter.d.ts +265 -0
  89. package/dist/sdk-output-adapter.d.ts.map +1 -0
  90. package/dist/sdk-output-adapter.js +701 -0
  91. package/dist/sdk-output-adapter.js.map +1 -0
  92. package/dist/sdk-session.d.ts +13 -0
  93. package/dist/sdk-session.d.ts.map +1 -0
  94. package/dist/sdk-session.js +50 -0
  95. package/dist/sdk-session.js.map +1 -0
  96. package/dist/session-manager.js +3 -3
  97. package/dist/session-manager.js.map +1 -1
  98. package/dist/session.d.ts +96 -2
  99. package/dist/session.d.ts.map +1 -1
  100. package/dist/session.js +849 -262
  101. package/dist/session.js.map +1 -1
  102. package/dist/shell.d.ts.map +1 -1
  103. package/dist/shell.js +5 -4
  104. package/dist/shell.js.map +1 -1
  105. package/dist/skill-installer.js +3 -3
  106. package/dist/skill-installer.js.map +1 -1
  107. package/dist/skill-invoker.d.ts +1 -1
  108. package/dist/skill-invoker.d.ts.map +1 -1
  109. package/dist/skill-invoker.js +2 -2
  110. package/dist/skill-invoker.js.map +1 -1
  111. package/dist/skill-loader.js +6 -5
  112. package/dist/skill-loader.js.map +1 -1
  113. package/dist/skill-manager.d.ts.map +1 -1
  114. package/dist/skill-manager.js +3 -2
  115. package/dist/skill-manager.js.map +1 -1
  116. package/dist/slash-commands.d.ts +1 -1
  117. package/dist/slash-commands.d.ts.map +1 -1
  118. package/dist/slash-commands.js +24 -11
  119. package/dist/slash-commands.js.map +1 -1
  120. package/dist/smart-approval.d.ts +20 -1
  121. package/dist/smart-approval.d.ts.map +1 -1
  122. package/dist/smart-approval.js +58 -1
  123. package/dist/smart-approval.js.map +1 -1
  124. package/dist/system-prompt-generator.js +3 -3
  125. package/dist/system-prompt-generator.js.map +1 -1
  126. package/dist/theme.d.ts.map +1 -1
  127. package/dist/theme.js +8 -7
  128. package/dist/theme.js.map +1 -1
  129. package/dist/tools.d.ts +15 -0
  130. package/dist/tools.d.ts.map +1 -1
  131. package/dist/tools.js +487 -215
  132. package/dist/tools.js.map +1 -1
  133. package/dist/types.d.ts +57 -0
  134. package/dist/types.d.ts.map +1 -1
  135. package/dist/types.js +49 -0
  136. package/dist/types.js.map +1 -1
  137. package/dist/update.d.ts.map +1 -1
  138. package/dist/update.js +12 -9
  139. package/dist/update.js.map +1 -1
  140. package/dist/workflow.d.ts.map +1 -1
  141. package/dist/workflow.js +1 -2
  142. package/dist/workflow.js.map +1 -1
  143. package/docs/third-party-models.md +16 -15
  144. package/package.json +3 -1
  145. package/src/agents.ts +7 -3
  146. package/src/ai-client/factory.ts +1 -36
  147. package/src/ai-client/index.ts +1 -1
  148. package/src/ai-client/providers/anthropic.ts +12 -3
  149. package/src/ai-client/providers/openai.ts +10 -4
  150. package/src/ai-client/providers/remote.ts +13 -10
  151. package/src/ai-client/types.ts +19 -0
  152. package/src/ai-client-factory.ts +5 -5
  153. package/src/auth.ts +11 -13
  154. package/src/cancellation.ts +3 -6
  155. package/src/checkpoint.ts +40 -4
  156. package/src/cli.ts +154 -37
  157. package/src/config.ts +1 -1
  158. package/src/context-compressor.ts +28 -23
  159. package/src/conversation.ts +9 -7
  160. package/src/gui-subagent/action-parser/actionParser.ts +2 -2
  161. package/src/gui-subagent/agent/gui-agent.ts +117 -34
  162. package/src/gui-subagent/index.ts +8 -0
  163. package/src/gui-subagent/operator/computer-operator.ts +2 -1
  164. package/src/input-processor.ts +2 -2
  165. package/src/logger.ts +2 -4
  166. package/src/mcp.ts +86 -23
  167. package/src/memory.ts +3 -4
  168. package/src/output-util.ts +80 -0
  169. package/src/retry.ts +1 -1
  170. package/src/ripgrep.ts +5 -3
  171. package/src/sdk-output-adapter.ts +842 -0
  172. package/src/sdk-session.ts +62 -0
  173. package/src/session-manager.ts +3 -3
  174. package/src/session.ts +942 -302
  175. package/src/shell.ts +6 -5
  176. package/src/skill-installer.ts +3 -3
  177. package/src/skill-invoker.ts +3 -4
  178. package/src/skill-loader.ts +7 -7
  179. package/src/skill-manager.ts +4 -3
  180. package/src/slash-commands.ts +24 -16
  181. package/src/smart-approval.ts +76 -1
  182. package/src/system-prompt-generator.ts +3 -3
  183. package/src/theme.ts +9 -8
  184. package/src/tools.ts +563 -267
  185. package/src/types.ts +118 -0
  186. package/src/update.ts +12 -9
  187. package/src/workflow.ts +2 -4
  188. package/test/cli-launch.test.ts +279 -0
  189. package/vitest.config.ts +2 -0
  190. /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -8,7 +8,7 @@ import { AuthType } from './types.js';
8
8
  import { fetchDefaultModels } from './ai-client/providers/remote.js';
9
9
  import { getAgentManager } from './agents.js';
10
10
  import { getMCPManager } from './mcp.js';
11
- import { getLogger, setConfigProvider } from './logger.js';
11
+ import { setConfigProvider } from './logger.js';
12
12
  import { icons, colors } from './theme.js';
13
13
  import { getCancellationManager } from './cancellation.js';
14
14
  import { readFileSync, promises as fs } from 'fs';
@@ -31,14 +31,13 @@ async function notifySkillUpdate(userSkillsPath) {
31
31
  await fs.writeFile(stateFilePath, JSON.stringify(state, null, 2), 'utf-8');
32
32
  console.log(colors.textMuted(' ā„¹ļø Skills updated for running xAgent sessions'));
33
33
  }
34
- catch (error) {
34
+ catch {
35
35
  // Silent fail - notification is optional
36
36
  }
37
37
  }
38
38
  // Read package.json
39
39
  const packageJsonPath = join(__dirname, '../package.json');
40
40
  const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
41
- const logger = getLogger();
42
41
  // Initialize CancellationManager early to set up ESC handler
43
42
  getCancellationManager();
44
43
  // Set up config provider for logger to read loggerLevel
@@ -144,7 +143,14 @@ program
144
143
  .command('start')
145
144
  .description('Start the xAgent CLI interactive session')
146
145
  .option('--approval-mode <mode>', 'Set approval mode (yolo, accept_edits, plan, default, smart)')
146
+ .option('--sdk', 'Run in SDK mode for programmatic access (stdin/stdout JSON communication)')
147
147
  .action(async (options) => {
148
+ // Check if running in SDK mode
149
+ if (options.sdk || process.env.XAGENT_SDK === 'true') {
150
+ const { startSdkSession } = await import('./sdk-session.js');
151
+ await startSdkSession();
152
+ return;
153
+ }
148
154
  if (options.approvalMode) {
149
155
  const { getConfigManager } = await import('./config.js');
150
156
  const { ExecutionMode } = await import('./types.js');
@@ -223,6 +229,7 @@ program
223
229
  console.log(colors.success('Authentication configured successfully!'));
224
230
  console.log(colors.textMuted('You can now run "xagent start" to begin'));
225
231
  console.log('');
232
+ process.exit(0);
226
233
  }
227
234
  else {
228
235
  console.log('');
@@ -262,6 +269,7 @@ program
262
269
  console.log('');
263
270
  });
264
271
  }
272
+ process.exit(0);
265
273
  }
266
274
  else if (options.add) {
267
275
  console.log('');
@@ -292,8 +300,9 @@ program
292
300
  });
293
301
  program
294
302
  .command('mcp')
295
- .description('Add, list, or remove MCP servers')
303
+ .description('Add, list, get, or remove MCP servers')
296
304
  .option('-l, --list', 'List all MCP servers')
305
+ .option('-g, --get <name>', 'Get details of a specific MCP server')
297
306
  .option('-a, --add [name]', 'Add a new MCP server (interactive if no name provided)')
298
307
  .option('-r, --remove <name>', 'Remove an MCP server')
299
308
  .option('--scope <scope>', 'Scope (global or project)', 'global')
@@ -305,31 +314,95 @@ program
305
314
  .option('--header <headers>', 'Custom headers (can be used multiple times)')
306
315
  .option('-y, --yes', 'Skip confirmation')
307
316
  .action(async (options) => {
317
+ if (options.help) {
318
+ program.parse(['node', 'mcp', '--help']);
319
+ return;
320
+ }
308
321
  const configManager = getConfigManager(process.cwd());
322
+ configManager.load(); // Load config from file
309
323
  const mcpManager = getMCPManager();
324
+ // Register all MCP servers from config to manager (for --list and --remove)
325
+ const mcpServers = configManager.getMcpServers();
326
+ Object.entries(mcpServers).forEach(([name, config]) => {
327
+ mcpManager.registerServer(name, config);
328
+ });
310
329
  if (options.list) {
311
- const servers = mcpManager.getAllServers();
312
- if (servers.length === 0) {
330
+ const mcpServers = configManager.getMcpServers();
331
+ const serverNames = Object.keys(mcpServers);
332
+ if (serverNames.length === 0) {
313
333
  console.log('');
314
334
  console.log(colors.warning('No MCP servers configured'));
315
335
  console.log(colors.textMuted('Use "xagent mcp --add" to add servers'));
316
336
  console.log('');
317
337
  }
318
338
  else {
339
+ console.log(colors.textMuted('Connecting to MCP servers...'));
340
+ for (const name of serverNames) {
341
+ try {
342
+ await mcpManager.connectServer(name);
343
+ }
344
+ catch {
345
+ // Connection failed, continue with next server
346
+ }
347
+ }
319
348
  const separator = icons.separator.repeat(40);
320
349
  console.log('');
321
350
  console.log(colors.primaryBright(`${icons.tool} MCP Servers`));
322
351
  console.log(colors.border(separator));
323
352
  console.log('');
324
- servers.forEach((server, index) => {
325
- const connected = server.isServerConnected() ? icons.success : icons.error;
326
- const status = server.isServerConnected() ? colors.success(connected) : colors.error(connected);
327
- const toolNames = server.getToolNames().join(', ');
328
- console.log(` ${status} ${colors.primaryBright(`Server ${index + 1}`)}`);
329
- console.log(` ${colors.textDim(` Tools: ${toolNames}`)}`);
353
+ serverNames.forEach((name) => {
354
+ const server = mcpManager.getServer(name);
355
+ const connected = server?.isServerConnected() ? icons.success : icons.error;
356
+ const status = server?.isServerConnected() ? colors.success(connected) : colors.error(connected);
357
+ const toolNames = server?.getToolNames().join(', ') || '';
358
+ console.log(` ${status} ${colors.primaryBright(name)}`);
359
+ console.log(` ${colors.textDim(`Tools: ${toolNames}`)}`);
330
360
  console.log('');
331
361
  });
332
362
  }
363
+ process.exit(0);
364
+ }
365
+ else if (options.get) {
366
+ const server = mcpManager.getServer(options.get);
367
+ if (!server) {
368
+ console.log('');
369
+ console.log(colors.error(`MCP server '${options.get}' not found`));
370
+ console.log(colors.textMuted('Use "xagent mcp --list" to see all configured servers'));
371
+ console.log('');
372
+ process.exit(1);
373
+ }
374
+ const config = server.config;
375
+ const isConnected = server.isServerConnected();
376
+ const toolNames = server.getToolNames();
377
+ const tools = server.getTools();
378
+ console.log('');
379
+ console.log(colors.primaryBright(`${icons.tool} MCP Server: ${options.get}`));
380
+ console.log(colors.border(icons.separator.repeat(40)));
381
+ console.log('');
382
+ console.log(` ${colors.primaryBright('Status:')} ${isConnected ? colors.success('Connected') : colors.error('Disconnected')}`);
383
+ console.log(` ${colors.primaryBright('Transport:')} ${config.transport || 'stdio'}`);
384
+ if (config.url) {
385
+ console.log(` ${colors.primaryBright('URL:')} ${config.url}`);
386
+ }
387
+ if (config.command) {
388
+ console.log(` ${colors.primaryBright('Command:')} ${config.command} ${(config.args || []).join(' ')}`);
389
+ }
390
+ if (config.headers) {
391
+ console.log(` ${colors.primaryBright('Headers:')} ${JSON.stringify(config.headers)}`);
392
+ }
393
+ console.log(` ${colors.primaryBright('Tools:')} ${toolNames.length > 0 ? toolNames.join(', ') : colors.textMuted('(none)')}`);
394
+ if (tools.length > 0) {
395
+ console.log('');
396
+ console.log(colors.textMuted(' Available tools:'));
397
+ tools.forEach((tool) => {
398
+ console.log(` - ${colors.primaryBright(tool.name)}`);
399
+ if (tool.description) {
400
+ console.log(` ${colors.textDim(tool.description.substring(0, 60))}${tool.description.length > 60 ? '...' : ''}`);
401
+ }
402
+ });
403
+ }
404
+ console.log('');
405
+ process.exit(0);
333
406
  }
334
407
  else if (options.add !== undefined) {
335
408
  // Check if running in non-interactive mode (transport and required params provided)
@@ -364,12 +437,11 @@ program
364
437
  process.exit(1);
365
438
  }
366
439
  config.url = options.url;
440
+ const headers = {};
367
441
  if (options.token) {
368
- config.authToken = options.token;
442
+ headers['Authorization'] = `Bearer ${options.token}`;
369
443
  }
370
- // Handle multiple --header flags
371
444
  if (options.header) {
372
- const headers = {};
373
445
  const headerArray = Array.isArray(options.header) ? options.header : [options.header];
374
446
  for (const h of headerArray) {
375
447
  const colonIndex = h.indexOf(':');
@@ -379,9 +451,9 @@ program
379
451
  headers[key] = value;
380
452
  }
381
453
  }
382
- if (Object.keys(headers).length > 0) {
383
- config.headers = headers;
384
- }
454
+ }
455
+ if (Object.keys(headers).length > 0) {
456
+ config.headers = headers;
385
457
  }
386
458
  }
387
459
  else {
@@ -433,11 +505,13 @@ program
433
505
  console.log(colors.success(`āœ… MCP server '${name}' added successfully`));
434
506
  }
435
507
  console.log('');
508
+ process.exit(0);
436
509
  }
437
510
  catch (error) {
438
511
  console.log('');
439
512
  console.log(colors.error(`Failed to add MCP server: ${error.message}`));
440
513
  console.log('');
514
+ process.exit(1);
441
515
  }
442
516
  }
443
517
  else {
@@ -517,11 +591,15 @@ program
517
591
  });
518
592
  }
519
593
  config.url = url;
594
+ const headers = {};
520
595
  // Step 4: Enter auth token (optional)
521
- config.authToken = await text({
596
+ const authToken = await text({
522
597
  message: 'Enter Bearer token (optional):',
523
598
  defaultValue: '',
524
599
  });
600
+ if (authToken.trim()) {
601
+ headers['Authorization'] = `Bearer ${authToken}`;
602
+ }
525
603
  // Step 5: Enter custom headers (optional)
526
604
  const headersInput = await text({
527
605
  message: 'Enter custom headers as JSON (optional):',
@@ -529,12 +607,16 @@ program
529
607
  });
530
608
  if (headersInput.trim()) {
531
609
  try {
532
- config.headers = JSON.parse(headersInput);
610
+ const customHeaders = JSON.parse(headersInput);
611
+ Object.assign(headers, customHeaders);
533
612
  }
534
613
  catch {
535
614
  // Ignore invalid JSON
536
615
  }
537
616
  }
617
+ if (Object.keys(headers).length > 0) {
618
+ config.headers = headers;
619
+ }
538
620
  }
539
621
  // Step 6: Confirm and save
540
622
  console.log('');
@@ -599,6 +681,7 @@ program
599
681
  console.log('');
600
682
  console.log(colors.success(`MCP server ${options.remove} removed successfully`));
601
683
  console.log('');
684
+ process.exit(0);
602
685
  }
603
686
  catch (error) {
604
687
  const { message, suggestion } = formatError(error);
@@ -606,14 +689,16 @@ program
606
689
  console.log(colors.error(`Failed to remove MCP server: ${message}`));
607
690
  console.log(colors.textMuted(suggestion));
608
691
  console.log('');
692
+ process.exit(1);
609
693
  }
610
694
  }
611
695
  else {
612
696
  console.log('');
613
- console.log(colors.warning('Please specify an action: --list, --add, or --remove'));
697
+ console.log(colors.warning('Please specify an action: --list, --get, --add, or --remove'));
614
698
  console.log('');
615
699
  console.log(colors.textMuted('Usage:'));
616
700
  console.log(` ${colors.primaryBright('xagent mcp --list')} ${colors.textMuted('| List all MCP servers')}`);
701
+ console.log(` ${colors.primaryBright('xagent mcp --get <name>')} ${colors.textMuted('| Get MCP server details')}`);
617
702
  console.log(` ${colors.primaryBright('xagent mcp --add')} ${colors.textMuted('| Add MCP server (interactive)')}`);
618
703
  console.log('');
619
704
  console.log(colors.textMuted('Non-interactive examples:'));
@@ -629,6 +714,7 @@ program
629
714
  console.log(` ${colors.primaryBright('--header')} ${colors.textMuted('Custom header (key:value)')}`);
630
715
  console.log(` ${colors.primaryBright('-y, --yes')} ${colors.textMuted('Skip confirmation')}`);
631
716
  console.log('');
717
+ process.exit(1);
632
718
  }
633
719
  });
634
720
  program
@@ -647,6 +733,7 @@ program
647
733
  console.log(colors.success('Project initialized successfully!'));
648
734
  console.log(colors.textMuted('You can now run "xagent start" to begin'));
649
735
  console.log('');
736
+ process.exit(0);
650
737
  }
651
738
  catch (error) {
652
739
  const { message, suggestion } = formatError(error);
@@ -673,6 +760,7 @@ program
673
760
  console.log(colors.warning('No workflows installed'));
674
761
  console.log(colors.textMuted('Use --add to install workflows from the marketplace'));
675
762
  console.log('');
763
+ process.exit(0);
676
764
  }
677
765
  else {
678
766
  const separator = icons.separator.repeat(40);
@@ -686,6 +774,7 @@ program
686
774
  console.log(` ${colors.textDim(` ${workflow.description}`)}`);
687
775
  console.log('');
688
776
  });
777
+ process.exit(0);
689
778
  }
690
779
  }
691
780
  else if (options.add) {
@@ -694,6 +783,7 @@ program
694
783
  console.log('');
695
784
  console.log(colors.success(`Workflow ${options.add} added successfully!`));
696
785
  console.log('');
786
+ process.exit(0);
697
787
  }
698
788
  catch (error) {
699
789
  const { message, suggestion } = formatError(error);
@@ -710,6 +800,7 @@ program
710
800
  console.log('');
711
801
  console.log(colors.success(`Workflow ${options.remove} removed successfully!`));
712
802
  console.log('');
803
+ process.exit(0);
713
804
  }
714
805
  catch (error) {
715
806
  const { message, suggestion } = formatError(error);
@@ -724,6 +815,7 @@ program
724
815
  console.log('');
725
816
  console.log(colors.warning('Please specify an action: --list, --add, or --remove'));
726
817
  console.log('');
818
+ process.exit(1);
727
819
  }
728
820
  });
729
821
  program
@@ -737,12 +829,12 @@ program
737
829
  const configManager = getConfigManager();
738
830
  const { promises: fs } = await import('fs');
739
831
  const pathModule = await import('path');
740
- const { exec, spawn } = await import('child_process');
832
+ const { exec } = await import('child_process');
741
833
  const { promisify } = await import('util');
742
834
  const os = await import('os');
743
- const execAsync = promisify(exec);
835
+ const _execAsync = promisify(exec);
744
836
  const userSkillsPath = configManager.getUserSkillsPath() || pathModule.join(os.homedir(), '.xagent', 'skills');
745
- const userNodeModulesPath = configManager.getUserNodeModulesPath() || pathModule.join(os.homedir(), '.xagent', 'node_modules');
837
+ const _userNodeModulesPath = configManager.getUserNodeModulesPath() || pathModule.join(os.homedir(), '.xagent', 'node_modules');
746
838
  if (options.add) {
747
839
  const separator = icons.separator.repeat(40);
748
840
  console.log('');
@@ -797,6 +889,7 @@ program
797
889
  // Notify running xAgent to update system prompt
798
890
  await notifySkillUpdate(userSkillsPath);
799
891
  console.log('');
892
+ process.exit(0);
800
893
  }
801
894
  catch (error) {
802
895
  const { message, suggestion } = formatError(error);
@@ -821,6 +914,7 @@ program
821
914
  await notifySkillUpdate(userSkillsPath);
822
915
  console.log(colors.textMuted('Note: Run "xagent start" to use the new skill'));
823
916
  console.log('');
917
+ process.exit(0);
824
918
  }
825
919
  else {
826
920
  console.log(colors.error(`Failed to install skill: ${result.error}`));
@@ -873,8 +967,9 @@ program
873
967
  }
874
968
  console.log(colors.textMuted(`Skills directory: ${userSkillsPath}`));
875
969
  console.log('');
970
+ process.exit(0);
876
971
  }
877
- catch (error) {
972
+ catch {
878
973
  console.log(colors.textMuted('No user skills installed'));
879
974
  console.log('');
880
975
  }
@@ -906,8 +1001,9 @@ program
906
1001
  // Notify running xAgent to update system prompt
907
1002
  await notifySkillUpdate(userSkillsPath);
908
1003
  console.log('');
1004
+ process.exit(0);
909
1005
  }
910
- catch (error) {
1006
+ catch {
911
1007
  console.log('');
912
1008
  console.log(colors.error(`Skill not found: ${options.remove}`));
913
1009
  console.log('');
@@ -931,6 +1027,7 @@ program
931
1027
  console.log(colors.textMuted('To install a new skill, use the interactive command:'));
932
1028
  console.log(` ${colors.primaryBright('/skill add')}`);
933
1029
  console.log('');
1030
+ process.exit(0);
934
1031
  }
935
1032
  });
936
1033
  program
@@ -956,6 +1053,7 @@ program
956
1053
  console.log(` ${colors.primaryBright('šŸ“š Documentation:')} ${colors.primaryBright('https://platform.xagent.cn/cli/')}`);
957
1054
  console.log(` ${colors.primaryBright('šŸ’» GitHub:')} ${colors.primaryBright('https://github.com/xagent-ai/xagent-cli')}`);
958
1055
  console.log('');
1056
+ process.exit(0);
959
1057
  });
960
1058
  program
961
1059
  .command('gui')
@@ -1026,7 +1124,7 @@ program
1026
1124
  return result.response || result.content || result.message || '';
1027
1125
  };
1028
1126
  }
1029
- const guiAgent = await createGUISubAgent({
1127
+ const _guiAgent = await createGUISubAgent({
1030
1128
  headless: options.headless ?? false,
1031
1129
  model: isLocalMode ? modelName : undefined,
1032
1130
  modelBaseUrl: isLocalMode ? baseUrl : undefined,
@@ -1095,7 +1193,7 @@ program
1095
1193
  if (files.length === 0) {
1096
1194
  console.log(colors.textMuted('No memory files found.'));
1097
1195
  console.log('');
1098
- return;
1196
+ process.exit(0);
1099
1197
  }
1100
1198
  const globalFile = files.find(f => f === 'global.md');
1101
1199
  const projectFiles = files.filter(f => f.startsWith('project_'));
@@ -1128,7 +1226,7 @@ program
1128
1226
  console.log(colors.textMuted(`Total: ${files.length} memory file(s)`));
1129
1227
  console.log('');
1130
1228
  }
1131
- catch (error) {
1229
+ catch {
1132
1230
  console.log(colors.textMuted('No memory files found.'));
1133
1231
  console.log('');
1134
1232
  }
@@ -1144,7 +1242,7 @@ program
1144
1242
  if (projectFiles.length === 0) {
1145
1243
  console.log(colors.textMuted('No project memories to clean.'));
1146
1244
  console.log('');
1147
- return;
1245
+ process.exit(0);
1148
1246
  }
1149
1247
  let cleaned = 0;
1150
1248
  for (const file of projectFiles) {
@@ -1208,7 +1306,7 @@ program
1208
1306
  if (files.length === 0) {
1209
1307
  console.log(colors.textMuted('No memory files to clean.'));
1210
1308
  console.log('');
1211
- return;
1309
+ process.exit(0);
1212
1310
  }
1213
1311
  let cleaned = 0;
1214
1312
  for (const file of files) {
@@ -1271,11 +1369,13 @@ program
1271
1369
  if (shouldUpdate === true) {
1272
1370
  console.log('');
1273
1371
  await updateManager.autoUpdate();
1372
+ process.exit(0);
1274
1373
  }
1275
1374
  }
1276
1375
  else {
1277
1376
  console.log(colors.success(` āœ… You are using the latest version`));
1278
1377
  console.log('');
1378
+ process.exit(0);
1279
1379
  }
1280
1380
  }
1281
1381
  catch (error) {
@@ -1291,7 +1391,7 @@ if (!process.argv.slice(2).length) {
1291
1391
  // Global error handling - prevent crashes from uncaught errors
1292
1392
  // ============================================================
1293
1393
  // Handle uncaught promise rejections
1294
- process.on('unhandledRejection', (reason, promise) => {
1394
+ process.on('unhandledRejection', (reason, _promise) => {
1295
1395
  console.error('\nāŒ An unexpected error occurred');
1296
1396
  if (reason instanceof Error) {
1297
1397
  console.error(` ${reason.message}`);