MCP Tools Reference: ces.googleapis.com

ツール: create_toolset

指定されたアプリに新しいツールセットを作成します。

次のサンプルは、curl を使用して create_toolset MCP ツールを呼び出す方法を示しています。

Curl リクエスト
                  
curl --location 'https://ces.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "create_toolset",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

入力スキーマ

AgentService.CreateToolset のリクエスト メッセージです。

CreateToolsetRequest

JSON 表現
{
  "parent": string,
  "toolsetId": string,
  "toolset": {
    object (Toolset)
  }
}
フィールド
parent

string

必須。ツールセットを作成するアプリのリソース名。

toolsetId

string

省略可。ツールセットに使用する ID。ツールセットのリソース名の最終的なコンポーネントになります。指定しない場合、ツールセットに一意の ID が自動的に割り当てられます。

toolset

object (Toolset)

必須。作成するツールセット。

ツールセット

JSON 表現
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
フィールド
name

string

ID。ツールセットの一意の識別子。形式: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

省略可。ツールセットの表示名。同じアプリ内で一意である必要があります。

description

string

省略可。ツールセットの説明。

timeout

string (Duration format)

省略可。ツールセットの実行のタイムアウト。設定しない場合、デフォルトのタイムアウトは SYNCHRONOUS ツールセットでは 30 秒、ASYNCHRONOUS ツールセットでは 60 秒です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

createTime

string (Timestamp format)

出力専用。ツールセットが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。ツールセットが最後に更新されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

読み取り、変更、書き込みのオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。

executionType

enum (ExecutionType)

省略可。ツールセット内のツールの実行タイプ。

toolFakeConfig

object (ToolFakeConfig)

省略可。フェイクモードでのツールの動作の構成。

共用体フィールド toolset_type。ツールセットのタイプ。toolset_type は次のいずれかになります。
mcpToolset

object (McpToolset)

省略可。MCP サーバーが提供するツールのリストを含むツールセット。

openApiToolset

object (OpenApiToolset)

省略可。OpenAPI スキーマで定義されたツールのリストを含むツールセット。

connectorToolset

object (ConnectorToolset)

省略可。Integration Connectors 接続からツールを生成するツールセット。

McpToolset

JSON 表現
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
フィールド
serverAddress

string

必須。MCP サーバーのアドレス(例: https://example.com/mcp/)。サーバーが MCP SDK で構築されている場合、URL の末尾に「/mcp/」を付加する必要があります。ストリーミング可能な HTTP 転送ベースのサーバーのみがサポートされています。詳しくは、https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http をご覧ください。

apiAuthentication

object (ApiAuthentication)

省略可。ツールにアクセスして MCP サーバーに対してツールを実行するために必要な認証情報。ベアラー トークン認証の場合、トークンはツールの実行にのみ適用され、ツールのリストには適用されません。そのため、認証なしでツールを一覧表示できる必要があります。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。VPC-SC の Service Directory 構成。境界内のサービス名の解決に使用されます。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。クライアントが信頼すべきカスタム サーバー証明書が含まれます。

customHeaders

map (key: string, value: string)

省略可。MCP サーバーへのリクエストで送信するカスタム ヘッダー。値は $context.variables.<name_of_variable> 形式にする必要があり、セッション変数で設定できます。詳細については、https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection をご覧ください。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

toolOverrides[]

object (McpToolOverride)

省略可。このツールセット内の個々のツールのオーバーライド。これにより、説明や名前などの特定の詳細をオーバーライドしたり、ツールを完全に動的にしないように状態を固定したりできます。

ApiAuthentication

JSON 表現
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
apiKeyConfig

object (ApiKeyConfig)

省略可。API キー認証の構成。

oauthConfig

object (OAuthConfig)

省略可。OAuth の構成。

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

省略可。CES サービス エージェントから生成された ID トークン認証の構成。

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

省略可。サービス アカウント認証の構成。

bearerTokenConfig

object (BearerTokenConfig)

省略可。ベアラートークン認証の構成。

ApiKeyConfig

JSON 表現
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
フィールド
keyName

string

必須。API キーのパラメータ名またはヘッダー名。例: API リクエストが「https://example.com/act?X-Api-Key=」の場合、「X-Api-Key」がパラメータ名になります。

apiKeySecretVersion

string

必須。API キーを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

requestLocation

enum (RequestLocation)

必須。リクエスト内の鍵のロケーション。

OAuthConfig

JSON 表現
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
フィールド
oauthGrantType

enum (OauthGrantType)

必須。OAuth 権限付与タイプ。

clientId

string

必須。OAuth プロバイダのクライアント ID。

clientSecretVersion

string

必須。クライアント シークレットを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

tokenEndpoint

string

必須。アクセス トークンと交換する OAuth プロバイダのトークン エンドポイント。

scopes[]

string

省略可。付与する OAuth スコープ。

ServiceAccountAuthConfig

JSON 表現
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
フィールド
serviceAccount

string

必須。認証に使用されるサービス アカウントのメールアドレス。CES はこのサービス アカウントを使用してアクセス トークンを交換し、アクセス トークンはリクエストの Authorization ヘッダーで送信されます。

サービス アカウントには、CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com に付与された roles/iam.serviceAccountTokenCreator ロールが必要です。

scopes[]

string

省略可。付与する OAuth スコープ。指定しない場合、デフォルトのスコープ https://www.googleapis.com/auth/cloud-platform が使用されます。

BearerTokenConfig

JSON 表現
{
  "token": string
}
フィールド
token

string

必須。署名なしトークン。$context.variables.<name_of_variable> の形式で指定してください。

ServiceDirectoryConfig

JSON 表現
{
  "service": string
}
フィールド
service

string

必須。Service Directory サービスの名前。形式: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}。サービス ディレクトリのロケーションは、アプリのロケーションと同じである必要があります。

