MingaAgent.ModelSelection.Route (Minga v0.1.0)

Copy Markdown View Source

Persistable exact route authority for a text model.

Summary

Functions

Decodes and validates a persisted route.

Encodes a route for secret-free persistence.

Materializes the route once into the exact inline model ReqLLM executes.

Builds a route using only installed, allowlisted request providers.

Returns the supported request provider atoms.

Types

origin()

@type origin() :: {:catalog, String.t(), String.t()}

request_provider()

@type request_provider() ::
  :anthropic
  | :openai
  | :openai_codex
  | :google
  | :openrouter
  | :groq
  | :mistral
  | :deepseek

t()

@type t() :: %MingaAgent.ModelSelection.Route{
  display_name: String.t(),
  execution: MingaAgent.ModelSelection.TextExecution.t(),
  id: String.t(),
  metadata: map(),
  model_id: String.t(),
  model_provider: String.t(),
  origin: origin(),
  request_provider: request_provider()
}

Functions

decode(data)

@spec decode(map()) :: {:ok, t()} | {:error, :invalid_route}

Decodes and validates a persisted route.

encode(route)

@spec encode(t()) :: map()

Encodes a route for secret-free persistence.

materialize(route)

@spec materialize(t()) :: {:ok, LLMDB.Model.t()} | {:error, term()}

Materializes the route once into the exact inline model ReqLLM executes.

new(attrs)

@spec new(map()) :: {:ok, t()} | {:error, :invalid_route}

Builds a route using only installed, allowlisted request providers.

providers()

@spec providers() :: [request_provider()]

Returns the supported request provider atoms.