diff --git a/clients/web/src/components/groups/HistoryEntry/HistoryEntry.tsx b/clients/web/src/components/groups/HistoryEntry/HistoryEntry.tsx index 0d3572b4..0d795f94 100644 --- a/clients/web/src/components/groups/HistoryEntry/HistoryEntry.tsx +++ b/clients/web/src/components/groups/HistoryEntry/HistoryEntry.tsx @@ -11,6 +11,7 @@ import { } from "@mantine/core"; import type { MessageEntry } from "../../../../../../core/mcp/types.js"; import { ContentViewer } from "../../elements/ContentViewer/ContentViewer"; +import { extractMethod } from "../historyUtils.js"; export interface HistoryEntryProps { entry: MessageEntry; @@ -63,13 +64,6 @@ function formatPinLabel(isPinned: boolean): string { return isPinned ? "Unpin" : "Pin"; } -function extractMethod(entry: MessageEntry): string { - if ("method" in entry.message) { - return entry.message.method; - } - return "response"; -} - function extractTarget(entry: MessageEntry): string | undefined { const msg = entry.message; if (!("params" in msg) || !msg.params) return undefined; @@ -147,16 +141,18 @@ export function HistoryEntry({ - - Request: - - + {"params" in entry.message && entry.message.params && ( + + Parameters: + + + )} {entry.response && ( Response: diff --git a/clients/web/src/components/groups/HistoryListPanel/HistoryListPanel.tsx b/clients/web/src/components/groups/HistoryListPanel/HistoryListPanel.tsx index 0895fa24..dbda18f1 100644 --- a/clients/web/src/components/groups/HistoryListPanel/HistoryListPanel.tsx +++ b/clients/web/src/components/groups/HistoryListPanel/HistoryListPanel.tsx @@ -11,6 +11,7 @@ import { import type { MessageEntry } from "../../../../../../core/mcp/types.js"; import { HistoryEntry } from "../HistoryEntry/HistoryEntry"; import { ListToggle } from "../../elements/ListToggle/ListToggle"; +import { extractMethod } from "../historyUtils.js"; export interface HistoryListPanelProps { entries: MessageEntry[]; @@ -49,13 +50,6 @@ function formatHistoryTitle(count: number): string { return `History (${count})`; } -function extractMethod(entry: MessageEntry): string { - if ("method" in entry.message) { - return entry.message.method; - } - return "response"; -} - function matchesFilters( entry: MessageEntry, searchText: string, @@ -65,8 +59,9 @@ function matchesFilters( if (methodFilter && method !== methodFilter) return false; if (searchText) { const term = searchText.toLowerCase(); + const responseText = entry.response ? JSON.stringify(entry.response) : ""; const searchable = - `${method} ${entry.id} ${JSON.stringify(entry.message)}`.toLowerCase(); + `${method} ${entry.id} ${JSON.stringify(entry.message)} ${responseText}`.toLowerCase(); if (!searchable.includes(term)) return false; } return true; diff --git a/clients/web/src/components/groups/historyUtils.ts b/clients/web/src/components/groups/historyUtils.ts new file mode 100644 index 00000000..6180feb8 --- /dev/null +++ b/clients/web/src/components/groups/historyUtils.ts @@ -0,0 +1,8 @@ +import type { MessageEntry } from "../../../../../core/mcp/types.js"; + +export function extractMethod(entry: MessageEntry): string { + if ("method" in entry.message) { + return entry.message.method; + } + return "response"; +}