@probelabs/visor 0.1.97 → 0.1.98
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -14
- package/defaults/.visor.yaml +3 -2
- package/dist/check-execution-engine.d.ts.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/defaults/.visor.yaml +3 -2
- package/dist/generated/config-schema.d.ts +6 -2
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +5 -2
- package/dist/index.js +69 -13
- package/dist/sdk/{check-execution-engine-S7BFPVWA.mjs → check-execution-engine-W5FLIWZL.mjs} +2 -2
- package/dist/sdk/{chunk-4VK6WTYU.mjs → chunk-POYXI3MQ.mjs} +2 -2
- package/dist/sdk/{chunk-4VK6WTYU.mjs.map → chunk-POYXI3MQ.mjs.map} +1 -1
- package/dist/sdk/sdk.d.mts +4 -2
- package/dist/sdk/sdk.d.ts +4 -2
- package/dist/sdk/sdk.js +48 -9
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +49 -10
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/types/config.d.ts +4 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/config-loader.d.ts +5 -0
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/package.json +1 -1
- /package/dist/output/traces/{run-2025-10-19T14-24-36-341Z.ndjson → run-2025-10-19T19-05-29-328Z.ndjson} +0 -0
- /package/dist/output/traces/{run-2025-10-19T14-24-48-674Z.ndjson → run-2025-10-19T19-05-42-253Z.ndjson} +0 -0
- /package/dist/output/traces/{run-2025-10-19T14-24-49-238Z.ndjson → run-2025-10-19T19-05-42-805Z.ndjson} +0 -0
- /package/dist/output/traces/{run-2025-10-19T14-24-49-761Z.ndjson → run-2025-10-19T19-05-43-323Z.ndjson} +0 -0
- /package/dist/output/traces/{run-2025-10-19T14-24-50-279Z.ndjson → run-2025-10-19T19-05-43-841Z.ndjson} +0 -0
- /package/dist/sdk/{check-execution-engine-S7BFPVWA.mjs.map → check-execution-engine-W5FLIWZL.mjs.map} +0 -0
- /package/dist/traces/{run-2025-10-19T14-24-36-341Z.ndjson → run-2025-10-19T19-05-29-328Z.ndjson} +0 -0
- /package/dist/traces/{run-2025-10-19T14-24-48-674Z.ndjson → run-2025-10-19T19-05-42-253Z.ndjson} +0 -0
- /package/dist/traces/{run-2025-10-19T14-24-49-238Z.ndjson → run-2025-10-19T19-05-42-805Z.ndjson} +0 -0
- /package/dist/traces/{run-2025-10-19T14-24-49-761Z.ndjson → run-2025-10-19T19-05-43-323Z.ndjson} +0 -0
- /package/dist/traces/{run-2025-10-19T14-24-50-279Z.ndjson → run-2025-10-19T19-05-43-841Z.ndjson} +0 -0
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ jobs:
|
|
|
56
56
|
|
|
57
57
|
```yaml
|
|
58
58
|
version: "1.0"
|
|
59
|
-
checks
|
|
59
|
+
steps: # or 'checks' (legacy, both work identically)
|
|
60
60
|
security:
|
|
61
61
|
type: ai
|
|
62
62
|
schema: code-review
|
|
@@ -221,7 +221,7 @@ Run subsets of checks (e.g., `local`, `fast`, `security`) and select them per en
|
|
|
221
221
|
|
|
222
222
|
Example:
|
|
223
223
|
```yaml
|
|
224
|
-
|
|
224
|
+
steps:
|
|
225
225
|
security-quick:
|
|
226
226
|
type: ai
|
|
227
227
|
prompt: "Quick security scan"
|
|
@@ -253,7 +253,7 @@ Learn more: [docs/commands.md](docs/commands.md)
|
|
|
253
253
|
Customize workflows based on PR author's permission level using built-in functions in JavaScript expressions:
|
|
254
254
|
|
|
255
255
|
```yaml
|
|
256
|
-
|
|
256
|
+
steps:
|
|
257
257
|
# Run security scan only for external contributors
|
|
258
258
|
security-scan:
|
|
259
259
|
type: command
|
|
@@ -391,7 +391,7 @@ Define `depends_on` to enforce order; independent checks run in parallel.
|
|
|
391
391
|
|
|
392
392
|
Example:
|
|
393
393
|
```yaml
|
|
394
|
-
|
|
394
|
+
steps:
|
|
395
395
|
security: { type: ai }
|
|
396
396
|
performance:{ type: ai, depends_on: [security] }
|
|
397
397
|
```
|
|
@@ -416,7 +416,7 @@ Example (retry + goto on failure):
|
|
|
416
416
|
version: "2.0"
|
|
417
417
|
routing:
|
|
418
418
|
max_loops: 5
|
|
419
|
-
|
|
419
|
+
steps:
|
|
420
420
|
setup: { type: command, exec: "echo setup" }
|
|
421
421
|
build:
|
|
422
422
|
type: command
|
|
@@ -431,7 +431,7 @@ checks:
|
|
|
431
431
|
|
|
432
432
|
Example (on_success jump‑back once):
|
|
433
433
|
```yaml
|
|
434
|
-
|
|
434
|
+
steps:
|
|
435
435
|
unit: { type: command, exec: "echo unit" }
|
|
436
436
|
build:
|
|
437
437
|
type: command
|
|
@@ -453,7 +453,7 @@ Use the Claude Code SDK as a provider for deeper analysis.
|
|
|
453
453
|
|
|
454
454
|
Example:
|
|
455
455
|
```yaml
|
|
456
|
-
|
|
456
|
+
steps:
|
|
457
457
|
claude-review:
|
|
458
458
|
type: claude-code
|
|
459
459
|
prompt: "Analyze code complexity"
|
|
@@ -471,7 +471,7 @@ Reuse conversation context between dependent AI checks for smarter follow‑ups.
|
|
|
471
471
|
|
|
472
472
|
Example:
|
|
473
473
|
```yaml
|
|
474
|
-
|
|
474
|
+
steps:
|
|
475
475
|
security: { type: ai }
|
|
476
476
|
remediation:
|
|
477
477
|
type: ai
|
|
@@ -492,7 +492,7 @@ Schemas validate outputs; templates render GitHub‑friendly comments.
|
|
|
492
492
|
|
|
493
493
|
Example:
|
|
494
494
|
```yaml
|
|
495
|
-
|
|
495
|
+
steps:
|
|
496
496
|
security:
|
|
497
497
|
type: ai
|
|
498
498
|
schema: code-review
|
|
@@ -507,7 +507,7 @@ Write prompts inline or in files; Liquid variables provide PR context.
|
|
|
507
507
|
|
|
508
508
|
Example:
|
|
509
509
|
```yaml
|
|
510
|
-
|
|
510
|
+
steps:
|
|
511
511
|
overview:
|
|
512
512
|
type: ai
|
|
513
513
|
prompt: ./prompts/overview.liquid
|
|
@@ -566,7 +566,7 @@ Comprehensive debugging tools help troubleshoot configurations and data flows:
|
|
|
566
566
|
|
|
567
567
|
**Use `log()` in JavaScript expressions:**
|
|
568
568
|
```yaml
|
|
569
|
-
|
|
569
|
+
steps:
|
|
570
570
|
conditional-check:
|
|
571
571
|
if: |
|
|
572
572
|
log("Outputs:", outputs);
|
|
@@ -579,7 +579,7 @@ checks:
|
|
|
579
579
|
|
|
580
580
|
**Use `json` filter in Liquid templates:**
|
|
581
581
|
```yaml
|
|
582
|
-
|
|
582
|
+
steps:
|
|
583
583
|
debug-check:
|
|
584
584
|
type: logger
|
|
585
585
|
message: |
|
|
@@ -614,7 +614,7 @@ Receive webhooks, call APIs, and schedule checks.
|
|
|
614
614
|
Examples:
|
|
615
615
|
```yaml
|
|
616
616
|
http_server: { enabled: true, port: 8080 }
|
|
617
|
-
|
|
617
|
+
steps:
|
|
618
618
|
nightly: { type: ai, schedule: "0 2 * * *" }
|
|
619
619
|
```
|
|
620
620
|
|
|
@@ -679,7 +679,7 @@ Use the native GitHub provider for safe labels and comments without invoking the
|
|
|
679
679
|
Example — apply overview‑derived labels to a PR:
|
|
680
680
|
|
|
681
681
|
```yaml
|
|
682
|
-
|
|
682
|
+
steps:
|
|
683
683
|
apply-overview-labels:
|
|
684
684
|
type: github
|
|
685
685
|
op: labels.add
|
package/defaults/.visor.yaml
CHANGED
|
@@ -7,13 +7,14 @@ version: "1.0"
|
|
|
7
7
|
# Global AI provider settings - users should configure their preferred provider
|
|
8
8
|
# For CI testing, use --provider mock CLI flag instead
|
|
9
9
|
|
|
10
|
-
# Run up to 4
|
|
10
|
+
# Run up to 4 steps in parallel for faster execution
|
|
11
11
|
max_parallelism: 4
|
|
12
12
|
|
|
13
13
|
# Global fail condition - fail if critical or error severity issues are found
|
|
14
14
|
fail_if: "output.issues && output.issues.some(i => i.severity === 'critical' || i.severity === 'error')"
|
|
15
15
|
|
|
16
|
-
checks
|
|
16
|
+
# Workflow steps (formerly 'checks' - both keys are supported for backward compatibility)
|
|
17
|
+
steps:
|
|
17
18
|
# AI-powered release notes generation - manual execution only for release workflows
|
|
18
19
|
release-notes:
|
|
19
20
|
type: ai
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/check-execution-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/check-execution-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEb,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAMvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AA2BrE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,cAAc,GAAG,WAAW,GAAG,mBAAmB,CAAC;IAChE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,mBAAmB,CAAC;IAC7B,UAAU,EAAE,mBAAmB,CAAC;CACjC;AAgCD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE;QACJ,KAAK,EAAE;YACL,GAAG,EAAE,MAAM,OAAO,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;aAAE,CAAC,CAAC;YACtD,SAAS,EAAE,MAAM,OAAO,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;aAAE,CAAC,CAAC;SAC/D,CAAC;QACF,MAAM,EAAE;YACN,YAAY,EAAE,MAAM,OAAO,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;aAAE,CAAC,CAAC;YACjE,aAAa,EAAE,MAAM,OAAO,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;aAAE,CAAC,CAAC;SACjE,CAAC;KACH,CAAC;IACF,OAAO,EAAE,MAAM,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAChD,GAAG,EAAE;QACH,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACnC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACrC,CAAC;IACF,IAAI,EAAE;QACJ,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACrC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;QACpC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;KACpC,CAAC;IACF,IAAI,EAAE,MAAM,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,gBAAgB,EAAE,WAAW,CAAC;IAC9C,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,SAAS,CAAC,EAAE,OAAO,gBAAgB,EAAE,SAAS,CAAC;IAE/C,cAAc,CAAC,EAAE;QACf,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACnC,CAAC;IAEF,YAAY,CAAC,EAAE;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,eAAe,EAAE,OAAO,CAAC;QAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,gBAAgB,CAAwB;IAChD,OAAO,CAAC,gBAAgB,CAA4B;IACpD,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,WAAW,CAAC,CAA2C;IAC/D,OAAO,CAAC,aAAa,CAAC,CAAkC;IACxD,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,MAAM,CAAC,CAAuC;IACtD,OAAO,CAAC,cAAc,CAAC,CAAwC;IAC/D,OAAO,CAAC,cAAc,CAAC,CAAU;IACjC,OAAO,CAAC,cAAc,CAA+C;IAErE,OAAO,CAAC,aAAa,CAAqC;IAE1D,OAAO,CAAC,oBAAoB,CAAC,CAAwC;IAErE,OAAO,CAAC,aAAa,CAAC,CAIpB;gBAEU,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,eAAe,EAAE,OAAO;IAqBhF;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAQ1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,MAAM;YASA,KAAK;IAInB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;YACW,kBAAkB;IAynBhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsD1B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAwJ5E;;OAEG;YACW,6BAA6B;IA0D3C;;OAEG;YACW,mBAAmB;IA+JjC;;OAEG;IACU,oBAAoB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,CAAC,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,gBAAgB,EAAE,WAAW,EAC7C,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,OAAO,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,QAAQ,CAAC,EAAE,OAAO,EAClB,SAAS,CAAC,EAAE,OAAO,gBAAgB,EAAE,SAAS,GAC7C,OAAO,CAAC,eAAe,CAAC;IAmI3B;;OAEG;YACW,yBAAyB;IAqGvC;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA2EzC;;OAEG;YACW,mCAAmC;IAuCjD;;OAEG;YACW,oCAAoC;IAuGlD;;;;;;;;OAQG;YACW,oBAAoB;IAqElC;;;;;;;;OAQG;YACW,sBAAsB;IAwCpC;;OAEG;YACW,kBAAkB;IAiJhC;;;OAGG;YACW,2BAA2B;IAyDzC;;OAEG;YACW,4BAA4B;IAo2D1C;;OAEG;YACW,qBAAqB;IAyKnC;;OAEG;YACW,4BAA4B;IAgD1C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAwLvC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0MhC;;OAEG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM,EAAE;IASzC;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG;QAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE;IAgBnF;;OAEG;IACG,aAAa,IAAI,OAAO,CAC5B,KAAK,CAAC;QACJ,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CACH;IAID;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsDzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+B3B,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IASzC;;OAEG;IACG,yBAAyB,CAC7B,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,aAAa,EAC5B,MAAM,CAAC,EAAE,OAAO,gBAAgB,EAAE,WAAW,EAC7C,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,sBAAsB,EAAE,CAAC;IA+NpC;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC;QACnC,eAAe,EAAE,OAAO,CAAC;QACzB,UAAU,EAAE,OAAO,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IAmBF;;OAEG;YACW,sBAAsB;IAiEpC;;OAEG;YACW,4BAA4B;IA4B1C;;OAEG;YACW,+BAA+B;IAiF7C;;OAEG;YACW,6BAA6B;IAyB3C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IA4F3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAelB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8B5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAoBhC,OAAO,CAAC,WAAW;IAqBnB,OAAO,CAAC,QAAQ;YAKF,eAAe;IAU7B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAiE5B"}
|
package/dist/config.d.ts
CHANGED
|
@@ -37,6 +37,11 @@ export declare class ConfigManager {
|
|
|
37
37
|
* Find the root directory of the Visor package
|
|
38
38
|
*/
|
|
39
39
|
private findPackageRoot;
|
|
40
|
+
/**
|
|
41
|
+
* Normalize 'checks' and 'steps' keys for backward compatibility
|
|
42
|
+
* Ensures both keys are present and contain the same data
|
|
43
|
+
*/
|
|
44
|
+
private normalizeStepsAndChecks;
|
|
40
45
|
/**
|
|
41
46
|
* Merge configuration with CLI options
|
|
42
47
|
*/
|
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;AAMzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,YAAY,EAS9C,CAAC;AAEX;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAYrB;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;
|
|
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;AAMzC;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,YAAY,EAS9C,CAAC;AAEX;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAYrB;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;IAmGvB;;OAEG;IACU,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBrF;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC;IAgBrD;;OAEG;IACI,wBAAwB,IAAI,WAAW,GAAG,IAAI;IA+DrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgB/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;IAmM3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA0DhC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAyE7B;;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"}
|
|
@@ -7,13 +7,14 @@ version: "1.0"
|
|
|
7
7
|
# Global AI provider settings - users should configure their preferred provider
|
|
8
8
|
# For CI testing, use --provider mock CLI flag instead
|
|
9
9
|
|
|
10
|
-
# Run up to 4
|
|
10
|
+
# Run up to 4 steps in parallel for faster execution
|
|
11
11
|
max_parallelism: 4
|
|
12
12
|
|
|
13
13
|
# Global fail condition - fail if critical or error severity issues are found
|
|
14
14
|
fail_if: "output.issues && output.issues.some(i => i.severity === 'critical' || i.severity === 'error')"
|
|
15
15
|
|
|
16
|
-
checks
|
|
16
|
+
# Workflow steps (formerly 'checks' - both keys are supported for backward compatibility)
|
|
17
|
+
steps:
|
|
17
18
|
# AI-powered release notes generation - manual execution only for release workflows
|
|
18
19
|
release-notes:
|
|
19
20
|
type: ai
|
|
@@ -20,9 +20,13 @@ export declare const configSchema: {
|
|
|
20
20
|
}];
|
|
21
21
|
readonly description: "Extends from other configurations - can be file path, HTTP(S) URL, or \"default\"";
|
|
22
22
|
};
|
|
23
|
+
readonly steps: {
|
|
24
|
+
readonly $ref: "#/definitions/Record%3Cstring%2CCheckConfig%3E";
|
|
25
|
+
readonly description: "Step configurations (recommended)";
|
|
26
|
+
};
|
|
23
27
|
readonly checks: {
|
|
24
28
|
readonly $ref: "#/definitions/Record%3Cstring%2CCheckConfig%3E";
|
|
25
|
-
readonly description: "Check configurations";
|
|
29
|
+
readonly description: "Check configurations (legacy, use 'steps' instead) - always populated after normalization";
|
|
26
30
|
};
|
|
27
31
|
readonly output: {
|
|
28
32
|
readonly $ref: "#/definitions/OutputConfig";
|
|
@@ -77,7 +81,7 @@ export declare const configSchema: {
|
|
|
77
81
|
readonly description: "Optional routing defaults for retry/goto/run policies";
|
|
78
82
|
};
|
|
79
83
|
};
|
|
80
|
-
readonly required: readonly ["version", "
|
|
84
|
+
readonly required: readonly ["version", "output"];
|
|
81
85
|
readonly additionalProperties: false;
|
|
82
86
|
readonly description: "Main Visor configuration";
|
|
83
87
|
readonly patternProperties: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/generated/config-schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/generated/config-schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAojCf,CAAC;AACX,eAAe,YAAY,CAAC"}
|
|
@@ -23,9 +23,13 @@
|
|
|
23
23
|
],
|
|
24
24
|
"description": "Extends from other configurations - can be file path, HTTP(S) URL, or \"default\""
|
|
25
25
|
},
|
|
26
|
+
"steps": {
|
|
27
|
+
"$ref": "#/definitions/Record%3Cstring%2CCheckConfig%3E",
|
|
28
|
+
"description": "Step configurations (recommended)"
|
|
29
|
+
},
|
|
26
30
|
"checks": {
|
|
27
31
|
"$ref": "#/definitions/Record%3Cstring%2CCheckConfig%3E",
|
|
28
|
-
"description": "Check configurations"
|
|
32
|
+
"description": "Check configurations (legacy, use 'steps' instead) - always populated after normalization"
|
|
29
33
|
},
|
|
30
34
|
"output": {
|
|
31
35
|
"$ref": "#/definitions/OutputConfig",
|
|
@@ -82,7 +86,6 @@
|
|
|
82
86
|
},
|
|
83
87
|
"required": [
|
|
84
88
|
"version",
|
|
85
|
-
"checks",
|
|
86
89
|
"output"
|
|
87
90
|
],
|
|
88
91
|
"additionalProperties": false,
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
process.env.VISOR_VERSION = '0.1.
|
|
2
|
+
process.env.VISOR_VERSION = '0.1.98';
|
|
3
3
|
process.env.PROBE_VERSION = '0.6.0-rc148';
|
|
4
4
|
/******/ (() => { // webpackBootstrap
|
|
5
5
|
/******/ var __webpack_modules__ = ({
|
|
@@ -258133,7 +258133,9 @@ class CheckExecutionEngine {
|
|
|
258133
258133
|
id.endsWith('/global_fail_if'));
|
|
258134
258134
|
});
|
|
258135
258135
|
// As a fallback, evaluate fail_if on the dependency result now
|
|
258136
|
-
if (!hasFatalFailure &&
|
|
258136
|
+
if (!hasFatalFailure &&
|
|
258137
|
+
config &&
|
|
258138
|
+
(config.fail_if || config.checks[depId]?.fail_if)) {
|
|
258137
258139
|
try {
|
|
258138
258140
|
hasFatalFailure = await this.failIfTriggered(depId, depRes, config);
|
|
258139
258141
|
}
|
|
@@ -261890,6 +261892,8 @@ class ConfigManager {
|
|
|
261890
261892
|
// Remove disabled checks (those with empty 'on' array)
|
|
261891
261893
|
parsedConfig = merger.removeDisabledChecks(parsedConfig);
|
|
261892
261894
|
}
|
|
261895
|
+
// Normalize 'checks' and 'steps' - support both keys for backward compatibility
|
|
261896
|
+
parsedConfig = this.normalizeStepsAndChecks(parsedConfig);
|
|
261893
261897
|
if (validate) {
|
|
261894
261898
|
this.validateConfig(parsedConfig);
|
|
261895
261899
|
}
|
|
@@ -261969,7 +261973,8 @@ class ConfigManager {
|
|
|
261969
261973
|
async getDefaultConfig() {
|
|
261970
261974
|
return {
|
|
261971
261975
|
version: '1.0',
|
|
261972
|
-
|
|
261976
|
+
steps: {},
|
|
261977
|
+
checks: {}, // Keep for backward compatibility
|
|
261973
261978
|
max_parallelism: 3,
|
|
261974
261979
|
output: {
|
|
261975
261980
|
pr_comment: {
|
|
@@ -262011,10 +262016,12 @@ class ConfigManager {
|
|
|
262011
262016
|
// Always log to stderr to avoid contaminating formatted output
|
|
262012
262017
|
console.error(`📦 Loading bundled default configuration from ${bundledConfigPath}`);
|
|
262013
262018
|
const configContent = fs.readFileSync(bundledConfigPath, 'utf8');
|
|
262014
|
-
|
|
262019
|
+
let parsedConfig = yaml.load(configContent);
|
|
262015
262020
|
if (!parsedConfig || typeof parsedConfig !== 'object') {
|
|
262016
262021
|
return null;
|
|
262017
262022
|
}
|
|
262023
|
+
// Normalize 'checks' and 'steps' for backward compatibility
|
|
262024
|
+
parsedConfig = this.normalizeStepsAndChecks(parsedConfig);
|
|
262018
262025
|
// Validate and merge with defaults
|
|
262019
262026
|
this.validateConfig(parsedConfig);
|
|
262020
262027
|
return this.mergeWithDefaults(parsedConfig);
|
|
@@ -262050,6 +262057,26 @@ class ConfigManager {
|
|
|
262050
262057
|
}
|
|
262051
262058
|
return null;
|
|
262052
262059
|
}
|
|
262060
|
+
/**
|
|
262061
|
+
* Normalize 'checks' and 'steps' keys for backward compatibility
|
|
262062
|
+
* Ensures both keys are present and contain the same data
|
|
262063
|
+
*/
|
|
262064
|
+
normalizeStepsAndChecks(config) {
|
|
262065
|
+
// If both are present, 'steps' takes precedence
|
|
262066
|
+
if (config.steps && config.checks) {
|
|
262067
|
+
// Use steps as the source of truth
|
|
262068
|
+
config.checks = config.steps;
|
|
262069
|
+
}
|
|
262070
|
+
else if (config.steps && !config.checks) {
|
|
262071
|
+
// Copy steps to checks for internal compatibility
|
|
262072
|
+
config.checks = config.steps;
|
|
262073
|
+
}
|
|
262074
|
+
else if (config.checks && !config.steps) {
|
|
262075
|
+
// Copy checks to steps for forward compatibility
|
|
262076
|
+
config.steps = config.checks;
|
|
262077
|
+
}
|
|
262078
|
+
return config;
|
|
262079
|
+
}
|
|
262053
262080
|
/**
|
|
262054
262081
|
* Merge configuration with CLI options
|
|
262055
262082
|
*/
|
|
@@ -262116,15 +262143,18 @@ class ConfigManager {
|
|
|
262116
262143
|
});
|
|
262117
262144
|
}
|
|
262118
262145
|
// Unknown key warnings are produced by Ajv using the pre-generated schema.
|
|
262119
|
-
|
|
262146
|
+
// Validate that either 'checks' or 'steps' is present
|
|
262147
|
+
if (!config.checks && !config.steps) {
|
|
262120
262148
|
errors.push({
|
|
262121
|
-
field: 'checks',
|
|
262122
|
-
message: 'Missing required field: checks',
|
|
262149
|
+
field: 'checks/steps',
|
|
262150
|
+
message: 'Missing required field: either "checks" or "steps" must be defined. "steps" is recommended for new configurations.',
|
|
262123
262151
|
});
|
|
262124
262152
|
}
|
|
262125
|
-
|
|
262153
|
+
// Use normalized checks for validation (both should be present after normalization)
|
|
262154
|
+
const checksToValidate = config.checks || config.steps;
|
|
262155
|
+
if (checksToValidate) {
|
|
262126
262156
|
// Validate each check configuration
|
|
262127
|
-
for (const [checkName, checkConfig] of Object.entries(
|
|
262157
|
+
for (const [checkName, checkConfig] of Object.entries(checksToValidate)) {
|
|
262128
262158
|
// Default type to 'ai' if not specified
|
|
262129
262159
|
if (!checkConfig.type) {
|
|
262130
262160
|
checkConfig.type = 'ai';
|
|
@@ -263811,9 +263841,13 @@ exports.configSchema = {
|
|
|
263811
263841
|
],
|
|
263812
263842
|
description: 'Extends from other configurations - can be file path, HTTP(S) URL, or "default"',
|
|
263813
263843
|
},
|
|
263844
|
+
steps: {
|
|
263845
|
+
$ref: '#/definitions/Record%3Cstring%2CCheckConfig%3E',
|
|
263846
|
+
description: 'Step configurations (recommended)',
|
|
263847
|
+
},
|
|
263814
263848
|
checks: {
|
|
263815
263849
|
$ref: '#/definitions/Record%3Cstring%2CCheckConfig%3E',
|
|
263816
|
-
description:
|
|
263850
|
+
description: "Check configurations (legacy, use 'steps' instead) - always populated after normalization",
|
|
263817
263851
|
},
|
|
263818
263852
|
output: {
|
|
263819
263853
|
$ref: '#/definitions/OutputConfig',
|
|
@@ -263868,7 +263902,7 @@ exports.configSchema = {
|
|
|
263868
263902
|
description: 'Optional routing defaults for retry/goto/run policies',
|
|
263869
263903
|
},
|
|
263870
263904
|
},
|
|
263871
|
-
required: ['version', '
|
|
263905
|
+
required: ['version', 'output'],
|
|
263872
263906
|
additionalProperties: false,
|
|
263873
263907
|
description: 'Main Visor configuration',
|
|
263874
263908
|
patternProperties: {
|
|
@@ -276827,10 +276861,12 @@ class ConfigLoader {
|
|
|
276827
276861
|
// Always log to stderr to avoid contaminating formatted output
|
|
276828
276862
|
console.error(`📦 Loading bundled default configuration from ${defaultConfigPath}`);
|
|
276829
276863
|
const content = fs.readFileSync(defaultConfigPath, 'utf8');
|
|
276830
|
-
|
|
276864
|
+
let config = yaml.load(content);
|
|
276831
276865
|
if (!config || typeof config !== 'object') {
|
|
276832
276866
|
throw new Error('Invalid default configuration');
|
|
276833
276867
|
}
|
|
276868
|
+
// Normalize 'checks' and 'steps' for backward compatibility
|
|
276869
|
+
config = this.normalizeStepsAndChecks(config);
|
|
276834
276870
|
// Default configs shouldn't have extends, but handle it just in case
|
|
276835
276871
|
if (config.extends) {
|
|
276836
276872
|
return await this.processExtends(config);
|
|
@@ -276980,6 +277016,26 @@ class ConfigLoader {
|
|
|
276980
277016
|
this.loadedConfigs.clear();
|
|
276981
277017
|
this.clearCache();
|
|
276982
277018
|
}
|
|
277019
|
+
/**
|
|
277020
|
+
* Normalize 'checks' and 'steps' keys for backward compatibility
|
|
277021
|
+
* Ensures both keys are present and contain the same data
|
|
277022
|
+
*/
|
|
277023
|
+
normalizeStepsAndChecks(config) {
|
|
277024
|
+
// If both are present, 'steps' takes precedence
|
|
277025
|
+
if (config.steps && config.checks) {
|
|
277026
|
+
// Use steps as the source of truth
|
|
277027
|
+
config.checks = config.steps;
|
|
277028
|
+
}
|
|
277029
|
+
else if (config.steps && !config.checks) {
|
|
277030
|
+
// Copy steps to checks for internal compatibility
|
|
277031
|
+
config.checks = config.steps;
|
|
277032
|
+
}
|
|
277033
|
+
else if (config.checks && !config.steps) {
|
|
277034
|
+
// Copy checks to steps for forward compatibility
|
|
277035
|
+
config.steps = config.checks;
|
|
277036
|
+
}
|
|
277037
|
+
return config;
|
|
277038
|
+
}
|
|
276983
277039
|
}
|
|
276984
277040
|
exports.ConfigLoader = ConfigLoader;
|
|
276985
277041
|
|
|
@@ -398077,7 +398133,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"assert":true,"node:assert":[">= 14.1
|
|
|
398077
398133
|
/***/ ((module) => {
|
|
398078
398134
|
|
|
398079
398135
|
"use strict";
|
|
398080
|
-
module.exports = /*#__PURE__*/JSON.parse('{"name":"@probelabs/visor","version":"0.1.
|
|
398136
|
+
module.exports = /*#__PURE__*/JSON.parse('{"name":"@probelabs/visor","version":"0.1.98","main":"dist/index.js","bin":{"visor":"./dist/index.js"},"exports":{".":{"require":"./dist/index.js","import":"./dist/index.js"},"./sdk":{"types":"./dist/sdk/sdk.d.ts","import":"./dist/sdk/sdk.mjs","require":"./dist/sdk/sdk.js"},"./cli":{"require":"./dist/index.js"}},"files":["dist/","defaults/","action.yml","README.md","LICENSE"],"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"scripts":{"build:cli":"ncc build src/index.ts -o dist && cp -r defaults dist/ && cp -r output dist/ && node scripts/inject-version.js && echo \'#!/usr/bin/env node\' | cat - dist/index.js > temp && mv temp dist/index.js && chmod +x dist/index.js","build:sdk":"tsup src/sdk.ts --dts --sourcemap --format esm,cjs --out-dir dist/sdk","build":"npm run build:cli && npm run build:sdk","test":"jest","prepublishOnly":"npm run build","test:watch":"jest --watch","test:coverage":"jest --coverage","lint":"eslint src tests --ext .ts","lint:fix":"eslint src tests --ext .ts --fix","format":"prettier --write src tests","format:check":"prettier --check src tests","clean":"","prebuild":"npm run clean && node scripts/generate-config-schema.js","pretest":"node scripts/generate-config-schema.js && npm run build:cli","prepare":"husky","pre-commit":"lint-staged","deploy:site":"cd site && npx wrangler pages deploy . --project-name=visor-site --commit-dirty=true","deploy:worker":"npx wrangler deploy","deploy":"npm run deploy:site && npm run deploy:worker","release":"./scripts/release.sh","release:patch":"./scripts/release.sh patch","release:minor":"./scripts/release.sh minor","release:major":"./scripts/release.sh major","release:prerelease":"./scripts/release.sh prerelease","docs:validate":"node scripts/validate-readme-links.js","workshop:setup":"npm install -D reveal-md@6.1.2","workshop:serve":"cd workshop && reveal-md slides.md -w","workshop:export":"reveal-md workshop/slides.md --static workshop/build","workshop:pdf":"reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter","workshop:pdf:ci":"reveal-md workshop/slides.md --print workshop/Visor-Workshop.pdf --print-size letter --puppeteer-launch-args=\\"--no-sandbox --disable-dev-shm-usage\\"","workshop:pdf:a4":"reveal-md workshop/slides.md --print workshop/Visor-Workshop-A4.pdf --print-size A4","workshop:build":"npm run workshop:export && npm run workshop:pdf"},"keywords":["code-review","ai","github-action","cli","pr-review","visor"],"author":"Probe Labs","license":"MIT","description":"AI-powered code review tool for GitHub Pull Requests - CLI and GitHub Action","repository":{"type":"git","url":"git+https://github.com/probelabs/visor.git"},"bugs":{"url":"https://github.com/probelabs/visor/issues"},"homepage":"https://github.com/probelabs/visor#readme","dependencies":{"@actions/core":"^1.11.1","@modelcontextprotocol/sdk":"^1.20.1","@nyariv/sandboxjs":"^0.8.25","@octokit/action":"^8.0.2","@octokit/auth-app":"^8.1.0","@octokit/core":"^7.0.3","@octokit/rest":"^22.0.0","@opentelemetry/api":"^1.9.0","@opentelemetry/core":"^1.30.1","@opentelemetry/exporter-trace-otlp-grpc":"^0.203.0","@opentelemetry/exporter-trace-otlp-http":"^0.203.0","@opentelemetry/instrumentation":"^0.203.0","@opentelemetry/resources":"^1.30.1","@opentelemetry/sdk-metrics":"^1.30.1","@opentelemetry/sdk-node":"^0.203.0","@opentelemetry/sdk-trace-base":"^1.30.1","@opentelemetry/semantic-conventions":"^1.30.1","@probelabs/probe":"^0.6.0-rc148","@types/commander":"^2.12.0","@types/uuid":"^10.0.0","ajv":"^8.17.1","ajv-formats":"^3.0.1","cli-table3":"^0.6.5","commander":"^14.0.0","dotenv":"^17.2.3","js-yaml":"^4.1.0","liquidjs":"^10.21.1","node-cron":"^3.0.3","simple-git":"^3.28.0","uuid":"^11.1.0"},"devDependencies":{"@eslint/js":"^9.34.0","@kie/act-js":"^2.6.2","@kie/mock-github":"^2.0.1","@types/jest":"^30.0.0","@types/js-yaml":"^4.0.9","@types/node":"^24.3.0","@types/node-cron":"^3.0.11","@typescript-eslint/eslint-plugin":"^8.42.0","@typescript-eslint/parser":"^8.42.0","@vercel/ncc":"^0.38.4","eslint":"^9.34.0","eslint-config-prettier":"^10.1.8","eslint-plugin-prettier":"^5.5.4","husky":"^9.1.7","jest":"^30.1.3","lint-staged":"^16.1.6","prettier":"^3.6.2","reveal-md":"^6.1.2","ts-jest":"^29.4.1","ts-json-schema-generator":"^1.5.1","ts-node":"^10.9.2","tsup":"^8.5.0","typescript":"^5.9.2","wrangler":"^3.0.0"},"peerDependencies":{"@anthropic/claude-code-sdk":"^1.0.0"},"peerDependenciesMeta":{"@anthropic/claude-code-sdk":{"optional":true}},"directories":{"test":"tests"},"lint-staged":{"src/**/*.{ts,js}":["eslint --fix","prettier --write"],"tests/**/*.{ts,js}":["eslint --fix","prettier --write"],"*.{json,md,yml,yaml}":["prettier --write"]}}');
|
|
398081
398137
|
|
|
398082
398138
|
/***/ })
|
|
398083
398139
|
|
package/dist/sdk/{check-execution-engine-S7BFPVWA.mjs → check-execution-engine-W5FLIWZL.mjs}
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckExecutionEngine
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-POYXI3MQ.mjs";
|
|
4
4
|
import "./chunk-YXOWIDEF.mjs";
|
|
5
5
|
import "./chunk-I3GQJIR7.mjs";
|
|
6
6
|
import "./chunk-IG3BFIIN.mjs";
|
|
@@ -8,4 +8,4 @@ import "./chunk-WMJKH4XE.mjs";
|
|
|
8
8
|
export {
|
|
9
9
|
CheckExecutionEngine
|
|
10
10
|
};
|
|
11
|
-
//# sourceMappingURL=check-execution-engine-
|
|
11
|
+
//# sourceMappingURL=check-execution-engine-W5FLIWZL.mjs.map
|
|
@@ -2277,7 +2277,7 @@ var PRReviewer = class {
|
|
|
2277
2277
|
async reviewPR(owner, repo, prNumber, prInfo, options = {}) {
|
|
2278
2278
|
const { debug = false, config, checks } = options;
|
|
2279
2279
|
if (config && checks && checks.length > 0) {
|
|
2280
|
-
const { CheckExecutionEngine: CheckExecutionEngine2 } = await import("./check-execution-engine-
|
|
2280
|
+
const { CheckExecutionEngine: CheckExecutionEngine2 } = await import("./check-execution-engine-W5FLIWZL.mjs");
|
|
2281
2281
|
const engine = new CheckExecutionEngine2();
|
|
2282
2282
|
const { results } = await engine.executeGroupedChecks(
|
|
2283
2283
|
prInfo,
|
|
@@ -13286,4 +13286,4 @@ ${result.value.result.debug.rawResponse}`;
|
|
|
13286
13286
|
export {
|
|
13287
13287
|
CheckExecutionEngine
|
|
13288
13288
|
};
|
|
13289
|
-
//# sourceMappingURL=chunk-
|
|
13289
|
+
//# sourceMappingURL=chunk-POYXI3MQ.mjs.map
|