diff --git a/app/api/chat/route.ts b/app/api/chat/route.ts index 9afacb7..94f53e9 100644 --- a/app/api/chat/route.ts +++ b/app/api/chat/route.ts @@ -1,5 +1,6 @@ import { bedrock } from '@ai-sdk/amazon-bedrock'; - +import { openai } from '@ai-sdk/openai'; +import { google } from '@ai-sdk/google'; import { streamText } from "ai"; import { z } from "zod"; diff --git a/components/chat-message-display.tsx b/components/chat-message-display.tsx index a3a7a38..a246b8b 100644 --- a/components/chat-message-display.tsx +++ b/components/chat-message-display.tsx @@ -32,83 +32,40 @@ export function ChatMessageDisplay({ } }, [messages]); + function handleDisplayChart(xml: string) { + const currentXml = xml || ""; + const convertedXml = convertToLegalXml(currentXml); + if (convertedXml !== previousXML.current) { + previousXML.current = convertedXml; + const replacedXML = replaceNodes(chartXML, convertedXml); + onDisplayChart(replacedXML); + } + } + const renderToolInvocation = (toolInvocation: any) => { const callId = toolInvocation.toolCallId; + const { toolName, args, state } = toolInvocation; + handleDisplayChart(args?.xml); - switch (toolInvocation.toolName) { - case "display_diagram": { - switch (toolInvocation.state) { - case "partial-call": - { - const currentXml = toolInvocation.args?.xml || ""; - - console.log("toolInvocation", toolInvocation); - // Increment the step counter - - // Determine whether to show details based on a simple threshold - const convertedXml = convertToLegalXml(currentXml); - if (convertedXml !== previousXML.current) { - previousXML.current = convertedXml; - // if "/root" in convertedXml - const replacedXML = replaceNodes( - chartXML, - convertedXml - ); - onDisplayChart(replacedXML); - // if convertedXml changed - } - } - return ( -