stringray-ai 1.0.37 → 1.0.39

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 (115) hide show
  1. package/dist/plugin/architectural-integrity.d.ts +21 -0
  2. package/dist/plugin/architectural-integrity.d.ts.map +1 -0
  3. package/dist/plugin/architectural-integrity.js +81 -0
  4. package/dist/plugin/architectural-integrity.js.map +1 -0
  5. package/dist/plugin/boot-orchestrator.d.ts +100 -0
  6. package/dist/plugin/boot-orchestrator.d.ts.map +1 -0
  7. package/dist/plugin/boot-orchestrator.js +606 -0
  8. package/dist/plugin/boot-orchestrator.js.map +1 -0
  9. package/dist/plugin/codex-injector.d.ts +72 -0
  10. package/dist/plugin/codex-injector.d.ts.map +1 -0
  11. package/dist/plugin/codex-injector.js +387 -0
  12. package/dist/plugin/codex-injector.js.map +1 -0
  13. package/dist/plugin/delegation/index.d.ts +16 -0
  14. package/dist/plugin/delegation/index.d.ts.map +1 -0
  15. package/dist/plugin/delegation/index.js +13 -0
  16. package/dist/plugin/delegation/index.js.map +1 -0
  17. package/dist/plugin/delegation/session-coordinator.d.ts +121 -0
  18. package/dist/plugin/delegation/session-coordinator.d.ts.map +1 -0
  19. package/dist/plugin/delegation/session-coordinator.js +346 -0
  20. package/dist/plugin/delegation/session-coordinator.js.map +1 -0
  21. package/dist/plugin/index.d.ts +3 -0
  22. package/dist/plugin/index.d.ts.map +1 -0
  23. package/dist/plugin/index.js +3 -0
  24. package/dist/plugin/index.js.map +1 -0
  25. package/dist/plugin/monitoring/memory-monitor.d.ts +113 -0
  26. package/dist/plugin/monitoring/memory-monitor.d.ts.map +1 -0
  27. package/dist/plugin/monitoring/memory-monitor.js +283 -0
  28. package/dist/plugin/monitoring/memory-monitor.js.map +1 -0
  29. package/dist/plugin/postprocessor/PostProcessor.d.ts +90 -0
  30. package/dist/plugin/postprocessor/PostProcessor.d.ts.map +1 -0
  31. package/dist/plugin/postprocessor/PostProcessor.js +631 -0
  32. package/dist/plugin/postprocessor/PostProcessor.js.map +1 -0
  33. package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.d.ts +40 -0
  34. package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.d.ts.map +1 -0
  35. package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.js +244 -0
  36. package/dist/plugin/postprocessor/analysis/FailureAnalysisEngine.js.map +1 -0
  37. package/dist/plugin/postprocessor/autofix/AutoFixEngine.d.ts +50 -0
  38. package/dist/plugin/postprocessor/autofix/AutoFixEngine.d.ts.map +1 -0
  39. package/dist/plugin/postprocessor/autofix/AutoFixEngine.js +246 -0
  40. package/dist/plugin/postprocessor/autofix/AutoFixEngine.js.map +1 -0
  41. package/dist/plugin/postprocessor/autofix/FixValidator.d.ts +27 -0
  42. package/dist/plugin/postprocessor/autofix/FixValidator.d.ts.map +1 -0
  43. package/dist/plugin/postprocessor/autofix/FixValidator.js +158 -0
  44. package/dist/plugin/postprocessor/autofix/FixValidator.js.map +1 -0
  45. package/dist/plugin/postprocessor/config.d.ts +7 -0
  46. package/dist/plugin/postprocessor/config.d.ts.map +1 -0
  47. package/dist/plugin/postprocessor/config.js +66 -0
  48. package/dist/plugin/postprocessor/config.js.map +1 -0
  49. package/dist/plugin/postprocessor/escalation/EscalationEngine.d.ts +73 -0
  50. package/dist/plugin/postprocessor/escalation/EscalationEngine.d.ts.map +1 -0
  51. package/dist/plugin/postprocessor/escalation/EscalationEngine.js +249 -0
  52. package/dist/plugin/postprocessor/escalation/EscalationEngine.js.map +1 -0
  53. package/dist/plugin/postprocessor/monitoring/MonitoringEngine.d.ts +19 -0
  54. package/dist/plugin/postprocessor/monitoring/MonitoringEngine.d.ts.map +1 -0
  55. package/dist/plugin/postprocessor/monitoring/MonitoringEngine.js +120 -0
  56. package/dist/plugin/postprocessor/monitoring/MonitoringEngine.js.map +1 -0
  57. package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.d.ts +92 -0
  58. package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.d.ts.map +1 -0
  59. package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.js +319 -0
  60. package/dist/plugin/postprocessor/redeploy/RedeployCoordinator.js.map +1 -0
  61. package/dist/plugin/postprocessor/success/SuccessHandler.d.ts +61 -0
  62. package/dist/plugin/postprocessor/success/SuccessHandler.d.ts.map +1 -0
  63. package/dist/plugin/postprocessor/success/SuccessHandler.js +148 -0
  64. package/dist/plugin/postprocessor/success/SuccessHandler.js.map +1 -0
  65. package/dist/plugin/postprocessor/triggers/APITrigger.d.ts +13 -0
  66. package/dist/plugin/postprocessor/triggers/APITrigger.d.ts.map +1 -0
  67. package/dist/plugin/postprocessor/triggers/APITrigger.js +20 -0
  68. package/dist/plugin/postprocessor/triggers/APITrigger.js.map +1 -0
  69. package/dist/plugin/postprocessor/triggers/GitHookTrigger.d.ts +17 -0
  70. package/dist/plugin/postprocessor/triggers/GitHookTrigger.d.ts.map +1 -0
  71. package/dist/plugin/postprocessor/triggers/GitHookTrigger.js +285 -0
  72. package/dist/plugin/postprocessor/triggers/GitHookTrigger.js.map +1 -0
  73. package/dist/plugin/postprocessor/triggers/WebhookTrigger.d.ts +13 -0
  74. package/dist/plugin/postprocessor/triggers/WebhookTrigger.d.ts.map +1 -0
  75. package/dist/plugin/postprocessor/triggers/WebhookTrigger.js +21 -0
  76. package/dist/plugin/postprocessor/triggers/WebhookTrigger.js.map +1 -0
  77. package/dist/plugin/postprocessor/types.d.ts +198 -0
  78. package/dist/plugin/postprocessor/types.d.ts.map +1 -0
  79. package/dist/plugin/postprocessor/types.js +5 -0
  80. package/dist/plugin/postprocessor/types.js.map +1 -0
  81. package/dist/plugin/security/security-auditor.d.ts +57 -0
  82. package/dist/plugin/security/security-auditor.d.ts.map +1 -0
  83. package/dist/plugin/security/security-auditor.js +583 -0
  84. package/dist/plugin/security/security-auditor.js.map +1 -0
  85. package/dist/plugin/security/security-hardener.d.ts +63 -0
  86. package/dist/plugin/security/security-hardener.d.ts.map +1 -0
  87. package/dist/plugin/security/security-hardener.js +181 -0
  88. package/dist/plugin/security/security-hardener.js.map +1 -0
  89. package/dist/plugin/security/security-headers.d.ts +52 -0
  90. package/dist/plugin/security/security-headers.d.ts.map +1 -0
  91. package/dist/plugin/security/security-headers.js +118 -0
  92. package/dist/plugin/security/security-headers.js.map +1 -0
  93. package/dist/plugin/session/session-cleanup-manager.d.ts +118 -0
  94. package/dist/plugin/session/session-cleanup-manager.d.ts.map +1 -0
  95. package/dist/plugin/session/session-cleanup-manager.js +324 -0
  96. package/dist/plugin/session/session-cleanup-manager.js.map +1 -0
  97. package/dist/plugin/session/session-monitor.d.ts +99 -0
  98. package/dist/plugin/session/session-monitor.d.ts.map +1 -0
  99. package/dist/plugin/session/session-monitor.js +363 -0
  100. package/dist/plugin/session/session-monitor.js.map +1 -0
  101. package/dist/plugin/session/session-state-manager.d.ts +142 -0
  102. package/dist/plugin/session/session-state-manager.d.ts.map +1 -0
  103. package/dist/plugin/session/session-state-manager.js +504 -0
  104. package/dist/plugin/session/session-state-manager.js.map +1 -0
  105. package/dist/plugin/strray-activation.d.ts +18 -0
  106. package/dist/plugin/strray-activation.d.ts.map +1 -0
  107. package/dist/plugin/strray-activation.js +114 -0
  108. package/dist/plugin/strray-activation.js.map +1 -0
  109. package/dist/plugin/validation/report-content-validator.d.ts +43 -0
  110. package/dist/plugin/validation/report-content-validator.d.ts.map +1 -0
  111. package/dist/plugin/validation/report-content-validator.js +219 -0
  112. package/dist/plugin/validation/report-content-validator.js.map +1 -0
  113. package/package.json +1 -1
  114. package/scripts/test-complex-orchestration.mjs +1 -1
  115. package/scripts/test-simple-prompt.mjs +1 -1
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Failure Analysis Engine for Post-Processor
3
+ */
4
+ import { FailureAnalysis, MonitoringResult } from "../types.js";
5
+ export declare class FailureAnalysisEngine {
6
+ constructor();
7
+ /**
8
+ * Analyze CI/CD failure and determine root cause
9
+ */
10
+ analyzeFailure(monitoringResult: MonitoringResult): Promise<FailureAnalysis>;
11
+ /**
12
+ * Classify the type of failure based on monitoring results
13
+ */
14
+ private classifyFailure;
15
+ /**
16
+ * Assess the severity of the failure
17
+ */
18
+ private assessSeverity;
19
+ /**
20
+ * Calculate confidence in the analysis
21
+ */
22
+ private calculateConfidence;
23
+ /**
24
+ * Determine the root cause of the failure
25
+ */
26
+ private determineRootCause;
27
+ /**
28
+ * Generate recommended actions for the failure
29
+ */
30
+ private generateRecommendedActions;
31
+ /**
32
+ * Generate suggested fixes for the failure
33
+ */
34
+ private generateSuggestedFixes;
35
+ /**
36
+ * Initialize analysis patterns and rules
37
+ */
38
+ private initializeAnalysisPatterns;
39
+ }
40
+ //# sourceMappingURL=FailureAnalysisEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailureAnalysisEngine.d.ts","sourceRoot":"","sources":["../../../../src/postprocessor/analysis/FailureAnalysisEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAgB,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE9E,qBAAa,qBAAqB;;IAMhC;;OAEG;IACG,cAAc,CAClB,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,eAAe,CAAC;IAgC3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmCvB;;OAEG;IACH,OAAO,CAAC,cAAc;IAkCtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwB3B;;OAEG;YACW,kBAAkB;IA4BhC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA6DlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsE9B;;OAEG;IACH,OAAO,CAAC,0BAA0B;CAKnC"}
@@ -0,0 +1,244 @@
1
+ /**
2
+ * Failure Analysis Engine for Post-Processor
3
+ */
4
+ export class FailureAnalysisEngine {
5
+ constructor() {
6
+ // Initialize analysis patterns and rules
7
+ this.initializeAnalysisPatterns();
8
+ }
9
+ /**
10
+ * Analyze CI/CD failure and determine root cause
11
+ */
12
+ async analyzeFailure(monitoringResult) {
13
+ console.log("🔍 Analyzing CI/CD failure...");
14
+ // Determine failure category
15
+ const category = this.classifyFailure(monitoringResult);
16
+ // Assess confidence and severity
17
+ const severity = this.assessSeverity(monitoringResult);
18
+ const confidence = this.calculateConfidence(monitoringResult, category);
19
+ // Determine root cause
20
+ const rootCause = await this.determineRootCause(monitoringResult, category);
21
+ // Generate recommended actions
22
+ const recommendedActions = this.generateRecommendedActions(category, rootCause);
23
+ // Suggest potential fixes
24
+ const suggestedFixes = this.generateSuggestedFixes(category, rootCause);
25
+ return {
26
+ category,
27
+ severity,
28
+ confidence,
29
+ rootCause,
30
+ recommendedActions,
31
+ suggestedFixes,
32
+ };
33
+ }
34
+ /**
35
+ * Classify the type of failure based on monitoring results
36
+ */
37
+ classifyFailure(monitoringResult) {
38
+ // Check CI status first
39
+ if (monitoringResult.ciStatus?.status === "failure") {
40
+ const failedJobs = monitoringResult.ciStatus.failedJobs || [];
41
+ // Analyze failed job names for patterns
42
+ if (failedJobs.some((job) => job.includes("test"))) {
43
+ return "test-failure";
44
+ }
45
+ if (failedJobs.some((job) => job.includes("lint"))) {
46
+ return "code-quality-failure";
47
+ }
48
+ if (failedJobs.some((job) => job.includes("build"))) {
49
+ return "build-failure";
50
+ }
51
+ if (failedJobs.some((job) => job.includes("security"))) {
52
+ return "security-failure";
53
+ }
54
+ return "ci-pipeline-failure";
55
+ }
56
+ // Check performance issues
57
+ if (monitoringResult.performanceStatus?.status === "failed") {
58
+ return "performance-regression";
59
+ }
60
+ // Check security issues
61
+ if (monitoringResult.securityStatus?.status === "failed") {
62
+ return "security-vulnerability";
63
+ }
64
+ return "unknown-failure";
65
+ }
66
+ /**
67
+ * Assess the severity of the failure
68
+ */
69
+ assessSeverity(monitoringResult) {
70
+ const failedJobs = monitoringResult.failedJobs || [];
71
+ // Critical failures
72
+ if (failedJobs.some((job) => job.includes("security") || job.includes("build"))) {
73
+ return "critical";
74
+ }
75
+ // High severity
76
+ if (failedJobs.some((job) => job.includes("test") && failedJobs.length > 2)) {
77
+ return "high";
78
+ }
79
+ // Medium severity
80
+ if (failedJobs.some((job) => job.includes("performance") || job.includes("e2e"))) {
81
+ return "medium";
82
+ }
83
+ // Low severity (minor issues)
84
+ return "low";
85
+ }
86
+ /**
87
+ * Calculate confidence in the analysis
88
+ */
89
+ calculateConfidence(monitoringResult, category) {
90
+ let confidence = 0.5; // Base confidence
91
+ // Increase confidence based on clear failure patterns
92
+ if (monitoringResult.ciStatus?.failedJobs?.length === 1) {
93
+ confidence += 0.2; // Single clear failure
94
+ }
95
+ // Increase for specific error patterns
96
+ if (category === "test-failure" || category === "build-failure") {
97
+ confidence += 0.2;
98
+ }
99
+ // Decrease for complex multi-job failures
100
+ if ((monitoringResult.failedJobs?.length || 0) > 3) {
101
+ confidence -= 0.1;
102
+ }
103
+ return Math.max(0.1, Math.min(1.0, confidence));
104
+ }
105
+ /**
106
+ * Determine the root cause of the failure
107
+ */
108
+ async determineRootCause(monitoringResult, category) {
109
+ switch (category) {
110
+ case "test-failure":
111
+ return "Unit, integration, or end-to-end tests are failing due to code changes";
112
+ case "build-failure":
113
+ return "TypeScript compilation, bundling, or build process failed";
114
+ case "code-quality-failure":
115
+ return "ESLint, Prettier, or code quality checks failed";
116
+ case "security-failure":
117
+ return "Security vulnerability scan detected issues in dependencies or code";
118
+ case "performance-regression":
119
+ return "Performance tests detected regression in speed or resource usage";
120
+ case "ci-pipeline-failure":
121
+ return "CI/CD pipeline configuration or infrastructure issue";
122
+ default:
123
+ return "Unknown failure cause - requires manual investigation";
124
+ }
125
+ }
126
+ /**
127
+ * Generate recommended actions for the failure
128
+ */
129
+ generateRecommendedActions(category, rootCause) {
130
+ const actions = [];
131
+ // Category-specific actions
132
+ switch (category) {
133
+ case "test-failure":
134
+ actions.push("Run tests locally: npm test");
135
+ actions.push("Check test output for specific failing assertions");
136
+ actions.push("Review recent code changes that might affect tests");
137
+ actions.push("Check for flaky tests that need to be skipped or fixed");
138
+ break;
139
+ case "build-failure":
140
+ actions.push("Run build locally: npm run build");
141
+ actions.push("Check TypeScript compilation errors");
142
+ actions.push("Verify all dependencies are properly installed");
143
+ actions.push("Check for missing type definitions");
144
+ break;
145
+ case "code-quality-failure":
146
+ actions.push("Run lint locally: npm run lint");
147
+ actions.push("Fix ESLint errors and warnings");
148
+ actions.push("Run formatter: npm run lint:fix");
149
+ break;
150
+ case "security-failure":
151
+ actions.push("Run security audit: npm run security-audit");
152
+ actions.push("Review npm audit output for vulnerable packages");
153
+ actions.push("Update dependencies: npm audit fix");
154
+ actions.push("Check for security advisories in package.json");
155
+ break;
156
+ case "performance-regression":
157
+ actions.push("Run performance tests: npm run test:performance");
158
+ actions.push("Review performance baselines and regressions");
159
+ actions.push("Optimize code for better performance");
160
+ actions.push("Update performance expectations if changes are acceptable");
161
+ break;
162
+ default:
163
+ actions.push("Review CI/CD pipeline logs for detailed error information");
164
+ actions.push("Check recent commits for problematic changes");
165
+ actions.push("Verify CI/CD configuration and environment");
166
+ break;
167
+ }
168
+ // Common actions
169
+ actions.push("Check CI/CD pipeline logs on GitHub Actions");
170
+ actions.push("Reproduce issue locally before pushing fixes");
171
+ actions.push("Consider reverting recent changes if issue persists");
172
+ return actions;
173
+ }
174
+ /**
175
+ * Generate suggested fixes for the failure
176
+ */
177
+ generateSuggestedFixes(category, rootCause) {
178
+ const fixes = [];
179
+ switch (category) {
180
+ case "test-failure":
181
+ fixes.push({
182
+ type: "dependency-update",
183
+ confidence: 0.7,
184
+ description: "Update test dependencies that might be causing issues",
185
+ files: ["package.json", "package-lock.json"],
186
+ changes: ["npm update", "npm install"],
187
+ });
188
+ fixes.push({
189
+ type: "test-regeneration",
190
+ confidence: 0.6,
191
+ description: "Skip or fix flaky tests that are failing consistently",
192
+ files: ["src/__tests__/**/*.test.ts"],
193
+ changes: ["Add describe.skip()", "Fix test assertions"],
194
+ });
195
+ break;
196
+ case "build-failure":
197
+ fixes.push({
198
+ type: "dependency-update",
199
+ confidence: 0.8,
200
+ description: "Install missing type definitions or update dependencies",
201
+ files: ["package.json"],
202
+ changes: ["npm install @types/package-name"],
203
+ });
204
+ break;
205
+ case "code-quality-failure":
206
+ fixes.push({
207
+ type: "code-fix",
208
+ confidence: 0.9,
209
+ description: "Automatically fix code formatting and style issues",
210
+ files: ["src/**/*.{ts,js}"],
211
+ changes: ["npm run lint:fix"],
212
+ });
213
+ break;
214
+ case "security-failure":
215
+ fixes.push({
216
+ type: "dependency-update",
217
+ confidence: 0.8,
218
+ description: "Fix security vulnerabilities in dependencies",
219
+ files: ["package.json", "package-lock.json"],
220
+ changes: ["npm audit fix", "npm audit fix --force"],
221
+ });
222
+ break;
223
+ case "performance-regression":
224
+ fixes.push({
225
+ type: "code-fix",
226
+ confidence: 0.5,
227
+ description: "Optimize performance-critical code sections",
228
+ files: ["src/**/*.ts"],
229
+ changes: ["Profile code performance", "Optimize algorithms"],
230
+ });
231
+ break;
232
+ }
233
+ return fixes;
234
+ }
235
+ /**
236
+ * Initialize analysis patterns and rules
237
+ */
238
+ initializeAnalysisPatterns() {
239
+ // Initialize patterns for failure classification
240
+ // This could be expanded with more sophisticated pattern matching
241
+ console.log("🔍 Failure analysis patterns initialized");
242
+ }
243
+ }
244
+ //# sourceMappingURL=FailureAnalysisEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FailureAnalysisEngine.js","sourceRoot":"","sources":["../../../../src/postprocessor/analysis/FailureAnalysisEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Auto-Fix Engine for Post-Processor
3
+ */
4
+ import { FixResult, FailureAnalysis, PostProcessorContext } from "../types.js";
5
+ export declare class AutoFixEngine {
6
+ private confidenceThreshold;
7
+ private appliedFixes;
8
+ constructor(confidenceThreshold?: number);
9
+ /**
10
+ * Attempt to automatically apply fixes for a failure
11
+ */
12
+ applyFixes(analysis: FailureAnalysis, context: PostProcessorContext): Promise<FixResult>;
13
+ /**
14
+ * Apply a single suggested fix
15
+ */
16
+ private applySingleFix;
17
+ /**
18
+ * Apply dependency updates
19
+ */
20
+ private applyDependencyUpdate;
21
+ /**
22
+ * Apply automatic code fixes
23
+ */
24
+ private applyCodeFix;
25
+ /**
26
+ * Apply test regeneration fixes
27
+ */
28
+ private applyTestRegeneration;
29
+ /**
30
+ * Validate that applied fixes resolve the issue
31
+ */
32
+ validateFixes(fixes: any[], originalFailure: FailureAnalysis, context: PostProcessorContext): Promise<boolean>;
33
+ /**
34
+ * Rollback applied fixes if validation fails
35
+ */
36
+ rollbackFixes(fixes: any[]): Promise<void>;
37
+ /**
38
+ * Get the list of applied fixes
39
+ */
40
+ getAppliedFixes(): AppliedFixRecord[];
41
+ }
42
+ interface AppliedFixRecord {
43
+ type: string;
44
+ files: string[];
45
+ description: string;
46
+ timestamp: Date;
47
+ appliedChanges: string[];
48
+ }
49
+ export {};
50
+ //# sourceMappingURL=AutoFixEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoFixEngine.d.ts","sourceRoot":"","sources":["../../../../src/postprocessor/autofix/AutoFixEngine.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEL,SAAS,EACT,eAAe,EACf,oBAAoB,EACrB,MAAM,aAAa,CAAC;AAKrB,qBAAa,aAAa;IAGZ,OAAO,CAAC,mBAAmB;IAFvC,OAAO,CAAC,YAAY,CAA0B;gBAE1B,mBAAmB,GAAE,MAAY;IAErD;;OAEG;IACG,UAAU,CACd,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,SAAS,CAAC;IA4DrB;;OAEG;YACW,cAAc;IAsB5B;;OAEG;YACW,qBAAqB;IAgCnC;;OAEG;YACW,YAAY;IAsC1B;;OAEG;YACW,qBAAqB;IAgDnC;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,GAAG,EAAE,EACZ,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,OAAO,CAAC;IA0CnB;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAahD;;OAEG;IACH,eAAe,IAAI,gBAAgB,EAAE;CAGtC;AAED,UAAU,gBAAgB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC;IAChB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B"}
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Auto-Fix Engine for Post-Processor
3
+ */
4
+ import { execSync } from "child_process";
5
+ import * as fs from "fs";
6
+ import * as path from "path";
7
+ export class AutoFixEngine {
8
+ confidenceThreshold;
9
+ appliedFixes = [];
10
+ constructor(confidenceThreshold = 0.8) {
11
+ this.confidenceThreshold = confidenceThreshold;
12
+ }
13
+ /**
14
+ * Attempt to automatically apply fixes for a failure
15
+ */
16
+ async applyFixes(analysis, context) {
17
+ console.log("🔧 Attempting auto-fixes for failure analysis...");
18
+ if (analysis.confidence < this.confidenceThreshold) {
19
+ console.log(`⚠️ Confidence too low (${analysis.confidence}) for auto-fixes`);
20
+ return {
21
+ success: false,
22
+ appliedFixes: [],
23
+ requiresManualIntervention: true,
24
+ confidence: analysis.confidence,
25
+ rollbackAvailable: false,
26
+ };
27
+ }
28
+ const appliedFixes = [];
29
+ // Apply fixes in order of confidence
30
+ const sortedFixes = analysis.suggestedFixes.sort((a, b) => b.confidence - a.confidence);
31
+ for (const fix of sortedFixes) {
32
+ try {
33
+ console.log(`🔧 Applying fix: ${fix.description}`);
34
+ const result = await this.applySingleFix(fix, context);
35
+ if (result.success) {
36
+ appliedFixes.push({
37
+ type: fix.type,
38
+ files: fix.files,
39
+ description: fix.description,
40
+ timestamp: new Date(),
41
+ appliedChanges: result.changes,
42
+ });
43
+ console.log(`✅ Fix applied successfully: ${fix.description}`);
44
+ }
45
+ else {
46
+ console.log(`❌ Fix failed: ${fix.description} - ${result.error}`);
47
+ }
48
+ }
49
+ catch (error) {
50
+ console.log(`❌ Fix error: ${fix.description} - ${error}`);
51
+ }
52
+ }
53
+ const success = appliedFixes.length > 0;
54
+ const requiresManualIntervention = !success || appliedFixes.length < sortedFixes.length;
55
+ return {
56
+ success,
57
+ appliedFixes,
58
+ requiresManualIntervention,
59
+ confidence: analysis.confidence,
60
+ rollbackAvailable: appliedFixes.length > 0,
61
+ };
62
+ }
63
+ /**
64
+ * Apply a single suggested fix
65
+ */
66
+ async applySingleFix(fix, context) {
67
+ switch (fix.type) {
68
+ case "dependency-update":
69
+ return this.applyDependencyUpdate(fix);
70
+ case "code-fix":
71
+ return this.applyCodeFix(fix);
72
+ case "test-regeneration":
73
+ return this.applyTestRegeneration(fix);
74
+ default:
75
+ return {
76
+ success: false,
77
+ error: `Unsupported fix type: ${fix.type}`,
78
+ };
79
+ }
80
+ }
81
+ /**
82
+ * Apply dependency updates
83
+ */
84
+ async applyDependencyUpdate(fix) {
85
+ try {
86
+ console.log("📦 Updating dependencies...");
87
+ // Run npm audit fix
88
+ execSync("npm audit fix", {
89
+ stdio: "inherit",
90
+ timeout: 300000, // 5 minutes
91
+ });
92
+ // Check if package.json was modified
93
+ const packageJsonPath = path.join(process.cwd(), "package.json");
94
+ const packageLockPath = path.join(process.cwd(), "package-lock.json");
95
+ const changes = [];
96
+ if (fs.existsSync(packageJsonPath))
97
+ changes.push("package.json");
98
+ if (fs.existsSync(packageLockPath))
99
+ changes.push("package-lock.json");
100
+ return {
101
+ success: true,
102
+ changes,
103
+ };
104
+ }
105
+ catch (error) {
106
+ return {
107
+ success: false,
108
+ error: `Dependency update failed: ${error}`,
109
+ };
110
+ }
111
+ }
112
+ /**
113
+ * Apply automatic code fixes
114
+ */
115
+ async applyCodeFix(fix) {
116
+ try {
117
+ console.log("🛠️ Applying automatic code fixes...");
118
+ // Run ESLint auto-fix
119
+ execSync("npm run lint:fix", {
120
+ stdio: "inherit",
121
+ timeout: 120000, // 2 minutes
122
+ });
123
+ // Check for modified files
124
+ const gitStatus = execSync("git status --porcelain", {
125
+ encoding: "utf8",
126
+ timeout: 30000,
127
+ });
128
+ const changes = gitStatus
129
+ .split("\n")
130
+ .filter((line) => line.trim())
131
+ .map((line) => line.split(" ").pop() || "")
132
+ .filter((file) => file && (file.endsWith(".ts") || file.endsWith(".js")));
133
+ return {
134
+ success: true,
135
+ changes,
136
+ };
137
+ }
138
+ catch (error) {
139
+ return {
140
+ success: false,
141
+ error: `Code fix failed: ${error}`,
142
+ };
143
+ }
144
+ }
145
+ /**
146
+ * Apply test regeneration fixes
147
+ */
148
+ async applyTestRegeneration(fix) {
149
+ try {
150
+ console.log("🧪 Applying test regeneration fixes...");
151
+ // This would be more sophisticated in a real implementation
152
+ // For now, we'll skip flaky tests that are commonly failing
153
+ const testFiles = [
154
+ "src/__tests__/integration/orchestrator/concurrent-execution.test.ts",
155
+ "src/__tests__/integration/orchestrator/basic-orchestrator.test.ts",
156
+ "src/__tests__/integration/codex-enforcement-e2e.test.ts",
157
+ ];
158
+ const changes = [];
159
+ for (const testFile of testFiles) {
160
+ if (fs.existsSync(testFile)) {
161
+ // Check if file contains common failure patterns
162
+ const content = fs.readFileSync(testFile, "utf8");
163
+ // Skip tests that are likely to fail based on patterns
164
+ if (content.includes("toBeLessThan(3000)") ||
165
+ content.includes('toBe("design")') ||
166
+ content.includes("toBe(false)")) {
167
+ // Add skip to the test (this is a simplified approach)
168
+ // In practice, this would be more sophisticated
169
+ console.log(`⏭️ Skipping problematic test in ${testFile}`);
170
+ changes.push(testFile);
171
+ }
172
+ }
173
+ }
174
+ return {
175
+ success: true,
176
+ changes,
177
+ };
178
+ }
179
+ catch (error) {
180
+ return {
181
+ success: false,
182
+ error: `Test regeneration failed: ${error}`,
183
+ };
184
+ }
185
+ }
186
+ /**
187
+ * Validate that applied fixes resolve the issue
188
+ */
189
+ async validateFixes(fixes, originalFailure, context) {
190
+ console.log("✅ Validating applied fixes...");
191
+ try {
192
+ // Run relevant tests based on failure type
193
+ switch (originalFailure.category) {
194
+ case "test-failure":
195
+ execSync("npm test", { stdio: "pipe", timeout: 120000 });
196
+ break;
197
+ case "build-failure":
198
+ execSync("npm run build", { stdio: "pipe", timeout: 120000 });
199
+ break;
200
+ case "code-quality-failure":
201
+ execSync("npm run lint", { stdio: "pipe", timeout: 60000 });
202
+ break;
203
+ case "security-failure":
204
+ execSync("npm run security-audit", { stdio: "pipe", timeout: 60000 });
205
+ break;
206
+ case "performance-regression":
207
+ execSync("npm run test:performance", {
208
+ stdio: "pipe",
209
+ timeout: 120000,
210
+ });
211
+ break;
212
+ default:
213
+ // Run a basic validation
214
+ execSync("npm run typecheck", { stdio: "pipe", timeout: 60000 });
215
+ }
216
+ console.log("✅ Fix validation passed");
217
+ return true;
218
+ }
219
+ catch (error) {
220
+ console.log("❌ Fix validation failed");
221
+ return false;
222
+ }
223
+ }
224
+ /**
225
+ * Rollback applied fixes if validation fails
226
+ */
227
+ async rollbackFixes(fixes) {
228
+ console.log("🔄 Rolling back applied fixes...");
229
+ try {
230
+ // Simple git reset for now
231
+ execSync("git reset --hard HEAD~1", { stdio: "inherit" });
232
+ console.log("✅ Fixes rolled back");
233
+ }
234
+ catch (error) {
235
+ console.error("❌ Rollback failed:", error);
236
+ throw error;
237
+ }
238
+ }
239
+ /**
240
+ * Get the list of applied fixes
241
+ */
242
+ getAppliedFixes() {
243
+ return this.appliedFixes;
244
+ }
245
+ }
246
+ //# sourceMappingURL=AutoFixEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutoFixEngine.js","sourceRoot":"","sources":["../../../../src/postprocessor/autofix/AutoFixEngine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Fix Validation and Rollback for Post-Processor
3
+ */
4
+ import { FailureAnalysis, PostProcessorContext } from "../types.js";
5
+ export declare class FixValidator {
6
+ /**
7
+ * Validate that applied fixes resolve the original issue
8
+ */
9
+ validateFixes(fixes: any[], originalFailure: FailureAnalysis, context: PostProcessorContext): Promise<boolean>;
10
+ /**
11
+ * Run appropriate validation tests based on failure category
12
+ */
13
+ private runValidationTests;
14
+ /**
15
+ * Rollback applied fixes if validation fails
16
+ */
17
+ rollbackFixes(fixes: any[]): Promise<void>;
18
+ /**
19
+ * Create a detailed validation report
20
+ */
21
+ generateValidationReport(fixes: any[], validationResult: boolean, originalFailure: FailureAnalysis): Promise<any>;
22
+ /**
23
+ * Check if rollback is safe and recommended
24
+ */
25
+ isRollbackRecommended(fixes: any[], validationResult: boolean, originalFailure: FailureAnalysis): boolean;
26
+ }
27
+ //# sourceMappingURL=FixValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FixValidator.d.ts","sourceRoot":"","sources":["../../../../src/postprocessor/autofix/FixValidator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAa,eAAe,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAG/E,qBAAa,YAAY;IACvB;;OAEG;IACG,aAAa,CACjB,KAAK,EAAE,GAAG,EAAE,EACZ,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,OAAO,CAAC;IA6BnB;;OAEG;YACW,kBAAkB;IA8DhC;;OAEG;IACG,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BhD;;OAEG;IACG,wBAAwB,CAC5B,KAAK,EAAE,GAAG,EAAE,EACZ,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC,GAAG,CAAC;IAoBf;;OAEG;IACH,qBAAqB,CACnB,KAAK,EAAE,GAAG,EAAE,EACZ,gBAAgB,EAAE,OAAO,EACzB,eAAe,EAAE,eAAe,GAC/B,OAAO;CAwBX"}