@sowonai/crewx-cli 0.4.0-dev.5 → 0.4.0-dev.50

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 (94) hide show
  1. package/README.md +40 -6
  2. package/dist/ai-provider.service.d.ts +7 -12
  3. package/dist/ai-provider.service.js +42 -20
  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 +10 -587
  7. package/dist/ai.service.js.map +1 -1
  8. package/dist/app.module.js +67 -9
  9. package/dist/app.module.js.map +1 -1
  10. package/dist/cli/chat.handler.d.ts +2 -1
  11. package/dist/cli/chat.handler.js +26 -11
  12. package/dist/cli/chat.handler.js.map +1 -1
  13. package/dist/cli/doctor.handler.js +8 -40
  14. package/dist/cli/doctor.handler.js.map +1 -1
  15. package/dist/cli/execute.handler.js +8 -6
  16. package/dist/cli/execute.handler.js.map +1 -1
  17. package/dist/cli/mcp.handler.js.map +1 -1
  18. package/dist/cli/query.handler.js +4 -2
  19. package/dist/cli/query.handler.js.map +1 -1
  20. package/dist/cli-options.d.ts +2 -0
  21. package/dist/cli-options.js +10 -0
  22. package/dist/cli-options.js.map +1 -1
  23. package/dist/crewx.tool.d.ts +18 -2
  24. package/dist/crewx.tool.js +542 -105
  25. package/dist/crewx.tool.js.map +1 -1
  26. package/dist/providers/dynamic-provider.factory.d.ts +9 -51
  27. package/dist/providers/dynamic-provider.factory.js +44 -506
  28. package/dist/providers/dynamic-provider.factory.js.map +1 -1
  29. package/dist/providers/logger.adapter.d.ts +4 -0
  30. package/dist/providers/logger.adapter.js +56 -0
  31. package/dist/providers/logger.adapter.js.map +1 -0
  32. package/dist/services/agent-loader.service.d.ts +6 -2
  33. package/dist/services/agent-loader.service.js +210 -26
  34. package/dist/services/agent-loader.service.js.map +1 -1
  35. package/dist/services/config.service.d.ts +7 -27
  36. package/dist/services/config.service.js +80 -38
  37. package/dist/services/config.service.js.map +1 -1
  38. package/dist/services/document-loader.service.d.ts +9 -4
  39. package/dist/services/document-loader.service.js +21 -7
  40. package/dist/services/document-loader.service.js.map +1 -1
  41. package/dist/services/parallel-processing.service.d.ts +17 -17
  42. package/dist/services/parallel-processing.service.js +261 -196
  43. package/dist/services/parallel-processing.service.js.map +1 -1
  44. package/dist/services/provider-bridge.service.d.ts +35 -0
  45. package/dist/services/provider-bridge.service.js +224 -0
  46. package/dist/services/provider-bridge.service.js.map +1 -0
  47. package/dist/services/remote-agent.service.d.ts +4 -7
  48. package/dist/services/remote-agent.service.js +41 -95
  49. package/dist/services/remote-agent.service.js.map +1 -1
  50. package/dist/services/task-management.service.d.ts +3 -3
  51. package/dist/services/task-management.service.js.map +1 -1
  52. package/dist/services/template.service.d.ts +2 -0
  53. package/dist/services/template.service.js +46 -1
  54. package/dist/services/template.service.js.map +1 -1
  55. package/dist/services/tool-call.service.d.ts +2 -36
  56. package/dist/services/tool-call.service.js.map +1 -1
  57. package/dist/slack/formatters/message.formatter.d.ts +5 -2
  58. package/dist/slack/formatters/message.formatter.js +55 -2
  59. package/dist/slack/formatters/message.formatter.js.map +1 -1
  60. package/dist/slack/slack-bot.js +1 -2
  61. package/dist/slack/slack-bot.js.map +1 -1
  62. package/dist/utils/stdin-utils.d.ts +4 -25
  63. package/dist/utils/stdin-utils.js +2 -23
  64. package/dist/utils/stdin-utils.js.map +1 -1
  65. package/dist/utils/template-processor.d.ts +2 -29
  66. package/dist/utils/template-processor.js +5 -2
  67. package/dist/utils/template-processor.js.map +1 -1
  68. package/dist/utils/terminal-message-formatter.d.ts +23 -0
  69. package/dist/utils/terminal-message-formatter.js +136 -0
  70. package/dist/utils/terminal-message-formatter.js.map +1 -0
  71. package/package.json +30 -32
  72. package/scripts/postbuild-cli.mjs +20 -1
  73. package/templates/agents/default.yaml +468 -0
  74. package/templates/agents/minimal.yaml +16 -0
  75. package/templates/documents/crewx-manual.md +387 -0
  76. package/templates/versions.json +19 -0
  77. package/dist/providers/base-ai.provider.d.ts +0 -50
  78. package/dist/providers/base-ai.provider.js +0 -624
  79. package/dist/providers/base-ai.provider.js.map +0 -1
  80. package/dist/providers/claude.provider.d.ts +0 -25
  81. package/dist/providers/claude.provider.js +0 -362
  82. package/dist/providers/claude.provider.js.map +0 -1
  83. package/dist/providers/codex.provider.d.ts +0 -17
  84. package/dist/providers/codex.provider.js +0 -99
  85. package/dist/providers/codex.provider.js.map +0 -1
  86. package/dist/providers/copilot.provider.d.ts +0 -25
  87. package/dist/providers/copilot.provider.js +0 -266
  88. package/dist/providers/copilot.provider.js.map +0 -1
  89. package/dist/providers/gemini.provider.d.ts +0 -22
  90. package/dist/providers/gemini.provider.js +0 -147
  91. package/dist/providers/gemini.provider.js.map +0 -1
  92. package/dist/utils/mention-parser.d.ts +0 -18
  93. package/dist/utils/mention-parser.js +0 -136
  94. package/dist/utils/mention-parser.js.map +0 -1
