@e2edev/e2e 0.6.1 → 0.8.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 (283) hide show
  1. package/README.md +15 -11
  2. package/dist/agent/act-validation.d.ts +9 -3
  3. package/dist/agent/act-validation.d.ts.map +1 -1
  4. package/dist/agent/act-validation.js +23 -4
  5. package/dist/agent/act-validation.js.map +1 -1
  6. package/dist/agent/act.d.ts +2 -2
  7. package/dist/agent/act.d.ts.map +1 -1
  8. package/dist/agent/act.js +231 -41
  9. package/dist/agent/act.js.map +1 -1
  10. package/dist/agent/actions.d.ts +14 -14
  11. package/dist/agent/actions.d.ts.map +1 -1
  12. package/dist/agent/actions.js +12 -2
  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 +19 -84
  17. package/dist/agent/default-agent.js.map +1 -1
  18. package/dist/agent/executor.d.ts +14 -0
  19. package/dist/agent/executor.d.ts.map +1 -1
  20. package/dist/agent/executor.js.map +1 -1
  21. package/dist/agent/index.d.ts.map +1 -1
  22. package/dist/agent/index.js +14 -6
  23. package/dist/agent/index.js.map +1 -1
  24. package/dist/agent/invocation.d.ts +1 -8
  25. package/dist/agent/invocation.d.ts.map +1 -1
  26. package/dist/agent/invocation.js +7 -51
  27. package/dist/agent/invocation.js.map +1 -1
  28. package/dist/agent/ledger.d.ts.map +1 -1
  29. package/dist/agent/ledger.js +10 -1
  30. package/dist/agent/ledger.js.map +1 -1
  31. package/dist/agent/loop-guards.d.ts +21 -0
  32. package/dist/agent/loop-guards.d.ts.map +1 -1
  33. package/dist/agent/loop-guards.js +48 -0
  34. package/dist/agent/loop-guards.js.map +1 -1
  35. package/dist/agent/model/sdk.d.ts +18 -0
  36. package/dist/agent/model/sdk.d.ts.map +1 -1
  37. package/dist/agent/model/sdk.js +10 -4
  38. package/dist/agent/model/sdk.js.map +1 -1
  39. package/dist/agent/observation-budget.d.ts +27 -0
  40. package/dist/agent/observation-budget.d.ts.map +1 -0
  41. package/dist/agent/observation-budget.js +43 -0
  42. package/dist/agent/observation-budget.js.map +1 -0
  43. package/dist/agent/observation.d.ts +40 -7
  44. package/dist/agent/observation.d.ts.map +1 -1
  45. package/dist/agent/observation.js +56 -11
  46. package/dist/agent/observation.js.map +1 -1
  47. package/dist/agent/phases.d.ts +1 -1
  48. package/dist/agent/phases.d.ts.map +1 -1
  49. package/dist/agent/phases.js +11 -13
  50. package/dist/agent/phases.js.map +1 -1
  51. package/dist/agent/primitives.d.ts +14 -2
  52. package/dist/agent/primitives.d.ts.map +1 -1
  53. package/dist/agent/primitives.js +98 -54
  54. package/dist/agent/primitives.js.map +1 -1
  55. package/dist/agent/screen-update.d.ts +47 -0
  56. package/dist/agent/screen-update.d.ts.map +1 -0
  57. package/dist/agent/screen-update.js +222 -0
  58. package/dist/agent/screen-update.js.map +1 -0
  59. package/dist/agent/step-cache.d.ts +46 -18
  60. package/dist/agent/step-cache.d.ts.map +1 -1
  61. package/dist/agent/step-cache.js +100 -60
  62. package/dist/agent/step-cache.js.map +1 -1
  63. package/dist/agent/tool-loop.d.ts.map +1 -1
  64. package/dist/agent/tool-loop.js +28 -4
  65. package/dist/agent/tool-loop.js.map +1 -1
  66. package/dist/cache/anchors.d.ts.map +1 -1
  67. package/dist/cache/anchors.js +21 -1
  68. package/dist/cache/anchors.js.map +1 -1
  69. package/dist/cache/decide.d.ts +13 -3
  70. package/dist/cache/decide.d.ts.map +1 -1
  71. package/dist/cache/decide.js +35 -0
  72. package/dist/cache/decide.js.map +1 -1
  73. package/dist/cache/relocate.d.ts +11 -1
  74. package/dist/cache/relocate.d.ts.map +1 -1
  75. package/dist/cache/relocate.js +48 -17
  76. package/dist/cache/relocate.js.map +1 -1
  77. package/dist/cache/store.d.ts.map +1 -1
  78. package/dist/cache/store.js +3 -14
  79. package/dist/cache/store.js.map +1 -1
  80. package/dist/cache/trace.d.ts +12 -0
  81. package/dist/cache/trace.d.ts.map +1 -1
  82. package/dist/cache/trace.js +21 -0
  83. package/dist/cache/trace.js.map +1 -1
  84. package/dist/cli/docs-url.d.ts +1 -1
  85. package/dist/cli/docs-url.d.ts.map +1 -1
  86. package/dist/cli/docs-url.js +1 -1
  87. package/dist/cli/docs-url.js.map +1 -1
  88. package/dist/cli/index.d.ts.map +1 -1
  89. package/dist/cli/index.js +60 -9
  90. package/dist/cli/index.js.map +1 -1
  91. package/dist/cli/init/engines.d.ts +2 -3
  92. package/dist/cli/init/engines.d.ts.map +1 -1
  93. package/dist/cli/init/engines.js +3 -4
  94. package/dist/cli/init/engines.js.map +1 -1
  95. package/dist/cli/init/scaffold.d.ts.map +1 -1
  96. package/dist/cli/init/scaffold.js +2 -0
  97. package/dist/cli/init/scaffold.js.map +1 -1
  98. package/dist/cli/signals.d.ts +3 -3
  99. package/dist/cli/signals.js +3 -3
  100. package/dist/cli/telemetry.d.ts +12 -0
  101. package/dist/cli/telemetry.d.ts.map +1 -0
  102. package/dist/cli/telemetry.js +40 -0
  103. package/dist/cli/telemetry.js.map +1 -0
  104. package/dist/collect/select.d.ts +2 -0
  105. package/dist/collect/select.d.ts.map +1 -1
  106. package/dist/collect/select.js +15 -11
  107. package/dist/collect/select.js.map +1 -1
  108. package/dist/config/agent.d.ts +6 -2
  109. package/dist/config/agent.d.ts.map +1 -1
  110. package/dist/config/agent.js +30 -3
  111. package/dist/config/agent.js.map +1 -1
  112. package/dist/config/diagnose.d.ts.map +1 -1
  113. package/dist/config/diagnose.js +1 -0
  114. package/dist/config/diagnose.js.map +1 -1
  115. package/dist/config/load.d.ts +2 -2
  116. package/dist/config/load.js +2 -2
  117. package/dist/config/resolve.d.ts +16 -4
  118. package/dist/config/resolve.d.ts.map +1 -1
  119. package/dist/config/resolve.js +107 -44
  120. package/dist/config/resolve.js.map +1 -1
  121. package/dist/engine/contract.d.ts +6 -1
  122. package/dist/engine/contract.d.ts.map +1 -1
  123. package/dist/engine/contract.js.map +1 -1
  124. package/dist/engine/index.d.ts +61 -6
  125. package/dist/engine/index.d.ts.map +1 -1
  126. package/dist/engine/index.js +25 -5
  127. package/dist/engine/index.js.map +1 -1
  128. package/dist/engine/session.d.ts.map +1 -1
  129. package/dist/engine/session.js +6 -0
  130. package/dist/engine/session.js.map +1 -1
  131. package/dist/engine/surface.d.ts +6 -2
  132. package/dist/engine/surface.d.ts.map +1 -1
  133. package/dist/index.d.ts +1 -1
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +1 -1
  136. package/dist/index.js.map +1 -1
  137. package/dist/internal/ai-trace.d.ts +1 -5
  138. package/dist/internal/ai-trace.d.ts.map +1 -1
  139. package/dist/internal/ai-trace.js +82 -11
  140. package/dist/internal/ai-trace.js.map +1 -1
  141. package/dist/internal/atomic-write.d.ts +17 -0
  142. package/dist/internal/atomic-write.d.ts.map +1 -0
  143. package/dist/internal/atomic-write.js +44 -0
  144. package/dist/internal/atomic-write.js.map +1 -0
  145. package/dist/internal/env.d.ts +6 -0
  146. package/dist/internal/env.d.ts.map +1 -0
  147. package/dist/internal/env.js +12 -0
  148. package/dist/internal/env.js.map +1 -0
  149. package/dist/internal/options.d.ts +9 -0
  150. package/dist/internal/options.d.ts.map +1 -0
  151. package/dist/internal/options.js +27 -0
  152. package/dist/internal/options.js.map +1 -0
  153. package/dist/locator/expression.js +1 -1
  154. package/dist/locator/expression.js.map +1 -1
  155. package/dist/locator/screen.d.ts.map +1 -1
  156. package/dist/locator/screen.js +4 -2
  157. package/dist/locator/screen.js.map +1 -1
  158. package/dist/report/build.d.ts +2 -1
  159. package/dist/report/build.d.ts.map +1 -1
  160. package/dist/report/build.js +11 -4
  161. package/dist/report/build.js.map +1 -1
  162. package/dist/report/list-model.d.ts +14 -5
  163. package/dist/report/list-model.d.ts.map +1 -1
  164. package/dist/report/list.d.ts +59 -5
  165. package/dist/report/list.d.ts.map +1 -1
  166. package/dist/report/list.js +171 -31
  167. package/dist/report/list.js.map +1 -1
  168. package/dist/report/running-tree.d.ts +7 -6
  169. package/dist/report/running-tree.d.ts.map +1 -1
  170. package/dist/report/running-tree.js +13 -8
  171. package/dist/report/running-tree.js.map +1 -1
  172. package/dist/report/write.d.ts +1 -1
  173. package/dist/report/write.d.ts.map +1 -1
  174. package/dist/report/write.js +3 -6
  175. package/dist/report/write.js.map +1 -1
  176. package/dist/run/artifacts.d.ts.map +1 -1
  177. package/dist/run/artifacts.js +20 -2
  178. package/dist/run/artifacts.js.map +1 -1
  179. package/dist/run/events.d.ts +73 -15
  180. package/dist/run/events.d.ts.map +1 -1
  181. package/dist/run/events.js +7 -7
  182. package/dist/run/events.js.map +1 -1
  183. package/dist/run/execute.d.ts +31 -5
  184. package/dist/run/execute.d.ts.map +1 -1
  185. package/dist/run/execute.js +73 -25
  186. package/dist/run/execute.js.map +1 -1
  187. package/dist/run/fixtures.d.ts +9 -1
  188. package/dist/run/fixtures.d.ts.map +1 -1
  189. package/dist/run/fixtures.js +5 -4
  190. package/dist/run/fixtures.js.map +1 -1
  191. package/dist/run/in-process.d.ts +1 -1
  192. package/dist/run/in-process.d.ts.map +1 -1
  193. package/dist/run/in-process.js +6 -3
  194. package/dist/run/in-process.js.map +1 -1
  195. package/dist/run/managed-process.d.ts +8 -2
  196. package/dist/run/managed-process.d.ts.map +1 -1
  197. package/dist/run/managed-process.js +12 -0
  198. package/dist/run/managed-process.js.map +1 -1
  199. package/dist/run/records.d.ts +15 -1
  200. package/dist/run/records.d.ts.map +1 -1
  201. package/dist/run/runner.d.ts +16 -7
  202. package/dist/run/runner.d.ts.map +1 -1
  203. package/dist/run/runner.js +182 -98
  204. package/dist/run/runner.js.map +1 -1
  205. package/dist/run/scheduler.d.ts +6 -6
  206. package/dist/run/scheduler.d.ts.map +1 -1
  207. package/dist/run/scheduler.js +54 -23
  208. package/dist/run/scheduler.js.map +1 -1
  209. package/dist/run/serial.d.ts +2 -4
  210. package/dist/run/serial.d.ts.map +1 -1
  211. package/dist/run/serial.js +4 -2
  212. package/dist/run/serial.js.map +1 -1
  213. package/dist/run/sessions.d.ts.map +1 -1
  214. package/dist/run/sessions.js +3 -4
  215. package/dist/run/sessions.js.map +1 -1
  216. package/dist/run/steps.d.ts +28 -1
  217. package/dist/run/steps.d.ts.map +1 -1
  218. package/dist/run/steps.js +14 -0
  219. package/dist/run/steps.js.map +1 -1
  220. package/dist/run/unit-runner.d.ts +7 -2
  221. package/dist/run/unit-runner.d.ts.map +1 -1
  222. package/dist/run/units.d.ts +8 -0
  223. package/dist/run/units.d.ts.map +1 -1
  224. package/dist/run/units.js +11 -0
  225. package/dist/run/units.js.map +1 -1
  226. package/dist/run/worker/entry.js +1 -0
  227. package/dist/run/worker/entry.js.map +1 -1
  228. package/dist/run/worker/handle.d.ts +1 -1
  229. package/dist/run/worker/handle.d.ts.map +1 -1
  230. package/dist/run/worker/handle.js +1 -1
  231. package/dist/run/worker/handle.js.map +1 -1
  232. package/dist/run/worker/protocol.d.ts +12 -1
  233. package/dist/run/worker/protocol.d.ts.map +1 -1
  234. package/dist/run/worker/protocol.js.map +1 -1
  235. package/dist/run/worker/session.d.ts +2 -0
  236. package/dist/run/worker/session.d.ts.map +1 -1
  237. package/dist/run/worker/session.js +5 -0
  238. package/dist/run/worker/session.js.map +1 -1
  239. package/dist/run/worker-models.d.ts +27 -0
  240. package/dist/run/worker-models.d.ts.map +1 -0
  241. package/dist/run/worker-models.js +49 -0
  242. package/dist/run/worker-models.js.map +1 -0
  243. package/dist/telemetry/environment.d.ts +33 -0
  244. package/dist/telemetry/environment.d.ts.map +1 -0
  245. package/dist/telemetry/environment.js +96 -0
  246. package/dist/telemetry/environment.js.map +1 -0
  247. package/dist/telemetry/events.d.ts +25 -0
  248. package/dist/telemetry/events.d.ts.map +1 -0
  249. package/dist/telemetry/events.js +107 -0
  250. package/dist/telemetry/events.js.map +1 -0
  251. package/dist/telemetry/posthog.d.ts +31 -0
  252. package/dist/telemetry/posthog.d.ts.map +1 -0
  253. package/dist/telemetry/posthog.js +29 -0
  254. package/dist/telemetry/posthog.js.map +1 -0
  255. package/dist/telemetry/project.d.ts +18 -0
  256. package/dist/telemetry/project.d.ts.map +1 -0
  257. package/dist/telemetry/project.js +55 -0
  258. package/dist/telemetry/project.js.map +1 -0
  259. package/dist/telemetry/store.d.ts +53 -0
  260. package/dist/telemetry/store.d.ts.map +1 -0
  261. package/dist/telemetry/store.js +153 -0
  262. package/dist/telemetry/store.js.map +1 -0
  263. package/dist/telemetry/telemetry.d.ts +89 -0
  264. package/dist/telemetry/telemetry.d.ts.map +1 -0
  265. package/dist/telemetry/telemetry.js +187 -0
  266. package/dist/telemetry/telemetry.js.map +1 -0
  267. package/dist/types.d.ts +103 -38
  268. package/dist/types.d.ts.map +1 -1
  269. package/package.json +2 -6
  270. package/skills/e2e/SKILL.md +0 -2
  271. package/skills/e2e/references/agent.md +33 -15
  272. package/skills/e2e/references/debugging.md +4 -2
  273. package/skills/e2e/references/running.md +7 -5
  274. package/skills/e2e/references/setup.md +16 -10
  275. package/skills/e2e/references/writing-tests.md +6 -5
  276. package/dist/internal/trace.d.ts +0 -18
  277. package/dist/internal/trace.d.ts.map +0 -1
  278. package/dist/internal/trace.js +0 -46
  279. package/dist/internal/trace.js.map +0 -1
  280. package/dist/run/public.d.ts +0 -19
  281. package/dist/run/public.d.ts.map +0 -1
  282. package/dist/run/public.js +0 -11
  283. package/dist/run/public.js.map +0 -1
