diff --git a/backend/app/api/routes/lineage.py b/backend/app/api/routes/lineage.py index cfd4bc6..32059f4 100644 --- a/backend/app/api/routes/lineage.py +++ b/backend/app/api/routes/lineage.py @@ -80,6 +80,7 @@ class CheckpointNode(BaseModel): created_at: datetime summary: str objective: str + author_agent: Optional[str] = None model_config = {"from_attributes": True} @@ -365,6 +366,7 @@ def get_lineage(space_id: uuid.UUID, db: Session = Depends(get_db)): created_at=c.created_at, summary=c.summary or "", objective=c.objective or "", + author_agent=c.author_agent, ) for c in commits ] diff --git a/frontend/src/pages/LineagePage.tsx b/frontend/src/pages/LineagePage.tsx index d23f6e2..6eee041 100644 --- a/frontend/src/pages/LineagePage.tsx +++ b/frontend/src/pages/LineagePage.tsx @@ -313,6 +313,11 @@ function CheckpointCard({
{checkpoint.commit_hash.slice(0, 7)}
+ {checkpoint.author_agent && (
+
+ {checkpoint.author_agent}
+
+ )}
{fmt(checkpoint.created_at)}
{checkpoint.message}
diff --git a/frontend/src/types/index.ts b/frontend/src/types/index.ts index 8b67a69..26ae477 100644 --- a/frontend/src/types/index.ts +++ b/frontend/src/types/index.ts @@ -199,6 +199,7 @@ export interface CheckpointNode { created_at: string; summary: string; objective: string; + author_agent: string | null; } export interface SessionNode {