@@ -7,7 +7,7 @@ import { githubPrParser } from "@/features/agents/review-agent/nodes/githubPrPar
77import { getReviewAgentLogDir } from "@/features/agents/review-agent/nodes/invokeDiffReviewLlm" ;
88import { gitlabMrParser } from "@/features/agents/review-agent/nodes/gitlabMrParser" ;
99import { gitlabPushMrReviews } from "@/features/agents/review-agent/nodes/gitlabPushMrReviews" ;
10- import { GitHubPullRequest , GitLabMergeRequestPayload } from "@/features/agents/review-agent/types" ;
10+ import { GitHubPullRequest , GitLabMergeRequestPayload , sourcebot_pr_payload } from "@/features/agents/review-agent/types" ;
1111import { env } from "@sourcebot/shared" ;
1212import path from "path" ;
1313import fs from "fs" ;
@@ -25,6 +25,18 @@ const rules = [
2525
2626const logger = createLogger ( 'review-agent' ) ;
2727
28+ async function generateSummarySafely ( payload : sourcebot_pr_payload , label : string ) : Promise < string | undefined > {
29+ if ( ! env . REVIEW_AGENT_SUMMARY_ENABLED ) {
30+ return undefined ;
31+ }
32+ try {
33+ return await generatePrSummary ( payload ) ;
34+ } catch ( error ) {
35+ logger . error ( `Error generating ${ label } summary: ${ error } ` ) ;
36+ return undefined ;
37+ }
38+ }
39+
2840function getReviewAgentLogPath ( identifier : string ) : string | undefined {
2941 if ( ! env . REVIEW_AGENT_LOGGING_ENABLED ) {
3042 return undefined ;
@@ -57,15 +69,7 @@ export async function processGitHubPullRequest(octokit: Octokit, pullRequest: Gi
5769 const prPayload = await githubPrParser ( octokit , pullRequest ) ;
5870 const fileDiffReviews = await generatePrReviews ( reviewAgentLogPath , prPayload , rules ) ;
5971
60- let summary : string | undefined ;
61- if ( env . REVIEW_AGENT_SUMMARY_ENABLED ) {
62- try {
63- summary = await generatePrSummary ( prPayload ) ;
64- } catch ( error ) {
65- logger . error ( `Error generating PR summary: ${ error } ` ) ;
66- }
67- }
68-
72+ const summary = await generateSummarySafely ( prPayload , "PR" ) ;
6973 await githubPushPrReviews ( octokit , prPayload , fileDiffReviews , summary ) ;
7074}
7175
@@ -82,14 +86,6 @@ export async function processGitLabMergeRequest(
8286 const prPayload = await gitlabMrParser ( gitlabClient , mrPayload , hostDomain ) ;
8387 const fileDiffReviews = await generatePrReviews ( reviewAgentLogPath , prPayload , rules ) ;
8488
85- let summary : string | undefined ;
86- if ( env . REVIEW_AGENT_SUMMARY_ENABLED ) {
87- try {
88- summary = await generatePrSummary ( prPayload ) ;
89- } catch ( error ) {
90- logger . error ( `Error generating MR summary: ${ error } ` ) ;
91- }
92- }
93-
89+ const summary = await generateSummarySafely ( prPayload , "MR" ) ;
9490 await gitlabPushMrReviews ( gitlabClient , projectId , prPayload , fileDiffReviews , summary ) ;
9591}
0 commit comments