from typing import Any, Dict


def default_pipeline() -> Dict[str, Any]:
    # Минимальный дефолт без устаревших нод.
    # Если пайплайн пустой, сервер вернёт echo-ответ (см. server.execute_pipeline_echo).
    # Добавлены поля управления режимом исполнения:
    #   - loop_mode: "dag" | "iterative" (по умолчанию "dag")
    #   - loop_max_iters: максимальное число запусков задач (safety)
    #   - loop_time_budget_ms: ограничение по времени (safety)
    return {
        "id": "pipeline_default",
        "name": "Default Chat Pipeline",
        "parallel_limit": 8,
        "loop_mode": "dag",
        "loop_max_iters": 1000,
        "loop_time_budget_ms": 10000,
        "clear_var_store": True,
        "nodes": []
    }


