@probelabs/visor 0.1.50 β†’ 0.1.52

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 CHANGED
@@ -336,6 +336,41 @@ checks:
336
336
 
337
337
  Learn more: [docs/schema-templates.md](docs/schema-templates.md)
338
338
 
339
+ ## πŸ” Debugging
340
+
341
+ Comprehensive debugging tools help troubleshoot configurations and data flows:
342
+
343
+ ### Quick Debugging Tips
344
+
345
+ **Use `log()` in JavaScript expressions:**
346
+ ```yaml
347
+ checks:
348
+ conditional-check:
349
+ if: |
350
+ log("Outputs:", outputs);
351
+ outputs["fetch-data"]?.status === "ready"
352
+ transform_js: |
353
+ log("Raw data:", output);
354
+ JSON.parse(output)
355
+ ```
356
+
357
+ **Use `json` filter in Liquid templates:**
358
+ ```yaml
359
+ checks:
360
+ debug-check:
361
+ type: logger
362
+ message: |
363
+ Outputs: {{ outputs | json }}
364
+ PR: {{ pr | json }}
365
+ ```
366
+
367
+ **Enable debug mode:**
368
+ ```bash
369
+ visor --check all --debug
370
+ ```
371
+
372
+ Learn more: [docs/debugging.md](docs/debugging.md)
373
+
339
374
  ## πŸ”§ Advanced Configuration
340
375
 
341
376
  Extend shared configs and override per‑repo settings.
