baseguard 1.0.1 → 1.0.2

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 (151) hide show
  1. package/.baseguardrc.example.json +64 -0
  2. package/.eslintrc.json +1 -1
  3. package/CHANGELOG.md +196 -0
  4. package/DEPLOYMENT.md +625 -0
  5. package/DEPLOYMENT_CHECKLIST.md +239 -0
  6. package/DEPLOYMENT_SUMMARY_v1.0.2.md +202 -0
  7. package/QUICK_START.md +134 -0
  8. package/README.md +447 -52
  9. package/RELEASE_NOTES_v1.0.2.md +434 -0
  10. package/bin/base.js +64 -59
  11. package/dist/ai/agentkit-orchestrator.d.ts +116 -0
  12. package/dist/ai/agentkit-orchestrator.d.ts.map +1 -0
  13. package/dist/ai/agentkit-orchestrator.js +417 -0
  14. package/dist/ai/agentkit-orchestrator.js.map +1 -0
  15. package/dist/ai/gemini-code-fixer.d.ts +85 -0
  16. package/dist/ai/gemini-code-fixer.d.ts.map +1 -0
  17. package/dist/ai/gemini-code-fixer.js +452 -0
  18. package/dist/ai/gemini-code-fixer.js.map +1 -0
  19. package/dist/ai/jules-implementer.d.ts +5 -4
  20. package/dist/ai/jules-implementer.d.ts.map +1 -1
  21. package/dist/ai/jules-implementer.js +6 -5
  22. package/dist/ai/jules-implementer.js.map +1 -1
  23. package/dist/ai/unified-code-fixer.d.ts +69 -0
  24. package/dist/ai/unified-code-fixer.d.ts.map +1 -0
  25. package/dist/ai/unified-code-fixer.js +289 -0
  26. package/dist/ai/unified-code-fixer.js.map +1 -0
  27. package/dist/commands/check.d.ts +3 -1
  28. package/dist/commands/check.d.ts.map +1 -1
  29. package/dist/commands/check.js +166 -34
  30. package/dist/commands/check.js.map +1 -1
  31. package/dist/commands/config.d.ts +4 -0
  32. package/dist/commands/config.d.ts.map +1 -1
  33. package/dist/commands/config.js +183 -0
  34. package/dist/commands/config.js.map +1 -1
  35. package/dist/commands/fix.d.ts.map +1 -1
  36. package/dist/commands/fix.js +89 -91
  37. package/dist/commands/fix.js.map +1 -1
  38. package/dist/commands/index.d.ts +1 -0
  39. package/dist/commands/index.d.ts.map +1 -1
  40. package/dist/commands/index.js +1 -0
  41. package/dist/commands/index.js.map +1 -1
  42. package/dist/commands/init.d.ts.map +1 -1
  43. package/dist/commands/init.js +16 -2
  44. package/dist/commands/init.js.map +1 -1
  45. package/dist/commands/status.d.ts +14 -0
  46. package/dist/commands/status.d.ts.map +1 -0
  47. package/dist/commands/status.js +254 -0
  48. package/dist/commands/status.js.map +1 -0
  49. package/dist/core/baseguard.d.ts +47 -5
  50. package/dist/core/baseguard.d.ts.map +1 -1
  51. package/dist/core/baseguard.js +506 -52
  52. package/dist/core/baseguard.js.map +1 -1
  53. package/dist/core/cache-manager.d.ts.map +1 -1
  54. package/dist/core/cache-manager.js +3 -1
  55. package/dist/core/cache-manager.js.map +1 -1
  56. package/dist/core/configuration-recovery.d.ts +116 -0
  57. package/dist/core/configuration-recovery.d.ts.map +1 -0
  58. package/dist/core/configuration-recovery.js +552 -0
  59. package/dist/core/configuration-recovery.js.map +1 -0
  60. package/dist/core/configuration.d.ts +4 -0
  61. package/dist/core/configuration.d.ts.map +1 -1
  62. package/dist/core/configuration.js +35 -0
  63. package/dist/core/configuration.js.map +1 -1
  64. package/dist/core/debug-logger.d.ts +181 -0
  65. package/dist/core/debug-logger.d.ts.map +1 -0
  66. package/dist/core/debug-logger.js +479 -0
  67. package/dist/core/debug-logger.js.map +1 -0
  68. package/dist/core/file-processor.d.ts.map +1 -1
  69. package/dist/core/file-processor.js +8 -2
  70. package/dist/core/file-processor.js.map +1 -1
  71. package/dist/core/graceful-degradation-manager.d.ts +123 -0
  72. package/dist/core/graceful-degradation-manager.d.ts.map +1 -0
  73. package/dist/core/graceful-degradation-manager.js +512 -0
  74. package/dist/core/graceful-degradation-manager.js.map +1 -0
  75. package/dist/core/index.d.ts +4 -0
  76. package/dist/core/index.d.ts.map +1 -1
  77. package/dist/core/index.js +4 -0
  78. package/dist/core/index.js.map +1 -1
  79. package/dist/core/logger.d.ts +1 -0
  80. package/dist/core/logger.d.ts.map +1 -0
  81. package/dist/core/logger.js +2 -0
  82. package/dist/core/logger.js.map +1 -0
  83. package/dist/core/memory-manager.d.ts +84 -0
  84. package/dist/core/memory-manager.d.ts.map +1 -1
  85. package/dist/core/memory-manager.js +236 -1
  86. package/dist/core/memory-manager.js.map +1 -1
  87. package/dist/core/startup-optimizer.d.ts +12 -0
  88. package/dist/core/startup-optimizer.d.ts.map +1 -1
  89. package/dist/core/startup-optimizer.js +60 -0
  90. package/dist/core/startup-optimizer.js.map +1 -1
  91. package/dist/core/system-error-handler.d.ts +65 -0
  92. package/dist/core/system-error-handler.d.ts.map +1 -0
  93. package/dist/core/system-error-handler.js +646 -0
  94. package/dist/core/system-error-handler.js.map +1 -0
  95. package/dist/git/github-manager.d.ts +5 -16
  96. package/dist/git/github-manager.d.ts.map +1 -1
  97. package/dist/git/github-manager.js +6 -61
  98. package/dist/git/github-manager.js.map +1 -1
  99. package/dist/parsers/react-parser-optimized.d.ts +16 -0
  100. package/dist/parsers/react-parser-optimized.d.ts.map +1 -0
  101. package/dist/parsers/react-parser-optimized.js +147 -0
  102. package/dist/parsers/react-parser-optimized.js.map +1 -0
  103. package/dist/parsers/react-parser.d.ts.map +1 -1
  104. package/dist/parsers/react-parser.js +17 -15
  105. package/dist/parsers/react-parser.js.map +1 -1
  106. package/dist/parsers/svelte-parser.d.ts.map +1 -1
  107. package/dist/parsers/svelte-parser.js +7 -3
  108. package/dist/parsers/svelte-parser.js.map +1 -1
  109. package/dist/parsers/vanilla-parser.d.ts.map +1 -1
  110. package/dist/parsers/vanilla-parser.js +7 -3
  111. package/dist/parsers/vanilla-parser.js.map +1 -1
  112. package/dist/parsers/vue-parser.d.ts +18 -0
  113. package/dist/parsers/vue-parser.d.ts.map +1 -1
  114. package/dist/parsers/vue-parser.js +387 -1
  115. package/dist/parsers/vue-parser.js.map +1 -1
  116. package/dist/types/index.d.ts +4 -0
  117. package/dist/types/index.d.ts.map +1 -1
  118. package/dist/ui/help.js +1 -1
  119. package/dist/ui/help.js.map +1 -1
  120. package/dist/ui/prompts.d.ts +7 -4
  121. package/dist/ui/prompts.d.ts.map +1 -1
  122. package/dist/ui/prompts.js +48 -55
  123. package/dist/ui/prompts.js.map +1 -1
  124. package/package.json +31 -6
  125. package/src/ai/__tests__/gemini-analyzer.test.ts +2 -2
  126. package/src/ai/agentkit-orchestrator.ts +534 -0
  127. package/src/ai/gemini-code-fixer.ts +540 -0
  128. package/src/ai/jules-implementer.ts +6 -5
  129. package/src/ai/unified-code-fixer.ts +347 -0
  130. package/src/commands/config.ts +126 -0
  131. package/src/commands/fix.ts +98 -94
  132. package/src/commands/init.ts +16 -2
  133. package/src/core/cache-manager.ts +4 -2
  134. package/src/core/configuration.ts +37 -0
  135. package/src/core/debug-logger.ts +2 -2
  136. package/src/core/file-processor.ts +10 -3
  137. package/src/core/index.ts +5 -1
  138. package/src/core/memory-manager.ts +4 -3
  139. package/src/core/startup-optimizer.ts +70 -0
  140. package/src/git/github-manager.ts +11 -79
  141. package/src/parsers/react-parser.ts +2 -2
  142. package/src/parsers/svelte-parser.ts +13 -9
  143. package/src/parsers/vanilla-parser.ts +18 -14
  144. package/src/parsers/vue-parser.ts +20 -14
  145. package/src/types/index.ts +4 -0
  146. package/src/ui/help.ts +1 -1
  147. package/src/ui/prompts.ts +54 -61
  148. package/test-build.js +41 -0
  149. package/tests/e2e/git-integration.e2e.test.ts +1 -1
  150. package/tsconfig.json +0 -1
  151. package/vitest.config.ts +4 -2
