Package a2a.v1

Indeks

A2AService

A2AService menentukan versi gRPC dari protokol A2A. Hal ini memiliki bentuk yang sedikit berbeda dari versi JSONRPC agar lebih sesuai dengan AIP-127, jika sesuai. Kata bendanya adalah AgentCard, Message, Task, dan TaskPushNotificationConfig.

  • Pesan bukan resource standar sehingga tidak ada antarmuka get/delete/update/list, hanya metode kustom send dan stream.
  • Tugas memiliki antarmuka get dan metode pembatalan serta langganan kustom.
  • TaskPushNotificationConfig adalah resource yang induknya adalah tugas. API ini memiliki metode get, list, dan create.
  • AgentCard adalah resource statis dengan hanya metode get.
CancelTask

rpc CancelTask(CancelTaskRequest) returns (Task)

Membatalkan tugas dari agen. Jika didukung, tidak akan ada lagi pembaruan tugas untuk tugas tersebut.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

CreateTaskPushNotificationConfig

rpc CreateTaskPushNotificationConfig(CreateTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

Menetapkan konfigurasi notifikasi push untuk tugas.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

DeleteTaskPushNotificationConfig

rpc DeleteTaskPushNotificationConfig(DeleteTaskPushNotificationConfigRequest) returns (Empty)

Menghapus konfigurasi notifikasi push untuk tugas.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

GetAgentCard

rpc GetAgentCard(GetAgentCardRequest) returns (AgentCard)

GetAgentCard menampilkan kartu agen untuk agen.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

Izin IAM

Memerlukan izin IAM berikut pada resource tenant:

  • discoveryengine.agents.get

Untuk mengetahui informasi selengkapnya, lihat dokumentasi IAM.

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

Mendapatkan status tugas saat ini dari agen.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

GetTaskPushNotificationConfig

rpc GetTaskPushNotificationConfig(GetTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

Mendapatkan konfigurasi notifikasi push untuk tugas.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

ListTaskPushNotificationConfig

rpc ListTaskPushNotificationConfig(ListTaskPushNotificationConfigRequest) returns (ListTaskPushNotificationConfigResponse)

Mendapatkan daftar notifikasi push yang dikonfigurasi untuk tugas.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

SendMessage

rpc SendMessage(SendMessageRequest) returns (SendMessageResponse)

Kirim pesan ke agen. Ini adalah panggilan pemblokiran yang akan menampilkan tugas setelah selesai, atau LRO jika diminta.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

SendStreamingMessage

rpc SendStreamingMessage(SendMessageRequest) returns (StreamResponse)

SendStreamingMessage adalah panggilan streaming yang akan menampilkan aliran peristiwa update tugas hingga Tugas berada dalam status terganggu atau terminal.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

TaskSubscription

rpc TaskSubscription(TaskSubscriptionRequest) returns (StreamResponse)

TaskSubscription adalah panggilan streaming yang akan menampilkan aliran peristiwa pembaruan tugas. Tindakan ini melampirkan aliran ke tugas yang sedang dalam proses. Jika tugas selesai, aliran akan menampilkan tugas yang telah selesai (seperti GetTask) dan menutup aliran.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/discoveryengine.readwrite
  • https://www.googleapis.com/auth/discoveryengine.serving.readwrite

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.

APIKeySecurityScheme

Kolom
description

string

Deskripsi skema keamanan ini.

location

string

Lokasi kunci API, nilai yang valid adalah "query", "header", atau "cookie"

name

string

Nama parameter header, kueri, atau cookie yang akan digunakan.

AgentCapabilities

Menentukan set fitur A2A yang didukung oleh agen

Kolom
streaming

bool

Jika agen akan mendukung respons streaming

push_notifications

bool

Jika agen dapat mengirim notifikasi push ke webhook klien

extensions[]

AgentExtension

Ekstensi yang didukung oleh agen ini.

AgentCard

AgentCard menyampaikan informasi utama: - Detail keseluruhan (versi, nama, deskripsi, penggunaan) - Kemampuan; serangkaian tindakan/solusi yang dapat dilakukan agen - Jenis konten/modalitas default yang didukung oleh agen. - Persyaratan autentikasi ID Berikutnya: 19

Kolom
protocol_version

string

Versi protokol A2A yang didukung agen ini.

name

string

Nama yang dapat dibaca manusia untuk agen. Contoh: "Recipe Agent" (Agen Resep)

description

string

Deskripsi domain tindakan/ruang solusi agen. Contoh: "Agen yang membantu pengguna dengan resep dan memasak".

url

string

URL ke alamat tempat agen dihosting. Ini menunjukkan endpoint pilihan seperti yang dideklarasikan oleh agen.

preferred_transport

string

Transportasi endpoint pilihan. Jika kosong, defaultnya adalah JSONRPC.

additional_interfaces[]

AgentInterface

Pengumuman transportasi tambahan yang didukung. Klien dapat menggunakan transportasi yang didukung.

provider

AgentProvider

Penyedia layanan agen.

version

string

Versi agen. Contoh: "1.0.0"

documentation_url

string

URL untuk memberikan dokumentasi tambahan tentang agen.

capabilities

AgentCapabilities

Set Kemampuan A2A yang didukung oleh agen.

security_schemes

map<string, SecurityScheme>

Detail skema keamanan yang digunakan untuk mengautentikasi dengan agen ini.

security[]

Security

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Persyaratan keamanan untuk menghubungi agen. Daftar ini dapat dilihat sebagai OR dari AND. Setiap objek dalam daftar menjelaskan satu kemungkinan kumpulan persyaratan keamanan yang harus ada dalam permintaan. Hal ini memungkinkan penentuan, misalnya, "pemanggil harus menggunakan OAuth ATAU Kunci API DAN mTLS". Contoh: security { schemes { key: "oauth" value { list: ["read"] } } } security { schemes { key: "api-key" } schemes { key: "mtls" } }

default_input_modes[]

string

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Kumpulan mode interaksi yang didukung agen di semua skill. Setelan ini dapat diganti per skill. Ditentukan sebagai jenis MIME.

default_output_modes[]

string

Jenis MIME yang didukung sebagai output dari agen ini.

skills[]

AgentSkill

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.

supports_authenticated_extended_card

bool

Apakah agen mendukung penyediaan kartu agen yang diperluas saat pengguna diautentikasi, yaitu apakah kartu dari .well-known berbeda dengan kartu dari GetAgentCard.

signatures[]

AgentCardSignature

Tanda Tangan Web JSON yang dihitung untuk AgentCard ini.

icon_url

string

URL opsional ke ikon untuk agen.

AgentCardSignature

AgentCardSignature merepresentasikan tanda tangan JWS dari AgentCard. Bagian ini mengikuti format JSON dari JSON Web Signature (JWS) RFC 7515.

Kolom
protected

string

Wajib. Header JWS yang dilindungi untuk tanda tangan. Ini selalu berupa objek JSON yang dienkode base64url. Wajib.

signature

string

Wajib. Tanda tangan yang dihitung, dienkode base64url. Wajib.

header

Struct

Nilai header JWS yang tidak dilindungi.

AgentExtension

Deklarasi ekstensi yang didukung oleh Agen.

Kolom
uri

string

URI ekstensi. Contoh: "https://developers.google.com/identity/protocols/oauth2"

description

string

Deskripsi tentang cara agen ini menggunakan ekstensi ini. Contoh: "Autentikasi Google OAuth 2.0"

required

bool

Apakah klien harus mengikuti persyaratan spesifik ekstensi. Contoh: salah (false)

params

Struct

Konfigurasi opsional untuk ekstensi.

AgentInterface

Menentukan informasi transportasi tambahan untuk agen.

Kolom
url

string

URL tempat antarmuka ini ditemukan.

transport

string

Transportasi mendukung URL ini. Ini adalah string formulir terbuka, yang dapat dengan mudah diperluas untuk banyak protokol transportasi. Yang didukung secara resmi adalah JSONRPC, GRPC, dan HTTP+JSON.

tenant

string

Tenant yang akan ditetapkan dalam permintaan saat memanggil agen. Eksperimental, masih dapat berubah untuk rilis 1.0.

AgentProvider

Menampilkan informasi tentang penyedia layanan agen.

Kolom
url

string

Contoh URL referensi penyedia: "https://ai.google.dev"

organization

string

Nama organisasi penyedia Contoh: "Google"

AgentSkill

AgentSkill mewakili unit tindakan/solusi yang dapat dilakukan agen. Anda dapat menganggapnya sebagai jenis solusi yang sangat andal yang dapat ditugaskan oleh agen untuk menyediakannya. Agen memiliki otonomi untuk memilih cara dan waktu penggunaan keterampilan tertentu, tetapi klien harus yakin bahwa jika keterampilan ditentukan, unit tindakan tersebut dapat dilakukan dengan andal.

Kolom
id

string

ID unik skill dalam agen ini.

name

string

Nama keahlian yang dapat dibaca manusia.

description

string

Deskripsi detail dan perilaku keahlian yang dapat dibaca manusia (atau llm).

tags[]

string

Kumpulan tag untuk skill guna meningkatkan kategorisasi/penggunaan. Contoh: ["cooking", "customer support", "billing"]

examples[]

string

Kumpulan contoh kueri yang dirancang untuk ditangani oleh skill ini. Contoh ini akan membantu pemanggil memahami cara membuat permintaan ke agen untuk mencapai sasaran tertentu. Contoh: ["Saya butuh resep roti"]

input_modes[]

string

Kemungkinan modalitas input yang didukung.

output_modes[]

string

Kemungkinan modalitas output yang dihasilkan

security[]

Security

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Skema keamanan yang diperlukan agar agen dapat memanfaatkan keterampilan ini. Seperti dalam AgentCard.security secara keseluruhan, daftar ini menampilkan OR logis dari objek persyaratan keamanan. Setiap objek adalah serangkaian skema keamanan yang harus digunakan bersama (AND logis). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED

Artefak

Artefak adalah penampung untuk hasil tugas yang telah diselesaikan. Objek ini mirip dengan Pesan, tetapi dimaksudkan sebagai hasil dari tugas, bukan komunikasi point-to-point.

Kolom
artifact_id

string

ID unik (mis. UUID) untuk artefak. ID harus unik setidaknya dalam tugas.

name

string

Nama artefak yang dapat dibaca manusia.

description

string

Deskripsi artefak yang dapat dibaca manusia, opsional.

parts[]

Part

Konten artefak.

metadata

Struct

Metadata opsional yang disertakan dengan artefak.

extensions[]

string

URI ekstensi yang ada atau berkontribusi pada Artefak ini.

AuthenticationInfo

Menentukan detail autentikasi, yang digunakan untuk notifikasi push.

Kolom
schemes[]

string

Skema autentikasi yang didukung - misalnya, Dasar, Bearer, dll.

credentials

string

Kredensial opsional

AuthorizationCodeOAuthFlow

Kolom
authorization_url

string

URL otorisasi yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 mewajibkan penggunaan TLS

token_url

string

URL token yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

refresh_url

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map<string, string>

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

CancelTaskRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

name

string

Nama resource tugas yang akan dibatalkan. Format: tasks/{task_id}

ClientCredentialsOAuthFlow

Kolom
token_url

string

URL token yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

refresh_url

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map<string, string>

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

CreateTaskPushNotificationConfigRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

parent

string

Wajib. Resource tugas induk untuk konfigurasi ini. Format: tasks/{task_id}

config_id

string

Wajib. ID untuk konfigurasi baru.

config

TaskPushNotificationConfig

Wajib. Konfigurasi yang akan dibuat.

DataPart

DataPart merepresentasikan blob terstruktur. Payload ini biasanya berupa payload JSON.

Kolom
data

Struct

DeleteTaskPushNotificationConfigRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

name

string

Nama resource konfigurasi yang akan dihapus. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}

FilePart

FilePart merepresentasikan berbagai cara file dapat disediakan. Jika ukuran file kecil, pemberian byte secara langsung didukung melalui file_with_bytes. Jika file berukuran besar, agen harus membaca konten yang sesuai langsung dari sumber file_with_uri.

Kolom
mime_type

string

name

string

Kolom union file.

file hanya dapat berupa salah satu dari hal berikut:

file_with_uri

string

file_with_bytes

bytes

GetAgentCardRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

GetTaskPushNotificationConfigRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

name

string

Nama resource konfigurasi yang akan diambil. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}

GetTaskRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

name

string

Wajib. Nama resource tugas. Format: tasks/{task_id}

history_length

int32

Jumlah pesan terbaru dari histori tugas yang akan diambil.

HTTPAuthSecurityScheme

Kolom
description

string

Deskripsi skema keamanan ini.

scheme

string

Nama skema Autentikasi HTTP yang akan digunakan di header Authorization seperti yang ditentukan dalam RFC7235. Nilai yang digunakan HARUS didaftarkan di registry Skema Autentikasi IANA. Nilai ini tidak peka huruf besar/kecil, seperti yang ditentukan dalam RFC7235.

bearer_format

string

Petunjuk untuk klien guna mengidentifikasi cara token pembawa diformat. Token bearer biasanya dibuat oleh server otorisasi, jadi informasi ini terutama untuk tujuan dokumentasi.

ImplicitOAuthFlow

Kolom
authorization_url

string

URL otorisasi yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 mewajibkan penggunaan TLS

refresh_url

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map<string, string>

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

ListTaskPushNotificationConfigRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

parent

string

Resource tugas induk. Format: tasks/{task_id}

page_size

int32

Untuk AIP-158, kolom ini ada. Biasanya tidak digunakan/diperlukan. Jumlah maksimum konfigurasi yang akan ditampilkan. Jika tidak ditentukan, semua konfigurasi akan ditampilkan.

