אינדקס
-
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(enum)-
Security(הודעה) -
SecurityScheme(הודעה) -
SendMessageConfiguration(הודעה) -
SendMessageRequest(הודעה) -
SendMessageResponse(הודעה) -
StreamResponse(הודעה) -
StringList(הודעה) -
Task(הודעה) -
TaskArtifactUpdateEvent(הודעה) -
TaskPushNotificationConfig(הודעה) TaskState(enum)-
TaskStatus(הודעה) -
TaskStatusUpdateEvent(הודעה) -
TaskSubscriptionRequest(הודעה)
A2AService
A2AService מגדיר את גרסת ה-gRPC של פרוטוקול A2A. הפורמט הזה שונה מעט מגרסת JSONRPC כדי להתאים טוב יותר ל-AIP-127, במקרים הרלוונטיים. שמות העצם הם AgentCard, Message, Task ו-TaskPushNotificationConfig.
- הודעות הן לא משאב סטנדרטי, ולכן אין ממשק get/delete/update/list, אלא רק שיטות מותאמות אישית של שליחה וסטרימינג.
- למשימות יש ממשק get ושיטות מותאמות אישית לביטול ולמינוי.
- TaskPushNotificationConfig הוא משאב שההורה שלו הוא משימה. יש להם שיטות get, list ו-create.
- AgentCard הוא משאב סטטי עם שיטת get בלבד.
| CancelTask |
|---|
|
ביטול משימה מהנציג. אם התכונה נתמכת, לא אמורים להתקבל עדכונים נוספים לגבי המשימה.
|
| CreateTaskPushNotificationConfig |
|---|
|
הגדרת התראות פוש למשימה.
|
| DeleteTaskPushNotificationConfig |
|---|
|
מחיקת הגדרות של התראות Push למשימה.
|
| GetAgentCard |
|---|
|
הפונקציה GetAgentCard מחזירה את כרטיס הסוכן של הסוכן.
|
| GetTask |
|---|
|
קבלת המצב הנוכחי של משימה מהסוכן.
|
| GetTaskPushNotificationConfig |
|---|
|
אחזור הגדרה של התראה על משימה.
|
| ListTaskPushNotificationConfig |
|---|
|
אחזור רשימה של התראות פוש שהוגדרו למשימה.
|
| SendMessage |
|---|
|
שולחים הודעה לנציג. זו קריאה חוסמת שתחזיר את המשימה כשהיא תושלם, או LRO אם נדרש.
|
| SendStreamingMessage |
|---|
|
SendStreamingMessage היא קריאה להזרמה שתחזיר זרם של אירועי עדכון משימות עד שהמשימה תהיה במצב מופרע או סופי.
|
| TaskSubscription |
|---|
|
TaskSubscription היא קריאה להזרמת נתונים שתחזיר זרם של אירועי עדכון משימות. מקור הנתונים יצורף למשימה קיימת בתהליך. אם המשימה הושלמה, הסטרים יחזיר את המשימה שהושלמה (כמו GetTask) ויסגור את הסטרים.
|
APIKeySecurityScheme
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
location |
המיקום של מפתח ה-API. הערכים האפשריים הם query, header או cookie. |
name |
השם של הפרמטר של הכותרת, השאילתה או קובץ ה-Cookie שבו רוצים להשתמש. |
AgentCapabilities
הגדרת קבוצת התכונות של A2A שהסוכן תומך בה
| שדות | |
|---|---|
streaming |
אם הסוכן יתמוך בתשובות סטרימינג |
push_notifications |
אם הסוכן יכול לשלוח התראות פוש ל-webhook של הלקוחות |
extensions[] |
תוספים שנתמכים על ידי הסוכן. |
AgentCard
הכרטיס של הסוכן כולל מידע חשוב: – פרטים כלליים (גרסה, שם, תיאור, שימושים) – מיומנויות; קבוצה של פעולות או פתרונות שהסוכן יכול לבצע – סוגי תוכן או מודאליות שנתמכים כברירת מחדל על ידי הסוכן. - דרישות אימות. המספר הבא: 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 דרישות אבטחה ליצירת קשר עם הסוכן. אפשר לראות את הרשימה הזו כרשימה של תנאי OR של תנאי AND. כל אובייקט ברשימה מתאר קבוצה אפשרית של דרישות אבטחה שצריכות להיות בבקשה. כך אפשר לציין, לדוגמה, ש"מבצעי הקריאות חייבים להשתמש ב-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[] |
חתימות אינטרנט מבוססות JSON שחושבו עבור כרטיס הנציג הזה. |
icon_url |
כתובת URL אופציונלית לסמל של הסוכן. |
AgentCardSignature
AgentCardSignature מייצג חתימת JWS של AgentCard. הפורמט הזה תואם לפורמט JSON של חתימת רשת מבוססת JSON (JWS) של RFC 7515.
| שדות | |
|---|---|
protected |
חובה. כותרת ה-JWS המוגנת של החתימה. זה תמיד אובייקט JSON בקידוד base64url. חובה. |
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 Security schemes necessary for the agent to leverage this skill. כמו ב-AgentCard.security הכולל, הרשימה הזו מייצגת OR לוגי של אובייקטים של דרישות אבטחה. כל אובייקט הוא קבוצה של תוכניות אבטחה שצריך להשתמש בהן יחד (פעולת AND לוגית). protolint:enable REPEATED_FIELD_NAMES_PLURALIZED |
פריט מידע שנוצר בתהליך
ארטיפקטים הם המאגר של תוצאות המשימות שהושלמו. הן דומות להודעות, אבל הן נועדו להיות תוצר של משימה, ולא תקשורת ישירה.
| שדות | |
|---|---|
artifact_id |
מזהה ייחודי (למשל UUID) של הארטיפקט. הוא חייב להיות ייחודי לפחות במסגרת משימה. |
name |
שם של הארטיפקט שקריא לאנשים. |
description |
תיאור קריא (לבני אדם) של הארטיפקט. אופציונלי. |
parts[] |
התוכן של הארטיפקט. |
metadata |
מטא-נתונים אופציונליים שכלולים בארטיפקט. |
extensions[] |
כתובות ה-URI של התוספים שקיימים בארטיפקט הזה או שתורמים לו. |
AuthenticationInfo
הגדרת פרטי אימות שמשמשים להתראות פוש.
| שדות | |
|---|---|
schemes[] |
סכימות אימות נתמכות – לדוגמה, Basic, Bearer וכו' |
credentials |
פרטי כניסה אופציונליים |
AuthorizationCodeOAuthFlow
| שדות | |
|---|---|
authorization_url |
כתובת ה-URL לאישור שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. תקן OAuth2 מחייב שימוש ב-TLS |
token_url |
כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
refresh_url |
כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. |
CancelTaskRequest
| שדות | |
|---|---|
tenant |
דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0. |
name |
שם המשאב של המשימה לביטול. פורמט: tasks/{task_id} |
ClientCredentialsOAuthFlow
| שדות | |
|---|---|
token_url |
כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
refresh_url |
כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. |
CreateTaskPushNotificationConfigRequest
| שדות | |
|---|---|
tenant |
דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0. |
parent |
חובה. מקור המידע של משימת ההורה להגדרה הזו. פורמט: tasks/{task_id} |
config_id |
חובה. המזהה של ההגדרה החדשה. |
config |
חובה. ההגדרה שרוצים ליצור. |
DataPart
DataPart מייצג בלוב מובנה. בדרך כלל מדובר במטען ייעודי (payload) של 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 |
השם של סכמת האימות של HTTP שבה יש להשתמש בכותרת ההרשאה, כפי שמוגדר ב-RFC7235. הערכים שבהם משתמשים צריכים להיות רשומים במאגר של IANA Authentication Scheme. הערך לא תלוי רישיות, כפי שמוגדר ב-RFC7235. |
bearer_format |
רמז ללקוח שמציין את הפורמט של אסימון ה-Bearer. אסימוני Bearer נוצרים בדרך כלל על ידי שרת הרשאות, ולכן המידע הזה מיועד בעיקר למטרות תיעוד. |
ImplicitOAuthFlow
| שדות | |
|---|---|
authorization_url |
כתובת ה-URL לאישור שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. תקן OAuth2 מחייב שימוש ב-TLS |
refresh_url |
כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. |
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 |
מזהה ההקשר של ההודעה. השדה הזה הוא אופציונלי, ואם הוא מוגדר, ההודעה משויכת להקשר שצוין. |
task_id |
מזהה המשימה של ההודעה. ההגדרה הזו היא אופציונלית, ואם היא מוגדרת, ההודעה תשויך למשימה שצוינה. |
role |
תפקיד בהודעה. |
content[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED Content is the container of the message content. |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED Any optional metadata to provide along with the message. |
extensions[] |
כתובות ה-URI של התוספים שקיימים בהודעה הזו או שתרמו לה. |
MutualTlsSecurityScheme
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
OAuth2SecurityScheme
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
flows |
אובייקט שמכיל פרטי הגדרה לסוגי התהליכים הנתמכים |
oauth2_metadata_url |
כתובת ה-URL של המטא-נתונים של שרת ההרשאות ב-OAuth2 RFC8414. נדרש פרוטוקול TLS. |
OAuthFlows
| שדות | |
|---|---|
שדה איחוד הערך |
|
authorization_code |
|
client_credentials |
|
implicit |
|
password |
|
OpenIdConnectSecurityScheme
| שדות | |
|---|---|
description |
תיאור של תוכנית האבטחה הזו. |
open_id_connect_url |
כתובת URL מוכרת לאיתור המטא-נתונים של ספק [[OpenID-Connect-Discovery]]. |
חלק
Part מייצג מאגר של חלק מתוכן התקשורת. החלקים יכולים להיות טקסט בלבד, קובץ כלשהו (תמונה, סרטון וכו') או blob של נתונים מובנים (כלומר JSON).
| שדות | |
|---|---|
metadata |
מטא-נתונים אופציונליים שמשויכים לחלק הזה. |
שדה איחוד הערך |
|
text |
|
file |
|
data |
|
PasswordOAuthFlow
| שדות | |
|---|---|
token_url |
כתובת ה-URL של האסימון שתשמש בתהליך הזה. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
refresh_url |
כתובת ה-URL שתשמש להשגת אסימוני רענון. הערך חייב להיות בפורמט של כתובת URL. התקן OAuth2 מחייב שימוש ב-TLS. |
scopes |
היקפי ההרשאות הזמינים עבור תוכנית האבטחה OAuth2. מיפוי בין שם ההיקף לבין תיאור קצר שלו. יכול להיות שהמפה תהיה ריקה. |
PushNotificationConfig
הגדרות להגדרת התראות על עדכונים במשימות.
| שדות | |
|---|---|
id |
מזהה ייחודי (למשל UUID) של ההתראה הפוש הזו. |
url |
כתובת ה-URL שאליה תישלח ההתראה |
token |
טוקן ייחודי למשימה או לסשן |
authentication |
מידע על האימות שיישלח עם ההתראה |
תפקיד
| טיפוסים בני מנייה (enum) | |
|---|---|
ROLE_UNSPECIFIED |
|
ROLE_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 |
הגדרה של webhook שאפשר להשתמש בו כדי לקבל עדכונים |
history_length |
המספר המקסימלי של הודעות שייכללו בהיסטוריה. אם הערך הוא 0, ההיסטוריה לא תהיה מוגבלת. |
blocking |
אם הערך הוא True, ההודעה תיחסם עד שהמשימה תושלם. אם הערך הוא False, ההודעה לא תחסום את הפעולה והמשימה תוחזר באופן מיידי. האחריות לבדוק אם יש עדכונים במשימה מוטלת על המתקשר. |
SendMessageRequest
///////// Request Messages ///////////
| שדות | |
|---|---|
tenant |
דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0. |
request |
חובה. ההודעה שרוצים לשלוח לנציג. |
configuration |
הגדרות לבקשת השליחה. |
metadata |
מטא-נתונים אופציונליים לבקשה. |
SendMessageResponse
////// Response Messages ///////////
| שדות | |
|---|---|
שדה איחוד הערך |
|
task |
|
msg |
|
StreamResponse
תגובת הסטרימינג להודעה. הסטרים צריך להיות אחת מהרצפים הבאים: אם התשובה היא הודעה, הסטרים צריך להכיל הודעה אחת בלבד ואז להיסגר. אם התשובה היא מחזור חיים של משימה, התשובה הראשונה צריכה להיות אובייקט Task ואחריו אפס או יותר 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[] |
קבוצה של פריטי מידע שנוצר בתהליך הפיתוח (Artifact) של הפלט למשימה. |
history[] |
protolint:disable REPEATED_FIELD_NAMES_PLURALIZED The history of interactions from a task. |
metadata |
protolint:enable REPEATED_FIELD_NAMES_PLURALIZED אובייקט של מפתח/ערך לאחסון מטא-נתונים מותאמים אישית לגבי משימה. |
TaskArtifactUpdateEvent
TaskArtifactUpdateEvent מייצג דלתא של משימה שבה נוצר פריט מידע שנוצר בתהליך פיתוח (Artifact).
| שדות | |
|---|---|
task_id |
המזהה של המשימה של הארטיפקט הזה |
context_id |
המזהה של ההקשר שאליו שייכת המשימה הזו |
artifact |
הפריט עצמו |
append |
האם צריך לצרף את הנתונים האלה לנתונים קודמים שנוצרו |
last_chunk |
האם זה מייצג את החלק האחרון של ארטיפקט |
metadata |
מטא-נתונים אופציונליים שמשויכים לעדכון הארטיפקט. |
TaskPushNotificationConfig
| שדות | |
|---|---|
name |
שם המשאב של ההגדרה. פורמט: tasks/{task_id}/pushNotificationConfigs/{config_id} |
push_notification_config |
פרטי ההגדרה של ההתראה. |
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 |
המצב הנוכחי של המשימה |
update |
הודעה שמשויכת לסטטוס. |
timestamp |
חותמת זמן של מועד הרישום של הסטטוס. דוגמה: "2023-10-27T10:00:00Z" |
TaskStatusUpdateEvent
TaskStatusUpdateEvent הוא אירוע דלתא במשימה שמציין שהמשימה השתנתה.
| שדות | |
|---|---|
task_id |
המזהה של המשימה שהשתנה |
context_id |
המזהה של ההקשר שאליו המשימה שייכת |
status |
הסטטוס החדש של המשימה. |
final |
האם זהו עדכון הסטטוס האחרון שצפוי למשימה הזו. |
metadata |
מטא-נתונים אופציונליים לשיוך לעדכון המשימה. |
TaskSubscriptionRequest
| שדות | |
|---|---|
tenant |
דייר אופציונלי, שמועבר כפרמטר של נתיב. גרסה ניסיונית, עשויה להשתנות עד לגרסה 1.0. |
name |
שם המשאב של המשימה שאליה רוצים להירשם. פורמט: tasks/{task_id} |