@google/gemini-cli 0.26.0-preview.4 → 0.27.0-nightly.20260126.cb772a5b7

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 (461) hide show
  1. package/README.md +18 -1
  2. package/dist/google-gemini-cli-0.27.0-nightly.20260121.97aac696f.tgz +0 -0
  3. package/dist/package.json +3 -4
  4. package/dist/src/commands/extensions.js +4 -1
  5. package/dist/src/commands/extensions.js.map +1 -1
  6. package/dist/src/commands/hooks.js +4 -1
  7. package/dist/src/commands/hooks.js.map +1 -1
  8. package/dist/src/commands/mcp/enableDisable.d.ts +13 -0
  9. package/dist/src/commands/mcp/enableDisable.js +122 -0
  10. package/dist/src/commands/mcp/enableDisable.js.map +1 -0
  11. package/dist/src/commands/mcp/list.d.ts +2 -0
  12. package/dist/src/commands/mcp/list.js +1 -1
  13. package/dist/src/commands/mcp/list.js.map +1 -1
  14. package/dist/src/commands/mcp.js +7 -1
  15. package/dist/src/commands/mcp.js.map +1 -1
  16. package/dist/src/commands/mcp.test.js +3 -1
  17. package/dist/src/commands/mcp.test.js.map +1 -1
  18. package/dist/src/commands/skills.js +4 -1
  19. package/dist/src/commands/skills.js.map +1 -1
  20. package/dist/src/config/config.d.ts +4 -0
  21. package/dist/src/config/config.js +41 -20
  22. package/dist/src/config/config.js.map +1 -1
  23. package/dist/src/config/config.test.js +181 -15
  24. package/dist/src/config/config.test.js.map +1 -1
  25. package/dist/src/config/keyBindings.d.ts +8 -5
  26. package/dist/src/config/keyBindings.js +38 -32
  27. package/dist/src/config/keyBindings.js.map +1 -1
  28. package/dist/src/config/keyBindings.test.js +8 -5
  29. package/dist/src/config/keyBindings.test.js.map +1 -1
  30. package/dist/src/config/mcp/index.d.ts +6 -0
  31. package/dist/src/config/mcp/index.js +7 -0
  32. package/dist/src/config/mcp/index.js.map +1 -0
  33. package/dist/src/config/mcp/mcpServerEnablement.d.ts +145 -0
  34. package/dist/src/config/mcp/mcpServerEnablement.js +254 -0
  35. package/dist/src/config/mcp/mcpServerEnablement.js.map +1 -0
  36. package/dist/src/config/mcp/mcpServerEnablement.test.js +147 -0
  37. package/dist/src/config/mcp/mcpServerEnablement.test.js.map +1 -0
  38. package/dist/src/config/sandboxConfig.test.js +11 -5
  39. package/dist/src/config/sandboxConfig.test.js.map +1 -1
  40. package/dist/src/config/settings.js +76 -0
  41. package/dist/src/config/settings.js.map +1 -1
  42. package/dist/src/config/settings.test.js +44 -0
  43. package/dist/src/config/settings.test.js.map +1 -1
  44. package/dist/src/config/settingsSchema.d.ts +21 -78
  45. package/dist/src/config/settingsSchema.js +21 -79
  46. package/dist/src/config/settingsSchema.js.map +1 -1
  47. package/dist/src/config/settingsSchema.test.js +1 -1
  48. package/dist/src/config/settingsSchema.test.js.map +1 -1
  49. package/dist/src/config/settings_repro.test.js +6 -2
  50. package/dist/src/config/settings_repro.test.js.map +1 -1
  51. package/dist/src/gemini.js +12 -7
  52. package/dist/src/gemini.js.map +1 -1
  53. package/dist/src/gemini.test.js +140 -10
  54. package/dist/src/gemini.test.js.map +1 -1
  55. package/dist/src/generated/git-commit.d.ts +2 -2
  56. package/dist/src/generated/git-commit.js +2 -2
  57. package/dist/src/generated/git-commit.js.map +1 -1
  58. package/dist/src/nonInteractiveCli.js +11 -3
  59. package/dist/src/nonInteractiveCli.js.map +1 -1
  60. package/dist/src/nonInteractiveCli.test.js +193 -3
  61. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  62. package/dist/src/nonInteractiveCliCommands.js +6 -1
  63. package/dist/src/nonInteractiveCliCommands.js.map +1 -1
  64. package/dist/src/services/BuiltinCommandLoader.js +2 -0
  65. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  66. package/dist/src/services/FileCommandLoader.js +12 -4
  67. package/dist/src/services/FileCommandLoader.js.map +1 -1
  68. package/dist/src/services/FileCommandLoader.test.js +56 -0
  69. package/dist/src/services/FileCommandLoader.test.js.map +1 -1
  70. package/dist/src/test-utils/mockCommandContext.js +2 -0
  71. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  72. package/dist/src/test-utils/persistentStateFake.d.ts +26 -0
  73. package/dist/src/test-utils/persistentStateFake.js +39 -0
  74. package/dist/src/test-utils/persistentStateFake.js.map +1 -0
  75. package/dist/src/test-utils/render.d.ts +10 -1
  76. package/dist/src/test-utils/render.js +45 -16
  77. package/dist/src/test-utils/render.js.map +1 -1
  78. package/dist/src/ui/App.test.js +96 -38
  79. package/dist/src/ui/App.test.js.map +1 -1
  80. package/dist/src/ui/AppContainer.js +78 -18
  81. package/dist/src/ui/AppContainer.js.map +1 -1
  82. package/dist/src/ui/AppContainer.test.js +185 -19
  83. package/dist/src/ui/AppContainer.test.js.map +1 -1
  84. package/dist/src/ui/auth/ApiAuthDialog.test.js +5 -5
  85. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
  86. package/dist/src/ui/auth/AuthDialog.test.js +13 -9
  87. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  88. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +6 -6
  89. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -1
  90. package/dist/src/ui/commands/aboutCommand.js +2 -0
  91. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  92. package/dist/src/ui/commands/aboutCommand.test.js +12 -0
  93. package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
  94. package/dist/src/ui/commands/agentsCommand.js +75 -4
  95. package/dist/src/ui/commands/agentsCommand.js.map +1 -1
  96. package/dist/src/ui/commands/agentsCommand.test.js +114 -0
  97. package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
  98. package/dist/src/ui/commands/directoryCommand.js +53 -49
  99. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  100. package/dist/src/ui/commands/directoryCommand.test.js +79 -23
  101. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  102. package/dist/src/ui/commands/initCommand.test.js +8 -4
  103. package/dist/src/ui/commands/initCommand.test.js.map +1 -1
  104. package/dist/src/ui/commands/mcpCommand.js +136 -5
  105. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  106. package/dist/src/ui/commands/policiesCommand.js +33 -20
  107. package/dist/src/ui/commands/policiesCommand.js.map +1 -1
  108. package/dist/src/ui/commands/policiesCommand.test.js +7 -4
  109. package/dist/src/ui/commands/policiesCommand.test.js.map +1 -1
  110. package/dist/src/ui/commands/rewindCommand.d.ts +7 -0
  111. package/dist/src/ui/commands/rewindCommand.js +132 -0
  112. package/dist/src/ui/commands/rewindCommand.js.map +1 -0
  113. package/dist/src/ui/commands/rewindCommand.test.js +242 -0
  114. package/dist/src/ui/commands/rewindCommand.test.js.map +1 -0
  115. package/dist/src/ui/commands/skillsCommand.js +6 -4
  116. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  117. package/dist/src/ui/commands/skillsCommand.test.js +17 -3
  118. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  119. package/dist/src/ui/commands/types.d.ts +5 -3
  120. package/dist/src/ui/commands/types.js.map +1 -1
  121. package/dist/src/ui/components/AboutBox.d.ts +1 -0
  122. package/dist/src/ui/components/AboutBox.js +5 -1
  123. package/dist/src/ui/components/AboutBox.js.map +1 -1
  124. package/dist/src/ui/components/AboutBox.test.js +8 -2
  125. package/dist/src/ui/components/AboutBox.test.js.map +1 -1
  126. package/dist/src/ui/components/AgentConfigDialog.d.ts +18 -0
  127. package/dist/src/ui/components/AgentConfigDialog.js +296 -0
  128. package/dist/src/ui/components/AgentConfigDialog.js.map +1 -0
  129. package/dist/src/ui/components/AgentConfigDialog.test.js +241 -0
  130. package/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -0
  131. package/dist/src/ui/components/AlternateBufferQuittingDisplay.js +9 -2
  132. package/dist/src/ui/components/AlternateBufferQuittingDisplay.js.map +1 -1
  133. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +54 -25
  134. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +1 -1
  135. package/dist/src/ui/components/AppHeader.js +4 -1
  136. package/dist/src/ui/components/AppHeader.js.map +1 -1
  137. package/dist/src/ui/components/AppHeader.test.js +95 -22
  138. package/dist/src/ui/components/AppHeader.test.js.map +1 -1
  139. package/dist/src/ui/components/{AutoAcceptIndicator.d.ts → ApprovalModeIndicator.d.ts} +2 -2
  140. package/dist/src/ui/components/{AutoAcceptIndicator.js → ApprovalModeIndicator.js} +8 -3
  141. package/dist/src/ui/components/ApprovalModeIndicator.js.map +1 -0
  142. package/dist/src/ui/components/ApprovalModeIndicator.test.d.ts +6 -0
  143. package/dist/src/ui/components/{AutoAcceptIndicator.test.js → ApprovalModeIndicator.test.js} +13 -7
  144. package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +1 -0
  145. package/dist/src/ui/components/AskUserDialog.d.ts +39 -0
  146. package/dist/src/ui/components/AskUserDialog.js +618 -0
  147. package/dist/src/ui/components/AskUserDialog.js.map +1 -0
  148. package/dist/src/ui/components/AskUserDialog.test.d.ts +6 -0
  149. package/dist/src/ui/components/AskUserDialog.test.js +598 -0
  150. package/dist/src/ui/components/AskUserDialog.test.js.map +1 -0
  151. package/dist/src/ui/components/Composer.d.ts +3 -1
  152. package/dist/src/ui/components/Composer.js +5 -5
  153. package/dist/src/ui/components/Composer.js.map +1 -1
  154. package/dist/src/ui/components/Composer.test.js +6 -6
  155. package/dist/src/ui/components/Composer.test.js.map +1 -1
  156. package/dist/src/ui/components/ConfigInitDisplay.js +3 -4
  157. package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
  158. package/dist/src/ui/components/ConfigInitDisplay.test.js +13 -29
  159. package/dist/src/ui/components/ConfigInitDisplay.test.js.map +1 -1
  160. package/dist/src/ui/components/ContextUsageDisplay.test.js +7 -3
  161. package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
  162. package/dist/src/ui/components/DialogManager.js +13 -0
  163. package/dist/src/ui/components/DialogManager.js.map +1 -1
  164. package/dist/src/ui/components/DialogManager.test.js +24 -0
  165. package/dist/src/ui/components/DialogManager.test.js.map +1 -1
  166. package/dist/src/ui/components/FolderTrustDialog.test.js +3 -1
  167. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  168. package/dist/src/ui/components/Footer.test.js +7 -0
  169. package/dist/src/ui/components/Footer.test.js.map +1 -1
  170. package/dist/src/ui/components/Help.js +5 -2
  171. package/dist/src/ui/components/Help.js.map +1 -1
  172. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  173. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  174. package/dist/src/ui/components/InputPrompt.js +32 -20
  175. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  176. package/dist/src/ui/components/InputPrompt.test.js +75 -1
  177. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  178. package/dist/src/ui/components/MultiFolderTrustDialog.js +2 -1
  179. package/dist/src/ui/components/MultiFolderTrustDialog.js.map +1 -1
  180. package/dist/src/ui/components/MultiFolderTrustDialog.test.js +12 -10
  181. package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
  182. package/dist/src/ui/components/Notifications.js +14 -20
  183. package/dist/src/ui/components/Notifications.js.map +1 -1
  184. package/dist/src/ui/components/Notifications.test.js +45 -35
  185. package/dist/src/ui/components/Notifications.test.js.map +1 -1
  186. package/dist/src/ui/components/RewindViewer.d.ts +1 -1
  187. package/dist/src/ui/components/RewindViewer.js +65 -17
  188. package/dist/src/ui/components/RewindViewer.js.map +1 -1
  189. package/dist/src/ui/components/RewindViewer.test.js +5 -3
  190. package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
  191. package/dist/src/ui/components/SessionBrowser.js +3 -2
  192. package/dist/src/ui/components/SessionBrowser.js.map +1 -1
  193. package/dist/src/ui/components/SessionBrowser.test.js +10 -3
  194. package/dist/src/ui/components/SessionBrowser.test.js.map +1 -1
  195. package/dist/src/ui/components/SettingsDialog.d.ts +1 -1
  196. package/dist/src/ui/components/SettingsDialog.js +266 -516
  197. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  198. package/dist/src/ui/components/SettingsDialog.test.js +2 -2
  199. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  200. package/dist/src/ui/components/ShellInputPrompt.test.js +17 -8
  201. package/dist/src/ui/components/ShellInputPrompt.test.js.map +1 -1
  202. package/dist/src/ui/components/SuggestionsDisplay.d.ts +1 -1
  203. package/dist/src/ui/components/SuggestionsDisplay.js +4 -3
  204. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  205. package/dist/src/ui/components/ToolConfirmationQueue.d.ts +12 -0
  206. package/dist/src/ui/components/ToolConfirmationQueue.js +30 -0
  207. package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -0
  208. package/dist/src/ui/components/ToolConfirmationQueue.test.d.ts +6 -0
  209. package/dist/src/ui/components/ToolConfirmationQueue.test.js +71 -0
  210. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -0
  211. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +2 -4
  212. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +1 -1
  213. package/dist/src/ui/components/messages/ShellToolMessage.js +6 -41
  214. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  215. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +3 -2
  216. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +61 -76
  217. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  218. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +20 -7
  219. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  220. package/dist/src/ui/components/messages/ToolGroupMessage.js +34 -18
  221. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  222. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +209 -24
  223. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  224. package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
  225. package/dist/src/ui/components/messages/ToolMessage.js +7 -29
  226. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  227. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.d.ts +6 -0
  228. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +89 -0
  229. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +1 -0
  230. package/dist/src/ui/components/messages/ToolShared.d.ts +26 -0
  231. package/dist/src/ui/components/messages/ToolShared.js +59 -6
  232. package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  233. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +3 -1
  234. package/dist/src/ui/components/shared/BaseSelectionList.js +4 -2
  235. package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -1
  236. package/dist/src/ui/components/shared/BaseSelectionList.test.js +1 -0
  237. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  238. package/dist/src/ui/components/shared/BaseSettingsDialog.d.ts +72 -0
  239. package/dist/src/ui/components/shared/BaseSettingsDialog.js +293 -0
  240. package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -0
  241. package/dist/src/ui/components/shared/BaseSettingsDialog.test.d.ts +6 -0
  242. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +434 -0
  243. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -0
  244. package/dist/src/ui/components/shared/ExpandableText.d.ts +17 -0
  245. package/dist/src/ui/components/{PrepareLabel.js → shared/ExpandableText.js} +30 -15
  246. package/dist/src/ui/components/shared/ExpandableText.js.map +1 -0
  247. package/dist/src/ui/components/shared/ExpandableText.test.d.ts +6 -0
  248. package/dist/src/ui/components/{PrepareLabel.test.js → shared/ExpandableText.test.js} +22 -11
  249. package/dist/src/ui/components/shared/ExpandableText.test.js.map +1 -0
  250. package/dist/src/ui/components/shared/TabHeader.d.ts +51 -0
  251. package/dist/src/ui/components/shared/TabHeader.js +42 -0
  252. package/dist/src/ui/components/shared/TabHeader.js.map +1 -0
  253. package/dist/src/ui/components/shared/TabHeader.test.d.ts +6 -0
  254. package/dist/src/ui/components/shared/TabHeader.test.js +106 -0
  255. package/dist/src/ui/components/shared/TabHeader.test.js.map +1 -0
  256. package/dist/src/ui/components/shared/TextInput.test.js +32 -24
  257. package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
  258. package/dist/src/ui/components/shared/text-buffer.d.ts +13 -0
  259. package/dist/src/ui/components/shared/text-buffer.js +173 -14
  260. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  261. package/dist/src/ui/components/shared/text-buffer.test.js +256 -44
  262. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  263. package/dist/src/ui/components/shared/vim-buffer-actions.test.js +4 -1
  264. package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +1 -1
  265. package/dist/src/ui/components/views/McpStatus.d.ts +1 -0
  266. package/dist/src/ui/components/views/McpStatus.js +30 -18
  267. package/dist/src/ui/components/views/McpStatus.js.map +1 -1
  268. package/dist/src/ui/components/views/McpStatus.test.js +7 -0
  269. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
  270. package/dist/src/ui/constants/tips.js +2 -2
  271. package/dist/src/ui/constants/tips.js.map +1 -1
  272. package/dist/src/ui/constants.d.ts +1 -0
  273. package/dist/src/ui/constants.js +1 -0
  274. package/dist/src/ui/constants.js.map +1 -1
  275. package/dist/src/ui/contexts/KeypressContext.d.ts +3 -2
  276. package/dist/src/ui/contexts/KeypressContext.js +33 -25
  277. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  278. package/dist/src/ui/contexts/KeypressContext.test.js +151 -41
  279. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  280. package/dist/src/ui/contexts/MouseContext.test.js +8 -8
  281. package/dist/src/ui/contexts/MouseContext.test.js.map +1 -1
  282. package/dist/src/ui/contexts/ToolActionsContext.d.ts +20 -0
  283. package/dist/src/ui/contexts/ToolActionsContext.js +74 -0
  284. package/dist/src/ui/contexts/ToolActionsContext.js.map +1 -0
  285. package/dist/src/ui/contexts/ToolActionsContext.test.d.ts +6 -0
  286. package/dist/src/ui/contexts/ToolActionsContext.test.js +135 -0
  287. package/dist/src/ui/contexts/ToolActionsContext.test.js.map +1 -0
  288. package/dist/src/ui/contexts/UIActionsContext.d.ts +3 -1
  289. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  290. package/dist/src/ui/contexts/UIStateContext.d.ts +6 -2
  291. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  292. package/dist/src/ui/hooks/atCommandProcessor.js +19 -4
  293. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  294. package/dist/src/ui/hooks/keyToAnsi.js +1 -1
  295. package/dist/src/ui/hooks/keyToAnsi.js.map +1 -1
  296. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +3 -1
  297. package/dist/src/ui/hooks/slashCommandProcessor.js +24 -7
  298. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  299. package/dist/src/ui/hooks/slashCommandProcessor.test.js +126 -30
  300. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  301. package/dist/src/ui/hooks/toolMapping.js +8 -11
  302. package/dist/src/ui/hooks/toolMapping.js.map +1 -1
  303. package/dist/src/ui/hooks/toolMapping.test.js +27 -6
  304. package/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
  305. package/dist/src/ui/hooks/{useAutoAcceptIndicator.d.ts → useApprovalModeIndicator.d.ts} +2 -2
  306. package/dist/src/ui/hooks/{useAutoAcceptIndicator.js → useApprovalModeIndicator.js} +25 -11
  307. package/dist/src/ui/hooks/useApprovalModeIndicator.js.map +1 -0
  308. package/dist/src/ui/hooks/useApprovalModeIndicator.test.d.ts +6 -0
  309. package/dist/src/ui/hooks/{useAutoAcceptIndicator.test.js → useApprovalModeIndicator.test.js} +56 -31
  310. package/dist/src/ui/hooks/useApprovalModeIndicator.test.js.map +1 -0
  311. package/dist/src/ui/hooks/useConfirmingTool.d.ts +16 -0
  312. package/dist/src/ui/hooks/useConfirmingTool.js +39 -0
  313. package/dist/src/ui/hooks/useConfirmingTool.js.map +1 -0
  314. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  315. package/dist/src/ui/hooks/useGeminiStream.js +20 -8
  316. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  317. package/dist/src/ui/hooks/useGeminiStream.test.js +79 -19
  318. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  319. package/dist/src/ui/hooks/useIncludeDirsTrust.d.ts +1 -1
  320. package/dist/src/ui/hooks/useIncludeDirsTrust.js +9 -20
  321. package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -1
  322. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +33 -12
  323. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -1
  324. package/dist/src/ui/hooks/useKeypress.test.js +10 -3
  325. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
  326. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +7 -1
  327. package/dist/src/ui/hooks/useLoadingIndicator.js +3 -3
  328. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  329. package/dist/src/ui/hooks/useLoadingIndicator.test.js +17 -9
  330. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  331. package/dist/src/ui/hooks/usePhraseCycler.d.ts +2 -2
  332. package/dist/src/ui/hooks/usePhraseCycler.js +4 -14
  333. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  334. package/dist/src/ui/hooks/usePhraseCycler.test.js +13 -42
  335. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  336. package/dist/src/ui/hooks/useSelectionList.d.ts +4 -1
  337. package/dist/src/ui/hooks/useSelectionList.js +51 -13
  338. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  339. package/dist/src/ui/hooks/useSelectionList.test.js +35 -3
  340. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  341. package/dist/src/ui/hooks/useSessionResume.test.js +3 -2
  342. package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
  343. package/dist/src/ui/hooks/useShellInactivityStatus.d.ts +26 -0
  344. package/dist/src/ui/hooks/useShellInactivityStatus.js +46 -0
  345. package/dist/src/ui/hooks/useShellInactivityStatus.js.map +1 -0
  346. package/dist/src/ui/hooks/useShellInactivityStatus.test.d.ts +6 -0
  347. package/dist/src/ui/hooks/useShellInactivityStatus.test.js +84 -0
  348. package/dist/src/ui/hooks/useShellInactivityStatus.test.js.map +1 -0
  349. package/dist/src/ui/hooks/useTabbedNavigation.d.ts +53 -0
  350. package/dist/src/ui/hooks/useTabbedNavigation.js +150 -0
  351. package/dist/src/ui/hooks/useTabbedNavigation.js.map +1 -0
  352. package/dist/src/ui/hooks/useTabbedNavigation.test.d.ts +6 -0
  353. package/dist/src/ui/hooks/useTabbedNavigation.test.js +187 -0
  354. package/dist/src/ui/hooks/useTabbedNavigation.test.js.map +1 -0
  355. package/dist/src/ui/hooks/useTips.d.ts +10 -0
  356. package/dist/src/ui/hooks/useTips.js +18 -0
  357. package/dist/src/ui/hooks/useTips.js.map +1 -0
  358. package/dist/src/ui/hooks/useTips.test.d.ts +6 -0
  359. package/dist/src/ui/hooks/useTips.test.js +33 -0
  360. package/dist/src/ui/hooks/useTips.test.js.map +1 -0
  361. package/dist/src/ui/hooks/useToolExecutionScheduler.d.ts +30 -0
  362. package/dist/src/ui/hooks/useToolExecutionScheduler.js +113 -0
  363. package/dist/src/ui/hooks/useToolExecutionScheduler.js.map +1 -0
  364. package/dist/src/ui/hooks/useToolExecutionScheduler.test.d.ts +6 -0
  365. package/dist/src/ui/hooks/useToolExecutionScheduler.test.js +296 -0
  366. package/dist/src/ui/hooks/useToolExecutionScheduler.test.js.map +1 -0
  367. package/dist/src/ui/hooks/useToolScheduler.d.ts +29 -0
  368. package/dist/src/ui/hooks/useToolScheduler.js +30 -0
  369. package/dist/src/ui/hooks/useToolScheduler.js.map +1 -0
  370. package/dist/src/ui/hooks/useToolScheduler.test.js +1 -1
  371. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  372. package/dist/src/ui/hooks/useToolSchedulerFacade.test.d.ts +6 -0
  373. package/dist/src/ui/hooks/useToolSchedulerFacade.test.js +45 -0
  374. package/dist/src/ui/hooks/useToolSchedulerFacade.test.js.map +1 -0
  375. package/dist/src/ui/hooks/useTurnActivityMonitor.d.ts +16 -0
  376. package/dist/src/ui/hooks/useTurnActivityMonitor.js +49 -0
  377. package/dist/src/ui/hooks/useTurnActivityMonitor.js.map +1 -0
  378. package/dist/src/ui/hooks/useTurnActivityMonitor.test.d.ts +6 -0
  379. package/dist/src/ui/hooks/useTurnActivityMonitor.test.js +97 -0
  380. package/dist/src/ui/hooks/useTurnActivityMonitor.test.js.map +1 -0
  381. package/dist/src/ui/hooks/vim.js +5 -3
  382. package/dist/src/ui/hooks/vim.js.map +1 -1
  383. package/dist/src/ui/hooks/vim.test.js +4 -2
  384. package/dist/src/ui/hooks/vim.test.js.map +1 -1
  385. package/dist/src/ui/keyMatchers.js +5 -13
  386. package/dist/src/ui/keyMatchers.js.map +1 -1
  387. package/dist/src/ui/keyMatchers.test.js +23 -20
  388. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  389. package/dist/src/ui/layouts/DefaultAppLayout.js +10 -2
  390. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -1
  391. package/dist/src/ui/noninteractive/nonInteractiveUi.js +1 -0
  392. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
  393. package/dist/src/ui/types.d.ts +11 -3
  394. package/dist/src/ui/types.js.map +1 -1
  395. package/dist/src/ui/utils/clipboardUtils.d.ts +4 -4
  396. package/dist/src/ui/utils/clipboardUtils.js +198 -12
  397. package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
  398. package/dist/src/ui/utils/clipboardUtils.test.js +219 -47
  399. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -1
  400. package/dist/src/ui/utils/clipboardUtils.windows.test.js +3 -0
  401. package/dist/src/ui/utils/clipboardUtils.windows.test.js.map +1 -1
  402. package/dist/src/ui/utils/commandUtils.test.js +11 -3
  403. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  404. package/dist/src/ui/utils/directoryUtils.d.ts +10 -0
  405. package/dist/src/ui/utils/directoryUtils.js +12 -0
  406. package/dist/src/ui/utils/directoryUtils.js.map +1 -1
  407. package/dist/src/ui/utils/directoryUtils.test.js +8 -4
  408. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
  409. package/dist/src/ui/utils/formatters.d.ts +1 -1
  410. package/dist/src/ui/utils/formatters.js +2 -3
  411. package/dist/src/ui/utils/formatters.js.map +1 -1
  412. package/dist/src/ui/utils/highlight.d.ts +2 -2
  413. package/dist/src/ui/utils/highlight.js +9 -3
  414. package/dist/src/ui/utils/highlight.js.map +1 -1
  415. package/dist/src/ui/utils/highlight.test.js +3 -0
  416. package/dist/src/ui/utils/highlight.test.js.map +1 -1
  417. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +1 -2
  418. package/dist/src/ui/utils/terminalCapabilityManager.js +2 -8
  419. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  420. package/dist/src/ui/utils/terminalCapabilityManager.test.js +2 -3
  421. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  422. package/dist/src/ui/utils/terminalSetup.test.js +5 -3
  423. package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
  424. package/dist/src/ui/utils/textUtils.d.ts +5 -0
  425. package/dist/src/ui/utils/textUtils.js +14 -0
  426. package/dist/src/ui/utils/textUtils.js.map +1 -1
  427. package/dist/src/ui/utils/textUtils.test.js +19 -1
  428. package/dist/src/ui/utils/textUtils.test.js.map +1 -1
  429. package/dist/src/utils/cleanup.js +15 -0
  430. package/dist/src/utils/cleanup.js.map +1 -1
  431. package/dist/src/utils/events.d.ts +1 -6
  432. package/dist/src/utils/events.js +0 -2
  433. package/dist/src/utils/events.js.map +1 -1
  434. package/dist/src/utils/events.test.js +4 -4
  435. package/dist/src/utils/events.test.js.map +1 -1
  436. package/dist/src/utils/handleAutoUpdate.test.js +3 -0
  437. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  438. package/dist/src/utils/installationInfo.js +4 -2
  439. package/dist/src/utils/installationInfo.js.map +1 -1
  440. package/dist/src/utils/persistentState.d.ts +2 -0
  441. package/dist/src/utils/persistentState.js.map +1 -1
  442. package/dist/src/utils/windowTitle.d.ts +2 -1
  443. package/dist/src/utils/windowTitle.js +8 -1
  444. package/dist/src/utils/windowTitle.js.map +1 -1
  445. package/dist/src/utils/windowTitle.test.js +25 -1
  446. package/dist/src/utils/windowTitle.test.js.map +1 -1
  447. package/dist/src/zed-integration/zedIntegration.js +26 -5
  448. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  449. package/dist/tsconfig.tsbuildinfo +1 -1
  450. package/package.json +4 -5
  451. package/dist/google-gemini-cli-0.26.0-preview.3.tgz +0 -0
  452. package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
  453. package/dist/src/ui/components/AutoAcceptIndicator.test.js.map +0 -1
  454. package/dist/src/ui/components/PrepareLabel.d.ts +0 -15
  455. package/dist/src/ui/components/PrepareLabel.js.map +0 -1
  456. package/dist/src/ui/components/PrepareLabel.test.js.map +0 -1
  457. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
  458. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +0 -1
  459. /package/dist/src/{ui/components/AutoAcceptIndicator.test.d.ts → config/mcp/mcpServerEnablement.test.d.ts} +0 -0
  460. /package/dist/src/ui/{components/PrepareLabel.test.d.ts → commands/rewindCommand.test.d.ts} +0 -0
  461. /package/dist/src/ui/{hooks/useAutoAcceptIndicator.test.d.ts → components/AgentConfigDialog.test.d.ts} +0 -0
