@fasttest-ai/qa-agent 0.4.0 → 0.4.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.
package/dist/runner.d.ts CHANGED
@@ -16,6 +16,8 @@ export interface RunOptions {
16
16
  environmentId?: string;
17
17
  testCaseIds?: string[];
18
18
  appUrlOverride?: string;
19
+ /** When true, stop on first failure with diagnostic snapshot for AI intervention. */
20
+ aiFallback?: boolean;
19
21
  }
20
22
  export interface RunSummary {
21
23
  execution_id: string;
@@ -27,6 +29,18 @@ export interface RunSummary {
27
29
  duration_ms: number;
28
30
  results: TestCaseResult[];
29
31
  healed: HealedStep[];
32
+ /** Present when aiFallback is enabled and a step failed — contains context for AI intervention. */
33
+ ai_fallback?: AiFallbackContext;
34
+ }
35
+ export interface AiFallbackContext {
36
+ test_case_id: string;
37
+ test_case_name: string;
38
+ step_index: number;
39
+ step: Record<string, unknown>;
40
+ intent?: string;
41
+ error: string;
42
+ page_url: string;
43
+ snapshot: Record<string, unknown>;
30
44
  }
31
45
  interface TestCaseResult {
32
46
  id: string;
@@ -51,8 +65,15 @@ interface StepResult {
51
65
  strategy: string;
52
66
  confidence: number;
53
67
  };
68
+ /** Diagnostic snapshot captured on failure for AI fallback. */
69
+ ai_context?: {
70
+ intent?: string;
71
+ page_url: string;
72
+ snapshot: Record<string, unknown>;
73
+ };
54
74
  }
55
75
  export interface HealedStep {
76
+ test_case_id: string;
56
77
  test_case: string;
57
78
  step_index: number;
58
79
  original_selector: string;
package/dist/runner.js CHANGED
@@ -72,12 +72,12 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
72
72
  }
73
73
  }
74
74
  if (resolved.length > 0) {
75
- console.log(`Environment variables resolved: ${resolved.join(", ")}`);
75
+ process.stderr.write(`Environment variables resolved: ${resolved.join(", ")}\n`);
76
76
  }
77
77
  if (missing.length > 0) {
78
78
  const errMsg = `Missing environment variable(s): ${missing.join(", ")}. ` +
79
79
  `Set these before running tests. In GitHub Actions, add them as repository secrets.`;
80
- console.error(`ERROR: ${errMsg}`);
80
+ process.stderr.write(`ERROR: ${errMsg}\n`);
81
81
  try {
82
82
  await cloud.completeExecution(executionId);
83
83
  }
@@ -98,13 +98,35 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
98
98
  };
99
99
  }
100
100
  }
101
+ // 2. Order test cases: topo sort for dependencies, then fail-first
102
+ let sortedTestCases = topoSort(testCases);
103
+ if (run.previous_statuses) {
104
+ sortedTestCases = failFirst(sortedTestCases, run.previous_statuses);
105
+ }
101
106
  const results = [];
102
107
  const allHealed = [];
103
108
  const runStart = Date.now();
104
109
  let cancelled = false;
105
110
  let reportFailures = 0;
