pub trait Session: Send + Sync {
// Required methods
fn id(&self) -> &str;
fn app_name(&self) -> &str;
fn user_id(&self) -> &str;
fn state(&self) -> &dyn State;
fn conversation_history(&self) -> Vec<Content>;
// Provided methods
fn conversation_history_for_agent(&self, _agent_name: &str) -> Vec<Content> { ... }
fn append_to_history(&self, _content: Content) { ... }
fn try_app_name(&self) -> Result<AppName> { ... }
fn try_user_id(&self) -> Result<UserId> { ... }
fn try_session_id(&self) -> Result<SessionId> { ... }
fn try_identity(&self) -> Result<AdkIdentity> { ... }
}Required Methods§
fn id(&self) -> &str
fn app_name(&self) -> &str
fn user_id(&self) -> &str
fn state(&self) -> &dyn State
Sourcefn conversation_history(&self) -> Vec<Content>
fn conversation_history(&self) -> Vec<Content>
Returns the conversation history from this session as Content items
Provided Methods§
Sourcefn conversation_history_for_agent(&self, _agent_name: &str) -> Vec<Content>
fn conversation_history_for_agent(&self, _agent_name: &str) -> Vec<Content>
Returns conversation history filtered for a specific agent.
When provided, events authored by other agents (not “user”, not the named agent, and not function/tool responses) are excluded. This prevents a transferred sub-agent from seeing the parent’s tool calls mapped as “model” role, which would cause the LLM to think work is already done.
Default implementation delegates to conversation_history.
Sourcefn append_to_history(&self, _content: Content)
fn append_to_history(&self, _content: Content)
Append content to conversation history (for sequential agent support)
Sourcefn try_app_name(&self) -> Result<AppName>
fn try_app_name(&self) -> Result<AppName>
Returns the application name as a typed AppName.
Parses the value returned by app_name(). Returns an
error if the raw string fails validation (empty, null bytes, or exceeds
the maximum length).
§Errors
Returns AdkError::Config when the
underlying string is not a valid identifier.
Sourcefn try_user_id(&self) -> Result<UserId>
fn try_user_id(&self) -> Result<UserId>
Returns the user identifier as a typed UserId.
Parses the value returned by user_id(). Returns an
error if the raw string fails validation.
§Errors
Returns AdkError::Config when the
underlying string is not a valid identifier.
Sourcefn try_session_id(&self) -> Result<SessionId>
fn try_session_id(&self) -> Result<SessionId>
Returns the session identifier as a typed SessionId.
Parses the value returned by id(). Returns an error if
the raw string fails validation.
§Errors
Returns AdkError::Config when the
underlying string is not a valid identifier.
Sourcefn try_identity(&self) -> Result<AdkIdentity>
fn try_identity(&self) -> Result<AdkIdentity>
Returns the stable session-scoped AdkIdentity triple.
Combines try_app_name(),
try_user_id(), and
try_session_id() into a single composite
identity value.
§Errors
Returns an error if any of the three constituent identifiers fail validation.