# `ACP.RPC.JsonRpcMessage`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/rpc.ex#L122)

Wraps a JSON-RPC message with the required `jsonrpc: "2.0"` field.

# `t`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/rpc.ex#L128)

```elixir
@type t() :: %ACP.RPC.JsonRpcMessage{message: map()}
```

# `decode`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/rpc.ex#L159)

Decode from a JSON string. Returns the inner message (request, response, or notification).

# `encode!`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/rpc.ex#L154)

Encode to JSON string (line-delimited).

# `to_json`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/rpc.ex#L134)

# `wrap`
[🔗](https://github.com/f1729/agent-client-protocol-elixir/blob/main/lib/acp/rpc.ex#L130)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
