<?php
namespace App\AI\Api\Claude\Messages; class Tool implements \JsonSerializable { public $name; public $description; public $input_schema; public $strict; public $cache_control; public function __construct(string $name, string $description, bool $strict) { $this->name = $name; $this->description = $description; $this->strict = $strict; $this->input_schema = new \App\AI\Api\Claude\Messages\InputSchema(); } public function setInputSchema(\App\AI\Api\Claude\Messages\InputSchema $schemaObj) { $this->input_schema = $schemaObj; } public function jsonSerialize(): mixed { if (is_null($this->description)) { unset($this->description); } if (is_null($this->strict)) { unset($this->strict); } return $this; } } 