def __init__(
self,
*args: SendableMessage | Input,
parts: list[SendableMessage | Input] | None = None,
final: bool = False,
metadata: dict[str, Any] | None = None,
) -> None:
inputs: list[SendableMessage | Input] = list(args)
if parts:
inputs.extend(parts)
self.parts = [Input.ensure_input(p) for p in inputs]
self.final = final
self.metadata = metadata or {}