@probelabs/visor 0.1.39 → 0.1.40

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
@@ -71,7 +71,7 @@ Tip: Pin releases for stability, e.g. `uses: probelabs/visor@v1`.
71
71
  - Schema – JSON shape checks return (e.g., `code-review`).
72
72
  - Template – renders results (tables/markdown).
73
73
  - Group – which comment a check is posted into.
74
- - Provider – how a check runs (`ai`, `http`, `tool`, `script`, `claude-code`).
74
+ - Provider – how a check runs (`ai`, `http`, `command`, `claude-code`).
75
75
  - Dependencies – `depends_on` controls order; independents run in parallel.
76
76
  - Tags – label checks (`fast`, `local`, `comprehensive`) and filter with `--tags`.
77
77
  - Events – PRs, issues, `/review` comments, webhooks, or cron schedules.
@@ -123,7 +123,7 @@ Visor is a general SDLC automation framework:
123
123
  - Multi‑provider AI: Google Gemini, Anthropic Claude, OpenAI — plus MCP tools and Claude Code SDK.
124
124
  - Assistants & commands: `/review` to rerun checks, `/visor …` for Q&A, predictable comment groups.
125
125
  - HTTP & schedules: Receive webhooks, call external APIs, and run cron‑scheduled audits and reports.
126
- - Extensible providers: `ai`, `http`, `http_client`, `log`, `tool`, `script`, `claude-code` — or add your own.
126
+ - Extensible providers: `ai`, `http`, `http_client`, `log`, `command`, `claude-code` — or add your own.
127
127
  - Security by default: GitHub App support, scoped tokens, remote‑extends allowlist, opt‑in network usage.
128
128
  - Observability & control: JSON/SARIF outputs, fail‑fast and timeouts, parallelism and cost control.
129
129
 
@@ -360,7 +360,7 @@ Learn more: [docs/http.md](docs/http.md)
360
360
 
361
361
  ## 🔧 Pluggable Architecture
362
362
 
363
- Mix providers (`ai`, `http`, `http_client`, `log`, `tool`, `script`, `claude-code`) or add your own.
363
+ Mix providers (`ai`, `http`, `http_client`, `log`, `command`, `claude-code`) or add your own.
364
364
 
365
365
  Learn more: [docs/pluggable.md](docs/pluggable.md)
366
366
 
@@ -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":"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"}
package/dist/index.js CHANGED
@@ -95612,8 +95612,7 @@ class CheckExecutionEngine {
95612
95612
  // Execute checks level by level
95613
95613
  const results = new Map();
95614
95614
  const sessionRegistry = (__nccwpck_require__(46059).SessionRegistry).getInstance();
95615
- const provider = this.providerRegistry.getProviderOrThrow('ai');
95616
- this.setProviderWebhookContext(provider);
95615
+ // Note: We'll get the provider dynamically per check, not a single one for all
95617
95616
  const sessionIds = new Map(); // checkName -> sessionId
95618
95617
  let shouldStopExecution = false;
95619
95618
  for (let levelIndex = 0; levelIndex < dependencyGraph.executionOrder.length && !shouldStopExecution; levelIndex++) {
@@ -95661,15 +95660,24 @@ class CheckExecutionEngine {
95661
95660
  };
95662
95661
  }
95663
95662
  }
95663
+ // Get the appropriate provider for this check type
95664
+ const providerType = checkConfig.type || 'ai';
95665
+ const provider = this.providerRegistry.getProviderOrThrow(providerType);
95666
+ this.setProviderWebhookContext(provider);
95664
95667
  // Create provider config for this specific check
