'use client'; import { useChat } from '@ai-sdk/react'; import { DefaultChatTransport } from 'ai'; import ChatInput from '@/component/chat-input'; import { OpenAIWebSearchMessage } from '@/app/api/chat-openai-web-search/route'; export default function TestOpenAIWebSearch() { const { error, status, sendMessage, messages, regenerate, stop } = useChat({ transport: new DefaultChatTransport({ api: '/api/chat-openai-web-search', }), }); return (

OpenAI Web Search Test

{messages.map(message => (
{message.role === 'user' ? 'User: ' : 'AI: '} {message.parts.map((part, index) => { if (part.type === 'text') { return
{part.text}
; } if (part.type === 'tool-web_search') { if (part.state === 'input-available') { return (
                    {JSON.stringify(part.input, null, 2)}
                  
); } if (part.state === 'output-available') { return (
                    {JSON.stringify(part.input, null, 2)}
                    {`\n\nDONE - Web search completed`}
                  
); } } if (part.type === 'source-url') { return ( [ {part.title ?? new URL(part.url).hostname} ] ); } return null; })}
))} {(status === 'submitted' || status === 'streaming') && (
{status === 'submitted' &&
Loading...
}
)} {error && (
An error occurred.
)} sendMessage({ text })} />
); }