Metadata-Version: 2.4
Name: agent-command-host
Version: 0.1.1
Summary: Private durable command host maintained by Luke Steuber
Author: Luke Steuber
License-Expression: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mcp==2.3.0
Requires-Dist: APScheduler==3.11.3
Requires-Dist: SQLAlchemy<3,>=2.0
Requires-Dist: uvicorn<1,>=0.35
Requires-Dist: jsonschema<5,>=4.23
Requires-Dist: PyYAML<7,>=6.0
Requires-Dist: pywebpush==2.5.0
Requires-Dist: cryptography<51,>=45
Dynamic: license-file

# Agent Command host

Maintained by Luke Steuber. Python 3.12+, macOS/Linux or WSL2.

```sh
uv sync --python 3.12 --locked
uv run --locked agent-command-host doctor
uv run --locked agent-command-host --state /tmp/agent-command-demo demo --port 5057
```

Demo uses ports 5057/5058 and explicitly synthetic tasks, a controlled MCP
fixture and a one-minute schedule. It needs no provider credentials. Ctrl-C
stops the local processes. The private demo token printed to the terminal is
for the authenticated task bridge; keep it outside version control.

For a normal host, use `pair`, `devices`, `configure`, `authorize`, `revoke` and
`serve`. Bind defaults to loopback. Authenticate Codex CLI 0.160.0 separately in
the state's `codex` directory through subscription sign-in. Installation never
registers a service. Example launchd/systemd files require explicit opt-in.

```sh
uv run --locked python -m unittest discover -s tests -v
```

Tests use synthetic local HTTP/SSE/TLS services and the actual pinned MCP SDK
and scheduler. Install Codex CLI 0.160.0 before running the complete suite;
its metadata check needs no sign-in. The complete demo test takes about one minute and uses an
available port pair in 5010–5019 or 5050–5059. Native Codex checks initialize
and inspect configuration metadata only; they never start a model turn.

The repository's `docs/agent-command-host.md` documents the complete public
HTTP interfaces, profiles, grants, schedules and phone consumption contract.
