@e2edev/e2e 0.9.0 → 0.11.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 (230) hide show
  1. package/README.md +12 -6
  2. package/dist/agent/act-validation.d.ts +2 -0
  3. package/dist/agent/act-validation.d.ts.map +1 -1
  4. package/dist/agent/act-validation.js +2 -2
  5. package/dist/agent/act-validation.js.map +1 -1
  6. package/dist/agent/act.d.ts +1 -0
  7. package/dist/agent/act.d.ts.map +1 -1
  8. package/dist/agent/act.js +41 -18
  9. package/dist/agent/act.js.map +1 -1
  10. package/dist/agent/ai-sdk.d.ts +2 -2
  11. package/dist/agent/ai-sdk.d.ts.map +1 -1
  12. package/dist/agent/ai-sdk.js +3 -4
  13. package/dist/agent/ai-sdk.js.map +1 -1
  14. package/dist/agent/default-agent.d.ts +17 -2
  15. package/dist/agent/default-agent.d.ts.map +1 -1
  16. package/dist/agent/default-agent.js +17 -3
  17. package/dist/agent/default-agent.js.map +1 -1
  18. package/dist/agent/error.d.ts.map +1 -1
  19. package/dist/agent/error.js +1 -0
  20. package/dist/agent/error.js.map +1 -1
  21. package/dist/agent/executor.d.ts +13 -0
  22. package/dist/agent/executor.d.ts.map +1 -1
  23. package/dist/agent/executor.js.map +1 -1
  24. package/dist/agent/index.d.ts.map +1 -1
  25. package/dist/agent/index.js +17 -12
  26. package/dist/agent/index.js.map +1 -1
  27. package/dist/agent/invocation.d.ts +26 -6
  28. package/dist/agent/invocation.d.ts.map +1 -1
  29. package/dist/agent/invocation.js +9 -6
  30. package/dist/agent/invocation.js.map +1 -1
  31. package/dist/agent/model/adapter.d.ts +3 -0
  32. package/dist/agent/model/adapter.d.ts.map +1 -1
  33. package/dist/agent/model/adapter.js.map +1 -1
  34. package/dist/agent/model/overflow.d.ts +20 -0
  35. package/dist/agent/model/overflow.d.ts.map +1 -0
  36. package/dist/agent/model/overflow.js +82 -0
  37. package/dist/agent/model/overflow.js.map +1 -0
  38. package/dist/agent/model/prompt-cache.d.ts +47 -0
  39. package/dist/agent/model/prompt-cache.d.ts.map +1 -0
  40. package/dist/agent/model/prompt-cache.js +78 -0
  41. package/dist/agent/model/prompt-cache.js.map +1 -0
  42. package/dist/agent/model/sdk.d.ts +41 -24
  43. package/dist/agent/model/sdk.d.ts.map +1 -1
  44. package/dist/agent/model/sdk.js +64 -91
  45. package/dist/agent/model/sdk.js.map +1 -1
  46. package/dist/agent/primitives.d.ts.map +1 -1
  47. package/dist/agent/primitives.js +2 -1
  48. package/dist/agent/primitives.js.map +1 -1
  49. package/dist/agent/public.d.ts +1 -1
  50. package/dist/agent/public.d.ts.map +1 -1
  51. package/dist/agent/public.js.map +1 -1
  52. package/dist/agent/screen-update.d.ts +8 -3
  53. package/dist/agent/screen-update.d.ts.map +1 -1
  54. package/dist/agent/screen-update.js +18 -5
  55. package/dist/agent/screen-update.js.map +1 -1
  56. package/dist/agent/tool-loop.d.ts.map +1 -1
  57. package/dist/agent/tool-loop.js +149 -33
  58. package/dist/agent/tool-loop.js.map +1 -1
  59. package/dist/agent/tool-output.d.ts +31 -0
  60. package/dist/agent/tool-output.d.ts.map +1 -0
  61. package/dist/agent/tool-output.js +60 -0
  62. package/dist/agent/tool-output.js.map +1 -0
  63. package/dist/agent/tool.d.ts +9 -3
  64. package/dist/agent/tool.d.ts.map +1 -1
  65. package/dist/agent/tool.js +2 -2
  66. package/dist/agent/tool.js.map +1 -1
  67. package/dist/agent/usage.d.ts +7 -0
  68. package/dist/agent/usage.d.ts.map +1 -1
  69. package/dist/agent/usage.js +11 -0
  70. package/dist/agent/usage.js.map +1 -1
  71. package/dist/cli/index.d.ts.map +1 -1
  72. package/dist/cli/index.js +121 -33
  73. package/dist/cli/index.js.map +1 -1
  74. package/dist/cli/init/engine-versions.json +1 -0
  75. package/dist/cli/init/engines.d.ts +13 -8
  76. package/dist/cli/init/engines.d.ts.map +1 -1
  77. package/dist/cli/init/engines.js +26 -7
  78. package/dist/cli/init/engines.js.map +1 -1
  79. package/dist/cli/init/gateways.d.ts +22 -0
  80. package/dist/cli/init/gateways.d.ts.map +1 -0
  81. package/dist/cli/init/gateways.js +50 -0
  82. package/dist/cli/init/gateways.js.map +1 -0
  83. package/dist/cli/init/scaffold.d.ts +7 -1
  84. package/dist/cli/init/scaffold.d.ts.map +1 -1
  85. package/dist/cli/init/scaffold.js +26 -13
  86. package/dist/cli/init/scaffold.js.map +1 -1
  87. package/dist/cli/init.d.ts.map +1 -1
  88. package/dist/cli/init.js +51 -13
  89. package/dist/cli/init.js.map +1 -1
  90. package/dist/collect/collect.d.ts +7 -0
  91. package/dist/collect/collect.d.ts.map +1 -1
  92. package/dist/collect/collect.js +16 -0
  93. package/dist/collect/collect.js.map +1 -1
  94. package/dist/collect/registry.d.ts.map +1 -1
  95. package/dist/collect/registry.js +13 -4
  96. package/dist/collect/registry.js.map +1 -1
  97. package/dist/collect/select.d.ts +2 -0
  98. package/dist/collect/select.d.ts.map +1 -1
  99. package/dist/collect/select.js +9 -0
  100. package/dist/collect/select.js.map +1 -1
  101. package/dist/config/agent.d.ts +16 -33
  102. package/dist/config/agent.d.ts.map +1 -1
  103. package/dist/config/agent.js +50 -140
  104. package/dist/config/agent.js.map +1 -1
  105. package/dist/config/esm-hooks.d.ts +28 -0
  106. package/dist/config/esm-hooks.d.ts.map +1 -0
  107. package/dist/config/esm-hooks.js +35 -0
  108. package/dist/config/esm-hooks.js.map +1 -0
  109. package/dist/config/load.d.ts +6 -0
  110. package/dist/config/load.d.ts.map +1 -1
  111. package/dist/config/load.js +52 -5
  112. package/dist/config/load.js.map +1 -1
  113. package/dist/config/resolve.d.ts +7 -0
  114. package/dist/config/resolve.d.ts.map +1 -1
  115. package/dist/config/resolve.js +53 -13
  116. package/dist/config/resolve.js.map +1 -1
  117. package/dist/engine/index.d.ts +8 -2
  118. package/dist/engine/index.d.ts.map +1 -1
  119. package/dist/engine/index.js.map +1 -1
  120. package/dist/engine/surface.d.ts +2 -2
  121. package/dist/engine/surface.d.ts.map +1 -1
  122. package/dist/explore/body.d.ts +36 -0
  123. package/dist/explore/body.d.ts.map +1 -0
  124. package/dist/explore/body.js +168 -0
  125. package/dist/explore/body.js.map +1 -0
  126. package/dist/explore/executor.d.ts +25 -0
  127. package/dist/explore/executor.d.ts.map +1 -0
  128. package/dist/explore/executor.js +86 -0
  129. package/dist/explore/executor.js.map +1 -0
  130. package/dist/explore/index.d.ts +64 -0
  131. package/dist/explore/index.d.ts.map +1 -0
  132. package/dist/explore/index.js +183 -0
  133. package/dist/explore/index.js.map +1 -0
  134. package/dist/explore/plan.d.ts +74 -0
  135. package/dist/explore/plan.d.ts.map +1 -0
  136. package/dist/explore/plan.js +149 -0
  137. package/dist/explore/plan.js.map +1 -0
  138. package/dist/explore/reporter.d.ts +11 -0
  139. package/dist/explore/reporter.d.ts.map +1 -0
  140. package/dist/explore/reporter.js +54 -0
  141. package/dist/explore/reporter.js.map +1 -0
  142. package/dist/explore/state.d.ts +58 -0
  143. package/dist/explore/state.d.ts.map +1 -0
  144. package/dist/explore/state.js +147 -0
  145. package/dist/explore/state.js.map +1 -0
  146. package/dist/internal/atomic-write.d.ts +1 -1
  147. package/dist/internal/atomic-write.d.ts.map +1 -1
  148. package/dist/internal/atomic-write.js.map +1 -1
  149. package/dist/internal/package-version.d.ts +2 -0
  150. package/dist/internal/package-version.d.ts.map +1 -1
  151. package/dist/internal/package-version.js +9 -0
  152. package/dist/internal/package-version.js.map +1 -1
  153. package/dist/internal/redact.d.ts +12 -4
  154. package/dist/internal/redact.d.ts.map +1 -1
  155. package/dist/internal/redact.js +61 -12
  156. package/dist/internal/redact.js.map +1 -1
  157. package/dist/internal/zip.d.ts +32 -0
  158. package/dist/internal/zip.d.ts.map +1 -0
  159. package/dist/internal/zip.js +183 -0
  160. package/dist/internal/zip.js.map +1 -0
  161. package/dist/report/build.d.ts +55 -0
  162. package/dist/report/build.d.ts.map +1 -1
  163. package/dist/report/build.js +10 -1
  164. package/dist/report/build.js.map +1 -1
  165. package/dist/report/debug-steps.d.ts.map +1 -1
  166. package/dist/report/debug-steps.js +15 -0
  167. package/dist/report/debug-steps.js.map +1 -1
  168. package/dist/report/format.d.ts +11 -1
  169. package/dist/report/format.d.ts.map +1 -1
  170. package/dist/report/format.js +15 -3
  171. package/dist/report/format.js.map +1 -1
  172. package/dist/report/list.d.ts.map +1 -1
  173. package/dist/report/list.js +2 -0
  174. package/dist/report/list.js.map +1 -1
  175. package/dist/run/artifacts.d.ts.map +1 -1
  176. package/dist/run/artifacts.js +8 -6
  177. package/dist/run/artifacts.js.map +1 -1
  178. package/dist/run/events.d.ts +4 -2
  179. package/dist/run/events.d.ts.map +1 -1
  180. package/dist/run/events.js.map +1 -1
  181. package/dist/run/execute.d.ts.map +1 -1
  182. package/dist/run/execute.js +29 -2
  183. package/dist/run/execute.js.map +1 -1
  184. package/dist/run/fixtures.d.ts +10 -1
  185. package/dist/run/fixtures.d.ts.map +1 -1
  186. package/dist/run/fixtures.js +39 -22
  187. package/dist/run/fixtures.js.map +1 -1
  188. package/dist/run/in-process.d.ts +8 -0
  189. package/dist/run/in-process.d.ts.map +1 -1
  190. package/dist/run/in-process.js +3 -3
  191. package/dist/run/in-process.js.map +1 -1
  192. package/dist/run/records.d.ts +8 -6
  193. package/dist/run/records.d.ts.map +1 -1
  194. package/dist/run/runner.d.ts +22 -1
  195. package/dist/run/runner.d.ts.map +1 -1
  196. package/dist/run/runner.js +22 -14
  197. package/dist/run/runner.js.map +1 -1
  198. package/dist/run/secrecy.d.ts +23 -0
  199. package/dist/run/secrecy.d.ts.map +1 -0
  200. package/dist/run/secrecy.js +22 -0
  201. package/dist/run/secrecy.js.map +1 -0
  202. package/dist/run/steps.d.ts +11 -0
  203. package/dist/run/steps.d.ts.map +1 -1
  204. package/dist/run/steps.js +1 -0
  205. package/dist/run/steps.js.map +1 -1
  206. package/dist/run/trace-redaction.d.ts +17 -0
  207. package/dist/run/trace-redaction.d.ts.map +1 -0
  208. package/dist/run/trace-redaction.js +148 -0
  209. package/dist/run/trace-redaction.js.map +1 -0
  210. package/dist/run/worker-models.d.ts +14 -14
  211. package/dist/run/worker-models.d.ts.map +1 -1
  212. package/dist/run/worker-models.js +34 -26
  213. package/dist/run/worker-models.js.map +1 -1
  214. package/dist/telemetry/events.d.ts.map +1 -1
  215. package/dist/telemetry/events.js +17 -2
  216. package/dist/telemetry/events.js.map +1 -1
  217. package/dist/types.d.ts +32 -25
  218. package/dist/types.d.ts.map +1 -1
  219. package/package.json +6 -4
  220. package/skills/e2e/SKILL.md +12 -5
  221. package/skills/e2e/references/agent.md +22 -17
  222. package/skills/e2e/references/debugging.md +3 -2
  223. package/skills/e2e/references/explore.md +83 -0
  224. package/skills/e2e/references/running.md +8 -3
  225. package/skills/e2e/references/setup.md +17 -13
  226. package/skills/e2e/references/writing-tests.md +1 -0
  227. package/dist/config/esm.d.ts +0 -4
  228. package/dist/config/esm.d.ts.map +0 -1
  229. package/dist/config/esm.js +0 -35
  230. package/dist/config/esm.js.map +0 -1
