e2e 0.15.1 → 0.16.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.
- package/README.md +51 -24
- package/dist/.build.json +1 -1
- package/dist/agent/act-validation.d.ts +10 -1
- package/dist/agent/act-validation.js +48 -1
- package/dist/agent/act.d.ts +1 -2
- package/dist/agent/act.js +25 -8
- package/dist/agent/action-dispatcher.d.ts +0 -1
- package/dist/agent/action-dispatcher.js +0 -1
- package/dist/agent/action-names.d.ts +0 -1
- package/dist/agent/action-names.js +0 -1
- package/dist/agent/actions.d.ts +0 -1
- package/dist/agent/actions.js +0 -1
- package/dist/agent/agent-brand.d.ts +0 -1
- package/dist/agent/agent-brand.js +0 -1
- package/dist/agent/ai-sdk.d.ts +7 -1
- package/dist/agent/ai-sdk.js +11 -1
- package/dist/agent/call-options.d.ts +0 -1
- package/dist/agent/call-options.js +0 -1
- package/dist/agent/default-agent.d.ts +0 -1
- package/dist/agent/default-agent.js +0 -1
- package/dist/agent/derived.d.ts +0 -1
- package/dist/agent/derived.js +0 -1
- package/dist/agent/error.d.ts +16 -4
- package/dist/agent/error.js +25 -7
- package/dist/agent/executor.d.ts +0 -1
- package/dist/agent/executor.js +0 -1
- package/dist/agent/index.d.ts +0 -1
- package/dist/agent/index.js +0 -1
- package/dist/agent/interactive-step.d.ts +0 -1
- package/dist/agent/interactive-step.js +0 -1
- package/dist/agent/invocation.d.ts +0 -1
- package/dist/agent/invocation.js +10 -5
- package/dist/agent/ledger.d.ts +0 -1
- package/dist/agent/ledger.js +0 -1
- package/dist/agent/loop-guards.d.ts +0 -1
- package/dist/agent/loop-guards.js +0 -1
- package/dist/agent/model/adapter.d.ts +0 -1
- package/dist/agent/model/adapter.js +0 -1
- package/dist/agent/model/overflow.d.ts +0 -1
- package/dist/agent/model/overflow.js +0 -1
- package/dist/agent/model/provider-hints.d.ts +0 -1
- package/dist/agent/model/provider-hints.js +0 -1
- package/dist/agent/model/schema.d.ts +0 -1
- package/dist/agent/model/schema.js +0 -1
- package/dist/agent/model/sdk.d.ts +0 -1
- package/dist/agent/model/sdk.js +0 -1
- package/dist/agent/model/stall.d.ts +0 -1
- package/dist/agent/model/stall.js +0 -1
- package/dist/agent/model/tool-choice.d.ts +24 -2
- package/dist/agent/model/tool-choice.js +27 -2
- package/dist/agent/observation-budget.d.ts +0 -1
- package/dist/agent/observation-budget.js +0 -1
- package/dist/agent/observation-feed.d.ts +0 -1
- package/dist/agent/observation-feed.js +0 -1
- package/dist/agent/observation.d.ts +0 -1
- package/dist/agent/observation.js +0 -1
- package/dist/agent/operation-queue.d.ts +0 -1
- package/dist/agent/operation-queue.js +0 -1
- package/dist/agent/phases.d.ts +0 -1
- package/dist/agent/phases.js +0 -1
- package/dist/agent/pixels.d.ts +0 -1
- package/dist/agent/pixels.js +0 -1
- package/dist/agent/point-tap.d.ts +0 -1
- package/dist/agent/point-tap.js +0 -1
- package/dist/agent/primitives.d.ts +6 -1
- package/dist/agent/primitives.js +4 -2
- package/dist/agent/prompts.d.ts +0 -1
- package/dist/agent/prompts.js +0 -1
- package/dist/agent/protocol.d.ts +0 -1
- package/dist/agent/protocol.js +0 -1
- package/dist/agent/public.d.ts +0 -1
- package/dist/agent/public.js +0 -1
- package/dist/agent/reading.d.ts +0 -1
- package/dist/agent/reading.js +0 -1
- package/dist/agent/replay.d.ts +0 -1
- package/dist/agent/replay.js +0 -1
- package/dist/agent/screen-update.d.ts +0 -1
- package/dist/agent/screen-update.js +0 -1
- package/dist/agent/scroll-target.d.ts +0 -1
- package/dist/agent/scroll-target.js +0 -1
- package/dist/agent/secrets.d.ts +0 -1
- package/dist/agent/secrets.js +0 -1
- package/dist/agent/settle-policy.d.ts +0 -1
- package/dist/agent/settle-policy.js +0 -1
- package/dist/agent/step-accounting.d.ts +0 -1
- package/dist/agent/step-accounting.js +0 -1
- package/dist/agent/step-cache.d.ts +14 -4
- package/dist/agent/step-cache.js +13 -4
- package/dist/agent/tool-loop.d.ts +0 -1
- package/dist/agent/tool-loop.js +62 -10
- package/dist/agent/tool-output.d.ts +0 -1
- package/dist/agent/tool-output.js +0 -1
- package/dist/agent/tool.d.ts +0 -1
- package/dist/agent/tool.js +0 -1
- package/dist/agent/transcript-compaction.d.ts +0 -1
- package/dist/agent/transcript-compaction.js +0 -1
- package/dist/agent/upload-paths.d.ts +0 -1
- package/dist/agent/upload-paths.js +0 -1
- package/dist/agent/usage.d.ts +0 -1
- package/dist/agent/usage.js +0 -1
- package/dist/cache/anchors.d.ts +0 -1
- package/dist/cache/anchors.js +0 -1
- package/dist/cache/context.d.ts +19 -7
- package/dist/cache/context.js +15 -22
- package/dist/cache/decide.d.ts +0 -1
- package/dist/cache/decide.js +0 -1
- package/dist/cache/identity.d.ts +0 -1
- package/dist/cache/identity.js +0 -1
- package/dist/cache/recorder.d.ts +0 -1
- package/dist/cache/recorder.js +0 -1
- package/dist/cache/relocate.d.ts +0 -1
- package/dist/cache/relocate.js +0 -1
- package/dist/cache/route.d.ts +0 -1
- package/dist/cache/route.js +0 -1
- package/dist/cache/store.d.ts +0 -1
- package/dist/cache/store.js +0 -1
- package/dist/cache/template.d.ts +0 -1
- package/dist/cache/template.js +0 -1
- package/dist/cache/trace.d.ts +0 -1
- package/dist/cache/trace.js +0 -1
- package/dist/cli/bin.d.ts +0 -1
- package/dist/cli/bin.js +0 -1
- package/dist/cli/cache.d.ts +0 -1
- package/dist/cli/cache.js +0 -1
- package/dist/cli/docs-url.d.ts +0 -1
- package/dist/cli/docs-url.js +0 -1
- package/dist/cli/feedback.d.ts +0 -1
- package/dist/cli/feedback.js +0 -1
- package/dist/cli/guide.d.ts +0 -1
- package/dist/cli/guide.js +0 -1
- package/dist/cli/index.d.ts +0 -1
- package/dist/cli/index.js +2 -3
- package/dist/cli/init/agent-skill.d.ts +0 -1
- package/dist/cli/init/agent-skill.js +0 -1
- package/dist/cli/init/engines.d.ts +0 -1
- package/dist/cli/init/engines.js +0 -1
- package/dist/cli/init/gateways.d.ts +0 -1
- package/dist/cli/init/gateways.js +0 -1
- package/dist/cli/init/mcp-config.d.ts +0 -1
- package/dist/cli/init/mcp-config.js +0 -1
- package/dist/cli/init/package.d.ts +0 -1
- package/dist/cli/init/package.js +0 -1
- package/dist/cli/init/scaffold.d.ts +1 -1
- package/dist/cli/init/scaffold.js +2 -2
- package/dist/cli/init/sibling-versions.json +1 -1
- package/dist/cli/init/versions.d.ts +0 -1
- package/dist/cli/init/versions.js +0 -1
- package/dist/cli/init.d.ts +0 -1
- package/dist/cli/init.js +0 -1
- package/dist/cli/mcp.d.ts +9 -2
- package/dist/cli/mcp.js +14 -2
- package/dist/cli/signals.d.ts +0 -1
- package/dist/cli/signals.js +0 -1
- package/dist/cli/skill.d.ts +0 -1
- package/dist/cli/skill.js +0 -1
- package/dist/cli/telemetry.d.ts +0 -1
- package/dist/cli/telemetry.js +1 -2
- package/dist/cli/wordmark.d.ts +0 -1
- package/dist/cli/wordmark.js +0 -1
- package/dist/collect/collect.d.ts +0 -1
- package/dist/collect/collect.js +3 -2
- package/dist/collect/registry.d.ts +6 -3
- package/dist/collect/registry.js +31 -14
- package/dist/collect/select.d.ts +0 -1
- package/dist/collect/select.js +0 -1
- package/dist/config/agent.d.ts +0 -1
- package/dist/config/agent.js +0 -1
- package/dist/config/app.d.ts +0 -1
- package/dist/config/app.js +0 -1
- package/dist/config/command.d.ts +0 -1
- package/dist/config/command.js +0 -1
- package/dist/config/diagnose.d.ts +0 -1
- package/dist/config/diagnose.js +0 -1
- package/dist/config/esm-hooks.d.ts +0 -1
- package/dist/config/esm-hooks.js +0 -1
- package/dist/config/load.d.ts +0 -1
- package/dist/config/load.js +0 -1
- package/dist/config/resolve.d.ts +0 -1
- package/dist/config/resolve.js +0 -1
- package/dist/config/secrets.d.ts +0 -1
- package/dist/config/secrets.js +0 -1
- package/dist/config/targets.d.ts +0 -1
- package/dist/config/targets.js +0 -1
- package/dist/config/validate.d.ts +0 -1
- package/dist/config/validate.js +0 -1
- package/dist/engine/contract.d.ts +0 -1
- package/dist/engine/contract.js +0 -1
- package/dist/engine/index.d.ts +1 -2
- package/dist/engine/index.js +4 -4
- package/dist/engine/manifest.d.ts +0 -1
- package/dist/engine/manifest.js +0 -1
- package/dist/engine/recording.d.ts +0 -1
- package/dist/engine/recording.js +0 -1
- package/dist/engine/resolve.d.ts +0 -1
- package/dist/engine/resolve.js +0 -1
- package/dist/engine/session.d.ts +0 -1
- package/dist/engine/session.js +0 -1
- package/dist/engine/surface.d.ts +0 -1
- package/dist/engine/surface.js +0 -1
- package/dist/engine/timing.d.ts +0 -1
- package/dist/engine/timing.js +0 -1
- package/dist/expect/async.d.ts +0 -1
- package/dist/expect/async.js +99 -58
- package/dist/expect/attempt.d.ts +0 -1
- package/dist/expect/attempt.js +0 -1
- package/dist/expect/index.d.ts +0 -1
- package/dist/expect/index.js +0 -1
- package/dist/expect/poll.d.ts +0 -1
- package/dist/expect/poll.js +0 -1
- package/dist/expect/soft.d.ts +0 -1
- package/dist/expect/soft.js +0 -1
- package/dist/expect/values.d.ts +0 -1
- package/dist/expect/values.js +1 -2
- package/dist/explore/body.d.ts +0 -1
- package/dist/explore/body.js +0 -1
- package/dist/explore/executor.d.ts +0 -1
- package/dist/explore/executor.js +0 -1
- package/dist/explore/index.d.ts +0 -1
- package/dist/explore/index.js +16 -2
- package/dist/explore/plan.d.ts +0 -1
- package/dist/explore/plan.js +0 -1
- package/dist/explore/progress.d.ts +0 -1
- package/dist/explore/progress.js +0 -1
- package/dist/explore/state.d.ts +0 -1
- package/dist/explore/state.js +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +0 -1
- package/dist/internal/ai-trace.d.ts +0 -1
- package/dist/internal/ai-trace.js +0 -1
- package/dist/internal/atomic-write.d.ts +0 -1
- package/dist/internal/atomic-write.js +0 -1
- package/dist/internal/brands.d.ts +0 -1
- package/dist/internal/brands.js +0 -1
- package/dist/internal/debug.d.ts +0 -1
- package/dist/internal/debug.js +0 -1
- package/dist/internal/env.d.ts +0 -1
- package/dist/internal/env.js +0 -1
- package/dist/internal/errors.d.ts +0 -1
- package/dist/internal/errors.js +0 -1
- package/dist/internal/geometry.d.ts +0 -1
- package/dist/internal/geometry.js +0 -1
- package/dist/internal/git.d.ts +0 -1
- package/dist/internal/git.js +0 -1
- package/dist/internal/globs.d.ts +0 -1
- package/dist/internal/globs.js +0 -1
- package/dist/internal/ids.d.ts +0 -1
- package/dist/internal/ids.js +0 -1
- package/dist/internal/json-value.d.ts +0 -1
- package/dist/internal/json-value.js +0 -1
- package/dist/internal/keys.d.ts +0 -1
- package/dist/internal/keys.js +0 -1
- package/dist/internal/node-version.d.ts +0 -1
- package/dist/internal/node-version.js +0 -1
- package/dist/internal/objects.d.ts +0 -1
- package/dist/internal/objects.js +0 -1
- package/dist/internal/options.d.ts +0 -1
- package/dist/internal/options.js +0 -1
- package/dist/internal/package-manager.d.ts +0 -1
- package/dist/internal/package-manager.js +0 -1
- package/dist/internal/package-version.d.ts +0 -1
- package/dist/internal/package-version.js +0 -1
- package/dist/internal/paths.d.ts +0 -1
- package/dist/internal/paths.js +0 -1
- package/dist/internal/realm-slot.d.ts +0 -1
- package/dist/internal/realm-slot.js +0 -1
- package/dist/internal/recording-modes.d.ts +0 -1
- package/dist/internal/recording-modes.js +0 -1
- package/dist/internal/redact.d.ts +0 -1
- package/dist/internal/redact.js +0 -1
- package/dist/internal/regexp.d.ts +0 -1
- package/dist/internal/regexp.js +0 -1
- package/dist/internal/roles.d.ts +0 -1
- package/dist/internal/roles.js +0 -1
- package/dist/internal/skip.d.ts +0 -1
- package/dist/internal/skip.js +0 -1
- package/dist/internal/source.d.ts +0 -1
- package/dist/internal/source.js +0 -1
- package/dist/internal/standard-schema.d.ts +0 -1
- package/dist/internal/standard-schema.js +0 -1
- package/dist/internal/suggest.d.ts +0 -1
- package/dist/internal/suggest.js +0 -1
- package/dist/internal/text.d.ts +8 -1
- package/dist/internal/text.js +13 -2
- package/dist/internal/time.d.ts +0 -1
- package/dist/internal/time.js +0 -1
- package/dist/internal/urls.d.ts +0 -1
- package/dist/internal/urls.js +0 -1
- package/dist/internal/vcs.d.ts +0 -1
- package/dist/internal/vcs.js +0 -1
- package/dist/internal/zip.d.ts +0 -1
- package/dist/internal/zip.js +0 -1
- package/dist/locator/engine.d.ts +0 -1
- package/dist/locator/engine.js +0 -1
- package/dist/locator/expression.d.ts +0 -1
- package/dist/locator/expression.js +0 -1
- package/dist/locator/screen.d.ts +0 -1
- package/dist/locator/screen.js +0 -1
- package/dist/mcp/catalog.d.ts +4 -1
- package/dist/mcp/catalog.js +2 -3
- package/dist/mcp/config.d.ts +0 -1
- package/dist/mcp/config.js +0 -1
- package/dist/mcp/recording.d.ts +0 -1
- package/dist/mcp/recording.js +0 -1
- package/dist/mcp/server.d.ts +8 -1
- package/dist/mcp/server.js +8 -5
- package/dist/mcp/session.d.ts +4 -2
- package/dist/mcp/session.js +43 -21
- package/dist/mcp/sessions.d.ts +2 -1
- package/dist/mcp/sessions.js +5 -2
- package/dist/mcp/tools.d.ts +7 -6
- package/dist/mcp/tools.js +36 -11
- package/dist/mcp/usage.d.ts +61 -0
- package/dist/mcp/usage.js +73 -0
- package/dist/oauth/callback-server.d.ts +0 -1
- package/dist/oauth/callback-server.js +0 -1
- package/dist/oauth/chatgpt.d.ts +0 -1
- package/dist/oauth/chatgpt.js +0 -1
- package/dist/oauth/cli.d.ts +0 -1
- package/dist/oauth/cli.js +0 -1
- package/dist/oauth/copilot.d.ts +0 -1
- package/dist/oauth/copilot.js +0 -1
- package/dist/oauth/device-code.d.ts +0 -1
- package/dist/oauth/device-code.js +0 -1
- package/dist/oauth/errors.d.ts +0 -1
- package/dist/oauth/errors.js +0 -1
- package/dist/oauth/fetch.d.ts +0 -1
- package/dist/oauth/fetch.js +0 -1
- package/dist/oauth/grok.d.ts +0 -1
- package/dist/oauth/grok.js +0 -1
- package/dist/oauth/jwt.d.ts +0 -1
- package/dist/oauth/jwt.js +0 -1
- package/dist/oauth/login.d.ts +0 -1
- package/dist/oauth/login.js +0 -1
- package/dist/oauth/models.d.ts +0 -1
- package/dist/oauth/models.js +0 -1
- package/dist/oauth/pkce.d.ts +0 -1
- package/dist/oauth/pkce.js +0 -1
- package/dist/oauth/providers/github-copilot.d.ts +0 -1
- package/dist/oauth/providers/github-copilot.js +10 -3
- package/dist/oauth/providers/openai.d.ts +0 -1
- package/dist/oauth/providers/openai.js +1 -2
- package/dist/oauth/providers/xai.d.ts +0 -1
- package/dist/oauth/providers/xai.js +0 -1
- package/dist/oauth/providers.d.ts +0 -1
- package/dist/oauth/providers.js +0 -1
- package/dist/oauth/sse.d.ts +0 -1
- package/dist/oauth/sse.js +0 -1
- package/dist/oauth/store.d.ts +0 -1
- package/dist/oauth/store.js +0 -1
- package/dist/oauth/token-endpoint.d.ts +0 -1
- package/dist/oauth/token-endpoint.js +0 -1
- package/dist/oauth/types.d.ts +0 -1
- package/dist/oauth/types.js +0 -1
- package/dist/params.d.ts +0 -1
- package/dist/params.js +0 -1
- package/dist/report/build.d.ts +0 -1
- package/dist/report/build.js +0 -1
- package/dist/report/builtin.d.ts +0 -1
- package/dist/report/builtin.js +0 -1
- package/dist/report/code-frame.d.ts +0 -1
- package/dist/report/code-frame.js +0 -1
- package/dist/report/debug-steps.d.ts +0 -1
- package/dist/report/debug-steps.js +0 -1
- package/dist/report/explore-text.d.ts +0 -1
- package/dist/report/explore-text.js +0 -1
- package/dist/report/failure-text.d.ts +0 -1
- package/dist/report/failure-text.js +0 -1
- package/dist/report/format.d.ts +0 -1
- package/dist/report/format.js +0 -1
- package/dist/report/json.d.ts +0 -1
- package/dist/report/json.js +0 -1
- package/dist/report/junit.d.ts +0 -1
- package/dist/report/junit.js +0 -1
- package/dist/report/list-explore.d.ts +0 -1
- package/dist/report/list-explore.js +0 -1
- package/dist/report/list-model.d.ts +0 -1
- package/dist/report/list-model.js +0 -1
- package/dist/report/list-steps.d.ts +0 -1
- package/dist/report/list-steps.js +0 -1
- package/dist/report/list.d.ts +0 -1
- package/dist/report/list.js +0 -1
- package/dist/report/live-window.d.ts +0 -1
- package/dist/report/live-window.js +0 -1
- package/dist/report/markdown-text.d.ts +0 -1
- package/dist/report/markdown-text.js +0 -1
- package/dist/report/markdown.d.ts +0 -1
- package/dist/report/markdown.js +0 -1
- package/dist/report/outcome.d.ts +0 -1
- package/dist/report/outcome.js +0 -1
- package/dist/report/repeats.d.ts +0 -1
- package/dist/report/repeats.js +0 -1
- package/dist/report/running-tree.d.ts +0 -1
- package/dist/report/running-tree.js +0 -1
- package/dist/report/write.d.ts +0 -1
- package/dist/report/write.js +0 -1
- package/dist/run/app-ports.d.ts +0 -1
- package/dist/run/app-ports.js +0 -1
- package/dist/run/artifacts.d.ts +0 -1
- package/dist/run/artifacts.js +0 -1
- package/dist/run/budget.d.ts +0 -1
- package/dist/run/budget.js +0 -1
- package/dist/run/declared-processes.d.ts +0 -1
- package/dist/run/declared-processes.js +0 -1
- package/dist/run/events.d.ts +0 -1
- package/dist/run/events.js +0 -1
- package/dist/run/execute.d.ts +0 -1
- package/dist/run/execute.js +27 -13
- package/dist/run/extended-fixtures.d.ts +0 -1
- package/dist/run/extended-fixtures.js +0 -1
- package/dist/run/failure-evidence.d.ts +0 -1
- package/dist/run/failure-evidence.js +0 -1
- package/dist/run/fixture-recording.d.ts +0 -1
- package/dist/run/fixture-recording.js +0 -1
- package/dist/run/fixtures.d.ts +0 -1
- package/dist/run/fixtures.js +0 -1
- package/dist/run/in-process.d.ts +0 -1
- package/dist/run/in-process.js +0 -1
- package/dist/run/last-run.d.ts +0 -1
- package/dist/run/last-run.js +0 -1
- package/dist/run/managed-process.d.ts +0 -1
- package/dist/run/managed-process.js +0 -1
- package/dist/run/output.d.ts +0 -1
- package/dist/run/output.js +0 -1
- package/dist/run/process-pool.d.ts +0 -1
- package/dist/run/process-pool.js +0 -1
- package/dist/run/provision.d.ts +0 -1
- package/dist/run/provision.js +0 -1
- package/dist/run/realm.d.ts +2 -1
- package/dist/run/realm.js +1 -2
- package/dist/run/records.d.ts +0 -1
- package/dist/run/records.js +0 -1
- package/dist/run/retry.d.ts +0 -1
- package/dist/run/retry.js +0 -1
- package/dist/run/runner.d.ts +2 -1
- package/dist/run/runner.js +1 -2
- package/dist/run/scheduler.d.ts +0 -1
- package/dist/run/scheduler.js +0 -1
- package/dist/run/secrecy.d.ts +15 -1
- package/dist/run/secrecy.js +27 -2
- package/dist/run/serial.d.ts +0 -1
- package/dist/run/serial.js +0 -1
- package/dist/run/sessions.d.ts +0 -1
- package/dist/run/sessions.js +0 -1
- package/dist/run/standalone.d.ts +0 -1
- package/dist/run/standalone.js +3 -3
- package/dist/run/steps.d.ts +2 -3
- package/dist/run/steps.js +4 -2
- package/dist/run/trace-redaction.d.ts +0 -1
- package/dist/run/trace-redaction.js +0 -1
- package/dist/run/unit-runner.d.ts +0 -1
- package/dist/run/unit-runner.js +0 -1
- package/dist/run/units.d.ts +0 -1
- package/dist/run/units.js +0 -1
- package/dist/run/worker/entry.d.ts +0 -1
- package/dist/run/worker/entry.js +2 -3
- package/dist/run/worker/handle.d.ts +0 -1
- package/dist/run/worker/handle.js +0 -1
- package/dist/run/worker/protocol.d.ts +0 -1
- package/dist/run/worker/protocol.js +0 -1
- package/dist/run/worker/session.d.ts +0 -1
- package/dist/run/worker/session.js +0 -1
- package/dist/run/worker-models.d.ts +0 -1
- package/dist/run/worker-models.js +0 -1
- package/dist/secrets.d.ts +0 -1
- package/dist/secrets.js +0 -1
- package/dist/telemetry/checkout.d.ts +0 -1
- package/dist/telemetry/checkout.js +0 -1
- package/dist/telemetry/environment.d.ts +0 -1
- package/dist/telemetry/environment.js +0 -1
- package/dist/telemetry/events.d.ts +26 -10
- package/dist/telemetry/events.js +107 -13
- package/dist/telemetry/failure-kind.d.ts +0 -1
- package/dist/telemetry/failure-kind.js +0 -1
- package/dist/telemetry/posthog.d.ts +0 -1
- package/dist/telemetry/posthog.js +0 -1
- package/dist/telemetry/project.d.ts +0 -1
- package/dist/telemetry/project.js +0 -1
- package/dist/telemetry/store.d.ts +0 -1
- package/dist/telemetry/store.js +0 -1
- package/dist/telemetry/telemetry.d.ts +19 -8
- package/dist/telemetry/telemetry.js +26 -9
- package/dist/telemetry/token.d.ts +0 -1
- package/dist/telemetry/token.js +0 -1
- package/dist/types.d.ts +26 -24
- package/dist/types.js +0 -1
- package/docs/agent-steps.mdx +126 -0
- package/docs/agents.mdx +217 -0
- package/docs/api-testing.mdx +65 -0
- package/docs/authentication.mdx +345 -0
- package/docs/browser.mdx +440 -0
- package/docs/bug-bash.mdx +90 -0
- package/docs/cache.mdx +306 -0
- package/docs/ci.mdx +210 -0
- package/docs/coding-agents.mdx +183 -0
- package/docs/debugging.mdx +291 -0
- package/docs/executors.mdx +243 -0
- package/docs/explore.mdx +174 -0
- package/docs/github.mdx +184 -0
- package/docs/index.mdx +82 -0
- package/docs/integrations/eas.mdx +216 -0
- package/docs/integrations/index.mdx +24 -0
- package/docs/integrations/kernel.mdx +163 -0
- package/docs/migrate/cypress.mdx +124 -0
- package/docs/migrate/detox.mdx +140 -0
- package/docs/migrate/maestro.mdx +229 -0
- package/docs/migrate/playwright.mdx +430 -0
- package/docs/migrate/selenium.mdx +110 -0
- package/docs/mobile-ci.mdx +567 -0
- package/docs/mobile.mdx +595 -0
- package/docs/models.mdx +241 -0
- package/docs/quickstart.mdx +260 -0
- package/docs/reference/agent.mdx +524 -0
- package/docs/reference/app.mdx +72 -0
- package/docs/reference/cli.mdx +819 -0
- package/docs/reference/config.mdx +986 -0
- package/docs/reference/engine.mdx +1363 -0
- package/docs/reference/environment.mdx +113 -0
- package/docs/reference/errors.mdx +143 -0
- package/docs/reference/expect.mdx +546 -0
- package/docs/reference/mcp.mdx +205 -0
- package/docs/reference/mobile.mdx +522 -0
- package/docs/reference/reporters.mdx +216 -0
- package/docs/reference/screen.mdx +688 -0
- package/docs/reference/test.mdx +449 -0
- package/docs/reference/web.mdx +615 -0
- package/docs/security.mdx +308 -0
- package/docs/starting-your-app.mdx +231 -0
- package/docs/subscriptions.mdx +166 -0
- package/docs/telemetry.mdx +227 -0
- package/docs/tools.mdx +150 -0
- package/docs/viewports.mdx +146 -0
- package/docs/writing-an-engine.mdx +316 -0
- package/docs/writing-tests.mdx +256 -0
- package/package.json +5 -3
- package/skills/e2e/SKILL.md +4 -1
- package/skills/e2e/references/agent.md +3 -1
- package/skills/e2e/references/mcp.md +3 -0
- package/skills/e2e/references/setup.md +19 -4
- package/skills/e2e/references/writing-tests.md +11 -0
- package/dist/agent/act-validation.d.ts.map +0 -1
- package/dist/agent/act-validation.js.map +0 -1
- package/dist/agent/act.d.ts.map +0 -1
- package/dist/agent/act.js.map +0 -1
- package/dist/agent/action-dispatcher.d.ts.map +0 -1
- package/dist/agent/action-dispatcher.js.map +0 -1
- package/dist/agent/action-names.d.ts.map +0 -1
- package/dist/agent/action-names.js.map +0 -1
- package/dist/agent/actions.d.ts.map +0 -1
- package/dist/agent/actions.js.map +0 -1
- package/dist/agent/agent-brand.d.ts.map +0 -1
- package/dist/agent/agent-brand.js.map +0 -1
- package/dist/agent/ai-sdk.d.ts.map +0 -1
- package/dist/agent/ai-sdk.js.map +0 -1
- package/dist/agent/call-options.d.ts.map +0 -1
- package/dist/agent/call-options.js.map +0 -1
- package/dist/agent/default-agent.d.ts.map +0 -1
- package/dist/agent/default-agent.js.map +0 -1
- package/dist/agent/derived.d.ts.map +0 -1
- package/dist/agent/derived.js.map +0 -1
- package/dist/agent/error.d.ts.map +0 -1
- package/dist/agent/error.js.map +0 -1
- package/dist/agent/executor.d.ts.map +0 -1
- package/dist/agent/executor.js.map +0 -1
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/interactive-step.d.ts.map +0 -1
- package/dist/agent/interactive-step.js.map +0 -1
- package/dist/agent/invocation.d.ts.map +0 -1
- package/dist/agent/invocation.js.map +0 -1
- package/dist/agent/ledger.d.ts.map +0 -1
- package/dist/agent/ledger.js.map +0 -1
- package/dist/agent/loop-guards.d.ts.map +0 -1
- package/dist/agent/loop-guards.js.map +0 -1
- package/dist/agent/model/adapter.d.ts.map +0 -1
- package/dist/agent/model/adapter.js.map +0 -1
- package/dist/agent/model/overflow.d.ts.map +0 -1
- package/dist/agent/model/overflow.js.map +0 -1
- package/dist/agent/model/provider-hints.d.ts.map +0 -1
- package/dist/agent/model/provider-hints.js.map +0 -1
- package/dist/agent/model/schema.d.ts.map +0 -1
- package/dist/agent/model/schema.js.map +0 -1
- package/dist/agent/model/sdk.d.ts.map +0 -1
- package/dist/agent/model/sdk.js.map +0 -1
- package/dist/agent/model/stall.d.ts.map +0 -1
- package/dist/agent/model/stall.js.map +0 -1
- package/dist/agent/model/tool-choice.d.ts.map +0 -1
- package/dist/agent/model/tool-choice.js.map +0 -1
- package/dist/agent/observation-budget.d.ts.map +0 -1
- package/dist/agent/observation-budget.js.map +0 -1
- package/dist/agent/observation-feed.d.ts.map +0 -1
- package/dist/agent/observation-feed.js.map +0 -1
- package/dist/agent/observation.d.ts.map +0 -1
- package/dist/agent/observation.js.map +0 -1
- package/dist/agent/operation-queue.d.ts.map +0 -1
- package/dist/agent/operation-queue.js.map +0 -1
- package/dist/agent/phases.d.ts.map +0 -1
- package/dist/agent/phases.js.map +0 -1
- package/dist/agent/pixels.d.ts.map +0 -1
- package/dist/agent/pixels.js.map +0 -1
- package/dist/agent/point-tap.d.ts.map +0 -1
- package/dist/agent/point-tap.js.map +0 -1
- package/dist/agent/primitives.d.ts.map +0 -1
- package/dist/agent/primitives.js.map +0 -1
- package/dist/agent/prompts.d.ts.map +0 -1
- package/dist/agent/prompts.js.map +0 -1
- package/dist/agent/protocol.d.ts.map +0 -1
- package/dist/agent/protocol.js.map +0 -1
- package/dist/agent/public.d.ts.map +0 -1
- package/dist/agent/public.js.map +0 -1
- package/dist/agent/reading.d.ts.map +0 -1
- package/dist/agent/reading.js.map +0 -1
- package/dist/agent/replay.d.ts.map +0 -1
- package/dist/agent/replay.js.map +0 -1
- package/dist/agent/screen-update.d.ts.map +0 -1
- package/dist/agent/screen-update.js.map +0 -1
- package/dist/agent/scroll-target.d.ts.map +0 -1
- package/dist/agent/scroll-target.js.map +0 -1
- package/dist/agent/secrets.d.ts.map +0 -1
- package/dist/agent/secrets.js.map +0 -1
- package/dist/agent/settle-policy.d.ts.map +0 -1
- package/dist/agent/settle-policy.js.map +0 -1
- package/dist/agent/step-accounting.d.ts.map +0 -1
- package/dist/agent/step-accounting.js.map +0 -1
- package/dist/agent/step-cache.d.ts.map +0 -1
- package/dist/agent/step-cache.js.map +0 -1
- package/dist/agent/tool-loop.d.ts.map +0 -1
- package/dist/agent/tool-loop.js.map +0 -1
- package/dist/agent/tool-output.d.ts.map +0 -1
- package/dist/agent/tool-output.js.map +0 -1
- package/dist/agent/tool.d.ts.map +0 -1
- package/dist/agent/tool.js.map +0 -1
- package/dist/agent/transcript-compaction.d.ts.map +0 -1
- package/dist/agent/transcript-compaction.js.map +0 -1
- package/dist/agent/upload-paths.d.ts.map +0 -1
- package/dist/agent/upload-paths.js.map +0 -1
- package/dist/agent/usage.d.ts.map +0 -1
- package/dist/agent/usage.js.map +0 -1
- package/dist/cache/anchors.d.ts.map +0 -1
- package/dist/cache/anchors.js.map +0 -1
- package/dist/cache/context.d.ts.map +0 -1
- package/dist/cache/context.js.map +0 -1
- package/dist/cache/decide.d.ts.map +0 -1
- package/dist/cache/decide.js.map +0 -1
- package/dist/cache/identity.d.ts.map +0 -1
- package/dist/cache/identity.js.map +0 -1
- package/dist/cache/recorder.d.ts.map +0 -1
- package/dist/cache/recorder.js.map +0 -1
- package/dist/cache/relocate.d.ts.map +0 -1
- package/dist/cache/relocate.js.map +0 -1
- package/dist/cache/route.d.ts.map +0 -1
- package/dist/cache/route.js.map +0 -1
- package/dist/cache/store.d.ts.map +0 -1
- package/dist/cache/store.js.map +0 -1
- package/dist/cache/template.d.ts.map +0 -1
- package/dist/cache/template.js.map +0 -1
- package/dist/cache/trace.d.ts.map +0 -1
- package/dist/cache/trace.js.map +0 -1
- package/dist/cli/bin.d.ts.map +0 -1
- package/dist/cli/bin.js.map +0 -1
- package/dist/cli/cache.d.ts.map +0 -1
- package/dist/cli/cache.js.map +0 -1
- package/dist/cli/docs-url.d.ts.map +0 -1
- package/dist/cli/docs-url.js.map +0 -1
- package/dist/cli/feedback.d.ts.map +0 -1
- package/dist/cli/feedback.js.map +0 -1
- package/dist/cli/guide.d.ts.map +0 -1
- package/dist/cli/guide.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/init/agent-skill.d.ts.map +0 -1
- package/dist/cli/init/agent-skill.js.map +0 -1
- package/dist/cli/init/engines.d.ts.map +0 -1
- package/dist/cli/init/engines.js.map +0 -1
- package/dist/cli/init/gateways.d.ts.map +0 -1
- package/dist/cli/init/gateways.js.map +0 -1
- package/dist/cli/init/mcp-config.d.ts.map +0 -1
- package/dist/cli/init/mcp-config.js.map +0 -1
- package/dist/cli/init/package.d.ts.map +0 -1
- package/dist/cli/init/package.js.map +0 -1
- package/dist/cli/init/scaffold.d.ts.map +0 -1
- package/dist/cli/init/scaffold.js.map +0 -1
- package/dist/cli/init/versions.d.ts.map +0 -1
- package/dist/cli/init/versions.js.map +0 -1
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/init.js.map +0 -1
- package/dist/cli/mcp.d.ts.map +0 -1
- package/dist/cli/mcp.js.map +0 -1
- package/dist/cli/signals.d.ts.map +0 -1
- package/dist/cli/signals.js.map +0 -1
- package/dist/cli/skill.d.ts.map +0 -1
- package/dist/cli/skill.js.map +0 -1
- package/dist/cli/telemetry.d.ts.map +0 -1
- package/dist/cli/telemetry.js.map +0 -1
- package/dist/cli/wordmark.d.ts.map +0 -1
- package/dist/cli/wordmark.js.map +0 -1
- package/dist/collect/collect.d.ts.map +0 -1
- package/dist/collect/collect.js.map +0 -1
- package/dist/collect/registry.d.ts.map +0 -1
- package/dist/collect/registry.js.map +0 -1
- package/dist/collect/select.d.ts.map +0 -1
- package/dist/collect/select.js.map +0 -1
- package/dist/config/agent.d.ts.map +0 -1
- package/dist/config/agent.js.map +0 -1
- package/dist/config/app.d.ts.map +0 -1
- package/dist/config/app.js.map +0 -1
- package/dist/config/command.d.ts.map +0 -1
- package/dist/config/command.js.map +0 -1
- package/dist/config/diagnose.d.ts.map +0 -1
- package/dist/config/diagnose.js.map +0 -1
- package/dist/config/esm-hooks.d.ts.map +0 -1
- package/dist/config/esm-hooks.js.map +0 -1
- package/dist/config/load.d.ts.map +0 -1
- package/dist/config/load.js.map +0 -1
- package/dist/config/resolve.d.ts.map +0 -1
- package/dist/config/resolve.js.map +0 -1
- package/dist/config/secrets.d.ts.map +0 -1
- package/dist/config/secrets.js.map +0 -1
- package/dist/config/targets.d.ts.map +0 -1
- package/dist/config/targets.js.map +0 -1
- package/dist/config/validate.d.ts.map +0 -1
- package/dist/config/validate.js.map +0 -1
- package/dist/engine/contract.d.ts.map +0 -1
- package/dist/engine/contract.js.map +0 -1
- package/dist/engine/index.d.ts.map +0 -1
- package/dist/engine/index.js.map +0 -1
- package/dist/engine/manifest.d.ts.map +0 -1
- package/dist/engine/manifest.js.map +0 -1
- package/dist/engine/recording.d.ts.map +0 -1
- package/dist/engine/recording.js.map +0 -1
- package/dist/engine/resolve.d.ts.map +0 -1
- package/dist/engine/resolve.js.map +0 -1
- package/dist/engine/session.d.ts.map +0 -1
- package/dist/engine/session.js.map +0 -1
- package/dist/engine/surface.d.ts.map +0 -1
- package/dist/engine/surface.js.map +0 -1
- package/dist/engine/timing.d.ts.map +0 -1
- package/dist/engine/timing.js.map +0 -1
- package/dist/expect/async.d.ts.map +0 -1
- package/dist/expect/async.js.map +0 -1
- package/dist/expect/attempt.d.ts.map +0 -1
- package/dist/expect/attempt.js.map +0 -1
- package/dist/expect/index.d.ts.map +0 -1
- package/dist/expect/index.js.map +0 -1
- package/dist/expect/poll.d.ts.map +0 -1
- package/dist/expect/poll.js.map +0 -1
- package/dist/expect/soft.d.ts.map +0 -1
- package/dist/expect/soft.js.map +0 -1
- package/dist/expect/values.d.ts.map +0 -1
- package/dist/expect/values.js.map +0 -1
- package/dist/explore/body.d.ts.map +0 -1
- package/dist/explore/body.js.map +0 -1
- package/dist/explore/executor.d.ts.map +0 -1
- package/dist/explore/executor.js.map +0 -1
- package/dist/explore/index.d.ts.map +0 -1
- package/dist/explore/index.js.map +0 -1
- package/dist/explore/plan.d.ts.map +0 -1
- package/dist/explore/plan.js.map +0 -1
- package/dist/explore/progress.d.ts.map +0 -1
- package/dist/explore/progress.js.map +0 -1
- package/dist/explore/state.d.ts.map +0 -1
- package/dist/explore/state.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal/ai-trace.d.ts.map +0 -1
- package/dist/internal/ai-trace.js.map +0 -1
- package/dist/internal/atomic-write.d.ts.map +0 -1
- package/dist/internal/atomic-write.js.map +0 -1
- package/dist/internal/brands.d.ts.map +0 -1
- package/dist/internal/brands.js.map +0 -1
- package/dist/internal/debug.d.ts.map +0 -1
- package/dist/internal/debug.js.map +0 -1
- package/dist/internal/env.d.ts.map +0 -1
- package/dist/internal/env.js.map +0 -1
- package/dist/internal/errors.d.ts.map +0 -1
- package/dist/internal/errors.js.map +0 -1
- package/dist/internal/geometry.d.ts.map +0 -1
- package/dist/internal/geometry.js.map +0 -1
- package/dist/internal/git.d.ts.map +0 -1
- package/dist/internal/git.js.map +0 -1
- package/dist/internal/globs.d.ts.map +0 -1
- package/dist/internal/globs.js.map +0 -1
- package/dist/internal/ids.d.ts.map +0 -1
- package/dist/internal/ids.js.map +0 -1
- package/dist/internal/json-value.d.ts.map +0 -1
- package/dist/internal/json-value.js.map +0 -1
- package/dist/internal/keys.d.ts.map +0 -1
- package/dist/internal/keys.js.map +0 -1
- package/dist/internal/node-version.d.ts.map +0 -1
- package/dist/internal/node-version.js.map +0 -1
- package/dist/internal/objects.d.ts.map +0 -1
- package/dist/internal/objects.js.map +0 -1
- package/dist/internal/options.d.ts.map +0 -1
- package/dist/internal/options.js.map +0 -1
- package/dist/internal/package-manager.d.ts.map +0 -1
- package/dist/internal/package-manager.js.map +0 -1
- package/dist/internal/package-version.d.ts.map +0 -1
- package/dist/internal/package-version.js.map +0 -1
- package/dist/internal/paths.d.ts.map +0 -1
- package/dist/internal/paths.js.map +0 -1
- package/dist/internal/realm-slot.d.ts.map +0 -1
- package/dist/internal/realm-slot.js.map +0 -1
- package/dist/internal/recording-modes.d.ts.map +0 -1
- package/dist/internal/recording-modes.js.map +0 -1
- package/dist/internal/redact.d.ts.map +0 -1
- package/dist/internal/redact.js.map +0 -1
- package/dist/internal/regexp.d.ts.map +0 -1
- package/dist/internal/regexp.js.map +0 -1
- package/dist/internal/roles.d.ts.map +0 -1
- package/dist/internal/roles.js.map +0 -1
- package/dist/internal/skip.d.ts.map +0 -1
- package/dist/internal/skip.js.map +0 -1
- package/dist/internal/source.d.ts.map +0 -1
- package/dist/internal/source.js.map +0 -1
- package/dist/internal/standard-schema.d.ts.map +0 -1
- package/dist/internal/standard-schema.js.map +0 -1
- package/dist/internal/suggest.d.ts.map +0 -1
- package/dist/internal/suggest.js.map +0 -1
- package/dist/internal/text.d.ts.map +0 -1
- package/dist/internal/text.js.map +0 -1
- package/dist/internal/time.d.ts.map +0 -1
- package/dist/internal/time.js.map +0 -1
- package/dist/internal/urls.d.ts.map +0 -1
- package/dist/internal/urls.js.map +0 -1
- package/dist/internal/vcs.d.ts.map +0 -1
- package/dist/internal/vcs.js.map +0 -1
- package/dist/internal/zip.d.ts.map +0 -1
- package/dist/internal/zip.js.map +0 -1
- package/dist/locator/engine.d.ts.map +0 -1
- package/dist/locator/engine.js.map +0 -1
- package/dist/locator/expression.d.ts.map +0 -1
- package/dist/locator/expression.js.map +0 -1
- package/dist/locator/screen.d.ts.map +0 -1
- package/dist/locator/screen.js.map +0 -1
- package/dist/mcp/catalog.d.ts.map +0 -1
- package/dist/mcp/catalog.js.map +0 -1
- package/dist/mcp/config.d.ts.map +0 -1
- package/dist/mcp/config.js.map +0 -1
- package/dist/mcp/recording.d.ts.map +0 -1
- package/dist/mcp/recording.js.map +0 -1
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/session.d.ts.map +0 -1
- package/dist/mcp/session.js.map +0 -1
- package/dist/mcp/sessions.d.ts.map +0 -1
- package/dist/mcp/sessions.js.map +0 -1
- package/dist/mcp/tools.d.ts.map +0 -1
- package/dist/mcp/tools.js.map +0 -1
- package/dist/oauth/callback-server.d.ts.map +0 -1
- package/dist/oauth/callback-server.js.map +0 -1
- package/dist/oauth/chatgpt.d.ts.map +0 -1
- package/dist/oauth/chatgpt.js.map +0 -1
- package/dist/oauth/cli.d.ts.map +0 -1
- package/dist/oauth/cli.js.map +0 -1
- package/dist/oauth/copilot.d.ts.map +0 -1
- package/dist/oauth/copilot.js.map +0 -1
- package/dist/oauth/device-code.d.ts.map +0 -1
- package/dist/oauth/device-code.js.map +0 -1
- package/dist/oauth/errors.d.ts.map +0 -1
- package/dist/oauth/errors.js.map +0 -1
- package/dist/oauth/fetch.d.ts.map +0 -1
- package/dist/oauth/fetch.js.map +0 -1
- package/dist/oauth/grok.d.ts.map +0 -1
- package/dist/oauth/grok.js.map +0 -1
- package/dist/oauth/jwt.d.ts.map +0 -1
- package/dist/oauth/jwt.js.map +0 -1
- package/dist/oauth/login.d.ts.map +0 -1
- package/dist/oauth/login.js.map +0 -1
- package/dist/oauth/models.d.ts.map +0 -1
- package/dist/oauth/models.js.map +0 -1
- package/dist/oauth/pkce.d.ts.map +0 -1
- package/dist/oauth/pkce.js.map +0 -1
- package/dist/oauth/providers/github-copilot.d.ts.map +0 -1
- package/dist/oauth/providers/github-copilot.js.map +0 -1
- package/dist/oauth/providers/openai.d.ts.map +0 -1
- package/dist/oauth/providers/openai.js.map +0 -1
- package/dist/oauth/providers/xai.d.ts.map +0 -1
- package/dist/oauth/providers/xai.js.map +0 -1
- package/dist/oauth/providers.d.ts.map +0 -1
- package/dist/oauth/providers.js.map +0 -1
- package/dist/oauth/sse.d.ts.map +0 -1
- package/dist/oauth/sse.js.map +0 -1
- package/dist/oauth/store.d.ts.map +0 -1
- package/dist/oauth/store.js.map +0 -1
- package/dist/oauth/token-endpoint.d.ts.map +0 -1
- package/dist/oauth/token-endpoint.js.map +0 -1
- package/dist/oauth/types.d.ts.map +0 -1
- package/dist/oauth/types.js.map +0 -1
- package/dist/params.d.ts.map +0 -1
- package/dist/params.js.map +0 -1
- package/dist/report/build.d.ts.map +0 -1
- package/dist/report/build.js.map +0 -1
- package/dist/report/builtin.d.ts.map +0 -1
- package/dist/report/builtin.js.map +0 -1
- package/dist/report/code-frame.d.ts.map +0 -1
- package/dist/report/code-frame.js.map +0 -1
- package/dist/report/debug-steps.d.ts.map +0 -1
- package/dist/report/debug-steps.js.map +0 -1
- package/dist/report/explore-text.d.ts.map +0 -1
- package/dist/report/explore-text.js.map +0 -1
- package/dist/report/failure-text.d.ts.map +0 -1
- package/dist/report/failure-text.js.map +0 -1
- package/dist/report/format.d.ts.map +0 -1
- package/dist/report/format.js.map +0 -1
- package/dist/report/json.d.ts.map +0 -1
- package/dist/report/json.js.map +0 -1
- package/dist/report/junit.d.ts.map +0 -1
- package/dist/report/junit.js.map +0 -1
- package/dist/report/list-explore.d.ts.map +0 -1
- package/dist/report/list-explore.js.map +0 -1
- package/dist/report/list-model.d.ts.map +0 -1
- package/dist/report/list-model.js.map +0 -1
- package/dist/report/list-steps.d.ts.map +0 -1
- package/dist/report/list-steps.js.map +0 -1
- package/dist/report/list.d.ts.map +0 -1
- package/dist/report/list.js.map +0 -1
- package/dist/report/live-window.d.ts.map +0 -1
- package/dist/report/live-window.js.map +0 -1
- package/dist/report/markdown-text.d.ts.map +0 -1
- package/dist/report/markdown-text.js.map +0 -1
- package/dist/report/markdown.d.ts.map +0 -1
- package/dist/report/markdown.js.map +0 -1
- package/dist/report/outcome.d.ts.map +0 -1
- package/dist/report/outcome.js.map +0 -1
- package/dist/report/repeats.d.ts.map +0 -1
- package/dist/report/repeats.js.map +0 -1
- package/dist/report/running-tree.d.ts.map +0 -1
- package/dist/report/running-tree.js.map +0 -1
- package/dist/report/write.d.ts.map +0 -1
- package/dist/report/write.js.map +0 -1
- package/dist/run/app-ports.d.ts.map +0 -1
- package/dist/run/app-ports.js.map +0 -1
- package/dist/run/artifacts.d.ts.map +0 -1
- package/dist/run/artifacts.js.map +0 -1
- package/dist/run/budget.d.ts.map +0 -1
- package/dist/run/budget.js.map +0 -1
- package/dist/run/declared-processes.d.ts.map +0 -1
- package/dist/run/declared-processes.js.map +0 -1
- package/dist/run/events.d.ts.map +0 -1
- package/dist/run/events.js.map +0 -1
- package/dist/run/execute.d.ts.map +0 -1
- package/dist/run/execute.js.map +0 -1
- package/dist/run/extended-fixtures.d.ts.map +0 -1
- package/dist/run/extended-fixtures.js.map +0 -1
- package/dist/run/failure-evidence.d.ts.map +0 -1
- package/dist/run/failure-evidence.js.map +0 -1
- package/dist/run/fixture-recording.d.ts.map +0 -1
- package/dist/run/fixture-recording.js.map +0 -1
- package/dist/run/fixtures.d.ts.map +0 -1
- package/dist/run/fixtures.js.map +0 -1
- package/dist/run/in-process.d.ts.map +0 -1
- package/dist/run/in-process.js.map +0 -1
- package/dist/run/last-run.d.ts.map +0 -1
- package/dist/run/last-run.js.map +0 -1
- package/dist/run/managed-process.d.ts.map +0 -1
- package/dist/run/managed-process.js.map +0 -1
- package/dist/run/output.d.ts.map +0 -1
- package/dist/run/output.js.map +0 -1
- package/dist/run/process-pool.d.ts.map +0 -1
- package/dist/run/process-pool.js.map +0 -1
- package/dist/run/provision.d.ts.map +0 -1
- package/dist/run/provision.js.map +0 -1
- package/dist/run/realm.d.ts.map +0 -1
- package/dist/run/realm.js.map +0 -1
- package/dist/run/records.d.ts.map +0 -1
- package/dist/run/records.js.map +0 -1
- package/dist/run/retry.d.ts.map +0 -1
- package/dist/run/retry.js.map +0 -1
- package/dist/run/runner.d.ts.map +0 -1
- package/dist/run/runner.js.map +0 -1
- package/dist/run/scheduler.d.ts.map +0 -1
- package/dist/run/scheduler.js.map +0 -1
- package/dist/run/secrecy.d.ts.map +0 -1
- package/dist/run/secrecy.js.map +0 -1
- package/dist/run/serial.d.ts.map +0 -1
- package/dist/run/serial.js.map +0 -1
- package/dist/run/sessions.d.ts.map +0 -1
- package/dist/run/sessions.js.map +0 -1
- package/dist/run/standalone.d.ts.map +0 -1
- package/dist/run/standalone.js.map +0 -1
- package/dist/run/steps.d.ts.map +0 -1
- package/dist/run/steps.js.map +0 -1
- package/dist/run/trace-redaction.d.ts.map +0 -1
- package/dist/run/trace-redaction.js.map +0 -1
- package/dist/run/unit-runner.d.ts.map +0 -1
- package/dist/run/unit-runner.js.map +0 -1
- package/dist/run/units.d.ts.map +0 -1
- package/dist/run/units.js.map +0 -1
- package/dist/run/worker/entry.d.ts.map +0 -1
- package/dist/run/worker/entry.js.map +0 -1
- package/dist/run/worker/handle.d.ts.map +0 -1
- package/dist/run/worker/handle.js.map +0 -1
- package/dist/run/worker/protocol.d.ts.map +0 -1
- package/dist/run/worker/protocol.js.map +0 -1
- package/dist/run/worker/session.d.ts.map +0 -1
- package/dist/run/worker/session.js.map +0 -1
- package/dist/run/worker-models.d.ts.map +0 -1
- package/dist/run/worker-models.js.map +0 -1
- package/dist/secrets.d.ts.map +0 -1
- package/dist/secrets.js.map +0 -1
- package/dist/telemetry/checkout.d.ts.map +0 -1
- package/dist/telemetry/checkout.js.map +0 -1
- package/dist/telemetry/environment.d.ts.map +0 -1
- package/dist/telemetry/environment.js.map +0 -1
- package/dist/telemetry/events.d.ts.map +0 -1
- package/dist/telemetry/events.js.map +0 -1
- package/dist/telemetry/failure-kind.d.ts.map +0 -1
- package/dist/telemetry/failure-kind.js.map +0 -1
- package/dist/telemetry/posthog.d.ts.map +0 -1
- package/dist/telemetry/posthog.js.map +0 -1
- package/dist/telemetry/project.d.ts.map +0 -1
- package/dist/telemetry/project.js.map +0 -1
- package/dist/telemetry/store.d.ts.map +0 -1
- package/dist/telemetry/store.js.map +0 -1
- package/dist/telemetry/telemetry.d.ts.map +0 -1
- package/dist/telemetry/telemetry.js.map +0 -1
- package/dist/telemetry/token.d.ts.map +0 -1
- package/dist/telemetry/token.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
package/dist/expect/async.js
CHANGED
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
/** Runner-owned polling locator assertions. */
|
|
2
2
|
import { TestError } from '../internal/errors.js';
|
|
3
|
-
import {
|
|
3
|
+
import { rejectUnknownOptions } from '../internal/options.js';
|
|
4
|
+
import { isTextMatch, normalizeText, compareText, toTextPattern, describePattern, withIgnoreCase, } from '../internal/text.js';
|
|
4
5
|
import { isValueControl } from '../internal/roles.js';
|
|
5
6
|
import { Deadline, pollCondition } from '../internal/time.js';
|
|
6
7
|
import { attributeOf, denySecureRead, isNodeVisible } from '../locator/engine.js';
|
|
7
8
|
import { describeExpression } from '../locator/expression.js';
|
|
8
9
|
const STATE_MATCHERS = {
|
|
9
|
-
toBeEnabled: {
|
|
10
|
+
toBeEnabled: {
|
|
11
|
+
key: 'disabled',
|
|
12
|
+
expected: false,
|
|
13
|
+
describeExpected: 'enabled',
|
|
14
|
+
flag: { option: 'enabled', describeExpected: 'disabled' },
|
|
15
|
+
},
|
|
10
16
|
toBeDisabled: { key: 'disabled', expected: true, describeExpected: 'disabled' },
|
|
11
|
-
toBeChecked: {
|
|
17
|
+
toBeChecked: {
|
|
18
|
+
key: 'checked',
|
|
19
|
+
expected: true,
|
|
20
|
+
describeExpected: 'checked',
|
|
21
|
+
flag: { option: 'checked', describeExpected: 'unchecked' },
|
|
22
|
+
},
|
|
12
23
|
toBeSelected: { key: 'selected', expected: true, describeExpected: 'selected' },
|
|
13
24
|
toBeExpanded: { key: 'expanded', expected: true, describeExpected: 'expanded' },
|
|
14
25
|
toBeFocused: { key: 'focused', expected: true, describeExpected: 'focused' },
|
|
@@ -19,24 +30,28 @@ const TEXT_MATCHERS = {
|
|
|
19
30
|
mode: 'equals',
|
|
20
31
|
normalize: true,
|
|
21
32
|
describeExpected: (pattern) => `text ${pattern}`,
|
|
33
|
+
takesIgnoreCase: true,
|
|
22
34
|
},
|
|
23
35
|
toContainText: {
|
|
24
36
|
field: 'text',
|
|
25
37
|
mode: 'contains',
|
|
26
38
|
normalize: true,
|
|
27
39
|
describeExpected: (pattern) => `text containing ${pattern}`,
|
|
40
|
+
takesIgnoreCase: true,
|
|
28
41
|
},
|
|
29
42
|
toHaveValue: {
|
|
30
43
|
field: 'value',
|
|
31
44
|
mode: 'equals',
|
|
32
45
|
normalize: false,
|
|
33
46
|
describeExpected: (pattern) => `value ${pattern}`,
|
|
47
|
+
takesIgnoreCase: false,
|
|
34
48
|
},
|
|
35
49
|
toHaveAccessibleName: {
|
|
36
50
|
field: 'name',
|
|
37
51
|
mode: 'equals',
|
|
38
52
|
normalize: true,
|
|
39
53
|
describeExpected: (pattern) => `accessible name ${pattern}`,
|
|
54
|
+
takesIgnoreCase: true,
|
|
40
55
|
},
|
|
41
56
|
};
|
|
42
57
|
class AsyncExpectationImpl {
|
|
@@ -52,9 +67,28 @@ class AsyncExpectationImpl {
|
|
|
52
67
|
get label() {
|
|
53
68
|
return describeExpression(this.internals.expression);
|
|
54
69
|
}
|
|
70
|
+
/** The matcher's name as its step and its errors print it: `expect.not.toBeChecked`. */
|
|
71
|
+
api(name) {
|
|
72
|
+
return `expect.${this.negated ? 'not.' : ''}${name}`;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Refuses an option `name` does not take before anything is read: a
|
|
76
|
+
* JavaScript caller's Playwright option must fail, not run as if absent.
|
|
77
|
+
* Returns the boolean `flag` option, `undefined` when absent.
|
|
78
|
+
*/
|
|
79
|
+
readOptions(name, options, flag) {
|
|
80
|
+
const api = this.api(name);
|
|
81
|
+
rejectUnknownOptions(api, options, flag === undefined ? ['timeout'] : [flag, 'timeout']);
|
|
82
|
+
if (flag === undefined || options === undefined)
|
|
83
|
+
return undefined;
|
|
84
|
+
const value = Reflect.get(options, flag);
|
|
85
|
+
if (value === undefined || typeof value === 'boolean')
|
|
86
|
+
return value;
|
|
87
|
+
throw new TestError('INVALID_ARGUMENT', `${api} option ${flag} must be a boolean`);
|
|
88
|
+
}
|
|
55
89
|
async poll(spec, timeout) {
|
|
56
90
|
const { engine } = this.internals.context;
|
|
57
|
-
const api =
|
|
91
|
+
const api = this.api(spec.name);
|
|
58
92
|
await this.internals.context.steps.run('assertion', api, this.label, async () => {
|
|
59
93
|
const deadline = engine.deadline(timeout ?? engine.assertionTimeout);
|
|
60
94
|
let lastSample = { count: 0, node: null, nodes: [] };
|
|
@@ -113,29 +147,44 @@ class AsyncExpectationImpl {
|
|
|
113
147
|
const { node, count } = await engine.tryRead(this.internals.expression, deadline);
|
|
114
148
|
return { count, node, nodes: [] };
|
|
115
149
|
}
|
|
116
|
-
|
|
150
|
+
/** A state matcher; its Playwright flag set to `false` expects the opposite state. */
|
|
151
|
+
stateMatcher(name, options) {
|
|
117
152
|
const def = STATE_MATCHERS[name];
|
|
153
|
+
const holds = this.readOptions(name, options, def.flag?.option) ?? true;
|
|
154
|
+
const expected = holds ? def.expected : !def.expected;
|
|
118
155
|
return this.poll({
|
|
119
156
|
name,
|
|
120
|
-
predicate: (sample) => sample.node !== null && (sample.node.states?.[def.key] === true) ===
|
|
121
|
-
describeExpected: def.describeExpected,
|
|
157
|
+
predicate: (sample) => sample.node !== null && (sample.node.states?.[def.key] === true) === expected,
|
|
158
|
+
describeExpected: holds || def.flag === undefined ? def.describeExpected : def.flag.describeExpected,
|
|
122
159
|
observed: observedState,
|
|
160
|
+
}, options?.timeout);
|
|
161
|
+
}
|
|
162
|
+
/** `toBeVisible` and `toBeHidden`: not visible means hidden or absent. */
|
|
163
|
+
visibilityMatcher(name, visible, timeout) {
|
|
164
|
+
return this.poll({
|
|
165
|
+
name,
|
|
166
|
+
evaluableWithoutNode: true,
|
|
167
|
+
predicate: (sample) => isNodeVisible(sample.node) === visible,
|
|
168
|
+
describeExpected: visible ? 'visible' : 'hidden or absent',
|
|
169
|
+
observed: visible ? observedState : (sample) => (isNodeVisible(sample.node) ? 'visible' : 'hidden'),
|
|
123
170
|
}, timeout);
|
|
124
171
|
}
|
|
125
|
-
textMatcher(name, expected,
|
|
126
|
-
if (isTextMatchList(expected))
|
|
127
|
-
return this.textListMatcher(name, expected, timeout);
|
|
172
|
+
textMatcher(name, expected, options) {
|
|
128
173
|
const def = TEXT_MATCHERS[name];
|
|
129
|
-
const
|
|
174
|
+
const ignoreCase = this.readOptions(name, options, def.takesIgnoreCase ? 'ignoreCase' : undefined);
|
|
175
|
+
const comparison = { mode: def.mode, normalize: def.normalize, ignoreCase };
|
|
176
|
+
if (isTextMatchList(expected))
|
|
177
|
+
return this.textListMatcher(name, expected, comparison, options?.timeout);
|
|
178
|
+
const pattern = withIgnoreCase(toTextPattern(expected, { exact: true }), ignoreCase);
|
|
130
179
|
return this.poll({
|
|
131
180
|
name,
|
|
132
181
|
readsWithheld: def.field !== 'name',
|
|
133
182
|
evaluableNode: (node) => readField(def, node) !== undefined,
|
|
134
183
|
predicate: (sample) => {
|
|
135
184
|
const actual = sample.node === null ? undefined : readField(def, sample.node);
|
|
136
|
-
return actual !== undefined && compareText(actual, pattern,
|
|
185
|
+
return actual !== undefined && compareText(actual, pattern, comparison);
|
|
137
186
|
},
|
|
138
|
-
describeExpected: def.describeExpected(
|
|
187
|
+
describeExpected: def.describeExpected(describeText(pattern, ignoreCase)),
|
|
139
188
|
observed: (sample) => {
|
|
140
189
|
if (sample.node === null)
|
|
141
190
|
return 'no node';
|
|
@@ -144,23 +193,23 @@ class AsyncExpectationImpl {
|
|
|
144
193
|
return `no ${def.field} (not a form control)`;
|
|
145
194
|
return `${def.field} ${printField(def, actual)}`;
|
|
146
195
|
},
|
|
147
|
-
}, timeout);
|
|
196
|
+
}, options?.timeout);
|
|
148
197
|
}
|
|
149
198
|
/**
|
|
150
199
|
* The list form. `toHaveText` needs exactly as many matches as entries,
|
|
151
200
|
* each match satisfying the entry at its position; `toContainText` needs
|
|
152
201
|
* each entry contained by a distinct match, in order, as Playwright's does.
|
|
153
202
|
*/
|
|
154
|
-
textListMatcher(name, expected, timeout) {
|
|
203
|
+
textListMatcher(name, expected, comparison, timeout) {
|
|
155
204
|
const def = TEXT_MATCHERS[name];
|
|
156
|
-
const patterns = expected.map((entry) => toTextPattern(entry, { exact: true }));
|
|
205
|
+
const patterns = expected.map((entry) => withIgnoreCase(toTextPattern(entry, { exact: true }), comparison.ignoreCase));
|
|
157
206
|
const printed = (node) => {
|
|
158
207
|
const actual = readField(def, node);
|
|
159
208
|
return actual === undefined ? `no ${def.field}` : printField(def, actual);
|
|
160
209
|
};
|
|
161
210
|
const satisfies = (node, pattern) => {
|
|
162
211
|
const actual = readField(def, node);
|
|
163
|
-
return actual !== undefined && compareText(actual, pattern,
|
|
212
|
+
return actual !== undefined && compareText(actual, pattern, comparison);
|
|
164
213
|
};
|
|
165
214
|
const matchesList = def.mode === 'contains' ? matchesSubsequence : matchesPositionally;
|
|
166
215
|
return this.poll({
|
|
@@ -168,75 +217,62 @@ class AsyncExpectationImpl {
|
|
|
168
217
|
readsWithheld: def.field !== 'name',
|
|
169
218
|
wholeSet: 'read',
|
|
170
219
|
predicate: (sample) => matchesList(sample.nodes, patterns, satisfies),
|
|
171
|
-
describeExpected: def.describeExpected(`[${patterns.map(
|
|
220
|
+
describeExpected: def.describeExpected(`[${patterns.map((pattern) => describeText(pattern, comparison.ignoreCase)).join(', ')}]`),
|
|
172
221
|
observed: (sample) => `${def.field} [${sample.nodes.map(printed).join(', ')}]`,
|
|
173
222
|
}, timeout);
|
|
174
223
|
}
|
|
175
224
|
toBeVisible(options) {
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
evaluableWithoutNode: true,
|
|
179
|
-
predicate: (sample) => isNodeVisible(sample.node),
|
|
180
|
-
describeExpected: 'visible',
|
|
181
|
-
observed: observedState,
|
|
182
|
-
}, options?.timeout);
|
|
225
|
+
const visible = this.readOptions('toBeVisible', options, 'visible') ?? true;
|
|
226
|
+
return this.visibilityMatcher('toBeVisible', visible, options?.timeout);
|
|
183
227
|
}
|
|
184
228
|
toBeHidden(options) {
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
evaluableWithoutNode: true,
|
|
188
|
-
predicate: (sample) => !isNodeVisible(sample.node),
|
|
189
|
-
describeExpected: 'hidden or absent',
|
|
190
|
-
observed: (sample) => (isNodeVisible(sample.node) ? 'visible' : 'hidden'),
|
|
191
|
-
}, options?.timeout);
|
|
229
|
+
this.readOptions('toBeHidden', options);
|
|
230
|
+
return this.visibilityMatcher('toBeHidden', false, options?.timeout);
|
|
192
231
|
}
|
|
193
232
|
toBeAttached(options) {
|
|
233
|
+
const attached = this.readOptions('toBeAttached', options, 'attached') ?? true;
|
|
194
234
|
return this.poll({
|
|
195
235
|
name: 'toBeAttached',
|
|
196
236
|
evaluableWithoutNode: true,
|
|
197
|
-
predicate: (sample) => sample.node !== null,
|
|
198
|
-
describeExpected: 'attached',
|
|
237
|
+
predicate: (sample) => (sample.node !== null) === attached,
|
|
238
|
+
describeExpected: attached ? 'attached' : 'detached',
|
|
199
239
|
observed: (sample) => (sample.node === null ? 'no node' : 'attached'),
|
|
200
240
|
}, options?.timeout);
|
|
201
241
|
}
|
|
202
242
|
toBeEnabled(options) {
|
|
203
|
-
return this.stateMatcher('toBeEnabled', options
|
|
243
|
+
return this.stateMatcher('toBeEnabled', options);
|
|
204
244
|
}
|
|
205
245
|
toBeDisabled(options) {
|
|
206
|
-
return this.stateMatcher('toBeDisabled', options
|
|
246
|
+
return this.stateMatcher('toBeDisabled', options);
|
|
207
247
|
}
|
|
208
248
|
toBeChecked(options) {
|
|
209
|
-
return this.stateMatcher('toBeChecked', options
|
|
249
|
+
return this.stateMatcher('toBeChecked', options);
|
|
210
250
|
}
|
|
211
251
|
toBeSelected(options) {
|
|
212
|
-
return this.stateMatcher('toBeSelected', options
|
|
252
|
+
return this.stateMatcher('toBeSelected', options);
|
|
213
253
|
}
|
|
214
254
|
toBeExpanded(options) {
|
|
215
|
-
return this.stateMatcher('toBeExpanded', options
|
|
255
|
+
return this.stateMatcher('toBeExpanded', options);
|
|
216
256
|
}
|
|
217
257
|
toBeFocused(options) {
|
|
218
|
-
return this.stateMatcher('toBeFocused', options
|
|
258
|
+
return this.stateMatcher('toBeFocused', options);
|
|
219
259
|
}
|
|
220
260
|
toHaveText(expected, options) {
|
|
221
|
-
return this.textMatcher('toHaveText', expected, options
|
|
261
|
+
return this.textMatcher('toHaveText', expected, options);
|
|
222
262
|
}
|
|
223
263
|
toContainText(expected, options) {
|
|
224
|
-
return this.textMatcher('toContainText', expected, options
|
|
264
|
+
return this.textMatcher('toContainText', expected, options);
|
|
225
265
|
}
|
|
226
266
|
toHaveValue(expected, options) {
|
|
227
|
-
return this.textMatcher('toHaveValue', expected, options
|
|
267
|
+
return this.textMatcher('toHaveValue', expected, options);
|
|
228
268
|
}
|
|
229
269
|
toHaveAttribute(name, valueOrOptions, options) {
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
timeout = valueOrOptions?.timeout;
|
|
238
|
-
}
|
|
239
|
-
const pattern = value === undefined ? undefined : toTextPattern(value, { exact: true });
|
|
270
|
+
const hasValue = isTextMatch(valueOrOptions);
|
|
271
|
+
// Presence reads the third argument too when the value is `undefined`, as Playwright does.
|
|
272
|
+
const bag = hasValue ? options : valueOrOptions === undefined ? options : valueOrOptions;
|
|
273
|
+
const ignoreCase = this.readOptions('toHaveAttribute', bag, hasValue ? 'ignoreCase' : undefined);
|
|
274
|
+
const pattern = hasValue ? withIgnoreCase(toTextPattern(valueOrOptions, { exact: true }), ignoreCase) : undefined;
|
|
275
|
+
const comparison = { mode: 'equals', normalize: true, ignoreCase };
|
|
240
276
|
return this.poll({
|
|
241
277
|
name: 'toHaveAttribute',
|
|
242
278
|
readsWithheld: true,
|
|
@@ -244,11 +280,11 @@ class AsyncExpectationImpl {
|
|
|
244
280
|
if (sample.node === null)
|
|
245
281
|
return false;
|
|
246
282
|
const attribute = attributeOf(sample.node, name);
|
|
247
|
-
return attribute !== null && (pattern === undefined ||
|
|
283
|
+
return attribute !== null && (pattern === undefined || compareText(attribute, pattern, comparison));
|
|
248
284
|
},
|
|
249
285
|
describeExpected: pattern === undefined
|
|
250
286
|
? `attribute "${name}"`
|
|
251
|
-
: `attribute "${name}" ${
|
|
287
|
+
: `attribute "${name}" ${describeText(pattern, ignoreCase)}`,
|
|
252
288
|
observed: (sample) => {
|
|
253
289
|
if (sample.node === null)
|
|
254
290
|
return 'no node';
|
|
@@ -257,12 +293,13 @@ class AsyncExpectationImpl {
|
|
|
257
293
|
? `attribute "${name}" absent`
|
|
258
294
|
: `attribute "${name}" ${JSON.stringify(attribute)}`;
|
|
259
295
|
},
|
|
260
|
-
}, timeout);
|
|
296
|
+
}, bag?.timeout);
|
|
261
297
|
}
|
|
262
298
|
toHaveAccessibleName(expected, options) {
|
|
263
|
-
return this.textMatcher('toHaveAccessibleName', expected, options
|
|
299
|
+
return this.textMatcher('toHaveAccessibleName', expected, options);
|
|
264
300
|
}
|
|
265
301
|
toHaveCount(expected, options) {
|
|
302
|
+
this.readOptions('toHaveCount', options);
|
|
266
303
|
return this.poll({
|
|
267
304
|
name: 'toHaveCount',
|
|
268
305
|
wholeSet: true,
|
|
@@ -310,6 +347,11 @@ function readField(def, node) {
|
|
|
310
347
|
return '';
|
|
311
348
|
return isValueControl(node) ? '' : undefined;
|
|
312
349
|
}
|
|
350
|
+
/** A pattern as a failure message prints it, marking a string compared ignoring case. */
|
|
351
|
+
function describeText(pattern, ignoreCase) {
|
|
352
|
+
const described = describePattern(pattern);
|
|
353
|
+
return pattern.kind === 'string' && ignoreCase === true ? `${described} (ignoring case)` : described;
|
|
354
|
+
}
|
|
313
355
|
/** The field as the failure message prints it: normalized when the comparison was, so the message shows what got compared. */
|
|
314
356
|
function printField(def, actual) {
|
|
315
357
|
return JSON.stringify(def.normalize ? normalizeText(actual) : actual);
|
|
@@ -326,4 +368,3 @@ function observedState(sample) {
|
|
|
326
368
|
export function createAsyncExpectation(internals) {
|
|
327
369
|
return new AsyncExpectationImpl(internals, false);
|
|
328
370
|
}
|
|
329
|
-
//# sourceMappingURL=async.js.map
|
package/dist/expect/attempt.d.ts
CHANGED
|
@@ -16,4 +16,3 @@ export interface PublishedAttempt {
|
|
|
16
16
|
export declare function publishAttempt(context: PublishedAttempt, until: AbortSignal): void;
|
|
17
17
|
/** The attempt a poll runs inside, or undefined in a standalone script. */
|
|
18
18
|
export declare function currentAttempt(): PublishedAttempt | undefined;
|
|
19
|
-
//# sourceMappingURL=attempt.d.ts.map
|
package/dist/expect/attempt.js
CHANGED
package/dist/expect/index.d.ts
CHANGED
package/dist/expect/index.js
CHANGED
package/dist/expect/poll.d.ts
CHANGED
|
@@ -2,4 +2,3 @@
|
|
|
2
2
|
import type { PollExpectation, PollOptions } from '../types.ts';
|
|
3
3
|
/** Re-reads `read` until the chosen value matcher holds or `options.timeout` passes. */
|
|
4
4
|
export declare function createPollExpectation<T>(read: () => T | Promise<T>, options?: PollOptions): PollExpectation<T>;
|
|
5
|
-
//# sourceMappingURL=poll.d.ts.map
|
package/dist/expect/poll.js
CHANGED
package/dist/expect/soft.d.ts
CHANGED
package/dist/expect/soft.js
CHANGED
package/dist/expect/values.d.ts
CHANGED
package/dist/expect/values.js
CHANGED
|
@@ -99,7 +99,7 @@ class ValueExpectationImpl {
|
|
|
99
99
|
this.check(this.actual === undefined, () => `expected ${format(this.actual)} to be undefined`, () => `expected value not to be undefined`);
|
|
100
100
|
}
|
|
101
101
|
toBeDefined() {
|
|
102
|
-
this.check(this.actual !== undefined
|
|
102
|
+
this.check(this.actual !== undefined, () => `expected ${format(this.actual)} to be defined`, () => `expected ${format(this.actual)} not to be defined`);
|
|
103
103
|
}
|
|
104
104
|
toHaveLength(expected) {
|
|
105
105
|
const actual = this.actual;
|
|
@@ -221,4 +221,3 @@ function lookup(value, keys) {
|
|
|
221
221
|
export function createValueExpectation(actual, message) {
|
|
222
222
|
return new ValueExpectationImpl(actual, false, message);
|
|
223
223
|
}
|
|
224
|
-
//# sourceMappingURL=values.js.map
|
package/dist/explore/body.d.ts
CHANGED
package/dist/explore/body.js
CHANGED
|
@@ -178,4 +178,3 @@ function conclude(state) {
|
|
|
178
178
|
throw new AgentError(code !== undefined && BLOCKABLE_CODES.has(code) ? code : 'AUTOMATION_UNSUPPORTED', `exploration could not complete a charter: ${first.summary ?? first.title}`, { blocked: true });
|
|
179
179
|
}
|
|
180
180
|
}
|
|
181
|
-
//# sourceMappingURL=body.js.map
|
|
@@ -31,4 +31,3 @@ export interface ExplorerOptions {
|
|
|
31
31
|
export declare function explorerAgent(options: ExplorerOptions): AgentConfig;
|
|
32
32
|
/** The resolved explorer with the finding tool beside the project's tools. */
|
|
33
33
|
export declare function withFindingTool(explorer: ResolvedAgentConfig, state: ExploreState): ResolvedAgentConfig;
|
|
34
|
-
//# sourceMappingURL=executor.d.ts.map
|
package/dist/explore/executor.js
CHANGED
package/dist/explore/index.d.ts
CHANGED
package/dist/explore/index.js
CHANGED
|
@@ -15,6 +15,7 @@ import { resolveConfig } from '../config/resolve.js';
|
|
|
15
15
|
import { ConfigurationError } from '../internal/errors.js';
|
|
16
16
|
import { labelSegment } from '../run/artifacts.js';
|
|
17
17
|
import { run } from '../run/runner.js';
|
|
18
|
+
import { staticSecretLedger } from '../run/secrecy.js';
|
|
18
19
|
import { createExploreBody } from './body.js';
|
|
19
20
|
import { explorerAgent, withFindingTool } from './executor.js';
|
|
20
21
|
import { signedInContext } from './plan.js';
|
|
@@ -66,7 +67,7 @@ export async function explore(options = {}) {
|
|
|
66
67
|
const agentName = resolved.agentNames[0];
|
|
67
68
|
if (agentName !== 'default')
|
|
68
69
|
notice(`exploring with agent "${agentName}"`);
|
|
69
|
-
const state = new ExploreState(goal, budgets);
|
|
70
|
+
const state = new ExploreState(redactGoal(goal, resolved.allSecrets), budgets);
|
|
70
71
|
const explorer = explorerAgent({ state, agentName, entry: raw.agents?.[agentName], resolved: resolved.agent, notice });
|
|
71
72
|
const resolvedExplorer = resolveAgentConfig(exploreAgentConfig(explorer), `agents.${agentName}`);
|
|
72
73
|
// Every exploration step calls the model, a custom executor's included,
|
|
@@ -121,6 +122,20 @@ function resolveGoal(goal) {
|
|
|
121
122
|
}
|
|
122
123
|
return trimmed;
|
|
123
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* The goal with every static secret value it spells out redacted. The goal
|
|
127
|
+
* becomes the test's title, its artifact directory, the report's goal, and
|
|
128
|
+
* model input, so it is redacted once, here, as a test file's titles are at
|
|
129
|
+
* collection. A marker can be longer than the value it replaces, so the
|
|
130
|
+
* ceiling is checked again on what the run will keep.
|
|
131
|
+
*/
|
|
132
|
+
function redactGoal(goal, secrets) {
|
|
133
|
+
const redacted = staticSecretLedger(secrets).redact(goal);
|
|
134
|
+
if (redacted.length > MAX_GOAL_CHARS) {
|
|
135
|
+
throw new ConfigurationError('INVALID_CONFIG', `the goal must be at most ${MAX_GOAL_CHARS} characters with its secret values redacted, got ${redacted.length}`);
|
|
136
|
+
}
|
|
137
|
+
return redacted;
|
|
138
|
+
}
|
|
124
139
|
function resolveBounded(value, bounds, label) {
|
|
125
140
|
if (value === undefined)
|
|
126
141
|
return bounds.default;
|
|
@@ -204,4 +219,3 @@ function exploreRegistration(state, start) {
|
|
|
204
219
|
};
|
|
205
220
|
return { tests: [test], hooks: [] };
|
|
206
221
|
}
|
|
207
|
-
//# sourceMappingURL=index.js.map
|
package/dist/explore/plan.d.ts
CHANGED
|
@@ -79,4 +79,3 @@ export declare function repairPlan(answer: PlanAnswer): PlanDecision;
|
|
|
79
79
|
/** The planner's instruction: the goal, the record so far, the budget, and how to decide. */
|
|
80
80
|
export declare function planInstruction(state: ExploreState, request: PlanRequest): string;
|
|
81
81
|
export {};
|
|
82
|
-
//# sourceMappingURL=plan.d.ts.map
|
package/dist/explore/plan.js
CHANGED
|
@@ -173,4 +173,3 @@ export function planInstruction(state, request) {
|
|
|
173
173
|
'Respond with every field present: {"decision": "step", "title": "...", "instruction": "...", "summary": ""} or {"decision": "finish", "title": "", "instruction": "", "summary": "..."}.',
|
|
174
174
|
].join('\n');
|
|
175
175
|
}
|
|
176
|
-
//# sourceMappingURL=plan.js.map
|
package/dist/explore/progress.js
CHANGED
package/dist/explore/state.d.ts
CHANGED
package/dist/explore/state.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -11,4 +11,3 @@ export type { ExecutorActions, ExecutorAttempt, ExecutorBudgets, ExecutorModelCa
|
|
|
11
11
|
export type { StepTurn, VisionDegradation } from './run/steps.ts';
|
|
12
12
|
export type { RunEvent, RunEventOf, RunExitCode, RunStatus } from './run/events.ts';
|
|
13
13
|
export type { EngineAppDeclaration } from './engine/index.ts';
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -7,4 +7,3 @@ export { AgentError, isAgentError } from './agent/error.js';
|
|
|
7
7
|
// The markdown page the `markdown` reporter writes, for a reporter that posts
|
|
8
8
|
// it elsewhere: @e2e-dev/github renders the pull request comment from it.
|
|
9
9
|
export { renderMarkdownReport } from './report/markdown.js';
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -14,4 +14,3 @@ export interface AtomicWriteOptions {
|
|
|
14
14
|
export declare function writeFileAtomic(filePath: string, content: string | Uint8Array, options?: AtomicWriteOptions): Promise<void>;
|
|
15
15
|
/** The synchronous twin, for a store that is read and written from synchronous code. */
|
|
16
16
|
export declare function writeFileAtomicSync(filePath: string, content: string, options?: AtomicWriteOptions): void;
|
|
17
|
-
//# sourceMappingURL=atomic-write.d.ts.map
|
|
@@ -9,4 +9,3 @@ export declare const locatorBrand: unique symbol;
|
|
|
9
9
|
export declare const expectationBrand: unique symbol;
|
|
10
10
|
/** Slot on `globalThis` naming the running attempt for `expect.poll`. */
|
|
11
11
|
export declare const attemptBrand: unique symbol;
|
|
12
|
-
//# sourceMappingURL=brands.d.ts.map
|
package/dist/internal/brands.js
CHANGED
|
@@ -9,4 +9,3 @@ export const locatorBrand = Symbol.for('e2e.locator');
|
|
|
9
9
|
export const expectationBrand = Symbol.for('e2e.expectation.v1');
|
|
10
10
|
/** Slot on `globalThis` naming the running attempt for `expect.poll`. */
|
|
11
11
|
export const attemptBrand = Symbol.for('e2e.attempt.v1');
|
|
12
|
-
//# sourceMappingURL=brands.js.map
|
package/dist/internal/debug.d.ts
CHANGED
|
@@ -40,4 +40,3 @@ export declare class DebugTrace {
|
|
|
40
40
|
export declare function table(title: string, header: readonly string[], rows: readonly (readonly string[])[], empty: string, leftAligned?: ReadonlySet<number>): string;
|
|
41
41
|
export declare function formatMs(value: number): string;
|
|
42
42
|
export {};
|
|
43
|
-
//# sourceMappingURL=debug.d.ts.map
|
package/dist/internal/debug.js
CHANGED
package/dist/internal/env.d.ts
CHANGED
|
@@ -3,4 +3,3 @@
|
|
|
3
3
|
export declare function envValue(env: NodeJS.ProcessEnv, name: string): string | undefined;
|
|
4
4
|
/** True for a set variable that is not blank, `0`, or `false`. */
|
|
5
5
|
export declare function envFlag(env: NodeJS.ProcessEnv, name: string): boolean;
|
|
6
|
-
//# sourceMappingURL=env.d.ts.map
|
package/dist/internal/env.js
CHANGED
|
@@ -172,4 +172,3 @@ export declare function sanitizeText(text: string): string;
|
|
|
172
172
|
/** Truncates a string so its UTF-8 encoding fits maxBytes without splitting a code point. */
|
|
173
173
|
export declare function truncateUtf8(text: string, maxBytes: number): string;
|
|
174
174
|
export {};
|
|
175
|
-
//# sourceMappingURL=errors.d.ts.map
|
package/dist/internal/errors.js
CHANGED
package/dist/internal/git.d.ts
CHANGED
package/dist/internal/git.js
CHANGED
package/dist/internal/globs.d.ts
CHANGED
|
@@ -66,4 +66,3 @@ export declare function discoverFiles(root: string, patterns: readonly string[])
|
|
|
66
66
|
/** Sorts strings by Unicode code point, the order collection is defined in. */
|
|
67
67
|
export declare function compareCodePoints(a: string, b: string): number;
|
|
68
68
|
export {};
|
|
69
|
-
//# sourceMappingURL=globs.d.ts.map
|
package/dist/internal/globs.js
CHANGED
package/dist/internal/ids.d.ts
CHANGED
|
@@ -35,4 +35,3 @@ export declare function resultId(test: string, targetId: string, agent: string,
|
|
|
35
35
|
export declare function uuidv7(now?: number): string;
|
|
36
36
|
/** RFC 3339 UTC timestamp with exactly millisecond precision. */
|
|
37
37
|
export declare function timestamp(date?: Date): string;
|
|
38
|
-
//# sourceMappingURL=ids.d.ts.map
|
package/dist/internal/ids.js
CHANGED