mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-29 06:33:28 +00:00
fix(utils): add type discipline annotations for validate_and_fix_openai_messages
Adds mutable-ok suppressions to the list parameter annotation and the new_messages accumulator, Final to the accumulator, and a cast-ok on the append call to satisfy the LIT001/LIT006/LIT010 discipline gate.
This commit is contained in:
parent
c91106b258
commit
feb2ccc763
1 changed files with 5 additions and 3 deletions
|
|
@ -8419,13 +8419,15 @@ def convert_list_message_to_dict(
|
|||
return [dict(cleanup_none_field_in_message(message=_as_message_value(message))) for message in messages]
|
||||
|
||||
|
||||
def validate_and_fix_openai_messages(messages: list[Any]):
|
||||
def validate_and_fix_openai_messages(
|
||||
messages: list[Any], # mutable-ok: caller passes arbitrary message dicts
|
||||
):
|
||||
"""
|
||||
Ensures all messages are valid OpenAI chat completion messages.
|
||||
|
||||
Handles missing role for assistant messages.
|
||||
"""
|
||||
new_messages: list[AllMessageValues] = []
|
||||
new_messages: Final[list[AllMessageValues]] = [] # mutable-ok: list is populated by appending, name never rebound
|
||||
for message in messages:
|
||||
# Copy before mutating: assigning dicts into a pydantic Message's
|
||||
# tool_calls triggers PydanticSerializationUnexpectedValue warnings on
|
||||
|
|
@ -8446,7 +8448,7 @@ def validate_and_fix_openai_messages(messages: list[Any]):
|
|||
),
|
||||
)
|
||||
cleaned_message = cleanup_none_field_in_message(message=convert_msg_to_dict)
|
||||
new_messages.append(cast(AllMessageValues, cleaned_message))
|
||||
new_messages.append(cast(AllMessageValues, cleaned_message)) # cast-ok: cleanup_none_field_in_message return satisfies AllMessageValues
|
||||
return validate_chat_completion_user_messages(messages=new_messages)
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue