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/.build.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":"0.
|
|
1
|
+
{"version":"0.17.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
|
@@ -21,7 +21,7 @@ import { join } from 'node:path';
|
|
|
21
21
|
import { ConfigurationError } from '../internal/errors.js';
|
|
22
22
|
import { withAbort, withTimeout } from '../internal/time.js';
|
|
23
23
|
import { AgentError, CATEGORY_BY_CODE, toAgentError } from './error.js';
|
|
24
|
-
import { validateActOptions, validateInstruction, validateParams, validateVerdict } from './act-validation.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';
|
|
@@ -29,6 +29,7 @@ import { projectPriorSteps, serializeLedger } from './ledger.js';
|
|
|
29
29
|
import { instantiateLanguageModel } from './model/sdk.js';
|
|
30
30
|
import { ObservationFeed } from './observation-feed.js';
|
|
31
31
|
import { recordPolicyEvent } from './phases.js';
|
|
32
|
+
import { appLocation } from '../cache/route.js';
|
|
32
33
|
import { OperationQueue } from './operation-queue.js';
|
|
33
34
|
import { StepAccounting } from './step-accounting.js';
|
|
34
35
|
import { failedStepOutcome, StepTraceSession } from './step-cache.js';
|
|
@@ -88,12 +89,16 @@ export async function runAssertStep(runtime, assertion, options) {
|
|
|
88
89
|
* passing is what confirms the traces staged before it at attempt end
|
|
89
90
|
* (cache/context.ts).
|
|
90
91
|
*/
|
|
91
|
-
export async function dispatchAgentStep(runtime,
|
|
92
|
+
export async function dispatchAgentStep(runtime, raw,
|
|
92
93
|
// Resolved before the step opens, so an unknown name fails the call, not a
|
|
93
94
|
// recorded step, and the step carries the agent it ran with.
|
|
94
|
-
agent = runtime.select(
|
|
95
|
+
agent = runtime.select(raw.agent)) {
|
|
96
|
+
const spec = redactSpec(raw, runtime.redact);
|
|
97
|
+
// Redacted per step, not once per agent: the ledger is live, so a value
|
|
98
|
+
// resolved since the agent was selected is covered too.
|
|
99
|
+
const context = agent.agentContext === undefined ? undefined : runtime.redact(agent.agentContext);
|
|
95
100
|
return runtime.steps.run('agent', spec.api, spec.instruction, async () => {
|
|
96
|
-
const dispatch = new ActDispatch(runtime, spec, agent);
|
|
101
|
+
const dispatch = new ActDispatch(runtime, spec, { ...agent, agentContext: context });
|
|
97
102
|
try {
|
|
98
103
|
let verdict;
|
|
99
104
|
try {
|
|
@@ -116,6 +121,20 @@ agent = runtime.select(spec.agent)) {
|
|
|
116
121
|
}
|
|
117
122
|
}, { verifies: spec.kind === 'assert', agent: agent.name });
|
|
118
123
|
}
|
|
124
|
+
/**
|
|
125
|
+
* The spec with every registered secret value the test spelled into the
|
|
126
|
+
* instruction or a param string (a key or a leaf) rewritten to its marker,
|
|
127
|
+
* before anything reads it: the executor, its model, the step label, the
|
|
128
|
+
* trace cache, and the prior-step ledger all see the same redacted step. A
|
|
129
|
+
* `Secret` handle is already a placeholder here and stays fillable through
|
|
130
|
+
* `typeSecret`.
|
|
131
|
+
*/
|
|
132
|
+
function redactSpec(spec, redact) {
|
|
133
|
+
const instruction = redact(spec.instruction);
|
|
134
|
+
if (spec.params === undefined)
|
|
135
|
+
return { ...spec, instruction };
|
|
136
|
+
return { ...spec, instruction, ...redactParams(spec.params, spec.templates, redact) };
|
|
137
|
+
}
|
|
119
138
|
/** One step's wiring: the collaborators, the executor's context, and the verdict mapping. */
|
|
120
139
|
class ActDispatch {
|
|
121
140
|
runtime;
|
|
@@ -181,7 +200,10 @@ class ActDispatch {
|
|
|
181
200
|
name: agent.executor.name,
|
|
182
201
|
...(agent.executor.version === undefined ? {} : { version: agent.executor.version }),
|
|
183
202
|
},
|
|
203
|
+
// Redacted already (`dispatchAgentStep`): the key digests the context the executor reads.
|
|
204
|
+
agent: { name: agent.name, context: agent.agentContext },
|
|
184
205
|
redact: runtime.redact,
|
|
206
|
+
redactCut: runtime.redactCut,
|
|
185
207
|
maxActions: this.accounting.maxActions,
|
|
186
208
|
stepIndex,
|
|
187
209
|
});
|
|
@@ -403,11 +425,10 @@ class ActDispatch {
|
|
|
403
425
|
const feed = this.feed;
|
|
404
426
|
return {
|
|
405
427
|
get traceEligible() { return feed.traceEligible; },
|
|
406
|
-
observe: async (mode) => screenOf(await this.feed.probe(mode)),
|
|
428
|
+
observe: async (mode) => screenOf(await this.feed.probe(mode), this.runtime.app.base?.origin),
|
|
407
429
|
actions: this.dispatcher.actions,
|
|
408
430
|
signal: this.accounting.signal,
|
|
409
431
|
remainingMs: () => this.accounting.remainingMs(),
|
|
410
|
-
redact: this.runtime.redact,
|
|
411
432
|
replaying: (active) => {
|
|
412
433
|
this.runtime.steps.replaying(active);
|
|
413
434
|
this.accounting.replaying(active);
|
|
@@ -456,13 +477,12 @@ class ActDispatch {
|
|
|
456
477
|
}
|
|
457
478
|
}
|
|
458
479
|
/** The replay engine's view of a capture: the nodes, and the viewport a recorded point is checked against. */
|
|
459
|
-
function screenOf(observation) {
|
|
480
|
+
function screenOf(observation, appOrigin) {
|
|
460
481
|
const metadata = {
|
|
461
482
|
viewport: { width: observation.viewport.width, height: observation.viewport.height },
|
|
462
|
-
...(observation.
|
|
483
|
+
...(observation.location === undefined ? {} : { path: appLocation(observation.location, appOrigin) }),
|
|
463
484
|
};
|
|
464
485
|
return observation.kind === 'semantic'
|
|
465
486
|
? { ...metadata, kind: 'semantic', nodes: observation.nodes }
|
|
466
487
|
: { ...metadata, kind: 'pixels' };
|
|
467
488
|
}
|
|
468
|
-
//# sourceMappingURL=act.js.map
|
|
@@ -487,10 +487,10 @@ export class ActionDispatcher {
|
|
|
487
487
|
}
|
|
488
488
|
async runActionNow(name, body) {
|
|
489
489
|
this.accounting.reserveAction();
|
|
490
|
-
const
|
|
490
|
+
const redaction = { redact: this.runtime.redact, redactCut: this.runtime.redactCut };
|
|
491
491
|
let action;
|
|
492
492
|
try {
|
|
493
|
-
action = await instrumentPhase(this.runtime, { api: this.accounting.api, kind: 'engine', phase: 'agent.action', name }, body, (committed) => ({ detail: describeAction(committed,
|
|
493
|
+
action = await instrumentPhase(this.runtime, { api: this.accounting.api, kind: 'engine', phase: 'agent.action', name }, body, (committed) => ({ detail: describeAction(committed, redaction).summary }));
|
|
494
494
|
}
|
|
495
495
|
catch (cause) {
|
|
496
496
|
this.accounting.checkpoint(cause);
|
|
@@ -579,9 +579,8 @@ export class ActionDispatcher {
|
|
|
579
579
|
* number picks the same one.
|
|
580
580
|
*/
|
|
581
581
|
placementOf({ node, observation }) {
|
|
582
|
-
const
|
|
583
|
-
const
|
|
584
|
-
const position = describePosition(node, within, observation.nodes, { redact });
|
|
582
|
+
const within = containerKey(node.ref.id, observation.nodes, observation.parents);
|
|
583
|
+
const position = describePosition(node, within, observation.nodes);
|
|
585
584
|
return {
|
|
586
585
|
...(within === undefined ? {} : { within }),
|
|
587
586
|
...(position === undefined ? {} : { position }),
|
|
@@ -598,4 +597,3 @@ function isInViewport(rect, viewport) {
|
|
|
598
597
|
return true;
|
|
599
598
|
return rect.x < viewport.width && rect.y < viewport.height && rect.x + rect.width > 0 && rect.y + rect.height > 0;
|
|
600
599
|
}
|
|
601
|
-
//# sourceMappingURL=action-dispatcher.js.map
|
package/dist/agent/actions.d.ts
CHANGED
|
@@ -8,51 +8,52 @@
|
|
|
8
8
|
* the same descriptor projection. One owner for all three, so a recorded
|
|
9
9
|
* summary, a live event line, and a relocation candidate can never drift.
|
|
10
10
|
*/
|
|
11
|
-
import type {
|
|
11
|
+
import type { ViewportPoint, ViewportSize } from '../engine/surface.ts';
|
|
12
|
+
import { type NodeRedaction, type RedactedNode } from './observation.ts';
|
|
12
13
|
import { type NodeActionName, type PointActionName, type TraceTargetDescriptor, type TracePosition } from '../cache/trace.ts';
|
|
13
14
|
import type { ScrollDirection } from '../types.ts';
|
|
14
15
|
/** One committed grammar action, addressed by the node it actually ran against. */
|
|
15
16
|
export type RecordableAction = ({
|
|
16
17
|
readonly name: NodeActionName;
|
|
17
|
-
readonly node:
|
|
18
|
+
readonly node: RedactedNode;
|
|
18
19
|
} & Placement) | ({
|
|
19
20
|
readonly name: 'type';
|
|
20
|
-
readonly node:
|
|
21
|
+
readonly node: RedactedNode;
|
|
21
22
|
readonly value: string;
|
|
22
23
|
} & Placement) | ({
|
|
23
24
|
readonly name: 'typeSecret';
|
|
24
|
-
readonly node:
|
|
25
|
+
readonly node: RedactedNode;
|
|
25
26
|
readonly secret: string;
|
|
26
27
|
} & Placement) | ({
|
|
27
28
|
readonly name: 'press';
|
|
28
|
-
readonly node:
|
|
29
|
+
readonly node: RedactedNode;
|
|
29
30
|
readonly key: string;
|
|
30
31
|
} & Placement) | ({
|
|
31
32
|
readonly name: 'select';
|
|
32
|
-
readonly node:
|
|
33
|
+
readonly node: RedactedNode;
|
|
33
34
|
readonly value: string;
|
|
34
35
|
} & Placement) | ({
|
|
35
36
|
readonly name: 'check';
|
|
36
|
-
readonly node:
|
|
37
|
+
readonly node: RedactedNode;
|
|
37
38
|
readonly checked: boolean;
|
|
38
39
|
} & Placement)
|
|
39
40
|
/** Project-relative paths as the executor gave them; replay authorizes them again. */
|
|
40
41
|
| ({
|
|
41
42
|
readonly name: 'upload';
|
|
42
|
-
readonly node:
|
|
43
|
+
readonly node: RedactedNode;
|
|
43
44
|
readonly paths: readonly string[];
|
|
44
45
|
} & Placement)
|
|
45
46
|
/** The dragged node with its placement, and where it was dropped, with its own. */
|
|
46
47
|
| ({
|
|
47
48
|
readonly name: 'drag';
|
|
48
|
-
readonly node:
|
|
49
|
+
readonly node: RedactedNode;
|
|
49
50
|
readonly destination: {
|
|
50
|
-
readonly node:
|
|
51
|
+
readonly node: RedactedNode;
|
|
51
52
|
} & Placement;
|
|
52
53
|
} & Placement) | ({
|
|
53
54
|
readonly name: 'scroll';
|
|
54
55
|
readonly direction: ScrollDirection;
|
|
55
|
-
readonly node?:
|
|
56
|
+
readonly node?: RedactedNode;
|
|
56
57
|
/** The share of the viewport the node covered when scrolled, 0 to 1 (`ScrollAction.spans`). */
|
|
57
58
|
readonly spans?: number;
|
|
58
59
|
} & Placement)
|
|
@@ -61,7 +62,7 @@ export type RecordableAction = ({
|
|
|
61
62
|
readonly name: 'scrollUntil';
|
|
62
63
|
readonly text: string;
|
|
63
64
|
readonly direction: ScrollDirection;
|
|
64
|
-
readonly node?:
|
|
65
|
+
readonly node?: RedactedNode;
|
|
65
66
|
readonly spans?: number;
|
|
66
67
|
/** How many pages it took; in the summary, never in the trace, since a replay pages for itself. */
|
|
67
68
|
readonly screens: number;
|
|
@@ -92,7 +93,7 @@ export type RecordableAction = ({
|
|
|
92
93
|
readonly name: PointActionName;
|
|
93
94
|
readonly point: ViewportPoint;
|
|
94
95
|
readonly viewport: ViewportSize;
|
|
95
|
-
readonly under?:
|
|
96
|
+
readonly under?: RedactedNode;
|
|
96
97
|
};
|
|
97
98
|
/** Where the node sat when it was acted on: its container's key and its place among identical twins. */
|
|
98
99
|
export interface Placement {
|
|
@@ -100,14 +101,17 @@ export interface Placement {
|
|
|
100
101
|
readonly position?: TracePosition;
|
|
101
102
|
}
|
|
102
103
|
/**
|
|
103
|
-
* The key of the nearest named container a node sits in
|
|
104
|
-
* its row or list item
|
|
105
|
-
* Ten rows each with a "Delete" button are ten
|
|
106
|
-
* in the row that starts with Budget draft" is
|
|
104
|
+
* The key of the nearest named container a node sits in, the first text of
|
|
105
|
+
* its row or list item or else the container's own label, when that key says
|
|
106
|
+
* more than the node's own name. Ten rows each with a "Delete" button are ten
|
|
107
|
+
* identical descriptors; "Delete in the row that starts with Budget draft" is
|
|
108
|
+
* one. A row whose only text is its own (`<li>Alpha <button><svg/></li>`)
|
|
109
|
+
* is keyed by it. Only the nearest container counts: the list around a row
|
|
110
|
+
* with no text names every row alike, so its key would tell no twin apart.
|
|
107
111
|
*/
|
|
108
|
-
export declare function containerKey(id: string, nodes: ReadonlyMap<string,
|
|
112
|
+
export declare function containerKey(id: string, nodes: ReadonlyMap<string, RedactedNode>, parents: ReadonlyMap<string, string>): string | undefined;
|
|
109
113
|
/** Parent id of every non-root node, derived from the tree the node map indexes. */
|
|
110
|
-
export declare function parentsOf(nodes: ReadonlyMap<string,
|
|
114
|
+
export declare function parentsOf(nodes: ReadonlyMap<string, RedactedNode>): ReadonlyMap<string, string>;
|
|
111
115
|
/** How one committed action reads back: where it acted, and what it did. */
|
|
112
116
|
export interface DescribedAction {
|
|
113
117
|
/**
|
|
@@ -124,14 +128,18 @@ export interface DescribedAction {
|
|
|
124
128
|
/** Where a drag was dropped, described like its target; only a drag has one. */
|
|
125
129
|
readonly destination?: TraceTargetDescriptor;
|
|
126
130
|
}
|
|
127
|
-
/**
|
|
128
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Describes one committed action for recording and for the live event. Its
|
|
133
|
+
* nodes pass the ledger again as it is now: a secret resolved after the
|
|
134
|
+
* capture (inside the action itself) masks what the capture still shows.
|
|
135
|
+
*/
|
|
136
|
+
export declare function describeAction(action: RecordableAction, redaction: NodeRedaction): DescribedAction;
|
|
129
137
|
/**
|
|
130
138
|
* Builds the durable descriptor for one resolved node: the semantic fields
|
|
131
139
|
* replay re-finds it by, plus the engine's structural selector hint (kept as
|
|
132
140
|
* provenance for tuned policies; the conservative relocator ignores it).
|
|
133
141
|
* Values a secure node holds are never part of it — descriptors carry how a
|
|
134
|
-
* node is named, not what it contains.
|
|
142
|
+
* node is named, not what it contains. The node was redacted with its
|
|
143
|
+
* observation (`redactNode`), each field in the one-line form read here too.
|
|
135
144
|
*/
|
|
136
|
-
export declare function describeTarget(node:
|
|
137
|
-
//# sourceMappingURL=actions.d.ts.map
|
|
145
|
+
export declare function describeTarget(node: RedactedNode): TraceTargetDescriptor | undefined;
|
package/dist/agent/actions.js
CHANGED
|
@@ -8,32 +8,33 @@
|
|
|
8
8
|
* the same descriptor projection. One owner for all three, so a recorded
|
|
9
9
|
* summary, a live event line, and a relocation candidate can never drift.
|
|
10
10
|
*/
|
|
11
|
+
import { redactNode } from './observation.js';
|
|
11
12
|
import { bound, isNodeAction, MAX_TRACE_DESCRIPTOR_CHARS, MAX_TRACE_SUMMARY_CHARS, } from '../cache/trace.js';
|
|
12
13
|
import { sanitizeText } from '../internal/errors.js';
|
|
13
|
-
import {
|
|
14
|
+
import { collapseText } from '../internal/text.js';
|
|
14
15
|
/** Roles whose first text names the thing a control belongs to: a row's key, a list item's title. */
|
|
15
16
|
const CONTAINER_ROLES = new Set(['row', 'listitem', 'article', 'group', 'region', 'dialog', 'tabpanel']);
|
|
16
17
|
/** Longest container key kept. */
|
|
17
18
|
const MAX_WITHIN_CHARS = 80;
|
|
18
19
|
/**
|
|
19
|
-
* The key of the nearest named container a node sits in
|
|
20
|
-
* its row or list item
|
|
21
|
-
* Ten rows each with a "Delete" button are ten
|
|
22
|
-
* in the row that starts with Budget draft" is
|
|
20
|
+
* The key of the nearest named container a node sits in, the first text of
|
|
21
|
+
* its row or list item or else the container's own label, when that key says
|
|
22
|
+
* more than the node's own name. Ten rows each with a "Delete" button are ten
|
|
23
|
+
* identical descriptors; "Delete in the row that starts with Budget draft" is
|
|
24
|
+
* one. A row whose only text is its own (`<li>Alpha <button><svg/></li>`)
|
|
25
|
+
* is keyed by it. Only the nearest container counts: the list around a row
|
|
26
|
+
* with no text names every row alike, so its key would tell no twin apart.
|
|
23
27
|
*/
|
|
24
|
-
export function containerKey(id, nodes, parents
|
|
28
|
+
export function containerKey(id, nodes, parents) {
|
|
25
29
|
const node = nodes.get(id);
|
|
26
30
|
const own = node === undefined ? '' : squash(node.name ?? node.text ?? '');
|
|
27
31
|
let cursor = parents.get(id);
|
|
28
32
|
while (cursor !== undefined) {
|
|
29
33
|
const container = nodes.get(cursor);
|
|
30
34
|
if (container !== undefined && CONTAINER_ROLES.has(container.role ?? '')) {
|
|
31
|
-
const key = firstLeafText(container);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return clean === '' || squash(clean) === own ? undefined : clean;
|
|
35
|
-
}
|
|
36
|
-
return undefined;
|
|
35
|
+
const key = firstLeafText(container) ?? ownLabel(container);
|
|
36
|
+
const clean = key === undefined ? '' : bound(collapseText(key), MAX_WITHIN_CHARS);
|
|
37
|
+
return clean === '' || squash(clean) === own ? undefined : clean;
|
|
37
38
|
}
|
|
38
39
|
cursor = parents.get(cursor);
|
|
39
40
|
}
|
|
@@ -60,6 +61,11 @@ function firstLeafText(node) {
|
|
|
60
61
|
}
|
|
61
62
|
return undefined;
|
|
62
63
|
}
|
|
64
|
+
/** A container's own name or text, when it has one. */
|
|
65
|
+
function ownLabel(node) {
|
|
66
|
+
const label = (node.name ?? node.text ?? '').trim();
|
|
67
|
+
return label === '' ? undefined : label;
|
|
68
|
+
}
|
|
63
69
|
function squash(text) {
|
|
64
70
|
return text.replace(/\s+/g, ' ').trim().toLowerCase();
|
|
65
71
|
}
|
|
@@ -74,16 +80,20 @@ const NODE_ACTION_PROSE = {
|
|
|
74
80
|
};
|
|
75
81
|
/** How each point verb reads: `tap the point (x, y)`, `hover over the point (x, y)`. */
|
|
76
82
|
const POINT_ACTION_PROSE = { tapAt: 'tap', hoverAt: 'hover over' };
|
|
77
|
-
/**
|
|
78
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Describes one committed action for recording and for the live event. Its
|
|
85
|
+
* nodes pass the ledger again as it is now: a secret resolved after the
|
|
86
|
+
* capture (inside the action itself) masks what the capture still shows.
|
|
87
|
+
*/
|
|
88
|
+
export function describeAction(action, redaction) {
|
|
79
89
|
const target = 'node' in action
|
|
80
|
-
? describePlaced(action.node, action,
|
|
90
|
+
? describePlaced(action.node, action, redaction)
|
|
81
91
|
: 'point' in action
|
|
82
|
-
? describePlaced(action.under, {},
|
|
92
|
+
? describePlaced(action.under, {}, redaction)
|
|
83
93
|
: undefined;
|
|
84
|
-
const destination = action.name === 'drag' ? describePlaced(action.destination.node, action.destination,
|
|
94
|
+
const destination = action.name === 'drag' ? describePlaced(action.destination.node, action.destination, redaction) : undefined;
|
|
85
95
|
const where = describeForSummary(target);
|
|
86
|
-
const safe = (value) => quote(redact(sanitizeText(value)));
|
|
96
|
+
const safe = (value) => quote(redaction.redact(sanitizeText(value)));
|
|
87
97
|
const prose = (() => {
|
|
88
98
|
if (isNodeAction(action))
|
|
89
99
|
return NODE_ACTION_PROSE[action.name](where);
|
|
@@ -134,13 +144,16 @@ export function describeAction(action, redact) {
|
|
|
134
144
|
};
|
|
135
145
|
}
|
|
136
146
|
/** A node's durable descriptor with the placement it was acted on in; undefined for no node or nothing durable. */
|
|
137
|
-
function describePlaced(node, placement,
|
|
138
|
-
|
|
147
|
+
function describePlaced(node, placement, redaction) {
|
|
148
|
+
if (node === undefined)
|
|
149
|
+
return undefined;
|
|
150
|
+
const { children: _children, ...fields } = node;
|
|
151
|
+
const described = describeTarget(redactNode(fields, redaction));
|
|
139
152
|
if (described === undefined)
|
|
140
153
|
return undefined;
|
|
141
154
|
return {
|
|
142
155
|
...described,
|
|
143
|
-
...(placement.within === undefined ? {} : { within: bound(placement.within, MAX_WITHIN_CHARS) }),
|
|
156
|
+
...(placement.within === undefined ? {} : { within: bound(redaction.redact(placement.within), MAX_WITHIN_CHARS) }),
|
|
144
157
|
...(placement.position === undefined ? {} : { position: placement.position }),
|
|
145
158
|
};
|
|
146
159
|
}
|
|
@@ -149,13 +162,14 @@ function describePlaced(node, placement, redact) {
|
|
|
149
162
|
* replay re-finds it by, plus the engine's structural selector hint (kept as
|
|
150
163
|
* provenance for tuned policies; the conservative relocator ignores it).
|
|
151
164
|
* Values a secure node holds are never part of it — descriptors carry how a
|
|
152
|
-
* node is named, not what it contains.
|
|
165
|
+
* node is named, not what it contains. The node was redacted with its
|
|
166
|
+
* observation (`redactNode`), each field in the one-line form read here too.
|
|
153
167
|
*/
|
|
154
|
-
export function describeTarget(node
|
|
168
|
+
export function describeTarget(node) {
|
|
155
169
|
const field = (value) => {
|
|
156
170
|
if (value === undefined)
|
|
157
171
|
return undefined;
|
|
158
|
-
const collapsed =
|
|
172
|
+
const collapsed = collapseText(value);
|
|
159
173
|
return collapsed === '' ? undefined : bound(collapsed, MAX_TRACE_DESCRIPTOR_CHARS);
|
|
160
174
|
};
|
|
161
175
|
const role = field(node.role);
|
|
@@ -193,4 +207,3 @@ function describeWhere(target) {
|
|
|
193
207
|
function quote(value) {
|
|
194
208
|
return JSON.stringify(bound(value, 40));
|
|
195
209
|
}
|
|
196
|
-
//# sourceMappingURL=actions.js.map
|
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
package/dist/agent/error.js
CHANGED
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
|