maxpool 1.11.0 → 1.11.1

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/tui.js +13 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maxpool",
3
- "version": "1.11.0",
3
+ "version": "1.11.1",
4
4
  "description": "Multi-account Claude Code proxy with adaptive, rate-aware load balancing across Claude accounts",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
package/src/tui.js CHANGED
@@ -2082,6 +2082,12 @@ export class TUI {
2082
2082
  // being an estimate. `~` marks it; a measured column replaces it after the first
2083
2083
  // full window. A stale-util caveat only when we cannot prove same-window.
2084
2084
  const est = this.am.capacityEstimate?.(i, win);
2085
+ // LIVE now-column: the open cycle is the only number that moves between window
2086
+ // closes, and without it the page read as frozen (reported 2026-08-25: "they
2087
+ // don't seem to be updating at all"). Rendered on every row that has one.
2088
+ const nowOpen = ledger.openCycle(a.name, win);
2089
+ const nowTag = nowOpen && nowOpen.tokensSoFar > 0
2090
+ ? ' ' + yellow(`▸ ${formatTokens(nowOpen.tokensSoFar)} this window`) : '';
2085
2091
  if (est) {
2086
2092
  anyData = true;
2087
2093
  const caveat = est.fresh ? '' : ' (utilization reading may be from the previous window)';
@@ -2092,16 +2098,19 @@ export class TUI {
2092
2098
  const via = est.method === 'delta'
2093
2099
  ? `Δ ${(est.utilization * 100).toFixed(0)}% full` : `${(est.utilization * 100).toFixed(0)}% full`;
2094
2100
  out.push(' ' + name + ' ' + prov + ' ' + cyan(op + formatTokens(est.tokens).padStart(CW - 1))
2095
- + dim(` est from ${via}${caveat} — measured after this window completes`));
2101
+ + dim(` est from ${via}${caveat} — measured after this window completes`) + nowTag);
2096
2102
  } else {
2097
- out.push(' ' + name + ' ' + prov + ' ' + dim('no completed cycle yet'));
2103
+ out.push(' ' + name + ' ' + prov + ' ' + dim('no completed cycle yet') + nowTag);
2098
2104
  }
2099
2105
  continue;
2100
2106
  }
2101
2107
  anyData = true;
2102
2108
  const all = { Last: st.last, Prev: st.prev, 'Prev-1': st.prev1, 'Avg 3': st.avg3, 'Avg 10': st.avg10, 'All time': st.allTime };
2103
2109
  const cells = COLS.map(c => formatTokens(all[c]).padStart(CW)).join('');
2104
- out.push(' ' + name + ' ' + prov + ' ' + cells + ' ' + dim(String(st.cycles)));
2110
+ const nowOpen = ledger.openCycle(a.name, win);
2111
+ const nowTag = nowOpen && nowOpen.tokensSoFar > 0
2112
+ ? ' ' + yellow(`▸ ${formatTokens(nowOpen.tokensSoFar)}`) : '';
2113
+ out.push(' ' + name + ' ' + prov + ' ' + cells + ' ' + dim(String(st.cycles)) + nowTag);
2105
2114
  }
2106
2115
 
2107
2116
  out.push('');
@@ -2114,7 +2123,7 @@ export class TUI {
2114
2123
  : ' A session figure appears after an account\'s 5h window resets once.'));
2115
2124
  }
2116
2125
  out.push(' ' + dim('A cycle counts only if maxpool ran for all of it and the account stayed enabled.'));
2117
- out.push(' ' + dim('~ = estimated from utilization; ≥ = at least this (window joined late); Δ = exact-by-difference; ≈/wk ceiling = session rate, not a cap.'));
2126
+ out.push(' ' + dim('~ = estimated; ≥ = at least; Δ = exact-by-difference; ≈/wk = session-rate ceiling; ▸ = live this window.'));
2118
2127
  return out;
2119
2128
  }
2120
2129