@machina.ai/cell-cli 1.4.0-rc2 → 1.6.1-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 (492) hide show
  1. package/dist/package.json +12 -8
  2. package/dist/src/commands/extensions/disable.d.ts +2 -3
  3. package/dist/src/commands/extensions/disable.js +20 -6
  4. package/dist/src/commands/extensions/disable.js.map +1 -1
  5. package/dist/src/commands/extensions/enable.d.ts +2 -3
  6. package/dist/src/commands/extensions/enable.js +20 -9
  7. package/dist/src/commands/extensions/enable.js.map +1 -1
  8. package/dist/src/commands/extensions/install.d.ts +2 -0
  9. package/dist/src/commands/extensions/install.js +20 -4
  10. package/dist/src/commands/extensions/install.js.map +1 -1
  11. package/dist/src/commands/extensions/install.test.js +80 -3
  12. package/dist/src/commands/extensions/install.test.js.map +1 -1
  13. package/dist/src/commands/extensions/link.js +1 -1
  14. package/dist/src/commands/extensions/link.js.map +1 -1
  15. package/dist/src/commands/extensions/uninstall.js +1 -1
  16. package/dist/src/commands/extensions/uninstall.js.map +1 -1
  17. package/dist/src/commands/extensions/update.js +42 -11
  18. package/dist/src/commands/extensions/update.js.map +1 -1
  19. package/dist/src/config/config.d.ts +2 -1
  20. package/dist/src/config/config.js +33 -16
  21. package/dist/src/config/config.js.map +1 -1
  22. package/dist/src/config/extension.d.ts +10 -14
  23. package/dist/src/config/extension.js +160 -145
  24. package/dist/src/config/extension.js.map +1 -1
  25. package/dist/src/config/extensions/extensionEnablement.d.ts +44 -0
  26. package/dist/src/config/extensions/extensionEnablement.js +161 -0
  27. package/dist/src/config/extensions/extensionEnablement.js.map +1 -0
  28. package/dist/src/config/extensions/extensionEnablement.test.js +261 -0
  29. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -0
  30. package/dist/src/config/extensions/github.d.ts +29 -0
  31. package/dist/src/config/extensions/github.js +306 -0
  32. package/dist/src/config/extensions/github.js.map +1 -0
  33. package/dist/src/config/extensions/github.test.d.ts +6 -0
  34. package/dist/src/config/extensions/github.test.js +267 -0
  35. package/dist/src/config/extensions/github.test.js.map +1 -0
  36. package/dist/src/config/extensions/update.d.ts +20 -0
  37. package/dist/src/config/extensions/update.js +94 -0
  38. package/dist/src/config/extensions/update.js.map +1 -0
  39. package/dist/src/config/extensions/update.test.d.ts +6 -0
  40. package/dist/src/config/extensions/update.test.js +324 -0
  41. package/dist/src/config/extensions/update.test.js.map +1 -0
  42. package/dist/src/config/extensions/variableSchema.d.ts +8 -0
  43. package/dist/src/config/extensions/variableSchema.js +4 -0
  44. package/dist/src/config/extensions/variableSchema.js.map +1 -1
  45. package/dist/src/config/keyBindings.d.ts +4 -1
  46. package/dist/src/config/keyBindings.js +8 -0
  47. package/dist/src/config/keyBindings.js.map +1 -1
  48. package/dist/src/config/settings.d.ts +3 -0
  49. package/dist/src/config/settings.js +58 -18
  50. package/dist/src/config/settings.js.map +1 -1
  51. package/dist/src/config/settingsSchema.d.ts +121 -12
  52. package/dist/src/config/settingsSchema.js +112 -9
  53. package/dist/src/config/settingsSchema.js.map +1 -1
  54. package/dist/src/config/settingsSchema.test.js +68 -55
  55. package/dist/src/config/settingsSchema.test.js.map +1 -1
  56. package/dist/src/config/trustedFolders.d.ts +1 -1
  57. package/dist/src/config/trustedFolders.js +9 -4
  58. package/dist/src/config/trustedFolders.js.map +1 -1
  59. package/dist/src/config/trustedFolders.test.js +41 -25
  60. package/dist/src/config/trustedFolders.test.js.map +1 -1
  61. package/dist/src/core/auth.d.ts +13 -0
  62. package/dist/src/core/auth.js +27 -0
  63. package/dist/src/core/auth.js.map +1 -0
  64. package/dist/src/core/initializer.d.ts +21 -0
  65. package/dist/src/core/initializer.js +33 -0
  66. package/dist/src/core/initializer.js.map +1 -0
  67. package/dist/src/core/theme.d.ts +12 -0
  68. package/dist/src/core/theme.js +20 -0
  69. package/dist/src/core/theme.js.map +1 -0
  70. package/dist/src/gemini.d.ts +2 -1
  71. package/dist/src/gemini.js +110 -69
  72. package/dist/src/gemini.js.map +1 -1
  73. package/dist/src/gemini.test.js +124 -14
  74. package/dist/src/gemini.test.js.map +1 -1
  75. package/dist/src/generated/git-commit.d.ts +2 -2
  76. package/dist/src/generated/git-commit.js +2 -2
  77. package/dist/src/generated/git-commit.js.map +1 -1
  78. package/dist/src/nonInteractiveCli.js +87 -71
  79. package/dist/src/nonInteractiveCli.js.map +1 -1
  80. package/dist/src/services/BuiltinCommandLoader.test.js +16 -17
  81. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  82. package/dist/src/services/FeedbackService.d.ts +21 -0
  83. package/dist/src/services/FeedbackService.js +124 -0
  84. package/dist/src/services/FeedbackService.js.map +1 -0
  85. package/dist/src/services/McpPromptLoader.js +43 -8
  86. package/dist/src/services/McpPromptLoader.js.map +1 -1
  87. package/dist/src/services/McpPromptLoader.test.js +228 -1
  88. package/dist/src/services/McpPromptLoader.test.js.map +1 -1
  89. package/dist/src/services/prompt-processors/shellProcessor.js +8 -1
  90. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  91. package/dist/src/test-utils/createExtension.d.ts +15 -0
  92. package/dist/src/test-utils/createExtension.js +25 -0
  93. package/dist/src/test-utils/createExtension.js.map +1 -0
  94. package/dist/src/test-utils/mockCommandContext.js +2 -0
  95. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  96. package/dist/src/ui/App.d.ts +1 -10
  97. package/dist/src/ui/App.js +17 -729
  98. package/dist/src/ui/App.js.map +1 -1
  99. package/dist/src/ui/AppContainer.d.ts +17 -0
  100. package/dist/src/ui/AppContainer.js +905 -0
  101. package/dist/src/ui/AppContainer.js.map +1 -0
  102. package/dist/src/ui/AppContainer.test.d.ts +6 -0
  103. package/dist/src/ui/AppContainer.test.js +422 -0
  104. package/dist/src/ui/AppContainer.test.js.map +1 -0
  105. package/dist/src/ui/IdeIntegrationNudge.js +2 -1
  106. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  107. package/dist/src/ui/auth/AuthDialog.d.ts +18 -0
  108. package/dist/src/ui/auth/AuthDialog.js +81 -0
  109. package/dist/src/ui/auth/AuthDialog.js.map +1 -0
  110. package/dist/src/ui/auth/AuthDialog.test.d.ts +6 -0
  111. package/dist/src/ui/auth/AuthDialog.test.js +176 -0
  112. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -0
  113. package/dist/src/ui/{components → auth}/AuthInProgress.js +2 -2
  114. package/dist/src/ui/auth/AuthInProgress.js.map +1 -0
  115. package/dist/src/ui/auth/useAuth.d.ts +15 -0
  116. package/dist/src/ui/auth/useAuth.js +73 -0
  117. package/dist/src/ui/auth/useAuth.js.map +1 -0
  118. package/dist/src/ui/commands/chatCommand.d.ts +2 -0
  119. package/dist/src/ui/commands/chatCommand.js +82 -3
  120. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  121. package/dist/src/ui/commands/corgiCommand.js +1 -0
  122. package/dist/src/ui/commands/corgiCommand.js.map +1 -1
  123. package/dist/src/ui/commands/extensionsCommand.js +86 -16
  124. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  125. package/dist/src/ui/commands/ideCommand.js +2 -2
  126. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  127. package/dist/src/ui/commands/mcpCommand.js +1 -1
  128. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  129. package/dist/src/ui/commands/types.d.ts +5 -1
  130. package/dist/src/ui/commands/types.js +0 -1
  131. package/dist/src/ui/commands/types.js.map +1 -1
  132. package/dist/src/ui/components/AboutBox.js +2 -2
  133. package/dist/src/ui/components/AboutBox.js.map +1 -1
  134. package/dist/src/ui/components/AnsiOutput.d.ts +13 -0
  135. package/dist/src/ui/components/AnsiOutput.js +12 -0
  136. package/dist/src/ui/components/AnsiOutput.js.map +1 -0
  137. package/dist/src/ui/components/AnsiOutput.test.d.ts +6 -0
  138. package/dist/src/ui/components/AnsiOutput.test.js +97 -0
  139. package/dist/src/ui/components/AnsiOutput.test.js.map +1 -0
  140. package/dist/src/ui/components/AppHeader.d.ts +10 -0
  141. package/dist/src/ui/components/AppHeader.js +22 -0
  142. package/dist/src/ui/components/AppHeader.js.map +1 -0
  143. package/dist/src/ui/components/AsciiArt.d.ts +3 -3
  144. package/dist/src/ui/components/AsciiArt.js +3 -3
  145. package/dist/src/ui/components/AutoAcceptIndicator.js +4 -4
  146. package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -1
  147. package/dist/src/ui/components/Composer.d.ts +6 -0
  148. package/dist/src/ui/components/Composer.js +74 -0
  149. package/dist/src/ui/components/Composer.js.map +1 -0
  150. package/dist/src/ui/components/Composer.test.d.ts +6 -0
  151. package/dist/src/ui/components/Composer.test.js +340 -0
  152. package/dist/src/ui/components/Composer.test.js.map +1 -0
  153. package/dist/src/ui/components/ConfigInitDisplay.d.ts +6 -0
  154. package/dist/src/ui/components/ConfigInitDisplay.js +38 -0
  155. package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -0
  156. package/dist/src/ui/components/ConsoleSummaryDisplay.js +2 -2
  157. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -1
  158. package/dist/src/ui/components/ContextSummaryDisplay.js +3 -3
  159. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  160. package/dist/src/ui/components/ContextUsageDisplay.js +2 -2
  161. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
  162. package/dist/src/ui/components/DebugProfiler.js +2 -2
  163. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  164. package/dist/src/ui/components/DetailedMessagesDisplay.js +7 -7
  165. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  166. package/dist/src/ui/components/DialogManager.d.ts +6 -0
  167. package/dist/src/ui/components/DialogManager.js +85 -0
  168. package/dist/src/ui/components/DialogManager.js.map +1 -0
  169. package/dist/src/ui/components/EditorSettingsDialog.js +5 -5
  170. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  171. package/dist/src/ui/components/FolderTrustDialog.js +16 -8
  172. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  173. package/dist/src/ui/components/FolderTrustDialog.test.js +18 -8
  174. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  175. package/dist/src/ui/components/Footer.d.ts +1 -2
  176. package/dist/src/ui/components/Footer.js +6 -2
  177. package/dist/src/ui/components/Footer.js.map +1 -1
  178. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +5 -0
  179. package/dist/src/ui/components/GeminiRespondingSpinner.js +7 -2
  180. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  181. package/dist/src/ui/components/Header.js +2 -2
  182. package/dist/src/ui/components/Header.js.map +1 -1
  183. package/dist/src/ui/components/Help.d.ts +1 -1
  184. package/dist/src/ui/components/Help.js +9 -6
  185. package/dist/src/ui/components/Help.js.map +1 -1
  186. package/dist/src/ui/components/Help.test.d.ts +6 -0
  187. package/dist/src/ui/components/Help.test.js +57 -0
  188. package/dist/src/ui/components/Help.test.js.map +1 -0
  189. package/dist/src/ui/components/HistoryItemDisplay.d.ts +2 -2
  190. package/dist/src/ui/components/HistoryItemDisplay.js +2 -1
  191. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  192. package/dist/src/ui/components/InputPrompt.d.ts +3 -0
  193. package/dist/src/ui/components/InputPrompt.js +122 -22
  194. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  195. package/dist/src/ui/components/LoadingIndicator.js +2 -2
  196. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  197. package/dist/src/ui/components/LoopDetectionConfirmation.d.ts +13 -0
  198. package/dist/src/ui/components/LoopDetectionConfirmation.js +35 -0
  199. package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -0
  200. package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +6 -0
  201. package/dist/src/ui/components/LoopDetectionConfirmation.test.js +25 -0
  202. package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -0
  203. package/dist/src/ui/components/MainContent.d.ts +6 -0
  204. package/dist/src/ui/components/MainContent.js +23 -0
  205. package/dist/src/ui/components/MainContent.js.map +1 -0
  206. package/dist/src/ui/components/MemoryUsageDisplay.js +6 -4
  207. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  208. package/dist/src/ui/components/ModelStatsDisplay.js +7 -7
  209. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  210. package/dist/src/ui/components/Notifications.d.ts +6 -0
  211. package/dist/src/ui/components/Notifications.js +23 -0
  212. package/dist/src/ui/components/Notifications.js.map +1 -0
  213. package/dist/src/ui/components/PrepareLabel.d.ts +5 -5
  214. package/dist/src/ui/components/PrepareLabel.js +67 -11
  215. package/dist/src/ui/components/PrepareLabel.js.map +1 -1
  216. package/dist/src/ui/components/PrepareLabel.test.d.ts +6 -0
  217. package/dist/src/ui/components/PrepareLabel.test.js +71 -0
  218. package/dist/src/ui/components/PrepareLabel.test.js.map +1 -0
  219. package/dist/src/ui/components/ProQuotaDialog.d.ts +2 -2
  220. package/dist/src/ui/components/ProQuotaDialog.js +3 -3
  221. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  222. package/dist/src/ui/components/ProQuotaDialog.test.js +3 -3
  223. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
  224. package/dist/src/ui/components/QuittingDisplay.d.ts +6 -0
  225. package/dist/src/ui/components/QuittingDisplay.js +20 -0
  226. package/dist/src/ui/components/QuittingDisplay.js.map +1 -0
  227. package/dist/src/ui/components/RatingWidget.d.ts +14 -0
  228. package/dist/src/ui/components/RatingWidget.js +56 -0
  229. package/dist/src/ui/components/RatingWidget.js.map +1 -0
  230. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +4 -0
  231. package/dist/src/ui/components/SessionSummaryDisplay.js +1 -1
  232. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  233. package/dist/src/ui/components/SettingsDialog.d.ts +2 -1
  234. package/dist/src/ui/components/SettingsDialog.js +93 -22
  235. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  236. package/dist/src/ui/components/SettingsDialog.test.js +435 -79
  237. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  238. package/dist/src/ui/components/ShellConfirmationDialog.js +2 -2
  239. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  240. package/dist/src/ui/components/ShellInputPrompt.d.ts +11 -0
  241. package/dist/src/ui/components/ShellInputPrompt.js +36 -0
  242. package/dist/src/ui/components/ShellInputPrompt.js.map +1 -0
  243. package/dist/src/ui/components/ShellModeIndicator.js +2 -2
  244. package/dist/src/ui/components/ShellModeIndicator.js.map +1 -1
  245. package/dist/src/ui/components/ShowMoreLines.js +2 -2
  246. package/dist/src/ui/components/ShowMoreLines.js.map +1 -1
  247. package/dist/src/ui/components/StatsDisplay.d.ts +4 -0
  248. package/dist/src/ui/components/StatsDisplay.js +10 -7
  249. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  250. package/dist/src/ui/components/SuggestionsDisplay.d.ts +7 -2
  251. package/dist/src/ui/components/SuggestionsDisplay.js +17 -17
  252. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  253. package/dist/src/ui/components/ThemeDialog.js +12 -29
  254. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  255. package/dist/src/ui/components/ThemeDialog.test.d.ts +6 -0
  256. package/dist/src/ui/components/ThemeDialog.test.js +75 -0
  257. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -0
  258. package/dist/src/ui/components/Tips.js +2 -2
  259. package/dist/src/ui/components/Tips.js.map +1 -1
  260. package/dist/src/ui/components/ToolStatsDisplay.js +4 -4
  261. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
  262. package/dist/src/ui/components/UpdateNotification.js +2 -2
  263. package/dist/src/ui/components/UpdateNotification.js.map +1 -1
  264. package/dist/src/ui/components/WorkspaceMigrationDialog.js +4 -4
  265. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
  266. package/dist/src/ui/components/messages/CompressionMessage.d.ts +1 -2
  267. package/dist/src/ui/components/messages/CompressionMessage.js +37 -8
  268. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
  269. package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +6 -0
  270. package/dist/src/ui/components/messages/CompressionMessage.test.js +160 -0
  271. package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -0
  272. package/dist/src/ui/components/messages/DiffRenderer.d.ts +2 -1
  273. package/dist/src/ui/components/messages/DiffRenderer.js +14 -22
  274. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  275. package/dist/src/ui/components/messages/ErrorMessage.js +2 -2
  276. package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -1
  277. package/dist/src/ui/components/messages/GeminiMessage.js +2 -2
  278. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  279. package/dist/src/ui/components/messages/InfoMessage.js +2 -2
  280. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  281. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +31 -19
  282. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  283. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +3 -2
  284. package/dist/src/ui/components/messages/ToolGroupMessage.js +17 -9
  285. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  286. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +17 -15
  287. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  288. package/dist/src/ui/components/messages/ToolMessage.d.ts +4 -0
  289. package/dist/src/ui/components/messages/ToolMessage.js +24 -10
  290. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  291. package/dist/src/ui/components/messages/ToolMessage.test.js +33 -1
  292. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  293. package/dist/src/ui/components/messages/UserMessage.js +3 -3
  294. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  295. package/dist/src/ui/components/messages/UserShellMessage.js +2 -2
  296. package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
  297. package/dist/src/ui/components/shared/EnumSelector.d.ts +18 -0
  298. package/dist/src/ui/components/shared/EnumSelector.js +44 -0
  299. package/dist/src/ui/components/shared/EnumSelector.js.map +1 -0
  300. package/dist/src/ui/components/shared/EnumSelector.test.d.ts +6 -0
  301. package/dist/src/ui/components/shared/EnumSelector.test.js +70 -0
  302. package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -0
  303. package/dist/src/ui/components/shared/MaxSizedBox.js +2 -2
  304. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  305. package/dist/src/ui/components/shared/RadioButtonSelect.js +12 -12
  306. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  307. package/dist/src/ui/components/shared/ScopeSelector.d.ts +19 -0
  308. package/dist/src/ui/components/shared/ScopeSelector.js +11 -0
  309. package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -0
  310. package/dist/src/ui/components/shared/text-buffer.d.ts +19 -2
  311. package/dist/src/ui/components/shared/text-buffer.js +191 -133
  312. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  313. package/dist/src/ui/components/views/ExtensionsList.d.ts +6 -0
  314. package/dist/src/ui/components/views/ExtensionsList.js +47 -0
  315. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -0
  316. package/dist/src/ui/components/views/ExtensionsList.test.d.ts +6 -0
  317. package/dist/src/ui/components/views/ExtensionsList.test.js +97 -0
  318. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -0
  319. package/dist/src/ui/constants.d.ts +1 -0
  320. package/dist/src/ui/constants.js +1 -0
  321. package/dist/src/ui/constants.js.map +1 -1
  322. package/dist/src/ui/contexts/AppContext.d.ts +11 -0
  323. package/dist/src/ui/contexts/AppContext.js +15 -0
  324. package/dist/src/ui/contexts/AppContext.js.map +1 -0
  325. package/dist/src/ui/contexts/ConfigContext.d.ts +9 -0
  326. package/dist/src/ui/contexts/ConfigContext.js +16 -0
  327. package/dist/src/ui/contexts/ConfigContext.js.map +1 -0
  328. package/dist/src/ui/contexts/KeypressContext.d.ts +3 -0
  329. package/dist/src/ui/contexts/KeypressContext.js +51 -2
  330. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  331. package/dist/src/ui/contexts/KeypressContext.test.js +173 -1
  332. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  333. package/dist/src/ui/contexts/UIActionsContext.d.ts +36 -0
  334. package/dist/src/ui/contexts/UIActionsContext.js +20 -0
  335. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -0
  336. package/dist/src/ui/contexts/UIStateContext.d.ts +103 -0
  337. package/dist/src/ui/contexts/UIStateContext.js +15 -0
  338. package/dist/src/ui/contexts/UIStateContext.js.map +1 -0
  339. package/dist/src/ui/hooks/atCommandProcessor.test.js +7 -5
  340. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  341. package/dist/src/ui/hooks/keyToAnsi.d.ts +15 -0
  342. package/dist/src/ui/hooks/keyToAnsi.js +67 -0
  343. package/dist/src/ui/hooks/keyToAnsi.js.map +1 -0
  344. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +2 -1
  345. package/dist/src/ui/hooks/shellCommandProcessor.js +60 -15
  346. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  347. package/dist/src/ui/hooks/shellCommandProcessor.test.js +196 -17
  348. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  349. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +16 -2
  350. package/dist/src/ui/hooks/slashCommandProcessor.js +28 -70
  351. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  352. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +3 -2
  353. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +9 -5
  354. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  355. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +69 -0
  356. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  357. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +12 -0
  358. package/dist/src/ui/hooks/useExtensionUpdates.js +64 -0
  359. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -0
  360. package/dist/src/ui/hooks/useExtensionUpdates.test.d.ts +6 -0
  361. package/dist/src/ui/hooks/useExtensionUpdates.test.js +162 -0
  362. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -0
  363. package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -1
  364. package/dist/src/ui/hooks/useFolderTrust.js +12 -13
  365. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  366. package/dist/src/ui/hooks/useGeminiStream.d.ts +11 -1
  367. package/dist/src/ui/hooks/useGeminiStream.js +124 -59
  368. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  369. package/dist/src/ui/hooks/useGitBranchName.js +15 -18
  370. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  371. package/dist/src/ui/hooks/useGitBranchName.test.js +49 -53
  372. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  373. package/dist/src/ui/hooks/useIdeTrustListener.js +2 -2
  374. package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -1
  375. package/dist/src/ui/hooks/useMessageQueue.d.ts +2 -1
  376. package/dist/src/ui/hooks/useMessageQueue.js +5 -3
  377. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -1
  378. package/dist/src/ui/hooks/useMessageQueue.test.js +9 -0
  379. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
  380. package/dist/src/ui/hooks/useQuotaAndFallback.d.ts +21 -0
  381. package/dist/src/ui/hooks/useQuotaAndFallback.js +122 -0
  382. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -0
  383. package/dist/src/ui/hooks/useQuotaAndFallback.test.d.ts +6 -0
  384. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +267 -0
  385. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -0
  386. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +3 -2
  387. package/dist/src/ui/hooks/useReactToolScheduler.js +23 -17
  388. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  389. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +1 -1
  390. package/dist/src/ui/hooks/useReverseSearchCompletion.js +67 -20
  391. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  392. package/dist/src/ui/hooks/useSlashCompletion.d.ts +1 -1
  393. package/dist/src/ui/hooks/useSlashCompletion.js +16 -3
  394. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  395. package/dist/src/ui/hooks/useSlashCompletion.test.js +169 -270
  396. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  397. package/dist/src/ui/hooks/useThemeCommand.d.ts +1 -1
  398. package/dist/src/ui/hooks/useThemeCommand.js +3 -14
  399. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  400. package/dist/src/ui/hooks/useToolScheduler.test.js +12 -5
  401. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  402. package/dist/src/ui/keyMatchers.test.js +8 -0
  403. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  404. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +8 -8
  405. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  406. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +2 -2
  407. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -1
  408. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +2 -2
  409. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -1
  410. package/dist/src/ui/state/extensions.d.ts +15 -0
  411. package/dist/src/ui/state/extensions.js +17 -0
  412. package/dist/src/ui/state/extensions.js.map +1 -0
  413. package/dist/src/ui/themes/ayu.js +1 -1
  414. package/dist/src/ui/themes/dracula.js +2 -2
  415. package/dist/src/ui/themes/github-dark.js +1 -1
  416. package/dist/src/ui/themes/theme.js +17 -17
  417. package/dist/src/ui/themes/theme.js.map +1 -1
  418. package/dist/src/ui/types.d.ts +29 -3
  419. package/dist/src/ui/types.js +11 -0
  420. package/dist/src/ui/types.js.map +1 -1
  421. package/dist/src/ui/utils/CodeColorizer.js +3 -2
  422. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  423. package/dist/src/ui/utils/InlineMarkdownRenderer.js +7 -7
  424. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  425. package/dist/src/ui/utils/MarkdownDisplay.js +10 -10
  426. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  427. package/dist/src/ui/utils/MarkdownDisplay.test.js +6 -2
  428. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  429. package/dist/src/ui/utils/TableRenderer.js +4 -4
  430. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  431. package/dist/src/ui/utils/clipboardUtils.js +5 -6
  432. package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
  433. package/dist/src/ui/utils/displayUtils.js +4 -4
  434. package/dist/src/ui/utils/displayUtils.js.map +1 -1
  435. package/dist/src/ui/utils/highlight.d.ts +1 -1
  436. package/dist/src/ui/utils/highlight.js +15 -6
  437. package/dist/src/ui/utils/highlight.js.map +1 -1
  438. package/dist/src/ui/utils/highlight.test.js +56 -29
  439. package/dist/src/ui/utils/highlight.test.js.map +1 -1
  440. package/dist/src/ui/utils/kittyProtocolDetector.js +39 -29
  441. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -1
  442. package/dist/src/ui/utils/textUtils.d.ts +9 -0
  443. package/dist/src/ui/utils/textUtils.js +52 -3
  444. package/dist/src/ui/utils/textUtils.js.map +1 -1
  445. package/dist/src/utils/commands.d.ts +20 -0
  446. package/dist/src/utils/commands.js +53 -0
  447. package/dist/src/utils/commands.js.map +1 -0
  448. package/dist/src/utils/commands.test.d.ts +6 -0
  449. package/dist/src/utils/commands.test.js +115 -0
  450. package/dist/src/utils/commands.test.js.map +1 -0
  451. package/dist/src/utils/commentJson.d.ts +9 -0
  452. package/dist/src/utils/commentJson.js +48 -0
  453. package/dist/src/utils/commentJson.js.map +1 -0
  454. package/dist/src/utils/commentJson.test.d.ts +6 -0
  455. package/dist/src/utils/commentJson.test.js +146 -0
  456. package/dist/src/utils/commentJson.test.js.map +1 -0
  457. package/dist/src/utils/errors.d.ts +21 -0
  458. package/dist/src/utils/errors.js +93 -0
  459. package/dist/src/utils/errors.js.map +1 -1
  460. package/dist/src/utils/errors.test.d.ts +6 -0
  461. package/dist/src/utils/errors.test.js +303 -0
  462. package/dist/src/utils/errors.test.js.map +1 -0
  463. package/dist/src/utils/processUtils.d.ts +13 -0
  464. package/dist/src/utils/processUtils.js +18 -0
  465. package/dist/src/utils/processUtils.js.map +1 -0
  466. package/dist/src/utils/processUtils.test.d.ts +6 -0
  467. package/dist/src/utils/processUtils.test.js +20 -0
  468. package/dist/src/utils/processUtils.test.js.map +1 -0
  469. package/dist/src/utils/sandbox.d.ts +1 -1
  470. package/dist/src/utils/sandbox.js +19 -8
  471. package/dist/src/utils/sandbox.js.map +1 -1
  472. package/dist/src/utils/settingsUtils.d.ts +16 -6
  473. package/dist/src/utils/settingsUtils.js +35 -25
  474. package/dist/src/utils/settingsUtils.js.map +1 -1
  475. package/dist/src/utils/settingsUtils.test.js +455 -158
  476. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  477. package/dist/src/zed-integration/schema.d.ts +596 -596
  478. package/dist/src/zed-integration/zedIntegration.js +10 -7
  479. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  480. package/dist/tsconfig.tsbuildinfo +1 -1
  481. package/package.json +13 -9
  482. package/dist/src/ui/components/AuthDialog.d.ts +0 -16
  483. package/dist/src/ui/components/AuthDialog.js +0 -62
  484. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  485. package/dist/src/ui/components/AuthDialog.test.js +0 -175
  486. package/dist/src/ui/components/AuthDialog.test.js.map +0 -1
  487. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  488. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -15
  489. package/dist/src/ui/hooks/useAuthCommand.js +0 -68
  490. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  491. /package/dist/src/{ui/components/AuthDialog.test.d.ts → config/extensions/extensionEnablement.test.d.ts} +0 -0
  492. /package/dist/src/ui/{components → auth}/AuthInProgress.d.ts +0 -0
