@e2edev/e2e 0.13.0 → 0.14.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 (127) hide show
  1. package/dist/agent/act.js +4 -1
  2. package/dist/agent/act.js.map +1 -1
  3. package/dist/agent/action-dispatcher.d.ts +3 -3
  4. package/dist/agent/action-dispatcher.js +3 -3
  5. package/dist/agent/error.d.ts.map +1 -1
  6. package/dist/agent/error.js +1 -0
  7. package/dist/agent/error.js.map +1 -1
  8. package/dist/agent/executor.d.ts +3 -3
  9. package/dist/agent/phases.js +1 -1
  10. package/dist/agent/phases.js.map +1 -1
  11. package/dist/agent/primitives.d.ts.map +1 -1
  12. package/dist/agent/primitives.js +3 -2
  13. package/dist/agent/primitives.js.map +1 -1
  14. package/dist/agent/secrets.d.ts.map +1 -1
  15. package/dist/agent/secrets.js +13 -9
  16. package/dist/agent/secrets.js.map +1 -1
  17. package/dist/agent/step-accounting.d.ts +12 -1
  18. package/dist/agent/step-accounting.d.ts.map +1 -1
  19. package/dist/agent/step-accounting.js +18 -3
  20. package/dist/agent/step-accounting.js.map +1 -1
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +5 -8
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/cli/init/engine-versions.json +1 -1
  25. package/dist/cli/init/engines.d.ts +19 -9
  26. package/dist/cli/init/engines.d.ts.map +1 -1
  27. package/dist/cli/init/engines.js +24 -11
  28. package/dist/cli/init/engines.js.map +1 -1
  29. package/dist/cli/init/scaffold.d.ts.map +1 -1
  30. package/dist/cli/init/scaffold.js +1 -3
  31. package/dist/cli/init/scaffold.js.map +1 -1
  32. package/dist/cli/init.d.ts.map +1 -1
  33. package/dist/cli/init.js +1 -0
  34. package/dist/cli/init.js.map +1 -1
  35. package/dist/config/diagnose.d.ts.map +1 -1
  36. package/dist/config/diagnose.js +2 -0
  37. package/dist/config/diagnose.js.map +1 -1
  38. package/dist/config/resolve.d.ts +11 -2
  39. package/dist/config/resolve.d.ts.map +1 -1
  40. package/dist/config/resolve.js +43 -18
  41. package/dist/config/resolve.js.map +1 -1
  42. package/dist/config/secrets.d.ts +89 -0
  43. package/dist/config/secrets.d.ts.map +1 -0
  44. package/dist/config/secrets.js +67 -0
  45. package/dist/config/secrets.js.map +1 -0
  46. package/dist/engine/contract.d.ts +8 -0
  47. package/dist/engine/contract.d.ts.map +1 -1
  48. package/dist/engine/contract.js.map +1 -1
  49. package/dist/explore/body.js +1 -1
  50. package/dist/explore/body.js.map +1 -1
  51. package/dist/index.d.ts +3 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +4 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/locator/engine.d.ts.map +1 -1
  56. package/dist/locator/engine.js +1 -0
  57. package/dist/locator/engine.js.map +1 -1
  58. package/dist/mcp/session.d.ts +1 -1
  59. package/dist/mcp/session.d.ts.map +1 -1
  60. package/dist/mcp/session.js +8 -4
  61. package/dist/mcp/session.js.map +1 -1
  62. package/dist/report/builtin.d.ts +14 -0
  63. package/dist/report/builtin.d.ts.map +1 -0
  64. package/dist/report/builtin.js +22 -0
  65. package/dist/report/builtin.js.map +1 -0
  66. package/dist/report/explore-text.d.ts +17 -0
  67. package/dist/report/explore-text.d.ts.map +1 -0
  68. package/dist/report/explore-text.js +37 -0
  69. package/dist/report/explore-text.js.map +1 -0
  70. package/dist/report/format.d.ts +2 -0
  71. package/dist/report/format.d.ts.map +1 -1
  72. package/dist/report/format.js +1 -1
  73. package/dist/report/format.js.map +1 -1
  74. package/dist/report/junit.d.ts +2 -4
  75. package/dist/report/junit.d.ts.map +1 -1
  76. package/dist/report/junit.js +7 -40
  77. package/dist/report/junit.js.map +1 -1
  78. package/dist/report/list-explore.d.ts +1 -1
  79. package/dist/report/list-explore.d.ts.map +1 -1
  80. package/dist/report/list-explore.js +5 -25
  81. package/dist/report/list-explore.js.map +1 -1
  82. package/dist/report/markdown.d.ts +39 -0
  83. package/dist/report/markdown.d.ts.map +1 -0
  84. package/dist/report/markdown.js +426 -0
  85. package/dist/report/markdown.js.map +1 -0
  86. package/dist/report/outcome.d.ts +29 -0
  87. package/dist/report/outcome.d.ts.map +1 -0
  88. package/dist/report/outcome.js +36 -0
  89. package/dist/report/outcome.js.map +1 -0
  90. package/dist/report/write.d.ts +10 -1
  91. package/dist/report/write.d.ts.map +1 -1
  92. package/dist/report/write.js +22 -1
  93. package/dist/report/write.js.map +1 -1
  94. package/dist/run/execute.js +1 -1
  95. package/dist/run/execute.js.map +1 -1
  96. package/dist/run/fixtures.d.ts.map +1 -1
  97. package/dist/run/fixtures.js +22 -7
  98. package/dist/run/fixtures.js.map +1 -1
  99. package/dist/run/runner.d.ts.map +1 -1
  100. package/dist/run/runner.js +5 -7
  101. package/dist/run/runner.js.map +1 -1
  102. package/dist/run/secrecy.d.ts +3 -3
  103. package/dist/run/secrecy.d.ts.map +1 -1
  104. package/dist/run/secrecy.js +4 -4
  105. package/dist/run/secrecy.js.map +1 -1
  106. package/dist/run/standalone.js +6 -6
  107. package/dist/run/standalone.js.map +1 -1
  108. package/dist/run/worker/entry.js +2 -2
  109. package/dist/run/worker/entry.js.map +1 -1
  110. package/dist/secrets.d.ts +21 -0
  111. package/dist/secrets.d.ts.map +1 -0
  112. package/dist/secrets.js +66 -0
  113. package/dist/secrets.js.map +1 -0
  114. package/dist/types.d.ts +21 -37
  115. package/dist/types.d.ts.map +1 -1
  116. package/package.json +2 -2
  117. package/skills/e2e/SKILL.md +39 -21
  118. package/skills/e2e/references/agent.md +55 -14
  119. package/skills/e2e/references/debugging.md +2 -1
  120. package/skills/e2e/references/mcp.md +1 -1
  121. package/skills/e2e/references/running.md +11 -4
  122. package/skills/e2e/references/setup.md +17 -4
  123. package/skills/e2e/references/writing-tests.md +20 -11
  124. package/dist/credentials.d.ts +0 -13
  125. package/dist/credentials.d.ts.map +0 -1
  126. package/dist/credentials.js +0 -51
  127. package/dist/credentials.js.map +0 -1
