playwright-e2e-mcp 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/README.md +267 -1060
  2. package/dist/cli/ci.d.ts +5 -0
  3. package/dist/cli/ci.js +97 -5
  4. package/dist/cli/ci.js.map +1 -1
  5. package/dist/cli/doctor.d.ts +31 -0
  6. package/dist/cli/doctor.js +200 -0
  7. package/dist/cli/doctor.js.map +1 -0
  8. package/dist/cli/init.js +2 -1
  9. package/dist/cli/init.js.map +1 -1
  10. package/dist/cli/review.d.ts +50 -0
  11. package/dist/cli/review.js +148 -0
  12. package/dist/cli/review.js.map +1 -0
  13. package/dist/http.d.ts +15 -1
  14. package/dist/http.js +44 -8
  15. package/dist/http.js.map +1 -1
  16. package/dist/index.js +10 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/oauth.d.ts +10 -0
  19. package/dist/oauth.js +29 -1
  20. package/dist/oauth.js.map +1 -1
  21. package/dist/server.d.ts +2 -2
  22. package/dist/server.js +35 -3
  23. package/dist/server.js.map +1 -1
  24. package/dist/tools/audit-accessibility.d.ts +21 -0
  25. package/dist/tools/audit-accessibility.js +8 -1
  26. package/dist/tools/audit-accessibility.js.map +1 -1
  27. package/dist/tools/audit-performance.d.ts +21 -0
  28. package/dist/tools/audit-performance.js +13 -1
  29. package/dist/tools/audit-performance.js.map +1 -1
  30. package/dist/tools/audit-tests.d.ts +62 -0
  31. package/dist/tools/audit-tests.js +209 -0
  32. package/dist/tools/audit-tests.js.map +1 -0
  33. package/dist/tools/bisect-failure.d.ts +42 -0
  34. package/dist/tools/bisect-failure.js +291 -0
  35. package/dist/tools/bisect-failure.js.map +1 -0
  36. package/dist/tools/compare-visual-state.d.ts +21 -0
  37. package/dist/tools/diagnose-flaky.js +20 -3
  38. package/dist/tools/diagnose-flaky.js.map +1 -1
  39. package/dist/tools/get-failure.js +11 -2
  40. package/dist/tools/get-failure.js.map +1 -1
  41. package/dist/tools/get-run-status.js +4 -3
  42. package/dist/tools/get-run-status.js.map +1 -1
  43. package/dist/tools/inspect-page.d.ts +21 -0
  44. package/dist/tools/list-tests.js +5 -1
  45. package/dist/tools/list-tests.js.map +1 -1
  46. package/dist/tools/probe-script.js +33 -1
  47. package/dist/tools/probe-script.js.map +1 -1
  48. package/dist/tools/run-test.js +3 -2
  49. package/dist/tools/run-test.js.map +1 -1
  50. package/dist/tools/shared.d.ts +17 -1
  51. package/dist/tools/shared.js +69 -5
  52. package/dist/tools/shared.js.map +1 -1
  53. package/dist/tools/structured.d.ts +326 -0
  54. package/dist/tools/structured.js +170 -0
  55. package/dist/tools/structured.js.map +1 -0
  56. package/dist/tools/suggest-fix.js +14 -4
  57. package/dist/tools/suggest-fix.js.map +1 -1
  58. package/dist/tools/validate-selector.d.ts +21 -0
  59. package/dist/utils/attempt-limiter.d.ts +31 -0
  60. package/dist/utils/attempt-limiter.js +58 -0
  61. package/dist/utils/attempt-limiter.js.map +1 -0
  62. package/dist/utils/bisect.d.ts +31 -0
  63. package/dist/utils/bisect.js +47 -0
  64. package/dist/utils/bisect.js.map +1 -0
  65. package/dist/utils/flake-rules.d.ts +46 -0
  66. package/dist/utils/flake-rules.js +327 -0
  67. package/dist/utils/flake-rules.js.map +1 -0
  68. package/dist/utils/project-detector.js +2 -2
  69. package/dist/utils/project-detector.js.map +1 -1
  70. package/dist/utils/serverless-chromium.d.ts +32 -0
  71. package/dist/utils/serverless-chromium.js +64 -0
  72. package/dist/utils/serverless-chromium.js.map +1 -0
  73. package/package.json +7 -5
  74. package/skill/playwright-e2e-mcp/SKILL.md +14 -2
  75. package/skill/playwright-e2e-mcp/references/setup.md +2 -2
  76. package/skill/playwright-e2e-mcp/references/tools.md +32 -0
