Why an agent session was closed — the server-side channel plugin's view of the session-close
provenance. Mirrors the MJ: AI Agent Sessions.CloseReason value list (SessionCloseReason in
@memberjunction/server): 'Explicit' (user hang-up), 'Janitor' (orphan reconciliation),
'Shutdown' (graceful host drain), 'Error' (failure-path teardown), 'TimeLimit' (the session's authored
deadline passed), 'Idle' (no activity past the idle threshold). null reaches the plugin
only for legacy rows closed before the column existed (or when the reason was never stamped).
Why an agent session was closed — the server-side channel plugin's view of the session-close provenance. Mirrors the
MJ: AI Agent Sessions.CloseReasonvalue list (SessionCloseReasonin@memberjunction/server):'Explicit'(user hang-up),'Janitor'(orphan reconciliation),'Shutdown'(graceful host drain),'Error'(failure-path teardown),'TimeLimit'(the session's authored deadline passed),'Idle'(no activity past the idle threshold).nullreaches the plugin only for legacy rows closed before the column existed (or when the reason was never stamped).