#[non_exhaustive]pub enum PauseReason {
AwaitingApproval {
tool_ids: Vec<CallId>,
},
Scheduled {
tool_ids: Vec<CallId>,
earliest: SystemTime,
},
Mixed {
approvals: Vec<CallId>,
scheduled: Vec<(CallId, SystemTime)>,
},
}Expand description
Why the chat loop paused.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
AwaitingApproval
One or more tools are awaiting a human decision (approve, reject,
or edit-then-approve). Caller is expected to resolve each tool in
the list and call Chat::resume.
Scheduled
One or more tools have been deferred to a future time. Caller
should persist Messages, schedule a wake-up at earliest, and
call Chat::resume when any deferred tool is ready.
Mixed
Mixed pause — some tools need approval, some are scheduled.
Implementations§
Trait Implementations§
Source§impl Clone for PauseReason
impl Clone for PauseReason
Source§fn clone(&self) -> PauseReason
fn clone(&self) -> PauseReason
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 moreAuto Trait Implementations§
impl Freeze for PauseReason
impl RefUnwindSafe for PauseReason
impl Send for PauseReason
impl Sync for PauseReason
impl Unpin for PauseReason
impl UnsafeUnpin for PauseReason
impl UnwindSafe for PauseReason
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