oc2token 0.1.10 → 0.1.11

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.
@@ -1,6 +1,6 @@
1
1
  import { ANSI, colorEnabled, emphasis, paint, renderInPlace, statusColor, themeCache, themeCacheUnderline, themeCost, themeCyan, themeIn, themeInUnderline, themeOrange, themeOut, themeOutUnderline, themePurple, themeWhite, zebraRow, } from "./ansi.js";
2
2
  import { coverageState, DASHBOARD_ROW_CAP, formatCost, formatStatusFooter, formatTokenBreakdown, formatTokenCount, safeIdentifier, safeLabel, stripAnsi, } from "./format.js";
3
- import { allWindowKinds, normalizeDashboardSnapshot, } from "./types.js";
3
+ import { DEFAULT_VISIBLE_CARDS, isDerivedCardKind, normalizeDashboardSnapshot, normalizeVisibleCards, } from "./types.js";
4
4
  import { ALL_PROVIDER_KINDS } from "../settings/index.js";
5
5
  const CARD_MIN_WIDTH = 27;
6
6
  const WIDE_LAYOUT_MIN_WIDTH = 90;
@@ -88,7 +88,27 @@ function border(width, left, fill, right) {
88
88
  return left + fill.repeat(Math.max(0, width - 2)) + right;
89
89
  }
90
90
  function cardTitle(kind) {
91
- return kind === "hour" ? "LAST 60 MINUTES" : kind === "day" ? "TODAY" : kind === "week" ? "THIS WEEK" : "LAST MONTH";
91
+ switch (kind) {
92
+ case "hour": return "LAST 60 MINUTES";
93
+ case "day": return "TODAY";
94
+ case "week": return "THIS WEEK";
95
+ case "month": return "LAST MONTH";
96
+ case "15m": return "LAST 15 MINUTES";
97
+ case "30m": return "LAST 30 MINUTES";
98
+ case "2h": return "LAST 2 HOURS";
99
+ }
100
+ }
101
+ /** Short footer/CLI label for a card kind. */
102
+ export function shortCardLabel(kind) {
103
+ switch (kind) {
104
+ case "hour": return "Hour";
105
+ case "day": return "Today";
106
+ case "week": return "Week";
107
+ case "month": return "Month";
108
+ case "15m": return "15m";
109
+ case "30m": return "30m";
110
+ case "2h": return "2h";
111
+ }
92
112
  }
