In-memory conversation store backed by an Agent process.
Designed for testing. Stores messages in a map keyed by conversation ID. Optionally notifies a process on each save, which is useful for asserting that persistence happened without polling.
Config
{:ok, pid} = SkillKit.Conversation.Store.Memory.start_link()
{SkillKit.Conversation.Store.Memory, pid: pid}Notifications
Pass notify: pid in the config to receive messages on save:
{SkillKit.Conversation.Store.Memory, pid: pid, notify: self()}Each save sends {:memory_store, :save, conversation_id, messages} to
the notify process.
Summary
Functions
Starts a new in-memory store process.
Functions
@spec start_link(keyword()) :: Agent.on_start()
Starts a new in-memory store process.