pub struct InvocationContext { /* private fields */ }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 AdkSession>,
) -> Result<Self>
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 AdkSession>, ) -> Result<Self>
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 AdkSession>, ) -> Result<Self>
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<Self>
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<Self>
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<Self>
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<Self>
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) -> Self
pub fn with_artifacts(self, artifacts: Arc<dyn Artifacts>) -> Self
pub fn with_memory(self, memory: Arc<dyn Memory>) -> Self
pub fn with_run_config(self, config: RunConfig) -> Self
Sourcepub fn with_request_context(self, ctx: RequestContext) -> Self
pub fn with_request_context(self, ctx: RequestContext) -> Self
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 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§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