page_token

string

Token halaman yang diterima dari panggilan ListTaskPushNotificationConfigRequest sebelumnya. Berikan ini untuk mengambil halaman selanjutnya. Saat melakukan penomoran halaman, semua parameter lain yang disediakan untuk ListTaskPushNotificationConfigRequest harus sesuai dengan panggilan yang memberikan token halaman.

ListTaskPushNotificationConfigResponse

Kolom
configs[]

TaskPushNotificationConfig

Daftar konfigurasi notifikasi push.

next_page_token

string

Token yang dapat dikirim sebagai page_token untuk mengambil halaman berikutnya. Jika kolom ini dihilangkan, tidak akan ada halaman berikutnya.

Pesan

Pesan adalah satu unit komunikasi antara klien dan server. Objek ini dikaitkan dengan konteks dan secara opsional dengan tugas. Karena server bertanggung jawab atas definisi konteks, server harus selalu memberikan context_id dalam pesannya. Klien dapat secara opsional memberikan context_id jika mengetahui konteks untuk mengaitkan pesan. Demikian pula untuk task_id, kecuali server memutuskan apakah tugas dibuat dan apakah akan menyertakan task_id.

Kolom
message_id

string

ID unik (misalnya, UUID) pesan. Ini diperlukan dan dibuat oleh pembuat pesan.

