baseguard 1.0.1 → 1.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 (152) 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 +81 -61
  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 +14 -0
  88. package/dist/core/startup-optimizer.d.ts.map +1 -1
  89. package/dist/core/startup-optimizer.js +74 -3
  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 +653 -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 +85 -3
  140. package/src/core/system-error-handler.ts +17 -11
  141. package/src/git/github-manager.ts +11 -79
  142. package/src/parsers/react-parser.ts +2 -2
  143. package/src/parsers/svelte-parser.ts +13 -9
  144. package/src/parsers/vanilla-parser.ts +18 -14
  145. package/src/parsers/vue-parser.ts +20 -14
  146. package/src/types/index.ts +4 -0
  147. package/src/ui/help.ts +1 -1
  148. package/src/ui/prompts.ts +54 -61
  149. package/test-build.js +41 -0
  150. package/tests/e2e/git-integration.e2e.test.ts +1 -1
  151. package/tsconfig.json +0 -1
  152. package/vitest.config.ts +4 -2
@@ -0,0 +1,452 @@
1
+ import { promises as fs } from 'fs';
2
+ import { ErrorHandler, APIError, ErrorType } from '../core/error-handler.js';
3
+ import { logger } from '../core/debug-logger.js';
4
+ /**
5
+ * Gemini 2.5 Pro code fixer for local files and repositories
6
+ * Works with any code (GitHub or not, committed or uncommitted)
7
+ */
8
+ export class GeminiCodeFixer {
9
+ apiKey;
10
+ baseUrl = 'https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-pro:generateContent';
11
+ categoryLogger;
12
+ constructor(apiKey) {
13
+ this.apiKey = apiKey;
14
+ this.categoryLogger = logger.createCategoryLogger('gemini-code-fixer');
15
+ }
16
+ /**
17
+ * Generate a fix using Gemini 2.5 Pro with grounding
18
+ */
19
+ async generateFix(violation, analysis) {
20
+ const context = ErrorHandler.createContext('gemini_code_fix', {
21
+ feature: violation.feature,
22
+ file: violation.file,
23
+ browser: violation.browser
24
+ });
25
+ try {
26
+ this.categoryLogger.info('Generating code fix', {
27
+ feature: violation.feature,
28
+ file: violation.file,
29
+ strategy: analysis.fixStrategy
30
+ });
31
+ // Read the current file content
32
+ const fileContent = await this.readFileContent(violation.file);
33
+ // Build the fix prompt with file context
34
+ const prompt = this.buildFixPrompt(violation, analysis, fileContent);
35
+ const response = await ErrorHandler.withRetry(() => this.makeApiCall(prompt), {
36
+ maxRetries: 2,
37
+ retryableErrors: [ErrorType.NETWORK, ErrorType.TIMEOUT, ErrorType.RATE_LIMIT, ErrorType.SERVER_ERROR]
38
+ });
39
+ const data = await response.json();
40
+ // Validate response structure
41
+ ErrorHandler.validateAPIResponse(data, ['candidates']);
42
+ if (!data.candidates || data.candidates.length === 0) {
43
+ throw new APIError('No fix candidates returned from Gemini API', ErrorType.VALIDATION, {
44
+ suggestions: [
45
+ 'Try rephrasing the fix request',
46
+ 'Check if the code is valid',
47
+ 'Try again with a different approach'
48
+ ],
49
+ context
50
+ });
51
+ }
52
+ const candidate = data.candidates[0];
53
+ const content = candidate.content?.parts?.[0]?.text;
54
+ if (!content) {
55
+ throw new APIError('Empty fix content returned from Gemini API', ErrorType.VALIDATION, {
56
+ suggestions: [
57
+ 'Try the fix generation again',
58
+ 'Check if the violation data is complete',
59
+ 'Verify API key permissions'
60
+ ],
61
+ context
62
+ });
63
+ }
64
+ // Parse the fix response and generate proper diff
65
+ const fix = await this.parseFixResponse(content, violation, analysis, fileContent);
66
+ this.categoryLogger.info('Code fix generated successfully', {
67
+ feature: violation.feature,
68
+ confidence: fix.confidence,
69
+ hasPreview: fix.preview.length > 0
70
+ });
71
+ return fix;
72
+ }
73
+ catch (error) {
74
+ const apiError = ErrorHandler.handleAPIError(error, context);
75
+ this.categoryLogger.error('Code fix generation failed', { error: apiError });
76
+ throw apiError;
77
+ }
78
+ }
79
+ /**
80
+ * Make API call to Gemini 2.5 Pro with grounding
81
+ */
82
+ async makeApiCall(prompt) {
83
+ const response = await fetch(this.baseUrl, {
84
+ method: 'POST',
85
+ headers: {
86
+ 'x-goog-api-key': this.apiKey,
87
+ 'Content-Type': 'application/json'
88
+ },
89
+ body: JSON.stringify({
90
+ contents: [{
91
+ parts: [{ text: prompt }]
92
+ }],
93
+ tools: [{
94
+ googleSearchRetrieval: {
95
+ dynamicRetrievalConfig: {
96
+ mode: 'MODE_DYNAMIC',
97
+ dynamicThreshold: 0.7
98
+ }
99
+ }
100
+ }],
101
+ generationConfig: {
102
+ temperature: 0.1,
103
+ topK: 40,
104
+ topP: 0.95,
105
+ maxOutputTokens: 4096,
106
+ candidateCount: 1
107
+ }
108
+ })
109
+ });
110
+ if (!response.ok) {
111
+ const error = new Error(`HTTP ${response.status}: ${response.statusText}`);
112
+ error.response = response;
113
+ throw error;
114
+ }
115
+ return response;
116
+ }
117
+ /**
118
+ * Build comprehensive fix prompt for Gemini 2.5 Pro
119
+ */
120
+ buildFixPrompt(violation, analysis, fileContent) {
121
+ return `You are an expert web developer tasked with fixing browser compatibility issues. Generate a precise code fix with proper diff format.
122
+
123
+ ## COMPATIBILITY ISSUE
124
+ - **Feature**: ${violation.feature}
125
+ - **File**: ${violation.file} (line ${violation.line})
126
+ - **Unsupported Browser**: ${violation.browser} ${violation.required}
127
+ - **Baseline Status**: ${violation.baselineStatus}
128
+ - **Current Code Context**: ${violation.context}
129
+
130
+ ## ANALYSIS INSIGHTS
131
+ - **Fix Strategy**: ${analysis.fixStrategy}
132
+ - **User Impact**: ${analysis.userImpact}
133
+ - **Market Share Affected**: ${(analysis.marketShare * 100).toFixed(1)}%
134
+ - **Best Practices**: ${analysis.bestPractices.join(', ')}
135
+
136
+ ## CURRENT FILE CONTENT
137
+ \`\`\`${this.getFileExtension(violation.file)}
138
+ ${fileContent}
139
+ \`\`\`
140
+
141
+ ## REQUIREMENTS
142
+ 1. **Fix the compatibility issue** using ${analysis.fixStrategy}
143
+ 2. **Preserve all existing functionality** - no breaking changes
144
+ 3. **Add proper fallbacks** for ${violation.browser} ${violation.required}
145
+ 4. **Follow best practices**: ${analysis.bestPractices.join(', ')}
146
+ 5. **Generate a unified diff** showing exactly what changes to make
147
+ 6. **Provide clear explanation** of the fix approach
148
+
149
+ ## OUTPUT FORMAT
150
+ Please provide your response in this exact format:
151
+
152
+ ### EXPLANATION
153
+ [Explain the fix approach and why it works]
154
+
155
+ ### DIFF
156
+ \`\`\`diff
157
+ --- a/${violation.file}
158
+ +++ b/${violation.file}
159
+ @@ -[start_line],[num_lines] +[start_line],[num_lines] @@
160
+ [unified diff content showing the exact changes]
161
+ \`\`\`
162
+
163
+ ### PREVIEW
164
+ \`\`\`${this.getFileExtension(violation.file)}
165
+ [Show the key changed sections with context]
166
+ \`\`\`
167
+
168
+ ### TESTING
169
+ [Suggest how to test the fix works in ${violation.browser} ${violation.required}]
170
+
171
+ Focus on creating a production-ready fix that maintains compatibility across all browsers while adding proper support for ${violation.browser} ${violation.required}.`;
172
+ }
173
+ /**
174
+ * Read file content with error handling
175
+ */
176
+ async readFileContent(filePath) {
177
+ try {
178
+ return await fs.readFile(filePath, 'utf-8');
179
+ }
180
+ catch (error) {
181
+ this.categoryLogger.warn('Could not read file content', {
182
+ file: filePath,
183
+ error: error instanceof Error ? error.message : 'Unknown error'
184
+ });
185
+ // Return empty content if file can't be read
186
+ return `// File content could not be read: ${filePath}`;
187
+ }
188
+ }
189
+ /**
190
+ * Get file extension for syntax highlighting
191
+ */
192
+ getFileExtension(filePath) {
193
+ const ext = filePath.split('.').pop()?.toLowerCase();
194
+ const extensionMap = {
195
+ 'js': 'javascript',
196
+ 'jsx': 'javascript',
197
+ 'ts': 'typescript',
198
+ 'tsx': 'typescript',
199
+ 'vue': 'vue',
200
+ 'svelte': 'svelte',
201
+ 'css': 'css',
202
+ 'scss': 'scss',
203
+ 'sass': 'sass',
204
+ 'html': 'html',
205
+ 'htm': 'html'
206
+ };
207
+ return extensionMap[ext || ''] || 'text';
208
+ }
209
+ /**
210
+ * Parse Gemini's fix response and create Fix object
211
+ */
212
+ async parseFixResponse(content, violation, analysis, originalContent) {
213
+ try {
214
+ // Extract sections from the response
215
+ const explanation = this.extractSection(content, 'EXPLANATION');
216
+ const diffContent = this.extractSection(content, 'DIFF');
217
+ const preview = this.extractSection(content, 'PREVIEW');
218
+ const testing = this.extractSection(content, 'TESTING');
219
+ // Clean up the diff content
220
+ const cleanDiff = this.cleanDiffContent(diffContent);
221
+ // Generate a human-readable preview if not provided
222
+ const finalPreview = preview || this.generatePreviewFromDiff(cleanDiff, originalContent);
223
+ // Calculate confidence based on response quality
224
+ const confidence = this.calculateFixConfidence(content, diffContent);
225
+ // Create comprehensive explanation
226
+ const fullExplanation = this.buildFullExplanation(violation, analysis, explanation, testing);
227
+ return {
228
+ violation,
229
+ analysis,
230
+ patch: cleanDiff,
231
+ explanation: fullExplanation,
232
+ filePath: violation.file,
233
+ preview: finalPreview,
234
+ confidence,
235
+ testable: true
236
+ };
237
+ }
238
+ catch (error) {
239
+ this.categoryLogger.error('Failed to parse fix response', { error });
240
+ // Return a basic fix with the raw content
241
+ return {
242
+ violation,
243
+ analysis,
244
+ patch: this.generateBasicDiff(violation.file, content),
245
+ explanation: `Fix generated for ${violation.feature} compatibility issue.\n\n${content}`,
246
+ filePath: violation.file,
247
+ preview: content.substring(0, 500) + (content.length > 500 ? '...' : ''),
248
+ confidence: 0.6,
249
+ testable: true
250
+ };
251
+ }
252
+ }
253
+ /**
254
+ * Extract a specific section from the response
255
+ */
256
+ extractSection(content, sectionName) {
257
+ const regex = new RegExp(`### ${sectionName}\\s*\\n([\\s\\S]*?)(?=\\n### |$)`, 'i');
258
+ const match = content.match(regex);
259
+ if (match && match[1]) {
260
+ return match[1].trim();
261
+ }
262
+ return '';
263
+ }
264
+ /**
265
+ * Clean and validate diff content
266
+ */
267
+ cleanDiffContent(diffContent) {
268
+ if (!diffContent) {
269
+ return '';
270
+ }
271
+ // Remove code block markers if present
272
+ let cleaned = diffContent.replace(/^```diff\\n|```$/gm, '').trim();
273
+ // Ensure it starts with proper diff headers
274
+ if (!cleaned.startsWith('---') && !cleaned.startsWith('@@')) {
275
+ // If it's just the diff content without headers, add basic headers
276
+ cleaned = `--- a/file\n+++ b/file\n${cleaned}`;
277
+ }
278
+ return cleaned;
279
+ }
280
+ /**
281
+ * Generate preview from diff content
282
+ */
283
+ generatePreviewFromDiff(diffContent, originalContent) {
284
+ if (!diffContent) {
285
+ return 'No preview available';
286
+ }
287
+ try {
288
+ // Extract added lines from diff
289
+ const addedLines = diffContent
290
+ .split('\n')
291
+ .filter(line => line.startsWith('+') && !line.startsWith('+++'))
292
+ .map(line => line.substring(1))
293
+ .join('\n');
294
+ if (addedLines) {
295
+ return `Changes to be applied:\n\n${addedLines}`;
296
+ }
297
+ }
298
+ catch (error) {
299
+ // Fallback to showing first part of diff
300
+ }
301
+ return diffContent.substring(0, 300) + (diffContent.length > 300 ? '...' : '');
302
+ }
303
+ /**
304
+ * Calculate confidence score based on response quality
305
+ */
306
+ calculateFixConfidence(content, diffContent) {
307
+ let confidence = 0.5; // Base confidence
308
+ // Check if response has proper structure
309
+ if (content.includes('### EXPLANATION'))
310
+ confidence += 0.1;
311
+ if (content.includes('### DIFF'))
312
+ confidence += 0.1;
313
+ if (content.includes('### PREVIEW'))
314
+ confidence += 0.1;
315
+ if (content.includes('### TESTING'))
316
+ confidence += 0.1;
317
+ // Check diff quality
318
+ if (diffContent && diffContent.includes('@@'))
319
+ confidence += 0.1;
320
+ if (diffContent && (diffContent.includes('+') || diffContent.includes('-')))
321
+ confidence += 0.1;
322
+ return Math.min(confidence, 0.9); // Cap at 0.9
323
+ }
324
+ /**
325
+ * Build comprehensive explanation
326
+ */
327
+ buildFullExplanation(violation, analysis, explanation, testing) {
328
+ let fullExplanation = `Fixed ${violation.feature} compatibility issue in ${violation.file}\n\n`;
329
+ if (explanation) {
330
+ fullExplanation += `## Fix Approach\n${explanation}\n\n`;
331
+ }
332
+ fullExplanation += `## Strategy Applied\n${analysis.fixStrategy}\n\n`;
333
+ fullExplanation += `## Browser Support\nThis fix ensures compatibility with ${violation.browser} ${violation.required} and newer versions.\n\n`;
334
+ if (testing) {
335
+ fullExplanation += `## Testing\n${testing}\n\n`;
336
+ }
337
+ fullExplanation += `## Best Practices Applied\n${analysis.bestPractices.map(practice => `• ${practice}`).join('\n')}`;
338
+ return fullExplanation;
339
+ }
340
+ /**
341
+ * Generate basic diff as fallback
342
+ */
343
+ generateBasicDiff(filePath, content) {
344
+ return `--- a/${filePath}
345
+ +++ b/${filePath}
346
+ @@ -1,1 +1,1 @@
347
+ -// Original code (manual review required)
348
+ +// Fixed code: ${content.substring(0, 100)}${content.length > 100 ? '...' : ''}
349
+
350
+ # Manual fix required - please review the generated content above
351
+ # and apply the appropriate changes to your code.`;
352
+ }
353
+ /**
354
+ * Test API connectivity
355
+ */
356
+ async testConnection() {
357
+ try {
358
+ const testPrompt = 'Generate a simple "Hello, World!" comment in JavaScript.';
359
+ const response = await this.makeApiCall(testPrompt);
360
+ const data = await response.json();
361
+ if (data.candidates && data.candidates.length > 0) {
362
+ return { success: true };
363
+ }
364
+ else {
365
+ return {
366
+ success: false,
367
+ error: 'API responded but returned no content',
368
+ errorType: ErrorType.VALIDATION
369
+ };
370
+ }
371
+ }
372
+ catch (error) {
373
+ const apiError = ErrorHandler.handleAPIError(error);
374
+ return {
375
+ success: false,
376
+ error: apiError.message,
377
+ errorType: apiError.type
378
+ };
379
+ }
380
+ }
381
+ /**
382
+ * Validate API key format
383
+ */
384
+ static validateApiKey(apiKey) {
385
+ // Gemini API keys typically start with 'AIza' and are 39+ characters long
386
+ return /^AIza[A-Za-z0-9_-]{35,}$/.test(apiKey) || apiKey.length >= 20;
387
+ }
388
+ /**
389
+ * Generate multiple fix options for complex issues
390
+ */
391
+ async generateFixOptions(violation, analysis) {
392
+ const fixes = [];
393
+ try {
394
+ // Generate primary fix
395
+ const primaryFix = await this.generateFix(violation, analysis);
396
+ fixes.push(primaryFix);
397
+ // Generate alternative approaches if confidence is low
398
+ if (primaryFix.confidence < 0.7) {
399
+ this.categoryLogger.info('Generating alternative fix approaches', {
400
+ feature: violation.feature,
401
+ primaryConfidence: primaryFix.confidence
402
+ });
403
+ const alternativeFix = await this.generateAlternativeFix(violation, analysis);
404
+ if (alternativeFix) {
405
+ fixes.push(alternativeFix);
406
+ }
407
+ }
408
+ }
409
+ catch (error) {
410
+ this.categoryLogger.error('Failed to generate fix options', { error });
411
+ throw error;
412
+ }
413
+ return fixes;
414
+ }
415
+ /**
416
+ * Generate alternative fix approach
417
+ */
418
+ async generateAlternativeFix(violation, analysis) {
419
+ try {
420
+ const fileContent = await this.readFileContent(violation.file);
421
+ // Build alternative prompt with different strategy
422
+ const alternativePrompt = this.buildAlternativeFixPrompt(violation, analysis, fileContent);
423
+ const response = await this.makeApiCall(alternativePrompt);
424
+ const data = await response.json();
425
+ if (data.candidates && data.candidates.length > 0) {
426
+ const content = data.candidates[0].content?.parts?.[0]?.text;
427
+ if (content) {
428
+ const fix = await this.parseFixResponse(content, violation, analysis, fileContent);
429
+ fix.explanation = `Alternative approach: ${fix.explanation}`;
430
+ return fix;
431
+ }
432
+ }
433
+ }
434
+ catch (error) {
435
+ this.categoryLogger.warn('Failed to generate alternative fix', { error });
436
+ }
437
+ return null;
438
+ }
439
+ /**
440
+ * Build alternative fix prompt with different strategy
441
+ */
442
+ buildAlternativeFixPrompt(violation, analysis, fileContent) {
443
+ const alternativeStrategies = {
444
+ 'progressive enhancement with @supports': 'feature detection with JavaScript',
445
+ 'feature detection with polyfills': 'progressive enhancement with @supports',
446
+ 'graceful degradation': 'polyfill-based approach'
447
+ };
448
+ const altStrategy = alternativeStrategies[analysis.fixStrategy] || 'alternative progressive enhancement';
449
+ return this.buildFixPrompt(violation, { ...analysis, fixStrategy: altStrategy }, fileContent);
450
+ }
451
+ }
452
+ //# sourceMappingURL=gemini-code-fixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini-code-fixer.js","sourceRoot":"","sources":["../../src/ai/gemini-code-fixer.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { Violation, Analysis, Fix } from '../types/index.js';
2
2
  import { ErrorType } from '../core/error-handler.js';
