pub struct Task { /* private fields */ }Implementations§
Source§impl Task
impl Task
pub fn new(prompt: impl Into<String>, workspace: Workspace) -> Self
pub fn prompt(&self) -> &str
pub fn workspace(&self) -> &Workspace
Sourcepub async fn run<T: Agent>(self, agent: &T) -> Result<TaskRun, TaskRunError>
pub async fn run<T: Agent>(self, agent: &T) -> Result<TaskRun, TaskRunError>
Run the task against agent and collect its transcript. Use Task::run_observed to also
observe each AgentMessage as it streams.
Sourcepub async fn run_observed<T: Agent, U: FnMut(&AgentMessage) + Send>(
self,
agent: &T,
on_message: U,
) -> Result<TaskRun, TaskRunError>
pub async fn run_observed<T: Agent, U: FnMut(&AgentMessage) + Send>( self, agent: &T, on_message: U, ) -> Result<TaskRun, TaskRunError>
Run the task against agent, forwarding each AgentMessage to on_message before it is
added to the transcript. Terminal messages (Done, Error, Cancelled) are forwarded too.
Auto Trait Implementations§
impl Freeze for Task
impl RefUnwindSafe for Task
impl Send for Task
impl Sync for Task
impl Unpin for Task
impl UnsafeUnpin for Task
impl UnwindSafe for Task
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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 moreSource§impl<T> IntoMaybeUndefined<T> for T
impl<T> IntoMaybeUndefined<T> for T
fn into_maybe_undefined(self) -> MaybeUndefined<T>
Source§impl<T> IntoOption<T> for T
impl<T> IntoOption<T> for T
fn into_option(self) -> Option<T>
Source§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