@probelabs/visor 0.1.33 ā 0.1.35
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 +221 -7
- package/defaults/.visor.yaml +13 -22
- package/dist/ai-review-service.d.ts +1 -1
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/check-execution-engine.d.ts +2 -0
- package/dist/check-execution-engine.d.ts.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/defaults/.visor.yaml +13 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +676 -130
- package/dist/issue-filter.d.ts +28 -0
- package/dist/issue-filter.d.ts.map +1 -0
- package/dist/pr-analyzer.d.ts.map +1 -1
- package/dist/providers/ai-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.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="site/visor.png" alt="Visor Logo" width="
|
|
2
|
+
<img src="site/visor.png" alt="Visor Logo" width="500" />
|
|
3
3
|
|
|
4
4
|
# Visor - AI-Powered Code Review with Schema-Template System
|
|
5
5
|
|
|
@@ -126,6 +126,7 @@ npm run build
|
|
|
126
126
|
- **Step Dependencies** - Define execution order with `depends_on` relationships
|
|
127
127
|
- **PR Commands** - Trigger reviews with `/review` comments
|
|
128
128
|
- **GitHub Integration** - Creates check runs, adds labels, posts comments
|
|
129
|
+
- **Warning Suppression** - Suppress false positives with `visor-disable` comments
|
|
129
130
|
|
|
130
131
|
## š¬ PR Comment Commands
|
|
131
132
|
|
|
@@ -136,6 +137,95 @@ Add comments to your PR to trigger Visor:
|
|
|
136
137
|
- `/review --check performance` - Run performance checks only
|
|
137
138
|
- `/review --help` - Show available commands
|
|
138
139
|
|
|
140
|
+
## š Suppressing Warnings
|
|
141
|
+
|
|
142
|
+
Visor supports suppressing specific warnings or all warnings in a file using special comments in your code. This is useful for false positives or intentional code patterns that should not trigger warnings.
|
|
143
|
+
|
|
144
|
+
### Line-Level Suppression
|
|
145
|
+
|
|
146
|
+
Add `visor-disable` in a comment within ±2 lines of the issue to suppress it:
|
|
147
|
+
|
|
148
|
+
```javascript
|
|
149
|
+
// Example: Suppress a specific warning
|
|
150
|
+
function authenticate() {
|
|
151
|
+
const testPassword = "demo123"; // visor-disable
|
|
152
|
+
// This hardcoded password warning will be suppressed
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
The suppression works with any comment style:
|
|
157
|
+
- `// visor-disable` (JavaScript, TypeScript, C++, etc.)
|
|
158
|
+
- `# visor-disable` (Python, Ruby, Shell, etc.)
|
|
159
|
+
- `/* visor-disable */` (Multi-line comments)
|
|
160
|
+
- `<!-- visor-disable -->` (HTML, XML)
|
|
161
|
+
|
|
162
|
+
### File-Level Suppression
|
|
163
|
+
|
|
164
|
+
To suppress all warnings in an entire file, add `visor-disable-file` in the first 5 lines:
|
|
165
|
+
|
|
166
|
+
```javascript
|
|
167
|
+
// visor-disable-file
|
|
168
|
+
// All warnings in this file will be suppressed
|
|
169
|
+
|
|
170
|
+
function insecureCode() {
|
|
171
|
+
eval("user input"); // No warning
|
|
172
|
+
const password = "hardcoded"; // No warning
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### Configuration
|
|
177
|
+
|
|
178
|
+
The suppression feature is enabled by default. You can disable it in your configuration:
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
# .visor.yaml
|
|
182
|
+
version: "1.0"
|
|
183
|
+
output:
|
|
184
|
+
suppressionEnabled: false # Disable suppression comments
|
|
185
|
+
pr_comment:
|
|
186
|
+
format: markdown
|
|
187
|
+
group_by: check
|
|
188
|
+
```
|
|
189
|
+
|
|
190
|
+
### Important Notes
|
|
191
|
+
|
|
192
|
+
- Suppression comments are **case-insensitive** (`visor-disable`, `VISOR-DISABLE`, `Visor-Disable` all work)
|
|
193
|
+
- The comment just needs to contain the suppression keyword as a substring
|
|
194
|
+
- When issues are suppressed, Visor logs a summary showing which files had suppressed issues
|
|
195
|
+
- Use suppression judiciously - it's better to fix issues than suppress them
|
|
196
|
+
|
|
197
|
+
### Examples
|
|
198
|
+
|
|
199
|
+
```python
|
|
200
|
+
# Python example
|
|
201
|
+
def process_data():
|
|
202
|
+
api_key = "sk-12345" # visor-disable
|
|
203
|
+
return api_key
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
// TypeScript example - suppress within range
|
|
208
|
+
function riskyOperation() {
|
|
209
|
+
// visor-disable
|
|
210
|
+
const unsafe = eval(userInput); // Suppressed (within 2 lines)
|
|
211
|
+
processData(unsafe); // Suppressed (within 2 lines)
|
|
212
|
+
|
|
213
|
+
doSomethingElse();
|
|
214
|
+
anotherOperation(); // NOT suppressed (> 2 lines away)
|
|
215
|
+
}
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
```go
|
|
219
|
+
// Go example - file-level suppression
|
|
220
|
+
// visor-disable-file
|
|
221
|
+
package main
|
|
222
|
+
|
|
223
|
+
func main() {
|
|
224
|
+
password := "hardcoded" // All issues suppressed
|
|
225
|
+
fmt.Println(password)
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
139
229
|
## š CLI Usage
|
|
140
230
|
|
|
141
231
|
```bash
|
|
@@ -1080,11 +1170,20 @@ checks:
|
|
|
1080
1170
|
group: code-review # \
|
|
1081
1171
|
performance: # } All grouped in one comment
|
|
1082
1172
|
group: code-review # /
|
|
1083
|
-
|
|
1173
|
+
|
|
1084
1174
|
overview:
|
|
1085
1175
|
group: summary # Separate comment
|
|
1176
|
+
|
|
1177
|
+
issue-assistant:
|
|
1178
|
+
group: dynamic # Special group: creates NEW comment each time (never updates)
|
|
1086
1179
|
```
|
|
1087
1180
|
|
|
1181
|
+
**Special "dynamic" group**: When a check uses `group: dynamic`, it creates a new comment for each execution instead of updating an existing comment. This is perfect for:
|
|
1182
|
+
- Issue assistants that respond to user questions
|
|
1183
|
+
- Release notes generation
|
|
1184
|
+
- Changelog updates
|
|
1185
|
+
- Any check where you want to preserve the history of responses
|
|
1186
|
+
|
|
1088
1187
|
### Custom Schemas and Templates
|
|
1089
1188
|
|
|
1090
1189
|
Add custom schemas in your config:
|
|
@@ -1128,8 +1227,12 @@ checks:
|
|
|
1128
1227
|
group: code-review # Same group = combined in one comment
|
|
1129
1228
|
overview:
|
|
1130
1229
|
group: pr-summary # Different group = separate comment
|
|
1230
|
+
changelog:
|
|
1231
|
+
group: dynamic # Special: creates NEW comment each time
|
|
1131
1232
|
```
|
|
1132
1233
|
|
|
1234
|
+
The special `group: dynamic` creates a new comment for each execution instead of updating existing comments. Use this for checks where you want to preserve history (issue assistants, release notes, etc.)
|
|
1235
|
+
|
|
1133
1236
|
#### Schema Property
|
|
1134
1237
|
Enforces structured output format:
|
|
1135
1238
|
```yaml
|
|
@@ -1229,28 +1332,139 @@ When checks return the structured format above:
|
|
|
1229
1332
|
## š§ Advanced AI Features
|
|
1230
1333
|
|
|
1231
1334
|
### XML-Formatted Analysis
|
|
1232
|
-
Visor
|
|
1335
|
+
Visor uses structured XML formatting when sending data to AI providers, enabling precise and context-aware analysis for both pull requests and issues.
|
|
1336
|
+
|
|
1337
|
+
#### Pull Request Context
|
|
1338
|
+
For PR events, Visor provides comprehensive code review context:
|
|
1233
1339
|
|
|
1234
1340
|
```xml
|
|
1235
1341
|
<pull_request>
|
|
1236
1342
|
<metadata>
|
|
1237
|
-
<
|
|
1238
|
-
<
|
|
1239
|
-
<
|
|
1343
|
+
<number>123</number> <!-- PR number -->
|
|
1344
|
+
<title>Add user authentication</title> <!-- PR title -->
|
|
1345
|
+
<author>developer</author> <!-- PR author username -->
|
|
1346
|
+
<base_branch>main</base_branch> <!-- Target branch (where changes will be merged) -->
|
|
1347
|
+
<target_branch>feature-auth</target_branch> <!-- Source branch (contains the changes) -->
|
|
1348
|
+
<total_additions>250</total_additions> <!-- Total lines added across all files -->
|
|
1349
|
+
<total_deletions>50</total_deletions> <!-- Total lines removed across all files -->
|
|
1350
|
+
<files_changed_count>3</files_changed_count> <!-- Number of files modified -->
|
|
1240
1351
|
</metadata>
|
|
1352
|
+
|
|
1241
1353
|
<description>
|
|
1242
|
-
|
|
1354
|
+
<!-- PR description/body text provided by the author -->
|
|
1355
|
+
This PR implements JWT-based authentication with refresh token support
|
|
1243
1356
|
</description>
|
|
1357
|
+
|
|
1244
1358
|
<full_diff>
|
|
1359
|
+
<!-- Complete unified diff of all changes (present for all PR analyses) -->
|
|
1245
1360
|
--- src/auth.ts
|
|
1246
1361
|
+++ src/auth.ts
|
|
1247
1362
|
@@ -1,3 +1,10 @@
|
|
1248
1363
|
+import jwt from 'jsonwebtoken';
|
|
1249
1364
|
...
|
|
1250
1365
|
</full_diff>
|
|
1366
|
+
|
|
1367
|
+
<commit_diff>
|
|
1368
|
+
<!-- Only present for incremental analysis (pr_updated events) -->
|
|
1369
|
+
<!-- Contains diff of just the latest commit pushed -->
|
|
1370
|
+
</commit_diff>
|
|
1371
|
+
|
|
1372
|
+
<files_summary>
|
|
1373
|
+
<!-- List of all modified files with change statistics -->
|
|
1374
|
+
<file index="1">
|
|
1375
|
+
<filename>src/auth.ts</filename>
|
|
1376
|
+
<status>modified</status> <!-- added/modified/removed/renamed -->
|
|
1377
|
+
<additions>120</additions> <!-- Lines added in this file -->
|
|
1378
|
+
<deletions>10</deletions> <!-- Lines removed from this file -->
|
|
1379
|
+
</file>
|
|
1380
|
+
</files_summary>
|
|
1381
|
+
|
|
1382
|
+
<!-- Only present for issue_comment events on PRs -->
|
|
1383
|
+
<triggering_comment>
|
|
1384
|
+
<author>reviewer1</author>
|
|
1385
|
+
<created_at>2024-01-16T15:30:00Z</created_at>
|
|
1386
|
+
<body>/review --check security</body>
|
|
1387
|
+
</triggering_comment>
|
|
1388
|
+
|
|
1389
|
+
<!-- Historical comments on the PR (excludes triggering comment) -->
|
|
1390
|
+
<comment_history>
|
|
1391
|
+
<comment index="1">
|
|
1392
|
+
<author>reviewer2</author>
|
|
1393
|
+
<created_at>2024-01-15T11:00:00Z</created_at>
|
|
1394
|
+
<body>Please add unit tests for the authentication logic</body>
|
|
1395
|
+
</comment>
|
|
1396
|
+
<comment index="2">
|
|
1397
|
+
<author>developer</author>
|
|
1398
|
+
<created_at>2024-01-15T14:30:00Z</created_at>
|
|
1399
|
+
<body>Tests added in latest commit</body>
|
|
1400
|
+
</comment>
|
|
1401
|
+
</comment_history>
|
|
1251
1402
|
</pull_request>
|
|
1252
1403
|
```
|
|
1253
1404
|
|
|
1405
|
+
#### Issue Context
|
|
1406
|
+
For issue events, Visor provides issue-specific context for intelligent assistance:
|
|
1407
|
+
|
|
1408
|
+
```xml
|
|
1409
|
+
<issue>
|
|
1410
|
+
<metadata>
|
|
1411
|
+
<number>456</number> <!-- Issue number -->
|
|
1412
|
+
<title>Feature request: Add dark mode</title> <!-- Issue title -->
|
|
1413
|
+
<author>user123</author> <!-- Issue author username -->
|
|
1414
|
+
<state>open</state> <!-- Issue state: open/closed -->
|
|
1415
|
+
<created_at>2024-01-15T10:30:00Z</created_at> <!-- When issue was created -->
|
|
1416
|
+
<updated_at>2024-01-16T14:20:00Z</updated_at> <!-- Last update timestamp -->
|
|
1417
|
+
<comments_count>5</comments_count> <!-- Total number of comments -->
|
|
1418
|
+
</metadata>
|
|
1419
|
+
|
|
1420
|
+
<description>
|
|
1421
|
+
<!-- Issue body/description text provided by the author -->
|
|
1422
|
+
I would like to request a dark mode feature for better accessibility...
|
|
1423
|
+
</description>
|
|
1424
|
+
|
|
1425
|
+
<labels>
|
|
1426
|
+
<!-- GitHub labels applied to categorize the issue -->
|
|
1427
|
+
<label>enhancement</label>
|
|
1428
|
+
<label>good first issue</label>
|
|
1429
|
+
<label>ui/ux</label>
|
|
1430
|
+
</labels>
|
|
1431
|
+
|
|
1432
|
+
<assignees>
|
|
1433
|
+
<!-- Users assigned to work on this issue -->
|
|
1434
|
+
<assignee>developer1</assignee>
|
|
1435
|
+
<assignee>developer2</assignee>
|
|
1436
|
+
</assignees>
|
|
1437
|
+
|
|
1438
|
+
<milestone>
|
|
1439
|
+
<!-- Project milestone this issue is part of (if any) -->
|
|
1440
|
+
<title>v2.0 Release</title>
|
|
1441
|
+
<state>open</state> <!-- Milestone state: open/closed -->
|
|
1442
|
+
<due_on>2024-03-01T00:00:00Z</due_on> <!-- Milestone due date -->
|
|
1443
|
+
</milestone>
|
|
1444
|
+
|
|
1445
|
+
<!-- Only present for issue_comment events -->
|
|
1446
|
+
<triggering_comment>
|
|
1447
|
+
<author>user456</author> <!-- User who posted the triggering comment -->
|
|
1448
|
+
<created_at>2024-01-16T15:30:00Z</created_at> <!-- When comment was posted -->
|
|
1449
|
+
<body>/review security --focus authentication</body> <!-- The comment text -->
|
|
1450
|
+
</triggering_comment>
|
|
1451
|
+
|
|
1452
|
+
<!-- Historical comments on the issue (excludes triggering comment) -->
|
|
1453
|
+
<comment_history>
|
|
1454
|
+
<comment index="1"> <!-- Comments ordered by creation time -->
|
|
1455
|
+
<author>developer1</author>
|
|
1456
|
+
<created_at>2024-01-15T11:00:00Z</created_at>
|
|
1457
|
+
<body>This is a great idea! I'll start working on it.</body>
|
|
1458
|
+
</comment>
|
|
1459
|
+
<comment index="2">
|
|
1460
|
+
<author>user123</author>
|
|
1461
|
+
<created_at>2024-01-15T14:30:00Z</created_at>
|
|
1462
|
+
<body>Thanks! Please consider accessibility standards.</body>
|
|
1463
|
+
</comment>
|
|
1464
|
+
</comment_history>
|
|
1465
|
+
</issue>
|
|
1466
|
+
```
|
|
1467
|
+
|
|
1254
1468
|
### Incremental Commit Analysis
|
|
1255
1469
|
When new commits are pushed to a PR, Visor performs incremental analysis:
|
|
1256
1470
|
- **Full Analysis**: Reviews the entire PR on initial creation
|
package/defaults/.visor.yaml
CHANGED
|
@@ -79,11 +79,7 @@ checks:
|
|
|
79
79
|
|
|
80
80
|
## Files Changed Analysis
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|------|------|--------|---------|--------|
|
|
84
|
-
{% for file in files %}
|
|
85
|
-
| `{{ file.filename }}` | {{ file.filename | split: "." | last | upcase }} | {{ file.status | capitalize }} | +{{ file.additions }}/-{{ file.deletions }} | {% if file.changes > 50 %}High{% elsif file.changes > 20 %}Medium{% else %}Low{% endif %} |
|
|
86
|
-
{% endfor %}
|
|
82
|
+
Analyze the files listed in the `<files_summary>` section, which provides a structured overview of all changes including filenames, status, additions, and deletions.
|
|
87
83
|
|
|
88
84
|
## Architecture & Impact Assessment
|
|
89
85
|
|
|
@@ -117,15 +113,11 @@ checks:
|
|
|
117
113
|
group: review
|
|
118
114
|
schema: code-review
|
|
119
115
|
prompt: |
|
|
120
|
-
Based on our overview discussion, please perform a comprehensive security analysis of the code changes
|
|
116
|
+
Based on our overview discussion, please perform a comprehensive security analysis of the code changes.
|
|
121
117
|
|
|
122
|
-
|
|
123
|
-
{% for file in files %}
|
|
124
|
-
- `{{ file.filename }}` - {{ file.status }}, +{{ file.additions }}/-{{ file.deletions }} ({{ file.changes }} total changes)
|
|
125
|
-
{% endfor %}
|
|
118
|
+
Analyze the files listed in the `<files_summary>` section and focus on the code changes shown in the diff sections.
|
|
126
119
|
|
|
127
|
-
##
|
|
128
|
-
Analyze the code for security vulnerabilities including:
|
|
120
|
+
## Security Analysis Areas
|
|
129
121
|
|
|
130
122
|
**Input Validation & Injection:**
|
|
131
123
|
- SQL injection in database queries
|
|
@@ -162,14 +154,11 @@ checks:
|
|
|
162
154
|
group: review
|
|
163
155
|
schema: code-review
|
|
164
156
|
prompt: |
|
|
165
|
-
Building on our overview and security analysis, now review the code changes for performance issues
|
|
157
|
+
Building on our overview and security analysis, now review the code changes for performance issues.
|
|
166
158
|
|
|
167
|
-
|
|
168
|
-
{% for file in files %}
|
|
169
|
-
- `{{ file.filename }}` ({{ file.changes }} changes, {{ file.status }})
|
|
170
|
-
{% endfor %}
|
|
159
|
+
Focus on the files listed in `<files_summary>` and analyze the code changes shown in the `<full_diff>` or `<commit_diff>` sections.
|
|
171
160
|
|
|
172
|
-
## Analysis Areas
|
|
161
|
+
## Performance Analysis Areas
|
|
173
162
|
**Algorithm & Data Structure Efficiency:**
|
|
174
163
|
- Time complexity analysis (O(n), O(n²), etc.)
|
|
175
164
|
- Space complexity and memory usage
|
|
@@ -204,7 +193,9 @@ checks:
|
|
|
204
193
|
group: review
|
|
205
194
|
schema: code-review
|
|
206
195
|
prompt: |
|
|
207
|
-
Building on our overview, security, and performance discussions, evaluate the code quality and maintainability
|
|
196
|
+
Building on our overview, security, and performance discussions, evaluate the code quality and maintainability.
|
|
197
|
+
|
|
198
|
+
Review the code changes shown in the `<full_diff>` or `<commit_diff>` sections, considering the files listed in `<files_summary>`.
|
|
208
199
|
|
|
209
200
|
## Quality Assessment Areas
|
|
210
201
|
**Code Structure & Design:**
|
|
@@ -253,8 +244,8 @@ checks:
|
|
|
253
244
|
# Intelligent Issue Assistant - provides sophisticated issue triage and assistance
|
|
254
245
|
issue-assistant:
|
|
255
246
|
type: ai
|
|
256
|
-
group:
|
|
257
|
-
command: "
|
|
247
|
+
group: dynamic # Special group: creates new comment each time instead of updating
|
|
248
|
+
command: "visor"
|
|
258
249
|
if: "event.name === 'issues' && event.action === 'opened' || (event.name === 'issue_comment' && event.comment && event.comment.body && event.comment.body.trim().startsWith('/ask'))"
|
|
259
250
|
prompt: |
|
|
260
251
|
You are an intelligent GitHub issue assistant for the {{ event.repository.fullName }} repository. Your role is to provide professional, knowledgeable assistance based on the trigger event.
|
|
@@ -370,4 +361,4 @@ output:
|
|
|
370
361
|
pr_comment:
|
|
371
362
|
format: markdown
|
|
372
363
|
group_by: check
|
|
373
|
-
collapse: true
|
|
364
|
+
collapse: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/ai-review-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAcxD,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;IACtD,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,qCAAqC;IACrC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,cAAc,CAAC,EAAE,KAAK,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC,CAAC;CACJ;AAoBD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,eAAe,CAAkB;gBAE7B,MAAM,GAAE,cAAmB;IA4BvC;;OAEG;IACG,aAAa,CACjB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,MAAM,EACf,UAAU,CAAC,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAmHzB;;OAEG;IACG,6BAA6B,CACjC,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,aAAa,CAAC;IAyFzB;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAI3D;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIvC;;OAEG;YACW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/ai-review-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -69,6 +69,8 @@ export declare class CheckExecutionEngine {
|
|
|
69
69
|
private githubCheckService?;
|
|
70
70
|
private checkRunMap?;
|
|
71
71
|
private githubContext?;
|
|
72
|
+
private workingDirectory;
|
|
73
|
+
private config?;
|
|
72
74
|
constructor(workingDirectory?: string);
|
|
73
75
|
/**
|
|
74
76
|
* Execute checks on the local repository
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/check-execution-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAEb,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAKvC,OAAO,EAAE,sBAAsB,EAAe,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/check-execution-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAOX,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAAwD;IAC/E,OAAO,CAAC,kBAAkB,CAOxB;IACF,OAAO,CAAC,kBAAkB,CAAgE;IAC1F,OAAO,CAAC,mBAAmB,CAAkD;IAE7E;;OAEG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA6EvB;;OAEG;IACU,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBrF;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC;IAerD;;OAEG;IACI,wBAAwB,IAAI,WAAW,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/config.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,WAAW,EAOX,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIzC;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,eAAe,CAAwD;IAC/E,OAAO,CAAC,kBAAkB,CAOxB;IACF,OAAO,CAAC,kBAAkB,CAAgE;IAC1F,OAAO,CAAC,mBAAmB,CAAkD;IAE7E;;OAEG;IACU,UAAU,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC;IA6EvB;;OAEG;IACU,iBAAiB,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC;IAyBrF;;OAEG;YACW,qBAAqB;IAiBnC;;OAEG;IACU,gBAAgB,IAAI,OAAO,CAAC,WAAW,CAAC;IAerD;;OAEG;IACI,wBAAwB,IAAI,WAAW,GAAG,IAAI;IAmDrD;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACI,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,UAAU,GAAG,YAAY;IAqB9F;;OAEG;IACU,0BAA0B,IAAI,OAAO,CAAC;QACjD,MAAM,CAAC,EAAE,WAAW,CAAC;QACrB,oBAAoB,EAAE,oBAAoB,CAAC;KAC5C,CAAC;IA2BF;;OAEG;IACH,OAAO,CAAC,cAAc;IAgDtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAwF3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAY9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;CA6B1B"}
|
|
@@ -79,11 +79,7 @@ checks:
|
|
|
79
79
|
|
|
80
80
|
## Files Changed Analysis
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|------|------|--------|---------|--------|
|
|
84
|
-
{% for file in files %}
|
|
85
|
-
| `{{ file.filename }}` | {{ file.filename | split: "." | last | upcase }} | {{ file.status | capitalize }} | +{{ file.additions }}/-{{ file.deletions }} | {% if file.changes > 50 %}High{% elsif file.changes > 20 %}Medium{% else %}Low{% endif %} |
|
|
86
|
-
{% endfor %}
|
|
82
|
+
Analyze the files listed in the `<files_summary>` section, which provides a structured overview of all changes including filenames, status, additions, and deletions.
|
|
87
83
|
|
|
88
84
|
## Architecture & Impact Assessment
|
|
89
85
|
|
|
@@ -117,15 +113,11 @@ checks:
|
|
|
117
113
|
group: review
|
|
118
114
|
schema: code-review
|
|
119
115
|
prompt: |
|
|
120
|
-
Based on our overview discussion, please perform a comprehensive security analysis of the code changes
|
|
116
|
+
Based on our overview discussion, please perform a comprehensive security analysis of the code changes.
|
|
121
117
|
|
|
122
|
-
|
|
123
|
-
{% for file in files %}
|
|
124
|
-
- `{{ file.filename }}` - {{ file.status }}, +{{ file.additions }}/-{{ file.deletions }} ({{ file.changes }} total changes)
|
|
125
|
-
{% endfor %}
|
|
118
|
+
Analyze the files listed in the `<files_summary>` section and focus on the code changes shown in the diff sections.
|
|
126
119
|
|
|
127
|
-
##
|
|
128
|
-
Analyze the code for security vulnerabilities including:
|
|
120
|
+
## Security Analysis Areas
|
|
129
121
|
|
|
130
122
|
**Input Validation & Injection:**
|
|
131
123
|
- SQL injection in database queries
|
|
@@ -162,14 +154,11 @@ checks:
|
|
|
162
154
|
group: review
|
|
163
155
|
schema: code-review
|
|
164
156
|
prompt: |
|
|
165
|
-
Building on our overview and security analysis, now review the code changes for performance issues
|
|
157
|
+
Building on our overview and security analysis, now review the code changes for performance issues.
|
|
166
158
|
|
|
167
|
-
|
|
168
|
-
{% for file in files %}
|
|
169
|
-
- `{{ file.filename }}` ({{ file.changes }} changes, {{ file.status }})
|
|
170
|
-
{% endfor %}
|
|
159
|
+
Focus on the files listed in `<files_summary>` and analyze the code changes shown in the `<full_diff>` or `<commit_diff>` sections.
|
|
171
160
|
|
|
172
|
-
## Analysis Areas
|
|
161
|
+
## Performance Analysis Areas
|
|
173
162
|
**Algorithm & Data Structure Efficiency:**
|
|
174
163
|
- Time complexity analysis (O(n), O(n²), etc.)
|
|
175
164
|
- Space complexity and memory usage
|
|
@@ -204,7 +193,9 @@ checks:
|
|
|
204
193
|
group: review
|
|
205
194
|
schema: code-review
|
|
206
195
|
prompt: |
|
|
207
|
-
Building on our overview, security, and performance discussions, evaluate the code quality and maintainability
|
|
196
|
+
Building on our overview, security, and performance discussions, evaluate the code quality and maintainability.
|
|
197
|
+
|
|
198
|
+
Review the code changes shown in the `<full_diff>` or `<commit_diff>` sections, considering the files listed in `<files_summary>`.
|
|
208
199
|
|
|
209
200
|
## Quality Assessment Areas
|
|
210
201
|
**Code Structure & Design:**
|
|
@@ -253,8 +244,8 @@ checks:
|
|
|
253
244
|
# Intelligent Issue Assistant - provides sophisticated issue triage and assistance
|
|
254
245
|
issue-assistant:
|
|
255
246
|
type: ai
|
|
256
|
-
group:
|
|
257
|
-
command: "
|
|
247
|
+
group: dynamic # Special group: creates new comment each time instead of updating
|
|
248
|
+
command: "visor"
|
|
258
249
|
if: "event.name === 'issues' && event.action === 'opened' || (event.name === 'issue_comment' && event.comment && event.comment.body && event.comment.body.trim().startsWith('/ask'))"
|
|
259
250
|
prompt: |
|
|
260
251
|
You are an intelligent GitHub issue assistant for the {{ event.repository.fullName }} repository. Your role is to provide professional, knowledgeable assistance based on the trigger event.
|
|
@@ -370,4 +361,4 @@ output:
|
|
|
370
361
|
pr_comment:
|
|
371
362
|
format: markdown
|
|
372
363
|
group_by: check
|
|
373
|
-
collapse: true
|
|
364
|
+
collapse: true
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"","sourceRoot":"","sources":["file:///home/runner/work/visor/visor/src/index.ts"],"names":[],"mappings":"AAwGA,wBAAsB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAoHzC"}
|