3
3
  /**
4
4
  * Jules AI implementer for autonomous code fixing
5
+ * Note: Jules requires GitHub repositories and cannot work with local files
5
6
  */
6
7
  export declare class JulesImplementer {
7
8
  private apiKey;
@@ -58,13 +59,13 @@ export declare class JulesImplementer {
58
59
  errorType?: ErrorType;
59
60
  }>;
60
61
  /**
61
- * Setup Jules GitHub integration
62
+ * Get repository source identifier (GitHub integration is handled on Jules dashboard)
62
63
  */
63
- setupGitHubIntegration(): Promise<string>;
64
+ getRepositorySource(): Promise<string>;
64
65
  /**
65
- * Check if GitHub integration is set up
66
+ * Check if repository information is available (GitHub integration is handled on Jules dashboard)
66
67
  */
67
- isGitHubIntegrationSetup(): Promise<boolean>;
68
+ isRepositoryDetected(): Promise<boolean>;
68
69
  /**
69
70
  * Verify GitHub connection and permissions
70
71
  */
@@ -1 +1 @@
1
- {"version":3,"file":"jules-implementer.d.ts","sourceRoot":"","sources":["../../src/ai/jules-implementer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAA+B,MAAM,mBAAmB,CAAC;AAG/F,OAAO,EAA0B,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG7E;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,MAAM;IAM1B;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA0C9F;;OAEG;YACW,aAAa;IAqC3B;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;YACW,aAAa;IAiC3B;;OAEG;YACW,UAAU;IAgCxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC;IA4B5F;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/C;;OAEG;IACG,wBAAwB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlD;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhD;;OAEG;IACH,iBAAiB,IAAI;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAIlE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C;;OAEG;IACG,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,GAAG,EAAE,GAAG,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IA+B9J;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;CAG5B"}
1
+ {"version":3,"file":"jules-implementer.d.ts","sourceRoot":"","sources":["../../src/ai/jules-implementer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAA+B,MAAM,mBAAmB,CAAC;AAG/F,OAAO,EAA0B,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAG7E;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,UAAU,CAAa;gBAEnB,MAAM,EAAE,MAAM;IAM1B;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IA0C9F;;OAEG;YACW,aAAa;IAqC3B;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;YACW,aAAa;IAiC3B;;OAEG;YACW,UAAU;IAgCxB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAQ9B;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE,CAAC;IA4B5F;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C;;OAEG;IACG,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAI9C;;OAEG;IACG,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhD;;OAEG;IACH,iBAAiB,IAAI;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAIlE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAI5C;;OAEG;IACG,qBAAqB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAC;QAAC,MAAM,EAAE;YAAE,GAAG,EAAE,GAAG,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,CAAC;IA+B9J;;OAEG;IACG,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C;;OAEG;IACG,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;OAEG;IACH,eAAe,IAAI,MAAM,EAAE;CAG5B"}
@@ -4,6 +4,7 @@ import { ErrorHandler, APIError, ErrorType } from '../core/error-handler.js';
4
4
  import chalk from 'chalk';
5
5
  /**
6
6
  * Jules AI implementer for autonomous code fixing
7
+ * Note: Jules requires GitHub repositories and cannot work with local files
7
8
  */
8
9
  export class JulesImplementer {
9
10
  apiKey;
@@ -295,15 +296,15 @@ Please fix this compatibility issue while maintaining the existing functionality
295
296
  }
296
297
  }
297
298
  /**
298
- * Setup Jules GitHub integration
299
+ * Get repository source identifier (GitHub integration is handled on Jules dashboard)
299
300
  */
300
- async setupGitHubIntegration() {
301
- return await this.githubManager.setupJulesGitHubIntegration();
301
+ async getRepositorySource() {
302
+ return await this.githubManager.getSourceIdentifier();
302
303
  }
303
304
  /**
304
- * Check if GitHub integration is set up
305
+ * Check if repository information is available (GitHub integration is handled on Jules dashboard)
305
306
  */
306
- async isGitHubIntegrationSetup() {
307
+ async isRepositoryDetected() {
307
308
  return await this.githubManager.isJulesIntegrationSetup();
308
309
  }
309
310
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"jules-implementer.js","sourceRoot":"","sources":["../../src/ai/jules-implementer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jules-implementer.js","sourceRoot":"","sources":["../../src/ai/jules-implementer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import type { Violation, Analysis, Fix, Configuration } from '../types/index.js';
2
+ /**
3
+ * Unified code fixer that can use either Jules or Gemini based on configuration
4
+ */
5
+ export declare class UnifiedCodeFixer {
6
+ private config;
7
+ private julesImplementer?;
8
+ private geminiCodeFixer?;
9
+ private categoryLogger;
10
+ constructor(config: Configuration);
11
+ /**
12
+ * Initialize coding agents based on available API keys
13
+ */
14
+ private initializeAgents;
15
+ /**
16
+ * Generate a fix using the configured primary agent with fallback
17
+ */
18
+ generateFix(violation: Violation, analysis: Analysis): Promise<Fix>;
19
+ /**
20
+ * Generate fix with specific agent
21
+ */
22
+ private generateFixWithAgent;
23
+ /**
24
+ * Generate fix using Jules
25
+ */
26
+ private generateFixWithJules;
27
+ /**
28
+ * Generate fix using Gemini
29
+ */
30
+ private generateFixWithGemini;
31
+ /**
32
+ * Generate multiple fix options using available agents
33
+ */
34
+ generateFixOptions(violation: Violation, analysis: Analysis): Promise<Fix[]>;
35
+ /**
36
+ * Get agent capabilities and status
37
+ */
38
+ getAgentStatus(): Promise<{
39
+ jules: {
40
+ available: boolean;
41
+ configured: boolean;
42
+ repoDetected?: boolean;
43
+ error?: string;
44
+ };
45
+ gemini: {
46
+ available: boolean;
47
+ configured: boolean;
48
+ error?: string;
49
+ };
50
+ primary: string;
51
+ fallback: string;
52
+ }>;
53
+ /**
54
+ * Show agent comparison and recommendations
55
+ */
56
+ showAgentComparison(): void;
57
+ /**
58
+ * Switch primary coding agent
59
+ */
60
+ switchPrimaryAgent(agent: 'jules' | 'gemini'): Promise<void>;
61
+ /**
62
+ * Get recommended agent based on current context
63
+ */
64
+ getRecommendedAgent(): Promise<{
65
+ agent: 'jules' | 'gemini';
66
+ reason: string;
67
+ }>;
68
+ }
69
+ //# sourceMappingURL=unified-code-fixer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unified-code-fixer.d.ts","sourceRoot":"","sources":["../../src/ai/unified-code-fixer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAOjF;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,cAAc,CAAiD;gBAE3D,MAAM,EAAE,aAAa;IAQjC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAYxB;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC;IAyDzE;;OAEG;YACW,oBAAoB;IAiBlC;;OAEG;YACW,oBAAoB;IAkClC;;OAEG;YACW,qBAAqB;IAkBnC;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAwClF;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,KAAK,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,OAAO,CAAC;YAAC,YAAY,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QAC3F,MAAM,EAAE;YAAE,SAAS,EAAE,OAAO,CAAC;YAAC,UAAU,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;QACpE,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAyCF;;OAEG;IACH,mBAAmB,IAAI,IAAI;IA0B3B;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlE;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,GAAG,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CA0BpF"}