Method: projects.locations.apps.assistantSessions.streamChatAiAssistant

Führt Arc, den KI-Assistenten, für die angegebene Assistentensitzung im Streaming-Modus aus.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
name

string

Erforderlich. Die Assistentensitzung, die zum Ausführen des Assistenten verwendet werden soll. Format: projects/{project}/locations/{location}/apps/{app}/assistantSessions/{assistantSession}

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "message": string,
  "attachedGcsUris": [
    string
  ],
  "contextToken": string,
  "confirmationResponse": {
    object (AssistantConfirmationResponse)
  },
  "clientCapabilities": [
    enum (StreamChatAiAssistantRequest.ClientCapability)
  ],
  "operationCompletedEvent": {
    object (OperationCompletedEvent)
  },
  "resumeFromSequenceNumber": string,
  "attachOnly": boolean
}
Felder
message

string

Optional. Die Nachricht, die an den Assistant-Agenten gesendet werden soll. Kann leer sein, wenn confirmationResponse festgelegt ist (Antwort auf eine ausstehende Bestätigung, ohne eine neue Nachricht hinzuzufügen). Mindestens eines der beiden Felder muss angegeben werden.

attachedGcsUris[]

string

Optional. Cloud Storage-URIs für Dateien, die vom Nutzer während dieser Runde hochgeladen wurden. Beispiel: „gs://cxas-transient-uploads/uuid/prd.pdf“

contextToken

string

Optional. Undurchsichtiges Onboarding-Kontext-Token, das von SessionService.GenerateOnboardingSuggestions zurückgegeben wird. Wenn diese Option festgelegt und noch aktuell ist, verwendet der Server den für den Nullzustand berechneten Onboarding-Snapshot wieder, anstatt ihn für die erste Unterhaltungsrunde neu zu berechnen.

confirmationResponse

object (AssistantConfirmationResponse)

Optional. Die Antwort des Nutzers auf eine ausstehende AssistantConfirmationRequest. Wenn diese Option festgelegt ist, setzt der Server den pausierten Agenten mit dieser Antwort fort, anstatt eine neue Prompt-Runde zu starten (oder zusätzlich dazu).

clientCapabilities[]

enum (StreamChatAiAssistantRequest.ClientCapability)

Optional. Antwortfunktionen, die dieser Client rendern kann. Der Server gibt nur Ereignisse aus, für die eine Funktion erforderlich ist (z. B. confirmationRequest), wenn die Funktion deklariert ist. Ältere Clients erhalten also nie Ereignisse, die sie stillschweigend verwerfen würden.

operationCompletedEvent

object (OperationCompletedEvent)

Optional. Setzt eine Assistentensitzung fort, die pausiert wurde, während auf den Abschluss eines vom Client verwalteten Vorgangs mit langer Ausführungszeit gewartet wurde.

resumeFromSequenceNumber

string (int64 format)

Optional. Optionaler Cursor, um Ereignisse aus einer laufenden oder abgeschlossenen Runde fortzusetzen und wiederzugeben.

attachOnly

boolean

Optional. Optionales Flag, um die Nachricht an einen vorhandenen, laufenden Turn anzuhängen, ohne eine neue Nachricht zu senden.

Antworttext

Antwortnachricht für SessionService.StreamChatAiAssistant.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "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.
}
Felder
eventId

string

Eindeutige Kennung für das Ereignis.

eventTime

string (Timestamp format)

Zeitstempel des Ereignisses.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

uiEvent

object (UiEvent)

Optional. Nutzlast des UI-Ereignisses.

turnMetadata

object (TurnMetadata)

Optional. Metadaten auf Turn-Ebene und Intent-Kategorisierung.

sequenceNumber

string (int64 format)

Optional. Monoton ansteigende Sequenznummer für diese Sitzungsrunde.

turnInProgress

boolean

Optional. Gibt an, ob die Runde noch aktiv im Hintergrund ausgeführt wird.

Die Ereignisnutzlast. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
textChunk

string

Text-Token (für das wortweise Streamen von Gemini-Antworten).

status

object (Status)

Einfaches Statusupdate.

thoughtChunk

string

