e2e 0.15.2 → 0.17.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 (1024) hide show
  1. package/dist/.build.json +1 -1
  2. package/dist/agent/act-validation.d.ts +10 -1
  3. package/dist/agent/act-validation.js +48 -1
  4. package/dist/agent/act.d.ts +1 -2
  5. package/dist/agent/act.js +29 -9
  6. package/dist/agent/action-dispatcher.d.ts +0 -1
  7. package/dist/agent/action-dispatcher.js +4 -6
  8. package/dist/agent/action-names.d.ts +0 -1
  9. package/dist/agent/action-names.js +0 -1
  10. package/dist/agent/actions.d.ts +32 -24
  11. package/dist/agent/actions.js +38 -25
  12. package/dist/agent/agent-brand.d.ts +0 -1
  13. package/dist/agent/agent-brand.js +0 -1
  14. package/dist/agent/ai-sdk.d.ts +7 -1
  15. package/dist/agent/ai-sdk.js +11 -1
  16. package/dist/agent/call-options.d.ts +0 -1
  17. package/dist/agent/call-options.js +0 -1
  18. package/dist/agent/default-agent.d.ts +0 -1
  19. package/dist/agent/default-agent.js +0 -1
  20. package/dist/agent/derived.d.ts +0 -1
  21. package/dist/agent/derived.js +0 -1
  22. package/dist/agent/error.d.ts +0 -1
  23. package/dist/agent/error.js +0 -1
  24. package/dist/agent/executor.d.ts +0 -1
  25. package/dist/agent/executor.js +0 -1
  26. package/dist/agent/index.d.ts +0 -1
  27. package/dist/agent/index.js +0 -1
  28. package/dist/agent/interactive-step.d.ts +0 -1
  29. package/dist/agent/interactive-step.js +0 -1
  30. package/dist/agent/invocation.d.ts +0 -1
  31. package/dist/agent/invocation.js +10 -5
  32. package/dist/agent/ledger.d.ts +0 -1
  33. package/dist/agent/ledger.js +0 -1
  34. package/dist/agent/loop-guards.d.ts +0 -1
  35. package/dist/agent/loop-guards.js +0 -1
  36. package/dist/agent/model/adapter.d.ts +0 -1
  37. package/dist/agent/model/adapter.js +0 -1
  38. package/dist/agent/model/overflow.d.ts +0 -1
  39. package/dist/agent/model/overflow.js +0 -1
  40. package/dist/agent/model/provider-hints.d.ts +0 -1
  41. package/dist/agent/model/provider-hints.js +0 -1
  42. package/dist/agent/model/schema.d.ts +0 -1
  43. package/dist/agent/model/schema.js +0 -1
  44. package/dist/agent/model/sdk.d.ts +0 -1
  45. package/dist/agent/model/sdk.js +2 -1
  46. package/dist/agent/model/stall.d.ts +0 -1
  47. package/dist/agent/model/stall.js +0 -1
  48. package/dist/agent/model/tool-choice.d.ts +0 -1
  49. package/dist/agent/model/tool-choice.js +0 -1
  50. package/dist/agent/observation-budget.d.ts +0 -1
  51. package/dist/agent/observation-budget.js +0 -1
  52. package/dist/agent/observation-feed.d.ts +5 -7
  53. package/dist/agent/observation-feed.js +5 -8
  54. package/dist/agent/observation.d.ts +40 -12
  55. package/dist/agent/observation.js +109 -60
  56. package/dist/agent/operation-queue.d.ts +0 -1
  57. package/dist/agent/operation-queue.js +0 -1
  58. package/dist/agent/phases.d.ts +0 -1
  59. package/dist/agent/phases.js +0 -1
  60. package/dist/agent/pixels.d.ts +0 -1
  61. package/dist/agent/pixels.js +0 -1
  62. package/dist/agent/point-tap.d.ts +8 -9
  63. package/dist/agent/point-tap.js +1 -2
  64. package/dist/agent/primitives.d.ts +6 -1
  65. package/dist/agent/primitives.js +4 -2
  66. package/dist/agent/prompts.d.ts +0 -1
  67. package/dist/agent/prompts.js +0 -1
  68. package/dist/agent/protocol.d.ts +0 -1
  69. package/dist/agent/protocol.js +0 -1
  70. package/dist/agent/public.d.ts +0 -1
  71. package/dist/agent/public.js +0 -1
  72. package/dist/agent/reading.d.ts +0 -1
  73. package/dist/agent/reading.js +0 -1
  74. package/dist/agent/replay.d.ts +19 -9
  75. package/dist/agent/replay.js +11 -15
  76. package/dist/agent/screen-update.d.ts +0 -1
  77. package/dist/agent/screen-update.js +0 -1
  78. package/dist/agent/scroll-target.d.ts +2 -4
  79. package/dist/agent/scroll-target.js +0 -1
  80. package/dist/agent/secrets.d.ts +0 -1
  81. package/dist/agent/secrets.js +0 -1
  82. package/dist/agent/settle-policy.d.ts +0 -1
  83. package/dist/agent/settle-policy.js +0 -1
  84. package/dist/agent/step-accounting.d.ts +0 -1
  85. package/dist/agent/step-accounting.js +0 -1
  86. package/dist/agent/step-cache.d.ts +41 -15
  87. package/dist/agent/step-cache.js +147 -63
  88. package/dist/agent/tool-loop.d.ts +0 -1
  89. package/dist/agent/tool-loop.js +2 -1
  90. package/dist/agent/tool-output.d.ts +0 -1
  91. package/dist/agent/tool-output.js +0 -1
  92. package/dist/agent/tool.d.ts +0 -1
  93. package/dist/agent/tool.js +0 -1
  94. package/dist/agent/transcript-compaction.d.ts +0 -1
  95. package/dist/agent/transcript-compaction.js +0 -1
  96. package/dist/agent/upload-paths.d.ts +0 -1
  97. package/dist/agent/upload-paths.js +0 -1
  98. package/dist/agent/usage.d.ts +0 -1
  99. package/dist/agent/usage.js +0 -1
  100. package/dist/cache/anchors.d.ts +72 -24
  101. package/dist/cache/anchors.js +233 -61
  102. package/dist/cache/context.d.ts +25 -15
  103. package/dist/cache/context.js +50 -9
  104. package/dist/cache/decide.d.ts +2 -3
  105. package/dist/cache/decide.js +4 -7
  106. package/dist/cache/identity.d.ts +18 -5
  107. package/dist/cache/identity.js +9 -5
  108. package/dist/cache/recorder.d.ts +15 -2
  109. package/dist/cache/recorder.js +36 -24
  110. package/dist/cache/rekeyed.d.ts +46 -0
  111. package/dist/cache/rekeyed.js +89 -0
  112. package/dist/cache/relocate.d.ts +14 -15
  113. package/dist/cache/relocate.js +33 -26
  114. package/dist/cache/route.d.ts +32 -34
  115. package/dist/cache/route.js +94 -51
  116. package/dist/cache/store.d.ts +6 -1
  117. package/dist/cache/store.js +21 -2
  118. package/dist/cache/template.d.ts +0 -1
  119. package/dist/cache/template.js +0 -1
  120. package/dist/cache/trace.d.ts +53 -15
  121. package/dist/cache/trace.js +70 -29
  122. package/dist/cli/bin.d.ts +0 -1
  123. package/dist/cli/bin.js +0 -1
  124. package/dist/cli/cache.d.ts +0 -1
  125. package/dist/cli/cache.js +0 -1
  126. package/dist/cli/docs-url.d.ts +0 -1
  127. package/dist/cli/docs-url.js +0 -1
  128. package/dist/cli/feedback.d.ts +0 -1
  129. package/dist/cli/feedback.js +0 -1
  130. package/dist/cli/guide.d.ts +0 -1
  131. package/dist/cli/guide.js +0 -1
  132. package/dist/cli/index.d.ts +0 -1
  133. package/dist/cli/index.js +10 -11
  134. package/dist/cli/init/agent-skill.d.ts +0 -1
  135. package/dist/cli/init/agent-skill.js +0 -1
  136. package/dist/cli/init/engines.d.ts +1 -4
  137. package/dist/cli/init/engines.js +2 -3
  138. package/dist/cli/init/gateways.d.ts +1 -2
  139. package/dist/cli/init/gateways.js +11 -2
  140. package/dist/cli/init/mcp-config.d.ts +0 -1
  141. package/dist/cli/init/mcp-config.js +0 -1
  142. package/dist/cli/init/package.d.ts +0 -1
  143. package/dist/cli/init/package.js +0 -1
  144. package/dist/cli/init/scaffold.d.ts +0 -1
  145. package/dist/cli/init/scaffold.js +0 -1
  146. package/dist/cli/init/sibling-versions.json +1 -1
  147. package/dist/cli/init/versions.d.ts +0 -9
  148. package/dist/cli/init/versions.js +1 -11
  149. package/dist/cli/init.d.ts +0 -1
  150. package/dist/cli/init.js +0 -1
  151. package/dist/cli/mcp.d.ts +9 -2
  152. package/dist/cli/mcp.js +14 -2
  153. package/dist/cli/signals.d.ts +0 -1
  154. package/dist/cli/signals.js +0 -1
  155. package/dist/cli/skill.d.ts +0 -1
  156. package/dist/cli/skill.js +0 -1
  157. package/dist/cli/telemetry.d.ts +0 -1
  158. package/dist/cli/telemetry.js +1 -2
  159. package/dist/cli/wordmark.d.ts +0 -1
  160. package/dist/cli/wordmark.js +0 -1
  161. package/dist/collect/collect.d.ts +0 -1
  162. package/dist/collect/collect.js +3 -2
  163. package/dist/collect/registry.d.ts +6 -3
  164. package/dist/collect/registry.js +31 -14
  165. package/dist/collect/select.d.ts +0 -1
  166. package/dist/collect/select.js +0 -1
  167. package/dist/config/agent.d.ts +0 -1
  168. package/dist/config/agent.js +0 -1
  169. package/dist/config/app.d.ts +0 -1
  170. package/dist/config/app.js +0 -1
  171. package/dist/config/command.d.ts +0 -1
  172. package/dist/config/command.js +0 -1
  173. package/dist/config/diagnose.d.ts +0 -1
  174. package/dist/config/diagnose.js +0 -1
  175. package/dist/config/esm-hooks.d.ts +0 -1
  176. package/dist/config/esm-hooks.js +0 -1
  177. package/dist/config/load.d.ts +0 -1
  178. package/dist/config/load.js +0 -1
  179. package/dist/config/resolve.d.ts +1 -1
  180. package/dist/config/resolve.js +33 -2
  181. package/dist/config/secrets.d.ts +0 -1
  182. package/dist/config/secrets.js +0 -1
  183. package/dist/config/targets.d.ts +0 -1
  184. package/dist/config/targets.js +0 -1
  185. package/dist/config/validate.d.ts +0 -1
  186. package/dist/config/validate.js +0 -1
  187. package/dist/engine/contract.d.ts +0 -1
  188. package/dist/engine/contract.js +0 -1
  189. package/dist/engine/index.d.ts +3 -4
  190. package/dist/engine/index.js +4 -4
  191. package/dist/engine/manifest.d.ts +0 -1
  192. package/dist/engine/manifest.js +0 -1
  193. package/dist/engine/recording.d.ts +0 -1
  194. package/dist/engine/recording.js +0 -1
  195. package/dist/engine/resolve.d.ts +0 -1
  196. package/dist/engine/resolve.js +0 -1
  197. package/dist/engine/session.d.ts +0 -1
  198. package/dist/engine/session.js +0 -1
  199. package/dist/engine/surface.d.ts +0 -1
  200. package/dist/engine/surface.js +0 -1
  201. package/dist/engine/timing.d.ts +0 -1
  202. package/dist/engine/timing.js +0 -1
  203. package/dist/expect/async.d.ts +0 -1
  204. package/dist/expect/async.js +101 -59
  205. package/dist/expect/attempt.d.ts +0 -1
  206. package/dist/expect/attempt.js +0 -1
  207. package/dist/expect/index.d.ts +0 -1
  208. package/dist/expect/index.js +0 -1
  209. package/dist/expect/poll-scope.d.ts +52 -0
  210. package/dist/expect/poll-scope.js +113 -0
  211. package/dist/expect/poll.d.ts +0 -1
  212. package/dist/expect/poll.js +31 -5
  213. package/dist/expect/soft.d.ts +0 -1
  214. package/dist/expect/soft.js +0 -1
  215. package/dist/expect/values.d.ts +0 -1
  216. package/dist/expect/values.js +11 -5
  217. package/dist/explore/body.d.ts +0 -1
  218. package/dist/explore/body.js +0 -1
  219. package/dist/explore/executor.d.ts +0 -1
  220. package/dist/explore/executor.js +0 -1
  221. package/dist/explore/index.d.ts +0 -1
  222. package/dist/explore/index.js +16 -2
  223. package/dist/explore/plan.d.ts +0 -1
  224. package/dist/explore/plan.js +0 -1
  225. package/dist/explore/progress.d.ts +0 -1
  226. package/dist/explore/progress.js +0 -1
  227. package/dist/explore/state.d.ts +0 -1
  228. package/dist/explore/state.js +0 -1
  229. package/dist/index.d.ts +0 -1
  230. package/dist/index.js +0 -1
  231. package/dist/internal/abandoned.d.ts +11 -0
  232. package/dist/internal/abandoned.js +23 -0
  233. package/dist/internal/ai-trace.d.ts +0 -1
  234. package/dist/internal/ai-trace.js +0 -1
  235. package/dist/internal/atomic-write.d.ts +0 -1
  236. package/dist/internal/atomic-write.js +0 -1
  237. package/dist/internal/brands.d.ts +2 -1
  238. package/dist/internal/brands.js +2 -1
  239. package/dist/internal/client-identity.d.ts +9 -0
  240. package/dist/internal/client-identity.js +14 -0
  241. package/dist/internal/debug.d.ts +0 -1
  242. package/dist/internal/debug.js +0 -1
  243. package/dist/internal/env.d.ts +0 -1
  244. package/dist/internal/env.js +0 -1
  245. package/dist/internal/errors.d.ts +0 -1
  246. package/dist/internal/errors.js +0 -1
  247. package/dist/internal/geometry.d.ts +0 -1
  248. package/dist/internal/geometry.js +0 -1
  249. package/dist/internal/git.d.ts +0 -1
  250. package/dist/internal/git.js +0 -1
  251. package/dist/internal/globs.d.ts +0 -1
  252. package/dist/internal/globs.js +0 -1
  253. package/dist/internal/ids.d.ts +0 -1
  254. package/dist/internal/ids.js +0 -1
  255. package/dist/internal/json-value.d.ts +0 -1
  256. package/dist/internal/json-value.js +0 -1
  257. package/dist/internal/keys.d.ts +0 -1
  258. package/dist/internal/keys.js +0 -1
  259. package/dist/internal/node-version.d.ts +0 -1
  260. package/dist/internal/node-version.js +0 -1
  261. package/dist/internal/objects.d.ts +0 -1
  262. package/dist/internal/objects.js +0 -1
  263. package/dist/internal/options.d.ts +0 -1
  264. package/dist/internal/options.js +0 -1
  265. package/dist/internal/package-manager.d.ts +0 -1
  266. package/dist/internal/package-manager.js +0 -1
  267. package/dist/internal/package-version.d.ts +0 -1
  268. package/dist/internal/package-version.js +0 -1
  269. package/dist/internal/paths.d.ts +0 -1
  270. package/dist/internal/paths.js +0 -1
  271. package/dist/internal/realm-slot.d.ts +0 -1
  272. package/dist/internal/realm-slot.js +0 -1
  273. package/dist/internal/recording-modes.d.ts +0 -1
  274. package/dist/internal/recording-modes.js +0 -1
  275. package/dist/internal/redact.d.ts +7 -5
  276. package/dist/internal/redact.js +116 -24
  277. package/dist/internal/regexp.d.ts +0 -1
  278. package/dist/internal/regexp.js +0 -1
  279. package/dist/internal/roles.d.ts +0 -1
  280. package/dist/internal/roles.js +0 -1
  281. package/dist/internal/skip.d.ts +0 -1
  282. package/dist/internal/skip.js +0 -1
  283. package/dist/internal/source.d.ts +0 -1
  284. package/dist/internal/source.js +0 -1
  285. package/dist/internal/standard-schema.d.ts +0 -1
  286. package/dist/internal/standard-schema.js +0 -1
  287. package/dist/internal/suggest.d.ts +0 -1
  288. package/dist/internal/suggest.js +0 -1
  289. package/dist/internal/text.d.ts +8 -1
  290. package/dist/internal/text.js +13 -2
  291. package/dist/internal/time.d.ts +6 -1
  292. package/dist/internal/time.js +25 -14
  293. package/dist/internal/urls.d.ts +9 -6
  294. package/dist/internal/urls.js +19 -11
  295. package/dist/internal/vcs.d.ts +0 -1
  296. package/dist/internal/vcs.js +0 -1
  297. package/dist/internal/zip.d.ts +0 -1
  298. package/dist/internal/zip.js +0 -1
  299. package/dist/locator/engine.d.ts +12 -3
  300. package/dist/locator/engine.js +8 -4
  301. package/dist/locator/expression.d.ts +0 -1
  302. package/dist/locator/expression.js +0 -1
  303. package/dist/locator/screen.d.ts +0 -1
  304. package/dist/locator/screen.js +28 -5
  305. package/dist/mcp/catalog.d.ts +7 -3
  306. package/dist/mcp/catalog.js +8 -9
  307. package/dist/mcp/config.d.ts +0 -1
  308. package/dist/mcp/config.js +0 -1
  309. package/dist/mcp/recording.d.ts +0 -1
  310. package/dist/mcp/recording.js +0 -1
  311. package/dist/mcp/server.d.ts +8 -1
  312. package/dist/mcp/server.js +8 -5
  313. package/dist/mcp/session.d.ts +4 -2
  314. package/dist/mcp/session.js +44 -22
  315. package/dist/mcp/sessions.d.ts +2 -1
  316. package/dist/mcp/sessions.js +5 -2
  317. package/dist/mcp/tools.d.ts +7 -6
  318. package/dist/mcp/tools.js +36 -11
  319. package/dist/mcp/usage.d.ts +61 -0
  320. package/dist/mcp/usage.js +73 -0
  321. package/dist/oauth/callback-server.d.ts +0 -1
  322. package/dist/oauth/callback-server.js +0 -1
  323. package/dist/oauth/chatgpt.d.ts +0 -1
  324. package/dist/oauth/chatgpt.js +3 -24
  325. package/dist/oauth/cli.d.ts +0 -1
  326. package/dist/oauth/cli.js +1 -1
  327. package/dist/oauth/copilot.d.ts +5 -5
  328. package/dist/oauth/copilot.js +80 -8
  329. package/dist/oauth/device-code.d.ts +0 -1
  330. package/dist/oauth/device-code.js +0 -1
  331. package/dist/oauth/errors.d.ts +0 -1
  332. package/dist/oauth/errors.js +0 -1
  333. package/dist/oauth/fetch.d.ts +0 -1
  334. package/dist/oauth/fetch.js +0 -1
  335. package/dist/oauth/grok.d.ts +0 -1
  336. package/dist/oauth/grok.js +2 -2
  337. package/dist/oauth/jwt.d.ts +0 -1
  338. package/dist/oauth/jwt.js +0 -1
  339. package/dist/oauth/login.d.ts +0 -1
  340. package/dist/oauth/login.js +0 -1
  341. package/dist/oauth/models.d.ts +0 -1
  342. package/dist/oauth/models.js +2 -2
  343. package/dist/oauth/opencode-console.d.ts +10 -0
  344. package/dist/oauth/opencode-console.js +133 -0
  345. package/dist/oauth/pkce.d.ts +0 -1
  346. package/dist/oauth/pkce.js +0 -1
  347. package/dist/oauth/providers/github-copilot.d.ts +12 -1
  348. package/dist/oauth/providers/github-copilot.js +80 -19
  349. package/dist/oauth/providers/openai.d.ts +0 -1
  350. package/dist/oauth/providers/openai.js +1 -2
  351. package/dist/oauth/providers/opencode-console.d.ts +31 -0
  352. package/dist/oauth/providers/opencode-console.js +148 -0
  353. package/dist/oauth/providers/xai.d.ts +0 -1
  354. package/dist/oauth/providers/xai.js +0 -1
  355. package/dist/oauth/providers.d.ts +2 -7
  356. package/dist/oauth/providers.js +3 -8
  357. package/dist/oauth/responses.d.ts +9 -0
  358. package/dist/oauth/responses.js +23 -0
  359. package/dist/oauth/sse.d.ts +0 -1
  360. package/dist/oauth/sse.js +0 -1
  361. package/dist/oauth/store.d.ts +0 -1
  362. package/dist/oauth/store.js +0 -1
  363. package/dist/oauth/token-endpoint.d.ts +0 -1
  364. package/dist/oauth/token-endpoint.js +0 -1
  365. package/dist/oauth/types.d.ts +0 -1
  366. package/dist/oauth/types.js +0 -1
  367. package/dist/params.d.ts +0 -1
  368. package/dist/params.js +0 -1
  369. package/dist/report/build.d.ts +26 -1
  370. package/dist/report/build.js +16 -9
  371. package/dist/report/builtin.d.ts +0 -1
  372. package/dist/report/builtin.js +0 -1
  373. package/dist/report/code-frame.d.ts +0 -1
  374. package/dist/report/code-frame.js +0 -1
  375. package/dist/report/debug-steps.d.ts +0 -1
  376. package/dist/report/debug-steps.js +0 -1
  377. package/dist/report/explore-text.d.ts +0 -1
  378. package/dist/report/explore-text.js +0 -1
  379. package/dist/report/failure-text.d.ts +6 -2
  380. package/dist/report/failure-text.js +14 -5
  381. package/dist/report/format.d.ts +10 -6
  382. package/dist/report/format.js +12 -6
  383. package/dist/report/json.d.ts +0 -1
  384. package/dist/report/json.js +0 -1
  385. package/dist/report/junit.d.ts +0 -1
  386. package/dist/report/junit.js +11 -13
  387. package/dist/report/list-explore.d.ts +0 -1
  388. package/dist/report/list-explore.js +0 -1
  389. package/dist/report/list-model.d.ts +0 -1
  390. package/dist/report/list-model.js +0 -1
  391. package/dist/report/list-steps.d.ts +0 -1
  392. package/dist/report/list-steps.js +0 -1
  393. package/dist/report/list.d.ts +1 -1
  394. package/dist/report/list.js +38 -19
  395. package/dist/report/live-window.d.ts +0 -1
  396. package/dist/report/live-window.js +0 -1
  397. package/dist/report/markdown-text.d.ts +0 -1
  398. package/dist/report/markdown-text.js +0 -1
  399. package/dist/report/markdown.d.ts +1 -2
  400. package/dist/report/markdown.js +37 -15
  401. package/dist/report/outcome.d.ts +0 -1
  402. package/dist/report/outcome.js +0 -1
  403. package/dist/report/repeats.d.ts +6 -2
  404. package/dist/report/repeats.js +12 -4
  405. package/dist/report/running-tree.d.ts +0 -1
  406. package/dist/report/running-tree.js +0 -1
  407. package/dist/report/write.d.ts +0 -1
  408. package/dist/report/write.js +0 -1
  409. package/dist/run/app-ports.d.ts +0 -1
  410. package/dist/run/app-ports.js +0 -1
  411. package/dist/run/artifacts.d.ts +18 -1
  412. package/dist/run/artifacts.js +68 -2
  413. package/dist/run/budget.d.ts +0 -1
  414. package/dist/run/budget.js +0 -1
  415. package/dist/run/declared-processes.d.ts +0 -1
  416. package/dist/run/declared-processes.js +0 -1
  417. package/dist/run/events.d.ts +0 -1
  418. package/dist/run/events.js +0 -1
  419. package/dist/run/execute.d.ts +9 -1
  420. package/dist/run/execute.js +55 -29
  421. package/dist/run/extended-fixtures.d.ts +0 -1
  422. package/dist/run/extended-fixtures.js +6 -3
  423. package/dist/run/failure-evidence.d.ts +0 -1
  424. package/dist/run/failure-evidence.js +4 -3
  425. package/dist/run/fixture-recording.d.ts +0 -1
  426. package/dist/run/fixture-recording.js +0 -1
  427. package/dist/run/fixtures.d.ts +0 -1
  428. package/dist/run/fixtures.js +6 -9
  429. package/dist/run/in-process.d.ts +2 -1
  430. package/dist/run/in-process.js +1 -1
  431. package/dist/run/last-run.d.ts +42 -9
  432. package/dist/run/last-run.js +121 -15
  433. package/dist/run/managed-process.d.ts +0 -1
  434. package/dist/run/managed-process.js +0 -1
  435. package/dist/run/output.d.ts +0 -1
  436. package/dist/run/output.js +0 -1
  437. package/dist/run/process-pool.d.ts +0 -1
  438. package/dist/run/process-pool.js +0 -1
  439. package/dist/run/provision.d.ts +0 -1
  440. package/dist/run/provision.js +0 -1
  441. package/dist/run/realm.d.ts +6 -2
  442. package/dist/run/realm.js +21 -8
  443. package/dist/run/records.d.ts +16 -1
  444. package/dist/run/records.js +26 -1
  445. package/dist/run/retry.d.ts +3 -2
  446. package/dist/run/retry.js +4 -3
  447. package/dist/run/runner.d.ts +3 -2
  448. package/dist/run/runner.js +70 -32
  449. package/dist/run/scheduler.d.ts +0 -1
  450. package/dist/run/scheduler.js +0 -1
  451. package/dist/run/secrecy.d.ts +15 -1
  452. package/dist/run/secrecy.js +27 -2
  453. package/dist/run/serial.d.ts +2 -1
  454. package/dist/run/serial.js +8 -6
  455. package/dist/run/sessions.d.ts +0 -1
  456. package/dist/run/sessions.js +0 -1
  457. package/dist/run/standalone.d.ts +0 -1
  458. package/dist/run/standalone.js +3 -3
  459. package/dist/run/steps.d.ts +2 -9
  460. package/dist/run/steps.js +7 -22
  461. package/dist/run/trace-redaction.d.ts +0 -1
  462. package/dist/run/trace-redaction.js +0 -1
  463. package/dist/run/unit-runner.d.ts +0 -1
  464. package/dist/run/unit-runner.js +0 -1
  465. package/dist/run/units.d.ts +0 -1
  466. package/dist/run/units.js +0 -1
  467. package/dist/run/worker/entry.d.ts +0 -1
  468. package/dist/run/worker/entry.js +7 -7
  469. package/dist/run/worker/handle.d.ts +0 -1
  470. package/dist/run/worker/handle.js +0 -1
  471. package/dist/run/worker/protocol.d.ts +2 -1
  472. package/dist/run/worker/protocol.js +0 -1
  473. package/dist/run/worker/session.d.ts +2 -1
  474. package/dist/run/worker/session.js +1 -1
  475. package/dist/run/worker-models.d.ts +0 -1
  476. package/dist/run/worker-models.js +0 -1
  477. package/dist/secrets.d.ts +0 -1
  478. package/dist/secrets.js +0 -1
  479. package/dist/telemetry/checkout.d.ts +0 -1
  480. package/dist/telemetry/checkout.js +0 -1
  481. package/dist/telemetry/environment.d.ts +0 -1
  482. package/dist/telemetry/environment.js +0 -1
  483. package/dist/telemetry/events.d.ts +26 -10
  484. package/dist/telemetry/events.js +108 -13
  485. package/dist/telemetry/failure-kind.d.ts +0 -1
  486. package/dist/telemetry/failure-kind.js +0 -1
  487. package/dist/telemetry/posthog.d.ts +0 -1
  488. package/dist/telemetry/posthog.js +0 -1
  489. package/dist/telemetry/project.d.ts +0 -1
  490. package/dist/telemetry/project.js +0 -1
  491. package/dist/telemetry/store.d.ts +0 -1
  492. package/dist/telemetry/store.js +0 -1
  493. package/dist/telemetry/telemetry.d.ts +19 -8
  494. package/dist/telemetry/telemetry.js +26 -9
  495. package/dist/telemetry/token.d.ts +0 -1
  496. package/dist/telemetry/token.js +0 -1
  497. package/dist/types.d.ts +34 -26
  498. package/dist/types.js +0 -1
  499. package/docs/agents.mdx +6 -3
  500. package/docs/assertions.mdx +94 -0
  501. package/docs/authentication.mdx +3 -1
  502. package/docs/browser.mdx +42 -6
  503. package/docs/cache.mdx +64 -18
  504. package/docs/ci.mdx +11 -7
  505. package/docs/debugging.mdx +6 -3
  506. package/docs/executors.mdx +5 -3
  507. package/docs/github.mdx +12 -4
  508. package/docs/{writing-tests.mdx → goals.mdx} +21 -101
  509. package/docs/index.mdx +4 -4
  510. package/docs/integrations/kernel.mdx +1 -1
  511. package/docs/locators.mdx +64 -0
  512. package/docs/migrate/cypress.mdx +2 -2
  513. package/docs/migrate/maestro.mdx +2 -2
  514. package/docs/migrate/playwright.mdx +22 -16
  515. package/docs/migrate/selenium.mdx +2 -2
  516. package/docs/mobile.mdx +61 -4
  517. package/docs/models.mdx +53 -7
  518. package/docs/physical-devices.mdx +76 -0
  519. package/docs/quickstart.mdx +4 -3
  520. package/docs/reference/app.mdx +1 -1
  521. package/docs/reference/cli.mdx +30 -11
  522. package/docs/reference/config.mdx +25 -7
  523. package/docs/reference/engine.mdx +4 -3
  524. package/docs/reference/environment.mdx +8 -1
  525. package/docs/reference/errors.mdx +5 -5
  526. package/docs/reference/expect.mdx +79 -24
  527. package/docs/reference/mcp.mdx +3 -0
  528. package/docs/reference/mobile.mdx +23 -13
  529. package/docs/reference/reporters.mdx +8 -2
  530. package/docs/reference/screen.mdx +30 -7
  531. package/docs/reference/test.mdx +11 -4
  532. package/docs/reference/web.mdx +131 -23
  533. package/docs/security.mdx +45 -19
  534. package/docs/subscriptions.mdx +97 -9
  535. package/docs/telemetry.mdx +48 -6
  536. package/package.json +18 -4
  537. package/schema/report-v1.schema.json +14 -1
  538. package/skills/e2e/SKILL.md +2 -2
  539. package/skills/e2e/references/agent.md +22 -11
  540. package/skills/e2e/references/debugging.md +4 -4
  541. package/skills/e2e/references/mcp.md +3 -0
  542. package/skills/e2e/references/running.md +13 -8
  543. package/skills/e2e/references/setup.md +42 -15
  544. package/skills/e2e/references/writing-tests.md +43 -15
  545. package/dist/agent/act-validation.d.ts.map +0 -1
  546. package/dist/agent/act-validation.js.map +0 -1
  547. package/dist/agent/act.d.ts.map +0 -1
  548. package/dist/agent/act.js.map +0 -1
  549. package/dist/agent/action-dispatcher.d.ts.map +0 -1
  550. package/dist/agent/action-dispatcher.js.map +0 -1
  551. package/dist/agent/action-names.d.ts.map +0 -1
  552. package/dist/agent/action-names.js.map +0 -1
  553. package/dist/agent/actions.d.ts.map +0 -1
  554. package/dist/agent/actions.js.map +0 -1
  555. package/dist/agent/agent-brand.d.ts.map +0 -1
  556. package/dist/agent/agent-brand.js.map +0 -1
  557. package/dist/agent/ai-sdk.d.ts.map +0 -1
  558. package/dist/agent/ai-sdk.js.map +0 -1
  559. package/dist/agent/call-options.d.ts.map +0 -1
  560. package/dist/agent/call-options.js.map +0 -1
  561. package/dist/agent/default-agent.d.ts.map +0 -1
  562. package/dist/agent/default-agent.js.map +0 -1
  563. package/dist/agent/derived.d.ts.map +0 -1
  564. package/dist/agent/derived.js.map +0 -1
  565. package/dist/agent/error.d.ts.map +0 -1
  566. package/dist/agent/error.js.map +0 -1
  567. package/dist/agent/executor.d.ts.map +0 -1
  568. package/dist/agent/executor.js.map +0 -1
  569. package/dist/agent/index.d.ts.map +0 -1
  570. package/dist/agent/index.js.map +0 -1
  571. package/dist/agent/interactive-step.d.ts.map +0 -1
  572. package/dist/agent/interactive-step.js.map +0 -1
  573. package/dist/agent/invocation.d.ts.map +0 -1
  574. package/dist/agent/invocation.js.map +0 -1
  575. package/dist/agent/ledger.d.ts.map +0 -1
  576. package/dist/agent/ledger.js.map +0 -1
  577. package/dist/agent/loop-guards.d.ts.map +0 -1
  578. package/dist/agent/loop-guards.js.map +0 -1
  579. package/dist/agent/model/adapter.d.ts.map +0 -1
  580. package/dist/agent/model/adapter.js.map +0 -1
  581. package/dist/agent/model/overflow.d.ts.map +0 -1
  582. package/dist/agent/model/overflow.js.map +0 -1
  583. package/dist/agent/model/provider-hints.d.ts.map +0 -1
  584. package/dist/agent/model/provider-hints.js.map +0 -1
  585. package/dist/agent/model/schema.d.ts.map +0 -1
  586. package/dist/agent/model/schema.js.map +0 -1
  587. package/dist/agent/model/sdk.d.ts.map +0 -1
  588. package/dist/agent/model/sdk.js.map +0 -1
  589. package/dist/agent/model/stall.d.ts.map +0 -1
  590. package/dist/agent/model/stall.js.map +0 -1
  591. package/dist/agent/model/tool-choice.d.ts.map +0 -1
  592. package/dist/agent/model/tool-choice.js.map +0 -1
  593. package/dist/agent/observation-budget.d.ts.map +0 -1
  594. package/dist/agent/observation-budget.js.map +0 -1
  595. package/dist/agent/observation-feed.d.ts.map +0 -1
  596. package/dist/agent/observation-feed.js.map +0 -1
  597. package/dist/agent/observation.d.ts.map +0 -1
  598. package/dist/agent/observation.js.map +0 -1
  599. package/dist/agent/operation-queue.d.ts.map +0 -1
  600. package/dist/agent/operation-queue.js.map +0 -1
  601. package/dist/agent/phases.d.ts.map +0 -1
  602. package/dist/agent/phases.js.map +0 -1
  603. package/dist/agent/pixels.d.ts.map +0 -1
  604. package/dist/agent/pixels.js.map +0 -1
  605. package/dist/agent/point-tap.d.ts.map +0 -1
  606. package/dist/agent/point-tap.js.map +0 -1
  607. package/dist/agent/primitives.d.ts.map +0 -1
  608. package/dist/agent/primitives.js.map +0 -1
  609. package/dist/agent/prompts.d.ts.map +0 -1
  610. package/dist/agent/prompts.js.map +0 -1
  611. package/dist/agent/protocol.d.ts.map +0 -1
  612. package/dist/agent/protocol.js.map +0 -1
  613. package/dist/agent/public.d.ts.map +0 -1
  614. package/dist/agent/public.js.map +0 -1
  615. package/dist/agent/reading.d.ts.map +0 -1
  616. package/dist/agent/reading.js.map +0 -1
  617. package/dist/agent/replay.d.ts.map +0 -1
  618. package/dist/agent/replay.js.map +0 -1
  619. package/dist/agent/screen-update.d.ts.map +0 -1
  620. package/dist/agent/screen-update.js.map +0 -1
  621. package/dist/agent/scroll-target.d.ts.map +0 -1
  622. package/dist/agent/scroll-target.js.map +0 -1
  623. package/dist/agent/secrets.d.ts.map +0 -1
  624. package/dist/agent/secrets.js.map +0 -1
  625. package/dist/agent/settle-policy.d.ts.map +0 -1
  626. package/dist/agent/settle-policy.js.map +0 -1
  627. package/dist/agent/step-accounting.d.ts.map +0 -1
  628. package/dist/agent/step-accounting.js.map +0 -1
  629. package/dist/agent/step-cache.d.ts.map +0 -1
  630. package/dist/agent/step-cache.js.map +0 -1
  631. package/dist/agent/tool-loop.d.ts.map +0 -1
  632. package/dist/agent/tool-loop.js.map +0 -1
  633. package/dist/agent/tool-output.d.ts.map +0 -1
  634. package/dist/agent/tool-output.js.map +0 -1
  635. package/dist/agent/tool.d.ts.map +0 -1
  636. package/dist/agent/tool.js.map +0 -1
  637. package/dist/agent/transcript-compaction.d.ts.map +0 -1
  638. package/dist/agent/transcript-compaction.js.map +0 -1
  639. package/dist/agent/upload-paths.d.ts.map +0 -1
  640. package/dist/agent/upload-paths.js.map +0 -1
  641. package/dist/agent/usage.d.ts.map +0 -1
  642. package/dist/agent/usage.js.map +0 -1
  643. package/dist/cache/anchors.d.ts.map +0 -1
  644. package/dist/cache/anchors.js.map +0 -1
  645. package/dist/cache/context.d.ts.map +0 -1
  646. package/dist/cache/context.js.map +0 -1
  647. package/dist/cache/decide.d.ts.map +0 -1
  648. package/dist/cache/decide.js.map +0 -1
  649. package/dist/cache/identity.d.ts.map +0 -1
  650. package/dist/cache/identity.js.map +0 -1
  651. package/dist/cache/recorder.d.ts.map +0 -1
  652. package/dist/cache/recorder.js.map +0 -1
  653. package/dist/cache/relocate.d.ts.map +0 -1
  654. package/dist/cache/relocate.js.map +0 -1
  655. package/dist/cache/route.d.ts.map +0 -1
  656. package/dist/cache/route.js.map +0 -1
  657. package/dist/cache/store.d.ts.map +0 -1
  658. package/dist/cache/store.js.map +0 -1
  659. package/dist/cache/template.d.ts.map +0 -1
  660. package/dist/cache/template.js.map +0 -1
  661. package/dist/cache/trace.d.ts.map +0 -1
  662. package/dist/cache/trace.js.map +0 -1
  663. package/dist/cli/bin.d.ts.map +0 -1
  664. package/dist/cli/bin.js.map +0 -1
  665. package/dist/cli/cache.d.ts.map +0 -1
  666. package/dist/cli/cache.js.map +0 -1
  667. package/dist/cli/docs-url.d.ts.map +0 -1
  668. package/dist/cli/docs-url.js.map +0 -1
  669. package/dist/cli/feedback.d.ts.map +0 -1
  670. package/dist/cli/feedback.js.map +0 -1
  671. package/dist/cli/guide.d.ts.map +0 -1
  672. package/dist/cli/guide.js.map +0 -1
  673. package/dist/cli/index.d.ts.map +0 -1
  674. package/dist/cli/index.js.map +0 -1
  675. package/dist/cli/init/agent-skill.d.ts.map +0 -1
  676. package/dist/cli/init/agent-skill.js.map +0 -1
  677. package/dist/cli/init/engines.d.ts.map +0 -1
  678. package/dist/cli/init/engines.js.map +0 -1
  679. package/dist/cli/init/gateways.d.ts.map +0 -1
  680. package/dist/cli/init/gateways.js.map +0 -1
  681. package/dist/cli/init/mcp-config.d.ts.map +0 -1
  682. package/dist/cli/init/mcp-config.js.map +0 -1
  683. package/dist/cli/init/package.d.ts.map +0 -1
  684. package/dist/cli/init/package.js.map +0 -1
  685. package/dist/cli/init/scaffold.d.ts.map +0 -1
  686. package/dist/cli/init/scaffold.js.map +0 -1
  687. package/dist/cli/init/versions.d.ts.map +0 -1
  688. package/dist/cli/init/versions.js.map +0 -1
  689. package/dist/cli/init.d.ts.map +0 -1
  690. package/dist/cli/init.js.map +0 -1
  691. package/dist/cli/mcp.d.ts.map +0 -1
  692. package/dist/cli/mcp.js.map +0 -1
  693. package/dist/cli/signals.d.ts.map +0 -1
  694. package/dist/cli/signals.js.map +0 -1
  695. package/dist/cli/skill.d.ts.map +0 -1
  696. package/dist/cli/skill.js.map +0 -1
  697. package/dist/cli/telemetry.d.ts.map +0 -1
  698. package/dist/cli/telemetry.js.map +0 -1
  699. package/dist/cli/wordmark.d.ts.map +0 -1
  700. package/dist/cli/wordmark.js.map +0 -1
  701. package/dist/collect/collect.d.ts.map +0 -1
  702. package/dist/collect/collect.js.map +0 -1
  703. package/dist/collect/registry.d.ts.map +0 -1
  704. package/dist/collect/registry.js.map +0 -1
  705. package/dist/collect/select.d.ts.map +0 -1
  706. package/dist/collect/select.js.map +0 -1
  707. package/dist/config/agent.d.ts.map +0 -1
  708. package/dist/config/agent.js.map +0 -1
  709. package/dist/config/app.d.ts.map +0 -1
  710. package/dist/config/app.js.map +0 -1
  711. package/dist/config/command.d.ts.map +0 -1
  712. package/dist/config/command.js.map +0 -1
  713. package/dist/config/diagnose.d.ts.map +0 -1
  714. package/dist/config/diagnose.js.map +0 -1
  715. package/dist/config/esm-hooks.d.ts.map +0 -1
  716. package/dist/config/esm-hooks.js.map +0 -1
  717. package/dist/config/load.d.ts.map +0 -1
  718. package/dist/config/load.js.map +0 -1
  719. package/dist/config/resolve.d.ts.map +0 -1
  720. package/dist/config/resolve.js.map +0 -1
  721. package/dist/config/secrets.d.ts.map +0 -1
  722. package/dist/config/secrets.js.map +0 -1
  723. package/dist/config/targets.d.ts.map +0 -1
  724. package/dist/config/targets.js.map +0 -1
  725. package/dist/config/validate.d.ts.map +0 -1
  726. package/dist/config/validate.js.map +0 -1
  727. package/dist/engine/contract.d.ts.map +0 -1
  728. package/dist/engine/contract.js.map +0 -1
  729. package/dist/engine/index.d.ts.map +0 -1
  730. package/dist/engine/index.js.map +0 -1
  731. package/dist/engine/manifest.d.ts.map +0 -1
  732. package/dist/engine/manifest.js.map +0 -1
  733. package/dist/engine/recording.d.ts.map +0 -1
  734. package/dist/engine/recording.js.map +0 -1
  735. package/dist/engine/resolve.d.ts.map +0 -1
  736. package/dist/engine/resolve.js.map +0 -1
  737. package/dist/engine/session.d.ts.map +0 -1
  738. package/dist/engine/session.js.map +0 -1
  739. package/dist/engine/surface.d.ts.map +0 -1
  740. package/dist/engine/surface.js.map +0 -1
  741. package/dist/engine/timing.d.ts.map +0 -1
  742. package/dist/engine/timing.js.map +0 -1
  743. package/dist/expect/async.d.ts.map +0 -1
  744. package/dist/expect/async.js.map +0 -1
  745. package/dist/expect/attempt.d.ts.map +0 -1
  746. package/dist/expect/attempt.js.map +0 -1
  747. package/dist/expect/index.d.ts.map +0 -1
  748. package/dist/expect/index.js.map +0 -1
  749. package/dist/expect/poll.d.ts.map +0 -1
  750. package/dist/expect/poll.js.map +0 -1
  751. package/dist/expect/soft.d.ts.map +0 -1
  752. package/dist/expect/soft.js.map +0 -1
  753. package/dist/expect/values.d.ts.map +0 -1
  754. package/dist/expect/values.js.map +0 -1
  755. package/dist/explore/body.d.ts.map +0 -1
  756. package/dist/explore/body.js.map +0 -1
  757. package/dist/explore/executor.d.ts.map +0 -1
  758. package/dist/explore/executor.js.map +0 -1
  759. package/dist/explore/index.d.ts.map +0 -1
  760. package/dist/explore/index.js.map +0 -1
  761. package/dist/explore/plan.d.ts.map +0 -1
  762. package/dist/explore/plan.js.map +0 -1
  763. package/dist/explore/progress.d.ts.map +0 -1
  764. package/dist/explore/progress.js.map +0 -1
  765. package/dist/explore/state.d.ts.map +0 -1
  766. package/dist/explore/state.js.map +0 -1
  767. package/dist/index.d.ts.map +0 -1
  768. package/dist/index.js.map +0 -1
  769. package/dist/internal/ai-trace.d.ts.map +0 -1
  770. package/dist/internal/ai-trace.js.map +0 -1
  771. package/dist/internal/atomic-write.d.ts.map +0 -1
  772. package/dist/internal/atomic-write.js.map +0 -1
  773. package/dist/internal/brands.d.ts.map +0 -1
  774. package/dist/internal/brands.js.map +0 -1
  775. package/dist/internal/debug.d.ts.map +0 -1
  776. package/dist/internal/debug.js.map +0 -1
  777. package/dist/internal/env.d.ts.map +0 -1
  778. package/dist/internal/env.js.map +0 -1
  779. package/dist/internal/errors.d.ts.map +0 -1
  780. package/dist/internal/errors.js.map +0 -1
  781. package/dist/internal/geometry.d.ts.map +0 -1
  782. package/dist/internal/geometry.js.map +0 -1
  783. package/dist/internal/git.d.ts.map +0 -1
  784. package/dist/internal/git.js.map +0 -1
  785. package/dist/internal/globs.d.ts.map +0 -1
  786. package/dist/internal/globs.js.map +0 -1
  787. package/dist/internal/ids.d.ts.map +0 -1
  788. package/dist/internal/ids.js.map +0 -1
  789. package/dist/internal/json-value.d.ts.map +0 -1
  790. package/dist/internal/json-value.js.map +0 -1
  791. package/dist/internal/keys.d.ts.map +0 -1
  792. package/dist/internal/keys.js.map +0 -1
  793. package/dist/internal/node-version.d.ts.map +0 -1
  794. package/dist/internal/node-version.js.map +0 -1
  795. package/dist/internal/objects.d.ts.map +0 -1
  796. package/dist/internal/objects.js.map +0 -1
  797. package/dist/internal/options.d.ts.map +0 -1
  798. package/dist/internal/options.js.map +0 -1
  799. package/dist/internal/package-manager.d.ts.map +0 -1
  800. package/dist/internal/package-manager.js.map +0 -1
  801. package/dist/internal/package-version.d.ts.map +0 -1
  802. package/dist/internal/package-version.js.map +0 -1
  803. package/dist/internal/paths.d.ts.map +0 -1
  804. package/dist/internal/paths.js.map +0 -1
  805. package/dist/internal/realm-slot.d.ts.map +0 -1
  806. package/dist/internal/realm-slot.js.map +0 -1
  807. package/dist/internal/recording-modes.d.ts.map +0 -1
  808. package/dist/internal/recording-modes.js.map +0 -1
  809. package/dist/internal/redact.d.ts.map +0 -1
  810. package/dist/internal/redact.js.map +0 -1
  811. package/dist/internal/regexp.d.ts.map +0 -1
  812. package/dist/internal/regexp.js.map +0 -1
  813. package/dist/internal/roles.d.ts.map +0 -1
  814. package/dist/internal/roles.js.map +0 -1
  815. package/dist/internal/skip.d.ts.map +0 -1
  816. package/dist/internal/skip.js.map +0 -1
  817. package/dist/internal/source.d.ts.map +0 -1
  818. package/dist/internal/source.js.map +0 -1
  819. package/dist/internal/standard-schema.d.ts.map +0 -1
  820. package/dist/internal/standard-schema.js.map +0 -1
  821. package/dist/internal/suggest.d.ts.map +0 -1
  822. package/dist/internal/suggest.js.map +0 -1
  823. package/dist/internal/text.d.ts.map +0 -1
  824. package/dist/internal/text.js.map +0 -1
  825. package/dist/internal/time.d.ts.map +0 -1
  826. package/dist/internal/time.js.map +0 -1
  827. package/dist/internal/urls.d.ts.map +0 -1
  828. package/dist/internal/urls.js.map +0 -1
  829. package/dist/internal/vcs.d.ts.map +0 -1
  830. package/dist/internal/vcs.js.map +0 -1
  831. package/dist/internal/zip.d.ts.map +0 -1
  832. package/dist/internal/zip.js.map +0 -1
  833. package/dist/locator/engine.d.ts.map +0 -1
  834. package/dist/locator/engine.js.map +0 -1
  835. package/dist/locator/expression.d.ts.map +0 -1
  836. package/dist/locator/expression.js.map +0 -1
  837. package/dist/locator/screen.d.ts.map +0 -1
  838. package/dist/locator/screen.js.map +0 -1
  839. package/dist/mcp/catalog.d.ts.map +0 -1
  840. package/dist/mcp/catalog.js.map +0 -1
  841. package/dist/mcp/config.d.ts.map +0 -1
  842. package/dist/mcp/config.js.map +0 -1
  843. package/dist/mcp/recording.d.ts.map +0 -1
  844. package/dist/mcp/recording.js.map +0 -1
  845. package/dist/mcp/server.d.ts.map +0 -1
  846. package/dist/mcp/server.js.map +0 -1
  847. package/dist/mcp/session.d.ts.map +0 -1
  848. package/dist/mcp/session.js.map +0 -1
  849. package/dist/mcp/sessions.d.ts.map +0 -1
  850. package/dist/mcp/sessions.js.map +0 -1
  851. package/dist/mcp/tools.d.ts.map +0 -1
  852. package/dist/mcp/tools.js.map +0 -1
  853. package/dist/oauth/callback-server.d.ts.map +0 -1
  854. package/dist/oauth/callback-server.js.map +0 -1
  855. package/dist/oauth/chatgpt.d.ts.map +0 -1
  856. package/dist/oauth/chatgpt.js.map +0 -1
  857. package/dist/oauth/cli.d.ts.map +0 -1
  858. package/dist/oauth/cli.js.map +0 -1
  859. package/dist/oauth/copilot.d.ts.map +0 -1
  860. package/dist/oauth/copilot.js.map +0 -1
  861. package/dist/oauth/device-code.d.ts.map +0 -1
  862. package/dist/oauth/device-code.js.map +0 -1
  863. package/dist/oauth/errors.d.ts.map +0 -1
  864. package/dist/oauth/errors.js.map +0 -1
  865. package/dist/oauth/fetch.d.ts.map +0 -1
  866. package/dist/oauth/fetch.js.map +0 -1
  867. package/dist/oauth/grok.d.ts.map +0 -1
  868. package/dist/oauth/grok.js.map +0 -1
  869. package/dist/oauth/jwt.d.ts.map +0 -1
  870. package/dist/oauth/jwt.js.map +0 -1
  871. package/dist/oauth/login.d.ts.map +0 -1
  872. package/dist/oauth/login.js.map +0 -1
  873. package/dist/oauth/models.d.ts.map +0 -1
  874. package/dist/oauth/models.js.map +0 -1
  875. package/dist/oauth/pkce.d.ts.map +0 -1
  876. package/dist/oauth/pkce.js.map +0 -1
  877. package/dist/oauth/providers/github-copilot.d.ts.map +0 -1
  878. package/dist/oauth/providers/github-copilot.js.map +0 -1
  879. package/dist/oauth/providers/openai.d.ts.map +0 -1
  880. package/dist/oauth/providers/openai.js.map +0 -1
  881. package/dist/oauth/providers/xai.d.ts.map +0 -1
  882. package/dist/oauth/providers/xai.js.map +0 -1
  883. package/dist/oauth/providers.d.ts.map +0 -1
  884. package/dist/oauth/providers.js.map +0 -1
  885. package/dist/oauth/sse.d.ts.map +0 -1
  886. package/dist/oauth/sse.js.map +0 -1
  887. package/dist/oauth/store.d.ts.map +0 -1
  888. package/dist/oauth/store.js.map +0 -1
  889. package/dist/oauth/token-endpoint.d.ts.map +0 -1
  890. package/dist/oauth/token-endpoint.js.map +0 -1
  891. package/dist/oauth/types.d.ts.map +0 -1
  892. package/dist/oauth/types.js.map +0 -1
  893. package/dist/params.d.ts.map +0 -1
  894. package/dist/params.js.map +0 -1
  895. package/dist/report/build.d.ts.map +0 -1
  896. package/dist/report/build.js.map +0 -1
  897. package/dist/report/builtin.d.ts.map +0 -1
  898. package/dist/report/builtin.js.map +0 -1
  899. package/dist/report/code-frame.d.ts.map +0 -1
  900. package/dist/report/code-frame.js.map +0 -1
  901. package/dist/report/debug-steps.d.ts.map +0 -1
  902. package/dist/report/debug-steps.js.map +0 -1
  903. package/dist/report/explore-text.d.ts.map +0 -1
  904. package/dist/report/explore-text.js.map +0 -1
  905. package/dist/report/failure-text.d.ts.map +0 -1
  906. package/dist/report/failure-text.js.map +0 -1
  907. package/dist/report/format.d.ts.map +0 -1
  908. package/dist/report/format.js.map +0 -1
  909. package/dist/report/json.d.ts.map +0 -1
  910. package/dist/report/json.js.map +0 -1
  911. package/dist/report/junit.d.ts.map +0 -1
  912. package/dist/report/junit.js.map +0 -1
  913. package/dist/report/list-explore.d.ts.map +0 -1
  914. package/dist/report/list-explore.js.map +0 -1
  915. package/dist/report/list-model.d.ts.map +0 -1
  916. package/dist/report/list-model.js.map +0 -1
  917. package/dist/report/list-steps.d.ts.map +0 -1
  918. package/dist/report/list-steps.js.map +0 -1
  919. package/dist/report/list.d.ts.map +0 -1
  920. package/dist/report/list.js.map +0 -1
  921. package/dist/report/live-window.d.ts.map +0 -1
  922. package/dist/report/live-window.js.map +0 -1
  923. package/dist/report/markdown-text.d.ts.map +0 -1
  924. package/dist/report/markdown-text.js.map +0 -1
  925. package/dist/report/markdown.d.ts.map +0 -1
  926. package/dist/report/markdown.js.map +0 -1
  927. package/dist/report/outcome.d.ts.map +0 -1
  928. package/dist/report/outcome.js.map +0 -1
  929. package/dist/report/repeats.d.ts.map +0 -1
  930. package/dist/report/repeats.js.map +0 -1
  931. package/dist/report/running-tree.d.ts.map +0 -1
  932. package/dist/report/running-tree.js.map +0 -1
  933. package/dist/report/write.d.ts.map +0 -1
  934. package/dist/report/write.js.map +0 -1
  935. package/dist/run/app-ports.d.ts.map +0 -1
  936. package/dist/run/app-ports.js.map +0 -1
  937. package/dist/run/artifacts.d.ts.map +0 -1
  938. package/dist/run/artifacts.js.map +0 -1
  939. package/dist/run/budget.d.ts.map +0 -1
  940. package/dist/run/budget.js.map +0 -1
  941. package/dist/run/declared-processes.d.ts.map +0 -1
  942. package/dist/run/declared-processes.js.map +0 -1
  943. package/dist/run/events.d.ts.map +0 -1
  944. package/dist/run/events.js.map +0 -1
  945. package/dist/run/execute.d.ts.map +0 -1
  946. package/dist/run/execute.js.map +0 -1
  947. package/dist/run/extended-fixtures.d.ts.map +0 -1
  948. package/dist/run/extended-fixtures.js.map +0 -1
  949. package/dist/run/failure-evidence.d.ts.map +0 -1
  950. package/dist/run/failure-evidence.js.map +0 -1
  951. package/dist/run/fixture-recording.d.ts.map +0 -1
  952. package/dist/run/fixture-recording.js.map +0 -1
  953. package/dist/run/fixtures.d.ts.map +0 -1
  954. package/dist/run/fixtures.js.map +0 -1
  955. package/dist/run/in-process.d.ts.map +0 -1
  956. package/dist/run/in-process.js.map +0 -1
  957. package/dist/run/last-run.d.ts.map +0 -1
  958. package/dist/run/last-run.js.map +0 -1
  959. package/dist/run/managed-process.d.ts.map +0 -1
  960. package/dist/run/managed-process.js.map +0 -1
  961. package/dist/run/output.d.ts.map +0 -1
  962. package/dist/run/output.js.map +0 -1
  963. package/dist/run/process-pool.d.ts.map +0 -1
  964. package/dist/run/process-pool.js.map +0 -1
  965. package/dist/run/provision.d.ts.map +0 -1
  966. package/dist/run/provision.js.map +0 -1
  967. package/dist/run/realm.d.ts.map +0 -1
  968. package/dist/run/realm.js.map +0 -1
  969. package/dist/run/records.d.ts.map +0 -1
  970. package/dist/run/records.js.map +0 -1
  971. package/dist/run/retry.d.ts.map +0 -1
  972. package/dist/run/retry.js.map +0 -1
  973. package/dist/run/runner.d.ts.map +0 -1
  974. package/dist/run/runner.js.map +0 -1
  975. package/dist/run/scheduler.d.ts.map +0 -1
  976. package/dist/run/scheduler.js.map +0 -1
  977. package/dist/run/secrecy.d.ts.map +0 -1
  978. package/dist/run/secrecy.js.map +0 -1
  979. package/dist/run/serial.d.ts.map +0 -1
  980. package/dist/run/serial.js.map +0 -1
  981. package/dist/run/sessions.d.ts.map +0 -1
  982. package/dist/run/sessions.js.map +0 -1
  983. package/dist/run/standalone.d.ts.map +0 -1
  984. package/dist/run/standalone.js.map +0 -1
  985. package/dist/run/steps.d.ts.map +0 -1
  986. package/dist/run/steps.js.map +0 -1
  987. package/dist/run/trace-redaction.d.ts.map +0 -1
  988. package/dist/run/trace-redaction.js.map +0 -1
  989. package/dist/run/unit-runner.d.ts.map +0 -1
  990. package/dist/run/unit-runner.js.map +0 -1
  991. package/dist/run/units.d.ts.map +0 -1
  992. package/dist/run/units.js.map +0 -1
  993. package/dist/run/worker/entry.d.ts.map +0 -1
  994. package/dist/run/worker/entry.js.map +0 -1
  995. package/dist/run/worker/handle.d.ts.map +0 -1
  996. package/dist/run/worker/handle.js.map +0 -1
  997. package/dist/run/worker/protocol.d.ts.map +0 -1
  998. package/dist/run/worker/protocol.js.map +0 -1
  999. package/dist/run/worker/session.d.ts.map +0 -1
  1000. package/dist/run/worker/session.js.map +0 -1
  1001. package/dist/run/worker-models.d.ts.map +0 -1
  1002. package/dist/run/worker-models.js.map +0 -1
  1003. package/dist/secrets.d.ts.map +0 -1
  1004. package/dist/secrets.js.map +0 -1
  1005. package/dist/telemetry/checkout.d.ts.map +0 -1
  1006. package/dist/telemetry/checkout.js.map +0 -1
  1007. package/dist/telemetry/environment.d.ts.map +0 -1
  1008. package/dist/telemetry/environment.js.map +0 -1
  1009. package/dist/telemetry/events.d.ts.map +0 -1
  1010. package/dist/telemetry/events.js.map +0 -1
  1011. package/dist/telemetry/failure-kind.d.ts.map +0 -1
  1012. package/dist/telemetry/failure-kind.js.map +0 -1
  1013. package/dist/telemetry/posthog.d.ts.map +0 -1
  1014. package/dist/telemetry/posthog.js.map +0 -1
  1015. package/dist/telemetry/project.d.ts.map +0 -1
  1016. package/dist/telemetry/project.js.map +0 -1
  1017. package/dist/telemetry/store.d.ts.map +0 -1
  1018. package/dist/telemetry/store.js.map +0 -1
  1019. package/dist/telemetry/telemetry.d.ts.map +0 -1
  1020. package/dist/telemetry/telemetry.js.map +0 -1
  1021. package/dist/telemetry/token.d.ts.map +0 -1
  1022. package/dist/telemetry/token.js.map +0 -1
  1023. package/dist/types.d.ts.map +0 -1
  1024. package/dist/types.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "e2e",
