MCP Tools Reference: ces.googleapis.com

Alat: create_tool

Membuat alat baru di aplikasi yang ditentukan.

Contoh berikut menunjukkan cara menggunakan curl untuk memanggil alat MCP create_tool.

Permintaan 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_tool",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Skema Input

Pesan permintaan untuk AgentService.CreateTool.

CreateToolRequest

Representasi JSON
{
  "parent": string,
  "toolId": string,
  "tool": {
    object (Tool)
  }
}
Kolom
parent

string

Wajib. Nama resource aplikasi untuk membuat alat.

toolId

string

Opsional. ID yang akan digunakan untuk alat, yang akan menjadi komponen akhir dari nama resource alat. Jika tidak diberikan, ID unik akan otomatis ditetapkan untuk alat.

tool

object (Tool)

Wajib. Alat yang akan dibuat.

Alat

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

  // Union field tool_type can be only one of the following:
  "clientFunction": {
    object (ClientFunction)
  },
  "openApiTool": {
    object (OpenApiTool)
  },
  "googleSearchTool": {
    object (GoogleSearchTool)
  },
  "connectorTool": {
    object (ConnectorTool)
  },
  "dataStoreTool": {
    object (DataStoreTool)
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mcpTool": {
    object (McpTool)
  },
  "fileSearchTool": {
    object (FileSearchTool)
  },
  "systemTool": {
    object (SystemTool)
  },
  "agentTool": {
    object (AgentTool)
  },
  "widgetTool": {
    object (WidgetTool)
  },
  "remoteAgentTool": {
    object (RemoteAgentTool)
  }
  // End of list of possible types for union field tool_type.
}
Kolom
name

string

ID. Nama resource alat. Format:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} untuk alat mandiri.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} untuk alat yang diambil dari toolset.

Alat ini bersifat dinamis dan hanya menghasilkan output; alat ini tidak dapat dirujuk secara langsung jika alat diperlukan.

displayName

string

Hanya output. Nama tampilan alat, yang berasal dari jenis alat. Misalnya, nama tampilan [ClientFunction][Tool.ClientFunction] berasal dari properti name-nya.

executionType

enum (ExecutionType)

Opsional. Jenis eksekusi alat.

timeout

string (Duration format)

Opsional. Waktu tunggu untuk eksekusi alat. Jika tidak ditetapkan, waktu tunggu default adalah 30 detik untuk alat SYNCHRONOUS dan 60 detik untuk alat ASYNCHRONOUS.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat alat dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat alat terakhir diperbarui.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

etag

string

ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak.

generatedSummary

string

Hanya output. Jika alat dibuat oleh asisten LLM, kolom ini berisi ringkasan deskriptif dari pembuatan.

toolFakeConfig

object (ToolFakeConfig)

Opsional. Konfigurasi untuk perilaku alat dalam mode palsu.

Kolom union tool_type. Jenis alat. tool_type hanya ada berupa salah satu diantara berikut:
clientFunction

object (ClientFunction)

Opsional. Fungsi klien.

openApiTool

object (OpenApiTool)

Opsional. Alat API terbuka.

googleSearchTool

object (GoogleSearchTool)

Opsional. Alat penelusuran google.

connectorTool

object (ConnectorTool)

Opsional. Alat Integration Connector.

dataStoreTool

object (DataStoreTool)

Opsional. Alat penyimpanan data.

pythonFunction

object (PythonFunction)

Opsional. Alat fungsi python.

mcpTool

object (McpTool)

Opsional. Alat MCP. Alat MCP tidak dapat dibuat atau diperbarui secara langsung dan dikelola oleh toolset MCP.

fileSearchTool

object (FileSearchTool)

Opsional. Alat penelusuran file.

systemTool

object (SystemTool)

Opsional. Alat sistem.

agentTool

object (AgentTool)

Opsional. Alat agen.

widgetTool

object (WidgetTool)

Opsional. Alat widget.

remoteAgentTool

object (RemoteAgentTool)

Opsional. Alat agen jarak jauh.

ClientFunction

Representasi JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Kolom
name

string

Wajib. Nama fungsi.

description

string

Opsional. Deskripsi fungsi.

parameters

object (Schema)

Opsional. Skema parameter fungsi.

response

object (Schema)

Opsional. Skema respons fungsi.

Skema

Representasi 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.
}
Kolom
type

enum (Type)

Wajib. Jenis data.

properties

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

Opsional. Properti Type.OBJECT.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Opsional. Properti wajib Type.OBJECT.

description

string

Opsional. Deskripsi data.

items

object (Schema)

Opsional. Skema elemen Type.ARRAY.

nullable

boolean

Opsional. Menunjukkan apakah nilai boleh berupa null.

uniqueItems

boolean

Opsional. Menunjukkan bahwa item dalam array harus unik. Hanya berlaku untuk TYPE.ARRAY.

prefixItems[]

object (Schema)

Opsional. Skema elemen awal Type.ARRAY.

additionalProperties

object (Schema)

Opsional. Dapat berupa boolean atau objek, mengontrol keberadaan properti tambahan.

anyOf[]

object (Schema)

Opsional. Nilai harus divalidasi terhadap salah satu (satu atau beberapa) subskema dalam daftar.

enum[]

string

Opsional. Kemungkinan nilai elemen jenis primitif dengan format enum. Contoh: 1. Kita dapat menentukan arah sebagai : {type:STRING, format:enum, enum:["TIMUR", NORTH", "SELATAN", "BARAT"]} 2. Kita dapat menentukan nomor apartemen sebagai : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Opsional. Nilai default data.

ref

string

Opsional. Memungkinkan referensi tidak langsung antar-node skema. Nilai harus berupa referensi yang valid ke turunan defs akar.

Misalnya, skema berikut menentukan referensi ke node skema bernama "Pet":

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

Nilai properti "pet" adalah referensi ke node skema bernama "Pet". Lihat detailnya di https://json-schema.org/understanding-json-schema/structuring.

defs

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

Opsional. Peta definisi untuk digunakan oleh ref. Hanya diizinkan di root skema.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Opsional. Judul skema.

minItems

string (int64 format)

Opsional. Jumlah minimum elemen untuk Type.ARRAY.

maxItems

string (int64 format)

Opsional. Jumlah maksimum elemen untuk Type.ARRAY.

Kolom union _minimum.

_minimum hanya dapat berupa salah satu dari hal berikut:

minimum

number

Opsional. Nilai minimum untuk Type.INTEGER dan Type.NUMBER.

Kolom union _maximum.

_maximum hanya dapat berupa salah satu dari hal berikut:

maximum

number

Opsional. Nilai maksimum untuk Type.INTEGER dan Type.NUMBER.

PropertiesEntry

Representasi JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Kolom
key

string

value

object (Schema)

Nilai

Representasi 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.
}
Kolom
Kolom union kind. Jenis nilai. kind hanya ada berupa salah satu diantara berikut:
nullValue

null

Mewakili JSON null.

numberValue

number

Mewakili angka JSON. Tidak boleh NaN, Infinity, atau -Infinity, karena tidak didukung dalam JSON. Hal ini juga tidak dapat merepresentasikan nilai Int64 besar, karena format JSON umumnya tidak mendukungnya dalam jenis angka.

stringValue

string

Mewakili string JSON.

boolValue

boolean

Mewakili boolean JSON (literal true atau false dalam JSON).

structValue

object (Struct format)

Mewakili objek JSON.

listValue

array (ListValue format)

Mewakili array JSON.

Struct

Representasi JSON
{
  "fields": {
    string: value,
    ...
  }
}
Kolom
fields

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

Peta nilai yang diketik secara dinamis dan tidak berurutan.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representasi JSON
{
  "key": string,
  "value": value
}
Kolom
key

string

value

value (Value format)

ListValue

Representasi JSON
{
  "values": [
    value
  ]
}
Kolom
values[]

value (Value format)

Kolom berulang dari nilai yang diketik secara dinamis.

DefsEntry

Representasi JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Kolom
key

string

value

object (Schema)

OpenApiTool

Representasi JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Kolom
openApiSchema

string

Wajib. Skema OpenAPI dalam format JSON atau YAML.

name

string

Opsional. Nama alat. Jika tidak diberikan, nama alat akan diambil dari skema OpenAPI, dari operation.operationId.

description

string

Opsional. Deskripsi alat. Jika tidak diberikan, deskripsi alat akan diambil dari skema OpenAPI, dari operation.description atau operation.summary.

apiAuthentication

object (ApiAuthentication)

Opsional. Informasi autentikasi yang diperlukan oleh API.

tlsConfig

object (TlsConfig)

Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang akan dipercayai klien.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Direktori Layanan.

ignoreUnknownFields

boolean

Opsional. Jika benar (true), agen akan mengabaikan kolom yang tidak diketahui dalam respons API.

url

string

Opsional. URL server skema Open API. Kolom ini hanya ditetapkan di alat dalam dependensi lingkungan selama proses ekspor jika skema berisi URL server. Selama proses impor, jika URL ini ada dalam dependensi lingkungan dan skema memiliki placeholder $env_var, URL ini akan menggantikan placeholder dalam skema.

ApiAuthentication

Representasi 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.
}
Kolom
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut:
apiKeyConfig

object (ApiKeyConfig)

Opsional. Konfigurasi untuk autentikasi kunci API.

oauthConfig

object (OAuthConfig)

Opsional. Konfigurasi untuk OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Opsional. Konfigurasi untuk autentikasi token ID yang dibuat dari agen layanan CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Opsional. Konfigurasi untuk autentikasi akun layanan.

bearerTokenConfig

object (BearerTokenConfig)

Opsional. Konfigurasi untuk autentikasi token pembawa.

ApiKeyConfig

Representasi JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Kolom
keyName

string

Wajib. Nama parameter atau nama header kunci API. Misalnya, Jika permintaan API adalah "https://example.com/act?X-Api-Key=", "X-Api-Key" akan menjadi nama parameter.

apiKeySecretVersion

string

Wajib. Nama resource versi secret SecretManager yang menyimpan kunci API. Format: projects/{project}/secrets/{secret}/versions/{version}

Catatan: Anda harus memberikan peran roles/secretmanager.secretAccessor kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Wajib. Lokasi kunci dalam permintaan.

OAuthConfig

Representasi JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Kolom
oauthGrantType

enum (OauthGrantType)

Wajib. Jenis pemberian izin OAuth.

clientId

string

Wajib. ID klien dari penyedia OAuth.

clientSecretVersion

string

Wajib. Nama resource versi secret SecretManager yang menyimpan rahasia klien. Format: projects/{project}/secrets/{secret}/versions/{version}

Catatan: Anda harus memberikan peran roles/secretmanager.secretAccessor kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Wajib. Endpoint token di penyedia OAuth untuk ditukar dengan token akses.

scopes[]

string

Opsional. Cakupan OAuth yang akan diberikan.

ServiceAccountAuthConfig

Representasi JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Kolom
serviceAccount

string

Wajib. Alamat email akun layanan yang digunakan untuk autentikasi. CES menggunakan akun layanan ini untuk menukar token akses dan token akses tersebut kemudian dikirim di header Authorization permintaan.

Akun layanan harus memiliki peran roles/iam.serviceAccountTokenCreator yang diberikan kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Opsional. Cakupan OAuth yang akan diberikan. Jika tidak ditentukan, cakupan default https://www.googleapis.com/auth/cloud-platform akan digunakan.

BearerTokenConfig

