"""Generate final voiceover scripts for selected AutoShortsBot ideas."""

from __future__ import annotations

import argparse
import sys
from pathlib import Path

PROJECT_ROOT = Path(__file__).resolve().parents[1]
if str(PROJECT_ROOT) not in sys.path:
    sys.path.insert(0, str(PROJECT_ROOT))

from autoshorts.growth_plan import load_testbatch
from autoshorts.voiceover_finalizer import write_final_scripts


DEFAULT_SELECTED_IDS = ["ai-004", "ai-005", "attention-002"]


def main() -> None:
    parser = argparse.ArgumentParser(description="Generate final voiceover scripts.")
    parser.add_argument("--batch", default="data/drafts/testbatch_002.json")
    parser.add_argument("--out", default="data/final_scripts/testbatch_002_top3")
    parser.add_argument("--ids", nargs="*", default=DEFAULT_SELECTED_IDS)
    args = parser.parse_args()

    batch = load_testbatch(Path(args.batch))
    paths = write_final_scripts(batch, Path(args.out), selected_ids=args.ids)
    print(f"Generated {len(paths)} final scripts in {args.out}")
    for path in paths:
        print(path)


if __name__ == "__main__":
    main()