Textblock mit Gedanken (Schlussfolgerung des Agenten vor dem Generieren der Antwort).

toolCall

object (ToolCall)

Ereignis zur Ausführung des Toolaufrufs.

toolResponse

object (ToolResponse)

Ereignis für die Antwort auf einen Toolaufruf.

artifactChunk

object (ArtifactChunk)

Artefakt-Ereignis für generiertes Dokument (Live-Vorschau-Deltas + endgültiger Cloud Storage-Verweis).

optionQuestionsChunk

object (OptionQuestionsChunk)

Strukturierte Klärungsoptionen, die aus der Modellrunde geparst wurden. In der Console werden diese als auswählbare Optionsliste und nicht als Rohtext gerendert.

confirmationRequest

object (AssistantConfirmationRequest)

Eine blockierende Bestätigung, bei der der Agent pausiert hat. Der KI-Agent setzt die Unterhaltung fort, wenn die Antwort in der confirmationResponse einer späteren Anfrage eingeht. Wird nur an Clients gesendet, die die Funktion CONFIRMATION_CARDS in der Anfrage deklariert haben.

sessionCheckpoint

object (SessionCheckpoint)

Ereignis für Sitzungsprüfpunkt/Zusammenfassung, das die Nutzerabsicht und eine fortlaufende Zusammenfassung enthält.

resumeSnapshot

object (TurnResumeSnapshot)

Eine komprimierte Wiederholung eines laufenden Zuges, die als erstes Ereignis jedes Anhängens oder Fortsetzens vor jedem Live-Ereignis gesendet wird. Der Client ersetzt alle lokal gerenderten Zustände für diese Runde durch den Inhalt des Snapshots.

handoff

object (TurnHandoffEvent)

Weist den Client an, die Verbindung im Hintergrund mit „resumeFromSequenceNumber“ wiederherzustellen: Die Aufgabe, die diesen Stream bereitstellt, wird beendet und die Runde wird an anderer Stelle fortgesetzt. Kein Fehler. Der Stream wird nach diesem Ereignis normal abgeschlossen.

turnCompleted

object (TurnCompletedEvent)

Der Zug ist beendet. Wird als letztes Ereignis jeder Runde im ursprünglichen Stream und in jedem angehängten oder fortgesetzten Stream gesendet, damit Clients die Runde mit einem expliziten Signal beenden können, anstatt sie aus dem Schließen des Streams abzuleiten.

Ende der sich gegenseitig ausschließenden Felder.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Weitere Informationen finden Sie unter Authentication Overview.

IAM-Berechtigungen

Erfordert die folgende IAM-Berechtigung für die Ressource name:

  • ces.assistantSessions.get

Weitere Informationen finden Sie in der IAM-Dokumentation.

AssistantConfirmationResponse

Die Antwort des Nutzers auf eine AssistantConfirmationRequest, die beim nächsten SessionService.StreamChatAiAssistant-Aufruf gesendet wird, um den pausierten Agenten fortzusetzen.

JSON-Darstellung
{
  "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.
}
Felder
confirmationId

string

Die AssistantConfirmationRequest.confirmation_id, die beantwortet wird.

Die Antwort des Nutzers. Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
confirmed

boolean

Binäre Antwort: „true“ genehmigt die pausierte Aktion, „false“ lehnt sie ab.

answerText

string

Der submitText der ausgewählten Option oder der vom Nutzer eingegebene Text. Die pausierte Aktion wird abgebrochen und der Text wird an den KI-Agenten übergeben, damit er darauf reagieren kann.

Ende der sich gegenseitig ausschließenden Felder.

StreamChatAiAssistantRequest.ClientCapability

Antwortfunktionen, die ein Client deklarieren kann.

Enums
CLIENT_CAPABILITY_UNSPECIFIED Nicht angegebene Funktion; ignoriert.
CONFIRMATION_CARDS Der Client rendert AssistantConfirmationRequest-Karten und beantwortet sie über confirmationResponse.
CLIENT_MANAGED_LRO Der Client verwaltet Vorgänge mit langer Ausführungszeit out-of-band, indem er den Vorgang abfragt und operationCompletedEvent sendet, um die Runde fortzusetzen. Wenn nicht deklariert, verwaltet der Server die LRO-Abfrage und schließt den Zug inline ab.
PROJECT_SCOPE Der Client rendert Ereignisse auf Projektebene: typedPayload-Karten, targetApp bei Toolaufrufen und ‑antworten, targets bei Bestätigungsanfragen und touchedApps bei Abschluss des Turns.

