Method: projects.locations.apps.assistantSessions.streamChatAiAssistant

מפעיל את Arc, העוזר האישי מבוסס-AI, בסשן העוזר האישי שצוין, במצב סטרימינג.

בקשת HTTP

POST https://ces.googleapis.com/v1/{name=projects/*/locations/*/apps/*/assistantSessions/*}:streamChatAiAssistant

כתובת ה-URL כתובה בתחביר של gRPC Transcoding.

פרמטרים של הנתיב

פרמטרים
name

string

חובה. הסשן של Assistant שבו משתמשים כדי להפעיל את Assistant. פורמט: projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}

גוף הבקשה

גוף הבקשה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "message": string,
  "attachedGcsUris": [
    string
  ],
  "contextToken": string,
  "confirmationResponse": {
    object (AssistantConfirmationResponse)
  },
  "clientCapabilities": [
    enum (StreamChatAiAssistantRequest.ClientCapability)
  ],
  "operationCompletedEvent": {
    object (OperationCompletedEvent)
  },
  "resumeFromSequenceNumber": string,
  "attachOnly": boolean
}
שדות
message

string

זה שינוי אופציונלי. ההודעה שתישלח לנציג של Assistant. יכול להיות ריק כשמוגדר confirmationResponse (מענה לאישור בהמתנה בלי להוסיף הודעה חדשה). צריך לספק לפחות אחד מהשניים.

attachedGcsUris[]

string

זה שינוי אופציונלי. מזהי URI של Cloud Storage לקבצים שהמשתמש העלה במהלך התור הזה. דוגמה: "gs://cxas-transient-uploads/uuid/prd.pdf"

contextToken

string

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

confirmationResponse

object (AssistantConfirmationResponse)

זה שינוי אופציונלי. התשובה של המשתמש לAssistantConfirmationRequest בהמתנה. כשההגדרה הזו מופעלת, השרת ממשיך את הסוכן שהושהה עם התשובה הזו במקום (או בנוסף) להתחיל סבב הנחיות חדש.

clientCapabilities[]

enum (StreamChatAiAssistantRequest.ClientCapability)

זה שינוי אופציונלי. תכונות של תגובות שהלקוח הזה יכול לעבד. השרת פולט רק אירועים שדורשים יכולת (למשל confirmationRequest) כשהיכולת מוצהרת, כך שלקוחות ישנים יותר אף פעם לא מקבלים אירועים שהם היו משמיטים באופן שקט.

operationCompletedEvent

object (OperationCompletedEvent)

זה שינוי אופציונלי. המשך סשן של Assistant שהושהה בזמן המתנה להשלמת פעולה ממושכת שמנוהלת על ידי הלקוח.

resumeFromSequenceNumber

string (int64 format)

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

attachOnly

boolean

זה שינוי אופציונלי. דגל אופציונלי לצירוף לתור קיים בלי לשלוח הודעה חדשה.

גוף התשובה

הודעת התשובה של SessionService.StreamChatAiAssistant.

אם הפעולה מצליחה, גוף התשובה מכיל נתונים במבנה הבא:

ייצוג ב-JSON
{
  "eventId": string,
  "eventTime": string,
  "uiEvent": {
    object (UiEvent)
  },
  "turnMetadata": {
    object (TurnMetadata)
  },
  "sequenceNumber": string,
  "turnInProgress": boolean,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "textChunk": string,
  "status": {
    object (Status)
  },
  "thoughtChunk": string,
  "toolCall": {
    object (ToolCall)
  },
  "toolResponse": {
    object (ToolResponse)
  },
  "artifactChunk": {
    object (ArtifactChunk)
  },
  "optionQuestionsChunk": {
    object (OptionQuestionsChunk)
  },
  "confirmationRequest": {
    object (AssistantConfirmationRequest)
  },
  "sessionCheckpoint": {
    object (SessionCheckpoint)
  },
  "resumeSnapshot": {
    object (TurnResumeSnapshot)
  },
  "handoff": {
    object (TurnHandoffEvent)
  },
  "turnCompleted": {
    object (TurnCompletedEvent)
  }
  // End of mutually exclusive fields.
}
שדות
eventId

