Forward live realtime transcript updates

Emit transcript update notifications from realtime transcript deltas instead of waiting for handoff.

Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Ahmed Ibrahim
2026-03-20 13:16:14 -07:00
parent 4125a6a05f
commit e30dfcac7b
16 changed files with 181 additions and 218 deletions

View File

@@ -4278,20 +4278,20 @@
"properties": {
"method": {
"enum": [
"thread/realtime/transcriptAdded"
"thread/realtime/transcriptUpdated"
],
"title": "Thread/realtime/transcriptAddedNotificationMethod",
"title": "Thread/realtime/transcriptUpdatedNotificationMethod",
"type": "string"
},
"params": {
"$ref": "#/definitions/v2/ThreadRealtimeTranscriptAddedNotification"
"$ref": "#/definitions/v2/ThreadRealtimeTranscriptUpdatedNotification"
}
},
"required": [
"method",
"params"
],
"title": "Thread/realtime/transcriptAddedNotification",
"title": "Thread/realtime/transcriptUpdatedNotification",
"type": "object"
},
{
@@ -13062,35 +13062,6 @@
"title": "ThreadRealtimeStartedNotification",
"type": "object"
},
"ThreadRealtimeTranscriptAddedNotification": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "EXPERIMENTAL - flat transcript snapshot emitted when realtime hands off to the main agent.",
"properties": {
"handoffId": {
"type": "string"
},
"itemId": {
"type": "string"
},
"threadId": {
"type": "string"
},
"transcript": {
"items": {
"$ref": "#/definitions/v2/ThreadRealtimeTranscriptEntry"
},
"type": "array"
}
},
"required": [
"handoffId",
"itemId",
"threadId",
"transcript"
],
"title": "ThreadRealtimeTranscriptAddedNotification",
"type": "object"
},
"ThreadRealtimeTranscriptEntry": {
"properties": {
"role": {
@@ -13106,6 +13077,27 @@
],
"type": "object"
},
"ThreadRealtimeTranscriptUpdatedNotification": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "EXPERIMENTAL - flat transcript snapshot emitted whenever realtime transcript text changes.",
"properties": {
"threadId": {
"type": "string"
},
"transcript": {
"items": {
"$ref": "#/definitions/v2/ThreadRealtimeTranscriptEntry"
},
"type": "array"
}
},
"required": [
"threadId",
"transcript"
],
"title": "ThreadRealtimeTranscriptUpdatedNotification",
"type": "object"
},
"ThreadResumeParams": {
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "There are three ways to resume a thread: 1. By thread_id: load the thread from disk by thread_id and resume it. 2. By history: instantiate the thread from memory and resume it. 3. By path: load the thread from disk by path and resume it.\n\nThe precedence is: history > path > thread_id. If using history or path, the thread_id param will be ignored.\n\nPrefer using thread_id whenever possible.",