Keeping the server focused
Until now, your Bindu agent served both the API and a small docs UI from the same process. That worked fine, but it mixed two very different jobs into one place.
This release splits them. The docs UI now lives in its own frontend app. Your agent server goes back to doing one thing well — speaking the agent API.
What you need to know
The /docs page is gone from the agent. If you were opening http://localhost:3773/docs, that no longer works. The UI now runs as a separate app (usually at http://localhost:5173).
The actual agent API didn’t change at all. Everything below still works exactly the same:
POST / — the main A2A protocol endpoint
GET /health — is the agent alive?
GET /metrics — Prometheus stats
GET /.well-known/agent.json — agent identity card
GET /agent/skills — list of what the agent can do
What got better
While we were in there, we cleaned up the tests. Thirty tests in test_applications.py that were quietly failing now pass. Tests for the old /docs endpoint were deleted (it doesn’t exist anymore), and the route checks were updated to match the leaner server.
The example agents were tidied up too. They all now use a consistent launch=True pattern with comments explaining how to launch with a tunnel. A new example — echo_agent_behind_paywall.py — shows how to charge money for agent responses using x402 payments.
Small housekeeping thing: fake credentials in the docs are marked with # pragma: allowlist secret so the secret scanner stops flagging them as real leaks.
Migration
If your workflow used http://localhost:3773/docs, switch to the separate frontend app. Everything else stays exactly where it was.