Representasi JSON
{
  "token": string
}
Kolom
token

string

Wajib. Token pemilik. Harus dalam format $context.variables.<name_of_variable>.

TlsConfig

Representasi JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Kolom
caCerts[]

object (CaCert)

Wajib. Menentukan daftar sertifikat CA kustom yang diizinkan untuk verifikasi HTTPS.

CaCert

Representasi JSON
{
  "displayName": string,
  "cert": string
}
Kolom
displayName

string

Wajib. Nama sertifikat CA kustom yang diizinkan. Ini dapat digunakan untuk membedakan sertifikat CA kustom.

cert

string (bytes format)

Wajib. Sertifikat CA kustom yang diizinkan (dalam format DER) untuk verifikasi HTTPS. Tindakan ini akan menggantikan trust store SSL default. Jika kosong atau tidak ditentukan, CES akan menggunakan penyimpanan tepercaya default Google untuk memverifikasi sertifikat. Catatan: Pastikan sertifikat server HTTPS ditandatangani dengan "subject alt name". Misalnya, sertifikat dapat ditandatangani sendiri menggunakan perintah berikut:

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

String berenkode base64.

ServiceDirectoryConfig

Representasi JSON
{
  "service": string
}
Kolom
service

string

Wajib. Nama layanan Service Directory. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Lokasi direktori layanan harus sama dengan lokasi aplikasi.

GoogleSearchTool

Representasi JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Kolom
name

string

Wajib. Nama alat.

description

string

Opsional. Deskripsi tujuan alat.

contextUrls[]

string

Opsional. Konten akan diambil langsung dari URL ini untuk konteks dan perujukan. Contoh: "https://example.com/path.html". Maksimum 20 URL yang diizinkan.

preferredDomains[]

string

Opsional. Menentukan domain untuk membatasi hasil penelusuran. Contoh: "example.com", "another.site". Maksimum 20 domain dapat ditentukan.

excludeDomains[]

string

Opsional. Daftar domain yang akan dikecualikan dari hasil penelusuran. Contoh: "example.com". Maksimum 2.000 domain dapat dikecualikan.

promptConfig

object (PromptConfig)

Opsional. Petunjuk perintah yang diteruskan ke perencana tentang cara hasil penelusuran harus diproses untuk teks dan suara.

PromptConfig

Representasi JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Kolom
textPrompt

string

Opsional. Menentukan perintah yang digunakan untuk petunjuk sistem saat berinteraksi dengan agen dalam percakapan chat. Jika tidak disetel, perintah default akan digunakan.

voicePrompt

string

Opsional. Menentukan perintah yang digunakan untuk petunjuk sistem saat berinteraksi dengan agen dalam percakapan suara. Jika tidak disetel, perintah default akan digunakan.

ConnectorTool

Representasi JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Kolom
connection

string

Wajib. Nama resource lengkap Koneksi Integration Connectors yang dirujuk. Format: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Wajib. Tindakan yang akan digunakan alat.

authConfig

object (EndUserAuthConfig)

Opsional. Mengonfigurasi cara penanganan autentikasi di Integration Connectors. Secara default, autentikasi admin diteruskan dalam permintaan API Integration Connectors. Anda dapat menggantinya dengan konfigurasi autentikasi pengguna akhir yang berbeda. Catatan: Koneksi harus mengaktifkan penggantian autentikasi agar dapat menentukan konfigurasi EUC di sini. Jika tidak, pembuatan ConnectorTool akan gagal. Lihat https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override untuk mengetahui detailnya.

name

string

Opsional. Nama alat yang dapat digunakan oleh Agen untuk memutuskan apakah akan memanggil ConnectorTool ini.

description

string

Opsional. Deskripsi alat yang dapat digunakan oleh Agen untuk memutuskan apakah akan memanggil ConnectorTool ini atau tidak.

Tindakan

Representasi 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.
}
Kolom
inputFields[]

string

Opsional. Kolom entitas yang akan digunakan sebagai input untuk operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entitas akan digunakan.

outputFields[]

string

Opsional. Kolom entitas yang akan ditampilkan dari operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entity akan ditampilkan.

Kolom union action_spec. Spesifikasi untuk tindakan yang akan dikonfigurasi agar dapat digunakan oleh alat. action_spec hanya ada berupa salah satu diantara berikut:
connectionActionId

string

ID tindakan Koneksi yang akan digunakan alat.

entityOperation

object (EntityOperation)

Konfigurasi operasi entitas yang akan digunakan alat.

EntityOperation

Representasi JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Kolom
entityId

string

Wajib. ID entitas.

operation

enum (OperationType)

Wajib. Operasi yang akan dilakukan pada entity.

EndUserAuthConfig

Representasi 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.
}
Kolom
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autentikasi Kode Otorisasi Oauth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autentikasi Pemberian Otorisasi OAuth 2.0 Profil JWT.

Oauth2AuthCodeConfig

Representasi JSON
{
  "oauthToken": string
}
Kolom
oauthToken

string

Wajib. Nama parameter token OAuth yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representasi JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Kolom
issuer

string

Wajib. Nama parameter penerbit yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

subject

string

Wajib. Nama parameter subjek yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

clientKey

string

Wajib. Nama parameter klien yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

DataStoreTool

Representasi JSON
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

  // Union field search_source can be only one of the following:
  "dataStoreSource": {
    object (DataStoreSource)
  },
  "engineSource": {
    object (EngineSource)
  }
  // End of list of possible types for union field search_source.
}
Kolom
name

string

Wajib. Nama alat penyimpanan data.

description

string

Opsional. Deskripsi alat.

boostSpecs[]

object (BoostSpecs)

Opsional. Spesifikasi penguatan untuk menguatkan dokumen tertentu.

modalityConfigs[]

object (ModalityConfig)

Opsional. Konfigurasi modalitas untuk penyimpanan data.

filterParameterBehavior

enum (FilterParameterBehavior)

Opsional. Perilaku parameter filter.

Kolom union search_source. Menentukan sumber penelusuran, baik DataStore tunggal maupun Mesin Telusur. search_source hanya ada berupa salah satu diantara berikut:
dataStoreSource

object (DataStoreSource)

Opsional. Menelusuri dalam satu DataStore tertentu.

engineSource

object (EngineSource)

Opsional. Menelusuri dalam Mesin (berpotensi di beberapa DataStore).

DataStoreSource

Representasi JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Kolom
filter

string

Opsional. Spesifikasi filter untuk DataStore. Lihat: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Opsional. Penyimpanan data.

DataStore

Representasi JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Kolom
name

string

Wajib. Nama lengkap resource DataStore. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Hanya output. Jenis penyimpanan data. Kolom ini bersifat hanya baca dan diisi oleh server.

documentProcessingMode

enum (DocumentProcessingMode)

Hanya output. Mode pemrosesan dokumen untuk koneksi penyimpanan data. Hanya ditetapkan untuk penyimpanan data PUBLIC_WEB dan UNSTRUCTURED.

displayName

string

Hanya output. Nama tampilan penyimpanan data.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat penyimpanan data dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Hanya output. Konfigurasi konektor untuk koneksi penyimpanan data.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nano non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

ConnectorConfig

Representasi JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Kolom
collection

string

Nama resource koleksi tempat penyimpanan data berada.

collectionDisplayName

string

Nama tampilan koleksi tempat penyimpanan data berada.

dataSource

string

Nama sumber data. Contoh: salesforce, jira, confluence, bigquery.

EngineSource

Representasi JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Kolom
engine

string

Wajib. Nama lengkap resource Engine. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Opsional. Digunakan untuk menargetkan DataStore tertentu dalam Engine. Jika kosong, penelusuran berlaku untuk semua DataStore yang terkait dengan Engine.

filter

string

Opsional. Filter yang diterapkan pada penelusuran di seluruh Mesin Telusur. Tidak relevan dan tidak digunakan jika 'data_store_sources' diberikan. Lihat: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representasi JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Kolom
dataStores[]

string

Wajib. Penyimpanan Data tempat konfigurasi peningkatan diterapkan. Nama resource lengkap DataStore, seperti projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Wajib. Daftar spesifikasi peningkat.

BoostSpec

Representasi JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Kolom
conditionBoostSpecs[]

object (ConditionBoostSpec)

Wajib. Daftar spesifikasi peningkat.

ConditionBoostSpec

Representasi JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Kolom
condition

string

Wajib. Ekspresi yang menentukan kondisi peninggian. Sintaksisnya sama dengan sintaksis ekspresi filter. Saat ini, satu-satunya kondisi yang didukung adalah daftar kode bahasa BCP-47. Contoh: Untuk meningkatkan saran dalam bahasa Inggris atau Prancis: (lang_code: ANY("en", "fr"))

boost

number

Opsional. Kekuatan pendorong, yang harus berada dalam [-1, 1]. Peningkatan negatif berarti penurunan peringkat. Nilai defaultnya adalah 0.0.

Menetapkan ke 1.0 akan memberikan promosi besar pada saran. Namun, hasil teratas tidak selalu merupakan saran yang dipromosikan.

Menetapkan ke -1,0 akan menurunkan saran secara signifikan. Namun, saran lain yang relevan mungkin masih ditampilkan.

Menyetel ke 0,0 berarti tidak ada peningkatan yang diterapkan. Kondisi peningkatan diabaikan.

boostControlSpec

object (BoostControlSpec)

Opsional. Spesifikasi kompleks untuk peringkat kustom berdasarkan nilai atribut yang ditentukan pelanggan.

BoostControlSpec

Representasi JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Kolom
fieldName

string

Opsional. Nama kolom yang nilainya akan digunakan untuk menentukan jumlah peningkat.

attributeType

enum (AttributeType)

Opsional. Jenis atribut yang akan digunakan untuk menentukan jumlah peningkat. Nilai atribut dapat diperoleh dari nilai kolom field_name yang ditentukan. Untuk nilai numerik, prosesnya sederhana, yaitu attribute_value = numerical_field_value. Namun, dalam kasus keaktualan, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opsional. Jenis interpolasi yang akan diterapkan untuk menghubungkan titik kontrol yang tercantum di bawah.

controlPoints[]

object (ControlPoint)

Opsional. Titik kontrol yang digunakan untuk menentukan kurva. Fungsi monotonik (ditentukan melalui interpolation_type di atas) melewati titik kontrol yang tercantum di sini.

ControlPoint

Representasi JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Kolom
attributeValue

string

Opsional. Dapat berupa salah satu dari: 1. Nilai kolom numerik. 2. Spesifikasi durasi untuk keaktualan: Nilai harus diformat sebagai nilai XSD dayTimeDuration (subset terbatas dari nilai durasi ISO 8601). Pola untuk ini adalah: [nD][T[nH][nM][nS]].

boostAmount

number

Opsional. Nilai antara -1 hingga 1 yang digunakan untuk meningkatkan skor jika attribute_value dievaluasi ke nilai yang ditentukan di atas.

ModalityConfig

Representasi JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Kolom
modalityType

enum (ModalityType)

Wajib. Jenis modalitas.

rewriterConfig

object (RewriterConfig)

Opsional. Konfigurasi penulis ulang.

summarizationConfig

object (SummarizationConfig)

Opsional. Konfigurasi ringkasan.

groundingConfig

object (GroundingConfig)

Opsional. Konfigurasi perujukan.

snippetsConfig

object (SnippetsConfig)

Opsional. Konfigurasi cuplikan.

RewriterConfig

