Package a2a.v1

색인

A2AService

A2AService는 A2A 프로토콜의 gRPC 버전을 정의합니다. 이는 적절한 경우 AIP-127을 더 잘 준수하기 위해 JSONRPC 버전과 약간 다른 모양을 갖습니다. 명사는 AgentCard, Message, Task, TaskPushNotificationConfig입니다.

  • 메시지는 표준 리소스가 아니므로 get/delete/update/list 인터페이스가 없고 send 및 stream 맞춤 메서드만 있습니다.
  • 작업에는 가져오기 인터페이스와 맞춤 취소 및 구독 메서드가 있습니다.
  • TaskPushNotificationConfig는 상위 요소가 작업인 리소스입니다. get, list, create 메서드가 있습니다.
  • AgentCard는 get 메서드만 있는 정적 리소스입니다.
CancelTask

rpc CancelTask(CancelTaskRequest) returns (Task)

에이전트에서 태스크를 취소합니다. 지원되는 경우 작업에 대한 추가 작업 업데이트가 없을 것으로 예상됩니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

CreateTaskPushNotificationConfig

rpc CreateTaskPushNotificationConfig(CreateTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

작업의 푸시 알림 구성을 설정합니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

DeleteTaskPushNotificationConfig

rpc DeleteTaskPushNotificationConfig(DeleteTaskPushNotificationConfigRequest) returns (Empty)

작업의 푸시 알림 구성을 삭제합니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

GetAgentCard

rpc GetAgentCard(GetAgentCardRequest) returns (AgentCard)

GetAgentCard는 에이전트의 에이전트 카드를 반환합니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

에이전트에서 작업의 현재 상태를 가져옵니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

GetTaskPushNotificationConfig

rpc GetTaskPushNotificationConfig(GetTaskPushNotificationConfigRequest) returns (TaskPushNotificationConfig)

작업의 푸시 알림 구성을 가져옵니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

ListTaskPushNotificationConfig

rpc ListTaskPushNotificationConfig(ListTaskPushNotificationConfigRequest) returns (ListTaskPushNotificationConfigResponse)

작업에 대해 구성된 푸시 알림 목록을 가져옵니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

SendMessage

rpc SendMessage(SendMessageRequest) returns (SendMessageResponse)

상담사에게 메시지를 보냅니다. 작업이 완료되면 작업을 반환하거나 요청된 경우 LRO를 반환하는 차단 호출입니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

SendStreamingMessage

rpc SendStreamingMessage(SendMessageRequest) returns (StreamResponse)

SendStreamingMessage는 작업이 중단되거나 종료 상태가 될 때까지 작업 업데이트 이벤트 스트림을 반환하는 스트리밍 호출입니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

TaskSubscription

rpc TaskSubscription(TaskSubscriptionRequest) returns (StreamResponse)

TaskSubscription은 태스크 업데이트 이벤트 스트림을 반환하는 스트리밍 호출입니다. 이렇게 하면 스트림이 기존 프로세스 내 작업에 연결됩니다. 작업이 완료되면 스트림은 완료된 작업을 반환하고 (GetTask와 같이) 스트림을 닫습니다.

승인 범위

다음 OAuth 범위가 필요합니다.

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

자세한 내용은 Authentication Overview를 참조하세요.

APIKeySecurityScheme

필드
description

string

이 보안 스키마에 대한 설명입니다.

location

string

API 키의 위치입니다. 유효한 값은 'query', 'header', 'cookie'입니다.

name

string

사용할 헤더, 쿼리 또는 쿠키 매개변수의 이름입니다.

AgentCapabilities

에이전트가 지원하는 A2A 기능 세트를 정의합니다.

필드
streaming

bool

상담사가 스트리밍 응답을 지원하는 경우

push_notifications

bool

상담사가 클라이언트 웹훅에 푸시 알림을 보낼 수 있는 경우

extensions[]

AgentExtension

이 에이전트에서 지원하는 확장 프로그램입니다.

AgentCard

AgentCard는 다음과 같은 주요 정보를 전달합니다. - 전체 세부정보 (버전, 이름, 설명, 사용) - 기술: 에이전트가 실행할 수 있는 작업/솔루션 집합 - 에이전트가 지원하는 기본 모달리티/콘텐츠 유형 - 인증 요구사항 다음 ID: 19

필드
protocol_version

string

이 에이전트가 지원하는 A2A 프로토콜의 버전입니다.

name

string

인간이 읽을 수 있는 에이전트 이름입니다. 예: '레시피 에이전트'

description

string

에이전트의 작업 도메인/솔루션 공간에 대한 설명입니다. 예: '사용자의 레시피 및 요리를 지원하는 에이전트'

url

string

에이전트가 호스팅되는 주소의 URL입니다. 이는 에이전트가 선언한 기본 엔드포인트를 나타냅니다.

preferred_transport

string

기본 엔드포인트의 전송입니다. 비어 있으면 기본값은 JSONRPC입니다.

additional_interfaces[]

AgentInterface

추가 지원되는 전송 발표 클라이언트는 지원되는 전송 중 하나를 사용할 수 있습니다.

provider

AgentProvider

에이전트의 서비스 제공업체입니다.

version

string

에이전트 버전입니다. 예: '1.0.0'

documentation_url

string

에이전트에 관한 추가 문서를 제공하는 URL입니다.

capabilities

AgentCapabilities

에이전트에서 지원하는 A2A 기능 집합입니다.

security_schemes

map<string, SecurityScheme>

이 에이전트로 인증하는 데 사용되는 보안 스킴 세부정보입니다.

security[]

Security

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 상담사에게 문의하기 위한 보안 요구사항 이 목록은 AND의 OR로 볼 수 있습니다. 목록의 각 객체는 요청에 있어야 하는 가능한 보안 요구사항 집합을 설명합니다. 이를 통해 예를 들어 '호출자는 OAuth 또는 API 키와 mTLS를 사용해야 합니다'를 지정할 수 있습니다. 예: 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 에이전트가 모든 스킬에서 지원하는 상호작용 모드 집합입니다. 이는 스킬별로 재정의할 수 있습니다. MIME 유형으로 정의됩니다.

default_output_modes[]

string

이 에이전트에서 출력으로 지원되는 MIME 유형입니다.

skills[]

AgentSkill

기술은 상담사가 수행할 수 있는 능력의 단위를 나타냅니다. 약간 추상적일 수 있지만 에이전트가 성공할 가능성이 높은 더 집중된 작업 집합을 나타냅니다.

supports_authenticated_extended_card

bool

사용자가 인증되었을 때 에이전트가 확장된 에이전트 카드 제공을 지원하는지 여부입니다. 즉, .well-known의 카드가 GetAgentCard의 카드와 다른지 여부입니다.

signatures[]

AgentCardSignature

이 AgentCard에 대해 계산된 JSON 웹 서명입니다.

icon_url

string

에이전트 아이콘의 선택적 URL입니다.

AgentCardSignature

AgentCardSignature는 AgentCard의 JWS 서명을 나타냅니다. 이는 RFC 7515 JSON 웹 서명 (JWS)의 JSON 형식을 따릅니다.

필드
protected

string

필수 항목입니다. 서명의 보호된 JWS 헤더입니다. 이는 항상 base64url로 인코딩된 JSON 객체입니다. 필수 항목입니다.

signature

string

필수 항목입니다. 계산된 서명으로, base64url로 인코딩됩니다. 필수 항목입니다.

header

Struct

보호되지 않은 JWS 헤더 값입니다.

AgentExtension

에이전트에서 지원하는 확장 프로그램의 선언입니다.

필드
uri

string

확장 프로그램의 URI입니다. 예: 'https://developers.google.com/identity/protocols/oauth2'

description

string

이 에이전트가 이 확장 프로그램을 사용하는 방식에 관한 설명입니다. 예: 'Google OAuth 2.0 인증'

required

bool

클라이언트가 확장 프로그램의 특정 요구사항을 따라야 하는지 여부입니다. 예: false

params

Struct

확장 프로그램의 선택적 구성입니다.

AgentInterface

에이전트의 추가 전송 정보를 정의합니다.

필드
url

string

이 인터페이스가 있는 URL입니다.

transport

string

전송이 이 URL을 지원했습니다. 이는 여러 전송 프로토콜로 쉽게 확장할 수 있는 개방형 형식 문자열입니다. 공식적으로 지원되는 핵심은 JSONRPC, GRPC, HTTP+JSON입니다.

tenant

string

에이전트를 호출할 때 요청에 설정할 테넌트입니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

AgentProvider

에이전트의 서비스 제공업체에 관한 정보를 나타냅니다.

필드
url

string

제공업체 참조 URL입니다. 예: 'https://ai.google.dev'

organization

string

제공업체의 조직 이름입니다. 예: 'Google'

AgentSkill

AgentSkill은 에이전트가 수행할 수 있는 작업/솔루션 단위를 나타냅니다. 이를 에이전트가 제공하도록 요청받을 수 있는 매우 신뢰할 수 있는 솔루션 유형으로 생각할 수 있습니다. 상담사는 특정 스킬을 언제 어떻게 사용할지 자율적으로 선택할 수 있지만, 클라이언트는 스킬이 정의된 경우 해당 작업 단위를 안정적으로 실행할 수 있다고 확신해야 합니다.

필드
id

string

이 상담사 내 기술의 고유 식별자입니다.

name

string

스킬의 사람이 읽을 수 있는 이름입니다.

description

string

기술 세부정보와 동작에 대한 사람이 읽을 수 있는 설명입니다.

tags[]

string

분류/활용을 개선하기 위한 스킬의 태그 집합입니다. 예: ['cooking', 'customer support', 'billing']

examples[]

string

이 스킬이 처리하도록 설계된 예시 질문의 집합입니다. 이러한 예는 발신자가 특정 목표를 달성하기 위해 상담사에게 요청을 작성하는 방법을 이해하는 데 도움이 됩니다. 예: ["빵 레시피가 필요해."]

input_modes[]

string

지원되는 가능한 입력 모달리티입니다.

output_modes[]

string

생성된 가능한 출력 모달리티

security[]

Security

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 에이전트가 이 스킬을 활용하는 데 필요한 보안 스키마입니다. 전체 AgentCard.security와 마찬가지로 이 목록은 보안 요구사항 객체의 논리적 OR을 나타냅니다. 각 객체는 함께 사용해야 하는 보안 스킴 집합입니다 (논리적 AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED

아티팩트

아티팩트는 작업 완료 결과의 컨테이너입니다. 이는 메시지와 유사하지만 점대점 통신이 아닌 작업의 결과물로 사용됩니다.

필드
artifact_id

string

아티팩트의 고유 식별자 (예: UUID)입니다. 작업 내에서 고유해야 합니다.

name

string

아티팩트의 사람이 읽을 수 있는 이름입니다.

description

string

아티팩트에 대한 사람이 읽을 수 있는 설명입니다(선택사항).

parts[]

Part

아티팩트의 콘텐츠입니다.

metadata

Struct

아티팩트에 포함된 선택적 메타데이터입니다.

extensions[]

string

이 아티팩트에 있거나 기여한 확장 프로그램의 URI입니다.

AuthenticationInfo

푸시 알림에 사용되는 인증 세부정보를 정의합니다.

필드
schemes[]

string

지원되는 인증 스키마(예: 기본, 베어러 등)

credentials

string

선택적 사용자 인증 정보

AuthorizationCodeOAuthFlow

필드
authorization_url

string

이 흐름에 사용할 승인 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS 사용을 요구합니다.

token_url

string

이 흐름에 사용할 토큰 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다.

refresh_url

string

갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다.

scopes

map<string, string>

OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY).

CancelTaskRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

name

string

취소할 작업의 리소스 이름입니다. 형식: tasks/{task_id}

ClientCredentialsOAuthFlow

필드
token_url

string

이 흐름에 사용할 토큰 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다.

refresh_url

string

갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다.

scopes

map<string, string>

OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY).

CreateTaskPushNotificationConfigRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

parent

string

필수 항목입니다. 이 구성의 상위 작업 리소스입니다. 형식: tasks/{task_id}

config_id

string

필수 항목입니다. 새 구성의 ID입니다.

config

TaskPushNotificationConfig

필수 항목입니다. 만들 구성입니다.

DataPart

DataPart는 구조화된 blob을 나타냅니다. 가장 일반적인 것은 JSON 페이로드입니다.

필드
data

Struct

DeleteTaskPushNotificationConfigRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

name

string

삭제할 구성의 리소스 이름입니다. 형식: tasks/{task_id}/pushNotificationConfigs/{config_id}

FilePart

FilePart는 파일을 제공할 수 있는 다양한 방법을 나타냅니다. 파일이 작은 경우 file_with_bytes를 통해 바이트를 직접 제공할 수 있습니다. 파일이 큰 경우 상담사는 file_with_uri 소스에서 직접 콘텐츠를 적절하게 읽어야 합니다.

필드
mime_type

string

name

string

통합 필드 file.

file는 다음 중 하나여야 합니다.

file_with_uri

string

file_with_bytes

bytes

GetAgentCardRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

GetTaskPushNotificationConfigRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

name

string

가져올 구성의 리소스 이름입니다. 형식: tasks/{task_id}/pushNotificationConfigs/{config_id}

GetTaskRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

name

string

필수 항목입니다. 작업의 리소스 이름입니다. 형식: tasks/{task_id}

history_length

int32

가져올 태스크 기록의 가장 최근 메시지 수입니다.

HTTPAuthSecurityScheme

필드
description

string

이 보안 스키마에 대한 설명입니다.

scheme

string

RFC7235에 정의된 대로 Authorization 헤더에 사용할 HTTP 인증 스키마의 이름입니다. 사용된 값은 IANA 인증 스킴 레지스트리에 등록되어야 합니다(SHOULD). 이 값은 RFC7235에 정의된 대로 대소문자를 구분하지 않습니다.

bearer_format

string

클라이언트가 베어러 토큰의 형식을 식별하는 데 도움이 되는 힌트입니다. 베어러 토큰은 일반적으로 승인 서버에서 생성되므로 이 정보는 주로 문서화 목적으로 사용됩니다.

ImplicitOAuthFlow

필드
authorization_url

string

이 흐름에 사용할 승인 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS 사용을 요구합니다.

refresh_url

string

갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다.

scopes

map<string, string>

OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY).

ListTaskPushNotificationConfigRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

parent

string

상위 작업 리소스입니다. 형식: tasks/{task_id}

page_size

int32

AIP-158의 경우 이러한 필드가 있습니다. 일반적으로 사용되지 않음/필요하지 않음 반환할 최대 구성 수입니다. 지정하지 않으면 모든 구성이 반환됩니다.

