@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/reviewer.js
DELETED
|
@@ -1,260 +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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PRReviewer = void 0;
|
|
37
|
-
exports.convertReviewSummaryToGroupedResults = convertReviewSummaryToGroupedResults;
|
|
38
|
-
exports.calculateTotalIssues = calculateTotalIssues;
|
|
39
|
-
exports.calculateCriticalIssues = calculateCriticalIssues;
|
|
40
|
-
exports.convertIssuesToComments = convertIssuesToComments;
|
|
41
|
-
const github_comments_1 = require("./github-comments");
|
|
42
|
-
const ai_review_service_1 = require("./ai-review-service");
|
|
43
|
-
// Test utility function - Convert old ReviewSummary to new GroupedCheckResults format
|
|
44
|
-
// This is for backward compatibility with tests only
|
|
45
|
-
function convertReviewSummaryToGroupedResults(reviewSummary, checkName = 'test-check', groupName = 'default') {
|
|
46
|
-
// Create a simple content string from issues and suggestions
|
|
47
|
-
let content = '';
|
|
48
|
-
if (reviewSummary.issues && reviewSummary.issues.length > 0) {
|
|
49
|
-
content += `## Issues Found (${reviewSummary.issues.length})\n\n`;
|
|
50
|
-
reviewSummary.issues.forEach(issue => {
|
|
51
|
-
content += `- **${issue.severity.toUpperCase()}**: ${issue.message} (${issue.file}:${issue.line})\n`;
|
|
52
|
-
});
|
|
53
|
-
content += '\n';
|
|
54
|
-
}
|
|
55
|
-
if (reviewSummary.suggestions && reviewSummary.suggestions.length > 0) {
|
|
56
|
-
content += `## Suggestions\n\n`;
|
|
57
|
-
reviewSummary.suggestions.forEach(suggestion => {
|
|
58
|
-
content += `- ${suggestion}\n`;
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
if (!content) {
|
|
62
|
-
content = 'No issues found.';
|
|
63
|
-
}
|
|
64
|
-
const checkResult = {
|
|
65
|
-
checkName,
|
|
66
|
-
content: content.trim(),
|
|
67
|
-
group: groupName,
|
|
68
|
-
debug: reviewSummary.debug,
|
|
69
|
-
issues: reviewSummary.issues, // Include structured issues
|
|
70
|
-
};
|
|
71
|
-
const groupedResults = {};
|
|
72
|
-
groupedResults[groupName] = [checkResult];
|
|
73
|
-
return groupedResults;
|
|
74
|
-
}
|
|
75
|
-
// Helper functions for GitHub checks - ONLY for structured schemas that have issues
|
|
76
|
-
// These are the ONLY acceptable hardcoded schema dependencies, and only for GitHub integration
|
|
77
|
-
function calculateTotalIssues(issues) {
|
|
78
|
-
return (issues || []).length;
|
|
79
|
-
}
|
|
80
|
-
function calculateCriticalIssues(issues) {
|
|
81
|
-
return (issues || []).filter(i => i.severity === 'critical').length;
|
|
82
|
-
}
|
|
83
|
-
// Legacy converter - ONLY for GitHub integration compatibility
|
|
84
|
-
function convertIssuesToComments(issues) {
|
|
85
|
-
return issues.map(issue => ({
|
|
86
|
-
file: issue.file,
|
|
87
|
-
line: issue.line,
|
|
88
|
-
message: issue.message,
|
|
89
|
-
severity: issue.severity,
|
|
90
|
-
category: issue.category,
|
|
91
|
-
suggestion: issue.suggestion,
|
|
92
|
-
replacement: issue.replacement,
|
|
93
|
-
ruleId: issue.ruleId,
|
|
94
|
-
}));
|
|
95
|
-
}
|
|
96
|
-
class PRReviewer {
|
|
97
|
-
octokit;
|
|
98
|
-
commentManager;
|
|
99
|
-
aiReviewService;
|
|
100
|
-
constructor(octokit) {
|
|
101
|
-
this.octokit = octokit;
|
|
102
|
-
this.commentManager = new github_comments_1.CommentManager(octokit);
|
|
103
|
-
this.aiReviewService = new ai_review_service_1.AIReviewService();
|
|
104
|
-
}
|
|
105
|
-
async reviewPR(owner, repo, prNumber, prInfo, options = {}) {
|
|
106
|
-
const { debug = false, config, checks } = options;
|
|
107
|
-
if (config && checks && checks.length > 0) {
|
|
108
|
-
const { CheckExecutionEngine } = await Promise.resolve().then(() => __importStar(require('./check-execution-engine')));
|
|
109
|
-
const engine = new CheckExecutionEngine();
|
|
110
|
-
const groupedResults = await engine.executeGroupedChecks(prInfo, checks, undefined, config, undefined, debug);
|
|
111
|
-
return groupedResults;
|
|
112
|
-
}
|
|
113
|
-
throw new Error('No configuration provided. Please create a .visor.yaml file with check definitions. ' +
|
|
114
|
-
'Built-in prompts have been removed - all checks must be explicitly configured.');
|
|
115
|
-
}
|
|
116
|
-
async postReviewComment(owner, repo, prNumber, groupedResults, options = {}) {
|
|
117
|
-
// Post separate comments for each group
|
|
118
|
-
for (const [groupName, checkResults] of Object.entries(groupedResults)) {
|
|
119
|
-
const comment = await this.formatGroupComment(checkResults, options, {
|
|
120
|
-
owner,
|
|
121
|
-
repo,
|
|
122
|
-
prNumber,
|
|
123
|
-
commitSha: options.commitSha,
|
|
124
|
-
});
|
|
125
|
-
const commentId = options.commentId
|
|
126
|
-
? `${options.commentId}-${groupName}`
|
|
127
|
-
: `visor-review-${groupName}`;
|
|
128
|
-
await this.commentManager.updateOrCreateComment(owner, repo, prNumber, comment, {
|
|
129
|
-
commentId,
|
|
130
|
-
triggeredBy: options.triggeredBy || 'unknown',
|
|
131
|
-
allowConcurrentUpdates: false,
|
|
132
|
-
commitSha: options.commitSha,
|
|
133
|
-
});
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
async formatGroupComment(checkResults, _options, _githubContext) {
|
|
137
|
-
let comment = '';
|
|
138
|
-
comment += `## 🔍 Code Analysis Results\n\n`;
|
|
139
|
-
// Simple concatenation of all check outputs in this group
|
|
140
|
-
const checkContents = checkResults
|
|
141
|
-
.map(result => result.content)
|
|
142
|
-
.filter(content => content.trim());
|
|
143
|
-
comment += checkContents.join('\n\n');
|
|
144
|
-
// Add debug info if any check has it
|
|
145
|
-
const debugInfo = checkResults.find(result => result.debug)?.debug;
|
|
146
|
-
if (debugInfo) {
|
|
147
|
-
comment += '\n\n' + this.formatDebugSection(debugInfo);
|
|
148
|
-
comment += '\n\n';
|
|
149
|
-
}
|
|
150
|
-
comment += `\n---\n*Powered by [Visor](https://probelabs.com/visor) from [Probelabs](https://probelabs.com)*`;
|
|
151
|
-
return comment;
|
|
152
|
-
}
|
|
153
|
-
formatDebugSection(debug) {
|
|
154
|
-
const formattedContent = [
|
|
155
|
-
`**Provider:** ${debug.provider}`,
|
|
156
|
-
`**Model:** ${debug.model}`,
|
|
157
|
-
`**API Key Source:** ${debug.apiKeySource}`,
|
|
158
|
-
`**Processing Time:** ${debug.processingTime}ms`,
|
|
159
|
-
`**Timestamp:** ${debug.timestamp}`,
|
|
160
|
-
`**Prompt Length:** ${debug.promptLength} characters`,
|
|
161
|
-
`**Response Length:** ${debug.responseLength} characters`,
|
|
162
|
-
`**JSON Parse Success:** ${debug.jsonParseSuccess ? '✅' : '❌'}`,
|
|
163
|
-
];
|
|
164
|
-
if (debug.errors && debug.errors.length > 0) {
|
|
165
|
-
formattedContent.push('', '### Errors');
|
|
166
|
-
debug.errors.forEach(error => {
|
|
167
|
-
formattedContent.push(`- ${error}`);
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
const fullDebugContent = [
|
|
171
|
-
...formattedContent,
|
|
172
|
-
'',
|
|
173
|
-
'### AI Prompt',
|
|
174
|
-
'```',
|
|
175
|
-
debug.prompt,
|
|
176
|
-
'```',
|
|
177
|
-
'',
|
|
178
|
-
'### Raw AI Response',
|
|
179
|
-
'```json',
|
|
180
|
-
debug.rawResponse,
|
|
181
|
-
'```',
|
|
182
|
-
].join('\n');
|
|
183
|
-
if (fullDebugContent.length > 60000) {
|
|
184
|
-
const artifactPath = this.saveDebugArtifact(debug);
|
|
185
|
-
formattedContent.push('');
|
|
186
|
-
formattedContent.push('### Debug Details');
|
|
187
|
-
formattedContent.push('⚠️ Debug information is too large for GitHub comments.');
|
|
188
|
-
if (artifactPath) {
|
|
189
|
-
formattedContent.push(`📁 **Full debug information saved to artifact:** \`${artifactPath}\``);
|
|
190
|
-
formattedContent.push('');
|
|
191
|
-
const runId = process.env.GITHUB_RUN_ID;
|
|
192
|
-
const repoUrl = process.env.GITHUB_SERVER_URL && process.env.GITHUB_REPOSITORY
|
|
193
|
-
? `${process.env.GITHUB_SERVER_URL}/${process.env.GITHUB_REPOSITORY}`
|
|
194
|
-
: null;
|
|
195
|
-
if (runId && repoUrl) {
|
|
196
|
-
formattedContent.push(`🔗 **Download Link:** [visor-debug-${process.env.GITHUB_RUN_NUMBER || runId}](${repoUrl}/actions/runs/${runId})`);
|
|
197
|
-
}
|
|
198
|
-
formattedContent.push('💡 Go to the GitHub Action run above and download the debug artifact to view complete prompts and responses.');
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
formattedContent.push('📝 **Prompt preview:** ' + debug.prompt.substring(0, 500) + '...');
|
|
202
|
-
formattedContent.push('📝 **Response preview:** ' + debug.rawResponse.substring(0, 500) + '...');
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
else {
|
|
206
|
-
formattedContent.push('');
|
|
207
|
-
formattedContent.push('### AI Prompt');
|
|
208
|
-
formattedContent.push('```');
|
|
209
|
-
formattedContent.push(debug.prompt);
|
|
210
|
-
formattedContent.push('```');
|
|
211
|
-
formattedContent.push('');
|
|
212
|
-
formattedContent.push('### Raw AI Response');
|
|
213
|
-
formattedContent.push('```json');
|
|
214
|
-
formattedContent.push(debug.rawResponse);
|
|
215
|
-
formattedContent.push('```');
|
|
216
|
-
}
|
|
217
|
-
return this.commentManager.createCollapsibleSection('🐛 Debug Information', formattedContent.join('\n'), false);
|
|
218
|
-
}
|
|
219
|
-
saveDebugArtifact(debug) {
|
|
220
|
-
try {
|
|
221
|
-
const fs = require('fs');
|
|
222
|
-
const path = require('path');
|
|
223
|
-
const debugDir = path.join(process.cwd(), 'debug-artifacts');
|
|
224
|
-
if (!fs.existsSync(debugDir)) {
|
|
225
|
-
fs.mkdirSync(debugDir, { recursive: true });
|
|
226
|
-
}
|
|
227
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
228
|
-
const filename = `visor-debug-${timestamp}.md`;
|
|
229
|
-
const filepath = path.join(debugDir, filename);
|
|
230
|
-
const content = [
|
|
231
|
-
`# Visor Debug Information`,
|
|
232
|
-
``,
|
|
233
|
-
`**Timestamp:** ${debug.timestamp}`,
|
|
234
|
-
`**Provider:** ${debug.provider}`,
|
|
235
|
-
`**Model:** ${debug.model}`,
|
|
236
|
-
`**Processing Time:** ${debug.processingTime}ms`,
|
|
237
|
-
``,
|
|
238
|
-
`## AI Prompt`,
|
|
239
|
-
``,
|
|
240
|
-
'```',
|
|
241
|
-
debug.prompt,
|
|
242
|
-
'```',
|
|
243
|
-
``,
|
|
244
|
-
`## Raw AI Response`,
|
|
245
|
-
``,
|
|
246
|
-
'```json',
|
|
247
|
-
debug.rawResponse,
|
|
248
|
-
'```',
|
|
249
|
-
].join('\n');
|
|
250
|
-
fs.writeFileSync(filepath, content, 'utf8');
|
|
251
|
-
return filename;
|
|
252
|
-
}
|
|
253
|
-
catch (error) {
|
|
254
|
-
console.error('Failed to save debug artifact:', error);
|
|
255
|
-
return null;
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
exports.PRReviewer = PRReviewer;
|
|
260
|
-
//# sourceMappingURL=reviewer.js.map
|
package/dist/reviewer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../src/reviewer.ts"],"names":[],"mappings":"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"}
|
package/dist/session-registry.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionRegistry = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Registry to manage active ProbeAgent sessions for session reuse
|
|
6
|
-
*/
|
|
7
|
-
class SessionRegistry {
|
|
8
|
-
static instance;
|
|
9
|
-
sessions = new Map();
|
|
10
|
-
constructor() { }
|
|
11
|
-
/**
|
|
12
|
-
* Get the singleton instance of SessionRegistry
|
|
13
|
-
*/
|
|
14
|
-
static getInstance() {
|
|
15
|
-
if (!SessionRegistry.instance) {
|
|
16
|
-
SessionRegistry.instance = new SessionRegistry();
|
|
17
|
-
}
|
|
18
|
-
return SessionRegistry.instance;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Register a ProbeAgent session
|
|
22
|
-
*/
|
|
23
|
-
registerSession(sessionId, agent) {
|
|
24
|
-
console.error(`🔄 Registering AI session: ${sessionId}`);
|
|
25
|
-
this.sessions.set(sessionId, agent);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Get an existing ProbeAgent session
|
|
29
|
-
*/
|
|
30
|
-
getSession(sessionId) {
|
|
31
|
-
const agent = this.sessions.get(sessionId);
|
|
32
|
-
if (agent) {
|
|
33
|
-
console.error(`♻️ Reusing AI session: ${sessionId}`);
|
|
34
|
-
}
|
|
35
|
-
return agent;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Remove a session from the registry
|
|
39
|
-
*/
|
|
40
|
-
unregisterSession(sessionId) {
|
|
41
|
-
if (this.sessions.has(sessionId)) {
|
|
42
|
-
console.error(`🗑️ Unregistering AI session: ${sessionId}`);
|
|
43
|
-
this.sessions.delete(sessionId);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Clear all sessions (useful for cleanup)
|
|
48
|
-
*/
|
|
49
|
-
clearAllSessions() {
|
|
50
|
-
console.error(`🧹 Clearing all AI sessions (${this.sessions.size} sessions)`);
|
|
51
|
-
this.sessions.clear();
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Get all active session IDs
|
|
55
|
-
*/
|
|
56
|
-
getActiveSessionIds() {
|
|
57
|
-
return Array.from(this.sessions.keys());
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Check if a session exists
|
|
61
|
-
*/
|
|
62
|
-
hasSession(sessionId) {
|
|
63
|
-
return this.sessions.has(sessionId);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
exports.SessionRegistry = SessionRegistry;
|
|
67
|
-
//# sourceMappingURL=session-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session-registry.js","sourceRoot":"","sources":["../src/session-registry.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH,MAAa,eAAe;IAClB,MAAM,CAAC,QAAQ,CAAkB;IACjC,QAAQ,GAA4B,IAAI,GAAG,EAAE,CAAC;IAEtD,gBAAuB,CAAC;IAExB;;OAEG;IACI,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC;YAC9B,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,SAAiB,EAAE,KAAiB;QACzD,OAAO,CAAC,KAAK,CAAC,8BAA8B,SAAS,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC3C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACI,iBAAiB,CAAC,SAAiB;QACxC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,kCAAkC,SAAS,EAAE,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;OAEG;IACI,gBAAgB;QACrB,OAAO,CAAC,KAAK,CAAC,gCAAgC,IAAI,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,mBAAmB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACI,UAAU,CAAC,SAAiB;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;CACF;AAlED,0CAkEC"}
|
package/dist/types/cli.js
DELETED
package/dist/types/cli.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/types/cli.ts"],"names":[],"mappings":""}
|
package/dist/types/config.js
DELETED
package/dist/types/config.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Environment variable resolution utilities
|
|
4
|
-
* Supports GitHub Actions-like syntax for referencing environment variables
|
|
5
|
-
*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.EnvironmentResolver = void 0;
|
|
8
|
-
/**
|
|
9
|
-
* Resolves environment variables in configuration values
|
|
10
|
-
* Supports the following syntaxes:
|
|
11
|
-
* - ${{ env.VARIABLE_NAME }} (GitHub Actions style)
|
|
12
|
-
* - ${VARIABLE_NAME} (shell style)
|
|
13
|
-
* - $VARIABLE_NAME (simple shell style)
|
|
14
|
-
* - Direct environment variable names
|
|
15
|
-
*/
|
|
16
|
-
class EnvironmentResolver {
|
|
17
|
-
/**
|
|
18
|
-
* Resolves a single configuration value that may contain environment variable references
|
|
19
|
-
*/
|
|
20
|
-
static resolveValue(value) {
|
|
21
|
-
if (typeof value !== 'string') {
|
|
22
|
-
return value;
|
|
23
|
-
}
|
|
24
|
-
// GitHub Actions style: ${{ env.VARIABLE_NAME }}
|
|
25
|
-
let resolved = value.replace(/\$\{\{\s*env\.([A-Z_][A-Z0-9_]*)\s*\}\}/g, (match, envVar) => {
|
|
26
|
-
return process.env[envVar] || match;
|
|
27
|
-
});
|
|
28
|
-
// Shell style: ${VARIABLE_NAME}
|
|
29
|
-
resolved = resolved.replace(/\$\{([A-Z_][A-Z0-9_]*)\}/g, (match, envVar) => {
|
|
30
|
-
return process.env[envVar] || match;
|
|
31
|
-
});
|
|
32
|
-
// Simple shell style: $VARIABLE_NAME
|
|
33
|
-
resolved = resolved.replace(/\$([A-Z_][A-Z0-9_]*)/g, (match, envVar) => {
|
|
34
|
-
return process.env[envVar] || match;
|
|
35
|
-
});
|
|
36
|
-
return resolved;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Resolves all environment variables in an EnvConfig object
|
|
40
|
-
*/
|
|
41
|
-
static resolveEnvConfig(envConfig) {
|
|
42
|
-
const resolved = {};
|
|
43
|
-
for (const [key, value] of Object.entries(envConfig)) {
|
|
44
|
-
resolved[key] = this.resolveValue(value);
|
|
45
|
-
}
|
|
46
|
-
return resolved;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Applies environment configuration to the process environment
|
|
50
|
-
* This allows checks to access their specific environment variables
|
|
51
|
-
*/
|
|
52
|
-
static applyEnvConfig(envConfig) {
|
|
53
|
-
const resolved = this.resolveEnvConfig(envConfig);
|
|
54
|
-
for (const [key, value] of Object.entries(resolved)) {
|
|
55
|
-
if (value !== undefined) {
|
|
56
|
-
process.env[key] = String(value);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Creates a temporary environment for a specific check execution
|
|
62
|
-
* Returns a cleanup function to restore the original environment
|
|
63
|
-
*/
|
|
64
|
-
static withTemporaryEnv(envConfig, callback) {
|
|
65
|
-
const resolved = this.resolveEnvConfig(envConfig);
|
|
66
|
-
const originalValues = {};
|
|
67
|
-
// Store original values and apply new ones
|
|
68
|
-
for (const [key, value] of Object.entries(resolved)) {
|
|
69
|
-
originalValues[key] = process.env[key];
|
|
70
|
-
if (value !== undefined) {
|
|
71
|
-
process.env[key] = String(value);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
try {
|
|
75
|
-
const result = callback();
|
|
76
|
-
// If callback returns a promise, handle cleanup after it resolves
|
|
77
|
-
if (result instanceof Promise) {
|
|
78
|
-
return result.finally(() => {
|
|
79
|
-
// Restore original values
|
|
80
|
-
for (const [key, originalValue] of Object.entries(originalValues)) {
|
|
81
|
-
if (originalValue === undefined) {
|
|
82
|
-
delete process.env[key];
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
process.env[key] = originalValue;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
// Restore original values immediately for sync callbacks
|
|
91
|
-
for (const [key, originalValue] of Object.entries(originalValues)) {
|
|
92
|
-
if (originalValue === undefined) {
|
|
93
|
-
delete process.env[key];
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
process.env[key] = originalValue;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
return result;
|
|
100
|
-
}
|
|
101
|
-
catch (error) {
|
|
102
|
-
// Restore original values on error
|
|
103
|
-
for (const [key, originalValue] of Object.entries(originalValues)) {
|
|
104
|
-
if (originalValue === undefined) {
|
|
105
|
-
delete process.env[key];
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
process.env[key] = originalValue;
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
throw error;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Validates that all required environment variables are available
|
|
116
|
-
*/
|
|
117
|
-
static validateRequiredEnvVars(envConfig, requiredVars) {
|
|
118
|
-
const resolved = this.resolveEnvConfig(envConfig);
|
|
119
|
-
const missing = [];
|
|
120
|
-
for (const varName of requiredVars) {
|
|
121
|
-
const value = resolved[varName] || process.env[varName];
|
|
122
|
-
if (!value) {
|
|
123
|
-
missing.push(varName);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return missing;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
exports.EnvironmentResolver = EnvironmentResolver;
|
|
130
|
-
//# sourceMappingURL=env-resolver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env-resolver.js","sourceRoot":"","sources":["../../src/utils/env-resolver.ts"],"names":[],"mappings":"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"}
|