@@ -0,0 +1,552 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import chalk from 'chalk';
4
+ import { ConfigurationManager } from './configuration.js';
5
+ import { logger } from './debug-logger.js';
6
+ import { UIComponents } from '../ui/components.js';
7
+ /**
8
+ * Enhanced configuration recovery and backup system
9
+ */
10
+ export class ConfigurationRecovery {
11
+ static CONFIG_FILE = '.baseguardrc.json';
12
+ static BACKUP_DIR = path.join('.baseguard', 'backups');
13
+ static MAX_BACKUPS = 10;
14
+ static RECOVERY_LOG = path.join('.baseguard', 'recovery.log');
15
+ /**
16
+ * Attempt to recover corrupted configuration
17
+ */
18
+ static async recoverConfiguration(options = {}) {
19
+ const recoveryOptions = {
20
+ createBackup: true,
21
+ validateConfig: true,
22
+ migrateVersion: true,
23
+ repairCorruption: true,
24
+ useDefaults: false,
25
+ ...options
26
+ };
27
+ const result = {
28
+ success: false,
29
+ config: undefined,
30
+ backupCreated: undefined,
31
+ errors: [],
32
+ warnings: []
33
+ };
34
+ const categoryLogger = logger.createCategoryLogger('config-recovery');
35
+ categoryLogger.info('Starting configuration recovery', { options: recoveryOptions });
36
+ try {
37
+ // Step 1: Check if config file exists
38
+ const configExists = await this.configFileExists();
39
+ if (!configExists) {
40
+ categoryLogger.info('Configuration file does not exist, creating default');
41
+ result.config = await this.createDefaultConfiguration();
42
+ result.success = true;
43
+ return result;
44
+ }
45
+ // Step 2: Try to read and parse existing config
46
+ let currentConfig = null;
47
+ let configContent = '';
48
+ try {
49
+ configContent = await fs.readFile(this.CONFIG_FILE, 'utf-8');
50
+ currentConfig = JSON.parse(configContent);
51
+ categoryLogger.debug('Successfully read configuration file');
52
+ }
53
+ catch (parseError) {
54
+ categoryLogger.error('Failed to parse configuration file', { error: parseError });
55
+ result.errors.push(`Configuration file is corrupted: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`);
56
+ if (recoveryOptions.repairCorruption) {
57
+ const repairResult = await this.repairCorruptedConfig(configContent);
58
+ if (repairResult.success) {
59
+ currentConfig = repairResult.config;
60
+ result.warnings.push('Configuration was repaired from corrupted state');
61
+ }
62
+ }
63
+ }
64
+ // Step 3: Create backup if requested and config exists
65
+ if (recoveryOptions.createBackup && currentConfig) {
66
+ try {
67
+ result.backupCreated = await this.createBackup(currentConfig, 'recovery');
68
+ categoryLogger.info('Created configuration backup', { backupFile: result.backupCreated });
69
+ }
70
+ catch (backupError) {
71
+ result.warnings.push(`Failed to create backup: ${backupError instanceof Error ? backupError.message : 'Unknown error'}`);
72
+ }
73
+ }
74
+ // Step 4: Validate configuration structure
75
+ if (recoveryOptions.validateConfig && currentConfig) {
76
+ const validation = ConfigurationManager.validateConfiguration(currentConfig);
77
+ if (!validation.valid) {
78
+ categoryLogger.warn('Configuration validation failed', { errors: validation.errors });
79
+ result.errors.push(...validation.errors);
80
+ if (recoveryOptions.repairCorruption) {
81
+ currentConfig = await this.repairValidationErrors(currentConfig, validation.errors);
82
+ result.warnings.push('Configuration was repaired to fix validation errors');
83
+ }
84
+ }
85
+ }
86
+ // Step 5: Migrate configuration version if needed
87
+ if (recoveryOptions.migrateVersion && currentConfig) {
88
+ const migrationResult = await this.migrateConfiguration(currentConfig);
89
+ if (migrationResult.migrated) {
90
+ currentConfig = migrationResult.config;
91
+ result.warnings.push(`Configuration migrated from version ${migrationResult.fromVersion} to ${migrationResult.toVersion}`);
92
+ categoryLogger.info('Configuration migrated', migrationResult);
93
+ }
94
+ }
95
+ // Step 6: Final validation and save
96
+ if (currentConfig) {
97
+ try {
98
+ // Use the public migrateConfiguration method instead
99
+ const finalConfig = ConfigurationManager.migrateConfiguration(currentConfig);
100
+ await ConfigurationManager.save(finalConfig);
101
+ result.config = finalConfig;
102
+ result.success = true;
103
+ categoryLogger.info('Configuration recovery completed successfully');
104
+ }
105
+ catch (saveError) {
106
+ result.errors.push(`Failed to save recovered configuration: ${saveError instanceof Error ? saveError.message : 'Unknown error'}`);
107
+ }
108
+ }
109
+ // Step 7: Use defaults as last resort
110
+ if (!result.success && recoveryOptions.useDefaults) {
111
+ categoryLogger.warn('Using default configuration as last resort');
112
+ result.config = await this.createDefaultConfiguration();
113
+ result.success = true;
114
+ result.warnings.push('Used default configuration due to unrecoverable errors');
115
+ }
116
+ }
117
+ catch (error) {
118
+ categoryLogger.error('Configuration recovery failed', { error });
119
+ result.errors.push(`Recovery process failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
120
+ }
121
+ // Log recovery result
122
+ await this.logRecoveryAttempt(result);
123
+ return result;
124
+ }
125
+ /**
126
+ * Create automatic backup of configuration
127
+ */
128
+ static async createAutoBackup() {
129
+ try {
130
+ const config = await ConfigurationManager.load();
131
+ return await this.createBackup(config, 'auto');
132
+ }
133
+ catch (error) {
134
+ logger.warn('config-backup', 'Failed to create automatic backup', { error: error instanceof Error ? error.message : 'Unknown error' });
135
+ return null;
136
+ }
137
+ }
138
+ /**
139
+ * Create manual backup of configuration
140
+ */
141
+ static async createManualBackup() {
142
+ const config = await ConfigurationManager.load();
143
+ return await this.createBackup(config, 'manual');
144
+ }
145
+ /**
146
+ * Create backup with metadata
147
+ */
148
+ static async createBackup(config, source) {
149
+ await fs.mkdir(this.BACKUP_DIR, { recursive: true });
150
+ const timestamp = new Date();
151
+ const backupId = `${timestamp.toISOString().replace(/[:.]/g, '-')}-${source}`;
152
+ const backupFile = path.join(this.BACKUP_DIR, `config-${backupId}.json`);
153
+ const backup = {
154
+ timestamp,
155
+ version: config.version,
156
+ config,
157
+ source,
158
+ checksum: this.calculateChecksum(config)
159
+ };
160
+ await fs.writeFile(backupFile, JSON.stringify(backup, null, 2));
161
+ // Clean up old backups
162
+ await this.cleanupOldBackups();
163
+ return backupFile;
164
+ }
165
+ /**
166
+ * Restore configuration from backup
167
+ */
168
+ static async restoreFromBackup(backupFile) {
169
+ const result = {
170
+ success: false,
171
+ config: undefined,
172
+ errors: []
173
+ };
174
+ try {
175
+ const backupContent = await fs.readFile(backupFile, 'utf-8');
176
+ const backup = JSON.parse(backupContent);
177
+ // Validate backup integrity
178
+ const currentChecksum = this.calculateChecksum(backup.config);
179
+ if (currentChecksum !== backup.checksum) {
180
+ result.errors.push('Backup file integrity check failed');
181
+ return result;
182
+ }
183
+ // Validate configuration
184
+ const validation = ConfigurationManager.validateConfiguration(backup.config);
185
+ if (!validation.valid) {
186
+ result.errors.push(...validation.errors);
187
+ return result;
188
+ }
189
+ // Save restored configuration
190
+ await ConfigurationManager.save(backup.config);
191
+ result.config = backup.config;
192
+ result.success = true;
193
+ logger.info('config-recovery', 'Configuration restored from backup', {
194
+ backupFile,
195
+ backupTimestamp: backup.timestamp,
196
+ backupSource: backup.source
197
+ });
198
+ }
199
+ catch (error) {
200
+ result.errors.push(`Failed to restore backup: ${error instanceof Error ? error.message : 'Unknown error'}`);
201
+ }
202
+ return result;
203
+ }
204
+ /**
205
+ * List available backups
206
+ */
207
+ static async listBackups() {
208
+ try {
209
+ const backups = [];
210
+ const files = await fs.readdir(this.BACKUP_DIR);
211
+ for (const file of files) {
212
+ if (!file.startsWith('config-') || !file.endsWith('.json')) {
213
+ continue;
214
+ }
215
+ try {
216
+ const filePath = path.join(this.BACKUP_DIR, file);
217
+ const stats = await fs.stat(filePath);
218
+ const content = await fs.readFile(filePath, 'utf-8');
219
+ const backup = JSON.parse(content);
220
+ backups.push({
221
+ file: filePath,
222
+ timestamp: new Date(backup.timestamp),
223
+ version: backup.version,
224
+ source: backup.source,
225
+ size: stats.size
226
+ });
227
+ }
228
+ catch (error) {
229
+ // Skip invalid backup files
230
+ logger.warn('config-recovery', `Invalid backup file: ${file}`, { error: error instanceof Error ? error.message : 'Unknown error' });
231
+ }
232
+ }
233
+ return backups.sort((a, b) => b.timestamp.getTime() - a.timestamp.getTime());
234
+ }
235
+ catch (error) {
236
+ logger.error('config-recovery', 'Failed to list backups', { error });
237
+ return [];
238
+ }
239
+ }
240
+ /**
241
+ * Repair corrupted configuration content
242
+ */
243
+ static async repairCorruptedConfig(content) {
244
+ const result = {
245
+ success: false,
246
+ config: undefined,
247
+ repairs: []
248
+ };
249
+ try {
250
+ // Try to fix common JSON issues
251
+ let repairedContent = content;
252
+ // Fix trailing commas
253
+ repairedContent = repairedContent.replace(/,(\s*[}\]])/g, '$1');
254
+ result.repairs.push('Removed trailing commas');
255
+ // Fix missing quotes around keys
256
+ repairedContent = repairedContent.replace(/([{,]\s*)([a-zA-Z_][a-zA-Z0-9_]*)\s*:/g, '$1"$2":');
257
+ result.repairs.push('Added quotes around object keys');
258
+ // Fix single quotes to double quotes
259
+ repairedContent = repairedContent.replace(/'/g, '"');
260
+ result.repairs.push('Converted single quotes to double quotes');
261
+ // Try to parse repaired content
262
+ try {
263
+ result.config = JSON.parse(repairedContent);
264
+ result.success = true;
265
+ }
266
+ catch (parseError) {
267
+ // If still can't parse, try to extract valid parts
268
+ const extractResult = await this.extractValidConfigParts(content);
269
+ if (extractResult.success) {
270
+ result.config = extractResult.config;
271
+ result.success = true;
272
+ result.repairs.push(...extractResult.repairs);
273
+ }
274
+ }
275
+ }
276
+ catch (error) {
277
+ logger.error('config-recovery', 'Failed to repair corrupted config', { error });
278
+ }
279
+ return result;
280
+ }
281
+ /**
282
+ * Extract valid configuration parts from corrupted content
283
+ */
284
+ static async extractValidConfigParts(content) {
285
+ const result = {
286
+ success: false,
287
+ config: undefined,
288
+ repairs: []
289
+ };
290
+ try {
291
+ // Create minimal valid configuration
292
+ const defaultConfig = ConfigurationManager.createDefault();
293
+ const extractedConfig = { ...defaultConfig };
294
+ // Try to extract specific fields using regex
295
+ const patterns = {
296
+ version: /"version"\s*:\s*"([^"]+)"/,
297
+ targets: /"targets"\s*:\s*(\[[^\]]*\])/,
298
+ apiKeys: /"apiKeys"\s*:\s*(\{[^}]*\})/,
299
+ automation: /"automation"\s*:\s*(\{[^}]*\})/
300
+ };
301
+ for (const [field, pattern] of Object.entries(patterns)) {
302
+ const match = content.match(pattern);
303
+ if (match && match[1]) {
304
+ try {
305
+ if (field === 'version') {
306
+ extractedConfig.version = match[1];
307
+ }
308
+ else {
309
+ const parsed = JSON.parse(match[1]);
310
+ extractedConfig[field] = parsed;
311
+ }
312
+ result.repairs.push(`Extracted ${field} field`);
313
+ }
314
+ catch (error) {
315
+ // Skip invalid field
316
+ }
317
+ }
318
+ }
319
+ result.config = extractedConfig;
320
+ result.success = true;
321
+ result.repairs.push('Created configuration from extracted valid parts');
322
+ }
323
+ catch (error) {
324
+ logger.error('config-recovery', 'Failed to extract config parts', { error });
325
+ }
326
+ return result;
327
+ }
328
+ /**
329
+ * Repair configuration validation errors
330
+ */
331
+ static async repairValidationErrors(config, errors) {
332
+ const repairedConfig = { ...config };
333
+ const defaultConfig = ConfigurationManager.createDefault();
334
+ for (const error of errors) {
335
+ if (error.includes('version')) {
336
+ repairedConfig.version = defaultConfig.version;
337
+ }
338
+ else if (error.includes('targets')) {
339
+ repairedConfig.targets = defaultConfig.targets;
340
+ }
341
+ else if (error.includes('apiKeys')) {
342
+ repairedConfig.apiKeys = defaultConfig.apiKeys;
343
+ }
344
+ else if (error.includes('automation')) {
345
+ repairedConfig.automation = defaultConfig.automation;
346
+ }
347
+ }
348
+ return repairedConfig;
349
+ }
350
+ /**
351
+ * Migrate configuration to current version
352
+ */
353
+ static async migrateConfiguration(config) {
354
+ const currentVersion = '1.0.0';
355
+ const configVersion = config.version || '0.0.0';
356
+ if (configVersion === currentVersion) {
357
+ return {
358
+ migrated: false,
359
+ config,
360
+ toVersion: currentVersion
361
+ };
362
+ }
363
+ // Perform migration
364
+ const migratedConfig = ConfigurationManager.migrateConfiguration(config);
365
+ return {
366
+ migrated: true,
367
+ config: migratedConfig,
368
+ fromVersion: configVersion,
369
+ toVersion: currentVersion
370
+ };
371
+ }
372
+ /**
373
+ * Create default configuration with recovery metadata
374
+ */
375
+ static async createDefaultConfiguration() {
376
+ const config = ConfigurationManager.createDefault();
377
+ await ConfigurationManager.save(config);
378
+ logger.info('config-recovery', 'Created default configuration');
379
+ return config;
380
+ }
381
+ /**
382
+ * Check if configuration file exists
383
+ */
384
+ static async configFileExists() {
385
+ try {
386
+ await fs.access(this.CONFIG_FILE);
387
+ return true;
388
+ }
389
+ catch {
390
+ return false;
391
+ }
392
+ }
393
+ /**
394
+ * Calculate configuration checksum for integrity verification
395
+ */
396
+ static calculateChecksum(config) {
397
+ const { createHash } = require('crypto');
398
+ const configString = JSON.stringify(config, Object.keys(config).sort());
399
+ return createHash('sha256').update(configString).digest('hex');
400
+ }
401
+ /**
402
+ * Clean up old backup files
403
+ */
404
+ static async cleanupOldBackups() {
405
+ try {
406
+ const backups = await this.listBackups();
407
+ if (backups.length > this.MAX_BACKUPS) {
408
+ const toDelete = backups.slice(this.MAX_BACKUPS);
409
+ for (const backup of toDelete) {
410
+ try {
411
+ await fs.unlink(backup.file);
412
+ logger.debug('config-recovery', `Deleted old backup: ${path.basename(backup.file)}`);
413
+ }
414
+ catch (error) {
415
+ // Ignore individual deletion errors
416
+ }
417
+ }
418
+ }
419
+ }
420
+ catch (error) {
421
+ logger.warn('config-recovery', 'Failed to cleanup old backups', { error: error instanceof Error ? error.message : 'Unknown error' });
422
+ }
423
+ }
424
+ /**
425
+ * Log recovery attempt for debugging
426
+ */
427
+ static async logRecoveryAttempt(result) {
428
+ try {
429
+ await fs.mkdir(path.dirname(this.RECOVERY_LOG), { recursive: true });
430
+ const logEntry = {
431
+ timestamp: new Date().toISOString(),
432
+ success: result.success,
433
+ errors: result.errors,
434
+ warnings: result.warnings,
435
+ backupCreated: result.backupCreated
436
+ };
437
+ await fs.appendFile(this.RECOVERY_LOG, JSON.stringify(logEntry) + '\n');
438
+ }
439
+ catch (error) {
440
+ // Ignore logging errors
441
+ }
442
+ }
443
+ /**
444
+ * Validate configuration file integrity
445
+ */
446
+ static async validateIntegrity() {
447
+ const result = {
448
+ valid: false,
449
+ readable: false,
450
+ parseable: false,
451
+ structureValid: false,
452
+ errors: [],
453
+ suggestions: []
454
+ };
455
+ try {
456
+ // Check if file is readable
457
+ const content = await fs.readFile(this.CONFIG_FILE, 'utf-8');
458
+ result.readable = true;
459
+ // Check if content is parseable JSON
460
+ let config;
461
+ try {
462
+ config = JSON.parse(content);
463
+ result.parseable = true;
464
+ }
465
+ catch (parseError) {
466
+ result.errors.push(`Configuration file contains invalid JSON: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`);
467
+ result.suggestions.push('Run "base init" to recreate the configuration file');
468
+ return result;
469
+ }
470
+ // Check configuration structure
471
+ const validation = ConfigurationManager.validateConfiguration(config);
472
+ result.structureValid = validation.valid;
473
+ if (!validation.valid) {
474
+ result.errors.push(...validation.errors);
475
+ result.suggestions.push('Run "base config" to fix configuration issues');
476
+ }
477
+ result.valid = result.readable && result.parseable && result.structureValid;
478
+ }
479
+ catch (error) {
480
+ if (error.code === 'ENOENT') {
481
+ result.errors.push('Configuration file does not exist');
482
+ result.suggestions.push('Run "base init" to create a new configuration file');
483
+ }
484
+ else {
485
+ result.errors.push(`Cannot read configuration file: ${error instanceof Error ? error.message : 'Unknown error'}`);
486
+ result.suggestions.push('Check file permissions and try again');
487
+ }
488
+ }
489
+ return result;
490
+ }
491
+ /**
492
+ * Interactive recovery wizard
493
+ */
494
+ static async runRecoveryWizard() {
495
+ console.log(chalk.cyan('šŸ”§ BaseGuard Configuration Recovery Wizard'));
496
+ console.log(chalk.dim('This wizard will help you recover or repair your BaseGuard configuration.\n'));
497
+ // Step 1: Validate current configuration
498
+ console.log(chalk.cyan('Step 1: Validating current configuration...'));
499
+ const integrity = await this.validateIntegrity();
500
+ if (integrity.valid) {
501
+ UIComponents.showSuccessBox('Configuration is valid and healthy');
502
+ return;
503
+ }
504
+ // Step 2: Show issues
505
+ console.log(chalk.red('\nāŒ Configuration issues found:'));
506
+ integrity.errors.forEach(error => {
507
+ console.log(chalk.red(` • ${error}`));
508
+ });
509
+ console.log(chalk.cyan('\nšŸ’” Suggestions:'));
510
+ integrity.suggestions.forEach(suggestion => {
511
+ console.log(chalk.cyan(` • ${suggestion}`));
512
+ });
513
+ // Step 3: Offer recovery options
514
+ console.log(chalk.cyan('\nšŸ”„ Recovery Options:'));
515
+ console.log(chalk.cyan(' 1. Automatic repair (recommended)'));
516
+ console.log(chalk.cyan(' 2. Restore from backup'));
517
+ console.log(chalk.cyan(' 3. Create new configuration'));
518
+ console.log(chalk.cyan(' 4. Manual repair guidance'));
519
+ // For now, just run automatic repair
520
+ console.log(chalk.cyan('\nRunning automatic repair...'));
521
+ const recoveryResult = await this.recoverConfiguration({
522
+ createBackup: true,
523
+ validateConfig: true,
524
+ migrateVersion: true,
525
+ repairCorruption: true,
526
+ useDefaults: true
527
+ });
528
+ if (recoveryResult.success) {
529
+ UIComponents.showSuccessBox('Configuration recovered successfully');
530
+ if (recoveryResult.backupCreated) {
531
+ console.log(chalk.dim(`Backup created: ${recoveryResult.backupCreated}`));
532
+ }
533
+ if (recoveryResult.warnings.length > 0) {
534
+ console.log(chalk.yellow('\nāš ļø Warnings:'));
535
+ recoveryResult.warnings.forEach(warning => {
536
+ console.log(chalk.yellow(` • ${warning}`));
537
+ });
538
+ }
539
+ }
540
+ else {
541
+ console.log(chalk.red('\nāŒ Recovery failed:'));
542
+ recoveryResult.errors.forEach(error => {
543
+ console.log(chalk.red(` • ${error}`));
544
+ });
545
+ console.log(chalk.cyan('\nšŸ’” Next steps:'));
546
+ console.log(chalk.cyan(' • Run "base init" to create a fresh configuration'));
547
+ console.log(chalk.cyan(' • Check file permissions in your project directory'));
548
+ console.log(chalk.cyan(' • Contact support if the issue persists'));
549
+ }
550
+ }
551
+ }
552
+ //# sourceMappingURL=configuration-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configuration-recovery.js","sourceRoot":"","sources":["../../src/core/configuration-recovery.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,10 @@ export declare class ConfigurationManager {
46
46
  * Validate automation trigger
47
47
  */
48
48
  private static validateTrigger;
49
+ /**
50
+ * Validate coding agent selection
51
+ */
52
+ private static validateCodingAgent;
49
53
  /**
50
54
  * Parse browser target string (e.g., "chrome 100", "safari baseline")
51
55
  */
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/core/configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configuration.d.ts","sourceRoot":"","sources":["../../src/core/configuration.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGtE,eAAO,MAAM,sBAAsB;uBAM5B,aAAa,EAAE;sBAMf,aAAa,EAAE;oBAMf,aAAa,EAAE;CACrB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAE/E;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAE1D;;OAEG;WACU,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC;IAc3C;;OAEG;WACU,IAAI,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,aAAa;IAsBrC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa;IAM1D;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,aAAa;IAMvE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA2BjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IA6BrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAkBjC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAO9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAOlC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IA4BrE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAapE;;OAEG;IACH,MAAM,CAAC,mBAAmB,IAAI,UAAU,EAAE;IAI1C;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAavD;;OAEG;WACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IASvC;;OAEG;IACH,MAAM,CAAC,iBAAiB,IAAI,MAAM;IAIlC;;OAEG;WACU,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE;;OAEG;WACU,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYhE;;OAEG;WACU,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhE;;OAEG;WACU,uBAAuB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAM7E;;OAEG;WACU,gBAAgB,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBpG;;OAEG;WACU,gBAAgB,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAWjF;;OAEG;WACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAM/C;;OAEG;WACU,aAAa,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAWrF;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,GAAG,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAiF/E;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa;IAqCvD;;OAEG;WACU,uBAAuB,IAAI,OAAO,CAAC;QAC9C,MAAM,EAAE,aAAa,CAAC;QACtB,QAAQ,EAAE;YACR,eAAe,EAAE,OAAO,CAAC;YACzB,aAAa,EAAE,OAAO,CAAC;YACvB,eAAe,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;QACF,UAAU,EAAE;YACV,KAAK,EAAE,OAAO,CAAC;YACf,MAAM,EAAE,MAAM,EAAE,CAAC;SAClB,CAAC;KACH,CAAC;IAYF;;OAEG;WACU,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAcnD;;OAEG;WACU,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAerE"}