@machina.ai/cell-cli 1.6.1-rc2 → 1.8.2-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 (399) hide show
  1. package/dist/package.json +7 -4
  2. package/dist/src/commands/extensions/examples/context/gemini-extension.json +1 -2
  3. package/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +3 -2
  4. package/dist/src/commands/extensions/examples/mcp-server/package.json +18 -0
  5. package/dist/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
  6. package/dist/src/commands/extensions/install.d.ts +1 -2
  7. package/dist/src/commands/extensions/install.js +29 -36
  8. package/dist/src/commands/extensions/install.js.map +1 -1
  9. package/dist/src/commands/extensions/install.test.js +16 -16
  10. package/dist/src/commands/extensions/install.test.js.map +1 -1
  11. package/dist/src/commands/extensions/link.js +2 -2
  12. package/dist/src/commands/extensions/link.js.map +1 -1
  13. package/dist/src/commands/extensions/list.js +1 -1
  14. package/dist/src/commands/extensions/list.js.map +1 -1
  15. package/dist/src/commands/extensions/new.js +28 -8
  16. package/dist/src/commands/extensions/new.js.map +1 -1
  17. package/dist/src/commands/extensions/new.test.js +14 -5
  18. package/dist/src/commands/extensions/new.test.js.map +1 -1
  19. package/dist/src/commands/extensions/uninstall.test.js +4 -1
  20. package/dist/src/commands/extensions/uninstall.test.js.map +1 -1
  21. package/dist/src/commands/extensions/update.js +19 -5
  22. package/dist/src/commands/extensions/update.js.map +1 -1
  23. package/dist/src/commands/mcp/add.js +6 -1
  24. package/dist/src/commands/mcp/add.js.map +1 -1
  25. package/dist/src/commands/mcp/list.js +3 -2
  26. package/dist/src/commands/mcp/list.js.map +1 -1
  27. package/dist/src/config/config.d.ts +5 -2
  28. package/dist/src/config/config.js +126 -73
  29. package/dist/src/config/config.js.map +1 -1
  30. package/dist/src/config/extension.d.ts +29 -5
  31. package/dist/src/config/extension.js +139 -65
  32. package/dist/src/config/extension.js.map +1 -1
  33. package/dist/src/config/extensions/extensionEnablement.d.ts +12 -9
  34. package/dist/src/config/extensions/extensionEnablement.js +37 -9
  35. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  36. package/dist/src/config/extensions/extensionEnablement.test.js +72 -0
  37. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  38. package/dist/src/config/extensions/github.d.ts +1 -0
  39. package/dist/src/config/extensions/github.js +31 -15
  40. package/dist/src/config/extensions/github.js.map +1 -1
  41. package/dist/src/config/extensions/github.test.js +68 -1
  42. package/dist/src/config/extensions/github.test.js.map +1 -1
  43. package/dist/src/config/extensions/update.d.ts +4 -5
  44. package/dist/src/config/extensions/update.js +59 -40
  45. package/dist/src/config/extensions/update.js.map +1 -1
  46. package/dist/src/config/extensions/update.test.js +89 -71
  47. package/dist/src/config/extensions/update.test.js.map +1 -1
  48. package/dist/src/config/policy-engine.integration.test.js +270 -0
  49. package/dist/src/config/policy-engine.integration.test.js.map +1 -0
  50. package/dist/src/config/policy.d.ts +8 -0
  51. package/dist/src/config/policy.js +150 -0
  52. package/dist/src/config/policy.js.map +1 -0
  53. package/dist/src/config/policy.test.d.ts +6 -0
  54. package/dist/src/config/policy.test.js +336 -0
  55. package/dist/src/config/policy.test.js.map +1 -0
  56. package/dist/src/config/settings.js +19 -3
  57. package/dist/src/config/settings.js.map +1 -1
  58. package/dist/src/config/settingsSchema.d.ts +30 -3
  59. package/dist/src/config/settingsSchema.js +29 -2
  60. package/dist/src/config/settingsSchema.js.map +1 -1
  61. package/dist/src/config/trustedFolders.d.ts +10 -1
  62. package/dist/src/config/trustedFolders.js +42 -16
  63. package/dist/src/config/trustedFolders.js.map +1 -1
  64. package/dist/src/config/trustedFolders.test.js +98 -17
  65. package/dist/src/config/trustedFolders.test.js.map +1 -1
  66. package/dist/src/gemini.js +118 -161
  67. package/dist/src/gemini.js.map +1 -1
  68. package/dist/src/gemini.test.js +81 -12
  69. package/dist/src/gemini.test.js.map +1 -1
  70. package/dist/src/generated/git-commit.d.ts +2 -2
  71. package/dist/src/generated/git-commit.js +2 -2
  72. package/dist/src/nonInteractiveCli.d.ts +2 -1
  73. package/dist/src/nonInteractiveCli.js +29 -16
  74. package/dist/src/nonInteractiveCli.js.map +1 -1
  75. package/dist/src/nonInteractiveCliCommands.d.ts +17 -0
  76. package/dist/src/nonInteractiveCliCommands.js +79 -0
  77. package/dist/src/nonInteractiveCliCommands.js.map +1 -0
  78. package/dist/src/services/BuiltinCommandLoader.js +4 -0
  79. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  80. package/dist/src/services/BuiltinCommandLoader.test.js +50 -1
  81. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  82. package/dist/src/test-utils/render.d.ts +5 -1
  83. package/dist/src/test-utils/render.js +5 -1
  84. package/dist/src/test-utils/render.js.map +1 -1
  85. package/dist/src/ui/App.js +23 -8
  86. package/dist/src/ui/App.js.map +1 -1
  87. package/dist/src/ui/AppContainer.js +114 -55
  88. package/dist/src/ui/AppContainer.js.map +1 -1
  89. package/dist/src/ui/AppContainer.test.js +399 -7
  90. package/dist/src/ui/AppContainer.test.js.map +1 -1
  91. package/dist/src/ui/IdeIntegrationNudge.d.ts +2 -2
  92. package/dist/src/ui/IdeIntegrationNudge.js +4 -2
  93. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  94. package/dist/src/ui/auth/AuthDialog.js +1 -0
  95. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  96. package/dist/src/ui/auth/AuthDialog.test.js +1 -0
  97. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  98. package/dist/src/ui/commands/chatCommand.js +14 -3
  99. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  100. package/dist/src/ui/commands/clearCommand.js +1 -1
  101. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  102. package/dist/src/ui/commands/extensionsCommand.js +17 -10
  103. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  104. package/dist/src/ui/commands/ideCommand.js +1 -1
  105. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  106. package/dist/src/ui/commands/mcpCommand.js +87 -262
  107. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  108. package/dist/src/ui/commands/modelCommand.d.ts +7 -0
  109. package/dist/src/ui/commands/modelCommand.js +16 -0
  110. package/dist/src/ui/commands/modelCommand.js.map +1 -0
  111. package/dist/src/ui/commands/modelCommand.test.d.ts +6 -0
  112. package/dist/src/ui/commands/modelCommand.test.js +30 -0
  113. package/dist/src/ui/commands/modelCommand.test.js.map +1 -0
  114. package/dist/src/ui/commands/permissionsCommand.d.ts +7 -0
  115. package/dist/src/ui/commands/permissionsCommand.js +16 -0
  116. package/dist/src/ui/commands/permissionsCommand.js.map +1 -0
  117. package/dist/src/ui/commands/permissionsCommand.test.d.ts +6 -0
  118. package/dist/src/ui/commands/permissionsCommand.test.js +30 -0
  119. package/dist/src/ui/commands/permissionsCommand.test.js.map +1 -0
  120. package/dist/src/ui/commands/toolsCommand.js +10 -24
  121. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  122. package/dist/src/ui/commands/types.d.ts +7 -6
  123. package/dist/src/ui/commands/types.js.map +1 -1
  124. package/dist/src/ui/components/AppHeader.js +2 -5
  125. package/dist/src/ui/components/AppHeader.js.map +1 -1
  126. package/dist/src/ui/components/AsciiArt.d.ts +3 -3
  127. package/dist/src/ui/components/AsciiArt.js +3 -3
  128. package/dist/src/ui/components/Composer.js +12 -32
  129. package/dist/src/ui/components/Composer.js.map +1 -1
  130. package/dist/src/ui/components/Composer.test.js +18 -21
  131. package/dist/src/ui/components/Composer.test.js.map +1 -1
  132. package/dist/src/ui/components/ConsentPrompt.d.ts +13 -0
  133. package/dist/src/ui/components/ConsentPrompt.js +19 -0
  134. package/dist/src/ui/components/ConsentPrompt.js.map +1 -0
  135. package/dist/src/ui/components/ConsentPrompt.test.d.ts +6 -0
  136. package/dist/src/ui/components/ConsentPrompt.test.js +67 -0
  137. package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -0
  138. package/dist/src/ui/components/ContextUsageDisplay.d.ts +2 -1
  139. package/dist/src/ui/components/ContextUsageDisplay.js +4 -2
  140. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
  141. package/dist/src/ui/components/DialogManager.d.ts +7 -1
  142. package/dist/src/ui/components/DialogManager.js +18 -9
  143. package/dist/src/ui/components/DialogManager.js.map +1 -1
  144. package/dist/src/ui/components/EditorSettingsDialog.js +11 -2
  145. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  146. package/dist/src/ui/components/ExitWarning.d.ts +7 -0
  147. package/dist/src/ui/components/ExitWarning.js +9 -0
  148. package/dist/src/ui/components/ExitWarning.js.map +1 -0
  149. package/dist/src/ui/components/FolderTrustDialog.js +3 -0
  150. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  151. package/dist/src/ui/components/FolderTrustDialog.test.js +2 -2
  152. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  153. package/dist/src/ui/components/Footer.d.ts +1 -19
  154. package/dist/src/ui/components/Footer.js +32 -15
  155. package/dist/src/ui/components/Footer.js.map +1 -1
  156. package/dist/src/ui/components/HistoryItemDisplay.d.ts +2 -1
  157. package/dist/src/ui/components/HistoryItemDisplay.js +10 -1
  158. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  159. package/dist/src/ui/components/HistoryItemDisplay.test.js +90 -9
  160. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  161. package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +11 -0
  162. package/dist/src/ui/components/IdeTrustChangeDialog.js +32 -0
  163. package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -0
  164. package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +6 -0
  165. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +57 -0
  166. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -0
  167. package/dist/src/ui/components/InputPrompt.d.ts +7 -1
  168. package/dist/src/ui/components/InputPrompt.js +59 -22
  169. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  170. package/dist/src/ui/components/LoadingIndicator.js +1 -1
  171. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  172. package/dist/src/ui/components/LoadingIndicator.test.js +4 -0
  173. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
  174. package/dist/src/ui/components/LoopDetectionConfirmation.js +2 -0
  175. package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -1
  176. package/dist/src/ui/components/MainContent.js +7 -2
  177. package/dist/src/ui/components/MainContent.js.map +1 -1
  178. package/dist/src/ui/components/ModelDialog.d.ts +11 -0
  179. package/dist/src/ui/components/ModelDialog.js +57 -0
  180. package/dist/src/ui/components/ModelDialog.js.map +1 -0
  181. package/dist/src/ui/components/ModelDialog.test.d.ts +6 -0
  182. package/dist/src/ui/components/ModelDialog.test.js +153 -0
  183. package/dist/src/ui/components/ModelDialog.test.js.map +1 -0
  184. package/dist/src/ui/components/PermissionsModifyTrustDialog.d.ts +13 -0
  185. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +48 -0
  186. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -0
  187. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +6 -0
  188. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +154 -0
  189. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -0
  190. package/dist/src/ui/components/ProQuotaDialog.js +2 -0
  191. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  192. package/dist/src/ui/components/ProQuotaDialog.test.js +2 -0
  193. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
  194. package/dist/src/ui/components/QueuedMessageDisplay.d.ts +9 -0
  195. package/dist/src/ui/components/QueuedMessageDisplay.js +20 -0
  196. package/dist/src/ui/components/QueuedMessageDisplay.js.map +1 -0
  197. package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +6 -0
  198. package/dist/src/ui/components/QueuedMessageDisplay.test.js +56 -0
  199. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -0
  200. package/dist/src/ui/components/SettingsDialog.js +5 -2
  201. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  202. package/dist/src/ui/components/SettingsDialog.test.js +47 -13
  203. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  204. package/dist/src/ui/components/ShellConfirmationDialog.js +3 -0
  205. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  206. package/dist/src/ui/components/ThemeDialog.js +2 -0
  207. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  208. package/dist/src/ui/components/WorkspaceMigrationDialog.js +5 -3
  209. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -1
  210. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +14 -0
  211. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  212. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +1 -1
  213. package/dist/src/ui/components/messages/ToolGroupMessage.js +5 -5
  214. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  215. package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
  216. package/dist/src/ui/components/messages/ToolMessage.js +27 -4
  217. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  218. package/dist/src/ui/components/messages/UserMessage.js +1 -2
  219. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  220. package/dist/src/ui/components/messages/WarningMessage.d.ts +11 -0
  221. package/dist/src/ui/components/messages/WarningMessage.js +10 -0
  222. package/dist/src/ui/components/messages/WarningMessage.js.map +1 -0
  223. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +38 -0
  224. package/dist/src/ui/components/shared/BaseSelectionList.js +72 -0
  225. package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -0
  226. package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +6 -0
  227. package/dist/src/ui/components/shared/BaseSelectionList.test.js +376 -0
  228. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -0
  229. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +35 -0
  230. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +13 -0
  231. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -0
  232. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +6 -0
  233. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +79 -0
  234. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -0
  235. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +2 -3
  236. package/dist/src/ui/components/shared/RadioButtonSelect.js +9 -104
  237. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  238. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +115 -92
  239. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -1
  240. package/dist/src/ui/components/shared/ScopeSelector.js +4 -1
  241. package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -1
  242. package/dist/src/ui/components/shared/text-buffer.d.ts +6 -0
  243. package/dist/src/ui/components/shared/text-buffer.js +71 -4
  244. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  245. package/dist/src/ui/components/views/ExtensionsList.test.js +1 -1
  246. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  247. package/dist/src/ui/components/views/McpStatus.d.ts +27 -0
  248. package/dist/src/ui/components/views/McpStatus.js +77 -0
  249. package/dist/src/ui/components/views/McpStatus.js.map +1 -0
  250. package/dist/src/ui/components/views/McpStatus.test.d.ts +6 -0
  251. package/dist/src/ui/components/views/McpStatus.test.js +117 -0
  252. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -0
  253. package/dist/src/ui/components/views/ToolsList.d.ts +14 -0
  254. package/dist/src/ui/components/views/ToolsList.js +7 -0
  255. package/dist/src/ui/components/views/ToolsList.js.map +1 -0
  256. package/dist/src/ui/components/views/ToolsList.test.d.ts +6 -0
  257. package/dist/src/ui/components/views/ToolsList.test.js +45 -0
  258. package/dist/src/ui/components/views/ToolsList.test.js.map +1 -0
  259. package/dist/src/ui/contexts/KeypressContext.js +3 -0
  260. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  261. package/dist/src/ui/contexts/SessionContext.d.ts +6 -0
  262. package/dist/src/ui/contexts/SessionContext.js +107 -5
  263. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  264. package/dist/src/ui/contexts/ShellFocusContext.d.ts +7 -0
  265. package/dist/src/ui/contexts/ShellFocusContext.js +9 -0
  266. package/dist/src/ui/contexts/ShellFocusContext.js.map +1 -0
  267. package/dist/src/ui/contexts/UIActionsContext.d.ts +2 -0
  268. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  269. package/dist/src/ui/contexts/UIStateContext.d.ts +11 -5
  270. package/dist/src/ui/contexts/UIStateContext.js +2 -0
  271. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  272. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +7 -5
  273. package/dist/src/ui/hooks/slashCommandProcessor.js +10 -2
  274. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  275. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +10 -1
  276. package/dist/src/ui/hooks/useExtensionUpdates.js +93 -41
  277. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -1
  278. package/dist/src/ui/hooks/useExtensionUpdates.test.js +160 -79
  279. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  280. package/dist/src/ui/hooks/useFocus.js +10 -0
  281. package/dist/src/ui/hooks/useFocus.js.map +1 -1
  282. package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -1
  283. package/dist/src/ui/hooks/useFolderTrust.js +2 -7
  284. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  285. package/dist/src/ui/hooks/useGeminiStream.js +7 -6
  286. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  287. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  288. package/dist/src/ui/hooks/useIdeTrustListener.d.ts +4 -2
  289. package/dist/src/ui/hooks/useIdeTrustListener.js +40 -14
  290. package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -1
  291. package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +6 -0
  292. package/dist/src/ui/hooks/useIdeTrustListener.test.js +183 -0
  293. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -0
  294. package/dist/src/ui/hooks/useMemoryMonitor.d.ts +13 -0
  295. package/dist/src/ui/hooks/useMemoryMonitor.js +28 -0
  296. package/dist/src/ui/hooks/useMemoryMonitor.js.map +1 -0
  297. package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +6 -0
  298. package/dist/src/ui/hooks/useMemoryMonitor.test.js +57 -0
  299. package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -0
  300. package/dist/src/ui/hooks/useModelCommand.d.ts +12 -0
  301. package/dist/src/ui/hooks/useModelCommand.js +21 -0
  302. package/dist/src/ui/hooks/useModelCommand.js.map +1 -0
  303. package/dist/src/ui/hooks/useModelCommand.test.d.ts +6 -0
  304. package/dist/src/ui/hooks/useModelCommand.test.js +35 -0
  305. package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -0
  306. package/dist/src/ui/hooks/usePermissionsModifyTrust.d.ts +17 -0
  307. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +78 -0
  308. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -0
  309. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +6 -0
  310. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +182 -0
  311. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -0
  312. package/dist/src/ui/hooks/useSelectionList.d.ts +34 -0
  313. package/dist/src/ui/hooks/useSelectionList.js +245 -0
  314. package/dist/src/ui/hooks/useSelectionList.js.map +1 -0
  315. package/dist/src/ui/hooks/useSelectionList.test.d.ts +6 -0
  316. package/dist/src/ui/hooks/useSelectionList.test.js +701 -0
  317. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -0
  318. package/dist/src/ui/hooks/useSlashCompletion.js +7 -2
  319. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  320. package/dist/src/ui/hooks/useSlashCompletion.test.js +33 -0
  321. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  322. package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
  323. package/dist/src/ui/hooks/useStateAndRef.js +2 -2
  324. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
  325. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -2
  326. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  327. package/dist/src/ui/layouts/DefaultAppLayout.d.ts +9 -0
  328. package/dist/src/ui/layouts/DefaultAppLayout.js +13 -0
  329. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -0
  330. package/dist/src/ui/layouts/ScreenReaderAppLayout.d.ts +7 -0
  331. package/dist/src/ui/layouts/ScreenReaderAppLayout.js +14 -0
  332. package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -0
  333. package/dist/src/ui/noninteractive/nonInteractiveUi.d.ts +12 -0
  334. package/dist/src/ui/noninteractive/nonInteractiveUi.js +28 -0
  335. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -0
  336. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +2 -2
  337. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  338. package/dist/src/ui/state/extensions.d.ts +28 -1
  339. package/dist/src/ui/state/extensions.js +46 -1
  340. package/dist/src/ui/state/extensions.js.map +1 -1
  341. package/dist/src/ui/themes/theme.js +2 -2
  342. package/dist/src/ui/themes/theme.js.map +1 -1
  343. package/dist/src/ui/types.d.ts +50 -3
  344. package/dist/src/ui/types.js +3 -0
  345. package/dist/src/ui/types.js.map +1 -1
  346. package/dist/src/ui/utils/MarkdownDisplay.js +1 -2
  347. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  348. package/dist/src/ui/utils/MarkdownDisplay.test.js +94 -91
  349. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  350. package/dist/src/ui/utils/displayUtils.d.ts +1 -0
  351. package/dist/src/ui/utils/displayUtils.js +4 -1
  352. package/dist/src/ui/utils/displayUtils.js.map +1 -1
  353. package/dist/src/ui/utils/displayUtils.test.js +36 -17
  354. package/dist/src/ui/utils/displayUtils.test.js.map +1 -1
  355. package/dist/src/ui/utils/highlight.d.ts +1 -0
  356. package/dist/src/ui/utils/highlight.js +28 -0
  357. package/dist/src/ui/utils/highlight.js.map +1 -1
  358. package/dist/src/ui/utils/textUtils.d.ts +1 -0
  359. package/dist/src/ui/utils/textUtils.js +56 -0
  360. package/dist/src/ui/utils/textUtils.js.map +1 -1
  361. package/dist/src/ui/utils/textUtils.test.d.ts +6 -0
  362. package/dist/src/ui/utils/textUtils.test.js +132 -0
  363. package/dist/src/ui/utils/textUtils.test.js.map +1 -0
  364. package/dist/src/utils/deepMerge.d.ts +2 -3
  365. package/dist/src/utils/events.d.ts +2 -1
  366. package/dist/src/utils/events.js +1 -0
  367. package/dist/src/utils/events.js.map +1 -1
  368. package/dist/src/utils/math.d.ts +13 -0
  369. package/dist/src/utils/math.js +14 -0
  370. package/dist/src/utils/math.js.map +1 -0
  371. package/dist/src/utils/relaunch.d.ts +7 -0
  372. package/dist/src/utils/relaunch.js +57 -0
  373. package/dist/src/utils/relaunch.js.map +1 -0
  374. package/dist/src/utils/relaunch.test.d.ts +6 -0
  375. package/dist/src/utils/relaunch.test.js +273 -0
  376. package/dist/src/utils/relaunch.test.js.map +1 -0
  377. package/dist/src/utils/sandbox.js +24 -10
  378. package/dist/src/utils/sandbox.js.map +1 -1
  379. package/dist/src/utils/windowTitle.d.ts +12 -0
  380. package/dist/src/utils/windowTitle.js +19 -0
  381. package/dist/src/utils/windowTitle.js.map +1 -0
  382. package/dist/src/utils/windowTitle.test.d.ts +6 -0
  383. package/dist/src/utils/windowTitle.test.js +49 -0
  384. package/dist/src/utils/windowTitle.test.js.map +1 -0
  385. package/dist/src/validateNonInterActiveAuth.d.ts +2 -1
  386. package/dist/src/validateNonInterActiveAuth.js +33 -12
  387. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  388. package/dist/src/zed-integration/fileSystemService.d.ts +1 -0
  389. package/dist/src/zed-integration/fileSystemService.js +3 -0
  390. package/dist/src/zed-integration/fileSystemService.js.map +1 -1
  391. package/dist/src/zed-integration/schema.d.ts +128 -128
  392. package/dist/src/zed-integration/zedIntegration.d.ts +8 -1
  393. package/dist/src/zed-integration/zedIntegration.js +17 -3
  394. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  395. package/dist/tsconfig.tsbuildinfo +1 -1
  396. package/package.json +12 -8
  397. package/dist/src/commands/extensions/examples/mcp-server/example.js +0 -46
  398. package/dist/src/commands/extensions/examples/mcp-server/example.js.map +0 -1
  399. /package/dist/src/{commands/extensions/examples/mcp-server/example.d.ts → config/policy-engine.integration.test.d.ts} +0 -0
