SkillKit.Conversation.Store.Memory (SkillKit v0.1.0)

Copy Markdown View Source

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

start_link(opts \\ [])

@spec start_link(keyword()) :: Agent.on_start()

Starts a new in-memory store process.