@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.
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/docs/DEPLOYMENT.md +117 -11
- package/dist/docs/GITHUB_CHECKS.md +18 -4
- package/dist/docs/NPM_USAGE.md +112 -39
- package/dist/docs/action-reference.md +63 -9
- package/dist/docs/advanced-ai.md +58 -51
- package/dist/docs/ai-configuration.md +99 -11
- package/dist/docs/ai-custom-tools-usage.md +70 -33
- package/dist/docs/ai-custom-tools.md +50 -27
- package/dist/docs/architecture.md +1232 -0
- package/dist/docs/bot-transports-rfc.md +13 -3
- package/dist/docs/ci-cli-mode.md +116 -8
- package/dist/docs/claude-code.md +111 -41
- package/dist/docs/command-provider.md +37 -15
- package/dist/docs/commands.md +252 -6
- package/dist/docs/configuration.md +138 -4
- package/dist/docs/contributing.md +737 -0
- package/dist/docs/custom-tools.md +39 -8
- package/dist/docs/dashboards/README.md +33 -19
- package/dist/docs/debug-visualizer-progress.md +14 -13
- package/dist/docs/debug-visualizer-rfc.md +14 -13
- package/dist/docs/debug-visualizer.md +30 -5
- package/dist/docs/debugging.md +73 -8
- package/dist/docs/default-output-schema.md +24 -20
- package/dist/docs/dependencies.md +75 -21
- package/dist/docs/dev-playbook.md +85 -9
- package/dist/docs/engine-pause-resume-rfc.md +11 -11
- package/dist/docs/engine-state-machine-plan.md +10 -3
- package/dist/docs/event-driven-github-integration-rfc.md +20 -11
- package/dist/docs/event-triggers.md +95 -6
- package/dist/docs/execution-statistics-rfc.md +16 -4
- package/dist/docs/fact-validator-gap-analysis.md +12 -1
- package/dist/docs/fact-validator-implementation-plan.md +19 -11
- package/dist/docs/fail-if.md +116 -11
- package/dist/docs/failure-conditions-implementation.md +40 -6
- package/dist/docs/failure-conditions-schema.md +243 -87
- package/dist/docs/failure-routing-rfc.md +43 -18
- package/dist/docs/failure-routing.md +80 -23
- package/dist/docs/faq.md +836 -0
- package/dist/docs/foreach-dependency-propagation.md +32 -15
- package/dist/docs/github-ops.md +6 -5
- package/dist/docs/glossary.md +322 -0
- package/dist/docs/goto-forward-run-plan.md +23 -10
- package/dist/docs/guides/criticality-modes.md +15 -13
- package/dist/docs/guides/fault-management-and-contracts.md +8 -5
- package/dist/docs/guides/workflow-style-guide.md +17 -8
- package/dist/docs/http.md +102 -3
- package/dist/docs/human-input-provider.md +20 -36
- package/dist/docs/index.md +206 -0
- package/dist/docs/lifecycle-hooks.md +322 -2
- package/dist/docs/limits.md +20 -5
- package/dist/docs/liquid-templates.md +86 -14
- package/dist/docs/loop-routing-refactor.md +4 -2
- package/dist/docs/mcp-provider.md +53 -19
- package/dist/docs/mcp.md +27 -1
- package/dist/docs/memory.md +7 -2
- package/dist/docs/migration.md +596 -0
- package/dist/docs/observability.md +227 -6
- package/dist/docs/output-formats.md +388 -9
- package/dist/docs/output-history.md +36 -6
- package/dist/docs/performance.md +510 -4
- package/dist/docs/pluggable.md +95 -4
- package/dist/docs/proposals/snapshot-scope-execution.md +6 -5
- package/dist/docs/providers/git-checkout.md +16 -14
- package/dist/docs/providers/noop.md +696 -0
- package/dist/docs/recipes.md +8 -9
- package/dist/docs/rfc/git-checkout-step.md +3 -1
- package/dist/docs/rfc/on_init-hook.md +18 -5
- package/dist/docs/rfc/workspace-isolation.md +18 -0
- package/dist/docs/roadmap/criticality-implementation-tasks.md +27 -27
- package/dist/docs/router-patterns.md +155 -43
- package/dist/docs/schema-templates.md +51 -15
- package/dist/docs/script.md +162 -13
- package/dist/docs/sdk.md +46 -12
- package/dist/docs/security.md +464 -5
- package/dist/docs/slack-integration.md +475 -0
- package/dist/docs/tag-filtering.md +60 -20
- package/dist/docs/telemetry-setup.md +157 -46
- package/dist/docs/test-framework-rfc.md +37 -36
- package/dist/docs/testing/assertions.md +92 -4
- package/dist/docs/testing/ci.md +56 -7
- package/dist/docs/testing/cli.md +57 -15
- package/dist/docs/testing/cookbook.md +53 -20
- package/dist/docs/testing/dsl-reference.md +110 -9
- package/dist/docs/testing/fixtures-and-mocks.md +28 -3
- package/dist/docs/testing/flows.md +59 -4
- package/dist/docs/testing/getting-started.md +14 -13
- package/dist/docs/testing/troubleshooting.md +39 -2
- package/dist/docs/timeouts.md +174 -18
- package/dist/docs/troubleshooting.md +176 -6
- package/dist/docs/workflow-creation-guide.md +101 -3
- package/dist/docs/workflows.md +138 -41
- package/dist/examples/README.md +169 -4
- package/dist/examples/ai-custom-tools-simple.yaml +2 -3
- package/dist/examples/cron-webhook-config.yaml +15 -0
- package/dist/examples/forEach-example.yaml +6 -0
- package/dist/examples/git-checkout-basic.yaml +4 -0
- package/dist/examples/git-checkout-compare.yaml +6 -0
- package/dist/examples/git-checkout-cross-repo.yaml +7 -0
- package/dist/examples/http-integration-config.yaml +30 -0
- package/dist/examples/https-server-config.yaml +15 -0
- package/dist/examples/mcp-provider-example.yaml +10 -10
- package/dist/examples/transform-example.yaml +3 -0
- package/dist/examples/webhook-pipeline-config.yaml +18 -0
- package/dist/examples/workflows/workflow-composition-example.yaml +4 -0
- package/dist/generated/config-schema.d.ts +11 -7
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +11 -7
- package/dist/index.js +9986 -7114
- package/dist/output/traces/{run-2026-01-28T14-49-27-275Z.ndjson → run-2026-01-30T09-25-36-981Z.ndjson} +84 -84
- package/dist/output/traces/{run-2026-01-28T14-50-11-230Z.ndjson → run-2026-01-30T09-26-20-969Z.ndjson} +1020 -1020
- package/dist/providers/ai-check-provider.d.ts +9 -2
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/command-check-provider.d.ts.map +1 -1
- package/dist/providers/mcp-custom-sse-server.d.ts +17 -1
- package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
- package/dist/providers/workflow-check-provider.d.ts.map +1 -1
- package/dist/providers/workflow-tool-executor.d.ts +68 -0
- package/dist/providers/workflow-tool-executor.d.ts.map +1 -0
- package/dist/sdk/{check-provider-registry-JMNLGIMJ.mjs → check-provider-registry-3KI5RKXT.mjs} +6 -5
- package/dist/sdk/{chunk-VPEQOQ7G.mjs → chunk-A4PGHURG.mjs} +6863 -6277
- package/dist/sdk/chunk-A4PGHURG.mjs.map +1 -0
- package/dist/sdk/chunk-EXFGO4FX.mjs +147 -0
- package/dist/sdk/chunk-EXFGO4FX.mjs.map +1 -0
- package/dist/sdk/{chunk-35NT3725.mjs → chunk-PXFIALUH.mjs} +78 -11
- package/dist/sdk/chunk-PXFIALUH.mjs.map +1 -0
- package/dist/sdk/{chunk-CUNPH6TR.mjs → chunk-RTKJXNZS.mjs} +36 -9
- package/dist/sdk/chunk-RTKJXNZS.mjs.map +1 -0
- package/dist/sdk/{config-MK4XTU45.mjs → config-6CUVEH7H.mjs} +2 -2
- package/dist/sdk/{github-frontend-6Q4BISZX.mjs → github-frontend-BZ4N3BFZ.mjs} +7 -3
- package/dist/sdk/github-frontend-BZ4N3BFZ.mjs.map +1 -0
- package/dist/sdk/{host-P5NQICP7.mjs → host-NYWXLIFC.mjs} +2 -2
- package/dist/sdk/{routing-KZ345OFG.mjs → routing-7FXPULTO.mjs} +2 -2
- package/dist/sdk/sdk.d.mts +3 -1
- package/dist/sdk/sdk.d.ts +3 -1
- package/dist/sdk/sdk.js +12109 -11294
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +13 -9
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/sdk/workflow-check-provider-YUNNF4KC.mjs +28 -0
- package/dist/sdk/workflow-check-provider-YUNNF4KC.mjs.map +1 -0
- package/dist/state-machine/context/workflow-inputs.d.ts +20 -0
- package/dist/state-machine/context/workflow-inputs.d.ts.map +1 -0
- package/dist/state-machine/dispatch/execution-invoker.d.ts.map +1 -1
- package/dist/state-machine/dispatch/foreach-processor.d.ts.map +1 -1
- package/dist/state-machine/states/level-dispatch.d.ts.map +1 -1
- package/dist/state-machine/states/routing.d.ts +2 -1
- package/dist/state-machine/states/routing.d.ts.map +1 -1
- package/dist/traces/{run-2026-01-28T14-49-27-275Z.ndjson → run-2026-01-30T09-25-36-981Z.ndjson} +84 -84
- package/dist/traces/{run-2026-01-28T14-50-11-230Z.ndjson → run-2026-01-30T09-26-20-969Z.ndjson} +1020 -1020
- package/dist/types/config.d.ts +3 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/human-id.d.ts +12 -0
- package/dist/utils/human-id.d.ts.map +1 -0
- package/dist/utils/worktree-manager.d.ts +3 -0
- package/dist/utils/worktree-manager.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/sdk/chunk-35NT3725.mjs.map +0 -1
- package/dist/sdk/chunk-CUNPH6TR.mjs.map +0 -1
- package/dist/sdk/chunk-VPEQOQ7G.mjs.map +0 -1
- package/dist/sdk/github-frontend-6Q4BISZX.mjs.map +0 -1
- /package/dist/sdk/{check-provider-registry-JMNLGIMJ.mjs.map → check-provider-registry-3KI5RKXT.mjs.map} +0 -0
- /package/dist/sdk/{config-MK4XTU45.mjs.map → config-6CUVEH7H.mjs.map} +0 -0
- /package/dist/sdk/{host-P5NQICP7.mjs.map → host-NYWXLIFC.mjs.map} +0 -0
- /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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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/docs/DEPLOYMENT.md
CHANGED
|
@@ -12,21 +12,22 @@ The deployment consists of two components:
|
|
|
12
12
|
## Files Structure
|
|
13
13
|
|
|
14
14
|
```
|
|
15
|
-
/
|
|
16
|
-
├──
|
|
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
|
-
├──
|
|
21
|
-
|
|
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
|
|
111
|
+
1. Modify `site/index.html`
|
|
110
112
|
2. Run `npm run deploy:site`
|
|
111
113
|
|
|
112
114
|
### Updating the Worker
|
|
113
|
-
1. Modify
|
|
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
|
|
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
|
|
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
|
|
61
|
+
Use `fail_if` expressions to define when checks should fail. For comprehensive documentation, see [Fail If](fail-if.md).
|
|
62
62
|
|
|
63
|
-
###
|
|
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
|
package/dist/docs/NPM_USAGE.md
CHANGED
|
@@ -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
|
-
|
|
123
|
-
name: my-project
|
|
124
|
-
language: typescript
|
|
122
|
+
version: "1"
|
|
125
123
|
|
|
126
|
-
|
|
127
|
-
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
prompt:
|
|
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
|
-
|
|
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
|
|
142
|
+
Use a `schema` field to control output format and validation:
|
|
139
143
|
|
|
140
|
-
-
|
|
141
|
-
-
|
|
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
|
|
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
|
-
##
|
|
1
|
+
## GitHub Action Reference
|
|
2
2
|
|
|
3
|
-
|
|
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
|
-
| `
|
|
8
|
-
| `
|
|
9
|
-
| `
|
|
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
|
|
34
|
+
### Outputs
|
|
12
35
|
|
|
13
36
|
| Output | Description |
|
|
14
37
|
|--------|-------------|
|
|
15
|
-
| `issues
|
|
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
|
-
|
|
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.
|