LemonMemory. Providers
(lemon_memory v0.1.0)
View Source
Supervised registry and fan-out search boundary for memory providers.
Lemon always includes the local SQLite provider. Additional BEAM providers can register at runtime and are queried through this module, which gives the agent one stable memory-search surface while keeping external providers isolated by timeout and exception handling.
Summary
Functions
Returns a specification to start this module under a supervisor.
Fan out a memory document to enabled providers.
Register or replace a BEAM memory provider.
Search enabled providers and return merged memory documents.
Returns redacted provider metadata suitable for operators and support bundles.
Remove a registered provider. The built-in local provider cannot be removed.
Types
Functions
Returns a specification to start this module under a supervisor.
See Supervisor.
@spec put( LemonMemory.Document.t(), keyword() ) :: :ok
Fan out a memory document to enabled providers.
The call is fire-and-forget. Providers are invoked inside this GenServer and failures are logged but never returned to callers finalizing a run.
@spec register_provider(provider_spec() | keyword()) :: :ok | {:error, term()}
Register or replace a BEAM memory provider.
@spec register_provider(GenServer.server(), provider_spec() | keyword()) :: :ok | {:error, term()}
@spec search( binary(), keyword() ) :: [LemonMemory.Document.t()]
Search enabled providers and return merged memory documents.
Returns redacted provider metadata suitable for operators and support bundles.
Remove a registered provider. The built-in local provider cannot be removed.
@spec unregister_provider(GenServer.server(), String.t()) :: :ok | {:error, term()}