@sowonai/crewx-cli 0.4.0-dev.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 (173) hide show
  1. package/README.md +529 -0
  2. package/dist/ai-provider.service.d.ts +36 -0
  3. package/dist/ai-provider.service.js +191 -0
  4. package/dist/ai-provider.service.js.map +1 -0
  5. package/dist/ai.service.d.ts +57 -0
  6. package/dist/ai.service.js +628 -0
  7. package/dist/ai.service.js.map +1 -0
  8. package/dist/app.module.d.ts +5 -0
  9. package/dist/app.module.js +103 -0
  10. package/dist/app.module.js.map +1 -0
  11. package/dist/cli/agent.handler.d.ts +2 -0
  12. package/dist/cli/agent.handler.js +140 -0
  13. package/dist/cli/agent.handler.js.map +1 -0
  14. package/dist/cli/chat.handler.d.ts +19 -0
  15. package/dist/cli/chat.handler.js +431 -0
  16. package/dist/cli/chat.handler.js.map +1 -0
  17. package/dist/cli/cli.handler.d.ts +4 -0
  18. package/dist/cli/cli.handler.js +97 -0
  19. package/dist/cli/cli.handler.js.map +1 -0
  20. package/dist/cli/doctor.handler.d.ts +36 -0
  21. package/dist/cli/doctor.handler.js +382 -0
  22. package/dist/cli/doctor.handler.js.map +1 -0
  23. package/dist/cli/execute.handler.d.ts +2 -0
  24. package/dist/cli/execute.handler.js +319 -0
  25. package/dist/cli/execute.handler.js.map +1 -0
  26. package/dist/cli/help.handler.d.ts +2 -0
  27. package/dist/cli/help.handler.js +10 -0
  28. package/dist/cli/help.handler.js.map +1 -0
  29. package/dist/cli/init.handler.d.ts +26 -0
  30. package/dist/cli/init.handler.js +450 -0
  31. package/dist/cli/init.handler.js.map +1 -0
  32. package/dist/cli/mcp.handler.d.ts +3 -0
  33. package/dist/cli/mcp.handler.js +121 -0
  34. package/dist/cli/mcp.handler.js.map +1 -0
  35. package/dist/cli/query.handler.d.ts +2 -0
  36. package/dist/cli/query.handler.js +380 -0
  37. package/dist/cli/query.handler.js.map +1 -0
  38. package/dist/cli/templates.handler.d.ts +2 -0
  39. package/dist/cli/templates.handler.js +100 -0
  40. package/dist/cli/templates.handler.js.map +1 -0
  41. package/dist/cli-options.d.ts +29 -0
  42. package/dist/cli-options.js +234 -0
  43. package/dist/cli-options.js.map +1 -0
  44. package/dist/config/timeout.config.d.ts +14 -0
  45. package/dist/config/timeout.config.js +34 -0
  46. package/dist/config/timeout.config.js.map +1 -0
  47. package/dist/conversation/base-conversation-history.provider.d.ts +12 -0
  48. package/dist/conversation/base-conversation-history.provider.js +45 -0
  49. package/dist/conversation/base-conversation-history.provider.js.map +1 -0
  50. package/dist/conversation/cli-conversation-history.provider.d.ts +16 -0
  51. package/dist/conversation/cli-conversation-history.provider.js +111 -0
  52. package/dist/conversation/cli-conversation-history.provider.js.map +1 -0
  53. package/dist/conversation/conversation-provider.factory.d.ts +10 -0
  54. package/dist/conversation/conversation-provider.factory.js +50 -0
  55. package/dist/conversation/conversation-provider.factory.js.map +1 -0
  56. package/dist/conversation/index.d.ts +6 -0
  57. package/dist/conversation/index.js +27 -0
  58. package/dist/conversation/index.js.map +1 -0
  59. package/dist/conversation/slack-conversation-history.provider.d.ts +28 -0
  60. package/dist/conversation/slack-conversation-history.provider.js +278 -0
  61. package/dist/conversation/slack-conversation-history.provider.js.map +1 -0
  62. package/dist/crewx.tool.d.ts +332 -0
  63. package/dist/crewx.tool.js +1461 -0
  64. package/dist/crewx.tool.js.map +1 -0
  65. package/dist/guards/bearer-auth.guard.d.ts +7 -0
  66. package/dist/guards/bearer-auth.guard.js +44 -0
  67. package/dist/guards/bearer-auth.guard.js.map +1 -0
  68. package/dist/health.controller.d.ts +6 -0
  69. package/dist/health.controller.js +32 -0
  70. package/dist/health.controller.js.map +1 -0
  71. package/dist/main.d.ts +1 -0
  72. package/dist/main.js +267 -0
  73. package/dist/main.js.map +1 -0
  74. package/dist/mcp.controller.d.ts +8 -0
  75. package/dist/mcp.controller.js +62 -0
  76. package/dist/mcp.controller.js.map +1 -0
  77. package/dist/project.service.d.ts +44 -0
  78. package/dist/project.service.js +299 -0
  79. package/dist/project.service.js.map +1 -0
  80. package/dist/providers/base-ai.provider.d.ts +50 -0
  81. package/dist/providers/base-ai.provider.js +624 -0
  82. package/dist/providers/base-ai.provider.js.map +1 -0
  83. package/dist/providers/claude.provider.d.ts +25 -0
  84. package/dist/providers/claude.provider.js +362 -0
  85. package/dist/providers/claude.provider.js.map +1 -0
  86. package/dist/providers/codex.provider.d.ts +17 -0
  87. package/dist/providers/codex.provider.js +99 -0
  88. package/dist/providers/codex.provider.js.map +1 -0
  89. package/dist/providers/copilot.provider.d.ts +25 -0
  90. package/dist/providers/copilot.provider.js +266 -0
  91. package/dist/providers/copilot.provider.js.map +1 -0
  92. package/dist/providers/dynamic-provider.factory.d.ts +55 -0
  93. package/dist/providers/dynamic-provider.factory.js +586 -0
  94. package/dist/providers/dynamic-provider.factory.js.map +1 -0
  95. package/dist/providers/gemini.provider.d.ts +22 -0
  96. package/dist/providers/gemini.provider.js +147 -0
  97. package/dist/providers/gemini.provider.js.map +1 -0
  98. package/dist/services/agent-loader.service.d.ts +29 -0
  99. package/dist/services/agent-loader.service.js +370 -0
  100. package/dist/services/agent-loader.service.js.map +1 -0
  101. package/dist/services/auth.service.d.ts +9 -0
  102. package/dist/services/auth.service.js +47 -0
  103. package/dist/services/auth.service.js.map +1 -0
  104. package/dist/services/config-validator.service.d.ts +28 -0
  105. package/dist/services/config-validator.service.js +467 -0
  106. package/dist/services/config-validator.service.js.map +1 -0
  107. package/dist/services/config.service.d.ts +45 -0
  108. package/dist/services/config.service.js +180 -0
  109. package/dist/services/config.service.js.map +1 -0
  110. package/dist/services/context-enhancement.service.d.ts +13 -0
  111. package/dist/services/context-enhancement.service.js +169 -0
  112. package/dist/services/context-enhancement.service.js.map +1 -0
  113. package/dist/services/document-loader.service.d.ts +16 -0
  114. package/dist/services/document-loader.service.js +137 -0
  115. package/dist/services/document-loader.service.js.map +1 -0
  116. package/dist/services/help.service.d.ts +5 -0
  117. package/dist/services/help.service.js +117 -0
  118. package/dist/services/help.service.js.map +1 -0
  119. package/dist/services/intelligent-compression.service.d.ts +20 -0
  120. package/dist/services/intelligent-compression.service.js +179 -0
  121. package/dist/services/intelligent-compression.service.js.map +1 -0
  122. package/dist/services/mcp-client.service.d.ts +26 -0
  123. package/dist/services/mcp-client.service.js +81 -0
  124. package/dist/services/mcp-client.service.js.map +1 -0
  125. package/dist/services/parallel-processing.service.d.ts +108 -0
  126. package/dist/services/parallel-processing.service.js +268 -0
  127. package/dist/services/parallel-processing.service.js.map +1 -0
  128. package/dist/services/remote-agent.service.d.ts +49 -0
  129. package/dist/services/remote-agent.service.js +215 -0
  130. package/dist/services/remote-agent.service.js.map +1 -0
  131. package/dist/services/result-formatter.service.d.ts +27 -0
  132. package/dist/services/result-formatter.service.js +126 -0
  133. package/dist/services/result-formatter.service.js.map +1 -0
  134. package/dist/services/task-management.service.d.ts +63 -0
  135. package/dist/services/task-management.service.js +272 -0
  136. package/dist/services/task-management.service.js.map +1 -0
  137. package/dist/services/template.service.d.ts +36 -0
  138. package/dist/services/template.service.js +195 -0
  139. package/dist/services/template.service.js.map +1 -0
  140. package/dist/services/tool-call.service.d.ts +53 -0
  141. package/dist/services/tool-call.service.js +1061 -0
  142. package/dist/services/tool-call.service.js.map +1 -0
  143. package/dist/slack/formatters/message.formatter.d.ts +25 -0
  144. package/dist/slack/formatters/message.formatter.js +246 -0
  145. package/dist/slack/formatters/message.formatter.js.map +1 -0
  146. package/dist/slack/slack-bot.d.ts +24 -0
  147. package/dist/slack/slack-bot.js +467 -0
  148. package/dist/slack/slack-bot.js.map +1 -0
  149. package/dist/stderr.logger.d.ts +8 -0
  150. package/dist/stderr.logger.js +26 -0
  151. package/dist/stderr.logger.js.map +1 -0
  152. package/dist/utils/config-utils.d.ts +15 -0
  153. package/dist/utils/config-utils.js +69 -0
  154. package/dist/utils/config-utils.js.map +1 -0
  155. package/dist/utils/mcp-installer.d.ts +20 -0
  156. package/dist/utils/mcp-installer.js +199 -0
  157. package/dist/utils/mcp-installer.js.map +1 -0
  158. package/dist/utils/mention-parser.d.ts +18 -0
  159. package/dist/utils/mention-parser.js +136 -0
  160. package/dist/utils/mention-parser.js.map +1 -0
  161. package/dist/utils/simple-security.d.ts +3 -0
  162. package/dist/utils/simple-security.js +20 -0
  163. package/dist/utils/simple-security.js.map +1 -0
  164. package/dist/utils/stdin-utils.d.ts +27 -0
  165. package/dist/utils/stdin-utils.js +130 -0
  166. package/dist/utils/stdin-utils.js.map +1 -0
  167. package/dist/utils/template-processor.d.ts +32 -0
  168. package/dist/utils/template-processor.js +202 -0
  169. package/dist/utils/template-processor.js.map +1 -0
  170. package/dist/version.d.ts +1 -0
  171. package/dist/version.js +17 -0
  172. package/dist/version.js.map +1 -0
  173. package/package.json +122 -0
