crewx 0.3.0 → 0.4.0-dev.0

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 (233) hide show
  1. package/bin/crewx.js +6 -0
  2. package/package.json +9 -107
  3. package/LICENSE +0 -201
  4. package/README.md +0 -234
  5. package/crewx.yaml +0 -2069
  6. package/dist/agent.types.d.ts +0 -117
  7. package/dist/agent.types.js +0 -16
  8. package/dist/agent.types.js.map +0 -1
  9. package/dist/ai-provider.service.d.ts +0 -36
  10. package/dist/ai-provider.service.js +0 -191
  11. package/dist/ai-provider.service.js.map +0 -1
  12. package/dist/ai.service.d.ts +0 -57
  13. package/dist/ai.service.js +0 -629
  14. package/dist/ai.service.js.map +0 -1
  15. package/dist/app.module.d.ts +0 -5
  16. package/dist/app.module.js +0 -103
  17. package/dist/app.module.js.map +0 -1
  18. package/dist/cli/agent.handler.d.ts +0 -2
  19. package/dist/cli/agent.handler.js +0 -140
  20. package/dist/cli/agent.handler.js.map +0 -1
  21. package/dist/cli/chat.handler.d.ts +0 -19
  22. package/dist/cli/chat.handler.js +0 -431
  23. package/dist/cli/chat.handler.js.map +0 -1
  24. package/dist/cli/cli.handler.d.ts +0 -4
  25. package/dist/cli/cli.handler.js +0 -97
  26. package/dist/cli/cli.handler.js.map +0 -1
  27. package/dist/cli/doctor.handler.d.ts +0 -36
  28. package/dist/cli/doctor.handler.js +0 -382
  29. package/dist/cli/doctor.handler.js.map +0 -1
  30. package/dist/cli/execute.handler.d.ts +0 -2
  31. package/dist/cli/execute.handler.js +0 -319
  32. package/dist/cli/execute.handler.js.map +0 -1
  33. package/dist/cli/help.handler.d.ts +0 -2
  34. package/dist/cli/help.handler.js +0 -10
  35. package/dist/cli/help.handler.js.map +0 -1
  36. package/dist/cli/init.handler.d.ts +0 -26
  37. package/dist/cli/init.handler.js +0 -450
  38. package/dist/cli/init.handler.js.map +0 -1
  39. package/dist/cli/mcp.handler.d.ts +0 -3
  40. package/dist/cli/mcp.handler.js +0 -121
  41. package/dist/cli/mcp.handler.js.map +0 -1
  42. package/dist/cli/query.handler.d.ts +0 -2
  43. package/dist/cli/query.handler.js +0 -380
  44. package/dist/cli/query.handler.js.map +0 -1
  45. package/dist/cli/templates.handler.d.ts +0 -2
  46. package/dist/cli/templates.handler.js +0 -100
  47. package/dist/cli/templates.handler.js.map +0 -1
  48. package/dist/cli-options.d.ts +0 -29
  49. package/dist/cli-options.js +0 -234
  50. package/dist/cli-options.js.map +0 -1
  51. package/dist/config/timeout.config.d.ts +0 -14
  52. package/dist/config/timeout.config.js +0 -34
  53. package/dist/config/timeout.config.js.map +0 -1
  54. package/dist/constants.d.ts +0 -4
  55. package/dist/constants.js +0 -8
  56. package/dist/constants.js.map +0 -1
  57. package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
  58. package/dist/conversation/base-conversation-history.provider.js +0 -45
  59. package/dist/conversation/base-conversation-history.provider.js.map +0 -1
  60. package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
  61. package/dist/conversation/cli-conversation-history.provider.js +0 -111
  62. package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
  63. package/dist/conversation/conversation-config.d.ts +0 -9
  64. package/dist/conversation/conversation-config.js +0 -25
  65. package/dist/conversation/conversation-config.js.map +0 -1
  66. package/dist/conversation/conversation-history.interface.d.ts +0 -25
  67. package/dist/conversation/conversation-history.interface.js +0 -3
  68. package/dist/conversation/conversation-history.interface.js.map +0 -1
  69. package/dist/conversation/conversation-provider.factory.d.ts +0 -10
  70. package/dist/conversation/conversation-provider.factory.js +0 -50
  71. package/dist/conversation/conversation-provider.factory.js.map +0 -1
  72. package/dist/conversation/conversation-storage.service.d.ts +0 -16
  73. package/dist/conversation/conversation-storage.service.js +0 -220
  74. package/dist/conversation/conversation-storage.service.js.map +0 -1
  75. package/dist/conversation/index.d.ts +0 -7
  76. package/dist/conversation/index.js +0 -24
  77. package/dist/conversation/index.js.map +0 -1
  78. package/dist/conversation/slack-conversation-history.provider.d.ts +0 -28
  79. package/dist/conversation/slack-conversation-history.provider.js +0 -278
  80. package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
  81. package/dist/crewx.tool.d.ts +0 -332
  82. package/dist/crewx.tool.js +0 -1463
  83. package/dist/crewx.tool.js.map +0 -1
  84. package/dist/guards/bearer-auth.guard.d.ts +0 -7
  85. package/dist/guards/bearer-auth.guard.js +0 -44
  86. package/dist/guards/bearer-auth.guard.js.map +0 -1
  87. package/dist/health.controller.d.ts +0 -6
  88. package/dist/health.controller.js +0 -32
  89. package/dist/health.controller.js.map +0 -1
  90. package/dist/knowledge/DocumentManager.d.ts +0 -4
  91. package/dist/knowledge/DocumentManager.js +0 -119
  92. package/dist/knowledge/DocumentManager.js.map +0 -1
  93. package/dist/main.d.ts +0 -1
  94. package/dist/main.js +0 -268
  95. package/dist/main.js.map +0 -1
  96. package/dist/mcp.controller.d.ts +0 -8
  97. package/dist/mcp.controller.js +0 -62
  98. package/dist/mcp.controller.js.map +0 -1
  99. package/dist/project.service.d.ts +0 -44
  100. package/dist/project.service.js +0 -299
  101. package/dist/project.service.js.map +0 -1
  102. package/dist/providers/ai-provider.interface.d.ts +0 -50
  103. package/dist/providers/ai-provider.interface.js +0 -23
  104. package/dist/providers/ai-provider.interface.js.map +0 -1
  105. package/dist/providers/base-ai.provider.d.ts +0 -50
  106. package/dist/providers/base-ai.provider.js +0 -624
  107. package/dist/providers/base-ai.provider.js.map +0 -1
  108. package/dist/providers/claude.provider.d.ts +0 -25
  109. package/dist/providers/claude.provider.js +0 -362
  110. package/dist/providers/claude.provider.js.map +0 -1
  111. package/dist/providers/codex.provider.d.ts +0 -17
  112. package/dist/providers/codex.provider.js +0 -99
  113. package/dist/providers/codex.provider.js.map +0 -1
  114. package/dist/providers/copilot.provider.d.ts +0 -25
  115. package/dist/providers/copilot.provider.js +0 -266
  116. package/dist/providers/copilot.provider.js.map +0 -1
  117. package/dist/providers/dynamic-provider.factory.d.ts +0 -55
  118. package/dist/providers/dynamic-provider.factory.js +0 -587
  119. package/dist/providers/dynamic-provider.factory.js.map +0 -1
  120. package/dist/providers/gemini.provider.d.ts +0 -22
  121. package/dist/providers/gemini.provider.js +0 -147
  122. package/dist/providers/gemini.provider.js.map +0 -1
  123. package/dist/services/agent-loader.service.d.ts +0 -29
  124. package/dist/services/agent-loader.service.js +0 -370
  125. package/dist/services/agent-loader.service.js.map +0 -1
  126. package/dist/services/auth.service.d.ts +0 -9
  127. package/dist/services/auth.service.js +0 -47
  128. package/dist/services/auth.service.js.map +0 -1
  129. package/dist/services/config-validator.service.d.ts +0 -28
  130. package/dist/services/config-validator.service.js +0 -467
  131. package/dist/services/config-validator.service.js.map +0 -1
  132. package/dist/services/config.service.d.ts +0 -45
  133. package/dist/services/config.service.js +0 -180
  134. package/dist/services/config.service.js.map +0 -1
  135. package/dist/services/context-enhancement.service.d.ts +0 -13
  136. package/dist/services/context-enhancement.service.js +0 -169
  137. package/dist/services/context-enhancement.service.js.map +0 -1
  138. package/dist/services/document-loader.service.d.ts +0 -16
  139. package/dist/services/document-loader.service.js +0 -137
  140. package/dist/services/document-loader.service.js.map +0 -1
  141. package/dist/services/help.service.d.ts +0 -5
  142. package/dist/services/help.service.js +0 -117
  143. package/dist/services/help.service.js.map +0 -1
  144. package/dist/services/intelligent-compression.service.d.ts +0 -20
  145. package/dist/services/intelligent-compression.service.js +0 -179
  146. package/dist/services/intelligent-compression.service.js.map +0 -1
  147. package/dist/services/mcp-client.service.d.ts +0 -26
  148. package/dist/services/mcp-client.service.js +0 -81
  149. package/dist/services/mcp-client.service.js.map +0 -1
  150. package/dist/services/parallel-processing.service.d.ts +0 -108
  151. package/dist/services/parallel-processing.service.js +0 -268
  152. package/dist/services/parallel-processing.service.js.map +0 -1
  153. package/dist/services/remote-agent.service.d.ts +0 -49
  154. package/dist/services/remote-agent.service.js +0 -215
  155. package/dist/services/remote-agent.service.js.map +0 -1
  156. package/dist/services/result-formatter.service.d.ts +0 -27
  157. package/dist/services/result-formatter.service.js +0 -126
  158. package/dist/services/result-formatter.service.js.map +0 -1
  159. package/dist/services/task-management.service.d.ts +0 -63
  160. package/dist/services/task-management.service.js +0 -272
  161. package/dist/services/task-management.service.js.map +0 -1
  162. package/dist/services/template.service.d.ts +0 -36
  163. package/dist/services/template.service.js +0 -195
  164. package/dist/services/template.service.js.map +0 -1
  165. package/dist/services/tool-call.service.d.ts +0 -53
  166. package/dist/services/tool-call.service.js +0 -1061
  167. package/dist/services/tool-call.service.js.map +0 -1
  168. package/dist/slack/formatters/message.formatter.d.ts +0 -25
  169. package/dist/slack/formatters/message.formatter.js +0 -246
  170. package/dist/slack/formatters/message.formatter.js.map +0 -1
  171. package/dist/slack/slack-bot.d.ts +0 -24
  172. package/dist/slack/slack-bot.js +0 -467
  173. package/dist/slack/slack-bot.js.map +0 -1
  174. package/dist/stderr.logger.d.ts +0 -8
  175. package/dist/stderr.logger.js +0 -26
  176. package/dist/stderr.logger.js.map +0 -1
  177. package/dist/tsconfig.tsbuildinfo +0 -1
  178. package/dist/utils/config-utils.d.ts +0 -15
  179. package/dist/utils/config-utils.js +0 -69
  180. package/dist/utils/config-utils.js.map +0 -1
  181. package/dist/utils/error-utils.d.ts +0 -3
  182. package/dist/utils/error-utils.js +0 -27
  183. package/dist/utils/error-utils.js.map +0 -1
  184. package/dist/utils/math-utils.d.ts +0 -3
  185. package/dist/utils/math-utils.js +0 -10
  186. package/dist/utils/math-utils.js.map +0 -1
  187. package/dist/utils/mcp-installer.d.ts +0 -20
  188. package/dist/utils/mcp-installer.js +0 -199
  189. package/dist/utils/mcp-installer.js.map +0 -1
  190. package/dist/utils/mention-parser.d.ts +0 -18
  191. package/dist/utils/mention-parser.js +0 -136
  192. package/dist/utils/mention-parser.js.map +0 -1
  193. package/dist/utils/simple-security.d.ts +0 -3
  194. package/dist/utils/simple-security.js +0 -20
  195. package/dist/utils/simple-security.js.map +0 -1
  196. package/dist/utils/stdin-utils.d.ts +0 -27
  197. package/dist/utils/stdin-utils.js +0 -130
  198. package/dist/utils/stdin-utils.js.map +0 -1
  199. package/dist/utils/string-utils.d.ts +0 -1
  200. package/dist/utils/string-utils.js +0 -10
  201. package/dist/utils/string-utils.js.map +0 -1
  202. package/dist/utils/template-processor.d.ts +0 -32
  203. package/dist/utils/template-processor.js +0 -202
  204. package/dist/utils/template-processor.js.map +0 -1
  205. package/dist/version.d.ts +0 -1
  206. package/dist/version.js +0 -17
  207. package/dist/version.js.map +0 -1
  208. package/docs/CLA.md +0 -88
  209. package/docs/agent-configuration.md +0 -364
  210. package/docs/agent-registry-strategy.md +0 -348
  211. package/docs/branding-decision-crewx.md +0 -395
  212. package/docs/claude-code-docker-guide.md +0 -264
  213. package/docs/cli-guide.md +0 -439
  214. package/docs/development.md +0 -595
  215. package/docs/diagram1.svg +0 -1
  216. package/docs/guides/agent-best-practices.md +0 -97
  217. package/docs/guides/bug-management.md +0 -600
  218. package/docs/guides/git-bug-reference.md +0 -366
  219. package/docs/mcp-integration.md +0 -187
  220. package/docs/process/development-workflow.md +0 -84
  221. package/docs/remote-agents.md +0 -555
  222. package/docs/roadmap.md +0 -528
  223. package/docs/rules/branch-protection.md +0 -40
  224. package/docs/standards/rc-versioning.md +0 -60
  225. package/docs/standards/report-structure.md +0 -67
  226. package/docs/template-variables.md +0 -382
  227. package/docs/templates.md +0 -517
  228. package/docs/tools.md +0 -583
  229. package/docs/troubleshooting.md +0 -611
  230. package/templates/agents/default.yaml +0 -938
  231. package/templates/agents/minimal.yaml +0 -25
  232. package/templates/documents/crewcode-manual.md +0 -292
  233. package/templates/versions.json +0 -19
