diff --git a/pkg/agentic/session.go b/pkg/agentic/session.go index 7683297..a715d5e 100644 --- a/pkg/agentic/session.go +++ b/pkg/agentic/session.go @@ -879,11 +879,17 @@ func sessionReplayContext(session Session) map[string]any { "last_active_at": session.UpdatedAt, "context_summary": session.ContextSummary, "progress_summary": sessionProgressSummary(session.WorkLog), + "work_log": session.WorkLog, "last_checkpoint": lastCheckpoint, "checkpoints": checkpoints, "decisions": decisions, "errors": errors, - "artifacts": session.Artifacts, + "work_log_by_type": map[string]any{ + "checkpoint": checkpoints, + "decision": decisions, + "error": errors, + }, + "artifacts": session.Artifacts, "artifacts_by_action": map[string]any{ "created": filterArtifactsByAction(session.Artifacts, "created"), "modified": filterArtifactsByAction(session.Artifacts, "modified"), diff --git a/pkg/agentic/session_test.go b/pkg/agentic/session_test.go index 96f9a56..a3c6aa1 100644 --- a/pkg/agentic/session_test.go +++ b/pkg/agentic/session_test.go @@ -408,7 +408,9 @@ func TestSession_HandleSessionReplay_Good(t *testing.T) { require.True(t, ok) assert.Equal(t, "ses_replay", output.ReplayContext["session_id"]) assert.Equal(t, 3, output.ReplayContext["total_actions"]) + require.Len(t, output.ReplayContext["work_log"].([]map[string]any), 3) require.Len(t, output.ReplayContext["checkpoints"].([]map[string]any), 1) + require.Len(t, output.ReplayContext["work_log_by_type"].(map[string]any)["error"].([]map[string]any), 1) } func TestSession_HandleSessionReplay_Bad(t *testing.T) {