@@ -70,6 +70,7 @@ export class CopilotRemoteAgentTool implements vscode.LanguageModelTool<CopilotR
7070 ] ) ;
7171 }
7272
73+
7374 /* __GDPR__
7475 "remoteAgent.tool.invoke" : {
7576 "hasExistingPR" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
@@ -81,13 +82,23 @@ export class CopilotRemoteAgentTool implements vscode.LanguageModelTool<CopilotR
8182 hasBody : body ? 'true' : 'false'
8283 } ) ;
8384
85+ let pullRequestNumber : number | undefined ;
8486 if ( existingPullRequest ) {
85- const pullRequestNumber = parseInt ( existingPullRequest , 10 ) ;
87+ pullRequestNumber = parseInt ( existingPullRequest , 10 ) ;
8688 if ( isNaN ( pullRequestNumber ) ) {
8789 return new vscode . LanguageModelToolResult ( [
8890 new vscode . LanguageModelTextPart ( vscode . l10n . t ( 'Invalid pull request number: {0}' , existingPullRequest ) )
8991 ] ) ;
9092 }
93+ } else {
94+ const { repo, owner } = targetRepo ;
95+ const activePR = targetRepo . fm . activePullRequest ;
96+ if ( activePR && this . manager . getStateForPR ( owner , repo , activePR . number ) ) {
97+ pullRequestNumber = activePR . number ;
98+ }
99+ }
100+
101+ if ( pullRequestNumber ) {
91102 await this . manager . addFollowUpToExistingPR ( pullRequestNumber , title , body ) ;
92103 return new vscode . LanguageModelToolResult ( [
93104 new vscode . LanguageModelTextPart ( vscode . l10n . t ( 'Follow-up added to pull request #{0}.' , pullRequestNumber ) ) ,
0 commit comments