"""Print the deterministic sample Telegram review delivery."""

from __future__ import annotations

import sys
from collections.abc import Sequence
from typing import TextIO

from autoshorts.demo.sample_batch import render_sample_review_batch
from autoshorts.telegram.review_sender import prepare_review_delivery


def main(argv: Sequence[str] | None = None, *, stdout: TextIO | None = None) -> int:
    """Print delivery metadata and review text without sending anything."""

    _ = argv or ()
    output = stdout or sys.stdout
    delivery = prepare_review_delivery(render_sample_review_batch(), topic="review")
    side_effects = ", ".join(delivery.side_effects) if delivery.side_effects else "none"
    approval = "yes" if delivery.requires_human_approval else "no"

    print(f"Delivery type: {delivery.delivery_type}", file=output)
    print(f"Topic: {delivery.topic}", file=output)
    print(f"Requires human approval: {approval}", file=output)
    print(f"Side effects: {side_effects}", file=output)
    print(f"Text length: {len(delivery.text)}", file=output)
    print("", file=output)
    print(delivery.text, file=output)
    return 0


if __name__ == "__main__":
    raise SystemExit(main())
