Skip to content

Commit 96f375f

Browse files
fatmcgavclaude
andcommitted
refactor(web): extract duplicated summary generation into generateSummarySafely helper
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent c30a124 commit 96f375f

1 file changed

Lines changed: 15 additions & 19 deletions

File tree

  • packages/web/src/features/agents/review-agent

packages/web/src/features/agents/review-agent/app.ts

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { githubPrParser } from "@/features/agents/review-agent/nodes/githubPrPar
77
import { getReviewAgentLogDir } from "@/features/agents/review-agent/nodes/invokeDiffReviewLlm";
88
import { gitlabMrParser } from "@/features/agents/review-agent/nodes/gitlabMrParser";
99
import { 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";
1111
import { env } from "@sourcebot/shared";
1212
import path from "path";
1313
import fs from "fs";
@@ -25,6 +25,18 @@ const rules = [
2525

2626
const 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+
2840
function 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

Comments
 (0)