@google/gemini-cli 0.18.0-nightly.20251118.7cc5234b9 → 0.18.0-preview.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 (240) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +1 -0
  3. package/dist/package.json +4 -4
  4. package/dist/src/commands/extensions/disable.test.js +19 -13
  5. package/dist/src/commands/extensions/disable.test.js.map +1 -1
  6. package/dist/src/commands/extensions/enable.test.js +16 -9
  7. package/dist/src/commands/extensions/enable.test.js.map +1 -1
  8. package/dist/src/commands/extensions/link.test.js +18 -11
  9. package/dist/src/commands/extensions/link.test.js.map +1 -1
  10. package/dist/src/commands/extensions/list.test.js +20 -13
  11. package/dist/src/commands/extensions/list.test.js.map +1 -1
  12. package/dist/src/commands/extensions/uninstall.test.js +26 -18
  13. package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
  14. package/dist/src/commands/extensions/update.test.js +20 -13
  15. package/dist/src/commands/extensions/update.test.js.map +1 -1
  16. package/dist/src/commands/mcp/add.test.js +8 -3
  17. package/dist/src/commands/mcp/add.test.js.map +1 -1
  18. package/dist/src/commands/mcp/list.test.js +1 -6
  19. package/dist/src/commands/mcp/list.test.js.map +1 -1
  20. package/dist/src/commands/mcp/remove.test.js +23 -12
  21. package/dist/src/commands/mcp/remove.test.js.map +1 -1
  22. package/dist/src/config/config.d.ts +2 -1
  23. package/dist/src/config/config.js +38 -14
  24. package/dist/src/config/config.js.map +1 -1
  25. package/dist/src/config/config.test.js +64 -10
  26. package/dist/src/config/config.test.js.map +1 -1
  27. package/dist/src/config/extension.test.js +131 -125
  28. package/dist/src/config/extension.test.js.map +1 -1
  29. package/dist/src/config/settingsSchema.d.ts +2 -2
  30. package/dist/src/config/settingsSchema.js +3 -3
  31. package/dist/src/config/settingsSchema.js.map +1 -1
  32. package/dist/src/config/settingsSchema.test.js +1 -1
  33. package/dist/src/config/settingsSchema.test.js.map +1 -1
  34. package/dist/src/gemini.js +65 -7
  35. package/dist/src/gemini.js.map +1 -1
  36. package/dist/src/gemini.test.js +55 -15
  37. package/dist/src/gemini.test.js.map +1 -1
  38. package/dist/src/generated/git-commit.d.ts +2 -2
  39. package/dist/src/generated/git-commit.js +2 -2
  40. package/dist/src/generated/git-commit.js.map +1 -1
  41. package/dist/src/nonInteractiveCli.js +4 -1
  42. package/dist/src/nonInteractiveCli.js.map +1 -1
  43. package/dist/src/nonInteractiveCli.test.js +2 -2
  44. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  45. package/dist/src/services/CommandService.test.js +3 -2
  46. package/dist/src/services/CommandService.test.js.map +1 -1
  47. package/dist/src/services/McpPromptLoader.js +5 -3
  48. package/dist/src/services/McpPromptLoader.js.map +1 -1
  49. package/dist/src/services/McpPromptLoader.test.js +29 -1
  50. package/dist/src/services/McpPromptLoader.test.js.map +1 -1
  51. package/dist/src/test-utils/render.d.ts +26 -2
  52. package/dist/src/test-utils/render.js +76 -3
  53. package/dist/src/test-utils/render.js.map +1 -1
  54. package/dist/src/ui/AppContainer.js +57 -32
  55. package/dist/src/ui/AppContainer.js.map +1 -1
  56. package/dist/src/ui/AppContainer.test.js +169 -102
  57. package/dist/src/ui/AppContainer.test.js.map +1 -1
  58. package/dist/src/ui/auth/AuthDialog.test.js +2 -2
  59. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  60. package/dist/src/ui/commands/aboutCommand.js +8 -1
  61. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  62. package/dist/src/ui/commands/aboutCommand.test.js +4 -0
  63. package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
  64. package/dist/src/ui/commands/clearCommand.js +12 -0
  65. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  66. package/dist/src/ui/commands/clearCommand.test.js +5 -0
  67. package/dist/src/ui/commands/clearCommand.test.js.map +1 -1
  68. package/dist/src/ui/commands/memoryCommand.js +1 -0
  69. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  70. package/dist/src/ui/commands/memoryCommand.test.js +3 -0
  71. package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
  72. package/dist/src/ui/commands/setupGithubCommand.d.ts +1 -0
  73. package/dist/src/ui/commands/setupGithubCommand.js +82 -45
  74. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  75. package/dist/src/ui/commands/setupGithubCommand.test.js +35 -5
  76. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
  77. package/dist/src/ui/components/AboutBox.d.ts +1 -0
  78. package/dist/src/ui/components/AboutBox.js +1 -1
  79. package/dist/src/ui/components/AboutBox.js.map +1 -1
  80. package/dist/src/ui/components/AppHeader.js +3 -8
  81. package/dist/src/ui/components/AppHeader.js.map +1 -1
  82. package/dist/src/ui/components/Banner.d.ts +4 -2
  83. package/dist/src/ui/components/Banner.js +18 -4
  84. package/dist/src/ui/components/Banner.js.map +1 -1
  85. package/dist/src/ui/components/DebugProfiler.d.ts +1 -0
  86. package/dist/src/ui/components/DebugProfiler.js +23 -34
  87. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  88. package/dist/src/ui/components/DebugProfiler.test.js +1 -0
  89. package/dist/src/ui/components/DebugProfiler.test.js.map +1 -1
  90. package/dist/src/ui/components/DialogManager.js +1 -1
  91. package/dist/src/ui/components/DialogManager.js.map +1 -1
  92. package/dist/src/ui/components/GradientRegression.test.js +22 -1
  93. package/dist/src/ui/components/GradientRegression.test.js.map +1 -1
  94. package/dist/src/ui/components/Header.test.js +27 -2
  95. package/dist/src/ui/components/Header.test.js.map +1 -1
  96. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  97. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  98. package/dist/src/ui/components/InputPrompt.js +16 -24
  99. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  100. package/dist/src/ui/components/InputPrompt.test.js +84 -24
  101. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  102. package/dist/src/ui/components/ModelDialog.js +2 -2
  103. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  104. package/dist/src/ui/components/SettingsDialog.d.ts +3 -1
  105. package/dist/src/ui/components/SettingsDialog.js +4 -1
  106. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  107. package/dist/src/ui/components/ThemedGradient.js +2 -1
  108. package/dist/src/ui/components/ThemedGradient.js.map +1 -1
  109. package/dist/src/ui/components/messages/ShellToolMessage.d.ts +14 -0
  110. package/dist/src/ui/components/messages/ShellToolMessage.js +76 -0
  111. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -0
  112. package/dist/src/ui/components/messages/ShellToolMessage.test.d.ts +6 -0
  113. package/dist/src/ui/components/messages/ShellToolMessage.test.js +123 -0
  114. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -0
  115. package/dist/src/ui/components/messages/ToolGroupMessage.js +19 -1
  116. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  117. package/dist/src/ui/components/messages/ToolMessage.d.ts +3 -6
  118. package/dist/src/ui/components/messages/ToolMessage.js +5 -121
  119. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  120. package/dist/src/ui/components/messages/ToolMessage.test.js +13 -5
  121. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  122. package/dist/src/ui/components/messages/ToolResultDisplay.d.ts +13 -0
  123. package/dist/src/ui/components/messages/ToolResultDisplay.js +54 -0
  124. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -0
  125. package/dist/src/ui/components/messages/ToolShared.d.ts +23 -0
  126. package/dist/src/ui/components/messages/ToolShared.js +40 -0
  127. package/dist/src/ui/components/messages/ToolShared.js.map +1 -0
  128. package/dist/src/ui/components/shared/text-buffer.js +4 -1
  129. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  130. package/dist/src/ui/contexts/KeypressContext.js +21 -11
  131. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  132. package/dist/src/ui/contexts/KeypressContext.test.js +29 -10
  133. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  134. package/dist/src/ui/contexts/UIActionsContext.d.ts +1 -0
  135. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  136. package/dist/src/ui/hooks/shellCommandProcessor.js +8 -4
  137. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  138. package/dist/src/ui/hooks/shellCommandProcessor.test.js +4 -3
  139. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  140. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
  141. package/dist/src/ui/hooks/slashCommandProcessor.js +5 -3
  142. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  143. package/dist/src/ui/hooks/useBracketedPaste.js +3 -2
  144. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -1
  145. package/dist/src/ui/hooks/useCommandCompletion.test.js +5 -5
  146. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  147. package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -1
  148. package/dist/src/ui/hooks/useConsoleMessages.js +26 -1
  149. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  150. package/dist/src/ui/hooks/useConsoleMessages.test.js +37 -5
  151. package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -1
  152. package/dist/src/ui/hooks/useEditorSettings.d.ts +2 -2
  153. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
  154. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
  155. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  156. package/dist/src/ui/hooks/useGeminiStream.js +48 -10
  157. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  158. package/dist/src/ui/hooks/useGeminiStream.test.js +20 -21
  159. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  160. package/dist/src/ui/hooks/useHistoryManager.d.ts +5 -2
  161. package/dist/src/ui/hooks/useHistoryManager.js +39 -3
  162. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -1
  163. package/dist/src/ui/hooks/useIncludeDirsTrust.js +0 -1
  164. package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
  165. package/dist/src/ui/hooks/useInputHistoryStore.test.js +4 -1
  166. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -1
  167. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +0 -1
  168. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +1 -2
  169. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -1
  170. package/dist/src/ui/hooks/useMouseClick.d.ts +12 -0
  171. package/dist/src/ui/hooks/useMouseClick.js +28 -0
  172. package/dist/src/ui/hooks/useMouseClick.js.map +1 -0
  173. package/dist/src/ui/hooks/useMouseClick.test.d.ts +6 -0
  174. package/dist/src/ui/hooks/useMouseClick.test.js +59 -0
  175. package/dist/src/ui/hooks/useMouseClick.test.js.map +1 -0
  176. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
  177. package/dist/src/ui/hooks/useReactToolScheduler.js +1 -8
  178. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  179. package/dist/src/ui/hooks/useReactToolScheduler.test.js +1 -8
  180. package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -1
  181. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +18 -12
  182. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
  183. package/dist/src/ui/hooks/useSessionBrowser.js +13 -4
  184. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  185. package/dist/src/ui/hooks/useSessionBrowser.test.js +37 -0
  186. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  187. package/dist/src/ui/hooks/useSessionResume.js +1 -1
  188. package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
  189. package/dist/src/ui/hooks/useSessionResume.test.js +4 -4
  190. package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
  191. package/dist/src/ui/hooks/useThemeCommand.d.ts +2 -2
  192. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  193. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
  194. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  195. package/dist/src/ui/themes/theme-manager.test.js +2 -1
  196. package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
  197. package/dist/src/ui/types.d.ts +2 -0
  198. package/dist/src/ui/types.js.map +1 -1
  199. package/dist/src/ui/utils/ConsolePatcher.js +6 -9
  200. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  201. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +6 -2
  202. package/dist/src/ui/utils/kittyProtocolDetector.js +48 -43
  203. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
  204. package/dist/src/ui/utils/mouse.js +3 -3
  205. package/dist/src/ui/utils/mouse.js.map +1 -1
  206. package/dist/src/utils/cleanup.d.ts +2 -0
  207. package/dist/src/utils/cleanup.js +16 -0
  208. package/dist/src/utils/cleanup.js.map +1 -1
  209. package/dist/src/utils/errors.js +10 -0
  210. package/dist/src/utils/errors.js.map +1 -1
  211. package/dist/src/utils/events.d.ts +0 -2
  212. package/dist/src/utils/events.js +0 -1
  213. package/dist/src/utils/events.js.map +1 -1
  214. package/dist/src/utils/installationInfo.test.js +8 -9
  215. package/dist/src/utils/installationInfo.test.js.map +1 -1
  216. package/dist/src/utils/sessionCleanup.test.js +4 -2
  217. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  218. package/dist/src/utils/sessionUtils.d.ts +5 -0
  219. package/dist/src/utils/sessionUtils.js +6 -1
  220. package/dist/src/utils/sessionUtils.js.map +1 -1
  221. package/dist/src/utils/sessions.test.d.ts +6 -0
  222. package/dist/src/utils/sessions.test.js +516 -0
  223. package/dist/src/utils/sessions.test.js.map +1 -0
  224. package/dist/src/utils/stdio.d.ts +32 -0
  225. package/dist/src/utils/stdio.js +85 -0
  226. package/dist/src/utils/stdio.js.map +1 -0
  227. package/dist/src/utils/stdio.test.d.ts +6 -0
  228. package/dist/src/utils/stdio.test.js +47 -0
  229. package/dist/src/utils/stdio.test.js.map +1 -0
  230. package/dist/src/validateNonInterActiveAuth.js +2 -0
  231. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  232. package/dist/src/validateNonInterActiveAuth.test.js +10 -6
  233. package/dist/src/validateNonInterActiveAuth.test.js.map +1 -1
  234. package/dist/src/zed-integration/schema.d.ts +30 -30
  235. package/dist/src/zed-integration/zedIntegration.d.ts +0 -7
  236. package/dist/src/zed-integration/zedIntegration.js +9 -21
  237. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  238. package/dist/tsconfig.tsbuildinfo +1 -1
  239. package/package.json +5 -5
  240. package/dist/google-gemini-cli-0.18.0-nightly.20251118.86828bb56.tgz +0 -0
@@ -30,7 +30,8 @@ export class McpPromptLoader {
30
30
  for (const serverName in mcpServers) {
31
31
  const prompts = getMCPServerPrompts(this.config, serverName) || [];
32
32
  for (const prompt of prompts) {
33
- const commandName = `${prompt.name}`;
33
+ // Sanitize prompt names to ensure they are valid slash commands (e.g. "Prompt Name" -> "Prompt-Name")
34
+ const commandName = `${prompt.name}`.trim().replace(/\s+/g, '-');
34
35
  const newPromptCommand = {
35
36
  name: commandName,
36
37
  description: prompt.description || `Invoke prompt ${prompt.name}`,
@@ -102,7 +103,8 @@ export class McpPromptLoader {
102
103
  content: `Error invoking prompt: ${result['error']}`,
103
104
  };
104
105
  }
105
- if (!result.messages?.[0]?.content?.['text']) {
106
+ const maybeContent = result.messages?.[0]?.content;
107
+ if (maybeContent.type !== 'text') {
106
108
  return {
107
109
  type: 'message',
108
110
  messageType: 'error',
@@ -111,7 +113,7 @@ export class McpPromptLoader {
111
113
  }
112
114
  return {
113
115
  type: 'submit_prompt',
114
- content: JSON.stringify(result.messages[0].content.text),
116
+ content: JSON.stringify(maybeContent.text),
115
117
  };
116
118
  }
117
119
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"McpPromptLoader.js","sourceRoot":"","sources":["../../../src/services/McpPromptLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpPromptLoader.js","sourceRoot":"","sources":["../../../src/services/McpPromptLoader.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ const mockPrompt = {
24
24
  { name: 'trail', required: false, description: "The animal's trail." },
25
25
  ],
26
26
  invoke: vi.fn().mockResolvedValue({
27
- messages: [{ content: { text: 'Hello, world!' } }],
27
+ messages: [{ content: { type: 'text', text: 'Hello, world!' } }],
28
28
  }),
29
29
  };
30
30
  describe('McpPromptLoader', () => {
@@ -154,6 +154,34 @@ describe('McpPromptLoader', () => {
154
154
  expect(commands[0].description).toBe('A test prompt.');
155
155
  expect(commands[0].kind).toBe(CommandKind.MCP_PROMPT);
156
156
  });
157
+ it('should sanitize prompt names by replacing spaces with hyphens', async () => {
158
+ const mockPromptWithSpaces = {
159
+ ...mockPrompt,
160
+ name: 'Prompt Name',
161
+ };
162
+ vi.spyOn(cliCore, 'getMCPServerPrompts').mockReturnValue([
163
+ mockPromptWithSpaces,
164
+ ]);
165
+ const loader = new McpPromptLoader(mockConfigWithPrompts);
166
+ const commands = await loader.loadCommands(new AbortController().signal);
167
+ expect(commands).toHaveLength(1);
168
+ expect(commands[0].name).toBe('Prompt-Name');
169
+ expect(commands[0].kind).toBe(CommandKind.MCP_PROMPT);
170
+ });
171
+ it('should trim whitespace from prompt names before sanitizing', async () => {
172
+ const mockPromptWithWhitespace = {
173
+ ...mockPrompt,
174
+ name: ' Prompt Name ',
175
+ };
176
+ vi.spyOn(cliCore, 'getMCPServerPrompts').mockReturnValue([
177
+ mockPromptWithWhitespace,
178
+ ]);
179
+ const loader = new McpPromptLoader(mockConfigWithPrompts);
180
+ const commands = await loader.loadCommands(new AbortController().signal);
181
+ expect(commands).toHaveLength(1);
182
+ expect(commands[0].name).toBe('Prompt-Name');
183
+ expect(commands[0].kind).toBe(CommandKind.MCP_PROMPT);
184
+ });
157
185
  it('should handle prompt invocation successfully', async () => {
158
186
  const loader = new McpPromptLoader(mockConfigWithPrompts);
159
187
  const commands = await loader.loadCommands(new AbortController().signal);
@@ -1 +1 @@
1
- {"version":3,"file":"McpPromptLoader.test.js","sourceRoot":"","sources":["../../../src/services/McpPromptLoader.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,KAAK,OAAO,MAAM,yBAAyB,CAAC;AAEnD,gDAAgD;AAChD,MAAM,UAAU,GAAG;IACjB,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,gBAAgB;IAC7B,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE;QACT,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE;QACnE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,mBAAmB,EAAE;QACjE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,uBAAuB,EAAE;QACzE;YACE,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,yBAAyB;SACvC;QACD,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE;KACvE;IACD,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;QAChC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,CAAC;KACnD,CAAC;CACH,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC/B,MAAM,UAAU,GAAG,EAAY,CAAC;IAEhC,2DAA2D;IAC3D,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,eAAe,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAE5C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjC,CAAC;YACF,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjC,CAAC;YACF,MAAM,QAAQ,GAAG,mBAAmB,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACxE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,aAAa,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,qBAAqB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;YACnE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,QAAQ,GAAG,kBAAkB,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB;gBACnC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACjC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;aAChC,CAAC;YACF,MAAM,QAAQ,GAAG,4BAA4B,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC9D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB;gBACnC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;aAClC,CAAC;YACF,MAAM,QAAQ,GAAG,4BAA4B,CAAC;YAC9C,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YACpE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACjC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjC,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjC,CAAC;YACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAqB;gBACnC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAChC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;gBAClC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;aACjC,CAAC;YACF,MAAM,QAAQ,GACZ,8EAA8E,CAAC;YACjF,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,SAAS;gBACjB,IAAI,EAAE,eAAe;gBACrB,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,kBAAkB;aACzB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,MAAM,qBAAqB,GAAG;YAC5B,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;gBAC1B,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;oBACpB,aAAa,EAAE,EAAE,OAAO,EAAE,yBAAyB,EAAE;iBACtD,CAAC;aACH,CAAC;SACkB,CAAC;QAEvB,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC7C,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAO,CAAC;YACnC,MAAM,OAAO,GAAG,EAAoB,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC5D,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC;gBAC7C,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,KAAK;gBACV,OAAO,EAAE,OAAO;aACjB,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;aACzC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAO,CAAC;YACnC,MAAM,OAAO,GAAG,EAAoB,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAClD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,gDAAgD;aAC1D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,EAAE,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,iBAAiB,CAC9C,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAChC,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAO,CAAC;YACnC,MAAM,OAAO,GAAG,EAAoB,CAAC;YACrC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;gBACrB,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,2BAA2B;aACrC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC;YACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG,EAAoB,CAAC;gBACrC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;gBACnE,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;gBAClE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE;wBACV,GAAG,EAAE,QAAQ;wBACb,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,EAAE;qBACT;iBACgB,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;oBAC1B,UAAU;oBACV,SAAS;oBACT,aAAa;oBACb,eAAe;oBACf,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;gBACxE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE;wBACV,GAAG,EAAE,qCAAqC;wBAC1C,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,8BAA8B;qBACrC;iBACgB,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC;oBAC1B,aAAa;oBACb,eAAe;oBACf,WAAW;iBACZ,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG,EAAoB,CAAC;gBACrC,MAAM,WAAW,GAAG,MAAM,UAAU,CAClC,OAAO,EACP,yFAAyF,CAC1F,CAAC;gBACF,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;gBACpE,gEAAgE;gBAChE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC,eAAe,CAAC;oBACvD,EAAE,GAAG,UAAU,EAAE,SAAS,EAAE,EAAE,EAAE;iBACjC,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG,EAAoB,CAAC;gBACrC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;gBACpE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE;wBACV,GAAG,EAAE,WAAW;wBAChB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,KAAK;qBACZ;iBACgB,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,4EAA4E,EAAE,KAAK,IAAI,EAAE;gBAC1F,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE;wBACV,GAAG,EAAE,yBAAyB;wBAC9B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB;qBAC1B;iBACgB,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;gBACtE,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE;wBACV,GAAG,EAAE,oBAAoB;wBACzB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,cAAc;qBACrB;iBACgB,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;gBAC9D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;gBAC7E,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE;wBACV,GAAG,EAAE,gBAAgB;wBACrB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU;qBACjB;iBACgB,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBAC1D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;gBACzD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,qBAAqB,CAAC,CAAC;gBAC1D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,YAAY,CACxC,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;gBACF,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC;gBAC3C,MAAM,OAAO,GAAG;oBACd,UAAU,EAAE;wBACV,GAAG,EAAE,qBAAqB;wBAC1B,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,eAAe;qBACtB;iBACgB,CAAC;gBACpB,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;gBAC/D,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"McpPromptLoader.test.js","sourceRoot":"","sources":["../../../src/services/McpPromptLoader.test.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,13 @@ import { render as inkRender } from 'ink-testing-library';
7
7
  import type React from 'react';
8
8
  import { LoadedSettings, type Settings } from '../config/settings.js';
9
9
  import { type UIState } from '../ui/contexts/UIStateContext.js';
10
+ import { type UIActions } from '../ui/contexts/UIActionsContext.js';
10
11
  import { type Config } from '@google/gemini-cli-core';
11
12
  export declare const render: (tree: React.ReactElement, terminalWidth?: number) => ReturnType<typeof inkRender>;
13
+ export declare const simulateClick: (stdin: ReturnType<typeof inkRender>["stdin"], col: number, row: number, button?: 0 | 1 | 2) => Promise<void>;
12
14
  export declare const mockSettings: LoadedSettings;
13
15
  export declare const createMockSettings: (overrides: Partial<Settings>) => LoadedSettings;
14
- export declare const renderWithProviders: (component: React.ReactElement, { shellFocus, settings, uiState: providedUiState, width, mouseEventsEnabled, config, useAlternateBuffer, }?: {
16
+ export declare const renderWithProviders: (component: React.ReactElement, { shellFocus, settings, uiState: providedUiState, width, mouseEventsEnabled, config, useAlternateBuffer, uiActions, }?: {
15
17
  shellFocus?: boolean;
16
18
  settings?: LoadedSettings;
17
19
  uiState?: Partial<UIState>;
@@ -19,7 +21,10 @@ export declare const renderWithProviders: (component: React.ReactElement, { shel
19
21
  mouseEventsEnabled?: boolean;
20
22
  config?: Config;
21
23
  useAlternateBuffer?: boolean;
22
- }) => ReturnType<typeof render>;
24
+ uiActions?: Partial<UIActions>;
25
+ }) => ReturnType<typeof render> & {
26
+ simulateClick: typeof simulateClick;
27
+ };
23
28
  export declare function renderHook<Result, Props>(renderCallback: (props: Props) => Result, options?: {
24
29
  initialProps?: Props;
25
30
  wrapper?: React.ComponentType<{
@@ -32,3 +37,22 @@ export declare function renderHook<Result, Props>(renderCallback: (props: Props)
32
37
  rerender: (props?: Props) => void;
33
38
  unmount: () => void;
34
39
  };
40
+ export declare function renderHookWithProviders<Result, Props>(renderCallback: (props: Props) => Result, options?: {
41
+ initialProps?: Props;
42
+ wrapper?: React.ComponentType<{
43
+ children: React.ReactNode;
44
+ }>;
45
+ shellFocus?: boolean;
46
+ settings?: LoadedSettings;
47
+ uiState?: Partial<UIState>;
48
+ width?: number;
49
+ mouseEventsEnabled?: boolean;
50
+ config?: Config;
51
+ useAlternateBuffer?: boolean;
52
+ }): {
53
+ result: {
54
+ current: Result;
55
+ };
56
+ rerender: (props?: Props) => void;
57
+ unmount: () => void;
58
+ };
@@ -6,7 +6,8 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
6
6
  */
7
7
  import { render as inkRender } from 'ink-testing-library';
8
8
  import { Box } from 'ink';
9
- import { act } from 'react';
9
+ import { vi } from 'vitest';
10
+ import { act, useState } from 'react';
10
11
  import { LoadedSettings } from '../config/settings.js';
11
12
  import { KeypressProvider } from '../ui/contexts/KeypressContext.js';
12
13
  import { SettingsContext } from '../ui/contexts/SettingsContext.js';
@@ -19,6 +20,7 @@ import { VimModeProvider } from '../ui/contexts/VimModeContext.js';
19
20
  import { MouseProvider } from '../ui/contexts/MouseContext.js';
20
21
  import { ScrollProvider } from '../ui/contexts/ScrollProvider.js';
21
22
  import { StreamingContext } from '../ui/contexts/StreamingContext.js';
23
+ import { UIActionsContext, } from '../ui/contexts/UIActionsContext.js';
22
24
  import {} from '@google/gemini-cli-core';
23
25
  // Wrapper around ink-testing-library's render that ensures act() is called
24
26
  export const render = (tree, terminalWidth) => {
@@ -53,6 +55,13 @@ export const render = (tree, terminalWidth) => {
53
55
  },
54
56
  };
55
57
  };
58
+ export const simulateClick = async (stdin, col, row, button = 0) => {
59
+ // Terminal mouse events are 1-based, so convert if necessary.
60
+ const mouseEventString = `\x1b[<${button};${col};${row}M`;
61
+ await act(async () => {
62
+ stdin.write(mouseEventString);
63
+ });
64
+ };
56
65
  const mockConfig = {
57
66
  getModel: () => 'gemini-pro',
58
67
  getTargetDir: () => '/Users/test/project/foo/bar/and/some/more/directories/to/make/it/long',
@@ -83,7 +92,38 @@ const baseMockUiState = {
83
92
  terminalWidth: 120,
84
93
  currentModel: 'gemini-pro',
85
94
  };
86
- export const renderWithProviders = (component, { shellFocus = true, settings = mockSettings, uiState: providedUiState, width, mouseEventsEnabled = false, config = configProxy, useAlternateBuffer, } = {}) => {
95
+ const mockUIActions = {
96
+ handleThemeSelect: vi.fn(),
97
+ closeThemeDialog: vi.fn(),
98
+ handleThemeHighlight: vi.fn(),
99
+ handleAuthSelect: vi.fn(),
100
+ setAuthState: vi.fn(),
101
+ onAuthError: vi.fn(),
102
+ handleEditorSelect: vi.fn(),
103
+ exitEditorDialog: vi.fn(),
104
+ exitPrivacyNotice: vi.fn(),
105
+ closeSettingsDialog: vi.fn(),
106
+ closeModelDialog: vi.fn(),
107
+ openPermissionsDialog: vi.fn(),
108
+ closePermissionsDialog: vi.fn(),
109
+ setShellModeActive: vi.fn(),
110
+ vimHandleInput: vi.fn(),
111
+ handleIdePromptComplete: vi.fn(),
112
+ handleFolderTrustSelect: vi.fn(),
113
+ setConstrainHeight: vi.fn(),
114
+ onEscapePromptChange: vi.fn(),
115
+ refreshStatic: vi.fn(),
116
+ handleFinalSubmit: vi.fn(),
117
+ handleClearScreen: vi.fn(),
118
+ handleProQuotaChoice: vi.fn(),
119
+ setQueueErrorMessage: vi.fn(),
120
+ popAllMessages: vi.fn(),
121
+ handleApiKeySubmit: vi.fn(),
122
+ handleApiKeyCancel: vi.fn(),
123
+ setBannerVisible: vi.fn(),
124
+ setEmbeddedShellFocused: vi.fn(),
125
+ };
126
+ export const renderWithProviders = (component, { shellFocus = true, settings = mockSettings, uiState: providedUiState, width, mouseEventsEnabled = false, config = configProxy, useAlternateBuffer, uiActions, } = {}) => {
87
127
  const baseState = new Proxy({ ...baseMockUiState, ...providedUiState }, {
88
128
  get(target, prop) {
89
129
  if (prop in target) {
@@ -115,7 +155,9 @@ export const renderWithProviders = (component, { shellFocus = true, settings = m
115
155
  terminalWidth,
116
156
  mainAreaWidth,
117
157
  };
118
- return render(_jsx(ConfigContext.Provider, { value: config, children: _jsx(SettingsContext.Provider, { value: finalSettings, children: _jsx(UIStateContext.Provider, { value: finalUiState, children: _jsx(VimModeProvider, { settings: finalSettings, children: _jsx(ShellFocusContext.Provider, { value: shellFocus, children: _jsx(StreamingContext.Provider, { value: finalUiState.streamingState, children: _jsx(KeypressProvider, { children: _jsx(MouseProvider, { mouseEventsEnabled: mouseEventsEnabled, children: _jsx(ScrollProvider, { children: _jsx(Box, { width: terminalWidth, flexShrink: 0, flexGrow: 0, flexDirection: "column", children: component }) }) }) }) }) }) }) }) }) }), terminalWidth);
158
+ const finalUIActions = { ...mockUIActions, ...uiActions };
159
+ const renderResult = render(_jsx(ConfigContext.Provider, { value: config, children: _jsx(SettingsContext.Provider, { value: finalSettings, children: _jsx(UIStateContext.Provider, { value: finalUiState, children: _jsx(VimModeProvider, { settings: finalSettings, children: _jsx(ShellFocusContext.Provider, { value: shellFocus, children: _jsx(StreamingContext.Provider, { value: finalUiState.streamingState, children: _jsx(UIActionsContext.Provider, { value: finalUIActions, children: _jsx(KeypressProvider, { children: _jsx(MouseProvider, { mouseEventsEnabled: mouseEventsEnabled, children: _jsx(ScrollProvider, { children: _jsx(Box, { width: terminalWidth, flexShrink: 0, flexGrow: 0, flexDirection: "column", children: component }) }) }) }) }) }) }) }) }) }) }), terminalWidth);
160
+ return { ...renderResult, simulateClick };
119
161
  };
120
162
  export function renderHook(renderCallback, options) {
121
163
  const result = { current: undefined };
@@ -142,4 +184,35 @@ export function renderHook(renderCallback, options) {
142
184
  }
143
185
  return { result, rerender, unmount };
144
186
  }
187
+ export function renderHookWithProviders(renderCallback, options = {}) {
188
+ const result = { current: undefined };
189
+ let setPropsFn;
190
+ function TestComponent({ initialProps }) {
191
+ const [props, setProps] = useState(initialProps);
192
+ setPropsFn = setProps;
193
+ result.current = renderCallback(props);
194
+ return null;
195
+ }
196
+ const Wrapper = options.wrapper || (({ children }) => _jsx(_Fragment, { children: children }));
197
+ let renderResult;
198
+ act(() => {
199
+ renderResult = renderWithProviders(_jsx(Wrapper, { children: _jsx(TestComponent, { initialProps: options.initialProps }) }), options);
200
+ });
201
+ function rerender(newProps) {
202
+ act(() => {
203
+ if (setPropsFn && newProps) {
204
+ setPropsFn(newProps);
205
+ }
206
+ });
207
+ }
208
+ return {
209
+ result,
210
+ rerender,
211
+ unmount: () => {
212
+ act(() => {
213
+ renderResult.unmount();
214
+ });
215
+ },
216
+ };
217
+ }
145
218
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/test-utils/render.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/test-utils/render.tsx"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ import { useVimMode } from './contexts/VimModeContext.js';
29
29
  import { useConsoleMessages } from './hooks/useConsoleMessages.js';
30
30
  import { useTerminalSize } from './hooks/useTerminalSize.js';
31
31
  import { calculatePromptWidths } from './components/InputPrompt.js';
32
- import { useStdout, useStdin } from 'ink';
32
+ import { useApp, useStdout, useStdin } from 'ink';
33
33
  import { calculateMainAreaWidth } from './utils/ui-sizing.js';
34
34
  import ansiEscapes from 'ansi-escapes';
35
35
  import * as fs from 'node:fs';
@@ -52,7 +52,6 @@ import {} from './IdeIntegrationNudge.js';
52
52
  import { appEvents, AppEvent } from '../utils/events.js';
53
53
  import {} from './utils/updateCheck.js';
54
54
  import { setUpdateHandler } from '../utils/handleAutoUpdate.js';
55
- import { ConsolePatcher } from './utils/ConsolePatcher.js';
56
55
  import { registerCleanup, runExitCleanup } from '../utils/cleanup.js';
57
56
  import { useMessageQueue } from './hooks/useMessageQueue.js';
58
57
  import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
@@ -68,6 +67,8 @@ import { isWorkspaceTrusted } from '../config/trustedFolders.js';
68
67
  import { disableMouseEvents, enableMouseEvents } from './utils/mouse.js';
69
68
  import { useAlternateBuffer } from './hooks/useAlternateBuffer.js';
70
69
  import { useSettings } from './contexts/SettingsContext.js';
70
+ import { enableSupportedProtocol } from './utils/kittyProtocolDetector.js';
71
+ import { writeToStdout } from '../utils/stdio.js';
71
72
  const WARNING_PROMPT_DURATION_MS = 1000;
72
73
  const QUEUE_ERROR_DISPLAY_DURATION_MS = 3000;
73
74
  function isToolExecuting(pendingHistoryItems) {
@@ -90,7 +91,9 @@ const SHELL_WIDTH_FRACTION = 0.89;
90
91
  const SHELL_HEIGHT_PADDING = 10;
91
92
  export const AppContainer = (props) => {
92
93
  const { config, initializationResult, resumedSessionData } = props;
93
- const historyManager = useHistory();
94
+ const historyManager = useHistory({
95
+ chatRecordingService: config.getGeminiClient()?.getChatRecordingService(),
96
+ });
94
97
  useMemoryMonitor(historyManager);
95
98
  const settings = useSettings();
96
99
  const isAlternateBuffer = useAlternateBuffer();
@@ -104,6 +107,7 @@ export const AppContainer = (props) => {
104
107
  const [showDebugProfiler, setShowDebugProfiler] = useState(false);
105
108
  const [customDialog, setCustomDialog] = useState(null);
106
109
  const [copyModeEnabled, setCopyModeEnabled] = useState(false);
110
+ const [pendingRestorePrompt, setPendingRestorePrompt] = useState(false);
107
111
  const [shellModeActive, setShellModeActive] = useState(false);
108
112
  const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = useState(false);
109
113
  const [historyRemountKey, setHistoryRemountKey] = useState(0);
@@ -146,6 +150,7 @@ export const AppContainer = (props) => {
146
150
  const { columns: terminalWidth, rows: terminalHeight } = useTerminalSize();
147
151
  const { stdin, setRawMode } = useStdin();
148
152
  const { stdout } = useStdout();
153
+ const app = useApp();
149
154
  // Additional hooks moved from App.tsx
150
155
  const { stats: sessionStats } = useSessionStats();
151
156
  const branchName = useGitBranchName(config.getTargetDir());
@@ -187,15 +192,7 @@ export const AppContainer = (props) => {
187
192
  coreEvents.off(CoreEvent.ModelChanged, handleModelChanged);
188
193
  };
189
194
  }, [getEffectiveModel]);
190
- const { consoleMessages, handleNewMessage, clearConsoleMessages: clearConsoleMessagesState, } = useConsoleMessages();
191
- useEffect(() => {
192
- const consolePatcher = new ConsolePatcher({
193
- onNewMessage: handleNewMessage,
194
- debugMode: config.getDebugMode(),
195
- });
196
- consolePatcher.patch();
197
- registerCleanup(consolePatcher.cleanup);
198
- }, [handleNewMessage, config]);
195
+ const { consoleMessages, clearConsoleMessages: clearConsoleMessagesState } = useConsoleMessages();
199
196
  const mainAreaWidth = calculateMainAreaWidth(terminalWidth, settings);
200
197
  // Derive widths for InputPrompt using shared helper
201
198
  const { inputWidth, suggestionsWidth } = useMemo(() => {
@@ -250,7 +247,24 @@ export const AppContainer = (props) => {
250
247
  stdout.write(ansiEscapes.clearTerminal);
251
248
  }
252
249
  setHistoryRemountKey((prev) => prev + 1);
253
- }, [setHistoryRemountKey, stdout, isAlternateBuffer]);
250
+ }, [setHistoryRemountKey, isAlternateBuffer, stdout]);
251
+ const handleEditorClose = useCallback(() => {
252
+ if (isAlternateBuffer) {
253
+ // The editor may have exited alternate buffer mode so we need to
254
+ // enter it again to be safe.
255
+ writeToStdout(ansiEscapes.enterAlternativeScreen);
256
+ enableMouseEvents();
257
+ app.rerender();
258
+ }
259
+ enableSupportedProtocol();
260
+ refreshStatic();
261
+ }, [refreshStatic, isAlternateBuffer, app]);
262
+ useEffect(() => {
263
+ coreEvents.on(CoreEvent.ExternalEditorClosed, handleEditorClose);
264
+ return () => {
265
+ coreEvents.off(CoreEvent.ExternalEditorClosed, handleEditorClose);
266
+ };
267
+ }, [handleEditorClose]);
254
268
  const { isThemeDialogOpen, openThemeDialog, closeThemeDialog, handleThemeSelect, handleThemeHighlight, } = useThemeCommand(settings, setThemeError, historyManager.addItem, initializationResult.themeError);
255
269
  const { authState, setAuthState, authError, onAuthError, apiKeyDefaultValue, reloadApiKey, } = useAuthCommand(settings, config);
256
270
  const { proQuotaRequest, handleProQuotaChoice } = useQuotaAndFallback({
@@ -416,10 +430,28 @@ Logging in with Google... Please restart Gemini CLI to continue.
416
430
  }, [config, historyManager]);
417
431
  const cancelHandlerRef = useRef(() => { });
418
432
  const getPreferredEditor = useCallback(() => settings.merged.general?.preferredEditor, [settings.merged.general?.preferredEditor]);
419
- const onCancelSubmit = useCallback(() => {
420
- cancelHandlerRef.current();
433
+ const onCancelSubmit = useCallback((shouldRestorePrompt) => {
434
+ if (shouldRestorePrompt) {
435
+ setPendingRestorePrompt(true);
436
+ }
437
+ else {
438
+ setPendingRestorePrompt(false);
439
+ cancelHandlerRef.current(false);
440
+ }
421
441
  }, []);
422
- const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, handleApprovalModeChange, activePtyId, loopDetectionConfirmationRequest, } = useGeminiStream(config.getGeminiClient(), historyManager.history, historyManager.addItem, config, settings, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, onCancelSubmit, setEmbeddedShellFocused, terminalWidth, terminalHeight, embeddedShellFocused);
442
+ useEffect(() => {
443
+ if (pendingRestorePrompt) {
444
+ const lastHistoryUserMsg = historyManager.history.findLast((h) => h.type === 'user');
445
+ const lastUserMsg = userMessages.at(-1);
446
+ if (!lastHistoryUserMsg ||
447
+ (typeof lastHistoryUserMsg.text === 'string' &&
448
+ lastHistoryUserMsg.text === lastUserMsg)) {
449
+ cancelHandlerRef.current(true);
450
+ setPendingRestorePrompt(false);
451
+ }
452
+ }
453
+ }, [pendingRestorePrompt, userMessages, historyManager.history]);
454
+ const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, handleApprovalModeChange, activePtyId, loopDetectionConfirmationRequest, } = useGeminiStream(config.getGeminiClient(), historyManager.history, historyManager.addItem, config, settings, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, onCancelSubmit, setEmbeddedShellFocused, terminalWidth, terminalHeight, embeddedShellFocused);
423
455
  // Auto-accept indicator
424
456
  const showAutoAcceptIndicator = useAutoAcceptIndicator({
425
457
  config,
@@ -431,7 +463,7 @@ Logging in with Google... Please restart Gemini CLI to continue.
431
463
  streamingState,
432
464
  submitQuery,
433
465
  });
434
- cancelHandlerRef.current = useCallback(() => {
466
+ cancelHandlerRef.current = useCallback((shouldRestorePrompt = true) => {
435
467
  const pendingHistoryItems = [
436
468
  ...pendingSlashCommandHistoryItems,
437
469
  ...pendingGeminiHistoryItems,
@@ -441,13 +473,13 @@ Logging in with Google... Please restart Gemini CLI to continue.
441
473
  return;
442
474
  }
443
475
  const lastUserMessage = userMessages.at(-1);
444
- let textToSet = lastUserMessage || '';
476
+ let textToSet = shouldRestorePrompt ? lastUserMessage || '' : '';
445
477
  const queuedText = getQueuedMessagesText();
446
478
  if (queuedText) {
447
479
  textToSet = textToSet ? `${textToSet}\n\n${queuedText}` : queuedText;
448
480
  clearQueue();
449
481
  }
450
- if (textToSet) {
482
+ if (textToSet || !shouldRestorePrompt) {
451
483
  buffer.setText(textToSet);
452
484
  }
453
485
  }, [
@@ -655,19 +687,10 @@ Logging in with Google... Please restart Gemini CLI to continue.
655
687
  setConstrainHeight(false);
656
688
  };
657
689
  appEvents.on(AppEvent.OpenDebugConsole, openDebugConsole);
658
- const logErrorHandler = (errorMessage) => {
659
- handleNewMessage({
660
- type: 'error',
661
- content: String(errorMessage),
662
- count: 1,
663
- });
664
- };
665
- appEvents.on(AppEvent.LogError, logErrorHandler);
666
690
  return () => {
667
691
  appEvents.off(AppEvent.OpenDebugConsole, openDebugConsole);
668
- appEvents.off(AppEvent.LogError, logErrorHandler);
669
692
  };
670
- }, [handleNewMessage, config]);
693
+ }, [config]);
671
694
  useEffect(() => {
672
695
  if (ctrlCTimerRef.current) {
673
696
  clearTimeout(ctrlCTimerRef.current);
@@ -677,7 +700,7 @@ Logging in with Google... Please restart Gemini CLI to continue.
677
700
  recordExitFail(config);
678
701
  }
679
702
  if (ctrlCPressCount > 1) {
680
- handleSlashCommand('/quit');
703
+ handleSlashCommand('/quit', undefined, undefined, false);
681
704
  }
682
705
  else {
683
706
  ctrlCTimerRef.current = setTimeout(() => {
@@ -695,7 +718,7 @@ Logging in with Google... Please restart Gemini CLI to continue.
695
718
  recordExitFail(config);
696
719
  }
697
720
  if (ctrlDPressCount > 1) {
698
- handleSlashCommand('/quit');
721
+ handleSlashCommand('/quit', undefined, undefined, false);
699
722
  }
700
723
  else {
701
724
  ctrlDTimerRef.current = setTimeout(() => {
@@ -860,7 +883,7 @@ Logging in with Google... Please restart Gemini CLI to continue.
860
883
  coreEvents.on(CoreEvent.UserFeedback, handleUserFeedback);
861
884
  // Flush any messages that happened during startup before this component
862
885
  // mounted.
863
- coreEvents.drainFeedbackBacklog();
886
+ coreEvents.drainBacklogs();
864
887
  return () => {
865
888
  coreEvents.off(CoreEvent.UserFeedback, handleUserFeedback);
866
889
  };
@@ -1144,6 +1167,7 @@ Logging in with Google... Please restart Gemini CLI to continue.
1144
1167
  handleApiKeySubmit,
1145
1168
  handleApiKeyCancel,
1146
1169
  setBannerVisible,
1170
+ setEmbeddedShellFocused,
1147
1171
  }), [
1148
1172
  handleThemeSelect,
1149
1173
  closeThemeDialog,
@@ -1173,6 +1197,7 @@ Logging in with Google... Please restart Gemini CLI to continue.
1173
1197
  handleApiKeySubmit,
1174
1198
  handleApiKeyCancel,
1175
1199
  setBannerVisible,
1200
+ setEmbeddedShellFocused,
1176
1201
  ]);
1177
1202
  return (_jsx(UIStateContext.Provider, { value: uiState, children: _jsx(UIActionsContext.Provider, { value: uiActions, children: _jsx(ConfigContext.Provider, { value: config, children: _jsx(AppContext.Provider, { value: {
1178
1203
  version: props.version,