Low-level query helpers for canonical Jido.Messaging records.
These helpers intentionally return messaging structs, not UI maps. Apps can build their own chat contexts and projections while reusing common timeline and thread grouping behavior.
Summary
Functions
Groups room messages into top-level timeline messages, thread replies, and reply counts.
Types
@type room_timeline() :: %{ messages: [Jido.Messaging.Message.t()], threads: %{optional(String.t()) => [Jido.Messaging.Message.t()]}, reply_counts: %{optional(String.t()) => non_neg_integer()} }
Functions
@spec room_timeline([Jido.Messaging.Message.t()]) :: room_timeline()
Groups room messages into top-level timeline messages, thread replies, and reply counts.