@@ -25,10 +25,25 @@ describe('<ToolGroupMessage />', () => {
25
25
  terminalWidth: 80,
26
26
  isFocused: true,
27
27
  };
28
+ const baseMockConfig = {
29
+ getModel: () => 'gemini-pro',
30
+ getTargetDir: () => '/test',
31
+ getDebugMode: () => false,
32
+ isTrustedFolder: () => true,
33
+ getIdeMode: () => false,
34
+ getEnableInteractiveShell: () => true,
35
+ getPreviewFeatures: () => false,
36
+ isEventDrivenSchedulerEnabled: () => true,
37
+ };
28
38
  describe('Golden Snapshots', () => {
29
39
  it('renders single successful tool call', () => {
30
40
  const toolCalls = [createToolCall()];
31
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
41
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
42
+ config: baseMockConfig,
43
+ uiState: {
44
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
45
+ },
46
+ });
32
47
  expect(lastFrame()).toMatchSnapshot();
33
48
  unmount();
34
49
  });
@@ -53,7 +68,16 @@ describe('<ToolGroupMessage />', () => {
53
68
  status: ToolCallStatus.Error,
54
69
  }),
55
70
  ];
56
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
71
+ const mockConfig = {
72
+ ...baseMockConfig,
73
+ isEventDrivenSchedulerEnabled: () => false,
74
+ };
75
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
76
+ config: mockConfig,
77
+ uiState: {
78
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
79
+ },
80
+ });
57
81
  expect(lastFrame()).toMatchSnapshot();
