diff --git a/core/index.d.ts b/core/index.d.ts index d88feb60bf2..c3eabdd953b 100644 --- a/core/index.d.ts +++ b/core/index.d.ts @@ -290,6 +290,7 @@ export interface BaseSessionMetadata { title: string; dateCreated: string; workspaceDirectory: string; + messageCount?: number; } export interface RangeInFile { diff --git a/core/util/history.ts b/core/util/history.ts index cc1cf69cbf6..44241c4201e 100644 --- a/core/util/history.ts +++ b/core/util/history.ts @@ -141,10 +141,14 @@ export class HistoryManager { } let found = false; + const messageCount = session.history.filter( + (item) => item.message.role === "assistant", + ).length; for (const sessionMetadata of sessionsList) { if (sessionMetadata.sessionId === session.sessionId) { sessionMetadata.title = session.title; sessionMetadata.workspaceDirectory = session.workspaceDirectory; + sessionMetadata.messageCount = messageCount; found = true; break; } @@ -156,6 +160,7 @@ export class HistoryManager { title: session.title, dateCreated: String(Date.now()), workspaceDirectory: session.workspaceDirectory, + messageCount, }; sessionsList.push(sessionMetadata); } diff --git a/gui/src/components/History/HistoryTableRow.tsx b/gui/src/components/History/HistoryTableRow.tsx index 4c6fa2417f2..45c7f130976 100644 --- a/gui/src/components/History/HistoryTableRow.tsx +++ b/gui/src/components/History/HistoryTableRow.tsx @@ -1,8 +1,8 @@ import { ArrowDownOnSquareIcon, + CloudIcon, PencilSquareIcon, TrashIcon, - CloudIcon, } from "@heroicons/react/24/outline"; import { BaseSessionMetadata } from "core"; import type { RemoteSessionMetadata } from "core/control-plane/client"; @@ -22,6 +22,7 @@ import { } from "../../redux/thunks/session"; import { isShareSessionSupported } from "../../util"; import HeaderButtonWithToolTip from "../gui/HeaderButtonWithToolTip"; +import { ToolTip } from "../gui/Tooltip"; const shareSessionSupported = isShareSessionSupported(); @@ -144,6 +145,18 @@ export function HistoryTableRow({ Remote )} + + {sessionMetadata.messageCount !== undefined && ( + + + {sessionMetadata.messageCount} + + + )} )} @@ -166,7 +179,7 @@ export function HistoryTableRow({ {hovered && !editing && ( - + {isRemote ? (