Package a2a.v1

אינדקס

A2AService

‫A2AService מגדיר את גרסת ה-gRPC של פרוטוקול A2A. הפורמט הזה שונה מעט מגרסת JSONRPC כדי להתאים טוב יותר ל-AIP-127, במקרים הרלוונטיים. שמות העצם הם AgentCard, ‏ Message, ‏ Task ו-TaskPushNotificationConfig.

  • הודעות הן לא משאב סטנדרטי, ולכן אין ממשק get/delete/update/list, אלא רק שיטות מותאמות אישית של שליחה וסטרימינג.
  • למשימות יש ממשק get ושיטות מותאמות אישית לביטול ולמינוי.
  • ‫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)

מחיקת הגדרות של התראות Push למשימה.

היקפי הרשאות

נדרש היקף ההרשאות הבא של 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

השם של הפרמטר של הכותרת, השאילתה או קובץ ה-Cookie שבו רוצים להשתמש.

AgentCapabilities

הגדרת קבוצת התכונות של A2A שהסוכן תומך בה

שדות
streaming

bool

אם הסוכן יתמוך בתשובות סטרימינג

push_notifications

bool

אם הסוכן יכול לשלוח התראות פוש ל-webhook של הלקוחות

extensions[]

AgentExtension

תוספים שנתמכים על ידי הסוכן.

AgentCard

הכרטיס של הסוכן כולל מידע חשוב: – פרטים כלליים (גרסה, שם, תיאור, שימושים) – מיומנויות; קבוצה של פעולות או פתרונות שהסוכן יכול לבצע – סוגי תוכן או מודאליות שנתמכים כברירת מחדל על ידי הסוכן. ‫- דרישות אימות. המספר הבא: 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 דרישות אבטחה ליצירת קשר עם הסוכן. אפשר לראות את הרשימה הזו כרשימה של תנאי OR של תנאי AND. כל אובייקט ברשימה מתאר קבוצה אפשרית של דרישות אבטחה שצריכות להיות בבקשה. כך אפשר לציין, לדוגמה, ש"מבצעי הקריאות חייבים להשתמש ב-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

חתימות אינטרנט מבוססות JSON שחושבו עבור כרטיס הנציג הזה.

icon_url

string

כתובת URL אופציונלית לסמל של הסוכן.

AgentCardSignature

‫AgentCardSignature מייצג חתימת JWS של AgentCard. הפורמט הזה תואם לפורמט JSON של חתימת רשת מבוססת JSON‏ (JWS) של RFC 7515.

שדות
protected

string

חובה. כותרת ה-JWS המוגנת של החתימה. זה תמיד אובייקט JSON בקידוד base64url. חובה.

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 Security schemes necessary for the agent to leverage this skill. כמו ב-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

סכימות אימות נתמכות – לדוגמה, Basic, ‏ Bearer וכו'

credentials

string

פרטי כניסה אופציונליים

AuthorizationCodeOAuthFlow

שדות
authorization_url

string

כתובת ה-URL לאישור שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. תקן OAuth2 מחייב שימוש ב-TLS

token_url

string

כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS.

refresh_url

string

כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS.

scopes

map<string, string>

היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה.

CancelTaskRequest

שדות
tenant

string

דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0.

name

string

שם המשאב של המשימה לביטול. פורמט: tasks/{task_id}

ClientCredentialsOAuthFlow

שדות
token_url

string

כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS.

refresh_url

string

כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS.

scopes

map<string, string>

היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה.

CreateTaskPushNotificationConfigRequest

שדות
tenant

string

דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0.

parent

string

חובה. מקור המידע של משימת ההורה להגדרה הזו. פורמט: tasks/{task_id}

config_id

string

חובה. המזהה של ההגדרה החדשה.

config

TaskPushNotificationConfig

חובה. ההגדרה שרוצים ליצור.

DataPart

‫DataPart מייצג בלוב מובנה. בדרך כלל מדובר במטען ייעודי (payload) של 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

השם של סכמת האימות של HTTP שבה יש להשתמש בכותרת ההרשאה, כפי שמוגדר ב-RFC7235. הערכים שבהם משתמשים צריכים להיות רשומים במאגר של IANA Authentication Scheme. הערך לא תלוי רישיות, כפי שמוגדר ב-RFC7235.

bearer_format

string

רמז ללקוח שמציין את הפורמט של אסימון ה-Bearer. אסימוני Bearer נוצרים בדרך כלל על ידי שרת הרשאות, ולכן המידע הזה מיועד בעיקר למטרות תיעוד.

ImplicitOAuthFlow

שדות
authorization_url

string

כתובת ה-URL לאישור שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. תקן OAuth2 מחייב שימוש ב-TLS

refresh_url

string

כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS.

scopes

map<string, string>

היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה.

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

מזהה ההקשר של ההודעה. השדה הזה הוא אופציונלי, ואם הוא מוגדר, ההודעה משויכת להקשר שצוין.

task_id

string

מזהה המשימה של ההודעה. ההגדרה הזו היא אופציונלית, ואם היא מוגדרת, ההודעה תשויך למשימה שצוינה.

role

Role

תפקיד בהודעה.

content[]

Part

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message.

extensions[]

string

כתובות ה-URI של התוספים שקיימים בהודעה הזו או שתרמו לה.

MutualTlsSecurityScheme

שדות
description

string

תיאור של תוכנית האבטחה הזו.

OAuth2SecurityScheme