@@ -12,6 +12,16 @@ import { useQuotaAndFallback } from './hooks/useQuotaAndFallback.js';
12
12
  import { UIStateContext } from './contexts/UIStateContext.js';
13
13
  import { UIActionsContext, } from './contexts/UIActionsContext.js';
14
14
  import { useContext } from 'react';
15
+ // Mock useStdout to capture terminal title writes
16
+ let mockStdout;
17
+ vi.mock('ink', async (importOriginal) => {
18
+ const actual = await importOriginal();
19
+ return {
20
+ ...actual,
21
+ useStdout: () => ({ stdout: mockStdout }),
22
+ measureElement: vi.fn(),
23
+ };
24
+ });
15
25
  // Helper component will read the context values provided by AppContainer
16
26
  // so we can assert against them in our tests.
17
27
  let capturedUIState;
@@ -24,19 +34,13 @@ function TestContextConsumer() {
24
34
  vi.mock('./App.js', () => ({
25
35
  App: TestContextConsumer,
26
36
  }));
27
- vi.mock('ink', async (importOriginal) => {
28
- const original = await importOriginal();
29
- return {
30
- ...original,
31
- measureElement: vi.fn(),
32
- };
33
- });
34
37
  vi.mock('./hooks/useQuotaAndFallback.js');
35
38
  vi.mock('./hooks/useHistoryManager.js');
36
39
  vi.mock('./hooks/useThemeCommand.js');
37
40
  vi.mock('./auth/useAuth.js');
38
41
  vi.mock('./hooks/useEditorSettings.js');
39
42
  vi.mock('./hooks/useSettingsCommand.js');
43
+ vi.mock('./hooks/useModelCommand.js');
40
44
  vi.mock('./hooks/slashCommandProcessor.js');
41
45
  vi.mock('./hooks/useConsoleMessages.js');
42
46
  vi.mock('./hooks/useTerminalSize.js', () => ({
@@ -49,6 +53,7 @@ vi.mock('./hooks/useBracketedPaste.js');
49
53
  vi.mock('./hooks/useKeypress.js');
50
54
  vi.mock('./hooks/useLoadingIndicator.js');
51
55
  vi.mock('./hooks/useFolderTrust.js');
56
+ vi.mock('./hooks/useIdeTrustListener.js');
52
57
  vi.mock('./hooks/useMessageQueue.js');
53
58
  vi.mock('./hooks/useAutoAcceptIndicator.js');
54
59
  vi.mock('./hooks/useWorkspaceMigration.js');
@@ -67,11 +72,13 @@ import { useThemeCommand } from './hooks/useThemeCommand.js';
67
72
  import { useAuthCommand } from './auth/useAuth.js';
68
73
  import { useEditorSettings } from './hooks/useEditorSettings.js';
69
74
  import { useSettingsCommand } from './hooks/useSettingsCommand.js';
75
+ import { useModelCommand } from './hooks/useModelCommand.js';
70
76
  import { useSlashCommandProcessor } from './hooks/slashCommandProcessor.js';
71
77
  import { useConsoleMessages } from './hooks/useConsoleMessages.js';
72
78
  import { useGeminiStream } from './hooks/useGeminiStream.js';
73
79
  import { useVim } from './hooks/vim.js';
74
80
  import { useFolderTrust } from './hooks/useFolderTrust.js';
81
+ import { useIdeTrustListener } from './hooks/useIdeTrustListener.js';
75
82
  import { useMessageQueue } from './hooks/useMessageQueue.js';
76
83
  import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
77
84
  import { useWorkspaceMigration } from './hooks/useWorkspaceMigration.js';
@@ -95,11 +102,13 @@ describe('AppContainer State Management', () => {
95
102
  const mockedUseAuthCommand = useAuthCommand;
96
103
  const mockedUseEditorSettings = useEditorSettings;
97
104
  const mockedUseSettingsCommand = useSettingsCommand;
105
+ const mockedUseModelCommand = useModelCommand;
98
106
  const mockedUseSlashCommandProcessor = useSlashCommandProcessor;
99
107
  const mockedUseConsoleMessages = useConsoleMessages;
100
108
  const mockedUseGeminiStream = useGeminiStream;
101
109
  const mockedUseVim = useVim;
102
110
  const mockedUseFolderTrust = useFolderTrust;
111
+ const mockedUseIdeTrustListener = useIdeTrustListener;
103
112
  const mockedUseMessageQueue = useMessageQueue;
104
113
  const mockedUseAutoAcceptIndicator = useAutoAcceptIndicator;
105
114
  const mockedUseWorkspaceMigration = useWorkspaceMigration;
@@ -111,6 +120,14 @@ describe('AppContainer State Management', () => {
111
120
  const mockedUseLoadingIndicator = useLoadingIndicator;
112
121
  beforeEach(() => {
113
122
  vi.clearAllMocks();
123
+ // Initialize mock stdout for terminal title tests
124
+ mockStdout = { write: vi.fn() };
125
+ // Mock computeWindowTitle function to centralize title logic testing
126
+ vi.mock('../utils/windowTitle.js', async () => ({
127
+ computeWindowTitle: vi.fn((folderName) =>
128
+ // Default behavior: return "Gemini - {folderName}" unless CLI_TITLE is set
129
+ process.env['CLI_TITLE'] || `Gemini - ${folderName}`),
130
+ }));
114
131
  capturedUIState = null;
115
132
  capturedUIActions = null;
116
133
  // **Provide a default return value for EVERY mocked hook.**
@@ -148,6 +165,11 @@ describe('AppContainer State Management', () => {
148
165
  openSettingsDialog: vi.fn(),
149
166
  closeSettingsDialog: vi.fn(),
150
167
  });
168
+ mockedUseModelCommand.mockReturnValue({
169
+ isModelDialogOpen: false,
170
+ openModelDialog: vi.fn(),
171
+ closeModelDialog: vi.fn(),
172
+ });
151
173
  mockedUseSlashCommandProcessor.mockReturnValue({
152
174
  handleSlashCommand: vi.fn(),
153
175
  slashCommands: [],
@@ -175,6 +197,10 @@ describe('AppContainer State Management', () => {
175
197
  handleFolderTrustSelect: vi.fn(),
176
198
  isRestarting: false,
177
199
  });
200
+ mockedUseIdeTrustListener.mockReturnValue({
201
+ needsRestart: false,
202
+ restartReason: 'NONE',
203
+ });
178
204
  mockedUseMessageQueue.mockReturnValue({
179
205
  messageQueue: [],
180
206
  addMessage: vi.fn(),
@@ -216,6 +242,8 @@ describe('AppContainer State Management', () => {
216
242
  });
217
243
  // Mock Config
218
244
  mockConfig = makeFakeConfig();
245
+ // Mock config's getTargetDir to return consistent workspace directory
246
+ vi.spyOn(mockConfig, 'getTargetDir').mockReturnValue('/test/workspace');
219
247
  // Mock LoadedSettings
220
248
  mockSettings = {
221
249
  merged: {
@@ -224,6 +252,10 @@ describe('AppContainer State Management', () => {
224
252
  hideTips: false,
225
253
  showMemoryUsage: false,
226
254
  theme: 'default',
255
+ ui: {
256
+ showStatusInTitle: false,
257
+ hideWindowTitle: false,
258
+ },
227
259
  },
228
260
  };
229
261
  // Mock InitializationResult
@@ -392,6 +424,244 @@ describe('AppContainer State Management', () => {
392
424
  expect(mockHandler).toHaveBeenCalledWith('auth');
393
425
  });
394
426
  });
427
+ describe('Terminal Title Update Feature', () => {
428
+ beforeEach(() => {
429
+ // Reset mock stdout for each test
430
+ mockStdout = { write: vi.fn() };
431
+ });
432
+ it('should not update terminal title when showStatusInTitle is false', () => {
433
+ // Arrange: Set up mock settings with showStatusInTitle disabled
434
+ const mockSettingsWithShowStatusFalse = {
435
+ ...mockSettings,
436
+ merged: {
437
+ ...mockSettings.merged,
438
+ ui: {
439
+ ...mockSettings.merged.ui,
440
+ showStatusInTitle: false,
441
+ hideWindowTitle: false,
442
+ },
443
+ },
444
+ };
445
+ // Act: Render the container
446
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithShowStatusFalse, version: "1.0.0", initializationResult: mockInitResult }));
447
+ // Assert: Check that no title-related writes occurred
448
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
449
+ expect(titleWrites).toHaveLength(0);
450
+ unmount();
451
+ });
452
+ it('should not update terminal title when hideWindowTitle is true', () => {
453
+ // Arrange: Set up mock settings with hideWindowTitle enabled
454
+ const mockSettingsWithHideTitleTrue = {
455
+ ...mockSettings,
456
+ merged: {
457
+ ...mockSettings.merged,
458
+ ui: {
459
+ ...mockSettings.merged.ui,
460
+ showStatusInTitle: true,
461
+ hideWindowTitle: true,
462
+ },
463
+ },
464
+ };
465
+ // Act: Render the container
466
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithHideTitleTrue, version: "1.0.0", initializationResult: mockInitResult }));
467
+ // Assert: Check that no title-related writes occurred
468
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
469
+ expect(titleWrites).toHaveLength(0);
470
+ unmount();
471
+ });
472
+ it('should update terminal title with thought subject when in active state', () => {
473
+ // Arrange: Set up mock settings with showStatusInTitle enabled
474
+ const mockSettingsWithTitleEnabled = {
475
+ ...mockSettings,
476
+ merged: {
477
+ ...mockSettings.merged,
478
+ ui: {
479
+ ...mockSettings.merged.ui,
480
+ showStatusInTitle: true,
481
+ hideWindowTitle: false,
482
+ },
483
+ },
484
+ };
485
+ // Mock the streaming state and thought
486
+ const thoughtSubject = 'Processing request';
487
+ mockedUseGeminiStream.mockReturnValue({
488
+ streamingState: 'responding',
489
+ submitQuery: vi.fn(),
490
+ initError: null,
491
+ pendingHistoryItems: [],
492
+ thought: { subject: thoughtSubject },
493
+ cancelOngoingRequest: vi.fn(),
494
+ });
495
+ // Act: Render the container
496
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithTitleEnabled, version: "1.0.0", initializationResult: mockInitResult }));
497
+ // Assert: Check that title was updated with thought subject
498
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
499
+ expect(titleWrites).toHaveLength(1);
500
+ expect(titleWrites[0][0]).toBe(`\x1b]2;${thoughtSubject.padEnd(80, ' ')}\x07`);
501
+ unmount();
502
+ });
503
+ it('should update terminal title with default text when in Idle state and no thought subject', () => {
504
+ // Arrange: Set up mock settings with showStatusInTitle enabled
505
+ const mockSettingsWithTitleEnabled = {
506
+ ...mockSettings,
507
+ merged: {
508
+ ...mockSettings.merged,
509
+ ui: {
510
+ ...mockSettings.merged.ui,
511
+ showStatusInTitle: true,
512
+ hideWindowTitle: false,
513
+ },
514
+ },
515
+ };
516
+ // Mock the streaming state as Idle with no thought
517
+ mockedUseGeminiStream.mockReturnValue({
518
+ streamingState: 'idle',
519
+ submitQuery: vi.fn(),
520
+ initError: null,
521
+ pendingHistoryItems: [],
522
+ thought: null,
523
+ cancelOngoingRequest: vi.fn(),
524
+ });
525
+ // Act: Render the container
526
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithTitleEnabled, version: "1.0.0", initializationResult: mockInitResult }));
527
+ // Assert: Check that title was updated with default Idle text
528
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
529
+ expect(titleWrites).toHaveLength(1);
530
+ expect(titleWrites[0][0]).toBe(`\x1b]2;${'Gemini - workspace'.padEnd(80, ' ')}\x07`);
531
+ unmount();
532
+ });
533
+ it('should update terminal title when in WaitingForConfirmation state with thought subject', () => {
534
+ // Arrange: Set up mock settings with showStatusInTitle enabled
535
+ const mockSettingsWithTitleEnabled = {
536
+ ...mockSettings,
537
+ merged: {
538
+ ...mockSettings.merged,
539
+ ui: {
540
+ ...mockSettings.merged.ui,
541
+ showStatusInTitle: true,
542
+ hideWindowTitle: false,
543
+ },
544
+ },
545
+ };
546
+ // Mock the streaming state and thought
547
+ const thoughtSubject = 'Confirm tool execution';
548
+ mockedUseGeminiStream.mockReturnValue({
549
+ streamingState: 'waitingForConfirmation',
550
+ submitQuery: vi.fn(),
551
+ initError: null,
552
+ pendingHistoryItems: [],
553
+ thought: { subject: thoughtSubject },
554
+ cancelOngoingRequest: vi.fn(),
555
+ });
556
+ // Act: Render the container
557
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithTitleEnabled, version: "1.0.0", initializationResult: mockInitResult }));
558
+ // Assert: Check that title was updated with confirmation text
559
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
560
+ expect(titleWrites).toHaveLength(1);
561
+ expect(titleWrites[0][0]).toBe(`\x1b]2;${thoughtSubject.padEnd(80, ' ')}\x07`);
562
+ unmount();
563
+ });
564
+ it('should pad title to exactly 80 characters', () => {
565
+ // Arrange: Set up mock settings with showStatusInTitle enabled
566
+ const mockSettingsWithTitleEnabled = {
567
+ ...mockSettings,
568
+ merged: {
569
+ ...mockSettings.merged,
570
+ ui: {
571
+ ...mockSettings.merged.ui,
572
+ showStatusInTitle: true,
573
+ hideWindowTitle: false,
574
+ },
575
+ },
576
+ };
577
+ // Mock the streaming state and thought with a short subject
578
+ const shortTitle = 'Short';
579
+ mockedUseGeminiStream.mockReturnValue({
580
+ streamingState: 'responding',
581
+ submitQuery: vi.fn(),
582
+ initError: null,
583
+ pendingHistoryItems: [],
584
+ thought: { subject: shortTitle },
585
+ cancelOngoingRequest: vi.fn(),
586
+ });
587
+ // Act: Render the container
588
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithTitleEnabled, version: "1.0.0", initializationResult: mockInitResult }));
589
+ // Assert: Check that title is padded to exactly 80 characters
590
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
591
+ expect(titleWrites).toHaveLength(1);
592
+ const calledWith = titleWrites[0][0];
593
+ const expectedTitle = shortTitle.padEnd(80, ' ');
594
+ expect(calledWith).toContain(shortTitle);
595
+ expect(calledWith).toContain('\x1b]2;');
596
+ expect(calledWith).toContain('\x07');
597
+ expect(calledWith).toBe('\x1b]2;' + expectedTitle + '\x07');
598
+ unmount();
599
+ });
600
+ it('should use correct ANSI escape code format', () => {
601
+ // Arrange: Set up mock settings with showStatusInTitle enabled
602
+ const mockSettingsWithTitleEnabled = {
603
+ ...mockSettings,
604
+ merged: {
605
+ ...mockSettings.merged,
606
+ ui: {
607
+ ...mockSettings.merged.ui,
608
+ showStatusInTitle: true,
609
+ hideWindowTitle: false,
610
+ },
611
+ },
612
+ };
613
+ // Mock the streaming state and thought
614
+ const title = 'Test Title';
615
+ mockedUseGeminiStream.mockReturnValue({
616
+ streamingState: 'responding',
617
+ submitQuery: vi.fn(),
618
+ initError: null,
619
+ pendingHistoryItems: [],
620
+ thought: { subject: title },
621
+ cancelOngoingRequest: vi.fn(),
622
+ });
623
+ // Act: Render the container
624
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithTitleEnabled, version: "1.0.0", initializationResult: mockInitResult }));
625
+ // Assert: Check that the correct ANSI escape sequence is used
626
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
627
+ expect(titleWrites).toHaveLength(1);
628
+ const expectedEscapeSequence = `\x1b]2;${title.padEnd(80, ' ')}\x07`;
629
+ expect(titleWrites[0][0]).toBe(expectedEscapeSequence);
630
+ unmount();
631
+ });
632
+ it('should use CLI_TITLE environment variable when set', () => {
633
+ // Arrange: Set up mock settings with showStatusInTitle enabled
634
+ const mockSettingsWithTitleEnabled = {
635
+ ...mockSettings,
636
+ merged: {
637
+ ...mockSettings.merged,
638
+ ui: {
639
+ ...mockSettings.merged.ui,
640
+ showStatusInTitle: true,
641
+ hideWindowTitle: false,
642
+ },
643
+ },
644
+ };
645
+ // Mock CLI_TITLE environment variable
646
+ vi.stubEnv('CLI_TITLE', 'Custom Gemini Title');
647
+ // Mock the streaming state as Idle with no thought
648
+ mockedUseGeminiStream.mockReturnValue({
649
+ streamingState: 'idle',
650
+ submitQuery: vi.fn(),
651
+ initError: null,
652
+ pendingHistoryItems: [],
653
+ thought: null,
654
+ cancelOngoingRequest: vi.fn(),
655
+ });
656
+ // Act: Render the container
657
+ const { unmount } = render(_jsx(AppContainer, { config: mockConfig, settings: mockSettingsWithTitleEnabled, version: "1.0.0", initializationResult: mockInitResult }));
658
+ // Assert: Check that title was updated with CLI_TITLE value
659
+ const titleWrites = mockStdout.write.mock.calls.filter((call) => call[0].includes('\x1b]2;'));
660
+ expect(titleWrites).toHaveLength(1);
661
+ expect(titleWrites[0][0]).toBe(`\x1b]2;${'Custom Gemini Title'.padEnd(80, ' ')}\x07`);
662
+ unmount();
663
+ });
664
+ });
395
665
  describe('Terminal Height Calculation', () => {
396
666
  const mockedMeasureElement = measureElement;
397
667
  const mockedUseTerminalSize = useTerminalSize;
@@ -418,5 +688,127 @@ describe('AppContainer State Management', () => {
418
688
  expect(lastCall[2]).toBe(1);
419
689
  });
420
690
  });
