/*--------------------------------------------------------------------------------------------- * Copyright (c) Microsoft Corporation. All rights reserved. *--------------------------------------------------------------------------------------------*/ package com.github.copilot.sdk.json; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.annotation.JsonProperty; /** * Binary result from a tool execution. *

* This record represents binary data (such as images) returned by a tool. The * data is base64-encoded for JSON transmission. * *

Example Usage

* *
{@code
 * var binaryResult = new ToolBinaryResult(Base64.getEncoder().encodeToString(imageBytes), "image/png", "image",
 * 		"Generated chart");
 * }
* * @param data * the base64-encoded binary data * @param mimeType * the MIME type (e.g., "image/png", "application/pdf") * @param type * the content type (e.g., "image", "file") * @param description * the content description, helps the assistant understand the * content * @see ToolResultObject#setBinaryResultsForLlm(java.util.List) * @since 1.0.0 */ @JsonInclude(JsonInclude.Include.NON_NULL) public record ToolBinaryResult(@JsonProperty("data") String data, @JsonProperty("mimeType") String mimeType, @JsonProperty("type") String type, @JsonProperty("description") String description) { }