diff --git a/app/routers/runs.py b/app/routers/runs.py index 296cec4..a951c9e 100644 --- a/app/routers/runs.py +++ b/app/routers/runs.py @@ -133,6 +133,7 @@ async def get_run( "type": node.get("type", "EFFECT"), "status": "completed", # Run completed "inputs": node.get("inputs", []), + "config": node.get("config", {}), }) elif isinstance(nodes, dict): for node_id, node in nodes.items(): @@ -142,6 +143,7 @@ async def get_run( "type": node.get("type", "EFFECT"), "status": "completed", "inputs": node.get("inputs", []), + "config": node.get("config", {}), }) if steps: @@ -174,6 +176,25 @@ async def get_run( "media_type": media_type or "application/octet-stream", }) + # Build inputs list with media types + run_inputs = [] + if run.get("inputs"): + import mimetypes + cache_manager = get_cache_manager() + for i, input_hash in enumerate(run["inputs"]): + media_type = None + try: + cache_path = cache_manager.get_path(input_hash) + if cache_path and cache_path.exists(): + media_type, _ = mimetypes.guess_type(str(cache_path)) + except Exception: + pass + run_inputs.append({ + "hash": input_hash, + "name": f"Input {i + 1}", + "media_type": media_type, + }) + # Build DAG elements for visualization dag_elements = [] if plan and plan.get("steps"): @@ -209,6 +230,7 @@ async def get_run( run=run, plan=plan, artifacts=artifacts, + run_inputs=run_inputs, dag_elements=dag_elements, active_tab="runs", ) diff --git a/app/templates/runs/detail.html b/app/templates/runs/detail.html index 7cac740..4f90904 100644 --- a/app/templates/runs/detail.html +++ b/app/templates/runs/detail.html @@ -77,12 +77,57 @@
{% if plan %} -
+
+ +
+
+
+ +
+
+ Click a node to view details +
+ +
+
+ +
{% for step in plan.steps %} {% set step_color = 'green' if step.status == 'completed' or step.cache_id else ('purple' if step.cached else ('blue' if step.status == 'running' else 'gray')) %} -
+
@@ -102,23 +147,11 @@ {% if step.cache_id %} {% endif %} - {% if step.outputs and step.outputs | length > 1 %} -
- Additional outputs: - {% for output in step.outputs %} - {% if output != step.cache_id %} - - {{ output[:32] }}... - - {% endif %} - {% endfor %} -
- {% endif %}
{% endfor %}
@@ -255,7 +288,52 @@