mycontext-cli 2.0.2 → 2.0.4

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 (69) hide show
  1. package/README.md +426 -103
  2. package/dist/README.md +426 -103
  3. package/dist/agents/implementations/ClaudeAgentWorkflow.d.ts.map +1 -1
  4. package/dist/agents/implementations/ClaudeAgentWorkflow.js +75 -4
  5. package/dist/agents/implementations/ClaudeAgentWorkflow.js.map +1 -1
  6. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  7. package/dist/agents/implementations/CodeGenSubAgent.js +69 -0
  8. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  9. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  10. package/dist/agents/implementations/PromptConstructorAgent.js +23 -0
  11. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  12. package/dist/agents/interfaces/SubAgent.d.ts +2 -0
  13. package/dist/agents/interfaces/SubAgent.d.ts.map +1 -1
  14. package/dist/cli.js +13 -40
  15. package/dist/cli.js.map +1 -1
  16. package/dist/commands/generate-components.d.ts +0 -5
  17. package/dist/commands/generate-components.d.ts.map +1 -1
  18. package/dist/commands/generate-components.js +0 -101
  19. package/dist/commands/generate-components.js.map +1 -1
  20. package/dist/commands/health-check.d.ts +28 -0
  21. package/dist/commands/health-check.d.ts.map +1 -0
  22. package/dist/commands/health-check.js +271 -0
  23. package/dist/commands/health-check.js.map +1 -0
  24. package/dist/commands/init.d.ts.map +1 -1
  25. package/dist/commands/init.js +2 -6
  26. package/dist/commands/init.js.map +1 -1
  27. package/dist/config/build-strategies.json +173 -22
  28. package/dist/package.json +2 -2
  29. package/dist/utils/NextJSProjectGenerator.d.ts +70 -0
  30. package/dist/utils/NextJSProjectGenerator.d.ts.map +1 -0
  31. package/dist/utils/NextJSProjectGenerator.js +811 -0
  32. package/dist/utils/NextJSProjectGenerator.js.map +1 -0
  33. package/dist/utils/NextJSProjectValidator.d.ts +103 -0
  34. package/dist/utils/NextJSProjectValidator.d.ts.map +1 -0
  35. package/dist/utils/NextJSProjectValidator.js +759 -0
  36. package/dist/utils/NextJSProjectValidator.js.map +1 -0
  37. package/dist/utils/PreCommandValidator.d.ts +77 -0
  38. package/dist/utils/PreCommandValidator.d.ts.map +1 -0
  39. package/dist/utils/PreCommandValidator.js +251 -0
  40. package/dist/utils/PreCommandValidator.js.map +1 -0
  41. package/dist/utils/ProjectHealthMonitor.d.ts +131 -0
  42. package/dist/utils/ProjectHealthMonitor.d.ts.map +1 -0
  43. package/dist/utils/ProjectHealthMonitor.js +454 -0
  44. package/dist/utils/ProjectHealthMonitor.js.map +1 -0
  45. package/dist/utils/ProjectInitializationSafeguards.d.ts +81 -0
  46. package/dist/utils/ProjectInitializationSafeguards.d.ts.map +1 -0
  47. package/dist/utils/ProjectInitializationSafeguards.js +620 -0
  48. package/dist/utils/ProjectInitializationSafeguards.js.map +1 -0
  49. package/dist/utils/ProjectStructureRepair.d.ts +110 -0
  50. package/dist/utils/ProjectStructureRepair.d.ts.map +1 -0
  51. package/dist/utils/ProjectStructureRepair.js +785 -0
  52. package/dist/utils/ProjectStructureRepair.js.map +1 -0
  53. package/dist/utils/ProjectStructureValidator.d.ts +128 -0
  54. package/dist/utils/ProjectStructureValidator.d.ts.map +1 -0
  55. package/dist/utils/ProjectStructureValidator.js +662 -0
  56. package/dist/utils/ProjectStructureValidator.js.map +1 -0
  57. package/dist/utils/agentDefinitions.d.ts +5 -0
  58. package/dist/utils/agentDefinitions.d.ts.map +1 -1
  59. package/dist/utils/agentDefinitions.js +99 -1
  60. package/dist/utils/agentDefinitions.js.map +1 -1
  61. package/dist/utils/mcpTools.d.ts +189 -0
  62. package/dist/utils/mcpTools.d.ts.map +1 -1
  63. package/dist/utils/mcpTools.js +462 -1
  64. package/dist/utils/mcpTools.js.map +1 -1
  65. package/package.json +2 -2
  66. package/dist/commands/core.d.ts +0 -24
  67. package/dist/commands/core.d.ts.map +0 -1
  68. package/dist/commands/core.js +0 -410
  69. package/dist/commands/core.js.map +0 -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"}