66import * as pathLib from 'path' ;
77import * as vscode from 'vscode' ;
88import { Uri } from 'vscode' ;
9+ import { IAuthenticationService } from '../../../platform/authentication/common/authentication' ;
10+ import { IAuthenticationChatUpgradeService } from '../../../platform/authentication/common/authenticationUpgrade' ;
911import { IGitExtensionService } from '../../../platform/git/common/gitExtensionService' ;
1012import { IGitService } from '../../../platform/git/common/gitService' ;
1113import { PullRequestSearchItem , SessionInfo } from '../../../platform/github/common/githubAPI' ;
@@ -16,8 +18,6 @@ import { Disposable, toDisposable } from '../../../util/vs/base/common/lifecycle
1618import { body_suffix , CONTINUE_TRUNCATION , extractTitle , formatBodyPlaceholder , getAuthorDisplayName , getRepoId , JOBS_API_VERSION , RemoteAgentResult , SessionIdForPr , toOpenPullRequestWebviewUri , truncatePrompt } from '../vscode/copilotCodingAgentUtils' ;
1719import { ChatSessionContentBuilder } from './copilotCloudSessionContentBuilder' ;
1820import { IPullRequestFileChangesService } from './pullRequestFileChangesService' ;
19- import { IAuthenticationChatUpgradeService } from '../../../platform/authentication/common/authenticationUpgrade' ;
20- import { IAuthenticationService } from '../../../platform/authentication/common/authentication' ;
2121
2222export type ConfirmationResult = { step : string ; accepted : boolean ; metadata ?: ConfirmationMetadata } ;
2323
@@ -592,8 +592,13 @@ export class CopilotCloudSessionsProvider extends Disposable implements vscode.C
592592
593593 private async chatParticipantImpl ( request : vscode . ChatRequest , context : vscode . ChatContext , stream : vscode . ChatResponseStream , token : vscode . CancellationToken ) {
594594 if ( request . acceptedConfirmationData || request . rejectedConfirmationData ) {
595- const findConfirmRequest = request . acceptedConfirmationData ?. find ( ref => ref ?. authPermissionPrompted ) ;
596- if ( findConfirmRequest ) {
595+ const findAuthConfirmRequest = request . acceptedConfirmationData ?. find ( ref => ref ?. authPermissionPrompted ) ;
596+ const findAuthRejectRequest = request . rejectedConfirmationData ?. find ( ref => ref ?. authPermissionPrompted ) ;
597+ if ( findAuthRejectRequest ) {
598+ stream . markdown ( vscode . l10n . t ( 'Cloud agent authentication requirements not met. Please allow access to proceed.' ) ) ;
599+ return { } ;
600+ }
601+ if ( findAuthConfirmRequest ) {
597602 const result = await this . _authenticationUpgradeService . handleConfirmationRequestWithContext ( stream , request , context . history ) ;
598603 request = result . request ;
599604 context = result . context ?? context ;
0 commit comments