page_token

string

이전 ListTaskPushNotificationConfigRequest 호출에서 수신된 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다. 페이지를 매길 때 ListTaskPushNotificationConfigRequest에 제공된 다른 모든 매개 변수는 페이지 토큰을 제공한 호출과 일치해야 합니다.

ListTaskPushNotificationConfigResponse

필드
configs[]

TaskPushNotificationConfig

푸시 알림 구성 목록입니다.

next_page_token

string

다음 페이지를 검색하기 위해 page_token으로 전송할 수 있는 토큰입니다. 이 필드를 생략하면 후속 페이지가 표시되지 않습니다.

메시지

메시지는 클라이언트와 서버 간의 통신 단위입니다. 컨텍스트와 연결되며 선택적으로 작업과 연결됩니다. 서버는 컨텍스트 정의를 담당하므로 항상 메시지에 context_id를 제공해야 합니다. 클라이언트는 메시지를 연결할 컨텍스트를 알고 있는 경우 선택적으로 context_id를 제공할 수 있습니다. task_id의 경우도 마찬가지입니다. 단, 태스크가 생성되는지 여부와 task_id를 포함할지 여부는 서버에서 결정합니다.

필드
message_id

string

메시지의 고유 식별자 (예: UUID)입니다. 필수이며 메시지 작성자가 만듭니다.

context_id

string

메시지의 컨텍스트 ID입니다. 선택사항이며 설정된 경우 메시지가 지정된 컨텍스트와 연결됩니다.

task_id

string

메일의 작업 ID입니다. 선택사항이며 설정된 경우 메시지가 지정된 작업과 연결됩니다.

role

Role

메시지의 역할입니다.

content[]

Part

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 콘텐츠는 메시지 콘텐츠의 컨테이너입니다.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED 메시지와 함께 제공할 선택적 메타데이터입니다.

extensions[]

string

이 메시지에 있거나 이 메시지에 제공된 확장 프로그램의 URI입니다.

MutualTlsSecurityScheme

필드
description

string

