Skip to main content

Ctx

Struct Ctx 

Source
pub struct Ctx { /* private fields */ }
Expand description

What an operation knows about its call besides its arguments.

Implementations§

Source§

impl Ctx

Source

pub fn space(&self) -> &Space

The tenant, end user and project the call works on, as the identity seam resolved them.

Source

pub fn is_cancelled(&self) -> bool

Whether the caller cancelled the call. An operation checks this between steps and stops where its state is whole; the kit never stops it half way.

Source

pub async fn cancelled(&self)

Completes when the caller cancels the call, for an operation that waits on something it can abandon.

Source

pub fn ask<T: DeserializeOwned + JsonSchema + 'static>( &self, key: &str, message: &str, ) -> Result<Option<T>, NeedsInput>

Asks the user a question, identified by key, whose answer has the form of T (a struct of primitive fields, whose doc comments label the form). Returns the answer once the user gave it, None when they declined, and NeedsInput the first time: return that from the operation, which runs again, from the start, with the answer. Ask from the operation’s own task, not from one it spawns.

Source

pub fn ask_url( &self, key: &str, message: &str, url: &str, ) -> Result<bool, NeedsInput>

Asks the user to open url and do something there that must not pass through the client, such as signing in elsewhere or paying, as MCP’s URL elicitation has it. Returns whether they agreed to go; what they did there reaches the module out of band, so the operation checks it when it runs again and asks again if it is not done.

Source

pub fn attach(&self, content: Content)

Returns content beside a tool’s structured result: an image, audio, text, or a resource by link or carried along, in the order attached. Resource reads and prompts return their own content instead.

Source

pub fn updated(&self, uri: impl Into<String>)

Says the resource at uri changed, so clients listening for it in this space are told once the call ends.

Source

pub async fn progress( &self, done: f64, total: Option<f64>, message: Option<&str>, )

Tells the caller how far the operation is: done of total, if the total is known. A no-op for a caller that asked for no progress.

Trait Implementations§

Source§

impl Clone for Ctx

Source§

fn clone(&self) -> Self

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

Auto Trait Implementations§

§

impl !RefUnwindSafe for Ctx

§

impl !UnwindSafe for Ctx

§

impl Forget for Ctx

§

impl Freeze for Ctx

§

impl Send for Ctx

§

impl Sync for Ctx

§

impl Unpin for Ctx

§

impl UnsafeUnpin for Ctx

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 = !

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