@@ -9,8 +9,12 @@
9
9
  import { z } from 'zod';
10
10
  import type { ErrorKind, FailureKind, ProjectDetection, TestFailure, ToolContext, ToolResponse, ToolStore } from '../types/index.js';
11
11
  import type { LocatorCall } from '../utils/locator-expr.js';
12
+ import type { StructuredResult } from './structured.js';
12
13
  export declare function createToolStore(): ToolStore;
13
- export declare function toolText(markdown: string): ToolResponse;
14
+ /** A Markdown result, with structured fields beside it when the tool has them. */
15
+ export declare function toolText(markdown: string, data?: Omit<StructuredResult, 'ok'> & {
16
+ ok?: boolean;
17
+ }): ToolResponse;
14
18
  export declare function toolError(kind: ErrorKind | 'ERROR', message: string, hint?: string, details?: string): ToolResponse;
15
19
  /** Run a tool body, converting any thrown error into a tool response. */
16
20
  export declare function guard(label: string, fn: () => Promise<ToolResponse>): Promise<ToolResponse>;
@@ -141,6 +145,13 @@ export declare const pageStateShape: {
141
145
  firefox: "firefox";
142
146
  webkit: "webkit";
143
147
  }>>;
148
+ device: z.ZodOptional<z.ZodString>;
149
+ channel: z.ZodOptional<z.ZodEnum<{
150
+ chrome: "chrome";
151
+ "chrome-beta": "chrome-beta";
152
+ msedge: "msedge";
153
+ "msedge-beta": "msedge-beta";
154
+ }>>;
144
155
  };
145
156
  export interface PageStateInput {
146
157
  storageState?: string;
@@ -158,7 +169,10 @@ export interface PageStateInput {
158
169
  notFound?: 'abort' | 'fallback';
159
170
  };
160
171
  browser?: BrowserEngine;
172
+ device?: string;
173
+ channel?: BrowserChannel;
161
174
  }
175
+ export type BrowserChannel = 'chrome' | 'chrome-beta' | 'msedge' | 'msedge-beta';
162
176
  export type BrowserEngine = 'chromium' | 'firefox' | 'webkit';
163
177
  export interface ResolvedRouteMock {
164
178
  url: string;
@@ -194,6 +208,8 @@ export interface ResolvedPageState {
194
208
  notFound: 'abort' | 'fallback';
195
209
  };
196
210
  browser?: BrowserEngine;
211
+ device?: string;
212
+ channel?: BrowserChannel;
197
213
  }
198
214
  /** Validate network mocks and turn each into a plain fulfil/abort/delay spec. */
199
215
  export declare function resolveRouteMocks(routes: NonNullable<PageStateInput['routes']>): ResolvedRouteMock[];
@@ -17,6 +17,7 @@ import { HOSTED_NO_BROWSER, isHostedDeployment, selectConfig } from '../utils/pr
17
17
  import { childEnv, runProcess } from '../utils/playwright-runner.js';
18
18
  import { extractJsonFromText } from '../utils/report-parser.js';
19
19
  import { BLOCKED_RANGES, assertUrlAllowed, blockPrivateUrls } from '../utils/url-policy.js';
