Skip to content

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 ​

readonly id: string

Defined in: src/runtime/actors/session-actor.ts:41

Unique actor identity.

Implementation of ​

Actor.id

Accessors ​

currentPhase ​

Get Signature ​

get currentPhase(): SessionPhase

Defined in: src/runtime/actors/session-actor.ts:79

Get the current session phase.

Returns ​

SessionPhase


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 ​

Envelope

Returns ​

Promise<void>

Implementation of ​

Actor.onMessage


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>

Implementation of ​

Actor.onStop

Built with VitePress