use std::sync::Arc;
use camino::Utf8PathBuf;
use cap_std::fs_utf8::Dir;
use super::network::NetworkPolicy;
pub const DEFAULT_FETCH_CACHE_DIR: &str = ".netsuke/fetch";
pub const DEFAULT_FETCH_MAX_RESPONSE_BYTES: u64 = 8 * 1024 * 1024;
pub const DEFAULT_COMMAND_MAX_OUTPUT_BYTES: u64 = 1024 * 1024;
pub const DEFAULT_COMMAND_MAX_STREAM_BYTES: u64 = 64 * 1024 * 1024;
pub const DEFAULT_COMMAND_TEMP_DIR: &str = ".netsuke/tmp";
pub const DEFAULT_WHICH_CACHE_CAPACITY: usize = 64;
#[derive(Debug, Clone)]
pub(crate) enum HomeDirectory {
Ambient,
Missing,
Explicit(String),
}
#[derive(Clone)]
pub struct NetworkConfig {
pub cache_root: Arc<Dir>,
pub cache_relative: Utf8PathBuf,
pub policy: NetworkPolicy,
pub max_response_bytes: u64,
}