@@ -570,7 +570,7 @@ export class ChatController {
570570 }
571571 }
572572 private async processFileClickMessage ( message : FileClick ) {
573- let session = this . sessionStorage . getSession ( message . tabID )
573+ const session = this . sessionStorage . getSession ( message . tabID )
574574 // TODO remove currentContextId but use messageID to track context for each answer message
575575 const lineRanges = session . contexts . get ( session . currentContextId ) ?. get ( message . filePath )
576576
@@ -915,9 +915,11 @@ export class ChatController {
915915 // TODO: resolve the context into real context up to 90k
916916 triggerPayload . useRelevantDocuments = false
917917 if ( triggerPayload . message ) {
918- triggerPayload . useRelevantDocuments = triggerPayload . message . includes ( `@workspace` )
918+ triggerPayload . useRelevantDocuments = triggerPayload . context ?. some (
919+ ( context ) => typeof context !== 'string' && context . command === '@workspace'
920+ )
919921 if ( triggerPayload . useRelevantDocuments ) {
920- triggerPayload . message = triggerPayload . message . replace ( / @ w o r k s p a c e / g , '' )
922+ triggerPayload . message = triggerPayload . message . replace ( / w o r k s p a c e / , '' )
921923 if ( CodeWhispererSettings . instance . isLocalIndexEnabled ( ) ) {
922924 const start = performance . now ( )
923925 triggerPayload . relevantTextDocuments = await LspController . instance . query ( triggerPayload . message )
@@ -960,12 +962,14 @@ export class ChatController {
960962
961963 session . currentContextId ++
962964 session . contexts . set ( session . currentContextId , new Map ( ) )
963- triggerPayload . mergedRelevantDocuments ?. forEach ( ( doc ) => {
964- const currentContext = session . contexts . get ( session . currentContextId )
965- if ( currentContext ) {
966- currentContext . set ( doc . relativeFilePath , doc . lineRanges )
965+ if ( triggerPayload . mergedRelevantDocuments ) {
966+ for ( const doc of triggerPayload . mergedRelevantDocuments ) {
967+ const currentContext = session . contexts . get ( session . currentContextId )
968+ if ( currentContext ) {
969+ currentContext . set ( doc . relativeFilePath , doc . lineRanges )
970+ }
967971 }
968- } )
972+ }
969973
970974 getLogger ( ) . info (
971975 `request from tab: ${ tabID } conversationID: ${ session . sessionIdentifier } request: ${ inspect ( request , {
0 commit comments