pub struct Agent { /* private fields */ }Expand description
Agent handle for controlling async actor (NOT Clone)
Implementations§
Source§impl Agent
Agent implementation
impl Agent
Agent implementation
Sourcepub fn new(
task: &str,
add_infos: &str,
mcp_client: Arc<KodegenClient>,
prompts: PromptConfig,
max_actions_per_step: usize,
agent_state: Arc<Mutex<AgentState>>,
config: AgentConfig,
) -> AgentResult<Self>
pub fn new( task: &str, add_infos: &str, mcp_client: Arc<KodegenClient>, prompts: PromptConfig, max_actions_per_step: usize, agent_state: Arc<Mutex<AgentState>>, config: AgentConfig, ) -> AgentResult<Self>
Create a new agent instance
Sourcepub async fn run(&self, max_steps: usize) -> AgentResult<AgentHistoryList>
pub async fn run(&self, max_steps: usize) -> AgentResult<AgentHistoryList>
Run the agent to perform a task with a maximum number of steps
Sourcepub async fn stop(&self) -> AgentResult<()>
pub async fn stop(&self) -> AgentResult<()>
Gracefully shut down the agent processor
Sends Stop command and waits for processor to confirm shutdown. Returns when processor has fully stopped and cleaned up resources.
§Errors
AgentError::ChannelClosed: Command channel already closed (processor dead)AgentError::UnexpectedError: Processor didn’t respond within timeoutAgentError::UnexpectedError: Processor sent unexpected response
Sourcepub fn is_running(&self) -> bool
pub fn is_running(&self) -> bool
Check if agent processor is still running
Returns true if the processor task is active and accepting commands.
Returns false if the processor has stopped (command channel closed).
This is useful for:
- Checking processor state before sending commands
- Polling for processor completion
- Debugging processor lifecycle
Auto Trait Implementations§
impl !Freeze for Agent
impl !NotResult for Agent
impl !NotString for Agent
impl !RefUnwindSafe for Agent
impl Send for Agent
impl Sync for Agent
impl Unpin for Agent
impl !UnwindSafe for Agent
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> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request