@probelabs/visor 0.1.106 → 0.1.111
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 +71 -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 +624 -0
- package/defaults/visor.tests.yaml +685 -0
- package/defaults/visor.yaml +483 -0
- 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 +28 -9
- 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 +7 -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 +624 -0
- package/dist/defaults/visor.tests.yaml +685 -0
- package/dist/defaults/visor.yaml +483 -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 +237 -0
- package/dist/docs/ai-configuration.md +535 -0
- package/dist/docs/ai-custom-tools-usage.md +261 -0
- package/dist/docs/ai-custom-tools.md +392 -0
- package/dist/docs/author-permissions.md +610 -0
- package/dist/docs/bot-transports-rfc.md +23 -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 +324 -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-pause-resume-rfc.md +192 -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/lifecycle-hooks.md +253 -0
- package/dist/docs/limits.md +64 -0
- package/dist/docs/liquid-templates.md +490 -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/providers/git-checkout.md +589 -0
- package/dist/docs/recipes.md +474 -0
- package/dist/docs/rfc/git-checkout-step.md +601 -0
- package/dist/docs/rfc/on_init-hook.md +1294 -0
- package/dist/docs/rfc/workspace-isolation.md +216 -0
- package/dist/docs/roadmap/criticality-implementation-tasks.md +92 -0
- package/dist/docs/router-patterns.md +339 -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 +71 -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-custom-tools-example.yaml +206 -0
- package/dist/examples/ai-custom-tools-simple.yaml +76 -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/git-checkout-basic.yaml +32 -0
- package/dist/examples/git-checkout-compare.yaml +59 -0
- package/dist/examples/git-checkout-cross-repo.yaml +76 -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/on-init-import-demo.yaml +179 -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/reusable-tools.yaml +92 -0
- package/dist/examples/reusable-workflows.yaml +88 -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/session-reuse-self.yaml +81 -0
- package/dist/examples/slack-simple-chat.yaml +775 -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 +3 -0
- package/dist/failure-condition-evaluator.d.ts.map +1 -1
- package/dist/frontends/github-frontend.d.ts +58 -0
- package/dist/frontends/github-frontend.d.ts.map +1 -0
- package/dist/frontends/host.d.ts +47 -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/frontends/slack-frontend.d.ts +58 -0
- package/dist/frontends/slack-frontend.d.ts.map +1 -0
- package/dist/generated/config-schema.d.ts +967 -57
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +1033 -56
- 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 +2 -4
- package/dist/github-comments.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +134327 -99004
- package/dist/liquid-extensions.d.ts.map +1 -1
- package/dist/logger.d.ts +2 -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-2026-01-20T19-22-58-043Z.ndjson +138 -0
- package/dist/output/traces/run-2026-01-20T19-23-52-175Z.ndjson +1067 -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 +12 -0
- 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 +43 -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/git-checkout-provider.d.ts +25 -0
- package/dist/providers/git-checkout-provider.d.ts.map +1 -0
- package/dist/providers/github-ops-provider.d.ts.map +1 -1
- package/dist/providers/http-client-provider.d.ts +4 -4
- package/dist/providers/http-client-provider.d.ts.map +1 -1
- package/dist/providers/human-input-check-provider.d.ts +5 -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 +10 -4
- package/dist/providers/mcp-check-provider.d.ts.map +1 -1
- package/dist/providers/mcp-custom-sse-server.d.ts +66 -0
- package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -0
- 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/check-provider-registry-534KL5HT.mjs +27 -0
- package/dist/sdk/chunk-23L3QRYX.mjs +16872 -0
- package/dist/sdk/chunk-23L3QRYX.mjs.map +1 -0
- package/dist/sdk/{chunk-TUTOLSFV.mjs → chunk-3OMWVM6J.mjs} +11 -1
- package/dist/sdk/chunk-3OMWVM6J.mjs.map +1 -0
- package/dist/sdk/chunk-7UK3NIIT.mjs +482 -0
- package/dist/sdk/chunk-7UK3NIIT.mjs.map +1 -0
- package/dist/sdk/chunk-AGIZJ4UZ.mjs +173 -0
- package/dist/sdk/chunk-AGIZJ4UZ.mjs.map +1 -0
- package/dist/sdk/chunk-AIVFBIS4.mjs +1371 -0
- package/dist/sdk/chunk-AIVFBIS4.mjs.map +1 -0
- package/dist/sdk/chunk-AK6BVWIT.mjs +426 -0
- package/dist/sdk/chunk-AK6BVWIT.mjs.map +1 -0
- package/dist/sdk/chunk-AUT26LHW.mjs +139 -0
- package/dist/sdk/chunk-AUT26LHW.mjs.map +1 -0
- package/dist/sdk/chunk-BOVFH3LI.mjs +232 -0
- package/dist/sdk/chunk-BOVFH3LI.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-HTOKWMPO.mjs +157 -0
- package/dist/sdk/chunk-HTOKWMPO.mjs.map +1 -0
- package/dist/sdk/chunk-NAW3DB3I.mjs +197 -0
- package/dist/sdk/chunk-NAW3DB3I.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-QR7MOMJH.mjs +558 -0
- package/dist/sdk/chunk-QR7MOMJH.mjs.map +1 -0
- package/dist/sdk/chunk-QY2XYPEV.mjs +3556 -0
- package/dist/sdk/chunk-QY2XYPEV.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-SIWNBRTK.mjs +800 -0
- package/dist/sdk/chunk-SIWNBRTK.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/command-executor-TYUV6HUS.mjs +14 -0
- package/dist/sdk/config-YNC2EOOT.mjs +16 -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-YGTF2GHG.mjs +17 -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-SIAEOCON.mjs +1420 -0
- package/dist/sdk/github-frontend-SIAEOCON.mjs.map +1 -0
- package/dist/sdk/host-DXUYTNMU.mjs +52 -0
- package/dist/sdk/host-DXUYTNMU.mjs.map +1 -0
- package/dist/sdk/{liquid-extensions-KVL4MKRH.mjs → liquid-extensions-PKWCKK7E.mjs} +8 -2
- package/dist/sdk/memory-store-XGBB7LX7.mjs +12 -0
- package/dist/sdk/memory-store-XGBB7LX7.mjs.map +1 -0
- package/dist/sdk/metrics-7PP3EJUH.mjs +29 -0
- package/dist/sdk/metrics-7PP3EJUH.mjs.map +1 -0
- package/dist/sdk/ndjson-sink-B4V4NTAQ.mjs +44 -0
- package/dist/sdk/ndjson-sink-B4V4NTAQ.mjs.map +1 -0
- package/dist/sdk/prompt-state-YRJY6QAL.mjs +16 -0
- package/dist/sdk/prompt-state-YRJY6QAL.mjs.map +1 -0
- package/dist/sdk/renderer-schema-LPKN5UJS.mjs +51 -0
- package/dist/sdk/renderer-schema-LPKN5UJS.mjs.map +1 -0
- package/dist/sdk/routing-6N45MJ4F.mjs +24 -0
- package/dist/sdk/routing-6N45MJ4F.mjs.map +1 -0
- package/dist/sdk/sdk.d.mts +541 -22
- package/dist/sdk/sdk.d.ts +541 -22
- package/dist/sdk/sdk.js +27963 -16505
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +1116 -2169
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/sdk/session-registry-4E6YRQ77.mjs +10 -0
- package/dist/sdk/session-registry-4E6YRQ77.mjs.map +1 -0
- package/dist/sdk/slack-frontend-BVKW3GD5.mjs +735 -0
- package/dist/sdk/slack-frontend-BVKW3GD5.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-GSLPPLCD.mjs} +2 -2
- package/dist/sdk/tracer-init-GSLPPLCD.mjs.map +1 -0
- package/dist/sdk/workflow-registry-R6KSACFR.mjs +12 -0
- package/dist/sdk/workflow-registry-R6KSACFR.mjs.map +1 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/slack/adapter.d.ts +36 -0
- package/dist/slack/adapter.d.ts.map +1 -0
- package/dist/slack/cache-prewarmer.d.ts +31 -0
- package/dist/slack/cache-prewarmer.d.ts.map +1 -0
- package/dist/slack/client.d.ts +77 -0
- package/dist/slack/client.d.ts.map +1 -0
- package/dist/slack/markdown.d.ts +45 -0
- package/dist/slack/markdown.d.ts.map +1 -0
- package/dist/slack/prompt-state.d.ts +33 -0
- package/dist/slack/prompt-state.d.ts.map +1 -0
- package/dist/slack/rate-limiter.d.ts +56 -0
- package/dist/slack/rate-limiter.d.ts.map +1 -0
- package/dist/slack/signature.d.ts +2 -0
- package/dist/slack/signature.d.ts.map +1 -0
- package/dist/slack/socket-runner.d.ts +42 -0
- package/dist/slack/socket-runner.d.ts.map +1 -0
- package/dist/slack/thread-cache.d.ts +51 -0
- package/dist/slack/thread-cache.d.ts.map +1 -0
- 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 +17 -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/on-init-handlers.d.ts +43 -0
- package/dist/state-machine/dispatch/on-init-handlers.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 +79 -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 +159 -0
- package/dist/state-machine-execution-engine.d.ts.map +1 -0
- package/dist/telemetry/opentelemetry.d.ts.map +1 -1
- package/dist/telemetry/state-capture.d.ts +5 -0
- package/dist/telemetry/state-capture.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 +45 -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 +127 -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/recorders/slack-recorder.d.ts +17 -0
- package/dist/test-runner/recorders/slack-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-2026-01-20T19-22-58-043Z.ndjson +138 -0
- package/dist/traces/run-2026-01-20T19-23-52-175Z.ndjson +1067 -0
- package/dist/types/bot.d.ts +109 -0
- package/dist/types/bot.d.ts.map +1 -0
- package/dist/types/cli.d.ts +8 -1
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/config.d.ts +459 -9
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/engine.d.ts +177 -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/git-checkout.d.ts +76 -0
- package/dist/types/git-checkout.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/json-text-extractor.d.ts +17 -0
- package/dist/utils/json-text-extractor.d.ts.map +1 -0
- package/dist/utils/sandbox.d.ts +10 -0
- 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 +8 -0
- package/dist/utils/template-context.d.ts.map +1 -0
- package/dist/utils/tracer-init.d.ts.map +1 -1
- package/dist/utils/workspace-manager.d.ts +118 -0
- package/dist/utils/workspace-manager.d.ts.map +1 -0
- package/dist/utils/worktree-cleanup.d.ts +33 -0
- package/dist/utils/worktree-cleanup.d.ts.map +1 -0
- package/dist/utils/worktree-manager.d.ts +153 -0
- package/dist/utils/worktree-manager.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 +12 -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 → check-provider-registry-534KL5HT.mjs.map} +0 -0
- /package/dist/sdk/{check-execution-engine-6QJXYYON.mjs.map → command-executor-TYUV6HUS.mjs.map} +0 -0
- /package/dist/sdk/{check-execution-engine-PJZ4ZOKG.mjs.map → config-YNC2EOOT.mjs.map} +0 -0
- /package/dist/sdk/{config-merger-TWUBWFC2.mjs.map → config-merger-PX3WIT57.mjs.map} +0 -0
- /package/dist/sdk/{liquid-extensions-KVL4MKRH.mjs.map → failure-condition-evaluator-YGTF2GHG.mjs.map} +0 -0
- /package/dist/sdk/{tracer-init-WC75N5NW.mjs.map → liquid-extensions-PKWCKK7E.mjs.map} +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git Worktree Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages git worktrees for efficient multi-workflow execution.
|
|
5
|
+
* Uses a bare repository cache to share git objects between worktrees.
|
|
6
|
+
*/
|
|
7
|
+
import type { WorktreeCacheConfig, WorktreeInfo } from '../types/git-checkout';
|
|
8
|
+
export declare class WorktreeManager {
|
|
9
|
+
private static instance;
|
|
10
|
+
private config;
|
|
11
|
+
private activeWorktrees;
|
|
12
|
+
private cleanupHandlersRegistered;
|
|
13
|
+
private constructor();
|
|
14
|
+
static getInstance(): WorktreeManager;
|
|
15
|
+
/**
|
|
16
|
+
* Update configuration
|
|
17
|
+
*/
|
|
18
|
+
configure(config: Partial<WorktreeCacheConfig>): void;
|
|
19
|
+
getConfig(): WorktreeCacheConfig;
|
|
20
|
+
/**
|
|
21
|
+
* Ensure base directories exist
|
|
22
|
+
*/
|
|
23
|
+
private ensureDirectories;
|
|
24
|
+
private getReposDir;
|
|
25
|
+
private getWorktreesDir;
|
|
26
|
+
/**
|
|
27
|
+
* Generate a unique worktree ID
|
|
28
|
+
*/
|
|
29
|
+
private generateWorktreeId;
|
|
30
|
+
/**
|
|
31
|
+
* Get or create bare repository
|
|
32
|
+
*/
|
|
33
|
+
getOrCreateBareRepo(repository: string, repoUrl: string, token?: string, fetchDepth?: number, cloneTimeoutMs?: number): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Update bare repository refs
|
|
36
|
+
*/
|
|
37
|
+
private updateBareRepo;
|
|
38
|
+
/**
|
|
39
|
+
* Verify that a bare repository has the correct remote URL.
|
|
40
|
+
* This prevents reusing corrupted repos that were cloned from a different repository.
|
|
41
|
+
* Returns: true (valid), false (invalid - should re-clone), or 'timeout' (use stale cache)
|
|
42
|
+
*/
|
|
43
|
+
private verifyBareRepoRemote;
|
|
44
|
+
/**
|
|
45
|
+
* Create a new worktree for the given repository/ref.
|
|
46
|
+
*
|
|
47
|
+
* Important: we always create worktrees in a detached HEAD state pinned
|
|
48
|
+
* to a specific commit SHA rather than a named branch like "main". Git
|
|
49
|
+
* only allows a branch to be checked out in a single worktree at a time;
|
|
50
|
+
* using the raw commit (plus --detach) lets multiple workflows safely
|
|
51
|
+
* create independent worktrees for the same branch without hitting
|
|
52
|
+
* errors like:
|
|
53
|
+
*
|
|
54
|
+
* fatal: 'main' is already used by worktree at '.../TykTechnologies-tyk-docs-main-XXXX'
|
|
55
|
+
*/
|
|
56
|
+
createWorktree(repository: string, repoUrl: string, ref: string, options?: {
|
|
57
|
+
token?: string;
|
|
58
|
+
workingDirectory?: string;
|
|
59
|
+
clean?: boolean;
|
|
60
|
+
workflowId?: string;
|
|
61
|
+
fetchDepth?: number;
|
|
62
|
+
cloneTimeoutMs?: number;
|
|
63
|
+
}): Promise<WorktreeInfo>;
|
|
64
|
+
/**
|
|
65
|
+
* Fetch a specific ref in bare repository
|
|
66
|
+
*/
|
|
67
|
+
private fetchRef;
|
|
68
|
+
/**
|
|
69
|
+
* Clean worktree (reset and remove untracked files)
|
|
70
|
+
*/
|
|
71
|
+
private cleanWorktree;
|
|
72
|
+
/**
|
|
73
|
+
* Get commit SHA for a given ref inside a bare repository.
|
|
74
|
+
*
|
|
75
|
+
* This runs after fetchRef so that <ref> should resolve to either a
|
|
76
|
+
* local branch, tag, or remote-tracking ref.
|
|
77
|
+
*/
|
|
78
|
+
private getCommitShaForRef;
|
|
79
|
+
/**
|
|
80
|
+
* Remove a worktree
|
|
81
|
+
*/
|
|
82
|
+
removeWorktree(worktreeId: string): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Save worktree metadata
|
|
85
|
+
*/
|
|
86
|
+
private saveMetadata;
|
|
87
|
+
/**
|
|
88
|
+
* Load worktree metadata
|
|
89
|
+
*/
|
|
90
|
+
private loadMetadata;
|
|
91
|
+
/**
|
|
92
|
+
* List all worktrees
|
|
93
|
+
*/
|
|
94
|
+
listWorktrees(): Promise<WorktreeInfo[]>;
|
|
95
|
+
/**
|
|
96
|
+
* Cleanup stale worktrees
|
|
97
|
+
*/
|
|
98
|
+
cleanupStaleWorktrees(): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Cleanup all worktrees for current process
|
|
101
|
+
*/
|
|
102
|
+
cleanupProcessWorktrees(): Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* Check if a process is alive
|
|
105
|
+
*/
|
|
106
|
+
private isProcessAlive;
|
|
107
|
+
/**
|
|
108
|
+
* Register cleanup handlers
|
|
109
|
+
*/
|
|
110
|
+
private registerCleanupHandlers;
|
|
111
|
+
/**
|
|
112
|
+
* Escape shell argument to prevent command injection
|
|
113
|
+
*
|
|
114
|
+
* Uses POSIX-standard single-quote escaping which prevents ALL shell metacharacter
|
|
115
|
+
* interpretation (including $, `, \, ", ;, &, |, etc.)
|
|
116
|
+
*
|
|
117
|
+
* How it works:
|
|
118
|
+
* - Everything is wrapped in single quotes: 'arg'
|
|
119
|
+
* - Single quotes within are escaped as: ' → '\''
|
|
120
|
+
* (close quote, literal escaped quote, open quote)
|
|
121
|
+
*
|
|
122
|
+
* This is safer than double quotes which still allow $expansion and `backticks`
|
|
123
|
+
*
|
|
124
|
+
* Example: "foo'bar" → 'foo'\''bar'
|
|
125
|
+
*/
|
|
126
|
+
private escapeShellArg;
|
|
127
|
+
/**
|
|
128
|
+
* Validate git ref to prevent command injection
|
|
129
|
+
*/
|
|
130
|
+
private validateRef;
|
|
131
|
+
/**
|
|
132
|
+
* Validate path to prevent directory traversal
|
|
133
|
+
*/
|
|
134
|
+
private validatePath;
|
|
135
|
+
/**
|
|
136
|
+
* Redact sensitive tokens from URLs for logging
|
|
137
|
+
*/
|
|
138
|
+
private redactUrl;
|
|
139
|
+
/**
|
|
140
|
+
* Execute a git command
|
|
141
|
+
*/
|
|
142
|
+
private executeGitCommand;
|
|
143
|
+
/**
|
|
144
|
+
* Build authenticated URL with token
|
|
145
|
+
*/
|
|
146
|
+
private buildAuthenticatedUrl;
|
|
147
|
+
/**
|
|
148
|
+
* Get repository URL from repository identifier
|
|
149
|
+
*/
|
|
150
|
+
getRepositoryUrl(repository: string, _token?: string): string;
|
|
151
|
+
}
|
|
152
|
+
export declare const worktreeManager: WorktreeManager;
|
|
153
|
+
//# sourceMappingURL=worktree-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-manager.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/utils/worktree-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH,OAAO,KAAK,EAEV,mBAAmB,EACnB,YAAY,EAEb,MAAM,uBAAuB,CAAC;AAE/B,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAkB;IACzC,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,yBAAyB,CAAkB;IAEnD,OAAO;IAuBP,MAAM,CAAC,WAAW,IAAI,eAAe;IAOrC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,mBAAmB,CAAC,GAAG,IAAI;IAKrD,SAAS,IAAI,mBAAmB;IAIhC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAW1B;;OAEG;IACG,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EACnB,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,MAAM,CAAC;IA6DlB;;OAEG;YACW,cAAc;IAoB5B;;;;OAIG;YACW,oBAAoB;IA2DlC;;;;;;;;;;;OAWG;IACG,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACpB,GACL,OAAO,CAAC,YAAY,CAAC;IAgGxB;;OAEG;YACW,QAAQ;IAWtB;;OAEG;YACW,aAAa;IAU3B;;;;;OAKG;YACW,kBAAkB;IAWhC;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCvD;;OAEG;YACW,YAAY;IAK1B;;OAEG;YACW,YAAY;IAgB1B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IA+B9C;;OAEG;IACG,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IA0B5C;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAc9C;;OAEG;IACH,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqC/B;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACH,OAAO,CAAC,WAAW;IA0BnB;;OAEG;IACH,OAAO,CAAC,YAAY;IA8BpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;YACW,iBAAiB;IA4B/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;CAa9D;AAGD,eAAO,MAAM,eAAe,iBAAgC,CAAC"}
|
package/dist/webhook-server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HttpServerConfig, VisorConfig } from './types/config';
|
|
2
|
-
import {
|
|
2
|
+
import { StateMachineExecutionEngine } from './state-machine-execution-engine';
|
|
3
3
|
export interface WebhookPayload {
|
|
4
4
|
endpoint: string;
|
|
5
5
|
headers: Record<string, string>;
|
|
@@ -24,7 +24,7 @@ export declare class WebhookServer {
|
|
|
24
24
|
/**
|
|
25
25
|
* Set the execution engine for triggering checks on webhook receipt
|
|
26
26
|
*/
|
|
27
|
-
setExecutionEngine(engine:
|
|
27
|
+
setExecutionEngine(engine: StateMachineExecutionEngine): void;
|
|
28
28
|
/**
|
|
29
29
|
* Start the HTTP server
|
|
30
30
|
*/
|
|
@@ -90,4 +90,4 @@ export declare class WebhookServer {
|
|
|
90
90
|
/**
|
|
91
91
|
* Create and configure an HTTP server for webhooks
|
|
92
92
|
*/
|
|
93
|
-
export declare function createWebhookServer(config: HttpServerConfig, visorConfig?: VisorConfig, executionEngine?:
|
|
93
|
+
export declare function createWebhookServer(config: HttpServerConfig, visorConfig?: VisorConfig, executionEngine?: StateMachineExecutionEngine): WebhookServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/webhook-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/webhook-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAE/E,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,eAAe,CAAC,CAA8B;IACtD,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,eAAe,CAAU;gBAErB,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,WAAW;IAS/D;;OAEG;IACI,kBAAkB,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAIpE;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDnC;;OAEG;YACW,cAAc;IAwE5B;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAalC;;OAEG;YACW,aAAa;IAmE3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;YACW,gBAAgB;IA4C9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;YACW,cAAc;IA8B5B;;OAEG;YACW,oBAAoB;IAuClC;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhD;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACI,SAAS,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB;CAQF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,2BAA2B,GAC5C,aAAa,CAQf"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow executor for running workflow definitions
|
|
3
|
+
*/
|
|
4
|
+
import { WorkflowDefinition, WorkflowExecutionContext, WorkflowExecutionOptions } from './types/workflow';
|
|
5
|
+
import { PRInfo } from './pr-analyzer';
|
|
6
|
+
import { ReviewSummary } from './reviewer';
|
|
7
|
+
import { ExecutionContext } from './providers/check-provider.interface';
|
|
8
|
+
/**
|
|
9
|
+
* Workflow execution result
|
|
10
|
+
*/
|
|
11
|
+
export interface WorkflowExecutionResult {
|
|
12
|
+
success: boolean;
|
|
13
|
+
score?: number;
|
|
14
|
+
confidence?: 'high' | 'medium' | 'low';
|
|
15
|
+
issues?: any[];
|
|
16
|
+
comments?: any[];
|
|
17
|
+
output?: Record<string, unknown>;
|
|
18
|
+
status: 'completed' | 'failed' | 'skipped';
|
|
19
|
+
duration?: number;
|
|
20
|
+
error?: string;
|
|
21
|
+
stepSummaries?: Array<{
|
|
22
|
+
stepId: string;
|
|
23
|
+
status: 'success' | 'failed' | 'skipped';
|
|
24
|
+
issues?: any[];
|
|
25
|
+
output?: unknown;
|
|
26
|
+
}>;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Execution options passed to workflow executor
|
|
30
|
+
*/
|
|
31
|
+
interface WorkflowRunOptions {
|
|
32
|
+
prInfo: PRInfo;
|
|
33
|
+
dependencyResults?: Map<string, ReviewSummary>;
|
|
34
|
+
context?: ExecutionContext;
|
|
35
|
+
options?: WorkflowExecutionOptions;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Executes workflow definitions
|
|
39
|
+
*/
|
|
40
|
+
export declare class WorkflowExecutor {
|
|
41
|
+
private providerRegistry;
|
|
42
|
+
private liquid;
|
|
43
|
+
constructor();
|
|
44
|
+
/**
|
|
45
|
+
* Lazy-load the provider registry to avoid circular dependency during initialization
|
|
46
|
+
*/
|
|
47
|
+
private getProviderRegistry;
|
|
48
|
+
/**
|
|
49
|
+
* Execute a workflow
|
|
50
|
+
*/
|
|
51
|
+
execute(workflow: WorkflowDefinition, executionContext: WorkflowExecutionContext, runOptions: WorkflowRunOptions): Promise<WorkflowExecutionResult>;
|
|
52
|
+
/**
|
|
53
|
+
* Resolve step execution order based on dependencies
|
|
54
|
+
*/
|
|
55
|
+
private resolveExecutionOrder;
|
|
56
|
+
/**
|
|
57
|
+
* Prepare step configuration with input mappings
|
|
58
|
+
*/
|
|
59
|
+
private prepareStepConfig;
|
|
60
|
+
/**
|
|
61
|
+
* Resolve input mapping to actual value
|
|
62
|
+
*/
|
|
63
|
+
private resolveInputMapping;
|
|
64
|
+
/**
|
|
65
|
+
* Execute a single step
|
|
66
|
+
*/
|
|
67
|
+
private executeStep;
|
|
68
|
+
/**
|
|
69
|
+
* Compute workflow outputs
|
|
70
|
+
*/
|
|
71
|
+
private computeOutputs;
|
|
72
|
+
/**
|
|
73
|
+
* Aggregate results from all steps
|
|
74
|
+
*/
|
|
75
|
+
private aggregateResults;
|
|
76
|
+
/**
|
|
77
|
+
* Evaluate a condition expression
|
|
78
|
+
*/
|
|
79
|
+
private evaluateCondition;
|
|
80
|
+
}
|
|
81
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/workflow-executor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EAGxB,wBAAwB,EACzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAuB,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AAO7F;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACvC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;QACzC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,gBAAgB,CAAsC;IAC9D,OAAO,CAAC,MAAM,CAAS;;IAQvB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACU,OAAO,CAClB,QAAQ,EAAE,kBAAkB,EAC5B,gBAAgB,EAAE,wBAAwB,EAC1C,UAAU,EAAE,kBAAkB,GAC7B,OAAO,CAAC,uBAAuB,CAAC;IAqInC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;YACW,mBAAmB;IAiFjC;;OAEG;YACW,WAAW;IAczB;;OAEG;YACW,cAAc;IA6C5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workflow registry for managing reusable workflow definitions
|
|
3
|
+
*/
|
|
4
|
+
import { WorkflowDefinition, WorkflowRegistryEntry, WorkflowValidationResult, WorkflowImportOptions } from './types/workflow';
|
|
5
|
+
/**
|
|
6
|
+
* Registry for managing workflow definitions
|
|
7
|
+
*/
|
|
8
|
+
export declare class WorkflowRegistry {
|
|
9
|
+
private static instance;
|
|
10
|
+
private workflows;
|
|
11
|
+
private ajv;
|
|
12
|
+
private constructor();
|
|
13
|
+
/**
|
|
14
|
+
* Get the singleton instance of the workflow registry
|
|
15
|
+
*/
|
|
16
|
+
static getInstance(): WorkflowRegistry;
|
|
17
|
+
/**
|
|
18
|
+
* Register a workflow definition
|
|
19
|
+
*/
|
|
20
|
+
register(workflow: WorkflowDefinition, source?: string, options?: {
|
|
21
|
+
override?: boolean;
|
|
22
|
+
}): WorkflowValidationResult;
|
|
23
|
+
/**
|
|
24
|
+
* Get a workflow by ID
|
|
25
|
+
*/
|
|
26
|
+
get(id: string): WorkflowDefinition | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Check if a workflow exists
|
|
29
|
+
*/
|
|
30
|
+
has(id: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* List all registered workflows
|
|
33
|
+
*/
|
|
34
|
+
list(): WorkflowDefinition[];
|
|
35
|
+
/**
|
|
36
|
+
* Get workflow metadata
|
|
37
|
+
*/
|
|
38
|
+
getMetadata(id: string): WorkflowRegistryEntry | undefined;
|
|
39
|
+
/**
|
|
40
|
+
* Remove a workflow from the registry
|
|
41
|
+
*/
|
|
42
|
+
unregister(id: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Clear all workflows
|
|
45
|
+
*/
|
|
46
|
+
clear(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Import workflows from a file or URL
|
|
49
|
+
*/
|
|
50
|
+
import(source: string, options?: WorkflowImportOptions): Promise<WorkflowValidationResult[]>;
|
|
51
|
+
/**
|
|
52
|
+
* Import multiple workflow sources
|
|
53
|
+
*/
|
|
54
|
+
importMany(sources: string[], options?: WorkflowImportOptions): Promise<Map<string, WorkflowValidationResult[]>>;
|
|
55
|
+
/**
|
|
56
|
+
* Validate a workflow definition
|
|
57
|
+
*/
|
|
58
|
+
validateWorkflow(workflow: WorkflowDefinition): WorkflowValidationResult;
|
|
59
|
+
/**
|
|
60
|
+
* Validate input values against workflow input schema
|
|
61
|
+
*/
|
|
62
|
+
validateInputs(workflow: WorkflowDefinition, inputs: Record<string, unknown>): WorkflowValidationResult;
|
|
63
|
+
/**
|
|
64
|
+
* Load workflow content from file or URL
|
|
65
|
+
*/
|
|
66
|
+
private loadWorkflowContent;
|
|
67
|
+
/**
|
|
68
|
+
* Parse workflow content (YAML or JSON)
|
|
69
|
+
*/
|
|
70
|
+
private parseWorkflowContent;
|
|
71
|
+
/**
|
|
72
|
+
* Detect circular dependencies in workflow steps using DependencyResolver
|
|
73
|
+
*/
|
|
74
|
+
private detectCircularDependencies;
|
|
75
|
+
/**
|
|
76
|
+
* Validate a value against a JSON schema
|
|
77
|
+
*/
|
|
78
|
+
private validateAgainstSchema;
|
|
79
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/workflow-registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EAEtB,MAAM,kBAAkB,CAAC;AAS1B;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmB;IAC1C,OAAO,CAAC,SAAS,CAAiD;IAClE,OAAO,CAAC,GAAG,CAAM;IAEjB,OAAO;IAKP;;OAEG;WACW,WAAW,IAAI,gBAAgB;IAO7C;;OAEG;IACI,QAAQ,CACb,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,GAAE,MAAiB,EACzB,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAC/B,wBAAwB;IAmC3B;;OAEG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAWtD;;OAEG;IACI,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACI,IAAI,IAAI,kBAAkB,EAAE;IAInC;;OAEG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAIjE;;OAEG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAItC;;OAEG;IACI,KAAK,IAAI,IAAI;IAIpB;;OAEG;IACU,MAAM,CACjB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAwDtC;;OAEG;IACU,UAAU,CACrB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;IAWnD;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,wBAAwB;IA2G/E;;OAEG;IACI,cAAc,CACnB,QAAQ,EAAE,kBAAkB,EAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,wBAAwB;IAsC3B;;OAEG;YACW,mBAAmB;IAiBjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAkB9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@probelabs/visor",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.111",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"bin": {
|
|
6
6
|
"visor": "./dist/index.js"
|
|
@@ -31,13 +31,14 @@
|
|
|
31
31
|
"registry": "https://registry.npmjs.org/"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
|
34
|
-
"build:cli": "ncc build src/index.ts -o dist && cp -r defaults dist/ && cp -r output dist/ && cp -r src/debug-visualizer/ui dist/debug-visualizer/ && node scripts/inject-version.js && echo '#!/usr/bin/env node' | cat - dist/index.js > temp && mv temp dist/index.js && chmod +x dist/index.js",
|
|
34
|
+
"build:cli": "ncc build src/index.ts -o dist && cp -r defaults dist/ && cp -r output dist/ && cp -r docs dist/ && cp -r examples dist/ && cp -r src/debug-visualizer/ui dist/debug-visualizer/ && node scripts/inject-version.js && echo '#!/usr/bin/env node' | cat - dist/index.js > temp && mv temp dist/index.js && chmod +x dist/index.js",
|
|
35
35
|
"build:sdk": "tsup src/sdk.ts --dts --sourcemap --format esm,cjs --out-dir dist/sdk",
|
|
36
36
|
"build": "npm run build:cli && npm run build:sdk",
|
|
37
|
-
"test": "jest",
|
|
37
|
+
"test": "jest && npm run test:yaml",
|
|
38
38
|
"prepublishOnly": "npm run build",
|
|
39
39
|
"test:watch": "jest --watch",
|
|
40
40
|
"test:coverage": "jest --coverage",
|
|
41
|
+
"test:manual:bash": "RUN_MANUAL_TESTS=true jest tests/manual/bash-config-manual.test.ts",
|
|
41
42
|
"lint": "eslint src tests --ext .ts",
|
|
42
43
|
"lint:fix": "eslint src tests --ext .ts --fix",
|
|
43
44
|
"format": "prettier --write src tests",
|
|
@@ -45,6 +46,9 @@
|
|
|
45
46
|
"clean": "",
|
|
46
47
|
"prebuild": "npm run clean && node scripts/generate-config-schema.js",
|
|
47
48
|
"pretest": "node scripts/generate-config-schema.js && npm run build:cli",
|
|
49
|
+
"test:with-build": "npm run build:cli && jest",
|
|
50
|
+
"test:yaml": "node dist/index.js test --progress compact",
|
|
51
|
+
"postinstall": "patch-package",
|
|
48
52
|
"prepare": "husky",
|
|
49
53
|
"pre-commit": "lint-staged",
|
|
50
54
|
"deploy:site": "cd site && npx wrangler pages deploy . --project-name=visor-site --commit-dirty=true",
|
|
@@ -62,7 +66,9 @@
|
|
|
62
66
|
"workshop:pdf": "reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter",
|
|
63
67
|
"workshop:pdf:ci": "reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter --puppeteer-launch-args=\"--no-sandbox --disable-dev-shm-usage\"",
|
|
64
68
|
"workshop:pdf:a4": "reveal-md workshop/slides.md --print workshop/Visor-Workshop-A4.pdf --print-size A4",
|
|
65
|
-
"workshop:build": "npm run workshop:export && npm run workshop:pdf"
|
|
69
|
+
"workshop:build": "npm run workshop:export && npm run workshop:pdf",
|
|
70
|
+
"simulate:issue": "TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issues --action opened --debug",
|
|
71
|
+
"simulate:comment": "TS_NODE_TRANSPILE_ONLY=1 ts-node scripts/simulate-gh-run.ts --event issue_comment --action created --debug"
|
|
66
72
|
},
|
|
67
73
|
"keywords": [
|
|
68
74
|
"code-review",
|
|
@@ -91,7 +97,7 @@
|
|
|
91
97
|
"@octokit/auth-app": "^8.1.0",
|
|
92
98
|
"@octokit/core": "^7.0.3",
|
|
93
99
|
"@octokit/rest": "^22.0.0",
|
|
94
|
-
"@probelabs/probe": "^0.6.0-
|
|
100
|
+
"@probelabs/probe": "^0.6.0-rc173",
|
|
95
101
|
"@types/commander": "^2.12.0",
|
|
96
102
|
"@types/uuid": "^10.0.0",
|
|
97
103
|
"ajv": "^8.17.1",
|
|
@@ -138,6 +144,7 @@
|
|
|
138
144
|
"husky": "^9.1.7",
|
|
139
145
|
"jest": "^30.1.3",
|
|
140
146
|
"lint-staged": "^16.1.6",
|
|
147
|
+
"patch-package": "^8.0.0",
|
|
141
148
|
"prettier": "^3.6.2",
|
|
142
149
|
"reveal-md": "^6.1.2",
|
|
143
150
|
"ts-jest": "^29.4.1",
|