ccstatusline-usage 2.1.15 → 2.1.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +93 -33
  2. package/dist/ccstatusline.js +45683 -35893
  3. package/package.json +8 -6
package/README.md CHANGED
@@ -64,9 +64,20 @@ Session: [████░░░░░░░░░░░] 27.0% | Weekly: [██
64
64
 
65
65
  ## 🆕 Recent Updates
66
66
 
67
+ ### [v2.1.17](https://github.com/pcvelz/ccstatusline-usage/releases/tag/v2.1.17) - Upstream sync + 1M context display
68
+
69
+ - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **Upstream sync** — Merged 46 upstream commits: new widgets (Skills, ThinkingEffort, InputSpeed, OutputSpeed, TotalSpeed, Link, GitInsertions, GitDeletions, WeeklyResetTimer), CI pipeline, Dependabot, --config flag, --hook mode, usage API proxy support, 429 backoff, CoercedNumberSchema
70
+ - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **1M context display** — Context bar now shows `68k/1M` instead of `68k/1000k` for 1M context models
71
+ - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **Keychain file fallback** — On macOS, usage widget falls back to `~/.claude/.credentials.json` when Keychain is unavailable (tmux/SSH sessions)
72
+
73
+ ### [v2.1.16](https://github.com/pcvelz/ccstatusline-usage/releases/tag/v2.1.16) - Show [1m] suffix on model widget for 1M context models
74
+
75
+ - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **1M context indicator** — Model widget now appends `[1m]` when a 1M context model is active, both in full (`Model: claude-sonnet-4-6 [1m]`) and compact (`M: s4.6[1m]`) display modes
76
+ - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **Revert extra usage on 1M** — Removed the v2.1.15 trigger that showed extra usage spending on 1M models. 1M context is not included in Max without extra usage — the `[1m]` suffix on the Model widget now makes this visible, so the Reset Timer no longer needs to duplicate that awareness
77
+
67
78
  ### [v2.1.15](https://github.com/pcvelz/ccstatusline-usage/releases/tag/v2.1.15) - Show extra usage balance on 1M context models
68
79
 
69
- - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **Extra usage on 1M models** — Reset Timer widget now shows extra usage spending (`Extra: €X.XX/€Y.YY`) whenever a 1M context model is active (Opus/Sonnet with 1M context window), in addition to the existing trigger when weekly limit reaches 100%
80
+ - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **Extra usage on 1M models** — Reset Timer widget now shows extra usage spending (`Extra: €X.XX/€Y.YY`) whenever a 1M context model is active (Opus/Sonnet with 1M context window), in addition to the existing trigger when weekly limit reaches 100%. *Reverted in v2.1.16.*
70
81
 
71
82
  ### [v2.1.14](https://github.com/pcvelz/ccstatusline-usage/releases/tag/v2.1.14) - Reduce API polling frequency to prevent rate limiting
72
83
 
@@ -101,6 +112,31 @@ Session: [████░░░░░░░░░░░] 27.0% | Weekly: [██
101
112
 
102
113
  - [pcvelz/ccstatusline-usage](https://github.com/pcvelz/ccstatusline-usage): **Upstream sync** — merged 9 upstream commits: Session Name widget, Git Root Dir widget, CWD home abbreviation, block timer caching, git widget refactor, Windows UTF-8 fix, widget picker UX, TUI editor input fix
103
114
 
115
+ ### v2.2.0 - v2.2.4 - Token Speed + Skills widget updates
116
+
117
+ - **🚀 New Token Speed widgets** - Added three widgets: **Input Speed**, **Output Speed**, and **Total Speed**.
118
+ - Each speed widget supports a configurable window of `0-120` seconds in the widget editor (`w` key).
119
+ - `0` disables window mode and uses a full-session average speed.
120
+ - `1-120` calculates recent speed over the selected rolling window.
121
+ - **🧩 New Skills widget controls (v2.2.1)** - Added configurable Skills modes (last/count/list), optional hide-when-empty behavior, and list-size limiting with most-recent-first ordering.
122
+ - **🌐 Usage API proxy support (v2.2.2)** - Usage widgets honor the uppercase `HTTPS_PROXY` environment variable for their direct API call to Anthropic.
123
+ - **🧠 New Thinking Effort widget (v2.2.4)** - Added a widget that shows the current Claude Code thinking effort level.
124
+ - **🤝 Better subagent-aware speed reporting** - Token speed calculations continue to include referenced subagent activity so displayed speeds better reflect actual concurrent work.
125
+
126
+ ### v2.1.0 - v2.1.10 - Usage widgets, links, new git insertions / deletions widgets, and reliability fixes
127
+
128
+ - **🧩 New Usage widgets (v2.1.0)** - Added **Session Usage**, **Weekly Usage**, **Block Reset Timer**, and **Context Bar** widgets.
129
+ - **📊 More accurate counts (v2.1.0)** - Usage/context widgets now use new statusline JSON metrics when available for more accurate token and context counts.
130
+ - **🪟 Windows empty file bug fix (v2.1.1)** - Fixed a Windows issue that could create an empty `c:\dev\null` file.
131
+ - **🔗 New Link widget (v2.1.3)** - Added a new **Link** widget with clickable OSC8 rendering, preview parity, and raw mode support.
132
+ - **➕ New Git Insertions widget (v2.1.4)** - Added a dedicated Git widget that shows only uncommitted insertions (e.g., `+42`).
133
+ - **➖ New Git Deletions widget (v2.1.4)** - Added a dedicated Git widget that shows only uncommitted deletions (e.g., `-10`).
134
+ - **🧠 Context format fallback fix (v2.1.6)** - When `context_window_size` is missing, context widgets now infer 1M models from long-context labels such as `[1m]` and `1M context` in model identifiers.
135
+ - **⏳ Weekly reset timer split (v2.1.7)** - Added a separate `Weekly Reset Timer` widget.
136
+ - **⚙️ Custom config file flag (v2.1.8)** - Added `--config <path>` support so ccstatusline can load/save settings from a custom file location.
137
+ - **🔣 Unicode separator hex input upgrade (v2.1.9)** - Powerline separator hex input now supports 4-6 digits (full Unicode code points up to `U+10FFFF`).
138
+ - **🌳 Bare repo worktree detection fix (v2.1.10)** - `Git Worktree` now correctly detects linked worktrees created from bare repositories.
139
+
104
140
  ### v2.0.26 - v2.0.29 - Performance, git internals, and workflow improvements
105
141
 
106
142
  - **🧠 Memory Usage widget (v2.0.29)** - Added a new widget that shows current system memory usage (`Mem: used/total`).
@@ -123,7 +159,7 @@ Session: [████░░░░░░░░░░░] 27.0% | Weekly: [██
123
159
 
124
160
  ### v2.0.14 - Add remaining mode toggle to Context Percentage widgets
125
161
 
126
- - **Remaining Mode** - You can now toggle the Context Percentage widgets between usage percentage and remaining percentage when configuring them in the TUI by pressing the 'l' key.
162
+ - **Remaining Mode** - You can now toggle the Context Percentage widgets between usage percentage and remaining percentage when configuring them in the TUI by pressing the 'u' key.
127
163
 
128
164
  ### v2.0.12 - Custom Text widget now supports emojis
129
165
 
@@ -237,6 +273,8 @@ The interactive configuration tool provides a terminal UI where you can:
237
273
  > $env:CLAUDE_CONFIG_DIR="C:\custom\path\.claude"
238
274
  > ```
239
275
 
276
+ > 🌐 **Usage API proxy:** Usage widgets honor the uppercase `HTTPS_PROXY` environment variable for their direct API call to Anthropic.
277
+
240
278
  ### Claude Code settings.json format
241
279
 
242
280
  When you install from the TUI, ccstatusline writes a `statusLine` command object to your Claude Code settings:
@@ -459,36 +497,45 @@ bun run example
459
497
 
460
498
  ### 📊 Available Widgets
461
499
 
462
- - **Model Name** - Shows the current Claude model (e.g., "Claude 3.5 Sonnet")
463
- - **Git Branch** - Displays current git branch name
464
- - **Git Changes** - Shows uncommitted insertions/deletions (e.g., "+42,-10")
500
+ - **Model** - Displays the Claude model name (e.g., "Claude 3.5 Sonnet")
501
+ - **Output Style** - Shows the current Claude Code output style
502
+ - **Git Branch** - Shows the current git branch name
503
+ - **Git Changes** - Shows git changes count (`+insertions`, `-deletions`)
504
+ - **Git Insertions** - Shows git insertions count
505
+ - **Git Deletions** - Shows git deletions count
465
506
  - **Git Root Dir** - Shows the git repository root directory name
466
- - **Git Worktree** - Shows the name of the current git worktree
467
- - **Session Clock** - Shows elapsed time since session start (e.g., "2hr 15m")
468
- - **Session Cost** - Shows total session cost in USD (e.g., "$1.23")
469
- - **Session Name** - Shows the session name set via `/rename` command in Claude Code
470
- - **Block Timer** - Shows time elapsed in current 5-hour block or progress bar
471
- - **Current Working Directory** - Shows current working directory with segment limit, fish-style abbreviation, and optional `~` home abbreviation
472
- - **Version** - Shows Claude Code version
473
- - **Output Style** - Shows the currently set output style in Claude Code
474
- - **Tokens Input** - Shows input tokens used
475
- - **Tokens Output** - Shows output tokens used
476
- - **Tokens Cached** - Shows cached tokens used
477
- - **Tokens Total** - Shows total tokens used
478
- - **Context Length** - Shows current context length in tokens
479
- - **Context Percentage** - Shows percentage of context limit used (dynamic: 1M for model IDs with `[1m]` suffix, 200k otherwise)
480
- - **Context Percentage (usable)** - Shows percentage of usable context (dynamic: 800k for model IDs with `[1m]` suffix, 160k otherwise, accounting for auto-compact at 80%)
481
- - **Terminal Width** - Shows detected terminal width (for debugging)
482
- - **Memory Usage** - Shows system memory usage (used/total, e.g., "Mem: 12.4G/16.0G")
483
- - **Battery** - Shows battery percentage on macOS and Linux (only visible when on battery power, hidden when charging)
484
- - **Claude Session ID** - Shows the current Claude Code session ID (compact: 8-char truncation)
485
- - **Session Usage** *(ccstatusline-usage)* - Shows 5-hour session API utilization as a progress bar (e.g., "Session: [███░░░░░░░░░░░░] 20%")
486
- - **Weekly Usage** *(ccstatusline-usage)* - Shows 7-day API utilization as a progress bar (e.g., "Weekly: [██░░░░░░░░░░░░░] 12%")
487
- - **Reset Timer** *(ccstatusline-usage)* - Shows time until session limit resets (e.g., "4:30 hr"), or extra usage spending when weekly budget is exhausted
488
- - **Context Bar** *(ccstatusline-usage)* - Shows context window usage as a progress bar (e.g., "Context: [████░░░░░░░░░░░] 50k/200k (25%)")
489
- - **Custom Text** - Add your own custom text to the status line
490
- - **Custom Command** - Execute shell commands and display their output (refreshes whenever the statusline is updated by Claude Code)
491
- - **Separator** - Visual divider between widgets (customizable: |, -, comma, space; available when Powerline mode is off and no default separator is configured)
507
+ - **Git Worktree** - Shows the current git worktree name
508
+ - **Current Working Dir** - Shows current working directory with segment limit, fish-style abbreviation, and optional `~` home abbreviation
509
+ - **Tokens Input** - Shows input token count for the current session
510
+ - **Tokens Output** - Shows output token count for the current session
511
+ - **Tokens Cached** - Shows cached token count for the current session
512
+ - **Tokens Total** - Shows total token count (`input + output + cache`) for the current session
513
+ - **Input Speed** - Shows session-average input token speed (`tokens/sec`) with optional per-widget window (`0-120` seconds; `0` = full-session average)
514
+ - **Output Speed** - Shows session-average output token speed (`tokens/sec`) with optional per-widget window (`0-120` seconds; `0` = full-session average)
515
+ - **Total Speed** - Shows session-average total token speed (`tokens/sec`) with optional per-widget window (`0-120` seconds; `0` = full-session average)
516
+ - **Context Length** - Shows the current context window size in tokens
517
+ - **Context %** - Shows percentage of context window used or remaining
518
+ - **Context % (usable)** - Shows percentage of usable context used or remaining (80% of max before auto-compact)
519
+ - **Session Clock** - Shows elapsed time since current session started
520
+ - **Session Cost** - Shows the total session cost in USD
521
+ - **Block Timer** - Shows current 5-hour block elapsed time or progress
522
+ - **Terminal Width** - Shows current terminal width in columns
523
+ - **Version** - Shows Claude Code CLI version number
524
+ - **Custom Text** - Displays user-defined custom text
525
+ - **Custom Command** - Executes a custom shell command and displays output (refreshes whenever Claude Code updates the status line)
526
+ - **Link** - Displays a clickable terminal hyperlink using OSC 8
527
+ - **Claude Session ID** - Shows the current Claude Code session ID from status JSON
528
+ - **Session Name** - Shows the session name set via `/rename` in Claude Code
529
+ - **Memory Usage** - Shows system memory usage (used/total)
530
+ - **Battery** *(ccstatusline-usage)* - Shows battery percentage on macOS and Linux (only visible when on battery power, hidden when charging)
531
+ - **Session Usage** - Shows daily/session API usage percentage
532
+ - **Weekly Usage** - Shows weekly API usage percentage
533
+ - **Block Reset Timer** - Shows time remaining until current 5-hour block reset window
534
+ - **Weekly Reset Timer** - Shows time remaining until weekly usage reset
535
+ - **Context Bar** - Shows context usage as a progress bar with short/full display modes
536
+ - **Skills** - Shows skill activity as last used, total count, or unique list (with optional list limit and hide-when-empty toggle)
537
+ - **Thinking Effort** - Shows the current Claude Code thinking effort level
538
+ - **Separator** - Visual divider between widgets (available when Powerline mode is off and no default separator is configured)
492
539
  - **Flex Separator** - Expands to fill available space (available when Powerline mode is off)
493
540
 
494
541
  ---
@@ -571,10 +618,13 @@ Common controls in the line editor:
571
618
 
572
619
  Widget-specific shortcuts:
573
620
  - **Git widgets**: `h` toggle hide `no git` output
574
- - **Context % widgets**: `l` toggle used vs remaining display
621
+ - **Context % widgets**: `u` toggle used vs remaining display
575
622
  - **Block Timer**: `p` cycle display mode (time/full bar/short bar)
623
+ - **Block Reset Timer**: `p` cycle display mode (time/full bar/short bar)
624
+ - **Weekly Reset Timer**: `p` cycle display mode (time/full bar/short bar)
576
625
  - **Current Working Dir**: `h` home abbreviation, `s` segment editor, `f` fish-style path
577
626
  - **Custom Command**: `e` command, `w` max width, `t` timeout, `p` preserve ANSI colors
627
+ - **Link**: `u` URL, `e` link text
578
628
 
579
629
  ---
580
630
 
@@ -606,6 +656,12 @@ Execute shell commands and display their output dynamically:
606
656
 
607
657
  > 💡 **Tip:** Custom commands can be other Claude Code compatible status line formatters! They receive the same JSON via stdin that ccstatusline receives from Claude Code, allowing you to chain or combine multiple status line tools.
608
658
 
659
+ #### Link Widget
660
+ Create clickable links in terminals that support OSC 8 hyperlinks:
661
+ - `metadata.url` - target URL (http/https)
662
+ - `metadata.text` - optional display text (defaults to URL)
663
+ - Falls back to plain text when URL is missing or unsupported
664
+
609
665
  ---
610
666
 
611
667
  ### 🔗 Integration Example: ccusage
@@ -624,6 +680,7 @@ Execute shell commands and display their output dynamically:
624
680
  ### ✂️ Smart Truncation
625
681
 
626
682
  When terminal width is detected, status lines automatically truncate with ellipsis (...) if they exceed the available width, preventing line wrapping.
683
+ Truncation is ANSI/OSC-aware, so preserved color output and OSC 8 hyperlinks remain well-formed.
627
684
 
628
685
  ---
629
686
 
@@ -690,9 +747,12 @@ bun run example
690
747
  # Run tests
691
748
  bun test
692
749
 
693
- # Run typecheck + eslint autofix
750
+ # Run typecheck + eslint checks without modifying files
694
751
  bun run lint
695
752
 
753
+ # Apply ESLint auto-fixes intentionally
754
+ bun run lint:fix
755
+
696
756
  # Build for distribution
697
757
  bun run build
698
758