Source code for acp_sdk.client.utils
from acp_sdk.client.types import Input
from acp_sdk.models.models import Message, MessagePart
[docs]
def input_to_messages(input: Input) -> list[Message]:
if isinstance(input, list):
if len(input) == 0:
return []
if all(isinstance(item, Message) for item in input):
return input
elif all(isinstance(item, MessagePart) for item in input):
return [Message(parts=input)]
elif all(isinstance(item, str) for item in input):
return [Message(parts=[MessagePart(content=content) for content in input])]
else:
raise TypeError("List with mixed types is not supported")
else:
if isinstance(input, str):
input = MessagePart(content=input)
if isinstance(input, MessagePart):
input = Message(parts=[input])
if isinstance(input, Message):
input = [input]
return input