playwright-e2e-mcp 0.6.1 → 0.7.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 (57) hide show
  1. package/README.md +40 -8
  2. package/dist/cli/ci.js +3 -0
  3. package/dist/cli/ci.js.map +1 -1
  4. package/dist/cli/guard.d.ts +11 -0
  5. package/dist/cli/guard.js +80 -0
  6. package/dist/cli/guard.js.map +1 -0
  7. package/dist/cli/upload.d.ts +14 -0
  8. package/dist/cli/upload.js +81 -0
  9. package/dist/cli/upload.js.map +1 -0
  10. package/dist/http.d.ts +1 -1
  11. package/dist/http.js +1 -1
  12. package/dist/index.js +22 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/server.d.ts +2 -2
  15. package/dist/server.js +44 -6
  16. package/dist/server.js.map +1 -1
  17. package/dist/tools/analyze-history.d.ts +15 -0
  18. package/dist/tools/analyze-history.js +44 -9
  19. package/dist/tools/analyze-history.js.map +1 -1
  20. package/dist/tools/check-test-change.d.ts +44 -0
  21. package/dist/tools/check-test-change.js +132 -0
  22. package/dist/tools/check-test-change.js.map +1 -0
  23. package/dist/tools/get-run-status.js +8 -2
  24. package/dist/tools/get-run-status.js.map +1 -1
  25. package/dist/tools/probe-script.js +93 -1
  26. package/dist/tools/probe-script.js.map +1 -1
  27. package/dist/tools/quarantine.d.ts +61 -0
  28. package/dist/tools/quarantine.js +133 -0
  29. package/dist/tools/quarantine.js.map +1 -0
  30. package/dist/tools/run-test.d.ts +10 -1
  31. package/dist/tools/run-test.js +36 -5
  32. package/dist/tools/run-test.js.map +1 -1
  33. package/dist/tools/save-login.d.ts +142 -0
  34. package/dist/tools/save-login.js +264 -0
  35. package/dist/tools/save-login.js.map +1 -0
  36. package/dist/tools/shared.d.ts +24 -1
  37. package/dist/tools/shared.js +1 -1
  38. package/dist/tools/shared.js.map +1 -1
  39. package/dist/tools/structured.d.ts +8 -1
  40. package/dist/tools/structured.js +8 -1
  41. package/dist/tools/structured.js.map +1 -1
  42. package/dist/utils/pro-client.d.ts +29 -0
  43. package/dist/utils/pro-client.js +114 -0
  44. package/dist/utils/pro-client.js.map +1 -0
  45. package/dist/utils/quarantine.d.ts +64 -0
  46. package/dist/utils/quarantine.js +106 -0
  47. package/dist/utils/quarantine.js.map +1 -0
  48. package/dist/utils/test-change-guard.d.ts +69 -0
  49. package/dist/utils/test-change-guard.js +391 -0
  50. package/dist/utils/test-change-guard.js.map +1 -0
  51. package/dist/utils/totp.d.ts +26 -0
  52. package/dist/utils/totp.js +84 -0
  53. package/dist/utils/totp.js.map +1 -0
  54. package/package.json +1 -1
  55. package/skill/playwright-e2e-mcp/SKILL.md +41 -7
  56. package/skill/playwright-e2e-mcp/references/setup.md +7 -1
  57. package/skill/playwright-e2e-mcp/references/tools.md +41 -0
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,11 @@ declare const analyzeHistoryInput: z.ZodObject<{
20
20
  test: z.ZodOptional<z.ZodString>;
21
21
  lastRuns: z.ZodOptional<z.ZodNumber>;
22
22
  limit: z.ZodOptional<z.ZodNumber>;
23
+ source: z.ZodOptional<z.ZodEnum<{
24
+ both: "both";
25
+ cloud: "cloud";
26
+ local: "local";
27
+ }>>;
23
28
  projectRoot: z.ZodOptional<z.ZodString>;
24
29
  }, z.core.$strip>;
25
30
  export type AnalyzeHistoryInput = z.infer<typeof analyzeHistoryInput>;