691
+ describe('Keyboard Input Handling', () => {
692
+ it('should block quit command during authentication', () => {
693
+ mockedUseAuthCommand.mockReturnValue({
694
+ authState: 'unauthenticated',
695
+ setAuthState: vi.fn(),
696
+ authError: null,
697
+ onAuthError: vi.fn(),
698
+ });
699
+ const mockHandleSlashCommand = vi.fn();
700
+ mockedUseSlashCommandProcessor.mockReturnValue({
701
+ handleSlashCommand: mockHandleSlashCommand,
702
+ slashCommands: [],
703
+ pendingHistoryItems: [],
704
+ commandContext: {},
705
+ shellConfirmationRequest: null,
706
+ confirmationRequest: null,
707
+ });
708
+ render(_jsx(AppContainer, { config: mockConfig, settings: mockSettings, version: "1.0.0", initializationResult: mockInitResult }));
709
+ expect(mockHandleSlashCommand).not.toHaveBeenCalledWith('/quit');
710
+ });
711
+ it('should prevent exit command when text buffer has content', () => {
712
+ mockedUseTextBuffer.mockReturnValue({
713
+ text: 'some user input',
714
+ setText: vi.fn(),
715
+ });
716
+ const mockHandleSlashCommand = vi.fn();
717
+ mockedUseSlashCommandProcessor.mockReturnValue({
718
+ handleSlashCommand: mockHandleSlashCommand,
719
+ slashCommands: [],
720
+ pendingHistoryItems: [],
721
+ commandContext: {},
722
+ shellConfirmationRequest: null,
723
+ confirmationRequest: null,
724
+ });
725
+ render(_jsx(AppContainer, { config: mockConfig, settings: mockSettings, version: "1.0.0", initializationResult: mockInitResult }));
726
+ expect(mockHandleSlashCommand).not.toHaveBeenCalledWith('/quit');
727
+ });
728
+ it('should require double Ctrl+C to exit when dialogs are open', () => {
729
+ vi.useFakeTimers();
730
+ mockedUseThemeCommand.mockReturnValue({
731
+ isThemeDialogOpen: true,
732
+ openThemeDialog: vi.fn(),
733
+ handleThemeSelect: vi.fn(),
734
+ handleThemeHighlight: vi.fn(),
735
+ });
736
+ const mockHandleSlashCommand = vi.fn();
737
+ mockedUseSlashCommandProcessor.mockReturnValue({
738
+ handleSlashCommand: mockHandleSlashCommand,
739
+ slashCommands: [],
740
+ pendingHistoryItems: [],
741
+ commandContext: {},
742
+ shellConfirmationRequest: null,
743
+ confirmationRequest: null,
744
+ });
745
+ render(_jsx(AppContainer, { config: mockConfig, settings: mockSettings, version: "1.0.0", initializationResult: mockInitResult }));
746
+ expect(mockHandleSlashCommand).not.toHaveBeenCalledWith('/quit');
747
+ expect(mockHandleSlashCommand).not.toHaveBeenCalledWith('/quit');
748
+ vi.useRealTimers();
749
+ });
750
+ it('should cancel ongoing request on first Ctrl+C', () => {
751
+ const mockCancelOngoingRequest = vi.fn();
752
+ mockedUseGeminiStream.mockReturnValue({
753
+ streamingState: 'responding',
754
+ submitQuery: vi.fn(),
755
+ initError: null,
756
+ pendingHistoryItems: [],
757
+ thought: null,
758
+ cancelOngoingRequest: mockCancelOngoingRequest,
759
+ });
760
+ const mockHandleSlashCommand = vi.fn();
761
+ mockedUseSlashCommandProcessor.mockReturnValue({
762
+ handleSlashCommand: mockHandleSlashCommand,
763
+ slashCommands: [],
764
+ pendingHistoryItems: [],
765
+ commandContext: {},
766
+ shellConfirmationRequest: null,
767
+ confirmationRequest: null,
768
+ });
769
+ render(_jsx(AppContainer, { config: mockConfig, settings: mockSettings, version: "1.0.0", initializationResult: mockInitResult }));
770
+ expect(mockHandleSlashCommand).not.toHaveBeenCalledWith('/quit');
771
+ });
772
+ it('should reset Ctrl+C state after timeout', () => {
773
+ vi.useFakeTimers();
774
+ const mockHandleSlashCommand = vi.fn();
775
+ mockedUseSlashCommandProcessor.mockReturnValue({
776
+ handleSlashCommand: mockHandleSlashCommand,
777
+ slashCommands: [],
778
+ pendingHistoryItems: [],
779
+ commandContext: {},
780
+ shellConfirmationRequest: null,
781
+ confirmationRequest: null,
782
+ });
783
+ render(_jsx(AppContainer, { config: mockConfig, settings: mockSettings, version: "1.0.0", initializationResult: mockInitResult }));
784
+ expect(mockHandleSlashCommand).not.toHaveBeenCalledWith('/quit');
785
+ vi.advanceTimersByTime(1001);
786
+ expect(mockHandleSlashCommand).not.toHaveBeenCalledWith('/quit');
787
+ vi.useRealTimers();
788
+ });
789
+ });
790
+ describe('Model Dialog Integration', () => {
791
+ it('should provide isModelDialogOpen in the UIStateContext', () => {
792
+ mockedUseModelCommand.mockReturnValue({
793
+ isModelDialogOpen: true,
794
+ openModelDialog: vi.fn(),
795
+ closeModelDialog: vi.fn(),
796
+ });
797
+ render(_jsx(AppContainer, { config: mockConfig, settings: mockSettings, version: "1.0.0", initializationResult: mockInitResult }));
798
+ expect(capturedUIState.isModelDialogOpen).toBe(true);
799
+ });
800
+ it('should provide model dialog actions in the UIActionsContext', () => {
801
+ const mockCloseModelDialog = vi.fn();
802
+ mockedUseModelCommand.mockReturnValue({
803
+ isModelDialogOpen: false,
804
+ openModelDialog: vi.fn(),
805
+ closeModelDialog: mockCloseModelDialog,
806
+ });
807
+ render(_jsx(AppContainer, { config: mockConfig, settings: mockSettings, version: "1.0.0", initializationResult: mockInitResult }));
808
+ // Verify that the actions are correctly passed through context
809
+ capturedUIActions.closeModelDialog();
810
+ expect(mockCloseModelDialog).toHaveBeenCalled();
811
+ });
812
+ });
421
813
  });