20
+ import { serverlessChromium, serverlessChromiumEnabled } from '../utils/serverless-chromium.js';
20
21
  /* ------------------------------------------------------------------ */
21
22
  /* State + responses */
22
23
  /* ------------------------------------------------------------------ */
@@ -31,8 +32,9 @@ export function createToolStore() {
31
32
  },
32
33
  };
33
34
  }
34
- export function toolText(markdown) {
35
- return { content: [{ type: 'text', text: markdown }] };
35
+ /** A Markdown result, with structured fields beside it when the tool has them. */
36
+ export function toolText(markdown, data) {
37
+ return { content: [{ type: 'text', text: markdown }], structuredContent: { ok: true, ...data } };
36
38
  }
37
39
  export function toolError(kind, message, hint, details) {
38
40
  if (kind === 'NO_PLAYWRIGHT' && isHostedDeployment()) {
@@ -43,7 +45,11 @@ export function toolError(kind, message, hint, details) {
43
45
  lines.push('', '**How to fix:**', hint);
44
46
  if (details)
45
47
  lines.push('', '```text', details.trim(), '```');
46
- return { content: [{ type: 'text', text: lines.join('\n') }], isError: true };
48
+ return {
49
+ content: [{ type: 'text', text: lines.join('\n') }],
50
+ structuredContent: { ok: false, error: { kind, message, ...(hint ? { hint } : {}) } },
51
+ isError: true,
52
+ };
47
53
  }
48
54
  /** Run a tool body, converting any thrown error into a tool response. */
49
55
  export async function guard(label, fn) {
@@ -306,6 +312,16 @@ export const pageStateShape = {
306
312
  })
307
313
  .optional(),
308
314
  browser: z.enum(['chromium', 'firefox', 'webkit']).optional().describe('Engine (default chromium)'),
315
+ device: z
316
+ .string()
317
+ .min(2)
318
+ .max(60)
319
+ .optional()
320
+ .describe("Playwright device preset, e.g. 'iPhone 15', 'Pixel 7', 'iPad Pro 11' (viewport, user agent, touch)"),
321
+ channel: z
322
+ .enum(['chrome', 'chrome-beta', 'msedge', 'msedge-beta'])
323
+ .optional()
324
+ .describe('Branded Chromium to launch instead of the bundled one (must be installed)'),
309
325
  };
310
326
  /**
311
327
  * Validate a HAR option. The file (and, when recording, its folder) must
@@ -444,6 +460,11 @@ export async function resolvePageState(input, root, entryUrl, ctx) {
444
460
  if (input.har)
445
461
  out.har = await resolveHar(input.har, root, ctx);
446
462
  if (input.browser && input.browser !== 'chromium') {
463
+ if (serverlessChromiumEnabled()) {
464
+ throw new PlaywrightMcpError(`${input.browser} is not available on the hosted endpoint`, 'INVALID_PATH', {
465
+ hint: "The hosted endpoint bundles Chromium only. Use 'chromium', or run the server locally for Firefox and WebKit.",
466
+ });
467
+ }
447
468
  if (input.browser === 'webkit' && blockPrivateUrls()) {
448
469
  throw new PlaywrightMcpError('webkit is not available while private addresses are blocked', 'INVALID_PATH', {
449
470
  hint: "WebKit cannot route every connection through the address guard. Use 'chromium' or 'firefox'.",
@@ -451,6 +472,28 @@ export async function resolvePageState(input, root, entryUrl, ctx) {
451
472
  }
452
473
  out.browser = input.browser;
453
474
  }
475
+ if (input.device) {
476
+ // Checked against the project's own Playwright device list in the browser child.
477
+ if (!/^[\w .()+-]+$/.test(input.device)) {
478
+ throw new PlaywrightMcpError(`device "${input.device}" is not a Playwright device name`, 'INVALID_PATH', {
479
+ hint: "Use a name from Playwright's device list, e.g. 'iPhone 15' or 'Pixel 7'.",
480
+ });
481
+ }
482
+ out.device = input.device.trim();
483
+ }
484
+ if (input.channel) {
485
+ if ((input.browser ?? 'chromium') !== 'chromium') {
486
+ throw new PlaywrightMcpError(`channel ${input.channel} needs the chromium engine`, 'INVALID_PATH', {
487
+ hint: 'Leave browser unset (or chromium) when you pick a channel.',
488
+ });
489
+ }
490
+ if (serverlessChromiumEnabled()) {
491
+ throw new PlaywrightMcpError(`channel ${input.channel} is not available on the hosted endpoint`, 'INVALID_PATH', {
492
+ hint: 'The hosted endpoint bundles one Chromium build. Run the server locally to test in Chrome or Edge.',
493
+ });
494
+ }
495
+ out.channel = input.channel;
496
+ }
454
497
  if (input.routes && input.routes.length > 0)
455
498
  out.routes = resolveRouteMocks(input.routes);
456
499
  if (input.actions && input.actions.length > 0) {
@@ -509,6 +552,10 @@ export function describePageState(state, root) {
509
552
  }
510
553
  if (state.browser)
511
554
  parts.push(state.browser);
555
+ if (state.channel)
556
+ parts.push(state.channel);
557
+ if (state.device)
558
+ parts.push(`device \`${state.device}\``);
512
559
  return parts.length > 0 ? parts.join(' · ') : undefined;
513
560
  }
514
561
  /** One line per network mock with how often it matched; unmatched mocks are flagged. */
@@ -540,16 +587,33 @@ export function bestLocator(element) {
540
587
  * Playwright, killing the whole tree on timeout or client disconnect.
541
588
  */
542
589
  export async function runBrowserScript(config, options) {
590
+ let serverless;
591
+ try {
592
+ serverless = await serverlessChromium();
593
+ }
594
+ catch (err) {
595
+ return {
596
+ ok: false,
597
+ kind: 'BROWSER_CRASH',
598
+ error: `Could not unpack the bundled Chromium: ${err instanceof Error ? err.message : String(err)}`,
599
+ hint: 'Retry once; if it keeps failing, the function may be out of temp space or memory.',
600
+ };
601
+ }
543
602
  const scriptPath = tempFilePath('pw-mcp-probe', '.cjs');
544
603
  const configPath = tempFilePath('pw-mcp-probe', '.json');
545
604
  await writeFile(scriptPath, PROBE_SCRIPT, 'utf8');
546
605
  // The config travels in a file: actions and snapshot paths can outgrow
547
606
  // the Windows command-line limit.
548
- await writeFile(configPath, JSON.stringify({ ...config, blockPrivate: blockPrivateUrls(), blockedRanges: BLOCKED_RANGES }), 'utf8');
607
+ await writeFile(configPath, JSON.stringify({
608
+ ...config,
609
+ blockPrivate: blockPrivateUrls(),
610
+ blockedRanges: BLOCKED_RANGES,
611
+ ...(serverless ? { serverlessChromium: { executablePath: serverless.executablePath, args: serverless.args } } : {}),
612
+ }), 'utf8');
549
613
  try {
550
614
  const outcome = await runProcess(process.execPath, [scriptPath, configPath], {
551
615
  cwd: config.projectRoot,
552
- env: childEnv({ FORCE_COLOR: '0' }),
616
+ env: childEnv({ FORCE_COLOR: '0', ...serverless?.env }),
553
617
  timeoutMs: options.timeoutMs ?? 45_000,
554
618
  signal: options.signal,
555
619
  });
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/tools/shared.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,326 @@
1
+ /**
2
+ * Structured results: every tool returns, next to its Markdown, a JSON
3
+ * object (`structuredContent`) described by an output schema, so agents
4
+ * and apps can read verdicts, counts and file:line positions without
5
+ * parsing prose.
6
+ *
7
+ * All results share an envelope (`ok`, and `error` when the call failed);
8
+ * the tools agents chain most also fill in their own fields. Every field
9
+ * past `ok` is optional, so a tool may add detail without breaking older
10
+ * readers.
11
+ */
12
+ import { z } from 'zod';
13
+ import type { RunTestResult, TestFailure } from '../types/index.js';
14
+ declare const failureSchema: z.ZodObject<{
15
+ file: z.ZodString;
16
+ line: z.ZodOptional<z.ZodNumber>;
17
+ title: z.ZodString;
18
+ project: z.ZodOptional<z.ZodString>;
19
+ kind: z.ZodString;
20
+ message: z.ZodString;
21
+ tracePath: z.ZodOptional<z.ZodString>;
22
+ }, z.core.$strip>;
23
+ declare const runSchema: z.ZodObject<{
24
+ passed: z.ZodNumber;
25
+ failed: z.ZodNumber;
26
+ flaky: z.ZodNumber;
27
+ skipped: z.ZodNumber;
28
+ durationMs: z.ZodNumber;
29
+ exitCode: z.ZodNullable<z.ZodNumber>;
30
+ partial: z.ZodBoolean;
31
+ failures: z.ZodArray<z.ZodObject<{
32
+ file: z.ZodString;
33
+ line: z.ZodOptional<z.ZodNumber>;
34
+ title: z.ZodString;
35
+ project: z.ZodOptional<z.ZodString>;
36
+ kind: z.ZodString;
37
+ message: z.ZodString;
38
+ tracePath: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strip>>;
40
+ failuresTruncated: z.ZodOptional<z.ZodBoolean>;
41
+ }, z.core.$strip>;
42
+ /** Output schema shared by every tool: the envelope plus each tool's fields. */
43
+ export declare const toolOutputSchema: z.ZodObject<{
44
+ ok: z.ZodBoolean;
45
+ error: z.ZodOptional<z.ZodObject<{
46
+ kind: z.ZodString;
47
+ message: z.ZodString;
48
+ hint: z.ZodOptional<z.ZodString>;
49
+ }, z.core.$strip>>;
50
+ run: z.ZodOptional<z.ZodObject<{
51
+ passed: z.ZodNumber;
52
+ failed: z.ZodNumber;
53
+ flaky: z.ZodNumber;
54
+ skipped: z.ZodNumber;
55
+ durationMs: z.ZodNumber;
56
+ exitCode: z.ZodNullable<z.ZodNumber>;
57
+ partial: z.ZodBoolean;
58
+ failures: z.ZodArray<z.ZodObject<{
59
+ file: z.ZodString;
60
+ line: z.ZodOptional<z.ZodNumber>;
61
+ title: z.ZodString;
62
+ project: z.ZodOptional<z.ZodString>;
63
+ kind: z.ZodString;
64
+ message: z.ZodString;
65
+ tracePath: z.ZodOptional<z.ZodString>;
66
+ }, z.core.$strip>>;
67
+ failuresTruncated: z.ZodOptional<z.ZodBoolean>;
68
+ }, z.core.$strip>>;
69
+ runId: z.ZodOptional<z.ZodString>;
70
+ status: z.ZodOptional<z.ZodString>;
71
+ failure: z.ZodOptional<z.ZodObject<{
72
+ file: z.ZodString;
73
+ line: z.ZodOptional<z.ZodNumber>;
74
+ title: z.ZodString;
75
+ project: z.ZodOptional<z.ZodString>;
76
+ kind: z.ZodString;
77
+ message: z.ZodString;
78
+ tracePath: z.ZodOptional<z.ZodString>;
79
+ expected: z.ZodOptional<z.ZodString>;
80
+ actual: z.ZodOptional<z.ZodString>;
81
+ }, z.core.$strip>>;
82
+ index: z.ZodOptional<z.ZodNumber>;
83
+ total: z.ZodOptional<z.ZodNumber>;
84
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
85
+ file: z.ZodString;
86
+ line: z.ZodOptional<z.ZodNumber>;
87
+ title: z.ZodString;
88
+ project: z.ZodOptional<z.ZodString>;
89
+ verdict: z.ZodOptional<z.ZodEnum<{
90
+ "CONSISTENTLY FAILING": "CONSISTENTLY FAILING";
91
+ FLAKY: "FLAKY";
92
+ "NO TESTS RAN": "NO TESTS RAN";
93
+ "NOT REPRODUCING": "NOT REPRODUCING";
94
+ }>>;
95
+ passed: z.ZodOptional<z.ZodNumber>;
96
+ failed: z.ZodOptional<z.ZodNumber>;
97
+ }, z.core.$strip>>>;
98
+ truncated: z.ZodOptional<z.ZodBoolean>;
99
+ verdict: z.ZodOptional<z.ZodEnum<{
100
+ "CONSISTENTLY FAILING": "CONSISTENTLY FAILING";
101
+ FLAKY: "FLAKY";
102
+ "NO TESTS RAN": "NO TESTS RAN";
103
+ "NOT REPRODUCING": "NOT REPRODUCING";
104
+ }>>;
105
+ fix: z.ZodOptional<z.ZodObject<{
106
+ file: z.ZodString;
107
+ line: z.ZodNumber;
108
+ before: z.ZodString;
109
+ after: z.ZodString;
110
+ kind: z.ZodEnum<{
111
+ expectation: "expectation";
112
+ locator: "locator";
113
+ }>;
114
+ confidence: z.ZodString;
115
+ why: z.ZodString;
116
+ alternatives: z.ZodOptional<z.ZodArray<z.ZodString>>;
117
+ }, z.core.$strip>>;
118
+ applied: z.ZodOptional<z.ZodBoolean>;
119
+ verified: z.ZodOptional<z.ZodBoolean>;
120
+ violations: z.ZodOptional<z.ZodArray<z.ZodObject<{
121
+ id: z.ZodString;
122
+ impact: z.ZodString;
123
+ help: z.ZodString;
124
+ helpUrl: z.ZodString;
125
+ count: z.ZodNumber;
126
+ }, z.core.$strip>>>;
127
+ metrics: z.ZodOptional<z.ZodArray<z.ZodObject<{
128
+ id: z.ZodEnum<{
129
+ cls: "cls";
130
+ fcp: "fcp";
131
+ inp: "inp";
132
+ lcp: "lcp";
133
+ tbt: "tbt";
134
+ ttfb: "ttfb";
135
+ }>;
136
+ value: z.ZodOptional<z.ZodNumber>;
137
+ unit: z.ZodEnum<{
138
+ ms: "ms";
139
+ score: "score";
140
+ }>;
141
+ rating: z.ZodOptional<z.ZodEnum<{
142
+ good: "good";
143
+ "needs-improvement": "needs-improvement";
144
+ poor: "poor";
145
+ }>>;
146
+ budget: z.ZodOptional<z.ZodNumber>;
147
+ overBudget: z.ZodBoolean;
148
+ }, z.core.$strip>>>;
149
+ url: z.ZodOptional<z.ZodString>;
150
+ findings: z.ZodOptional<z.ZodArray<z.ZodObject<{
151
+ file: z.ZodString;
152
+ line: z.ZodNumber;
153
+ rule: z.ZodString;
154
+ severity: z.ZodEnum<{
155
+ high: "high";
156
+ low: "low";
157
+ medium: "medium";
158
+ }>;
159
+ message: z.ZodString;
160
+ fix: z.ZodOptional<z.ZodString>;
161
+ test: z.ZodOptional<z.ZodString>;
162
+ }, z.core.$strip>>>;
163
+ firstBad: z.ZodOptional<z.ZodObject<{
164
+ sha: z.ZodString;
165
+ subject: z.ZodString;
166
+ author: z.ZodString;
167
+ date: z.ZodString;
168
+ files: z.ZodArray<z.ZodString>;
169
+ }, z.core.$strip>>;
170
+ steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
171
+ commit: z.ZodString;
172
+ verdict: z.ZodEnum<{
173
+ bad: "bad";
174
+ good: "good";
175
+ skip: "skip";
176
+ }>;
177
+ note: z.ZodOptional<z.ZodString>;
178
+ }, z.core.$strip>>>;
179
+ }, z.core.$strip>;
180
+ export type StructuredResult = z.infer<typeof toolOutputSchema>;
181
+ export declare function failureData(failure: TestFailure): z.infer<typeof failureSchema>;
182
+ export declare function runData(result: RunTestResult): z.infer<typeof runSchema>;
183
+ /**
184
+ * The output schema for one tool: the envelope plus only that tool's fields,
185
+ * so tools/list does not repeat every tool's fields sixteen times. Tools
186
+ * with no fields of their own declare none (their results still carry the
187
+ * envelope): each schema is context a client pays for on every request.
188
+ */
189
+ export declare function outputSchemaFor(toolName: string): z.ZodObject<{
190
+ ok: z.ZodBoolean;
191
+ error: z.ZodOptional<z.ZodObject<{
192
+ kind: z.ZodString;
193
+ message: z.ZodString;
194
+ hint: z.ZodOptional<z.ZodString>;
195
+ }, z.core.$strip>>;
196
+ run: z.ZodOptional<z.ZodObject<{
197
+ passed: z.ZodNumber;
198
+ failed: z.ZodNumber;
199
+ flaky: z.ZodNumber;
200
+ skipped: z.ZodNumber;
201
+ durationMs: z.ZodNumber;
202
+ exitCode: z.ZodNullable<z.ZodNumber>;
203
+ partial: z.ZodBoolean;
204
+ failures: z.ZodArray<z.ZodObject<{
205
+ file: z.ZodString;
206
+ line: z.ZodOptional<z.ZodNumber>;
207
+ title: z.ZodString;
208
+ project: z.ZodOptional<z.ZodString>;
209
+ kind: z.ZodString;
210
+ message: z.ZodString;
211
+ tracePath: z.ZodOptional<z.ZodString>;
212
+ }, z.core.$strip>>;
213
+ failuresTruncated: z.ZodOptional<z.ZodBoolean>;
214
+ }, z.core.$strip>>;
215
+ runId: z.ZodOptional<z.ZodString>;
216
+ status: z.ZodOptional<z.ZodString>;
217
+ failure: z.ZodOptional<z.ZodObject<{
218
+ file: z.ZodString;
219
+ line: z.ZodOptional<z.ZodNumber>;
220
+ title: z.ZodString;
221
+ project: z.ZodOptional<z.ZodString>;
222
+ kind: z.ZodString;
223
+ message: z.ZodString;
224
+ tracePath: z.ZodOptional<z.ZodString>;
225
+ expected: z.ZodOptional<z.ZodString>;
226
+ actual: z.ZodOptional<z.ZodString>;
227
+ }, z.core.$strip>>;
228
+ index: z.ZodOptional<z.ZodNumber>;
229
+ total: z.ZodOptional<z.ZodNumber>;
230
+ tests: z.ZodOptional<z.ZodArray<z.ZodObject<{
231
+ file: z.ZodString;
232
+ line: z.ZodOptional<z.ZodNumber>;
233
+ title: z.ZodString;
234
+ project: z.ZodOptional<z.ZodString>;
235
+ verdict: z.ZodOptional<z.ZodEnum<{
236
+ "CONSISTENTLY FAILING": "CONSISTENTLY FAILING";
237
+ FLAKY: "FLAKY";
238
+ "NO TESTS RAN": "NO TESTS RAN";
239
+ "NOT REPRODUCING": "NOT REPRODUCING";
240
+ }>>;
241
+ passed: z.ZodOptional<z.ZodNumber>;
242
+ failed: z.ZodOptional<z.ZodNumber>;
243
+ }, z.core.$strip>>>;
244
+ truncated: z.ZodOptional<z.ZodBoolean>;
245
+ verdict: z.ZodOptional<z.ZodEnum<{
246
+ "CONSISTENTLY FAILING": "CONSISTENTLY FAILING";
247
+ FLAKY: "FLAKY";
248
+ "NO TESTS RAN": "NO TESTS RAN";
249
+ "NOT REPRODUCING": "NOT REPRODUCING";
250
+ }>>;
251
+ fix: z.ZodOptional<z.ZodObject<{
252
+ file: z.ZodString;
253
+ line: z.ZodNumber;
254
+ before: z.ZodString;
255
+ after: z.ZodString;
256
+ kind: z.ZodEnum<{
257
+ expectation: "expectation";
258
+ locator: "locator";
259
+ }>;
260
+ confidence: z.ZodString;
261
+ why: z.ZodString;
262
+ alternatives: z.ZodOptional<z.ZodArray<z.ZodString>>;
263
+ }, z.core.$strip>>;
264
+ applied: z.ZodOptional<z.ZodBoolean>;
265
+ verified: z.ZodOptional<z.ZodBoolean>;
266
+ violations: z.ZodOptional<z.ZodArray<z.ZodObject<{
267
+ id: z.ZodString;
268
+ impact: z.ZodString;
269
+ help: z.ZodString;
270
+ helpUrl: z.ZodString;
271
+ count: z.ZodNumber;
272
+ }, z.core.$strip>>>;
273
+ metrics: z.ZodOptional<z.ZodArray<z.ZodObject<{
274
+ id: z.ZodEnum<{
275
+ cls: "cls";
276
+ fcp: "fcp";
277
+ inp: "inp";
278
+ lcp: "lcp";
279
+ tbt: "tbt";
280
+ ttfb: "ttfb";
281
+ }>;
282
+ value: z.ZodOptional<z.ZodNumber>;
283
+ unit: z.ZodEnum<{
284
+ ms: "ms";
285
+ score: "score";
286
+ }>;
287
+ rating: z.ZodOptional<z.ZodEnum<{
288
+ good: "good";
289
+ "needs-improvement": "needs-improvement";
290
+ poor: "poor";
291
+ }>>;
292
+ budget: z.ZodOptional<z.ZodNumber>;
293
+ overBudget: z.ZodBoolean;
294
+ }, z.core.$strip>>>;
295
+ url: z.ZodOptional<z.ZodString>;
296
+ findings: z.ZodOptional<z.ZodArray<z.ZodObject<{
297
+ file: z.ZodString;
298
+ line: z.ZodNumber;
299
+ rule: z.ZodString;
300
+ severity: z.ZodEnum<{
301
+ high: "high";
302
+ low: "low";
303
+ medium: "medium";
304
+ }>;
305
+ message: z.ZodString;
306
+ fix: z.ZodOptional<z.ZodString>;
307
+ test: z.ZodOptional<z.ZodString>;
308
+ }, z.core.$strip>>>;
309
+ firstBad: z.ZodOptional<z.ZodObject<{
310
+ sha: z.ZodString;
311
+ subject: z.ZodString;
312
+ author: z.ZodString;
313
+ date: z.ZodString;
314
+ files: z.ZodArray<z.ZodString>;
315
+ }, z.core.$strip>>;
316
+ steps: z.ZodOptional<z.ZodArray<z.ZodObject<{
317
+ commit: z.ZodString;
318
+ verdict: z.ZodEnum<{
319
+ bad: "bad";
320
+ good: "good";
321
+ skip: "skip";
322
+ }>;
323
+ note: z.ZodOptional<z.ZodString>;
324
+ }, z.core.$strip>>>;
325
+ }, z.core.$strip> | undefined;
326
+ export {};