@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.
Files changed (530) hide show
  1. package/README.md +71 -2
  2. package/action.yml +1 -1
  3. package/defaults/code-refiner.yaml +114 -0
  4. package/defaults/{.visor.yaml → code-review.yaml} +35 -226
  5. package/defaults/override.yaml +52 -0
  6. package/defaults/task-refinement.yaml +624 -0
  7. package/defaults/visor.tests.yaml +685 -0
  8. package/defaults/visor.yaml +483 -0
  9. package/dist/action-cli-bridge.d.ts +11 -82
  10. package/dist/action-cli-bridge.d.ts.map +1 -1
  11. package/dist/ai-review-service.d.ts +28 -9
  12. package/dist/ai-review-service.d.ts.map +1 -1
  13. package/dist/check-execution-engine.d.ts +19 -331
  14. package/dist/check-execution-engine.d.ts.map +1 -1
  15. package/dist/cli-main.d.ts.map +1 -1
  16. package/dist/cli.d.ts +0 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/config.d.ts +16 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/cron-scheduler.d.ts +3 -3
  21. package/dist/cron-scheduler.d.ts.map +1 -1
  22. package/dist/debug-visualizer/ws-server.d.ts +7 -1
  23. package/dist/debug-visualizer/ws-server.d.ts.map +1 -1
  24. package/dist/defaults/code-refiner.yaml +114 -0
  25. package/dist/defaults/{.visor.yaml → code-review.yaml} +35 -226
  26. package/dist/defaults/override.yaml +52 -0
  27. package/dist/defaults/task-refinement.yaml +624 -0
  28. package/dist/defaults/visor.tests.yaml +685 -0
  29. package/dist/defaults/visor.yaml +483 -0
  30. package/dist/docs/DEPLOYMENT.md +118 -0
  31. package/dist/docs/GITHUB_CHECKS.md +280 -0
  32. package/dist/docs/NPM_USAGE.md +208 -0
  33. package/dist/docs/action-reference.md +19 -0
  34. package/dist/docs/advanced-ai.md +237 -0
  35. package/dist/docs/ai-configuration.md +535 -0
  36. package/dist/docs/ai-custom-tools-usage.md +261 -0
  37. package/dist/docs/ai-custom-tools.md +392 -0
  38. package/dist/docs/author-permissions.md +610 -0
  39. package/dist/docs/bot-transports-rfc.md +23 -0
  40. package/dist/docs/ci-cli-mode.md +34 -0
  41. package/dist/docs/claude-code.md +74 -0
  42. package/dist/docs/command-provider.md +559 -0
  43. package/dist/docs/commands.md +8 -0
  44. package/dist/docs/configuration.md +324 -0
  45. package/dist/docs/custom-tools.md +424 -0
  46. package/dist/docs/dashboards/README.md +23 -0
  47. package/dist/docs/dashboards/grafana-visor-diagrams.json +20 -0
  48. package/dist/docs/dashboards/grafana-visor-overview.json +33 -0
  49. package/dist/docs/debug-visualizer-progress.md +572 -0
  50. package/dist/docs/debug-visualizer-rfc.md +691 -0
  51. package/dist/docs/debug-visualizer.md +114 -0
  52. package/dist/docs/debugging.md +636 -0
  53. package/dist/docs/default-output-schema.md +28 -0
  54. package/dist/docs/dependencies.md +369 -0
  55. package/dist/docs/dev-playbook.md +9 -0
  56. package/dist/docs/engine-pause-resume-rfc.md +192 -0
  57. package/dist/docs/engine-state-machine-plan.md +333 -0
  58. package/dist/docs/event-driven-github-integration-rfc.md +743 -0
  59. package/dist/docs/event-triggers.md +292 -0
  60. package/dist/docs/execution-statistics-rfc.md +290 -0
  61. package/dist/docs/fact-validator-gap-analysis.md +178 -0
  62. package/dist/docs/fact-validator-implementation-plan.md +1235 -0
  63. package/dist/docs/fail-if.md +95 -0
  64. package/dist/docs/failure-conditions-implementation.md +271 -0
  65. package/dist/docs/failure-conditions-schema.md +173 -0
  66. package/dist/docs/failure-routing-rfc.md +193 -0
  67. package/dist/docs/failure-routing.md +507 -0
  68. package/dist/docs/foreach-dependency-propagation.md +473 -0
  69. package/dist/docs/github-ops.md +89 -0
  70. package/dist/docs/goto-forward-run-plan.md +113 -0
  71. package/dist/docs/guides/criticality-modes.md +332 -0
  72. package/dist/docs/guides/fault-management-and-contracts.md +738 -0
  73. package/dist/docs/guides/workflow-style-guide.md +224 -0
  74. package/dist/docs/http.md +299 -0
  75. package/dist/docs/human-input-provider.md +372 -0
  76. package/dist/docs/lifecycle-hooks.md +253 -0
  77. package/dist/docs/limits.md +64 -0
  78. package/dist/docs/liquid-templates.md +490 -0
  79. package/dist/docs/loop-routing-refactor.md +89 -0
  80. package/dist/docs/mcp-provider.md +557 -0
  81. package/dist/docs/mcp.md +124 -0
  82. package/dist/docs/memory.md +903 -0
  83. package/dist/docs/observability.md +12 -0
  84. package/dist/docs/output-formats.md +20 -0
  85. package/dist/docs/output-formatting.md +29 -0
  86. package/dist/docs/output-history.md +383 -0
  87. package/dist/docs/performance.md +6 -0
  88. package/dist/docs/pluggable.md +124 -0
  89. package/dist/docs/proposals/snapshot-scope-execution.md +236 -0
  90. package/dist/docs/providers/git-checkout.md +589 -0
  91. package/dist/docs/recipes.md +474 -0
  92. package/dist/docs/rfc/git-checkout-step.md +601 -0
  93. package/dist/docs/rfc/on_init-hook.md +1294 -0
  94. package/dist/docs/rfc/workspace-isolation.md +216 -0
  95. package/dist/docs/roadmap/criticality-implementation-tasks.md +92 -0
  96. package/dist/docs/router-patterns.md +339 -0
  97. package/dist/docs/schema-next-pr.md +10 -0
  98. package/dist/docs/schema-templates.md +68 -0
  99. package/dist/docs/script.md +34 -0
  100. package/dist/docs/sdk.md +222 -0
  101. package/dist/docs/security.md +7 -0
  102. package/dist/docs/suppressions.md +89 -0
  103. package/dist/docs/tag-filtering.md +258 -0
  104. package/dist/docs/telemetry-setup.md +119 -0
  105. package/dist/docs/telemetry-tracing-rfc.md +275 -0
  106. package/dist/docs/test-framework-rfc.md +680 -0
  107. package/dist/docs/testing/assertions.md +85 -0
  108. package/dist/docs/testing/ci.md +44 -0
  109. package/dist/docs/testing/cli.md +41 -0
  110. package/dist/docs/testing/cookbook.md +172 -0
  111. package/dist/docs/testing/dsl-reference.md +199 -0
  112. package/dist/docs/testing/fixtures-and-mocks.md +91 -0
  113. package/dist/docs/testing/flows.md +92 -0
  114. package/dist/docs/testing/getting-started.md +93 -0
  115. package/dist/docs/testing/troubleshooting.md +55 -0
  116. package/dist/docs/timeouts.md +50 -0
  117. package/dist/docs/troubleshooting.md +7 -0
  118. package/dist/docs/visor-sdk-rfc.md +186 -0
  119. package/dist/docs/workflows.md +569 -0
  120. package/dist/engine/on-finish/orchestrator.d.ts +19 -0
  121. package/dist/engine/on-finish/orchestrator.d.ts.map +1 -0
  122. package/dist/engine/on-finish/utils.d.ts +44 -0
  123. package/dist/engine/on-finish/utils.d.ts.map +1 -0
  124. package/dist/event-bus/event-bus.d.ts +13 -0
  125. package/dist/event-bus/event-bus.d.ts.map +1 -0
  126. package/dist/event-bus/types.d.ts +71 -0
  127. package/dist/event-bus/types.d.ts.map +1 -0
  128. package/dist/examples/.claude/agents/code-reviewer.md +69 -0
  129. package/dist/examples/.mcp.json +34 -0
  130. package/dist/examples/CALCULATOR-SDK.md +364 -0
  131. package/dist/examples/README.md +384 -0
  132. package/dist/examples/ai-custom-tools-example.yaml +206 -0
  133. package/dist/examples/ai-custom-tools-simple.yaml +76 -0
  134. package/dist/examples/ai-retry-fallback-config.yaml +180 -0
  135. package/dist/examples/ai-with-bash.yaml +126 -0
  136. package/dist/examples/ai-with-mcp.yaml +82 -0
  137. package/dist/examples/basic-human-input.yaml +15 -0
  138. package/dist/examples/bedrock-config.yaml +77 -0
  139. package/dist/examples/calculator-config.yaml +133 -0
  140. package/dist/examples/calculator-json-output-guide.md +311 -0
  141. package/dist/examples/calculator-sdk-automated.ts +340 -0
  142. package/dist/examples/calculator-sdk-example.ts +275 -0
  143. package/dist/examples/calculator-sdk-json.ts +331 -0
  144. package/dist/examples/calculator-sdk-real.ts +374 -0
  145. package/dist/examples/calculator-sdk-test.ts +148 -0
  146. package/dist/examples/claude-code-config.yaml +191 -0
  147. package/dist/examples/cron-webhook-config.yaml +215 -0
  148. package/dist/examples/custom-template.liquid +57 -0
  149. package/dist/examples/custom-tools-example.yaml +281 -0
  150. package/dist/examples/enhanced-config.yaml +165 -0
  151. package/dist/examples/environments/visor.base.yaml +92 -0
  152. package/dist/examples/environments/visor.dev.yaml +33 -0
  153. package/dist/examples/environments/visor.prod.yaml +95 -0
  154. package/dist/examples/environments/visor.staging.yaml +46 -0
  155. package/dist/examples/fact-validator.yaml +361 -0
  156. package/dist/examples/fail-if-simple.yaml +90 -0
  157. package/dist/examples/failure-conditions-advanced.yaml +136 -0
  158. package/dist/examples/failure-conditions-basic.yaml +48 -0
  159. package/dist/examples/failure-conditions-github-style.yaml +119 -0
  160. package/dist/examples/failure-conditions-migration.yaml +74 -0
  161. package/dist/examples/for-loop-example.yaml +176 -0
  162. package/dist/examples/forEach-example.yaml +120 -0
  163. package/dist/examples/git-checkout-basic.yaml +32 -0
  164. package/dist/examples/git-checkout-compare.yaml +59 -0
  165. package/dist/examples/git-checkout-cross-repo.yaml +76 -0
  166. package/dist/examples/github-workflow-with-tags.yml +163 -0
  167. package/dist/examples/http-integration-config.yaml +240 -0
  168. package/dist/examples/https-server-config.yaml +209 -0
  169. package/dist/examples/human-input-example.yaml +63 -0
  170. package/dist/examples/if-conditions.yaml +173 -0
  171. package/dist/examples/jira-simple-example.yaml +56 -0
  172. package/dist/examples/jira-single-issue-workflow.yaml +166 -0
  173. package/dist/examples/jira-workflow-mcp.yaml +182 -0
  174. package/dist/examples/mcp/analyzer.py +119 -0
  175. package/dist/examples/mcp-provider-example.yaml +301 -0
  176. package/dist/examples/memory-counter.yaml +99 -0
  177. package/dist/examples/memory-error-collection.yaml +104 -0
  178. package/dist/examples/memory-exec-js.yaml +247 -0
  179. package/dist/examples/memory-namespace-isolation.yaml +184 -0
  180. package/dist/examples/memory-retry-counter.yaml +65 -0
  181. package/dist/examples/memory-state-machine.yaml +170 -0
  182. package/dist/examples/on-init-import-demo.yaml +179 -0
  183. package/dist/examples/outputs-raw-basic.yaml +26 -0
  184. package/dist/examples/project-with-tools.yaml +174 -0
  185. package/dist/examples/prompts/architecture-analysis.liquid +116 -0
  186. package/dist/examples/prompts/security-comprehensive.liquid +107 -0
  187. package/dist/examples/quick-start-tags.yaml +53 -0
  188. package/dist/examples/reusable-tools.yaml +92 -0
  189. package/dist/examples/reusable-workflows.yaml +88 -0
  190. package/dist/examples/routing-basic.yaml +35 -0
  191. package/dist/examples/routing-dynamic-js.yaml +46 -0
  192. package/dist/examples/routing-foreach.yaml +34 -0
  193. package/dist/examples/routing-goto-event.yaml +34 -0
  194. package/dist/examples/routing-on-success.yaml +25 -0
  195. package/dist/examples/run-calculator-demo.sh +71 -0
  196. package/dist/examples/sdk-basic.mjs +10 -0
  197. package/dist/examples/sdk-cjs.cjs +10 -0
  198. package/dist/examples/sdk-comprehensive.mjs +175 -0
  199. package/dist/examples/sdk-manual-config.mjs +65 -0
  200. package/dist/examples/sdk-typescript.js +81 -0
  201. package/dist/examples/sdk-typescript.ts +92 -0
  202. package/dist/examples/session-reuse-config.yaml +151 -0
  203. package/dist/examples/session-reuse-self.yaml +81 -0
  204. package/dist/examples/slack-simple-chat.yaml +775 -0
  205. package/dist/examples/templates/security-report.liquid +137 -0
  206. package/dist/examples/tools-library.yaml +281 -0
  207. package/dist/examples/transform-example.yaml +199 -0
  208. package/dist/examples/visor-with-tags.yaml +198 -0
  209. package/dist/examples/webhook-pipeline-config.yaml +218 -0
  210. package/dist/examples/workflows/calculator-workflow.yaml +163 -0
  211. package/dist/examples/workflows/code-quality.yaml +222 -0
  212. package/dist/examples/workflows/quick-pr-check.yaml +90 -0
  213. package/dist/examples/workflows/workflow-composition-example.yaml +130 -0
  214. package/dist/failure-condition-evaluator.d.ts +3 -0
  215. package/dist/failure-condition-evaluator.d.ts.map +1 -1
  216. package/dist/frontends/github-frontend.d.ts +58 -0
  217. package/dist/frontends/github-frontend.d.ts.map +1 -0
  218. package/dist/frontends/host.d.ts +47 -0
  219. package/dist/frontends/host.d.ts.map +1 -0
  220. package/dist/frontends/ndjson-sink.d.ts +12 -0
  221. package/dist/frontends/ndjson-sink.d.ts.map +1 -0
  222. package/dist/frontends/slack-frontend.d.ts +58 -0
  223. package/dist/frontends/slack-frontend.d.ts.map +1 -0
  224. package/dist/generated/config-schema.d.ts +967 -57
  225. package/dist/generated/config-schema.d.ts.map +1 -1
  226. package/dist/generated/config-schema.json +1033 -56
  227. package/dist/github-check-service.d.ts +4 -6
  228. package/dist/github-check-service.d.ts.map +1 -1
  229. package/dist/github-comments.d.ts +2 -4
  230. package/dist/github-comments.d.ts.map +1 -1
  231. package/dist/index.d.ts.map +1 -1
  232. package/dist/index.js +134327 -99004
  233. package/dist/liquid-extensions.d.ts.map +1 -1
  234. package/dist/logger.d.ts +2 -0
  235. package/dist/logger.d.ts.map +1 -1
  236. package/dist/memory-store.d.ts +6 -0
  237. package/dist/memory-store.d.ts.map +1 -1
  238. package/dist/output/assistant-json/template.liquid +0 -0
  239. package/dist/output/traces/run-2026-01-20T19-22-58-043Z.ndjson +138 -0
  240. package/dist/output/traces/run-2026-01-20T19-23-52-175Z.ndjson +1067 -0
  241. package/dist/output-formatters.d.ts +1 -1
  242. package/dist/output-formatters.d.ts.map +1 -1
  243. package/dist/providers/ai-check-provider.d.ts +12 -0
  244. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  245. package/dist/providers/check-provider-registry.d.ts +6 -0
  246. package/dist/providers/check-provider-registry.d.ts.map +1 -1
  247. package/dist/providers/check-provider.interface.d.ts +43 -1
  248. package/dist/providers/check-provider.interface.d.ts.map +1 -1
  249. package/dist/providers/claude-code-check-provider.d.ts.map +1 -1
  250. package/dist/providers/command-check-provider.d.ts +1 -1
  251. package/dist/providers/command-check-provider.d.ts.map +1 -1
  252. package/dist/providers/custom-tool-executor.d.ts +61 -0
  253. package/dist/providers/custom-tool-executor.d.ts.map +1 -0
  254. package/dist/providers/git-checkout-provider.d.ts +25 -0
  255. package/dist/providers/git-checkout-provider.d.ts.map +1 -0
  256. package/dist/providers/github-ops-provider.d.ts.map +1 -1
  257. package/dist/providers/http-client-provider.d.ts +4 -4
  258. package/dist/providers/http-client-provider.d.ts.map +1 -1
  259. package/dist/providers/human-input-check-provider.d.ts +5 -0
  260. package/dist/providers/human-input-check-provider.d.ts.map +1 -1
  261. package/dist/providers/index.d.ts +1 -0
  262. package/dist/providers/index.d.ts.map +1 -1
  263. package/dist/providers/log-check-provider.d.ts +2 -5
  264. package/dist/providers/log-check-provider.d.ts.map +1 -1
  265. package/dist/providers/mcp-check-provider.d.ts +10 -4
  266. package/dist/providers/mcp-check-provider.d.ts.map +1 -1
  267. package/dist/providers/mcp-custom-sse-server.d.ts +66 -0
  268. package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -0
  269. package/dist/providers/memory-check-provider.d.ts +2 -8
  270. package/dist/providers/memory-check-provider.d.ts.map +1 -1
  271. package/dist/providers/script-check-provider.d.ts +25 -0
  272. package/dist/providers/script-check-provider.d.ts.map +1 -0
  273. package/dist/providers/workflow-check-provider.d.ts +56 -0
  274. package/dist/providers/workflow-check-provider.d.ts.map +1 -0
  275. package/dist/reviewer.d.ts +2 -1
  276. package/dist/reviewer.d.ts.map +1 -1
  277. package/dist/sdk/check-provider-registry-534KL5HT.mjs +27 -0
  278. package/dist/sdk/chunk-23L3QRYX.mjs +16872 -0
  279. package/dist/sdk/chunk-23L3QRYX.mjs.map +1 -0
  280. package/dist/sdk/{chunk-TUTOLSFV.mjs → chunk-3OMWVM6J.mjs} +11 -1
  281. package/dist/sdk/chunk-3OMWVM6J.mjs.map +1 -0
  282. package/dist/sdk/chunk-7UK3NIIT.mjs +482 -0
  283. package/dist/sdk/chunk-7UK3NIIT.mjs.map +1 -0
  284. package/dist/sdk/chunk-AGIZJ4UZ.mjs +173 -0
  285. package/dist/sdk/chunk-AGIZJ4UZ.mjs.map +1 -0
  286. package/dist/sdk/chunk-AIVFBIS4.mjs +1371 -0
  287. package/dist/sdk/chunk-AIVFBIS4.mjs.map +1 -0
  288. package/dist/sdk/chunk-AK6BVWIT.mjs +426 -0
  289. package/dist/sdk/chunk-AK6BVWIT.mjs.map +1 -0
  290. package/dist/sdk/chunk-AUT26LHW.mjs +139 -0
  291. package/dist/sdk/chunk-AUT26LHW.mjs.map +1 -0
  292. package/dist/sdk/chunk-BOVFH3LI.mjs +232 -0
  293. package/dist/sdk/chunk-BOVFH3LI.mjs.map +1 -0
  294. package/dist/sdk/chunk-CNX7V5JK.mjs +89 -0
  295. package/dist/sdk/chunk-CNX7V5JK.mjs.map +1 -0
  296. package/dist/sdk/chunk-HTOKWMPO.mjs +157 -0
  297. package/dist/sdk/chunk-HTOKWMPO.mjs.map +1 -0
  298. package/dist/sdk/chunk-NAW3DB3I.mjs +197 -0
  299. package/dist/sdk/chunk-NAW3DB3I.mjs.map +1 -0
  300. package/dist/sdk/chunk-O5EZDNYL.mjs +274 -0
  301. package/dist/sdk/chunk-O5EZDNYL.mjs.map +1 -0
  302. package/dist/sdk/chunk-QR7MOMJH.mjs +558 -0
  303. package/dist/sdk/chunk-QR7MOMJH.mjs.map +1 -0
  304. package/dist/sdk/chunk-QY2XYPEV.mjs +3556 -0
  305. package/dist/sdk/chunk-QY2XYPEV.mjs.map +1 -0
  306. package/dist/sdk/chunk-S2RUE2RG.mjs +145 -0
  307. package/dist/sdk/chunk-S2RUE2RG.mjs.map +1 -0
  308. package/dist/sdk/chunk-SIWNBRTK.mjs +800 -0
  309. package/dist/sdk/chunk-SIWNBRTK.mjs.map +1 -0
  310. package/dist/sdk/chunk-YSN4G6CI.mjs +146 -0
  311. package/dist/sdk/chunk-YSN4G6CI.mjs.map +1 -0
  312. package/dist/sdk/chunk-ZYAUYXSW.mjs +206 -0
  313. package/dist/sdk/chunk-ZYAUYXSW.mjs.map +1 -0
  314. package/dist/sdk/command-executor-TYUV6HUS.mjs +14 -0
  315. package/dist/sdk/config-YNC2EOOT.mjs +16 -0
  316. package/dist/sdk/config-merger-PX3WIT57.mjs +10 -0
  317. package/dist/sdk/event-bus-5BEVPQ6T.mjs +35 -0
  318. package/dist/sdk/event-bus-5BEVPQ6T.mjs.map +1 -0
  319. package/dist/sdk/failure-condition-evaluator-YGTF2GHG.mjs +17 -0
  320. package/dist/sdk/git-repository-analyzer-HJC4MYW4.mjs +458 -0
  321. package/dist/sdk/git-repository-analyzer-HJC4MYW4.mjs.map +1 -0
  322. package/dist/sdk/github-frontend-SIAEOCON.mjs +1420 -0
  323. package/dist/sdk/github-frontend-SIAEOCON.mjs.map +1 -0
  324. package/dist/sdk/host-DXUYTNMU.mjs +52 -0
  325. package/dist/sdk/host-DXUYTNMU.mjs.map +1 -0
  326. package/dist/sdk/{liquid-extensions-KVL4MKRH.mjs → liquid-extensions-PKWCKK7E.mjs} +8 -2
  327. package/dist/sdk/memory-store-XGBB7LX7.mjs +12 -0
  328. package/dist/sdk/memory-store-XGBB7LX7.mjs.map +1 -0
  329. package/dist/sdk/metrics-7PP3EJUH.mjs +29 -0
  330. package/dist/sdk/metrics-7PP3EJUH.mjs.map +1 -0
  331. package/dist/sdk/ndjson-sink-B4V4NTAQ.mjs +44 -0
  332. package/dist/sdk/ndjson-sink-B4V4NTAQ.mjs.map +1 -0
  333. package/dist/sdk/prompt-state-YRJY6QAL.mjs +16 -0
  334. package/dist/sdk/prompt-state-YRJY6QAL.mjs.map +1 -0
  335. package/dist/sdk/renderer-schema-LPKN5UJS.mjs +51 -0
  336. package/dist/sdk/renderer-schema-LPKN5UJS.mjs.map +1 -0
  337. package/dist/sdk/routing-6N45MJ4F.mjs +24 -0
  338. package/dist/sdk/routing-6N45MJ4F.mjs.map +1 -0
  339. package/dist/sdk/sdk.d.mts +541 -22
  340. package/dist/sdk/sdk.d.ts +541 -22
  341. package/dist/sdk/sdk.js +27963 -16505
  342. package/dist/sdk/sdk.js.map +1 -1
  343. package/dist/sdk/sdk.mjs +1116 -2169
  344. package/dist/sdk/sdk.mjs.map +1 -1
  345. package/dist/sdk/session-registry-4E6YRQ77.mjs +10 -0
  346. package/dist/sdk/session-registry-4E6YRQ77.mjs.map +1 -0
  347. package/dist/sdk/slack-frontend-BVKW3GD5.mjs +735 -0
  348. package/dist/sdk/slack-frontend-BVKW3GD5.mjs.map +1 -0
  349. package/dist/sdk/trace-helpers-VP6QYVBX.mjs +23 -0
  350. package/dist/sdk/trace-helpers-VP6QYVBX.mjs.map +1 -0
  351. package/dist/sdk/{tracer-init-WC75N5NW.mjs → tracer-init-GSLPPLCD.mjs} +2 -2
  352. package/dist/sdk/tracer-init-GSLPPLCD.mjs.map +1 -0
  353. package/dist/sdk/workflow-registry-R6KSACFR.mjs +12 -0
  354. package/dist/sdk/workflow-registry-R6KSACFR.mjs.map +1 -0
  355. package/dist/sdk.d.ts.map +1 -1
  356. package/dist/slack/adapter.d.ts +36 -0
  357. package/dist/slack/adapter.d.ts.map +1 -0
  358. package/dist/slack/cache-prewarmer.d.ts +31 -0
  359. package/dist/slack/cache-prewarmer.d.ts.map +1 -0
  360. package/dist/slack/client.d.ts +77 -0
  361. package/dist/slack/client.d.ts.map +1 -0
  362. package/dist/slack/markdown.d.ts +45 -0
  363. package/dist/slack/markdown.d.ts.map +1 -0
  364. package/dist/slack/prompt-state.d.ts +33 -0
  365. package/dist/slack/prompt-state.d.ts.map +1 -0
  366. package/dist/slack/rate-limiter.d.ts +56 -0
  367. package/dist/slack/rate-limiter.d.ts.map +1 -0
  368. package/dist/slack/signature.d.ts +2 -0
  369. package/dist/slack/signature.d.ts.map +1 -0
  370. package/dist/slack/socket-runner.d.ts +42 -0
  371. package/dist/slack/socket-runner.d.ts.map +1 -0
  372. package/dist/slack/thread-cache.d.ts +51 -0
  373. package/dist/slack/thread-cache.d.ts.map +1 -0
  374. package/dist/snapshot-store.d.ts +59 -0
  375. package/dist/snapshot-store.d.ts.map +1 -0
  376. package/dist/state-machine/context/build-engine-context.d.ts +17 -0
  377. package/dist/state-machine/context/build-engine-context.d.ts.map +1 -0
  378. package/dist/state-machine/dispatch/dependency-gating.d.ts +12 -0
  379. package/dist/state-machine/dispatch/dependency-gating.d.ts.map +1 -0
  380. package/dist/state-machine/dispatch/execution-invoker.d.ts +14 -0
  381. package/dist/state-machine/dispatch/execution-invoker.d.ts.map +1 -0
  382. package/dist/state-machine/dispatch/foreach-processor.d.ts +8 -0
  383. package/dist/state-machine/dispatch/foreach-processor.d.ts.map +1 -0
  384. package/dist/state-machine/dispatch/history-snapshot.d.ts +8 -0
  385. package/dist/state-machine/dispatch/history-snapshot.d.ts.map +1 -0
  386. package/dist/state-machine/dispatch/on-init-handlers.d.ts +43 -0
  387. package/dist/state-machine/dispatch/on-init-handlers.d.ts.map +1 -0
  388. package/dist/state-machine/dispatch/renderer-schema.d.ts +8 -0
  389. package/dist/state-machine/dispatch/renderer-schema.d.ts.map +1 -0
  390. package/dist/state-machine/dispatch/stats-manager.d.ts +15 -0
  391. package/dist/state-machine/dispatch/stats-manager.d.ts.map +1 -0
  392. package/dist/state-machine/dispatch/template-renderer.d.ts +7 -0
  393. package/dist/state-machine/dispatch/template-renderer.d.ts.map +1 -0
  394. package/dist/state-machine/execution/summary.d.ts +8 -0
  395. package/dist/state-machine/execution/summary.d.ts.map +1 -0
  396. package/dist/state-machine/runner.d.ts +79 -0
  397. package/dist/state-machine/runner.d.ts.map +1 -0
  398. package/dist/state-machine/states/check-running.d.ts +14 -0
  399. package/dist/state-machine/states/check-running.d.ts.map +1 -0
  400. package/dist/state-machine/states/completed.d.ts +12 -0
  401. package/dist/state-machine/states/completed.d.ts.map +1 -0
  402. package/dist/state-machine/states/error.d.ts +11 -0
  403. package/dist/state-machine/states/error.d.ts.map +1 -0
  404. package/dist/state-machine/states/init.d.ts +11 -0
  405. package/dist/state-machine/states/init.d.ts.map +1 -0
  406. package/dist/state-machine/states/level-dispatch.d.ts +17 -0
  407. package/dist/state-machine/states/level-dispatch.d.ts.map +1 -0
  408. package/dist/state-machine/states/plan-ready.d.ts +12 -0
  409. package/dist/state-machine/states/plan-ready.d.ts.map +1 -0
  410. package/dist/state-machine/states/routing.d.ts +52 -0
  411. package/dist/state-machine/states/routing.d.ts.map +1 -0
  412. package/dist/state-machine/states/wave-planning.d.ts +14 -0
  413. package/dist/state-machine/states/wave-planning.d.ts.map +1 -0
  414. package/dist/state-machine/workflow-projection.d.ts +47 -0
  415. package/dist/state-machine/workflow-projection.d.ts.map +1 -0
  416. package/dist/state-machine-execution-engine.d.ts +159 -0
  417. package/dist/state-machine-execution-engine.d.ts.map +1 -0
  418. package/dist/telemetry/opentelemetry.d.ts.map +1 -1
  419. package/dist/telemetry/state-capture.d.ts +5 -0
  420. package/dist/telemetry/state-capture.d.ts.map +1 -1
  421. package/dist/test-runner/assertions.d.ts +59 -0
  422. package/dist/test-runner/assertions.d.ts.map +1 -0
  423. package/dist/test-runner/core/environment.d.ts +8 -0
  424. package/dist/test-runner/core/environment.d.ts.map +1 -0
  425. package/dist/test-runner/core/fixture.d.ts +3 -0
  426. package/dist/test-runner/core/fixture.d.ts.map +1 -0
  427. package/dist/test-runner/core/flow-stage.d.ts +32 -0
  428. package/dist/test-runner/core/flow-stage.d.ts.map +1 -0
  429. package/dist/test-runner/core/mocks.d.ts +8 -0
  430. package/dist/test-runner/core/mocks.d.ts.map +1 -0
  431. package/dist/test-runner/core/test-execution-wrapper.d.ts +18 -0
  432. package/dist/test-runner/core/test-execution-wrapper.d.ts.map +1 -0
  433. package/dist/test-runner/evaluators.d.ts +45 -0
  434. package/dist/test-runner/evaluators.d.ts.map +1 -0
  435. package/dist/test-runner/fixture-loader.d.ts +30 -0
  436. package/dist/test-runner/fixture-loader.d.ts.map +1 -0
  437. package/dist/test-runner/index.d.ts +127 -0
  438. package/dist/test-runner/index.d.ts.map +1 -0
  439. package/dist/test-runner/recorders/github-recorder.d.ts +23 -0
  440. package/dist/test-runner/recorders/github-recorder.d.ts.map +1 -0
  441. package/dist/test-runner/recorders/global-recorder.d.ts +4 -0
  442. package/dist/test-runner/recorders/global-recorder.d.ts.map +1 -0
  443. package/dist/test-runner/recorders/slack-recorder.d.ts +17 -0
  444. package/dist/test-runner/recorders/slack-recorder.d.ts.map +1 -0
  445. package/dist/test-runner/utils/selectors.d.ts +2 -0
  446. package/dist/test-runner/utils/selectors.d.ts.map +1 -0
  447. package/dist/test-runner/validator.d.ts +8 -0
  448. package/dist/test-runner/validator.d.ts.map +1 -0
  449. package/dist/traces/run-2026-01-20T19-22-58-043Z.ndjson +138 -0
  450. package/dist/traces/run-2026-01-20T19-23-52-175Z.ndjson +1067 -0
  451. package/dist/types/bot.d.ts +109 -0
  452. package/dist/types/bot.d.ts.map +1 -0
  453. package/dist/types/cli.d.ts +8 -1
  454. package/dist/types/cli.d.ts.map +1 -1
  455. package/dist/types/config.d.ts +459 -9
  456. package/dist/types/config.d.ts.map +1 -1
  457. package/dist/types/engine.d.ts +177 -0
  458. package/dist/types/engine.d.ts.map +1 -0
  459. package/dist/types/execution.d.ts +73 -0
  460. package/dist/types/execution.d.ts.map +1 -0
  461. package/dist/types/git-checkout.d.ts +76 -0
  462. package/dist/types/git-checkout.d.ts.map +1 -0
  463. package/dist/types/github.d.ts +51 -0
  464. package/dist/types/github.d.ts.map +1 -0
  465. package/dist/types/workflow.d.ts +237 -0
  466. package/dist/types/workflow.d.ts.map +1 -0
  467. package/dist/utils/command-executor.d.ts +43 -0
  468. package/dist/utils/command-executor.d.ts.map +1 -0
  469. package/dist/utils/comment-metadata.d.ts +21 -0
  470. package/dist/utils/comment-metadata.d.ts.map +1 -0
  471. package/dist/utils/config-loader.d.ts.map +1 -1
  472. package/dist/utils/config-merger.d.ts.map +1 -1
  473. package/dist/utils/env-exposure.d.ts +3 -0
  474. package/dist/utils/env-exposure.d.ts.map +1 -0
  475. package/dist/utils/file-exclusion.d.ts.map +1 -1
  476. package/dist/utils/interactive-prompt.d.ts +1 -1
  477. package/dist/utils/interactive-prompt.d.ts.map +1 -1
  478. package/dist/utils/json-text-extractor.d.ts +17 -0
  479. package/dist/utils/json-text-extractor.d.ts.map +1 -0
  480. package/dist/utils/sandbox.d.ts +10 -0
  481. package/dist/utils/sandbox.d.ts.map +1 -1
  482. package/dist/utils/script-memory-ops.d.ts +21 -0
  483. package/dist/utils/script-memory-ops.d.ts.map +1 -0
  484. package/dist/utils/template-context.d.ts +8 -0
  485. package/dist/utils/template-context.d.ts.map +1 -0
  486. package/dist/utils/tracer-init.d.ts.map +1 -1
  487. package/dist/utils/workspace-manager.d.ts +118 -0
  488. package/dist/utils/workspace-manager.d.ts.map +1 -0
  489. package/dist/utils/worktree-cleanup.d.ts +33 -0
  490. package/dist/utils/worktree-cleanup.d.ts.map +1 -0
  491. package/dist/utils/worktree-manager.d.ts +153 -0
  492. package/dist/utils/worktree-manager.d.ts.map +1 -0
  493. package/dist/webhook-server.d.ts +3 -3
  494. package/dist/webhook-server.d.ts.map +1 -1
  495. package/dist/workflow-executor.d.ts +81 -0
  496. package/dist/workflow-executor.d.ts.map +1 -0
  497. package/dist/workflow-registry.d.ts +79 -0
  498. package/dist/workflow-registry.d.ts.map +1 -0
  499. package/package.json +12 -5
  500. package/dist/output/traces/run-2025-10-22T18-22-56-873Z.ndjson +0 -218
  501. package/dist/sdk/check-execution-engine-2YYKUUSH.mjs +0 -11
  502. package/dist/sdk/check-execution-engine-6QJXYYON.mjs +0 -11
  503. package/dist/sdk/check-execution-engine-PJZ4ZOKG.mjs +0 -11
  504. package/dist/sdk/chunk-33QVZ2D4.mjs +0 -316
  505. package/dist/sdk/chunk-33QVZ2D4.mjs.map +0 -1
  506. package/dist/sdk/chunk-B5QBV2QJ.mjs +0 -752
  507. package/dist/sdk/chunk-B5QBV2QJ.mjs.map +0 -1
  508. package/dist/sdk/chunk-BVFNRCHT.mjs +0 -14129
  509. package/dist/sdk/chunk-BVFNRCHT.mjs.map +0 -1
  510. package/dist/sdk/chunk-KWZW23FG.mjs +0 -14129
  511. package/dist/sdk/chunk-KWZW23FG.mjs.map +0 -1
  512. package/dist/sdk/chunk-O4RP4BRH.mjs +0 -14092
  513. package/dist/sdk/chunk-O4RP4BRH.mjs.map +0 -1
  514. package/dist/sdk/chunk-TUTOLSFV.mjs.map +0 -1
  515. package/dist/sdk/chunk-U5D2LY66.mjs +0 -245
  516. package/dist/sdk/chunk-U5D2LY66.mjs.map +0 -1
  517. package/dist/sdk/chunk-U7X54EMV.mjs +0 -331
  518. package/dist/sdk/chunk-U7X54EMV.mjs.map +0 -1
  519. package/dist/sdk/config-merger-TWUBWFC2.mjs +0 -8
  520. package/dist/sdk/mermaid-telemetry-SN6A2TKW.mjs +0 -61
  521. package/dist/sdk/mermaid-telemetry-SN6A2TKW.mjs.map +0 -1
  522. package/dist/sdk/mermaid-telemetry-YCTIG76M.mjs +0 -61
  523. package/dist/sdk/mermaid-telemetry-YCTIG76M.mjs.map +0 -1
  524. package/dist/traces/run-2025-10-22T18-22-56-873Z.ndjson +0 -218
  525. /package/dist/sdk/{check-execution-engine-2YYKUUSH.mjs.map → check-provider-registry-534KL5HT.mjs.map} +0 -0
  526. /package/dist/sdk/{check-execution-engine-6QJXYYON.mjs.map → command-executor-TYUV6HUS.mjs.map} +0 -0
  527. /package/dist/sdk/{check-execution-engine-PJZ4ZOKG.mjs.map → config-YNC2EOOT.mjs.map} +0 -0
  528. /package/dist/sdk/{config-merger-TWUBWFC2.mjs.map → config-merger-PX3WIT57.mjs.map} +0 -0
  529. /package/dist/sdk/{liquid-extensions-KVL4MKRH.mjs.map → failure-condition-evaluator-YGTF2GHG.mjs.map} +0 -0
  530. /package/dist/sdk/{tracer-init-WC75N5NW.mjs.map → liquid-extensions-PKWCKK7E.mjs.map} +0 -0
