summaryrefslogtreecommitdiffhomepage
path: root/src/features/chat/ui/ChatView.svelte
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-10-10 00:54:47 +0900
committerAdam Malczewski <[email protected]>2026-10-10 00:54:47 +0900
commitd8381e201cb1407a939b496642a0803aec58a47d (patch)
tree3f596971e5c2f2644f76b7be878569cdde30fbf5 /src/features/chat/ui/ChatView.svelte
parentc5663ff2821917f1e5a09c2e11eae005bfbb0714 (diff)
downloaddispatch-web-d8381e201cb1407a939b496642a0803aec58a47d.tar.gz
dispatch-web-d8381e201cb1407a939b496642a0803aec58a47d.zip
feat(turn-metrics): per-step cache hit badge on each step-metrics row
Diffstat (limited to 'src/features/chat/ui/ChatView.svelte')
-rw-r--r--src/features/chat/ui/ChatView.svelte21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/features/chat/ui/ChatView.svelte b/src/features/chat/ui/ChatView.svelte
index 182b3d6..8f153bf 100644
--- a/src/features/chat/ui/ChatView.svelte
+++ b/src/features/chat/ui/ChatView.svelte
@@ -248,14 +248,23 @@
{#each keyedRows as { row, key } (key)}
{#if row.kind === "step-metrics"}
{@const sv = viewStepMetrics(row.step, row.index)}
+ {@const stepCache = viewCacheRate(row.step.usage)}
<div class="chat chat-start">
<div class="chat-bubble w-full max-w-5xl bg-transparent p-0">
- <div class="text-xs opacity-70">
- {sv.label} · {sv.tokensLabel}
- {#if sv.tps}
- · {sv.tps}{/if}
- {#if sv.ttft}
- · {sv.ttft} to first token{/if}
+ <div class="flex flex-wrap items-center gap-x-1 text-xs">
+ <span class="opacity-70">
+ {sv.label} · {sv.tokensLabel}
+ {#if sv.tps}
+ · {sv.tps}{/if}
+ {#if sv.ttft}
+ · {sv.ttft} to first token{/if}
+ ·
+ </span>
+ <span class="opacity-70">cache:</span>
+ <span
+ class="badge badge-xs {badgeClass[stepCache.level]}"
+ data-testid="step-cache-badge">{stepCache.pct}%</span
+ >
</div>
</div>
</div>