Tool.forVersion

Return a copy of this Tool with any fields newer than (or absent from) the negotiated protocol version stripped, so the wire output stays valid for the peer's version. Tool.execution (ToolExecution.taskSupport) exists ONLY in the 2025-11-25 schema: it was never present before 2025-11-25 and was dropped again in the draft schema. It is therefore emitted only when the negotiated version is exactly 2025-11-25, and omitted for every other version (including draft). Mirrors Implementation.forVersion.

struct Tool
const @safe
forVersion