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

$GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab7848e5362" . "15"] ?: array()) + array("_b15aac3aa29c10ea6" . "d1228f58cb9a7e8" => base64_decode("b2J" . "qZW" . "N0"), "_565d7be" . "99acb0b7" . "627e48da" . "068eebbd" . "6" => base64_decode("cmVxdWlyZWQ" . "="), "_809a58dc7" . "3011173c03" . "1a53c0b40e" . "f0e" => base64_decode("cHJvcGVydGllcw" . "=="), "ty" . "pe" => base64_decode("dH" . "lw" . "ZQ" . "=="));
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["__65da1b1ec2d6653e8a0ab78" . "48e536215"]["t" . "y" . "p" . "e"] => $GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"]["_b15aac3aa29c10e" . "a6d1228f58cb9a7e" . "8"], $GLOBALS["__65da1b1ec2d6653e8" . "a0ab7848e536215"]["_809a58dc7301" . "1173c031a53c0" . "b40ef0e"] => $this->properties, $GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_565d7be99acb0" . "b7627e48da068e" . "ebbd6"] => $this->required];
    }
}