1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! Authentication system for Skill Engine.
//!
//! This module provides a pluggable authentication framework supporting:
//! - OAuth2 Device Flow (GitHub, Google, Azure AD)
//! - API Key authentication (OpenAI, Anthropic, etc.)
//! - AWS IAM credentials
//! - Custom authentication providers
//!
//! # Architecture
//!
//! Authentication happens at the CLI level, not in WASM skills. This design:
//! - Keeps skills simple and stateless
//! - Allows token refresh between skill executions
//! - Uses the system keyring for secure credential storage
//! - Provides automatic token refresh when credentials expire
//!
//! # Usage
//!
//! ```bash
//! # Authenticate with a provider
//! skill auth login github
//!
//! # Check authentication status
//! skill auth status
//!
//! # Associate credentials with a skill
//! skill auth login github --skill my-skill
//!
//! # Logout (revoke credentials)
//! skill auth logout github
//! ```
//!
//! # For Skill Developers
//!
//! Skills receive credentials via the `get-config()` function:
//!
//! ```javascript
//! // In your skill
//! const token = getConfig('GITHUB_TOKEN');
//! const response = await fetch('https://api.github.com/user', {
//! headers: { 'Authorization': `Bearer ${token}` }
//! });
//! ```
pub use ;
pub use TokenStore;
pub use ;