Accesses the shared stream instance from the nearest StreamProvider.
Throws if called outside of a StreamProvider.
useStreamContext<
T = Record<string, unknown>,
Bag extends BagTemplate = BagTemplate
>(): function MessageList() {
const { messages, getMessagesMetadata } = useStreamContext();
return messages.map((msg, i) => {
const metadata = getMessagesMetadata(msg, i);
return <div key={msg.id ?? i}>{msg.content}</div>;
});
}import type { agent } from "./agent";
function Chat() {
const { toolCalls } = useStreamContext<typeof agent>();
// toolCalls are fully typed from the agent's tools
}