agents_aws/lib.rs
1//! AWS integration helpers: wiring for Secrets Manager, DynamoDB, and CloudWatch.
2//! Concrete implementations will live behind feature flags, so the core remains
3//! lightweight when running outside AWS.
4
5/// Placeholder trait for loading configuration secrets.
6pub trait SecretsProvider {
7 fn fetch(&self, key: &str) -> anyhow::Result<String>;
8}
9
10/// Stub Secrets Manager provider; real implementation will sit behind the `aws-sdk` feature.
11pub struct UnimplementedSecretsProvider;
12
13impl SecretsProvider for UnimplementedSecretsProvider {
14 fn fetch(&self, key: &str) -> anyhow::Result<String> {
15 Err(anyhow::anyhow!("Secrets provider not implemented: {key}"))
16 }
17}