@@ -31,15 +31,21 @@ describe('useShellCommandProcessor', () => {
31
31
  let mockGeminiClient;
32
32
  let mockShellOutputCallback;
33
33
  let resolveExecutionPromise;
34
+ let setShellInputFocusedMock;
34
35
  beforeEach(() => {
35
36
  vi.clearAllMocks();
36
37
  addItemToHistoryMock = vi.fn();
37
38
  setPendingHistoryItemMock = vi.fn();
38
39
  onExecMock = vi.fn();
39
40
  onDebugMessageMock = vi.fn();
41
+ setShellInputFocusedMock = vi.fn();
40
42
  mockConfig = {
41
43
  getTargetDir: () => '/test/dir',
42
44
  getShouldUseNodePtyShell: () => false,
45
+ getShellExecutionConfig: () => ({
46
+ terminalHeight: 20,
47
+ terminalWidth: 80,
48
+ }),
43
49
  };
44
50
  mockGeminiClient = { addHistory: vi.fn() };
45
51
  vi.mocked(os.platform).mockReturnValue('linux');
@@ -49,15 +55,15 @@ describe('useShellCommandProcessor', () => {
49
55
  vi.mocked(fs.existsSync).mockReturnValue(false);
50
56
  mockShellExecutionService.mockImplementation((_cmd, _cwd, callback) => {
51
57
  mockShellOutputCallback = callback;
52
- return {
58
+ return Promise.resolve({
53
59
  pid: 12345,
54
60
  result: new Promise((resolve) => {
55
61
  resolveExecutionPromise = resolve;
56
62
  }),
57
- };
63
+ });
58
64
  });
59
65
  });
60
- const renderProcessorHook = () => renderHook(() => useShellCommandProcessor(addItemToHistoryMock, setPendingHistoryItemMock, onExecMock, onDebugMessageMock, mockConfig, mockGeminiClient));
66
+ const renderProcessorHook = () => renderHook(() => useShellCommandProcessor(addItemToHistoryMock, setPendingHistoryItemMock, onExecMock, onDebugMessageMock, mockConfig, mockGeminiClient, setShellInputFocusedMock));
61
67
  const createMockServiceResult = (overrides = {}) => ({
62
68
  rawOutput: Buffer.from(overrides.output || ''),
63
69
  output: 'Success',
@@ -86,7 +92,7 @@ describe('useShellCommandProcessor', () => {
86
92
  });
87
93
  const tmpFile = path.join(os.tmpdir(), 'shell_pwd_abcdef.tmp');
88
94
  const wrappedCommand = `{ ls -l; }; __code=$?; pwd > "${tmpFile}"; exit $__code`;
89
- expect(mockShellExecutionService).toHaveBeenCalledWith(wrappedCommand, '/test/dir', expect.any(Function), expect.any(Object), false);
95
+ expect(mockShellExecutionService).toHaveBeenCalledWith(wrappedCommand, '/test/dir', expect.any(Function), expect.any(Object), false, expect.any(Object));
90
96
  expect(onExecMock).toHaveBeenCalledWith(expect.any(Promise));
91
97
  });
92
98
  it('should handle successful execution and update history correctly', async () => {
@@ -110,6 +116,7 @@ describe('useShellCommandProcessor', () => {
110
116
  ],
111
117
  }));
112
118
  expect(mockGeminiClient.addHistory).toHaveBeenCalled();
119
+ expect(setShellInputFocusedMock).toHaveBeenCalledWith(false);
113
120
  });
114
121
  it('should handle command failure and display error status', async () => {
115
122
  const { result } = renderProcessorHook();
@@ -125,6 +132,7 @@ describe('useShellCommandProcessor', () => {
125
132
  expect(finalHistoryItem.tools[0].status).toBe(ToolCallStatus.Error);
126
133
  expect(finalHistoryItem.tools[0].resultDisplay).toContain('Command exited with code 127');
127
134
  expect(finalHistoryItem.tools[0].resultDisplay).toContain('not found');
135
+ expect(setShellInputFocusedMock).toHaveBeenCalledWith(false);
128
136
  });
129
137
  describe('UI Streaming and Throttling', () => {
130
138
  beforeEach(() => {
@@ -133,11 +141,20 @@ describe('useShellCommandProcessor', () => {
133
141
  afterEach(() => {
134
142
  vi.useRealTimers();
135
143
  });
136
- it('should throttle pending UI updates for text streams', async () => {
144
+ it('should throttle pending UI updates for text streams (non-interactive)', async () => {
137
145
  const { result } = renderProcessorHook();
138
146
  act(() => {
139
147
  result.current.handleShellCommand('stream', new AbortController().signal);
140
148
  });
149
+ // Verify it's using the non-pty shell
150
+ const wrappedCommand = `{ stream; }; __code=$?; pwd > "${path.join(os.tmpdir(), 'shell_pwd_abcdef.tmp')}"; exit $__code`;
151
+ expect(mockShellExecutionService).toHaveBeenCalledWith(wrappedCommand, '/test/dir', expect.any(Function), expect.any(Object), false, // enableInteractiveShell
152
+ expect.any(Object));
153
+ // Wait for the async PID update to happen.
154
+ await vi.waitFor(() => {
155
+ // It's called once for initial, and once for the PID update.
156
+ expect(setPendingHistoryItemMock).toHaveBeenCalledTimes(2);
157
+ });
141
158
  // Simulate rapid output
142
159
  act(() => {
143
160
  mockShellOutputCallback({
@@ -145,23 +162,40 @@ describe('useShellCommandProcessor', () => {
145
162
  chunk: 'hello',
146
163
  });
147
164
  });
148
- // Should not have updated the UI yet
149
- expect(setPendingHistoryItemMock).toHaveBeenCalledTimes(1); // Only the initial call
150
- // Advance time and send another event to trigger the throttled update
165
+ // The count should still be 2, as throttling is in effect.
166
+ expect(setPendingHistoryItemMock).toHaveBeenCalledTimes(2);
167
+ // Simulate more rapid output
168
+ act(() => {
169
+ mockShellOutputCallback({
170
+ type: 'data',
171
+ chunk: ' world',
172
+ });
173
+ });
174
+ expect(setPendingHistoryItemMock).toHaveBeenCalledTimes(2);
175
+ // Advance time, but the update won't happen until the next event
151
176
  await act(async () => {
152
177
  await vi.advanceTimersByTimeAsync(OUTPUT_UPDATE_INTERVAL_MS + 1);
153
178
  });
179
+ // Trigger one more event to cause the throttled update to fire.
154
180
  act(() => {
155
181
  mockShellOutputCallback({
156
182
  type: 'data',
157
- chunk: ' world',
183
+ chunk: '',
158
184
  });
159
185
  });
160
- // Should now have been called with the cumulative output
161
- expect(setPendingHistoryItemMock).toHaveBeenCalledTimes(2);
162
- expect(setPendingHistoryItemMock).toHaveBeenLastCalledWith(expect.objectContaining({
163
- tools: [expect.objectContaining({ resultDisplay: 'hello world' })],
164
- }));
186
+ // Now the cumulative update should have occurred.
187
+ // Call 1: Initial, Call 2: PID update, Call 3: Throttled stream update
188
+ expect(setPendingHistoryItemMock).toHaveBeenCalledTimes(3);
189
+ const streamUpdateFn = setPendingHistoryItemMock.mock.calls[2][0];
190
+ if (!streamUpdateFn || typeof streamUpdateFn !== 'function') {
191
+ throw new Error('setPendingHistoryItem was not called with a stream updater function');
192
+ }
193
+ // Get the state after the PID update to feed into the stream updater
194
+ const pidUpdateFn = setPendingHistoryItemMock.mock.calls[1][0];
195
+ const initialState = setPendingHistoryItemMock.mock.calls[0][0];
196
+ const stateAfterPid = pidUpdateFn(initialState);
197
+ const stateAfterStream = streamUpdateFn(stateAfterPid);
198
+ expect(stateAfterStream.tools[0].resultDisplay).toBe('hello world');
165
199
  });
166
200
  it('should show binary progress messages correctly', async () => {
167
201
  const { result } = renderProcessorHook();
@@ -179,7 +213,14 @@ describe('useShellCommandProcessor', () => {
179
213
  act(() => {
180
214
  mockShellOutputCallback({ type: 'binary_progress', bytesReceived: 0 });
181
215
  });
182
- expect(setPendingHistoryItemMock).toHaveBeenLastCalledWith(expect.objectContaining({
216
+ // The state update is functional, so we test it by executing it.
217
+ const updaterFn1 = setPendingHistoryItemMock.mock.lastCall?.[0];
218
+ if (!updaterFn1) {
219
+ throw new Error('setPendingHistoryItem was not called');
220
+ }
221
+ const initialState = setPendingHistoryItemMock.mock.calls[0][0];
222
+ const stateAfterBinaryDetected = updaterFn1(initialState);
223
+ expect(stateAfterBinaryDetected).toEqual(expect.objectContaining({
183
224
  tools: [
184
225
  expect.objectContaining({
185
226
  resultDisplay: '[Binary output detected. Halting stream...]',
@@ -196,7 +237,12 @@ describe('useShellCommandProcessor', () => {
196
237
  bytesReceived: 2048,
197
238
  });
198
239
  });
199
- expect(setPendingHistoryItemMock).toHaveBeenLastCalledWith(expect.objectContaining({
240
+ const updaterFn2 = setPendingHistoryItemMock.mock.lastCall?.[0];
241
+ if (!updaterFn2) {
242
+ throw new Error('setPendingHistoryItem was not called');
243
+ }
244
+ const stateAfterProgress = updaterFn2(stateAfterBinaryDetected);
245
+ expect(stateAfterProgress).toEqual(expect.objectContaining({
200
246
  tools: [
201
247
  expect.objectContaining({
202
248
  resultDisplay: '[Receiving binary output... 2.0 KB received]',
@@ -211,7 +257,7 @@ describe('useShellCommandProcessor', () => {
211
257
  act(() => {
212
258
  result.current.handleShellCommand('dir', new AbortController().signal);
213
259
  });
214
- expect(mockShellExecutionService).toHaveBeenCalledWith('dir', '/test/dir', expect.any(Function), expect.any(Object), false);
260
+ expect(mockShellExecutionService).toHaveBeenCalledWith('dir', '/test/dir', expect.any(Function), expect.any(Object), false, expect.any(Object));
215
261
  });
216
262
  it('should handle command abort and display cancelled status', async () => {
217
263
  const { result } = renderProcessorHook();
@@ -228,6 +274,7 @@ describe('useShellCommandProcessor', () => {
228
274
  const finalHistoryItem = addItemToHistoryMock.mock.calls[1][0];
229
275
  expect(finalHistoryItem.tools[0].status).toBe(ToolCallStatus.Canceled);
230
276
  expect(finalHistoryItem.tools[0].resultDisplay).toContain('Command was cancelled.');
277
+ expect(setShellInputFocusedMock).toHaveBeenCalledWith(false);
231
278
  });
232
279
  it('should handle binary output result correctly', async () => {
233
280
  const { result } = renderProcessorHook();
@@ -263,6 +310,7 @@ describe('useShellCommandProcessor', () => {
263
310
  type: 'error',
264
311
  text: 'An unexpected error occurred: Unexpected failure',
265
312
  });
313
+ expect(setShellInputFocusedMock).toHaveBeenCalledWith(false);
266
314
  });
267
315
  it('should handle synchronous errors during execution and clean up resources', async () => {
268
316
  const testError = new Error('Synchronous spawn error');
@@ -286,6 +334,7 @@ describe('useShellCommandProcessor', () => {
286
334
  const tmpFile = path.join(os.tmpdir(), 'shell_pwd_abcdef.tmp');
287
335
  // Verify that the temporary file was cleaned up
288
336
  expect(vi.mocked(fs.unlinkSync)).toHaveBeenCalledWith(tmpFile);
337
+ expect(setShellInputFocusedMock).toHaveBeenCalledWith(false);
289
338
  });
290
339
  describe('Directory Change Warning', () => {
291
340
  it('should show a warning if the working directory changes', async () => {
@@ -321,5 +370,135 @@ describe('useShellCommandProcessor', () => {
321
370
  expect(finalHistoryItem.tools[0].resultDisplay).not.toContain('WARNING');
322
371
  });
323
372
  });
373
+ describe('ActiveShellPtyId management', () => {
374
+ beforeEach(() => {
375
+ // The real service returns a promise that resolves with the pid and result promise
376
+ mockShellExecutionService.mockImplementation((_cmd, _cwd, callback) => {
377
+ mockShellOutputCallback = callback;
378
+ return Promise.resolve({
379
+ pid: 12345,
380
+ result: new Promise((resolve) => {
381
+ resolveExecutionPromise = resolve;
382
+ }),
383
+ });
384
+ });
385
+ });
386
+ it('should have activeShellPtyId as null initially', () => {
387
+ const { result } = renderProcessorHook();
388
+ expect(result.current.activeShellPtyId).toBeNull();
389
+ });
390
+ it('should set activeShellPtyId when a command with a PID starts', async () => {
391
+ const { result } = renderProcessorHook();
392
+ act(() => {
393
+ result.current.handleShellCommand('ls', new AbortController().signal);
394
+ });
395
+ await vi.waitFor(() => {
396
+ expect(result.current.activeShellPtyId).toBe(12345);
397
+ });
398
+ });
399
+ it('should update the pending history item with the ptyId', async () => {
400
+ const { result } = renderProcessorHook();
401
+ act(() => {
402
+ result.current.handleShellCommand('ls', new AbortController().signal);
403
+ });
404
+ await vi.waitFor(() => {
405
+ // Wait for the second call which is the functional update
406
+ expect(setPendingHistoryItemMock).toHaveBeenCalledTimes(2);
407
+ });
408
+ // The state update is functional, so we test it by executing it.
409
+ const updaterFn = setPendingHistoryItemMock.mock.lastCall?.[0];
410
+ expect(typeof updaterFn).toBe('function');
411
+ // The initial state is the first call to setPendingHistoryItem
412
+ const initialState = setPendingHistoryItemMock.mock.calls[0][0];
413
+ const stateAfterPid = updaterFn(initialState);
414
+ expect(stateAfterPid.tools[0].ptyId).toBe(12345);
415
+ });
416
+ it('should reset activeShellPtyId to null after successful execution', async () => {
417
+ const { result } = renderProcessorHook();
418
+ act(() => {
419
+ result.current.handleShellCommand('ls', new AbortController().signal);
420
+ });
421
+ const execPromise = onExecMock.mock.calls[0][0];
422
+ await vi.waitFor(() => {
423
+ expect(result.current.activeShellPtyId).toBe(12345);
424
+ });
425
+ act(() => {
426
+ resolveExecutionPromise(createMockServiceResult());
427
+ });
428
+ await act(async () => await execPromise);
429
+ expect(result.current.activeShellPtyId).toBeNull();
430
+ });
431
+ it('should reset activeShellPtyId to null after failed execution', async () => {
432
+ const { result } = renderProcessorHook();
433
+ act(() => {
434
+ result.current.handleShellCommand('bad-cmd', new AbortController().signal);
435
+ });
436
+ const execPromise = onExecMock.mock.calls[0][0];
437
+ await vi.waitFor(() => {
438
+ expect(result.current.activeShellPtyId).toBe(12345);
439
+ });
440
+ act(() => {
441
+ resolveExecutionPromise(createMockServiceResult({ exitCode: 1 }));
442
+ });
443
+ await act(async () => await execPromise);
444
+ expect(result.current.activeShellPtyId).toBeNull();
445
+ });
446
+ it('should reset activeShellPtyId to null if execution promise rejects', async () => {
447
+ let rejectResultPromise;
448
+ mockShellExecutionService.mockImplementation(() => Promise.resolve({
449
+ pid: 1234_5,
450
+ result: new Promise((_, reject) => {
451
+ rejectResultPromise = reject;
452
+ }),
453
+ }));
454
+ const { result } = renderProcessorHook();
455
+ act(() => {
456
+ result.current.handleShellCommand('cmd', new AbortController().signal);
457
+ });
458
+ const execPromise = onExecMock.mock.calls[0][0];
459
+ await vi.waitFor(() => {
460
+ expect(result.current.activeShellPtyId).toBe(12345);
461
+ });
462
+ act(() => {
463
+ rejectResultPromise(new Error('Failure'));
464
+ });
465
+ await act(async () => await execPromise);
466
+ expect(result.current.activeShellPtyId).toBeNull();
467
+ });
468
+ it('should not set activeShellPtyId on synchronous execution error and should remain null', async () => {
469
+ mockShellExecutionService.mockImplementation(() => {
470
+ throw new Error('Sync Error');
471
+ });
472
+ const { result } = renderProcessorHook();
473
+ expect(result.current.activeShellPtyId).toBeNull(); // Pre-condition
474
+ act(() => {
475
+ result.current.handleShellCommand('cmd', new AbortController().signal);
476
+ });
477
+ const execPromise = onExecMock.mock.calls[0][0];
478
+ // The hook's state should not have changed to a PID
479
+ expect(result.current.activeShellPtyId).toBeNull();
480
+ await act(async () => await execPromise); // Let the promise resolve
481
+ // And it should still be null after everything is done
482
+ expect(result.current.activeShellPtyId).toBeNull();
483
+ });
484
+ it('should not set activeShellPtyId if service does not return a PID', async () => {
485
+ mockShellExecutionService.mockImplementation((_cmd, _cwd, callback) => {
486
+ mockShellOutputCallback = callback;
487
+ return Promise.resolve({
488
+ pid: undefined, // No PID
489
+ result: new Promise((resolve) => {
490
+ resolveExecutionPromise = resolve;
491
+ }),
492
+ });
493
+ });
494
+ const { result } = renderProcessorHook();
495
+ act(() => {
496
+ result.current.handleShellCommand('ls', new AbortController().signal);
497
+ });
498
+ // Let microtasks run
499
+ await act(async () => { });
500
+ expect(result.current.activeShellPtyId).toBeNull();
501
+ });
502
+ });
324
503
  });
325
504
  //# sourceMappingURL=shellCommandProcessor.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shellCommandProcessor.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/shellCommandProcessor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shellCommandProcessor.test.js","sourceRoot":"","sources":["../../../../src/ui/hooks/shellCommandProcessor.test.ts"],"names":[],"mappings":"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"}
@@ -3,17 +3,30 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { type Dispatch, type SetStateAction } from 'react';
6
7
  import { type PartListUnion } from '@google/genai';
7
8
  import type { UseHistoryManagerReturn } from './useHistoryManager.js';
8
9
  import type { Config } from '@google/gemini-cli-core';
9
10
  import { ToolConfirmationOutcome } from '@google/gemini-cli-core';
10
- import type { HistoryItemWithoutId, HistoryItem, SlashCommandProcessorResult } from '../types.js';
11
+ import type { HistoryItemWithoutId, SlashCommandProcessorResult, HistoryItem } from '../types.js';
11
12
  import type { LoadedSettings } from '../../config/settings.js';
12
13
  import { type CommandContext, type SlashCommand } from '../commands/types.js';
14
+ import type { ExtensionUpdateState } from '../state/extensions.js';
15
+ interface SlashCommandProcessorActions {
16
+ openAuthDialog: () => void;
17
+ openThemeDialog: () => void;
18
+ openEditorDialog: () => void;
19
+ openPrivacyNotice: () => void;
20
+ openSettingsDialog: () => void;
21
+ quit: (messages: HistoryItem[]) => void;
22
+ setDebugMessage: (message: string) => void;
23
+ toggleCorgiMode: () => void;
24
+ setExtensionsUpdateState: Dispatch<SetStateAction<Map<string, ExtensionUpdateState>>>;
25
+ }
13
26
  /**
14
27
  * Hook to define and process slash commands (e.g., /help, /clear).
15
28
  */
16
- export declare const useSlashCommandProcessor: (config: Config | null, settings: LoadedSettings, addItem: UseHistoryManagerReturn["addItem"], clearItems: UseHistoryManagerReturn["clearItems"], loadHistory: UseHistoryManagerReturn["loadHistory"], refreshStatic: () => void, onDebugMessage: (message: string) => void, openThemeDialog: () => void, openAuthDialog: () => void, openEditorDialog: () => void, toggleCorgiMode: () => void, setQuittingMessages: (message: HistoryItem[]) => void, openPrivacyNotice: () => void, openSettingsDialog: () => void, toggleVimEnabled: () => Promise<boolean>, setIsProcessing: (isProcessing: boolean) => void, setGeminiMdFileCount: (count: number) => void) => {
29
+ export declare const useSlashCommandProcessor: (config: Config | null, settings: LoadedSettings, addItem: UseHistoryManagerReturn["addItem"], clearItems: UseHistoryManagerReturn["clearItems"], loadHistory: UseHistoryManagerReturn["loadHistory"], refreshStatic: () => void, toggleVimEnabled: () => Promise<boolean>, setIsProcessing: (isProcessing: boolean) => void, setGeminiMdFileCount: (count: number) => void, actions: SlashCommandProcessorActions, extensionsUpdateState: Map<string, ExtensionUpdateState>, isConfigInitialized: boolean) => {
17
30
  handleSlashCommand: (rawQuery: PartListUnion, oneTimeShellAllowlist?: Set<string>, overwriteConfirmed?: boolean) => Promise<SlashCommandProcessorResult | false>;
18
31
  slashCommands: readonly SlashCommand[];
19
32
  pendingHistoryItems: HistoryItemWithoutId[];
@@ -27,3 +40,4 @@ export declare const useSlashCommandProcessor: (config: Config | null, settings:
27
40
  onConfirm: (confirmed: boolean) => void;
28
41
  } | null;
29
42
  };
43
+ export {};