context_id

string

ID konteks pesan. Ini bersifat opsional dan jika disetel, pesan akan dikaitkan dengan konteks yang diberikan.

task_id

string

ID tugas pesan. Ini bersifat opsional dan jika disetel, pesan akan dikaitkan dengan tugas yang diberikan.

role

Role

Peran untuk pesan.

content[]

Part

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content adalah penampung konten pesan.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Metadata opsional untuk diberikan bersama dengan pesan.

extensions[]

string

URI ekstensi yang ada atau berkontribusi pada Pesan ini.

MutualTlsSecurityScheme

Kolom
description

string

Deskripsi skema keamanan ini.

OAuth2SecurityScheme

Kolom
description

string

Deskripsi skema keamanan ini.

flows

OAuthFlows

Objek yang berisi informasi konfigurasi untuk jenis alur yang didukung

oauth2_metadata_url

string

URL ke metadata server otorisasi oauth2 RFC8414. TLS diperlukan.

OAuthFlows

Kolom

Kolom union flow.

flow hanya dapat berupa salah satu dari hal berikut:

authorization_code

AuthorizationCodeOAuthFlow

client_credentials

ClientCredentialsOAuthFlow

implicit

ImplicitOAuthFlow

password

PasswordOAuthFlow

OpenIdConnectSecurityScheme

