@e2edev/e2e 0.5.1 → 0.6.1
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.
- package/README.md +24 -11
- package/dist/agent/act.d.ts +1 -1
- package/dist/agent/act.js +4 -2
- package/dist/agent/act.js.map +1 -1
- package/dist/agent/ai-sdk.d.ts +1 -2
- package/dist/agent/ai-sdk.d.ts.map +1 -1
- package/dist/agent/ai-sdk.js +1 -2
- package/dist/agent/ai-sdk.js.map +1 -1
- package/dist/agent/default-agent.d.ts +7 -3
- package/dist/agent/default-agent.d.ts.map +1 -1
- package/dist/agent/default-agent.js +2 -2
- package/dist/agent/default-agent.js.map +1 -1
- package/dist/agent/derived.d.ts +1 -1
- package/dist/agent/derived.js +1 -1
- package/dist/agent/error.d.ts +2 -2
- package/dist/agent/error.d.ts.map +1 -1
- package/dist/agent/error.js +2 -2
- package/dist/agent/error.js.map +1 -1
- package/dist/agent/executor.d.ts +8 -3
- package/dist/agent/executor.d.ts.map +1 -1
- package/dist/agent/executor.js +1 -1
- package/dist/agent/executor.js.map +1 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +8 -5
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/invocation.d.ts +2 -2
- package/dist/agent/invocation.d.ts.map +1 -1
- package/dist/agent/invocation.js +9 -3
- package/dist/agent/invocation.js.map +1 -1
- package/dist/agent/ledger.d.ts +1 -1
- package/dist/agent/ledger.js +1 -1
- package/dist/agent/model/adapter.d.ts +7 -4
- package/dist/agent/model/adapter.d.ts.map +1 -1
- package/dist/agent/model/adapter.js +2 -2
- package/dist/agent/model/adapter.js.map +1 -1
- package/dist/agent/model/router.d.ts +1 -1
- package/dist/agent/model/router.d.ts.map +1 -1
- package/dist/agent/model/router.js +1 -1
- package/dist/agent/model/router.js.map +1 -1
- package/dist/agent/model/sdk.d.ts +11 -1
- package/dist/agent/model/sdk.d.ts.map +1 -1
- package/dist/agent/model/sdk.js +54 -10
- package/dist/agent/model/sdk.js.map +1 -1
- package/dist/agent/observation.d.ts +1 -1
- package/dist/agent/observation.d.ts.map +1 -1
- package/dist/agent/observation.js +2 -2
- package/dist/agent/observation.js.map +1 -1
- package/dist/agent/prompts.d.ts +1 -1
- package/dist/agent/prompts.js +1 -1
- package/dist/agent/protocol.d.ts +2 -3
- package/dist/agent/protocol.d.ts.map +1 -1
- package/dist/agent/protocol.js +2 -3
- package/dist/agent/protocol.js.map +1 -1
- package/dist/agent/public.d.ts +1 -1
- package/dist/agent/public.js +1 -1
- package/dist/agent/replay.d.ts +1 -1
- package/dist/agent/replay.js +1 -1
- package/dist/agent/secrets.d.ts +1 -1
- package/dist/agent/secrets.d.ts.map +1 -1
- package/dist/agent/secrets.js +1 -1
- package/dist/agent/secrets.js.map +1 -1
- package/dist/agent/step-cache.d.ts +1 -1
- package/dist/agent/step-cache.d.ts.map +1 -1
- package/dist/agent/step-cache.js +7 -1
- package/dist/agent/step-cache.js.map +1 -1
- package/dist/agent/tool-loop.d.ts +7 -3
- package/dist/agent/tool-loop.d.ts.map +1 -1
- package/dist/agent/tool-loop.js +6 -5
- package/dist/agent/tool-loop.js.map +1 -1
- package/dist/agent/usage.d.ts +6 -1
- package/dist/agent/usage.d.ts.map +1 -1
- package/dist/agent/usage.js +12 -0
- package/dist/agent/usage.js.map +1 -1
- package/dist/cache/anchors.d.ts +1 -1
- package/dist/cache/anchors.js +1 -1
- package/dist/cache/context.d.ts +6 -1
- package/dist/cache/context.d.ts.map +1 -1
- package/dist/cache/context.js +2 -1
- package/dist/cache/context.js.map +1 -1
- package/dist/cache/decide.d.ts +1 -1
- package/dist/cache/decide.js +1 -1
- package/dist/cache/identity.d.ts +1 -1
- package/dist/cache/identity.js +1 -1
- package/dist/cache/recorder.d.ts +4 -2
- package/dist/cache/recorder.d.ts.map +1 -1
- package/dist/cache/recorder.js +10 -1
- package/dist/cache/recorder.js.map +1 -1
- package/dist/cache/relocate.d.ts +1 -1
- package/dist/cache/relocate.js +1 -1
- package/dist/cache/store.d.ts +1 -1
- package/dist/cache/store.js +1 -1
- package/dist/cache/trace.d.ts +16 -1
- package/dist/cache/trace.d.ts.map +1 -1
- package/dist/cache/trace.js +22 -1
- package/dist/cache/trace.js.map +1 -1
- package/dist/cli/bin.js +9 -1
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/cache.d.ts +25 -0
- package/dist/cli/cache.d.ts.map +1 -0
- package/dist/cli/cache.js +249 -0
- package/dist/cli/cache.js.map +1 -0
- package/dist/cli/docs-url.d.ts +3 -0
- package/dist/cli/docs-url.d.ts.map +1 -0
- package/dist/cli/docs-url.js +3 -0
- package/dist/cli/docs-url.js.map +1 -0
- package/dist/cli/guide.d.ts +4 -0
- package/dist/cli/guide.d.ts.map +1 -0
- package/dist/cli/guide.js +16 -0
- package/dist/cli/guide.js.map +1 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +210 -41
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init/agent-skill.d.ts +34 -0
- package/dist/cli/init/agent-skill.d.ts.map +1 -0
- package/dist/cli/init/agent-skill.js +44 -0
- package/dist/cli/init/agent-skill.js.map +1 -0
- package/dist/cli/init/engines.d.ts +31 -23
- package/dist/cli/init/engines.d.ts.map +1 -1
- package/dist/cli/init/engines.js +34 -24
- package/dist/cli/init/engines.js.map +1 -1
- package/dist/cli/init/package.d.ts +19 -3
- package/dist/cli/init/package.d.ts.map +1 -1
- package/dist/cli/init/package.js +20 -20
- package/dist/cli/init/package.js.map +1 -1
- package/dist/cli/init/scaffold.d.ts.map +1 -1
- package/dist/cli/init/scaffold.js +5 -3
- package/dist/cli/init/scaffold.js.map +1 -1
- package/dist/cli/init.d.ts +14 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +94 -16
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/signals.d.ts +4 -1
- package/dist/cli/signals.d.ts.map +1 -1
- package/dist/cli/signals.js +8 -2
- package/dist/cli/signals.js.map +1 -1
- package/dist/cli/skill.d.ts +16 -0
- package/dist/cli/skill.d.ts.map +1 -0
- package/dist/cli/skill.js +57 -0
- package/dist/cli/skill.js.map +1 -0
- package/dist/collect/collect.d.ts +9 -1
- package/dist/collect/collect.d.ts.map +1 -1
- package/dist/collect/collect.js +50 -5
- package/dist/collect/collect.js.map +1 -1
- package/dist/collect/registry.d.ts +1 -1
- package/dist/collect/registry.d.ts.map +1 -1
- package/dist/collect/registry.js +1 -1
- package/dist/collect/registry.js.map +1 -1
- package/dist/collect/select.d.ts +1 -1
- package/dist/collect/select.d.ts.map +1 -1
- package/dist/collect/select.js +77 -8
- package/dist/collect/select.js.map +1 -1
- package/dist/config/agent.d.ts +14 -2
- package/dist/config/agent.d.ts.map +1 -1
- package/dist/config/agent.js +53 -16
- package/dist/config/agent.js.map +1 -1
- package/dist/config/app.d.ts +2 -2
- package/dist/config/app.d.ts.map +1 -1
- package/dist/config/app.js +3 -3
- package/dist/config/app.js.map +1 -1
- package/dist/config/diagnose.d.ts +15 -0
- package/dist/config/diagnose.d.ts.map +1 -0
- package/dist/config/diagnose.js +122 -0
- package/dist/config/diagnose.js.map +1 -0
- package/dist/config/load.d.ts +9 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +35 -3
- package/dist/config/load.js.map +1 -1
- package/dist/config/resolve.d.ts +2 -2
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resolve.js +51 -16
- package/dist/config/resolve.js.map +1 -1
- package/dist/config/validate.d.ts +6 -2
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +20 -3
- package/dist/config/validate.js.map +1 -1
- package/dist/credentials.d.ts +1 -1
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +1 -1
- package/dist/credentials.js.map +1 -1
- package/dist/engine/contract.d.ts +2 -2
- package/dist/engine/contract.js +1 -1
- package/dist/engine/index.d.ts +2 -2
- package/dist/engine/index.js +3 -3
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/session.d.ts +1 -1
- package/dist/engine/session.d.ts.map +1 -1
- package/dist/engine/session.js +5 -2
- package/dist/engine/session.js.map +1 -1
- package/dist/expect/async.d.ts +1 -1
- package/dist/expect/async.d.ts.map +1 -1
- package/dist/expect/async.js +37 -1
- package/dist/expect/async.js.map +1 -1
- package/dist/expect/values.d.ts +1 -1
- package/dist/expect/values.d.ts.map +1 -1
- package/dist/expect/values.js +1 -1
- package/dist/expect/values.js.map +1 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -4
- package/dist/index.js.map +1 -1
- package/dist/internal/errors.d.ts +21 -3
- package/dist/internal/errors.d.ts.map +1 -1
- package/dist/internal/errors.js +55 -5
- package/dist/internal/errors.js.map +1 -1
- package/dist/internal/globs.d.ts +2 -2
- package/dist/internal/globs.d.ts.map +1 -1
- package/dist/internal/globs.js +2 -2
- package/dist/internal/globs.js.map +1 -1
- package/dist/internal/ids.d.ts +3 -3
- package/dist/internal/ids.d.ts.map +1 -1
- package/dist/internal/ids.js +3 -3
- package/dist/internal/ids.js.map +1 -1
- package/dist/internal/node-version.d.ts +10 -0
- package/dist/internal/node-version.d.ts.map +1 -0
- package/dist/internal/node-version.js +28 -0
- package/dist/internal/node-version.js.map +1 -0
- package/dist/internal/package-manager.d.ts +10 -0
- package/dist/internal/package-manager.d.ts.map +1 -0
- package/dist/internal/package-manager.js +43 -0
- package/dist/internal/package-manager.js.map +1 -0
- package/dist/internal/redact.d.ts +1 -1
- package/dist/internal/redact.d.ts.map +1 -1
- package/dist/internal/redact.js +1 -1
- package/dist/internal/redact.js.map +1 -1
- package/dist/internal/suggest.d.ts +16 -0
- package/dist/internal/suggest.d.ts.map +1 -0
- package/dist/internal/suggest.js +61 -0
- package/dist/internal/suggest.js.map +1 -0
- package/dist/internal/text.d.ts +1 -1
- package/dist/internal/text.d.ts.map +1 -1
- package/dist/internal/text.js +1 -1
- package/dist/internal/text.js.map +1 -1
- package/dist/internal/urls.d.ts +2 -2
- package/dist/internal/urls.d.ts.map +1 -1
- package/dist/internal/urls.js +2 -2
- package/dist/internal/urls.js.map +1 -1
- package/dist/locator/engine.d.ts +1 -1
- package/dist/locator/engine.d.ts.map +1 -1
- package/dist/locator/engine.js +1 -1
- package/dist/locator/engine.js.map +1 -1
- package/dist/locator/expression.d.ts +1 -1
- package/dist/locator/expression.d.ts.map +1 -1
- package/dist/locator/expression.js +1 -1
- package/dist/locator/expression.js.map +1 -1
- package/dist/locator/screen.js +1 -1
- package/dist/locator/screen.js.map +1 -1
- package/dist/report/build.d.ts +1 -1
- package/dist/report/build.d.ts.map +1 -1
- package/dist/report/build.js +4 -4
- package/dist/report/build.js.map +1 -1
- package/dist/report/format.d.ts +9 -1
- package/dist/report/format.d.ts.map +1 -1
- package/dist/report/format.js +17 -4
- package/dist/report/format.js.map +1 -1
- package/dist/report/junit.d.ts +1 -1
- package/dist/report/junit.d.ts.map +1 -1
- package/dist/report/junit.js +1 -1
- package/dist/report/junit.js.map +1 -1
- package/dist/report/list-model.d.ts +79 -0
- package/dist/report/list-model.d.ts.map +1 -0
- package/dist/report/list-model.js +10 -0
- package/dist/report/list-model.js.map +1 -0
- package/dist/report/list-steps.d.ts +27 -0
- package/dist/report/list-steps.d.ts.map +1 -0
- package/dist/report/list-steps.js +65 -0
- package/dist/report/list-steps.js.map +1 -0
- package/dist/report/list.d.ts +26 -24
- package/dist/report/list.d.ts.map +1 -1
- package/dist/report/list.js +89 -157
- package/dist/report/list.js.map +1 -1
- package/dist/report/live-window.d.ts +11 -0
- package/dist/report/live-window.d.ts.map +1 -1
- package/dist/report/live-window.js +12 -5
- package/dist/report/live-window.js.map +1 -1
- package/dist/report/running-tree.d.ts +46 -0
- package/dist/report/running-tree.d.ts.map +1 -0
- package/dist/report/running-tree.js +182 -0
- package/dist/report/running-tree.js.map +1 -0
- package/dist/report/write.d.ts +1 -1
- package/dist/report/write.d.ts.map +1 -1
- package/dist/report/write.js +1 -1
- package/dist/report/write.js.map +1 -1
- package/dist/run/budget.d.ts +2 -2
- package/dist/run/budget.js +2 -2
- package/dist/run/declared-processes.d.ts +1 -1
- package/dist/run/declared-processes.js +1 -1
- package/dist/run/events.d.ts +2 -0
- package/dist/run/events.d.ts.map +1 -1
- package/dist/run/events.js.map +1 -1
- package/dist/run/execute.d.ts +2 -3
- package/dist/run/execute.d.ts.map +1 -1
- package/dist/run/execute.js +4 -5
- package/dist/run/execute.js.map +1 -1
- package/dist/run/fixtures.d.ts +1 -1
- package/dist/run/fixtures.d.ts.map +1 -1
- package/dist/run/fixtures.js +41 -5
- package/dist/run/fixtures.js.map +1 -1
- package/dist/run/managed-process.d.ts +8 -1
- package/dist/run/managed-process.d.ts.map +1 -1
- package/dist/run/managed-process.js +35 -17
- package/dist/run/managed-process.js.map +1 -1
- package/dist/run/realm.d.ts +2 -2
- package/dist/run/realm.js +2 -2
- package/dist/run/runner.d.ts +22 -0
- package/dist/run/runner.d.ts.map +1 -1
- package/dist/run/runner.js +47 -9
- package/dist/run/runner.js.map +1 -1
- package/dist/run/scheduler.d.ts +1 -2
- package/dist/run/scheduler.d.ts.map +1 -1
- package/dist/run/scheduler.js +2 -3
- package/dist/run/scheduler.js.map +1 -1
- package/dist/run/serial.d.ts +1 -1
- package/dist/run/serial.d.ts.map +1 -1
- package/dist/run/serial.js +3 -3
- package/dist/run/serial.js.map +1 -1
- package/dist/run/sessions.d.ts +1 -1
- package/dist/run/sessions.d.ts.map +1 -1
- package/dist/run/sessions.js +1 -1
- package/dist/run/sessions.js.map +1 -1
- package/dist/run/steps.d.ts +8 -2
- package/dist/run/steps.d.ts.map +1 -1
- package/dist/run/steps.js +1 -1
- package/dist/run/steps.js.map +1 -1
- package/dist/run/units.d.ts +1 -1
- package/dist/run/units.js +1 -1
- package/dist/types.d.ts +27 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -2
- package/package.json +13 -12
- package/skills/e2e/SKILL.md +110 -0
- package/skills/e2e/references/agent.md +210 -0
- package/skills/e2e/references/debugging.md +81 -0
- package/skills/e2e/references/running.md +153 -0
- package/skills/e2e/references/setup.md +239 -0
- package/skills/e2e/references/writing-tests.md +289 -0
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,WAAW,EACX,aAAa,EACd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACzE,YAAY,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACV,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC7D,MAAM,MAAM,SAAS,GACjB,aAAa,GACb;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GACrC,SAAS,SAAS,EAAE,CAAC;AAEzB,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACjE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAChC,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAC/D,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhD,qEAAqE;AACrE,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,GAAG,gBAAgB,CAAC;IAClE,QAAQ,CAAC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC;CAC9B;AAED,kEAAkE;AAClE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,iEAAiE;IACjE,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;IAC/D,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAC7D;AAED,yBAAiB,gBAAgB,CAAC;IAChC,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,KAC1B,MAAM,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;KACnD;IAED,UAAiB,OAAO;QACtB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;KAC/D;IAED,UAAiB,KAAK,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,KAAK;QACpD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;QACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB;IAED,KAAY,MAAM,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC;IAEnE,UAAiB,aAAa,CAAC,MAAM;QACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;KAC7B;IAED,UAAiB,aAAa;QAC5B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;KACnC;IAED,UAAiB,KAAK;QACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC;KACpE;IAED,UAAiB,WAAW;QAC1B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;KAC3B;IAED,KAAY,WAAW,CAAC,MAAM,SAAS,gBAAgB,IAAI,WAAW,CACpE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAC7B,CAAC,QAAQ,CAAC,CAAC;CACb;AAED,MAAM,MAAM,UAAU,GAClB,aAAa,GACb,MAAM,GACN,SAAS,UAAU,EAAE,GACrB;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/D;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAEvD,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,YAAa,SAAQ,YAAY;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM,SAAS,gBAAgB,CACjE,SAAQ,YAAY;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM,CAAE,SAAQ,WAAW;IAC9D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GACtB,6BAA6B,GAC7B,yBAAyB,GACzB,uBAAuB,GACvB,yBAAyB,GACzB,mBAAmB,GACnB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,sBAAsB,GACtB,iBAAiB,GACjB,qBAAqB,GACrB,cAAc,GACd,mBAAmB,GACnB,mBAAmB,GACnB,eAAe,GACf,wBAAwB,GACxB,eAAe,GACf,uBAAuB,GACvB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,GAClB,WAAW,CAAC;AAEhB,MAAM,WAAW,KAAK;IACpB,gFAAgF;IAChF,GAAG,CAAC,MAAM,SAAS,gBAAgB,EACjC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAClC,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,sDAAsD;IACtD,GAAG,CACD,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,kEAAkE;IAClE,OAAO,CACL,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACzF,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,MAAM,SAAS,gBAAgB,EACrC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,YAAY,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,GACnF,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,sEAAsE;IACtE,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,YAAY,GAAG;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GACA,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,MAAM,IAAI,GACZ,QAAQ,GACR,MAAM,GACN,SAAS,GACT,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,SAAS,GACT,KAAK,GACL,UAAU,GACV,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,OAAO,CAAC;AACZ,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GACpB,MAAM,GACN;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,KAAK,CAAA;CAAE,GAChC;IAAE,KAAK,CAAC,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,MAAM,WAAW,MAAM;IACrB,iCAAiC;IACjC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IACtD,6CAA6C;IAC7C,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACjE,wCAAwC;IACxC,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACvE,yCAAyC;IACzC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;IAChE,4CAA4C;IAC5C,iBAAiB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC;IACzE,oCAAoC;IACpC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;IAClE,uCAAuC;IACvC,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,6DAA6D;IAC7D,kBAAkB,CAChB,MAAM,EAAE,OAAO,EACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1D,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB;AAED,MAAM,WAAW,OAAQ,SAAQ,MAAM;IACrC,iDAAiD;IACjD,GAAG,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,oBAAoB;IACpB,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,wDAAwD;IACxD,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,yDAAyD;IACzD,SAAS,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,+DAA+D;IAC/D,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,gCAAgC;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,yCAAyC;IACzC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,+BAA+B;IAC/B,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,iCAAiC;IACjC,OAAO,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mDAAmD;IACnD,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,gCAAgC;IAChC,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,wDAAwD;IACxD,KAAK,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,qFAAqF;IACrF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzF,oDAAoD;IACpD,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,0CAA0C;IAC1C,cAAc,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,mDAAmD;IACnD,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,qEAAqE;IACrE,WAAW,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACtC,qCAAqC;IACrC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,mCAAmC;IACnC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnD,gCAAgC;IAChC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,mCAAmC;IACnC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,mCAAmC;IACnC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9B,qDAAqD;IACrD,WAAW,IAAI,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IACvF,mDAAmD;IACnD,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,6CAA6C;IAC7C,OAAO,CAAC,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,0CAA0C;IAC1C,MAAM,CAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,SAAS,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;IACjE,uCAAuC;IACvC,KAAK,IAAI,OAAO,CAAC;IACjB,sCAAsC;IACtC,IAAI,IAAI,OAAO,CAAC;IAChB,4CAA4C;IAC5C,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,GAAG;IAClB,6DAA6D;IAC7D,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,wEAAwE;IACxE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,oDAAoD;IACpD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,2BAA2B;IAC3B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,+CAA+C;IAC/C,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,+CAA+C;IAC/C,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY;IACjD,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClF,+CAA+C;IAC/C,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,MAAM,CAAC,QAAQ,GAAG,YAAY,IAAI,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3F,MAAM,MAAM,OAAO,CAAC,QAAQ,GAAG,YAAY,IAAI,CAC7C,QAAQ,EAAE,QAAQ,GAAG,aAAa,KAC/B,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1B,MAAM,MAAM,UAAU,CAAC,QAAQ,GAAG,YAAY,IAAI,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/F,MAAM,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5E,MAAM,MAAM,eAAe,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,KAAK,GACrF,MAAM,MAAM,GACZ,KAAK,CAAC;AAEV,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,OAAO,CAAC,QAAQ,GAAG,YAAY;IAC9C,iEAAiE;IACjE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAChD,4EAA4E;IAC5E,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACtE,kCAAkC;IAClC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACpD,kEAAkE;IAClE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IACpD,yEAAyE;IACzE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;IAC7E;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;IAC3C,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACrE,iDAAiD;IACjD,QAAQ,CAAC,MAAM,EACb,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,eAAe,EACxB,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAC5B,IAAI,CAAC;IACR,2CAA2C;IAC3C,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC3C,8CAA8C;IAC9C,SAAS,CAAC,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC1C,6CAA6C;IAC7C,SAAS,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC;IAC/B,4BAA4B;IAC5B,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,wCAAwC;IACxC,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,+BAA+B;IAC/B,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,gCAAgC;IAChC,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,+BAA+B;IAC/B,WAAW,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,gCAAgC;IAChC,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,gCAAgC;IAChC,YAAY,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,uCAAuC;IACvC,UAAU,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/E,2CAA2C;IAC3C,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClF,gCAAgC;IAChC,WAAW,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,sCAAsC;IACtC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7E,oCAAoC;IACpC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1F;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,QAAQ,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClC,+BAA+B;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC;IACxB,8CAA8C;IAC9C,OAAO,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,+BAA+B;IAC/B,UAAU,IAAI,IAAI,CAAC;IACnB,8BAA8B;IAC9B,SAAS,IAAI,IAAI,CAAC;IAClB,qBAAqB;IACrB,QAAQ,IAAI,IAAI,CAAC;IACjB,0BAA0B;IAC1B,aAAa,IAAI,IAAI,CAAC;IACtB,oCAAoC;IACpC,WAAW,IAAI,IAAI,CAAC;IACpB,iDAAiD;IACjD,SAAS,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,yCAAyC;IACzC,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,sCAAsC;IACtC,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,sCAAsC;IACtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,6HAA6H;IAC7H,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IAClD,8FAA8F;IAC9F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED,8EAA8E;AAC9E,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,WAAW,GAAG,YAAY,CAAC;AAE3D;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,qEAAqE;IACrE,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,CAAC;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,gDAAgD;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC;IAC5C,yFAAyF;IACzF,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;IAC7C,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,SAAS,CAAC,EAAE,SAAS,CAAC,OAAO,GAAG,YAAY,CAAC,EAAE,GAAG,eAAe,CAAC;IAClE,uGAAuG;IACvG,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,EAAE,CAAC;IACnD,MAAM,CAAC,EAAE;QACP,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IACF;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IACnC;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAChC;;;;OAIG;IACH,MAAM,CAAC,EAAE;QACP,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;IACF,WAAW,CAAC,EAAE,QAAQ,CACpB,MAAM,CACJ,MAAM,EACN;QACE,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,GAAG,cAAc,CAAC;QAClC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KACpC,CACF,CACF,CAAC;CACH;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Public
|
|
3
|
-
*
|
|
2
|
+
* Public SDK types. The emitted `dist/index.d.ts` is the contract;
|
|
3
|
+
* `tests/types/sdk-types.ts` pins the parts that are easy to loosen by accident.
|
|
4
4
|
*/
|
|
5
5
|
export {};
|
|
6
6
|
//# sourceMappingURL=types.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@e2edev/e2e",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.6.1",
|
|
4
|
+
"description": "SDK, runner, and CLI for agentic end-to-end testing",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"e2e",
|
|
7
7
|
"testing",
|
|
@@ -51,15 +51,16 @@
|
|
|
51
51
|
"e2e": "./dist/cli/bin.js"
|
|
52
52
|
},
|
|
53
53
|
"files": [
|
|
54
|
-
"dist"
|
|
54
|
+
"dist",
|
|
55
|
+
"skills"
|
|
55
56
|
],
|
|
56
57
|
"dependencies": {
|
|
57
58
|
"@clack/prompts": "1.7.0",
|
|
58
|
-
"@vitest/expect": "
|
|
59
|
+
"@vitest/expect": "5.0.0",
|
|
59
60
|
"commander": "15.0.0",
|
|
60
61
|
"picocolors": "1.1.1",
|
|
61
|
-
"tsx": "4.23.
|
|
62
|
-
"zod": "4.4
|
|
62
|
+
"tsx": "4.23.13",
|
|
63
|
+
"zod": "4.5.4"
|
|
63
64
|
},
|
|
64
65
|
"peerDependencies": {
|
|
65
66
|
"ai": "^7.0.0"
|
|
@@ -70,19 +71,19 @@
|
|
|
70
71
|
}
|
|
71
72
|
},
|
|
72
73
|
"devDependencies": {
|
|
73
|
-
"ai": "7.0.
|
|
74
|
-
"@types/node": "26.
|
|
74
|
+
"ai": "7.0.93",
|
|
75
|
+
"@types/node": "26.4.1",
|
|
75
76
|
"ajv": "8.20.0",
|
|
76
77
|
"ajv-formats": "3.0.1",
|
|
77
78
|
"typescript": "7.0.2",
|
|
78
|
-
"vitest": "
|
|
79
|
-
"@e2edev/playwright": "0.
|
|
79
|
+
"vitest": "5.0.0",
|
|
80
|
+
"@e2edev/playwright": "0.6.0"
|
|
80
81
|
},
|
|
81
82
|
"engines": {
|
|
82
|
-
"node": ">=
|
|
83
|
+
"node": ">=22.12.0"
|
|
83
84
|
},
|
|
84
85
|
"scripts": {
|
|
85
|
-
"build": "node -e \"require('node:fs')
|
|
86
|
+
"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",
|
|
86
87
|
"typecheck": "tsc --noEmit",
|
|
87
88
|
"test": "vitest run",
|
|
88
89
|
"test:watch": "vitest",
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
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.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# e2e: end-to-end tests in TypeScript, with bounded agent steps
|
|
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.
|
|
15
|
+
|
|
16
|
+
```ts
|
|
17
|
+
// e2e.config.ts
|
|
18
|
+
import type { E2EConfig } from '@e2edev/e2e';
|
|
19
|
+
import { createAgent } from '@e2edev/e2e/agent';
|
|
20
|
+
import { playwright } from '@e2edev/playwright';
|
|
21
|
+
|
|
22
|
+
export default {
|
|
23
|
+
targets: [
|
|
24
|
+
{
|
|
25
|
+
name: 'web',
|
|
26
|
+
platform: 'web',
|
|
27
|
+
engine: playwright({
|
|
28
|
+
url: 'http://127.0.0.1:3000',
|
|
29
|
+
command: { executable: 'pnpm', args: ['dev'], log: '.e2e/logs/app.log' },
|
|
30
|
+
}),
|
|
31
|
+
},
|
|
32
|
+
],
|
|
33
|
+
// Only needed for agent.* steps; the model comes from E2E_MODEL.
|
|
34
|
+
agent: createAgent({ system: 'You are a thorough QA agent. Verify every outcome on screen.' }),
|
|
35
|
+
} satisfies E2EConfig;
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
// tests/billing.e2e.ts
|
|
40
|
+
import { test } from '@e2edev/playwright';
|
|
41
|
+
import { expect } from '@e2edev/e2e';
|
|
42
|
+
|
|
43
|
+
test('a member upgrades to Pro', async ({ app, agent, screen, web }) => {
|
|
44
|
+
await app.open('/settings/billing');
|
|
45
|
+
await agent.act('upgrade the workspace to the Pro plan');
|
|
46
|
+
await expect(screen.getByRole('status')).toContainText('Pro');
|
|
47
|
+
await expect(web).toHaveURL('/settings/billing');
|
|
48
|
+
});
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
## Topics
|
|
52
|
+
|
|
53
|
+
Read the topic for the job before writing code. The files sit next to this
|
|
54
|
+
one. Without them, the installed CLI prints the same text:
|
|
55
|
+
`npx --no-install e2e guide <topic>` (`e2e guide` alone prints this page).
|
|
56
|
+
|
|
57
|
+
| Topic | File | Read it when |
|
|
58
|
+
| --- | --- | --- |
|
|
59
|
+
| `setup` | [references/setup.md](references/setup.md) | Adding e2e to a project, writing `e2e.config.ts`, starting the app from the config, mobile targets |
|
|
60
|
+
| `writing-tests` | [references/writing-tests.md](references/writing-tests.md) | Writing or fixing tests: fixtures, locators, actions, matchers, sign-in sessions, the `web` fixture |
|
|
61
|
+
| `agent` | [references/agent.md](references/agent.md) | Adding `agent.*` steps, picking a model, cost and budgets, the trace cache |
|
|
62
|
+
| `running` | [references/running.md](references/running.md) | CLI flags, reporters, `.e2e/report.json`, exit codes, CI |
|
|
63
|
+
| `debugging` | [references/debugging.md](references/debugging.md) | A run failed: error codes and their fixes, `--headed`, `--debug`, `--ai-trace` |
|
|
64
|
+
|
|
65
|
+
## Workflow
|
|
66
|
+
|
|
67
|
+
1. Look at what exists: `e2e.config.ts` or `e2e.config.mts`, the `tests` glob
|
|
68
|
+
(default `tests/**/*.e2e.ts`), `@e2edev/e2e` in `package.json`. Nothing
|
|
69
|
+
there: follow `setup`.
|
|
70
|
+
2. Learn the screens you will drive before writing a test: routes, labels,
|
|
71
|
+
roles, button text. Semantic locators need the accessible names the app
|
|
72
|
+
renders, so read the templates or components, or open the page with
|
|
73
|
+
`--headed`.
|
|
74
|
+
3. Write `tests/<feature>.e2e.ts`. Deterministic steps first. One `agent.act`
|
|
75
|
+
per goal where the flow varies, and an `expect` on its outcome right after.
|
|
76
|
+
4. Run one file: `npx --no-install e2e run tests/<feature>.e2e.ts`. Agent
|
|
77
|
+
steps need `E2E_MODEL=provider/model-id` and `E2E_MODEL_API_KEY` in the
|
|
78
|
+
environment; deterministic tests need neither.
|
|
79
|
+
5. Read the failure: the reporter prints the error code, the message, and a
|
|
80
|
+
code frame; `.e2e/report.json` has every step and artifact path. Fix the
|
|
81
|
+
locator, the expectation, or the app. Never add a sleep.
|
|
82
|
+
|
|
83
|
+
## Rules
|
|
84
|
+
|
|
85
|
+
- Run the CLI as `npx --no-install e2e ...` (or `pnpm exec e2e ...`), so npx
|
|
86
|
+
never fetches a different package.
|
|
87
|
+
- The config is `export default { ... } satisfies E2EConfig` with
|
|
88
|
+
`import type { E2EConfig } from '@e2edev/e2e'`. `targets` is required and
|
|
89
|
+
each target names its engine. The engine declares the app:
|
|
90
|
+
`playwright({ url, command })`. There is no top-level `app` key and no
|
|
91
|
+
`defineConfig`.
|
|
92
|
+
- Import `test`, `expect`, and `credentials` from `@e2edev/e2e`. A test that
|
|
93
|
+
uses the `web` fixture imports `test` from `@e2edev/playwright` instead: the
|
|
94
|
+
same runtime `test`, typed with `web`.
|
|
95
|
+
- Config and tests are ES modules. `package.json` needs `"type": "module"`.
|
|
96
|
+
- Nothing waits explicitly: queries poll, actions wait, `expect` retries.
|
|
97
|
+
Reads such as `textContent()` and `count()` do not retry, so assert with a
|
|
98
|
+
matcher when a value has to settle.
|
|
99
|
+
- A locator that matches two nodes fails with `LOCATOR_AMBIGUOUS`. Narrow it
|
|
100
|
+
with `{ name }`, `filter()`, `first()`, `nth()`, or `{ visible: true }`.
|
|
101
|
+
- Secrets never appear in test code. Declare `credentials` in the config,
|
|
102
|
+
resolve with `credentials.user(name)`, and hand `.password` (an opaque
|
|
103
|
+
`Secret`) only to `fill()` or to `agent.act` params.
|
|
104
|
+
- Agent instructions: one goal per `act`, the wording on screen, real values
|
|
105
|
+
in params. Judge meaning, not phrasing: `toContain('Pro')`, not an exact
|
|
106
|
+
sentence a model produced.
|
|
107
|
+
- Prefer `expect` for anything mechanical. Agent calls cost tokens and time;
|
|
108
|
+
spend them on the step whose wording or path varies.
|
|
109
|
+
- `.e2e/` is output (`report.json`, `artifacts/`, `cache/`, `logs/`). Read it,
|
|
110
|
+
never edit it.
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# Agent steps
|
|
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.
|
|
6
|
+
|
|
7
|
+
## Configure a model
|
|
8
|
+
|
|
9
|
+
There is no default model. Pick one of three shapes:
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
// e2e.config.ts
|
|
13
|
+
import { createAgent } from '@e2edev/e2e/agent';
|
|
14
|
+
|
|
15
|
+
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.' }),
|
|
18
|
+
|
|
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.' },
|
|
21
|
+
|
|
22
|
+
// 3. A live AI SDK model instance for a provider called directly.
|
|
23
|
+
// agent: createAgent({ model: openai('gpt-5.4-mini') }),
|
|
24
|
+
} satisfies E2EConfig;
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
E2E_MODEL=anthropic/claude-sonnet-4.5 E2E_MODEL_API_KEY=... npx --no-install e2e run
|
|
29
|
+
```
|
|
30
|
+
|
|
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.
|
|
36
|
+
- `ai@^7` must be installed for any `agent.*` step; the runner loads it
|
|
37
|
+
lazily and fails without it.
|
|
38
|
+
- `context` in the config and `agentContext` on a test or group add trusted
|
|
39
|
+
project vocabulary to every prompt.
|
|
40
|
+
- `visionModel` (or `E2E_VISION_MODEL`) serves the calls that send pixels.
|
|
41
|
+
- Missing model or key: the `agent` fixture fails with `MODEL_UNAVAILABLE`
|
|
42
|
+
(exit 2) at first use.
|
|
43
|
+
|
|
44
|
+
## act: one goal
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
import { credentials } from '@e2edev/e2e';
|
|
48
|
+
|
|
49
|
+
await agent.act('add a todo named "Buy milk" and mark it done');
|
|
50
|
+
await agent.act('invite {email} as an editor', { email: 'ada@example.test' });
|
|
51
|
+
|
|
52
|
+
const member = credentials.user('member');
|
|
53
|
+
await agent.act('sign in with the given credentials', {
|
|
54
|
+
username: member.username,
|
|
55
|
+
password: member.password, // a Secret: the model sees its name, the runner fills the field
|
|
56
|
+
});
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
`act(instruction, params?, options?)` plans and performs a multi-action flow
|
|
60
|
+
and ends in a verdict. Passed returns `{ ok: true }`. Failed or blocked
|
|
61
|
+
throws an `AgentError` whose `code` says why: `ACTION_FAILED` for a plain
|
|
62
|
+
failure, `STEP_BUDGET_EXHAUSTED` or `STEP_TIMEOUT` when the budget or the
|
|
63
|
+
clock ran out, and a blocked code (`AUTH_CREDENTIAL_UNAVAILABLE`,
|
|
64
|
+
`ENVIRONMENT_UNAVAILABLE`, `SEED_DATA_MISSING`, `TEST_SETUP_FAILED`,
|
|
65
|
+
`AUTOMATION_UNSUPPORTED`) when something outside the product prevented a
|
|
66
|
+
verdict.
|
|
67
|
+
|
|
68
|
+
Options: `timeout` (default the test timeout), `maxSteps` (default 25
|
|
69
|
+
actions), `maxModelCalls` (default 25). Per-call values can only lower the
|
|
70
|
+
configured limits. `schema` and `vision` on `act` are not implemented and
|
|
71
|
+
reject with `UNSUPPORTED_CAPABILITY`.
|
|
72
|
+
|
|
73
|
+
## assert, waitFor, extract: one question
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import { z } from 'zod';
|
|
77
|
+
|
|
78
|
+
await agent.assert('the dashboard shows a trial badge'); // one look, one judgment
|
|
79
|
+
|
|
80
|
+
await agent.waitFor('the export finished and a download link appeared', { // polls
|
|
81
|
+
intervalMs: 500,
|
|
82
|
+
timeout: 120_000,
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
const data = await agent.extract('every todo title and how many remain', { // structured output
|
|
86
|
+
schema: z.object({ titles: z.array(z.string()), remaining: z.number().int() }),
|
|
87
|
+
});
|
|
88
|
+
expect(data.titles).toContain('Buy milk');
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
- `assert` does not poll. A false judgment is `ASSERTION_FAILED` with the
|
|
92
|
+
model's explanation and a screenshot in the report. Malformed output gets
|
|
93
|
+
one repair round, then `MODEL_OUTPUT_INVALID`.
|
|
94
|
+
- `waitFor` observes every `intervalMs` (default 3 s) and spends a judgment
|
|
95
|
+
only when the screen changed; `STEP_TIMEOUT` after `timeout` (default
|
|
96
|
+
30 s).
|
|
97
|
+
- `extract` accepts any Standard Schema validator (zod works). Invalid output
|
|
98
|
+
gets one repair round, then `MODEL_OUTPUT_INVALID`.
|
|
99
|
+
- Judgments are never cached and always read a fresh observation.
|
|
100
|
+
|
|
101
|
+
`vision` on a judgment controls the evidence: `false` (default) the semantic
|
|
102
|
+
tree; `true` the tree plus a masked screenshot; `'only'` the screenshot
|
|
103
|
+
alone. Use `'only'` for a question about what the screen presents (an
|
|
104
|
+
overlay, a broken layout, a chart), because the tree would otherwise answer
|
|
105
|
+
first. Pixels show the viewport only and are withheld once a secret was
|
|
106
|
+
filled in the attempt.
|
|
107
|
+
|
|
108
|
+
## Write instructions the model can execute
|
|
109
|
+
|
|
110
|
+
- One goal per `act`. The order of goals is the test's; the path inside a
|
|
111
|
+
goal is the model's.
|
|
112
|
+
- Use the words on screen: `'open the Billing tab and choose the Pro plan'`,
|
|
113
|
+
not `'upgrade'` when no control says so.
|
|
114
|
+
- Values go in params, never in the sentence:
|
|
115
|
+
`act('rename the project to {name}', { name })`. The runner does not
|
|
116
|
+
expand `{name}`; the model receives the instruction as written plus the
|
|
117
|
+
params as a separate block and reads the value from there.
|
|
118
|
+
- Give vocabulary once, in `agent.context` or `agentContext`, instead of
|
|
119
|
+
repeating it in every instruction.
|
|
120
|
+
- Do not describe mechanics the runner already handles: waiting, scrolling
|
|
121
|
+
into view, retries.
|
|
122
|
+
- Pin the outcome of every `act` deterministically, right after it:
|
|
123
|
+
|
|
124
|
+
```ts
|
|
125
|
+
await agent.act('create a workspace named "Atlas" on the Pro plan');
|
|
126
|
+
await expect(screen.getByRole('status')).toHaveText('Created "Atlas" on the Pro plan');
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
The check makes the test model-portable (the path may differ between models,
|
|
130
|
+
the end state may not), and it is what lets the trace cache record the step.
|
|
131
|
+
|
|
132
|
+
## What the model sees
|
|
133
|
+
|
|
134
|
+
A redacted snapshot of the screen (roles, names, text, states), a summary of
|
|
135
|
+
prior steps, and your context. Never raw HTML, cookies, headers, environment
|
|
136
|
+
values, or a `Secret`'s value; password fields arrive masked. Pixels only
|
|
137
|
+
with `vision`, and only while no secret has been filled. Nothing the model
|
|
138
|
+
returns runs as code or selectors: the runner validates and authorizes every
|
|
139
|
+
tool call before it executes.
|
|
140
|
+
|
|
141
|
+
## Budgets and cost
|
|
142
|
+
|
|
143
|
+
| Call | Model calls | Default timeout |
|
|
144
|
+
| --- | ---: | --- |
|
|
145
|
+
| `act` | up to `agent.maxModelCalls` (25) | the test `timeout`, 120 s |
|
|
146
|
+
| `assert` | 2 | 30 s |
|
|
147
|
+
| `extract` | 2 | 30 s |
|
|
148
|
+
| `waitFor` | up to `agent.maxModelCalls` (25) | 30 s |
|
|
149
|
+
|
|
150
|
+
- Keep `agent.*` for steps whose path or wording varies; `expect` and
|
|
151
|
+
`screen` are free.
|
|
152
|
+
- Slow providers: raise the test `timeout` and `actionTimeout` (each
|
|
153
|
+
observation and action inside a step is bounded by it) rather than reading
|
|
154
|
+
latency as a defect. `STEP_TIMEOUT` and `STEP_BUDGET_EXHAUSTED` are test
|
|
155
|
+
failures: scope the goal smaller or split it.
|
|
156
|
+
- `--debug` prints a per-step table (duration, model calls, tokens, cost)
|
|
157
|
+
after the run and saves each step's transcript as an artifact.
|
|
158
|
+
|
|
159
|
+
## The trace cache
|
|
160
|
+
|
|
161
|
+
Each passing `agent.act` records the actions it performed. The next run
|
|
162
|
+
replays them with zero model calls and hands back to the live agent the
|
|
163
|
+
moment the app no longer matches the recording, or when the recorded end
|
|
164
|
+
state is not on screen after the replay.
|
|
165
|
+
|
|
166
|
+
- On by default (`read-write`), `read-only` in CI, `cache: 'off'` in the
|
|
167
|
+
config or `--no-cache` on a run to disable. Entries live in `.e2e/cache/`;
|
|
168
|
+
deleting the directory only slows the next run.
|
|
169
|
+
- An entry is written only after a later verification step passes
|
|
170
|
+
(`expect`, `locator.waitFor`, `agent.assert`, `agent.waitFor`). An `act`
|
|
171
|
+
nothing checks is never replayed.
|
|
172
|
+
- `e2e init` gitignores `.e2e/cache/`; committing entries is opt-in. Remove
|
|
173
|
+
that line to share replays with CI and teammates (CI stays `read-only`
|
|
174
|
+
unless `cache: 'read-write'` is set explicitly).
|
|
175
|
+
- A failing run evicts the entries it implicates. To rule the cache out of a
|
|
176
|
+
failure, run with `--no-cache`.
|
|
177
|
+
|
|
178
|
+
## Inspect what the model did
|
|
179
|
+
|
|
180
|
+
```bash
|
|
181
|
+
npx --no-install e2e run tests/checkout.e2e.ts --debug # step table, transcripts as artifacts
|
|
182
|
+
npx --no-install e2e run tests/checkout.e2e.ts --ai-trace # writes .e2e/ai-trace.json
|
|
183
|
+
npx unbox-ai runs .e2e/ai-trace.json # one line per agent step
|
|
184
|
+
npx unbox-ai summary .e2e/ai-trace.json --run 0 # turns, tokens, tool calls of one step
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
Never read `.e2e/ai-trace.json` directly; it is megabytes of resent context.
|
|
188
|
+
Use `--no-cache` when the whole flow should be traced, since replayed steps
|
|
189
|
+
make no model calls.
|
|
190
|
+
|
|
191
|
+
## Beyond the built-in agent
|
|
192
|
+
|
|
193
|
+
- `createAgent({ tools: { seedCart } })` adds AI SDK tools wrapped with
|
|
194
|
+
`defineTool(tool({ ... }), { mutates: true })` from `@e2edev/e2e/agent`, so
|
|
195
|
+
a flow can call a test API mid-step.
|
|
196
|
+
- `createToolLoopExecutor` keeps the loop and replaces the prompt and the
|
|
197
|
+
tool vocabulary.
|
|
198
|
+
- Any object implementing `StepExecutor` (`{ name, version, cache, runStep(ctx) }`)
|
|
199
|
+
can be the `agent`; the runner still owns observations, actions, budgets,
|
|
200
|
+
and the report.
|
|
201
|
+
|
|
202
|
+
Full reference: https://e2e.docs.buildwithfern.com/agents
|
|
203
|
+
|
|
204
|
+
## In CI
|
|
205
|
+
|
|
206
|
+
Deterministic tests gate merges; agentic tests are opt-in. Keep them in a
|
|
207
|
+
separate config (`e2e.agent.config.ts` with its own `tests` glob and a larger
|
|
208
|
+
`timeout`), run them on a schedule or `workflow_dispatch`, and pass the model
|
|
209
|
+
through `env: { E2E_MODEL, E2E_MODEL_API_KEY }` from CI variables and
|
|
210
|
+
secrets.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Debugging a failing run
|
|
2
|
+
|
|
3
|
+
## Read the failure
|
|
4
|
+
|
|
5
|
+
1. The `list` reporter ends with a `Failed Tests` section: each failure shows
|
|
6
|
+
the error code, the message, the test's failing line, and a code frame.
|
|
7
|
+
The summary's `Report` line names `.e2e/report.json`.
|
|
8
|
+
2. `.e2e/report.json` has everything:
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
jq '.run | {status, exitCode, errors}' .e2e/report.json # run-level failures
|
|
12
|
+
jq '.run.results[] | select(.status != "passed") | {titlePath, file, status}' .e2e/report.json
|
|
13
|
+
jq '.run.results[] | select(.status != "passed") | .attempts[-1]
|
|
14
|
+
| {status, error, steps: [.steps[] | select(.status != "passed") | {api, label, status, error}], artifacts}' .e2e/report.json
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
3. Artifacts named there live under `.e2e/artifacts/`: screenshots, a
|
|
18
|
+
Playwright `trace.zip` per attempt (`npx playwright show-trace <file>`),
|
|
19
|
+
downloads, and with `--debug` the transcript of every agent step.
|
|
20
|
+
|
|
21
|
+
## Error codes and what to do
|
|
22
|
+
|
|
23
|
+
| Code | Usual cause | Fix |
|
|
24
|
+
| --- | --- | --- |
|
|
25
|
+
| `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
|
+
| `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 |
|
|
27
|
+
| `CONFIG_NOT_FOUND`, `CONFIG_AMBIGUOUS` | Wrong `--config` path; both `.ts` and `.mts` present | Fix the path; keep one config file |
|
|
28
|
+
| `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 |
|
|
29
|
+
| `COLLECTION_ERROR` | `async` describe body, `test.setup` inside `describe`, an option forbidden in a serial group, registration outside collection | Rework the structure per `writing-tests` |
|
|
30
|
+
| `APP_UNREACHABLE` | `command` never answered `readyUrl` within `startupTimeout`; a service exited non-zero | Set `command.log` and read it; check the port and `url`; pass the env the app needs through `command.env`; raise `startupTimeout` |
|
|
31
|
+
| `APP_ALREADY_RUNNING` | Something already serves `url` when the runner wanted to start `command` | Stop it, or set `reuseExisting: true` for local runs |
|
|
32
|
+
| `APP_URL_REQUIRED` | A navigation on an engine without `url` | Add `url` to `playwright({ ... })` |
|
|
33
|
+
| `LOCATOR_NOT_FOUND` | Wrong role or name, text not exact, element off screen or inside an iframe, page not open | Read the markup for the accessible name; try `exact: false` or a RegExp; `web.frameLocator` for iframes; `app.open()` first; `--headed` to look |
|
|
34
|
+
| `LOCATOR_AMBIGUOUS` | Two matches: a hidden duplicate, a repeated label | Add `{ name }`, scope under a container, `filter`, `first()`, or `{ visible: true }` |
|
|
35
|
+
| `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 |
|
|
36
|
+
| `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` |
|
|
37
|
+
| `TEST_TIMEOUT` | The attempt exceeded `timeout` (120 s) | Split the test, or raise `timeout` for slow flows and agent steps |
|
|
38
|
+
| `MODEL_UNAVAILABLE` | No `E2E_MODEL`, no key, or an unknown provider | Export `E2E_MODEL=provider/model-id` and `E2E_MODEL_API_KEY`; confirm the model id |
|
|
39
|
+
| `MODEL_PROVIDER_FAILED` | Network, 5xx, rate limit, or no credits after the transport retries | Check the key and the quota; retry; exit code 3 |
|
|
40
|
+
| `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 |
|
|
41
|
+
| `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 |
|
|
42
|
+
| `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 |
|
|
43
|
+
| `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` |
|
|
44
|
+
| `ONLY_IN_CI` | `test.only` reached CI | Remove it |
|
|
45
|
+
| `BROWSER_INSTALL_FAILED`, `LAUNCH_TIMEOUT` | Browser download or launch failed | `npx playwright install chromium --with-deps`; raise `launchTimeout` on slow machines |
|
|
46
|
+
| `AUTH_CREDENTIAL_UNAVAILABLE` | `credentials.user('x')` for an undeclared name | Add it to `config.credentials` |
|
|
47
|
+
|
|
48
|
+
## Tools
|
|
49
|
+
|
|
50
|
+
| Do | When |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| `--headed` | Watch the flow; confirm what the page shows at the failing step |
|
|
53
|
+
| `--workers 1 --retries 0` | Remove parallelism and retries from the picture |
|
|
54
|
+
| `--no-cache` | Rule out a stale `agent.act` replay |
|
|
55
|
+
| `--debug` | Read each agent step's duration, model calls, cost, and transcript |
|
|
56
|
+
| `--ai-trace`, then `npx unbox-ai runs .e2e/ai-trace.json` | See exactly what the model was shown and called |
|
|
57
|
+
| `command.log: '.e2e/logs/app.log'` | Read the app's own output when it never becomes ready or errors mid-test |
|
|
58
|
+
| `await app.screenshot('before-submit')` | Attach evidence at a chosen point |
|
|
59
|
+
| `CI=1 npx --no-install e2e run` | Reproduce CI-only behaviour: `ONLY_IN_CI`, read-only cache, `reuseExisting` ignored |
|
|
60
|
+
|
|
61
|
+
## Flaky tests
|
|
62
|
+
|
|
63
|
+
- A read (`textContent()`, `count()`) captured a value mid-update: replace
|
|
64
|
+
it with a matcher.
|
|
65
|
+
- Shared data between tests: unique names per run, cleanup in `afterEach`,
|
|
66
|
+
or a `serial` group.
|
|
67
|
+
- The app is not ready: assert on the element you are about to use rather
|
|
68
|
+
than on the previous page.
|
|
69
|
+
- An agent judgment asserts an exact phrasing: judge the fact, and add a
|
|
70
|
+
deterministic `expect` beside it.
|
|
71
|
+
- Timing under load: `retries` masks the cause; `--workers 1` and
|
|
72
|
+
`--headed` usually show it.
|
|
73
|
+
|
|
74
|
+
## Is it the app?
|
|
75
|
+
|
|
76
|
+
A deterministic step that fails every run at the same place with the same
|
|
77
|
+
code is a product bug or a changed screen, not flakiness. Reproduce once
|
|
78
|
+
with `--headed`, then fix the app, or update the locator and the expectation
|
|
79
|
+
together. A blocked agent step (`AUTH_CREDENTIAL_UNAVAILABLE`,
|
|
80
|
+
`ENVIRONMENT_UNAVAILABLE`, `SEED_DATA_MISSING`) exits 2 or 3 on purpose: fix
|
|
81
|
+
the environment, not the test.
|