SIGN IN SIGN UP

AI: Validate filtered default request timeout in `WP_AI_Client_Prompt_Builder`.

This checks that the return value of the `wp_ai_client_default_request_timeout` filter is a non-negative number before passing it to `RequestOptions`. If the filtered value is invalid, it is discarded in favor of the original default of `30.0` and a `_doing_it_wrong()` notice is issued. Without this check, a fatal error would ensue from the exception thrown in `\WordPress\AiClient\Providers\Http\DTO\RequestOptions::validateTimeout()`.

The following static analysis issues are addressed:

* Use `float` instead of `int` for the `wp_ai_client_default_request_timeout` filter parameter.
* Add missing PHP imports for `Message` and `MessagePart` in the PHPDoc for `wp_ai_client_prompt()`.
* Add PHP return type hints for `wp_ai_client_prompt()` and `WP_AI_Client_Cache::getMultiple()`.
* Use native property type hints in `WP_AI_Client_HTTP_Client`.

Developed in https://github.com/WordPress/wordpress-develop/pull/11596

Props westonruter, justlevine, flixos90, khushdoms, darshitrajyaguru97, adrmf25, jarodortegaaraya, tusharaddweb, gaurangsondagar.
Fixes #65094.


git-svn-id: https://develop.svn.wordpress.org/trunk@62255 602fd350-edb4-49c9-b593-d223f7449a82
W
Weston Ruter committed
17017058962ca25ad57ab52e3cc43490cb4bf7d5
Parent: c9bdbe0