Plexus.Expand.Adapter behaviour (Plexus v0.1.0)

Copy Markdown View Source

Minimal provider-neutral seam for the expensive expansion tier.

Plexus deliberately does not own provider transport. An integration adapter receives the run's inference client and returns {:ok, response} or {:error, reason}. Capability maps must use explicit :supported values; missing/unknown capabilities fail closed.

Summary

Callbacks

capabilities(client)

(optional)
@callback capabilities(client :: term()) :: map()

expand(client, spec, opts)

@callback expand(client :: term(), spec :: term(), opts :: keyword()) ::
  {:ok, term()} | {:error, term()}