import { useGetEndpointsQuery, useGetModelsQuery } from 'librechat-data-provider/react-query'; import type { TConversation, TPreset, TEndpointsConfig, TModelsConfig, } from 'librechat-data-provider'; import { getDefaultEndpoint, buildDefaultConvo } from '~/utils'; type TDefaultConvo = { conversation: Partial; preset?: Partial | null }; const useDefaultConvo = () => { const { data: endpointsConfig = {} as TEndpointsConfig } = useGetEndpointsQuery(); const { data: modelsConfig = {} as TModelsConfig } = useGetModelsQuery(); 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;