| """ | |
| Graph nodes — wrapper functions that plug agents into the LangGraph workflow. | |
| Each node function takes DebateState, calls the corresponding agent, | |
| and returns the state update. | |
| """ | |
| from agents.chef import run_chef | |
| from agents.eco import run_eco | |
| from agents.moderator import run_moderator | |
| from agents.nutrition import run_nutrition | |
| from graph.state import DebateState | |
| def chef_node(state: DebateState) -> dict: | |
| """Chef agent node.""" | |
| return run_chef(state) | |
| def nutrition_node(state: DebateState) -> dict: | |
| """Nutrition agent node.""" | |
| return run_nutrition(state) | |
| def eco_node(state: DebateState) -> dict: | |
| """Éco agent node.""" | |
| return run_eco(state) | |
| def moderator_node(state: DebateState) -> dict: | |
| """ | |
| Modérateur agent node. | |
| After the moderator speaks, increment the round counter. | |
| """ | |
| result = run_moderator(state) | |
| # Increment the round after the moderator finishes | |
| result["current_round"] = state.get("current_round", 1) + 1 | |
| return result | |