LemonRouter. SessionState
(lemon_router v0.1.0)
View Source
Pure state container for router-owned per-conversation queue semantics.
Summary
Types
@type active_run() :: %{ :run_id => binary(), :session_key => binary(), optional(:pid) => pid() | nil, optional(:mon_ref) => reference() | nil, optional(:submission) => LemonRouter.Submission.t() }
@type pending_steer_entry() :: {queued_submission(), atom()}
@type queued_submission() :: LemonRouter.Submission.t()
@type t() :: %LemonRouter.SessionState{ active: active_run() | nil, conversation_key: term(), last_followup_at_ms: integer() | nil, pending_steers: %{optional(binary()) => [pending_steer_entry()]}, queue: [queued_submission()] }