OperationCompletedEvent

Ereignis, das vom Client oder Hintergrund-Worker gesendet wird, um eine Assistant-Sitzung fortzusetzen, nachdem ein asynchroner Vorgang mit langer Ausführungszeit (Long-Running Operation, LRO) abgeschlossen wurde.

JSON-Darstellung
{
  "operationName": string,
  "targetResourceName": string,
  "operationType": string,
  "status": string,
  "deduplicationToken": string,
  "error": {
    object (Status)
  },
  "metadata": {
    object
  }
}
Felder
operationName

string

Der Name der Vorgangsressource (z.B. operations/{op}).

targetResourceName

string

Die primäre Ressource, die vom Vorgang als Ziel verwendet oder erzeugt wird (z.B. ID des Bewertungslaufs, App-ID, Dataset-ID).

operationType

string

Der Vorgangstyp oder Toolname (z.B. „run_evaluation“, „copy_app“, „export_app“).

status

string

Status der Vorgangsausführung (z.B. „SUCCEEDED“, „FAILED“, „CANCELLED“).

deduplicationToken

string

Optionales Deduplizierungstoken (z.B. UUID), um zu verhindern, dass die Ausführung von Turns über gleichzeitige Browsertabs dupliziert wird.

error

object (Status)

Optionaler kanonischer Fehlerstatus, wenn der Vorgang fehlgeschlagen ist.

metadata

object (Struct format)

Optionale strukturierte Ergebnismetadaten (z.B. pass_rate, total_examples, export_uri).

ArtifactChunk

Ein gestreamtes Fragment eines Dokumentartefakts (z.B. ein Markdown-TDD), das vom Assistenten generiert wird. Inhalts-Deltas werden gestreamt, während das Dokument geschrieben wird, damit Clients eine Live-Vorschau rendern können. Der FINALIZED-Chunk enthält den Cloud Storage-URI, sobald die Datei gespeichert wurde.

JSON-Darstellung
{
  "artifactId": string,
  "displayName": string,
  "mimeType": string,
  "contentDelta": string,
  "gcsUri": string,
  "state": enum (ArtifactChunk.State),
  "targetApp": string
}
Felder
artifactId

string

Kennung des Artefakts, die für alle Blöcke eines Artefakts im Stream gleich ist.

displayName

string

Der Dateiname, der dem Nutzer angezeigt wird, z.B. „hotel_booking_tdd.md“. Wird auf STARTED gesetzt (und bei FINALIZED wiederholt).

mimeType

string

Der IANA-Medientyp des Artefaktinhalts, z.B. „text/markdown“.

contentDelta

string

Inkrementelle Artefaktinhalte. Wird für DELTA-Blöcke festgelegt.

gcsUri

string

Das Cloud Storage-Objekt, in dem das Artefakt gespeichert wurde. Wird für FINALIZED-Blöcke festgelegt.

state

enum (ArtifactChunk.State)

Lebenszyklusposition dieses Blocks.

targetApp

string

Nur Ausgabe. Die App, für die dieses Artefakt erstellt wurde, sofern es für eine erstellt wurde. Format: projects/{project}/locations/{location}/apps/{app}

ArtifactChunk.State

Lebenszyklusposition dieses Blocks im Stream des Artefakts.

Enums
STATE_UNSPECIFIED Nicht verwendeter Standardwert.
STARTED Der Assistent hat mit der Erstellung des Artefakts begonnen.
DELTA Ein Inhaltsinkrement; contentDelta ist festgelegt.
FINALIZED Das Artefakt wurde beibehalten; gcsUri ist festgelegt.
FAILED Fehler bei der Generierung oder Persistenz. Das Artefakt wurde nicht gespeichert.
CLOSED Das Streaming des Dokuments ist abgeschlossen: Der Inhalt wurde vollständig über contentDelta-Blöcke bereitgestellt. Die Persistenz kann weiterhin erfolgen. Ein FINALIZED-Block mit einer gcsUri wird gesendet, wenn das Artefakt gespeichert wird.

