Add async delivery metadata to agent messages (#39312)

## What changed

- Add an optional `delivery` field to agent message events and app-server
  `agentMessage` items, with `"async"` identifying a user-visible message sent
  without ending the current turn.
- Preserve the marker through legacy event conversion, thread history
  materialization, replay, and generated JSON and TypeScript schemas.
- Require delivery of async agent message completion notifications on the
  in-process app-server transport.

## Testing

- Cover preservation of async delivery metadata in thread history.
- Cover delivery-required classification for async agent messages.

GitOrigin-RevId: f92ba25de1293ee271404badfdf0d117d6530329
This commit is contained in:
rka-oai
2026-08-18 23:05:52 +00:00
committed by copyberry
parent 7d9990fa30
commit fb356f3d2c
64 changed files with 467 additions and 21 deletions
@@ -5,6 +5,12 @@
"description": "A path that is guaranteed to be absolute and normalized (though it is not guaranteed to be canonicalized or exist on the filesystem).\n\nIMPORTANT: When deserializing an `AbsolutePathBuf`, a base path must be set using [AbsolutePathBufGuard::new]. If no base path is set, the deserialization will fail unless the path being deserialized is already absolute.",
"type": "string"
},
"AgentMessageDelivery": {
"enum": [
"async"
],
"type": "string"
},
"AgentPath": {
"type": "string"
},
@@ -1144,6 +1150,17 @@
},
{
"properties": {
"delivery": {
"anyOf": [
{
"$ref": "#/definitions/AgentMessageDelivery"
},
{
"type": "null"
}
],
"default": null
},
"id": {
"type": "string"
},