Metadata-Version: 2.5
Name: useagentgate
Version: 1.0.0
Summary: Slack-native approval queue for AI agents
Project-URL: Homepage, https://useagentgate.com
Project-URL: Repository, https://github.com/shakirriyaz/agentgate
Project-URL: Documentation, https://useagentgate.com/docs
Author-email: AgentGate <hello@useagentgate.com>
License: MIT
Keywords: agents,ai,approval,crewai,langchain,slack
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic>=2.0.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: respx>=0.21.0; extra == 'dev'
Description-Content-Type: text/markdown

# agentgate Python SDK

Install and get human approval before your AI agent takes a risky action.

## Install

```bash
pip install useagentgate
```

## Quick Start

```python
from agentgate import AgentGate

gate = AgentGate(
    api_key="ag_test_xxx",
    default_channel="#agent-approvals"
)

result = await gate.request_approval(
    action="send_email",
    description="Send pricing proposal to client@acme.com",
    context={"deal_value": "$50,000", "recipient": "john@acme.com"},
    risk_tier="high",
    timeout_minutes=30,
)

if result.approved:
    print(f"Approved by {result.approved_by}")
elif result.rejected:
    print(f"Rejected: {result.reason}")
elif result.timed_out:
    print("No response")
```

## Sync Usage

```python
from agentgate import AgentGateSync

gate = AgentGateSync(api_key="ag_test_xxx")
result = gate.request_approval(action="send_email", description="...")
```
