pub struct Agent { /* private fields */ }Expand description
A running agent instance.
Create with Agent::new and the builder pattern,
then call start to run the background loop.
Implementations§
Source§impl Agent
impl Agent
Sourcepub fn new(config: NanoConfig) -> AgentBuilder
pub fn new(config: NanoConfig) -> AgentBuilder
Start configuring a new agent with default settings.
Sourcepub async fn send(
&self,
message: impl Into<String>,
) -> Result<String, NanoError>
pub async fn send( &self, message: impl Into<String>, ) -> Result<String, NanoError>
Send a message and wait for the complete text response.
Sourcepub async fn send_stream(
&self,
message: impl Into<String>,
) -> Result<UnboundedReceiver<AgentEvent>, NanoError>
pub async fn send_stream( &self, message: impl Into<String>, ) -> Result<UnboundedReceiver<AgentEvent>, NanoError>
Send a message and return a channel that receives all agent events.
Sourcepub fn reload_tools(&self, registry: ToolRegistry) -> Result<(), NanoError>
pub fn reload_tools(&self, registry: ToolRegistry) -> Result<(), NanoError>
Dynamically reload tools (only works in Nano mode).
Auto Trait Implementations§
impl Freeze for Agent
impl !RefUnwindSafe for Agent
impl Send for Agent
impl Sync for Agent
impl Unpin for Agent
impl UnsafeUnpin 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> 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