이 보안 스키마에 대한 설명입니다.

OAuth2SecurityScheme

필드
description

string

이 보안 스키마에 대한 설명입니다.

flows

OAuthFlows

지원되는 흐름 유형의 구성 정보가 포함된 객체

oauth2_metadata_url

string

oauth2 승인 서버 메타데이터 RFC8414의 URL입니다. TLS가 필요합니다.

OAuthFlows

필드

통합 필드 flow.

flow는 다음 중 하나여야 합니다.

authorization_code

AuthorizationCodeOAuthFlow

client_credentials

ClientCredentialsOAuthFlow

implicit

ImplicitOAuthFlow

password

PasswordOAuthFlow

OpenIdConnectSecurityScheme

필드
description

string

이 보안 스키마에 대한 설명입니다.

open_id_connect_url

string

[[OpenID-Connect-Discovery]] 제공업체 메타데이터를 검색하는 데 사용되는 잘 알려진 URL입니다.

파트

Part는 커뮤니케이션 콘텐츠 섹션의 컨테이너를 나타냅니다. 파트는 순수 텍스트, 일종의 파일 (이미지, 동영상 등) 또는 구조화된 데이터 blob (예: JSON)일 수 있습니다.

필드
metadata

Struct

이 부분과 연결된 선택적 메타데이터입니다.

통합 필드 part.

part는 다음 중 하나여야 합니다.

text

string

file

FilePart

data

DataPart

PasswordOAuthFlow

필드
token_url

string

이 흐름에 사용할 토큰 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다.

refresh_url

string

갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다.

scopes

map<string, string>

OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY).

PushNotificationConfig

작업 업데이트에 대한 푸시 알림을 설정하기 위한 구성입니다.

필드
id

string

이 푸시 알림의 고유 식별자 (예: UUID)입니다.

url

string

알림을 보낼 URL

token

string

이 작업/세션에 고유한 토큰

authentication

AuthenticationInfo

알림과 함께 전송할 인증에 관한 정보

역할

열거형
ROLE_UNSPECIFIED
ROLE_USER USER 역할은 클라이언트에서 서버로의 통신을 나타냅니다.
ROLE_AGENT AGENT 역할은 서버에서 클라이언트로의 통신을 나타냅니다.

보안

필드
schemes

map<string, StringList>

SecurityScheme

필드

통합 필드 scheme.

scheme는 다음 중 하나여야 합니다.

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

메시지 보내기 요청의 구성입니다.

필드
accepted_output_modes[]

string

에이전트가 응답할 것으로 예상되는 출력 모드입니다.

push_notification

PushNotificationConfig

업데이트를 수신하는 데 사용할 수 있는 웹훅 구성

history_length

int32

기록에 포함할 최대 메시지 수입니다. 0이면 기록이 무제한입니다.

blocking

bool

true인 경우 작업이 완료될 때까지 메시지가 차단됩니다. false인 경우 메시지는 차단되지 않으며 작업이 즉시 반환됩니다. 작업 업데이트를 확인하는 것은 호출자의 책임입니다.

SendMessageRequest

///////// 요청 메시지 ///////////

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

request

Message

필수 항목입니다. 에이전트에게 보낼 메시지입니다.

configuration

SendMessageConfiguration

전송 요청의 구성입니다.

metadata

Struct

요청의 선택적 메타데이터입니다.

SendMessageResponse

////// 응답 메시지 ///////////

필드

통합 필드 payload.

payload는 다음 중 하나여야 합니다.

task

Task

msg

Message

StreamResponse

메시지의 스트림 응답입니다. 스트림은 다음 시퀀스 중 하나여야 합니다. 응답이 메시지인 경우 스트림에는 메시지가 하나만 포함되어야 하며 스트림이 닫혀야 합니다. 응답이 작업 수명 주기인 경우 첫 번째 응답은 Task 객체여야 하며 그 뒤에 0개 이상의 TaskStatusUpdateEvents 및 TaskArtifactUpdateEvents가 와야 합니다. 작업이 중단되거나 터미널 상태인 경우 스트림이 완료되어야 합니다. 이러한 조건을 충족하기 전에 종료되는 스트림은

필드

통합 필드 payload.

payload는 다음 중 하나여야 합니다.

task

Task

msg

Message

