ConversationEvent

sealed class ConversationEvent(val conversationId: UUID) : CoreEvent

Events scoped to a specific conversation, identified by conversationId.

These events are emitted both through CoreClient.events (for all conversations) and through ConversationClient.events (filtered to one conversation). Use the ConversationClient variant when building per-conversation UI.

Samples

scope.launch {
    conversationClient.events.collect { event ->
        when (event) {
            is ConversationEvent.Entry -> { /* Display the new entry in the chat feed */ }
            is ConversationEvent.ProgressIndicator -> { /* Show typing indicator */ }
            is ConversationEvent.QueuePosition -> { /* Update queue position UI */ }
            else -> {}
        }
    }
}

Inheritors

Constructors

Link copied to clipboard
protected constructor(conversationId: UUID)

Types

Link copied to clipboard
data class Entry(val conversationEntry: ConversationEntry) : CoreEvent.ConversationEvent

Emitted when a new entry is added to the conversation by any participant.

Link copied to clipboard

Emitted when the agent is actively composing a response.

Link copied to clipboard
data class QueuePosition(val conversationEntry: ConversationEntry) : CoreEvent.ConversationEvent

Emitted when the end user's position in the agent queue changes.

Properties

Link copied to clipboard

The unique identifier of the conversation this event belongs to.