58
82
  unmount();
59
83
  });
@@ -72,7 +96,16 @@ describe('<ToolGroupMessage />', () => {
72
96
  },
73
97
  }),
74
98
  ];
75
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
99
+ const mockConfig = {
100
+ ...baseMockConfig,
101
+ isEventDrivenSchedulerEnabled: () => false,
102
+ };
103
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
104
+ config: mockConfig,
105
+ uiState: {
106
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
107
+ },
108
+ });
76
109
  expect(lastFrame()).toMatchSnapshot();
77
110
  unmount();
78
111
  });
@@ -85,7 +118,12 @@ describe('<ToolGroupMessage />', () => {
85
118
  status: ToolCallStatus.Success,
86
119
  }),
87
120
  ];
88
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
121
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
122
+ config: baseMockConfig,
123
+ uiState: {
124
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
125
+ },
126
+ });
89
127
  expect(lastFrame()).toMatchSnapshot();
90
128
  unmount();
91
129
  });
@@ -110,7 +148,16 @@ describe('<ToolGroupMessage />', () => {
110
148
  status: ToolCallStatus.Pending,
111
149
  }),
112
150
  ];
113
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
151
+ const mockConfig = {
152
+ ...baseMockConfig,
153
+ isEventDrivenSchedulerEnabled: () => false,
154
+ };
155
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
156
+ config: mockConfig,
157
+ uiState: {
158
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
159
+ },
160
+ });
114
161
  expect(lastFrame()).toMatchSnapshot();
