@google/gemini-cli 0.1.7-rc.1 → 0.1.8-rc.0

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 (93) hide show
  1. package/README.md +4 -0
  2. package/dist/google-gemini-cli-0.1.8-rc.0.tgz +0 -0
  3. package/dist/package.json +14 -10
  4. package/dist/src/config/config.js +1 -1
  5. package/dist/src/config/config.js.map +1 -1
  6. package/dist/src/config/settings.d.ts +1 -0
  7. package/dist/src/config/settings.js.map +1 -1
  8. package/dist/src/generated/git-commit.d.ts +1 -1
  9. package/dist/src/generated/git-commit.js +1 -1
  10. package/dist/src/nonInteractiveCli.js +4 -1
  11. package/dist/src/nonInteractiveCli.js.map +1 -1
  12. package/dist/src/ui/App.js +2 -23
  13. package/dist/src/ui/App.js.map +1 -1
  14. package/dist/src/ui/App.test.js +19 -0
  15. package/dist/src/ui/App.test.js.map +1 -1
  16. package/dist/src/ui/components/Footer.d.ts +0 -2
  17. package/dist/src/ui/components/Footer.js +2 -2
  18. package/dist/src/ui/components/Footer.js.map +1 -1
  19. package/dist/src/ui/components/Help.js +3 -1
  20. package/dist/src/ui/components/Help.js.map +1 -1
  21. package/dist/src/ui/components/HistoryItemDisplay.js +3 -1
  22. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  23. package/dist/src/ui/components/HistoryItemDisplay.test.js +19 -25
  24. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  25. package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -0
  26. package/dist/src/ui/components/ModelStatsDisplay.js +33 -0
  27. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -0
  28. package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +6 -0
  29. package/dist/src/ui/components/ModelStatsDisplay.test.js +217 -0
  30. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -0
  31. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -2
  32. package/dist/src/ui/components/SessionSummaryDisplay.js +14 -8
  33. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  34. package/dist/src/ui/components/SessionSummaryDisplay.test.js +71 -25
  35. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  36. package/dist/src/ui/components/StatsDisplay.d.ts +0 -3
  37. package/dist/src/ui/components/StatsDisplay.js +27 -20
  38. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  39. package/dist/src/ui/components/StatsDisplay.test.js +227 -37
  40. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  41. package/dist/src/ui/components/ToolStatsDisplay.d.ts +7 -0
  42. package/dist/src/ui/components/ToolStatsDisplay.js +41 -0
  43. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -0
  44. package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +6 -0
  45. package/dist/src/ui/components/ToolStatsDisplay.test.js +160 -0
  46. package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -0
  47. package/dist/src/ui/components/messages/UserMessage.js +1 -1
  48. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  49. package/dist/src/ui/components/shared/MaxSizedBox.js +3 -3
  50. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  51. package/dist/src/ui/components/shared/MaxSizedBox.test.js +1 -1
  52. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
  53. package/dist/src/ui/contexts/SessionContext.d.ts +17 -19
  54. package/dist/src/ui/contexts/SessionContext.js +20 -103
  55. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  56. package/dist/src/ui/contexts/SessionContext.test.js +66 -121
  57. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
  58. package/dist/src/ui/editors/editorSettingsManager.js +4 -0
  59. package/dist/src/ui/editors/editorSettingsManager.js.map +1 -1
  60. package/dist/src/ui/hooks/slashCommandProcessor.js +36 -18
  61. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  62. package/dist/src/ui/hooks/useConsoleMessages.js +3 -2
  63. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  64. package/dist/src/ui/hooks/useGeminiStream.js +64 -92
  65. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  66. package/dist/src/ui/hooks/useGeminiStream.test.js +85 -133
  67. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  68. package/dist/src/ui/hooks/useReactToolScheduler.js +2 -2
  69. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  70. package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
  71. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +7 -2
  72. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  73. package/dist/src/ui/themes/shades-of-purple.d.ts +11 -0
  74. package/dist/src/ui/themes/shades-of-purple.js +302 -0
  75. package/dist/src/ui/themes/shades-of-purple.js.map +1 -0
  76. package/dist/src/ui/themes/theme-manager.js +2 -0
  77. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  78. package/dist/src/ui/types.d.ts +17 -8
  79. package/dist/src/ui/types.js +2 -0
  80. package/dist/src/ui/types.js.map +1 -1
  81. package/dist/src/ui/utils/computeStats.d.ts +10 -0
  82. package/dist/src/ui/utils/computeStats.js +55 -0
  83. package/dist/src/ui/utils/computeStats.js.map +1 -0
  84. package/dist/src/ui/utils/displayUtils.d.ts +17 -0
  85. package/dist/src/ui/utils/displayUtils.js +24 -0
  86. package/dist/src/ui/utils/displayUtils.js.map +1 -0
  87. package/dist/src/ui/utils/formatters.js +1 -1
  88. package/dist/src/ui/utils/formatters.js.map +1 -1
  89. package/dist/src/ui/utils/textUtils.js +2 -2
  90. package/dist/src/ui/utils/textUtils.js.map +1 -1
  91. package/dist/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +14 -10
  93. package/dist/google-gemini-cli-0.1.7-rc.1.tgz +0 -0