422
814
  //# sourceMappingURL=AppContainer.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppContainer.test.js","sourceRoot":"","sources":["../../../src/ui/AppContainer.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppContainer.test.js","sourceRoot":"","sources":["../../../src/ui/AppContainer.test.tsx"],"names":[],"mappings":"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"}
@@ -3,13 +3,13 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { DetectedIde } from '@google/gemini-cli-core';
6
+ import type { IdeInfo } from '@google/gemini-cli-core';
7
7
  export type IdeIntegrationNudgeResult = {
8
8
  userSelection: 'yes' | 'no' | 'dismiss';
9
9
  isExtensionPreInstalled: boolean;
10
10
  };
11
11
  interface IdeIntegrationNudgeProps {
12
- ide: DetectedIde;
12
+ ide: IdeInfo;
13
13
  onComplete: (result: IdeIntegrationNudgeResult) => void;
14
14
  }
15
15
  export declare function IdeIntegrationNudge({ ide, onComplete, }: IdeIntegrationNudgeProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,4 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { getIdeInfo } from '@google/gemini-cli-core';
3
2
  import { Box, Text } from 'ink';
4
3
  import { RadioButtonSelect } from './components/shared/RadioButtonSelect.js';
5
4
  import { useKeypress } from './hooks/useKeypress.js';
@@ -13,7 +12,7 @@ export function IdeIntegrationNudge({ ide, onComplete, }) {
13
12
  });
