#[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>,
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 more