static READ_DENY_DEFAULTS_TOML: &str = include_str!("read_deny_defaults.toml");
pub fn default_read_deny_home_paths() -> &'static [String] {
static PARSED: std::sync::OnceLock<Vec<String>> = std::sync::OnceLock::new();
PARSED.get_or_init(|| {
let parsed: toml::Value = toml::from_str(READ_DENY_DEFAULTS_TOML)
.expect("read_deny_defaults.toml must parse; the sandbox denylist is not optional");
let entries = parsed
.get("defaults")
.and_then(|table| table.get("home_relative"))
.and_then(|value| value.as_array())
.expect("read_deny_defaults.toml must define defaults.home_relative as an array");
let paths: Vec<String> = entries
.iter()
.filter_map(|entry| entry.as_str().map(str::to_string))
.collect();
assert!(
paths.len() == entries.len(),
"every read_deny_defaults.toml entry must be a string"
);
assert!(
!paths.is_empty(),
"read_deny_defaults.toml parsed to an EMPTY denylist; refusing to run with no \
credential denials rather than silently granting them"
);
paths
})
}