@@ -1 +1 @@
1
- {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/failure-condition-evaluator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,iBAAiB,EAGjB,sBAAsB,EAEvB,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,OAAO,CAAU;;IAMzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;OAEG;IACG,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAC9C,OAAO,CAAC,OAAO,CAAC;IAiBnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;KAC9C,GACA,OAAO,CAAC,OAAO,CAAC;IAyDnB;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,eAAe,CAAC,EAAE,iBAAiB,EACnC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAC9C,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAkCpC;;OAEG;YACW,oBAAoB;IA6BlC;;OAEG;YACW,uBAAuB;IA0BrC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAiJ1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgD9B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,OAAO;IAItE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,sBAAsB,EAAE;IAIvF;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG;QAChE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAChC,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAClC,IAAI,EAAE,sBAAsB,EAAE,CAAC;KAChC;IASD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,MAAM;CAiChE"}
1
+ {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/failure-condition-evaluator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EACL,iBAAiB,EAGjB,sBAAsB,EAEvB,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,CAAC,OAAO,CAAU;;IAMzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6D3B;;OAEG;IACG,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAC9C,OAAO,CAAC,OAAO,CAAC;IAiBnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAO9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACrC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;KAC9C,GACA,OAAO,CAAC,OAAO,CAAC;IAyDnB;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,aAAa,EAC5B,gBAAgB,CAAC,EAAE,iBAAiB,EACpC,eAAe,CAAC,EAAE,iBAAiB,EACnC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAC9C,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAkCpC;;OAEG;YACW,oBAAoB;IA6BlC;;OAEG;YACW,uBAAuB;IA0BrC;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAuJ1B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAOzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgD9B;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,OAAO;IAItE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,sBAAsB,EAAE;IAIvF;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG;QAChE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAChC,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAClC,IAAI,EAAE,sBAAsB,EAAE,CAAC;KAChC;IASD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,sBAAsB,EAAE,GAAG,MAAM;CAiChE"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- process.env.VISOR_VERSION = '0.1.50';
2
+ process.env.VISOR_VERSION = '0.1.52';
3
3
  /******/ (() => { // webpackBootstrap
4
4
  /******/ var __webpack_modules__ = ({
5
5
 
@@ -95606,10 +95606,10 @@ class CheckExecutionEngine {
95606
95606
  return directContent.trim();
95607
95607
  }
95608
95608
  // Import the liquid template system
95609
- const { Liquid } = await Promise.resolve().then(() => __importStar(__nccwpck_require__(48694)));
95609
+ const { createExtendedLiquid } = await Promise.resolve().then(() => __importStar(__nccwpck_require__(33042)));
95610
95610
  const fs = await Promise.resolve().then(() => __importStar(__nccwpck_require__(91943)));
95611
95611
  const path = await Promise.resolve().then(() => __importStar(__nccwpck_require__(16928)));
95612
- const liquid = new Liquid({
95612
+ const liquid = createExtendedLiquid({
95613
95613
  trimTagLeft: false,
95614
95614
  trimTagRight: false,
95615
95615
  trimOutputLeft: false,
@@ -98878,6 +98878,10 @@ class FailureConditionEvaluator {
98878
98878
  const always = () => true;
98879
98879
  const success = () => true;
98880
98880
  const failure = () => false;
98881
+ // Debug logging function for printing to console
98882
+ const log = (...args) => {
98883
+ console.log('πŸ” Debug:', ...args);
98884
+ };
98881
98885
  // Helper functions for array operations
98882
98886
  const hasIssue = (issues, field, value) => {
98883
98887
  if (!Array.isArray(issues))
@@ -98937,13 +98941,13 @@ class FailureConditionEvaluator {
98937
98941
  const event = context.event || 'manual';
98938
98942
  const env = context.env || {};
98939
98943
  const outputs = context.outputs || {};
98940
- const debug = context.debug || null;
98944
+ const debugData = context.debug || null;
98941
98945
  // Create scope with all context variables and helper functions
98942
98946
  const scope = {
98943
98947
  // Primary context variables
98944
98948
  output,
98945
98949
  outputs,
98946
- debug,
98950
+ debug: debugData,
98947
98951
  // Legacy compatibility variables
98948
98952
  issues,
98949
98953
  suggestions,
@@ -98971,6 +98975,7 @@ class FailureConditionEvaluator {
98971
98975
  always,
98972
98976
  success,
98973
98977
  failure,
98978
+ log,
98974
98979
  hasIssue,
98975
98980
  countIssues,
98976
98981
  hasFileMatching,
@@ -101507,6 +101512,108 @@ class IssueFilter {
101507
101512
  exports.IssueFilter = IssueFilter;
101508
101513
 
101509
101514
 
101515
+ /***/ }),
101516
+
101517
+ /***/ 33042:
101518
+ /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
101519
+
101520
+ "use strict";
101521
+
101522
+ var __importDefault = (this && this.__importDefault) || function (mod) {
101523
+ return (mod && mod.__esModule) ? mod : { "default": mod };
101524
+ };
101525
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
101526
+ exports.ReadFileTag = void 0;
101527
+ exports.configureLiquidWithExtensions = configureLiquidWithExtensions;
101528
+ exports.createExtendedLiquid = createExtendedLiquid;
101529
+ const liquidjs_1 = __nccwpck_require__(48694);
101530
+ const promises_1 = __importDefault(__nccwpck_require__(91943));
101531
+ const path_1 = __importDefault(__nccwpck_require__(16928));
101532
+ /**
101533
+ * Custom ReadFile tag for Liquid templates
101534
+ * Usage: {% readfile "path/to/file.txt" %}
101535
+ * or with variable: {% readfile filename %}
101536
+ */
101537
+ class ReadFileTag extends liquidjs_1.Tag {
101538
+ filepath;
101539
+ constructor(token, remainTokens, liquid) {
101540
+ super(token, remainTokens, liquid);
101541
+ this.filepath = new liquidjs_1.Value(token.args, liquid);
101542
+ }
101543
+ *render(ctx, emitter) {
101544
+ const filePath = yield this.filepath.value(ctx, false);
101545
+ // Validate the path
101546
+ if (!filePath || typeof filePath !== 'string') {
101547
+ emitter.write('[Error: Invalid file path]');
101548
+ return;
101549
+ }
101550
+ // Security: Resolve path relative to project root to prevent directory traversal
101551
+ const projectRoot = process.cwd();
101552
+ const resolvedPath = path_1.default.resolve(projectRoot, filePath.toString());
101553
+ // Ensure the resolved path is within the project directory
101554
+ if (!resolvedPath.startsWith(projectRoot)) {
101555
+ emitter.write('[Error: File path escapes project directory]');
101556
+ return;
101557
+ }
101558
+ // Read the file content
101559
+ try {
101560
+ const content = yield promises_1.default.readFile(resolvedPath, 'utf-8');
101561
+ emitter.write(content);
101562
+ }
101563
+ catch (error) {
101564
+ // Handle file read errors gracefully
101565
+ const errorMessage = error instanceof Error
101566
+ ? error.message
101567
+ : error?.code || 'Unknown error';
101568
+ emitter.write(`[Error reading file: ${errorMessage}]`);
101569
+ }
101570
+ }
101571
+ }
101572
+ exports.ReadFileTag = ReadFileTag;
101573
+ /**
101574
+ * Configure a Liquid instance with custom extensions
101575
+ */
101576
+ function configureLiquidWithExtensions(liquid) {
101577
+ // Register the readfile tag
101578
+ liquid.registerTag('readfile', ReadFileTag);
101579
+ // Register parse_json filter to parse JSON strings into objects
101580
+ liquid.registerFilter('parse_json', (value) => {
101581
+ if (typeof value !== 'string') {
101582
+ return value;
101583
+ }
101584
+ try {
101585
+ return JSON.parse(value);
101586
+ }
101587
+ catch {
101588
+ // Return original value if parsing fails
101589
+ return value;
101590
+ }
101591
+ });
101592
+ // Register to_json filter as alias for json (for consistency)
101593
+ liquid.registerFilter('to_json', (value) => {
101594
+ try {
101595
+ return JSON.stringify(value);
101596
+ }
101597
+ catch {
101598
+ return '[Error: Unable to serialize to JSON]';
101599
+ }
101600
+ });
101601
+ }
101602
+ /**
101603
+ * Create a new Liquid instance with custom extensions
101604
+ */
101605
+ function createExtendedLiquid(options = {}) {
101606
+ const liquid = new liquidjs_1.Liquid({
101607
+ cache: false,
101608
+ strictFilters: false,
101609
+ strictVariables: false,
101610
+ ...options,
101611
+ });
101612
+ configureLiquidWithExtensions(liquid);
101613
+ return liquid;
101614
+ }
101615
+
101616
+
101510
101617
  /***/ }),
101511
101618
 
101512
101619
  /***/ 25508:
@@ -102342,7 +102449,7 @@ const check_provider_interface_1 = __nccwpck_require__(14131);
102342
102449
  const ai_review_service_1 = __nccwpck_require__(51796);
102343
102450
  const env_resolver_1 = __nccwpck_require__(58749);
102344
102451
  const issue_filter_1 = __nccwpck_require__(36879);
102345
- const liquidjs_1 = __nccwpck_require__(48694);
102452
+ const liquid_extensions_1 = __nccwpck_require__(33042);
102346
102453
  const promises_1 = __importDefault(__nccwpck_require__(91943));
102347
102454
  const path_1 = __importDefault(__nccwpck_require__(16928));
102348
102455
  const claude_code_types_1 = __nccwpck_require__(21710);
@@ -102355,7 +102462,7 @@ class AICheckProvider extends check_provider_interface_1.CheckProvider {
102355
102462
  constructor() {
102356
102463
  super();
102357
102464
  this.aiReviewService = new ai_review_service_1.AIReviewService();
102358
- this.liquidEngine = new liquidjs_1.Liquid();
102465
+ this.liquidEngine = (0, liquid_extensions_1.createExtendedLiquid)();
102359
102466
  }
102360
102467
  getName() {
102361
102468
  return 'ai';
@@ -103083,7 +103190,7 @@ exports.ClaudeCodeCheckProvider = exports.ClaudeCodeAPIKeyMissingError = exports
103083
103190
  const check_provider_interface_1 = __nccwpck_require__(14131);
103084
103191
  const env_resolver_1 = __nccwpck_require__(58749);
103085
103192
  const issue_filter_1 = __nccwpck_require__(36879);
103086
- const liquidjs_1 = __nccwpck_require__(48694);
103193
+ const liquid_extensions_1 = __nccwpck_require__(33042);
103087
103194
  const promises_1 = __importDefault(__nccwpck_require__(91943));
103088
103195
  const path_1 = __importDefault(__nccwpck_require__(16928));
103089
103196
  const claude_code_types_1 = __nccwpck_require__(21710);
@@ -103119,7 +103226,7 @@ class ClaudeCodeCheckProvider extends check_provider_interface_1.CheckProvider {
103119
103226
  claudeCodeClient = null;
103120
103227
  constructor() {
103121
103228
  super();
103122
- this.liquidEngine = new liquidjs_1.Liquid();
103229
+ this.liquidEngine = (0, liquid_extensions_1.createExtendedLiquid)();
103123
103230
  }
103124
103231
  getName() {
103125
103232
  return 'claude-code';
@@ -103750,8 +103857,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
103750
103857
  Object.defineProperty(exports, "__esModule", ({ value: true }));
103751
103858
  exports.CommandCheckProvider = void 0;
103752
103859
  const check_provider_interface_1 = __nccwpck_require__(14131);
103753
- const liquidjs_1 = __nccwpck_require__(48694);
103754
103860
  const sandboxjs_1 = __importDefault(__nccwpck_require__(29083));
103861
+ const liquid_extensions_1 = __nccwpck_require__(33042);
103755
103862
  /**
103756
103863
  * Check provider that executes shell commands and captures their output
103757
103864
  * Supports JSON parsing and integration with forEach functionality
@@ -103761,7 +103868,7 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
103761
103868
  sandbox;
103762
103869
  constructor() {
103763
103870
  super();
103764
- this.liquid = new liquidjs_1.Liquid({
103871
+ this.liquid = (0, liquid_extensions_1.createExtendedLiquid)({
103765
103872
  cache: false,
103766
103873
  strictFilters: false,
103767
103874
  strictVariables: false,
@@ -103902,12 +104009,14 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
103902
104009
  // Then apply JavaScript transform if present
103903
104010
  if (transformJs) {
103904
104011
  try {
103905
- // For transform_js, always use raw string output so JSON.parse() works as expected
104012
+ // For transform_js, provide a JSON-smart wrapper that:
104013
+ // - behaves like a string when coerced (so JSON.parse(output) still works)
104014
+ // - exposes parsed JSON properties if stdout is valid JSON (so output.key works)
103906
104015
  const jsContext = {
103907
- output: rawOutput, // Always use raw string for JavaScript transform
104016
+ output: this.makeJsonSmart(rawOutput),
103908
104017
  pr: templateContext.pr,
103909
104018
  files: templateContext.files,
103910
- outputs: templateContext.outputs,
104019
+ outputs: this.makeOutputsJsonSmart(templateContext.outputs),
103911
104020
  env: templateContext.env,
103912
104021
  };
103913
104022
  // Compile and execute the JavaScript expression
@@ -103940,6 +104049,9 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
103940
104049
  const files = scope.files;
103941
104050
  const outputs = scope.outputs;
103942
104051
  const env = scope.env;
104052
+ const log = (...args) => {
104053
+ console.log('πŸ” Debug:', ...args);
104054
+ };
103943
104055
  return ${transformExpression};
103944
104056
  `;
103945
104057
  if (process.env.DEBUG) {
@@ -103949,7 +104061,14 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
103949
104061
  const exec = this.sandbox.compile(code);
103950
104062
  finalOutput = exec({ scope: jsContext }).run();
103951
104063
  if (process.env.DEBUG) {
103952
- console.log('πŸ”§ Debug: transform_js result:', JSON.stringify(finalOutput).slice(0, 200));
104064
+ try {
104065
+ const preview = JSON.stringify(finalOutput);
104066
+ console.log('πŸ”§ Debug: transform_js result:', typeof preview === 'string' ? preview.slice(0, 200) : String(preview).slice(0, 200));
104067
+ }
104068
+ catch {
104069
+ const preview = String(finalOutput);
104070
+ console.log('πŸ”§ Debug: transform_js result:', preview.slice(0, 200));
104071
+ }
103953
104072
  }
103954
104073
  }
103955
104074
  catch (error) {
@@ -104044,10 +104163,91 @@ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
104044
104163
  // If the result has a direct output field, use it directly
104045
104164
  // Otherwise, expose the entire result as-is
104046
104165
  const summary = result;
104047
- outputs[checkName] = summary.output !== undefined ? summary.output : summary;
104166
+ const value = summary.output !== undefined ? summary.output : summary;
104167
+ outputs[checkName] = this.makeJsonSmart(value);
104048
104168
  }
104049
104169
  return outputs;
104050
104170
  }
104171
+ /**
104172
+ * Wrap a value with JSON-smart behavior:
104173
+ * - If it's a JSON string, expose parsed properties via Proxy (e.g., value.key)
104174
+ * - When coerced to string (toString/valueOf/Symbol.toPrimitive), return the original raw string
104175
+ * - If parsing fails or value is not a string, return the value unchanged
104176
+ */
104177
+ makeJsonSmart(value) {
104178
+ if (typeof value !== 'string') {
104179
+ return value;
104180
+ }
104181
+ const raw = value;
104182
+ let parsed;
104183
+ try {
104184
+ parsed = JSON.parse(raw);
104185
+ }
104186
+ catch {
104187
+ // Not JSON, return original string
104188
+ return raw;
104189
+ }
104190
+ // Use a boxed string so string methods still work via Proxy fallback
104191
+ const boxed = new String(raw);
104192
+ const handler = {
104193
+ get(target, prop, receiver) {
104194
+ if (prop === 'toString' || prop === 'valueOf') {
104195
+ return () => raw;
104196
+ }
104197
+ if (prop === Symbol.toPrimitive) {
104198
+ return () => raw;
104199
+ }
104200
+ if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
104201
+ if (prop in parsed) {
104202
+ return parsed[prop];
104203
+ }
104204
+ }
104205
+ return Reflect.get(target, prop, receiver);
104206
+ },
104207
+ has(_target, prop) {
104208
+ if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
104209
+ if (prop in parsed)
104210
+ return true;
104211
+ }
104212
+ return false;
104213
+ },
104214
+ ownKeys(_target) {
104215
+ if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
104216
+ try {
104217
+ return Reflect.ownKeys(parsed);
104218
+ }
104219
+ catch {
104220
+ return [];
104221
+ }
104222
+ }
104223
+ return [];
104224
+ },
104225
+ getOwnPropertyDescriptor(_target, prop) {
104226
+ if (parsed != null && (typeof parsed === 'object' || Array.isArray(parsed))) {
104227
+ const descriptor = Object.getOwnPropertyDescriptor(parsed, prop);
104228
+ if (descriptor)
104229
+ return descriptor;
104230
+ }
104231
+ return {
104232
+ configurable: true,
104233
+ enumerable: true,
104234
+ writable: false,
104235
+ value: undefined,
104236
+ };
104237
+ },
104238
+ };
104239
+ return new Proxy(boxed, handler);
104240
+ }
104241
+ /**
104242
+ * Recursively apply JSON-smart wrapper to outputs object values
104243
+ */
104244
+ makeOutputsJsonSmart(outputs) {
104245
+ const wrapped = {};
104246
+ for (const [k, v] of Object.entries(outputs || {})) {
104247
+ wrapped[k] = this.makeJsonSmart(v);
104248
+ }
104249
+ return wrapped;
104250
+ }
104051
104251
  getSafeEnvironmentVariables() {
104052
104252
  const safeVars = {};
104053
104253
  const allowedPrefixes = ['CI_', 'GITHUB_', 'RUNNER_', 'NODE_', 'npm_', 'PATH', 'HOME', 'USER'];
@@ -104285,7 +104485,7 @@ Object.defineProperty(exports, "__esModule", ({ value: true }));
104285
104485
  exports.HttpCheckProvider = void 0;
104286
104486
  const check_provider_interface_1 = __nccwpck_require__(14131);
104287
104487
  const issue_filter_1 = __nccwpck_require__(36879);
104288
- const liquidjs_1 = __nccwpck_require__(48694);
104488
+ const liquid_extensions_1 = __nccwpck_require__(33042);
104289
104489
  /**
104290
104490
  * Check provider that sends data to an HTTP endpoint, typically used as an output/notification provider
104291
104491
  */
@@ -104293,7 +104493,7 @@ class HttpCheckProvider extends check_provider_interface_1.CheckProvider {
104293
104493
  liquid;
104294
104494
  constructor() {
104295
104495
  super();
104296
- this.liquid = new liquidjs_1.Liquid();
104496
+ this.liquid = (0, liquid_extensions_1.createExtendedLiquid)();
104297
104497
  }
104298
104498
  getName() {
104299
104499
  return 'http';
@@ -104514,7 +104714,7 @@ exports.HttpCheckProvider = HttpCheckProvider;
104514
104714
  Object.defineProperty(exports, "__esModule", ({ value: true }));
104515
104715
  exports.HttpClientProvider = void 0;
104516
104716
  const check_provider_interface_1 = __nccwpck_require__(14131);
104517
- const liquidjs_1 = __nccwpck_require__(48694);
104717
+ const liquid_extensions_1 = __nccwpck_require__(33042);
104518
104718
  /**
104519
104719
  * Check provider that fetches data from HTTP endpoints
104520
104720
  */
@@ -104522,7 +104722,7 @@ class HttpClientProvider extends check_provider_interface_1.CheckProvider {
104522
104722
  liquid;
104523
104723
  constructor() {
104524
104724
  super();
104525
- this.liquid = new liquidjs_1.Liquid();
104725
+ this.liquid = (0, liquid_extensions_1.createExtendedLiquid)();
104526
104726
  }
104527
104727
  getName() {
104528
104728
  return 'http_client';
@@ -104743,7 +104943,7 @@ exports.HttpClientProvider = HttpClientProvider;
104743
104943
  Object.defineProperty(exports, "__esModule", ({ value: true }));
104744
104944
  exports.HttpInputProvider = void 0;
104745
104945
  const check_provider_interface_1 = __nccwpck_require__(14131);
104746
- const liquidjs_1 = __nccwpck_require__(48694);
104946
+ const liquid_extensions_1 = __nccwpck_require__(33042);
104747
104947
  /**
104748
104948
  * Check provider that receives input from HTTP webhooks and makes it available to dependent checks
104749
104949
  */
@@ -104752,7 +104952,7 @@ class HttpInputProvider extends check_provider_interface_1.CheckProvider {
104752
104952
  webhookContext;
104753
104953
  constructor() {
104754
104954
  super();
104755
- this.liquid = new liquidjs_1.Liquid();
104955
+ this.liquid = (0, liquid_extensions_1.createExtendedLiquid)();
104756
104956
  }
104757
104957
  /**
104758
104958
  * Set webhook context for accessing webhook data
@@ -104878,7 +105078,7 @@ exports.HttpInputProvider = HttpInputProvider;
104878
105078
  Object.defineProperty(exports, "__esModule", ({ value: true }));
104879
105079
  exports.LogCheckProvider = void 0;
104880
105080
  const check_provider_interface_1 = __nccwpck_require__(14131);
104881
- const liquidjs_1 = __nccwpck_require__(48694);
105081
+ const liquid_extensions_1 = __nccwpck_require__(33042);
104882
105082
  /**
104883
105083
  * Check provider that outputs debugging and logging information.
104884
105084
  * Useful for troubleshooting check workflows and understanding execution flow.
@@ -104887,7 +105087,7 @@ class LogCheckProvider extends check_provider_interface_1.CheckProvider {
104887
105087
  liquid;
104888
105088
  constructor() {
104889
105089
  super();
104890
- this.liquid = new liquidjs_1.Liquid({
105090
+ this.liquid = (0, liquid_extensions_1.createExtendedLiquid)({
104891
105091
  strictVariables: false,
104892
105092
  strictFilters: false,
104893
105093
  });
@@ -0,0 +1,19 @@
1
+ import { Liquid, TagToken, Context, TopLevelToken, Tag, Emitter } from 'liquidjs';
2
+ /**
3
+ * Custom ReadFile tag for Liquid templates
4
+ * Usage: {% readfile "path/to/file.txt" %}
5
+ * or with variable: {% readfile filename %}
6
+ */
7
+ export declare class ReadFileTag extends Tag {
8
+ private filepath;
9
+ constructor(token: TagToken, remainTokens: TopLevelToken[], liquid: Liquid);
10
+ render(ctx: Context, emitter: Emitter): Generator<unknown, void, unknown>;
11
+ }
12
+ /**
13
+ * Configure a Liquid instance with custom extensions
14
+ */
15
+ export declare function configureLiquidWithExtensions(liquid: Liquid): void;
16
+ /**
17
+ * Create a new Liquid instance with custom extensions
18
+ */
19
+ export declare function createExtendedLiquid(options?: Record<string, unknown>): Liquid;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/liquid-extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAS,OAAO,EAAE,MAAM,UAAU,CAAC;AAIzF;;;;GAIG;AACH,qBAAa,WAAY,SAAQ,GAAG;IAClC,OAAO,CAAC,QAAQ,CAAQ;gBAEZ,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,MAAM;IAKzE,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC;CAgC3E;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAyBlE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,MAAM,CAUlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/ai-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;AAU5C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAS;;IAQ7B,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDvD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,aAAa;IAmB3B;;OAEG;YACW,UAAU;IAsExB;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,oBAAoB;IA0IlC;;OAEG;YACW,aAAa;IA8DrB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,WAAW,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,aAAa,CAAC;YAiBX,iBAAiB;IAuL/B,sBAAsB,IAAI,MAAM,EAAE;IAmB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAYrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
1
+ {"version":3,"file":"ai-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/ai-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;AAW5C;;GAEG;AACH,qBAAa,eAAgB,SAAQ,aAAa;IAChD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAS;;IAQ7B,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoDvD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqB1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,aAAa;IAmB3B;;OAEG;YACW,UAAU;IAsExB;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,oBAAoB;IA0IlC;;OAEG;YACW,aAAa;IA8DrB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,WAAW,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,aAAa,CAAC;YAiBX,iBAAiB;IAuL/B,sBAAsB,IAAI,MAAM,EAAE;IAmB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAYrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude-code-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/claude-code-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;AAoB5C;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;;CAOxD;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;;CAOtD;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAiC;;IAOzD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwDvD;;OAEG;YACW,0BAA0B;IAyCxC;;OAEG;YACW,aAAa;IAqE3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,aAAa;IAmB3B;;OAEG;YACW,UAAU;IAkExB;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,oBAAoB;IA4GlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiBzB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,WAAW,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,aAAa,CAAC;YAgBX,iBAAiB;IAoI/B,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
1
+ {"version":3,"file":"claude-code-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/claude-code-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;AAqB5C;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;;CAOxD;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;;CAOtD;AAED;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,aAAa;IACxD,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,gBAAgB,CAAiC;;IAOzD,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAwDvD;;OAEG;YACW,0BAA0B;IAyCxC;;OAEG;YACW,aAAa;IAqE3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAiB7B;;OAEG;YACW,aAAa;IAmB3B;;OAEG;YACW,UAAU;IAkExB;;OAEG;YACW,kBAAkB;IA0ChC;;OAEG;YACW,oBAAoB;IA4GlC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiBzB,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,WAAW,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,aAAa,CAAC;YAgBX,iBAAiB;IAoI/B,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA0BrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
@@ -15,6 +15,17 @@ export declare class CommandCheckProvider extends CheckProvider {
15
15
  validateConfig(config: unknown): Promise<boolean>;
16
16
  execute(prInfo: PRInfo, config: CheckProviderConfig, dependencyResults?: Map<string, ReviewSummary>): Promise<ReviewSummary>;
17
17
  private buildOutputContext;
18
+ /**
19
+ * Wrap a value with JSON-smart behavior:
20
+ * - If it's a JSON string, expose parsed properties via Proxy (e.g., value.key)
21
+ * - When coerced to string (toString/valueOf/Symbol.toPrimitive), return the original raw string
22
+ * - If parsing fails or value is not a string, return the value unchanged
23
+ */
24
+ private makeJsonSmart;
25
+ /**
26
+ * Recursively apply JSON-smart wrapper to outputs object values
27
+ */
28
+ private makeOutputsJsonSmart;
18
29
  private getSafeEnvironmentVariables;
19
30
  getSupportedConfigKeys(): string[];
20
31
  isAvailable(): Promise<boolean>;
@@ -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;AAIzD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;;IAYzB,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;IA4QzB,OAAO,CAAC,kBAAkB;IAiB1B,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;IAmBnC,OAAO,CAAC,uBAAuB;CA4ChC"}
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;AAKzD;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAU;;IAYzB,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;IAuRzB,OAAO,CAAC,kBAAkB;IAkB1B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IA+DrB;;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;IAmBnC,OAAO,CAAC,uBAAuB;CA4ChC"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-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;AAIzD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;;IAMvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YAuEX,kBAAkB;IA4ChC,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IASxB,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
1
+ {"version":3,"file":"http-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-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;AAKzD;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;;IAMvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA+BjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YAuEX,kBAAkB;IA4ChC,OAAO,CAAC,oBAAoB;IAyB5B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,gBAAgB;IASxB,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-client-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-client-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;AAG5C;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,MAAM,CAAS;;IAOvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YA+FX,SAAS;IA2EvB,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
1
+ {"version":3,"file":"http-client-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-client-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;AAI5C;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAa;IACnD,OAAO,CAAC,MAAM,CAAS;;IAOvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;YA+FX,SAAS;IA2EvB,sBAAsB,IAAI,MAAM,EAAE;IAiB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAQ5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"http-input-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-input-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;AAG5C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAC,CAAuB;;IAO9C;;OAEG;IACH,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI7D,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;IAuDzB,OAAO,CAAC,cAAc;IAqBtB,sBAAsB,IAAI,MAAM,EAAE;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}
1
+ {"version":3,"file":"http-input-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/http-input-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;AAI5C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,cAAc,CAAC,CAAuB;;IAO9C;;OAEG;IACH,iBAAiB,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI7D,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC/C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;IAuDzB,OAAO,CAAC,cAAc;IAqBtB,sBAAsB,IAAI,MAAM,EAAE;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"log-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/log-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;AAG5C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,MAAM,CAAS;;IAUvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;IAyCzB,OAAO,CAAC,oBAAoB;IAmE5B,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,aAAa;IAerB,sBAAsB,IAAI,MAAM,EAAE;IAgB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAM5B"}
1
+ {"version":3,"file":"log-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/log-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;AAI5C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,OAAO,CAAC,MAAM,CAAS;;IAUvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAyBjD,OAAO,CACX,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,EAC3B,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EAC9C,YAAY,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,OAAO,CAAC,aAAa,CAAC;IAyCzB,OAAO,CAAC,oBAAoB;IAmE5B,OAAO,CAAC,eAAe;IAyDvB,OAAO,CAAC,aAAa;IAerB,sBAAsB,IAAI,MAAM,EAAE;IAgB5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAM5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/webhook-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,eAAe,CAAC,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,eAAe,CAAU;gBAErB,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,WAAW;IAS/D;;OAEG;IACI,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI7D;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDnC;;OAEG;YACW,cAAc;IAwE5B;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAalC;;OAEG;YACW,aAAa;IAwD3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;YACW,gBAAgB;IA4C9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;YACW,cAAc;IA8B5B;;OAEG;YACW,oBAAoB;IAuClC;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhD;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACI,SAAS,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB;CAQF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,oBAAoB,GACrC,aAAa,CAQf"}
1
+ {"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/webhook-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,eAAe,CAAC,CAAuB;IAC/C,OAAO,CAAC,WAAW,CAAC,CAAc;IAClC,OAAO,CAAC,eAAe,CAAU;gBAErB,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAC,EAAE,WAAW;IAS/D;;OAEG;IACI,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAI7D;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAmDnC;;OAEG;YACW,cAAc;IAwE5B;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAalC;;OAEG;YACW,aAAa;IAwD3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAgBvB;;OAEG;YACW,gBAAgB;IA4C9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;YACW,cAAc;IA8B5B;;OAEG;YACW,oBAAoB;IAuClC;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIhD;;OAEG;IACI,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI/C;;OAEG;IACI,SAAS,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB;CAQF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,WAAW,EACzB,eAAe,CAAC,EAAE,oBAAoB,GACrC,aAAa,CAQf"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@probelabs/visor",
3
- "version": "0.1.50",
3
+ "version": "0.1.52",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "visor": "./dist/index.js"