CliSubprocessCore.Tool.Request (CliSubprocessCore v0.2.0)

Copy Markdown View Source

Serializable tool request data normalized by the core.

Summary

Types

t()

@type t() :: %CliSubprocessCore.Tool.Request{
  extra: map(),
  input: %{optional(String.t()) => CliSubprocessCore.Tool.json_value()},
  provider_metadata: %{
    optional(String.t()) => CliSubprocessCore.Tool.json_value()
  },
  tool_call_id: String.t(),
  tool_name: String.t()
}

Functions

new(attrs \\ [])

@spec new(keyword() | map() | t()) :: t()

parse(request)

@spec parse(keyword() | map() | t()) ::
  {:ok, t()}
  | {:error,
     {:invalid_tool, module(), [CliSubprocessCore.Tool.validation_error()]}}

parse!(attrs)

@spec parse!(keyword() | map() | t()) :: t()

to_map(request)

@spec to_map(t()) :: map()