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}