diff --git a/docs/specification.md b/docs/specification.md index 5c23f632c..6d5cb1c88 100644 --- a/docs/specification.md +++ b/docs/specification.md @@ -445,7 +445,7 @@ This section defines common parameter objects used across multiple operations. The `blocking` field in [`SendMessageConfiguration`](#322-sendmessageconfiguration) controls whether the operation waits for task completion: -- **Blocking (`blocking: true`)**: The operation MUST wait until the task reaches a terminal state (`completed`, `failed`, `canceled`, `rejected`) or an interrupted state (`input_required`, `auth_required`) before returning. The response MUST include the current task state with all artifacts and status information. +- **Blocking (`blocking: true`)**: The operation MUST wait until the task reaches a terminal state (`COMPLETED`, `FAILED`, `CANCELED`, `REJECTED`) or an interrupted state (`INPUT_REQUIRED`, `AUTH_REQUIRED`) before returning. The response MUST include the latest task state with all artifacts and status information. - **Non-Blocking (`blocking: false`)**: The operation MUST return immediately after creating the task, even if processing is still in progress. The returned task will have an in-progress state (e.g., `working`, `input_required`). It is the caller's responsibility to poll for updates using [Get Task](#313-get-task), subscribe via [Subscribe to Task](#316-subscribe-to-task), or receive updates via push notifications. diff --git a/specification/a2a.proto b/specification/a2a.proto index 4beecc084..0926632fe 100644 --- a/specification/a2a.proto +++ b/specification/a2a.proto @@ -150,8 +150,9 @@ message SendMessageConfiguration { // value of zero is a request to not include any messages. The server MUST NOT // return more messages than the provided value, but MAY apply a lower limit. optional int32 history_length = 3; - // If true, the operation waits until the task reaches a terminal or interrupted state before returning. - // Defaults to `false`. + // If `true`, the operation MUST wait until the task reaches a terminal state + // (`COMPLETED`, `FAILED`, `CANCELED`, `REJECTED`) or an interrupted state + // (`INPUT_REQUIRED`, `AUTH_REQUIRED`) before returning. Default is `false`. bool blocking = 4; }