Skip to main content

SessionRpcMetadata

Struct SessionRpcMetadata 

Source
pub struct SessionRpcMetadata<'a> { /* private fields */ }
Expand description

session.metadata.* RPCs.

Implementations§

Source§

impl<'a> SessionRpcMetadata<'a>

Source

pub async fn snapshot(&self) -> Result<SessionMetadataSnapshot, Error>

Returns a snapshot of the session’s identifying metadata, mode, agent, and remote info.

Wire method: session.metadata.snapshot.

§Returns

Point-in-time snapshot of slow-changing session identifier and state fields

Experimental. This API is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases. Pin both the SDK and CLI versions if your code depends on it.

Source

pub async fn is_processing(&self) -> Result<MetadataIsProcessingResult, Error>

Reports whether the local session is currently processing user/agent messages.

Wire method: session.metadata.isProcessing.

§Returns

Indicates whether the local session is currently processing a turn or background continuation.

Experimental. This API is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases. Pin both the SDK and CLI versions if your code depends on it.

Source

pub async fn context_info( &self, params: MetadataContextInfoRequest, ) -> Result<MetadataContextInfoResult, Error>

Returns the token breakdown for the session’s current context window for a given model.

Wire method: session.metadata.contextInfo.

§Parameters
  • params - Model identifier and token limits used to compute the context-info breakdown.
§Returns

Token breakdown for the session’s current context window, or null if uninitialized.

Experimental. This API is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases. Pin both the SDK and CLI versions if your code depends on it.

Source

pub async fn record_context_change( &self, params: MetadataRecordContextChangeRequest, ) -> Result<MetadataRecordContextChangeResult, Error>

Records a working-directory/git context change and emits a session.context_changed event.

Wire method: session.metadata.recordContextChange.

§Parameters
  • params - Updated working-directory/git context to record on the session.
§Returns

Notify the session that its working directory context has changed. Emits a session.context_changed event so consumers (telemetry, OTel tracker, ACP, the timeline UI) can react. Use this when the host has detected a cwd/branch/repo change outside the session’s normal lifecycle (e.g., after a shell command in interactive mode).

Experimental. This API is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases. Pin both the SDK and CLI versions if your code depends on it.

Source

pub async fn set_working_directory( &self, params: MetadataSetWorkingDirectoryRequest, ) -> Result<MetadataSetWorkingDirectoryResult, Error>

Updates the session’s recorded working directory.

Wire method: session.metadata.setWorkingDirectory.

§Parameters
  • params - Absolute path to set as the session’s new working directory.
§Returns

Update the session’s working directory. Used by the host when the user explicitly changes cwd (e.g., the /cd slash command). The host is responsible for process.chdir and any related side-effects (file index, etc.); this method only updates the session’s own recorded path.

Experimental. This API is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases. Pin both the SDK and CLI versions if your code depends on it.

Source

pub async fn recompute_context_tokens( &self, params: MetadataRecomputeContextTokensRequest, ) -> Result<MetadataRecomputeContextTokensResult, Error>

Re-tokenizes the session’s existing messages against a model and returns aggregate token totals.

Wire method: session.metadata.recomputeContextTokens.

§Parameters
  • params - Model identifier to use when re-tokenizing the session’s existing messages.
§Returns

Re-tokenize the session’s existing messages against modelId and return the token totals. Useful for hosts that want an initial estimate of context usage on session resume, before the next agent turn fires session.context_info_changed events. Returns zeros for an empty session.

Experimental. This API is part of an experimental wire-protocol surface and may change or be removed in future SDK or CLI releases. Pin both the SDK and CLI versions if your code depends on it.

Trait Implementations§

Source§

impl<'a> Clone for SessionRpcMetadata<'a>

Source§

fn clone(&self) -> SessionRpcMetadata<'a>

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<'a> Copy for SessionRpcMetadata<'a>

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