wppaste
WordPress

FunctionDeclaration

Since
0.1.0
Source
wp-includes/php-ai-client/src/Tools/DTO/FunctionDeclaration.php:23
Represents a function declaration for AI models.

Description

This DTO describes a function that can be called by the AI model, including its name, description, and parameter schema.

Compatibility

WordPress
since 0.1.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in 2 of the 5 tracked releases, added in 0.1.0.

Properties · 3

$namestringprivate
$descriptionstringprivate
$parametersWordPress\AiClient\Tools\DTO\array<string,private

Methods · 7

Source code

class FunctionDeclaration extends AbstractDataTransferObject{    public const KEY_NAME = 'name';    public const KEY_DESCRIPTION = 'description';    public const KEY_PARAMETERS = 'parameters';    /**     * @var string The name of the function.     */    private string $name;    /**     * @var string A description of what the function does.     */    private string $description;    /**     * @var array<string, mixed>|null The JSON schema for the function parameters.     */    private ?array $parameters;    /**     * Constructor.     *     * @since 0.1.0     *     * @param string $name The name of the function.     * @param string $description A description of what the function does.     * @param array<string, mixed>|null $parameters The JSON schema for the function parameters.     */    public function __construct(string $name, string $description, ?array $parameters = null)    {        $this->name = $name;        $this->description = $description;        $this->parameters = $parameters;    }    /**     * Gets the function name.     *     * @since 0.1.0     *     * @return string The function name.     */    public function getName(): string    {        return $this->name;    }    /**     * Gets the function description.     *     * @since 0.1.0     *     * @return string The function description.     */    public function getDescription(): string    {        return $this->description;    }    /**     * Gets the function parameters schema.     *     * @since 0.1.0     *     * @return array<string, mixed>|null The parameters schema.     */    public function getParameters(): ?array    {        return $this->parameters;    }    /**     * {@inheritDoc}     *     * @since 0.1.0     */    public static function getJsonSchema(): array    {        return ['type' => 'object', 'properties' => [self::KEY_NAME => ['type' => 'string', 'description' => 'The name of the function.'], self::KEY_DESCRIPTION => ['type' => 'string', 'description' => 'A description of what the function does.'], self::KEY_PARAMETERS => ['type' => 'object', 'description' => 'The JSON schema for the function parameters.', 'additionalProperties' => \true]], 'required' => [self::KEY_NAME, self::KEY_DESCRIPTION]];    }    /**     * {@inheritDoc}     *     * @since 0.1.0     *     * @return FunctionDeclarationArrayShape

Changelog

Introduced in 0.1.0. Unchanged from 7.0.4 through 7.1.0.

  1. 7.0.4
  2. 7.1.0

Signature, return type and hooks compared across 2 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 tag, from src/wp-includes/php-ai-client/src/Tools/DTO/FunctionDeclaration.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.