Download codex-rs/config/src/config_layer_source.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 4.17 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/config/src/config_layer_source.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/config/src/config_layer_source.rs
-
curl -L -o config_layer_source.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/config/src/config_layer_source.rs
4.17 kB
| use codex_utils_absolute_path::AbsolutePathBuf; | |
| use serde_json::Value as JsonValue; | |
| /// Provenance for one layer in the effective Codex configuration. | |
| pub enum ConfigLayerSource { | |
| /// Default configuration supplied with the installed Codex package. | |
| PackagedDefaults { file: AbsolutePathBuf }, | |
| /// Managed preferences delivered by MDM. | |
| Mdm { domain: String, key: String }, | |
| /// Host-wide configuration loaded from a file. | |
| System { file: AbsolutePathBuf }, | |
| /// Configuration delivered by an enterprise cloud bundle. | |
| EnterpriseManaged { id: String, name: String }, | |
| /// User configuration, optionally augmented by a selected profile. | |
| User { | |
| file: AbsolutePathBuf, | |
| profile: Option<String>, | |
| }, | |
| /// Configuration loaded from a project's `.codex` directory. | |
| Project { dot_codex_folder: AbsolutePathBuf }, | |
| /// Overrides supplied for the current session. | |
| SessionFlags, | |
| /// Legacy managed configuration loaded from a file. | |
| LegacyManagedConfigTomlFromFile { file: AbsolutePathBuf }, | |
| /// Legacy managed configuration delivered by MDM. | |
| LegacyManagedConfigTomlFromMdm, | |
| } | |
| impl ConfigLayerSource { | |
| /// A setting from a layer with a higher precedence overrides a setting | |
| /// from a layer with a lower precedence. | |
| pub fn precedence(&self) -> i16 { | |
| match self { | |
| ConfigLayerSource::PackagedDefaults { .. } => -10, | |
| ConfigLayerSource::Mdm { .. } => 0, | |
| ConfigLayerSource::System { .. } => 10, | |
| ConfigLayerSource::EnterpriseManaged { .. } => 15, | |
| ConfigLayerSource::User { profile, .. } => { | |
| if profile.is_some() { | |
| 21 | |
| } else { | |
| 20 | |
| } | |
| } | |
| ConfigLayerSource::Project { .. } => 25, | |
| ConfigLayerSource::SessionFlags => 30, | |
| ConfigLayerSource::LegacyManagedConfigTomlFromFile { .. } => 40, | |
| ConfigLayerSource::LegacyManagedConfigTomlFromMdm => 50, | |
| } | |
| } | |
| } | |
| /// Compares [`ConfigLayerSource`] by precedence, so `A < B` means settings | |
| /// from layer `A` will be overridden by settings from layer `B`. | |
| impl PartialOrd for ConfigLayerSource { | |
| fn partial_cmp(&self, other: &Self) -> Option<std::cmp::Ordering> { | |
| Some(self.precedence().cmp(&other.precedence())) | |
| } | |
| } | |
| /// Identity and version information for a configuration layer. | |
| pub struct ConfigLayerMetadata { | |
| pub name: ConfigLayerSource, | |
| pub version: String, | |
| } | |
| /// A materialized configuration layer and its provenance. | |
| pub struct ConfigLayer { | |
| pub name: ConfigLayerSource, | |
| pub version: String, | |
| pub config: JsonValue, | |
| pub disabled_reason: Option<String>, | |
| } | |
| pub fn format_config_layer_source(source: &ConfigLayerSource, config_toml_file: &str) -> String { | |
| match source { | |
| ConfigLayerSource::PackagedDefaults { file } => { | |
| format!("packaged defaults ({})", file.as_path().display()) | |
| } | |
| ConfigLayerSource::Mdm { domain, key } => { | |
| format!("MDM ({domain}:{key})") | |
| } | |
| ConfigLayerSource::System { file } => { | |
| format!("system ({})", file.as_path().display()) | |
| } | |
| ConfigLayerSource::EnterpriseManaged { id, name } => { | |
| format!("enterprise-managed ({name}, {id})") | |
| } | |
| ConfigLayerSource::User { file, .. } => { | |
| format!("user ({})", file.as_path().display()) | |
| } | |
| ConfigLayerSource::Project { dot_codex_folder } => { | |
| format!( | |
| "project ({}/{config_toml_file})", | |
| dot_codex_folder.as_path().display() | |
| ) | |
| } | |
| ConfigLayerSource::SessionFlags => "session-flags".to_string(), | |
| ConfigLayerSource::LegacyManagedConfigTomlFromFile { file } => { | |
| format!("legacy managed_config.toml ({})", file.as_path().display()) | |
| } | |
| ConfigLayerSource::LegacyManagedConfigTomlFromMdm => { | |
| "legacy managed_config.toml (MDM)".to_string() | |
| } | |
| } | |
| } | |