MemoryManager

@daydreamsai/core


@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

AnyAgent

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

WorkingMemory

agent

AnyAgent

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

AnyRef

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

WorkingMemory

newEntry

AnyRef

agent

AnyAgent

Returns

boolean | Promise<boolean>


strategy?

optional strategy: "fifo" | "lru" | "smart" | "custom"

Defined in: packages/core/src/memory/types.ts:265

Memory management strategy