@machina.ai/cell-cli 1.16.0-rc2 → 1.19.4-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 (695) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +8 -7
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +10 -9
  5. package/dist/src/commands/extensions/disable.js +2 -0
  6. package/dist/src/commands/extensions/disable.js.map +1 -1
  7. package/dist/src/commands/extensions/disable.test.d.ts +6 -0
  8. package/dist/src/commands/extensions/disable.test.js +169 -0
  9. package/dist/src/commands/extensions/disable.test.js.map +1 -0
  10. package/dist/src/commands/extensions/enable.js +2 -0
  11. package/dist/src/commands/extensions/enable.js.map +1 -1
  12. package/dist/src/commands/extensions/enable.test.d.ts +6 -0
  13. package/dist/src/commands/extensions/enable.test.js +150 -0
  14. package/dist/src/commands/extensions/enable.test.js.map +1 -0
  15. package/dist/src/commands/extensions/examples/mcp-server/example.test.d.ts +6 -0
  16. package/dist/src/commands/extensions/examples/mcp-server/example.test.js +111 -0
  17. package/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +1 -0
  18. package/dist/src/commands/extensions/examples/mcp-server/example.test.ts +143 -0
  19. package/dist/src/commands/extensions/examples/mcp-server/package.json +1 -1
  20. package/dist/src/commands/extensions/install.js +2 -0
  21. package/dist/src/commands/extensions/install.js.map +1 -1
  22. package/dist/src/commands/extensions/install.test.js +3 -0
  23. package/dist/src/commands/extensions/install.test.js.map +1 -1
  24. package/dist/src/commands/extensions/link.js +2 -0
  25. package/dist/src/commands/extensions/link.js.map +1 -1
  26. package/dist/src/commands/extensions/link.test.d.ts +6 -0
  27. package/dist/src/commands/extensions/link.test.js +131 -0
  28. package/dist/src/commands/extensions/link.test.js.map +1 -0
  29. package/dist/src/commands/extensions/list.js +2 -0
  30. package/dist/src/commands/extensions/list.js.map +1 -1
  31. package/dist/src/commands/extensions/list.test.d.ts +6 -0
  32. package/dist/src/commands/extensions/list.test.js +112 -0
  33. package/dist/src/commands/extensions/list.test.js.map +1 -0
  34. package/dist/src/commands/extensions/new.js +2 -0
  35. package/dist/src/commands/extensions/new.js.map +1 -1
  36. package/dist/src/commands/extensions/new.test.js +3 -0
  37. package/dist/src/commands/extensions/new.test.js.map +1 -1
  38. package/dist/src/commands/extensions/uninstall.d.ts +1 -1
  39. package/dist/src/commands/extensions/uninstall.js +26 -9
  40. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  41. package/dist/src/commands/extensions/uninstall.test.js +190 -9
  42. package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
  43. package/dist/src/commands/extensions/update.js +2 -0
  44. package/dist/src/commands/extensions/update.js.map +1 -1
  45. package/dist/src/commands/extensions/update.test.d.ts +6 -0
  46. package/dist/src/commands/extensions/update.test.js +170 -0
  47. package/dist/src/commands/extensions/update.test.js.map +1 -0
  48. package/dist/src/commands/extensions/validate.js +2 -0
  49. package/dist/src/commands/extensions/validate.js.map +1 -1
  50. package/dist/src/commands/extensions/validate.test.js +3 -0
  51. package/dist/src/commands/extensions/validate.test.js.map +1 -1
  52. package/dist/src/commands/extensions.js +2 -0
  53. package/dist/src/commands/extensions.js.map +1 -1
  54. package/dist/src/commands/extensions.test.d.ts +6 -0
  55. package/dist/src/commands/extensions.test.js +67 -0
  56. package/dist/src/commands/extensions.test.js.map +1 -0
  57. package/dist/src/commands/mcp/add.js +2 -0
  58. package/dist/src/commands/mcp/add.js.map +1 -1
  59. package/dist/src/commands/mcp/add.test.js +11 -3
  60. package/dist/src/commands/mcp/add.test.js.map +1 -1
  61. package/dist/src/commands/mcp/list.js +2 -0
  62. package/dist/src/commands/mcp/list.js.map +1 -1
  63. package/dist/src/commands/mcp/list.test.js +4 -6
  64. package/dist/src/commands/mcp/list.test.js.map +1 -1
  65. package/dist/src/commands/mcp/remove.js +2 -0
  66. package/dist/src/commands/mcp/remove.js.map +1 -1
  67. package/dist/src/commands/mcp/remove.test.js +26 -12
  68. package/dist/src/commands/mcp/remove.test.js.map +1 -1
  69. package/dist/src/commands/mcp.js +2 -0
  70. package/dist/src/commands/mcp.js.map +1 -1
  71. package/dist/src/commands/mcp.test.js +1 -0
  72. package/dist/src/commands/mcp.test.js.map +1 -1
  73. package/dist/src/commands/utils.d.ts +6 -0
  74. package/dist/src/commands/utils.js +11 -0
  75. package/dist/src/commands/utils.js.map +1 -0
  76. package/dist/src/commands/utils.test.d.ts +6 -0
  77. package/dist/src/commands/utils.test.js +35 -0
  78. package/dist/src/commands/utils.test.js.map +1 -0
  79. package/dist/src/config/auth.js +4 -0
  80. package/dist/src/config/auth.js.map +1 -1
  81. package/dist/src/config/auth.test.js +1 -2
  82. package/dist/src/config/auth.test.js.map +1 -1
  83. package/dist/src/config/config.d.ts +2 -1
  84. package/dist/src/config/config.integration.test.js +81 -198
  85. package/dist/src/config/config.integration.test.js.map +1 -1
  86. package/dist/src/config/config.js +38 -31
  87. package/dist/src/config/config.js.map +1 -1
  88. package/dist/src/config/config.test.js +235 -294
  89. package/dist/src/config/config.test.js.map +1 -1
  90. package/dist/src/config/extension.test.js +30 -48
  91. package/dist/src/config/extension.test.js.map +1 -1
  92. package/dist/src/config/extensions/consent.test.d.ts +6 -0
  93. package/dist/src/config/extensions/consent.test.js +152 -0
  94. package/dist/src/config/extensions/consent.test.js.map +1 -0
  95. package/dist/src/config/extensions/extensionEnablement.test.js +82 -15
  96. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  97. package/dist/src/config/extensions/extensionSettings.test.js +105 -1
  98. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  99. package/dist/src/config/extensions/github.d.ts +1 -0
  100. package/dist/src/config/extensions/github.js +21 -5
  101. package/dist/src/config/extensions/github.js.map +1 -1
  102. package/dist/src/config/extensions/github.test.js +201 -318
  103. package/dist/src/config/extensions/github.test.js.map +1 -1
  104. package/dist/src/config/extensions/storage.test.d.ts +6 -0
  105. package/dist/src/config/extensions/storage.test.js +64 -0
  106. package/dist/src/config/extensions/storage.test.js.map +1 -0
  107. package/dist/src/config/extensions/update.test.js +154 -263
  108. package/dist/src/config/extensions/update.test.js.map +1 -1
  109. package/dist/src/config/extensions/variables.test.js +87 -1
  110. package/dist/src/config/extensions/variables.test.js.map +1 -1
  111. package/dist/src/config/keyBindings.d.ts +1 -1
  112. package/dist/src/config/keyBindings.js +4 -4
  113. package/dist/src/config/keyBindings.js.map +1 -1
  114. package/dist/src/config/sandboxConfig.d.ts +1 -1
  115. package/dist/src/config/sandboxConfig.js.map +1 -1
  116. package/dist/src/config/sandboxConfig.test.d.ts +6 -0
  117. package/dist/src/config/sandboxConfig.test.js +178 -0
  118. package/dist/src/config/sandboxConfig.test.js.map +1 -0
  119. package/dist/src/config/settingPaths.test.d.ts +6 -0
  120. package/dist/src/config/settingPaths.test.js +22 -0
  121. package/dist/src/config/settingPaths.test.js.map +1 -0
  122. package/dist/src/config/settings.js +12 -1
  123. package/dist/src/config/settings.js.map +1 -1
  124. package/dist/src/config/settings.test.js +228 -227
  125. package/dist/src/config/settings.test.js.map +1 -1
  126. package/dist/src/config/settingsSchema.d.ts +25 -7
  127. package/dist/src/config/settingsSchema.js +26 -8
  128. package/dist/src/config/settingsSchema.js.map +1 -1
  129. package/dist/src/config/settingsSchema.test.js +11 -6
  130. package/dist/src/config/settingsSchema.test.js.map +1 -1
  131. package/dist/src/config/trustedFolders.d.ts +1 -1
  132. package/dist/src/config/trustedFolders.js +24 -17
  133. package/dist/src/config/trustedFolders.js.map +1 -1
  134. package/dist/src/core/auth.test.d.ts +6 -0
  135. package/dist/src/core/auth.test.js +43 -0
  136. package/dist/src/core/auth.test.js.map +1 -0
  137. package/dist/src/core/initializer.test.d.ts +6 -0
  138. package/dist/src/core/initializer.test.js +101 -0
  139. package/dist/src/core/initializer.test.js.map +1 -0
  140. package/dist/src/core/theme.test.d.ts +6 -0
  141. package/dist/src/core/theme.test.js +46 -0
  142. package/dist/src/core/theme.test.js.map +1 -0
  143. package/dist/src/gemini.d.ts +3 -1
  144. package/dist/src/gemini.js +80 -17
  145. package/dist/src/gemini.js.map +1 -1
  146. package/dist/src/gemini.test.js +681 -16
  147. package/dist/src/gemini.test.js.map +1 -1
  148. package/dist/src/gemini_cleanup.test.d.ts +6 -0
  149. package/dist/src/gemini_cleanup.test.js +201 -0
  150. package/dist/src/gemini_cleanup.test.js.map +1 -0
  151. package/dist/src/generated/git-commit.d.ts +2 -2
  152. package/dist/src/generated/git-commit.js +2 -2
  153. package/dist/src/nonInteractiveCli.js +4 -1
  154. package/dist/src/nonInteractiveCli.js.map +1 -1
  155. package/dist/src/nonInteractiveCli.test.js +338 -2
  156. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  157. package/dist/src/services/BuiltinCommandLoader.js +3 -1
  158. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  159. package/dist/src/services/BuiltinCommandLoader.test.js +1 -22
  160. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  161. package/dist/src/services/CommandService.test.js +3 -2
  162. package/dist/src/services/CommandService.test.js.map +1 -1
  163. package/dist/src/services/McpPromptLoader.js +5 -3
  164. package/dist/src/services/McpPromptLoader.js.map +1 -1
  165. package/dist/src/services/McpPromptLoader.test.js +29 -1
  166. package/dist/src/services/McpPromptLoader.test.js.map +1 -1
  167. package/dist/src/test-utils/mockCommandContext.js +1 -1
  168. package/dist/src/test-utils/render.d.ts +26 -2
  169. package/dist/src/test-utils/render.js +80 -3
  170. package/dist/src/test-utils/render.js.map +1 -1
  171. package/dist/src/ui/App.test.js +28 -14
  172. package/dist/src/ui/App.test.js.map +1 -1
  173. package/dist/src/ui/AppContainer.js +142 -48
  174. package/dist/src/ui/AppContainer.js.map +1 -1
  175. package/dist/src/ui/AppContainer.test.js +181 -103
  176. package/dist/src/ui/AppContainer.test.js.map +1 -1
  177. package/dist/src/ui/IdeIntegrationNudge.test.d.ts +6 -0
  178. package/dist/src/ui/IdeIntegrationNudge.test.js +147 -0
  179. package/dist/src/ui/IdeIntegrationNudge.test.js.map +1 -0
  180. package/dist/src/ui/auth/ApiAuthDialog.test.js +12 -17
  181. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
  182. package/dist/src/ui/auth/AuthDialog.js +17 -10
  183. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  184. package/dist/src/ui/auth/AuthDialog.test.js +55 -21
  185. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  186. package/dist/src/ui/auth/AuthInProgress.test.d.ts +6 -0
  187. package/dist/src/ui/auth/AuthInProgress.test.js +71 -0
  188. package/dist/src/ui/auth/AuthInProgress.test.js.map +1 -0
  189. package/dist/src/ui/auth/useAuth.d.ts +2 -0
  190. package/dist/src/ui/auth/useAuth.js +6 -1
  191. package/dist/src/ui/auth/useAuth.js.map +1 -1
  192. package/dist/src/ui/auth/useAuth.test.d.ts +6 -0
  193. package/dist/src/ui/auth/useAuth.test.js +178 -0
  194. package/dist/src/ui/auth/useAuth.test.js.map +1 -0
  195. package/dist/src/ui/commands/aboutCommand.js +8 -1
  196. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  197. package/dist/src/ui/commands/aboutCommand.test.js +4 -0
  198. package/dist/src/ui/commands/aboutCommand.test.js.map +1 -1
  199. package/dist/src/ui/commands/clearCommand.js +12 -0
  200. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  201. package/dist/src/ui/commands/clearCommand.test.js +5 -0
  202. package/dist/src/ui/commands/clearCommand.test.js.map +1 -1
  203. package/dist/src/ui/commands/directoryCommand.d.ts +0 -1
  204. package/dist/src/ui/commands/directoryCommand.js +104 -43
  205. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  206. package/dist/src/ui/commands/directoryCommand.test.js +91 -2
  207. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -1
  208. package/dist/src/ui/commands/extensionsCommand.js +28 -6
  209. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  210. package/dist/src/ui/commands/extensionsCommand.test.js +32 -0
  211. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  212. package/dist/src/ui/commands/memoryCommand.js +1 -0
  213. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  214. package/dist/src/ui/commands/memoryCommand.test.js +3 -0
  215. package/dist/src/ui/commands/memoryCommand.test.js.map +1 -1
  216. package/dist/src/ui/commands/permissionsCommand.js +62 -5
  217. package/dist/src/ui/commands/permissionsCommand.js.map +1 -1
  218. package/dist/src/ui/commands/permissionsCommand.test.js +60 -4
  219. package/dist/src/ui/commands/permissionsCommand.test.js.map +1 -1
  220. package/dist/src/ui/commands/resumeCommand.d.ts +7 -0
  221. package/dist/src/ui/commands/resumeCommand.js +16 -0
  222. package/dist/src/ui/commands/resumeCommand.js.map +1 -0
  223. package/dist/src/ui/commands/setupGithubCommand.d.ts +1 -0
  224. package/dist/src/ui/commands/setupGithubCommand.js +82 -45
  225. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  226. package/dist/src/ui/commands/setupGithubCommand.test.js +35 -5
  227. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
  228. package/dist/src/ui/commands/statsCommand.js +27 -16
  229. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  230. package/dist/src/ui/commands/types.d.ts +8 -2
  231. package/dist/src/ui/commands/types.js.map +1 -1
  232. package/dist/src/ui/components/AboutBox.d.ts +1 -0
  233. package/dist/src/ui/components/AboutBox.js +1 -1
  234. package/dist/src/ui/components/AboutBox.js.map +1 -1
  235. package/dist/src/ui/components/AboutBox.test.d.ts +6 -0
  236. package/dist/src/ui/components/AboutBox.test.js +53 -0
  237. package/dist/src/ui/components/AboutBox.test.js.map +1 -0
  238. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +62 -11
  239. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +1 -1
  240. package/dist/src/ui/components/AnsiOutput.test.js +18 -23
  241. package/dist/src/ui/components/AnsiOutput.test.js.map +1 -1
  242. package/dist/src/ui/components/AppHeader.js +3 -22
  243. package/dist/src/ui/components/AppHeader.js.map +1 -1
  244. package/dist/src/ui/components/AppHeader.test.js +10 -4
  245. package/dist/src/ui/components/AppHeader.test.js.map +1 -1
  246. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  247. package/dist/src/ui/components/AsciiArt.js +6 -6
  248. package/dist/src/ui/components/AutoAcceptIndicator.test.d.ts +6 -0
  249. package/dist/src/ui/components/AutoAcceptIndicator.test.js +31 -0
  250. package/dist/src/ui/components/AutoAcceptIndicator.test.js.map +1 -0
  251. package/dist/src/ui/components/Banner.d.ts +4 -2
  252. package/dist/src/ui/components/Banner.js +18 -4
  253. package/dist/src/ui/components/Banner.js.map +1 -1
  254. package/dist/src/ui/components/Banner.test.d.ts +6 -0
  255. package/dist/src/ui/components/Banner.test.js +24 -0
  256. package/dist/src/ui/components/Banner.test.js.map +1 -0
  257. package/dist/src/ui/components/ConfigInitDisplay.test.d.ts +6 -0
  258. package/dist/src/ui/components/ConfigInitDisplay.test.js +103 -0
  259. package/dist/src/ui/components/ConfigInitDisplay.test.js.map +1 -0
  260. package/dist/src/ui/components/ConsoleSummaryDisplay.test.d.ts +6 -0
  261. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js +26 -0
  262. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js.map +1 -0
  263. package/dist/src/ui/components/ContextUsageDisplay.test.d.ts +6 -0
  264. package/dist/src/ui/components/ContextUsageDisplay.test.js +39 -0
  265. package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -0
  266. package/dist/src/ui/components/CopyModeWarning.test.d.ts +6 -0
  267. package/dist/src/ui/components/CopyModeWarning.test.js +33 -0
  268. package/dist/src/ui/components/CopyModeWarning.test.js.map +1 -0
  269. package/dist/src/ui/components/DebugProfiler.d.ts +1 -0
  270. package/dist/src/ui/components/DebugProfiler.js +24 -35
  271. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  272. package/dist/src/ui/components/DebugProfiler.test.js +47 -1
  273. package/dist/src/ui/components/DebugProfiler.test.js.map +1 -1
  274. package/dist/src/ui/components/DetailedMessagesDisplay.test.d.ts +6 -0
  275. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +49 -0
  276. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -0
  277. package/dist/src/ui/components/DialogManager.js +11 -2
  278. package/dist/src/ui/components/DialogManager.js.map +1 -1
  279. package/dist/src/ui/components/DialogManager.test.d.ts +6 -0
  280. package/dist/src/ui/components/DialogManager.test.js +167 -0
  281. package/dist/src/ui/components/DialogManager.test.js.map +1 -0
  282. package/dist/src/ui/components/EditorSettingsDialog.test.d.ts +6 -0
  283. package/dist/src/ui/components/EditorSettingsDialog.test.js +111 -0
  284. package/dist/src/ui/components/EditorSettingsDialog.test.js.map +1 -0
  285. package/dist/src/ui/components/ExitWarning.test.d.ts +6 -0
  286. package/dist/src/ui/components/ExitWarning.test.js +54 -0
  287. package/dist/src/ui/components/ExitWarning.test.js.map +1 -0
  288. package/dist/src/ui/components/GeminiRespondingSpinner.test.d.ts +6 -0
  289. package/dist/src/ui/components/GeminiRespondingSpinner.test.js +58 -0
  290. package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +1 -0
  291. package/dist/src/ui/components/GradientRegression.test.js +22 -1
  292. package/dist/src/ui/components/GradientRegression.test.js.map +1 -1
  293. package/dist/src/ui/components/Header.test.js +27 -2
  294. package/dist/src/ui/components/Header.test.js.map +1 -1
  295. package/dist/src/ui/components/HistoryItemDisplay.js +2 -1
  296. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  297. package/dist/src/ui/components/InputPrompt.js +30 -36
  298. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  299. package/dist/src/ui/components/InputPrompt.test.js +110 -24
  300. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  301. package/dist/src/ui/components/LoadingIndicator.js +6 -1
  302. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  303. package/dist/src/ui/components/MainContent.test.d.ts +6 -0
  304. package/dist/src/ui/components/MainContent.test.js +73 -0
  305. package/dist/src/ui/components/MainContent.test.js.map +1 -0
  306. package/dist/src/ui/components/MemoryUsageDisplay.test.d.ts +6 -0
  307. package/dist/src/ui/components/MemoryUsageDisplay.test.js +49 -0
  308. package/dist/src/ui/components/MemoryUsageDisplay.test.js.map +1 -0
  309. package/dist/src/ui/components/ModelDialog.js +2 -2
  310. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  311. package/dist/src/ui/components/ModelDialog.test.js +1 -1
  312. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  313. package/dist/src/ui/components/MultiFolderTrustDialog.d.ts +23 -0
  314. package/dist/src/ui/components/MultiFolderTrustDialog.js +90 -0
  315. package/dist/src/ui/components/MultiFolderTrustDialog.js.map +1 -0
  316. package/dist/src/ui/components/MultiFolderTrustDialog.test.d.ts +6 -0
  317. package/dist/src/ui/components/MultiFolderTrustDialog.test.js +161 -0
  318. package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -0
  319. package/dist/src/ui/components/Notifications.js +5 -3
  320. package/dist/src/ui/components/Notifications.js.map +1 -1
  321. package/dist/src/ui/components/Notifications.test.d.ts +6 -0
  322. package/dist/src/ui/components/Notifications.test.js +153 -0
  323. package/dist/src/ui/components/Notifications.test.js.map +1 -0
  324. package/dist/src/ui/components/PermissionsModifyTrustDialog.d.ts +5 -2
  325. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +12 -7
  326. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -1
  327. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +2 -2
  328. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
  329. package/dist/src/ui/components/ProQuotaDialog.js +2 -2
  330. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  331. package/dist/src/ui/components/QuittingDisplay.test.d.ts +6 -0
  332. package/dist/src/ui/components/QuittingDisplay.test.js +49 -0
  333. package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -0
  334. package/dist/src/ui/components/RawMarkdownIndicator.test.d.ts +6 -0
  335. package/dist/src/ui/components/RawMarkdownIndicator.test.js +34 -0
  336. package/dist/src/ui/components/RawMarkdownIndicator.test.js.map +1 -0
  337. package/dist/src/ui/components/SessionBrowser.d.ts +98 -0
  338. package/dist/src/ui/components/SessionBrowser.js +457 -0
  339. package/dist/src/ui/components/SessionBrowser.js.map +1 -0
  340. package/dist/src/ui/components/SessionBrowser.test.d.ts +6 -0
  341. package/dist/src/ui/components/SessionBrowser.test.js +250 -0
  342. package/dist/src/ui/components/SessionBrowser.test.js.map +1 -0
  343. package/dist/src/ui/components/SettingsDialog.d.ts +3 -1
  344. package/dist/src/ui/components/SettingsDialog.js +4 -1
  345. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  346. package/dist/src/ui/components/ShellInputPrompt.test.d.ts +6 -0
  347. package/dist/src/ui/components/ShellInputPrompt.test.js +82 -0
  348. package/dist/src/ui/components/ShellInputPrompt.test.js.map +1 -0
  349. package/dist/src/ui/components/ShellModeIndicator.test.d.ts +6 -0
  350. package/dist/src/ui/components/ShellModeIndicator.test.js +17 -0
  351. package/dist/src/ui/components/ShellModeIndicator.test.js.map +1 -0
  352. package/dist/src/ui/components/ShowMoreLines.test.d.ts +6 -0
  353. package/dist/src/ui/components/ShowMoreLines.test.js +40 -0
  354. package/dist/src/ui/components/ShowMoreLines.test.js.map +1 -0
  355. package/dist/src/ui/components/SuggestionsDisplay.test.d.ts +6 -0
  356. package/dist/src/ui/components/SuggestionsDisplay.test.js +56 -0
  357. package/dist/src/ui/components/SuggestionsDisplay.test.js.map +1 -0
  358. package/dist/src/ui/components/ThemeDialog.js +6 -2
  359. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  360. package/dist/src/ui/components/ThemeDialog.test.js +20 -6
  361. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
  362. package/dist/src/ui/components/ThemedGradient.js +2 -1
  363. package/dist/src/ui/components/ThemedGradient.js.map +1 -1
  364. package/dist/src/ui/components/ThemedGradient.test.d.ts +6 -0
  365. package/dist/src/ui/components/ThemedGradient.test.js +30 -0
  366. package/dist/src/ui/components/ThemedGradient.test.js.map +1 -0
  367. package/dist/src/ui/components/Tips.test.d.ts +6 -0
  368. package/dist/src/ui/components/Tips.test.js +23 -0
  369. package/dist/src/ui/components/Tips.test.js.map +1 -0
  370. package/dist/src/ui/components/UpdateNotification.test.d.ts +6 -0
  371. package/dist/src/ui/components/UpdateNotification.test.js +16 -0
  372. package/dist/src/ui/components/UpdateNotification.test.js.map +1 -0
  373. package/dist/src/ui/components/messages/ErrorMessage.test.d.ts +6 -0
  374. package/dist/src/ui/components/messages/ErrorMessage.test.js +23 -0
  375. package/dist/src/ui/components/messages/ErrorMessage.test.js.map +1 -0
  376. package/dist/src/ui/components/messages/InfoMessage.test.d.ts +6 -0
  377. package/dist/src/ui/components/messages/InfoMessage.test.js +28 -0
  378. package/dist/src/ui/components/messages/InfoMessage.test.js.map +1 -0
  379. package/dist/src/ui/components/messages/ModelMessage.d.ts +11 -0
  380. package/dist/src/ui/components/messages/ModelMessage.js +5 -0
  381. package/dist/src/ui/components/messages/ModelMessage.js.map +1 -0
  382. package/dist/src/ui/components/messages/ShellToolMessage.d.ts +14 -0
  383. package/dist/src/ui/components/messages/ShellToolMessage.js +76 -0
  384. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -0
  385. package/dist/src/ui/components/messages/ShellToolMessage.test.d.ts +6 -0
  386. package/dist/src/ui/components/messages/ShellToolMessage.test.js +123 -0
  387. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -0
  388. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +5 -6
  389. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  390. package/dist/src/ui/components/messages/ToolGroupMessage.js +19 -1
  391. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  392. package/dist/src/ui/components/messages/ToolMessage.d.ts +6 -4
  393. package/dist/src/ui/components/messages/ToolMessage.js +15 -102
  394. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  395. package/dist/src/ui/components/messages/ToolMessage.test.js +26 -26
  396. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  397. package/dist/src/ui/components/messages/ToolResultDisplay.d.ts +13 -0
  398. package/dist/src/ui/components/messages/ToolResultDisplay.js +54 -0
  399. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -0
  400. package/dist/src/ui/components/messages/ToolResultDisplay.test.d.ts +6 -0
  401. package/dist/src/ui/components/messages/ToolResultDisplay.test.js +96 -0
  402. package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -0
  403. package/dist/src/ui/components/messages/ToolShared.d.ts +23 -0
  404. package/dist/src/ui/components/messages/ToolShared.js +40 -0
  405. package/dist/src/ui/components/messages/ToolShared.js.map +1 -0
  406. package/dist/src/ui/components/messages/UserMessage.test.d.ts +6 -0
  407. package/dist/src/ui/components/messages/UserMessage.test.js +32 -0
  408. package/dist/src/ui/components/messages/UserMessage.test.js.map +1 -0
  409. package/dist/src/ui/components/messages/WarningMessage.test.d.ts +6 -0
  410. package/dist/src/ui/components/messages/WarningMessage.test.js +23 -0
  411. package/dist/src/ui/components/messages/WarningMessage.test.js.map +1 -0
  412. package/dist/src/ui/components/shared/text-buffer.d.ts +1 -0
  413. package/dist/src/ui/components/shared/text-buffer.js +27 -5
  414. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  415. package/dist/src/ui/components/shared/text-buffer.test.js +20 -0
  416. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  417. package/dist/src/ui/constants/tips.d.ts +6 -0
  418. package/dist/src/ui/constants/tips.js +168 -0
  419. package/dist/src/ui/constants/tips.js.map +1 -0
  420. package/dist/src/ui/constants/wittyPhrases.d.ts +6 -0
  421. package/dist/src/ui/constants/wittyPhrases.js +137 -0
  422. package/dist/src/ui/constants/wittyPhrases.js.map +1 -0
  423. package/dist/src/ui/constants.d.ts +1 -0
  424. package/dist/src/ui/constants.js +1 -0
  425. package/dist/src/ui/constants.js.map +1 -1
  426. package/dist/src/ui/contexts/KeypressContext.js +21 -11
  427. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  428. package/dist/src/ui/contexts/KeypressContext.test.js +29 -10
  429. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  430. package/dist/src/ui/contexts/UIActionsContext.d.ts +8 -0
  431. package/dist/src/ui/contexts/UIActionsContext.js +1 -0
  432. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  433. package/dist/src/ui/contexts/UIStateContext.d.ts +5 -0
  434. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  435. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +1 -0
  436. package/dist/src/ui/hooks/shellCommandProcessor.js +11 -5
  437. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  438. package/dist/src/ui/hooks/shellCommandProcessor.test.js +4 -3
  439. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  440. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -3
  441. package/dist/src/ui/hooks/slashCommandProcessor.js +17 -5
  442. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  443. package/dist/src/ui/hooks/slashCommandProcessor.test.js +2 -0
  444. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  445. package/dist/src/ui/hooks/useAlternateBuffer.js +1 -1
  446. package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
  447. package/dist/src/ui/hooks/useBanner.d.ts +14 -0
  448. package/dist/src/ui/hooks/useBanner.js +48 -0
  449. package/dist/src/ui/hooks/useBanner.js.map +1 -0
  450. package/dist/src/ui/hooks/useBanner.test.d.ts +6 -0
  451. package/dist/src/ui/hooks/useBanner.test.js +92 -0
  452. package/dist/src/ui/hooks/useBanner.test.js.map +1 -0
  453. package/dist/src/ui/hooks/useBracketedPaste.js +3 -4
  454. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -1
  455. package/dist/src/ui/hooks/useCommandCompletion.test.js +5 -5
  456. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  457. package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -1
  458. package/dist/src/ui/hooks/useConsoleMessages.js +26 -1
  459. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  460. package/dist/src/ui/hooks/useConsoleMessages.test.js +37 -5
  461. package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -1
  462. package/dist/src/ui/hooks/useEditorSettings.d.ts +2 -2
  463. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
  464. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
  465. package/dist/src/ui/hooks/useFolderTrust.js +11 -1
  466. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  467. package/dist/src/ui/hooks/useFolderTrust.test.js +22 -0
  468. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  469. package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
  470. package/dist/src/ui/hooks/useGeminiStream.js +69 -12
  471. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  472. package/dist/src/ui/hooks/useGeminiStream.test.js +21 -22
  473. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  474. package/dist/src/ui/hooks/useHistoryManager.d.ts +5 -2
  475. package/dist/src/ui/hooks/useHistoryManager.js +39 -3
  476. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -1
  477. package/dist/src/ui/hooks/useInactivityTimer.d.ts +14 -0
  478. package/dist/src/ui/hooks/useInactivityTimer.js +30 -0
  479. package/dist/src/ui/hooks/useInactivityTimer.js.map +1 -0
  480. package/dist/src/ui/hooks/useIncludeDirsTrust.d.ts +8 -0
  481. package/dist/src/ui/hooks/useIncludeDirsTrust.js +119 -0
  482. package/dist/src/ui/hooks/useIncludeDirsTrust.js.map +1 -0
  483. package/dist/src/ui/hooks/useIncludeDirsTrust.test.d.ts +6 -0
  484. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +151 -0
  485. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +1 -0
  486. package/dist/src/ui/hooks/useInputHistoryStore.test.js +4 -1
  487. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -1
  488. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +0 -1
  489. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +1 -2
  490. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -1
  491. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  492. package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
  493. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  494. package/dist/src/ui/hooks/useLoadingIndicator.test.js +21 -9
  495. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  496. package/dist/src/ui/hooks/useMouseClick.d.ts +12 -0
  497. package/dist/src/ui/hooks/useMouseClick.js +28 -0
  498. package/dist/src/ui/hooks/useMouseClick.js.map +1 -0
  499. package/dist/src/ui/hooks/useMouseClick.test.d.ts +6 -0
  500. package/dist/src/ui/hooks/useMouseClick.test.js +59 -0
  501. package/dist/src/ui/hooks/useMouseClick.test.js.map +1 -0
  502. package/dist/src/ui/hooks/usePermissionsModifyTrust.d.ts +2 -2
  503. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +44 -7
  504. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -1
  505. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +191 -89
  506. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
  507. package/dist/src/ui/hooks/usePhraseCycler.d.ts +4 -3
  508. package/dist/src/ui/hooks/usePhraseCycler.js +54 -305
  509. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  510. package/dist/src/ui/hooks/usePhraseCycler.test.js +109 -30
  511. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  512. package/dist/src/ui/hooks/useQuotaAndFallback.js +9 -3
  513. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  514. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +25 -3
  515. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
  516. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +3 -2
  517. package/dist/src/ui/hooks/useReactToolScheduler.js +4 -8
  518. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  519. package/dist/src/ui/hooks/useReactToolScheduler.test.js +1 -8
  520. package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +1 -1
  521. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +18 -12
  522. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -1
  523. package/dist/src/ui/hooks/useSessionBrowser.d.ts +18 -1
  524. package/dist/src/ui/hooks/useSessionBrowser.js +76 -4
  525. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  526. package/dist/src/ui/hooks/useSessionBrowser.test.js +154 -489
  527. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  528. package/dist/src/ui/hooks/useSessionResume.js +1 -1
  529. package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
  530. package/dist/src/ui/hooks/useSessionResume.test.js +4 -4
  531. package/dist/src/ui/hooks/useSessionResume.test.js.map +1 -1
  532. package/dist/src/ui/hooks/useSlashCompletion.test.js +5 -5
  533. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  534. package/dist/src/ui/hooks/useThemeCommand.d.ts +2 -2
  535. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  536. package/dist/src/ui/hooks/useToolScheduler.test.js +8 -4
  537. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  538. package/dist/src/ui/keyMatchers.test.js +2 -2
  539. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  540. package/dist/src/ui/layouts/DefaultAppLayout.js +1 -1
  541. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -1
  542. package/dist/src/ui/noninteractive/nonInteractiveUi.js +1 -0
  543. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
  544. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.d.ts +6 -0
  545. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +121 -0
  546. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +1 -0
  547. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.d.ts +6 -0
  548. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +34 -0
  549. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +1 -0
  550. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.d.ts +6 -0
  551. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +34 -0
  552. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +1 -0
  553. package/dist/src/ui/privacy/PrivacyNotice.test.d.ts +6 -0
  554. package/dist/src/ui/privacy/PrivacyNotice.test.js +62 -0
  555. package/dist/src/ui/privacy/PrivacyNotice.test.js.map +1 -0
  556. package/dist/src/ui/state/extensions.test.js +208 -51
  557. package/dist/src/ui/state/extensions.test.js.map +1 -1
  558. package/dist/src/ui/themes/holiday.d.ts +7 -0
  559. package/dist/src/ui/themes/holiday.js +162 -0
  560. package/dist/src/ui/themes/holiday.js.map +1 -0
  561. package/dist/src/ui/themes/theme-manager.js +2 -0
  562. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  563. package/dist/src/ui/themes/theme-manager.test.js +2 -1
  564. package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
  565. package/dist/src/ui/types.d.ts +7 -1
  566. package/dist/src/ui/types.js +1 -1
  567. package/dist/src/ui/types.js.map +1 -1
  568. package/dist/src/ui/utils/ConsolePatcher.js +6 -9
  569. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  570. package/dist/src/ui/utils/bracketedPaste.d.ts +7 -0
  571. package/dist/src/ui/utils/bracketedPaste.js +15 -0
  572. package/dist/src/ui/utils/bracketedPaste.js.map +1 -0
  573. package/dist/src/ui/utils/commandUtils.js +3 -86
  574. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  575. package/dist/src/ui/utils/commandUtils.test.js +21 -273
  576. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  577. package/dist/src/ui/utils/directoryUtils.d.ts +6 -0
  578. package/dist/src/ui/utils/directoryUtils.js +21 -0
  579. package/dist/src/ui/utils/directoryUtils.js.map +1 -0
  580. package/dist/src/ui/utils/directoryUtils.test.d.ts +6 -0
  581. package/dist/src/ui/utils/directoryUtils.test.js +52 -0
  582. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -0
  583. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +6 -2
  584. package/dist/src/ui/utils/kittyProtocolDetector.js +47 -43
  585. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
  586. package/dist/src/ui/utils/kittyProtocolDetector.test.d.ts +6 -0
  587. package/dist/src/ui/utils/kittyProtocolDetector.test.js +113 -0
  588. package/dist/src/ui/utils/kittyProtocolDetector.test.js.map +1 -0
  589. package/dist/src/ui/utils/mouse.d.ts +2 -2
  590. package/dist/src/ui/utils/mouse.js +2 -11
  591. package/dist/src/ui/utils/mouse.js.map +1 -1
  592. package/dist/src/ui/utils/terminalSetup.js +39 -38
  593. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  594. package/dist/src/ui/utils/terminalSetup.test.d.ts +6 -0
  595. package/dist/src/ui/utils/terminalSetup.test.js +132 -0
  596. package/dist/src/ui/utils/terminalSetup.test.js.map +1 -0
  597. package/dist/src/ui/utils/ui-sizing.test.d.ts +6 -0
  598. package/dist/src/ui/utils/ui-sizing.test.js +56 -0
  599. package/dist/src/ui/utils/ui-sizing.test.js.map +1 -0
  600. package/dist/src/utils/checks.test.d.ts +6 -0
  601. package/dist/src/utils/checks.test.js +29 -0
  602. package/dist/src/utils/checks.test.js.map +1 -0
  603. package/dist/src/utils/cleanup.d.ts +2 -0
  604. package/dist/src/utils/cleanup.js +16 -0
  605. package/dist/src/utils/cleanup.js.map +1 -1
  606. package/dist/src/utils/cleanup.test.js +69 -16
  607. package/dist/src/utils/cleanup.test.js.map +1 -1
  608. package/dist/src/utils/dialogScopeUtils.test.d.ts +6 -0
  609. package/dist/src/utils/dialogScopeUtils.test.js +81 -0
  610. package/dist/src/utils/dialogScopeUtils.test.js.map +1 -0
  611. package/dist/src/utils/errors.js +10 -0
  612. package/dist/src/utils/errors.js.map +1 -1
  613. package/dist/src/utils/errors.test.js +62 -0
  614. package/dist/src/utils/errors.test.js.map +1 -1
  615. package/dist/src/utils/events.d.ts +0 -2
  616. package/dist/src/utils/events.js +0 -1
  617. package/dist/src/utils/events.js.map +1 -1
  618. package/dist/src/utils/events.test.d.ts +6 -0
  619. package/dist/src/utils/events.test.js +24 -0
  620. package/dist/src/utils/events.test.js.map +1 -0
  621. package/dist/src/utils/handleAutoUpdate.test.js +103 -24
  622. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  623. package/dist/src/utils/installationInfo.test.js +8 -9
  624. package/dist/src/utils/installationInfo.test.js.map +1 -1
  625. package/dist/src/utils/math.test.d.ts +6 -0
  626. package/dist/src/utils/math.test.js +23 -0
  627. package/dist/src/utils/math.test.js.map +1 -0
  628. package/dist/src/utils/persistentState.d.ts +1 -1
  629. package/dist/src/utils/persistentState.test.d.ts +6 -0
  630. package/dist/src/utils/persistentState.test.js +68 -0
  631. package/dist/src/utils/persistentState.test.js.map +1 -0
  632. package/dist/src/utils/readStdin.js +1 -0
  633. package/dist/src/utils/readStdin.js.map +1 -1
  634. package/dist/src/utils/readStdin.test.js +25 -0
  635. package/dist/src/utils/readStdin.test.js.map +1 -1
  636. package/dist/src/utils/resolvePath.test.d.ts +6 -0
  637. package/dist/src/utils/resolvePath.test.js +31 -0
  638. package/dist/src/utils/resolvePath.test.js.map +1 -0
  639. package/dist/src/utils/sandbox.js +6 -137
  640. package/dist/src/utils/sandbox.js.map +1 -1
  641. package/dist/src/utils/sandbox.test.d.ts +6 -0
  642. package/dist/src/utils/sandbox.test.js +302 -0
  643. package/dist/src/utils/sandbox.test.js.map +1 -0
  644. package/dist/src/utils/sandboxUtils.d.ts +14 -0
  645. package/dist/src/utils/sandboxUtils.js +120 -0
  646. package/dist/src/utils/sandboxUtils.js.map +1 -0
  647. package/dist/src/utils/sandboxUtils.test.d.ts +6 -0
  648. package/dist/src/utils/sandboxUtils.test.js +119 -0
  649. package/dist/src/utils/sandboxUtils.test.js.map +1 -0
  650. package/dist/src/utils/sessionCleanup.test.js +42 -2
  651. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  652. package/dist/src/utils/sessionUtils.d.ts +54 -4
  653. package/dist/src/utils/sessionUtils.js +106 -26
  654. package/dist/src/utils/sessionUtils.js.map +1 -1
  655. package/dist/src/utils/sessionUtils.test.js +46 -3
  656. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  657. package/dist/src/utils/sessions.js +4 -1
  658. package/dist/src/utils/sessions.js.map +1 -1
  659. package/dist/src/utils/sessions.test.d.ts +6 -0
  660. package/dist/src/utils/sessions.test.js +558 -0
  661. package/dist/src/utils/sessions.test.js.map +1 -0
  662. package/dist/src/utils/updateEventEmitter.test.d.ts +6 -0
  663. package/dist/src/utils/updateEventEmitter.test.js +18 -0
  664. package/dist/src/utils/updateEventEmitter.test.js.map +1 -0
  665. package/dist/src/utils/version.test.d.ts +6 -0
  666. package/dist/src/utils/version.test.js +39 -0
  667. package/dist/src/utils/version.test.js.map +1 -0
  668. package/dist/src/validateNonInterActiveAuth.js +2 -0
  669. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  670. package/dist/src/zed-integration/acp.d.ts +2 -24
  671. package/dist/src/zed-integration/acp.js +2 -156
  672. package/dist/src/zed-integration/acp.js.map +1 -1
  673. package/dist/src/zed-integration/acp.test.d.ts +6 -0
  674. package/dist/src/zed-integration/acp.test.js +227 -0
  675. package/dist/src/zed-integration/acp.test.js.map +1 -0
  676. package/dist/src/zed-integration/connection.d.ts +28 -0
  677. package/dist/src/zed-integration/connection.js +163 -0
  678. package/dist/src/zed-integration/connection.js.map +1 -0
  679. package/dist/src/zed-integration/connection.test.d.ts +6 -0
  680. package/dist/src/zed-integration/connection.test.js +175 -0
  681. package/dist/src/zed-integration/connection.test.js.map +1 -0
  682. package/dist/src/zed-integration/fileSystemService.test.d.ts +6 -0
  683. package/dist/src/zed-integration/fileSystemService.test.js +98 -0
  684. package/dist/src/zed-integration/fileSystemService.test.js.map +1 -0
  685. package/dist/src/zed-integration/schema.d.ts +69 -13
  686. package/dist/src/zed-integration/schema.js +6 -5
  687. package/dist/src/zed-integration/schema.js.map +1 -1
  688. package/dist/src/zed-integration/zedIntegration.d.ts +31 -8
  689. package/dist/src/zed-integration/zedIntegration.js +14 -23
  690. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  691. package/dist/src/zed-integration/zedIntegration.test.d.ts +6 -0
  692. package/dist/src/zed-integration/zedIntegration.test.js +619 -0
  693. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -0
  694. package/dist/tsconfig.tsbuildinfo +1 -1
  695. package/package.json +10 -9
