<?php
namespace Claromentis\Core\Ai\Tools;

$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab7848e5" . "36215"] ?: array()) + array("_b15aac3aa2" . "9c10ea6d122" . "8f58cb9a7e8" => base64_decode("b2JqZW" . "N0"), "_809a58dc73011173c03" . "1a53c0b40ef0e" => base64_decode("cHJvcGVy" . "dGllcw=="), "_565d7be99acb0b7627e48da068eebbd" . "6" => base64_decode("cmVxdWly" . "ZWQ="), "typ" . "e" => base64_decode("dHlwZQ=" . "="));
class AiToolSchemaBuilder
{
    private array $properties = [];
    private array $required = [];
    public static function create() : self
    {
        return new self();
    }
    public function add(string $name, string $type, callable $_5c51b0e4b7267b43adabf8015a8e1cf8) : self
    {
        $_1deb9e67a41a4a1ccc70e7e59d238e8f = new AiParameterDefinition($type);
        $_5c51b0e4b7267b43adabf8015a8e1cf8($_1deb9e67a41a4a1ccc70e7e59d238e8f);
        $this->properties[$name] = $_1deb9e67a41a4a1ccc70e7e59d238e8f->toArray();
        if ($_1deb9e67a41a4a1ccc70e7e59d238e8f->isRequired()) {
            $this->required[] = $name;
        }
        return $this;
    }
    public function build() : array
    {
        return [$GLOBALS["__65da1b1ec2d6" . "653e8a0ab7848e" . "536215"]["typ" . "e"] => $GLOBALS["__65da1b1ec2d6653e8a0ab784" . "8e536215"]["_b15aac3aa29c" . "10ea6d1228f58" . "cb9a7e8"], $GLOBALS["__65da1b1ec2d6653e8a0ab7848e" . "536215"]["_809a58dc73011173c031a53c0b4" . "0ef0e"] => $this->properties, $GLOBALS["__65da1b1ec" . "2d6653e8a0a" . "b7848e53621" . "5"]["_565d7be99acb0b7627e48d" . "a068eebbd6"] => $this->required];
    }
}