Metadata-Version: 2.4
Name: agentforge-chat-history-redis
Version: 0.2.3
Summary: Redis-backed ChatHistoryStore and SessionLock for AgentForge
Project-URL: Homepage, https://github.com/Scaffoldic/agentforge-py
Project-URL: Repository, https://github.com/Scaffoldic/agentforge-py
Project-URL: Changelog, https://github.com/Scaffoldic/agentforge-py/blob/main/CHANGELOG.md
Project-URL: Issues, https://github.com/Scaffoldic/agentforge-py/issues
Author: The AgentForge Authors
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: agent,ai,chat,history,lock,redis
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Database
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.13
Requires-Dist: agentforge-chat~=0.2.3
Requires-Dist: agentforge-core~=0.2.3
Requires-Dist: redis>=5.0
Description-Content-Type: text/markdown

# agentforge-chat-history-redis

Redis-backed `ChatHistoryStore` for AgentForge (feat-020 v0.2).

Also ships `RedisSessionLock` — the cross-process per-session
lock used by multi-worker chat-http deployments so a single
session can't be processed concurrently across pods.

```python
from agentforge_chat_history_redis import (
    RedisChatHistory,
    redis_session_lock_factory,
)

history = await RedisChatHistory.from_url("redis://localhost:6379")
lock_factory = redis_session_lock_factory("redis://localhost:6379")
```

Run live integration tests with:

```bash
docker run --rm -d -p 6379:6379 redis:7
REDIS_URL=redis://localhost:6379 \
  uv run pytest -m live packages/agentforge-chat-history-redis/
```
