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