WordPress\AiClient\Providers

ProviderRegistry::findModelsMetadataForSupportpublicWP 0.1.0

Finds models across all available providers that support the given requirements.

Method of the class: ProviderRegistry{}

No Hooks.

Returns

list. List of provider models metadata that match requirements.

Usage

$ProviderRegistry = new ProviderRegistry();
$ProviderRegistry->findModelsMetadataForSupport( $modelRequirements ): array;
$modelRequirements(ModelRequirements) (required)
The requirements to match against.

Changelog

Since 0.1.0 Introduced.

ProviderRegistry::findModelsMetadataForSupport() code WP 7.0

public function findModelsMetadataForSupport(ModelRequirements $modelRequirements): array
{
    $results = [];
    foreach ($this->registeredIdsToClassNames as $providerId => $className) {
        $providerResults = $this->findProviderModelsMetadataForSupport($providerId, $modelRequirements);
        if (!empty($providerResults)) {
            // Use static method from ProviderInterface
            /** @var class-string<ProviderInterface> $className */
            $providerMetadata = $className::metadata();
            $results[] = new ProviderModelsMetadata($providerMetadata, $providerResults);
        }
    }
    return $results;
}