TlsConfig

JSON 表現
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
フィールド
caCerts[]

object (CaCert)

必須。HTTPS 検証で許可されるカスタム CA 証明書のリストを指定します。

CaCert

JSON 表現
{
  "displayName": string,
  "cert": string
}
フィールド
displayName

string

必須。許可されたカスタム CA 証明書の名前。これは、カスタム CA 証明書を明確にするために使用できます。

cert

string (bytes format)

必須。HTTPS 検証で許可されるカスタム CA 証明書(DER 形式)。これにより、デフォルトの SSL トラストストアがオーバーライドされます。これが空または未指定の場合、CES は Google のデフォルトのトラストストアを使用して証明書を検証します。注: HTTPS サーバー証明書が「サブジェクト代替名」で署名されていることを確認してください。たとえば、次のコマンドで証明書に自己署名できます。

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Base64 でエンコードされた文字列。

CustomHeadersEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

McpToolOverride

JSON 表現
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
フィールド
tool

string

必須。MCP サーバーによって出力されるツールの元の名前。

nameOverride

string

省略可。この名前が存在する場合、このツールは元の名前ではなく、この名前をエージェントで使用します。これは、MCP サーバーが名前の付け方が悪いツールを提供している場合に、主にエイリアスとして使用されます。

descriptionOverride

string

省略可。この説明が存在する場合、このツールはサーバーの元の説明の代わりにこの説明を使用します。

snapshot

object (McpToolDefinition)

出力専用。このツールが存在する場合、ツールは「固定」され、サーバーが一時的に利用できなくなった場合やオーバーライドが存在しない場合に、スナップショットの値をフォールバックとして使用します。

McpToolDefinition

JSON 表現
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
フィールド
description

string

出力専用。MCP ツールの説明。これは、McpToolOverridedescription_override でオーバーライドできます。

inputSchema

object (Schema)

出力専用。MCP ツールの入力引数のスキーマ。

outputSchema

object (Schema)

出力専用。MCP ツールの出力引数のスキーマ。

スキーマ

JSON 表現
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
フィールド
type

enum (Type)

必須。データの型。

properties

map (key: string, value: object (Schema))

省略可。Type.OBJECT のプロパティ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

required[]

string

省略可。Type.OBJECT の必須プロパティ。

description

string

省略可。データの説明。

items

object (Schema)

省略可。Type.ARRAY の要素のスキーマ。

nullable

boolean

省略可。値が null の可能性があるかどうかを示します。

uniqueItems

boolean

省略可。配列内の項目が一意であることを示します。TYPE.ARRAY にのみ適用されます。

prefixItems[]

object (Schema)

省略可。Type.ARRAY の初期要素のスキーマ。

additionalProperties

object (Schema)

省略可。ブール値またはオブジェクトのいずれか。追加のプロパティの存在を制御します。

anyOf[]

object (Schema)

省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。

enum[]

string