3
- "version": "0.15.2",
3
+ "version": "0.17.0",
4
4
  "description": "SDK, runner, and CLI for agentic end-to-end testing",
5
5
  "keywords": [
6
6
  "e2e",
@@ -62,6 +62,10 @@
62
62
  "./oauth/grok": {
63
63
  "types": "./dist/oauth/grok.d.ts",
64
64
  "default": "./dist/oauth/grok.js"
65
+ },
66
+ "./oauth/opencode-console": {
67
+ "types": "./dist/oauth/opencode-console.d.ts",
68
+ "default": "./dist/oauth/opencode-console.js"
65
69
  }
66
70
  },
67
71
  "bin": {
@@ -77,7 +81,7 @@
77
81
  "dependencies": {
78
82
  "@ai-sdk/provider": "4.0.18",
79
83
  "@clack/prompts": "1.8.1",
80
- "@modelcontextprotocol/sdk": "1.30.1",
84
+ "@modelcontextprotocol/server": "2.2.0",
81
85
  "@vitest/expect": "5.0.2",
82
86
  "commander": "15.0.0",
83
87
  "picocolors": "1.1.1",
@@ -86,12 +90,20 @@
86
90
  "zod": "4.6.1"
87
91
  },
88
92
  "peerDependencies": {
93
+ "@ai-sdk/anthropic": "^4.0.0",
94
+ "@ai-sdk/google": "^4.0.0",
89
95
  "@ai-sdk/openai": "^4.0.0",
90
96
  "@ai-sdk/openai-compatible": "^3.0.0",
91
97
  "@ai-sdk/xai": "^5.0.0",
92
98
  "ai": "^7.0.0"
93
99
  },
94
100
  "peerDependenciesMeta": {
101
+ "@ai-sdk/anthropic": {
102
+ "optional": true
103
+ },
104
+ "@ai-sdk/google": {
105
+ "optional": true
106
+ },
95
107
  "@ai-sdk/openai": {
96
108
  "optional": true
97
109
  },
@@ -106,17 +118,19 @@
106
118
  }
107
119
  },
