- Representasi JSON
- AgentInterface
- AgentProvider
- AgentCapabilities
- AgentExtension
- SecurityScheme
- APIKeySecurityScheme
- HTTPAuthSecurityScheme
- OAuth2SecurityScheme
- OAuthFlows
- AuthorizationCodeOAuthFlow
- ClientCredentialsOAuthFlow
- ImplicitOAuthFlow
- PasswordOAuthFlow
- DeviceCodeOAuthFlow
- OpenIdConnectSecurityScheme
- MutualTlsSecurityScheme
- SecurityRequirement
- StringList
- AgentSkill
- AgentCardSignature
Manifes yang menjelaskan dirinya sendiri untuk agen. Deskripsi ini menyediakan metadata penting, termasuk identitas, kemampuan, keterampilan, metode komunikasi yang didukung, dan persyaratan keamanan agen. ID Berikutnya: 20
| Representasi JSON |
|---|
{ "name": string, "description": string, "supportedInterfaces": [ { object ( |
| Kolom | |
|---|---|
name |
Wajib. Nama agen yang dapat dibaca manusia. Contoh: "Recipe Agent" |
description |
Wajib. Deskripsi agen yang dapat dibaca manusia, membantu pengguna dan agen lain memahami tujuannya. Contoh: "Agen yang membantu pengguna dengan resep dan memasak". |
supportedInterfaces[] |
Wajib. Daftar antarmuka yang didukung dan diurutkan. Entri pertama lebih disukai. |
provider |
Penyedia layanan agen. |
version |
Wajib. Versi agen. Contoh: "1.0.0" |
capabilities |
Wajib. Set Kemampuan A2A yang didukung oleh agen. |
securitySchemes |
Detail skema keamanan yang digunakan untuk mengautentikasi dengan agen ini. Objek yang berisi daftar pasangan |
securityRequirements[] |
Persyaratan keamanan untuk menghubungi agen. |
defaultInputModes[] |
Wajib. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Kumpulan mode interaksi yang didukung agen di semua skill. Setelan ini dapat diganti per skill. Ditentukan sebagai jenis media. |
defaultOutputModes[] |
Wajib. Jenis media yang didukung sebagai output dari agen ini. |
skills[] |
Wajib. Keterampilan mewakili kemampuan agen. Konsep ini sebagian besar bersifat deskriptif, tetapi merepresentasikan serangkaian perilaku yang lebih terfokus yang kemungkinan akan berhasil dilakukan oleh agen. |
signatures[] |
Tanda Tangan Web JSON yang dihitung untuk |
documentationUrl |
URL yang menyediakan dokumentasi tambahan tentang agen. |
iconUrl |
Opsional. URL ke ikon untuk agen. |
AgentInterface
Mendeklarasikan kombinasi URL target, transpor, dan versi protokol untuk berinteraksi dengan agen. Hal ini memungkinkan agen mengekspos fungsi yang sama melalui beberapa mekanisme pengikatan protokol.
| Representasi JSON |
|---|
{ "url": string, "protocolBinding": string, "tenant": string, "protocolVersion": string } |
| Kolom | |
|---|---|
url |
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 |
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 |
tenant |
Opsional. String buram yang digunakan untuk merutekan permintaan ke agen atau tenant tertentu saat beberapa agen ditayangkan di belakang satu endpoint A2A. Jika disetel, klien HARUS menyertakan nilai ini di kolom |
protocolVersion |
Wajib. Versi A2A protocol yang diekspos oleh antarmuka ini. Gunakan versi minor terbaru yang didukung per versi utama. Contoh: "0.3", "1.0" |
AgentProvider
Mewakili penyedia layanan agen.
| Representasi JSON |
|---|
{ "url": string, "organization": string } |
| Kolom | |
|---|---|
url |
Wajib. URL untuk situs penyedia agen atau dokumentasi yang relevan. Contoh: "https://ai.google.dev" |
organization |
Wajib. Nama organisasi penyedia agen. Contoh: "Google" |
AgentCapabilities
Menentukan kemampuan opsional yang didukung oleh agen.
| Representasi JSON |
|---|
{
"extensions": [
{
object ( |
| Kolom | |
|---|---|
extensions[] |
Daftar ekstensi protokol yang didukung oleh agen. |
streaming |
Menunjukkan apakah agen mendukung respons streaming. |
pushNotifications |
Menunjukkan apakah agen mendukung pengiriman notifikasi push untuk info terbaru tugas asinkron. |
extendedAgentCard |
Menunjukkan apakah agen mendukung penyediaan kartu agen yang diperluas saat diautentikasi. |
AgentExtension
Pernyataan ekstensi protokol yang didukung oleh Agen.
| Representasi JSON |
|---|
{ "uri": string, "description": string, "required": boolean, "params": { object } } |
| Kolom | |
|---|---|
uri |
URI unik yang mengidentifikasi ekstensi. |
description |
Deskripsi yang dapat dibaca manusia tentang cara agen ini menggunakan ekstensi. |
required |
Jika benar, klien harus memahami dan mematuhi persyaratan ekstensi. |
params |
Opsional. Parameter konfigurasi khusus ekstensi. |
SecurityScheme
Menentukan skema keamanan yang dapat digunakan untuk mengamankan endpoint agen. Ini adalah jenis gabungan yang dibedakan berdasarkan Objek Skema Keamanan OpenAPI 3.2. Lihat: https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union
|
|
apiKeySecurityScheme |
Autentikasi berbasis kunci API. |
httpAuthSecurityScheme |
Autentikasi HTTP (Dasar, Pemilik, dll.). |
oauth2SecurityScheme |
Autentikasi OAuth 2.0. |
openIdConnectSecurityScheme |
Autentikasi OpenID Connect. |
mtlsSecurityScheme |
Autentikasi TLS bersama. |
APIKeySecurityScheme
Menentukan skema keamanan menggunakan kunci API.
| Representasi JSON |
|---|
{ "description": string, "location": string, "name": string } |
| Kolom | |
|---|---|
description |
Deskripsi opsional untuk skema keamanan. |
location |
Wajib. Lokasi kunci API. Nilai yang valid adalah "query", "header", atau "cookie". |
name |
Wajib. Nama parameter header, kueri, atau cookie yang akan digunakan. |
HTTPAuthSecurityScheme
Menentukan skema keamanan menggunakan autentikasi HTTP.
| Representasi JSON |
|---|
{ "description": string, "scheme": string, "bearerFormat": string } |
| Kolom | |
|---|---|
description |
Deskripsi opsional untuk skema keamanan. |
scheme |
Wajib. Nama skema Autentikasi HTTP yang akan digunakan di header Authorization, seperti yang ditentukan dalam RFC7235 (misalnya, "Bearer"). Nilai ini harus didaftarkan dalam registry Skema Autentikasi IANA. |
bearerFormat |
Petunjuk kepada klien untuk mengidentifikasi cara token pembawa diformat (misalnya, "JWT"). Terutama untuk tujuan dokumentasi. |
OAuth2SecurityScheme
Menentukan skema keamanan menggunakan OAuth 2.0.
| Representasi JSON |
|---|
{
"description": string,
"flows": {
object ( |
| Kolom | |
|---|---|
description |
Deskripsi opsional untuk skema keamanan. |
flows |
Wajib. Objek yang berisi informasi konfigurasi untuk alur OAuth 2.0 yang didukung. |
oauth2MetadataUrl |
URL ke metadata server otorisasi OAuth2 RFC 8414. TLS diperlukan. |
OAuthFlows
Menentukan konfigurasi untuk alur OAuth 2.0 yang didukung.
| Representasi JSON |
|---|
{ // Union field |
| Kolom | |
|---|---|
Kolom union
|
|
authorizationCode |
Konfigurasi untuk alur Kode Otorisasi OAuth. |
clientCredentials |
Konfigurasi untuk alur Kredensial Klien OAuth. |
implicit |
Tidak digunakan lagi: Gunakan Kode Otorisasi + PKCE sebagai gantinya. |
password |
Tidak digunakan lagi: Gunakan Kode Otorisasi + PKCE atau Kode Perangkat. |
deviceCode |
Konfigurasi untuk alur Kode Perangkat OAuth. |
AuthorizationCodeOAuthFlow
Menentukan detail konfigurasi untuk alur Kode Otorisasi OAuth 2.0.
| Representasi JSON |
|---|
{ "authorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... }, "pkceRequired": boolean } |
| Kolom | |
|---|---|
authorizationUrl |
Wajib. URL otorisasi yang akan digunakan untuk alur ini. |
tokenUrl |
Wajib. URL token yang akan digunakan untuk alur ini. |
refreshUrl |
URL yang akan digunakan untuk mendapatkan token refresh. |
scopes |
Wajib. Cakupan yang tersedia untuk skema keamanan OAuth2. Objek yang berisi daftar pasangan |
pkceRequired |
Menunjukkan apakah PKCE (RFC 7636) diperlukan untuk alur ini. PKCE harus selalu digunakan untuk klien publik dan direkomendasikan untuk semua klien. |
ClientCredentialsOAuthFlow
Menentukan detail konfigurasi untuk alur Kredensial Klien OAuth 2.0.
| Representasi JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Kolom | |
|---|---|
tokenUrl |
Wajib. URL token yang akan digunakan untuk alur ini. |
refreshUrl |
URL yang akan digunakan untuk mendapatkan token refresh. |
scopes |
Wajib. Cakupan yang tersedia untuk skema keamanan OAuth2. Objek yang berisi daftar pasangan |
ImplicitOAuthFlow
Tidak digunakan lagi: Gunakan Kode Otorisasi + PKCE sebagai gantinya.
| Representasi JSON |
|---|
{ "authorizationUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Kolom | |
|---|---|
authorizationUrl |
URL otorisasi yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 mewajibkan penggunaan TLS |
refreshUrl |
URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS. |
scopes |
Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkat untuk cakupan tersebut. Peta MUNGKIN kosong. Objek yang berisi daftar pasangan |
PasswordOAuthFlow
Tidak digunakan lagi: Gunakan Kode Otorisasi + PKCE atau Kode Perangkat.
| Representasi JSON |
|---|
{ "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Kolom | |
|---|---|
tokenUrl |
URL token yang akan digunakan untuk alur ini. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS. |
refreshUrl |
URL yang akan digunakan untuk mendapatkan token refresh. Nilai ini HARUS dalam bentuk URL. Standar OAuth2 memerlukan penggunaan TLS. |
scopes |
Cakupan yang tersedia untuk skema keamanan OAuth2. Peta antara nama cakupan dan deskripsi singkat untuk cakupan tersebut. Peta MUNGKIN kosong. Objek yang berisi daftar pasangan |
DeviceCodeOAuthFlow
Menentukan detail konfigurasi untuk alur Kode Perangkat OAuth 2.0 (RFC 8628). Alur ini dirancang untuk perangkat dengan batasan input seperti perangkat IoT, dan alat CLI tempat pengguna melakukan autentikasi di perangkat terpisah.
| Representasi JSON |
|---|
{ "deviceAuthorizationUrl": string, "tokenUrl": string, "refreshUrl": string, "scopes": { string: string, ... } } |
| Kolom | |
|---|---|
deviceAuthorizationUrl |
Wajib. URL endpoint otorisasi perangkat. |
tokenUrl |
Wajib. URL token yang akan digunakan untuk alur ini. |
refreshUrl |
URL yang akan digunakan untuk mendapatkan token refresh. |
scopes |
Wajib. Cakupan yang tersedia untuk skema keamanan OAuth2. Objek yang berisi daftar pasangan |
OpenIdConnectSecurityScheme
Menentukan skema keamanan menggunakan OpenID Connect.
| Representasi JSON |
|---|
{ "description": string, "openIdConnectUrl": string } |
| Kolom | |
|---|---|
description |
Deskripsi opsional untuk skema keamanan. |
openIdConnectUrl |
Wajib. URL Discovery OpenID Connect untuk metadata provider OIDC. |
MutualTlsSecurityScheme
Mendefinisikan skema keamanan menggunakan autentikasi mTLS.
| Representasi JSON |
|---|
{ "description": string } |
| Kolom | |
|---|---|
description |
Deskripsi opsional untuk skema keamanan. |
SecurityRequirement
Menentukan persyaratan keamanan untuk agen.
| Representasi JSON |
|---|
{
"schemes": {
string: {
object ( |
| Kolom | |
|---|---|
schemes |
Peta skema keamanan ke cakupan yang diperlukan. Objek yang berisi daftar pasangan |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Daftar string.
| Representasi JSON |
|---|
{ "list": [ string ] } |
| Kolom | |
|---|---|
list[] |
Nilai string individual. |
AgentSkill
Mewakili kemampuan atau fungsi berbeda yang dapat dilakukan agen.
| Representasi JSON |
|---|
{
"id": string,
"name": string,
"description": string,
"tags": [
string
],
"examples": [
string
],
"inputModes": [
string
],
"outputModes": [
string
],
"securityRequirements": [
{
object ( |
| Kolom | |
|---|---|
id |
Wajib. ID unik untuk kemampuan agen. |
name |
Wajib. Nama yang dapat dibaca manusia untuk keahlian. |
description |
Wajib. Deskripsi mendetail tentang skill. |
tags[] |
Wajib. Sekumpulan kata kunci yang menjelaskan kemampuan skill. |
examples[] |
Contoh perintah atau skenario yang dapat ditangani oleh kemampuan ini. |
inputModes[] |
Kumpulan jenis media input yang didukung untuk skill ini, yang menggantikan default agen. |
outputModes[] |
Kumpulan jenis media output yang didukung untuk skill ini, yang menggantikan default agen. |
securityRequirements[] |
Skema keamanan yang diperlukan untuk keterampilan ini. |
AgentCardSignature
AgentCardSignature merepresentasikan tanda tangan JWS dari AgentCard. Bagian ini mengikuti format JSON dari JSON Web Signature (JWS) RFC 7515.
| Representasi JSON |
|---|
{ "protected": string, "signature": string, "header": { object } } |
| Kolom | |
|---|---|
protected |
Wajib. Wajib. Header JWS yang dilindungi untuk tanda tangan. Ini selalu berupa objek JSON yang dienkode base64url. |
signature |
Wajib. Tanda tangan yang dihitung, dienkode base64url. |
header |
Nilai header JWS yang tidak dilindungi. |