pub enum ThreadItem {
AgentMessage {
id: String,
text: String,
},
Reasoning {
id: String,
text: String,
},
CommandExecution {
id: String,
command: String,
aggregated_output: String,
exit_code: Option<i32>,
status: CommandExecutionStatus,
},
FileChange {
id: String,
changes: Vec<FileUpdateChange>,
status: PatchApplyStatus,
},
McpToolCall {
id: String,
server: String,
tool: String,
arguments: Value,
result: Option<McpToolCallResult>,
error: Option<McpToolCallError>,
status: McpToolCallStatus,
},
WebSearch {
id: String,
query: String,
},
TodoList {
id: String,
items: Vec<TodoItem>,
},
Error {
id: String,
message: String,
},
}Expand description
A typed item that occurs during a turn.
Items flow through the lifecycle: ItemStarted → ItemUpdated → ItemCompleted.
Variants§
AgentMessage
Agent text response.
Reasoning
Agent reasoning/thinking.
CommandExecution
Shell command execution.
Fields
§
status: CommandExecutionStatusFileChange
File change (patch application).
McpToolCall
MCP tool invocation.
WebSearch
Web search invocation.
TodoList
Agent-managed todo list.
Error
Error item.
Implementations§
Trait Implementations§
Source§impl Clone for ThreadItem
impl Clone for ThreadItem
Source§fn clone(&self) -> ThreadItem
fn clone(&self) -> ThreadItem
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ThreadItem
impl Debug for ThreadItem
Source§impl<'de> Deserialize<'de> for ThreadItem
impl<'de> Deserialize<'de> for ThreadItem
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ThreadItem
impl RefUnwindSafe for ThreadItem
impl Send for ThreadItem
impl Sync for ThreadItem
impl Unpin for ThreadItem
impl UnsafeUnpin for ThreadItem
impl UnwindSafe for ThreadItem
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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