@@ -11,12 +11,15 @@ import { useFolderTrust } from './useFolderTrust.js';
11
11
  import { FolderTrustChoice } from '../components/FolderTrustDialog.js';
12
12
  import { TrustLevel } from '../../config/trustedFolders.js';
13
13
  import * as trustedFolders from '../../config/trustedFolders.js';
14
+ import { coreEvents } from '@google/gemini-cli-core';
14
15
  const mockedCwd = vi.hoisted(() => vi.fn());
16
+ const mockedExit = vi.hoisted(() => vi.fn());
15
17
  vi.mock('node:process', async () => {
16
18
  const actual = await vi.importActual('node:process');
17
19
  return {
18
20
  ...actual,
19
21
  cwd: mockedCwd,
22
+ exit: mockedExit,
20
23
  platform: 'linux',
21
24
  };
22
25
  });
@@ -27,6 +30,7 @@ describe('useFolderTrust', () => {
27
30
  let onTrustChange;
28
31
  let addItem;
29
32
  beforeEach(() => {
33
+ vi.useFakeTimers();
30
34
  mockSettings = {
31
35
  merged: {
32
36
  security: {
@@ -47,6 +51,7 @@ describe('useFolderTrust', () => {
47
51
  addItem = vi.fn();
48
52
  });
49
53
  afterEach(() => {
54
+ vi.useRealTimers();
50
55
  vi.clearAllMocks();
51
56
  });
52
57
  it('should not open dialog when folder is already trusted', () => {
@@ -184,5 +189,22 @@ describe('useFolderTrust', () => {
184
189
  expect(result.current.isRestarting).toBe(false);
185
190
  expect(result.current.isFolderTrustDialogOpen).toBe(false); // Dialog should close
186
191
  });
192
+ it('should emit feedback on failure to set value', () => {
193
+ isWorkspaceTrustedSpy.mockReturnValue({
194
+ isTrusted: undefined,
195
+ source: undefined,
196
+ });
197
+ mockTrustedFolders.setValue.mockImplementation(() => {
198
+ throw new Error('test error');
199
+ });
200
+ const emitFeedbackSpy = vi.spyOn(coreEvents, 'emitFeedback');
201
+ const { result } = renderHook(() => useFolderTrust(mockSettings, onTrustChange, addItem));
202
+ act(() => {
203
+ result.current.handleFolderTrustSelect(FolderTrustChoice.TRUST_FOLDER);
204
+ });
205
+ vi.runAllTimers();
206
+ expect(emitFeedbackSpy).toHaveBeenCalledWith('error', 'Failed to save trust settings. Exiting Cell CLI.');
207
+ expect(mockedExit).toHaveBeenCalledWith(1);
208
+ });
187
209
  });
188
210
  //# sourceMappingURL=useFolderTrust.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFolderTrust.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useFolderTrust.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useFolderTrust.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useFolderTrust.test.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import type { LoadedSettings } from '../../config/settings.js';
15
15
  * Manages the Gemini stream, including user input, command processing,
16
16
  * API interaction, and tool call lifecycle.
17
17
  */
18
- export declare const useGeminiStream: (geminiClient: GeminiClient, history: HistoryItem[], addItem: UseHistoryManagerReturn["addItem"], config: Config, settings: LoadedSettings, onDebugMessage: (message: string) => void, handleSlashCommand: (cmd: PartListUnion) => Promise<SlashCommandProcessorResult | false>, shellModeActive: boolean, getPreferredEditor: () => EditorType | undefined, onAuthError: (error: string) => void, performMemoryRefresh: () => Promise<void>, modelSwitchedFromQuotaError: boolean, setModelSwitchedFromQuotaError: React.Dispatch<React.SetStateAction<boolean>>, onEditorClose: () => void, onCancelSubmit: () => void, setShellInputFocused: (value: boolean) => void, terminalWidth: number, terminalHeight: number, isShellFocused?: boolean) => {
18
+ export declare const useGeminiStream: (geminiClient: GeminiClient, history: HistoryItem[], addItem: UseHistoryManagerReturn["addItem"], config: Config, settings: LoadedSettings, onDebugMessage: (message: string) => void, handleSlashCommand: (cmd: PartListUnion) => Promise<SlashCommandProcessorResult | false>, shellModeActive: boolean, getPreferredEditor: () => EditorType | undefined, onAuthError: (error: string) => void, performMemoryRefresh: () => Promise<void>, modelSwitchedFromQuotaError: boolean, setModelSwitchedFromQuotaError: React.Dispatch<React.SetStateAction<boolean>>, onCancelSubmit: (shouldRestorePrompt?: boolean) => void, setShellInputFocused: (value: boolean) => void, terminalWidth: number, terminalHeight: number, isShellFocused?: boolean) => {
19
19
  streamingState: StreamingState;
20
20
  submitQuery: (query: PartListUnion, options?: {
21
21
  isContinuation: boolean;
@@ -32,4 +32,5 @@ export declare const useGeminiStream: (geminiClient: GeminiClient, history: Hist
32
32
  userSelection: "disable" | "keep";
33
33
  }) => void;
34
34
  } | null;
35
+ lastOutputTime: number;
35
36
  };
@@ -13,6 +13,7 @@ import { handleAtCommand } from './atCommandProcessor.js';
13
13
  import { findLastSafeSplitPoint } from '../utils/markdownUtilities.js';
14
14
  import { useStateAndRef } from './useStateAndRef.js';
15
15
  import { useLogger } from './useLogger.js';
16
+ import { SHELL_COMMAND_NAME } from '../constants.js';
16
17
  import { useReactToolScheduler, mapToDisplay as mapTrackedToolCallsToDisplay, } from './useReactToolScheduler.js';
17
18
  import { promises as fs } from 'node:fs';
18
19
  import path from 'node:path';
@@ -36,7 +37,7 @@ function showCitations(settings) {
36
37
  * Manages the Gemini stream, including user input, command processing,
37
38
  * API interaction, and tool call lifecycle.
38
39
  */
39
- export const useGeminiStream = (geminiClient, history, addItem, config, settings, onDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, onEditorClose, onCancelSubmit, setShellInputFocused, terminalWidth, terminalHeight, isShellFocused) => {
40
+ export const useGeminiStream = (geminiClient, history, addItem, config, settings, onDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, onCancelSubmit, setShellInputFocused, terminalWidth, terminalHeight, isShellFocused) => {
40
41
  const [initError, setInitError] = useState(null);
41
42
  const abortControllerRef = useRef(null);
42
43
  const turnCancelledRef = useRef(false);
@@ -54,7 +55,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
54
55
  }
55
56
  return new GitService(config.getProjectRoot(), storage);
56
57
  }, [config, storage]);
57
- const [toolCalls, scheduleToolCalls, markToolsAsSubmitted, setToolCallsForDisplay, cancelAllToolCalls,] = useReactToolScheduler(async (completedToolCallsFromScheduler) => {
58
+ const [toolCalls, scheduleToolCalls, markToolsAsSubmitted, setToolCallsForDisplay, cancelAllToolCalls, lastToolOutputTime,] = useReactToolScheduler(async (completedToolCallsFromScheduler) => {
58
59
  // This onComplete is called when ALL scheduled tools for a given batch are done.
59
60
  if (completedToolCallsFromScheduler.length > 0) {
60
61
  // Add the final state of these tools to the history for display.
@@ -76,7 +77,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
76
77
  // Handle tool response submission immediately when tools complete
77
78
  await handleCompletedTools(completedToolCallsFromScheduler);
78
79
  }
79
- }, config, getPreferredEditor, onEditorClose);
80
+ }, config, getPreferredEditor);
80
81
  const pendingToolCallGroupDisplay = useMemo(() => toolCalls.length ? mapTrackedToolCallsToDisplay(toolCalls) : undefined, [toolCalls]);
81
82
  const activeToolPtyId = useMemo(() => {
82
83
  const executingShellTool = toolCalls?.find((tc) => tc.status === 'executing' && tc.request.name === 'run_shell_command');
@@ -94,13 +95,23 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
94
95
  await done;
95
96
  setIsResponding(false);
96
97
  }, []);
97
- const { handleShellCommand, activeShellPtyId } = useShellCommandProcessor(addItem, setPendingHistoryItem, onExec, onDebugMessage, config, geminiClient, setShellInputFocused, terminalWidth, terminalHeight);
98
+ const { handleShellCommand, activeShellPtyId, lastShellOutputTime } = useShellCommandProcessor(addItem, setPendingHistoryItem, onExec, onDebugMessage, config, geminiClient, setShellInputFocused, terminalWidth, terminalHeight);
98
99
  const activePtyId = activeShellPtyId || activeToolPtyId;
99
100
  useEffect(() => {
100
101
  if (!activePtyId) {
101
102
  setShellInputFocused(false);
102
103
  }
103
104
  }, [activePtyId, setShellInputFocused]);
105
+ const prevActiveShellPtyIdRef = useRef(null);
106
+ useEffect(() => {
107
+ if (turnCancelledRef.current &&
108
+ prevActiveShellPtyIdRef.current !== null &&
109
+ activeShellPtyId === null) {
110
+ addItem({ type: MessageType.INFO, text: 'Request cancelled.' }, Date.now());
111
+ setIsResponding(false);
112
+ }
113
+ prevActiveShellPtyIdRef.current = activeShellPtyId;
114
+ }, [activeShellPtyId, addItem]);
104
115
  const streamingState = useMemo(() => {
105
116
  if (toolCalls.some((tc) => tc.status === 'awaiting_approval')) {
106
117
  return StreamingState.WaitingForConfirmation;
@@ -150,20 +161,44 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
150
161
  // 2. Call the imperative cancel to clear the queue of pending tools.
151
162
  cancelAllToolCalls(abortControllerRef.current.signal);
152
163
  if (pendingHistoryItemRef.current) {
153
- addItem(pendingHistoryItemRef.current, Date.now());
164
+ const isShellCommand = pendingHistoryItemRef.current.type === 'tool_group' &&
165
+ pendingHistoryItemRef.current.tools.some((t) => t.name === SHELL_COMMAND_NAME);
166
+ // If it is a shell command, we update the status to Canceled and clear the output
167
+ // to avoid artifacts, then add it to history immediately.
168
+ if (isShellCommand) {
169
+ const toolGroup = pendingHistoryItemRef.current;
170
+ const updatedTools = toolGroup.tools.map((tool) => {
171
+ if (tool.name === SHELL_COMMAND_NAME) {
172
+ return {
173
+ ...tool,
174
+ status: ToolCallStatus.Canceled,
175
+ resultDisplay: tool.resultDisplay,
176
+ };
177
+ }
178
+ return tool;
179
+ });
180
+ addItem({ ...toolGroup, tools: updatedTools }, Date.now());
181
+ }
182
+ else {
183
+ addItem(pendingHistoryItemRef.current, Date.now());
184
+ }
154
185
  }
155
186
  setPendingHistoryItem(null);
156
187
  // If it was a full cancellation, add the info message now.
157
188
  // Otherwise, we let handleCompletedTools figure out the next step,
158
189
  // which might involve sending partial results back to the model.
159
190
  if (isFullCancellation) {
160
- addItem({
161
- type: MessageType.INFO,
162
- text: 'Request cancelled.',
163
- }, Date.now());
164
- setIsResponding(false);
191
+ // If shell is active, we delay this message to ensure correct ordering
192
+ // (Shell item first, then Info message).
193
+ if (!activeShellPtyId) {
194
+ addItem({
195
+ type: MessageType.INFO,
196
+ text: 'Request cancelled.',
197
+ }, Date.now());
198
+ setIsResponding(false);
199
+ }
165
200
  }
166
- onCancelSubmit();
201
+ onCancelSubmit(false);
167
202
  setShellInputFocused(false);
168
203
  }, [
169
204
  streamingState,
@@ -174,6 +209,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
174
209
  setShellInputFocused,
175
210
  cancelAllToolCalls,
176
211
  toolCalls,
212
+ activeShellPtyId,
177
213
  ]);
178
214
  useKeypress((key) => {
179
215
  if (key.name === 'escape' && !isShellFocused) {
@@ -387,6 +423,8 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
387
423
  [FinishReason.MALFORMED_FUNCTION_CALL]: 'Response stopped due to malformed function call.',
388
424
  [FinishReason.IMAGE_SAFETY]: 'Response stopped due to image safety violations.',
389
425
  [FinishReason.UNEXPECTED_TOOL_CALL]: 'Response stopped due to unexpected tool call.',
426
+ [FinishReason.IMAGE_PROHIBITED_CONTENT]: 'Response stopped due to prohibited image content.',
427
+ [FinishReason.NO_IMAGE]: 'Response stopped because no image was generated.',
390
428
  };
391
429
  const message = finishReasonMessages[finishReason];
392
430
  if (message) {
@@ -415,7 +453,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
415
453
  `Please update this limit in your setting.json file.`,
416
454
  }, Date.now()), [addItem, config]);
417
455
  const handleContextWindowWillOverflowEvent = useCallback((estimatedRequestTokenCount, remainingTokenCount) => {
418
- onCancelSubmit();
456
+ onCancelSubmit(true);
419
457
  const limit = tokenLimit(config.getModel());
420
458
  const isLessThan75Percent = limit > 0 && remainingTokenCount < limit * 0.75;
421
459
  let text = `Sending this message (${estimatedRequestTokenCount} tokens) might exceed the remaining context window limit (${remainingTokenCount} tokens).`;
@@ -428,6 +466,19 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
428
466
  text,
429
467
  }, Date.now());
430
468
  }, [addItem, onCancelSubmit, config]);
469
+ const handleChatModelEvent = useCallback((eventValue, userMessageTimestamp) => {
470
+ if (!settings?.merged?.ui?.showModelInfoInChat) {
471
+ return;
472
+ }
473
+ if (pendingHistoryItemRef.current) {
474
+ addItem(pendingHistoryItemRef.current, userMessageTimestamp);
475
+ setPendingHistoryItem(null);
476
+ }
477
+ addItem({
478
+ type: 'model',
479
+ model: eventValue,
480
+ }, userMessageTimestamp);
481
+ }, [addItem, pendingHistoryItemRef, setPendingHistoryItem, settings]);
431
482
  const processGeminiStreamEvents = useCallback(async (stream, userMessageTimestamp, signal) => {
432
483
  let geminiMessageBuffer = '';
433
484
  const toolCallRequests = [];
@@ -467,6 +518,9 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
467
518
  case ServerGeminiEventType.Citation:
468
519
  handleCitationEvent(event.value, userMessageTimestamp);
469
520
  break;
521
+ case ServerGeminiEventType.ModelInfo:
522
+ handleChatModelEvent(event.value, userMessageTimestamp);
523
+ break;
470
524
  case ServerGeminiEventType.LoopDetected:
471
525
  // handle later because we want to move pending history to history
472
526
  // before we add loop detected message to history
@@ -497,6 +551,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
497
551
  handleMaxSessionTurnsEvent,
498
552
  handleContextWindowWillOverflowEvent,
499
553
  handleCitationEvent,
554
+ handleChatModelEvent,
500
555
  ]);
501
556
  const submitQuery = useCallback(async (query, options, prompt_id) => runInDevTraceSpan({ name: 'submitQuery' }, async ({ metadata: spanMetadata }) => {
502
557
  spanMetadata.input = query;
@@ -788,6 +843,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
788
843
  geminiClient,
789
844
  storage,
790
845
  ]);
846
+ const lastOutputTime = Math.max(lastToolOutputTime, lastShellOutputTime);
791
847
  return {
792
848
  streamingState,
793
849
  submitQuery,
@@ -799,6 +855,7 @@ export const useGeminiStream = (geminiClient, history, addItem, config, settings
799
855
  handleApprovalModeChange,
800
856
  activePtyId,
801
857
  loopDetectionConfirmationRequest,
858
+ lastOutputTime,
802
859
  };
803
860
  };
804
861
  //# sourceMappingURL=useGeminiStream.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGeminiStream.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useGeminiStream.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useGeminiStream.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useGeminiStream.ts"],"names":[],"mappings":"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"}
@@ -168,8 +168,8 @@ describe('useGeminiStream', () => {
168
168
  .fn()
169
169
  .mockReturnValue(contentGeneratorConfig),
170
170
  getUseSmartEdit: () => false,
171
- getUseModelRouter: () => false,
172
171
  isInteractive: () => false,
172
+ getExperiments: () => { },
173
173
  };
174
174
  mockOnDebugMessage = vi.fn();
175
175
  mockHandleSlashCommand = vi.fn().mockResolvedValue(false);
@@ -257,7 +257,7 @@ describe('useGeminiStream', () => {
257
257
  mockSetToolCallsForDisplay,
258
258
  statefulCancelAllToolCalls, // Use the stateful mock
259
259
  ]);
260
- return useGeminiStream(props.client, props.history, props.addItem, props.config, props.loadedSettings, props.onDebugMessage, props.handleSlashCommand, props.shellModeActive, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24);
260
+ return useGeminiStream(props.client, props.history, props.addItem, props.config, props.loadedSettings, props.onDebugMessage, props.handleSlashCommand, props.shellModeActive, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24);
261
261
  }, {
262
262
  initialProps,
263
263
  });
@@ -309,8 +309,8 @@ describe('useGeminiStream', () => {
309
309
  });
310
310
  // Helper to render hook with default parameters - reduces boilerplate
311
311
  const renderHookWithDefaults = (options = {}) => {
312
- const { shellModeActive = false, onCancelSubmit = () => { }, setShellInputFocused = () => { }, performMemoryRefresh = () => Promise.resolve(), onAuthError = () => { }, onEditorClose = () => { }, setModelSwitched = vi.fn(), modelSwitched = false, } = options;
313
- return renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, shellModeActive, () => 'vscode', onAuthError, performMemoryRefresh, modelSwitched, setModelSwitched, onEditorClose, onCancelSubmit, setShellInputFocused, 80, 24));
312
+ const { shellModeActive = false, onCancelSubmit = () => { }, setShellInputFocused = () => { }, performMemoryRefresh = () => Promise.resolve(), onAuthError = () => { }, setModelSwitched = vi.fn(), modelSwitched = false, } = options;
313
+ return renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, shellModeActive, () => 'vscode', onAuthError, performMemoryRefresh, modelSwitched, setModelSwitched, onCancelSubmit, setShellInputFocused, 80, 24));
314
314
  };
315
315
  it('should not submit tool responses if not all tool calls are completed', () => {
316
316
  const toolCalls = [
@@ -420,7 +420,7 @@ describe('useGeminiStream', () => {
420
420
  capturedOnComplete = onComplete;
421
421
  return [[], mockScheduleToolCalls, mockMarkToolsAsSubmitted, vi.fn()];
422
422
  });
423
- renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
423
+ renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
424
424
  // Trigger the onComplete callback with completed tools
425
425
  await act(async () => {
426
426
  if (capturedOnComplete) {
@@ -469,7 +469,7 @@ describe('useGeminiStream', () => {
469
469
  capturedOnComplete = onComplete;
470
470
  return [[], mockScheduleToolCalls, mockMarkToolsAsSubmitted, vi.fn()];
471
471
  });
472
- renderHook(() => useGeminiStream(client, [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
472
+ renderHook(() => useGeminiStream(client, [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
473
473
  // Trigger the onComplete callback with cancelled tools
474
474
  await act(async () => {
475
475
  if (capturedOnComplete) {
@@ -552,7 +552,7 @@ describe('useGeminiStream', () => {
552
552
  capturedOnComplete = onComplete;
553
553
  return [[], mockScheduleToolCalls, mockMarkToolsAsSubmitted, vi.fn()];
554
554
  });
555
- renderHook(() => useGeminiStream(client, [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
555
+ renderHook(() => useGeminiStream(client, [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
556
556
  // Trigger the onComplete callback with multiple cancelled tools
557
557
  await act(async () => {
558
558
  if (capturedOnComplete) {
@@ -632,7 +632,7 @@ describe('useGeminiStream', () => {
632
632
  vi.fn(), // setToolCallsForDisplay
633
633
  ];
634
634
  });
635
- const { result, rerender } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
635
+ const { result, rerender } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
636
636
  // 1. Initial state should be Responding because a tool is executing.
637
637
  expect(result.current.streamingState).toBe(StreamingState.Responding);
638
638
  // 2. Update the tool calls to completed state and rerender
@@ -720,13 +720,13 @@ describe('useGeminiStream', () => {
720
720
  await new Promise(() => { });
721
721
  })();
722
722
  mockSendMessageStream.mockReturnValue(mockStream);
723
- const { result } = renderHook(() => useGeminiStream(mockConfig.getGeminiClient(), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, cancelSubmitSpy, () => { }, 80, 24));
723
+ const { result } = renderHook(() => useGeminiStream(mockConfig.getGeminiClient(), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, cancelSubmitSpy, () => { }, 80, 24));
724
724
  // Start a query
725
725
  await act(async () => {
726
726
  result.current.submitQuery('test query');
727
727
  });
728
728
  simulateEscapeKeyPress();
729
- expect(cancelSubmitSpy).toHaveBeenCalled();
729
+ expect(cancelSubmitSpy).toHaveBeenCalledWith(false);
730
730
  });
731
731
  it('should call setShellInputFocused(false) when escape is pressed', async () => {
732
732
  const setShellInputFocusedSpy = vi.fn();
@@ -735,7 +735,7 @@ describe('useGeminiStream', () => {
735
735
  await new Promise(() => { }); // Keep stream open
736
736
  })();
737
737
  mockSendMessageStream.mockReturnValue(mockStream);
738
- const { result } = renderHook(() => useGeminiStream(mockConfig.getGeminiClient(), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, vi.fn(), setShellInputFocusedSpy, // Pass the spy here
738
+ const { result } = renderHook(() => useGeminiStream(mockConfig.getGeminiClient(), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, vi.fn(), setShellInputFocusedSpy, // Pass the spy here
739
739
  80, 24));
740
740
  // Start a query
741
741
  await act(async () => {
@@ -957,7 +957,7 @@ describe('useGeminiStream', () => {
957
957
  });
958
958
  });
959
959
  it('should not call handleSlashCommand is shell mode is active', async () => {
960
- const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, () => { }, mockHandleSlashCommand, true, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
960
+ const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, () => { }, mockHandleSlashCommand, true, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
961
961
  await act(async () => {
962
962
  await result.current.submitQuery('/about');
963
963
  });
@@ -1002,7 +1002,7 @@ describe('useGeminiStream', () => {
1002
1002
  capturedOnComplete = onComplete;
1003
1003
  return [[], mockScheduleToolCalls, mockMarkToolsAsSubmitted, vi.fn()];
1004
1004
  });
1005
- renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, mockPerformMemoryRefresh, false, () => { }, () => { }, () => { }, () => { }, 80, 24));
1005
+ renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, mockPerformMemoryRefresh, false, () => { }, () => { }, () => { }, 80, 24));
1006
1006
  // Trigger the onComplete callback with the completed save_memory tool
1007
1007
  await act(async () => {
1008
1008
  if (capturedOnComplete) {
@@ -1031,7 +1031,7 @@ describe('useGeminiStream', () => {
1031
1031
  })),
1032
1032
  getModel: vi.fn(() => 'gemini-2.5-pro'),
1033
1033
  };
1034
- const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(testConfig), [], mockAddItem, testConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
1034
+ const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(testConfig), [], mockAddItem, testConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
1035
1035
  // 2. Action
1036
1036
  await act(async () => {
1037
1037
  await result.current.submitQuery('test query');
@@ -1259,7 +1259,7 @@ describe('useGeminiStream', () => {
1259
1259
  value: { reason: 'MAX_TOKENS', usageMetadata: undefined },
1260
1260
  };
1261
1261
  })());
1262
- const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
1262
+ const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
1263
1263
  // Submit a query
1264
1264
  await act(async () => {
1265
1265
  await result.current.submitQuery('Generate long text');
@@ -1323,14 +1323,14 @@ describe('useGeminiStream', () => {
1323
1323
  },
1324
1324
  };
1325
1325
  })());
1326
- const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, onCancelSubmitSpy, () => { }, 80, 24));
1326
+ const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, onCancelSubmitSpy, () => { }, 80, 24));
1327
1327
  // Submit a query
1328
1328
  await act(async () => {
1329
1329
  await result.current.submitQuery('Test overflow');
1330
1330
  });
1331
1331
  // Check that onCancelSubmit was called
1332
1332
  await waitFor(() => {
1333
- expect(onCancelSubmitSpy).toHaveBeenCalled();
1333
+ expect(onCancelSubmitSpy).toHaveBeenCalledWith(true);
1334
1334
  });
1335
1335
  });
1336
1336
  it.each([
@@ -1433,7 +1433,6 @@ describe('useGeminiStream', () => {
1433
1433
  vi.fn(), // performMemoryRefresh
1434
1434
  false, // modelSwitched
1435
1435
  vi.fn(), // setModelSwitched
1436
- vi.fn(), // onEditorClose
1437
1436
  vi.fn(), // onCancelSubmit
1438
1437
  vi.fn(), // setShellInputFocused
1439
1438
  80, // terminalWidth
@@ -1473,7 +1472,7 @@ describe('useGeminiStream', () => {
1473
1472
  value: { reason: 'STOP', usageMetadata: undefined },
1474
1473
  };
1475
1474
  })());
1476
- const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
1475
+ const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
1477
1476
  // Submit first query to set a thought
1478
1477
  await act(async () => {
1479
1478
  await result.current.submitQuery('First query');
@@ -1518,7 +1517,7 @@ describe('useGeminiStream', () => {
1518
1517
  mockCancelAllToolCalls,
1519
1518
  mockMarkToolsAsSubmitted,
1520
1519
  ]);
1521
- const { result, rerender } = renderHook(() => useGeminiStream(mockConfig.getGeminiClient(), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
1520
+ const { result, rerender } = renderHook(() => useGeminiStream(mockConfig.getGeminiClient(), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
1522
1521
  const firstResult = result.current.pendingHistoryItems;
1523
1522
  rerender();
1524
1523
  const secondResult = result.current.pendingHistoryItems;
@@ -1557,7 +1556,7 @@ describe('useGeminiStream', () => {
1557
1556
  };
1558
1557
  yield { type: ServerGeminiEventType.UserCancelled };
1559
1558
  })());
1560
- const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
1559
+ const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
1561
1560
  // Submit query
1562
1561
  await act(async () => {
1563
1562
  await result.current.submitQuery('Test query');
@@ -1584,7 +1583,7 @@ describe('useGeminiStream', () => {
1584
1583
  value: { error: { message: 'Test error' } },
1585
1584
  };
1586
1585
  })());
1587
- const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, () => { }, 80, 24));
1586
+ const { result } = renderHook(() => useGeminiStream(new MockedGeminiClientClass(mockConfig), [], mockAddItem, mockConfig, mockLoadedSettings, mockOnDebugMessage, mockHandleSlashCommand, false, () => 'vscode', () => { }, () => Promise.resolve(), false, () => { }, () => { }, () => { }, 80, 24));
1588
1587
  // Submit query
1589
1588
  await act(async () => {
1590
1589
  await result.current.submitQuery('Test query');