14
13
  }
15
14
  }, { isActive: true });
16
- const { displayName: ideName } = getIdeInfo(ide);
15
+ const { displayName: ideName } = ide;
17
16
  // Assume extension is already installed if the env variables are set.
18
17
  const isExtensionPreInstalled = !!process.env['CELL_CLI_IDE_SERVER_PORT'] &&
19
18
  !!process.env['CELL_CLI_IDE_WORKSPACE_PATH'];
@@ -24,6 +23,7 @@ export function IdeIntegrationNudge({ ide, onComplete, }) {
24
23
  userSelection: 'yes',
25
24
  isExtensionPreInstalled,
26
25
  },
26
+ key: 'Yes',
27
27
  },
28
28
  {
29
29
  label: 'No (esc)',
@@ -31,6 +31,7 @@ export function IdeIntegrationNudge({ ide, onComplete, }) {
31
31
  userSelection: 'no',
32
32
  isExtensionPreInstalled,
33
33
  },
34
+ key: 'No (esc)',
34
35
  },
35
36
  {
36
37
  label: "No, don't ask again",
@@ -38,6 +39,7 @@ export function IdeIntegrationNudge({ ide, onComplete, }) {
38
39
  userSelection: 'dismiss',
39
40
  isExtensionPreInstalled,
40
41
  },
42
+ key: "No, don't ask again",
41
43
  },
42
44
  ];
43
45
  const installText = isExtensionPreInstalled