93
113
  function panelHeading(title, width, color, accent = "purple") {
94
114
  const label = truncate(title, Math.max(4, width - 6));
@@ -113,9 +133,15 @@ function cardLines(kind, window, width, color, selected) {
113
133
  const inner = Math.max(1, width - 2);
114
134
  const borderColor = selected ? ANSI.orange : ANSI.purpleDeep;
115
135
  const totalLabel = inner < 15 ? "Total" : "Recorded";
116
- const total = `${themePurple(totalLabel, color, true)} ${themeOrange(formatTokenCount(window.totals.recorded_total), color, true)}`;
136
+ // Unmeasured derived ranges show n/a, never a zero that reads as measured.
137
+ const totalValue = window.unmeasured === true
138
+ ? "n/a"
139
+ : formatTokenCount(window.totals.recorded_total);
140
+ const total = `${themePurple(totalLabel, color, true)} ${themeOrange(totalValue, color, true)}`;
117
141
  const first = pad(total, inner);
118
- const rawComponents = formatTokenBreakdown(window.totals);
142
+ const rawComponents = window.unmeasured === true
143
+ ? "No sub-range data recorded."
144
+ : formatTokenBreakdown(window.totals);
119
145
  // Preserve the 4-space gaps (" ") — truncate() would collapse them via safeLabel.
120
146
  // Adaptively fall back to 2 spaces when the 4-space layout doesn't fit.
121
147
  let displayComponents = rawComponents;
@@ -150,7 +176,7 @@ const HEADER_LINES = 3;
150
176
  const CARD_LINES = 6;
151
177
  const CARD_GAP = 2;
152
178
  const FOUR_CARD_LAYOUT_MIN_WIDTH = CARD_MIN_WIDTH * 4 + CARD_GAP * 3;
153
- export function getCardHitRegions(width) {
179
+ export function getCardHitRegions(width, kinds = [...DEFAULT_VISIBLE_CARDS]) {
154
180
  const clamped = Math.max(20, width);
155
181
  const contentWidth = Math.max(1, clamped - APP_PADDING * 2);
156
182
  const headerHeight = HEADER_LINES;
@@ -158,7 +184,7 @@ export function getCardHitRegions(width) {
158
184
  const cardWidth = Math.max(CARD_MIN_WIDTH, Math.floor((contentWidth - CARD_GAP * 3) / 4));
159
185
  const y1 = headerHeight + 1;
160
186
  const y2 = y1 + CARD_LINES - 1;
161
- return allWindowKinds().map((kind, idx) => {
187
+ return kinds.map((kind, idx) => {
162
188
  const x1 = APP_PADDING + idx * (cardWidth + CARD_GAP) + 1;
163
189
  const x2 = x1 + cardWidth - 1;
164
190
  return { kind, x1, y1, x2, y2 };
@@ -167,7 +193,7 @@ export function getCardHitRegions(width) {
167
193
  if (contentWidth >= WIDE_LAYOUT_MIN_WIDTH) {
168
194
  const cardWidth = Math.max(CARD_MIN_WIDTH, Math.floor((contentWidth - CARD_GAP) / 2));
169
195
  const yGap = 0; // stacked rows touch — no blank separator (see renderDashboard)
170
- return allWindowKinds().map((kind, idx) => {
196
+ return kinds.map((kind, idx) => {
171
197
  const column = idx % 2;
172
198
  const row = Math.floor(idx / 2);
173
199
  const x1 = APP_PADDING + column * (cardWidth + CARD_GAP) + 1;
@@ -177,7 +203,7 @@ export function getCardHitRegions(width) {
177
203
  }
178
204
  const cardWidth = Math.max(12, Math.min(CARD_MIN_WIDTH, contentWidth - 2));
179
205
  const yGap = 0; // stacked cards touch — no blank separator (see renderDashboard)
180
- return allWindowKinds().map((kind, idx) => {
206
+ return kinds.map((kind, idx) => {
181
207
  const y1 = headerHeight + 1 + idx * (CARD_LINES + yGap);
182
208
  const y2 = y1 + CARD_LINES - 1;
183
209
  const x1 = APP_PADDING + 1;
@@ -220,8 +246,15 @@ function renderStatusBox(snapshot, color, width) {
220
246
  prefix + paint(border(boxWidth, "╰", "─", "╯"), ANSI.purpleDeep, color),
221
247
  ];
222
248
  }
249
+ /**
250
+ * Resolve the display data for any visible card: collected windows come from
251
+ * the snapshot, derived sub-windows from the normalized derivation.
252
+ */
253
+ export function cardWindow(snapshot, kind) {
254
+ return isDerivedCardKind(kind) ? snapshot.derived[kind] : snapshot.windows[kind];
255
+ }
223
256
  function renderTrend(snapshot, selected, color, width) {
224
- const trend = snapshot.windows[selected].trends;
257
+ const trend = cardWindow(snapshot, selected).trends;
225
258
  const title = `Trend · ${cardTitle(selected).toLowerCase()}`;
226
259
  if (trend.length === 0)
227
260
  return [panelHeading(title, width, color), truncate(" No trend data recorded.", width)];
@@ -504,6 +537,25 @@ function renderSettingsPanel(settings, width, color) {
504
537
  lines.push(padPrefix + `│${pad(full, inner)}│`);
505
538
  }
506
539
  lines.push(padPrefix + `│${" ".repeat(inner)}│`);
540
+ // Top cards heading (focused indices 6-9; one row per card slot)
541
+ const cardsHeading = truncate("Cards — space to cycle", inner);
542
+ lines.push(padPrefix + `│${pad(themePurple(cardsHeading, color, true), inner)}│`);
543
+ const visible = normalizeVisibleCards(settings.visibleCards);
544
+ for (let slot = 0; slot < 4; slot += 1) {
545
+ const kind = visible[slot];
546
+ const focused = settings.focusedIndex === 6 + slot;
547
+ const prefix = focused ? themeOrange("▶ ", color, true) : " ";
548
+ const suffix = focused ? " ← cycle" : "";
549
+ const suffixLen = focused ? 10 : 0; // " ← cycle" visible length
550
+ const nameAvail = Math.max(4, inner - 4 - suffixLen);
551
+ const label = `Card ${slot + 1}: ${shortCardLabel(kind)}`;
552
+ const nameTrunc = truncate(label, nameAvail);
553
+ const nameColored = themeWhite(nameTrunc, color, true);
554
+ const lineContent = `${prefix}${nameColored}`;
555
+ const full = focused ? `${lineContent}${themeOrange(suffix, color)}` : lineContent;
556
+ lines.push(padPrefix + `│${pad(full, inner)}│`);
557
+ }
558
+ lines.push(padPrefix + `│${" ".repeat(inner)}│`);
507
559
  // Refresh interval heading with value
508
560
  const intervalFocused = settings.focusedIndex === 5;
509
561
  const intervalHeadingPlain = "Refresh interval";
@@ -583,15 +635,16 @@ function renderSettingsPanel(settings, width, color) {
583
635
  return lines;
584
636
  }
585
637
  function renderProjectsPanel(snapshot, selected, width, color) {
586
- const windowProjects = snapshot.windows[selected]?.projects ?? [];
638
+ const selectedData = cardWindow(snapshot, selected);
639
+ const windowProjects = selectedData.projects ?? [];
587
640
  const globalProjects = snapshot.projects;
588
641
  const projects = windowProjects.length > 0 ? windowProjects : globalProjects;
589
642
  const panelWidth = Math.min(width, Math.min(Math.max(42, width - 6), 76));
590
643
  const inner = Math.max(1, panelWidth - 2);
591
644
  const leftPad = Math.max(0, Math.floor((width - panelWidth) / 2));
592
645
  const padPrefix = " ".repeat(leftPad);
593
- const titleKind = selected === "hour" ? "Last 60 Minutes" : selected === "day" ? "Today" : selected === "week" ? "This Week" : "Last Month";
594
- const totalForWindow = snapshot.windows[selected]?.totals.recorded_total ?? 0;
646
+ const titleKind = cardTitle(selected).toLowerCase().replace(/\b\w/g, (ch) => ch.toUpperCase());
647
+ const totalForWindow = selectedData.totals.recorded_total ?? 0;
595
648
  const lines = [];
596
649
  lines.push(padPrefix + paint(border(panelWidth, "╭", "─", "╮"), ANSI.purpleDeep, color));
597
650
  const titlePlain = `◆ Projects · ${titleKind}`;
@@ -616,7 +669,7 @@ function renderProjectsPanel(snapshot, selected, width, color) {
616
669
  let headerCost = "";
617
670
  if (showCost) {
618
671
  const costStrs = visible.map((entry) => formatCost(entry.cost));
619
- const winCostStr = formatCost(snapshot.windows[selected]?.cost);
672
+ const winCostStr = formatCost(cardWindow(snapshot, selected)?.cost);
620
673
  const allCostStrs = [...costStrs, winCostStr];
621
674
  costWidth = Math.max("Cost".length, ...allCostStrs.map((s) => [...s].length));
622
675
  headerCost = themeCost("Cost".padStart(costWidth), color);
@@ -684,7 +737,7 @@ function renderProjectsPanel(snapshot, selected, width, color) {
684
737
  lines.push(padPrefix + `│${pad(` ${themePurple(more, color)}`, inner)}│`);
685
738
  }
686
739
  lines.push(padPrefix + `│${" ".repeat(inner)}│`);
687
- const windowCostStr = formatCost(snapshot.windows[selected]?.cost);
740
+ const windowCostStr = formatCost(cardWindow(snapshot, selected)?.cost);
688
741
  const totalLine = showCost
689
742
  ? `Total projects: ${projects.length} · Period total: ${formatTokenCount(totalForWindow)} · Period cost: ${windowCostStr}`
690
743
  : `Total projects: ${projects.length} · Period total: ${formatTokenCount(totalForWindow)}`;
@@ -712,8 +765,12 @@ function renderCredit(width, color) {
712
765
  // When color true, link still has OSC 8 but stripAnsi removes it, so same.
713
766
  return `${" ".repeat(left)}${colored}`;
714
767
  }
715
- function renderFooter(help, color, width) {
768
+ function renderFooter(help, color, width, visible = [...DEFAULT_VISIBLE_CARDS]) {
716
769
  const key = (value) => themeOrange(value, color, true);
770
+ // Period segment follows the visible cards: keys 1-4 select slots in order.
771
+ const periodWide = visible
772
+ .map((kind, index) => `${key(String(index + 1))} ${shortCardLabel(kind)}`)
773
+ .join(" ");
717
774
  if (help) {
718
775
  if (width < 50) {
719
776
  return [
@@ -734,7 +791,7 @@ function renderFooter(help, color, width) {
734
791
  return [
735
792
  "",
736
793
  panelHeading("Help", width, color, "orange"),
737
- ` ${key("r/R")} Refresh now ${key("1")} Hour ${key("2")} Today ${key("3")} Week ${key("4")} Month ${key("Tab/Arrows")} Navigate`,
794
+ ` ${key("r/R")} Refresh now ${periodWide} ${key("Tab/Arrows")} Navigate`,
738
795
  ` ${key("p")} Projects ${key("s")} Settings ${key("q")} Quit ${key("?")} Toggle help`,
739
796
  ];
740
797
  }
@@ -749,19 +806,19 @@ function renderFooter(help, color, width) {
749
806
  return [` ${key("r")} Refresh ${key("1/2/3/4")} Periods ${key("p")} Proj ${key("s")} ${key("q")} Quit ${key("?")} Help`];
750
807
  }
751
808
  if (width < 78) {
752
- return [` ${key("r")} ${key("1")} Hour ${key("2")} Today ${key("3")} Week ${key("4")} Month ${key("p")} ${key("s")} ${key("q")} ${key("?")}`];
809
+ return [` ${key("r")} ${periodWide} ${key("p")} ${key("s")} ${key("q")} ${key("?")}`];
753
810
  }
754
811
  if (width < 90) {
755
- return [` ${key("r")} ${key("1")} Hour ${key("2")} Today ${key("3")} Week ${key("4")} Month ${key("p")} Proj ${key("s")} Settings ${key("q")} Quit ${key("?")} Help`];
812
+ return [` ${key("r")} ${periodWide} ${key("p")} Proj ${key("s")} Settings ${key("q")} Quit ${key("?")} Help`];
756
813
  }
757
814
  if (width < 120) {
758
815
  return [
759
- ` ${key("r")} Refresh ${key("1")} Hour ${key("2")} Today ${key("3")} Week ${key("4")} Month ${key("p")} Projects ${key("s")} Settings ${key("q")} Quit ${key("?")} Help`,
816
+ ` ${key("r")} Refresh ${periodWide} ${key("p")} Projects ${key("s")} Settings ${key("q")} Quit ${key("?")} Help`,
760
817
  ];
761
818
  }
762
819
  return [
763
820
  "",
764
- ` ${key("r")} Refresh ${key("1")} Hour ${key("2")} Today ${key("3")} Week ${key("4")} Month ${key("Tab/Arrows")} Navigate ${key("p")} Projects ${key("s")} Settings ${key("q")} Quit ${key("?")} Help`,
821
+ ` ${key("r")} Refresh ${periodWide} ${key("Tab/Arrows")} Navigate ${key("p")} Projects ${key("s")} Settings ${key("q")} Quit ${key("?")} Help`,
765
822
  ];
766
823
  }
767
824
  /**
@@ -775,17 +832,24 @@ export function footerClickAction(token) {
775
832
  case "Refresh":
776
833
  return "refresh";
777
834
  case "1":
778
- case "Hour":
779
- return "hour";
780
835
  case "2":
781
- case "Today":
782
- return "day";
783
836
  case "3":
784
- case "Week":
785
- return "week";
786
837
  case "4":
838
+ return { slot: Number(token) - 1 };
839
+ case "Hour":
840
+ return { card: "hour" };
841
+ case "Today":
842
+ return { card: "day" };
843
+ case "Week":
844
+ return { card: "week" };
787
845
  case "Month":
788
- return "month";
846
+ return { card: "month" };
847
+ case "15m":
848
+ return { card: "15m" };
849
+ case "30m":
850
+ return { card: "30m" };
851
+ case "2h":
852
+ return { card: "2h" };
789
853
  case "p":
790
854
  case "Proj":
791
855
  case "Projects":
@@ -826,13 +890,14 @@ export function renderDashboard(input, options = {}) {
826
890
  const width = Math.max(1, terminalWidth - APP_PADDING * 2);
827
891
  const color = colorEnabled(options);
828
892
  const selected = options.selectedWindow ?? "day";
893
+ const visibleCards = normalizeVisibleCards(options.visibleCards);
829
894
  const lines = renderHeader(color, width);
830
895
  const cardWidth = width >= FOUR_CARD_LAYOUT_MIN_WIDTH
831
896
  ? Math.max(CARD_MIN_WIDTH, Math.floor((width - CARD_GAP * 3) / 4))
832
897
  : width >= WIDE_LAYOUT_MIN_WIDTH
833
898
  ? Math.max(CARD_MIN_WIDTH, Math.floor((width - CARD_GAP) / 2))
834
899
  : Math.max(12, Math.min(CARD_MIN_WIDTH, width - 2));
835
- const cards = allWindowKinds().map((kind) => cardLines(kind, snapshot.windows[kind], cardWidth, color, selected === kind));
900
+ const cards = visibleCards.map((kind) => cardLines(kind, cardWindow(snapshot, kind), cardWidth, color, selected === kind));
836
901
  if (width >= FOUR_CARD_LAYOUT_MIN_WIDTH) {
837
902
  lines.push(...composeCards(cards));
838
903
  }
@@ -848,20 +913,20 @@ export function renderDashboard(input, options = {}) {
848
913
  lines.push("");
849
914
  lines.push(...renderTrend(snapshot, selected, color, width));
850
915
  lines.push("");
851
- const selectedWindow = snapshot.windows[selected];
916
+ const selectedData = cardWindow(snapshot, selected);
852
917
  const breakdownWidths = breakdownColumnWidths([
853
- ...selectedWindow.models,
854
- ...selectedWindow.providers,
855
- ...selectedWindow.projects,
918
+ ...selectedData.models,
919
+ ...selectedData.providers,
920
+ ...selectedData.projects,
856
921
  ]);
857
922
  const collapsed = options.collapsedTables ?? {};
858
923
  const focused = options.focusedTable;
859
- lines.push(...renderBreakdown(`Models · ${cardTitle(selected)}`, selectedWindow.models, color, width, "purple", breakdownWidths, collapsed.models === true, focused === "models"));
924
+ lines.push(...renderBreakdown(`Models · ${cardTitle(selected)}`, selectedData.models, color, width, "purple", breakdownWidths, collapsed.models === true, focused === "models"));
860
925
  if (options.settings?.showProvidersTable !== false) {
861
- lines.push(...renderBreakdown(`Providers · ${cardTitle(selected)}`, selectedWindow.providers, color, width, "orange", breakdownWidths, collapsed.providers === true, focused === "providers"));
926
+ lines.push(...renderBreakdown(`Providers · ${cardTitle(selected)}`, selectedData.providers, color, width, "orange", breakdownWidths, collapsed.providers === true, focused === "providers"));
862
927
  }
863
928
  if (options.settings?.showProjectsTable !== false) {
864
- lines.push(...renderBreakdown(`Projects · ${cardTitle(selected)}`, selectedWindow.projects, color, width, "cyan", breakdownWidths, collapsed.projects === true, focused === "projects"));
929
+ lines.push(...renderBreakdown(`Projects · ${cardTitle(selected)}`, selectedData.projects, color, width, "cyan", breakdownWidths, collapsed.projects === true, focused === "projects"));
865
930
  }
866
931
  if (snapshot.coverage.errors.length > 0) {
867
932
  lines.push("");
@@ -873,7 +938,7 @@ export function renderDashboard(input, options = {}) {
873
938
  }
874
939
  }
875
940
  lines.push(...renderStatusBox(snapshot, color, width));
876
- lines.push(...renderFooter(options.help === true, color, width));
941
+ lines.push(...renderFooter(options.help === true, color, width, visibleCards));
877
942
  if (options.settings?.visible === true) {
878
943
  lines.push("");
879
944
  lines.push(...renderSettingsPanel(options.settings, width, color));
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/dashboard/render/dashboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../../../src/dashboard/render/dashboard.ts"],"names":[],"mappings":"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"}
@@ -31,13 +31,41 @@ export interface DashboardWindow {
31
31
  readonly window: UsageWindow;
32
32
  readonly totals: UsageTotals;
33
33
  readonly cost?: number;
34
+ /**
35
+ * True when a derived sub-window had no evidence at all (no parent trend
36
+ * buckets in range and no records). Cards must render n/a, never zero.
37
+ */
38
+ readonly unmeasured?: boolean;
34
39
  readonly trends: ReadonlyArray<TrendBucket>;
35
40
  readonly models: ReadonlyArray<BreakdownTotal>;
36
41
  readonly providers: ReadonlyArray<BreakdownTotal>;
37
42
  readonly projects: ReadonlyArray<BreakdownTotal>;
38
43
  }
44
+ /**
45
+ * Dashboard-only sub-windows. These are never collected, cached, or emitted
46
+ * in JSON/table/CLI output — the renderer derives them from already-collected
47
+ * data (parent trend buckets first, records as fallback).
48
+ */
49
+ export declare const DERIVED_CARD_KINDS: readonly ["15m", "30m", "2h"];
50
+ export type DerivedCardKind = (typeof DERIVED_CARD_KINDS)[number];
51
+ /** Every card the dashboard can show: collected windows plus derived ones. */
52
+ export type DashboardCardKind = UsageWindowKind | DerivedCardKind;
53
+ /** Fixed cycle order for the settings card slots. */
54
+ export declare const CARD_KIND_ORDER: readonly DashboardCardKind[];
55
+ /** Legacy layout. New installs and legacy settings files start here. */
56
+ export declare const DEFAULT_VISIBLE_CARDS: readonly DashboardCardKind[];
57
+ export declare function isDashboardCardKind(value: unknown): value is DashboardCardKind;
58
+ export declare function isDerivedCardKind(value: unknown): value is DerivedCardKind;
59
+ /**
60
+ * Normalize a visible-cards list to exactly four distinct kinds. Legacy or
61
+ * corrupt values fall back to the default layout; extras are dropped and gaps
62
+ * are filled from the default order.
63
+ */
64
+ export declare function normalizeVisibleCards(value: unknown): DashboardCardKind[];
39
65
  export interface DashboardSnapshot {
40
66
  readonly windows: Readonly<Record<UsageWindowKind, DashboardWindow>>;
67
+ /** Derived sub-windows, computed from collected data at normalize time. */
68
+ readonly derived: Readonly<Record<DerivedCardKind, DashboardWindow>>;
41
69
  readonly source: string;
42
70
  readonly version: string;
43
71
  readonly lastUpdated: DateLike | null;
@@ -58,6 +86,8 @@ export interface DashboardSettingsView {
58
86
  readonly showProvidersTable?: boolean;
59
87
  /** Show the Projects breakdown table. Undefined (legacy) means shown. */
60
88
  readonly showProjectsTable?: boolean;
89
+ /** Four visible top cards. Undefined (legacy) means hour/day/week/month. */
90
+ readonly visibleCards?: ReadonlyArray<DashboardCardKind>;
61
91
  }
62
92
  export interface DashboardProjectsView {
63
93
  readonly visible: boolean;
@@ -68,7 +98,10 @@ export interface DashboardRenderOptions {
68
98
  readonly color?: boolean;
69
99
  readonly width?: number;
70
100
  readonly now?: DateLike;
71
- readonly selectedWindow?: UsageWindowKind;
101
+ /** Active card. May be a derived sub-window; collection always covers all four base windows. */
102
+ readonly selectedWindow?: DashboardCardKind;
103
+ /** Which four cards to show. Defaults to the legacy hour/day/week/month layout. */
104
+ readonly visibleCards?: ReadonlyArray<DashboardCardKind>;
72
105
  readonly help?: boolean;
73
106
  readonly previousLineCount?: number;
74
107
  readonly settings?: DashboardSettingsView;