Member Junction
    Preparing search index...

    Realtime-session timeline grouping — re-exported from @memberjunction/conversations-runtime.

    The grouping pass was always pure TypeScript, but purity is not the same as living in the right package: while the only implementation sat behind an Angular import, the React Native thread rendered every session-stamped row as an ordinary chat bubble — the exact thing the module's own header calls wrong. It now lives in the runtime every surface shares.

    This file stays so the eleven call sites in this library keep importing from where they always did. Import from @memberjunction/conversations-runtime in new code.

    • Builds the renderable conversation timeline from the loaded detail rows (chronological, as the engine returns them):

      • rows WITHOUT an AgentSessionID pass through unchanged, in order;
      • rows WITH one collapse into ONE session block per session id, positioned where the session's FIRST stamped row sits. Later stamped rows of the same session (even when interleaved with normal messages) fold into that same block — one element per session, period.

      Session-id comparison is case-insensitive (NormalizeUUID) so SQL Server (uppercase) and PostgreSQL (lowercase) ids group identically.

      Type Parameters

      Parameters

      • details: readonly T[]

      Returns ConversationTimelineItem<T>[]