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,115 @@
1
+ import { AnsiGradient } from "./ansi-gradient.js";
2
+ import { TokenMetricsManager } from "../persistence/token-metrics-manager.js";
3
+ export class TokenDashboardRenderer {
4
+ static formatTokens(count) {
5
+ if (count >= 1_000_000) {
6
+ return `${(count / 1_000_000).toFixed(2)}M`;
7
+ }
8
+ if (count >= 1_000) {
9
+ return `${(count / 1_000).toFixed(1)}K`;
10
+ }
11
+ return count.toLocaleString();
12
+ }
13
+ static formatUsd(usd) {
14
+ if (usd >= 100) {
15
+ return `$${usd.toFixed(2)}`;
16
+ }
17
+ if (usd >= 1) {
18
+ return `$${usd.toFixed(3)}`;
19
+ }
20
+ return `$${usd.toFixed(4)}`;
21
+ }
22
+ static render(width = 80, _height = 24) {
23
+ const lines = [];
24
+ const metrics = TokenMetricsManager.getInstance();
25
+ const today = metrics.getDailySummary();
26
+ const mtd = metrics.getMtdSummary();
27
+ const budget = metrics.getMonthlyBudget();
28
+ const trend = metrics.getSevenDayTrend();
29
+ const topModels = metrics.getTopModels(4);
30
+ const borderCyan = "\x1b[38;2;0;242;254m";
31
+ const reset = "\x1b[0m";
32
+ const bold = "\x1b[1m";
33
+ const dim = "\x1b[90m";
34
+ const contentWidth = Math.max(76, width);
35
+ // 1. Dashboard Subheader
36
+ const title = " ❖ ANANTHAM TOKEN USAGE MATRIX & FINANCIAL DASHBOARD ";
37
+ const subTitle = " Real-Time Consumption Analytics & Model Cost Attribution ";
38
+ const titleGrad = AnsiGradient.linearGradient(title, AnsiGradient.PALETTES.cyanBlue[0], AnsiGradient.PALETTES.cyanBlue[1]);
39
+ const padTop = Math.max(0, contentWidth - title.length - 2);
40
+ lines.push(`${borderCyan}╭─${reset}${bold}${titleGrad}${borderCyan}${"─".repeat(padTop)}╮${reset}`);
41
+ const padSub = Math.max(0, contentWidth - subTitle.length - 2);
42
+ lines.push(`${borderCyan}│${reset}${dim}${subTitle}${" ".repeat(padSub)}${reset}${borderCyan}│${reset}`);
43
+ lines.push(`${borderCyan}├${"─".repeat(contentWidth - 2)}┤${reset}`);
44
+ // 2. Overview Metrics Grid
45
+ const colW = Math.floor((contentWidth - 6) / 3);
46
+ const card1Title = " [ TODAY'S TOKENS ]";
47
+ const card2Title = " [ MONTH-TO-DATE ]";
48
+ const card3Title = " [ ESTIMATED COST & BUDGET ]";
49
+ lines.push(`${borderCyan}│${reset} ${bold}\x1b[38;2;79;172;254m${card1Title.padEnd(colW)}${reset} │ ${bold}\x1b[38;2;247;37;133m${card2Title.padEnd(colW)}${reset} │ ${bold}\x1b[38;2;0;242;152m${card3Title.padEnd(colW)}${reset} ${borderCyan}│${reset}`);
50
+ // Row 1
51
+ const c1_1 = `Total: ${TokenDashboardRenderer.formatTokens(today.totalTokens)} (${today.requestCount} reqs)`;
52
+ const c2_1 = `Total: ${TokenDashboardRenderer.formatTokens(mtd.totalTokens)} (${mtd.requestCount} reqs)`;
53
+ const c3_1 = `Spent: ${TokenDashboardRenderer.formatUsd(mtd.totalCostUsd)} / $${budget.toFixed(0)}`;
54
+ lines.push(`${borderCyan}│${reset} ${c1_1.padEnd(colW)} │ ${c2_1.padEnd(colW)} │ ${c3_1.padEnd(colW)} ${borderCyan}│${reset}`);
55
+ // Row 2
56
+ const c1_2 = `In: ${TokenDashboardRenderer.formatTokens(today.totalInputTokens)} | Out: ${TokenDashboardRenderer.formatTokens(today.totalOutputTokens)}`;
57
+ const c2_2 = `In: ${TokenDashboardRenderer.formatTokens(mtd.totalInputTokens)} | Out: ${TokenDashboardRenderer.formatTokens(mtd.totalOutputTokens)}`;
58
+ const budgetPct = Math.min(100, Math.round((mtd.totalCostUsd / (budget || 1)) * 100));
59
+ const budgetBar = AnsiGradient.horizontalBar(mtd.totalCostUsd, budget, Math.max(10, colW - 8), "neonPinkViolet");
60
+ lines.push(`${borderCyan}│${reset} ${dim}${c1_2.padEnd(colW)}${reset} │ ${dim}${c2_2.padEnd(colW)}${reset} │ ${budgetBar} ${budgetPct}% ${borderCyan}│${reset}`);
61
+ // Row 3
62
+ const c1_3 = `Cached: ${TokenDashboardRenderer.formatTokens(today.totalCachedTokens)} | Cost: ${TokenDashboardRenderer.formatUsd(today.totalCostUsd)}`;
63
+ const c2_3 = `Cached: ${TokenDashboardRenderer.formatTokens(mtd.totalCachedTokens)} | Cost: ${TokenDashboardRenderer.formatUsd(mtd.totalCostUsd)}`;
64
+ const c3_3 = `Today: ${TokenDashboardRenderer.formatUsd(today.totalCostUsd)} (Burn Rate: Normal)`;
65
+ lines.push(`${borderCyan}│${reset} ${dim}${c1_3.padEnd(colW)}${reset} │ ${dim}${c2_3.padEnd(colW)}${reset} │ ${dim}${c3_3.padEnd(colW)}${reset} ${borderCyan}│${reset}`);
66
+ lines.push(`${borderCyan}├${"─".repeat(contentWidth - 2)}┤${reset}`);
67
+ // 3. Top Consuming Models Leaderboard
68
+ const modelHeader = " TOP CONSUMING MODELS (LEADERBOARD) ";
69
+ const modelHeaderGrad = AnsiGradient.linearGradient(modelHeader, AnsiGradient.PALETTES.amberCoral[0], AnsiGradient.PALETTES.amberCoral[1]);
70
+ const padModelHead = Math.max(0, contentWidth - modelHeader.length - 2);
71
+ lines.push(`${borderCyan}│${reset}${bold}${modelHeaderGrad}${dim}${"─".repeat(padModelHead)}${reset}${borderCyan}│${reset}`);
72
+ // Model Columns Header
73
+ const mCol1 = " MODEL";
74
+ const mCol2 = "TOKENS";
75
+ const mCol3 = "COST (USD)";
76
+ const mCol4 = "ALLOCATION SHARE";
77
+ const tableHeader = `${mCol1.padEnd(34)} ${mCol2.padStart(10)} ${mCol3.padStart(12)} ${mCol4}`;
78
+ lines.push(`${borderCyan}│${reset}${dim}${tableHeader.padEnd(contentWidth - 2)}${reset}${borderCyan}│${reset}`);
79
+ for (const m of topModels) {
80
+ const modelName = m.modelId.length > 30 ? `${m.modelId.slice(0, 27)}...` : m.modelId;
81
+ const tokensStr = TokenDashboardRenderer.formatTokens(m.totalTokens);
82
+ const costStr = TokenDashboardRenderer.formatUsd(m.costUsd);
83
+ const barWidth = Math.max(8, contentWidth - 66);
84
+ const bar = AnsiGradient.horizontalBar(m.percentage, 100, barWidth, "cyanBlue");
85
+ const rowText = ` \x1b[38;2;79;172;254m${modelName.padEnd(32)}${reset} \x1b[38;2;220;220;240m${tokensStr.padStart(10)}${reset} \x1b[38;2;0;242;152m${costStr.padStart(12)}${reset} ${bar} \x1b[1m${String(m.percentage).padStart(2)}%${reset}`;
86
+ const rawLen = 2 + 32 + 1 + 10 + 3 + 12 + 3 + barWidth + 1 + 3;
87
+ const padRow = Math.max(0, contentWidth - rawLen - 2);
88
+ lines.push(`${borderCyan}│${reset}${rowText}${" ".repeat(padRow)}${borderCyan}│${reset}`);
89
+ }
90
+ lines.push(`${borderCyan}├${"─".repeat(contentWidth - 2)}┤${reset}`);
91
+ // 4. 7-Day Trend & Volatility Sparkline
92
+ const trendValues = trend.map((t) => t.tokens);
93
+ const spark = AnsiGradient.sparkline(trendValues, "cyanBlue");
94
+ const trendTitle = " 7-DAY CONSUMPTION TREND & VOLATILITY SPARKLINE ";
95
+ const trendGrad = AnsiGradient.linearGradient(trendTitle, AnsiGradient.PALETTES.neonPinkViolet[0], AnsiGradient.PALETTES.neonPinkViolet[1]);
96
+ const padTrendHead = Math.max(0, contentWidth - trendTitle.length - 2);
97
+ lines.push(`${borderCyan}│${reset}${bold}${trendGrad}${dim}${"─".repeat(padTrendHead)}${reset}${borderCyan}│${reset}`);
98
+ const maxDayTokens = Math.max(...trendValues, 1);
99
+ const sparkRow = ` Trend Activity: [ ${spark} ] Peak: ${TokenDashboardRenderer.formatTokens(maxDayTokens)} tokens/day`;
100
+ lines.push(`${borderCyan}│${reset}${sparkRow}${" ".repeat(Math.max(0, contentWidth - 55))}${borderCyan}│${reset}`);
101
+ // Horizontal compact daily table
102
+ const dayCols = trend
103
+ .map((t) => `${t.date.slice(5)}: ${TokenDashboardRenderer.formatTokens(t.tokens)}`)
104
+ .join(" │ ");
105
+ const dayRow = ` ${dayCols}`;
106
+ const padDays = Math.max(0, contentWidth - dayRow.length - 2);
107
+ lines.push(`${borderCyan}│${reset}${dim}${dayRow}${" ".repeat(padDays)}${reset}${borderCyan}│${reset}`);
108
+ // Bottom Border & Navigation Hint
109
+ const navHints = " [ESC] Back to Dashboard [R] Refresh Stats [/] Command Palette ";
110
+ const padNav = Math.max(0, contentWidth - navHints.length - 2);
111
+ lines.push(`${borderCyan}╰─${reset}${bold}\x1b[38;2;0;242;254m${navHints}${reset}${borderCyan}${"─".repeat(padNav)}╯${reset}`);
112
+ return lines;
113
+ }
114
+ }
115
+ //# sourceMappingURL=token-dashboard-renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-dashboard-renderer.js","sourceRoot":"","sources":["../../src/tui/token-dashboard-renderer.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ export declare class TuiController {
42
42
  private commandOutput;
