LemonAi.Auth.AnthropicOAuth (lemon_ai v0.1.0)

View Source

Anthropic OAuth helpers for Claude subscription-backed access.

Summary

Types

login_opt()

@type login_opt() ::
  {:on_progress, (String.t() -> any())}
  | {:on_prompt, (String.t() | map() -> String.t() | charlist() | nil)}
  | {:persist_secret, (String.t(), String.t() -> any())}

oauth_secret()

@type oauth_secret() :: %{required(String.t()) => String.t() | integer() | nil}

Functions

decode_secret(secret_value)

@spec decode_secret(String.t()) :: {:ok, oauth_secret()} | :not_oauth

encode_secret(secret)

@spec encode_secret(oauth_secret()) :: String.t()

login_device_flow(opts \\ [])

@spec login_device_flow([login_opt()]) :: {:ok, oauth_secret()} | {:error, term()}

oauth_beta_features()

@spec oauth_beta_features() :: [String.t()]

oauth_headers()

@spec oauth_headers() :: [{String.t(), String.t()}]

oauth_token?(token)

@spec oauth_token?(String.t() | nil) :: boolean()

resolve_access_token()

@spec resolve_access_token() :: String.t() | nil

resolve_api_key_from_secret(secret_name, secret_value, opts \\ [])