@reticlehq/server 2.1.0 → 2.2.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/LICENSE-ENTERPRISE +37 -0
- package/README.md +5 -1
- package/dist/bridge-security.d.ts +1 -1
- package/dist/bridge-security.js +1 -1
- package/dist/bridge.d.ts +7 -0
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +22 -3
- package/dist/bridge.js.map +1 -1
- package/dist/bridge.test-harness.d.ts +5 -0
- package/dist/bridge.test-harness.d.ts.map +1 -1
- package/dist/bridge.test-harness.js +4 -0
- package/dist/bridge.test-harness.js.map +1 -1
- package/dist/capsule/capsule-store.d.ts +66 -0
- package/dist/capsule/capsule-store.d.ts.map +1 -0
- package/dist/capsule/capsule-store.js +110 -0
- package/dist/capsule/capsule-store.js.map +1 -0
- package/dist/capsule/capsule.d.ts +19 -0
- package/dist/capsule/capsule.d.ts.map +1 -0
- package/dist/capsule/capsule.js +36 -0
- package/dist/capsule/capsule.js.map +1 -0
- package/dist/capsule/causal-summary.d.ts +36 -0
- package/dist/capsule/causal-summary.d.ts.map +1 -0
- package/dist/capsule/causal-summary.js +111 -0
- package/dist/capsule/causal-summary.js.map +1 -0
- package/dist/capsule/divergence.d.ts +31 -0
- package/dist/capsule/divergence.d.ts.map +1 -0
- package/dist/capsule/divergence.js +41 -0
- package/dist/capsule/divergence.js.map +1 -0
- package/dist/capsule/minimize.d.ts +13 -0
- package/dist/capsule/minimize.d.ts.map +1 -0
- package/dist/capsule/minimize.js +23 -0
- package/dist/capsule/minimize.js.map +1 -0
- package/dist/capsule/predicate-to-links.d.ts +9 -0
- package/dist/capsule/predicate-to-links.d.ts.map +1 -0
- package/dist/capsule/predicate-to-links.js +31 -0
- package/dist/capsule/predicate-to-links.js.map +1 -0
- package/dist/cli-flow-commands.d.ts +31 -0
- package/dist/cli-flow-commands.d.ts.map +1 -0
- package/dist/cli-flow-commands.js +207 -0
- package/dist/cli-flow-commands.js.map +1 -0
- package/dist/cli-parse.d.ts +18 -2
- package/dist/cli-parse.d.ts.map +1 -1
- package/dist/cli-parse.js +57 -0
- package/dist/cli-parse.js.map +1 -1
- package/dist/cli-port.d.ts +10 -4
- package/dist/cli-port.d.ts.map +1 -1
- package/dist/cli-port.js +32 -6
- package/dist/cli-port.js.map +1 -1
- package/dist/cli-verify.d.ts.map +1 -1
- package/dist/cli-verify.js +29 -10
- package/dist/cli-verify.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +81 -2
- package/dist/cli.js.map +1 -1
- package/dist/crawl/crawl-tools.d.ts.map +1 -1
- package/dist/crawl/crawl-tools.js +12 -0
- package/dist/crawl/crawl-tools.js.map +1 -1
- package/dist/crawl/crawl.d.ts +23 -1
- package/dist/crawl/crawl.d.ts.map +1 -1
- package/dist/crawl/crawl.js +36 -9
- package/dist/crawl/crawl.js.map +1 -1
- package/dist/daemon-resilience.d.ts +5 -5
- package/dist/daemon-resilience.js +5 -5
- package/dist/daemon.d.ts +1 -1
- package/dist/daemon.js +1 -1
- package/dist/domain/domain-tools.d.ts.map +1 -1
- package/dist/domain/domain-tools.js +11 -1
- package/dist/domain/domain-tools.js.map +1 -1
- package/dist/domain/flow-risk.d.ts +4 -4
- package/dist/domain/flow-risk.js +4 -4
- package/dist/ee/audit-log.d.ts +2 -2
- package/dist/ee/audit-log.js +2 -2
- package/dist/events/event-filters.d.ts +29 -1
- package/dist/events/event-filters.d.ts.map +1 -1
- package/dist/events/event-filters.js +75 -1
- package/dist/events/event-filters.js.map +1 -1
- package/dist/events/predicate-eval.d.ts +15 -0
- package/dist/events/predicate-eval.d.ts.map +1 -1
- package/dist/events/predicate-eval.js +97 -18
- package/dist/events/predicate-eval.js.map +1 -1
- package/dist/events/predicate.d.ts +22 -1
- package/dist/events/predicate.d.ts.map +1 -1
- package/dist/events/predicate.js +154 -20
- package/dist/events/predicate.js.map +1 -1
- package/dist/events/ring-buffer.d.ts +3 -3
- package/dist/events/ring-buffer.d.ts.map +1 -1
- package/dist/events/ring-buffer.js +54 -8
- package/dist/events/ring-buffer.js.map +1 -1
- package/dist/flows/affected.d.ts +25 -0
- package/dist/flows/affected.d.ts.map +1 -0
- package/dist/flows/affected.js +36 -0
- package/dist/flows/affected.js.map +1 -0
- package/dist/flows/annotate.d.ts +4 -4
- package/dist/flows/annotate.js +4 -4
- package/dist/flows/assertion-integrity.d.ts +24 -0
- package/dist/flows/assertion-integrity.d.ts.map +1 -0
- package/dist/flows/assertion-integrity.js +27 -0
- package/dist/flows/assertion-integrity.js.map +1 -0
- package/dist/flows/assertion-tiers-store.d.ts +80 -0
- package/dist/flows/assertion-tiers-store.d.ts.map +1 -0
- package/dist/flows/assertion-tiers-store.js +99 -0
- package/dist/flows/assertion-tiers-store.js.map +1 -0
- package/dist/flows/buddy-status.d.ts +25 -0
- package/dist/flows/buddy-status.d.ts.map +1 -0
- package/dist/flows/buddy-status.js +33 -0
- package/dist/flows/buddy-status.js.map +1 -0
- package/dist/flows/coverage.d.ts +28 -0
- package/dist/flows/coverage.d.ts.map +1 -0
- package/dist/flows/coverage.js +22 -0
- package/dist/flows/coverage.js.map +1 -0
- package/dist/flows/decision.d.ts.map +1 -1
- package/dist/flows/decision.js +16 -8
- package/dist/flows/decision.js.map +1 -1
- package/dist/flows/flake-store.d.ts +20 -0
- package/dist/flows/flake-store.d.ts.map +1 -0
- package/dist/flows/flake-store.js +59 -0
- package/dist/flows/flake-store.js.map +1 -0
- package/dist/flows/flake.d.ts +58 -0
- package/dist/flows/flake.d.ts.map +1 -0
- package/dist/flows/flake.js +36 -0
- package/dist/flows/flake.js.map +1 -0
- package/dist/flows/flow-classify.d.ts +8 -8
- package/dist/flows/flow-classify.js +8 -8
- package/dist/flows/flow-replay-run.d.ts.map +1 -1
- package/dist/flows/flow-replay-run.js +36 -0
- package/dist/flows/flow-replay-run.js.map +1 -1
- package/dist/flows/flow-replay.d.ts +9 -0
- package/dist/flows/flow-replay.d.ts.map +1 -1
- package/dist/flows/flow-replay.js +48 -13
- package/dist/flows/flow-replay.js.map +1 -1
- package/dist/flows/flow-report.d.ts +4 -4
- package/dist/flows/flow-sources.d.ts +20 -0
- package/dist/flows/flow-sources.d.ts.map +1 -0
- package/dist/flows/flow-sources.js +33 -0
- package/dist/flows/flow-sources.js.map +1 -0
- package/dist/flows/flow-tools.d.ts +13 -1
- package/dist/flows/flow-tools.d.ts.map +1 -1
- package/dist/flows/flow-tools.js +92 -5
- package/dist/flows/flow-tools.js.map +1 -1
- package/dist/flows/flows.d.ts +9 -4
- package/dist/flows/flows.d.ts.map +1 -1
- package/dist/flows/flows.js +38 -21
- package/dist/flows/flows.js.map +1 -1
- package/dist/flows/gate.d.ts +39 -0
- package/dist/flows/gate.d.ts.map +1 -0
- package/dist/flows/gate.js +34 -0
- package/dist/flows/gate.js.map +1 -0
- package/dist/flows/git-changed.d.ts +9 -0
- package/dist/flows/git-changed.d.ts.map +1 -0
- package/dist/flows/git-changed.js +25 -0
- package/dist/flows/git-changed.js.map +1 -0
- package/dist/flows/heal-run.d.ts +1 -1
- package/dist/flows/heal-run.js +1 -1
- package/dist/flows/parallel-suite.d.ts +27 -0
- package/dist/flows/parallel-suite.d.ts.map +1 -0
- package/dist/flows/parallel-suite.js +51 -0
- package/dist/flows/parallel-suite.js.map +1 -0
- package/dist/flows/replay.d.ts.map +1 -1
- package/dist/flows/replay.js +33 -11
- package/dist/flows/replay.js.map +1 -1
- package/dist/flows/watch-batcher.d.ts +18 -0
- package/dist/flows/watch-batcher.d.ts.map +1 -0
- package/dist/flows/watch-batcher.js +20 -0
- package/dist/flows/watch-batcher.js.map +1 -0
- package/dist/honesty/blind-spots.d.ts +37 -0
- package/dist/honesty/blind-spots.d.ts.map +1 -0
- package/dist/honesty/blind-spots.js +57 -0
- package/dist/honesty/blind-spots.js.map +1 -0
- package/dist/honesty/honesty.d.ts +57 -0
- package/dist/honesty/honesty.d.ts.map +1 -0
- package/dist/honesty/honesty.js +63 -0
- package/dist/honesty/honesty.js.map +1 -0
- package/dist/http-server.d.ts +5 -5
- package/dist/http-server.js +4 -4
- package/dist/idle-shutdown.d.ts +2 -2
- package/dist/idle-shutdown.js +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -13
- package/dist/index.js.map +1 -1
- package/dist/init/agent-rules.d.ts +38 -0
- package/dist/init/agent-rules.d.ts.map +1 -0
- package/dist/init/agent-rules.js +65 -0
- package/dist/init/agent-rules.js.map +1 -0
- package/dist/init/plan.d.ts +6 -0
- package/dist/init/plan.d.ts.map +1 -1
- package/dist/init/plan.js +79 -3
- package/dist/init/plan.js.map +1 -1
- package/dist/init/run.d.ts.map +1 -1
- package/dist/init/run.js +4 -0
- package/dist/init/run.js.map +1 -1
- package/dist/init/snippets.js +1 -1
- package/dist/init/vite-config.d.ts +1 -1
- package/dist/init/vite-config.js +2 -2
- package/dist/init/vite-config.js.map +1 -1
- package/dist/input/network-detail.d.ts +74 -0
- package/dist/input/network-detail.d.ts.map +1 -0
- package/dist/input/network-detail.js +160 -0
- package/dist/input/network-detail.js.map +1 -0
- package/dist/input/network-mock.d.ts +4 -4
- package/dist/input/real-input.d.ts +44 -11
- package/dist/input/real-input.d.ts.map +1 -1
- package/dist/input/real-input.js +57 -9
- package/dist/input/real-input.js.map +1 -1
- package/dist/journal/ambient-store.d.ts +16 -0
- package/dist/journal/ambient-store.d.ts.map +1 -0
- package/dist/journal/ambient-store.js +46 -0
- package/dist/journal/ambient-store.js.map +1 -0
- package/dist/journal/ambient.d.ts +48 -0
- package/dist/journal/ambient.d.ts.map +1 -0
- package/dist/journal/ambient.js +48 -0
- package/dist/journal/ambient.js.map +1 -0
- package/dist/journal/attach-journal.d.ts +22 -0
- package/dist/journal/attach-journal.d.ts.map +1 -0
- package/dist/journal/attach-journal.js +20 -0
- package/dist/journal/attach-journal.js.map +1 -0
- package/dist/journal/deviation-report.d.ts +28 -0
- package/dist/journal/deviation-report.d.ts.map +1 -0
- package/dist/journal/deviation-report.js +54 -0
- package/dist/journal/deviation-report.js.map +1 -0
- package/dist/journal/deviation-service.d.ts +12 -0
- package/dist/journal/deviation-service.d.ts.map +1 -0
- package/dist/journal/deviation-service.js +32 -0
- package/dist/journal/deviation-service.js.map +1 -0
- package/dist/journal/envelope-store.d.ts +19 -0
- package/dist/journal/envelope-store.d.ts.map +1 -0
- package/dist/journal/envelope-store.js +62 -0
- package/dist/journal/envelope-store.js.map +1 -0
- package/dist/journal/envelope.d.ts +232 -0
- package/dist/journal/envelope.d.ts.map +1 -0
- package/dist/journal/envelope.js +94 -0
- package/dist/journal/envelope.js.map +1 -0
- package/dist/journal/journal-query.d.ts +20 -0
- package/dist/journal/journal-query.d.ts.map +1 -0
- package/dist/journal/journal-query.js +28 -0
- package/dist/journal/journal-query.js.map +1 -0
- package/dist/journal/journal-recorder.d.ts +38 -0
- package/dist/journal/journal-recorder.d.ts.map +1 -0
- package/dist/journal/journal-recorder.js +81 -0
- package/dist/journal/journal-recorder.js.map +1 -0
- package/dist/journal/retention.d.ts +21 -0
- package/dist/journal/retention.d.ts.map +1 -0
- package/dist/journal/retention.js +50 -0
- package/dist/journal/retention.js.map +1 -0
- package/dist/journal/rollups.d.ts +49 -0
- package/dist/journal/rollups.d.ts.map +1 -0
- package/dist/journal/rollups.js +83 -0
- package/dist/journal/rollups.js.map +1 -0
- package/dist/journal/session-end.d.ts +32 -0
- package/dist/journal/session-end.d.ts.map +1 -0
- package/dist/journal/session-end.js +52 -0
- package/dist/journal/session-end.js.map +1 -0
- package/dist/journal/session-journal.d.ts +25 -0
- package/dist/journal/session-journal.d.ts.map +1 -0
- package/dist/journal/session-journal.js +168 -0
- package/dist/journal/session-journal.js.map +1 -0
- package/dist/license/license.d.ts +8 -3
- package/dist/license/license.d.ts.map +1 -1
- package/dist/license/license.js +34 -11
- package/dist/license/license.js.map +1 -1
- package/dist/mcp-proxy.d.ts +20 -0
- package/dist/mcp-proxy.d.ts.map +1 -1
- package/dist/mcp-proxy.js +45 -27
- package/dist/mcp-proxy.js.map +1 -1
- package/dist/mcp.d.ts +14 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +79 -9
- package/dist/mcp.js.map +1 -1
- package/dist/oracles/flow-instrument-gaps.d.ts +19 -0
- package/dist/oracles/flow-instrument-gaps.d.ts.map +1 -0
- package/dist/oracles/flow-instrument-gaps.js +45 -0
- package/dist/oracles/flow-instrument-gaps.js.map +1 -0
- package/dist/oracles/propose-consequences.d.ts +22 -0
- package/dist/oracles/propose-consequences.d.ts.map +1 -0
- package/dist/oracles/propose-consequences.js +93 -0
- package/dist/oracles/propose-consequences.js.map +1 -0
- package/dist/oracles/self-instrument.d.ts +32 -0
- package/dist/oracles/self-instrument.d.ts.map +1 -0
- package/dist/oracles/self-instrument.js +44 -0
- package/dist/oracles/self-instrument.js.map +1 -0
- package/dist/pairing-token.d.ts +1 -1
- package/dist/phenomena/phenomena.d.ts +27 -0
- package/dist/phenomena/phenomena.d.ts.map +1 -0
- package/dist/phenomena/phenomena.js +102 -0
- package/dist/phenomena/phenomena.js.map +1 -0
- package/dist/pool/browser-pool.d.ts +5 -3
- package/dist/pool/browser-pool.d.ts.map +1 -1
- package/dist/pool/browser-pool.js +21 -3
- package/dist/pool/browser-pool.js.map +1 -1
- package/dist/pool/playwright-launcher.d.ts.map +1 -1
- package/dist/pool/playwright-launcher.js +9 -2
- package/dist/pool/playwright-launcher.js.map +1 -1
- package/dist/project/file-lock.d.ts +2 -0
- package/dist/project/file-lock.d.ts.map +1 -0
- package/dist/project/file-lock.js +24 -0
- package/dist/project/file-lock.js.map +1 -0
- package/dist/project/fs-port.d.ts +18 -0
- package/dist/project/fs-port.d.ts.map +1 -1
- package/dist/project/fs-port.js +24 -2
- package/dist/project/fs-port.js.map +1 -1
- package/dist/project/project-store.d.ts.map +1 -1
- package/dist/project/project-store.js +13 -7
- package/dist/project/project-store.js.map +1 -1
- package/dist/project/project-tools.d.ts +0 -6
- package/dist/project/project-tools.d.ts.map +1 -1
- package/dist/project/project-tools.js +24 -1
- package/dist/project/project-tools.js.map +1 -1
- package/dist/project/reticle-dir.d.ts +39 -14
- package/dist/project/reticle-dir.d.ts.map +1 -1
- package/dist/project/reticle-dir.js +30 -4
- package/dist/project/reticle-dir.js.map +1 -1
- package/dist/runs/build-verification-run.d.ts +1 -1
- package/dist/runs/build-verification-run.js +1 -1
- package/dist/runs/repair-prompt.d.ts +2 -0
- package/dist/runs/repair-prompt.d.ts.map +1 -1
- package/dist/runs/repair-prompt.js +14 -1
- package/dist/runs/repair-prompt.js.map +1 -1
- package/dist/runs/reticle-runner.d.ts +1 -1
- package/dist/runs/reticle-runner.d.ts.map +1 -1
- package/dist/runs/run-diff.d.ts +34 -0
- package/dist/runs/run-diff.d.ts.map +1 -0
- package/dist/runs/run-diff.js +71 -0
- package/dist/runs/run-diff.js.map +1 -0
- package/dist/runs/run-store.d.ts +6 -1
- package/dist/runs/run-store.d.ts.map +1 -1
- package/dist/runs/run-store.js +22 -2
- package/dist/runs/run-store.js.map +1 -1
- package/dist/runs/run-tools.d.ts.map +1 -1
- package/dist/runs/run-tools.js +16 -3
- package/dist/runs/run-tools.js.map +1 -1
- package/dist/runs/verify-server.js +1 -1
- package/dist/runs/verify-server.js.map +1 -1
- package/dist/session/control-envelope.d.ts +9 -1
- package/dist/session/control-envelope.d.ts.map +1 -1
- package/dist/session/control-envelope.js +13 -1
- package/dist/session/control-envelope.js.map +1 -1
- package/dist/session/live-control-tools.d.ts +1 -1
- package/dist/session/live-control-tools.js +1 -1
- package/dist/session/live-control.d.ts +38 -0
- package/dist/session/live-control.d.ts.map +1 -0
- package/dist/session/live-control.js +64 -0
- package/dist/session/live-control.js.map +1 -0
- package/dist/session/observed-state.d.ts +46 -0
- package/dist/session/observed-state.d.ts.map +1 -0
- package/dist/session/observed-state.js +76 -0
- package/dist/session/observed-state.js.map +1 -0
- package/dist/session/output-budget.d.ts +9 -0
- package/dist/session/output-budget.d.ts.map +1 -1
- package/dist/session/output-budget.js +9 -0
- package/dist/session/output-budget.js.map +1 -1
- package/dist/session/review-store.d.ts +1 -1
- package/dist/session/review-store.d.ts.map +1 -1
- package/dist/session/review-store.js +2 -2
- package/dist/session/review-store.js.map +1 -1
- package/dist/session/session-manager.d.ts +9 -7
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +8 -8
- package/dist/session/session-manager.js.map +1 -1
- package/dist/session/session-readiness.js +1 -1
- package/dist/session/session-readiness.js.map +1 -1
- package/dist/session/session-reaper.d.ts +1 -1
- package/dist/session/session-reaper.js +1 -1
- package/dist/session/session-recommendation.d.ts +1 -1
- package/dist/session/session-recommendation.js +1 -1
- package/dist/session/session-tools.js +1 -1
- package/dist/session/session-tools.js.map +1 -1
- package/dist/session/session.d.ts +43 -11
- package/dist/session/session.d.ts.map +1 -1
- package/dist/session/session.js +115 -46
- package/dist/session/session.js.map +1 -1
- package/dist/tools/act-tools.d.ts.map +1 -1
- package/dist/tools/act-tools.js +252 -70
- package/dist/tools/act-tools.js.map +1 -1
- package/dist/tools/act-view.d.ts +4 -4
- package/dist/tools/act-view.js +4 -4
- package/dist/tools/browser-tools.d.ts.map +1 -1
- package/dist/tools/browser-tools.js +32 -8
- package/dist/tools/browser-tools.js.map +1 -1
- package/dist/tools/contract-tools.d.ts.map +1 -1
- package/dist/tools/contract-tools.js +5 -0
- package/dist/tools/contract-tools.js.map +1 -1
- package/dist/tools/dynamic-tools.d.ts.map +1 -1
- package/dist/tools/dynamic-tools.js +7 -6
- package/dist/tools/dynamic-tools.js.map +1 -1
- package/dist/tools/invoke-tool.d.ts.map +1 -1
- package/dist/tools/invoke-tool.js +32 -29
- package/dist/tools/invoke-tool.js.map +1 -1
- package/dist/tools/lease-tools.d.ts +16 -0
- package/dist/tools/lease-tools.d.ts.map +1 -1
- package/dist/tools/lease-tools.js +11 -0
- package/dist/tools/lease-tools.js.map +1 -1
- package/dist/tools/merge-tools.d.ts +43 -0
- package/dist/tools/merge-tools.d.ts.map +1 -0
- package/dist/tools/merge-tools.js +66 -0
- package/dist/tools/merge-tools.js.map +1 -0
- package/dist/tools/observe-tools.d.ts.map +1 -1
- package/dist/tools/observe-tools.js +172 -29
- package/dist/tools/observe-tools.js.map +1 -1
- package/dist/tools/profiles.d.ts +18 -13
- package/dist/tools/profiles.d.ts.map +1 -1
- package/dist/tools/profiles.js +39 -33
- package/dist/tools/profiles.js.map +1 -1
- package/dist/tools/query-paginate.d.ts +9 -2
- package/dist/tools/query-paginate.d.ts.map +1 -1
- package/dist/tools/query-paginate.js +21 -4
- package/dist/tools/query-paginate.js.map +1 -1
- package/dist/tools/read-tools.d.ts.map +1 -1
- package/dist/tools/read-tools.js +30 -1
- package/dist/tools/read-tools.js.map +1 -1
- package/dist/tools/snapshot-delta.d.ts +2 -0
- package/dist/tools/snapshot-delta.d.ts.map +1 -1
- package/dist/tools/snapshot-delta.js +0 -0
- package/dist/tools/snapshot-delta.js.map +1 -1
- package/dist/tools/tool-kit.d.ts +3 -2
- package/dist/tools/tool-kit.d.ts.map +1 -1
- package/dist/tools/tool-kit.js +11 -1
- package/dist/tools/tool-kit.js.map +1 -1
- package/dist/tools/tool-names.d.ts +18 -10
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +22 -13
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/tools-helpers.d.ts +12 -0
- package/dist/tools/tools-helpers.d.ts.map +1 -1
- package/dist/tools/tools-helpers.js +20 -0
- package/dist/tools/tools-helpers.js.map +1 -1
- package/dist/tools/tools.d.ts.map +1 -1
- package/dist/tools/tools.js +162 -12
- package/dist/tools/tools.js.map +1 -1
- package/dist/update/updater.d.ts +1 -1
- package/dist/update/updater.js +2 -2
- package/dist/update/updater.js.map +1 -1
- package/package.json +8 -3
- package/dist/update/update-tools.d.ts +0 -3
- package/dist/update/update-tools.d.ts.map +0 -1
- package/dist/update/update-tools.js +0 -94
- package/dist/update/update-tools.js.map +0 -1
package/dist/tools/act-tools.js
CHANGED
|
@@ -1,20 +1,36 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Action tools — reticle_act, reticle_act_sequence, reticle_act_and_wait — plus the native-input machinery
|
|
3
3
|
* (asBox / tryRealInput). Split out of tools.ts to keep that file under the line cap; assembled back
|
|
4
|
-
* into the tool list there via
|
|
4
|
+
* into the tool list there via...ACT_TOOLS.
|
|
5
5
|
*/
|
|
6
6
|
import { z } from 'zod';
|
|
7
7
|
import { compileActStep, compileSequenceStep } from '../flows/replay.js';
|
|
8
|
-
import { ActionType, ActionWarning, DANGEROUS_ACTION_CONFIRM_ARG, InputMode, InputModeReason, ReticleCommand, isDangerousActionText, } from '@reticlehq/core';
|
|
8
|
+
import { ActionType, ActionWarning, AnchorKind, DANGEROUS_ACTION_CONFIRM_ARG, DEFAULT_ASSERT_TIMEOUT_MS, InputMode, InputModeReason, ReticleCommand, isDangerousActionText, } from '@reticlehq/core';
|
|
9
9
|
import { isPointerAction } from '../input/real-input.js';
|
|
10
10
|
import { leanActResult } from './act-view.js';
|
|
11
11
|
import { ReticleTool } from './tool-names.js';
|
|
12
12
|
import { buildReactionReport, summarizeReaction } from '../events/reaction.js';
|
|
13
|
-
import {
|
|
13
|
+
import { causalSummary } from '../capsule/causal-summary.js';
|
|
14
|
+
import { buildDivergenceCapsule } from '../capsule/capsule.js';
|
|
15
|
+
import { predicateToExpectedLinks } from '../capsule/predicate-to-links.js';
|
|
16
|
+
import { HonestyGrade, buildHonestyBlock } from '../honesty/honesty.js';
|
|
17
|
+
import { buildCoverageStatement, blindSpotsFromState } from '../honesty/blind-spots.js';
|
|
18
|
+
import { CapsuleStore, capsuleId } from '../capsule/capsule-store.js';
|
|
19
|
+
import { evaluatePredicate, waitForPredicate, provenExpectedLinks, PredicateSchema, } from '../events/predicate.js';
|
|
14
20
|
import { healthEnvelope, refuseIfThrottled } from '../session/session-health.js';
|
|
15
|
-
import { pausedShortCircuit, withControl } from '../session/control-envelope.js';
|
|
16
|
-
import { asString, asNumber, asRecord } from './tools-helpers.js';
|
|
21
|
+
import { pausedShortCircuit, pausedOutputShape, withControl } from '../session/control-envelope.js';
|
|
22
|
+
import { asString, asNumber, asRecord, sourceOf } from './tools-helpers.js';
|
|
17
23
|
import { sessionIdShape, commandOrThrow } from './tool-kit.js';
|
|
24
|
+
/** The strongest consequence grade a set of expected links proves (signal > net > state > presence). */
|
|
25
|
+
function gradeOf(links) {
|
|
26
|
+
if (links.some((l) => l.kind === 'signal'))
|
|
27
|
+
return HonestyGrade.SIGNAL;
|
|
28
|
+
if (links.some((l) => l.kind === 'net'))
|
|
29
|
+
return HonestyGrade.NET;
|
|
30
|
+
if (links.some((l) => l.kind === 'state'))
|
|
31
|
+
return HonestyGrade.STATE;
|
|
32
|
+
return HonestyGrade.PRESENCE;
|
|
33
|
+
}
|
|
18
34
|
/** Narrow an INSPECT result's `box` into a positive-area ElementBox (else undefined). */
|
|
19
35
|
function asBox(value) {
|
|
20
36
|
const b = asRecord(asRecord(value)['box']);
|
|
@@ -117,6 +133,20 @@ async function tryRealInput(deps, session, ref, action, args) {
|
|
|
117
133
|
};
|
|
118
134
|
}
|
|
119
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Narrow the wire's `action` to a real ActionType, or undefined.
|
|
138
|
+
*
|
|
139
|
+
* It used to be `asString(args['action']) ?? ''`, so an unknown or missing action became the empty
|
|
140
|
+
* string and travelled on — reaching the browser as a command it could not perform, and reported back
|
|
141
|
+
* as a generic failure rather than "that is not an action". Validate at the boundary, per the project's
|
|
142
|
+
* unknown-plus-narrowing rule, so a typo is rejected where it can still be explained.
|
|
143
|
+
*/
|
|
144
|
+
function asActionType(value) {
|
|
145
|
+
const raw = asString(value);
|
|
146
|
+
if (raw === undefined)
|
|
147
|
+
return undefined;
|
|
148
|
+
return Object.values(ActionType).includes(raw) ? raw : undefined;
|
|
149
|
+
}
|
|
120
150
|
export const ACT_TOOLS = [
|
|
121
151
|
{
|
|
122
152
|
name: ReticleTool.ACT,
|
|
@@ -152,8 +182,17 @@ export const ACT_TOOLS = [
|
|
|
152
182
|
session: z
|
|
153
183
|
.object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
|
|
154
184
|
.optional(),
|
|
185
|
+
// This tool short-circuits to pausedShortCircuit while the human has paused; declare its fields
|
|
186
|
+
// or the whole pause payload — including drained-once guidance — is stripped on validating clients.
|
|
187
|
+
...pausedOutputShape,
|
|
155
188
|
},
|
|
156
189
|
handler: async (deps, args) => {
|
|
190
|
+
// Validate the REQUEST before touching a session: a malformed action is the caller's error and
|
|
191
|
+
// should be reported as such, not after resolving a session and marking an act cursor.
|
|
192
|
+
const action = asActionType(args['action']);
|
|
193
|
+
if (action === undefined) {
|
|
194
|
+
throw new Error(`unknown action '${String(args['action'])}' — expected one of: ${Object.values(ActionType).join(', ')}`);
|
|
195
|
+
}
|
|
157
196
|
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
158
197
|
// Live-control: refuse to drive the page while the human has paused us (before any work).
|
|
159
198
|
const paused = pausedShortCircuit(session);
|
|
@@ -163,47 +202,64 @@ export const ACT_TOOLS = [
|
|
|
163
202
|
const since = session.elapsed();
|
|
164
203
|
session.markActCursor(since); // honesty: wait_for/assert default their floor to this cursor
|
|
165
204
|
const ref = asString(args['ref']) ?? '';
|
|
166
|
-
|
|
167
|
-
//
|
|
168
|
-
|
|
169
|
-
|
|
205
|
+
// Open the journal's action-attribution window BEFORE dispatching, so it covers the native path
|
|
206
|
+
// too. It used to open only on the synthetic path, and the native path returned above it — so a
|
|
207
|
+
// hover, a drag or any native:true click produced events with no actionId. Session.pushEvent
|
|
208
|
+
// treats an unattributed ref-bearing event as ambient background churn, so an action's OWN
|
|
209
|
+
// effects were learned as noise; past the ambient threshold the settle oracle then filtered that
|
|
210
|
+
// region out entirely and reported settled while the app was still working. A false green
|
|
211
|
+
// manufactured by the machinery that exists to prevent false greens.
|
|
212
|
+
session.beginAction(ReticleTool.ACT, asRecord(args));
|
|
213
|
+
let settledOutcome;
|
|
214
|
+
try {
|
|
215
|
+
// drive native pointer input when a provider is available; otherwise fall back.
|
|
216
|
+
const real = await tryRealInput(deps, session, ref, action, args);
|
|
217
|
+
if (real.result !== undefined) {
|
|
218
|
+
if (deps.recordings.active().length > 0) {
|
|
219
|
+
deps.recordings.capture(compileActStep(args, real.result));
|
|
220
|
+
}
|
|
221
|
+
settledOutcome = real.settled ?? undefined;
|
|
222
|
+
return withControl(session, {
|
|
223
|
+
since,
|
|
224
|
+
inputMode: InputMode.REAL,
|
|
225
|
+
dispatched: true,
|
|
226
|
+
settled: real.settled,
|
|
227
|
+
settleReason: null,
|
|
228
|
+
result: leanActResult(real.result),
|
|
229
|
+
...healthEnvelope(session),
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
const result = await session.command(ReticleCommand.ACT, {
|
|
233
|
+
ref: args['ref'],
|
|
234
|
+
action: args['action'],
|
|
235
|
+
args: args['args'] ?? {},
|
|
236
|
+
});
|
|
237
|
+
if (!result.ok)
|
|
238
|
+
throw new Error(result.error ?? 'act failed');
|
|
170
239
|
if (deps.recordings.active().length > 0) {
|
|
171
|
-
deps.recordings.capture(compileActStep(args,
|
|
240
|
+
deps.recordings.capture(compileActStep(args, result.result));
|
|
172
241
|
}
|
|
242
|
+
// lift dispatch/settle status to the envelope (a settle timeout is NOT a failure).
|
|
243
|
+
const r = asRecord(result.result);
|
|
244
|
+
if (typeof r['settled'] === 'boolean')
|
|
245
|
+
settledOutcome = r['settled'];
|
|
173
246
|
return withControl(session, {
|
|
174
247
|
since,
|
|
175
|
-
inputMode: InputMode.
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
248
|
+
inputMode: InputMode.SYNTHETIC,
|
|
249
|
+
// #2: never a silent real→synthetic fallback — say WHY (unless real input isn't configured).
|
|
250
|
+
...(real.reason !== undefined ? { inputModeReason: real.reason } : {}),
|
|
251
|
+
dispatched: r['dispatched'] ?? true,
|
|
252
|
+
settled: r['settled'] ?? null,
|
|
253
|
+
settleReason: r['settleReason'] ?? null,
|
|
254
|
+
result: leanActResult(result.result),
|
|
255
|
+
...(real.fellBack === true ? { warning: ActionWarning.REAL_INPUT_FELL_BACK } : {}),
|
|
180
256
|
...healthEnvelope(session),
|
|
181
257
|
});
|
|
182
258
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
args: args['args'] ?? {},
|
|
187
|
-
});
|
|
188
|
-
if (!result.ok)
|
|
189
|
-
throw new Error(result.error ?? 'act failed');
|
|
190
|
-
if (deps.recordings.active().length > 0) {
|
|
191
|
-
deps.recordings.capture(compileActStep(args, result.result));
|
|
259
|
+
finally {
|
|
260
|
+
// Close the window on every exit (settle or throw), recording the action + settle outcome.
|
|
261
|
+
session.finishAction(undefined, settledOutcome, settledOutcome === true ? session.elapsed() - since : undefined);
|
|
192
262
|
}
|
|
193
|
-
// lift dispatch/settle status to the envelope (a settle timeout is NOT a failure).
|
|
194
|
-
const r = asRecord(result.result);
|
|
195
|
-
return withControl(session, {
|
|
196
|
-
since,
|
|
197
|
-
inputMode: InputMode.SYNTHETIC,
|
|
198
|
-
// #2: never a silent real→synthetic fallback — say WHY (unless real input isn't configured).
|
|
199
|
-
...(real.reason !== undefined ? { inputModeReason: real.reason } : {}),
|
|
200
|
-
dispatched: r['dispatched'] ?? true,
|
|
201
|
-
settled: r['settled'] ?? null,
|
|
202
|
-
settleReason: r['settleReason'] ?? null,
|
|
203
|
-
result: leanActResult(result.result),
|
|
204
|
-
...(real.fellBack === true ? { warning: ActionWarning.REAL_INPUT_FELL_BACK } : {}),
|
|
205
|
-
...healthEnvelope(session),
|
|
206
|
-
});
|
|
207
263
|
},
|
|
208
264
|
},
|
|
209
265
|
{
|
|
@@ -222,6 +278,8 @@ export const ACT_TOOLS = [
|
|
|
222
278
|
session: z
|
|
223
279
|
.object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
|
|
224
280
|
.optional(),
|
|
281
|
+
// Short-circuits to pausedShortCircuit while paused — declare its fields (drained-once guidance).
|
|
282
|
+
...pausedOutputShape,
|
|
225
283
|
},
|
|
226
284
|
handler: async (deps, args) => {
|
|
227
285
|
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
@@ -231,19 +289,26 @@ export const ACT_TOOLS = [
|
|
|
231
289
|
return paused;
|
|
232
290
|
const since = session.elapsed();
|
|
233
291
|
session.markActCursor(since); // honesty: a later wait_for/assert floors at this cursor
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
292
|
+
session.beginAction(ReticleTool.ACT_SEQUENCE, asRecord(args));
|
|
293
|
+
try {
|
|
294
|
+
const result = await session.command(ReticleCommand.ACT_SEQUENCE, { steps: args['steps'] });
|
|
295
|
+
if (!result.ok)
|
|
296
|
+
throw new Error(result.error ?? 'act_sequence failed');
|
|
297
|
+
if (deps.recordings.active().length > 0) {
|
|
298
|
+
deps.recordings.capture(compileSequenceStep(args, result.result));
|
|
299
|
+
}
|
|
300
|
+
const r = asRecord(result.result); // per-step settle status lives in result.steps[]
|
|
301
|
+
return withControl(session, {
|
|
302
|
+
since,
|
|
303
|
+
dispatched: r['count'] !== undefined,
|
|
304
|
+
result: leanActResult(result.result),
|
|
305
|
+
...healthEnvelope(session),
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
finally {
|
|
309
|
+
// Per-step settle lives in steps[]; the sequence action records without a single settle bool.
|
|
310
|
+
session.finishAction();
|
|
239
311
|
}
|
|
240
|
-
const r = asRecord(result.result); // per-step settle status lives in result.steps[]
|
|
241
|
-
return withControl(session, {
|
|
242
|
-
since,
|
|
243
|
-
dispatched: r['count'] !== undefined,
|
|
244
|
-
result: leanActResult(result.result),
|
|
245
|
-
...healthEnvelope(session),
|
|
246
|
-
});
|
|
247
312
|
},
|
|
248
313
|
},
|
|
249
314
|
{
|
|
@@ -282,16 +347,48 @@ export const ACT_TOOLS = [
|
|
|
282
347
|
pass: z.boolean(),
|
|
283
348
|
evidence: z.unknown().optional(),
|
|
284
349
|
failureReason: z.string().optional(),
|
|
350
|
+
// The STRUCTURED cause — observed / expected / assertion — is what the repair literature ranks
|
|
351
|
+
// above the prose failureReason (structured feedback beat narrative by 10.5pp) and above a bare
|
|
352
|
+
// pointer. `verdict` is `await waitForPredicate(...)`, whose EvalResult carries these on a
|
|
353
|
+
// failure; without declaring them here the strict object schema silently dropped them from
|
|
354
|
+
// structuredContent on the validating `full` profile — reticle_assert declares them (it spreads
|
|
355
|
+
// the verdict at top level), so act_and_wait was losing the highest-value signal that assert kept.
|
|
356
|
+
observed: z.string().optional(),
|
|
357
|
+
expected: z.string().optional(),
|
|
358
|
+
assertion: z.string().optional(),
|
|
285
359
|
}),
|
|
286
360
|
trace: z
|
|
287
361
|
.unknown()
|
|
288
362
|
.describe('Reaction digest: { window_ms, summary } of what the app did (DOM/network/route/console/signal counts). The full per-event timeline is one reticle_observe { since } away.'),
|
|
363
|
+
summary: z
|
|
364
|
+
.unknown()
|
|
365
|
+
.describe('Bounded causal summary: net {total,errors,headline}, consoleErrors, statePathsChanged, storageKeysChanged, stateDiffs [{path,from,to}], storageDiffs [{key,from,to}], route, signals, layoutShift, longTasks — real before→after diffs (capped), not just readings.'),
|
|
366
|
+
// Promoted out of `effect` on RED only — the file:line the failure came from, the first thing a
|
|
367
|
+
// repair wants. Undeclared, it was stripped on the validating profile exactly like the structured
|
|
368
|
+
// cause above was, losing the highest-value pointer on the one path (a failed verdict) that has it.
|
|
369
|
+
source: z
|
|
370
|
+
.string()
|
|
371
|
+
.optional()
|
|
372
|
+
.describe('Present only on a FAILED verdict: `file:line` of the acted element.'),
|
|
373
|
+
capsule: z
|
|
374
|
+
.unknown()
|
|
375
|
+
.optional()
|
|
376
|
+
.describe('Present only on a FAILED verdict: the divergence capsule { summary, firstDivergence (declared vs observed), blastRadius (undeclared side effects) } — the fault, located, no re-exploration needed.'),
|
|
377
|
+
capsuleSaved: z
|
|
378
|
+
.string()
|
|
379
|
+
.optional()
|
|
380
|
+
.describe('Present only on a FAILED verdict when the fail-to-pass capsule was persisted: its id, replayable as a regression flow once the bug goes green.'),
|
|
381
|
+
honesty: z
|
|
382
|
+
.unknown()
|
|
383
|
+
.describe('The verdict trust block { grade, attribution, coverage, integrity, envelope? } — a green never looks stronger than this. Gate on grade ≥ net AND integrity.clean. Fields that were not measured are OMITTED rather than reported as zero, so treat an absent `envelope` as "not sampled", never as a failure.'),
|
|
289
384
|
since: z
|
|
290
385
|
.number()
|
|
291
386
|
.describe('Cursor for this act — pass to reticle_observe/reticle_assert for the full timeline.'),
|
|
292
387
|
session: z
|
|
293
388
|
.object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
|
|
294
389
|
.optional(),
|
|
390
|
+
// Short-circuits to pausedShortCircuit while paused — declare its fields (drained-once guidance).
|
|
391
|
+
...pausedOutputShape,
|
|
295
392
|
},
|
|
296
393
|
handler: async (deps, args) => {
|
|
297
394
|
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
@@ -304,28 +401,113 @@ export const ACT_TOOLS = [
|
|
|
304
401
|
const until = args['until'] !== undefined
|
|
305
402
|
? PredicateSchema.parse(args['until'])
|
|
306
403
|
: { kind: 'settled' };
|
|
307
|
-
const timeout = asNumber(args['timeout_ms']) ??
|
|
404
|
+
const timeout = asNumber(args['timeout_ms']) ?? DEFAULT_ASSERT_TIMEOUT_MS;
|
|
308
405
|
const since = session.elapsed();
|
|
309
406
|
session.markActCursor(since);
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
407
|
+
// The attribution window stays open across the settle wait below, so post-dispatch async events
|
|
408
|
+
// (the whole point of act_and_wait) attribute to this action. finishAction fires after the wait.
|
|
409
|
+
session.beginAction(ReticleTool.ACT_AND_WAIT, asRecord(args));
|
|
410
|
+
let settledOutcome;
|
|
411
|
+
try {
|
|
412
|
+
const actResult = await session.command(ReticleCommand.ACT, {
|
|
413
|
+
ref: args['ref'],
|
|
414
|
+
action: args['action'],
|
|
415
|
+
args: args['args'] ?? {},
|
|
416
|
+
});
|
|
417
|
+
if (!actResult.ok)
|
|
418
|
+
throw new Error(actResult.error ?? 'act failed');
|
|
419
|
+
// Honesty: floor the predicate at this act's cursor so a stale buffered event can't satisfy it.
|
|
420
|
+
const verdict = timeout > 0
|
|
421
|
+
? await waitForPredicate(session, until, timeout, since)
|
|
422
|
+
: await evaluatePredicate(session, until, since);
|
|
423
|
+
const r = asRecord(actResult.result);
|
|
424
|
+
if (typeof r['settled'] === 'boolean')
|
|
425
|
+
settledOutcome = r['settled'];
|
|
426
|
+
// Where the acted element is written. Captured at act time alongside the anchor, so it is
|
|
427
|
+
// available even when the action unmounted its own target.
|
|
428
|
+
const actedSource = sourceOf(r['source']);
|
|
429
|
+
// Remembered on the session so a LATER assertion can name a file even when its failure has no
|
|
430
|
+
// element to point at — a signal that never fired, a request that was never made.
|
|
431
|
+
session.markActSource(actedSource === undefined ? undefined : `${actedSource.file}:${String(actedSource.line)}`);
|
|
432
|
+
const windowEvents = session.eventsSince(since);
|
|
433
|
+
const trace = summarizeReaction(buildReactionReport(windowEvents, session.elapsed() - since));
|
|
434
|
+
// The bounded Tier-1 causal summary — net/console/state/storage diffs the trace's counts miss.
|
|
435
|
+
// ponytail: Layer B validation of this result-shape change is pending — additive + bounded.
|
|
436
|
+
// On RED only, attach the Tier-2 divergence capsule (first-divergence + blast radius). Red-only,
|
|
437
|
+
// so the common green path — what the loop optimizes — is unchanged; on red, diagnosis is the point.
|
|
438
|
+
const links = predicateToExpectedLinks(until);
|
|
439
|
+
const capsule = verdict.pass ? undefined : buildDivergenceCapsule(links, windowEvents);
|
|
440
|
+
// Grade from what the verdict PROVED, not what it declared. A green anyOf holds on one branch, so
|
|
441
|
+
// grading off `links` (every branch) would let a presence-only OR report grade `signal` — a false
|
|
442
|
+
// green in the gate itself. `provenExpectedLinks` narrows a green to the branch that actually held;
|
|
443
|
+
// on red we keep the declared links (the capsule wants the full expected surface).
|
|
444
|
+
const gradedLinks = verdict.pass ? await provenExpectedLinks(session, until, since) : links;
|
|
445
|
+
// Honesty: the grade this verdict actually proved + capture integrity — a green never looks
|
|
446
|
+
// stronger than this block. Grade from the strongest asserted consequence; integrity from evictions.
|
|
447
|
+
// Coverage: cross-origin frames / other blind spots the SDK reported during this window mean the
|
|
448
|
+
// verdict didn't see everything — say so, never imply full coverage.
|
|
449
|
+
const coverage = buildCoverageStatement(blindSpotsFromState(session.blindSpots()));
|
|
450
|
+
const honesty = buildHonestyBlock({
|
|
451
|
+
grade: gradeOf(gradedLinks),
|
|
452
|
+
attribution: 'window',
|
|
453
|
+
truncated: session.bufferHealth().dropped > 0,
|
|
454
|
+
coveragePartial: coverage.coverage === 'partial',
|
|
455
|
+
...(coverage.note === undefined ? {} : { blindSpots: [coverage.note] }),
|
|
456
|
+
});
|
|
457
|
+
//: a red assertion is the ONE moment the evidence explaining it is in hand. Persist it as a
|
|
458
|
+
// replayable fail-to-pass capsule so the bug survives the turn — and becomes a regression flow
|
|
459
|
+
// the moment it goes green. Best-effort: capturing evidence must never fail the run that found it.
|
|
460
|
+
let capsuleSaved;
|
|
461
|
+
if (!verdict.pass && capsule !== undefined) {
|
|
462
|
+
const id = capsuleId(deps.now(), asString(args['ref']) ?? 'assert');
|
|
463
|
+
const expectedText = links
|
|
464
|
+
.map((l) => ('name' in l ? `${l.kind} ${l.name}` : l.kind))
|
|
465
|
+
.join(' AND ');
|
|
466
|
+
const saved = await new CapsuleStore(deps.fs, deps.reticleRoot).save({
|
|
467
|
+
version: 1,
|
|
468
|
+
id,
|
|
469
|
+
createdAt: deps.now(),
|
|
470
|
+
origin: 'failed-assert',
|
|
471
|
+
expected: expectedText.length > 0 ? expectedText : 'declared consequence',
|
|
472
|
+
observed: capsule.firstDivergence?.observed ?? verdict.failureReason ?? 'not observed',
|
|
473
|
+
steps: [
|
|
474
|
+
{
|
|
475
|
+
tool: ReticleTool.ACT,
|
|
476
|
+
anchor: {
|
|
477
|
+
kind: AnchorKind.TESTID,
|
|
478
|
+
value: asString(asRecord(actResult.result)['testid']) ?? asString(args['ref']) ?? '',
|
|
479
|
+
// Carried so the saved capsule — which outlives this turn and becomes a regression
|
|
480
|
+
// flow when it goes green — still knows which file the failure came from.
|
|
481
|
+
...(actedSource === undefined ? {} : { source: actedSource }),
|
|
482
|
+
},
|
|
483
|
+
action: (asString(args['action']) ?? ActionType.CLICK),
|
|
484
|
+
},
|
|
485
|
+
],
|
|
486
|
+
});
|
|
487
|
+
if (saved)
|
|
488
|
+
capsuleSaved = id;
|
|
489
|
+
}
|
|
490
|
+
return withControl(session, {
|
|
491
|
+
effect: leanActResult(actResult.result),
|
|
492
|
+
verdict,
|
|
493
|
+
// Promoted out of `effect` on red only. On green nobody needs it and it is noise; on red it
|
|
494
|
+
// is the first thing the agent wants, and burying a file:line inside the effect block is
|
|
495
|
+
// most of the way to not reporting it at all.
|
|
496
|
+
...(verdict.pass || actedSource === undefined
|
|
497
|
+
? {}
|
|
498
|
+
: { source: `${actedSource.file}:${String(actedSource.line)}` }),
|
|
499
|
+
trace,
|
|
500
|
+
...(capsuleSaved === undefined ? {} : { capsuleSaved }),
|
|
501
|
+
summary: causalSummary(windowEvents),
|
|
502
|
+
honesty,
|
|
503
|
+
...(capsule === undefined ? {} : { capsule }),
|
|
504
|
+
since,
|
|
505
|
+
...healthEnvelope(session),
|
|
506
|
+
});
|
|
507
|
+
}
|
|
508
|
+
finally {
|
|
509
|
+
session.finishAction(undefined, settledOutcome, settledOutcome === true ? session.elapsed() - since : undefined);
|
|
510
|
+
}
|
|
329
511
|
},
|
|
330
512
|
},
|
|
331
513
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"act-tools.js","sourceRoot":"","sources":["../../src/tools/act-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"act-tools.js","sourceRoot":"","sources":["../../src/tools/act-tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EACL,UAAU,EACV,aAAa,EACb,UAAU,EACV,4BAA4B,EAC5B,yBAAyB,EACzB,SAAS,EACT,eAAe,EACf,cAAc,EACd,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AACpG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAA+B,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE5F,wGAAwG;AACxG,SAAS,OAAO,CAAC,KAA8B;IAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAAE,OAAO,YAAY,CAAC,MAAM,CAAC;IACvE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,GAAG,CAAC;IACjE,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC;IACrE,OAAO,YAAY,CAAC,QAAQ,CAAC;AAC/B,CAAC;AAED,yFAAyF;AACzF,SAAS,KAAK,CAAC,KAAc;IAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,CAAC,qDAAqD;IAC7F,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AACvC,CAAC;AAaD,iGAAiG;AACjG,SAAS,SAAS,CAAC,MAAwB;IACzC,OAAO,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QACvC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACpD,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,YAAY,CACzB,IAAc,EACd,OAAgB,EAChB,GAAW,EACX,MAAkB,EAClB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;IAChC,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,SAAS,EAAE,CAAC,CAAC,4CAA4C;IAC5F,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,2BAA2B;IAExG,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,oGAAoG;IACpG,iGAAiG;IACjG,8FAA8F;IAC9F,gGAAgG;IAChG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,IAAI,MAAM,KAAK,UAAU,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAChG,OAAO,SAAS,CAAC,eAAe,CAAC,yBAAyB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/C,OAAO,SAAS,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;IAC1F,MAAM,SAAS,GAAG,KAAK,CAAC,4BAA4B,CAAC,KAAK,IAAI,CAAC;IAC/D,MAAM,uBAAuB,GAAG,CAAC,KAAc,EAAU,EAAE;QACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,OAAO;YACL,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAClC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAClC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;YACnC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;YAClC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE;YACxC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;SACvC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACd,CAAC,CAAC;IACF,IACE,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,IAAI,MAAM,KAAK,UAAU,CAAC,QAAQ,CAAC;QAC/D,CAAC,SAAS;QACV,qBAAqB,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,EACzD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,kEAAkE,4BAA4B,OAAO,CACtG,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAE/E,IAAI,KAA6B,CAAC;IAClC,IAAI,MAAM,KAAK,UAAU,CAAC,IAAI,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACvC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;QAClF,MAAM,eAAe,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE;YACrF,GAAG,EAAE,KAAK;SACX,CAAC,CAAC;QACH,IACE,CAAC,SAAS;YACV,qBAAqB,CACnB,GAAG,uBAAuB,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,eAAe,CAAC,EAAE,CACpF,EACD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,kEAAkE,4BAA4B,OAAO,CACtG,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,IAAI,KAAK,KAAK,SAAS;QAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACrC,IAAI,IAAI,KAAK,SAAS;QAAE,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;IAEnD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;QAChF,IAAI,CAAC,SAAS,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;QAC9E,OAAO,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,MAAM,EAAE,SAAS;YACjB,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,eAAe,CAAC,cAAc;SACvC,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACxC,OAAQ,MAAM,CAAC,MAAM,CAAC,UAAU,CAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAkB,CAAC,CAAC,CAAC,SAAS,CAAC;AACjG,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAc;IAClC;QACE,IAAI,EAAE,WAAW,CAAC,GAAG;QACrB,WAAW,EACT,82CAA82C;QACh3C,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;YAC5F,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CACP,wIAAwI,CACzI;YACH,IAAI,EAAE,CAAC;iBACJ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACnB,QAAQ,EAAE;iBACV,QAAQ,CACP,yMAAyM,CAC1M;YACH,mBAAmB,EAAE,CAAC;iBACnB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,8IAA8I,CAC/I;YACH,GAAG,cAAc;SAClB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CACP,yGAAyG,CAC1G;YACH,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;YACvB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;YACrB,uFAAuF;YACvF,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC9B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;YAC/C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACtC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;iBAChF,QAAQ,EAAE;YACb,gGAAgG;YAChG,oGAAoG;YACpG,GAAG,iBAAiB;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5B,+FAA+F;YAC/F,uFAAuF;YACvF,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC5C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CACb,mBAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,wBAAwB,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxG,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACnE,0FAA0F;YAC1F,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACxC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACxD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,8DAA8D;YAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAExC,gGAAgG;YAChG,gGAAgG;YAChG,6FAA6F;YAC7F,2FAA2F;YAC3F,iGAAiG;YACjG,0FAA0F;YAC1F,qEAAqE;YACrE,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,IAAI,cAAmC,CAAC;YACxC,IAAI,CAAC;gBACH,gFAAgF;gBAChF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;gBAClE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7D,CAAC;oBACD,cAAc,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;oBAC3C,OAAO,WAAW,CAAC,OAAO,EAAE;wBAC1B,KAAK;wBACL,SAAS,EAAE,SAAS,CAAC,IAAI;wBACzB,UAAU,EAAE,IAAI;wBAChB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,YAAY,EAAE,IAAI;wBAClB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;wBAClC,GAAG,cAAc,CAAC,OAAO,CAAC;qBAC3B,CAAC,CAAC;gBACL,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;oBACvD,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;oBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;iBACzB,CAAC,CAAC;gBACH,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;gBAC9D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/D,CAAC;gBACD,mFAAmF;gBACnF,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS;oBAAE,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;gBACrE,OAAO,WAAW,CAAC,OAAO,EAAE;oBAC1B,KAAK;oBACL,SAAS,EAAE,SAAS,CAAC,SAAS;oBAC9B,6FAA6F;oBAC7F,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtE,UAAU,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI;oBACnC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI;oBAC7B,YAAY,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI;oBACvC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;oBACpC,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClF,GAAG,cAAc,CAAC,OAAO,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,2FAA2F;gBAC3F,OAAO,CAAC,YAAY,CAClB,SAAS,EACT,cAAc,EACd,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,WAAW,CAAC,YAAY;QAC9B,WAAW,EACT,yHAAyH;QAC3H,WAAW,EAAE;YACX,KAAK,EAAE,CAAC;iBACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;iBAC5B,QAAQ,CACP,+JAA+J,CAChK;YACH,GAAG,cAAc;SAClB;QACD,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE;YACvB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;iBAChF,QAAQ,EAAE;YACb,kGAAkG;YAClG,GAAG,iBAAiB;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACnE,0FAA0F;YAC1F,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,yDAAyD;YACvF,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAC5F,IAAI,CAAC,MAAM,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,qBAAqB,CAAC,CAAC;gBACvE,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;gBACpE,CAAC;gBACD,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,iDAAiD;gBACpF,OAAO,WAAW,CAAC,OAAO,EAAE;oBAC1B,KAAK;oBACL,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,SAAS;oBACpC,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;oBACpC,GAAG,cAAc,CAAC,OAAO,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,8FAA8F;gBAC9F,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;KACF;IACD;QACE,IAAI,EAAE,WAAW,CAAC,YAAY;QAC9B,WAAW,EACT,+FAA+F;YAC/F,wGAAwG;YACxG,2FAA2F;YAC3F,gGAAgG;YAChG,sGAAsG;YACtG,4DAA4D;QAC9D,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;YAC/E,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,CACP,wIAAwI,CACzI;YACH,IAAI,EAAE,CAAC;iBACJ,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;iBACnB,QAAQ,EAAE;iBACV,QAAQ,CACP,kJAAkJ,CACnJ;YACH,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACxC,mTAAmT,CACpT;YACD,UAAU,EAAE,CAAC;iBACV,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,sFAAsF,CACvF;YACH,mBAAmB,EAAE,CAAC;iBACnB,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,gDAAgD,CAAC;YAC7D,GAAG,cAAc;SAClB;QACD,YAAY,EAAE;YACZ,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,CAAC,gEAAgE,CAAC;YAC7E,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;gBACjB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;gBAChC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBACpC,+FAA+F;gBAC/F,gGAAgG;gBAChG,2FAA2F;gBAC3F,2FAA2F;gBAC3F,gGAAgG;gBAChG,mGAAmG;gBACnG,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC/B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;gBAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aACjC,CAAC;YACF,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,CACP,2KAA2K,CAC5K;YACH,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,CACP,qQAAqQ,CACtQ;YACH,gGAAgG;YAChG,kGAAkG;YAClG,oGAAoG;YACpG,MAAM,EAAE,CAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,qEAAqE,CAAC;YAClF,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,qMAAqM,CACtM;YACH,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CACP,gJAAgJ,CACjJ;YACH,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,CACP,+SAA+S,CAChT;YACH,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,QAAQ,CACP,qFAAqF,CACtF;YACH,OAAO,EAAE,CAAC;iBACP,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;iBAChF,QAAQ,EAAE;YACb,kGAAkG;YAClG,GAAG,iBAAiB;SACrB;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACnE,mFAAmF;YACnF,MAAM,MAAM,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;YACxC,iBAAiB,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACxD,+FAA+F;YAC/F,MAAM,KAAK,GACT,IAAI,CAAC,OAAO,CAAC,KAAK,SAAS;gBACzB,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACtC,CAAC,CAAE,EAAE,IAAI,EAAE,SAAS,EAAY,CAAC;YACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,yBAAyB,CAAC;YAE1E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC7B,gGAAgG;YAChG,iGAAiG;YACjG,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,cAAmC,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,EAAE;oBAC1D,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;oBACtB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;iBACzB,CAAC,CAAC;gBACH,IAAI,CAAC,SAAS,CAAC,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;gBAEpE,gGAAgG;gBAChG,MAAM,OAAO,GACX,OAAO,GAAG,CAAC;oBACT,CAAC,CAAC,MAAM,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;oBACxD,CAAC,CAAC,MAAM,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;gBAErD,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,SAAS;oBAAE,cAAc,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;gBACrE,0FAA0F;gBAC1F,2DAA2D;gBAC3D,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC1C,8FAA8F;gBAC9F,kFAAkF;gBAClF,OAAO,CAAC,aAAa,CACnB,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAC1F,CAAC;gBACF,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAChD,MAAM,KAAK,GAAG,iBAAiB,CAC7B,mBAAmB,CAAC,YAAY,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAC7D,CAAC;gBACF,+FAA+F;gBAC/F,4FAA4F;gBAC5F,iGAAiG;gBACjG,qGAAqG;gBACrG,MAAM,KAAK,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACvF,kGAAkG;gBAClG,kGAAkG;gBAClG,oGAAoG;gBACpG,mFAAmF;gBACnF,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gBAC5F,4FAA4F;gBAC5F,qGAAqG;gBACrG,iGAAiG;gBACjG,qEAAqE;gBACrE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACnF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC;oBAC3B,WAAW,EAAE,QAAQ;oBACrB,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,OAAO,GAAG,CAAC;oBAC7C,eAAe,EAAE,QAAQ,CAAC,QAAQ,KAAK,SAAS;oBAChD,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;iBACxE,CAAC,CAAC;gBACH,4FAA4F;gBAC5F,+FAA+F;gBAC/F,mGAAmG;gBACnG,IAAI,YAAgC,CAAC;gBACrC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC3C,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;oBACpE,MAAM,YAAY,GAAG,KAAK;yBACvB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;yBAC1D,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjB,MAAM,KAAK,GAAG,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;wBACnE,OAAO,EAAE,CAAC;wBACV,EAAE;wBACF,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,MAAM,EAAE,eAAe;wBACvB,QAAQ,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,sBAAsB;wBACzE,QAAQ,EAAE,OAAO,CAAC,eAAe,EAAE,QAAQ,IAAI,OAAO,CAAC,aAAa,IAAI,cAAc;wBACtF,KAAK,EAAE;4BACL;gCACE,IAAI,EAAE,WAAW,CAAC,GAAG;gCACrB,MAAM,EAAE;oCACN,IAAI,EAAE,UAAU,CAAC,MAAM;oCACvB,KAAK,EACH,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE;oCAC/E,mFAAmF;oCACnF,0EAA0E;oCAC1E,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;iCAC9D;gCACD,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAe;6BACrE;yBACF;qBACF,CAAC,CAAC;oBACH,IAAI,KAAK;wBAAE,YAAY,GAAG,EAAE,CAAC;gBAC/B,CAAC;gBACD,OAAO,WAAW,CAAC,OAAO,EAAE;oBAC1B,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;oBACvC,OAAO;oBACP,4FAA4F;oBAC5F,yFAAyF;oBACzF,8CAA8C;oBAC9C,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,KAAK,SAAS;wBAC3C,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBAClE,KAAK;oBACL,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;oBACvD,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;oBACpC,OAAO;oBACP,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;oBAC7C,KAAK;oBACL,GAAG,cAAc,CAAC,OAAO,CAAC;iBAC3B,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,OAAO,CAAC,YAAY,CAClB,SAAS,EACT,cAAc,EACd,cAAc,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAChE,CAAC;YACJ,CAAC;QACH,CAAC;KACF;CACF,CAAC"}
|
package/dist/tools/act-view.d.ts
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* almost always at a non-informative default. We drop a field ONLY when it equals its
|
|
5
5
|
* uninformative default, so absence always means "the boring value" and no real signal is lost:
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* - success defaults — `dispatched`/`targetMatched`/`visible`/`enabled` are `true` on a clean
|
|
8
|
+
* action; only their `false` (action missed, hit a hidden/disabled element) carries signal;
|
|
9
|
+
* - `false` defaults — `occluded`/`scrolledIntoView`/`defaultPrevented`/`valueChanged`;
|
|
10
|
+
* - `null` defaults — `occludedBy`/`focusMoved` (no overlay / no focus change).
|
|
11
11
|
*
|
|
12
12
|
* A clean click therefore collapses to its consequence alone (e.g. `{ domMutatedWithin: 8 }`),
|
|
13
13
|
* matching the leanness of a bare browser-driver click. This runs at the serialization boundary;
|
package/dist/tools/act-view.js
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* almost always at a non-informative default. We drop a field ONLY when it equals its
|
|
5
5
|
* uninformative default, so absence always means "the boring value" and no real signal is lost:
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
7
|
+
* - success defaults — `dispatched`/`targetMatched`/`visible`/`enabled` are `true` on a clean
|
|
8
|
+
* action; only their `false` (action missed, hit a hidden/disabled element) carries signal;
|
|
9
|
+
* - `false` defaults — `occluded`/`scrolledIntoView`/`defaultPrevented`/`valueChanged`;
|
|
10
|
+
* - `null` defaults — `occludedBy`/`focusMoved` (no overlay / no focus change).
|
|
11
11
|
*
|
|
12
12
|
* A clean click therefore collapses to its consequence alone (e.g. `{ domMutatedWithin: 8 }`),
|
|
13
13
|
* matching the leanness of a bare browser-driver click. This runs at the serialization boundary;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-tools.d.ts","sourceRoot":"","sources":["../../src/tools/browser-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,aAAa,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"browser-tools.d.ts","sourceRoot":"","sources":["../../src/tools/browser-tools.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C,eAAO,MAAM,aAAa,EAAE,OAAO,EA0ElC,CAAC"}
|
|
@@ -6,9 +6,17 @@ import { sessionIdShape, commandOrThrow } from './tool-kit.js';
|
|
|
6
6
|
export const BROWSER_TOOLS = [
|
|
7
7
|
{
|
|
8
8
|
name: ReticleTool.NAVIGATE,
|
|
9
|
-
description: 'Navigate the connected browser tab to a URL. The SDK reconnects automatically after the page loads. Use reticle_sessions to confirm the new tab is connected before acting.',
|
|
9
|
+
description: 'Navigate the connected browser tab to a URL, or reload it in place with { reload: true } (add { hard: true } to bypass the cache). The SDK reconnects automatically after the page loads. Use reticle_sessions to confirm the new tab is connected before acting.',
|
|
10
10
|
inputSchema: {
|
|
11
|
-
url: z.string().describe('The URL to navigate to.'),
|
|
11
|
+
url: z.string().optional().describe('The URL to navigate to. Omit when using reload.'),
|
|
12
|
+
reload: z
|
|
13
|
+
.boolean()
|
|
14
|
+
.optional()
|
|
15
|
+
.describe('Reload the current page instead of navigating (replaces reticle_refresh).'),
|
|
16
|
+
hard: z
|
|
17
|
+
.boolean()
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('With reload:true, bypass the browser cache (Cmd+Shift+R). Default: false.'),
|
|
12
20
|
...sessionIdShape,
|
|
13
21
|
},
|
|
14
22
|
outputSchema: {
|
|
@@ -17,15 +25,31 @@ export const BROWSER_TOOLS = [
|
|
|
17
25
|
reason: z.string().optional(),
|
|
18
26
|
},
|
|
19
27
|
handler: async (deps, args) => {
|
|
28
|
+
// reload:true is the absorbed reticle_refresh — same command, one fewer advertised tool.
|
|
29
|
+
if (args['reload'] === true) {
|
|
30
|
+
await commandOrThrow(deps, asString(args['sessionId']), ReticleCommand.REFRESH, {
|
|
31
|
+
hard: args['hard'] === true,
|
|
32
|
+
});
|
|
33
|
+
return { ok: true };
|
|
34
|
+
}
|
|
20
35
|
const url = asString(args['url']);
|
|
21
36
|
if (url === undefined || url.length === 0)
|
|
22
37
|
return { ok: false, reason: 'url required' };
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
38
|
+
// Record navigate as an action. Its window is usually empty (the page unloads and the SDK
|
|
39
|
+
// reconnects), but the action record itself — "navigated to X" — is the causal fact worth keeping.
|
|
40
|
+
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
41
|
+
session.beginAction(ReticleTool.NAVIGATE, { url });
|
|
42
|
+
try {
|
|
43
|
+
const result = (await commandOrThrow(deps, asString(args['sessionId']), ReticleCommand.NAVIGATE, { url }));
|
|
44
|
+
return {
|
|
45
|
+
ok: result.ok === true,
|
|
46
|
+
...(typeof result.url === 'string' ? { url: result.url } : {}),
|
|
47
|
+
...(typeof result.reason === 'string' ? { reason: result.reason } : {}),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
session.finishAction();
|
|
52
|
+
}
|
|
29
53
|
},
|
|
30
54
|
},
|
|
31
55
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-tools.js","sourceRoot":"","sources":["../../src/tools/browser-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/D,MAAM,CAAC,MAAM,aAAa,GAAc;IACtC;QACE,IAAI,EAAE,WAAW,CAAC,QAAQ;QAC1B,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"browser-tools.js","sourceRoot":"","sources":["../../src/tools/browser-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-tools.d.ts","sourceRoot":"","sources":["../../src/tools/contract-tools.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"contract-tools.d.ts","sourceRoot":"","sources":["../../src/tools/contract-tools.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE1C;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,EAoEnC,CAAC"}
|
|
@@ -22,6 +22,11 @@ export const CONTRACT_TOOLS = [
|
|
|
22
22
|
source: z
|
|
23
23
|
.string()
|
|
24
24
|
.describe('live = real-time from the browser; disk = last saved contract.json'),
|
|
25
|
+
// fromDisk carries when the contract was generated; both paths carry the app's declared governance
|
|
26
|
+
// (owner/safety/scope) when present. Undeclared, they were stripped on a validating profile — a
|
|
27
|
+
// governance-gated app lost its policy block, and disk reads lost their freshness stamp.
|
|
28
|
+
generatedAt: z.number().optional(),
|
|
29
|
+
governance: z.unknown().optional(),
|
|
25
30
|
},
|
|
26
31
|
handler: async (deps, args) => {
|
|
27
32
|
if (args[FROM_DISK_ARG] === true) {
|