CliSubprocessCore.ModelRegistry.Selection (CliSubprocessCore v0.1.0)

Copy Markdown View Source

Resolved model selection returned by CliSubprocessCore.ModelRegistry.

Summary

Types

model_source()

@type model_source() :: :catalog | :external

resolution_source()

@type resolution_source() :: :explicit | :env | :default | :remote

t()

@type t() :: %CliSubprocessCore.ModelRegistry.Selection{
  backend_metadata: map(),
  catalog_version: String.t() | nil,
  env_overrides: map(),
  errors: [term()],
  extra: map(),
  model_family: String.t() | nil,
  model_source: model_source(),
  normalized_reasoning_effort: number() | nil,
  provider: atom(),
  provider_backend: atom() | nil,
  reasoning: String.t() | nil,
  reasoning_effort: number() | nil,
  requested_model: String.t() | nil,
  resolution_source: resolution_source() | nil,
  resolved_model: String.t() | nil,
  settings_patch: map(),
  visibility: :public | :private | :internal | :restricted
}

Functions

new(attrs)

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

parse(selection)

@spec parse(keyword() | map() | t()) ::
  {:ok, t()}
  | {:error, {:invalid_selection, CliSubprocessCore.Schema.error_detail()}}

parse!(selection)

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

schema()

@spec schema() :: Zoi.schema()

to_map(selection)

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