getInstalledModels method
Gets all installed models for a specific type
Implementation
@override
Future<List<String>> getInstalledModels(ModelManagementType type) async {
await _ensureInitialized();
try {
final registry = ServiceRegistry.instance;
final repository = registry.modelRepository;
// Convert ModelManagementType to repo.ModelType (exhaustive — a new
// ModelManagementType value must be mapped here, not silently bucketed
// into embedding).
final modelType = switch (type) {
ModelManagementType.inference => repo.ModelType.inference,
ModelManagementType.embedding => repo.ModelType.embedding,
ModelManagementType.stt => repo.ModelType.stt,
};
// Get all installed models and filter by type
final allModels = await repository.listInstalled();
final files = allModels
.where((info) => info.type == modelType)
.map((info) => info.id)
.toList();
gemmaLog(
'UnifiedModelManager: Found ${files.length} installed files for type $type',
);
return files;
} catch (e) {
gemmaLog(
'UnifiedModelManager: Failed to get installed models for type $type: $e',
);
return [];
}
}