115
162
  unmount();
116
163
  });
@@ -129,13 +176,23 @@ describe('<ToolGroupMessage />', () => {
129
176
  resultDisplay: 'More output here',
130
177
  }),
131
178
  ];
132
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, availableTerminalHeight: 10 }));
179
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, availableTerminalHeight: 10 }), {
180
+ config: baseMockConfig,
181
+ uiState: {
182
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
183
+ },
184
+ });
133
185
  expect(lastFrame()).toMatchSnapshot();
134
186
  unmount();
135
187
  });
136
188
  it('renders when not focused', () => {
137
189
  const toolCalls = [createToolCall()];
138
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, isFocused: false }));
190
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, isFocused: false }), {
191
+ config: baseMockConfig,
192
+ uiState: {
193
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
194
+ },
195
+ });
139
196
  expect(lastFrame()).toMatchSnapshot();
140
197
  unmount();
141
198
  });
@@ -146,12 +203,22 @@ describe('<ToolGroupMessage />', () => {
146
203
  description: 'This is a very long description that might cause wrapping issues',
147
204
  }),
148
205
  ];
149
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, terminalWidth: 40 }));
206
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, terminalWidth: 40 }), {
207
+ config: baseMockConfig,
208
+ uiState: {
209
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
210
+ },
211
+ });
150
212
  expect(lastFrame()).toMatchSnapshot();
