buildToolResponseJson static method

String buildToolResponseJson({
  1. required String toolName,
  2. required Object? response,
  3. String? toolCallId,
})

Build the JSON message that delivers a tool execution result back to the model on the next turn. Format mirrors upstream Python serve.py::gemini_to_litertlm_message and Gemma 4 data processor's FormatToolResponse.

SDK then renders this as native <|tool_response>response:NAME{...}<tool_response|> tokens.

Implementation

static String buildToolResponseJson({
  required String toolName,
  required Object? response,
  String? toolCallId,
}) =>
    jsonEncode({
      'role': 'tool',
      'content': [
        {
          'name': toolName,
          'response': response,
        },
      ],
      if (toolCallId != null) 'tool_call_id': toolCallId,
    });