fix: pipes and tools get None instead of a file list when nothing is attached

Pipes and tools received None instead of a list of files on messages without attachments, which does not match the docs and breaks plugins that loop over the files. Pipes and tools now get an empty list in that case.

Fixes #32379
This commit is contained in:
Classic298 2026-10-14 00:01:22 +02:00
parent ed8c744e77
commit 1e3563e05b
2 changed files with 3 additions and 3 deletions

View file

@ -225,7 +225,7 @@ async def generate_function_chat_completion(request, form_data, user, models: di
metadata = form_data.pop('metadata', {})
files = metadata.get('files', [])
files = metadata.get('files') or []
tool_ids = metadata.get('tool_ids', [])
# Check if tool_ids is None
if tool_ids is None:

View file

@ -3117,7 +3117,7 @@ async def process_chat_payload(request, form_data, user, metadata, model):
**extra_params,
'__model__': models[task_model_id],
'__messages__': form_data['messages'],
'__files__': metadata.get('files', []),
'__files__': metadata.get('files') or [],
},
)
@ -3507,7 +3507,7 @@ async def execute_tool_call(form_data, metadata, event_caller, tool_call):
function=tool['callable'],
extra_params={
'__messages__': form_data.get('messages', []),
'__files__': metadata.get('files', []),
'__files__': metadata.get('files') or [],
},
)
result = await function(**params)