ole === "assistant") { this.handleAIResponseEvent(event); return; } this.handleUserPromptEvent(event); } /** * Handle user prompt events * * @param {CustomEvent} event - The custom event containing the user prompt */ handleUserPromptEvent(event) { const { content } = event.detail; this.conversationState.push({ role: "user", body: content.body, }); this.requestUpdate(); } /** * Handle AI response events * * @param {CustomEvent} event - The custom event containing the response */ handleAIResponseEvent(event) { // TODO (bug 2009434): update reference to insights const { ordinal, id: messageId, content, insightsApplied } = event.detail; this.conversationState[ordinal] = { role: "assistant", messageId, body: content.body, appliedMemories: insightsApplied ?? [], }; this.requestUpdate(); } render() { return html`
${this.conversationState.map(msg => { return html`
${msg.role === "assistant" ? html` ` : nothing}
`; })}
`; } } customElements.define("ai-chat-content", AIChatContent); PK