Skip to main content

MessageChatAttachment

Struct MessageChatAttachment 

Source
pub struct MessageChatAttachment {
    pub label: String,
    pub range: Option<TextRange>,
    pub display_kind: Option<String>,
    pub meta: Option<JsonObject>,
    pub resource: Uri,
    pub end_turn: Option<String>,
}
Expand description

An attachment that references a chat transcript through a fixed completed turn.

The referenced chat MAY belong to a different session than the message’s chat. The attachment’s model representation identifies the chat in a way that hosts can resolve regardless of the session that owns it.

When endTurn is omitted, the host MUST resolve and pin the referenced chat’s latest completed turn when accepting the message. This lets clients attach a chat without knowing its turn identifiers. When provided, endTurn MUST reference a completed, retained turn. The host resolves the transcript from its first retained turn through the pinned turn, inclusive. Later turns do not change the context represented by an already-sent attachment.

When the referenced chat has no completed retained turns, the resolved transcript is empty and hosts MUST NOT reject the attachment on that basis.

Hosts MUST NOT recursively expand chat attachments found inside the referenced transcript. Clients SHOULD keep rendering label if the referenced chat is later pruned, and treat opening resource as best-effort.

Fields§

§label: String

A human-readable label for the attachment (e.g. the filename of a file attachment). Used for display in UI.

§range: Option<TextRange>

If defined, the range in {@link Message.text} that references this attachment. This is a text range, not a byte range.

§display_kind: Option<String>

Advisory display hint for clients rendering this attachment. Recognized values include:

  • 'image': the attachment is an image
  • 'document': the attachment is a textual document
  • 'symbol': the attachment is a code symbol (e.g. a function or class)
  • 'directory': the attachment is a folder
  • 'selection': the attachment is a selection within a document

Implementations MAY provide additional values; clients SHOULD fall back to a reasonable default when an unknown value is encountered.

§meta: Option<JsonObject>

Additional implementation-defined metadata for the attachment.

If the attachment was produced by the completions command, the client MUST preserve every property of _meta originally returned by the agent host when sending the user message containing the accepted completion.

§resource: Uri

URI of the referenced chat.

§end_turn: Option<String>

Last completed turn included in the referenced transcript. When omitted, the host pins the latest completed turn when accepting the message.

Trait Implementations§

Source§

impl Clone for MessageChatAttachment

Source§

fn clone(&self) -> MessageChatAttachment

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for MessageChatAttachment

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for MessageChatAttachment

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for MessageChatAttachment

Source§

fn eq(&self, other: &MessageChatAttachment) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for MessageChatAttachment

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for MessageChatAttachment

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.