<<<<<<< HEAD ======= >>>>>>> 0a75ee1214dbcf88620b703810fab9e09d8c89fb

SessionService

interface SessionService

Defines the contract for managing Sessions and their associated Events. Provides methods for creating, retrieving, listing, and deleting sessions, as well as listing and appending events to a session. Implementations of this interface handle the underlying storage and retrieval logic.

Inheritors

Functions

Link copied to clipboard
open suspend fun appendEvent(session: Session, event: Event): Event

Appends event to session, applying its state delta to the in-memory session and recording the event; temp: keys are applied to the in-memory state (so later agents in the invocation can read them) but removed from event before persistence.

Link copied to clipboard
open suspend fun closeSession(session: Session)

Closes a session.

Link copied to clipboard
abstract suspend fun createSession(key: SessionKey, state: Map<String, Any>? = null): Session

Creates a new session with the specified parameters.

Link copied to clipboard
abstract suspend fun deleteSession(key: SessionKey)

Deletes a specific session.

Link copied to clipboard
abstract suspend fun getSession(key: SessionKey, config: GetSessionConfig? = null): Session?

Retrieves a specific session, optionally filtering the events included.

Link copied to clipboard
abstract suspend fun listEvents(key: SessionKey): ListEventsResponse

Lists the events within a specific session.

Link copied to clipboard
abstract suspend fun listSessions(appName: String, userId: String): ListSessionsResponse

Lists sessions associated with a specific application and user.