OptionQuestionsChunk

Strukturierte Klärungsoptionen, die der Assistant dem Nutzer zur Auswahl stellt. Diese werden serverseitig aus der Antwort des Modells umgewandelt (der Optionsblock wird aus dem gestreamten und gespeicherten Text entfernt). In der Console wird eine über die Tastatur navigierbare Optionsliste angezeigt, die über dem Composer angedockt ist.

JSON-Darstellung
{
  "questions": [
    {
      object (OptionQuestionsChunk.Question)
    }
  ]
}
Felder
questions[]

object (OptionQuestionsChunk.Question)

Die in dieser Runde gestellten Fragen. Wenn mehr als ein Eintrag vorhanden ist, wird in der Konsole „1 von N“ angezeigt.

OptionQuestionsChunk.Question

Eine Frage mit den zugehörigen Optionen.

JSON-Darstellung
{
  "question": string,
  "options": [
    {
      object (OptionQuestionsChunk.Option)
    }
  ]
}
Felder
question

string

Der Text der Frageüberschrift.

options[]

object (OptionQuestionsChunk.Option)

Die auswählbaren Optionen in der Reihenfolge der Präsentation.

OptionQuestionsChunk.Option

Eine einzelne auswählbare Option.

JSON-Darstellung
{
  "title": string,
  "details": string,
  "submitText": string
}
Felder
title

string

Kurzer Nur-Text-Titel für die Option (kein Markdown, keine Nummerierung).

details

string

Optionale Details zum Trade-off, die als sekundärer Text angezeigt werden.

submitText

string

Optionaler Nachrichtentext, der gesendet wird, wenn die Option ausgewählt wird. Der Standardwert ist title, wenn das Feld leer ist.

AssistantConfirmationRequest

Eine blockierende Frage oder Bestätigung, die der Assistent beantwortet haben muss, bevor eine Agentenaktion fortgesetzt werden kann. Der anfragende Agent wird pausiert und erst fortgesetzt, wenn die Antwort in einem späteren StreamChatAiAssistantRequest.confirmation_response eintrifft.

JSON-Darstellung
{
  "confirmationId": string,
  "context": string,
  "positiveLabel": string,
  "negativeLabel": string,
  "questions": [
    {
      object (OptionQuestionsChunk.Question)
    }
  ],
  "tool": string,
  "agentName": string,
  "expireTime": string,
  "targets": [
    {
      object (AssistantConfirmationRequest.Target)
    }
  ]
}
Felder
confirmationId

string

ID, die diese Anfrage mit der zugehörigen Antwort korreliert. Für Clients nicht sichtbar; muss in der Antwortanfrage wortgetreu wiedergegeben werden.

context

string

Kontext, der beschreibt, was bestätigt wird (z.B. die Aktion, die der Agent ausführen möchte, oder die Frage, die er beantwortet haben muss). Wird als Nur-Text gerendert, nicht als Markdown.

positiveLabel

string

Label für die genehmigende Aktion einer binären Bestätigung (z.B. „Veröffentlichen“). Nicht festgelegt, wenn questions ausgefüllt ist.

negativeLabel

string

Label für die ablehnende Aktion einer binären Bestätigung (z.B. „Noch nicht“). Nicht festgelegt, wenn questions ausgefüllt ist.

questions[]

object (OptionQuestionsChunk.Question)

Bestätigung in Form einer Mehrfachauswahl. Wenn die Karte ausgefüllt ist, wird eine Liste mit auswählbaren Optionen gerendert und der „submitText“ der ausgewählten Option (oder der vom Nutzer eingegebene Text) wird als AssistantConfirmationResponse.answer_text zurückgegeben.

tool

string

Name des Toolaufrufs, bei dem der KI-Agent pausiert hat (z.B. „update_app“), für die Kartenüberschrift. Nicht festgelegt für reine Fragen.

agentName

string

