@bastra-recall/statusline 0.7.0-beta.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 (49) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +26 -0
  3. package/bin/claude-powerline +2 -0
  4. package/dist/browser.d.ts +796 -0
  5. package/dist/browser.js +3 -0
  6. package/dist/index.mjs +48 -0
  7. package/package.json +39 -0
  8. package/src/browser.ts +208 -0
  9. package/src/config/defaults.ts +88 -0
  10. package/src/config/loader.ts +473 -0
  11. package/src/index.ts +90 -0
  12. package/src/powerline.ts +1082 -0
  13. package/src/segments/bastra.ts +123 -0
  14. package/src/segments/block.ts +31 -0
  15. package/src/segments/cacheTimer.ts +108 -0
  16. package/src/segments/context.ts +221 -0
  17. package/src/segments/git.ts +498 -0
  18. package/src/segments/index.ts +33 -0
  19. package/src/segments/metrics.ts +175 -0
  20. package/src/segments/pricing.ts +454 -0
  21. package/src/segments/renderer.ts +1002 -0
  22. package/src/segments/session.ts +207 -0
  23. package/src/segments/tmux.ts +35 -0
  24. package/src/segments/today.ts +191 -0
  25. package/src/themes/dark.ts +61 -0
  26. package/src/themes/gruvbox.ts +61 -0
  27. package/src/themes/index.ts +161 -0
  28. package/src/themes/light.ts +61 -0
  29. package/src/themes/nord.ts +61 -0
  30. package/src/themes/rose-pine.ts +61 -0
  31. package/src/themes/tokyo-night.ts +61 -0
  32. package/src/tui/grid.ts +712 -0
  33. package/src/tui/index.ts +4 -0
  34. package/src/tui/layouts.ts +321 -0
  35. package/src/tui/primitives.ts +187 -0
  36. package/src/tui/renderer.ts +206 -0
  37. package/src/tui/sections.ts +1511 -0
  38. package/src/tui/types.ts +189 -0
  39. package/src/utils/budget.ts +116 -0
  40. package/src/utils/cache.ts +247 -0
  41. package/src/utils/claude.ts +518 -0
  42. package/src/utils/color-support.ts +118 -0
  43. package/src/utils/colors.ts +120 -0
  44. package/src/utils/constants.ts +184 -0
  45. package/src/utils/formatters.ts +175 -0
  46. package/src/utils/icon-visibility.ts +31 -0
  47. package/src/utils/logger.ts +5 -0
  48. package/src/utils/terminal-width.ts +117 -0
  49. package/src/utils/terminal.ts +54 -0
