mycontext-cli 2.0.2 → 2.0.3

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 (42) hide show
  1. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  2. package/dist/agents/implementations/CodeGenSubAgent.js +69 -0
  3. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  4. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  5. package/dist/agents/implementations/PromptConstructorAgent.js +23 -0
  6. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  7. package/dist/cli.js +11 -2
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/health-check.d.ts +28 -0
  10. package/dist/commands/health-check.d.ts.map +1 -0
  11. package/dist/commands/health-check.js +271 -0
  12. package/dist/commands/health-check.js.map +1 -0
  13. package/dist/package.json +1 -1
  14. package/dist/utils/NextJSProjectGenerator.d.ts +70 -0
  15. package/dist/utils/NextJSProjectGenerator.d.ts.map +1 -0
  16. package/dist/utils/NextJSProjectGenerator.js +811 -0
  17. package/dist/utils/NextJSProjectGenerator.js.map +1 -0
  18. package/dist/utils/NextJSProjectValidator.d.ts +103 -0
  19. package/dist/utils/NextJSProjectValidator.d.ts.map +1 -0
  20. package/dist/utils/NextJSProjectValidator.js +759 -0
  21. package/dist/utils/NextJSProjectValidator.js.map +1 -0
  22. package/dist/utils/PreCommandValidator.d.ts +77 -0
  23. package/dist/utils/PreCommandValidator.d.ts.map +1 -0
  24. package/dist/utils/PreCommandValidator.js +251 -0
  25. package/dist/utils/PreCommandValidator.js.map +1 -0
  26. package/dist/utils/ProjectHealthMonitor.d.ts +131 -0
  27. package/dist/utils/ProjectHealthMonitor.d.ts.map +1 -0
  28. package/dist/utils/ProjectHealthMonitor.js +454 -0
  29. package/dist/utils/ProjectHealthMonitor.js.map +1 -0
  30. package/dist/utils/ProjectInitializationSafeguards.d.ts +81 -0
  31. package/dist/utils/ProjectInitializationSafeguards.d.ts.map +1 -0
  32. package/dist/utils/ProjectInitializationSafeguards.js +620 -0
  33. package/dist/utils/ProjectInitializationSafeguards.js.map +1 -0
  34. package/dist/utils/ProjectStructureRepair.d.ts +110 -0
  35. package/dist/utils/ProjectStructureRepair.d.ts.map +1 -0
  36. package/dist/utils/ProjectStructureRepair.js +785 -0
  37. package/dist/utils/ProjectStructureRepair.js.map +1 -0
  38. package/dist/utils/ProjectStructureValidator.d.ts +128 -0
  39. package/dist/utils/ProjectStructureValidator.d.ts.map +1 -0
  40. package/dist/utils/ProjectStructureValidator.js +662 -0
  41. package/dist/utils/ProjectStructureValidator.js.map +1 -0
  42. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NextJSProjectValidator.js","sourceRoot":"","sources":["../../src/utils/NextJSProjectValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { ProjectStructureReport } from "./ProjectStructureValidator";
