pub struct ConversationWire {
pub turns: Vec<TurnWire>,
pub cursor: Option<String>,
pub compaction_count: u32,
pub cron_names: BTreeMap<String, CronName>,
}Expand description
The conversation a session’s transcript replayed, and how many times it has compacted.
Its turns, not a bare frame list. A client folds turns, so a conversation handed over as frames with no boundaries is one it cannot fold at all; carrying the same turns a page carries is what makes the whole conversation and a window of it read the same way.
Fields§
§turns: Vec<TurnWire>§cursor: Option<String>The handle above the newest page, the same one a more answers with.
A snapshot carries the page a more would fetch, cursor included, so
a client seeds its conversation from this answer and pages above it
from here rather than asking for the same page twice (#2420). None
is the conversation’s first page: there is nothing above it.
compaction_count: u32§cron_names: BTreeMap<String, CronName>The schedules the fired prompts in these turns came from, keyed by the prompt’s own id.
The read half of the pairing CronPromptAppended carries once.
The frame titles the row while it lands, and the row replayed from the
transcript afterwards carries the prompt alone - so the pairing rides
the read too, for the rows this page holds and no others.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ConversationWire
impl<'de> Deserialize<'de> for ConversationWire
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>,
Auto Trait Implementations§
impl Freeze for ConversationWire
impl RefUnwindSafe for ConversationWire
impl Send for ConversationWire
impl Sync for ConversationWire
impl Unpin for ConversationWire
impl UnsafeUnpin for ConversationWire
impl UnwindSafe for ConversationWire
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
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
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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