#[non_exhaustive]pub struct SessionMessage {
pub message_id: MessageId,
pub sender_session_id: Option<SessionId>,
pub recipient_session_id: Option<SessionId>,
pub content: MaybeUndefined<Vec<ContentBlock>>,
pub meta: MaybeUndefined<Meta>,
}Expand description
UNSTABLE
This capability is not part of the spec yet, and may be removed or changed at any point.
An upsert for an inter-session message.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.message_id: MessageIdIdentifier of this message within the enclosing session’s transcript.
sender_session_id: Option<SessionId>Optional sending session identity; omission or null retains a known value.
recipient_session_id: Option<SessionId>Optional receiving session identity; omission or null retains a known value.
content: MaybeUndefined<Vec<ContentBlock>>Omitted leaves content unchanged; null or [] clears it.
A non-empty array replaces all content.
meta: MaybeUndefined<Meta>Omitted leaves metadata unchanged; null removes it.
Implementations MUST NOT make assumptions about values in _meta.
Implementations§
Source§impl SessionMessage
impl SessionMessage
Sourcepub fn new(message_id: impl Into<MessageId>) -> Self
Available on crate feature unstable_subagents only.
pub fn new(message_id: impl Into<MessageId>) -> Self
unstable_subagents only.Builds a message upsert with its transcript-local ID.
Sourcepub fn sender_session_id(
self,
sender_session_id: impl IntoOption<SessionId>,
) -> Self
Available on crate feature unstable_subagents only.
pub fn sender_session_id( self, sender_session_id: impl IntoOption<SessionId>, ) -> Self
unstable_subagents only.Supplies the sending session identity, when known.
Sourcepub fn recipient_session_id(
self,
recipient_session_id: impl IntoOption<SessionId>,
) -> Self
Available on crate feature unstable_subagents only.
pub fn recipient_session_id( self, recipient_session_id: impl IntoOption<SessionId>, ) -> Self
unstable_subagents only.Supplies the receiving session identity, when known.
Sourcepub fn content(
self,
content: impl IntoMaybeUndefined<Vec<ContentBlock>>,
) -> Self
Available on crate feature unstable_subagents only.
pub fn content( self, content: impl IntoMaybeUndefined<Vec<ContentBlock>>, ) -> Self
unstable_subagents only.Replaces, clears, or omits the complete content patch.
Sourcepub fn meta(self, meta: impl IntoMaybeUndefined<Meta>) -> Self
Available on crate feature unstable_subagents only.
pub fn meta(self, meta: impl IntoMaybeUndefined<Meta>) -> Self
unstable_subagents only.Sets, clears, or omits the metadata patch.
Trait Implementations§
Source§impl Clone for SessionMessage
impl Clone for SessionMessage
Source§impl Debug for SessionMessage
impl Debug for SessionMessage
Source§impl<'de> Deserialize<'de> for SessionMessage
impl<'de> Deserialize<'de> for SessionMessage
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>,
impl Eq for SessionMessage
Source§impl JsonSchema for SessionMessage
impl JsonSchema for SessionMessage
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PartialEq for SessionMessage
impl PartialEq for SessionMessage
Source§impl Serialize for SessionMessage
impl Serialize for SessionMessage
impl StructuralPartialEq for SessionMessage
Auto Trait Implementations§
impl Freeze for SessionMessage
impl RefUnwindSafe for SessionMessage
impl Send for SessionMessage
impl Sync for SessionMessage
impl Unpin for SessionMessage
impl UnsafeUnpin for SessionMessage
impl UnwindSafe for SessionMessage
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
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>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.