|
|
@@ -15,7 +15,7 @@ import { useLanguage } from "@/context/language"
|
|
|
import { useProviders } from "@/hooks/use-providers"
|
|
|
import { useSDK } from "@/context/sdk"
|
|
|
import { useSessionLayout } from "@/pages/session/session-layout"
|
|
|
-import { getSessionContext, getSessionTokenTotal } from "./session-context-metrics"
|
|
|
+import { getSessionContext } from "./session-context-metrics"
|
|
|
import { estimateSessionContextBreakdown, type SessionContextBreakdownKey } from "./session-context-breakdown"
|
|
|
import { createSessionContextFormatter } from "./session-context-format"
|
|
|
|
|
|
@@ -135,7 +135,6 @@ export function SessionContextTab() {
|
|
|
)
|
|
|
|
|
|
const ctx = createMemo(() => getSessionContext(messages(), [...providers.all().values()]))
|
|
|
- const tokens = createMemo(() => info()?.tokens)
|
|
|
const formatter = createMemo(() => createSessionContextFormatter(language.intl()))
|
|
|
|
|
|
const cost = createMemo(() => {
|
|
|
@@ -204,14 +203,15 @@ export function SessionContextTab() {
|
|
|
{ label: "context.stats.provider", value: providerLabel },
|
|
|
{ label: "context.stats.model", value: modelLabel },
|
|
|
{ label: "context.stats.limit", value: () => formatter().number(ctx()?.limit) },
|
|
|
- { label: "context.stats.totalTokens", value: () => formatter().number(getSessionTokenTotal(tokens())) },
|
|
|
+ { label: "context.stats.totalTokens", value: () => formatter().number(ctx()?.total) },
|
|
|
{ label: "context.stats.usage", value: () => formatter().percent(ctx()?.usage) },
|
|
|
- { label: "context.stats.inputTokens", value: () => formatter().number(tokens()?.input) },
|
|
|
- { label: "context.stats.outputTokens", value: () => formatter().number(tokens()?.output) },
|
|
|
- { label: "context.stats.reasoningTokens", value: () => formatter().number(tokens()?.reasoning) },
|
|
|
+ { label: "context.stats.inputTokens", value: () => formatter().number(ctx()?.input) },
|
|
|
+ { label: "context.stats.outputTokens", value: () => formatter().number(ctx()?.message.tokens.output) },
|
|
|
+ { label: "context.stats.reasoningTokens", value: () => formatter().number(ctx()?.message.tokens.reasoning) },
|
|
|
{
|
|
|
label: "context.stats.cacheTokens",
|
|
|
- value: () => `${formatter().number(tokens()?.cache.read)} / ${formatter().number(tokens()?.cache.write)}`,
|
|
|
+ value: () =>
|
|
|
+ `${formatter().number(ctx()?.message.tokens.cache.read)} / ${formatter().number(ctx()?.message.tokens.cache.write)}`,
|
|
|
},
|
|
|
{ label: "context.stats.userMessages", value: () => counts().user.toLocaleString(language.intl()) },
|
|
|
{ label: "context.stats.assistantMessages", value: () => counts().assistant.toLocaleString(language.intl()) },
|