TaskResult

Struct TaskResult 

Source
pub struct TaskResult {
    pub response: Option<String>,
    pub next_action: NextAction,
    pub task_id: String,
    pub status_message: Option<String>,
}
Expand description

Result of a task execution.

Contains the response to send to the user and the next action to take. The task_id field is automatically set by the graph execution engine.

§Examples

use graph_flow::{TaskResult, NextAction};

// Basic task result
let result = TaskResult::new(
    Some("Task completed successfully".to_string()),
    NextAction::Continue
);

// Task result with status message
let result = TaskResult::new_with_status(
    Some("Data validated".to_string()),
    NextAction::Continue,
    Some("All validation checks passed".to_string())
);

// Convenience methods
let result = TaskResult::move_to_next();        // Continue to next task
let result = TaskResult::move_to_next_direct(); // Continue and execute immediately

Fields§

§response: Option<String>

Response to send to the user

§next_action: NextAction

Next action to take

§task_id: String

ID of the task that generated this result

§status_message: Option<String>

Optional status message that describes the current state of the task

Implementations§

Source§

impl TaskResult

Source

pub fn new(response: Option<String>, next_action: NextAction) -> Self

Create a new TaskResult with the given response and next action.

The task_id will be set automatically by the graph execution engine.

§Examples
use graph_flow::{TaskResult, NextAction};

let result = TaskResult::new(
    Some("Hello, World!".to_string()),
    NextAction::Continue
);
Source

pub fn new_with_status( response: Option<String>, next_action: NextAction, status_message: Option<String>, ) -> Self

Create a new TaskResult with response, next action, and status message.

The status message is used to describe the current state of the task. It’s only persisted in the context but not returned to the user. Specifically aimed at debugging and logging.

§Examples
use graph_flow::{TaskResult, NextAction};

let result = TaskResult::new_with_status(
    Some("Data processed".to_string()),
    NextAction::Continue,
    Some("Processing completed with 95% confidence".to_string())
);
Source

pub fn move_to_next() -> Self

Create a TaskResult that moves to the next task (step-by-step execution).

This is a convenience method equivalent to:

TaskResult::new(None, NextAction::Continue);
Source

pub fn move_to_next_direct() -> Self

Create a TaskResult that moves to the next task and executes it immediately.

This is a convenience method equivalent to:

TaskResult::new(None, NextAction::ContinueAndExecute);

Trait Implementations§

Source§

impl Clone for TaskResult

Source§

fn clone(&self) -> TaskResult

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TaskResult

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for TaskResult

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for TaskResult

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> ErasedDestructor for T
where T: 'static,