Module chat

Source
Expand description

Pure transport-agnostic chat session and message state.

§Examples

use ailloli_ui_core::chat::{ChatSessionId, ChatSessionState};
assert!(ChatSessionState::new(ChatSessionId::new("1"), "Demo").messages.is_empty());

Transport-neutral chat identifiers, snapshots, and reducer events.

The types in this module contain no provider handles or I/O. They model an ordered UI snapshot that a provider adapter can update through ChatEvent.

Structs§

ChatItemId
Stable identifier of one ordered message or status item.
ChatMessage
One provider-neutral item in a chat’s stable display order.
ChatRequestId
Correlation identifier for one provider request.
ChatSessionId
Stable identifier of one chat session.
ChatSessionState
Serializable, ordered state of one chat session.
ChatSessionSummary
Compact owned projection of a ChatSessionState for lists and navigation.

Enums§

ChatEvent
Incremental change understood by ChatSessionState::apply_event.
ChatMessageKind
Presentation category of a chat item.
ChatMessageStatus
Delivery lifecycle of one ChatMessage.
ChatRole
Semantic author of a ChatMessage.
ChatSessionStatus
Aggregate lifecycle of a ChatSessionState.