Class ConversationSession

java.lang.Object
io.jmix.dynmodelai.session.ConversationSession

public final class ConversationSession extends Object
Owns one open Conversation's temporary work. Run, question and execution control are accessed only within this Conversation's command queue; different Conversations have different queues.

The watchdog reads lastSeen outside the queue and rechecks it in a queued command. Workspace and Draft lookups may scan other sessions, so their published references are volatile. Draft-capacity eviction can clear ConversationSession.DraftReference.value from another Conversation's queue. Event lookup can also run before entering the owning queue, hence the concurrent event map; each buffer's mutation still belongs to that queue. Volatile references do not make workspace mutations safe outside the owning command.