openagent-aegis-sdk · config
Declared module signatures, types, configuration, and source documentation.
Source: aegis/openagent-aegis-sdk/src/config.rs. SHA-256: 06a2b6645268ef69be09316360676a4fbdf065ffc1b428de4559bd41fd97615f.
This source reference follows declared modules and preserves feature attributes. It includes public declarations and implementation methods in those modules. Private-module exports and trait resolution still require the compiler; not every declaration is a crate-root import. Function bodies and constant values are omitted. Source comments describe their implementation context and are not a production deployment claim.
config::AegisConfig
Top-level AEGIS SDK configuration.
Corresponds to the YAML configuration format defined in AEGIS Spec Appendix B. Controls verification behaviour, session lifetimes, and key storage parameters.
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
pub struct AegisConfig {
/// Verification pipeline settings.
#[serde(default)]
pub verification: VerificationConfig,
/// Session lifetime settings.
#[serde(default)]
pub sessions: SessionConfig,
/// Key storage settings.
#[serde(default)]
pub keys: KeyConfig,
/// Storage backend selection.
#[serde(default)]
pub storage_backend: StorageBackend
}Source line: 13.
config::SessionConfig
Session lifetime configuration.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionConfig {
/// Maximum lifetime for human sessions in seconds (default: 86400 = 24h).
pub human_lifetime_secs: u64,
/// Maximum lifetime for agent sessions in seconds (default: 3600 = 1h).
pub agent_lifetime_secs: u64,
/// Maximum lifetime for session keys in seconds (default: 86400 = 24h).
pub session_key_max_secs: u64
}Source line: 33.
config::StorageBackend
Storage backend selection.
Controls which persistence layer the SDK uses for sessions, nonces, delegations, revocations, and verification cache.
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(tag = "type", rename_all = "snake_case")]
pub enum StorageBackend {
/// In-memory storage (default). Suitable for testing and single-instance
/// deployments.
#[default]
InMemory,
/// PostgreSQL-backed storage. Requires a valid connection URL.
Postgres {
/// PostgreSQL connection URL (e.g., `postgres://user:pass@host/db`).
url: String,
},
}Source line: 58.
config::KeyConfig
Key storage configuration.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct KeyConfig {
/// Encryption algorithm for at-rest keys (default: "AES-256-GCM").
pub encryption_algorithm: String,
/// Whether to zeroize key material on drop (default: true).
pub zeroize_on_drop: bool
}Source line: 72.