Skip to main content

V2Session

Struct V2Session 

Source
pub struct V2Session<Link>
where Link: HasPeer<Agent>,
{ /* private fields */ }
Available on crate feature unstable_protocol_v2 only.
Expand description

Cloneable command handle for a draft protocol v2 session.

Inbound protocol traffic is intentionally not owned by this value. Receive authoritative v2::UpdateSessionNotification values and interactive requests such as v2::RequestPermissionRequest through typed handlers installed on crate::Builder.

Implementations§

Source§

impl<Link> V2Session<Link>
where Link: HasPeer<Agent>,

Source

pub fn session_id(&self) -> &SessionId

Access the session ID.

Source

pub fn connection(&self) -> &V2ConnectionTo<Link>

Access the underlying connection.

Source

pub fn send_prompt(&self, prompt: impl ToString) -> SentRequest<PromptResponse>

Submit a text prompt and return its independent acceptance request.

A successful response only acknowledges that the agent accepted the prompt. The accepted user message, output, state changes, and completion arrive independently through v2::UpdateSessionNotification.

Source

pub fn send_prompt_blocks( &self, prompt: Vec<ContentBlock>, ) -> SentRequest<PromptResponse>

Submit arbitrary prompt content and return its acceptance request.

The SDK does not track foreground state or gate prompt submission locally. Wait for an idle state update before another ordinary prompt unless using a separately defined admission mechanism.

Source

pub fn cancel_active_work(&self) -> Result<(), Error>

Ask the agent to cancel the session’s current foreground work.

This is independent from cancelling a prompt’s SentRequest. Cancellation completes when the agent reports an idle state update with v2::StopReason::Cancelled. The client should immediately mark unfinished tool calls for the active work as cancelled and remains responsible for resolving every pending v2::RequestPermissionRequest with the cancelled outcome.

Source

pub fn set_config_option( &self, config_id: impl Into<SessionConfigId>, value: impl Into<SessionConfigOptionValue>, ) -> SentRequest<SetSessionConfigOptionResponse>

Set a session configuration option.

The response contains the full current option set. It is not cached on this command handle.

Source

pub fn close(&self) -> SentRequest<CloseSessionResponse>

Close the remote session and release its resources.

Existing clones of this local command handle are not invalidated, but the agent should reject subsequent commands for the closed session.

Trait Implementations§

Source§

impl<Link> Clone for V2Session<Link>
where Link: HasPeer<Agent> + Clone,

Source§

fn clone(&self) -> V2Session<Link>

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<Link> Debug for V2Session<Link>
where Link: HasPeer<Agent> + Debug,

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Link> !RefUnwindSafe for V2Session<Link>

§

impl<Link> !UnwindSafe for V2Session<Link>

§

impl<Link> Freeze for V2Session<Link>
where V2ConnectionTo<Link>: Freeze,

§

impl<Link> Send for V2Session<Link>
where V2ConnectionTo<Link>: Send,

§

impl<Link> Sync for V2Session<Link>
where V2ConnectionTo<Link>: Sync,

§

impl<Link> Unpin for V2Session<Link>
where V2ConnectionTo<Link>: Unpin,

§

impl<Link> UnsafeUnpin for V2Session<Link>

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> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoMaybeUndefined<T> for T

Source§

fn into_maybe_undefined(self) -> MaybeUndefined<T>

Converts this value into a three-state builder argument.
Source§

impl<T> IntoOption<T> for T

Source§

fn into_option(self) -> Option<T>

Converts this value into an optional builder argument.
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 = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more