Kolom
description

string

Deskripsi skema keamanan ini.

open_id_connect_url

string

URL terkenal untuk menemukan metadata penyedia [[OpenID-Connect-Discovery]].

Bagian

Bagian mewakili penampung untuk bagian konten komunikasi. Bagian dapat berupa teks murni, beberapa jenis file (gambar, video, dll.), atau blob data terstruktur (yaitu JSON).

Kolom
metadata

Struct

Metadata opsional yang terkait dengan bagian ini.

Kolom union part.

part hanya dapat berupa salah satu dari hal berikut:

text

string

file

FilePart

data

DataPart

PasswordOAuthFlow

Kolom
token_url

string

URL token yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

refresh_url

string

URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS.

scopes

map<string, string>

Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkatnya. Peta MUNGKIN kosong.

PushNotificationConfig

Konfigurasi untuk menyiapkan notifikasi push untuk pembaruan tugas.

Kolom
id

string

ID unik (misalnya, UUID) untuk notifikasi push ini.

url

string

URL untuk mengirim notifikasi

token

string

Token unik untuk tugas/sesi ini

authentication

AuthenticationInfo

Informasi tentang autentikasi yang akan dikirim dengan notifikasi

Peran

Enum
ROLE_UNSPECIFIED
ROLE_USER Peran PENGGUNA mengacu pada komunikasi dari klien ke server.
ROLE_AGENT Peran AGENT mengacu pada komunikasi dari server ke klien.

Keamanan

Kolom
schemes

map<string, StringList>

SecurityScheme

Kolom

Kolom union scheme.

scheme hanya dapat berupa salah satu dari hal berikut:

api_key_security_scheme

APIKeySecurityScheme

http_auth_security_scheme

HTTPAuthSecurityScheme

oauth2_security_scheme

OAuth2SecurityScheme

open_id_connect_security_scheme

OpenIdConnectSecurityScheme

mtls_security_scheme

MutualTlsSecurityScheme

SendMessageConfiguration

Konfigurasi permintaan kirim pesan.

Kolom
accepted_output_modes[]

string

Mode output yang diharapkan untuk respons agen.

push_notification

PushNotificationConfig

Konfigurasi webhook yang dapat digunakan untuk menerima update

history_length

int32

Jumlah maksimum pesan yang akan disertakan dalam histori. Jika 0, histori tidak akan terbatas.

blocking

bool

Jika benar, pesan akan memblokir hingga tugas selesai. Jika salah (false), pesan tidak akan memblokir dan tugas akan segera ditampilkan. Pemanggil bertanggung jawab untuk memeriksa update tugas.

SendMessageRequest

///////// Pesan Permintaan ///////////

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

request

Message

Wajib. Pesan yang akan dikirim ke agen.

configuration

SendMessageConfiguration

Konfigurasi untuk permintaan kirim.

metadata

Struct

Metadata opsional untuk permintaan.

SendMessageResponse

////// Pesan Respons ///////////

Kolom

Kolom union payload.

payload hanya dapat berupa salah satu dari hal berikut:

task

Task

msg

Message

StreamResponse

Respons streaming untuk pesan. Aliran harus berupa salah satu urutan berikut: Jika respons berupa pesan, aliran harus berisi satu, dan hanya satu, pesan, lalu ditutup. Jika respons berupa siklus proses tugas, respons pertama harus berupa objek Tugas, diikuti dengan nol atau lebih TaskStatusUpdateEvent dan TaskArtifactUpdateEvent. Aliran akan selesai saat Tugas berada dalam status terganggu atau terminal. Streaming yang berakhir sebelum kondisi ini terpenuhi adalah

Kolom

Kolom union payload.

payload hanya dapat berupa salah satu dari hal berikut:

task

Task

msg

Message

status_update

TaskStatusUpdateEvent

artifact_update

TaskArtifactUpdateEvent

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED

Kolom
list[]

string

Tugas

