mycontext-cli 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +440 -0
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.d.ts +43 -0
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.d.ts.map +1 -0
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.js +1440 -0
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.js.map +1 -0
- package/dist/cli/src/agents/implementations/DocsSubAgent.d.ts +35 -0
- package/dist/cli/src/agents/implementations/DocsSubAgent.d.ts.map +1 -0
- package/dist/cli/src/agents/implementations/DocsSubAgent.js +351 -0
- package/dist/cli/src/agents/implementations/DocsSubAgent.js.map +1 -0
- package/dist/cli/src/agents/implementations/QASubAgent.d.ts +31 -0
- package/dist/cli/src/agents/implementations/QASubAgent.d.ts.map +1 -0
- package/dist/cli/src/agents/implementations/QASubAgent.js +190 -0
- package/dist/cli/src/agents/implementations/QASubAgent.js.map +1 -0
- package/dist/cli/src/agents/interfaces/SubAgent.d.ts +157 -0
- package/dist/cli/src/agents/interfaces/SubAgent.d.ts.map +1 -0
- package/dist/cli/src/agents/interfaces/SubAgent.js +7 -0
- package/dist/cli/src/agents/interfaces/SubAgent.js.map +1 -0
- package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.d.ts +59 -0
- package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.d.ts.map +1 -0
- package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.js +305 -0
- package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.js.map +1 -0
- package/dist/cli/src/agents/personalities/definitions.d.ts +34 -0
- package/dist/cli/src/agents/personalities/definitions.d.ts.map +1 -0
- package/dist/cli/src/agents/personalities/definitions.js +360 -0
- package/dist/cli/src/agents/personalities/definitions.js.map +1 -0
- package/dist/cli/src/cli.d.ts +3 -0
- package/dist/cli/src/cli.d.ts.map +1 -0
- package/dist/cli/src/cli.js +286 -0
- package/dist/cli/src/cli.js.map +1 -0
- package/dist/cli/src/commands/auth.d.ts +23 -0
- package/dist/cli/src/commands/auth.d.ts.map +1 -0
- package/dist/cli/src/commands/auth.js +212 -0
- package/dist/cli/src/commands/auth.js.map +1 -0
- package/dist/cli/src/commands/generate-components.d.ts +28 -0
- package/dist/cli/src/commands/generate-components.d.ts.map +1 -0
- package/dist/cli/src/commands/generate-components.js +680 -0
- package/dist/cli/src/commands/generate-components.js.map +1 -0
- package/dist/cli/src/commands/generate.d.ts +108 -0
- package/dist/cli/src/commands/generate.d.ts.map +1 -0
- package/dist/cli/src/commands/generate.js +1984 -0
- package/dist/cli/src/commands/generate.js.map +1 -0
- package/dist/cli/src/commands/init.d.ts +13 -0
- package/dist/cli/src/commands/init.d.ts.map +1 -0
- package/dist/cli/src/commands/init.js +91 -0
- package/dist/cli/src/commands/init.js.map +1 -0
- package/dist/cli/src/commands/list.d.ts +17 -0
- package/dist/cli/src/commands/list.d.ts.map +1 -0
- package/dist/cli/src/commands/list.js +209 -0
- package/dist/cli/src/commands/list.js.map +1 -0
- package/dist/cli/src/commands/preview.d.ts +23 -0
- package/dist/cli/src/commands/preview.d.ts.map +1 -0
- package/dist/cli/src/commands/preview.js +1200 -0
- package/dist/cli/src/commands/preview.js.map +1 -0
- package/dist/cli/src/commands/status.d.ts +21 -0
- package/dist/cli/src/commands/status.d.ts.map +1 -0
- package/dist/cli/src/commands/status.js +287 -0
- package/dist/cli/src/commands/status.js.map +1 -0
- package/dist/cli/src/commands/validate.d.ts +22 -0
- package/dist/cli/src/commands/validate.d.ts.map +1 -0
- package/dist/cli/src/commands/validate.js +259 -0
- package/dist/cli/src/commands/validate.js.map +1 -0
- package/dist/cli/src/types/index.d.ts +152 -0
- package/dist/cli/src/types/index.d.ts.map +1 -0
- package/dist/cli/src/types/index.js +3 -0
- package/dist/cli/src/types/index.js.map +1 -0
- package/dist/cli/src/utils/apiKeyManager.d.ts +137 -0
- package/dist/cli/src/utils/apiKeyManager.d.ts.map +1 -0
- package/dist/cli/src/utils/apiKeyManager.js +471 -0
- package/dist/cli/src/utils/apiKeyManager.js.map +1 -0
- package/dist/cli/src/utils/errorHandler.d.ts +105 -0
- package/dist/cli/src/utils/errorHandler.d.ts.map +1 -0
- package/dist/cli/src/utils/errorHandler.js +332 -0
- package/dist/cli/src/utils/errorHandler.js.map +1 -0
- package/dist/cli/src/utils/fileSystem.d.ts +58 -0
- package/dist/cli/src/utils/fileSystem.d.ts.map +1 -0
- package/dist/cli/src/utils/fileSystem.js +230 -0
- package/dist/cli/src/utils/fileSystem.js.map +1 -0
- package/dist/cli/src/utils/githubModels.d.ts +53 -0
- package/dist/cli/src/utils/githubModels.d.ts.map +1 -0
- package/dist/cli/src/utils/githubModels.js +239 -0
- package/dist/cli/src/utils/githubModels.js.map +1 -0
- package/dist/cli/src/utils/spinner.d.ts +28 -0
- package/dist/cli/src/utils/spinner.d.ts.map +1 -0
- package/dist/cli/src/utils/spinner.js +112 -0
- package/dist/cli/src/utils/spinner.js.map +1 -0
- package/dist/cli/src/utils/xaiClient.d.ts +59 -0
- package/dist/cli/src/utils/xaiClient.d.ts.map +1 -0
- package/dist/cli/src/utils/xaiClient.js +244 -0
- package/dist/cli/src/utils/xaiClient.js.map +1 -0
- package/dist/lib/analytics/usage-tracker.d.ts +125 -0
- package/dist/lib/analytics/usage-tracker.d.ts.map +1 -0
- package/dist/lib/analytics/usage-tracker.js +429 -0
- package/dist/lib/analytics/usage-tracker.js.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core interfaces for the MyContext Sub-Agent Architecture
|
|
3
|
+
* Inspired by Anthropic's Claude Code sub-agents
|
|
4
|
+
*/
|
|
5
|
+
export interface SubAgent<TInput = any, TOutput = any> {
|
|
6
|
+
/** Unique identifier for the sub-agent */
|
|
7
|
+
name: string;
|
|
8
|
+
/** Human-readable description of the sub-agent's role */
|
|
9
|
+
description: string;
|
|
10
|
+
/** Personality and expertise description */
|
|
11
|
+
personality: string;
|
|
12
|
+
/** LLM provider to use (e.g., 'claude-code', 'claude-sonnet', 'claude-haiku') */
|
|
13
|
+
llmProvider: string;
|
|
14
|
+
/** Areas of expertise */
|
|
15
|
+
expertise: string[];
|
|
16
|
+
/** Execute the sub-agent's main functionality */
|
|
17
|
+
run(input: TInput): Promise<TOutput>;
|
|
18
|
+
/** Validate input before processing (optional) */
|
|
19
|
+
validate?(input: TInput): boolean | Promise<boolean>;
|
|
20
|
+
/** Cleanup resources after execution (optional) */
|
|
21
|
+
cleanup?(): Promise<void>;
|
|
22
|
+
/** Get sub-agent status and health */
|
|
23
|
+
getStatus?(): Promise<SubAgentStatus>;
|
|
24
|
+
}
|
|
25
|
+
export interface SubAgentStatus {
|
|
26
|
+
name: string;
|
|
27
|
+
status: "idle" | "running" | "completed" | "error";
|
|
28
|
+
lastRun?: Date;
|
|
29
|
+
executionTime?: number;
|
|
30
|
+
errorCount: number;
|
|
31
|
+
successCount: number;
|
|
32
|
+
}
|
|
33
|
+
export interface SubAgentConfig {
|
|
34
|
+
name: string;
|
|
35
|
+
enabled: boolean;
|
|
36
|
+
llmProvider: string;
|
|
37
|
+
temperature?: number;
|
|
38
|
+
maxTokens?: number;
|
|
39
|
+
timeout?: number;
|
|
40
|
+
retries?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface WorkflowStep {
|
|
43
|
+
id: string;
|
|
44
|
+
agentName: string;
|
|
45
|
+
input: any;
|
|
46
|
+
dependencies?: string[];
|
|
47
|
+
parallel?: boolean;
|
|
48
|
+
timeout?: number;
|
|
49
|
+
retries?: number;
|
|
50
|
+
}
|
|
51
|
+
export interface WorkflowResult<T = any> {
|
|
52
|
+
success: boolean;
|
|
53
|
+
data?: T;
|
|
54
|
+
error?: string;
|
|
55
|
+
executionTime: number;
|
|
56
|
+
steps: WorkflowStepResult[];
|
|
57
|
+
}
|
|
58
|
+
export interface WorkflowStepResult {
|
|
59
|
+
stepId: string;
|
|
60
|
+
agentName: string;
|
|
61
|
+
success: boolean;
|
|
62
|
+
data?: any;
|
|
63
|
+
error?: string;
|
|
64
|
+
executionTime: number;
|
|
65
|
+
startTime: Date;
|
|
66
|
+
endTime: Date;
|
|
67
|
+
}
|
|
68
|
+
export interface SubAgentRegistry {
|
|
69
|
+
register<TInput, TOutput>(agent: SubAgent<TInput, TOutput>): void;
|
|
70
|
+
get(name: string): SubAgent<any, any> | undefined;
|
|
71
|
+
list(): SubAgent<any, any>[];
|
|
72
|
+
remove(name: string): boolean;
|
|
73
|
+
}
|
|
74
|
+
export interface SubAgentOrchestrator {
|
|
75
|
+
/** Register a sub-agent */
|
|
76
|
+
registerAgent<TInput, TOutput>(agent: SubAgent<TInput, TOutput>): void;
|
|
77
|
+
/** Execute a single sub-agent */
|
|
78
|
+
executeAgent<TInput, TOutput>(agentName: string, input: TInput): Promise<TOutput>;
|
|
79
|
+
/** Execute a workflow with multiple sub-agents */
|
|
80
|
+
executeWorkflow<T>(workflow: WorkflowStep[]): Promise<WorkflowResult<T>>;
|
|
81
|
+
/** Execute sub-agents in parallel */
|
|
82
|
+
executeParallel<TInput, TOutput>(agents: Array<{
|
|
83
|
+
name: string;
|
|
84
|
+
input: TInput;
|
|
85
|
+
}>): Promise<Map<string, TOutput>>;
|
|
86
|
+
/** Get orchestration status */
|
|
87
|
+
getStatus(): Promise<OrchestratorStatus>;
|
|
88
|
+
}
|
|
89
|
+
export interface OrchestratorStatus {
|
|
90
|
+
activeWorkflows: number;
|
|
91
|
+
registeredAgents: string[];
|
|
92
|
+
totalExecutions: number;
|
|
93
|
+
averageExecutionTime: number;
|
|
94
|
+
errorRate: number;
|
|
95
|
+
}
|
|
96
|
+
export interface ComponentGenerationInput {
|
|
97
|
+
component: any;
|
|
98
|
+
group: string;
|
|
99
|
+
options: any;
|
|
100
|
+
context?: any;
|
|
101
|
+
}
|
|
102
|
+
export interface ComponentGenerationOutput {
|
|
103
|
+
code: string;
|
|
104
|
+
metadata: {
|
|
105
|
+
componentName: string;
|
|
106
|
+
group: string;
|
|
107
|
+
dependencies: string[];
|
|
108
|
+
estimatedLines: number;
|
|
109
|
+
shadcnComponents?: string[];
|
|
110
|
+
qualityScore?: number;
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
export interface QAValidationInput {
|
|
114
|
+
code: string;
|
|
115
|
+
component: any;
|
|
116
|
+
standards: string[];
|
|
117
|
+
}
|
|
118
|
+
export interface QAValidationOutput {
|
|
119
|
+
isValid: boolean;
|
|
120
|
+
issues: Array<{
|
|
121
|
+
type: "error" | "warning" | "suggestion";
|
|
122
|
+
message: string;
|
|
123
|
+
line?: number;
|
|
124
|
+
severity: "low" | "medium" | "high";
|
|
125
|
+
}>;
|
|
126
|
+
score: number;
|
|
127
|
+
}
|
|
128
|
+
export interface DocumentationInput {
|
|
129
|
+
code: string;
|
|
130
|
+
component: any;
|
|
131
|
+
format: "readme" | "comments" | "inline";
|
|
132
|
+
}
|
|
133
|
+
export interface DocumentationOutput {
|
|
134
|
+
content: string;
|
|
135
|
+
format: string;
|
|
136
|
+
estimatedReadTime: number;
|
|
137
|
+
}
|
|
138
|
+
export interface ActionClassificationInput {
|
|
139
|
+
userStories: any[];
|
|
140
|
+
types: any[];
|
|
141
|
+
context: any;
|
|
142
|
+
}
|
|
143
|
+
export interface ActionClassificationOutput {
|
|
144
|
+
actions: Array<{
|
|
145
|
+
name: string;
|
|
146
|
+
type: "user" | "server" | "response" | "common";
|
|
147
|
+
description: string;
|
|
148
|
+
dependencies: string[];
|
|
149
|
+
parameters: any[];
|
|
150
|
+
}>;
|
|
151
|
+
dependencies: Array<{
|
|
152
|
+
from: string;
|
|
153
|
+
to: string;
|
|
154
|
+
type: "component" | "action" | "type";
|
|
155
|
+
}>;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=SubAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubAgent.d.ts","sourceRoot":"","sources":["../../../../../src/agents/interfaces/SubAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubAgent.js","sourceRoot":"","sources":["../../../../../src/agents/interfaces/SubAgent.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-Agent Orchestrator
|
|
3
|
+
*
|
|
4
|
+
* Manages the registration, execution, and orchestration of sub-agents.
|
|
5
|
+
* Supports both sequential and parallel execution patterns.
|
|
6
|
+
*/
|
|
7
|
+
import { SubAgent, SubAgentOrchestrator as ISubAgentOrchestrator, WorkflowStep, WorkflowResult, OrchestratorStatus } from "../interfaces/SubAgent";
|
|
8
|
+
export declare class SubAgentOrchestrator implements ISubAgentOrchestrator {
|
|
9
|
+
private agents;
|
|
10
|
+
private executionHistory;
|
|
11
|
+
private activeWorkflows;
|
|
12
|
+
private totalExecutions;
|
|
13
|
+
private totalExecutionTime;
|
|
14
|
+
/**
|
|
15
|
+
* Register a sub-agent with the orchestrator
|
|
16
|
+
*/
|
|
17
|
+
registerAgent<TInput, TOutput>(agent: SubAgent<TInput, TOutput>): void;
|
|
18
|
+
/**
|
|
19
|
+
* Execute a single sub-agent
|
|
20
|
+
*/
|
|
21
|
+
executeAgent<TInput, TOutput>(agentName: string, input: TInput): Promise<TOutput>;
|
|
22
|
+
/**
|
|
23
|
+
* Execute a workflow with multiple sub-agents
|
|
24
|
+
*/
|
|
25
|
+
executeWorkflow<T>(workflow: WorkflowStep[]): Promise<WorkflowResult<T>>;
|
|
26
|
+
/**
|
|
27
|
+
* Execute multiple sub-agents in parallel
|
|
28
|
+
*/
|
|
29
|
+
executeParallel<TInput, TOutput>(agents: Array<{
|
|
30
|
+
name: string;
|
|
31
|
+
input: TInput;
|
|
32
|
+
}>): Promise<Map<string, TOutput>>;
|
|
33
|
+
/**
|
|
34
|
+
* Get orchestration status
|
|
35
|
+
*/
|
|
36
|
+
getStatus(): Promise<OrchestratorStatus>;
|
|
37
|
+
/**
|
|
38
|
+
* Get a registered sub-agent
|
|
39
|
+
*/
|
|
40
|
+
getAgent(name: string): SubAgent<any, any> | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* List all registered sub-agents
|
|
43
|
+
*/
|
|
44
|
+
listAgents(): string[];
|
|
45
|
+
/**
|
|
46
|
+
* Remove a sub-agent
|
|
47
|
+
*/
|
|
48
|
+
removeAgent(name: string): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Clear all sub-agents
|
|
51
|
+
*/
|
|
52
|
+
clearAgents(): void;
|
|
53
|
+
private recordExecution;
|
|
54
|
+
private buildDependencyGraph;
|
|
55
|
+
private getReadySteps;
|
|
56
|
+
private resolveStepInput;
|
|
57
|
+
}
|
|
58
|
+
export declare const orchestrator: SubAgentOrchestrator;
|
|
59
|
+
//# sourceMappingURL=SubAgentOrchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubAgentOrchestrator.d.ts","sourceRoot":"","sources":["../../../../../src/agents/orchestrator/SubAgentOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,QAAQ,EACR,oBAAoB,IAAI,qBAAqB,EAC7C,YAAY,EACZ,cAAc,EAEd,kBAAkB,EAEnB,MAAM,wBAAwB,CAAC;AAKhC,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,OAAO,CAAC,MAAM,CAA8C;IAC5D,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,eAAe,CAA0B;IACjD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,kBAAkB,CAAK;IAE/B;;OAEG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAatE;;OAEG;IACG,YAAY,CAAC,MAAM,EAAE,OAAO,EAChC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;IAkEnB;;OAEG;IACG,eAAe,CAAC,CAAC,EACrB,QAAQ,EAAE,YAAY,EAAE,GACvB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAuH7B;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,OAAO,EACnC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,GAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAyChC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAoC9C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,SAAS;IAItD;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC;;OAEG;IACH,WAAW,IAAI,IAAI;IAMnB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,gBAAgB;CASzB;AAGD,eAAO,MAAM,YAAY,sBAA6B,CAAC"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Sub-Agent Orchestrator
|
|
4
|
+
*
|
|
5
|
+
* Manages the registration, execution, and orchestration of sub-agents.
|
|
6
|
+
* Supports both sequential and parallel execution patterns.
|
|
7
|
+
*/
|
|
8
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.orchestrator = exports.SubAgentOrchestrator = void 0;
|
|
13
|
+
const definitions_1 = require("../personalities/definitions");
|
|
14
|
+
const spinner_1 = require("../../utils/spinner");
|
|
15
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
16
|
+
class SubAgentOrchestrator {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.agents = new Map();
|
|
19
|
+
this.executionHistory = [];
|
|
20
|
+
this.activeWorkflows = new Set();
|
|
21
|
+
this.totalExecutions = 0;
|
|
22
|
+
this.totalExecutionTime = 0;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Register a sub-agent with the orchestrator
|
|
26
|
+
*/
|
|
27
|
+
registerAgent(agent) {
|
|
28
|
+
if (this.agents.has(agent.name)) {
|
|
29
|
+
console.warn(chalk_1.default.yellow(`⚠️ Sub-agent '${agent.name}' is already registered. Overwriting.`));
|
|
30
|
+
}
|
|
31
|
+
this.agents.set(agent.name, agent);
|
|
32
|
+
console.log(chalk_1.default.green(`✅ Registered sub-agent: ${agent.name}`));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Execute a single sub-agent
|
|
36
|
+
*/
|
|
37
|
+
async executeAgent(agentName, input) {
|
|
38
|
+
const agent = this.agents.get(agentName);
|
|
39
|
+
if (!agent) {
|
|
40
|
+
throw new Error(`Sub-agent '${agentName}' not found. Available agents: ${Array.from(this.agents.keys()).join(", ")}`);
|
|
41
|
+
}
|
|
42
|
+
const personality = (0, definitions_1.getSubAgentPersonality)(agentName);
|
|
43
|
+
const spinner = new spinner_1.EnhancedSpinner(`🤖 Executing ${agentName}...`);
|
|
44
|
+
try {
|
|
45
|
+
spinner.start();
|
|
46
|
+
// Validate input if the agent supports it
|
|
47
|
+
if (agent.validate) {
|
|
48
|
+
const isValid = await agent.validate(input);
|
|
49
|
+
if (!isValid) {
|
|
50
|
+
throw new Error(`Input validation failed for sub-agent '${agentName}'`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const startTime = Date.now();
|
|
54
|
+
const result = await agent.run(input);
|
|
55
|
+
const executionTime = Date.now() - startTime;
|
|
56
|
+
// Record execution
|
|
57
|
+
this.recordExecution(agentName, true, executionTime, result);
|
|
58
|
+
spinner.success({ text: `${agentName} completed in ${executionTime}ms` });
|
|
59
|
+
if (personality) {
|
|
60
|
+
console.log(chalk_1.default.blue(`💡 ${personality.description}`));
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
catch (error) {
|
|
65
|
+
const executionTime = Date.now() - Date.now();
|
|
66
|
+
this.recordExecution(agentName, false, executionTime, undefined, error);
|
|
67
|
+
spinner.error({ text: `${agentName} failed: ${error}` });
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
finally {
|
|
71
|
+
// Cleanup if the agent supports it
|
|
72
|
+
if (agent.cleanup) {
|
|
73
|
+
try {
|
|
74
|
+
await agent.cleanup();
|
|
75
|
+
}
|
|
76
|
+
catch (cleanupError) {
|
|
77
|
+
console.warn(chalk_1.default.yellow(`⚠️ Cleanup failed for ${agentName}: ${cleanupError}`));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Execute a workflow with multiple sub-agents
|
|
84
|
+
*/
|
|
85
|
+
async executeWorkflow(workflow) {
|
|
86
|
+
const workflowId = `workflow-${Date.now()}`;
|
|
87
|
+
this.activeWorkflows.add(workflowId);
|
|
88
|
+
const spinner = new spinner_1.EnhancedSpinner(`🔄 Executing workflow with ${workflow.length} steps...`);
|
|
89
|
+
const startTime = Date.now();
|
|
90
|
+
const results = [];
|
|
91
|
+
try {
|
|
92
|
+
spinner.start();
|
|
93
|
+
// Build dependency graph
|
|
94
|
+
const dependencyGraph = this.buildDependencyGraph(workflow);
|
|
95
|
+
// Execute steps in dependency order
|
|
96
|
+
const executedSteps = new Set();
|
|
97
|
+
const stepResults = new Map();
|
|
98
|
+
while (executedSteps.size < workflow.length) {
|
|
99
|
+
const readySteps = this.getReadySteps(workflow, dependencyGraph, executedSteps, stepResults);
|
|
100
|
+
if (readySteps.length === 0) {
|
|
101
|
+
throw new Error("Circular dependency detected in workflow");
|
|
102
|
+
}
|
|
103
|
+
// Execute ready steps in parallel
|
|
104
|
+
const parallelResults = await Promise.allSettled(readySteps.map(async (step) => {
|
|
105
|
+
const stepStartTime = Date.now();
|
|
106
|
+
try {
|
|
107
|
+
// Resolve input dependencies
|
|
108
|
+
const resolvedInput = this.resolveStepInput(step, stepResults);
|
|
109
|
+
const result = await this.executeAgent(step.agentName, resolvedInput);
|
|
110
|
+
const stepExecutionTime = Date.now() - stepStartTime;
|
|
111
|
+
const stepResult = {
|
|
112
|
+
stepId: step.id,
|
|
113
|
+
agentName: step.agentName,
|
|
114
|
+
success: true,
|
|
115
|
+
data: result,
|
|
116
|
+
executionTime: stepExecutionTime,
|
|
117
|
+
startTime: new Date(stepStartTime),
|
|
118
|
+
endTime: new Date(),
|
|
119
|
+
};
|
|
120
|
+
results.push(stepResult);
|
|
121
|
+
stepResults.set(step.id, result);
|
|
122
|
+
executedSteps.add(step.id);
|
|
123
|
+
return stepResult;
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
const stepExecutionTime = Date.now() - stepStartTime;
|
|
127
|
+
const stepResult = {
|
|
128
|
+
stepId: step.id,
|
|
129
|
+
agentName: step.agentName,
|
|
130
|
+
success: false,
|
|
131
|
+
error: error,
|
|
132
|
+
executionTime: stepExecutionTime,
|
|
133
|
+
startTime: new Date(stepStartTime),
|
|
134
|
+
endTime: new Date(),
|
|
135
|
+
};
|
|
136
|
+
results.push(stepResult);
|
|
137
|
+
throw error;
|
|
138
|
+
}
|
|
139
|
+
}));
|
|
140
|
+
// Check for failures
|
|
141
|
+
const failures = parallelResults.filter((result) => result.status === "rejected");
|
|
142
|
+
if (failures.length > 0) {
|
|
143
|
+
const errorMessages = failures
|
|
144
|
+
.map((f) => f.reason)
|
|
145
|
+
.join(", ");
|
|
146
|
+
throw new Error(`Workflow step failures: ${errorMessages}`);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
const executionTime = Date.now() - startTime;
|
|
150
|
+
const success = results.every((r) => r.success);
|
|
151
|
+
spinner.success({ text: `Workflow completed in ${executionTime}ms` });
|
|
152
|
+
return {
|
|
153
|
+
success,
|
|
154
|
+
data: stepResults.get(workflow[workflow.length - 1].id),
|
|
155
|
+
executionTime,
|
|
156
|
+
steps: results,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
catch (error) {
|
|
160
|
+
const executionTime = Date.now() - startTime;
|
|
161
|
+
spinner.error({ text: `Workflow failed: ${error}` });
|
|
162
|
+
return {
|
|
163
|
+
success: false,
|
|
164
|
+
error: error,
|
|
165
|
+
executionTime,
|
|
166
|
+
steps: results,
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
finally {
|
|
170
|
+
this.activeWorkflows.delete(workflowId);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Execute multiple sub-agents in parallel
|
|
175
|
+
*/
|
|
176
|
+
async executeParallel(agents) {
|
|
177
|
+
const spinner = new spinner_1.EnhancedSpinner(`🔄 Executing ${agents.length} agents in parallel...`);
|
|
178
|
+
try {
|
|
179
|
+
spinner.start();
|
|
180
|
+
const results = await Promise.allSettled(agents.map(async ({ name, input }) => {
|
|
181
|
+
const result = await this.executeAgent(name, input);
|
|
182
|
+
return { name, result };
|
|
183
|
+
}));
|
|
184
|
+
const resultMap = new Map();
|
|
185
|
+
const failures = [];
|
|
186
|
+
results.forEach((result, index) => {
|
|
187
|
+
if (result.status === "fulfilled") {
|
|
188
|
+
resultMap.set(result.value.name, result.value.result);
|
|
189
|
+
}
|
|
190
|
+
else {
|
|
191
|
+
failures.push(`${agents[index].name}: ${result.reason}`);
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
if (failures.length > 0) {
|
|
195
|
+
spinner.warn({ text: `Some agents failed: ${failures.join(", ")}` });
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
spinner.success({
|
|
199
|
+
text: `All ${agents.length} agents completed successfully`,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
return resultMap;
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
spinner.error({ text: `Parallel execution failed: ${error}` });
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Get orchestration status
|
|
211
|
+
*/
|
|
212
|
+
async getStatus() {
|
|
213
|
+
const agentStatuses = await Promise.all(Array.from(this.agents.values()).map(async (agent) => {
|
|
214
|
+
if (agent.getStatus) {
|
|
215
|
+
return await agent.getStatus();
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
name: agent.name,
|
|
219
|
+
status: "idle",
|
|
220
|
+
errorCount: 0,
|
|
221
|
+
successCount: 0,
|
|
222
|
+
};
|
|
223
|
+
}));
|
|
224
|
+
const successfulExecutions = this.executionHistory.filter((r) => r.success).length;
|
|
225
|
+
const totalExecutions = this.executionHistory.length;
|
|
226
|
+
const errorRate = totalExecutions > 0
|
|
227
|
+
? (totalExecutions - successfulExecutions) / totalExecutions
|
|
228
|
+
: 0;
|
|
229
|
+
return {
|
|
230
|
+
activeWorkflows: this.activeWorkflows.size,
|
|
231
|
+
registeredAgents: Array.from(this.agents.keys()),
|
|
232
|
+
totalExecutions: this.totalExecutions,
|
|
233
|
+
averageExecutionTime: this.totalExecutions > 0
|
|
234
|
+
? this.totalExecutionTime / this.totalExecutions
|
|
235
|
+
: 0,
|
|
236
|
+
errorRate,
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Get a registered sub-agent
|
|
241
|
+
*/
|
|
242
|
+
getAgent(name) {
|
|
243
|
+
return this.agents.get(name);
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* List all registered sub-agents
|
|
247
|
+
*/
|
|
248
|
+
listAgents() {
|
|
249
|
+
return Array.from(this.agents.keys());
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Remove a sub-agent
|
|
253
|
+
*/
|
|
254
|
+
removeAgent(name) {
|
|
255
|
+
return this.agents.delete(name);
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Clear all sub-agents
|
|
259
|
+
*/
|
|
260
|
+
clearAgents() {
|
|
261
|
+
this.agents.clear();
|
|
262
|
+
}
|
|
263
|
+
// Private helper methods
|
|
264
|
+
recordExecution(agentName, success, executionTime, data, error) {
|
|
265
|
+
this.totalExecutions++;
|
|
266
|
+
this.totalExecutionTime += executionTime;
|
|
267
|
+
const stepResult = {
|
|
268
|
+
stepId: `single-${Date.now()}`,
|
|
269
|
+
agentName,
|
|
270
|
+
success,
|
|
271
|
+
data,
|
|
272
|
+
error,
|
|
273
|
+
executionTime,
|
|
274
|
+
startTime: new Date(Date.now() - executionTime),
|
|
275
|
+
endTime: new Date(),
|
|
276
|
+
};
|
|
277
|
+
this.executionHistory.push(stepResult);
|
|
278
|
+
}
|
|
279
|
+
buildDependencyGraph(workflow) {
|
|
280
|
+
const graph = new Map();
|
|
281
|
+
workflow.forEach((step) => {
|
|
282
|
+
graph.set(step.id, step.dependencies || []);
|
|
283
|
+
});
|
|
284
|
+
return graph;
|
|
285
|
+
}
|
|
286
|
+
getReadySteps(workflow, dependencyGraph, executedSteps, stepResults) {
|
|
287
|
+
return workflow.filter((step) => {
|
|
288
|
+
if (executedSteps.has(step.id)) {
|
|
289
|
+
return false;
|
|
290
|
+
}
|
|
291
|
+
const dependencies = dependencyGraph.get(step.id) || [];
|
|
292
|
+
return dependencies.every((dep) => executedSteps.has(dep));
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
resolveStepInput(step, stepResults) {
|
|
296
|
+
if (typeof step.input === "function") {
|
|
297
|
+
return step.input(stepResults);
|
|
298
|
+
}
|
|
299
|
+
return step.input;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
exports.SubAgentOrchestrator = SubAgentOrchestrator;
|
|
303
|
+
// Export a singleton instance
|
|
304
|
+
exports.orchestrator = new SubAgentOrchestrator();
|
|
305
|
+
//# sourceMappingURL=SubAgentOrchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubAgentOrchestrator.js","sourceRoot":"","sources":["../../../../../src/agents/orchestrator/SubAgentOrchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sub-Agent Personality Definitions
|
|
3
|
+
*
|
|
4
|
+
* Each sub-agent has a unique personality, expertise, and LLM provider configuration
|
|
5
|
+
* that determines how it approaches its specific tasks.
|
|
6
|
+
*/
|
|
7
|
+
export interface SubAgentPersonality {
|
|
8
|
+
name: string;
|
|
9
|
+
description: string;
|
|
10
|
+
personality: string;
|
|
11
|
+
llmProvider: "claude-code" | "claude-sonnet" | "claude-haiku";
|
|
12
|
+
expertise: string[];
|
|
13
|
+
temperature: number;
|
|
14
|
+
maxTokens: number;
|
|
15
|
+
timeout: number;
|
|
16
|
+
retries: number;
|
|
17
|
+
strengths: string[];
|
|
18
|
+
communicationStyle: string;
|
|
19
|
+
decisionMaking: string;
|
|
20
|
+
}
|
|
21
|
+
export declare const SUB_AGENT_PERSONALITIES: Record<string, SubAgentPersonality>;
|
|
22
|
+
/**
|
|
23
|
+
* Get personality configuration for a specific sub-agent
|
|
24
|
+
*/
|
|
25
|
+
export declare function getSubAgentPersonality(name: string): SubAgentPersonality | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Get all available sub-agent personalities
|
|
28
|
+
*/
|
|
29
|
+
export declare function getAllSubAgentPersonalities(): Record<string, SubAgentPersonality>;
|
|
30
|
+
/**
|
|
31
|
+
* Get personalities by category
|
|
32
|
+
*/
|
|
33
|
+
export declare function getPersonalitiesByCategory(): Record<string, string[]>;
|
|
34
|
+
//# sourceMappingURL=definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../../src/agents/personalities/definitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;IAC9D,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAwXvE,CAAC;AAEF;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,GACX,mBAAmB,GAAG,SAAS,CAEjC;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CACnD,MAAM,EACN,mBAAmB,CACpB,CAEA;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAWrE"}
|