@e2edev/e2e 0.5.0 → 0.6.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 (415) hide show
  1. package/README.md +64 -25
  2. package/dist/agent/act.d.ts +2 -2
  3. package/dist/agent/act.js +14 -37
  4. package/dist/agent/act.js.map +1 -1
  5. package/dist/agent/actions.d.ts +2 -2
  6. package/dist/agent/actions.d.ts.map +1 -1
  7. package/dist/agent/actions.js +1 -1
  8. package/dist/agent/ai-sdk.d.ts +1 -2
  9. package/dist/agent/ai-sdk.d.ts.map +1 -1
  10. package/dist/agent/ai-sdk.js +1 -2
  11. package/dist/agent/ai-sdk.js.map +1 -1
  12. package/dist/agent/default-agent.d.ts +10 -32
  13. package/dist/agent/default-agent.d.ts.map +1 -1
  14. package/dist/agent/default-agent.js +6 -13
  15. package/dist/agent/default-agent.js.map +1 -1
  16. package/dist/agent/derived.d.ts +1 -1
  17. package/dist/agent/derived.js +1 -1
  18. package/dist/agent/error.d.ts +2 -4
  19. package/dist/agent/error.d.ts.map +1 -1
  20. package/dist/agent/error.js +3 -5
  21. package/dist/agent/error.js.map +1 -1
  22. package/dist/agent/executor.d.ts +23 -52
  23. package/dist/agent/executor.d.ts.map +1 -1
  24. package/dist/agent/executor.js +1 -2
  25. package/dist/agent/executor.js.map +1 -1
  26. package/dist/agent/index.d.ts +1 -1
  27. package/dist/agent/index.d.ts.map +1 -1
  28. package/dist/agent/index.js +10 -7
  29. package/dist/agent/index.js.map +1 -1
  30. package/dist/agent/invocation.d.ts +8 -6
  31. package/dist/agent/invocation.d.ts.map +1 -1
  32. package/dist/agent/invocation.js +9 -4
  33. package/dist/agent/invocation.js.map +1 -1
  34. package/dist/agent/ledger.d.ts +17 -12
  35. package/dist/agent/ledger.d.ts.map +1 -1
  36. package/dist/agent/ledger.js +6 -9
  37. package/dist/agent/ledger.js.map +1 -1
  38. package/dist/agent/model/adapter.d.ts +7 -4
  39. package/dist/agent/model/adapter.d.ts.map +1 -1
  40. package/dist/agent/model/adapter.js +2 -2
  41. package/dist/agent/model/adapter.js.map +1 -1
  42. package/dist/agent/model/router.d.ts +1 -1
  43. package/dist/agent/model/router.d.ts.map +1 -1
  44. package/dist/agent/model/router.js +1 -1
  45. package/dist/agent/model/router.js.map +1 -1
  46. package/dist/agent/model/sdk.d.ts +11 -1
  47. package/dist/agent/model/sdk.d.ts.map +1 -1
  48. package/dist/agent/model/sdk.js +54 -10
  49. package/dist/agent/model/sdk.js.map +1 -1
  50. package/dist/agent/observation.d.ts +7 -7
  51. package/dist/agent/observation.d.ts.map +1 -1
  52. package/dist/agent/observation.js +7 -7
  53. package/dist/agent/observation.js.map +1 -1
  54. package/dist/agent/phases.d.ts +3 -3
  55. package/dist/agent/phases.d.ts.map +1 -1
  56. package/dist/agent/phases.js +4 -4
  57. package/dist/agent/phases.js.map +1 -1
  58. package/dist/agent/primitives.d.ts +4 -25
  59. package/dist/agent/primitives.d.ts.map +1 -1
  60. package/dist/agent/primitives.js +3 -36
  61. package/dist/agent/primitives.js.map +1 -1
  62. package/dist/agent/prompts.d.ts +1 -1
  63. package/dist/agent/prompts.js +1 -1
  64. package/dist/agent/protocol.d.ts +2 -3
  65. package/dist/agent/protocol.d.ts.map +1 -1
  66. package/dist/agent/protocol.js +2 -3
  67. package/dist/agent/protocol.js.map +1 -1
  68. package/dist/agent/public.d.ts +8 -10
  69. package/dist/agent/public.d.ts.map +1 -1
  70. package/dist/agent/public.js +7 -8
  71. package/dist/agent/public.js.map +1 -1
  72. package/dist/agent/replay.d.ts +2 -2
  73. package/dist/agent/replay.d.ts.map +1 -1
  74. package/dist/agent/replay.js +1 -1
  75. package/dist/agent/secrets.d.ts +3 -3
  76. package/dist/agent/secrets.d.ts.map +1 -1
  77. package/dist/agent/secrets.js +4 -4
  78. package/dist/agent/secrets.js.map +1 -1
  79. package/dist/agent/step-cache.d.ts +1 -1
  80. package/dist/agent/step-cache.d.ts.map +1 -1
  81. package/dist/agent/step-cache.js +7 -1
  82. package/dist/agent/step-cache.js.map +1 -1
  83. package/dist/agent/tool-loop.d.ts +9 -33
  84. package/dist/agent/tool-loop.d.ts.map +1 -1
  85. package/dist/agent/tool-loop.js +15 -38
  86. package/dist/agent/tool-loop.js.map +1 -1
  87. package/dist/agent/tool.d.ts +4 -5
  88. package/dist/agent/tool.d.ts.map +1 -1
  89. package/dist/agent/tool.js +2 -7
  90. package/dist/agent/tool.js.map +1 -1
  91. package/dist/cache/anchors.d.ts +2 -2
  92. package/dist/cache/anchors.d.ts.map +1 -1
  93. package/dist/cache/anchors.js +1 -1
  94. package/dist/cache/context.d.ts +6 -1
  95. package/dist/cache/context.d.ts.map +1 -1
  96. package/dist/cache/context.js +2 -1
  97. package/dist/cache/context.js.map +1 -1
  98. package/dist/cache/decide.d.ts +1 -1
  99. package/dist/cache/decide.js +1 -1
  100. package/dist/cache/identity.d.ts +9 -9
  101. package/dist/cache/identity.d.ts.map +1 -1
  102. package/dist/cache/identity.js +6 -6
  103. package/dist/cache/identity.js.map +1 -1
  104. package/dist/cache/recorder.d.ts +4 -2
  105. package/dist/cache/recorder.d.ts.map +1 -1
  106. package/dist/cache/recorder.js +10 -1
  107. package/dist/cache/recorder.js.map +1 -1
  108. package/dist/cache/relocate.d.ts +2 -2
  109. package/dist/cache/relocate.d.ts.map +1 -1
  110. package/dist/cache/relocate.js +1 -1
  111. package/dist/cache/store.d.ts +1 -1
  112. package/dist/cache/store.js +1 -1
  113. package/dist/cache/trace.d.ts +16 -1
  114. package/dist/cache/trace.d.ts.map +1 -1
  115. package/dist/cache/trace.js +22 -1
  116. package/dist/cache/trace.js.map +1 -1
  117. package/dist/cli/bin.js +9 -1
  118. package/dist/cli/bin.js.map +1 -1
  119. package/dist/cli/cache.d.ts +25 -0
  120. package/dist/cli/cache.d.ts.map +1 -0
  121. package/dist/cli/cache.js +249 -0
  122. package/dist/cli/cache.js.map +1 -0
  123. package/dist/cli/docs-url.d.ts +3 -0
  124. package/dist/cli/docs-url.d.ts.map +1 -0
  125. package/dist/cli/docs-url.js +3 -0
  126. package/dist/cli/docs-url.js.map +1 -0
  127. package/dist/cli/guide.d.ts +4 -0
  128. package/dist/cli/guide.d.ts.map +1 -0
  129. package/dist/cli/guide.js +16 -0
  130. package/dist/cli/guide.js.map +1 -0
  131. package/dist/cli/index.d.ts +1 -1
  132. package/dist/cli/index.d.ts.map +1 -1
  133. package/dist/cli/index.js +211 -42
  134. package/dist/cli/index.js.map +1 -1
  135. package/dist/cli/init/agent-skill.d.ts +34 -0
  136. package/dist/cli/init/agent-skill.d.ts.map +1 -0
  137. package/dist/cli/init/agent-skill.js +44 -0
  138. package/dist/cli/init/agent-skill.js.map +1 -0
  139. package/dist/cli/init/{backends.d.ts → engines.d.ts} +39 -32
  140. package/dist/cli/init/engines.d.ts.map +1 -0
  141. package/dist/cli/init/{backends.js → engines.js} +43 -34
  142. package/dist/cli/init/engines.js.map +1 -0
  143. package/dist/cli/init/package.d.ts +19 -3
  144. package/dist/cli/init/package.d.ts.map +1 -1
  145. package/dist/cli/init/package.js +20 -20
  146. package/dist/cli/init/package.js.map +1 -1
  147. package/dist/cli/init/scaffold.d.ts +3 -3
  148. package/dist/cli/init/scaffold.d.ts.map +1 -1
  149. package/dist/cli/init/scaffold.js +13 -12
  150. package/dist/cli/init/scaffold.js.map +1 -1
  151. package/dist/cli/init.d.ts +14 -2
  152. package/dist/cli/init.d.ts.map +1 -1
  153. package/dist/cli/init.js +104 -25
  154. package/dist/cli/init.js.map +1 -1
  155. package/dist/cli/signals.d.ts +5 -2
  156. package/dist/cli/signals.d.ts.map +1 -1
  157. package/dist/cli/signals.js +9 -3
  158. package/dist/cli/signals.js.map +1 -1
  159. package/dist/cli/skill.d.ts +16 -0
  160. package/dist/cli/skill.d.ts.map +1 -0
  161. package/dist/cli/skill.js +57 -0
  162. package/dist/cli/skill.js.map +1 -0
  163. package/dist/collect/collect.d.ts +40 -3
  164. package/dist/collect/collect.d.ts.map +1 -1
  165. package/dist/collect/collect.js +142 -19
  166. package/dist/collect/collect.js.map +1 -1
  167. package/dist/collect/registry.d.ts +1 -1
  168. package/dist/collect/registry.d.ts.map +1 -1
  169. package/dist/collect/registry.js +2 -2
  170. package/dist/collect/registry.js.map +1 -1
  171. package/dist/collect/select.d.ts +1 -1
  172. package/dist/collect/select.d.ts.map +1 -1
  173. package/dist/collect/select.js +81 -8
  174. package/dist/collect/select.js.map +1 -1
  175. package/dist/config/agent.d.ts +14 -2
  176. package/dist/config/agent.d.ts.map +1 -1
  177. package/dist/config/agent.js +36 -11
  178. package/dist/config/agent.js.map +1 -1
  179. package/dist/config/app.d.ts +76 -19
  180. package/dist/config/app.d.ts.map +1 -1
  181. package/dist/config/app.js +159 -104
  182. package/dist/config/app.js.map +1 -1
  183. package/dist/config/diagnose.d.ts +15 -0
  184. package/dist/config/diagnose.d.ts.map +1 -0
  185. package/dist/config/diagnose.js +122 -0
  186. package/dist/config/diagnose.js.map +1 -0
  187. package/dist/config/load.d.ts +9 -1
  188. package/dist/config/load.d.ts.map +1 -1
  189. package/dist/config/load.js +35 -3
  190. package/dist/config/load.js.map +1 -1
  191. package/dist/config/resolve.d.ts +8 -7
  192. package/dist/config/resolve.d.ts.map +1 -1
  193. package/dist/config/resolve.js +73 -40
  194. package/dist/config/resolve.js.map +1 -1
  195. package/dist/config/validate.d.ts +6 -2
  196. package/dist/config/validate.d.ts.map +1 -1
  197. package/dist/config/validate.js +20 -3
  198. package/dist/config/validate.js.map +1 -1
  199. package/dist/credentials.d.ts +1 -1
  200. package/dist/credentials.d.ts.map +1 -1
  201. package/dist/credentials.js +1 -1
  202. package/dist/credentials.js.map +1 -1
  203. package/dist/{backend → engine}/contract.d.ts +27 -19
  204. package/dist/engine/contract.d.ts.map +1 -0
  205. package/dist/{backend → engine}/contract.js +18 -18
  206. package/dist/engine/contract.js.map +1 -0
  207. package/dist/{backend → engine}/index.d.ts +141 -79
  208. package/dist/engine/index.d.ts.map +1 -0
  209. package/dist/{backend → engine}/index.js +62 -37
  210. package/dist/engine/index.js.map +1 -0
  211. package/dist/engine/session.d.ts +23 -0
  212. package/dist/engine/session.d.ts.map +1 -0
  213. package/dist/{backend → engine}/session.js +58 -51
  214. package/dist/engine/session.js.map +1 -0
  215. package/dist/{backend → engine}/surface.d.ts +11 -11
  216. package/dist/engine/surface.d.ts.map +1 -0
  217. package/dist/{backend → engine}/surface.js +2 -2
  218. package/dist/engine/surface.js.map +1 -0
  219. package/dist/engine/timing.d.ts.map +1 -0
  220. package/dist/engine/timing.js +8 -0
  221. package/dist/engine/timing.js.map +1 -0
  222. package/dist/expect/async.d.ts +1 -1
  223. package/dist/expect/async.d.ts.map +1 -1
  224. package/dist/expect/async.js +37 -1
  225. package/dist/expect/async.js.map +1 -1
  226. package/dist/expect/index.js +1 -1
  227. package/dist/expect/values.d.ts +1 -1
  228. package/dist/expect/values.d.ts.map +1 -1
  229. package/dist/expect/values.js +1 -1
  230. package/dist/expect/values.js.map +1 -1
  231. package/dist/index.d.ts +3 -5
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +1 -5
  234. package/dist/index.js.map +1 -1
  235. package/dist/internal/brands.d.ts +1 -1
  236. package/dist/internal/brands.d.ts.map +1 -1
  237. package/dist/internal/brands.js +1 -1
  238. package/dist/internal/brands.js.map +1 -1
  239. package/dist/internal/errors.d.ts +37 -19
  240. package/dist/internal/errors.d.ts.map +1 -1
  241. package/dist/internal/errors.js +94 -44
  242. package/dist/internal/errors.js.map +1 -1
  243. package/dist/internal/globs.d.ts +2 -2
  244. package/dist/internal/globs.d.ts.map +1 -1
  245. package/dist/internal/globs.js +2 -2
  246. package/dist/internal/globs.js.map +1 -1
  247. package/dist/internal/ids.d.ts +3 -3
  248. package/dist/internal/ids.d.ts.map +1 -1
  249. package/dist/internal/ids.js +3 -3
  250. package/dist/internal/ids.js.map +1 -1
  251. package/dist/internal/node-version.d.ts +10 -0
  252. package/dist/internal/node-version.d.ts.map +1 -0
  253. package/dist/internal/node-version.js +28 -0
  254. package/dist/internal/node-version.js.map +1 -0
  255. package/dist/internal/objects.d.ts +21 -0
  256. package/dist/internal/objects.d.ts.map +1 -0
  257. package/dist/internal/objects.js +14 -0
  258. package/dist/internal/objects.js.map +1 -0
  259. package/dist/internal/package-manager.d.ts +10 -0
  260. package/dist/internal/package-manager.d.ts.map +1 -0
  261. package/dist/internal/package-manager.js +43 -0
  262. package/dist/internal/package-manager.js.map +1 -0
  263. package/dist/internal/redact.d.ts +1 -1
  264. package/dist/internal/redact.d.ts.map +1 -1
  265. package/dist/internal/redact.js +1 -1
  266. package/dist/internal/redact.js.map +1 -1
  267. package/dist/internal/suggest.d.ts +16 -0
  268. package/dist/internal/suggest.d.ts.map +1 -0
  269. package/dist/internal/suggest.js +61 -0
  270. package/dist/internal/suggest.js.map +1 -0
  271. package/dist/internal/text.d.ts +1 -1
  272. package/dist/internal/text.d.ts.map +1 -1
  273. package/dist/internal/text.js +1 -1
  274. package/dist/internal/text.js.map +1 -1
  275. package/dist/internal/urls.d.ts +3 -3
  276. package/dist/internal/urls.d.ts.map +1 -1
  277. package/dist/internal/urls.js +8 -3
  278. package/dist/internal/urls.js.map +1 -1
  279. package/dist/locator/engine.d.ts +7 -7
  280. package/dist/locator/engine.d.ts.map +1 -1
  281. package/dist/locator/engine.js +14 -14
  282. package/dist/locator/engine.js.map +1 -1
  283. package/dist/locator/expression.d.ts +5 -3
  284. package/dist/locator/expression.d.ts.map +1 -1
  285. package/dist/locator/expression.js +25 -5
  286. package/dist/locator/expression.js.map +1 -1
  287. package/dist/locator/screen.d.ts +1 -1
  288. package/dist/locator/screen.d.ts.map +1 -1
  289. package/dist/locator/screen.js +3 -3
  290. package/dist/locator/screen.js.map +1 -1
  291. package/dist/report/build.d.ts +10 -9
  292. package/dist/report/build.d.ts.map +1 -1
  293. package/dist/report/build.js +25 -22
  294. package/dist/report/build.js.map +1 -1
  295. package/dist/report/code-frame.d.ts +8 -4
  296. package/dist/report/code-frame.d.ts.map +1 -1
  297. package/dist/report/code-frame.js +23 -18
  298. package/dist/report/code-frame.js.map +1 -1
  299. package/dist/report/debug-steps.js +1 -1
  300. package/dist/report/debug-steps.js.map +1 -1
  301. package/dist/report/format.d.ts +73 -0
  302. package/dist/report/format.d.ts.map +1 -0
  303. package/dist/report/format.js +147 -0
  304. package/dist/report/format.js.map +1 -0
  305. package/dist/report/junit.d.ts +1 -1
  306. package/dist/report/junit.d.ts.map +1 -1
  307. package/dist/report/junit.js +1 -1
  308. package/dist/report/junit.js.map +1 -1
  309. package/dist/report/list.d.ts +96 -47
  310. package/dist/report/list.d.ts.map +1 -1
  311. package/dist/report/list.js +489 -244
  312. package/dist/report/list.js.map +1 -1
  313. package/dist/report/live-window.d.ts +28 -0
  314. package/dist/report/live-window.d.ts.map +1 -0
  315. package/dist/report/live-window.js +102 -0
  316. package/dist/report/live-window.js.map +1 -0
  317. package/dist/report/write.d.ts +1 -1
  318. package/dist/report/write.d.ts.map +1 -1
  319. package/dist/report/write.js +1 -1
  320. package/dist/report/write.js.map +1 -1
  321. package/dist/run/budget.d.ts +2 -2
  322. package/dist/run/budget.js +2 -2
  323. package/dist/run/declared-processes.d.ts +30 -0
  324. package/dist/run/declared-processes.d.ts.map +1 -0
  325. package/dist/run/declared-processes.js +61 -0
  326. package/dist/run/declared-processes.js.map +1 -0
  327. package/dist/run/events.d.ts +30 -2
  328. package/dist/run/events.d.ts.map +1 -1
  329. package/dist/run/events.js.map +1 -1
  330. package/dist/run/execute.d.ts +19 -16
  331. package/dist/run/execute.d.ts.map +1 -1
  332. package/dist/run/execute.js +65 -67
  333. package/dist/run/execute.js.map +1 -1
  334. package/dist/run/fixture-recording.d.ts +10 -4
  335. package/dist/run/fixture-recording.d.ts.map +1 -1
  336. package/dist/run/fixture-recording.js +19 -6
  337. package/dist/run/fixture-recording.js.map +1 -1
  338. package/dist/run/fixtures.d.ts +2 -2
  339. package/dist/run/fixtures.d.ts.map +1 -1
  340. package/dist/run/fixtures.js +72 -44
  341. package/dist/run/fixtures.js.map +1 -1
  342. package/dist/run/in-process.d.ts +1 -1
  343. package/dist/run/in-process.js +1 -1
  344. package/dist/run/managed-process.d.ts +46 -9
  345. package/dist/run/managed-process.d.ts.map +1 -1
  346. package/dist/run/managed-process.js +136 -50
  347. package/dist/run/managed-process.js.map +1 -1
  348. package/dist/run/realm.d.ts +2 -2
  349. package/dist/run/realm.js +2 -2
  350. package/dist/run/runner.d.ts +23 -1
  351. package/dist/run/runner.d.ts.map +1 -1
  352. package/dist/run/runner.js +111 -40
  353. package/dist/run/runner.js.map +1 -1
  354. package/dist/run/scheduler.d.ts +5 -5
  355. package/dist/run/scheduler.d.ts.map +1 -1
  356. package/dist/run/scheduler.js +7 -7
  357. package/dist/run/scheduler.js.map +1 -1
  358. package/dist/run/serial.d.ts +10 -2
  359. package/dist/run/serial.d.ts.map +1 -1
  360. package/dist/run/serial.js +5 -3
  361. package/dist/run/serial.js.map +1 -1
  362. package/dist/run/sessions.d.ts +10 -10
  363. package/dist/run/sessions.d.ts.map +1 -1
  364. package/dist/run/sessions.js +11 -11
  365. package/dist/run/sessions.js.map +1 -1
  366. package/dist/run/steps.d.ts +3 -3
  367. package/dist/run/steps.d.ts.map +1 -1
  368. package/dist/run/steps.js +1 -1
  369. package/dist/run/steps.js.map +1 -1
  370. package/dist/run/units.d.ts +1 -1
  371. package/dist/run/units.js +1 -1
  372. package/dist/run/worker/entry.d.ts +1 -1
  373. package/dist/run/worker/entry.js +2 -2
  374. package/dist/run/worker/entry.js.map +1 -1
  375. package/dist/run/worker/protocol.d.ts +18 -6
  376. package/dist/run/worker/protocol.d.ts.map +1 -1
  377. package/dist/run/worker/protocol.js +1 -1
  378. package/dist/run/worker/protocol.js.map +1 -1
  379. package/dist/run/worker/session.d.ts +2 -2
  380. package/dist/run/worker/session.d.ts.map +1 -1
  381. package/dist/run/worker/session.js +5 -3
  382. package/dist/run/worker/session.js.map +1 -1
  383. package/dist/types.d.ts +58 -41
  384. package/dist/types.d.ts.map +1 -1
  385. package/dist/types.js +2 -2
  386. package/package.json +13 -12
  387. package/skills/e2e/SKILL.md +110 -0
  388. package/skills/e2e/references/agent.md +210 -0
  389. package/skills/e2e/references/debugging.md +81 -0
  390. package/skills/e2e/references/running.md +153 -0
  391. package/skills/e2e/references/setup.md +238 -0
  392. package/skills/e2e/references/writing-tests.md +289 -0
  393. package/dist/backend/contract.d.ts.map +0 -1
  394. package/dist/backend/contract.js.map +0 -1
  395. package/dist/backend/index.d.ts.map +0 -1
  396. package/dist/backend/index.js.map +0 -1
  397. package/dist/backend/session.d.ts +0 -23
  398. package/dist/backend/session.d.ts.map +0 -1
  399. package/dist/backend/session.js.map +0 -1
  400. package/dist/backend/surface.d.ts.map +0 -1
  401. package/dist/backend/surface.js.map +0 -1
  402. package/dist/backend/timing.d.ts.map +0 -1
  403. package/dist/backend/timing.js +0 -8
  404. package/dist/backend/timing.js.map +0 -1
  405. package/dist/cli/init/backends.d.ts.map +0 -1
  406. package/dist/cli/init/backends.js.map +0 -1
  407. package/dist/report/live-status.d.ts +0 -51
  408. package/dist/report/live-status.d.ts.map +0 -1
  409. package/dist/report/live-status.js +0 -163
  410. package/dist/report/live-status.js.map +0 -1
  411. package/dist/run/fixture-legacy.d.ts +0 -36
  412. package/dist/run/fixture-legacy.d.ts.map +0 -1
  413. package/dist/run/fixture-legacy.js +0 -143
  414. package/dist/run/fixture-legacy.js.map +0 -1
  415. /package/dist/{backend → engine}/timing.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- /** Config validation, defaults, and resolution (spec 05-config.md). */