151
213
  unmount();
152
214
  });
153
215
  it('renders empty tool calls array', () => {
154
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: [] }));
216
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: [] }), {
217
+ config: baseMockConfig,
218
+ uiState: {
219
+ pendingHistoryItems: [{ type: 'tool_group', tools: [] }],
220
+ },
221
+ });
155
222
  expect(lastFrame()).toMatchSnapshot();
156
223
  unmount();
157
224
  });
@@ -170,7 +237,12 @@ describe('<ToolGroupMessage />', () => {
170
237
  resultDisplay: 'line1\nline2',
171
238
  }),
172
239
  ];
173
- const { lastFrame, unmount } = renderWithProviders(_jsx(Scrollable, { height: 10, hasFocus: true, scrollToBottom: true, children: _jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }) }));
240
+ const { lastFrame, unmount } = renderWithProviders(_jsx(Scrollable, { height: 10, hasFocus: true, scrollToBottom: true, children: _jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }) }), {
241
+ config: baseMockConfig,
242
+ uiState: {
243
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
244
+ },
245
+ });
174
246
  expect(lastFrame()).toMatchSnapshot();
175
247
  unmount();
176
248
  });
@@ -184,7 +256,12 @@ describe('<ToolGroupMessage />', () => {
184
256
  outputFile: '/path/to/output.txt',
185
257
  }),
