import { createContext } from "react"; let nextMessageId = 0; export function createMessageId(): number { return nextMessageId++; } export interface ChatMessage { id: number; role: "user" | "assistant" | "system"; content: string; tps?: number; } export type LoadingStatus = | { state: "idle" } | { state: "loading"; progress?: number; message?: string } | { state: "ready" } | { state: "error"; error: string }; export interface LLMContextValue { status: LoadingStatus; messages: ChatMessage[]; isGenerating: boolean; tps: number; send: (text: string) => void; stop: () => void; clearChat: () => void; editMessage: (index: number, newContent: string) => void; retryMessage: (index: number) => void; } export const LLMContext = createContext(null);