Metadata-Version: 2.4
Name: lore-context-middleware
Version: 0.1.0
Summary: SDK middleware for Lore Context — auto-inject memory pre-LLM-call and auto-retain post-LLM-call across OpenAI/Anthropic SDKs.
Author-email: Lore Context <hello@lore-context.dev>
License: MIT
Keywords: lore,memory,context,middleware,openai,anthropic,agent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == "openai"
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.27.0; extra == "anthropic"
Provides-Extra: lore-sdk
Requires-Dist: lore-context>=0.1.0; extra == "lore-sdk"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"

# lore-context-middleware

Python SDK middleware for Lore Context — wraps `openai.OpenAI` / `anthropic.Anthropic` clients to auto-inject memory pre-LLM-call and auto-retain post-LLM-call without requiring the AI to call an MCP tool.

## Install

```bash
pip install lore-context-middleware lore-context openai
```

## Quick start

```python
import os
from openai import OpenAI
from lore_context import LoreContextApiClient
from lore_context_middleware import with_memory_hooks

lore = LoreContextApiClient(token=os.environ["LORE_API_KEY"])
openai_client = OpenAI(api_key=os.environ["OPENAI_API_KEY"])

client = with_memory_hooks(openai_client, lore, mode="hybrid")

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "What was that Postgres dump command?"}],
)
```

## Modes

| Mode | inject | retain | tools exposed |
|---|---|---|---|
| `hybrid` (default) | ✅ | ✅ | ✅ |
| `context` | ✅ | ✅ | ❌ |
| `tools` | ❌ | ❌ | ✅ |

See `docs/sdk/middleware-modes.md` in the lore-cloud repo for full mode semantics.

## License

MIT