string

המזהה הייחודי של האירוע.

eventTime

string (Timestamp format)

חותמת הזמן של האירוע.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: "2014-10-02T15:01:23Z",‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

uiEvent

object (UiEvent)

זה שינוי אופציונלי. המטען הייעודי (payload) של אירוע בממשק המשתמש.

turnMetadata

object (TurnMetadata)

זה שינוי אופציונלי. מטא-נתונים ברמת התור וסיווג כוונות.

sequenceNumber

string (int64 format)

זה שינוי אופציונלי. מספר סידורי שגדל באופן מונוטוני עבור הסשן הזה.

turnInProgress

boolean

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

המטען הייעודי (payload) של האירוע. ברשימה הבאה מופיעים שדות שמוציאים זה את זה. בתשובה יוגדר לכל היותר אחד מהשדות הבאים:
textChunk

string

טוקן טקסט (לסטרימינג של תשובות מ-Gemini מילה אחר מילה).

status

object (Status)

עדכון סטטוס פשוט.

thoughtChunk

string

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

toolCall

object (ToolCall)

אירוע של הפעלת קריאת API לכלי.

toolResponse

object (ToolResponse)

אירוע תגובה לקריאת API לכלי.

artifactChunk

object (ArtifactChunk)

אירוע של פריט מידע שנוצר במסמך (ההבדלים בתצוגה המקדימה בזמן אמת + המצביע הסופי ל-Cloud Storage).

optionQuestionsChunk

object (OptionQuestionsChunk)

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

confirmationRequest

object (AssistantConfirmationRequest)

אישור חוסם שהסוכן השהה את הפעולה שלו בגללו. הסוכן ממשיך כשהתשובה מגיעה ב-confirmationResponse של בקשה מאוחרת יותר. היא נשלחת רק ללקוחות שהצהירו על היכולת CONFIRMATION_CARDS בבקשה.

sessionCheckpoint

object (SessionCheckpoint)

אירוע סיכום של נקודת בקרה או דחיסה של סשן, שמכיל את כוונת המשתמש (Intent) וסיכום מתגלגל.

resumeSnapshot

object (TurnResumeSnapshot)

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

handoff

object (TurnHandoffEvent)

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

turnCompleted

object (TurnCompletedEvent)

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

סוף השדות שמוציאים זה את זה.

היקפי הרשאות

נדרש אחד מהיקפי ההרשאות הבאים של OAuth:

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

ניתן למצוא מידע נוסף כאן: Authentication Overview.

הרשאות IAM

נדרשת הרשאת IAM הבאה במשאב name:

  • ces.assistantSessions.get

מידע נוסף זמין במאמרי העזרה בנושא IAM.

AssistantConfirmationResponse

התשובה של המשתמש ל-AssistantConfirmationRequest, שנשלחת בקריאה הבאה ל-SessionService.StreamChatAiAssistant כדי להמשיך את פעילות הסוכן שהושהתה.

ייצוג ב-JSON
{
  "confirmationId": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "confirmed": boolean,
  "answerText": string
  // End of mutually exclusive fields.
}
שדות
confirmationId

string

הAssistantConfirmationRequest.confirmation_id שעונים עליה.

התשובה של המשתמש. ברשימה הבאה מופיעים שדות שמוציאים זה את זה. בתשובה יוגדר לכל היותר אחד מהשדות הבאים:
confirmed

boolean

תשובה בינארית: הערך true מאשר את הפעולה המושהית, והערך false דוחה אותה.

answerText

string

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

סוף השדות שמוציאים זה את זה.

StreamChatAiAssistantRequest.ClientCapability

תכונות של תגובה שהלקוח יכול להצהיר עליהן.

