import { useRecoilValue } from 'recoil'; import type { TConversation, TPreset } from 'librechat-data-provider'; import { getDefaultEndpoint, buildDefaultConvo } from '~/utils'; import store from '~/store'; type TDefaultConvo = { conversation: Partial; preset?: Partial | null }; const useDefaultConvo = () => { const endpointsConfig = useRecoilValue(store.endpointsConfig); const modelsConfig = useRecoilValue(store.modelsConfig); const getDefaultConversation = ({ conversation, preset }: TDefaultConvo) => { const endpoint = getDefaultEndpoint({ convoSetup: preset as TPreset, endpointsConfig, }); const models = modelsConfig?.[endpoint] || []; return buildDefaultConvo({ conversation: conversation as TConversation, endpoint, lastConversationSetup: preset as TConversation, models, }); }; return getDefaultConversation; }; export default useDefaultConvo;