@@ -0,0 +1,302 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Shades of Purple Theme — for Highlightjs.
8
+ * @author Ahmad Awais <https://twitter.com/mrahmadawais/>
9
+ */
10
+ import { Theme } from './theme.js';
11
+ const shadesOfPurpleColors = {
12
+ type: 'dark',
13
+ // Required colors for ColorsTheme interface
14
+ Background: '#2d2b57', // Main background
15
+ Foreground: '#e3dfff', // Default text color (hljs, hljs-subst)
16
+ LightBlue: '#847ace', // Light blue/purple accent
17
+ AccentBlue: '#a599e9', // Borders, secondary blue
18
+ AccentPurple: '#ac65ff', // Comments (main purple)
19
+ AccentCyan: '#a1feff', // Names
20
+ AccentGreen: '#A5FF90', // Strings and many others
21
+ AccentYellow: '#fad000', // Title, main yellow
22
+ AccentRed: '#ff628c', // Error/deletion accent
23
+ Comment: '#B362FF', // Comment color (same as AccentPurple)
24
+ Gray: '#726c86', // Gray color
25
+ GradientColors: ['#4d21fc', '#847ace', '#ff628c'],
26
+ };
27
+ // Additional colors from CSS that don't fit in the ColorsTheme interface
28
+ const additionalColors = {
29
+ AccentYellowAlt: '#f8d000', // Attr yellow (slightly different)
30
+ AccentOrange: '#fb9e00', // Keywords, built_in, meta
31
+ AccentPink: '#fa658d', // Numbers, literals
32
+ AccentLightPurple: '#c991ff', // For params and properties
33
+ AccentDarkPurple: '#6943ff', // For operators
34
+ AccentTeal: '#2ee2fa', // For special constructs
35
+ };
36
+ export const ShadesOfPurple = new Theme('Shades Of Purple', 'dark', {
37
+ // Base styles
38
+ hljs: {
39
+ display: 'block',
40
+ overflowX: 'auto',
41
+ background: shadesOfPurpleColors.Background,
42
+ color: shadesOfPurpleColors.Foreground,
43
+ },
44
+ // Title elements
45
+ 'hljs-title': {
46
+ color: shadesOfPurpleColors.AccentYellow,
47
+ fontWeight: 'normal',
48
+ },
49
+ // Names
50
+ 'hljs-name': {
51
+ color: shadesOfPurpleColors.AccentCyan,
52
+ fontWeight: 'normal',
53
+ },
54
+ // Tags
55
+ 'hljs-tag': {
56
+ color: shadesOfPurpleColors.Foreground,
57
+ },
58
+ // Attributes
59
+ 'hljs-attr': {
60
+ color: additionalColors.AccentYellowAlt,
61
+ fontStyle: 'italic',
62
+ },
63
+ // Built-ins, selector tags, sections
64
+ 'hljs-built_in': {
65
+ color: additionalColors.AccentOrange,
66
+ },
67
+ 'hljs-selector-tag': {
68
+ color: additionalColors.AccentOrange,
69
+ fontWeight: 'normal',
70
+ },
71
+ 'hljs-section': {
72
+ color: additionalColors.AccentOrange,
73
+ },
74
+ // Keywords
75
+ 'hljs-keyword': {
76
+ color: additionalColors.AccentOrange,
77
+ fontWeight: 'normal',
78
+ },
79
+ // Default text and substitutions
80
+ 'hljs-subst': {
81
+ color: shadesOfPurpleColors.Foreground,
82
+ },
83
+ // Strings and related elements (all green)
84
+ 'hljs-string': {
85
+ color: shadesOfPurpleColors.AccentGreen,
86
+ },
87
+ 'hljs-attribute': {
88
+ color: shadesOfPurpleColors.AccentGreen,
89
+ },
90
+ 'hljs-symbol': {
91
+ color: shadesOfPurpleColors.AccentGreen,
92
+ },
93
+ 'hljs-bullet': {
94
+ color: shadesOfPurpleColors.AccentGreen,
95
+ },
96
+ 'hljs-addition': {
97
+ color: shadesOfPurpleColors.AccentGreen,
98
+ },
99
+ 'hljs-code': {
100
+ color: shadesOfPurpleColors.AccentGreen,
101
+ },
102
+ 'hljs-regexp': {
103
+ color: shadesOfPurpleColors.AccentGreen,
104
+ },
105
+ 'hljs-selector-class': {
106
+ color: shadesOfPurpleColors.AccentGreen,
107
+ },
108
+ 'hljs-selector-attr': {
109
+ color: shadesOfPurpleColors.AccentGreen,
110
+ },
111
+ 'hljs-selector-pseudo': {
112
+ color: shadesOfPurpleColors.AccentGreen,
113
+ },
114
+ 'hljs-template-tag': {
115
+ color: shadesOfPurpleColors.AccentGreen,
116
+ },
117
+ 'hljs-quote': {
118
+ color: shadesOfPurpleColors.AccentGreen,
119
+ },
120
+ 'hljs-deletion': {
121
+ color: shadesOfPurpleColors.AccentRed,
122
+ },
123
+ // Meta elements
124
+ 'hljs-meta': {
125
+ color: additionalColors.AccentOrange,
126
+ },
127
+ 'hljs-meta-string': {
128
+ color: additionalColors.AccentOrange,
129
+ },
130
+ // Comments
131
+ 'hljs-comment': {
132
+ color: shadesOfPurpleColors.AccentPurple,
133
+ },
134
+ // Literals and numbers
135
+ 'hljs-literal': {
136
+ color: additionalColors.AccentPink,
137
+ fontWeight: 'normal',
138
+ },
139
+ 'hljs-number': {
140
+ color: additionalColors.AccentPink,
141
+ },
142
+ // Emphasis and strong
143
+ 'hljs-emphasis': {
144
+ fontStyle: 'italic',
145
+ },
146
+ 'hljs-strong': {
147
+ fontWeight: 'bold',
148
+ },
149
+ // Diff-specific classes
150
+ 'hljs-diff': {
151
+ color: shadesOfPurpleColors.Foreground,
152
+ },
153
+ 'hljs-meta.hljs-diff': {
154
+ color: shadesOfPurpleColors.AccentBlue,
155
+ },
156
+ 'hljs-ln': {
157
+ color: shadesOfPurpleColors.Gray,
158
+ },
159
+ // Additional elements that might be needed
160
+ 'hljs-type': {
161
+ color: shadesOfPurpleColors.AccentYellow,
162
+ fontWeight: 'normal',
163
+ },
164
+ 'hljs-variable': {
165
+ color: shadesOfPurpleColors.AccentYellow,
166
+ },
167
+ 'hljs-template-variable': {
168
+ color: shadesOfPurpleColors.AccentGreen,
169
+ },
170
+ 'hljs-function .hljs-keyword': {
171
+ color: additionalColors.AccentOrange,
172
+ },
173
+ 'hljs-link': {
174
+ color: shadesOfPurpleColors.LightBlue,
175
+ },
176
+ 'hljs-doctag': {
177
+ fontWeight: 'bold',
178
+ },
179
+ // Function parameters
180
+ 'hljs-params': {
181
+ color: additionalColors.AccentLightPurple,
182
+ fontStyle: 'italic',
183
+ },
184
+ // Class definitions
185
+ 'hljs-class': {
186
+ color: shadesOfPurpleColors.AccentCyan,
187
+ fontWeight: 'bold',
188
+ },
189
+ // Function definitions
190
+ 'hljs-function': {
191
+ color: shadesOfPurpleColors.AccentCyan,
192
+ },
193
+ // Object properties
194
+ 'hljs-property': {
195
+ color: shadesOfPurpleColors.AccentBlue,
196
+ },
197
+ // Operators
198
+ 'hljs-operator': {
199
+ color: additionalColors.AccentDarkPurple,
200
+ },
201
+ // Punctuation (if supported by the parser)
202
+ 'hljs-punctuation': {
203
+ color: shadesOfPurpleColors.Gray,
204
+ },
205
+ // CSS ID selectors
206
+ 'hljs-selector-id': {
207
+ color: shadesOfPurpleColors.AccentYellow,
208
+ fontWeight: 'bold',
209
+ },
210
+ // Character literals
211
+ 'hljs-char': {
212
+ color: shadesOfPurpleColors.AccentGreen,
213
+ },
214
+ // Escape sequences
215
+ 'hljs-escape': {
216
+ color: additionalColors.AccentPink,
217
+ fontWeight: 'bold',
218
+ },
219
+ // Meta keywords
220
+ 'hljs-meta-keyword': {
221
+ color: additionalColors.AccentOrange,
222
+ fontWeight: 'bold',
223
+ },
224
+ // Built-in names
225
+ 'hljs-builtin-name': {
226
+ color: additionalColors.AccentTeal,
227
+ },
228
+ // Modules
229
+ 'hljs-module': {
230
+ color: shadesOfPurpleColors.AccentCyan,
231
+ },
232
+ // Namespaces
233
+ 'hljs-namespace': {
234
+ color: shadesOfPurpleColors.LightBlue,
235
+ },
236
+ // Important annotations
237
+ 'hljs-important': {
238
+ color: shadesOfPurpleColors.AccentRed,
239
+ fontWeight: 'bold',
240
+ },
241
+ // Formulas (for LaTeX, etc.)
242
+ 'hljs-formula': {
243
+ color: shadesOfPurpleColors.AccentCyan,
244
+ fontStyle: 'italic',
245
+ },
246
+ // Language-specific additions
247
+ // Python decorators
248
+ 'hljs-decorator': {
249
+ color: additionalColors.AccentTeal,
250
+ fontWeight: 'bold',
251
+ },
252
+ // Ruby symbols
253
+ 'hljs-symbol.ruby': {
254
+ color: additionalColors.AccentPink,
255
+ },
256
+ // SQL keywords
257
+ 'hljs-keyword.sql': {
258
+ color: additionalColors.AccentOrange,
259
+ textTransform: 'uppercase',
260
+ },
261
+ // Markdown specific
262
+ 'hljs-section.markdown': {
263
+ color: shadesOfPurpleColors.AccentYellow,
264
+ fontWeight: 'bold',
265
+ },
266
+ // JSON keys
267
+ 'hljs-attr.json': {
268
+ color: shadesOfPurpleColors.AccentCyan,
269
+ },
270
+ // XML/HTML specific
271
+ 'hljs-tag .hljs-name': {
272
+ color: shadesOfPurpleColors.AccentRed,
273
+ },
274
+ 'hljs-tag .hljs-attr': {
275
+ color: additionalColors.AccentYellowAlt,
276
+ },
277
+ // Line highlighting (if line numbers are enabled)
278
+ 'hljs.hljs-line-numbers': {
279
+ borderRight: `1px solid ${shadesOfPurpleColors.Gray}`,
280
+ },
281
+ 'hljs.hljs-line-numbers .hljs-ln-numbers': {
282
+ color: shadesOfPurpleColors.Gray,
283
+ paddingRight: '1em',
284
+ },
285
+ 'hljs.hljs-line-numbers .hljs-ln-code': {
286
+ paddingLeft: '1em',
287
+ },
288
+ // Selection styling
289
+ 'hljs::selection': {
290
+ background: shadesOfPurpleColors.AccentBlue + '40', // 40 = 25% opacity
291
+ },
292
+ 'hljs ::-moz-selection': {
293
+ background: shadesOfPurpleColors.AccentBlue + '40',
294
+ },
295
+ // Highlighted lines (for emphasis)
296
+ 'hljs .hljs-highlight': {
297
+ background: shadesOfPurpleColors.AccentPurple + '20', // 20 = 12.5% opacity
298
+ display: 'block',
299
+ width: '100%',
300
+ },
301
+ }, shadesOfPurpleColors);
302
+ //# sourceMappingURL=shades-of-purple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shades-of-purple.js","sourceRoot":"","sources":["../../../../src/ui/themes/shades-of-purple.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ import { GitHubLight } from './github-light.js';
12
12
  import { GoogleCode } from './googlecode.js';