Representasi JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Kolom
modelSettings

object (ModelSettings)

Wajib. Konfigurasi untuk model LLM.

prompt

string

Opsional. Definisi perintah. Jika tidak disetel, perintah default akan digunakan.

disabled

boolean

Opsional. Apakah penulis ulang dinonaktifkan.

ModelSettings

Representasi JSON
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Kolom
model

string

Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya.

Kolom union _temperature.

_temperature hanya dapat berupa salah satu dari hal berikut:

temperature

number

Opsional. Jika disetel, suhu ini akan digunakan untuk model LLM. Temperatur mengontrol keacakan respons model. Temperatur yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Temperatur yang lebih tinggi menghasilkan respons yang lebih kreatif.

SummarizationConfig

Representasi JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Kolom
modelSettings

object (ModelSettings)

Opsional. Konfigurasi untuk model LLM.

prompt

string

Opsional. Definisi perintah. Jika tidak disetel, perintah default akan digunakan.

disabled

boolean

Opsional. Apakah ringkasan dinonaktifkan.

GroundingConfig

Representasi JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Kolom
groundingLevel

number

Opsional. Ambang batas perujukan jawaban berdasarkan sumber yang diambil. Nilai memiliki rentang yang dapat dikonfigurasi [1, 5]. Tingkat ini digunakan untuk menentukan batas keterujukan jawaban, yang berarti bahwa semua respons dengan skor keterujukan di bawah batas akan kembali menampilkan cuplikan yang relevan saja.

Misalnya, level 3 berarti skor perujukan harus 3 atau lebih tinggi agar respons ditampilkan.

disabled

boolean

Opsional. Apakah perujukan dinonaktifkan.

SnippetsConfig

Representasi JSON
{
  "enableSnippets": boolean
}
Kolom
enableSnippets

boolean

Opsional. Apakah cuplikan diaktifkan atau tidak.

PythonFunction

Representasi JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Kolom
name

string

Opsional. Nama fungsi Python yang akan dijalankan. Harus cocok dengan nama fungsi Python yang ditentukan dalam kode python. Peka huruf besar/kecil. Jika nama tidak diberikan, fungsi pertama yang ditentukan dalam kode python akan digunakan.

pythonCode

string

Opsional. Kode Python yang akan dieksekusi untuk alat.

description

string

Hanya output. Deskripsi fungsi Python, di-parsing dari docstring kode python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Service Directory untuk alat.

McpTool

Representasi JSON
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (State)
}
Kolom
name

string

Wajib. Nama alat MCP.

nameOverride

string

Opsional. Penggantian nama alat MCP. Bagian ini diisi jika nama diganti oleh penggantian Toolset.

description

string

Opsional. Deskripsi alat MCP.

inputSchema

object (Schema)

Opsional. Skema argumen input alat MCP.

outputSchema

object (Schema)

Opsional. Skema argumen output alat MCP.

serverAddress

string

Wajib. Alamat server MCP, misalnya, "https://example.com/mcp/". Jika server dibangun dengan MCP SDK, URL harus memiliki akhiran "/mcp/". Hanya server berbasis transport HTTP yang dapat di-streaming yang didukung. Hal ini sama dengan server_address di McpToolset. Lihat https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http untuk mengetahui detail selengkapnya.

apiAuthentication

object (ApiAuthentication)

Opsional. Informasi autentikasi yang diperlukan untuk menjalankan alat terhadap server MCP. Untuk autentikasi token pembawa, token hanya berlaku untuk eksekusi alat, bukan untuk alat listingan. Hal ini mengharuskan alat dapat dicantumkan tanpa autentikasi.

tlsConfig

object (TlsConfig)

Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang harus dipercaya oleh klien.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Service Directory untuk VPC-SC, yang digunakan untuk menyelesaikan nama layanan dalam perimeter.

customHeaders

map (key: string, value: string)

Opsional. Header kustom yang akan dikirim dalam permintaan ke server MCP. Nilai harus dalam format $context.variables.<name_of_variable> dan dapat ditetapkan dalam variabel sesi. Lihat https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection untuk mengetahui detail selengkapnya.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Hanya output. Status ketersediaan dinamis alat di server eksternal.

CustomHeadersEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

FileSearchTool

Representasi JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Kolom
corpusType

enum (CorpusType)

Opsional. Jenis korpus. Default-nya adalah FULLY_MANAGED.

name

string

Wajib. Nama alat.

description

string

Opsional. Deskripsi alat.

fileCorpus

string

Opsional. Korpus tempat file disimpan. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representasi JSON
{
  "name": string,
  "description": string
}
Kolom
name

string

Wajib. Nama alat sistem.

description

string

Hanya output. Deskripsi alat sistem.

AgentTool

Representasi JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Kolom
name

string

Wajib. Nama alat agen.

description

string

Opsional. Deskripsi tujuan alat.

agent

string

Opsional. Nama resource agen yang menjadi titik entri alat. Format: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representasi JSON
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

  // Union field input can be only one of the following:
  "parameters": {
    object (Schema)
  }
  // End of list of possible types for union field input.
}
Kolom
name

string

Wajib. Nama tampilan alat widget.

description

string

Opsional. Deskripsi alat widget.

widgetType

enum (WidgetType)

Opsional. Jenis alat widget. Jika tidak ditentukan, jenis defaultnya adalah CUSTOMIZED.

uiConfig

object (Struct format)

Opsional. Konfigurasi untuk merender widget.

dataMapping

object (DataMapping)

Opsional. Pemetaan yang menentukan cara data dari alat sumber dipetakan ke parameter input widget.

textResponseConfig

object (TextResponseConfig)

Opsional. Konfigurasi untuk respons teks yang selalu disertakan.

Kolom union input. Input alat widget. input hanya ada berupa salah satu diantara berikut:
parameters

object (Schema)

Opsional. Parameter input alat widget.

DataMapping

Representasi JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Kolom
sourceToolName

string

Opsional. Nama resource alat yang menyediakan data untuk widget (misalnya, alat penelusuran atau fungsi kustom). Format: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Opsional. Peta kolom parameter input widget ke kolom output yang sesuai dari alat sumber.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Opsional. Konfigurasi untuk fungsi Python yang digunakan untuk mengubah output alat sumber ke dalam format input widget.

mode

enum (Mode)

Opsional. Mode pemetaan data.

pythonScript
(deprecated)

string

Tidak digunakan lagi: Gunakan python_function sebagai gantinya.

FieldMappingsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

TextResponseConfig

Representasi JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Kolom
type

enum (Type)

Opsional. Strategi untuk memberikan respons teks.

staticText

string

Opsional. Respons teks statis yang akan ditampilkan saat jenisnya adalah STATIC.

textResponseInstruction

string

Opsional. Petunjuk untuk LLM tentang cara menghasilkan respons teks. Digunakan sebagai deskripsi untuk parameter respons teks jika jenisnya adalah LLM_GENERATED.

RemoteAgentTool

Representasi JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Kolom
name

string

Wajib. Nama alat.

description

string

Wajib. Deskripsi alat.

agentCard

object (AgentCard)

Wajib. Kartu agen dari agen jarak jauh yang dipanggil oleh alat ini.

AgentCard

Representasi JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Kolom
name

string

Wajib. Nama agen yang dapat dibaca manusia.

description

string

Wajib. Deskripsi domain tindakan/ruang solusi agen.

supportedInterfaces[]

object (AgentInterface)

Wajib. Daftar antarmuka yang didukung dan diurutkan. Entri pertama lebih disukai.

version

string

Wajib. Versi agen.

skills[]

object (AgentSkill)

Wajib. Keahlian mewakili unit kemampuan yang dapat dilakukan agen. Hal ini mungkin agak abstrak, tetapi mewakili serangkaian tindakan yang lebih terfokus yang kemungkinan besar akan berhasil dilakukan agen.

AgentInterface

Representasi JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Kolom
url

string

Wajib. URL tempat antarmuka ini tersedia. Harus berupa URL HTTPS absolut yang valid dalam produksi. Contoh: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Wajib. Binding protokol yang didukung di URL ini. Ini adalah string formulir terbuka, yang dapat dengan mudah diperluas untuk binding protokol lainnya. Plugin inti yang didukung secara resmi adalah JSONRPC, GRPC, dan HTTP+JSON.

tenant

string

ID tenant yang akan digunakan dalam permintaan saat memanggil agen.

protocolVersion

string

Wajib. Versi A2A protocol yang diekspos oleh antarmuka ini. Gunakan versi minor terbaru yang didukung per versi utama. Contoh: "0.3", "1.0"

AgentSkill

Representasi JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Kolom
id

string

Wajib. ID unik untuk kemampuan agen.

name

string

Wajib. Nama yang dapat dibaca manusia untuk keahlian.

description

string

Wajib. Deskripsi mendetail tentang skill.

tags[]

string

Wajib. Sekumpulan kata kunci yang menjelaskan kemampuan skill.

examples[]

string

Contoh perintah atau skenario yang dapat ditangani oleh kemampuan ini.

inputModes[]

string

Kumpulan jenis media input yang didukung untuk skill ini, yang menggantikan default agen.

outputModes[]

string

Kumpulan jenis media output yang didukung untuk skill ini, yang menggantikan default agen.

Durasi

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Detik yang ditandatangani dari rentang waktu. Harus dari -315.576.000.000 hingga +315.576.000.000 inklusif. Catatan: batas ini dihitung dari: 60 dtk/mnt * 60 mnt/j * 24 j/hr * 365,25 hr/thn * 10.000 thn

nanos

integer

Pecahan detik bertanda pada resolusi nanodetik rentang waktu. Durasi kurang dari satu detik ditampilkan dengan kolom seconds 0 dan kolom nanos positif atau negatif. Untuk durasi satu detik atau lebih, nilai non-nol untuk kolom nanos harus memiliki tanda yang sama dengan kolom seconds. Harus dari -999.999.999 hingga +999.999.999 inklusif.

ToolFakeConfig

Representasi 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.
}
Kolom
enableFakeMode

boolean

Opsional. Apakah alat menggunakan mode palsu.

Kolom union tool_response. Respons bersifat statis atau disediakan oleh fungsi python. tool_response hanya ada berupa salah satu diantara berikut:
codeBlock

object (CodeBlock)

Opsional. Blok kode yang akan dieksekusi, bukan panggilan alat yang sebenarnya.

CodeBlock

Representasi JSON
{
  "pythonCode": string
}
Kolom
pythonCode

string

Wajib. Kode Python yang akan dipanggil dalam mode tiruan alat. Tanda tangan fungsi Python yang diharapkan - Untuk menangkap semua panggilan alat: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Untuk menangkap panggilan alat tertentu: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Jika fungsi menampilkan None, alat sebenarnya akan dipanggil.

Jenis

Jenis data OpenAPI.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
STRING Jenis string.
INTEGER Jenis bilangan bulat.
NUMBER Jenis angka.
BOOLEAN Jenis Boolean.
OBJECT Jenis objek.
ARRAY Jenis array.

NullValue

Mewakili JSON null.

NullValue adalah sentinel, menggunakan enum dengan hanya satu nilai untuk merepresentasikan nilai null untuk gabungan jenis Value.

Kolom berjenis NullValue dengan nilai selain 0 dianggap tidak valid. Sebagian besar serializer ProtoJSON akan memancarkan Value dengan null_value yang ditetapkan sebagai null JSON, terlepas dari nilai bilangan bulatnya, dan akan melakukan perjalanan pulang pergi ke nilai 0.

