@crewx/cli 0.8.0-rc.66 → 0.8.0-rc.82

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 (281) hide show
  1. package/bin/crewx +2 -0
  2. package/dist/bootstrap/crewx-cli.d.ts +11 -0
  3. package/dist/bootstrap/crewx-cli.js +31 -0
  4. package/dist/builtin.d.ts +15 -0
  5. package/dist/{cli/builtin.handler.js → builtin.js} +21 -7
  6. package/dist/commands/agent.d.ts +12 -0
  7. package/dist/commands/agent.js +246 -0
  8. package/dist/commands/doctor.d.ts +12 -0
  9. package/dist/commands/doctor.js +190 -0
  10. package/dist/commands/execute.d.ts +21 -0
  11. package/dist/commands/execute.js +117 -0
  12. package/dist/commands/hook/install.d.ts +21 -0
  13. package/dist/commands/hook/install.js +175 -0
  14. package/dist/commands/hook/paths.d.ts +19 -0
  15. package/dist/commands/hook/paths.js +94 -0
  16. package/dist/commands/hook/status.d.ts +7 -0
  17. package/dist/commands/hook/status.js +86 -0
  18. package/dist/commands/hook/uninstall.d.ts +8 -0
  19. package/dist/commands/hook/uninstall.js +71 -0
  20. package/dist/commands/hook-dispatch.d.ts +15 -0
  21. package/dist/commands/hook-dispatch.js +180 -0
  22. package/dist/commands/init.d.ts +24 -0
  23. package/dist/commands/init.js +133 -0
  24. package/dist/commands/kill.d.ts +12 -0
  25. package/dist/commands/kill.js +49 -0
  26. package/dist/commands/log.d.ts +13 -0
  27. package/dist/commands/log.js +97 -0
  28. package/dist/commands/parse-agent-message.d.ts +31 -0
  29. package/dist/commands/parse-agent-message.js +52 -0
  30. package/dist/commands/parse-common-flags.d.ts +36 -0
  31. package/dist/commands/parse-common-flags.js +105 -0
  32. package/dist/commands/ps.d.ts +12 -0
  33. package/dist/commands/ps.js +71 -0
  34. package/dist/commands/query.d.ts +21 -0
  35. package/dist/commands/query.js +117 -0
  36. package/dist/commands/result.d.ts +13 -0
  37. package/dist/commands/result.js +73 -0
  38. package/dist/commands/slack.d.ts +12 -0
  39. package/dist/commands/slack.js +559 -0
  40. package/dist/commands/task-db.d.ts +33 -0
  41. package/dist/commands/task-db.js +107 -0
  42. package/dist/examples/deny-secrets-plugin.d.ts +22 -0
  43. package/dist/examples/deny-secrets-plugin.js +40 -0
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.js +5 -0
  46. package/dist/logging.d.ts +21 -0
  47. package/dist/logging.js +86 -0
  48. package/dist/main.d.ts +10 -0
  49. package/dist/main.js +246 -256
  50. package/dist/plugins/examples/echo-hook.d.ts +24 -0
  51. package/dist/plugins/examples/echo-hook.js +60 -0
  52. package/dist/plugins/examples/verify-echo-hook.d.ts +8 -0
  53. package/dist/plugins/examples/verify-echo-hook.js +47 -0
  54. package/dist/plugins/sqlite-tracing.d.ts +13 -0
  55. package/dist/plugins/sqlite-tracing.js +20 -0
  56. package/dist/register-builtin-tools.d.ts +5 -0
  57. package/dist/register-builtin-tools.js +9 -0
  58. package/dist/slack/file-download.d.ts +17 -0
  59. package/dist/slack/file-download.js +134 -0
  60. package/dist/slack/markdown.d.ts +5 -0
  61. package/dist/slack/markdown.js +33 -0
  62. package/dist/utils/env-defaults.d.ts +5 -0
  63. package/dist/utils/env-defaults.js +10 -0
  64. package/dist/utils/version.d.ts +1 -0
  65. package/dist/utils/version.js +28 -0
  66. package/package.json +32 -115
  67. package/README.md +0 -663
  68. package/dist/ai-provider.service.d.ts +0 -36
  69. package/dist/ai-provider.service.js +0 -315
  70. package/dist/ai-provider.service.js.map +0 -1
  71. package/dist/ai.service.d.ts +0 -17
  72. package/dist/ai.service.js +0 -51
  73. package/dist/ai.service.js.map +0 -1
  74. package/dist/app.module.d.ts +0 -5
  75. package/dist/app.module.js +0 -165
  76. package/dist/app.module.js.map +0 -1
  77. package/dist/cli/agent.handler.d.ts +0 -2
  78. package/dist/cli/agent.handler.js +0 -186
  79. package/dist/cli/agent.handler.js.map +0 -1
  80. package/dist/cli/builtin.handler.d.ts +0 -3
  81. package/dist/cli/builtin.handler.js.map +0 -1
  82. package/dist/cli/chat.handler.d.ts +0 -20
  83. package/dist/cli/chat.handler.js +0 -446
  84. package/dist/cli/chat.handler.js.map +0 -1
  85. package/dist/cli/cli.handler.d.ts +0 -4
  86. package/dist/cli/cli.handler.js +0 -119
  87. package/dist/cli/cli.handler.js.map +0 -1
  88. package/dist/cli/doctor.handler.d.ts +0 -38
  89. package/dist/cli/doctor.handler.js +0 -495
  90. package/dist/cli/doctor.handler.js.map +0 -1
  91. package/dist/cli/execute.handler.d.ts +0 -2
  92. package/dist/cli/execute.handler.js +0 -376
  93. package/dist/cli/execute.handler.js.map +0 -1
  94. package/dist/cli/help.handler.d.ts +0 -2
  95. package/dist/cli/help.handler.js +0 -10
  96. package/dist/cli/help.handler.js.map +0 -1
  97. package/dist/cli/init.handler.d.ts +0 -26
  98. package/dist/cli/init.handler.js +0 -450
  99. package/dist/cli/init.handler.js.map +0 -1
  100. package/dist/cli/log.handler.d.ts +0 -2
  101. package/dist/cli/log.handler.js +0 -69
  102. package/dist/cli/log.handler.js.map +0 -1
  103. package/dist/cli/mcp.handler.d.ts +0 -3
  104. package/dist/cli/mcp.handler.js +0 -121
  105. package/dist/cli/mcp.handler.js.map +0 -1
  106. package/dist/cli/query.handler.d.ts +0 -2
  107. package/dist/cli/query.handler.js +0 -392
  108. package/dist/cli/query.handler.js.map +0 -1
  109. package/dist/cli/skill.handler.d.ts +0 -2
  110. package/dist/cli/skill.handler.js +0 -252
  111. package/dist/cli/skill.handler.js.map +0 -1
  112. package/dist/cli/slack-files.handler.d.ts +0 -2
  113. package/dist/cli/slack-files.handler.js +0 -291
  114. package/dist/cli/slack-files.handler.js.map +0 -1
  115. package/dist/cli/template.handler.d.ts +0 -2
  116. package/dist/cli/template.handler.js +0 -188
  117. package/dist/cli/template.handler.js.map +0 -1
  118. package/dist/cli/templates.handler.d.ts +0 -2
  119. package/dist/cli/templates.handler.js +0 -100
  120. package/dist/cli/templates.handler.js.map +0 -1
  121. package/dist/cli-options.d.ts +0 -40
  122. package/dist/cli-options.js +0 -371
  123. package/dist/cli-options.js.map +0 -1
  124. package/dist/config/timeout.config.d.ts +0 -14
  125. package/dist/config/timeout.config.js +0 -34
  126. package/dist/config/timeout.config.js.map +0 -1
  127. package/dist/conversation/base-conversation-history.provider.d.ts +0 -12
  128. package/dist/conversation/base-conversation-history.provider.js +0 -45
  129. package/dist/conversation/base-conversation-history.provider.js.map +0 -1
  130. package/dist/conversation/cli-box-reader.adapter.d.ts +0 -6
  131. package/dist/conversation/cli-box-reader.adapter.js +0 -10
  132. package/dist/conversation/cli-box-reader.adapter.js.map +0 -1
  133. package/dist/conversation/cli-conversation-history.provider.d.ts +0 -16
  134. package/dist/conversation/cli-conversation-history.provider.js +0 -112
  135. package/dist/conversation/cli-conversation-history.provider.js.map +0 -1
  136. package/dist/conversation/cli-task-reader.adapter.d.ts +0 -6
  137. package/dist/conversation/cli-task-reader.adapter.js +0 -25
  138. package/dist/conversation/cli-task-reader.adapter.js.map +0 -1
  139. package/dist/conversation/conversation-provider.factory.d.ts +0 -10
  140. package/dist/conversation/conversation-provider.factory.js +0 -50
  141. package/dist/conversation/conversation-provider.factory.js.map +0 -1
  142. package/dist/conversation/index.d.ts +0 -8
  143. package/dist/conversation/index.js +0 -29
  144. package/dist/conversation/index.js.map +0 -1
  145. package/dist/conversation/slack-conversation-history.provider.d.ts +0 -29
  146. package/dist/conversation/slack-conversation-history.provider.js +0 -302
  147. package/dist/conversation/slack-conversation-history.provider.js.map +0 -1
  148. package/dist/crewx.tool.d.ts +0 -360
  149. package/dist/crewx.tool.js +0 -2531
  150. package/dist/crewx.tool.js.map +0 -1
  151. package/dist/crewx.tool.spec.d.ts +0 -1
  152. package/dist/crewx.tool.spec.js +0 -222
  153. package/dist/crewx.tool.spec.js.map +0 -1
  154. package/dist/guards/bearer-auth.guard.d.ts +0 -7
  155. package/dist/guards/bearer-auth.guard.js +0 -44
  156. package/dist/guards/bearer-auth.guard.js.map +0 -1
  157. package/dist/health.controller.d.ts +0 -6
  158. package/dist/health.controller.js +0 -32
  159. package/dist/health.controller.js.map +0 -1
  160. package/dist/main.js.map +0 -1
  161. package/dist/mcp.controller.d.ts +0 -8
  162. package/dist/mcp.controller.js +0 -62
  163. package/dist/mcp.controller.js.map +0 -1
  164. package/dist/package.json +0 -3
  165. package/dist/providers/dynamic-provider.factory.d.ts +0 -17
  166. package/dist/providers/dynamic-provider.factory.js +0 -138
  167. package/dist/providers/dynamic-provider.factory.js.map +0 -1
  168. package/dist/providers/logger.adapter.d.ts +0 -7
  169. package/dist/providers/logger.adapter.js +0 -107
  170. package/dist/providers/logger.adapter.js.map +0 -1
  171. package/dist/services/agent-loader.service.d.ts +0 -35
  172. package/dist/services/agent-loader.service.js +0 -623
  173. package/dist/services/agent-loader.service.js.map +0 -1
  174. package/dist/services/auth.service.d.ts +0 -9
  175. package/dist/services/auth.service.js +0 -47
  176. package/dist/services/auth.service.js.map +0 -1
  177. package/dist/services/config-validator.service.d.ts +0 -29
  178. package/dist/services/config-validator.service.js +0 -483
  179. package/dist/services/config-validator.service.js.map +0 -1
  180. package/dist/services/config.service.d.ts +0 -45
  181. package/dist/services/config.service.js +0 -352
  182. package/dist/services/config.service.js.map +0 -1
  183. package/dist/services/document-loader.service.d.ts +0 -26
  184. package/dist/services/document-loader.service.js +0 -186
  185. package/dist/services/document-loader.service.js.map +0 -1
  186. package/dist/services/help.service.d.ts +0 -5
  187. package/dist/services/help.service.js +0 -139
  188. package/dist/services/help.service.js.map +0 -1
  189. package/dist/services/intelligent-compression.service.d.ts +0 -20
  190. package/dist/services/intelligent-compression.service.js +0 -179
  191. package/dist/services/intelligent-compression.service.js.map +0 -1
  192. package/dist/services/mcp-client.service.d.ts +0 -26
  193. package/dist/services/mcp-client.service.js +0 -81
  194. package/dist/services/mcp-client.service.js.map +0 -1
  195. package/dist/services/parallel-processing.service.d.ts +0 -108
  196. package/dist/services/parallel-processing.service.js +0 -333
  197. package/dist/services/parallel-processing.service.js.map +0 -1
  198. package/dist/services/provider-bridge.service.d.ts +0 -35
  199. package/dist/services/provider-bridge.service.js +0 -224
  200. package/dist/services/provider-bridge.service.js.map +0 -1
  201. package/dist/services/remote-agent.service.d.ts +0 -50
  202. package/dist/services/remote-agent.service.js +0 -171
  203. package/dist/services/remote-agent.service.js.map +0 -1
  204. package/dist/services/result-formatter.service.d.ts +0 -27
  205. package/dist/services/result-formatter.service.js +0 -126
  206. package/dist/services/result-formatter.service.js.map +0 -1
  207. package/dist/services/skill-loader.service.d.ts +0 -15
  208. package/dist/services/skill-loader.service.js +0 -278
  209. package/dist/services/skill-loader.service.js.map +0 -1
  210. package/dist/services/skill.service.d.ts +0 -69
  211. package/dist/services/skill.service.js +0 -779
  212. package/dist/services/skill.service.js.map +0 -1
  213. package/dist/services/skill.service.spec.d.ts +0 -1
  214. package/dist/services/skill.service.spec.js +0 -168
  215. package/dist/services/skill.service.spec.js.map +0 -1
  216. package/dist/services/task-management.service.d.ts +0 -71
  217. package/dist/services/task-management.service.js +0 -324
  218. package/dist/services/task-management.service.js.map +0 -1
  219. package/dist/services/template.service.d.ts +0 -61
  220. package/dist/services/template.service.js +0 -416
  221. package/dist/services/template.service.js.map +0 -1
  222. package/dist/services/tool-call.service.d.ts +0 -16
  223. package/dist/services/tool-call.service.js +0 -302
  224. package/dist/services/tool-call.service.js.map +0 -1
  225. package/dist/services/tracing.service.d.ts +0 -197
  226. package/dist/services/tracing.service.js +0 -1267
  227. package/dist/services/tracing.service.js.map +0 -1
  228. package/dist/slack/formatters/message.formatter.d.ts +0 -43
  229. package/dist/slack/formatters/message.formatter.js +0 -505
  230. package/dist/slack/formatters/message.formatter.js.map +0 -1
  231. package/dist/slack/services/slack-file-download.service.d.ts +0 -58
  232. package/dist/slack/services/slack-file-download.service.js +0 -558
  233. package/dist/slack/services/slack-file-download.service.js.map +0 -1
  234. package/dist/slack/slack-bot.d.ts +0 -33
  235. package/dist/slack/slack-bot.js +0 -568
  236. package/dist/slack/slack-bot.js.map +0 -1
  237. package/dist/stderr.logger.d.ts +0 -8
  238. package/dist/stderr.logger.js +0 -26
  239. package/dist/stderr.logger.js.map +0 -1
  240. package/dist/types/usage.types.d.ts +0 -107
  241. package/dist/types/usage.types.js +0 -3
  242. package/dist/types/usage.types.js.map +0 -1
  243. package/dist/utils/config-utils.d.ts +0 -15
  244. package/dist/utils/config-utils.js +0 -69
  245. package/dist/utils/config-utils.js.map +0 -1
  246. package/dist/utils/extract-text.d.ts +0 -1
  247. package/dist/utils/extract-text.js +0 -15
  248. package/dist/utils/extract-text.js.map +0 -1
  249. package/dist/utils/mcp-installer.d.ts +0 -20
  250. package/dist/utils/mcp-installer.js +0 -199
  251. package/dist/utils/mcp-installer.js.map +0 -1
  252. package/dist/utils/project-hash.d.ts +0 -6
  253. package/dist/utils/project-hash.js +0 -70
  254. package/dist/utils/project-hash.js.map +0 -1
  255. package/dist/utils/simple-security.d.ts +0 -3
  256. package/dist/utils/simple-security.js +0 -20
  257. package/dist/utils/simple-security.js.map +0 -1
  258. package/dist/utils/stdin-utils.d.ts +0 -6
  259. package/dist/utils/stdin-utils.js +0 -109
  260. package/dist/utils/stdin-utils.js.map +0 -1
  261. package/dist/utils/template-processor.d.ts +0 -27
  262. package/dist/utils/template-processor.js +0 -395
  263. package/dist/utils/template-processor.js.map +0 -1
  264. package/dist/utils/terminal-message-formatter.d.ts +0 -23
  265. package/dist/utils/terminal-message-formatter.js +0 -136
  266. package/dist/utils/terminal-message-formatter.js.map +0 -1
  267. package/dist/version.d.ts +0 -1
  268. package/dist/version.js +0 -17
  269. package/dist/version.js.map +0 -1
  270. package/dist/workspace.service.d.ts +0 -44
  271. package/dist/workspace.service.js +0 -299
  272. package/dist/workspace.service.js.map +0 -1
  273. package/scripts/backfill-tokens.js +0 -218
  274. package/scripts/postbuild-cli.mjs +0 -88
  275. package/scripts/postinstall-cli.mjs +0 -30
  276. package/templates/agents/default.yaml +0 -490
  277. package/templates/agents/minimal.yaml +0 -16
  278. package/templates/documents/conversation-history-default.hbs +0 -17
  279. package/templates/documents/crewx-manual.md +0 -2278
  280. package/templates/documents/crewx-quick-guide.md +0 -147
  281. package/templates/versions.json +0 -19