省略可。プリミティブ型の要素の可能な値(列挙型形式)。例: 1. 方向は {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. アパートの部屋番号は {type:INTEGER, format:enum, enum:["101", "201", "301"]} と定義できます。

default

value (Value format)

省略可。データのデフォルト値。

ref

string

省略可。スキーマノード間の間接参照を許可します。値は、ルート defs の子への有効な参照である必要があります。

たとえば、次のスキーマは「Pet」という名前のスキーマノードへの参照を定義します。

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

「pet」プロパティの値は、「Pet」という名前のスキーマノードへの参照です。詳しくは、https://json-schema.org/understanding-json-schema/structuring をご覧ください。

defs

map (key: string, value: object (Schema))

省略可。ref で使用する定義のマップ。スキーマのルートでのみ使用できます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

title

string

省略可。スキーマのタイトル。

minItems

string (int64 format)

省略可。Type.ARRAY の要素の最小数。

maxItems

string (int64 format)

省略可。Type.ARRAY の要素の最大数。

共用体フィールド _minimum

_minimum は次のいずれかになります。

minimum

number

省略可。Type.INTEGER と Type.NUMBER の最小値。

共用体フィールド _maximum

_maximum は次のいずれかになります。

maximum

number

省略可。Type.INTEGER と Type.NUMBER の最大値。

PropertiesEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

JSON 表現
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
フィールド
共用体フィールド kind。値の種類。kind は次のいずれかになります。
nullValue

null

JSON null を表します。

numberValue

number

JSON 数値を表します。NaNInfinity-Infinity は JSON でサポートされていないため、使用できません。また、JSON 形式では通常、数値型で大きな Int64 値がサポートされていないため、大きな Int64 値も表現できません。

stringValue

string

JSON 文字列を表します。

boolValue

boolean

JSON ブール値(JSON の true または false リテラル)を表します。

structValue

object (Struct format)

JSON オブジェクトを表します。

listValue

array (ListValue format)

JSON 配列を表します。

構造体

JSON 表現
{
  "fields": {
    string: value,
    ...
  }
}
フィールド
fields

map (key: string, value: value (Value format))

動的に型指定される値の順序なしのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表現
{
  "key": string,
  "value": value
}
フィールド
key

string

value

value (Value format)

ListValue

JSON 表現
{
  "values": [
    value
  ]
}
フィールド
values[]

value (Value format)

動的に型指定される値の繰り返しフィールド。

DefsEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

OpenApiToolset

JSON 表現
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
フィールド
openApiSchema

string

必須。ツールセットの OpenAPI スキーマ。

apiAuthentication

object (ApiAuthentication)

省略可。API で必要な認証情報。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。カスタム サーバー証明書が含まれます

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。Service Directory の構成。

ignoreUnknownFields

boolean

省略可。true の場合、エージェントは OpenAPI スキーマで定義されたすべてのオペレーションについて、API レスポンス内の不明なフィールドを無視します。

url

string

省略可。Open API スキーマのサーバー URL。このフィールドは、スキーマにサーバー URL が含まれている場合に、エクスポート プロセス中に環境の依存関係のツールセットでのみ設定されます。インポート プロセス中に、この URL が環境の依存関係に存在し、スキーマに $env_var プレースホルダがある場合、スキーマ内のプレースホルダが置き換えられます。

ConnectorToolset

JSON 表現
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
フィールド
connection

string

必須。参照される Integration Connectors Connection の完全なリソース名。形式: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

省略可。Integration Connectors で認証を処理する方法を構成します。デフォルトでは、管理者の認証は Integration Connectors API リクエストで渡されます。別のエンドユーザー認証構成でオーバーライドできます。: ここで EUC 構成を指定するには、接続で認証オーバーライドが有効になっている必要があります。有効になっていない場合、ツールセットの作成は失敗します。参照: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

必須。ツールの生成対象となるコネクタ アクション/エンティティ オペレーションのリスト。

EndUserAuthConfig

JSON 表現
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

OAuth 2.0 認証コード認証。

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT プロファイル OAuth 2.0 認可権限付与認証。

Oauth2AuthCodeConfig

JSON 表現
{
  "oauthToken": string
}
フィールド
oauthToken

string

必須。渡す OAuth トークン パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

Oauth2JwtBearerConfig

JSON 表現
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
フィールド
issuer

string

必須。渡す発行者パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

subject

string

必須。渡すサブジェクト パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

clientKey

string

必須。渡すクライアント パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

アクション

JSON 表現
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
フィールド
inputFields[]

string

省略可。オペレーションの入力として使用するエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが使用されます。

outputFields[]

string

省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。

共用体フィールド action_spec。ツールで使用するアクションを構成するための仕様。action_spec は次のいずれかになります。
connectionActionId

string

ツールが使用する接続アクションの ID。

entityOperation

object (EntityOperation)

ツールで使用するエンティティ オペレーション構成。

EntityOperation

JSON 表現
{
  "entityId": string,
  "operation": enum (OperationType)
}
フィールド
entityId

string

必須。エンティティの ID。

operation

enum (OperationType)

必須。エンティティに対して実行するオペレーション。

所要時間

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

期間の符号付き秒数。-315,576,000,000 ~+315,576,000,000 の範囲(両端を含む)にする必要があります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。

nanos

integer

期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の seconds フィールドと正または負の nanos フィールドで表されます。1 秒以上の期間の場合、nanos フィールドのゼロ以外の値は、seconds フィールドと同じ符号にする必要があります。-999,999,999~+999,999,999 の範囲内(境界含む)である必要があります。

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

ToolFakeConfig

JSON 表現
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
フィールド
enableFakeMode

boolean

省略可。ツールがフェイクモードを使用しているかどうか。

共用体フィールド tool_response。レスポンスは静的であるか、Python 関数によって提供されます。tool_response は次のいずれかになります。
codeBlock

object (CodeBlock)

省略可。実際のツール呼び出しの代わりに実行されるコードブロック。

CodeBlock

JSON 表現
{
  "pythonCode": string
}
フィールド
pythonCode

string

必須。ツール フェイクモードで呼び出される Python コード。想定される Python 関数のシグネチャ - すべてのツール呼び出しをキャッチする場合: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 特定のツール呼び出しをキャッチする場合: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 関数が None を返すと、代わりに実際のツールが呼び出されます。

RequestLocation

リクエスト内の API キーの場所。

列挙型
REQUEST_LOCATION_UNSPECIFIED 指定なし。この値は使用されるべきではありません。
HEADER HTTP ヘッダーのキーを表します。
QUERY_STRING クエリ文字列のキーを表します。

OauthGrantType

OAuth 権限付与タイプ。クライアント認証情報の権限付与のみがサポートされています。

列挙型
OAUTH_GRANT_TYPE_UNSPECIFIED 指定なし。デフォルトは CLIENT_CREDENTIAL です。
CLIENT_CREDENTIAL クライアント認証情報フローを表します。

タイプ

OpenAPI のデータ型。

列挙型
TYPE_UNSPECIFIED 未指定
STRING 文字列型。
INTEGER 整数型。
NUMBER 数値型。
BOOLEAN ブール型。
OBJECT オブジェクトのタイプ。
ARRAY 配列型。

NullValue

JSON null を表します。

NullValue はセンチネルです。値が 1 つしかない列挙型を使用して、Value 型共用体の null 値を表します。

0 以外の値を持つ NullValue 型のフィールドは無効と見なされます。ほとんどの ProtoJSON シリアライザーは、整数値に関係なく、null_value を JSON null として設定した Value を出力するため、0 値に往復します。

列挙型
NULL_VALUE Null 値。

OperationType

エンティティに対して実行するオペレーション。

列挙型
OPERATION_TYPE_UNSPECIFIED オペレーション タイプが指定されていません。無効。ConnectorTool の作成/更新は失敗します。
LIST リスト オペレーション。
GET オペレーションを取得します。
CREATE 作成オペレーション。
UPDATE 更新オペレーション。
DELETE 削除オペレーション。

ExecutionType

ツールまたはツールセットの実行タイプ。

列挙型
EXECUTION_TYPE_UNSPECIFIED 実行タイプが指定されていません。指定しない場合のデフォルトは SYNCHRONOUS です。
SYNCHRONOUS ツールは同期的に実行されます。ツールが戻るまでセッションはブロックされます。
ASYNCHRONOUS ツールは非同期で実行されます。ツールが実行されている間、セッションは継続します。

出力スキーマ

ツールセットは、エージェントが使用できる動的に管理されるツールのグループを表します。

ツールセット

JSON 表現
{
  "name": string,
  "displayName": string,
  "description": string,
  "timeout": string,
  "createTime": string,
  "updateTime": string,
  "etag": string,
  "executionType": enum (ExecutionType),
  "toolFakeConfig": {
    object (ToolFakeConfig)
  },

  // Union field toolset_type can be only one of the following:
  "mcpToolset": {
    object (McpToolset)
  },
  "openApiToolset": {
    object (OpenApiToolset)
  },
  "connectorToolset": {
    object (ConnectorToolset)
  }
  // End of list of possible types for union field toolset_type.
}
フィールド
name

string

ID。ツールセットの一意の識別子。形式: projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}

