Patch Changes
-
99680b1Thanks @omeraplak! - feat: add runtime memory envelope (options.memory) and deprecate legacy top-level memory fieldsWhat's New
- Added a preferred per-call memory envelope:
options.memory.conversationIdfor conversation-scoped memoryoptions.memory.userIdfor user-scoped memoryoptions.memory.optionsfor memory behavior overrides (contextLimit,semanticMemory,conversationPersistence)
- Kept legacy top-level fields for backward compatibility:
options.conversationId,options.userId,options.contextLimit,options.semanticMemory,options.conversationPersistence
- Legacy fields are now marked deprecated in type/docs, and envelope values are preferred when both are provided.
Usage Examples
Legacy (still supported, deprecated):
await agent.generateText("Hello", { userId: "user-123", conversationId: "conv-123", contextLimit: 20, semanticMemory: { enabled: true, semanticLimit: 5, }, conversationPersistence: { mode: "step", debounceMs: 150, }, });
Preferred (new
memoryenvelope):await agent.generateText("Hello", { memory: { userId: "user-123", conversationId: "conv-123", options: { contextLimit: 20, semanticMemory: { enabled: true, semanticLimit: 5, }, conversationPersistence: { mode: "step", debounceMs: 150, }, }, }, });
Server and Resumable Stream Alignment
@voltagent/server-corenow accepts/documents theoptions.memoryenvelope in request schemas.- Resumable stream identity resolution now reads
conversationId/userIdfromoptions.memoryfirst and falls back to legacy fields. - Added tests for:
- parsing
options.memoryin server schemas - resolving resumable stream keys from
options.memory
- parsing
- Added a preferred per-call memory envelope:
-
Updated dependencies [
99680b1]:- @voltagent/core@2.6.6