@@ -1,382 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21
- 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;
22
- return c > 3 && r && Object.defineProperty(target, key, r), r;
23
- };
24
- var __importStar = (this && this.__importStar) || (function () {
25
- var ownKeys = function(o) {
26
- ownKeys = Object.getOwnPropertyNames || function (o) {
27
- var ar = [];
28
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
29
- return ar;
30
- };
31
- return ownKeys(o);
32
- };
33
- return function (mod) {
34
- if (mod && mod.__esModule) return mod;
35
- var result = {};
36
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
37
- __setModuleDefault(result, mod);
38
- return result;
39
- };
40
- })();
41
- var __metadata = (this && this.__metadata) || function (k, v) {
42
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.DoctorHandler = void 0;
46
- exports.handleDoctor = handleDoctor;
47
- const common_1 = require("@nestjs/common");
48
- const fs_1 = require("fs");
49
- const path_1 = require("path");
50
- const yaml = __importStar(require("js-yaml"));
51
- const task_management_service_1 = require("../services/task-management.service");
52
- const result_formatter_service_1 = require("../services/result-formatter.service");
53
- const parallel_processing_service_1 = require("../services/parallel-processing.service");
54
- const ai_provider_service_1 = require("../ai-provider.service");
55
- let DoctorHandler = class DoctorHandler {
56
- constructor(taskManagementService, resultFormatterService, parallelProcessingService, aiProviderService) {
57
- this.taskManagementService = taskManagementService;
58
- this.resultFormatterService = resultFormatterService;
59
- this.parallelProcessingService = parallelProcessingService;
60
- this.aiProviderService = aiProviderService;
61
- }
62
- async handle(options = {}) {
63
- const taskId = this.taskManagementService.createTask({
64
- type: 'doctor',
65
- command: 'crewx doctor',
66
- options: options
67
- });
68
- try {
69
- this.taskManagementService.addTaskLog(taskId, {
70
- level: 'info',
71
- message: 'Starting CrewX system diagnosis'
72
- });
73
- const workingDir = options.workingDirectory || process.cwd();
74
- let configPath = options.config;
75
- if (!configPath) {
76
- const crewConfigPath = (0, path_1.join)(workingDir, 'crewx.yaml');
77
- const agentsYamlPath = (0, path_1.join)(workingDir, 'agents.yaml');
78
- if ((0, fs_1.existsSync)(crewConfigPath)) {
79
- configPath = 'crewx.yaml';
80
- }
81
- else if ((0, fs_1.existsSync)(agentsYamlPath)) {
82
- configPath = 'agents.yaml';
83
- }
84
- else {
85
- configPath = 'crewx.yaml';
86
- }
87
- }
88
- const fullConfigPath = (0, path_1.join)(workingDir, configPath);
89
- const diagnostics = [];
90
- const configDiagnostic = await this.checkConfigurationFile(fullConfigPath);
91
- diagnostics.push(configDiagnostic);
92
- const logsDiagnostic = await this.checkLogsDirectory(workingDir);
93
- diagnostics.push(logsDiagnostic);
94
- const aiProviderDiagnostics = await this.checkAIProviders();
95
- diagnostics.push(...aiProviderDiagnostics);
96
- if (configDiagnostic.status === 'success') {
97
- const testDiagnostics = await this.testAIProviders(fullConfigPath, taskId);
98
- diagnostics.push(...testDiagnostics);
99
- }
100
- const overallHealth = this.assessOverallHealth(diagnostics);
101
- const successMessage = this.formatDiagnosticReport(diagnostics, overallHealth);
102
- const isHealthy = overallHealth.status !== 'error';
103
- this.taskManagementService.completeTask(taskId, {
104
- message: successMessage,
105
- diagnostics,
106
- health: overallHealth
107
- }, isHealthy);
108
- return {
109
- success: isHealthy,
110
- message: successMessage,
111
- taskId,
112
- diagnostics
113
- };
114
- }
115
- catch (error) {
116
- const errorMessage = `Failed to complete system diagnosis: ${error instanceof Error ? error.message : String(error)}`;
117
- this.taskManagementService.addTaskLog(taskId, {
118
- level: 'error',
119
- message: errorMessage
120
- });
121
- this.taskManagementService.completeTask(taskId, { error: errorMessage }, false);
122
- return {
123
- success: false,
124
- message: errorMessage,
125
- taskId,
126
- diagnostics: [{
127
- name: 'System Error',
128
- status: 'error',
129
- message: errorMessage
130
- }]
131
- };
132
- }
133
- }
134
- async checkConfigurationFile(configPath) {
135
- try {
136
- if (!(0, fs_1.existsSync)(configPath)) {
137
- return {
138
- name: 'Configuration File',
139
- status: 'error',
140
- message: 'Configuration file not found',
141
- details: `Run 'crewx init' to create configuration file at ${configPath}`
142
- };
143
- }
144
- const configContent = (0, fs_1.readFileSync)(configPath, 'utf8');
145
- const config = yaml.load(configContent);
146
- if (!config || !config.agents || !Array.isArray(config.agents)) {
147
- return {
148
- name: 'Configuration File',
149
- status: 'error',
150
- message: 'Invalid configuration format',
151
- details: 'Configuration file exists but has invalid structure'
152
- };
153
- }
154
- if (config.agents.length === 0) {
155
- return {
156
- name: 'Configuration File',
157
- status: 'warning',
158
- message: 'No agents configured',
159
- details: 'Configuration file exists but contains no agent definitions'
160
- };
161
- }
162
- return {
163
- name: 'Configuration File',
164
- status: 'success',
165
- message: `Found ${config.agents.length} agent(s) configured`,
166
- details: `Configuration loaded from ${configPath}`
167
- };
168
- }
169
- catch (error) {
170
- return {
171
- name: 'Configuration File',
172
- status: 'error',
173
- message: 'Failed to parse configuration',
174
- details: `Error: ${error instanceof Error ? error.message : String(error)}`
175
- };
176
- }
177
- }
178
- async checkLogsDirectory(workingDir) {
179
- const logsDir = (0, path_1.join)(workingDir, '.crewx', 'logs');
180
- if (!(0, fs_1.existsSync)(logsDir)) {
181
- return {
182
- name: 'Logs Directory',
183
- status: 'warning',
184
- message: 'Logs directory not found',
185
- details: `Directory will be created automatically: ${logsDir}`
186
- };
187
- }
188
- return {
189
- name: 'Logs Directory',
190
- status: 'success',
191
- message: 'Logs directory exists',
192
- details: `Logs available at ${logsDir}`
193
- };
194
- }
195
- async checkAIProviders() {
196
- const providers = ['claude', 'gemini', 'copilot', 'codex'];
197
- const diagnostics = [];
198
- for (const provider of providers) {
199
- try {
200
- const providerInstance = this.aiProviderService.getProvider(`cli/${provider}`);
201
- const isAvailable = providerInstance ? await providerInstance.isAvailable() : false;
202
- diagnostics.push({
203
- name: `${provider.toUpperCase()} CLI`,
204
- status: isAvailable ? 'success' : 'warning',
205
- message: isAvailable ? 'Installed and available' : 'Not installed or not available',
206
- details: isAvailable ?
207
- `${provider} CLI is ready for use` :
208
- `Install ${provider} CLI to use ${provider} agents`
209
- });
210
- }
211
- catch (error) {
212
- diagnostics.push({
213
- name: `${provider.toUpperCase()} CLI`,
214
- status: 'error',
215
- message: 'Check failed',
216
- details: `Error checking ${provider}: ${error instanceof Error ? error.message : String(error)}`
217
- });
218
- }
219
- }
220
- return diagnostics;
221
- }
222
- async testAIProviders(configPath, taskId) {
223
- try {
224
- this.taskManagementService.addTaskLog(taskId, {
225
- level: 'info',
226
- message: 'Testing AI providers with simple queries'
227
- });
228
- const configContent = (0, fs_1.readFileSync)(configPath, 'utf8');
229
- const config = yaml.load(configContent);
230
- const testQueries = config.agents
231
- .filter((agent) => agent.inline?.provider)
232
- .map((agent) => ({
233
- agentId: agent.id,
234
- query: 'Hello, please respond with "OK" to confirm you are working.',
235
- context: 'System diagnostic test'
236
- }));
237
- if (testQueries.length === 0) {
238
- return [{
239
- name: 'AI Provider Testing',
240
- status: 'warning',
241
- message: 'No testable agents found',
242
- details: 'No agents with provider configuration available for testing'
243
- }];
244
- }
245
- const results = await this.parallelProcessingService.queryAgentsParallel(testQueries, {
246
- timeout: 30000
247
- });
248
- const diagnostics = [];
249
- results.results.forEach((result, index) => {
250
- const agentId = testQueries[index].agentId;
251
- if (result.success) {
252
- diagnostics.push({
253
- name: `Agent Test: ${agentId}`,
254
- status: 'success',
255
- message: 'Responding correctly',
256
- details: `Agent ${agentId} successfully responded to test query`
257
- });
258
- }
259
- else {
260
- const isSessionLimit = result.error?.includes('session limit') || result.error?.includes('Session limit');
261
- diagnostics.push({
262
- name: `Agent Test: ${agentId}`,
263
- status: isSessionLimit ? 'warning' : 'error',
264
- message: isSessionLimit ? 'Session limit reached' : 'Failed to respond',
265
- details: result.error || 'Unknown error during test'
266
- });
267
- }
268
- });
269
- return diagnostics;
270
- }
271
- catch (error) {
272
- return [{
273
- name: 'AI Provider Testing',
274
- status: 'error',
275
- message: 'Test execution failed',
276
- details: `Error during AI provider testing: ${error instanceof Error ? error.message : String(error)}`
277
- }];
278
- }
279
- }
280
- assessOverallHealth(diagnostics) {
281
- const errorCount = diagnostics.filter(d => d.status === 'error').length;
282
- const warningCount = diagnostics.filter(d => d.status === 'warning').length;
283
- const successCount = diagnostics.filter(d => d.status === 'success').length;
284
- if (errorCount > 0) {
285
- return {
286
- status: 'error',
287
- message: `System has ${errorCount} error(s) that need attention`
288
- };
289
- }
290
- if (warningCount > 0) {
291
- return {
292
- status: 'warning',
293
- message: `System is functional with ${warningCount} warning(s)`
294
- };
295
- }
296
- return {
297
- status: 'success',
298
- message: `System is healthy - all ${successCount} checks passed`
299
- };
300
- }
301
- formatDiagnosticReport(diagnostics, overallHealth) {
302
- const statusIcon = (status) => {
303
- switch (status) {
304
- case 'success': return '✅';
305
- case 'warning': return '⚠️';
306
- case 'error': return '❌';
307
- default: return '🔍';
308
- }
309
- };
310
- const healthIcon = statusIcon(overallHealth.status);
311
- let report = `${healthIcon} **CrewX System Diagnosis**\n\n`;
312
- report += `**Overall Health:** ${overallHealth.message}\n\n`;
313
- report += `**Diagnostic Results:**\n`;
314
- diagnostics.forEach(diagnostic => {
315
- const icon = statusIcon(diagnostic.status);
316
- report += `${icon} **${diagnostic.name}:** ${diagnostic.message}\n`;
317
- if (diagnostic.details) {
318
- report += ` ${diagnostic.details}\n`;
319
- }
320
- report += '\n';
321
- });
322
- const errors = diagnostics.filter(d => d.status === 'error');
323
- const warnings = diagnostics.filter(d => d.status === 'warning');
324
- if (errors.length > 0 || warnings.length > 0) {
325
- report += `**Recommendations:**\n`;
326
- if (errors.some(e => e.name === 'Configuration File')) {
327
- report += `• Run \`crewx init\` to create or fix configuration\n`;
328
- }
329
- if (errors.some(e => e.name.includes('CLI'))) {
330
- report += `• Install missing AI CLI tools\n`;
331
- }
332
- if (warnings.some(w => w.name.includes('session limit'))) {
333
- report += `• Some AI providers have reached their session limits - try again later\n`;
334
- }
335
- report += '\n';
336
- }
337
- report += `**Next Steps:**\n`;
338
- if (overallHealth.status === 'success') {
339
- report += `• Your CrewX setup is ready to use!\n`;
340
- report += `• Try: \`crewx query "@claude hello world"\`\n`;
341
- }
342
- else {
343
- report += `• Address the issues above to improve system health\n`;
344
- report += `• Run \`crewx doctor\` again after making changes\n`;
345
- }
346
- return report;
347
- }
348
- };
349
- exports.DoctorHandler = DoctorHandler;
350
- exports.DoctorHandler = DoctorHandler = __decorate([
351
- (0, common_1.Injectable)(),
352
- __metadata("design:paramtypes", [task_management_service_1.TaskManagementService,
353
- result_formatter_service_1.ResultFormatterService,
354
- parallel_processing_service_1.ParallelProcessingService,
355
- ai_provider_service_1.AIProviderService])
356
- ], DoctorHandler);
357
- const common_2 = require("@nestjs/common");
358
- const logger = new common_2.Logger('DoctorHandler');
359
- async function handleDoctor(app, args) {
360
- if (args.log)
361
- logger.log('Doctor command received');
362
- try {
363
- console.log('🩺 Starting comprehensive system diagnosis...\n');
364
- const doctorHandler = app.get(DoctorHandler);
365
- const result = await doctorHandler.handle({
366
- config: args.config,
367
- verbose: args.log
368
- });
369
- console.log(result.message);
370
- if (!result.success) {
371
- process.exit(1);
372
- }
373
- }
374
- catch (error) {
375
- if (args.log)
376
- logger.error(`Doctor check failed: ${error instanceof Error ? error.message : error}`);
377
- console.log('❌ System diagnosis failed');
378
- console.log(` Error: ${error instanceof Error ? error.message : error}`);
379
- process.exit(1);
380
- }
381
- }
382
- //# sourceMappingURL=doctor.handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"doctor.handler.js","sourceRoot":"","sources":["../../src/cli/doctor.handler.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { CliOptions } from '../cli-options';
2
- export declare function handleExecute(app: any, args: CliOptions): Promise<void>;