Current section

Files

Jump to
oapi_open_ai lib schemas response output message.ex
Raw

lib/schemas/response/output/message.ex

defmodule OpenAi.Response.Output.Message do
@moduledoc """
Provides struct and type for a Response.Output.Message
"""
@type t :: %__MODULE__{
content: [OpenAi.Response.Output.TextContent.t() | OpenAi.Response.Refusal.Content.t()],
id: String.t(),
role: String.t(),
status: String.t(),
type: String.t()
}
defstruct [:content, :id, :role, :status, :type]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
content: [
union: [{OpenAi.Response.Output.TextContent, :t}, {OpenAi.Response.Refusal.Content, :t}]
],
id: {:string, :generic},
role: {:const, "assistant"},
status: {:enum, ["in_progress", "completed", "incomplete"]},
type: {:const, "message"}
]
end
end