@reticlehq/server 2.0.1 → 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 +62 -6
- 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-launch.d.ts.map +1 -1
- package/dist/cli-launch.js +1 -2
- package/dist/cli-launch.js.map +1 -1
- 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 +83 -13
- 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 +42 -12
- 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 +9 -3
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +41 -8
- package/dist/daemon.js.map +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 +35 -1
- package/dist/events/event-filters.d.ts.map +1 -1
- package/dist/events/event-filters.js +93 -6
- 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 +130 -9
- 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 +169 -15
- package/dist/events/predicate.js.map +1 -1
- package/dist/events/ring-buffer.d.ts +10 -8
- package/dist/events/ring-buffer.d.ts.map +1 -1
- package/dist/events/ring-buffer.js +84 -25
- 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 +18 -9
- 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.d.ts.map +1 -1
- package/dist/flows/flow-classify.js +12 -20
- package/dist/flows/flow-classify.js.map +1 -1
- package/dist/flows/flow-replay-run.d.ts +6 -0
- package/dist/flows/flow-replay-run.d.ts.map +1 -1
- package/dist/flows/flow-replay-run.js +49 -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 +52 -18
- package/dist/flows/flow-replay.js.map +1 -1
- package/dist/flows/flow-report.d.ts +4 -4
- package/dist/flows/flow-report.d.ts.map +1 -1
- package/dist/flows/flow-report.js +2 -1
- package/dist/flows/flow-report.js.map +1 -1
- 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 +97 -152
- 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 +39 -27
- 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 +19 -0
- package/dist/flows/heal-run.d.ts.map +1 -0
- package/dist/flows/heal-run.js +137 -0
- package/dist/flows/heal-run.js.map +1 -0
- 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 +13 -0
- package/dist/flows/replay.d.ts.map +1 -1
- package/dist/flows/replay.js +56 -23
- 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 -9
- package/dist/http-server.d.ts.map +1 -1
- package/dist/http-server.js +5 -9
- package/dist/http-server.js.map +1 -1
- package/dist/idle-shutdown.d.ts +2 -2
- package/dist/idle-shutdown.js +2 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +131 -73
- 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/mcp.d.ts.map +1 -1
- package/dist/init/mcp.js +4 -3
- package/dist/init/mcp.js.map +1 -1
- 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-tools.d.ts.map +1 -1
- package/dist/input/network-mock-tools.js +1 -6
- package/dist/input/network-mock-tools.js.map +1 -1
- 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/input/viewport-tools.d.ts.map +1 -1
- package/dist/input/viewport-tools.js +1 -6
- package/dist/input/viewport-tools.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 +52 -29
- package/dist/mcp-proxy.js.map +1 -1
- package/dist/mcp.d.ts +22 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +93 -10
- 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 +2 -2
- package/dist/pool/playwright-launcher.d.ts.map +1 -1
- package/dist/pool/playwright-launcher.js +20 -6
- 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 +25 -7
- 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/server-version.d.ts +5 -0
- package/dist/server-version.d.ts.map +1 -1
- package/dist/server-version.js +5 -0
- package/dist/server-version.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.d.ts.map +1 -1
- package/dist/session/live-control-tools.js +2 -7
- package/dist/session/live-control-tools.js.map +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 +12 -1
- 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 +44 -12
- package/dist/session/session.d.ts.map +1 -1
- package/dist/session/session.js +116 -47
- package/dist/session/session.js.map +1 -1
- package/dist/tools/act-tools.d.ts.map +1 -1
- package/dist/tools/act-tools.js +257 -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/assert-grade.d.ts.map +1 -1
- package/dist/tools/assert-grade.js +15 -26
- package/dist/tools/assert-grade.js.map +1 -1
- 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 +41 -30
- 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 +95 -2
- 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 +11 -2
- package/dist/tools/tool-kit.d.ts.map +1 -1
- package/dist/tools/tool-kit.js +24 -1
- package/dist/tools/tool-kit.js.map +1 -1
- package/dist/tools/tool-names.d.ts +19 -10
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +23 -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/update-checker.d.ts +14 -1
- package/dist/update/update-checker.d.ts.map +1 -1
- package/dist/update/update-checker.js +9 -5
- package/dist/update/update-checker.js.map +1 -1
- package/dist/update/updater.d.ts +20 -2
- package/dist/update/updater.d.ts.map +1 -1
- package/dist/update/updater.js +48 -14
- package/dist/update/updater.js.map +1 -1
- package/dist/visual/visual-tools.d.ts.map +1 -1
- package/dist/visual/visual-tools.js +1 -6
- package/dist/visual/visual-tools.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,
|
|
@@ -143,12 +173,26 @@ export const ACT_TOOLS = [
|
|
|
143
173
|
dispatched: z.boolean(),
|
|
144
174
|
settled: z.boolean().nullable(),
|
|
145
175
|
inputMode: z.string(),
|
|
176
|
+
// Diagnostic fields the handler splices — declared so schema-strict clients keep them.
|
|
177
|
+
effect: z.unknown().optional(),
|
|
178
|
+
settleReason: z.unknown().nullable().optional(),
|
|
179
|
+
inputModeReason: z.string().optional(),
|
|
180
|
+
warning: z.string().optional(),
|
|
146
181
|
result: z.unknown().optional(),
|
|
147
182
|
session: z
|
|
148
183
|
.object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
|
|
149
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,
|
|
150
188
|
},
|
|
151
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
|
+
}
|
|
152
196
|
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
153
197
|
// Live-control: refuse to drive the page while the human has paused us (before any work).
|
|
154
198
|
const paused = pausedShortCircuit(session);
|
|
@@ -158,47 +202,64 @@ export const ACT_TOOLS = [
|
|
|
158
202
|
const since = session.elapsed();
|
|
159
203
|
session.markActCursor(since); // honesty: wait_for/assert default their floor to this cursor
|
|
160
204
|
const ref = asString(args['ref']) ?? '';
|
|
161
|
-
|
|
162
|
-
//
|
|
163
|
-
|
|
164
|
-
|
|
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');
|
|
165
239
|
if (deps.recordings.active().length > 0) {
|
|
166
|
-
deps.recordings.capture(compileActStep(args,
|
|
240
|
+
deps.recordings.capture(compileActStep(args, result.result));
|
|
167
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'];
|
|
168
246
|
return withControl(session, {
|
|
169
247
|
since,
|
|
170
|
-
inputMode: InputMode.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
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 } : {}),
|
|
175
256
|
...healthEnvelope(session),
|
|
176
257
|
});
|
|
177
258
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
args: args['args'] ?? {},
|
|
182
|
-
});
|
|
183
|
-
if (!result.ok)
|
|
184
|
-
throw new Error(result.error ?? 'act failed');
|
|
185
|
-
if (deps.recordings.active().length > 0) {
|
|
186
|
-
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);
|
|
187
262
|
}
|
|
188
|
-
// lift dispatch/settle status to the envelope (a settle timeout is NOT a failure).
|
|
189
|
-
const r = asRecord(result.result);
|
|
190
|
-
return withControl(session, {
|
|
191
|
-
since,
|
|
192
|
-
inputMode: InputMode.SYNTHETIC,
|
|
193
|
-
// #2: never a silent real→synthetic fallback — say WHY (unless real input isn't configured).
|
|
194
|
-
...(real.reason !== undefined ? { inputModeReason: real.reason } : {}),
|
|
195
|
-
dispatched: r['dispatched'] ?? true,
|
|
196
|
-
settled: r['settled'] ?? null,
|
|
197
|
-
settleReason: r['settleReason'] ?? null,
|
|
198
|
-
result: leanActResult(result.result),
|
|
199
|
-
...(real.fellBack === true ? { warning: ActionWarning.REAL_INPUT_FELL_BACK } : {}),
|
|
200
|
-
...healthEnvelope(session),
|
|
201
|
-
});
|
|
202
263
|
},
|
|
203
264
|
},
|
|
204
265
|
{
|
|
@@ -217,6 +278,8 @@ export const ACT_TOOLS = [
|
|
|
217
278
|
session: z
|
|
218
279
|
.object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
|
|
219
280
|
.optional(),
|
|
281
|
+
// Short-circuits to pausedShortCircuit while paused — declare its fields (drained-once guidance).
|
|
282
|
+
...pausedOutputShape,
|
|
220
283
|
},
|
|
221
284
|
handler: async (deps, args) => {
|
|
222
285
|
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
@@ -226,19 +289,26 @@ export const ACT_TOOLS = [
|
|
|
226
289
|
return paused;
|
|
227
290
|
const since = session.elapsed();
|
|
228
291
|
session.markActCursor(since); // honesty: a later wait_for/assert floors at this cursor
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
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();
|
|
234
311
|
}
|
|
235
|
-
const r = asRecord(result.result); // per-step settle status lives in result.steps[]
|
|
236
|
-
return withControl(session, {
|
|
237
|
-
since,
|
|
238
|
-
dispatched: r['count'] !== undefined,
|
|
239
|
-
result: leanActResult(result.result),
|
|
240
|
-
...healthEnvelope(session),
|
|
241
|
-
});
|
|
242
312
|
},
|
|
243
313
|
},
|
|
244
314
|
{
|
|
@@ -277,16 +347,48 @@ export const ACT_TOOLS = [
|
|
|
277
347
|
pass: z.boolean(),
|
|
278
348
|
evidence: z.unknown().optional(),
|
|
279
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(),
|
|
280
359
|
}),
|
|
281
360
|
trace: z
|
|
282
361
|
.unknown()
|
|
283
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.'),
|
|
284
384
|
since: z
|
|
285
385
|
.number()
|
|
286
386
|
.describe('Cursor for this act — pass to reticle_observe/reticle_assert for the full timeline.'),
|
|
287
387
|
session: z
|
|
288
388
|
.object({ lastSeenMs: z.number(), throttled: z.boolean(), focused: z.boolean() })
|
|
289
389
|
.optional(),
|
|
390
|
+
// Short-circuits to pausedShortCircuit while paused — declare its fields (drained-once guidance).
|
|
391
|
+
...pausedOutputShape,
|
|
290
392
|
},
|
|
291
393
|
handler: async (deps, args) => {
|
|
292
394
|
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
@@ -299,28 +401,113 @@ export const ACT_TOOLS = [
|
|
|
299
401
|
const until = args['until'] !== undefined
|
|
300
402
|
? PredicateSchema.parse(args['until'])
|
|
301
403
|
: { kind: 'settled' };
|
|
302
|
-
const timeout = asNumber(args['timeout_ms']) ??
|
|
404
|
+
const timeout = asNumber(args['timeout_ms']) ?? DEFAULT_ASSERT_TIMEOUT_MS;
|
|
303
405
|
const since = session.elapsed();
|
|
304
406
|
session.markActCursor(since);
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
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
|
+
}
|
|
324
511
|
},
|
|
325
512
|
},
|
|
326
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":"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"}
|
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":"assert-grade.d.ts","sourceRoot":"","sources":["../../src/tools/assert-grade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"assert-grade.d.ts","sourceRoot":"","sources":["../../src/tools/assert-grade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD,eAAO,MAAM,oBAAoB,mTACuQ,CAAC;AA0BzS;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAGrE"}
|
|
@@ -10,35 +10,24 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Pure: no IO, no clock.
|
|
12
12
|
*/
|
|
13
|
+
import { isConsequenceKind, isPresenceKind } from '@reticlehq/core';
|
|
13
14
|
export const PRESENCE_ONLY_ADVICE = 'This predicate only checks element/text presence, not an observable consequence. A locator healed to the wrong element (or a stale render) can satisfy it while the feature is broken. Prefer a { signal } or { net } assertion — or allOf it with one — so green means the feature actually worked.';
|
|
14
15
|
function walk(predicate) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return { consequence: true, presence: false };
|
|
22
|
-
case 'element':
|
|
23
|
-
case 'text':
|
|
24
|
-
return { consequence: false, presence: true };
|
|
25
|
-
case 'route':
|
|
26
|
-
case 'console':
|
|
27
|
-
case 'animation':
|
|
28
|
-
case 'settled':
|
|
29
|
-
// Observable but not the weak presence pattern we nudge — neither flags the advice.
|
|
30
|
-
return { consequence: false, presence: false };
|
|
31
|
-
case 'allOf':
|
|
32
|
-
case 'anyOf': {
|
|
33
|
-
const subs = predicate.predicates.map(walk);
|
|
34
|
-
return {
|
|
35
|
-
consequence: subs.some((s) => s.consequence),
|
|
36
|
-
presence: subs.some((s) => s.presence),
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
case 'not':
|
|
40
|
-
return walk(predicate.predicate);
|
|
16
|
+
if (predicate.kind === 'allOf' || predicate.kind === 'anyOf') {
|
|
17
|
+
const subs = predicate.predicates.map(walk);
|
|
18
|
+
return {
|
|
19
|
+
consequence: subs.some((s) => s.consequence),
|
|
20
|
+
presence: subs.some((s) => s.presence),
|
|
21
|
+
};
|
|
41
22
|
}
|
|
23
|
+
if (predicate.kind === 'not')
|
|
24
|
+
return walk(predicate.predicate);
|
|
25
|
+
// Leaf: classify against the single source of truth in core. Kinds that are neither consequence
|
|
26
|
+
// nor presence (route/console/settled/animation) correctly return false for both.
|
|
27
|
+
return {
|
|
28
|
+
consequence: isConsequenceKind(predicate.kind),
|
|
29
|
+
presence: isPresenceKind(predicate.kind),
|
|
30
|
+
};
|
|
42
31
|
}
|
|
43
32
|
/**
|
|
44
33
|
* True when the predicate asserts ONLY element/text presence with no signal/net consequence anywhere
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert-grade.js","sourceRoot":"","sources":["../../src/tools/assert-grade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"assert-grade.js","sourceRoot":"","sources":["../../src/tools/assert-grade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGpE,MAAM,CAAC,MAAM,oBAAoB,GAC/B,sSAAsS,CAAC;AASzS,SAAS,IAAI,CAAC,SAAoB;IAChC,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;SACvC,CAAC;IACJ,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/D,gGAAgG;IAChG,kFAAkF;IAClF,OAAO;QACL,WAAW,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC;QAC9C,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAoB;IAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;AAC9C,CAAC"}
|
|
@@ -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"}
|