pub struct AgentApprovalExecutor { /* private fields */ }Expand description
An Executor that runs an SupportsAgentRun over the incoming
conversation, then pauses for human approval of its reply before
forwarding it downstream. Rust analogue of AgentApprovalExecutor.
A non-empty human response is treated as revision feedback: the agent is re-invoked with the feedback appended, and a new approval request is raised — repeating until an empty (approving) response arrives.
Implementations§
Source§impl AgentApprovalExecutor
impl AgentApprovalExecutor
Sourcepub fn new(
id: impl Into<String>,
agent: Arc<dyn SupportsAgentRun>,
) -> AgentApprovalExecutor
pub fn new( id: impl Into<String>, agent: Arc<dyn SupportsAgentRun>, ) -> AgentApprovalExecutor
Wrap agent in a post-agent approval gate with the given executor id.
Sourcepub fn with_output(self, emit_output: bool) -> AgentApprovalExecutor
pub fn with_output(self, emit_output: bool) -> AgentApprovalExecutor
When set, yield the approved conversation as a workflow output. See
AgentExecutor::with_output.
Sourcepub fn with_also_send(self, also_send: bool) -> AgentApprovalExecutor
pub fn with_also_send(self, also_send: bool) -> AgentApprovalExecutor
When set, forward the approved conversation downstream even if
Self::with_output is also set. See
AgentExecutor::with_also_send.
Trait Implementations§
Source§impl Executor for AgentApprovalExecutor
impl Executor for AgentApprovalExecutor
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
message: Value,
ctx: WorkflowContext,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
AgentApprovalExecutor: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
message: Value,
ctx: WorkflowContext,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
AgentApprovalExecutor: 'async_trait,
Handle an incoming message.
Auto Trait Implementations§
impl !RefUnwindSafe for AgentApprovalExecutor
impl !UnwindSafe for AgentApprovalExecutor
impl Freeze for AgentApprovalExecutor
impl Send for AgentApprovalExecutor
impl Sync for AgentApprovalExecutor
impl Unpin for AgentApprovalExecutor
impl UnsafeUnpin for AgentApprovalExecutor
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