Serializable description of a tool contract.
Summary
Types
@type t() :: %CliSubprocessCore.Tool.Descriptor{ description: String.t() | nil, extra: map(), input_schema: CliSubprocessCore.Tool.json_value(), name: String.t(), output_schema: CliSubprocessCore.Tool.json_value() | nil, provider_metadata: %{ optional(String.t()) => CliSubprocessCore.Tool.json_value() } }