@sowonai/crewx-cli 0.4.0-dev.2 → 0.4.0-dev.20

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 (73) hide show
  1. package/README.md +36 -6
  2. package/dist/ai-provider.service.d.ts +7 -12
  3. package/dist/ai-provider.service.js +41 -19
  4. package/dist/ai-provider.service.js.map +1 -1
  5. package/dist/ai.service.d.ts +5 -45
  6. package/dist/ai.service.js +7 -584
  7. package/dist/ai.service.js.map +1 -1
  8. package/dist/app.module.js +64 -8
  9. package/dist/app.module.js.map +1 -1
  10. package/dist/cli/chat.handler.js +9 -5
  11. package/dist/cli/chat.handler.js.map +1 -1
  12. package/dist/cli/execute.handler.js +6 -6
  13. package/dist/cli/execute.handler.js.map +1 -1
  14. package/dist/cli/mcp.handler.js.map +1 -1
  15. package/dist/crewx.tool.d.ts +5 -2
  16. package/dist/crewx.tool.js +107 -48
  17. package/dist/crewx.tool.js.map +1 -1
  18. package/dist/providers/dynamic-provider.factory.d.ts +9 -51
  19. package/dist/providers/dynamic-provider.factory.js +44 -506
  20. package/dist/providers/dynamic-provider.factory.js.map +1 -1
  21. package/dist/providers/logger.adapter.d.ts +4 -0
  22. package/dist/providers/logger.adapter.js +56 -0
  23. package/dist/providers/logger.adapter.js.map +1 -0
  24. package/dist/services/agent-loader.service.d.ts +4 -2
  25. package/dist/services/agent-loader.service.js +93 -2
  26. package/dist/services/agent-loader.service.js.map +1 -1
  27. package/dist/services/config.service.d.ts +1 -1
  28. package/dist/services/parallel-processing.service.d.ts +15 -17
  29. package/dist/services/parallel-processing.service.js +227 -196
  30. package/dist/services/parallel-processing.service.js.map +1 -1
  31. package/dist/services/remote-agent.service.d.ts +4 -7
  32. package/dist/services/remote-agent.service.js +41 -95
  33. package/dist/services/remote-agent.service.js.map +1 -1
  34. package/dist/services/template.service.d.ts +2 -0
  35. package/dist/services/template.service.js +46 -1
  36. package/dist/services/template.service.js.map +1 -1
  37. package/dist/services/tool-call.service.d.ts +2 -36
  38. package/dist/services/tool-call.service.js.map +1 -1
  39. package/dist/slack/formatters/message.formatter.d.ts +5 -2
  40. package/dist/slack/formatters/message.formatter.js +55 -2
  41. package/dist/slack/formatters/message.formatter.js.map +1 -1
  42. package/dist/slack/slack-bot.js +1 -2
  43. package/dist/slack/slack-bot.js.map +1 -1
  44. package/dist/utils/stdin-utils.d.ts +4 -25
  45. package/dist/utils/stdin-utils.js +2 -23
  46. package/dist/utils/stdin-utils.js.map +1 -1
  47. package/dist/utils/terminal-message-formatter.d.ts +23 -0
  48. package/dist/utils/terminal-message-formatter.js +136 -0
  49. package/dist/utils/terminal-message-formatter.js.map +1 -0
  50. package/package.json +2 -3
  51. package/scripts/postbuild-cli.mjs +20 -1
  52. package/templates/agents/default.yaml +964 -0
  53. package/templates/agents/minimal.yaml +13 -0
  54. package/templates/documents/crewcode-manual.md +292 -0
  55. package/templates/versions.json +19 -0
  56. package/dist/providers/base-ai.provider.d.ts +0 -50
  57. package/dist/providers/base-ai.provider.js +0 -624
  58. package/dist/providers/base-ai.provider.js.map +0 -1
  59. package/dist/providers/claude.provider.d.ts +0 -25
  60. package/dist/providers/claude.provider.js +0 -362
  61. package/dist/providers/claude.provider.js.map +0 -1
  62. package/dist/providers/codex.provider.d.ts +0 -17
  63. package/dist/providers/codex.provider.js +0 -99
  64. package/dist/providers/codex.provider.js.map +0 -1
  65. package/dist/providers/copilot.provider.d.ts +0 -25
  66. package/dist/providers/copilot.provider.js +0 -266
  67. package/dist/providers/copilot.provider.js.map +0 -1
  68. package/dist/providers/gemini.provider.d.ts +0 -22
  69. package/dist/providers/gemini.provider.js +0 -147
  70. package/dist/providers/gemini.provider.js.map +0 -1
  71. package/dist/utils/mention-parser.d.ts +0 -18
  72. package/dist/utils/mention-parser.js +0 -136
  73. package/dist/utils/mention-parser.js.map +0 -1