@@ -0,0 +1,21 @@
1
+ /** Opaque secret and credential handles. */
2
+ import type { ResolvedConfig } from './config/resolve.ts';
3
+ import type { Credentials, Secret, Secrets } from './types.ts';
4
+ /** What the handles resolve against: the run's accounts and every secret by name. */
5
+ export type SecretRegistry = Pick<ResolvedConfig, 'credentials' | 'secrets'>;
6
+ /** Installed by the runner once config resolution completes. */
7
+ export declare function setSecretRegistry(registry: SecretRegistry | undefined): void;
8
+ /**
9
+ * Removes `registry` from the slot if it is still the installed one. A host
10
+ * that closes one attempt while opening the next must not wipe what the new
11
+ * attempt just installed.
12
+ */
13
+ export declare function releaseSecretRegistry(registry: SecretRegistry): void;
14
+ /**
15
+ * The code an unresolvable secret fails with: a credential's password is a
16
+ * credential problem, any other secret a secret problem.
17
+ */
18
+ export declare function unavailableCode(secret: Pick<Secret, 'purpose'>): 'AUTH_CREDENTIAL_UNAVAILABLE' | 'SECRET_UNAVAILABLE';
19
+ export declare const credentials: Credentials;
20
+ export declare const secrets: Secrets;
21
+ //# sourceMappingURL=secrets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAK5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,EAAiB,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1F,qFAAqF;AACrF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,aAAa,GAAG,SAAS,CAAC,CAAC;AAK7E,gEAAgE;AAChE,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAG5E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAEpE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,6BAA6B,GAAG,oBAAoB,CAErH;AAcD,eAAO,MAAM,WAAW,EAAE,WAiBzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,OAYrB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /** Opaque secret and credential handles. */
2
+ import { credentialBrand, secretBrand } from './internal/brands.js';
3
+ import { ConfigurationError } from './internal/errors.js';
4
+ import { realmSlot } from './internal/realm-slot.js';
5
+ import { envName } from './config/secrets.js';
6
+ /** Global slot so test modules in an isolated realm reach the runner's registry. */
7
+ const registrySlot = realmSlot('e2e.secrets.v1');
8
+ /** Installed by the runner once config resolution completes. */
9
+ export function setSecretRegistry(registry) {
10
+ if (registry === undefined)
11
+ registrySlot.delete(globalThis);
12
+ else
13
+ registrySlot.set(globalThis, registry);
14
+ }
15
+ /**
16
+ * Removes `registry` from the slot if it is still the installed one. A host
17
+ * that closes one attempt while opening the next must not wipe what the new
18
+ * attempt just installed.
19
+ */
20
+ export function releaseSecretRegistry(registry) {
21
+ if (registrySlot.get(globalThis) === registry)
22
+ registrySlot.delete(globalThis);
23
+ }
24
+ /**
25
+ * The code an unresolvable secret fails with: a credential's password is a
26
+ * credential problem, any other secret a secret problem.
27
+ */
28
+ export function unavailableCode(secret) {
29
+ return secret.purpose === 'password' ? 'AUTH_CREDENTIAL_UNAVAILABLE' : 'SECRET_UNAVAILABLE';
30
+ }
31
+ function requireRegistry(caller, code) {
32
+ const registry = registrySlot.get(globalThis);
33
+ if (registry === undefined) {
34
+ throw new ConfigurationError(code, `${caller} is only available while the e2e runner is active`);
35
+ }
36
+ return registry;
37
+ }
38
+ function makeSecret(name, purpose) {
39
+ return Object.freeze({ name, purpose, [secretBrand]: true });
40
+ }
41
+ export const credentials = {
42
+ user(name) {
43
+ const registry = requireRegistry('credentials.user()', 'AUTH_CREDENTIAL_UNAVAILABLE');
44
+ const resolved = registry.credentials.get(name);
45
+ if (resolved === undefined) {
46
+ throw new ConfigurationError('AUTH_CREDENTIAL_UNAVAILABLE', `credential "${name}" is not configured; add it to config.credentials or E2E_USER_* variables`);
47
+ }
48
+ return Object.freeze({
49
+ name,
50
+ username: resolved.username,
51
+ password: makeSecret(name, 'password'),
52
+ [credentialBrand]: true,
53
+ });
54
+ },
55
+ };
56
+ export const secrets = {
57
+ get(name) {
58
+ const registry = requireRegistry('secrets.get()', 'SECRET_UNAVAILABLE');
59
+ const resolved = registry.secrets.get(name);
60
+ if (resolved === undefined) {
61
+ throw new ConfigurationError('SECRET_UNAVAILABLE', `secret "${name}" is not configured; add it to config.secrets or set ${envName('E2E_SECRET', name)}`);
62
+ }
63
+ return makeSecret(name, resolved.purpose);
64
+ },
65
+ };
66
+ //# sourceMappingURL=secrets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../src/secrets.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAE5C,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;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAM9C,oFAAoF;AACpF,MAAM,YAAY,GAAG,SAAS,CAAiB,gBAAgB,CAAC,CAAC;AAEjE,gEAAgE;AAChE,MAAM,UAAU,iBAAiB,CAAC,QAAoC;IACpE,IAAI,QAAQ,KAAK,SAAS;QAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;;QACvD,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAwB;IAC5D,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,QAAQ;QAAE,YAAY,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;AACjF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,oBAAoB,CAAC;AAC9F,CAAC;AAED,SAAS,eAAe,CAAC,MAAc,EAAE,IAA0D;IACjG,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,kBAAkB,CAAC,IAAI,EAAE,GAAG,MAAM,mDAAmD,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,UAAU,CAAC,IAAY,EAAE,OAAsB;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,IAAa,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAgB;IACtC,IAAI,CAAC,IAAY;QACf,MAAM,QAAQ,GAAG,eAAe,CAAC,oBAAoB,EAAE,6BAA6B,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,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,EAAE,UAAU,CAAC;YACtC,CAAC,eAAe,CAAC,EAAE,IAAa;SACjC,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAY;IAC9B,GAAG,CAAC,IAAY;QACd,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,kBAAkB,CAC1B,oBAAoB,EACpB,WAAW,IAAI,wDAAwD,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE,CACrG,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;CACF,CAAC"}
package/dist/types.d.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  * Public SDK types. The emitted `dist/index.d.ts` is the contract;
3
3
  * `tests/types/sdk-types.ts` pins the parts that are easy to loosen by accident.
