색인
A2AService(인터페이스)APIKeySecurityScheme(메시지)AgentCapabilities(메시지)AgentCard(메시지)AgentCardSignature(메시지)AgentExtension(메시지)AgentInterface(메시지)AgentProvider(메시지)AgentSkill(메시지)Artifact(메시지)AuthenticationInfo(메시지)AuthorizationCodeOAuthFlow(메시지)CancelTaskRequest(메시지)ClientCredentialsOAuthFlow(메시지)DeleteTaskPushNotificationConfigRequest(메시지)DeviceCodeOAuthFlow(메시지)GetExtendedAgentCardRequest(메시지)GetTaskPushNotificationConfigRequest(메시지)GetTaskRequest(메시지)HTTPAuthSecurityScheme(메시지)ImplicitOAuthFlow(메시지)ListTaskPushNotificationConfigsRequest(메시지)ListTaskPushNotificationConfigsResponse(메시지)ListTasksRequest(메시지)ListTasksResponse(메시지)Message(메시지)MutualTlsSecurityScheme(메시지)OAuth2SecurityScheme(메시지)OAuthFlows(메시지)OpenIdConnectSecurityScheme(메시지)Part(메시지)PasswordOAuthFlow(메시지)Role(열거형)SecurityRequirement(메시지)SecurityScheme(메시지)SendMessageConfiguration(메시지)SendMessageRequest(메시지)SendMessageResponse(메시지)StreamResponse(메시지)StringList(메시지)SubscribeToTaskRequest(메시지)Task(메시지)TaskArtifactUpdateEvent(메시지)TaskPushNotificationConfig(메시지)TaskState(열거형)TaskStatus(메시지)TaskStatusUpdateEvent(메시지)
A2AService
A2A 프로토콜을 사용하여 에이전트와 상호작용하는 작업을 제공합니다.
| CancelTask |
|---|
|
진행 중인 작업을 취소합니다.
|
| CreateTaskPushNotificationConfig |
|---|
|
작업의 푸시 알림 구성을 만듭니다.
|
| DeleteTaskPushNotificationConfig |
|---|
|
작업의 푸시 알림 구성을 삭제합니다.
|
| GetExtendedAgentCard |
|---|
|
인증된 에이전트의 확장된 에이전트 카드를 가져옵니다.
|
| GetTask |
|---|
|
작업의 최신 상태를 가져옵니다.
|
| GetTaskPushNotificationConfig |
|---|
|
작업의 푸시 알림 구성을 가져옵니다.
|
| ListTaskPushNotificationConfigs |
|---|
|
작업에 대해 구성된 푸시 알림 목록을 가져옵니다.
|
| ListTasks |
|---|
|
지정된 필터와 일치하는 작업을 나열합니다.
|
| SendMessage |
|---|
|
상담사에게 메시지를 보냅니다.
|
| SendStreamingMessage |
|---|
|
상담사에게 스트리밍 메시지를 전송하여 실시간 상호작용과 상태 업데이트를 지원합니다. 스트리밍 버전의
|
| SubscribeToTask |
|---|
|
종료 상태가 아닌 작업의 작업 업데이트를 구독합니다. 작업이 이미 종료 상태 (완료, 실패, 취소, 거부됨)인 경우
|
APIKeySecurityScheme
API 키를 사용하여 보안 스키마를 정의합니다.
| 필드 | |
|---|---|
description |
보안 스킴에 대한 설명(선택사항)입니다. |
location |
필수 항목입니다. API 키의 위치입니다. 유효한 값은 'query', 'header' 또는 'cookie'입니다. |
name |
필수 항목입니다. 사용할 헤더, 쿼리 또는 쿠키 매개변수의 이름입니다. |
AgentCapabilities
에이전트가 지원하는 선택적 기능을 정의합니다.
| 필드 | |
|---|---|
extensions[] |
에이전트에서 지원하는 프로토콜 확장 프로그램 목록입니다. |
streaming |
에이전트가 스트리밍 응답을 지원하는지 여부를 나타냅니다. |
push_notifications |
에이전트가 비동기 작업 업데이트에 대한 푸시 알림 전송을 지원하는지 나타냅니다. |
extended_agent_card |
인증 시 상담사가 확장된 상담사 카드를 제공하는 것을 지원하는지 여부를 나타냅니다. |
AgentCard
에이전트의 자체 설명 매니페스트입니다. 여기에는 에이전트의 ID, 기능, 기술, 지원되는 커뮤니케이션 방법, 보안 요구사항 등 필수 메타데이터가 포함됩니다. 다음 ID: 20
| 필드 | |
|---|---|
name |
필수 항목입니다. 인간이 읽을 수 있는 에이전트 이름입니다. 예: '레시피 에이전트' |
description |
필수 항목입니다. 사용자와 다른 에이전트가 목적을 이해하는 데 도움이 되는 사람이 읽을 수 있는 에이전트 설명입니다. 예: '사용자가 레시피와 요리를 할 수 있도록 지원하는 에이전트' |
supported_interfaces[] |
필수 항목입니다. 지원되는 인터페이스의 순서가 지정된 목록입니다. 첫 번째 항목이 선호됩니다. |
provider |
에이전트의 서비스 제공업체입니다. |
version |
필수 항목입니다. 에이전트 버전입니다. 예: '1.0.0' |
capabilities |
필수 항목입니다. 에이전트에서 지원하는 A2A 기능 집합입니다. |
security_schemes |
이 에이전트로 인증하는 데 사용되는 보안 스킴 세부정보입니다. |
security_requirements[] |
상담사에게 문의하기 위한 보안 요구사항입니다. |
default_input_modes[] |
필수사항입니다. protolint:enable REPEATED_FIELD_NAMES_PLURALIZED 에이전트가 모든 스킬에서 지원하는 상호작용 모드 집합입니다. 이는 스킬별로 재정의할 수 있습니다. 미디어 유형으로 정의됩니다. |
default_output_modes[] |
필수 항목입니다. 이 에이전트에서 출력으로 지원되는 미디어 유형입니다. |
skills[] |
필수 항목입니다. 스킬은 상담사의 능력을 나타냅니다. 주로 설명적인 개념이지만 에이전트가 성공할 가능성이 높은 더 집중된 행동을 나타냅니다. |
signatures[] |
이 |
documentation_url |
에이전트에 관한 추가 문서를 제공하는 URL입니다. |
icon_url |
선택사항입니다. 에이전트 아이콘의 URL입니다. |
AgentCardSignature
AgentCardSignature는 AgentCard의 JWS 서명을 나타냅니다. 이는 RFC 7515 JSON 웹 서명 (JWS)의 JSON 형식을 따릅니다.
| 필드 | |
|---|---|
protected |
(필수 항목) 필수 항목입니다. 서명의 보호된 JWS 헤더입니다. 항상 base64url로 인코딩된 JSON 객체입니다. |
signature |
필수 항목입니다. 계산된 서명으로, base64url로 인코딩됩니다. |
header |
보호되지 않은 JWS 헤더 값입니다. |
AgentExtension
에이전트에서 지원하는 프로토콜 확장 프로그램의 선언입니다.
| 필드 | |
|---|---|
uri |
확장 프로그램을 식별하는 고유 URI입니다. |
description |
이 에이전트가 확장 프로그램을 사용하는 방식에 대한 사람이 읽을 수 있는 설명입니다. |
required |
true인 경우 클라이언트는 확장 프로그램의 요구사항을 이해하고 준수해야 합니다. |
params |
선택사항입니다. 확장 프로그램별 구성 매개변수입니다. |
AgentInterface
에이전트와 상호작용하기 위한 대상 URL, 전송, 프로토콜 버전의 조합을 선언합니다. 이를 통해 에이전트는 여러 프로토콜 바인딩 메커니즘을 통해 동일한 기능을 노출할 수 있습니다.
| 필드 | |
|---|---|
url |
필수 항목입니다. 이 인터페이스를 사용할 수 있는 URL입니다. 프로덕션에서는 유효한 절대 HTTPS URL이어야 합니다. 예: 'https://api.example.com/a2a/v1', 'https://grpc.example.com/a2a' |
protocol_binding |
필수 항목입니다. 이 URL에서 지원되는 프로토콜 바인딩입니다. 이는 다른 프로토콜 바인딩을 위해 쉽게 확장할 수 있는 개방형 양식 문자열입니다. 공식적으로 지원되는 핵심 모델은 |
tenant |
선택사항입니다. 단일 A2A 엔드포인트 뒤에 여러 에이전트가 제공될 때 요청을 특정 에이전트 또는 테넌트로 라우팅하는 데 사용되는 불투명 문자열입니다. 설정된 경우 클라이언트는 이 인터페이스로 전송되는 모든 요청 메시지의 |
protocol_version |
필수 항목입니다. 이 인터페이스가 노출하는 A2A 프로토콜의 버전입니다. 지원되는 최신 마이너 버전을 메이저 버전별로 사용합니다. 예: '0.3', '1.0' |
AgentProvider
에이전트의 서비스 제공업체를 나타냅니다.
| 필드 | |
|---|---|
url |
필수 항목입니다. 에이전트 제공업체의 웹사이트 또는 관련 문서의 URL입니다. 예: 'https://ai.google.dev' |
organization |
필수 항목입니다. 에이전트 제공업체 조직의 이름입니다. 예: 'Google' |
AgentSkill
에이전트가 실행할 수 있는 고유한 기능 또는 기능을 나타냅니다.
| 필드 | |
|---|---|
id |
필수 항목입니다. 상담사의 기술에 대한 고유 식별자입니다. |
name |
필수 항목입니다. 인간이 읽을 수 있는 스킬 이름입니다. |
description |
필수 항목입니다. 스킬에 대한 자세한 설명입니다. |
tags[] |
필수 항목입니다. 스킬의 기능을 설명하는 키워드 집합입니다. |
examples[] |
이 스킬이 처리할 수 있는 프롬프트 또는 시나리오의 예시입니다. |
input_modes[] |
이 스킬에 지원되는 입력 미디어 유형의 집합으로, 에이전트의 기본값을 재정의합니다. |
output_modes[] |
이 스킬에서 지원되는 출력 미디어 유형의 집합으로, 에이전트의 기본값을 재정의합니다. |
security_requirements[] |
이 스킬에 필요한 보안 스키마입니다. |
아티팩트
아티팩트는 작업 출력을 나타냅니다.
| 필드 | |
|---|---|
artifact_id |
필수 항목입니다. 아티팩트의 고유 식별자 (예: UUID)입니다. 작업 내에서 고유해야 합니다. |
name |
아티팩트의 사람이 읽을 수 있는 이름입니다. |
description |
선택사항입니다. 아티팩트에 대한 사람이 읽을 수 있는 설명입니다. |
parts[] |
필수 항목입니다. 아티팩트의 콘텐츠입니다. 하나 이상의 파트를 포함해야 합니다. |
metadata |
선택사항입니다. 아티팩트에 포함된 메타데이터입니다. |
extensions[] |
이 아티팩트에 있거나 기여한 확장 프로그램의 URI입니다. |
AuthenticationInfo
푸시 알림에 사용되는 인증 세부정보를 정의합니다.
| 필드 | |
|---|---|
scheme |
필수 항목입니다. IANA 레지스트리의 HTTP 인증 스키마입니다. 예: |
credentials |
푸시 알림 사용자 인증 정보입니다. 형식은 스킴 (예: Bearer의 토큰)에 따라 다릅니다. |
AuthorizationCodeOAuthFlow
OAuth 2.0 승인 코드 플로우의 구성 세부정보를 정의합니다.
| 필드 | |
|---|---|
authorization_url |
필수 항목입니다. 이 흐름에 사용할 승인 URL입니다. |
token_url |
필수 항목입니다. 이 흐름에 사용할 토큰 URL입니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. |
scopes |
필수 항목입니다. OAuth2 보안 체계에 사용할 수 있는 범위입니다. |
pkce_required |
이 흐름에 PKCE (RFC 7636)가 필요한지 여부를 나타냅니다. PKCE는 항상 공개 클라이언트에 사용해야 하며 모든 클라이언트에 권장됩니다. |
CancelTaskRequest
CancelTask 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
id |
필수 항목입니다. 취소할 작업의 리소스 ID입니다. |
metadata |
추가 컨텍스트 또는 매개변수를 전달하기 위한 유연한 키-값 맵입니다. |
ClientCredentialsOAuthFlow
OAuth 2.0 클라이언트 사용자 인증 정보 흐름의 구성 세부정보를 정의합니다.
| 필드 | |
|---|---|
token_url |
필수 항목입니다. 이 흐름에 사용할 토큰 URL입니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. |
scopes |
필수 항목입니다. OAuth2 보안 체계에 사용할 수 있는 범위입니다. |
DeleteTaskPushNotificationConfigRequest
DeleteTaskPushNotificationConfig 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
task_id |
필수 항목입니다. 상위 작업 리소스 ID입니다. |
id |
필수 항목입니다. 삭제할 구성의 리소스 ID입니다. |
DeviceCodeOAuthFlow
OAuth 2.0 기기 코드 흐름 (RFC 8628)의 구성 세부정보를 정의합니다. 이 흐름은 IoT 기기, 사용자가 별도의 기기에서 인증하는 CLI 도구와 같이 입력이 제한된 기기를 위해 설계되었습니다.
| 필드 | |
|---|---|
device_authorization_url |
필수 항목입니다. 기기 승인 엔드포인트 URL입니다. |
token_url |
필수 항목입니다. 이 흐름에 사용할 토큰 URL입니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. |
scopes |
필수 항목입니다. OAuth2 보안 체계에 사용할 수 있는 범위입니다. |
GetExtendedAgentCardRequest
GetExtendedAgentCard 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
GetTaskPushNotificationConfigRequest
GetTaskPushNotificationConfig 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
task_id |
필수 항목입니다. 상위 작업 리소스 ID입니다. |
id |
필수 항목입니다. 가져올 구성의 리소스 ID입니다. |
GetTaskRequest
GetTask 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
id |
필수 항목입니다. 가져올 작업의 리소스 ID입니다. |
history_length |
가져올 작업 기록의 가장 최근 메시지의 최대 개수입니다. 설정되지 않은 값은 클라이언트가 제한을 적용하지 않음을 의미합니다. 값이 0이면 메시지를 포함하지 않도록 요청하는 것입니다. 서버는 제공된 값보다 많은 메시지를 반환하면 안 되지만(MUST NOT) 더 낮은 한도를 적용할 수는 있습니다(MAY). |
HTTPAuthSecurityScheme
HTTP 인증을 사용하여 보안 스키마를 정의합니다.
| 필드 | |
|---|---|
description |
보안 스킴에 대한 설명(선택사항)입니다. |
scheme |
필수 항목입니다. RFC7235에 정의된 대로 Authorization 헤더에 사용될 HTTP 인증 스키마의 이름입니다 (예: 'Bearer'). 이 값은 IANA 인증 체계 레지스트리에 등록되어야 합니다. |
bearer_format |
보유자 토큰의 형식을 식별하기 위한 클라이언트 힌트입니다 (예: 'JWT'). 주로 문서화 목적으로 사용됩니다. |
ImplicitOAuthFlow
지원 중단됨: 대신 승인 코드 + PKCE를 사용하세요.
| 필드 | |
|---|---|
authorization_url |
이 흐름에 사용할 승인 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS 사용이 필요합니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
scopes |
OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 매핑입니다. 맵은 비어 있을 수 있습니다(MAY). |
ListTaskPushNotificationConfigsRequest
ListTaskPushNotificationConfigs 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
task_id |
필수 항목입니다. 상위 작업 리소스 ID입니다. |
page_size |
반환할 최대 구성 수입니다. |
page_token |
이전 |
ListTaskPushNotificationConfigsResponse
ListTaskPushNotificationConfigs 메서드의 성공적인 응답을 나타냅니다.
| 필드 | |
|---|---|
configs[] |
푸시 알림 구성 목록입니다. |
next_page_token |
결과의 다음 페이지를 검색하는 토큰으로, 목록에 더 이상 결과가 없으면 비어 있습니다. |
ListTasksRequest
선택적 필터링 기준을 사용하여 작업을 나열하는 매개변수입니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
context_id |
컨텍스트 ID로 작업을 필터링하여 특정 대화 또는 세션의 작업을 가져옵니다. |
status |
현재 상태별로 작업을 필터링합니다. |
page_token |
이전 |
status_timestamp_after |
ISO 8601 형식 (예: '2023-10-27T10:00:00Z')으로 제공된 타임스탬프 이후에 상태가 업데이트된 작업을 필터링합니다. 상태 타임스탬프 시간이 이 값보다 크거나 같은 작업만 반환됩니다. |
page_size |
반환할 최대 작업 수입니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 최대 50개의 작업이 반환됩니다. 최솟값은 1입니다. 최댓값은 100입니다. |
history_length |
각 작업의 기록에 포함할 최대 메시지 수입니다. |
include_artifacts |
반환된 작업에 아티팩트를 포함할지 여부입니다. 페이로드 크기를 줄이기 위해 기본값은 false입니다. |
ListTasksResponse
작업 배열과 페이지로 나누기 정보가 포함된 ListTasks 메서드의 결과 객체입니다.
| 필드 | |
|---|---|
tasks[] |
필수 항목입니다. 지정된 기준과 일치하는 작업의 배열입니다. |
next_page_token |
필수 항목입니다. 결과의 다음 페이지를 검색하는 토큰으로, 목록에 더 이상 결과가 없으면 비어 있습니다. |
page_size |
필수 항목입니다. 이 응답에 사용된 페이지 크기입니다. |
total_size |
필수 항목입니다. 사용 가능한 총 작업 수 (페이지로 나누기 전)입니다. |
메시지
Message는 클라이언트와 서버 간의 통신 단위입니다. 컨텍스트 또는 작업과 연결될 수 있습니다. 서버 메시지의 경우 context_id가 제공되어야 하며 task_id는 작업이 생성된 경우에만 제공됩니다. 클라이언트 메시지의 경우 두 필드 모두 선택사항입니다. 단, 두 필드가 모두 제공되는 경우 일치해야 합니다 (context_id는 작업에 설정된 필드여야 함). task_id만 제공되면 서버에서 이를 기반으로 context_id를 추론합니다.
| 필드 | |
|---|---|
message_id |
필수 항목입니다. 메시지의 고유 식별자 (예: UUID)입니다. 메시지 작성자가 만듭니다. |
context_id |
선택사항입니다. 메시지의 컨텍스트 ID입니다. 설정된 경우 메시지는 지정된 컨텍스트와 연결됩니다. |
task_id |
선택사항입니다. 메시지의 작업 ID입니다. 설정된 경우 메시지는 지정된 작업과 연결됩니다. |
role |
필수 항목입니다. 메시지 발신자를 식별합니다. |
parts[] |
필수 항목입니다. Parts는 메시지 콘텐츠의 컨테이너입니다. |
metadata |
선택사항입니다. 메시지와 함께 제공할 메타데이터입니다. |
extensions[] |
이 메시지에 있거나 이 메시지에 제공된 확장 프로그램의 URI입니다. |
reference_task_ids[] |
이 메시지가 추가 컨텍스트를 위해 참조하는 작업 ID 목록입니다. |
MutualTlsSecurityScheme
mTLS 인증을 사용하여 보안 스키마를 정의합니다.
| 필드 | |
|---|---|
description |
보안 스킴에 대한 설명(선택사항)입니다. |
OAuth2SecurityScheme
OAuth 2.0을 사용하여 보안 스키마를 정의합니다.
| 필드 | |
|---|---|
description |
보안 스킴에 대한 설명(선택사항)입니다. |
flows |
필수 항목입니다. 지원되는 OAuth 2.0 흐름의 구성 정보가 포함된 객체입니다. |
oauth2_metadata_url |
OAuth2 승인 서버 메타데이터 RFC 8414의 URL입니다. TLS가 필요합니다. |
OAuthFlows
지원되는 OAuth 2.0 흐름의 구성을 정의합니다.
| 필드 | |
|---|---|
통합 필드
|
|
authorization_code |
OAuth 승인 코드 플로우의 구성입니다. |
client_credentials |
OAuth 클라이언트 사용자 인증 정보 흐름의 구성입니다. |
implicit |
지원 중단됨: 대신 승인 코드 + PKCE를 사용하세요. |
password |
지원 중단됨: 승인 코드 + PKCE 또는 기기 코드를 사용하세요. |
device_code |
OAuth 기기 코드 흐름의 구성입니다. |
OpenIdConnectSecurityScheme
OpenID Connect를 사용하는 보안 스키마를 정의합니다.
| 필드 | |
|---|---|
description |
보안 스킴에 대한 설명(선택사항)입니다. |
open_id_connect_url |
필수 항목입니다. OIDC 제공업체의 메타데이터에 대한 OpenID Connect Discovery URL입니다. |
파트
Part는 커뮤니케이션 콘텐츠 섹션의 컨테이너를 나타냅니다. 파트는 순수 텍스트, 일종의 파일 (이미지, 동영상 등) 또는 구조화된 데이터 blob (예: JSON)일 수 있습니다.
| 필드 | |
|---|---|
metadata |
선택사항. 이 부분과 연결된 메타데이터입니다. |
filename |
파일의 선택적 |
media_type |
파트 콘텐츠의 |
통합 필드
|
|
text |
|
raw |
파일의 |
url |
파일 콘텐츠를 가리키는 |
data |
JSON 값 (객체, 배열, 문자열, 숫자, 불리언 또는 null)로 된 임의의 구조화된 |
PasswordOAuthFlow
지원 중단됨: 승인 코드 + PKCE 또는 기기 코드를 사용하세요.
| 필드 | |
|---|---|
token_url |
이 흐름에 사용할 토큰 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
refresh_url |
갱신 토큰을 획득하는 데 사용되는 URL입니다. URL 형식이어야 합니다(MUST). OAuth2 표준에서는 TLS를 사용해야 합니다. |
scopes |
OAuth2 보안 체계에 사용할 수 있는 범위입니다. 범위 이름과 범위의 간단한 설명 간의 매핑입니다. 맵은 비어 있을 수 있습니다(MAY). |
역할
A2A 프로토콜 통신에서 메시지의 발신자를 정의합니다.
| 열거형 | |
|---|---|
ROLE_UNSPECIFIED |
역할이 지정되지 않았습니다. |
ROLE_USER |
메시지는 클라이언트에서 서버로 전송됩니다. |
ROLE_AGENT |
메시지는 서버에서 클라이언트로 전송됩니다. |
SecurityRequirement
에이전트의 보안 요구사항을 정의합니다.
| 필드 | |
|---|---|
schemes |
보안 스키마에서 필수 범위로 매핑되는 맵입니다. |
SecurityScheme
에이전트의 엔드포인트를 보호하는 데 사용할 수 있는 보안 스키마를 정의합니다. OpenAPI 3.2 보안 스킴 객체를 기반으로 하는 차별화된 유니온 유형입니다. https://spec.openapis.org/oas/v3.2.0.html#security-scheme-object을 참고하세요.
| 필드 | |
|---|---|
통합 필드
|
|
api_key_security_scheme |
API 키 기반 인증 |
http_auth_security_scheme |
HTTP 인증 (기본, 베어러 등) |
oauth2_security_scheme |
OAuth 2.0 인증입니다. |
open_id_connect_security_scheme |
OpenID Connect 인증입니다. |
mtls_security_scheme |
상호 TLS 인증 |
SendMessageConfiguration
메시지 요청 보내기 구성입니다.
| 필드 | |
|---|---|
accepted_output_modes[] |
클라이언트가 응답 부분에 대해 수락할 준비가 된 미디어 유형 목록입니다. 상담사는 이를 사용하여 출력을 맞춤설정해야 합니다(SHOULD). |
task_push_notification_config |
작업 업데이트에 대한 푸시 알림을 전송하는 에이전트의 구성입니다. |
return_immediately |
|
history_length |
응답에서 가져올 태스크 기록의 최신 메시지 최대 수입니다. 설정되지 않은 값은 클라이언트가 제한을 적용하지 않음을 의미합니다. 값이 0이면 메시지를 포함하지 않도록 요청하는 것입니다. 서버는 제공된 값보다 많은 메시지를 반환하면 안 되지만(MUST NOT) 더 낮은 한도를 적용할 수는 있습니다(MAY). |
SendMessageRequest
SendMessage 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
message |
필수 항목입니다. 에이전트에게 보낼 메시지입니다. |
configuration |
전송 요청의 구성입니다. |
metadata |
추가 컨텍스트 또는 매개변수를 전달하기 위한 유연한 키-값 맵입니다. |
SendMessageResponse
SendMessage 메서드의 응답을 나타냅니다.
| 필드 | |
|---|---|
통합 필드 payload. 대답의 페이로드입니다. payload은 다음 중 하나여야 합니다. |
|
task |
메시지로 생성되거나 업데이트된 작업입니다. |
message |
상담사가 보낸 메시지입니다. |
StreamResponse
스트리밍 작업에서 다양한 유형의 응답 데이터를 캡슐화하는 데 사용되는 래퍼 객체입니다.
| 필드 | |
|---|---|
통합 필드 payload. 스트림 응답의 페이로드입니다. payload은 다음 중 하나여야 합니다. |
|
task |
작업의 현재 상태가 포함된 Task 객체입니다. |
message |
에이전트의 메시지가 포함된 Message 객체입니다. |
status_update |
작업 상태 업데이트를 나타내는 이벤트입니다. |
artifact_update |
작업 아티팩트 업데이트를 나타내는 이벤트입니다. |
StringList
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED 문자열 목록입니다.
| 필드 | |
|---|---|
list[] |
개별 문자열 값입니다. |
SubscribeToTaskRequest
SubscribeToTask 메서드의 요청을 나타냅니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
id |
필수 항목입니다. 구독할 작업의 리소스 ID입니다. |
작업
Task는 A2A의 핵심 작업 단위입니다. 현재 상태가 있으며 작업의 결과가 생성되면 아티팩트에 저장됩니다. 작업에 여러 턴이 있는 경우 기록에 저장됩니다.
| 필드 | |
|---|---|
id |
필수 항목입니다. 새 작업에 대해 서버에서 생성한 작업의 고유 식별자 (예: UUID)입니다. |
context_id |
상호작용 (작업 및 메시지)의 컨텍스트 모음의 고유 식별자 (예: UUID)입니다. |
status |
필수 항목입니다. |
artifacts[] |
|
history[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED 작업에 관한 맞춤 메타데이터를 저장하는 키/값 객체입니다. |
TaskArtifactUpdateEvent
아티팩트가 생성된 작업 델타입니다.
| 필드 | |
|---|---|
task_id |
필수 항목입니다. 이 아티팩트의 작업 ID입니다. |
context_id |
필수 항목입니다. 이 작업이 속한 컨텍스트의 ID입니다. |
artifact |
필수 항목입니다. 생성되거나 업데이트된 아티팩트입니다. |
append |
true인 경우 이 아티팩트의 콘텐츠가 ID가 동일한 이전에 전송된 아티팩트에 추가되어야 합니다. |
last_chunk |
true인 경우 아티팩트의 마지막 청크입니다. |
metadata |
선택사항입니다. 아티팩트 업데이트와 연결된 메타데이터입니다. |
TaskPushNotificationConfig
푸시 알림 구성을 특정 작업과 연결하는 컨테이너입니다.
| 필드 | |
|---|---|
tenant |
선택사항입니다. 불투명 라우팅 식별자입니다. 이 필드가 설정된 경우 에이전트 카드에서 선택한 |
id |
푸시 알림 구성 세부정보입니다. 이 푸시 알림 구성의 고유 식별자 (예: UUID)입니다. |
task_id |
이 구성과 연결된 작업의 ID입니다. |
url |
필수 항목입니다. 알림을 전송해야 하는 URL입니다. |
token |
이 작업 또는 세션에 고유한 토큰입니다. |
authentication |
알림을 전송하는 데 필요한 인증 정보입니다. |
TaskState
Task의 가능한 수명 주기 상태를 정의합니다.
| 열거형 | |
|---|---|
TASK_STATE_UNSPECIFIED |
작업이 알 수 없거나 불확실한 상태입니다. |
TASK_STATE_SUBMITTED |
작업이 제출되고 확인되었음을 나타냅니다. |
TASK_STATE_WORKING |
작업이 에이전트에 의해 적극적으로 처리되고 있음을 나타냅니다. |
TASK_STATE_COMPLETED |
작업이 성공적으로 완료되었음을 나타냅니다. 이는 터미널 상태입니다. |
TASK_STATE_FAILED |
작업이 오류와 함께 완료되었음을 나타냅니다. 이는 터미널 상태입니다. |
TASK_STATE_CANCELED |
작업이 완료되기 전에 취소되었음을 나타냅니다. 이는 터미널 상태입니다. |
TASK_STATE_INPUT_REQUIRED |
계속 진행하려면 에이전트에 추가 사용자 입력이 필요함을 나타냅니다. 이는 인터럽트된 상태입니다. |
TASK_STATE_REJECTED |
에이전트가 작업을 실행하지 않기로 결정했음을 나타냅니다. 이 작업은 초기 작업 생성 중에 수행하거나 에이전트가 작업을 진행할 수 없거나 진행하지 않기로 결정한 후에 수행할 수 있습니다. 이는 터미널 상태입니다. |
TASK_STATE_AUTH_REQUIRED |
계속 진행하려면 인증이 필요함을 나타냅니다. 이는 인터럽트된 상태입니다. |
TaskStatus
작업 상태의 컨테이너
| 필드 | |
|---|---|
state |
필수 항목입니다. 이 작업의 현재 상태입니다. |
message |
상태와 연결된 메시지입니다. |
timestamp |
상태가 기록된 ISO 8601 타임스탬프입니다. 예: '2023-10-27T10:00:00Z' |
TaskStatusUpdateEvent
작업 상태의 변경사항을 클라이언트에 알리기 위해 에이전트가 전송한 이벤트입니다.
| 필드 | |
|---|---|
task_id |
필수 항목입니다. 변경된 작업의 ID입니다. |
context_id |
필수 항목입니다. 작업이 속한 컨텍스트의 ID입니다. |
status |
필수 항목입니다. 작업의 새 상태입니다. |
metadata |
선택사항입니다. 작업 업데이트와 연결된 메타데이터입니다. |