status_update

TaskStatusUpdateEvent

artifact_update

TaskArtifactUpdateEvent

StringList

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED

필드
list[]

string

작업

작업은 A2A의 핵심 작업 단위입니다. 현재 상태가 있으며 작업의 결과가 생성되면 아티팩트에 저장됩니다. 작업에 여러 턴이 있는 경우 기록에 저장됩니다.

필드
id

string

새 작업에 대해 서버에서 생성한 작업의 고유 식별자 (예: UUID)입니다.

context_id

string

상호작용 (작업 및 메시지)의 컨텍스트 모음의 고유 식별자 (예: UUID)입니다. A2A 서버에 의해 생성됩니다.

status

TaskStatus

상태와 메시지를 포함한 태스크의 현재 상태입니다.

artifacts[]

Artifact

작업의 출력 아티팩트 집합입니다.

history[]

Message

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 작업의 상호작용 기록입니다.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED 작업에 관한 맞춤 메타데이터를 저장하는 키/값 객체입니다.

TaskArtifactUpdateEvent

TaskArtifactUpdateEvent는 아티팩트가 생성된 작업 델타를 나타냅니다.

필드
task_id

string

이 아티팩트의 작업 ID

context_id

string

이 작업이 속한 컨텍스트의 ID입니다.

artifact

Artifact

아티팩트 자체

append

bool

이 값이 이전에 생성된 값에 추가되어야 하는지 여부

last_chunk

bool

아티팩트의 마지막 부분을 나타내는지 여부

metadata

Struct

아티팩트 업데이트와 연결된 선택적 메타데이터입니다.

TaskPushNotificationConfig

필드
name

string

구성의 리소스 이름입니다. 형식: tasks/{task_id}/pushNotificationConfigs/{config_id}

push_notification_config

PushNotificationConfig

푸시 알림 구성 세부정보입니다.

TaskState

작업이 있을 수 있는 상태 집합입니다.

열거형
TASK_STATE_UNSPECIFIED
TASK_STATE_SUBMITTED 작업이 생성되었음을 나타내는 상태입니다.
TASK_STATE_WORKING 작업이 활발하게 처리되고 있는 상태를 나타냅니다.
TASK_STATE_COMPLETED 작업이 완료된 상태를 나타냅니다. 이는 터미널 상태입니다.
TASK_STATE_FAILED 작업이 완료되었지만 실패한 상태를 나타냅니다. 이는 터미널 상태입니다.
TASK_STATE_CANCELLED 작업이 완료되기 전에 취소된 상태를 나타냅니다. 이는 터미널 상태입니다.
TASK_STATE_INPUT_REQUIRED 작업을 완료하는 데 정보가 필요한 상태를 나타냅니다. 이는 중단된 상태입니다.
TASK_STATE_REJECTED 에이전트가 작업을 실행하지 않기로 결정한 상태를 나타냅니다. 이 작업은 초기 작업 생성 중에 수행하거나 에이전트가 진행할 수 없거나 진행하지 않기로 결정한 후에 수행할 수 있습니다. 이는 터미널 상태입니다.
TASK_STATE_AUTH_REQUIRED 업스트림 클라이언트에서 인증이 필요한 상태를 나타냅니다. 인증은 대역 외에서 이루어지므로 중단되거나 종료된 상태가 아닙니다.

TaskStatus

작업 상태의 컨테이너

필드
state

TaskState

이 작업의 현재 상태

update

Message

상태와 연결된 메시지입니다.

timestamp

Timestamp

상태가 기록된 시점의 타임스탬프입니다. 예: '2023-10-27T10:00:00Z'

TaskStatusUpdateEvent

TaskStatusUpdateEvent는 작업이 변경되었음을 나타내는 작업의 델타입니다.

필드
task_id

string

변경된 작업의 ID

context_id

string

작업이 속한 컨텍스트의 ID

status

TaskStatus

작업의 새 상태입니다.

final

bool

이 작업에 대해 예상되는 마지막 상태 업데이트인지 여부입니다.

metadata

Struct

작업 업데이트와 연결할 선택적 메타데이터입니다.

TaskSubscriptionRequest

필드
tenant

string

선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다.

name

string

구독할 작업의 리소스 이름입니다. 형식: tasks/{task_id}