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).
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>
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