withImage
Marks the base64 string at data[dataKey] as an image of mimeType. Over MCP it is sent as an image content block and dataKey is left out of the JSON text and structuredContent, so the payload travels once and clients render it as a picture. data is unchanged, so in-process callers keep reading data[dataKey]. No-op if the key isn't a string.