186
258
  ];
187
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
259
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
260
+ config: baseMockConfig,
261
+ uiState: {
262
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
263
+ },
264
+ });
188
265
  expect(lastFrame()).toMatchSnapshot();
189
266
  unmount();
190
267
  });
@@ -205,7 +282,15 @@ describe('<ToolGroupMessage />', () => {
205
282
  resultDisplay: 'line1',
206
283
  }),
207
284
  ];
208
- const { lastFrame, unmount } = renderWithProviders(_jsxs(Scrollable, { height: 6, hasFocus: true, scrollToBottom: true, children: [_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls1 }), _jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls2 })] }));
285
+ const { lastFrame, unmount } = renderWithProviders(_jsxs(Scrollable, { height: 6, hasFocus: true, scrollToBottom: true, children: [_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls1 }), _jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls2 })] }), {
286
+ config: baseMockConfig,
287
+ uiState: {
288
+ pendingHistoryItems: [
289
+ { type: 'tool_group', tools: toolCalls1 },
290
+ { type: 'tool_group', tools: toolCalls2 },
291
+ ],
292
+ },
293
+ });
209
294
  expect(lastFrame()).toMatchSnapshot();
210
295
  unmount();
211
296
  });
@@ -213,7 +298,16 @@ describe('<ToolGroupMessage />', () => {
213
298
  describe('Border Color Logic', () => {
214
299
  it('uses yellow border when tools are pending', () => {
215
300
  const toolCalls = [createToolCall({ status: ToolCallStatus.Pending })];
216
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
301
+ const mockConfig = {
302
+ ...baseMockConfig,
303
+ isEventDrivenSchedulerEnabled: () => false,
304
+ };
305
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
306
+ config: mockConfig,
307
+ uiState: {
308
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
309
+ },
310
+ });
217
311
  // The snapshot will capture the visual appearance including border color
218
312
  expect(lastFrame()).toMatchSnapshot();
219
313
  unmount();
@@ -225,7 +319,12 @@ describe('<ToolGroupMessage />', () => {
225
319
  status: ToolCallStatus.Success,
226
320
  }),
227
321
  ];
228
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
322
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
323
+ config: baseMockConfig,
324
+ uiState: {
325
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
326
+ },
327
+ });
229
328
  expect(lastFrame()).toMatchSnapshot();
230
329
  unmount();
231
330
  });
@@ -238,7 +337,12 @@ describe('<ToolGroupMessage />', () => {
238
337
  status: ToolCallStatus.Success,
239
338
  }),
240
339
  ];
241
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
340
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
341
+ config: baseMockConfig,
342
+ uiState: {
343
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
344
+ },
345
+ });
242
346
  expect(lastFrame()).toMatchSnapshot();
243
347
  unmount();
244
348
  });
@@ -259,7 +363,12 @@ describe('<ToolGroupMessage />', () => {
259
363
  resultDisplay: '', // No result
260
364
  }),
261
365
  ];
262
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, availableTerminalHeight: 20 }));
366
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls, availableTerminalHeight: 20 }), {
367
+ config: baseMockConfig,
368
+ uiState: {
369
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
370
+ },
371
+ });
263
372
  expect(lastFrame()).toMatchSnapshot();
264
373
  unmount();
265
374
  });
@@ -290,7 +399,16 @@ describe('<ToolGroupMessage />', () => {
290
399
  },
291
400
  }),
292
401
  ];
293
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }));
402
+ const mockConfig = {
403
+ ...baseMockConfig,
404
+ isEventDrivenSchedulerEnabled: () => false,
405
+ };
406
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
407
+ config: mockConfig,
408
+ uiState: {
409
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
410
+ },
411
+ });
294
412
  // Should only show confirmation for the first tool
295
413
  expect(lastFrame()).toMatchSnapshot();
296
414
  unmount();
@@ -312,7 +430,17 @@ describe('<ToolGroupMessage />', () => {
312
430
  const settings = createMockSettings({
313
431
  security: { enablePermanentToolApproval: true },
314
432
  });
315
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), { settings });
433
+ const mockConfig = {
434
+ ...baseMockConfig,
435
+ isEventDrivenSchedulerEnabled: () => false,
436
+ };
437
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), {
438
+ settings,
439
+ config: mockConfig,
440
+ uiState: {
441
+ pendingHistoryItems: [{ type: 'tool_group', tools: toolCalls }],
442
+ },
443
+ });
316
444
  expect(lastFrame()).toContain('Allow for all future sessions');
317
445
  expect(lastFrame()).toMatchSnapshot();
318
446
  unmount();
@@ -320,25 +448,82 @@ describe('<ToolGroupMessage />', () => {
320
448
  it('renders confirmation with permanent approval disabled', () => {
321
449
  const toolCalls = [
322
450
  createToolCall({
323
- callId: 'tool-1',
451
+ callId: 'confirm-tool',
324
452
  name: 'confirm-tool',
325
453
  status: ToolCallStatus.Confirming,
326
454
  confirmationDetails: {
327
455
  type: 'info',
328
- title: 'Confirm Tool',
456
+ title: 'Confirm tool',
329
457
  prompt: 'Do you want to proceed?',
330
458
  onConfirm: vi.fn(),
331
459
  },
332
460
  }),
333
461
  ];
334
- const settings = createMockSettings({
335
- security: { enablePermanentToolApproval: false },
336
- });
337
- const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), { settings });
462
+ const mockConfig = {
463
+ ...baseMockConfig,
464
+ isEventDrivenSchedulerEnabled: () => false,
465
+ };
466
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), { config: mockConfig });
338
467
  expect(lastFrame()).not.toContain('Allow for all future sessions');
339
468
  expect(lastFrame()).toMatchSnapshot();
340
469
  unmount();
341
470
  });
342
471
  });
472
+ describe('Event-Driven Scheduler', () => {
473
+ it('hides confirming tools when event-driven scheduler is enabled', () => {
474
+ const toolCalls = [
475
+ createToolCall({
476
+ callId: 'confirm-tool',
477
+ status: ToolCallStatus.Confirming,
478
+ confirmationDetails: {
479
+ type: 'info',
480
+ title: 'Confirm tool',
481
+ prompt: 'Do you want to proceed?',
482
+ onConfirm: vi.fn(),
483
+ },
484
+ }),
485
+ ];
486
+ const mockConfig = {
487
+ ...baseMockConfig,
488
+ isEventDrivenSchedulerEnabled: () => true,
489
+ };
490
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), { config: mockConfig });
491
+ // Should render nothing because all tools in the group are confirming
492
+ expect(lastFrame()).toBe('');
493
+ expect(lastFrame()).toMatchSnapshot();
494
+ unmount();
495
+ });
496
+ it('shows only successful tools when mixed with confirming tools', () => {
497
+ const toolCalls = [
498
+ createToolCall({
499
+ callId: 'success-tool',
500
+ name: 'success-tool',
501
+ status: ToolCallStatus.Success,
502
+ }),
503
+ createToolCall({
504
+ callId: 'confirm-tool',
505
+ name: 'confirm-tool',
506
+ status: ToolCallStatus.Confirming,
507
+ confirmationDetails: {
508
+ type: 'info',
509
+ title: 'Confirm tool',
510
+ prompt: 'Do you want to proceed?',
511
+ onConfirm: vi.fn(),
512
+ },
513
+ }),
514
+ ];
515
+ const mockConfig = {
516
+ ...baseMockConfig,
517
+ isEventDrivenSchedulerEnabled: () => true,
518
+ };
519
+ const { lastFrame, unmount } = renderWithProviders(_jsx(ToolGroupMessage, { ...baseProps, toolCalls: toolCalls }), { config: mockConfig });
520
+ const output = lastFrame();
521
+ expect(output).toContain('success-tool');
522
+ expect(output).not.toContain('confirm-tool');
523
+ expect(output).not.toContain('Do you want to proceed?');
524
+ expect(output).toMatchSnapshot();
525
+ unmount();
526
+ });
527
+ });
343
528
  });