Enum
NULL_VALUE Nilai null.

RequestLocation

Lokasi kunci API dalam permintaan.

Enum
REQUEST_LOCATION_UNSPECIFIED Tidak ditentukan. Nilai ini tidak boleh digunakan.
HEADER Merepresentasikan kunci di header http.
QUERY_STRING Mewakili kunci dalam string kueri.

OauthGrantType

Jenis pemberian izin OAuth. Hanya pemberian kredensial klien yang didukung.

Enum
OAUTH_GRANT_TYPE_UNSPECIFIED Tidak ditentukan. Default-nya adalah CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Mewakili alur kredensial klien.

OperationType

Operasi yang akan dilakukan pada entity.

Enum
OPERATION_TYPE_UNSPECIFIED Jenis operasi tidak ditentukan. Tidak valid, pembuatan/pembaruan ConnectorTool akan gagal.
LIST Operasi daftar.
GET Mendapatkan operasi.
CREATE Buat operasi.
UPDATE Operasi update.
DELETE Hapus operasi.

DataStoreType

Jenis penyimpanan data.

Enum
DATA_STORE_TYPE_UNSPECIFIED Tidak ditentukan. Nilai ini menunjukkan bahwa jenis penyimpanan data tidak ditentukan, sehingga tidak akan digunakan selama penelusuran.
PUBLIC_WEB Penyimpanan data yang berisi konten web publik.
UNSTRUCTURED Penyimpanan data yang berisi data pribadi tidak terstruktur.
FAQ Penyimpanan data yang berisi data terstruktur yang digunakan sebagai FAQ.
CONNECTOR Penyimpanan data yang merupakan konektor ke layanan pihak pertama atau pihak ketiga.

DocumentProcessingMode

Mode pemrosesan dokumen penyimpanan data.

Enum
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Tidak ditentukan.
DOCUMENTS Dokumen diproses sebagai dokumen.
CHUNKS Dokumen dikonversi menjadi potongan.

AttributeType

Atribut(atau fungsi) yang akan diterapkan peringkat kustomnya.

Enum
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType tidak ditentukan.
NUMERICAL Nilai kolom numerik akan digunakan untuk memperbarui jumlah peningkat secara dinamis. Dalam hal ini, attribute_value (nilai x) titik kontrol akan menjadi nilai sebenarnya dari kolom numerik yang boost_amount-nya ditentukan.
FRESHNESS Untuk kasus penggunaan keaktualan, nilai atribut akan berupa durasi antara waktu saat ini dan tanggal di kolom datetime yang ditentukan. Nilai harus diformat sebagai nilai XSD dayTimeDuration (subset terbatas dari nilai durasi ISO 8601). Pola untuk ini adalah: [nD][T[nH][nM][nS]]. Misalnya, 5D, 3DT12H30M, T24H.

InterpolationType

Jenis interpolasi yang akan diterapkan. Defaultnya adalah linear (Piecewise Linear).

Enum
INTERPOLATION_TYPE_UNSPECIFIED Jenis interpolasi tidak ditentukan. Dalam hal ini, nilai defaultnya adalah Linear.
LINEAR Interpolasi linear sepotong-sepotong akan diterapkan.

ModalityType

Jenis modalitas.

Enum
MODALITY_TYPE_UNSPECIFIED Jenis modalitas tidak ditentukan.
TEXT Modalitas teks.
AUDIO Modalitas audio.

FilterParameterBehavior

Perilaku parameter filter.

Enum
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Perilaku filter default. Sertakan parameter filter untuk penyimpanan data konektor. Untuk jenis datastore lainnya, parameter input filter dihilangkan.
ALWAYS_INCLUDE Selalu sertakan parameter filter untuk semua jenis penyimpanan data.
NEVER_INCLUDE Parameter filter tidak pernah disertakan dalam daftar parameter alat, terlepas dari jenis datastore.

Negara Bagian

Mewakili status ketersediaan dinamis alat.

Enum
STATE_UNSPECIFIED Status default.
ACTIVE Alat ini tersedia dan ditawarkan secara aktif oleh server.
INACTIVE Alat dikonfigurasi atau disematkan, tetapi saat ini tidak ditawarkan oleh server.
STALE Alat ada di server, tetapi tidak cocok dengan versi di server.

CorpusType

Jenis korpus RAG Vertex.

Enum
CORPUS_TYPE_UNSPECIFIED Jenis korpus tidak ditentukan.
USER_OWNED Korpus dibuat dan dimiliki oleh pengguna.
FULLY_MANAGED Korpus dibuat oleh agen.

WidgetType

Semua jenis widget yang tersedia. Nilai baru dapat ditambahkan ke enum ini pada masa mendatang.

Enum
WIDGET_TYPE_UNSPECIFIED Jenis widget tidak ditentukan.
CUSTOM Jenis widget kustom.
PRODUCT_DETAILS Widget detail produk.
QUICK_ACTIONS Widget tindakan cepat.
PRODUCT_COMPARISON Widget perbandingan produk.
ADVANCED_PRODUCT_DETAILS Widget detail produk lanjutan.
SHORT_FORM Widget bentuk pendek.
OVERALL_SATISFACTION Widget kepuasan secara keseluruhan.
ORDER_SUMMARY Widget ringkasan pesanan.
APPOINTMENT_DETAILS Widget detail janji temu.
APPOINTMENT_SCHEDULER Widget penjadwal janji temu.
CONTACT_FORM Widget formulir kontak.

Mode

Strategi yang digunakan untuk memetakan data dari alat sumber ke widget.

Enum
MODE_UNSPECIFIED Mode tidak ditentukan.
FIELD_MAPPING Gunakan peta field_mappings untuk transformasi data.
PYTHON_SCRIPT Gunakan python_script untuk transformasi data.

Jenis

Menentukan cara respons teks dihasilkan.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
NONE LLM secara dinamis memutuskan apakah akan menghasilkan respons teks bersama widget berdasarkan konteks percakapan.
LLM_GENERATED LLM secara eksplisit diwajibkan untuk menghasilkan respons teks.
STATIC Respons teks statis yang telah ditentukan selalu digunakan.

ExecutionType

Jenis eksekusi alat atau set alat.

Enum
EXECUTION_TYPE_UNSPECIFIED Jenis eksekusi tidak ditentukan. Nilai defaultnya adalah SYNCHRONOUS jika tidak ditentukan.
SYNCHRONOUS Alat ini dieksekusi secara sinkron. Sesi diblokir hingga alat kembali.
ASYNCHRONOUS Alat ini dijalankan secara asinkron. Sesi akan berlanjut saat alat dijalankan.

Skema Output

Alat mewakili tindakan yang dapat dilakukan agen CES untuk mencapai tujuan tertentu.

Alat

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

  // Union field tool_type can be only one of the following:
  "clientFunction": {
    object (ClientFunction)
  },
  "openApiTool": {
    object (OpenApiTool)
  },
  "googleSearchTool": {
    object (GoogleSearchTool)
  },
  "connectorTool": {
    object (ConnectorTool)
  },
  "dataStoreTool": {
    object (DataStoreTool)
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mcpTool": {
    object (McpTool)
  },
  "fileSearchTool": {
    object (FileSearchTool)
  },
  "systemTool": {
    object (SystemTool)
  },
  "agentTool": {
    object (AgentTool)
  },
  "widgetTool": {
    object (WidgetTool)
  },
  "remoteAgentTool": {
    object (RemoteAgentTool)
  }
  // End of list of possible types for union field tool_type.
}
Kolom
name

string

ID. Nama resource alat. Format:

  • projects/{project}/locations/{location}/apps/{app}/tools/{tool} untuk alat mandiri.
  • projects/{project}/locations/{location}/apps/{app}/toolsets/{toolset}/tools/{tool} untuk alat yang diambil dari toolset.

Alat ini bersifat dinamis dan hanya menghasilkan output; alat ini tidak dapat dirujuk secara langsung jika alat diperlukan.

displayName

string

Hanya output. Nama tampilan alat, yang berasal dari jenis alat. Misalnya, nama tampilan [ClientFunction][Tool.ClientFunction] berasal dari properti name-nya.

executionType

enum (ExecutionType)

Opsional. Jenis eksekusi alat.

timeout

string (Duration format)

Opsional. Waktu tunggu untuk eksekusi alat. Jika tidak ditetapkan, waktu tunggu default adalah 30 detik untuk alat SYNCHRONOUS dan 60 detik untuk alat ASYNCHRONOUS.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat alat dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

updateTime

string (Timestamp format)

Hanya output. Stempel waktu saat alat terakhir diperbarui.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

etag

string

ETag yang digunakan untuk memastikan objek tidak berubah selama operasi baca-ubah-tulis. Jika etag kosong, pembaruan akan menimpa perubahan serentak.

generatedSummary

string

Hanya output. Jika alat dibuat oleh asisten LLM, kolom ini berisi ringkasan deskriptif dari pembuatan.

toolFakeConfig

object (ToolFakeConfig)

Opsional. Konfigurasi untuk perilaku alat dalam mode palsu.

Kolom union tool_type. Jenis alat. tool_type hanya ada berupa salah satu diantara berikut:
clientFunction

object (ClientFunction)

Opsional. Fungsi klien.

openApiTool

object (OpenApiTool)

Opsional. Alat API terbuka.

googleSearchTool

object (GoogleSearchTool)

Opsional. Alat penelusuran google.

connectorTool

object (ConnectorTool)

Opsional. Alat Integration Connector.

dataStoreTool

object (DataStoreTool)

Opsional. Alat penyimpanan data.

pythonFunction

object (PythonFunction)

Opsional. Alat fungsi python.

mcpTool

object (McpTool)

Opsional. Alat MCP. Alat MCP tidak dapat dibuat atau diperbarui secara langsung dan dikelola oleh toolset MCP.

fileSearchTool

object (FileSearchTool)

Opsional. Alat penelusuran file.

systemTool

object (SystemTool)

Opsional. Alat sistem.

agentTool

object (AgentTool)

Opsional. Alat agen.

widgetTool

object (WidgetTool)

Opsional. Alat widget.

remoteAgentTool

object (RemoteAgentTool)

Opsional. Alat agen jarak jauh.

ClientFunction

Representasi JSON
{
  "name": string,
  "description": string,
  "parameters": {
    object (Schema)
  },
  "response": {
    object (Schema)
  }
}
Kolom
name

string

Wajib. Nama fungsi.

description

string

Opsional. Deskripsi fungsi.

parameters

object (Schema)

Opsional. Skema parameter fungsi.

response

object (Schema)

Opsional. Skema respons fungsi.

Skema

Representasi 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.
}
Kolom
type

enum (Type)

Wajib. Jenis data.

properties

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

Opsional. Properti Type.OBJECT.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

required[]

string

Opsional. Properti wajib Type.OBJECT.

description

string

Opsional. Deskripsi data.

items

object (Schema)

Opsional. Skema elemen Type.ARRAY.

nullable

boolean

Opsional. Menunjukkan apakah nilai boleh berupa null.

uniqueItems

boolean

Opsional. Menunjukkan bahwa item dalam array harus unik. Hanya berlaku untuk TYPE.ARRAY.

prefixItems[]

object (Schema)

Opsional. Skema elemen awal Type.ARRAY.

additionalProperties

object (Schema)

Opsional. Dapat berupa boolean atau objek, mengontrol keberadaan properti tambahan.

