LemonAgent.ModelRuntime.Credentials (lemon_agent v0.1.0)

View Source

Lemon-owned provider credential resolution.

This module owns resolved provider API-key lookup for Lemon callers. It centralizes provider alias handling, secret resolution, OAuth payload decoding, and provider availability checks before LemonAi receives runtime options.

Summary

Functions

build_get_api_key(providers_map)

@spec build_get_api_key(map() | nil) :: (atom() | String.t() -> String.t() | nil)

provider_has_credentials?(provider, providers_map_or_cfg, opts \\ [])

@spec provider_has_credentials?(atom() | String.t(), map() | nil, keyword()) ::
  boolean()

resolve_provider_api_key(provider, providers_or_cfg, opts \\ [])

@spec resolve_provider_api_key(atom() | String.t(), map() | nil, keyword()) ::
  String.t() | nil

resolve_secret_api_key(secret_name, opts \\ [])

@spec resolve_secret_api_key(
  String.t(),
  keyword()
) :: String.t() | nil