summaryrefslogtreecommitdiffhomepage
path: root/packages/tui/internal/components/status
diff options
context:
space:
mode:
authoradamdottv <[email protected]>2025-07-10 10:06:36 -0500
committeradamdottv <[email protected]>2025-07-10 10:06:51 -0500
commitd3e5f3f3a8e1867b9ec97bc2fe69c2fa4bf6483e (patch)
tree05504e7ef0bd0d8eb9ca947c3dfa1d2860a5947f /packages/tui/internal/components/status
parentce4cb820f72591d58ea78d1c0d955a7ca50a0217 (diff)
downloadopencode-d3e5f3f3a8e1867b9ec97bc2fe69c2fa4bf6483e.tar.gz
opencode-d3e5f3f3a8e1867b9ec97bc2fe69c2fa4bf6483e.zip
feat(tui): add token and cost info to session header
Diffstat (limited to 'packages/tui/internal/components/status')
-rw-r--r--packages/tui/internal/components/status/status.go80
1 files changed, 0 insertions, 80 deletions
diff --git a/packages/tui/internal/components/status/status.go b/packages/tui/internal/components/status/status.go
index 0809114d0..8ab542774 100644
--- a/packages/tui/internal/components/status/status.go
+++ b/packages/tui/internal/components/status/status.go
@@ -1,7 +1,6 @@
package status
import (
- "fmt"
"os"
"strings"
@@ -56,50 +55,6 @@ func (m statusComponent) logo() string {
Render(open + code + version)
}
-func formatTokensAndCost(
- tokens float64,
- contextWindow float64,
- cost float64,
- isSubscriptionModel bool,
-) string {
- // Format tokens in human-readable format (e.g., 110K, 1.2M)
- var formattedTokens string
- switch {
- case tokens >= 1_000_000:
- formattedTokens = fmt.Sprintf("%.1fM", float64(tokens)/1_000_000)
- case tokens >= 1_000:
- formattedTokens = fmt.Sprintf("%.1fK", float64(tokens)/1_000)
- default:
- formattedTokens = fmt.Sprintf("%d", int(tokens))
- }
-
- // Remove .0 suffix if present
- if strings.HasSuffix(formattedTokens, ".0K") {
- formattedTokens = strings.Replace(formattedTokens, ".0K", "K", 1)
- }
- if strings.HasSuffix(formattedTokens, ".0M") {
- formattedTokens = strings.Replace(formattedTokens, ".0M", "M", 1)
- }
-
- percentage := (float64(tokens) / float64(contextWindow)) * 100
-
- if isSubscriptionModel {
- return fmt.Sprintf(
- "Context: %s (%d%%)",
- formattedTokens,
- int(percentage),
- )
- }
-
- formattedCost := fmt.Sprintf("$%.2f", cost)
- return fmt.Sprintf(
- "Context: %s (%d%%), Cost: %s",
- formattedTokens,
- int(percentage),
- formattedCost,
- )
-}
-
func (m statusComponent) View() string {
t := theme.CurrentTheme()
logo := m.logo()
@@ -110,41 +65,6 @@ func (m statusComponent) View() string {
Padding(0, 1).
Render(m.cwd)
- // sessionInfo := ""
- // if m.app.Session.ID != "" {
- // tokens := float64(0)
- // cost := float64(0)
- // contextWindow := m.app.Model.Limit.Context
- //
- // for _, message := range m.app.Messages {
- // if assistant, ok := message.(opencode.AssistantMessage); ok {
- // cost += assistant.Cost
- // usage := assistant.Tokens
- // if usage.Output > 0 {
- // if assistant.Summary {
- // tokens = usage.Output
- // continue
- // }
- // tokens = (usage.Input +
- // usage.Cache.Write +
- // usage.Cache.Read +
- // usage.Output +
- // usage.Reasoning)
- // }
- // }
- // }
- //
- // // Check if current model is a subscription model (cost is 0 for both input and output)
- // isSubscriptionModel := m.app.Model != nil &&
- // m.app.Model.Cost.Input == 0 && m.app.Model.Cost.Output == 0
- //
- // sessionInfo = styles.NewStyle().
- // Foreground(t.TextMuted()).
- // Background(t.BackgroundElement()).
- // Padding(0, 1).
- // Render(formatTokensAndCost(tokens, contextWindow, cost, isSubscriptionModel))
- // }
-
var modeBackground compat.AdaptiveColor
var modeForeground compat.AdaptiveColor
switch m.app.ModeIndex {