4
4
  */
5
- import type { credentialBrand, expectationBrand, secretBrand, testCaseBrand } from './internal/brands.ts';
5
+ import type { expectationBrand, testCaseBrand } from './internal/brands.ts';
6
+ import type { CredentialConfig, Secret, SecretConfig } from './config/secrets.ts';
6
7
  import type { StepExecutor } from './agent/executor.ts';
7
8
  import type { StepCacheInfo } from './run/steps.ts';
8
9
  import type { EngineHandle } from './engine/index.ts';
@@ -11,6 +12,7 @@ import type { RunEvent, RunExitCode, RunStatus } from './run/events.ts';
11
12
  import type { Report1Document } from './report/build.ts';
12
13
  export type { CacheReadResult, TraceCacheStore } from './cache/store.ts';
13
14
  export type { StepCacheInfo } from './run/steps.ts';
15
+ export type { Credential, CredentialConfig, Credentials, Secret, SecretConfig, SecretDeclaration, SecretProvider, SecretPurpose, Secrets, } from './config/secrets.ts';
14
16
  export type { ActionTrace, RecordedAction, TraceEntry, TraceTargetDescriptor, } from './cache/trace.ts';
15
17
  export type JsonPrimitive = string | number | boolean | null;
16
18
  export type JsonValue = JsonPrimitive | {
@@ -20,23 +22,6 @@ export type Platform = 'web' | 'ios' | 'android' | (string & {});
20
22
  export type Capability = string;
21
23
  export type ScrollDirection = 'up' | 'down' | 'left' | 'right';
22
24
  export type Momentum = 'none' | 'slow' | 'fast';
23
- /** Opaque host-side value accepted only by sensitive input sinks. */
24
- export interface Secret {
25
- readonly name: string;
26
- readonly purpose: 'password' | 'one-time-code' | 'generic-secret';
27
- readonly [secretBrand]: true;
28
- }
29
- /** Named test identity. The password remains an opaque Secret. */
30
- export interface Credential {
31
- readonly name: string;
32
- readonly username: string;
33
- readonly password: Secret;
34
- readonly [credentialBrand]: true;
35
- }
36
- export interface Credentials {
37
- /** Resolves a named credential without exposing its password. */
38
- user(name: string): Credential;
39
- }
40
25
  export interface StandardSchemaV1<Input = unknown, Output = Input> {
41
26
  readonly '~standard': StandardSchemaV1.Props<Input, Output>;
42
27
  }
@@ -154,7 +139,7 @@ export interface ActResult {
154
139
  /** Grammar actions and mutating tool calls the step performed. */
155
140
  readonly actions: number;
156
141
  }
157
- 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';
142
+ export type AgentErrorCode = 'AUTH_CREDENTIAL_UNAVAILABLE' | 'AUTH_CREDENTIAL_INVALID' | 'SECRET_UNAVAILABLE' | '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';
158
143
  export interface Agent {
159
144
  /** Plans and executes a bounded multi-action flow; resolves with what the step did. */
160
145
  act(instruction: string, options?: ActOptions): Promise<ActResult>;
@@ -746,7 +731,7 @@ export interface AgentConfig {
746
731
  providerOptions?: ProviderOptions;
747
732
  }
748
733
  /** The reporters the runner ships, named by id; each is a `Reporter` on the same contract. */
749
- export type BuiltinReporter = 'list' | 'json' | 'junit';
734
+ export type BuiltinReporter = 'list' | 'json' | 'junit' | 'markdown';
750
735
  /**
751
736
  * The run's report document, the one `.e2e/report.json` holds. Its
752
737
  * `schemaVersion` names the wire format (`report-1`), pinned by
@@ -774,8 +759,8 @@ export type ReporterSummary = readonly {
774
759
  readonly text: string;
775
760
  }[];
776
761
  /**
777
- * A reporter in `reporters`, the contract the built-in `list`, `json`, and
778
- * `junit` reporters implement too. `onEvent` sees every run event as it
762
+ * A reporter in `reporters`, the contract the built-in `list`, `json`,
763
+ * `junit`, and `markdown` reporters implement too. `onEvent` sees every run event as it
779
764
  * happens, exactly what the `list` reporter renders, and must not block: a
780
765
  * throw quarantines it for the rest of the run. Event types are added over
781
766
  * time; a reporter handles the ones it knows and ignores the rest. `onRunFinished` runs once
@@ -810,7 +795,8 @@ export interface E2EConfig {
810
795
  artifacts?: readonly ConfiguredArtifactKind[] | ArtifactsConfig;
811
796
  /**
812
797
  * Output renderers and reporter objects. `junit` writes `.e2e/junit.xml`,
813
- * `json` prints the report and excludes `list`; a `Reporter` object runs
798
+ * `markdown` writes `.e2e/summary.md`, `json` prints the report and
799
+ * excludes `list`; a `Reporter` object runs
814
800
  * beside them and `--reporter` never removes it.
815
801
  */
816
802
  reporters?: readonly (BuiltinReporter | Reporter)[];
@@ -847,19 +833,17 @@ export interface E2EConfig {
847
833
  maxEventsPerStep?: number;
848
834
  maxModelTokensPerCall?: number;
849
835
  };
850
- credentials?: Readonly<Record<string, {
851
- username: string;
852
- password: string | SecretProvider;
853
- allowedOrigins?: readonly string[];
854
- }>>;
836
+ /**
837
+ * Named accounts. A credential's password is registered as a secret under
838
+ * the credential's name, so the name may not also appear under `secrets`.
839
+ */
840
+ credentials?: Readonly<Record<string, CredentialConfig>>;
841
+ /**
842
+ * Named values the model must never see: API keys, tokens, anything sourced
843
+ * from the environment. `secrets.get(name)` hands a test the opaque handle;
844
+ * the value is filled by the runner, masked in every observation, and
845
+ * redacted from logs, traces, and the report.
846
+ */
847
+ secrets?: Readonly<Record<string, SecretConfig>>;
855
848
  }
856
- /**
857
- * Resolves a secret's plaintext at fill time — a vault lookup, a freshly
858
- * computed TOTP — instead of a value baked at config load. Called on every
859
- * fill after the full authorization policy passes; the resolved value goes
860
- * straight to the trusted driver, joins runner-side redaction, and is never
861
- * logged, cached, or sent to a model. Like executors and stores, a provider
862
- * never crosses a process boundary: workers re-resolve the config module.
863
- */
864
- export type SecretProvider = () => string | Promise<string>;
865
849
  //# sourceMappingURL=types.d.ts.map
@@ -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.13.0",
3
+ "version": "0.14.0",
4
4
  "description": "SDK, runner, and CLI for agentic end-to-end testing",
5
5
  "keywords": [
6
6
  "e2e",
@@ -85,7 +85,7 @@
85
85
  "node": ">=22.12.0"
86
86
  },
87
87
  "scripts": {
88
- "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 read=(dir)=>JSON.parse(fs.readFileSync('../'+dir+'/package.json','utf8'));const versions=Object.fromEntries(['playwright','agent-device'].map((dir)=>['@e2edev/'+dir,read(dir).version]));versions.playwright=read('playwright').devDependencies.playwright;fs.writeFileSync('dist/cli/init/engine-versions.json',JSON.stringify(versions)+'\\n')\"",
88
+ "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 read=(dir)=>JSON.parse(fs.readFileSync('../'+dir+'/package.json','utf8'));const versions=Object.fromEntries(['playwright','agent-device'].map((dir)=>['@e2edev/'+dir,read(dir).version]));versions.playwright=read('playwright').devDependencies.playwright;versions['agent-device']=read('agent-device').devDependencies['agent-device'];fs.writeFileSync('dist/cli/init/engine-versions.json',JSON.stringify(versions)+'\\n')\"",
89
89
  "typecheck": "tsc --noEmit",
90
90
  "test": "vitest run",
91
91
  "test:watch": "vitest",
@@ -1,17 +1,22 @@
1
1
  ---
2
2
  name: e2e
3
- description: Set up and write end-to-end tests with e2e, the @e2edev/e2e runner. Covers scaffolding e2e.config.ts, choosing the Playwright browser engine or the agent-device mobile engine, starting the app under test from the config, writing tests that mix deterministic screen, app, web, and expect calls with bounded agent.act, agent.assert, agent.waitFor, and agent.extract steps, running them with the e2e CLI, and reading .e2e/report.json when a run fails. Use when a project depends on @e2edev/e2e, when asked to add end-to-end, browser, mobile, or agentic UI tests, or when an e2e run fails.
3
+ description: Set up and write agentic end-to-end tests with e2e, the @e2edev/e2e runner. Covers scaffolding e2e.config.ts, choosing the Playwright browser engine or the agent-device mobile engine, starting the app under test from the config, writing tests that drive flows with agent.act and judge them with agent.assert, agent.waitFor, and agent.extract, pinning exact values and outcomes with screen, app, web, and expect, shaping the agent for the app (context, system prompt, tools, personas), the trace cache that replays passing steps, running with the e2e CLI, and reading .e2e/report.json when a run fails. Use when a project depends on @e2edev/e2e, when asked to add end-to-end, browser, mobile, or agentic UI tests, or when an e2e run fails.
4
4
  ---
5
5
 
6
- # e2e: end-to-end tests in TypeScript, with bounded agent steps
6
+ # e2e: agentic end-to-end tests in TypeScript
7
7
 
8
- e2e is a local-first end-to-end test runner. Tests are plain TypeScript.
9
- Deterministic calls (`screen`, `app`, `web`, `expect`) do exactly what they
10
- say and make no model calls. Agent calls (`agent.act`, `agent.assert`,
11
- `agent.waitFor`, `agent.extract`) hand one goal or one question to a model
12
- under a deadline and a call budget. The runner knows no platform: every
13
- target names an engine, `@e2edev/playwright` for browsers or
14
- `@e2edev/agent-device` for iOS simulators and Android emulators.
8
+ e2e is an agentic end-to-end test runner. A test drives the app the way a
9
+ user would: `agent.act` takes one goal in natural language and a model works
10
+ through the live UI to reach it; `agent.assert`, `agent.waitFor`, and
11
+ `agent.extract` ask one question about the screen. Every call runs under a
12
+ deadline and a model-call budget and ends in a verdict. Exact values and
13
+ exact outcomes go through `screen`, `app`, `web`, and `expect` in the same
14
+ test. A passing `act` is recorded in the trace cache and replays with no
15
+ model call until the app changes, so a suite pays for thinking once per
16
+ change, not once per run, and a renamed button does not break it. The
17
+ runner knows no platform: every target names an engine,
18
+ `@e2edev/playwright` for browsers or `@e2edev/agent-device` for iOS
19
+ simulators and Android emulators.
15
20
 
16
21
  ```ts
17
22
  // e2e.config.ts
@@ -29,7 +34,7 @@ export default {
29
34
  }),
30
35
  },
31
36
  ],
32
- // Only needed for agent.* steps. The model is an AI SDK instance; gateway() from 'ai' reads AI_GATEWAY_API_KEY.
37
+ // The model behind every agent.* step: an AI SDK instance; gateway() from 'ai' reads AI_GATEWAY_API_KEY.
33
38
  agents: {
34
39
  default: createAgent({
35
40
  model: gateway('openai/gpt-5.6-luna'),
@@ -79,11 +84,15 @@ one. Without them, the installed CLI prints the same text:
79
84
  `--headed`, or drive the live app through the `e2e mcp` server when it is
80
85
  registered (topic `mcp`): `open_session`, `observe`, and `locate` show the
81
86
  exact names and check a locator before you write it.
82
- 3. Write `tests/<feature>.e2e.ts`. Deterministic steps first. One `agent.act`
83
- per goal where the flow varies, and an `expect` on its outcome right after.
84
- 4. Run one file: `npx e2e run tests/<feature>.e2e.ts`. Agent
85
- steps need a model in the config and its provider's key in the environment
86
- (`AI_GATEWAY_API_KEY` for `gateway()`); deterministic tests need neither.
87
+ 3. Write `tests/<feature>.e2e.ts`. Drive the flow with `agent.act`, one goal
88
+ per call, and pin each outcome right after with `expect` or
89
+ `agent.assert`. Exact values go through `screen` directly: a sign-in form
90
+ in a setup test, a field that must receive one specific string, a count
91
+ that must be one specific number.
92
+ 4. Run one file: `npx e2e run tests/<feature>.e2e.ts`. Agent steps need a
93
+ model in the config and its provider's key in the environment
94
+ (`AI_GATEWAY_API_KEY` for `gateway()`). A test with no agent step needs
95
+ neither.
87
96
  5. Read the failure: the reporter prints the error code, the message, and a
88
97
  code frame; `.e2e/report.json` has every step and artifact path. Fix the
89
98
  locator, the expectation, or the app. Never add a sleep.
@@ -96,7 +105,7 @@ one. Without them, the installed CLI prints the same text:
96
105
  each target names its engine. The engine declares the app:
97
106
  `playwright({ url, command })`. There is no top-level `app` key and no
98
107
  `defineConfig`.
99
- - Import `test`, `expect`, and `credentials` from `@e2edev/e2e`. A test that
108
+ - Import `test`, `expect`, `credentials`, and `secrets` from `@e2edev/e2e`. A test that
100
109
  uses the `web` fixture imports `test` from `@e2edev/playwright` instead: the
101
110
  same runtime `test`, typed with `web`.
102
111
  - Config and tests are ES modules and load as such whatever `package.json` sets as `type`.
@@ -105,13 +114,22 @@ one. Without them, the installed CLI prints the same text:
105
114
  matcher when a value has to settle.
106
115
  - A locator that matches two nodes fails with `LOCATOR_AMBIGUOUS`. Narrow it
107
116
  with `{ name }`, `filter()`, `first()`, `nth()`, or `{ visible: true }`.
108
- - Secrets never appear in test code. Declare `credentials` in the config,
109
- resolve with `credentials.user(name)`, and hand `.password` (an opaque
110
- `Secret`) only to `fill()` or to `agent.act` params.
117
+ - Secrets never appear in test code. Declare accounts under `credentials`
118
+ and every other sensitive value (API keys, tokens) under `secrets` in the
119
+ config; resolve with `credentials.user(name).password` or
120
+ `secrets.get(name)`, and hand the opaque `Secret` only to `fill()` or to
121
+ `agent.act` params.
111
122
  - Agent instructions: one goal per `act`, the wording on screen, real values
112
123
  in params. Judge meaning, not phrasing: `toContain('Pro')`, not an exact
113
124
  sentence a model produced.
114
- - Prefer `expect` for anything mechanical. Agent calls cost tokens and time;
115
- spend them on the step whose wording or path varies.
125
+ - Let the agent drive and pin the outcome. With the cache on, a passing
126
+ `act` costs model calls once and replays after that, so the cost of a step
127
+ is paid per UI change, not per run. Spend effort on the goal's wording,
128
+ not on avoiding agent steps.
129
+ - Shape the agent for this app and keep iterating on it: `context` for
130
+ vocabulary the screens use, `system` on `createAgent` for how it works,
131
+ tools for a test API, and named personas under `agents`. When a step
132
+ fails, tighten the goal first, then the context, then the agent. Topic
133
+ `agent` has the loop.
116
134
  - `.e2e/` is output (`report.json`, `artifacts/`, `cache/`, `logs/`). Read it,
117
135
  never edit it.
@@ -1,8 +1,9 @@
1
1
  # Agent steps
2
2
 
3
- `agent` is a fixture like `screen`. Each call is one bounded invocation: a
4
- fresh redacted observation, a deadline, a model-call budget, and no shared
5
- transcript between calls. Deterministic tests never load a model.
3
+ `agent` is a fixture like `screen` and the main way a test drives the app.
4
+ Each call is one bounded invocation: a fresh redacted observation, a
5
+ deadline, a model-call budget, and no shared transcript between calls. A
6
+ test with no agent step never loads a model.
6
7
 
7
8
  ## Configure a model
8
9
 
@@ -179,8 +180,9 @@ tool call before it executes.
179
180
  | `extract` | 2 | 30 s |
180
181
  | `waitFor` | up to `agent.maxModelCalls` (25) | 30 s |
181
182
 
182
- - Keep `agent.*` for steps whose path or wording varies; `expect` and
183
- `screen` are free.
183
+ - With the cache on, a passing `act` costs model calls once and replays on
184
+ later runs until the app changes. Budget for the runs where the UI moved,
185
+ not for every run.
184
186
  - Slow providers: raise the test `timeout` and `actionTimeout` (each
185
187
  observation and action inside a step is bounded by it) rather than reading
186
188
  latency as a defect. `STEP_TIMEOUT` and `STEP_BUDGET_EXHAUSTED` are test
@@ -193,14 +195,25 @@ tool call before it executes.
193
195
  Each passing `agent.act` records the actions it performed. The next run
194
196
  replays them with zero model calls and hands back to the live agent the
195
197
  moment the app no longer matches the recording, or when the recorded end
196
- state is not on screen after the replay.
198
+ state is not on screen after the replay. Replayed actions run as a test's
199
+ own steps do, without the agent's settle wait, so a replay is as fast as
200
+ the deterministic equivalent.
197
201
 
198
202
  - On by default (`read-write`), `read-only` in CI, `cache: 'off'` in the
199
203
  config or `--no-cache` on a run to disable. Entries live in `.e2e/cache/`;
200
204
  deleting the directory only slows the next run.
201
- - An entry is written only after a later verification step passes
202
- (`expect`, `locator.waitFor`, `agent.assert`, `agent.waitFor`). An `act`
203
- nothing checks is never replayed.
205
+ - An entry is written only after a later verification step passes: a
206
+ locator or engine `expect` matcher, `locator.waitFor`, `web.waitForURL`,
207
+ `agent.assert`, or `agent.waitFor`. A plain-value `expect`, `expect.poll`,
208
+ `agent.extract`, another `act`, or the attempt passing confirms nothing.
209
+ An `act` nothing checks is never replayed.
210
+ - A replay needs the app on the path the step was recorded on, unless the
211
+ recording opens with a navigation. It re-finds each control by role, name,
212
+ test id, placeholder, and input purpose, and passes on its own only when
213
+ the recorded end path and the controls that appeared during the step are
214
+ back. Otherwise the agent takes over mid-step. The report's
215
+ `step.cache.reason` says why: `no-entry`, `wrong-context`,
216
+ `target-not-found`, `target-ambiguous`, `end-mismatch`, and so on.
204
217
  - A step that records no actions creates no entry and skips the cache's
205
218
  end-state observation.
206
219
  - `e2e init` gitignores `.e2e/cache/`; committing entries is opt-in. Remove
@@ -226,6 +239,32 @@ The trace replaces inline bytes and base64 in SDK image and file message
226
239
  parts with decoded byte counts. URLs and text remain; encoded strings in
227
240
  arbitrary tool result JSON or other fields are preserved.
228
241
 
242
+ ## Make the agent yours
243
+
244
+ The agent in the config is a starting point. The best agent for an app is
245
+ the one that knows its screens, and that comes from iterating on it:
246
+
247
+ 1. **The goal.** A failed step usually means the goal named something the
248
+ screen does not. Reword it with the labels on screen. Check the step's
249
+ transcript with `--debug` to see what the model saw and tried.
250
+ 2. **`context`.** Vocabulary every step needs: what the plans are called,
251
+ what a "workspace" is, which tab holds billing. Set it once on the agent
252
+ or per test with `agentContext`, not in every instruction.
253
+ 3. **`system` on `createAgent`.** How the agent works: how carefully it
254
+ verifies, what it never does, how it treats a modal. A UX reviewer, a
255
+ cautious QA persona, and a fast smoke agent are three `system` prompts on
256
+ the same model.
257
+ 4. **Tools.** A test API the agent may call mid-flow (seed a cart, mint a
258
+ coupon) via `createAgent({ tools })`; see below.
259
+ 5. **The model and its options.** `providerOptions` for reasoning effort,
260
+ or a different model for one persona. `npx e2e run --agent <name>` runs
261
+ the suite as any configured agent, so two candidates can be compared on
262
+ the same tests; every result records which agent ran it.
263
+
264
+ Personas are agents by name under `agents`, pinned with `{ agent }` on a
265
+ test or block, or swept with `--agent buyer,admin`. The trace cache records
266
+ per agent step, so a specialised agent gets the same replay benefit.
267
+
229
268
  ## Beyond the built-in agent
230
269
 
231
270
  - `createAgent({ tools: { seedCart } })` adds AI SDK tools wrapped with
@@ -241,8 +280,10 @@ Full reference: https://e2e.mintlify.app/agents
241
280
 
242
281
  ## In CI
243
282
 
244
- Deterministic tests gate merges; agentic tests are opt-in. Keep them in a
245
- separate config (`e2e.agent.config.ts` with its own `tests` glob and a larger
246
- `timeout`), run them on a schedule or `workflow_dispatch`, and pass the key
247
- the config's model reads (`env: { AI_GATEWAY_API_KEY }` for `gateway()`) from
248
- secrets.
283
+ One suite, one job, on every pull request, agent steps included. Pass the
284
+ key the config's model reads (`env: { AI_GATEWAY_API_KEY }` for `gateway()`)
285
+ from secrets. Commit `.e2e/cache/` so CI replays recorded steps with no
286
+ model call and consults the model only where the app changed; keep every
287
+ `act` followed by a check so the recording is trusted. CI retries once and
288
+ reports a pass-on-retry as flaky, so the report keeps naming the goals that
289
+ need tightening.
@@ -40,12 +40,13 @@ jq '.run.results[] | select(.status != "passed") | .attempts[-1]
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
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 |
43
- | `POLICY_DENIED` | Navigation outside `allowedOrigins`; a `Secret` given to a sink that is not a password field; reading a secure field; `app.screenshot()` after a secret fill | Add the origin to `allowedOrigins`; fill secrets only into password inputs; assert the outcome instead of the value; capture screenshots before filling secrets |
43
+ | `POLICY_DENIED` | Navigation outside `allowedOrigins`; a password `Secret` given to a sink that is not a password field; reading a secure field; `app.screenshot()` after a secret fill | Add the origin to `allowedOrigins`; fill passwords only into password inputs; assert the outcome instead of the value; capture screenshots before filling secrets |
44
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 |
45
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` |
46
46
  | `ONLY_IN_CI` | `test.only` reached CI | Remove it |
47
47
  | `BROWSER_INSTALL_FAILED`, `LAUNCH_TIMEOUT` | Browser download or launch failed | `npx playwright install chromium --with-deps`; raise `launchTimeout` on slow machines |
48
48
  | `AUTH_CREDENTIAL_UNAVAILABLE` | `credentials.user('x')` for an undeclared name | Add it to `config.credentials` |
49
+ | `SECRET_UNAVAILABLE` | `secrets.get('x')` for an undeclared name | Add it to `config.secrets` or set `E2E_SECRET_X` |
49
50
 
50
51
  ## Tools
51
52
 
@@ -45,7 +45,7 @@ The catalog, per session:
45
45
  | --- | --- |
46
46
  | `observe` | A fresh observation: one node per line as `#id role "name" ...`, plus the current path. |
47
47
  | `tap`, `type`, `press`, `select`, `scroll`, `navigate` | The grammar verbs, exactly as the testing agent gets them. Each reports what changed on screen; `observe` shows the whole screen. A verb the engine cannot honor is not listed and fails with `UNSUPPORTED_CAPABILITY`. |
48
- | `type_secret` | Fills a configured credential's password into a secure field by credential name; the plaintext never reaches the agent. Listed when the config declares `credentials`. |
48
+ | `type_secret` | Fills a configured secret by name: a credential's password into a password field, a `secrets` entry into any editable input; the plaintext never reaches the agent. Listed when the config declares `credentials` or `secrets`. |
49
49
  | `locate` | Tries a semantic locator (`role` + `name`, `text`, `label`, `placeholder`, `testId`, `exact`) and returns how many nodes match, which, and the `screen.*` call to write. |
50
50
  | `screenshot` | The masked pixels as an image, withheld once a secret was filled in the session. |
51
51
  | Project tools | Every `defineTool` passed to `createAgent({ tools })` that applies to the target's platform, under its own name; an engine pack such as `agentDeviceTools` adds `open_app`, `swipe`, `type_text`, `alert`. |
@@ -24,7 +24,7 @@ npx e2e telemetry [disable|enable] # anonymous usage telemetry: status, or the s
24
24
  | `--headed` | Visible browser or simulator when the engine supports it. |
25
25
  | `--agent <names>` | Run unpinned tests as other configured agents (`agents.<name>`), comma-separated or repeated; several names run each such test once per agent. Default is `agents.default`. |
26
26
  | `--workers <n>`, `--retries <n>` | Override the resolved values. |
27
- | `--reporter <ids>` | `list`, `json`, `junit`, comma-separated. `json` cannot combine with `list`. |
27
+ | `--reporter <ids>` | `list`, `json`, `junit`, `markdown`, comma-separated. `json` cannot combine with `list`. |
28
28
  | `--artifacts <dir>` | Artifact root, default `.e2e/artifacts`. |
29
29
  | `--no-cache` | Run with the trace cache off. |
30
30
  | `--pass-with-no-tests` | Exit 0 when nothing matches instead of `NO_TESTS`. |
@@ -84,6 +84,12 @@ recorded flow is stale — `--no-cache` only skips the cache for one run.
84
84
  `artifacts[]`, and `error`.
85
85
  - `junit`: `.e2e/junit.xml` beside the report, for CI test summaries.
86
86
  Combine it with the terminal output: `--reporter list,junit`.
87
+ - `markdown`: `.e2e/summary.md` beside the report: the counts and what the
88
+ run spent, a block per failed or flaky test with its error, the step it went
89
+ wrong at, the agent's explanation, and evidence paths, a row per file, every
90
+ test folded; or an exploration's findings and assessment. Paste it into a
91
+ pull request or a handoff rather than retelling the result:
92
+ `--reporter list,markdown`.
87
93
  - `json`: the report document on stdout.
88
94
  - `github()` from `@e2edev/github`: on GitHub Actions, one pull request comment per
89
95
  run (edited on rerun) and the job summary; needs `pull-requests: write` and
@@ -160,6 +166,7 @@ jobs:
160
166
  launch timeout.
161
167
  - Start the app through the engine's `command`; the runner tears it down on
162
168
  every exit path.
163
- - Agentic suites: a separate config, run on `schedule` or
164
- `workflow_dispatch`, the key the config's model reads (`AI_GATEWAY_API_KEY`
165
- for `gateway()` from `ai`) as a secret, never a required check.
169
+ - Agent steps run in the same job as everything else. Pass the key the
170
+ config's model reads (`AI_GATEWAY_API_KEY` for `gateway()` from `ai`) as
171
+ a secret in the run step's `env`, and commit `.e2e/cache/` so recorded
172
+ steps replay in CI with no model call.