def process_input(
self, prompt: str, password: bool, messages: list[IOMessage]
) -> AskingMessage:
last_message = messages[-1]
sender, recipient = None, None
message: AskingMessage
if _match("auto_reply_input", prompt):
# logger.info("IOStreamAdapter.input(): auto_reply_input detected")
sender, recipient = _findall("auto_reply_input", prompt) # type: ignore[assignment]
if last_message.type == "suggested_function_call":
# logger.info("IOStreamAdapter.input(): suggested_function_call detected")
message = MultipleChoice(
sender=sender,
recipient=recipient,
prompt="Please approve the suggested function call.",
choices=["Approve", "Reject", "Exit"],
default="Approve",
)
else:
# logger.info("IOStreamAdapter.input(): text_message detected")
message = TextInput(
sender=None, recipient=None, prompt=prompt, password=password
)
return message