@agentskit/memory — Functions
API functions for @agentskit/memory.
#Function: adaptIoredis()
adaptIoredis(
io):RedisLike
Defined in: packages/memory/src/kv-store-redis.ts:74
Bridge an ioredis-style client to the RedisLike options-object shape.
#Parameters
#io
#del
#get
#keys
#set
#Returns
#Function: chroma()
chroma(
config):VectorMemory
Defined in: packages/memory/src/vector/chroma.ts:36
#Parameters
#config
#Returns
VectorMemory
#Function: createEncryptedMemory()
createEncryptedMemory(
options):Promise<ChatMemory>
Defined in: packages/memory/src/encrypted.ts:68
#Parameters
#options
#Returns
Promise<ChatMemory>
#Function: createFileStore()
createFileStore(
config):AgentskitMemoryStore
Defined in: packages/memory/src/kv-store-basic.ts:52
#Parameters
#config
#Returns
#Function: createHierarchicalMemory()
createHierarchicalMemory(
options):HierarchicalMemory
Defined in: packages/memory/src/hierarchical.ts:71
MemGPT-style tiered memory. Three tiers:
- working: always-loaded hot window (bounded by
workingLimit). - recall: mid-term searchable layer (usually a vector store).
- archival: cold store that always holds the full conversation.
On every save, new messages are appended to archival, messages
that overflow the working window are indexed into recall, and the
working tier is trimmed to workingLimit.
On every load, the hub returns working + up to recallTopK
messages surfaced by the recall tier, spliced chronologically.
#Parameters
#options
#Returns
#Function: createInMemoryGraph()
createInMemoryGraph():
GraphMemory
Defined in: packages/memory/src/graph.ts:54
In-memory graph — fine for tests, single-process demos, and as reference for what a backing store needs to implement.
#Returns
#Function: createInMemoryPersonalization()
createInMemoryPersonalization():
PersonalizationStore
Defined in: packages/memory/src/personalization.ts:27
In-memory personalization store — tests, single-process demos. Bring your own for production (Postgres, Redis, DynamoDB).
#Returns
#Function: createInMemoryStore()
createInMemoryStore(
config):AgentskitMemoryStore
Defined in: packages/memory/src/kv-store-basic.ts:30
#Parameters
#config
#Returns
#Function: createKvMemoryFromConfig()
createKvMemoryFromConfig(
__namedParameters):AgentskitMemoryStore
Defined in: packages/memory/src/kv-store-factory.ts:55
#Parameters
#__namedParameters
#Returns
#Function: createKvMemoryFromConfigAuto()
createKvMemoryFromConfigAuto(
config):Promise<AgentskitMemoryStore>
Defined in: packages/memory/src/kv-store-factory.ts:112
#Parameters
#config
#Returns
Promise<AgentskitMemoryStore>
#Function: createLocalStorageStore()
createLocalStorageStore(
__namedParameters):AgentskitMemoryStore
Defined in: packages/memory/src/kv-store-basic.ts:119
#Parameters
#__namedParameters
#Returns
#Function: createRedisStore()
createRedisStore(
__namedParameters):AgentskitMemoryStore
Defined in: packages/memory/src/kv-store-redis.ts:16
#Parameters
#__namedParameters
#Returns
#Function: createSqliteStore()
createSqliteStore(
__namedParameters):AgentskitMemoryStore
Defined in: packages/memory/src/kv-store-sqlite.ts:17
#Parameters
#__namedParameters
#Returns
#Function: createVectorStore()
createVectorStore(
__namedParameters):AgentskitMemoryStore&object
Defined in: packages/memory/src/kv-store-vector.ts:20
#Parameters
#__namedParameters
#Returns
AgentskitMemoryStore & object
#Function: createWebStorageMemory()
createWebStorageMemory(
__namedParameters):ChatMemory
Defined in: packages/memory/src/web-storage.ts:75
Creates a validated, bounded ChatMemory over an injected browser Web Storage backend. The storage getter is evaluated lazily so browser globals can remain SSR-safe.
#Parameters
#__namedParameters
#Returns
ChatMemory
#Function: fileChatMemory()
fileChatMemory(
path):ChatMemory
Defined in: packages/memory/src/file-chat.ts:24
ChatMemory backed by a JSON file on disk. Node-only.
Implements the Memory contract (ADR 0003):
- load() returns a snapshot (CM1)
- save() is replace-all, not append (CM2)
- empty state returns [] (CM5)
- clear() is optional but provided here
#Parameters
#path
string
#Returns
ChatMemory
#Function: fileVectorMemory()
fileVectorMemory(
config):VectorMemory
Defined in: packages/memory/src/file-vector.ts:93
#Parameters
#config
#Returns
VectorMemory
#Function: forgetSubject()
forgetSubject(
memories,subjectId):Promise<ForgetSubjectResult>
Defined in: packages/memory/src/forget.ts:71
Walk every memory passed in and run forgetSubject(subjectId) on
any that implement it. Missing capabilities are reported so callers
cannot mistake a partial deletion for a complete one.
#Parameters
#memories
unknown[]
#subjectId
string
#Returns
Promise<ForgetSubjectResult>
#Function: isMemoryBackendSupported()
isMemoryBackendSupported(
backend):boolean
Defined in: packages/memory/src/kv-store-factory.ts:43
#Parameters
#backend
"in-memory" | "file" | "sqlite" | "redis" | "vector" | "localstorage"
#Returns
boolean
#Function: makeForgettable()
makeForgettable<
M>(memory,options):M&ForgettableMemory
Defined in: packages/memory/src/forget.ts:104
Helper for backends that key records by metadata.subjectId. Wraps
any delete(ids)-style API into a ForgettableMemory.
#Type Parameters
#M
M extends object
#Parameters
#memory
M
#options
#backend
string
#deleteIds
(ids) => Promise<void>
#listIds
(subjectId) => Promise<string[]>
#Returns
#Function: matchesFilter()
matchesFilter(
metadata,filter):boolean
Defined in: packages/memory/src/vector/filter.ts:37
Evaluate a VectorFilter against a metadata record. Used by in-memory /
file-backed vector stores. Backends with native filter languages (pgvector,
Pinecone, Qdrant, etc.) translate the filter to their own form instead.
#Parameters
#metadata
Record<string, unknown> | undefined
#filter
VectorFilter | undefined
#Returns
boolean
#Function: milvusVectorStore()
milvusVectorStore(
config):VectorMemory
Defined in: packages/memory/src/vector/milvus.ts:31
#Parameters
#config
#Returns
VectorMemory
#Function: mongoAtlasVectorStore()
mongoAtlasVectorStore(
config):VectorMemory
Defined in: packages/memory/src/vector/mongo-atlas.ts:30
#Parameters
#config
#Returns
VectorMemory
#Function: pgvector()
pgvector(
config):VectorMemory
Defined in: packages/memory/src/vector/pgvector.ts:31
#Parameters
#config
#Returns
VectorMemory
#Function: pinecone()
pinecone(
config):VectorMemory
Defined in: packages/memory/src/vector/pinecone.ts:25
#Parameters
#config
#Returns
VectorMemory
#Function: qdrant()
qdrant(
config):VectorMemory
Defined in: packages/memory/src/vector/qdrant.ts:49
#Parameters
#config
#Returns
VectorMemory
#Function: redisChatMemory()
redisChatMemory(
config):ChatMemory
Defined in: packages/memory/src/redis-chat.ts:26
#Parameters
#config
#Returns
ChatMemory
#Function: redisVectorMemory()
redisVectorMemory(
config):VectorMemory
Defined in: packages/memory/src/redis-vector.ts:19
#Parameters
#config
#Returns
VectorMemory
#Function: renderProfileContext()
renderProfileContext(
profile):string
Defined in: packages/memory/src/personalization.ts:63
Render a profile into a system-prompt fragment the runtime can prepend. Kept intentionally short — full profile dumps bloat context and leak unnecessary detail to the model.
#Parameters
#profile
PersonalizationProfile | null
#Returns
string
#Function: sqliteChatMemory()
sqliteChatMemory(
config):ChatMemory
Defined in: packages/memory/src/sqlite.ts:49
#Parameters
#config
#Returns
ChatMemory
#Function: supabaseVectorStore()
supabaseVectorStore(
config):VectorMemory
Defined in: packages/memory/src/vector/supabase.ts:79
Supabase-hosted pgvector using direct PostgREST mutations and one
purpose-specific similarity-search RPC. The service-role key stays
server-side and @supabase/supabase-js is loaded lazily.
#Parameters
#config
#Returns
VectorMemory
#Function: tryDefaultRedisClient()
tryDefaultRedisClient(
url):Promise<RedisLike|undefined>
Defined in: packages/memory/src/kv-store-redis.ts:88
Lazy-import redis (node-redis v4), connect, and return a client; undefined if absent.
#Parameters
#url
string
#Returns
Promise<RedisLike | undefined>
#Function: tryDefaultSqliteOpener()
tryDefaultSqliteOpener():
Promise<SqliteOpener|undefined>
Defined in: packages/memory/src/kv-store-sqlite.ts:71
Lazy-import better-sqlite3 and return an opener, or undefined when the
optional peer dep is absent (caller surfaces AK_MEMORY_PEER_MISSING).
#Returns
Promise<SqliteOpener | undefined>
#Function: tursoChatMemory()
tursoChatMemory(
config):ChatMemory
Defined in: packages/memory/src/turso.ts:65
libSQL / Turso-backed chat memory. Mirrors the sqliteChatMemory shape so
code paths can swap between local SQLite and replicated libSQL by changing
one import.
@libsql/client is an optional peer dependency loaded lazily.
#Parameters
#config
#Returns
ChatMemory
#Function: upstashVector()
upstashVector(
config):VectorMemory
Defined in: packages/memory/src/vector/upstash.ts:29
Upstash Vector — HTTP-only serverless vector DB. The REST surface is tiny enough to implement directly without pulling the SDK.
#Parameters
#config
#Returns
VectorMemory
#Function: weaviateVectorStore()
weaviateVectorStore(
config):VectorMemory
Defined in: packages/memory/src/vector/weaviate.ts:31
#Parameters
#config
#Returns
VectorMemory
#Function: wrapChatMemoryWithRedaction()
wrapChatMemoryWithRedaction(
inner,options):ChatMemory
Defined in: packages/memory/src/redaction.ts:81
#Parameters
#inner
ChatMemory
#options
#Returns
ChatMemory
#Function: wrapVectorMemoryWithRedaction()
wrapVectorMemoryWithRedaction(
inner,options):VectorMemory
Defined in: packages/memory/src/redaction.ts:118
Wrap any VectorMemory so each document's content is redacted (or
tokenized) before store(). search() and delete() pass through.
Note: embeddings pass through verbatim. Customers who embed plaintext PII separately (e.g. via a hosted embedding provider) must redact the input to their embedder, not just to this wrapper.
#Parameters
#inner
VectorMemory
#options
#Returns
VectorMemory