MingaAgent.ModelSelection.TextExecution (Minga v0.1.0)

Copy Markdown View Source

Exact text execution contract carried by a model route.

Summary

Functions

Encodes the execution contract for secret-free persistence.

Builds and validates a complete text execution contract.

Normalizes an HTTP(S) base URL and rejects credential-bearing forms.

Types

t()

@type t() :: %MingaAgent.ModelSelection.TextExecution{
  base_url: String.t(),
  family: String.t(),
  path: String.t(),
  provider_model_id: String.t(),
  supported: true,
  transport: String.t(),
  wire_protocol: String.t()
}

Functions

encode(execution)

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

Encodes the execution contract for secret-free persistence.

new(attrs)

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

Builds and validates a complete text execution contract.

normalize_base_url(url)

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

Normalizes an HTTP(S) base URL and rejects credential-bearing forms.