טיפוסים בני מנייה (enum)
CLIENT_CAPABILITY_UNSPECIFIED יכולת לא מוגדרת; המערכת מתעלמת ממנה.
CONFIRMATION_CARDS הלקוח מעבד כרטיסי AssistantConfirmationRequest ועונה עליהם באמצעות confirmationResponse.
CLIENT_MANAGED_LRO הלקוח מנהל פעולות ממושכות מחוץ לפס על ידי דגימת הפעולה ושליחת operationCompletedEvent כדי להמשיך את התור. אם לא מצהירים על כך, השרת מנהל את הסקר של ה-LRO ומשלים את התור בתוך השורה.
PROJECT_SCOPE הלקוח מעבד אירועים ברמת הפרויקט: typedPayload כרטיסים, targetApp בקריאות API לכלי ובתשובות, targets בבקשות לאישור ו-touchedApps בסיום הפנייה.

OperationCompletedEvent

אירוע שנשלח על ידי הלקוח או ה-background worker כדי להמשיך סשן של Assistant אחרי שפעולה ממושכת אסינכרונית (LRO) מסתיימת.

ייצוג ב-JSON
{
  "operationName": string,
  "targetResourceName": string,
  "operationType": string,
  "status": string,
  "deduplicationToken": string,
  "error": {
    object (Status)
  },
  "metadata": {
    object
  }
}
שדות
operationName

string

שם המשאב של הפעולה (למשל, operations/{op}).

targetResourceName

string

המשאב הראשי שהפעולה מטרגטת או יוצרת (למשל, מזהה הרצת הערכה, מזהה אפליקציה, מזהה מערך נתונים).

operationType

string

סוג הפעולה או שם הכלי (למשל, run_evaluation,‏ copy_app,‏ export_app).

status

string

סטטוס הפעולה (למשל, "SUCCEEDED",‏ "FAILED",‏ "CANCELLED").

deduplicationToken

string

אסימון אופציונלי לביטול כפילויות (למשל UUID) כדי למנוע ביצוע כפול של תור מכרטיסיות דפדפן בו-זמניות.

error

object (Status)

סטטוס שגיאה קנוני אופציונלי אם הפעולה נכשלה.

metadata

object (Struct format)

מטא-נתונים אופציונליים של תוצאות מובְנות (למשל pass_rate, ‏ total_examples, ‏ export_uri).

ArtifactChunk

קטע בסטרימינג של פריט מידע במסמך (למשל, מסמך TDD ב-Markdown) שה-Assistant יוצרת. השינויים בתוכן מועברים בסטרימינג בזמן שהמסמך נכתב, כדי שהלקוחות יוכלו להציג תצוגה מקדימה בזמן אמת. החלק FINALIZED מכיל את ה-URI של Cloud Storage אחרי שהקובץ נשמר.

ייצוג ב-JSON
{
  "artifactId": string,
  "displayName": string,
  "mimeType": string,
  "contentDelta": string,
  "gcsUri": string,
  "state": enum (ArtifactChunk.State),
  "targetApp": string
}
שדות
artifactId

string

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

displayName

string

שם הקובץ שמוצג למשתמש, למשל "hotel_booking_tdd.md". מוגדר ב-STARTED (וחוזר ב-FINALIZED).

mimeType

string

סוג המדיה של IANA של תוכן פריט המידע שנוצר, למשל "text/markdown".

contentDelta

string

תוכן מצטבר של פריט מידע שנוצר. מוגדרת על קטעי DELTA.

gcsUri

string

האובייקט ב-Cloud Storage שבו נשמר פריט המידע שנוצר. מוגדרת בחלקים שהסטטוס שלהם הוא FINALIZED.

state

enum (ArtifactChunk.State)

המיקום של החלק הזה במחזור החיים.

targetApp

string

פלט בלבד. האפליקציה שהארטיפקט הזה נוצר בשבילה, אם הוא נוצר בשביל אפליקציה. פורמט: projects/{project}/locations/{location}/apps/{app}

ArtifactChunk.State

המיקום של הקטע הזה במחזור החיים של הסטרימינג של פריט המידע.

טיפוסים בני מנייה (enum)
STATE_UNSPECIFIED ברירת מחדל שלא בשימוש.
STARTED ה-Assistant התחיל ליצור את פריט המידע שנוצר על ידי AI.
DELTA תוספת תוכן; contentDelta מוגדר.
FINALIZED הארטיפקט נשמר, והוגדר gcsUri.
FAILED היצירה או השמירה נכשלו, והפריט לא נשמר.
CLOSED המסמך סיים את הסטרימינג: התוכן שלו הועבר במלואו באמצעות מקטעי contentDelta. יכול להיות שהשמירה תתבצע בהמשך. אם וכאשר פריט המידע יישמר, יישלח קטע FINALIZED עם gcsUri.

