# managoat_acp v0.1.0 - Table of Contents

> A client-side Agent Client Protocol session that outlives the turn, with a per-tool permission policy, block normalisation, usage accounting and a tracer, behind a writer callback.

## Pages

- [Managoat.ACP](readme.md)
- [Changelog](changelog.md)

## Modules

- [Managoat.ACP](Managoat.ACP.md): The client side of the Agent Client Protocol, as a session that outlives
the turn.
- [Managoat.ACP.Blocks](Managoat.ACP.Blocks.md): Translate ACP messages into the block maps a transcript renders.
- [Managoat.ACP.Peer](Managoat.ACP.Peer.md): One ACP connection, for as many turns as its owner sends it.
- [Managoat.ACP.Permissions](Managoat.ACP.Permissions.md): What answers `session/request_permission`, per tool.
- [Managoat.ACP.Protocol](Managoat.ACP.Protocol.md): Framing and JSON-RPC 2.0 encoding for the Agent Client Protocol.
- [Managoat.ACP.Testing.ScriptedAgent](Managoat.ACP.Testing.ScriptedAgent.md): An ACP agent inside the BEAM, for driving a `Managoat.ACP.Peer` in tests.
- [Managoat.ACP.Tracer](Managoat.ACP.Tracer.md): Turns `session/update` notifications into OTel tool spans, for every runtime.
- [Managoat.ACP.Transport](Managoat.ACP.Transport.md): The seam between the peer and whatever carries its bytes.
- [Managoat.ACP.Usage](Managoat.ACP.Usage.md): The end-of-turn token figure, normalised from a `session/prompt` response
(#827).

