pub struct ConversationItem {
pub item_id: ConversationItemId,
pub thread_id: AgentThreadId,
pub codex_turn_id: Option<CodexTurnId>,
pub first_seen_at_unix_ms: i64,
pub role: ConversationRole,
pub channel: Option<ConversationChannel>,
pub kind: ConversationItemKind,
pub agent_message: Option<AgentMessageMetadata>,
pub body: ConversationBody,
pub call_id: Option<ModelVisibleCallId>,
pub produced_by: Vec<ProducerRef>,
}Expand description
Public reduced trace model returned by replay. One logical transcript item or transcript boundary.
The reducer builds conversation items primarily from inference request and
response payloads. Runtime objects can be listed in produced_by, but they
must not rewrite what the item body says the model saw. Structural items,
such as compaction markers, live in the same ordered list so conversation
views can show where the live history changed.
Fields§
§item_id: ConversationItemId§thread_id: AgentThreadId§codex_turn_id: Option<CodexTurnId>Runtime activation that first introduced this item locally, when known.
first_seen_at_unix_ms: i64§role: ConversationRole§channel: Option<ConversationChannel>Codex channel for assistant/tool content, when the item is channel-specific.
kind: ConversationItemKind§agent_message: Option<AgentMessageMetadata>Routing metadata carried by a Responses agent_message item.
body: ConversationBody§call_id: Option<ModelVisibleCallId>Protocol/model call_id for function/custom tool call and output items.
produced_by: Vec<ProducerRef>Runtime or control-plane objects that caused this conversation item to exist.
Trait Implementations§
Source§impl Clone for ConversationItem
impl Clone for ConversationItem
Source§fn clone(&self) -> ConversationItem
fn clone(&self) -> ConversationItem
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConversationItem
impl Debug for ConversationItem
Source§impl<'de> Deserialize<'de> for ConversationItem
impl<'de> Deserialize<'de> for ConversationItem
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>,
Source§impl PartialEq for ConversationItem
impl PartialEq for ConversationItem
Source§impl Serialize for ConversationItem
impl Serialize for ConversationItem
impl StructuralPartialEq for ConversationItem
Auto Trait Implementations§
impl Freeze for ConversationItem
impl RefUnwindSafe for ConversationItem
impl Send for ConversationItem
impl Sync for ConversationItem
impl Unpin for ConversationItem
impl UnsafeUnpin for ConversationItem
impl UnwindSafe for ConversationItem
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
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>
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>
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