pub struct WorkPack {
pub name: String,
pub role: String,
pub tools: Vec<String>,
pub permission: PermissionMode,
pub instructions: String,
}Expand description
A specialist work pack loaded from markdown + optional YAML frontmatter.
Fields§
§name: String§role: String§tools: Vec<String>§permission: PermissionMode§instructions: StringImplementations§
Source§impl WorkPack
impl WorkPack
Sourcepub fn parse(content: &str) -> Result<Self, WorkPackError>
pub fn parse(content: &str) -> Result<Self, WorkPackError>
Parse a markdown work pack from string content.
Sourcepub fn load(path: &Path) -> Result<Self, WorkPackError>
pub fn load(path: &Path) -> Result<Self, WorkPackError>
Load from a file path.
Sourcepub fn load_dir(dir: &Path) -> Result<Vec<Self>, WorkPackError>
pub fn load_dir(dir: &Path) -> Result<Vec<Self>, WorkPackError>
Load all *.md packs from a directory (non-recursive).
Sourcepub fn to_subagent_config(&self) -> SubagentConfig
pub fn to_subagent_config(&self) -> SubagentConfig
Convert to a SubagentConfig for spawning.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for WorkPack
impl<'de> Deserialize<'de> for WorkPack
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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for WorkPack
impl StructuralPartialEq for WorkPack
Auto Trait Implementations§
impl Freeze for WorkPack
impl RefUnwindSafe for WorkPack
impl Send for WorkPack
impl Sync for WorkPack
impl Unpin for WorkPack
impl UnsafeUnpin for WorkPack
impl UnwindSafe for WorkPack
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
Converts
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>
Converts
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