A2a Session Manager
Creates and tracks A2aSessions. Hold one per app (alongside the OtvSdkClient) so sessions outlive Activities. Sessions are in memory only and do not survive process death. Several sessions may be active at once; each has its own conversation context.
Functions
Finds a managed session by its current context id.
Continues the conversation with the given server-issued contextId. If a live session already uses that id it is returned, so one conversation never has two sessions. Otherwise a new session starts with that id; if the server no longer knows it (contexts are kept about 30 minutes) it starts a new conversation and the session's A2aSession.contextId changes. Ids are not persisted by the SDK.
Starts a session. It has no id yet: the server issues the context id with the first response, after which the session can also be found with getSession.
Stops and forgets the session. Returns false if it is not managed here.
Stops the session with the given server-issued context id. Returns false if unknown.