Anzeigename des KI-Agenten, der die Bestätigung ausgelöst hat (z.B. "Contract Architect"), für die Kartenüberschrift.

expireTime

string (Timestamp format)

Zeit, nach der diese Bestätigung nicht mehr beantwortet werden kann. Eine abgelaufene Karte wird als inaktiv dargestellt und der Server lehnt die Bestätigung im nächsten Zug ab, damit der pausierte Agent nicht unbegrenzt wartet.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

targets[]

object (AssistantConfirmationRequest.Target)

Alles, was durch die bestätigte Aktion geändert wird, damit die Console „2 Apps aktualisieren“ und ein Badge pro App rendern kann. Leer für alte Karten mit einem Ziel.

AssistantConfirmationRequest.Target

Eine Ressource, die durch die bestätigte Aktion geändert wird.

JSON-Darstellung
{
  "resource": string,
  "displayName": string,
  "action": string,
  "targetApp": string
}
Felder
resource

string

Die Ressource, die sich ändert, als vollständiger Ressourcenname.

displayName

string

Anzeigename der Ressource oder App für die Karte.

action

string

Die Aktion, z.B. CREATE, UPDATE, DELETE, COPY, LINK.

targetApp

string

Die Anwendung, zu der die Ressource gehört, oder leer für eine standortbezogene Aktion wie das Erstellen einer Anwendung. Format: projects/{project}/locations/{location}/apps/{app}

TurnResumeSnapshot

Eine komprimierte Wiederholung eines laufenden Zuges: alles, was erforderlich ist, um die bisherige sichtbare Ausgabe des Zuges zu rendern, sowie die Position, von der aus die Live-Veranstaltungen fortgesetzt werden.

JSON-Darstellung
{
  "turnId": string,
  "resolvedSequenceNumber": string,
  "events": [
    {
      object (StreamChatAiAssistantResponse)
    }
  ],
  "orphanDeadlineTime": string
}
Felder
turnId

string

Gibt den Schritt an, an den die Information angehängt wird.

resolvedSequenceNumber

string (int64 format)

Die Position, die dieser Snapshot darstellt. Live-Veranstaltungen folgen mit einer sequenceNumber, die strikt größer als diese ist. Wenn der Wert niedriger ist als die vom Client angeforderte resumeFromSequenceNumber, hinkt der geleerte Fortschritt dem hinterher, was der Client bereits gerendert hat: Der Client muss seinen gerenderten Inhalt dieser Runde über diese Position hinaus verwerfen, bevor er den Snapshot anwendet.

events[]

object (StreamChatAiAssistantResponse)

Komprimierte Ereignisse, die die sichtbare Ausgabe des Turns in der Renderreihenfolge rekonstruieren, wobei dieselben Ereignisformen wie beim Livestreaming verwendet werden.

orphanDeadlineTime

string (Timestamp format)

Wann die TURN-Verbindung beendet wird, wenn kein Client mehr verbunden ist.

Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" oder "2014-10-02T15:01:23+05:30".

TurnHandoffEvent

Wird ausgegeben, bevor diese Aufgabe die Bereitstellung des Streams mitten in der Runde beendet (z.B. bei einem Serverneustart). Der Status der Runde wird beibehalten. Bei einer erneuten Verbindung mit „resumeFromSequenceNumber“ wird die Runde in einer anderen Aufgabe fortgesetzt.

JSON-Darstellung
{
  "turnId": string,
  "reason": enum (TurnHandoffEvent.Reason)
}
Felder
turnId

string

Gibt den Zug an, der fortgesetzt werden soll.

reason

enum (TurnHandoffEvent.Reason)

Warum der Stream übergeben wird.

TurnHandoffEvent.Reason

Warum der Stream übergeben wird.

Enums
REASON_UNSPECIFIED Nicht angegeben.
SERVER_RESTART Die Bereitstellungsaufgabe wird heruntergefahren (Release-Push oder Neuplanung).

TurnCompletedEvent

Terminalereignis einer Runde (siehe StreamChatAiAssistantResponse.turn_completed).

JSON-Darstellung
{
  "turnId": string,
  "reason": enum (TurnCompletedEvent.Reason),
  "finalSequenceNumber": string,
  "touchedApps": [
    string
  ]
}
Felder
turnId

