diff --git a/app/routers/recipes.py b/app/routers/recipes.py index a0ad98e..46e3ca8 100644 --- a/app/routers/recipes.py +++ b/app/routers/recipes.py @@ -155,17 +155,27 @@ async def get_recipe( "output": "#f59e0b", } + # Debug: log recipe structure + logger.info(f"Recipe keys: {list(recipe.keys())}") + # Get nodes from dag - can be list or dict, can be under "dag" or directly on recipe dag = recipe.get("dag", {}) - nodes = dag.get("nodes", []) + logger.info(f"DAG type: {type(dag)}, keys: {list(dag.keys()) if isinstance(dag, dict) else 'not dict'}") + nodes = dag.get("nodes", []) if isinstance(dag, dict) else [] + logger.info(f"Nodes from dag.nodes: {type(nodes)}, len: {len(nodes) if hasattr(nodes, '__len__') else 'N/A'}") # Also check for nodes directly on recipe (alternative formats) if not nodes: nodes = recipe.get("nodes", []) + logger.info(f"Nodes from recipe.nodes: {type(nodes)}, len: {len(nodes) if hasattr(nodes, '__len__') else 'N/A'}") if not nodes: nodes = recipe.get("pipeline", []) + logger.info(f"Nodes from recipe.pipeline: {type(nodes)}, len: {len(nodes) if hasattr(nodes, '__len__') else 'N/A'}") if not nodes: nodes = recipe.get("steps", []) + logger.info(f"Nodes from recipe.steps: {type(nodes)}, len: {len(nodes) if hasattr(nodes, '__len__') else 'N/A'}") + + logger.info(f"Final nodes count: {len(nodes) if hasattr(nodes, '__len__') else 'N/A'}") # Convert list of nodes to steps format if isinstance(nodes, list):