erosolar-cli 1.7.28 → 1.7.29

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.
@@ -0,0 +1,287 @@
1
+ /**
2
+ * Design Thought Check System
3
+ *
4
+ * A meta-level quality assurance system that validates implementation decisions
5
+ * against comprehensive design principles before execution.
6
+ *
7
+ * Features:
8
+ * - Multi-dimensional design validation
9
+ * - Edge case analysis
10
+ * - Architectural pattern matching
11
+ * - Risk assessment and mitigation
12
+ * - Alternative solution exploration
13
+ * - Production-readiness validation
14
+ *
15
+ * @license MIT
16
+ */
17
+ /**
18
+ * Design Thought Check Engine
19
+ *
20
+ * Validates implementation decisions against comprehensive design principles
21
+ * to ensure sophisticated, production-ready solutions.
22
+ */
23
+ export class DesignThoughtCheckEngine {
24
+ defaultOptions = {
25
+ deepAnalysis: true,
26
+ exploreAlternatives: true,
27
+ assessProductionReadiness: true,
28
+ validatePatterns: true,
29
+ maxAlternatives: 3,
30
+ minReadinessScore: 80
31
+ };
32
+ /**
33
+ * Perform a comprehensive design thought check
34
+ */
35
+ async check(intent, approach, toolCalls, options = {}) {
36
+ const opts = { ...this.defaultOptions, ...options };
37
+ // Generate unique ID for this check
38
+ const id = this.generateCheckId(intent);
39
+ // Perform comprehensive validation
40
+ const validation = await this.validateDesign(intent, approach, toolCalls, opts);
41
+ // Explore alternative approaches
42
+ const alternatives = opts.exploreAlternatives
43
+ ? await this.exploreAlternatives(intent, approach, toolCalls, opts.maxAlternatives)
44
+ : [];
45
+ // Assess risks
46
+ const risks = await this.assessRisks(intent, approach, toolCalls, validation);
47
+ // Calculate production readiness
48
+ const productionReadiness = this.calculateProductionReadiness(validation, risks);
49
+ // Generate final recommendation
50
+ const recommendation = this.generateRecommendation(validation, risks, productionReadiness, opts.minReadinessScore);
51
+ return {
52
+ id,
53
+ originalIntent: intent,
54
+ proposedApproach: approach,
55
+ plannedToolCalls: toolCalls,
56
+ validation,
57
+ alternatives,
58
+ risks,
59
+ productionReadiness,
60
+ recommendation
61
+ };
62
+ }
63
+ /**
64
+ * Validate design against comprehensive criteria
65
+ */
66
+ async validateDesign(intent, approach, toolCalls, options) {
67
+ const criteria = await this.evaluateCriteria(intent, approach, toolCalls, options);
68
+ const score = this.calculateValidationScore(criteria);
69
+ // Extract issues from criteria
70
+ const criticalIssues = [];
71
+ const warnings = [];
72
+ const suggestions = [];
73
+ for (const criterion of criteria) {
74
+ if (criterion.score < 50 && criterion.critical) {
75
+ criticalIssues.push({
76
+ severity: 'critical',
77
+ description: `Failed critical criterion: ${criterion.name}`,
78
+ impact: `This could lead to ${criterion.description.toLowerCase()}`,
79
+ recommendation: criterion.evidence,
80
+ blocksImplementation: true
81
+ });
82
+ }
83
+ else if (criterion.score < 70) {
84
+ warnings.push({
85
+ severity: 'warning',
86
+ description: `Suboptimal performance on: ${criterion.name}`,
87
+ impact: `May affect ${criterion.description.toLowerCase()}`,
88
+ recommendation: criterion.evidence,
89
+ blocksImplementation: false
90
+ });
91
+ }
92
+ else if (criterion.score < 90) {
93
+ suggestions.push({
94
+ severity: 'suggestion',
95
+ description: `Opportunity for improvement: ${criterion.name}`,
96
+ impact: `Could enhance ${criterion.description.toLowerCase()}`,
97
+ recommendation: criterion.evidence,
98
+ blocksImplementation: false
99
+ });
100
+ }
101
+ }
102
+ return {
103
+ score,
104
+ criteria,
105
+ criticalIssues,
106
+ warnings,
107
+ suggestions
108
+ };
109
+ }
110
+ /**
111
+ * Evaluate all design criteria
112
+ */
113
+ async evaluateCriteria(intent, approach, toolCalls, options) {
114
+ const criteria = [];
115
+ // Core architectural criteria
116
+ criteria.push(await this.evaluateArchitecturalCoherence(intent, approach, toolCalls));
117
+ criteria.push(await this.evaluateCodeQuality(intent, approach, toolCalls));
118
+ criteria.push(await this.evaluateMaintainability(intent, approach, toolCalls));
119
+ criteria.push(await this.evaluateTestability(intent, approach, toolCalls));
120
+ // Performance and scalability
121
+ criteria.push(await this.evaluatePerformance(intent, approach, toolCalls));
122
+ criteria.push(await this.evaluateScalability(intent, approach, toolCalls));
123
+ // Security and reliability
124
+ criteria.push(await this.evaluateSecurity(intent, approach, toolCalls));
125
+ criteria.push(await this.evaluateErrorHandling(intent, approach, toolCalls));
126
+ criteria.push(await this.evaluateEdgeCases(intent, approach, toolCalls));
127
+ // User experience and usability
128
+ criteria.push(await this.evaluateUsability(intent, approach, toolCalls));
129
+ criteria.push(await this.evaluateDocumentation(intent, approach, toolCalls));
130
+ // Integration and compatibility
131
+ criteria.push(await this.evaluateIntegration(intent, approach, toolCalls));
132
+ criteria.push(await this.evaluateCompatibility(intent, approach, toolCalls));
133
+ return criteria;
134
+ }
135
+ /**
136
+ * Evaluate architectural coherence
137
+ */
138
+ async evaluateArchitecturalCoherence(intent, approach, toolCalls) {
139
+ // Analyze if the approach aligns with existing architecture
140
+ const evidence = this.analyzeArchitecturalAlignment(approach, toolCalls);
141
+ const score = this.scoreArchitecturalCoherence(evidence);
142
+ return {
143
+ name: 'Architectural Coherence',
144
+ description: 'Alignment with existing system architecture and patterns',
145
+ weight: 10,
146
+ score,
147
+ evidence,
148
+ critical: true
149
+ };
150
+ }
151
+ /**
152
+ * Evaluate code quality
153
+ */
154
+ async evaluateCodeQuality(intent, approach, toolCalls) {
155
+ const evidence = this.analyzeCodeQuality(approach, toolCalls);
156
+ const score = this.scoreCodeQuality(evidence);
157
+ return {
158
+ name: 'Code Quality',
159
+ description: 'Adherence to coding standards and best practices',
160
+ weight: 8,
161
+ score,
162
+ evidence,
163
+ critical: false
164
+ };
165
+ }
166
+ /**
167
+ * Evaluate maintainability
168
+ */
169
+ async evaluateMaintainability(intent, approach, toolCalls) {
170
+ const evidence = this.analyzeMaintainability(approach, toolCalls);
171
+ const score = this.scoreMaintainability(evidence);
172
+ return {
173
+ name: 'Maintainability',
174
+ description: 'Ease of future maintenance and modifications',
175
+ weight: 9,
176
+ score,
177
+ evidence,
178
+ critical: false
179
+ };
180
+ }
181
+ /**
182
+ * Evaluate testability
183
+ */
184
+ async evaluateTestability(intent, approach, toolCalls) {
185
+ const evidence = this.analyzeTestability(approach, toolCalls);
186
+ const score = this.scoreTestability(evidence);
187
+ return {
188
+ name: 'Testability',
189
+ description: 'Ease of testing and validation',
190
+ weight: 7,
191
+ score,
192
+ evidence,
193
+ critical: false
194
+ };
195
+ }
196
+ /**
197
+ * Evaluate performance
198
+ */
199
+ async evaluatePerformance(intent, approach, toolCalls) {
200
+ const evidence = this.analyzePerformance(approach, toolCalls);
201
+ const score = this.scorePerformance(evidence);
202
+ return {
203
+ name: 'Performance',
204
+ description: 'Efficiency and resource usage',
205
+ weight: 8,
206
+ score,
207
+ evidence,
208
+ critical: false
209
+ };
210
+ }
211
+ /**
212
+ * Evaluate scalability
213
+ */
214
+ async evaluateScalability(intent, approach, toolCalls) {
215
+ const evidence = this.analyzeScalability(approach, toolCalls);
216
+ const score = this.scoreScalability(evidence);
217
+ return {
218
+ name: 'Scalability',
219
+ description: 'Ability to handle increased load and complexity',
220
+ weight: 7,
221
+ score,
222
+ evidence,
223
+ critical: false
224
+ };
225
+ }
226
+ /**
227
+ * Evaluate security
228
+ */
229
+ async evaluateSecurity(intent, approach, toolCalls) {
230
+ const evidence = this.analyzeSecurity(approach, toolCalls);
231
+ const score = this.scoreSecurity(evidence);
232
+ return {
233
+ name: 'Security',
234
+ description: 'Protection against vulnerabilities and threats',
235
+ weight: 9,
236
+ score,
237
+ evidence,
238
+ critical: true
239
+ };
240
+ }
241
+ /**
242
+ * Evaluate error handling
243
+ */
244
+ async evaluateErrorHandling(intent, approach, toolCalls) {
245
+ const evidence = this.analyzeErrorHandling(approach, toolCalls);
246
+ const score = this.scoreErrorHandling(evidence);
247
+ return {
248
+ name: 'Error Handling',
249
+ description: 'Robustness in handling failures and edge cases',
250
+ weight: 8,
251
+ score,
252
+ evidence,
253
+ critical: false
254
+ };
255
+ }
256
+ /**
257
+ * Evaluate edge cases
258
+ */
259
+ async evaluateEdgeCases(intent, approach, toolCalls) {
260
+ const evidence = this.analyzeEdgeCases(approach, toolCalls);
261
+ const score = this.scoreEdgeCases(evidence);
262
+ return {
263
+ name: 'Edge Case Coverage',
264
+ description: 'Handling of boundary conditions and unexpected inputs',
265
+ weight: 7,
266
+ score,
267
+ evidence,
268
+ critical: false
269
+ };
270
+ }
271
+ /**
272
+ * Evaluate usability
273
+ */
274
+ async evaluateUsability(intent, approach, toolCalls) {
275
+ const evidence = this.analyzeUsability(approach, toolCalls);
276
+ const score = this.scoreUsability(evidence);
277
+ return {
278
+ name: 'Usability',
279
+ description: 'User experience and ease of use',
280
+ weight: 6,
281
+ score,
282
+ evidence,
283
+ critical: false
284
+ };
285
+ }
286
+ }
287
+ //# sourceMappingURL=designThoughtCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"designThoughtCheck.js","sourceRoot":"","sources":["../../src/core/designThoughtCheck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Design Thought Check Engine Implementation
3
+ *
4
+ * Core implementation of the design validation engine that performs
5
+ * comprehensive analysis of implementation decisions.
6
+ *
7
+ * @license MIT
8
+ */
9
+ import type { ToolCallRequest } from './types.js';
10
+ import type { DesignThoughtCheck, ThoughtCheckOptions } from './designThoughtCheck.js';
11
+ /**
12
+ * Core implementation of the Design Thought Check Engine
13
+ */
14
+ export declare class DesignThoughtCheckEngineImpl {
15
+ private readonly defaultOptions;
16
+ /**
17
+ * Perform a comprehensive design thought check
18
+ */
19
+ check(intent: string, approach: string, toolCalls: ToolCallRequest[], options?: ThoughtCheckOptions): Promise<DesignThoughtCheck>;
20
+ /**
21
+ * Validate design against comprehensive criteria
22
+ */
23
+ private validateDesign;
24
+ /**
25
+ * Evaluate all design criteria
26
+ */
27
+ private evaluateCriteria;
28
+ private evaluateArchitecturalCoherence;
29
+ private evaluateCodeQuality;
30
+ private evaluateMaintainability;
31
+ private evaluateTestability;
32
+ private evaluatePerformance;
33
+ private evaluateScalability;
34
+ private evaluateSecurity;
35
+ private evaluateErrorHandling;
36
+ private evaluateEdgeCases;
37
+ private evaluateUsability;
38
+ private evaluateDocumentation;
39
+ private evaluateIntegration;
40
+ private evaluateCompatibility;
41
+ private analyzeArchitecturalAlignment;
42
+ private analyzeCodeQuality;
43
+ private analyzeMaintainability;
44
+ private analyzeTestability;
45
+ private analyzePerformance;
46
+ private analyzeScalability;
47
+ private analyzeSecurity;
48
+ private analyzeErrorHandling;
49
+ private analyzeEdgeCases;
50
+ private analyzeUsability;
51
+ private analyzeDocumentation;
52
+ private analyzeIntegration;
53
+ private analyzeCompatibility;
54
+ private scoreArchitecturalCoherence;
55
+ private scoreCodeQuality;
56
+ private scoreMaintainability;
57
+ }
58
+ //# sourceMappingURL=designThoughtCheckEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"designThoughtCheckEngine.d.ts","sourceRoot":"","sources":["../../src/core/designThoughtCheckEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EACV,kBAAkB,EAMlB,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;AAEjC;;GAEG;AACH,qBAAa,4BAA4B;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAO7B;IAEF;;OAEG;IACG,KAAK,CACT,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,eAAe,EAAE,EAC5B,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC;IAoC9B;;OAEG;YACW,cAAc;IAuB5B;;OAEG;YACW,gBAAgB;YAmChB,8BAA8B;YAkB9B,mBAAmB;YAkBnB,uBAAuB;YAkBvB,mBAAmB;YAkBnB,mBAAmB;YAkBnB,mBAAmB;YAkBnB,gBAAgB;YAkBhB,qBAAqB;YAkBrB,iBAAiB;YAkBjB,iBAAiB;YAkBjB,qBAAqB;YAkBrB,mBAAmB;YAkBnB,qBAAqB;IAmBnC,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,oBAAoB;CAOwB"}