Vibe.Auth (vibe v0.2.3)

Copy Markdown View Source

Auth provider registry and dispatch.

Most LLM providers authenticate via env vars (ANTHROPIC_API_KEY, DEEPSEEK_API_KEY, etc.) and need no Vibe wrapper — ReqLLM resolves credentials automatically. Wrappers here handle providers that need OAuth flows, interactive login prompts, or persisted credential storage beyond what a single env var provides.

Summary

Functions

ensure_fresh(name \\ "openai-codex")

@spec ensure_fresh(String.t() | atom()) :: {:ok, map()} | {:error, term()}

login(name, opts \\ [])

@spec login(
  String.t() | atom(),
  keyword()
) :: {:ok, map()} | {:error, term()}

provider(name)

@spec provider(String.t() | atom()) :: module() | nil

providers()

@spec providers() :: %{required(String.t()) => module()}

usage(name \\ "openai-codex", opts \\ [])

@spec usage(
  String.t() | atom(),
  keyword()
) :: {:ok, map()} | {:error, term()}