@@ -0,0 +1,159 @@
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
+ * Format the status column for execution statistics
125
+ * Used by execution-statistics-formatting tests
126
+ */
127
+ private formatStatusColumn;
128
+ /**
129
+ * Format the details column for execution statistics
130
+ * Used by execution-statistics-formatting tests
131
+ */
132
+ private formatDetailsColumn;
133
+ /**
134
+ * Truncate a string to a maximum length
135
+ * Used by formatDetailsColumn
136
+ */
137
+ private truncate;
138
+ }
139
+ export type SnapshotJson = {
140
+ version: number;
141
+ sessionId: string;
142
+ event?: import('./types/config').EventTrigger;
143
+ wave?: number;
144
+ state: any;
145
+ journal: import('./snapshot-store').JournalEntry[];
146
+ requestedChecks?: string[];
147
+ meta?: Record<string, unknown>;
148
+ };
149
+ /**
150
+ * Resume execution from a previously saved snapshot (experimental).
151
+ * Frontends are started to mirror executeGroupedChecks behavior so integrations
152
+ * like Slack can handle CheckCompleted/HumanInputRequested events during resume.
153
+ */
154
+ export declare function resumeFromSnapshot(engine: StateMachineExecutionEngine, snapshot: SnapshotJson, config: VisorConfig, opts?: {
155
+ debug?: boolean;
156
+ maxParallelism?: number;
157
+ failFast?: boolean;
158
+ webhookContext?: any;
159
+ }): Promise<import('./types/execution').ExecutionResult>;
@@ -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,CAgPlF;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgCvD"}
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"}
@@ -5,6 +5,11 @@
5
5
  * attributes, enabling time-travel debugging and full state inspection.