anyOf[]

object (Schema)

Opsional. Nilai harus divalidasi terhadap salah satu (satu atau beberapa) subskema dalam daftar.

enum[]

string

Opsional. Kemungkinan nilai elemen jenis primitif dengan format enum. Contoh: 1. Kita dapat menentukan arah sebagai : {type:STRING, format:enum, enum:["TIMUR", NORTH", "SELATAN", "BARAT"]} 2. Kita dapat menentukan nomor apartemen sebagai : {type:INTEGER, format:enum, enum:["101", "201", "301"]}

default

value (Value format)

Opsional. Nilai default data.

ref

string

Opsional. Memungkinkan referensi tidak langsung antar-node skema. Nilai harus berupa referensi yang valid ke turunan defs akar.

Misalnya, skema berikut menentukan referensi ke node skema bernama "Pet":

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

Nilai properti "pet" adalah referensi ke node skema bernama "Pet". Lihat detailnya di https://json-schema.org/understanding-json-schema/structuring.

defs

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

Opsional. Peta definisi untuk digunakan oleh ref. Hanya diizinkan di root skema.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

title

string

Opsional. Judul skema.

minItems

string (int64 format)

Opsional. Jumlah minimum elemen untuk Type.ARRAY.

maxItems

string (int64 format)

Opsional. Jumlah maksimum elemen untuk Type.ARRAY.

Kolom union _minimum.

_minimum hanya dapat berupa salah satu dari hal berikut:

minimum

number

Opsional. Nilai minimum untuk Type.INTEGER dan Type.NUMBER.

Kolom union _maximum.

_maximum hanya dapat berupa salah satu dari hal berikut:

maximum

number

Opsional. Nilai maksimum untuk Type.INTEGER dan Type.NUMBER.

PropertiesEntry

Representasi JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Kolom
key

string

value

object (Schema)

Nilai

Representasi 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.
}
Kolom
Kolom union kind. Jenis nilai. kind hanya ada berupa salah satu diantara berikut:
nullValue

null

Mewakili JSON null.

numberValue

number

Mewakili angka JSON. Tidak boleh NaN, Infinity, atau -Infinity, karena tidak didukung dalam JSON. Hal ini juga tidak dapat merepresentasikan nilai Int64 besar, karena format JSON umumnya tidak mendukungnya dalam jenis angka.

stringValue

string

Mewakili string JSON.

boolValue

boolean

Mewakili boolean JSON (literal true atau false dalam JSON).

structValue

object (Struct format)

Mewakili objek JSON.

listValue

array (ListValue format)

Mewakili array JSON.

Struct

Representasi JSON
{
  "fields": {
    string: value,
    ...
  }
}
Kolom
fields

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

Peta nilai yang diketik secara dinamis dan tidak berurutan.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

Representasi JSON
{
  "key": string,
  "value": value
}
Kolom
key

string

value

value (Value format)

ListValue

Representasi JSON
{
  "values": [
    value
  ]
}
Kolom
values[]

value (Value format)

Kolom berulang dari nilai yang diketik secara dinamis.

DefsEntry

Representasi JSON
{
  "key": string,
  "value": {
    object (Schema)
  }
}
Kolom
key

string

value

object (Schema)

OpenApiTool

Representasi JSON
{
  "openApiSchema": string,
  "name": string,
  "description": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "ignoreUnknownFields": boolean,
  "url": string
}
Kolom
openApiSchema

string

Wajib. Skema OpenAPI dalam format JSON atau YAML.

name

string

Opsional. Nama alat. Jika tidak diberikan, nama alat akan diambil dari skema OpenAPI, dari operation.operationId.

description

string

Opsional. Deskripsi alat. Jika tidak diberikan, deskripsi alat akan diambil dari skema OpenAPI, dari operation.description atau operation.summary.

apiAuthentication

object (ApiAuthentication)

Opsional. Informasi autentikasi yang diperlukan oleh API.

tlsConfig

object (TlsConfig)

Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang akan dipercayai klien.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Direktori Layanan.

ignoreUnknownFields

boolean

Opsional. Jika benar (true), agen akan mengabaikan kolom yang tidak diketahui dalam respons API.

url

string

Opsional. URL server skema Open API. Kolom ini hanya ditetapkan di alat dalam dependensi lingkungan selama proses ekspor jika skema berisi URL server. Selama proses impor, jika URL ini ada dalam dependensi lingkungan dan skema memiliki placeholder $env_var, URL ini akan menggantikan placeholder dalam skema.

ApiAuthentication

Representasi 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.
}
Kolom
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut:
apiKeyConfig

object (ApiKeyConfig)

Opsional. Konfigurasi untuk autentikasi kunci API.

oauthConfig

object (OAuthConfig)

Opsional. Konfigurasi untuk OAuth.

serviceAgentIdTokenAuthConfig

object (ServiceAgentIdTokenAuthConfig)

Opsional. Konfigurasi untuk autentikasi token ID yang dibuat dari agen layanan CES.

serviceAccountAuthConfig

object (ServiceAccountAuthConfig)

Opsional. Konfigurasi untuk autentikasi akun layanan.

bearerTokenConfig

object (BearerTokenConfig)

Opsional. Konfigurasi untuk autentikasi token pembawa.

ApiKeyConfig

Representasi JSON
{
  "keyName": string,
  "apiKeySecretVersion": string,
  "requestLocation": enum (RequestLocation)
}
Kolom
keyName

string

Wajib. Nama parameter atau nama header kunci API. Misalnya, Jika permintaan API adalah "https://example.com/act?X-Api-Key=", "X-Api-Key" akan menjadi nama parameter.

apiKeySecretVersion

string

Wajib. Nama resource versi secret SecretManager yang menyimpan kunci API. Format: projects/{project}/secrets/{secret}/versions/{version}

Catatan: Anda harus memberikan peran roles/secretmanager.secretAccessor kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

requestLocation

enum (RequestLocation)

Wajib. Lokasi kunci dalam permintaan.

OAuthConfig

Representasi JSON
{
  "oauthGrantType": enum (OauthGrantType),
  "clientId": string,
  "clientSecretVersion": string,
  "tokenEndpoint": string,
  "scopes": [
    string
  ]
}
Kolom
oauthGrantType

enum (OauthGrantType)

Wajib. Jenis pemberian izin OAuth.

clientId

string

Wajib. ID klien dari penyedia OAuth.

clientSecretVersion

string

Wajib. Nama resource versi secret SecretManager yang menyimpan rahasia klien. Format: projects/{project}/secrets/{secret}/versions/{version}

Catatan: Anda harus memberikan peran roles/secretmanager.secretAccessor kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

tokenEndpoint

string

Wajib. Endpoint token di penyedia OAuth untuk ditukar dengan token akses.

scopes[]

string

Opsional. Cakupan OAuth yang akan diberikan.

ServiceAccountAuthConfig

Representasi JSON
{
  "serviceAccount": string,
  "scopes": [
    string
  ]
}
Kolom
serviceAccount

string

Wajib. Alamat email akun layanan yang digunakan untuk autentikasi. CES menggunakan akun layanan ini untuk menukar token akses dan token akses tersebut kemudian dikirim di header Authorization permintaan.

Akun layanan harus memiliki peran roles/iam.serviceAccountTokenCreator yang diberikan kepada agen layanan CES service-<PROJECT-NUMBER>@gcp-sa-ces.iam.gserviceaccount.com.

scopes[]

string

Opsional. Cakupan OAuth yang akan diberikan. Jika tidak ditentukan, cakupan default https://www.googleapis.com/auth/cloud-platform akan digunakan.

BearerTokenConfig

Representasi JSON
{
  "token": string
}
Kolom
token

string

Wajib. Token pemilik. Harus dalam format $context.variables.<name_of_variable>.

TlsConfig

Representasi JSON
{
  "caCerts": [
    {
      object (CaCert)
    }
  ]
}
Kolom
caCerts[]

object (CaCert)

Wajib. Menentukan daftar sertifikat CA kustom yang diizinkan untuk verifikasi HTTPS.

CaCert

Representasi JSON
{
  "displayName": string,
  "cert": string
}
Kolom
displayName

string

Wajib. Nama sertifikat CA kustom yang diizinkan. Ini dapat digunakan untuk membedakan sertifikat CA kustom.

cert

string (bytes format)

Wajib. Sertifikat CA kustom yang diizinkan (dalam format DER) untuk verifikasi HTTPS. Tindakan ini akan menggantikan trust store SSL default. Jika kosong atau tidak ditentukan, CES akan menggunakan penyimpanan tepercaya default Google untuk memverifikasi sertifikat. Catatan: Pastikan sertifikat server HTTPS ditandatangani dengan "subject alt name". Misalnya, sertifikat dapat ditandatangani sendiri menggunakan perintah berikut:

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

String berenkode base64.

ServiceDirectoryConfig

Representasi JSON
{
  "service": string
}
Kolom
service

string

Wajib. Nama layanan Service Directory. Format: projects/{project}/locations/{location}/namespaces/{namespace}/services/{service}. Lokasi direktori layanan harus sama dengan lokasi aplikasi.

GoogleSearchTool

Representasi JSON
{
  "name": string,
  "description": string,
  "contextUrls": [
    string
  ],
  "preferredDomains": [
    string
  ],
  "excludeDomains": [
    string
  ],
  "promptConfig": {
    object (PromptConfig)
  }
}
Kolom
name

string

Wajib. Nama alat.

description

string

Opsional. Deskripsi tujuan alat.

contextUrls[]

string

Opsional. Konten akan diambil langsung dari URL ini untuk konteks dan perujukan. Contoh: "https://example.com/path.html". Maksimum 20 URL yang diizinkan.

preferredDomains[]

string

Opsional. Menentukan domain untuk membatasi hasil penelusuran. Contoh: "example.com", "another.site". Maksimum 20 domain dapat ditentukan.

excludeDomains[]

string

Opsional. Daftar domain yang akan dikecualikan dari hasil penelusuran. Contoh: "example.com". Maksimum 2.000 domain dapat dikecualikan.

promptConfig

object (PromptConfig)

Opsional. Petunjuk perintah yang diteruskan ke perencana tentang cara hasil penelusuran harus diproses untuk teks dan suara.

PromptConfig

Representasi JSON
{
  "textPrompt": string,
  "voicePrompt": string
}
Kolom
textPrompt

string

Opsional. Menentukan perintah yang digunakan untuk petunjuk sistem saat berinteraksi dengan agen dalam percakapan chat. Jika tidak disetel, perintah default akan digunakan.

voicePrompt

string

Opsional. Menentukan perintah yang digunakan untuk petunjuk sistem saat berinteraksi dengan agen dalam percakapan suara. Jika tidak disetel, perintah default akan digunakan.

ConnectorTool

Representasi JSON
{
  "connection": string,
  "action": {
    object (Action)
  },
  "authConfig": {
    object (EndUserAuthConfig)
  },
  "name": string,
  "description": string
}
Kolom
connection

string

Wajib. Nama resource lengkap Koneksi Integration Connectors yang dirujuk. Format: projects/{project}/locations/{location}/connections/{connection}

action

object (Action)

Wajib. Tindakan yang akan digunakan alat.

authConfig

object (EndUserAuthConfig)

