@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,118 @@
1
+ /** expect.poll: re-reads a value until a synchronous matcher passes. */
2
+ import { ConfigurationError, E2EError, TestError } from '../internal/errors.js';
3
+ import { Deadline, POLL_INTERVAL_MS, sleep, withAbort, withTimeout } from '../internal/time.js';
4
+ import { currentAttempt } from './attempt.js';
5
+ import { createValueExpectation } from './values.js';
6
+ /** Outside an attempt (a standalone script) there is no config to read `assertionTimeout` from. */
7
+ const DEFAULT_TIMEOUT_MS = 5000;
8
+ /** `satisfies` keeps this list equal to the ValueExpectation matcher set. */
9
+ const MATCHERS = {
10
+ toBe: true,
11
+ toEqual: true,
12
+ toBeTruthy: true,
13
+ toBeFalsy: true,
14
+ toBeNull: true,
15
+ toBeUndefined: true,
16
+ toBeDefined: true,
17
+ toContain: true,
18
+ toMatch: true,
19
+ toBeGreaterThan: true,
20
+ toBeLessThan: true,
21
+ };
22
+ /** A read that outlived the deadline, as opposed to one that failed. */
23
+ class ReadHung extends Error {
24
+ }
25
+ /** The attempt ended while a read was in flight. */
26
+ class ReadAborted extends Error {
27
+ }
28
+ function describeError(error) {
29
+ return error instanceof Error ? error.message : String(error);
30
+ }
31
+ function isNotYet(error) {
32
+ return error instanceof E2EError && error.code === 'ASSERTION_FAILED';
33
+ }
34
+ function cancelled() {
35
+ return new E2EError('infrastructure', 'CANCELLED', 'operation cancelled');
36
+ }
37
+ /** One read, cut at the deadline and at the attempt signal; a hung read's outcome is dropped. */
38
+ function sample(read, deadline, signal) {
39
+ const bounded = withTimeout((async () => read())(), deadline.remaining(), () => new ReadHung());
40
+ return signal === undefined ? bounded : withAbort(bounded, signal, () => new ReadAborted());
41
+ }
42
+ async function pollMatcher(read, options, negated, name, args) {
43
+ const attempt = currentAttempt();
44
+ const timeout = options.timeout ?? attempt?.assertionTimeout ?? DEFAULT_TIMEOUT_MS;
45
+ const interval = options.interval ?? POLL_INTERVAL_MS;
46
+ const startedAt = Date.now();
47
+ const own = new Deadline(timeout, startedAt);
48
+ // Inside an attempt the poll ends with the phase it runs in (the test
49
+ // deadline in the body, the hook's cleanup budget in afterEach) and stops
50
+ // the moment the attempt is cancelled, so a timed-out test never keeps
51
+ // reading through teardown.
52
+ const deadline = attempt === undefined ? own : Deadline.min(own, attempt.budget.deadline);
53
+ const signal = attempt?.budget.signal;
54
+ let last;
55
+ while (!deadline.expired()) {
56
+ let value;
57
+ try {
58
+ value = await sample(read, deadline, signal);
59
+ }
60
+ catch (error) {
61
+ if (error instanceof ReadHung)
62
+ break;
63
+ if (error instanceof ReadAborted)
64
+ throw cancelled();
65
+ last = describeError(error);
66
+ await sleep(Math.min(interval, deadline.remaining()), signal);
67
+ continue;
68
+ }
69
+ const expectation = createValueExpectation(value);
70
+ const target = negated ? expectation.not : expectation;
71
+ try {
72
+ target[name].apply(target, args);
73
+ return;
74
+ }
75
+ catch (error) {
76
+ if (!isNotYet(error))
77
+ throw error;
78
+ last = describeError(error);
79
+ }
80
+ await sleep(Math.min(interval, deadline.remaining()), signal);
81
+ }
82
+ const ending = deadline === own
83
+ ? `timed out after ${timeout} ms`
84
+ : `stopped at the attempt deadline after ${Date.now() - startedAt} ms`;
85
+ throw new TestError('ASSERTION_FAILED', [
86
+ `expect.poll(...).${negated ? 'not.' : ''}${name}(...) ${ending}`,
87
+ ...(options.message === undefined ? [] : [options.message]),
88
+ `last: ${last ?? 'no read completed'}`,
89
+ ].join('\n'));
90
+ }
91
+ /** A malformed option would poll forever; it is refused before the first read. */
92
+ function checkOptions(options) {
93
+ const { timeout, interval } = options;
94
+ if (timeout !== undefined && !(Number.isFinite(timeout) && timeout >= 0)) {
95
+ throw new ConfigurationError('INVALID_CONFIG', `expect.poll timeout must be a finite number of milliseconds, 0 or more; got ${String(timeout)}`);
96
+ }
97
+ if (interval !== undefined && !(Number.isFinite(interval) && interval > 0)) {
98
+ throw new ConfigurationError('INVALID_CONFIG', `expect.poll interval must be a finite number of milliseconds above 0; got ${String(interval)}`);
99
+ }
100
+ }
101
+ function build(read, options, negated) {
102
+ const matchers = Object.fromEntries(Object.keys(MATCHERS).map((name) => [
103
+ name,
104
+ (...args) => pollMatcher(read, options, negated, name, args),
105
+ ]));
106
+ return {
107
+ ...matchers,
108
+ get not() {
109
+ return build(read, options, !negated);
110
+ },
111
+ };
112
+ }
113
+ /** Re-reads `read` until the chosen value matcher holds or `options.timeout` passes. */
114
+ export function createPollExpectation(read, options = {}) {
115
+ checkOptions(options);
116
+ return build(read, options, false);
117
+ }
118
+ //# sourceMappingURL=poll.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"poll.js","sourceRoot":"","sources":["../../src/expect/poll.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/expect/values.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAIxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAwJpD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAExE"}
1
+ {"version":3,"file":"values.d.ts","sourceRoot":"","sources":["../../src/expect/values.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAKxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AA4JpD,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAExE"}
@@ -1,6 +1,7 @@
1
1
  /** Synchronous plain-value matchers. */
2
2
  import { equals, iterableEquality } from '@vitest/expect';
3
3
  import { TestError } from '../internal/errors.js';
4
+ import { testPattern } from '../internal/regexp.js';
4
5
  function fail(message) {
5
6
  throw new TestError('ASSERTION_FAILED', message);
6
7
  }
@@ -86,7 +87,11 @@ class ValueExpectationImpl {
86
87
  if (typeof actual !== 'string') {
87
88
  fail(`toMatch requires a string, got ${format(actual)}`);
88
89
  }
89
- const matches = typeof expected === 'string' ? actual.includes(expected) : expected.test(actual);
90
+ // A global or sticky RegExp keeps `lastIndex` between tests; a matcher
91
+ // that is polled must see the same answer for the same value every time.
92
+ const matches = typeof expected === 'string'
93
+ ? actual.includes(expected)
94
+ : testPattern(expected.source, expected.flags, actual);
90
95
  this.check(matches, () => `expected ${format(actual)} to match ${format(expected)}`, () => `expected ${format(actual)} not to match ${format(expected)}`);
91
96
  }
92
97
  toBeGreaterThan(expected) {
@@ -1 +1 @@
1
- {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/expect/values.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"values.js","sourceRoot":"","sources":["../../src/expect/values.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/explore/body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAsB,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAY,KAAK,WAAW,EAAqB,MAAM,WAAW,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,4GAA4G;AAC5G,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAU3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;CAC3C;AAmBD,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAkBrE"}
1
+ {"version":3,"file":"body.d.ts","sourceRoot":"","sources":["../../src/explore/body.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAsB,MAAM,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAY,KAAK,WAAW,EAAqB,MAAM,WAAW,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,4GAA4G;AAC5G,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAU3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,yEAAyE;IACzE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;CAC3C;AAmBD,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAmBrE"}
@@ -28,6 +28,7 @@ export function createExploreBody(options) {
28
28
  const accounts = options.accounts ?? [];
29
29
  return async ({ agent, app }) => {
30
30
  const deadline = now() + state.budgets.timeoutMs;
31
+ state.start();
31
32
  if (options.openApp)
32
33
  await app.open();
33
34
  // Resolved here, once the runner has the credential registry up.
@@ -53,6 +54,7 @@ async function runSteps(loop) {
53
54
  if (stop !== undefined && remaining() < MIN_PLAN_TIMEOUT_MS)
54
55
  return { ended: stop.ended };
55
56
  let plan;
57
+ state.planning(stop !== undefined);
56
58
  try {
57
59
  plan = await planNext(agent, state, {
58
60
  mustFinish: stop !== undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/explore/body.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"body.js","sourceRoot":"","sources":["../../src/explore/body.ts"],"names":[],"mappings":"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"}
@@ -44,20 +44,20 @@ const FINDING_SCHEMA = z.object({
44
44
  .string()
45
45
  .min(4)
46
46
  .max(200)
47
- .describe('A short, specific name for the defect, e.g. "Checkout total shows $0.00 with two items in the cart".'),
47
+ .describe('A specific headline for the defect under 80 characters, e.g. "Checkout total shows $0.00 with two items in the cart".'),
48
48
  kind: z
49
49
  .enum(['issue', 'warning'])
50
50
  .describe('issue = a defect a user would hit: a broken flow, wrong data, a dead control, a navigation that lands wrong. warning = cosmetic or polish; blocks no task.'),
51
51
  severity: z
52
52
  .literal([1, 2, 3, 4, 5])
53
53
  .describe('5: a core journey is impossible, data is lost, or money or security is wrong. 4: a core feature is broken but a workaround exists, or wrong money or quantity values are shown. 3: a secondary feature is broken, or wrong non-monetary content. 2: a cosmetic or layout defect that blocks nothing. 1: a trivial polish item (usually a warning).'),
54
- expected: z.string().min(1).max(2000).describe('What a user would expect here.'),
55
- actual: z.string().min(1).max(2000).describe('What the screen shows instead, quoted from the observation.'),
54
+ expected: z.string().min(1).max(2000).describe('What a user would expect here, in one sentence.'),
55
+ actual: z.string().min(1).max(2000).describe('What the screen shows instead, in one sentence, quoting the text on screen.'),
56
56
  reproduction: z
57
57
  .array(z.string().min(1).max(500))
58
58
  .min(1)
59
59
  .max(20)
60
- .describe('The actions that reach the defect from the start of the app, one per entry.'),
60
+ .describe('The actions that reach the defect from the start of the app, one short imperative per entry, e.g. "Open the cart".'),
61
61
  });
62
62
  /**
63
63
  * The finding tool. Read-only: it observes the screen for the location and
@@ -66,19 +66,24 @@ const FINDING_SCHEMA = z.object({
66
66
  * model with the finding's number so it is not reported twice.
67
67
  */
68
68
  function createFindingTool(state) {
69
+ // Numbered as the calls arrive, before any await: a model may report two
70
+ // findings in one turn, and read-only tools run in parallel, so the
71
+ // finding's own index is not known until its screenshot is saved.
72
+ let reported = 0;
69
73
  return defineTool({
70
74
  description: 'Report one product defect you have evidence of on the current screen: what you expected, what the screen shows, and how to reach it. Call it the moment the evidence is visible, once per distinct defect. Not for tool errors or refused actions.',
71
75
  inputSchema: FINDING_SCHEMA,
72
76
  execute: async (input, executionOptions) => {
73
77
  const { observe, attachScreenshot } = getToolContext(executionOptions);
78
+ reported += 1;
79
+ const label = `finding-${reported}`;
74
80
  const observation = await observe({ pixels: true }).catch(() => undefined);
75
- const finding = state.addFinding({ ...input, path: observation?.path, observationRevision: observation?.revision });
76
- if (observation?.pixels !== undefined) {
77
- // Evidence is worth keeping, never worth failing the finding for.
78
- const artifactId = await attachScreenshot(observation.pixels, `finding-${finding.index + 1}`).catch(() => undefined);
79
- if (artifactId !== undefined)
80
- state.attachEvidence(finding.id, artifactId);
81
- }
81
+ // Evidence is worth keeping, never worth failing the finding for. It
82
+ // is saved first, so the finding is announced complete, evidence included.
83
+ const artifactId = observation?.pixels === undefined
84
+ ? undefined
85
+ : await attachScreenshot(observation.pixels, label).catch(() => undefined);
86
+ const finding = state.addFinding({ ...input, path: observation?.path, observationRevision: observation?.revision, artifactId });
82
87
  return `Finding ${finding.index + 1} recorded (${finding.kind}, severity ${finding.severity}): ${finding.title}. Do not report it again; continue the charter or conclude the step.`;
83
88
  },
84
89
  }, { mutates: false });
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/explore/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/explore/executor.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  * as `run` loads it, the explorer replaces the executor of the agent the run
4
4
  * uses, and the exploration body is registered in memory as the run's only
5
5
  * test, so the reporters, `report.json`, artifacts, video, the AI trace, and
6
- * the exit codes are the runner's own. The record of the exploration rides
7
- * along as `run.explore`.
6
+ * the exit codes are the runner's own. The exploration's progress travels
7
+ * as `explore` run events, which the list reporter renders, and its record
8
+ * rides along as `run.explore`.
8
9
  */
9
10
  import type { ReportExplore } from '../report/build.ts';
10
11
  import { type RunOutcome } from '../run/runner.ts';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explore/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAe,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAQ3E,mFAAmF;AACnF,eAAO,MAAM,WAAW;aAAK,GAAG,EAAE,CAAC;aAAE,GAAG,EAAE,EAAE;aAAE,OAAO,EAAE,CAAC;CAAW,CAAC;AACpE,sEAAsE;AACtE,eAAO,MAAM,cAAc;aAAK,GAAG,EAAE,MAAO;aAAE,GAAG,EAAE,MAAO;aAAE,OAAO,EAAE,MAAO;CAAW,CAAC;AAkBxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CA+CnF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/explore/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AASH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAO,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAe,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO3E,mFAAmF;AACnF,eAAO,MAAM,WAAW;aAAK,GAAG,EAAE,CAAC;aAAE,GAAG,EAAE,EAAE;aAAE,OAAO,EAAE,CAAC;CAAW,CAAC;AACpE,sEAAsE;AACtE,eAAO,MAAM,cAAc;aAAK,GAAG,EAAE,MAAO;aAAE,GAAG,EAAE,MAAO;aAAE,OAAO,EAAE,MAAO;CAAW,CAAC;AAkBxF,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,4FAA4F;IAC5F,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,iGAAiG;IACjG,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,CAAC;IAC5D,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IACnD,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC/C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC;IAC7C;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC3C,qFAAqF;IACrF,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,wBAAsB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,cAAc,CAAC,CA8CnF"}
@@ -3,8 +3,9 @@
3
3
  * as `run` loads it, the explorer replaces the executor of the agent the run
4
4
  * uses, and the exploration body is registered in memory as the run's only
5
5
  * test, so the reporters, `report.json`, artifacts, video, the AI trace, and
6
- * the exit codes are the runner's own. The record of the exploration rides
7
- * along as `run.explore`.
6
+ * the exit codes are the runner's own. The exploration's progress travels
7
+ * as `explore` run events, which the list reporter renders, and its record
8
+ * rides along as `run.explore`.
8
9
  */
9
10
  import { MAX_PARAMS_BYTES } from '../agent/act-validation.js';
10
11
  import { isStepExecutor } from '../agent/executor.js';
@@ -15,7 +16,6 @@ import { ConfigurationError } from '../internal/errors.js';
15
16
  import { run } from '../run/runner.js';
16
17
  import { createExploreBody } from './body.js';
17
18
  import { createExplorer } from './executor.js';
18
- import { exploreReporter } from './reporter.js';
19
19
  import { ExploreState } from './state.js';
20
20
  const DEFAULT_GOAL = 'Explore the app and find bugs';
21
21
  /** Exploration steps per run: breadth first, and diminishing returns come fast. */
@@ -72,14 +72,13 @@ export async function explore(options = {}) {
72
72
  rawConfig: {
73
73
  ...rawConfig,
74
74
  agents: { ...rawConfig.agents, [agentName]: exploreAgentConfig(rawConfig.agents?.[agentName], explorer) },
75
- reporters: [...(rawConfig.reporters ?? ['list']), exploreReporter(state)],
76
75
  },
77
76
  agent: options.agent,
78
77
  env,
79
78
  tests: {
80
79
  file: EXPLORE_FILE,
81
80
  registration: exploreRegistration(state, target.app.base !== undefined, accounts),
82
- explore: () => state.snapshot(),
81
+ explore: state,
83
82
  },
84
83
  targetIds: [target.name],
85
84
  headed: options.headed,
@@ -176,6 +175,7 @@ function exploreRegistration(state, openApp, accounts) {
176
175
  },
177
176
  sessions: [],
178
177
  fn: createExploreBody({ state, stepTimeoutMs: STEP_TIMEOUT_MS, openApp, accounts }),
178
+ fixtures: [],
179
179
  group: undefined,
180
180
  mode: 'normal',
181
181
  source: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explore/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/explore/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/explore/plan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAahE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;iBAepB,CAAC;AAEL,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/C,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,gHAAgH;AAChH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACvD,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qEAAqE;AACrE,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAE7G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAS3D;AAmBD,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CA2DjF"}
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/explore/plan.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAahE;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW;;;;;;;;iBAepB,CAAC;AAEL,KAAK,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAE/C,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D,gHAAgH;AAChH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,kDAAkD;IAClD,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,WAAW,EAAE,GAAG,SAAS,CAAC;IACvD,gDAAgD;IAChD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,qEAAqE;AACrE,wBAAsB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAE7G;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,CAS3D;AA+BD,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,GAAG,MAAM,CA2DjF"}
@@ -28,7 +28,7 @@ const MAX_FIELD_CHARS = 8_000;
28
28
  export const PLAN_SCHEMA = z
29
29
  .object({
30
30
  decision: z.enum(['step', 'finish']),
31
- title: z.string().max(MAX_FIELD_CHARS).describe('For a step: the area or flow in a few words. Empty for finish.'),
31
+ title: z.string().max(MAX_FIELD_CHARS).describe('For a step: the area or flow as a heading of two to five words, e.g. "Cart quantities". Empty for finish.'),
32
32
  instruction: z.string().max(MAX_FIELD_CHARS).describe('For a step: the concrete charter. Empty for finish.'),
33
33
  summary: z.string().max(MAX_FIELD_CHARS).describe('For finish: the overall assessment. Empty for a step.'),
34
34
  })
@@ -81,6 +81,17 @@ function deriveTitle(charter) {
81
81
  const short = clause === '' ? charter : clause;
82
82
  return short.length <= DERIVED_TITLE_CHARS ? short : `${short.slice(0, DERIVED_TITLE_CHARS - 1)}…`;
83
83
  }
84
+ /**
85
+ * What the closing assessment is for. The findings and the steps print above
86
+ * it, so it carries what neither list can: the verdict, the gaps, and what
87
+ * to script next.
88
+ */
89
+ const ASSESSMENT_RULES = [
90
+ 'The assessment is two to four plain sentences for the person reading the terminal, where the steps and the findings',
91
+ 'are already listed above it. Do not list or count the findings again. Say: your verdict on the goal in one sentence;',
92
+ 'what the goal names that was not reached or not fully exercised, and why; and which one or two flows are most worth',
93
+ 'turning into scripted tests. Name screens and controls as the app names them; no headings, bullets, or markdown.',
94
+ ];
84
95
  const STATUS_MARKS = {
85
96
  passed: 'passed',
86
97
  failed: 'FAILED',
@@ -125,8 +136,8 @@ export function planInstruction(state, request) {
125
136
  return [
126
137
  ...header,
127
138
  `The run must end now: ${request.reason ?? 'its budget is spent'}.`,
128
- 'Respond with {"decision": "finish", "title": "", "instruction": "", "summary": "..."}: the overall assessment in two to five sentences,',
129
- 'what was explored, the key findings, and your verdict on the goal. Ground it in the steps and findings above.',
139
+ 'Respond with {"decision": "finish", "title": "", "instruction": "", "summary": "..."}: the closing assessment.',
140
+ ...ASSESSMENT_RULES,
130
141
  ].join('\n');
131
142
  }
132
143
  return [
@@ -141,8 +152,8 @@ export function planInstruction(state, request) {
141
152
  ' never plan a step to re-confirm a finding already recorded above. When a step ended at its limit, continue where',
142
153
  ' it stopped or move on. When a step summary mentions something odd that is not among the findings, spend the next',
143
154
  ' step confirming it.',
144
- '- "finish": the goal is covered, or nothing new is reachable. "summary" is the overall assessment in two to',
145
- ' five sentences: what was explored, the key findings, and your verdict on the goal.',
155
+ '- "finish": the goal is covered, or nothing new is reachable. "summary" is the closing assessment.',
156
+ ...ASSESSMENT_RULES.map((line) => ` ${line}`),
146
157
  'Respond with every field present: {"decision": "step", "title": "...", "instruction": "...", "summary": ""} or {"decision": "finish", "title": "", "instruction": "", "summary": "..."}.',
147
158
  ].join('\n');
148
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/explore/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/explore/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The exploration's progress as the run's event spine carries it: one
3
+ * `explore` run event per phase, so a reporter renders the exploration as it
4
+ * happens (the step in progress, each finding the moment it is reported)
5
+ * from the same stream every other sink receives. `run.explore` in the
6
+ * report is the record; these are its moments.
7
+ */
8
+ import type { ReportExplore, ReportExploreFinding, ReportExploreStep } from '../report/build.ts';
9
+ export interface ExploreBudgets {
10
+ readonly maxSteps: number;
11
+ readonly timeoutMs: number;
12
+ }
13
+ /** A step as opened: title and charter bounded to the report's ceilings, which is what the step runs with. */
14
+ export type OpenedStep = Pick<ReportExploreStep, 'index' | 'title' | 'instruction'>;
15
+ export type ExploreProgress =
16
+ /** The exploration begins: its test has started and the app is about to open. */
17
+ {
18
+ readonly phase: 'started';
19
+ readonly goal: string;
20
+ readonly budgets: ExploreBudgets;
21
+ }
22
+ /** The planner is deciding the next charter, or (`closing`) the assessment that ends the run. */
23
+ | {
24
+ readonly phase: 'planning';
25
+ readonly closing: boolean;
26
+ } | {
27
+ readonly phase: 'step-started';
28
+ readonly step: OpenedStep;
29
+ } | {
30
+ readonly phase: 'step-finished';
31
+ readonly step: ReportExploreStep;
32
+ }
33
+ /** One finding, as recorded; its evidence screenshot, when kept, is the attempt artifact `artifactId` names. */
34
+ | {
35
+ readonly phase: 'finding';
36
+ readonly finding: ReportExploreFinding;
37
+ } | {
38
+ readonly phase: 'finished';
39
+ readonly ended: ReportExplore['ended'];
40
+ readonly summary?: string | undefined;
41
+ };
42
+ export type ExploreListener = (progress: ExploreProgress) => void;
43
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/explore/progress.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEjG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,8GAA8G;AAC9G,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,GAAG,aAAa,CAAC,CAAC;AAEpF,MAAM,MAAM,eAAe;AACzB,iFAAiF;AAC/E;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;CAAE;AACxF,iGAAiG;GAC/F;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7D;IAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE;AACvE,gHAAgH;GAC9G;IAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACrE;IAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAElH,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * The exploration's progress as the run's event spine carries it: one
3
+ * `explore` run event per phase, so a reporter renders the exploration as it
4
+ * happens (the step in progress, each finding the moment it is reported)
5
+ * from the same stream every other sink receives. `run.explore` in the
6
+ * report is the record; these are its moments.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/explore/progress.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -2,19 +2,16 @@
2
2
  * The record of one exploration: the goal, its budgets, the steps the agent
3
3
  * planned and ran, and the findings it reported. One instance is shared by
4
4
  * the planner, the explorer's finding tool, the exploration body, and the
5
- * summary reporter, and its snapshot becomes `run.explore` in the report.
5
+ * run's event spine, and its snapshot becomes `run.explore` in the report.
6
6
  * The state is the report boundary: every free text is bounded to the
7
- * schema's ceilings here, and nowhere else.
7
+ * schema's ceilings here, and nowhere else. Each change is announced to the
8
+ * listeners `subscribe` registered, as `ExploreProgress`.
8
9
  */
9
10
  import type { ReportExplore, ReportExploreFinding, ReportExploreStep } from '../report/build.ts';
10
- export interface ExploreBudgets {
11
- readonly maxSteps: number;
12
- readonly timeoutMs: number;
13
- }
11
+ import type { ExploreBudgets, ExploreListener, OpenedStep } from './progress.ts';
12
+ export type { ExploreBudgets, OpenedStep } from './progress.ts';
14
13
  /** A finding as the tool reports it; the state assigns identity, position, and time. */
15
- export type FindingInput = Omit<ReportExploreFinding, 'id' | 'index' | 'step' | 'reportedAt' | 'artifactId'>;
16
- /** A step as opened: title and charter bounded to the report's ceilings, which is what the step runs with. */
17
- export type OpenedStep = Pick<ReportExploreStep, 'index' | 'title' | 'instruction'>;
14
+ export type FindingInput = Omit<ReportExploreFinding, 'id' | 'index' | 'step' | 'reportedAt'>;
18
15
  /** Ceilings mirroring `schema/report-v1.schema.json` `explore`. */
19
16
  export declare const MAX_TITLE_CHARS = 200;
20
17
  export declare class ExploreState {
@@ -29,14 +26,18 @@ export declare class ExploreState {
29
26
  get ended(): ReportExplore['ended'];
30
27
  /** The agent's closing assessment, once it gave one. */
31
28
  get summary(): string | undefined;
29
+ /** Registers a listener for every change from here on. */
30
+ subscribe(listener: ExploreListener): void;
31
+ /** Announces the exploration beginning: the goal and its budgets. */
32
+ start(): void;
33
+ /** Announces that the planner is deciding what comes next: a step, or the closing assessment. */
34
+ planning(closing: boolean): void;
32
35
  /** Opens the next step; the index is one-based. */
33
36
  beginStep(title: string, instruction: string): OpenedStep;
34
37
  /** Closes the open step with its outcome. */
35
38
  endStep(status: ReportExploreStep['status'], summary?: string, errorCode?: string): ReportExploreStep;
36
- /** Records one finding against the step in progress. */
39
+ /** Records one finding against the step in progress, with its evidence screenshot's artifact id when one was kept. */
37
40
  addFinding(input: FindingInput): ReportExploreFinding;
38
- /** Attaches the evidence screenshot kept for a finding, by its artifact id. */
39
- attachEvidence(id: string, artifactId: string): void;
40
41
  /** Closes the record: why exploration stopped and, when the agent gave one, its closing assessment. */
41
42
  end(ended: ReportExplore['ended'], summary?: string): void;
42
43
  get issues(): readonly ReportExploreFinding[];