{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/ToolMessageStart", "title": "ToolMessageStart", "type": "object", "properties": { "contents": { "type": "array", "description": "This is an alternative to the `content` property. It allows to specify variants of the same content, one per language.\n\nUsage:\n- If your assistants are multilingual, you can provide content for each language.\n- If you don't provide content for a language, the first item in the array will be automatically translated to the active language at that moment.\n\nThis will override the `content` property.", "items": { "oneOf": [ { "$ref": "#/components/schemas/TextContent", "title": "Text" } ] } }, "type": { "type": "string", "enum": [ "request-start" ], "description": "This message is triggered when the tool call starts.\n\nThis message is never triggered for async tools.\n\nIf this message is not provided, one of the default filler messages \"Hold on a sec\", \"One moment\", \"Just a sec\", \"Give me a moment\" or \"This'll just take a sec\" will be used." }, "blocking": { "type": "boolean", "description": "This is an optional boolean that if true, the tool call will only trigger after the message is spoken. Default is false.\n\n@default false", "example": false, "default": false }, "content": { "type": "string", "description": "This is the content that the assistant says when this message is triggered.", "maxLength": 1000 }, "conditions": { "description": "This is an optional array of conditions that the tool call arguments must meet in order for this message to be triggered.", "type": "array", "items": { "$ref": "#/components/schemas/Condition" } } }, "required": [ "type" ] }