6
6
  */
7
7
  import { Span } from './lazy-otel';
8
+ /**
9
+ * Sanitize context for telemetry by redacting sensitive environment variables.
10
+ * Returns a new object with env values redacted (keys preserved).
11
+ */
12
+ export declare function sanitizeContextForTelemetry(context: Record<string, unknown>): Record<string, unknown>;
8
13
  /**
9
14
  * Capture check input context (Liquid template variables) in span.
10
15
  */
@@ -1 +1 @@
1
- {"version":3,"file":"state-capture.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/telemetry/state-capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAoCnC;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CA2B3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAoBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,OAAO,GACnB,IAAI,CAmBN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,GACb,IAAI,CAUN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,GACd,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACpE,QAAQ,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACtE,IAAI,CAsBN;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,EAChC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAUN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAWN"}
1
+ {"version":3,"file":"state-capture.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/telemetry/state-capture.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAyBnC;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAmBzB;AAiCD;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAkC3F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI,CAoBpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,OAAO,EAAE,EAChB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,OAAO,GACnB,IAAI,CAmBN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,GACb,IAAI,CAUN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,GACd,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACpE,QAAQ,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GACtE,IAAI,CA+BN;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI,CAQN;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,EAChC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EACzB,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAUN;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,CAWN"}
@@ -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,8 @@
1
+ export type EnvOverrides = Record<string, string> | undefined;
2
+ export declare class EnvironmentManager {
3
+ private prevRepo?;
4
+ private saved;
5
+ apply(caseEnv?: EnvOverrides): void;
6
+ restore(): void;
7
+ }
8
+ //# sourceMappingURL=environment.d.ts.map
@@ -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;AAQhE,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;CAkgB7E"}
@@ -0,0 +1,8 @@
1
+ export declare class MockManager {
2
+ private mocks;
3
+ private cursors;
4
+ constructor(mocks?: Record<string, unknown>);
5
+ reset(overrides?: Record<string, unknown>): void;
6
+ get(step: string): unknown;
7
+ }
8
+ //# sourceMappingURL=mocks.d.ts.map
@@ -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;CA8FhE"}
@@ -0,0 +1,45 @@
1
+ import type { SlackRecordedCall } from './recorders/slack-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: {
7
+ calls: Array<{
8
+ provider: string;
9
+ op: string;
10
+ args: any;
11
+ ts: number;
12
+ }>;
13
+ }, slackRecorder?: {
14
+ calls: SlackRecordedCall[];
15
+ }): void;
16
+ export declare function evaluateNoCalls(errors: string[], expect: ExpectBlock, executed: Record<string, number>, recorder: {
17
+ calls: Array<{
18
+ provider: string;
19
+ op: string;
20
+ args: any;
21
+ ts: number;
22
+ }>;
23
+ }, slackRecorder?: {
24
+ calls: SlackRecordedCall[];
25
+ }): void;
26
+ export declare function evaluatePrompts(errors: string[], expect: ExpectBlock, promptsByStep: Record<string, string[]>): void;
27
+ /**
28
+ * Evaluate workflow_output assertions against computed workflow outputs.
29
+ * Similar to evaluateOutputs but tests workflow-level outputs (defined in outputs: section)
30
+ * rather than step outputs.
31
+ */
32
+ export declare function evaluateWorkflowOutputs(errors: string[], expect: ExpectBlock, workflowOutputs: Record<string, unknown> | undefined): void;
33
+ export declare function evaluateOutputs(errors: string[], expect: ExpectBlock, outputHistory: Record<string, unknown[]>): void;
34
+ export declare function evaluateCase(caseName: string, stats: ExecStats, recorder: {
35
+ calls: Array<{
36
+ provider: string;
37
+ op: string;
38
+ args: any;
39
+ ts: number;
40
+ }>;
41
+ }, slackRecorder: {
42
+ calls: SlackRecordedCall[];
43
+ } | undefined, expect: ExpectBlock, strict: boolean, promptsByStep: Record<string, string[]>, _results: GroupedResults, outputHistory: Record<string, unknown[]>, workflowOutputs?: Record<string, unknown>): string[];
44
+ export {};
45
+ //# 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":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,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;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EACnF,aAAa,CAAC,EAAE;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAC7C,IAAI,CAkEN;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,QAAQ,EAAE;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EACnF,aAAa,CAAC,EAAE;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAC7C,IAAI,CAkBN;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;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACnD,IAAI,CAoDN;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;IAAE,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,EACnF,aAAa,EAAE;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAAG,SAAS,EACzD,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,EACxC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxC,MAAM,EAAE,CAmBV"}
@@ -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,127 @@
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
+ noMocks?: boolean;
33
+ maxParallelSuites?: number;
34
+ maxParallel?: number;
35
+ promptMaxChars?: number;
36
+ }): Promise<{
37
+ totalSuites: number;
38
+ failedSuites: number;
39
+ totalCases: number;
40
+ failedCases: number;
41
+ perSuite: Array<{
42
+ file: string;
43
+ failures: number;
44
+ results: Array<{
45
+ name: string;
46
+ passed: boolean;
47
+ errors?: string[];
48
+ stages?: Array<{
49
+ name: string;
50
+ errors?: string[];
51
+ }>;
52
+ }>;
53
+ }>;
54
+ }>;
55
+ export declare class VisorTestRunner {
56
+ private readonly cwd;
57
+ constructor(cwd?: string);
58
+ private readonly isTTY;
59
+ private color;
60
+ private bold;
61
+ private gray;
62
+ private tagPass;
63
+ private tagFail;
64
+ private tagSkip;
65
+ private line;
66
+ private setupTestCase;
67
+ private executeTestCase;
68
+ private printCaseHeader;
69
+ private printStageHeader;
70
+ private printSelectedChecks;
71
+ /**
72
+ * Compute workflow outputs from output definitions and step results.
73
+ * Evaluates value_js and value (Liquid) expressions to produce output values.
74
+ */
75
+ private computeWorkflowOutputs;
76
+ /**
77
+ * Locate a tests file: explicit path > ./.visor.tests.yaml > defaults/visor.tests.yaml
78
+ */
79
+ resolveTestsPath(explicit?: string): string;
80
+ /**
81
+ * Load and minimally validate tests YAML.
82
+ */
83
+ loadSuite(testsPath: string): TestSuite;
84
+ /**
85
+ * Pretty print discovered cases to stdout.
86
+ */
87
+ printDiscovery(testsPath: string, suite: TestSuite): void;
88
+ /**
89
+ * Execute non-flow cases with minimal assertions (Milestone 1 MVP).
90
+ */
91
+ runCases(testsPath: string, suite: TestSuite, options: {
92
+ only?: string;
93
+ bail?: boolean;
94
+ noMocks?: boolean;
95
+ maxParallel?: number;
96
+ promptMaxChars?: number;
97
+ }): Promise<{
98
+ failures: number;
99
+ results: Array<{
100
+ name: string;
101
+ passed: boolean;
102
+ errors?: string[];
103
+ stages?: Array<{
104
+ name: string;
105
+ errors?: string[];
106
+ }>;
107
+ }>;
108
+ }>;
109
+ private runFlowCase;
110
+ private mapEventFromFixtureName;
111
+ private warnUnmockedProviders;
112
+ private mapGithubOp;
113
+ private computeChecksToRun;
114
+ private printCoverage;
115
+ }
116
+ export declare function discoverAndPrint(options?: DiscoverOptions): Promise<void>;
117
+ export declare function runMvp(options: {
118
+ testsPath?: string;
119
+ only?: string;
120
+ bail?: boolean;
121
+ maxParallel?: number;
122
+ promptMaxChars?: number;
123
+ }): Promise<number>;
124
+ export declare function validateTestsOnly(options: {
125
+ testsPath?: string;
126
+ }): Promise<number>;
127
+ //# 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,4 @@
1
+ import type { RecordingOctokit } from './github-recorder';
2
+ export declare function setGlobalRecorder(r: RecordingOctokit | null): void;
3
+ export declare function getGlobalRecorder(): RecordingOctokit | null;
4
+ //# sourceMappingURL=global-recorder.d.ts.map
@@ -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,17 @@
1
+ export interface SlackRecordedCall {
2
+ provider: 'slack';
3
+ op: string;
4
+ args: Record<string, unknown>;
5
+ ts: number;
6
+ }
7
+ /**
8
+ * Minimal Slack recording client used in tests. It mimics a tiny subset of the
9
+ * Slack Web API (`chat.postMessage`, `chat.update`) and keeps an in-memory log
10
+ * of all invocations for assertions.
11
+ */
12
+ export declare class RecordingSlack {
13
+ readonly calls: SlackRecordedCall[];
14
+ readonly chat: any;
15
+ constructor();
16
+ }
17
+ //# sourceMappingURL=slack-recorder.d.ts.map