Repository navigation
Releases: HMarzban/nextcost
Releases · HMarzban/nextcost
Release list
nextcost 0.19.0
Fixed
- The auto-compaction toast speaks after a context warning too. The window's warnings and the ones toward compaction each keep their own level, so a toast at 85% of the window no longer silences
Auto-compaction in ~14k tokensuntil the context falls under 75%. Neither speaks again when Claude Code gives and drops the compaction point by turns, whereContext is 85% full.spoke on each return to the window's scale. - A reset's countdown turns on time. The band repaints as each reset's minute turns, and where the time zone isn't known, the departures board's last minute,
IN 47S, counts every second, and a reopened session'sidle for, on chips' Cache card, turns with its minute; before, any of them could lag up to a minute. - A reset under ten minutes off reads in whole minutes rounded up, as the board counts it:
in 5mat 4:30, where chips, pulse and the cards saidin 4m. - A reloaded session on a model alias, such as
haikuoropus[1m], prices its re-warm at the model it was billed under, Haiku 5.5's upper tier included, without reading its transcript. The band's store now keeps that model's name beside each session's last reply, and each rate under it as before, so a reload finds both. Before, each reload of such a session read the transcript again, and where it couldn't, priced the re-warm in tokens. A session whose last reply came before 0.19.0 reads its transcript, as before, until its next reply. - A reopened session counts its cache down from the main conversation's last reply, and prices its re-warm at the main conversation's model. A subagent's reply logged last no longer stands in for either.
- A load where Claude Code reports no cost is no longer taken for a new conversation: the cache shows as recalled, or not yet measured, rather than
cache warming. - A context window or compaction point of 0 reads 0%, never
NaN%, and speaks noInfinity% fulltoast. /nextcostand the band's once-a-second repaint are in place as a session starts, before any slow read, and a failure while the session starts no longer leaves the band without them or stops the session. The appearance, the glyphs, the cache's lifetime and idle compaction are read before the band recalls a last reply off the transcript, so a slow recall no longer leaves them unset.- A reading that can't be drawn no longer breaks the band: chips is drawn in its place, and if chips can't be either, the band steps aside and the prompt draws as usual.
- A turn that cost nothing keeps the last real message cost, the same in every layout. Chips and departures dropped it while pulse kept it.
- A text split bar, in chips' open Spend card in the terminal and in plain, fills its width exactly; it could run a cell past its card.
- Wide (CJK) project and branch names stay in the ascii tier, which dropped them, and every line counts them two columns, so the workspace line and a clipped name keep to their room.
- In the dark and light palettes, a text meter's empty cells, the cache's track and a day not yet measured meet 3:1 contrast on every ground. They read at 1.2 to 1.5:1.
Changed
- Each command the band runs is now fixed text at its call, but for the transcript's path and the offset it reads from:
tail -c 1048576andgrep -a -b -F '"type":"cost-state"'are written out where they run. The settings read keepspromptCacheTtlandidleCompactionat the call and drops the rest there,envincluded. The README says how nextcost can and can't send anything out, and that it reads no credential. Nothing the band runs or draws changes. - A view now calls for the history, week and board (
read.week()) rather than reading a getter, so reading a property never runs code. Each is still built only when a view asks, and once. - Inside, each rule has one home, and nothing else the band draws changes.
/nextcostmakes a plan that the hooks carry out; the toasts, the transcript's reads, the list prices (prices.ts), the cache's settings (cache-settings.ts), the readings' facts (facts.ts), the departures board's words and chips' own (chips-words.ts) each have a module of their own; pulse builds each chart in one place (pulse-charts.tsx); the cache and the insights are one each per session; the snapshot has one pure builder; and every collapsed row gives way by one engine. The views gate reads every view, chips' included, and the layouts' own list. The type check also refuses unused locals, implicit returns, switch fall-through and an unmarked override. - The tooling: the dead golden capture and sign-off tools are gone, the demo scripts share one module, and the demo captures are type-checked. CI pins its actions by SHA, cancels a pull request's superseded runs, times out, and lints the tools with shellcheck and ruff; Dependabot watches the actions. The tests are named by the behaviour they hold, and their project is
nextcost.
session-usage-band 0.17.4
Fixed
- Departures' collapsed row fits at every width it draws in, in the plain appearance too. With all four readings amber below 80 columns, plain ran up to nine columns past the band's edge:
[CACHE][! 30S] [CONTEXT][! 95%] [5H][! 85%] [7D][! 90%]takes 65 columns where a 60-column terminal leaves 56, and filled's last step, dropping the modules' padding, gave plain nothing, since it has no ground. Plain now has a last step of its own: each reading is bracketed once and the readings sit a column apart,[CACHE ! 30S] [CONTEXT ! 95%] [5H ! 85%] [7D ! 90%], each still led by its!. Wider rows read as before. The width tests now sweep every width from 60 to 200 in dark, light and plain, on both surfaces and glyph tiers, with or without the time zone.
PR #22.
session-usage-band 0.17.3
Changed
- No change to how the band reads: every layout draws what 0.17.2 draws, as chips' frozen trees and the demos' captured frames hold. Inside, the readings' types say what each state has. A cache compacted while idle is a mood of its own beside cold, not a flag every phrase tests first, and the cache's words are one table by mood. The context is read either toward compaction, with where it compacts and the room left, or against the window alone. A limit is live or passed, and a passed one carries no pace, reset or fill, so its words need not mask them.
PR #19.
session-usage-band 0.17.2
Fixed
- The departures board says when the 5-hour window fills at 80% and over too, as chips, pulse and the cards do. With a measured fill, a 5h at 84% read
! NEAR LIMITon the board while every other layout said! 5h full in ~40m; the board now says! FULL ~14:20(! FULL IN ~40 MINwhere the time zone isn't known), its value in REMARKS. Without a measured fill it still says! NEAR LIMIT.
PR #21. The site now reads its version from plugin.json (PR #20) and shows 0.17.2.
session-usage-band 0.17.1
Changed
- No change to how the band reads: every layout draws what 0.17.0 draws, as chips' frozen trees and the demos' captured frames hold. Inside, each piece now lives in the module that owns it.
parts.tsxis gone: chips draws its own pills and battery, and pulse and departures squeeze their rows withframe.tsx'sfitLine. A layout declares its collapsed row and what opens beneath it, anddrawViewputs them together. The kit builds every Svg. The cache model makes its own decisions about recall and idle compaction, and/usage-band's words live incommand.ts. The words read facts alone, never the raw snapshot. Readings no layout drew are dropped, among them the old open bands' words.
PR #18. No visual change: chips' frozen trees and every captured demo frame are byte-identical to 0.17.0.
nextcost 0.18.2
Changed
- The plugin's listing reads as nextcost, lowercase, and links where it should: its homepage is the site, its documentation the plugin README, and its privacy policy SECURITY.md, which lists everything nextcost reads and keeps. Nothing the band does changes.
PR #25.
nextcost 0.18.1
Added
- An icon, the site's amber trace on its dark ground, for the plugin's listing.
- The README says what nextcost runs, reads and sends, and what each of its hooks does: four read-only commands (two of git's, and
tailandgrepon a resumed session's own transcript), nothing sent anywhere.
Changed
- Each command the band runs is named in full where it runs it, so a reader, or a directory's checks, sees every program at its call. Nothing the band runs or draws changes.
PR #24.
nextcost 0.18.0
Changed
- The plugin is now nextcost, after what it tells you: what your next message costs. The repository is
HMarzban/nextcost(it wasclaude-mod), the plugin installs asnextcost@hossein-mods(it wassession-usage-band), and the command is/nextcost;/usage-bandstill works. The settings areNEXTCOST_APPEARANCEandNEXTCOST_GLYPHS;CC_BAND_APPEARANCEandCC_BAND_GLYPHSstill work, and the new names win where both are set. The site moved to https://hmarzban.github.io/nextcost/. An install ofsession-usage-bandkeeps working from GitHub's redirect, but takes no update after 0.17.4: uninstall it and installnextcost@hossein-mods, as the README's Install says. The layout you chose and the week of limit readings start afresh, since they are kept under the plugin's name. - The band says
nextcostwhere it saidUsage band:nextcost shown.,nextcost layout: pulse.,Bring it back with /nextcost. Nothing else it draws changes.
Upgrading from session-usage-band:
claude plugin uninstall session-usage-band@hossein-mods
claude plugin marketplace update hossein-mods
claude plugin install nextcost@hossein-modsPR #23.
session-usage-band 0.17.0
Changed
- Departures' collapsed row puts each reading on its own module, a panel of the board's dark ground: its code's tiles in its own colour, then its cell's, white or amber, with the band's background between modules, so
CACHE DEPARTS 17:24andSPEND $3.19no longer run together. At its narrowest the modules drop their padding and keep their ground; in plain appearance they have no ground and stand two columns apart. Departures opens into one board with a title and the time now (DEPARTURES … NOW 20:36), quiet plain headings, ITEM, STATUS and TIME as flaps in aligned columns with tiles only where there are characters (no wall of empty tiles), remarks in plain dim text, a thin rule across the board between lines on the desktop, and the footer every layout draws: the workspace strip,CollapseandHide band. The workspace leaves the board. Short of rows, the remarks give way first on the desktop, then the lines in the board's order; an amber line never does.
PR #17. Switch with /usage-band layout departures. The site demo and layouts gallery show the new design.
session-usage-band 0.16.0
Changed
- Pulse's collapsed row puts each reading on its own tile, its name then its figure then its chart; pulse opens into four cards like chips', each with its chart. The tiles stand on chips' ground, 5h and 7d in their own tints, so the spend trace no longer reads as the cache's. Open, CACHE draws the hour from the last reply to cold as a track with now marked, and the re-warm price; SPEND each message's cost over their average, and the last message and the average; CONTEXT its trail under the compaction line, and how much is in context of the window and where it compacts; LIMITS the 5h window and the 7d by day side by side, and when each resets. Short of rows a card's chart steps down, two rows to one to none, before any card gives way; then the other limits, Context, Limits, the cache and Spend give way in that order, and an amber card never does.
PR #15. Switch with /usage-band layout pulse. The site demo and layouts gallery show the new design.