@probelabs/visor 0.1.20 → 0.1.21

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.
Files changed (107) hide show
  1. package/dist/action-cli-bridge.d.ts +0 -1
  2. package/dist/action-cli-bridge.d.ts.map +1 -1
  3. package/dist/ai-review-service.d.ts +0 -1
  4. package/dist/ai-review-service.d.ts.map +1 -1
  5. package/dist/check-execution-engine.d.ts +0 -1
  6. package/dist/check-execution-engine.d.ts.map +1 -1
  7. package/dist/cli-main.d.ts +0 -2
  8. package/dist/cli-main.d.ts.map +1 -1
  9. package/dist/cli.d.ts +0 -1
  10. package/dist/cli.d.ts.map +1 -1
  11. package/dist/commands.d.ts +0 -1
  12. package/dist/commands.d.ts.map +1 -1
  13. package/dist/config.d.ts +0 -1
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/dependency-resolver.d.ts +0 -1
  16. package/dist/dependency-resolver.d.ts.map +1 -1
  17. package/dist/event-mapper.d.ts +0 -1
  18. package/dist/event-mapper.d.ts.map +1 -1
  19. package/dist/failure-condition-evaluator.d.ts +0 -1
  20. package/dist/failure-condition-evaluator.d.ts.map +1 -1
  21. package/dist/git-repository-analyzer.d.ts +0 -1
  22. package/dist/git-repository-analyzer.d.ts.map +1 -1
  23. package/dist/github-check-service.d.ts +0 -1
  24. package/dist/github-check-service.d.ts.map +1 -1
  25. package/dist/github-comments.d.ts +0 -1
  26. package/dist/github-comments.d.ts.map +1 -1
  27. package/dist/index.d.ts +0 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +127704 -805
  30. package/dist/output-formatters.d.ts +0 -1
  31. package/dist/output-formatters.d.ts.map +1 -1
  32. package/dist/pr-analyzer.d.ts +0 -1
  33. package/dist/pr-analyzer.d.ts.map +1 -1
  34. package/dist/pr-detector.d.ts +0 -1
  35. package/dist/pr-detector.d.ts.map +1 -1
  36. package/dist/providers/ai-check-provider.d.ts.map +1 -1
  37. package/dist/providers/check-provider-registry.d.ts.map +1 -1
  38. package/dist/providers/check-provider.interface.d.ts.map +1 -1
  39. package/dist/providers/index.d.ts.map +1 -1
  40. package/dist/providers/noop-check-provider.d.ts.map +1 -1
  41. package/dist/providers/tool-check-provider.d.ts.map +1 -1
  42. package/dist/providers/webhook-check-provider.d.ts.map +1 -1
  43. package/dist/reviewer.d.ts +0 -1
  44. package/dist/reviewer.d.ts.map +1 -1
  45. package/dist/session-registry.d.ts +0 -1
  46. package/dist/session-registry.d.ts.map +1 -1
  47. package/dist/types/cli.d.ts.map +1 -1
  48. package/dist/types/config.d.ts.map +1 -1
  49. package/dist/utils/env-resolver.d.ts.map +1 -1
  50. package/package.json +3 -3
  51. package/dist/action-cli-bridge.js +0 -387
  52. package/dist/action-cli-bridge.js.map +0 -1
  53. package/dist/ai-review-service.js +0 -854
  54. package/dist/ai-review-service.js.map +0 -1
  55. package/dist/check-execution-engine.js +0 -1720
  56. package/dist/check-execution-engine.js.map +0 -1
  57. package/dist/cli-main.js +0 -249
  58. package/dist/cli-main.js.map +0 -1
  59. package/dist/cli.js +0 -241
  60. package/dist/cli.js.map +0 -1
  61. package/dist/commands.js +0 -53
  62. package/dist/commands.js.map +0 -1
  63. package/dist/config.js +0 -437
  64. package/dist/config.js.map +0 -1
  65. package/dist/dependency-resolver.js +0 -163
  66. package/dist/dependency-resolver.js.map +0 -1
  67. package/dist/event-mapper.js +0 -316
  68. package/dist/event-mapper.js.map +0 -1
  69. package/dist/failure-condition-evaluator.js +0 -481
  70. package/dist/failure-condition-evaluator.js.map +0 -1
  71. package/dist/git-repository-analyzer.js +0 -285
  72. package/dist/git-repository-analyzer.js.map +0 -1
  73. package/dist/github-check-service.js +0 -369
  74. package/dist/github-check-service.js.map +0 -1
  75. package/dist/github-comments.js +0 -289
  76. package/dist/github-comments.js.map +0 -1
  77. package/dist/index.js.map +0 -1
  78. package/dist/output-formatters.js +0 -624
  79. package/dist/output-formatters.js.map +0 -1
  80. package/dist/pr-analyzer.js +0 -195
  81. package/dist/pr-analyzer.js.map +0 -1
  82. package/dist/pr-detector.js +0 -357
  83. package/dist/pr-detector.js.map +0 -1
  84. package/dist/providers/ai-check-provider.js +0 -437
  85. package/dist/providers/ai-check-provider.js.map +0 -1
  86. package/dist/providers/check-provider-registry.js +0 -138
  87. package/dist/providers/check-provider-registry.js.map +0 -1
  88. package/dist/providers/check-provider.interface.js +0 -11
  89. package/dist/providers/check-provider.interface.js.map +0 -1
  90. package/dist/providers/index.js +0 -19
  91. package/dist/providers/index.js.map +0 -1
  92. package/dist/providers/noop-check-provider.js +0 -55
  93. package/dist/providers/noop-check-provider.js.map +0 -1
  94. package/dist/providers/tool-check-provider.js +0 -174
  95. package/dist/providers/tool-check-provider.js.map +0 -1
  96. package/dist/providers/webhook-check-provider.js +0 -173
  97. package/dist/providers/webhook-check-provider.js.map +0 -1
  98. package/dist/reviewer.js +0 -260
  99. package/dist/reviewer.js.map +0 -1
  100. package/dist/session-registry.js +0 -67
  101. package/dist/session-registry.js.map +0 -1
  102. package/dist/types/cli.js +0 -3
  103. package/dist/types/cli.js.map +0 -1
  104. package/dist/types/config.js +0 -6
  105. package/dist/types/config.js.map +0 -1
  106. package/dist/utils/env-resolver.js +0 -130
  107. package/dist/utils/env-resolver.js.map +0 -1
