MCPcopy Index your code
hub / github.com/simstudioai/sim / useKnowledgeBasesList

Function useKnowledgeBasesList

apps/sim/hooks/kb/use-knowledge.ts:180–226  ·  view source on GitHub ↗
(
  workspaceId?: string,
  options?: {
    enabled?: boolean
  }
)

Source from the content-addressed store, hash-verified

178 * Uses React Query as single source of truth
179 */
180export function useKnowledgeBasesList(
181 workspaceId?: string,
182 options?: {
183 enabled?: boolean
184 }
185) {
186 const queryClient = useQueryClient()
187 const query = useKnowledgeBasesQuery(workspaceId, { enabled: options?.enabled ?? true })
188
189 const removeKnowledgeBase = useCallback(
190 (knowledgeBaseId: string) => {
191 queryClient.setQueryData<KnowledgeBaseData[]>(
192 knowledgeKeys.list(workspaceId),
193 (previous) => previous?.filter((kb) => kb.id !== knowledgeBaseId) ?? []
194 )
195 },
196 [queryClient, workspaceId]
197 )
198
199 const updateKnowledgeBase = useCallback(
200 (id: string, updates: Partial<KnowledgeBaseData>) => {
201 queryClient.setQueryData<KnowledgeBaseData[]>(
202 knowledgeKeys.list(workspaceId),
203 (previous) => previous?.map((kb) => (kb.id === id ? { ...kb, ...updates } : kb)) ?? []
204 )
205 queryClient.setQueryData<KnowledgeBaseData>(knowledgeKeys.detail(id), (previous) =>
206 previous ? { ...previous, ...updates } : previous
207 )
208 },
209 [queryClient, workspaceId]
210 )
211
212 const refreshList = useCallback(async () => {
213 await queryClient.invalidateQueries({ queryKey: knowledgeKeys.list(workspaceId) })
214 }, [queryClient, workspaceId])
215
216 return {
217 knowledgeBases: query.data ?? [],
218 isLoading: query.isLoading,
219 isFetching: query.isFetching,
220 isPlaceholderData: query.isPlaceholderData,
221 error: query.error instanceof Error ? query.error.message : null,
222 refreshList,
223 removeKnowledgeBase,
224 updateKnowledgeBase,
225 }
226}
227
228/**
229 * Hook to manage chunks for a specific document

Callers 3

KnowledgeFunction · 0.90
KnowledgeBaseFunction · 0.90
KnowledgeBaseSelectorFunction · 0.90

Calls 1

useKnowledgeBasesQueryFunction · 0.90

Tested by

no test coverage detected