Value opencode Go plan requests; per-duration cache prices; usage under answers

- opencode Go reports plan requests as cost 0 with the usage in allowance;
  ModelConfig::cost values them at the model's list prices (charged amounts
  and free requests stay as reported). Rows booked at 0 are valued once on
  start (idempotent).
- opencode's price list now has per-duration cache prices for some models
  ({"30m": ..., "12h": ...}): the shortest duration is used, also in tiers.
  Saving the provider's models failed with "untagged enum ModelEntry".
- Each answer shows tokens sent/received and the cost of the turn's requests
  (usage.cost filled when messages are saved and loaded).
- The chat title keeps a minimum width in a crowded top bar.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Richard ZinkandClaude Opus 5.5 committed 2026-11-12 07:58:23 +01:00
1 parent 33612bf6d4
commit 1e8418336d
13 files changed
+231 -17

No files matched your search

+13 -1
View File
@@ -456,7 +456,8 @@ button.session-group:hover {
}
.topbar .grow {
flex: 1;
min-width: 0;
/* The title stays readable: with many chips they wrap into a second row instead. */
min-width: min(160px, 40vw);
}
.topbar h1 {
font-size: 15px;
@@ -4398,3 +4399,14 @@ span.chat-tab > button {
text-overflow: ellipsis;
white-space: nowrap;
}
/* Tokens and cost under each answer. */
.turn-usage {
display: flex;
align-items: center;
gap: 2px;
margin: -6px 0 12px;
font-size: 11px;
color: var(--muted);
font-variant-numeric: tabular-nums;
}