@@ -1,495 +0,0 @@
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 __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.DoctorHandler = void 0;
13
- exports.handleDoctor = handleDoctor;
14
- const common_1 = require("@nestjs/common");
15
- const fs_1 = require("fs");
16
- const path_1 = require("path");
17
- const sdk_1 = require("@crewx/sdk");
18
- const task_management_service_1 = require("../services/task-management.service");
19
- const result_formatter_service_1 = require("../services/result-formatter.service");
20
- const parallel_processing_service_1 = require("../services/parallel-processing.service");
21
- const ai_provider_service_1 = require("../ai-provider.service");
22
- let DoctorHandler = class DoctorHandler {
23
- constructor(taskManagementService, resultFormatterService, parallelProcessingService, aiProviderService) {
24
- this.taskManagementService = taskManagementService;
25
- this.resultFormatterService = resultFormatterService;
26
- this.parallelProcessingService = parallelProcessingService;
27
- this.aiProviderService = aiProviderService;
28
- }
29
- async handle(options = {}) {
30
- const taskId = this.taskManagementService.createTask({
31
- type: 'doctor',
32
- command: 'crewx doctor',
33
- options: options
34
- });
35
- try {
36
- this.taskManagementService.addTaskLog(taskId, {
37
- level: 'info',
38
- message: 'Starting CrewX system diagnosis'
39
- });
40
- const workingDir = options.workingDirectory || process.cwd();
41
- let configPath = options.config;
42
- if (!configPath) {
43
- const crewConfigPath = (0, path_1.join)(workingDir, 'crewx.yaml');
44
- const agentsYamlPath = (0, path_1.join)(workingDir, 'agents.yaml');
45
- if ((0, fs_1.existsSync)(crewConfigPath)) {
46
- configPath = 'crewx.yaml';
47
- }
48
- else if ((0, fs_1.existsSync)(agentsYamlPath)) {
49
- configPath = 'agents.yaml';
50
- }
51
- else {
52
- configPath = 'crewx.yaml';
53
- }
54
- }
55
- const fullConfigPath = (0, path_1.join)(workingDir, configPath);
56
- const diagnostics = [];
57
- const configDiagnostic = await this.checkConfigurationFile(fullConfigPath);
58
- diagnostics.push(configDiagnostic);
59
- const logsDiagnostic = await this.checkLogsDirectory(workingDir);
60
- diagnostics.push(logsDiagnostic);
61
- const aiProviderDiagnostics = await this.checkAIProviders();
62
- diagnostics.push(...aiProviderDiagnostics);
63
- if (configDiagnostic.status === 'success') {
64
- const testDiagnostics = await this.testAIProviders(fullConfigPath, taskId);
65
- diagnostics.push(...testDiagnostics);
66
- }
67
- const overallHealth = this.assessOverallHealth(diagnostics);
68
- const successMessage = this.formatDiagnosticReport(diagnostics, overallHealth);
69
- const isHealthy = overallHealth.status !== 'error';
70
- this.taskManagementService.completeTask(taskId, {
71
- message: successMessage,
72
- diagnostics,
73
- health: overallHealth
74
- }, isHealthy);
75
- return {
76
- success: isHealthy,
77
- message: successMessage,
78
- taskId,
79
- diagnostics
80
- };
81
- }
82
- catch (error) {
83
- const errorMessage = `Failed to complete system diagnosis: ${error instanceof Error ? error.message : String(error)}`;
84
- this.taskManagementService.addTaskLog(taskId, {
85
- level: 'error',
86
- message: errorMessage
87
- });
88
- this.taskManagementService.completeTask(taskId, { error: errorMessage }, false);
89
- return {
90
- success: false,
91
- message: errorMessage,
92
- taskId,
93
- diagnostics: [{
94
- name: 'System Error',
95
- status: 'error',
96
- message: errorMessage
97
- }]
98
- };
99
- }
100
- }
101
- async checkConfigurationFile(configPath) {
102
- try {
103
- if (!(0, fs_1.existsSync)(configPath)) {
104
- return {
105
- name: 'Configuration File',
106
- status: 'error',
107
- message: 'Configuration file not found',
108
- details: `Run 'crewx init' to create configuration file at ${configPath}`
109
- };
110
- }
111
- const config = (0, sdk_1.parseCrewxConfigFromFile)(configPath, { validationMode: 'lenient' });
112
- if (!config || !config.agents || !Array.isArray(config.agents)) {
113
- return {
114
- name: 'Configuration File',
115
- status: 'error',
116
- message: 'Invalid configuration format',
117
- details: 'Configuration file exists but has invalid structure'
118
- };
119
- }
120
- if (config.agents.length === 0) {
121
- return {
122
- name: 'Configuration File',
123
- status: 'warning',
124
- message: 'No agents configured',
125
- details: 'Configuration file exists but contains no agent definitions'
126
- };
127
- }
128
- return {
129
- name: 'Configuration File',
130
- status: 'success',
131
- message: `Found ${config.agents.length} agent(s) configured`,
132
- details: `Configuration loaded from ${configPath}`
133
- };
134
- }
135
- catch (error) {
136
- return {
137
- name: 'Configuration File',
138
- status: 'error',
139
- message: 'Failed to parse configuration',
140
- details: `Error: ${error instanceof Error ? error.message : String(error)}`
141
- };
142
- }
143
- }
144
- async checkLogsDirectory(workingDir) {
145
- const logsDir = (0, path_1.join)(workingDir, '.crewx', 'logs');
146
- if (!(0, fs_1.existsSync)(logsDir)) {
147
- return {
148
- name: 'Logs Directory',
149
- status: 'warning',
150
- message: 'Logs directory not found',
151
- details: `Directory will be created automatically: ${logsDir}`
152
- };
153
- }
154
- return {
155
- name: 'Logs Directory',
156
- status: 'success',
157
- message: 'Logs directory exists',
158
- details: `Logs available at ${logsDir}`
159
- };
160
- }
161
- generateInstallScript(providerMetadata) {
162
- const platform = process.platform;
163
- const { name, npm, brew, curl, windows, docs } = providerMetadata;
164
- let script = `Installation instructions for ${name.toUpperCase()} CLI:\n\n`;
165
- if (platform === 'darwin') {
166
- if (brew) {
167
- script += `# macOS (Homebrew - Recommended)\n`;
168
- script += `brew tap ${brew.split('/').slice(0, 2).join('/')}\n`;
169
- script += `brew install ${brew.split('/').pop()}\n\n`;
170
- }
171
- if (npm) {
172
- script += `# macOS (npm)\n`;
173
- script += `npm install -g ${npm}\n\n`;
174
- }
175
- if (curl) {
176
- script += `# macOS (curl)\n`;
177
- script += `curl -fsSL ${curl} | sh\n\n`;
178
- }
179
- }
180
- else if (platform === 'win32') {
181
- if (windows) {
182
- script += `# Windows\n`;
183
- script += `${windows}\n\n`;
184
- }
185
- if (npm) {
186
- script += `# Windows (npm - alternative)\n`;
187
- script += `npm install -g ${npm}\n\n`;
188
- }
189
- }
190
- else {
191
- if (npm) {
192
- script += `# Linux (npm - Recommended)\n`;
193
- script += `npm install -g ${npm}\n\n`;
194
- }
195
- if (curl) {
196
- script += `# Linux (curl)\n`;
197
- script += `curl -fsSL ${curl} | sh\n\n`;
198
- }
199
- }
200
- script += `# Authentication Setup\n`;
201
- if (name === 'claude') {
202
- script += `export ANTHROPIC_API_KEY=your_api_key_here\n`;
203
- script += `# Get API key from: https://console.anthropic.com/\n\n`;
204
- }
205
- else if (name === 'gemini') {
206
- script += `export GOOGLE_API_KEY=your_api_key_here\n`;
207
- script += `# Get API key from: https://makersuite.google.com/\n\n`;
208
- }
209
- else if (name === 'copilot') {
210
- script += `# GitHub Copilot requires GitHub account authentication\n`;
211
- script += `# Sign in through GitHub CLI or VS Code extension\n\n`;
212
- }
213
- else if (name === 'codex') {
214
- script += `# CrewX Codex uses local configuration\n`;
215
- script += `# No API key required for basic usage\n\n`;
216
- }
217
- script += `# Documentation: ${docs}`;
218
- return script;
219
- }
220
- async checkAIProviders() {
221
- const cliProviders = [
222
- {
223
- name: 'claude',
224
- npm: '@anthropic-ai/sdk',
225
- brew: 'anthropic/tap/claude',
226
- curl: 'https://api.anthropic.com/v1/install.sh',
227
- windows: 'npm install -g @anthropic-ai/claude-cli',
228
- docs: 'https://docs.anthropic.com/claude/docs/cli'
229
- },
230
- {
231
- name: 'gemini',
232
- npm: '@google/generative-ai',
233
- brew: null,
234
- curl: null,
235
- windows: 'npm install -g @google/gemini-cli',
236
- docs: 'https://ai.google.dev/docs/cli'
237
- },
238
- {
239
- name: 'copilot',
240
- npm: null,
241
- brew: null,
242
- curl: null,
243
- windows: 'Install GitHub Copilot extension',
244
- docs: 'https://github.com/features/copilot'
245
- },
246
- {
247
- name: 'codex',
248
- npm: '@sowonai/crewx-codex',
249
- brew: null,
250
- curl: null,
251
- windows: 'npm install -g @sowonai/crewx-codex',
252
- docs: 'https://github.com/sowonai/crewx-codex'
253
- }
254
- ];
255
- const diagnostics = [];
256
- for (const providerMetadata of cliProviders) {
257
- try {
258
- const providerInstance = this.aiProviderService.getProvider(`cli/${providerMetadata.name}`);
259
- const isAvailable = providerInstance ? await providerInstance.isAvailable() : false;
260
- if (isAvailable) {
261
- diagnostics.push({
262
- name: `${providerMetadata.name.toUpperCase()} CLI`,
263
- status: 'success',
264
- message: 'Installed and available',
265
- details: `${providerMetadata.name} CLI is ready for use`
266
- });
267
- }
268
- else {
269
- const installScript = this.generateInstallScript(providerMetadata);
270
- diagnostics.push({
271
- name: `${providerMetadata.name.toUpperCase()} CLI`,
272
- status: 'warning',
273
- message: 'Not installed or not available',
274
- details: installScript
275
- });
276
- }
277
- }
278
- catch (error) {
279
- diagnostics.push({
280
- name: `${providerMetadata.name.toUpperCase()} CLI`,
281
- status: 'error',
282
- message: 'Check failed',
283
- details: `Error checking ${providerMetadata.name}: ${error instanceof Error ? error.message : String(error)}`
284
- });
285
- }
286
- }
287
- try {
288
- const config = (0, sdk_1.parseCrewxConfigFromFile)((0, path_1.join)(process.cwd(), 'crewx.yaml'), { validationMode: 'lenient' });
289
- if (config?.agents) {
290
- const apiAgents = config.agents.filter((agent) => {
291
- const provider = agent.inline?.provider;
292
- return typeof provider === 'string' && provider.startsWith('api/');
293
- });
294
- if (apiAgents.length > 0) {
295
- diagnostics.push({
296
- name: 'API Providers Configuration',
297
- status: 'success',
298
- message: `Found ${apiAgents.length} API provider agent(s) configured`,
299
- details: `API agents: ${apiAgents.map((a) => a.id).join(', ')}`
300
- });
301
- const apiProviderTypes = new Set(apiAgents.map((agent) => agent.inline?.provider).filter(Boolean));
302
- for (const providerType of apiProviderTypes) {
303
- const envVarName = this.getAPIKeyEnvVarName(providerType);
304
- const isConfigured = process.env[envVarName] ? true : false;
305
- diagnostics.push({
306
- name: `${providerType} API Key`,
307
- status: isConfigured ? 'success' : 'warning',
308
- message: isConfigured ? 'API key configured' : 'API key not configured',
309
- details: isConfigured
310
- ? `Environment variable ${envVarName} is set`
311
- : `Set ${envVarName} environment variable for ${providerType}`
312
- });
313
- }
314
- }
315
- }
316
- }
317
- catch (error) {
318
- }
319
- return diagnostics;
320
- }
321
- getAPIKeyEnvVarName(provider) {
322
- const mapping = {
323
- 'api/openai': 'OPENAI_API_KEY',
324
- 'api/anthropic': 'ANTHROPIC_API_KEY',
325
- 'api/google': 'GOOGLE_API_KEY',
326
- 'api/bedrock': 'AWS_ACCESS_KEY_ID',
327
- 'api/litellm': 'LITELLM_API_KEY',
328
- 'api/ollama': 'OLLAMA_BASE_URL',
329
- 'api/sowonai': 'SOWONAI_API_KEY',
330
- };
331
- return mapping[provider] || 'API_KEY';
332
- }
333
- async testAIProviders(configPath, taskId) {
334
- try {
335
- this.taskManagementService.addTaskLog(taskId, {
336
- level: 'info',
337
- message: 'Testing AI providers with simple queries'
338
- });
339
- const config = (0, sdk_1.parseCrewxConfigFromFile)(configPath, { validationMode: 'lenient' });
340
- const testQueries = (config.agents || [])
341
- .filter((agent) => agent.inline?.provider)
342
- .map((agent) => ({
343
- agentId: agent.id,
344
- query: 'Hello, please respond with "OK" to confirm you are working.',
345
- context: 'System diagnostic test'
346
- }));
347
- if (testQueries.length === 0) {
348
- return [{
349
- name: 'AI Provider Testing',
350
- status: 'warning',
351
- message: 'No testable agents found',
352
- details: 'No agents with provider configuration available for testing'
353
- }];
354
- }
355
- const results = await this.parallelProcessingService.queryAgentsParallel(testQueries, {
356
- timeout: 30000
357
- });
358
- const diagnostics = [];
359
- results.results.forEach((result, index) => {
360
- const query = testQueries[index];
361
- if (!query)
362
- return;
363
- const agentId = query.agentId;
364
- if (result.success) {
365
- diagnostics.push({
366
- name: `Agent Test: ${agentId}`,
367
- status: 'success',
368
- message: 'Responding correctly',
369
- details: `Agent ${agentId} successfully responded to test query`
370
- });
371
- }
372
- else {
373
- const isSessionLimit = result.error?.includes('session limit') || result.error?.includes('Session limit');
374
- diagnostics.push({
375
- name: `Agent Test: ${agentId}`,
376
- status: isSessionLimit ? 'warning' : 'error',
377
- message: isSessionLimit ? 'Session limit reached' : 'Failed to respond',
378
- details: result.error || 'Unknown error during test'
379
- });
380
- }
381
- });
382
- return diagnostics;
383
- }
384
- catch (error) {
385
- return [{
386
- name: 'AI Provider Testing',
387
- status: 'error',
388
- message: 'Test execution failed',
389
- details: `Error during AI provider testing: ${error instanceof Error ? error.message : String(error)}`
390
- }];
391
- }
392
- }
393
- assessOverallHealth(diagnostics) {
394
- const errorCount = diagnostics.filter(d => d.status === 'error').length;
395
- const warningCount = diagnostics.filter(d => d.status === 'warning').length;
396
- const successCount = diagnostics.filter(d => d.status === 'success').length;
397
- if (errorCount > 0) {
398
- return {
399
- status: 'error',
400
- message: `System has ${errorCount} error(s) that need attention`
401
- };
402
- }
403
- if (warningCount > 0) {
404
- return {
405
- status: 'warning',
406
- message: `System is functional with ${warningCount} warning(s)`
407
- };
408
- }
409
- return {
410
- status: 'success',
411
- message: `System is healthy - all ${successCount} checks passed`
412
- };
413
- }
414
- formatDiagnosticReport(diagnostics, overallHealth) {
415
- const statusIcon = (status) => {
416
- switch (status) {
417
- case 'success': return '✅';
418
- case 'warning': return '⚠️';
419
- case 'error': return '❌';
420
- default: return '🔍';
421
- }
422
- };
423
- const healthIcon = statusIcon(overallHealth.status);
424
- let report = `${healthIcon} **CrewX System Diagnosis**\n\n`;
425
- report += `**Overall Health:** ${overallHealth.message}\n\n`;
426
- report += `**Diagnostic Results:**\n`;
427
- diagnostics.forEach(diagnostic => {
428
- const icon = statusIcon(diagnostic.status);
429
- report += `${icon} **${diagnostic.name}:** ${diagnostic.message}\n`;
430
- if (diagnostic.details) {
431
- report += ` ${diagnostic.details}\n`;
432
- }
433
- report += '\n';
434
- });
435
- const errors = diagnostics.filter(d => d.status === 'error');
436
- const warnings = diagnostics.filter(d => d.status === 'warning');
437
- if (errors.length > 0 || warnings.length > 0) {
438
- report += `**Recommendations:**\n`;
439
- if (errors.some(e => e.name === 'Configuration File')) {
440
- report += `• Run \`crewx init\` to create or fix configuration\n`;
441
- }
442
- if (errors.some(e => e.name.includes('CLI'))) {
443
- report += `• Install missing AI CLI tools\n`;
444
- }
445
- if (warnings.some(w => w.name.includes('session limit'))) {
446
- report += `• Some AI providers have reached their session limits - try again later\n`;
447
- }
448
- report += '\n';
449
- }
450
- report += `**Next Steps:**\n`;
451
- if (overallHealth.status === 'success') {
452
- report += `• Your CrewX setup is ready to use!\n`;
453
- report += `• Try: \`crewx query "@claude hello world"\`\n`;
454
- }
455
- else {
456
- report += `• Address the issues above to improve system health\n`;
457
- report += `• Run \`crewx doctor\` again after making changes\n`;
458
- }
459
- return report;
460
- }
461
- };
462
- exports.DoctorHandler = DoctorHandler;
463
- exports.DoctorHandler = DoctorHandler = __decorate([
464
- (0, common_1.Injectable)(),
465
- __metadata("design:paramtypes", [task_management_service_1.TaskManagementService,
466
- result_formatter_service_1.ResultFormatterService,
467
- parallel_processing_service_1.ParallelProcessingService,
468
- ai_provider_service_1.AIProviderService])
469
- ], DoctorHandler);
470
- const common_2 = require("@nestjs/common");
471
- const logger = new common_2.Logger('DoctorHandler');
472
- async function handleDoctor(app, args) {
473
- if (args.log)
474
- logger.log('Doctor command received');
475
- try {
476
- console.log('🩺 Starting comprehensive system diagnosis...\n');
477
- const doctorHandler = app.get(DoctorHandler);
478
- const result = await doctorHandler.handle({
479
- config: args.config,
480
- verbose: args.log
481
- });
482
- console.log(result.message);
483
- if (!result.success) {
484
- process.exit(1);
485
- }
486
- }
487
- catch (error) {
488
- if (args.log)
489
- logger.error(`Doctor check failed: ${error instanceof Error ? error.message : error}`);
490
- console.log('❌ System diagnosis failed');
491
- console.log(` Error: ${error instanceof Error ? error.message : error}`);
492
- process.exit(1);
493
- }
494
- }
495
- //# 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>;