LibreChat/client/src/hooks/Agents/useAgentsMap.ts
2025-08-13 16:24:26 -04:00

25 lines
718 B
TypeScript

import { useMemo } from 'react';
import { PermissionBits } from 'librechat-data-provider';
import type { TAgentsMap } from 'librechat-data-provider';
import { useListAgentsQuery } from '~/data-provider';
import { mapAgents } from '~/utils';
export default function useAgentsMap({
isAuthenticated,
}: {
isAuthenticated: boolean;
}): TAgentsMap | undefined {
const { data: agentsList = null } = useListAgentsQuery(
{ requiredPermission: PermissionBits.VIEW },
{
select: (res) => mapAgents(res.data),
enabled: isAuthenticated,
},
);
const agents = useMemo<TAgentsMap | undefined>(() => {
return agentsList !== null ? agentsList : undefined;
}, [agentsList]);
return agents;
}