@probelabs/visor 0.1.123 → 0.1.125

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 (166) hide show
  1. package/dist/ai-review-service.d.ts.map +1 -1
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/docs/DEPLOYMENT.md +117 -11
  4. package/dist/docs/GITHUB_CHECKS.md +18 -4
  5. package/dist/docs/NPM_USAGE.md +112 -39
  6. package/dist/docs/action-reference.md +63 -9
  7. package/dist/docs/advanced-ai.md +58 -51
  8. package/dist/docs/ai-configuration.md +99 -11
  9. package/dist/docs/ai-custom-tools-usage.md +70 -33
  10. package/dist/docs/ai-custom-tools.md +50 -27
  11. package/dist/docs/architecture.md +1232 -0
  12. package/dist/docs/bot-transports-rfc.md +13 -3
  13. package/dist/docs/ci-cli-mode.md +116 -8
  14. package/dist/docs/claude-code.md +111 -41
  15. package/dist/docs/command-provider.md +37 -15
  16. package/dist/docs/commands.md +252 -6
  17. package/dist/docs/configuration.md +138 -4
  18. package/dist/docs/contributing.md +737 -0
  19. package/dist/docs/custom-tools.md +39 -8
  20. package/dist/docs/dashboards/README.md +33 -19
  21. package/dist/docs/debug-visualizer-progress.md +14 -13
  22. package/dist/docs/debug-visualizer-rfc.md +14 -13
  23. package/dist/docs/debug-visualizer.md +30 -5
  24. package/dist/docs/debugging.md +73 -8
  25. package/dist/docs/default-output-schema.md +24 -20
  26. package/dist/docs/dependencies.md +75 -21
  27. package/dist/docs/dev-playbook.md +85 -9
  28. package/dist/docs/engine-pause-resume-rfc.md +11 -11
  29. package/dist/docs/engine-state-machine-plan.md +10 -3
  30. package/dist/docs/event-driven-github-integration-rfc.md +20 -11
  31. package/dist/docs/event-triggers.md +95 -6
  32. package/dist/docs/execution-statistics-rfc.md +16 -4
  33. package/dist/docs/fact-validator-gap-analysis.md +12 -1
  34. package/dist/docs/fact-validator-implementation-plan.md +19 -11
  35. package/dist/docs/fail-if.md +116 -11
  36. package/dist/docs/failure-conditions-implementation.md +40 -6
  37. package/dist/docs/failure-conditions-schema.md +243 -87
  38. package/dist/docs/failure-routing-rfc.md +43 -18
  39. package/dist/docs/failure-routing.md +80 -23
  40. package/dist/docs/faq.md +836 -0
  41. package/dist/docs/foreach-dependency-propagation.md +32 -15
  42. package/dist/docs/github-ops.md +6 -5
  43. package/dist/docs/glossary.md +322 -0
  44. package/dist/docs/goto-forward-run-plan.md +23 -10
  45. package/dist/docs/guides/criticality-modes.md +15 -13
  46. package/dist/docs/guides/fault-management-and-contracts.md +8 -5
  47. package/dist/docs/guides/workflow-style-guide.md +17 -8
  48. package/dist/docs/http.md +102 -3
  49. package/dist/docs/human-input-provider.md +20 -36
  50. package/dist/docs/index.md +206 -0
  51. package/dist/docs/lifecycle-hooks.md +322 -2
  52. package/dist/docs/limits.md +20 -5
  53. package/dist/docs/liquid-templates.md +86 -14
  54. package/dist/docs/loop-routing-refactor.md +4 -2
  55. package/dist/docs/mcp-provider.md +53 -19
  56. package/dist/docs/mcp.md +27 -1
  57. package/dist/docs/memory.md +7 -2
  58. package/dist/docs/migration.md +596 -0
  59. package/dist/docs/observability.md +227 -6
  60. package/dist/docs/output-formats.md +388 -9
  61. package/dist/docs/output-history.md +36 -6
  62. package/dist/docs/performance.md +510 -4
  63. package/dist/docs/pluggable.md +95 -4
  64. package/dist/docs/proposals/snapshot-scope-execution.md +6 -5
  65. package/dist/docs/providers/git-checkout.md +16 -14
  66. package/dist/docs/providers/noop.md +696 -0
  67. package/dist/docs/recipes.md +8 -9
  68. package/dist/docs/rfc/git-checkout-step.md +3 -1
  69. package/dist/docs/rfc/on_init-hook.md +18 -5
  70. package/dist/docs/rfc/workspace-isolation.md +18 -0
  71. package/dist/docs/roadmap/criticality-implementation-tasks.md +27 -27
  72. package/dist/docs/router-patterns.md +155 -43
  73. package/dist/docs/schema-templates.md +51 -15
  74. package/dist/docs/script.md +162 -13
  75. package/dist/docs/sdk.md +46 -12
  76. package/dist/docs/security.md +464 -5
  77. package/dist/docs/slack-integration.md +475 -0
  78. package/dist/docs/tag-filtering.md +60 -20
  79. package/dist/docs/telemetry-setup.md +157 -46
  80. package/dist/docs/test-framework-rfc.md +37 -36
  81. package/dist/docs/testing/assertions.md +92 -4
  82. package/dist/docs/testing/ci.md +56 -7
  83. package/dist/docs/testing/cli.md +57 -15
  84. package/dist/docs/testing/cookbook.md +53 -20
  85. package/dist/docs/testing/dsl-reference.md +110 -9
  86. package/dist/docs/testing/fixtures-and-mocks.md +28 -3
  87. package/dist/docs/testing/flows.md +59 -4
  88. package/dist/docs/testing/getting-started.md +14 -13
  89. package/dist/docs/testing/troubleshooting.md +39 -2
  90. package/dist/docs/timeouts.md +174 -18
  91. package/dist/docs/troubleshooting.md +176 -6
  92. package/dist/docs/workflow-creation-guide.md +101 -3
  93. package/dist/docs/workflows.md +138 -41
  94. package/dist/examples/README.md +169 -4
  95. package/dist/examples/ai-custom-tools-simple.yaml +2 -3
  96. package/dist/examples/cron-webhook-config.yaml +15 -0
  97. package/dist/examples/forEach-example.yaml +6 -0
  98. package/dist/examples/git-checkout-basic.yaml +4 -0
  99. package/dist/examples/git-checkout-compare.yaml +6 -0
  100. package/dist/examples/git-checkout-cross-repo.yaml +7 -0
  101. package/dist/examples/http-integration-config.yaml +30 -0
  102. package/dist/examples/https-server-config.yaml +15 -0
  103. package/dist/examples/mcp-provider-example.yaml +10 -10
  104. package/dist/examples/transform-example.yaml +3 -0
  105. package/dist/examples/webhook-pipeline-config.yaml +18 -0
  106. package/dist/examples/workflows/workflow-composition-example.yaml +4 -0
  107. package/dist/generated/config-schema.d.ts +11 -7
  108. package/dist/generated/config-schema.d.ts.map +1 -1
  109. package/dist/generated/config-schema.json +11 -7
  110. package/dist/index.js +9986 -7114
  111. package/dist/output/traces/{run-2026-01-28T14-49-27-275Z.ndjson → run-2026-01-30T09-25-36-981Z.ndjson} +84 -84
  112. package/dist/output/traces/{run-2026-01-28T14-50-11-230Z.ndjson → run-2026-01-30T09-26-20-969Z.ndjson} +1020 -1020
  113. package/dist/providers/ai-check-provider.d.ts +9 -2
  114. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  115. package/dist/providers/command-check-provider.d.ts.map +1 -1
  116. package/dist/providers/mcp-custom-sse-server.d.ts +17 -1
  117. package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
  118. package/dist/providers/workflow-check-provider.d.ts.map +1 -1
  119. package/dist/providers/workflow-tool-executor.d.ts +68 -0
  120. package/dist/providers/workflow-tool-executor.d.ts.map +1 -0
  121. package/dist/sdk/{check-provider-registry-JMNLGIMJ.mjs → check-provider-registry-3KI5RKXT.mjs} +6 -5
  122. package/dist/sdk/{chunk-VPEQOQ7G.mjs → chunk-A4PGHURG.mjs} +6863 -6277
  123. package/dist/sdk/chunk-A4PGHURG.mjs.map +1 -0
  124. package/dist/sdk/chunk-EXFGO4FX.mjs +147 -0
  125. package/dist/sdk/chunk-EXFGO4FX.mjs.map +1 -0
  126. package/dist/sdk/{chunk-35NT3725.mjs → chunk-PXFIALUH.mjs} +78 -11
  127. package/dist/sdk/chunk-PXFIALUH.mjs.map +1 -0
  128. package/dist/sdk/{chunk-CUNPH6TR.mjs → chunk-RTKJXNZS.mjs} +36 -9
  129. package/dist/sdk/chunk-RTKJXNZS.mjs.map +1 -0
  130. package/dist/sdk/{config-MK4XTU45.mjs → config-6CUVEH7H.mjs} +2 -2
  131. package/dist/sdk/{github-frontend-6Q4BISZX.mjs → github-frontend-BZ4N3BFZ.mjs} +7 -3
  132. package/dist/sdk/github-frontend-BZ4N3BFZ.mjs.map +1 -0
  133. package/dist/sdk/{host-P5NQICP7.mjs → host-NYWXLIFC.mjs} +2 -2
  134. package/dist/sdk/{routing-KZ345OFG.mjs → routing-7FXPULTO.mjs} +2 -2
  135. package/dist/sdk/sdk.d.mts +3 -1
  136. package/dist/sdk/sdk.d.ts +3 -1
  137. package/dist/sdk/sdk.js +12109 -11294
  138. package/dist/sdk/sdk.js.map +1 -1
  139. package/dist/sdk/sdk.mjs +13 -9
  140. package/dist/sdk/sdk.mjs.map +1 -1
  141. package/dist/sdk/workflow-check-provider-YUNNF4KC.mjs +28 -0
  142. package/dist/sdk/workflow-check-provider-YUNNF4KC.mjs.map +1 -0
  143. package/dist/state-machine/context/workflow-inputs.d.ts +20 -0
  144. package/dist/state-machine/context/workflow-inputs.d.ts.map +1 -0
  145. package/dist/state-machine/dispatch/execution-invoker.d.ts.map +1 -1
  146. package/dist/state-machine/dispatch/foreach-processor.d.ts.map +1 -1
  147. package/dist/state-machine/states/level-dispatch.d.ts.map +1 -1
  148. package/dist/state-machine/states/routing.d.ts +2 -1
  149. package/dist/state-machine/states/routing.d.ts.map +1 -1
  150. package/dist/traces/{run-2026-01-28T14-49-27-275Z.ndjson → run-2026-01-30T09-25-36-981Z.ndjson} +84 -84
  151. package/dist/traces/{run-2026-01-28T14-50-11-230Z.ndjson → run-2026-01-30T09-26-20-969Z.ndjson} +1020 -1020
  152. package/dist/types/config.d.ts +3 -1
  153. package/dist/types/config.d.ts.map +1 -1
  154. package/dist/utils/human-id.d.ts +12 -0
  155. package/dist/utils/human-id.d.ts.map +1 -0
  156. package/dist/utils/worktree-manager.d.ts +3 -0
  157. package/dist/utils/worktree-manager.d.ts.map +1 -1
  158. package/package.json +2 -2
  159. package/dist/sdk/chunk-35NT3725.mjs.map +0 -1
  160. package/dist/sdk/chunk-CUNPH6TR.mjs.map +0 -1
  161. package/dist/sdk/chunk-VPEQOQ7G.mjs.map +0 -1
  162. package/dist/sdk/github-frontend-6Q4BISZX.mjs.map +0 -1
  163. /package/dist/sdk/{check-provider-registry-JMNLGIMJ.mjs.map → check-provider-registry-3KI5RKXT.mjs.map} +0 -0
  164. /package/dist/sdk/{config-MK4XTU45.mjs.map → config-6CUVEH7H.mjs.map} +0 -0
  165. /package/dist/sdk/{host-P5NQICP7.mjs.map → host-NYWXLIFC.mjs.map} +0 -0
  166. /package/dist/sdk/{routing-KZ345OFG.mjs.map → routing-7FXPULTO.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/ai-review-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/ai-review-service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/config.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EAGX,YAAY,EAIZ,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,YAAY,EAS9C,CAAC;AAEX;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAgBrB;IACF,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,kBAAkB,CAAgE;IAC1F,OAAO,CAAC,mBAAmB,CAA2D;IAEtF;;OAEG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC;IAqHvB;;;OAGG;IACU,oBAAoB,CAC/B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,EACzB,OAAO,GAAE,iBAAiB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,WAAW,CAAC;IAkDvB;;OAEG;IACU,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IA4CrF;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC;IAgBrD;;OAEG;IACI,wBAAwB,IAAI,WAAW,GAAG,IAAI;IA0FrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;OAGG;YACW,uBAAuB;IAyDrC;;OAEG;YACW,aAAa;IAsB3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACI,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY;IAqB9F;;OAEG;IACU,0BAA0B,IAAI,OAAO,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;IA2BF;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,UAAQ,GAAG,IAAI;IAkLzE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8T3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0DhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmF7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6DzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6EhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA6B1B"}
1
+ {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/config.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EAGX,YAAY,EAIZ,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAOzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,YAAY,EAS9C,CAAC;AAEX;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAgBrB;IACF,OAAO,CAAC,kBAAkB,CAA6C;IACvE,OAAO,CAAC,kBAAkB,CAAgE;IAC1F,OAAO,CAAC,mBAAmB,CAA2D;IAEtF;;OAEG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC;IAqHvB;;;OAGG;IACU,oBAAoB,CAC/B,GAAG,EAAE,OAAO,CAAC,WAAW,CAAC,EACzB,OAAO,GAAE,iBAAiB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAO,GACrD,OAAO,CAAC,WAAW,CAAC;IAkDvB;;OAEG;IACU,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IA4CrF;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC;IAgBrD;;OAEG;IACI,wBAAwB,IAAI,WAAW,GAAG,IAAI;IA0FrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;OAGG;YACW,uBAAuB;IAkFrC;;OAEG;YACW,aAAa;IAsB3B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgC/B;;OAEG;IACI,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY;IAqB9F;;OAEG;IACU,0BAA0B,IAAI,OAAO,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;IA2BF;;;;OAIG;IACI,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,UAAQ,GAAG,IAAI;IAkLzE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8T3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0DhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmF7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6DzB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6EhC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA6B1B"}
@@ -12,21 +12,22 @@ The deployment consists of two components:
12
12
  ## Files Structure
13
13
 
14
14
  ```
15
- /Users/leonidbugaev/go/src/gates/
16
- ├── wrangler.toml # Worker configuration
17
- ├── worker.js # Worker routing script
18
- ├── package.json # Deployment scripts
15
+ visor/
16
+ ├── package.json # Deployment scripts (deploy:site, deploy:worker, deploy)
19
17
  └── site/
20
- ├── index.html # Visor landing page
21
- └── _routes.json # Pages routing configuration
18
+ ├── wrangler.toml # Worker configuration
19
+ ├── worker.js # Worker routing script
20
+ ├── _routes.json # Pages routing configuration
21
+ ├── index.html # Visor landing page
22
+ └── visor.png # Site assets
22
23
  ```
23
24
 
24
25
  ## Configuration Files
25
26
 
26
- ### wrangler.toml
27
+ ### site/wrangler.toml
27
28
  Configures the Cloudflare Worker named `visor-router` that handles routing from `probelabs.com/visor` and `probelabs.com/visor/*` to the Pages deployment.
28
29
 
29
- ### worker.js
30
+ ### site/worker.js
30
31
  The worker script that:
31
32
  - Redirects `probelabs.com/visor` to `probelabs.com/visor/` (with trailing slash)
32
33
  - Proxies requests from `probelabs.com/visor/*` to `https://visor-site.pages.dev`
@@ -47,7 +48,6 @@ Cloudflare Pages routing configuration that includes all `/visor/*` routes.
47
48
 
48
49
  2. Install project dependencies:
49
50
  ```bash
50
- cd /Users/leonidbugaev/go/src/gates
51
51
  npm install
52
52
  ```
53
53
 
@@ -71,6 +71,8 @@ npm run deploy:worker
71
71
 
72
72
  This runs: `npx wrangler deploy`
73
73
 
74
+ **Note**: The worker deployment uses the `site/wrangler.toml` configuration file.
75
+
74
76
  ### Full Deployment
75
77
 
76
78
  Deploy both components:
@@ -106,13 +108,117 @@ The worker transforms URLs by:
106
108
  ## Maintenance
107
109
 
108
110
  ### Updating the Site
109
- 1. Modify `/Users/leonidbugaev/go/src/gates/site/index.html`
111
+ 1. Modify `site/index.html`
110
112
  2. Run `npm run deploy:site`
111
113
 
112
114
  ### Updating the Worker
113
- 1. Modify `/Users/leonidbugaev/go/src/gates/worker.js`
115
+ 1. Modify `site/worker.js`
114
116
  2. Run `npm run deploy:worker`
115
117
 
116
118
  ### Logs and Monitoring
117
119
  - View worker logs: `wrangler tail visor-router`
118
120
  - Monitor Pages deployment: Check Cloudflare Dashboard > Pages > visor-site
121
+
122
+ ## Troubleshooting
123
+
124
+ ### Common Issues
125
+
126
+ #### Worker Not Routing Correctly
127
+ - **Symptom**: Requests to `probelabs.com/visor` return 404 or incorrect content
128
+ - **Diagnosis**: Run `wrangler tail visor-router` to view real-time logs
129
+ - **Solution**: Verify routes in `site/wrangler.toml` match expected patterns
130
+
131
+ #### Pages Site Shows Old Content
132
+ - **Symptom**: Changes to `site/index.html` not appearing after deployment
133
+ - **Diagnosis**: Check deployment status in Cloudflare Dashboard > Pages
134
+ - **Solution**:
135
+ 1. Clear browser cache and CDN cache
136
+ 2. Re-run `npm run deploy:site`
137
+ 3. Verify the deployment completed successfully in the dashboard
138
+
139
+ #### Authentication Errors During Deployment
140
+ - **Symptom**: `wrangler deploy` fails with authentication error
141
+ - **Solution**:
142
+ ```bash
143
+ wrangler logout
144
+ wrangler login
145
+ ```
146
+
147
+ #### URL Prefixes Not Applied in HTML
148
+ - **Symptom**: Assets load from root instead of `/visor/` path
149
+ - **Diagnosis**: Check browser network tab for failed asset requests
150
+ - **Solution**: Review the regex patterns in `site/worker.js` that transform URLs
151
+
152
+ #### Worker Deployment Fails
153
+ - **Symptom**: `npm run deploy:worker` fails
154
+ - **Diagnosis**: Check the error message for specific issues
155
+ - **Solution**:
156
+ 1. Ensure `site/wrangler.toml` has valid syntax
157
+ 2. Verify your Cloudflare account has Workers enabled
158
+ 3. Check that the zone `probelabs.com` is in your account
159
+
160
+ ### Checking Deployment Status
161
+
162
+ ```bash
163
+ # List all Workers
164
+ wrangler deployments list
165
+
166
+ # Check Pages deployment status
167
+ wrangler pages deployment list --project-name=visor-site
168
+ ```
169
+
170
+ ## Rollback Procedures
171
+
172
+ ### Rolling Back the Pages Site
173
+
174
+ 1. **Via Cloudflare Dashboard**:
175
+ - Go to Cloudflare Dashboard > Pages > visor-site
176
+ - Navigate to "Deployments"
177
+ - Find the previous working deployment
178
+ - Click the three-dot menu and select "Rollback to this deployment"
179
+
180
+ 2. **Via CLI** (using a previous commit):
181
+ ```bash
182
+ # Check out the previous working version
183
+ git log --oneline site/index.html
184
+ git checkout <commit-hash> -- site/index.html
185
+
186
+ # Redeploy
187
+ npm run deploy:site
188
+ ```
189
+
190
+ ### Rolling Back the Worker
191
+
192
+ 1. **Via Cloudflare Dashboard**:
193
+ - Go to Cloudflare Dashboard > Workers & Pages
194
+ - Select `visor-router`
195
+ - Navigate to "Deployments"
196
+ - Select a previous version and click "Rollback"
197
+
198
+ 2. **Via CLI** (using a previous commit):
199
+ ```bash
200
+ # Check out the previous working version
201
+ git log --oneline site/worker.js
202
+ git checkout <commit-hash> -- site/worker.js
203
+
204
+ # Redeploy
205
+ npm run deploy:worker
206
+ ```
207
+
208
+ ### Emergency Rollback
209
+
210
+ If the worker is causing issues and you need to disable it immediately:
211
+
212
+ ```bash
213
+ # Delete the worker routes (stops routing through the worker)
214
+ wrangler delete visor-router
215
+ ```
216
+
217
+ **Note**: This will cause `probelabs.com/visor` to return 404 until the worker is redeployed.
218
+
219
+ ### Verifying Rollback Success
220
+
221
+ After any rollback:
222
+ 1. Visit `https://visor-site.pages.dev` to verify the Pages site
223
+ 2. Visit `https://probelabs.com/visor/` to verify the full routing path
224
+ 3. Check `wrangler tail visor-router` for any errors
@@ -1,13 +1,13 @@
1
1
  # GitHub Checks API Integration
2
2
 
3
- Visor now supports GitHub Checks API integration, allowing each configured check to appear as a separate check run in the GitHub PR interface with proper status reporting and issue annotations.
3
+ Visor supports GitHub Checks API integration, allowing each configured check to appear as a separate check run in the GitHub PR interface with proper status reporting and issue annotations.
4
4
 
5
5
  ## Features
6
6
 
7
7
  - **Individual Check Runs**: Each configured check appears as a separate GitHub check run
8
8
  - **Real-time Status Updates**: Check runs show "in progress" while executing and complete with success/failure
9
9
  - **Issue Annotations**: Issues are displayed as inline annotations on the PR files
10
- - **Failure Conditions**: Support for custom failure conditions using simple expressions
10
+ - **Failure Conditions**: Support for custom failure conditions using `fail_if` expressions (see [Fail If](fail-if.md))
11
11
  - **Configurable**: Can be enabled/disabled via action inputs or configuration
12
12
  - **Permission Handling**: Gracefully handles insufficient permissions with helpful error messages
13
13
 
@@ -58,13 +58,20 @@ fail_if: "criticalIssues > 0"
58
58
 
59
59
  ## Failure Conditions
60
60
 
61
- Use simple expressions to define when checks should fail:
61
+ Use `fail_if` expressions to define when checks should fail. For comprehensive documentation, see [Fail If](fail-if.md).
62
62
 
63
- ### Available Variables
63
+ ### Quick Reference
64
+
65
+ **Primary context variables:**
66
+ - `output`: The current check's structured output (includes `issues` array and provider-specific fields)
67
+ - `outputs`: Map of dependency outputs keyed by check name
68
+
69
+ **Legacy variables (backward compatibility):**
64
70
  - `totalIssues`: Total number of issues found
65
71
  - `criticalIssues`: Number of critical severity issues
66
72
  - `errorIssues`: Number of error severity issues
67
73
  - `warningIssues`: Number of warning severity issues
74
+ - `infoIssues`: Number of info severity issues
68
75
 
69
76
  ### Examples
70
77
  ```yaml
@@ -72,6 +79,7 @@ fail_if: "criticalIssues > 0" # Fail if any critical issues
72
79
  fail_if: "errorIssues > 5" # Fail if more than 5 errors
73
80
  fail_if: "totalIssues > 10" # Fail if more than 10 total issues
74
81
  fail_if: "criticalIssues + errorIssues > 3" # Fail if critical + error > 3
82
+ fail_if: "output.error" # Fail if output contains error flag
75
83
  ```
76
84
 
77
85
  ## GitHub Permissions
@@ -278,3 +286,9 @@ If you're currently using Visor with only PR comments:
278
286
  4. **Test in staging**: Verify checks appear correctly before production use
279
287
 
280
288
  The integration is designed to be backward-compatible - existing configurations continue to work with the addition of GitHub checks.
289
+
290
+ ## Related Documentation
291
+
292
+ - [Fail If](fail-if.md) - Comprehensive guide to failure condition expressions
293
+ - [Action Reference](action-reference.md) - Full GitHub Action inputs and outputs reference
294
+ - [Troubleshooting](troubleshooting.md) - Common issues and solutions
@@ -119,28 +119,31 @@ npx -y @probelabs/visor@latest --check all --output json --output-file visor-res
119
119
  Create a `.visor.yaml` file in your project root:
120
120
 
121
121
  ```yaml
122
- project:
123
- name: my-project
124
- language: typescript
122
+ version: "1"
125
123
 
126
- steps:
127
- - type: ai
128
- prompt: security
129
- - type: ai
130
- prompt: performance
131
-
132
- output:
133
- format: table
134
- verbose: false
124
+ checks:
125
+ security-review:
126
+ type: ai
127
+ schema: code-review
128
+ prompt: |
129
+ Review the code for security vulnerabilities.
135
130
 
136
- ## Structured outputs and schemas (unified `schema`)
131
+ performance-review:
132
+ type: ai
133
+ schema: code-review
134
+ prompt: |
135
+ Review the code for performance issues.
136
+ ```
137
+
138
+ For complete configuration options, see the [Configuration Guide](./configuration.md).
139
+
140
+ ### Structured Outputs and Schemas
137
141
 
138
- Use a single `schema` field:
142
+ Use a `schema` field to control output format and validation:
139
143
 
140
- - Strings (e.g., `code-review` or `markdown`) select the renderer/template and do not imply validation.
141
- - Objects (JSON Schema) validate the produced `output` after execution for any provider (ai, command, script, http).
144
+ - **String schemas** (e.g., `code-review`, `markdown`) select a rendering template
145
+ - **Object schemas** (JSON Schema) validate the produced `output`
142
146
 
143
- Examples:
144
147
  ```yaml
145
148
  checks:
146
149
  summary:
@@ -159,30 +162,9 @@ checks:
159
162
  required: [ok, items]
160
163
  prompt: |
161
164
  Return JSON with ok and items...
162
-
163
- parse:
164
- type: command
165
- exec: node scripts/parse.js
166
- schema:
167
- type: object
168
- properties:
169
- count: { type: integer }
170
- required: [count]
171
-
172
- aggregate:
173
- type: script
174
- content: |
175
- return { all_valid: true };
176
- schema:
177
- type: object
178
- properties:
179
- all_valid: { type: boolean }
180
- required: [all_valid]
181
- additionalProperties: false
182
165
  ```
183
166
 
184
- Note: `output_schema` is deprecated and kept for backward compatibility. Prefer `schema` as a JSON object for validation.
185
- ```
167
+ > **Note**: `output_schema` is deprecated. Use `schema` instead.
186
168
 
187
169
  ## Environment Variables
188
170
 
@@ -196,6 +178,73 @@ export ANTHROPIC_API_KEY=your-key-here
196
178
  export OPENAI_API_KEY=your-key-here
197
179
  ```
198
180
 
181
+ ## Subcommands
182
+
183
+ Visor supports several subcommands for different workflows:
184
+
185
+ ### validate / lint
186
+
187
+ Validate your configuration file before running:
188
+
189
+ ```bash
190
+ visor validate --config .visor.yaml
191
+ visor lint --config .visor.yaml # alias
192
+ ```
193
+
194
+ ### test
195
+
196
+ Run YAML-based test suites:
197
+
198
+ ```bash
199
+ visor test # Discover and run all test suites
200
+ visor test --config tests/ # Run tests in a directory
201
+ visor test --only "my-test-case" # Run specific test case
202
+ visor test --bail # Stop on first failure
203
+ ```
204
+
205
+ See the [Test Framework documentation](./testing/getting-started.md) for details.
206
+
207
+ ### code-review / review
208
+
209
+ Run the built-in code review workflow:
210
+
211
+ ```bash
212
+ visor code-review # Review current branch changes
213
+ visor review # alias
214
+ ```
215
+
216
+ ### mcp-server
217
+
218
+ Start Visor as an MCP (Model Context Protocol) server:
219
+
220
+ ```bash
221
+ visor mcp-server --config .visor.yaml
222
+ ```
223
+
224
+ ## CLI Options Reference
225
+
226
+ | Option | Description |
227
+ |--------|-------------|
228
+ | `-c, --check <type>` | Specify check(s) to run (can be used multiple times) |
229
+ | `-o, --output <format>` | Output format: `table`, `json`, `markdown`, `sarif` |
230
+ | `--output-file <path>` | Write output to file instead of stdout |
231
+ | `--config <path>` | Path to configuration file |
232
+ | `--timeout <ms>` | Timeout in milliseconds (default: 1200000 / 20 min) |
233
+ | `--max-parallelism <n>` | Max parallel checks (default: 3) |
234
+ | `--debug` | Enable debug mode |
235
+ | `-v, --verbose` | Increase verbosity |
236
+ | `-q, --quiet` | Reduce output to warnings/errors |
237
+ | `--fail-fast` | Stop on first failure |
238
+ | `--tags <tags>` | Run checks with these tags (comma-separated) |
239
+ | `--exclude-tags <tags>` | Skip checks with these tags |
240
+ | `--event <type>` | Simulate event: `pr_opened`, `pr_updated`, `manual`, etc. |
241
+ | `--analyze-branch-diff` | Analyze diff vs base branch |
242
+ | `--tui` | Enable interactive TUI mode |
243
+ | `--debug-server` | Start debug visualizer |
244
+ | `--message <text>` | Message for human-input checks |
245
+
246
+ For complete CLI documentation, see the [CI/CLI Mode Guide](./ci-cli-mode.md).
247
+
199
248
  ## CI/CD Integration
200
249
 
201
250
  Add to your GitHub Actions workflow:
@@ -206,3 +255,27 @@ Add to your GitHub Actions workflow:
206
255
  env:
207
256
  GOOGLE_API_KEY: ${{ secrets.GOOGLE_API_KEY }}
208
257
  ```
258
+
259
+ ### SARIF Output for GitHub Code Scanning
260
+
261
+ ```yaml
262
+ - name: Run Security Scan
263
+ run: npx -y @probelabs/visor@latest --check security --output sarif --output-file results.sarif
264
+ env:
265
+ OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
266
+
267
+ - name: Upload SARIF
268
+ uses: github/codeql-action/upload-sarif@v3
269
+ with:
270
+ sarif_file: results.sarif
271
+ ```
272
+
273
+ For complete CI/CD examples, see the [CI/CLI Mode Guide](./ci-cli-mode.md).
274
+
275
+ ## Related Documentation
276
+
277
+ - [Configuration Guide](./configuration.md) - Complete configuration reference
278
+ - [AI Configuration](./ai-configuration.md) - AI provider setup and options
279
+ - [CI/CLI Mode Guide](./ci-cli-mode.md) - GitHub Actions and CI integration
280
+ - [Test Framework](./testing/getting-started.md) - Writing and running tests
281
+ - [Troubleshooting](./troubleshooting.md) - Common issues and solutions
@@ -1,19 +1,73 @@
1
- ## 🎯 GitHub Action Reference
1
+ ## GitHub Action Reference
2
2
 
3
- ### Inputs (selected)
3
+ Visor is an AI-powered code review tool for GitHub Pull Requests. When used as a GitHub Action, it automatically analyzes PRs for security, performance, style, and architectural issues, posting feedback directly to your pull requests.
4
+
5
+ The action supports multiple AI providers (Google Gemini, Anthropic Claude, OpenAI GPT) and works out-of-the-box without configuration. For advanced setups, see [AI Configuration](ai-configuration.md).
6
+
7
+ ### Inputs
4
8
 
5
9
  | Input | Description | Default |
6
10
  |-------|-------------|---------|
7
- | `max-parallelism` | Maximum number of checks in parallel | `3` |
8
- | `fail-fast` | Stop on first failure | `false` |
9
- | `config-path` | Path to config file | `.visor.yaml` |
11
+ | `mode` | Run mode: `github-actions` or `cli` | `github-actions` |
12
+ | `github-token` | GitHub token for API access (use this OR app-id/private-key) | `${{ github.token }}` |
13
+ | `app-id` | GitHub App ID for authentication (optional, use with private-key) | |
14
+ | `private-key` | GitHub App private key for authentication (optional, use with app-id) | |
15
+ | `installation-id` | GitHub App installation ID (optional, auto-detected if not provided) | |
16
+ | `auto-review` | Enable automatic review on PR open/update | `true` |
17
+ | `checks` | Comma-separated list of checks to run (`security`, `performance`, `architecture`, `quality`, `all`) | `all` |
18
+ | `output-format` | Output format for analysis results (`table`, `json`, `markdown`, `sarif`) | `json` |
19
+ | `config-path` | Path to visor configuration file (uses bundled default if not specified). See [Configuration](configuration.md) | |
20
+ | `comment-on-pr` | Post review results as PR comment | `true` |
21
+ | `create-check` | Create GitHub check run with results. See [GitHub Checks](GITHUB_CHECKS.md) | `true` |
22
+ | `add-labels` | Add quality labels to PR | `true` |
23
+ | `add-reactions` | Add emoji reactions to PR/issues (eyes on start, thumbs up on completion) | `true` |
24
+ | `ai-model` | AI model to use (`mock`, `google-gemini-pro`, `claude-sonnet`, etc.). See [AI Configuration](ai-configuration.md) | |
25
+ | `ai-provider` | AI provider to use (`mock`, `google`, `anthropic`, `openai`). See [AI Configuration](ai-configuration.md) | |
26
+ | `fail-on-critical` | Fail the action if critical issues are found | `false` |
27
+ | `fail-on-api-error` | Fail the action if API authentication or rate limit errors occur | `false` |
28
+ | `max-parallelism` | Maximum number of checks to run in parallel | `1` |
29
+ | `fail-fast` | Stop execution when any check fails | `false` |
30
+ | `debug` | Enable debug mode for detailed output in comments | `false` |
31
+ | `tags` | Include checks with these tags (comma-separated). See [Tag Filtering](tag-filtering.md) | `github` |
32
+ | `exclude-tags` | Exclude checks with these tags (comma-separated). See [Tag Filtering](tag-filtering.md) | |
10
33
 
11
- ### Outputs (selected)
34
+ ### Outputs
12
35
 
13
36
  | Output | Description |
14
37
  |--------|-------------|
15
- | `issues-found` | Total number of issues found |
16
- | `critical-issues` | Number of critical issues |
38
+ | `total-issues` | Total number of issues found |
39
+ | `critical-issues` | Number of critical issues found |
40
+ | `review-url` | URL to the detailed review comment |
41
+ | `sarif-report` | SARIF format report (if output-format includes sarif) |
42
+ | `incremental-analysis` | Whether incremental analysis was performed (`true` for synchronize events) |
43
+ | `pr-action` | The GitHub PR action that triggered this run (`opened`, `synchronize`, `edited`) |
44
+ | `check-runs-created` | Number of GitHub check runs created. See [GitHub Checks](GITHUB_CHECKS.md) |
45
+ | `check-runs-urls` | URLs of created GitHub check runs (comma-separated) |
46
+ | `checks-api-available` | Whether GitHub Checks API was available (`true`/`false`) |
47
+
48
+ ### Example Workflow
49
+
50
+ ```yaml
51
+ name: Visor Code Review
52
+ on:
53
+ pull_request:
54
+ types: [opened, synchronize]
55
+
56
+ jobs:
57
+ review:
58
+ runs-on: ubuntu-latest
59
+ steps:
60
+ - uses: actions/checkout@v4
61
+ - uses: buger/visor@main
62
+ with:
63
+ github-token: ${{ secrets.GITHUB_TOKEN }}
64
+ ```
65
+
66
+ ### Related Documentation
17
67
 
18
- See README Quick Start for minimal workflow. For full list, open `action.yml`.
68
+ - [AI Configuration](ai-configuration.md) - Configure AI providers and models
69
+ - [GitHub Checks](GITHUB_CHECKS.md) - GitHub Check runs integration
70
+ - [Tag Filtering](tag-filtering.md) - Filter checks by tags
71
+ - [Configuration](configuration.md) - Full configuration reference
19
72
 
73
+ For full input/output definitions, see `action.yml` in the repository root.