@@ -70,6 +70,7 @@ export class CopilotRemoteAgentTool implements vscode.LanguageModelTool<CopilotR
70
70
] ) ;
71
71
}
72
72
73
+
73
74
/* __GDPR__
74
75
"remoteAgent.tool.invoke" : {
75
76
"hasExistingPR" : { "classification": "SystemMetaData", "purpose": "FeatureInsight" },
@@ -81,13 +82,23 @@ export class CopilotRemoteAgentTool implements vscode.LanguageModelTool<CopilotR
81
82
hasBody : body ? 'true' : 'false'
82
83
} ) ;
83
84
85
+ let pullRequestNumber : number | undefined ;
84
86
if ( existingPullRequest ) {
85
- const pullRequestNumber = parseInt ( existingPullRequest , 10 ) ;
87
+ pullRequestNumber = parseInt ( existingPullRequest , 10 ) ;
86
88
if ( isNaN ( pullRequestNumber ) ) {
87
89
return new vscode . LanguageModelToolResult ( [
88
90
new vscode . LanguageModelTextPart ( vscode . l10n . t ( 'Invalid pull request number: {0}' , existingPullRequest ) )
89
91
] ) ;
90
92
}
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 ) {
91
102
await this . manager . addFollowUpToExistingPR ( pullRequestNumber , title , body ) ;
92
103
return new vscode . LanguageModelToolResult ( [
93
104
new vscode . LanguageModelTextPart ( vscode . l10n . t ( 'Follow-up added to pull request #{0}.' , pullRequestNumber ) ) ,
0 commit comments