344
529
  //# sourceMappingURL=ToolGroupMessage.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolGroupMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolGroupMessage.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolGroupMessage.test.tsx"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  import type React from 'react';
7
7
  import type { IndividualToolCallDisplay } from '../../types.js';
8
8
  import { type TextEmphasis } from './ToolShared.js';
9
- import type { Config } from '@google/gemini-cli-core';
9
+ import { type Config } from '@google/gemini-cli-core';
10
10
  export type { TextEmphasis };
11
11
  export interface ToolMessageProps extends IndividualToolCallDisplay {
12
12
  availableTerminalHeight?: number;
@@ -1,40 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useState, useEffect } from 'react';
3
- import { Box, Text } from 'ink';
2
+ import { Box } from 'ink';
4
3
  import { StickyHeader } from '../StickyHeader.js';
5
4
  import { ToolResultDisplay } from './ToolResultDisplay.js';
6
- import { ToolStatusIndicator, ToolInfo, TrailingIndicator, STATUS_INDICATOR_WIDTH, } from './ToolShared.js';
7
- import { SHELL_COMMAND_NAME, SHELL_FOCUS_HINT_DELAY_MS, } from '../../constants.js';
8
- import { theme } from '../../semantic-colors.js';
9
- import { useInactivityTimer } from '../../hooks/useInactivityTimer.js';
10
- import { ToolCallStatus } from '../../types.js';
5
+ import { ToolStatusIndicator, ToolInfo, TrailingIndicator, STATUS_INDICATOR_WIDTH, isThisShellFocusable as checkIsShellFocusable, isThisShellFocused as checkIsShellFocused, useFocusHint, FocusHint, } from './ToolShared.js';
6
+ import {} from '@google/gemini-cli-core';
11
7
  import { ShellInputPrompt } from '../ShellInputPrompt.js';
12
8
  export const ToolMessage = ({ name, description, resultDisplay, status, availableTerminalHeight, terminalWidth, emphasis = 'medium', renderOutputAsMarkdown = true, isFirst, borderColor, borderDimColor, activeShellPtyId, embeddedShellFocused, ptyId, config, }) => {
13
- const isThisShellFocused = (name === SHELL_COMMAND_NAME || name === 'Shell') &&
14
- status === ToolCallStatus.Executing &&
15
- ptyId === activeShellPtyId &&
16
- embeddedShellFocused;
17
- const [lastUpdateTime, setLastUpdateTime] = useState(null);
18
- const [userHasFocused, setUserHasFocused] = useState(false);
19
- const showFocusHint = useInactivityTimer(!!lastUpdateTime, lastUpdateTime ? lastUpdateTime.getTime() : 0, SHELL_FOCUS_HINT_DELAY_MS);
20
- useEffect(() => {
21
- if (resultDisplay) {
22
- setLastUpdateTime(new Date());
23
- }
24
- }, [resultDisplay]);
25
- useEffect(() => {
26
- if (isThisShellFocused) {
27
- setUserHasFocused(true);
28
- }
29
- }, [isThisShellFocused]);
30
- const isThisShellFocusable = (name === SHELL_COMMAND_NAME || name === 'Shell') &&
31
- status === ToolCallStatus.Executing &&
32
- config?.getEnableInteractiveShell();
33
- const shouldShowFocusHint = isThisShellFocusable && (showFocusHint || userHasFocused);
9
+ const isThisShellFocused = checkIsShellFocused(name, status, ptyId, activeShellPtyId, embeddedShellFocused);
10
+ const isThisShellFocusable = checkIsShellFocusable(name, status, config);
11
+ const { shouldShowFocusHint } = useFocusHint(isThisShellFocusable, isThisShellFocused, resultDisplay);
34
12
  return (
35
13
  // It is crucial we don't replace this <> with a Box because otherwise the
36
14
  // sticky header inside it would be sticky to that box rather than to the
37
15
  // parent component of this ToolMessage.
38
- _jsxs(_Fragment, { children: [_jsxs(StickyHeader, { width: terminalWidth, isFirst: isFirst, borderColor: borderColor, borderDimColor: borderDimColor, children: [_jsx(ToolStatusIndicator, { status: status, name: name }), _jsx(ToolInfo, { name: name, status: status, description: description, emphasis: emphasis }), shouldShowFocusHint && (_jsx(Box, { marginLeft: 1, flexShrink: 0, children: _jsx(Text, { color: theme.text.accent, children: isThisShellFocused ? '(Focused)' : '(tab to focus)' }) })), emphasis === 'high' && _jsx(TrailingIndicator, {})] }), _jsxs(Box, { width: terminalWidth, borderStyle: "round", borderColor: borderColor, borderDimColor: borderDimColor, borderTop: false, borderBottom: false, borderLeft: true, borderRight: true, paddingX: 1, flexDirection: "column", children: [_jsx(ToolResultDisplay, { resultDisplay: resultDisplay, availableTerminalHeight: availableTerminalHeight, terminalWidth: terminalWidth, renderOutputAsMarkdown: renderOutputAsMarkdown }), isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: embeddedShellFocused }) }))] })] }));
16
+ _jsxs(_Fragment, { children: [_jsxs(StickyHeader, { width: terminalWidth, isFirst: isFirst, borderColor: borderColor, borderDimColor: borderDimColor, children: [_jsx(ToolStatusIndicator, { status: status, name: name }), _jsx(ToolInfo, { name: name, status: status, description: description, emphasis: emphasis }), _jsx(FocusHint, { shouldShowFocusHint: shouldShowFocusHint, isThisShellFocused: isThisShellFocused }), emphasis === 'high' && _jsx(TrailingIndicator, {})] }), _jsxs(Box, { width: terminalWidth, borderStyle: "round", borderColor: borderColor, borderDimColor: borderDimColor, borderTop: false, borderBottom: false, borderLeft: true, borderRight: true, paddingX: 1, flexDirection: "column", children: [_jsx(ToolResultDisplay, { resultDisplay: resultDisplay, availableTerminalHeight: availableTerminalHeight, terminalWidth: terminalWidth, renderOutputAsMarkdown: renderOutputAsMarkdown }), isThisShellFocused && config && (_jsx(Box, { paddingLeft: STATUS_INDICATOR_WIDTH, marginTop: 1, children: _jsx(ShellInputPrompt, { activeShellPtyId: activeShellPtyId ?? null, focus: embeddedShellFocused }) }))] })] }));
39
17
  };
