@probelabs/visor 0.1.106 → 0.1.107
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/README.md +65 -2
- package/action.yml +1 -1
- package/defaults/code-refiner.yaml +114 -0
- package/defaults/{.visor.yaml → code-review.yaml} +35 -226
- package/defaults/override.yaml +52 -0
- package/defaults/task-refinement.yaml +620 -0
- package/defaults/visor.tests.yaml +674 -0
- package/defaults/visor.yaml +482 -0
- package/dist/663.index.js +2 -3
- package/dist/80.index.js +2 -3
- package/dist/action-cli-bridge.d.ts +11 -82
- package/dist/action-cli-bridge.d.ts.map +1 -1
- package/dist/ai-review-service.d.ts +15 -0
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/check-execution-engine.d.ts +19 -331
- package/dist/check-execution-engine.d.ts.map +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/config.d.ts +16 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/cron-scheduler.d.ts +3 -3
- package/dist/cron-scheduler.d.ts.map +1 -1
- package/dist/debug-visualizer/ws-server.d.ts.map +1 -1
- package/dist/defaults/code-refiner.yaml +114 -0
- package/dist/defaults/{.visor.yaml → code-review.yaml} +35 -226
- package/dist/defaults/override.yaml +52 -0
- package/dist/defaults/task-refinement.yaml +620 -0
- package/dist/defaults/visor.tests.yaml +674 -0
- package/dist/defaults/visor.yaml +482 -0
- package/dist/docs/DEPLOYMENT.md +118 -0
- package/dist/docs/GITHUB_CHECKS.md +280 -0
- package/dist/docs/NPM_USAGE.md +208 -0
- package/dist/docs/action-reference.md +19 -0
- package/dist/docs/advanced-ai.md +178 -0
- package/dist/docs/ai-configuration.md +468 -0
- package/dist/docs/author-permissions.md +610 -0
- package/dist/docs/ci-cli-mode.md +34 -0
- package/dist/docs/claude-code.md +74 -0
- package/dist/docs/command-provider.md +559 -0
- package/dist/docs/commands.md +8 -0
- package/dist/docs/configuration.md +303 -0
- package/dist/docs/custom-tools.md +424 -0
- package/dist/docs/dashboards/README.md +23 -0
- package/dist/docs/dashboards/grafana-visor-diagrams.json +20 -0
- package/dist/docs/dashboards/grafana-visor-overview.json +33 -0
- package/dist/docs/debug-visualizer-progress.md +572 -0
- package/dist/docs/debug-visualizer-rfc.md +691 -0
- package/dist/docs/debug-visualizer.md +114 -0
- package/dist/docs/debugging.md +636 -0
- package/dist/docs/default-output-schema.md +28 -0
- package/dist/docs/dependencies.md +369 -0
- package/dist/docs/dev-playbook.md +9 -0
- package/dist/docs/engine-state-machine-plan.md +333 -0
- package/dist/docs/event-driven-github-integration-rfc.md +743 -0
- package/dist/docs/event-triggers.md +292 -0
- package/dist/docs/execution-statistics-rfc.md +290 -0
- package/dist/docs/fact-validator-gap-analysis.md +178 -0
- package/dist/docs/fact-validator-implementation-plan.md +1235 -0
- package/dist/docs/fail-if.md +95 -0
- package/dist/docs/failure-conditions-implementation.md +271 -0
- package/dist/docs/failure-conditions-schema.md +173 -0
- package/dist/docs/failure-routing-rfc.md +193 -0
- package/dist/docs/failure-routing.md +507 -0
- package/dist/docs/foreach-dependency-propagation.md +473 -0
- package/dist/docs/github-ops.md +89 -0
- package/dist/docs/goto-forward-run-plan.md +113 -0
- package/dist/docs/guides/criticality-modes.md +332 -0
- package/dist/docs/guides/fault-management-and-contracts.md +738 -0
- package/dist/docs/guides/workflow-style-guide.md +224 -0
- package/dist/docs/http.md +299 -0
- package/dist/docs/human-input-provider.md +372 -0
- package/dist/docs/limits.md +64 -0
- package/dist/docs/liquid-templates.md +347 -0
- package/dist/docs/loop-routing-refactor.md +89 -0
- package/dist/docs/mcp-provider.md +557 -0
- package/dist/docs/mcp.md +124 -0
- package/dist/docs/memory.md +903 -0
- package/dist/docs/observability.md +12 -0
- package/dist/docs/output-formats.md +20 -0
- package/dist/docs/output-formatting.md +29 -0
- package/dist/docs/output-history.md +383 -0
- package/dist/docs/performance.md +6 -0
- package/dist/docs/pluggable.md +124 -0
- package/dist/docs/proposals/snapshot-scope-execution.md +236 -0
- package/dist/docs/recipes.md +21 -0
- package/dist/docs/roadmap/criticality-implementation-tasks.md +92 -0
- package/dist/docs/schema-next-pr.md +10 -0
- package/dist/docs/schema-templates.md +68 -0
- package/dist/docs/script.md +34 -0
- package/dist/docs/sdk.md +222 -0
- package/dist/docs/security.md +7 -0
- package/dist/docs/suppressions.md +89 -0
- package/dist/docs/tag-filtering.md +258 -0
- package/dist/docs/telemetry-setup.md +119 -0
- package/dist/docs/telemetry-tracing-rfc.md +275 -0
- package/dist/docs/test-framework-rfc.md +680 -0
- package/dist/docs/testing/assertions.md +85 -0
- package/dist/docs/testing/ci.md +44 -0
- package/dist/docs/testing/cli.md +41 -0
- package/dist/docs/testing/cookbook.md +172 -0
- package/dist/docs/testing/dsl-reference.md +199 -0
- package/dist/docs/testing/fixtures-and-mocks.md +91 -0
- package/dist/docs/testing/flows.md +92 -0
- package/dist/docs/testing/getting-started.md +93 -0
- package/dist/docs/testing/troubleshooting.md +55 -0
- package/dist/docs/timeouts.md +50 -0
- package/dist/docs/troubleshooting.md +7 -0
- package/dist/docs/visor-sdk-rfc.md +186 -0
- package/dist/docs/workflows.md +569 -0
- package/dist/engine/on-finish/orchestrator.d.ts +19 -0
- package/dist/engine/on-finish/orchestrator.d.ts.map +1 -0
- package/dist/engine/on-finish/utils.d.ts +44 -0
- package/dist/engine/on-finish/utils.d.ts.map +1 -0
- package/dist/event-bus/event-bus.d.ts +13 -0
- package/dist/event-bus/event-bus.d.ts.map +1 -0
- package/dist/event-bus/types.d.ts +57 -0
- package/dist/event-bus/types.d.ts.map +1 -0
- package/dist/examples/.claude/agents/code-reviewer.md +69 -0
- package/dist/examples/.mcp.json +34 -0
- package/dist/examples/CALCULATOR-SDK.md +364 -0
- package/dist/examples/README.md +384 -0
- package/dist/examples/ai-retry-fallback-config.yaml +180 -0
- package/dist/examples/ai-with-bash.yaml +126 -0
- package/dist/examples/ai-with-mcp.yaml +82 -0
- package/dist/examples/basic-human-input.yaml +15 -0
- package/dist/examples/bedrock-config.yaml +77 -0
- package/dist/examples/calculator-config.yaml +133 -0
- package/dist/examples/calculator-json-output-guide.md +311 -0
- package/dist/examples/calculator-sdk-automated.ts +340 -0
- package/dist/examples/calculator-sdk-example.ts +275 -0
- package/dist/examples/calculator-sdk-json.ts +331 -0
- package/dist/examples/calculator-sdk-real.ts +374 -0
- package/dist/examples/calculator-sdk-test.ts +148 -0
- package/dist/examples/claude-code-config.yaml +191 -0
- package/dist/examples/cron-webhook-config.yaml +215 -0
- package/dist/examples/custom-template.liquid +57 -0
- package/dist/examples/custom-tools-example.yaml +281 -0
- package/dist/examples/enhanced-config.yaml +165 -0
- package/dist/examples/environments/visor.base.yaml +92 -0
- package/dist/examples/environments/visor.dev.yaml +33 -0
- package/dist/examples/environments/visor.prod.yaml +95 -0
- package/dist/examples/environments/visor.staging.yaml +46 -0
- package/dist/examples/fact-validator.yaml +361 -0
- package/dist/examples/fail-if-simple.yaml +90 -0
- package/dist/examples/failure-conditions-advanced.yaml +136 -0
- package/dist/examples/failure-conditions-basic.yaml +48 -0
- package/dist/examples/failure-conditions-github-style.yaml +119 -0
- package/dist/examples/failure-conditions-migration.yaml +74 -0
- package/dist/examples/for-loop-example.yaml +176 -0
- package/dist/examples/forEach-example.yaml +120 -0
- package/dist/examples/github-workflow-with-tags.yml +163 -0
- package/dist/examples/http-integration-config.yaml +240 -0
- package/dist/examples/https-server-config.yaml +209 -0
- package/dist/examples/human-input-example.yaml +63 -0
- package/dist/examples/if-conditions.yaml +173 -0
- package/dist/examples/jira-simple-example.yaml +56 -0
- package/dist/examples/jira-single-issue-workflow.yaml +166 -0
- package/dist/examples/jira-workflow-mcp.yaml +182 -0
- package/dist/examples/mcp/analyzer.py +119 -0
- package/dist/examples/mcp-provider-example.yaml +301 -0
- package/dist/examples/memory-counter.yaml +99 -0
- package/dist/examples/memory-error-collection.yaml +104 -0
- package/dist/examples/memory-exec-js.yaml +247 -0
- package/dist/examples/memory-namespace-isolation.yaml +184 -0
- package/dist/examples/memory-retry-counter.yaml +65 -0
- package/dist/examples/memory-state-machine.yaml +170 -0
- package/dist/examples/outputs-raw-basic.yaml +26 -0
- package/dist/examples/project-with-tools.yaml +174 -0
- package/dist/examples/prompts/architecture-analysis.liquid +116 -0
- package/dist/examples/prompts/security-comprehensive.liquid +107 -0
- package/dist/examples/quick-start-tags.yaml +53 -0
- package/dist/examples/routing-basic.yaml +35 -0
- package/dist/examples/routing-dynamic-js.yaml +46 -0
- package/dist/examples/routing-foreach.yaml +34 -0
- package/dist/examples/routing-goto-event.yaml +34 -0
- package/dist/examples/routing-on-success.yaml +25 -0
- package/dist/examples/run-calculator-demo.sh +71 -0
- package/dist/examples/sdk-basic.mjs +10 -0
- package/dist/examples/sdk-cjs.cjs +10 -0
- package/dist/examples/sdk-comprehensive.mjs +175 -0
- package/dist/examples/sdk-manual-config.mjs +65 -0
- package/dist/examples/sdk-typescript.js +81 -0
- package/dist/examples/sdk-typescript.ts +92 -0
- package/dist/examples/session-reuse-config.yaml +151 -0
- package/dist/examples/templates/security-report.liquid +137 -0
- package/dist/examples/tools-library.yaml +281 -0
- package/dist/examples/transform-example.yaml +199 -0
- package/dist/examples/visor-with-tags.yaml +198 -0
- package/dist/examples/webhook-pipeline-config.yaml +218 -0
- package/dist/examples/workflows/calculator-workflow.yaml +163 -0
- package/dist/examples/workflows/code-quality.yaml +222 -0
- package/dist/examples/workflows/quick-pr-check.yaml +90 -0
- package/dist/examples/workflows/workflow-composition-example.yaml +130 -0
- package/dist/failure-condition-evaluator.d.ts +1 -0
- package/dist/failure-condition-evaluator.d.ts.map +1 -1
- package/dist/frontends/github-frontend.d.ts +38 -0
- package/dist/frontends/github-frontend.d.ts.map +1 -0
- package/dist/frontends/host.d.ts +43 -0
- package/dist/frontends/host.d.ts.map +1 -0
- package/dist/frontends/ndjson-sink.d.ts +12 -0
- package/dist/frontends/ndjson-sink.d.ts.map +1 -0
- package/dist/generated/config-schema.d.ts +564 -22
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +612 -24
- package/dist/github-check-service.d.ts +4 -6
- package/dist/github-check-service.d.ts.map +1 -1
- package/dist/github-comments.d.ts +0 -4
- package/dist/github-comments.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70335 -62514
- package/dist/liquid-extensions.d.ts.map +1 -1
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/memory-store.d.ts +6 -0
- package/dist/memory-store.d.ts.map +1 -1
- package/dist/output/assistant-json/template.liquid +0 -0
- package/dist/output/traces/run-2025-11-21T11-50-46-505Z.ndjson +138 -0
- package/dist/output/traces/run-2025-11-21T11-51-33-674Z.ndjson +839 -0
- package/dist/output-formatters.d.ts +1 -1
- package/dist/output-formatters.d.ts.map +1 -1
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/check-provider-registry.d.ts +6 -0
- package/dist/providers/check-provider-registry.d.ts.map +1 -1
- package/dist/providers/check-provider.interface.d.ts +34 -1
- package/dist/providers/check-provider.interface.d.ts.map +1 -1
- package/dist/providers/claude-code-check-provider.d.ts.map +1 -1
- package/dist/providers/command-check-provider.d.ts +1 -1
- package/dist/providers/command-check-provider.d.ts.map +1 -1
- package/dist/providers/custom-tool-executor.d.ts +61 -0
- package/dist/providers/custom-tool-executor.d.ts.map +1 -0
- package/dist/providers/github-ops-provider.d.ts.map +1 -1
- package/dist/providers/http-client-provider.d.ts +1 -4
- package/dist/providers/http-client-provider.d.ts.map +1 -1
- package/dist/providers/human-input-check-provider.d.ts +3 -0
- package/dist/providers/human-input-check-provider.d.ts.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/log-check-provider.d.ts +2 -5
- package/dist/providers/log-check-provider.d.ts.map +1 -1
- package/dist/providers/mcp-check-provider.d.ts +9 -3
- package/dist/providers/mcp-check-provider.d.ts.map +1 -1
- package/dist/providers/memory-check-provider.d.ts +2 -8
- package/dist/providers/memory-check-provider.d.ts.map +1 -1
- package/dist/providers/script-check-provider.d.ts +25 -0
- package/dist/providers/script-check-provider.d.ts.map +1 -0
- package/dist/providers/workflow-check-provider.d.ts +56 -0
- package/dist/providers/workflow-check-provider.d.ts.map +1 -0
- package/dist/reviewer.d.ts +2 -1
- package/dist/reviewer.d.ts.map +1 -1
- package/dist/sdk/chunk-37ZSCMFC.mjs +482 -0
- package/dist/sdk/chunk-37ZSCMFC.mjs.map +1 -0
- package/dist/sdk/chunk-6Y4YTKCF.mjs +197 -0
- package/dist/sdk/chunk-6Y4YTKCF.mjs.map +1 -0
- package/dist/sdk/chunk-CNX7V5JK.mjs +89 -0
- package/dist/sdk/chunk-CNX7V5JK.mjs.map +1 -0
- package/dist/sdk/chunk-IEO6CFLG.mjs +1215 -0
- package/dist/sdk/chunk-IEO6CFLG.mjs.map +1 -0
- package/dist/sdk/chunk-JEHPDJIF.mjs +223 -0
- package/dist/sdk/chunk-JEHPDJIF.mjs.map +1 -0
- package/dist/sdk/chunk-O5EZDNYL.mjs +274 -0
- package/dist/sdk/chunk-O5EZDNYL.mjs.map +1 -0
- package/dist/sdk/{chunk-TUTOLSFV.mjs → chunk-OOZITMRU.mjs} +1 -1
- package/dist/sdk/chunk-OOZITMRU.mjs.map +1 -0
- package/dist/sdk/chunk-OWUVOILT.mjs +557 -0
- package/dist/sdk/chunk-OWUVOILT.mjs.map +1 -0
- package/dist/sdk/chunk-OZJ263FM.mjs +986 -0
- package/dist/sdk/chunk-OZJ263FM.mjs.map +1 -0
- package/dist/sdk/chunk-PTL3K3PN.mjs +3128 -0
- package/dist/sdk/chunk-PTL3K3PN.mjs.map +1 -0
- package/dist/sdk/chunk-S2RUE2RG.mjs +145 -0
- package/dist/sdk/chunk-S2RUE2RG.mjs.map +1 -0
- package/dist/sdk/chunk-VMPLF6FT.mjs +127 -0
- package/dist/sdk/chunk-VMPLF6FT.mjs.map +1 -0
- package/dist/sdk/chunk-YSN4G6CI.mjs +146 -0
- package/dist/sdk/chunk-YSN4G6CI.mjs.map +1 -0
- package/dist/sdk/chunk-ZYAUYXSW.mjs +206 -0
- package/dist/sdk/chunk-ZYAUYXSW.mjs.map +1 -0
- package/dist/sdk/config-M4ZNO6NU.mjs +14 -0
- package/dist/sdk/config-merger-PX3WIT57.mjs +10 -0
- package/dist/sdk/event-bus-5BEVPQ6T.mjs +35 -0
- package/dist/sdk/event-bus-5BEVPQ6T.mjs.map +1 -0
- package/dist/sdk/failure-condition-evaluator-NBO5YRXW.mjs +16 -0
- package/dist/sdk/git-repository-analyzer-HJC4MYW4.mjs +458 -0
- package/dist/sdk/git-repository-analyzer-HJC4MYW4.mjs.map +1 -0
- package/dist/sdk/github-frontend-4AWRJT7D.mjs +1242 -0
- package/dist/sdk/github-frontend-4AWRJT7D.mjs.map +1 -0
- package/dist/sdk/host-7GBC3S7L.mjs +49 -0
- package/dist/sdk/host-7GBC3S7L.mjs.map +1 -0
- package/dist/sdk/{liquid-extensions-KVL4MKRH.mjs → liquid-extensions-C7EG3YKH.mjs} +7 -2
- package/dist/sdk/memory-store-GJACZC2A.mjs +11 -0
- package/dist/sdk/metrics-7PP3EJUH.mjs +29 -0
- package/dist/sdk/ndjson-sink-B4V4NTAQ.mjs +44 -0
- package/dist/sdk/ndjson-sink-B4V4NTAQ.mjs.map +1 -0
- package/dist/sdk/renderer-schema-6RF26VUS.mjs +50 -0
- package/dist/sdk/renderer-schema-6RF26VUS.mjs.map +1 -0
- package/dist/sdk/routing-RP56JTV2.mjs +23 -0
- package/dist/sdk/routing-RP56JTV2.mjs.map +1 -0
- package/dist/sdk/sdk.d.mts +326 -21
- package/dist/sdk/sdk.d.ts +326 -21
- package/dist/sdk/sdk.js +21403 -16366
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +13510 -2096
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/sdk/session-registry-N5FFYFTM.mjs +10 -0
- package/dist/sdk/session-registry-N5FFYFTM.mjs.map +1 -0
- package/dist/sdk/trace-helpers-VP6QYVBX.mjs +23 -0
- package/dist/sdk/trace-helpers-VP6QYVBX.mjs.map +1 -0
- package/dist/sdk/{tracer-init-WC75N5NW.mjs → tracer-init-WP4X46IF.mjs} +2 -2
- package/dist/sdk/tracer-init-WP4X46IF.mjs.map +1 -0
- package/dist/sdk/workflow-registry-2YIIXQCK.mjs +11 -0
- package/dist/sdk/workflow-registry-2YIIXQCK.mjs.map +1 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/snapshot-store.d.ts +59 -0
- package/dist/snapshot-store.d.ts.map +1 -0
- package/dist/state-machine/context/build-engine-context.d.ts +9 -0
- package/dist/state-machine/context/build-engine-context.d.ts.map +1 -0
- package/dist/state-machine/dispatch/dependency-gating.d.ts +12 -0
- package/dist/state-machine/dispatch/dependency-gating.d.ts.map +1 -0
- package/dist/state-machine/dispatch/execution-invoker.d.ts +14 -0
- package/dist/state-machine/dispatch/execution-invoker.d.ts.map +1 -0
- package/dist/state-machine/dispatch/foreach-processor.d.ts +8 -0
- package/dist/state-machine/dispatch/foreach-processor.d.ts.map +1 -0
- package/dist/state-machine/dispatch/history-snapshot.d.ts +8 -0
- package/dist/state-machine/dispatch/history-snapshot.d.ts.map +1 -0
- package/dist/state-machine/dispatch/renderer-schema.d.ts +8 -0
- package/dist/state-machine/dispatch/renderer-schema.d.ts.map +1 -0
- package/dist/state-machine/dispatch/stats-manager.d.ts +15 -0
- package/dist/state-machine/dispatch/stats-manager.d.ts.map +1 -0
- package/dist/state-machine/dispatch/template-renderer.d.ts +7 -0
- package/dist/state-machine/dispatch/template-renderer.d.ts.map +1 -0
- package/dist/state-machine/execution/summary.d.ts +8 -0
- package/dist/state-machine/execution/summary.d.ts.map +1 -0
- package/dist/state-machine/runner.d.ts +73 -0
- package/dist/state-machine/runner.d.ts.map +1 -0
- package/dist/state-machine/states/check-running.d.ts +14 -0
- package/dist/state-machine/states/check-running.d.ts.map +1 -0
- package/dist/state-machine/states/completed.d.ts +12 -0
- package/dist/state-machine/states/completed.d.ts.map +1 -0
- package/dist/state-machine/states/error.d.ts +11 -0
- package/dist/state-machine/states/error.d.ts.map +1 -0
- package/dist/state-machine/states/init.d.ts +11 -0
- package/dist/state-machine/states/init.d.ts.map +1 -0
- package/dist/state-machine/states/level-dispatch.d.ts +17 -0
- package/dist/state-machine/states/level-dispatch.d.ts.map +1 -0
- package/dist/state-machine/states/plan-ready.d.ts +12 -0
- package/dist/state-machine/states/plan-ready.d.ts.map +1 -0
- package/dist/state-machine/states/routing.d.ts +52 -0
- package/dist/state-machine/states/routing.d.ts.map +1 -0
- package/dist/state-machine/states/wave-planning.d.ts +14 -0
- package/dist/state-machine/states/wave-planning.d.ts.map +1 -0
- package/dist/state-machine/workflow-projection.d.ts +47 -0
- package/dist/state-machine/workflow-projection.d.ts.map +1 -0
- package/dist/state-machine-execution-engine.d.ts +147 -0
- package/dist/state-machine-execution-engine.d.ts.map +1 -0
- package/dist/telemetry/opentelemetry.d.ts.map +1 -1
- package/dist/test-runner/assertions.d.ts +59 -0
- package/dist/test-runner/assertions.d.ts.map +1 -0
- package/dist/test-runner/core/environment.d.ts +8 -0
- package/dist/test-runner/core/environment.d.ts.map +1 -0
- package/dist/test-runner/core/fixture.d.ts +3 -0
- package/dist/test-runner/core/fixture.d.ts.map +1 -0
- package/dist/test-runner/core/flow-stage.d.ts +32 -0
- package/dist/test-runner/core/flow-stage.d.ts.map +1 -0
- package/dist/test-runner/core/mocks.d.ts +8 -0
- package/dist/test-runner/core/mocks.d.ts.map +1 -0
- package/dist/test-runner/core/test-execution-wrapper.d.ts +18 -0
- package/dist/test-runner/core/test-execution-wrapper.d.ts.map +1 -0
- package/dist/test-runner/evaluators.d.ts +12 -0
- package/dist/test-runner/evaluators.d.ts.map +1 -0
- package/dist/test-runner/fixture-loader.d.ts +30 -0
- package/dist/test-runner/fixture-loader.d.ts.map +1 -0
- package/dist/test-runner/index.d.ts +120 -0
- package/dist/test-runner/index.d.ts.map +1 -0
- package/dist/test-runner/recorders/github-recorder.d.ts +23 -0
- package/dist/test-runner/recorders/github-recorder.d.ts.map +1 -0
- package/dist/test-runner/recorders/global-recorder.d.ts +4 -0
- package/dist/test-runner/recorders/global-recorder.d.ts.map +1 -0
- package/dist/test-runner/utils/selectors.d.ts +2 -0
- package/dist/test-runner/utils/selectors.d.ts.map +1 -0
- package/dist/test-runner/validator.d.ts +8 -0
- package/dist/test-runner/validator.d.ts.map +1 -0
- package/dist/traces/run-2025-11-21T11-50-46-505Z.ndjson +138 -0
- package/dist/traces/run-2025-11-21T11-51-33-674Z.ndjson +839 -0
- package/dist/types/cli.d.ts +4 -1
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/config.d.ts +278 -5
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/engine.d.ts +172 -0
- package/dist/types/engine.d.ts.map +1 -0
- package/dist/types/execution.d.ts +73 -0
- package/dist/types/execution.d.ts.map +1 -0
- package/dist/types/github.d.ts +51 -0
- package/dist/types/github.d.ts.map +1 -0
- package/dist/types/workflow.d.ts +237 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/utils/command-executor.d.ts +43 -0
- package/dist/utils/command-executor.d.ts.map +1 -0
- package/dist/utils/comment-metadata.d.ts +21 -0
- package/dist/utils/comment-metadata.d.ts.map +1 -0
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-merger.d.ts.map +1 -1
- package/dist/utils/env-exposure.d.ts +3 -0
- package/dist/utils/env-exposure.d.ts.map +1 -0
- package/dist/utils/file-exclusion.d.ts.map +1 -1
- package/dist/utils/interactive-prompt.d.ts +1 -1
- package/dist/utils/interactive-prompt.d.ts.map +1 -1
- package/dist/utils/sandbox.d.ts.map +1 -1
- package/dist/utils/script-memory-ops.d.ts +21 -0
- package/dist/utils/script-memory-ops.d.ts.map +1 -0
- package/dist/utils/template-context.d.ts +7 -0
- package/dist/utils/template-context.d.ts.map +1 -0
- package/dist/webhook-server.d.ts +3 -3
- package/dist/webhook-server.d.ts.map +1 -1
- package/dist/workflow-executor.d.ts +81 -0
- package/dist/workflow-executor.d.ts.map +1 -0
- package/dist/workflow-registry.d.ts +79 -0
- package/dist/workflow-registry.d.ts.map +1 -0
- package/package.json +10 -5
- package/dist/output/traces/run-2025-10-22T18-22-56-873Z.ndjson +0 -218
- package/dist/sdk/check-execution-engine-2YYKUUSH.mjs +0 -11
- package/dist/sdk/check-execution-engine-6QJXYYON.mjs +0 -11
- package/dist/sdk/check-execution-engine-PJZ4ZOKG.mjs +0 -11
- package/dist/sdk/chunk-33QVZ2D4.mjs +0 -316
- package/dist/sdk/chunk-33QVZ2D4.mjs.map +0 -1
- package/dist/sdk/chunk-B5QBV2QJ.mjs +0 -752
- package/dist/sdk/chunk-B5QBV2QJ.mjs.map +0 -1
- package/dist/sdk/chunk-BVFNRCHT.mjs +0 -14129
- package/dist/sdk/chunk-BVFNRCHT.mjs.map +0 -1
- package/dist/sdk/chunk-KWZW23FG.mjs +0 -14129
- package/dist/sdk/chunk-KWZW23FG.mjs.map +0 -1
- package/dist/sdk/chunk-O4RP4BRH.mjs +0 -14092
- package/dist/sdk/chunk-O4RP4BRH.mjs.map +0 -1
- package/dist/sdk/chunk-TUTOLSFV.mjs.map +0 -1
- package/dist/sdk/chunk-U5D2LY66.mjs +0 -245
- package/dist/sdk/chunk-U5D2LY66.mjs.map +0 -1
- package/dist/sdk/chunk-U7X54EMV.mjs +0 -331
- package/dist/sdk/chunk-U7X54EMV.mjs.map +0 -1
- package/dist/sdk/config-merger-TWUBWFC2.mjs +0 -8
- package/dist/sdk/mermaid-telemetry-SN6A2TKW.mjs +0 -61
- package/dist/sdk/mermaid-telemetry-SN6A2TKW.mjs.map +0 -1
- package/dist/sdk/mermaid-telemetry-YCTIG76M.mjs +0 -61
- package/dist/sdk/mermaid-telemetry-YCTIG76M.mjs.map +0 -1
- package/dist/traces/run-2025-10-22T18-22-56-873Z.ndjson +0 -218
- /package/dist/sdk/{check-execution-engine-2YYKUUSH.mjs.map → config-M4ZNO6NU.mjs.map} +0 -0
- /package/dist/sdk/{check-execution-engine-6QJXYYON.mjs.map → config-merger-PX3WIT57.mjs.map} +0 -0
- /package/dist/sdk/{check-execution-engine-PJZ4ZOKG.mjs.map → failure-condition-evaluator-NBO5YRXW.mjs.map} +0 -0
- /package/dist/sdk/{config-merger-TWUBWFC2.mjs.map → liquid-extensions-C7EG3YKH.mjs.map} +0 -0
- /package/dist/sdk/{liquid-extensions-KVL4MKRH.mjs.map → memory-store-GJACZC2A.mjs.map} +0 -0
- /package/dist/sdk/{tracer-init-WC75N5NW.mjs.map → metrics-7PP3EJUH.mjs.map} +0 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import type { CheckExecutionOptions, ExecutionResult } from './types/execution';
|
|
2
|
+
import { AnalysisResult } from './output-formatters';
|
|
3
|
+
import type { VisorConfig } from './types/config';
|
|
4
|
+
import type { PRInfo } from './pr-analyzer';
|
|
5
|
+
import type { DebugVisualizerServer } from './debug-visualizer/ws-server';
|
|
6
|
+
/**
|
|
7
|
+
* State machine-based execution engine
|
|
8
|
+
*
|
|
9
|
+
* Production-ready state machine implementation with full observability support.
|
|
10
|
+
* M4: Includes OTEL telemetry and debug visualizer event streaming.
|
|
11
|
+
*/
|
|
12
|
+
export declare class StateMachineExecutionEngine {
|
|
13
|
+
private workingDirectory;
|
|
14
|
+
private executionContext?;
|
|
15
|
+
private debugServer?;
|
|
16
|
+
private _lastContext?;
|
|
17
|
+
private _lastRunner?;
|
|
18
|
+
constructor(workingDirectory?: string, octokit?: import('@octokit/rest').Octokit, debugServer?: DebugVisualizerServer);
|
|
19
|
+
/**
|
|
20
|
+
* Execute checks using the state machine engine
|
|
21
|
+
*
|
|
22
|
+
* Converts CheckExecutionOptions -> executeGroupedChecks() -> AnalysisResult
|
|
23
|
+
*/
|
|
24
|
+
executeChecks(options: CheckExecutionOptions): Promise<AnalysisResult>;
|
|
25
|
+
/**
|
|
26
|
+
* Get execution context (used by state machine to propagate hooks)
|
|
27
|
+
*/
|
|
28
|
+
protected getExecutionContext(): import('./providers/check-provider.interface').ExecutionContext | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Set execution context for external callers
|
|
31
|
+
*/
|
|
32
|
+
setExecutionContext(context: import('./providers/check-provider.interface').ExecutionContext | undefined): void;
|
|
33
|
+
/**
|
|
34
|
+
* Reset per-run state (no-op for state machine engine)
|
|
35
|
+
*
|
|
36
|
+
* The state machine engine is stateless per-run by design.
|
|
37
|
+
* Each execution creates a fresh journal and context.
|
|
38
|
+
* This method exists only for backward compatibility with test framework.
|
|
39
|
+
*
|
|
40
|
+
* @deprecated This is a no-op. State machine engine doesn't maintain per-run state.
|
|
41
|
+
*/
|
|
42
|
+
resetPerRunState(): void;
|
|
43
|
+
/**
|
|
44
|
+
* Execute grouped checks using the state machine engine
|
|
45
|
+
*
|
|
46
|
+
* M4: Production-ready with full telemetry and debug server support
|
|
47
|
+
*/
|
|
48
|
+
executeGroupedChecks(prInfo: PRInfo, checks: string[], timeout?: number, config?: VisorConfig, outputFormat?: string, debug?: boolean, maxParallelism?: number, failFast?: boolean, tagFilter?: import('./types/config').TagFilter, _pauseGate?: () => Promise<void>): Promise<ExecutionResult>;
|
|
49
|
+
/**
|
|
50
|
+
* Build the engine context for state machine execution
|
|
51
|
+
*/
|
|
52
|
+
private buildEngineContext;
|
|
53
|
+
/**
|
|
54
|
+
* Get output history snapshot for test framework compatibility
|
|
55
|
+
* Extracts output history from the journal
|
|
56
|
+
*/
|
|
57
|
+
getOutputHistorySnapshot(): Record<string, unknown[]>;
|
|
58
|
+
/**
|
|
59
|
+
* Save a JSON snapshot of the last run's state and journal to a file (experimental).
|
|
60
|
+
* Does not include secrets. Intended for debugging and future resume support.
|
|
61
|
+
*/
|
|
62
|
+
saveSnapshotToFile(filePath: string): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Load a snapshot JSON from file and return it. Resume support can build on this.
|
|
65
|
+
*/
|
|
66
|
+
loadSnapshotFromFile<T = unknown>(filePath: string): Promise<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Filter checks by tag filter
|
|
69
|
+
*/
|
|
70
|
+
private filterChecksByTags;
|
|
71
|
+
/**
|
|
72
|
+
* Create an error result in AnalysisResult format
|
|
73
|
+
*/
|
|
74
|
+
private createErrorResult;
|
|
75
|
+
/**
|
|
76
|
+
* Convert GroupedCheckResults to ReviewSummary
|
|
77
|
+
* Aggregates all check results into a single ReviewSummary
|
|
78
|
+
*/
|
|
79
|
+
private convertGroupedResultsToReviewSummary;
|
|
80
|
+
/**
|
|
81
|
+
* Evaluate failure conditions for a check result
|
|
82
|
+
*
|
|
83
|
+
* This method provides backward compatibility with the legacy engine by
|
|
84
|
+
* delegating to the FailureConditionEvaluator.
|
|
85
|
+
*
|
|
86
|
+
* @param checkName - The name of the check being evaluated
|
|
87
|
+
* @param reviewSummary - The review summary containing check results
|
|
88
|
+
* @param config - The Visor configuration containing failure conditions
|
|
89
|
+
* @param previousOutputs - Optional previous check outputs for cross-check conditions
|
|
90
|
+
* @param authorAssociation - Optional GitHub author association for permission checks
|
|
91
|
+
* @returns Array of failure condition evaluation results
|
|
92
|
+
*/
|
|
93
|
+
evaluateFailureConditions(checkName: string, reviewSummary: import('./reviewer').ReviewSummary, config: VisorConfig, previousOutputs?: Record<string, import('./reviewer').ReviewSummary>, authorAssociation?: string): Promise<import('./types/config').FailureConditionResult[]>;
|
|
94
|
+
/**
|
|
95
|
+
* Get repository status
|
|
96
|
+
* @returns Repository status information
|
|
97
|
+
*/
|
|
98
|
+
getRepositoryStatus(): Promise<{
|
|
99
|
+
isGitRepository: boolean;
|
|
100
|
+
branch?: string;
|
|
101
|
+
hasChanges: boolean;
|
|
102
|
+
filesChanged?: number;
|
|
103
|
+
}>;
|
|
104
|
+
/**
|
|
105
|
+
* Check if current directory is a git repository
|
|
106
|
+
* @returns True if git repository, false otherwise
|
|
107
|
+
*/
|
|
108
|
+
isGitRepository(): Promise<boolean>;
|
|
109
|
+
/**
|
|
110
|
+
* Get list of available check types
|
|
111
|
+
* @returns Array of check type names
|
|
112
|
+
*/
|
|
113
|
+
static getAvailableCheckTypes(): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Validate check types and return valid/invalid lists
|
|
116
|
+
* @param checks - Array of check type names to validate
|
|
117
|
+
* @returns Object with valid and invalid check types
|
|
118
|
+
*/
|
|
119
|
+
static validateCheckTypes(checks: string[]): {
|
|
120
|
+
valid: string[];
|
|
121
|
+
invalid: string[];
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Render check content using the appropriate template
|
|
125
|
+
*
|
|
126
|
+
* This method handles template rendering for check results, supporting:
|
|
127
|
+
* - Plain schema: returns raw content without template processing
|
|
128
|
+
* - Custom templates: from inline content or file
|
|
129
|
+
* - Built-in schema templates: from output/{schema}/template.liquid
|
|
130
|
+
*/
|
|
131
|
+
private renderCheckContent;
|
|
132
|
+
/**
|
|
133
|
+
* Format the status column for execution statistics
|
|
134
|
+
* Used by execution-statistics-formatting tests
|
|
135
|
+
*/
|
|
136
|
+
private formatStatusColumn;
|
|
137
|
+
/**
|
|
138
|
+
* Format the details column for execution statistics
|
|
139
|
+
* Used by execution-statistics-formatting tests
|
|
140
|
+
*/
|
|
141
|
+
private formatDetailsColumn;
|
|
142
|
+
/**
|
|
143
|
+
* Truncate a string to a maximum length
|
|
144
|
+
* Used by formatDetailsColumn
|
|
145
|
+
*/
|
|
146
|
+
private truncate;
|
|
147
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/state-machine-execution-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/telemetry/opentelemetry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAQ3E,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3E,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAKD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"opentelemetry.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/telemetry/opentelemetry.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAQ3E,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACnC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC3E,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAKD;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE,oBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyOlF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCvD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export type CountExpectation = {
|
|
2
|
+
exactly?: number;
|
|
3
|
+
at_least?: number;
|
|
4
|
+
at_most?: number;
|
|
5
|
+
};
|
|
6
|
+
export interface CallsExpectation extends CountExpectation {
|
|
7
|
+
step?: string;
|
|
8
|
+
provider?: 'github' | string;
|
|
9
|
+
op?: string;
|
|
10
|
+
args?: Record<string, unknown>;
|
|
11
|
+
}
|
|
12
|
+
export interface PromptsExpectation {
|
|
13
|
+
step: string;
|
|
14
|
+
index?: number | 'first' | 'last';
|
|
15
|
+
contains?: string[];
|
|
16
|
+
not_contains?: string[];
|
|
17
|
+
matches?: string;
|
|
18
|
+
where?: {
|
|
19
|
+
contains?: string[];
|
|
20
|
+
not_contains?: string[];
|
|
21
|
+
matches?: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export interface OutputsExpectation {
|
|
25
|
+
step: string;
|
|
26
|
+
index?: number | 'first' | 'last';
|
|
27
|
+
path: string;
|
|
28
|
+
equals?: unknown;
|
|
29
|
+
equalsDeep?: unknown;
|
|
30
|
+
matches?: string;
|
|
31
|
+
where?: {
|
|
32
|
+
path: string;
|
|
33
|
+
equals?: unknown;
|
|
34
|
+
matches?: string;
|
|
35
|
+
};
|
|
36
|
+
contains_unordered?: unknown[];
|
|
37
|
+
}
|
|
38
|
+
export interface ExpectBlock {
|
|
39
|
+
use?: string[];
|
|
40
|
+
calls?: CallsExpectation[];
|
|
41
|
+
prompts?: PromptsExpectation[];
|
|
42
|
+
outputs?: OutputsExpectation[];
|
|
43
|
+
no_calls?: Array<{
|
|
44
|
+
step?: string;
|
|
45
|
+
provider?: string;
|
|
46
|
+
op?: string;
|
|
47
|
+
}>;
|
|
48
|
+
fail?: {
|
|
49
|
+
message_contains?: string;
|
|
50
|
+
};
|
|
51
|
+
strict_violation?: {
|
|
52
|
+
for_step?: string;
|
|
53
|
+
message_contains?: string;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export declare function validateCounts(exp: CountExpectation): void;
|
|
57
|
+
export declare function deepEqual(a: unknown, b: unknown): boolean;
|
|
58
|
+
export declare function containsUnordered(haystack: unknown[], needles: unknown[]): boolean;
|
|
59
|
+
//# sourceMappingURL=assertions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assertions.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/assertions.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,kBAAkB,CAAC,EAAE,OAAO,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,IAAI,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,gBAAgB,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrE;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAK1D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAgBzD;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAclF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/core/environment.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAC;AAE9D,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAS;IAC1B,OAAO,CAAC,KAAK,CAA0C;IAEvD,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAanC,OAAO,IAAI,IAAI;CAShB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { PRInfo } from '../../pr-analyzer';
|
|
2
|
+
export declare function buildPrInfoFromFixture(mapEventFromFixtureName: (fx?: string) => import('../../types/config').EventTrigger, fixtureName?: string, overrides?: Record<string, unknown>): PRInfo;
|
|
3
|
+
//# sourceMappingURL=fixture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/core/fixture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAgChD,wBAAgB,sBAAsB,CACpC,uBAAuB,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,oBAAoB,EAAE,YAAY,EACnF,WAAW,CAAC,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC,MAAM,CA4ER"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { ExecutionStatistics } from '../../types/execution';
|
|
2
|
+
import { StateMachineExecutionEngine } from '../../state-machine-execution-engine';
|
|
3
|
+
import { RecordingOctokit } from '../recorders/github-recorder';
|
|
4
|
+
type PrintHeaderFn = (flowName: string, stageName: string, event?: string, fixture?: string) => void;
|
|
5
|
+
type PrintChecksFn = (checks: string[]) => void;
|
|
6
|
+
type MapEventFn = (fixtureName?: string) => import('../../types/config').EventTrigger;
|
|
7
|
+
type ComputeChecksFn = (cfg: any, event: string, desired?: Set<string>) => string[];
|
|
8
|
+
type WarnUnmockedFn = (stats: ExecutionStatistics, cfg: any, mocks: Record<string, unknown>) => void;
|
|
9
|
+
export declare class FlowStage {
|
|
10
|
+
private readonly flowName;
|
|
11
|
+
private readonly engine;
|
|
12
|
+
private readonly recorder;
|
|
13
|
+
private readonly cfg;
|
|
14
|
+
private readonly prompts;
|
|
15
|
+
private readonly promptCap;
|
|
16
|
+
private readonly mapEventFromFixtureName;
|
|
17
|
+
private readonly computeChecksToRun;
|
|
18
|
+
private readonly printStageHeader;
|
|
19
|
+
private readonly printSelectedChecks;
|
|
20
|
+
private readonly warnUnmockedProviders;
|
|
21
|
+
private readonly defaultIncludeTags?;
|
|
22
|
+
private readonly defaultExcludeTags?;
|
|
23
|
+
private readonly defaultFrontends?;
|
|
24
|
+
constructor(flowName: string, engine: StateMachineExecutionEngine, recorder: RecordingOctokit, cfg: any, prompts: Record<string, string[]>, promptCap: number | undefined, mapEventFromFixtureName: MapEventFn, computeChecksToRun: ComputeChecksFn, printStageHeader: PrintHeaderFn, printSelectedChecks: PrintChecksFn, warnUnmockedProviders: WarnUnmockedFn, defaultIncludeTags?: string[] | undefined, defaultExcludeTags?: string[] | undefined, defaultFrontends?: any[] | undefined);
|
|
25
|
+
run(stage: any, flowCase: any, strict: boolean): Promise<{
|
|
26
|
+
name: string;
|
|
27
|
+
errors?: string[];
|
|
28
|
+
stats?: ExecutionStatistics;
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
32
|
+
//# sourceMappingURL=flow-stage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flow-stage.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/core/flow-stage.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAOhE,KAAK,aAAa,GAAG,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,MAAM,KACb,IAAI,CAAC;AACV,KAAK,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;AAChD,KAAK,UAAU,GAAG,CAAC,WAAW,CAAC,EAAE,MAAM,KAAK,OAAO,oBAAoB,EAAE,YAAY,CAAC;AACtF,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,MAAM,EAAE,CAAC;AACpF,KAAK,cAAc,GAAG,CACpB,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC3B,IAAI,CAAC;AAEV,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,mBAAmB;IACpC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACpC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAbjB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,2BAA2B,EACnC,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACjC,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,uBAAuB,EAAE,UAAU,EACnC,kBAAkB,EAAE,eAAe,EACnC,gBAAgB,EAAE,aAAa,EAC/B,mBAAmB,EAAE,aAAa,EAClC,qBAAqB,EAAE,cAAc,EACrC,kBAAkB,CAAC,EAAE,MAAM,EAAE,YAAA,EAC7B,kBAAkB,CAAC,EAAE,MAAM,EAAE,YAAA,EAC7B,gBAAgB,CAAC,EAAE,GAAG,EAAE,YAAA;IAGrC,GAAG,CACP,KAAK,EAAE,GAAG,EACV,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,OAAO,GACd,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;CAyc7E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mocks.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/core/mocks.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACtB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,OAAO,CAA8B;gBAEjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI3C,KAAK,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAKhD,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAW3B"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { PRInfo } from '../../pr-analyzer';
|
|
2
|
+
import { StateMachineExecutionEngine } from '../../state-machine-execution-engine';
|
|
3
|
+
export declare class TestExecutionWrapper {
|
|
4
|
+
private readonly engine;
|
|
5
|
+
constructor(engine: StateMachineExecutionEngine);
|
|
6
|
+
/**
|
|
7
|
+
* Execute a grouped run in a deterministic, test-friendly way without
|
|
8
|
+
* adding test-specific branches to the core engine.
|
|
9
|
+
*/
|
|
10
|
+
execute(prInfo: PRInfo, checks: string[], cfg: any, debug: boolean, tagFilter?: {
|
|
11
|
+
include?: string[];
|
|
12
|
+
exclude?: string[];
|
|
13
|
+
}): Promise<{
|
|
14
|
+
res: any;
|
|
15
|
+
outHistory: Record<string, unknown[]>;
|
|
16
|
+
}>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=test-execution-wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-execution-wrapper.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/core/test-execution-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAEnF,qBAAa,oBAAoB;IACnB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,2BAA2B;IAEhE;;;OAGG;IACG,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAChB,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GACrD,OAAO,CAAC;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC;CA4FhE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { RecordingOctokit } from './recorders/github-recorder';
|
|
2
|
+
import { type ExpectBlock } from './assertions';
|
|
3
|
+
type ExecStats = import('../types/execution').ExecutionStatistics;
|
|
4
|
+
type GroupedResults = import('../reviewer').GroupedCheckResults;
|
|
5
|
+
export declare function evaluateCalls(errors: string[], expect: ExpectBlock, executed: Record<string, number>): void;
|
|
6
|
+
export declare function evaluateProviderCalls(errors: string[], expect: ExpectBlock, recorder: RecordingOctokit): void;
|
|
7
|
+
export declare function evaluateNoCalls(errors: string[], expect: ExpectBlock, executed: Record<string, number>, recorder: RecordingOctokit): void;
|
|
8
|
+
export declare function evaluatePrompts(errors: string[], expect: ExpectBlock, promptsByStep: Record<string, string[]>): void;
|
|
9
|
+
export declare function evaluateOutputs(errors: string[], expect: ExpectBlock, outputHistory: Record<string, unknown[]>): void;
|
|
10
|
+
export declare function evaluateCase(caseName: string, stats: ExecStats, recorder: RecordingOctokit, expect: ExpectBlock, strict: boolean, promptsByStep: Record<string, string[]>, _results: GroupedResults, outputHistory: Record<string, unknown[]>): string[];
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=evaluators.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluators.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/evaluators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAkB,KAAK,WAAW,EAAgC,MAAM,cAAc,CAAC;AAG9F,KAAK,SAAS,GAAG,OAAO,oBAAoB,EAAE,mBAAmB,CAAC;AAClE,KAAK,cAAc,GAAG,OAAO,aAAa,EAAE,mBAAmB,CAAC;AA6DhE,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,IAAI,CAgBN;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CAkCN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE,gBAAgB,GACzB,IAAI,CAYN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GACtC,IAAI,CA4DN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GACvC,IAAI,CAiEN;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACvC,QAAQ,EAAE,cAAc,EACxB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GACvC,MAAM,EAAE,CAkBV"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export type BuiltinFixtureName = 'gh.pr_open.minimal' | 'gh.pr_sync.minimal' | 'gh.issue_open.minimal' | 'gh.issue_comment.standard' | 'gh.issue_comment.visor_help' | 'gh.issue_comment.visor_regenerate' | 'gh.issue_comment.edited' | 'gh.pr_closed.minimal';
|
|
2
|
+
export interface LoadedFixture {
|
|
3
|
+
name: string;
|
|
4
|
+
webhook: {
|
|
5
|
+
name: string;
|
|
6
|
+
action?: string;
|
|
7
|
+
payload: Record<string, unknown>;
|
|
8
|
+
};
|
|
9
|
+
git?: {
|
|
10
|
+
branch?: string;
|
|
11
|
+
baseBranch?: string;
|
|
12
|
+
};
|
|
13
|
+
files?: Array<{
|
|
14
|
+
path: string;
|
|
15
|
+
content: string;
|
|
16
|
+
status?: 'added' | 'modified' | 'removed' | 'renamed';
|
|
17
|
+
additions?: number;
|
|
18
|
+
deletions?: number;
|
|
19
|
+
}>;
|
|
20
|
+
diff?: string;
|
|
21
|
+
env?: Record<string, string>;
|
|
22
|
+
time?: {
|
|
23
|
+
now?: string;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export declare class FixtureLoader {
|
|
27
|
+
load(name: BuiltinFixtureName): LoadedFixture;
|
|
28
|
+
private buildUnifiedDiff;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=fixture-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fixture-loader.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/fixture-loader.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,oBAAoB,GACpB,uBAAuB,GACvB,2BAA2B,GAC3B,6BAA6B,GAC7B,mCAAmC,GACnC,yBAAyB,GACzB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAC7E,GAAG,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;QACtD,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzB;AAED,qBAAa,aAAa;IACxB,IAAI,CAAC,IAAI,EAAE,kBAAkB,GAAG,aAAa;IA4G7C,OAAO,CAAC,gBAAgB;CAoBzB"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export type TestCase = {
|
|
2
|
+
name: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
event?: string;
|
|
5
|
+
flow?: Array<{
|
|
6
|
+
name: string;
|
|
7
|
+
}>;
|
|
8
|
+
};
|
|
9
|
+
export type TestSuite = {
|
|
10
|
+
version: string;
|
|
11
|
+
extends?: string | string[];
|
|
12
|
+
tests: {
|
|
13
|
+
defaults?: Record<string, unknown>;
|
|
14
|
+
fixtures?: unknown[];
|
|
15
|
+
cases: TestCase[];
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
export interface DiscoverOptions {
|
|
19
|
+
testsPath?: string;
|
|
20
|
+
cwd?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Discover all YAML test suites under a directory or by glob pattern.
|
|
24
|
+
* Rules:
|
|
25
|
+
* - Include files ending with .tests.yaml/.tests.yml
|
|
26
|
+
* - Include YAML files containing a top-level `tests:` key (embedded suites)
|
|
27
|
+
*/
|
|
28
|
+
export declare function discoverSuites(rootOrPattern?: string, cwd?: string): string[];
|
|
29
|
+
export declare function runSuites(files: string[], options: {
|
|
30
|
+
only?: string;
|
|
31
|
+
bail?: boolean;
|
|
32
|
+
maxParallelSuites?: number;
|
|
33
|
+
maxParallel?: number;
|
|
34
|
+
promptMaxChars?: number;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
totalSuites: number;
|
|
37
|
+
failedSuites: number;
|
|
38
|
+
totalCases: number;
|
|
39
|
+
failedCases: number;
|
|
40
|
+
perSuite: Array<{
|
|
41
|
+
file: string;
|
|
42
|
+
failures: number;
|
|
43
|
+
results: Array<{
|
|
44
|
+
name: string;
|
|
45
|
+
passed: boolean;
|
|
46
|
+
errors?: string[];
|
|
47
|
+
stages?: Array<{
|
|
48
|
+
name: string;
|
|
49
|
+
errors?: string[];
|
|
50
|
+
}>;
|
|
51
|
+
}>;
|
|
52
|
+
}>;
|
|
53
|
+
}>;
|
|
54
|
+
export declare class VisorTestRunner {
|
|
55
|
+
private readonly cwd;
|
|
56
|
+
constructor(cwd?: string);
|
|
57
|
+
private readonly isTTY;
|
|
58
|
+
private color;
|
|
59
|
+
private bold;
|
|
60
|
+
private gray;
|
|
61
|
+
private tagPass;
|
|
62
|
+
private tagFail;
|
|
63
|
+
private tagSkip;
|
|
64
|
+
private line;
|
|
65
|
+
private setupTestCase;
|
|
66
|
+
private executeTestCase;
|
|
67
|
+
private printCaseHeader;
|
|
68
|
+
private printStageHeader;
|
|
69
|
+
private printSelectedChecks;
|
|
70
|
+
/**
|
|
71
|
+
* Locate a tests file: explicit path > ./.visor.tests.yaml > defaults/visor.tests.yaml
|
|
72
|
+
*/
|
|
73
|
+
resolveTestsPath(explicit?: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* Load and minimally validate tests YAML.
|
|
76
|
+
*/
|
|
77
|
+
loadSuite(testsPath: string): TestSuite;
|
|
78
|
+
/**
|
|
79
|
+
* Pretty print discovered cases to stdout.
|
|
80
|
+
*/
|
|
81
|
+
printDiscovery(testsPath: string, suite: TestSuite): void;
|
|
82
|
+
/**
|
|
83
|
+
* Execute non-flow cases with minimal assertions (Milestone 1 MVP).
|
|
84
|
+
*/
|
|
85
|
+
runCases(testsPath: string, suite: TestSuite, options: {
|
|
86
|
+
only?: string;
|
|
87
|
+
bail?: boolean;
|
|
88
|
+
maxParallel?: number;
|
|
89
|
+
promptMaxChars?: number;
|
|
90
|
+
}): Promise<{
|
|
91
|
+
failures: number;
|
|
92
|
+
results: Array<{
|
|
93
|
+
name: string;
|
|
94
|
+
passed: boolean;
|
|
95
|
+
errors?: string[];
|
|
96
|
+
stages?: Array<{
|
|
97
|
+
name: string;
|
|
98
|
+
errors?: string[];
|
|
99
|
+
}>;
|
|
100
|
+
}>;
|
|
101
|
+
}>;
|
|
102
|
+
private runFlowCase;
|
|
103
|
+
private mapEventFromFixtureName;
|
|
104
|
+
private warnUnmockedProviders;
|
|
105
|
+
private mapGithubOp;
|
|
106
|
+
private computeChecksToRun;
|
|
107
|
+
private printCoverage;
|
|
108
|
+
}
|
|
109
|
+
export declare function discoverAndPrint(options?: DiscoverOptions): Promise<void>;
|
|
110
|
+
export declare function runMvp(options: {
|
|
111
|
+
testsPath?: string;
|
|
112
|
+
only?: string;
|
|
113
|
+
bail?: boolean;
|
|
114
|
+
maxParallel?: number;
|
|
115
|
+
promptMaxChars?: number;
|
|
116
|
+
}): Promise<number>;
|
|
117
|
+
export declare function validateTestsOnly(options: {
|
|
118
|
+
testsPath?: string;
|
|
119
|
+
}): Promise<number>;
|
|
120
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface RecordedCall {
|
|
2
|
+
provider: 'github';
|
|
3
|
+
op: string;
|
|
4
|
+
args: Record<string, unknown>;
|
|
5
|
+
ts: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Very small Recording Octokit that implements only the methods we need for
|
|
9
|
+
* discovery/MVP. It records all invocations in-memory.
|
|
10
|
+
*/
|
|
11
|
+
export declare class RecordingOctokit {
|
|
12
|
+
readonly calls: RecordedCall[];
|
|
13
|
+
readonly rest: any;
|
|
14
|
+
private readonly mode?;
|
|
15
|
+
private comments;
|
|
16
|
+
private nextCommentId;
|
|
17
|
+
constructor(opts?: {
|
|
18
|
+
errorCode?: number;
|
|
19
|
+
timeoutMs?: number;
|
|
20
|
+
});
|
|
21
|
+
private stubResponse;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=github-recorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"github-recorder.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/recorders/github-recorder.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,SAAgB,KAAK,EAAE,YAAY,EAAE,CAAM;IAE3C,SAAgB,IAAI,EAAE,GAAG,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAA6C;IACnE,OAAO,CAAC,QAAQ,CACJ;IACZ,OAAO,CAAC,aAAa,CAAK;gBAEd,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAsC7D,OAAO,CAAC,YAAY;CA8ErB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"global-recorder.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/recorders/global-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAI1D,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,GAAG,IAAI,CAElE;AAED,wBAAgB,iBAAiB,IAAI,gBAAgB,GAAG,IAAI,CAE3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/utils/selectors.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CA0D3D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/test-runner/validator.ts"],"names":[],"mappings":"AAwcA,MAAM,MAAM,gBAAgB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE9E,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAS/D"}
|