| 2 | import { Message, TokenUsage } from '@/types'; |
| 3 | |
| 4 | interface ChatState { |
| 5 | messages: Message[]; |
| 6 | streamingText: string; |
| 7 | isStreaming: boolean; |
| 8 | sessionUsage: Record<string, TokenUsage>; |
| 9 | setMessages: (messages: Message[]) => void; |
| 10 | addMessage: (message: Message) => void; |
| 11 | appendStreamToken: (token: string) => void; |
| 12 | setStreaming: (isStreaming: boolean) => void; |
| 13 | clearStreaming: () => void; |
| 14 | addTokenUsage: (sessionId: string, usage: TokenUsage) => void; |
| 15 | clearSessionUsage: (sessionId: string) => void; |
| 16 | } |
| 17 | |
| 18 | export const useChatStore = create<ChatState>((set) => ({ |
| 19 | messages: [], |
nothing calls this directly
no outgoing calls
no test coverage detected