@probelabs/visor 0.1.79 → 0.1.80
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/check-execution-engine.d.ts.map +1 -1
- package/dist/index.js +138 -20
- package/dist/providers/command-check-provider.d.ts +6 -0
- package/dist/providers/command-check-provider.d.ts.map +1 -1
- package/dist/sdk/{check-execution-engine-XBKOCBEK.mjs → check-execution-engine-2EQWRXWI.mjs} +2 -2
- package/dist/sdk/{chunk-HDGNSOMS.mjs → chunk-GNA5GPF7.mjs} +103 -13
- package/dist/sdk/chunk-GNA5GPF7.mjs.map +1 -0
- package/dist/sdk/sdk.js +101 -11
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +1 -1
- package/package.json +1 -1
- package/dist/sdk/chunk-HDGNSOMS.mjs.map +0 -1
- /package/dist/sdk/{check-execution-engine-XBKOCBEK.mjs.map → check-execution-engine-2EQWRXWI.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
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;AAKvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AAcrE;;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;gBAEzD,gBAAgB,CAAC,EAAE,MAAM;IAYrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,MAAM;YASA,KAAK;IAInB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;YACW,kBAAkB;IAwahC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsD1B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAiJ5E;;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;IA2G3B;;OAEG;YACW,yBAAyB;IAoDvC;;OAEG;YACW,mCAAmC;IAuCjD;;OAEG;YACW,oCAAoC;IAwDlD;;;;;;;;OAQG;YACW,oBAAoB;IAqElC;;;;;;;;OAQG;YACW,sBAAsB;IAuBpC;;OAEG;YACW,kBAAkB;IA+EhC;;OAEG;YACW,4BAA4B;
|
|
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;AAKvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;AAcrE;;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;gBAEzD,gBAAgB,CAAC,EAAE,MAAM;IAYrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,MAAM;YASA,KAAK;IAInB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;YACW,kBAAkB;IAwahC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsD1B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,cAAc,CAAC;IAiJ5E;;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;IA2G3B;;OAEG;YACW,yBAAyB;IAoDvC;;OAEG;YACW,mCAAmC;IAuCjD;;OAEG;YACW,oCAAoC;IAwDlD;;;;;;;;OAQG;YACW,oBAAoB;IAqElC;;;;;;;;OAQG;YACW,sBAAsB;IAuBpC;;OAEG;YACW,kBAAkB;IA+EhC;;OAEG;YACW,4BAA4B;IAg7B1C;;OAEG;YACW,qBAAqB;IAyJnC;;OAEG;YACW,4BAA4B;IAgD1C;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAwIvC;;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,GAC5C,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAqFpC;;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;IA6E7C;;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,UAAU;IAelB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;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/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.80';
|
|
3
3
|
process.env.PROBE_VERSION = '0.6.0-rc122';
|
|
4
4
|
/******/ (() => { // webpackBootstrap
|
|
5
5
|
/******/ var __webpack_modules__ = ({
|
|
@@ -102520,21 +102520,30 @@ class CheckExecutionEngine {
|
|
|
102520
102520
|
dependencyResults.set(depId, depResult);
|
|
102521
102521
|
}
|
|
102522
102522
|
}
|
|
102523
|
-
// If any direct dependency failed
|
|
102523
|
+
// If any direct dependency failed or was skipped, skip this check
|
|
102524
102524
|
const directDeps = checkConfig.depends_on || [];
|
|
102525
102525
|
const failedDeps = [];
|
|
102526
102526
|
for (const depId of directDeps) {
|
|
102527
102527
|
const depRes = results.get(depId);
|
|
102528
102528
|
if (!depRes)
|
|
102529
102529
|
continue;
|
|
102530
|
-
//
|
|
102531
|
-
const
|
|
102530
|
+
// Check if dependency was skipped
|
|
102531
|
+
const wasSkipped = (depRes.issues || []).some(issue => {
|
|
102532
102532
|
const id = issue.ruleId || '';
|
|
102533
|
-
return
|
|
102533
|
+
return id.endsWith('/__skipped');
|
|
102534
|
+
});
|
|
102535
|
+
// Check for fatal failures: command provider execution/transform failures and forEach iteration errors
|
|
102536
|
+
const hasFatalFailure = (depRes.issues || []).some(issue => {
|
|
102537
|
+
const id = issue.ruleId || '';
|
|
102538
|
+
return (id === 'command/execution_error' ||
|
|
102539
|
+
id.endsWith('/command/execution_error') ||
|
|
102540
|
+
id === 'command/transform_js_error' ||
|
|
102534
102541
|
id.endsWith('/command/transform_js_error') ||
|
|
102535
|
-
id
|
|
102542
|
+
id === 'command/transform_error' ||
|
|
102543
|
+
id.endsWith('/command/transform_error') ||
|
|
102544
|
+
id.endsWith('/forEach/iteration_error'));
|
|
102536
102545
|
});
|
|
102537
|
-
if (
|
|
102546
|
+
if (wasSkipped || hasFatalFailure)
|
|
102538
102547
|
failedDeps.push(depId);
|
|
102539
102548
|
}
|
|
102540
102549
|
if (failedDeps.length > 0) {
|
|
@@ -102606,8 +102615,8 @@ class CheckExecutionEngine {
|
|
|
102606
102615
|
if (debug) {
|
|
102607
102616
|
log(`🔄 Debug: Check "${checkName}" depends on forEach check "${forEachParentName}", executing ${forEachItems.length} times`);
|
|
102608
102617
|
}
|
|
102609
|
-
// Log forEach processing start
|
|
102610
|
-
logger_1.logger.info(`
|
|
102618
|
+
// Log forEach processing start (non-debug)
|
|
102619
|
+
logger_1.logger.info(` forEach: processing ${forEachItems.length} items from "${forEachParentName}"...`);
|
|
102611
102620
|
const allIssues = [];
|
|
102612
102621
|
const allOutputs = [];
|
|
102613
102622
|
const aggregatedContents = [];
|
|
@@ -102678,8 +102687,19 @@ class CheckExecutionEngine {
|
|
|
102678
102687
|
parent: forEachParentName,
|
|
102679
102688
|
});
|
|
102680
102689
|
// Record iteration completion
|
|
102690
|
+
// Check if this iteration had fatal errors
|
|
102691
|
+
const hadFatalError = (itemResult.issues || []).some(issue => {
|
|
102692
|
+
const id = issue.ruleId || '';
|
|
102693
|
+
return (id === 'command/execution_error' ||
|
|
102694
|
+
id.endsWith('/command/execution_error') ||
|
|
102695
|
+
id === 'command/transform_js_error' ||
|
|
102696
|
+
id.endsWith('/command/transform_js_error') ||
|
|
102697
|
+
id === 'command/transform_error' ||
|
|
102698
|
+
id.endsWith('/command/transform_error'));
|
|
102699
|
+
});
|
|
102681
102700
|
const iterationDuration = (Date.now() - iterationStart) / 1000;
|
|
102682
|
-
this.recordIterationComplete(checkName, iterationStart,
|
|
102701
|
+
this.recordIterationComplete(checkName, iterationStart, !hadFatalError, // Success if no fatal errors
|
|
102702
|
+
itemResult.issues || [], itemResult.output);
|
|
102683
102703
|
// Log iteration progress
|
|
102684
102704
|
logger_1.logger.info(` ✔ ${itemIndex + 1}/${forEachItems.length} (${iterationDuration.toFixed(1)}s)`);
|
|
102685
102705
|
return { index: itemIndex, itemResult };
|
|
@@ -102691,7 +102711,22 @@ class CheckExecutionEngine {
|
|
|
102691
102711
|
const forEachResults = await this.executeWithLimitedParallelism(itemTasks, forEachConcurrency, false);
|
|
102692
102712
|
for (const result of forEachResults) {
|
|
102693
102713
|
if (result.status === 'rejected') {
|
|
102694
|
-
|
|
102714
|
+
// Instead of throwing, record the failure and continue with other iterations
|
|
102715
|
+
const error = result.reason;
|
|
102716
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
102717
|
+
// Create an error issue for this failed iteration
|
|
102718
|
+
allIssues.push({
|
|
102719
|
+
ruleId: `${checkName}/forEach/iteration_error`,
|
|
102720
|
+
severity: 'error',
|
|
102721
|
+
category: 'logic',
|
|
102722
|
+
message: `forEach iteration failed: ${errorMessage}`,
|
|
102723
|
+
file: '',
|
|
102724
|
+
line: 0,
|
|
102725
|
+
});
|
|
102726
|
+
if (debug) {
|
|
102727
|
+
log(`🔄 Debug: forEach iteration for check "${checkName}" failed: ${errorMessage}`);
|
|
102728
|
+
}
|
|
102729
|
+
continue;
|
|
102695
102730
|
}
|
|
102696
102731
|
// Skip results from skipped items (those that failed if condition)
|
|
102697
102732
|
if (result.value.skipped) {
|
|
@@ -102749,7 +102784,18 @@ class CheckExecutionEngine {
|
|
|
102749
102784
|
// Execute with retry/routing semantics
|
|
102750
102785
|
finalResult = await this.executeWithRouting(checkName, checkConfig, provider, providerConfig, prInfo, dependencyResults, sessionInfo, config, dependencyGraph, debug, results);
|
|
102751
102786
|
// Record normal (non-forEach) execution
|
|
102752
|
-
|
|
102787
|
+
// Check if this check had fatal errors
|
|
102788
|
+
const hadFatalError = (finalResult.issues || []).some(issue => {
|
|
102789
|
+
const id = issue.ruleId || '';
|
|
102790
|
+
return (id === 'command/execution_error' ||
|
|
102791
|
+
id.endsWith('/command/execution_error') ||
|
|
102792
|
+
id === 'command/transform_js_error' ||
|
|
102793
|
+
id.endsWith('/command/transform_js_error') ||
|
|
102794
|
+
id === 'command/transform_error' ||
|
|
102795
|
+
id.endsWith('/command/transform_error'));
|
|
102796
|
+
});
|
|
102797
|
+
this.recordIterationComplete(checkName, checkStartTime, !hadFatalError, // Success if no fatal errors
|
|
102798
|
+
finalResult.issues || [], finalResult.output);
|
|
102753
102799
|
if (checkConfig.forEach) {
|
|
102754
102800
|
try {
|
|
102755
102801
|
const finalResultWithOutput = finalResult;
|
|
@@ -102830,11 +102876,24 @@ class CheckExecutionEngine {
|
|
|
102830
102876
|
const result = levelResults[i];
|
|
102831
102877
|
const checkConfig = config.checks[checkName];
|
|
102832
102878
|
if (result.status === 'fulfilled' && result.value.result && !result.value.error) {
|
|
102833
|
-
//
|
|
102879
|
+
// For skipped checks, store a marker so dependent checks can detect the skip
|
|
102834
102880
|
if (result.value.skipped) {
|
|
102835
102881
|
if (debug) {
|
|
102836
|
-
log(`🔧 Debug:
|
|
102882
|
+
log(`🔧 Debug: Storing skip marker for skipped check "${checkName}"`);
|
|
102837
102883
|
}
|
|
102884
|
+
// Store a special marker result with a skip issue so dependencies can detect it
|
|
102885
|
+
results.set(checkName, {
|
|
102886
|
+
issues: [
|
|
102887
|
+
{
|
|
102888
|
+
ruleId: `${checkName}/__skipped`,
|
|
102889
|
+
severity: 'info',
|
|
102890
|
+
category: 'logic',
|
|
102891
|
+
message: 'Check was skipped',
|
|
102892
|
+
file: '',
|
|
102893
|
+
line: 0,
|
|
102894
|
+
},
|
|
102895
|
+
],
|
|
102896
|
+
});
|
|
102838
102897
|
continue;
|
|
102839
102898
|
}
|
|
102840
102899
|
const reviewResult = result.value.result;
|
|
@@ -102864,6 +102923,8 @@ class CheckExecutionEngine {
|
|
|
102864
102923
|
else {
|
|
102865
102924
|
normalizedOutput = [rawOutput];
|
|
102866
102925
|
}
|
|
102926
|
+
// Log forEach items found (non-debug)
|
|
102927
|
+
logger_1.logger.info(` Found ${normalizedOutput.length} items for forEach iteration`);
|
|
102867
102928
|
try {
|
|
102868
102929
|
const preview = JSON.stringify(normalizedOutput);
|
|
102869
102930
|
logger_1.logger.debug(`🔧 Debug: Check "${checkName}" forEach output: ${preview?.slice(0, 200) || '(empty)'}`);
|
|
@@ -103166,7 +103227,9 @@ class CheckExecutionEngine {
|
|
|
103166
103227
|
debugInfo.push(`✅ Check "${checkName}" completed: ${(result.issues || []).length} issues found (level ${executionGroup.level})`);
|
|
103167
103228
|
}
|
|
103168
103229
|
// Issues are already prefixed and enriched with group/schema info
|
|
103169
|
-
|
|
103230
|
+
// Filter out internal __skipped markers
|
|
103231
|
+
const nonInternalIssues = (result.issues || []).filter(issue => !issue.ruleId?.endsWith('/__skipped'));
|
|
103232
|
+
aggregatedIssues.push(...nonInternalIssues);
|
|
103170
103233
|
const resultSummary = result;
|
|
103171
103234
|
const resultContent = resultSummary.content;
|
|
103172
103235
|
if (typeof resultContent === 'string' && resultContent.trim()) {
|
|
@@ -112708,8 +112771,22 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
112708
112771
|
output = parsed;
|
|
112709
112772
|
}
|
|
112710
112773
|
catch {
|
|
112711
|
-
//
|
|
112712
|
-
|
|
112774
|
+
// Try to extract JSON from the end of output (for commands with debug logs)
|
|
112775
|
+
const extracted = this.extractJsonFromEnd(rawOutput);
|
|
112776
|
+
if (extracted) {
|
|
112777
|
+
try {
|
|
112778
|
+
output = JSON.parse(extracted);
|
|
112779
|
+
logger_1.logger.debug(`🔧 Debug: Extracted and parsed JSON from end of output (${extracted.length} chars from ${rawOutput.length} total)`);
|
|
112780
|
+
}
|
|
112781
|
+
catch {
|
|
112782
|
+
// Extraction found something but it's not valid JSON
|
|
112783
|
+
output = rawOutput;
|
|
112784
|
+
}
|
|
112785
|
+
}
|
|
112786
|
+
else {
|
|
112787
|
+
// Not JSON, keep as string
|
|
112788
|
+
output = rawOutput;
|
|
112789
|
+
}
|
|
112713
112790
|
}
|
|
112714
112791
|
// Apply transform if specified (Liquid or JavaScript)
|
|
112715
112792
|
let finalOutput = output;
|
|
@@ -112945,6 +113022,7 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
112945
113022
|
* - If it's a JSON string, expose parsed properties via Proxy (e.g., value.key)
|
|
112946
113023
|
* - When coerced to string (toString/valueOf/Symbol.toPrimitive), return the original raw string
|
|
112947
113024
|
* - If parsing fails or value is not a string, return the value unchanged
|
|
113025
|
+
* - Attempts to extract JSON from the end of the output if full parse fails
|
|
112948
113026
|
*/
|
|
112949
113027
|
makeJsonSmart(value) {
|
|
112950
113028
|
if (typeof value !== 'string') {
|
|
@@ -112952,12 +113030,28 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
112952
113030
|
}
|
|
112953
113031
|
const raw = value;
|
|
112954
113032
|
let parsed;
|
|
113033
|
+
// First try: parse the entire string as JSON
|
|
112955
113034
|
try {
|
|
112956
113035
|
parsed = JSON.parse(raw);
|
|
112957
113036
|
}
|
|
112958
113037
|
catch {
|
|
112959
|
-
//
|
|
112960
|
-
|
|
113038
|
+
// Second try: extract JSON from the end of the output
|
|
113039
|
+
// Look for { or [ at the start of a line and take everything after it
|
|
113040
|
+
const jsonMatch = this.extractJsonFromEnd(raw);
|
|
113041
|
+
if (jsonMatch) {
|
|
113042
|
+
try {
|
|
113043
|
+
parsed = JSON.parse(jsonMatch);
|
|
113044
|
+
logger_1.logger.debug(`🔧 Debug: Extracted JSON from end of output (${jsonMatch.length} chars from ${raw.length} total)`);
|
|
113045
|
+
}
|
|
113046
|
+
catch {
|
|
113047
|
+
// Not valid JSON even after extraction, return original string
|
|
113048
|
+
return raw;
|
|
113049
|
+
}
|
|
113050
|
+
}
|
|
113051
|
+
else {
|
|
113052
|
+
// Not JSON, return original string
|
|
113053
|
+
return raw;
|
|
113054
|
+
}
|
|
112961
113055
|
}
|
|
112962
113056
|
// Use a boxed string so string methods still work via Proxy fallback
|
|
112963
113057
|
const boxed = new String(raw);
|
|
@@ -113010,6 +113104,30 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
|
|
|
113010
113104
|
};
|
|
113011
113105
|
return new Proxy(boxed, handler);
|
|
113012
113106
|
}
|
|
113107
|
+
/**
|
|
113108
|
+
* Extract JSON from the end of a string that may contain logs/debug output
|
|
113109
|
+
* Looks for the last occurrence of { or [ and tries to parse from there
|
|
113110
|
+
*/
|
|
113111
|
+
extractJsonFromEnd(text) {
|
|
113112
|
+
// Strategy: Find the last line that starts with { or [
|
|
113113
|
+
// Then try to parse from that point to the end
|
|
113114
|
+
const lines = text.split('\n');
|
|
113115
|
+
// Search backwards for a line starting with { or [
|
|
113116
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
113117
|
+
const trimmed = lines[i].trim();
|
|
113118
|
+
if (trimmed.startsWith('{') || trimmed.startsWith('[')) {
|
|
113119
|
+
// Found potential JSON start - take everything from here to the end
|
|
113120
|
+
const candidate = lines.slice(i).join('\n');
|
|
113121
|
+
// Quick validation: does it look like valid JSON structure?
|
|
113122
|
+
const trimmedCandidate = candidate.trim();
|
|
113123
|
+
if ((trimmedCandidate.startsWith('{') && trimmedCandidate.endsWith('}')) ||
|
|
113124
|
+
(trimmedCandidate.startsWith('[') && trimmedCandidate.endsWith(']'))) {
|
|
113125
|
+
return trimmedCandidate;
|
|
113126
|
+
}
|
|
113127
|
+
}
|
|
113128
|
+
}
|
|
113129
|
+
return null;
|
|
113130
|
+
}
|
|
113013
113131
|
/**
|
|
113014
113132
|
* Recursively apply JSON-smart wrapper to outputs object values
|
|
113015
113133
|
*/
|
|
@@ -228692,7 +228810,7 @@ module.exports = /*#__PURE__*/JSON.parse('{"application/1d-interleaved-parityfec
|
|
|
228692
228810
|
/***/ ((module) => {
|
|
228693
228811
|
|
|
228694
228812
|
"use strict";
|
|
228695
|
-
module.exports = {"rE":"0.1.
|
|
228813
|
+
module.exports = {"rE":"0.1.80"};
|
|
228696
228814
|
|
|
228697
228815
|
/***/ })
|
|
228698
228816
|
|
|
@@ -20,8 +20,14 @@ export declare class CommandCheckProvider extends CheckProvider {
|
|
|
20
20
|
* - If it's a JSON string, expose parsed properties via Proxy (e.g., value.key)
|
|
21
21
|
* - When coerced to string (toString/valueOf/Symbol.toPrimitive), return the original raw string
|
|
22
22
|
* - If parsing fails or value is not a string, return the value unchanged
|
|
23
|
+
* - Attempts to extract JSON from the end of the output if full parse fails
|
|
23
24
|
*/
|
|
24
25
|
private makeJsonSmart;
|
|
26
|
+
/**
|
|
27
|
+
* Extract JSON from the end of a string that may contain logs/debug output
|
|
28
|
+
* Looks for the last occurrence of { or [ and tries to parse from there
|
|
29
|
+
*/
|
|
30
|
+
private extractJsonFromEnd;
|
|
25
31
|
/**
|
|
26
32
|
* Recursively apply JSON-smart wrapper to outputs object values
|
|
27
33
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/command-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAMzD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAU;;IAY1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAejD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC7C,OAAO,CAAC,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"command-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/command-check-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAMzD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAC,CAAU;;IAY1B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAejD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAC7C,OAAO,CAAC,aAAa,CAAC;IAyUzB,OAAO,CAAC,kBAAkB;IAkB1B;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAgFrB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,2BAA2B;IAgBnC,sBAAsB,IAAI,MAAM,EAAE;IAgB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;IAQ3B,OAAO,CAAC,uBAAuB;IAkD/B,OAAO,CAAC,uBAAuB;IAkB/B,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,cAAc;IAmEtB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,QAAQ;YAWF,qBAAqB;IAiBnC,OAAO,CAAC,uBAAuB;CA6ChC"}
|
package/dist/sdk/{check-execution-engine-XBKOCBEK.mjs → check-execution-engine-2EQWRXWI.mjs}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CheckExecutionEngine
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GNA5GPF7.mjs";
|
|
4
4
|
import "./chunk-FIL2OGF6.mjs";
|
|
5
5
|
import "./chunk-WMJKH4XE.mjs";
|
|
6
6
|
export {
|
|
7
7
|
CheckExecutionEngine
|
|
8
8
|
};
|
|
9
|
-
//# sourceMappingURL=check-execution-engine-
|
|
9
|
+
//# sourceMappingURL=check-execution-engine-2EQWRXWI.mjs.map
|
|
@@ -1493,7 +1493,7 @@ var PRReviewer = class {
|
|
|
1493
1493
|
async reviewPR(owner, repo, prNumber, prInfo, options = {}) {
|
|
1494
1494
|
const { debug = false, config, checks } = options;
|
|
1495
1495
|
if (config && checks && checks.length > 0) {
|
|
1496
|
-
const { CheckExecutionEngine: CheckExecutionEngine2 } = await import("./check-execution-engine-
|
|
1496
|
+
const { CheckExecutionEngine: CheckExecutionEngine2 } = await import("./check-execution-engine-2EQWRXWI.mjs");
|
|
1497
1497
|
const engine = new CheckExecutionEngine2();
|
|
1498
1498
|
const { results } = await engine.executeGroupedChecks(
|
|
1499
1499
|
prInfo,
|
|
@@ -3953,7 +3953,19 @@ var CommandCheckProvider = class extends CheckProvider {
|
|
|
3953
3953
|
const parsed = JSON.parse(rawOutput);
|
|
3954
3954
|
output = parsed;
|
|
3955
3955
|
} catch {
|
|
3956
|
-
|
|
3956
|
+
const extracted2 = this.extractJsonFromEnd(rawOutput);
|
|
3957
|
+
if (extracted2) {
|
|
3958
|
+
try {
|
|
3959
|
+
output = JSON.parse(extracted2);
|
|
3960
|
+
logger.debug(
|
|
3961
|
+
`\u{1F527} Debug: Extracted and parsed JSON from end of output (${extracted2.length} chars from ${rawOutput.length} total)`
|
|
3962
|
+
);
|
|
3963
|
+
} catch {
|
|
3964
|
+
output = rawOutput;
|
|
3965
|
+
}
|
|
3966
|
+
} else {
|
|
3967
|
+
output = rawOutput;
|
|
3968
|
+
}
|
|
3957
3969
|
}
|
|
3958
3970
|
let finalOutput = output;
|
|
3959
3971
|
if (transform) {
|
|
@@ -4172,6 +4184,7 @@ ${stderrOutput}` : `Command execution failed: ${errorMessage}`;
|
|
|
4172
4184
|
* - If it's a JSON string, expose parsed properties via Proxy (e.g., value.key)
|
|
4173
4185
|
* - When coerced to string (toString/valueOf/Symbol.toPrimitive), return the original raw string
|
|
4174
4186
|
* - If parsing fails or value is not a string, return the value unchanged
|
|
4187
|
+
* - Attempts to extract JSON from the end of the output if full parse fails
|
|
4175
4188
|
*/
|
|
4176
4189
|
makeJsonSmart(value) {
|
|
4177
4190
|
if (typeof value !== "string") {
|
|
@@ -4182,7 +4195,19 @@ ${stderrOutput}` : `Command execution failed: ${errorMessage}`;
|
|
|
4182
4195
|
try {
|
|
4183
4196
|
parsed = JSON.parse(raw);
|
|
4184
4197
|
} catch {
|
|
4185
|
-
|
|
4198
|
+
const jsonMatch = this.extractJsonFromEnd(raw);
|
|
4199
|
+
if (jsonMatch) {
|
|
4200
|
+
try {
|
|
4201
|
+
parsed = JSON.parse(jsonMatch);
|
|
4202
|
+
logger.debug(
|
|
4203
|
+
`\u{1F527} Debug: Extracted JSON from end of output (${jsonMatch.length} chars from ${raw.length} total)`
|
|
4204
|
+
);
|
|
4205
|
+
} catch {
|
|
4206
|
+
return raw;
|
|
4207
|
+
}
|
|
4208
|
+
} else {
|
|
4209
|
+
return raw;
|
|
4210
|
+
}
|
|
4186
4211
|
}
|
|
4187
4212
|
const boxed = new String(raw);
|
|
4188
4213
|
const handler = {
|
|
@@ -4231,6 +4256,24 @@ ${stderrOutput}` : `Command execution failed: ${errorMessage}`;
|
|
|
4231
4256
|
};
|
|
4232
4257
|
return new Proxy(boxed, handler);
|
|
4233
4258
|
}
|
|
4259
|
+
/**
|
|
4260
|
+
* Extract JSON from the end of a string that may contain logs/debug output
|
|
4261
|
+
* Looks for the last occurrence of { or [ and tries to parse from there
|
|
4262
|
+
*/
|
|
4263
|
+
extractJsonFromEnd(text) {
|
|
4264
|
+
const lines = text.split("\n");
|
|
4265
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
4266
|
+
const trimmed = lines[i].trim();
|
|
4267
|
+
if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
|
|
4268
|
+
const candidate = lines.slice(i).join("\n");
|
|
4269
|
+
const trimmedCandidate = candidate.trim();
|
|
4270
|
+
if (trimmedCandidate.startsWith("{") && trimmedCandidate.endsWith("}") || trimmedCandidate.startsWith("[") && trimmedCandidate.endsWith("]")) {
|
|
4271
|
+
return trimmedCandidate;
|
|
4272
|
+
}
|
|
4273
|
+
}
|
|
4274
|
+
}
|
|
4275
|
+
return null;
|
|
4276
|
+
}
|
|
4234
4277
|
/**
|
|
4235
4278
|
* Recursively apply JSON-smart wrapper to outputs object values
|
|
4236
4279
|
*/
|
|
@@ -6987,11 +7030,15 @@ ${expr}
|
|
|
6987
7030
|
for (const depId of directDeps) {
|
|
6988
7031
|
const depRes = results.get(depId);
|
|
6989
7032
|
if (!depRes) continue;
|
|
6990
|
-
const
|
|
7033
|
+
const wasSkipped = (depRes.issues || []).some((issue) => {
|
|
7034
|
+
const id = issue.ruleId || "";
|
|
7035
|
+
return id.endsWith("/__skipped");
|
|
7036
|
+
});
|
|
7037
|
+
const hasFatalFailure = (depRes.issues || []).some((issue) => {
|
|
6991
7038
|
const id = issue.ruleId || "";
|
|
6992
|
-
return id.endsWith("/command/execution_error") || id.endsWith("/command/transform_js_error") || id.endsWith("/command/transform_error");
|
|
7039
|
+
return id === "command/execution_error" || id.endsWith("/command/execution_error") || id === "command/transform_js_error" || id.endsWith("/command/transform_js_error") || id === "command/transform_error" || id.endsWith("/command/transform_error") || id.endsWith("/forEach/iteration_error");
|
|
6993
7040
|
});
|
|
6994
|
-
if (
|
|
7041
|
+
if (wasSkipped || hasFatalFailure) failedDeps.push(depId);
|
|
6995
7042
|
}
|
|
6996
7043
|
if (failedDeps.length > 0) {
|
|
6997
7044
|
this.recordSkip(checkName, "dependency_failed");
|
|
@@ -7057,7 +7104,9 @@ ${expr}
|
|
|
7057
7104
|
`\u{1F504} Debug: Check "${checkName}" depends on forEach check "${forEachParentName}", executing ${forEachItems.length} times`
|
|
7058
7105
|
);
|
|
7059
7106
|
}
|
|
7060
|
-
logger.info(
|
|
7107
|
+
logger.info(
|
|
7108
|
+
` forEach: processing ${forEachItems.length} items from "${forEachParentName}"...`
|
|
7109
|
+
);
|
|
7061
7110
|
const allIssues = [];
|
|
7062
7111
|
const allOutputs = [];
|
|
7063
7112
|
const aggregatedContents = [];
|
|
@@ -7134,11 +7183,16 @@ ${expr}
|
|
|
7134
7183
|
parent: forEachParentName
|
|
7135
7184
|
}
|
|
7136
7185
|
);
|
|
7186
|
+
const hadFatalError = (itemResult.issues || []).some((issue) => {
|
|
7187
|
+
const id = issue.ruleId || "";
|
|
7188
|
+
return id === "command/execution_error" || id.endsWith("/command/execution_error") || id === "command/transform_js_error" || id.endsWith("/command/transform_js_error") || id === "command/transform_error" || id.endsWith("/command/transform_error");
|
|
7189
|
+
});
|
|
7137
7190
|
const iterationDuration = (Date.now() - iterationStart) / 1e3;
|
|
7138
7191
|
this.recordIterationComplete(
|
|
7139
7192
|
checkName,
|
|
7140
7193
|
iterationStart,
|
|
7141
|
-
|
|
7194
|
+
!hadFatalError,
|
|
7195
|
+
// Success if no fatal errors
|
|
7142
7196
|
itemResult.issues || [],
|
|
7143
7197
|
itemResult.output
|
|
7144
7198
|
);
|
|
@@ -7163,7 +7217,22 @@ ${expr}
|
|
|
7163
7217
|
);
|
|
7164
7218
|
for (const result of forEachResults) {
|
|
7165
7219
|
if (result.status === "rejected") {
|
|
7166
|
-
|
|
7220
|
+
const error = result.reason;
|
|
7221
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
7222
|
+
allIssues.push({
|
|
7223
|
+
ruleId: `${checkName}/forEach/iteration_error`,
|
|
7224
|
+
severity: "error",
|
|
7225
|
+
category: "logic",
|
|
7226
|
+
message: `forEach iteration failed: ${errorMessage}`,
|
|
7227
|
+
file: "",
|
|
7228
|
+
line: 0
|
|
7229
|
+
});
|
|
7230
|
+
if (debug) {
|
|
7231
|
+
log2(
|
|
7232
|
+
`\u{1F504} Debug: forEach iteration for check "${checkName}" failed: ${errorMessage}`
|
|
7233
|
+
);
|
|
7234
|
+
}
|
|
7235
|
+
continue;
|
|
7167
7236
|
}
|
|
7168
7237
|
if (result.value.skipped) {
|
|
7169
7238
|
continue;
|
|
@@ -7231,10 +7300,15 @@ ${expr}
|
|
|
7231
7300
|
debug,
|
|
7232
7301
|
results
|
|
7233
7302
|
);
|
|
7303
|
+
const hadFatalError = (finalResult.issues || []).some((issue) => {
|
|
7304
|
+
const id = issue.ruleId || "";
|
|
7305
|
+
return id === "command/execution_error" || id.endsWith("/command/execution_error") || id === "command/transform_js_error" || id.endsWith("/command/transform_js_error") || id === "command/transform_error" || id.endsWith("/command/transform_error");
|
|
7306
|
+
});
|
|
7234
7307
|
this.recordIterationComplete(
|
|
7235
7308
|
checkName,
|
|
7236
7309
|
checkStartTime,
|
|
7237
|
-
|
|
7310
|
+
!hadFatalError,
|
|
7311
|
+
// Success if no fatal errors
|
|
7238
7312
|
finalResult.issues || [],
|
|
7239
7313
|
finalResult.output
|
|
7240
7314
|
);
|
|
@@ -7322,8 +7396,20 @@ ${expr}
|
|
|
7322
7396
|
if (result.status === "fulfilled" && result.value.result && !result.value.error) {
|
|
7323
7397
|
if (result.value.skipped) {
|
|
7324
7398
|
if (debug) {
|
|
7325
|
-
log2(`\u{1F527} Debug:
|
|
7399
|
+
log2(`\u{1F527} Debug: Storing skip marker for skipped check "${checkName}"`);
|
|
7326
7400
|
}
|
|
7401
|
+
results.set(checkName, {
|
|
7402
|
+
issues: [
|
|
7403
|
+
{
|
|
7404
|
+
ruleId: `${checkName}/__skipped`,
|
|
7405
|
+
severity: "info",
|
|
7406
|
+
category: "logic",
|
|
7407
|
+
message: "Check was skipped",
|
|
7408
|
+
file: "",
|
|
7409
|
+
line: 0
|
|
7410
|
+
}
|
|
7411
|
+
]
|
|
7412
|
+
});
|
|
7327
7413
|
continue;
|
|
7328
7414
|
}
|
|
7329
7415
|
const reviewResult = result.value.result;
|
|
@@ -7348,6 +7434,7 @@ ${expr}
|
|
|
7348
7434
|
} else {
|
|
7349
7435
|
normalizedOutput = [rawOutput];
|
|
7350
7436
|
}
|
|
7437
|
+
logger.info(` Found ${normalizedOutput.length} items for forEach iteration`);
|
|
7351
7438
|
try {
|
|
7352
7439
|
const preview = JSON.stringify(normalizedOutput);
|
|
7353
7440
|
logger.debug(
|
|
@@ -7652,7 +7739,10 @@ ${expr}
|
|
|
7652
7739
|
`\u2705 Check "${checkName}" completed: ${(result.issues || []).length} issues found (level ${executionGroup.level})`
|
|
7653
7740
|
);
|
|
7654
7741
|
}
|
|
7655
|
-
|
|
7742
|
+
const nonInternalIssues = (result.issues || []).filter(
|
|
7743
|
+
(issue) => !issue.ruleId?.endsWith("/__skipped")
|
|
7744
|
+
);
|
|
7745
|
+
aggregatedIssues.push(...nonInternalIssues);
|
|
7656
7746
|
const resultSummary = result;
|
|
7657
7747
|
const resultContent = resultSummary.content;
|
|
7658
7748
|
if (typeof resultContent === "string" && resultContent.trim()) {
|
|
@@ -8587,4 +8677,4 @@ export {
|
|
|
8587
8677
|
logger,
|
|
8588
8678
|
CheckExecutionEngine
|
|
8589
8679
|
};
|
|
8590
|
-
//# sourceMappingURL=chunk-
|
|
8680
|
+
//# sourceMappingURL=chunk-GNA5GPF7.mjs.map
|