getStats method
Get registry statistics
Implementation
RegistryStats getStats() {
final allCapabilities = _capabilities.values.expand((caps) => caps).toSet();
final capabilityCount = <LLMCapability, int>{};
for (final capability in allCapabilities) {
capabilityCount[capability] = _capabilities.values
.where((caps) => caps.contains(capability))
.length;
}
return RegistryStats(
totalProviders: _providers.length,
totalCapabilities: allCapabilities.length,
capabilityDistribution: capabilityCount,
averageCapabilitiesPerProvider: _providers.isEmpty
? 0.0
: _capabilities.values
.map((caps) => caps.length)
.reduce((a, b) => a + b) /
_providers.length,
);
}