43
43
  private cursorPosition;
44
44
  private isBracketedPaste;
45
+ private paletteSelectedIndex;
45
46
  constructor(options: TuiControllerOptions);
46
47
  private attachStateListener;
47
48
  getCurrentView(): TuiViewMode;
@@ -1 +1 @@
1
- {"version":3,"file":"tui-controller.d.ts","sourceRoot":"","sources":["../../src/tui/tui-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-controller.d.ts","sourceRoot":"","sources":["../../src/tui/tui-controller.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { CommandPalette } from "./command-palette.js";
2
+ import { UserConfigManager } from "../persistence/user-config-manager.js";
1
3
  /**
2
4
  * TUI Controller: Manages navigation, keyboard input, command execution, and render coalescing.
3
5
  * PRD Part 2 Section 188–195.
@@ -25,6 +27,7 @@ export class TuiController {
25
27
  commandOutput = null;
26
28
  cursorPosition = 0;
27
29
  isBracketedPaste = false;
30
+ paletteSelectedIndex = 0;
28
31
  constructor(options) {
29
32
  this.stateAdapter = options.stateAdapter;
30
33
  this.renderer = options.renderer;
@@ -98,7 +101,22 @@ export class TuiController {
98
101
  * Render immediately to output stream.
99
102
  */
100
103
  renderNow() {
101
- const rendered = this.renderer.render(this.currentView, this.stateAdapter, this.isCommandMode ? this.commandBuffer : "", this.errorMessage, this.isCommandMode, this.isCommandMode ? this.cursorPosition : undefined, this.commandOutput ?? undefined);
104
+ let paletteOverlay;
105
+ if (this.isCommandMode && this.commandBuffer.startsWith("/")) {
106
+ const filtered = CommandPalette.filterCommands(this.commandBuffer);
107
+ paletteOverlay = {
108
+ filtered,
109
+ selectedIndex: this.paletteSelectedIndex,
110
+ };
111
+ }
112
+ let activeModel;
113
+ try {
114
+ activeModel = UserConfigManager.getInstance().getDefaultModel();
115
+ }
116
+ catch {
117
+ // Fallback
118
+ }
119
+ const rendered = this.renderer.render(this.currentView, this.stateAdapter, this.isCommandMode ? this.commandBuffer : "", this.errorMessage, this.isCommandMode, this.isCommandMode ? this.cursorPosition : undefined, this.commandOutput ?? undefined, paletteOverlay, activeModel);
102
120
  // In alternate buffer, position at home (1,1) and write frame WITHOUT trailing newline!
103
121
  this.output.write("\x1b[H" + rendered);
104
122
  }
@@ -314,8 +332,17 @@ export class TuiController {
314
332
  return true;
315
333
  }
316
334
  if (this.isCommandMode) {
317
- // 1. History navigation via Up / Down arrows
335
+ // 1. Command Palette / History navigation via Up / Down arrows
318
336
  if (TuiController.isArrowUp(token)) {
337
+ if (this.commandBuffer.startsWith("/")) {
338
+ const filtered = CommandPalette.filterCommands(this.commandBuffer);
339
+ if (filtered.length > 0) {
340
+ this.paletteSelectedIndex =
341
+ (this.paletteSelectedIndex - 1 + filtered.length) % filtered.length;
342
+ this.requestRender();
343
+ return true;
344
+ }
345
+ }
319
346
  if (this.commandHistory.length > 0) {
320
347
  if (this.historyIndex === -1) {
321
348
  this.historyDraft = this.commandBuffer;
@@ -331,6 +358,15 @@ export class TuiController {
331
358
  return true;
332
359
  }
333
360
  if (TuiController.isArrowDown(token)) {
361
+ if (this.commandBuffer.startsWith("/")) {
362
+ const filtered = CommandPalette.filterCommands(this.commandBuffer);
363
+ if (filtered.length > 0) {
364
+ this.paletteSelectedIndex =
365
+ (this.paletteSelectedIndex + 1) % filtered.length;
366
+ this.requestRender();
367
+ return true;
368
+ }
369
+ }
334
370
  if (this.historyIndex !== -1) {
335
371
  if (this.historyIndex < this.commandHistory.length - 1) {
336
372
  this.historyIndex++;
@@ -383,15 +419,39 @@ export class TuiController {
383
419
  if (TuiController.isEscapeSequence(token)) {
384
420
  return true;
385
421
  }
422
+ // Tab completion for command palette
423
+ if (token === "\t") {
424
+ if (this.commandBuffer.startsWith("/")) {
425
+ const filtered = CommandPalette.filterCommands(this.commandBuffer);
426
+ if (filtered.length > 0) {
427
+ const selected = filtered[Math.min(this.paletteSelectedIndex, filtered.length - 1)];
428
+ if (selected) {
429
+ this.commandBuffer = selected.command + " ";
430
+ this.cursorPosition = this.commandBuffer.length;
431
+ this.paletteSelectedIndex = 0;
432
+ this.requestRender();
433
+ return true;
434
+ }
435
+ }
436
+ }
437
+ return true;
438
+ }
386
439
  // 3. Submit command (Enter)
387
440
  if (token === "\r" || token === "\n") {
388
- const toExec = this.commandBuffer.trim();
441
+ let toExec = this.commandBuffer.trim();
442
+ if (toExec === "/" && this.commandBuffer.startsWith("/")) {
443
+ const filtered = CommandPalette.filterCommands(this.commandBuffer);
444
+ if (filtered.length > 0) {
445
+ toExec = filtered[this.paletteSelectedIndex]?.command ?? toExec;
446
+ }
447
+ }
389
448
  this.isCommandMode = false;
390
449
  this.commandBuffer = "";
391
450
  this.cursorPosition = 0;
392
451
  this.historyIndex = -1;
393
452
  this.historyDraft = "";
394
453
  this.savedDraft = "";
454
+ this.paletteSelectedIndex = 0;
395
455
  this.isBracketedPaste = false;
396
456
  // Empty command line or bare '/' / ':' cancels or clears without Zod error dump
397
457
  if (toExec && !/^[/:\s]*$/.test(toExec)) {
@@ -411,6 +471,7 @@ export class TuiController {
411
471
  this.cursorPosition = 0;
412
472
  this.historyIndex = -1;
413
473
  this.historyDraft = "";
474
+ this.paletteSelectedIndex = 0;
414
475
  this.isBracketedPaste = false;
415
476
  this.requestRender();
416
477
  return true;
@@ -474,6 +535,7 @@ export class TuiController {
474
535
  this.commandBuffer =
475
536
  this.commandBuffer.slice(0, this.cursorPosition) + token + this.commandBuffer.slice(this.cursorPosition);
476
537
  this.cursorPosition++;
538
+ this.paletteSelectedIndex = 0;
477
539
  this.requestRender();
478
540
  return true;
479
541
  }
@@ -530,17 +592,30 @@ export class TuiController {
530
592
  case "9":
531
593
  this.setView("events");
532
594
  return true;
595
+ case "u":
596
+ case "U":
597
+ this.setView("usage");
598
+ return true;
533
599
  case "?":
534
600
  case "h":
535
601
  this.setView("help");
536
602
  return true;
537
603
  case ":":
538
- case "/":
539
604
  this.isCommandMode = true;
540
605
  this.commandBuffer = this.savedDraft;
541
606
  this.cursorPosition = this.commandBuffer.length;
542
607
  this.historyIndex = -1;
543
608
  this.historyDraft = this.savedDraft;
609
+ this.paletteSelectedIndex = 0;
610
+ this.requestRender();
611
+ return true;
612
+ case "/":
613
+ this.isCommandMode = true;
614
+ this.commandBuffer = this.savedDraft || "/";
615
+ this.cursorPosition = this.commandBuffer.length;
616
+ this.historyIndex = -1;
617
+ this.historyDraft = this.commandBuffer;
618
+ this.paletteSelectedIndex = 0;
544
619
  this.requestRender();
545
620
  return true;
546
621
  case "r":
@@ -613,6 +688,19 @@ export class TuiController {
613
688
  }
614
689
  else {
615
690
  this.errorMessage = "";
691
+ const nameLower = parsed.name.toLowerCase();
692
+ if (nameLower === "clear") {
693
+ this.commandOutput = null;
694
+ this.errorMessage = "";
695
+ this.requestRender();
696
+ return;
697
+ }
698
+ else if (nameLower === "usage") {
699
+ this.setView("usage");
700
+ this.commandOutput = null;
701
+ this.requestRender();
702
+ return;
703
+ }
616
704
  if (result.message) {
617
705
  this.commandOutput = {
618
706
  title: `COMMAND RESULT: /${parsed.name.toUpperCase()}`,
@@ -1 +1 @@
1
- {"version":3,"file":"tui-controller.js","sourceRoot":"","sources":["../../src/tui/tui-controller.ts"],"names":[],"mappings":"AAmBA;;;GAGG;AACH,MAAM,OAAO,aAAa;IACP,YAAY,CAAkB;IAC9B,QAAQ,CAAc;IACtB,eAAe,CAAmB;IAClC,aAAa,CAAiB;IAC9B,YAAY,CAAmB;IAC/B,MAAM,CAAW;IACjB,kBAAkB,CAAS;IAC3B,cAAc,CAAS;IAEhC,WAAW,GAAgB,WAAW,CAAC;IACvC,aAAa,GAAG,KAAK,CAAC;IACtB,aAAa,GAAG,EAAE,CAAC;IACnB,YAAY,GAAG,EAAE,CAAC;IAClB,SAAS,GAAG,KAAK,CAAC;IAClB,aAAa,CAAkB;IAC/B,uBAAuB,CAAc;IAErC,cAAc,GAAa,EAAE,CAAC;IAC9B,YAAY,GAAG,CAAC,CAAC,CAAC;IAClB,YAAY,GAAG,EAAE,CAAC;IAClB,UAAU,GAAG,EAAE,CAAC;IAChB,aAAa,GAA8C,IAAI,CAAC;IAChE,cAAc,GAAG,CAAC,CAAC;IACnB,gBAAgB,GAAG,KAAK,CAAC;IAEjC,YAAY,OAA6B;QACvC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAC/C,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC3D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,GAAG,CAAC;QAEpD,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE;YAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,cAAc;QACnB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEM,OAAO,CAAC,IAAiB;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEM,aAAa,CAAC,IAAmB;QACtC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEM,iBAAiB;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEM,eAAe;QACpB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,6DAA6D;QAC7D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAEM,IAAI;QACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACjC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QACjC,CAAC;QACD,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC/B,IAAI,CAAC,uBAAuB,GAAG,SAAS,CAAC;QAC3C,CAAC;QACD,kDAAkD;QAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,aAAa;QAClB,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAE5B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;gBAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED;;OAEG;IACI,SAAS;QACd,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CACnC,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAC5C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EACpD,IAAI,CAAC,aAAa,IAAI,SAAS,CAChC,CAAC;QAEF,wFAAwF;QACxF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,KAAa;QACnC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,KAAa;QACrC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,WAAW,CAAC,KAAa;QACrC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,KAAa;QACtC,OAAO,2BAA2B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,MAAM,CAAC,KAAa;QAChC,OAAO,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,KAAa;QAC/B,OAAO,sCAAsC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,KAAa;QAClC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,QAAQ,CAAC,KAAa;QAClC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,UAAU,CAAC,KAAa;QACpC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa,CAAC,KAAa;QACvC,OAAO,yDAAyD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/E,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,gBAAgB,CAAC,KAAa;QAC1C,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAAC,KAAa,EAAE,KAAK,GAAG,KAAK;QAC1D,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,CAAC;QAEV,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC1B,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpB,CAAC,EAAE,CAAC;oBACN,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC9B,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBACrB,oDAAoD;oBACpD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;wBACxB,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;wBACjC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;4BACjC,MAAM;wBACR,CAAC;wBACD,CAAC,EAAE,CAAC;oBACN,CAAC;oBACD,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;wBACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACN,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5B,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;wBACnB,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAC5B,6BAA6B;oBAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;wBACzB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnC,CAAC,IAAI,CAAC,CAAC;oBACT,CAAC;yBAAM,CAAC;wBACN,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5B,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;wBACnB,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;oBAC5B,sDAAsD;oBACtD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,IAAI,KAAK,GAAG,KAAK,CAAC;oBAClB,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;wBACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;4BACxB,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;wBACR,CAAC;wBACD,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;4BACzE,CAAC,EAAE,CAAC,CAAC,oBAAoB;4BACzB,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;wBACR,CAAC;wBACD,CAAC,EAAE,CAAC;oBACN,CAAC;oBACD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACnC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACN,IAAI,KAAK,EAAE,CAAC;4BACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5B,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;wBACnB,CAAC;wBACD,MAAM;oBACR,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,4DAA4D;oBAC5D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACnC,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;gBACvB,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,KAAa;QACpC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QAEvB,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEhE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACxD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,KAAa;QAC3C,iDAAiD;QACjD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,KAAK,WAAW,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACvD,0FAA0F;oBAC1F,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvE,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC;wBAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;wBAChD,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1C,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;oBACvC,IAAI,CAAC,aAAa;wBAChB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAC3G,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;oBACrB,OAAO,IAAI,CAAC;gBACd,CAAC;YACH,CAAC;YACD,kFAAkF;YAClF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,6CAA6C;YAC7C,IAAI,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACnC,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;wBAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;wBACvC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;oBACrD,CAAC;yBAAM,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;wBACjC,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,CAAC;oBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC;oBAC7D,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;oBAChD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACvD,IAAI,CAAC,YAAY,EAAE,CAAC;wBACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC;oBAC/D,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;wBACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;oBACzC,CAAC;oBACD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;oBAChD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,+CAA+C;YAC/C,IAAI,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtC,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBACpD,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBAChD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,uDAAuD;YACvD,IAAI,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClC,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;oBACpD,IAAI,CAAC,aAAa;wBAChB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;oBACvG,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oEAAoE;YACpE,IAAI,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,4BAA4B;YAC5B,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;gBACzC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAE9B,gFAAgF;gBAChF,IAAI,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;oBAClC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;gBACD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,yBAAyB;YACzB,sEAAsE;YACtE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;gBACtF,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC;gBAC9B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,qEAAqE;YACrE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;gBAC3B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,kEAAkE;YAClE,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;oBAC3B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;oBACxB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;oBACvB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,eAAe;YACf,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACzC,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;oBAC5B,IAAI,CAAC,aAAa;wBAChB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACvG,IAAI,CAAC,cAAc,EAAE,CAAC;oBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,iCAAiC;YACjC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,8BAA8B;YAC9B,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,uCAAuC;YACvC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,CAAC,aAAa,GAAG,MAAM,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;gBACpC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,oEAAoE;YACpE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;gBACpE,IAAI,CAAC,aAAa;oBAChB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC3G,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yBAAyB;QACzB,yEAAyE;QACzE,IACE,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC;YAC9B,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC;YAChC,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC;YAChC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC;YACjC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;YAC3B,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC;YAC1B,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7B,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC7B,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;YAC/B,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC;YAClC,aAAa,CAAC,gBAAgB,CAAC,KAAK,CAAC,EACrC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yBAAyB;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC3F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;gBACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;gBAChD,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;gBACvB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC;gBACpC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG,CAAC;YACT,KAAK,QAAQ,EAAE,wBAAwB;gBACrC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,KAAK,GAAG,CAAC;YACT,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC,CAAC,gCAAgC;YAC/C,KAAK,QAAQ,EAAE,sCAAsC;gBACnD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC1C,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,IACE,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,EAC5E,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAEM,iBAAiB;QACtB,OAAO,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;IAEM,mBAAmB;QACxB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;IAC1B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,UAAkB;QAC5C,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,IAAI,CAAC,YAAY,GAAG,uCAAuC,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CACrC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAC7E,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,IAAI,iBAAiB,CAAC;gBAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnF,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;gBACzF,CAAC;gBACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC5D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;gBACvB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnB,IAAI,CAAC,aAAa,GAAG;wBACnB,KAAK,EAAE,oBAAoB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE;wBACtD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;qBAClC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC1D,IAAI,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,gBAAgB,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3F,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC7D,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"tui-controller.js","sourceRoot":"","sources":["../../src/tui/tui-controller.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { type TuiStateAdapter } from "./tui-state-adapter.js";
2
2
  import { type TuiDimensions, type TuiViewMode } from "../domain/tui.js";
3
+ import { type PaletteCommand } from "./command-palette.js";
3
4
  export interface TuiRendererOptions {
4
5
  dimensions?: TuiDimensions;
5
6
  redactSecrets?: boolean;
@@ -21,7 +22,10 @@ export declare class TuiRenderer {
21
22
  render(mode: TuiViewMode, adapter: TuiStateAdapter, commandPrompt?: string, errorMessage?: string, isCommandMode?: boolean, _cursorPosition?: number, commandOutput?: {
22
23
  title: string;
23
24
  lines: string[];
24
- }): string;
25
+ }, paletteOverlay?: {
26
+ filtered: PaletteCommand[];
27
+ selectedIndex: number;
28
+ }, activeModel?: string): string;
25
29
  renderDashboard(adapter: TuiStateAdapter): string[];
26
30
  renderSession(adapter: TuiStateAdapter): string[];
27
31
  renderTasks(adapter: TuiStateAdapter): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"tui-renderer.d.ts","sourceRoot":"","sources":["../../src/tui/tui-renderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIxE,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CASjC;gBAEU,OAAO,GAAE,kBAAuB;IAKrC,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAIxC,aAAa,IAAI,aAAa;IAIrC;;OAEG;IACI,MAAM,CACX,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,eAAe,EACxB,aAAa,SAAK,EAClB,YAAY,SAAK,EACjB,aAAa,CAAC,EAAE,OAAO,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GACjD,MAAM;IA4GF,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAoCnD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IA0BjD,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAyB/C,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE;IAUpD,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE;IAUjD,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAwB9C,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAwB/C,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE;IASpD,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAwBhD,UAAU,IAAI,MAAM,EAAE;IAuBtB,wBAAwB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,MAAM,EAAE;IAerF;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAmB1C"}
1
+ {"version":3,"file":"tui-renderer.d.ts","sourceRoot":"","sources":["../../src/tui/tui-renderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAIxE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3E,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CASjC;gBAEU,OAAO,GAAE,kBAAuB;IAKrC,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAIxC,aAAa,IAAI,aAAa;IAIrC;;OAEG;IACI,MAAM,CACX,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,eAAe,EACxB,aAAa,SAAK,EAClB,YAAY,SAAK,EACjB,aAAa,CAAC,EAAE,OAAO,EACvB,eAAe,CAAC,EAAE,MAAM,EACxB,aAAa,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,EAClD,cAAc,CAAC,EAAE;QAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,EACtE,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM;IA4IF,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAoCnD,aAAa,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IA0BjD,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAyB/C,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE;IAUpD,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE;IAUjD,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAwB9C,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAwB/C,eAAe,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,EAAE;IASpD,YAAY,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,EAAE;IAwBhD,UAAU,IAAI,MAAM,EAAE;IAuBtB,wBAAwB,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,MAAM,EAAE;IAerF;;OAEG;IACI,UAAU,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO;CAmB1C"}
@@ -1,5 +1,7 @@
1
1
  import { TerminalLayout } from "./terminal-layout.js";
2
2
  import { TuiSanitizer } from "./tui-sanitizer.js";
3
+ import { TokenDashboardRenderer } from "./token-dashboard-renderer.js";
4
+ import { CommandPalette } from "./command-palette.js";
3
5
  /**
4
6
  * TUI View Renderer for 9 core visual views.
5
7
  * PRD Part 2 Section 185–195.
@@ -30,11 +32,16 @@ export class TuiRenderer {
30
32
  /**
31
33
  * Main render dispatcher for active view mode.
32
34
  */
33
- render(mode, adapter, commandPrompt = "", errorMessage = "", isCommandMode, _cursorPosition, commandOutput) {
35
+ render(mode, adapter, commandPrompt = "", errorMessage = "", isCommandMode, _cursorPosition, commandOutput, paletteOverlay, activeModel) {
34
36
  const lines = [];
35
37
  const width = this.dimensions.width;
36
- // 1. Status Bar (Top)
37
- lines.push(TerminalLayout.renderStatusBar(adapter.getStatus(), adapter.getActiveProjectId(), adapter.getActiveSessionId(), this.dimensions));
38
+ // 1. Status Bar / Antigravity Branding Header (Top)
39
+ if (width >= 80) {
40
+ lines.push(...TerminalLayout.renderAntigravityHeader(adapter.getStatus(), adapter.getActiveProjectId(), adapter.getActiveSessionId(), this.dimensions, activeModel));
41
+ }
42
+ else {
43
+ lines.push(TerminalLayout.renderStatusBar(adapter.getStatus(), adapter.getActiveProjectId(), adapter.getActiveSessionId(), this.dimensions));
44
+ }
38
45
  lines.push(TerminalLayout.renderDivider(width, "═"));
39
46
  // 2. Navigation Tab Bar
40
47
  const tabs = [
@@ -47,6 +54,7 @@ export class TuiRenderer {
47
54
  { key: "7", label: "Nodes", mode: "nodes", active: mode === "nodes" },
48
55
  { key: "8", label: "Approvals", mode: "approvals", active: mode === "approvals" },
49
56
  { key: "9", label: "Events", mode: "events", active: mode === "events" },
57
+ { key: "U", label: "Usage", mode: "usage", active: mode === "usage" },
50
58
  { key: "?", label: "Help", mode: "help", active: mode === "help" },
51
59
  ];
52
60
  lines.push(TerminalLayout.renderTabBar(tabs, width));
@@ -88,6 +96,9 @@ export class TuiRenderer {
88
96
  case "help":
89
97
  contentLines = this.renderHelp();
90
98
  break;
99
+ case "usage":
100
+ contentLines = TokenDashboardRenderer.render(width, this.dimensions.height);
101
+ break;
91
102
  }
92
103
  }
93
104
  lines.push(...contentLines);
@@ -96,14 +107,27 @@ export class TuiRenderer {
96
107
  lines.push(TerminalLayout.renderDivider(width, "─"));
97
108
  lines.push(`\x1b[1;31m✖ Error: ${TuiSanitizer.sanitize(errorMessage)}\x1b[0m`);
98
109
  }
99
- // 5. Command Bar / Prompt (Bottom)
110
+ // 5. Command Palette Popover Overlay (Floating above bottom bar)
111
+ if (paletteOverlay && paletteOverlay.filtered && paletteOverlay.filtered.length > 0) {
112
+ lines.push(...CommandPalette.renderOverlay(paletteOverlay.filtered, paletteOverlay.selectedIndex, width));
113
+ }
114
+ // 6. Command Bar / Prompt (Bottom)
100
115
  lines.push(TerminalLayout.renderDivider(width, "─"));
101
116
  const inCommandMode = isCommandMode ?? (commandPrompt.length > 0);
102
117
  if (inCommandMode) {
103
118
  const isNarrow = width < 50;
104
- const prefix = isNarrow ? " [CMD] : " : " [COMMAND MODE] : ";
105
- const suffix = isNarrow ? "_ | [↵] [ESC]" : "_ | [ENTER] Run, [ESC] Cancel";
106
- const avail = Math.max(0, width - prefix.length - suffix.length);
119
+ const isSlash = commandPrompt.startsWith("/");
120
+ const prefix = isNarrow
121
+ ? " [CMD] : "
122
+ : isSlash
123
+ ? " \x1b[38;2;0;242;254m❖ anantham:preview >\x1b[0m "
124
+ : " [COMMAND MODE] : ";
125
+ const suffix = isNarrow
126
+ ? "_ | [↵] [ESC]"
127
+ : isSlash
128
+ ? "_ \x1b[90m| [ENTER] Run, [TAB] Complete, [ESC] Close\x1b[0m"
129
+ : "_ | [ENTER] Run, [ESC] Cancel";
130
+ const avail = Math.max(0, width - 25 - suffix.length);
107
131
  const cleanPrompt = TuiSanitizer.sanitize(commandPrompt);
108
132
  const visiblePrompt = cleanPrompt.length <= avail
109
133
  ? cleanPrompt
@@ -113,7 +137,10 @@ export class TuiRenderer {
113
137
  lines.push(`${prefix}${visiblePrompt}${suffix}`);
114
138
  }
115
139
  else {
116
- if (width >= 48) {
140
+ if (width >= 60) {
141
+ lines.push(" \x1b[38;2;0;242;254m❖\x1b[0m [NORMAL MODE] [1-9] Views, [:] Command, [q] Quit");
142
+ }
143
+ else if (width >= 48) {
117
144
  lines.push(" [NORMAL MODE] [1-9] Views, [:] Command, [q] Quit");
118
145
  }
119
146
  else if (width >= 32) {
@@ -1 +1 @@
1
- {"version":3,"file":"tui-renderer.js","sourceRoot":"","sources":["../../src/tui/tui-renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui-renderer.js","sourceRoot":"","sources":["../../src/tui/tui-renderer.ts"],"names":[],"mappings":"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"}