Behaviour and helper macros for Codex tool modules.
Tools must implement invoke/2, returning either {:ok, map()} or {:error, term()}.
Optional metadata is surfaced via metadata/0 and merged with registry attributes on
registration.
Summary
Functions
Returns metadata for a tool module, normalising to a map.