Metadata-Version: 2.4
Name: dmint-dashboard
Version: 1.1.0
Summary: Simple local human approval dashboard for Dmint
License-Expression: Apache-2.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Security
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastapi<1.0,>=0.110
Requires-Dist: uvicorn[standard]<1.0,>=0.31
Requires-Dist: jinja2<4.0,>=3.1
Requires-Dist: python-multipart<1.0,>=0.0.9
Requires-Dist: dmint<2.0.0,>=1.0.1
Provides-Extra: dev
Requires-Dist: pytest>=8.0.0; extra == "dev"
Requires-Dist: pytest-cov>=5.0.0; extra == "dev"
Requires-Dist: ruff>=0.4.0; extra == "dev"
Requires-Dist: mypy>=1.10.0; extra == "dev"
Requires-Dist: httpx2>=2.5.0; extra == "dev"
Provides-Extra: test
Requires-Dist: pytest>=8.0.0; extra == "test"
Requires-Dist: pytest-cov>=5.0.0; extra == "test"
Requires-Dist: httpx2>=2.5.0; extra == "test"
Dynamic: license-file

# dmint-dashboard

[![CI](https://github.com/dmint-app/dmint-dashboard/actions/workflows/ci.yml/badge.svg)](https://github.com/dmint-app/dmint-dashboard/actions/workflows/ci.yml)
[![PyPI](https://img.shields.io/pypi/v/dmint-dashboard.svg)](https://pypi.org/project/dmint-dashboard/)
[![Python 3.10+](https://img.shields.io/pypi/pyversions/dmint-dashboard.svg)](https://pypi.org/project/dmint-dashboard/)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)

Local human approval web dashboard for Dmint.

`dmint-dashboard` provides real-time oversight over AI agent tool calls. It connects to Core-owned SQLite databases via public APIs to display pending actions, inspect JSON argument diffs, and issue Ed25519-signed approval assertions.

---

## Installation

```bash
pip install dmint-dashboard
```

---

## Quickstart

Start the dashboard pointing to your Core SQLite database:

```bash
dmint-dashboard --db-path ./approvals.sqlite3 --port 8080
```

When `dmint-cli` is installed, you can also use:

```bash
dmint dashboard --db-path ./approvals.sqlite3
```

Open your browser at **http://127.0.0.1:8080** to review and approve pending requests.

---

## Architecture & Security Rules

- **Zero Direct SQL**: Contains zero SQL queries and does not import `sqlite3`. Communicates with storage exclusively through Core public methods (`list_pending()`, `approve_pending()`, `reject_pending()`).
- **Single Database Ownership**: Core owns the SQLite schema; the dashboard never creates or modifies database tables.
- **5-Second Short Polling**: Refreshes data automatically via `/api/dashboard` with in-flight lockouts and tab-visibility awareness (no WebSockets or background workers).
- **Local-Only Binding**: Binds to `127.0.0.1` by default without user authentication. Do not expose to public networks without an authenticating reverse proxy.

---

## Documentation

Full guides on dashboard configuration, approval workflows, and environment variables are available at [docs.dmint.app/guides/human-approvals](https://docs.dmint.app/guides/human-approvals).

---

## Dmint Ecosystem

- [`dmint`](https://github.com/dmint-app/dmint): Core deterministic authorization engine & SQLite store.
- [`dmint-cli`](https://github.com/dmint-app/dmint-cli): Developer CLI for authoring, verifying, and running dashboards.
- [`dmint-mcp`](https://github.com/dmint-app/dmint-mcp): Out-of-process gateway for Model Context Protocol servers.
- [`dmint-dashboard`](https://github.com/dmint-app/dmint-dashboard): Local human approval web UI.
- [`dmint-skills`](https://github.com/dmint-app/dmint-skills): Agent skills for policy authoring assistants.
- [`dmint-examples`](https://github.com/dmint-app/dmint-examples): Reference integrations and attack mitigation testbeds.

---

## Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and pull request guidelines.

---

## License

Licensed under the [Apache License, Version 2.0](LICENSE).