OptionQuestionsChunk

אפשרויות הבהרה מובנות שה-Assistant מבקשת מהמשתמש לבחור מביניהן, שמועברות בצד השרת מחוץ לתור של המודל (בלוק האפשרויות מוסר מהטקסט שמועבר בסטרימינג ונשמר). במסוף מוצגת רשימת אפשרויות שאפשר לנווט בהן באמצעות המקלדת, והיא ממוקמת מעל תיבת הניסוח.

ייצוג ב-JSON
{
  "questions": [
    {
      object (OptionQuestionsChunk.Question)
    }
  ]
}
שדות
questions[]

object (OptionQuestionsChunk.Question)

השאלות שנשאלו בתור הזה. אם יש יותר מרשומה אחת, במסוף מופיע כלי לדפדוף בין הרשומות.

OptionQuestionsChunk.Question

שאלה אחת עם האפשרויות שלה.

ייצוג ב-JSON
{
  "question": string,
  "options": [
    {
      object (OptionQuestionsChunk.Option)
    }
  ]
}
שדות
question

string

טקסט הכותרת של השאלה.

options[]

object (OptionQuestionsChunk.Option)

האפשרויות שאפשר לבחור, לפי סדר ההצגה.

OptionQuestionsChunk.Option

אפשרות אחת לבחירה.

ייצוג ב-JSON
{
  "title": string,
  "details": string,
  "submitText": string
}
שדות
title

string

כותרת קצרה של האפשרות בטקסט פשוט (בלי תווים מיוחדים לעיצוב, בלי מספור).

details

string

פרטים אופציונליים על היתרונות והחסרונות מוצגים כטקסט משני.

submitText

string

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

AssistantConfirmationRequest

שאלה חוסמת או אישור שה-Assistant צריכה לקבל לפני שהסוכן יכול להמשיך בפעולה. הסוכן ששלח את הבקשה מושהה, וחוזר לפעול רק כשהתשובה מגיעה ב-StreamChatAiAssistantRequest.confirmation_response מאוחר יותר.

ייצוג ב-JSON
{
  "confirmationId": string,
  "context": string,
  "positiveLabel": string,
  "negativeLabel": string,
  "questions": [
    {
      object (OptionQuestionsChunk.Question)
    }
  ],
  "tool": string,
  "agentName": string,
  "expireTime": string,
  "targets": [
    {
      object (AssistantConfirmationRequest.Target)
    }
  ]
}
שדות
confirmationId

string

מזהה שמתאים בין הבקשה הזו לתגובה שלה. אטום ללקוחות; צריך להדהד מילה במילה בבקשה למענה.

context

string

הקשר שמתאר מה צריך לאשר (למשל, הפעולה שהסוכן רוצה לבצע או השאלה שהוא צריך לענות עליה). מוצג כטקסט פשוט, לא כ-Markdown.

positiveLabel

string

תווית לפעולת האישור של אישור בינארי (למשל, "פרסום"). לא מוגדר כש-questions מאוכלס.

negativeLabel

string

תווית לפעולת הדחייה של אישור בינארי (למשל, "עדיין לא"). לא מוגדר כש-questions מאוכלס.

questions[]

object (OptionQuestionsChunk.Question)

טופס אישור עם כמה אפשרויות בחירה. כשהכרטיס מאוכלס, הוא מציג רשימת אפשרויות לבחירה, והערך submitText של האפשרות שנבחרה (או טקסט חופשי של המשתמש) מוחזר בתור AssistantConfirmationResponse.answer_text.

tool

string

שם קריאת ה-API לכלי שהסוכן השהה (למשל, update_app), לכותרת הכרטיס. לא מוגדר לשאלות בלבד.

agentName

string

