mirror of
https://github.com/openai/codex.git
synced 2026-11-06 20:20:34 +00:00
## What changed - Allow audio inputs to carry uploaded file references via `fileId` in the app-server API and `file_id` in model content, preserving existing inline audio shapes and Python class names. - Preserve mixed inline and file-backed audio ordering through history reconstruction and migration, and budget file-backed audio conservatively when duration is unknown. - Keep uploaded audio disabled at runtime: reject it before inference or raw history injection, preserve accompanying text, and prevent rejected attachments from reaching follow-up or resumed requests. ## Testing Add coverage for wire-format round trips, SDK compatibility, mixed audio history ordering, and rejection during turn start, steering, task completion, and raw injection. GitOrigin-RevId: 70895c47a2494c0c9936348ad1250eb1b7b892a6
339 lines
7.5 KiB
JSON
Generated
339 lines
7.5 KiB
JSON
Generated
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"definitions": {
|
|
"AdditionalContextEntry": {
|
|
"properties": {
|
|
"kind": {
|
|
"$ref": "#/definitions/AdditionalContextKind"
|
|
},
|
|
"name": {
|
|
"description": "Optional name for untrusted context, used to label its tool output.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"value": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"kind",
|
|
"value"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AdditionalContextKind": {
|
|
"enum": [
|
|
"untrusted",
|
|
"application"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ByteRange": {
|
|
"properties": {
|
|
"end": {
|
|
"format": "uint",
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
},
|
|
"start": {
|
|
"format": "uint",
|
|
"minimum": 0.0,
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"end",
|
|
"start"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ImageDetail": {
|
|
"enum": [
|
|
"auto",
|
|
"low",
|
|
"high",
|
|
"original"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"TextElement": {
|
|
"properties": {
|
|
"byteRange": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/definitions/ByteRange"
|
|
}
|
|
],
|
|
"description": "Byte range in the parent `text` buffer that this element occupies."
|
|
},
|
|
"placeholder": {
|
|
"description": "Optional human-readable placeholder for the element, displayed in the UI.",
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"byteRange"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserInput": {
|
|
"oneOf": [
|
|
{
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"text_elements": {
|
|
"default": [],
|
|
"description": "UI-defined spans within `text` used to render or persist special elements.",
|
|
"items": {
|
|
"$ref": "#/definitions/TextElement"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"text"
|
|
],
|
|
"title": "TextUserInputType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"text",
|
|
"type"
|
|
],
|
|
"title": "TextUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
],
|
|
"title": "UrlUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"fileId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"fileId"
|
|
],
|
|
"title": "FileIdUserInput",
|
|
"type": "object"
|
|
}
|
|
],
|
|
"properties": {
|
|
"detail": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/ImageDetail"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"image"
|
|
],
|
|
"title": "ImageUserInputType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"title": "ImageUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"detail": {
|
|
"anyOf": [
|
|
{
|
|
"$ref": "#/definitions/ImageDetail"
|
|
},
|
|
{
|
|
"type": "null"
|
|
}
|
|
],
|
|
"default": null
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"localImage"
|
|
],
|
|
"title": "LocalImageUserInputType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"type"
|
|
],
|
|
"title": "LocalImageUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"anyOf": [
|
|
{
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
],
|
|
"title": "UrlUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"fileId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"fileId"
|
|
],
|
|
"title": "FileIdUserInput",
|
|
"type": "object"
|
|
}
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"enum": [
|
|
"audio"
|
|
],
|
|
"title": "AudioUserInputType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"title": "AudioUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"localAudio"
|
|
],
|
|
"title": "LocalAudioUserInputType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"path",
|
|
"type"
|
|
],
|
|
"title": "LocalAudioUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"skill"
|
|
],
|
|
"title": "SkillUserInputType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"path",
|
|
"type"
|
|
],
|
|
"title": "SkillUserInput",
|
|
"type": "object"
|
|
},
|
|
{
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"path": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"enum": [
|
|
"mention"
|
|
],
|
|
"title": "MentionUserInputType",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"path",
|
|
"type"
|
|
],
|
|
"title": "MentionUserInput",
|
|
"type": "object"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"properties": {
|
|
"clientUserMessageId": {
|
|
"type": [
|
|
"string",
|
|
"null"
|
|
]
|
|
},
|
|
"expectedTurnId": {
|
|
"description": "Required active turn id precondition. The request fails when it does not match the currently active turn.",
|
|
"type": "string"
|
|
},
|
|
"input": {
|
|
"items": {
|
|
"$ref": "#/definitions/UserInput"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"threadId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"expectedTurnId",
|
|
"input",
|
|
"threadId"
|
|
],
|
|
"title": "TurnSteerParams",
|
|
"type": "object"
|
|
} |