Behaviour for supervised pi_bridge plugins.
Summary
Types
Callbacks
@callback apis() :: [Pi.Plugin.API.t() | keyword() | map()]
@callback commands() :: [Pi.Plugin.Command.t() | keyword() | map()]
@callback handle_command(atom(), String.t(), term()) :: {command_result(), term()} | command_result()
@callback tool_call(map(), map(), term()) :: {tool_call_result(), term()} | tool_call_result()
@callback tool_result(map(), map(), term()) :: {tool_result_result(), term()} | tool_result_result()