Skip to content

bodhi-realtime-agent / MultiUserSessionManager

Class: MultiUserSessionManager

Defined in: core/multi-user-session-manager.ts:35

Manages a pool of VoiceSession instances for multiple concurrent users.

Constructors

Constructor

new MultiUserSessionManager(config?): MultiUserSessionManager

Defined in: core/multi-user-session-manager.ts:41

Parameters

config?

MultiUserSessionManagerConfig = {}

Returns

MultiUserSessionManager

Methods

cleanupIdleSessions()

cleanupIdleSessions(): Promise<number>

Defined in: core/multi-user-session-manager.ts:205

Cleanup idle sessions.

Returns

Promise<number>


closeAllSessionsForUser()

closeAllSessionsForUser(userId, reason?): Promise<void>

Defined in: core/multi-user-session-manager.ts:158

Close all sessions for a user.

Parameters

userId

string

reason?

string = 'user_logout'

Returns

Promise<void>


closeSession()

closeSession(sessionId, reason?): Promise<void>

Defined in: core/multi-user-session-manager.ts:141

Close and remove a session.

Parameters

sessionId

string

reason?

string = 'user_disconnect'

Returns

Promise<void>


createSession()

createSession(userId, sessionConfig, webSocketId?): Promise<VoiceSession>

Defined in: core/multi-user-session-manager.ts:56

Create a new VoiceSession for a user.

Parameters

userId

string

sessionConfig

Omit<VoiceSessionConfig, "sessionId" | "userId">

webSocketId?

string

Returns

Promise<VoiceSession>


getAllSessionMetadata()

getAllSessionMetadata(): SessionMetadata[]

Defined in: core/multi-user-session-manager.ts:198

Get all session metadata for API.

Returns

SessionMetadata[]


getAllSessionsForUser()

getAllSessionsForUser(userId): VoiceSession[]

Defined in: core/multi-user-session-manager.ts:115

Get all active sessions for a user.

Parameters

userId

string

Returns

VoiceSession[]


getSession()

getSession(sessionId): VoiceSession | null

Defined in: core/multi-user-session-manager.ts:101

Get a session by ID.

Parameters

sessionId

string

Returns

VoiceSession | null


getSessionMetadata()

getSessionMetadata(sessionId): SessionMetadata | null

Defined in: core/multi-user-session-manager.ts:108

Get session metadata.

Parameters

sessionId

string

Returns

SessionMetadata | null


getStats()

getStats(): object

Defined in: core/multi-user-session-manager.ts:166

Get statistics about active sessions.

Returns

object

newestSession

newestSession: number | null

oldestSession

oldestSession: number | null

sessionsByUser

sessionsByUser: Record<string, number>

totalSessions

totalSessions: number


shutdown()

shutdown(): Promise<void>

Defined in: core/multi-user-session-manager.ts:247

Stop the cleanup timer and close all sessions.

Returns

Promise<void>


updateActivity()

updateActivity(sessionId): void

Defined in: core/multi-user-session-manager.ts:131

Update last activity time for a session.

Parameters

sessionId

string

Returns

void

Built with VitePress