displayName

string

省略可。ツールセットの表示名。同じアプリ内で一意である必要があります。

description

string

省略可。ツールセットの説明。

timeout

string (Duration format)

省略可。ツールセットの実行のタイムアウト。設定しない場合、デフォルトのタイムアウトは SYNCHRONOUS ツールセットでは 30 秒、ASYNCHRONOUS ツールセットでは 60 秒です。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

createTime

string (Timestamp format)

出力専用。ツールセットが作成されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

updateTime

string (Timestamp format)

出力専用。ツールセットが最後に更新されたときのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z""2014-10-02T15:01:23+05:30"

etag

string

読み取り、変更、書き込みのオペレーション中にオブジェクトが変更されていないことを確認するために使用される ETag。etag が空の場合、更新によって同時変更が上書きされます。

executionType

enum (ExecutionType)

省略可。ツールセット内のツールの実行タイプ。

toolFakeConfig

object (ToolFakeConfig)

省略可。フェイクモードでのツールの動作の構成。

共用体フィールド toolset_type。ツールセットのタイプ。toolset_type は次のいずれかになります。
mcpToolset

object (McpToolset)

省略可。MCP サーバーが提供するツールのリストを含むツールセット。

openApiToolset

object (OpenApiToolset)

省略可。OpenAPI スキーマで定義されたツールのリストを含むツールセット。

connectorToolset

object (ConnectorToolset)

省略可。Integration Connectors 接続からツールを生成するツールセット。

McpToolset

JSON 表現
{
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "toolOverrides": [
    {
      object (McpToolOverride)
    }
  ]
}
フィールド
serverAddress

string

