import { create } from 'zustand'
import { createChatSlice, type ChatSlice } from './chat-store'
import { createAgentSlice, type AgentSlice } from './agent-store'
import { createSettingsSlice, type SettingsSlice } from './settings-store'
import { createUISlice, type UISlice } from './ui-store'
import { createConnectionSlice, type ConnectionSlice } from './connection-store'
export type StoreState = ChatSlice & AgentSlice & ConnectionSlice & SettingsSlice & UISlice
export const useChatStore = create<StoreState>()((...a) => ({
...createChatSlice(...a),
...createAgentSlice(...a),
...createConnectionSlice(...a),
...createSettingsSlice(...a),
...createUISlice(...a),
}))