WordPress\AiClient\Providers
ProviderRegistry::findProviderModelsMetadataForSupport
Finds models within a specific available provider that support the given requirements.
Method of the class: ProviderRegistry{}
No Hooks.
Returns
list
Usage
$ProviderRegistry = new ProviderRegistry(); $ProviderRegistry->findProviderModelsMetadataForSupport( $idOrClassName, $modelRequirements ): array;
- $idOrClassName(string) (required)
- The provider ID or class name.
- $modelRequirements(ModelRequirements) (required)
- The requirements to match against.
Changelog
| Since 0.1.0 | Introduced. |
ProviderRegistry::findProviderModelsMetadataForSupport() ProviderRegistry::findProviderModelsMetadataForSupport code WP 7.0
public function findProviderModelsMetadataForSupport(string $idOrClassName, ModelRequirements $modelRequirements): array
{
$className = $this->resolveProviderClassName($idOrClassName);
// If the provider is not configured, there is no way to use it, so it is considered unavailable.
if (!$this->isProviderConfigured($className)) {
return [];
}
$modelMetadataDirectory = $className::modelMetadataDirectory();
// Filter models that meet requirements
$matchingModels = [];
foreach ($modelMetadataDirectory->listModelMetadata() as $modelMetadata) {
if ($modelRequirements->areMetBy($modelMetadata)) {
$matchingModels[] = $modelMetadata;
}
}
return $matchingModels;
}