@probelabs/visor 0.1.19 → 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.
- package/dist/action-cli-bridge.d.ts +0 -1
- package/dist/action-cli-bridge.d.ts.map +1 -1
- package/dist/ai-review-service.d.ts +0 -1
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/check-execution-engine.d.ts +0 -1
- package/dist/check-execution-engine.d.ts.map +1 -1
- package/dist/cli-main.d.ts +0 -2
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli.d.ts +0 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/commands.d.ts +0 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/config.d.ts +0 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/dependency-resolver.d.ts +0 -1
- package/dist/dependency-resolver.d.ts.map +1 -1
- package/dist/event-mapper.d.ts +0 -1
- package/dist/event-mapper.d.ts.map +1 -1
- package/dist/failure-condition-evaluator.d.ts +0 -1
- package/dist/failure-condition-evaluator.d.ts.map +1 -1
- package/dist/git-repository-analyzer.d.ts +0 -1
- package/dist/git-repository-analyzer.d.ts.map +1 -1
- package/dist/github-check-service.d.ts +0 -1
- package/dist/github-check-service.d.ts.map +1 -1
- package/dist/github-comments.d.ts +0 -1
- package/dist/github-comments.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +127704 -805
- package/dist/output-formatters.d.ts +0 -1
- package/dist/output-formatters.d.ts.map +1 -1
- package/dist/pr-analyzer.d.ts +0 -1
- package/dist/pr-analyzer.d.ts.map +1 -1
- package/dist/pr-detector.d.ts +0 -1
- package/dist/pr-detector.d.ts.map +1 -1
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/check-provider-registry.d.ts.map +1 -1
- package/dist/providers/check-provider.interface.d.ts.map +1 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/noop-check-provider.d.ts.map +1 -1
- package/dist/providers/tool-check-provider.d.ts.map +1 -1
- package/dist/providers/webhook-check-provider.d.ts.map +1 -1
- package/dist/reviewer.d.ts +0 -1
- package/dist/reviewer.d.ts.map +1 -1
- package/dist/session-registry.d.ts +0 -1
- package/dist/session-registry.d.ts.map +1 -1
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/env-resolver.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/action-cli-bridge.js +0 -380
- package/dist/action-cli-bridge.js.map +0 -1
- package/dist/ai-review-service.js +0 -854
- package/dist/ai-review-service.js.map +0 -1
- package/dist/check-execution-engine.js +0 -1720
- package/dist/check-execution-engine.js.map +0 -1
- package/dist/cli-main.js +0 -249
- package/dist/cli-main.js.map +0 -1
- package/dist/cli.js +0 -241
- package/dist/cli.js.map +0 -1
- package/dist/commands.js +0 -53
- package/dist/commands.js.map +0 -1
- package/dist/config.js +0 -437
- package/dist/config.js.map +0 -1
- package/dist/dependency-resolver.js +0 -163
- package/dist/dependency-resolver.js.map +0 -1
- package/dist/event-mapper.js +0 -316
- package/dist/event-mapper.js.map +0 -1
- package/dist/failure-condition-evaluator.js +0 -481
- package/dist/failure-condition-evaluator.js.map +0 -1
- package/dist/git-repository-analyzer.js +0 -285
- package/dist/git-repository-analyzer.js.map +0 -1
- package/dist/github-check-service.js +0 -369
- package/dist/github-check-service.js.map +0 -1
- package/dist/github-comments.js +0 -289
- package/dist/github-comments.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/output-formatters.js +0 -624
- package/dist/output-formatters.js.map +0 -1
- package/dist/pr-analyzer.js +0 -195
- package/dist/pr-analyzer.js.map +0 -1
- package/dist/pr-detector.js +0 -357
- package/dist/pr-detector.js.map +0 -1
- package/dist/providers/ai-check-provider.js +0 -437
- package/dist/providers/ai-check-provider.js.map +0 -1
- package/dist/providers/check-provider-registry.js +0 -138
- package/dist/providers/check-provider-registry.js.map +0 -1
- package/dist/providers/check-provider.interface.js +0 -11
- package/dist/providers/check-provider.interface.js.map +0 -1
- package/dist/providers/index.js +0 -19
- package/dist/providers/index.js.map +0 -1
- package/dist/providers/noop-check-provider.js +0 -55
- package/dist/providers/noop-check-provider.js.map +0 -1
- package/dist/providers/tool-check-provider.js +0 -174
- package/dist/providers/tool-check-provider.js.map +0 -1
- package/dist/providers/webhook-check-provider.js +0 -173
- package/dist/providers/webhook-check-provider.js.map +0 -1
- package/dist/reviewer.js +0 -260
- package/dist/reviewer.js.map +0 -1
- package/dist/session-registry.js +0 -67
- package/dist/session-registry.js.map +0 -1
- package/dist/types/cli.js +0 -3
- package/dist/types/cli.js.map +0 -1
- package/dist/types/config.js +0 -6
- package/dist/types/config.js.map +0 -1
- package/dist/utils/env-resolver.js +0 -130
- 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
|
package/dist/commands.js.map
DELETED
|
@@ -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
|
package/dist/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|