Yes, I can confirm that it happens. Probably because of the function definition. If I will rewrite your functions:
{
"name": "manage_call",
"description": "Call management function that allows for various operations on tasks",
"parameters": {
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "The action to be performed, such as 'transfer_call', 'hold_call', or 'end_call'",
"enum": [
"transfer_call",
"hold_call",
"end_call"
]
}
},
"required": ["task"]
}
}
It will get you something like this:
{
index: 0,
delta: {
role: 'assistant',
content: null,
function_call: { name: 'manage_call', arguments: '' }
},
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: '{\n' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: ' ' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: ' "' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: 'task' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: '":' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: ' "' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: 'transfer' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: '_call' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: '"\n' } },
finish_reason: null
}
{
index: 0,
delta: { function_call: { arguments: '}' } },
finish_reason: null
}
{ index: 0, delta: {}, finish_reason: 'function_call' }
{ name: ‘manage_call’, arguments: ‘{\n “task”: “transfer_call”\n}’ }