pub struct ShellPipeline {
pub name: String,
pub command: String,
pub content_hash: [u8; 32],
pub chain_seq: Option<u64>,
}Expand description
A shell pipeline compiled into a chain-linked WASM tool spec.
Shell commands are wrapped as tool definitions with their content hash anchored to the ExoChain for immutability and provenance.
Fields§
§name: StringPipeline name.
command: StringShell command string.
content_hash: [u8; 32]SHA-256 hash of the command.
chain_seq: Option<u64>Chain sequence number where this pipeline was registered.
Implementations§
Source§impl ShellPipeline
impl ShellPipeline
Sourcepub fn new(name: impl Into<String>, command: impl Into<String>) -> Self
pub fn new(name: impl Into<String>, command: impl Into<String>) -> Self
Create a new shell pipeline from a command string.
Sourcepub fn anchor_to_chain(&mut self, chain: &ChainManager)
pub fn anchor_to_chain(&mut self, chain: &ChainManager)
Register this pipeline on the chain for immutability (C5).
Sourcepub fn to_tool_spec(&self) -> BuiltinToolSpec
pub fn to_tool_spec(&self) -> BuiltinToolSpec
Convert to a BuiltinToolSpec for registration in the [ToolRegistry].
Trait Implementations§
Source§impl Clone for ShellPipeline
impl Clone for ShellPipeline
Source§fn clone(&self) -> ShellPipeline
fn clone(&self) -> ShellPipeline
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ShellPipeline
impl Debug for ShellPipeline
Source§impl<'de> Deserialize<'de> for ShellPipeline
impl<'de> Deserialize<'de> for ShellPipeline
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
Auto Trait Implementations§
impl Freeze for ShellPipeline
impl RefUnwindSafe for ShellPipeline
impl Send for ShellPipeline
impl Sync for ShellPipeline
impl Unpin for ShellPipeline
impl UnsafeUnpin for ShellPipeline
impl UnwindSafe for ShellPipeline
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,
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