13
13
  import { DefaultLight } from './default-light.js';
14
14
  import { DefaultDark } from './default.js';
15
+ import { ShadesOfPurple } from './shades-of-purple.js';
15
16
  import { XCode } from './xcode.js';
16
17
  import { ANSI } from './ansi.js';
17
18
  import { ANSILight } from './ansi-light.js';
@@ -32,6 +33,7 @@ class ThemeManager {
32
33
  GitHubDark,
33
34
  GitHubLight,
34
35
  GoogleCode,
36
+ ShadesOfPurple,
35
37
  XCode,
36
38
  ANSI,
37
39
  ANSILight,
@@ -1 +1 @@
1
- {"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../../../src/ui/themes/theme-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../../../src/ui/themes/theme-manager.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { ToolCallConfirmationDetails, ToolResultDisplay } from '@google/gemini-cli-core';
7
- import { CumulativeStats } from './contexts/SessionContext.js';
8
7
  export declare enum StreamingState {
9
8
  Idle = "idle",
10
9
  Responding = "responding",
@@ -79,13 +78,16 @@ export type HistoryItemAbout = HistoryItemBase & {
79
78
  };
80
79
  export type HistoryItemStats = HistoryItemBase & {
81
80
  type: 'stats';
82
- stats: CumulativeStats;
83
- lastTurnStats: CumulativeStats;
84
81
  duration: string;
85
82
  };
83
+ export type HistoryItemModelStats = HistoryItemBase & {
84
+ type: 'model_stats';
85
+ };
86
+ export type HistoryItemToolStats = HistoryItemBase & {
87
+ type: 'tool_stats';
88
+ };
86
89
  export type HistoryItemQuit = HistoryItemBase & {
87
90
  type: 'quit';
88
- stats: CumulativeStats;
89
91
  duration: string;
90
92
  };
91
93
  export type HistoryItemToolGroup = HistoryItemBase & {
@@ -100,7 +102,7 @@ export type HistoryItemCompression = HistoryItemBase & {
100
102
  type: 'compression';
101
103
  compression: CompressionProps;
102
104
  };
103
- export type HistoryItemWithoutId = HistoryItemUser | HistoryItemUserShell | HistoryItemGemini | HistoryItemGeminiContent | HistoryItemInfo | HistoryItemError | HistoryItemAbout | HistoryItemToolGroup | HistoryItemStats | HistoryItemQuit | HistoryItemCompression;
105
+ export type HistoryItemWithoutId = HistoryItemUser | HistoryItemUserShell | HistoryItemGemini | HistoryItemGeminiContent | HistoryItemInfo | HistoryItemError | HistoryItemAbout | HistoryItemToolGroup | HistoryItemStats | HistoryItemModelStats | HistoryItemToolStats | HistoryItemQuit | HistoryItemCompression;
104
106
  export type HistoryItem = HistoryItemWithoutId & {
105
107
  id: number;
106
108
  };
@@ -110,6 +112,8 @@ export declare enum MessageType {
110
112
  USER = "user",
111
113
  ABOUT = "about",
112
114
  STATS = "stats",
115
+ MODEL_STATS = "model_stats",
116
+ TOOL_STATS = "tool_stats",
113
117
  QUIT = "quit",
114
118
  GEMINI = "gemini",
115
119
  COMPRESSION = "compression"
@@ -131,14 +135,19 @@ export type Message = {
131
135
  } | {
132
136
  type: MessageType.STATS;
133
137
  timestamp: Date;
134
- stats: CumulativeStats;
135
- lastTurnStats: CumulativeStats;
136
138
  duration: string;
137
139
  content?: string;
140
+ } | {
141
+ type: MessageType.MODEL_STATS;
142
+ timestamp: Date;
143
+ content?: string;
144
+ } | {
145
+ type: MessageType.TOOL_STATS;
146
+ timestamp: Date;
147
+ content?: string;
138
148
  } | {
139
149
  type: MessageType.QUIT;
140
150
  timestamp: Date;
141
- stats: CumulativeStats;
142
151
  duration: string;
143
152
  content?: string;
144
153
  } | {
@@ -34,6 +34,8 @@ export var MessageType;
34
34
  MessageType["USER"] = "user";
35
35
  MessageType["ABOUT"] = "about";
36
36
  MessageType["STATS"] = "stats";
37
+ MessageType["MODEL_STATS"] = "model_stats";
38
+ MessageType["TOOL_STATS"] = "tool_stats";
37
39
  MessageType["QUIT"] = "quit";
38
40
  MessageType["GEMINI"] = "gemini";
39
41
  MessageType["COMPRESSION"] = "compression";
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ui/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,gDAAgD;AAChD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,2CAAyB,CAAA;IACzB,qEAAmD,CAAA;AACrD,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,oDAAoD;AACpD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,wDAAqC,CAAA;IACrC,4DAA4D;AAC9D,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAkHD,gFAAgF;AAChF,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,gCAAiB,CAAA;IACjB,0CAA2B,CAAA;AAC7B,CAAC,EATW,WAAW,KAAX,WAAW,QAStB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ui/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,gDAAgD;AAChD,MAAM,CAAN,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,+BAAa,CAAA;IACb,2CAAyB,CAAA;IACzB,qEAAmD,CAAA;AACrD,CAAC,EAJW,cAAc,KAAd,cAAc,QAIzB;AAED,oDAAoD;AACpD,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,sCAAmB,CAAA;IACnB,wDAAqC,CAAA;IACrC,4DAA4D;AAC9D,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,CAAN,IAAY,cAOX;AAPD,WAAY,cAAc;IACxB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;IACrB,2CAAyB,CAAA;IACzB,yCAAuB,CAAA;IACvB,qCAAmB,CAAA;IACnB,iCAAe,CAAA;AACjB,CAAC,EAPW,cAAc,KAAd,cAAc,QAOzB;AAyHD,gFAAgF;AAChF,MAAM,CAAN,IAAY,WAWX;AAXD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,8BAAe,CAAA;IACf,0CAA2B,CAAA;IAC3B,wCAAyB,CAAA;IACzB,4BAAa,CAAA;IACb,gCAAiB,CAAA;IACjB,0CAA2B,CAAA;AAC7B,CAAC,EAXW,WAAW,KAAX,WAAW,QAWtB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { SessionMetrics, ComputedSessionStats, ModelMetrics } from '../contexts/SessionContext.js';
7
+ export declare function calculateErrorRate(metrics: ModelMetrics): number;
8
+ export declare function calculateAverageLatency(metrics: ModelMetrics): number;
9
+ export declare function calculateCacheHitRate(metrics: ModelMetrics): number;
10
+ export declare const computeSessionStats: (metrics: SessionMetrics) => ComputedSessionStats;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export function calculateErrorRate(metrics) {
7
+ if (metrics.api.totalRequests === 0) {
8
+ return 0;
9
+ }
10
+ return (metrics.api.totalErrors / metrics.api.totalRequests) * 100;
11
+ }
12
+ export function calculateAverageLatency(metrics) {
13
+ if (metrics.api.totalRequests === 0) {
14
+ return 0;
15
+ }
16
+ return metrics.api.totalLatencyMs / metrics.api.totalRequests;
17
+ }
18
+ export function calculateCacheHitRate(metrics) {
19
+ if (metrics.tokens.prompt === 0) {
20
+ return 0;
21
+ }
22
+ return (metrics.tokens.cached / metrics.tokens.prompt) * 100;
23
+ }
24
+ export const computeSessionStats = (metrics) => {
25
+ const { models, tools } = metrics;
26
+ const totalApiTime = Object.values(models).reduce((acc, model) => acc + model.api.totalLatencyMs, 0);
27
+ const totalToolTime = tools.totalDurationMs;
28
+ const agentActiveTime = totalApiTime + totalToolTime;
29
+ const apiTimePercent = agentActiveTime > 0 ? (totalApiTime / agentActiveTime) * 100 : 0;
30
+ const toolTimePercent = agentActiveTime > 0 ? (totalToolTime / agentActiveTime) * 100 : 0;
31
+ const totalCachedTokens = Object.values(models).reduce((acc, model) => acc + model.tokens.cached, 0);
32
+ const totalPromptTokens = Object.values(models).reduce((acc, model) => acc + model.tokens.prompt, 0);
33
+ const cacheEfficiency = totalPromptTokens > 0 ? (totalCachedTokens / totalPromptTokens) * 100 : 0;
34
+ const totalDecisions = tools.totalDecisions.accept +
35
+ tools.totalDecisions.reject +
36
+ tools.totalDecisions.modify;
37
+ const successRate = tools.totalCalls > 0 ? (tools.totalSuccess / tools.totalCalls) * 100 : 0;
38
+ const agreementRate = totalDecisions > 0
39
+ ? (tools.totalDecisions.accept / totalDecisions) * 100
40
+ : 0;
41
+ return {
42
+ totalApiTime,
43
+ totalToolTime,
44
+ agentActiveTime,
45
+ apiTimePercent,
46
+ toolTimePercent,
47
+ cacheEfficiency,
48
+ totalDecisions,
49
+ successRate,
50
+ agreementRate,
51
+ totalCachedTokens,
52
+ totalPromptTokens,
53
+ };
54
+ };
55
+ //# sourceMappingURL=computeStats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeStats.js","sourceRoot":"","sources":["../../../../src/ui/utils/computeStats.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const TOOL_SUCCESS_RATE_HIGH = 95;
7
+ export declare const TOOL_SUCCESS_RATE_MEDIUM = 85;
8
+ export declare const USER_AGREEMENT_RATE_HIGH = 75;
9
+ export declare const USER_AGREEMENT_RATE_MEDIUM = 45;
10
+ export declare const CACHE_EFFICIENCY_HIGH = 40;
11
+ export declare const CACHE_EFFICIENCY_MEDIUM = 15;
12
+ export declare const getStatusColor: (value: number, thresholds: {
13
+ green: number;
14
+ yellow: number;
15
+ }, options?: {
16
+ defaultColor?: string;
17
+ }) => string;
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Colors } from '../colors.js';
7
+ // --- Thresholds ---
8
+ export const TOOL_SUCCESS_RATE_HIGH = 95;
9
+ export const TOOL_SUCCESS_RATE_MEDIUM = 85;
10
+ export const USER_AGREEMENT_RATE_HIGH = 75;
11
+ export const USER_AGREEMENT_RATE_MEDIUM = 45;
12
+ export const CACHE_EFFICIENCY_HIGH = 40;
13
+ export const CACHE_EFFICIENCY_MEDIUM = 15;
14
+ // --- Color Logic ---
15
+ export const getStatusColor = (value, thresholds, options = {}) => {
16
+ if (value >= thresholds.green) {
17
+ return Colors.AccentGreen;
18
+ }
19
+ if (value >= thresholds.yellow) {
20
+ return Colors.AccentYellow;
21
+ }
22
+ return options.defaultColor || Colors.AccentRed;
23
+ };
24
+ //# sourceMappingURL=displayUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"displayUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/displayUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,qBAAqB;AACrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAE3C,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAC3C,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAE7C,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC;AACxC,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,CAAC;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,UAA6C,EAC7C,UAAqC,EAAE,EACvC,EAAE;IACF,IAAI,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC,WAAW,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/B,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IACD,OAAO,OAAO,CAAC,YAAY,IAAI,MAAM,CAAC,SAAS,CAAC;AAClD,CAAC,CAAC"}
@@ -24,7 +24,7 @@ export const formatDuration = (milliseconds) => {
24
24
  return '0s';
25
25
  }
26
26
  if (milliseconds < 1000) {
27
- return `${milliseconds}ms`;
27
+ return `${Math.round(milliseconds)}ms`;
28
28
  }
29
29
  const totalSeconds = milliseconds / 1000;
30
30
  if (totalSeconds < 60) {
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IACzD,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAU,EAAE;IAC7D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,YAAY,IAAI,CAAC;IAC7B,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAEzC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,GAAG,KAAK,GAAG,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACtC,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IACzD,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAU,EAAE;IAC7D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAEzC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,GAAG,KAAK,GAAG,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACtC,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC"}
@@ -27,10 +27,10 @@ export function isBinary(data, sampleSize = 512) {
27
27
  return false;
28
28
  }
29
29
  const sample = data.length > sampleSize ? data.subarray(0, sampleSize) : data;
30
- for (let i = 0; i < sample.length; i++) {
30
+ for (const byte of sample) {
31
31
  // The presence of a NULL byte (0x00) is one of the most reliable
32
32
  // indicators of a binary file. Text files should not contain them.
33
- if (sample[i] === 0) {
33
+ if (byte === 0) {
34
34
  return true;
35
35
  }
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"textUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/textUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,IAA+B,EAC/B,UAAU,GAAG,GAAG;IAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvC,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;4EAI4E;AAE5E,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,qEAAqE;IACrE,6BAA6B;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAY;IAC9D,2CAA2C;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"textUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/textUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CACtB,IAA+B,EAC/B,UAAU,GAAG,GAAG;IAEhB,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,iEAAiE;QACjE,mEAAmE;QACnE,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;4EAI4E;AAE5E,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,qEAAqE;IACrE,6BAA6B;IAC7B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAC/B,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAY;IAC9D,2CAA2C;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACtB,CAAC"}