Diminuendo currently owns three first-party client surfaces. They share the Fabric gateway model and should not be documented as separate protocol authorities.
First-Party Clients
| Client | Path | Runtime |
|---|---|---|
| Web | diminuendo/clients/web | Vite + React static bundle |
| Desktop | diminuendo/clients/desktop | Tauri |
| Codex TUI | diminuendo/clients/codex-tui | Rust |
Client Contract
Clients should treat Diminuendo as the product gateway:
- Authenticate through the gateway-supported auth flow.
- Use Fabric conversation, stream, presentation, and resource concepts.
- Let Diminuendo broker runtime and inference work when the client should not call internal services directly.
- Use capabilities to discover optional features such as voice, canvas, automations, and adapter-specific surfaces.
Edge Protocol Clients
ACP, MCP, A2A, and AG-UI clients connect through optional sidecars. They are compatibility clients, not first-party product clients.
| Protocol | Client expectation |
|---|---|
| ACP | Conversation/session compatibility with Agent Client Protocol clients |
| MCP | Tool and resource access for model-host integrations |
| A2A | External agent delegation |
| AG-UI | Agentic UI event consumers |
New first-party client work should be Fabric-native unless there is a specific interoperability reason to use an adapter.