include/lightspeed@agent@session_Session.hrl

-record(session, {
    id :: binary(),
    owner :: binary(),
    lifecycle :: lightspeed@agent@typestate:lifecycle(),
    reconnect_policy :: lightspeed@agent@session:reconnect_policy(),
    mounted_route :: gleam@option:option(binary()),
    counter :: integer(),
    next_patch_ref :: integer(),
    pending_rev :: list(lightspeed@agent@session:patch_envelope()),
    outbox_rev :: list(lightspeed@agent@session:outbox_message()),
    telemetry_rev :: list(lightspeed@agent@session:telemetry_event()),
    counter_static_sent :: boolean(),
    timeout_ms :: integer(),
    heartbeat_deadline_ms :: integer(),
    crashed :: boolean()
}).