fix(cli): show actual task output in log-tasks-outputs (#7936)

* fix(cli): show actual task output in log-tasks-outputs

* fix(cli): show task result instead of storage blob in log-tasks-outputs

---------

Co-authored-by: Vidit Ostwal <[email protected]>
This commit is contained in:
Sathyajith MC
2026-10-08 05:22:13 +00:00
committed by GitHub
co-authored by Vidit Ostwal
parent 1d4015439a
commit b90fa6e822
2 changed files with 46 additions and 1 deletions
+5 -1
View File
@@ -427,7 +427,11 @@ def log_tasks_outputs() -> None:
for index, task in enumerate(tasks, 1):
click.echo(f"Task {index}: {task['task_id']}")
click.echo(f"Description: {task['expected_output']}")
click.echo(f"Expected output: {task['expected_output']}")
output = task["output"]
if isinstance(output, dict):
output = output.get("raw", output)
click.echo(f"Output: {output}")
click.echo("------")
except Exception as e:
+41
View File
@@ -11,8 +11,10 @@ from crewai_cli.cli import (
deploy_push,
deploy_remove,
deply_status,
evaluate_crew,
flow_add_crew,
flow_run,
log_tasks_outputs,
login,
replay,
reset_memories,
@@ -482,3 +484,42 @@ def test_add_crew_to_flow_not_in_root(runner):
assert "This command must be run from the root of a flow project." in str(
result.output
)
@mock.patch("crewai_cli.task_outputs.load_task_outputs")
def test_log_tasks_outputs_shows_result_not_blob(mock_load, runner):
mock_load.return_value = [
{
"task_id": "abc",
"expected_output": "EXP",
"output": {"raw": "REAL", "messages": [{"role": "user"}]},
"task_index": 0,
"inputs": None,
"was_replayed": 0,
"timestamp": "t",
}
]
result = runner.invoke(log_tasks_outputs)
assert result.exit_code == 0
assert "Output: REAL" in result.output
assert "messages" not in result.output
@mock.patch("crewai_cli.task_outputs.load_task_outputs")
def test_log_tasks_outputs_plain_output(mock_load, runner):
mock_load.return_value = [
{
"task_id": "abc",
"expected_output": "EXP",
"output": "REAL",
"task_index": 0,
"inputs": None,
"was_replayed": 0,
"timestamp": "t",
}
]
result = runner.invoke(log_tasks_outputs)
assert result.exit_code == 0
assert "Output: REAL" in result.output