@@ -96,10 +96,10 @@ import { amazonQTabSuffix } from '../../../shared/constants'
9696import { OutputKind } from '../../tools/toolShared'
9797import { ToolUtils , Tool , ToolType } from '../../tools/toolUtils'
9898import { ChatStream } from '../../tools/chatStream'
99- import { ChatHistoryStorage } from '../../storages/chatHistoryStorage'
10099import { tempDirPath } from '../../../shared/filesystemUtilities'
101100import { Database } from '../../../shared/db/chatDb/chatDb'
102101import { TabBarController } from './tabBarController'
102+ import { messageToChatMessage } from '../../../shared/db/chatDb/util'
103103
104104export interface ChatControllerMessagePublishers {
105105 readonly processPromptChatMessage : MessagePublisher < PromptMessage >
@@ -174,7 +174,6 @@ export class ChatController {
174174 private readonly userIntentRecognizer : UserIntentRecognizer
175175 private readonly telemetryHelper : CWCTelemetryHelper
176176 private userPromptsWatcher : vscode . FileSystemWatcher | undefined
177- private readonly chatHistoryStorage : ChatHistoryStorage
178177 private chatHistoryDb = Database . getInstance ( )
179178 private cancelTokenSource : vscode . CancellationTokenSource = new vscode . CancellationTokenSource ( )
180179
@@ -194,7 +193,6 @@ export class ChatController {
194193 this . editorContentController = new EditorContentController ( )
195194 this . promptGenerator = new PromptsGenerator ( )
196195 this . userIntentRecognizer = new UserIntentRecognizer ( )
197- this . chatHistoryStorage = new ChatHistoryStorage ( )
198196 this . tabBarController = new TabBarController ( this . messenger )
199197
200198 onDidChangeAmazonQVisibility ( ( visible ) => {
@@ -416,7 +414,7 @@ export class ChatController {
416414 const session = this . sessionStorage . getSession ( message . tabID )
417415 session . tokenSource . cancel ( )
418416 this . messenger . sendEmptyMessage ( message . tabID , '' , undefined )
419- this . chatHistoryStorage . getTabHistory ( message . tabID ) . clearRecentHistory ( )
417+ this . chatHistoryDb . clearRecentHistory ( message . tabID )
420418 }
421419
422420 private async processTriggerTabIDReceived ( message : TriggerTabIDReceived ) {
@@ -473,7 +471,6 @@ export class ChatController {
473471
474472 private async processTabCloseMessage ( message : TabClosedMessage ) {
475473 this . sessionStorage . deleteSession ( message . tabID )
476- this . chatHistoryStorage . deleteHistory ( message . tabID )
477474 this . triggerEventsStorage . removeTabEvents ( message . tabID )
478475 // this.telemetryHelper.recordCloseChat(message.tabID)
479476 this . chatHistoryDb . updateTabOpenState ( message . tabID , false )
@@ -1014,7 +1011,7 @@ export class ChatController {
10141011 getLogger ( ) . error ( `error: ${ errorMessage } tabID: ${ tabID } requestID: ${ requestID } ` )
10151012
10161013 this . sessionStorage . deleteSession ( tabID )
1017- this . chatHistoryStorage . getTabHistory ( tabID ) . clear ( )
1014+ this . chatHistoryDb . clearTab ( tabID )
10181015 }
10191016
10201017 private async processContextMenuCommand ( command : EditorContextCommand ) {
@@ -1136,7 +1133,6 @@ export class ChatController {
11361133 switch ( message . command ) {
11371134 case 'clear' :
11381135 this . sessionStorage . deleteSession ( message . tabID )
1139- this . chatHistoryStorage . getTabHistory ( message . tabID ) . clear ( )
11401136 this . triggerEventsStorage . removeTabEvents ( message . tabID )
11411137 recordTelemetryChatRunCommand ( 'clear' )
11421138 this . chatHistoryDb . clearTab ( message . tabID )
@@ -1427,10 +1423,6 @@ export class ChatController {
14271423 }
14281424
14291425 const session = this . sessionStorage . getSession ( tabID )
1430- if ( ! session . localHistoryHydrated ) {
1431- triggerPayload . history = this . chatHistoryDb . getMessages ( triggerEvent . tabID , 10 )
1432- session . localHistoryHydrated = true
1433- }
14341426 await this . resolveContextCommandPayload ( triggerPayload , session )
14351427 triggerPayload . useRelevantDocuments = triggerPayload . context . some (
14361428 ( context ) => typeof context !== 'string' && context . command === '@workspace'
@@ -1469,16 +1461,14 @@ export class ChatController {
14691461
14701462 const request = triggerPayloadToChatRequest ( triggerPayload )
14711463
1472- const chatHistory = this . chatHistoryStorage . getTabHistory ( tabID )
14731464 const currentMessage = request . conversationState . currentMessage
14741465 if ( currentMessage ) {
1475- chatHistory . fixHistory ( currentMessage )
1466+ this . chatHistoryDb . fixHistory ( tabID , currentMessage )
14761467 }
1477- request . conversationState . history = chatHistory . getHistory ( )
1478-
1479- const conversationId = chatHistory . getConversationId ( ) || randomUUID ( )
1480- chatHistory . setConversationId ( conversationId )
1481- request . conversationState . conversationId = conversationId
1468+ request . conversationState . history = this . chatHistoryDb
1469+ . getMessages ( tabID )
1470+ . map ( ( chat ) => messageToChatMessage ( chat ) )
1471+ request . conversationState . conversationId = session . sessionIdentifier
14821472
14831473 triggerPayload . documentReferences = this . mergeRelevantTextDocuments ( triggerPayload . relevantTextDocuments )
14841474
@@ -1537,7 +1527,6 @@ export class ChatController {
15371527 this . telemetryHelper . recordStartConversation ( triggerEvent , triggerPayload )
15381528
15391529 if ( currentMessage && session . sessionIdentifier ) {
1540- chatHistory . appendUserMessage ( currentMessage )
15411530 this . chatHistoryDb . addMessage ( tabID , 'cwc' , session . sessionIdentifier , {
15421531 body : triggerPayload . message ,
15431532 type : 'prompt' as any ,
@@ -1552,15 +1541,13 @@ export class ChatController {
15521541 response . $metadata . requestId
15531542 } metadata: ${ inspect ( response . $metadata , { depth : 12 } ) } `
15541543 )
1555-
15561544 this . cancelTokenSource = new vscode . CancellationTokenSource ( )
15571545 await this . messenger . sendAIResponse (
15581546 response ,
15591547 session ,
15601548 tabID ,
15611549 triggerID ,
15621550 triggerPayload ,
1563- chatHistory ,
15641551 this . cancelTokenSource . token
15651552 )
15661553
0 commit comments