# `Backplane.PluginProtocol.Client`

Client for Backplane's distribution API (not an Agent Plugins registry standard).

Transport is injected as a function receiving
`%{method: method, url: url, headers: [{name, value}], body: nil_or_json_binary}` and returning
`{:ok, %{status: integer, body: binary_or_decoded_json}} | {:error, reason}`.
The caller owns timeouts, TLS verification, redirect policy and response byte
limits. Authorization must never be forwarded to another origin on redirects.
`auth` accepts a bearer string or a zero-arity function returning header pairs.

# `catalog`

# `download`

Downloads, verifies SHA-256, safely unpacks and loads the exact artifact.

# `new`

# `request`

Makes a JSON request within the same registry origin and protocol prefix.

# `resolve`

---

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