Skip to main content

InvocationContext

Trait InvocationContext 

Source
pub trait InvocationContext: CallbackContext {
    // Required methods
    fn agent(&self) -> Arc<dyn Agent> ;
    fn memory(&self) -> Option<Arc<dyn Memory>>;
    fn session(&self) -> &dyn Session;
    fn run_config(&self) -> &RunConfig;
    fn end_invocation(&self);
    fn ended(&self) -> bool;

    // Provided methods
    fn user_scopes(&self) -> Vec<String> { ... }
    fn request_metadata(&self) -> HashMap<String, Value> { ... }
    fn get_secret<'life0, 'life1, 'async_trait>(
        &'life0 self,
        _name: &'life1 str,
    ) -> Pin<Box<dyn Future<Output = Result<Option<String>, AdkError>> + Send + 'async_trait>>
       where 'life0: 'async_trait,
             'life1: 'async_trait,
             Self: Sync + 'async_trait { ... }
}
Expand description

Full invocation context available to agents during execution.

Extends CallbackContext with access to the agent itself, memory, session, and run configuration.

Required Methods§

Source

fn agent(&self) -> Arc<dyn Agent>

Returns the agent being executed.

Source

fn memory(&self) -> Option<Arc<dyn Memory>>

Returns the memory service, if one is configured.

Source

fn session(&self) -> &dyn Session

Returns the current session.

Source

fn run_config(&self) -> &RunConfig

Returns the run configuration for this invocation.

Source

fn end_invocation(&self)

Signals that this invocation should end after the current turn.

Source

fn ended(&self) -> bool

Returns whether the invocation has been ended.

Provided Methods§

Source

fn user_scopes(&self) -> Vec<String>

Returns the scopes granted to the current user for this invocation.

When a RequestContext is present (set by the server’s auth middleware bridge), this returns the scopes from that context. The default returns an empty vec (no scopes granted).

Source

fn request_metadata(&self) -> HashMap<String, Value>

Returns the request metadata from the auth middleware bridge, if present.

This provides access to custom key-value pairs extracted from the HTTP request by the RequestContextExtractor.

Source

fn get_secret<'life0, 'life1, 'async_trait>( &'life0 self, _name: &'life1 str, ) -> Pin<Box<dyn Future<Output = Result<Option<String>, AdkError>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: Sync + 'async_trait,

Retrieve a secret by name from the configured secret provider.

Returns Ok(Some(value)) when a provider is configured and the secret exists, Ok(None) when no provider is configured, or an error on provider failure. The default returns Ok(None).

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§