From 9a559bd965c12cc6518ac17baf57c23fc998d189 Mon Sep 17 00:00:00 2001 From: Brace Sproul Date: Mon, 4 Aug 2025 13:23:37 -0700 Subject: [PATCH] fix: Dont regenertae during eval mode (#658) --- apps/open-swe/src/graphs/manager/nodes/create-new-session.ts | 5 ++++- apps/open-swe/src/graphs/manager/nodes/start-planner.ts | 5 ++++- apps/open-swe/src/graphs/planner/nodes/proposed-plan.ts | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/apps/open-swe/src/graphs/manager/nodes/create-new-session.ts b/apps/open-swe/src/graphs/manager/nodes/create-new-session.ts index 05fb9030..619ca337 100644 --- a/apps/open-swe/src/graphs/manager/nodes/create-new-session.ts +++ b/apps/open-swe/src/graphs/manager/nodes/create-new-session.ts @@ -8,6 +8,7 @@ import { createIssueFieldsFromMessages } from "../utils/generate-issue-fields.js import { GITHUB_INSTALLATION_ID, GITHUB_INSTALLATION_TOKEN_COOKIE, + GITHUB_PAT, LOCAL_MODE_HEADER, MANAGER_GRAPH_ID, OPEN_SWE_STREAM_MODE, @@ -86,7 +87,9 @@ ${ISSUE_CONTENT_CLOSE_TAG}`, ? { [LOCAL_MODE_HEADER]: "true" } : getDefaultHeaders(config); - if (!isLocal) { + // Only regenerate if its not running in local mode, and the GITHUB_PAT is not in the headers + // If the GITHUB_PAT is in the headers, then it means we're running an eval and this does not need to be regenerated + if (!isLocal && !(GITHUB_PAT in defaultHeaders)) { logger.info("Regenerating installation token before starting new session."); defaultHeaders[GITHUB_INSTALLATION_TOKEN_COOKIE] = await regenerateInstallationToken(defaultHeaders[GITHUB_INSTALLATION_ID]); diff --git a/apps/open-swe/src/graphs/manager/nodes/start-planner.ts b/apps/open-swe/src/graphs/manager/nodes/start-planner.ts index f80eda85..e13c4838 100644 --- a/apps/open-swe/src/graphs/manager/nodes/start-planner.ts +++ b/apps/open-swe/src/graphs/manager/nodes/start-planner.ts @@ -12,6 +12,7 @@ import { LOCAL_MODE_HEADER, GITHUB_INSTALLATION_ID, GITHUB_INSTALLATION_TOKEN_COOKIE, + GITHUB_PAT, } from "@open-swe/shared/constants"; import { createLogger, LogLevel } from "../../../utils/logger.js"; import { getBranchName } from "../../../utils/github/git.js"; @@ -44,7 +45,9 @@ export async function startPlanner( ? { [LOCAL_MODE_HEADER]: "true" } : getDefaultHeaders(config); - if (!localMode) { + // Only regenerate if its not running in local mode, and the GITHUB_PAT is not in the headers + // If the GITHUB_PAT is in the headers, then it means we're running an eval and this does not need to be regenerated + if (!localMode && !(GITHUB_PAT in defaultHeaders)) { logger.info("Regenerating installation token before starting planner run."); defaultHeaders[GITHUB_INSTALLATION_TOKEN_COOKIE] = await regenerateInstallationToken(defaultHeaders[GITHUB_INSTALLATION_ID]); diff --git a/apps/open-swe/src/graphs/planner/nodes/proposed-plan.ts b/apps/open-swe/src/graphs/planner/nodes/proposed-plan.ts index 75726ad6..05fba650 100644 --- a/apps/open-swe/src/graphs/planner/nodes/proposed-plan.ts +++ b/apps/open-swe/src/graphs/planner/nodes/proposed-plan.ts @@ -28,6 +28,7 @@ import { LOCAL_MODE_HEADER, GITHUB_INSTALLATION_ID, GITHUB_INSTALLATION_TOKEN_COOKIE, + GITHUB_PAT, } from "@open-swe/shared/constants"; import { PlannerGraphState } from "@open-swe/shared/open-swe/planner/types"; import { createLangGraphClient } from "../../../utils/langgraph-client.js"; @@ -95,7 +96,9 @@ async function startProgrammerRun(input: { ? { [LOCAL_MODE_HEADER]: "true" } : getDefaultHeaders(config); - if (!isLocal) { + // Only regenerate if its not running in local mode, and the GITHUB_PAT is not in the headers + // If the GITHUB_PAT is in the headers, then it means we're running an eval and this does not need to be regenerated + if (!isLocal && !(GITHUB_PAT in defaultHeaders)) { logger.info( "Regenerating installation token before starting programmer run.", );