pub struct InvocationContext { /* private fields */ }runner only.Implementations§
Source§impl InvocationContext
impl InvocationContext
Sourcepub fn new_typed(
invocation_id: String,
agent: Arc<dyn Agent>,
user_id: UserId,
app_name: AppName,
session_id: SessionId,
user_content: Content,
session: Arc<dyn Session>,
) -> Result<InvocationContext, AdkError>
pub fn new_typed( invocation_id: String, agent: Arc<dyn Agent>, user_id: UserId, app_name: AppName, session_id: SessionId, user_content: Content, session: Arc<dyn Session>, ) -> Result<InvocationContext, AdkError>
Create a new invocation context from validated typed identifiers.
pub fn new( invocation_id: String, agent: Arc<dyn Agent>, user_id: String, app_name: String, session_id: String, user_content: Content, session: Arc<dyn Session>, ) -> Result<InvocationContext, AdkError>
Sourcepub fn with_mutable_session_typed(
invocation_id: String,
agent: Arc<dyn Agent>,
user_id: UserId,
app_name: AppName,
session_id: SessionId,
user_content: Content,
session: Arc<MutableSession>,
) -> Result<InvocationContext, AdkError>
pub fn with_mutable_session_typed( invocation_id: String, agent: Arc<dyn Agent>, user_id: UserId, app_name: AppName, session_id: SessionId, user_content: Content, session: Arc<MutableSession>, ) -> Result<InvocationContext, AdkError>
Create an invocation context that reuses an existing mutable session and validated typed identifiers.
Sourcepub fn with_mutable_session(
invocation_id: String,
agent: Arc<dyn Agent>,
user_id: String,
app_name: String,
session_id: String,
user_content: Content,
session: Arc<MutableSession>,
) -> Result<InvocationContext, AdkError>
pub fn with_mutable_session( invocation_id: String, agent: Arc<dyn Agent>, user_id: String, app_name: String, session_id: String, user_content: Content, session: Arc<MutableSession>, ) -> Result<InvocationContext, AdkError>
Create an InvocationContext with an existing MutableSession. This allows sharing the same mutable session across multiple contexts (e.g., for agent transfers).
pub fn with_branch(self, branch: String) -> InvocationContext
pub fn with_artifacts(self, artifacts: Arc<dyn Artifacts>) -> InvocationContext
pub fn with_memory(self, memory: Arc<dyn Memory>) -> InvocationContext
pub fn with_run_config(self, config: RunConfig) -> InvocationContext
Sourcepub fn with_request_context(self, ctx: RequestContext) -> InvocationContext
pub fn with_request_context(self, ctx: RequestContext) -> InvocationContext
Set the request context from the server’s auth middleware bridge.
When set, user_id() returns request_context.user_id (overriding
the session-scoped identity), and user_scopes() returns
request_context.scopes. This is the explicit authenticated user
override — RequestContext remains separate from ExecutionIdentity
and AdkIdentity (it does not carry session or invocation IDs).
Set the shared state for parallel agent coordination.
Sourcepub fn with_secret_service(
self,
service: Arc<dyn SecretService>,
) -> InvocationContext
pub fn with_secret_service( self, service: Arc<dyn SecretService>, ) -> InvocationContext
Set the secret service for runtime secret retrieval.
When configured, tools can call ctx.get_secret("name") to retrieve
secrets from the configured provider (e.g., AWS Secrets Manager,
Azure Key Vault, GCP Secret Manager).
Sourcepub fn mutable_session(&self) -> &Arc<MutableSession> ⓘ
pub fn mutable_session(&self) -> &Arc<MutableSession> ⓘ
Get a reference to the mutable session. This allows the Runner to apply state deltas when events are processed.
Trait Implementations§
Source§impl CallbackContext for InvocationContext
impl CallbackContext for InvocationContext
fn artifacts(&self) -> Option<Arc<dyn Artifacts>>
None when not running inside a ParallelAgent with shared state enabled.Source§fn tool_outcome(&self) -> Option<ToolOutcome>
fn tool_outcome(&self) -> Option<ToolOutcome>
None when not in a tool execution context.Source§fn tool_name(&self) -> Option<&str>
fn tool_name(&self) -> Option<&str>
Source§fn tool_input(&self) -> Option<&Value>
fn tool_input(&self) -> Option<&Value>
Source§impl InvocationContext for InvocationContext
impl InvocationContext for InvocationContext
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
Source§fn user_scopes(&self) -> Vec<String>
fn user_scopes(&self) -> Vec<String>
Source§fn request_metadata(&self) -> HashMap<String, Value>
fn request_metadata(&self) -> HashMap<String, Value>
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,
InvocationContext: 'async_trait,
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,
InvocationContext: 'async_trait,
Source§impl ReadonlyContext for InvocationContext
impl ReadonlyContext for InvocationContext
fn invocation_id(&self) -> &str
fn agent_name(&self) -> &str
fn user_id(&self) -> &str
fn app_name(&self) -> &str
fn session_id(&self) -> &str
fn branch(&self) -> &str
fn user_content(&self) -> &Content
Source§fn try_invocation_id(&self) -> Result<InvocationId, AdkError>
fn try_invocation_id(&self) -> Result<InvocationId, AdkError>
InvocationId. Read moreSource§fn try_identity(&self) -> Result<AdkIdentity, AdkError>
fn try_identity(&self) -> Result<AdkIdentity, AdkError>
AdkIdentity triple. Read moreSource§fn try_execution_identity(&self) -> Result<ExecutionIdentity, AdkError>
fn try_execution_identity(&self) -> Result<ExecutionIdentity, AdkError>
ExecutionIdentity. Read more