import { useEffect, useState } from 'react' import { ExtensionType, ModelExtension } from '@janhq/core' import { ModelCatalog } from '@janhq/core' import { dummyModel } from '@/utils/dummy' import { extensionManager } from '@/extension/ExtensionManager' export async function getConfiguredModels(): Promise { return ( extensionManager .get(ExtensionType.Model) ?.getConfiguredModels() ?? [] ) } export function useGetConfiguredModels() { const [loading, setLoading] = useState(false) const [models, setModels] = useState([]) async function getConfiguredModels(): Promise { const models = await extensionManager .get(ExtensionType.Model) ?.getConfiguredModels() return models ?? [] } async function fetchModels() { setLoading(true) let models = await getConfiguredModels() if (process.env.NODE_ENV === 'development') { models = [dummyModel, ...models] } setLoading(false) setModels(models) } useEffect(() => { fetchModels() }, []) return { loading, models } }