AgentMesh governance components for Haystack pipelines — policy enforcement, trust scoring, and tamper-evident audit trails
Project description
haystack-agentmesh
AgentMesh governance components for Haystack pipelines — policy enforcement, trust scoring, and tamper-evident audit trails.
Installation
pip install haystack-agentmesh
With Haystack:
pip install "haystack-agentmesh[haystack]"
Components
GovernancePolicyChecker
Enforces governance policies loaded from YAML files. Checks tool allowlists/blocklists, content patterns, token limits, and rate limits.
from haystack_agentmesh import GovernancePolicyChecker
checker = GovernancePolicyChecker(policy_path="policy.yaml")
result = checker.run(action="search", params={"query": "hello"}, agent_id="agent-1")
# {"decision": "allow", "reason": "All policy checks passed", "passed": True}
Policy YAML example:
allowed_tools:
- search
- summarize
blocked_tools:
- delete_all
blocked_patterns:
- pattern: "DROP TABLE"
type: substring
- pattern: "rm\\s+-rf"
type: regex
max_tokens: 4096
rate_limit:
max_calls: 10
window_seconds: 60
TrustGate
Trust scoring with time-based decay and routing decisions.
from haystack_agentmesh import TrustGate
gate = TrustGate(pass_threshold=0.7, review_threshold=0.4)
gate.record_success("agent-1")
result = gate.run(agent_id="agent-1")
# {"trusted": False, "score": 0.55, "action": "review"}
Actions: pass (trusted), review (marginal), block (below threshold).
AuditLogger
Append-only audit log with SHA-256 hash chain hashing for tamper evidence.
from haystack_agentmesh import AuditLogger
logger = AuditLogger()
result = logger.run(action="search", agent_id="agent-1", decision="allow")
# {"entry_id": "a1b2c3d4e5f67890", "chain_hash": "sha256..."}
assert logger.verify_chain() # Verify integrity
logger.export_jsonl("audit.jsonl") # Export for analysis
Pipeline Example
from haystack import Pipeline
from haystack_agentmesh import GovernancePolicyChecker, TrustGate, AuditLogger
pipe = Pipeline()
pipe.add_component("trust_gate", TrustGate())
pipe.add_component("policy_checker", GovernancePolicyChecker(policy_path="policy.yaml"))
pipe.add_component("audit", AuditLogger())
Component Reference
| Component | Inputs | Outputs |
|---|---|---|
GovernancePolicyChecker |
action: str, params: dict, agent_id: Optional[str] |
decision: str, reason: str, passed: bool |
TrustGate |
agent_id: str, min_score: Optional[float] |
trusted: bool, score: float, action: str |
AuditLogger |
action: str, agent_id: str, decision: str, metadata: Optional[dict] |
entry_id: str, chain_hash: str |
Development
pip install -e ".[dev]"
pytest tests/ -v
License
Apache-2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file haystack_agentmesh-3.4.0.tar.gz.
File metadata
- Download URL: haystack_agentmesh-3.4.0.tar.gz
- Upload date:
- Size: 8.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: RestSharp/106.13.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ee9ce7c53771759fdf5fa44f3fa174474f5f095f1a96e1be60d97175c6d90fc
|
|
| MD5 |
f554bd4987ae0a9082d741ab2ff5a72a
|
|
| BLAKE2b-256 |
90e21a048333f0f30fdb78fe52f5843cfcf1f54bbb884d2b76fd4462f545a149
|
File details
Details for the file haystack_agentmesh-3.4.0-py3-none-any.whl.
File metadata
- Download URL: haystack_agentmesh-3.4.0-py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: RestSharp/106.13.0.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fc060cc8bf6299080202bee62f9cdec8a0e36ff18ca38ff52ed768c4c66097ca
|
|
| MD5 |
b71287fdbdac24363faaa16c398a04bb
|
|
| BLAKE2b-256 |
82bce9797a50b3abb7212e9bfed6fa50678ca94457d6f2b3443c504acd8d899a
|