"""Mission generation, validation, and prerequisite graph construction.

This package provides:
- Per-category mission generation via LLM (multi-call with truncation resume)
- Validation and auto-fix for LLM hallucinations
- LangGraph pipeline with checkpointing for fault-tolerant execution

Public API:
    from unfamiliar.llm.missions import (
        run_mission_pipeline,
        PipelineResult,
        generate_category_missions,
        generate_category_missions_multi,
        CategoryMissionsResponse,
        ValidationResult,
        CATEGORY_ORDER,
    )
"""

from unfamiliar.llm.missions.generator import (
    generate_category_missions,
    generate_category_missions_multi,
)
from unfamiliar.llm.missions.pipeline import (
    CATEGORY_ORDER,
    PipelineResult,
    run_mission_pipeline,
)
from unfamiliar.llm.missions.schemas import CategoryMissionsResponse
from unfamiliar.llm.missions.validation import ValidationResult

__all__ = [
    # Pipeline
    "run_mission_pipeline",
    "PipelineResult",
    "CATEGORY_ORDER",
    # Generator
    "generate_category_missions",
    "generate_category_missions_multi",
    # Schemas
    "CategoryMissionsResponse",
    # Validation
    "ValidationResult",
]