package/README.md CHANGED
@@ -322,25 +322,55 @@ packages/cli/
322
322
  │ │ ├── execute.handler.ts
323
323
  │ │ ├── chat.handler.ts
324
324
  │ │ └── ...
325
- │ ├── providers/ # AI provider implementations
326
- │ │ ├── claude.provider.ts
327
- │ │ ├── gemini.provider.ts
328
- │ │ ├── copilot.provider.ts
329
- │ │ └── codex.provider.ts
325
+ │ ├── providers/ # CLI-specific provider utilities
326
+ │ │ ├── dynamic-provider.factory.ts # Security wrapper over SDK dynamic providers
327
+ │ │ └── logger.adapter.ts # Nest logger adapter for SDK providers
330
328
  │ ├── services/ # Business logic
331
329
  │ │ ├── ai.service.ts
332
330
  │ │ ├── ai-provider.service.ts
333
- │ │ ├── config.service.ts
331
+ │ │ ├── remote-agent.service.ts # Uses SDK RemoteAgentManager
334
332
  │ │ └── ...
335
333
  │ ├── slack/ # Slack integration
336
334
  │ │ ├── slack-bot.ts
337
335
  │ │ └── formatters/
336
+ │ │ └── message.formatter.ts # Extends SDK BaseMessageFormatter
338
337
  │ ├── conversation/ # Conversation management
339
338
  │ ├── guards/ # Security
340
339
  │ └── utils/ # Utilities
341
340
  └── tests/ # Tests
