Current section

Files

Jump to
opencode_sdk lib opencode generated session_message_assistant_tool.ex
Raw

lib/opencode/generated/session_message_assistant_tool.ex

defmodule OpenCode.Generated.SessionMessageAssistantTool do
@moduledoc """
Provides struct and type for a SessionMessageAssistantTool
"""
@type t :: %__MODULE__{
id: String.t(),
name: String.t(),
provider: OpenCode.Generated.SessionMessageAssistantToolProvider.t() | nil,
state:
OpenCode.Generated.SessionMessageToolStateCompleted.t()
| OpenCode.Generated.SessionMessageToolStateError.t()
| OpenCode.Generated.SessionMessageToolStatePending.t()
| OpenCode.Generated.SessionMessageToolStateRunning.t(),
time: OpenCode.Generated.SessionMessageAssistantToolTime.t(),
type: String.t()
}
defstruct [:id, :name, :provider, :state, :time, :type]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
id: :string,
name: :string,
provider: {OpenCode.Generated.SessionMessageAssistantToolProvider, :t},
state:
{:union,
[
{OpenCode.Generated.SessionMessageToolStateCompleted, :t},
{OpenCode.Generated.SessionMessageToolStateError, :t},
{OpenCode.Generated.SessionMessageToolStatePending, :t},
{OpenCode.Generated.SessionMessageToolStateRunning, :t}
]},
time: {OpenCode.Generated.SessionMessageAssistantToolTime, :t},
type: {:const, "tool"}
]
end
end