@reticlehq/server 2.1.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-ENTERPRISE +37 -0
- package/README.md +5 -1
- package/dist/bridge-security.d.ts +1 -1
- package/dist/bridge-security.js +1 -1
- package/dist/bridge.d.ts +7 -0
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +22 -3
- package/dist/bridge.js.map +1 -1
- package/dist/bridge.test-harness.d.ts +5 -0
- package/dist/bridge.test-harness.d.ts.map +1 -1
- package/dist/bridge.test-harness.js +4 -0
- package/dist/bridge.test-harness.js.map +1 -1
- package/dist/capsule/capsule-store.d.ts +66 -0
- package/dist/capsule/capsule-store.d.ts.map +1 -0
- package/dist/capsule/capsule-store.js +110 -0
- package/dist/capsule/capsule-store.js.map +1 -0
- package/dist/capsule/capsule.d.ts +19 -0
- package/dist/capsule/capsule.d.ts.map +1 -0
- package/dist/capsule/capsule.js +36 -0
- package/dist/capsule/capsule.js.map +1 -0
- package/dist/capsule/causal-summary.d.ts +36 -0
- package/dist/capsule/causal-summary.d.ts.map +1 -0
- package/dist/capsule/causal-summary.js +111 -0
- package/dist/capsule/causal-summary.js.map +1 -0
- package/dist/capsule/divergence.d.ts +31 -0
- package/dist/capsule/divergence.d.ts.map +1 -0
- package/dist/capsule/divergence.js +41 -0
- package/dist/capsule/divergence.js.map +1 -0
- package/dist/capsule/minimize.d.ts +13 -0
- package/dist/capsule/minimize.d.ts.map +1 -0
- package/dist/capsule/minimize.js +23 -0
- package/dist/capsule/minimize.js.map +1 -0
- package/dist/capsule/predicate-to-links.d.ts +9 -0
- package/dist/capsule/predicate-to-links.d.ts.map +1 -0
- package/dist/capsule/predicate-to-links.js +31 -0
- package/dist/capsule/predicate-to-links.js.map +1 -0
- package/dist/cli-flow-commands.d.ts +31 -0
- package/dist/cli-flow-commands.d.ts.map +1 -0
- package/dist/cli-flow-commands.js +207 -0
- package/dist/cli-flow-commands.js.map +1 -0
- package/dist/cli-parse.d.ts +18 -2
- package/dist/cli-parse.d.ts.map +1 -1
- package/dist/cli-parse.js +57 -0
- package/dist/cli-parse.js.map +1 -1
- package/dist/cli-port.d.ts +10 -4
- package/dist/cli-port.d.ts.map +1 -1
- package/dist/cli-port.js +32 -6
- package/dist/cli-port.js.map +1 -1
- package/dist/cli-verify.d.ts.map +1 -1
- package/dist/cli-verify.js +29 -10
- package/dist/cli-verify.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +81 -2
- package/dist/cli.js.map +1 -1
- package/dist/crawl/crawl-tools.d.ts.map +1 -1
- package/dist/crawl/crawl-tools.js +12 -0
- package/dist/crawl/crawl-tools.js.map +1 -1
- package/dist/crawl/crawl.d.ts +23 -1
- package/dist/crawl/crawl.d.ts.map +1 -1
- package/dist/crawl/crawl.js +36 -9
- package/dist/crawl/crawl.js.map +1 -1
- package/dist/daemon-resilience.d.ts +5 -5
- package/dist/daemon-resilience.js +5 -5
- package/dist/daemon.d.ts +1 -1
- package/dist/daemon.js +1 -1
- package/dist/domain/domain-tools.d.ts.map +1 -1
- package/dist/domain/domain-tools.js +11 -1
- package/dist/domain/domain-tools.js.map +1 -1
- package/dist/domain/flow-risk.d.ts +4 -4
- package/dist/domain/flow-risk.js +4 -4
- package/dist/ee/audit-log.d.ts +2 -2
- package/dist/ee/audit-log.js +2 -2
- package/dist/events/event-filters.d.ts +29 -1
- package/dist/events/event-filters.d.ts.map +1 -1
- package/dist/events/event-filters.js +75 -1
- package/dist/events/event-filters.js.map +1 -1
- package/dist/events/predicate-eval.d.ts +15 -0
- package/dist/events/predicate-eval.d.ts.map +1 -1
- package/dist/events/predicate-eval.js +97 -18
- package/dist/events/predicate-eval.js.map +1 -1
- package/dist/events/predicate.d.ts +22 -1
- package/dist/events/predicate.d.ts.map +1 -1
- package/dist/events/predicate.js +154 -20
- package/dist/events/predicate.js.map +1 -1
- package/dist/events/ring-buffer.d.ts +3 -3
- package/dist/events/ring-buffer.d.ts.map +1 -1
- package/dist/events/ring-buffer.js +54 -8
- package/dist/events/ring-buffer.js.map +1 -1
- package/dist/flows/affected.d.ts +25 -0
- package/dist/flows/affected.d.ts.map +1 -0
- package/dist/flows/affected.js +36 -0
- package/dist/flows/affected.js.map +1 -0
- package/dist/flows/annotate.d.ts +4 -4
- package/dist/flows/annotate.js +4 -4
- package/dist/flows/assertion-integrity.d.ts +24 -0
- package/dist/flows/assertion-integrity.d.ts.map +1 -0
- package/dist/flows/assertion-integrity.js +27 -0
- package/dist/flows/assertion-integrity.js.map +1 -0
- package/dist/flows/assertion-tiers-store.d.ts +80 -0
- package/dist/flows/assertion-tiers-store.d.ts.map +1 -0
- package/dist/flows/assertion-tiers-store.js +99 -0
- package/dist/flows/assertion-tiers-store.js.map +1 -0
- package/dist/flows/buddy-status.d.ts +25 -0
- package/dist/flows/buddy-status.d.ts.map +1 -0
- package/dist/flows/buddy-status.js +33 -0
- package/dist/flows/buddy-status.js.map +1 -0
- package/dist/flows/coverage.d.ts +28 -0
- package/dist/flows/coverage.d.ts.map +1 -0
- package/dist/flows/coverage.js +22 -0
- package/dist/flows/coverage.js.map +1 -0
- package/dist/flows/decision.d.ts.map +1 -1
- package/dist/flows/decision.js +16 -8
- package/dist/flows/decision.js.map +1 -1
- package/dist/flows/flake-store.d.ts +20 -0
- package/dist/flows/flake-store.d.ts.map +1 -0
- package/dist/flows/flake-store.js +59 -0
- package/dist/flows/flake-store.js.map +1 -0
- package/dist/flows/flake.d.ts +58 -0
- package/dist/flows/flake.d.ts.map +1 -0
- package/dist/flows/flake.js +36 -0
- package/dist/flows/flake.js.map +1 -0
- package/dist/flows/flow-classify.d.ts +8 -8
- package/dist/flows/flow-classify.js +8 -8
- package/dist/flows/flow-replay-run.d.ts.map +1 -1
- package/dist/flows/flow-replay-run.js +36 -0
- package/dist/flows/flow-replay-run.js.map +1 -1
- package/dist/flows/flow-replay.d.ts +9 -0
- package/dist/flows/flow-replay.d.ts.map +1 -1
- package/dist/flows/flow-replay.js +48 -13
- package/dist/flows/flow-replay.js.map +1 -1
- package/dist/flows/flow-report.d.ts +4 -4
- package/dist/flows/flow-sources.d.ts +20 -0
- package/dist/flows/flow-sources.d.ts.map +1 -0
- package/dist/flows/flow-sources.js +33 -0
- package/dist/flows/flow-sources.js.map +1 -0
- package/dist/flows/flow-tools.d.ts +13 -1
- package/dist/flows/flow-tools.d.ts.map +1 -1
- package/dist/flows/flow-tools.js +92 -5
- package/dist/flows/flow-tools.js.map +1 -1
- package/dist/flows/flows.d.ts +9 -4
- package/dist/flows/flows.d.ts.map +1 -1
- package/dist/flows/flows.js +38 -21
- package/dist/flows/flows.js.map +1 -1
- package/dist/flows/gate.d.ts +39 -0
- package/dist/flows/gate.d.ts.map +1 -0
- package/dist/flows/gate.js +34 -0
- package/dist/flows/gate.js.map +1 -0
- package/dist/flows/git-changed.d.ts +9 -0
- package/dist/flows/git-changed.d.ts.map +1 -0
- package/dist/flows/git-changed.js +25 -0
- package/dist/flows/git-changed.js.map +1 -0
- package/dist/flows/heal-run.d.ts +1 -1
- package/dist/flows/heal-run.js +1 -1
- package/dist/flows/parallel-suite.d.ts +27 -0
- package/dist/flows/parallel-suite.d.ts.map +1 -0
- package/dist/flows/parallel-suite.js +51 -0
- package/dist/flows/parallel-suite.js.map +1 -0
- package/dist/flows/replay.d.ts.map +1 -1
- package/dist/flows/replay.js +33 -11
- package/dist/flows/replay.js.map +1 -1
- package/dist/flows/watch-batcher.d.ts +18 -0
- package/dist/flows/watch-batcher.d.ts.map +1 -0
- package/dist/flows/watch-batcher.js +20 -0
- package/dist/flows/watch-batcher.js.map +1 -0
- package/dist/honesty/blind-spots.d.ts +37 -0
- package/dist/honesty/blind-spots.d.ts.map +1 -0
- package/dist/honesty/blind-spots.js +57 -0
- package/dist/honesty/blind-spots.js.map +1 -0
- package/dist/honesty/honesty.d.ts +57 -0
- package/dist/honesty/honesty.d.ts.map +1 -0
- package/dist/honesty/honesty.js +63 -0
- package/dist/honesty/honesty.js.map +1 -0
- package/dist/http-server.d.ts +5 -5
- package/dist/http-server.js +4 -4
- package/dist/idle-shutdown.d.ts +2 -2
- package/dist/idle-shutdown.js +2 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +98 -13
- package/dist/index.js.map +1 -1
- package/dist/init/agent-rules.d.ts +38 -0
- package/dist/init/agent-rules.d.ts.map +1 -0
- package/dist/init/agent-rules.js +65 -0
- package/dist/init/agent-rules.js.map +1 -0
- package/dist/init/plan.d.ts +6 -0
- package/dist/init/plan.d.ts.map +1 -1
- package/dist/init/plan.js +79 -3
- package/dist/init/plan.js.map +1 -1
- package/dist/init/run.d.ts.map +1 -1
- package/dist/init/run.js +4 -0
- package/dist/init/run.js.map +1 -1
- package/dist/init/snippets.js +1 -1
- package/dist/init/vite-config.d.ts +1 -1
- package/dist/init/vite-config.js +2 -2
- package/dist/init/vite-config.js.map +1 -1
- package/dist/input/network-detail.d.ts +74 -0
- package/dist/input/network-detail.d.ts.map +1 -0
- package/dist/input/network-detail.js +160 -0
- package/dist/input/network-detail.js.map +1 -0
- package/dist/input/network-mock.d.ts +4 -4
- package/dist/input/real-input.d.ts +44 -11
- package/dist/input/real-input.d.ts.map +1 -1
- package/dist/input/real-input.js +57 -9
- package/dist/input/real-input.js.map +1 -1
- package/dist/journal/ambient-store.d.ts +16 -0
- package/dist/journal/ambient-store.d.ts.map +1 -0
- package/dist/journal/ambient-store.js +46 -0
- package/dist/journal/ambient-store.js.map +1 -0
- package/dist/journal/ambient.d.ts +48 -0
- package/dist/journal/ambient.d.ts.map +1 -0
- package/dist/journal/ambient.js +48 -0
- package/dist/journal/ambient.js.map +1 -0
- package/dist/journal/attach-journal.d.ts +22 -0
- package/dist/journal/attach-journal.d.ts.map +1 -0
- package/dist/journal/attach-journal.js +20 -0
- package/dist/journal/attach-journal.js.map +1 -0
- package/dist/journal/deviation-report.d.ts +28 -0
- package/dist/journal/deviation-report.d.ts.map +1 -0
- package/dist/journal/deviation-report.js +54 -0
- package/dist/journal/deviation-report.js.map +1 -0
- package/dist/journal/deviation-service.d.ts +12 -0
- package/dist/journal/deviation-service.d.ts.map +1 -0
- package/dist/journal/deviation-service.js +32 -0
- package/dist/journal/deviation-service.js.map +1 -0
- package/dist/journal/envelope-store.d.ts +19 -0
- package/dist/journal/envelope-store.d.ts.map +1 -0
- package/dist/journal/envelope-store.js +62 -0
- package/dist/journal/envelope-store.js.map +1 -0
- package/dist/journal/envelope.d.ts +232 -0
- package/dist/journal/envelope.d.ts.map +1 -0
- package/dist/journal/envelope.js +94 -0
- package/dist/journal/envelope.js.map +1 -0
- package/dist/journal/journal-query.d.ts +20 -0
- package/dist/journal/journal-query.d.ts.map +1 -0
- package/dist/journal/journal-query.js +28 -0
- package/dist/journal/journal-query.js.map +1 -0
- package/dist/journal/journal-recorder.d.ts +38 -0
- package/dist/journal/journal-recorder.d.ts.map +1 -0
- package/dist/journal/journal-recorder.js +81 -0
- package/dist/journal/journal-recorder.js.map +1 -0
- package/dist/journal/retention.d.ts +21 -0
- package/dist/journal/retention.d.ts.map +1 -0
- package/dist/journal/retention.js +50 -0
- package/dist/journal/retention.js.map +1 -0
- package/dist/journal/rollups.d.ts +49 -0
- package/dist/journal/rollups.d.ts.map +1 -0
- package/dist/journal/rollups.js +83 -0
- package/dist/journal/rollups.js.map +1 -0
- package/dist/journal/session-end.d.ts +32 -0
- package/dist/journal/session-end.d.ts.map +1 -0
- package/dist/journal/session-end.js +52 -0
- package/dist/journal/session-end.js.map +1 -0
- package/dist/journal/session-journal.d.ts +25 -0
- package/dist/journal/session-journal.d.ts.map +1 -0
- package/dist/journal/session-journal.js +168 -0
- package/dist/journal/session-journal.js.map +1 -0
- package/dist/license/license.d.ts +8 -3
- package/dist/license/license.d.ts.map +1 -1
- package/dist/license/license.js +34 -11
- package/dist/license/license.js.map +1 -1
- package/dist/mcp-proxy.d.ts +20 -0
- package/dist/mcp-proxy.d.ts.map +1 -1
- package/dist/mcp-proxy.js +45 -27
- package/dist/mcp-proxy.js.map +1 -1
- package/dist/mcp.d.ts +14 -0
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +79 -9
- package/dist/mcp.js.map +1 -1
- package/dist/oracles/flow-instrument-gaps.d.ts +19 -0
- package/dist/oracles/flow-instrument-gaps.d.ts.map +1 -0
- package/dist/oracles/flow-instrument-gaps.js +45 -0
- package/dist/oracles/flow-instrument-gaps.js.map +1 -0
- package/dist/oracles/propose-consequences.d.ts +22 -0
- package/dist/oracles/propose-consequences.d.ts.map +1 -0
- package/dist/oracles/propose-consequences.js +93 -0
- package/dist/oracles/propose-consequences.js.map +1 -0
- package/dist/oracles/self-instrument.d.ts +32 -0
- package/dist/oracles/self-instrument.d.ts.map +1 -0
- package/dist/oracles/self-instrument.js +44 -0
- package/dist/oracles/self-instrument.js.map +1 -0
- package/dist/pairing-token.d.ts +1 -1
- package/dist/phenomena/phenomena.d.ts +27 -0
- package/dist/phenomena/phenomena.d.ts.map +1 -0
- package/dist/phenomena/phenomena.js +102 -0
- package/dist/phenomena/phenomena.js.map +1 -0
- package/dist/pool/browser-pool.d.ts +5 -3
- package/dist/pool/browser-pool.d.ts.map +1 -1
- package/dist/pool/browser-pool.js +21 -3
- package/dist/pool/browser-pool.js.map +1 -1
- package/dist/pool/playwright-launcher.d.ts.map +1 -1
- package/dist/pool/playwright-launcher.js +9 -2
- package/dist/pool/playwright-launcher.js.map +1 -1
- package/dist/project/file-lock.d.ts +2 -0
- package/dist/project/file-lock.d.ts.map +1 -0
- package/dist/project/file-lock.js +24 -0
- package/dist/project/file-lock.js.map +1 -0
- package/dist/project/fs-port.d.ts +18 -0
- package/dist/project/fs-port.d.ts.map +1 -1
- package/dist/project/fs-port.js +24 -2
- package/dist/project/fs-port.js.map +1 -1
- package/dist/project/project-store.d.ts.map +1 -1
- package/dist/project/project-store.js +13 -7
- package/dist/project/project-store.js.map +1 -1
- package/dist/project/project-tools.d.ts +0 -6
- package/dist/project/project-tools.d.ts.map +1 -1
- package/dist/project/project-tools.js +24 -1
- package/dist/project/project-tools.js.map +1 -1
- package/dist/project/reticle-dir.d.ts +39 -14
- package/dist/project/reticle-dir.d.ts.map +1 -1
- package/dist/project/reticle-dir.js +30 -4
- package/dist/project/reticle-dir.js.map +1 -1
- package/dist/runs/build-verification-run.d.ts +1 -1
- package/dist/runs/build-verification-run.js +1 -1
- package/dist/runs/repair-prompt.d.ts +2 -0
- package/dist/runs/repair-prompt.d.ts.map +1 -1
- package/dist/runs/repair-prompt.js +14 -1
- package/dist/runs/repair-prompt.js.map +1 -1
- package/dist/runs/reticle-runner.d.ts +1 -1
- package/dist/runs/reticle-runner.d.ts.map +1 -1
- package/dist/runs/run-diff.d.ts +34 -0
- package/dist/runs/run-diff.d.ts.map +1 -0
- package/dist/runs/run-diff.js +71 -0
- package/dist/runs/run-diff.js.map +1 -0
- package/dist/runs/run-store.d.ts +6 -1
- package/dist/runs/run-store.d.ts.map +1 -1
- package/dist/runs/run-store.js +22 -2
- package/dist/runs/run-store.js.map +1 -1
- package/dist/runs/run-tools.d.ts.map +1 -1
- package/dist/runs/run-tools.js +16 -3
- package/dist/runs/run-tools.js.map +1 -1
- package/dist/runs/verify-server.js +1 -1
- package/dist/runs/verify-server.js.map +1 -1
- package/dist/session/control-envelope.d.ts +9 -1
- package/dist/session/control-envelope.d.ts.map +1 -1
- package/dist/session/control-envelope.js +13 -1
- package/dist/session/control-envelope.js.map +1 -1
- package/dist/session/live-control-tools.d.ts +1 -1
- package/dist/session/live-control-tools.js +1 -1
- package/dist/session/live-control.d.ts +38 -0
- package/dist/session/live-control.d.ts.map +1 -0
- package/dist/session/live-control.js +64 -0
- package/dist/session/live-control.js.map +1 -0
- package/dist/session/observed-state.d.ts +46 -0
- package/dist/session/observed-state.d.ts.map +1 -0
- package/dist/session/observed-state.js +76 -0
- package/dist/session/observed-state.js.map +1 -0
- package/dist/session/output-budget.d.ts +9 -0
- package/dist/session/output-budget.d.ts.map +1 -1
- package/dist/session/output-budget.js +9 -0
- package/dist/session/output-budget.js.map +1 -1
- package/dist/session/review-store.d.ts +1 -1
- package/dist/session/review-store.d.ts.map +1 -1
- package/dist/session/review-store.js +2 -2
- package/dist/session/review-store.js.map +1 -1
- package/dist/session/session-manager.d.ts +9 -7
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +8 -8
- package/dist/session/session-manager.js.map +1 -1
- package/dist/session/session-readiness.js +1 -1
- package/dist/session/session-readiness.js.map +1 -1
- package/dist/session/session-reaper.d.ts +1 -1
- package/dist/session/session-reaper.js +1 -1
- package/dist/session/session-recommendation.d.ts +1 -1
- package/dist/session/session-recommendation.js +1 -1
- package/dist/session/session-tools.js +1 -1
- package/dist/session/session-tools.js.map +1 -1
- package/dist/session/session.d.ts +43 -11
- package/dist/session/session.d.ts.map +1 -1
- package/dist/session/session.js +115 -46
- package/dist/session/session.js.map +1 -1
- package/dist/tools/act-tools.d.ts.map +1 -1
- package/dist/tools/act-tools.js +252 -70
- package/dist/tools/act-tools.js.map +1 -1
- package/dist/tools/act-view.d.ts +4 -4
- package/dist/tools/act-view.js +4 -4
- package/dist/tools/browser-tools.d.ts.map +1 -1
- package/dist/tools/browser-tools.js +32 -8
- package/dist/tools/browser-tools.js.map +1 -1
- package/dist/tools/contract-tools.d.ts.map +1 -1
- package/dist/tools/contract-tools.js +5 -0
- package/dist/tools/contract-tools.js.map +1 -1
- package/dist/tools/dynamic-tools.d.ts.map +1 -1
- package/dist/tools/dynamic-tools.js +7 -6
- package/dist/tools/dynamic-tools.js.map +1 -1
- package/dist/tools/invoke-tool.d.ts.map +1 -1
- package/dist/tools/invoke-tool.js +32 -29
- package/dist/tools/invoke-tool.js.map +1 -1
- package/dist/tools/lease-tools.d.ts +16 -0
- package/dist/tools/lease-tools.d.ts.map +1 -1
- package/dist/tools/lease-tools.js +11 -0
- package/dist/tools/lease-tools.js.map +1 -1
- package/dist/tools/merge-tools.d.ts +43 -0
- package/dist/tools/merge-tools.d.ts.map +1 -0
- package/dist/tools/merge-tools.js +66 -0
- package/dist/tools/merge-tools.js.map +1 -0
- package/dist/tools/observe-tools.d.ts.map +1 -1
- package/dist/tools/observe-tools.js +172 -29
- package/dist/tools/observe-tools.js.map +1 -1
- package/dist/tools/profiles.d.ts +18 -13
- package/dist/tools/profiles.d.ts.map +1 -1
- package/dist/tools/profiles.js +39 -33
- package/dist/tools/profiles.js.map +1 -1
- package/dist/tools/query-paginate.d.ts +9 -2
- package/dist/tools/query-paginate.d.ts.map +1 -1
- package/dist/tools/query-paginate.js +21 -4
- package/dist/tools/query-paginate.js.map +1 -1
- package/dist/tools/read-tools.d.ts.map +1 -1
- package/dist/tools/read-tools.js +30 -1
- package/dist/tools/read-tools.js.map +1 -1
- package/dist/tools/snapshot-delta.d.ts +2 -0
- package/dist/tools/snapshot-delta.d.ts.map +1 -1
- package/dist/tools/snapshot-delta.js +0 -0
- package/dist/tools/snapshot-delta.js.map +1 -1
- package/dist/tools/tool-kit.d.ts +3 -2
- package/dist/tools/tool-kit.d.ts.map +1 -1
- package/dist/tools/tool-kit.js +11 -1
- package/dist/tools/tool-kit.js.map +1 -1
- package/dist/tools/tool-names.d.ts +18 -10
- package/dist/tools/tool-names.d.ts.map +1 -1
- package/dist/tools/tool-names.js +22 -13
- package/dist/tools/tool-names.js.map +1 -1
- package/dist/tools/tools-helpers.d.ts +12 -0
- package/dist/tools/tools-helpers.d.ts.map +1 -1
- package/dist/tools/tools-helpers.js +20 -0
- package/dist/tools/tools-helpers.js.map +1 -1
- package/dist/tools/tools.d.ts.map +1 -1
- package/dist/tools/tools.js +162 -12
- package/dist/tools/tools.js.map +1 -1
- package/dist/update/updater.d.ts +1 -1
- package/dist/update/updater.js +2 -2
- package/dist/update/updater.js.map +1 -1
- package/package.json +8 -3
- package/dist/update/update-tools.d.ts +0 -3
- package/dist/update/update-tools.d.ts.map +0 -1
- package/dist/update/update-tools.js +0 -94
- package/dist/update/update-tools.js.map +0 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
The Reticle Enterprise License (the "Enterprise License")
|
|
2
|
+
Copyright (c) 2026 Reticle Labs
|
|
3
|
+
|
|
4
|
+
With regard to the Reticle software (the "Software"):
|
|
5
|
+
|
|
6
|
+
This Software and associated documentation files (the "Software") may only be
|
|
7
|
+
used in production if you (and any entity that you represent) hold a valid Reticle
|
|
8
|
+
Enterprise subscription for the correct number of seats and/or usage as agreed
|
|
9
|
+
with Reticle Labs.
|
|
10
|
+
|
|
11
|
+
Subject to the foregoing, you are free to use, copy, modify, and create
|
|
12
|
+
derivative works of the Software for development, testing, and evaluation
|
|
13
|
+
purposes without a subscription.
|
|
14
|
+
|
|
15
|
+
You may not move, change, disable, or circumvent the license-key functionality
|
|
16
|
+
in the Software, and you may not remove or obscure any functionality in the
|
|
17
|
+
Software that is protected by the license key.
|
|
18
|
+
|
|
19
|
+
You may not alter, remove, or obscure any licensing, copyright, or other
|
|
20
|
+
notices.
|
|
21
|
+
|
|
22
|
+
Any use of the Software in violation of this Enterprise License will
|
|
23
|
+
automatically terminate your rights under this Enterprise License for the
|
|
24
|
+
current and all other versions of the Software.
|
|
25
|
+
|
|
26
|
+
This Enterprise License does not grant you any rights to any trademark, trade
|
|
27
|
+
name, service mark, logo, or product name of Reticle Labs.
|
|
28
|
+
|
|
29
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
30
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
31
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
32
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
33
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
34
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
35
|
+
SOFTWARE.
|
|
36
|
+
|
|
37
|
+
For an Reticle Enterprise subscription: hey@reticle.ai
|
package/README.md
CHANGED
|
@@ -14,4 +14,8 @@ Point your agent at it (e.g. Claude Code `.mcp.json`):
|
|
|
14
14
|
|
|
15
15
|
Tools: `reticle_snapshot`, `reticle_query`, `reticle_inspect`, `reticle_act`, `reticle_act_sequence`, `reticle_observe`, `reticle_wait_for`, `reticle_assert`, `reticle_network`, `reticle_console`, `reticle_animations`, `reticle_baseline_save`/`_list`, `reticle_diff`, `reticle_record_start`/`_stop`, `reticle_explore`, `reticle_sessions`.
|
|
16
16
|
|
|
17
|
-
See the [main README](https://github.com/reticlehq/reticle).
|
|
17
|
+
See the [main README](https://github.com/reticlehq/reticle).
|
|
18
|
+
|
|
19
|
+
## License
|
|
20
|
+
|
|
21
|
+
[FSL-1.1-ALv2](./LICENSE) (source-available: free for any use except reselling Reticle itself; converts to Apache-2.0 after two years). Files under `dist/ee/` are enterprise features covered by the [Reticle Enterprise License](./LICENSE-ENTERPRISE) — free for development, testing, and evaluation; a license key activates them in production.
|
|
@@ -7,7 +7,7 @@ interface BridgeSecurity {
|
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* Resolve the bridge's security options from explicit options first, then the environment. Shared by
|
|
10
|
-
* both `start
|
|
10
|
+
* both `start` and `startDaemon` so the token/host/origin contract is enforced identically on
|
|
11
11
|
* every entrypoint — a past divergence let daemon mode silently run with auth disabled.
|
|
12
12
|
*/
|
|
13
13
|
export declare function resolveBridgeSecurity(options: StartOptions): BridgeSecurity;
|
package/dist/bridge-security.js
CHANGED
|
@@ -3,7 +3,7 @@ import { defaultPairingTokenDir, nodePairingTokenDeps, readOrCreatePairingToken,
|
|
|
3
3
|
import { log } from './log.js';
|
|
4
4
|
/**
|
|
5
5
|
* Resolve the bridge's security options from explicit options first, then the environment. Shared by
|
|
6
|
-
* both `start
|
|
6
|
+
* both `start` and `startDaemon` so the token/host/origin contract is enforced identically on
|
|
7
7
|
* every entrypoint — a past divergence let daemon mode silently run with auth disabled.
|
|
8
8
|
*/
|
|
9
9
|
export function resolveBridgeSecurity(options) {
|
package/dist/bridge.d.ts
CHANGED
|
@@ -36,6 +36,13 @@ export declare class Bridge {
|
|
|
36
36
|
attachReplay(handler: ReplayRequestHandler): void;
|
|
37
37
|
/** Register a callback fired when a browser session connects (to push it the replayable flows). */
|
|
38
38
|
attachSessionReady(handler: SessionReadyHandler): void;
|
|
39
|
+
/** Register a callback fired the instant a session is created — used to attach the durable journal. */
|
|
40
|
+
/**
|
|
41
|
+
* Teardown handler fired when a session is removed (tab closed/disconnected). Without it the journal's
|
|
42
|
+
* batched tail (< one flush batch) never reaches disk and the learned ambient map is discarded.
|
|
43
|
+
*/
|
|
44
|
+
attachSessionEnd(handler: (session: Session) => Promise<void>): void;
|
|
45
|
+
attachSessionCreate(handler: (session: Session) => void): void;
|
|
39
46
|
close(): Promise<void>;
|
|
40
47
|
}
|
|
41
48
|
export {};
|
package/dist/bridge.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAelC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI/D,qGAAqG;AACrG,KAAK,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAC1E,kGAAkG;AAClG,KAAK,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAsBtD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;CACtB;AAwCD;;;;GAIG;AACH,qBAAa,MAAM;;IACjB,QAAQ,CAAC,QAAQ,iBAAwB;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAelC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI/D,qGAAqG;AACrG,KAAK,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAC1E,kGAAkG;AAClG,KAAK,mBAAmB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AAsBtD,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC;CACtB;AAwCD;;;;GAIG;AACH,qBAAa,MAAM;;IACjB,QAAQ,CAAC,QAAQ,iBAAwB;IACzC,0EAA0E;IAC1E,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;gBAgBpB,OAAO,EAAE,aAAa;IAgOlC,mFAAmF;IACnF,YAAY,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIjD,mGAAmG;IACnG,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAItD,uGAAuG;IACvG;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAIpE,mBAAmB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAI9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAQvB"}
|
package/dist/bridge.js
CHANGED
|
@@ -82,6 +82,9 @@ export class Bridge {
|
|
|
82
82
|
#pendingConnections = 0;
|
|
83
83
|
#onReplay;
|
|
84
84
|
#onSessionReady;
|
|
85
|
+
#onSessionCreate;
|
|
86
|
+
/** Fired when a session is removed — flushes its journal tail + persists what it learned. */
|
|
87
|
+
#onSessionEnd;
|
|
85
88
|
constructor(options) {
|
|
86
89
|
const host = options.host ?? LOOPBACK_HOST;
|
|
87
90
|
if ((options.token?.length ?? 0) > TRANSPORT_LIMITS.MAX_TOKEN_LENGTH) {
|
|
@@ -123,7 +126,7 @@ export class Bridge {
|
|
|
123
126
|
done(allowed, 403, 'Forbidden');
|
|
124
127
|
},
|
|
125
128
|
});
|
|
126
|
-
// In shared-server mode the daemon owns listen
|
|
129
|
+
// In shared-server mode the daemon owns listen; but a WebSocketServer bound to a server that
|
|
127
130
|
// fails to listen (EADDRINUSE) surfaces the error on the WS instance too. Without a listener
|
|
128
131
|
// that is an unhandled 'error' that can crash/hang the process — so absorb it here and reject
|
|
129
132
|
// `ready`, mirroring the standalone branch. The daemon's own listen handler reports the failure.
|
|
@@ -233,6 +236,7 @@ export class Bridge {
|
|
|
233
236
|
clearTimeout(helloTimer);
|
|
234
237
|
releasePending();
|
|
235
238
|
session = new Session(parsed, socket, this.#clock);
|
|
239
|
+
this.#onSessionCreate?.(session); // attach the durable journal before any events stream in
|
|
236
240
|
const replaced = this.sessions.add(session);
|
|
237
241
|
replaced?.disconnect('session replaced by a newer connection');
|
|
238
242
|
log('session_connected', { sessionId: session.id, url: session.url });
|
|
@@ -260,8 +264,12 @@ export class Bridge {
|
|
|
260
264
|
clearTimeout(helloTimer);
|
|
261
265
|
releasePending();
|
|
262
266
|
if (session !== undefined) {
|
|
263
|
-
|
|
264
|
-
|
|
267
|
+
const ended = session;
|
|
268
|
+
if (this.sessions.remove(ended)) {
|
|
269
|
+
log('session_disconnected', { sessionId: ended.id });
|
|
270
|
+
// Best-effort teardown: flush the journal tail + persist ambient learning. Never awaited here
|
|
271
|
+
// (the socket is already closing) and never allowed to reject into the close handler.
|
|
272
|
+
void this.#onSessionEnd?.(ended).catch(() => undefined);
|
|
265
273
|
}
|
|
266
274
|
}
|
|
267
275
|
});
|
|
@@ -305,6 +313,17 @@ export class Bridge {
|
|
|
305
313
|
attachSessionReady(handler) {
|
|
306
314
|
this.#onSessionReady = handler;
|
|
307
315
|
}
|
|
316
|
+
/** Register a callback fired the instant a session is created — used to attach the durable journal. */
|
|
317
|
+
/**
|
|
318
|
+
* Teardown handler fired when a session is removed (tab closed/disconnected). Without it the journal's
|
|
319
|
+
* batched tail (< one flush batch) never reaches disk and the learned ambient map is discarded.
|
|
320
|
+
*/
|
|
321
|
+
attachSessionEnd(handler) {
|
|
322
|
+
this.#onSessionEnd = handler;
|
|
323
|
+
}
|
|
324
|
+
attachSessionCreate(handler) {
|
|
325
|
+
this.#onSessionCreate = handler;
|
|
326
|
+
}
|
|
308
327
|
close() {
|
|
309
328
|
return new Promise((resolve) => {
|
|
310
329
|
for (const client of this.#wss.clients)
|
package/dist/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../src/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,11 @@ export declare class FakeBrowser {
|
|
|
21
21
|
handlesCapabilities: boolean;
|
|
22
22
|
/** When false, ACT results omit a testid (element has no data-testid → unstable step). */
|
|
23
23
|
actHasTestid: boolean;
|
|
24
|
+
/** Provenance the real browser captures alongside the anchor; undefined = app built without it. */
|
|
25
|
+
actSource: {
|
|
26
|
+
file: string;
|
|
27
|
+
line: number;
|
|
28
|
+
} | undefined;
|
|
24
29
|
/** when false, ACT reports settled:false + settleReason:'timeout' (throttled-tab path). */
|
|
25
30
|
actSettled: boolean;
|
|
26
31
|
/** When false, QUERY by testid returns no match (testid not in current DOM at replay). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.test-harness.d.ts","sourceRoot":"","sources":["../src/bridge.test-harness.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAO1C,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAExD,wGAAwG;AACxG,eAAO,MAAM,iBAAiB;;;;;;;;CAK7B,CAAC;AAEF,4FAA4F;AAC5F,qBAAa,WAAW;;
|
|
1
|
+
{"version":3,"file":"bridge.test-harness.d.ts","sourceRoot":"","sources":["../src/bridge.test-harness.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAO1C,OAAO,EAAS,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAExD,wGAAwG;AACxG,eAAO,MAAM,iBAAiB;;;;;;;;CAK7B,CAAC;AAEF,4FAA4F;AAC5F,qBAAa,WAAW;;IAkBpB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAjBlC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAe;IACxD,qFAAqF;IACrF,mBAAmB,UAAQ;IAC3B,0FAA0F;IAC1F,YAAY,UAAQ;IACpB,mGAAmG;IACnG,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAa;IAClE,2FAA2F;IAC3F,UAAU,UAAQ;IAClB,0FAA0F;IAC1F,aAAa,UAAQ;IACrB,qEAAqE;IACrE,QAAQ,CAAC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,CAAM;gBAGxE,IAAI,EAAE,MAAM,EACK,SAAS,EAAE,MAAM,EACjB,eAAe,UAAQ;IAQ1C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAOrE,KAAK,IAAI,IAAI;CA0Fd;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,OAAO,EAAE,SAAS,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9E;AAED,eAAO,MAAM,QAAQ,GACnB,MAAM,QAAQ,EACd,MAAM,MAAM,EACZ,OAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,KACjC,OAAO,CAAC,OAAO,CAIjB,CAAC;AAEF,kGAAkG;AAClG,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAcjD"}
|
|
@@ -24,6 +24,8 @@ export class FakeBrowser {
|
|
|
24
24
|
handlesCapabilities = true;
|
|
25
25
|
/** When false, ACT results omit a testid (element has no data-testid → unstable step). */
|
|
26
26
|
actHasTestid = true;
|
|
27
|
+
/** Provenance the real browser captures alongside the anchor; undefined = app built without it. */
|
|
28
|
+
actSource = undefined;
|
|
27
29
|
/** when false, ACT reports settled:false + settleReason:'timeout' (throttled-tab path). */
|
|
28
30
|
actSettled = true;
|
|
29
31
|
/** When false, QUERY by testid returns no match (testid not in current DOM at replay). */
|
|
@@ -84,6 +86,7 @@ export class FakeBrowser {
|
|
|
84
86
|
settleReason: this.actSettled ? null : 'timeout',
|
|
85
87
|
effect: { dispatched: true },
|
|
86
88
|
...(this.actHasTestid ? { testid: 'pay-btn' } : {}),
|
|
89
|
+
...(this.actSource === undefined ? {} : { source: this.actSource }),
|
|
87
90
|
};
|
|
88
91
|
}
|
|
89
92
|
else if (name === ReticleCommand.ACT_SEQUENCE) {
|
|
@@ -94,6 +97,7 @@ export class FakeBrowser {
|
|
|
94
97
|
ref: s['ref'],
|
|
95
98
|
action: s['action'],
|
|
96
99
|
...(this.actHasTestid ? { testid: 'pay-btn' } : {}),
|
|
100
|
+
...(this.actSource === undefined ? {} : { source: this.actSource }),
|
|
97
101
|
})),
|
|
98
102
|
};
|
|
99
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.test-harness.js","sourceRoot":"","sources":["../src/bridge.test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,GAEZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAC;AAExD,wGAAwG;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC,kBAAkB,CAAC;IAC7B,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC;AAEF,4FAA4F;AAC5F,MAAM,OAAO,WAAW;
|
|
1
|
+
{"version":3,"file":"bridge.test-harness.js","sourceRoot":"","sources":["../src/bridge.test-harness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,EACL,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,GAEZ,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAiB,MAAM,kBAAkB,CAAC;AAExD,wGAAwG;AACxG,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,CAAC,kBAAkB,CAAC;IAC7B,MAAM,EAAE,CAAC,MAAM,CAAC;IAChB,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;CACnD,CAAC;AAEF,4FAA4F;AAC5F,MAAM,OAAO,WAAW;IAkBH;IACA;IAlBV,GAAG,CAAY;IACxB,OAAO,GAAqC,GAAG,EAAE,CAAC,KAAK,CAAC;IACxD,qFAAqF;IACrF,mBAAmB,GAAG,IAAI,CAAC;IAC3B,0FAA0F;IAC1F,YAAY,GAAG,IAAI,CAAC;IACpB,mGAAmG;IACnG,SAAS,GAA+C,SAAS,CAAC;IAClE,2FAA2F;IAC3F,UAAU,GAAG,IAAI,CAAC;IAClB,0FAA0F;IAC1F,aAAa,GAAG,IAAI,CAAC;IACrB,qEAAqE;IAC5D,QAAQ,GAAsD,EAAE,CAAC;IAE1E,YACE,IAAY,EACK,SAAiB,EACjB,kBAAkB,KAAK;QADvB,cAAS,GAAT,SAAS,CAAQ;QACjB,oBAAe,GAAf,eAAe,CAAQ;QAExC,yFAAyF;QACzF,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,QAAQ,aAAa,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,EAAE,EAAE;YAClF,MAAM,EAAE,kBAAkB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACvB,IAAI,CAAC,KAAK,CAAC;oBACT,IAAI,EAAE,WAAW,CAAC,KAAK;oBACvB,eAAe,EAAE,CAAC;oBAClB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,GAAG,EAAE,gCAAgC;oBACrC,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,EAAE;oBACZ,eAAe,EAAE,IAAI,CAAC,eAAe;iBACtC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE;oBAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAE,GAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAA4B,CAAC,CAAC;gBAC3F,CAAC,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAY,EAAE,IAA6B,EAAE,GAAY;QAC5D,IAAI,CAAC,KAAK,CAAC;YACT,IAAI,EAAE,WAAW,CAAC,KAAK;YACvB,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,EAAE;SAC5D,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,GAA4B;QACrC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,WAAW,CAAC,OAAO;YAAE,OAAO;QAChD,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAW,CAAC;QAC/B,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAW,CAAC;QACnC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAA4B,CAAC;QAC5D,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnC,IAAI,MAAM,GAAY,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,cAAc,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,GAAG;gBACP,EAAE,EAAE,IAAI;gBACR,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC;gBAChB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC;gBACtB,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI,CAAC,UAAU;gBACxB,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAChD,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;gBAC5B,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnD,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;aACpE,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,CAAC,YAAY,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAG7D,CAAC;YACJ,MAAM,GAAG;gBACP,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACvB,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC;oBACb,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC;oBACnB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnD,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;iBACpE,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,GAAG;gBACP,QAAQ,EAAE,IAAI,CAAC,aAAa;oBAC1B,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oBACzE,CAAC,CAAC,EAAE;aACP,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAiB,CAAC;YACpD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,GAAG;gBACP,OAAO;gBACP,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtB,QAAQ,EAAE,OAAO;oBACf,CAAC,CAAC;wBACE;4BACE,GAAG,EAAE,KAAK;4BACV,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,iBAAiB;4BACvB,MAAM,EAAE,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,IAAI;yBACd;qBACF;oBACH,CAAC,CAAC,EAAE;aACP,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;YAC9C,MAAM,GAAG;gBACP,MAAM,EAAE,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9E,UAAU,EAAE,CAAC,WAAW,CAAC;gBACzB,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;aAC1F,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,GAAG;gBACP,IAAI,EAAE,+DAA+D;gBACrE,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;aAC/B,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC;oBACT,IAAI,EAAE,WAAW,CAAC,cAAc;oBAChC,EAAE;oBACF,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE,oBAAoB,IAAI,GAAG;iBACnC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YACD,MAAM,GAAG,iBAAiB,CAAC;QAC7B,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,cAAc,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,GAAY;QAChB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,UAAU,SAAS,CAAC,IAAmB,EAAE,SAAS,GAAG,IAAI;IAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,GAAS,EAAE;YACtB,IAAI,IAAI,EAAE;gBAAE,OAAO,OAAO,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,SAAS;gBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YACpF,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvB,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAc,EACd,IAAY,EACZ,OAAgC,EAAE,EAChB,EAAE;IACpB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAChD,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,kGAAkG;AAClG,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,IAAI,aAAa,EAAE;QAC9B,UAAU,EAAE,IAAI,cAAc,EAAE;QAChC,KAAK,EAAE,IAAI,SAAS,CAAC,oBAAoB,EAAE,EAAE,4BAA4B,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,EAAE,IAAI,YAAY,CAAC,oBAAoB,EAAE,EAAE,4BAA4B,EAAE;YAC9E,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;SACb,CAAC;QACF,WAAW,EAAE,IAAI,eAAe,EAAE;QAClC,EAAE,EAAE,oBAAoB,EAAE;QAC1B,WAAW,EAAE,4BAA4B;QACzC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { type FlowStep } from '@reticlehq/core';
|
|
3
|
+
import type { FileSystemPort } from '../project/fs-port.js';
|
|
4
|
+
/**
|
|
5
|
+
* Bug capsules. When an assertion fails, the evidence that explains it is in hand exactly once —
|
|
6
|
+
* at the moment of the failure. A capsule persists that moment as a *replayable artifact*: the minimal
|
|
7
|
+
* failing steps, the consequence that was supposed to hold, and the divergence that was observed instead.
|
|
8
|
+
*
|
|
9
|
+
* This is deliberately fail-to-pass shaped (SWE-bench style): a capsule reproduces a bug NOW and, once the
|
|
10
|
+
* fix lands, it is exactly a regression flow. Capsules are ordinary flow files plus evidence, so they
|
|
11
|
+
* replay through the existing machinery rather than needing a second runner.
|
|
12
|
+
*/
|
|
13
|
+
export declare const CapsuleSchema: z.ZodObject<{
|
|
14
|
+
version: z.ZodLiteral<1>;
|
|
15
|
+
id: z.ZodString;
|
|
16
|
+
/** The flow the failure happened in, when it came from one (a bare assert has no flow). */
|
|
17
|
+
flow: z.ZodOptional<z.ZodString>;
|
|
18
|
+
createdAt: z.ZodNumber;
|
|
19
|
+
/** Why it was captured — a failed assertion, a crawl anomaly, a human review pin. */
|
|
20
|
+
origin: z.ZodString;
|
|
21
|
+
/** The consequence that was supposed to hold. */
|
|
22
|
+
expected: z.ZodString;
|
|
23
|
+
/** What was observed instead — the first-divergence sentence. */
|
|
24
|
+
observed: z.ZodString;
|
|
25
|
+
/** Minimal steps to reproduce (prefix-trimmed). */
|
|
26
|
+
steps: z.ZodArray<z.ZodType<FlowStep, z.ZodTypeDef, FlowStep>, "many">;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
version: 1;
|
|
29
|
+
id: string;
|
|
30
|
+
expected: string;
|
|
31
|
+
origin: string;
|
|
32
|
+
steps: FlowStep[];
|
|
33
|
+
observed: string;
|
|
34
|
+
createdAt: number;
|
|
35
|
+
flow?: string | undefined;
|
|
36
|
+
}, {
|
|
37
|
+
version: 1;
|
|
38
|
+
id: string;
|
|
39
|
+
expected: string;
|
|
40
|
+
origin: string;
|
|
41
|
+
steps: FlowStep[];
|
|
42
|
+
observed: string;
|
|
43
|
+
createdAt: number;
|
|
44
|
+
flow?: string | undefined;
|
|
45
|
+
}>;
|
|
46
|
+
export type Capsule = z.infer<typeof CapsuleSchema>;
|
|
47
|
+
export declare const CAPSULE_VERSION = 1;
|
|
48
|
+
/** Capsule ids are filenames — refuse anything that could escape the capsules directory. */
|
|
49
|
+
export declare function isValidCapsuleId(id: string): boolean;
|
|
50
|
+
export declare class CapsuleStore {
|
|
51
|
+
#private;
|
|
52
|
+
constructor(fs: FileSystemPort, root: string);
|
|
53
|
+
/** Persist a capsule. Best-effort by design: capturing evidence must never fail the run that found it. */
|
|
54
|
+
save(capsule: Capsule): Promise<boolean>;
|
|
55
|
+
/** Capsule ids on disk, newest-first by id (ids are time-prefixed). Never throws. */
|
|
56
|
+
list(): Promise<string[]>;
|
|
57
|
+
/** Read one capsule; undefined when missing or malformed (never throws). */
|
|
58
|
+
read(id: string): Promise<Capsule | undefined>;
|
|
59
|
+
/** Every readable capsule, newest-first — what `reticle capsules` prints. */
|
|
60
|
+
all(): Promise<Capsule[]>;
|
|
61
|
+
}
|
|
62
|
+
/** Deterministic, path-safe capsule id: time-ordered so `list` sorts newest-first for free. */
|
|
63
|
+
export declare function capsuleId(now: number, label: string): string;
|
|
64
|
+
/** The minimal reproduction: the steps up to and including the one that failed (prefix trim). */
|
|
65
|
+
export declare function minimalSteps(steps: readonly FlowStep[], failedIndex: number): FlowStep[];
|
|
66
|
+
//# sourceMappingURL=capsule-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capsule-store.d.ts","sourceRoot":"","sources":["../../src/capsule/capsule-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG5D;;;;;;;;GAQG;AAEH,eAAO,MAAM,aAAa;;;IAGxB,2FAA2F;;;IAG3F,qFAAqF;;IAErF,iDAAiD;;IAEjD,iEAAiE;;IAEjE,mDAAmD;;;;;;;;;;;;;;;;;;;;EAEnD,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,eAAe,IAAI,CAAC;AAEjC,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,qBAAa,YAAY;;gBAIX,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM;IAS5C,0GAA0G;IACpG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAa9C,qFAAqF;IAC/E,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAc/B,4EAA4E;IACtE,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;IAWpD,6EAA6E;IACvE,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;CAQhC;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,iGAAiG;AACjG,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,EAAE,CAGxF"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { FlowStepSchema } from '@reticlehq/core';
|
|
4
|
+
import { reticleDirPaths } from '../project/reticle-dir.js';
|
|
5
|
+
/**
|
|
6
|
+
* Bug capsules. When an assertion fails, the evidence that explains it is in hand exactly once —
|
|
7
|
+
* at the moment of the failure. A capsule persists that moment as a *replayable artifact*: the minimal
|
|
8
|
+
* failing steps, the consequence that was supposed to hold, and the divergence that was observed instead.
|
|
9
|
+
*
|
|
10
|
+
* This is deliberately fail-to-pass shaped (SWE-bench style): a capsule reproduces a bug NOW and, once the
|
|
11
|
+
* fix lands, it is exactly a regression flow. Capsules are ordinary flow files plus evidence, so they
|
|
12
|
+
* replay through the existing machinery rather than needing a second runner.
|
|
13
|
+
*/
|
|
14
|
+
export const CapsuleSchema = z.object({
|
|
15
|
+
version: z.literal(1),
|
|
16
|
+
id: z.string(),
|
|
17
|
+
/** The flow the failure happened in, when it came from one (a bare assert has no flow). */
|
|
18
|
+
flow: z.string().optional(),
|
|
19
|
+
createdAt: z.number(),
|
|
20
|
+
/** Why it was captured — a failed assertion, a crawl anomaly, a human review pin. */
|
|
21
|
+
origin: z.string(),
|
|
22
|
+
/** The consequence that was supposed to hold. */
|
|
23
|
+
expected: z.string(),
|
|
24
|
+
/** What was observed instead — the first-divergence sentence. */
|
|
25
|
+
observed: z.string(),
|
|
26
|
+
/** Minimal steps to reproduce (prefix-trimmed). */
|
|
27
|
+
steps: z.array(FlowStepSchema),
|
|
28
|
+
});
|
|
29
|
+
export const CAPSULE_VERSION = 1;
|
|
30
|
+
/** Capsule ids are filenames — refuse anything that could escape the capsules directory. */
|
|
31
|
+
export function isValidCapsuleId(id) {
|
|
32
|
+
return /^[a-zA-Z0-9._-]+$/.test(id) && id !== '.' && id !== '..' && id.length <= 128;
|
|
33
|
+
}
|
|
34
|
+
export class CapsuleStore {
|
|
35
|
+
#fs;
|
|
36
|
+
#dir;
|
|
37
|
+
constructor(fs, root) {
|
|
38
|
+
this.#fs = fs;
|
|
39
|
+
this.#dir = reticleDirPaths(root).capsules;
|
|
40
|
+
}
|
|
41
|
+
#pathFor(id) {
|
|
42
|
+
return join(this.#dir, `${id}.json`);
|
|
43
|
+
}
|
|
44
|
+
/** Persist a capsule. Best-effort by design: capturing evidence must never fail the run that found it. */
|
|
45
|
+
async save(capsule) {
|
|
46
|
+
if (!isValidCapsuleId(capsule.id))
|
|
47
|
+
return false;
|
|
48
|
+
try {
|
|
49
|
+
await this.#fs.mkdir(this.#dir);
|
|
50
|
+
const tmp = `${this.#pathFor(capsule.id)}.tmp`;
|
|
51
|
+
await this.#fs.writeFile(tmp, `${JSON.stringify(capsule, null, 2)}\n`);
|
|
52
|
+
await this.#fs.rename(tmp, this.#pathFor(capsule.id));
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/** Capsule ids on disk, newest-first by id (ids are time-prefixed). Never throws. */
|
|
60
|
+
async list() {
|
|
61
|
+
try {
|
|
62
|
+
if (!(await this.#fs.exists(this.#dir)))
|
|
63
|
+
return [];
|
|
64
|
+
const entries = await this.#fs.readdir(this.#dir);
|
|
65
|
+
return entries
|
|
66
|
+
.filter((e) => e.endsWith('.json'))
|
|
67
|
+
.map((e) => e.slice(0, -'.json'.length))
|
|
68
|
+
.sort()
|
|
69
|
+
.reverse();
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/** Read one capsule; undefined when missing or malformed (never throws). */
|
|
76
|
+
async read(id) {
|
|
77
|
+
if (!isValidCapsuleId(id))
|
|
78
|
+
return undefined;
|
|
79
|
+
try {
|
|
80
|
+
const parsed = JSON.parse(await this.#fs.readFile(this.#pathFor(id)));
|
|
81
|
+
const result = CapsuleSchema.safeParse(parsed);
|
|
82
|
+
return result.success ? result.data : undefined;
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/** Every readable capsule, newest-first — what `reticle capsules` prints. */
|
|
89
|
+
async all() {
|
|
90
|
+
const out = [];
|
|
91
|
+
for (const id of await this.list()) {
|
|
92
|
+
const capsule = await this.read(id);
|
|
93
|
+
if (capsule !== undefined)
|
|
94
|
+
out.push(capsule);
|
|
95
|
+
}
|
|
96
|
+
return out;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/** Deterministic, path-safe capsule id: time-ordered so `list` sorts newest-first for free. */
|
|
100
|
+
export function capsuleId(now, label) {
|
|
101
|
+
const safe = label.replace(/[^a-zA-Z0-9._-]/g, '-').slice(0, 40);
|
|
102
|
+
return `${String(now)}-${safe.length > 0 ? safe : 'capsule'}`;
|
|
103
|
+
}
|
|
104
|
+
/** The minimal reproduction: the steps up to and including the one that failed (prefix trim). */
|
|
105
|
+
export function minimalSteps(steps, failedIndex) {
|
|
106
|
+
if (failedIndex < 0)
|
|
107
|
+
return [...steps];
|
|
108
|
+
return steps.slice(0, failedIndex + 1);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=capsule-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capsule-store.js","sourceRoot":"","sources":["../../src/capsule/capsule-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ReticleEvent } from '@reticlehq/core';
|
|
2
|
+
import { type CausalSummary } from './causal-summary.js';
|
|
3
|
+
import { type Divergence, type ExpectedLink } from './divergence.js';
|
|
4
|
+
/**
|
|
5
|
+
* The divergence capsule (Tier 2) — the whole packet on a red: the attributed causal summary, the
|
|
6
|
+
* FIRST divergence (where declared ≠ observed), and the BLAST RADIUS (truth that changed OUTSIDE the
|
|
7
|
+
* declared consequence — an act that also fired an undeclared signal or mutated an unexpected store).
|
|
8
|
+
* Blast radius is how a "green" that did extra damage still gets caught. Pure composition of the parts;
|
|
9
|
+
* the paste-ready repair packet and wiring onto red results build on this.
|
|
10
|
+
*/
|
|
11
|
+
export interface DivergenceCapsule {
|
|
12
|
+
summary: CausalSummary;
|
|
13
|
+
firstDivergence: Divergence | null;
|
|
14
|
+
/** Observed consequences not in the declared set — unexpected side effects. */
|
|
15
|
+
blastRadius: string[];
|
|
16
|
+
}
|
|
17
|
+
/** Compose the full capsule from the declared chain and the observed (attributed) event window. */
|
|
18
|
+
export declare function buildDivergenceCapsule(expected: readonly ExpectedLink[], observed: readonly ReticleEvent[]): DivergenceCapsule;
|
|
19
|
+
//# sourceMappingURL=capsule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capsule.d.ts","sourceRoot":"","sources":["../../src/capsule/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEtF;;;;;;GAMG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,eAAe,EAAE,UAAU,GAAG,IAAI,CAAC;IACnC,+EAA+E;IAC/E,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AA8BD,mGAAmG;AACnG,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,SAAS,YAAY,EAAE,EACjC,QAAQ,EAAE,SAAS,YAAY,EAAE,GAChC,iBAAiB,CAMnB"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EventType } from '@reticlehq/core';
|
|
2
|
+
import { causalSummary } from './causal-summary.js';
|
|
3
|
+
import { firstDivergence } from './divergence.js';
|
|
4
|
+
/** Observed signal/state changes the flow never declared — the side effects. */
|
|
5
|
+
function blastRadius(expected, observed) {
|
|
6
|
+
const declaredSignals = new Set(expected
|
|
7
|
+
.filter((l) => l.kind === 'signal')
|
|
8
|
+
.map((l) => l.name));
|
|
9
|
+
const declaredStates = new Set(expected
|
|
10
|
+
.filter((l) => l.kind === 'state')
|
|
11
|
+
.map((l) => l.name));
|
|
12
|
+
const radius = [];
|
|
13
|
+
const add = (value) => {
|
|
14
|
+
if (!radius.includes(value))
|
|
15
|
+
radius.push(value);
|
|
16
|
+
};
|
|
17
|
+
for (const event of observed) {
|
|
18
|
+
const name = event.data['name'];
|
|
19
|
+
if (typeof name !== 'string')
|
|
20
|
+
continue;
|
|
21
|
+
if (event.type === EventType.SIGNAL && !declaredSignals.has(name))
|
|
22
|
+
add(`signal ${name}`);
|
|
23
|
+
if (event.type === EventType.STATE_CHANGE && !declaredStates.has(name))
|
|
24
|
+
add(`state ${name}`);
|
|
25
|
+
}
|
|
26
|
+
return radius;
|
|
27
|
+
}
|
|
28
|
+
/** Compose the full capsule from the declared chain and the observed (attributed) event window. */
|
|
29
|
+
export function buildDivergenceCapsule(expected, observed) {
|
|
30
|
+
return {
|
|
31
|
+
summary: causalSummary(observed),
|
|
32
|
+
firstDivergence: firstDivergence(expected, observed),
|
|
33
|
+
blastRadius: blastRadius(expected, observed),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=capsule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capsule.js","sourceRoot":"","sources":["../../src/capsule/capsule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAsB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,eAAe,EAAsC,MAAM,iBAAiB,CAAC;AAiBtF,gFAAgF;AAChF,SAAS,WAAW,CAClB,QAAiC,EACjC,QAAiC;IAEjC,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,QAAQ;SACL,MAAM,CAAC,CAAC,CAAC,EAAkD,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;SAClF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACtB,CAAC;IACF,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,QAAQ;SACL,MAAM,CAAC,CAAC,CAAC,EAAiD,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC;SAChF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CACtB,CAAC;IACF,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,GAAG,GAAG,CAAC,KAAa,EAAQ,EAAE;QAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,sBAAsB,CACpC,QAAiC,EACjC,QAAiC;IAEjC,OAAO;QACL,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC;QAChC,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC;QACpD,WAAW,EAAE,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC7C,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type ReticleEvent } from '@reticlehq/core';
|
|
2
|
+
/**
|
|
3
|
+
* The causal summary (Tier 1) — the bounded ~50–100 token block on EVERY act, green included: what the
|
|
4
|
+
* app did in the act's window, as counts + a headline, not a raw event dump. Diffs come from the
|
|
5
|
+
* storage/state events; attribution from. Pure composition over the attributed event window.
|
|
6
|
+
*/
|
|
7
|
+
export interface StateDiff {
|
|
8
|
+
path: string;
|
|
9
|
+
from: unknown;
|
|
10
|
+
to: unknown;
|
|
11
|
+
}
|
|
12
|
+
export interface StorageDiff {
|
|
13
|
+
key: string;
|
|
14
|
+
from?: unknown;
|
|
15
|
+
to?: unknown;
|
|
16
|
+
}
|
|
17
|
+
export interface CausalSummary {
|
|
18
|
+
net: {
|
|
19
|
+
total: number;
|
|
20
|
+
errors: number;
|
|
21
|
+
headline?: string;
|
|
22
|
+
};
|
|
23
|
+
consoleErrors: number;
|
|
24
|
+
statePathsChanged: string[];
|
|
25
|
+
storageKeysChanged: string[];
|
|
26
|
+
/** Before→after for each changed store path — the diffs, not just the names. Values capped. */
|
|
27
|
+
stateDiffs: StateDiff[];
|
|
28
|
+
/** Before→after for each changed storage key. Values capped. */
|
|
29
|
+
storageDiffs: StorageDiff[];
|
|
30
|
+
route?: string;
|
|
31
|
+
signals: string[];
|
|
32
|
+
layoutShift?: number;
|
|
33
|
+
longTasks: number;
|
|
34
|
+
}
|
|
35
|
+
export declare function causalSummary(events: readonly ReticleEvent[]): CausalSummary;
|
|
36
|
+
//# sourceMappingURL=causal-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"causal-summary.d.ts","sourceRoot":"","sources":["../../src/capsule/causal-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE3E;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,EAAE,EAAE,OAAO,CAAC;CACb;AACD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,EAAE,CAAC,EAAE,OAAO,CAAC;CACd;AACD,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,+FAA+F;IAC/F,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,gEAAgE;IAChE,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAwBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,aAAa,CAmF5E"}
|