@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.
- package/README.md +40 -6
- package/dist/ai-provider.service.d.ts +7 -12
- package/dist/ai-provider.service.js +42 -20
- package/dist/ai-provider.service.js.map +1 -1
- package/dist/ai.service.d.ts +5 -45
- package/dist/ai.service.js +10 -587
- package/dist/ai.service.js.map +1 -1
- package/dist/app.module.js +67 -9
- package/dist/app.module.js.map +1 -1
- package/dist/cli/chat.handler.d.ts +2 -1
- package/dist/cli/chat.handler.js +26 -11
- package/dist/cli/chat.handler.js.map +1 -1
- package/dist/cli/doctor.handler.js +8 -40
- package/dist/cli/doctor.handler.js.map +1 -1
- package/dist/cli/execute.handler.js +8 -6
- package/dist/cli/execute.handler.js.map +1 -1
- package/dist/cli/mcp.handler.js.map +1 -1
- package/dist/cli/query.handler.js +4 -2
- package/dist/cli/query.handler.js.map +1 -1
- package/dist/cli-options.d.ts +2 -0
- package/dist/cli-options.js +10 -0
- package/dist/cli-options.js.map +1 -1
- package/dist/crewx.tool.d.ts +18 -2
- package/dist/crewx.tool.js +542 -105
- package/dist/crewx.tool.js.map +1 -1
- package/dist/providers/dynamic-provider.factory.d.ts +9 -51
- package/dist/providers/dynamic-provider.factory.js +44 -506
- package/dist/providers/dynamic-provider.factory.js.map +1 -1
- package/dist/providers/logger.adapter.d.ts +4 -0
- package/dist/providers/logger.adapter.js +56 -0
- package/dist/providers/logger.adapter.js.map +1 -0
- package/dist/services/agent-loader.service.d.ts +6 -2
- package/dist/services/agent-loader.service.js +210 -26
- package/dist/services/agent-loader.service.js.map +1 -1
- package/dist/services/config.service.d.ts +7 -27
- package/dist/services/config.service.js +80 -38
- package/dist/services/config.service.js.map +1 -1
- package/dist/services/document-loader.service.d.ts +9 -4
- package/dist/services/document-loader.service.js +21 -7
- package/dist/services/document-loader.service.js.map +1 -1
- package/dist/services/parallel-processing.service.d.ts +17 -17
- package/dist/services/parallel-processing.service.js +261 -196
- package/dist/services/parallel-processing.service.js.map +1 -1
- package/dist/services/provider-bridge.service.d.ts +35 -0
- package/dist/services/provider-bridge.service.js +224 -0
- package/dist/services/provider-bridge.service.js.map +1 -0
- package/dist/services/remote-agent.service.d.ts +4 -7
- package/dist/services/remote-agent.service.js +41 -95
- package/dist/services/remote-agent.service.js.map +1 -1
- package/dist/services/task-management.service.d.ts +3 -3
- package/dist/services/task-management.service.js.map +1 -1
- package/dist/services/template.service.d.ts +2 -0
- package/dist/services/template.service.js +46 -1
- package/dist/services/template.service.js.map +1 -1
- package/dist/services/tool-call.service.d.ts +2 -36
- package/dist/services/tool-call.service.js.map +1 -1
- package/dist/slack/formatters/message.formatter.d.ts +5 -2
- package/dist/slack/formatters/message.formatter.js +55 -2
- package/dist/slack/formatters/message.formatter.js.map +1 -1
- package/dist/slack/slack-bot.js +1 -2
- package/dist/slack/slack-bot.js.map +1 -1
- package/dist/utils/stdin-utils.d.ts +4 -25
- package/dist/utils/stdin-utils.js +2 -23
- package/dist/utils/stdin-utils.js.map +1 -1
- package/dist/utils/template-processor.d.ts +2 -29
- package/dist/utils/template-processor.js +5 -2
- package/dist/utils/template-processor.js.map +1 -1
- package/dist/utils/terminal-message-formatter.d.ts +23 -0
- package/dist/utils/terminal-message-formatter.js +136 -0
- package/dist/utils/terminal-message-formatter.js.map +1 -0
- package/package.json +30 -32
- package/scripts/postbuild-cli.mjs +20 -1
- package/templates/agents/default.yaml +468 -0
- package/templates/agents/minimal.yaml +16 -0
- package/templates/documents/crewx-manual.md +387 -0
- package/templates/versions.json +19 -0
- package/dist/providers/base-ai.provider.d.ts +0 -50
- package/dist/providers/base-ai.provider.js +0 -624
- package/dist/providers/base-ai.provider.js.map +0 -1
- package/dist/providers/claude.provider.d.ts +0 -25
- package/dist/providers/claude.provider.js +0 -362
- package/dist/providers/claude.provider.js.map +0 -1
- package/dist/providers/codex.provider.d.ts +0 -17
- package/dist/providers/codex.provider.js +0 -99
- package/dist/providers/codex.provider.js.map +0 -1
- package/dist/providers/copilot.provider.d.ts +0 -25
- package/dist/providers/copilot.provider.js +0 -266
- package/dist/providers/copilot.provider.js.map +0 -1
- package/dist/providers/gemini.provider.d.ts +0 -22
- package/dist/providers/gemini.provider.js +0 -147
- package/dist/providers/gemini.provider.js.map +0 -1
- package/dist/utils/mention-parser.d.ts +0 -18
- package/dist/utils/mention-parser.js +0 -136
- package/dist/utils/mention-parser.js.map +0 -1
|
@@ -46,14 +46,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
46
46
|
exports.ConfigService = void 0;
|
|
47
47
|
const common_1 = require("@nestjs/common");
|
|
48
48
|
const fs_1 = require("fs");
|
|
49
|
-
const yaml = __importStar(require("js-yaml"));
|
|
50
49
|
const path = __importStar(require("path"));
|
|
50
|
+
const crewx_sdk_1 = require("@sowonai/crewx-sdk");
|
|
51
51
|
let ConfigService = ConfigService_1 = class ConfigService {
|
|
52
52
|
constructor() {
|
|
53
53
|
this.logger = new common_1.Logger(ConfigService_1.name);
|
|
54
54
|
this.agents = new Map();
|
|
55
55
|
this.providerConfigs = [];
|
|
56
|
+
this.projectConfig = null;
|
|
56
57
|
this.customConfigPath = null;
|
|
58
|
+
this.currentConfigPath = null;
|
|
57
59
|
this.slackSettings = {
|
|
58
60
|
logConversations: false,
|
|
59
61
|
};
|
|
@@ -67,55 +69,34 @@ let ConfigService = ConfigService_1 = class ConfigService {
|
|
|
67
69
|
loadAgentConfigs() {
|
|
68
70
|
this.agents.clear();
|
|
69
71
|
this.providerConfigs = [];
|
|
72
|
+
this.projectConfig = null;
|
|
73
|
+
this.currentConfigPath = null;
|
|
70
74
|
this.slackSettings = { logConversations: false };
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (this.customConfigPath) {
|
|
74
|
-
const customPath = path.isAbsolute(this.customConfigPath)
|
|
75
|
-
? this.customConfigPath
|
|
76
|
-
: path.join(process.cwd(), this.customConfigPath);
|
|
77
|
-
if ((0, fs_1.existsSync)(customPath)) {
|
|
78
|
-
configPath = customPath;
|
|
79
|
-
configName = path.basename(customPath);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
this.logger.error(`Custom config file not found: ${customPath}`);
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
const configPaths = [
|
|
88
|
-
{ path: path.join(process.cwd(), 'crewx.yaml'), name: 'crewx.yaml' },
|
|
89
|
-
{ path: path.join(process.cwd(), 'agents.yaml'), name: 'agents.yaml' },
|
|
90
|
-
];
|
|
91
|
-
for (const config of configPaths) {
|
|
92
|
-
if ((0, fs_1.existsSync)(config.path)) {
|
|
93
|
-
configPath = config.path;
|
|
94
|
-
configName = config.name;
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (!configPath) {
|
|
75
|
+
const { path: configPath, name: configName } = this.resolveConfigPath();
|
|
76
|
+
if (!configPath || !configName) {
|
|
100
77
|
this.logger.warn('No configuration file found (crewx.yaml or agents.yaml). No agent configurations loaded.');
|
|
101
78
|
return;
|
|
102
79
|
}
|
|
80
|
+
this.currentConfigPath = configPath;
|
|
103
81
|
this.logger.log(`Loading agent configurations from: ${configPath}`);
|
|
104
82
|
try {
|
|
105
|
-
const
|
|
106
|
-
|
|
107
|
-
if (
|
|
83
|
+
const config = (0, crewx_sdk_1.parseCrewxConfigFromFile)(configPath);
|
|
84
|
+
this.projectConfig = config;
|
|
85
|
+
if (Array.isArray(config.agents)) {
|
|
108
86
|
for (const agent of config.agents) {
|
|
109
|
-
if (agent.id) {
|
|
87
|
+
if (agent && agent.id) {
|
|
110
88
|
this.agents.set(agent.id, agent);
|
|
111
89
|
}
|
|
112
90
|
}
|
|
113
91
|
this.logger.log(`Loaded ${this.agents.size} agent configurations from ${configName}.`);
|
|
114
92
|
}
|
|
115
|
-
|
|
116
|
-
|
|
93
|
+
const providers = Array.isArray(config.providers)
|
|
94
|
+
? config.providers
|
|
95
|
+
: [];
|
|
96
|
+
this.providerConfigs = providers.filter((provider) => Boolean(provider && (provider.type === 'plugin' || provider.type === 'remote')));
|
|
97
|
+
if (this.providerConfigs.length > 0) {
|
|
117
98
|
const pluginCount = this.providerConfigs.filter((p) => p.type === 'plugin').length;
|
|
118
|
-
const remoteCount = this.providerConfigs.
|
|
99
|
+
const remoteCount = this.providerConfigs.length - pluginCount;
|
|
119
100
|
this.logger.log(`Loaded ${pluginCount} plugin provider configurations.`);
|
|
120
101
|
if (remoteCount > 0) {
|
|
121
102
|
this.logger.log(`Loaded ${remoteCount} remote provider configurations.`);
|
|
@@ -134,7 +115,18 @@ let ConfigService = ConfigService_1 = class ConfigService {
|
|
|
134
115
|
}
|
|
135
116
|
}
|
|
136
117
|
catch (error) {
|
|
137
|
-
|
|
118
|
+
if (error instanceof crewx_sdk_1.SkillLoadError) {
|
|
119
|
+
this.logger.error(`Failed to parse ${configName}: ${error.message}`);
|
|
120
|
+
if (error.cause) {
|
|
121
|
+
this.logger.debug(`Parse error stack: ${error.cause.stack ?? error.cause.message}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
else if (error instanceof Error) {
|
|
125
|
+
this.logger.error(`Failed to load or parse ${configName}`, error);
|
|
126
|
+
}
|
|
127
|
+
else {
|
|
128
|
+
this.logger.error(`Failed to load or parse ${configName}: ${String(error)}`);
|
|
129
|
+
}
|
|
138
130
|
}
|
|
139
131
|
}
|
|
140
132
|
getAgentConfig(agentId) {
|
|
@@ -155,12 +147,30 @@ let ConfigService = ConfigService_1 = class ConfigService {
|
|
|
155
147
|
shouldLogSlackConversations() {
|
|
156
148
|
return this.slackSettings.logConversations;
|
|
157
149
|
}
|
|
150
|
+
getProjectConfig() {
|
|
151
|
+
return this.projectConfig;
|
|
152
|
+
}
|
|
153
|
+
getSkillsPaths() {
|
|
154
|
+
return this.projectConfig?.skillsPaths ? [...this.projectConfig.skillsPaths] : [];
|
|
155
|
+
}
|
|
158
156
|
getCurrentConfigPath() {
|
|
157
|
+
if (this.currentConfigPath) {
|
|
158
|
+
return this.currentConfigPath;
|
|
159
|
+
}
|
|
159
160
|
if (this.customConfigPath) {
|
|
160
161
|
return path.isAbsolute(this.customConfigPath)
|
|
161
162
|
? this.customConfigPath
|
|
162
163
|
: path.join(process.cwd(), this.customConfigPath);
|
|
163
164
|
}
|
|
165
|
+
const envConfigPath = process.env.CREWX_CONFIG?.trim();
|
|
166
|
+
if (envConfigPath) {
|
|
167
|
+
const resolvedEnvPath = path.isAbsolute(envConfigPath)
|
|
168
|
+
? envConfigPath
|
|
169
|
+
: path.join(process.cwd(), envConfigPath);
|
|
170
|
+
if ((0, fs_1.existsSync)(resolvedEnvPath)) {
|
|
171
|
+
return resolvedEnvPath;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
164
174
|
const crewxPath = path.join(process.cwd(), 'crewx.yaml');
|
|
165
175
|
const agentsPath = path.join(process.cwd(), 'agents.yaml');
|
|
166
176
|
if ((0, fs_1.existsSync)(crewxPath)) {
|
|
@@ -171,6 +181,38 @@ let ConfigService = ConfigService_1 = class ConfigService {
|
|
|
171
181
|
}
|
|
172
182
|
return null;
|
|
173
183
|
}
|
|
184
|
+
resolveConfigPath() {
|
|
185
|
+
if (this.customConfigPath) {
|
|
186
|
+
const customPath = path.isAbsolute(this.customConfigPath)
|
|
187
|
+
? this.customConfigPath
|
|
188
|
+
: path.join(process.cwd(), this.customConfigPath);
|
|
189
|
+
if ((0, fs_1.existsSync)(customPath)) {
|
|
190
|
+
return { path: customPath, name: path.basename(customPath) };
|
|
191
|
+
}
|
|
192
|
+
this.logger.error(`Custom config file not found: ${customPath}`);
|
|
193
|
+
return { path: null, name: null };
|
|
194
|
+
}
|
|
195
|
+
const envConfigPath = process.env.CREWX_CONFIG?.trim();
|
|
196
|
+
if (envConfigPath) {
|
|
197
|
+
const resolvedEnvPath = path.isAbsolute(envConfigPath)
|
|
198
|
+
? envConfigPath
|
|
199
|
+
: path.join(process.cwd(), envConfigPath);
|
|
200
|
+
if ((0, fs_1.existsSync)(resolvedEnvPath)) {
|
|
201
|
+
return { path: resolvedEnvPath, name: path.basename(resolvedEnvPath) };
|
|
202
|
+
}
|
|
203
|
+
this.logger.warn(`CREWX_CONFIG file not found: ${resolvedEnvPath}`);
|
|
204
|
+
}
|
|
205
|
+
const defaultCandidates = [
|
|
206
|
+
{ path: path.join(process.cwd(), 'crewx.yaml'), name: 'crewx.yaml' },
|
|
207
|
+
{ path: path.join(process.cwd(), 'agents.yaml'), name: 'agents.yaml' },
|
|
208
|
+
];
|
|
209
|
+
for (const candidate of defaultCandidates) {
|
|
210
|
+
if ((0, fs_1.existsSync)(candidate.path)) {
|
|
211
|
+
return candidate;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return { path: null, name: null };
|
|
215
|
+
}
|
|
174
216
|
};
|
|
175
217
|
exports.ConfigService = ConfigService;
|
|
176
218
|
exports.ConfigService = ConfigService = ConfigService_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/services/config.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAAkE;AAClE,
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/services/config.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
type DocumentSource = string | {
|
|
2
|
+
path?: string;
|
|
3
|
+
name?: string;
|
|
4
|
+
render?: boolean;
|
|
5
|
+
content?: string;
|
|
6
|
+
};
|
|
1
7
|
export declare class DocumentLoaderService {
|
|
2
8
|
private readonly logger;
|
|
3
9
|
private documents;
|
|
4
10
|
private initialized;
|
|
5
|
-
initialize(agentsYamlDocuments?: Record<string, string
|
|
6
|
-
path: string;
|
|
7
|
-
name?: string;
|
|
8
|
-
}>, projectPath?: string): Promise<void>;
|
|
11
|
+
initialize(agentsYamlDocuments?: Record<string, DocumentSource>, projectPath?: string): Promise<void>;
|
|
9
12
|
private loadFileContent;
|
|
10
13
|
reset(): void;
|
|
11
14
|
isInitialized(): boolean;
|
|
12
15
|
getDocumentContent(docName: string): Promise<string | undefined>;
|
|
13
16
|
getDocumentToc(docName: string): Promise<string | undefined>;
|
|
14
17
|
getDocumentSummary(_docName: string): Promise<string | undefined>;
|
|
18
|
+
shouldRenderDocument(docName: string): boolean;
|
|
15
19
|
getDocumentNames(): string[];
|
|
16
20
|
}
|
|
21
|
+
export {};
|
|
@@ -17,6 +17,7 @@ const path_1 = require("path");
|
|
|
17
17
|
const unified_1 = require("unified");
|
|
18
18
|
const remark_parse_1 = __importDefault(require("remark-parse"));
|
|
19
19
|
const unist_util_visit_1 = require("unist-util-visit");
|
|
20
|
+
const DEFAULT_RENDER_MODE = false;
|
|
20
21
|
let DocumentLoaderService = DocumentLoaderService_1 = class DocumentLoaderService {
|
|
21
22
|
constructor() {
|
|
22
23
|
this.logger = new common_1.Logger(DocumentLoaderService_1.name);
|
|
@@ -37,14 +38,23 @@ let DocumentLoaderService = DocumentLoaderService_1 = class DocumentLoaderServic
|
|
|
37
38
|
}
|
|
38
39
|
for (const [docName, config] of Object.entries(agentsYamlDocuments)) {
|
|
39
40
|
if (typeof config === 'string') {
|
|
40
|
-
|
|
41
|
-
this.
|
|
41
|
+
const render = DEFAULT_RENDER_MODE;
|
|
42
|
+
this.documents.set(docName, { content: config, render });
|
|
43
|
+
this.logger.debug(`Loaded inline document: ${docName} (${config.length} chars) [render=${render}]`);
|
|
44
|
+
}
|
|
45
|
+
else if (config && typeof config === 'object' && 'content' in config) {
|
|
46
|
+
const content = String(config.content ?? '');
|
|
47
|
+
const render = typeof config.render === 'boolean' ? config.render : DEFAULT_RENDER_MODE;
|
|
48
|
+
this.documents.set(docName, { content, render });
|
|
49
|
+
this.logger.debug(`Loaded inline document object: ${docName} (${content.length} chars) [render=${render}]`);
|
|
42
50
|
}
|
|
43
51
|
else if (config && typeof config === 'object' && 'path' in config) {
|
|
44
52
|
try {
|
|
45
|
-
const
|
|
46
|
-
this.
|
|
47
|
-
|
|
53
|
+
const resolvedPath = typeof config.path === 'string' ? config.path : '';
|
|
54
|
+
const content = await this.loadFileContent(resolvedPath, projectPath);
|
|
55
|
+
const render = typeof config.render === 'boolean' ? config.render : DEFAULT_RENDER_MODE;
|
|
56
|
+
this.documents.set(docName, { content, render });
|
|
57
|
+
this.logger.debug(`Loaded file document: ${docName} from ${config.path} (${content.length} chars) [render=${render}]`);
|
|
48
58
|
}
|
|
49
59
|
catch (error) {
|
|
50
60
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
@@ -75,10 +85,10 @@ let DocumentLoaderService = DocumentLoaderService_1 = class DocumentLoaderServic
|
|
|
75
85
|
return this.initialized;
|
|
76
86
|
}
|
|
77
87
|
async getDocumentContent(docName) {
|
|
78
|
-
return this.documents.get(docName);
|
|
88
|
+
return this.documents.get(docName)?.content;
|
|
79
89
|
}
|
|
80
90
|
async getDocumentToc(docName) {
|
|
81
|
-
const content = this.documents.get(docName);
|
|
91
|
+
const content = this.documents.get(docName)?.content;
|
|
82
92
|
if (!content) {
|
|
83
93
|
return undefined;
|
|
84
94
|
}
|
|
@@ -126,6 +136,10 @@ let DocumentLoaderService = DocumentLoaderService_1 = class DocumentLoaderServic
|
|
|
126
136
|
async getDocumentSummary(_docName) {
|
|
127
137
|
return undefined;
|
|
128
138
|
}
|
|
139
|
+
shouldRenderDocument(docName) {
|
|
140
|
+
const entry = this.documents.get(docName);
|
|
141
|
+
return entry?.render ?? DEFAULT_RENDER_MODE;
|
|
142
|
+
}
|
|
129
143
|
getDocumentNames() {
|
|
130
144
|
return Array.from(this.documents.keys());
|
|
131
145
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-loader.service.js","sourceRoot":"","sources":["../../src/services/document-loader.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAWA,2CAAoD;AACpD,0CAA+C;AAC/C,+BAAwC;AACxC,qCAAkC;AAClC,gEAAuC;AACvC,uDAAyC;
|
|
1
|
+
{"version":3,"file":"document-loader.service.js","sourceRoot":"","sources":["../../src/services/document-loader.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { AIService } from '../ai.service';
|
|
1
|
+
import { AIService, type AIResponse } from '../ai.service';
|
|
2
2
|
import { TaskManagementService } from './task-management.service';
|
|
3
3
|
import { ConfigService } from './config.service';
|
|
4
4
|
interface AgentExecutionResult {
|
|
5
5
|
agentId: string;
|
|
6
6
|
success: boolean;
|
|
7
|
-
result?:
|
|
7
|
+
result?: AIResponse;
|
|
8
8
|
error?: string;
|
|
9
9
|
duration: number;
|
|
10
10
|
taskId?: string;
|
|
@@ -33,9 +33,8 @@ export declare class ParallelProcessingService {
|
|
|
33
33
|
private readonly configService;
|
|
34
34
|
private readonly logger;
|
|
35
35
|
private readonly timeoutConfig;
|
|
36
|
+
private readonly parallelRunner;
|
|
36
37
|
constructor(aiService: AIService, taskManagementService: TaskManagementService, configService: ConfigService);
|
|
37
|
-
private getProviderForAgent;
|
|
38
|
-
private getOptionsForAgent;
|
|
39
38
|
executeParallel(requests: ParallelProcessingRequest[], config?: ParallelProcessingConfig): Promise<{
|
|
40
39
|
results: AgentExecutionResult[];
|
|
41
40
|
summary: {
|
|
@@ -82,27 +81,28 @@ export declare class ParallelProcessingService {
|
|
|
82
81
|
averageDuration: number;
|
|
83
82
|
};
|
|
84
83
|
}>;
|
|
85
|
-
private executeWithTimeout;
|
|
86
|
-
private chunkArray;
|
|
87
84
|
getPerformanceMetrics(results: AgentExecutionResult[]): {
|
|
88
|
-
totalAgents: number;
|
|
89
|
-
successRate: number;
|
|
90
|
-
averageExecutionTime: number;
|
|
91
|
-
fastestExecution: number;
|
|
92
|
-
slowestExecution: number;
|
|
93
|
-
successfulAgents?: undefined;
|
|
94
|
-
failedAgents?: undefined;
|
|
95
|
-
} | {
|
|
96
85
|
totalAgents: number;
|
|
97
86
|
successRate: number;
|
|
98
87
|
averageExecutionTime: number;
|
|
99
88
|
fastestExecution: number;
|
|
100
89
|
slowestExecution: number;
|
|
101
90
|
successfulAgents: string[];
|
|
102
|
-
failedAgents: {
|
|
91
|
+
failedAgents: Array<{
|
|
103
92
|
agentId: string;
|
|
104
|
-
error
|
|
105
|
-
}
|
|
93
|
+
error?: string;
|
|
94
|
+
}>;
|
|
106
95
|
};
|
|
96
|
+
private createTask;
|
|
97
|
+
private runAgentTask;
|
|
98
|
+
private createRunnerOptions;
|
|
99
|
+
private createTaskCallbacks;
|
|
100
|
+
private buildAgentResults;
|
|
101
|
+
private buildSummary;
|
|
102
|
+
private getMetadata;
|
|
103
|
+
private getProviderForAgent;
|
|
104
|
+
private getOptionsForAgent;
|
|
105
|
+
private resolveProviderFromConfig;
|
|
106
|
+
private normalizeProviderName;
|
|
107
107
|
}
|
|
108
108
|
export {};
|