diff --git a/packages/ui/src/App.tsx b/packages/ui/src/App.tsx index 7df5b893..1dd3cb13 100644 --- a/packages/ui/src/App.tsx +++ b/packages/ui/src/App.tsx @@ -47,6 +47,7 @@ const App: Component = () => { preferences, recordWorkspaceLaunch, toggleShowThinkingBlocks, + toggleUsageMetrics, setDiffViewMode, setToolOutputExpansion, setDiagnosticsExpansion, @@ -205,6 +206,7 @@ const App: Component = () => { const { commands: paletteCommands, executeCommand } = useCommands({ preferences, toggleShowThinkingBlocks, + toggleUsageMetrics, setDiffViewMode, setToolOutputExpansion, setDiagnosticsExpansion, diff --git a/packages/ui/src/components/message-item.tsx b/packages/ui/src/components/message-item.tsx index 64cb3432..8591d2b5 100644 --- a/packages/ui/src/components/message-item.tsx +++ b/packages/ui/src/components/message-item.tsx @@ -2,6 +2,7 @@ import { For, Show, createMemo } from "solid-js" import type { Message, SDKPart, MessageInfo, ClientPart } from "../types/message" import { partHasRenderableText } from "../types/message" import { formatTokenTotal } from "../lib/formatters" +import { preferences } from "../stores/preferences" import MessagePart from "./message-part" interface MessageItemProps { @@ -17,6 +18,7 @@ interface MessageItemProps { export default function MessageItem(props: MessageItemProps) { const isUser = () => props.message.type === "user" + const showUsageMetrics = () => preferences().showUsageMetrics ?? true const timestamp = () => { const date = new Date(props.message.timestamp) return date.toLocaleTimeString([], { hour: "2-digit", minute: "2-digit" }) @@ -150,6 +152,9 @@ export default function MessageItem(props: MessageItemProps) { if (!info || info.role !== "assistant" || !info.tokens) { return null } + if (!showUsageMetrics()) { + return null + } const tokens = info.tokens const input = tokens.input ?? 0 diff --git a/packages/ui/src/components/message-stream.tsx b/packages/ui/src/components/message-stream.tsx index 16b477c9..55172ab5 100644 --- a/packages/ui/src/components/message-stream.tsx +++ b/packages/ui/src/components/message-stream.tsx @@ -545,21 +545,22 @@ export default function MessageStream(props: MessageStreamProps) { return (
-
-
-
- Used - {formatTokens(sessionInfo().actualUsageTokens ?? 0)} -
-
- Avail - - {sessionInfo().contextAvailableTokens !== null ? formatTokens(sessionInfo().contextAvailableTokens ?? 0) : "--"} - -
+
+
+
+ Used + {formatTokens(sessionInfo().actualUsageTokens ?? 0)}
- +
+ Avail + + {sessionInfo().contextAvailableTokens !== null ? formatTokens(sessionInfo().contextAvailableTokens ?? 0) : "--"} + +
+
+
+