108
120
  "devDependencies": {
121
+ "@ai-sdk/anthropic": "4.0.58",
122
+ "@ai-sdk/google": "4.0.77",
109
123
  "@ai-sdk/openai": "4.0.71",
110
124
  "@ai-sdk/openai-compatible": "3.0.53",
111
125
  "@ai-sdk/xai": "5.0.4",
112
- "@e2e-dev/web": "0.11.1",
126
+ "@e2e-dev/web": "0.12.0",
127
+ "@modelcontextprotocol/client": "2.2.0",
113
128
  "@openrouter/ai-sdk-provider": "3.1.0",
114
129
  "@types/node": "26.6.2",
115
130
  "@types/pngjs": "6.0.5",
116
131
  "ai": "7.0.107",
117
132
  "ajv": "8.20.0",
118
133
  "ajv-formats": "3.0.1",
119
- "playwright": "1.63.0",
120
134
  "typescript": "7.0.2",
121
135
  "vitest": "5.0.1"
122
136
  },
@@ -570,13 +570,14 @@
570
570
  "summary": {
571
571
  "type": "object",
572
572
  "additionalProperties": false,
573
- "required": ["discovered", "selected", "executed", "passed", "failed", "flaky", "skipped"],
573
+ "required": ["discovered", "selected", "executed", "passed", "failed", "interrupted", "flaky", "skipped"],
574
574
  "properties": {
575
575
  "discovered": { "type": "integer", "minimum": 0 },
576
576
  "selected": { "type": "integer", "minimum": 0 },
577
577
  "executed": { "type": "integer", "minimum": 0 },
578
578
  "passed": { "type": "integer", "minimum": 0 },
579
579
  "failed": { "type": "integer", "minimum": 0 },
580
+ "interrupted": { "type": "integer", "minimum": 0 },
580
581
  "flaky": { "type": "integer", "minimum": 0 },
581
582
  "skipped": { "type": "integer", "minimum": 0 }
582
583
  }
@@ -670,10 +671,22 @@
670
671
  "summary": { "$ref": "#/$defs/summary" },
671
672
  "limits": { "$ref": "#/$defs/limits" },
672
673
  "usage": { "$ref": "#/$defs/usage" },
674
+ "carried": { "$ref": "#/$defs/carried" },
673
675
  "explore": { "$ref": "#/$defs/explore" },
674
676
  "extensions": { "$ref": "#/$defs/extensions" }
675
677
  }
