@machina.ai/cell-cli 1.59.0-rc2 → 1.64.0-rc1

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 (327) hide show
  1. package/dist/index.js +11 -14
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +3 -3
  4. package/dist/src/acp/acpResume.test.js +50 -0
  5. package/dist/src/acp/acpResume.test.js.map +1 -1
  6. package/dist/src/acp/acpRpcDispatcher.d.ts +1 -1
  7. package/dist/src/acp/acpRpcDispatcher.js +2 -2
  8. package/dist/src/acp/acpRpcDispatcher.js.map +1 -1
  9. package/dist/src/acp/acpRpcDispatcher.test.js +9 -0
  10. package/dist/src/acp/acpRpcDispatcher.test.js.map +1 -1
  11. package/dist/src/acp/acpSession.d.ts +1 -1
  12. package/dist/src/acp/acpSession.js +90 -80
  13. package/dist/src/acp/acpSession.js.map +1 -1
  14. package/dist/src/acp/acpSession.test.js +279 -2
  15. package/dist/src/acp/acpSession.test.js.map +1 -1
  16. package/dist/src/acp/acpSessionManager.d.ts +2 -2
  17. package/dist/src/acp/acpSessionManager.js +165 -73
  18. package/dist/src/acp/acpSessionManager.js.map +1 -1
  19. package/dist/src/acp/acpSessionManager.test.js +204 -1
  20. package/dist/src/acp/acpSessionManager.test.js.map +1 -1
  21. package/dist/src/acp/acpUtils.js +5 -3
  22. package/dist/src/acp/acpUtils.js.map +1 -1
  23. package/dist/src/commands/extensions/validate.js +7 -3
  24. package/dist/src/commands/extensions/validate.js.map +1 -1
  25. package/dist/src/commands/extensions/validate.test.js +51 -0
  26. package/dist/src/commands/extensions/validate.test.js.map +1 -1
  27. package/dist/src/config/config.js +3 -0
  28. package/dist/src/config/config.js.map +1 -1
  29. package/dist/src/config/config.test.js +6 -1
  30. package/dist/src/config/config.test.js.map +1 -1
  31. package/dist/src/config/extension-manager.d.ts +25 -0
  32. package/dist/src/config/extension-manager.js +96 -15
  33. package/dist/src/config/extension-manager.js.map +1 -1
  34. package/dist/src/config/extension-manager.test.js +263 -1
  35. package/dist/src/config/extension-manager.test.js.map +1 -1
  36. package/dist/src/config/extension.test.js +10 -7
  37. package/dist/src/config/extension.test.js.map +1 -1
  38. package/dist/src/config/extensionRegistryClient.js +1 -1
  39. package/dist/src/config/extensionRegistryClient.js.map +1 -1
  40. package/dist/src/config/extensions/consent.js +98 -1
  41. package/dist/src/config/extensions/consent.js.map +1 -1
  42. package/dist/src/config/extensions/consent.test.js +89 -0
  43. package/dist/src/config/extensions/consent.test.js.map +1 -1
  44. package/dist/src/config/extensions/update.js +7 -2
  45. package/dist/src/config/extensions/update.js.map +1 -1
  46. package/dist/src/config/extensions/update.test.js +21 -0
  47. package/dist/src/config/extensions/update.test.js.map +1 -1
  48. package/dist/src/config/mcp/mcpServerEnablement.d.ts +5 -0
  49. package/dist/src/config/mcp/mcpServerEnablement.js +26 -3
  50. package/dist/src/config/mcp/mcpServerEnablement.js.map +1 -1
  51. package/dist/src/config/mcp/mcpServerEnablement.test.js +27 -0
  52. package/dist/src/config/mcp/mcpServerEnablement.test.js.map +1 -1
  53. package/dist/src/config/settings.js +20 -4
  54. package/dist/src/config/settings.js.map +1 -1
  55. package/dist/src/config/settings.test.js +121 -0
  56. package/dist/src/config/settings.test.js.map +1 -1
  57. package/dist/src/config/settingsSchema.d.ts +27 -0
  58. package/dist/src/config/settingsSchema.js +55 -1
  59. package/dist/src/config/settingsSchema.js.map +1 -1
  60. package/dist/src/core/auth.test.js +1 -1
  61. package/dist/src/core/auth.test.js.map +1 -1
  62. package/dist/src/gemini.js +110 -18
  63. package/dist/src/gemini.js.map +1 -1
  64. package/dist/src/gemini_uncaught.test.d.ts +6 -0
  65. package/dist/src/gemini_uncaught.test.js +91 -0
  66. package/dist/src/gemini_uncaught.test.js.map +1 -0
  67. package/dist/src/generated/git-commit.d.ts +2 -2
  68. package/dist/src/generated/git-commit.js +2 -2
  69. package/dist/src/patches/http-proxy-agent.d.ts +4 -1
  70. package/dist/src/patches/http-proxy-agent.js +38 -2
  71. package/dist/src/patches/http-proxy-agent.js.map +1 -1
  72. package/dist/src/patches/https-proxy-agent.d.ts +4 -1
  73. package/dist/src/patches/https-proxy-agent.js +38 -2
  74. package/dist/src/patches/https-proxy-agent.js.map +1 -1
  75. package/dist/src/services/FeedbackService.integration.test.d.ts +6 -0
  76. package/dist/src/services/FeedbackService.integration.test.js +212 -0
  77. package/dist/src/services/FeedbackService.integration.test.js.map +1 -0
  78. package/dist/src/services/FeedbackService.js +62 -6
  79. package/dist/src/services/FeedbackService.js.map +1 -1
  80. package/dist/src/services/FeedbackService.test.d.ts +6 -0
  81. package/dist/src/services/FeedbackService.test.js +282 -0
  82. package/dist/src/services/FeedbackService.test.js.map +1 -0
  83. package/dist/src/services/FileCommandLoader.js +3 -5
  84. package/dist/src/services/FileCommandLoader.js.map +1 -1
  85. package/dist/src/services/FileCommandLoader.test.js +68 -6
  86. package/dist/src/services/FileCommandLoader.test.js.map +1 -1
  87. package/dist/src/test-utils/createExtension.d.ts +1 -1
  88. package/dist/src/test-utils/createExtension.js +15 -1
  89. package/dist/src/test-utils/createExtension.js.map +1 -1
  90. package/dist/src/ui/AppContainer.js +42 -39
  91. package/dist/src/ui/AppContainer.js.map +1 -1
  92. package/dist/src/ui/AppContainer.test.js +30 -0
  93. package/dist/src/ui/AppContainer.test.js.map +1 -1
  94. package/dist/src/ui/auth/AuthDialog.js +11 -3
  95. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  96. package/dist/src/ui/auth/useAuth.test.js +1 -1
  97. package/dist/src/ui/auth/useAuth.test.js.map +1 -1
  98. package/dist/src/ui/commands/bugCommand.js +3 -3
  99. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  100. package/dist/src/ui/commands/bugCommand.test.js +44 -0
  101. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  102. package/dist/src/ui/commands/bugMemoryCommand.js +2 -2
  103. package/dist/src/ui/commands/bugMemoryCommand.js.map +1 -1
  104. package/dist/src/ui/commands/bugMemoryCommand.test.js +12 -0
  105. package/dist/src/ui/commands/bugMemoryCommand.test.js.map +1 -1
  106. package/dist/src/ui/commands/statsCommand.js +17 -2
  107. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  108. package/dist/src/ui/commands/statsCommand.test.js +2 -0
  109. package/dist/src/ui/commands/statsCommand.test.js.map +1 -1
  110. package/dist/src/ui/components/AboutBox.js +1 -1
  111. package/dist/src/ui/components/AboutBox.js.map +1 -1
  112. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  113. package/dist/src/ui/components/AsciiArt.js +6 -6
  114. package/dist/src/ui/components/AskUserDialog.js +7 -2
  115. package/dist/src/ui/components/AskUserDialog.js.map +1 -1
  116. package/dist/src/ui/components/AskUserDialog.test.js +33 -0
  117. package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
  118. package/dist/src/ui/components/Composer.js +4 -4
  119. package/dist/src/ui/components/Composer.js.map +1 -1
  120. package/dist/src/ui/components/Composer.test.js +50 -2
  121. package/dist/src/ui/components/Composer.test.js.map +1 -1
  122. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  123. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  124. package/dist/src/ui/components/InputPrompt.js +16 -10
  125. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  126. package/dist/src/ui/components/InputPrompt.test.js +103 -7
  127. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  128. package/dist/src/ui/components/LoadingIndicator.d.ts +1 -0
  129. package/dist/src/ui/components/LoadingIndicator.js +13 -11
  130. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  131. package/dist/src/ui/components/LoadingIndicator.test.js +29 -0
  132. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
  133. package/dist/src/ui/components/MainContent.js +79 -14
  134. package/dist/src/ui/components/MainContent.js.map +1 -1
  135. package/dist/src/ui/components/MainContent.test.js +218 -5
  136. package/dist/src/ui/components/MainContent.test.js.map +1 -1
  137. package/dist/src/ui/components/ModelDialog.js +11 -13
  138. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  139. package/dist/src/ui/components/ModelDialog.test.js +28 -24
  140. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  141. package/dist/src/ui/components/ModelStatsDisplay.test.js +2 -2
  142. package/dist/src/ui/components/ProgressBar.js +4 -3
  143. package/dist/src/ui/components/ProgressBar.js.map +1 -1
  144. package/dist/src/ui/components/ProgressBar.test.js +12 -0
  145. package/dist/src/ui/components/ProgressBar.test.js.map +1 -1
  146. package/dist/src/ui/components/RewindViewer.js +2 -1
  147. package/dist/src/ui/components/RewindViewer.js.map +1 -1
  148. package/dist/src/ui/components/RewindViewer.test.js +38 -0
  149. package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
  150. package/dist/src/ui/components/SessionSummaryDisplay.js +28 -2
  151. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  152. package/dist/src/ui/components/SessionSummaryDisplay.test.js +41 -2
  153. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  154. package/dist/src/ui/components/StatsDisplay.d.ts +2 -1
  155. package/dist/src/ui/components/StatsDisplay.js +66 -4
  156. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  157. package/dist/src/ui/components/StatsDisplay.test.js +120 -3
  158. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  159. package/dist/src/ui/components/StatusRow.d.ts +2 -0
  160. package/dist/src/ui/components/StatusRow.js +11 -6
  161. package/dist/src/ui/components/StatusRow.js.map +1 -1
  162. package/dist/src/ui/components/StatusRow.test.js +158 -0
  163. package/dist/src/ui/components/StatusRow.test.js.map +1 -1
  164. package/dist/src/ui/components/ToolConfirmationQueue.js +4 -2
  165. package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
  166. package/dist/src/ui/components/ToolConfirmationQueue.test.js +30 -0
  167. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
  168. package/dist/src/ui/components/messages/DenseToolMessage.js +5 -5
  169. package/dist/src/ui/components/messages/DenseToolMessage.js.map +1 -1
  170. package/dist/src/ui/components/messages/DenseToolMessage.test.js +13 -0
  171. package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +1 -1
  172. package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -0
  173. package/dist/src/ui/components/messages/DiffRenderer.js +16 -8
  174. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  175. package/dist/src/ui/components/messages/DiffRenderer.test.js +42 -0
  176. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
  177. package/dist/src/ui/components/messages/ShellToolMessage.js +4 -3
  178. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  179. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +74 -16
  180. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  181. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +80 -7
  182. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  183. package/dist/src/ui/components/messages/ToolGroupMessage.js +6 -5
  184. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  185. package/dist/src/ui/components/messages/ToolMessage.js +2 -1
  186. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  187. package/dist/src/ui/components/messages/ToolResultDisplay.js +11 -8
  188. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
  189. package/dist/src/ui/components/messages/ToolShared.js +5 -4
  190. package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  191. package/dist/src/ui/components/shared/HalfLinePaddedBox.js +4 -2
  192. package/dist/src/ui/components/shared/HalfLinePaddedBox.js.map +1 -1
  193. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +8 -0
  194. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +1 -1
  195. package/dist/src/ui/components/shared/SearchableList.js +1 -1
  196. package/dist/src/ui/components/shared/SearchableList.js.map +1 -1
  197. package/dist/src/ui/components/shared/SearchableList.test.js +13 -0
  198. package/dist/src/ui/components/shared/SearchableList.test.js.map +1 -1
  199. package/dist/src/ui/components/shared/TextInput.js +2 -2
  200. package/dist/src/ui/components/shared/TextInput.js.map +1 -1
  201. package/dist/src/ui/components/views/ExtensionRegistryView.test.js +2 -0
  202. package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +1 -1
  203. package/dist/src/ui/contexts/KeypressContext.js +20 -2
  204. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  205. package/dist/src/ui/contexts/KeypressContext.test.js +24 -0
  206. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  207. package/dist/src/ui/contexts/SessionContext.js +12 -0
  208. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  209. package/dist/src/ui/contexts/SessionContext.test.js +5 -0
  210. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -1
  211. package/dist/src/ui/contexts/UIStateContext.d.ts +1 -0
  212. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  213. package/dist/src/ui/emergency-stop.test.d.ts +6 -0
  214. package/dist/src/ui/emergency-stop.test.js +116 -0
  215. package/dist/src/ui/emergency-stop.test.js.map +1 -0
  216. package/dist/src/ui/hooks/atCommandProcessor.d.ts +8 -5
  217. package/dist/src/ui/hooks/atCommandProcessor.js +47 -16
  218. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  219. package/dist/src/ui/hooks/atCommandProcessor.test.js +160 -0
  220. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  221. package/dist/src/ui/hooks/useComposerStatus.d.ts +1 -0
  222. package/dist/src/ui/hooks/useComposerStatus.js +1 -0
  223. package/dist/src/ui/hooks/useComposerStatus.js.map +1 -1
  224. package/dist/src/ui/hooks/useFocus.js +1 -0
  225. package/dist/src/ui/hooks/useFocus.js.map +1 -1
  226. package/dist/src/ui/hooks/useFolderTrust.js +16 -16
  227. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  228. package/dist/src/ui/hooks/useFolderTrust.test.js +186 -3
  229. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  230. package/dist/src/ui/hooks/useGeminiStream.js +21 -15
  231. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  232. package/dist/src/ui/hooks/useGeminiStream.test.js +141 -3
  233. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  234. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -0
  235. package/dist/src/ui/hooks/useLoadingIndicator.js +1 -0
  236. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  237. package/dist/src/ui/hooks/useLoadingIndicator.test.js +2 -0
  238. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  239. package/dist/src/ui/hooks/useQuotaAndFallback.js +2 -2
  240. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  241. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +3 -3
  242. package/dist/src/ui/hooks/useSelectionList.js +24 -1
  243. package/dist/src/ui/hooks/useSelectionList.js.map +1 -1
  244. package/dist/src/ui/hooks/useSelectionList.test.js +63 -1
  245. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  246. package/dist/src/ui/types.d.ts +2 -1
  247. package/dist/src/ui/types.js.map +1 -1
  248. package/dist/src/ui/utils/CodeColorizer.d.ts +1 -0
  249. package/dist/src/ui/utils/CodeColorizer.js +13 -7
  250. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  251. package/dist/src/ui/utils/TableRenderer.js +3 -2
  252. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  253. package/dist/src/ui/utils/borderStyles.d.ts +1 -0
  254. package/dist/src/ui/utils/borderStyles.js +1 -0
  255. package/dist/src/ui/utils/borderStyles.js.map +1 -1
  256. package/dist/src/ui/utils/fileUtils.d.ts +4 -0
  257. package/dist/src/ui/utils/fileUtils.js +13 -0
  258. package/dist/src/ui/utils/fileUtils.js.map +1 -1
  259. package/dist/src/ui/utils/renderBorder.d.ts +27 -0
  260. package/dist/src/ui/utils/renderBorder.js +46 -0
  261. package/dist/src/ui/utils/renderBorder.js.map +1 -0
  262. package/dist/src/ui/utils/renderBorder.test.d.ts +6 -0
  263. package/dist/src/ui/utils/renderBorder.test.js +74 -0
  264. package/dist/src/ui/utils/renderBorder.test.js.map +1 -0
  265. package/dist/src/ui/utils/rewindFileOps.d.ts +9 -0
  266. package/dist/src/ui/utils/rewindFileOps.js +25 -1
  267. package/dist/src/ui/utils/rewindFileOps.js.map +1 -1
  268. package/dist/src/ui/utils/rewindFileOps.test.js +94 -1
  269. package/dist/src/ui/utils/rewindFileOps.test.js.map +1 -1
  270. package/dist/src/ui/utils/terminalCapabilityManager.js +7 -0
  271. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  272. package/dist/src/ui/utils/terminalCapabilityManager.stdin-flow.test.d.ts +6 -0
  273. package/dist/src/ui/utils/terminalCapabilityManager.stdin-flow.test.js +105 -0
  274. package/dist/src/ui/utils/terminalCapabilityManager.stdin-flow.test.js.map +1 -0
  275. package/dist/src/utils/commentJson.js +66 -5
  276. package/dist/src/utils/commentJson.js.map +1 -1
  277. package/dist/src/utils/commentJson.test.js +21 -0
  278. package/dist/src/utils/commentJson.test.js.map +1 -1
  279. package/dist/src/utils/handleAutoUpdate.test.js +2 -2
  280. package/dist/src/utils/persistentState.js +84 -15
  281. package/dist/src/utils/persistentState.js.map +1 -1
  282. package/dist/src/utils/persistentState.test.js +66 -9
  283. package/dist/src/utils/persistentState.test.js.map +1 -1
  284. package/dist/src/utils/persistentStateRecovery.test.d.ts +6 -0
  285. package/dist/src/utils/persistentStateRecovery.test.js +84 -0
  286. package/dist/src/utils/persistentStateRecovery.test.js.map +1 -0
  287. package/dist/src/utils/processUtils.d.ts +10 -1
  288. package/dist/src/utils/processUtils.js +55 -1
  289. package/dist/src/utils/processUtils.js.map +1 -1
  290. package/dist/src/utils/processUtils.test.js +90 -2
  291. package/dist/src/utils/processUtils.test.js.map +1 -1
  292. package/dist/src/utils/relaunch.js +7 -0
  293. package/dist/src/utils/relaunch.js.map +1 -1
  294. package/dist/src/utils/relaunch.test.js +16 -0
  295. package/dist/src/utils/relaunch.test.js.map +1 -1
  296. package/dist/src/utils/retry.d.ts +22 -0
  297. package/dist/src/utils/retry.js +54 -0
  298. package/dist/src/utils/retry.js.map +1 -0
  299. package/dist/src/utils/retry.test.d.ts +6 -0
  300. package/dist/src/utils/retry.test.js +141 -0
  301. package/dist/src/utils/retry.test.js.map +1 -0
  302. package/dist/src/utils/sandbox-macos-permissive-open.sb +36 -1
  303. package/dist/src/utils/sandbox-macos-permissive-proxied.sb +36 -1
  304. package/dist/src/utils/sandbox-macos-profiles.test.js +93 -0
  305. package/dist/src/utils/sandbox-macos-profiles.test.js.map +1 -1
  306. package/dist/src/utils/sandbox-macos-restrictive-open.sb +39 -1
  307. package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +40 -1
  308. package/dist/src/utils/sandbox-macos-strict-open.sb +38 -2
  309. package/dist/src/utils/sandbox-macos-strict-proxied.sb +38 -2
  310. package/dist/src/utils/sandbox.js +149 -36
  311. package/dist/src/utils/sandbox.js.map +1 -1
  312. package/dist/src/utils/sandbox.test.js +410 -2
  313. package/dist/src/utils/sandbox.test.js.map +1 -1
  314. package/dist/src/utils/sandboxBuiltinProfiles.js +198 -8
  315. package/dist/src/utils/sandboxBuiltinProfiles.js.map +1 -1
  316. package/dist/src/utils/sandboxUtils.d.ts +25 -0
  317. package/dist/src/utils/sandboxUtils.js +225 -1
  318. package/dist/src/utils/sandboxUtils.js.map +1 -1
  319. package/dist/src/utils/sandboxUtils.test.js +341 -1
  320. package/dist/src/utils/sandboxUtils.test.js.map +1 -1
  321. package/dist/src/utils/sessionUtils.d.ts +21 -1
  322. package/dist/src/utils/sessionUtils.js +66 -2
  323. package/dist/src/utils/sessionUtils.js.map +1 -1
  324. package/dist/src/utils/sessionUtils.test.js +143 -0
  325. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  326. package/dist/tsconfig.tsbuildinfo +1 -1
  327. package/package.json +3 -3
