Current section

Files

Jump to
oapi_open_ai lib schemas usage time_bucket.ex
Raw

lib/schemas/usage/time_bucket.ex

defmodule OpenAi.Usage.TimeBucket do
@moduledoc """
Provides struct and type for a Usage.TimeBucket
"""
@type t :: %__MODULE__{
end_time: integer,
object: String.t(),
result: [
OpenAi.Usage.AudioSpeeches.Result.t()
| OpenAi.Usage.AudioTranscriptions.Result.t()
| OpenAi.Usage.CodeInterpreterSessions.Result.t()
| OpenAi.Usage.Completions.Result.t()
| OpenAi.Usage.Costs.Result.t()
| OpenAi.Usage.Embeddings.Result.t()
| OpenAi.Usage.Image.Result.t()
| OpenAi.Usage.Moderations.Result.t()
| OpenAi.Usage.VectorStore.Result.t()
],
start_time: integer
}
defstruct [:end_time, :object, :result, :start_time]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
end_time: :integer,
object: {:const, "bucket"},
result: [
union: [
{OpenAi.Usage.AudioSpeeches.Result, :t},
{OpenAi.Usage.AudioTranscriptions.Result, :t},
{OpenAi.Usage.CodeInterpreterSessions.Result, :t},
{OpenAi.Usage.Completions.Result, :t},
{OpenAi.Usage.Costs.Result, :t},
{OpenAi.Usage.Embeddings.Result, :t},
{OpenAi.Usage.Image.Result, :t},
{OpenAi.Usage.Moderations.Result, :t},
{OpenAi.Usage.VectorStore.Result, :t}
]
],
start_time: :integer
]
end
end