Skip to content

[FEAT] Valkey Task/Streaming support #1258

@rileydes-improving

Description

@rileydes-improving

Is your feature request related to a problem? Please describe.

The default InMemoryTaskStore loses all state on process restart and cannot be shared across horizontally scaled instances. For resumable streams, only a Redis-backed store exists — there is no Valkey-native implementation for either component. Valkey is the open-source, Linux Foundation–maintained fork of Redis. Organizations adopting Valkey need first-class support rather than relying on the redis client library pointed at a Valkey-compatible server.

Describe alternatives you've considered

Pointing the existing redis npm–based stores at a Valkey-compatible server. This works today but relies on protocol compatibility that may not hold as Valkey evolves independently from Redis. The @valkey/valkey-glide library is the official Valkey client with native connection management and cluster support.

Additional context

@valkey/valkey-glide should be added as an optional peer dependency in both packages so non-Valkey consumers pay no cost.

Describe the thing to improve

Add two new store providers using the official @valkey/valkey-glide client library: a ValkeyTaskStore implementing the TaskStore interface in @voltagent/a2a-server, and a createResumableStreamValkeyStore factory in @voltagent/resumable-streams following the pattern of the existing Redis, generic, and memory store factories. Both should support standalone and cluster topologies, configurable key prefixes, and optional TTL-based expiration.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions