1pub mod auth;
12pub mod config;
13pub mod cors;
14pub mod metrics;
15pub mod security;
16
17pub use auth::{check_auth, AuthResult};
18pub use config::{
19 AccessConfig, AgentEntry, AgentsConfig, ApiKeyConfig, BrainConfig, DeliveryConfig, LlmConfig,
20 ProviderEntry,
21};
22pub use security::ActionTier;
23
24pub mod timeouts {
26 use std::time::Duration;
27
28 pub const EMBEDDING_OLLAMA: Duration = Duration::from_secs(120);
29 pub const EMBEDDING_OPENAI: Duration = Duration::from_secs(60);
30 pub const LLM_GENERATE: Duration = Duration::from_secs(90);
35 pub const HEALTH_CHECK: Duration = Duration::from_secs(2);
36 pub const DAEMON_SETUP: Duration = Duration::from_secs(30);
37 pub const STATUS_CHECK: Duration = Duration::from_secs(2);
38}
39
40pub fn normalize_keyword(word: &str) -> String {
42 word.trim_matches(|c: char| !c.is_alphanumeric())
43 .to_lowercase()
44}