claude_code_toolkit/traits/
mod.rs

1//! Core traits for modular architecture
2
3pub mod config;
4pub mod secrets;
5pub mod setup;
6pub mod validation;
7
8// Re-export commonly used traits
9pub use config::{ ConfigManager, ConfigProvider };
10pub use secrets::{ SecretManager, SecretMapping, SecretProvider };
11pub use setup::{ SetupContext, SetupStep, SetupWizard };
12pub use validation::{ ValidationError, ValidationRule, ValidationService };
13
14use std::collections::HashMap;
15
16/// Core credential types that all providers work with
17#[derive(Debug, Clone)]
18pub struct Credentials {
19  pub access_token: String,
20  pub refresh_token: Option<String>,
21  pub expires_at: Option<i64>,
22  pub metadata: HashMap<String, String>,
23}
24
25/// Generic target for secret synchronization
26#[derive(Debug, Clone)]
27pub struct Target {
28  pub provider: String,
29  pub target_type: String,
30  pub name: String,
31  pub config: HashMap<String, String>,
32}
33
34/// Result of a sync operation
35#[derive(Debug, Clone)]
36pub struct SyncResult {
37  pub succeeded: usize,
38  pub failed: usize,
39  pub errors: Vec<String>,
40}
41
42/// Generic secret definition
43#[derive(Debug, Clone)]
44pub struct Secret {
45  pub name: String,
46  pub value: String,
47  pub description: Option<String>,
48}