95665
95668
  const providerConfig = {
95666
- type: 'ai',
95669
+ type: providerType,
95667
95670
  prompt: checkConfig.prompt,
95671
+ exec: checkConfig.exec,
95668
95672
  focus: checkConfig.focus || this.mapCheckNameToFocus(checkName),
95669
95673
  schema: checkConfig.schema,
95670
95674
  group: checkConfig.group,
95671
95675
  checkName: checkName, // Add checkName for sessionID
95672
95676
  eventContext: prInfo.eventContext, // Pass event context for templates
95677
+ transform: checkConfig.transform,
95678
+ level: checkConfig.level,
95679
+ message: checkConfig.message,
95680
+ env: checkConfig.env,
95673
95681
  ai: {
95674
95682
  timeout: timeout || 600000,
95675
95683
  debug: debug,
@@ -95678,9 +95686,19 @@ class CheckExecutionEngine {
95678
95686
  };
95679
95687
  // Pass results from dependencies if needed
95680
95688
  const dependencyResults = new Map();
95689
+ let isForEachDependent = false;
95690
+ let forEachItems = [];
95691
+ let forEachParentName;
95681
95692
  for (const depId of checkConfig.depends_on || []) {
95682
95693
  if (results.has(depId)) {
95683
- dependencyResults.set(depId, results.get(depId));
95694
+ const depResult = results.get(depId);
95695
+ dependencyResults.set(depId, depResult);
95696
+ // Check if this dependency has forEach enabled
95697
+ if (depResult.isForEach && depResult.forEachItems) {
95698
+ isForEachDependent = true;
95699
+ forEachItems = depResult.forEachItems;
95700
+ forEachParentName = depId;
95701
+ }
95684
95702
  }
95685
95703
  }
95686
95704
  // Determine if we should use session reuse
@@ -95709,10 +95727,54 @@ class CheckExecutionEngine {
95709
95727
  // Add session ID to provider config
95710
95728
  providerConfig.sessionId = currentSessionId;
95711
95729
  }
95712
- const result = await provider.execute(prInfo, providerConfig, dependencyResults, sessionInfo);
95713
- log(`🔧 Debug: Completed check: ${checkName}, issues found: ${(result.issues || []).length}`);
95730
+ // Handle forEach dependent execution
95731
+ let finalResult;
95732
+ if (isForEachDependent && forEachParentName) {
95733
+ log(`🔄 Debug: Check "${checkName}" depends on forEach check "${forEachParentName}", executing ${forEachItems.length} times`);
95734
+ const allIssues = [];
95735
+ const allOutputs = [];
95736
+ // Execute check for each item in the forEach array
95737
+ for (let itemIndex = 0; itemIndex < forEachItems.length; itemIndex++) {
95738
+ const item = forEachItems[itemIndex];
95739
+ // Create modified dependency results with current item
95740
+ const forEachDependencyResults = new Map();
95741
+ for (const [depName, depResult] of dependencyResults) {
95742
+ if (depName === forEachParentName) {
95743
+ // Replace the forEach parent's output with the current item
95744
+ const modifiedResult = {
95745
+ ...depResult,
95746
+ output: item,
95747
+ };
95748
+ forEachDependencyResults.set(depName, modifiedResult);
95749
+ }
95750
+ else {
95751
+ forEachDependencyResults.set(depName, depResult);
95752
+ }
95753
+ }
95754
+ log(`🔄 Debug: Executing check "${checkName}" for item ${itemIndex + 1}/${forEachItems.length}`);
95755
+ const itemResult = await provider.execute(prInfo, providerConfig, forEachDependencyResults, sessionInfo);
95756
+ // Collect issues from each iteration
95757
+ if (itemResult.issues) {
95758
+ allIssues.push(...itemResult.issues);
95759
+ }
95760
+ // Collect outputs from each iteration
95761
+ if (itemResult.output) {
95762
+ allOutputs.push(itemResult.output);
95763
+ }
95764
+ }
95765
+ finalResult = {
95766
+ issues: allIssues,
95767
+ output: allOutputs.length > 0 ? allOutputs : undefined,
95768
+ };
95769
+ log(`🔄 Debug: Completed forEach execution for check "${checkName}", total issues: ${allIssues.length}`);
95770
+ }
95771
+ else {
95772
+ // Normal single execution
95773
+ finalResult = await provider.execute(prInfo, providerConfig, dependencyResults, sessionInfo);
95774
+ log(`🔧 Debug: Completed check: ${checkName}, issues found: ${(finalResult.issues || []).length}`);
95775
+ }
95714
95776
  // Add group, schema, template info and timestamp to issues from config
95715
- const enrichedIssues = (result.issues || []).map(issue => ({
95777
+ const enrichedIssues = (finalResult.issues || []).map(issue => ({
95716
95778
  ...issue,
95717
95779
  ruleId: `${checkName}/${issue.ruleId}`,
95718
95780
  group: checkConfig.group,
@@ -95721,7 +95783,7 @@ class CheckExecutionEngine {
95721
95783
  timestamp: Date.now(),
95722
95784
  }));
95723
95785
  const enrichedResult = {
95724
- ...result,
95786
+ ...finalResult,
95725
95787
  issues: enrichedIssues,
95726
95788
  };
95727
95789
  return {
@@ -95746,8 +95808,34 @@ class CheckExecutionEngine {
95746
95808
  for (let i = 0; i < levelResults.length; i++) {
95747
95809
  const checkName = executionGroup.parallel[i];
95748
95810
  const result = levelResults[i];
95811
+ const checkConfig = config.checks[checkName];
95749
95812
  if (result.status === 'fulfilled' && result.value.result && !result.value.error) {
95750
- results.set(checkName, result.value.result);
95813
+ const reviewResult = result.value.result;
95814
+ // Handle forEach logic - process array outputs
95815
+ if (checkConfig?.forEach && reviewResult.output) {
95816
+ let outputArray = reviewResult.output;
95817
+ // Ensure output is an array
95818
+ if (!Array.isArray(outputArray)) {
95819
+ // Try to parse as JSON if it's a string
95820
+ if (typeof outputArray === 'string') {
95821
+ try {
95822
+ const parsed = JSON.parse(outputArray);
95823
+ outputArray = Array.isArray(parsed) ? parsed : [parsed];
95824
+ }
95825
+ catch {
95826
+ outputArray = [outputArray];
95827
+ }
95828
+ }
95829
+ else {
95830
+ outputArray = [outputArray];
95831
+ }
95832
+ }
95833
+ log(`🔄 Debug: Check "${checkName}" has forEach enabled, processing ${outputArray.length} items`);
95834
+ // Store the array for iteration by dependent checks
95835
+ reviewResult.forEachItems = outputArray;
95836
+ reviewResult.isForEach = true;
95837
+ }
95838
+ results.set(checkName, reviewResult);
95751
95839
  }
95752
95840
  else {
95753
95841
  // Store error result for dependency tracking
@@ -97315,7 +97403,7 @@ class ConfigManager {
97315
97403
  validCheckTypes = [
97316
97404
  'ai',
97317
97405
  'claude-code',
97318
- 'tool',
97406
+ 'command',
97319
97407
  'http',
97320
97408
  'http_input',
97321
97409
  'http_client',
@@ -97661,11 +97749,11 @@ class ConfigManager {
97661
97749
  message: `Invalid check configuration for "${checkName}": missing prompt (required for AI checks)`,
97662
97750
  });
97663
97751
  }
97664
- // Tool checks require exec field
97665
- if (checkConfig.type === 'tool' && !checkConfig.exec) {
97752
+ // Command checks require exec field
97753
+ if (checkConfig.type === 'command' && !checkConfig.exec) {
97666
97754
  errors.push({
97667
97755
  field: `checks.${checkName}.exec`,
97668
- message: `Invalid check configuration for "${checkName}": missing exec field (required for tool checks)`,
97756
+ message: `Invalid check configuration for "${checkName}": missing exec field (required for command checks)`,
97669
97757
  });
97670
97758
  }
97671
97759
  // HTTP output checks require url and body fields
@@ -102367,13 +102455,13 @@ exports.AICheckProvider = AICheckProvider;
102367
102455
  Object.defineProperty(exports, "__esModule", ({ value: true }));
102368
102456
  exports.CheckProviderRegistry = void 0;
102369
102457
  const ai_check_provider_1 = __nccwpck_require__(98901);
102370
- const tool_check_provider_1 = __nccwpck_require__(70477);
102371
102458
  const http_check_provider_1 = __nccwpck_require__(31115);
102372
102459
  const http_input_provider_1 = __nccwpck_require__(74423);
102373
102460
  const http_client_provider_1 = __nccwpck_require__(36270);
102374
102461
  const noop_check_provider_1 = __nccwpck_require__(53003);
102375
102462
  const log_check_provider_1 = __nccwpck_require__(24903);
102376
102463
  const claude_code_check_provider_1 = __nccwpck_require__(17985);
102464
+ const command_check_provider_1 = __nccwpck_require__(11878);
102377
102465
  /**
102378
102466
  * Registry for managing check providers
102379
102467
  */
@@ -102399,7 +102487,7 @@ class CheckProviderRegistry {
102399
102487
  registerDefaultProviders() {
102400
102488
  // Register all built-in providers
102401
102489
  this.register(new ai_check_provider_1.AICheckProvider());
102402
- this.register(new tool_check_provider_1.ToolCheckProvider());
102490
+ this.register(new command_check_provider_1.CommandCheckProvider());
102403
102491
  this.register(new http_check_provider_1.HttpCheckProvider());
102404
102492
  this.register(new http_input_provider_1.HttpInputProvider());
102405
102493
  this.register(new http_client_provider_1.HttpClientProvider());
@@ -103183,6 +103271,244 @@ async function safeImport(moduleName) {
103183
103271
  }
103184
103272
 
103185
103273
 
103274
+ /***/ }),
103275
+
103276
+ /***/ 11878:
103277
+ /***/ (function(__unused_webpack_module, exports, __nccwpck_require__) {
103278
+
103279
+ "use strict";
103280
+
103281
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
103282
+ if (k2 === undefined) k2 = k;
103283
+ var desc = Object.getOwnPropertyDescriptor(m, k);
103284
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
103285
+ desc = { enumerable: true, get: function() { return m[k]; } };
103286
+ }
103287
+ Object.defineProperty(o, k2, desc);
103288
+ }) : (function(o, m, k, k2) {
103289
+ if (k2 === undefined) k2 = k;
103290
+ o[k2] = m[k];
103291
+ }));
103292
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
103293
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
103294
+ }) : function(o, v) {
103295
+ o["default"] = v;
103296
+ });
103297
+ var __importStar = (this && this.__importStar) || (function () {
103298
+ var ownKeys = function(o) {
103299
+ ownKeys = Object.getOwnPropertyNames || function (o) {
103300
+ var ar = [];
103301
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
103302
+ return ar;
103303
+ };
103304
+ return ownKeys(o);
103305
+ };
103306
+ return function (mod) {
103307
+ if (mod && mod.__esModule) return mod;
103308
+ var result = {};
103309
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
103310
+ __setModuleDefault(result, mod);
103311
+ return result;
103312
+ };
103313
+ })();
103314
+ Object.defineProperty(exports, "__esModule", ({ value: true }));
103315
+ exports.CommandCheckProvider = void 0;
103316
+ const check_provider_interface_1 = __nccwpck_require__(14131);
103317
+ const liquidjs_1 = __nccwpck_require__(48694);
103318
+ /**
103319
+ * Check provider that executes shell commands and captures their output
103320
+ * Supports JSON parsing and integration with forEach functionality
103321
+ */
103322
+ class CommandCheckProvider extends check_provider_interface_1.CheckProvider {
103323
+ liquid;
103324
+ constructor() {
103325
+ super();
103326
+ this.liquid = new liquidjs_1.Liquid({
103327
+ cache: false,
103328
+ strictFilters: false,
103329
+ strictVariables: false,
103330
+ });
103331
+ }
103332
+ getName() {
103333
+ return 'command';
103334
+ }
103335
+ getDescription() {
103336
+ return 'Execute shell commands and capture output for processing';
103337
+ }
103338
+ async validateConfig(config) {
103339
+ if (!config || typeof config !== 'object') {
103340
+ return false;
103341
+ }
103342
+ const cfg = config;
103343
+ // Must have exec specified
103344
+ if (!cfg.exec || typeof cfg.exec !== 'string') {
103345
+ return false;
103346
+ }
103347
+ return true;
103348
+ }
103349
+ async execute(prInfo, config, dependencyResults) {
103350
+ const command = config.exec;
103351
+ const transform = config.transform;
103352
+ // Prepare template context for Liquid rendering
103353
+ const templateContext = {
103354
+ pr: {
103355
+ number: prInfo.number,
103356
+ title: prInfo.title,
103357
+ author: prInfo.author,
103358
+ branch: prInfo.head,
103359
+ base: prInfo.base,
103360
+ },
103361
+ files: prInfo.files,
103362
+ fileCount: prInfo.files.length,
103363
+ outputs: this.buildOutputContext(dependencyResults),
103364
+ env: this.getSafeEnvironmentVariables(),
103365
+ };
103366
+ try {
103367
+ // Render the command with Liquid templates if needed
103368
+ let renderedCommand = command;
103369
+ if (command.includes('{{') || command.includes('{%')) {
103370
+ renderedCommand = await this.liquid.parseAndRender(command, templateContext);
103371
+ }
103372
+ // Prepare environment variables - convert all to strings
103373
+ const scriptEnv = {};
103374
+ for (const [key, value] of Object.entries(process.env)) {
103375
+ if (value !== undefined) {
103376
+ scriptEnv[key] = value;
103377
+ }
103378
+ }
103379
+ if (config.env) {
103380
+ for (const [key, value] of Object.entries(config.env)) {
103381
+ if (value !== undefined && value !== null) {
103382
+ scriptEnv[key] = String(value);
103383
+ }
103384
+ }
103385
+ }
103386
+ // Execute the script using dynamic import to avoid Jest issues
103387
+ const { exec } = await Promise.resolve().then(() => __importStar(__nccwpck_require__(35317)));
103388
+ const { promisify } = await Promise.resolve().then(() => __importStar(__nccwpck_require__(39023)));
103389
+ const execAsync = promisify(exec);
103390
+ const { stdout, stderr } = await execAsync(renderedCommand, {
103391
+ env: scriptEnv,
103392
+ timeout: 60000, // 60 second timeout
103393
+ maxBuffer: 10 * 1024 * 1024, // 10MB buffer
103394
+ });
103395
+ if (stderr && process.env.DEBUG) {
103396
+ console.error(`Command stderr: ${stderr}`);
103397
+ }
103398
+ // Try to parse output as JSON
103399
+ let output = stdout.trim();
103400
+ try {
103401
+ // Attempt to parse as JSON
103402
+ const parsed = JSON.parse(stdout.trim());
103403
+ output = parsed;
103404
+ }
103405
+ catch {
103406
+ // If not JSON, keep as string
103407
+ output = stdout.trim();
103408
+ }
103409
+ // Apply transform if specified
103410
+ let finalOutput = output;
103411
+ if (transform) {
103412
+ try {
103413
+ const transformContext = {
103414
+ ...templateContext,
103415
+ output,
103416
+ };
103417
+ const rendered = await this.liquid.parseAndRender(transform, transformContext);
103418
+ // Try to parse the transformed result as JSON
103419
+ try {
103420
+ finalOutput = JSON.parse(rendered.trim());
103421
+ }
103422
+ catch {
103423
+ finalOutput = rendered.trim();
103424
+ }
103425
+ }
103426
+ catch (error) {
103427
+ return {
103428
+ issues: [
103429
+ {
103430
+ file: 'command',
103431
+ line: 0,
103432
+ ruleId: 'command/transform_error',
103433
+ message: `Failed to apply transform: ${error instanceof Error ? error.message : 'Unknown error'}`,
103434
+ severity: 'error',
103435
+ category: 'logic',
103436
+ },
103437
+ ],
103438
+ };
103439
+ }
103440
+ }
103441
+ // Return the output as part of the review summary
103442
+ // The output will be available to dependent checks
103443
+ return {
103444
+ issues: [],
103445
+ output: finalOutput,
103446
+ };
103447
+ }
103448
+ catch (error) {
103449
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error';
103450
+ return {
103451
+ issues: [
103452
+ {
103453
+ file: 'command',
103454
+ line: 0,
103455
+ ruleId: 'command/execution_error',
103456
+ message: `Command execution failed: ${errorMessage}`,
103457
+ severity: 'error',
103458
+ category: 'logic',
103459
+ },
103460
+ ],
103461
+ };
103462
+ }
103463
+ }
103464
+ buildOutputContext(dependencyResults) {
103465
+ if (!dependencyResults) {
103466
+ return {};
103467
+ }
103468
+ const outputs = {};
103469
+ for (const [checkName, result] of dependencyResults) {
103470
+ if (result.output !== undefined) {
103471
+ outputs[checkName] = result.output;
103472
+ }
103473
+ else {
103474
+ outputs[checkName] = {
103475
+ issueCount: result.issues?.length || 0,
103476
+ issues: result.issues || [],
103477
+ };
103478
+ }
103479
+ }
103480
+ return outputs;
103481
+ }
103482
+ getSafeEnvironmentVariables() {
103483
+ const safeVars = {};
103484
+ const allowedPrefixes = ['CI_', 'GITHUB_', 'RUNNER_', 'NODE_', 'npm_', 'PATH', 'HOME', 'USER'];
103485
+ for (const [key, value] of Object.entries(process.env)) {
103486
+ if (value !== undefined && allowedPrefixes.some(prefix => key.startsWith(prefix))) {
103487
+ safeVars[key] = value;
103488
+ }
103489
+ }
103490
+ // Add current working directory
103491
+ safeVars['PWD'] = process.cwd();
103492
+ return safeVars;
103493
+ }
103494
+ getSupportedConfigKeys() {
103495
+ return ['type', 'exec', 'transform', 'env', 'depends_on', 'on', 'if', 'group', 'forEach'];
103496
+ }
103497
+ async isAvailable() {
103498
+ // Command provider is always available as long as we can execute commands
103499
+ return true;
103500
+ }
103501
+ getRequirements() {
103502
+ return [
103503
+ 'Valid shell command to execute',
103504
+ 'Shell environment available',
103505
+ 'Optional: Transform template for processing output',
103506
+ ];
103507
+ }
103508
+ }
103509
+ exports.CommandCheckProvider = CommandCheckProvider;
103510
+
103511
+
103186
103512
  /***/ }),
103187
103513
 
103188
103514
  /***/ 31115:
@@ -104041,181 +104367,6 @@ class NoopCheckProvider extends check_provider_interface_1.CheckProvider {
104041
104367
  exports.NoopCheckProvider = NoopCheckProvider;
104042
104368
 
104043
104369
 
104044
- /***/ }),
104045
-
104046
- /***/ 70477:
104047
- /***/ ((__unused_webpack_module, exports, __nccwpck_require__) => {
104048
-
104049
- "use strict";
104050
-
104051
- Object.defineProperty(exports, "__esModule", ({ value: true }));
104052
- exports.ToolCheckProvider = void 0;
104053
- const check_provider_interface_1 = __nccwpck_require__(14131);
104054
- const issue_filter_1 = __nccwpck_require__(36879);
104055
- const child_process_1 = __nccwpck_require__(35317);
104056
- const liquidjs_1 = __nccwpck_require__(48694);
104057
- /**
104058
- * Check provider that executes external tools and commands with Liquid template support
104059
- * Supports both simple commands and complex templated execution with stdin
104060
- */
104061
- class ToolCheckProvider extends check_provider_interface_1.CheckProvider {
104062
- liquid;
104063
- constructor() {
104064
- super();
104065
- this.liquid = new liquidjs_1.Liquid({
104066
- strictVariables: false,
104067
- strictFilters: false,
104068
- });
104069
- }
104070
- getName() {
104071
- return 'tool';
104072
- }
104073
- getDescription() {
104074
- return 'Execute external code analysis tools (ESLint, Prettier, etc.)';
104075
- }
104076
- async validateConfig(config) {
104077
- if (!config || typeof config !== 'object') {
104078
- return false;
104079
- }
104080
- const cfg = config;
104081
- // Type must be 'tool'
104082
- if (cfg.type !== 'tool') {
104083
- return false;
104084
- }
104085
- // Must have exec specified for tool execution
104086
- if (typeof cfg.exec !== 'string' || !cfg.exec) {
104087
- return false;
104088
- }
104089
- return true;
104090
- }
104091
- async execute(prInfo, config, _dependencyResults, _sessionInfo) {
104092
- const execTemplate = config.exec;
104093
- const stdinTemplate = config.stdin;
104094
- // Prepare template context
104095
- const templateContext = {
104096
- pr: {
104097
- number: prInfo.number,
104098
- title: prInfo.title,
104099
- body: prInfo.body,
104100
- author: prInfo.author,
104101
- base: prInfo.base,
104102
- head: prInfo.head,
104103
- totalAdditions: prInfo.totalAdditions,
104104
- totalDeletions: prInfo.totalDeletions,
104105
- },
104106
- files: prInfo.files.map(f => ({
104107
- filename: f.filename,
104108
- status: f.status,
104109
- additions: f.additions,
104110
- deletions: f.deletions,
104111
- changes: f.changes,
104112
- patch: f.patch,
104113
- })),
104114
- // Add convenience arrays for common use cases
104115
- filenames: prInfo.files.map(f => f.filename),
104116
- config: config, // Allow access to config values in templates
104117
- };
104118
- // Render the command template
104119
- const renderedCommand = await this.liquid.parseAndRender(execTemplate, templateContext);
104120
- // Render stdin if provided
104121
- let renderedStdin;
104122
- if (stdinTemplate) {
104123
- renderedStdin = await this.liquid.parseAndRender(stdinTemplate, templateContext);
104124
- }
104125
- // Execute the tool
104126
- const output = await this.executeCommand(renderedCommand.trim(), renderedStdin);
104127
- // Parse tool output (this would be customized per tool)
104128
- const comments = this.parseToolOutput(output, renderedCommand);
104129
- const issues = comments.map(comment => ({
104130
- file: comment.file,
104131
- line: comment.line,
104132
- endLine: undefined,
104133
- ruleId: `tool/${comment.category}`,
104134
- message: comment.message,
104135
- severity: comment.severity,
104136
- category: comment.category,
104137
- suggestion: undefined,
104138
- replacement: undefined,
104139
- }));
104140
- // Apply issue suppression filtering
104141
- const suppressionEnabled = config.suppressionEnabled !== false;
104142
- const issueFilter = new issue_filter_1.IssueFilter(suppressionEnabled);
104143
- const filteredIssues = issueFilter.filterIssues(issues, process.cwd());
104144
- return {
104145
- issues: filteredIssues,
104146
- };
104147
- }
104148
- async executeCommand(command, stdin) {
104149
- return new Promise((resolve, reject) => {
104150
- // Parse command and arguments (handle quoted arguments)
104151
- const parts = command.match(/(?:[^\s"]+|"[^"]*")+/g) || [command];
104152
- const cmd = parts[0];
104153
- const args = parts.slice(1).map(arg => arg.replace(/^"(.*)"$/, '$1'));
104154
- const child = (0, child_process_1.spawn)(cmd, args, {
104155
- shell: false,
104156
- stdio: ['pipe', 'pipe', 'pipe'],
104157
- });
104158
- let output = '';
104159
- let error = '';
104160
- child.stdout.on('data', data => {
104161
- output += data.toString();
104162
- });
104163
- child.stderr.on('data', data => {
104164
- error += data.toString();
104165
- });
104166
- // Send stdin data if provided
104167
- if (stdin) {
104168
- child.stdin.write(stdin);
104169
- child.stdin.end();
104170
- }
104171
- child.on('close', _code => {
104172
- // Many tools return non-zero on issues found
104173
- resolve(output || error);
104174
- });
104175
- child.on('error', err => {
104176
- reject(new Error(`Failed to execute ${cmd}: ${err.message}`));
104177
- });
104178
- });
104179
- }
104180
- parseToolOutput(output, _command) {
104181
- const comments = [];
104182
- // This is a simplified parser - real implementation would handle specific tool formats
104183
- const lines = output.split('\n');
104184
- for (const line of lines) {
104185
- // Example: file.js:10:5: error: Missing semicolon
104186
- const match = line.match(/^(.+?):(\d+):(\d+):\s*(critical|error|warning|info):\s*(.+)$/);
104187
- if (match) {
104188
- const severity = match[4];
104189
- comments.push({
104190
- file: match[1],
104191
- line: parseInt(match[2]),
104192
- message: match[5],
104193
- severity: severity,
104194
- category: 'style',
104195
- });
104196
- }
104197
- }
104198
- return comments;
104199
- }
104200
- getSupportedConfigKeys() {
104201
- return ['type', 'exec', 'command', 'stdin', 'timeout', 'workingDirectory'];
104202
- }
104203
- async isAvailable() {
104204
- // Check if common tools are available
104205
- // In a real implementation, this would check for specific tools based on config
104206
- return true;
104207
- }
104208
- getRequirements() {
104209
- return [
104210
- 'External tool must be installed (e.g., eslint, prettier)',
104211
- 'Tool must be accessible in PATH',
104212
- 'Appropriate configuration files for the tool',
104213
- ];
104214
- }
104215
- }
104216
- exports.ToolCheckProvider = ToolCheckProvider;
104217
-
104218
-
104219
104370
  /***/ }),
104220
104371
 
104221
104372
  /***/ 532:
@@ -126193,13 +126344,19 @@ For GitHub-compatible mermaid diagrams, avoid single quotes and parentheses in n
126193
126344
 
126194
126345
  **Rules:**
126195
126346
  - NO single quotes in any node labels: 'text' \u2192 "text" or text
126196
- - NO parentheses in square brackets: [Text (detail)] \u2192 [Text - detail]
126347
+ - NO parentheses in square brackets: [Text (detail)] \u2192 [Text - detail]
126197
126348
  - NO complex expressions in diamonds: {a && b} \u2192 {condition}
126349
+ - NO HTML tags in node labels: [<pre>code</pre>] \u2192 ["code block"] or [Code Block]
126198
126350
  - USE single quotes for styles and classes: classDef highlight fill:'#ff9999'
126351
+ - CRITICAL: When using quotes in node labels, place them INSIDE the brackets: ["quoted text"], NOT [quoted text"]
126199
126352
 
126200
126353
  **Examples:**
126201
126354
  - \u2705 [Load Config] ["Run command"] {Valid?}
126355
+ - \u2705 ["depends_on: [generate-items]"] (correct quote placement)
126356
+ - \u2705 ["Code Block"] (clean text instead of HTML)
126202
126357
  - \u274C [Load (config)] [Run 'command'] {isValid('x')}
126358
+ - \u274C [depends_on: [generate-items"] (incorrect quote placement - quote ends inside bracket)
126359
+ - \u274C [<pre>depends_on: [generate-items]</pre>] (HTML tags in node labels)
126203
126360
 
126204
126361
  **Diagram Type Selection:**
126205
126362
 
@@ -129127,7 +129284,7 @@ Examples:
129127
129284
  </extract>
129128
129285
 
129129
129286
  <attempt_completion>
129130
- <result>The configuration is loaded from src/config.js lines 15-25 which contains the database settings.</result>
129287
+ The configuration is loaded from src/config.js lines 15-25 which contains the database settings.
129131
129288
  </attempt_completion>
129132
129289
 
129133
129290
  # Special Case: Quick Completion
@@ -129154,7 +129311,7 @@ I need to find code related to error handling in the search module. The most app
129154
129311
  6. Wait for the tool execution result, which will be provided in the next message (within a <tool_result> block).
129155
129312
  7. Analyze the tool result and decide the next step. If more tool calls are needed, repeat steps 2-6.
129156
129313
  8. If the task is fully complete and all previous steps were successful, use the \`<attempt_completion>\` tool to provide the final answer. This is the ONLY way to finish the task.
129157
- 9. If you cannot proceed (e.g., missing information, invalid request), explain the issue clearly before using \`<attempt_completion>\` with an appropriate message in the \`<result>\` tag.
129314
+ 9. If you cannot proceed (e.g., missing information, invalid request), use \`<attempt_completion>\` to explain the issue clearly with an appropriate message directly inside the tags.
129158
129315
  10. If your previous response was already correct and complete, you may use \`<attempt_complete>\` as a shorthand.
129159
129316
 
129160
129317
  Available Tools:
@@ -13,7 +13,6 @@ export interface CheckProviderConfig {
13
13
  exec?: string;
14
14
  stdin?: string;
15
15
  args?: string[];
16
- script?: string;
17
16
  interpreter?: string;
18
17
  url?: string;
19
18
  method?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"check-provider.interface.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/check-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,iBAAiB,EAAE,gBAAgB,CAAC;IAChD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzD,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,8BAAsB,aAAa;IACjC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,MAAM;IAE1B;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1D;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CACd,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;IAEzB;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAE3C;;;OAGG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,eAAe,IAAI,MAAM,EAAE;IAEpC;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAC/D"}
1
+ {"version":3,"file":"check-provider.interface.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/check-provider.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,EAAE,CAAC,EAAE,OAAO,iBAAiB,EAAE,gBAAgB,CAAC;IAChD,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IACzD,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,8BAAsB,aAAa;IACjC;;OAEG;IACH,QAAQ,CAAC,OAAO,IAAI,MAAM;IAE1B;;OAEG;IACH,QAAQ,CAAC,cAAc,IAAI,MAAM;IAEjC;;;;OAIG;IACH,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAE1D;;;;;;;OAOG;IACH,QAAQ,CAAC,OAAO,CACd,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;IAEzB;;;OAGG;IACH,QAAQ,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAE3C;;;OAGG;IACH,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAExC;;OAEG;IACH,QAAQ,CAAC,eAAe,IAAI,MAAM,EAAE;IAEpC;;;;OAIG;IACH,iBAAiB,CAAC,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAC/D"}
@@ -0,0 +1,21 @@
1
+ import { CheckProvider, CheckProviderConfig } from './check-provider.interface';
2
+ import { PRInfo } from '../pr-analyzer';
3
+ import { ReviewSummary } from '../reviewer';
4
+ /**
5
+ * Check provider that executes shell commands and captures their output
6
+ * Supports JSON parsing and integration with forEach functionality
7
+ */
8
+ export declare class CommandCheckProvider extends CheckProvider {
9
+ private liquid;
10
+ constructor();
11
+ getName(): string;
12
+ getDescription(): string;
13
+ validateConfig(config: unknown): Promise<boolean>;
14
+ execute(prInfo: PRInfo, config: CheckProviderConfig, dependencyResults?: Map<string, ReviewSummary>): Promise<ReviewSummary>;
15
+ private buildOutputContext;
16
+ private getSafeEnvironmentVariables;
17
+ getSupportedConfigKeys(): string[];
18
+ isAvailable(): Promise<boolean>;
19
+ getRequirements(): string[];
20
+ }
21
+ //# sourceMappingURL=command-check-provider.d.ts.map
@@ -0,0 +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;AAG5C;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,OAAO,CAAC,MAAM,CAAS;;IAWvB,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;IA0HzB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,2BAA2B;IAgBnC,sBAAsB,IAAI,MAAM,EAAE;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}
@@ -4,7 +4,7 @@
4
4
  export { CheckProvider, CheckProviderConfig } from './check-provider.interface';
5
5
  export { CheckProviderRegistry } from './check-provider-registry';
6
6
  export { AICheckProvider } from './ai-check-provider';
7
- export { ToolCheckProvider } from './tool-check-provider';
7
+ export { CommandCheckProvider } from './command-check-provider';
8
8
  export { HttpCheckProvider } from './http-check-provider';
9
9
  export { HttpInputProvider } from './http-input-provider';
10
10
  export { HttpClientProvider } from './http-client-provider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
@@ -164,7 +164,7 @@ export interface FailureConditionResult {
164
164
  /**
165
165
  * Valid check types in configuration
166
166
  */
167
- export type ConfigCheckType = 'ai' | 'tool' | 'http' | 'http_input' | 'http_client' | 'noop' | 'log' | 'claude-code';
167
+ export type ConfigCheckType = 'ai' | 'command' | 'http' | 'http_input' | 'http_client' | 'noop' | 'log' | 'claude-code';
168
168
  /**
169
169
  * Valid event triggers for checks
170
170
  */
@@ -254,7 +254,7 @@ export interface CheckConfig {
254
254
  prompt?: string;
255
255
  /** Additional prompt to append when extending configurations - merged with parent prompt */
256
256
  appendPrompt?: string;
257
- /** Tool execution command with Liquid template support - required for tool checks */
257
+ /** Command execution with Liquid template support - required for command checks */
258
258
  exec?: string;
259
259
  /** Stdin input for tools with Liquid template support - optional for tool checks */
260
260
  stdin?: string;
@@ -310,6 +310,8 @@ export interface CheckConfig {
310
310
  failure_conditions?: FailureConditions;
311
311
  /** Tags for categorizing and filtering checks (e.g., ["local", "fast", "security"]) */
312
312
  tags?: string[];
313
+ /** Process output as array and run dependent checks for each item */
314
+ forEach?: boolean;
313
315
  }
314
316
  /**
315
317
  * Custom template configuration
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/types/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@probelabs/visor",
3
- "version": "0.1.39",
3
+ "version": "0.1.40",
4
4
  "main": "dist/index.js",
5
5
  "bin": {
6
6
  "visor": "./dist/index.js"
@@ -66,7 +66,7 @@
66
66
  "@octokit/auth-app": "^8.1.0",
67
67
  "@octokit/core": "^7.0.3",
68
68
  "@octokit/rest": "^22.0.0",
69
- "@probelabs/probe": "^0.6.0-rc101",
69
+ "@probelabs/probe": "^0.6.0-rc102",
70
70
  "@types/commander": "^2.12.0",
71
71
  "@types/uuid": "^10.0.0",
72
72
  "cli-table3": "^0.6.5",
@@ -1,24 +0,0 @@
1
- import { CheckProvider, CheckProviderConfig } from './check-provider.interface';
2
- import { PRInfo } from '../pr-analyzer';
3
- import { ReviewSummary } from '../reviewer';
4
- /**
5
- * Check provider that executes external tools and commands with Liquid template support
6
- * Supports both simple commands and complex templated execution with stdin
7
- */
8
- export declare class ToolCheckProvider extends CheckProvider {
9
- private liquid;
10
- constructor();
11
- getName(): string;
12
- getDescription(): string;
13
- validateConfig(config: unknown): Promise<boolean>;
14
- execute(prInfo: PRInfo, config: CheckProviderConfig, _dependencyResults?: Map<string, ReviewSummary>, _sessionInfo?: {
15
- parentSessionId?: string;
16
- reuseSession?: boolean;
17
- }): Promise<ReviewSummary>;
18
- private executeCommand;
19
- private parseToolOutput;
20
- getSupportedConfigKeys(): string[];
21
- isAvailable(): Promise<boolean>;
22
- getRequirements(): string[];
23
- }
24
- //# sourceMappingURL=tool-check-provider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-check-provider.d.ts","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/providers/tool-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,EAA8B,MAAM,aAAa,CAAC;AAKxE;;;GAGG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAM,CAAS;;IASvB,OAAO,IAAI,MAAM;IAIjB,cAAc,IAAI,MAAM;IAIlB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoBjD,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;YAkEX,cAAc;IAwC5B,OAAO,CAAC,eAAe;IAuBvB,sBAAsB,IAAI,MAAM,EAAE;IAI5B,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAMrC,eAAe,IAAI,MAAM,EAAE;CAO5B"}