pub struct InvocationContext { /* private fields */ }Implementations§
Source§impl InvocationContext
impl InvocationContext
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>, ) -> Self
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>,
) -> 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>, ) -> 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).
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
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>
Returns the invocation identifier as a typed
InvocationId. Read moreSource§fn try_identity(&self) -> Result<AdkIdentity, AdkError>
fn try_identity(&self) -> Result<AdkIdentity, AdkError>
Returns the stable session-scoped
AdkIdentity triple. Read moreSource§fn try_execution_identity(&self) -> Result<ExecutionIdentity, AdkError>
fn try_execution_identity(&self) -> Result<ExecutionIdentity, AdkError>
Returns the full per-invocation
ExecutionIdentity. Read moreAuto Trait Implementations§
impl Freeze for InvocationContext
impl !RefUnwindSafe for InvocationContext
impl Send for InvocationContext
impl Sync for InvocationContext
impl Unpin for InvocationContext
impl UnsafeUnpin for InvocationContext
impl !UnwindSafe for InvocationContext
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more