package/dist/agent/act.js CHANGED
@@ -11,29 +11,71 @@
11
11
  */
12
12
  import { writeFileSync } from 'node:fs';
13
13
  import { join } from 'node:path';
14
- import { EngineError } from '../engine/surface.js';
15
- import { ConfigurationError, TestError } from '../internal/errors.js';
14
+ import { asEngineError, ConfigurationError, TestError } from '../internal/errors.js';
16
15
  import { timestamp } from '../internal/ids.js';
17
16
  import { resolveNavigationUrl } from '../internal/urls.js';
18
17
  import { AgentError, CATEGORY_BY_CODE, isAgentError, toAgentError } from './error.js';
19
- import { rejectUnsupportedActOptions, validateInstruction, validateParams, validateVerdict, } from './act-validation.js';
18
+ import { validateActOptions, validateInstruction, validateParams, validateVerdict, } from './act-validation.js';
20
19
  import { resolveBoundedBudget, resolveTimeout } from './call-options.js';
21
20
  import { RUNTIME_CODES, } from './executor.js';
22
21
  import { isDerivedValue } from './derived.js';
23
22
  import { projectPriorSteps, serializeLedger } from './ledger.js';
24
23
  import { instantiateLanguageModel } from './model/sdk.js';
25
- import { observationShape, pixelsForModel, prepareObservation, projectTree, settleObservation, } from './observation.js';
24
+ import { isTransitionalObservation, observationShape, pixelsForModel, prepareObservation, projectTree, settleObservation, } from './observation.js';
25
+ import { observationByteBudget } from './observation-budget.js';
26
26
  import { boundedOperation, checkStepClock, instrumentPhase, recordPolicyEvent, retryingObserve } from './phases.js';