必須。MCP サーバーのアドレス(例: https://example.com/mcp/)。サーバーが MCP SDK で構築されている場合、URL の末尾に「/mcp/」を付加する必要があります。ストリーミング可能な HTTP 転送ベースのサーバーのみがサポートされています。詳しくは、https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http をご覧ください。

apiAuthentication

object (ApiAuthentication)

省略可。ツールにアクセスして MCP サーバーに対してツールを実行するために必要な認証情報。ベアラー トークン認証の場合、トークンはツールの実行にのみ適用され、ツールのリストには適用されません。そのため、認証なしでツールを一覧表示できる必要があります。

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。VPC-SC の Service Directory 構成。境界内のサービス名の解決に使用されます。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。クライアントが信頼すべきカスタム サーバー証明書が含まれます。

customHeaders

map (key: string, value: string)

省略可。MCP サーバーへのリクエストで送信するカスタム ヘッダー。値は $context.variables.<name_of_variable> 形式にする必要があり、セッション変数で設定できます。詳細については、https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection をご覧ください。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

toolOverrides[]

object (McpToolOverride)

省略可。このツールセット内の個々のツールのオーバーライド。これにより、説明や名前などの特定の詳細をオーバーライドしたり、ツールを完全に動的にしないように状態を固定したりできます。

ApiAuthentication

JSON 表現
{

  // Union field auth_config can be only one of the following:
  "apiKeyConfig": {
    object (ApiKeyConfig)
  },
  "oauthConfig": {
    object (OAuthConfig)
  },
  "serviceAgentIdTokenAuthConfig": {
    object (ServiceAgentIdTokenAuthConfig)
  },
  "serviceAccountAuthConfig": {
    object (ServiceAccountAuthConfig)
  },
  "bearerTokenConfig": {
    object (BearerTokenConfig)
  }
  // End of list of possible types for union field auth_config.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
apiKeyConfig

object (ApiKeyConfig)

省略可。API キー認証の構成。

oauthConfig

object (OAuthConfig)

省略可。OAuth の構成。

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

省略可。CES サービス エージェントから生成された ID トークン認証の構成。

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

省略可。サービス アカウント認証の構成。

bearerTokenConfig

object (BearerTokenConfig)

省略可。ベアラートークン認証の構成。

ApiKeyConfig

JSON 表現
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
フィールド
keyName

string

必須。API キーのパラメータ名またはヘッダー名。例: API リクエストが「https://example.com/act?X-Api-Key=」の場合、「X-Api-Key」がパラメータ名になります。

apiKeySecretVersion

string

必須。API キーを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

requestLocation

enum (RequestLocation)

必須。リクエスト内の鍵のロケーション。

OAuthConfig

JSON 表現
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
フィールド
oauthGrantType

enum (OauthGrantType)

必須。OAuth 権限付与タイプ。

clientId

string

必須。OAuth プロバイダのクライアント ID。

clientSecretVersion

string

必須。クライアント シークレットを保存する SecretManager シークレット バージョン リソースの名前。形式: projects/{project}/secrets/{secret}/versions/{version}

注: CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.comroles/secretmanager.secretAccessor ロールを付与する必要があります。

tokenEndpoint

string

必須。アクセス トークンと交換する OAuth プロバイダのトークン エンドポイント。

scopes[]

string

省略可。付与する OAuth スコープ。

ServiceAccountAuthConfig

JSON 表現
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
フィールド
serviceAccount

string

必須。認証に使用されるサービス アカウントのメールアドレス。CES はこのサービス アカウントを使用してアクセス トークンを交換し、アクセス トークンはリクエストの Authorization ヘッダーで送信されます。

サービス アカウントには、CES サービス エージェント service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com に付与された roles/iam.serviceAccountTokenCreator ロールが必要です。

scopes[]

string

省略可。付与する OAuth スコープ。指定しない場合、デフォルトのスコープ https://www.googleapis.com/auth/cloud-platform が使用されます。

BearerTokenConfig

JSON 表現
{
  "token": string
}
フィールド
token

string

必須。署名なしトークン。$context.variables.<name_of_variable> の形式で指定してください。

ServiceDirectoryConfig

JSON 表現
{
  "service": string
}
フィールド
service

string

必須。Service Directory サービスの名前。形式: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}。サービス ディレクトリのロケーションは、アプリのロケーションと同じである必要があります。

TlsConfig

JSON 表現
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
フィールド
caCerts[]

object (CaCert)

必須。HTTPS 検証で許可されるカスタム CA 証明書のリストを指定します。

CaCert

JSON 表現
{
  "displayName": string,
  "cert": string
}
フィールド
displayName

string

必須。許可されたカスタム CA 証明書の名前。これは、カスタム CA 証明書を明確にするために使用できます。

cert

string (bytes format)

必須。HTTPS 検証で許可されるカスタム CA 証明書(DER 形式)。これにより、デフォルトの SSL トラストストアがオーバーライドされます。これが空または未指定の場合、CES は Google のデフォルトのトラストストアを使用して証明書を検証します。注: HTTPS サーバー証明書が「サブジェクト代替名」で署名されていることを確認してください。たとえば、次のコマンドで証明書に自己署名できます。

   openssl x509 -req -days 200 -in example.com.csr \
     -signkey example.com.key \
     -out example.com.crt \
     -extfile <(printf "\nsubjectAltName='DNS:www.example.com'")

Base64 でエンコードされた文字列。

CustomHeadersEntry

JSON 表現
{
  "key": string,
  "value": string
}
フィールド
key

string

value

string

McpToolOverride

JSON 表現
{
  "tool": string,
  "nameOverride": string,
  "descriptionOverride": string,
  "snapshot": {
    object (McpToolDefinition)
  }
}
フィールド
tool

string

必須。MCP サーバーによって出力されるツールの元の名前。

nameOverride

string

省略可。この名前が存在する場合、このツールは元の名前ではなく、この名前をエージェントで使用します。これは、MCP サーバーが名前の付け方が悪いツールを提供している場合に、主にエイリアスとして使用されます。

descriptionOverride

string

省略可。この説明が存在する場合、このツールはサーバーの元の説明の代わりにこの説明を使用します。

snapshot

object (McpToolDefinition)

出力専用。このツールが存在する場合、ツールは「固定」され、サーバーが一時的に利用できなくなった場合やオーバーライドが存在しない場合に、スナップショットの値をフォールバックとして使用します。

McpToolDefinition

JSON 表現
{
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  }
}
フィールド
description