Opsional. Mengonfigurasi cara penanganan autentikasi di Integration Connectors. Secara default, autentikasi admin diteruskan dalam permintaan API Integration Connectors. Anda dapat menggantinya dengan konfigurasi autentikasi pengguna akhir yang berbeda. Catatan: Koneksi harus mengaktifkan penggantian autentikasi agar dapat menentukan konfigurasi EUC di sini. Jika tidak, pembuatan ConnectorTool akan gagal. Lihat https://cloud.google.com/application-integration/docs/configure-connectors-task#configure-authentication-override untuk mengetahui detailnya.

name

string

Opsional. Nama alat yang dapat digunakan oleh Agen untuk memutuskan apakah akan memanggil ConnectorTool ini.

description

string

Opsional. Deskripsi alat yang dapat digunakan oleh Agen untuk memutuskan apakah akan memanggil ConnectorTool ini atau tidak.

Tindakan

Representasi 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.
}
Kolom
inputFields[]

string

Opsional. Kolom entitas yang akan digunakan sebagai input untuk operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entitas akan digunakan.

outputFields[]

string

Opsional. Kolom entitas yang akan ditampilkan dari operasi. Jika tidak ada kolom yang ditentukan, semua kolom Entity akan ditampilkan.

Kolom union action_spec. Spesifikasi untuk tindakan yang akan dikonfigurasi agar dapat digunakan oleh alat. action_spec hanya ada berupa salah satu diantara berikut:
connectionActionId

string

ID tindakan Koneksi yang akan digunakan alat.

entityOperation

object (EntityOperation)

Konfigurasi operasi entitas yang akan digunakan alat.

EntityOperation

Representasi JSON
{
  "entityId": string,
  "operation": enum (OperationType)
}
Kolom
entityId

string

Wajib. ID entitas.

operation

enum (OperationType)

Wajib. Operasi yang akan dilakukan pada entity.

EndUserAuthConfig

Representasi 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.
}
Kolom
Kolom union auth_config. Konfigurasi autentikasi. auth_config hanya ada berupa salah satu diantara berikut:
oauth2AuthCodeConfig

object (Oauth2AuthCodeConfig)

Autentikasi Kode Otorisasi Oauth 2.0.

oauth2JwtBearerConfig

object (Oauth2JwtBearerConfig)

Autentikasi Pemberian Otorisasi OAuth 2.0 Profil JWT.

Oauth2AuthCodeConfig

Representasi JSON
{
  "oauthToken": string
}
Kolom
oauthToken

string

Wajib. Nama parameter token OAuth yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

Oauth2JwtBearerConfig

Representasi JSON
{
  "issuer": string,
  "subject": string,
  "clientKey": string
}
Kolom
issuer

string

Wajib. Nama parameter penerbit yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

subject

string

Wajib. Nama parameter subjek yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

clientKey

string

Wajib. Nama parameter klien yang akan diteruskan. Harus dalam format $context.variables.<name_of_variable>.

DataStoreTool

Representasi JSON
{
  "name": string,
  "description": string,
  "boostSpecs": [
    {
      object (BoostSpecs)
    }
  ],
  "modalityConfigs": [
    {
      object (ModalityConfig)
    }
  ],
  "filterParameterBehavior": enum (FilterParameterBehavior),

  // Union field search_source can be only one of the following:
  "dataStoreSource": {
    object (DataStoreSource)
  },
  "engineSource": {
    object (EngineSource)
  }
  // End of list of possible types for union field search_source.
}
Kolom
name

string

Wajib. Nama alat penyimpanan data.

description

string

Opsional. Deskripsi alat.

boostSpecs[]

object (BoostSpecs)

Opsional. Spesifikasi penguatan untuk menguatkan dokumen tertentu.

modalityConfigs[]

object (ModalityConfig)

Opsional. Konfigurasi modalitas untuk penyimpanan data.

filterParameterBehavior

enum (FilterParameterBehavior)

Opsional. Perilaku parameter filter.

Kolom union search_source. Menentukan sumber penelusuran, baik DataStore tunggal maupun Mesin Telusur. search_source hanya ada berupa salah satu diantara berikut:
dataStoreSource

object (DataStoreSource)

Opsional. Menelusuri dalam satu DataStore tertentu.

engineSource

object (EngineSource)

Opsional. Menelusuri dalam Mesin (berpotensi di beberapa DataStore).

DataStoreSource

Representasi JSON
{
  "filter": string,
  "dataStore": {
    object (DataStore)
  }
}
Kolom
filter

string

Opsional. Spesifikasi filter untuk DataStore. Lihat: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

dataStore

object (DataStore)

Opsional. Penyimpanan data.

DataStore

Representasi JSON
{
  "name": string,
  "type": enum (DataStoreType),
  "documentProcessingMode": enum (DocumentProcessingMode),
  "displayName": string,
  "createTime": string,
  "connectorConfig": {
    object (ConnectorConfig)
  }
}
Kolom
name

string

Wajib. Nama lengkap resource DataStore. Format: projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}

type

enum (DataStoreType)

Hanya output. Jenis penyimpanan data. Kolom ini bersifat hanya baca dan diisi oleh server.

documentProcessingMode

enum (DocumentProcessingMode)

Hanya output. Mode pemrosesan dokumen untuk koneksi penyimpanan data. Hanya ditetapkan untuk penyimpanan data PUBLIC_WEB dan UNSTRUCTURED.

displayName

string

Hanya output. Nama tampilan penyimpanan data.

createTime

string (Timestamp format)

Hanya output. Stempel waktu saat penyimpanan data dibuat.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

connectorConfig

object (ConnectorConfig)

Hanya output. Konfigurasi konektor untuk koneksi penyimpanan data.

Stempel waktu

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Mewakili detik waktu UTC sejak epoch Unix 1970-01-01T00:00:00Z. Harus antara -62135596800 dan 253402300799 inklusif (yang sesuai dengan 0001-01-01T00:00:00Z hingga 9999-12-31T23:59:59Z).

nanos

integer

Pecahan detik non-negatif pada resolusi nanodetik. Kolom ini adalah bagian nanodetik dari durasi, bukan alternatif untuk detik. Nilai detik negatif dengan pecahan harus tetap memiliki nilai nano non-negatif yang dihitung maju dalam waktu. Harus antara 0 dan 999.999.999 inklusif.

ConnectorConfig

Representasi JSON
{
  "collection": string,
  "collectionDisplayName": string,
  "dataSource": string
}
Kolom
collection

string

Nama resource koleksi tempat penyimpanan data berada.

collectionDisplayName

string

Nama tampilan koleksi tempat penyimpanan data berada.

dataSource

string

Nama sumber data. Contoh: salesforce, jira, confluence, bigquery.

EngineSource

Representasi JSON
{
  "engine": string,
  "dataStoreSources": [
    {
      object (DataStoreSource)
    }
  ],
  "filter": string
}
Kolom
engine

string

Wajib. Nama lengkap resource Engine. Format: projects/{project}/locations/{location}/collections/{collection}/engines/{engine}

dataStoreSources[]

object (DataStoreSource)

Opsional. Digunakan untuk menargetkan DataStore tertentu dalam Engine. Jika kosong, penelusuran berlaku untuk semua DataStore yang terkait dengan Engine.

filter

string

Opsional. Filter yang diterapkan pada penelusuran di seluruh Mesin Telusur. Tidak relevan dan tidak digunakan jika 'data_store_sources' diberikan. Lihat: https://cloud.google.com/generative-ai-app-builder/docs/filter-search-metadata

BoostSpecs

Representasi JSON
{
  "dataStores": [
    string
  ],
  "spec": [
    {
      object (BoostSpec)
    }
  ]
}
Kolom
dataStores[]

string

Wajib. Penyimpanan Data tempat konfigurasi peningkatan diterapkan. Nama resource lengkap DataStore, seperti projects/{project}/locations/{location}/collections/{collection}/dataStores/{dataStore}.

spec[]

object (BoostSpec)

Wajib. Daftar spesifikasi peningkat.

BoostSpec

Representasi JSON
{
  "conditionBoostSpecs": [
    {
      object (ConditionBoostSpec)
    }
  ]
}
Kolom
conditionBoostSpecs[]

object (ConditionBoostSpec)

Wajib. Daftar spesifikasi peningkat.

ConditionBoostSpec

Representasi JSON
{
  "condition": string,
  "boost": number,
  "boostControlSpec": {
    object (BoostControlSpec)
  }
}
Kolom
condition

string

Wajib. Ekspresi yang menentukan kondisi peninggian. Sintaksisnya sama dengan sintaksis ekspresi filter. Saat ini, satu-satunya kondisi yang didukung adalah daftar kode bahasa BCP-47. Contoh: Untuk meningkatkan saran dalam bahasa Inggris atau Prancis: (lang_code: ANY("en", "fr"))

boost

number

Opsional. Kekuatan pendorong, yang harus berada dalam [-1, 1]. Peningkatan negatif berarti penurunan peringkat. Nilai defaultnya adalah 0.0.

Menetapkan ke 1.0 akan memberikan promosi besar pada saran. Namun, hasil teratas tidak selalu merupakan saran yang dipromosikan.

Menetapkan ke -1,0 akan menurunkan saran secara signifikan. Namun, saran lain yang relevan mungkin masih ditampilkan.

Menyetel ke 0,0 berarti tidak ada peningkatan yang diterapkan. Kondisi peningkatan diabaikan.

boostControlSpec

object (BoostControlSpec)

Opsional. Spesifikasi kompleks untuk peringkat kustom berdasarkan nilai atribut yang ditentukan pelanggan.

BoostControlSpec

Representasi JSON
{
  "fieldName": string,
  "attributeType": enum (AttributeType),
  "interpolationType": enum (InterpolationType),
  "controlPoints": [
    {
      object (ControlPoint)
    }
  ]
}
Kolom
fieldName

string

Opsional. Nama kolom yang nilainya akan digunakan untuk menentukan jumlah peningkat.

attributeType

enum (AttributeType)

Opsional. Jenis atribut yang akan digunakan untuk menentukan jumlah peningkat. Nilai atribut dapat diperoleh dari nilai kolom field_name yang ditentukan. Untuk nilai numerik, prosesnya sederhana, yaitu attribute_value = numerical_field_value. Namun, dalam kasus keaktualan, attribute_value = (time.now() - datetime_field_value).

interpolationType

enum (InterpolationType)

Opsional. Jenis interpolasi yang akan diterapkan untuk menghubungkan titik kontrol yang tercantum di bawah.

controlPoints[]

object (ControlPoint)

Opsional. Titik kontrol yang digunakan untuk menentukan kurva. Fungsi monotonik (ditentukan melalui interpolation_type di atas) melewati titik kontrol yang tercantum di sini.

ControlPoint

Representasi JSON
{
  "attributeValue": string,
  "boostAmount": number
}
Kolom
attributeValue

string

Opsional. Dapat berupa salah satu dari: 1. Nilai kolom numerik. 2. Spesifikasi durasi untuk keaktualan: Nilai harus diformat sebagai nilai XSD dayTimeDuration (subset terbatas dari nilai durasi ISO 8601). Pola untuk ini adalah: [nD][T[nH][nM][nS]].

boostAmount

number

Opsional. Nilai antara -1 hingga 1 yang digunakan untuk meningkatkan skor jika attribute_value dievaluasi ke nilai yang ditentukan di atas.

ModalityConfig

Representasi JSON
{
  "modalityType": enum (ModalityType),
  "rewriterConfig": {
    object (RewriterConfig)
  },
  "summarizationConfig": {
    object (SummarizationConfig)
  },
  "groundingConfig": {
    object (GroundingConfig)
  },
  "snippetsConfig": {
    object (SnippetsConfig)
  }
}
Kolom
modalityType

