UNPKG

@datalayer/core

Version:
41 lines (40 loc) 1.25 kB
/* * Copyright (c) 2023-2025 Datalayer, Inc. * Distributed under the terms of the Modified BSD License. */ import { createStore } from 'zustand/vanilla'; import { useStore } from 'zustand'; export const aiAgentStore = createStore(set => ({ aiAgents: [], addAIAgent: (aiAgent) => { set((state) => { if (!state.aiAgents.includes(aiAgent)) { return { aiAgents: state.aiAgents.concat([aiAgent]) }; } else { return {}; } }); }, deleteAIAgent: (documentId) => { set((state) => { return { aiAgents: state.aiAgents.filter(a => a.documentId === documentId) }; }); }, updateAIAgent: (documentId, runtimeId) => { set((state) => { const index = state.aiAgents.findIndex(aiAgent => aiAgent.documentId === documentId); if (index >= 0) { state.aiAgents[index].runtimeId = runtimeId; return { aiAgents: [...state.aiAgents] }; } else { return {}; } }); } })); export function useAIAgentStore(selector) { return useStore(aiAgentStore, selector); } export default useAIAgentStore;