string

出力専用。MCP ツールの説明。これは、McpToolOverridedescription_override でオーバーライドできます。

inputSchema

object (Schema)

出力専用。MCP ツールの入力引数のスキーマ。

outputSchema

object (Schema)

出力専用。MCP ツールの出力引数のスキーマ。

スキーマ

JSON 表現
{
  "type": enum (Type),
  "properties": {
    string: {
      object (Schema)
    },
    ...
  },
  "required": [
    string
  ],
  "description": string,
  "items": {
    object (Schema)
  },
  "nullable": boolean,
  "uniqueItems": boolean,
  "prefixItems": [
    {
      object (Schema)
    }
  ],
  "additionalProperties": {
    object (Schema)
  },
  "anyOf": [
    {
      object (Schema)
    }
  ],
  "enum": [
    string
  ],
  "default": value,
  "ref": string,
  "defs": {
    string: {
      object (Schema)
    },
    ...
  },
  "title": string,
  "minItems": string,
  "maxItems": string,

  // Union field _minimum can be only one of the following:
  "minimum": number
  // End of list of possible types for union field _minimum.

  // Union field _maximum can be only one of the following:
  "maximum": number
  // End of list of possible types for union field _maximum.
}
フィールド
type

enum (Type)

必須。データの型。

properties

map (key: string, value: object (Schema))

省略可。Type.OBJECT のプロパティ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

required[]

string

省略可。Type.OBJECT の必須プロパティ。

description

string

省略可。データの説明。

items

object (Schema)

省略可。Type.ARRAY の要素のスキーマ。

nullable

boolean

省略可。値が null の可能性があるかどうかを示します。

uniqueItems

boolean

省略可。配列内の項目が一意であることを示します。TYPE.ARRAY にのみ適用されます。

prefixItems[]

object (Schema)

省略可。Type.ARRAY の初期要素のスキーマ。

additionalProperties

object (Schema)

省略可。ブール値またはオブジェクトのいずれか。追加のプロパティの存在を制御します。

anyOf[]

object (Schema)

省略可。値は、リスト内のサブスキーマのいずれか(1 つ以上)に対して検証される必要があります。

enum[]

string

