색인
A2AService(인터페이스)APIKeySecurityScheme(메시지)AgentCapabilities(메시지)AgentCard(메시지)AgentCardSignature(메시지)AgentExtension(메시지)AgentInterface(메시지)AgentProvider(메시지)AgentSkill(메시지)Artifact(메시지)AuthenticationInfo(메시지)AuthorizationCodeOAuthFlow(메시지)CancelTaskRequest(메시지)ClientCredentialsOAuthFlow(메시지)CreateTaskPushNotificationConfigRequest(메시지)DataPart(메시지)DeleteTaskPushNotificationConfigRequest(메시지)FilePart(메시지)GetAgentCardRequest(메시지)GetTaskPushNotificationConfigRequest(메시지)GetTaskRequest(메시지)HTTPAuthSecurityScheme(메시지)ImplicitOAuthFlow(메시지)ListTaskPushNotificationConfigRequest(메시지)ListTaskPushNotificationConfigResponse(메시지)Message(메시지)MutualTlsSecurityScheme(메시지)OAuth2SecurityScheme(메시지)OAuthFlows(메시지)OpenIdConnectSecurityScheme(메시지)Part(메시지)PasswordOAuthFlow(메시지)PushNotificationConfig(메시지)Role(열거형)Security(메시지)SecurityScheme(메시지)SendMessageConfiguration(메시지)SendMessageRequest(메시지)SendMessageResponse(메시지)StreamResponse(메시지)StringList(메시지)Task(메시지)TaskArtifactUpdateEvent(메시지)TaskPushNotificationConfig(메시지)TaskState(열거형)TaskStatus(메시지)TaskStatusUpdateEvent(메시지)TaskSubscriptionRequest(메시지)
A2AService
A2AService는 A2A 프로토콜의 gRPC 버전을 정의합니다. 이는 적절한 경우 AIP-127을 더 잘 준수하기 위해 JSONRPC 버전과 약간 다른 모양을 갖습니다. 명사는 AgentCard, Message, Task, TaskPushNotificationConfig입니다.
- 메시지는 표준 리소스가 아니므로 get/delete/update/list 인터페이스가 없고 send 및 stream 맞춤 메서드만 있습니다.
- 작업에는 가져오기 인터페이스와 맞춤 취소 및 구독 메서드가 있습니다.
- TaskPushNotificationConfig는 상위 요소가 작업인 리소스입니다. get, list, create 메서드가 있습니다.
- AgentCard는 get 메서드만 있는 정적 리소스입니다.
| CancelTask |
|---|
|
에이전트에서 태스크를 취소합니다. 지원되는 경우 작업에 대한 추가 작업 업데이트가 없을 것으로 예상됩니다.
|
| CreateTaskPushNotificationConfig |
|---|
|
작업의 푸시 알림 구성을 설정합니다.
|
| DeleteTaskPushNotificationConfig |
|---|
|
작업의 푸시 알림 구성을 삭제합니다.
|
| GetAgentCard |
|---|
|
GetAgentCard는 에이전트의 에이전트 카드를 반환합니다.
|
| GetTask |
|---|
|
에이전트에서 작업의 현재 상태를 가져옵니다.
|
| GetTaskPushNotificationConfig |
|---|
|
작업의 푸시 알림 구성을 가져옵니다.
|
| ListTaskPushNotificationConfig |
|---|
|
작업에 대해 구성된 푸시 알림 목록을 가져옵니다.
|
| SendMessage |
|---|
|
상담사에게 메시지를 보냅니다. 작업이 완료되면 작업을 반환하거나 요청된 경우 LRO를 반환하는 차단 호출입니다.
|
| SendStreamingMessage |
|---|
|
SendStreamingMessage는 작업이 중단되거나 종료 상태가 될 때까지 작업 업데이트 이벤트 스트림을 반환하는 스트리밍 호출입니다.
|
| TaskSubscription |
|---|
|
TaskSubscription은 태스크 업데이트 이벤트 스트림을 반환하는 스트리밍 호출입니다. 이렇게 하면 스트림이 기존 프로세스 내 작업에 연결됩니다. 작업이 완료되면 스트림은 완료된 작업을 반환하고 (GetTask와 같이) 스트림을 닫습니다.
|
APIKeySecurityScheme
| 필드 | |
|---|---|
description |
이 보안 스키마에 대한 설명입니다. |
location |
API 키의 위치입니다. 유효한 값은 'query', 'header', 'cookie'입니다. |
name |
사용할 헤더, 쿼리 또는 쿠키 매개변수의 이름입니다. |
AgentCapabilities
에이전트가 지원하는 A2A 기능 세트를 정의합니다.
| 필드 | |
|---|---|
streaming |
상담사가 스트리밍 응답을 지원하는 경우 |
push_notifications |
상담사가 클라이언트 웹훅에 푸시 알림을 보낼 수 있는 경우 |
extensions[] |
이 에이전트에서 지원하는 확장 프로그램입니다. |
AgentCard
AgentCard는 다음과 같은 주요 정보를 전달합니다. - 전체 세부정보 (버전, 이름, 설명, 사용) - 기술: 에이전트가 실행할 수 있는 작업/솔루션 집합 - 에이전트가 지원하는 기본 모달리티/콘텐츠 유형 - 인증 요구사항 다음 ID: 19
| 필드 | |
|---|---|
protocol_version |
이 에이전트가 지원하는 A2A 프로토콜의 버전입니다. |
name |
인간이 읽을 수 있는 에이전트 이름입니다. 예: '레시피 에이전트' |
description |
에이전트의 작업 도메인/솔루션 공간에 대한 설명입니다. 예: '사용자의 레시피 및 요리를 지원하는 에이전트' |
url |
에이전트가 호스팅되는 주소의 URL입니다. 이는 에이전트가 선언한 기본 엔드포인트를 나타냅니다. |
preferred_transport |
기본 엔드포인트의 전송입니다. 비어 있으면 기본값은 JSONRPC입니다. |
additional_interfaces[] |
추가 지원되는 전송 발표 클라이언트는 지원되는 전송 중 하나를 사용할 수 있습니다. |
provider |
에이전트의 서비스 제공업체입니다. |
version |
에이전트 버전입니다. 예: '1.0.0' |
documentation_url |
에이전트에 관한 추가 문서를 제공하는 URL입니다. |
capabilities |
에이전트에서 지원하는 A2A 기능 집합입니다. |
security_schemes |
이 에이전트로 인증하는 데 사용되는 보안 스킴 세부정보입니다. |
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[] |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED 에이전트가 모든 스킬에서 지원하는 상호작용 모드 집합입니다. 이는 스킬별로 재정의할 수 있습니다. MIME 유형으로 정의됩니다. |
default_output_modes[] |
이 에이전트에서 출력으로 지원되는 MIME 유형입니다. |
skills[] |
기술은 상담사가 수행할 수 있는 능력의 단위를 나타냅니다. 약간 추상적일 수 있지만 에이전트가 성공할 가능성이 높은 더 집중된 작업 집합을 나타냅니다. |
supports_authenticated_extended_card |
사용자가 인증되었을 때 에이전트가 확장된 에이전트 카드 제공을 지원하는지 여부입니다. 즉, .well-known의 카드가 GetAgentCard의 카드와 다른지 여부입니다. |
signatures[] |
이 AgentCard에 대해 계산된 JSON 웹 서명입니다. |
icon_url |
에이전트 아이콘의 선택적 URL입니다. |
AgentCardSignature
AgentCardSignature는 AgentCard의 JWS 서명을 나타냅니다. 이는 RFC 7515 JSON 웹 서명 (JWS)의 JSON 형식을 따릅니다.
| 필드 | |
|---|---|
protected |
필수 항목입니다. 서명의 보호된 JWS 헤더입니다. 이는 항상 base64url로 인코딩된 JSON 객체입니다. 필수 항목입니다. |
signature |
필수 항목입니다. 계산된 서명으로, base64url로 인코딩됩니다. 필수 항목입니다. |
header |
보호되지 않은 JWS 헤더 값입니다. |
AgentExtension
에이전트에서 지원하는 확장 프로그램의 선언입니다.
| 필드 | |
|---|---|
uri |
확장 프로그램의 URI입니다. 예: 'https://developers.google.com/identity/protocols/oauth2' |
description |
이 에이전트가 이 확장 프로그램을 사용하는 방식에 관한 설명입니다. 예: 'Google OAuth 2.0 인증' |
required |
클라이언트가 확장 프로그램의 특정 요구사항을 따라야 하는지 여부입니다. 예: false |
params |
확장 프로그램의 선택적 구성입니다. |
AgentInterface
에이전트의 추가 전송 정보를 정의합니다.
| 필드 | |
|---|---|
url |
이 인터페이스가 있는 URL입니다. |
transport |
전송이 이 URL을 지원했습니다. 이는 여러 전송 프로토콜로 쉽게 확장할 수 있는 개방형 형식 문자열입니다. 공식적으로 지원되는 핵심은 JSONRPC, GRPC, HTTP+JSON입니다. |
tenant |
에이전트를 호출할 때 요청에 설정할 테넌트입니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
AgentProvider
에이전트의 서비스 제공업체에 관한 정보를 나타냅니다.
| 필드 | |
|---|---|
url |
제공업체 참조 URL입니다. 예: 'https://ai.google.dev' |
organization |
제공업체의 조직 이름입니다. 예: 'Google' |
AgentSkill
AgentSkill은 에이전트가 수행할 수 있는 작업/솔루션 단위를 나타냅니다. 이를 에이전트가 제공하도록 요청받을 수 있는 매우 신뢰할 수 있는 솔루션 유형으로 생각할 수 있습니다. 상담사는 특정 스킬을 언제 어떻게 사용할지 자율적으로 선택할 수 있지만, 클라이언트는 스킬이 정의된 경우 해당 작업 단위를 안정적으로 실행할 수 있다고 확신해야 합니다.
| 필드 | |
|---|---|
id |
이 상담사 내 기술의 고유 식별자입니다. |
name |
스킬의 사람이 읽을 수 있는 이름입니다. |
description |
기술 세부정보와 동작에 대한 사람이 읽을 수 있는 설명입니다. |
tags[] |
분류/활용을 개선하기 위한 스킬의 태그 집합입니다. 예: ['cooking', 'customer support', 'billing'] |
examples[] |
이 스킬이 처리하도록 설계된 예시 질문의 집합입니다. 이러한 예는 발신자가 특정 목표를 달성하기 위해 상담사에게 요청을 작성하는 방법을 이해하는 데 도움이 됩니다. 예: ["빵 레시피가 필요해."] |
input_modes[] |
지원되는 가능한 입력 모달리티입니다. |
output_modes[] |
생성된 가능한 출력 모달리티 |
security[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 에이전트가 이 스킬을 활용하는 데 필요한 보안 스키마입니다. 전체 AgentCard.security와 마찬가지로 이 목록은 보안 요구사항 객체의 논리적 OR을 나타냅니다. 각 객체는 함께 사용해야 하는 보안 스킴 집합입니다 (논리적 AND). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
아티팩트
아티팩트는 작업 완료 결과의 컨테이너입니다. 이는 메시지와 유사하지만 점대점 통신이 아닌 작업의 결과물로 사용됩니다.
| 필드 | |
|---|---|
artifact_id |
아티팩트의 고유 식별자 (예: UUID)입니다. 작업 내에서 고유해야 합니다. |
name |
아티팩트의 사람이 읽을 수 있는 이름입니다. |
description |
아티팩트에 대한 사람이 읽을 수 있는 설명입니다(선택사항). |
parts[] |
아티팩트의 콘텐츠입니다. |
metadata |
아티팩트에 포함된 선택적 메타데이터입니다. |
extensions[] |
이 아티팩트에 있거나 기여한 확장 프로그램의 URI입니다. |
AuthenticationInfo
푸시 알림에 사용되는 인증 세부정보를 정의합니다.
| 필드 | |
|---|---|
schemes[] |
지원되는 인증 스키마(예: 기본, 베어러 등) |
credentials |
선택적 사용자 인증 정보 |
AuthorizationCodeOAuthFlow
| 필드 | |
|---|---|
authorization_url |
이 흐름에 사용할 승인 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS 사용을 요구합니다. |
token_url |
이 흐름에 사용할 토큰 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
scopes |
OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY). |
CancelTaskRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
name |
취소할 작업의 리소스 이름입니다. 형식: tasks/{task_id} |
ClientCredentialsOAuthFlow
| 필드 | |
|---|---|
token_url |
이 흐름에 사용할 토큰 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
scopes |
OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY). |
CreateTaskPushNotificationConfigRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
parent |
필수 항목입니다. 이 구성의 상위 작업 리소스입니다. 형식: tasks/{task_id} |
config_id |
필수 항목입니다. 새 구성의 ID입니다. |
config |
필수 항목입니다. 만들 구성입니다. |
DataPart
DataPart는 구조화된 blob을 나타냅니다. 가장 일반적인 것은 JSON 페이로드입니다.
| 필드 | |
|---|---|
data |
|
DeleteTaskPushNotificationConfigRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
name |
삭제할 구성의 리소스 이름입니다. 형식: tasks/{task_id}/pushNotificationConfigs/{config_id} |
FilePart
FilePart는 파일을 제공할 수 있는 다양한 방법을 나타냅니다. 파일이 작은 경우 file_with_bytes를 통해 바이트를 직접 제공할 수 있습니다. 파일이 큰 경우 상담사는 file_with_uri 소스에서 직접 콘텐츠를 적절하게 읽어야 합니다.
| 필드 | |
|---|---|
mime_type |
|
name |
|
통합 필드
|
|
file_with_uri |
|
file_with_bytes |
|
GetAgentCardRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
GetTaskPushNotificationConfigRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
name |
가져올 구성의 리소스 이름입니다. 형식: tasks/{task_id}/pushNotificationConfigs/{config_id} |
GetTaskRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
name |
필수 항목입니다. 작업의 리소스 이름입니다. 형식: tasks/{task_id} |
history_length |
가져올 태스크 기록의 가장 최근 메시지 수입니다. |
HTTPAuthSecurityScheme
| 필드 | |
|---|---|
description |
이 보안 스키마에 대한 설명입니다. |
scheme |
RFC7235에 정의된 대로 Authorization 헤더에 사용할 HTTP 인증 스키마의 이름입니다. 사용된 값은 IANA 인증 스킴 레지스트리에 등록되어야 합니다(SHOULD). 이 값은 RFC7235에 정의된 대로 대소문자를 구분하지 않습니다. |
bearer_format |
클라이언트가 베어러 토큰의 형식을 식별하는 데 도움이 되는 힌트입니다. 베어러 토큰은 일반적으로 승인 서버에서 생성되므로 이 정보는 주로 문서화 목적으로 사용됩니다. |
ImplicitOAuthFlow
| 필드 | |
|---|---|
authorization_url |
이 흐름에 사용할 승인 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS 사용을 요구합니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
scopes |
OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY). |
ListTaskPushNotificationConfigRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
parent |
상위 작업 리소스입니다. 형식: tasks/{task_id} |
page_size |
AIP-158의 경우 이러한 필드가 있습니다. 일반적으로 사용되지 않음/필요하지 않음 반환할 최대 구성 수입니다. 지정하지 않으면 모든 구성이 반환됩니다. |
page_token |
이전 ListTaskPushNotificationConfigRequest 호출에서 수신된 페이지 토큰입니다. 후속 페이지를 검색하려면 이를 입력합니다. 페이지를 매길 때 |
ListTaskPushNotificationConfigResponse
| 필드 | |
|---|---|
configs[] |
푸시 알림 구성 목록입니다. |
next_page_token |
다음 페이지를 검색하기 위해 |
메시지
메시지는 클라이언트와 서버 간의 통신 단위입니다. 컨텍스트와 연결되며 선택적으로 작업과 연결됩니다. 서버는 컨텍스트 정의를 담당하므로 항상 메시지에 context_id를 제공해야 합니다. 클라이언트는 메시지를 연결할 컨텍스트를 알고 있는 경우 선택적으로 context_id를 제공할 수 있습니다. task_id의 경우도 마찬가지입니다. 단, 태스크가 생성되는지 여부와 task_id를 포함할지 여부는 서버에서 결정합니다.
| 필드 | |
|---|---|
message_id |
메시지의 고유 식별자 (예: UUID)입니다. 필수이며 메시지 작성자가 만듭니다. |
context_id |
메시지의 컨텍스트 ID입니다. 선택사항이며 설정된 경우 메시지가 지정된 컨텍스트와 연결됩니다. |
task_id |
메일의 작업 ID입니다. 선택사항이며 설정된 경우 메시지가 지정된 작업과 연결됩니다. |
role |
메시지의 역할입니다. |
content[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 콘텐츠는 메시지 콘텐츠의 컨테이너입니다. |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED 메시지와 함께 제공할 선택적 메타데이터입니다. |
extensions[] |
이 메시지에 있거나 이 메시지에 제공된 확장 프로그램의 URI입니다. |
MutualTlsSecurityScheme
| 필드 | |
|---|---|
description |
이 보안 스키마에 대한 설명입니다. |
OAuth2SecurityScheme
| 필드 | |
|---|---|
description |
이 보안 스키마에 대한 설명입니다. |
flows |
지원되는 흐름 유형의 구성 정보가 포함된 객체 |
oauth2_metadata_url |
oauth2 승인 서버 메타데이터 RFC8414의 URL입니다. TLS가 필요합니다. |
OAuthFlows
| 필드 | |
|---|---|
통합 필드
|
|
authorization_code |
|
client_credentials |
|
implicit |
|
password |
|
OpenIdConnectSecurityScheme
| 필드 | |
|---|---|
description |
이 보안 스키마에 대한 설명입니다. |
open_id_connect_url |
[[OpenID-Connect-Discovery]] 제공업체 메타데이터를 검색하는 데 사용되는 잘 알려진 URL입니다. |
파트
Part는 커뮤니케이션 콘텐츠 섹션의 컨테이너를 나타냅니다. 파트는 순수 텍스트, 일종의 파일 (이미지, 동영상 등) 또는 구조화된 데이터 blob (예: JSON)일 수 있습니다.
| 필드 | |
|---|---|
metadata |
이 부분과 연결된 선택적 메타데이터입니다. |
통합 필드
|
|
text |
|
file |
|
data |
|
PasswordOAuthFlow
| 필드 | |
|---|---|
token_url |
이 흐름에 사용할 토큰 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
scopes |
OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 맵입니다. 맵은 비어 있을 수 있습니다(MAY). |
PushNotificationConfig
작업 업데이트에 대한 푸시 알림을 설정하기 위한 구성입니다.
| 필드 | |
|---|---|
id |
이 푸시 알림의 고유 식별자 (예: UUID)입니다. |
url |
알림을 보낼 URL |
token |
이 작업/세션에 고유한 토큰 |
authentication |
알림과 함께 전송할 인증에 관한 정보 |
역할
| 열거형 | |
|---|---|
ROLE_UNSPECIFIED |
|
ROLE_USER |
USER 역할은 클라이언트에서 서버로의 통신을 나타냅니다. |
ROLE_AGENT |
AGENT 역할은 서버에서 클라이언트로의 통신을 나타냅니다. |
보안
| 필드 | |
|---|---|
schemes |
|
SecurityScheme
| 필드 | |
|---|---|
통합 필드
|
|
api_key_security_scheme |
|
http_auth_security_scheme |
|
oauth2_security_scheme |
|
open_id_connect_security_scheme |
|
mtls_security_scheme |
|
SendMessageConfiguration
메시지 보내기 요청의 구성입니다.
| 필드 | |
|---|---|
accepted_output_modes[] |
에이전트가 응답할 것으로 예상되는 출력 모드입니다. |
push_notification |
업데이트를 수신하는 데 사용할 수 있는 웹훅 구성 |
history_length |
기록에 포함할 최대 메시지 수입니다. 0이면 기록이 무제한입니다. |
blocking |
true인 경우 작업이 완료될 때까지 메시지가 차단됩니다. false인 경우 메시지는 차단되지 않으며 작업이 즉시 반환됩니다. 작업 업데이트를 확인하는 것은 호출자의 책임입니다. |
SendMessageRequest
///////// 요청 메시지 ///////////
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
request |
필수 항목입니다. 에이전트에게 보낼 메시지입니다. |
configuration |
전송 요청의 구성입니다. |
metadata |
요청의 선택적 메타데이터입니다. |
SendMessageResponse
////// 응답 메시지 ///////////
| 필드 | |
|---|---|
통합 필드
|
|
task |
|
msg |
|
StreamResponse
메시지의 스트림 응답입니다. 스트림은 다음 시퀀스 중 하나여야 합니다. 응답이 메시지인 경우 스트림에는 메시지가 하나만 포함되어야 하며 스트림이 닫혀야 합니다. 응답이 작업 수명 주기인 경우 첫 번째 응답은 Task 객체여야 하며 그 뒤에 0개 이상의 TaskStatusUpdateEvents 및 TaskArtifactUpdateEvents가 와야 합니다. 작업이 중단되거나 터미널 상태인 경우 스트림이 완료되어야 합니다. 이러한 조건을 충족하기 전에 종료되는 스트림은
| 필드 | |
|---|---|
통합 필드
|
|
task |
|
msg |
|
status_update |
|
artifact_update |
|
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED
| 필드 | |
|---|---|
list[] |
|
작업
작업은 A2A의 핵심 작업 단위입니다. 현재 상태가 있으며 작업의 결과가 생성되면 아티팩트에 저장됩니다. 작업에 여러 턴이 있는 경우 기록에 저장됩니다.
| 필드 | |
|---|---|
id |
새 작업에 대해 서버에서 생성한 작업의 고유 식별자 (예: UUID)입니다. |
context_id |
상호작용 (작업 및 메시지)의 컨텍스트 모음의 고유 식별자 (예: UUID)입니다. A2A 서버에 의해 생성됩니다. |
status |
상태와 메시지를 포함한 태스크의 현재 상태입니다. |
artifacts[] |
작업의 출력 아티팩트 집합입니다. |
history[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 작업의 상호작용 기록입니다. |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED 작업에 관한 맞춤 메타데이터를 저장하는 키/값 객체입니다. |
TaskArtifactUpdateEvent
TaskArtifactUpdateEvent는 아티팩트가 생성된 작업 델타를 나타냅니다.
| 필드 | |
|---|---|
task_id |
이 아티팩트의 작업 ID |
context_id |
이 작업이 속한 컨텍스트의 ID입니다. |
artifact |
아티팩트 자체 |
append |
이 값이 이전에 생성된 값에 추가되어야 하는지 여부 |
last_chunk |
아티팩트의 마지막 부분을 나타내는지 여부 |
metadata |
아티팩트 업데이트와 연결된 선택적 메타데이터입니다. |
TaskPushNotificationConfig
| 필드 | |
|---|---|
name |
구성의 리소스 이름입니다. 형식: tasks/{task_id}/pushNotificationConfigs/{config_id} |
push_notification_config |
푸시 알림 구성 세부정보입니다. |
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 |
이 작업의 현재 상태 |
update |
상태와 연결된 메시지입니다. |
timestamp |
상태가 기록된 시점의 타임스탬프입니다. 예: '2023-10-27T10:00:00Z' |
TaskStatusUpdateEvent
TaskStatusUpdateEvent는 작업이 변경되었음을 나타내는 작업의 델타입니다.
| 필드 | |
|---|---|
task_id |
변경된 작업의 ID |
context_id |
작업이 속한 컨텍스트의 ID |
status |
작업의 새 상태입니다. |
final |
이 작업에 대해 예상되는 마지막 상태 업데이트인지 여부입니다. |
metadata |
작업 업데이트와 연결할 선택적 메타데이터입니다. |
TaskSubscriptionRequest
| 필드 | |
|---|---|
tenant |
선택적 테넌트이며 경로 매개변수로 제공됩니다. 실험적이며 1.0 출시를 위해 변경될 수 있습니다. |
name |
구독할 작업의 리소스 이름입니다. 형식: tasks/{task_id} |