Memory.Project (fnord v0.9.29)
View SourceProject-level memory storage implementation for the Memory behaviour.
Project memory uses the shared file-backed store in Memory.FileStore. This
module primarily resolves the current project and derives the runtime storage
paths for that shared store.
Summary
Functions
Returns decoded memories for the current project for integration points that
need full Memory.t() structs.
Saves a memory into the given project without changing the currently selected project.
Returns the project-scoped memory storage directory, or {:error, ...}
when no project is selected. Exposed so callers can build per-memory
lock paths without importing the internal store/1 helper.
Functions
Returns decoded memories for the current project for integration points that
need full Memory.t() structs.
Use list_memories/0 when callers need decoded memory records. Use list/0
for the title-oriented listing required by the Memory behaviour.
@spec save_into(Store.Project.t() | binary(), Memory.t()) :: :ok | {:error, term()}
Saves a memory into the given project without changing the currently selected project.
Accepts either a %Store.Project{} struct or a project name binary.
Returns the project-scoped memory storage directory, or {:error, ...}
when no project is selected. Exposed so callers can build per-memory
lock paths without importing the internal store/1 helper.