GenAI.Tool.Schema.String (GenAI Core v0.2.0)

Represents a schema for string types, converting JSON schema attributes to Elixir struct fields.

Link to this section Summary

Functions

Convert Json map to a GenAI.Tool.Schema.String struct, handling naming conventions.

Check if json is of type

Link to this section Types

@type t() :: %GenAI.Tool.Schema.String{
  description: String.t() | nil,
  format: String.t() | nil,
  max_length: integer() | nil,
  min_length: integer() | nil,
  pattern: String.t() | nil,
  type: String.t()
}

Link to this section Functions

Link to this function

from_json(attributes)

@spec from_json(map()) :: t()

Convert Json map to a GenAI.Tool.Schema.String struct, handling naming conventions.

examples

Examples

is-of-type

Is of Type

iex> GenAI.Tool.Schema.String.from_json(%{"type" => "string", "description" => "A string value"})
{:ok, %GenAI.Tool.Schema.String{type: "string", description: "A string value"}}

not-of-type

Not of Type

iex> GenAI.Tool.Schema.String.from_json(%{"type" => "number"})
{:error, :unrecognized_type}

Check if json is of type

examples

Examples

is-of-type

Is of Type

iex> GenAI.Tool.Schema.String.is_type(%{"type" => "string"})
true

not-of-type

Not of Type

iex> GenAI.Tool.Schema.String.is_type(%{"type" => "number"})
false