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
getAllSessionsForUser()
getAllSessionsForUser(
userId):VoiceSession[]
Defined in: core/multi-user-session-manager.ts:115
Get all active sessions for a user.
Parameters
userId
string
Returns
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