@@ -0,0 +1,161 @@
1
+ import { darkTheme, darkAnsi256Theme, darkAnsiTheme } from "./dark";
2
+ import { lightTheme, lightAnsi256Theme, lightAnsiTheme } from "./light";
3
+ import { nordTheme, nordAnsi256Theme, nordAnsiTheme } from "./nord";
4
+ import {
5
+ tokyoNightTheme,
6
+ tokyoNightAnsi256Theme,
7
+ tokyoNightAnsiTheme,
8
+ } from "./tokyo-night";
9
+ import {
10
+ rosePineTheme,
11
+ rosePineAnsi256Theme,
12
+ rosePineAnsiTheme,
13
+ } from "./rose-pine";
14
+ import { gruvboxTheme, gruvboxAnsi256Theme, gruvboxAnsiTheme } from "./gruvbox";
15
+
16
+ export interface SegmentColor {
17
+ bg: string;
18
+ fg: string;
19
+ bold?: boolean;
20
+ }
21
+
22
+ export interface ColorTheme {
23
+ directory: SegmentColor;
24
+ git: SegmentColor;
25
+ model: SegmentColor;
26
+ session: SegmentColor;
27
+ block: SegmentColor;
28
+ today: SegmentColor;
29
+ tmux: SegmentColor;
30
+ context: SegmentColor;
31
+ contextWarning: SegmentColor;
32
+ contextCritical: SegmentColor;
33
+ metrics: SegmentColor;
34
+ version: SegmentColor;
35
+ env: SegmentColor;
36
+ weekly: SegmentColor;
37
+ agent: SegmentColor;
38
+ thinking: SegmentColor;
39
+ cacheTimer: SegmentColor;
40
+ }
41
+
42
+ export interface PowerlineColors {
43
+ reset: string;
44
+ modeBg: string;
45
+ modeFg: string;
46
+ modeBold: boolean;
47
+ gitBg: string;
48
+ gitFg: string;
49
+ gitBold: boolean;
50
+ modelBg: string;
51
+ modelFg: string;
52
+ modelBold: boolean;
53
+ sessionBg: string;
54
+ sessionFg: string;
55
+ sessionBold: boolean;
56
+ blockBg: string;
57
+ blockFg: string;
58
+ blockBold: boolean;
59
+ todayBg: string;
60
+ todayFg: string;
61
+ todayBold: boolean;
62
+ tmuxBg: string;
63
+ tmuxFg: string;
64
+ tmuxBold: boolean;
65
+ contextBg: string;
66
+ contextFg: string;
67
+ contextBold: boolean;
68
+ contextWarningBg: string;
69
+ contextWarningFg: string;
70
+ contextWarningBold: boolean;
71
+ contextCriticalBg: string;
72
+ contextCriticalFg: string;
73
+ contextCriticalBold: boolean;
74
+ metricsBg: string;
75
+ metricsFg: string;
76
+ metricsBold: boolean;
77
+ versionBg: string;
78
+ versionFg: string;
79
+ versionBold: boolean;
80
+ envBg: string;
81
+ envFg: string;
82
+ envBold: boolean;
83
+ weeklyBg: string;
84
+ weeklyFg: string;
85
+ weeklyBold: boolean;
86
+ agentBg: string;
87
+ agentFg: string;
88
+ agentBold: boolean;
89
+ thinkingBg: string;
90
+ thinkingFg: string;
91
+ thinkingBold: boolean;
92
+ cacheTimerBg: string;
93
+ cacheTimerFg: string;
94
+ cacheTimerBold: boolean;
95
+ bastraBg: string;
96
+ bastraFg: string;
97
+ bastraBold: boolean;
98
+ partFg: Record<string, string>;
99
+ }
100
+
101
+ export const BUILT_IN_THEMES: Record<string, ColorTheme> = {
102
+ dark: darkTheme,
103
+ "dark-ansi256": darkAnsi256Theme,
104
+ "dark-ansi": darkAnsiTheme,
105
+ light: lightTheme,
106
+ "light-ansi256": lightAnsi256Theme,
107
+ "light-ansi": lightAnsiTheme,
108
+ nord: nordTheme,
109
+ "nord-ansi256": nordAnsi256Theme,
110
+ "nord-ansi": nordAnsiTheme,
111
+ "tokyo-night": tokyoNightTheme,
112
+ "tokyo-night-ansi256": tokyoNightAnsi256Theme,
113
+ "tokyo-night-ansi": tokyoNightAnsiTheme,
114
+ "rose-pine": rosePineTheme,
115
+ "rose-pine-ansi256": rosePineAnsi256Theme,
116
+ "rose-pine-ansi": rosePineAnsiTheme,
117
+ gruvbox: gruvboxTheme,
118
+ "gruvbox-ansi256": gruvboxAnsi256Theme,
119
+ "gruvbox-ansi": gruvboxAnsiTheme,
120
+ };
121
+
122
+ export function getTheme(
123
+ themeName: string,
124
+ colorSupport?: "none" | "ansi" | "ansi256" | "truecolor",
125
+ ): ColorTheme | null {
126
+ const baseTheme = BUILT_IN_THEMES[themeName];
127
+ if (!baseTheme) return null;
128
+
129
+ if (colorSupport === "none" || colorSupport === "ansi") {
130
+ const ansiVariant = BUILT_IN_THEMES[`${themeName}-ansi`];
131
+ if (ansiVariant) return ansiVariant;
132
+ }
133
+
134
+ if (colorSupport === "ansi256") {
135
+ const ansi256Variant = BUILT_IN_THEMES[`${themeName}-ansi256`];
136
+ if (ansi256Variant) return ansi256Variant;
137
+ }
138
+
139
+ return baseTheme;
140
+ }
141
+
142
+ export {
143
+ darkTheme,
144
+ darkAnsi256Theme,
145
+ darkAnsiTheme,
146
+ lightTheme,
147
+ lightAnsi256Theme,
148
+ lightAnsiTheme,
149
+ nordTheme,
150
+ nordAnsi256Theme,
151
+ nordAnsiTheme,
152
+ tokyoNightTheme,
153
+ tokyoNightAnsi256Theme,
154
+ tokyoNightAnsiTheme,
155
+ rosePineTheme,
156
+ rosePineAnsi256Theme,
157
+ rosePineAnsiTheme,
158
+ gruvboxTheme,
159
+ gruvboxAnsi256Theme,
160
+ gruvboxAnsiTheme,
161
+ };
@@ -0,0 +1,61 @@
1
+ import type { ColorTheme } from "./index";
2
+
3
+ export const lightTheme: ColorTheme = {
4
+ directory: { bg: "#ff6b47", fg: "#ffffff" },
5
+ git: { bg: "#4fb3d9", fg: "#ffffff" },
6
+ model: { bg: "#87ceeb", fg: "#000000" },
7
+ session: { bg: "#da70d6", fg: "#ffffff" },
8
+ block: { bg: "#6366f1", fg: "#ffffff" },
9
+ today: { bg: "#10b981", fg: "#ffffff" },
10
+ tmux: { bg: "#32cd32", fg: "#ffffff" },
11
+ context: { bg: "#718096", fg: "#ffffff" },
12
+ contextWarning: { bg: "#d97706", fg: "#ffffff" },
13
+ contextCritical: { bg: "#dc2626", fg: "#ffffff" },
14
+ metrics: { bg: "#6b7280", fg: "#ffffff" },
15
+ version: { bg: "#8b7dd8", fg: "#ffffff" },
16
+ env: { bg: "#d45dbf", fg: "#ffffff" },
17
+ weekly: { bg: "#4f46e5", fg: "#ffffff" },
18
+ agent: { bg: "#7c3aed", fg: "#ffffff" },
19
+ thinking: { bg: "#7c3aed", fg: "#ffffff" },
20
+ cacheTimer: { bg: "#059669", fg: "#ffffff" },
21
+ };
22
+
23
+ export const lightAnsi256Theme: ColorTheme = {
24
+ directory: { bg: "#ff5f5f", fg: "#ffffff" },
25
+ git: { bg: "#5fafff", fg: "#ffffff" },
26
+ model: { bg: "#87d7ff", fg: "#000000" },
27
+ session: { bg: "#ff5fff", fg: "#ffffff" },
28
+ block: { bg: "#5f5fff", fg: "#ffffff" },
29
+ today: { bg: "#00d787", fg: "#ffffff" },
30
+ tmux: { bg: "#00ff5f", fg: "#ffffff" },
31
+ context: { bg: "#808080", fg: "#ffffff" },
32
+ contextWarning: { bg: "#d78700", fg: "#ffffff" },
33
+ contextCritical: { bg: "#d70000", fg: "#ffffff" },
34
+ metrics: { bg: "#767676", fg: "#ffffff" },
35
+ version: { bg: "#af87ff", fg: "#ffffff" },
36
+ env: { bg: "#d787af", fg: "#ffffff" },
37
+ weekly: { bg: "#5f5fff", fg: "#ffffff" },
38
+ agent: { bg: "#8787d7", fg: "#ffffff" },
39
+ thinking: { bg: "#8700d7", fg: "#ffffff" },
40
+ cacheTimer: { bg: "#00875f", fg: "#ffffff" },
41
+ };
42
+
43
+ export const lightAnsiTheme: ColorTheme = {
44
+ directory: { bg: "#ff5f5f", fg: "#ffffff" },
45
+ git: { bg: "#5fafff", fg: "#ffffff" },
46
+ model: { bg: "#87d7ff", fg: "#000000" },
47
+ session: { bg: "#ff5fff", fg: "#ffffff" },
48
+ block: { bg: "#5f5fff", fg: "#ffffff" },
49
+ today: { bg: "#00d787", fg: "#ffffff" },
50
+ tmux: { bg: "#00ff5f", fg: "#ffffff" },
51
+ context: { bg: "#808080", fg: "#ffffff" },
52
+ contextWarning: { bg: "#d78700", fg: "#ffffff" },
53
+ contextCritical: { bg: "#d70000", fg: "#ffffff" },
54
+ metrics: { bg: "#767676", fg: "#ffffff" },
55
+ version: { bg: "#af87ff", fg: "#ffffff" },
56
+ env: { bg: "#d787af", fg: "#ffffff" },
57
+ weekly: { bg: "#5f5fff", fg: "#ffffff" },
58
+ agent: { bg: "#5f5fff", fg: "#ffffff" },
59
+ thinking: { bg: "#8700d7", fg: "#ffffff" },
60
+ cacheTimer: { bg: "#00875f", fg: "#ffffff" },
61
+ };
@@ -0,0 +1,61 @@
1
+ import type { ColorTheme } from "./index";
2
+
3
+ export const nordTheme: ColorTheme = {
4
+ directory: { bg: "#434c5e", fg: "#d8dee9" },
5
+ git: { bg: "#3b4252", fg: "#a3be8c" },
6
+ model: { bg: "#4c566a", fg: "#81a1c1" },
7
+ session: { bg: "#2e3440", fg: "#88c0d0" },
8
+ block: { bg: "#3b4252", fg: "#81a1c1" },
9
+ today: { bg: "#2e3440", fg: "#8fbcbb" },
10
+ tmux: { bg: "#2e3440", fg: "#8fbcbb" },
11
+ context: { bg: "#5e81ac", fg: "#eceff4" },
12
+ contextWarning: { bg: "#d08770", fg: "#2e3440" },
13
+ contextCritical: { bg: "#bf616a", fg: "#eceff4" },
14
+ metrics: { bg: "#b48ead", fg: "#2e3440" },
15
+ version: { bg: "#434c5e", fg: "#88c0d0" },
16
+ env: { bg: "#3b4252", fg: "#b48ead" },
17
+ weekly: { bg: "#3b4252", fg: "#88c0d0" },
18
+ agent: { bg: "#4c566a", fg: "#b48ead" },
19
+ thinking: { bg: "#3b4252", fg: "#b48ead" },
20
+ cacheTimer: { bg: "#3b4252", fg: "#a3be8c" },
21
+ };
22
+
23
+ export const nordAnsi256Theme: ColorTheme = {
24
+ directory: { bg: "#5f87af", fg: "#e4e4e4" },
25
+ git: { bg: "#4e4e4e", fg: "#87d787" },
26
+ model: { bg: "#6c6c6c", fg: "#87afd7" },
27
+ session: { bg: "#3a3a3a", fg: "#5fafaf" },
28
+ block: { bg: "#4e4e4e", fg: "#87afd7" },
29
+ today: { bg: "#3a3a3a", fg: "#5fd7d7" },
30
+ tmux: { bg: "#3a3a3a", fg: "#5fd7d7" },
31
+ context: { bg: "#5f87d7", fg: "#ffffff" },
32
+ contextWarning: { bg: "#d7875f", fg: "#3a3a3a" },
33
+ contextCritical: { bg: "#d75f5f", fg: "#ffffff" },
34
+ metrics: { bg: "#d787af", fg: "#3a3a3a" },
35
+ version: { bg: "#5f87af", fg: "#5fafaf" },
36
+ env: { bg: "#4e4e4e", fg: "#d787af" },
37
+ weekly: { bg: "#4e4e4e", fg: "#5fafaf" },
38
+ agent: { bg: "#6c6c6c", fg: "#d787af" },
39
+ thinking: { bg: "#4e4e4e", fg: "#d787af" },
40
+ cacheTimer: { bg: "#4e4e4e", fg: "#87af87" },
41
+ };
42
+
43
+ export const nordAnsiTheme: ColorTheme = {
44
+ directory: { bg: "#0087af", fg: "#ffffff" },
45
+ git: { bg: "#585858", fg: "#87d700" },
46
+ model: { bg: "#808080", fg: "#87afff" },
47
+ session: { bg: "#444444", fg: "#00d7d7" },
48
+ block: { bg: "#585858", fg: "#87afff" },
49
+ today: { bg: "#444444", fg: "#00ffff" },
50
+ tmux: { bg: "#444444", fg: "#00ffff" },
51
+ context: { bg: "#0087ff", fg: "#ffffff" },
52
+ contextWarning: { bg: "#d78700", fg: "#000000" },
53
+ contextCritical: { bg: "#d75f5f", fg: "#ffffff" },
54
+ metrics: { bg: "#ff87d7", fg: "#444444" },
55
+ version: { bg: "#0087af", fg: "#00d7d7" },
56
+ env: { bg: "#585858", fg: "#ff87af" },
57
+ weekly: { bg: "#585858", fg: "#00d7d7" },
58
+ agent: { bg: "#808080", fg: "#ff87af" },
59
+ thinking: { bg: "#585858", fg: "#ff87d7" },
60
+ cacheTimer: { bg: "#585858", fg: "#87d787" },
61
+ };
@@ -0,0 +1,61 @@
1
+ import type { ColorTheme } from "./index";
2
+
3
+ export const rosePineTheme: ColorTheme = {
4
+ directory: { bg: "#26233a", fg: "#c4a7e7" },
5
+ git: { bg: "#1f1d2e", fg: "#9ccfd8" },
6
+ model: { bg: "#191724", fg: "#ebbcba" },
7
+ session: { bg: "#26233a", fg: "#f6c177" },
8
+ block: { bg: "#2a273f", fg: "#eb6f92" },
9
+ today: { bg: "#232136", fg: "#9ccfd8" },
10
+ tmux: { bg: "#26233a", fg: "#908caa" },
11
+ context: { bg: "#393552", fg: "#e0def4" },
12
+ contextWarning: { bg: "#f6c177", fg: "#191724" },
13
+ contextCritical: { bg: "#eb6f92", fg: "#191724" },
14
+ metrics: { bg: "#524f67", fg: "#e0def4" },
15
+ version: { bg: "#2a273f", fg: "#c4a7e7" },
16
+ env: { bg: "#21202e", fg: "#eb6f92" },
17
+ weekly: { bg: "#21202e", fg: "#c4a7e7" },
18
+ agent: { bg: "#2a273f", fg: "#c4a7e7" },
19
+ thinking: { bg: "#26223a", fg: "#c4a7e7" },
20
+ cacheTimer: { bg: "#1f2d2e", fg: "#9ccfd8" },
21
+ };
22
+
23
+ export const rosePineAnsi256Theme: ColorTheme = {
24
+ directory: { bg: "#444444", fg: "#d787d7" },
25
+ git: { bg: "#262626", fg: "#87d7d7" },
26
+ model: { bg: "#1c1c1c", fg: "#ffaf87" },
27
+ session: { bg: "#444444", fg: "#d7af5f" },
28
+ block: { bg: "#4e4e4e", fg: "#ff5f87" },
29
+ today: { bg: "#3a3a3a", fg: "#87d7d7" },
30
+ tmux: { bg: "#444444", fg: "#9e9e9e" },
31
+ context: { bg: "#585858", fg: "#e4e4e4" },
32
+ contextWarning: { bg: "#d7af5f", fg: "#1c1c1c" },
33
+ contextCritical: { bg: "#ff5f87", fg: "#1c1c1c" },
34
+ metrics: { bg: "#767676", fg: "#e4e4e4" },
35
+ version: { bg: "#4e4e4e", fg: "#d787d7" },
36
+ env: { bg: "#303030", fg: "#ff5f87" },
37
+ weekly: { bg: "#303030", fg: "#d787d7" },
38
+ agent: { bg: "#4e4e4e", fg: "#d787d7" },
39
+ thinking: { bg: "#303030", fg: "#d787d7" },
40
+ cacheTimer: { bg: "#303030", fg: "#87d7d7" },
41
+ };
42
+
43
+ export const rosePineAnsiTheme: ColorTheme = {
44
+ directory: { bg: "#585858", fg: "#ff87ff" },
45
+ git: { bg: "#303030", fg: "#00d7d7" },
46
+ model: { bg: "#262626", fg: "#ffaf87" },
47
+ session: { bg: "#585858", fg: "#d7af00" },
48
+ block: { bg: "#666666", fg: "#ff5f87" },
49
+ today: { bg: "#444444", fg: "#00d7d7" },
50
+ tmux: { bg: "#585858", fg: "#bcbcbc" },
51
+ context: { bg: "#808080", fg: "#ffffff" },
52
+ contextWarning: { bg: "#d7af00", fg: "#000000" },
53
+ contextCritical: { bg: "#ff5f5f", fg: "#000000" },
54
+ metrics: { bg: "#a8a8a8", fg: "#000000" },
55
+ version: { bg: "#666666", fg: "#ff87ff" },
56
+ env: { bg: "#444444", fg: "#ff5f87" },
57
+ weekly: { bg: "#444444", fg: "#ff87ff" },
58
+ agent: { bg: "#666666", fg: "#ff87ff" },
59
+ thinking: { bg: "#444444", fg: "#ff87ff" },
60
+ cacheTimer: { bg: "#444444", fg: "#00d7d7" },
61
+ };
@@ -0,0 +1,61 @@
1
+ import type { ColorTheme } from "./index";
2
+
3
+ export const tokyoNightTheme: ColorTheme = {
4
+ directory: { bg: "#2f334d", fg: "#82aaff" },
5
+ git: { bg: "#1e2030", fg: "#c3e88d" },
6
+ model: { bg: "#191b29", fg: "#fca7ea" },
7
+ session: { bg: "#222436", fg: "#86e1fc" },
8
+ block: { bg: "#2d3748", fg: "#7aa2f7" },
9
+ today: { bg: "#1a202c", fg: "#4fd6be" },
10
+ tmux: { bg: "#191b29", fg: "#4fd6be" },
11
+ context: { bg: "#414868", fg: "#c0caf5" },
12
+ contextWarning: { bg: "#ff9e64", fg: "#1a1b26" },
13
+ contextCritical: { bg: "#f7768e", fg: "#1a1b26" },
14
+ metrics: { bg: "#3d59a1", fg: "#c0caf5" },
15
+ version: { bg: "#292e42", fg: "#bb9af7" },
16
+ env: { bg: "#24283b", fg: "#fca7ea" },
17
+ weekly: { bg: "#24283b", fg: "#7dcfff" },
18
+ agent: { bg: "#2d2b55", fg: "#bb9af7" },
19
+ thinking: { bg: "#2f2a3d", fg: "#bb9af7" },
20
+ cacheTimer: { bg: "#1f2e2a", fg: "#9ece6a" },
21
+ };
22
+
23
+ export const tokyoNightAnsi256Theme: ColorTheme = {
24
+ directory: { bg: "#444478", fg: "#87afff" },
25
+ git: { bg: "#262640", fg: "#afff87" },
26
+ model: { bg: "#1c1c30", fg: "#ff87ff" },
27
+ session: { bg: "#3a3a50", fg: "#5fd7ff" },
28
+ block: { bg: "#4e4e68", fg: "#5f87ff" },
29
+ today: { bg: "#262640", fg: "#00d7af" },
30
+ tmux: { bg: "#1c1c30", fg: "#00d7af" },
31
+ context: { bg: "#5f5f87", fg: "#d7d7ff" },
32
+ contextWarning: { bg: "#ffaf5f", fg: "#262626" },
33
+ contextCritical: { bg: "#ff5f87", fg: "#262626" },
34
+ metrics: { bg: "#5f5faf", fg: "#d7d7ff" },
35
+ version: { bg: "#444460", fg: "#d787ff" },
36
+ env: { bg: "#303050", fg: "#ff87ff" },
37
+ weekly: { bg: "#303050", fg: "#5fd7ff" },
38
+ agent: { bg: "#5f5f87", fg: "#af87ff" },
39
+ thinking: { bg: "#444460", fg: "#d787ff" },
40
+ cacheTimer: { bg: "#1c3a30", fg: "#87d787" },
41
+ };
42
+
43
+ export const tokyoNightAnsiTheme: ColorTheme = {
44
+ directory: { bg: "#5f5faf", fg: "#87afff" },
45
+ git: { bg: "#303050", fg: "#87ff87" },
46
+ model: { bg: "#262640", fg: "#ff87ff" },
47
+ session: { bg: "#444470", fg: "#00d7ff" },
48
+ block: { bg: "#666680", fg: "#5f87ff" },
49
+ today: { bg: "#303050", fg: "#00d787" },
50
+ tmux: { bg: "#262640", fg: "#00d787" },
51
+ context: { bg: "#808080", fg: "#ffffff" },
52
+ contextWarning: { bg: "#ffaf00", fg: "#000000" },
53
+ contextCritical: { bg: "#ff5f5f", fg: "#000000" },
54
+ metrics: { bg: "#8787d7", fg: "#ffffff" },
55
+ version: { bg: "#585870", fg: "#d787ff" },
56
+ env: { bg: "#444470", fg: "#ff87ff" },
57
+ weekly: { bg: "#444470", fg: "#00d7ff" },
58
+ agent: { bg: "#5f5faf", fg: "#d787ff" },
59
+ thinking: { bg: "#585870", fg: "#d787ff" },
60
+ cacheTimer: { bg: "#305050", fg: "#00d787" },
61
+ };