@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
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import { type ReticleEvent } from '@reticlehq/core';
|
|
2
|
+
/**
|
|
3
|
+
* The friendly bucket names reticle_observe's `filters` param advertises → the real event types.
|
|
4
|
+
*
|
|
5
|
+
* The schema promised `dom | net | route | console | animation | signal`, but the handler filtered
|
|
6
|
+
* with `filters.includes(e.type)` against types like `net.request` and `dom.added` — so every
|
|
7
|
+
* documented value matched nothing, and an agent passing `filters:['net']` to trim its payload got an
|
|
8
|
+
* EMPTY timeline instead. Empty reads as "the app did nothing" — a false green produced by using the
|
|
9
|
+
* feature exactly as documented. Mapping the bucket to its member types makes the documented values
|
|
10
|
+
* work; raw types are still accepted (see eventMatchesFilters) so neither spelling surprises a caller.
|
|
11
|
+
*/
|
|
12
|
+
export declare const OBSERVE_FILTER_BUCKETS: Record<string, readonly string[]>;
|
|
13
|
+
/**
|
|
14
|
+
* True when an event passes an observe `filters` allowlist. A filter entry matches either as a bucket
|
|
15
|
+
* name (`net` keeps every net.* type) or as a raw event type (`net.request`). Unknown entries match
|
|
16
|
+
* nothing rather than throwing — a typo narrows the result, it never crashes the observe.
|
|
17
|
+
*/
|
|
18
|
+
export declare function eventMatchesFilters(e: ReticleEvent, filters: readonly string[]): boolean;
|
|
2
19
|
/** Match a net.request event against optional method/url/status filters (reticle_network). */
|
|
3
20
|
export declare function matchNet(e: ReticleEvent, method: string | undefined, urlContains: string | undefined, status: number | undefined): boolean;
|
|
4
21
|
/**
|
|
@@ -15,13 +32,30 @@ interface NetCallView {
|
|
|
15
32
|
method: string;
|
|
16
33
|
url: string;
|
|
17
34
|
status?: number | string;
|
|
35
|
+
statusText?: string;
|
|
36
|
+
contentType?: string;
|
|
37
|
+
responseSize?: number;
|
|
38
|
+
requestBody?: string;
|
|
39
|
+
responseBody?: string;
|
|
40
|
+
bodyTruncated?: boolean;
|
|
18
41
|
ms?: number;
|
|
42
|
+
/** Authoritative response headers merged from the driven (CDP) path — present only when driven. */
|
|
43
|
+
headers?: Record<string, string>;
|
|
19
44
|
}
|
|
20
45
|
export declare function projectNetCall(e: ReticleEvent): NetCallView;
|
|
21
|
-
/**
|
|
46
|
+
/**
|
|
47
|
+
* Compact console-log summary for reticle_console output.
|
|
48
|
+
*
|
|
49
|
+
* `stack`/`source` are the only localization signal a console failure carries — there is no element
|
|
50
|
+
* to map to a component here, so without them "an error was logged" is the whole report and the agent
|
|
51
|
+
* has to go find the origin itself. The browser already keeps this lean by capturing a stack for
|
|
52
|
+
* console.error only; the projection used to discard even that.
|
|
53
|
+
*/
|
|
22
54
|
interface ConsoleLogView {
|
|
23
55
|
level: string;
|
|
24
56
|
text: string;
|
|
57
|
+
stack?: string;
|
|
58
|
+
source?: string;
|
|
25
59
|
}
|
|
26
60
|
export declare function projectConsoleLog(e: ReticleEvent): ConsoleLogView;
|
|
27
61
|
/** True for any console.* / uncaught-error event (the reticle_console universe). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-filters.d.ts","sourceRoot":"","sources":["../../src/events/event-filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-filters.d.ts","sourceRoot":"","sources":["../../src/events/event-filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/D;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAapE,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAUxF;AAED,8FAA8F;AAC9F,wBAAgB,QAAQ,CACtB,CAAC,EAAE,YAAY,EACf,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,OAAO,CAUT;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAgBnE;AAED;;4FAE4F;AAC5F,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AACD,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,WAAW,CA2B3D;AAgBD;;;;;;;GAOG;AACH,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,GAAG,cAAc,CAajE;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,OAAO,CASvD;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAMhF;AAKD,iEAAiE;AACjE,UAAU,cAAc;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,UAAU,YAAY;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,YAAY,CAUjE;AAED,sFAAsF;AACtF,UAAU,kBAAkB;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,UAAU,gBAAgB;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,kBAAkB,CAAC;CAC7B;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAU7E"}
|
|
@@ -1,9 +1,46 @@
|
|
|
1
1
|
import { EventType } from '@reticlehq/core';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
import { asString, asNumber } from '../tools/tools-helpers.js';
|
|
3
|
+
import { mergeNetworkDetail } from '../input/network-detail.js';
|
|
4
|
+
/**
|
|
5
|
+
* The friendly bucket names reticle_observe's `filters` param advertises → the real event types.
|
|
6
|
+
*
|
|
7
|
+
* The schema promised `dom | net | route | console | animation | signal`, but the handler filtered
|
|
8
|
+
* with `filters.includes(e.type)` against types like `net.request` and `dom.added` — so every
|
|
9
|
+
* documented value matched nothing, and an agent passing `filters:['net']` to trim its payload got an
|
|
10
|
+
* EMPTY timeline instead. Empty reads as "the app did nothing" — a false green produced by using the
|
|
11
|
+
* feature exactly as documented. Mapping the bucket to its member types makes the documented values
|
|
12
|
+
* work; raw types are still accepted (see eventMatchesFilters) so neither spelling surprises a caller.
|
|
13
|
+
*/
|
|
14
|
+
export const OBSERVE_FILTER_BUCKETS = {
|
|
15
|
+
dom: [EventType.DOM_ADDED, EventType.DOM_REMOVED, EventType.DOM_ATTR, EventType.DOM_TEXT],
|
|
16
|
+
net: [EventType.NET_REQUEST, EventType.NET_PENDING, EventType.NET_STREAM],
|
|
17
|
+
route: [EventType.ROUTE_CHANGE],
|
|
18
|
+
console: [EventType.CONSOLE_ERROR, EventType.ERROR_UNCAUGHT],
|
|
19
|
+
animation: [EventType.ANIM_START, EventType.ANIM_END],
|
|
20
|
+
signal: [EventType.SIGNAL],
|
|
21
|
+
// perf/state/storage are single-type buckets. They resolve through the raw-type fallback anyway,
|
|
22
|
+
// but naming them keeps the advertised vocabulary and the real one identical — the mismatch between
|
|
23
|
+
// those two is the bug this map exists to fix, so leaving observable types out of it would reopen it.
|
|
24
|
+
perf: [EventType.PERF],
|
|
25
|
+
state: [EventType.STATE_CHANGE],
|
|
26
|
+
storage: [EventType.STORAGE_CHANGE],
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* True when an event passes an observe `filters` allowlist. A filter entry matches either as a bucket
|
|
30
|
+
* name (`net` keeps every net.* type) or as a raw event type (`net.request`). Unknown entries match
|
|
31
|
+
* nothing rather than throwing — a typo narrows the result, it never crashes the observe.
|
|
32
|
+
*/
|
|
33
|
+
export function eventMatchesFilters(e, filters) {
|
|
34
|
+
for (const f of filters) {
|
|
35
|
+
// `Object.hasOwn`, not a bare index: a plain-object map inherits from Object.prototype, so a
|
|
36
|
+
// filter value like "toString" or "hasOwnProperty" would resolve to the inherited FUNCTION and
|
|
37
|
+
// then `.includes` would throw — a crash on an odd-but-harmless agent input. Only an OWN key is a
|
|
38
|
+
// real bucket; anything else falls through to the raw-type comparison.
|
|
39
|
+
const bucket = Object.hasOwn(OBSERVE_FILTER_BUCKETS, f) ? OBSERVE_FILTER_BUCKETS[f] : undefined;
|
|
40
|
+
if (bucket !== undefined ? bucket.includes(e.type) : e.type === f)
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
7
44
|
}
|
|
8
45
|
/** Match a net.request event against optional method/url/status filters (reticle_network). */
|
|
9
46
|
export function matchNet(e, method, urlContains, status) {
|
|
@@ -25,6 +62,9 @@ export function matchNet(e, method, urlContains, status) {
|
|
|
25
62
|
* pending: true }` so a numeric `status` filter excludes them but `urlContains`/`method` match.
|
|
26
63
|
*/
|
|
27
64
|
export function reconcileNet(events) {
|
|
65
|
+
// Fold CDP-authoritative detail (driven path) onto the matching in-page request first, so the driven
|
|
66
|
+
// view carries the full headers/status the page-side wrapper couldn't see (no-op when none present).
|
|
67
|
+
events = mergeNetworkDetail(events);
|
|
28
68
|
const completed = events.filter((e) => e.type === EventType.NET_REQUEST);
|
|
29
69
|
const doneIds = new Set(completed.map((e) => asString(e.data['id'])).filter((id) => id !== undefined));
|
|
30
70
|
const unresolved = events
|
|
@@ -40,25 +80,72 @@ export function reconcileNet(events) {
|
|
|
40
80
|
export function projectNetCall(e) {
|
|
41
81
|
const status = e.data['status'];
|
|
42
82
|
const ms = asNumber(e.data['durationMs']);
|
|
83
|
+
const statusText = asString(e.data['statusText']);
|
|
84
|
+
const contentType = asString(e.data['contentType']);
|
|
85
|
+
const responseSize = asNumber(e.data['responseSize']);
|
|
86
|
+
const requestBody = asString(e.data['requestBody']);
|
|
87
|
+
const responseBody = asString(e.data['responseBody']);
|
|
43
88
|
const view = {
|
|
44
89
|
method: asString(e.data['method']) ?? '',
|
|
45
90
|
url: asString(e.data['url']) ?? '',
|
|
46
91
|
};
|
|
47
92
|
if (typeof status === 'number' || typeof status === 'string')
|
|
48
93
|
view.status = status;
|
|
94
|
+
if (statusText !== undefined)
|
|
95
|
+
view.statusText = statusText;
|
|
96
|
+
if (contentType !== undefined)
|
|
97
|
+
view.contentType = contentType;
|
|
98
|
+
if (responseSize !== undefined)
|
|
99
|
+
view.responseSize = responseSize;
|
|
100
|
+
if (requestBody !== undefined)
|
|
101
|
+
view.requestBody = requestBody;
|
|
102
|
+
if (responseBody !== undefined)
|
|
103
|
+
view.responseBody = responseBody;
|
|
104
|
+
if (e.data['requestBodyTruncated'] === true || e.data['responseBodyTruncated'] === true) {
|
|
105
|
+
view.bodyTruncated = true;
|
|
106
|
+
}
|
|
49
107
|
if (ms !== undefined)
|
|
50
108
|
view.ms = ms;
|
|
109
|
+
const headers = e.data['headers'];
|
|
110
|
+
if (headers !== null && typeof headers === 'object') {
|
|
111
|
+
view.headers = headers;
|
|
112
|
+
}
|
|
51
113
|
return view;
|
|
52
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* How many stack frames reach the agent.
|
|
117
|
+
*
|
|
118
|
+
* A raw stack is mostly framework internals, and padding a failure report with them is not free —
|
|
119
|
+
* the frames that identify the origin are the first few, and everything after is context the agent
|
|
120
|
+
* has to read past. Four keeps the error line plus the app frames that actually called it.
|
|
121
|
+
*/
|
|
122
|
+
const MAX_STACK_FRAMES = 4;
|
|
123
|
+
/** Trim a stack to the frames that locate the fault. */
|
|
124
|
+
function topFrames(stack) {
|
|
125
|
+
return stack.split('\n').slice(0, MAX_STACK_FRAMES).join('\n');
|
|
126
|
+
}
|
|
53
127
|
export function projectConsoleLog(e) {
|
|
54
128
|
const level = e.type === EventType.ERROR_UNCAUGHT ? 'error' : e.type.replace('console.', '');
|
|
55
|
-
|
|
129
|
+
const view = { level, text: asString(e.data['message']) ?? '' };
|
|
130
|
+
const stack = asString(e.data['stack']);
|
|
131
|
+
if (stack !== undefined && stack.length > 0)
|
|
132
|
+
view.stack = topFrames(stack);
|
|
133
|
+
// An uncaught error reports its origin as discrete fields rather than in a stack; render them in
|
|
134
|
+
// the same file:line form the element descriptors use so the agent reads one shape everywhere.
|
|
135
|
+
const source = asString(e.data['source']);
|
|
136
|
+
const line = e.data['line'];
|
|
137
|
+
if (source !== undefined && source.length > 0) {
|
|
138
|
+
view.source = typeof line === 'number' ? `${source}:${String(line)}` : source;
|
|
139
|
+
}
|
|
140
|
+
return view;
|
|
56
141
|
}
|
|
57
142
|
/** True for any console.* / uncaught-error event (the reticle_console universe). */
|
|
58
143
|
export function isConsoleEvent(e) {
|
|
59
144
|
return (e.type === EventType.CONSOLE_LOG ||
|
|
60
145
|
e.type === EventType.CONSOLE_WARN ||
|
|
61
146
|
e.type === EventType.CONSOLE_ERROR ||
|
|
147
|
+
e.type === EventType.CONSOLE_INFO ||
|
|
148
|
+
e.type === EventType.CONSOLE_DEBUG ||
|
|
62
149
|
e.type === EventType.ERROR_UNCAUGHT);
|
|
63
150
|
}
|
|
64
151
|
/** Match a console/error event against an optional level filter (reticle_console). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-filters.js","sourceRoot":"","sources":["../../src/events/event-filters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"event-filters.js","sourceRoot":"","sources":["../../src/events/event-filters.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,6 +58,21 @@ export interface EvalResult {
|
|
|
58
58
|
pass: boolean;
|
|
59
59
|
evidence?: unknown;
|
|
60
60
|
failureReason?: string;
|
|
61
|
+
/**
|
|
62
|
+
* The failure, structured — what was seen, what was required, and which oracle judged it.
|
|
63
|
+
*
|
|
64
|
+
* `failureReason` says the same thing in prose, and prose is the WRONG shape for this: measured on
|
|
65
|
+
* three seeded bugs, an agent handed observed/expected/assertion alongside the source pointer used
|
|
66
|
+
* fewer tool calls than one handed the pointer alone, and the repair literature has structured
|
|
67
|
+
* feedback beating rich natural-language feedback by 10.5pp. The prose stays for humans reading a
|
|
68
|
+
* log; these three fields are for the agent.
|
|
69
|
+
*
|
|
70
|
+
* Optional because they are populated per oracle, not globally — see the note in predicate.ts on
|
|
71
|
+
* which classes carry them today.
|
|
72
|
+
*/
|
|
73
|
+
observed?: string;
|
|
74
|
+
expected?: string;
|
|
75
|
+
assertion?: string;
|
|
61
76
|
}
|
|
62
77
|
/**
|
|
63
78
|
* Match one value against a pattern. Supports `*` (present), strict equality, and operators:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicate-eval.d.ts","sourceRoot":"","sources":["../../src/events/predicate-eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAEZ,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAChF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACvE;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1C,eAAO,MAAM,eAAe,EAuDZ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAErC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"predicate-eval.d.ts","sourceRoot":"","sources":["../../src/events/predicate-eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,YAAY,EAEZ,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,CAAC,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GAChF;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACvE;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1E;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GACxE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,SAAS,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,SAAS,EAAE,SAAS,CAAA;CAAE,CAAC;AAE1C,eAAO,MAAM,eAAe,EAuDZ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAErC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AASD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAgD/D;AAUD,wBAAgB,OAAO,CACrB,MAAM,EAAE,YAAY,EAAE,EACtB,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,KAAK,CAAA;CAAE,CAAC,GACrC,UAAU,CAsCZ;AAED,wBAAgB,SAAS,CACvB,MAAM,EAAE,YAAY,EAAE,EACtB,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,GACvC,UAAU,CAgCZ;AASD,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EAAE,EACtB,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,GACzC,UAAU,CAiDZ;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,YAAY,EAAE,EACtB,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,CAAC,GAC3C,UAAU,CAiBZ;AAED,wBAAgB,UAAU,CACxB,MAAM,EAAE,YAAY,EAAE,EACtB,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GACxC,UAAU,CAuCZ;AA8BD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,YAAY,EAAE,EACtB,CAAC,EAAE,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EAC1C,GAAG,EAAE,MAAM,GACV,UAAU,CAkEZ"}
|
|
@@ -67,8 +67,16 @@ function num(value) {
|
|
|
67
67
|
export function matchValue(got, want) {
|
|
68
68
|
if (want === '*')
|
|
69
69
|
return got !== undefined;
|
|
70
|
-
|
|
71
|
-
|
|
70
|
+
// An object is an OPERATOR container only if it actually carries a `$`-prefixed operator. An empty
|
|
71
|
+
// `{}` (or an object with no `$` key) used to enter this branch, iterate zero recognized operators,
|
|
72
|
+
// and `return true` — so `equals: {}` / `dataMatches: {status: {}}` was a green assertion that
|
|
73
|
+
// passed against ANYTHING, undefined included: the exact false green the oracle exists to catch.
|
|
74
|
+
// Without an operator it is a literal to compare, and falls through to strict equality below.
|
|
75
|
+
const ops = typeof want === 'object' && want !== null && !Array.isArray(want)
|
|
76
|
+
? Object.entries(want)
|
|
77
|
+
: undefined;
|
|
78
|
+
if (ops !== undefined && ops.some(([op]) => op.startsWith('$'))) {
|
|
79
|
+
for (const [op, val] of ops) {
|
|
72
80
|
const n = typeof got === 'number' ? got : NaN;
|
|
73
81
|
switch (op) {
|
|
74
82
|
case '$gte':
|
|
@@ -146,30 +154,75 @@ export function evalNet(events, p) {
|
|
|
146
154
|
: {
|
|
147
155
|
pass: false,
|
|
148
156
|
failureReason: `expected ${String(p.count)} network call(s) matching ${JSON.stringify({ method: p.method, urlContains: p.urlContains, status: p.status })}, saw ${String(matches.length)}`,
|
|
157
|
+
observed: `${String(matches.length)} matching network call(s)`,
|
|
158
|
+
expected: `exactly ${String(p.count)} matching ${JSON.stringify({ method: p.method, urlContains: p.urlContains, status: p.status })}`,
|
|
159
|
+
assertion: 'net.count',
|
|
149
160
|
};
|
|
150
161
|
}
|
|
151
162
|
const hit = matches[0];
|
|
152
163
|
return hit !== undefined
|
|
153
164
|
? { pass: true, evidence: hit.data }
|
|
154
|
-
: {
|
|
165
|
+
: {
|
|
166
|
+
pass: false,
|
|
167
|
+
failureReason: `no network call matched ${JSON.stringify(p)}`,
|
|
168
|
+
observed: 'no matching network call in the window',
|
|
169
|
+
expected: `at least one call matching ${JSON.stringify(p)}`,
|
|
170
|
+
assertion: 'net.present',
|
|
171
|
+
};
|
|
155
172
|
}
|
|
156
173
|
export function evalRoute(events, p) {
|
|
157
174
|
const routes = events.filter((e) => e.type === EventType.ROUTE_CHANGE);
|
|
158
175
|
const last = routes.at(-1);
|
|
159
176
|
if (last === undefined) {
|
|
160
|
-
return {
|
|
177
|
+
return {
|
|
178
|
+
pass: false,
|
|
179
|
+
failureReason: 'no route change observed',
|
|
180
|
+
observed: 'no route change in the window',
|
|
181
|
+
expected: `a route change to ${p.pathname ?? p.contains ?? 'any route'}`,
|
|
182
|
+
assertion: 'route.changed',
|
|
183
|
+
};
|
|
161
184
|
}
|
|
162
185
|
const pathname = str(last.data['pathname']) ?? str(last.data['to']) ?? '';
|
|
163
186
|
if (p.pathname !== undefined && pathname !== p.pathname) {
|
|
164
|
-
return {
|
|
187
|
+
return {
|
|
188
|
+
pass: false,
|
|
189
|
+
failureReason: `route is '${pathname}', expected '${p.pathname}'`,
|
|
190
|
+
observed: `route '${pathname}'`,
|
|
191
|
+
expected: `route '${p.pathname}'`,
|
|
192
|
+
assertion: 'route.pathname',
|
|
193
|
+
};
|
|
165
194
|
}
|
|
166
195
|
if (p.contains !== undefined && !pathname.includes(p.contains)) {
|
|
167
|
-
return {
|
|
196
|
+
return {
|
|
197
|
+
pass: false,
|
|
198
|
+
failureReason: `route '${pathname}' does not contain '${p.contains}'`,
|
|
199
|
+
observed: `route '${pathname}'`,
|
|
200
|
+
expected: `a route containing '${p.contains}'`,
|
|
201
|
+
assertion: 'route.contains',
|
|
202
|
+
};
|
|
168
203
|
}
|
|
169
204
|
return { pass: true, evidence: last.data };
|
|
170
205
|
}
|
|
206
|
+
/** The only console levels Reticle instruments (console.info/debug/trace are NOT patched). */
|
|
207
|
+
const CONSOLE_LEVEL_TYPE = {
|
|
208
|
+
log: EventType.CONSOLE_LOG,
|
|
209
|
+
warn: EventType.CONSOLE_WARN,
|
|
210
|
+
error: EventType.CONSOLE_ERROR,
|
|
211
|
+
};
|
|
171
212
|
export function evalConsole(events, p) {
|
|
172
213
|
const since = p.since ?? 0;
|
|
214
|
+
// Reticle only instruments console.log/warn/error. A level outside that set is never captured,
|
|
215
|
+
// so its events can't exist — and an `absent` assertion on it would verify NOTHING while
|
|
216
|
+
// reporting green. Fail loudly instead of false-passing.
|
|
217
|
+
if (p.level !== undefined && p.level !== 'error' && CONSOLE_LEVEL_TYPE[p.level] === undefined) {
|
|
218
|
+
return {
|
|
219
|
+
pass: false,
|
|
220
|
+
failureReason: `console level '${p.level}' is not captured — Reticle instruments console.log, console.warn, console.error only`,
|
|
221
|
+
observed: `level '${p.level}' is not instrumented, so no event of it can ever exist`,
|
|
222
|
+
expected: 'a level Reticle captures: log, warn, or error',
|
|
223
|
+
assertion: 'console.uninstrumented-level',
|
|
224
|
+
};
|
|
225
|
+
}
|
|
173
226
|
const matches = events.filter((e) => {
|
|
174
227
|
if (e.t < since)
|
|
175
228
|
return false;
|
|
@@ -182,7 +235,7 @@ export function evalConsole(events, p) {
|
|
|
182
235
|
}
|
|
183
236
|
if (p.level === 'error')
|
|
184
237
|
return isErr;
|
|
185
|
-
return e.type ===
|
|
238
|
+
return e.type === CONSOLE_LEVEL_TYPE[p.level];
|
|
186
239
|
});
|
|
187
240
|
if (p.absent === true) {
|
|
188
241
|
return matches.length === 0
|
|
@@ -190,12 +243,21 @@ export function evalConsole(events, p) {
|
|
|
190
243
|
: {
|
|
191
244
|
pass: false,
|
|
192
245
|
failureReason: `expected no ${p.level ?? 'console'} entries but found ${String(matches.length)}`,
|
|
246
|
+
observed: `${String(matches.length)} ${p.level ?? 'console'} entr${matches.length === 1 ? 'y' : 'ies'}`,
|
|
247
|
+
expected: `no ${p.level ?? 'console'} entries`,
|
|
248
|
+
assertion: 'console.absent',
|
|
193
249
|
evidence: matches.map((e) => e.data),
|
|
194
250
|
};
|
|
195
251
|
}
|
|
196
252
|
return matches.length > 0
|
|
197
253
|
? { pass: true, evidence: matches.map((e) => e.data) }
|
|
198
|
-
: {
|
|
254
|
+
: {
|
|
255
|
+
pass: false,
|
|
256
|
+
failureReason: `no ${p.level ?? 'console'} entries found`,
|
|
257
|
+
observed: `no ${p.level ?? 'console'} entries in the window`,
|
|
258
|
+
expected: `at least one ${p.level ?? 'console'} entry`,
|
|
259
|
+
assertion: 'console.present',
|
|
260
|
+
};
|
|
199
261
|
}
|
|
200
262
|
export function evalAnimation(events, p) {
|
|
201
263
|
const wantType = p.completed === true ? EventType.ANIM_END : EventType.ANIM_START;
|
|
@@ -210,7 +272,13 @@ export function evalAnimation(events, p) {
|
|
|
210
272
|
});
|
|
211
273
|
return hit !== undefined
|
|
212
274
|
? { pass: true, evidence: hit.data }
|
|
213
|
-
: {
|
|
275
|
+
: {
|
|
276
|
+
pass: false,
|
|
277
|
+
failureReason: `no animation matched ${JSON.stringify(p)}`,
|
|
278
|
+
observed: 'no matching animation in the window',
|
|
279
|
+
expected: `an animation matching ${JSON.stringify(p)}`,
|
|
280
|
+
assertion: 'animation.present',
|
|
281
|
+
};
|
|
214
282
|
}
|
|
215
283
|
export function evalSignal(events, p) {
|
|
216
284
|
const hit = events.find((e) => {
|
|
@@ -236,6 +304,16 @@ export function evalSignal(events, p) {
|
|
|
236
304
|
failureReason: sameName.length > 0
|
|
237
305
|
? `signal '${p.name ?? '(any)'}' fired ${String(sameName.length)}x but data didn't match`
|
|
238
306
|
: `no signal matched ${JSON.stringify(p)}`,
|
|
307
|
+
observed: sameName.length > 0
|
|
308
|
+
? `signal '${p.name ?? '(any)'}' fired ${String(sameName.length)}x, payload: ${JSON.stringify(sameName[0])}`
|
|
309
|
+
: `signal '${p.name ?? '(any)'}' never fired in the window`,
|
|
310
|
+
expected: p.dataMatches === undefined
|
|
311
|
+
? `signal '${p.name ?? '(any)'}' to fire`
|
|
312
|
+
: `signal '${p.name ?? '(any)'}' with payload matching ${JSON.stringify(p.dataMatches)}`,
|
|
313
|
+
// Two distinct failures behind one prose line: never fired at all, versus fired with the wrong
|
|
314
|
+
// payload. They call for different fixes, so the agent should not have to tell them apart by
|
|
315
|
+
// reading the sentence.
|
|
316
|
+
assertion: sameName.length > 0 ? 'signal.payload' : 'signal.absent',
|
|
239
317
|
evidence: sameName.length > 0 ? { nearMiss: sameName } : undefined,
|
|
240
318
|
};
|
|
241
319
|
}
|
|
@@ -272,6 +350,46 @@ const DEFAULT_QUIET_MS = 500;
|
|
|
272
350
|
*/
|
|
273
351
|
export function evalSettled(events, p, now) {
|
|
274
352
|
const quietMs = p.quietMs ?? DEFAULT_QUIET_MS;
|
|
353
|
+
// A request that STARTED (NET_PENDING) but never completed (NET_REQUEST with the same id) is
|
|
354
|
+
// still in flight — the page is NOT settled no matter how quiet the DOM has gone. Without this,
|
|
355
|
+
// a slow save reads as "settled" the instant its spinner stops mutating the DOM: the exact
|
|
356
|
+
// false-green `settled` exists to prevent.
|
|
357
|
+
//
|
|
358
|
+
// COUNT per id, don't just set-membership: a retry that reuses a request id (two NET_PENDING, one
|
|
359
|
+
// NET_REQUEST) would mark the id "done" and hide the second, still-flying request — an in-flight
|
|
360
|
+
// UNDERCOUNT that greens settle while a request is live. In-flight for an id is pendings minus
|
|
361
|
+
// completions (floored at 0); unkeyed pendings each count as one.
|
|
362
|
+
const pendingById = new Map();
|
|
363
|
+
const doneById = new Map();
|
|
364
|
+
let unkeyedPending = 0;
|
|
365
|
+
for (const e of events) {
|
|
366
|
+
if (e.type === EventType.NET_PENDING) {
|
|
367
|
+
const id = str(e.data['id']);
|
|
368
|
+
if (id === undefined)
|
|
369
|
+
unkeyedPending += 1;
|
|
370
|
+
else
|
|
371
|
+
pendingById.set(id, (pendingById.get(id) ?? 0) + 1);
|
|
372
|
+
}
|
|
373
|
+
else if (e.type === EventType.NET_REQUEST) {
|
|
374
|
+
const id = str(e.data['id']);
|
|
375
|
+
if (id !== undefined)
|
|
376
|
+
doneById.set(id, (doneById.get(id) ?? 0) + 1);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
let inFlight = unkeyedPending;
|
|
380
|
+
for (const [id, pending] of pendingById) {
|
|
381
|
+
inFlight += Math.max(0, pending - (doneById.get(id) ?? 0));
|
|
382
|
+
}
|
|
383
|
+
if (inFlight > 0) {
|
|
384
|
+
return {
|
|
385
|
+
pass: false,
|
|
386
|
+
failureReason: `not settled: ${String(inFlight)} request(s) still in flight`,
|
|
387
|
+
observed: `${String(inFlight)} request(s) still in flight`,
|
|
388
|
+
expected: 'no requests in flight',
|
|
389
|
+
assertion: 'settled.in-flight',
|
|
390
|
+
evidence: { settled: false, inFlight },
|
|
391
|
+
};
|
|
392
|
+
}
|
|
275
393
|
let lastT = -1;
|
|
276
394
|
let lastType;
|
|
277
395
|
for (const e of events) {
|
|
@@ -293,6 +411,9 @@ export function evalSettled(events, p, now) {
|
|
|
293
411
|
return {
|
|
294
412
|
pass: false,
|
|
295
413
|
failureReason: `not settled: last activity (${String(lastType)}) ${String(quietForMs)}ms ago, need ${String(quietMs)}ms quiet`,
|
|
414
|
+
observed: `last activity was ${String(lastType)}, ${String(quietForMs)}ms ago`,
|
|
415
|
+
expected: `${String(quietMs)}ms of quiet`,
|
|
416
|
+
assertion: 'settled.quiet',
|
|
296
417
|
evidence: { quietForMs, lastActivity: lastType },
|
|
297
418
|
};
|
|
298
419
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicate-eval.js","sourceRoot":"","sources":["../../src/events/predicate-eval.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"predicate-eval.js","sourceRoot":"","sources":["../../src/events/predicate-eval.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { type CommandResult, type ReticleEvent } from '@reticlehq/core';
|
|
2
|
+
import type { ExpectedLink } from '../capsule/divergence.js';
|
|
3
|
+
import { type AmbientCounts } from '../journal/ambient.js';
|
|
2
4
|
import { PredicateSchema, type Predicate, type EvalResult } from './predicate-eval.js';
|
|
3
5
|
export { PredicateSchema };
|
|
4
6
|
export type { Predicate, EvalResult };
|
|
@@ -9,11 +11,30 @@ export interface PredicateSession {
|
|
|
9
11
|
onEvent(listener: (event: ReticleEvent) => void): () => void;
|
|
10
12
|
/** Milliseconds since connect — the same clock that stamps event `t` (injected, testable). */
|
|
11
13
|
elapsed(): number;
|
|
14
|
+
/**
|
|
15
|
+
* Learned per-ref ambient-churn counts (real-time regions that churn with no action driving them).
|
|
16
|
+
* The settle oracle drops events on learned-ambient refs so a chat/ticker page can still go quiet.
|
|
17
|
+
* Optional: a session without ambient learning simply omits it and settle behaves as before.
|
|
18
|
+
*/
|
|
19
|
+
ambientCounts?(): AmbientCounts;
|
|
12
20
|
}
|
|
13
|
-
export declare function evaluatePredicate(session: PredicateSession, predicate: Predicate, since?: number): Promise<EvalResult>;
|
|
21
|
+
export declare function evaluatePredicate(session: PredicateSession, predicate: Predicate, since?: number, diagnose?: boolean): Promise<EvalResult>;
|
|
14
22
|
/**
|
|
15
23
|
* Evaluate now, else wait for it to become true (on each event + a poll) until timeout. `since` is
|
|
16
24
|
* the event-time floor (see evaluatePredicate) so a waiter cannot resolve on a stale buffered event.
|
|
17
25
|
*/
|
|
18
26
|
export declare function waitForPredicate(session: PredicateSession, predicate: Predicate, timeoutMs: number, since?: number): Promise<EvalResult>;
|
|
27
|
+
/**
|
|
28
|
+
* The ExpectedLinks a GREEN verdict actually PROVED — not merely the ones it declared. Identical to
|
|
29
|
+
* predicateToExpectedLinks except for `anyOf`: an OR greens on a SINGLE branch, so only the branch that
|
|
30
|
+
* held may contribute its link. Grading a green anyOf off the declared links would let the honesty grade
|
|
31
|
+
* claim a signal/net consequence that was only one of the options and never fired — and a `minGrade:net`
|
|
32
|
+
* gate would then trust a verdict that proved nothing but presence. That is the exact false green the
|
|
33
|
+
* grade exists to prevent, sitting inside the grade itself.
|
|
34
|
+
*
|
|
35
|
+
* Call ONLY on a green verdict: a leaf and every `allOf` branch are returned unconditionally because a
|
|
36
|
+
* green top verdict guarantees they held (allOf needs all; a bare leaf IS the verdict). Only anyOf, where
|
|
37
|
+
* green ⇏ this-branch-held, re-checks each branch and keeps the winners.
|
|
38
|
+
*/
|
|
39
|
+
export declare function provenExpectedLinks(session: PredicateSession, predicate: Predicate, since?: number): Promise<ExpectedLink[]>;
|
|
19
40
|
//# sourceMappingURL=predicate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicate.d.ts","sourceRoot":"","sources":["../../src/events/predicate.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"predicate.d.ts","sourceRoot":"","sources":["../../src/events/predicate.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAElB,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EACL,eAAe,EAQf,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;AAEtC,wFAAwF;AACxF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;IAC5C,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;IAC7D,8FAA8F;IAC9F,OAAO,IAAI,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,IAAI,aAAa,CAAC;CACjC;AA6KD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,KAAK,SAAI,EAKT,QAAQ,UAAO,GACd,OAAO,CAAC,UAAU,CAAC,CAuErB;AASD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAI,GACR,OAAO,CAAC,UAAU,CAAC,CAqFrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,SAAS,EACpB,KAAK,SAAI,GACR,OAAO,CAAC,YAAY,EAAE,CAAC,CAkBzB"}
|