106
- // 2. Execute each test case sequentially (with smart retry)
107
- for (const tc of testCases) {
111
+ const passedIds = new Set();
112
+ const runIdSet = new Set(sortedTestCases.map((tc) => tc.id));
113
+ // 3. Execute each test case sequentially (with smart retry)
114
+ for (const tc of sortedTestCases) {
115
+ // Skip if an in-run dependency failed (ignore external deps from other suites)
116
+ if (tc.depends_on && tc.depends_on.length > 0) {
117
+ const unmet = tc.depends_on.filter((depId) => runIdSet.has(depId) && !passedIds.has(depId));
118
+ if (unmet.length > 0) {
119
+ results.push({
120
+ id: tc.id,
121
+ name: tc.name,
122
+ status: "skipped",
123
+ duration_ms: 0,
124
+ error: `Skipped: dependency not met (${unmet.join(", ")})`,
125
+ step_results: [],
126
+ });
127
+ continue;
128
+ }
129
+ }
108
130
  // Check for pause/cancel from dashboard
109
131
  try {
110
132
  const controlStatus = await cloud.checkControlStatus(executionId);
@@ -118,7 +140,7 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
118
140
  const MAX_PAUSE_MS = 30 * 60 * 1000; // 30 minutes
119
141
  while (!resumed) {
120
142
  if (Date.now() - pauseStart > MAX_PAUSE_MS) {
121
- console.log("Pause exceeded 30-minute limit, auto-cancelling.");
143
+ process.stderr.write("Pause exceeded 30-minute limit, auto-cancelling.\n");
122
144
  cancelled = true;
123
145
  break;
124
146
  }
@@ -143,14 +165,18 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
143
165
  const maxRetries = tc.retry_count ?? 0;
144
166
  let tcResult;
145
167
  let attempt = 0;
168
+ // Notify War Room that this test case is starting (once, before retries)
169
+ await cloud.notifyTestStarted(executionId, tc.id, tc.name);
146
170
  while (true) {
147
- // Notify War Room that this test case is starting
148
- await cloud.notifyTestStarted(executionId, tc.id, tc.name);
149
171
  const timeoutMs = (tc.timeout_seconds || 30) * 1000;
172
+ let timerId;
173
+ const timeoutPromise = new Promise((_, reject) => {
174
+ timerId = setTimeout(() => reject(new Error(`Test case "${tc.name}" timed out after ${tc.timeout_seconds || 30}s`)), timeoutMs);
175
+ });
150
176
  tcResult = await Promise.race([
151
- executeTestCase(browserMgr, cloud, executionId, tc, baseUrl, consoleLogs, allHealed),
152
- new Promise((_, reject) => setTimeout(() => reject(new Error(`Test case "${tc.name}" timed out after ${tc.timeout_seconds || 30}s`)), timeoutMs)),
153
- ]).catch((err) => ({
177
+ executeTestCase(browserMgr, cloud, executionId, tc, baseUrl, consoleLogs, allHealed, options.aiFallback),
178
+ timeoutPromise,
179
+ ]).finally(() => clearTimeout(timerId)).catch((err) => ({
154
180
  id: tc.id,
155
181
  name: tc.name,
156
182
  status: "failed",
@@ -163,15 +189,17 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
163
189
  }
164
190
  // Failed but have retries left
165
191
  attempt++;
166
- console.log(`Retrying ${tc.name} (attempt ${attempt}/${maxRetries})...`);
192
+ process.stderr.write(`Retrying ${tc.name} (attempt ${attempt}/${maxRetries})...\n`);
167
193
  }
168
194
  tcResult.retry_attempts = attempt;
195
+ if (tcResult.status === "passed")
196
+ passedIds.add(tc.id);
169
197
  results.push(tcResult);
170
198
  // Capture network calls for this test case and reset for next one
171
199
  const rawNetwork = browserMgr.getNetworkSummary();
172
200
  browserMgr.clearNetworkEntries();
173
201
  const networkSummary = filterNetworkEntries(rawNetwork);
174
- // 3. Report result to Cloud
202
+ // 4. Report result to Cloud
175
203
  try {
176
204
  await cloud.reportResult(executionId, {
177
205
  test_case_id: tc.id,
@@ -196,7 +224,7 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
196
224
  catch (err) {
197
225
  // Non-fatal — log and continue
198
226
  reportFailures++;
199
- console.error(`Failed to report result for ${tc.name}: ${err}`);
227
+ process.stderr.write(`Failed to report result for ${tc.name}: ${err}\n`);
200
228
  }
201
229
  }
202
230
  // Mark any unexecuted test cases as skipped (e.g. due to cancellation)
@@ -212,7 +240,28 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
212
240
  });
213
241
  }
214
242
  }
215
- // 4. Complete execution
243
+ // 4. Auto-update healed selectors in saved test cases (>= 90% confidence)
244
+ const AUTO_HEAL_THRESHOLD = 0.90;
245
+ if (allHealed.length > 0) {
246
+ // Deduplicate: only one update per (test_case_id, original_selector) pair
247
+ const seen = new Set();
248
+ for (const h of allHealed) {
249
+ if (h.confidence < AUTO_HEAL_THRESHOLD)
250
+ continue;
251
+ const key = `${h.test_case_id}:${h.original_selector}`;
252
+ if (seen.has(key))
253
+ continue;
254
+ seen.add(key);
255
+ try {
256
+ await cloud.applyHealing(h.test_case_id, h.original_selector, h.new_selector);
257
+ process.stderr.write(`Auto-updated selector in "${h.test_case}": ${h.original_selector} → ${h.new_selector}\n`);
258
+ }
259
+ catch {
260
+ // Non-fatal — selector update failure shouldn't block run completion
261
+ }
262
+ }
263
+ }
264
+ // 5. Complete execution
216
265
  const passed = results.filter((r) => r.status === "passed").length;
217
266
  const failed = results.filter((r) => r.status === "failed").length;
218
267
  const skipped = results.filter((r) => r.status === "skipped").length;
@@ -221,10 +270,35 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
221
270
  await cloud.completeExecution(executionId, cancelled ? "cancelled" : undefined);
222
271
  }
223
272
  catch (err) {
224
- console.error(`Failed to complete execution: ${err}`);
273
+ process.stderr.write(`Failed to complete execution: ${err}\n`);
225
274
  }
226
275
  if (reportFailures > 0) {
227
- console.warn(`Warning: ${reportFailures} result report(s) failed to send to cloud.`);
276
+ process.stderr.write(`Warning: ${reportFailures} result report(s) failed to send to cloud.\n`);
277
+ }
278
+ // Build AI fallback context from the first failure with diagnostic info
279
+ let aiFallback;
280
+ if (options.aiFallback) {
281
+ for (const r of results) {
282
+ if (r.status !== "failed")
283
+ continue;
284
+ const failedStep = r.step_results.find((sr) => !sr.success && sr.ai_context);
285
+ if (failedStep?.ai_context) {
286
+ // Find the original step data from the test case
287
+ const tc = sortedTestCases.find((t) => t.id === r.id);
288
+ const stepData = tc?.steps[failedStep.step_index] ?? {};
289
+ aiFallback = {
290
+ test_case_id: r.id,
291
+ test_case_name: r.name,
292
+ step_index: failedStep.step_index,
293
+ step: stepData,
294
+ intent: failedStep.ai_context.intent,
295
+ error: failedStep.error ?? r.error ?? "Unknown error",
296
+ page_url: failedStep.ai_context.page_url,
297
+ snapshot: failedStep.ai_context.snapshot,
298
+ };
299
+ break;
300
+ }
301
+ }
228
302
  }
229
303
  return {
230
304
  execution_id: executionId,
@@ -236,12 +310,13 @@ export async function executeRun(browserMgr, cloud, options, consoleLogs) {
236
310
  duration_ms: durationMs,
237
311
  results,
238
312
  healed: allHealed,
313
+ ai_fallback: aiFallback,
239
314
  };
240
315
  }
241
316
  /**
242
317
  * Execute a single test case.
243
318
  */
244
- async function executeTestCase(browserMgr, cloud, executionId, tc, baseUrl, consoleLogs, allHealed) {
319
+ async function executeTestCase(browserMgr, cloud, executionId, tc, baseUrl, consoleLogs, allHealed, captureAiContext) {
245
320
  const stepResults = [];
246
321
  const start = Date.now();
247
322
  try {
@@ -273,13 +348,14 @@ async function executeTestCase(browserMgr, cloud, executionId, tc, baseUrl, cons
273
348
  if (!result.success && resolvedStep.selector && isSelectorFailure(result.error)) {
274
349
  // Notify War Room that healing is starting
275
350
  await cloud.notifyHealingStarted(executionId, tc.id, resolvedStep.selector);
276
- const healResult = await healSelector(page, cloud, resolvedStep.selector, classifyStepError(result.error), result.error ?? "unknown", page.url(), { action: resolvedStep.action, description: resolvedStep.description });
351
+ const healResult = await healSelector(page, cloud, resolvedStep.selector, classifyStepError(result.error), result.error ?? "unknown", page.url(), { action: resolvedStep.action, description: resolvedStep.description, intent: resolvedStep.intent });
277
352
  if (healResult.healed && healResult.newSelector) {
278
353
  // Retry with the healed selector
279
354
  const healedStep = { ...resolvedStep, selector: healResult.newSelector };
280
355
  result = await executeStep(page, healedStep, baseUrl);
281
356
  if (result.success) {
282
357
  allHealed.push({
358
+ test_case_id: tc.id,
283
359
  test_case: tc.name,
284
360
  step_index: i,
285
361
  original_selector: step.selector,
@@ -309,6 +385,21 @@ async function executeTestCase(browserMgr, cloud, executionId, tc, baseUrl, cons
309
385
  }
310
386
  // Capture screenshot after each step (especially important on failure for debugging)
311
387
  const capture = await captureStepScreenshot(page);
388
+ // On failure, capture diagnostic snapshot for AI fallback (only when enabled)
389
+ let aiContext;
390
+ if (!result.success && captureAiContext) {
391
+ try {
392
+ const snapshot = await actions.getSnapshot(page);
393
+ aiContext = {
394
+ intent: resolvedStep.intent ?? resolvedStep.description,
395
+ page_url: page.url(),
396
+ snapshot,
397
+ };
398
+ }
399
+ catch {
400
+ // Non-fatal — snapshot may fail if page crashed
401
+ }
402
+ }
312
403
  stepResults.push({
313
404
  step_index: i,
314
405
  action: step.action,
@@ -316,6 +407,7 @@ async function executeTestCase(browserMgr, cloud, executionId, tc, baseUrl, cons
316
407
  error: result.error,
317
408
  duration_ms: Date.now() - stepStart,
318
409
  screenshot_url: capture?.dataUrl,
410
+ ai_context: aiContext,
319
411
  });
320
412
  if (!result.success) {
321
413
  return {
@@ -531,4 +623,75 @@ function filterNetworkEntries(entries) {
531
623
  return false;
532
624
  });
533
625
  }
626
+ /**
627
+ * Reorder test cases so previously-failed ones run first (faster feedback).
628
+ * Preserves relative order within each group. Respects dependency constraints
629
+ * by not moving a test before its dependencies.
630
+ */
631
+ function failFirst(testCases, previousStatuses) {
632
+ const idSet = new Set(testCases.map((tc) => tc.id));
633
+ const depSet = new Set();
634
+ for (const tc of testCases) {
635
+ if (tc.depends_on) {
636
+ for (const dep of tc.depends_on)
637
+ depSet.add(dep);
638
+ }
639
+ }
640
+ const failed = [];
641
+ const rest = [];
642
+ for (const tc of testCases) {
643
+ const prev = previousStatuses[tc.id];
644
+ // Move to front if previously failed, not a dependency of other tests,
645
+ // and doesn't itself have in-run dependencies (which would need to run first)
646
+ const hasInRunDeps = tc.depends_on?.some((d) => idSet.has(d)) ?? false;
647
+ if (prev === "failed" && !depSet.has(tc.id) && !hasInRunDeps) {
648
+ failed.push(tc);
649
+ }
650
+ else {
651
+ rest.push(tc);
652
+ }
653
+ }
654
+ return [...failed, ...rest];
655
+ }
656
+ /**
657
+ * Topological sort of test cases based on depends_on.
658
+ * Falls back to original order if no dependencies or on cycles.
659
+ */
660
+ function topoSort(testCases) {
661
+ const idSet = new Set(testCases.map((tc) => tc.id));
662
+ const hasDeps = testCases.some((tc) => tc.depends_on && tc.depends_on.some((d) => idSet.has(d)));
663
+ if (!hasDeps)
664
+ return testCases;
665
+ const map = new Map(testCases.map((tc) => [tc.id, tc]));
666
+ const visited = new Set();
667
+ const visiting = new Set();
668
+ const sorted = [];
669
+ function visit(id) {
670
+ if (visited.has(id))
671
+ return true;
672
+ if (visiting.has(id))
673
+ return false; // cycle
674
+ visiting.add(id);
675
+ const tc = map.get(id);
676
+ if (tc?.depends_on) {
677
+ for (const dep of tc.depends_on) {
678
+ if (idSet.has(dep) && !visit(dep))
679
+ return false;
680
+ }
681
+ }
682
+ visiting.delete(id);
683
+ visited.add(id);
684
+ if (tc)
685
+ sorted.push(tc);
686
+ return true;
687
+ }
688
+ for (const tc of testCases) {
689
+ if (!visit(tc.id)) {
690
+ // Cycle detected — fall back to original order
691
+ process.stderr.write("Warning: dependency cycle detected, using original test order.\n");
692
+ return testCases;
693
+ }
694
+ }
695
+ return sorted;
696
+ }
534
697
  //# sourceMappingURL=runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,29 @@
1
1
  {
2
2
  "name": "@fasttest-ai/qa-agent",
3
- "version": "0.4.0",
4
- "description": "FastTest Agent — AI testing engineer MCP server",
3
+ "version": "0.4.2",
4
+ "description": "FastTest Agent — MCP server that turns your coding agent into a QA engineer. Test, explore, and break web apps using Playwright.",
5
5
  "type": "module",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/fasttest-ai/agent.git"
9
+ },
10
+ "homepage": "https://fasttest.ai",
11
+ "bugs": {
12
+ "url": "https://github.com/fasttest-ai/agent/issues"
13
+ },
14
+ "author": "FastTest AI <hello@fasttest.ai>",
15
+ "keywords": [
16
+ "mcp",
17
+ "testing",
18
+ "qa",
19
+ "playwright",
20
+ "browser-automation",
21
+ "e2e",
22
+ "model-context-protocol",
23
+ "claude-code",
24
+ "ai-testing",
25
+ "test-automation"
26
+ ],
6
27
  "bin": {
7
28
  "qa-agent": "bin/qa-agent.js",
8
29
  "qa-agent-ci": "bin/qa-agent-ci.js",
@@ -32,5 +53,5 @@
32
53
  "dist",
33
54
  "bin"
34
55
  ],
35
- "license": "MIT"
56
+ "license": "Apache-2.0"
36
57
  }