#[non_exhaustive]pub struct NewSessionResponse {
pub session_id: SessionId,
pub modes: Option<SessionModeState>,
pub config_options: Option<Vec<SessionConfigOption>>,
pub meta: Option<Meta>,
}Expand description
Response from creating a new session.
See protocol docs: Creating a Session
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.session_id: SessionIdUnique identifier for the created session.
Used in all subsequent requests for this conversation.
modes: Option<SessionModeState>Initial mode state if supported by the Agent
See protocol docs: Session Modes
config_options: Option<Vec<SessionConfigOption>>Initial session configuration options if supported by the Agent.
meta: Option<Meta>The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys.
See protocol docs: Extensibility
Implementations§
Source§impl NewSessionResponse
impl NewSessionResponse
Sourcepub fn new(session_id: impl Into<SessionId>) -> Self
pub fn new(session_id: impl Into<SessionId>) -> Self
Builds NewSessionResponse with the required response fields set; optional fields start unset or empty.
Sourcepub fn modes(self, modes: impl IntoOption<SessionModeState>) -> Self
pub fn modes(self, modes: impl IntoOption<SessionModeState>) -> Self
Initial mode state if supported by the Agent
See protocol docs: Session Modes
Sourcepub fn config_options(
self,
config_options: impl IntoOption<Vec<SessionConfigOption>>,
) -> Self
pub fn config_options( self, config_options: impl IntoOption<Vec<SessionConfigOption>>, ) -> Self
Initial session configuration options if supported by the Agent.
Sourcepub fn meta(self, meta: impl IntoOption<Meta>) -> Self
pub fn meta(self, meta: impl IntoOption<Meta>) -> Self
The _meta property is reserved by ACP to allow clients and agents to attach additional metadata to their interactions. Implementations MUST NOT make assumptions about values at these keys.
See protocol docs: Extensibility
Trait Implementations§
Source§impl Clone for NewSessionResponse
impl Clone for NewSessionResponse
Source§fn clone(&self) -> NewSessionResponse
fn clone(&self) -> NewSessionResponse
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 NewSessionResponse
impl Debug for NewSessionResponse
Source§impl<'de> Deserialize<'de> for NewSessionResponse
impl<'de> Deserialize<'de> for NewSessionResponse
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 NewSessionResponse
Source§impl IntoV2 for NewSessionResponse
Available on crate feature unstable_protocol_v2 only.
impl IntoV2 for NewSessionResponse
unstable_protocol_v2 only.Source§impl JsonSchema for NewSessionResponse
impl JsonSchema for NewSessionResponse
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 NewSessionResponse
impl PartialEq for NewSessionResponse
Source§fn eq(&self, other: &NewSessionResponse) -> bool
fn eq(&self, other: &NewSessionResponse) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for NewSessionResponse
impl Serialize for NewSessionResponse
impl StructuralPartialEq for NewSessionResponse
Auto Trait Implementations§
impl Freeze for NewSessionResponse
impl RefUnwindSafe for NewSessionResponse
impl Send for NewSessionResponse
impl Sync for NewSessionResponse
impl Unpin for NewSessionResponse
impl UnsafeUnpin for NewSessionResponse
impl UnwindSafe for NewSessionResponse
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.