mycontext-cli 0.4.8 → 0.4.10
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 +113 -97
- package/dist/agents/communication/AgentCommunicationManager.d.ts +27 -0
- package/dist/agents/communication/AgentCommunicationManager.d.ts.map +1 -0
- package/dist/agents/communication/AgentCommunicationManager.js +293 -0
- package/dist/agents/communication/AgentCommunicationManager.js.map +1 -0
- package/dist/agents/evolution/CodeEvolutionEngine.d.ts +92 -0
- package/dist/agents/evolution/CodeEvolutionEngine.d.ts.map +1 -0
- package/dist/agents/evolution/CodeEvolutionEngine.js +639 -0
- package/dist/agents/evolution/CodeEvolutionEngine.js.map +1 -0
- package/dist/agents/implementations/ArchitectAgent.d.ts +39 -0
- package/dist/agents/implementations/ArchitectAgent.d.ts.map +1 -0
- package/dist/agents/implementations/ArchitectAgent.js +345 -0
- package/dist/agents/implementations/ArchitectAgent.js.map +1 -0
- package/dist/agents/implementations/CodeGenSubAgent.d.ts +12 -0
- package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
- package/dist/agents/implementations/CodeGenSubAgent.js +296 -43
- package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
- package/dist/agents/implementations/PromptConstructorAgent.d.ts +50 -0
- package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -0
- package/dist/agents/implementations/PromptConstructorAgent.js +481 -0
- package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -0
- package/dist/agents/implementations/SecurityAgent.d.ts +31 -0
- package/dist/agents/implementations/SecurityAgent.d.ts.map +1 -0
- package/dist/agents/implementations/SecurityAgent.js +453 -0
- package/dist/agents/implementations/SecurityAgent.js.map +1 -0
- package/dist/agents/intelligence/ProjectIntelligence.d.ts +127 -0
- package/dist/agents/intelligence/ProjectIntelligence.d.ts.map +1 -0
- package/dist/agents/intelligence/ProjectIntelligence.js +456 -0
- package/dist/agents/intelligence/ProjectIntelligence.js.map +1 -0
- package/dist/agents/interfaces/AgentCommunication.d.ts +65 -0
- package/dist/agents/interfaces/AgentCommunication.d.ts.map +1 -0
- package/dist/agents/interfaces/AgentCommunication.js +13 -0
- package/dist/agents/interfaces/AgentCommunication.js.map +1 -0
- package/dist/agents/learning/CrossProjectLearning.d.ts +99 -0
- package/dist/agents/learning/CrossProjectLearning.d.ts.map +1 -0
- package/dist/agents/learning/CrossProjectLearning.js +517 -0
- package/dist/agents/learning/CrossProjectLearning.js.map +1 -0
- package/dist/cli.js +47 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/agent-flow.d.ts +21 -0
- package/dist/commands/agent-flow.d.ts.map +1 -0
- package/dist/commands/agent-flow.js +225 -0
- package/dist/commands/agent-flow.js.map +1 -0
- package/dist/commands/generate-components.d.ts +0 -13
- package/dist/commands/generate-components.d.ts.map +1 -1
- package/dist/commands/generate-components.js +23 -385
- package/dist/commands/generate-components.js.map +1 -1
- package/dist/commands/generate.d.ts +4 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +173 -1
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/predict.d.ts +36 -0
- package/dist/commands/predict.d.ts.map +1 -0
- package/dist/commands/predict.js +539 -0
- package/dist/commands/predict.js.map +1 -0
- package/dist/utils/clean.d.ts +6 -0
- package/dist/utils/clean.d.ts.map +1 -0
- package/dist/utils/clean.js +220 -0
- package/dist/utils/clean.js.map +1 -0
- package/dist/utils/githubModelsClient.d.ts.map +1 -1
- package/dist/utils/githubModelsClient.js +11 -12
- package/dist/utils/githubModelsClient.js.map +1 -1
- package/dist/utils/hybridAIClient.d.ts +1 -0
- package/dist/utils/hybridAIClient.d.ts.map +1 -1
- package/dist/utils/hybridAIClient.js +23 -9
- package/dist/utils/hybridAIClient.js.map +1 -1
- package/dist/utils/ollamaClient.d.ts.map +1 -1
- package/dist/utils/ollamaClient.js +6 -4
- package/dist/utils/ollamaClient.js.map +1 -1
- package/package.json +2 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { SubAgent } from "../interfaces/SubAgent";
|
|
2
|
+
export declare class ArchitectAgent implements SubAgent {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
personality: string;
|
|
6
|
+
llmProvider: string;
|
|
7
|
+
expertise: string[];
|
|
8
|
+
run(input: any): Promise<any>;
|
|
9
|
+
execute(input: any): Promise<any>;
|
|
10
|
+
private analyzeArchitecture;
|
|
11
|
+
private classifyComponent;
|
|
12
|
+
private analyzeDataFlow;
|
|
13
|
+
private identifyInputSources;
|
|
14
|
+
private identifyOutputTargets;
|
|
15
|
+
private assessStateManagement;
|
|
16
|
+
private identifySideEffects;
|
|
17
|
+
private analyzeDependencies;
|
|
18
|
+
private identifyHeavyDependencies;
|
|
19
|
+
private assessComplexity;
|
|
20
|
+
private getComplexityFactors;
|
|
21
|
+
private detectPatterns;
|
|
22
|
+
private generateRecommendations;
|
|
23
|
+
private suggestOptimizations;
|
|
24
|
+
private getPerformanceOptimizations;
|
|
25
|
+
private getBundleOptimizations;
|
|
26
|
+
private getRenderingOptimizations;
|
|
27
|
+
private getMemoryOptimizations;
|
|
28
|
+
private identifyApplicablePatterns;
|
|
29
|
+
private getRecommendedPatterns;
|
|
30
|
+
private getAlternativePatterns;
|
|
31
|
+
private assessScalability;
|
|
32
|
+
private assessMaintainability;
|
|
33
|
+
private calculateMaintainabilityScore;
|
|
34
|
+
private getMaintainabilityFactors;
|
|
35
|
+
private assessExtensibility;
|
|
36
|
+
private assessTestability;
|
|
37
|
+
private assessReusability;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=ArchitectAgent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArchitectAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/ArchitectAgent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,qBAAa,cAAe,YAAW,QAAQ;IAC7C,IAAI,SAAoB;IACxB,WAAW,SAC0D;IACrE,WAAW,SAAgB;IAC3B,WAAW,SAAY;IACvB,SAAS,WAA+C;IAElD,GAAG,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7B,OAAO,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YA+BzB,mBAAmB;IAajC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,qBAAqB;IAS7B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,cAAc;YAcR,uBAAuB;YAkDvB,oBAAoB;IAYlC,OAAO,CAAC,2BAA2B;IA2BnC,OAAO,CAAC,sBAAsB;IAkB9B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,6BAA6B;IAcrC,OAAO,CAAC,yBAAyB;IAajC,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,iBAAiB;CAU1B"}
|
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ArchitectAgent = void 0;
|
|
4
|
+
class ArchitectAgent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.name = "ArchitectAgent";
|
|
7
|
+
this.description = "System design, patterns, and performance optimization specialist";
|
|
8
|
+
this.personality = "analytical";
|
|
9
|
+
this.llmProvider = "github";
|
|
10
|
+
this.expertise = ["architecture", "performance", "patterns"];
|
|
11
|
+
}
|
|
12
|
+
async run(input) {
|
|
13
|
+
return this.execute(input);
|
|
14
|
+
}
|
|
15
|
+
async execute(input) {
|
|
16
|
+
const { context, component, codebase } = input;
|
|
17
|
+
try {
|
|
18
|
+
// Analyze architectural requirements
|
|
19
|
+
const architecture = await this.analyzeArchitecture(context, component);
|
|
20
|
+
// Generate system design recommendations
|
|
21
|
+
const recommendations = await this.generateRecommendations(architecture, codebase);
|
|
22
|
+
// Optimize for performance
|
|
23
|
+
const optimizations = await this.suggestOptimizations(component, codebase);
|
|
24
|
+
return {
|
|
25
|
+
architecture,
|
|
26
|
+
recommendations,
|
|
27
|
+
optimizations,
|
|
28
|
+
patterns: this.identifyApplicablePatterns(component),
|
|
29
|
+
scalabilityConsiderations: this.assessScalability(component, codebase),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
throw new Error(`Architecture analysis failed: ${error.message}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
async analyzeArchitecture(context, component) {
|
|
37
|
+
return {
|
|
38
|
+
componentType: this.classifyComponent(component),
|
|
39
|
+
dataFlow: this.analyzeDataFlow(component),
|
|
40
|
+
dependencies: this.analyzeDependencies(component),
|
|
41
|
+
complexity: this.assessComplexity(component),
|
|
42
|
+
patterns: this.detectPatterns(component),
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
classifyComponent(component) {
|
|
46
|
+
if (component.name.includes("Page") || component.name.includes("Layout"))
|
|
47
|
+
return "structural";
|
|
48
|
+
if (component.name.includes("Form") || component.name.includes("Input"))
|
|
49
|
+
return "interactive";
|
|
50
|
+
if (component.name.includes("Card") || component.name.includes("Display"))
|
|
51
|
+
return "presentational";
|
|
52
|
+
if (component.name.includes("Provider") ||
|
|
53
|
+
component.name.includes("Context"))
|
|
54
|
+
return "stateful";
|
|
55
|
+
return "utility";
|
|
56
|
+
}
|
|
57
|
+
analyzeDataFlow(component) {
|
|
58
|
+
return {
|
|
59
|
+
inputSources: this.identifyInputSources(component),
|
|
60
|
+
outputTargets: this.identifyOutputTargets(component),
|
|
61
|
+
stateManagement: this.assessStateManagement(component),
|
|
62
|
+
sideEffects: this.identifySideEffects(component),
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
identifyInputSources(component) {
|
|
66
|
+
const sources = [];
|
|
67
|
+
if (component.dependencies?.includes("props"))
|
|
68
|
+
sources.push("props");
|
|
69
|
+
if (component.dependencies?.includes("context"))
|
|
70
|
+
sources.push("context");
|
|
71
|
+
if (component.dependencies?.includes("api"))
|
|
72
|
+
sources.push("external-api");
|
|
73
|
+
if (component.dependencies?.includes("localStorage"))
|
|
74
|
+
sources.push("local-storage");
|
|
75
|
+
return sources;
|
|
76
|
+
}
|
|
77
|
+
identifyOutputTargets(component) {
|
|
78
|
+
const targets = [];
|
|
79
|
+
if (component.context?.includes("callback"))
|
|
80
|
+
targets.push("parent-callbacks");
|
|
81
|
+
if (component.context?.includes("mutation"))
|
|
82
|
+
targets.push("state-mutation");
|
|
83
|
+
if (component.context?.includes("navigation"))
|
|
84
|
+
targets.push("route-navigation");
|
|
85
|
+
return targets;
|
|
86
|
+
}
|
|
87
|
+
assessStateManagement(component) {
|
|
88
|
+
return {
|
|
89
|
+
hasLocalState: component.dependencies?.includes("useState") || false,
|
|
90
|
+
hasSharedState: component.dependencies?.includes("useContext") || false,
|
|
91
|
+
hasServerState: component.dependencies?.includes("useQuery") || false,
|
|
92
|
+
complexity: "low", // Can be enhanced with actual analysis
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
identifySideEffects(component) {
|
|
96
|
+
const effects = [];
|
|
97
|
+
if (component.dependencies?.includes("useEffect"))
|
|
98
|
+
effects.push("dom-effects");
|
|
99
|
+
if (component.dependencies?.includes("fetch"))
|
|
100
|
+
effects.push("network-requests");
|
|
101
|
+
if (component.dependencies?.includes("localStorage"))
|
|
102
|
+
effects.push("storage-effects");
|
|
103
|
+
return effects;
|
|
104
|
+
}
|
|
105
|
+
analyzeDependencies(component) {
|
|
106
|
+
return {
|
|
107
|
+
external: component.dependencies?.filter((dep) => !dep.startsWith("@/")) || [],
|
|
108
|
+
internal: component.dependencies?.filter((dep) => dep.startsWith("@/")) ||
|
|
109
|
+
[],
|
|
110
|
+
circular: [], // TODO: Implement circular dependency detection
|
|
111
|
+
heavy: this.identifyHeavyDependencies(component.dependencies || []),
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
identifyHeavyDependencies(dependencies) {
|
|
115
|
+
const heavyLibs = ["lodash", "moment", "axios", "three", "chart.js"];
|
|
116
|
+
return dependencies.filter((dep) => heavyLibs.some((heavy) => dep.includes(heavy)));
|
|
117
|
+
}
|
|
118
|
+
assessComplexity(component) {
|
|
119
|
+
const baseComplexity = 1;
|
|
120
|
+
let complexity = baseComplexity;
|
|
121
|
+
// Add complexity for dependencies
|
|
122
|
+
complexity += (component.dependencies?.length || 0) * 0.5;
|
|
123
|
+
// Add complexity for props
|
|
124
|
+
complexity += (component.props?.length || 0) * 0.3;
|
|
125
|
+
// Add complexity for conditional logic
|
|
126
|
+
if (component.acceptanceCriteria?.some((criteria) => criteria.includes("conditional") || criteria.includes("state"))) {
|
|
127
|
+
complexity += 2;
|
|
128
|
+
}
|
|
129
|
+
return {
|
|
130
|
+
score: Math.round(complexity * 10) / 10,
|
|
131
|
+
rating: complexity < 3 ? "low" : complexity < 6 ? "medium" : "high",
|
|
132
|
+
factors: this.getComplexityFactors(component),
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
getComplexityFactors(component) {
|
|
136
|
+
const factors = [];
|
|
137
|
+
if ((component.dependencies?.length || 0) > 5)
|
|
138
|
+
factors.push("many-dependencies");
|
|
139
|
+
if (component.type === "form")
|
|
140
|
+
factors.push("form-validation");
|
|
141
|
+
if (component.context?.includes("async"))
|
|
142
|
+
factors.push("async-operations");
|
|
143
|
+
return factors;
|
|
144
|
+
}
|
|
145
|
+
detectPatterns(component) {
|
|
146
|
+
const patterns = [];
|
|
147
|
+
if (component.name.includes("Provider"))
|
|
148
|
+
patterns.push("provider-pattern");
|
|
149
|
+
if (component.dependencies?.includes("forwardRef"))
|
|
150
|
+
patterns.push("ref-forwarding");
|
|
151
|
+
if (component.type === "form")
|
|
152
|
+
patterns.push("controlled-components");
|
|
153
|
+
if (component.dependencies?.includes("memo"))
|
|
154
|
+
patterns.push("memoization");
|
|
155
|
+
if (component.name.includes("HOC") || component.name.startsWith("with"))
|
|
156
|
+
patterns.push("higher-order-component");
|
|
157
|
+
return patterns;
|
|
158
|
+
}
|
|
159
|
+
async generateRecommendations(architecture, codebase) {
|
|
160
|
+
const recommendations = [];
|
|
161
|
+
// Performance recommendations
|
|
162
|
+
if (architecture.complexity.rating === "high") {
|
|
163
|
+
recommendations.push("Consider breaking down this component into smaller, focused components");
|
|
164
|
+
}
|
|
165
|
+
if (architecture.dependencies.heavy.length > 0) {
|
|
166
|
+
recommendations.push(`Consider lazy loading heavy dependencies: ${architecture.dependencies.heavy.join(", ")}`);
|
|
167
|
+
}
|
|
168
|
+
// Pattern recommendations
|
|
169
|
+
if (architecture.dataFlow.hasSharedState &&
|
|
170
|
+
!architecture.patterns.includes("provider-pattern")) {
|
|
171
|
+
recommendations.push("Consider using Context Provider pattern for shared state");
|
|
172
|
+
}
|
|
173
|
+
if (architecture.componentType === "interactive" &&
|
|
174
|
+
!architecture.patterns.includes("controlled-components")) {
|
|
175
|
+
recommendations.push("Ensure form inputs are properly controlled components");
|
|
176
|
+
}
|
|
177
|
+
// Scalability recommendations
|
|
178
|
+
if (architecture.dependencies.external.length > 10) {
|
|
179
|
+
recommendations.push("High external dependency count - consider dependency consolidation");
|
|
180
|
+
}
|
|
181
|
+
return recommendations;
|
|
182
|
+
}
|
|
183
|
+
async suggestOptimizations(component, codebase) {
|
|
184
|
+
return {
|
|
185
|
+
performance: this.getPerformanceOptimizations(component),
|
|
186
|
+
bundle: this.getBundleOptimizations(component),
|
|
187
|
+
rendering: this.getRenderingOptimizations(component),
|
|
188
|
+
memory: this.getMemoryOptimizations(component),
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
getPerformanceOptimizations(component) {
|
|
192
|
+
const optimizations = [];
|
|
193
|
+
if (!component.dependencies?.includes("memo") &&
|
|
194
|
+
component.type === "display") {
|
|
195
|
+
optimizations.push("Add React.memo for pure components");
|
|
196
|
+
}
|
|
197
|
+
if (component.dependencies?.includes("useEffect") &&
|
|
198
|
+
!component.dependencies?.includes("useCallback")) {
|
|
199
|
+
optimizations.push("Consider useCallback for effect dependencies");
|
|
200
|
+
}
|
|
201
|
+
if (component.type === "interactive" &&
|
|
202
|
+
!component.dependencies?.includes("useMemo")) {
|
|
203
|
+
optimizations.push("Consider useMemo for expensive calculations");
|
|
204
|
+
}
|
|
205
|
+
return optimizations;
|
|
206
|
+
}
|
|
207
|
+
getBundleOptimizations(component) {
|
|
208
|
+
const optimizations = [];
|
|
209
|
+
if (component.dependencies?.some((dep) => dep.includes("lodash"))) {
|
|
210
|
+
optimizations.push("Use individual lodash imports instead of full library");
|
|
211
|
+
}
|
|
212
|
+
if (component.dependencies?.some((dep) => dep.includes("moment"))) {
|
|
213
|
+
optimizations.push("Consider replacing moment.js with day.js for smaller bundle");
|
|
214
|
+
}
|
|
215
|
+
return optimizations;
|
|
216
|
+
}
|
|
217
|
+
getRenderingOptimizations(component) {
|
|
218
|
+
const optimizations = [];
|
|
219
|
+
if (component.type === "display" && component.context?.includes("list")) {
|
|
220
|
+
optimizations.push("Implement virtualization for large lists");
|
|
221
|
+
}
|
|
222
|
+
if (component.dependencies?.includes("Image")) {
|
|
223
|
+
optimizations.push("Ensure proper image optimization and lazy loading");
|
|
224
|
+
}
|
|
225
|
+
return optimizations;
|
|
226
|
+
}
|
|
227
|
+
getMemoryOptimizations(component) {
|
|
228
|
+
const optimizations = [];
|
|
229
|
+
if (component.dependencies?.includes("useEffect")) {
|
|
230
|
+
optimizations.push("Ensure proper cleanup in useEffect hooks");
|
|
231
|
+
}
|
|
232
|
+
if (component.dependencies?.includes("EventListener")) {
|
|
233
|
+
optimizations.push("Remove event listeners in component cleanup");
|
|
234
|
+
}
|
|
235
|
+
return optimizations;
|
|
236
|
+
}
|
|
237
|
+
identifyApplicablePatterns(component) {
|
|
238
|
+
return {
|
|
239
|
+
recommended: this.getRecommendedPatterns(component),
|
|
240
|
+
current: this.detectPatterns(component),
|
|
241
|
+
alternatives: this.getAlternativePatterns(component),
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
getRecommendedPatterns(component) {
|
|
245
|
+
const patterns = [];
|
|
246
|
+
if (component.type === "form") {
|
|
247
|
+
patterns.push("controlled-components", "form-validation", "error-boundaries");
|
|
248
|
+
}
|
|
249
|
+
if (component.type === "display" && component.context?.includes("list")) {
|
|
250
|
+
patterns.push("virtualization", "pagination", "infinite-scroll");
|
|
251
|
+
}
|
|
252
|
+
if (component.name.includes("Modal") || component.name.includes("Dialog")) {
|
|
253
|
+
patterns.push("portal-pattern", "focus-trap", "escape-key-handling");
|
|
254
|
+
}
|
|
255
|
+
return patterns;
|
|
256
|
+
}
|
|
257
|
+
getAlternativePatterns(component) {
|
|
258
|
+
const alternatives = [];
|
|
259
|
+
if (component.dependencies?.includes("useState")) {
|
|
260
|
+
alternatives.push("useReducer for complex state logic");
|
|
261
|
+
}
|
|
262
|
+
if (component.dependencies?.includes("prop-drilling")) {
|
|
263
|
+
alternatives.push("context-api", "component-composition");
|
|
264
|
+
}
|
|
265
|
+
return alternatives;
|
|
266
|
+
}
|
|
267
|
+
assessScalability(component, codebase) {
|
|
268
|
+
return {
|
|
269
|
+
maintainability: this.assessMaintainability(component),
|
|
270
|
+
extensibility: this.assessExtensibility(component),
|
|
271
|
+
testability: this.assessTestability(component),
|
|
272
|
+
reusability: this.assessReusability(component),
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
assessMaintainability(component) {
|
|
276
|
+
const score = this.calculateMaintainabilityScore(component);
|
|
277
|
+
return {
|
|
278
|
+
score,
|
|
279
|
+
rating: score > 8
|
|
280
|
+
? "excellent"
|
|
281
|
+
: score > 6
|
|
282
|
+
? "good"
|
|
283
|
+
: score > 4
|
|
284
|
+
? "fair"
|
|
285
|
+
: "poor",
|
|
286
|
+
factors: this.getMaintainabilityFactors(component),
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
calculateMaintainabilityScore(component) {
|
|
290
|
+
let score = 10;
|
|
291
|
+
// Deduct points for complexity
|
|
292
|
+
if (component.dependencies?.length > 10)
|
|
293
|
+
score -= 2;
|
|
294
|
+
if (component.acceptanceCriteria?.length > 8)
|
|
295
|
+
score -= 1;
|
|
296
|
+
// Add points for good practices
|
|
297
|
+
if (component.dependencies?.includes("TypeScript"))
|
|
298
|
+
score += 1;
|
|
299
|
+
if (component.context?.includes("documented"))
|
|
300
|
+
score += 1;
|
|
301
|
+
return Math.max(0, Math.min(10, score));
|
|
302
|
+
}
|
|
303
|
+
getMaintainabilityFactors(component) {
|
|
304
|
+
const factors = [];
|
|
305
|
+
if ((component.dependencies?.length || 0) > 10)
|
|
306
|
+
factors.push("high-dependency-count");
|
|
307
|
+
if (!component.dependencies?.includes("TypeScript"))
|
|
308
|
+
factors.push("no-type-safety");
|
|
309
|
+
if ((component.acceptanceCriteria?.length || 0) > 8)
|
|
310
|
+
factors.push("complex-requirements");
|
|
311
|
+
return factors;
|
|
312
|
+
}
|
|
313
|
+
assessExtensibility(component) {
|
|
314
|
+
return {
|
|
315
|
+
rating: "good", // Simplified for now
|
|
316
|
+
suggestions: [
|
|
317
|
+
"Use composition over inheritance",
|
|
318
|
+
"Implement proper prop interfaces",
|
|
319
|
+
"Consider render props pattern for flexibility",
|
|
320
|
+
],
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
assessTestability(component) {
|
|
324
|
+
return {
|
|
325
|
+
rating: "good", // Simplified for now
|
|
326
|
+
suggestions: [
|
|
327
|
+
"Separate business logic from UI logic",
|
|
328
|
+
"Use dependency injection for external services",
|
|
329
|
+
"Ensure components are pure when possible",
|
|
330
|
+
],
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
assessReusability(component) {
|
|
334
|
+
return {
|
|
335
|
+
rating: "good", // Simplified for now
|
|
336
|
+
suggestions: [
|
|
337
|
+
"Make components configurable via props",
|
|
338
|
+
"Avoid hard-coded values",
|
|
339
|
+
"Design for composition",
|
|
340
|
+
],
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
exports.ArchitectAgent = ArchitectAgent;
|
|
345
|
+
//# sourceMappingURL=ArchitectAgent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArchitectAgent.js","sourceRoot":"","sources":["../../../src/agents/implementations/ArchitectAgent.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,6 +22,18 @@ export declare class CodeGenSubAgent implements SubAgent<ComponentGenerationInpu
|
|
|
22
22
|
successCount: number;
|
|
23
23
|
}>;
|
|
24
24
|
private generateProductionReadyComponent;
|
|
25
|
+
/**
|
|
26
|
+
* Uses LLM to construct intelligent prompts for component generation
|
|
27
|
+
*/
|
|
28
|
+
private constructPromptWithLLM;
|
|
29
|
+
/**
|
|
30
|
+
* Creates an enriched static prompt with intelligent analysis of the context
|
|
31
|
+
*/
|
|
32
|
+
private createEnrichedStaticPrompt;
|
|
33
|
+
/**
|
|
34
|
+
* Analyzes project context to extract intelligent requirements
|
|
35
|
+
*/
|
|
36
|
+
private analyzeContextForRequirements;
|
|
25
37
|
private getAvailableShadcnPrimitives;
|
|
26
38
|
private normalizeShadcnName;
|
|
27
39
|
private getReactImportsForType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeGenSubAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/CodeGenSubAgent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CodeGenSubAgent.d.ts","sourceRoot":"","sources":["../../../src/agents/implementations/CodeGenSubAgent.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,QAAQ,EACR,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,wBAAwB,CAAC;AA6FhC,qBAAa,eACX,YAAW,QAAQ,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;IAExE,IAAI,SAAqB;IACzB,WAAW,SACkG;IAC7G,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;;IAkBf,GAAG,CACP,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,yBAAyB,CAAC;IAuC/B,QAAQ,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC;IAc3D,SAAS,IAAI,OAAO,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,CAAC;QACnD,OAAO,CAAC,EAAE,IAAI,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;YASY,gCAAgC;IAqL9C;;OAEG;YACW,sBAAsB;IA4EpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0FlC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAyGrC,OAAO,CAAC,4BAA4B;IA4BpC,OAAO,CAAC,mBAAmB;IA2B3B,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,uBAAuB;IAoI/B,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,uBAAuB;IA2E/B,OAAO,CAAC,4BAA4B;IAmIpC,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,kCAAkC;IA4E1C,OAAO,CAAC,gCAAgC;IAwIxC,OAAO,CAAC,8BAA8B;IAyetC,OAAO,CAAC,iCAAiC;IA4QzC,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,uBAAuB;IAe/B,OAAO,CAAC,qBAAqB;IAoC7B,OAAO,CAAC,qBAAqB;YASf,kBAAkB;CA0CjC"}
|