@datalayer/core
Version:
**Datalayer Core**
41 lines (40 loc) • 1.25 kB
JavaScript
/*
* 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;