MemoryManager
@daydreamsai/core / MemoryManager
Interface: MemoryManager<TContext>
Defined in: packages/core/src/memory/types.ts:238
Memory manager for handling memory pressure
Type Parameters
TContext
TContext
extends AnyContext
= AnyContext
Properties
compress()?
optional
compress: (ctx
,entries
,agent
) =>string
|Promise
<string
>
Defined in: packages/core/src/memory/types.ts:255
Called to compress/summarize old entries into a compact representation
Parameters
ctx
AgentContext
<TContext
>
entries
AnyRef
[]
agent
Returns
string
| Promise
<string
>
maxSize?
optional
maxSize:number
Defined in: packages/core/src/memory/types.ts:262
Maximum number of entries before triggering memory management
onMemoryPressure()?
optional
onMemoryPressure: (ctx
,workingMemory
,agent
) =>WorkingMemory
|Promise
<WorkingMemory
>
Defined in: packages/core/src/memory/types.ts:240
Called when memory needs pruning due to size constraints
Parameters
ctx
AgentContext
<TContext
>
workingMemory
agent
Returns
WorkingMemory
| Promise
<WorkingMemory
>
preserve?
optional
preserve:object
Defined in: packages/core/src/memory/types.ts:268
Whether to preserve certain types of entries during pruning
actionNames?
optional
actionNames:string
[]
Always keep action calls with these names
custom()?
optional
custom: (entry
,ctx
) =>boolean
Custom preservation logic
Parameters
entry
ctx
AgentContext
<TContext
>
Returns
boolean
recentInputs?
optional
recentInputs:number
Always keep the last N inputs
recentOutputs?
optional
recentOutputs:number
Always keep the last N outputs
shouldPrune()?
optional
shouldPrune: (ctx
,workingMemory
,newEntry
,agent
) =>boolean
|Promise
<boolean
>
Defined in: packages/core/src/memory/types.ts:247
Called before adding new entries to determine if pruning is needed
Parameters
ctx
AgentContext
<TContext
>
workingMemory
newEntry
agent
Returns
boolean
| Promise
<boolean
>
strategy?
optional
strategy:"fifo"
|"lru"
|"smart"
|"custom"
Defined in: packages/core/src/memory/types.ts:265
Memory management strategy