2
+ import { Command } from "commander";
3
+ export interface ValidationResult {
4
+ passed: boolean;
5
+ report: ProjectStructureReport;
6
+ autoFixed: boolean;
7
+ }
8
+ export declare class PreCommandValidator {
9
+ private validator;
10
+ private autoFixEnabled;
11
+ private strictMode;
12
+ constructor(projectRoot?: string, options?: {
13
+ autoFix?: boolean;
14
+ strict?: boolean;
15
+ });
16
+ /**
17
+ * Validate project structure before running any command
18
+ */
19
+ validateBeforeCommand(command: string): Promise<ValidationResult>;
20
+ /**
21
+ * Add validation hooks to a Commander command
22
+ */
23
+ static addValidationHook(command: Command, options?: {
24
+ autoFix?: boolean;
25
+ strict?: boolean;
26
+ }): void;
27
+ /**
28
+ * Validate specific command types with custom rules
29
+ */
30
+ validateForCommandType(commandType: string): Promise<ValidationResult>;
31
+ private validateForGenerate;
32
+ private validateForBuild;
33
+ private validateForTest;
34
+ private validateForDeploy;
35
+ /**
36
+ * Enable/disable auto-fix
37
+ */
38
+ setAutoFix(enabled: boolean): void;
39
+ /**
40
+ * Enable/disable strict mode
41
+ */
42
+ setStrictMode(enabled: boolean): void;
43
+ /**
44
+ * Get current validation settings
45
+ */
46
+ getSettings(): {
47
+ autoFix: boolean;
48
+ strict: boolean;
49
+ };
50
+ }
51
+ /**
52
+ * Decorator function to add validation to commands
53
+ */
54
+ export declare function withValidation(options?: {
55
+ autoFix?: boolean;
56
+ strict?: boolean;
57
+ }): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
58
+ /**
59
+ * Global validation settings
60
+ */
61
+ export declare class GlobalValidationSettings {
62
+ private static instance;
63
+ private autoFixEnabled;
64
+ private strictMode;
65
+ private validationEnabled;
66
+ static getInstance(): GlobalValidationSettings;
67
+ setAutoFix(enabled: boolean): void;
68
+ setStrictMode(enabled: boolean): void;
69
+ setValidationEnabled(enabled: boolean): void;
70
+ getSettings(): {
71
+ autoFix: boolean;
72
+ strict: boolean;
73
+ enabled: boolean;
74
+ };
75
+ createValidator(projectRoot?: string): PreCommandValidator;
76
+ }
77
+ //# sourceMappingURL=PreCommandValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreCommandValidator.d.ts","sourceRoot":"","sources":["../../src/utils/PreCommandValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6B,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAEhG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAkB;gBAExB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE;IAMnF;;OAEG;IACG,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6DvE;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IA0BnG;;OAEG;IACG,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAkB9D,mBAAmB;YAYnB,gBAAgB;YAgBhB,eAAe;YAef,iBAAiB;IAW/B;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC;;OAEG;IACH,WAAW,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE;CAMrD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,IAC9D,QAAQ,GAAG,EAAE,aAAa,MAAM,EAAE,YAAY,kBAAkB,wBA+BjF;AAED;;GAEG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,iBAAiB,CAAiB;IAE1C,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAO9C,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5C,WAAW,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE;IAQtE,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,mBAAmB;CAM3D"}
@@ -0,0 +1,251 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GlobalValidationSettings = exports.PreCommandValidator = void 0;
7
+ exports.withValidation = withValidation;
8
+ const ProjectStructureValidator_1 = require("./ProjectStructureValidator");
9
+ const chalk_1 = __importDefault(require("chalk"));
10
+ class PreCommandValidator {
11
+ constructor(projectRoot, options) {
12
+ this.autoFixEnabled = true;
13
+ this.strictMode = false;
14
+ this.validator = new ProjectStructureValidator_1.ProjectStructureValidator(projectRoot);
15
+ this.autoFixEnabled = options?.autoFix ?? true;
16
+ this.strictMode = options?.strict ?? false;
17
+ }
18
+ /**
19
+ * Validate project structure before running any command
20
+ */
21
+ async validateBeforeCommand(command) {
22
+ console.log(chalk_1.default.blue(`🔍 Validating project structure before: ${command}`));
23
+ const report = await this.validator.validate();
24
+ if (report.isValid) {
25
+ console.log(chalk_1.default.green("✅ Project structure is healthy"));
26
+ return { passed: true, report, autoFixed: false };
27
+ }
28
+ console.log(chalk_1.default.yellow(`⚠️ Found ${report.issues.length} project structure issues`));
29
+ // Show critical issues immediately
30
+ const criticalIssues = report.issues.filter(issue => issue.severity === "critical");
31
+ if (criticalIssues.length > 0) {
32
+ console.log(chalk_1.default.red("\n🚨 Critical Issues Found:"));
33
+ criticalIssues.forEach(issue => {
34
+ console.log(chalk_1.default.red(` ❌ ${issue.message}`));
35
+ if (issue.file)
36
+ console.log(chalk_1.default.gray(` File: ${issue.file}`));
37
+ if (issue.fix)
38
+ console.log(chalk_1.default.gray(` Fix: ${issue.fix}`));
39
+ });
40
+ }
41
+ // Attempt auto-fix if enabled
42
+ let autoFixed = false;
43
+ if (this.autoFixEnabled && report.autoFixable) {
44
+ console.log(chalk_1.default.blue("\n🔧 Attempting to auto-fix issues..."));
45
+ const fixResult = await this.validator.autoFix();
46
+ if (fixResult.fixed > 0) {
47
+ console.log(chalk_1.default.green(`✅ Auto-fixed ${fixResult.fixed} issues`));
48
+ autoFixed = true;
49
+ // Re-validate after fixes
50
+ const newReport = await this.validator.validate();
51
+ if (newReport.isValid) {
52
+ console.log(chalk_1.default.green("✅ All issues resolved!"));
53
+ return { passed: true, report: newReport, autoFixed: true };
54
+ }
55
+ }
56
+ if (fixResult.failed > 0) {
57
+ console.log(chalk_1.default.red(`❌ Failed to fix ${fixResult.failed} issues`));
58
+ fixResult.errors.forEach(error => {
59
+ console.log(chalk_1.default.red(` ${error}`));
60
+ });
61
+ }
62
+ }
63
+ // Handle remaining issues based on strict mode
64
+ if (this.strictMode) {
65
+ console.log(chalk_1.default.red("\n🚫 Strict mode enabled - blocking command execution"));
66
+ console.log(chalk_1.default.yellow("Run 'mycontext health-check --fix' to resolve issues"));
67
+ return { passed: false, report, autoFixed };
68
+ }
69
+ else {
70
+ console.log(chalk_1.default.yellow("\n⚠️ Continuing with warnings..."));
71
+ console.log(chalk_1.default.yellow("Run 'mycontext health-check' for detailed report"));
72
+ return { passed: true, report, autoFixed };
73
+ }
74
+ }
75
+ /**
76
+ * Add validation hooks to a Commander command
77
+ */
78
+ static addValidationHook(command, options) {
79
+ const validator = new PreCommandValidator(undefined, options);
80
+ command.hook('preAction', async (thisCommand, actionCommand) => {
81
+ const commandName = `${actionCommand.name()} ${actionCommand.args.join(' ')}`.trim();
82
+ try {
83
+ const result = await validator.validateBeforeCommand(commandName);
84
+ if (!result.passed) {
85
+ console.log(chalk_1.default.red("\n❌ Command blocked due to project structure issues"));
86
+ process.exit(1);
87
+ }
88
+ if (result.autoFixed) {
89
+ console.log(chalk_1.default.green("\n✅ Project structure issues auto-fixed, continuing..."));
90
+ }
91
+ }
92
+ catch (error) {
93
+ console.log(chalk_1.default.red(`❌ Validation failed: ${error}`));
94
+ if (options?.strict) {
95
+ process.exit(1);
96
+ }
97
+ }
98
+ });
99
+ }
100
+ /**
101
+ * Validate specific command types with custom rules
102
+ */
103
+ async validateForCommandType(commandType) {
104
+ const report = await this.validator.validate();
105
+ // Add command-specific validation rules
106
+ switch (commandType) {
107
+ case "generate":
108
+ return this.validateForGenerate(report);
109
+ case "build":
110
+ return this.validateForBuild(report);
111
+ case "test":
112
+ return this.validateForTest(report);
113
+ case "deploy":
114
+ return this.validateForDeploy(report);
115
+ default:
116
+ return this.validateBeforeCommand(commandType);
117
+ }
118
+ }
119
+ async validateForGenerate(report) {
120
+ // For generate commands, we need a clean structure
121
+ const criticalIssues = report.issues.filter(issue => issue.severity === "critical");
122
+ if (criticalIssues.length > 0) {
123
+ console.log(chalk_1.default.red("🚫 Cannot generate components with critical project structure issues"));
124
+ return { passed: false, report, autoFixed: false };
125
+ }
126
+ return this.validateBeforeCommand("generate");
127
+ }
128
+ async validateForBuild(report) {
129
+ // For build commands, we need proper configuration
130
+ const configIssues = report.issues.filter(issue => issue.message.includes("configuration") ||
131
+ issue.message.includes("package.json") ||
132
+ issue.message.includes("lock file"));
133
+ if (configIssues.length > 0) {
134
+ console.log(chalk_1.default.red("🚫 Cannot build with configuration issues"));
135
+ return { passed: false, report, autoFixed: false };
136
+ }
137
+ return this.validateBeforeCommand("build");
138
+ }
139
+ async validateForTest(report) {
140
+ // For test commands, we need dependencies installed
141
+ const dependencyIssues = report.issues.filter(issue => issue.message.includes("node_modules") ||
142
+ issue.message.includes("dependencies"));
143
+ if (dependencyIssues.length > 0) {
144
+ console.log(chalk_1.default.red("🚫 Cannot run tests with dependency issues"));
145
+ return { passed: false, report, autoFixed: false };
146
+ }
147
+ return this.validateBeforeCommand("test");
148
+ }
149
+ async validateForDeploy(report) {
150
+ // For deploy commands, we need a completely clean structure
151
+ if (!report.isValid) {
152
+ console.log(chalk_1.default.red("🚫 Cannot deploy with project structure issues"));
153
+ console.log(chalk_1.default.yellow("Run 'mycontext health-check --fix' to resolve issues"));
154
+ return { passed: false, report, autoFixed: false };
155
+ }
156
+ return this.validateBeforeCommand("deploy");
157
+ }
158
+ /**
159
+ * Enable/disable auto-fix
160
+ */
161
+ setAutoFix(enabled) {
162
+ this.autoFixEnabled = enabled;
163
+ }
164
+ /**
165
+ * Enable/disable strict mode
166
+ */
167
+ setStrictMode(enabled) {
168
+ this.strictMode = enabled;
169
+ }
170
+ /**
171
+ * Get current validation settings
172
+ */
173
+ getSettings() {
174
+ return {
175
+ autoFix: this.autoFixEnabled,
176
+ strict: this.strictMode
177
+ };
178
+ }
179
+ }
180
+ exports.PreCommandValidator = PreCommandValidator;
181
+ /**
182
+ * Decorator function to add validation to commands
183
+ */
184
+ function withValidation(options) {
185
+ return function (target, propertyKey, descriptor) {
186
+ const originalMethod = descriptor.value;
187
+ descriptor.value = async function (...args) {
188
+ const validator = new PreCommandValidator(undefined, options);
189
+ const commandName = `${target.constructor.name}.${propertyKey}`;
190
+ try {
191
+ const result = await validator.validateBeforeCommand(commandName);
192
+ if (!result.passed) {
193
+ console.log(chalk_1.default.red("\n❌ Command blocked due to project structure issues"));
194
+ return;
195
+ }
196
+ if (result.autoFixed) {
197
+ console.log(chalk_1.default.green("\n✅ Project structure issues auto-fixed, continuing..."));
198
+ }
199
+ return originalMethod.apply(this, args);
200
+ }
201
+ catch (error) {
202
+ console.log(chalk_1.default.red(`❌ Validation failed: ${error}`));
203
+ if (options?.strict) {
204
+ return;
205
+ }
206
+ return originalMethod.apply(this, args);
207
+ }
208
+ };
209
+ return descriptor;
210
+ };
211
+ }
212
+ /**
213
+ * Global validation settings
214
+ */
215
+ class GlobalValidationSettings {
216
+ constructor() {
217
+ this.autoFixEnabled = true;
218
+ this.strictMode = false;
219
+ this.validationEnabled = true;
220
+ }
221
+ static getInstance() {
222
+ if (!GlobalValidationSettings.instance) {
223
+ GlobalValidationSettings.instance = new GlobalValidationSettings();
224
+ }
225
+ return GlobalValidationSettings.instance;
226
+ }
227
+ setAutoFix(enabled) {
228
+ this.autoFixEnabled = enabled;
229
+ }
230
+ setStrictMode(enabled) {
231
+ this.strictMode = enabled;
232
+ }
233
+ setValidationEnabled(enabled) {
234
+ this.validationEnabled = enabled;
235
+ }
236
+ getSettings() {
237
+ return {
238
+ autoFix: this.autoFixEnabled,
239
+ strict: this.strictMode,
240
+ enabled: this.validationEnabled
241
+ };
242
+ }
243
+ createValidator(projectRoot) {
244
+ return new PreCommandValidator(projectRoot, {
245
+ autoFix: this.autoFixEnabled,
246
+ strict: this.strictMode
247
+ });
248
+ }
249
+ }
250
+ exports.GlobalValidationSettings = GlobalValidationSettings;
251
+ //# sourceMappingURL=PreCommandValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreCommandValidator.js","sourceRoot":"","sources":["../../src/utils/PreCommandValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ export interface HealthMetrics {
2
+ timestamp: string;
3
+ projectPath: string;
4
+ structureHealth: number;
5
+ dependencyHealth: number;
6
+ configurationHealth: number;
7
+ overallHealth: number;
8
+ issues: {
9
+ critical: number;
10
+ high: number;
11
+ medium: number;
12
+ low: number;
13
+ };
14
+ trends: {
15
+ structureHealth: number[];
16
+ dependencyHealth: number[];
17
+ configurationHealth: number[];
18
+ overallHealth: number[];
19
+ };
20
+ }
21
+ export interface HealthAlert {
22
+ id: string;
23
+ type: "critical" | "warning" | "info";
24
+ message: string;
25
+ timestamp: string;
26
+ resolved: boolean;
27
+ autoResolved: boolean;
28
+ }
29
+ export declare class ProjectHealthMonitor {
30
+ private projectRoot;
31
+ private validator;
32
+ private healthHistory;
33
+ private alerts;
34
+ private monitoringEnabled;
35
+ private alertThresholds;
36
+ constructor(projectRoot?: string);
37
+ /**
38
+ * Perform comprehensive health check
39
+ */
40
+ performHealthCheck(): Promise<HealthMetrics>;
41
+ /**
42
+ * Calculate health metrics from validation report
43
+ */
44
+ private calculateHealthMetrics;
45
+ /**
46
+ * Calculate health trends
47
+ */
48
+ private calculateTrends;
49
+ /**
50
+ * Check for health alerts
51
+ */
52
+ private checkForAlerts;
53
+ /**
54
+ * Auto-resolve alerts when health improves
55
+ */
56
+ private autoResolveAlerts;
57
+ /**
58
+ * Get health dashboard data
59
+ */
60
+ getHealthDashboard(): Promise<{
61
+ current: HealthMetrics;
62
+ trends: HealthMetrics["trends"];
63
+ alerts: HealthAlert[];
64
+ recommendations: string[];
65
+ }>;
66
+ /**
67
+ * Generate health recommendations
68
+ */
69
+ private generateRecommendations;
70
+ /**
71
+ * Display health dashboard
72
+ */
73
+ displayHealthDashboard(): Promise<void>;
74
+ /**
75
+ * Get health color based on percentage
76
+ */
77
+ private getHealthColor;
78
+ /**
79
+ * Get grade color
80
+ */
81
+ private getGradeColor;
82
+ /**
83
+ * Calculate health grade
84
+ */
85
+ private calculateHealthGrade;
86
+ /**
87
+ * Calculate trend direction
88
+ */
89
+ private calculateTrendDirection;
90
+ /**
91
+ * Enable/disable monitoring
92
+ */
93
+ setMonitoringEnabled(enabled: boolean): void;
94
+ /**
95
+ * Set alert thresholds
96
+ */
97
+ setAlertThresholds(thresholds: Partial<typeof this.alertThresholds>): void;
98
+ /**
99
+ * Get health history
100
+ */
101
+ getHealthHistory(): HealthMetrics[];
102
+ /**
103
+ * Get alerts
104
+ */
105
+ getAlerts(): HealthAlert[];
106
+ /**
107
+ * Clear resolved alerts
108
+ */
109
+ clearResolvedAlerts(): void;
110
+ /**
111
+ * Load health history from file
112
+ */
113
+ private loadHealthHistory;
114
+ /**
115
+ * Save health history to file
116
+ */
117
+ private saveHealthHistory;
118
+ /**
119
+ * Load alerts from file
120
+ */
121
+ private loadAlerts;
122
+ /**
123
+ * Save alerts to file
124
+ */
125
+ private saveAlerts;
126
+ /**
127
+ * Trim health history to keep only last 100 entries
128
+ */
129
+ private trimHealthHistory;
130
+ }
131
+ //# sourceMappingURL=ProjectHealthMonitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectHealthMonitor.d.ts","sourceRoot":"","sources":["../../src/utils/ProjectHealthMonitor.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE;QACN,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,mBAAmB,EAAE,MAAM,EAAE,CAAC;QAC9B,aAAa,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;CACH;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,iBAAiB,CAAiB;IAC1C,OAAO,CAAC,eAAe,CAIrB;gBAEU,WAAW,GAAE,MAAsB;IAO/C;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;IAoBlD;;OAEG;YACW,sBAAsB;IAoDpC;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;YACW,cAAc;IAmE5B;;OAEG;YACW,iBAAiB;IA2B/B;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC;QAClC,OAAO,EAAE,aAAa,CAAC;QACvB,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,EAAE,WAAW,EAAE,CAAC;QACtB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IAcF;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA8B/B;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;IAuD7C;;OAEG;IACH,OAAO,CAAC,cAAc;IAOtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAQ/B;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAI5C;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI;IAI1E;;OAEG;IACH,gBAAgB,IAAI,aAAa,EAAE;IAInC;;OAEG;IACH,SAAS,IAAI,WAAW,EAAE;IAI1B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAI3B;;OAEG;YACW,iBAAiB;IAY/B;;OAEG;YACW,iBAAiB;IAU/B;;OAEG;YACW,UAAU;IAYxB;;OAEG;YACW,UAAU;IAUxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAK1B"}