Neutral, serializable tool data used by the common CLI runtime.
These structs describe tool contracts and tool exchange data. They do not execute tools, store callbacks, dispatch MCP requests, or render provider configuration. Provider SDKs own provider-native tool registration and rendering.