TokenProvider

Trait TokenProvider 

Source
pub trait TokenProvider: Send + Sync {
    // Required methods
    fn github_token(&self) -> Option<SecretString>;
    fn ai_api_key(&self, provider: &str) -> Option<SecretString>;
}
Expand description

Provides GitHub and AI provider credentials for API calls.

This trait abstracts credential resolution across platforms:

  • CLI: Resolves from environment variables, GitHub CLI, or system keyring
  • iOS: Resolves from iOS keychain via FFI

Implementations should handle credential lookup and return None if credentials are not available.

Required Methods§

Source

fn github_token(&self) -> Option<SecretString>

Retrieves the GitHub API token.

Returns None if no token is available from any source.

Source

fn ai_api_key(&self, provider: &str) -> Option<SecretString>

Retrieves an AI provider API key.

§Arguments
  • provider - The AI provider name (must match a registered provider in the registry)

Returns None if no API key is available from any source.

Implementors§