省略可。プリミティブ型の要素の可能な値(列挙型形式)。例: 1. 方向は {type:STRING, format:enum, enum:["EAST", NORTH", "SOUTH", "WEST"]} 2. アパートの部屋番号は {type:INTEGER, format:enum, enum:["101", "201", "301"]} と定義できます。

default

value (Value format)

省略可。データのデフォルト値。

ref

string

省略可。スキーマノード間の間接参照を許可します。値は、ルート defs の子への有効な参照である必要があります。

たとえば、次のスキーマは「Pet」という名前のスキーマノードへの参照を定義します。

type: object
properties:
  pet:
    ref: #/defs/Pet
defs:
  Pet:
    type: object
    properties:
      name:
        type: string

「pet」プロパティの値は、「Pet」という名前のスキーマノードへの参照です。詳しくは、https://json-schema.org/understanding-json-schema/structuring をご覧ください。

defs

map (key: string, value: object (Schema))

省略可。ref で使用する定義のマップ。スキーマのルートでのみ使用できます。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

title

string

省略可。スキーマのタイトル。

minItems

string (int64 format)

省略可。Type.ARRAY の要素の最小数。

maxItems

string (int64 format)

省略可。Type.ARRAY の要素の最大数。

共用体フィールド _minimum

_minimum は次のいずれかになります。

minimum

number

省略可。Type.INTEGER と Type.NUMBER の最小値。

共用体フィールド _maximum

_maximum は次のいずれかになります。

maximum

number

省略可。Type.INTEGER と Type.NUMBER の最大値。

PropertiesEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

JSON 表現
{

  // Union field kind can be only one of the following:
  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
  // End of list of possible types for union field kind.
}
フィールド
共用体フィールド kind。値の種類。kind は次のいずれかになります。
nullValue

null

JSON null を表します。

numberValue

number

JSON 数値を表します。NaNInfinity-Infinity は JSON でサポートされていないため、使用できません。また、JSON 形式では通常、数値型で大きな Int64 値がサポートされていないため、大きな Int64 値も表現できません。

stringValue

string

JSON 文字列を表します。

boolValue

boolean

JSON ブール値(JSON の true または false リテラル)を表します。

structValue

object (Struct format)

JSON オブジェクトを表します。

listValue

array (ListValue format)

JSON 配列を表します。

構造体

JSON 表現
{
  "fields": {
    string: value,
    ...
  }
}
フィールド
fields

map (key: string, value: value (Value format))

動的に型指定される値の順序なしのマップ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

FieldsEntry

JSON 表現
{
  "key": string,
  "value": value
}
フィールド
key

string

value

value (Value format)

ListValue

JSON 表現
{
  "values": [
    value
  ]
}
フィールド
values[]

value (Value format)

動的に型指定される値の繰り返しフィールド。

DefsEntry

JSON 表現
{
  "key": string,
  "value": {
    object (Schema)
  }
}
フィールド
key

string

value

object (Schema)

OpenApiToolset

JSON 表現
{
  "openApiSchema": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
フィールド
openApiSchema

string

必須。ツールセットの OpenAPI スキーマ。

apiAuthentication

object (ApiAuthentication)

省略可。API で必要な認証情報。

tlsConfig

object (TlsConfig)

省略可。TLS 構成。カスタム サーバー証明書が含まれます

serviceDirectoryConfig

object (ServiceDirectoryConfig)

省略可。Service Directory の構成。

ignoreUnknownFields

boolean

省略可。true の場合、エージェントは OpenAPI スキーマで定義されたすべてのオペレーションについて、API レスポンス内の不明なフィールドを無視します。

url

string

省略可。Open API スキーマのサーバー URL。このフィールドは、スキーマにサーバー URL が含まれている場合に、エクスポート プロセス中に環境の依存関係のツールセットでのみ設定されます。インポート プロセス中に、この URL が環境の依存関係に存在し、スキーマに $env_var プレースホルダがある場合、スキーマ内のプレースホルダが置き換えられます。

ConnectorToolset

JSON 表現
{
  "connection": string,
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "connectorActions": [
    {
      object (Action)
    }
  ]
}
フィールド
connection

string

必須。参照される Integration Connectors Connection の完全なリソース名。形式: projects/{project}/locations/{location}/connections/{connection}

authConfig

object (EndUserAuthConfig)

省略可。Integration Connectors で認証を処理する方法を構成します。デフォルトでは、管理者の認証は Integration Connectors API リクエストで渡されます。別のエンドユーザー認証構成でオーバーライドできます。: ここで EUC 構成を指定するには、接続で認証オーバーライドが有効になっている必要があります。有効になっていない場合、ツールセットの作成は失敗します。参照: https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override

connectorActions[]

object (Action)

必須。ツールの生成対象となるコネクタ アクション/エンティティ オペレーションのリスト。

EndUserAuthConfig

JSON 表現
{

  // Union field auth_config can be only one of the following:
  "oauth2AuthCodeConfig": {
    object (Oauth2AuthCodeConfig)
  },
  "oauth2JwtBearerConfig": {
    object (Oauth2JwtBearerConfig)
  }
  // End of list of possible types for union field auth_config.
}
フィールド
共用体フィールド auth_config。認証構成。auth_config は次のいずれかになります。
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

OAuth 2.0 認証コード認証。

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

JWT プロファイル OAuth 2.0 認可権限付与認証。

Oauth2AuthCodeConfig

JSON 表現
{
  "oauthToken": string
}
フィールド
oauthToken

string

必須。渡す OAuth トークン パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

Oauth2JwtBearerConfig

JSON 表現
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
フィールド
issuer

string

必須。渡す発行者パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

subject

string

必須。渡すサブジェクト パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

clientKey

string

必須。渡すクライアント パラメータ名。$context.variables.<name_of_variable> の形式で指定してください。

アクション

JSON 表現
{
  "inputFields": [
    string
  ],
  "outputFields": [
    string
  ],

  // Union field action_spec can be only one of the following:
  "connectionActionId": string,
  "entityOperation": {
    object (EntityOperation)
  }
  // End of list of possible types for union field action_spec.
}
フィールド
inputFields[]

string

省略可。オペレーションの入力として使用するエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが使用されます。

outputFields[]

string

省略可。オペレーションから返すエンティティ フィールド。フィールドが指定されていない場合は、Entity のすべてのフィールドが返されます。

共用体フィールド action_spec。ツールで使用するアクションを構成するための仕様。action_spec は次のいずれかになります。
connectionActionId

string

ツールが使用する接続アクションの ID。

entityOperation

object (EntityOperation)

ツールで使用するエンティティ オペレーション構成。

EntityOperation

JSON 表現
{
  "entityId": string,
  "operation": enum (OperationType)
}
フィールド
entityId

string

必須。エンティティの ID。

operation

enum (OperationType)

必須。エンティティに対して実行するオペレーション。

所要時間

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

期間の符号付き秒数。-315,576,000,000 ~+315,576,000,000 の範囲(両端を含む)にする必要があります。注: これらの境界は、60 秒/分 * 60 分/時間 * 24 時間/日 * 365.25 日/年 * 10,000 年から計算されます。

nanos

integer

期間のナノ秒分解能による、秒の符号付き小数以下部分。1 秒未満の期間は、0 の seconds フィールドと正または負の nanos フィールドで表されます。1 秒以上の期間の場合、nanos フィールドのゼロ以外の値は、seconds フィールドと同じ符号にする必要があります。-999,999,999~+999,999,999 の範囲内(境界含む)である必要があります。

タイムスタンプ

JSON 表現
{
  "seconds": string,
  "nanos": integer
}
フィールド
seconds

string (int64 format)

UNIX エポック 1970-01-01T00:00:00Z からの UTC 時刻の秒数を表します。-62135596800~253402300799 の範囲(両端を含む)にする必要があります(これは 0001-01-01T00:00:00Z~9999-12-31T23:59:59Z に対応します)。

nanos

integer

ナノ秒分解能による、秒の負ではない小数以下部分。このフィールドは、秒の代替ではなく、期間のナノ秒部分です。小数以下を含む負の秒の値は、時間を前方にカウントする負ではない nanos 値を持つ必要があります。0~999,999,999 にする必要があります(両端を含む)。

ToolFakeConfig

JSON 表現
{
  "enableFakeMode": boolean,

  // Union field tool_response can be only one of the following:
  "codeBlock": {
    object (CodeBlock)
  }
  // End of list of possible types for union field tool_response.
}
フィールド
enableFakeMode

boolean

省略可。ツールがフェイクモードを使用しているかどうか。

共用体フィールド tool_response。レスポンスは静的であるか、Python 関数によって提供されます。tool_response は次のいずれかになります。
codeBlock

object (CodeBlock)

省略可。実際のツール呼び出しの代わりに実行されるコードブロック。

CodeBlock

JSON 表現
{
  "pythonCode": string
}
フィールド
pythonCode

string

必須。ツール フェイクモードで呼び出される Python コード。想定される Python 関数のシグネチャ - すべてのツール呼び出しをキャッチする場合: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 特定のツール呼び出しをキャッチする場合: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: 関数が None を返すと、代わりに実際のツールが呼び出されます。

RequestLocation

リクエスト内の API キーの場所。

列挙型
REQUEST_LOCATION_UNSPECIFIED 指定なし。この値は使用されるべきではありません。
HEADER HTTP ヘッダーのキーを表します。
QUERY_STRING クエリ文字列のキーを表します。

OauthGrantType

OAuth 権限付与タイプ。クライアント認証情報の権限付与のみがサポートされています。

列挙型
OAUTH_GRANT_TYPE_UNSPECIFIED 指定なし。デフォルトは CLIENT_CREDENTIAL です。
CLIENT_CREDENTIAL クライアント認証情報フローを表します。

タイプ

OpenAPI のデータ型。

列挙型
TYPE_UNSPECIFIED 未指定
STRING 文字列型。
INTEGER 整数型。
NUMBER 数値型。
BOOLEAN ブール型。
OBJECT オブジェクトのタイプ。
ARRAY 配列型。

NullValue

JSON null を表します。

NullValue はセンチネルです。値が 1 つしかない列挙型を使用して、Value 型共用体の null 値を表します。

0 以外の値を持つ NullValue 型のフィールドは無効と見なされます。ほとんどの ProtoJSON シリアライザーは、整数値に関係なく、null_value を JSON null として設定した Value を出力するため、0 値に往復します。

列挙型
NULL_VALUE Null 値。

OperationType

エンティティに対して実行するオペレーション。

列挙型
OPERATION_TYPE_UNSPECIFIED オペレーション タイプが指定されていません。無効。ConnectorTool の作成/更新は失敗します。
LIST リスト オペレーション。
GET オペレーションを取得します。
CREATE 作成オペレーション。
UPDATE 更新オペレーション。
DELETE 削除オペレーション。

ExecutionType

ツールまたはツールセットの実行タイプ。

列挙型
EXECUTION_TYPE_UNSPECIFIED 実行タイプが指定されていません。指定しない場合のデフォルトは SYNCHRONOUS です。
SYNCHRONOUS ツールは同期的に実行されます。ツールが戻るまでセッションはブロックされます。
ASYNCHRONOUS ツールは非同期で実行されます。ツールが実行されている間、セッションは継続します。

ツールのアノテーション

破壊的ヒント: ✅ | べき等ヒント: ❌ | 読み取り専用ヒント: ❌ | オープン ワールド ヒント: ❌