fix-tests-ai 0.1.0 → 0.1.1
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.
- package/README.md +70 -2
- package/dist/cli.js +11 -6
- package/dist/cli.js.map +1 -1
- package/dist/fixer.d.ts +1 -1
- package/dist/fixer.d.ts.map +1 -1
- package/dist/fixer.js +62 -8
- package/dist/fixer.js.map +1 -1
- package/dist/interactive.d.ts +31 -0
- package/dist/interactive.d.ts.map +1 -0
- package/dist/interactive.js +192 -0
- package/dist/interactive.js.map +1 -0
- package/dist/types.d.ts +9 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -52,9 +52,12 @@ That's it! 🎉
|
|
|
52
52
|
### Basic Usage
|
|
53
53
|
|
|
54
54
|
```bash
|
|
55
|
-
# Fix failing tests
|
|
55
|
+
# Fix failing tests automatically
|
|
56
56
|
fix-tests
|
|
57
57
|
|
|
58
|
+
# Interactive mode - review each fix before applying (recommended)
|
|
59
|
+
fix-tests --interactive
|
|
60
|
+
|
|
58
61
|
# Preview changes without applying
|
|
59
62
|
fix-tests --dry-run
|
|
60
63
|
|
|
@@ -119,6 +122,71 @@ an extra 1: return a + b + 1; should be: return a + b;
|
|
|
119
122
|
═══════════════════════════════════════════════════════════════
|
|
120
123
|
```
|
|
121
124
|
|
|
125
|
+
## Interactive Mode 🎯
|
|
126
|
+
|
|
127
|
+
Interactive mode gives you full control over which fixes to apply. Review Claude's analysis, see a colored diff, and approve or reject each fix before it's applied.
|
|
128
|
+
|
|
129
|
+
### Usage
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
fix-tests --interactive
|
|
133
|
+
# or
|
|
134
|
+
fix-tests -i
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Interactive Workflow
|
|
138
|
+
|
|
139
|
+
When a fix is generated, you'll see:
|
|
140
|
+
- 🤖 **Claude's Analysis** - Explanation of the bug and fix
|
|
141
|
+
- 📊 **Confidence Level** - High/Medium/Low confidence rating
|
|
142
|
+
- 📝 **Colored Diff** - Preview of changes (red = removed, green = added)
|
|
143
|
+
|
|
144
|
+
Then choose:
|
|
145
|
+
- `[A]pply` - Apply this fix and continue
|
|
146
|
+
- `[R]eject` - Skip this fix and exit
|
|
147
|
+
- `[S]kip` - Skip to next failure (if multiple)
|
|
148
|
+
- `[V]iew` - View full diff with context
|
|
149
|
+
- `[Q]uit` - Exit without applying
|
|
150
|
+
|
|
151
|
+
### Example Interactive Session
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
$ fix-tests --interactive
|
|
155
|
+
|
|
156
|
+
🔧 Fixing: should add two numbers
|
|
157
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
158
|
+
|
|
159
|
+
🤖 Claude's Analysis:
|
|
160
|
+
The add function has an off-by-one error. It's adding an extra 1.
|
|
161
|
+
|
|
162
|
+
Confidence: high
|
|
163
|
+
File to fix: calculator.js
|
|
164
|
+
|
|
165
|
+
📝 Proposed Changes:
|
|
166
|
+
────────────────────────────────────────────────────────────
|
|
167
|
+
- 6 | return a + b + 1;
|
|
168
|
+
+ 6 | return a + b;
|
|
169
|
+
────────────────────────────────────────────────────────────
|
|
170
|
+
|
|
171
|
+
What would you like to do?
|
|
172
|
+
[A]pply this fix
|
|
173
|
+
[R]eject this fix
|
|
174
|
+
[S]kip to next failure
|
|
175
|
+
[V]iew full diff
|
|
176
|
+
[Q]uit
|
|
177
|
+
|
|
178
|
+
Your choice: a
|
|
179
|
+
|
|
180
|
+
✓ Applying fix...
|
|
181
|
+
✅ Applied fix to calculator.js
|
|
182
|
+
|
|
183
|
+
🔄 Re-running tests to verify fix...
|
|
184
|
+
|
|
185
|
+
═══════════════════════════════════════════════════════════════
|
|
186
|
+
✅ SUCCESS! All tests now passing!
|
|
187
|
+
═══════════════════════════════════════════════════════════════
|
|
188
|
+
```
|
|
189
|
+
|
|
122
190
|
## How It Works
|
|
123
191
|
|
|
124
192
|
1. **Detects** your test runner from `package.json`
|
|
@@ -215,8 +283,8 @@ fix-tests
|
|
|
215
283
|
|
|
216
284
|
## Roadmap
|
|
217
285
|
|
|
286
|
+
- [x] Interactive mode (approve each fix) ✨ **NEW in v0.1.0**
|
|
218
287
|
- [ ] Fix multiple tests in one run
|
|
219
|
-
- [ ] Interactive mode (approve each fix)
|
|
220
288
|
- [ ] Better diff visualization
|
|
221
289
|
- [ ] Support more test runners
|
|
222
290
|
- [ ] Rollback on failed fix
|
package/dist/cli.js
CHANGED
|
@@ -144,6 +144,7 @@ async function setupApiKey() {
|
|
|
144
144
|
async function cli() {
|
|
145
145
|
const args = process.argv.slice(2);
|
|
146
146
|
const dryRun = args.includes('--dry-run') || args.includes('-d');
|
|
147
|
+
const interactive = args.includes('--interactive') || args.includes('-i');
|
|
147
148
|
const help = args.includes('--help') || args.includes('-h');
|
|
148
149
|
const setup = args.includes('--setup') || args.includes('-s');
|
|
149
150
|
const check = args.includes('--check') || args.includes('-c');
|
|
@@ -159,10 +160,11 @@ USAGE:
|
|
|
159
160
|
fix-tests [options]
|
|
160
161
|
|
|
161
162
|
OPTIONS:
|
|
162
|
-
--
|
|
163
|
-
--
|
|
164
|
-
--
|
|
165
|
-
--
|
|
163
|
+
--interactive, -i Review and approve each fix before applying
|
|
164
|
+
--dry-run, -d Preview changes without applying them
|
|
165
|
+
--setup, -s Show API key setup instructions
|
|
166
|
+
--check, -c Run diagnostics to check API key and env files
|
|
167
|
+
--help, -h Show this help message
|
|
166
168
|
|
|
167
169
|
EXAMPLES:
|
|
168
170
|
# First time setup
|
|
@@ -171,9 +173,12 @@ EXAMPLES:
|
|
|
171
173
|
# Run diagnostics
|
|
172
174
|
fix-tests --check
|
|
173
175
|
|
|
174
|
-
# Fix tests
|
|
176
|
+
# Fix tests automatically
|
|
175
177
|
fix-tests
|
|
176
178
|
|
|
179
|
+
# Review each fix before applying (recommended)
|
|
180
|
+
fix-tests --interactive
|
|
181
|
+
|
|
177
182
|
# Preview fixes without applying
|
|
178
183
|
fix-tests --dry-run
|
|
179
184
|
|
|
@@ -253,7 +258,7 @@ GITHUB:
|
|
|
253
258
|
console.log('━'.repeat(60));
|
|
254
259
|
console.log(`🔧 Fixing: ${failure.testName}`);
|
|
255
260
|
console.log('━'.repeat(60) + '\n');
|
|
256
|
-
const fixResult = await (0, fixer_1.fixTestFailure)(failure, cwd, dryRun);
|
|
261
|
+
const fixResult = await (0, fixer_1.fixTestFailure)(failure, cwd, dryRun, interactive);
|
|
257
262
|
if (!fixResult) {
|
|
258
263
|
console.log('\n❌ Could not generate a fix automatically.');
|
|
259
264
|
console.log(' This test may require manual intervention.\n');
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/fixer.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TestFailure, FixResult } from './types';
|
|
2
|
-
export declare function fixTestFailure(failure: TestFailure, cwd: string, dryRun?: boolean): Promise<FixResult | null>;
|
|
2
|
+
export declare function fixTestFailure(failure: TestFailure, cwd: string, dryRun?: boolean, interactive?: boolean): Promise<FixResult | null>;
|
|
3
3
|
//# sourceMappingURL=fixer.d.ts.map
|
package/dist/fixer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixer.d.ts","sourceRoot":"","sources":["../src/fixer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAC;AAEjE,wBAAsB,cAAc,CAChC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAe,
|
|
1
|
+
{"version":3,"file":"fixer.d.ts","sourceRoot":"","sources":["../src/fixer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAkB,MAAM,SAAS,CAAC;AAEjE,wBAAsB,cAAc,CAChC,OAAO,EAAE,WAAW,EACpB,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,OAAe,EACvB,WAAW,GAAE,OAAe,GAC7B,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAyF3B"}
|
package/dist/fixer.js
CHANGED
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.fixTestFailure = fixTestFailure;
|
|
4
37
|
const promises_1 = require("fs/promises");
|
|
5
38
|
const fs_1 = require("fs");
|
|
6
39
|
const path_1 = require("path");
|
|
7
|
-
async function fixTestFailure(failure, cwd, dryRun = false) {
|
|
40
|
+
async function fixTestFailure(failure, cwd, dryRun = false, interactive = false) {
|
|
8
41
|
console.log(`\n🔍 Analyzing: ${failure.testName}`);
|
|
9
42
|
console.log(`📄 Test file: ${failure.testFile}`);
|
|
10
43
|
try {
|
|
@@ -41,6 +74,33 @@ async function fixTestFailure(failure, cwd, dryRun = false) {
|
|
|
41
74
|
const originalCode = (0, fs_1.existsSync)(fileToFixPath)
|
|
42
75
|
? await (0, promises_1.readFile)(fileToFixPath, 'utf-8')
|
|
43
76
|
: '';
|
|
77
|
+
// Prepare fix result for interactive mode
|
|
78
|
+
const fixResult = {
|
|
79
|
+
analysis: fix.analysis,
|
|
80
|
+
fileToFix: fix.fileToFix,
|
|
81
|
+
originalCode,
|
|
82
|
+
fixedCode: fix.fix,
|
|
83
|
+
confidence: fix.confidence || 'medium'
|
|
84
|
+
};
|
|
85
|
+
// Interactive mode: prompt user for approval
|
|
86
|
+
if (interactive && !dryRun) {
|
|
87
|
+
const { promptUserForFix } = await Promise.resolve().then(() => __importStar(require('./interactive')));
|
|
88
|
+
const choice = promptUserForFix(fixResult, failure.testName);
|
|
89
|
+
if (choice.action === 'reject') {
|
|
90
|
+
console.log(`\n${'\x1b[31m'}❌ Fix rejected by user${'\x1b[0m'}`);
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
else if (choice.action === 'skip') {
|
|
94
|
+
console.log(`\n${'\x1b[33m'}⊘ Fix skipped by user${'\x1b[0m'}`);
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
else if (choice.action === 'quit') {
|
|
98
|
+
console.log(`\n${'\x1b[90m'}Exiting...${'\x1b[0m'}`);
|
|
99
|
+
process.exit(0);
|
|
100
|
+
}
|
|
101
|
+
// If 'apply', continue to apply the fix
|
|
102
|
+
console.log(`\n${'\x1b[32m'}✓ Applying fix...${'\x1b[0m'}`);
|
|
103
|
+
}
|
|
44
104
|
if (dryRun) {
|
|
45
105
|
console.log(`\n🔍 DRY RUN - No files will be modified`);
|
|
46
106
|
console.log(`\nProposed changes to ${fix.fileToFix}:\n`);
|
|
@@ -53,13 +113,7 @@ async function fixTestFailure(failure, cwd, dryRun = false) {
|
|
|
53
113
|
await (0, promises_1.writeFile)(fileToFixPath, fix.fix, 'utf-8');
|
|
54
114
|
console.log(`✅ Applied fix to ${fix.fileToFix}`);
|
|
55
115
|
}
|
|
56
|
-
return
|
|
57
|
-
analysis: fix.analysis,
|
|
58
|
-
fileToFix: fix.fileToFix,
|
|
59
|
-
originalCode,
|
|
60
|
-
fixedCode: fix.fix,
|
|
61
|
-
confidence: fix.confidence || 'medium'
|
|
62
|
-
};
|
|
116
|
+
return fixResult;
|
|
63
117
|
}
|
|
64
118
|
catch (err) {
|
|
65
119
|
console.error(`❌ Error fixing test:`, err);
|
package/dist/fixer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fixer.js","sourceRoot":"","sources":["../src/fixer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"fixer.js","sourceRoot":"","sources":["../src/fixer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wCA8FC;AAnGD,0CAAkD;AAClD,2BAAgC;AAChC,+BAA4B;AAGrB,KAAK,UAAU,cAAc,CAChC,OAAoB,EACpB,GAAW,EACX,SAAkB,KAAK,EACvB,cAAuB,KAAK;IAE5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEjD,IAAI,CAAC;QACD,iBAAiB;QACjB,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,CAAC,IAAA,eAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAA,mBAAQ,EAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAEvD,mBAAmB;QACnB,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,OAAO,CAAC,UAAU,IAAI,cAAc,CAAC,CAAC;QACvE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,IAAA,eAAU,EAAC,cAAc,CAAC,EAAE,CAAC;YAC7B,UAAU,GAAG,MAAM,IAAA,mBAAQ,EAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,mBAAmB,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACzD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,GAAG,CAAC,8BAA8B,cAAc,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;QAClD,CAAC;QAED,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE/D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAE7C,uBAAuB;QACvB,MAAM,aAAa,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,IAAA,eAAU,EAAC,aAAa,CAAC;YAC1C,CAAC,CAAC,MAAM,IAAA,mBAAQ,EAAC,aAAa,EAAE,OAAO,CAAC;YACxC,CAAC,CAAC,EAAE,CAAC;QAET,0CAA0C;QAC1C,MAAM,SAAS,GAAc;YACzB,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,YAAY;YACZ,SAAS,EAAE,GAAG,CAAC,GAAG;YAClB,UAAU,EAAG,GAAG,CAAC,UAAkB,IAAI,QAAQ;SAClD,CAAC;QAEF,6CAA6C;QAC7C,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,EAAE,gBAAgB,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;YAC3D,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE7D,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,yBAAyB,SAAS,EAAE,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,wBAAwB,SAAS,EAAE,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC;YAChB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,aAAa,SAAS,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;YACD,wCAAwC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,oBAAoB,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,yBAAyB,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACJ,gBAAgB;YAChB,MAAM,IAAA,oBAAS,EAAC,aAAa,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,oBAAoB,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,SAAS,CAAC;IAErB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,KAAK,UAAU,aAAa,CACxB,OAAoB,EACpB,QAAgB,EAChB,UAAkB;IAElB,MAAM,MAAM,GAAG;;;eAGJ,OAAO,CAAC,QAAQ;eAChB,OAAO,CAAC,QAAQ;WACpB,OAAO,CAAC,KAAK;iBACP,OAAO,CAAC,UAAU;;;;EAIjC,QAAQ;;;EAGR,UAAU,CAAC,CAAC,CAAC,mCAAmC,UAAU,UAAU,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;+EAgBI,CAAC;IAE5E,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,uCAAuC,EAAE;YAClE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,mBAAmB,EAAE,YAAY;gBACjC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;aACnD;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACjB,KAAK,EAAE,4BAA4B;gBACnC,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE;oBACN;wBACI,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,MAAM;qBAClB;iBACJ;aACJ,CAAC;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAS,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAErC,sBAAsB;QACtB,MAAM,YAAY,GAAG,OAAO;aACvB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;aACvB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;aACnB,IAAI,EAAE,CAAC;QAEZ,MAAM,MAAM,GAAmB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,OAAO,MAAM,CAAC;IAElB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB,EAAE,KAAa;IACjD,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEtC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,QAAQ;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAC;YACzC,IAAI,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACxF,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { FixResult } from './types';
|
|
2
|
+
export interface InteractiveChoice {
|
|
3
|
+
action: 'apply' | 'reject' | 'skip' | 'quit';
|
|
4
|
+
}
|
|
5
|
+
export interface FixSummary {
|
|
6
|
+
total: number;
|
|
7
|
+
applied: number;
|
|
8
|
+
rejected: number;
|
|
9
|
+
skipped: number;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Display an enhanced diff with colors and line numbers
|
|
13
|
+
*/
|
|
14
|
+
export declare function displayDiff(original: string, fixed: string, maxLines?: number): void;
|
|
15
|
+
/**
|
|
16
|
+
* Display the full diff without truncation
|
|
17
|
+
*/
|
|
18
|
+
export declare function displayFullDiff(original: string, fixed: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* Prompt user to approve, reject, skip, or view a fix
|
|
21
|
+
*/
|
|
22
|
+
export declare function promptUserForFix(fixResult: FixResult, testName: string): InteractiveChoice;
|
|
23
|
+
/**
|
|
24
|
+
* Ask user if they want to process multiple failures interactively
|
|
25
|
+
*/
|
|
26
|
+
export declare function confirmBatchOperation(failureCount: number): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Display summary of interactive session
|
|
29
|
+
*/
|
|
30
|
+
export declare function displaySummary(summary: FixSummary): void;
|
|
31
|
+
//# sourceMappingURL=interactive.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAiBpC,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAW,GAAG,IAAI,CAiCxF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CA0BrE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAyC1F;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAMnE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CASxD"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.displayDiff = displayDiff;
|
|
37
|
+
exports.displayFullDiff = displayFullDiff;
|
|
38
|
+
exports.promptUserForFix = promptUserForFix;
|
|
39
|
+
exports.confirmBatchOperation = confirmBatchOperation;
|
|
40
|
+
exports.displaySummary = displaySummary;
|
|
41
|
+
const readlineSync = __importStar(require("readline-sync"));
|
|
42
|
+
/**
|
|
43
|
+
* ANSI color codes for terminal output
|
|
44
|
+
*/
|
|
45
|
+
const colors = {
|
|
46
|
+
reset: '\x1b[0m',
|
|
47
|
+
bright: '\x1b[1m',
|
|
48
|
+
dim: '\x1b[2m',
|
|
49
|
+
red: '\x1b[31m',
|
|
50
|
+
green: '\x1b[32m',
|
|
51
|
+
yellow: '\x1b[33m',
|
|
52
|
+
blue: '\x1b[34m',
|
|
53
|
+
cyan: '\x1b[36m',
|
|
54
|
+
gray: '\x1b[90m'
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Display an enhanced diff with colors and line numbers
|
|
58
|
+
*/
|
|
59
|
+
function displayDiff(original, fixed, maxLines = 20) {
|
|
60
|
+
const originalLines = original.split('\n');
|
|
61
|
+
const fixedLines = fixed.split('\n');
|
|
62
|
+
const maxLength = Math.max(originalLines.length, fixedLines.length);
|
|
63
|
+
console.log('\n' + colors.bright + '📝 Proposed Changes:' + colors.reset);
|
|
64
|
+
console.log(colors.gray + '─'.repeat(60) + colors.reset);
|
|
65
|
+
let displayedLines = 0;
|
|
66
|
+
let hasMoreChanges = false;
|
|
67
|
+
for (let i = 0; i < maxLength && displayedLines < maxLines; i++) {
|
|
68
|
+
const origLine = originalLines[i];
|
|
69
|
+
const fixedLine = fixedLines[i];
|
|
70
|
+
if (origLine !== fixedLine) {
|
|
71
|
+
if (origLine !== undefined) {
|
|
72
|
+
console.log(colors.red + `- ${String(i + 1).padStart(4, ' ')} | ${origLine}` + colors.reset);
|
|
73
|
+
displayedLines++;
|
|
74
|
+
}
|
|
75
|
+
if (fixedLine !== undefined && displayedLines < maxLines) {
|
|
76
|
+
console.log(colors.green + `+ ${String(i + 1).padStart(4, ' ')} | ${fixedLine}` + colors.reset);
|
|
77
|
+
displayedLines++;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (displayedLines >= maxLines && maxLength > maxLines) {
|
|
82
|
+
hasMoreChanges = true;
|
|
83
|
+
console.log(colors.gray + `\n... (${maxLength - maxLines} more lines, use [V]iew to see full diff)` + colors.reset);
|
|
84
|
+
}
|
|
85
|
+
console.log(colors.gray + '─'.repeat(60) + colors.reset + '\n');
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Display the full diff without truncation
|
|
89
|
+
*/
|
|
90
|
+
function displayFullDiff(original, fixed) {
|
|
91
|
+
const originalLines = original.split('\n');
|
|
92
|
+
const fixedLines = fixed.split('\n');
|
|
93
|
+
const maxLength = Math.max(originalLines.length, fixedLines.length);
|
|
94
|
+
console.log('\n' + colors.bright + '📄 Full Diff:' + colors.reset);
|
|
95
|
+
console.log(colors.gray + '─'.repeat(60) + colors.reset);
|
|
96
|
+
for (let i = 0; i < maxLength; i++) {
|
|
97
|
+
const origLine = originalLines[i];
|
|
98
|
+
const fixedLine = fixedLines[i];
|
|
99
|
+
if (origLine !== fixedLine) {
|
|
100
|
+
if (origLine !== undefined) {
|
|
101
|
+
console.log(colors.red + `- ${String(i + 1).padStart(4, ' ')} | ${origLine}` + colors.reset);
|
|
102
|
+
}
|
|
103
|
+
if (fixedLine !== undefined) {
|
|
104
|
+
console.log(colors.green + `+ ${String(i + 1).padStart(4, ' ')} | ${fixedLine}` + colors.reset);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else if (origLine !== undefined) {
|
|
108
|
+
// Show context lines in gray
|
|
109
|
+
console.log(colors.gray + ` ${String(i + 1).padStart(4, ' ')} | ${origLine}` + colors.reset);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
console.log(colors.gray + '─'.repeat(60) + colors.reset + '\n');
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Prompt user to approve, reject, skip, or view a fix
|
|
116
|
+
*/
|
|
117
|
+
function promptUserForFix(fixResult, testName) {
|
|
118
|
+
console.log('\n' + colors.bright + colors.cyan + '🤖 Claude\'s Analysis:' + colors.reset);
|
|
119
|
+
console.log(colors.dim + fixResult.analysis + colors.reset);
|
|
120
|
+
console.log(`\n${colors.bright}Confidence:${colors.reset} ${getConfidenceColor(fixResult.confidence)}${fixResult.confidence}${colors.reset}`);
|
|
121
|
+
console.log(`${colors.bright}File to fix:${colors.reset} ${colors.blue}${fixResult.fileToFix}${colors.reset}`);
|
|
122
|
+
// Show preview diff
|
|
123
|
+
displayDiff(fixResult.originalCode, fixResult.fixedCode);
|
|
124
|
+
while (true) {
|
|
125
|
+
console.log(colors.bright + 'What would you like to do?' + colors.reset);
|
|
126
|
+
console.log(` ${colors.green}[A]${colors.reset}pply this fix`);
|
|
127
|
+
console.log(` ${colors.red}[R]${colors.reset}eject this fix`);
|
|
128
|
+
console.log(` ${colors.yellow}[S]${colors.reset}kip to next failure`);
|
|
129
|
+
console.log(` ${colors.blue}[V]${colors.reset}iew full diff`);
|
|
130
|
+
console.log(` ${colors.gray}[Q]${colors.reset}uit\n`);
|
|
131
|
+
const answer = readlineSync.question('Your choice: ').trim().toLowerCase();
|
|
132
|
+
switch (answer) {
|
|
133
|
+
case 'a':
|
|
134
|
+
case 'apply':
|
|
135
|
+
return { action: 'apply' };
|
|
136
|
+
case 'r':
|
|
137
|
+
case 'reject':
|
|
138
|
+
return { action: 'reject' };
|
|
139
|
+
case 's':
|
|
140
|
+
case 'skip':
|
|
141
|
+
return { action: 'skip' };
|
|
142
|
+
case 'v':
|
|
143
|
+
case 'view':
|
|
144
|
+
displayFullDiff(fixResult.originalCode, fixResult.fixedCode);
|
|
145
|
+
// Continue loop to ask again
|
|
146
|
+
break;
|
|
147
|
+
case 'q':
|
|
148
|
+
case 'quit':
|
|
149
|
+
return { action: 'quit' };
|
|
150
|
+
default:
|
|
151
|
+
console.log(colors.red + '❌ Invalid choice. Please enter A, R, S, V, or Q.' + colors.reset + '\n');
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Ask user if they want to process multiple failures interactively
|
|
157
|
+
*/
|
|
158
|
+
function confirmBatchOperation(failureCount) {
|
|
159
|
+
console.log(`\n${colors.bright}Found ${failureCount} failing test(s).${colors.reset}`);
|
|
160
|
+
console.log(`In interactive mode, you'll review each fix before it's applied.\n`);
|
|
161
|
+
const answer = readlineSync.question('Continue with interactive mode? [Y/n]: ').trim().toLowerCase();
|
|
162
|
+
return answer === '' || answer === 'y' || answer === 'yes';
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Display summary of interactive session
|
|
166
|
+
*/
|
|
167
|
+
function displaySummary(summary) {
|
|
168
|
+
console.log('\n' + '═'.repeat(60));
|
|
169
|
+
console.log(colors.bright + '📊 Interactive Session Summary' + colors.reset);
|
|
170
|
+
console.log('═'.repeat(60));
|
|
171
|
+
console.log(`Total failures found: ${summary.total}`);
|
|
172
|
+
console.log(`${colors.green}✓ Fixes applied:${colors.reset} ${summary.applied}`);
|
|
173
|
+
console.log(`${colors.red}✗ Fixes rejected:${colors.reset} ${summary.rejected}`);
|
|
174
|
+
console.log(`${colors.yellow}⊘ Fixes skipped:${colors.reset} ${summary.skipped}`);
|
|
175
|
+
console.log('═'.repeat(60) + '\n');
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get color for confidence level
|
|
179
|
+
*/
|
|
180
|
+
function getConfidenceColor(confidence) {
|
|
181
|
+
switch (confidence) {
|
|
182
|
+
case 'high':
|
|
183
|
+
return colors.green;
|
|
184
|
+
case 'medium':
|
|
185
|
+
return colors.yellow;
|
|
186
|
+
case 'low':
|
|
187
|
+
return colors.red;
|
|
188
|
+
default:
|
|
189
|
+
return colors.reset;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
//# sourceMappingURL=interactive.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive.js","sourceRoot":"","sources":["../src/interactive.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -29,4 +29,13 @@ export interface PackageJson {
|
|
|
29
29
|
devDependencies?: Record<string, string>;
|
|
30
30
|
dependencies?: Record<string, string>;
|
|
31
31
|
}
|
|
32
|
+
export interface InteractiveChoice {
|
|
33
|
+
action: 'apply' | 'reject' | 'skip' | 'quit';
|
|
34
|
+
}
|
|
35
|
+
export interface FixSummary {
|
|
36
|
+
total: number;
|
|
37
|
+
applied: number;
|
|
38
|
+
rejected: number;
|
|
39
|
+
skipped: number;
|
|
40
|
+
}
|
|
32
41
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fix-tests-ai",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Automatically fix failing tests using Claude AI",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
@@ -33,7 +33,9 @@
|
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@types/node": "^20.0.0",
|
|
36
|
-
"
|
|
36
|
+
"@types/readline-sync": "^1.4.8",
|
|
37
|
+
"dotenv": "^17.2.3",
|
|
38
|
+
"readline-sync": "^1.4.10"
|
|
37
39
|
},
|
|
38
40
|
"devDependencies": {
|
|
39
41
|
"@types/dotenv": "^6.1.1",
|