תווית התצוגה של הנציג ששלח את האישור (למשל, "Contract Architect"), לכותרת הכרטיס.

expireTime

string (Timestamp format)

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

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: "2014-10-02T15:01:23Z",‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

targets[]

object (AssistantConfirmationRequest.Target)

כל מה שהפעולה שאושרה תשנה, כדי שהמסוף יוכל להציג את הכיתוב "עדכון של 2 אפליקציות" ותג אחד לכל אפליקציה. ריק בכרטיסים מדור קודם עם יעד יחיד.

AssistantConfirmationRequest.Target

משאב אחד שהפעולה שאושרה תשנה.

ייצוג ב-JSON
{
  "resource": string,
  "displayName": string,
  "action": string,
  "targetApp": string
}
שדות
resource

string

המשאב שישתנה, כשם המשאב המלא.

displayName

string

השם המוצג של המשאב או האפליקציה, עבור הכרטיס.

action

string

הפעולה, למשל CREATE,‏ UPDATE,‏ DELETE,‏ COPY,‏ LINK.

targetApp

string

האפליקציה שהמשאב שייך לה, או ריק לפעולה ברמת המיקום, כמו יצירת אפליקציה. פורמט: projects/{project}/locations/{location}/apps/{app}

SessionCheckpoint

נקודת ביקורת של הסשן שמכילה את כוונת המשתמש (Intent) המשוערת לשם הסשן ולממשק המשתמש.

ייצוג ב-JSON
{
  "userIntent": string
}
שדות
userIntent

string

הנושא או המטרה המשוערים של המשתמש בסשן (למשל, "פיתוח נציג תמיכה למסחר אלקטרוני").

TurnResumeSnapshot

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

ייצוג ב-JSON
{
  "turnId": string,
  "resolvedSequenceNumber": string,
  "events": [
    {
      object (StreamChatAiAssistantResponse)
    }
  ],
  "orphanDeadlineTime": string
}
שדות
turnId

string

מזהה את הפנייה שאליה מצורף השלט.

resolvedSequenceNumber

string (int64 format)

המיקום שתמונת המצב הזו מייצגת. אירועים בשידור חי עם sequenceNumber שגדול יותר מזה. כשהערך נמוך מהערך של resumeFromSequenceNumber שהלקוח ביקש, ההתקדמות שנמחקה מפגרת אחרי מה שהלקוח כבר עיבד: הלקוח צריך למחוק את התוכן המעובד של התור הזה מעבר למיקום הזה לפני החלת תמונת המצב.

events[]

object (StreamChatAiAssistantResponse)

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

orphanDeadlineTime

string (Timestamp format)

מתי התור יסתיים אם לא יישאר אף לקוח מחובר.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-0, 3, 6 או 9 ספרות אחרי הנקודה העשרונית. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. לדוגמה: "2014-10-02T15:01:23Z",‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

TurnHandoffEvent

נשלח לפני שהמשימה הזו מפסיקה להציג את השידור באמצע התור (למשל, הפעלה מחדש של השרת). מצב התור נשמר. חיבור מחדש עם resumeFromSequenceNumber ממשיך אותו במשימה אחרת.

ייצוג ב-JSON
{
  "turnId": string,
  "reason": enum (TurnHandoffEvent.Reason)
}
שדות
turnId

string

מזהה את התור שצריך להמשיך.

reason

enum (TurnHandoffEvent.Reason)

הסיבה להעברת השידור.

TurnHandoffEvent.Reason

הסיבה להעברת השידור.

טיפוסים בני מנייה (enum)
REASON_UNSPECIFIED לא צוין.
SERVER_RESTART משימת ההצגה נסגרת (השקת גרסה או תזמון מחדש).

TurnCompletedEvent

אירוע סיום של תור (ראו StreamChatAiAssistantResponse.turn_completed).

ייצוג ב-JSON
{
  "turnId": string,
  "reason": enum (TurnCompletedEvent.Reason),
  "finalSequenceNumber": string,
  "touchedApps": [
    string
  ]
}
שדות
turnId

string

המזהה של הפנייה שהסתיימה. תואם ל-TurnResumeSnapshot.turn_id ול-ActiveTurnInfo.turn_id.

