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/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<a href="https://tester.army/e2e?utm_source=e2e&utm_medium=github&utm_campaign=readme_banner"><img src="https://raw.githubusercontent.com/tester-army/e2e/main/.github/assets/readme-banner.png" alt="e2e by TesterArmy" width="100%" /></a>
|
|
1
|
+
<a href="https://tester.army/e2e?utm_source=e2e&utm_medium=github&utm_campaign=readme_banner"><img src="https://raw.githubusercontent.com/tester-army/e2e/main/.github/assets/readme-banner.png" alt="e2e, the open source AI testing framework by TesterArmy" width="100%" /></a>
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
4
|
<a href="https://tester.army?utm_source=e2e&utm_medium=github&utm_campaign=readme_badge"><img alt="Made by TesterArmy" src="https://raw.githubusercontent.com/tester-army/e2e/main/.github/assets/made-by-testerarmy.svg" /></a>
|
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
# e2e
|
|
11
11
|
|
|
12
|
-
[e2e](https://tester.army/e2e?utm_source=e2e&utm_medium=github&utm_campaign=readme_intro) is an end-to-end testing framework for web and mobile apps. Describe a goal in natural language and an agent
|
|
13
|
-
|
|
12
|
+
[e2e](https://tester.army/e2e?utm_source=e2e&utm_medium=github&utm_campaign=readme_intro) is an end-to-end testing framework for web and mobile apps. Describe a goal in natural language and an agent drives the app to reach it. Check the result with locators and assertions in the same test.
|
|
14
13
|
|
|
15
14
|
```ts
|
|
16
15
|
// tests/checkout.e2e.ts
|
|
@@ -26,37 +25,65 @@ test('a member upgrades to Pro', async ({ app, agent, screen }) => {
|
|
|
26
25
|
});
|
|
27
26
|
```
|
|
28
27
|
|
|
29
|
-
```bash
|
|
30
|
-
npx e2e init
|
|
31
|
-
```
|
|
32
|
-
|
|
33
28
|
An agent step that a later assertion verifies records its actions, and the
|
|
34
29
|
next run replays them with no model calls until the app changes. Tests
|
|
35
30
|
without agent steps need no model. Bring your own subscription, API key, or
|
|
36
31
|
local model.
|
|
37
32
|
|
|
38
|
-
##
|
|
33
|
+
## Quick start
|
|
39
34
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
35
|
+
```bash
|
|
36
|
+
npx e2e init
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
`init` asks for an engine, web or mobile, and a model provider, then writes a
|
|
40
|
+
config and an example test. The
|
|
41
|
+
[quickstart](https://e2e.tester.army/docs/quickstart) covers the rest.
|
|
43
42
|
|
|
44
43
|
## Packages
|
|
45
44
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
| Package | What it does |
|
|
46
|
+
| --- | --- |
|
|
47
|
+
| [`e2e`](https://www.npmjs.com/package/e2e) | The SDK, runner, and CLI. |
|
|
48
|
+
| [`@e2e-dev/web`](https://www.npmjs.com/package/@e2e-dev/web) | Browser engine: Chromium, Firefox, and WebKit through Playwright. |
|
|
49
|
+
| [`@e2e-dev/mobile`](https://www.npmjs.com/package/@e2e-dev/mobile) | iOS and Android engine: simulators and emulators through agent-device. |
|
|
50
|
+
| [`@e2e-dev/github`](https://www.npmjs.com/package/@e2e-dev/github) | Reporter that posts results as a pull request comment. |
|
|
51
|
+
| [`@e2e-dev/kernel`](https://www.npmjs.com/package/@e2e-dev/kernel) | Kernel hosted browsers for the web engine. |
|
|
52
|
+
| [`@e2e-dev/eas`](https://www.npmjs.com/package/@e2e-dev/eas) | EAS Simulators hosted iOS simulators and Android emulators for the mobile engine. |
|
|
53
|
+
|
|
54
|
+
## Documentation
|
|
55
|
+
|
|
56
|
+
[e2e.tester.army/docs](https://e2e.tester.army/docs). The `e2e` package ships
|
|
57
|
+
every page, so coding agents can read them offline in `node_modules/e2e/docs`.
|
|
54
58
|
|
|
55
59
|
## Contributing
|
|
56
60
|
|
|
57
|
-
See [CONTRIBUTING.md](https://github.com/tester-army/e2e/blob/main/CONTRIBUTING.md)
|
|
58
|
-
|
|
61
|
+
See [CONTRIBUTING.md](https://github.com/tester-army/e2e/blob/main/CONTRIBUTING.md). Questions go to
|
|
62
|
+
[Discord](https://tester.army/discord).
|
|
63
|
+
|
|
64
|
+
## Security
|
|
65
|
+
|
|
66
|
+
Please don't open public issues for security vulnerabilities. Follow
|
|
67
|
+
[SECURITY.md](https://github.com/tester-army/e2e/blob/main/SECURITY.md) and report them to
|
|
68
|
+
[security@tester.army](mailto:security@tester.army).
|
|
69
|
+
|
|
70
|
+
## Telemetry
|
|
71
|
+
|
|
72
|
+
The CLI sends anonymous usage data, such as which commands and engines run and
|
|
73
|
+
where runs fail, but no test content, app content, or credentials. Opt out with
|
|
74
|
+
`npx e2e telemetry disable` or `E2E_TELEMETRY_DISABLED=1`.
|
|
75
|
+
[Telemetry](https://e2e.tester.army/docs/telemetry) lists every field.
|
|
59
76
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
77
|
+
## Status
|
|
78
|
+
|
|
79
|
+
> [!NOTE]
|
|
80
|
+
> e2e is in active development on the way to 1.0. APIs and config can still
|
|
81
|
+
> change between minor releases.
|
|
82
|
+
|
|
83
|
+
## Made by TesterArmy
|
|
84
|
+
|
|
85
|
+
e2e is built by [TesterArmy](https://tester.army/?utm_source=e2e&utm_medium=github&utm_campaign=readme_footer),
|
|
86
|
+
the agentic testing platform that runs natural language tests on web and mobile
|
|
87
|
+
apps, on every pull request or on a schedule.
|
|
88
|
+
|
|
89
|
+
Apache-2.0.
|
package/dist/.build.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.
|
|
1
|
+
{"version":"0.16.0"}
|
|
@@ -35,6 +35,15 @@ export declare function validateParams(params: AgentParams | undefined): {
|
|
|
35
35
|
secrets: ReadonlyMap<string, Secret>;
|
|
36
36
|
templates: readonly ParamTemplate[];
|
|
37
37
|
};
|
|
38
|
+
/**
|
|
39
|
+
* Projected params with `redact` applied to every string in them, object
|
|
40
|
+
* keys included, and their `unique()` templates moved with their leaves: a
|
|
41
|
+
* template's pointer follows the redacted keys and its value is redacted as
|
|
42
|
+
* the leaf is, so the trace cache slots what the params hold.
|
|
43
|
+
*/
|
|
44
|
+
export declare function redactParams(params: Readonly<Record<string, JsonValue>>, templates: readonly ParamTemplate[], redact: (text: string) => string): {
|
|
45
|
+
params: Readonly<Record<string, JsonValue>>;
|
|
46
|
+
templates: readonly ParamTemplate[];
|
|
47
|
+
};
|
|
38
48
|
/** Closes the verdict grammar: the executor cannot invent statuses or codes. */
|
|
39
49
|
export declare function validateVerdict(verdict: unknown, executorName: string): StepVerdict;
|
|
40
|
-
//# sourceMappingURL=act-validation.d.ts.map
|
|
@@ -90,6 +90,54 @@ export function validateParams(params) {
|
|
|
90
90
|
templates: found.templates,
|
|
91
91
|
};
|
|
92
92
|
}
|
|
93
|
+
/**
|
|
94
|
+
* Projected params with `redact` applied to every string in them, object
|
|
95
|
+
* keys included, and their `unique()` templates moved with their leaves: a
|
|
96
|
+
* template's pointer follows the redacted keys and its value is redacted as
|
|
97
|
+
* the leaf is, so the trace cache slots what the params hold.
|
|
98
|
+
*/
|
|
99
|
+
export function redactParams(params, templates, redact) {
|
|
100
|
+
const pointers = new Map();
|
|
101
|
+
const redacted = redactJson(params, redact, { from: '', to: '' }, pointers);
|
|
102
|
+
return {
|
|
103
|
+
params: redacted,
|
|
104
|
+
templates: templates.map((template) => ({
|
|
105
|
+
pointer: pointers.get(template.pointer) ?? template.pointer,
|
|
106
|
+
value: redact(template.value),
|
|
107
|
+
})),
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* `value` with `redact` applied to every string in it, object keys included.
|
|
112
|
+
* Records in `pointers` where each node's pointer (`at.from`) lands once its
|
|
113
|
+
* keys are redacted (`at.to`). Two keys of one object that redact alike would
|
|
114
|
+
* leave one value standing for both, so that is `INVALID_ARGUMENT`.
|
|
115
|
+
*/
|
|
116
|
+
function redactJson(value, redact, at, pointers) {
|
|
117
|
+
pointers.set(at.from, at.to);
|
|
118
|
+
if (typeof value === 'string')
|
|
119
|
+
return redact(value);
|
|
120
|
+
if (Array.isArray(value)) {
|
|
121
|
+
return value.map((entry, index) => redactJson(entry, redact, { from: paramPointer(at.from, index), to: paramPointer(at.to, index) }, pointers));
|
|
122
|
+
}
|
|
123
|
+
if (typeof value !== 'object' || value === null)
|
|
124
|
+
return value;
|
|
125
|
+
const out = {};
|
|
126
|
+
for (const [key, entry] of Object.entries(value)) {
|
|
127
|
+
const clean = redact(key);
|
|
128
|
+
if (Object.hasOwn(out, clean)) {
|
|
129
|
+
throw new TestError('INVALID_ARGUMENT', `agent.act params has two keys that read ${JSON.stringify(clean)} once secret values are redacted; a key cannot be told apart by a secret`);
|
|
130
|
+
}
|
|
131
|
+
// Defined, not assigned, so a `__proto__` key stays an own property.
|
|
132
|
+
Object.defineProperty(out, clean, {
|
|
133
|
+
value: redactJson(entry, redact, { from: paramPointer(at.from, key), to: paramPointer(at.to, clean) }, pointers),
|
|
134
|
+
enumerable: true,
|
|
135
|
+
writable: true,
|
|
136
|
+
configurable: true,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
return out;
|
|
140
|
+
}
|
|
93
141
|
/** Replaces every Secret leaf with its placeholder and every Unique leaf with its value, collecting both. */
|
|
94
142
|
function projectParams(value, pointer, found, seen) {
|
|
95
143
|
if (isSecret(value)) {
|
|
@@ -146,4 +194,3 @@ export function validateVerdict(verdict, executorName) {
|
|
|
146
194
|
...(code === undefined ? {} : { errorCode: code }),
|
|
147
195
|
};
|
|
148
196
|
}
|
|
149
|
-
//# sourceMappingURL=act-validation.js.map
|
package/dist/agent/act.d.ts
CHANGED
|
@@ -66,5 +66,4 @@ export declare function runAssertStep(runtime: AgentContext, assertion: string,
|
|
|
66
66
|
* passing is what confirms the traces staged before it at attempt end
|
|
67
67
|
* (cache/context.ts).
|
|
68
68
|
*/
|
|
69
|
-
export declare function dispatchAgentStep(runtime: AgentContext,
|
|
70
|
-
//# sourceMappingURL=act.d.ts.map
|
|
69
|
+
export declare function dispatchAgentStep(runtime: AgentContext, raw: DispatchSpec, agent?: DispatchAgent): Promise<ActResult>;
|
package/dist/agent/act.js
CHANGED
|
@@ -20,8 +20,8 @@ import { writeFile } from 'node:fs/promises';
|
|
|
20
20
|
import { join } from 'node:path';
|
|
21
21
|
import { ConfigurationError } from '../internal/errors.js';
|
|
22
22
|
import { withAbort, withTimeout } from '../internal/time.js';
|
|
23
|
-
import { AgentError, CATEGORY_BY_CODE,
|
|
24
|
-
import { validateActOptions, validateInstruction, validateParams, validateVerdict } from './act-validation.js';
|
|
23
|
+
import { AgentError, CATEGORY_BY_CODE, toAgentError } from './error.js';
|
|
24
|
+
import { redactParams, validateActOptions, validateInstruction, validateParams, validateVerdict } from './act-validation.js';
|
|
25
25
|
import { ActionDispatcher } from './action-dispatcher.js';
|
|
26
26
|
import { resolveBoundedBudget, resolveTimeout } from './call-options.js';
|
|
27
27
|
import { RUNTIME_CODES } from './executor.js';
|
|
@@ -31,7 +31,7 @@ import { ObservationFeed } from './observation-feed.js';
|
|
|
31
31
|
import { recordPolicyEvent } from './phases.js';
|
|
32
32
|
import { OperationQueue } from './operation-queue.js';
|
|
33
33
|
import { StepAccounting } from './step-accounting.js';
|
|
34
|
-
import { StepTraceSession } from './step-cache.js';
|
|
34
|
+
import { failedStepOutcome, StepTraceSession } from './step-cache.js';
|
|
35
35
|
/** Runs one `agent.act()` call as a harness-dispatched executor step. */
|
|
36
36
|
export async function runActStep(runtime, instruction, options, extraArguments = 0) {
|
|
37
37
|
const normalized = validateInstruction(instruction, 'agent.act');
|
|
@@ -88,12 +88,16 @@ export async function runAssertStep(runtime, assertion, options) {
|
|
|
88
88
|
* passing is what confirms the traces staged before it at attempt end
|
|
89
89
|
* (cache/context.ts).
|
|
90
90
|
*/
|
|
91
|
-
export async function dispatchAgentStep(runtime,
|
|
91
|
+
export async function dispatchAgentStep(runtime, raw,
|
|
92
92
|
// Resolved before the step opens, so an unknown name fails the call, not a
|
|
93
93
|
// recorded step, and the step carries the agent it ran with.
|
|
94
|
-
agent = runtime.select(
|
|
94
|
+
agent = runtime.select(raw.agent)) {
|
|
95
|
+
const spec = redactSpec(raw, runtime.redact);
|
|
96
|
+
// Redacted per step, not once per agent: the ledger is live, so a value
|
|
97
|
+
// resolved since the agent was selected is covered too.
|
|
98
|
+
const context = agent.agentContext === undefined ? undefined : runtime.redact(agent.agentContext);
|
|
95
99
|
return runtime.steps.run('agent', spec.api, spec.instruction, async () => {
|
|
96
|
-
const dispatch = new ActDispatch(runtime, spec, agent);
|
|
100
|
+
const dispatch = new ActDispatch(runtime, spec, { ...agent, agentContext: context });
|
|
97
101
|
try {
|
|
98
102
|
let verdict;
|
|
99
103
|
try {
|
|
@@ -108,7 +112,7 @@ agent = runtime.select(spec.agent)) {
|
|
|
108
112
|
return dispatch.result();
|
|
109
113
|
}
|
|
110
114
|
catch (cause) {
|
|
111
|
-
await dispatch.conclude(
|
|
115
|
+
await dispatch.conclude(failedStepOutcome(cause));
|
|
112
116
|
throw cause;
|
|
113
117
|
}
|
|
114
118
|
finally {
|
|
@@ -116,6 +120,20 @@ agent = runtime.select(spec.agent)) {
|
|
|
116
120
|
}
|
|
117
121
|
}, { verifies: spec.kind === 'assert', agent: agent.name });
|
|
118
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* The spec with every registered secret value the test spelled into the
|
|
125
|
+
* instruction or a param string (a key or a leaf) rewritten to its marker,
|
|
126
|
+
* before anything reads it: the executor, its model, the step label, the
|
|
127
|
+
* trace cache, and the prior-step ledger all see the same redacted step. A
|
|
128
|
+
* `Secret` handle is already a placeholder here and stays fillable through
|
|
129
|
+
* `typeSecret`.
|
|
130
|
+
*/
|
|
131
|
+
function redactSpec(spec, redact) {
|
|
132
|
+
const instruction = redact(spec.instruction);
|
|
133
|
+
if (spec.params === undefined)
|
|
134
|
+
return { ...spec, instruction };
|
|
135
|
+
return { ...spec, instruction, ...redactParams(spec.params, spec.templates, redact) };
|
|
136
|
+
}
|
|
119
137
|
/** One step's wiring: the collaborators, the executor's context, and the verdict mapping. */
|
|
120
138
|
class ActDispatch {
|
|
121
139
|
runtime;
|
|
@@ -465,4 +483,3 @@ function screenOf(observation) {
|
|
|
465
483
|
? { ...metadata, kind: 'semantic', nodes: observation.nodes }
|
|
466
484
|
: { ...metadata, kind: 'pixels' };
|
|
467
485
|
}
|
|
468
|
-
//# sourceMappingURL=act.js.map
|
package/dist/agent/actions.d.ts
CHANGED
|
@@ -134,4 +134,3 @@ export declare function describeAction(action: RecordableAction, redact: (text:
|
|
|
134
134
|
* node is named, not what it contains.
|
|
135
135
|
*/
|
|
136
136
|
export declare function describeTarget(node: SemanticNode, redact: (text: string) => string): TraceTargetDescriptor | undefined;
|
|
137
|
-
//# sourceMappingURL=actions.d.ts.map
|
package/dist/agent/actions.js
CHANGED
package/dist/agent/ai-sdk.d.ts
CHANGED
|
@@ -19,9 +19,15 @@ export type SdkLanguageModel = Exclude<LanguageModel, string>;
|
|
|
19
19
|
export declare function asSdkLanguageModel(instance: ModelInstance): SdkLanguageModel;
|
|
20
20
|
/** Loads and caches the AI SDK, or fails with MODEL_UNAVAILABLE. */
|
|
21
21
|
export declare function loadAiSdk(): Promise<AiSdk>;
|
|
22
|
+
/**
|
|
23
|
+
* The SDK when the optional peer is installed, else undefined: for the seams
|
|
24
|
+
* that have a way to do their job without it.
|
|
25
|
+
*/
|
|
26
|
+
export declare function loadAiSdkIfInstalled(): Promise<AiSdk | undefined>;
|
|
27
|
+
/** The SDK when an earlier call loaded it, else undefined; never loads it. */
|
|
28
|
+
export declare function loadedAiSdk(): AiSdk | undefined;
|
|
22
29
|
/**
|
|
23
30
|
* The already-loaded SDK, for the few synchronous seams (error-class checks)
|
|
24
31
|
* that run strictly after an async caller primed the cache.
|
|
25
32
|
*/
|
|
26
33
|
export declare function aiSdk(): AiSdk;
|
|
27
|
-
//# sourceMappingURL=ai-sdk.d.ts.map
|
package/dist/agent/ai-sdk.js
CHANGED
|
@@ -53,6 +53,17 @@ export async function loadAiSdk() {
|
|
|
53
53
|
throw missing(state.failure);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* The SDK when the optional peer is installed, else undefined: for the seams
|
|
58
|
+
* that have a way to do their job without it.
|
|
59
|
+
*/
|
|
60
|
+
export async function loadAiSdkIfInstalled() {
|
|
61
|
+
return loadAiSdk().catch(() => undefined);
|
|
62
|
+
}
|
|
63
|
+
/** The SDK when an earlier call loaded it, else undefined; never loads it. */
|
|
64
|
+
export function loadedAiSdk() {
|
|
65
|
+
return cache().loaded;
|
|
66
|
+
}
|
|
56
67
|
/**
|
|
57
68
|
* The already-loaded SDK, for the few synchronous seams (error-class checks)
|
|
58
69
|
* that run strictly after an async caller primed the cache.
|
|
@@ -69,4 +80,3 @@ function missing(cause) {
|
|
|
69
80
|
'peer dependency ai@^7 — install it, or configure an agent that brings ' +
|
|
70
81
|
'its own model transport', { cause });
|
|
71
82
|
}
|
|
72
|
-
//# sourceMappingURL=ai-sdk.js.map
|
|
@@ -7,4 +7,3 @@
|
|
|
7
7
|
export declare function resolveTimeout(requested: number | undefined, fallback: number): number;
|
|
8
8
|
/** Resolves a per-call budget override, capped at the configured limit. */
|
|
9
9
|
export declare function resolveBoundedBudget(requested: number | undefined, limit: number, label: string): number;
|
|
10
|
-
//# sourceMappingURL=call-options.d.ts.map
|
|
@@ -28,4 +28,3 @@ export declare function createBuiltInAgent(options?: BuiltInAgentOptions): StepE
|
|
|
28
28
|
* and a host outside the loop reports them its own way.
|
|
29
29
|
*/
|
|
30
30
|
export declare function projectTools(context: StepExecutorContext, tools: Readonly<Record<string, AgentTool>>): ToolSet;
|
|
31
|
-
//# sourceMappingURL=default-agent.d.ts.map
|
package/dist/agent/derived.d.ts
CHANGED
|
@@ -57,4 +57,3 @@ export interface StepEvidence {
|
|
|
57
57
|
* the model composed itself.
|
|
58
58
|
*/
|
|
59
59
|
export declare function derivedReason(value: string, instruction: string, params: Readonly<Record<string, JsonValue>> | undefined, evidence?: StepEvidence): DerivedReason | undefined;
|
|
60
|
-
//# sourceMappingURL=derived.d.ts.map
|
package/dist/agent/derived.js
CHANGED
package/dist/agent/error.d.ts
CHANGED
|
@@ -10,16 +10,29 @@ import type { AgentErrorCode } from '../types.ts';
|
|
|
10
10
|
export type BlockedCategory = 'credentials' | 'environment' | 'seed_data' | 'test_setup' | 'automation';
|
|
11
11
|
/**
|
|
12
12
|
* The single source of truth for the closed agent code set: exit/result class
|
|
13
|
-
* for every code,
|
|
14
|
-
* carry
|
|
15
|
-
* everything derives from
|
|
13
|
+
* for every code, the blocked category for codes a `blocked` verdict may
|
|
14
|
+
* carry, and whether the code means no model answered at all. The model never
|
|
15
|
+
* selects a code, a category, or a blocked category — everything derives from
|
|
16
|
+
* this table.
|
|
16
17
|
*/
|
|
17
18
|
export declare const AGENT_CODE_TABLE: Readonly<Record<AgentErrorCode, {
|
|
18
19
|
category: ErrorCategory;
|
|
19
20
|
blockedCategory?: BlockedCategory;
|
|
21
|
+
modelUnreachable?: true;
|
|
20
22
|
}>>;
|
|
21
23
|
/** Exit/result class per code; derived from the one table. */
|
|
22
24
|
export declare const CATEGORY_BY_CODE: Readonly<Record<AgentErrorCode, ErrorCategory>>;
|
|
25
|
+
/**
|
|
26
|
+
* True when a failure means no model answered: none was configured, the
|
|
27
|
+
* provider returned an error (a rejected or missing key, a rate limit, a
|
|
28
|
+
* 5xx), or the stall guard cut off a request that got no response. Such a
|
|
29
|
+
* failure is a verdict on the model's reachability, never on the app, so it
|
|
30
|
+
* implicates no recorded flow. A model that answered with something unusable
|
|
31
|
+
* (`MODEL_OUTPUT_INVALID`, `CONTEXT_OVERFLOW`) or a step that ran out of time
|
|
32
|
+
* (`STEP_TIMEOUT`, even while a request was open) is not this: the screen the
|
|
33
|
+
* model was shown may be what went wrong.
|
|
34
|
+
*/
|
|
35
|
+
export declare function isModelUnreachable(error: unknown): boolean;
|
|
23
36
|
/**
|
|
24
37
|
* Runner-classified agent failure (spec api/e2e.d.ts). It extends the internal
|
|
25
38
|
* error base so category, exit code, retry eligibility, and report
|
|
@@ -51,4 +64,3 @@ export declare function toAgentError(cause: unknown): AgentError;
|
|
|
51
64
|
* keep honest names and `instanceof` never spans realms.
|
|
52
65
|
*/
|
|
53
66
|
export declare function isAgentError(value: unknown): value is AgentError;
|
|
54
|
-
//# sourceMappingURL=error.d.ts.map
|
package/dist/agent/error.js
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
import { classifyError, E2EError } from '../internal/errors.js';
|
|
3
3
|
/**
|
|
4
4
|
* The single source of truth for the closed agent code set: exit/result class
|
|
5
|
-
* for every code,
|
|
6
|
-
* carry
|
|
7
|
-
* everything derives from
|
|
5
|
+
* for every code, the blocked category for codes a `blocked` verdict may
|
|
6
|
+
* carry, and whether the code means no model answered at all. The model never
|
|
7
|
+
* selects a code, a category, or a blocked category — everything derives from
|
|
8
|
+
* this table.
|
|
8
9
|
*/
|
|
9
10
|
export const AGENT_CODE_TABLE = {
|
|
10
11
|
AUTH_CREDENTIAL_UNAVAILABLE: { category: 'configuration', blockedCategory: 'credentials' },
|
|
@@ -17,12 +18,12 @@ export const AGENT_CODE_TABLE = {
|
|
|
17
18
|
TEST_SETUP_FAILED: { category: 'configuration', blockedCategory: 'test_setup' },
|
|
18
19
|
APP_NOT_OPEN: { category: 'test', blockedCategory: 'test_setup' },
|
|
19
20
|
POLICY_DENIED: { category: 'configuration', blockedCategory: 'test_setup' },
|
|
20
|
-
MODEL_UNAVAILABLE: { category: 'configuration', blockedCategory: 'automation' },
|
|
21
|
+
MODEL_UNAVAILABLE: { category: 'configuration', blockedCategory: 'automation', modelUnreachable: true },
|
|
21
22
|
AUTOMATION_UNSUPPORTED: { category: 'test', blockedCategory: 'automation' },
|
|
22
23
|
STEP_BUDGET_EXHAUSTED: { category: 'test', blockedCategory: 'automation' },
|
|
23
24
|
STEP_TIMEOUT: { category: 'test', blockedCategory: 'automation' },
|
|
24
25
|
CONTEXT_OVERFLOW: { category: 'test', blockedCategory: 'automation' },
|
|
25
|
-
MODEL_PROVIDER_FAILED: { category: 'infrastructure' },
|
|
26
|
+
MODEL_PROVIDER_FAILED: { category: 'infrastructure', modelUnreachable: true },
|
|
26
27
|
CANCELLED: { category: 'infrastructure' },
|
|
27
28
|
AUTHENTICATION_FAILED: { category: 'test' },
|
|
28
29
|
MODEL_OUTPUT_INVALID: { category: 'test' },
|
|
@@ -39,7 +40,25 @@ export const AGENT_CODE_TABLE = {
|
|
|
39
40
|
};
|
|
40
41
|
/** Exit/result class per code; derived from the one table. */
|
|
41
42
|
export const CATEGORY_BY_CODE = Object.fromEntries(Object.entries(AGENT_CODE_TABLE).map(([code, entry]) => [code, entry.category]));
|
|
42
|
-
/** The
|
|
43
|
+
/** The codes that mean no model answered; derived from the one table. */
|
|
44
|
+
const MODEL_UNREACHABLE_CODES = new Set(Object.entries(AGENT_CODE_TABLE)
|
|
45
|
+
.filter(([, entry]) => entry.modelUnreachable === true)
|
|
46
|
+
.map(([code]) => code));
|
|
47
|
+
/**
|
|
48
|
+
* True when a failure means no model answered: none was configured, the
|
|
49
|
+
* provider returned an error (a rejected or missing key, a rate limit, a
|
|
50
|
+
* 5xx), or the stall guard cut off a request that got no response. Such a
|
|
51
|
+
* failure is a verdict on the model's reachability, never on the app, so it
|
|
52
|
+
* implicates no recorded flow. A model that answered with something unusable
|
|
53
|
+
* (`MODEL_OUTPUT_INVALID`, `CONTEXT_OVERFLOW`) or a step that ran out of time
|
|
54
|
+
* (`STEP_TIMEOUT`, even while a request was open) is not this: the screen the
|
|
55
|
+
* model was shown may be what went wrong.
|
|
56
|
+
*/
|
|
57
|
+
export function isModelUnreachable(error) {
|
|
58
|
+
if (!(error instanceof E2EError) && !isAgentError(error))
|
|
59
|
+
return false;
|
|
60
|
+
return MODEL_UNREACHABLE_CODES.has(error.code);
|
|
61
|
+
}
|
|
43
62
|
/** Cross-realm identity marker, mirroring `internal/errors.ts`. */
|
|
44
63
|
const AGENT_ERROR_MARKER = Symbol.for('e2e.agent-error.v1');
|
|
45
64
|
/**
|
|
@@ -99,4 +118,3 @@ export function isAgentError(value) {
|
|
|
99
118
|
typeof value.code === 'string' &&
|
|
100
119
|
value.code in CATEGORY_BY_CODE);
|
|
101
120
|
}
|
|
102
|
-
//# sourceMappingURL=error.js.map
|
package/dist/agent/executor.d.ts
CHANGED
|
@@ -495,4 +495,3 @@ export declare function isRuntimeHardStop(cause: unknown): cause is AgentError;
|
|
|
495
495
|
export declare const BLOCKABLE_CODES: ReadonlySet<AgentErrorCode>;
|
|
496
496
|
/** Structural executor check, mirroring how model instances are detected. */
|
|
497
497
|
export declare function isStepExecutor(value: unknown): value is StepExecutor;
|
|
498
|
-
//# sourceMappingURL=executor.d.ts.map
|
package/dist/agent/executor.js
CHANGED
package/dist/agent/index.d.ts
CHANGED
package/dist/agent/index.js
CHANGED
|
@@ -35,4 +35,3 @@ export interface InteractiveStep {
|
|
|
35
35
|
* never resolved and the budgets a model loop needs do not apply.
|
|
36
36
|
*/
|
|
37
37
|
export declare function openInteractiveStep(runtime: AgentContext, options: InteractiveStepOptions): Promise<InteractiveStep>;
|
|
38
|
-
//# sourceMappingURL=interactive-step.d.ts.map
|
package/dist/agent/invocation.js
CHANGED
|
@@ -53,7 +53,7 @@ export class Invocation {
|
|
|
53
53
|
this.agent = runtime.select(options.agent);
|
|
54
54
|
this.deadline = runtime.engine.deadline(options.timeoutMs);
|
|
55
55
|
this.pixelTier = options.vision === true || options.vision === 'only';
|
|
56
|
-
this.system = buildSystem(options.task, this.agent.agentContext);
|
|
56
|
+
this.system = runtime.redact(buildSystem(options.task, this.agent.agentContext));
|
|
57
57
|
this.systemBytes = tokenUpperBound(this.system);
|
|
58
58
|
}
|
|
59
59
|
get session() {
|
|
@@ -179,11 +179,17 @@ export class Invocation {
|
|
|
179
179
|
for (;;) {
|
|
180
180
|
this.checkDeadline();
|
|
181
181
|
this.consumeModelCall();
|
|
182
|
-
|
|
182
|
+
// The observation is redacted already; the instruction is the test's
|
|
183
|
+
// own text, which may spell out a registered value. The repair's raw
|
|
184
|
+
// text is redacted before the prompt cuts it, so the cut never splits a
|
|
185
|
+
// value into a fragment whole-value matching would miss.
|
|
186
|
+
const prompt = this.runtime.redact(buildPrompt({
|
|
183
187
|
...request.prompt,
|
|
184
188
|
...(this.treeWithheld ? { withholdTree: true } : {}),
|
|
185
|
-
...(repair === undefined
|
|
186
|
-
|
|
189
|
+
...(repair === undefined
|
|
190
|
+
? {}
|
|
191
|
+
: { repair: { ...repair, rawText: repair.rawText === undefined ? undefined : this.runtime.redact(repair.rawText) } }),
|
|
192
|
+
}));
|
|
187
193
|
// Pixels travel with the observation they were captured for, so the
|
|
188
194
|
// image and the tree in one request always describe one revision.
|
|
189
195
|
const images = imagesFor(request.prompt.observation);
|
|
@@ -322,4 +328,3 @@ function imagesFor(observation) {
|
|
|
322
328
|
},
|
|
323
329
|
];
|
|
324
330
|
}
|
|
325
|
-
//# sourceMappingURL=invocation.js.map
|
package/dist/agent/ledger.d.ts
CHANGED
package/dist/agent/ledger.js
CHANGED
|
@@ -84,4 +84,3 @@ export declare function isFailedResult(toolName: string, text: string): boolean;
|
|
|
84
84
|
* that the last id was. Warns first, then forces the conclusion.
|
|
85
85
|
*/
|
|
86
86
|
export declare function checkFailureStreak(results: readonly GuardToolResult[], thresholds?: LoopGuardThresholds): LoopGuardVerdict;
|
|
87
|
-
//# sourceMappingURL=loop-guards.d.ts.map
|