[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/php-ai-client/src/Providers/Contracts/ -> ProviderInterface.php (source)

   1  <?php
   2  
   3  declare (strict_types=1);
   4  namespace WordPress\AiClient\Providers\Contracts;
   5  
   6  use WordPress\AiClient\Common\Exception\InvalidArgumentException;
   7  use WordPress\AiClient\Providers\DTO\ProviderMetadata;
   8  use WordPress\AiClient\Providers\Models\Contracts\ModelInterface;
   9  use WordPress\AiClient\Providers\Models\DTO\ModelConfig;
  10  /**
  11   * Interface for AI providers.
  12   *
  13   * Providers represent AI services (Google, OpenAI, Anthropic, etc.)
  14   * and provide access to models, metadata, and availability information.
  15   *
  16   * @since 0.1.0
  17   */
  18  interface ProviderInterface
  19  {
  20      /**
  21       * Gets provider metadata.
  22       *
  23       * @since 0.1.0
  24       *
  25       * @return ProviderMetadata Provider metadata.
  26       */
  27      public static function metadata(): ProviderMetadata;
  28      /**
  29       * Creates a model instance.
  30       *
  31       * @since 0.1.0
  32       *
  33       * @param string $modelId Model identifier.
  34       * @param ?ModelConfig $modelConfig Model configuration.
  35       * @return ModelInterface Model instance.
  36       * @throws InvalidArgumentException If model not found or configuration invalid.
  37       */
  38      public static function model(string $modelId, ?ModelConfig $modelConfig = null): ModelInterface;
  39      /**
  40       * Gets provider availability checker.
  41       *
  42       * @since 0.1.0
  43       *
  44       * @return ProviderAvailabilityInterface Provider availability checker.
  45       */
  46      public static function availability(): \WordPress\AiClient\Providers\Contracts\ProviderAvailabilityInterface;
  47      /**
  48       * Gets model metadata directory.
  49       *
  50       * @since 0.1.0
  51       *
  52       * @return ModelMetadataDirectoryInterface Model metadata directory.
  53       */
  54      public static function modelMetadataDirectory(): \WordPress\AiClient\Providers\Contracts\ModelMetadataDirectoryInterface;
  55  }


Generated : Sat Jun 13 09:38:55 2026 Cross-referenced by PHPXref