@@ -7,6 +7,7 @@ import type { ThoughtSummary } from '@google/gemini-cli-core';
7
7
  import type React from 'react';
8
8
  interface LoadingIndicatorProps {
9
9
  currentLoadingPhrase?: string;
10
+ statusPhrase?: string;
10
11
  wittyPhrase?: string;
11
12
  showWit?: boolean;
12
13
  showTips?: boolean;
@@ -8,25 +8,27 @@ import { formatDuration } from '../utils/formatters.js';
8
8
  import { useTerminalSize } from '../hooks/useTerminalSize.js';
9
9
  import { isNarrowWidth } from '../utils/isNarrowWidth.js';
10
10
  import { INTERACTIVE_SHELL_WAITING_PHRASE } from '../hooks/usePhraseCycler.js';
11
- export const LoadingIndicator = ({ currentLoadingPhrase, wittyPhrase, showWit = false, elapsedTime, inline = false, rightContent, thought, thoughtLabel, showCancelAndTimer = true, forceRealStatusOnly = false, spinnerIcon, isHookActive = false, }) => {
11
+ export const LoadingIndicator = ({ currentLoadingPhrase, statusPhrase, wittyPhrase, showWit = false, elapsedTime, inline = false, rightContent, thought, thoughtLabel, showCancelAndTimer = true, forceRealStatusOnly = false, spinnerIcon, isHookActive = false, }) => {
12
12
  const streamingState = useStreamingContext();
13
13
  const { columns: terminalWidth } = useTerminalSize();
14
14
  const isNarrow = isNarrowWidth(terminalWidth);
15
15
  if (streamingState === StreamingState.Idle &&
16
16
  !currentLoadingPhrase &&
17
+ !statusPhrase &&
17
18
  !thought) {
18
19
  return null;
19
20
  }
20
- // Prioritize the interactive shell waiting phrase over the thought subject
21
- // because it conveys an actionable state for the user (waiting for input).
22
- const primaryText = currentLoadingPhrase === INTERACTIVE_SHELL_WAITING_PHRASE
23
- ? currentLoadingPhrase
24
- : thought?.subject
25
- ? (thoughtLabel ?? thought.subject)
26
- : currentLoadingPhrase ||
27
- (streamingState === StreamingState.Responding
28
- ? 'Thinking...'
29
- : undefined);
21
+ // Prioritize active operational status (e.g. retries) or interactive shell waiting
22
+ // over thought subject, while keeping cosmetic tips/witty phrases subordinate to thoughts.
23
+ const primaryText = statusPhrase ??
24
+ (currentLoadingPhrase === INTERACTIVE_SHELL_WAITING_PHRASE
25
+ ? currentLoadingPhrase
26
+ : thought?.subject
27
+ ? (thoughtLabel ?? thought.subject)
28
+ : currentLoadingPhrase ||
29
+ (streamingState === StreamingState.Responding
30
+ ? 'Thinking...'
31
+ : undefined));
30
32
  const cancelAndTimerContent = showCancelAndTimer && streamingState === StreamingState.Responding
31
33
  ? `(esc to cancel, ${elapsedTime < 60 ? `${elapsedTime}s` : formatDuration(elapsedTime * 1000)})`
32
34
  : null;
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingIndicator.js","sourceRoot":"","sources":["../../../../src/ui/components/LoadingIndicator.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoadingIndicator.js","sourceRoot":"","sources":["../../../../src/ui/components/LoadingIndicator.tsx"],"names":[],"mappings":"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"}
@@ -227,6 +227,35 @@ describe('<LoadingIndicator />', () => {
227
227
  expect(output).not.toContain('This should not be displayed');
228
228
  unmount();
229
229
  });
230
+ it('should prioritize statusPhrase over thought.subject', async () => {
231
+ const props = {
232
+ thought: {
233
+ subject: 'Thinking...',
234
+ description: 'A description',
235
+ },
236
+ statusPhrase: 'Trying to reach gemini-2.5-flash (Attempt 1/5)',
237
+ elapsedTime: 5,
238
+ };
239
+ const { lastFrame, unmount, waitUntilReady } = await renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
240
+ await waitUntilReady();
241
+ const output = lastFrame();
242
+ expect(output).toContain('Trying to reach gemini-2.5-flash (Attempt 1/5)');
243
+ expect(output).not.toContain('Thinking...');
244
+ unmount();
245
+ });
246
+ it('should prioritize statusPhrase over currentLoadingPhrase', async () => {
247
+ const props = {
248
+ statusPhrase: 'Trying to reach gemini-2.5-flash (Attempt 2/5)',
249
+ currentLoadingPhrase: 'Tip: Use /clear to reset history',
250
+ elapsedTime: 5,
251
+ };
252
+ const { lastFrame, unmount, waitUntilReady } = await renderWithContext(_jsx(LoadingIndicator, { ...props }), StreamingState.Responding);
253
+ await waitUntilReady();
254
+ const output = lastFrame();
255
+ expect(output).toContain('Trying to reach gemini-2.5-flash (Attempt 2/5)');
256
+ expect(output).not.toContain('Tip: Use /clear to reset history');
257
+ unmount();
258
+ });
230
259
  it('should not display thought indicator for non-thought loading phrases', async () => {
231
260
  const { lastFrame, unmount, waitUntilReady } = await renderWithContext(_jsx(LoadingIndicator, { currentLoadingPhrase: "some random tip...", elapsedTime: 3 }), StreamingState.Responding);
232
261
  await waitUntilReady();
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingIndicator.test.js","sourceRoot":"","sources":["../../../../src/ui/components/LoadingIndicator.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoadingIndicator.test.js","sourceRoot":"","sources":["../../../../src/ui/components/LoadingIndicator.test.tsx"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
7
  import { Box, Static } from 'ink';
8
+ import { CoreToolCallStatus } from '@google/gemini-cli-core';
8
9
  import { HistoryItemDisplay } from './HistoryItemDisplay.js';
9
- import { useUIState } from '../contexts/UIStateContext.js';
10
+ import { UIStateContext, useUIState } from '../contexts/UIStateContext.js';
10
11
  import { useAppContext } from '../contexts/AppContext.js';
11
12
  import { AppHeader } from './AppHeader.js';
12
13
  import { useAlternateBuffer } from '../hooks/useAlternateBuffer.js';
@@ -20,6 +21,14 @@ import { ToolConfirmationQueue } from './ToolConfirmationQueue.js';
20
21
  import { appEvents, AppEvent } from '../../utils/events.js';
21
22
  const MemoizedHistoryItemDisplay = memo(HistoryItemDisplay);
22
23
  const MemoizedAppHeader = memo(AppHeader);
24
+ const ToolConfirmationQueueWithBudget = ({ confirmingTool, budget, }) => {
25
+ const uiState = useUIState();
26
+ const overriddenUiState = useMemo(() => ({
27
+ ...uiState,
28
+ availableTerminalHeight: budget,
29
+ }), [uiState, budget]);
30
+ return (_jsx(UIStateContext.Provider, { value: overriddenUiState, children: _jsx(ToolConfirmationQueue, { confirmingTool: confirmingTool }, "confirmation-queue") }));
31
+ };
23
32
  // Limit Gemini messages to a very high number of lines to mitigate performance
24
33
  // issues in the worst case if we somehow get an enormous response from Gemini.
25
34
  // This threshold is arbitrary but should be high enough to never impact normal
@@ -32,12 +41,21 @@ export const MainContent = () => {
32
41
  const useTerminalBuffer = config.getUseTerminalBuffer();
33
42
  const isAlternateBuffer = config.getUseAlternateBuffer();
34
43
  const confirmingTool = useConfirmingTool();
35
- const showConfirmationQueue = confirmingTool !== null;
44
+ const showConfirmationQueue = Boolean(confirmingTool);
36
45
  const confirmingToolCallId = confirmingTool?.tool.callId;
37
46
  const scrollableListRef = useRef(null);
38
47
  useEffect(() => {
39
- if (showConfirmationQueue) {
40
- scrollableListRef.current?.scrollToEnd();
48
+ if (showConfirmationQueue && scrollableListRef.current) {
49
+ const scrollState = scrollableListRef.current.getScrollState?.();
50
+ const isAtBottom = scrollState
51
+ ? scrollState.scrollHeight -
52
+ scrollState.innerHeight -
53
+ scrollState.scrollTop <=
54
+ 1
55
+ : true;
56
+ if (isAtBottom) {
57
+ scrollableListRef.current.scrollToEnd();
58
+ }
41
59
  }
42
60
  }, [showConfirmationQueue, confirmingToolCallId]);
43
61
  useEffect(() => {
@@ -85,17 +103,64 @@ export const MainContent = () => {
85
103
  ]);
86
104
  const staticHistoryItems = useMemo(() => historyItems.slice(0, lastUserPromptIndex + 1), [historyItems, lastUserPromptIndex]);
87
105
  const lastResponseHistoryItems = useMemo(() => historyItems.slice(lastUserPromptIndex + 1), [historyItems, lastUserPromptIndex]);
88
- const pendingItems = useMemo(() => (_jsxs(Box, { flexDirection: "column", children: [pendingHistoryItems.map((item, i) => {
89
- const prevType = i === 0
90
- ? uiState.history.at(-1)?.type
91
- : pendingHistoryItems[i - 1]?.type;
92
- const isFirstThinking = item.type === 'thinking' && prevType !== 'thinking';
93
- const isFirstAfterThinking = item.type !== 'thinking' && prevType === 'thinking';
94
- const isToolGroupBoundary = (item.type !== 'tool_group' && prevType === 'tool_group') ||
95
- (item.type === 'tool_group' && prevType !== 'tool_group');
96
- return (_jsx(HistoryItemDisplay, { availableTerminalHeight: uiState.constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth, item: { ...item, id: -(i + 1) }, isPending: true, isExpandable: true, isFirstThinking: isFirstThinking, isFirstAfterThinking: isFirstAfterThinking, isToolGroupBoundary: isToolGroupBoundary }, `pending-${i}`));
97
- }), showConfirmationQueue && confirmingTool && (_jsx(ToolConfirmationQueue, { confirmingTool: confirmingTool }, "confirmation-queue"))] }, "pending-items-group")), [
106
+ const pendingItems = useMemo(() => {
107
+ const hasConfirmationQueue = Boolean(showConfirmationQueue && confirmingTool);
108
+ const isVisiblePendingItem = (item) => item.type !== 'tool_group' ||
109
+ item.tools.some((t) => t.status !== CoreToolCallStatus.AwaitingApproval);
110
+ const visiblePendingCount = pendingHistoryItems.filter(isVisiblePendingItem).length;
111
+ const shouldPartitionHeight = !isAlternateBufferOrTerminalBuffer &&
112
+ hasConfirmationQueue &&
113
+ visiblePendingCount > 0;
114
+ const pendingCount = Math.max(1, visiblePendingCount);
115
+ const rawPendingBudget = availableTerminalHeight !== undefined
116
+ ? shouldPartitionHeight
117
+ ? Math.floor(availableTerminalHeight * 0.4)
118
+ : availableTerminalHeight
119
+ : undefined;
120
+ // In alternate buffer mode, we bypass partitioning the height because the list is
121
+ // scrollable and virtualized, allowing each item to use the full budget.
122
+ // Otherwise, we distribute the height budget among pending items using the
123
+ // Largest Remainder Method so all available space is utilized without overflowing.
124
+ const basePendingItemHeight = rawPendingBudget !== undefined
125
+ ? Math.floor(rawPendingBudget / pendingCount)
126
+ : undefined;
127
+ const pendingHeightRemainder = rawPendingBudget !== undefined ? rawPendingBudget % pendingCount : 0;
128
+ const perPendingItemHeights = rawPendingBudget !== undefined && basePendingItemHeight !== undefined
129
+ ? Array.from({ length: pendingCount }, (_, index) => isAlternateBufferOrTerminalBuffer
130
+ ? rawPendingBudget
131
+ : Math.max(basePendingItemHeight +
132
+ (index < pendingHeightRemainder ? 1 : 0), 1))
133
+ : undefined;
134
+ const totalAllocatedPendingHeight = perPendingItemHeights !== undefined
135
+ ? perPendingItemHeights.reduce((sum, height) => sum + height, 0)
136
+ : 0;
137
+ // Calculate confirmationQueueBudget by subtracting the actual allocated pending height
138
+ // from availableTerminalHeight to prevent terminal overflows.
139
+ // We enforce a minimum height of 1 when partitioning to prevent overflows on small terminals.
140
+ const confirmationQueueBudget = availableTerminalHeight !== undefined
141
+ ? shouldPartitionHeight
142
+ ? Math.max(availableTerminalHeight - totalAllocatedPendingHeight, 1)
143
+ : availableTerminalHeight
144
+ : undefined;
145
+ let visiblePendingIndex = 0;
146
+ return (_jsxs(Box, { flexDirection: "column", children: [pendingHistoryItems.map((item, i) => {
147
+ const isVisible = isVisiblePendingItem(item);
148
+ const itemHeightIndex = isVisible
149
+ ? visiblePendingIndex++
150
+ : Math.min(visiblePendingIndex, pendingCount - 1);
151
+ const perPendingItemHeight = perPendingItemHeights?.[itemHeightIndex];
152
+ const prevType = i === 0
153
+ ? uiState.history.at(-1)?.type
154
+ : pendingHistoryItems[i - 1]?.type;
155
+ const isFirstThinking = item.type === 'thinking' && prevType !== 'thinking';
156
+ const isFirstAfterThinking = item.type !== 'thinking' && prevType === 'thinking';
157
+ const isToolGroupBoundary = (item.type !== 'tool_group' && prevType === 'tool_group') ||
158
+ (item.type === 'tool_group' && prevType !== 'tool_group');
159
+ return (_jsx(HistoryItemDisplay, { availableTerminalHeight: uiState.constrainHeight ? perPendingItemHeight : undefined, terminalWidth: mainAreaWidth, item: { ...item, id: -(i + 1) }, isPending: true, isExpandable: true, isFirstThinking: isFirstThinking, isFirstAfterThinking: isFirstAfterThinking, isToolGroupBoundary: isToolGroupBoundary }, `pending-${i}`));
160
+ }), showConfirmationQueue && confirmingTool && (_jsx(ToolConfirmationQueueWithBudget, { confirmingTool: confirmingTool, budget: confirmationQueueBudget }))] }, "pending-items-group"));
161
+ }, [
98
162
  pendingHistoryItems,
163
+ isAlternateBufferOrTerminalBuffer,
99
164
  uiState.constrainHeight,
100
165
  availableTerminalHeight,
101
166
  mainAreaWidth,
@@ -1 +1 @@
1
- {"version":3,"file":"MainContent.js","sourceRoot":"","sources":["../../../../src/ui/components/MainContent.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EACL,kBAAkB,GAEnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,0BAA0B,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;AAE1C,+EAA+E;AAC/E,+EAA+E;AAC/E,+EAA+E;AAC/E,SAAS;AACT,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,iCAAiC,GAAG,kBAAkB,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,iBAAiB,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IACxD,MAAM,iBAAiB,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEzD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAC3C,MAAM,qBAAqB,GAAG,cAAc,KAAK,IAAI,CAAC;IACtD,MAAM,oBAAoB,GAAG,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC;IAEzD,MAAM,iBAAiB,GAAG,MAAM,CAA8B,IAAI,CAAC,CAAC;IAEpE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,qBAAqB,EAAE,CAAC;YAC1B,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,iBAAiB,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;QAC3C,CAAC,CAAC;QACF,SAAS,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACpD,OAAO,GAAG,EAAE;YACV,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,EACJ,mBAAmB,EACnB,aAAa,EACb,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,SAAS,GACV,GAAG,OAAO,CAAC;IACZ,MAAM,iBAAiB,GAAG,qBAAqB,CAAC;IAEhD,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACrD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACrC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7C,OAAO,CAAC,CAAC;YACX,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtB,MAAM,gBAAgB,GAAG,OAAO,CAC9B,GAAG,EAAE,CACH,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,eAAe,GACnB,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,CAAC;QACtD,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,CAAC;QACtD,MAAM,mBAAmB,GACvB,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC;YACzD,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC,CAAC;QAE5D,OAAO;YACL,IAAI;YACJ,YAAY,EAAE,CAAC,GAAG,mBAAmB;YACrC,eAAe;YACf,oBAAoB;YACpB,mBAAmB;SACpB,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,CACvC,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CACH,gBAAgB,CAAC,GAAG,CAClB,CAAC,EACC,IAAI,EACJ,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,mBAAmB,GACpB,EAAE,EAAE,CAAC,CACJ,KAAC,0BAA0B,IACzB,aAAa,EAAE,aAAa,EAC5B,uBAAuB,EACrB,OAAO,CAAC,eAAe,IAAI,CAAC,YAAY;YACtC,CAAC,CAAC,uBAAuB;YACzB,CAAC,CAAC,SAAS,EAEf,6BAA6B,EAAE,wBAAwB,EAEvD,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,KAAK,EAChB,QAAQ,EAAE,OAAO,CAAC,aAAa,EAC/B,YAAY,EAAE,YAAY,EAC1B,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,IAPnC,IAAI,CAAC,EAAE,CAQZ,CACH,CACF,EACH;QACE,gBAAgB;QAChB,aAAa;QACb,uBAAuB;QACvB,OAAO,CAAC,aAAa;QACrB,OAAO,CAAC,eAAe;KACxB,CACF,CAAC;IAEF,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,GAAG,CAAC,CAAC,EACpD,CAAC,YAAY,EAAE,mBAAmB,CAAC,CACpC,CAAC;IAEF,MAAM,wBAAwB,GAAG,OAAO,CACtC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAC,EACjD,CAAC,YAAY,EAAE,mBAAmB,CAAC,CACpC,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CACJ,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;gBACnC,MAAM,QAAQ,GACZ,CAAC,KAAK,CAAC;oBACL,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;oBAC9B,CAAC,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC;gBACvC,MAAM,eAAe,GACnB,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,CAAC;gBACtD,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,CAAC;gBACtD,MAAM,mBAAmB,GACvB,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC;oBACzD,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,CAAC,CAAC;gBAE5D,OAAO,CACL,KAAC,kBAAkB,IAEjB,uBAAuB,EACrB,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,EAE/D,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAC/B,SAAS,EAAE,IAAI,EACf,YAAY,EAAE,IAAI,EAClB,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,IAVnC,WAAW,CAAC,EAAE,CAWnB,CACH,CAAC;YACJ,CAAC,CAAC,EACD,qBAAqB,IAAI,cAAc,IAAI,CAC1C,KAAC,qBAAqB,IAEpB,cAAc,EAAE,cAAc,IAD1B,oBAAoB,CAExB,CACH,KAnC6B,qBAAqB,CAoC/C,CACP,EACD;QACE,mBAAmB;QACnB,OAAO,CAAC,eAAe;QACvB,uBAAuB;QACvB,aAAa;QACb,qBAAqB;QACrB,cAAc;QACd,OAAO,CAAC,OAAO;KAChB,CACF,CAAC;IAEF,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CAAC;QACJ,EAAE,IAAI,EAAE,QAAiB,EAAE;QAC3B,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACxC,IAAI,EAAE,SAAkB;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;SAC7B,CAAC,CAAC;QACH,EAAE,IAAI,EAAE,SAAkB,EAAE;KAC7B,EACD,CAAC,gBAAgB,EAAE,YAAY,CAAC,CACjC,CAAC;IAEF,MAAM,UAAU,GAAG,WAAW,CAC5B,CAAC,EAAE,IAAI,EAA8C,EAAE,EAAE;QACvD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,CACL,KAAC,iBAAiB,IAEhB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,iBAAiB,IAF1B,YAAY,CAGhB,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,OAAO,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC,EACD,CAAC,iBAAiB,EAAE,OAAO,EAAE,YAAY,CAAC,CAC3C,CAAC;IAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEvD,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,IAAsC,EAAE,MAAc,EAAE,EAAE;QACzD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC5C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC5D,OAAO,SAAS,CAAC;IACnB,CAAC,EACD,EAAE,CACH,CAAC;IAEF,oEAAoE;IACpE,yEAAyE;IACzE,2EAA2E;IAC3E,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,IAAsC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAClE,EAAE,CACH,CAAC;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE;QAClC,IAAI,iCAAiC,EAAE,CAAC;YACtC,OAAO,CACL,KAAC,cAAc,IACb,GAAG,EAAE,iBAAiB,EACtB,QAAQ,EACN,CAAC,OAAO,CAAC,kBAAkB,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAE9D,KAAK,EAAE,OAAO,CAAC,aAAa,EAC5B,IAAI,EAAE,eAAe,EACrB,UAAU,EAAE,UAAU,EACtB,mBAAmB,EAAE,mBAAmB,EACxC,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,0BAA0B,EAAE,kBAAkB,EAC9C,YAAY,EAAE,iBAAiB,EAC/B,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAC1D,oBAAoB,EAAE,iBAAiB,IAAI,CAAC,iBAAiB,EAC7D,SAAS,EAAE,SAAS,GACpB;YACF,mFAAmF;YACnF,qEAAqE;YACrE,uEAAuE;YACvE,iEAAiE;YACjE,qEAAqE;YACrE,wBAAwB;aACzB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE;QACD,iCAAiC;QACjC,OAAO,CAAC,kBAAkB;QAC1B,OAAO,CAAC,oBAAoB;QAC5B,OAAO,CAAC,aAAa;QACrB,eAAe;QACf,UAAU;QACV,mBAAmB;QACnB,YAAY;QACZ,iBAAiB;QACjB,YAAY;QACZ,SAAS;QACT,iBAAiB;KAClB,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,iCAAiC,EAAE,CAAC;QACtC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,CACL,8BACE,KAAC,MAAM,IAEL,KAAK,EAAE;oBACL,KAAC,SAAS,IAAkB,OAAO,EAAE,OAAO,IAA7B,YAAY,CAAqB;oBAChD,GAAG,kBAAkB;oBACrB,GAAG,wBAAwB;iBAC5B,YAEA,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAPV,OAAO,CAAC,iBAAiB,CAQvB,EACR,YAAY,IACZ,CACJ,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"MainContent.js","sourceRoot":"","sources":["../../../../src/ui/components/MainContent.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  /**
3
3
  * @license
4
4
  * Copyright 2025 Google LLC
@@ -9,12 +9,21 @@ import { createMockSettings } from '../../test-utils/settings.js';
9
9
  import { makeFakeConfig, CoreToolCallStatus } from '@google/gemini-cli-core';
10
10
  import { waitFor } from '../../test-utils/async.js';
11
11
  import { MainContent } from './MainContent.js';
12
+ import { Composer } from './Composer.js';
12
13
  import { getToolGroupBorderAppearance } from '../utils/borderStyles.js';
13
14
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
14
15
  import { Box, Text } from 'ink';
15
16
  import { act, useState } from 'react';
16
17
  import { useAlternateBuffer } from '../hooks/useAlternateBuffer.js';
17
18
  import { SHELL_COMMAND_NAME } from '../constants.js';
19
+ const scrollableListMocks = vi.hoisted(() => ({
20
+ scrollToEnd: vi.fn(),
21
+ getScrollState: vi.fn(() => ({
22
+ scrollTop: 80,
23
+ scrollHeight: 100,
24
+ innerHeight: 20,
25
+ })),
26
+ }));
18
27
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
19
28
  const actual = await importOriginal();
20
29
  return {
@@ -66,10 +75,21 @@ vi.mock('../hooks/useConfirmingTool.js', () => ({
66
75
  vi.mock('./AppHeader.js', () => ({
67
76
  AppHeader: ({ showDetails = true }) => (_jsx(Text, { children: showDetails ? 'AppHeader(full)' : 'AppHeader(minimal)' })),
68
77
  }));
69
- vi.mock('./shared/ScrollableList.js', () => ({
70
- ScrollableList: ({ data, renderItem, }) => (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "ScrollableList" }), data.map((item, index) => (_jsx(Box, { children: renderItem({ item }) }, index)))] })),
71
- SCROLL_TO_ITEM_END: 0,
72
- }));
78
+ vi.mock('./shared/ScrollableList.js', async () => {
79
+ const { forwardRef, useImperativeHandle } = await vi.importActual('react');
80
+ const ScrollableList = forwardRef(({ data, renderItem, }, ref) => {
81
+ useImperativeHandle(ref, () => ({
82
+ scrollToEnd: scrollableListMocks.scrollToEnd,
83
+ getScrollState: scrollableListMocks.getScrollState,
84
+ }));
85
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { children: "ScrollableList" }), data.map((item, index) => (_jsx(Box, { children: renderItem({ item }) }, index)))] }));
86
+ });
87
+ ScrollableList.displayName = 'ScrollableList';
88
+ return {
89
+ ScrollableList,
90
+ SCROLL_TO_ITEM_END: 0,
91
+ };
92
+ });
73
93
  import { theme } from '../semantic-colors.js';
74
94
  import {} from '../hooks/shellReducer.js';
75
95
  describe('getToolGroupBorderAppearance', () => {
@@ -745,5 +765,198 @@ describe('MainContent', () => {
745
765
  unmount();
746
766
  });
747
767
  });
768
+ describe('Scroll position preservation and dynamic height partitioning', () => {
769
+ beforeEach(() => {
770
+ scrollableListMocks.scrollToEnd.mockClear();
771
+ scrollableListMocks.getScrollState.mockReset();
772
+ vi.mocked(useConfirmingTool).mockReturnValue(null);
773
+ mockUseSettings.mockReturnValue(createMockSettings({
774
+ security: { enablePermanentToolApproval: true },
775
+ ui: { errorVerbosity: 'full' },
776
+ }));
777
+ });
778
+ it('calls scrollToEnd when tool confirmation arrives and user is at the bottom', async () => {
779
+ vi.mocked(useAlternateBuffer).mockReturnValue(true);
780
+ scrollableListMocks.getScrollState.mockReturnValue({
781
+ scrollTop: 80,
782
+ scrollHeight: 100,
783
+ innerHeight: 20,
784
+ });
785
+ const confirmingTool = {
786
+ tool: {
787
+ callId: 'call-bottom',
788
+ name: SHELL_COMMAND_NAME,
789
+ description: 'echo test',
790
+ status: CoreToolCallStatus.AwaitingApproval,
791
+ confirmationDetails: {
792
+ type: 'exec',
793
+ title: 'Confirm Shell',
794
+ command: 'echo test',
795
+ rootCommand: 'echo',
796
+ rootCommands: ['echo'],
797
+ },
798
+ },
799
+ index: 1,
800
+ total: 1,
801
+ };
802
+ vi.mocked(useConfirmingTool).mockReturnValue(confirmingTool);
803
+ const { unmount } = await renderWithProviders(_jsx(MainContent, {}), {
804
+ uiState: defaultMockUiState,
805
+ config: makeFakeConfig({ useAlternateBuffer: true }),
806
+ settings: createMockSettings({ ui: { useAlternateBuffer: true } }),
807
+ });
808
+ expect(scrollableListMocks.getScrollState).toHaveBeenCalled();
809
+ expect(scrollableListMocks.scrollToEnd).toHaveBeenCalledTimes(1);
810
+ unmount();
811
+ });
812
+ it('preserves scroll position and does not call scrollToEnd when user has scrolled up', async () => {
813
+ vi.mocked(useAlternateBuffer).mockReturnValue(true);
814
+ scrollableListMocks.getScrollState.mockReturnValue({
815
+ scrollTop: 30,
816
+ scrollHeight: 100,
817
+ innerHeight: 20,
818
+ });
819
+ const confirmingTool = {
820
+ tool: {
821
+ callId: 'call-scrolled-up',
822
+ name: SHELL_COMMAND_NAME,
823
+ description: 'echo test',
824
+ status: CoreToolCallStatus.AwaitingApproval,
825
+ confirmationDetails: {
826
+ type: 'exec',
827
+ title: 'Confirm Shell',
828
+ command: 'echo test',
829
+ rootCommand: 'echo',
830
+ rootCommands: ['echo'],
831
+ },
832
+ },
833
+ index: 1,
834
+ total: 1,
835
+ };
836
+ vi.mocked(useConfirmingTool).mockReturnValue(confirmingTool);
837
+ const { unmount } = await renderWithProviders(_jsx(MainContent, {}), {
838
+ uiState: defaultMockUiState,
839
+ config: makeFakeConfig({ useAlternateBuffer: true }),
840
+ settings: createMockSettings({ ui: { useAlternateBuffer: true } }),
841
+ });
842
+ expect(scrollableListMocks.getScrollState).toHaveBeenCalled();
843
+ expect(scrollableListMocks.scrollToEnd).not.toHaveBeenCalled();
844
+ unmount();
845
+ });
846
+ it('preserves scroll position when rendered alongside Composer during a pending tool confirmation', async () => {
847
+ vi.mocked(useAlternateBuffer).mockReturnValue(true);
848
+ scrollableListMocks.getScrollState.mockReturnValue({
849
+ scrollTop: 30,
850
+ scrollHeight: 100,
851
+ innerHeight: 20,
852
+ });
853
+ const confirmingTool = {
854
+ tool: {
855
+ callId: 'call-composer-scrolled-up',
856
+ name: SHELL_COMMAND_NAME,
857
+ description: 'echo test',
858
+ status: CoreToolCallStatus.AwaitingApproval,
859
+ resultDisplay: undefined,
860
+ confirmationDetails: {
861
+ type: 'exec',
862
+ title: 'Confirm Shell',
863
+ command: 'echo test',
864
+ rootCommand: 'echo',
865
+ rootCommands: ['echo'],
866
+ },
867
+ },
868
+ index: 1,
869
+ total: 1,
870
+ };
871
+ vi.mocked(useConfirmingTool).mockReturnValue(confirmingTool);
872
+ const uiStateWithPendingTool = {
873
+ ...defaultMockUiState,
874
+ activeHooks: [],
875
+ sessionStats: {
876
+ sessionId: 'test-session',
877
+ sessionStartTime: new Date(),
878
+ metrics: {},
879
+ lastPromptTokenCount: 0,
880
+ promptCount: 0,
881
+ },
882
+ pendingHistoryItems: [
883
+ {
884
+ type: 'tool_group',
885
+ id: -1,
886
+ tools: [confirmingTool.tool],
887
+ },
888
+ ],
889
+ };
890
+ const { unmount } = await renderWithProviders(_jsxs(_Fragment, { children: [_jsx(MainContent, {}), _jsx(Composer, {})] }), {
891
+ uiState: uiStateWithPendingTool,
892
+ config: makeFakeConfig({ useAlternateBuffer: true }),
893
+ settings: createMockSettings({ ui: { useAlternateBuffer: true } }),
894
+ });
895
+ expect(scrollableListMocks.getScrollState).toHaveBeenCalled();
896
+ expect(scrollableListMocks.scrollToEnd).not.toHaveBeenCalled();
897
+ unmount();
898
+ });
899
+ it('partitions availableTerminalHeight between pendingHistoryItems and ToolConfirmationQueue in standard buffer mode', async () => {
900
+ vi.mocked(useAlternateBuffer).mockReturnValue(false);
901
+ const longDiff = '@@ -1,1 +1,40 @@\n' + '+added line\n'.repeat(40);
902
+ const confirmingTool = {
903
+ tool: {
904
+ callId: 'call-partition',
905
+ name: 'replace',
906
+ description: 'Editing src/app.ts',
907
+ status: CoreToolCallStatus.AwaitingApproval,
908
+ confirmationDetails: {
909
+ type: 'edit',
910
+ title: 'Confirm edit',
911
+ fileName: 'app.ts',
912
+ filePath: '/src/app.ts',
913
+ fileDiff: longDiff,
914
+ originalContent: 'old',
915
+ newContent: 'new',
916
+ },
917
+ },
918
+ index: 1,
919
+ total: 1,
920
+ };
921
+ vi.mocked(useConfirmingTool).mockReturnValue(confirmingTool);
922
+ const uiState = {
923
+ ...defaultMockUiState,
924
+ history: [{ id: 1, type: 'user', text: 'Update file' }],
925
+ pendingHistoryItems: [
926
+ {
927
+ type: 'tool_group',
928
+ id: -1,
929
+ tools: [
930
+ {
931
+ callId: 'call-shell',
932
+ name: SHELL_COMMAND_NAME,
933
+ status: CoreToolCallStatus.Executing,
934
+ description: 'Running build...',
935
+ resultDisplay: Array.from({ length: 20 }, (_, i) => `Build output line ${i + 1}`).join('\n'),
936
+ ptyId: 789,
937
+ confirmationDetails: undefined,
938
+ },
939
+ ],
940
+ },
941
+ ],
942
+ availableTerminalHeight: 20,
943
+ terminalHeight: 24,
944
+ constrainHeight: true,
945
+ };
946
+ const { lastFrame, unmount } = await renderWithProviders(_jsx(MainContent, {}), {
947
+ uiState: uiState,
948
+ config: makeFakeConfig({ useAlternateBuffer: false }),
949
+ settings: createMockSettings({ ui: { useAlternateBuffer: false } }),
950
+ });
951
+ await waitFor(() => {
952
+ const output = lastFrame();
953
+ expect(output).toContain('Build output line 20');
954
+ expect(output).toContain('Editing src/app.ts');
955
+ });
956
+ const renderedLines = lastFrame().split('\n').length;
957
+ expect(renderedLines).toBeLessThanOrEqual(uiState.terminalHeight);
958
+ unmount();
959
+ });
960
+ });
748
961
  });
749
962
  //# sourceMappingURL=MainContent.test.js.map