import { ref, computed } from 'vue' let hasWarned = false const warnDeprecated = () => { if (hasWarned) return if (process.dev) { console.warn('[useComponentModels] Ce composable est conservé pour compatibilité mais les modèles ont été remplacés par les catégories enrichies de squelette. Utilisez useComponentTypes / useComposants à la place.') } hasWarned = true } const buildUnsupportedResult = () => ({ success: false, error: 'Les modèles de composants ont été retirés. Gérez les squelettes via les catégories et utilisez les requirements machine pour instancier des composants.' }) export function useComponentModels () { warnDeprecated() const componentModelsBuckets = ref({}) const loadingComponentModels = ref(false) const componentModels = computed(() => []) const noLongerSupported = async () => { warnDeprecated() return buildUnsupportedResult() } const getComponentModels = () => componentModels.value const getComponentModelsForType = () => [] const isComponentModelLoading = () => loadingComponentModels.value return { componentModels, componentModelsBuckets, loadingComponentModels, loadComponentModels: noLongerSupported, createComponentModel: noLongerSupported, updateComponentModel: noLongerSupported, deleteComponentModel: noLongerSupported, getComponentModels, getComponentModelsForType, isComponentModelLoading } }