676
678
  },
679
+ "carried": {
680
+ "description": "What earlier runs left unresolved that a --last-failed rerun did not run again: their results as they reported them, the serial groups those results' attempts live on, and the suite hook failures whose scope still holds one of them. The next --last-failed selects these tests too. Not part of the run's status, exit code, or summary.",
681
+ "type": "object",
682
+ "additionalProperties": false,
683
+ "required": ["results", "serialGroups", "errors"],
684
+ "properties": {
685
+ "results": { "type": "array", "minItems": 1, "items": { "$ref": "#/$defs/result" } },
686
+ "serialGroups": { "type": "array", "items": { "$ref": "#/$defs/serialGroup" } },
687
+ "errors": { "type": "array", "items": { "$ref": "#/$defs/error" } }
688
+ }
689
+ },
677
690
  "exploreFinding": {
678
691
  "type": "object",
679
692
  "additionalProperties": false,
@@ -10,8 +10,8 @@ one goal; `agent.assert`, `agent.waitFor`, and `agent.extract` judge the
10
10
  screen. `screen`, `app`, `browser`, and `expect` make exact interactions and
11
11
  checks. The replay cache reruns verified actions and checks their recorded end
12
12
  state without a model call; agent judgments still run live. UI targets use
13
- `@e2e-dev/web` for browsers or `@e2e-dev/mobile` for iOS simulators and
14
- Android emulators. A test that takes only `app` can check an API with `fetch`
13
+ `@e2e-dev/web` for browsers or `@e2e-dev/mobile` for iOS simulators,
14
+ Android emulators, and connected phones. A test that takes only `app` can check an API with `fetch`
15
15
  and `expect` (topic `writing-tests`). Model sign-in commands are in
16
16
  [setup](references/setup.md#subscriptions-and-api-keys).
17
17
 
@@ -6,8 +6,13 @@ model-call budget, no shared transcript. No agent step, no model calls.
6
6
 
7
7
  ## Configure a model
8
8
 
9
- Put an AI SDK model under `agents.default`. Vercel AI Gateway reads
10
- `AI_GATEWAY_API_KEY` or, without it, a Vercel OIDC token:
9
+ Put an AI SDK model under `agents.default`. You can use all AI SDK providers
10
+ that support tool calls and the language model specification v2 or later
11
+ (https://ai-sdk.dev/providers). Examples: `@ai-sdk/openai`,
12
+ `@ai-sdk/anthropic`, `@ai-sdk/google`, `@ai-sdk/amazon-bedrock`,
13
+ `@openrouter/ai-sdk-provider`, `ollama-ai-provider-v2`. For a server with
14
+ `/v1/chat/completions`, use `@ai-sdk/openai-compatible`. Vercel AI Gateway
15
+ reads `AI_GATEWAY_API_KEY` or, without it, a Vercel OIDC token:
11
16
 
12
17
  ```ts
13
18
  import type { E2EConfig } from 'e2e';
@@ -32,7 +37,8 @@ any provider.
32
37
  - `model` drives `agent.act`. Judgments use `judge` when set, else `model`.
33
38
  - A missing model for the built-in agent raises one run-level
34
39
  `MODEL_UNAVAILABLE` when the first test acquires `agent`, exit 2; auth
35
- failures surface on the first model call as `MODEL_PROVIDER_FAILED`.
40
+ failures surface on the first model call as `MODEL_PROVIDER_FAILED`, or as
41
+ `CONFIG_LOAD_FAILED` for a provider that reads its key when the config loads.
36
42
  - `context` is what the app calls things, sent to every model call, judges
37
43
  included; `system` is how the acting agent works, read only by the act
38
44
  loop. Both live on the agents entry; `agentContext` on a test or group
@@ -50,8 +56,8 @@ Tests use `agents.default` unless selected otherwise:
50
56
  - `{ agent: 'name' }` on an `agent.*` call overrides the test's choice.
51
57
 
52
58
  For signed-in personas, pair an agent with a `session` in a describe block
53
- repeated per persona; the cache records per agent step, so a specialised
54
- agent replays too.
59
+ repeated per persona; the cache keys every entry by the agent and its
60
+ context, so each persona records and replays its own steps.
55
61
 
56
62
  ## act: one goal
57
63
 
@@ -236,14 +242,19 @@ matches. Misses and hand-offs use the model; `agent.assert`,
236
242
  `agent.assert`, `agent.waitFor`), so an unchecked `act` never replays; a
237
243
  plain-value `expect`, `expect.poll`, `agent.extract`, another `act`, or
238
244
  the attempt passing confirms nothing.
239
- - A replay needs the app on the recorded path (unless the recording opens
240
- with a navigation), re-finds each control by role, name, test id,
241
- placeholder, and input purpose, and passes alone only when the recorded
242
- end path and the controls seen during the step are back; otherwise the
243
- agent takes over mid-step. `step.cache.reason` says why: `no-entry`,
245
+ - A replay needs the app on the recorded route (origin, path, and query,
246
+ ids and tokens aside; unless the recording opens with a navigation),
247
+ re-finds each control by role, name, test id, placeholder, input purpose,
248
+ and its named row (an unnamed control with twins and no named container
249
+ hands off), and passes alone only when the recorded end route is back,
250
+ every control that appeared (with its checked or selected state) is
251
+ there, every one that went away is gone, at least one of those changed
252
+ during the replay, and no new alert showed; otherwise the agent takes
253
+ over mid-step. Entries are keyed per agent and per `agentContext`. `step.cache.reason` says why: `no-entry`,
244
254
  `wrong-context`, `target-not-found`, `target-ambiguous`, `end-mismatch`,
245
255
  and so on.
246
- - A step recording no actions creates no entry; one whose `unique()` value
256
+ - A step recording no actions, or changing nothing on screen or in the
257
+ route, creates no entry; one whose `unique()` value
247
258
  equals, is spelled inside, or is the encoded form of another param's value
248
259
  is not recorded either (`step.cache.notRecorded`: `param-collision`).
249
260
  - `e2e init` gitignores `.e2e/cache/`; remove that line to commit entries
@@ -28,7 +28,7 @@ jq '.run.results[] | select(.selected and .status != "passed") | .attempts[-1]
28
28
  (recorded as `skipped`).
29
29
  4. Artifacts, under `.e2e/artifacts/`: `failure/screen.txt`
30
30
  and the engine's screenshot per failed attempt; a Playwright trace per
31
- traced attempt (`npx playwright show-trace <file>`); downloads; with
31
+ traced attempt (`npx playwright-core@1.63.0 show-trace <file>`; `pnpm dlx` under pnpm); downloads; with
32
32
  `--video` the recording (`video/video.webm` in a local browser, each
33
33
  later page `video/video-part<n>.webm` with its own `startedAt`;
34
34
  `video/video.mp4` on a device; a provider's file or link); with
@@ -46,7 +46,7 @@ jq '.run.results[] | select(.selected and .status != "passed") | .attempts[-1]
46
46
  | `COLLECTION_ERROR` | `async` describe body, `test.setup` inside `describe`, an option forbidden in a serial group, registration outside collection | Restructure per `writing-tests` |
47
47
  | `HOOK_FAILED` | `beforeAll` or `afterAll` threw; its scope's tests skip | Fix the hook; the report carries its error |
48
48
  | `UNSUPPORTED_ARTIFACT` | A test's or target's `trace` or `video` on an engine that cannot record | Drop it there, or set it at the config root or CLI (such targets skip with a notice) |
49
- | `BROWSER_INSTALL_FAILED`, `LAUNCH_TIMEOUT` | Browser download failed; engine init or attempt start exceeded `launchTimeout` | Run the quoted `npx playwright install <names>` (`--with-deps` on bare Linux); raise the root `launchTimeout` (60 s default) |
49
+ | `BROWSER_INSTALL_FAILED`, `LAUNCH_TIMEOUT` | Browser download failed; engine init or attempt start exceeded `launchTimeout` | Run the quoted `npx @e2e-dev/web install <names>` or `pnpm exec e2e-web install <names>` (`--with-deps` on bare Linux); raise the root `launchTimeout` (60 s default) |
50
50
  | `APP_UNREACHABLE` | `app.command` never answered `readyUrl` within `startupTimeout`; on a device, a message naming the iOS automation runner: the runner failed, not the app | Read the quoted log lines; check the port, `app.url`, `app.command.env`, `app.command.startupTimeout`. Runner: rerun, else `npx agent-device daemon stop` and reboot the simulator |
51
51
  | `APP_ALREADY_RUNNING` | Something already serves `url` when `command` should start | Stop it, or `reuseExisting: true` locally |
52
52
  | `APP_URL_REQUIRED`, `APP_NOT_OPEN` | A navigation on a target without `app.url`; a `screen` call before `app.open()` | Add `app.url` to the target; open the app first |
@@ -58,14 +58,14 @@ jq '.run.results[] | select(.selected and .status != "passed") | .attempts[-1]
58
58
  | `MODEL_OUTPUT_INVALID` | An `extract` or `assert` answer failed the schema after one repair round | Simplify the schema or question; pick a stronger model |
59
59
  | `ACTION_FAILED` | Element not actionable (covered, disabled, detached), or an operation timed out | `expect` the condition first; close overlays; check `actionTimeout` |
60
60
  | `TEST_TIMEOUT` | The attempt exceeded `timeout` (120 s) | Split the test, or raise `timeout` |
61
- | `STEP_NOT_AWAITED` | The body returned while a step still ran: a call without `await` | `await` the call the code frame names (every `app`, `agent`, `screen`, `expect` call) |
61
+ | `STEP_NOT_AWAITED` | The body returned while a step or `expect.poll` still ran, or an `afterEach` hook or fixture teardown returned while an `expect.poll` still ran: a call without `await` | `await` the call the code frame names (every `app`, `agent`, `screen`, `expect`, `expect.poll` call) |
62
62
  | `MODEL_UNAVAILABLE` | `agents.<name>.model` holds no AI SDK instance: reported once under `run.errors` at the first `agent` fixture; the run stops. A model-less custom executor fails only `waitFor` and `extract` this way | Construct one, e.g. `gateway('openai/gpt-6-luna-fast')` from `ai`, and export its key (`AI_GATEWAY_API_KEY`) |
63
63
  | `MODEL_PROVIDER_FAILED` | Network, 5xx, rate limit, no credits, or no response in 120 s, after the transport retries | Check the credential (the key; for keyless `gateway()` the Vercel CLI login and `.vercel/project.json`) and quota; retry (exit 3) |
64
64
  | `REPLAY_STALE` | `--strict-cache` or `cache.strict`, and a committed recording no longer replays; `step.cache.reason` says why | Rerun read-write with the knob the message names off; commit the changed entry under the directory it names (a custom `cache.store` is written by that run) |
65
65
  | `AUTOMATION_UNSUPPORTED` | The step needs an interaction the engine's toolset lacks (drag on a device, say); blocked, exit 1 | Do that step with `screen` actions, or run the test on a target that supports it |
66
66
  | `STEP_TIMEOUT`, `STEP_BUDGET_EXHAUSTED` | Goal too big or ambiguous, or a slow provider | Split the goal, use on-screen wording, add vocabulary via `agents.<name>.context` or `agentContext`; raise `maxSteps` or `maxModelCalls` (budget), the config `timeout` (`act`), `judgmentTimeout` (judgments); `--debug` |
67
67
  | `CONTEXT_OVERFLOW` | Screen plus step history did not fit the model's context window (`act` after one shrink-and-retry; a judgment on the first overflow) | Lower `agents.<name>.maxObservationBytes`, split the step, or pick a larger-window model |
68
- | `POLICY_DENIED` | A `file:`, `data:`, or `javascript:` URL; a password `Secret` into a non-password sink; reading a secure field, `toHaveValue`, `toHaveText`, `toContainText`, `toHaveAttribute` included; `app.screenshot()` after a secret fill | http(s) only; passwords into password inputs only; assert the outcome, not the value; screenshot before filling secrets |
68
+ | `POLICY_DENIED` | A URL whose scheme is not `http:` or `https:` (`file:`, `view-source:`, `data:`); a password `Secret` into a non-password sink; reading a secure field, `toHaveValue`, `toHaveText`, `toContainText`, `toHaveAttribute` included; `app.screenshot()` after a secret fill | http(s) or `about:blank` only; passwords into password inputs only; assert the outcome, not the value; screenshot before filling secrets |
69
69
  | `UNSUPPORTED_CAPABILITY` | A fixture the engine lacks (`browser` on a device), `schema` or `vision` on `act`, an action the surface lacks | Declare `requires: ['browser']`; drop the option or action |
70
70
  | `SESSION_UNAVAILABLE`, `SESSION_CONTRACT` | `session: 'x'` with no setup saving `x`; a setup that skipped a declared name. `SESSION_MISMATCH`, `SESSION_EXPIRED`, `SESSION_INVALID`: the stored session is another run's or app's, expired, or corrupt | Add or fix the `test.setup`; rerun it |
71
71
  | `ONLY_IN_CI` | `test.only` reached CI | Remove it |
@@ -20,6 +20,9 @@ Or declare it in the client's project config (`.mcp.json` for Claude Code,
20
20
  { "mcpServers": { "e2e": { "command": "npx", "args": ["e2e", "mcp"] } } }
21
21
  ```
22
22
 
23
+ No model is needed: without the optional `ai` package, sessions open and the
24
+ deterministic tools work.
25
+
23
26
  Flags: `--config <path>` names the default config file, `--target <name>`
24
27
  fixes the target every session opens on, `--headless` hides the browser or
25
28
  simulator (sessions are headed by default outside CI), `--max-sessions <n>`
@@ -11,7 +11,7 @@ npx e2e guide [topic] # print this skill; topics: setup, writing-te
11
11
  # running, explore, debugging, mcp, bug-bash
12
12
  npx e2e cache ls|clear|stats # inspect or empty the replay cache
13
13
  npx e2e login|logout|models [provider] # e2e/oauth subscription logins: openai,
14
- # github-copilot, spacexai
14
+ # github-copilot, opencode-console, spacexai
15
15
  npx e2e mcp [--target <name>] # MCP server for a coding agent (topic mcp)
16
16
  npx e2e feedback -m <text> [opts] # report a problem with e2e itself
17
17
  npx e2e telemetry [disable|enable] # anonymous usage telemetry: status or switch
@@ -27,7 +27,7 @@ npx e2e telemetry [disable|enable] # anonymous usage telemetry: status or switch
27
27
  | `--tag <tags>` | Any of the tags, comma-separated or repeated; all of them with `--tag-mode all`. An empty `--target`, `--tag`, or `--agent` value is a usage error, exit 2. |
28
28
  | `--exclude-tag <tags>` | Drop tests carrying any of these tags, however selected. |
29
29
  | `--grep <pattern>`, `--grep-invert <pattern>` | Keep, or drop, tests whose title (describe titles and test title joined by spaces, `checkout pays`; not file or tags) matches a regular expression. Bare pattern or `'/pattern/i'`; repeat for alternatives. |
30
- | `--last-failed` | The tests the previous run (`<output>/report.json`) did not pass, plus every test in a failed `beforeAll` or `afterAll` scope. No report is `NO_LAST_RUN`, exit 2. |
30
+ | `--last-failed` | The tests the previous run (`<output>/report.json`) did not pass or never ran (`--max-failures` included), plus every test in a failed `beforeAll` or `afterAll` scope. A test another filter leaves out stays owed (`run.carried` in the report) until a rerun runs it. No report is `NO_LAST_RUN`, exit 2. |
31
31
  | `--shard <index/total>` | One contiguous slice of the selected tests (`--shard 2/3`), cut after every other filter; serial groups stay whole, each shard brings its own setup tests. |
32
32
  | `--headed` | Visible browser or simulator when the engine supports it. |
33
33
  | `--agent <names>` | Run unpinned tests as these `agents.<name>` entries (default `agents.default`), comma-separated or repeated; several names run each such test once per agent. |
@@ -87,7 +87,8 @@ its own tools.
87
87
  `summary.md`, `failures/`, `ai-trace.json`, `sessions/`, and `artifacts/`
88
88
  (screenshots, Playwright traces, videos, `--debug` transcripts, downloads).
89
89
  `artifacts/` is cleared once a run's tests start; a run stopping before
90
- leaves the last run's files. The report records every artifact path, a
90
+ leaves the last run's files, and a `--last-failed` rerun keeps the files
91
+ the report it reruns names and writes its own under `artifacts/rerun-<n>/`. The report records every artifact path, a
91
92
  hosted service's video by URL.
92
93
 
93
94
  - `list` (default): setup steps, one line per file and target, a `Failed
@@ -102,11 +103,14 @@ hosted service's video by URL.
102
103
  and `run.results[]`, one per test and target: `titlePath`, `file`,
103
104
  `source`, `tags` (`[]` when none), `agent`, `repeat` (0 unless
104
105
  `--repeat-each`), `selected`, `status`, `attempts[]` of `steps[]`,
105
- `artifacts[]`, `error`.
106
+ `artifacts[]`, `error`. `run.summary` counts the selected results:
107
+ `passed`, `failed` (timed out included), `interrupted` (stopped by the
108
+ run: a signal, `--max-failures`, a run-level error; not a failure), `flaky`, and `skipped` add up
109
+ to `selected`; `discovered - selected` were left out.
106
110
  - `junit`: `junit.xml` for CI summaries; `--reporter list,junit` keeps the
107
111
  terminal output.
108
112
  - `markdown` (`--reporter list,markdown`): `summary.md` plus one page per
109
- failed or flaky test under `failures/`. The summary holds counts and
113
+ failed or flaky test under `failures/` (an interrupted test gets none). The summary holds counts and
110
114
  spend, a block per failed test (error, facts, failing step, whether every
111
115
  attempt failed alike, last model turns, screen location and closest
112
116
  nodes, the line to look at, evidence paths), the flaky tests folded
@@ -142,8 +146,9 @@ interrupted workers keeps the failures' or the error's code. Exit 2 is
142
146
  deterministic, never retry it; only exit 3 is worth a job-level retry.
143
147
 
144
148
  The first SIGINT or SIGTERM interrupts and writes the report if any test
145
- had started; the second forces engine teardown; the third kills the app
146
- process groups and exits 130 at once.
149
+ had started; the second forces engine teardown and still writes the
150
+ report, plus `junit.xml` and `summary.md` when those reporters are on; the
151
+ third kills the app process groups and exits 130 at once.
147
152
 
148
153
  ## Continuous integration
149
154
 
@@ -174,7 +179,7 @@ jobs:
174
179
  node-version: 26 # any Node >= 22.12
175
180
  cache: pnpm
176
181
  - run: pnpm install --frozen-lockfile
177
- - run: npx playwright install chromium --with-deps
182
+ - run: pnpm exec e2e-web install chromium --with-deps
178
183
  - run: npx e2e run --reporter list,junit
179
184
  env:
180
185
  AI_GATEWAY_API_KEY: ${{ secrets.AI_GATEWAY_API_KEY }}
@@ -6,13 +6,11 @@
6
6
  - ES modules: `.ts` config, tests, helpers, and workspace packages exporting
7
7
  `.ts` source load as ESM regardless of the nearest `package.json` `type`
8
8
  (CommonJS packages need no change); never `require` or `module.exports`.
9
- - Browser tests: `@e2e-dev/web` plus `playwright` (`>=1.63.0 <2`), a peer the
10
- engine does not install: an existing Playwright keeps its version and
11
- browser cache, one out of range fails install as an unmet peer (npm's
12
- `ERESOLVE`): upgrade `playwright` within the range. Missing
13
- browsers download on first boot; in CI run `npx playwright install chromium
14
- --with-deps`. Mobile tests: `@e2e-dev/mobile`, pinning `agent-device`
15
- exactly; the pin moves with each engine release.
9
+ - Browser tests: `@e2e-dev/web`, pinning `playwright-core` exactly; do not
10
+ add `playwright` for it. Missing browsers download on first boot; in CI run
11
+ `npx @e2e-dev/web install chromium --with-deps` (pnpm: `pnpm exec e2e-web
12
+ install chromium --with-deps`). Mobile tests: `@e2e-dev/mobile`, pinning
13
+ `agent-device` exactly; each pin moves with its engine release.
16
14
 
17
15
  ## Scaffold
18
16
 
@@ -41,7 +39,7 @@ MCP entries.
41
39
  Without the wizard (`ai`, Vercel AI SDK v7, only for `agent.*` steps):
42
40
 
43
41
  ```bash
44
- npm install --save-dev e2e @e2e-dev/web playwright ai@^7
42
+ npm install --save-dev e2e @e2e-dev/web ai@^7
45
43
  ```
46
44
 
47
45
  ## Subscriptions and API keys
@@ -53,6 +51,7 @@ key, or a local endpoint. Authenticate:
53
51
  | --- | --- |
54
52
  | ChatGPT Plus or Pro | `npx e2e login openai` |
55
53
  | GitHub Copilot | `npx e2e login github-copilot` (GitHub CLI signed in, or your own `--client-id`) |
54
+ | OpenCode Console (OpenCode Zen and OpenCode Go) | `npx e2e login opencode-console` (approve the device code, pick the workspace) |
56
55
  | SuperGrok or X Premium+ | `npx e2e login spacexai` |
57
56
  | Vercel AI Gateway | Set `AI_GATEWAY_API_KEY`, or sign in to the Vercel CLI and `npx vercel link`; without the key `gateway()` uses a Vercel OIDC token |
58
57
  | OpenRouter | Set `OPENROUTER_API_KEY` |
@@ -63,6 +62,22 @@ set `model: chatgpt('gpt-6-luna')` from `e2e/oauth/chatgpt`, run `npx e2e
63
62
  login openai`. `npx e2e models` lists the ids each login serves. Use API keys
64
63
  in CI.
65
64
 
65
+ Switching to Copilot: install `ai`, `@ai-sdk/openai-compatible`, and
66
+ `@ai-sdk/openai`, set `model: copilot('<id>')` from `e2e/oauth/copilot`, run
67
+ `npx e2e login github-copilot`. `copilot()` calls a model over chat completions, or
68
+ over Copilot's Responses API when the plan serves that model only there, choosing
69
+ per model from the plan's listing. `npx e2e models github-copilot` marks the models
70
+ it cannot call at all: those served only over an API `copilot()` does not speak, and
71
+ those the plan has not enabled.
72
+
73
+ Switching to OpenCode Console: install `ai`, `@ai-sdk/openai-compatible`,
74
+ `@ai-sdk/openai`, `@ai-sdk/anthropic`, and `@ai-sdk/google`, set
75
+ `model: opencodeConsole('<id>')` from `e2e/oauth/opencode-console`, run
76
+ `npx e2e login opencode-console`. A bare id is an OpenCode Zen model; a `go/` id
77
+ (`go/deepseek-v4.1-flash`) is an OpenCode Go model and needs the workspace's Go
78
+ subscription. `npx e2e models opencode-console` lists the ids, tagged Zen or Go. In CI,
79
+ set a Console service account key as `OPENCODE_API_KEY`.
80
+
66
81
  ## The config
67
82
 
68
83
  `e2e.config.ts` sits at the project root and default-exports an object literal
@@ -168,6 +183,8 @@ start a script that brings them up and serves the app.
168
183
  | `headers` | Sent to the app's site only (Vercel's `x-vercel-protection-bypass`, ngrok's `ngrok-skip-browser-warning`), `agent.act` included; disables the browser HTTP cache and service workers. |
169
184
  | `basicAuth` | `{ username, password }` for a `401` challenge; `password` may be `secrets.get('name')`, resolved per attempt and redacted like any secret, the base64 `Authorization` credential too. |
170
185
  | `userAgent` | The `User-Agent` every attempt sends and `navigator.userAgent` reports. |
186
+ | `locale`, `timezoneId` | The language (`'de-DE'`: `navigator.language`, `Intl`, `Accept-Language`) and IANA time zone (`'Europe/Berlin'`) every attempt runs in. |
187
+ | `initScripts` | Scripts every document runs before the page's own: source, `{ path }`, or a function with no closures. |
171
188
  | `testIdAttribute` | What `getByTestId` reads; default `data-testid`. |
172
189
  | `screencast` | `{ size?, quality? }` for the engine's own video: frame size (default the viewport's), JPEG quality 0 to 100. |
173
190
 
@@ -176,7 +193,7 @@ start a script that brings them up and serves the app.
176
193
  the handle (a reference, not the value) in `app.command.env`, a template
177
194
  literal, or `context`; read those from `process.env`.
178
195
  - `reconnectEndpoint` or an attempt-scoped provider rides one persistent
179
- context without `headers`, `basicAuth`, `userAgent`, `app.clearState()`, or
196
+ context without `headers`, `basicAuth`, `userAgent`, `locale`, `timezoneId`, `app.clearState()`, or
180
197
  session state. Recovery never repeats a dispatched operation; exhausting
181
198
  the budget is `OPERATION_TIMEOUT`. Without `reconnectEndpoint` a dropped
182
199
  connection is reacquired at the next attempt.
@@ -246,16 +263,20 @@ For an app started elsewhere, point `app.url` at it, literally or via
246
263
  | --- | --- |
247
264
  | `AI_GATEWAY_API_KEY`, `OPENROUTER_API_KEY`, `OPENAI_API_KEY`, ... | Read by provider packages, not the runner. |
248
265
  | `E2E_USER_<NAME>_USERNAME`, `E2E_USER_<NAME>_PASSWORD` | Override `credentials.<name>`; `<NAME>` is the name uppercased, other characters `_`. |
249
- | `E2E_SECRET_<NAME>` | Overrides `secrets.<name>`, same rule. |
266
+ | `E2E_SECRET_<NAME>` | Overrides `secrets.<name>`, same rule. Two entries of one namespace mapping to one variable are `INVALID_CONFIG`. |
250
267
  | `CI` | CI defaults; list in topic `running`. |
251
268
  | `E2E_TELEMETRY_DISABLED`, `DO_NOT_TRACK` | Disable anonymous telemetry, as does `e2e telemetry disable`; `E2E_TELEMETRY_DEBUG=1` prints events instead of sending. |
252
269
 
253
270
  ## Mobile targets
254
271
 
255
- `@e2e-dev/mobile` drives iOS simulators and Android emulators through
256
- [agent-device](https://github.com/callstack/agent-device); needs Xcode with a
257
- simulator runtime or the Android SDK with an emulator; run
258
- `npx agent-device doctor` once.
272
+ `@e2e-dev/mobile` drives iOS simulators, Android emulators, and connected
273
+ phones through [agent-device](https://github.com/callstack/agent-device);
274
+ needs Xcode with a simulator runtime or the Android SDK with an emulator (a
275
+ phone needs Xcode with Developer Mode and runner signing, or adb with USB
276
+ debugging authorized); run `npx agent-device doctor` once. Name a phone in `device` by the name
277
+ `npx agent-device devices` lists, not its UDID or serial. On an iPhone, device
278
+ settings (permissions, `clearState`, network, location, appearance,
279
+ biometrics, keychain) and the clipboard are simulator-only.
259
280
 
260
281
  ```ts
261
282
  import type { E2EConfig } from 'e2e';
@@ -285,8 +306,14 @@ export default {
285
306
  `app.launchArguments` and `app.permissions` ride every fresh launch:
286
307
  arguments reach the app process (iOS) or `am start` (Android), permissions
287
308
  are set first.
309
+ - Expo development build on an iOS simulator: `app.launchArguments:
310
+ ['--initialUrl', 'http://localhost:8081', '-EXDevMenuShowsAtLaunch', 'NO',
311
+ '-EXDevMenuIsOnboardingFinished', 'YES', '-EXDevMenuShowFloatingActionButton',
312
+ 'NO']` loads that dev server on every fresh launch, dev menu off;
313
+ `app.command` (`npx expo start --port 8081`) with `readyUrl:
314
+ 'http://localhost:8081/status'` starts it.
288
315
  - One worker per device. No `device`: every booted simulator or emulator of
289
- the platform is the pool, up to `workers` (none booted: agent-device boots
316
+ the platform, and every connected phone, is the pool, up to `workers` (none booted: agent-device boots
290
317
  one); one `device`: one worker whatever `workers` says; a list (`device:
291
318
  ['iPhone 17', 'iPhone 17 Pro']`): an explicit pool. Devices boot in
292
319
  `prepare`, before the run's clock. Two sessions on one device fight over
@@ -168,7 +168,9 @@ substring; a `RegExp` matches as written.
168
168
  scoping under another locator. Any other `filter` key (`hasNot`,
169
169
  `hasNotText`) or an empty `filter({})` is `INVALID_LOCATOR`.
170
170
  - `visible: true` drops nodes the page hides (a closed drawer) before the
171
- exactly-one rule.
171
+ exactly-one rule. Visibility is what renders, as `toBeVisible()` reads it:
172
+ an `aria-hidden` spinner that paints is visible, so `toBeHidden()` waits
173
+ for it to go.
172
174
  - On the web, queries reach open shadow roots and closed roots attached with
173
175
  `attachShadow`, not declarative closed roots. `browser.locator(css)`,
174
176
  `frameLocator`, and `filter({ hasText })` stop at a closed root; query the
@@ -215,7 +217,7 @@ text, both `[]` at zero. Text is the rendered text, whitespace collapsed: on
215
217
  the web what `innerText` reads (`text-transform` applies, `display: none`
216
218
  drops out, `<br>` is a space); `toHaveText` reads the same. `isChecked()` is
217
219
  `false`, not an error, on a node with no checked state, so query checkable
218
- controls by role. `waitFor({ state?: 'visible' | 'hidden', timeout? })` waits
220
+ controls by role. `waitFor({ state?: 'attached' | 'detached' | 'visible' | 'hidden', timeout? })` waits
219
221
  within `actionTimeout`, else `LOCATOR_NOT_FOUND`. For a value that has to
220
222
  settle use `expect`, not a read. Reading a password field's value or
221
223
  attributes is `POLICY_DENIED`, as is `toHaveAttribute` on one, negated too.
@@ -224,13 +226,20 @@ attributes is `POLICY_DENIED`, as is `toHaveAttribute` on one, negated too.
224
226
 
225
227
  `expect(locator)` polls up to `config.assertionTimeout` (5 s) or
226
228
  `{ timeout }`; `.not` inverts and passes once the negation has held 1 s
227
- continuously, so it never returns in under a second. `expect(value,
229
+ continuously, or for the whole `timeout` when that is shorter, so it never
230
+ returns sooner. `expect(value,
228
231
  message?)` is synchronous.
229
232
  `expect.poll(read, { timeout?, interval?, message? })` re-reads until a value
230
233
  matcher passes (`assertionTimeout` and 100 ms by default, stopping with the
231
- attempt); a throwing read keeps polling, and it is not a report step.
234
+ attempt); a throwing read keeps polling, and it is not a report step. A
235
+ poll that the body or a hook returns without awaiting is cancelled and fails
236
+ that phase with `STEP_NOT_AWAITED`.
232
237
  `expect.soft(x)` keeps a failure instead of throwing; the attempt fails
233
- after the body with every soft failure listed.
238
+ after the body with every soft failure listed. If the body calls `test.skip`,
239
+ the test stays skipped and the failures remain in `secondaryErrors`. The CLI
240
+ shows `Skipped After Failure`, also when a retry skips after an earlier
241
+ failure. Set `failOnSkippedFailure: true` in the config to fail the run with
242
+ exit code 1 in either case. The default is `false`; clean skips stay green.
234
243
  `expect.any(Class)`, `expect.anything()`, `expect.objectContaining(obj)`,
235
244
  `expect.arrayContaining(arr)`, `expect.stringContaining(s)`, and
236
245
  `expect.stringMatching(s | RegExp)` stand in for values inside `toEqual`,
@@ -263,6 +272,12 @@ presence, `toHaveAttribute(name, value)` the value; `toBeAttached` waits for
263
272
  a match, hidden or not; `toHaveClass` compares the whole normalized class
264
273
  list or tests a RegExp. A failed matcher is `ASSERTION_FAILED`, exit code 1.
265
274
 
275
+ Playwright's `{ checked: false }`, `{ enabled: false }`, `{ visible: false }`,
276
+ and `{ attached: false }` flip their matchers, and `{ ignoreCase: true }`
277
+ works on `toHaveText`, `toContainText`, `toHaveAccessibleName`,
278
+ `toHaveAttribute(name, value)`, and `expect(browser).toHaveURL`. Any other option, `indeterminate` or
279
+ `useInnerText` included, is `INVALID_ARGUMENT`, in JavaScript too.
280
+
266
281
  ## Sign-in sessions
267
282
 
268
283
  Sign in once in a setup test, save the state under a name, and let other
@@ -317,7 +332,9 @@ credentials: {
317
332
  A function is read at fill time and redacted only from that fill on.
318
333
  - `E2E_USER_<NAME>_USERNAME` and `E2E_USER_<NAME>_PASSWORD` override either
319
334
  field per run, even over a function; `<NAME>` is the credential name
320
- uppercased, every character outside `[A-Z0-9]` as `_`.
335
+ uppercased, every character outside `[A-Z0-9]` as `_`. Two credentials (or
336
+ two secrets) mapping to one variable, `svc-a` and `svc_a`, are
337
+ `INVALID_CONFIG`.
321
338
  - `credentials.user('admin').password` is a `Secret` with no plaintext
322
339
  accessor, named `admin.password` to the agent and in reports; `secrets.get()`
323
340
  never returns it (separate namespaces). Only `fill()` and `agent.act` params accept it, stringifying it
@@ -328,6 +345,11 @@ credentials: {
328
345
  `E2E_SECRET_STRIPE_KEY`; `secrets.get('stripe-key')` is the same kind of
329
346
  handle, fills any editable input, and is redacted by name everywhere the
330
347
  runner writes.
348
+ - A registered value passed as a plain string (`process.env.STRIPE_KEY` in a
349
+ title, a URL, a locator, an `agent.act` instruction or param) is redacted
350
+ too: reports, step labels, the executor, and the model see
351
+ `<secret:stripe-key>` (and so does the test id, for a value in a title),
352
+ so the agent cannot type it. Pass the handle.
331
353
 
332
354
  ## The browser fixture (browser only)
333
355
 
@@ -349,14 +371,20 @@ the app opens itself (`target="_blank"`, `window.open`) is not followed:
349
371
  - `evaluate(fn | source, arg?)`: runs a function or source string in the
350
372
  page, JSON in and out, no closures; a throw in the page is
351
373
  `EVALUATE_FAILED`.
352
- - `route(pattern, handler)`, `unroute(pattern)`: intercept requests;
353
- `route.request` has `url`, `method`, `headers`, `postData`. The handler
354
- calls exactly one of `fulfill({ status?, headers?, json | body })`,
355
- `continue()`, or `abort()`; none or two fails the next step with
356
- `ACTION_FAILED`.
357
- - `waitForResponse(pattern, { timeout? })`: resolves with
358
- `{ url, status, headers, json(), text() }`; `text()` and `json()` reject
359
- with `ACTION_FAILED` when the body could not be read.
374
+ - `addInitScript(source | { path } | fn)`, `addInitScript(fn, arg)`: runs
375
+ before the page's own scripts; call it before `app.open`. `arg` is JSON.
376
+ - `route(pattern, handler)`, `unroute(pattern)`: intercept requests, newest
377
+ route first; `route.request` has `url`, `method`, `headers`, `postData`.
378
+ The handler calls exactly one of
379
+ `fulfill({ status?, headers?, contentType?, json | body | path })`,
380
+ `continue({ url?, method?, headers?, postData? })` (straight to the
381
+ network), `fallback()` (the route registered before it), or `abort()`;
382
+ none or two fails the next step with `ACTION_FAILED`, an unsupported
383
+ option with `INVALID_ARGUMENT`.
384
+ - `waitForResponse(pattern, { timeout? })`: resolves once the headers
385
+ arrive, with `{ url, status, headers, json(), text() }`; `text()` and
386
+ `json()` wait for the body (up to the action timeout) and reject with
387
+ `ACTION_FAILED` when it could not be read.
360
388
  - `cookies()`, `setCookies([...])`: a target is an http(s) URL or a domain.
361
389
  - `setViewport({ width, height })`: resize.
362
390
  - `onDialog('accept' | 'dismiss' | handler)`: awaited; resolves to an async
@@ -385,5 +413,5 @@ A `route`, `unroute`, or `waitForResponse` pattern is a glob string or
385
413
  plus value matchers, in a `test.extend` fixture that reads `browser.cookies()`
386
414
  when the API needs the session.
387
415
  - No sleeps or polling loops; a matcher with a longer `timeout` instead.
388
- - `await` every step call, else `STEP_NOT_AWAITED` at the line of the call.
416
+ - `await` every step call and `expect.poll`, else `STEP_NOT_AWAITED` at the line of the call.
389
417
  - Assert the fact a model produced with `toContain`, not its exact sentence.
@@ -1 +0,0 @@
1
- {"version":3,"file":"act-validation.d.ts","sourceRoot":"","sources":["../../src/agent/act-validation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGxE,OAAO,KAAK,EAAE,UAAU,EAAkB,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE9F,OAAO,EAAmB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAOlE,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAGvC,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAa5E;AAID;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAgChG;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG;IAC/D,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3D,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;CACrC,CAqBA;AA+BD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,WAAW,CAqCnF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"act-validation.js","sourceRoot":"","sources":["../../src/agent/act-validation.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"act.d.ts","sourceRoot":"","sources":["../../src/agent/act.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAQH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAiB,MAAM,EAAE,MAAM,aAAa,CAAC;AAM3G,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAUpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,iGAAiG;AACjG,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAC,CAAC;AAElG,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,mGAAmG;IACnG,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;IACvD,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACjE,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,4FAA4F;IAC5F,QAAQ,CAAC,SAAS,EAAE,SAAS,aAAa,EAAE,CAAC;IAC7C,wDAAwD;IACxD,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,mDAAmD;IACnD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,wGAAwG;IACxG,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,yEAAyE;AACzE,wBAAsB,UAAU,CAC9B,OAAO,EAAE,YAAY,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,cAAc,SAAI,GACjB,OAAO,CAAC,SAAS,CAAC,CAiBpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,YAAY,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,GAChG,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,YAAY,EAGlB,KAAK,GAAE,aAA0C,GAChD,OAAO,CAAC,SAAS,CAAC,CAqBpB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"act.js","sourceRoot":"","sources":["../../src/agent/act.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-dispatcher.d.ts","sourceRoot":"","sources":["../../src/agent/action-dispatcher.ts"],"names":[],"mappings":"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"}