lean_ctx/core/config/
mod.rs1use std::{collections::HashMap, sync::Arc};
2
3use super::memory_policy::MemoryPolicy;
4use super::{error, persona, tool_profiles};
5
6mod defaults;
7mod defaults_allowlist;
8mod enterprise;
9mod enums;
10mod loader;
11mod logic;
12mod memory;
13mod merge;
14mod model;
15mod provenance;
16mod proxy;
17mod read_dedup;
18pub(crate) mod read_redirect;
19mod render;
20mod response_shaping;
21pub mod risk;
22pub mod schema;
23mod sections;
24mod serde_defaults;
25pub mod setter;
26mod shell_activation;
27
28type ConfigCacheSlot = Option<(Arc<Config>, Option<String>, Option<String>, Option<String>)>;
33
34pub use defaults::*;
35#[allow(unreachable_pub, unused_imports)]
36pub use logic::*;
37pub use model::*;
38pub use render::render_annotated_config;
39pub use sections::*;
40
41pub(crate) use defaults_allowlist::{cloud_infra_commands, default_shell_allowlist};
42pub use enterprise::EnterpriseConfig;
43pub use enums::{
44 CognitiveMode, CompressionLevel, Effort, OutputDensity, PermissionInheritance, RecoveryHints,
45 ResponseVerbosity, RulesInjection, RulesScope, SessionDegrade, TeeMode, TerseAgent,
46};
47pub use loader::last_config_parse_error;
48pub use loader::local_sensitive_overrides;
49pub(crate) use loader::strip_sensitive_overrides;
50pub use memory::{
51 CompressionAnnotation, MemoryCleanup, MemoryGuardConfig, MemoryProfile, SavingsFooter,
52};
53pub use provenance::{ConfigProvenance, EnvOverride};
54pub use proxy::{
55 BaselineConfig, DEFAULT_LOCAL_SHADOW_RATE_PER_MTOK, HistoryMode, ProseRanker, ProseRole,
56 ProviderEntry, ProxyConfig, ProxyMode, ProxyProvider, ResolvedProvider, RoleAggressiveness,
57 RoutingRules, UpstreamDrift, Upstreams, WireShape, diagnose_drift, env_upstream_override,
58 is_local_proxy_url, normalize_url, normalize_url_opt, parse_route_target,
59};
60pub use read_dedup::ReadDedup;
61pub use read_redirect::ReadRedirect;
62pub use response_shaping::{
63 CodeRepetitionConfig, ConfirmationConfig, NarrationConfig, PreambleConfig,
64 ResponseShapingConfig,
65};
66pub use shell_activation::ShellActivation;
67
68#[cfg(test)]
69mod tests;
70#[cfg(test)]
71mod tests_parsing;