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