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.
Files changed (94) hide show
  1. package/README.md +440 -0
  2. package/dist/cli/src/agents/implementations/CodeGenSubAgent.d.ts +43 -0
  3. package/dist/cli/src/agents/implementations/CodeGenSubAgent.d.ts.map +1 -0
  4. package/dist/cli/src/agents/implementations/CodeGenSubAgent.js +1440 -0
  5. package/dist/cli/src/agents/implementations/CodeGenSubAgent.js.map +1 -0
  6. package/dist/cli/src/agents/implementations/DocsSubAgent.d.ts +35 -0
  7. package/dist/cli/src/agents/implementations/DocsSubAgent.d.ts.map +1 -0
  8. package/dist/cli/src/agents/implementations/DocsSubAgent.js +351 -0
  9. package/dist/cli/src/agents/implementations/DocsSubAgent.js.map +1 -0
  10. package/dist/cli/src/agents/implementations/QASubAgent.d.ts +31 -0
  11. package/dist/cli/src/agents/implementations/QASubAgent.d.ts.map +1 -0
  12. package/dist/cli/src/agents/implementations/QASubAgent.js +190 -0
  13. package/dist/cli/src/agents/implementations/QASubAgent.js.map +1 -0
  14. package/dist/cli/src/agents/interfaces/SubAgent.d.ts +157 -0
  15. package/dist/cli/src/agents/interfaces/SubAgent.d.ts.map +1 -0
  16. package/dist/cli/src/agents/interfaces/SubAgent.js +7 -0
  17. package/dist/cli/src/agents/interfaces/SubAgent.js.map +1 -0
  18. package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.d.ts +59 -0
  19. package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.d.ts.map +1 -0
  20. package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.js +305 -0
  21. package/dist/cli/src/agents/orchestrator/SubAgentOrchestrator.js.map +1 -0
  22. package/dist/cli/src/agents/personalities/definitions.d.ts +34 -0
  23. package/dist/cli/src/agents/personalities/definitions.d.ts.map +1 -0
  24. package/dist/cli/src/agents/personalities/definitions.js +360 -0
  25. package/dist/cli/src/agents/personalities/definitions.js.map +1 -0
  26. package/dist/cli/src/cli.d.ts +3 -0
  27. package/dist/cli/src/cli.d.ts.map +1 -0
  28. package/dist/cli/src/cli.js +286 -0
  29. package/dist/cli/src/cli.js.map +1 -0
  30. package/dist/cli/src/commands/auth.d.ts +23 -0
  31. package/dist/cli/src/commands/auth.d.ts.map +1 -0
  32. package/dist/cli/src/commands/auth.js +212 -0
  33. package/dist/cli/src/commands/auth.js.map +1 -0
  34. package/dist/cli/src/commands/generate-components.d.ts +28 -0
  35. package/dist/cli/src/commands/generate-components.d.ts.map +1 -0
  36. package/dist/cli/src/commands/generate-components.js +680 -0
  37. package/dist/cli/src/commands/generate-components.js.map +1 -0
  38. package/dist/cli/src/commands/generate.d.ts +108 -0
  39. package/dist/cli/src/commands/generate.d.ts.map +1 -0
  40. package/dist/cli/src/commands/generate.js +1984 -0
  41. package/dist/cli/src/commands/generate.js.map +1 -0
  42. package/dist/cli/src/commands/init.d.ts +13 -0
  43. package/dist/cli/src/commands/init.d.ts.map +1 -0
  44. package/dist/cli/src/commands/init.js +91 -0
  45. package/dist/cli/src/commands/init.js.map +1 -0
  46. package/dist/cli/src/commands/list.d.ts +17 -0
  47. package/dist/cli/src/commands/list.d.ts.map +1 -0
  48. package/dist/cli/src/commands/list.js +209 -0
  49. package/dist/cli/src/commands/list.js.map +1 -0
  50. package/dist/cli/src/commands/preview.d.ts +23 -0
  51. package/dist/cli/src/commands/preview.d.ts.map +1 -0
  52. package/dist/cli/src/commands/preview.js +1200 -0
  53. package/dist/cli/src/commands/preview.js.map +1 -0
  54. package/dist/cli/src/commands/status.d.ts +21 -0
  55. package/dist/cli/src/commands/status.d.ts.map +1 -0
  56. package/dist/cli/src/commands/status.js +287 -0
  57. package/dist/cli/src/commands/status.js.map +1 -0
  58. package/dist/cli/src/commands/validate.d.ts +22 -0
  59. package/dist/cli/src/commands/validate.d.ts.map +1 -0
  60. package/dist/cli/src/commands/validate.js +259 -0
  61. package/dist/cli/src/commands/validate.js.map +1 -0
  62. package/dist/cli/src/types/index.d.ts +152 -0
  63. package/dist/cli/src/types/index.d.ts.map +1 -0
  64. package/dist/cli/src/types/index.js +3 -0
  65. package/dist/cli/src/types/index.js.map +1 -0
  66. package/dist/cli/src/utils/apiKeyManager.d.ts +137 -0
  67. package/dist/cli/src/utils/apiKeyManager.d.ts.map +1 -0
  68. package/dist/cli/src/utils/apiKeyManager.js +471 -0
  69. package/dist/cli/src/utils/apiKeyManager.js.map +1 -0
  70. package/dist/cli/src/utils/errorHandler.d.ts +105 -0
  71. package/dist/cli/src/utils/errorHandler.d.ts.map +1 -0
  72. package/dist/cli/src/utils/errorHandler.js +332 -0
  73. package/dist/cli/src/utils/errorHandler.js.map +1 -0
  74. package/dist/cli/src/utils/fileSystem.d.ts +58 -0
  75. package/dist/cli/src/utils/fileSystem.d.ts.map +1 -0
  76. package/dist/cli/src/utils/fileSystem.js +230 -0
  77. package/dist/cli/src/utils/fileSystem.js.map +1 -0
  78. package/dist/cli/src/utils/githubModels.d.ts +53 -0
  79. package/dist/cli/src/utils/githubModels.d.ts.map +1 -0
  80. package/dist/cli/src/utils/githubModels.js +239 -0
  81. package/dist/cli/src/utils/githubModels.js.map +1 -0
  82. package/dist/cli/src/utils/spinner.d.ts +28 -0
  83. package/dist/cli/src/utils/spinner.d.ts.map +1 -0
  84. package/dist/cli/src/utils/spinner.js +112 -0
  85. package/dist/cli/src/utils/spinner.js.map +1 -0
  86. package/dist/cli/src/utils/xaiClient.d.ts +59 -0
  87. package/dist/cli/src/utils/xaiClient.d.ts.map +1 -0
  88. package/dist/cli/src/utils/xaiClient.js +244 -0
  89. package/dist/cli/src/utils/xaiClient.js.map +1 -0
  90. package/dist/lib/analytics/usage-tracker.d.ts +125 -0
  91. package/dist/lib/analytics/usage-tracker.d.ts.map +1 -0
  92. package/dist/lib/analytics/usage-tracker.js +429 -0
  93. package/dist/lib/analytics/usage-tracker.js.map +1 -0
  94. 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,7 @@
1
+ "use strict";
2
+ /**
3
+ * Core interfaces for the MyContext Sub-Agent Architecture
4
+ * Inspired by Anthropic's Claude Code sub-agents
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ //# sourceMappingURL=SubAgent.js.map
@@ -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"}