40
18
  //# sourceMappingURL=ToolMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolMessage.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessage.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,QAAQ,EACR,iBAAiB,EAEjB,sBAAsB,EACtB,oBAAoB,IAAI,qBAAqB,EAC7C,kBAAkB,IAAI,mBAAmB,EACzC,YAAY,EACZ,SAAS,GACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAkB1D,MAAM,CAAC,MAAM,WAAW,GAA+B,CAAC,EACtD,IAAI,EACJ,WAAW,EACX,aAAa,EACb,MAAM,EACN,uBAAuB,EACvB,aAAa,EACb,QAAQ,GAAG,QAAQ,EACnB,sBAAsB,GAAG,IAAI,EAC7B,OAAO,EACP,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,EACL,MAAM,GACP,EAAE,EAAE;IACH,MAAM,kBAAkB,GAAG,mBAAmB,CAC5C,IAAI,EACJ,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,oBAAoB,CACrB,CAAC;IAEF,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzE,MAAM,EAAE,mBAAmB,EAAE,GAAG,YAAY,CAC1C,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,CACd,CAAC;IAEF,OAAO;IACL,0EAA0E;IAC1E,yEAAyE;IACzE,wCAAwC;IACxC,8BACE,MAAC,YAAY,IACX,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,aAE9B,KAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAI,EACnD,KAAC,QAAQ,IACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,GAClB,EACF,KAAC,SAAS,IACR,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,EAAE,kBAAkB,GACtC,EACD,QAAQ,KAAK,MAAM,IAAI,KAAC,iBAAiB,KAAG,IAChC,EACf,MAAC,GAAG,IACF,KAAK,EAAE,aAAa,EACpB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,IAAI,EAChB,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,aAEtB,KAAC,iBAAiB,IAChB,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EAAE,uBAAuB,EAChD,aAAa,EAAE,aAAa,EAC5B,sBAAsB,EAAE,sBAAsB,GAC9C,EACD,kBAAkB,IAAI,MAAM,IAAI,CAC/B,KAAC,GAAG,IAAC,WAAW,EAAE,sBAAsB,EAAE,SAAS,EAAE,CAAC,YACpD,KAAC,gBAAgB,IACf,gBAAgB,EAAE,gBAAgB,IAAI,IAAI,EAC1C,KAAK,EAAE,oBAAoB,GAC3B,GACE,CACP,IACG,IACL,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,89 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { act } from 'react';
8
+ import { ToolMessage } from './ToolMessage.js';
9
+ import { ShellToolMessage } from './ShellToolMessage.js';
10
+ import { ToolCallStatus, StreamingState } from '../../types.js';
11
+ import { renderWithProviders } from '../../../test-utils/render.js';
12
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
13
+ import { SHELL_COMMAND_NAME, SHELL_FOCUS_HINT_DELAY_MS, } from '../../constants.js';
14
+ vi.mock('../GeminiRespondingSpinner.js', () => ({
15
+ GeminiRespondingSpinner: () => null,
16
+ }));
17
+ vi.mock('./ToolResultDisplay.js', () => ({
18
+ ToolResultDisplay: () => null,
19
+ }));
20
+ describe('Focus Hint', () => {
21
+ const mockConfig = {
22
+ getEnableInteractiveShell: () => true,
23
+ };
24
+ const baseProps = {
25
+ callId: 'tool-123',
26
+ name: SHELL_COMMAND_NAME,
27
+ description: 'A tool for testing',
28
+ resultDisplay: undefined,
29
+ status: ToolCallStatus.Executing,
30
+ terminalWidth: 80,
31
+ confirmationDetails: undefined,
32
+ emphasis: 'medium',
33
+ isFirst: true,
34
+ borderColor: 'green',
35
+ borderDimColor: false,
36
+ config: mockConfig,
37
+ ptyId: 1,
38
+ activeShellPtyId: 1,
39
+ };
40
+ beforeEach(() => {
41
+ vi.useFakeTimers();
42
+ });
43
+ afterEach(() => {
44
+ vi.restoreAllMocks();
45
+ vi.useRealTimers();
46
+ });
47
+ const testCases = [
48
+ { Component: ToolMessage, componentName: 'ToolMessage' },
49
+ { Component: ShellToolMessage, componentName: 'ShellToolMessage' },
50
+ ];
51
+ describe.each(testCases)('$componentName', ({ Component }) => {
52
+ it('shows focus hint after delay even with NO output', async () => {
53
+ const { lastFrame } = renderWithProviders(_jsx(Component, { ...baseProps, resultDisplay: undefined }), { uiState: { streamingState: StreamingState.Idle } });
54
+ // Initially, no focus hint
55
+ expect(lastFrame()).toMatchSnapshot('initial-no-output');
56
+ // Advance timers by the delay
57
+ act(() => {
58
+ vi.advanceTimersByTime(SHELL_FOCUS_HINT_DELAY_MS + 100);
59
+ });
60
+ // Now it SHOULD contain the focus hint
61
+ expect(lastFrame()).toMatchSnapshot('after-delay-no-output');
62
+ expect(lastFrame()).toContain('(tab to focus)');
63
+ });
64
+ it('shows focus hint after delay with output', async () => {
65
+ const { lastFrame } = renderWithProviders(_jsx(Component, { ...baseProps, resultDisplay: "Some output" }), { uiState: { streamingState: StreamingState.Idle } });
66
+ // Initially, no focus hint
67
+ expect(lastFrame()).toMatchSnapshot('initial-with-output');
68
+ // Advance timers
69
+ act(() => {
70
+ vi.advanceTimersByTime(SHELL_FOCUS_HINT_DELAY_MS + 100);
71
+ });
72
+ expect(lastFrame()).toMatchSnapshot('after-delay-with-output');
73
+ expect(lastFrame()).toContain('(tab to focus)');
74
+ });
75
+ });
76
+ it('handles long descriptions by shrinking them to show the focus hint', async () => {
77
+ const longDescription = 'A'.repeat(100);
78
+ const { lastFrame } = renderWithProviders(_jsx(ToolMessage, { ...baseProps, description: longDescription, resultDisplay: "output" }), { uiState: { streamingState: StreamingState.Idle } });
79
+ act(() => {
80
+ vi.advanceTimersByTime(SHELL_FOCUS_HINT_DELAY_MS + 100);
81
+ });
82
+ // The focus hint should be visible
83
+ expect(lastFrame()).toMatchSnapshot('long-description');
84
+ expect(lastFrame()).toContain('(tab to focus)');
85
+ // The name should still be visible
86
+ expect(lastFrame()).toContain(SHELL_COMMAND_NAME);
87
+ });
88
+ });
89
+ //# sourceMappingURL=ToolMessageFocusHint.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolMessageFocusHint.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/messages/ToolMessageFocusHint.test.tsx"],"names":[],"mappings":"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"}