27
- import { containerKey, describeAction } from './actions.js';
27
+ import { containerKey, describeAction, describeTarget } from './actions.js';
28
+ import { describePosition, relocateDescriptor } from '../cache/relocate.js';
28
29
  import { authorizeSecretFill } from './secrets.js';
29
30
  import { ModelUsage, tokenFields } from './usage.js';
30
31
  import { StepTraceSession } from './step-cache.js';
32
+ /**
33
+ * Ceiling on one targeted grammar action: the time the engine may wait for a
34
+ * node to become actionable before the failure goes back to the model.
35
+ * `actionTimeout` bounds every engine operation and doubles as the judgment
36
+ * tier's clock, so projects raise it for slow models; a tap under a consent
37
+ * overlay then sits in the engine's actionability retry for the whole budget
38
+ * (90 s in the testbed) before the model learns anything, when the useful
39
+ * answer — what is in the way — is known within seconds. Navigation keeps the
40
+ * full budget: a slow page really can take that long to load.
41
+ */
42
+ const MAX_TARGETED_ACTION_MS = 15_000;
43
+ /**
44
+ * How many times a targeted action re-finds its node after the engine reports
45
+ * it stale. One relocation covers a re-render between the observation and the
46
+ * action; the second covers a render tick landing between the fresh look and
47
+ * the action itself. A control that keeps vanishing faster than that is
48
+ * reported to the model as gone.
49
+ */
50
+ const MAX_STALE_RELOCATIONS = 2;
51
+ /**
52
+ * The change wait after a scroll or a mutating project tool. A scroll moves
53
+ * nothing the tree records and a tool usually changes state the screen shows
54
+ * only after a reload, so most of these change no shape at all and a long
55
+ * wait is pure cost; a windowed list rendering its next rows, or a tool the
56
+ * page reacts to, does so within a few hundred milliseconds.
57
+ */
58
+ const BRIEF_CHANGE_WAIT_MS = 500;
59
+ /**
60
+ * Observations kept for resolving an id the newest one no longer carries.
61
+ * A turn that batches actions addresses the screen it saw, while every
62
+ * action's own look re-observes; on an engine that mints ids per observation
63
+ * (a device), each look renumbers the tree. A few looks back is as far as one
64
+ * turn can reach.
65
+ */
66
+ const MAX_RECENT_OBSERVATIONS = 8;
67
+ /**
68
+ * How far one grammar scroll moves. The engine's default flick is half the
69
+ * scrolled box; a deliberate scroll of three quarters keeps every row on
70
+ * screen at least once while covering a long feed in fewer actions.
71
+ */
72
+ const SCROLL_MOMENTUM = 'slow';
31
73
  /** Runs one `agent.act()` call as a harness-dispatched executor step. */
