Metadata-Version: 2.3
Name: soundgate
Version: 0.1.0
Classifier: Programming Language :: Rust
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Security
Classifier: License :: OSI Approved :: MIT License
Summary: External effect-admission gate for LLM-agent frameworks (Rust core, Python bindings)
Keywords: llm,agents,reference-monitor,admission-control,langgraph,safety
Author-email: Sajjad Khan <you@example.com>
License: MIT
Requires-Python: >=3.8
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/sajjadanwar0/soundgate-paper
Project-URL: Repository, https://github.com/sajjadanwar0/soundgate-paper
Project-URL: Source, https://github.com/sajjadanwar0/soundgate-paper/tree/main/soundgate
Project-URL: Issues, https://github.com/sajjadanwar0/soundgate-paper/issues

# soundgate

External effect-admission gate for LLM-agent frameworks (Rust core, Python bindings).

The gate arbitrates every side effect an agent tool performs: it is submitted for
a verdict and executes only on `release`, giving human-in-the-loop approval,
cancellation, replay-dedup, and timeout the barrier semantics agent frameworks
imply but do not enforce.

## Install
```bash
pip install soundgate
```

## Use (external gate — recommended)
```python
from soundgate import GateClient
gate = GateClient("127.0.0.1:8796")
v = gate.submit("run1", "send_email", needs_approval=True)
if v.released:
    send_the_email()
```

See the project repository for the full API, the pure-Python client, and the
LangGraph integration: https://github.com/sajjadanwar0/soundgate-paper