@@ -35,6 +40,11 @@ export declare const analyzeHistorySchema: z.ZodObject<{
35
40
  test: z.ZodOptional<z.ZodString>;
36
41
  lastRuns: z.ZodOptional<z.ZodNumber>;
37
42
  limit: z.ZodOptional<z.ZodNumber>;
43
+ source: z.ZodOptional<z.ZodEnum<{
44
+ both: "both";
45
+ cloud: "cloud";
46
+ local: "local";
47
+ }>>;
38
48
  projectRoot: z.ZodOptional<z.ZodString>;
39
49
  }, z.core.$strip>;
40
50
  export declare const analyzeHistoryTool: {
@@ -52,6 +62,11 @@ export declare const analyzeHistoryTool: {
52
62
  test: z.ZodOptional<z.ZodString>;
53
63
  lastRuns: z.ZodOptional<z.ZodNumber>;
54
64
  limit: z.ZodOptional<z.ZodNumber>;
65
+ source: z.ZodOptional<z.ZodEnum<{
66
+ both: "both";
67
+ cloud: "cloud";
68
+ local: "local";
69
+ }>>;
55
70
  projectRoot: z.ZodOptional<z.ZodString>;
56
71
  }, z.core.$strip>;
57
72
  handler: (args: AnalyzeHistoryInput, ctx: ToolContext) => Promise<ToolResponse>;
@@ -8,6 +8,8 @@
8
8
  */
9
9
  import { z } from 'zod';
10
10
  import { breakingCommits, dailyTrend, failurePatterns, historyEnabled, HISTORY_DIR, rankFlaky, readHistory, slowTests, testStats, } from '../utils/run-history.js';
11
+ import { PlaywrightMcpError } from '../types/index.js';
12
+ import { fetchRuns, mergeRuns, proProjectName, proSettings } from '../utils/pro-client.js';
11
13
  import { clipLines, formatDuration, guard, markdownCell, resolveProjectRoot, toolText, } from './shared.js';
12
14
  const analyzeHistoryInput = z.object({
13
15
  view: z
@@ -17,6 +19,10 @@ const analyzeHistoryInput = z.object({
17
19
  test: z.string().optional().describe('Filter: substring of file or title'),
18
20
  lastRuns: z.number().int().min(2).max(500).optional().describe('Runs to analyze (default 30)'),
19
21
  limit: z.number().int().min(1).max(100).optional(),
22
+ source: z
23
+ .enum(['local', 'cloud', 'both'])
24
+ .optional()
25
+ .describe("With a Pro key: 'both' (default) merges this machine's runs with CI runs from Pro Cloud; 'cloud' or 'local' for one side"),
20
26
  projectRoot: z.string().optional(),
21
27
  });
22
28
  export const analyzeHistorySchema = analyzeHistoryInput;
@@ -32,10 +38,37 @@ function bar(rate, width = 10) {
32
38
  const filled = Math.round(Math.min(1, rate) * width);
33
39
  return `${'█'.repeat(filled)}${'░'.repeat(width - filled)}`;
34
40
  }
35
- function header(entries, requested) {
41
+ function header(entries, requested, note) {
36
42
  const first = entries[0]?.at.slice(0, 16).replace('T', ' ');
37
43
  const last = entries[entries.length - 1]?.at.slice(0, 16).replace('T', ' ');
38
- return [`**Window:** last ${entries.length} run(s)${entries.length < requested ? ` (all recorded)` : ''}, ${first} → ${last} UTC`, ''];
44
+ return [`**Window:** last ${entries.length} run(s)${entries.length < requested ? ` (all recorded)` : ''}, ${first} → ${last} UTC`, ...(note ? [note] : []), ''];
45
+ }
46
+ /**
47
+ * Local runs, plus Pro Cloud runs when a Pro key is set. Without a key this
48
+ * is exactly the local history and nothing leaves the machine.
49
+ */
50
+ async function loadEntries(root, requested, source) {
51
+ const settings = proSettings();
52
+ const wanted = source ?? (settings ? 'both' : 'local');
53
+ if (wanted === 'local')
54
+ return { entries: await readHistory(root, requested) };
55
+ if (!settings) {
56
+ throw new PlaywrightMcpError('Cloud history needs a Pro key', 'INVALID_INPUT', {
57
+ hint: "Set PW_MCP_PRO_KEY and PW_MCP_PRO_URL, or use source: 'local'.",
58
+ });
59
+ }
60
+ const local = wanted === 'both' ? await readHistory(root, requested) : [];
61
+ const project = await proProjectName(root);
62
+ try {
63
+ const cloud = await fetchRuns(settings, project, requested);
64
+ const entries = mergeRuns(local, cloud, requested);
65
+ return { entries, note: `**Source:** ${wanted === 'both' ? `${local.length} local run(s) + ` : ''}${cloud.length} Pro Cloud run(s) for \`${project}\`` };
66
+ }
67
+ catch (error) {
68
+ if (wanted === 'cloud')
69
+ throw error;
70
+ return { entries: local, note: `**Source:** local only; Pro Cloud failed: ${error.message}` };
71
+ }
39
72
  }
40
73
  export const analyzeHistoryTool = {
41
74
  name: 'analyze-history',
@@ -46,7 +79,9 @@ export const analyzeHistoryTool = {
46
79
  const requested = args.lastRuns ?? 30;
47
80
  const limit = args.limit ?? 15;
48
81
  const view = args.view ?? (args.test ? 'test' : 'flaky');
49
- let entries = await readHistory(root, requested);
82
+ const loaded = await loadEntries(root, requested, args.source);
83
+ let entries = loaded.entries;
84
+ const sourceNote = loaded.note;
50
85
  if (entries.length === 0) {
51
86
  return toolText([
52
87
  '## No run history yet',
@@ -66,7 +101,7 @@ export const analyzeHistoryTool = {
66
101
  const lines = [];
67
102
  if (view === 'test') {
68
103
  const stats = testStats(entries);
69
- lines.push(`## Test history${args.test ? ` — "${args.test}"` : ''}`, '', ...header(entries, requested));
104
+ lines.push(`## Test history${args.test ? ` — "${args.test}"` : ''}`, '', ...header(entries, requested, sourceNote));
70
105
  if (stats.length === 0) {
71
106
  lines.push('_No recorded runs include a matching test._');
72
107
  return toolText(lines.join('\n'));
@@ -87,7 +122,7 @@ export const analyzeHistoryTool = {
87
122
  }
88
123
  if (view === 'patterns') {
89
124
  const patterns = failurePatterns(entries);
90
- lines.push('## Failure patterns', '', ...header(entries, requested));
125
+ lines.push('## Failure patterns', '', ...header(entries, requested, sourceNote));
91
126
  if (patterns.length === 0) {
92
127
  lines.push('✅ No failures recorded in this window.');
93
128
  return toolText(lines.join('\n'));
@@ -109,7 +144,7 @@ export const analyzeHistoryTool = {
109
144
  }
110
145
  if (view === 'slow') {
111
146
  const slow = slowTests(entries);
112
- lines.push('## Slowest tests', '', ...header(entries, requested));
147
+ lines.push('## Slowest tests', '', ...header(entries, requested, sourceNote));
113
148
  if (slow.length === 0) {
114
149
  lines.push('_No passing runs with durations recorded yet._');
115
150
  return toolText(lines.join('\n'));
@@ -129,7 +164,7 @@ export const analyzeHistoryTool = {
129
164
  }
130
165
  if (view === 'trend') {
131
166
  const days = dailyTrend(entries);
132
- lines.push('## Stability by day', '', ...header(entries, requested));
167
+ lines.push('## Stability by day', '', ...header(entries, requested, sourceNote));
133
168
  lines.push('| day (UTC) | runs | tests run | failed | flaky | unstable | |', '| --- | ---: | ---: | ---: | ---: | ---: | --- |');
134
169
  for (const d of days.slice(-limit)) {
135
170
  lines.push(`| ${d.day} | ${d.runs} | ${d.executions} | ${d.failed} | ${d.flaky} | ${pct(d.unstableRate)} (${d.unstableTests} tests) | ${bar(d.unstableRate)} |`);
@@ -149,7 +184,7 @@ export const analyzeHistoryTool = {
149
184
  }
150
185
  if (view === 'commits') {
151
186
  const breaks = breakingCommits(entries);
152
- lines.push('## When each test went bad', '', ...header(entries, requested));
187
+ lines.push('## When each test went bad', '', ...header(entries, requested, sourceNote));
153
188
  if (breaks.length === 0) {
154
189
  lines.push('✅ No test is failing or flaky now.');
155
190
  return toolText(lines.join('\n'));
@@ -183,7 +218,7 @@ export const analyzeHistoryTool = {
183
218
  return toolText(lines.join('\n'));
184
219
  }
185
220
  const ranking = rankFlaky(entries);
186
- lines.push('## Flakiness ranking', '', ...header(entries, requested));
221
+ lines.push('## Flakiness ranking', '', ...header(entries, requested, sourceNote));
187
222
  if (ranking.flaky.length === 0 && ranking.broken.length === 0 && ranking.regressed.length === 0) {
188
223
  lines.push(`✅ No unstable tests: every recorded test behaved the same way across these runs (${ranking.stable} stable).`);
189
224
  if (entries.length < 3)
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-history.js","sourceRoot":"","sources":["../../src/tools/analyze-history.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-history.js","sourceRoot":"","sources":["../../src/tools/analyze-history.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Tool — check-test-change (heal guard): before a test fix is kept, check
3
+ * it did not make the test pass by checking less. Compares changed spec
4
+ * files with a git ref (default HEAD, i.e. the uncommitted changes), or a
5
+ * proposed new version of one file with what is on disk, and blocks
6
+ * deleted assertions, skipped or removed tests and `.only`; warns on
7
+ * weaker matchers, hard waits, forced clicks, swallowed errors and raised
8
+ * timeouts or retries.
9
+ */
10
+ import { z } from 'zod';
11
+ import type { ToolContext, ToolResponse } from '../types/index.js';
12
+ import type { GuardFileResult } from '../utils/test-change-guard.js';
13
+ declare const checkTestChangeInput: z.ZodObject<{
14
+ base: z.ZodOptional<z.ZodString>;
15
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
16
+ file: z.ZodOptional<z.ZodString>;
17
+ after: z.ZodOptional<z.ZodString>;
18
+ projectRoot: z.ZodOptional<z.ZodString>;
19
+ }, z.core.$strip>;
20
+ export type CheckTestChangeInput = z.infer<typeof checkTestChangeInput>;
21
+ export declare const checkTestChangeSchema: z.ZodObject<{
22
+ base: z.ZodOptional<z.ZodString>;
23
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
24
+ file: z.ZodOptional<z.ZodString>;
25
+ after: z.ZodOptional<z.ZodString>;
26
+ projectRoot: z.ZodOptional<z.ZodString>;
27
+ }, z.core.$strip>;
28
+ /** Refs we hand to git: no options, no shell metacharacters. */
29
+ export declare function assertGitRef(ref: string): string;
30
+ /** Compare every changed guarded file in the working tree with `base`. */
31
+ export declare function guardAgainstRef(root: string, base: string, only?: string[]): Promise<GuardFileResult[]>;
32
+ export declare const checkTestChangeTool: {
33
+ name: string;
34
+ description: string;
35
+ inputSchema: z.ZodObject<{
36
+ base: z.ZodOptional<z.ZodString>;
37
+ files: z.ZodOptional<z.ZodArray<z.ZodString>>;
38
+ file: z.ZodOptional<z.ZodString>;
39
+ after: z.ZodOptional<z.ZodString>;
40
+ projectRoot: z.ZodOptional<z.ZodString>;
41
+ }, z.core.$strip>;
42
+ handler: (args: CheckTestChangeInput, ctx: ToolContext) => Promise<ToolResponse>;
43
+ };
44
+ export {};
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Tool — check-test-change (heal guard): before a test fix is kept, check
3
+ * it did not make the test pass by checking less. Compares changed spec
4
+ * files with a git ref (default HEAD, i.e. the uncommitted changes), or a
5
+ * proposed new version of one file with what is on disk, and blocks
6
+ * deleted assertions, skipped or removed tests and `.only`; warns on
7
+ * weaker matchers, hard waits, forced clicks, swallowed errors and raised
8
+ * timeouts or retries.
9
+ */
10
+ import { execFile } from 'node:child_process';
11
+ import { readFile } from 'node:fs/promises';
12
+ import { promisify } from 'node:util';
13
+ import { z } from 'zod';
14
+ import { PlaywrightMcpError } from '../types/index.js';
15
+ import { joinProjectPath, relativeToRoot, sanitizeUserPath, toNativePath } from '../utils/path-utils.js';
16
+ import { guardFileChange, guardVerdict, isGuardedFile, renderGuardReport } from '../utils/test-change-guard.js';
17
+ import { guard, resolveProjectRoot, toolText } from './shared.js';
18
+ const execFileAsync = promisify(execFile);
19
+ const MAX_FILE_BYTES = 1_000_000;
20
+ const MAX_FILES = 200;
21
+ const checkTestChangeInput = z.object({
22
+ base: z
23
+ .string()
24
+ .optional()
25
+ .describe("Git ref to compare with: 'HEAD' (default: uncommitted changes), 'origin/main' (the whole branch)"),
26
+ files: z.array(z.string()).max(MAX_FILES).optional().describe('Only these files (default: every changed spec file and playwright config)'),
27
+ file: z.string().optional().describe('With after: the spec file a fix would change'),
28
+ after: z.string().max(MAX_FILE_BYTES).optional().describe("With file: the fix's full new file content, checked before it is written"),
29
+ projectRoot: z.string().optional().describe('Project directory (default: server root)'),
30
+ });
31
+ export const checkTestChangeSchema = checkTestChangeInput;
32
+ /** Refs we hand to git: no options, no shell metacharacters. */
33
+ export function assertGitRef(ref) {
34
+ const trimmed = ref.trim();
35
+ if (!/^[\w./~^@{}-]{1,200}$/.test(trimmed) || trimmed.startsWith('-') || trimmed.includes('..')) {
36
+ throw new PlaywrightMcpError(`Not a git ref: ${ref}`, 'INVALID_INPUT', { hint: "Use a branch, tag or commit, e.g. 'HEAD' or 'origin/main'." });
37
+ }
38
+ return trimmed;
39
+ }
40
+ async function git(root, args) {
41
+ const { stdout } = await execFileAsync('git', args, { cwd: toNativePath(root), maxBuffer: 8 * 1024 * 1024 });
42
+ return stdout;
43
+ }
44
+ async function readIfExists(file) {
45
+ return readFile(toNativePath(file), 'utf8').catch(() => undefined);
46
+ }
47
+ /** Compare every changed guarded file in the working tree with `base`. */
48
+ export async function guardAgainstRef(root, base, only) {
49
+ let top;
50
+ try {
51
+ top = (await git(root, ['rev-parse', '--show-toplevel'])).trim().replace(/\\/g, '/');
52
+ }
53
+ catch {
54
+ throw new PlaywrightMcpError('Not a git repository', 'INVALID_PATH', {
55
+ hint: 'Run it inside a git checkout, or pass file and after to check one proposed change.',
56
+ });
57
+ }
58
+ try {
59
+ await git(root, ['rev-parse', '--verify', '--quiet', `${base}^{commit}`]);
60
+ }
61
+ catch {
62
+ throw new PlaywrightMcpError(`Unknown git ref: ${base}`, 'INVALID_INPUT', { hint: 'Fetch it first (git fetch origin main) or use HEAD.' });
63
+ }
64
+ const changed = (await git(root, ['diff', '--name-only', '--no-renames', base, '--', '.']))
65
+ .split('\n')
66
+ .map((line) => line.trim())
67
+ .filter(Boolean);
68
+ const wanted = only?.map((f) => relativeToRoot(top, sanitizeUserPath(f, root)));
69
+ const files = changed.filter((f) => (wanted ? wanted.includes(f) : isGuardedFile(f))).slice(0, MAX_FILES);
70
+ const results = [];
71
+ for (const file of files) {
72
+ let before;
73
+ try {
74
+ before = await git(top, ['show', `${base}:${file}`]);
75
+ }
76
+ catch {
77
+ continue; // a new file: nothing to weaken
78
+ }
79
+ if (before.length > MAX_FILE_BYTES)
80
+ continue;
81
+ const after = await readIfExists(joinProjectPath(top, file));
82
+ results.push(guardFileChange(file, before, after));
83
+ }
84
+ return results;
85
+ }
86
+ export const checkTestChangeTool = {
87
+ name: 'check-test-change',
88
+ description: "Heal guard: check that changed tests were not made to pass by checking less. Compares spec files with a git ref (default HEAD = uncommitted changes) or one proposed file (file + after). BLOCK on deleted assertions, skipped/removed tests or .only; WARN on weaker matchers, waitForTimeout, force: true, swallowed errors, raised timeouts or retries. Run it after any AI fix, before committing.",
89
+ inputSchema: checkTestChangeSchema,
90
+ handler: async (args, ctx) => guard('check-test-change', async () => {
91
+ if (ctx.restricted) {
92
+ throw new PlaywrightMcpError('check-test-change is not available on this server', 'INVALID_PATH', {
93
+ hint: 'It reads the project checkout. Run the server locally.',
94
+ });
95
+ }
96
+ const root = await resolveProjectRoot(args.projectRoot, ctx);
97
+ let results;
98
+ let scope;
99
+ if (args.after !== undefined || args.file) {
100
+ if (!args.file || args.after === undefined) {
101
+ throw new PlaywrightMcpError('Pass file and after together', 'INVALID_INPUT', {
102
+ hint: 'Or leave both out to check the changes in the working tree against base.',
103
+ });
104
+ }
105
+ const absolute = sanitizeUserPath(args.file, root);
106
+ const before = await readIfExists(absolute);
107
+ if (before === undefined)
108
+ throw new PlaywrightMcpError(`File not found: ${args.file}`, 'INVALID_PATH');
109
+ results = [guardFileChange(relativeToRoot(root, absolute), before, args.after)];
110
+ scope = 'the file on disk → the proposed version';
111
+ }
112
+ else {
113
+ const base = assertGitRef(args.base ?? 'HEAD');
114
+ results = await guardAgainstRef(root, base, args.files);
115
+ scope = base === 'HEAD' ? 'last commit → working tree' : `\`${base}\` → working tree`;
116
+ }
117
+ const verdict = guardVerdict(results);
118
+ const findings = results.flatMap((r) => r.findings.map((f) => ({
119
+ file: r.file,
120
+ line: f.line ?? 1,
121
+ rule: f.rule,
122
+ severity: f.severity === 'block' ? 'high' : 'medium',
123
+ message: f.message,
124
+ ...(f.test ? { test: f.test } : {}),
125
+ })));
126
+ const text = results.length === 0
127
+ ? '## ✅ OK — no changed spec files\n\nNothing to compare: no spec file or playwright config differs from the base.'
128
+ : renderGuardReport(results, scope);
129
+ return toolText(text, { ok: verdict !== 'BLOCK', status: verdict, findings, total: findings.length });
130
+ }),
131
+ };
132
+ //# sourceMappingURL=check-test-change.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-test-change.js","sourceRoot":"","sources":["../../src/tools/check-test-change.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { PlaywrightMcpError } from '../types/index.js';
8
8
  import { getBackgroundRun, listBackgroundRuns } from '../utils/run-registry.js';
9
9
  import { formatDuration, guard, toolText } from './shared.js';
10
10
  import { runData } from './structured.js';
11
- import { renderRunResult } from './run-test.js';
11
+ import { passesWithQuarantine, quarantineSplit, renderRunResult } from './run-test.js';
12
12
  const getRunStatusInput = z.object({
13
13
  runId: z.string().optional(),
14
14
  waitSeconds: z
@@ -70,7 +70,13 @@ export const getRunStatusTool = {
70
70
  return toolText([`## 🛑 \`${run.id}\` ${run.status}`, '', run.error ?? 'The run stopped before producing a result.', ...footer].join('\n'), { ok: false, runId: run.id, status: run.status });
71
71
  }
72
72
  const took = run.finishedAt ? formatDuration(run.finishedAt - run.startedAt) : '—';
73
- return toolText([`_Background run \`${run.id}\` — ${run.status} after ${took}_`, '', renderRunResult(run.result, run.projectRoot), ...footer].join('\n'), { ok: run.result.ok, runId: run.id, status: run.status, run: runData(run.result) });
73
+ const split = await quarantineSplit(run.projectRoot, run.result);
74
+ return toolText([`_Background run \`${run.id}\` — ${run.status} after ${took}_`, '', renderRunResult(run.result, run.projectRoot, split), ...footer].join('\n'), {
75
+ ok: passesWithQuarantine(run.result, split),
76
+ runId: run.id,
77
+ status: run.status,
78
+ run: { ...runData(run.result), ...(split?.quarantined.length ? { quarantined: split.quarantined.length } : {}) },
79
+ });
74
80
  }),
75
81
  };
76
82
  //# sourceMappingURL=get-run-status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-run-status.js","sourceRoot":"","sources":["../../src/tools/get-run-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-run-status.js","sourceRoot":"","sources":["../../src/tools/get-run-status.ts"],"names":[],"mappings":"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"}