@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
@@ -1,10 +1,14 @@
1
1
  export declare const configSchema: {
2
2
  readonly $schema: "http://json-schema.org/draft-07/schema#";
3
- readonly $ref: "#/definitions/VisorConfig";
3
+ readonly $ref: "#/definitions/VisorConfigSchema";
4
4
  readonly definitions: {
5
- readonly VisorConfig: {
5
+ readonly VisorConfigSchema: {
6
6
  readonly type: "object";
7
+ readonly additionalProperties: false;
7
8
  readonly properties: {
9
+ readonly hooks: {
10
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
11
+ };
8
12
  readonly version: {
9
13
  readonly type: "string";
10
14
  readonly description: "Configuration version";
@@ -20,6 +24,42 @@ export declare const configSchema: {
20
24
  }];
21
25
  readonly description: "Extends from other configurations - can be file path, HTTP(S) URL, or \"default\"";
22
26
  };
27
+ readonly include: {
28
+ readonly anyOf: readonly [{
29
+ readonly type: "string";
30
+ }, {
31
+ readonly type: "array";
32
+ readonly items: {
33
+ readonly type: "string";
34
+ };
35
+ }];
36
+ readonly description: "Alias for extends - include from other configurations (backward compatibility)";
37
+ };
38
+ readonly tools: {
39
+ readonly $ref: "#/definitions/Record%3Cstring%2CCustomToolDefinition%3E";
40
+ readonly description: "Custom tool definitions that can be used in MCP blocks";
41
+ };
42
+ readonly imports: {
43
+ readonly type: "array";
44
+ readonly items: {
45
+ readonly type: "string";
46
+ };
47
+ readonly description: "Import workflow definitions from external files or URLs";
48
+ };
49
+ readonly inputs: {
50
+ readonly type: "array";
51
+ readonly items: {
52
+ readonly $ref: "#/definitions/WorkflowInput";
53
+ };
54
+ readonly description: "Workflow inputs (for standalone reusable workflows)";
55
+ };
56
+ readonly outputs: {
57
+ readonly type: "array";
58
+ readonly items: {
59
+ readonly $ref: "#/definitions/WorkflowOutput";
60
+ };
61
+ readonly description: "Workflow outputs (for standalone reusable workflows)";
62
+ };
23
63
  readonly steps: {
24
64
  readonly $ref: "#/definitions/Record%3Cstring%2CCheckConfig%3E";
25
65
  readonly description: "Step configurations (recommended)";
@@ -30,7 +70,7 @@ export declare const configSchema: {
30
70
  };
31
71
  readonly output: {
32
72
  readonly $ref: "#/definitions/OutputConfig";
33
- readonly description: "Output configuration";
73
+ readonly description: "Output configuration (optional - defaults provided)";
34
74
  };
35
75
  readonly http_server: {
36
76
  readonly $ref: "#/definitions/HttpServerConfig";
@@ -80,10 +120,193 @@ export declare const configSchema: {
80
120
  readonly $ref: "#/definitions/RoutingDefaults";
81
121
  readonly description: "Optional routing defaults for retry/goto/run policies";
82
122
  };
123
+ readonly limits: {
124
+ readonly $ref: "#/definitions/LimitsConfig";
125
+ readonly description: "Global execution limits";
126
+ };
127
+ readonly frontends: {
128
+ readonly type: "array";
129
+ readonly items: {
130
+ readonly type: "object";
131
+ readonly properties: {
132
+ readonly name: {
133
+ readonly type: "string";
134
+ readonly description: "Frontend name, e.g., 'ndjson-sink', 'github'";
135
+ };
136
+ readonly config: {
137
+ readonly description: "Frontend-specific configuration";
138
+ };
139
+ };
140
+ readonly required: readonly ["name"];
141
+ readonly additionalProperties: false;
142
+ };
143
+ readonly description: "Optional integrations: event-driven frontends (e.g., ndjson-sink, github)";
144
+ };
145
+ readonly workspace: {
146
+ readonly $ref: "#/definitions/WorkspaceConfig";
147
+ readonly description: "Workspace isolation configuration for sandboxed execution";
148
+ };
149
+ readonly slack: {
150
+ readonly $ref: "#/definitions/SlackConfig";
151
+ readonly description: "Slack configuration";
152
+ };
153
+ };
154
+ readonly required: readonly ["version"];
155
+ readonly patternProperties: {
156
+ readonly '^x-': {};
157
+ };
158
+ };
159
+ readonly 'Record<string,unknown>': {
160
+ readonly type: "object";
161
+ readonly additionalProperties: {};
162
+ };
163
+ readonly 'Record<string,CustomToolDefinition>': {
164
+ readonly type: "object";
165
+ readonly additionalProperties: {
166
+ readonly $ref: "#/definitions/CustomToolDefinition";
167
+ };
168
+ };
169
+ readonly CustomToolDefinition: {
170
+ readonly type: "object";
171
+ readonly properties: {
172
+ readonly name: {
173
+ readonly type: "string";
174
+ readonly description: "Tool name - used to reference the tool in MCP blocks";
175
+ };
176
+ readonly description: {
177
+ readonly type: "string";
178
+ readonly description: "Description of what the tool does";
179
+ };
180
+ readonly inputSchema: {
181
+ readonly type: "object";
182
+ readonly properties: {
183
+ readonly type: {
184
+ readonly type: "string";
185
+ readonly const: "object";
186
+ };
187
+ readonly properties: {
188
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
189
+ };
190
+ readonly required: {
191
+ readonly type: "array";
192
+ readonly items: {
193
+ readonly type: "string";
194
+ };
195
+ };
196
+ readonly additionalProperties: {
197
+ readonly type: "boolean";
198
+ };
199
+ };
200
+ readonly required: readonly ["type"];
201
+ readonly additionalProperties: false;
202
+ readonly description: "Input schema for the tool (JSON Schema format)";
203
+ readonly patternProperties: {
204
+ readonly '^x-': {};
205
+ };
206
+ };
207
+ readonly exec: {
208
+ readonly type: "string";
209
+ readonly description: "Command to execute - supports Liquid template";
210
+ };
211
+ readonly stdin: {
212
+ readonly type: "string";
213
+ readonly description: "Optional stdin input - supports Liquid template";
214
+ };
215
+ readonly transform: {
216
+ readonly type: "string";
217
+ readonly description: "Transform the raw output - supports Liquid template";
218
+ };
219
+ readonly transform_js: {
220
+ readonly type: "string";
221
+ readonly description: "Transform the output using JavaScript - alternative to transform";
222
+ };
223
+ readonly cwd: {
224
+ readonly type: "string";
225
+ readonly description: "Working directory for command execution";
226
+ };
227
+ readonly env: {
228
+ readonly $ref: "#/definitions/Record%3Cstring%2Cstring%3E";
229
+ readonly description: "Environment variables for the command";
230
+ };
231
+ readonly timeout: {
232
+ readonly type: "number";
233
+ readonly description: "Timeout in milliseconds";
234
+ };
235
+ readonly parseJson: {
236
+ readonly type: "boolean";
237
+ readonly description: "Whether to parse output as JSON automatically";
238
+ };
239
+ readonly outputSchema: {
240
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
241
+ readonly description: "Expected output schema for validation";
242
+ };
83
243
  };
84
- readonly required: readonly ["version", "output"];
244
+ readonly required: readonly ["name", "exec"];
85
245
  readonly additionalProperties: false;
86
- readonly description: "Main Visor configuration";
246
+ readonly description: "Custom tool definition for use in MCP blocks";
247
+ readonly patternProperties: {
248
+ readonly '^x-': {};
249
+ };
250
+ };
251
+ readonly 'Record<string,string>': {
252
+ readonly type: "object";
253
+ readonly additionalProperties: {
254
+ readonly type: "string";
255
+ };
256
+ };
257
+ readonly WorkflowInput: {
258
+ readonly type: "object";
259
+ readonly properties: {
260
+ readonly name: {
261
+ readonly type: "string";
262
+ readonly description: "Input parameter name";
263
+ };
264
+ readonly schema: {
265
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
266
+ readonly description: "JSON Schema for the input";
267
+ };
268
+ readonly required: {
269
+ readonly type: "boolean";
270
+ readonly description: "Whether this input is required";
271
+ };
272
+ readonly default: {
273
+ readonly description: "Default value if not provided";
274
+ };
275
+ readonly description: {
276
+ readonly type: "string";
277
+ readonly description: "Human-readable description";
278
+ };
279
+ };
280
+ readonly required: readonly ["name"];
281
+ readonly additionalProperties: false;
282
+ readonly description: "Workflow input definition for standalone reusable workflows";
283
+ readonly patternProperties: {
284
+ readonly '^x-': {};
285
+ };
286
+ };
287
+ readonly WorkflowOutput: {
288
+ readonly type: "object";
289
+ readonly properties: {
290
+ readonly name: {
291
+ readonly type: "string";
292
+ readonly description: "Output name";
293
+ };
294
+ readonly description: {
295
+ readonly type: "string";
296
+ readonly description: "Human-readable description";
297
+ };
298
+ readonly value: {
299
+ readonly type: "string";
300
+ readonly description: "Value using Liquid template syntax (references step outputs)";
301
+ };
302
+ readonly value_js: {
303
+ readonly type: "string";
304
+ readonly description: "Value using JavaScript expression (alternative to value)";
305
+ };
306
+ };
307
+ readonly required: readonly ["name"];
308
+ readonly additionalProperties: false;
309
+ readonly description: "Workflow output definition for standalone reusable workflows";
87
310
  readonly patternProperties: {
88
311
  readonly '^x-': {};
89
312
  };
@@ -145,6 +368,10 @@ export declare const configSchema: {
145
368
  readonly type: "string";
146
369
  readonly description: "Transform using JavaScript expressions (evaluated in secure sandbox) - optional";
147
370
  };
371
+ readonly content: {
372
+ readonly type: "string";
373
+ readonly description: "Script content to execute for script checks";
374
+ };
148
375
  readonly schedule: {
149
376
  readonly type: "string";
150
377
  readonly description: "Cron schedule expression (e.g., \"0 2 * * *\") - optional for any check type";
@@ -183,10 +410,33 @@ export declare const configSchema: {
183
410
  readonly type: "string";
184
411
  readonly description: "AI provider to use for this check - overrides global setting";
185
412
  };
413
+ readonly ai_persona: {
414
+ readonly type: "string";
415
+ readonly description: "Optional persona hint, prepended to the prompt as 'Persona: <value>'";
416
+ };
417
+ readonly ai_prompt_type: {
418
+ readonly type: "string";
419
+ readonly description: "Probe promptType for this check (underscore style)";
420
+ };
421
+ readonly ai_system_prompt: {
422
+ readonly type: "string";
423
+ readonly description: "System prompt for this check (underscore style)";
424
+ };
425
+ readonly ai_custom_prompt: {
426
+ readonly type: "string";
427
+ readonly description: "Legacy customPrompt (underscore style) — deprecated, use ai_system_prompt";
428
+ };
186
429
  readonly ai_mcp_servers: {
187
430
  readonly $ref: "#/definitions/Record%3Cstring%2CMcpServerConfig%3E";
188
431
  readonly description: "MCP servers for this AI check - overrides global setting";
189
432
  };
433
+ readonly ai_custom_tools: {
434
+ readonly type: "array";
435
+ readonly items: {
436
+ readonly type: "string";
437
+ };
438
+ readonly description: "List of custom tool names to expose to this AI check via ephemeral SSE MCP server";
439
+ };
190
440
  readonly claude_code: {
191
441
  readonly $ref: "#/definitions/ClaudeCodeConfig";
192
442
  readonly description: "Claude Code configuration (for claude-code type checks)";
@@ -200,11 +450,15 @@ export declare const configSchema: {
200
450
  readonly description: "Timeout in seconds for command execution (default: 60)";
201
451
  };
202
452
  readonly depends_on: {
203
- readonly type: "array";
204
- readonly items: {
453
+ readonly anyOf: readonly [{
205
454
  readonly type: "string";
206
- };
207
- readonly description: "Check IDs that this check depends on (optional)";
455
+ }, {
456
+ readonly type: "array";
457
+ readonly items: {
458
+ readonly type: "string";
459
+ };
460
+ }];
461
+ readonly description: "Check IDs that this check depends on (optional). Accepts single string or array.";
208
462
  };
209
463
  readonly group: {
210
464
  readonly type: "string";
@@ -218,6 +472,10 @@ export declare const configSchema: {
218
472
  }];
219
473
  readonly description: "Schema type for template rendering (e.g., \"code-review\", \"markdown\") or inline JSON schema object - optional";
220
474
  };
475
+ readonly output_schema: {
476
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
477
+ readonly description: "Optional JSON Schema to validate the produced output. If omitted and `schema` is an object, the engine will treat that object as the output_schema for validation purposes while still using string schemas (e.g., 'code-review') for template selection.";
478
+ };
221
479
  readonly template: {
222
480
  readonly $ref: "#/definitions/CustomTemplateConfig";
223
481
  readonly description: "Custom template configuration - optional";
@@ -250,10 +508,32 @@ export declare const configSchema: {
250
508
  };
251
509
  readonly description: "Tags for categorizing and filtering checks (e.g., [\"local\", \"fast\", \"security\"])";
252
510
  };
511
+ readonly criticality: {
512
+ readonly type: "string";
513
+ readonly enum: readonly ["external", "internal", "policy", "info"];
514
+ readonly description: "Operational criticality of this step. Drives default safety policies (contracts, retries, loop budgets) at load time. Behavior can still be overridden explicitly per step via on_*, fail_if, assume/guarantee, etc.\n\n- 'external': interacts with external systems (side effects). Highest safety.\n- 'internal': modifies CI/config/state but not prod. High safety.\n- 'policy': organizational checks (linting, style, doc). Moderate safety.\n- 'info': informational checks. Lowest safety.";
515
+ };
516
+ readonly continue_on_failure: {
517
+ readonly type: "boolean";
518
+ readonly description: "Allow dependents to run even if this step fails. Defaults to false (dependents are gated when this step fails). Similar to GitHub Actions' continue-on-error.";
519
+ };
253
520
  readonly forEach: {
254
521
  readonly type: "boolean";
255
522
  readonly description: "Process output as array and run dependent checks for each item";
256
523
  };
524
+ readonly fanout: {
525
+ readonly type: "string";
526
+ readonly enum: readonly ["map", "reduce"];
527
+ readonly description: "Control scheduling behavior when this check is triggered via routing (run/goto) from a forEach scope.\n- 'map': schedule once per item (fan-out) using item scopes.\n- 'reduce': schedule a single run at the parent scope (aggregation). If unset, the current default is a single run (reduce) for backward compatibility.";
528
+ };
529
+ readonly reduce: {
530
+ readonly type: "boolean";
531
+ readonly description: "Alias for fanout: 'reduce'";
532
+ };
533
+ readonly on_init: {
534
+ readonly $ref: "#/definitions/OnInitConfig";
535
+ readonly description: "Init routing configuration for this check (runs before execution/preprocessing)";
536
+ };
257
537
  readonly on_fail: {
258
538
  readonly $ref: "#/definitions/OnFailConfig";
259
539
  readonly description: "Failure routing configuration for this check (retry/goto/run)";
@@ -262,6 +542,36 @@ export declare const configSchema: {
262
542
  readonly $ref: "#/definitions/OnSuccessConfig";
263
543
  readonly description: "Success routing configuration for this check (post-actions and optional goto)";
264
544
  };
545
+ readonly on_finish: {
546
+ readonly $ref: "#/definitions/OnFinishConfig";
547
+ readonly description: "Finish routing configuration for forEach checks (runs after ALL iterations complete)";
548
+ };
549
+ readonly assume: {
550
+ readonly anyOf: readonly [{
551
+ readonly type: "string";
552
+ }, {
553
+ readonly type: "array";
554
+ readonly items: {
555
+ readonly type: "string";
556
+ };
557
+ }];
558
+ readonly description: "Preconditions that must hold before executing the check. If any expression evaluates to false, the check is skipped (skipReason='assume').";
559
+ };
560
+ readonly guarantee: {
561
+ readonly anyOf: readonly [{
562
+ readonly type: "string";
563
+ }, {
564
+ readonly type: "array";
565
+ readonly items: {
566
+ readonly type: "string";
567
+ };
568
+ }];
569
+ readonly description: "Postconditions that should hold after executing the check. Expressions are evaluated against the produced result/output; violations are recorded as error issues with ruleId \"contract/guarantee_failed\".";
570
+ };
571
+ readonly max_runs: {
572
+ readonly type: "number";
573
+ readonly description: "Hard cap on how many times this check may execute within a single engine run. Overrides global limits.max_runs_per_check. Set to 0 or negative to disable for this step.";
574
+ };
265
575
  readonly message: {
266
576
  readonly type: "string";
267
577
  readonly description: "Message template for log checks";
@@ -283,10 +593,15 @@ export declare const configSchema: {
283
593
  readonly type: "boolean";
284
594
  readonly description: "Include execution metadata in log output";
285
595
  };
596
+ readonly output_format: {
597
+ readonly type: "string";
598
+ readonly enum: readonly ["json", "text"];
599
+ readonly description: "Output parsing hint for command provider (optional) When set to 'json', command stdout is expected to be JSON. When 'text', treat as plain text. Note: command provider attempts JSON parsing heuristically; this flag mainly suppresses schema warnings and may be used by providers to alter parsing behavior in the future.";
600
+ };
286
601
  readonly operation: {
287
602
  readonly type: "string";
288
- readonly enum: readonly ["get", "set", "append", "increment", "delete", "clear", "list", "exec_js"];
289
- readonly description: "Memory operation to perform";
603
+ readonly enum: readonly ["get", "set", "append", "increment", "delete", "clear", "list"];
604
+ readonly description: "Memory operation to perform. Use `type: 'script'` for custom JavaScript.";
290
605
  };
291
606
  readonly key: {
292
607
  readonly type: "string";
@@ -299,10 +614,6 @@ export declare const configSchema: {
299
614
  readonly type: "string";
300
615
  readonly description: "JavaScript expression to compute value dynamically";
301
616
  };
302
- readonly memory_js: {
303
- readonly type: "string";
304
- readonly description: "JavaScript code for exec_js operation with full memory access";
305
- };
306
617
  readonly namespace: {
307
618
  readonly type: "string";
308
619
  readonly description: "Override namespace for this check";
@@ -339,7 +650,7 @@ export declare const configSchema: {
339
650
  readonly type: "string";
340
651
  readonly description: "Session ID for HTTP transport (optional, server may generate one)";
341
652
  };
342
- readonly args: {
653
+ readonly command_args: {
343
654
  readonly type: "array";
344
655
  readonly items: {
345
656
  readonly type: "string";
@@ -350,6 +661,114 @@ export declare const configSchema: {
350
661
  readonly type: "string";
351
662
  readonly description: "Working directory (for stdio transport in MCP checks)";
352
663
  };
664
+ readonly placeholder: {
665
+ readonly type: "string";
666
+ readonly description: "Placeholder text to show in input field";
667
+ };
668
+ readonly allow_empty: {
669
+ readonly type: "boolean";
670
+ readonly description: "Allow empty input (default: false)";
671
+ };
672
+ readonly multiline: {
673
+ readonly type: "boolean";
674
+ readonly description: "Support multiline input (default: false)";
675
+ };
676
+ readonly default: {
677
+ readonly type: "string";
678
+ readonly description: "Default value if timeout occurs or empty input when allow_empty is true";
679
+ };
680
+ readonly workflow: {
681
+ readonly type: "string";
682
+ readonly description: "Workflow ID or path to workflow file";
683
+ };
684
+ readonly args: {
685
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
686
+ readonly description: "Arguments/inputs for the workflow";
687
+ };
688
+ readonly overrides: {
689
+ readonly $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-40845%3E%3E";
690
+ readonly description: "Override specific step configurations in the workflow";
691
+ };
692
+ readonly output_mapping: {
693
+ readonly $ref: "#/definitions/Record%3Cstring%2Cstring%3E";
694
+ readonly description: "Map workflow outputs to check outputs";
695
+ };
696
+ readonly workflow_inputs: {
697
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
698
+ readonly description: "Alias for args - workflow inputs (backward compatibility)";
699
+ };
700
+ readonly config: {
701
+ readonly type: "string";
702
+ readonly description: "Config file path - alternative to workflow ID (loads a Visor config file as workflow)";
703
+ };
704
+ readonly workflow_overrides: {
705
+ readonly $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-40845%3E%3E";
706
+ readonly description: "Alias for overrides - workflow step overrides (backward compatibility)";
707
+ };
708
+ readonly ref: {
709
+ readonly type: "string";
710
+ readonly description: "Git reference to checkout (branch, tag, commit SHA) - supports templates";
711
+ };
712
+ readonly repository: {
713
+ readonly type: "string";
714
+ readonly description: "Repository URL or owner/repo format (defaults to current repository)";
715
+ };
716
+ readonly token: {
717
+ readonly type: "string";
718
+ readonly description: "GitHub token for private repositories (defaults to GITHUB_TOKEN env)";
719
+ };
720
+ readonly fetch_depth: {
721
+ readonly type: "number";
722
+ readonly description: "Number of commits to fetch (0 for full history, default: 1)";
723
+ };
724
+ readonly fetch_tags: {
725
+ readonly type: "boolean";
726
+ readonly description: "Whether to fetch tags (default: false)";
727
+ };
728
+ readonly submodules: {
729
+ readonly anyOf: readonly [{
730
+ readonly type: "boolean";
731
+ }, {
732
+ readonly type: "string";
733
+ readonly const: "recursive";
734
+ }];
735
+ readonly description: "Checkout submodules: false, true, or 'recursive'";
736
+ };
737
+ readonly working_directory: {
738
+ readonly type: "string";
739
+ readonly description: "Working directory for the checkout (defaults to temp directory)";
740
+ };
741
+ readonly use_worktree: {
742
+ readonly type: "boolean";
743
+ readonly description: "Use git worktree for efficient parallel checkouts (default: true)";
744
+ };
745
+ readonly clean: {
746
+ readonly type: "boolean";
747
+ readonly description: "Clean the working directory before checkout (default: true)";
748
+ };
749
+ readonly sparse_checkout: {
750
+ readonly type: "array";
751
+ readonly items: {
752
+ readonly type: "string";
753
+ };
754
+ readonly description: "Sparse checkout paths - only checkout specific directories/files";
755
+ };
756
+ readonly lfs: {
757
+ readonly type: "boolean";
758
+ readonly description: "Enable Git LFS (Large File Storage)";
759
+ };
760
+ readonly clone_timeout_ms: {
761
+ readonly type: "number";
762
+ readonly description: "Timeout in ms for cloning the bare repository (default: 300000 = 5 min)";
763
+ };
764
+ readonly cleanup_on_failure: {
765
+ readonly type: "boolean";
766
+ readonly description: "Clean up worktree on failure (default: true)";
767
+ };
768
+ readonly persist_worktree: {
769
+ readonly type: "boolean";
770
+ readonly description: "Keep worktree after workflow completion (default: false)";
771
+ };
353
772
  };
354
773
  readonly additionalProperties: false;
355
774
  readonly description: "Configuration for a single check";
@@ -359,26 +778,213 @@ export declare const configSchema: {
359
778
  };
360
779
  readonly ConfigCheckType: {
361
780
  readonly type: "string";
362
- readonly enum: readonly ["ai", "command", "http", "http_input", "http_client", "noop", "log", "memory", "github", "claude-code", "mcp", "human-input"];
781
+ readonly enum: readonly ["ai", "command", "script", "http", "http_input", "http_client", "noop", "log", "memory", "github", "claude-code", "mcp", "human-input", "workflow", "git-checkout"];
363
782
  readonly description: "Valid check types in configuration";
364
783
  };
365
- readonly 'Record<string,string>': {
784
+ readonly EventTrigger: {
785
+ readonly type: "string";
786
+ readonly enum: readonly ["pr_opened", "pr_updated", "pr_closed", "issue_opened", "issue_comment", "manual", "schedule", "webhook_received"];
787
+ readonly description: "Valid event triggers for checks";
788
+ };
789
+ readonly AIProviderConfig: {
790
+ readonly type: "object";
791
+ readonly properties: {
792
+ readonly provider: {
793
+ readonly type: "string";
794
+ readonly enum: readonly ["google", "anthropic", "openai", "bedrock", "mock"];
795
+ readonly description: "AI provider to use";
796
+ };
797
+ readonly model: {
798
+ readonly type: "string";
799
+ readonly description: "Model name to use";
800
+ };
801
+ readonly apiKey: {
802
+ readonly type: "string";
803
+ readonly description: "API key (usually from environment variables)";
804
+ };
805
+ readonly timeout: {
806
+ readonly type: "number";
807
+ readonly description: "Request timeout in milliseconds";
808
+ };
809
+ readonly debug: {
810
+ readonly type: "boolean";
811
+ readonly description: "Enable debug mode";
812
+ };
813
+ readonly prompt_type: {
814
+ readonly type: "string";
815
+ readonly description: "Probe promptType to use (e.g., engineer, code-review, architect)";
816
+ };
817
+ readonly system_prompt: {
818
+ readonly type: "string";
819
+ readonly description: "System prompt (baseline preamble). Replaces legacy custom_prompt.";
820
+ };
821
+ readonly custom_prompt: {
822
+ readonly type: "string";
823
+ readonly description: "Probe customPrompt (baseline/system prompt) — deprecated, use system_prompt";
824
+ };
825
+ readonly skip_code_context: {
826
+ readonly type: "boolean";
827
+ readonly description: "Skip adding code context (diffs, files, PR info) to the prompt";
828
+ };
829
+ readonly skip_slack_context: {
830
+ readonly type: "boolean";
831
+ readonly description: "Skip adding Slack conversation context to the prompt (when running under Slack)";
832
+ };
833
+ readonly skip_transport_context: {
834
+ readonly type: "boolean";
835
+ readonly description: "Skip adding transport-specific context (e.g., GitHub PR/issue XML, Slack conversation XML) to the prompt. When true, this behaves like setting both skip_code_context and skip_slack_context to true, unless those are explicitly overridden.";
836
+ };
837
+ readonly mcpServers: {
838
+ readonly $ref: "#/definitions/Record%3Cstring%2CMcpServerConfig%3E";
839
+ readonly description: "MCP servers configuration";
840
+ };
841
+ readonly enableDelegate: {
842
+ readonly type: "boolean";
843
+ readonly description: "Enable the delegate tool for task distribution to subagents";
844
+ };
845
+ readonly retry: {
846
+ readonly $ref: "#/definitions/AIRetryConfig";
847
+ readonly description: "Retry configuration for this provider";
848
+ };
849
+ readonly fallback: {
850
+ readonly $ref: "#/definitions/AIFallbackConfig";
851
+ readonly description: "Fallback configuration for provider failures";
852
+ };
853
+ readonly allowEdit: {
854
+ readonly type: "boolean";
855
+ readonly description: "Enable Edit and Create tools for file modification (disabled by default for security)";
856
+ };
857
+ readonly allowedTools: {
858
+ readonly type: "array";
859
+ readonly items: {
860
+ readonly type: "string";
861
+ };
862
+ readonly description: "Filter allowed tools - supports whitelist, exclusion (!prefix), or raw AI mode (empty array)";
863
+ };
864
+ readonly disableTools: {
865
+ readonly type: "boolean";
866
+ readonly description: "Disable all tools for raw AI mode (alternative to allowedTools: [])";
867
+ };
868
+ readonly allowBash: {
869
+ readonly type: "boolean";
870
+ readonly description: "Enable bash command execution (shorthand for bashConfig.enabled)";
871
+ };
872
+ readonly bashConfig: {
873
+ readonly $ref: "#/definitions/BashConfig";
874
+ readonly description: "Advanced bash command execution configuration";
875
+ };
876
+ readonly completion_prompt: {
877
+ readonly type: "string";
878
+ readonly description: "Completion prompt for post-completion validation/review (runs after attempt_completion)";
879
+ };
880
+ };
881
+ readonly additionalProperties: false;
882
+ readonly description: "AI provider configuration";
883
+ readonly patternProperties: {
884
+ readonly '^x-': {};
885
+ };
886
+ };
887
+ readonly 'Record<string,McpServerConfig>': {
366
888
  readonly type: "object";
367
889
  readonly additionalProperties: {
368
- readonly type: "string";
890
+ readonly $ref: "#/definitions/McpServerConfig";
891
+ };
892
+ };
893
+ readonly McpServerConfig: {
894
+ readonly type: "object";
895
+ readonly properties: {
896
+ readonly command: {
897
+ readonly type: "string";
898
+ readonly description: "Command to execute for the MCP server";
899
+ };
900
+ readonly args: {
901
+ readonly type: "array";
902
+ readonly items: {
903
+ readonly type: "string";
904
+ };
905
+ readonly description: "Arguments to pass to the command";
906
+ };
907
+ readonly env: {
908
+ readonly $ref: "#/definitions/Record%3Cstring%2Cstring%3E";
909
+ readonly description: "Environment variables for the MCP server";
910
+ };
911
+ };
912
+ readonly required: readonly ["command"];
913
+ readonly additionalProperties: false;
914
+ readonly description: "MCP Server configuration";
915
+ readonly patternProperties: {
916
+ readonly '^x-': {};
917
+ };
918
+ };
919
+ readonly AIRetryConfig: {
920
+ readonly type: "object";
921
+ readonly properties: {
922
+ readonly maxRetries: {
923
+ readonly type: "number";
924
+ readonly description: "Maximum retry attempts (0-50)";
925
+ };
926
+ readonly initialDelay: {
927
+ readonly type: "number";
928
+ readonly description: "Initial delay in milliseconds (0-60000)";
929
+ };
930
+ readonly maxDelay: {
931
+ readonly type: "number";
932
+ readonly description: "Maximum delay cap in milliseconds (0-300000)";
933
+ };
934
+ readonly backoffFactor: {
935
+ readonly type: "number";
936
+ readonly description: "Exponential backoff multiplier (1-10)";
937
+ };
938
+ readonly retryableErrors: {
939
+ readonly type: "array";
940
+ readonly items: {
941
+ readonly type: "string";
942
+ };
943
+ readonly description: "Custom error patterns to retry on";
944
+ };
945
+ };
946
+ readonly additionalProperties: false;
947
+ readonly description: "Retry configuration for AI provider calls";
948
+ readonly patternProperties: {
949
+ readonly '^x-': {};
950
+ };
951
+ };
952
+ readonly AIFallbackConfig: {
953
+ readonly type: "object";
954
+ readonly properties: {
955
+ readonly strategy: {
956
+ readonly type: "string";
957
+ readonly enum: readonly ["same-model", "same-provider", "any", "custom"];
958
+ readonly description: "Fallback strategy: 'same-model', 'same-provider', 'any', or 'custom'";
959
+ };
960
+ readonly providers: {
961
+ readonly type: "array";
962
+ readonly items: {
963
+ readonly $ref: "#/definitions/AIFallbackProviderConfig";
964
+ };
965
+ readonly description: "Array of fallback provider configurations";
966
+ };
967
+ readonly maxTotalAttempts: {
968
+ readonly type: "number";
969
+ readonly description: "Maximum total attempts across all providers";
970
+ };
971
+ readonly auto: {
972
+ readonly type: "boolean";
973
+ readonly description: "Enable automatic fallback using available environment variables";
974
+ };
975
+ };
976
+ readonly additionalProperties: false;
977
+ readonly description: "Fallback configuration for AI providers";
978
+ readonly patternProperties: {
979
+ readonly '^x-': {};
369
980
  };
370
981
  };
371
- readonly EventTrigger: {
372
- readonly type: "string";
373
- readonly enum: readonly ["pr_opened", "pr_updated", "pr_closed", "issue_opened", "issue_comment", "manual", "schedule", "webhook_received"];
374
- readonly description: "Valid event triggers for checks";
375
- };
376
- readonly AIProviderConfig: {
982
+ readonly AIFallbackProviderConfig: {
377
983
  readonly type: "object";
378
984
  readonly properties: {
379
985
  readonly provider: {
380
986
  readonly type: "string";
381
- readonly enum: readonly ["google", "anthropic", "openai", "bedrock", "mock"];
987
+ readonly enum: readonly ["google", "anthropic", "openai", "bedrock"];
382
988
  readonly description: "AI provider to use";
383
989
  };
384
990
  readonly model: {
@@ -387,55 +993,68 @@ export declare const configSchema: {
387
993
  };
388
994
  readonly apiKey: {
389
995
  readonly type: "string";
390
- readonly description: "API key (usually from environment variables)";
996
+ readonly description: "API key for this provider";
391
997
  };
392
- readonly timeout: {
998
+ readonly maxRetries: {
393
999
  readonly type: "number";
394
- readonly description: "Request timeout in milliseconds";
1000
+ readonly description: "Per-provider retry override";
395
1001
  };
396
- readonly debug: {
397
- readonly type: "boolean";
398
- readonly description: "Enable debug mode";
1002
+ readonly region: {
1003
+ readonly type: "string";
1004
+ readonly description: "AWS region (for Bedrock)";
399
1005
  };
400
- readonly mcpServers: {
401
- readonly $ref: "#/definitions/Record%3Cstring%2CMcpServerConfig%3E";
402
- readonly description: "MCP servers configuration";
1006
+ readonly accessKeyId: {
1007
+ readonly type: "string";
1008
+ readonly description: "AWS access key ID (for Bedrock)";
1009
+ };
1010
+ readonly secretAccessKey: {
1011
+ readonly type: "string";
1012
+ readonly description: "AWS secret access key (for Bedrock)";
403
1013
  };
404
1014
  };
1015
+ readonly required: readonly ["provider", "model"];
405
1016
  readonly additionalProperties: false;
406
- readonly description: "AI provider configuration";
1017
+ readonly description: "Fallback provider configuration";
407
1018
  readonly patternProperties: {
408
1019
  readonly '^x-': {};
409
1020
  };
410
1021
  };
411
- readonly 'Record<string,McpServerConfig>': {
412
- readonly type: "object";
413
- readonly additionalProperties: {
414
- readonly $ref: "#/definitions/McpServerConfig";
415
- };
416
- };
417
- readonly McpServerConfig: {
1022
+ readonly BashConfig: {
418
1023
  readonly type: "object";
419
1024
  readonly properties: {
420
- readonly command: {
421
- readonly type: "string";
422
- readonly description: "Command to execute for the MCP server";
1025
+ readonly allow: {
1026
+ readonly type: "array";
1027
+ readonly items: {
1028
+ readonly type: "string";
1029
+ };
1030
+ readonly description: "Array of permitted command patterns (e.g., ['ls', 'git status'])";
423
1031
  };
424
- readonly args: {
1032
+ readonly deny: {
425
1033
  readonly type: "array";
426
1034
  readonly items: {
427
1035
  readonly type: "string";
428
1036
  };
429
- readonly description: "Arguments to pass to the command";
1037
+ readonly description: "Array of blocked command patterns (e.g., ['rm -rf', 'sudo'])";
430
1038
  };
431
- readonly env: {
432
- readonly $ref: "#/definitions/Record%3Cstring%2Cstring%3E";
433
- readonly description: "Environment variables for the MCP server";
1039
+ readonly noDefaultAllow: {
1040
+ readonly type: "boolean";
1041
+ readonly description: "Disable default safe command list (use with caution)";
1042
+ };
1043
+ readonly noDefaultDeny: {
1044
+ readonly type: "boolean";
1045
+ readonly description: "Disable default dangerous command blocklist (use with extreme caution)";
1046
+ };
1047
+ readonly timeout: {
1048
+ readonly type: "number";
1049
+ readonly description: "Execution timeout in milliseconds";
1050
+ };
1051
+ readonly workingDirectory: {
1052
+ readonly type: "string";
1053
+ readonly description: "Default working directory for command execution";
434
1054
  };
435
1055
  };
436
- readonly required: readonly ["command"];
437
1056
  readonly additionalProperties: false;
438
- readonly description: "MCP Server configuration";
1057
+ readonly description: "Bash command execution configuration for ProbeAgent Note: Use 'allowBash: true' in AIProviderConfig to enable bash execution";
439
1058
  readonly patternProperties: {
440
1059
  readonly '^x-': {};
441
1060
  };
@@ -466,6 +1085,10 @@ export declare const configSchema: {
466
1085
  readonly type: "string";
467
1086
  readonly description: "Path to subagent script";
468
1087
  };
1088
+ readonly enableDelegate: {
1089
+ readonly type: "boolean";
1090
+ readonly description: "Enable the delegate tool for task distribution to subagents";
1091
+ };
469
1092
  readonly hooks: {
470
1093
  readonly type: "object";
471
1094
  readonly properties: {
@@ -502,10 +1125,6 @@ export declare const configSchema: {
502
1125
  };
503
1126
  readonly description: "Environment variable reference configuration";
504
1127
  };
505
- readonly 'Record<string,unknown>': {
506
- readonly type: "object";
507
- readonly additionalProperties: {};
508
- };
509
1128
  readonly CustomTemplateConfig: {
510
1129
  readonly type: "object";
511
1130
  readonly properties: {
@@ -575,6 +1194,156 @@ export declare const configSchema: {
575
1194
  readonly enum: readonly ["error", "warning", "info"];
576
1195
  readonly description: "Failure condition severity levels";
577
1196
  };
1197
+ readonly OnInitConfig: {
1198
+ readonly type: "object";
1199
+ readonly properties: {
1200
+ readonly run: {
1201
+ readonly type: "array";
1202
+ readonly items: {
1203
+ readonly $ref: "#/definitions/OnInitRunItem";
1204
+ };
1205
+ readonly description: "Items to run before this check executes";
1206
+ };
1207
+ readonly run_js: {
1208
+ readonly type: "string";
1209
+ readonly description: "Dynamic init items: JS expression returning OnInitRunItem[]";
1210
+ };
1211
+ readonly transitions: {
1212
+ readonly type: "array";
1213
+ readonly items: {
1214
+ readonly $ref: "#/definitions/TransitionRule";
1215
+ };
1216
+ readonly description: "Declarative transitions (optional, for advanced use cases)";
1217
+ };
1218
+ };
1219
+ readonly additionalProperties: false;
1220
+ readonly description: "Init routing configuration per check Runs BEFORE the check executes (preprocessing/setup)";
1221
+ readonly patternProperties: {
1222
+ readonly '^x-': {};
1223
+ };
1224
+ };
1225
+ readonly OnInitRunItem: {
1226
+ readonly anyOf: readonly [{
1227
+ readonly $ref: "#/definitions/OnInitToolInvocation";
1228
+ }, {
1229
+ readonly $ref: "#/definitions/OnInitStepInvocation";
1230
+ }, {
1231
+ readonly $ref: "#/definitions/OnInitWorkflowInvocation";
1232
+ }, {
1233
+ readonly type: "string";
1234
+ }];
1235
+ readonly description: "Unified on_init run item - can be tool, step, workflow, or plain string";
1236
+ };
1237
+ readonly OnInitToolInvocation: {
1238
+ readonly type: "object";
1239
+ readonly properties: {
1240
+ readonly tool: {
1241
+ readonly type: "string";
1242
+ readonly description: "Tool name (must exist in tools: section)";
1243
+ };
1244
+ readonly with: {
1245
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
1246
+ readonly description: "Arguments to pass to the tool (Liquid templates supported)";
1247
+ };
1248
+ readonly as: {
1249
+ readonly type: "string";
1250
+ readonly description: "Custom output name (defaults to tool name)";
1251
+ };
1252
+ };
1253
+ readonly required: readonly ["tool"];
1254
+ readonly additionalProperties: false;
1255
+ readonly description: "Invoke a custom tool (from tools: section)";
1256
+ readonly patternProperties: {
1257
+ readonly '^x-': {};
1258
+ };
1259
+ };
1260
+ readonly OnInitStepInvocation: {
1261
+ readonly type: "object";
1262
+ readonly properties: {
1263
+ readonly step: {
1264
+ readonly type: "string";
1265
+ readonly description: "Step name (must exist in steps: section)";
1266
+ };
1267
+ readonly with: {
1268
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
1269
+ readonly description: "Arguments to pass to the step (Liquid templates supported)";
1270
+ };
1271
+ readonly as: {
1272
+ readonly type: "string";
1273
+ readonly description: "Custom output name (defaults to step name)";
1274
+ };
1275
+ };
1276
+ readonly required: readonly ["step"];
1277
+ readonly additionalProperties: false;
1278
+ readonly description: "Invoke a helper step (regular check)";
1279
+ readonly patternProperties: {
1280
+ readonly '^x-': {};
1281
+ };
1282
+ };
1283
+ readonly OnInitWorkflowInvocation: {
1284
+ readonly type: "object";
1285
+ readonly properties: {
1286
+ readonly workflow: {
1287
+ readonly type: "string";
1288
+ readonly description: "Workflow ID or path";
1289
+ };
1290
+ readonly with: {
1291
+ readonly $ref: "#/definitions/Record%3Cstring%2Cunknown%3E";
1292
+ readonly description: "Workflow inputs (Liquid templates supported)";
1293
+ };
1294
+ readonly as: {
1295
+ readonly type: "string";
1296
+ readonly description: "Custom output name (defaults to workflow name)";
1297
+ };
1298
+ readonly overrides: {
1299
+ readonly $ref: "#/definitions/Record%3Cstring%2CPartial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-40845%3E%3E";
1300
+ readonly description: "Step overrides";
1301
+ };
1302
+ readonly output_mapping: {
1303
+ readonly $ref: "#/definitions/Record%3Cstring%2Cstring%3E";
1304
+ readonly description: "Output mapping";
1305
+ };
1306
+ };
1307
+ readonly required: readonly ["workflow"];
1308
+ readonly additionalProperties: false;
1309
+ readonly description: "Invoke a reusable workflow";
1310
+ readonly patternProperties: {
1311
+ readonly '^x-': {};
1312
+ };
1313
+ };
1314
+ readonly 'Record<string,Partial<interface-src_types_config.ts-11359-23556-src_types_config.ts-0-40845>>': {
1315
+ readonly type: "object";
1316
+ readonly additionalProperties: {
1317
+ readonly $ref: "#/definitions/Partial%3Cinterface-src_types_config.ts-11359-23556-src_types_config.ts-0-40845%3E";
1318
+ };
1319
+ };
1320
+ readonly 'Partial<interface-src_types_config.ts-11359-23556-src_types_config.ts-0-40845>': {
1321
+ readonly type: "object";
1322
+ readonly additionalProperties: false;
1323
+ };
1324
+ readonly TransitionRule: {
1325
+ readonly type: "object";
1326
+ readonly properties: {
1327
+ readonly when: {
1328
+ readonly type: "string";
1329
+ readonly description: "JavaScript expression evaluated in the same sandbox as goto_js; truthy enables the rule.";
1330
+ };
1331
+ readonly to: {
1332
+ readonly type: readonly ["string", "null"];
1333
+ readonly description: "Target step ID, or null to explicitly prevent goto.";
1334
+ };
1335
+ readonly goto_event: {
1336
+ readonly $ref: "#/definitions/EventTrigger";
1337
+ readonly description: "Optional event override when performing goto.";
1338
+ };
1339
+ };
1340
+ readonly required: readonly ["when"];
1341
+ readonly additionalProperties: false;
1342
+ readonly description: "Declarative transition rule for on_* blocks.";
1343
+ readonly patternProperties: {
1344
+ readonly '^x-': {};
1345
+ };
1346
+ };
578
1347
  readonly OnFailConfig: {
579
1348
  readonly type: "object";
580
1349
  readonly properties: {
@@ -605,6 +1374,13 @@ export declare const configSchema: {
605
1374
  readonly type: "string";
606
1375
  readonly description: "Dynamic remediation list: JS expression returning string[]";
607
1376
  };
1377
+ readonly transitions: {
1378
+ readonly type: "array";
1379
+ readonly items: {
1380
+ readonly $ref: "#/definitions/TransitionRule";
1381
+ };
1382
+ readonly description: "Declarative transitions. Evaluated in order; first matching rule wins. If a rule's `to` is null, no goto occurs. When omitted or none match, the engine falls back to goto_js/goto for backward compatibility.";
1383
+ };
608
1384
  };
609
1385
  readonly additionalProperties: false;
610
1386
  readonly description: "Failure routing configuration per check";
@@ -675,6 +1451,13 @@ export declare const configSchema: {
675
1451
  readonly type: "string";
676
1452
  readonly description: "Dynamic post-success steps: JS expression returning string[]";
677
1453
  };
1454
+ readonly transitions: {
1455
+ readonly type: "array";
1456
+ readonly items: {
1457
+ readonly $ref: "#/definitions/TransitionRule";
1458
+ };
1459
+ readonly description: "Declarative transitions (see OnFailConfig.transitions).";
1460
+ };
678
1461
  };
679
1462
  readonly additionalProperties: false;
680
1463
  readonly description: "Success routing configuration per check";
@@ -682,6 +1465,46 @@ export declare const configSchema: {
682
1465
  readonly '^x-': {};
683
1466
  };
684
1467
  };
1468
+ readonly OnFinishConfig: {
1469
+ readonly type: "object";
1470
+ readonly properties: {
1471
+ readonly run: {
1472
+ readonly type: "array";
1473
+ readonly items: {
1474
+ readonly type: "string";
1475
+ };
1476
+ readonly description: "Post-finish steps to run";
1477
+ };
1478
+ readonly goto: {
1479
+ readonly type: "string";
1480
+ readonly description: "Optional jump back to ancestor step (by id)";
1481
+ };
1482
+ readonly goto_event: {
1483
+ readonly $ref: "#/definitions/EventTrigger";
1484
+ readonly description: "Simulate a different event when performing goto (e.g., 'pr_updated')";
1485
+ };
1486
+ readonly goto_js: {
1487
+ readonly type: "string";
1488
+ readonly description: "Dynamic goto: JS expression returning step id or null";
1489
+ };
1490
+ readonly run_js: {
1491
+ readonly type: "string";
1492
+ readonly description: "Dynamic post-finish steps: JS expression returning string[]";
1493
+ };
1494
+ readonly transitions: {
1495
+ readonly type: "array";
1496
+ readonly items: {
1497
+ readonly $ref: "#/definitions/TransitionRule";
1498
+ };
1499
+ readonly description: "Declarative transitions (see OnFailConfig.transitions).";
1500
+ };
1501
+ };
1502
+ readonly additionalProperties: false;
1503
+ readonly description: "Finish routing configuration for forEach checks Runs once after ALL iterations of forEach and ALL dependent checks complete";
1504
+ readonly patternProperties: {
1505
+ readonly '^x-': {};
1506
+ };
1507
+ };
685
1508
  readonly OutputConfig: {
686
1509
  readonly type: "object";
687
1510
  readonly properties: {
@@ -712,6 +1535,10 @@ export declare const configSchema: {
712
1535
  readonly PrCommentOutput: {
713
1536
  readonly type: "object";
714
1537
  readonly properties: {
1538
+ readonly enabled: {
1539
+ readonly type: "boolean";
1540
+ readonly description: "Whether PR comments are enabled";
1541
+ };
715
1542
  readonly format: {
716
1543
  readonly $ref: "#/definitions/ConfigOutputFormat";
717
1544
  readonly description: "Format of the output";
@@ -1026,6 +1853,89 @@ export declare const configSchema: {
1026
1853
  readonly '^x-': {};
1027
1854
  };
1028
1855
  };
1856
+ readonly LimitsConfig: {
1857
+ readonly type: "object";
1858
+ readonly properties: {
1859
+ readonly max_runs_per_check: {
1860
+ readonly type: "number";
1861
+ readonly description: "Maximum number of executions per check within a single engine run. Applies to each distinct scope independently for forEach item executions. Set to 0 or negative to disable. Default: 50.";
1862
+ };
1863
+ readonly max_workflow_depth: {
1864
+ readonly type: "number";
1865
+ readonly description: "Maximum nesting depth for workflows executed by the state machine engine. Nested workflows are invoked by the workflow provider; this limit prevents accidental infinite recursion. Default: 3.";
1866
+ };
1867
+ };
1868
+ readonly additionalProperties: false;
1869
+ readonly description: "Global engine limits";
1870
+ readonly patternProperties: {
1871
+ readonly '^x-': {};
1872
+ };
1873
+ };
1874
+ readonly WorkspaceConfig: {
1875
+ readonly type: "object";
1876
+ readonly properties: {
1877
+ readonly enabled: {
1878
+ readonly type: "boolean";
1879
+ readonly description: "Enable workspace isolation (default: true when config present)";
1880
+ };
1881
+ readonly base_path: {
1882
+ readonly type: "string";
1883
+ readonly description: "Base path for workspaces (default: /tmp/visor-workspaces)";
1884
+ };
1885
+ readonly cleanup_on_exit: {
1886
+ readonly type: "boolean";
1887
+ readonly description: "Clean up workspace on exit (default: true)";
1888
+ };
1889
+ };
1890
+ readonly additionalProperties: false;
1891
+ readonly description: "Workspace isolation configuration";
1892
+ readonly patternProperties: {
1893
+ readonly '^x-': {};
1894
+ };
1895
+ };
1896
+ readonly SlackConfig: {
1897
+ readonly type: "object";
1898
+ readonly properties: {
1899
+ readonly version: {
1900
+ readonly type: "string";
1901
+ readonly description: "Slack API version";
1902
+ };
1903
+ readonly mentions: {
1904
+ readonly type: "string";
1905
+ readonly description: "Mention handling: 'all', 'direct', etc.";
1906
+ };
1907
+ readonly threads: {
1908
+ readonly type: "string";
1909
+ readonly description: "Thread handling: 'required', 'optional', etc.";
1910
+ };
1911
+ readonly show_raw_output: {
1912
+ readonly type: "boolean";
1913
+ readonly description: "Show raw output in Slack responses";
1914
+ };
1915
+ readonly telemetry: {
1916
+ readonly $ref: "#/definitions/SlackTelemetryConfig";
1917
+ readonly description: "Append telemetry identifiers to Slack replies.";
1918
+ };
1919
+ };
1920
+ readonly additionalProperties: false;
1921
+ readonly description: "Slack configuration";
1922
+ readonly patternProperties: {
1923
+ readonly '^x-': {};
1924
+ };
1925
+ };
1926
+ readonly SlackTelemetryConfig: {
1927
+ readonly type: "object";
1928
+ readonly properties: {
1929
+ readonly enabled: {
1930
+ readonly type: "boolean";
1931
+ readonly description: "Enable telemetry ID suffix in Slack messages";
1932
+ };
1933
+ };
1934
+ readonly additionalProperties: false;
1935
+ readonly patternProperties: {
1936
+ readonly '^x-': {};
1937
+ };
1938
+ };
1029
1939
  };
1030
1940
  };
1031
1941
  export default configSchema;