package/dist/cli.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/commands.js DELETED
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.parseComment = parseComment;
4
- exports.getHelpText = getHelpText;
5
- function parseComment(body, supportedCommands) {
6
- const trimmed = body.trim();
7
- if (!trimmed.startsWith('/')) {
8
- return null;
9
- }
10
- const parts = trimmed.split(/\s+/);
11
- const command = parts[0].substring(1).toLowerCase();
12
- const args = parts.slice(1);
13
- // Default built-in commands
14
- const builtInCommands = ['help', 'status'];
15
- const allCommands = supportedCommands
16
- ? [...builtInCommands, ...supportedCommands]
17
- : builtInCommands;
18
- if (!allCommands.includes(command)) {
19
- return null;
20
- }
21
- return {
22
- type: command,
23
- args: args.length > 0 ? args : undefined,
24
- };
25
- }
26
- function getHelpText(customCommands) {
27
- let commandList = '';
28
- let hasCustomCommands = false;
29
- // Add custom commands from config
30
- if (customCommands && Object.keys(customCommands).length > 0) {
31
- hasCustomCommands = true;
32
- for (const [command, checkIds] of Object.entries(customCommands)) {
33
- commandList += `- \`/${command}\` - Run checks: ${checkIds.join(', ')}\n`;
34
- }
35
- }
36
- // Add built-in commands
37
- commandList += `- \`/status\` - Show current PR status and metrics\n`;
38
- commandList += `- \`/help\` - Show this help message\n`;
39
- // Add note if no custom commands are configured
40
- if (!hasCustomCommands) {
41
- commandList =
42
- `*No custom review commands configured. Configure checks with the \`command\` property in your .visor.yaml file.*\n\n` +
43
- commandList;
44
- }
45
- return `## Available Commands
46
-
47
- ${commandList}
48
- Commands are case-insensitive and can be used in PR comments.
49
-
50
- ---
51
- *Powered by [Visor](https://probelabs.com/visor) from [Probelabs](https://probelabs.com)*`;
52
- }
53
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":";;AASA,oCAyBC;AAED,kCA8BC;AAzDD,SAAgB,YAAY,CAAC,IAAY,EAAE,iBAA4B;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE5B,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE5B,4BAA4B;IAC5B,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,iBAAiB;QACnC,CAAC,CAAC,CAAC,GAAG,eAAe,EAAE,GAAG,iBAAiB,CAAC;QAC5C,CAAC,CAAC,eAAe,CAAC;IAEpB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;KACzC,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW,CAAC,cAAgC;IAC1D,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,iBAAiB,GAAG,KAAK,CAAC;IAE9B,kCAAkC;IAClC,IAAI,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7D,iBAAiB,GAAG,IAAI,CAAC;QACzB,KAAK,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACjE,WAAW,IAAI,QAAQ,OAAO,oBAAoB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,WAAW,IAAI,sDAAsD,CAAC;IACtE,WAAW,IAAI,wCAAwC,CAAC;IAExD,gDAAgD;IAChD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,WAAW;YACT,sHAAsH;gBACtH,WAAW,CAAC;IAChB,CAAC;IAED,OAAO;;EAEP,WAAW;;;;0FAI6E,CAAC;AAC3F,CAAC"}
package/dist/config.js DELETED
@@ -1,437 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ConfigManager = void 0;
40
- const yaml = __importStar(require("js-yaml"));
41
- const fs = __importStar(require("fs"));
42
- const path = __importStar(require("path"));
43
- const simple_git_1 = __importDefault(require("simple-git"));
44
- /**
45
- * Configuration manager for Visor
46
- */
47
- class ConfigManager {
48
- validCheckTypes = ['ai', 'tool', 'webhook', 'noop'];
49
- validEventTriggers = [
50
- 'pr_opened',
51
- 'pr_updated',
52
- 'pr_closed',
53
- 'issue_opened',
54
- 'issue_comment',
55
- 'manual',
56
- ];
57
- validOutputFormats = ['table', 'json', 'markdown', 'sarif'];
58
- validGroupByOptions = ['check', 'file', 'severity'];
59
- /**
60
- * Load configuration from a file
61
- */
62
- async loadConfig(configPath, options = {}) {
63
- const { validate = true, mergeDefaults = true } = options;
64
- try {
65
- if (!fs.existsSync(configPath)) {
66
- throw new Error(`Configuration file not found: ${configPath}`);
67
- }
68
- const configContent = fs.readFileSync(configPath, 'utf8');
69
- let parsedConfig;
70
- try {
71
- parsedConfig = yaml.load(configContent);
72
- }
73
- catch (yamlError) {
74
- const errorMessage = yamlError instanceof Error ? yamlError.message : String(yamlError);
75
- throw new Error(`Invalid YAML syntax in ${configPath}: ${errorMessage}`);
76
- }
77
- if (!parsedConfig || typeof parsedConfig !== 'object') {
78
- throw new Error('Configuration file must contain a valid YAML object');
79
- }
80
- if (validate) {
81
- this.validateConfig(parsedConfig);
82
- }
83
- let finalConfig = parsedConfig;
84
- if (mergeDefaults) {
85
- finalConfig = this.mergeWithDefaults(parsedConfig);
86
- }
87
- return finalConfig;
88
- }
89
- catch (error) {
90
- if (error instanceof Error) {
91
- if (error.message.includes('not found') || error.message.includes('Invalid YAML')) {
92
- throw error;
93
- }
94
- throw new Error(`Failed to read configuration file: ${error.message}`);
95
- }
96
- throw error;
97
- }
98
- }
99
- /**
100
- * Find and load configuration from default locations
101
- */
102
- async findAndLoadConfig() {
103
- // Try to find the git repository root first, fall back to current directory
104
- const gitRoot = await this.findGitRepositoryRoot();
105
- const searchDirs = [gitRoot, process.cwd()].filter(Boolean);
106
- for (const baseDir of searchDirs) {
107
- const possiblePaths = [path.join(baseDir, '.visor.yaml'), path.join(baseDir, '.visor.yml')];
108
- for (const configPath of possiblePaths) {
109
- if (fs.existsSync(configPath)) {
110
- return this.loadConfig(configPath);
111
- }
112
- }
113
- }
114
- // Try to load bundled default config
115
- const bundledConfig = this.loadBundledDefaultConfig();
116
- if (bundledConfig) {
117
- return bundledConfig;
118
- }
119
- // Return minimal default config if no bundled config found
120
- return this.getDefaultConfig();
121
- }
122
- /**
123
- * Find the git repository root directory
124
- */
125
- async findGitRepositoryRoot() {
126
- try {
127
- const git = (0, simple_git_1.default)();
128
- const isRepo = await git.checkIsRepo();
129
- if (!isRepo) {
130
- return null;
131
- }
132
- // Get the repository root directory
133
- const rootDir = await git.revparse(['--show-toplevel']);
134
- return rootDir.trim();
135
- }
136
- catch {
137
- // Not in a git repository or git not available
138
- return null;
139
- }
140
- }
141
- /**
142
- * Get default configuration
143
- */
144
- async getDefaultConfig() {
145
- return {
146
- version: '1.0',
147
- checks: {},
148
- max_parallelism: 3,
149
- output: {
150
- pr_comment: {
151
- format: 'markdown',
152
- group_by: 'check',
153
- collapse: true,
154
- },
155
- },
156
- };
157
- }
158
- /**
159
- * Load bundled default configuration from the package
160
- */
161
- loadBundledDefaultConfig() {
162
- try {
163
- // Find the package root by looking for package.json
164
- const packageRoot = this.findPackageRoot();
165
- if (!packageRoot) {
166
- return null;
167
- }
168
- const bundledConfigPath = path.join(packageRoot, 'defaults', '.visor.yaml');
169
- if (fs.existsSync(bundledConfigPath)) {
170
- const configContent = fs.readFileSync(bundledConfigPath, 'utf8');
171
- const parsedConfig = yaml.load(configContent);
172
- if (!parsedConfig || typeof parsedConfig !== 'object') {
173
- return null;
174
- }
175
- // Validate and merge with defaults
176
- this.validateConfig(parsedConfig);
177
- return this.mergeWithDefaults(parsedConfig);
178
- }
179
- }
180
- catch (error) {
181
- // Silently fail and return null - will fall back to minimal default
182
- console.warn('Failed to load bundled default config:', error instanceof Error ? error.message : String(error));
183
- }
184
- return null;
185
- }
186
- /**
187
- * Find the root directory of the Visor package
188
- */
189
- findPackageRoot() {
190
- let currentDir = __dirname;
191
- // Walk up the directory tree to find package.json
192
- while (currentDir !== path.dirname(currentDir)) {
193
- const packageJsonPath = path.join(currentDir, 'package.json');
194
- if (fs.existsSync(packageJsonPath)) {
195
- try {
196
- const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
197
- // Check if this is the Visor package
198
- if (packageJson.name === '@probelabs/visor') {
199
- return currentDir;
200
- }
201
- }
202
- catch {
203
- // Continue searching if package.json is invalid
204
- }
205
- }
206
- currentDir = path.dirname(currentDir);
207
- }
208
- return null;
209
- }
210
- /**
211
- * Merge configuration with CLI options
212
- */
213
- mergeWithCliOptions(config, cliOptions) {
214
- // Apply CLI overrides to the config
215
- const mergedConfig = { ...config };
216
- // Override max_parallelism if specified in CLI
217
- if (cliOptions.maxParallelism !== undefined) {
218
- mergedConfig.max_parallelism = cliOptions.maxParallelism;
219
- }
220
- // Override fail_fast if specified in CLI
221
- if (cliOptions.failFast !== undefined) {
222
- mergedConfig.fail_fast = cliOptions.failFast;
223
- }
224
- return {
225
- config: mergedConfig,
226
- cliChecks: cliOptions.checks || [],
227
- cliOutput: cliOptions.output || 'table',
228
- };
229
- }
230
- /**
231
- * Load configuration with environment variable overrides
232
- */
233
- async loadConfigWithEnvOverrides() {
234
- const environmentOverrides = {};
235
- // Check for environment variable overrides
236
- if (process.env.VISOR_CONFIG_PATH) {
237
- environmentOverrides.configPath = process.env.VISOR_CONFIG_PATH;
238
- }
239
- if (process.env.VISOR_OUTPUT_FORMAT) {
240
- environmentOverrides.outputFormat = process.env.VISOR_OUTPUT_FORMAT;
241
- }
242
- let config;
243
- if (environmentOverrides.configPath) {
244
- try {
245
- config = await this.loadConfig(environmentOverrides.configPath);
246
- }
247
- catch {
248
- // If environment config fails, fall back to default discovery
249
- config = await this.findAndLoadConfig();
250
- }
251
- }
252
- else {
253
- config = await this.findAndLoadConfig();
254
- }
255
- return { config, environmentOverrides };
256
- }
257
- /**
258
- * Validate configuration against schema
259
- */
260
- validateConfig(config) {
261
- const errors = [];
262
- // Validate required fields
263
- if (!config.version) {
264
- errors.push({
265
- field: 'version',
266
- message: 'Missing required field: version',
267
- });
268
- }
269
- if (!config.checks) {
270
- errors.push({
271
- field: 'checks',
272
- message: 'Missing required field: checks',
273
- });
274
- }
275
- else {
276
- // Validate each check configuration
277
- for (const [checkName, checkConfig] of Object.entries(config.checks)) {
278
- this.validateCheckConfig(checkName, checkConfig, errors);
279
- }
280
- }
281
- // Validate output configuration if present
282
- if (config.output) {
283
- this.validateOutputConfig(config.output, errors);
284
- }
285
- // Validate max_parallelism if present
286
- if (config.max_parallelism !== undefined) {
287
- if (typeof config.max_parallelism !== 'number' ||
288
- config.max_parallelism < 1 ||
289
- !Number.isInteger(config.max_parallelism)) {
290
- errors.push({
291
- field: 'max_parallelism',
292
- message: 'max_parallelism must be a positive integer (minimum 1)',
293
- value: config.max_parallelism,
294
- });
295
- }
296
- }
297
- if (errors.length > 0) {
298
- throw new Error(errors[0].message);
299
- }
300
- }
301
- /**
302
- * Validate individual check configuration
303
- */
304
- validateCheckConfig(checkName, checkConfig, errors) {
305
- if (!checkConfig.type) {
306
- errors.push({
307
- field: `checks.${checkName}.type`,
308
- message: `Invalid check configuration for "${checkName}": missing type`,
309
- });
310
- return;
311
- }
312
- if (!this.validCheckTypes.includes(checkConfig.type)) {
313
- errors.push({
314
- field: `checks.${checkName}.type`,
315
- message: `Invalid check type "${checkConfig.type}". Must be: ${this.validCheckTypes.join(', ')}`,
316
- value: checkConfig.type,
317
- });
318
- }
319
- // Only AI checks require prompts
320
- if (checkConfig.type === 'ai' && !checkConfig.prompt) {
321
- errors.push({
322
- field: `checks.${checkName}.prompt`,
323
- message: `Invalid check configuration for "${checkName}": missing prompt (required for AI checks)`,
324
- });
325
- }
326
- // Tool checks require exec field
327
- if (checkConfig.type === 'tool' && !checkConfig.exec) {
328
- errors.push({
329
- field: `checks.${checkName}.exec`,
330
- message: `Invalid check configuration for "${checkName}": missing exec field (required for tool checks)`,
331
- });
332
- }
333
- // Webhook checks require url field
334
- if (checkConfig.type === 'webhook' && !checkConfig.url) {
335
- errors.push({
336
- field: `checks.${checkName}.url`,
337
- message: `Invalid check configuration for "${checkName}": missing url field (required for webhook checks)`,
338
- });
339
- }
340
- if (!checkConfig.on || !Array.isArray(checkConfig.on)) {
341
- errors.push({
342
- field: `checks.${checkName}.on`,
343
- message: `Invalid check configuration for "${checkName}": missing or invalid 'on' field`,
344
- });
345
- }
346
- else {
347
- // Validate event triggers
348
- for (const event of checkConfig.on) {
349
- if (!this.validEventTriggers.includes(event)) {
350
- errors.push({
351
- field: `checks.${checkName}.on`,
352
- message: `Invalid event "${event}". Must be one of: ${this.validEventTriggers.join(', ')}`,
353
- value: event,
354
- });
355
- }
356
- }
357
- }
358
- // Validate reuse_ai_session configuration
359
- if (checkConfig.reuse_ai_session !== undefined) {
360
- if (typeof checkConfig.reuse_ai_session !== 'boolean') {
361
- errors.push({
362
- field: `checks.${checkName}.reuse_ai_session`,
363
- message: `Invalid reuse_ai_session value for "${checkName}": must be boolean`,
364
- value: checkConfig.reuse_ai_session,
365
- });
366
- }
367
- else if (checkConfig.reuse_ai_session === true) {
368
- // When reuse_ai_session is true, depends_on must be specified and non-empty
369
- if (!checkConfig.depends_on ||
370
- !Array.isArray(checkConfig.depends_on) ||
371
- checkConfig.depends_on.length === 0) {
372
- errors.push({
373
- field: `checks.${checkName}.reuse_ai_session`,
374
- message: `Check "${checkName}" has reuse_ai_session=true but missing or empty depends_on. Session reuse requires dependency on another check.`,
375
- value: checkConfig.reuse_ai_session,
376
- });
377
- }
378
- }
379
- }
380
- }
381
- /**
382
- * Validate output configuration
383
- */
384
- validateOutputConfig(outputConfig, errors) {
385
- if (outputConfig.pr_comment) {
386
- const prComment = outputConfig.pr_comment;
387
- if (typeof prComment.format === 'string' &&
388
- !this.validOutputFormats.includes(prComment.format)) {
389
- errors.push({
390
- field: 'output.pr_comment.format',
391
- message: `Invalid output format "${prComment.format}". Must be one of: ${this.validOutputFormats.join(', ')}`,
392
- value: prComment.format,
393
- });
394
- }
395
- if (typeof prComment.group_by === 'string' &&
396
- !this.validGroupByOptions.includes(prComment.group_by)) {
397
- errors.push({
398
- field: 'output.pr_comment.group_by',
399
- message: `Invalid group_by option "${prComment.group_by}". Must be one of: ${this.validGroupByOptions.join(', ')}`,
400
- value: prComment.group_by,
401
- });
402
- }
403
- }
404
- }
405
- /**
406
- * Merge configuration with default values
407
- */
408
- mergeWithDefaults(config) {
409
- const defaultConfig = {
410
- version: '1.0',
411
- checks: {},
412
- max_parallelism: 3,
413
- output: {
414
- pr_comment: {
415
- format: 'markdown',
416
- group_by: 'check',
417
- collapse: true,
418
- },
419
- },
420
- };
421
- // Deep merge with defaults
422
- const merged = { ...defaultConfig, ...config };
423
- // Ensure output has default values
424
- if (merged.output) {
425
- merged.output.pr_comment = {
426
- ...defaultConfig.output.pr_comment,
427
- ...merged.output.pr_comment,
428
- };
429
- }
430
- else {
431
- merged.output = defaultConfig.output;
432
- }
433
- return merged;
434
- }
435
- }
436
- exports.ConfigManager = ConfigManager;
437
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}