"""Deterministic content-to-review demo pipeline."""

from __future__ import annotations

from dataclasses import dataclass

from autoshorts.content.brief import ContentBrief, create_content_brief
from autoshorts.content.script_draft import ScriptDraft, create_script_draft
from autoshorts.content.to_candidate import convert_script_draft_to_candidate
from autoshorts.ideas.candidate import VideoCandidate
from autoshorts.ideas.testbatch import TestBatch
from autoshorts.review.render import render_review_batch_summary
from autoshorts.review.workflow import ReviewBatch, build_review_batch
from autoshorts.telegram.review_sender import ReviewDelivery, prepare_review_delivery


@dataclass(frozen=True)
class ContentDemoPipelineResult:
    brief: ContentBrief
    script: ScriptDraft
    candidate: VideoCandidate
    testbatch: TestBatch
    review_batch: ReviewBatch
    delivery: ReviewDelivery


def build_ai_life_systems_demo_delivery() -> ContentDemoPipelineResult:
    """Run the deterministic AI-life-systems content demo through review prep."""

    brief = create_content_brief(
        pillar_id="ai_life_systems",
        topic="AI weekly review routine",
        audience_problem="I use AI tools but still lose control of priorities.",
        payoff="a 10-minute Sunday review that keeps AI as assistant, not boss",
    )
    script = create_script_draft(brief)
    candidate = convert_script_draft_to_candidate(brief, script)
    testbatch = TestBatch(
        batch_id="content-demo-ai-life-systems",
        candidates=(candidate,),
    )
    review_batch = build_review_batch(testbatch)
    review_text = render_review_batch_summary(review_batch)
    delivery = prepare_review_delivery(review_text, topic="review")

    return ContentDemoPipelineResult(
        brief=brief,
        script=script,
        candidate=candidate,
        testbatch=testbatch,
        review_batch=review_batch,
        delivery=delivery,
    )
