e2e 0.15.2 → 0.17.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/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 +29 -9
- package/dist/agent/action-dispatcher.d.ts +0 -1
- package/dist/agent/action-dispatcher.js +4 -6
- package/dist/agent/action-names.d.ts +0 -1
- package/dist/agent/action-names.js +0 -1
- package/dist/agent/actions.d.ts +32 -24
- package/dist/agent/actions.js +38 -25
- 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 +0 -1
- package/dist/agent/error.js +0 -1
- 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 +2 -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 +0 -1
- package/dist/agent/model/tool-choice.js +0 -1
- package/dist/agent/observation-budget.d.ts +0 -1
- package/dist/agent/observation-budget.js +0 -1
- package/dist/agent/observation-feed.d.ts +5 -7
- package/dist/agent/observation-feed.js +5 -8
- package/dist/agent/observation.d.ts +40 -12
- package/dist/agent/observation.js +109 -60
- 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 +8 -9
- package/dist/agent/point-tap.js +1 -2
- 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 +19 -9
- package/dist/agent/replay.js +11 -15
- package/dist/agent/screen-update.d.ts +0 -1
- package/dist/agent/screen-update.js +0 -1
- package/dist/agent/scroll-target.d.ts +2 -4
- 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 +41 -15
- package/dist/agent/step-cache.js +147 -63
- package/dist/agent/tool-loop.d.ts +0 -1
- package/dist/agent/tool-loop.js +2 -1
- 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 +72 -24
- package/dist/cache/anchors.js +233 -61
- package/dist/cache/context.d.ts +25 -15
- package/dist/cache/context.js +50 -9
- package/dist/cache/decide.d.ts +2 -3
- package/dist/cache/decide.js +4 -7
- package/dist/cache/identity.d.ts +18 -5
- package/dist/cache/identity.js +9 -5
- package/dist/cache/recorder.d.ts +15 -2
- package/dist/cache/recorder.js +36 -24
- package/dist/cache/rekeyed.d.ts +46 -0
- package/dist/cache/rekeyed.js +89 -0
- package/dist/cache/relocate.d.ts +14 -15
- package/dist/cache/relocate.js +33 -26
- package/dist/cache/route.d.ts +32 -34
- package/dist/cache/route.js +94 -51
- package/dist/cache/store.d.ts +6 -1
- package/dist/cache/store.js +21 -2
- package/dist/cache/template.d.ts +0 -1
- package/dist/cache/template.js +0 -1
- package/dist/cache/trace.d.ts +53 -15
- package/dist/cache/trace.js +70 -29
- 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 +10 -11
- 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 +1 -4
- package/dist/cli/init/engines.js +2 -3
- package/dist/cli/init/gateways.d.ts +1 -2
- package/dist/cli/init/gateways.js +11 -2
- 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 +0 -1
- package/dist/cli/init/scaffold.js +0 -1
- package/dist/cli/init/sibling-versions.json +1 -1
- package/dist/cli/init/versions.d.ts +0 -9
- package/dist/cli/init/versions.js +1 -11
- 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 +1 -1
- package/dist/config/resolve.js +33 -2
- 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 +3 -4
- 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 +101 -59
- 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-scope.d.ts +52 -0
- package/dist/expect/poll-scope.js +113 -0
- package/dist/expect/poll.d.ts +0 -1
- package/dist/expect/poll.js +31 -5
- 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 +11 -5
- 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/abandoned.d.ts +11 -0
- package/dist/internal/abandoned.js +23 -0
- 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 +2 -1
- package/dist/internal/brands.js +2 -1
- package/dist/internal/client-identity.d.ts +9 -0
- package/dist/internal/client-identity.js +14 -0
- 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 +7 -5
- package/dist/internal/redact.js +116 -24
- 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 +6 -1
- package/dist/internal/time.js +25 -14
- package/dist/internal/urls.d.ts +9 -6
- package/dist/internal/urls.js +19 -11
- 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 +12 -3
- package/dist/locator/engine.js +8 -4
- 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 +28 -5
- package/dist/mcp/catalog.d.ts +7 -3
- package/dist/mcp/catalog.js +8 -9
- 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 +44 -22
- 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 +3 -24
- package/dist/oauth/cli.d.ts +0 -1
- package/dist/oauth/cli.js +1 -1
- package/dist/oauth/copilot.d.ts +5 -5
- package/dist/oauth/copilot.js +80 -8
- 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 +2 -2
- 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 +2 -2
- package/dist/oauth/opencode-console.d.ts +10 -0
- package/dist/oauth/opencode-console.js +133 -0
- package/dist/oauth/pkce.d.ts +0 -1
- package/dist/oauth/pkce.js +0 -1
- package/dist/oauth/providers/github-copilot.d.ts +12 -1
- package/dist/oauth/providers/github-copilot.js +80 -19
- package/dist/oauth/providers/openai.d.ts +0 -1
- package/dist/oauth/providers/openai.js +1 -2
- package/dist/oauth/providers/opencode-console.d.ts +31 -0
- package/dist/oauth/providers/opencode-console.js +148 -0
- package/dist/oauth/providers/xai.d.ts +0 -1
- package/dist/oauth/providers/xai.js +0 -1
- package/dist/oauth/providers.d.ts +2 -7
- package/dist/oauth/providers.js +3 -8
- package/dist/oauth/responses.d.ts +9 -0
- package/dist/oauth/responses.js +23 -0
- 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 +26 -1
- package/dist/report/build.js +16 -9
- 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 +6 -2
- package/dist/report/failure-text.js +14 -5
- package/dist/report/format.d.ts +10 -6
- package/dist/report/format.js +12 -6
- 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 +11 -13
- 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 +1 -1
- package/dist/report/list.js +38 -19
- 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 +1 -2
- package/dist/report/markdown.js +37 -15
- package/dist/report/outcome.d.ts +0 -1
- package/dist/report/outcome.js +0 -1
- package/dist/report/repeats.d.ts +6 -2
- package/dist/report/repeats.js +12 -4
- 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 +18 -1
- package/dist/run/artifacts.js +68 -2
- 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 +9 -1
- package/dist/run/execute.js +55 -29
- package/dist/run/extended-fixtures.d.ts +0 -1
- package/dist/run/extended-fixtures.js +6 -3
- package/dist/run/failure-evidence.d.ts +0 -1
- package/dist/run/failure-evidence.js +4 -3
- 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 +6 -9
- package/dist/run/in-process.d.ts +2 -1
- package/dist/run/in-process.js +1 -1
- package/dist/run/last-run.d.ts +42 -9
- package/dist/run/last-run.js +121 -15
- 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 +6 -2
- package/dist/run/realm.js +21 -8
- package/dist/run/records.d.ts +16 -1
- package/dist/run/records.js +26 -1
- package/dist/run/retry.d.ts +3 -2
- package/dist/run/retry.js +4 -3
- package/dist/run/runner.d.ts +3 -2
- package/dist/run/runner.js +70 -32
- 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 +2 -1
- package/dist/run/serial.js +8 -6
- 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 -9
- package/dist/run/steps.js +7 -22
- 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 +7 -7
- package/dist/run/worker/handle.d.ts +0 -1
- package/dist/run/worker/handle.js +0 -1
- package/dist/run/worker/protocol.d.ts +2 -1
- package/dist/run/worker/protocol.js +0 -1
- package/dist/run/worker/session.d.ts +2 -1
- package/dist/run/worker/session.js +1 -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 +108 -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 +34 -26
- package/dist/types.js +0 -1
- package/docs/agents.mdx +6 -3
- package/docs/assertions.mdx +94 -0
- package/docs/authentication.mdx +3 -1
- package/docs/browser.mdx +42 -6
- package/docs/cache.mdx +64 -18
- package/docs/ci.mdx +11 -7
- package/docs/debugging.mdx +6 -3
- package/docs/executors.mdx +5 -3
- package/docs/github.mdx +12 -4
- package/docs/{writing-tests.mdx → goals.mdx} +21 -101
- package/docs/index.mdx +4 -4
- package/docs/integrations/kernel.mdx +1 -1
- package/docs/locators.mdx +64 -0
- package/docs/migrate/cypress.mdx +2 -2
- package/docs/migrate/maestro.mdx +2 -2
- package/docs/migrate/playwright.mdx +22 -16
- package/docs/migrate/selenium.mdx +2 -2
- package/docs/mobile.mdx +61 -4
- package/docs/models.mdx +53 -7
- package/docs/physical-devices.mdx +76 -0
- package/docs/quickstart.mdx +4 -3
- package/docs/reference/app.mdx +1 -1
- package/docs/reference/cli.mdx +30 -11
- package/docs/reference/config.mdx +25 -7
- package/docs/reference/engine.mdx +4 -3
- package/docs/reference/environment.mdx +8 -1
- package/docs/reference/errors.mdx +5 -5
- package/docs/reference/expect.mdx +79 -24
- package/docs/reference/mcp.mdx +3 -0
- package/docs/reference/mobile.mdx +23 -13
- package/docs/reference/reporters.mdx +8 -2
- package/docs/reference/screen.mdx +30 -7
- package/docs/reference/test.mdx +11 -4
- package/docs/reference/web.mdx +131 -23
- package/docs/security.mdx +45 -19
- package/docs/subscriptions.mdx +97 -9
- package/docs/telemetry.mdx +48 -6
- package/package.json +18 -4
- package/schema/report-v1.schema.json +14 -1
- package/skills/e2e/SKILL.md +2 -2
- package/skills/e2e/references/agent.md +22 -11
- package/skills/e2e/references/debugging.md +4 -4
- package/skills/e2e/references/mcp.md +3 -0
- package/skills/e2e/references/running.md +13 -8
- package/skills/e2e/references/setup.md +42 -15
- package/skills/e2e/references/writing-tests.md +43 -15
- 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/internal/keys.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
/** The harness-side check of a `press` key against the contract's key grammar. */
|
|
2
2
|
/** Throws `INVALID_ARGUMENT` for anything but a key in the grammar `parseKey` accepts. */
|
|
3
3
|
export declare function requireKey(key: unknown): asserts key is string;
|
|
4
|
-
//# sourceMappingURL=keys.d.ts.map
|
package/dist/internal/keys.js
CHANGED
|
@@ -7,4 +7,3 @@
|
|
|
7
7
|
export declare const MINIMUM_NODE_VERSION = "22.12.0";
|
|
8
8
|
/** Explains an unsupported runtime, or undefined when `current` meets the floor. */
|
|
9
9
|
export declare function unsupportedNodeMessage(current: string, minimum?: string): string | undefined;
|
|
10
|
-
//# sourceMappingURL=node-version.d.ts.map
|
package/dist/internal/objects.js
CHANGED
|
@@ -26,4 +26,3 @@ export declare function unknownKeyMessage(label: string, value: object, keys: re
|
|
|
26
26
|
* for an argument a test passes.
|
|
27
27
|
*/
|
|
28
28
|
export declare function rejectUnknownKeys(label: string, value: object, keys: readonly string[], code?: 'INVALID_CONFIG' | 'INVALID_ARGUMENT'): void;
|
|
29
|
-
//# sourceMappingURL=options.d.ts.map
|
package/dist/internal/options.js
CHANGED
|
@@ -11,4 +11,3 @@ export declare function runScriptCommand(manager: PackageManager, name: string):
|
|
|
11
11
|
export declare function execCommand(manager: PackageManager, command: string): string;
|
|
12
12
|
/** The command that adds `name` as a dev dependency with the given manager. */
|
|
13
13
|
export declare function addDevDependencyCommand(manager: PackageManager, name: string): string;
|
|
14
|
-
//# sourceMappingURL=package-manager.d.ts.map
|
|
@@ -5,4 +5,3 @@
|
|
|
5
5
|
export declare function packageVersion(fromUrl: string, specifier: string, fallback: string): string;
|
|
6
6
|
/** Reads a JSON file through require resolution relative to the caller's module URL, or undefined when absent. */
|
|
7
7
|
export declare function readJson(fromUrl: string, specifier: string): unknown;
|
|
8
|
-
//# sourceMappingURL=package-version.d.ts.map
|
package/dist/internal/paths.d.ts
CHANGED
|
@@ -20,4 +20,3 @@ export declare function realpathOfExisting(target: string): string;
|
|
|
20
20
|
export declare function relativeToProjectRoot(projectRoot: string, target: string): string | undefined;
|
|
21
21
|
/** Whether `target` is a path strictly below the project root; see `relativeToProjectRoot`. */
|
|
22
22
|
export declare function insideProjectRoot(projectRoot: string, target: string): boolean;
|
|
23
|
-
//# sourceMappingURL=paths.d.ts.map
|
package/dist/internal/paths.js
CHANGED
|
@@ -54,4 +54,3 @@ export declare function isRetryMode(mode: RecordingMode): boolean;
|
|
|
54
54
|
export declare function attemptRecording(recording: ResolvedRecording, attemptIndex: number): AttemptRecording | undefined;
|
|
55
55
|
/** Whether any attempt of a test with `retries` records under `mode`: what the engine has to be able to honour before the run starts. */
|
|
56
56
|
export declare function recordsOnSomeAttempt(mode: RecordingMode, retries: number): boolean;
|
|
57
|
-
//# sourceMappingURL=recording-modes.d.ts.map
|
|
@@ -47,9 +47,12 @@ export declare class SecretLedger {
|
|
|
47
47
|
* `FRAGMENT_LENGTH` characters, or half of a value shorter than twice that.
|
|
48
48
|
* A cut is one position, so a boundary this short seldom matches plain text
|
|
49
49
|
* by chance. Matched as the value is written, in any case (`caseKey`), as
|
|
50
|
-
* a CSS `text-transform` shows it
|
|
51
|
-
*
|
|
52
|
-
*
|
|
50
|
+
* a CSS `text-transform` shows it, and with every whitespace run on both
|
|
51
|
+
* sides read as one space (`readingKey`) and the value's leading whitespace
|
|
52
|
+
* dropped where whole-value matching trims it (`valuePattern`), as an
|
|
53
|
+
* engine that collapses text before cutting it shows it: the cut falls on
|
|
54
|
+
* text as the engine read it, before any serializer spells it. A case
|
|
55
|
+
* mapping that changes length (`ß` to `SS`) is not followed. The part is found before whole values are
|
|
53
56
|
* rewritten, so a value that starts with another registered value is not
|
|
54
57
|
* half rewritten as the shorter one, and an occurrence running into the
|
|
55
58
|
* part joins its marker. Bound like `redact`.
|
|
@@ -61,7 +64,7 @@ export declare class SecretLedger {
|
|
|
61
64
|
* becomes its marker. For a recording that keeps what an engine read raw
|
|
62
65
|
* (a Playwright trace holds the page's cut text and selections), where a
|
|
63
66
|
* value cut or selected partway through survives whole-value matching.
|
|
64
|
-
* Matched
|
|
67
|
+
* Matched in any case and with whitespace runs collapsed, like `redactCut`. A
|
|
65
68
|
* base64 or base64url run that decodes to text holding a value or a
|
|
66
69
|
* fragment is rewritten whole (a basic-auth header the engine sent). Bound
|
|
67
70
|
* like `redact`.
|
|
@@ -111,4 +114,3 @@ export declare class StreamRedactor {
|
|
|
111
114
|
/** Redacts and returns whatever is held, an unfinished character included; nothing more will follow. */
|
|
112
115
|
flush(): string;
|
|
113
116
|
}
|
|
114
|
-
//# sourceMappingURL=redact.d.ts.map
|
package/dist/internal/redact.js
CHANGED
|
@@ -63,24 +63,31 @@ function compile(values) {
|
|
|
63
63
|
});
|
|
64
64
|
// `split` on a capturing pattern returns the markers at the odd indexes; those pass through untouched.
|
|
65
65
|
const redact = (text) => text.split(known).map((piece, index) => (index % 2 === 1 ? piece : rewrite(piece))).join('');
|
|
66
|
-
const valueKeys = entries.map(([, value]) =>
|
|
66
|
+
const valueKeys = entries.map(([, value]) => readingKey(value).key);
|
|
67
|
+
// A reader trims a value's leading whitespace as it trims any text's, so a cut part may begin past it.
|
|
68
|
+
const leadingForms = entries.map(([, value], index) => {
|
|
69
|
+
const key = valueKeys[index] ?? '';
|
|
70
|
+
return secretLength(value.trim()) >= MIN_SECRET_LENGTH && key.trimStart() !== key ? [key, key.trimStart()] : [key];
|
|
71
|
+
});
|
|
67
72
|
const redactCut = (text) => {
|
|
68
73
|
// Only what follows the last marker can end in a value cut short.
|
|
69
74
|
const tail = text.split(known).at(-1) ?? '';
|
|
70
|
-
const tailKey =
|
|
75
|
+
const tailKey = readingKey(tail);
|
|
71
76
|
let cut = 0;
|
|
72
77
|
let marker = '';
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
cut
|
|
77
|
-
|
|
78
|
+
leadingForms.forEach((forms, index) => {
|
|
79
|
+
for (const value of forms) {
|
|
80
|
+
const length = leadingPartAtEnd(tailKey.key, value, Math.min(FRAGMENT_LENGTH, Math.ceil(value.length / 2)));
|
|
81
|
+
if (length > cut) {
|
|
82
|
+
cut = length;
|
|
83
|
+
marker = markers[index] ?? '';
|
|
84
|
+
}
|
|
78
85
|
}
|
|
79
86
|
});
|
|
80
87
|
if (cut === 0)
|
|
81
88
|
return redact(text);
|
|
82
89
|
// An occurrence the whole-value pass would rewrite across the fragment's start joins the fragment.
|
|
83
|
-
let start =
|
|
90
|
+
let start = tailKey.at(tailKey.key.length - cut);
|
|
84
91
|
pattern.lastIndex = 0;
|
|
85
92
|
for (let match = pattern.exec(tail); match !== null && match.index < start; match = pattern.exec(tail)) {
|
|
86
93
|
if (match.index + match[0].length > start) {
|
|
@@ -221,6 +228,87 @@ function caseKey(text) {
|
|
|
221
228
|
out += ch.charCodeAt(0) < 128 ? ch.toLowerCase() : caseKeyOf(ch);
|
|
222
229
|
return out;
|
|
223
230
|
}
|
|
231
|
+
/** Whitespace a reader rewrites: a run of two or more, or one character other than a plain space. */
|
|
232
|
+
const COLLAPSIBLE = /\s\s|[^\S ]/u;
|
|
233
|
+
/** UTF-16 units joined into one string at a time when the key is rebuilt. */
|
|
234
|
+
const KEY_CHUNK = 8192;
|
|
235
|
+
/**
|
|
236
|
+
* `text` as a cut or a fragment of a value is compared: `caseKey`, with each
|
|
237
|
+
* whitespace run read as one space, as an engine that collapses whitespace
|
|
238
|
+
* (`normalizeText`) shows it before cutting. A value holding a line break, a
|
|
239
|
+
* tab, a CRLF, a no-break space, or a run of spaces then agrees with what a
|
|
240
|
+
* collapsed text keeps of it, and a stretch of the key maps back to the text
|
|
241
|
+
* through `at`. `caseKey` keeps every index, so text with nothing to collapse
|
|
242
|
+
* is its own key. Otherwise the key is rebuilt unit by unit into a typed
|
|
243
|
+
* array, and `at` keeps one pair of offsets per collapsed run: a trace text
|
|
244
|
+
* of many megabytes costs a few times its size, never an object per unit.
|
|
245
|
+
*/
|
|
246
|
+
function readingKey(text) {
|
|
247
|
+
const cased = caseKey(text);
|
|
248
|
+
if (!COLLAPSIBLE.test(cased))
|
|
249
|
+
return { key: cased, at: (index) => index };
|
|
250
|
+
const units = new Uint16Array(cased.length);
|
|
251
|
+
// Pairs of where a stretch after a collapsed run starts, in the key and in the text.
|
|
252
|
+
let breaks = new Int32Array(64);
|
|
253
|
+
let pairs = 0;
|
|
254
|
+
let length = 0;
|
|
255
|
+
for (let index = 0; index < cased.length; index += 1) {
|
|
256
|
+
const unit = cased.charCodeAt(index);
|
|
257
|
+
if (!isWhitespace(unit)) {
|
|
258
|
+
units[length++] = unit;
|
|
259
|
+
continue;
|
|
260
|
+
}
|
|
261
|
+
let end = index + 1;
|
|
262
|
+
while (end < cased.length && isWhitespace(cased.charCodeAt(end)))
|
|
263
|
+
end += 1;
|
|
264
|
+
units[length++] = 0x20;
|
|
265
|
+
if (end - index > 1 || unit !== 0x20) {
|
|
266
|
+
if (2 * pairs + 2 > breaks.length) {
|
|
267
|
+
const grown = new Int32Array(breaks.length * 2);
|
|
268
|
+
grown.set(breaks);
|
|
269
|
+
breaks = grown;
|
|
270
|
+
}
|
|
271
|
+
breaks[2 * pairs] = length;
|
|
272
|
+
breaks[2 * pairs + 1] = end;
|
|
273
|
+
pairs += 1;
|
|
274
|
+
}
|
|
275
|
+
index = end - 1;
|
|
276
|
+
}
|
|
277
|
+
const chunks = [];
|
|
278
|
+
for (let start = 0; start < length; start += KEY_CHUNK) {
|
|
279
|
+
chunks.push(String.fromCharCode(...units.subarray(start, Math.min(length, start + KEY_CHUNK))));
|
|
280
|
+
}
|
|
281
|
+
return {
|
|
282
|
+
key: chunks.join(''),
|
|
283
|
+
at: (index) => {
|
|
284
|
+
// The last stretch starting at or before `index`; before the first run the key and the text agree.
|
|
285
|
+
let low = -1;
|
|
286
|
+
let high = pairs - 1;
|
|
287
|
+
while (low < high) {
|
|
288
|
+
const middle = (low + high + 1) >> 1;
|
|
289
|
+
if ((breaks[2 * middle] ?? 0) <= index)
|
|
290
|
+
low = middle;
|
|
291
|
+
else
|
|
292
|
+
high = middle - 1;
|
|
293
|
+
}
|
|
294
|
+
return low === -1 ? index : (breaks[2 * low + 1] ?? 0) + index - (breaks[2 * low] ?? 0);
|
|
295
|
+
},
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
/** Whether a UTF-16 unit is one `\s` matches: what `normalizeText` collapses. */
|
|
299
|
+
function isWhitespace(unit) {
|
|
300
|
+
return (unit === 0x20 ||
|
|
301
|
+
(unit >= 0x09 && unit <= 0x0d) ||
|
|
302
|
+
unit === 0xa0 ||
|
|
303
|
+
unit === 0x1680 ||
|
|
304
|
+
(unit >= 0x2000 && unit <= 0x200a) ||
|
|
305
|
+
unit === 0x2028 ||
|
|
306
|
+
unit === 0x2029 ||
|
|
307
|
+
unit === 0x202f ||
|
|
308
|
+
unit === 0x205f ||
|
|
309
|
+
unit === 0x3000 ||
|
|
310
|
+
unit === 0xfeff);
|
|
311
|
+
}
|
|
224
312
|
/** One non-ASCII character's `caseKey`, the same length as `ch`. */
|
|
225
313
|
function caseKeyOf(ch) {
|
|
226
314
|
const upper = sameLength(ch.toUpperCase(), ch);
|
|
@@ -306,8 +394,9 @@ function leadingPartAtEnd(text, value, minimum) {
|
|
|
306
394
|
/**
|
|
307
395
|
* Every run of `FRAGMENT_LENGTH` characters of every value, mapped to the
|
|
308
396
|
* index of the first value holding it; values come longest first, so a run
|
|
309
|
-
* two values share names the longer one. The values come as `
|
|
310
|
-
* reads them, so a run in any case
|
|
397
|
+
* two values share names the longer one. The values come as `readingKey`
|
|
398
|
+
* reads them, so a run in any case or with its whitespace collapsed finds
|
|
399
|
+
* its owner.
|
|
311
400
|
*/
|
|
312
401
|
function fragmentOwners(values) {
|
|
313
402
|
const owners = new Map();
|
|
@@ -323,29 +412,30 @@ function fragmentOwners(values) {
|
|
|
323
412
|
/**
|
|
324
413
|
* `text` with every stretch whose windows of `FRAGMENT_LENGTH` characters
|
|
325
414
|
* each occur in a value replaced by the marker of the value owning its first
|
|
326
|
-
* window. Windows are looked up by `
|
|
327
|
-
* fragment in another case
|
|
328
|
-
*
|
|
329
|
-
*
|
|
415
|
+
* window. Windows are looked up by `readingKey`, as `owners` is keyed, so a
|
|
416
|
+
* fragment in another case or with another whitespace run is one too, and
|
|
417
|
+
* the stretch is cut back out of `text` whole, its whitespace runs included.
|
|
418
|
+
* The stretch grows one window at a time, so the scan is linear in the text
|
|
419
|
+
* and a run spanning two values becomes one marker.
|
|
330
420
|
*/
|
|
331
421
|
function rewriteFragments(text, owners, markers) {
|
|
332
422
|
if (owners.size === 0)
|
|
333
423
|
return text;
|
|
334
|
-
const key =
|
|
424
|
+
const { key, at } = readingKey(text);
|
|
335
425
|
let out = '';
|
|
336
426
|
let kept = 0;
|
|
337
427
|
let start = 0;
|
|
338
|
-
while (start + FRAGMENT_LENGTH <=
|
|
428
|
+
while (start + FRAGMENT_LENGTH <= key.length) {
|
|
339
429
|
const owner = owners.get(key.slice(start, start + FRAGMENT_LENGTH));
|
|
340
430
|
if (owner === undefined) {
|
|
341
431
|
start += 1;
|
|
342
432
|
continue;
|
|
343
433
|
}
|
|
344
434
|
let end = start + FRAGMENT_LENGTH;
|
|
345
|
-
while (end <
|
|
435
|
+
while (end < key.length && owners.has(key.slice(end + 1 - FRAGMENT_LENGTH, end + 1)))
|
|
346
436
|
end += 1;
|
|
347
|
-
out += `${text.slice(kept, start)}${markers[owner] ?? ''}`;
|
|
348
|
-
kept = end;
|
|
437
|
+
out += `${text.slice(kept, at(start))}${markers[owner] ?? ''}`;
|
|
438
|
+
kept = at(end);
|
|
349
439
|
start = end;
|
|
350
440
|
}
|
|
351
441
|
return out + text.slice(kept);
|
|
@@ -449,9 +539,12 @@ export class SecretLedger {
|
|
|
449
539
|
* `FRAGMENT_LENGTH` characters, or half of a value shorter than twice that.
|
|
450
540
|
* A cut is one position, so a boundary this short seldom matches plain text
|
|
451
541
|
* by chance. Matched as the value is written, in any case (`caseKey`), as
|
|
452
|
-
* a CSS `text-transform` shows it
|
|
453
|
-
*
|
|
454
|
-
*
|
|
542
|
+
* a CSS `text-transform` shows it, and with every whitespace run on both
|
|
543
|
+
* sides read as one space (`readingKey`) and the value's leading whitespace
|
|
544
|
+
* dropped where whole-value matching trims it (`valuePattern`), as an
|
|
545
|
+
* engine that collapses text before cutting it shows it: the cut falls on
|
|
546
|
+
* text as the engine read it, before any serializer spells it. A case
|
|
547
|
+
* mapping that changes length (`ß` to `SS`) is not followed. The part is found before whole values are
|
|
455
548
|
* rewritten, so a value that starts with another registered value is not
|
|
456
549
|
* half rewritten as the shorter one, and an occurrence running into the
|
|
457
550
|
* part joins its marker. Bound like `redact`.
|
|
@@ -463,7 +556,7 @@ export class SecretLedger {
|
|
|
463
556
|
* becomes its marker. For a recording that keeps what an engine read raw
|
|
464
557
|
* (a Playwright trace holds the page's cut text and selections), where a
|
|
465
558
|
* value cut or selected partway through survives whole-value matching.
|
|
466
|
-
* Matched
|
|
559
|
+
* Matched in any case and with whitespace runs collapsed, like `redactCut`. A
|
|
467
560
|
* base64 or base64url run that decodes to text holding a value or a
|
|
468
561
|
* fragment is rewritten whole (a basic-auth header the engine sent). Bound
|
|
469
562
|
* like `redact`.
|
|
@@ -548,4 +641,3 @@ export class StreamRedactor {
|
|
|
548
641
|
return this.ledger.redact(text);
|
|
549
642
|
}
|
|
550
643
|
}
|
|
551
|
-
//# sourceMappingURL=redact.js.map
|
package/dist/internal/regexp.js
CHANGED
package/dist/internal/roles.d.ts
CHANGED
|
@@ -8,4 +8,3 @@ export declare function isEditable(node: Pick<SemanticNode, 'role'>): boolean;
|
|
|
8
8
|
* told apart from a heading, which has no value at all, by its role.
|
|
9
9
|
*/
|
|
10
10
|
export declare function isValueControl(node: Pick<SemanticNode, 'role'>): boolean;
|
|
11
|
-
//# sourceMappingURL=roles.d.ts.map
|
package/dist/internal/roles.js
CHANGED
package/dist/internal/skip.d.ts
CHANGED
package/dist/internal/skip.js
CHANGED
|
@@ -29,4 +29,3 @@ export declare function projectRelativePath(projectRoot: string, file: string):
|
|
|
29
29
|
export declare function userFrame(stack: string | undefined, projectRoot: string | undefined): StackFrame | undefined;
|
|
30
30
|
/** The user's frame in a stack as the report keeps it: project-relative, POSIX; nothing when the stack named no project line. */
|
|
31
31
|
export declare function sourceLocation(stack: string | undefined, projectRoot: string | undefined): SourceLocation | undefined;
|
|
32
|
-
//# sourceMappingURL=source.d.ts.map
|
package/dist/internal/source.js
CHANGED
|
@@ -4,4 +4,3 @@ import type { StandardSchemaV1 } from '../types.ts';
|
|
|
4
4
|
export declare function requireStandardSchema(schema: unknown, label: string): asserts schema is StandardSchemaV1;
|
|
5
5
|
/** One issue as `users.0.email: Invalid email`, or the bare message for an issue at the root. */
|
|
6
6
|
export declare function describeIssue(issue: StandardSchemaV1.Issue): string;
|
|
7
|
-
//# sourceMappingURL=standard-schema.d.ts.map
|
|
@@ -17,4 +17,3 @@ export declare function isTypoOf(word: string, candidate: string): boolean;
|
|
|
17
17
|
export declare function didYouMean(word: string, candidates: readonly string[]): string;
|
|
18
18
|
/** ` (did you mean x?)` for a note right after the word in a list, or the empty string. */
|
|
19
19
|
export declare function suggestionNote(word: string, candidates: readonly string[]): string;
|
|
20
|
-
//# sourceMappingURL=suggest.d.ts.map
|
package/dist/internal/suggest.js
CHANGED
package/dist/internal/text.d.ts
CHANGED
|
@@ -32,6 +32,8 @@ export interface TextComparison {
|
|
|
32
32
|
readonly mode: 'equals' | 'contains';
|
|
33
33
|
/** Whether both sides are whitespace-normalized first. `false` compares the raw strings, as a form control's value is. */
|
|
34
34
|
readonly normalize: boolean;
|
|
35
|
+
/** Compares a string pattern case-insensitively. A RegExp reads case from its flags; `withIgnoreCase` sets them. */
|
|
36
|
+
readonly ignoreCase?: boolean | undefined;
|
|
35
37
|
}
|
|
36
38
|
/**
|
|
37
39
|
* Matches normalized text against a pattern. String matching is exact by
|
|
@@ -46,6 +48,11 @@ export declare function matchesText(actual: string, pattern: TextPattern): boole
|
|
|
46
48
|
* platform reports verbatim.
|
|
47
49
|
*/
|
|
48
50
|
export declare function compareText(actual: string, pattern: TextPattern, comparison: TextComparison): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* The pattern under Playwright's `ignoreCase`: `true` adds a RegExp's `i`
|
|
53
|
+
* flag, `false` removes it, `undefined` keeps the flags it came with. A string
|
|
54
|
+
* pattern is returned as it is; `compareText` folds its case.
|
|
55
|
+
*/
|
|
56
|
+
export declare function withIgnoreCase(pattern: TextPattern, ignoreCase: boolean | undefined): TextPattern;
|
|
49
57
|
/** Renders a pattern for diagnostics. */
|
|
50
58
|
export declare function describePattern(pattern: TextPattern): string;
|
|
51
|
-
//# sourceMappingURL=text.d.ts.map
|
package/dist/internal/text.js
CHANGED
|
@@ -63,7 +63,19 @@ export function compareText(actual, pattern, comparison) {
|
|
|
63
63
|
const expected = comparison.normalize ? normalizeText(pattern.value) : pattern.value;
|
|
64
64
|
if (!pattern.exact)
|
|
65
65
|
return subject.toLowerCase().includes(expected.toLowerCase());
|
|
66
|
-
|
|
66
|
+
const fold = (text) => (comparison.ignoreCase === true ? text.toLowerCase() : text);
|
|
67
|
+
return comparison.mode === 'equals' ? fold(subject) === fold(expected) : fold(subject).includes(fold(expected));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* The pattern under Playwright's `ignoreCase`: `true` adds a RegExp's `i`
|
|
71
|
+
* flag, `false` removes it, `undefined` keeps the flags it came with. A string
|
|
72
|
+
* pattern is returned as it is; `compareText` folds its case.
|
|
73
|
+
*/
|
|
74
|
+
export function withIgnoreCase(pattern, ignoreCase) {
|
|
75
|
+
if (pattern.kind !== 'regexp' || ignoreCase === undefined)
|
|
76
|
+
return pattern;
|
|
77
|
+
const flags = pattern.flags.replace('i', '');
|
|
78
|
+
return { ...pattern, flags: normalizeRegexpFlags(ignoreCase ? `${flags}i` : flags) };
|
|
67
79
|
}
|
|
68
80
|
/** Renders a pattern for diagnostics. */
|
|
69
81
|
export function describePattern(pattern) {
|
|
@@ -71,4 +83,3 @@ export function describePattern(pattern) {
|
|
|
71
83
|
return JSON.stringify(pattern.value);
|
|
72
84
|
return `/${pattern.source}/${pattern.flags}`;
|
|
73
85
|
}
|
|
74
|
-
//# sourceMappingURL=text.js.map
|
package/dist/internal/time.d.ts
CHANGED
|
@@ -30,6 +30,12 @@ export interface PollConditionOptions {
|
|
|
30
30
|
* Polls a condition until it holds (or, when negated, until its negation has
|
|
31
31
|
* held continuously for the negation grace window), throwing the caller's
|
|
32
32
|
* error at the deadline.
|
|
33
|
+
*
|
|
34
|
+
* A negation holds from the moment the read that first saw it was issued, so
|
|
35
|
+
* a slow read counts toward the window. A budget shorter than the window
|
|
36
|
+
* still has to be satisfiable: the negation then only needs to hold for the
|
|
37
|
+
* whole budget, and passes at the deadline on what it has seen, since a read
|
|
38
|
+
* past the deadline has no budget left.
|
|
33
39
|
*/
|
|
34
40
|
export declare function pollCondition(options: PollConditionOptions): Promise<void>;
|
|
35
41
|
/** Races a promise against a timeout; on timeout invokes onTimeout to build the error. */
|
|
@@ -53,4 +59,3 @@ export declare function withinCleanupBudget(promise: Promise<unknown>, budget: {
|
|
|
53
59
|
readonly signal: AbortSignal;
|
|
54
60
|
readonly timeoutMs: number;
|
|
55
61
|
}): Promise<void>;
|
|
56
|
-
//# sourceMappingURL=time.d.ts.map
|
package/dist/internal/time.js
CHANGED
|
@@ -47,29 +47,41 @@ export const NEGATION_GRACE_MS = 1000;
|
|
|
47
47
|
* Polls a condition until it holds (or, when negated, until its negation has
|
|
48
48
|
* held continuously for the negation grace window), throwing the caller's
|
|
49
49
|
* error at the deadline.
|
|
50
|
+
*
|
|
51
|
+
* A negation holds from the moment the read that first saw it was issued, so
|
|
52
|
+
* a slow read counts toward the window. A budget shorter than the window
|
|
53
|
+
* still has to be satisfiable: the negation then only needs to hold for the
|
|
54
|
+
* whole budget, and passes at the deadline on what it has seen, since a read
|
|
55
|
+
* past the deadline has no budget left.
|
|
50
56
|
*/
|
|
51
57
|
export async function pollCondition(options) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
const grace = Math.min(NEGATION_GRACE_MS,
|
|
55
|
-
let
|
|
58
|
+
const { deadline, negated } = options;
|
|
59
|
+
const startedAt = Date.now();
|
|
60
|
+
const grace = Math.min(NEGATION_GRACE_MS, deadline.remaining(startedAt));
|
|
61
|
+
let readAt = startedAt;
|
|
62
|
+
let holdingSince;
|
|
63
|
+
const holds = (now) => holdingSince !== undefined && now - holdingSince >= grace;
|
|
56
64
|
for (;;) {
|
|
57
65
|
const value = await options.evaluate();
|
|
58
|
-
if (!
|
|
66
|
+
if (!negated) {
|
|
59
67
|
if (value === true)
|
|
60
68
|
return;
|
|
61
69
|
}
|
|
62
|
-
else if (value === false) {
|
|
63
|
-
negatedTrueSince ??= Date.now();
|
|
64
|
-
if (Date.now() - negatedTrueSince >= grace)
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
70
|
else {
|
|
68
|
-
|
|
71
|
+
holdingSince = value === false ? (holdingSince ?? readAt) : undefined;
|
|
69
72
|
}
|
|
70
|
-
|
|
73
|
+
const now = Date.now();
|
|
74
|
+
if (holds(now))
|
|
75
|
+
return;
|
|
76
|
+
if (deadline.expired(now))
|
|
71
77
|
throw await options.onTimeout();
|
|
72
|
-
await sleep(POLL_INTERVAL_MS, options.signal);
|
|
78
|
+
await sleep(negated ? Math.min(POLL_INTERVAL_MS, deadline.remaining(now)) : POLL_INTERVAL_MS, options.signal);
|
|
79
|
+
readAt = Date.now();
|
|
80
|
+
if (negated && deadline.expired(readAt)) {
|
|
81
|
+
if (holds(readAt))
|
|
82
|
+
return;
|
|
83
|
+
throw await options.onTimeout();
|
|
84
|
+
}
|
|
73
85
|
}
|
|
74
86
|
}
|
|
75
87
|
/** Races a promise against a timeout; on timeout invokes onTimeout to build the error. */
|
|
@@ -151,4 +163,3 @@ export function withinCleanupBudget(promise, budget) {
|
|
|
151
163
|
settle();
|
|
152
164
|
});
|
|
153
165
|
}
|
|
154
|
-
//# sourceMappingURL=time.js.map
|
package/dist/internal/urls.d.ts
CHANGED
|
@@ -23,10 +23,12 @@ export declare function isLoopbackHost(hostname: string): boolean;
|
|
|
23
23
|
/** True when environment may default to `test` (loopback, .localhost, .test hosts). */
|
|
24
24
|
export declare function isImplicitTestHost(hostname: string): boolean;
|
|
25
25
|
/**
|
|
26
|
-
* Resolves a navigation URL against the base and refuses
|
|
27
|
-
*
|
|
28
|
-
* a click can reach one just as well, so a
|
|
29
|
-
* would guard nothing.
|
|
26
|
+
* Resolves a navigation URL against the base and refuses every scheme but
|
|
27
|
+
* http(s), except the exact `about:blank`. Returns the absolute URL string.
|
|
28
|
+
* Any http(s) origin is admitted: a click can reach one just as well, so a
|
|
29
|
+
* gate on typed navigation alone would guard nothing. The rule is an
|
|
30
|
+
* allowlist because a browser wraps and nests schemes (`view-source:file:`,
|
|
31
|
+
* `blob:`, `filesystem:`), and a list of forbidden ones misses the wrapper.
|
|
30
32
|
*/
|
|
31
33
|
export declare function resolveNavigationUrl(input: string, base: NormalizedBaseUrl | undefined): {
|
|
32
34
|
url: string;
|
|
@@ -53,6 +55,7 @@ export declare function sameSite(url: string | URL, site: string): boolean;
|
|
|
53
55
|
* Relative expected strings resolve against the base URL; string comparison is
|
|
54
56
|
* exact after WHATWG serialization; regexps test the complete serialized URL.
|
|
55
57
|
* Anything else is `INVALID_ARGUMENT`, the `toTextPattern` rule.
|
|
58
|
+
* `ignoreCase` is Playwright's: `true` compares a string case-insensitively
|
|
59
|
+
* and adds the `i` flag to a regexp, `false` removes it.
|
|
56
60
|
*/
|
|
57
|
-
export declare function urlMatches(current: string, expected: string | RegExp, baseHref: string): boolean;
|
|
58
|
-
//# sourceMappingURL=urls.d.ts.map
|
|
61
|
+
export declare function urlMatches(current: string, expected: string | RegExp, baseHref: string, ignoreCase?: boolean): boolean;
|