pub enum SignalKind {
Veto,
Cancel,
Pause,
Resume,
Steer {
message: String,
},
Approve {
approval_id: String,
},
Reject {
approval_id: String,
reason: Option<String>,
},
Modify {
approval_id: String,
modified_payload: Value,
},
}Expand description
The type of signal being sent.
§Variants
| Kind | Scope | Effect |
|---|---|---|
Veto | Global only | Stop all operations |
Cancel | Channel | Stop operations in channel |
Pause | Channel/Component | Pause operations |
Resume | Channel/Component | Resume paused operations |
Steer | Channel | Modify direction with message |
Approve | Component | Approve pending HIL request |
Reject | Component | Reject pending HIL request |
Modify | Component | Approve with modifications |
Variants§
Veto
Global stop - requires elevated privilege.
Stops all operations across all channels. This is the “emergency stop” for the entire system.
Cancel
Cancel operations in a specific scope.
Stops operations in the targeted channel(s).
Pause
Pause operations in a specific scope.
Paused operations can be resumed with Resume.
Resume
Resume paused operations.
Resumes operations that were paused with Pause.
Steer
Modify direction with a message.
Allows Human to steer the execution without stopping.
Approve
Approve a pending HIL request.
Sent by Human to approve an operation that requires approval.
Reject
Reject a pending HIL request.
Sent by Human to reject an operation that requires approval.
Fields
Modify
Approve with modifications.
Sent by Human to approve an operation with modified parameters. This allows Human to adjust the proposed action before execution.
§Example Use Cases
- Modify file path before write
- Adjust command arguments before execution
- Change scope of operation
Trait Implementations§
Source§impl Clone for SignalKind
impl Clone for SignalKind
Source§fn clone(&self) -> SignalKind
fn clone(&self) -> SignalKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SignalKind
impl Debug for SignalKind
Source§impl<'de> Deserialize<'de> for SignalKind
impl<'de> Deserialize<'de> for SignalKind
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SignalKind, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SignalKind, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for SignalKind
Source§impl PartialEq for SignalKind
impl PartialEq for SignalKind
Source§impl Serialize for SignalKind
impl Serialize for SignalKind
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for SignalKind
Auto Trait Implementations§
impl Freeze for SignalKind
impl RefUnwindSafe for SignalKind
impl Send for SignalKind
impl Sync for SignalKind
impl Unpin for SignalKind
impl UnsafeUnpin for SignalKind
impl UnwindSafe for SignalKind
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
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§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
key and return true if they are equal.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> ⓘ
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