@kosuke-ai/cli 0.0.29 → 0.0.31
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/dist/index.d.ts +2 -2
- package/dist/index.js +32 -16
- package/dist/index.js.map +1 -1
- package/dist/kosuke/commands/ship.d.ts.map +1 -1
- package/dist/kosuke/commands/ship.js +61 -25
- package/dist/kosuke/commands/ship.js.map +1 -1
- package/dist/kosuke/commands/test.d.ts +11 -11
- package/dist/kosuke/commands/test.d.ts.map +1 -1
- package/dist/kosuke/commands/test.js +105 -277
- package/dist/kosuke/commands/test.js.map +1 -1
- package/dist/kosuke/types.d.ts +10 -17
- package/dist/kosuke/types.d.ts.map +1 -1
- package/dist/kosuke/utils/browser-agent.d.ts +33 -0
- package/dist/kosuke/utils/browser-agent.d.ts.map +1 -0
- package/dist/kosuke/utils/browser-agent.js +102 -0
- package/dist/kosuke/utils/browser-agent.js.map +1 -0
- package/dist/kosuke/utils/error-analyzer.d.ts +6 -3
- package/dist/kosuke/utils/error-analyzer.d.ts.map +1 -1
- package/dist/kosuke/utils/error-analyzer.js +35 -57
- package/dist/kosuke/utils/error-analyzer.js.map +1 -1
- package/dist/kosuke/utils/prompt-generator.d.ts +13 -0
- package/dist/kosuke/utils/prompt-generator.d.ts.map +1 -0
- package/dist/kosuke/utils/prompt-generator.js +44 -0
- package/dist/kosuke/utils/prompt-generator.js.map +1 -0
- package/dist/lib.d.ts +1 -1
- package/dist/lib.d.ts.map +1 -1
- package/dist/lib.js.map +1 -1
- package/dist/package.json +3 -6
- package/package.json +3 -6
- package/dist/kosuke/utils/playwright-agent.d.ts +0 -39
- package/dist/kosuke/utils/playwright-agent.d.ts.map +0 -1
- package/dist/kosuke/utils/playwright-agent.js +0 -245
- package/dist/kosuke/utils/playwright-agent.js.map +0 -1
- package/dist/kosuke/utils/test-generator.d.ts +0 -22
- package/dist/kosuke/utils/test-generator.d.ts.map +0 -1
- package/dist/kosuke/utils/test-generator.js +0 -174
- package/dist/kosuke/utils/test-generator.js.map +0 -1
- package/dist/kosuke/utils/visual-tester.d.ts +0 -71
- package/dist/kosuke/utils/visual-tester.d.ts.map +0 -1
- package/dist/kosuke/utils/visual-tester.js +0 -202
- package/dist/kosuke/utils/visual-tester.js.map +0 -1
|
@@ -1,30 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Test command -
|
|
2
|
+
* Test command - Atomic browser testing (no fixing, no linting)
|
|
3
3
|
*
|
|
4
4
|
* This command:
|
|
5
|
-
* 1. Loads a ticket
|
|
6
|
-
* 2. Runs
|
|
7
|
-
* 3.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
5
|
+
* 1. Loads a ticket OR uses custom prompt
|
|
6
|
+
* 2. Runs a single test with Stagehand (AI-driven browser automation)
|
|
7
|
+
* 3. Returns result (success/failure) with logs
|
|
8
|
+
*
|
|
9
|
+
* NOTE: This is ATOMIC - no retries, no fixing, no linting
|
|
10
|
+
* For iterative test+fix, use: kosuke ship --test
|
|
10
11
|
*
|
|
11
12
|
* Usage:
|
|
12
|
-
* kosuke test --ticket=FRONTEND-1 # Test with
|
|
13
|
+
* kosuke test --ticket=FRONTEND-1 # Test with ticket
|
|
14
|
+
* kosuke test --prompt="Test user login flow" # Test with custom prompt
|
|
13
15
|
* kosuke test --ticket=FRONTEND-1 --url=http://localhost:4000
|
|
14
|
-
* kosuke test --
|
|
15
|
-
* kosuke test --ticket=FRONTEND-1 --update-baseline # Update visual baselines
|
|
16
|
-
* kosuke test --ticket=FRONTEND-1 --pr # Create PR with fixes
|
|
16
|
+
* kosuke test --prompt="..." --headed # Show browser (visible window)
|
|
17
17
|
*/
|
|
18
|
-
import {
|
|
18
|
+
import { existsSync, readFileSync } from 'fs';
|
|
19
19
|
import { join } from 'path';
|
|
20
|
-
import {
|
|
21
|
-
import { runPlaywrightTests, isPlaywrightInstalled, installPlaywright, ensurePlaywrightConfig, } from '../utils/playwright-agent.js';
|
|
22
|
-
import { LogCollector } from '../utils/log-collector.js';
|
|
23
|
-
import { VisualTester } from '../utils/visual-tester.js';
|
|
24
|
-
import { analyzeAndFix } from '../utils/error-analyzer.js';
|
|
25
|
-
import { runComprehensiveLinting } from '../utils/validator.js';
|
|
26
|
-
import { runWithPR } from '../utils/pr-orchestrator.js';
|
|
20
|
+
import { runBrowserTest } from '../utils/browser-agent.js';
|
|
27
21
|
import { logger, setupCancellationHandler } from '../utils/logger.js';
|
|
22
|
+
import { generateCustomTestPrompt, generateTestPrompt } from '../utils/prompt-generator.js';
|
|
28
23
|
/**
|
|
29
24
|
* Load tickets from file
|
|
30
25
|
*/
|
|
@@ -48,207 +43,90 @@ function findTicket(ticketsData, ticketId) {
|
|
|
48
43
|
return ticketsData.tickets.find((t) => t.id === ticketId);
|
|
49
44
|
}
|
|
50
45
|
/**
|
|
51
|
-
* Core test logic (
|
|
46
|
+
* Core test logic (atomic - single execution, no retries, no fixes)
|
|
52
47
|
*/
|
|
53
48
|
export async function testCore(options) {
|
|
54
|
-
const { ticket: ticketId, url = 'http://localhost:3000', headed = false, debug = false,
|
|
55
|
-
const cwd = process.cwd();
|
|
49
|
+
const { ticket: ticketId, prompt: customPrompt, url = 'http://localhost:3000', headed = false, debug = false, ticketsFile = 'tickets.json', directory, } = options;
|
|
50
|
+
const cwd = directory || process.cwd();
|
|
56
51
|
const ticketsPath = join(cwd, ticketsFile);
|
|
57
|
-
//
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
let
|
|
68
|
-
let
|
|
69
|
-
let
|
|
70
|
-
let tracePath = '';
|
|
52
|
+
// Validate: must provide either ticket OR prompt (not both)
|
|
53
|
+
if (!ticketId && !customPrompt) {
|
|
54
|
+
throw new Error('Either --ticket or --prompt must be provided\n' +
|
|
55
|
+
'Examples:\n' +
|
|
56
|
+
' kosuke test --ticket=FRONTEND-1\n' +
|
|
57
|
+
' kosuke test --prompt="Test user login flow"');
|
|
58
|
+
}
|
|
59
|
+
if (ticketId && customPrompt) {
|
|
60
|
+
throw new Error('Cannot provide both --ticket and --prompt. Please use one or the other.');
|
|
61
|
+
}
|
|
62
|
+
let ticket;
|
|
63
|
+
let testPrompt;
|
|
64
|
+
let testIdentifier = '';
|
|
71
65
|
try {
|
|
72
|
-
// 1. Load
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
throw new Error(`Ticket ${ticketId} status is "${ticket.status}".\n` +
|
|
82
|
-
`Tests should only be run on tickets that have been implemented (Done or InProgress).`);
|
|
83
|
-
}
|
|
84
|
-
console.log(` ✅ Loaded: ${ticket.id} - ${ticket.title}\n`);
|
|
85
|
-
// 2. Ensure Playwright is set up
|
|
86
|
-
console.log('🎭 Checking Playwright setup...');
|
|
87
|
-
if (!isPlaywrightInstalled(cwd)) {
|
|
88
|
-
console.log(' ℹ️ Playwright not found, installing...');
|
|
89
|
-
await installPlaywright(cwd);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
console.log(' ✅ Playwright is installed\n');
|
|
93
|
-
}
|
|
94
|
-
ensurePlaywrightConfig(cwd);
|
|
95
|
-
// 3. Generate or locate test
|
|
96
|
-
console.log('🎭 Checking for existing tests...');
|
|
97
|
-
testFilePath = join(cwd, '.kosuke', 'tests', `${ticketId}.spec.ts`);
|
|
98
|
-
if (!existsSync(testFilePath)) {
|
|
99
|
-
console.log(' ℹ️ No test found, generating new test...');
|
|
100
|
-
const genResult = await generateTest(ticket, url, cwd);
|
|
101
|
-
testFilePath = genResult.filePath;
|
|
102
|
-
totalInputTokens += genResult.tokensUsed.input;
|
|
103
|
-
totalOutputTokens += genResult.tokensUsed.output;
|
|
104
|
-
totalCacheCreationTokens += genResult.tokensUsed.cacheCreation;
|
|
105
|
-
totalCacheReadTokens += genResult.tokensUsed.cacheRead;
|
|
106
|
-
totalCost += genResult.cost;
|
|
107
|
-
}
|
|
108
|
-
else {
|
|
109
|
-
console.log(' ✅ Test found:', testFilePath);
|
|
110
|
-
}
|
|
111
|
-
// 4. Test execution loop
|
|
112
|
-
let testsPassing = false;
|
|
113
|
-
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
114
|
-
iterations = attempt;
|
|
115
|
-
console.log(`\n${'='.repeat(60)}`);
|
|
116
|
-
console.log(`🧪 Test Execution (Attempt ${attempt}/${maxRetries})`);
|
|
117
|
-
console.log(`${'='.repeat(60)}\n`);
|
|
118
|
-
// Initialize log collector and visual tester
|
|
119
|
-
const logCollector = new LogCollector();
|
|
120
|
-
const visualTester = new VisualTester(cwd);
|
|
121
|
-
// Run tests with Playwright
|
|
122
|
-
const testResult = await runPlaywrightTests({
|
|
123
|
-
testFile: testFilePath,
|
|
124
|
-
baseUrl: url,
|
|
125
|
-
headed,
|
|
126
|
-
debug,
|
|
127
|
-
cwd,
|
|
128
|
-
});
|
|
129
|
-
testsRun = testResult.testsRun;
|
|
130
|
-
testsPassed = testResult.testsPassed;
|
|
131
|
-
testsFailed = testResult.testsFailed;
|
|
132
|
-
tracePath = testResult.tracePath;
|
|
133
|
-
// Collect Docker logs
|
|
134
|
-
await logCollector.collectDockerLogs('30s');
|
|
135
|
-
// Get visual diffs
|
|
136
|
-
visualDiffs = visualTester.getFailedDiffs().length;
|
|
137
|
-
// Display results
|
|
138
|
-
console.log(`\n📊 Test Results:`);
|
|
139
|
-
console.log(` ✅ Passed: ${testResult.testsPassed}`);
|
|
140
|
-
console.log(` ❌ Failed: ${testResult.testsFailed}`);
|
|
141
|
-
console.log(` 📸 Visual diffs: ${visualDiffs}`);
|
|
142
|
-
console.log(` ⏱️ Duration: ${(testResult.duration / 1000).toFixed(2)}s`);
|
|
143
|
-
// Check if all tests passed
|
|
144
|
-
if (testResult.success && !visualTester.hasRegressions()) {
|
|
145
|
-
testsPassing = true;
|
|
146
|
-
console.log('\n✅ All tests passed!');
|
|
147
|
-
break;
|
|
66
|
+
// 1. Load ticket or create from custom prompt
|
|
67
|
+
if (ticketId) {
|
|
68
|
+
// Load ticket from file
|
|
69
|
+
console.log('📋 Loading ticket...');
|
|
70
|
+
const ticketsData = loadTicketsFile(ticketsPath);
|
|
71
|
+
const foundTicket = findTicket(ticketsData, ticketId);
|
|
72
|
+
if (!foundTicket) {
|
|
73
|
+
throw new Error(`Ticket ${ticketId} not found in ${ticketsFile}\n` +
|
|
74
|
+
`Available tickets: ${ticketsData.tickets.map((t) => t.id).join(', ')}`);
|
|
148
75
|
}
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
break;
|
|
76
|
+
if (foundTicket.status !== 'Done' && foundTicket.status !== 'InProgress') {
|
|
77
|
+
throw new Error(`Ticket ${ticketId} status is "${foundTicket.status}".\n` +
|
|
78
|
+
`Tests should only be run on tickets that have been implemented (Done or InProgress).`);
|
|
153
79
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
console.log(
|
|
158
|
-
console.log('📝 Collecting logs...');
|
|
159
|
-
const logs = logCollector.getErrors();
|
|
160
|
-
console.log(` 🔧 Console errors: ${logs.console.length}`);
|
|
161
|
-
console.log(` 🔧 Network failures: ${logs.network.length}`);
|
|
162
|
-
console.log(` 🔧 Docker logs: ${logs.docker.length}`);
|
|
163
|
-
// Analyze and fix
|
|
164
|
-
const analysisResult = await analyzeAndFix(ticket, testResult.failures, logs, testResult.tracePath, cwd);
|
|
165
|
-
totalFixesApplied += analysisResult.fixesApplied;
|
|
166
|
-
totalInputTokens += analysisResult.tokensUsed.input;
|
|
167
|
-
totalOutputTokens += analysisResult.tokensUsed.output;
|
|
168
|
-
totalCacheCreationTokens += analysisResult.tokensUsed.cacheCreation;
|
|
169
|
-
totalCacheReadTokens += analysisResult.tokensUsed.cacheRead;
|
|
170
|
-
totalCost += analysisResult.cost;
|
|
171
|
-
console.log(`\n 🔧 Applied ${analysisResult.fixesApplied} fixes`);
|
|
172
|
-
console.log(` 💰 Cost: $${analysisResult.cost.toFixed(4)}`);
|
|
173
|
-
// Continue to next iteration
|
|
174
|
-
console.log(`\n🔄 Re-running tests in next iteration...`);
|
|
175
|
-
}
|
|
176
|
-
// 6. Linting phase (if tests passed)
|
|
177
|
-
if (testsPassing) {
|
|
178
|
-
console.log(`\n${'='.repeat(60)}`);
|
|
179
|
-
console.log(`🔧 Linting & Quality Checks`);
|
|
180
|
-
console.log(`${'='.repeat(60)}\n`);
|
|
181
|
-
const lintResult = await runComprehensiveLinting();
|
|
182
|
-
console.log(`\n✅ Linting completed (${lintResult.fixCount} fixes applied)`);
|
|
183
|
-
// Return success result
|
|
184
|
-
return {
|
|
185
|
-
ticketId,
|
|
186
|
-
success: true,
|
|
187
|
-
testsRun,
|
|
188
|
-
testsPassed,
|
|
189
|
-
testsFailed: 0,
|
|
190
|
-
visualDiffs: 0,
|
|
191
|
-
fixesApplied: totalFixesApplied,
|
|
192
|
-
lintFixCount: lintResult.fixCount,
|
|
193
|
-
iterations,
|
|
194
|
-
tokensUsed: {
|
|
195
|
-
input: totalInputTokens,
|
|
196
|
-
output: totalOutputTokens,
|
|
197
|
-
cacheCreation: totalCacheCreationTokens,
|
|
198
|
-
cacheRead: totalCacheReadTokens,
|
|
199
|
-
},
|
|
200
|
-
cost: totalCost,
|
|
201
|
-
testFilePath,
|
|
202
|
-
tracePath,
|
|
203
|
-
};
|
|
80
|
+
ticket = foundTicket;
|
|
81
|
+
testIdentifier = ticketId;
|
|
82
|
+
testPrompt = generateTestPrompt(ticket);
|
|
83
|
+
console.log(` ✅ Loaded: ${ticket.id} - ${ticket.title}\n`);
|
|
204
84
|
}
|
|
205
85
|
else {
|
|
206
|
-
//
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
testsPassed,
|
|
212
|
-
testsFailed,
|
|
213
|
-
visualDiffs,
|
|
214
|
-
fixesApplied: totalFixesApplied,
|
|
215
|
-
lintFixCount: 0,
|
|
216
|
-
iterations,
|
|
217
|
-
tokensUsed: {
|
|
218
|
-
input: totalInputTokens,
|
|
219
|
-
output: totalOutputTokens,
|
|
220
|
-
cacheCreation: totalCacheCreationTokens,
|
|
221
|
-
cacheRead: totalCacheReadTokens,
|
|
222
|
-
},
|
|
223
|
-
cost: totalCost,
|
|
224
|
-
testFilePath,
|
|
225
|
-
tracePath,
|
|
226
|
-
error: 'Tests failed after maximum retry attempts',
|
|
227
|
-
};
|
|
86
|
+
// Use custom prompt
|
|
87
|
+
console.log('📋 Using custom prompt...');
|
|
88
|
+
testIdentifier = `custom-${Date.now()}`;
|
|
89
|
+
testPrompt = generateCustomTestPrompt(customPrompt, url);
|
|
90
|
+
console.log(` ✅ Test prompt ready\n`);
|
|
228
91
|
}
|
|
92
|
+
// 2. Run single browser test (NO retries)
|
|
93
|
+
console.log(`${'='.repeat(60)}`);
|
|
94
|
+
console.log(`🧪 Running Browser Test`);
|
|
95
|
+
console.log(`${'='.repeat(60)}\n`);
|
|
96
|
+
const browserResult = await runBrowserTest({
|
|
97
|
+
url,
|
|
98
|
+
task: testPrompt,
|
|
99
|
+
headed,
|
|
100
|
+
debug,
|
|
101
|
+
});
|
|
102
|
+
// 3. Return result immediately (no fixing, no retries)
|
|
103
|
+
return {
|
|
104
|
+
ticketId: testIdentifier,
|
|
105
|
+
success: browserResult.success,
|
|
106
|
+
output: browserResult.output,
|
|
107
|
+
logs: browserResult.logs,
|
|
108
|
+
tokensUsed: browserResult.tokensUsed,
|
|
109
|
+
cost: browserResult.cost,
|
|
110
|
+
};
|
|
229
111
|
}
|
|
230
112
|
catch (error) {
|
|
231
113
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
232
114
|
console.error(`\n❌ Test execution failed: ${errorMessage}`);
|
|
233
115
|
return {
|
|
234
|
-
ticketId,
|
|
116
|
+
ticketId: testIdentifier || ticketId || customPrompt || 'unknown',
|
|
235
117
|
success: false,
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
lintFixCount: 0,
|
|
242
|
-
iterations,
|
|
118
|
+
output: `Test failed: ${errorMessage}`,
|
|
119
|
+
logs: {
|
|
120
|
+
console: [],
|
|
121
|
+
errors: [errorMessage],
|
|
122
|
+
},
|
|
243
123
|
tokensUsed: {
|
|
244
|
-
input:
|
|
245
|
-
output:
|
|
246
|
-
cacheCreation:
|
|
247
|
-
cacheRead:
|
|
124
|
+
input: 0,
|
|
125
|
+
output: 0,
|
|
126
|
+
cacheCreation: 0,
|
|
127
|
+
cacheRead: 0,
|
|
248
128
|
},
|
|
249
|
-
cost:
|
|
250
|
-
testFilePath,
|
|
251
|
-
tracePath,
|
|
129
|
+
cost: 0,
|
|
252
130
|
error: errorMessage,
|
|
253
131
|
};
|
|
254
132
|
}
|
|
@@ -257,8 +135,11 @@ export async function testCore(options) {
|
|
|
257
135
|
* Main test command
|
|
258
136
|
*/
|
|
259
137
|
export async function testCommand(options) {
|
|
260
|
-
const { ticket: ticketId,
|
|
261
|
-
|
|
138
|
+
const { ticket: ticketId, prompt: customPrompt, noLogs = false } = options;
|
|
139
|
+
const testDescription = ticketId
|
|
140
|
+
? `Ticket: ${ticketId}`
|
|
141
|
+
: `Prompt: "${customPrompt?.substring(0, 60)}${customPrompt && customPrompt.length > 60 ? '...' : ''}"`;
|
|
142
|
+
console.log(`🧪 Testing ${testDescription}\n`);
|
|
262
143
|
// Initialize logging context
|
|
263
144
|
const logContext = logger.createContext('test', { noLogs });
|
|
264
145
|
const cleanupHandler = setupCancellationHandler(logContext);
|
|
@@ -267,60 +148,15 @@ export async function testCommand(options) {
|
|
|
267
148
|
if (!process.env.ANTHROPIC_API_KEY) {
|
|
268
149
|
throw new Error('ANTHROPIC_API_KEY environment variable is required');
|
|
269
150
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
prTitle: `test: Fix issues in ${ticketId}`,
|
|
280
|
-
prBody: `## 🧪 Test Fixes for ${ticketId}
|
|
281
|
-
|
|
282
|
-
This PR contains automated fixes for issues found during E2E testing of ticket ${ticketId}.
|
|
283
|
-
|
|
284
|
-
### 📊 Test Results
|
|
285
|
-
- Tests run: ${0} (will be filled by result)
|
|
286
|
-
- Fixes applied: ${0}
|
|
287
|
-
- Iterations: ${0}
|
|
288
|
-
|
|
289
|
-
---
|
|
290
|
-
|
|
291
|
-
🤖 *Generated by Kosuke CLI (\`kosuke test --ticket=${ticketId} --pr\`)*`,
|
|
292
|
-
}, async () => {
|
|
293
|
-
const result = await testCore(options);
|
|
294
|
-
// Track metrics
|
|
295
|
-
logger.trackTokens(logContext, result.tokensUsed);
|
|
296
|
-
logContext.testsRun = result.testsRun;
|
|
297
|
-
logContext.testsPassed = result.testsPassed;
|
|
298
|
-
logContext.testsFailed = result.testsFailed;
|
|
299
|
-
logContext.fixesApplied = result.fixesApplied;
|
|
300
|
-
logContext.iterations = result.iterations;
|
|
301
|
-
return result;
|
|
302
|
-
});
|
|
303
|
-
// Display summary
|
|
304
|
-
displayTestSummary(testResult, prInfo.prUrl);
|
|
305
|
-
// Log successful execution
|
|
306
|
-
await logger.complete(logContext, 'success');
|
|
307
|
-
cleanupHandler();
|
|
308
|
-
}
|
|
309
|
-
else {
|
|
310
|
-
// Run core logic without PR
|
|
311
|
-
const result = await testCore(options);
|
|
312
|
-
// Track metrics
|
|
313
|
-
logger.trackTokens(logContext, result.tokensUsed);
|
|
314
|
-
logContext.testsRun = result.testsRun;
|
|
315
|
-
logContext.testsPassed = result.testsPassed;
|
|
316
|
-
logContext.testsFailed = result.testsFailed;
|
|
317
|
-
logContext.fixesApplied = result.fixesApplied;
|
|
318
|
-
logContext.iterations = result.iterations;
|
|
319
|
-
displayTestSummary(result);
|
|
320
|
-
// Log execution (success or error based on test result)
|
|
321
|
-
await logger.complete(logContext, result.success ? 'success' : 'error', result.error ? new Error(result.error) : undefined);
|
|
322
|
-
cleanupHandler();
|
|
323
|
-
}
|
|
151
|
+
// Run atomic test
|
|
152
|
+
const result = await testCore(options);
|
|
153
|
+
// Track metrics
|
|
154
|
+
logger.trackTokens(logContext, result.tokensUsed);
|
|
155
|
+
// Display summary
|
|
156
|
+
displayTestSummary(result);
|
|
157
|
+
// Log execution (success or error based on test result)
|
|
158
|
+
await logger.complete(logContext, result.success ? 'success' : 'error', result.error ? new Error(result.error) : undefined);
|
|
159
|
+
cleanupHandler();
|
|
324
160
|
}
|
|
325
161
|
catch (error) {
|
|
326
162
|
console.error('\n❌ Test command failed:', error);
|
|
@@ -333,36 +169,28 @@ This PR contains automated fixes for issues found during E2E testing of ticket $
|
|
|
333
169
|
/**
|
|
334
170
|
* Display test summary
|
|
335
171
|
*/
|
|
336
|
-
function displayTestSummary(result
|
|
172
|
+
function displayTestSummary(result) {
|
|
337
173
|
console.log(`\n${'='.repeat(60)}`);
|
|
338
174
|
console.log('📊 Test Summary');
|
|
339
175
|
console.log('='.repeat(60));
|
|
340
176
|
if (result.success) {
|
|
341
|
-
console.log('✅ Status:
|
|
177
|
+
console.log('✅ Status: Test passed');
|
|
342
178
|
}
|
|
343
179
|
else {
|
|
344
|
-
console.log('❌ Status:
|
|
345
|
-
}
|
|
346
|
-
console.log(`🧪 Tests: ${result.testsPassed} passed, ${result.testsFailed} failed (${result.testsRun} total)`);
|
|
347
|
-
console.log(`📸 Visual: ${result.visualDiffs} regressions found`);
|
|
348
|
-
console.log(`🔧 Fixes: ${result.fixesApplied} applied`);
|
|
349
|
-
console.log(`🧹 Lint: ${result.lintFixCount} fixes applied`);
|
|
350
|
-
console.log(`🔄 Iterations: ${result.iterations}`);
|
|
351
|
-
console.log(`💰 Total cost: $${result.cost.toFixed(4)}`);
|
|
352
|
-
console.log(`🎭 Test file: ${result.testFilePath}`);
|
|
353
|
-
console.log(`📊 Trace: ${result.tracePath}`);
|
|
354
|
-
if (prUrl) {
|
|
355
|
-
console.log(`🔗 PR: ${prUrl}`);
|
|
180
|
+
console.log('❌ Status: Test failed');
|
|
356
181
|
}
|
|
182
|
+
console.log(`📝 Output: ${result.output}`);
|
|
183
|
+
console.log(`🔧 Console logs: ${result.logs.console.length}`);
|
|
184
|
+
console.log(`❌ Errors: ${result.logs.errors.length}`);
|
|
185
|
+
console.log(`💰 Cost: $${result.cost.toFixed(4)}`);
|
|
357
186
|
console.log('='.repeat(60));
|
|
358
187
|
if (result.success) {
|
|
359
|
-
console.log('\n✅
|
|
188
|
+
console.log('\n✅ Test completed successfully!');
|
|
360
189
|
}
|
|
361
190
|
else {
|
|
362
|
-
console.log(`\n❌
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
}
|
|
191
|
+
console.log(`\n❌ Test failed: ${result.error || 'See output above for details'}`);
|
|
192
|
+
console.log('\nℹ️ This is an atomic test command - it does not apply fixes.');
|
|
193
|
+
console.log('ℹ️ To test with automatic fixing, use: kosuke ship --test');
|
|
366
194
|
}
|
|
367
195
|
}
|
|
368
196
|
//# sourceMappingURL=test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../kosuke/commands/test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../../kosuke/commands/test.ts"],"names":[],"mappings":"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"}
|
package/dist/kosuke/types.d.ts
CHANGED
|
@@ -113,6 +113,9 @@ export interface ShipOptions {
|
|
|
113
113
|
baseBranch?: string;
|
|
114
114
|
ticketsFile?: string;
|
|
115
115
|
test?: boolean;
|
|
116
|
+
url?: string;
|
|
117
|
+
headed?: boolean;
|
|
118
|
+
debug?: boolean;
|
|
116
119
|
directory?: string;
|
|
117
120
|
noLogs?: boolean;
|
|
118
121
|
}
|
|
@@ -156,28 +159,23 @@ export interface ReviewResult {
|
|
|
156
159
|
cost: number;
|
|
157
160
|
}
|
|
158
161
|
export interface TestOptions {
|
|
159
|
-
ticket
|
|
162
|
+
ticket?: string;
|
|
163
|
+
prompt?: string;
|
|
160
164
|
url?: string;
|
|
161
165
|
headed?: boolean;
|
|
162
166
|
debug?: boolean;
|
|
163
|
-
updateBaseline?: boolean;
|
|
164
|
-
maxRetries?: number;
|
|
165
167
|
ticketsFile?: string;
|
|
166
168
|
directory?: string;
|
|
167
|
-
pr?: boolean;
|
|
168
|
-
baseBranch?: string;
|
|
169
169
|
noLogs?: boolean;
|
|
170
170
|
}
|
|
171
171
|
export interface TestResult {
|
|
172
172
|
ticketId: string;
|
|
173
173
|
success: boolean;
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
lintFixCount: number;
|
|
180
|
-
iterations: number;
|
|
174
|
+
output: string;
|
|
175
|
+
logs: {
|
|
176
|
+
console: string[];
|
|
177
|
+
errors: string[];
|
|
178
|
+
};
|
|
181
179
|
tokensUsed: {
|
|
182
180
|
input: number;
|
|
183
181
|
output: number;
|
|
@@ -185,14 +183,9 @@ export interface TestResult {
|
|
|
185
183
|
cacheRead: number;
|
|
186
184
|
};
|
|
187
185
|
cost: number;
|
|
188
|
-
testFilePath: string;
|
|
189
|
-
tracePath: string;
|
|
190
186
|
error?: string;
|
|
191
187
|
}
|
|
192
188
|
export type { CommandName, ExecutionStatus, CliLogData, CommandExecutionContext, } from './utils/logger.js';
|
|
193
189
|
export type { AnalysisResult, TestFailure } from './utils/error-analyzer.js';
|
|
194
190
|
export type { ConsoleLog, NetworkLog, DockerLog, CollectedLogs } from './utils/log-collector.js';
|
|
195
|
-
export type { PlaywrightResult, PlaywrightOptions } from './utils/playwright-agent.js';
|
|
196
|
-
export type { GeneratedTest } from './utils/test-generator.js';
|
|
197
|
-
export type { VisualDiff, VisualTestOptions } from './utils/visual-tester.js';
|
|
198
191
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../kosuke/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../kosuke/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser Agent - Stagehand-powered browser automation
|
|
3
|
+
*
|
|
4
|
+
* Uses Stagehand with Anthropic Claude for AI-driven browser testing.
|
|
5
|
+
* Provides simple boolean success/failure results with logs.
|
|
6
|
+
*/
|
|
7
|
+
interface BrowserTestOptions {
|
|
8
|
+
url: string;
|
|
9
|
+
task: string;
|
|
10
|
+
headed?: boolean;
|
|
11
|
+
debug?: boolean;
|
|
12
|
+
}
|
|
13
|
+
interface BrowserTestResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
output: string;
|
|
16
|
+
logs: {
|
|
17
|
+
console: string[];
|
|
18
|
+
errors: string[];
|
|
19
|
+
};
|
|
20
|
+
tokensUsed: {
|
|
21
|
+
input: number;
|
|
22
|
+
output: number;
|
|
23
|
+
cacheCreation: number;
|
|
24
|
+
cacheRead: number;
|
|
25
|
+
};
|
|
26
|
+
cost: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Run browser test using Stagehand
|
|
30
|
+
*/
|
|
31
|
+
export declare function runBrowserTest(options: BrowserTestOptions): Promise<BrowserTestResult>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=browser-agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-agent.d.ts","sourceRoot":"","sources":["../../../kosuke/utils/browser-agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,EAAE,MAAM,CAAC;QACtB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA6G5F"}
|