/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
package com.github.copilot.sdk.json;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
/**
* Represents a tool invocation request from the AI assistant.
*
* When the assistant invokes a tool, this object contains the context including
* the session ID, tool call ID, tool name, and arguments parsed from the
* assistant's request.
*
* @see ToolHandler
* @see ToolDefinition
* @since 1.0.0
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
public final class ToolInvocation {
private static final ObjectMapper MAPPER = new ObjectMapper();
private static final TypeReference