Skip to content

Commit ee41b4d

Browse files
Merge main into feature/smus-inline-refresh
2 parents ef289ca + a8ac33e commit ee41b4d

File tree

4 files changed

+42
-4
lines changed

4 files changed

+42
-4
lines changed

server/aws-lsp-codewhisperer/src/language-server/agenticChat/agenticChatController.test.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -479,6 +479,17 @@ describe('AgenticChatController', () => {
479479
assert.strictEqual(typeof session.conversationId, 'string')
480480
})
481481

482+
it('includes conversationId in the request input', async () => {
483+
chatController.onTabAdd({ tabId: mockTabId })
484+
const session = chatSessionManagementService.getSession(mockTabId).data
485+
assert.ok(session)
486+
487+
await chatController.onChatPrompt({ tabId: mockTabId, prompt: { prompt: 'Hello' } }, mockCancellationToken)
488+
489+
const requestInput: GenerateAssistantResponseCommandInput = generateAssistantResponseStub.firstCall.firstArg
490+
assert.strictEqual(requestInput.conversationState?.conversationId, session.conversationId)
491+
})
492+
482493
it('invokes IdleWorkspaceManager recordActivityTimestamp', async () => {
483494
const recordActivityTimestampStub = sinon.stub(IdleWorkspaceManager, 'recordActivityTimestamp')
484495

server/aws-lsp-codewhisperer/src/language-server/agenticChat/agenticChatController.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1186,7 +1186,8 @@ export class AgenticChatController implements ChatHandlers {
11861186
additionalContext,
11871187
session.modelId,
11881188
this.#origin,
1189-
images
1189+
images,
1190+
session.conversationId
11901191
)
11911192
return requestInput
11921193
}
@@ -1202,7 +1203,8 @@ export class AgenticChatController implements ChatHandlers {
12021203
profileArn,
12031204
this.#getTools(session),
12041205
session.modelId,
1205-
this.#origin
1206+
this.#origin,
1207+
session.conversationId
12061208
)
12071209
return requestInput
12081210
}

server/aws-lsp-codewhisperer/src/language-server/agenticChat/context/agenticChatTriggerContext.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,10 +119,12 @@ export class AgenticChatTriggerContext {
119119
profileArn?: string,
120120
tools: BedrockTools = [],
121121
modelId?: string,
122-
origin?: Origin
122+
origin?: Origin,
123+
conversationId?: string
123124
): ChatCommandInput {
124125
const data: ChatCommandInput = {
125126
conversationState: {
127+
conversationId,
126128
chatTriggerType: ChatTriggerType.MANUAL,
127129
currentMessage: {
128130
userInputMessage: {
@@ -170,7 +172,8 @@ export class AgenticChatTriggerContext {
170172
additionalContent?: AdditionalContentEntryAddition[],
171173
modelId?: string,
172174
origin?: Origin,
173-
imageContext?: ImageBlock[]
175+
imageContext?: ImageBlock[],
176+
conversationId?: string
174177
): Promise<ChatCommandInput> {
175178
const { prompt } = params
176179
const workspaceFolders = workspaceUtils.getWorkspaceFolderPaths(this.#workspace).slice(0, maxWorkspaceFolders)
@@ -258,6 +261,7 @@ export class AgenticChatTriggerContext {
258261

259262
const data: ChatCommandInput = {
260263
conversationState: {
264+
conversationId,
261265
workspaceId: workspaceId,
262266
chatTriggerType: chatTriggerType,
263267
currentMessage: {

server/aws-lsp-codewhisperer/src/language-server/agenticChat/context/agenticChatTriggerContexts.test.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,27 @@ describe('AgenticChatTriggerContext', () => {
159159
assert.strictEqual(chatParams.conversationState?.currentMessage?.userInputMessage?.modelId, undefined)
160160
})
161161

162+
it('includes conversationId in chat params when provided', async () => {
163+
const triggerContext = new AgenticChatTriggerContext(testFeatures)
164+
const conversationId = 'test-conversation-id'
165+
166+
const chatParams = await triggerContext.getChatParamsFromTrigger(
167+
{ tabId: 'tab', prompt: {} },
168+
{},
169+
ChatTriggerType.MANUAL,
170+
undefined,
171+
undefined,
172+
undefined,
173+
[],
174+
undefined,
175+
undefined,
176+
undefined,
177+
undefined,
178+
conversationId
179+
)
180+
assert.strictEqual(chatParams.conversationState?.conversationId, conversationId)
181+
})
182+
162183
it('includes remote workspaceId if it exists and is connected', async () => {
163184
mockWorkspaceFolderManager = {
164185
getWorkspaceState: sinon.stub(),

0 commit comments

Comments
 (0)