from app.graph.workflow import compiled_graph
from app.repositories.qdrant_repository import QdrantRepository

async def run_arc_workflow(state_data: dict, qdrant_repo: QdrantRepository) -> dict:
    """
    Prend le state actuel (provenant de l'API/Chainlit),
    exécute le graphe jusqu'au prochain point d'arrêt (END),
    et retourne le state mis à jour.
    """
    final_state = await compiled_graph.ainvoke(state_data, config={"configurable": {"qdrant_repo": qdrant_repo}})
    
    return dict(final_state)