#[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<Map<String, Value>>,
}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<Map<String, Value>>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>) -> SessionMessage
Available on crate feature unstable_subagents only.
pub fn new(message_id: impl Into<MessageId>) -> SessionMessage
unstable_subagents only.Builds a message upsert with its transcript-local ID.
Sourcepub fn sender_session_id(
self,
sender_session_id: impl IntoOption<SessionId>,
) -> SessionMessage
Available on crate feature unstable_subagents only.
pub fn sender_session_id( self, sender_session_id: impl IntoOption<SessionId>, ) -> SessionMessage
unstable_subagents only.Supplies the sending session identity, when known.
Sourcepub fn recipient_session_id(
self,
recipient_session_id: impl IntoOption<SessionId>,
) -> SessionMessage
Available on crate feature unstable_subagents only.
pub fn recipient_session_id( self, recipient_session_id: impl IntoOption<SessionId>, ) -> SessionMessage
unstable_subagents only.Supplies the receiving session identity, when known.
Sourcepub fn content(
self,
content: impl IntoMaybeUndefined<Vec<ContentBlock>>,
) -> SessionMessage
Available on crate feature unstable_subagents only.
pub fn content( self, content: impl IntoMaybeUndefined<Vec<ContentBlock>>, ) -> SessionMessage
unstable_subagents only.Replaces, clears, or omits the complete content patch.
Sourcepub fn meta(
self,
meta: impl IntoMaybeUndefined<Map<String, Value>>,
) -> SessionMessage
Available on crate feature unstable_subagents only.
pub fn meta( self, meta: impl IntoMaybeUndefined<Map<String, Value>>, ) -> SessionMessage
unstable_subagents only.Sets, clears, or omits the metadata patch.
Trait Implementations§
Source§impl Clone for SessionMessage
impl Clone for SessionMessage
Source§fn clone(&self) -> SessionMessage
fn clone(&self) -> SessionMessage
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 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<SessionMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SessionMessage, <__D as Deserializer<'de>>::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
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
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.