@probelabs/visor 0.1.2 → 0.1.3
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 +144 -11
- package/action.yml +11 -1
- package/defaults/.visor.yaml +178 -42
- package/dist/action-cli-bridge.d.ts +2 -0
- package/dist/action-cli-bridge.d.ts.map +1 -1
- package/dist/action-cli-bridge.js +8 -0
- package/dist/action-cli-bridge.js.map +1 -1
- package/dist/ai-review-service.d.ts +24 -2
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/ai-review-service.js +209 -98
- package/dist/ai-review-service.js.map +1 -1
- package/dist/check-execution-engine.d.ts +11 -1
- package/dist/check-execution-engine.d.ts.map +1 -1
- package/dist/check-execution-engine.js +216 -25
- package/dist/check-execution-engine.js.map +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli-main.js +2 -0
- package/dist/cli-main.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -3
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +54 -2
- package/dist/config.js.map +1 -1
- package/dist/event-mapper.d.ts +15 -0
- package/dist/event-mapper.d.ts.map +1 -1
- package/dist/event-mapper.js +9 -2
- package/dist/event-mapper.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/ai-check-provider.d.ts +4 -1
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/ai-check-provider.js +22 -5
- package/dist/providers/ai-check-provider.js.map +1 -1
- package/dist/providers/check-provider.interface.d.ts +9 -1
- package/dist/providers/check-provider.interface.d.ts.map +1 -1
- package/dist/providers/check-provider.interface.js.map +1 -1
- package/dist/providers/script-check-provider.d.ts +4 -1
- package/dist/providers/script-check-provider.d.ts.map +1 -1
- package/dist/providers/script-check-provider.js +1 -1
- package/dist/providers/script-check-provider.js.map +1 -1
- package/dist/providers/tool-check-provider.d.ts +4 -1
- package/dist/providers/tool-check-provider.d.ts.map +1 -1
- package/dist/providers/tool-check-provider.js +1 -1
- package/dist/providers/tool-check-provider.js.map +1 -1
- package/dist/providers/webhook-check-provider.d.ts +4 -1
- package/dist/providers/webhook-check-provider.d.ts.map +1 -1
- package/dist/providers/webhook-check-provider.js +1 -1
- package/dist/providers/webhook-check-provider.js.map +1 -1
- package/dist/reviewer.d.ts.map +1 -1
- package/dist/reviewer.js +28 -17
- package/dist/reviewer.js.map +1 -1
- package/dist/session-registry.d.ts +38 -0
- package/dist/session-registry.d.ts.map +1 -0
- package/dist/session-registry.js +67 -0
- package/dist/session-registry.js.map +1 -0
- package/dist/types/cli.d.ts +2 -0
- package/dist/types/cli.d.ts.map +1 -1
- package/dist/types/config.d.ts +7 -1
- package/dist/types/config.d.ts.map +1 -1
- package/package.json +4 -3
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AIReviewService = void 0;
|
|
4
4
|
const probe_1 = require("@probelabs/probe");
|
|
5
|
+
const session_registry_1 = require("./session-registry");
|
|
5
6
|
/**
|
|
6
7
|
* Helper function to log messages respecting JSON/SARIF output format
|
|
7
8
|
* Routes to stderr for JSON/SARIF to avoid contaminating structured output
|
|
@@ -13,11 +14,13 @@ function log(...args) {
|
|
|
13
14
|
}
|
|
14
15
|
class AIReviewService {
|
|
15
16
|
config;
|
|
17
|
+
sessionRegistry;
|
|
16
18
|
constructor(config = {}) {
|
|
17
19
|
this.config = {
|
|
18
20
|
timeout: 600000, // Increased timeout to 10 minutes for AI responses
|
|
19
21
|
...config,
|
|
20
22
|
};
|
|
23
|
+
this.sessionRegistry = session_registry_1.SessionRegistry.getInstance();
|
|
21
24
|
// Auto-detect provider and API key from environment
|
|
22
25
|
if (!this.config.apiKey) {
|
|
23
26
|
if (process.env.GOOGLE_API_KEY) {
|
|
@@ -41,17 +44,14 @@ class AIReviewService {
|
|
|
41
44
|
/**
|
|
42
45
|
* Execute AI review using probe agent
|
|
43
46
|
*/
|
|
44
|
-
async executeReview(prInfo, customPrompt, schema) {
|
|
47
|
+
async executeReview(prInfo, customPrompt, schema, _checkName, sessionId) {
|
|
45
48
|
const startTime = Date.now();
|
|
46
49
|
const timestamp = new Date().toISOString();
|
|
47
50
|
// Build prompt from custom instructions
|
|
48
51
|
const prompt = await this.buildCustomPrompt(prInfo, customPrompt, schema);
|
|
49
52
|
log(`Executing AI review with ${this.config.provider} provider...`);
|
|
50
53
|
log(`🔧 Debug: Raw schema parameter: ${JSON.stringify(schema)} (type: ${typeof schema})`);
|
|
51
|
-
log(`Schema type: ${schema || '
|
|
52
|
-
if (schema === 'plain') {
|
|
53
|
-
log('Using plain schema - expecting JSON with content field');
|
|
54
|
-
}
|
|
54
|
+
log(`Schema type: ${schema || 'none (no schema)'}`);
|
|
55
55
|
let debugInfo;
|
|
56
56
|
if (this.config.debug) {
|
|
57
57
|
debugInfo = {
|
|
@@ -66,6 +66,8 @@ class AIReviewService {
|
|
|
66
66
|
errors: [],
|
|
67
67
|
jsonParseSuccess: false,
|
|
68
68
|
timestamp,
|
|
69
|
+
schemaName: schema,
|
|
70
|
+
schema: undefined, // Will be populated when schema is loaded
|
|
69
71
|
};
|
|
70
72
|
}
|
|
71
73
|
// Handle mock model/provider first (no API key needed)
|
|
@@ -102,7 +104,7 @@ class AIReviewService {
|
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
try {
|
|
105
|
-
const response = await this.callProbeAgent(prompt, schema);
|
|
107
|
+
const response = await this.callProbeAgent(prompt, schema, debugInfo, _checkName, sessionId);
|
|
106
108
|
const processingTime = Date.now() - startTime;
|
|
107
109
|
if (debugInfo) {
|
|
108
110
|
debugInfo.rawResponse = response;
|
|
@@ -138,6 +140,92 @@ class AIReviewService {
|
|
|
138
140
|
throw error;
|
|
139
141
|
}
|
|
140
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Execute AI review using session reuse - reuses an existing ProbeAgent session
|
|
145
|
+
*/
|
|
146
|
+
async executeReviewWithSessionReuse(prInfo, customPrompt, parentSessionId, schema, checkName) {
|
|
147
|
+
const startTime = Date.now();
|
|
148
|
+
const timestamp = new Date().toISOString();
|
|
149
|
+
// Get the existing session
|
|
150
|
+
const existingAgent = this.sessionRegistry.getSession(parentSessionId);
|
|
151
|
+
if (!existingAgent) {
|
|
152
|
+
throw new Error(`Session not found for reuse: ${parentSessionId}. Ensure the parent check completed successfully.`);
|
|
153
|
+
}
|
|
154
|
+
// Build prompt from custom instructions
|
|
155
|
+
const prompt = await this.buildCustomPrompt(prInfo, customPrompt, schema);
|
|
156
|
+
log(`🔄 Reusing AI session ${parentSessionId} for review...`);
|
|
157
|
+
log(`🔧 Debug: Raw schema parameter: ${JSON.stringify(schema)} (type: ${typeof schema})`);
|
|
158
|
+
log(`Schema type: ${schema || 'none (no schema)'}`);
|
|
159
|
+
let debugInfo;
|
|
160
|
+
if (this.config.debug) {
|
|
161
|
+
debugInfo = {
|
|
162
|
+
prompt,
|
|
163
|
+
rawResponse: '',
|
|
164
|
+
provider: this.config.provider || 'unknown',
|
|
165
|
+
model: this.config.model || 'default',
|
|
166
|
+
apiKeySource: this.getApiKeySource(),
|
|
167
|
+
processingTime: 0,
|
|
168
|
+
promptLength: prompt.length,
|
|
169
|
+
responseLength: 0,
|
|
170
|
+
errors: [],
|
|
171
|
+
jsonParseSuccess: false,
|
|
172
|
+
timestamp,
|
|
173
|
+
schemaName: schema,
|
|
174
|
+
schema: undefined, // Will be populated when schema is loaded
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
try {
|
|
178
|
+
// Use existing agent's answer method instead of creating new agent
|
|
179
|
+
const response = await this.callProbeAgentWithExistingSession(existingAgent, prompt, schema, debugInfo, checkName);
|
|
180
|
+
const processingTime = Date.now() - startTime;
|
|
181
|
+
if (debugInfo) {
|
|
182
|
+
debugInfo.rawResponse = response;
|
|
183
|
+
debugInfo.responseLength = response.length;
|
|
184
|
+
debugInfo.processingTime = processingTime;
|
|
185
|
+
}
|
|
186
|
+
const result = this.parseAIResponse(response, debugInfo, schema);
|
|
187
|
+
if (debugInfo) {
|
|
188
|
+
result.debug = debugInfo;
|
|
189
|
+
}
|
|
190
|
+
return result;
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
if (debugInfo) {
|
|
194
|
+
debugInfo.errors = [error instanceof Error ? error.message : String(error)];
|
|
195
|
+
debugInfo.processingTime = Date.now() - startTime;
|
|
196
|
+
// In debug mode, return a review with the error captured
|
|
197
|
+
return {
|
|
198
|
+
issues: [
|
|
199
|
+
{
|
|
200
|
+
file: 'system',
|
|
201
|
+
line: 0,
|
|
202
|
+
ruleId: 'system/ai-session-reuse-error',
|
|
203
|
+
message: error instanceof Error ? error.message : String(error),
|
|
204
|
+
severity: 'error',
|
|
205
|
+
category: 'logic',
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
suggestions: [
|
|
209
|
+
'Check session reuse configuration and ensure parent check completed successfully',
|
|
210
|
+
],
|
|
211
|
+
debug: debugInfo,
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
throw error;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Register a new AI session in the session registry
|
|
219
|
+
*/
|
|
220
|
+
registerSession(sessionId, agent) {
|
|
221
|
+
this.sessionRegistry.registerSession(sessionId, agent);
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Cleanup a session from the registry
|
|
225
|
+
*/
|
|
226
|
+
cleanupSession(sessionId) {
|
|
227
|
+
this.sessionRegistry.unregisterSession(sessionId);
|
|
228
|
+
}
|
|
141
229
|
/**
|
|
142
230
|
* Build a custom prompt for AI review with XML-formatted data
|
|
143
231
|
*/
|
|
@@ -243,26 +331,80 @@ ${prInfo.fullDiff ? this.escapeXml(prInfo.fullDiff) : ''}
|
|
|
243
331
|
return context;
|
|
244
332
|
}
|
|
245
333
|
/**
|
|
246
|
-
*
|
|
334
|
+
* No longer escaping XML - returning text as-is
|
|
247
335
|
*/
|
|
248
336
|
escapeXml(text) {
|
|
249
|
-
return text
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
337
|
+
return text;
|
|
338
|
+
}
|
|
339
|
+
/**
|
|
340
|
+
* Call ProbeAgent with an existing session
|
|
341
|
+
*/
|
|
342
|
+
async callProbeAgentWithExistingSession(agent, prompt, schema, debugInfo, _checkName) {
|
|
343
|
+
// Handle mock model/provider for testing
|
|
344
|
+
if (this.config.model === 'mock' || this.config.provider === 'mock') {
|
|
345
|
+
log('🎭 Using mock AI model/provider for testing (session reuse)');
|
|
346
|
+
return this.generateMockResponse(prompt);
|
|
347
|
+
}
|
|
348
|
+
log('🔄 Reusing existing ProbeAgent session for AI review...');
|
|
349
|
+
log(`📝 Prompt length: ${prompt.length} characters`);
|
|
350
|
+
log(`⚙️ Model: ${this.config.model || 'default'}, Provider: ${this.config.provider || 'auto'}`);
|
|
351
|
+
try {
|
|
352
|
+
log('🚀 Calling existing ProbeAgent with answer()...');
|
|
353
|
+
// Load and pass the actual schema content if provided
|
|
354
|
+
let schemaString = undefined;
|
|
355
|
+
if (schema) {
|
|
356
|
+
try {
|
|
357
|
+
schemaString = await this.loadSchemaContent(schema);
|
|
358
|
+
log(`📋 Loaded schema content for: ${schema}`);
|
|
359
|
+
log(`📄 Raw schema JSON:\n${schemaString}`);
|
|
360
|
+
}
|
|
361
|
+
catch (error) {
|
|
362
|
+
log(`⚠️ Failed to load schema ${schema}, proceeding without schema:`, error);
|
|
363
|
+
schemaString = undefined;
|
|
364
|
+
if (debugInfo && debugInfo.errors) {
|
|
365
|
+
debugInfo.errors.push(`Failed to load schema: ${error}`);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
// Pass schema in options object with 'schema' property
|
|
370
|
+
const schemaOptions = schemaString ? { schema: schemaString } : undefined;
|
|
371
|
+
// Store the exact schema options being passed to ProbeAgent in debug info
|
|
372
|
+
if (debugInfo && schemaOptions) {
|
|
373
|
+
debugInfo.schema = JSON.stringify(schemaOptions, null, 2);
|
|
374
|
+
}
|
|
375
|
+
// Log the schema options being passed to ProbeAgent
|
|
376
|
+
if (schemaOptions) {
|
|
377
|
+
log(`🎯 Schema options passed to ProbeAgent.answer() (session reuse):`);
|
|
378
|
+
log(JSON.stringify(schemaOptions, null, 2));
|
|
379
|
+
}
|
|
380
|
+
// Use existing agent's answer method - this reuses the conversation context
|
|
381
|
+
const response = await agent.answer(prompt, undefined, schemaOptions);
|
|
382
|
+
log('✅ ProbeAgent session reuse completed successfully');
|
|
383
|
+
log(`📤 Response length: ${response.length} characters`);
|
|
384
|
+
return response;
|
|
385
|
+
}
|
|
386
|
+
catch (error) {
|
|
387
|
+
console.error('❌ ProbeAgent session reuse failed:', error);
|
|
388
|
+
throw new Error(`ProbeAgent session reuse failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
389
|
+
}
|
|
255
390
|
}
|
|
256
391
|
/**
|
|
257
392
|
* Call ProbeAgent SDK with built-in schema validation
|
|
258
393
|
*/
|
|
259
|
-
async callProbeAgent(prompt, schema) {
|
|
394
|
+
async callProbeAgent(prompt, schema, debugInfo, _checkName, providedSessionId) {
|
|
260
395
|
// Handle mock model/provider for testing
|
|
261
396
|
if (this.config.model === 'mock' || this.config.provider === 'mock') {
|
|
262
397
|
log('🎭 Using mock AI model/provider for testing');
|
|
263
398
|
return this.generateMockResponse(prompt);
|
|
264
399
|
}
|
|
400
|
+
// Create ProbeAgent instance with proper options
|
|
401
|
+
const sessionId = providedSessionId ||
|
|
402
|
+
(() => {
|
|
403
|
+
const timestamp = new Date().toISOString();
|
|
404
|
+
return `visor-${timestamp.replace(/[:.]/g, '-')}-${_checkName || 'unknown'}`;
|
|
405
|
+
})();
|
|
265
406
|
log('🤖 Creating ProbeAgent for AI review...');
|
|
407
|
+
log(`🆔 Session ID: ${sessionId}`);
|
|
266
408
|
log(`📝 Prompt length: ${prompt.length} characters`);
|
|
267
409
|
log(`⚙️ Model: ${this.config.model || 'default'}, Provider: ${this.config.provider || 'auto'}`);
|
|
268
410
|
// Store original env vars to restore later
|
|
@@ -283,13 +425,9 @@ ${prInfo.fullDiff ? this.escapeXml(prInfo.fullDiff) : ''}
|
|
|
283
425
|
else if (this.config.provider === 'openai' && this.config.apiKey) {
|
|
284
426
|
process.env.OPENAI_API_KEY = this.config.apiKey;
|
|
285
427
|
}
|
|
286
|
-
// Create ProbeAgent instance with proper options
|
|
287
|
-
// For plain schema, use a simpler approach without tools
|
|
288
428
|
const options = {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
? 'You are a helpful AI assistant. Respond only with valid JSON matching the provided schema. Do not use any tools or commands.'
|
|
292
|
-
: undefined,
|
|
429
|
+
sessionId: sessionId,
|
|
430
|
+
promptType: schema ? 'code-review-template' : undefined,
|
|
293
431
|
allowEdit: false, // We don't want the agent to modify files
|
|
294
432
|
debug: this.config.debug || false,
|
|
295
433
|
};
|
|
@@ -308,16 +446,64 @@ ${prInfo.fullDiff ? this.escapeXml(prInfo.fullDiff) : ''}
|
|
|
308
446
|
try {
|
|
309
447
|
schemaString = await this.loadSchemaContent(schema);
|
|
310
448
|
log(`📋 Loaded schema content for: ${schema}`);
|
|
449
|
+
log(`📄 Raw schema JSON:\n${schemaString}`);
|
|
311
450
|
}
|
|
312
451
|
catch (error) {
|
|
313
452
|
log(`⚠️ Failed to load schema ${schema}, proceeding without schema:`, error);
|
|
314
453
|
schemaString = undefined;
|
|
454
|
+
if (debugInfo && debugInfo.errors) {
|
|
455
|
+
debugInfo.errors.push(`Failed to load schema: ${error}`);
|
|
456
|
+
}
|
|
315
457
|
}
|
|
316
458
|
}
|
|
317
459
|
// ProbeAgent now handles schema formatting internally!
|
|
318
|
-
|
|
460
|
+
// Pass schema in options object with 'schema' property
|
|
461
|
+
const schemaOptions = schemaString ? { schema: schemaString } : undefined;
|
|
462
|
+
// Store the exact schema options being passed to ProbeAgent in debug info
|
|
463
|
+
if (debugInfo && schemaOptions) {
|
|
464
|
+
debugInfo.schema = JSON.stringify(schemaOptions, null, 2);
|
|
465
|
+
}
|
|
466
|
+
// Log the schema options being passed to ProbeAgent
|
|
467
|
+
if (schemaOptions) {
|
|
468
|
+
log(`🎯 Schema options passed to ProbeAgent.answer():`);
|
|
469
|
+
log(JSON.stringify(schemaOptions, null, 2));
|
|
470
|
+
}
|
|
471
|
+
// Log the equivalent CLI command for local reproduction
|
|
472
|
+
const provider = this.config.provider || 'auto';
|
|
473
|
+
const model = this.config.model || 'default';
|
|
474
|
+
// Save prompt to a temp file for easier reproduction
|
|
475
|
+
try {
|
|
476
|
+
const fs = require('fs');
|
|
477
|
+
const path = require('path');
|
|
478
|
+
const os = require('os');
|
|
479
|
+
const tempDir = os.tmpdir();
|
|
480
|
+
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
481
|
+
const promptFile = path.join(tempDir, `visor-prompt-${timestamp}.txt`);
|
|
482
|
+
fs.writeFileSync(promptFile, prompt, 'utf-8');
|
|
483
|
+
log(`\n💾 Prompt saved to: ${promptFile}`);
|
|
484
|
+
log(`\n📝 To reproduce locally, run:`);
|
|
485
|
+
let cliCommand = `npx @probelabs/probe@latest agent`;
|
|
486
|
+
cliCommand += ` --provider ${provider}`;
|
|
487
|
+
if (model !== 'default') {
|
|
488
|
+
cliCommand += ` --model ${model}`;
|
|
489
|
+
}
|
|
490
|
+
if (schema) {
|
|
491
|
+
cliCommand += ` --schema output/${schema}/schema.json`;
|
|
492
|
+
}
|
|
493
|
+
cliCommand += ` "${promptFile}"`;
|
|
494
|
+
log(`\n$ ${cliCommand}\n`);
|
|
495
|
+
}
|
|
496
|
+
catch (error) {
|
|
497
|
+
log(`⚠️ Could not save prompt file: ${error}`);
|
|
498
|
+
}
|
|
499
|
+
const response = await agent.answer(prompt, undefined, schemaOptions);
|
|
319
500
|
log('✅ ProbeAgent completed successfully');
|
|
320
501
|
log(`📤 Response length: ${response.length} characters`);
|
|
502
|
+
// Register the session for potential reuse by dependent checks
|
|
503
|
+
if (_checkName) {
|
|
504
|
+
this.registerSession(sessionId, agent);
|
|
505
|
+
log(`🔧 Debug: Registered AI session for potential reuse: ${sessionId}`);
|
|
506
|
+
}
|
|
321
507
|
return response;
|
|
322
508
|
}
|
|
323
509
|
catch (error) {
|
|
@@ -361,7 +547,7 @@ ${prInfo.fullDiff ? this.escapeXml(prInfo.fullDiff) : ''}
|
|
|
361
547
|
/**
|
|
362
548
|
* Parse AI response JSON
|
|
363
549
|
*/
|
|
364
|
-
parseAIResponse(response, debugInfo,
|
|
550
|
+
parseAIResponse(response, debugInfo, _schema) {
|
|
365
551
|
log('🔍 Parsing AI response...');
|
|
366
552
|
log(`📊 Raw response length: ${response.length} characters`);
|
|
367
553
|
// Log first and last 200 chars for debugging
|
|
@@ -375,55 +561,7 @@ ${prInfo.fullDiff ? this.escapeXml(prInfo.fullDiff) : ''}
|
|
|
375
561
|
try {
|
|
376
562
|
// Handle different schema types differently
|
|
377
563
|
let reviewData;
|
|
378
|
-
|
|
379
|
-
// For plain schema, ProbeAgent returns JSON with a content field
|
|
380
|
-
log('📝 Processing plain schema response (expect JSON with content field)');
|
|
381
|
-
// Extract JSON using the same logic as other schemas
|
|
382
|
-
// ProbeAgent's cleanSchemaResponse now strips code blocks, so we need to find JSON boundaries
|
|
383
|
-
const trimmed = response.trim();
|
|
384
|
-
const firstBrace = trimmed.indexOf('{');
|
|
385
|
-
const firstBracket = trimmed.indexOf('[');
|
|
386
|
-
const lastBrace = trimmed.lastIndexOf('}');
|
|
387
|
-
const lastBracket = trimmed.lastIndexOf(']');
|
|
388
|
-
let jsonStr = trimmed;
|
|
389
|
-
let startIdx = -1;
|
|
390
|
-
let endIdx = -1;
|
|
391
|
-
// Prioritize {} if both exist
|
|
392
|
-
if (firstBrace !== -1 && lastBrace !== -1) {
|
|
393
|
-
if (firstBracket === -1 ||
|
|
394
|
-
firstBrace < firstBracket ||
|
|
395
|
-
(firstBrace < firstBracket && lastBrace > lastBracket)) {
|
|
396
|
-
startIdx = firstBrace;
|
|
397
|
-
endIdx = lastBrace;
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
// Fall back to [] if no valid {} or [] is better
|
|
401
|
-
if (startIdx === -1 && firstBracket !== -1 && lastBracket !== -1) {
|
|
402
|
-
startIdx = firstBracket;
|
|
403
|
-
endIdx = lastBracket;
|
|
404
|
-
}
|
|
405
|
-
// If we found valid JSON boundaries, extract it
|
|
406
|
-
if (startIdx !== -1 && endIdx !== -1 && startIdx < endIdx) {
|
|
407
|
-
jsonStr = trimmed.substring(startIdx, endIdx + 1);
|
|
408
|
-
log(`🔍 Extracted JSON from response (chars ${startIdx} to ${endIdx + 1})`);
|
|
409
|
-
}
|
|
410
|
-
try {
|
|
411
|
-
reviewData = JSON.parse(jsonStr);
|
|
412
|
-
log('✅ Successfully parsed plain schema JSON response');
|
|
413
|
-
if (debugInfo)
|
|
414
|
-
debugInfo.jsonParseSuccess = true;
|
|
415
|
-
}
|
|
416
|
-
catch {
|
|
417
|
-
// If JSON parsing fails, treat the entire response as content
|
|
418
|
-
log('🔧 Plain schema fallback - treating entire response as content');
|
|
419
|
-
reviewData = {
|
|
420
|
-
content: response.trim(),
|
|
421
|
-
};
|
|
422
|
-
if (debugInfo)
|
|
423
|
-
debugInfo.jsonParseSuccess = true;
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
else {
|
|
564
|
+
{
|
|
427
565
|
// For other schemas (code-review, etc.), extract and parse JSON with boundary detection
|
|
428
566
|
log('🔍 Extracting JSON from AI response...');
|
|
429
567
|
// Simple JSON extraction: find first { or [ and last } or ], with {} taking priority
|
|
@@ -505,33 +643,6 @@ ${prInfo.fullDiff ? this.escapeXml(prInfo.fullDiff) : ''}
|
|
|
505
643
|
}
|
|
506
644
|
}
|
|
507
645
|
}
|
|
508
|
-
// Handle different schemas
|
|
509
|
-
if (schema === 'plain') {
|
|
510
|
-
// For plain schema, we expect a content field with text (usually markdown)
|
|
511
|
-
log('📝 Processing plain schema response');
|
|
512
|
-
if (!reviewData.content) {
|
|
513
|
-
console.error('❌ Plain schema response missing content field');
|
|
514
|
-
console.error('🔍 Available fields:', Object.keys(reviewData));
|
|
515
|
-
throw new Error('Invalid plain response: missing content field');
|
|
516
|
-
}
|
|
517
|
-
// Return a single "issue" that contains the text content
|
|
518
|
-
// This will be rendered using the text template
|
|
519
|
-
const result = {
|
|
520
|
-
issues: [
|
|
521
|
-
{
|
|
522
|
-
file: 'PR',
|
|
523
|
-
line: 1,
|
|
524
|
-
ruleId: 'full-review/overview',
|
|
525
|
-
message: reviewData.content,
|
|
526
|
-
severity: 'info',
|
|
527
|
-
category: 'documentation',
|
|
528
|
-
},
|
|
529
|
-
],
|
|
530
|
-
suggestions: [],
|
|
531
|
-
};
|
|
532
|
-
log('✅ Successfully created text ReviewSummary');
|
|
533
|
-
return result;
|
|
534
|
-
}
|
|
535
646
|
// Standard code-review schema processing
|
|
536
647
|
log('🔍 Validating parsed review data...');
|
|
537
648
|
log(`📊 Overall score: ${0}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-review-service.js","sourceRoot":"","sources":["../src/ai-review-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ai-review-service.js","sourceRoot":"","sources":["../src/ai-review-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,8 @@ export interface CheckExecutionOptions {
|
|
|
45
45
|
workingDirectory?: string;
|
|
46
46
|
showDetails?: boolean;
|
|
47
47
|
timeout?: number;
|
|
48
|
+
maxParallelism?: number;
|
|
49
|
+
failFast?: boolean;
|
|
48
50
|
outputFormat?: string;
|
|
49
51
|
config?: import('./types/config').VisorConfig;
|
|
50
52
|
debug?: boolean;
|
|
@@ -71,6 +73,10 @@ export declare class CheckExecutionEngine {
|
|
|
71
73
|
* Execute checks on the local repository
|
|
72
74
|
*/
|
|
73
75
|
executeChecks(options: CheckExecutionOptions): Promise<AnalysisResult>;
|
|
76
|
+
/**
|
|
77
|
+
* Execute tasks with controlled parallelism using a pool pattern
|
|
78
|
+
*/
|
|
79
|
+
private executeWithLimitedParallelism;
|
|
74
80
|
/**
|
|
75
81
|
* Execute review checks using parallel execution for multiple AI checks
|
|
76
82
|
*/
|
|
@@ -80,7 +86,7 @@ export declare class CheckExecutionEngine {
|
|
|
80
86
|
*/
|
|
81
87
|
private executeDependencyAwareChecks;
|
|
82
88
|
/**
|
|
83
|
-
* Execute multiple checks in parallel using
|
|
89
|
+
* Execute multiple checks in parallel using controlled parallelism (legacy method)
|
|
84
90
|
*/
|
|
85
91
|
private executeParallelChecks;
|
|
86
92
|
/**
|
|
@@ -128,6 +134,10 @@ export declare class CheckExecutionEngine {
|
|
|
128
134
|
* Create an error result
|
|
129
135
|
*/
|
|
130
136
|
private createErrorResult;
|
|
137
|
+
/**
|
|
138
|
+
* Check if a task result should trigger fail-fast behavior
|
|
139
|
+
*/
|
|
140
|
+
private shouldFailFast;
|
|
131
141
|
/**
|
|
132
142
|
* Check if the working directory is a valid git repository
|
|
133
143
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check-execution-engine.d.ts","sourceRoot":"","sources":["../src/check-execution-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"check-execution-engine.d.ts","sourceRoot":"","sources":["../src/check-execution-engine.ts"],"names":[],"mappings":"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"}
|