@modelstatus/cli 0.1.57 → 0.1.59

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modelstatus/cli",
3
- "version": "0.1.57",
3
+ "version": "0.1.59",
4
4
  "description": "Track which AI models you use, where, and never get surprised by a retirement. Free offline model-health for any repo (mm status), browser sign-in for cloud inventory + alerts.",
5
5
  "keywords": [
6
6
  "llm",
package/src/tui/app.js CHANGED
@@ -44,15 +44,14 @@ const CHROME_ROWS = 10;
44
44
  // the frame, NEGATIVE grows it past the reported height.
45
45
  // - 1 everywhere: a full-height ink frame write+newlines its bottom line and
46
46
  // scrolls the buffer up 1/render; the 1-row reserve keeps the last line blank.
47
- // - -11 in Warp: empirically (the user dialing it live in their Warp), the frame
48
- // must be GROWN past stdout.rows or the top clips Warp's block model
49
- // reports/handles the alt-screen height such that a flush-height frame rides too
50
- // high. So in Warp we render TALLER, which pushes the window down into view.
51
- // -7 revealed the body but still clipped the 4 chrome rows above it (top border,
52
- // traffic lights, the TAB-STRIP nav, blank); -11 pushes those into view too.
53
- // Gated on Warp (a negative reserve elsewhere would over-grow + clip the top of
54
- // a normal full-screen terminal).
55
- const WARP_RESERVE = -11;
47
+ // - -3 in Warp: Warp under-reports the alt-screen height its TRUE full-screen
48
+ // viewport is stdout.rows + 3, so the frame must be exactly that tall to fill it
49
+ // without clipping. DERIVED from two clean (no-poll) data points in the user's
50
+ // Warp: reserve -7 clipped 4 rows off the top, -11 clipped 8 (clip = -reserve-3),
51
+ // so clip hits 0 at reserve = -3. A taller frame (more negative) OVER-grows and
52
+ // scrolls the top — incl. the tab-strip nav off the alt screen (unrecoverable;
53
+ // no scrollback). Gated on Warp (this offset is Warp-specific).
54
+ const WARP_RESERVE = -3;
56
55
 
57
56
  /** True when running under Warp (TERM_PROGRAM=WarpTerminal, or any WARP_* env, or
58
57
  * TERM_PROGRAM merely containing "warp" — broad so detection doesn't silently
@@ -282,7 +281,7 @@ export function App({ apiBase, apiKey, dir, initialView, onSignedIn, fresh }) {
282
281
  h(Text, {}, ""),
283
282
  toast ? h(Text, { color: toast.color }, ` ${toast.msg}`) : h(Text, {}, ""),
284
283
  h(StatusBar, { segsLeft, segsRight, width: W }),
285
- h(KeyBar, { keys: keys.some((k) => k.k === "P") ? keys : [...keys, { k: "P", label: "play" }], width: W }),
284
+ h(KeyBar, { keys: keys.some((k) => k.k === "P") ? keys : [...keys, { k: "P", label: "play 🦍" }], width: W }),
286
285
  );
287
286
  }
288
287
 
@@ -45,7 +45,7 @@ export const meta = {
45
45
  { k: "/", label: "search" },
46
46
  { k: "g", label: "rescan" },
47
47
  { k: "u", label: "upload all" },
48
- { k: "P", label: "play" }, // launches anytime (also the global Shift-P)
48
+ { k: "P", label: "play 🦍" }, // launches anytime (also the global Shift-P)
49
49
  { k: "N", label: "new project" },
50
50
  ],
51
51
  };
@@ -319,7 +319,7 @@ export function ScanView({ client, dir, ui, active, width = 78, height = 14, fre
319
319
 
320
320
  // While the walk is still running (and the terminal fits a board), nudge the
321
321
  // "Play Donkey Kong while you wait" affordance on the showing line.
322
- const playHint = running && canPlay ? " · P play" : "";
322
+ const playHint = running && canPlay ? " · P play 🦍" : "";
323
323
  const showingLine = h(
324
324
  Text,
325
325
  { color: C.FG_FAINT },