@fasttest-ai/qa-agent 0.4.0 → 0.4.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/LICENSE +190 -0
- package/README.md +188 -0
- package/dist/actions.d.ts +0 -1
- package/dist/actions.js +0 -1
- package/dist/actions.js.map +1 -1
- package/dist/browser.d.ts +3 -1
- package/dist/browser.js +33 -10
- package/dist/browser.js.map +1 -1
- package/dist/cli.js +16 -3
- package/dist/cli.js.map +1 -1
- package/dist/cloud.d.ts +16 -0
- package/dist/cloud.js +35 -0
- package/dist/cloud.js.map +1 -1
- package/dist/healer.d.ts +1 -0
- package/dist/healer.js +4 -3
- package/dist/healer.js.map +1 -1
- package/dist/index.js +191 -24
- package/dist/index.js.map +1 -1
- package/dist/install.d.ts +5 -5
- package/dist/install.js +367 -92
- package/dist/install.js.map +1 -1
- package/dist/runner.d.ts +21 -0
- package/dist/runner.js +181 -18
- package/dist/runner.js.map +1 -1
- package/package.json +24 -3
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
107
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
//
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
273
|
+
process.stderr.write(`Failed to complete execution: ${err}\n`);
|
|
225
274
|
}
|
|
226
275
|
if (reportFailures > 0) {
|
|
227
|
-
|
|
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
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EAAE,YAAY,EAAmB,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAwDtH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,UAA0B,EAC1B,KAAkB,EAClB,OAAmB,EACnB,WAAqB;IAErB,uDAAuD;IACvD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC;QAC/B,QAAQ,EAAE,OAAO,CAAC,OAAO;QACzB,cAAc,EAAE,OAAO,CAAC,aAAa;QACrC,OAAO,EAAE,UAAU;QACnB,aAAa,EAAE,OAAO,CAAC,WAAW;KACnC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,CAAC;IACrC,MAAM,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;IAEjC,0CAA0C;IAC1C,IAAI,OAAO,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC3D,IAAI,OAAO,EAAE,CAAC;QACZ,IAAI,CAAC;YACH,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7E,OAAO;gBACL,YAAY,EAAE,WAAW;gBACzB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,SAAS,CAAC,MAAM;gBACvB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAiB;oBACnD,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,EAAE;iBACrD,CAAC,CAAC;gBACH,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,mCAAmC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,oCAAoC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;gBACvE,oFAAoF,CAAC;YACvF,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,EAAE,CAAC,CAAC;YAClC,IAAI,CAAC;gBAAC,MAAM,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;YAC7E,OAAO;gBACL,YAAY,EAAE,WAAW;gBACzB,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,SAAS,CAAC,MAAM;gBACvB,MAAM,EAAE,CAAC;gBACT,MAAM,EAAE,SAAS,CAAC,MAAM;gBACxB,OAAO,EAAE,CAAC;gBACV,WAAW,EAAE,CAAC;gBACd,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAiB;oBACnD,WAAW,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE;iBAChD,CAAC,CAAC;gBACH,MAAM,EAAE,EAAE;aACX,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,SAAS,GAAiB,EAAE,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5B,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,4DAA4D;IAC5D,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;gBAClC,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM;YACR,CAAC;YACD,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;gBAClD,OAAO,CAAC,OAAO,EAAE,CAAC;oBAChB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,YAAY,EAAE,CAAC;wBAC3C,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;wBAChE,SAAS,GAAG,IAAI,CAAC;wBACjB,MAAM;oBACR,CAAC;oBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC1D,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBACtD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBAAC,OAAO,GAAG,IAAI,CAAC;oBAAC,CAAC;oBACxC,IAAI,CAAC,KAAK,WAAW,EAAE,CAAC;wBAAC,SAAS,GAAG,IAAI,CAAC;wBAAC,MAAM;oBAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,SAAS;oBAAE,MAAM;YACvB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,oDAAoD;QACtD,CAAC;QAED,mBAAmB;QACnB,MAAM,UAAU,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC;QACvC,IAAI,QAAwB,CAAC;QAC7B,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,kDAAkD;YAClD,MAAM,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;YAE3D,MAAM,SAAS,GAAG,CAAC,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;YACpD,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC5B,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC;gBACpF,IAAI,OAAO,CAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACxC,UAAU,CACR,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC,eAAe,IAAI,EAAE,GAAG,CAAC,CAAC,EAC9F,SAAS,CACV,CACF;aACF,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;gBACjB,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,MAAM,EAAE,QAAiB;gBACzB,WAAW,EAAE,SAAS;gBACtB,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;gBAClB,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC,CAAC;YAEJ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC1D,MAAM;YACR,CAAC;YAED,+BAA+B;YAC/B,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,IAAI,aAAa,OAAO,IAAI,UAAU,MAAM,CAAC,CAAC;QAC3E,CAAC;QAED,QAAQ,CAAC,cAAc,GAAG,OAAO,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAEvB,kEAAkE;QAClE,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAClD,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAExD,4BAA4B;QAC5B,IAAI,CAAC;YACH,MAAM,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE;gBACpC,YAAY,EAAE,EAAE,CAAC,EAAE;gBACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,aAAa,EAAE,QAAQ,CAAC,KAAK;gBAC7B,YAAY,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpC,aAAa,EAAE,OAAO;gBACtB,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/C,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,OAAO,EAAE,EAAE,CAAC,OAAO;oBACnB,KAAK,EAAE,EAAE,CAAC,KAAK;oBACf,WAAW,EAAE,EAAE,CAAC,WAAW;oBAC3B,cAAc,EAAE,EAAE,CAAC,cAAc;oBACjC,MAAM,EAAE,EAAE,CAAC,MAAM;oBACjB,YAAY,EAAE,EAAE,CAAC,YAAY;iBAC9B,CAAC,CAAC;gBACH,eAAe,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;aACxE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+BAA+B;YAC/B,cAAc,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,EAAE,CAAC,EAAE;gBACT,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,MAAM,EAAE,SAAS;gBACjB,WAAW,EAAE,CAAC;gBACd,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC;IAEzC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAClF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,YAAY,cAAc,4CAA4C,CAAC,CAAC;IACvF,CAAC;IAED,OAAO;QACL,YAAY,EAAE,WAAW;QACzB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,KAAK,EAAE,SAAS,CAAC,MAAM;QACvB,MAAM;QACN,MAAM;QACN,OAAO;QACP,WAAW,EAAE,UAAU;QACvB,OAAO;QACP,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,eAAe,CAC5B,UAA0B,EAC1B,KAAkB,EAClB,WAAmB,EACnB,EAAmB,EACnB,OAAe,EACf,WAAqB,EACrB,SAAuB;IAEvB,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,gEAAgE;QAChE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC;QAE3C,gBAAgB;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,gDAAgD;YAChD,IAAI,YAAsB,CAAC;YAC3B,IAAI,CAAC;gBACH,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,CAAC;oBACf,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK;oBAClD,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;iBACxD,CAAC,CAAC;gBACH,OAAO;oBACL,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ;oBAC1C,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC/B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,aAAa,MAAM,CAAC,GAAG,CAAC,EAAE;oBAC9D,YAAY,EAAE,WAAW;iBAC1B,CAAC;YACJ,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YAE5D,+DAA+D;YAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,YAAY,CAAC,QAAQ,IAAI,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChF,2CAA2C;gBAC3C,MAAM,KAAK,CAAC,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,QAAS,CAAC,CAAC;gBAE7E,MAAM,UAAU,GAAG,MAAM,YAAY,CACnC,IAAI,EACJ,KAAK,EACL,YAAY,CAAC,QAAS,EACtB,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/B,MAAM,CAAC,KAAK,IAAI,SAAS,EACzB,IAAI,CAAC,GAAG,EAAE,EACV,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,CAAC,WAAW,EAAE,CACvE,CAAC;gBAEF,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBAChD,iCAAiC;oBACjC,MAAM,UAAU,GAAG,EAAE,GAAG,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC;oBACzE,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBAEtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,SAAS,CAAC,IAAI,CAAC;4BACb,SAAS,EAAE,EAAE,CAAC,IAAI;4BAClB,UAAU,EAAE,CAAC;4BACb,iBAAiB,EAAE,IAAI,CAAC,QAAS;4BACjC,YAAY,EAAE,UAAU,CAAC,WAAW;4BACpC,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,SAAS;4BAC1C,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,CAAC;yBACvC,CAAC,CAAC;wBAEH,uCAAuC;wBACvC,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBAElD,WAAW,CAAC,IAAI,CAAC;4BACf,UAAU,EAAE,CAAC;4BACb,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,OAAO,EAAE,IAAI;4BACb,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;4BACnC,cAAc,EAAE,OAAO,EAAE,OAAO;4BAChC,MAAM,EAAE,IAAI;4BACZ,YAAY,EAAE;gCACZ,iBAAiB,EAAE,IAAI,CAAC,QAAS;gCACjC,YAAY,EAAE,UAAU,CAAC,WAAW;gCACpC,QAAQ,EAAE,UAAU,CAAC,QAAQ,IAAI,SAAS;gCAC1C,UAAU,EAAE,UAAU,CAAC,UAAU,IAAI,CAAC;6BACvC;yBACF,CAAC,CAAC;wBACH,SAAS;oBACX,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qFAAqF;YACrF,MAAM,OAAO,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAElD,WAAW,CAAC,IAAI,CAAC;gBACf,UAAU,EAAE,CAAC;gBACb,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBACnC,cAAc,EAAE,OAAO,EAAE,OAAO;aACjC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO;oBACL,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC/B,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,EAAE;oBAC/D,YAAY,EAAE,WAAW;iBAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,SAAS,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE/B,mDAAmD;YACnD,IAAI,iBAAgC,CAAC;YACrC,IAAI,CAAC;gBACH,iBAAiB,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,WAAW,CAAC,IAAI,CAAC;oBACf,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,SAAS,CAAC,IAAI,EAAE;oBACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;iBAC1E,CAAC,CAAC;gBACH,OAAO;oBACL,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ;oBAC1C,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC/B,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,aAAa,MAAM,CAAC,GAAG,CAAC,EAAE;oBACtE,YAAY,EAAE,WAAW;iBAC1B,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;YAC/D,WAAW,CAAC,IAAI,CAAC;gBACf,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBAC/B,MAAM,EAAE,UAAU,SAAS,CAAC,IAAI,EAAE;gBAClC,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;aACtC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO;oBACL,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI;oBACb,MAAM,EAAE,QAAQ;oBAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;oBAC/B,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,SAAS,CAAC,IAAI,aAAa,MAAM,CAAC,KAAK,IAAI,yBAAyB,EAAE;oBACpG,YAAY,EAAE,WAAW;iBAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO;YACL,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC/B,YAAY,EAAE,WAAW;SAC1B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,MAAM,EAAE,QAAQ;YAChB,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK;YAC/B,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC;YAClB,YAAY,EAAE,WAAW;SAC1B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,qBAAqB,CAAC,IAAU;IAC7C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO,EAAE,0BAA0B,GAAG,EAAE,EAAE,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,WAAW,CACxB,IAAU,EACV,IAAc,EACd,OAAe;IAEf,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAE3B,IAAI,CAAC;QACH,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBACvC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACnC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;gBACzC,CAAC;gBACD,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,OAAO;gBACV,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACxD,KAAK,MAAM,CAAC;YACZ,KAAK,MAAM;gBACT,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACzE,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;gBACjC,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;YACD,KAAK,MAAM;gBACT,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;YAC1E,KAAK,QAAQ;gBACX,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;YAC5E,KAAK,OAAO;gBACV,OAAO,MAAM,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;YACxD,KAAK,QAAQ;gBACX,OAAO,MAAM,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACjF,KAAK,UAAU,CAAC,CAAC,CAAC;gBAChB,IAAI,IAAI,CAAC,SAAS,KAAK,YAAY,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;oBAC1F,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC9E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YACvF,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,sBAAsB,EAAE,CAAC;gBAC7D,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YAC3B,CAAC;YACD,KAAK,WAAW;gBACd,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC;YACzE,KAAK,aAAa,CAAC,CAAC,CAAC;gBACnB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBACxE,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qCAAqC,EAAE,CAAC;gBAC1E,CAAC;gBACD,OAAO,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YACxE,CAAC;YACD,KAAK,UAAU;gBACb,OAAO,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YAC3E,KAAK,SAAS;gBACZ,OAAO,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,YAAY;gBACf,OAAO,MAAM,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACvC,KAAK,QAAQ;gBACX,gDAAgD;gBAChD,OAAO,gBAAgB,CAAC,IAAI,EAAE,IAAgC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC3E,OAAO,EAAE,CAAC,CAAC,IAAI;oBACf,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC,CAAC;YACN;gBACE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAChD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB,CAC7B,IAAU,EACV,SAAwB;IAExB,OAAO,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE;QAC9B,IAAI,EAAE,SAAS,CAAC,IAA6B;QAC7C,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,IAAI,EAAE,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,cAAc;QAChD,GAAG,EAAE,SAAS,CAAC,GAAG;QAClB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,cAAc;KACnD,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,gFAAgF;AAChF,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,OAAO,CACL,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC1B,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC3B,KAAK,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5B,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QACzB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAC1B,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,SAAS,iBAAiB,CAAC,KAAyB;IAClD,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9F,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,mBAAmB,CAAC;IACxF,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,6FAA6F;AAC7F,SAAS,oBAAoB,CAAC,OAAmB;IAC/C,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC;QACpG,IAAI,CAAC,CAAC,MAAM,IAAI,GAAG;YAAE,OAAO,IAAI,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
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.
|
|
4
|
-
"description": "FastTest Agent —
|
|
3
|
+
"version": "0.4.1",
|
|
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": "
|
|
56
|
+
"license": "Apache-2.0"
|
|
36
57
|
}
|