32
- export async function runActStep(runtime, instruction, params, options) {
74
+ export async function runActStep(runtime, instruction, options, extraArguments = 0) {
33
75
  const normalized = validateInstruction(instruction, 'agent.act');
34
- rejectUnsupportedActOptions(options);
35
- const { projected, secrets } = validateParams(params);
36
- await dispatchAgentStep(runtime, {
76
+ validateActOptions(options, extraArguments);
77
+ const { projected, secrets } = validateParams(options?.params);
78
+ return dispatchAgentStep(runtime, {
37
79
  api: 'agent.act',
38
80
  kind: 'act',
39
81
  instruction: normalized,
@@ -44,7 +86,6 @@ export async function runActStep(runtime, instruction, params, options) {
44
86
  maxSteps: options?.maxSteps,
45
87
  maxModelCalls: options?.maxModelCalls,
46
88
  });
47
- return { ok: true };
48
89
  }
49
90
  /**
50
91
  * Runs one `agent.assert()` call through the executor socket. Used when a
@@ -82,7 +123,7 @@ export async function runAssertStep(runtime, assertion, options) {
82
123
  * (cache/context.ts).
83
124
  */
84
125
  async function dispatchAgentStep(runtime, spec) {
85
- await runtime.steps.run('agent', spec.api, spec.instruction, async () => {
126
+ return runtime.steps.run('agent', spec.api, spec.instruction, async () => {
86
127
  const dispatch = new ActDispatch(runtime, spec);
87
128
  try {
88
129
  let verdict;
@@ -94,6 +135,7 @@ async function dispatchAgentStep(runtime, spec) {
94
135
  }
95
136
  dispatch.settle(validateVerdict(verdict, runtime.executor.name));
96
137
  await dispatch.conclude('passed');
138
+ return dispatch.result();
97
139
  }
98
140
  catch (cause) {
99
141
  await dispatch.conclude(isAgentError(cause) && cause.code === 'CANCELLED' ? 'cancelled' : 'failed');
@@ -123,6 +165,8 @@ class ActDispatch {
123
165
  ledgerBytes: 0,
124
166
  };
125
167
  latest;
168
+ /** The newest observations of the step, oldest first; see MAX_RECENT_OBSERVATIONS. */
169
+ recent = [];
126
170
  explanation;
127
171
  /** First budget/timeout/cancel failure; runtime truth outranks the verdict. */
128
172
  hardStop;
@@ -164,6 +208,17 @@ class ActDispatch {
164
208
  stepIndex;
165
209
  /** The last pixel decision recorded on this step: `allowed`, or the withheld reason. */
166
210
  pixelsDecided;
211
+ /**
212
+ * The screen shape the newest committed action was resolved against, kept
213
+ * until the next settled observation has waited for the screen to leave it.
214
+ * Armed by actions whose effect shows in the tree; a secret fill leaves no
215
+ * visible trace and a scroll moves nothing the tree records, so neither
216
+ * arms it. Without this, the observation after a tap on a link reads the
217
+ * old page, stable and wrong, and the model repairs what already worked.
218
+ */
219
+ pendingChange;
220
+ /** The change wait the pending action asked for; undefined takes the default. */
221
+ pendingChangeWaitMs;
167
222
  constructor(runtime, spec) {
168
223
  this.runtime = runtime;
169
224
  this.spec = spec;
@@ -263,7 +318,7 @@ class ActDispatch {
263
318
  buildActions() {
264
319
  return {
265
320
  tap: (target) => this.commitTargeted('tap', target, async (node) => {
266
- await this.session.perform(node.ref, { kind: 'tap' }, this.operation());
321
+ await this.session.perform(node.ref, { kind: 'tap' }, this.actionOperation());
267
322
  return { name: 'tap', node };
268
323
  }),
269
324
  type: (target, value) => {
@@ -271,7 +326,7 @@ class ActDispatch {
271
326
  throw new TestError('INVALID_ARGUMENT', 'type value must be a string');
272
327
  }
273
328
  return this.commitTargeted('type', target, async (node) => {
274
- await this.session.perform(node.ref, { kind: 'fill', value, sensitive: false }, this.operation());
329
+ await this.session.perform(node.ref, { kind: 'fill', value, sensitive: false }, this.actionOperation());
275
330
  return { name: 'type', node, value };
276
331
  });
277
332
  },
@@ -281,7 +336,7 @@ class ActDispatch {
281
336
  throw new TestError('INVALID_ARGUMENT', 'press key must be a short non-empty string');
282
337
  }
283
338
  return this.commitTargeted('press', target, async (node) => {
284
- await this.session.perform(node.ref, { kind: 'press', key }, this.operation());
339
+ await this.session.perform(node.ref, { kind: 'press', key }, this.actionOperation());
285
340
  return { name: 'press', node, key };
286
341
  });
287
342
  },
@@ -290,7 +345,7 @@ class ActDispatch {
290
345
  throw new TestError('INVALID_ARGUMENT', 'select value must be a non-empty option label');
291
346
  }
292
347
  return this.commitTargeted('selectOption', target, async (node) => {
293
- await this.session.perform(node.ref, { kind: 'selectOption', value }, this.operation());
348
+ await this.session.perform(node.ref, { kind: 'selectOption', value }, this.actionOperation());
294
349
  return { name: 'select', node, value };
295
350
  });
296
351
  },
@@ -343,6 +398,7 @@ class ActDispatch {
343
398
  redact: this.redact,
344
399
  testIdAttribute: this.runtime.config.testIdAttribute,
345
400
  currentPath: (nodes) => this.currentPath(nodes !== undefined && nodes === this.latest?.nodes ? this.latest : undefined),
401
+ replaying: (active) => this.runtime.steps.replaying(active),
346
402
  };
347
403
  }
348
404
  /** Best-effort current location path + query, for trace preconditions. */
@@ -467,7 +523,7 @@ class ActDispatch {
467
523
  this.modelId = usage.modelId;
468
524
  this.runtime.steps.recordEvent({
469
525
  kind: 'model',
470
- startedAt: timestamp(),
526
+ startedAt: usage?.startedAt ?? timestamp(),
471
527
  durationMs: Math.max(0, Math.round(usage?.durationMs ?? 0)),
472
528
  status: 'passed',
473
529
  name: 'executor',
@@ -500,10 +556,25 @@ class ActDispatch {
500
556
  this.reserveAction();
501
557
  this.stepCache?.recordGap(call.name);
502
558
  }
503
- return instrumentPhase(this.runtime, { api: this.spec.api, kind: 'engine', phase: 'agent.action', name: `tool:${call.name}` }, body);
559
+ const value = await instrumentPhase(this.runtime, { api: this.spec.api, kind: 'engine', phase: 'agent.action', name: `tool:${call.name}` }, body);
560
+ // A tool the page reacts to at once is read after the reaction; one
561
+ // whose effect shows only after a reload costs the brief wait, not two seconds.
562
+ if (call.mutates)
563
+ this.armChange(BRIEF_CHANGE_WAIT_MS);
564
+ return value;
504
565
  };
505
566
  return call.mutates ? this.serialized(run) : run();
506
567
  }
568
+ /** What the settled step did, for the caller of `agent.act()`. */
569
+ result() {
570
+ const cache = this.stepCache?.cacheInfo;
571
+ return {
572
+ summary: this.explanation ?? '',
573
+ ...(cache === undefined ? {} : { cache }),
574
+ modelCalls: this.metrics.modelCalls,
575
+ actions: this.metrics.actionSteps,
576
+ };
577
+ }
507
578
  /** Attaches metrics, model provenance, and the verdict explanation to the step. */
508
579
  finish() {
509
580
  this.closed = true;
@@ -555,6 +626,10 @@ class ActDispatch {
555
626
  operation() {
556
627
  return boundedOperation(this.runtime.engine, this.runtime.config.actionTimeout, this.deadline);
557
628
  }
629
+ /** The operation context of one targeted action; see MAX_TARGETED_ACTION_MS. */
630
+ actionOperation() {
631
+ return boundedOperation(this.runtime.engine, Math.min(this.runtime.config.actionTimeout, MAX_TARGETED_ACTION_MS), this.deadline);
632
+ }
558
633
  /** Resolves the configured model once; executors that never read it never pay. */
559
634
  resolveModel() {
560
635
  if (!this.sdkModelResolved) {
@@ -651,6 +726,14 @@ class ActDispatch {
651
726
  // A tainted viewport never captures pixels: the engine would mask what it
652
727
  // knows about, and the secret may be anywhere on screen by now.
653
728
  const capturePixels = pixels && !this.runtime.taint.value;
729
+ // A settled look consumes the pending change: it waits for the screen to
730
+ // leave the pre-action shape once, and later looks read the screen as is.
731
+ const changedFrom = settle ? this.pendingChange : undefined;
732
+ const changeWaitMs = settle ? this.pendingChangeWaitMs : undefined;
733
+ if (settle) {
734
+ this.pendingChange = undefined;
735
+ this.pendingChangeWaitMs = undefined;
736
+ }
654
737
  const observation = await instrumentPhase(this.runtime, { api: this.spec.api, kind: 'observation', phase: 'agent.observe' }, () => settle
655
738
  ? settleObservation(() => this.captureObservation(capturePixels), observationShape, {
656
739
  remainingMs: () => this.deadline.remaining(),
@@ -658,12 +741,30 @@ class ActDispatch {
658
741
  // the attempt signal alone would let settling outlive the step
659
742
  // by one poll interval.
660
743
  signal: this.stepSignal,
661
- })
744
+ }, { changedFrom, changeWaitMs, transitional: isTransitionalObservation })
662
745
  : this.captureObservation(capturePixels), (prepared) => ({ count: prepared.nodes.size, bytes: prepared.bytes }));
663
- this.latest = observation;
746
+ this.publish(observation);
664
747
  this.metrics.observationBytes = Math.max(this.metrics.observationBytes, observation.bytes);
665
748
  return observation;
666
749
  }
750
+ /** Makes an observation the newest and remembers it among the recent ones. */
751
+ publish(observation) {
752
+ this.latest = observation;
753
+ this.recent.push(observation);
754
+ if (this.recent.length > MAX_RECENT_OBSERVATIONS)
755
+ this.recent.shift();
756
+ }
757
+ /**
758
+ * Arms the change wait: the next settled observation waits for the screen
759
+ * to leave the newest observation's shape, for the default two seconds or
760
+ * the given brief window.
761
+ */
762
+ armChange(waitMs) {
763
+ if (this.latest === undefined)
764
+ return;
765
+ this.pendingChange = observationShape(this.latest);
766
+ this.pendingChangeWaitMs = waitMs;
767
+ }
667
768
  /** One raw observation capture: retried at the engine, then redacted and bounded. */
668
769
  async captureObservation(pixels) {
669
770
  const raw = await retryingObserve({
@@ -675,11 +776,31 @@ class ActDispatch {
675
776
  });
676
777
  return prepareObservation(raw, {
677
778
  redact: this.runtime.redact,
678
- maxBytes: this.runtime.config.agent.maxObservationBytes,
779
+ maxBytes: this.observationByteBudget(pixels),
679
780
  testIdAttribute: this.runtime.config.testIdAttribute,
680
781
  });
681
782
  }
682
- /** Resolves an executor target against the newest observation. */
783
+ /**
784
+ * Bytes one act observation may contribute to a model turn, clamped like a
785
+ * judgment's. The loop's history grows past what any one observation costs,
786
+ * so the fixed part counted here is what every turn resends: the project
787
+ * context and the prior-step ledger.
788
+ */
789
+ observationByteBudget(pixels) {
790
+ const { config } = this.runtime;
791
+ return observationByteBudget({
792
+ maxObservationBytes: config.agent.maxObservationBytes,
793
+ maxModelTokensPerCall: config.limits.maxModelTokensPerCall,
794
+ }, { fixedBytes: this.metrics.contextBytes + this.metrics.ledgerBytes, pixels });
795
+ }
796
+ /**
797
+ * Resolves an executor target against the newest observation. An id the
798
+ * newest observation no longer carries, but a recent one did, is re-found
799
+ * in the newest one by its descriptor: a turn that batches actions keeps
800
+ * addressing the screen it saw while each action's own look re-observes,
801
+ * and an engine that mints ids per observation renumbers the tree between
802
+ * them. Exactly one match, or the id counts as gone.
803
+ */
683
804
  resolveTarget(target) {
684
805
  if (typeof target?.id !== 'string' || target.id === '') {
685
806
  throw new TestError('INVALID_ARGUMENT', 'action target must be { id: string }');
@@ -689,12 +810,29 @@ class ActDispatch {
689
810
  if (latest === undefined) {
690
811
  throw new AgentError('LOCATOR_NOT_FOUND', 'no observation has been captured yet; observe before acting');
691
812
  }
692
- const node = latest.nodes.get(id);
813
+ const node = latest.nodes.get(id) ?? this.refound(id, latest);
693
814
  if (node === undefined) {
694
- throw new AgentError('LOCATOR_NOT_FOUND', `node #${id} is not part of observation ${latest.revision}; re-observe and use a current id`);
815
+ throw new AgentError('LOCATOR_NOT_FOUND', `node #${id} is not on the current screen (observation ${latest.revision}); it was removed or never existed`);
695
816
  }
696
817
  return node;
697
818
  }
819
+ /** The newest node matching the descriptor of what `id` named in a recent observation, if exactly one. */
820
+ refound(id, latest) {
821
+ let earlier;
822
+ for (let index = this.recent.length - 1; index >= 0 && earlier === undefined; index -= 1) {
823
+ earlier = this.recent[index].nodes.get(id);
824
+ }
825
+ if (earlier === undefined)
826
+ return undefined;
827
+ const descriptor = describeTarget(earlier, this.redact, this.runtime.config.testIdAttribute);
828
+ if (descriptor === undefined)
829
+ return undefined;
830
+ const relocated = relocateDescriptor(descriptor, latest.nodes, {
831
+ redact: this.redact,
832
+ testIdAttribute: this.runtime.config.testIdAttribute,
833
+ });
834
+ return relocated.kind === 'found' ? latest.nodes.get(relocated.id) : undefined;
835
+ }
698
836
  /**
699
837
  * Runs one grammar action against the action budget, recorded as an engine
700
838
  * event. The body performs the engine call and returns the committed
@@ -717,6 +855,12 @@ class ActDispatch {
717
855
  this.checkpoint(cause);
718
856
  throw cause;
719
857
  }
858
+ // The effect may still be arriving: the next settled observation waits for
859
+ // the screen to leave the shape this action was resolved against. A secret
860
+ // fill leaves no visible trace and arms nothing; a scroll waits briefly for
861
+ // rows a windowed or lazy list renders.
862
+ if (name !== 'typeSecret')
863
+ this.armChange(name === 'scroll' ? BRIEF_CHANGE_WAIT_MS : undefined);
720
864
  if (this.stepCache === undefined)
721
865
  return;
722
866
  // A typed value the step derived at run time is this run's data, not the
@@ -728,39 +872,85 @@ class ActDispatch {
728
872
  }
729
873
  this.stepCache.record(action);
730
874
  }
731
- /** One action against a resolved node; a stale ref asks for a re-observe. */
875
+ /**
876
+ * One action against a resolved node. A node the engine reports stale is
877
+ * re-found by its descriptor against a fresh capture and the action retried
878
+ * (`MAX_STALE_RELOCATIONS` times): a list that remounts its rows between
879
+ * the observation and the action keeps the control on screen under a dead
880
+ * handle, and the control, not the handle, is what the model asked for. A
881
+ * descriptor that matches nothing or several nodes fails the action instead.
882
+ */
732
883
  commitTargeted(name, target, perform) {
733
884
  return this.runAction(name, async () => {
734
- const node = this.resolveTarget(target);
735
- // The container the node sits in is captured with it: that is what
736
- // tells this row's "Delete" from the next row's when the flow replays.
737
- const latest = this.latest;
738
- const within = latest === undefined ? undefined : containerKey(node.ref.id, latest.nodes, latest.parents, this.redact);
739
- try {
740
- const action = await perform(node);
741
- return within === undefined ? action : { ...action, within };
742
- }
743
- catch (cause) {
744
- if (cause instanceof EngineError && cause.code === 'NODE_STALE') {
745
- throw new AgentError('LOCATOR_NOT_FOUND', 'the target node is stale; re-observe and use a current id', { cause });
885
+ let node = this.resolveTarget(target);
886
+ // resolveTarget guarantees an observation; it is the one the node came from.
887
+ let observation = this.latest;
888
+ for (let relocations = 0;; relocations += 1) {
889
+ // The container the node sits in is captured with it: that is what
890
+ // tells this row's "Delete" from the next row's when the flow replays.
891
+ const within = containerKey(node.ref.id, observation.nodes, observation.parents, this.redact);
892
+ // When the description still matches several controls, the position among
893
+ // them is recorded too; a replay that finds the same number picks the same one.
894
+ const position = describePosition(node, within, observation.nodes, {
895
+ redact: this.redact,
896
+ testIdAttribute: this.runtime.config.testIdAttribute,
897
+ });
898
+ try {
899
+ const action = await perform(node);
900
+ return {
901
+ ...action,
902
+ ...(within === undefined ? {} : { within }),
903
+ ...(position === undefined ? {} : { position }),
904
+ };
905
+ }
906
+ catch (cause) {
907
+ if (asEngineError(cause)?.code !== 'NODE_STALE')
908
+ throw cause;
909
+ const relocated = relocations < MAX_STALE_RELOCATIONS ? await this.relocateStale(node) : undefined;
910
+ if (relocated === undefined) {
911
+ throw new AgentError('LOCATOR_NOT_FOUND', 'the target node left the screen before the action reached it', { cause });
912
+ }
913
+ node = relocated.node;
914
+ observation = relocated.observation;
746
915
  }
747
- throw cause;
748
916
  }
749
917
  });
750
918
  }
919
+ /**
920
+ * Re-finds a node that went stale: one fresh capture, then the trace
921
+ * recorder's own descriptor matching (`cache/relocate.ts`) against it,
922
+ * exactly one match or nothing. The capture is taken directly rather than
923
+ * through the serialized observe: this runs inside a serialized action
924
+ * body, and a queued observation would wait on its own caller.
925
+ */
926
+ async relocateStale(stale) {
927
+ const options = { redact: this.redact, testIdAttribute: this.runtime.config.testIdAttribute };
928
+ const descriptor = describeTarget(stale, this.redact, this.runtime.config.testIdAttribute);
929
+ if (descriptor === undefined)
930
+ return undefined;
931
+ this.checkpoint();
932
+ const observation = await instrumentPhase(this.runtime, { api: this.spec.api, kind: 'observation', phase: 'agent.observe', name: 'relocate' }, () => this.captureObservation(false), (prepared) => ({ count: prepared.nodes.size, bytes: prepared.bytes }));
933
+ this.publish(observation);
934
+ this.metrics.observationBytes = Math.max(this.metrics.observationBytes, observation.bytes);
935
+ const relocated = relocateDescriptor(descriptor, observation.nodes, options);
936
+ if (relocated.kind !== 'found')
937
+ return undefined;
938
+ const node = observation.nodes.get(relocated.id);
939
+ return node === undefined ? undefined : { node, observation };
940
+ }
751
941
  async scroll(direction, target) {
752
942
  if (!['up', 'down', 'left', 'right'].includes(direction)) {
753
943
  throw new TestError('INVALID_ARGUMENT', `invalid scroll direction "${String(direction)}"`);
754
944
  }
755
945
  if (target === undefined) {
756
946
  await this.runAction('scroll', async () => {
757
- await this.session.swipe(direction, undefined, this.operation());
947
+ await this.session.swipe(direction, SCROLL_MOMENTUM, this.actionOperation());
758
948
  return { name: 'scroll', direction };
759
949
  });
760
950
  return;
761
951
  }
762
952
  await this.commitTargeted('scroll', target, async (node) => {
763
- await this.session.perform(node.ref, { kind: 'swipe', direction }, this.operation());
953
+ await this.session.perform(node.ref, { kind: 'swipe', direction, momentum: SCROLL_MOMENTUM }, this.actionOperation());
764
954
  return { name: 'scroll', direction, node };
765
955
  });
766
956
  }
@@ -778,10 +968,10 @@ class ActDispatch {
778
968
  await this.commitTargeted('typeSecret', target, async (node) => {
779
969
  const plaintext = await authorizeSecretFill({
780
970
  session: this.session,
781
- operation: () => this.operation(),
971
+ operation: () => this.actionOperation(),
782
972
  recordPolicy: (policy, decision, code) => this.recordPolicy(policy, decision, code),
783
973
  }, this.runtime, secret, node);
784
- await this.session.perform(node.ref, { kind: 'fill', value: plaintext, sensitive: true }, this.operation());
974
+ await this.session.perform(node.ref, { kind: 'fill', value: plaintext, sensitive: true }, this.actionOperation());
785
975
  this.runtime.taint.value = true;
786
976
  // Recorded by stable name only; replay re-runs the full authorization.
787
977
  return { name: 'typeSecret', node, secret: name };
@@ -1 +1 @@
1
- {"version":3,"file":"act.js","sourceRoot":"","sources":["../../src/agent/act.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"act.js","sourceRoot":"","sources":["../../src/agent/act.ts"],"names":[],"mappings":"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"}