@@ -29,6 +29,18 @@ export function cliSessionEvent(command, flags) {
29
29
  function plainToken(value) {
30
30
  return PLAIN_TOKEN.test(value) ? value : 'other';
31
31
  }
32
+ /**
33
+ * The vendor and public id of a step's model. A gateway serves ids in the
34
+ * `vendor/model` form and the report names the gateway as the provider, so
35
+ * the vendor is the id's first segment; an AI SDK instance's provider is the
36
+ * vendor already and its id has no such prefix.
37
+ */
38
+ function splitModel(model) {
39
+ const separator = model.model.indexOf('/');
40
+ if (separator <= 0)
41
+ return { provider: model.provider, id: model.model };
42
+ return { provider: plainToken(model.model.slice(0, separator)), id: model.model.slice(separator + 1) };
43
+ }
32
44
  /** `playwright@0.6.1`, and a project's own engine the same way; a name that is not a plain token is `other` alone. */
33
45
  function engineLabel(engine) {
34
46
  const name = plainToken(engine.name);
@@ -68,6 +80,7 @@ export function runCompletedEvent(report, flags) {
68
80
  const steps = recorded.flatMap((scope) => scope.steps ?? []);
69
81
  const models = steps.flatMap((step) => (step.model === undefined ? [] : [step.model]));
70
82
  const first = models[0];
83
+ const firstModel = first === undefined ? undefined : splitModel(first);
71
84
  const codes = unique([...run.errors, ...recorded.flatMap(errorsOf)].map((error) => (ERROR_CODE.test(error.code) ? error.code : 'OTHER')));
72
85
  return {
73
86
  name: EVENT_RUN_COMPLETED,
@@ -93,10 +106,12 @@ export function runCompletedEvent(report, flags) {
93
106
  agent_steps_partial: steps.filter((step) => step.cache?.mode === 'agent-concluded').length,
94
107
  agent_steps_missed: steps.filter((step) => step.cache?.mode === 'missed').length,
95
108
  agent_steps_vision: steps.filter((step) => step.visionInput === true).length,
96
- model_provider: first?.provider ?? null,
97
- model_id: first === undefined ? null : plainToken(first.model),
109
+ model_gateway: first?.provider ?? null,
110
+ model_provider: firstModel?.provider ?? null,
111
+ model_id: firstModel === undefined ? null : plainToken(firstModel.id),
98
112
  model_calls: models.reduce((total, model) => total + model.calls, 0),
99
113
  model_tokens: run.usage.modelTokens,
114
+ model_cached_tokens: run.usage.modelCachedTokens ?? null,
100
115
  estimated_cost_usd: run.usage.estimatedCostUsd ?? null,
101
116
  artifact_bytes: run.usage.artifactBytes,
102
117
  errors: run.errors.length,
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -105,15 +105,19 @@ export type VisionMode = boolean | 'fallback' | 'only';
105
105
  export interface VisionOption {
106
106
  vision?: VisionMode;
107
107
  }
108
+ /** The configured agent (`agents.<name>`) one call runs with, in place of the test's. */
109
+ export interface AgentOption {
110
+ agent?: string;
111
+ }
108
112
  /** `assert` options: one judgment plus one repair round, within `timeout`. */
109
- export interface AssertOptions extends VisionOption {
113
+ export interface AssertOptions extends VisionOption, AgentOption {
110
114
  /** Deadline in milliseconds; defaults to the judgment budget, `max(30000, actionTimeout)`. */
111
115
  timeout?: number;
112
116
  /** Attach a redacted screenshot to the step; on by default, denied after a secret fill. */
113
117
  screenshot?: boolean;
114
118
  }
115
119
  /** `waitFor` options: a judgment at most once per `interval` until `timeout`. */
116
- export interface WaitForOptions extends VisionOption {
120
+ export interface WaitForOptions extends VisionOption, AgentOption {
117
121
  /** Deadline in milliseconds; defaults to the judgment budget, `max(30000, actionTimeout)`. */
118
122
  timeout?: number;
119
123
  /** Least time between two judgments, in milliseconds; 100 through 60000, default 3000. */
@@ -122,7 +126,7 @@ export interface WaitForOptions extends VisionOption {
122
126
  maxModelCalls?: number;
123
127
  }
124
128
  /** `extract` options: one extraction plus one repair round, validated against `schema`. */
125
- export interface ExtractOptions<Schema extends StandardSchemaV1> extends VisionOption {
129
+ export interface ExtractOptions<Schema extends StandardSchemaV1> extends VisionOption, AgentOption {
126
130
  schema: Schema;
127
131
  /** Deadline in milliseconds; defaults to the judgment budget, `max(30000, actionTimeout)`. */
128
132
  timeout?: number;
@@ -132,7 +136,7 @@ export interface ExtractOptions<Schema extends StandardSchemaV1> extends VisionO
132
136
  * budgets. Structured output and vision are judgment-tier options:
133
137
  * `extract` takes `schema`; `assert`, `waitFor`, and `extract` take `vision`.
134
138
  */
135
- export interface ActOptions {
139
+ export interface ActOptions extends AgentOption {
136
140
  /**
137
141
  * JSON-safe values the instruction refers to, at most 64 KiB and 32 levels
138
142
  * deep. A `Secret` reaches the model by name only; the runner fills it.
@@ -156,7 +160,7 @@ export interface ActResult {
156
160
  /** Grammar actions and mutating tool calls the step performed. */
157
161
  readonly actions: number;
158
162
  }
159
- export type AgentErrorCode = 'AUTH_CREDENTIAL_UNAVAILABLE' | 'AUTH_CREDENTIAL_INVALID' | 'AUTHENTICATION_FAILED' | 'ENVIRONMENT_UNAVAILABLE' | 'SEED_DATA_MISSING' | 'TEST_SETUP_FAILED' | 'MODEL_UNAVAILABLE' | 'MODEL_PROVIDER_FAILED' | 'MODEL_OUTPUT_INVALID' | 'APP_UNREACHABLE' | 'APP_ALREADY_RUNNING' | 'APP_NOT_OPEN' | 'LOCATOR_NOT_FOUND' | 'LOCATOR_AMBIGUOUS' | 'ACTION_FAILED' | 'AUTOMATION_UNSUPPORTED' | 'POLICY_DENIED' | 'STEP_BUDGET_EXHAUSTED' | 'STEP_TIMEOUT' | 'STEP_NO_CONCLUSION' | 'ASSERTION_FAILED' | 'CANCELLED';
163
+ export type AgentErrorCode = 'AUTH_CREDENTIAL_UNAVAILABLE' | 'AUTH_CREDENTIAL_INVALID' | 'AUTHENTICATION_FAILED' | 'ENVIRONMENT_UNAVAILABLE' | 'SEED_DATA_MISSING' | 'TEST_SETUP_FAILED' | 'MODEL_UNAVAILABLE' | 'MODEL_PROVIDER_FAILED' | 'CONTEXT_OVERFLOW' | 'MODEL_OUTPUT_INVALID' | 'APP_UNREACHABLE' | 'APP_ALREADY_RUNNING' | 'APP_NOT_OPEN' | 'LOCATOR_NOT_FOUND' | 'LOCATOR_AMBIGUOUS' | 'ACTION_FAILED' | 'AUTOMATION_UNSUPPORTED' | 'POLICY_DENIED' | 'STEP_BUDGET_EXHAUSTED' | 'STEP_TIMEOUT' | 'STEP_NO_CONCLUSION' | 'ASSERTION_FAILED' | 'CANCELLED';
160
164
  export interface Agent {
161
165
  /** Plans and executes a bounded multi-action flow; resolves with what the step did. */
162
166
  act(instruction: string, options?: ActOptions): Promise<ActResult>;
@@ -348,6 +352,12 @@ export interface TestOptions {
348
352
  requires?: readonly Capability[];
349
353
  session?: string;
350
354
  agentContext?: string;
355
+ /**
356
+ * The configured agent (`agents.<name>`) this test or group runs with, in
357
+ * place of the run's agent. Innermost wins; a call's own `agent` option wins
358
+ * over it.
359
+ */
360
+ agent?: string;
351
361
  }
352
362
  export interface DescribeOptions extends Omit<TestOptions, 'only'> {
353
363
  serial?: boolean;
@@ -553,18 +563,13 @@ export interface Target {
553
563
  platform?: Platform;
554
564
  engine?: EngineHandle;
555
565
  }
556
- export interface ModelConfig {
557
- provider: string;
558
- id: string;
559
- endpoint?: string;
560
- /** Environment variable containing the provider credential. */
561
- apiKeyEnv?: string;
562
- }
563
566
  /**
564
- * A live AI SDK language model instance, e.g. `openai('gpt-4o')` from
565
- * `@ai-sdk/openai` or any other provider implementing the AI SDK
566
- * `LanguageModelV2+` specification. The instance owns its own transport and
567
- * credentials. Detection is structural, so any AI SDK provider package works
567
+ * A live AI SDK language model instance: `gateway('openai/gpt-5.4-mini')`
568
+ * from `ai`, `openrouter(...)` from `@openrouter/ai-sdk-provider`,
569
+ * `openai('gpt-4o')` from `@ai-sdk/openai`, or any other provider
570
+ * implementing the AI SDK `LanguageModelV2+` specification. The instance owns
571
+ * its own transport and credentials; the runner knows no gateway or provider
572
+ * of its own. Detection is structural, so any AI SDK provider package works
568
573
  * without this runner depending on it.
569
574
  */
570
575
  export interface ModelInstance {
@@ -668,9 +673,10 @@ export interface AgentConfig {
668
673
  *. Omitted selects the built-in agent.
669
674
  */
670
675
  executor?: StepExecutor;
671
- model?: string | ModelConfig | ModelInstance;
676
+ /** An AI SDK model instance; no implicit default. */
677
+ model?: ModelInstance;
672
678
  /** Model used by calls with `vision`; falls back to `model`. */
673
- visionModel?: string | ModelConfig | ModelInstance;
679
+ visionModel?: ModelInstance;
674
680
  maxSteps?: number;
675
681
  maxModelCalls?: number;
676
682
  maxObservationBytes?: number;
@@ -752,14 +758,15 @@ export interface E2EConfig {
752
758
  testIdAttribute?: string;
753
759
  };
754
760
  /**
755
- * Either the agent options block, or the agent itself: `createAgent(...)`
756
- * from `@e2edev/e2e/agent`, or any hand-rolled `StepExecutor`.
757
- * With an agent value, the model falls back to `E2E_MODEL` and every other
758
- * option keeps its default. Agents never cross a process boundary: workers
759
- * re-resolve the config module and construct their own, exactly like model
760
- * instances.
761
+ * The agents by name. Each is either an options block or the agent itself:
762
+ * `createAgent(...)` from `@e2edev/e2e/agent`, or any hand-rolled
763
+ * `StepExecutor`. `default` is the one tests run with; `e2e run --agent
764
+ * <name>` runs them with another. With an agent value, the model is the
765
+ * one it brought and every other option keeps its default. Agents never
766
+ * cross a process boundary: workers re-resolve the config module and
767
+ * construct their own, exactly like model instances.
761
768
  */
762
- agent?: AgentConfig | StepExecutor;
769
+ agents?: Readonly<Record<string, AgentConfig | StepExecutor>>;
763
770
  /**
764
771
  * The adaptive trace cache. Opt-out: unset means
765
772
  * `read-write`, and `'off'` — or the `--no-cache` flag, which wins over the
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@e2edev/e2e",
3
- "version": "0.9.0",
3
+ "version": "0.11.0",
4
4
  "description": "SDK, runner, and CLI for agentic end-to-end testing",
5
5
  "keywords": [
6
6
  "e2e",
@@ -67,19 +67,21 @@
67
67
  }
68
68
  },
69
69
  "devDependencies": {
70
- "ai": "7.0.93",
70
+ "@ai-sdk/openai-compatible": "3.0.47",
71
+ "@openrouter/ai-sdk-provider": "3.0.0",
71
72
  "@types/node": "26.4.1",
73
+ "ai": "7.0.93",
72
74
  "ajv": "8.20.0",
73
75
  "ajv-formats": "3.0.1",
74
76
  "typescript": "7.0.2",
75
77
  "vitest": "5.0.0",
76
- "@e2edev/playwright": "0.7.1"
78
+ "@e2edev/playwright": "0.8.0"
77
79
  },
78
80
  "engines": {
79
81
  "node": ">=22.12.0"
80
82
  },
81
83
  "scripts": {
82
- "build": "node -e \"const fs=require('node:fs');for(const dir of ['dist','skills'])fs.rmSync(dir,{recursive:true,force:true});fs.cpSync('../../skills/e2e','skills/e2e',{recursive:true})\" && tsc --project tsconfig.build.json",
84
+ "build": "node -e \"const fs=require('node:fs');for(const dir of ['dist','skills'])fs.rmSync(dir,{recursive:true,force:true});fs.cpSync('../../skills/e2e','skills/e2e',{recursive:true})\" && tsc --project tsconfig.build.json && node -e \"const fs=require('node:fs');const versions=Object.fromEntries(['playwright','agent-device'].map((dir)=>['@e2edev/'+dir,JSON.parse(fs.readFileSync('../'+dir+'/package.json','utf8')).version]));fs.writeFileSync('dist/cli/init/engine-versions.json',JSON.stringify(versions)+'\\n')\"",
83
85
  "typecheck": "tsc --noEmit",
84
86
  "test": "vitest run",
85
87
  "test:watch": "vitest",
@@ -18,6 +18,7 @@ target names an engine, `@e2edev/playwright` for browsers or
18
18
  import type { E2EConfig } from '@e2edev/e2e';
19
19
  import { createAgent } from '@e2edev/e2e/agent';
20
20
  import { playwright } from '@e2edev/playwright';
21
+ import { gateway } from 'ai';
21
22
 
22
23
  export default {
23
24
  targets: [
@@ -28,8 +29,13 @@ export default {
28
29
  }),
29
30
  },
30
31
  ],
31
- // Only needed for agent.* steps; the model comes from E2E_MODEL.
32
- agent: createAgent({ system: 'You are a thorough QA agent. Verify every outcome on screen.' }),
32
+ // Only needed for agent.* steps. The model is an AI SDK instance; gateway() from 'ai' reads AI_GATEWAY_API_KEY.
33
+ agents: {
34
+ default: createAgent({
35
+ model: gateway('openai/gpt-5.4-mini'),
36
+ system: 'You are a thorough QA agent. Verify every outcome on screen.',
37
+ }),
38
+ },
33
39
  } satisfies E2EConfig;
34
40
  ```
35
41
 
@@ -58,6 +64,7 @@ one. Without them, the installed CLI prints the same text:
58
64
  | `writing-tests` | [references/writing-tests.md](references/writing-tests.md) | Writing or fixing tests: fixtures, locators, actions, matchers, sign-in sessions, the `web` fixture |
59
65
  | `agent` | [references/agent.md](references/agent.md) | Adding `agent.*` steps, picking a model, cost and budgets, the trace cache |
60
66
  | `running` | [references/running.md](references/running.md) | CLI flags, reporters, `.e2e/report.json`, exit codes, CI |
67
+ | `explore` | [references/explore.md](references/explore.md) | Exploring an app toward a goal without a test file: `e2e explore`, its budgets, verdict, and `run.explore` |
61
68
  | `debugging` | [references/debugging.md](references/debugging.md) | A run failed: error codes and their fixes, `--headed`, `--debug`, `--ai-trace` |
62
69
 
63
70
  ## Workflow
@@ -72,8 +79,8 @@ one. Without them, the installed CLI prints the same text:
72
79
  3. Write `tests/<feature>.e2e.ts`. Deterministic steps first. One `agent.act`
73
80
  per goal where the flow varies, and an `expect` on its outcome right after.
74
81
  4. Run one file: `npx --no-install e2e run tests/<feature>.e2e.ts`. Agent
75
- steps need `E2E_MODEL=provider/model-id` and `E2E_MODEL_API_KEY` in the
76
- environment; deterministic tests need neither.
82
+ steps need a model in the config and its provider's key in the environment
83
+ (`AI_GATEWAY_API_KEY` for `gateway()`); deterministic tests need neither.
77
84
  5. Read the failure: the reporter prints the error code, the message, and a
78
85
  code frame; `.e2e/report.json` has every step and artifact path. Fix the
79
86
  locator, the expectation, or the app. Never add a sleep.
@@ -90,7 +97,7 @@ one. Without them, the installed CLI prints the same text:
90
97
  - Import `test`, `expect`, and `credentials` from `@e2edev/e2e`. A test that
91
98
  uses the `web` fixture imports `test` from `@e2edev/playwright` instead: the
92
99
  same runtime `test`, typed with `web`.
93
- - Config and tests are ES modules. `package.json` needs `"type": "module"`.
100
+ - Config and tests are ES modules and load as such whatever `package.json` sets as `type`.
94
101
  - Nothing waits explicitly: queries poll, actions wait, `expect` retries.
95
102
  Reads such as `textContent()` and `count()` do not retry, so assert with a
96
103
  matcher when a value has to settle.
@@ -6,41 +6,46 @@ transcript between calls. Deterministic tests never load a model.
6
6
 
7
7
  ## Configure a model
8
8
 
9
- There is no default model. Pick one of three shapes:
9
+ Agents live under `agents` by name; `default` is the one tests use, `e2e run --agent <name>` re-points that default, a test or describe pins one with `{ agent: 'name' }`, and any `agent.*` call can name one with `{ agent: 'name' }` (innermost wins). There is no default model. Pick one of three shapes for an entry:
10
10
 
11
11
  ```ts
12
12
  // e2e.config.ts
13
13
  import { createAgent } from '@e2edev/e2e/agent';
14
+ import { gateway } from 'ai';
14
15
 
15
16
  export default {
16
- // 1. The built-in agent; the model comes from E2E_MODEL at run time.
17
- agent: createAgent({ system: 'You are a thorough QA agent. Verify every outcome on screen.' }),
17
+ // 1. The built-in agent with an AI SDK model: gateway() from 'ai' is the Vercel AI Gateway and reads AI_GATEWAY_API_KEY.
18
+ agents: { default: createAgent({ model: gateway('openai/gpt-5.4-mini'), system: 'You are a thorough QA agent. Verify every outcome on screen.' }) },
18
19
 
19
- // 2. An options block: a gateway model string plus project vocabulary.
20
- // agent: { model: 'anthropic/claude-sonnet-4.5', context: 'A billing dashboard. Plans are Free, Team, and Pro.' },
20
+ // 2. An options block: a model plus project vocabulary. openrouter() from '@openrouter/ai-sdk-provider' reads OPENROUTER_API_KEY.
21
+ // agents: { default: { model: openrouter('anthropic/claude-sonnet-4.5'), context: 'A billing dashboard. Plans are Free, Team, and Pro.' } },
21
22
 
22
23
  // 3. A live AI SDK model instance for a provider called directly.
23
- // agent: createAgent({ model: openai('gpt-5.4-mini') }),
24
+ // agents: { default: createAgent({ model: openai('gpt-5.4-mini') }) },
24
25
  } satisfies E2EConfig;
25
26
  ```
26
27
 
27
28
  ```bash
28
- E2E_MODEL=anthropic/claude-sonnet-4.5 E2E_MODEL_API_KEY=... npx --no-install e2e run
29
+ AI_GATEWAY_API_KEY=... npx --no-install e2e run
29
30
  ```
30
31
 
31
- - A `provider/model-id` string is routed through the Vercel AI Gateway; one
32
- `E2E_MODEL_API_KEY` (or `AI_GATEWAY_API_KEY`) reaches every provider.
33
- - With no `agent` key at all, the built-in agent still runs and takes its
34
- model from `E2E_MODEL`. Use `createAgent` for a `system` prompt, tools, or
35
- a pinned model.
32
+ - The model is always an AI SDK instance the config constructs; the runner
33
+ implies no gateway and reads no model variable. `gateway()` from `ai` is the
34
+ Vercel AI Gateway, `openrouter()` from `@openrouter/ai-sdk-provider` is
35
+ OpenRouter, `createOpenAICompatible({ baseURL }).chatModel()` from
36
+ `@ai-sdk/openai-compatible` is any /v1 chat endpoint (Ollama, vLLM), and a
37
+ provider's own package (`openai()`) calls it directly. Each reads its own
38
+ key variable. A string in a model slot is `INVALID_CONFIG`.
39
+ - With no model anywhere, acquiring `agent` is `MODEL_UNAVAILABLE`. Use
40
+ `createAgent` for the model, a `system` prompt, and tools.
36
41
  - `ai@^7` must be installed for any `agent.*` step; the runner loads it
37
42
  lazily and fails without it.
38
43
  - `context` in the config and `agentContext` on a test or group add trusted
39
44
  project vocabulary to every prompt.
40
- - `visionModel` (or `E2E_VISION_MODEL`) serves the calls that send pixels.
45
+ - `visionModel` serves the calls that send pixels.
41
46
  - The model passed to `createAgent({ model })` is the one model for every
42
- `agent.*` call, `act` and the judgments alike, and outranks `E2E_MODEL`.
43
- An `agent.model` naming a different model is `INVALID_CONFIG`.
47
+ `agent.*` call, `act` and the judgments alike.
48
+ An agent `model` naming a different model is `INVALID_CONFIG`.
44
49
  - Missing model or key: checked once per run when the first test acquires
45
50
  the `agent` fixture. One run-level `MODEL_UNAVAILABLE` (exit 2) stops the
46
51
  run; the remaining tests are skipped, not failed one by one.
@@ -223,6 +228,6 @@ Full reference: https://e2e-docs.vercel.app/agents
223
228
 
224
229
  Deterministic tests gate merges; agentic tests are opt-in. Keep them in a
225
230
  separate config (`e2e.agent.config.ts` with its own `tests` glob and a larger
226
- `timeout`), run them on a schedule or `workflow_dispatch`, and pass the model
227
- through `env: { E2E_MODEL, E2E_MODEL_API_KEY }` from CI variables and
231
+ `timeout`), run them on a schedule or `workflow_dispatch`, and pass the key
232
+ the config's model reads (`env: { AI_GATEWAY_API_KEY }` for `gateway()`) from
228
233
  secrets.
@@ -23,7 +23,7 @@ jq '.run.results[] | select(.status != "passed") | .attempts[-1]
23
23
 
24
24
  | Code | Usual cause | Fix |
25
25
  | --- | --- | --- |
26
- | `CONFIG_LOAD_FAILED` mentioning ES modules | `package.json` lacks `"type": "module"` | `npm pkg set type=module`, or rename the config to `.mts` and keep the tests in an ESM package |
26
+ | `CONFIG_LOAD_FAILED` | The config throws while loading, or imports a package that is not installed or a subpath that does not exist | The message names the cause: install the dependency, or fix the import it quotes |
27
27
  | `INVALID_CONFIG` | Unknown key or a stale shape: a top-level `app`, `defineConfig`, a `backend` key, `json` combined with `list` reporters | Move app options into `playwright({ ... })`; use `satisfies E2EConfig`; the message names the key |
28
28
  | `CONFIG_NOT_FOUND`, `CONFIG_AMBIGUOUS` | Wrong `--config` path; both `.ts` and `.mts` present | Fix the path; keep one config file |
29
29
  | `NO_TESTS` | The glob or a positional matched nothing | The message names each positional that matched nothing. Check `tests` in the config and the `.e2e.ts` suffix |
@@ -36,9 +36,10 @@ jq '.run.results[] | select(.status != "passed") | .attempts[-1]
36
36
  | `ASSERTION_FAILED` | The expectation is wrong, or the state settles later than 5 s; for `agent.assert`, the judgment was false (explanation in the report) | Compare with the actual text in the report or screenshot; `{ timeout }` on the matcher; rewrite the question |
37
37
  | `ACTION_FAILED` | Element not actionable (covered, disabled, detached) or an operation timed out | Wait on the right condition with `expect` first; close overlays; check `actionTimeout` |
38
38
  | `TEST_TIMEOUT` | The attempt exceeded `timeout` (120 s) | Split the test, or raise `timeout` for slow flows and agent steps |
39
- | `MODEL_UNAVAILABLE` | No model (`createAgent({ model })`, `agent.model`, or `E2E_MODEL`), no key, or an unknown provider. Reported once for the run under `run.errors`; the run stops | Export `E2E_MODEL=provider/model-id` and `E2E_MODEL_API_KEY`, or pass a model to `createAgent`; confirm the model id |
39
+ | `MODEL_UNAVAILABLE` | No model: neither `createAgent({ model })` nor `agent.model` holds an AI SDK instance. Reported once for the run under `run.errors`; the run stops | Construct one in the config, e.g. `gateway('openai/gpt-5.4-mini')` from `ai`, and export the key its provider reads (`AI_GATEWAY_API_KEY`) |
40
40
  | `MODEL_PROVIDER_FAILED` | Network, 5xx, rate limit, or no credits after the transport retries | Check the key and the quota; retry; exit code 3 |
41
41
  | `STEP_TIMEOUT`, `STEP_BUDGET_EXHAUSTED` | The goal was too big or ambiguous, or the provider slow | Split the goal, use on-screen wording, add `context`, raise `timeout` and `actionTimeout`, `--debug` to read the transcript |
42
+ | `CONTEXT_OVERFLOW` | The screen plus the step's history did not fit the model's context window, even after the loop shrank the history and retried once | Lower `agent.maxObservationBytes`, split the step, or pick a model with a larger window |
42
43
  | `POLICY_DENIED` | Navigation outside `allowedOrigins`; a `Secret` given to a sink that is not a password field; reading a secure field | Add the origin to `allowedOrigins`; fill secrets only into password inputs; assert the outcome instead of the value |
43
44
  | `UNSUPPORTED_CAPABILITY` | A fixture the engine does not contribute (`web` on a device), `schema` or `vision` on `act`, an action the surface lacks | Declare `requires: ['web']`; drop the option; use a supported action |
44
45
  | `SESSION_UNAVAILABLE`, `SESSION_CONTRACT` | `session: 'x'` with no setup saving `x`; a setup that did not save every declared name | Add or fix the `test.setup` |
@@ -0,0 +1,83 @@
1
+ # Exploring without a test
2
+
3
+ `e2e explore` runs the agent against the app with a goal instead of a test
4
+ file. Use it to see what the agent can do with an app before tests exist, to
5
+ hunt for regressions on a branch, or to find what is worth turning into a
6
+ test. It needs a config with a target and a model (on the agent, or
7
+ `E2E_MODEL`), nothing else.
8
+
9
+ ```bash
10
+ npx --no-install e2e explore # goal: "Explore the app and find bugs"
11
+ npx --no-install e2e explore 'Explore checkout like a first-time buyer and report anything off'
12
+ npx --no-install e2e explore --target web --max-steps 4 --headed
13
+ E2E_MODEL=provider/model-id npx --no-install e2e explore 'Hunt for broken forms' --video
14
+ ```
15
+
16
+ ## What a run does
17
+
18
+ 1. Opens the app on the target's URL.
19
+ 2. Plans one step: a structured model call reads the goal, the steps and
20
+ findings so far, and the current screen, and answers with a title and a
21
+ concrete charter for one flow, or decides the goal is covered.
22
+ 3. Runs the charter as an `agent.act()` step with the project's tools plus
23
+ `report_finding`. The agent reports each defect the moment it has evidence:
24
+ title, `issue` or `warning`, severity 1 to 5, expected, actual, reproduction
25
+ steps. The runner adds the path and a redacted screenshot.
26
+ 4. Repeats until the planner finishes, the step limit, the clock, or three
27
+ failed or blocked steps in a row that reported nothing; then asks for a closing assessment.
28
+
29
+ A failed step does not end the run: it is recorded, and only findings the
30
+ agent reported count toward the verdict. A step that hits its action or time
31
+ budget ended at its limit and counts as neither. Configured `credentials`
32
+ reach the explorer as step secrets: the planner knows the account names and
33
+ usernames, and the agent fills passwords with `type_secret` by name.
34
+
35
+ ## Flags
36
+
37
+ | Flag | Default | Effect |
38
+ | --- | --- | --- |
39
+ | `[goal]` | `Explore the app and find bugs` | One quoted sentence: the area and the posture. |
40
+ | `--target <id>` | first configured target | The one target to explore. |
41
+ | `--agent <name>` | `default` | Build the explorer from another configured agent (`agents.<name>`). |
42
+ | `--max-steps <n>` | 8 (1 to 12) | Exploration steps at most. |
43
+ | `--timeout <ms>` | 600000 (180000 to 900000) | Wall clock; the last minute is for the assessment. |
44
+ | `--headed`, `--reporter`, `--artifacts`, `--debug`, `--ai-trace`, `--video` | as `run` | Same meaning as for `e2e run`. |
45
+
46
+ Per-step action and model-call budgets default to 40 each; `agent.maxSteps`
47
+ and `agent.maxModelCalls` in the config override them. The trace cache is off
48
+ and retries are zero for the run.
49
+
50
+ ## Reading the result
51
+
52
+ Exit code `0`: steps ran and no `issue` was reported (warnings allowed). Exit
53
+ code `1`: at least one `issue`, or no step ran and nothing was found (the run
54
+ is `blocked`). `2` and `3` as for `run`.
55
+
56
+ The terminal prints each step live and, under the summary, `Explored`,
57
+ `Findings`, one row per finding sorted by severity, and `Assessment`.
58
+ `.e2e/report.json` has the record under `run.explore`:
59
+
60
+ ```json
61
+ {
62
+ "goal": "...",
63
+ "budgets": { "maxSteps": 8, "timeoutMs": 600000 },
64
+ "ended": "finished | step-limit | time | stuck | aborted",
65
+ "summary": "the closing assessment",
66
+ "steps": [{ "index": 1, "title": "...", "instruction": "...", "status": "passed | failed | blocked | exhausted", "summary": "...", "startedAt": "...", "durationMs": 0 }],
67
+ "findings": [{ "index": 0, "step": 1, "kind": "issue", "severity": 4, "title": "...", "expected": "...", "actual": "...", "reproduction": ["..."], "path": "/cart", "artifactId": "<attempt id>:artifact:2", "reportedAt": "..." }]
68
+ }
69
+ ```
70
+
71
+ `artifactId` names the evidence screenshot among the attempt's `artifacts` in
72
+ `run.results[0]`, where its path, size, and digest are.
73
+
74
+ Turn a finding into a test: its `reproduction` steps are the `agent.act()`
75
+ instructions or `screen.*` actions, and `expected` is the assertion.
76
+
77
+ ## When it does not fit
78
+
79
+ An agent built with `createAgent({ tools, system })` in the config lends its
80
+ tools and guidance to the explorer; a hand-rolled `StepExecutor` is replaced by
81
+ the built-in agent for the run, with a notice on stderr. Findings are the
82
+ model's claims plus evidence, not verified reproductions: read `actual` against
83
+ the screenshot before filing a bug.
@@ -4,9 +4,10 @@
4
4
 
5
5
  ```bash
6
6
  npx --no-install e2e run [files...] [options] # run tests
7
+ npx --no-install e2e explore [goal] [options] # explore the app toward a goal, no test file (see the explore topic)
7
8
  npx --no-install e2e list [files...] [options] # print what run would select, without running
8
9
  npx --no-install e2e init [--yes] # scaffold a project, refresh the agent skill
9
- npx --no-install e2e guide [topic] # print this skill: setup, writing-tests, agent, running, debugging
10
+ npx --no-install e2e guide [topic] # print this skill: setup, writing-tests, agent, running, explore, debugging
10
11
  npx --no-install e2e cache ls|clear|stats # read or empty the trace cache
11
12
  npx --no-install e2e telemetry [disable|enable] # anonymous usage telemetry: status, or the switch
12
13
  ```
@@ -20,6 +21,7 @@ npx --no-install e2e telemetry [disable|enable] # anonymous usage telemetry: sta
20
21
  | `--target <ids>` | Comma-separated target names. Only selected targets start app commands and services; unknown names fail before startup. |
21
22
  | `--tag <tag>` | Repeatable tag filter; `--tag-mode all` requires every tag. |
22
23
  | `--headed` | Visible browser or simulator when the engine supports it. |
24
+ | `--agent <name>` | Run with another configured agent (`agents.<name>`); default is `agents.default`. |
23
25
  | `--workers <n>`, `--retries <n>` | Override the resolved values. |
24
26
  | `--reporter <ids>` | `list`, `json`, `junit`, comma-separated. `json` cannot combine with `list`. |
25
27
  | `--artifacts <dir>` | Artifact root, default `.e2e/artifacts`. |
@@ -78,6 +80,9 @@ recorded flow is stale — `--no-cache` only skips the cache for one run.
78
80
  - `junit`: `.e2e/junit.xml` beside the report, for CI test summaries.
79
81
  Combine it with the terminal output: `--reporter list,junit`.
80
82
  - `json`: the report document on stdout.
83
+ - `github()` from `@e2edev/github`: on GitHub Actions, one pull request comment per
84
+ run (edited on rerun) and the job summary; needs `pull-requests: write` and
85
+ `GITHUB_TOKEN` in the step's env.
81
86
  - Artifacts (screenshots, Playwright traces, `--video` recordings, `--debug`
82
87
  transcripts, downloads) live under `.e2e/artifacts/`; every path is
83
88
  recorded in the report.
@@ -151,5 +156,5 @@ jobs:
151
156
  - Start the app through the engine's `command`; the runner tears it down on
152
157
  every exit path.
153
158
  - Agentic suites: a separate config, run on `schedule` or
154
- `workflow_dispatch`, `E2E_MODEL` as a CI variable and `E2E_MODEL_API_KEY`
155
- as a secret, never a required check.
159
+ `workflow_dispatch`, the key the config's model reads (`AI_GATEWAY_API_KEY`
160
+ for `gateway()` from `ai`) as a secret, never a required check.