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