@e2edev/e2e 0.12.0 → 0.13.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 (251) hide show
  1. package/README.md +4 -4
  2. package/dist/agent/act.d.ts +13 -7
  3. package/dist/agent/act.d.ts.map +1 -1
  4. package/dist/agent/act.js +122 -730
  5. package/dist/agent/act.js.map +1 -1
  6. package/dist/agent/action-dispatcher.d.ts +98 -0
  7. package/dist/agent/action-dispatcher.d.ts.map +1 -0
  8. package/dist/agent/action-dispatcher.js +319 -0
  9. package/dist/agent/action-dispatcher.js.map +1 -0
  10. package/dist/agent/actions.d.ts +16 -1
  11. package/dist/agent/actions.d.ts.map +1 -1
  12. package/dist/agent/actions.js +5 -1
  13. package/dist/agent/actions.js.map +1 -1
  14. package/dist/agent/default-agent.d.ts +1 -1
  15. package/dist/agent/default-agent.d.ts.map +1 -1
  16. package/dist/agent/default-agent.js +30 -9
  17. package/dist/agent/default-agent.js.map +1 -1
  18. package/dist/agent/executor.d.ts +30 -2
  19. package/dist/agent/executor.d.ts.map +1 -1
  20. package/dist/agent/executor.js.map +1 -1
  21. package/dist/agent/index.js +1 -1
  22. package/dist/agent/index.js.map +1 -1
  23. package/dist/agent/invocation.d.ts +4 -9
  24. package/dist/agent/invocation.d.ts.map +1 -1
  25. package/dist/agent/invocation.js +1 -6
  26. package/dist/agent/invocation.js.map +1 -1
  27. package/dist/agent/model/sdk.d.ts +1 -1
  28. package/dist/agent/model/sdk.js +1 -1
  29. package/dist/agent/observation-feed.d.ts +123 -0
  30. package/dist/agent/observation-feed.d.ts.map +1 -0
  31. package/dist/agent/observation-feed.js +281 -0
  32. package/dist/agent/observation-feed.js.map +1 -0
  33. package/dist/agent/observation.d.ts +14 -1
  34. package/dist/agent/observation.d.ts.map +1 -1
  35. package/dist/agent/observation.js +58 -2
  36. package/dist/agent/observation.js.map +1 -1
  37. package/dist/agent/operation-queue.d.ts +21 -0
  38. package/dist/agent/operation-queue.d.ts.map +1 -0
  39. package/dist/agent/operation-queue.js +27 -0
  40. package/dist/agent/operation-queue.js.map +1 -0
  41. package/dist/agent/pixels.d.ts +21 -0
  42. package/dist/agent/pixels.d.ts.map +1 -0
  43. package/dist/agent/pixels.js +85 -0
  44. package/dist/agent/pixels.js.map +1 -0
  45. package/dist/agent/point-tap.d.ts +52 -0
  46. package/dist/agent/point-tap.d.ts.map +1 -0
  47. package/dist/agent/point-tap.js +88 -0
  48. package/dist/agent/point-tap.js.map +1 -0
  49. package/dist/agent/primitives.d.ts +7 -1
  50. package/dist/agent/primitives.d.ts.map +1 -1
  51. package/dist/agent/primitives.js +96 -25
  52. package/dist/agent/primitives.js.map +1 -1
  53. package/dist/agent/replay.d.ts +8 -3
  54. package/dist/agent/replay.d.ts.map +1 -1
  55. package/dist/agent/replay.js +44 -15
  56. package/dist/agent/replay.js.map +1 -1
  57. package/dist/agent/screen-update.d.ts +50 -18
  58. package/dist/agent/screen-update.d.ts.map +1 -1
  59. package/dist/agent/screen-update.js +76 -94
  60. package/dist/agent/screen-update.js.map +1 -1
  61. package/dist/agent/step-accounting.d.ts +95 -0
  62. package/dist/agent/step-accounting.d.ts.map +1 -0
  63. package/dist/agent/step-accounting.js +201 -0
  64. package/dist/agent/step-accounting.js.map +1 -0
  65. package/dist/agent/step-cache.d.ts.map +1 -1
  66. package/dist/agent/step-cache.js +2 -2
  67. package/dist/agent/step-cache.js.map +1 -1
  68. package/dist/agent/tool-loop.d.ts.map +1 -1
  69. package/dist/agent/tool-loop.js +9 -2
  70. package/dist/agent/tool-loop.js.map +1 -1
  71. package/dist/agent/transcript-compaction.d.ts +38 -0
  72. package/dist/agent/transcript-compaction.d.ts.map +1 -0
  73. package/dist/agent/transcript-compaction.js +165 -0
  74. package/dist/agent/transcript-compaction.js.map +1 -0
  75. package/dist/cache/recorder.d.ts.map +1 -1
  76. package/dist/cache/recorder.js +20 -0
  77. package/dist/cache/recorder.js.map +1 -1
  78. package/dist/cache/trace.d.ts +28 -1
  79. package/dist/cache/trace.d.ts.map +1 -1
  80. package/dist/cache/trace.js +44 -0
  81. package/dist/cache/trace.js.map +1 -1
  82. package/dist/cli/index.d.ts.map +1 -1
  83. package/dist/cli/index.js +51 -25
  84. package/dist/cli/index.js.map +1 -1
  85. package/dist/cli/init/engine-versions.json +1 -1
  86. package/dist/cli/init/engines.d.ts +10 -1
  87. package/dist/cli/init/engines.d.ts.map +1 -1
  88. package/dist/cli/init/engines.js +10 -1
  89. package/dist/cli/init/engines.js.map +1 -1
  90. package/dist/cli/init/gateways.js +3 -3
  91. package/dist/cli/init/mcp-config.js +1 -1
  92. package/dist/cli/init/mcp-config.js.map +1 -1
  93. package/dist/cli/init/scaffold.js +1 -1
  94. package/dist/cli/init.js +2 -2
  95. package/dist/cli/init.js.map +1 -1
  96. package/dist/collect/collect.d.ts +8 -3
  97. package/dist/collect/collect.d.ts.map +1 -1
  98. package/dist/collect/collect.js +29 -5
  99. package/dist/collect/collect.js.map +1 -1
  100. package/dist/collect/registry.d.ts +20 -5
  101. package/dist/collect/registry.d.ts.map +1 -1
  102. package/dist/collect/registry.js +139 -54
  103. package/dist/collect/registry.js.map +1 -1
  104. package/dist/collect/select.js +3 -1
  105. package/dist/collect/select.js.map +1 -1
  106. package/dist/config/agent.d.ts +1 -7
  107. package/dist/config/agent.d.ts.map +1 -1
  108. package/dist/config/agent.js +5 -8
  109. package/dist/config/agent.js.map +1 -1
  110. package/dist/config/app.d.ts +24 -2
  111. package/dist/config/app.d.ts.map +1 -1
  112. package/dist/config/app.js +82 -15
  113. package/dist/config/app.js.map +1 -1
  114. package/dist/config/resolve.d.ts +15 -1
  115. package/dist/config/resolve.d.ts.map +1 -1
  116. package/dist/config/resolve.js +23 -5
  117. package/dist/config/resolve.js.map +1 -1
  118. package/dist/engine/contract.d.ts +9 -2
  119. package/dist/engine/contract.d.ts.map +1 -1
  120. package/dist/engine/contract.js.map +1 -1
  121. package/dist/engine/index.d.ts +18 -4
  122. package/dist/engine/index.d.ts.map +1 -1
  123. package/dist/engine/index.js +8 -0
  124. package/dist/engine/index.js.map +1 -1
  125. package/dist/engine/session.d.ts.map +1 -1
  126. package/dist/engine/session.js +3 -0
  127. package/dist/engine/session.js.map +1 -1
  128. package/dist/engine/surface.d.ts +6 -2
  129. package/dist/engine/surface.d.ts.map +1 -1
  130. package/dist/engine/surface.js.map +1 -1
  131. package/dist/expect/attempt.d.ts +15 -0
  132. package/dist/expect/attempt.d.ts.map +1 -0
  133. package/dist/expect/attempt.js +33 -0
  134. package/dist/expect/attempt.js.map +1 -0
  135. package/dist/expect/index.d.ts +7 -5
  136. package/dist/expect/index.d.ts.map +1 -1
  137. package/dist/expect/index.js +8 -1
  138. package/dist/expect/index.js.map +1 -1
  139. package/dist/expect/poll.d.ts +5 -0
  140. package/dist/expect/poll.d.ts.map +1 -0
  141. package/dist/expect/poll.js +118 -0
  142. package/dist/expect/poll.js.map +1 -0
  143. package/dist/expect/values.d.ts.map +1 -1
  144. package/dist/expect/values.js +6 -1
  145. package/dist/expect/values.js.map +1 -1
  146. package/dist/explore/body.d.ts.map +1 -1
  147. package/dist/explore/body.js +2 -0
  148. package/dist/explore/body.js.map +1 -1
  149. package/dist/explore/executor.js +16 -11
  150. package/dist/explore/executor.js.map +1 -1
  151. package/dist/explore/index.d.ts +3 -2
  152. package/dist/explore/index.d.ts.map +1 -1
  153. package/dist/explore/index.js +5 -5
  154. package/dist/explore/index.js.map +1 -1
  155. package/dist/explore/plan.d.ts.map +1 -1
  156. package/dist/explore/plan.js +16 -5
  157. package/dist/explore/plan.js.map +1 -1
  158. package/dist/explore/progress.d.ts +43 -0
  159. package/dist/explore/progress.d.ts.map +1 -0
  160. package/dist/explore/progress.js +9 -0
  161. package/dist/explore/progress.js.map +1 -0
  162. package/dist/explore/state.d.ts +13 -12
  163. package/dist/explore/state.d.ts.map +1 -1
  164. package/dist/explore/state.js +28 -11
  165. package/dist/explore/state.js.map +1 -1
  166. package/dist/internal/brands.d.ts +2 -0
  167. package/dist/internal/brands.d.ts.map +1 -1
  168. package/dist/internal/brands.js +2 -0
  169. package/dist/internal/brands.js.map +1 -1
  170. package/dist/internal/geometry.d.ts +13 -0
  171. package/dist/internal/geometry.d.ts.map +1 -0
  172. package/dist/internal/geometry.js +16 -0
  173. package/dist/internal/geometry.js.map +1 -0
  174. package/dist/internal/urls.d.ts +6 -0
  175. package/dist/internal/urls.d.ts.map +1 -1
  176. package/dist/internal/urls.js +28 -0
  177. package/dist/internal/urls.js.map +1 -1
  178. package/dist/mcp/catalog.d.ts +5 -4
  179. package/dist/mcp/catalog.d.ts.map +1 -1
  180. package/dist/mcp/catalog.js +5 -36
  181. package/dist/mcp/catalog.js.map +1 -1
  182. package/dist/mcp/server.js +1 -1
  183. package/dist/mcp/server.js.map +1 -1
  184. package/dist/mcp/session.d.ts.map +1 -1
  185. package/dist/mcp/session.js +4 -2
  186. package/dist/mcp/session.js.map +1 -1
  187. package/dist/report/list-explore.d.ts +109 -0
  188. package/dist/report/list-explore.d.ts.map +1 -0
  189. package/dist/report/list-explore.js +388 -0
  190. package/dist/report/list-explore.js.map +1 -0
  191. package/dist/report/list.d.ts +21 -0
  192. package/dist/report/list.d.ts.map +1 -1
  193. package/dist/report/list.js +79 -3
  194. package/dist/report/list.js.map +1 -1
  195. package/dist/report/running-tree.d.ts +7 -7
  196. package/dist/report/running-tree.d.ts.map +1 -1
  197. package/dist/report/running-tree.js +12 -13
  198. package/dist/report/running-tree.js.map +1 -1
  199. package/dist/run/app-ports.d.ts +17 -0
  200. package/dist/run/app-ports.d.ts.map +1 -0
  201. package/dist/run/app-ports.js +74 -0
  202. package/dist/run/app-ports.js.map +1 -0
  203. package/dist/run/events.d.ts +10 -5
  204. package/dist/run/events.d.ts.map +1 -1
  205. package/dist/run/events.js.map +1 -1
  206. package/dist/run/execute.d.ts.map +1 -1
  207. package/dist/run/execute.js +23 -6
  208. package/dist/run/execute.js.map +1 -1
  209. package/dist/run/extended-fixtures.d.ts +33 -0
  210. package/dist/run/extended-fixtures.d.ts.map +1 -0
  211. package/dist/run/extended-fixtures.js +91 -0
  212. package/dist/run/extended-fixtures.js.map +1 -0
  213. package/dist/run/fixtures.d.ts.map +1 -1
  214. package/dist/run/fixtures.js +17 -4
  215. package/dist/run/fixtures.js.map +1 -1
  216. package/dist/run/managed-process.d.ts +18 -0
  217. package/dist/run/managed-process.d.ts.map +1 -1
  218. package/dist/run/managed-process.js +101 -6
  219. package/dist/run/managed-process.js.map +1 -1
  220. package/dist/run/realm.d.ts +5 -4
  221. package/dist/run/realm.d.ts.map +1 -1
  222. package/dist/run/realm.js +8 -7
  223. package/dist/run/realm.js.map +1 -1
  224. package/dist/run/runner.d.ts +9 -3
  225. package/dist/run/runner.d.ts.map +1 -1
  226. package/dist/run/runner.js +10 -5
  227. package/dist/run/runner.js.map +1 -1
  228. package/dist/run/worker/entry.js +2 -1
  229. package/dist/run/worker/entry.js.map +1 -1
  230. package/dist/run/worker/protocol.d.ts +7 -1
  231. package/dist/run/worker/protocol.d.ts.map +1 -1
  232. package/dist/run/worker/protocol.js.map +1 -1
  233. package/dist/types.d.ts +69 -13
  234. package/dist/types.d.ts.map +1 -1
  235. package/package.json +6 -3
  236. package/skills/e2e/SKILL.md +4 -5
  237. package/skills/e2e/references/agent.md +25 -10
  238. package/skills/e2e/references/debugging.md +5 -5
  239. package/skills/e2e/references/explore.md +13 -7
  240. package/skills/e2e/references/mcp.md +3 -3
  241. package/skills/e2e/references/running.md +21 -17
  242. package/skills/e2e/references/setup.md +25 -12
  243. package/skills/e2e/references/writing-tests.md +12 -5
  244. package/dist/agent/model/router.d.ts +0 -36
  245. package/dist/agent/model/router.d.ts.map +0 -1
  246. package/dist/agent/model/router.js +0 -45
  247. package/dist/agent/model/router.js.map +0 -1
  248. package/dist/explore/reporter.d.ts +0 -11
  249. package/dist/explore/reporter.d.ts.map +0 -1
  250. package/dist/explore/reporter.js +0 -54
  251. package/dist/explore/reporter.js.map +0 -1
