Files
owlen/Cargo.toml
vikingowl 5b0774958a feat(auth): add multi-provider authentication with secure credential storage
Authentication System:
- Add credentials crate with keyring (OS keychain) and file fallback storage
- Add auth-manager crate for unified auth across providers
- Implement API key login flow for Anthropic, OpenAI, and Ollama Cloud
- Add CLI commands: login, logout, auth (status)
- Store credentials securely in macOS Keychain / GNOME Keyring / Windows Credential Manager

API Key Helpers:
- Support for password manager integration (1Password, Bitwarden, pass, AWS Secrets, Vault)
- Command-based helpers with TTL caching
- Priority chain: env vars → helpers → cache → stored credentials

Background Token Refresh:
- Automatic OAuth token refresh before expiration
- Configurable check interval and refresh threshold

MCP OAuth Support:
- Add OAuth config to MCP server definitions
- Support for SSE/HTTP transport with OAuth
- Token storage with mcp: prefix

Bug Fixes:
- Fix keyring crate requiring explicit backend features (was using mock store)
- Fix provider index not updated on credential store
- Add User-Agent headers to avoid Cloudflare blocks

🤖 Generated with [Claude Code](https://claude.ai/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 00:27:37 +01:00

34 lines
768 B
TOML

[workspace]
members = [
"crates/app/cli",
"crates/app/ui",
"crates/core/agent",
"crates/llm/core",
"crates/llm/anthropic",
"crates/llm/ollama",
"crates/llm/openai",
"crates/platform/auth",
"crates/platform/config",
"crates/platform/credentials",
"crates/platform/hooks",
"crates/platform/permissions",
"crates/platform/plugins",
"crates/tools/ask",
"crates/tools/bash",
"crates/tools/fs",
"crates/tools/notebook",
"crates/tools/plan",
"crates/tools/skill",
"crates/tools/slash",
"crates/tools/task",
"crates/tools/todo",
"crates/tools/web",
"crates/integration/mcp-client",
]
resolver = "2"
[workspace.package]
edition = "2024"
license = "AGPL-3.0"
rust-version = "1.91"