in server/aws-lsp-codewhisperer/src/language-server/agenticChat/agenticChatController.ts [2040:2068]
for await (const chatEvent of response.generateAssistantResponseResponse!) {
if (abortSignal?.aborted) {
throw new Error('Operation was aborted')
}
if (chatEvent.assistantResponseEvent) {
await this.#showUndoAllIfRequired(chatResultStream, session)
}
const result = chatEventParser.processPartialEvent(chatEvent)
// terminate early when there is an error
if (!result.success) {
await streamWriter.close()
return result
}
// make sure to save code reference events
if (chatEvent.assistantResponseEvent || chatEvent.codeReferenceEvent) {
await streamWriter.write(result.data.chatResult)
}
if (chatEvent.toolUseEvent) {
await this.#showLoadingIfRequired(
chatEvent.toolUseEvent,
streamWriter,
toolUseStartTimes,
toolUseLoadingTimeouts
)
}
}