@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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-report.js","sourceRoot":"","sources":["../../src/flows/flow-report.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAIb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"flow-report.js","sourceRoot":"","sources":["../../src/flows/flow-report.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,GAIb,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAuBtD,MAAM,aAAa,GAA2B;IAC5C,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ;IAC3B,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,UAAU;IAChC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,QAAQ;CAC/B,CAAC;AAEF,qEAAqE;AACrE,SAAS,MAAM,CAAC,KAAa;IAC3B,OAAO,IAAI,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,sFAAsF;AACtF,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClE,CAAC;AAED,6FAA6F;AAC7F,SAAS,UAAU,CAAC,IAAoB;IACtC,OAAO,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;AAC1E,CAAC;AAED,uGAAuG;AACvG,SAAS,cAAc,CAAC,KAAuB;IAC7C,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC7C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,GAAG,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC;QACtF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,KAAK,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,yEAAyE;AACzE,SAAS,YAAY,CAAC,KAAuB;IAC3C,MAAM,IAAI,GAAG;QACX,8CAA8C;QAC9C,8CAA8C;KAC/C,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;YACpB,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS;gBACxB,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG;gBAChC,CAAC,CAAC,MAAM,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,WAAW,MAAM,MAAM,IAAI,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,6FAA6F;AAC7F,SAAS,YAAY,CAAC,KAAuB;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;gBAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,uCAAuC,CAAC;IACpE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAsB;IACpD,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;IAC/D,MAAM,KAAK,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;IAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,wBAAwB,CAAC;IACvD,MAAM,UAAU,GACd,IAAI,CAAC,MAAM,KAAK,SAAS;QACvB,CAAC,CAAC,KAAK,CAAC,cAAc;YACpB,CAAC,CAAC,eAAe,IAAI,CAAC,MAAM,sDAAsD;YAClF,CAAC,CAAC,eAAe,IAAI,CAAC,MAAM,6DAA6D;QAC3F,CAAC,CAAC,eAAe,MAAM,EAAE,CAAC;IAE9B,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,GAAG,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;IAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrB,GAAG,CAAC,IAAI,CAAC,gBAAgB,OAAO,mBAAmB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,KAAK,GACT,gBAAgB,KAAK,SAAS,IAAI,YAAY,GAAG,CAAC;YAChD,CAAC,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,YAAY,CAAC,kCAAkC;YACzF,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,IAAI,CAAC,aAAa,YAAY,yCAAyC,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAChD,GAAG,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACxB,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type FlowStep } from '@reticlehq/core';
|
|
2
|
+
import { type AffectedResult, type FlowSources } from './affected.js';
|
|
3
|
+
/**
|
|
4
|
+
* A flow's sources manifest, DERIVED from its already-persisted step anchors — no separate storage. A
|
|
5
|
+
* COMPONENT anchor carries the source file its element was stamped from (via the babel/next plugin);
|
|
6
|
+
* collecting those files, recursively through act_sequence sub-steps, gives the set of files whose change
|
|
7
|
+
* should re-verify this flow. A flow with no stamped sources yields an empty manifest → unknown
|
|
8
|
+
* provenance → always affected (fail-safe), handled by affectedFlows.
|
|
9
|
+
*/
|
|
10
|
+
export declare function flowSources(steps: readonly FlowStep[]): string[];
|
|
11
|
+
/** A saved flow, minimally: its name and steps. */
|
|
12
|
+
export interface NamedFlow {
|
|
13
|
+
name: string;
|
|
14
|
+
steps: readonly FlowStep[];
|
|
15
|
+
}
|
|
16
|
+
/** Map saved flows to the {name, sources} the affected index consumes, deriving each manifest. */
|
|
17
|
+
export declare function toFlowSources(flows: readonly NamedFlow[]): FlowSources[];
|
|
18
|
+
/** Which saved flows a set of changed files affects — the derivation + index in one call. */
|
|
19
|
+
export declare function affectedSavedFlows(flows: readonly NamedFlow[], changedFiles: readonly string[]): AffectedResult;
|
|
20
|
+
//# sourceMappingURL=flow-sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-sources.d.ts","sourceRoot":"","sources":["../../src/flows/flow-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAErF;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,EAAE,CAahE;AAED,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;CAC5B;AAED,kGAAkG;AAClG,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,WAAW,EAAE,CAExE;AAED,6FAA6F;AAC7F,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,YAAY,EAAE,SAAS,MAAM,EAAE,GAC9B,cAAc,CAEhB"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { AnchorKind } from '@reticlehq/core';
|
|
2
|
+
import { affectedFlows } from './affected.js';
|
|
3
|
+
/**
|
|
4
|
+
* A flow's sources manifest, DERIVED from its already-persisted step anchors — no separate storage. A
|
|
5
|
+
* COMPONENT anchor carries the source file its element was stamped from (via the babel/next plugin);
|
|
6
|
+
* collecting those files, recursively through act_sequence sub-steps, gives the set of files whose change
|
|
7
|
+
* should re-verify this flow. A flow with no stamped sources yields an empty manifest → unknown
|
|
8
|
+
* provenance → always affected (fail-safe), handled by affectedFlows.
|
|
9
|
+
*/
|
|
10
|
+
export function flowSources(steps) {
|
|
11
|
+
const files = new Set();
|
|
12
|
+
const walk = (list) => {
|
|
13
|
+
for (const step of list) {
|
|
14
|
+
const anchor = step.anchor;
|
|
15
|
+
if (anchor.kind === AnchorKind.COMPONENT && anchor.source !== undefined) {
|
|
16
|
+
files.add(anchor.source.file);
|
|
17
|
+
}
|
|
18
|
+
if (step.steps !== undefined)
|
|
19
|
+
walk(step.steps);
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
walk(steps);
|
|
23
|
+
return [...files];
|
|
24
|
+
}
|
|
25
|
+
/** Map saved flows to the {name, sources} the affected index consumes, deriving each manifest. */
|
|
26
|
+
export function toFlowSources(flows) {
|
|
27
|
+
return flows.map((flow) => ({ name: flow.name, sources: flowSources(flow.steps) }));
|
|
28
|
+
}
|
|
29
|
+
/** Which saved flows a set of changed files affects — the derivation + index in one call. */
|
|
30
|
+
export function affectedSavedFlows(flows, changedFiles) {
|
|
31
|
+
return affectedFlows(toFlowSources(flows), changedFiles);
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=flow-sources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-sources.js","sourceRoot":"","sources":["../../src/flows/flow-sources.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAyC,MAAM,eAAe,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,KAA0B;IACpD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,IAAI,GAAG,CAAC,IAAyB,EAAQ,EAAE;QAC/C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACxE,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAChC,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,CAAC;IACZ,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;AACpB,CAAC;AAQD,kGAAkG;AAClG,MAAM,UAAU,aAAa,CAAC,KAA2B;IACvD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,kBAAkB,CAChC,KAA2B,EAC3B,YAA+B;IAE/B,OAAO,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type FlowReplayResult } from '@reticlehq/core';
|
|
2
|
+
import type { ToolDef, ToolDeps } from '../tools/tools.js';
|
|
2
3
|
export { replayNamedFlow } from './flow-replay-run.js';
|
|
4
|
+
/**
|
|
5
|
+
* The URL a leased context should open: the app's ORIGIN, not the live tab's current location.
|
|
6
|
+
*
|
|
7
|
+
* The live tab drifts — every replay navigates it — so using its full URL made each lease start wherever
|
|
8
|
+
* the previous run happened to finish (observed: leases opening /deployments and failing to find the
|
|
9
|
+
* login control that only exists at the root). A lease must be a FRESH visit to a deterministic entry
|
|
10
|
+
* point; flows that need another page carry their own startPath.
|
|
11
|
+
*/
|
|
12
|
+
export declare function leasableAppUrl(deps: ToolDeps, sessionId: string | undefined): string | undefined;
|
|
13
|
+
/** A flow whose leased context never came up is a suite ERROR, never a silent pass. */
|
|
14
|
+
export declare function leaseFailureReplay(name: string, error: string | undefined): FlowReplayResult;
|
|
3
15
|
export declare const FLOW_TOOLS: ToolDef[];
|
|
4
16
|
//# sourceMappingURL=flow-tools.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-tools.d.ts","sourceRoot":"","sources":["../../src/flows/flow-tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flow-tools.d.ts","sourceRoot":"","sources":["../../src/flows/flow-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,iBAAiB,CAAC;AAazB,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAS3D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAgBvD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAQhG;AAED,uFAAuF;AACvF,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAU5F;AAKD,eAAO,MAAM,UAAU,EAAE,OAAO,EAqZ/B,CAAC"}
|
package/dist/flows/flow-tools.js
CHANGED
|
@@ -1,31 +1,17 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
2
|
+
import { FlowErrorCode, RecordedSaveError, ReplayStatus, } from '@reticlehq/core';
|
|
3
3
|
import { ReticleTool } from '../tools/tool-names.js';
|
|
4
|
-
import { asString } from '../tools/tools-helpers.js';
|
|
4
|
+
import { asNumber, asString } from '../tools/tools-helpers.js';
|
|
5
5
|
import { log } from '../log.js';
|
|
6
6
|
import { resolveCloudConfig, syncFlowToCloud, SyncOutcome } from '../cloud/cloud-sync.js';
|
|
7
|
-
import {
|
|
7
|
+
import { mapWithConcurrency, resolveConcurrency } from './parallel-suite.js';
|
|
8
|
+
import { acquireLeasedSession } from '../tools/lease-tools.js';
|
|
8
9
|
import { buildSuiteVerdict } from './decision.js';
|
|
9
10
|
import { classifyFlowAssertions } from './flow-classify.js';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { waitForPredicate } from '../events/predicate.js';
|
|
14
|
-
import { replayNamedFlow, flowErrorMessage, latestRecordedFlow } from './flow-replay-run.js';
|
|
11
|
+
import { isValidFlowName, flowPath } from '../project/reticle-dir.js';
|
|
12
|
+
import { replayNamedFlow, flowErrorMessage, latestRecordedFlow, sessionProjectId, } from './flow-replay-run.js';
|
|
13
|
+
import { healFlow } from './heal-run.js';
|
|
15
14
|
export { replayNamedFlow } from './flow-replay-run.js';
|
|
16
|
-
/**
|
|
17
|
-
* The connecting session's project, or undefined when no browser is attached. Flow tools use it to
|
|
18
|
-
* scope storage to the current app on a shared daemon; resolving must NOT throw here (list/load are
|
|
19
|
-
* documented to work headless), so a missing/unknown session degrades to the global/legacy store.
|
|
20
|
-
*/
|
|
21
|
-
function sessionProjectId(deps, sessionId) {
|
|
22
|
-
try {
|
|
23
|
-
return deps.sessions.resolve(sessionId).projectId;
|
|
24
|
-
}
|
|
25
|
-
catch {
|
|
26
|
-
return undefined;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
15
|
/**
|
|
30
16
|
* Best-effort mirror of a just-saved flow to Reticle Cloud (only when logged in — both cloud env vars
|
|
31
17
|
* set). Fire-and-forget: resolves the config, POSTs via the platform fetch, and logs the outcome. Any
|
|
@@ -40,6 +26,39 @@ async function syncSavedFlowToCloud(flow, projectId) {
|
|
|
40
26
|
log('cloud-flow-sync-failed', { flow: flow.name, status: result.status, error: result.error });
|
|
41
27
|
}
|
|
42
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* The URL a leased context should open: the app's ORIGIN, not the live tab's current location.
|
|
31
|
+
*
|
|
32
|
+
* The live tab drifts — every replay navigates it — so using its full URL made each lease start wherever
|
|
33
|
+
* the previous run happened to finish (observed: leases opening /deployments and failing to find the
|
|
34
|
+
* login control that only exists at the root). A lease must be a FRESH visit to a deterministic entry
|
|
35
|
+
* point; flows that need another page carry their own startPath.
|
|
36
|
+
*/
|
|
37
|
+
export function leasableAppUrl(deps, sessionId) {
|
|
38
|
+
try {
|
|
39
|
+
const url = deps.sessions.resolve(sessionId).url;
|
|
40
|
+
if (typeof url !== 'string' || url.length === 0)
|
|
41
|
+
return undefined;
|
|
42
|
+
return new URL(url).origin;
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return undefined; // no live session (or an unparseable URL) → sequential path
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/** A flow whose leased context never came up is a suite ERROR, never a silent pass. */
|
|
49
|
+
export function leaseFailureReplay(name, error) {
|
|
50
|
+
return {
|
|
51
|
+
name,
|
|
52
|
+
status: ReplayStatus.ERROR,
|
|
53
|
+
steps: [],
|
|
54
|
+
error: {
|
|
55
|
+
code: ReplayStatus.ERROR,
|
|
56
|
+
message: `could not run in a leased context: ${error ?? 'unknown error'}`,
|
|
57
|
+
},
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/** Stand-in path for a flow whose name fails the path-segment guard — never a real join. */
|
|
61
|
+
const INVALID_FLOW_NAME_PATH = '(invalid flow name — not a usable path)';
|
|
43
62
|
export const FLOW_TOOLS = [
|
|
44
63
|
{
|
|
45
64
|
name: ReticleTool.FLOW_SAVE,
|
|
@@ -129,7 +148,15 @@ export const FLOW_TOOLS = [
|
|
|
129
148
|
handler: (deps, args) => {
|
|
130
149
|
const projectId = sessionProjectId(deps, asString(args['sessionId']));
|
|
131
150
|
return deps.flows.list(projectId).then((names) => ({
|
|
132
|
-
|
|
151
|
+
// `list` deliberately returns invalid names so they are reported rather than silently
|
|
152
|
+
// dropped — but the declared outputSchema requires `path` on EVERY entry, and omitting it made
|
|
153
|
+
// a strict MCP client reject the whole listing (the agent then sees no flows at all, which is
|
|
154
|
+
// worse than the bad path it replaced). So every entry keeps a string `path`; an invalid name
|
|
155
|
+
// gets an explanatory marker instead of a joined filesystem path, which is what must never
|
|
156
|
+
// happen for a traversal-shaped name.
|
|
157
|
+
flows: names.map((name) => isValidFlowName(name)
|
|
158
|
+
? { name, path: flowPath(deps.reticleRoot, name, projectId) }
|
|
159
|
+
: { name, path: INVALID_FLOW_NAME_PATH }),
|
|
133
160
|
}));
|
|
134
161
|
},
|
|
135
162
|
},
|
|
@@ -210,9 +237,16 @@ export const FLOW_TOOLS = [
|
|
|
210
237
|
.describe('Active session ID from reticle_sessions. Omit when only one browser session is open.'),
|
|
211
238
|
},
|
|
212
239
|
outputSchema: {
|
|
240
|
+
// The flow's name — always present in FlowReplayResult (the description promises `{ name, … }`),
|
|
241
|
+
// but omitted here, so a validating profile stripped it and a replay result arrived anonymous.
|
|
242
|
+
name: z.string(),
|
|
213
243
|
status: z.string().describe('ok | drift | error'),
|
|
214
244
|
steps: z.array(z.unknown()),
|
|
215
245
|
proposals: z.array(z.unknown()).optional(),
|
|
246
|
+
deviation: z
|
|
247
|
+
.unknown()
|
|
248
|
+
.optional()
|
|
249
|
+
.describe('Push-default deviation report over the replay segments: ranked deviations vs the learned envelope + a nominal count, or a fall-back note below 3 runs.'),
|
|
216
250
|
error: z.object({ code: z.string(), message: z.string() }).optional(),
|
|
217
251
|
decision: z
|
|
218
252
|
.object({
|
|
@@ -242,6 +276,10 @@ export const FLOW_TOOLS = [
|
|
|
242
276
|
.array(z.string())
|
|
243
277
|
.optional()
|
|
244
278
|
.describe('Flow names to verify. Omit to verify every saved flow.'),
|
|
279
|
+
parallel: z
|
|
280
|
+
.number()
|
|
281
|
+
.optional()
|
|
282
|
+
.describe('Run this many flows at once, each in its own isolated leased browser context (needs the browser pool). Clamped to the pool capacity and the flow count. Omit for the sequential single-tab run.'),
|
|
245
283
|
sessionId: z
|
|
246
284
|
.string()
|
|
247
285
|
.optional()
|
|
@@ -261,8 +299,41 @@ export const FLOW_TOOLS = [
|
|
|
261
299
|
const requested = Array.isArray(args['names'])
|
|
262
300
|
? args['names'].filter((n) => typeof n === 'string')
|
|
263
301
|
: await deps.flows.list(sessionProjectId(deps, sessionId));
|
|
302
|
+
// PARALLEL: flows race the DOM only when they share ONE tab. Given the lease pool, each
|
|
303
|
+
// flow gets its own isolated context, so a large suite finishes in interactive time. Opt-in via
|
|
304
|
+
// `parallel`; a missing prerequisite (no pool, unknown app URL) falls back to the sequential path
|
|
305
|
+
// rather than failing — a suite must always be runnable.
|
|
306
|
+
//
|
|
307
|
+
// NOTE: this applies even to a ONE-flow suite. Skipping leases for a single flow looked harmless
|
|
308
|
+
// (no speedup to win) but silently downgraded an explicit `parallel` request to a shared-tab run,
|
|
309
|
+
// so the flow inherited whatever state the previous run left behind — isolation is the point here,
|
|
310
|
+
// not only concurrency.
|
|
311
|
+
const parallelArg = asNumber(args['parallel']);
|
|
312
|
+
const pool = deps.pool;
|
|
313
|
+
const appUrl = leasableAppUrl(deps, sessionId);
|
|
314
|
+
if (parallelArg !== undefined &&
|
|
315
|
+
pool !== undefined &&
|
|
316
|
+
appUrl !== undefined &&
|
|
317
|
+
requested.length > 0) {
|
|
318
|
+
const concurrency = resolveConcurrency(requested.length, pool.capacity(), parallelArg);
|
|
319
|
+
const outcomes = await mapWithConcurrency(requested, concurrency, async (flowName) => {
|
|
320
|
+
const lease = await acquireLeasedSession(pool, (id) => deps.sessions.get(id) !== undefined, appUrl);
|
|
321
|
+
try {
|
|
322
|
+
return await replayNamedFlow(deps, { flowName, sessionId: lease.sessionId });
|
|
323
|
+
}
|
|
324
|
+
finally {
|
|
325
|
+
// Always release: a crashed flow must never leak a slot and starve the rest of the suite.
|
|
326
|
+
await lease.release().catch(() => undefined);
|
|
327
|
+
}
|
|
328
|
+
});
|
|
329
|
+
return buildSuiteVerdict(outcomes.map((o, i) => ({
|
|
330
|
+
replay: o.ok && o.value !== undefined
|
|
331
|
+
? o.value
|
|
332
|
+
: leaseFailureReplay(requested[i] ?? '', o.error),
|
|
333
|
+
})));
|
|
334
|
+
}
|
|
264
335
|
const runs = [];
|
|
265
|
-
// Sequential:
|
|
336
|
+
// Sequential default: every flow replays against the same live session, so they must not overlap.
|
|
266
337
|
for (const flowName of requested) {
|
|
267
338
|
const replay = await replayNamedFlow(deps, { flowName, sessionId });
|
|
268
339
|
runs.push({ replay });
|
|
@@ -319,8 +390,9 @@ export const FLOW_TOOLS = [
|
|
|
319
390
|
// If logged into Reticle Cloud, mirror the saved flow to the team's regression suite. Best-effort
|
|
320
391
|
// and non-blocking: the flow is already on disk, so a sync failure never fails the save.
|
|
321
392
|
void syncSavedFlowToCloud(flow, session.projectId);
|
|
322
|
-
|
|
323
|
-
|
|
393
|
+
// Return the SaveSummary as-is ({ name, stepCount, degraded, empty }) — the outputSchema
|
|
394
|
+
// declares `name`, so the old `flowName` key was silently stripped by schema-strict clients.
|
|
395
|
+
return res.value;
|
|
324
396
|
},
|
|
325
397
|
},
|
|
326
398
|
{
|
|
@@ -358,131 +430,4 @@ export const FLOW_TOOLS = [
|
|
|
358
430
|
handler: (deps, args) => healFlow(deps, args).then(({ name, ...rest }) => ({ flowName: name, ...rest })),
|
|
359
431
|
},
|
|
360
432
|
];
|
|
361
|
-
const HEAL_MESSAGES = {
|
|
362
|
-
NOTHING: 'nothing to heal — every anchor resolved on replay',
|
|
363
|
-
HEALED: "rewrote drifted testid anchors to their nearest surviving match and re-verified the flow's success consequence still fires",
|
|
364
|
-
DRIFT_DRY: 'confident rebind(s) proposed — re-run with apply:true to write them to disk',
|
|
365
|
-
UNHEALABLE: `drift found, but no nearest match cleared the confidence floor (HEAL_CONFIDENCE_MIN=${HEAL_CONFIDENCE_MIN}); file left untouched — add a data-testid or fix the flow by hand`,
|
|
366
|
-
HEALED_UNVERIFIED: 'rewrote drifted testid anchors — but this flow declares no success consequence, so the rebind resolves a locator without proving the intent still holds. Add a success-state assertion (reticle_annotate) so future heals can be verified.',
|
|
367
|
-
CONSEQUENCE_BROKEN: 'rebind resolves the drifted locator to a surviving element, but the healed flow no longer satisfies its success consequence — refusing to write (a heal that loses the intent would ship a green-but-dead test). Fix by hand and verify',
|
|
368
|
-
};
|
|
369
|
-
function toChange(proposal) {
|
|
370
|
-
return { step: proposal.step, from: proposal.from, to: proposal.to };
|
|
371
|
-
}
|
|
372
|
-
/**
|
|
373
|
-
* Self-heal handler: load → replay → collect confident proposals → (apply ? write : dry).
|
|
374
|
-
* Never silently rewrites: only proposals that cleared HEAL_CONFIDENCE_MIN are eligible, and only
|
|
375
|
-
* when apply:true. A heal disk failure maps back to status:error.
|
|
376
|
-
*/
|
|
377
|
-
async function healFlow(deps, args) {
|
|
378
|
-
const name = asString(args['flowName']) ?? '';
|
|
379
|
-
const apply = args['apply'] === true;
|
|
380
|
-
const projectId = sessionProjectId(deps, asString(args['sessionId']));
|
|
381
|
-
const loaded = await deps.flows.load(name, projectId);
|
|
382
|
-
if (!loaded.ok) {
|
|
383
|
-
return {
|
|
384
|
-
name,
|
|
385
|
-
status: HealStatus.ERROR,
|
|
386
|
-
applied: false,
|
|
387
|
-
proposals: [],
|
|
388
|
-
changed: [],
|
|
389
|
-
message: flowErrorMessage(loaded.code),
|
|
390
|
-
error: { code: loaded.code, message: flowErrorMessage(loaded.code) },
|
|
391
|
-
};
|
|
392
|
-
}
|
|
393
|
-
const session = deps.sessions.resolve(asString(args['sessionId']));
|
|
394
|
-
const steps = await replayFlow(session, loaded.value, waitForPredicate, FLOW_SIGNAL_TIMEOUT_MS, args['confirmDangerous'] === true);
|
|
395
|
-
const drifted = steps.some((s) => s.drift !== undefined);
|
|
396
|
-
const failed = steps.find((s) => !s.ok && s.drift === undefined);
|
|
397
|
-
if (failed !== undefined) {
|
|
398
|
-
const message = failed.error ?? 'flow replay failed before an anchor could be healed';
|
|
399
|
-
return {
|
|
400
|
-
name,
|
|
401
|
-
status: HealStatus.ERROR,
|
|
402
|
-
applied: false,
|
|
403
|
-
proposals: [],
|
|
404
|
-
changed: [],
|
|
405
|
-
message,
|
|
406
|
-
error: { code: ReplayStatus.ERROR, message },
|
|
407
|
-
};
|
|
408
|
-
}
|
|
409
|
-
if (!drifted) {
|
|
410
|
-
return {
|
|
411
|
-
name,
|
|
412
|
-
status: HealStatus.NOTHING_TO_HEAL,
|
|
413
|
-
applied: false,
|
|
414
|
-
proposals: [],
|
|
415
|
-
changed: [],
|
|
416
|
-
message: HEAL_MESSAGES.NOTHING,
|
|
417
|
-
};
|
|
418
|
-
}
|
|
419
|
-
const proposals = collectProposals(steps);
|
|
420
|
-
if (proposals.length === 0) {
|
|
421
|
-
return {
|
|
422
|
-
name,
|
|
423
|
-
status: HealStatus.UNHEALABLE,
|
|
424
|
-
applied: false,
|
|
425
|
-
proposals: [],
|
|
426
|
-
changed: [],
|
|
427
|
-
message: HEAL_MESSAGES.UNHEALABLE,
|
|
428
|
-
};
|
|
429
|
-
}
|
|
430
|
-
if (!apply) {
|
|
431
|
-
return {
|
|
432
|
-
name,
|
|
433
|
-
status: HealStatus.DRIFT,
|
|
434
|
-
applied: false,
|
|
435
|
-
proposals,
|
|
436
|
-
changed: [],
|
|
437
|
-
message: HEAL_MESSAGES.DRIFT_DRY,
|
|
438
|
-
};
|
|
439
|
-
}
|
|
440
|
-
// Heal-the-locator-never-the-intent invariant: "heal the locator, never the intent." Before persisting, verify the rebind on a
|
|
441
|
-
// healed in-memory copy: a rebound testid can resolve to a real but WRONG element that no longer
|
|
442
|
-
// triggers the flow's success consequence (e.g. a look-alike control). Persisting that would ship
|
|
443
|
-
// a green flow that tests nothing. Re-replay the healed flow and assert its success; refuse the
|
|
444
|
-
// write if the consequence no longer fires. Flows with no declared success can't be verified — we
|
|
445
|
-
// still heal them but say so loudly so the gap is visible.
|
|
446
|
-
const { flow: healed } = applyHealChanges(loaded.value, proposals.map(toChange));
|
|
447
|
-
if (healed.success !== undefined) {
|
|
448
|
-
// Floor the success oracle at the start of the VERIFY replay so the success signal emitted by the
|
|
449
|
-
// earlier drift replay's prefix (this same heal call) cannot fake the verification.
|
|
450
|
-
const verifyFloor = session.elapsed();
|
|
451
|
-
const verifySteps = await replayFlow(session, healed, waitForPredicate, FLOW_SIGNAL_TIMEOUT_MS, args['confirmDangerous'] === true);
|
|
452
|
-
const verifyClean = verifySteps.length > 0 && verifySteps.every((s) => s.ok && s.drift === undefined);
|
|
453
|
-
const verdict = verifyClean
|
|
454
|
-
? await assertSuccess(session, healed.success, dynamicTestids(healed), waitForPredicate, FLOW_SIGNAL_TIMEOUT_MS, verifyFloor)
|
|
455
|
-
: { pass: false, failureReason: 'healed flow did not replay cleanly' };
|
|
456
|
-
if (!verdict.pass) {
|
|
457
|
-
return {
|
|
458
|
-
name,
|
|
459
|
-
status: HealStatus.CONSEQUENCE_BROKEN,
|
|
460
|
-
applied: false,
|
|
461
|
-
proposals,
|
|
462
|
-
changed: [],
|
|
463
|
-
message: `${HEAL_MESSAGES.CONSEQUENCE_BROKEN} (${successLabel(healed.success)}: ${verdict.failureReason ?? 'not satisfied'})`,
|
|
464
|
-
};
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
const written = await deps.flows.heal(name, proposals.map(toChange), projectId);
|
|
468
|
-
if (!written.ok) {
|
|
469
|
-
return {
|
|
470
|
-
name,
|
|
471
|
-
status: HealStatus.ERROR,
|
|
472
|
-
applied: false,
|
|
473
|
-
proposals,
|
|
474
|
-
changed: [],
|
|
475
|
-
message: flowErrorMessage(written.code),
|
|
476
|
-
error: { code: written.code, message: flowErrorMessage(written.code) },
|
|
477
|
-
};
|
|
478
|
-
}
|
|
479
|
-
return {
|
|
480
|
-
name,
|
|
481
|
-
status: HealStatus.HEALED,
|
|
482
|
-
applied: written.value.changed.length > 0,
|
|
483
|
-
proposals,
|
|
484
|
-
changed: written.value.changed,
|
|
485
|
-
message: loaded.value.success !== undefined ? HEAL_MESSAGES.HEALED : HEAL_MESSAGES.HEALED_UNVERIFIED,
|
|
486
|
-
};
|
|
487
|
-
}
|
|
488
433
|
//# sourceMappingURL=flow-tools.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-tools.js","sourceRoot":"","sources":["../../src/flows/flow-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow-tools.js","sourceRoot":"","sources":["../../src/flows/flow-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/flows/flows.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { FlowErrorCode } from '@reticlehq/core';
|
|
|
2
2
|
import type { FlowExpect, FlowFile, FlowStep, HealChange } from '@reticlehq/core';
|
|
3
3
|
import type { CompiledProgram, RecordedStep } from './recordings.js';
|
|
4
4
|
import type { FileSystemPort } from '../project/fs-port.js';
|
|
5
|
-
/** A monotonic clock injected for createdAt — never call Date.now
|
|
5
|
+
/** A monotonic clock injected for createdAt — never call Date.now inside the store (rule 7). */
|
|
6
6
|
export interface Clock {
|
|
7
7
|
now(): number;
|
|
8
8
|
}
|
|
@@ -52,14 +52,14 @@ export declare class FlowStore {
|
|
|
52
52
|
/**
|
|
53
53
|
* Persist an already-anchored FlowFile captured in-page (no recompilation). The
|
|
54
54
|
* browser resolved every semantic anchor at capture time; here we only validate the name +
|
|
55
|
-
* re-run FlowFileSchema before writing. save
|
|
55
|
+
* re-run FlowFileSchema before writing. save is left untouched.
|
|
56
56
|
*/
|
|
57
57
|
saveFlow(flow: FlowFile, projectId?: string): Promise<FlowResult<SaveSummary>>;
|
|
58
58
|
/**
|
|
59
59
|
* Apply confident testid rebinds to an on-disk flow (the reticle_flow_heal
|
|
60
60
|
* apply path). Loads + validates the flow (so it gets NOT_FOUND / PARSE_FAILED for free), then
|
|
61
61
|
* rewrites ONLY the named steps' testid anchors — preserving createdAt + every other field — and
|
|
62
|
-
* re-serializes byte-stably via the same #serialize
|
|
62
|
+
* re-serializes byte-stably via the same #serialize that save uses. The name guard runs
|
|
63
63
|
* FIRST, before any path is joined, so a traversal name never reaches the disk.
|
|
64
64
|
*
|
|
65
65
|
* This writer is PURE of the confidence policy: it trusts the changes it is handed (the tool only
|
|
@@ -75,6 +75,11 @@ export declare class FlowStore {
|
|
|
75
75
|
* flows PLUS legacy flat (untagged/global) ones. Without one (CLI/CI/contract callers): EVERY flow
|
|
76
76
|
* in the store — flat plus every per-project subdir — so a repo-wide replay/audit misses nothing.
|
|
77
77
|
*/
|
|
78
|
+
/**
|
|
79
|
+
* All flow names on disk, INCLUDING any that fail the path-segment guard — an invalid name must reach
|
|
80
|
+
* the caller as a reportable error, never be silently filtered away. Callers that build a path from a
|
|
81
|
+
* name must validate first; `flowPath` takes a branded FlowName precisely so the compiler insists.
|
|
82
|
+
*/
|
|
78
83
|
list(projectId?: string): Promise<string[]>;
|
|
79
84
|
/**
|
|
80
85
|
* Read + zod-validate a flow by name. With a `projectId`, prefers the per-project copy and falls
|
|
@@ -83,7 +88,7 @@ export declare class FlowStore {
|
|
|
83
88
|
load(name: string, projectId?: string): Promise<FlowResult<FlowFile>>;
|
|
84
89
|
/**
|
|
85
90
|
* Delete a flow's file so a renamed/obsolete flow stops lingering in the replay list. Resolves the
|
|
86
|
-
* same path `load
|
|
91
|
+
* same path `load` would (per-project copy, else legacy flat, else a subdir scan for the no-pid
|
|
87
92
|
* caller), then removes it. NOT_FOUND when nothing resolves — deleting an absent flow is an error,
|
|
88
93
|
* not a silent no-op, so a typo doesn't read as success.
|
|
89
94
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/flows/flows.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flows.d.ts","sourceRoot":"","sources":["../../src/flows/flows.ts"],"names":[],"mappings":"AACA,OAAO,EAIL,aAAa,EAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAGV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACX,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAW5D,gGAAgG;AAChG,MAAM,WAAW,KAAK;IACpB,GAAG,IAAI,MAAM,CAAC;CACf;AAED,oEAAoE;AACpE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAmFxF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAkBnE;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAqBD,8FAA8F;AAC9F,qBAAa,SAAS;;gBAKR,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;IAe1D;;;;OAIG;IACG,IAAI,CACR,OAAO,EAAE,eAAe,EACxB,WAAW,CAAC,EAAE,eAAe,EAC7B,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IA4BnC;;;;OAIG;IACG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IA0BpF;;;;;;;;;;OAUG;IACG,IAAI,CACR,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,UAAU,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAC;IA8B/D;;;;OAIG;IACH;;;;OAIG;IACG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsDjD;;;OAGG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IA0B3E;;;;;OAKG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;CAO1E"}
|