CliSubprocessCore.ModelRegistry.Model (CliSubprocessCore v0.1.0)

Copy Markdown View Source

Canonical model metadata loaded by CliSubprocessCore.ModelRegistry.

Summary

Types

t()

@type t() :: %CliSubprocessCore.ModelRegistry.Model{
  aliases: [String.t()],
  catalog_version: String.t() | nil,
  default: boolean(),
  default_reasoning_effort: String.t() | nil,
  extra: map(),
  family: String.t() | nil,
  id: String.t(),
  metadata: map(),
  provider: atom(),
  reasoning_efforts: %{required(String.t()) => number() | nil},
  visibility: visibility()
}

visibility()

@type visibility() :: :public | :private | :internal | :restricted

Functions

matches_id_or_alias?(model, requested)

@spec matches_id_or_alias?(t(), String.t()) :: boolean()

new(provider, attrs)

@spec new(atom(), map()) ::
  {:ok, t()} | {:error, {:model_unavailable, atom(), term()}}

parse(provider, attrs)

@spec parse(atom(), keyword() | map()) ::
  {:ok, t()} | {:error, {:model_unavailable, atom(), term()}}

resolve_id(model, requested)

@spec resolve_id(t(), String.t()) :: {:ok, String.t()} | :error

schema()

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

to_map(model)

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