citadeldb-ms-agent-framework
Microsoft Agent Framework storage backed by Citadel. Encrypted at rest, embedded in your process, and deletes that destroy the key, not just the row.
pip install citadeldb-ms-agent-framework
Requires citadeldb>=2.2,<3 and agent-framework-core>=1.13,<2.
The package provides two storage interfaces:
| Class | Implements | Use when |
|---|---|---|
CitadelHistoryProvider |
HistoryProvider |
a session must recover its complete transcript |
CitadelContextProvider |
ContextProvider |
an agent should recall relevant facts across sessions |
The context provider performs semantic recall. This example uses local e5-large;
CandleEmbedder requires the Candle source build and model setup,
while the default wheel accepts a bring-your-own semantic embedder.
from agent_framework import Agent
import citadeldb
from citadeldb_ms_agent_framework import CitadelContextProvider, CitadelHistoryProvider
embedder = citadeldb.CandleEmbedder("/path/to/e5-large", preset="e5-large")
agent = Agent(
client=chat_client, # any agent_framework chat client
context_providers=[
CitadelHistoryProvider("agent.cdl", key="your-passphrase", embedder=embedder),
CitadelContextProvider(
"agent.cdl", key="your-passphrase", scope="user-123", embedder=embedder
),
],
)
Both can share one encrypted file: a path already open on this thread, under the same passphrase, is shared. Construct them on the same thread.
Deletes destroy the key
history = CitadelHistoryProvider("agent.cdl", key="your-passphrase", embedder=embedder)
memory = CitadelContextProvider(
"agent.cdl", key="your-passphrase", scope="user-123", embedder=embedder
)
await history.forget("session-42") # returns the number erased
await memory.forget() # this provider's whole scope
Clearing a conversation destroys each message's own key and deletes its row. Pre-erasure backups or snapshots containing keys, and exported plaintext, are outside that erasure.
History provider
Implements get_messages and save_messages. Set load_messages=False to store
messages without loading history before a run:
CitadelHistoryProvider(
"agent.cdl",
key="your-passphrase",
embedder=embedder,
load_messages=False,
) # stores, never loads
Messages round-trip through the framework's own serialization, so roles, author names,
multi-part contents and additional_properties all survive.
Context provider
Uses Citadel's hybrid recall. embedder= is required.
memory = CitadelContextProvider(
"agent.cdl", key="your-passphrase", scope="user-123", limit=5, embedder=embedder
)
Memories are scoped rather than session-bound, so a later conversation can recall an
earlier one. scope is the boundary an erasure request applies to.
Custom embedders expose dim, metric, model_id, and
embed_with_cancel(texts, cancel_token). Accept None as the token; otherwise poll
cancel_token.check() between bounded batches. Asymmetric models may also provide
embed_queries_with_cancel.
License
Apache-2.0
Release files for citadeldb-ms-agent-framework 2.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| citadeldb_ms_agent_framework-2.5.0.tar.gz | 11.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| citadeldb_ms_agent_framework-2.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.6 kB
Release files / citadeldb_ms_agent_framework-2.5.0.tar.gz
| Download URL | citadeldb_ms_agent_framework-2.5.0.tar.gz |
|---|---|
| Size | 11.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
751d97d775a4a2afedd5a3b3b13e08d4228a062ee837a4837886342cbb2cbac1
|
|
BLAKE2b-256 checksum How to use checksums |
9ebb93a8493f0b6609eff1d77f3bfccd5c141006206537dc0fe48a984ac4113b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.
Transparency logRelease files / citadeldb_ms_agent_framework-2.5.0-py3-none-any.whl
| Download URL | citadeldb_ms_agent_framework-2.5.0-py3-none-any.whl |
|---|---|
| Size | 8.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1abcd5b0659f9253631e5864b13a7234e33960bc414342c77818d6c0b46576c7
|
|
BLAKE2b-256 checksum How to use checksums |
e3db696a01b2cd2203e80ebf642997755f6dd9d31d4d8bfe18749beee0441b34
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 13, 2026.
Transparency log