bodhi-realtime-agent / SessionActor
Class: SessionActor
Defined in: src/runtime/actors/session-actor.ts:40
Lifecycle hooks + message handler for an actor.
Implements
Constructors
Constructor
new SessionActor(
id,sendMessage,transportActorId,reconnectPolicy?,backgroundAgentHostId?,upstreamHeld?):SessionActor
Defined in: src/runtime/actors/session-actor.ts:47
Parameters
id
string
sendMessage
ActorSendFn
transportActorId
string
reconnectPolicy?
Partial<ReconnectPolicy>
backgroundAgentHostId?
string
Optional fan-out target for session.connected, session.reconnected, session.close_requested, transport.closed, and agent.transfer_completed mirror sends. Wired by RuntimeOrchestrator to 'background-agents' so the BackgroundAgentHostActor can drive BackgroundAgent.onStart / onReconnect / onStop / onAgentTransfer (and cancelOnTransfer cleanup). Omit (legacy / tests) to suppress fan-out.
upstreamHeld?
boolean = false
upstreamLossPolicy: 'hold': the session's TransportReconnector and host recovery own every redial, and a lost upstream is not a session end. A transport close or error then only marks the session reconnecting: no reconnect timers of its own, no agent stop; the next session_ready fans out session.reconnected. Agents stop on session close.
Returns
SessionActor
Properties
id
readonlyid:string
Defined in: src/runtime/actors/session-actor.ts:41
Unique actor identity.
Implementation of
Accessors
currentPhase
Get Signature
get currentPhase():
SessionPhase
Defined in: src/runtime/actors/session-actor.ts:79
Get the current session phase.
Returns
currentReconnectAttempt
Get Signature
get currentReconnectAttempt():
number
Defined in: src/runtime/actors/session-actor.ts:84
Get the current reconnect attempt count.
Returns
number
Methods
getReconnectDelay()
getReconnectDelay(
attempt):number
Defined in: src/runtime/actors/session-actor.ts:305
Compute the reconnect delay for a given attempt (for testing).
Parameters
attempt
number
Returns
number
onMessage()
onMessage(
envelope):Promise<void>
Defined in: src/runtime/actors/session-actor.ts:88
Handle one envelope. Called serially — no concurrent invocations.
Parameters
envelope
Returns
Promise<void>
Implementation of
onStop()
onStop(
_reason):Promise<void>
Defined in: src/runtime/actors/session-actor.ts:149
Called when the actor is stopped.
Parameters
_reason
string
Returns
Promise<void>