Vibe.Model.Resolver (vibe v0.2.2)

Copy Markdown View Source

Fuzzy model resolution with model:effort shorthand.

Resolution order:

  1. Exact provider:model_id match
  2. LLMDB catalog search by substring
  3. model:effort shorthand — split on last colon, resolve model, parse effort

Examples:

resolve("anthropic:claude-sonnet-4")     {:ok, "anthropic:claude-sonnet-4", nil}
resolve("claude-sonnet")                 {:ok, "anthropic:claude-sonnet-4-...", nil}
resolve("claude-sonnet:high")            {:ok, "anthropic:claude-sonnet-4-...", :high}
resolve("sonnet")                        {:ok, "anthropic:claude-sonnet-4-...", nil}

Summary

Types

result()

@type result() ::
  {:ok, String.t(), Vibe.Model.Effort.t() | nil} | {:error, :not_found}

Functions

resolve(spec)

@spec resolve(String.t()) :: result()