{ "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { "InputItem": { "oneOf": [ { "properties": { "data": { "properties": { "text": { "type": "string" }, "text_elements": { "default": [], "description": "UI-defined spans within `text` used to render or persist special elements.", "items": { "$ref": "#/definitions/V1TextElement" }, "type": "array" } }, "required": [ "text" ], "type": "object" }, "type": { "enum": [ "text" ], "title": "TextInputItemType", "type": "string" } }, "required": [ "data", "type" ], "title": "TextInputItem", "type": "object" }, { "properties": { "data": { "properties": { "image_url": { "type": "string" } }, "required": [ "image_url" ], "type": "object" }, "type": { "enum": [ "image" ], "title": "ImageInputItemType", "type": "string" } }, "required": [ "data", "type" ], "title": "ImageInputItem", "type": "object" }, { "properties": { "data": { "properties": { "path": { "type": "string" } }, "required": [ "path" ], "type": "object" }, "type": { "enum": [ "localImage" ], "title": "LocalImageInputItemType", "type": "string" } }, "required": [ "data", "type" ], "title": "LocalImageInputItem", "type": "object" } ] }, "ThreadId": { "type": "string" }, "V1ByteRange": { "properties": { "end": { "description": "End byte offset (exclusive) within the UTF-8 text buffer.", "format": "uint", "minimum": 0.0, "type": "integer" }, "start": { "description": "Start byte offset (inclusive) within the UTF-8 text buffer.", "format": "uint", "minimum": 0.0, "type": "integer" } }, "required": [ "end", "start" ], "type": "object" }, "V1TextElement": { "properties": { "byteRange": { "allOf": [ { "$ref": "#/definitions/V1ByteRange" } ], "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" } }, "properties": { "conversationId": { "$ref": "#/definitions/ThreadId" }, "items": { "items": { "$ref": "#/definitions/InputItem" }, "type": "array" } }, "required": [ "conversationId", "items" ], "title": "SendUserMessageParams", "type": "object" }