Canonical model resolution, validation, and argument payload construction.
Summary
Functions
Builds the resolved payload used by downstream CLI renderers.
Types
@type model() :: CliSubprocessCore.ModelRegistry.Model.t()
@type provider_backend() :: :anthropic | :ollama | atom()
@type selection() :: CliSubprocessCore.ModelRegistry.Selection.t()
Functions
@spec build_arg_payload(atom(), String.t() | nil, keyword()) :: {:ok, CliSubprocessCore.ModelRegistry.Selection.t()} | {:error, resolution_error()}
Builds the resolved payload used by downstream CLI renderers.
@spec normalize_reasoning_effort( atom(), CliSubprocessCore.ModelRegistry.Model.t() | String.t(), term() ) :: {:ok, %{ reasoning: String.t() | nil, reasoning_effort: number() | nil, normalized_reasoning_effort: number() | nil }} | {:error, {:invalid_reasoning_effort, term(), [String.t()] | [number()], atom()}}
@spec resolve(atom(), String.t() | nil, keyword()) :: {:ok, CliSubprocessCore.ModelRegistry.Selection.t()} | {:error, resolution_error()}
@spec validate(atom(), String.t() | atom() | keyword() | map() | nil) :: {:ok, CliSubprocessCore.ModelRegistry.Model.t()} | {:error, resolution_error()}