Struct SourceBoundaries
pub struct SourceBoundaries {
pub install_root: PathBuf,
pub workspace: Option<PathBuf>,
}Expand description
How the copy reaches each kind of source, and what that proves.
An anchored source is named relative to the install root and must be
opened by walking those components without following a symlink at any of
them. A canonicalize-then-compare check cannot give that guarantee twice
over: a symlinked shared/skills or agents that stays inside the
install passes the comparison while moving the source out of the subtree
its contract names, and the object the check resolved is not necessarily
the object a later by-path open finds. The install root itself is the
operator’s configured location — like the config file it holds — so
symlinks above it are the operator’s own and are followed.
Fields§
§install_root: PathBufThe trusted install root every anchored source is walked from.
workspace: Option<PathBuf>Install-relative path of the agent’s workspace when it uses the
default location (agents/<alias>/workspace). None when
workspace.path places it deliberately, since then the configured
location is the operator’s own boundary and ExportPlan’s
workspace_source is opened as configured.
Trait Implementations§
Source§impl Clone for SourceBoundaries
impl Clone for SourceBoundaries
Source§fn clone(&self) -> SourceBoundaries
fn clone(&self) -> SourceBoundaries
1.0.0 (const: unstable) · §fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for SourceBoundaries
impl RefUnwindSafe for SourceBoundaries
impl Send for SourceBoundaries
impl Sync for SourceBoundaries
impl Unpin for SourceBoundaries
impl UnsafeUnpin for SourceBoundaries
impl UnwindSafe for SourceBoundaries
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more