@@ -12,10 +12,10 @@ var ParallelProcessingService_1;
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.ParallelProcessingService = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
+ const crewx_sdk_1 = require("@sowonai/crewx-sdk");
15
16
  const ai_service_1 = require("../ai.service");
16
17
  const task_management_service_1 = require("./task-management.service");
17
18
  const config_service_1 = require("./config.service");
18
- const crewx_sdk_1 = require("@sowonai/crewx-sdk");
19
19
  let ParallelProcessingService = ParallelProcessingService_1 = class ParallelProcessingService {
20
20
  constructor(aiService, taskManagementService, configService) {
21
21
  this.aiService = aiService;
@@ -23,218 +23,57 @@ let ParallelProcessingService = ParallelProcessingService_1 = class ParallelProc
23
23
  this.configService = configService;
24
24
  this.logger = new common_1.Logger(ParallelProcessingService_1.name);
25
25
  this.timeoutConfig = (0, crewx_sdk_1.getTimeoutConfig)();
26
- }
27
- getProviderForAgent(agentId) {
28
- if (agentId === 'claude' || agentId === 'gemini' || agentId === 'copilot' || agentId === 'codex') {
29
- return agentId;
30
- }
31
- const agentConfig = this.configService.getAgentConfig(agentId);
32
- if (agentConfig && agentConfig.inline?.provider) {
33
- return agentConfig.inline.provider;
34
- }
35
- this.logger.warn(`No provider found for agent ${agentId}, defaulting to claude`);
36
- return 'claude';
37
- }
38
- getOptionsForAgent(agentId, mode) {
39
- const agentConfig = this.configService.getAgentConfig(agentId);
40
- if (agentConfig && agentConfig.options) {
41
- if (typeof agentConfig.options === 'object' && agentConfig.options[mode]) {
42
- return agentConfig.options[mode] || [];
43
- }
44
- }
45
- return [];
26
+ this.parallelRunner = (0, crewx_sdk_1.createDefaultParallelRunner)();
46
27
  }
47
28
  async executeParallel(requests, config = {}) {
48
- const startTime = performance.now();
49
- const { maxConcurrency = 5, timeout = this.timeoutConfig.parallel, failFast = false } = config;
50
- this.logger.log(`Starting parallel execution of ${requests.length} requests`);
51
- this.logger.log(`Configuration: maxConcurrency=${maxConcurrency}, timeout=${timeout}ms, failFast=${failFast}`);
52
- const chunks = this.chunkArray(requests, maxConcurrency);
53
- const allResults = [];
54
- let shouldStop = false;
55
- for (const chunk of chunks) {
56
- if (shouldStop)
57
- break;
58
- this.logger.log(`Executing chunk of ${chunk.length} requests`);
59
- const chunkPromises = chunk.map(async (request) => {
60
- return this.executeWithTimeout(request, timeout);
61
- });
62
- try {
63
- const chunkResults = await Promise.allSettled(chunkPromises);
64
- for (const [index, result] of chunkResults.entries()) {
65
- if (result.status === 'fulfilled') {
66
- allResults.push(result.value);
67
- if (failFast && !result.value.success) {
68
- this.logger.warn(`Fail-fast triggered by failed execution: ${chunk[index]?.agentId}`);
69
- shouldStop = true;
70
- break;
71
- }
72
- }
73
- else {
74
- const failedRequest = chunk[index];
75
- if (failedRequest) {
76
- allResults.push({
77
- agentId: failedRequest.agentId,
78
- success: false,
79
- error: result.reason?.message || 'Promise rejected',
80
- duration: 0
81
- });
82
- if (failFast) {
83
- this.logger.warn(`Fail-fast triggered by promise rejection: ${failedRequest.agentId}`);
84
- shouldStop = true;
85
- break;
86
- }
87
- }
88
- }
89
- }
90
- }
91
- catch (error) {
92
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
93
- this.logger.error(`Chunk execution failed: ${errorMessage}`);
94
- chunk.forEach(request => {
95
- allResults.push({
96
- agentId: request.agentId,
97
- success: false,
98
- error: errorMessage,
99
- duration: 0
100
- });
101
- });
102
- if (failFast) {
103
- shouldStop = true;
104
- }
105
- }
29
+ if (requests.length === 0) {
30
+ return {
31
+ results: [],
32
+ summary: {
33
+ total: 0,
34
+ successful: 0,
35
+ failed: 0,
36
+ totalDuration: 0,
37
+ averageDuration: 0,
38
+ },
39
+ };
106
40
  }
107
- const endTime = performance.now();
108
- const totalDuration = endTime - startTime;
109
- const successful = allResults.filter(r => r.success).length;
110
- const failed = allResults.length - successful;
111
- const averageDuration = allResults.length > 0
112
- ? allResults.reduce((sum, r) => sum + r.duration, 0) / allResults.length
113
- : 0;
114
- const summary = {
115
- total: allResults.length,
116
- successful,
117
- failed,
118
- totalDuration,
119
- averageDuration
120
- };
121
- this.logger.log(`Parallel execution completed: ${successful}/${allResults.length} successful, total time: ${totalDuration.toFixed(2)}ms`);
41
+ this.logger.log(`Starting parallel execution of ${requests.length} requests`);
42
+ this.logger.log(`Configuration: maxConcurrency=${config.maxConcurrency ?? 5}, ` +
43
+ `timeout=${config.timeout ?? this.timeoutConfig.parallel}ms, ` +
44
+ `failFast=${config.failFast ?? false}`);
45
+ const tasks = requests.map((request, index) => this.createTask(request, index));
46
+ const runnerOptions = this.createRunnerOptions(config);
47
+ const taskResults = await this.parallelRunner.run(tasks, runnerOptions);
48
+ const orderedResults = this.buildAgentResults(taskResults);
49
+ const summary = this.buildSummary(orderedResults);
50
+ this.logger.log(`Parallel execution completed: ${summary.successful}/${summary.total} successful, ` +
51
+ `total time: ${summary.totalDuration.toFixed(2)}ms`);
122
52
  return {
123
- results: allResults,
124
- summary
53
+ results: orderedResults,
54
+ summary,
125
55
  };
126
56
  }
127
57
  async queryAgentsParallel(queries, config) {
128
- const requests = queries.map(q => ({
58
+ const requests = queries.map((q) => ({
129
59
  agentId: q.agentId,
130
60
  query: q.query,
131
61
  context: q.context,
132
62
  projectPath: q.projectPath,
133
63
  messages: q.messages,
134
- platform: q.platform
64
+ platform: q.platform,
135
65
  }));
136
66
  return this.executeParallel(requests, config);
137
67
  }
138
68
  async executeAgentsParallel(tasks, config) {
139
- const requests = tasks.map(t => ({
69
+ const requests = tasks.map((t) => ({
140
70
  agentId: t.agentId,
141
71
  task: t.task,
142
72
  context: t.context,
143
- projectPath: t.projectPath
73
+ projectPath: t.projectPath,
144
74
  }));
145
75
  return this.executeParallel(requests, config);
146
76
  }
147
- async executeWithTimeout(request, timeout) {
148
- const startTime = performance.now();
149
- const actualProvider = this.getProviderForAgent(request.agentId);
150
- const taskId = this.taskManagementService.createTask({
151
- type: request.query ? 'query' : 'execute',
152
- provider: actualProvider,
153
- prompt: request.query || request.task || '',
154
- agentId: request.agentId
155
- });
156
- try {
157
- const mode = request.query ? 'query' : 'execute';
158
- const agentOptions = this.getOptionsForAgent(request.agentId, mode);
159
- this.logger.log(`Starting execution for agent: ${request.agentId} (provider: ${actualProvider}, mode: ${mode}, options: ${agentOptions.join(' ')}, taskId: ${taskId})`);
160
- this.taskManagementService.addTaskLog(taskId, {
161
- level: 'info',
162
- message: `Starting ${mode} operation with options: ${agentOptions.join(' ')}`
163
- });
164
- const timeoutPromise = new Promise((_, reject) => {
165
- setTimeout(() => reject(new Error(`Timeout after ${timeout}ms`)), timeout);
166
- });
167
- let resultPromise;
168
- if (request.query) {
169
- const finalQuery = request.context ?
170
- `Context: ${request.context}\n\nQuery: ${request.query}` :
171
- request.query;
172
- resultPromise = this.aiService.queryAI(finalQuery, actualProvider, {
173
- workingDirectory: request.projectPath,
174
- taskId,
175
- additionalArgs: agentOptions,
176
- agentId: request.agentId,
177
- });
178
- }
179
- else if (request.task) {
180
- const finalTask = request.context ?
181
- `Context: ${request.context}\n\nTask: ${request.task}` :
182
- request.task;
183
- resultPromise = this.aiService.executeAI(finalTask, actualProvider, {
184
- workingDirectory: request.projectPath,
185
- taskId,
186
- additionalArgs: agentOptions,
187
- agentId: request.agentId,
188
- });
189
- }
190
- else {
191
- throw new Error('Either query or task must be provided');
192
- }
193
- const result = await Promise.race([resultPromise, timeoutPromise]);
194
- const endTime = performance.now();
195
- const duration = endTime - startTime;
196
- this.taskManagementService.completeTask(taskId, result, result.success);
197
- this.taskManagementService.addTaskLog(taskId, {
198
- level: result.success ? 'info' : 'error',
199
- message: result.success
200
- ? `Completed successfully in ${duration.toFixed(2)}ms`
201
- : `Failed after ${duration.toFixed(2)}ms: ${result.error || 'Unknown error'}`
202
- });
203
- this.logger.log(`Agent ${request.agentId} ${result.success ? 'completed successfully' : 'failed'} in ${duration.toFixed(2)}ms (taskId: ${taskId})`);
204
- return {
205
- agentId: request.agentId,
206
- success: result.success,
207
- result,
208
- duration,
209
- taskId
210
- };
211
- }
212
- catch (error) {
213
- const endTime = performance.now();
214
- const duration = endTime - startTime;
215
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
216
- this.taskManagementService.completeTask(taskId, { error: errorMessage }, false);
217
- this.taskManagementService.addTaskLog(taskId, {
218
- level: 'error',
219
- message: `Failed after ${duration.toFixed(2)}ms: ${errorMessage}`
220
- });
221
- this.logger.error(`Agent ${request.agentId} failed after ${duration.toFixed(2)}ms: ${errorMessage} (taskId: ${taskId})`);
222
- return {
223
- agentId: request.agentId,
224
- success: false,
225
- error: errorMessage,
226
- duration,
227
- taskId
228
- };
229
- }
230
- }
231
- chunkArray(array, chunkSize) {
232
- const chunks = [];
233
- for (let i = 0; i < array.length; i += chunkSize) {
234
- chunks.push(array.slice(i, i + chunkSize));
235
- }
236
- return chunks;
237
- }
238
77
  getPerformanceMetrics(results) {
239
78
  if (results.length === 0) {
240
79
  return {
@@ -242,21 +81,247 @@ let ParallelProcessingService = ParallelProcessingService_1 = class ParallelProc
242
81
  successRate: 0,
243
82
  averageExecutionTime: 0,
244
83
  fastestExecution: 0,
245
- slowestExecution: 0
84
+ slowestExecution: 0,
85
+ successfulAgents: [],
86
+ failedAgents: [],
246
87
  };
247
88
  }
248
- const successful = results.filter(r => r.success);
249
- const durations = results.map(r => r.duration);
89
+ const successful = results.filter((r) => r.success);
90
+ const durations = results.map((r) => r.duration);
250
91
  return {
251
92
  totalAgents: results.length,
252
93
  successRate: (successful.length / results.length) * 100,
253
94
  averageExecutionTime: durations.reduce((a, b) => a + b, 0) / durations.length,
254
95
  fastestExecution: Math.min(...durations),
255
96
  slowestExecution: Math.max(...durations),
256
- successfulAgents: successful.map(r => r.agentId),
257
- failedAgents: results.filter(r => !r.success).map(r => ({ agentId: r.agentId, error: r.error }))
97
+ successfulAgents: successful.map((r) => r.agentId),
98
+ failedAgents: results
99
+ .filter((r) => !r.success)
100
+ .map((r) => ({ agentId: r.agentId, error: r.error })),
101
+ };
102
+ }
103
+ createTask(request, index) {
104
+ const mode = request.query ? 'query' : 'execute';
105
+ const provider = this.getProviderForAgent(request.agentId);
106
+ const agentOptions = this.getOptionsForAgent(request.agentId, mode);
107
+ const metadata = {
108
+ request,
109
+ provider,
110
+ agentOptions,
111
+ mode,
112
+ index,
113
+ };
114
+ return {
115
+ id: `${request.agentId}:${mode}:${index}`,
116
+ metadata,
117
+ run: (context) => this.runAgentTask(metadata, context),
258
118
  };
259
119
  }
120
+ async runAgentTask(metadata, context) {
121
+ const { request, provider, agentOptions, mode } = metadata;
122
+ const prompt = mode === 'query' ? request.query : request.task;
123
+ if (!prompt) {
124
+ throw new Error('Either query or task must be provided');
125
+ }
126
+ const formattedPrompt = request.context
127
+ ? `Context: ${request.context}\n\n${mode === 'query' ? 'Query' : 'Task'}: ${prompt}`
128
+ : prompt;
129
+ const abortPromise = new Promise((_, reject) => {
130
+ if (context.signal.aborted) {
131
+ const reason = context.signal.reason instanceof Error
132
+ ? context.signal.reason
133
+ : new crewx_sdk_1.ParallelRunnerTimeoutError(metadata.request.agentId, 0);
134
+ reject(reason);
135
+ return;
136
+ }
137
+ context.signal.addEventListener('abort', () => {
138
+ const reason = context.signal.reason instanceof Error
139
+ ? context.signal.reason
140
+ : new crewx_sdk_1.ParallelRunnerTimeoutError(metadata.request.agentId, 0);
141
+ reject(reason);
142
+ }, { once: true });
143
+ });
144
+ const executionPromise = mode === 'query'
145
+ ? this.aiService.queryAI(formattedPrompt, provider, {
146
+ workingDirectory: request.projectPath,
147
+ additionalArgs: agentOptions,
148
+ agentId: request.agentId,
149
+ })
150
+ : this.aiService.executeAI(formattedPrompt, provider, {
151
+ workingDirectory: request.projectPath,
152
+ additionalArgs: agentOptions,
153
+ agentId: request.agentId,
154
+ });
155
+ try {
156
+ return await Promise.race([executionPromise, abortPromise]);
157
+ }
158
+ finally {
159
+ executionPromise.catch(() => undefined);
160
+ }
161
+ }
162
+ createRunnerOptions(config) {
163
+ return {
164
+ maxConcurrency: config.maxConcurrency ?? 5,
165
+ timeoutMs: config.timeout ?? this.timeoutConfig.parallel,
166
+ failFast: config.failFast ?? false,
167
+ evaluateTaskSuccess: (value) => value.success,
168
+ callbacks: this.createTaskCallbacks(),
169
+ };
170
+ }
171
+ createTaskCallbacks() {
172
+ return {
173
+ onTaskStart: async (task) => {
174
+ const metadata = this.getMetadata(task.metadata);
175
+ const modeLabel = metadata.mode;
176
+ const prompt = modeLabel === 'query' ? metadata.request.query ?? '' : metadata.request.task ?? '';
177
+ const taskId = this.taskManagementService.createTask({
178
+ type: modeLabel,
179
+ provider: metadata.provider,
180
+ prompt,
181
+ agentId: metadata.request.agentId,
182
+ });
183
+ metadata.taskId = taskId;
184
+ this.logger.log(`Starting execution for agent: ${metadata.request.agentId} ` +
185
+ `(provider: ${metadata.provider}, mode: ${modeLabel}, options: ${metadata.agentOptions.join(' ')}, taskId: ${taskId})`);
186
+ this.taskManagementService.addTaskLog(taskId, {
187
+ level: 'info',
188
+ message: `Starting ${modeLabel} operation with options: ${metadata.agentOptions.join(' ')}`,
189
+ });
190
+ },
191
+ onTaskComplete: async (result) => {
192
+ const metadata = this.getMetadata(result.metadata);
193
+ const taskId = metadata.taskId;
194
+ if (!taskId) {
195
+ return;
196
+ }
197
+ const aiResult = result.value;
198
+ if (aiResult) {
199
+ this.taskManagementService.completeTask(taskId, aiResult, aiResult.success);
200
+ this.taskManagementService.addTaskLog(taskId, {
201
+ level: aiResult.success ? 'info' : 'error',
202
+ message: aiResult.success
203
+ ? `Completed successfully in ${result.durationMs.toFixed(2)}ms`
204
+ : `Failed after ${result.durationMs.toFixed(2)}ms: ${aiResult.error || 'Unknown error'}`,
205
+ });
206
+ }
207
+ this.logger.log(`Agent ${metadata.request.agentId} ${result.success ? 'completed successfully' : 'failed'} ` +
208
+ `in ${result.durationMs.toFixed(2)}ms (taskId: ${taskId})`);
209
+ },
210
+ onError: async (task, error, durationMs) => {
211
+ const metadata = this.getMetadata(task.metadata);
212
+ const taskId = metadata.taskId;
213
+ const message = error.message || 'Unknown error';
214
+ if (taskId) {
215
+ this.taskManagementService.completeTask(taskId, { error: message }, false);
216
+ this.taskManagementService.addTaskLog(taskId, {
217
+ level: 'error',
218
+ message: `Failed after ${durationMs.toFixed(2)}ms: ${message}`,
219
+ });
220
+ }
221
+ this.logger.error(`Agent ${metadata.request.agentId} failed after ${durationMs.toFixed(2)}ms: ${message} ` +
222
+ `(taskId: ${taskId ?? 'N/A'})`);
223
+ },
224
+ };
225
+ }
226
+ buildAgentResults(taskResults) {
227
+ const decorated = taskResults.map((result) => {
228
+ const metadata = this.getMetadata(result.metadata);
229
+ const agentResult = result.value
230
+ ? {
231
+ agentId: metadata.request.agentId,
232
+ success: result.value.success,
233
+ result: result.value,
234
+ error: result.value.error,
235
+ duration: result.durationMs,
236
+ taskId: metadata.taskId,
237
+ }
238
+ : {
239
+ agentId: metadata.request.agentId,
240
+ success: false,
241
+ error: result.error?.message ?? 'Unknown error',
242
+ duration: result.durationMs,
243
+ taskId: metadata.taskId,
244
+ };
245
+ return { index: metadata.index, data: agentResult };
246
+ });
247
+ decorated.sort((a, b) => a.index - b.index);
248
+ return decorated.map((item) => item.data);
249
+ }
250
+ buildSummary(results) {
251
+ const metrics = this.parallelRunner.getMetrics();
252
+ const successful = results.filter((r) => r.success).length;
253
+ const failed = results.length - successful;
254
+ const averageDuration = results.length
255
+ ? results.reduce((sum, item) => sum + item.duration, 0) / results.length
256
+ : 0;
257
+ return {
258
+ total: results.length,
259
+ successful,
260
+ failed,
261
+ totalDuration: metrics.totalDurationMs,
262
+ averageDuration,
263
+ };
264
+ }
265
+ getMetadata(metadata) {
266
+ if (!metadata) {
267
+ throw new Error('ParallelRunner task metadata is missing');
268
+ }
269
+ return metadata;
270
+ }
271
+ getProviderForAgent(agentId) {
272
+ if (agentId === 'claude' || agentId === 'gemini' || agentId === 'copilot' || agentId === 'codex') {
273
+ return `cli/${agentId}`;
274
+ }
275
+ const agentConfig = this.configService.getAgentConfig(agentId);
276
+ const resolved = this.resolveProviderFromConfig(agentConfig);
277
+ if (resolved) {
278
+ return resolved;
279
+ }
280
+ this.logger.warn(`No provider found for agent ${agentId}, defaulting to cli/claude`);
281
+ return 'cli/claude';
282
+ }
283
+ getOptionsForAgent(agentId, mode) {
284
+ const agentConfig = this.configService.getAgentConfig(agentId);
285
+ if (agentConfig && agentConfig.options) {
286
+ if (typeof agentConfig.options === 'object' && agentConfig.options[mode]) {
287
+ const modeOptions = agentConfig.options[mode];
288
+ return Array.isArray(modeOptions) ? modeOptions : [];
289
+ }
290
+ }
291
+ return [];
292
+ }
293
+ resolveProviderFromConfig(agentConfig) {
294
+ if (!agentConfig) {
295
+ return null;
296
+ }
297
+ const providerValue = Array.isArray(agentConfig.provider)
298
+ ? agentConfig.provider[0]
299
+ : agentConfig.provider;
300
+ const normalized = this.normalizeProviderName(providerValue);
301
+ if (normalized) {
302
+ return normalized;
303
+ }
304
+ if (agentConfig.inline?.provider) {
305
+ return this.normalizeProviderName(agentConfig.inline.provider);
306
+ }
307
+ return null;
308
+ }
309
+ normalizeProviderName(provider) {
310
+ if (!provider || typeof provider !== 'string') {
311
+ return null;
312
+ }
313
+ const trimmed = provider.trim();
314
+ if (!trimmed) {
315
+ return null;
316
+ }
317
+ if (trimmed.includes('/')) {
318
+ return trimmed;
319
+ }
320
+ if (trimmed === 'claude' || trimmed === 'gemini' || trimmed === 'copilot' || trimmed === 'codex') {
321
+ return `cli/${trimmed}`;
322
+ }
323
+ return null;
324
+ }
260
325
  };
261
326
  exports.ParallelProcessingService = ParallelProcessingService;
262
327
  exports.ParallelProcessingService = ParallelProcessingService = ParallelProcessingService_1 = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"parallel-processing.service.js","sourceRoot":"","sources":["../../src/services/parallel-processing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parallel-processing.service.js","sourceRoot":"","sources":["../../src/services/parallel-processing.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { type AIProvider, type CrewxAgentResult, type ProviderConfig, type ProviderResolutionResult } from '@sowonai/crewx-sdk';
2
+ import { AIProviderService } from '../ai-provider.service';
3
+ import { ConfigService } from './config.service';
4
+ export type ProviderBridgeInput = string | ProviderConfig | AIProvider | undefined;
5
+ export interface ProviderBridgeAgentOptions {
6
+ provider?: ProviderBridgeInput;
7
+ defaultAgentId?: string;
8
+ validAgents?: string[];
9
+ enableCallStack?: boolean;
10
+ }
11
+ export interface ProviderBridgeAgentRuntime {
12
+ runtime: CrewxAgentResult;
13
+ resolution: ProviderResolutionResult;
14
+ }
15
+ export declare class ProviderBridgeService {
16
+ private readonly aiProviderService;
17
+ private readonly configService?;
18
+ private readonly logger;
19
+ constructor(aiProviderService: AIProviderService, configService?: ConfigService | undefined);
20
+ resolveProvider(input?: ProviderBridgeInput): Promise<ProviderResolutionResult>;
21
+ getProviderForSDK(input?: ProviderBridgeInput): Promise<AIProvider>;
22
+ listAvailableProviders(): string[];
23
+ isProviderAvailable(input?: ProviderBridgeInput): Promise<boolean>;
24
+ createAgentRuntime(options?: ProviderBridgeAgentOptions): Promise<ProviderBridgeAgentRuntime>;
25
+ private isAIProvider;
26
+ private isProviderConfig;
27
+ private findProviderByString;
28
+ private expandProviderCandidates;
29
+ private getDefaultProvider;
30
+ private normalizeOutputName;
31
+ private getDefaultModel;
32
+ private getDynamicDefaultModel;
33
+ private matchesPluginProvider;
34
+ private matchesRemoteProvider;
35
+ }