One row on the MCP Sessions list. Covers OAuth tokens, header credentials, and pending flows (of either kind). Always-set fields are at the top; per-kind-only fields use omitempty.
Summary
Types
@type t() :: %ExBifrost.Model.McpSessionRow{ auth_kind: String.t(), auth_mode: String.t(), can_reauth: boolean(), created_at: DateTime.t(), expires_at: DateTime.t() | nil, id: String.t(), kind: String.t(), last_refreshed_at: DateTime.t() | nil, mcp_client: ExBifrost.Model.McpClientSummary.t() | nil, oauth_config_id: String.t() | nil, session_id: String.t() | nil, status: String.t(), updated_at: DateTime.t() | nil, user: ExBifrost.Model.McpUserSummary.t() | nil, user_id: String.t() | nil, virtual_key: ExBifrost.Model.McpVirtualKeySummary.t() | nil }