anantham-v2 2.0.2 → 2.0.3

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 (54) hide show
  1. package/dist/bin/anantham.js +1 -1
  2. package/dist/cli/command-registry.d.ts +8 -0
  3. package/dist/cli/command-registry.d.ts.map +1 -1
  4. package/dist/cli/command-registry.js +312 -72
  5. package/dist/cli/command-registry.js.map +1 -1
  6. package/dist/domain/tui.d.ts +1 -1
  7. package/dist/domain/tui.d.ts.map +1 -1
  8. package/dist/domain/tui.js +1 -0
  9. package/dist/domain/tui.js.map +1 -1
  10. package/dist/models/adapters/openai-compatible-adapter.d.ts.map +1 -1
  11. package/dist/models/adapters/openai-compatible-adapter.js +2 -1
  12. package/dist/models/adapters/openai-compatible-adapter.js.map +1 -1
  13. package/dist/models/provider-registry.d.ts +2 -2
  14. package/dist/persistence/index.d.ts +2 -0
  15. package/dist/persistence/index.d.ts.map +1 -1
  16. package/dist/persistence/index.js +2 -0
  17. package/dist/persistence/index.js.map +1 -1
  18. package/dist/persistence/token-metrics-manager.d.ts +88 -0
  19. package/dist/persistence/token-metrics-manager.d.ts.map +1 -0
  20. package/dist/persistence/token-metrics-manager.js +272 -0
  21. package/dist/persistence/token-metrics-manager.js.map +1 -0
  22. package/dist/persistence/user-config-manager.d.ts +4 -0
  23. package/dist/persistence/user-config-manager.d.ts.map +1 -1
  24. package/dist/persistence/user-config-manager.js +35 -1
  25. package/dist/persistence/user-config-manager.js.map +1 -1
  26. package/dist/tui/ansi-gradient.d.ts +43 -0
  27. package/dist/tui/ansi-gradient.d.ts.map +1 -0
  28. package/dist/tui/ansi-gradient.js +131 -0
  29. package/dist/tui/ansi-gradient.js.map +1 -0
  30. package/dist/tui/command-palette.d.ts +20 -0
  31. package/dist/tui/command-palette.d.ts.map +1 -0
  32. package/dist/tui/command-palette.js +241 -0
  33. package/dist/tui/command-palette.js.map +1 -0
  34. package/dist/tui/terminal-layout.d.ts +4 -0
  35. package/dist/tui/terminal-layout.d.ts.map +1 -1
  36. package/dist/tui/terminal-layout.js +30 -0
  37. package/dist/tui/terminal-layout.js.map +1 -1
  38. package/dist/tui/token-dashboard-renderer.d.ts +6 -0
  39. package/dist/tui/token-dashboard-renderer.d.ts.map +1 -0
  40. package/dist/tui/token-dashboard-renderer.js +115 -0
  41. package/dist/tui/token-dashboard-renderer.js.map +1 -0
  42. package/dist/tui/tui-controller.d.ts +1 -0
  43. package/dist/tui/tui-controller.d.ts.map +1 -1
  44. package/dist/tui/tui-controller.js +92 -4
  45. package/dist/tui/tui-controller.js.map +1 -1
  46. package/dist/tui/tui-renderer.d.ts +5 -1
  47. package/dist/tui/tui-renderer.d.ts.map +1 -1
  48. package/dist/tui/tui-renderer.js +35 -8
  49. package/dist/tui/tui-renderer.js.map +1 -1
  50. package/dist/tui/tui-sanitizer.d.ts +4 -0
  51. package/dist/tui/tui-sanitizer.d.ts.map +1 -1
  52. package/dist/tui/tui-sanitizer.js +6 -0
  53. package/dist/tui/tui-sanitizer.js.map +1 -1
  54. package/package.json +1 -1
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Anantham V2 — Antigravity TrueColor ANSI Gradient Engine.
3
+ * Provides 24-bit TrueColor RGB color interpolation, progress bars, and sparklines.
4
+ */
5
+ export type RGB = [number, number, number];
6
+ export interface ColorStop {
7
+ position: number;
8
+ color: RGB;
9
+ }
10
+ export declare class AnsiGradient {
11
+ static readonly PALETTES: {
12
+ cyanBlue: [RGB, RGB];
13
+ neonPinkViolet: [RGB, RGB];
14
+ amberCoral: [RGB, RGB];
15
+ emeraldMint: [RGB, RGB];
16
+ graphiteOnyx: [RGB, RGB];
17
+ };
18
+ /**
19
+ * Determine if current terminal supports TrueColor (24-bit).
20
+ */
21
+ static isTrueColorSupported(): boolean;
22
+ /**
23
+ * Format text with foreground 24-bit TrueColor.
24
+ */
25
+ static colorRgb(text: string, [r, g, b]: RGB): string;
26
+ /**
27
+ * Format text with background 24-bit TrueColor.
28
+ */
29
+ static bgRgb(text: string, [r, g, b]: RGB): string;
30
+ /**
31
+ * Apply linear gradient between two RGB colors across string characters.
32
+ */
33
+ static linearGradient(text: string, from?: RGB, to?: RGB): string;
34
+ /**
35
+ * Render a stylish horizontal progress bar with filled gradient and unfilled track.
36
+ */
37
+ static horizontalBar(value: number, max: number, width?: number, palette?: keyof typeof AnsiGradient.PALETTES): string;
38
+ /**
39
+ * Render a unicode sparkline string from a series of numeric values.
40
+ */
41
+ static sparkline(values: number[], palette?: keyof typeof AnsiGradient.PALETTES): string;
42
+ }
43
+ //# sourceMappingURL=ansi-gradient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi-gradient.d.ts","sourceRoot":"","sources":["../../src/tui/ansi-gradient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE3C,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,qBAAa,YAAY;IACvB,gBAAuB,QAAQ;kBAIxB,CAAC,GAAG,EAAE,GAAG,CAAC;wBAIV,CAAC,GAAG,EAAE,GAAG,CAAC;oBAIV,CAAC,GAAG,EAAE,GAAG,CAAC;qBAIV,CAAC,GAAG,EAAE,GAAG,CAAC;sBAIV,CAAC,GAAG,EAAE,GAAG,CAAC;MACf;IAEF;;OAEG;WACW,oBAAoB,IAAI,OAAO;IAe7C;;OAEG;WACW,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM;IAI5D;;OAEG;WACW,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM;IAIzD;;OAEG;WACW,cAAc,CAC1B,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,GAAuC,EAC7C,EAAE,GAAE,GAAuC,GAC1C,MAAM;IA6BT;;OAEG;WACW,aAAa,CACzB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAW,EAClB,OAAO,GAAE,MAAM,OAAO,YAAY,CAAC,QAAqB,GACvD,MAAM;IAqBT;;OAEG;WACW,SAAS,CACrB,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,GAAE,MAAM,OAAO,YAAY,CAAC,QAAqB,GACvD,MAAM;CA2BV"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Anantham V2 — Antigravity TrueColor ANSI Gradient Engine.
3
+ * Provides 24-bit TrueColor RGB color interpolation, progress bars, and sparklines.
4
+ */
5
+ export class AnsiGradient {
6
+ static PALETTES = {
7
+ cyanBlue: [
8
+ [0, 242, 254],
9
+ [79, 172, 254],
10
+ ],
11
+ neonPinkViolet: [
12
+ [247, 37, 133],
13
+ [114, 9, 183],
14
+ ],
15
+ amberCoral: [
16
+ [255, 154, 60],
17
+ [255, 94, 98],
18
+ ],
19
+ emeraldMint: [
20
+ [0, 242, 152],
21
+ [79, 254, 180],
22
+ ],
23
+ graphiteOnyx: [
24
+ [26, 26, 30],
25
+ [10, 10, 12],
26
+ ],
27
+ };
28
+ /**
29
+ * Determine if current terminal supports TrueColor (24-bit).
30
+ */
31
+ static isTrueColorSupported() {
32
+ const colorTerm = process.env.COLORTERM?.toLowerCase();
33
+ if (colorTerm === "truecolor" || colorTerm === "24bit") {
34
+ return true;
35
+ }
36
+ if (process.env.TERM_PROGRAM === "vscode" || process.env.WT_SESSION) {
37
+ return true;
38
+ }
39
+ // Default to true in modern Windows and macOS terminals unless explicitly dumb
40
+ if (process.env.TERM === "dumb") {
41
+ return false;
42
+ }
43
+ return true;
44
+ }
45
+ /**
46
+ * Format text with foreground 24-bit TrueColor.
47
+ */
48
+ static colorRgb(text, [r, g, b]) {
49
+ return `\x1b[38;2;${r};${g};${b}m${text}\x1b[0m`;
50
+ }
51
+ /**
52
+ * Format text with background 24-bit TrueColor.
53
+ */
54
+ static bgRgb(text, [r, g, b]) {
55
+ return `\x1b[48;2;${r};${g};${b}m${text}\x1b[0m`;
56
+ }
57
+ /**
58
+ * Apply linear gradient between two RGB colors across string characters.
59
+ */
60
+ static linearGradient(text, from = AnsiGradient.PALETTES.cyanBlue[0], to = AnsiGradient.PALETTES.cyanBlue[1]) {
61
+ if (!text || text.length === 0)
62
+ return "";
63
+ if (text.length === 1) {
64
+ return AnsiGradient.colorRgb(text, from);
65
+ }
66
+ let result = "";
67
+ const len = text.length;
68
+ for (let i = 0; i < len; i++) {
69
+ const char = text[i];
70
+ // Preserve existing newlines and control characters
71
+ if (char === "\n" || char === "\r") {
72
+ result += char;
73
+ continue;
74
+ }
75
+ const t = i / (len - 1);
76
+ const r = Math.round(from[0] + t * (to[0] - from[0]));
77
+ const g = Math.round(from[1] + t * (to[1] - from[1]));
78
+ const b = Math.round(from[2] + t * (to[2] - from[2]));
79
+ result += `\x1b[38;2;${r};${g};${b}m${char}`;
80
+ }
81
+ result += "\x1b[0m";
82
+ return result;
83
+ }
84
+ /**
85
+ * Render a stylish horizontal progress bar with filled gradient and unfilled track.
86
+ */
87
+ static horizontalBar(value, max, width = 20, palette = "cyanBlue") {
88
+ const safeMax = max <= 0 ? 1 : max;
89
+ const ratio = Math.max(0, Math.min(1, value / safeMax));
90
+ const filledCount = Math.round(ratio * width);
91
+ const unfilledCount = Math.max(0, width - filledCount);
92
+ const [from, to] = AnsiGradient.PALETTES[palette];
93
+ let filledStr = "";
94
+ for (let i = 0; i < filledCount; i++) {
95
+ const t = filledCount > 1 ? i / (filledCount - 1) : 0;
96
+ const r = Math.round(from[0] + t * (to[0] - from[0]));
97
+ const g = Math.round(from[1] + t * (to[1] - from[1]));
98
+ const b = Math.round(from[2] + t * (to[2] - from[2]));
99
+ filledStr += `\x1b[38;2;${r};${g};${b}m█`;
100
+ }
101
+ const unfilledStr = `\x1b[38;2;60;60;70m${"░".repeat(unfilledCount)}\x1b[0m`;
102
+ return `${filledStr}${unfilledStr}\x1b[0m`;
103
+ }
104
+ /**
105
+ * Render a unicode sparkline string from a series of numeric values.
106
+ */
107
+ static sparkline(values, palette = "cyanBlue") {
108
+ if (!values || values.length === 0)
109
+ return "";
110
+ const glyphs = [" ", "▂", "▃", "▄", "▅", "▆", "▇", "█"];
111
+ const min = Math.min(...values);
112
+ const max = Math.max(...values);
113
+ const range = max - min <= 0 ? 1 : max - min;
114
+ const [from, to] = AnsiGradient.PALETTES[palette];
115
+ let result = "";
116
+ for (let i = 0; i < values.length; i++) {
117
+ const val = values[i] ?? min;
118
+ const norm = (val - min) / range;
119
+ const glyphIndex = Math.min(glyphs.length - 1, Math.floor(norm * glyphs.length));
120
+ const glyph = glyphs[glyphIndex];
121
+ const t = values.length > 1 ? i / (values.length - 1) : 0;
122
+ const r = Math.round(from[0] + t * (to[0] - from[0]));
123
+ const g = Math.round(from[1] + t * (to[1] - from[1]));
124
+ const b = Math.round(from[2] + t * (to[2] - from[2]));
125
+ result += `\x1b[38;2;${r};${g};${b}m${glyph}`;
126
+ }
127
+ result += "\x1b[0m";
128
+ return result;
129
+ }
130
+ }
131
+ //# sourceMappingURL=ansi-gradient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ansi-gradient.js","sourceRoot":"","sources":["../../src/tui/ansi-gradient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface PaletteCommand {
2
+ id: string;
3
+ command: string;
4
+ label: string;
5
+ description: string;
6
+ shortcut?: string;
7
+ category: "system" | "views" | "models" | "analytics";
8
+ }
9
+ export declare class CommandPalette {
10
+ static readonly COMMANDS: PaletteCommand[];
11
+ /**
12
+ * Filter available commands based on query string.
13
+ */
14
+ static filterCommands(query: string): PaletteCommand[];
15
+ /**
16
+ * Render popover overlay box above the command input field.
17
+ */
18
+ static renderOverlay(filtered: PaletteCommand[], selectedIndex: number, width?: number, maxVisible?: number): string[];
19
+ }
20
+ //# sourceMappingURL=command-palette.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-palette.d.ts","sourceRoot":"","sources":["../../src/tui/command-palette.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;CACvD;AAED,qBAAa,cAAc;IACzB,gBAAuB,QAAQ,EAAE,cAAc,EAAE,CAiK/C;IAEF;;OAEG;WACW,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc,EAAE;IAgB7D;;OAEG;WACW,aAAa,CACzB,QAAQ,EAAE,cAAc,EAAE,EAC1B,aAAa,EAAE,MAAM,EACrB,KAAK,GAAE,MAAW,EAClB,UAAU,GAAE,MAAU,GACrB,MAAM,EAAE;CA2EZ"}
@@ -0,0 +1,241 @@
1
+ import { AnsiGradient } from "./ansi-gradient.js";
2
+ export class CommandPalette {
3
+ static COMMANDS = [
4
+ {
5
+ id: "teamwork-preview",
6
+ command: "/teamwork-preview",
7
+ label: "Teamwork Preview",
8
+ description: "Launch autonomous multi-worker preview harness",
9
+ shortcut: "Alt+T",
10
+ category: "analytics",
11
+ },
12
+ {
13
+ id: "usage",
14
+ command: "/usage",
15
+ label: "Token Usage Matrix",
16
+ description: "Real-time token analytics & financial cost dashboard",
17
+ shortcut: "Alt+U",
18
+ category: "analytics",
19
+ },
20
+ {
21
+ id: "models",
22
+ command: "/models",
23
+ label: "Model Management",
24
+ description: "View, switch, add and live-search AI models",
25
+ shortcut: "Alt+M",
26
+ category: "models",
27
+ },
28
+ {
29
+ id: "model-1",
30
+ command: "/model 1",
31
+ label: "Select Model 1",
32
+ description: "Fast-switch to Claude 3.5 Sonnet",
33
+ shortcut: "1",
34
+ category: "models",
35
+ },
36
+ {
37
+ id: "model-2",
38
+ command: "/model 2",
39
+ label: "Select Model 2",
40
+ description: "Fast-switch to GPT-4o",
41
+ shortcut: "2",
42
+ category: "models",
43
+ },
44
+ {
45
+ id: "model-3",
46
+ command: "/model 3",
47
+ label: "Select Model 3",
48
+ description: "Fast-switch to DeepSeek V3",
49
+ shortcut: "3",
50
+ category: "models",
51
+ },
52
+ {
53
+ id: "key",
54
+ command: "/key",
55
+ label: "Provider API Keys",
56
+ description: "Configure OpenRouter, OpenAI, Anthropic, Gemini keys",
57
+ shortcut: "Alt+K",
58
+ category: "system",
59
+ },
60
+ {
61
+ id: "status",
62
+ command: "/status",
63
+ label: "System Status",
64
+ description: "Display engine latency, health and recovery state",
65
+ shortcut: "Alt+S",
66
+ category: "system",
67
+ },
68
+ {
69
+ id: "clear",
70
+ command: "/clear",
71
+ label: "Clear Viewport",
72
+ description: "Clear command result buffer and reset screen",
73
+ shortcut: "Ctrl+L",
74
+ category: "system",
75
+ },
76
+ {
77
+ id: "dashboard",
78
+ command: "/dashboard",
79
+ label: "Dashboard View",
80
+ description: "Switch to System Overview dashboard",
81
+ shortcut: "1",
82
+ category: "views",
83
+ },
84
+ {
85
+ id: "session",
86
+ command: "/session",
87
+ label: "Session View",
88
+ description: "Switch to Session & context inspection",
89
+ shortcut: "2",
90
+ category: "views",
91
+ },
92
+ {
93
+ id: "tasks",
94
+ command: "/tasks",
95
+ label: "Tasks DAG",
96
+ description: "Switch to Task dependency & execution graph",
97
+ shortcut: "3",
98
+ category: "views",
99
+ },
100
+ {
101
+ id: "workflows",
102
+ command: "/workflows",
103
+ label: "Workflows",
104
+ description: "Switch to Wave DAG workflow orchestration",
105
+ shortcut: "4",
106
+ category: "views",
107
+ },
108
+ {
109
+ id: "agents",
110
+ command: "/agents",
111
+ label: "Agent Roster",
112
+ description: "Switch to Active agent & subagent roster",
113
+ shortcut: "5",
114
+ category: "views",
115
+ },
116
+ {
117
+ id: "jobs",
118
+ command: "/jobs",
119
+ label: "Background Jobs",
120
+ description: "Switch to Detached background jobs pool",
121
+ shortcut: "6",
122
+ category: "views",
123
+ },
124
+ {
125
+ id: "nodes",
126
+ command: "/nodes",
127
+ label: "Remote Nodes",
128
+ description: "Switch to Distributed remote execution nodes",
129
+ shortcut: "7",
130
+ category: "views",
131
+ },
132
+ {
133
+ id: "approvals",
134
+ command: "/approvals",
135
+ label: "Approvals",
136
+ description: "Switch to Human-in-the-loop approval gates",
137
+ shortcut: "8",
138
+ category: "views",
139
+ },
140
+ {
141
+ id: "events",
142
+ command: "/events",
143
+ label: "Event Stream",
144
+ description: "Switch to Real-time immutable event log",
145
+ shortcut: "9",
146
+ category: "views",
147
+ },
148
+ {
149
+ id: "help",
150
+ command: "/help",
151
+ label: "Help & Shortcuts",
152
+ description: "Display command index and keyboard navigation",
153
+ shortcut: "?",
154
+ category: "system",
155
+ },
156
+ {
157
+ id: "quit",
158
+ command: "/quit",
159
+ label: "Quit Shell",
160
+ description: "Cleanly terminate the interactive TUI shell",
161
+ shortcut: "q",
162
+ category: "system",
163
+ },
164
+ ];
165
+ /**
166
+ * Filter available commands based on query string.
167
+ */
168
+ static filterCommands(query) {
169
+ const raw = query.trim().toLowerCase();
170
+ const cleanQuery = raw.startsWith("/") ? raw : `/${raw}`;
171
+ if (cleanQuery === "/") {
172
+ return [...CommandPalette.COMMANDS];
173
+ }
174
+ return CommandPalette.COMMANDS.filter((item) => {
175
+ const matchCmd = item.command.toLowerCase().includes(cleanQuery);
176
+ const matchLabel = item.label.toLowerCase().includes(raw.replace(/^\//, ""));
177
+ const matchDesc = item.description.toLowerCase().includes(raw.replace(/^\//, ""));
178
+ return matchCmd || matchLabel || matchDesc;
179
+ });
180
+ }
181
+ /**
182
+ * Render popover overlay box above the command input field.
183
+ */
184
+ static renderOverlay(filtered, selectedIndex, width = 78, maxVisible = 7) {
185
+ const lines = [];
186
+ const innerWidth = Math.max(40, width - 4);
187
+ const titleText = " ❖ COMMAND PALETTE ";
188
+ const titleGrad = AnsiGradient.linearGradient(titleText, AnsiGradient.PALETTES.cyanBlue[0], AnsiGradient.PALETTES.cyanBlue[1]);
189
+ const borderCyan = "\x1b[38;2;0;242;254m";
190
+ const borderDim = "\x1b[38;2;60;60;80m";
191
+ const reset = "\x1b[0m";
192
+ // Top border
193
+ const padLen = Math.max(0, innerWidth - titleText.length - 2);
194
+ lines.push(`${borderCyan}╭─${reset}${titleGrad}${borderCyan}${"─".repeat(padLen)}╮${reset}`);
195
+ if (filtered.length === 0) {
196
+ const emptyMsg = " (No matching commands found)";
197
+ const pad = " ".repeat(Math.max(0, innerWidth - emptyMsg.length));
198
+ lines.push(`${borderCyan}│${reset}\x1b[90m${emptyMsg}${pad}${reset}${borderCyan}│${reset}`);
199
+ }
200
+ else {
201
+ // Calculate window of visible items
202
+ const total = filtered.length;
203
+ const safeSelected = Math.max(0, Math.min(selectedIndex, total - 1));
204
+ let startIdx = 0;
205
+ if (safeSelected >= maxVisible) {
206
+ startIdx = safeSelected - maxVisible + 1;
207
+ }
208
+ const endIdx = Math.min(total, startIdx + maxVisible);
209
+ for (let i = startIdx; i < endIdx; i++) {
210
+ const item = filtered[i];
211
+ if (!item)
212
+ continue;
213
+ const isSelected = i === safeSelected;
214
+ const cmdPart = item.command.padEnd(20);
215
+ const descPart = item.description;
216
+ const shortcutPart = item.shortcut ? ` [${item.shortcut}]` : "";
217
+ const availableDescWidth = Math.max(10, innerWidth - cmdPart.length - shortcutPart.length - 6);
218
+ const truncatedDesc = descPart.length > availableDescWidth
219
+ ? `${descPart.slice(0, availableDescWidth - 3)}...`
220
+ : descPart;
221
+ const contentRaw = ` ${isSelected ? "▶" : " "} ${cmdPart} ${truncatedDesc}${shortcutPart} `;
222
+ const totalPad = Math.max(0, innerWidth - contentRaw.length);
223
+ if (isSelected) {
224
+ // Highlight with cyan background and bold text
225
+ const styledLine = `\x1b[48;2;16;38;56m\x1b[1m\x1b[38;2;0;242;254m ${"▶"} ${cmdPart}\x1b[38;2;220;235;255m ${truncatedDesc}\x1b[38;2;140;180;220m${shortcutPart} ${" ".repeat(totalPad)}${reset}`;
226
+ lines.push(`${borderCyan}│${reset}${styledLine}${borderCyan}│${reset}`);
227
+ }
228
+ else {
229
+ const styledLine = ` \x1b[38;2;79;172;254m${cmdPart}\x1b[38;2;160;160;180m ${truncatedDesc}\x1b[90m${shortcutPart} ${" ".repeat(totalPad)}${reset}`;
230
+ lines.push(`${borderDim}│${reset}${styledLine}${borderDim}│${reset}`);
231
+ }
232
+ }
233
+ }
234
+ // Bottom hints border
235
+ const hintText = " [↑/↓] Navigate [Tab] Complete [Enter] Execute [Esc] Close ";
236
+ const hintPad = Math.max(0, innerWidth - hintText.length);
237
+ lines.push(`${borderCyan}╰─${reset}\x1b[90m${hintText}${"─".repeat(hintPad)}${reset}${borderCyan}╯${reset}`);
238
+ return lines;
239
+ }
240
+ }
241
+ //# sourceMappingURL=command-palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-palette.js","sourceRoot":"","sources":["../../src/tui/command-palette.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,10 @@ export declare class TerminalLayout {
69
69
  * Render top status bar.
70
70
  */
71
71
  static renderStatusBar(status: string, projectId: string | undefined, sessionId: string | undefined, dimensions: TuiDimensions): string;
72
+ /**
73
+ * Render Antigravity Header with coiled infinity serpent branding & status pill.
74
+ */
75
+ static renderAntigravityHeader(status: string, projectId: string | undefined, sessionId: string | undefined, dimensions: TuiDimensions, activeModel?: string): string[];
72
76
  /**
73
77
  * Render horizontal divider.
74
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-layout.d.ts","sourceRoot":"","sources":["../../src/tui/terminal-layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,gBAAuB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwC5B;IAEF;;OAEG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,EAAE;IA0C1E;;OAEG;WACW,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAalE;;OAEG;WACW,eAAe,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,aAAa,GACxB,MAAM;IAeT;;OAEG;WACW,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM;IAI9D;;OAEG;WACW,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAgB9F"}
1
+ {"version":3,"file":"terminal-layout.d.ts","sourceRoot":"","sources":["../../src/tui/terminal-layout.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;CAC/C;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;;GAGG;AACH,qBAAa,cAAc;IACzB,gBAAuB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwC5B;IAEF;;OAEG;WACW,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,GAAG,MAAM,EAAE;IA0C1E;;OAEG;WACW,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAalE;;OAEG;WACW,eAAe,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,aAAa,GACxB,MAAM;IAeT;;OAEG;WACW,uBAAuB,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,UAAU,EAAE,aAAa,EACzB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,EAAE;IAoCX;;OAEG;WACW,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,SAAM,GAAG,MAAM;IAI9D;;OAEG;WACW,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE;CAgB9F"}
@@ -1,4 +1,5 @@
1
1
  import { TuiSanitizer } from "./tui-sanitizer.js";
2
+ import { AnsiGradient } from "./ansi-gradient.js";
2
3
  /**
3
4
  * ANSI Terminal Layout & Box Drawing Engine.
4
5
  * PRD Part 2 Section 186.
@@ -109,6 +110,35 @@ export class TerminalLayout {
109
110
  const combined = `${left}${" ".repeat(space)}${right}`;
110
111
  return combined.length <= width ? combined : combined.slice(0, width);
111
112
  }
113
+ /**
114
+ * Render Antigravity Header with coiled infinity serpent branding & status pill.
115
+ */
116
+ static renderAntigravityHeader(status, projectId, sessionId, dimensions, activeModel) {
117
+ const width = dimensions.width;
118
+ const lines = [];
119
+ const serpentTop = "\x1b[38;2;0;242;152m╭─━∞━─╮\x1b[0m";
120
+ const serpentBottom = "\x1b[38;2;0;242;152m╰─━∞━─╯\x1b[0m";
121
+ const title = AnsiGradient.linearGradient("ANANTHAM INFINITE TUI", AnsiGradient.PALETTES.cyanBlue[0], AnsiGradient.PALETTES.cyanBlue[1]);
122
+ const statusPill = "\x1b[48;2;16;38;56m\x1b[38;2;0;242;254m[HARNESS: ONLINE | LATENCY: 18ms]\x1b[0m";
123
+ const statusText = `Status: [${status}]`;
124
+ if (width >= 80) {
125
+ const left1 = ` ${serpentTop} ${title} ❖ ${statusPill}`;
126
+ const right1 = `${statusText} │ ${dimensions.width}x${dimensions.height} `;
127
+ const space1 = Math.max(1, width - 68 - right1.length);
128
+ lines.push(`${left1}${" ".repeat(space1)}${right1}`);
129
+ const subtitle = "\x1b[90mAntigravity Reactive Shell v2.0.3\x1b[0m";
130
+ const modelClean = activeModel ? activeModel.split("/").pop() : undefined;
131
+ const modelStr = modelClean ? `\x1b[38;2;79;172;254mModel: ${modelClean}\x1b[0m` : "";
132
+ const projSess = `Project: ${projectId ?? "(none)"} │ Session: ${sessionId ?? "(none)"} `;
133
+ const left2 = ` ${serpentBottom} ${subtitle}${modelStr ? " │ " + modelStr : ""}`;
134
+ const space2 = Math.max(1, width - 42 - (modelClean ? modelClean.length + 9 : 0) - projSess.length);
135
+ lines.push(`${left2}${" ".repeat(space2)}${projSess}`);
136
+ }
137
+ else {
138
+ lines.push(TerminalLayout.renderStatusBar(status, projectId, sessionId, dimensions));
139
+ }
140
+ return lines;
141
+ }
112
142
  /**
113
143
  * Render horizontal divider.
114
144
  */
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-layout.js","sourceRoot":"","sources":["../../src/tui/terminal-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-layout.js","sourceRoot":"","sources":["../../src/tui/terminal-layout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare class TokenDashboardRenderer {
2
+ static formatTokens(count: number): string;
3
+ static formatUsd(usd: number): string;
4
+ static render(width?: number, _height?: number): string[];
5
+ }
6
+ //# sourceMappingURL=token-dashboard-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-dashboard-renderer.d.ts","sourceRoot":"","sources":["../../src/tui/token-dashboard-renderer.ts"],"names":[],"mappings":"AAGA,qBAAa,sBAAsB;WACnB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;WAUnC,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;WAU9B,MAAM,CAAC,KAAK,GAAE,MAAW,EAAE,OAAO,GAAE,MAAW,GAAG,MAAM,EAAE;CA0IzE"}