reason

enum (TurnCompletedEvent.Reason)

למה התור הסתיים.

finalSequenceNumber

string (int64 format)

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

touchedApps[]

string

האפליקציות שהשתנו או שהיו היעד של השינוי, כדי שהמסוף יוכל לרענן בדיוק את החנויות של האפליקציות האלה. סשנים ברמת הפרויקט בלבד. פורמט: projects/{project}/locations/{location}/apps/{app}

TurnCompletedEvent.Reason

למה התור הסתיים, כדי שלקוח שהצטרף באיחור יוכל לנסח את התוצאה במקום לנחש אותה מסטרימינג ריק.

טיפוסים בני מנייה (enum)
REASON_UNSPECIFIED לא צוין.
COMPLETED הסבב הסתיים, והפלט של הסשן נשמר.
ABANDONED לא הייתה עוד משימה שהניעה את התור. הוא נחתם כחלקי ואי אפשר להמשיך אותו.
RESUME_UNAVAILABLE השרת הזה לא מציג צירוף או המשך של הסשן, ולכן לא בוצע מעקב. במקום זאת, הלקוח צריך לטעון מחדש את הסשן.

UiEvent

מייצג מטען ייעודי של אירוע בממשק המשתמש.

ייצוג ב-JSON
{
  "mimeType": string,
  "jsonPayload": string
}
שדות
mimeType

string

סוג המדיה (סוג MIME) שמציין את הפורמט של המטען הייעודי (payload) של אירוע ממשק המשתמש (למשל, "application/json+a2ui").

jsonPayload

string

המטען הייעודי (payload) של JSON שמייצג את ממשק המשתמש של A2UI.

TurnMetadata

מטא-נתונים ברמת התור וסיווג כוונות.

ייצוג ב-JSON
{
  "contractRelated": boolean,
  "contractFinalized": boolean,
  "contractStreamingPhase": enum (TurnMetadata.ContractStreamingPhase),
  "contractDraftComplete": boolean
}
שדות
contractFinalized

boolean

מוגדר באירוע של פריט המידע המלאכותי הסופי של תור שבו פורסמה טיוטת החוזה (גרסה הופעלה). המסוף לתהליך ההבהרה של הטיוטה הזו: contractProgress הוא סמכותי ושלם.

contractStreamingPhase

enum (TurnMetadata.ContractStreamingPhase)

מוגדר רק בהערכות של התקדמות בזמן אמת שמופקות בזמן שמתבצע סטרימינג של גדר פריט מידע של חוזה, ובאירוע revision-turn-start. לא מוגדר ב-payloads סמכותיים.

contractDraftComplete

boolean

מוגדר באירוע הסיום של טיוטת חוזה שכל ה-placeholders שלו נפתרו (contractProgress הוא 100%), בין אם הטיוטה פורסמה ובין אם לא. הלקוחות משלימים את החוזה וסוגרים את התצוגה של התקדמות החוזה. הפרסום מדווח בנפרד על ידי contractFinalized.

TurnMetadata.ContractStreamingPhase

שלב הסטרימינג של המטען הייעודי (payload) של התקדמות החוזה.

טיפוסים בני מנייה (enum)
CONTRACT_STREAMING_PHASE_UNSPECIFIED המטען הייעודי (payload) הוא סמכותי (מחושב ממסמך חוזה מלא, מתמונת מצב שנשמרה או ממצב טרום-טיוטה). הלקוחות צריכים להחליף את ההתקדמות שהתקבלה בעבר בהתקדמות הזו.
DRAFTING טיוטת חוזה ראשונית מועברת בסטרימינג. contractProgress הוא אומדן בתהליך: לא יורד בתוך גדר פריט מידע אחד, מוגבל מתחת לטווח הסמכותי, עם פירוט עמודות שנושאות את totalItemCount == 0 כדי לסמן מצבי עמודות משוערים.
REVISING מתבצעת העברה של גרסה מעודכנת של חוזה קיים (לדוגמה, אחרי שליחת הערה). אותה סמנטיקה של אומדן כמו ב-DRAFTING.