enum (ModalityType)

Wajib. Jenis modalitas.

rewriterConfig

object (RewriterConfig)

Opsional. Konfigurasi penulis ulang.

summarizationConfig

object (SummarizationConfig)

Opsional. Konfigurasi ringkasan.

groundingConfig

object (GroundingConfig)

Opsional. Konfigurasi perujukan.

snippetsConfig

object (SnippetsConfig)

Opsional. Konfigurasi cuplikan.

RewriterConfig

Representasi JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Kolom
modelSettings

object (ModelSettings)

Wajib. Konfigurasi untuk model LLM.

prompt

string

Opsional. Definisi perintah. Jika tidak disetel, perintah default akan digunakan.

disabled

boolean

Opsional. Apakah penulis ulang dinonaktifkan.

ModelSettings

Representasi JSON
{
  "model": string,

  // Union field _temperature can be only one of the following:
  "temperature": number
  // End of list of possible types for union field _temperature.
}
Kolom
model

string

Opsional. Model LLM yang harus digunakan agen. Jika tidak disetel, agen akan mewarisi model dari agen induknya.

Kolom union _temperature.

_temperature hanya dapat berupa salah satu dari hal berikut:

temperature

number

Opsional. Jika disetel, suhu ini akan digunakan untuk model LLM. Temperatur mengontrol keacakan respons model. Temperatur yang lebih rendah menghasilkan respons yang lebih dapat diprediksi. Temperatur yang lebih tinggi menghasilkan respons yang lebih kreatif.

SummarizationConfig

Representasi JSON
{
  "modelSettings": {
    object (ModelSettings)
  },
  "prompt": string,
  "disabled": boolean
}
Kolom
modelSettings

object (ModelSettings)

Opsional. Konfigurasi untuk model LLM.

prompt

string

Opsional. Definisi perintah. Jika tidak disetel, perintah default akan digunakan.

disabled

boolean

Opsional. Apakah ringkasan dinonaktifkan.

GroundingConfig

Representasi JSON
{
  "groundingLevel": number,
  "disabled": boolean
}
Kolom
groundingLevel

number

Opsional. Ambang batas perujukan jawaban berdasarkan sumber yang diambil. Nilai memiliki rentang yang dapat dikonfigurasi [1, 5]. Tingkat ini digunakan untuk menentukan batas keterujukan jawaban, yang berarti bahwa semua respons dengan skor keterujukan di bawah batas akan kembali menampilkan cuplikan yang relevan saja.

Misalnya, level 3 berarti skor perujukan harus 3 atau lebih tinggi agar respons ditampilkan.

disabled

boolean

Opsional. Apakah perujukan dinonaktifkan.

SnippetsConfig

Representasi JSON
{
  "enableSnippets": boolean
}
Kolom
enableSnippets

boolean

Opsional. Apakah cuplikan diaktifkan atau tidak.

PythonFunction

Representasi JSON
{
  "name": string,
  "pythonCode": string,
  "description": string,
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  }
}
Kolom
name

string

Opsional. Nama fungsi Python yang akan dijalankan. Harus cocok dengan nama fungsi Python yang ditentukan dalam kode python. Peka huruf besar/kecil. Jika nama tidak diberikan, fungsi pertama yang ditentukan dalam kode python akan digunakan.

pythonCode

string

Opsional. Kode Python yang akan dieksekusi untuk alat.

description

string

Hanya output. Deskripsi fungsi Python, di-parsing dari docstring kode python.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Service Directory untuk alat.

McpTool

Representasi JSON
{
  "name": string,
  "nameOverride": string,
  "description": string,
  "inputSchema": {
    object (Schema)
  },
  "outputSchema": {
    object (Schema)
  },
  "serverAddress": string,
  "apiAuthentication": {
    object (ApiAuthentication)
  },
  "tlsConfig": {
    object (TlsConfig)
  },
  "serviceDirectoryConfig": {
    object (ServiceDirectoryConfig)
  },
  "customHeaders": {
    string: string,
    ...
  },
  "state": enum (State)
}
Kolom
name

string

Wajib. Nama alat MCP.

nameOverride

string

Opsional. Penggantian nama alat MCP. Bagian ini diisi jika nama diganti oleh penggantian Toolset.

description

string

Opsional. Deskripsi alat MCP.

inputSchema

object (Schema)

Opsional. Skema argumen input alat MCP.

outputSchema

object (Schema)

Opsional. Skema argumen output alat MCP.

serverAddress

string

Wajib. Alamat server MCP, misalnya, "https://example.com/mcp/". Jika server dibangun dengan MCP SDK, URL harus memiliki akhiran "/mcp/". Hanya server berbasis transport HTTP yang dapat di-streaming yang didukung. Hal ini sama dengan server_address di McpToolset. Lihat https://modelcontextprotocol.io/specification/2025-03-26/basic/transports#streamable-http untuk mengetahui detail selengkapnya.

apiAuthentication

object (ApiAuthentication)

Opsional. Informasi autentikasi yang diperlukan untuk menjalankan alat terhadap server MCP. Untuk autentikasi token pembawa, token hanya berlaku untuk eksekusi alat, bukan untuk alat listingan. Hal ini mengharuskan alat dapat dicantumkan tanpa autentikasi.

tlsConfig

object (TlsConfig)

Opsional. Konfigurasi TLS. Mencakup sertifikat server kustom yang harus dipercaya oleh klien.

serviceDirectoryConfig

object (ServiceDirectoryConfig)

Opsional. Konfigurasi Service Directory untuk VPC-SC, yang digunakan untuk menyelesaikan nama layanan dalam perimeter.

customHeaders

map (key: string, value: string)

Opsional. Header kustom yang akan dikirim dalam permintaan ke server MCP. Nilai harus dalam format $context.variables.<name_of_variable> dan dapat ditetapkan dalam variabel sesi. Lihat https://docs.cloud.google.com/customer-engagement-ai/conversational-agents/ps/tool/open-api#openapi-injection untuk mengetahui detail selengkapnya.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

state

enum (State)

Hanya output. Status ketersediaan dinamis alat di server eksternal.

CustomHeadersEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

FileSearchTool

Representasi JSON
{
  "corpusType": enum (CorpusType),
  "name": string,
  "description": string,
  "fileCorpus": string
}
Kolom
corpusType

enum (CorpusType)

Opsional. Jenis korpus. Default-nya adalah FULLY_MANAGED.

name

string

Wajib. Nama alat.

description

string

Opsional. Deskripsi alat.

fileCorpus

string

Opsional. Korpus tempat file disimpan. Format: projects/{project}/locations/{location}/ragCorpora/{rag_corpus}

SystemTool

Representasi JSON
{
  "name": string,
  "description": string
}
Kolom
name

string

Wajib. Nama alat sistem.

description

string

Hanya output. Deskripsi alat sistem.

AgentTool

Representasi JSON
{
  "name": string,
  "description": string,
  "agent": string
}
Kolom
name

string

Wajib. Nama alat agen.

description

string

Opsional. Deskripsi tujuan alat.

agent

string

Opsional. Nama resource agen yang menjadi titik entri alat. Format: projects/{project}/locations/{location}/agents/{agent}

WidgetTool

Representasi JSON
{
  "name": string,
  "description": string,
  "widgetType": enum (WidgetType),
  "uiConfig": {
    object
  },
  "dataMapping": {
    object (DataMapping)
  },
  "textResponseConfig": {
    object (TextResponseConfig)
  },

  // Union field input can be only one of the following:
  "parameters": {
    object (Schema)
  }
  // End of list of possible types for union field input.
}
Kolom
name

string

Wajib. Nama tampilan alat widget.

description

string

Opsional. Deskripsi alat widget.

widgetType

enum (WidgetType)

Opsional. Jenis alat widget. Jika tidak ditentukan, jenis defaultnya adalah CUSTOMIZED.

uiConfig

object (Struct format)

Opsional. Konfigurasi untuk merender widget.

dataMapping

object (DataMapping)

Opsional. Pemetaan yang menentukan cara data dari alat sumber dipetakan ke parameter input widget.

textResponseConfig

object (TextResponseConfig)

Opsional. Konfigurasi untuk respons teks yang selalu disertakan.

Kolom union input. Input alat widget. input hanya ada berupa salah satu diantara berikut:
parameters

object (Schema)

Opsional. Parameter input alat widget.

DataMapping

Representasi JSON
{
  "sourceToolName": string,
  "fieldMappings": {
    string: string,
    ...
  },
  "pythonFunction": {
    object (PythonFunction)
  },
  "mode": enum (Mode),
  "pythonScript": string
}
Kolom
sourceToolName

string

Opsional. Nama resource alat yang menyediakan data untuk widget (misalnya, alat penelusuran atau fungsi kustom). Format: projects/{project}/locations/{location}/agents/{agent}/tools/{tool}

fieldMappings

map (key: string, value: string)

Opsional. Peta kolom parameter input widget ke kolom output yang sesuai dari alat sumber.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

pythonFunction

object (PythonFunction)

Opsional. Konfigurasi untuk fungsi Python yang digunakan untuk mengubah output alat sumber ke dalam format input widget.

mode

enum (Mode)

Opsional. Mode pemetaan data.

pythonScript
(deprecated)

string

Tidak digunakan lagi: Gunakan python_function sebagai gantinya.

FieldMappingsEntry

Representasi JSON
{
  "key": string,
  "value": string
}
Kolom
key

string

value

string

TextResponseConfig

Representasi JSON
{
  "type": enum (Type),
  "staticText": string,
  "textResponseInstruction": string
}
Kolom
type

enum (Type)

Opsional. Strategi untuk memberikan respons teks.

staticText

string

Opsional. Respons teks statis yang akan ditampilkan saat jenisnya adalah STATIC.

textResponseInstruction

string

Opsional. Petunjuk untuk LLM tentang cara menghasilkan respons teks. Digunakan sebagai deskripsi untuk parameter respons teks jika jenisnya adalah LLM_GENERATED.

RemoteAgentTool

Representasi JSON
{
  "name": string,
  "description": string,
  "agentCard": {
    object (AgentCard)
  }
}
Kolom
name

string

Wajib. Nama alat.

description

string

Wajib. Deskripsi alat.

agentCard

object (AgentCard)

Wajib. Kartu agen dari agen jarak jauh yang dipanggil oleh alat ini.

AgentCard

Representasi JSON
{
  "name": string,
  "description": string,
  "supportedInterfaces": [
    {
      object (AgentInterface)
    }
  ],
  "version": string,
  "skills": [
    {
      object (AgentSkill)
    }
  ]
}
Kolom
name

string

Wajib. Nama agen yang dapat dibaca manusia.

description

string

Wajib. Deskripsi domain tindakan/ruang solusi agen.

supportedInterfaces[]

object (AgentInterface)

Wajib. Daftar antarmuka yang didukung dan diurutkan. Entri pertama lebih disukai.

version

string

Wajib. Versi agen.

skills[]

object (AgentSkill)

Wajib. Keahlian mewakili unit kemampuan yang dapat dilakukan agen. Hal ini mungkin agak abstrak, tetapi mewakili serangkaian tindakan yang lebih terfokus yang kemungkinan besar akan berhasil dilakukan agen.

AgentInterface

