pub enum SandboxPolicy {
DangerFullAccess,
ReadOnly,
WorkspaceWrite {
writable_roots: Vec<PathBuf>,
network_access: bool,
exclude_tmpdir_env_var: bool,
exclude_slash_tmp: bool,
allow_git_writes: bool,
},
}Expand description
Determines execution restrictions for model shell commands.
Variants§
DangerFullAccess
No restrictions whatsoever. Use with caution.
ReadOnly
Read-only access to the entire file-system.
WorkspaceWrite
Same as ReadOnly but additionally grants write access to the current
working directory (“workspace”).
Fields
writable_roots: Vec<PathBuf>Additional folders (beyond cwd and possibly TMPDIR) that should be writable from within the sandbox.
exclude_tmpdir_env_var: boolWhen set to true, will NOT include the per-user TMPDIR
environment variable among the default writable roots. Defaults to
false.
Implementations§
Source§impl SandboxPolicy
impl SandboxPolicy
Sourcepub fn new_read_only_policy() -> Self
pub fn new_read_only_policy() -> Self
Returns a policy with read-only disk access and no network.
Sourcepub fn new_workspace_write_policy() -> Self
pub fn new_workspace_write_policy() -> Self
Returns a policy that can read the entire disk, but can only write to the current working directory and the per-user tmp dir on macOS. It does not allow network access.
Sourcepub fn has_full_disk_read_access(&self) -> bool
pub fn has_full_disk_read_access(&self) -> bool
Always returns true; restricting read access is not supported.
pub fn has_full_disk_write_access(&self) -> bool
pub fn has_full_network_access(&self) -> bool
Sourcepub fn get_writable_roots_with_cwd(&self, cwd: &Path) -> Vec<WritableRoot>
pub fn get_writable_roots_with_cwd(&self, cwd: &Path) -> Vec<WritableRoot>
Returns the list of writable roots (tailored to the current working directory) together with subpaths that should remain read‑only under each writable root.
Trait Implementations§
Source§impl Clone for SandboxPolicy
impl Clone for SandboxPolicy
Source§fn clone(&self) -> SandboxPolicy
fn clone(&self) -> SandboxPolicy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SandboxPolicy
impl Debug for SandboxPolicy
Source§impl<'de> Deserialize<'de> for SandboxPolicy
impl<'de> Deserialize<'de> for SandboxPolicy
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for SandboxPolicy
impl Display for SandboxPolicy
Source§impl FromStr for SandboxPolicy
impl FromStr for SandboxPolicy
Source§impl PartialEq for SandboxPolicy
impl PartialEq for SandboxPolicy
Source§impl Serialize for SandboxPolicy
impl Serialize for SandboxPolicy
Source§impl TS for SandboxPolicy
impl TS for SandboxPolicy
Source§type WithoutGenerics = SandboxPolicy
type WithoutGenerics = SandboxPolicy
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = SandboxPolicy
type OptionInnerType = SandboxPolicy
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete() -> String
fn decl_concrete() -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read more