@@ -0,0 +1,5 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { CliOptions } from './cli-options';
3
+ export declare class AppModule {
4
+ static forRoot(options: CliOptions): DynamicModule;
5
+ }
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var AppModule_1;
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AppModule = void 0;
11
+ const common_1 = require("@nestjs/common");
12
+ const core_1 = require("@nestjs/core");
13
+ const nestjs_mcp_adapter_1 = require("@sowonai/nestjs-mcp-adapter");
14
+ const ai_service_1 = require("./ai.service");
15
+ const project_service_1 = require("./project.service");
16
+ const crewx_tool_1 = require("./crewx.tool");
17
+ const mcp_controller_1 = require("./mcp.controller");
18
+ const crewx_sdk_1 = require("@sowonai/crewx-sdk");
19
+ const ai_provider_service_1 = require("./ai-provider.service");
20
+ const claude_provider_1 = require("./providers/claude.provider");
21
+ const copilot_provider_1 = require("./providers/copilot.provider");
22
+ const gemini_provider_1 = require("./providers/gemini.provider");
23
+ const codex_provider_1 = require("./providers/codex.provider");
24
+ const dynamic_provider_factory_1 = require("./providers/dynamic-provider.factory");
25
+ const parallel_processing_service_1 = require("./services/parallel-processing.service");
26
+ const task_management_service_1 = require("./services/task-management.service");
27
+ const result_formatter_service_1 = require("./services/result-formatter.service");
28
+ const tool_call_service_1 = require("./services/tool-call.service");
29
+ const agent_loader_service_1 = require("./services/agent-loader.service");
30
+ const template_service_1 = require("./services/template.service");
31
+ const document_loader_service_1 = require("./services/document-loader.service");
32
+ const init_handler_1 = require("./cli/init.handler");
33
+ const doctor_handler_1 = require("./cli/doctor.handler");
34
+ const help_service_1 = require("./services/help.service");
35
+ const config_service_1 = require("./services/config.service");
36
+ const context_enhancement_service_1 = require("./services/context-enhancement.service");
37
+ const intelligent_compression_service_1 = require("./services/intelligent-compression.service");
38
+ const config_validator_service_1 = require("./services/config-validator.service");
39
+ const conversation_1 = require("./conversation");
40
+ const auth_service_1 = require("./services/auth.service");
41
+ const bearer_auth_guard_1 = require("./guards/bearer-auth.guard");
42
+ const health_controller_1 = require("./health.controller");
43
+ const mcp_client_service_1 = require("./services/mcp-client.service");
44
+ const remote_agent_service_1 = require("./services/remote-agent.service");
45
+ let AppModule = AppModule_1 = class AppModule {
46
+ static forRoot(options) {
47
+ return {
48
+ module: AppModule_1,
49
+ imports: [
50
+ core_1.DiscoveryModule,
51
+ nestjs_mcp_adapter_1.McpAdapterModule.forRoot({
52
+ servers: {
53
+ [crewx_sdk_1.SERVER_NAME]: {
54
+ version: '0.1.0',
55
+ instructions: 'CrewX server: AI-powered code analysis and project exploration tools.',
56
+ },
57
+ }
58
+ }),
59
+ ],
60
+ providers: [
61
+ {
62
+ provide: 'CLI_OPTIONS',
63
+ useValue: options,
64
+ },
65
+ ai_service_1.AIService,
66
+ project_service_1.ProjectService,
67
+ crewx_tool_1.CrewXTool,
68
+ ai_provider_service_1.AIProviderService,
69
+ claude_provider_1.ClaudeProvider,
70
+ copilot_provider_1.CopilotProvider,
71
+ gemini_provider_1.GeminiProvider,
72
+ codex_provider_1.CodexProvider,
73
+ dynamic_provider_factory_1.DynamicProviderFactory,
74
+ parallel_processing_service_1.ParallelProcessingService,
75
+ task_management_service_1.TaskManagementService,
76
+ result_formatter_service_1.ResultFormatterService,
77
+ template_service_1.TemplateService,
78
+ document_loader_service_1.DocumentLoaderService,
79
+ config_validator_service_1.ConfigValidatorService,
80
+ context_enhancement_service_1.ContextEnhancementService,
81
+ intelligent_compression_service_1.IntelligentCompressionService,
82
+ conversation_1.ConversationProviderFactory,
83
+ tool_call_service_1.ToolCallService,
84
+ agent_loader_service_1.AgentLoaderService,
85
+ mcp_client_service_1.McpClientService,
86
+ remote_agent_service_1.RemoteAgentService,
87
+ auth_service_1.AuthService,
88
+ bearer_auth_guard_1.BearerAuthGuard,
89
+ init_handler_1.InitHandler,
90
+ doctor_handler_1.DoctorHandler,
91
+ help_service_1.HelpService,
92
+ config_service_1.ConfigService,
93
+ ],
94
+ controllers: [mcp_controller_1.McpController, health_controller_1.HealthController],
95
+ exports: [ai_service_1.AIService, project_service_1.ProjectService, crewx_tool_1.CrewXTool, ai_provider_service_1.AIProviderService],
96
+ };
97
+ }
98
+ };
99
+ exports.AppModule = AppModule;
100
+ exports.AppModule = AppModule = AppModule_1 = __decorate([
101
+ (0, common_1.Module)({})
102
+ ], AppModule);
103
+ //# sourceMappingURL=app.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.module.js","sourceRoot":"","sources":["../src/app.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAuD;AACvD,uCAA+C;AAC/C,oEAA+D;AAC/D,6CAAyC;AACzC,uDAAmD;AACnD,6CAAyC;AACzC,qDAAiD;AAEjD,kDAAiD;AACjD,+DAA0D;AAC1D,iEAA6D;AAC7D,mEAA+D;AAC/D,iEAA6D;AAC7D,+DAA2D;AAC3D,mFAA8E;AAC9E,wFAAmF;AACnF,gFAA2E;AAC3E,kFAA6E;AAC7E,oEAA+D;AAC/D,0EAAqE;AACrE,kEAA8D;AAC9D,gFAA2E;AAC3E,qDAAiD;AACjD,yDAAqD;AACrD,0DAAsD;AACtD,8DAA0D;AAC1D,wFAAmF;AACnF,gGAA2F;AAC3F,kFAA6E;AAC7E,iDAA6D;AAC7D,0DAAsD;AACtD,kEAA6D;AAC7D,2DAAuD;AACvD,sEAAiE;AACjE,0EAAqE;AAG9D,IAAM,SAAS,iBAAf,MAAM,SAAS;IACpB,MAAM,CAAC,OAAO,CAAC,OAAmB;QAChC,OAAO;YACL,MAAM,EAAE,WAAS;YACjB,OAAO,EAAE;gBACP,sBAAe;gBACf,qCAAgB,CAAC,OAAO,CAAC;oBACvB,OAAO,EAAE;wBACP,CAAC,uBAAW,CAAC,EAAE;4BACb,OAAO,EAAE,OAAO;4BAChB,YAAY,EAAE,uEAAuE;yBACtF;qBACF;iBACF,CAAC;aACH;YACD,SAAS,EAAE;gBACT;oBACE,OAAO,EAAE,aAAa;oBACtB,QAAQ,EAAE,OAAO;iBAClB;gBACD,sBAAS;gBACT,gCAAc;gBACd,sBAAS;gBACT,uCAAiB;gBACjB,gCAAc;gBACd,kCAAe;gBACf,gCAAc;gBACd,8BAAa;gBACb,iDAAsB;gBACtB,uDAAyB;gBACzB,+CAAqB;gBACrB,iDAAsB;gBACtB,kCAAe;gBACf,+CAAqB;gBACrB,iDAAsB;gBAEtB,uDAAyB;gBACzB,+DAA6B;gBAE7B,0CAA2B;gBAE3B,mCAAe;gBACf,yCAAkB;gBAClB,qCAAgB;gBAChB,yCAAkB;gBAClB,0BAAW;gBACX,mCAAe;gBAEf,0BAAW;gBACX,8BAAa;gBACb,0BAAW;gBACX,8BAAa;aACd;YACD,WAAW,EAAE,CAAC,8BAAa,EAAE,oCAAgB,CAAC;YAC9C,OAAO,EAAE,CAAC,sBAAS,EAAE,gCAAc,EAAE,sBAAS,EAAE,uCAAiB,CAAC;SACnE,CAAC;IACJ,CAAC;CACF,CAAA;AAzDY,8BAAS;oBAAT,SAAS;IADrB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,SAAS,CAyDrB"}
@@ -0,0 +1,2 @@
1
+ import { CliOptions } from '../cli-options';
2
+ export declare function handleAgent(app: any, args: CliOptions): Promise<void>;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleAgent = handleAgent;
4
+ const common_1 = require("@nestjs/common");
5
+ const crewx_tool_1 = require("../crewx.tool");
6
+ const logger = new common_1.Logger('AgentHandler');
7
+ async function handleAgent(app, args) {
8
+ logger.log('Agent command received');
9
+ try {
10
+ const crewXTool = app.get(crewx_tool_1.CrewXTool);
11
+ const raw = Boolean(args.raw);
12
+ const resolvedSubcommand = (args.subcommand || process.argv[3] || '').toLowerCase();
13
+ switch (resolvedSubcommand) {
14
+ case 'ls':
15
+ case 'list':
16
+ await handleAgentList(crewXTool, raw);
17
+ break;
18
+ case '':
19
+ printAgentHelp();
20
+ process.exit(1);
21
+ break;
22
+ default:
23
+ logger.error(`Unknown agent subcommand: ${resolvedSubcommand}`);
24
+ console.error(`❌ Unknown agent subcommand: ${resolvedSubcommand}`);
25
+ printAgentHelp();
26
+ process.exit(1);
27
+ }
28
+ }
29
+ catch (error) {
30
+ const message = error instanceof Error ? error.message : String(error);
31
+ logger.error(`Agent command failed: ${message}`);
32
+ console.error(`❌ Agent command failed: ${message}`);
33
+ process.exit(1);
34
+ }
35
+ }
36
+ async function handleAgentList(crewXTool, raw) {
37
+ logger.log('Listing configured agents');
38
+ console.log('[CrewX] Loading configured agents...\n');
39
+ try {
40
+ const result = await crewXTool.listAgents();
41
+ if (!result?.success) {
42
+ const errorMessage = result?.error || 'Unknown error';
43
+ logger.error(`Failed to list agents: ${errorMessage}`);
44
+ console.error(`❌ Failed to load agents: ${errorMessage}`);
45
+ process.exit(1);
46
+ }
47
+ const agents = Array.isArray(result.availableAgents) ? result.availableAgents : [];
48
+ const totalCount = result.totalCount ?? agents.length;
49
+ const configPath = process.env.CREWX_CONFIG ?? null;
50
+ if (raw) {
51
+ const payload = {
52
+ totalCount,
53
+ configurationSource: result.configurationSource ?? (configPath ? 'External YAML file' : 'Default hardcoded values'),
54
+ configPath,
55
+ agents,
56
+ };
57
+ console.log(JSON.stringify(payload, null, 2));
58
+ return;
59
+ }
60
+ if (agents.length === 0) {
61
+ console.log('WARNING: No agents configured.');
62
+ if (!configPath) {
63
+ console.log('Set CREWX_CONFIG to point to your crewx.yaml configuration file.');
64
+ }
65
+ return;
66
+ }
67
+ console.log(`Available Agents (${totalCount})\n`);
68
+ agents.forEach((agent, index) => {
69
+ const headerParts = [`@${agent.id}`];
70
+ if (agent.name && agent.name !== agent.id) {
71
+ headerParts.push(agent.name);
72
+ }
73
+ console.log(`${index + 1}. ${headerParts.join(' - ')}`);
74
+ console.log(` Provider: ${formatProvider(agent.provider)}`);
75
+ console.log(` Working Dir: ${agent.workingDirectory}`);
76
+ if (agent.role) {
77
+ console.log(` Role: ${agent.role}`);
78
+ }
79
+ if (agent.team) {
80
+ console.log(` Team: ${agent.team}`);
81
+ }
82
+ if (agent.inline?.model) {
83
+ console.log(` Default Model: ${agent.inline.model}`);
84
+ }
85
+ if (agent.specialties && agent.specialties.length > 0) {
86
+ console.log(` Specialties: ${agent.specialties.join(', ')}`);
87
+ }
88
+ if (agent.capabilities && agent.capabilities.length > 0) {
89
+ console.log(` Capabilities: ${agent.capabilities.join(', ')}`);
90
+ }
91
+ if (agent.remote) {
92
+ const remoteDetails = agent.remote.url ? ` ${agent.remote.url}` : '';
93
+ console.log(` Remote: ${agent.remote.type || 'remote'}${remoteDetails}`);
94
+ if (agent.remote.agentId) {
95
+ console.log(` Remote Agent ID: ${agent.remote.agentId}`);
96
+ }
97
+ }
98
+ if (index < agents.length - 1) {
99
+ console.log('');
100
+ }
101
+ });
102
+ console.log('\nConfiguration Source:', result.configurationSource ?? (configPath ? 'External YAML file' : 'Default hardcoded values'));
103
+ if (configPath) {
104
+ console.log(`Config Path: ${configPath}`);
105
+ }
106
+ else {
107
+ console.log('Tip: Set CREWX_CONFIG to point to your crewx.yaml file to customize agents.');
108
+ }
109
+ }
110
+ catch (error) {
111
+ const message = error instanceof Error ? error.message : String(error);
112
+ logger.error(`Failed to list agents: ${message}`);
113
+ console.error(`❌ Failed to list agents: ${message}`);
114
+ process.exit(1);
115
+ }
116
+ }
117
+ function formatProvider(provider) {
118
+ if (Array.isArray(provider)) {
119
+ return provider.join(', ');
120
+ }
121
+ return provider;
122
+ }
123
+ function printAgentHelp() {
124
+ console.log(`
125
+ CrewX Agent Management
126
+
127
+ Usage:
128
+ crewx agent ls # List configured agents
129
+ crewx agent list # Alias for ls
130
+
131
+ Examples:
132
+ crewx agent ls
133
+ CREWX_CONFIG=./crewx.yaml crewx agent list
134
+
135
+ Tips:
136
+ - Use --raw to print JSON output suitable for scripting.
137
+ - Set CREWX_CONFIG to point to your custom crewx.yaml file.
138
+ `);
139
+ }
140
+ //# sourceMappingURL=agent.handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.handler.js","sourceRoot":"","sources":["../../src/cli/agent.handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { CrewXTool } from '../crewx.tool';
2
+ import { ConversationProviderFactory } from '../conversation';
3
+ import { CliOptions } from '../cli-options';
4
+ export declare function handleChat(app: any, args: CliOptions): Promise<void>;
5
+ export declare class ChatHandler {
6
+ private readonly crewXTool;
7
+ private readonly providerFactory;
8
+ private readonly logger;
9
+ private conversationProvider;
10
+ private currentThreadId?;
11
+ constructor(crewXTool: CrewXTool, providerFactory: ConversationProviderFactory);
12
+ handleChatCommand(options: any): Promise<void>;
13
+ private handleSingleMessage;
14
+ private startInteractiveChat;
15
+ private listThreads;
16
+ private showHistory;
17
+ private deleteThread;
18
+ private cleanupThreads;
19
+ }