string

Die Kennung des beendeten Schritts. Sie stimmt mit „TurnResumeSnapshot.turn_id“ und „ActiveTurnInfo.turn_id“ überein.

reason

enum (TurnCompletedEvent.Reason)

Warum der Zug beendet wurde.

finalSequenceNumber

string (int64 format)

Sequenznummer des letzten Ereignisses, das durch den Zug erzeugt wurde. Ein Client, dessen Cursor sich weiter unten befindet, hat Inhalte verpasst und sollte die Sitzung neu laden, um sie zu sehen.

touchedApps[]

string

Apps, die in dieser Runde ausgewählt oder geändert wurden, damit die Console genau die Stores dieser Apps aktualisieren kann. Nur projektbezogene Sitzungen. Format: projects/{project}/locations/{location}/apps/{app}

TurnCompletedEvent.Reason

Warum die Runde beendet wurde, damit ein Client, der sich spät verbunden hat, das Ergebnis formulieren kann, anstatt es aus einem leeren Stream zu erraten.

Enums
REASON_UNSPECIFIED Nicht angegeben.
COMPLETED Die Runde wurde abgeschlossen. Die Sitzung enthält die bestätigte Ausgabe.
ABANDONED Der Turn wurde nicht mehr von einer Aufgabe gesteuert. Er wurde auf einen festgeschriebenen Teil festgelegt und kann nicht fortgesetzt werden.
RESUME_UNAVAILABLE Dieser Server unterstützt das Anhängen oder Fortsetzen der Sitzung nicht, daher wurde nichts verfolgt. Der Client sollte die Sitzung stattdessen neu laden.

TurnMetadata

Metadaten auf Turn-Ebene und Intent-Kategorisierung.

JSON-Darstellung
{
  "contractRelated": boolean,
  "contractFinalized": boolean,
  "contractStreamingPhase": enum (TurnMetadata.ContractStreamingPhase),
  "contractDraftComplete": boolean
}
Felder
contractFinalized

boolean

Wird für das letzte Artefakt-Ereignis einer Runde festgelegt, deren Vertragsentwurf veröffentlicht wurde (eine Überarbeitung wurde aktiviert). Terminal für den Klärungsablauf dieses Entwurfs: contractProgress ist maßgeblich und vollständig.

contractStreamingPhase

enum (TurnMetadata.ContractStreamingPhase)

Wird nur für Schätzungen des laufenden Fortschritts festgelegt, die während des Streamings eines Vertragsartefakt-Fences ausgegeben werden, und für das Ereignis „revision-turn-start“. Nicht festgelegt für autoritative Nutzlasten.

contractDraftComplete

boolean

Wird für das Terminalereignis eines Vertragsentwurfs festgelegt, dessen Platzhalter alle aufgelöst sind (contractProgress ist 100 %), unabhängig davon, ob der Entwurf veröffentlicht wurde. Clients schließen die Anzeige des Vertragsfortschritts ab und schließen sie. Die Veröffentlichung wird separat über „contractFinalized“ gemeldet.

TurnMetadata.ContractStreamingPhase

Streamingphase der Nutzlast für den Vertragsfortschritt.

Enums
CONTRACT_STREAMING_PHASE_UNSPECIFIED Die Nutzlast ist maßgeblich (berechnet aus einem vollständigen Vertragsdokument, einem persistenten Snapshot oder dem Status vor dem Entwurf). Clients müssen alle zuvor empfangenen Fortschritte damit ersetzen.
DRAFTING Ein erster Vertragsentwurf wird gestreamt. „contractProgress“ ist eine Schätzung während der Ausführung: nicht abnehmend innerhalb eines Artefakt-Fence, begrenzt unterhalb des autoritativen Bereichs, wobei „pillarBreakdowns“ „totalItemCount == 0“ enthält, um geschätzte Säulenstatus zu markieren.
REVISING Eine Überarbeitung eines bestehenden Vertrags wird gestreamt (z. B. nach dem Einreichen einer Annotation). Gleiche Schätzungssemantik wie DRAFTING.