@@ -0,0 +1,109 @@
1
+ /**
2
+ * The list reporter's view of an `e2e explore` run, fed by its `explore`
3
+ * events: the exploration steps by title as they finish, each finding the
4
+ * moment it is reported, and at the end the record, a `Findings` section
5
+ * with the evidence, and the assessment. An exploration is one synthetic
6
+ * test whose failure is its verdict, so the view stands in for the file
7
+ * block, the test line, and the `Failed Tests` entry that test would get.
8
+ */
9
+ import type { ExploreBudgets, ExploreProgress } from '../explore/progress.ts';
10
+ import type { SerializedError } from '../internal/errors.ts';
11
+ import type { ReportExploreFinding, ReportExploreStep } from '../report/build.ts';
12
+ import type { ArtifactRecord } from '../run/records.ts';
13
+ import type { StepEvent } from '../run/steps.ts';
14
+ import { type Colors } from './format.ts';
15
+ import type { ShownEvent } from './list-model.ts';
16
+ /** One finished exploration step with what the view counted while it ran. */
17
+ interface FinishedStep {
18
+ readonly step: ReportExploreStep;
19
+ readonly actions: number;
20
+ readonly findings: number;
21
+ }
22
+ export declare class ExploreView {
23
+ private readonly pc;
24
+ private readonly now;
25
+ private readonly goal;
26
+ private readonly budgets;
27
+ private readonly startedMs;
28
+ private readonly steps;
29
+ private readonly findings;
30
+ private open;
31
+ /** What the planner is deciding while no step is open: nothing, the next step, or the closing assessment. */
32
+ private planning;
33
+ private ended;
34
+ private summary;
35
+ /** The exploration test's artifacts, once its result arrived: where a finding's screenshot is. */
36
+ private artifacts;
37
+ /** High-water mark of the live rows; the window pads up to it. */
38
+ private reservedRows;
39
+ constructor(pc: Colors, started: {
40
+ readonly goal: string;
41
+ readonly budgets: ExploreBudgets;
42
+ }, now?: () => number);
43
+ /** Applies one moment of the exploration. */
44
+ progress(progress: ExploreProgress): void;
45
+ /** The step that finished last, with what the view counted while it ran. */
46
+ get lastStep(): FinishedStep | undefined;
47
+ /** Counts one engine event of the step in progress as an action; the finding tool's own call is the finding. */
48
+ action(event: StepEvent): void;
49
+ /** The exploration test's result arrived: keep its artifacts, so findings can name their screenshots. */
50
+ result(artifacts: readonly ArtifactRecord[]): void;
51
+ /**
52
+ * Whether the exploration test's error is the verdict the findings already
53
+ * express: issues were found, so the test failed. Anything else (a provider
54
+ * failure, a run that explored nothing) is a failure worth its own entry.
55
+ */
56
+ isVerdict(error: SerializedError): boolean;
57
+ private get issues();
58
+ /**
59
+ * ` ❯ |web| Exploring <goal>`; the goal clipped to `maxWidth` when given.
60
+ * Once over, the glyph is the verdict: a cross when issues were found or
61
+ * the exploration never concluded, a check otherwise.
62
+ */
63
+ header(badge: string, verb: 'Exploring' | 'Explored', maxWidth?: number): string;
64
+ /** One finished step: glyph, number, title, then duration, actions, findings, and a non-passed status; its explanation under it. */
65
+ stepLines(finished: FinishedStep, indent?: string): string[];
66
+ /** One finding on one line: `⚑ high issue Title (/path)`. */
67
+ findingLine(finding: ReportExploreFinding, indent?: string): string;
68
+ /** `high issue`, `low warning`. */
69
+ private grade;
70
+ private severityColor;
71
+ /**
72
+ * The live window's running area: the header with its clock, the finished
73
+ * steps, and the step in progress with its latest calls and findings in
74
+ * time order, or the planner deciding. Sized to the screen as the running
75
+ * tree is: the step in progress has priority, older finished steps fold.
76
+ */
77
+ liveRows(badge: string, events: readonly ShownEvent[] | undefined, summary: readonly string[], now: number): string[];
78
+ /** The step in progress, or the planner at work, at most `budget` rows. */
79
+ private currentRows;
80
+ /** The step's calls and its findings, interleaved by time; the finding tool's own call gives way to the finding. */
81
+ private timeline;
82
+ /** The summary's `Findings` and `Steps` rows, in place of `Test Files` and `Tests`. */
83
+ summaryRows(): string[];
84
+ /** `3 passed`, `1 failed`, ... over the finished steps, zero counts left out. */
85
+ private outcomeParts;
86
+ /**
87
+ * The permanent record once the run is over. With a live window
88
+ * (`withSteps`) it was the steps' only home, so the header and every step
89
+ * print here; without one they streamed as they finished, and only why the
90
+ * exploration ended is left to say.
91
+ */
92
+ record(badge: string, withSteps: boolean): string[];
93
+ /**
94
+ * The `Findings` section: a banner, then one block per finding, issues
95
+ * before warnings and the most severe first, each with where it was seen,
96
+ * its screenshot, what was expected against what the screen showed, and
97
+ * the actions that reach it.
98
+ */
99
+ findingsSection(displayPath: (target: string) => string, artifactsRoot: string | undefined): string[];
100
+ /** The report-relative path of a finding's screenshot, shown as the reporter shows paths. */
101
+ private screenshot;
102
+ /** ` expected text…`, wrapped to the width with continuation lines under the text. */
103
+ private detail;
104
+ /** The agent's closing assessment, wrapped under its heading. */
105
+ assessment(): string[];
106
+ private banner;
107
+ }
108
+ export {};
109
+ //# sourceMappingURL=list-explore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-explore.d.ts","sourceRoot":"","sources":["../../src/report/list-explore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,388 @@
1
+ /**
2
+ * The list reporter's view of an `e2e explore` run, fed by its `explore`
3
+ * events: the exploration steps by title as they finish, each finding the
4
+ * moment it is reported, and at the end the record, a `Findings` section
5
+ * with the evidence, and the assessment. An exploration is one synthetic
6
+ * test whose failure is its verdict, so the view stands in for the file
7
+ * block, the test line, and the `Failed Tests` entry that test would get.
8
+ */
9
+ import path from 'node:path';
10
+ import { collapseText } from '../internal/text.js';
11
+ import { bounded, ellipsize, F_CHECK, F_CROSS, F_POINTER, formatTime, padTitle, rule, terminalColumns, terminalRows, visibleWidth, } from './format.js';
12
+ import { eventLine } from './list-steps.js';
13
+ import { WIDTH_MARGIN } from './live-window.js';
14
+ import { waitingRow } from './running-tree.js';
15
+ /** A finding, in the live window and the CI log. */
16
+ const F_FINDING = '⚑';
17
+ const F_DOWN_RIGHT = '↳';
18
+ /** Indentation of the exploration's rows under its header. */
19
+ const ROW_INDENT = ' ';
20
+ /** Indentation of the detail under a running exploration in the live window. */
21
+ const LIVE_INDENT = ' ';
22
+ /** Most recent calls of the step in progress the live window shows. */
23
+ const MAX_EVENTS = 6;
24
+ /** Rows the live window spends around the exploration: blank lines and the margin above the prompt. */
25
+ const CHROME_ROWS = 6;
26
+ /** Rows reserved for the exploration from the first paint, so the summary below does not jump. */
27
+ const RESERVED_ROWS = 14;
28
+ /** The tool call a finding stands in for; its own event is not an action. */
29
+ const FINDING_TOOL_EVENT = 'tool:report_finding';
30
+ /** Width of the label gutter in a finding's block: four for the number, then `expected `. */
31
+ const DETAIL_LABEL_WIDTH = 8;
32
+ const DETAIL_INDENT = ' ';
33
+ const SEVERITY_WORDS = {
34
+ 5: 'critical',
35
+ 4: 'high',
36
+ 3: 'medium',
37
+ 2: 'low',
38
+ 1: 'trivial',
39
+ };
40
+ const ENDED_TEXT = {
41
+ finished: 'the agent covered the goal',
42
+ 'step-limit': 'the step limit was reached',
43
+ time: 'the time budget ran out',
44
+ stuck: 'steps kept failing',
45
+ aborted: 'the run was cut short',
46
+ };
47
+ const STATUS_WORDS = {
48
+ passed: '',
49
+ failed: 'failed',
50
+ blocked: 'blocked',
51
+ exhausted: 'ended at its limit',
52
+ };
53
+ export class ExploreView {
54
+ pc;
55
+ now;
56
+ goal;
57
+ budgets;
58
+ startedMs;
59
+ steps = [];
60
+ findings = [];
61
+ open;
62
+ /** What the planner is deciding while no step is open: nothing, the next step, or the closing assessment. */
63
+ planning;
64
+ ended;
65
+ summary;
66
+ /** The exploration test's artifacts, once its result arrived: where a finding's screenshot is. */
67
+ artifacts = [];
68
+ /** High-water mark of the live rows; the window pads up to it. */
69
+ reservedRows = RESERVED_ROWS;
70
+ constructor(pc, started, now = Date.now) {
71
+ this.pc = pc;
72
+ this.now = now;
73
+ this.goal = started.goal;
74
+ this.budgets = started.budgets;
75
+ this.startedMs = now();
76
+ }
77
+ /** Applies one moment of the exploration. */
78
+ progress(progress) {
79
+ switch (progress.phase) {
80
+ case 'started':
81
+ break;
82
+ case 'planning':
83
+ this.planning = progress.closing ? 'closing' : 'step';
84
+ break;
85
+ case 'step-started':
86
+ this.planning = undefined;
87
+ this.open = { step: progress.step, actions: 0, findings: [] };
88
+ break;
89
+ case 'step-finished': {
90
+ const open = this.open;
91
+ this.open = undefined;
92
+ this.steps.push({ step: progress.step, actions: open?.actions ?? 0, findings: open?.findings.length ?? 0 });
93
+ break;
94
+ }
95
+ case 'finding':
96
+ this.findings.push(progress.finding);
97
+ this.open?.findings.push(progress.finding);
98
+ break;
99
+ case 'finished':
100
+ this.planning = undefined;
101
+ this.ended = progress.ended;
102
+ this.summary = progress.summary;
103
+ break;
104
+ }
105
+ }
106
+ /** The step that finished last, with what the view counted while it ran. */
107
+ get lastStep() {
108
+ return this.steps.at(-1);
109
+ }
110
+ /** Counts one engine event of the step in progress as an action; the finding tool's own call is the finding. */
111
+ action(event) {
112
+ if (this.open === undefined || event.kind !== 'engine' || event.name === FINDING_TOOL_EVENT)
113
+ return;
114
+ this.open.actions += 1;
115
+ }
116
+ /** The exploration test's result arrived: keep its artifacts, so findings can name their screenshots. */
117
+ result(artifacts) {
118
+ this.artifacts = artifacts;
119
+ }
120
+ /**
121
+ * Whether the exploration test's error is the verdict the findings already
122
+ * express: issues were found, so the test failed. Anything else (a provider
123
+ * failure, a run that explored nothing) is a failure worth its own entry.
124
+ */
125
+ isVerdict(error) {
126
+ return error.code === 'ASSERTION_FAILED' && this.issues.length > 0;
127
+ }
128
+ get issues() {
129
+ return this.findings.filter((finding) => finding.kind === 'issue');
130
+ }
131
+ /**
132
+ * ` ❯ |web| Exploring <goal>`; the goal clipped to `maxWidth` when given.
133
+ * Once over, the glyph is the verdict: a cross when issues were found or
134
+ * the exploration never concluded, a check otherwise.
135
+ */
136
+ header(badge, verb, maxWidth) {
137
+ const { pc } = this;
138
+ const glyph = verb === 'Exploring'
139
+ ? pc.yellow(F_POINTER)
140
+ : this.ended === undefined || this.issues.length > 0
141
+ ? pc.red(F_CROSS)
142
+ : pc.green(F_CHECK);
143
+ const head = ` ${pc.bold(glyph)} ${badge} ${pc.bold(verb)} `;
144
+ const goal = collapseText(this.goal);
145
+ return `${head}${maxWidth === undefined ? bounded(goal) : ellipsize(goal, Math.max(24, maxWidth - visibleWidth(head)))}`;
146
+ }
147
+ /** One finished step: glyph, number, title, then duration, actions, findings, and a non-passed status; its explanation under it. */
148
+ stepLines(finished, indent = ROW_INDENT) {
149
+ const { pc } = this;
150
+ const { step } = finished;
151
+ const glyph = step.status === 'passed' ? pc.green(F_CHECK) : step.status === 'failed' ? pc.red(F_CROSS) : pc.yellow(F_CROSS);
152
+ const tail = [
153
+ formatTime(step.durationMs),
154
+ ...(finished.actions > 0 ? [`${finished.actions} action${finished.actions === 1 ? '' : 's'}`] : []),
155
+ ...(finished.findings > 0 ? [`${finished.findings} finding${finished.findings === 1 ? '' : 's'}`] : []),
156
+ ].join(' · ');
157
+ const status = STATUS_WORDS[step.status];
158
+ const lines = [
159
+ `${indent}${glyph} ${pc.dim(String(step.index))} ${bounded(step.title)} ${pc.dim(tail)}${status === '' ? '' : ` ${pc.yellow(status)}`}`,
160
+ ];
161
+ // A step that did not pass explains itself; a passed step's summary is the planner's, not the reader's.
162
+ if (step.status !== 'passed' && step.summary !== undefined) {
163
+ const room = terminalColumns() - WIDTH_MARGIN - indent.length - 5;
164
+ lines.push(`${indent} ${pc.dim(ellipsize(collapseText(step.summary), Math.max(24, room)))}`);
165
+ }
166
+ return lines;
167
+ }
168
+ /** One finding on one line: `⚑ high issue Title (/path)`. */
169
+ findingLine(finding, indent = ROW_INDENT) {
170
+ const { pc } = this;
171
+ const location = finding.path === undefined ? '' : pc.dim(` (${bounded(finding.path)})`);
172
+ return `${indent}${this.severityColor(finding)(`${F_FINDING} ${this.grade(finding)}`)} ${bounded(collapseText(finding.title))}${location}`;
173
+ }
174
+ /** `high issue`, `low warning`. */
175
+ grade(finding) {
176
+ return `${SEVERITY_WORDS[finding.severity]} ${finding.kind}`;
177
+ }
178
+ severityColor(finding) {
179
+ const { pc } = this;
180
+ if (finding.kind === 'warning')
181
+ return (text) => pc.dim(pc.yellow(text));
182
+ if (finding.severity >= 4)
183
+ return (text) => pc.bold(pc.red(text));
184
+ if (finding.severity === 3)
185
+ return (text) => pc.bold(pc.yellow(text));
186
+ return pc.yellow;
187
+ }
188
+ /**
189
+ * The live window's running area: the header with its clock, the finished
190
+ * steps, and the step in progress with its latest calls and findings in
191
+ * time order, or the planner deciding. Sized to the screen as the running
192
+ * tree is: the step in progress has priority, older finished steps fold.
193
+ */
194
+ liveRows(badge, events, summary, now) {
195
+ const { pc } = this;
196
+ const columns = terminalColumns() - WIDTH_MARGIN;
197
+ const clock = pc.bold(pc.yellow(formatTime(Math.max(0, now - this.startedMs))));
198
+ const lines = [`${this.header(badge, 'Exploring', columns - visibleWidth(clock) - 1)} ${clock}`];
199
+ const capacity = terminalRows() - summary.length - CHROME_ROWS;
200
+ let budget = capacity - 1;
201
+ const current = this.currentRows(events, now, budget);
202
+ budget -= current.length;
203
+ const finished = this.steps.flatMap((step) => this.stepLines(step, LIVE_INDENT));
204
+ if (budget > 0) {
205
+ const folded = finished.length - budget + 1;
206
+ lines.push(...(folded > 1 ? [`${LIVE_INDENT}${pc.dim(`… ${folded} earlier rows`)}`, ...finished.slice(folded)] : finished));
207
+ }
208
+ lines.push(...current);
209
+ this.reservedRows = Math.min(capacity, Math.max(this.reservedRows, lines.length));
210
+ while (lines.length < this.reservedRows)
211
+ lines.push('');
212
+ return ['', ...lines, '', ...summary, ''];
213
+ }
214
+ /** The step in progress, or the planner at work, at most `budget` rows. */
215
+ currentRows(events, now, budget) {
216
+ const { pc } = this;
217
+ if (this.ended !== undefined || budget < 1)
218
+ return [];
219
+ if (this.open === undefined) {
220
+ if (this.planning === undefined)
221
+ return [];
222
+ const what = this.planning === 'closing' ? 'the closing assessment' : `step ${this.steps.length + 1} of ${this.budgets.maxSteps}`;
223
+ return [`${LIVE_INDENT}${pc.dim(`${F_DOWN_RIGHT} planning ${what}`)}`, `${LIVE_INDENT} ${waitingRow(pc, now, 'Thinking')}`].slice(0, budget);
224
+ }
225
+ const { step } = this.open;
226
+ const rows = [`${LIVE_INDENT}${pc.dim(`${F_DOWN_RIGHT} ${step.index} `)}${bounded(step.title)} ${pc.dim(`(step ${step.index} of ${this.budgets.maxSteps})`)}`];
227
+ const timeline = this.timeline(events ?? []);
228
+ const shown = Math.min(MAX_EVENTS, Math.max(0, budget - 2));
229
+ const overflow = timeline.length - shown;
230
+ if (overflow > 0)
231
+ rows.push(`${LIVE_INDENT} ${pc.dim(`… ${overflow} earlier call${overflow === 1 ? '' : 's'}`)}`);
232
+ for (const row of overflow > 0 ? timeline.slice(overflow) : timeline)
233
+ rows.push(`${LIVE_INDENT} ${row}`);
234
+ rows.push(`${LIVE_INDENT} ${waitingRow(pc, now, 'Thinking')}`);
235
+ return rows.slice(0, budget);
236
+ }
237
+ /** The step's calls and its findings, interleaved by time; the finding tool's own call gives way to the finding. */
238
+ timeline(events) {
239
+ const rows = [
240
+ ...events
241
+ .filter((event) => event.name !== FINDING_TOOL_EVENT)
242
+ .map((event) => ({ at: event.startedAt, row: eventLine(this.pc, event) })),
243
+ ...(this.open?.findings ?? []).map((finding) => ({ at: finding.reportedAt, row: this.findingLine(finding, '') })),
244
+ ];
245
+ return rows.toSorted((a, b) => (a.at < b.at ? -1 : a.at > b.at ? 1 : 0)).map((entry) => entry.row);
246
+ }
247
+ /** The summary's `Findings` and `Steps` rows, in place of `Test Files` and `Tests`. */
248
+ summaryRows() {
249
+ const { pc } = this;
250
+ const issues = this.issues.length;
251
+ const warnings = this.findings.length - issues;
252
+ const findings = this.findings.length === 0
253
+ ? pc.dim('none')
254
+ : [
255
+ ...(issues > 0 ? [pc.bold(pc.red(`${issues} issue${issues === 1 ? '' : 's'}`))] : []),
256
+ ...(warnings > 0 ? [pc.yellow(`${warnings} warning${warnings === 1 ? '' : 's'}`)] : []),
257
+ ].join(pc.dim(' | '));
258
+ const done = this.steps.length;
259
+ const steps = [];
260
+ if (this.ended === undefined) {
261
+ steps.push(`${done} done of ${this.budgets.maxSteps}`);
262
+ if (this.open !== undefined)
263
+ steps.push(`step ${this.open.step.index} running`);
264
+ else if (this.planning === 'closing')
265
+ steps.push('closing');
266
+ else if (this.planning === 'step')
267
+ steps.push('planning');
268
+ }
269
+ else {
270
+ steps.push(`${done} of ${this.budgets.maxSteps}`, ...this.outcomeParts(), pc.dim(ENDED_TEXT[this.ended]));
271
+ }
272
+ return [padTitle(pc, 'Findings') + findings, padTitle(pc, 'Steps') + steps.join(pc.dim(' · '))];
273
+ }
274
+ /** `3 passed`, `1 failed`, ... over the finished steps, zero counts left out. */
275
+ outcomeParts() {
276
+ const { pc } = this;
277
+ const counts = { passed: 0, failed: 0, blocked: 0, exhausted: 0 };
278
+ for (const { step } of this.steps)
279
+ counts[step.status] += 1;
280
+ return [
281
+ ...(counts.passed > 0 ? [pc.green(`${counts.passed} passed`)] : []),
282
+ ...(counts.failed > 0 ? [pc.red(`${counts.failed} failed`)] : []),
283
+ ...(counts.exhausted > 0 ? [pc.yellow(`${counts.exhausted} ended at their limit`)] : []),
284
+ ...(counts.blocked > 0 ? [pc.yellow(`${counts.blocked} blocked`)] : []),
285
+ ];
286
+ }
287
+ /**
288
+ * The permanent record once the run is over. With a live window
289
+ * (`withSteps`) it was the steps' only home, so the header and every step
290
+ * print here; without one they streamed as they finished, and only why the
291
+ * exploration ended is left to say.
292
+ */
293
+ record(badge, withSteps) {
294
+ const { pc } = this;
295
+ const lines = withSteps ? ['', this.header(badge, 'Explored'), ...this.steps.flatMap((step) => this.stepLines(step))] : [];
296
+ if (this.steps.length === 0)
297
+ lines.push(`${ROW_INDENT}${pc.dim('no step ran')}`);
298
+ lines.push(`${ROW_INDENT}${pc.dim(`ended: ${ENDED_TEXT[this.ended ?? 'aborted']}`)}`);
299
+ return lines;
300
+ }
301
+ /**
302
+ * The `Findings` section: a banner, then one block per finding, issues
303
+ * before warnings and the most severe first, each with where it was seen,
304
+ * its screenshot, what was expected against what the screen showed, and
305
+ * the actions that reach it.
306
+ */
307
+ findingsSection(displayPath, artifactsRoot) {
308
+ const { pc } = this;
309
+ if (this.findings.length === 0)
310
+ return [];
311
+ const issues = this.issues.length;
312
+ const lines = ['', this.banner(`Findings ${this.findings.length}`, issues > 0 ? pc.red : pc.yellow), ''];
313
+ const ordered = this.findings.toSorted((a, b) => Number(a.kind === 'warning') - Number(b.kind === 'warning') || b.severity - a.severity || a.index - b.index);
314
+ const columns = terminalColumns();
315
+ ordered.forEach((finding, position) => {
316
+ const number = `${String(position + 1).padStart(2)}. `;
317
+ const grade = this.grade(finding);
318
+ lines.push(`${number}${this.severityColor(finding)(grade.padEnd(16))} ${pc.bold(bounded(collapseText(finding.title)))}`);
319
+ const where = [
320
+ ...(finding.path === undefined ? [] : [bounded(finding.path)]),
321
+ ...(finding.step === undefined ? [] : [`step ${finding.step}`]),
322
+ ];
323
+ if (where.length > 0)
324
+ lines.push(`${DETAIL_INDENT}${pc.dim(where.join(' · '))}`);
325
+ lines.push(...this.detail('expected', finding.expected, columns));
326
+ lines.push(...this.detail('actual', finding.actual, columns));
327
+ finding.reproduction.forEach((action, index) => {
328
+ lines.push(...this.detail(index === 0 ? 'steps' : '', `${index + 1}. ${action}`, columns));
329
+ });
330
+ const screenshot = this.screenshot(finding, displayPath, artifactsRoot);
331
+ if (screenshot !== undefined)
332
+ lines.push(`${DETAIL_INDENT}${pc.dim('evidence'.padEnd(DETAIL_LABEL_WIDTH))} ${pc.cyan(screenshot)}`);
333
+ lines.push('');
334
+ });
335
+ return lines;
336
+ }
337
+ /** The report-relative path of a finding's screenshot, shown as the reporter shows paths. */
338
+ screenshot(finding, displayPath, artifactsRoot) {
339
+ if (finding.artifactId === undefined)
340
+ return undefined;
341
+ const artifact = this.artifacts.find((entry) => entry.id === finding.artifactId);
342
+ if (artifact?.path === undefined)
343
+ return undefined;
344
+ return displayPath(artifactsRoot === undefined ? artifact.path : path.join(artifactsRoot, artifact.path));
345
+ }
346
+ /** ` expected text…`, wrapped to the width with continuation lines under the text. */
347
+ detail(label, text, columns) {
348
+ const { pc } = this;
349
+ const gutter = `${DETAIL_INDENT}${label.padEnd(DETAIL_LABEL_WIDTH)} `;
350
+ const blank = ' '.repeat(gutter.length);
351
+ return wrap(collapseText(bounded(text)), Math.max(24, columns - gutter.length)).map((line, index) => `${index === 0 ? `${DETAIL_INDENT}${pc.dim(label.padEnd(DETAIL_LABEL_WIDTH))} ` : blank}${line}`);
352
+ }
353
+ /** The agent's closing assessment, wrapped under its heading. */
354
+ assessment() {
355
+ const { pc } = this;
356
+ if (this.summary === undefined)
357
+ return [];
358
+ const width = Math.max(24, terminalColumns() - ROW_INDENT.length - WIDTH_MARGIN);
359
+ return [` ${pc.bold('Assessment')}`, ...wrap(bounded(this.summary), width).map((line) => `${ROW_INDENT}${line}`)];
360
+ }
361
+ banner(message, color) {
362
+ const { pc } = this;
363
+ const label = pc.bold(pc.inverse(` ${message} `));
364
+ const { before, after } = rule(label, 'center');
365
+ return `${color(before)}${color(label)}${color(after)}`;
366
+ }
367
+ }
368
+ /** Greedy word wrap; a word longer than the width stands on its own line. */
369
+ function wrap(text, width) {
370
+ const lines = [];
371
+ for (const paragraph of text.split('\n')) {
372
+ let line = '';
373
+ for (const word of paragraph.split(/\s+/).filter((part) => part !== '')) {
374
+ if (line === '')
375
+ line = word;
376
+ else if (visibleWidth(line) + 1 + visibleWidth(word) <= width)
377
+ line = `${line} ${word}`;
378
+ else {
379
+ lines.push(line);
380
+ line = word;
381
+ }
382
+ }
383
+ if (line !== '')
384
+ lines.push(line);
385
+ }
386
+ return lines;
387
+ }
388
+ //# sourceMappingURL=list-explore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-explore.js","sourceRoot":"","sources":["../../src/report/list-explore.ts"],"names":[],"mappings":"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"}
@@ -82,6 +82,12 @@ export declare class ListReporter implements Reporter {
82
82
  * has scrolled away by the time a long run ends.
83
83
  */
84
84
  private models;
85
+ /**
86
+ * The exploration an `e2e explore` run reports through `explore` events;
87
+ * while present, its view stands in for the one synthetic test's file
88
+ * block, live rows, failure entry, and test counters.
89
+ */
90
+ private explore;
85
91
  constructor(output?: ListReporterOutput, options?: ListReporterOptions);
86
92
  onEvent(event: RunEvent): void;
87
93
  /**
@@ -180,6 +186,21 @@ export declare class ListReporter implements Reporter {
180
186
  private emptyState;
181
187
  /** The live window: the running tree, then the summary. */
182
188
  private renderWindow;
189
+ /** The badge of the explored target: an exploration runs on exactly one. */
190
+ private exploreBadge;
191
+ /**
192
+ * One moment of an exploration. The first creates the view and, without a
193
+ * live window, prints the header; from then on a finished step and a
194
+ * finding each print at once without one, and the window shows them with
195
+ * one.
196
+ */
197
+ private exploreProgress;
198
+ /**
199
+ * An exploration's permanent record: the header and, with a live window,
200
+ * the steps it was the only home of; then the findings with their
201
+ * evidence, and the closing assessment.
202
+ */
203
+ private printExplore;
183
204
  /** vitest's `Failed Tests` section: a banner, then each failure with its code frame. */
184
205
  private printFailures;
185
206
  /** A full-width red rule with a centered `FAIL`-style label. */
@@ -1 +1 @@
1
- {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/report/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/report/list.ts"],"names":[],"mappings":"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"}