342
341
  ```
343
342
 
343
+ ### SDK Integration (WBS-9)
344
+
345
+ The CLI uses SDK components as a foundation, adding NestJS integration and platform-specific features:
346
+
347
+ #### Message Formatting
348
+ - **SDK**: `BaseMessageFormatter` provides core formatting logic
349
+ - **CLI**: `SlackMessageFormatter` extends SDK base with Slack-specific features (emoji, blocks, markdown)
350
+
351
+ #### AI Providers
352
+ - **SDK**: `BaseAIProvider`, `ClaudeProvider`, `GeminiProvider`, `CopilotProvider`, `CodexProvider`
353
+ - **CLI**: NestJS `@Injectable()` wrappers that:
354
+ - Inject NestJS logger via `LoggerAdapter`
355
+ - Integrate with `AIService` and `ConfigService`
356
+ - Add platform-specific tool execution
357
+
358
+ #### Remote Agents
359
+ - **SDK**: `RemoteAgentManager` handles remote communication
360
+ - **CLI**: `RemoteAgentService` wraps SDK manager with:
361
+ - NestJS dependency injection
362
+ - Agent configuration loading
363
+ - Tool name mapping
364
+ - MCP protocol integration
365
+
366
+ #### Benefits
367
+ 1. **Reusable Core**: SDK components work in any Node.js environment
368
+ 2. **Clean Separation**: Platform logic (NestJS, Slack) stays in CLI
369
+ 3. **Testability**: SDK tests verify core logic, CLI tests verify integration
370
+ 4. **Extensibility**: Custom integrations can use SDK directly
371
+
372
+ For migration details, see [WBS-9 Integration Guide](../../docs/wbs-9-phase1-5-integration.md).
373
+
344
374
  ## Development
345
375
 
346
376
  ### Setup
@@ -1,24 +1,19 @@
1
1
  import { OnModuleInit } from '@nestjs/common';
2
- import { AIProvider, AIQueryOptions, AIResponse } from '@sowonai/crewx-sdk';
3
- import { ClaudeProvider } from './providers/claude.provider';
4
- import { CopilotProvider } from './providers/copilot.provider';
5
- import { GeminiProvider } from './providers/gemini.provider';
6
- import { CodexProvider } from './providers/codex.provider';
2
+ import { AIProvider, AIQueryOptions, AIResponse, type PluginProviderConfig, type RemoteProviderConfig } from '@sowonai/crewx-sdk';
7
3
  import { DynamicProviderFactory } from './providers/dynamic-provider.factory';
8
- import { RemoteProviderConfig } from './providers/dynamic-provider.factory';
9
4
  import { ConfigService } from './services/config.service';
5
+ import { ToolCallService } from './services/tool-call.service';
10
6
  export declare class AIProviderService implements OnModuleInit {
11
- private readonly claudeProvider;
12
- private readonly copilotProvider;
13
- private readonly geminiProvider;
14
- private readonly codexProvider;
7
+ private readonly toolCallService;
15
8
  private readonly dynamicProviderFactory;
16
9
  private readonly configService;
17
10
  private readonly logger;
18
11
  private readonly providers;
19
12
  private availableProviders;
20
- constructor(claudeProvider: ClaudeProvider, copilotProvider: CopilotProvider, geminiProvider: GeminiProvider, codexProvider: CodexProvider, dynamicProviderFactory: DynamicProviderFactory, configService: ConfigService);
13
+ private readonly builtInProviderNames;
14
+ constructor(toolCallService: ToolCallService, dynamicProviderFactory: DynamicProviderFactory, configService: ConfigService);
21
15
  onModuleInit(): Promise<void>;
16
+ private createBuiltInProviders;
22
17
  private loadPluginProviders;
23
18
  reloadPluginProviders(): Promise<void>;
24
19
  private registerProvider;
@@ -31,6 +26,6 @@ export declare class AIProviderService implements OnModuleInit {
31
26
  validateCLIInstallation(): Promise<{
32
27
  [key: string]: boolean;
33
28
  }>;
34
- getPluginProviders(): any[];
29
+ getPluginProviders(): PluginProviderConfig[];
35
30
  getRemoteProviders(): RemoteProviderConfig[];
36
31
  }
@@ -13,31 +13,56 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.AIProviderService = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const crewx_sdk_1 = require("@sowonai/crewx-sdk");
16
- const claude_provider_1 = require("./providers/claude.provider");
17
- const copilot_provider_1 = require("./providers/copilot.provider");
18
- const gemini_provider_1 = require("./providers/gemini.provider");
19
- const codex_provider_1 = require("./providers/codex.provider");
20
16
  const dynamic_provider_factory_1 = require("./providers/dynamic-provider.factory");
21
17
  const config_service_1 = require("./services/config.service");
18
+ const tool_call_service_1 = require("./services/tool-call.service");
19
+ const logger_adapter_1 = require("./providers/logger.adapter");
20
+ const version_1 = require("./version");
22
21
  let AIProviderService = AIProviderService_1 = class AIProviderService {
23
- constructor(claudeProvider, copilotProvider, geminiProvider, codexProvider, dynamicProviderFactory, configService) {
24
- this.claudeProvider = claudeProvider;
25
- this.copilotProvider = copilotProvider;
26
- this.geminiProvider = geminiProvider;
27
- this.codexProvider = codexProvider;
22
+ constructor(toolCallService, dynamicProviderFactory, configService) {
23
+ this.toolCallService = toolCallService;
28
24
  this.dynamicProviderFactory = dynamicProviderFactory;
29
25
  this.configService = configService;
30
26
  this.logger = new common_1.Logger(AIProviderService_1.name);
31
27
  this.providers = new Map();
32
28
  this.availableProviders = [];
29
+ this.builtInProviderNames = new Set([
30
+ crewx_sdk_1.BuiltInProviders.CLAUDE,
31
+ crewx_sdk_1.BuiltInProviders.GEMINI,
32
+ crewx_sdk_1.BuiltInProviders.COPILOT,
33
+ crewx_sdk_1.BuiltInProviders.CODEX,
34
+ ]);
33
35
  }
34
36
  async onModuleInit() {
35
- this.registerProvider(this.claudeProvider);
36
- this.registerProvider(this.copilotProvider);
37
- this.registerProvider(this.geminiProvider);
38
- this.registerProvider(this.codexProvider);
37
+ for (const provider of this.createBuiltInProviders()) {
38
+ this.registerProvider(provider);
39
+ }
39
40
  await this.loadPluginProviders();
40
41
  }
42
+ createBuiltInProviders() {
43
+ return [
44
+ new crewx_sdk_1.ClaudeProvider({
45
+ logger: (0, logger_adapter_1.createLoggerAdapter)('ClaudeProvider'),
46
+ toolCallHandler: this.toolCallService,
47
+ crewxVersion: version_1.CREWX_VERSION,
48
+ }),
49
+ new crewx_sdk_1.GeminiProvider({
50
+ logger: (0, logger_adapter_1.createLoggerAdapter)('GeminiProvider'),
51
+ toolCallHandler: this.toolCallService,
52
+ crewxVersion: version_1.CREWX_VERSION,
53
+ }),
54
+ new crewx_sdk_1.CopilotProvider({
55
+ logger: (0, logger_adapter_1.createLoggerAdapter)('CopilotProvider'),
56
+ toolCallHandler: this.toolCallService,
57
+ crewxVersion: version_1.CREWX_VERSION,
58
+ }),
59
+ new crewx_sdk_1.CodexProvider({
60
+ logger: (0, logger_adapter_1.createLoggerAdapter)('CodexProvider'),
61
+ toolCallHandler: this.toolCallService,
62
+ crewxVersion: version_1.CREWX_VERSION,
63
+ }),
64
+ ];
65
+ }
41
66
  async loadPluginProviders() {
42
67
  try {
43
68
  const dynamicConfigs = this.configService.getDynamicProviders();
@@ -66,9 +91,8 @@ let AIProviderService = AIProviderService_1 = class AIProviderService {
66
91
  }
67
92
  }
68
93
  async reloadPluginProviders() {
69
- const builtInProviders = ['cli/claude', 'cli/gemini', 'cli/copilot', 'cli/codex'];
70
94
  for (const [name] of this.providers) {
71
- if (!builtInProviders.includes(name)) {
95
+ if (!this.builtInProviderNames.has(name)) {
72
96
  this.providers.delete(name);
73
97
  }
74
98
  }
@@ -80,6 +104,7 @@ let AIProviderService = AIProviderService_1 = class AIProviderService {
80
104
  }
81
105
  async initializeProviders() {
82
106
  this.logger.log('Initializing AI providers...');
107
+ this.availableProviders = [];
83
108
  const checks = Array.from(this.providers.entries()).map(async ([name, provider]) => {
84
109
  try {
85
110
  const isAvailable = await provider.isAvailable();
@@ -181,10 +206,7 @@ let AIProviderService = AIProviderService_1 = class AIProviderService {
181
206
  exports.AIProviderService = AIProviderService;
182
207
  exports.AIProviderService = AIProviderService = AIProviderService_1 = __decorate([
183
208
  (0, common_1.Injectable)(),
184
- __metadata("design:paramtypes", [claude_provider_1.ClaudeProvider,
185
- copilot_provider_1.CopilotProvider,
186
- gemini_provider_1.GeminiProvider,
187
- codex_provider_1.CodexProvider,
209
+ __metadata("design:paramtypes", [tool_call_service_1.ToolCallService,
188
210
  dynamic_provider_factory_1.DynamicProviderFactory,
189
211
  config_service_1.ConfigService])
190
212
  ], AIProviderService);
@@ -1 +1 @@
1
- {"version":3,"file":"ai-provider.service.js","sourceRoot":"","sources":["../src/ai-provider.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-provider.service.js","sourceRoot":"","sources":["../src/ai-provider.service.ts"],"names":[],"mappings":"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"}
@@ -1,53 +1,13 @@
1
+ import { type AIResponse, type AIQueryOptions } from '@sowonai/crewx-sdk';
1
2
  import { AIProviderService } from './ai-provider.service';
2
- export interface AIResponse {
3
- content: string;
4
- provider: string;
5
- command: string;
6
- success: boolean;
7
- error?: string;
8
- taskId?: string;
9
- }
10
- export interface AIQueryOptions {
11
- timeout?: number;
12
- workingDirectory?: string;
13
- additionalArgs?: string[];
14
- model?: string;
15
- securityKey?: string;
16
- agentId?: string;
17
- messages?: Array<{
18
- text: string;
19
- isAssistant: boolean;
20
- metadata?: Record<string, any>;
21
- }>;
22
- pipedContext?: string;
23
- }
3
+ export type { AIResponse, AIQueryOptions } from '@sowonai/crewx-sdk';
24
4
  export declare class AIService {
25
5
  private readonly aiProviderService;
26
6
  private readonly logger;
27
- private readonly logsDir;
28
- private readonly timeoutConfig;
29
7
  constructor(aiProviderService: AIProviderService);
30
- private createTaskLogFile;
31
- private appendTaskLog;
32
- private findClaudePath;
33
- queryClaudeCLI(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
34
- queryClaudeWithPermissions(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
35
- queryGeminiCLI(prompt: string, options?: AIQueryOptions & {
36
- taskId?: string;
37
- }): Promise<AIResponse>;
38
- executeGeminiCLI(prompt: string, options?: AIQueryOptions & {
39
- taskId?: string;
40
- }): Promise<AIResponse>;
41
- queryCopilotCLI(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
42
- queryAI(prompt: string, provider?: string, options?: AIQueryOptions & {
43
- taskId?: string;
44
- }): Promise<AIResponse>;
45
- executeAI(prompt: string, provider?: string, options?: AIQueryOptions & {
46
- taskId?: string;
47
- }): Promise<AIResponse>;
48
- executeGemini(prompt: string, options?: AIQueryOptions & {
49
- taskId?: string;
50
- }): Promise<AIResponse>;
8
+ queryAI(prompt: string, provider?: string, options?: AIQueryOptions): Promise<AIResponse>;
9
+ executeAI(prompt: string, provider?: string, options?: AIQueryOptions): Promise<AIResponse>;
10
+ executeGemini(prompt: string, options?: AIQueryOptions): Promise<AIResponse>;
51
11
  checkAvailableProviders(): Promise<string[]>;
52
12
  validateCLIInstallation(): Promise<{
53
13
  claude: boolean;