"use client"; import { ReactNode, createContext, useContext } from "react"; import { Assistant } from "@langchain/langgraph-sdk"; import { type StateType, useChat } from "@/app/hooks/useChat"; import type { UseStreamThread } from "@langchain/langgraph-sdk/react"; interface ChatProviderProps { children: ReactNode; activeAssistant: Assistant | null; onHistoryRevalidate?: () => void; thread?: UseStreamThread; } export function ChatProvider({ children, activeAssistant, onHistoryRevalidate, thread, }: ChatProviderProps) { const chat = useChat({ activeAssistant, onHistoryRevalidate, thread }); return {children}; } export type ChatContextType = ReturnType; export const ChatContext = createContext( undefined ); export function useChatContext() { const context = useContext(ChatContext); if (context === undefined) { throw new Error("useChatContext must be used within a ChatProvider"); } return context; }