שדות
description

string

תיאור של תוכנית האבטחה הזו.

flows

OAuthFlows

אובייקט שמכיל פרטי הגדרה לסוגי התהליכים הנתמכים

oauth2_metadata_url

string

כתובת ה-URL של המטא-נתונים של שרת ההרשאות ב-OAuth2‏ RFC8414. נדרש פרוטוקול TLS.

OAuthFlows

שדות

שדה איחוד flow.

הערך flow יכול להיות רק אחד מהבאים:

authorization_code

AuthorizationCodeOAuthFlow

client_credentials

ClientCredentialsOAuthFlow

implicit

ImplicitOAuthFlow

password

PasswordOAuthFlow

OpenIdConnectSecurityScheme

שדות
description

string

תיאור של תוכנית האבטחה הזו.

open_id_connect_url

string

כתובת URL מוכרת לאיתור המטא-נתונים של ספק [[OpenID-Connect-Discovery]].

חלק

‫Part מייצג מאגר של חלק מתוכן התקשורת. החלקים יכולים להיות טקסט בלבד, קובץ כלשהו (תמונה, סרטון וכו') או blob של נתונים מובנים (כלומר JSON).

שדות
metadata

Struct

מטא-נתונים אופציונליים שמשויכים לחלק הזה.

שדה איחוד part.

הערך part יכול להיות רק אחד מהבאים:

text

string

file

FilePart

data

DataPart

PasswordOAuthFlow

שדות
token_url

string

כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS.

refresh_url

string

כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS.

scopes

map<string, string>

היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה.

PushNotificationConfig

הגדרות להגדרת התראות על עדכונים במשימות.

שדות
id

string

מזהה ייחודי (למשל UUID) של ההתראה הפוש הזו.

url

string

כתובת ה-URL שאליה תישלח ההתראה

token

string

טוקן ייחודי למשימה או לסשן

authentication

AuthenticationInfo

מידע על האימות שיישלח עם ההתראה

תפקיד

טיפוסים בני מנייה (enum)
ROLE_UNSPECIFIED
ROLE_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

הגדרה של webhook שאפשר להשתמש בו כדי לקבל עדכונים

history_length

int32

המספר המקסימלי של הודעות שייכללו בהיסטוריה. אם הערך הוא 0, ההיסטוריה לא תהיה מוגבלת.

blocking

bool

אם הערך הוא True, ההודעה תיחסם עד שהמשימה תושלם. אם הערך הוא False, ההודעה לא תחסום את הפעולה והמשימה תוחזר באופן מיידי. האחריות לבדוק אם יש עדכונים במשימה מוטלת על המתקשר.

SendMessageRequest

///////// Request Messages ///////////

שדות
tenant

string

דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0.

request

Message

חובה. ההודעה שרוצים לשלוח לנציג.

configuration

SendMessageConfiguration

הגדרות לבקשת השליחה.

metadata

Struct

מטא-נתונים אופציונליים לבקשה.

SendMessageResponse

‪////// Response Messages ///////////

שדות

שדה איחוד payload.

הערך payload יכול להיות רק אחד מהבאים:

task

Task

msg

Message

StreamResponse

תגובת הסטרימינג להודעה. הסטרים צריך להיות אחת מהרצפים הבאים: אם התשובה היא הודעה, הסטרים צריך להכיל הודעה אחת בלבד ואז להיסגר. אם התשובה היא מחזור חיים של משימה, התשובה הראשונה צריכה להיות אובייקט Task ואחריו אפס או יותר 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

קבוצה של פריטי מידע שנוצר בתהליך הפיתוח (Artifact) של הפלט למשימה.

history[]

Message

protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task.

metadata

Struct

protolint:enable REPEATED_FIELD_NAMES_PLURALIZED אובייקט של מפתח/ערך לאחסון מטא-נתונים מותאמים אישית לגבי משימה.

TaskArtifactUpdateEvent

‫TaskArtifactUpdateEvent מייצג דלתא של משימה שבה נוצר פריט מידע שנוצר בתהליך פיתוח (Artifact).

שדות
task_id

string

המזהה של המשימה של הארטיפקט הזה

context_id

string

המזהה של ההקשר שאליו שייכת המשימה הזו

artifact

Artifact

הפריט עצמו

append

bool

האם צריך לצרף את הנתונים האלה לנתונים קודמים שנוצרו

last_chunk

bool

האם זה מייצג את החלק האחרון של ארטיפקט

metadata

Struct

מטא-נתונים אופציונליים שמשויכים לעדכון הארטיפקט.

TaskPushNotificationConfig

שדות
name

string

שם המשאב של ההגדרה. פורמט: tasks/{task_id}/pushNotificationConfigs/{config_id}

push_notification_config

PushNotificationConfig

פרטי ההגדרה של ההתראה.

TaskState

קבוצת הסטטוסים שיכולים להיות למשימה.

טיפוסים בני מנייה (enum)
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

המזהה של המשימה שהשתנה

context_id

string

המזהה של ההקשר שאליו המשימה שייכת

status

TaskStatus

הסטטוס החדש של המשימה.

final

bool

האם זהו עדכון הסטטוס האחרון שצפוי למשימה הזו.

metadata

Struct

מטא-נתונים אופציונליים לשיוך לעדכון המשימה.

TaskSubscriptionRequest

שדות
tenant

string

דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0.

name

string

שם המשאב של המשימה שאליה רוצים להירשם. פורמט: tasks/{task_id}