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§
- Chat
Item Id - Stable identifier of one ordered message or status item.
- Chat
Message - One provider-neutral item in a chat’s stable display order.
- Chat
Request Id - Correlation identifier for one provider request.
- Chat
Session Id - Stable identifier of one chat session.
- Chat
Session State - Serializable, ordered state of one chat session.
- Chat
Session Summary - Compact owned projection of a
ChatSessionStatefor lists and navigation.
Enums§
- Chat
Event - Incremental change understood by
ChatSessionState::apply_event. - Chat
Message Kind - Presentation category of a chat item.
- Chat
Message Status - Delivery lifecycle of one
ChatMessage. - Chat
Role - Semantic author of a
ChatMessage. - Chat
Session Status - Aggregate lifecycle of a
ChatSessionState.