1
+ /** Config validation, defaults, and resolution. */
2
2
  import type { ArtifactStore, CacheMode, E2EConfig, Platform, SecretProvider, TraceCacheStore } from '../types.ts';
3
- import { type BackendHandle } from '../backend/index.ts';
3
+ import { type EngineHandle } from '../engine/index.ts';
4
4
  import { type ResolvedAgentConfig, type ResolvedLimits } from './agent.ts';
5
5
  import { type ResolvedApp } from './app.ts';
6
6
  export type { ResolvedAgentConfig, ResolvedLimits } from './agent.ts';
@@ -9,8 +9,10 @@ export interface ResolvedTarget {
9
9
  readonly name: string;
10
10
  readonly index: number;
11
11
  readonly platform: Platform;
12
- /** Validated backend; undefined for an agent-tools-only target. */
13
- readonly backend: BackendHandle | undefined;
12
+ /** Validated engine; undefined for an agent-tools-only target. */
13
+ readonly engine: EngineHandle | undefined;
14
+ /** The app under test, resolved from the engine's declaration. */
15
+ readonly app: ResolvedApp;
14
16
  }
15
17
  export interface ResolvedCredential {
16
18
  readonly name: string;
@@ -25,7 +27,6 @@ export interface ResolvedConfig {
25
27
  readonly projectRoot: string;
26
28
  readonly configPath: string | undefined;
27
29
  readonly ci: boolean;
28
- readonly app: ResolvedApp;
29
30
  readonly targets: readonly ResolvedTarget[];
30
31
  readonly tests: readonly string[];
31
32
  readonly timeout: number;
@@ -36,7 +37,7 @@ export interface ResolvedConfig {
36
37
  readonly retries: number;
37
38
  readonly workers: number;
38
39
  readonly artifacts: readonly ('trace' | 'screenshot')[];
39
- /** True when artifact kinds were set in config, so a backend that cannot produce one is an error. */
40
+ /** True when artifact kinds were set in config, so an engine that cannot produce one is an error. */
40
41
  readonly artifactsExplicit: boolean;
41
42
  /** Host store every produced artifact is handed to; undefined keeps files local only. */
42
43
  readonly artifactStore: ArtifactStore | undefined;
@@ -72,7 +73,7 @@ export interface CliOverrides {
72
73
  /** Trace cache mode override; `--no-cache` maps to `'off'`. */
73
74
  cache?: CacheMode;
74
75
  }
75
- /** True when CI mode is active per 05-config.md. */
76
+ /** True when CI mode is active. */
76
77
  export declare function isCiMode(env?: NodeJS.ProcessEnv): boolean;
77
78
  /** Resolves a raw config object plus environment into an immutable resolved config. */
78
79
  export declare function resolveConfig(raw: E2EConfig, options: {
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
- /** Config validation, defaults, and resolution (spec 05-config.md). */
1
+ /** Config validation, defaults, and resolution. */
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import { ConfigurationError } from '../internal/errors.js';
6
6
  import { canonicalDigest, sha256Hex } from '../internal/ids.js';
7
+ import { didYouMean } from '../internal/suggest.js';
7
8
  import { isStepExecutor } from '../agent/executor.js';
8
9
  import { boundedInt, positiveInt } from './validate.js';
9
- import { isBackendHandle } from '../backend/index.js';
10
+ import { isEngineHandle } from '../engine/index.js';
10
11
  import { isModelInstance, resolveAgentConfig, resolveLimits, } from './agent.js';
11
- import { digestApp, resolveApp } from './app.js';
12
+ import { digestAppDeclaration, resolveTargetApp } from './app.js';
12
13
  const TARGET_NAME_PATTERN = /^[A-Za-z0-9_.-]+$/;
13
- const TARGET_KEYS = new Set(['name', 'platform', 'backend']);
14
+ const TARGET_KEYS = new Set(['name', 'platform', 'engine']);
14
15
  const TOP_LEVEL_KEYS = new Set([
15
16
  'specVersion',
16
17
  'projectId',
17
- 'app',
18
18
  'targets',
19
19
  'tests',
20
20
  'timeout',
@@ -34,7 +34,37 @@ const TOP_LEVEL_KEYS = new Set([
34
34
  ]);
35
35
  const CACHE_KEYS = new Set(['mode', 'store', 'dir']);
36
36
  const CACHE_MODES = new Set(['off', 'read-only', 'read-write']);
37
- /** True when CI mode is active per 05-config.md. */
37
+ const APP_BELONGS_TO_ENGINE = 'the app under test is declared by the engine: engine: playwright({ url }) for a browser, agentDevice({ platform, app }) for a device';
38
+ /** Keys from other runners' configs, each mapped to where that fact lives here. */
39
+ const FOREIGN_TOP_LEVEL_KEYS = {
40
+ testDir: 'test files are selected by tests, a glob such as "tests/**/*.e2e.ts"',
41
+ testMatch: 'test files are selected by tests, a glob such as "tests/**/*.e2e.ts"',
42
+ app: APP_BELONGS_TO_ENGINE,
43
+ url: APP_BELONGS_TO_ENGINE,
44
+ baseURL: APP_BELONGS_TO_ENGINE,
45
+ baseUrl: APP_BELONGS_TO_ENGINE,
46
+ webServer: 'the runner starts the app from the engine options: playwright({ url, command: { executable, args } })',
47
+ use: 'browser and app options are engine options: engine: playwright({ ... })',
48
+ projects: 'one target per browser or device: targets: [{ name, platform, engine }]',
49
+ };
50
+ /** Keys authors put on a target that belong to its engine. */
51
+ const FOREIGN_TARGET_KEYS = new Set([
52
+ 'app',
53
+ 'url',
54
+ 'baseURL',
55
+ 'baseUrl',
56
+ 'command',
57
+ 'appPath',
58
+ 'bundleId',
59
+ 'browser',
60
+ 'device',
61
+ ]);
62
+ /** `; did you mean "targets"?` or a pointer to where a foreign key's fact lives. */
63
+ function unknownTopLevelKeyHint(key) {
64
+ const foreign = FOREIGN_TOP_LEVEL_KEYS[key];
65
+ return foreign === undefined ? didYouMean(key, [...TOP_LEVEL_KEYS]) : `; ${foreign}`;
66
+ }
67
+ /** True when CI mode is active. */
38
68
  export function isCiMode(env = process.env) {
39
69
  const raw = env['CI'];
40
70
  if (raw === undefined)
@@ -52,20 +82,19 @@ export function resolveConfig(raw, options) {
52
82
  }
53
83
  for (const key of Object.keys(raw)) {
54
84
  if (!TOP_LEVEL_KEYS.has(key)) {
55
- throw new ConfigurationError('INVALID_CONFIG', `unknown config key "${key}"`);
85
+ throw new ConfigurationError('INVALID_CONFIG', `unknown config key "${key}"${unknownTopLevelKeyHint(key)}`);
56
86
  }
57
87
  }
58
88
  if (raw.specVersion !== undefined && raw.specVersion !== '0.1') {
59
89
  throw new ConfigurationError('INVALID_CONFIG', `unsupported specVersion ${JSON.stringify(raw.specVersion)}; this runner implements 0.1`);
60
90
  }
61
- const targets = resolveTargets(raw);
62
- const app = resolveApp(raw, env);
91
+ const targets = resolveTargets(raw, options.projectRoot);
63
92
  const tests = normalizeTests(raw.tests);
64
- const timeout = positiveInt(raw.timeout, 'timeout') ?? 120_000;
65
- const launchTimeout = positiveInt(raw.launchTimeout, 'launchTimeout') ?? 60_000;
66
- const actionTimeout = positiveInt(raw.actionTimeout, 'actionTimeout') ?? 30_000;
67
- const assertionTimeout = positiveInt(raw.assertionTimeout, 'assertionTimeout') ?? 5_000;
68
- const cleanupTimeout = positiveInt(raw.cleanupTimeout, 'cleanupTimeout') ?? 30_000;
93
+ const timeout = positiveInt(raw.timeout, 'timeout', 'milliseconds') ?? 120_000;
94
+ const launchTimeout = positiveInt(raw.launchTimeout, 'launchTimeout', 'milliseconds') ?? 60_000;
95
+ const actionTimeout = positiveInt(raw.actionTimeout, 'actionTimeout', 'milliseconds') ?? 30_000;
96
+ const assertionTimeout = positiveInt(raw.assertionTimeout, 'assertionTimeout', 'milliseconds') ?? 5_000;
97
+ const cleanupTimeout = positiveInt(raw.cleanupTimeout, 'cleanupTimeout', 'milliseconds') ?? 30_000;
69
98
  // CLI overrides obey the same bounds as the config keys they replace: a
70
99
  // `--workers 0` would otherwise plan work no worker can ever take.
71
100
  const retries = boundedInt(cli.retries, '--retries', 0, 10) ??
@@ -81,7 +110,7 @@ export function resolveConfig(raw, options) {
81
110
  }
82
111
  for (const reporter of reporters) {
83
112
  if (!['list', 'json', 'junit'].includes(reporter)) {
84
- throw new ConfigurationError('INVALID_CONFIG', `unknown reporter "${reporter}"`);
113
+ throw new ConfigurationError('INVALID_CONFIG', `unknown reporter "${reporter}"; reporters are list, json, and junit${didYouMean(reporter, ['list', 'json', 'junit'])}`);
85
114
  }
86
115
  }
87
116
  if (reporters.includes('json') && reporters.includes('list')) {
@@ -102,7 +131,6 @@ export function resolveConfig(raw, options) {
102
131
  projectRoot: options.projectRoot,
103
132
  configPath: options.configPath,
104
133
  ci,
105
- app,
106
134
  targets,
107
135
  tests,
108
136
  timeout,
@@ -131,7 +159,7 @@ export function resolveConfig(raw, options) {
131
159
  * `cache: 'off'` or `--no-cache` (which wins over the config) turns it off.
132
160
  * CI demotes the *defaulted* mode from `read-write` to `read-only`: a
133
161
  * committed cache is untrusted input, and a CI run never publishes what it
134
- * learned unless the project says so (spec 10-determinism.md). An explicit
162
+ * learned unless the project says so. An explicit
135
163
  * `read-write` in the config is that statement of trust and is honored as
136
164
  * written, as is a host-supplied `cache.store`, which states its own trust
137
165
  * through the store's `writable` flag.
@@ -153,7 +181,7 @@ function resolveCacheConfig(raw, ci, projectRoot, cliMode) {
153
181
  }
154
182
  for (const key of Object.keys(value)) {
155
183
  if (!CACHE_KEYS.has(key)) {
156
- throw new ConfigurationError('INVALID_CONFIG', `unknown cache config key "${key}"`);
184
+ throw new ConfigurationError('INVALID_CONFIG', `unknown cache config key "${key}"${didYouMean(key, [...CACHE_KEYS])}`);
157
185
  }
158
186
  }
159
187
  mode = value.mode ?? 'read-write';
@@ -187,7 +215,7 @@ const ARTIFACTS_KEYS = new Set(['kinds', 'store']);
187
215
  /**
188
216
  * Resolves the `artifacts` key: a bare array of kinds, or `{ kinds, store }`
189
217
  * where `store` is the host seam every produced artifact is handed to
190
- * (spec 13-reporting.md). Kinds default to screenshot and trace; a store is a
218
+ *. Kinds default to screenshot and trace; a store is a
191
219
  * live value validated structurally, like `cache.store`.
192
220
  */
193
221
  function resolveArtifactsConfig(raw) {
@@ -200,7 +228,7 @@ function resolveArtifactsConfig(raw) {
200
228
  }
201
229
  for (const key of Object.keys(value)) {
202
230
  if (!ARTIFACTS_KEYS.has(key)) {
203
- throw new ConfigurationError('INVALID_CONFIG', `unknown artifacts config key "${key}"`);
231
+ throw new ConfigurationError('INVALID_CONFIG', `unknown artifacts config key "${key}"${didYouMean(key, [...ARTIFACTS_KEYS])}`);
204
232
  }
205
233
  }
206
234
  kinds = value.kinds;
@@ -243,10 +271,10 @@ function isTraceCacheStore(value) {
243
271
  typeof candidate['read'] === 'function' &&
244
272
  typeof candidate['write'] === 'function');
245
273
  }
246
- function resolveTargets(raw) {
274
+ function resolveTargets(raw, projectRoot) {
247
275
  if (raw.targets === undefined) {
248
- throw new ConfigurationError('INVALID_CONFIG', 'targets is required: declare at least one target and the backend that drives it, ' +
249
- 'e.g. targets: [{ name, platform, backend }]');
276
+ throw new ConfigurationError('INVALID_CONFIG', 'targets is required: declare at least one target and the engine that drives it, ' +
277
+ 'e.g. targets: [{ name, platform, engine }]');
250
278
  }
251
279
  if (!Array.isArray(raw.targets) || raw.targets.length === 0) {
252
280
  throw new ConfigurationError('INVALID_CONFIG', 'targets must be a non-empty array');
@@ -262,20 +290,25 @@ function resolveTargets(raw) {
262
290
  seen.add(target.name);
263
291
  for (const key of Object.keys(target)) {
264
292
  if (!TARGET_KEYS.has(key)) {
265
- throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" has unknown key "${key}"; a target is { name, platform, backend? }`);
293
+ const hint = FOREIGN_TARGET_KEYS.has(key)
294
+ ? `; ${APP_BELONGS_TO_ENGINE}`
295
+ : didYouMean(key, [...TARGET_KEYS]);
296
+ throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" has unknown key "${key}"; a target is { name, platform, engine? }${hint}`);
266
297
  }
267
298
  }
268
299
  if (typeof target.platform !== 'string' || target.platform.trim() === '') {
269
300
  throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" requires a non-empty platform`);
270
301
  }
271
- if (target.backend !== undefined && !isBackendHandle(target.backend)) {
272
- throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" backend must be a defineBackend(...) handle`);
302
+ if (target.engine !== undefined && !isEngineHandle(target.engine)) {
303
+ const got = typeof target.engine === 'string' ? `the string ${JSON.stringify(target.engine)}` : `a ${typeof target.engine}`;
304
+ throw new ConfigurationError('INVALID_CONFIG', `target "${target.name}" engine must be an engine handle, got ${got}; call the engine's factory: playwright({ url }) from @e2edev/playwright, agentDevice({ platform, app }) from @e2edev/agent-device, or your own defineEngine(...)`);
273
305
  }
274
306
  return {
275
307
  name: target.name,
276
308
  index,
277
309
  platform: target.platform,
278
- backend: target.backend,
310
+ engine: target.engine,
311
+ app: resolveTargetApp(target.name, target.engine, projectRoot),
279
312
  };
280
313
  });
281
314
  }
@@ -328,8 +361,8 @@ function resolveCredentials(raw, env) {
328
361
  }
329
362
  /**
330
363
  * SHA-256/JCS digest of resolved config after replacing credential material
331
- * with `{ secretName }` and env values with `{ envName }` (13-reporting.md).
332
- * Live objects (backend handles, model instances) are replaced by their stable
364
+ * with `{ secretName }` and env values with `{ envName }`.
365
+ * Live objects (engine handles, model instances) are replaced by their stable
333
366
  * identity before the JSON clone, so they never enter the digest and cannot
334
367
  * make it nondeterministic across processes.
335
368
  */
@@ -346,11 +379,9 @@ function computeConfigDigest(raw, projectId) {
346
379
  // which is exactly what survives the function-stripping JSON clone below.
347
380
  // Every model slot is reduced to its identity: a live instance carries
348
381
  // provider settings (and possibly credentials) that must never be digested.
349
- // `app` is digested with every command env reduced to names.
350
382
  const rawAgent = raw.agent;
351
383
  const forClone = {
352
384
  ...raw,
353
- ...(raw.app === undefined ? {} : { app: digestApp(raw.app) }),
354
385
  ...(rawAgent === undefined || isStepExecutor(rawAgent)
355
386
  ? {}
356
387
  : {
@@ -387,17 +418,19 @@ function computeConfigDigest(raw, projectId) {
387
418
  }
388
419
  if (raw.targets !== undefined) {
389
420
  sanitized['targets'] = raw.targets.map((target) => {
390
- // A backend handle holds live functions; its digest identity is the
391
- // declaration - name, version, contract version, and capability set.
392
- if (isBackendHandle(target.backend)) {
393
- const { backend, ...rest } = target;
421
+ // An engine handle holds live functions; its digest identity is the
422
+ // declaration - name, version, contract version, capability set, and
423
+ // what it declares about the app under test.
424
+ if (isEngineHandle(target.engine)) {
425
+ const { engine, ...rest } = target;
394
426
  return {
395
427
  ...rest,
396
- backend: {
397
- name: backend.name,
398
- ...(backend.version === undefined ? {} : { version: backend.version }),
399
- spiVersion: backend.spiVersion,
400
- capabilities: [...backend.capabilities].toSorted(),
428
+ engine: {
429
+ name: engine.name,
430
+ ...(engine.version === undefined ? {} : { version: engine.version }),
431
+ spiVersion: engine.spiVersion,
432
+ capabilities: [...engine.capabilities].toSorted(),
433
+ app: digestAppDeclaration(engine.app ?? {}),
401
434
  },
402
435
  };
403
436
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../src/config/resolve.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  /** Scalar validators shared by the config resolvers; one message per rule. */
2
- /** A positive safe integer, or undefined when the value is absent. */
3
- export declare function positiveInt(value: number | undefined, label: string): number | undefined;
2
+ /**
3
+ * A positive safe integer, or undefined when the value is absent. Durations
4
+ * name their unit, because `'30s'` and `30` are the two ways this key is
5
+ * usually written wrong.
6
+ */
7
+ export declare function positiveInt(value: number | undefined, label: string, unit?: 'milliseconds'): number | undefined;
4
8
  /** A safe integer within [min, max], or undefined when the value is absent. */
5
9
  export declare function boundedInt(value: number | undefined, label: string, min: number, max: number): number | undefined;
6
10
  /** An absolute http(s) URL, or undefined when the value is absent. */
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/config/validate.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAI9E,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxF;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CASpB;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYpF"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/config/validate.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAI9E;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,cAAc,GACpB,MAAM,GAAG,SAAS,CAUpB;AAWD,+EAA+E;AAC/E,wBAAgB,UAAU,CACxB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,MAAM,GAAG,SAAS,CASpB;AAED,sEAAsE;AACtE,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAYpF"}
@@ -1,14 +1,31 @@
1
1
  /** Scalar validators shared by the config resolvers; one message per rule. */
2
2
  import { ConfigurationError } from '../internal/errors.js';
3
- /** A positive safe integer, or undefined when the value is absent. */
4
- export function positiveInt(value, label) {
3
+ /**
4
+ * A positive safe integer, or undefined when the value is absent. Durations
5
+ * name their unit, because `'30s'` and `30` are the two ways this key is
6
+ * usually written wrong.
7
+ */
8
+ export function positiveInt(value, label, unit) {
5
9
  if (value === undefined)
6
10
  return undefined;
7
11
  if (!Number.isSafeInteger(value) || value <= 0) {
8
- throw new ConfigurationError('INVALID_CONFIG', `${label} must be a positive safe integer`);
12
+ const expected = unit === undefined ? 'a positive safe integer' : `a positive safe integer of ${unit}`;
13
+ throw new ConfigurationError('INVALID_CONFIG', `${label} must be ${expected}, got ${describeValue(value)}`);
9
14
  }
10
15
  return value;
11
16
  }
17
+ /** A value as the author wrote it, for messages that quote the offending input. */
18
+ function describeValue(value) {
19
+ if (typeof value === 'string')
20
+ return JSON.stringify(value);
21
+ if (typeof value === 'number' || typeof value === 'boolean' || value === null)
22
+ return String(value);
23
+ if (Array.isArray(value))
24
+ return 'an array';
25
+ if (typeof value === 'function')
26
+ return 'a function';
27
+ return `a ${typeof value}`;
28
+ }
12
29
  /** A safe integer within [min, max], or undefined when the value is absent. */
13
30
  export function boundedInt(value, label, min, max) {
14
31
  if (value === undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/config/validate.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,KAAyB,EAAE,KAAa;IAClE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,KAAK,kCAAkC,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CACxB,KAAyB,EACzB,KAAa,EACb,GAAW,EACX,GAAW;IAEX,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,GAAG,KAAK,4BAA4B,GAAG,YAAY,GAAG,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,OAAO,CAAC,KAAyB,EAAE,KAAa;IAC9D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,MAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,KAAK,yBAAyB,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/config/validate.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAE9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,KAAyB,EACzB,KAAa,EACb,IAAqB;IAErB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,8BAA8B,IAAI,EAAE,CAAC;QACvG,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,GAAG,KAAK,YAAY,QAAQ,SAAS,aAAa,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,mFAAmF;AACnF,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACpG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,UAAU;QAAE,OAAO,YAAY,CAAC;IACrD,OAAO,KAAK,OAAO,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,UAAU,CACxB,KAAyB,EACzB,KAAa,EACb,GAAW,EACX,GAAW;IAEX,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC/D,MAAM,IAAI,kBAAkB,CAC1B,gBAAgB,EAChB,GAAG,KAAK,4BAA4B,GAAG,YAAY,GAAG,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,OAAO,CAAC,KAAyB,EAAE,KAAa;IAC9D,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,MAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC1F,MAAM,IAAI,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,KAAK,yBAAyB,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,4 +1,4 @@
1
- /** Opaque credential handles (spec 02-test-api.md, 14-security.md). */
1
+ /** Opaque credential handles. */
2
2
  import type { ResolvedCredential } from './config/resolve.ts';
3
3
  import type { Credentials } from './types.ts';
4
4
  /** Installed by the runner once config resolution completes. */
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAKvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAc,WAAW,EAAU,MAAM,YAAY,CAAC;AAKlE,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,GAAG,IAAI,CAGpG;AAcD,eAAO,MAAM,WAAW,EAAE,WAuBzB,CAAC"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAKjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAc,WAAW,EAAU,MAAM,YAAY,CAAC;AAKlE,gEAAgE;AAChE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,GAAG,SAAS,GAAG,IAAI,CAGpG;AAcD,eAAO,MAAM,WAAW,EAAE,WAuBzB,CAAC"}
@@ -1,4 +1,4 @@
1
- /** Opaque credential handles (spec 02-test-api.md, 14-security.md). */
1
+ /** Opaque credential handles. */
2
2
  import { credentialBrand, secretBrand } from './internal/brands.js';
3
3
  import { ConfigurationError } from './internal/errors.js';
4
4
  import { realmSlot } from './internal/realm-slot.js';
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAEvE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAIrD,oFAAoF;AACpF,MAAM,eAAe,GAAG,SAAS,CAA0C,oBAAoB,CAAC,CAAC;AAEjG,gEAAgE;AAChE,MAAM,UAAU,qBAAqB,CAAC,GAAwD;IAC5F,IAAI,GAAG,KAAK,SAAS;QAAE,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;;QACrD,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,OAAO,EAAE,UAAmB;QAC5B,CAAC,WAAW,CAAC,EAAE,IAAa;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,CAAC,IAAY;QACf,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAC1B,6BAA6B,EAC7B,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAC1B,6BAA6B,EAC7B,eAAe,IAAI,2EAA2E,CAC/F,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI;YACJ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;YAC1B,CAAC,eAAe,CAAC,EAAE,IAAa;SACjC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,iCAAiC;AAEjC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAIrD,oFAAoF;AACpF,MAAM,eAAe,GAAG,SAAS,CAA0C,oBAAoB,CAAC,CAAC;AAEjG,gEAAgE;AAChE,MAAM,UAAU,qBAAqB,CAAC,GAAwD;IAC5F,IAAI,GAAG,KAAK,SAAS;QAAE,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;;QACrD,eAAe,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI;QACJ,OAAO,EAAE,UAAmB;QAC5B,CAAC,WAAW,CAAC,EAAE,IAAa;KAC7B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,CAAC,IAAY;QACf,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAC1B,6BAA6B,EAC7B,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAC1B,6BAA6B,EAC7B,eAAe,IAAI,2EAA2E,CAC/F,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI;YACJ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;YAC1B,CAAC,eAAe,CAAC,EAAE,IAAa;SACjC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * The backend contract vocabulary (RFC0002): the platform-neutral types every
3
- * backend speaks and the harness consumes. A backend imports these from
4
- * `@e2edev/e2e/backend`; core never imports anything from a backend.
2
+ * The engine contract vocabulary: the platform-neutral types every
3
+ * engine speaks and the harness consumes. An engine imports these from
4
+ * `@e2edev/e2e/engine`; core never imports anything from an engine.
5
5
  *
6
6
  * Everything here is capability vocabulary - semantic nodes, locator
7
7
  * expressions, action kinds, the error contract - never a platform noun. A
@@ -10,9 +10,9 @@
10
10
  * on all of them.
11
11
  */
12
12
  import type { Momentum, ScrollDirection, SelectOption } from '../types.ts';
13
- /** The backend contract version this runner speaks. */
14
- export declare const BACKEND_SPI_VERSION = 1;
15
- export type BackendSpiVersion = typeof BACKEND_SPI_VERSION;
13
+ /** The engine contract version this runner speaks. */
14
+ export declare const ENGINE_SPI_VERSION = 1;
15
+ export type EngineSpiVersion = typeof ENGINE_SPI_VERSION;
16
16
  export interface OperationContext {
17
17
  readonly signal: AbortSignal;
18
18
  /** Remaining operation budget when the call starts. */
@@ -35,6 +35,14 @@ export interface SemanticQuery {
35
35
  readonly value: TextPattern;
36
36
  readonly name?: TextPattern;
37
37
  readonly states?: Readonly<Partial<Record<'checked' | 'disabled' | 'selected' | 'expanded' | 'hidden', boolean>>>;
38
+ /**
39
+ * When true, an engine MUST exclude every match whose `states.hidden` would
40
+ * be true, using the same predicate its `SemanticNode` reports, so that the
41
+ * query set the harness counts is the set `toBeVisible()` would accept. The
42
+ * predicate applies wherever the query sits in an expression: under a
43
+ * scope, inside a filter, or before an index.
44
+ */
45
+ readonly visible?: boolean;
38
46
  }
39
47
  /**
40
48
  * The location capability's query language. `selector` is a platform-native
@@ -67,7 +75,7 @@ export interface NodeRef {
67
75
  readonly revision: string;
68
76
  }
69
77
  /**
70
- * Per-field bounds a backend applies to observation-tree nodes. A `name` or
78
+ * Per-field bounds an engine applies to observation-tree nodes. A `name` or
71
79
  * `text` whose length reaches its limit was cut at exactly that limit, so
72
80
  * "length >= limit" is a precise truncation signal; every shorter value is
73
81
  * complete. Single-node reads are unbounded and always carry the full value.
@@ -99,7 +107,7 @@ export interface SemanticNode {
99
107
  * It SHOULD be anchored on an attribute naming the node or one of its
100
108
  * ancestors, and SHOULD be absent rather than positional all the way to the
101
109
  * document root: such a path is shifted by anything inserted above the node,
102
- * so it does not survive to the later run it exists for (10-determinism.md).
110
+ * so it does not survive to the later run it exists for.
103
111
  */
104
112
  readonly selector?: string;
105
113
  /**
@@ -160,25 +168,25 @@ export type LocatorAction = {
160
168
  readonly direction: ScrollDirection;
161
169
  readonly momentum?: Momentum;
162
170
  };
163
- /** The closed backend error code set; the type is derived from it, so the two cannot drift. */
164
- export declare const BACKEND_ERROR_CODES: readonly ['NODE_STALE', 'FRAME_NOT_FOUND', 'FRAME_AMBIGUOUS', 'NOT_ACTIONABLE', 'ACTION_MAY_HAVE_COMMITTED', 'OPERATION_TIMEOUT', 'CANCELLED', 'UNSUPPORTED_CAPABILITY', 'INVALID_STATE', 'BACKEND_FAILURE'];
165
- export type BackendErrorCode = (typeof BACKEND_ERROR_CODES)[number];
171
+ /** The closed engine error code set; the type is derived from it, so the two cannot drift. */
172
+ export declare const ENGINE_ERROR_CODES: readonly ['NODE_STALE', 'FRAME_NOT_FOUND', 'FRAME_AMBIGUOUS', 'NOT_ACTIONABLE', 'ACTION_MAY_HAVE_COMMITTED', 'OPERATION_TIMEOUT', 'CANCELLED', 'UNSUPPORTED_CAPABILITY', 'INVALID_STATE', 'ENGINE_FAILURE'];
173
+ export type EngineErrorCode = (typeof ENGINE_ERROR_CODES)[number];
166
174
  /**
167
175
  * The only codes that may be retryable: both describe a repeatable read. Any
168
176
  * other retryable claim, from this module's class or a foreign copy of it, is
169
- * coerced to a non-retryable `BACKEND_FAILURE`.
177
+ * coerced to a non-retryable `ENGINE_FAILURE`.
170
178
  */
171
- export declare const RETRYABLE_BACKEND_ERROR_CODES: ReadonlySet<BackendErrorCode>;
179
+ export declare const RETRYABLE_ENGINE_ERROR_CODES: ReadonlySet<EngineErrorCode>;
172
180
  /**
173
- * The error contract a backend throws across the seam. Retryability is closed
174
- * to `RETRYABLE_BACKEND_ERROR_CODES`; any other retryable claim is coerced to
175
- * a non-retryable `BACKEND_FAILURE` so a backend can never talk the harness
181
+ * The error contract an engine throws across the seam. Retryability is closed
182
+ * to `RETRYABLE_ENGINE_ERROR_CODES`; any other retryable claim is coerced to
183
+ * a non-retryable `ENGINE_FAILURE` so an engine can never talk the harness
176
184
  * into repeating an action that may have committed.
177
185
  */
178
- export declare class BackendError extends Error {
179
- readonly code: BackendErrorCode;
186
+ export declare class EngineError extends Error {
187
+ readonly code: EngineErrorCode;
180
188
  readonly retryable: boolean;
181
- constructor(code: BackendErrorCode, message: string, options: {
189
+ constructor(code: EngineErrorCode, message: string, options: {
182
190
  retryable: boolean;
183
191
  cause?: unknown;
184
192
  });
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../../src/engine/contract.ts"],"names":[],"mappings":"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"}