Tugas adalah unit tindakan inti untuk A2A. Tugas ini memiliki status saat ini dan saat hasil dibuat untuk tugas, hasil tersebut disimpan dalam artefak. Jika ada beberapa giliran untuk suatu tugas, giliran tersebut akan disimpan dalam histori.

Kolom
id

string

ID unik (misalnya, UUID) untuk tugas, yang dibuat oleh server untuk tugas baru.

context_id

string

ID unik (misalnya, UUID) untuk kumpulan interaksi kontekstual (tugas dan pesan). Dibuat oleh server A2A.

status

TaskStatus

Status Tugas saat ini, termasuk status dan pesan.

artifacts[]

Artifact

Serangkaian artefak output untuk Tugas.

history[]

Message

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Riwayat interaksi dari tugas.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Objek key/value untuk menyimpan metadata kustom tentang tugas.

TaskArtifactUpdateEvent

TaskArtifactUpdateEvent merepresentasikan delta tugas saat artefak telah dibuat.

Kolom
task_id

string

ID tugas untuk artefak ini

context_id

string

ID konteks tempat tugas ini berada

artifact

Artifact

Artefak itu sendiri

append

bool

Apakah ini harus ditambahkan ke yang sebelumnya dihasilkan

last_chunk

bool

Apakah ini mewakili bagian terakhir artefak

metadata

Struct

Metadata opsional yang terkait dengan update artefak.

TaskPushNotificationConfig

Kolom
name

string

Nama resource konfigurasi. Format: tasks/{task_id}/pushNotificationConfigs/{config_id}

push_notification_config

PushNotificationConfig

Detail konfigurasi notifikasi push.

TaskState

Kumpulan status yang dapat dimiliki Tugas.

Enum
TASK_STATE_UNSPECIFIED
TASK_STATE_SUBMITTED Mewakili status yang mengonfirmasi bahwa tugas telah dibuat
TASK_STATE_WORKING Menunjukkan status bahwa tugas sedang diproses secara aktif
TASK_STATE_COMPLETED Merepresentasikan status tugas yang telah selesai. Ini adalah status terminal
TASK_STATE_FAILED Mewakili status tugas yang selesai, tetapi gagal. Ini adalah status terminal
TASK_STATE_CANCELLED Mewakili status tugas yang dibatalkan sebelum selesai. Ini adalah status terminal.
TASK_STATE_INPUT_REQUIRED Mewakili status yang memerlukan informasi untuk menyelesaikan tugas. Ini adalah status yang terganggu.
TASK_STATE_REJECTED Mewakili status bahwa agen telah memutuskan untuk tidak melakukan tugas. Hal ini dapat dilakukan selama pembuatan tugas awal atau nanti setelah agen menentukan bahwa tugas tidak dapat atau tidak akan dilanjutkan. Ini adalah status terminal.
TASK_STATE_AUTH_REQUIRED Mewakili status bahwa beberapa autentikasi diperlukan dari klien upstream. Autentikasi diharapkan dilakukan di luar band sehingga ini bukan status terganggu atau terminal.

TaskStatus

Penampung untuk status tugas

Kolom
state

TaskState

Status tugas saat ini

update

Message

Pesan yang terkait dengan status.

timestamp

Timestamp

Stempel waktu saat status dicatat. Contoh: "2023-10-27T10:00:00Z"

TaskStatusUpdateEvent

TaskStatusUpdateEvent adalah delta bahkan pada tugas yang menunjukkan bahwa tugas telah berubah.

Kolom
task_id

string

ID tugas yang diubah

context_id

string

ID konteks tempat tugas berada

status

TaskStatus

Status baru tugas.

final

bool

Apakah ini adalah pembaruan status terakhir yang diharapkan untuk tugas ini.

metadata

Struct

Metadata opsional untuk dikaitkan dengan pembaruan tugas.

TaskSubscriptionRequest

Kolom
tenant

string

Tenant opsional, disediakan sebagai parameter jalur. Eksperimental, masih dapat berubah untuk rilis 1.0.

name

string

Nama resource tugas yang akan diikuti. Format: tasks/{task_id}