Codex.Models (Codex SDK v0.16.1)

Copy Markdown View Source

Codex model metadata projected from cli_subprocess_core.

Summary

Functions

Coerces a reasoning effort to the nearest supported value for a model.

Returns the SDK default model from the shared core registry.

Returns the default reasoning effort for the given model (or the default model).

Returns the description for a model, if known.

Returns the display name for a model, if known.

Returns the upgrade information for a model, if available.

Returns the list of supported models visible for the inferred auth mode.

Returns models visible in the model picker.

Parses a reasoning effort value into its canonical atom form.

Renders a normalized reasoning effort as the CLI-friendly string value.

Lists the valid reasoning effort values understood by the SDK.

Returns true if a model is supported via API key authentication.

Returns the supported reasoning efforts for a model.

Returns true when the given model supports tool execution.

Types

client_version()

@type client_version() :: {non_neg_integer(), non_neg_integer(), non_neg_integer()}

model_preset()

@type model_preset() :: %{
  id: String.t(),
  model: String.t(),
  display_name: String.t(),
  description: String.t(),
  default_reasoning_effort: reasoning_effort(),
  supported_reasoning_efforts: [reasoning_effort_preset()],
  is_default: boolean(),
  upgrade: model_upgrade() | nil,
  show_in_picker: boolean(),
  supported_in_api: boolean(),
  family: String.t() | nil
}

model_upgrade()

@type model_upgrade() :: %{
  id: String.t(),
  reasoning_effort_mapping:
    %{required(reasoning_effort()) => reasoning_effort()} | nil,
  migration_config_key: String.t(),
  model_link: String.t() | nil,
  upgrade_copy: String.t() | nil
}

reasoning_effort()

@type reasoning_effort() :: :none | :minimal | :low | :medium | :high | :xhigh

reasoning_effort_preset()

@type reasoning_effort_preset() :: %{
  effort: reasoning_effort(),
  description: String.t()
}

Functions

coerce_reasoning_effort(model, effort)

@spec coerce_reasoning_effort(String.t() | atom() | nil, reasoning_effort() | nil) ::
  reasoning_effort() | nil

Coerces a reasoning effort to the nearest supported value for a model.

Returns the input effort unchanged when the model is unknown or already supports it.

default_model(auth_mode \\ Auth.infer_auth_mode())

@spec default_model(:api | :chatgpt) :: String.t()

Returns the SDK default model from the shared core registry.

default_reasoning_effort(model \\ default_model())

@spec default_reasoning_effort(String.t() | atom() | nil) :: reasoning_effort() | nil

Returns the default reasoning effort for the given model (or the default model).

description(model_id)

@spec description(String.t() | atom()) :: String.t() | nil

Returns the description for a model, if known.

display_name(model_id)

@spec display_name(String.t() | atom()) :: String.t() | nil

Returns the display name for a model, if known.

get_upgrade(model_id)

@spec get_upgrade(String.t()) :: model_upgrade() | nil

Returns the upgrade information for a model, if available.

list()

@spec list() :: [model_preset()]

Returns the list of supported models visible for the inferred auth mode.

list_visible(auth_mode \\ :api, opts \\ [])

@spec list_visible(
  :api | :chatgpt,
  keyword()
) :: [model_preset()]

Returns models visible in the model picker.

normalize_reasoning_effort(value)

@spec normalize_reasoning_effort(String.t() | atom() | nil) ::
  {:ok, reasoning_effort() | nil} | {:error, term()}

Parses a reasoning effort value into its canonical atom form.

reasoning_effort_to_string(effort)

@spec reasoning_effort_to_string(reasoning_effort()) :: String.t()

Renders a normalized reasoning effort as the CLI-friendly string value.

reasoning_efforts()

@spec reasoning_efforts() :: [reasoning_effort(), ...]

Lists the valid reasoning effort values understood by the SDK.

supported_in_api?(model_id)

@spec supported_in_api?(String.t()) :: boolean()

Returns true if a model is supported via API key authentication.

supported_reasoning_efforts(model_id)

@spec supported_reasoning_efforts(String.t()) :: [reasoning_effort_preset()]

Returns the supported reasoning efforts for a model.

tool_enabled?(model)

@spec tool_enabled?(String.t() | atom() | nil) :: boolean()

Returns true when the given model supports tool execution.