@ariso-ai/ivan 1.0.31 → 1.0.33
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/database/migration.d.ts +2 -2
- package/dist/database/migration.d.ts.map +1 -1
- package/dist/database/migration.js.map +1 -1
- package/dist/database/migrations/017_create_pr_reviews_table.d.ts +3 -0
- package/dist/database/migrations/017_create_pr_reviews_table.d.ts.map +1 -0
- package/dist/database/migrations/017_create_pr_reviews_table.js +23 -0
- package/dist/database/migrations/017_create_pr_reviews_table.js.map +1 -0
- package/dist/database/migrations/index.d.ts.map +1 -1
- package/dist/database/migrations/index.js +3 -1
- package/dist/database/migrations/index.js.map +1 -1
- package/dist/database/types.d.ts +13 -0
- package/dist/database/types.d.ts.map +1 -1
- package/dist/index.js +27 -0
- package/dist/index.js.map +1 -1
- package/dist/learnings/database.d.ts.map +1 -1
- package/dist/learnings/database.js.map +1 -1
- package/dist/services/address-executor.d.ts.map +1 -1
- package/dist/services/address-executor.js +3 -2
- package/dist/services/address-executor.js.map +1 -1
- package/dist/services/git-interfaces.d.ts +3 -3
- package/dist/services/git-interfaces.d.ts.map +1 -1
- package/dist/services/pr-service-cli.d.ts +3 -3
- package/dist/services/pr-service-cli.d.ts.map +1 -1
- package/dist/services/pr-service-cli.js +7 -7
- package/dist/services/pr-service-cli.js.map +1 -1
- package/dist/services/pr-service-pat.d.ts +3 -3
- package/dist/services/pr-service-pat.d.ts.map +1 -1
- package/dist/services/pr-service-pat.js +7 -7
- package/dist/services/pr-service-pat.js.map +1 -1
- package/dist/services/review-executor.d.ts +2 -1
- package/dist/services/review-executor.d.ts.map +1 -1
- package/dist/services/review-executor.js +135 -114
- package/dist/services/review-executor.js.map +1 -1
- package/dist/web-server.d.ts +1 -0
- package/dist/web-server.d.ts.map +1 -1
- package/dist/web-server.js +393 -200
- package/dist/web-server.js.map +1 -1
- package/package.json +1 -1
|
@@ -14,7 +14,7 @@ export class PRServicePAT {
|
|
|
14
14
|
this.owner = repoInfo.owner;
|
|
15
15
|
this.repo = repoInfo.repo;
|
|
16
16
|
}
|
|
17
|
-
async getSpecificPRWithIssues(prNumber) {
|
|
17
|
+
async getSpecificPRWithIssues(prNumber, ignoreReplies = false) {
|
|
18
18
|
try {
|
|
19
19
|
// Get specific PR
|
|
20
20
|
const pr = await this.githubClient.getPR(this.owner, this.repo, prNumber);
|
|
@@ -37,7 +37,7 @@ export class PRServicePAT {
|
|
|
37
37
|
testOrLintFailures: []
|
|
38
38
|
};
|
|
39
39
|
// Check for unaddressed comments
|
|
40
|
-
const comments = await this.getUnaddressedComments(pr.number);
|
|
40
|
+
const comments = await this.getUnaddressedComments(pr.number, ignoreReplies);
|
|
41
41
|
if (comments.length > 0) {
|
|
42
42
|
pullRequest.hasUnaddressedComments = true;
|
|
43
43
|
pullRequest.unaddressedComments = comments;
|
|
@@ -70,7 +70,7 @@ export class PRServicePAT {
|
|
|
70
70
|
throw error;
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
async getOpenPRsWithIssues(fromUser) {
|
|
73
|
+
async getOpenPRsWithIssues(fromUser, ignoreReplies = false) {
|
|
74
74
|
try {
|
|
75
75
|
// Get all open PRs, optionally filtered by author
|
|
76
76
|
const prs = await this.githubClient.listPRs(this.owner, this.repo, {
|
|
@@ -92,7 +92,7 @@ export class PRServicePAT {
|
|
|
92
92
|
testOrLintFailures: []
|
|
93
93
|
};
|
|
94
94
|
// Check for unaddressed comments
|
|
95
|
-
const comments = await this.getUnaddressedComments(pr.number);
|
|
95
|
+
const comments = await this.getUnaddressedComments(pr.number, ignoreReplies);
|
|
96
96
|
if (comments.length > 0) {
|
|
97
97
|
pullRequest.hasUnaddressedComments = true;
|
|
98
98
|
pullRequest.unaddressedComments = comments;
|
|
@@ -120,7 +120,7 @@ export class PRServicePAT {
|
|
|
120
120
|
throw error;
|
|
121
121
|
}
|
|
122
122
|
}
|
|
123
|
-
async getUnaddressedComments(prNumber) {
|
|
123
|
+
async getUnaddressedComments(prNumber, ignoreReplies = false) {
|
|
124
124
|
try {
|
|
125
125
|
// Get review threads using GraphQL
|
|
126
126
|
const threads = await this.githubClient.getReviewThreads(this.owner, this.repo, prNumber);
|
|
@@ -139,8 +139,8 @@ export class PRServicePAT {
|
|
|
139
139
|
const firstComment = comments[0];
|
|
140
140
|
// Check if there are replies (more than one comment in thread)
|
|
141
141
|
const hasReplies = comments.length > 1;
|
|
142
|
-
if (!hasReplies && firstComment.path) {
|
|
143
|
-
// Only include if it's an inline code comment (has a path) and has no replies
|
|
142
|
+
if ((!hasReplies || ignoreReplies) && firstComment.path) {
|
|
143
|
+
// Only include if it's an inline code comment (has a path) and has no replies (unless ignoreReplies)
|
|
144
144
|
unaddressedComments.push({
|
|
145
145
|
id: firstComment.databaseId
|
|
146
146
|
? firstComment.databaseId.toString()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pr-service-pat.js","sourceRoot":"","sources":["../../src/services/pr-service-pat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,OAAO,YAAY;IACf,UAAU,CAAS;IACnB,YAAY,CAAkB;IAC9B,KAAK,CAAS;IACd,IAAI,CAAS;IAErB,YAAY,UAAkB,EAAE,GAAW;QACzC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;QAE7C,sCAAsC;QACtC,MAAM,QAAQ,GAAG,eAAe,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACnE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,uBAAuB,CAAC,QAAgB;
|
|
1
|
+
{"version":3,"file":"pr-service-pat.js","sourceRoot":"","sources":["../../src/services/pr-service-pat.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare class ReviewExecutor {
|
|
2
2
|
private dbManager;
|
|
3
|
+
private claudeExecutor;
|
|
4
|
+
private repositoryManager;
|
|
3
5
|
constructor();
|
|
4
6
|
executeReviews(prNumbers: number[]): Promise<void>;
|
|
5
7
|
private reviewPR;
|
|
6
|
-
private extractReviewContent;
|
|
7
8
|
}
|
|
8
9
|
//# sourceMappingURL=review-executor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-executor.d.ts","sourceRoot":"","sources":["../../src/services/review-executor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"review-executor.d.ts","sourceRoot":"","sources":["../../src/services/review-executor.ts"],"names":[],"mappings":"AA6BA,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,iBAAiB,CAAqB;;IAQxC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAoD1C,QAAQ;CAkIvB"}
|
|
@@ -1,159 +1,180 @@
|
|
|
1
|
+
import { randomUUID } from 'crypto';
|
|
1
2
|
import { execSync } from 'child_process';
|
|
2
3
|
import chalk from 'chalk';
|
|
3
|
-
import { randomUUID } from 'crypto';
|
|
4
4
|
import { DatabaseManager } from '../database.js';
|
|
5
5
|
import { ExecutorFactory } from './executor-factory.js';
|
|
6
|
+
import { createGitManager, createRepositoryManager } from './service-factory.js';
|
|
7
|
+
const REVIEW_SYSTEM_PROMPT = `You are a principal engineer reviewing a pull request. Your job is to provide a thorough, actionable code review.
|
|
8
|
+
|
|
9
|
+
Focus on:
|
|
10
|
+
- Correctness: bugs, logic errors, edge cases, incorrect assumptions
|
|
11
|
+
- Security: vulnerabilities, improper input handling, exposed secrets
|
|
12
|
+
- Performance: inefficient algorithms, unnecessary work, missing indexes
|
|
13
|
+
- Maintainability: overly complex code, missing error handling, unclear logic
|
|
14
|
+
- Conventions: adherence to existing patterns in the codebase
|
|
15
|
+
|
|
16
|
+
Be specific and concrete. For each issue, explain:
|
|
17
|
+
1. What the problem is
|
|
18
|
+
2. Why it matters
|
|
19
|
+
3. How to fix it (with a code example when helpful)
|
|
20
|
+
|
|
21
|
+
Format your review with clear sections. Start with a brief summary, then list issues by severity (critical, major, minor, nit). If there are no significant issues, say so clearly.`;
|
|
6
22
|
export class ReviewExecutor {
|
|
7
23
|
dbManager;
|
|
24
|
+
claudeExecutor;
|
|
25
|
+
repositoryManager;
|
|
8
26
|
constructor() {
|
|
9
27
|
this.dbManager = new DatabaseManager();
|
|
28
|
+
this.claudeExecutor = ExecutorFactory.getExecutor();
|
|
29
|
+
this.repositoryManager = createRepositoryManager();
|
|
10
30
|
}
|
|
11
31
|
async executeReviews(prNumbers) {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
32
|
+
try {
|
|
33
|
+
await this.claudeExecutor.validateClaudeCodeInstallation();
|
|
34
|
+
console.log(chalk.green('✅ Claude Code SDK configured'));
|
|
35
|
+
const workingDir = await this.repositoryManager.getValidWorkingDirectory();
|
|
36
|
+
const gitManager = createGitManager(workingDir);
|
|
37
|
+
gitManager.validateGitHubCliInstallation();
|
|
38
|
+
console.log(chalk.green('✅ GitHub CLI is installed'));
|
|
39
|
+
gitManager.validateGitHubCliAuthentication();
|
|
40
|
+
console.log(chalk.green('✅ GitHub CLI is authenticated'));
|
|
41
|
+
const repoInfo = this.repositoryManager.getRepositoryInfo(workingDir);
|
|
42
|
+
console.log(chalk.blue(`📂 Working in: ${repoInfo.name}`));
|
|
17
43
|
console.log('');
|
|
44
|
+
const repository = await this.repositoryManager.getOrCreateRepository(workingDir);
|
|
45
|
+
const jobUuid = randomUUID();
|
|
46
|
+
const jobDescription = `PR Review - ${prNumbers.map((n) => `#${n}`).join(', ')} - ${new Date().toLocaleDateString()}`;
|
|
47
|
+
const db = this.dbManager.getKysely();
|
|
48
|
+
await db
|
|
49
|
+
.insertInto('jobs')
|
|
50
|
+
.values({
|
|
51
|
+
uuid: jobUuid,
|
|
52
|
+
description: jobDescription,
|
|
53
|
+
created_at: new Date().toISOString(),
|
|
54
|
+
directory: workingDir,
|
|
55
|
+
repository_id: repository.id
|
|
56
|
+
})
|
|
57
|
+
.execute();
|
|
58
|
+
console.log(chalk.blue.bold(`📝 Starting reviews for ${prNumbers.length} PR(s)...`));
|
|
59
|
+
console.log('');
|
|
60
|
+
for (const prNumber of prNumbers) {
|
|
61
|
+
await this.reviewPR(prNumber, jobUuid, repository.id, workingDir, gitManager);
|
|
62
|
+
}
|
|
63
|
+
console.log('');
|
|
64
|
+
console.log(chalk.green.bold('🎉 All reviews completed!'));
|
|
65
|
+
}
|
|
66
|
+
finally {
|
|
67
|
+
this.dbManager.close();
|
|
68
|
+
this.repositoryManager.close();
|
|
18
69
|
}
|
|
19
|
-
this.dbManager.close();
|
|
20
|
-
console.log(chalk.green.bold('✅ All reviews completed!'));
|
|
21
|
-
console.log(chalk.gray('Run "ivan web" to view reviews in the dashboard.'));
|
|
22
70
|
}
|
|
23
|
-
async reviewPR(prNumber, workingDir) {
|
|
24
|
-
|
|
25
|
-
const now = new Date().toISOString();
|
|
71
|
+
async reviewPR(prNumber, jobUuid, repositoryId, workingDir, gitManager) {
|
|
72
|
+
console.log(chalk.blue.bold(`🔍 Reviewing PR #${prNumber}...`));
|
|
26
73
|
const reviewUuid = randomUUID();
|
|
27
|
-
|
|
28
|
-
// Fetch PR metadata
|
|
29
|
-
let prUrl = null;
|
|
74
|
+
const db = this.dbManager.getKysely();
|
|
30
75
|
let prTitle = null;
|
|
31
|
-
let
|
|
32
|
-
|
|
33
|
-
const prJson = execSync(`gh pr view ${prNumber} --json number,title,url`, { cwd: workingDir, encoding: 'utf-8' });
|
|
34
|
-
const pr = JSON.parse(prJson);
|
|
35
|
-
prUrl = pr.url;
|
|
36
|
-
prTitle = pr.title;
|
|
37
|
-
console.log(chalk.gray(` Title: ${prTitle}`));
|
|
38
|
-
console.log(chalk.gray(` URL: ${prUrl}`));
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
console.error(chalk.red(`❌ Failed to fetch PR #${prNumber} metadata:`), error);
|
|
42
|
-
}
|
|
43
|
-
// Look up repository_id from the DB
|
|
76
|
+
let prUrl = null;
|
|
77
|
+
let prBranch = null;
|
|
44
78
|
try {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
repositoryId = repo.id;
|
|
79
|
+
const prJson = execSync(`gh pr view ${prNumber} --json number,title,url,state,headRefName`, { cwd: workingDir, encoding: 'utf-8' });
|
|
80
|
+
const prInfo = JSON.parse(prJson);
|
|
81
|
+
if (prInfo.state !== 'OPEN') {
|
|
82
|
+
console.log(chalk.yellow(`⚠️ PR #${prNumber} is not open (status: ${prInfo.state}), skipping`));
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
prTitle = prInfo.title;
|
|
86
|
+
prUrl = prInfo.url;
|
|
87
|
+
prBranch = prInfo.headRefName;
|
|
88
|
+
console.log(chalk.gray(` ${prTitle} (${prBranch})`));
|
|
56
89
|
}
|
|
57
|
-
catch {
|
|
58
|
-
|
|
90
|
+
catch (err) {
|
|
91
|
+
console.log(chalk.red(`❌ Could not fetch PR #${prNumber}: ${err}`));
|
|
92
|
+
return;
|
|
59
93
|
}
|
|
60
|
-
|
|
61
|
-
await db
|
|
62
|
-
.insertInto('reviews')
|
|
63
|
-
.values({
|
|
94
|
+
const review = {
|
|
64
95
|
uuid: reviewUuid,
|
|
96
|
+
job_uuid: jobUuid,
|
|
65
97
|
pr_number: prNumber,
|
|
66
98
|
pr_url: prUrl,
|
|
67
99
|
pr_title: prTitle,
|
|
100
|
+
status: 'not_started',
|
|
101
|
+
review_log: null,
|
|
102
|
+
review_output: null,
|
|
68
103
|
repository_id: repositoryId,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
104
|
+
created_at: new Date().toISOString()
|
|
105
|
+
};
|
|
106
|
+
await db.insertInto('pr_reviews').values(review).execute();
|
|
107
|
+
await db
|
|
108
|
+
.updateTable('pr_reviews')
|
|
109
|
+
.set({ status: 'active' })
|
|
110
|
+
.where('uuid', '=', reviewUuid)
|
|
75
111
|
.execute();
|
|
76
|
-
//
|
|
77
|
-
let
|
|
78
|
-
let prFiles = '';
|
|
112
|
+
// Create a worktree for the PR branch so Claude can read the actual code
|
|
113
|
+
let worktreePath = null;
|
|
79
114
|
try {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
maxBuffer: 10 * 1024 * 1024
|
|
84
|
-
});
|
|
115
|
+
console.log(chalk.cyan(` Creating worktree for branch: ${prBranch}`));
|
|
116
|
+
worktreePath = await gitManager.createWorktree(prBranch ?? '');
|
|
117
|
+
gitManager.switchToWorktree(worktreePath);
|
|
85
118
|
}
|
|
86
|
-
catch (
|
|
87
|
-
console.
|
|
119
|
+
catch (err) {
|
|
120
|
+
console.log(chalk.red(`❌ Could not create worktree for PR #${prNumber}: ${err}`));
|
|
121
|
+
await db
|
|
122
|
+
.updateTable('pr_reviews')
|
|
123
|
+
.set({ status: 'failed', review_log: String(err) })
|
|
124
|
+
.where('uuid', '=', reviewUuid)
|
|
125
|
+
.execute();
|
|
126
|
+
return;
|
|
88
127
|
}
|
|
89
128
|
try {
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
catch {
|
|
93
|
-
// Ignore
|
|
94
|
-
}
|
|
95
|
-
const prompt = `You are a senior software engineer performing a thorough code review of PR #${prNumber}.
|
|
96
|
-
|
|
97
|
-
${prTitle ? `PR Title: ${prTitle}` : ''}
|
|
98
|
-
${prUrl ? `PR URL: ${prUrl}` : ''}
|
|
99
|
-
${prFiles ? `\nChanged files:\n${prFiles}` : ''}
|
|
129
|
+
const reviewPrompt = `Please review PR #${prNumber}: "${prTitle}" (${prUrl}).
|
|
100
130
|
|
|
101
|
-
|
|
131
|
+
You are currently checked out on the PR branch \`${prBranch}\`. Use your tools to read the code and understand what this PR changes. You can use git commands to see the diff against the base branch (e.g. \`git diff main...HEAD\` or \`git log --oneline main..HEAD\`).
|
|
102
132
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
133
|
+
Provide a thorough code review covering:
|
|
134
|
+
- What the PR does and whether the implementation is correct
|
|
135
|
+
- Any bugs, logic errors, or edge cases
|
|
136
|
+
- Security concerns
|
|
137
|
+
- Performance issues
|
|
138
|
+
- Adherence to codebase conventions and patterns
|
|
139
|
+
- Anything else worth calling out
|
|
110
140
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
// Extract the review content from the last message or log
|
|
118
|
-
const reviewContent = this.extractReviewContent(lastMessage, log, prNumber);
|
|
141
|
+
Be specific and actionable. Reference file names and line numbers where relevant.`;
|
|
142
|
+
const result = await this.claudeExecutor.executeTurn(reviewPrompt, worktreePath, {
|
|
143
|
+
systemPrompt: REVIEW_SYSTEM_PROMPT,
|
|
144
|
+
readOnly: true,
|
|
145
|
+
permissionMode: 'plan'
|
|
146
|
+
});
|
|
119
147
|
await db
|
|
120
|
-
.updateTable('
|
|
148
|
+
.updateTable('pr_reviews')
|
|
121
149
|
.set({
|
|
122
150
|
status: 'completed',
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
updated_at: new Date().toISOString()
|
|
151
|
+
review_log: result.log,
|
|
152
|
+
review_output: result.lastMessage
|
|
126
153
|
})
|
|
127
154
|
.where('uuid', '=', reviewUuid)
|
|
128
155
|
.execute();
|
|
129
|
-
console.log(chalk.green(
|
|
156
|
+
console.log(chalk.green(`✅ Review completed for PR #${prNumber}`));
|
|
130
157
|
}
|
|
131
|
-
catch (
|
|
132
|
-
|
|
158
|
+
catch (err) {
|
|
159
|
+
console.log(chalk.red(`❌ Review failed for PR #${prNumber}: ${err}`));
|
|
133
160
|
await db
|
|
134
|
-
.updateTable('
|
|
135
|
-
.set({
|
|
136
|
-
status: 'failed',
|
|
137
|
-
execution_log: errorMsg,
|
|
138
|
-
updated_at: new Date().toISOString()
|
|
139
|
-
})
|
|
161
|
+
.updateTable('pr_reviews')
|
|
162
|
+
.set({ status: 'failed', review_log: String(err) })
|
|
140
163
|
.where('uuid', '=', reviewUuid)
|
|
141
164
|
.execute();
|
|
142
|
-
console.error(chalk.red(` ❌ Review for PR #${prNumber} failed: ${errorMsg}`));
|
|
143
165
|
}
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return lastMessage || log;
|
|
166
|
+
finally {
|
|
167
|
+
// Always clean up the worktree
|
|
168
|
+
if (worktreePath) {
|
|
169
|
+
try {
|
|
170
|
+
gitManager.switchToOriginalDir();
|
|
171
|
+
await gitManager.removeWorktree(prBranch ?? '');
|
|
172
|
+
}
|
|
173
|
+
catch (err) {
|
|
174
|
+
console.log(chalk.yellow(`⚠️ Could not clean up worktree: ${err}`));
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
157
178
|
}
|
|
158
179
|
}
|
|
159
180
|
//# sourceMappingURL=review-executor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-executor.js","sourceRoot":"","sources":["../../src/services/review-executor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"review-executor.js","sourceRoot":"","sources":["../../src/services/review-executor.ts"],"names":[],"mappings":"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"}
|
package/dist/web-server.d.ts
CHANGED
package/dist/web-server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-server.d.ts","sourceRoot":"","sources":["../src/web-server.ts"],"names":[],"mappings":"AAIA,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,GAAE,MAAa;IAQ/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"web-server.d.ts","sourceRoot":"","sources":["../src/web-server.ts"],"names":[],"mappings":"AAIA,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAsB;IACjC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,IAAI,CAAS;gBAET,IAAI,GAAE,MAAa;IAQ/B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,WAAW;YAYL,OAAO;YAmBP,WAAW;YAgCX,aAAa;IAgC3B,OAAO,CAAC,WAAW;IAijBZ,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBf,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAIpC"}
|