Representasi JSON
{
  "url": string,
  "protocolBinding": string,
  "tenant": string,
  "protocolVersion": string
}
Kolom
url

string

Wajib. URL tempat antarmuka ini tersedia. Harus berupa URL HTTPS absolut yang valid dalam produksi. Contoh: "https://api.example.com/a2a/v1", "https://grpc.example.com/a2a"

protocolBinding

string

Wajib. Binding protokol yang didukung di URL ini. Ini adalah string formulir terbuka, yang dapat dengan mudah diperluas untuk binding protokol lainnya. Plugin inti yang didukung secara resmi adalah JSONRPC, GRPC, dan HTTP+JSON.

tenant

string

ID tenant yang akan digunakan dalam permintaan saat memanggil agen.

protocolVersion

string

Wajib. Versi A2A protocol yang diekspos oleh antarmuka ini. Gunakan versi minor terbaru yang didukung per versi utama. Contoh: "0.3", "1.0"

AgentSkill

Representasi JSON
{
  "id": string,
  "name": string,
  "description": string,
  "tags": [
    string
  ],
  "examples": [
    string
  ],
  "inputModes": [
    string
  ],
  "outputModes": [
    string
  ]
}
Kolom
id

string

Wajib. ID unik untuk kemampuan agen.

name

string

Wajib. Nama yang dapat dibaca manusia untuk keahlian.

description

string

Wajib. Deskripsi mendetail tentang skill.

tags[]

string

Wajib. Sekumpulan kata kunci yang menjelaskan kemampuan skill.

examples[]

string

Contoh perintah atau skenario yang dapat ditangani oleh kemampuan ini.

inputModes[]

string

Kumpulan jenis media input yang didukung untuk skill ini, yang menggantikan default agen.

outputModes[]

string

Kumpulan jenis media output yang didukung untuk skill ini, yang menggantikan default agen.

Durasi

Representasi JSON
{
  "seconds": string,
  "nanos": integer
}
Kolom
seconds

string (int64 format)

Detik yang ditandatangani dari rentang waktu. Harus dari -315.576.000.000 hingga +315.576.000.000 inklusif. Catatan: batas ini dihitung dari: 60 dtk/mnt * 60 mnt/j * 24 j/hr * 365,25 hr/thn * 10.000 thn

nanos

integer

Pecahan detik bertanda pada resolusi nanodetik rentang waktu. Durasi kurang dari satu detik ditampilkan dengan kolom seconds 0 dan kolom nanos positif atau negatif. Untuk durasi satu detik atau lebih, nilai non-nol untuk kolom nanos harus memiliki tanda yang sama dengan kolom seconds. Harus dari -999.999.999 hingga +999.999.999 inklusif.

ToolFakeConfig

Representasi 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.
}
Kolom
enableFakeMode

boolean

Opsional. Apakah alat menggunakan mode palsu.

Kolom union tool_response. Respons bersifat statis atau disediakan oleh fungsi python. tool_response hanya ada berupa salah satu diantara berikut:
codeBlock

object (CodeBlock)

Opsional. Blok kode yang akan dieksekusi, bukan panggilan alat yang sebenarnya.

CodeBlock

Representasi JSON
{
  "pythonCode": string
}
Kolom
pythonCode

string

Wajib. Kode Python yang akan dipanggil dalam mode tiruan alat. Tanda tangan fungsi Python yang diharapkan - Untuk menangkap semua panggilan alat: def fake_tool_call(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Untuk menangkap panggilan alat tertentu: def fake_{tool_id}(tool: Tool, input: dict[str, Any], callback_context: CallbackContext) -> Optional[dict[str, Any]]: Jika fungsi menampilkan None, alat sebenarnya akan dipanggil.

Jenis

Jenis data OpenAPI.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
STRING Jenis string.
INTEGER Jenis bilangan bulat.
NUMBER Jenis angka.
BOOLEAN Jenis Boolean.
OBJECT Jenis objek.
ARRAY Jenis array.

NullValue

Mewakili JSON null.

NullValue adalah sentinel, menggunakan enum dengan hanya satu nilai untuk merepresentasikan nilai null untuk gabungan jenis Value.

Kolom berjenis NullValue dengan nilai selain 0 dianggap tidak valid. Sebagian besar serializer ProtoJSON akan memancarkan Value dengan null_value yang ditetapkan sebagai null JSON, terlepas dari nilai bilangan bulatnya, dan akan melakukan perjalanan pulang pergi ke nilai 0.

Enum
NULL_VALUE Nilai null.

RequestLocation

Lokasi kunci API dalam permintaan.

Enum
REQUEST_LOCATION_UNSPECIFIED Tidak ditentukan. Nilai ini tidak boleh digunakan.
HEADER Merepresentasikan kunci di header http.
QUERY_STRING Mewakili kunci dalam string kueri.

OauthGrantType

Jenis pemberian izin OAuth. Hanya pemberian kredensial klien yang didukung.

Enum
OAUTH_GRANT_TYPE_UNSPECIFIED Tidak ditentukan. Default-nya adalah CLIENT_CREDENTIAL.
CLIENT_CREDENTIAL Mewakili alur kredensial klien.

OperationType

Operasi yang akan dilakukan pada entity.

Enum
OPERATION_TYPE_UNSPECIFIED Jenis operasi tidak ditentukan. Tidak valid, pembuatan/pembaruan ConnectorTool akan gagal.
LIST Operasi daftar.
GET Mendapatkan operasi.
CREATE Buat operasi.
UPDATE Operasi update.
DELETE Hapus operasi.

DataStoreType

Jenis penyimpanan data.

Enum
DATA_STORE_TYPE_UNSPECIFIED Tidak ditentukan. Nilai ini menunjukkan bahwa jenis penyimpanan data tidak ditentukan, sehingga tidak akan digunakan selama penelusuran.
PUBLIC_WEB Penyimpanan data yang berisi konten web publik.
UNSTRUCTURED Penyimpanan data yang berisi data pribadi tidak terstruktur.
FAQ Penyimpanan data yang berisi data terstruktur yang digunakan sebagai FAQ.
CONNECTOR Penyimpanan data yang merupakan konektor ke layanan pihak pertama atau pihak ketiga.

DocumentProcessingMode

Mode pemrosesan dokumen penyimpanan data.

Enum
DOCUMENT_PROCESSING_MODE_UNSPECIFIED Tidak ditentukan.
DOCUMENTS Dokumen diproses sebagai dokumen.
CHUNKS Dokumen dikonversi menjadi potongan.

AttributeType

Atribut(atau fungsi) yang akan diterapkan peringkat kustomnya.

Enum
ATTRIBUTE_TYPE_UNSPECIFIED AttributeType tidak ditentukan.
NUMERICAL Nilai kolom numerik akan digunakan untuk memperbarui jumlah peningkat secara dinamis. Dalam hal ini, attribute_value (nilai x) titik kontrol akan menjadi nilai sebenarnya dari kolom numerik yang boost_amount-nya ditentukan.
FRESHNESS Untuk kasus penggunaan keaktualan, nilai atribut akan berupa durasi antara waktu saat ini dan tanggal di kolom datetime yang ditentukan. Nilai harus diformat sebagai nilai XSD dayTimeDuration (subset terbatas dari nilai durasi ISO 8601). Pola untuk ini adalah: [nD][T[nH][nM][nS]]. Misalnya, 5D, 3DT12H30M, T24H.

InterpolationType

Jenis interpolasi yang akan diterapkan. Defaultnya adalah linear (Piecewise Linear).

Enum
INTERPOLATION_TYPE_UNSPECIFIED Jenis interpolasi tidak ditentukan. Dalam hal ini, nilai defaultnya adalah Linear.
LINEAR Interpolasi linear sepotong-sepotong akan diterapkan.

ModalityType

Jenis modalitas.

Enum
MODALITY_TYPE_UNSPECIFIED Jenis modalitas tidak ditentukan.
TEXT Modalitas teks.
AUDIO Modalitas audio.

FilterParameterBehavior

Perilaku parameter filter.

Enum
FILTER_PARAMETER_BEHAVIOR_UNSPECIFIED Perilaku filter default. Sertakan parameter filter untuk penyimpanan data konektor. Untuk jenis datastore lainnya, parameter input filter dihilangkan.
ALWAYS_INCLUDE Selalu sertakan parameter filter untuk semua jenis penyimpanan data.
NEVER_INCLUDE Parameter filter tidak pernah disertakan dalam daftar parameter alat, terlepas dari jenis datastore.

Negara Bagian

Mewakili status ketersediaan dinamis alat.

Enum
STATE_UNSPECIFIED Status default.
ACTIVE Alat ini tersedia dan ditawarkan secara aktif oleh server.
INACTIVE Alat dikonfigurasi atau disematkan, tetapi saat ini tidak ditawarkan oleh server.
STALE Alat ada di server, tetapi tidak cocok dengan versi di server.

CorpusType

Jenis korpus RAG Vertex.

Enum
CORPUS_TYPE_UNSPECIFIED Jenis korpus tidak ditentukan.
USER_OWNED Korpus dibuat dan dimiliki oleh pengguna.
FULLY_MANAGED Korpus dibuat oleh agen.

WidgetType

Semua jenis widget yang tersedia. Nilai baru dapat ditambahkan ke enum ini pada masa mendatang.

Enum
WIDGET_TYPE_UNSPECIFIED Jenis widget tidak ditentukan.
CUSTOM Jenis widget kustom.
PRODUCT_DETAILS Widget detail produk.
QUICK_ACTIONS Widget tindakan cepat.
PRODUCT_COMPARISON Widget perbandingan produk.
ADVANCED_PRODUCT_DETAILS Widget detail produk lanjutan.
SHORT_FORM Widget bentuk pendek.
OVERALL_SATISFACTION Widget kepuasan secara keseluruhan.
ORDER_SUMMARY Widget ringkasan pesanan.
APPOINTMENT_DETAILS Widget detail janji temu.
APPOINTMENT_SCHEDULER Widget penjadwal janji temu.
CONTACT_FORM Widget formulir kontak.

Mode

Strategi yang digunakan untuk memetakan data dari alat sumber ke widget.

Enum
MODE_UNSPECIFIED Mode tidak ditentukan.
FIELD_MAPPING Gunakan peta field_mappings untuk transformasi data.
PYTHON_SCRIPT Gunakan python_script untuk transformasi data.

Jenis

Menentukan cara respons teks dihasilkan.

Enum
TYPE_UNSPECIFIED Jenis tidak ditentukan.
NONE LLM secara dinamis memutuskan apakah akan menghasilkan respons teks bersama widget berdasarkan konteks percakapan.
LLM_GENERATED LLM secara eksplisit diwajibkan untuk menghasilkan respons teks.
STATIC Respons teks statis yang telah ditentukan selalu digunakan.

ExecutionType

Jenis eksekusi alat atau set alat.

Enum
EXECUTION_TYPE_UNSPECIFIED Jenis eksekusi tidak ditentukan. Nilai defaultnya adalah SYNCHRONOUS jika tidak ditentukan.
SYNCHRONOUS Alat ini dieksekusi secara sinkron. Sesi diblokir hingga alat kembali.
ASYNCHRONOUS Alat ini dijalankan secara asinkron. Sesi akan berlanjut saat alat dijalankan.

Anotasi Alat

Petunjuk Destruktif: ✅ | Petunjuk Idempoten: ❌ | Petunjuk Hanya Baca: ❌ | Petunjuk Dunia Terbuka: ❌