import { create } from 'zustand'; /** * Agent Store - Agent skills, profiles, workspaces */ export const useAgentStore = create((set) => ({ // Selected agent for skill/workspace editing selectedSkillAgentId: null, setSelectedSkillAgentId: (selectedSkillAgentId) => set({ selectedSkillAgentId }), // Agent profiles agentProfilesByAgent: {}, setAgentProfilesByAgent: (agentProfilesByAgent) => set({ agentProfilesByAgent }), // Agent skills agentSkillsByAgent: {}, setAgentSkillsByAgent: (agentSkillsByAgent) => set({ agentSkillsByAgent }), // Skill details skillDetailsByName: {}, setSkillDetailsByName: (skillDetailsByName) => set({ skillDetailsByName }), // Local skill drafts localSkillDraftsByKey: {}, setLocalSkillDraftsByKey: (localSkillDraftsByKey) => set({ localSkillDraftsByKey }), // Loading states isAgentSkillsLoading: false, setIsAgentSkillsLoading: (isAgentSkillsLoading) => set({ isAgentSkillsLoading }), skillDetailLoadingKey: null, setSkillDetailLoadingKey: (skillDetailLoadingKey) => set({ skillDetailLoadingKey }), agentSkillsSavingKey: null, setAgentSkillsSavingKey: (agentSkillsSavingKey) => set({ agentSkillsSavingKey }), agentSkillsFeedback: null, setAgentSkillsFeedback: (agentSkillsFeedback) => set({ agentSkillsFeedback }), // Workspace files selectedWorkspaceFile: null, setSelectedWorkspaceFile: (selectedWorkspaceFile) => set({ selectedWorkspaceFile }), workspaceFilesByAgent: {}, setWorkspaceFilesByAgent: (workspaceFilesByAgent) => set({ workspaceFilesByAgent }), workspaceDraftContent: '', setWorkspaceDraftContent: (workspaceDraftContent) => set({ workspaceDraftContent }), isWorkspaceFileLoading: false, setIsWorkspaceFileLoading: (isWorkspaceFileLoading) => set({ isWorkspaceFileLoading }), workspaceFileSavingKey: null, setWorkspaceFileSavingKey: (workspaceFileSavingKey) => set({ workspaceFileSavingKey }), workspaceFileFeedback: null, setWorkspaceFileFeedback: (workspaceFileFeedback) => set({ workspaceFileFeedback }), }));