ToolCallInfo

Request and response for a tool call.

JSON representation
{
  "toolCall": {
    object (ToolCall)
  },
  "toolCallResult": {
    object (ToolCallResult)
  }
}
Fields
toolCall

object (ToolCall)

Required. Request for a tool call.

toolCallResult

object (ToolCallResult)

Required. Response for a tool call.

ToolCall

Represents a call of a specific tool's action with the specified inputs.

JSON representation
{
  "toolDisplayName": string,
  "toolDisplayDetails": string,
  "action": string,
  "inputParameters": {
    object
  },
  "createTime": string,
  "answerRecord": string,
  "state": enum (State),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "cesTool": string,
  "cesToolset": string,
  "cesApp": string
  // End of mutually exclusive fields.
}
Fields
toolDisplayName

string

Optional. A human readable short name of the tool, to be shown on the UI.

toolDisplayDetails

string

Optional. A human readable description of the tool.

action

string

Optional. The name of the tool's action associated with this call.

inputParameters

object (Struct format)

Optional. The action's input parameters.

createTime

string (Timestamp format)

Output only. Create time of the tool call.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

answerRecord

string

Optional. The answer record associated with this tool call.

state

enum (State)

Output only. State of the tool call

Specifies the source of this tool call. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
tool

string

Optional. The tool associated with this call. Format: projects/<ProjectID>/locations/<LocationID>/tools/<ToolID>.

cesTool

string

Optional. CES tool name for this call. Format: projects/<ProjectID>/locations/<LocationID>/apps/<AppID>/tools/<ToolID>.

cesToolset

string

Optional. CES toolset name for this call. Format: projects/<ProjectID>/locations/<LocationID>/apps/<AppID>/toolsets/ToolsetID>.

cesApp

string

Optional. CES app name for this call. Format: projects/<ProjectID>/locations/<LocationID>/apps/<AppID>.

End of mutually exclusive fields.

State

Tool call states.

Enums
STATE_UNSPECIFIED Default value.
TRIGGERED The tool call has been triggered.
NEEDS_CONFIRMATION The tool call requires confirmation from a human.

ToolCallResult

The result of calling a tool's action.

JSON representation
{
  "action": string,
  "createTime": string,
  "answerRecord": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "tool": string,
  "cesTool": string,
  "cesToolset": string,
  "cesApp": string
  // End of mutually exclusive fields.

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "error": {
    object (Error)
  },
  "rawContent": string,
  "content": string
  // End of mutually exclusive fields.
}
Fields
action

string

Optional. The name of the tool's action associated with this call.

createTime

string (Timestamp format)

Output only. Create time of the tool call result.

Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30".

answerRecord

string

Optional. The answer record associated with this tool call result.

Specifies the source of this tool call. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
tool

string

Optional. The tool associated with this call. Format: projects/<ProjectID>/locations/<LocationID>/tools/<ToolID>.

cesTool

string

Optional. CES tool name for this call. Format: projects/<ProjectID>/locations/<LocationID>/apps/<AppID>/tools/<ToolID>.

cesToolset

string

Optional. CES toolset name for this call. Format: projects/<ProjectID>/locations/<LocationID>/apps/<AppID>/toolsets/ToolsetID>.

cesApp

string

Optional. CES app name for this call. Format: projects/<ProjectID>/locations/<LocationID>/apps/<AppID>.

End of mutually exclusive fields.
The tool call's result. The following is a list of mutually exclusive fields. At most one of the fields will be set in a response:
error

object (Error)

Optional. The tool call's error.

rawContent

string (bytes format)

Optional. Only populated if the response content is not utf-8 encoded. (by definition byte fields are base64 encoded).

A base64-encoded string.

content

string

Optional. Only populated if the response content is utf-8 encoded.

End of mutually exclusive fields.

Error

An error produced by the tool call.

JSON representation
{
  "message": string,
  "retryable": boolean
}
Fields
message

string

Optional. The error message of the function.

retryable

boolean

Optional. Specifies whether the tool call is retryable.