Title: 0.4.0 | Developer.WordPress.org

---

# New and updated in 0.4.0

Functions

Hooks

Classes

Methods

 * method[ProviderRegistry::isRegisteredClassName()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredclassname/)
 * Checks if the given value is a registered provider class name.
 * Used by [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredclassname/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredclassname/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:488](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L488-L491)
 * method[ProviderRegistry::isRegisteredId()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredid/)
 * Checks if the given value is a registered provider ID.
 * Used by [4 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredid/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-providerregistry/isregisteredid/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/ProviderRegistry.php:500](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/ProviderRegistry.php#L500-L503)
 * method[ModelConfig::validateMediaOrientationAspectRatioCompatibility()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-models-dto-modelconfig/validatemediaorientationaspectratiocompatibility/)
 * Validates that the given media orientation and aspect ratio values do not conflict
   with each other.
 * Used by [2 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-models-dto-modelconfig/validatemediaorientationaspectratiocompatibility/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-models-dto-modelconfig/validatemediaorientationaspectratiocompatibility/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/Models/DTO/ModelConfig.php:650](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/Models/DTO/ModelConfig.php#L650-L662)
 * class[ErrorMessageExtractor](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-util-errormessageextractor/)
 * Utility for extracting error messages from API response data.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-util-errormessageextractor/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-util-errormessageextractor/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/Http/Util/ErrorMessageExtractor.php:15](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/Http/Util/ErrorMessageExtractor.php#L15-L53)
 * class[RequestAuthenticationMethod](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-enums-requestauthenticationmethod/)
 * Enum for request authentication methods.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-enums-requestauthenticationmethod/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-enums-requestauthenticationmethod/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/Http/Enums/RequestAuthenticationMethod.php:18](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/Http/Enums/RequestAuthenticationMethod.php#L18-L39)
 * method[RequestAuthenticationMethod::getImplementationClass()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-enums-requestauthenticationmethod/getimplementationclass/)
 * Gets the implementation class for the authentication method.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-enums-requestauthenticationmethod/getimplementationclass/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-http-enums-requestauthenticationmethod/getimplementationclass/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/Http/Enums/RequestAuthenticationMethod.php:33](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/Http/Enums/RequestAuthenticationMethod.php#L33-L38)
 * method[ProviderMetadata::getAuthenticationMethod()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-dto-providermetadata/getauthenticationmethod/)
 * Gets the authentication method.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-dto-providermetadata/getauthenticationmethod/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-providers-dto-providermetadata/getauthenticationmethod/#uses)
   | Source: [wp-includes/php-ai-client/src/Providers/DTO/ProviderMetadata.php:164](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Providers/DTO/ProviderMetadata.php#L164-L167)
 * method[BeforeGenerateResultEvent::getModel()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getmodel/)
 * Gets the model that will process the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getmodel/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getmodel/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php:65](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php#L65-L68)
 * method[BeforeGenerateResultEvent::getCapability()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getcapability/)
 * Gets the capability being used for generation.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getcapability/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getcapability/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php:76](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php#L76-L79)
 * method[AfterGenerateResultEvent::getModel()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmodel/)
 * Gets the model that processed the prompt.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmodel/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmodel/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php:71](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L71-L74)
 * method[AfterGenerateResultEvent::getCapability()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getcapability/)
 * Gets the capability that was used for generation.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getcapability/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getcapability/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php:82](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L82-L85)
 * method[AfterGenerateResultEvent::getResult()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getresult/)
 * Gets the result from the model.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getresult/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getresult/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php:93](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L93-L96)
 * class[BeforeGenerateResultEvent](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/)
 * Event dispatched before a prompt is sent to the AI model.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php:18](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php#L18-L97)
 * method[BeforeGenerateResultEvent::__construct()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/__construct/)
 * Constructor.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/__construct/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/__construct/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php:41](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php#L41-L46)
 * method[BeforeGenerateResultEvent::getMessages()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getmessages/)
 * Gets the messages to be sent to the model.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getmessages/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-beforegenerateresultevent/getmessages/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php:54](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/BeforeGenerateResultEvent.php#L54-L57)
 * method[AfterGenerateResultEvent::__construct()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/__construct/)
 * Constructor.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/__construct/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/__construct/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php:46](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L46-L52)
 * method[AfterGenerateResultEvent::getMessages()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmessages/)
 * Gets the messages that were sent to the model.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmessages/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/getmessages/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php:60](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L60-L63)
 * class[AfterGenerateResultEvent](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/)
 * Event dispatched after a prompt has been sent to the AI model and a response 
   received.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-events-aftergenerateresultevent/#uses)
   | Source: [wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php:18](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Events/AfterGenerateResultEvent.php#L18-L115)
 * method[PromptBuilder::dispatchEvent()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/dispatchevent/)
 * Dispatches an event if an event dispatcher is registered.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/dispatchevent/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/dispatchevent/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:1460](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L1460-L1465)
 * method[PromptBuilder::executeModelGeneration()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/executemodelgeneration/)
 * Executes the model generation based on capability.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/executemodelgeneration/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-builders-promptbuilder/executemodelgeneration/#uses)
   | Source: [wp-includes/php-ai-client/src/Builders/PromptBuilder.php:849](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/Builders/PromptBuilder.php#L849-L883)
 * method[AiClient::setEventDispatcher()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/seteventdispatcher/)
 * Sets the event dispatcher for prompt lifecycle events.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/seteventdispatcher/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/seteventdispatcher/#uses)
   | Source: [wp-includes/php-ai-client/src/AiClient.php:125](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/AiClient.php#L125-L128)
 * method[AiClient::getEventDispatcher()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/geteventdispatcher/)
 * Gets the event dispatcher for prompt lifecycle events.
 * Used by [1 function](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/geteventdispatcher/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/geteventdispatcher/#uses)
   | Source: [wp-includes/php-ai-client/src/AiClient.php:136](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/AiClient.php#L136-L139)
 * method[AiClient::setCache()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/setcache/)
 * Sets the PSR-16 cache for storing and retrieving cached data.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/setcache/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/setcache/#uses)
   | Source: [wp-includes/php-ai-client/src/AiClient.php:151](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/AiClient.php#L151-L154)
 * method[AiClient::getCache()](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/getcache/)
 * Gets the PSR-16 cache instance.
 * Used by [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/getcache/#used-by)
   | Uses [0 functions](https://developer.wordpress.org/reference/classes/wordpress-aiclient-aiclient/getcache/#uses)
   | Source: [wp-includes/php-ai-client/src/AiClient.php:162](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-includes/php-ai-client/src/AiClient.php#L162-L165)