Only what the client can tell. The server-side AIAgentSession.CloseReason
column has more values than the client sees. Three are distinguishable
client-side (explicit = the host or user called EndRealtimeSession;
error = the runtime ended the call over a failure; deadline = the
session deadline ended it, stamped TimeLimit on the row). 'unknown'
covers any other client-observable end path. Janitor/shutdown happen
out-of-process and never reach the runtime — see the module-level scope cut.
An intentional superset copy of the realtime runtime's SessionEndReason (adds 'unknown'); it does not import
@memberjunction/realtime-runtime, to keep this domain runtime free of driver dependencies.
Why a session ended.
Only what the client can tell. The server-side
AIAgentSession.CloseReasoncolumn has more values than the client sees. Three are distinguishable client-side (explicit= the host or user calledEndRealtimeSession;error= the runtime ended the call over a failure;deadline= the session deadline ended it, stampedTimeLimiton the row).'unknown'covers any other client-observable end path. Janitor/shutdown happen out-of-process and never reach the runtime — see the module-level scope cut.An intentional superset copy of the realtime runtime's
SessionEndReason(adds'unknown'); it does not import@memberjunction/realtime-runtime, to keep this domain runtime free of driver dependencies.