@voltagent/resumable-streams@2.0.2

VoltAgent/voltagent@voltagent/resumable-streams@2.0.2Mar 6, 2026by voltagent-bot

AI Summary

Added runtime memory envelope support and deprecated legacy top-level memory fields for resumable streams.

Key Highlights

  • Added preferred per-call memory envelope with conversationId, userId, and options
  • Deprecated legacy top-level memory fields
  • Resumable stream identity resolution now reads from options.memory first

New Features

  • Runtime memory envelope
  • Deprecation of legacy memory fields

Full Release Notes

### Patch Changes

-   [`99680b1`](https://github.com/VoltAgent/voltagent/commit/99680b1a9e22e9e94019ef014734da898c493e6c) Thanks [@omeraplak](https://github.com/omeraplak)! - feat: add runtime memory envelope (`options.memory`) and deprecate legacy top-level memory fields

    ### What's New

    -   Added a preferred per-call memory envelope:
        -   `options.memory.conversationId` for conversation-scoped memory
        -   `options.memory.userId` for user-scoped memory
        -   `options.memory.options` for 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):

    ```ts
    await agent.generateText("Hello", {
      userId: "user-123",
      conversationId: "conv-123",
      contextLimit: 20,
      semanticMemory: {
        enabled: true,
        semanticLimit: 5,
      },
      conversationPersistence: {
        mode: "step",
        debounceMs: 150,
      },
    });
    ```

    Preferred (new `memory` envelope):

    ```ts
    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-core` now accepts/documents the `options.memory` envelope in request schemas.
    -   Resumable stream identity resolution now reads `conversationId`/`userId` from `options.memory` first and falls back to legacy fields.
    -   Added tests for:
        -   parsing `options.memory` in server schemas
        -   resolving resumable stream keys from `options.memory`

-   Updated dependencies \[[`99680b1`](https://github.com/VoltAgent/voltagent/commit/99680b1a9e22e9e94019ef014734da898c493e6c)]:
    -   @voltagent/core@2.6.6