@machina.ai/cell-cli 1.0.17-rc1 → 1.0.21-rc2

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 (490) hide show
  1. package/dist/package.json +10 -8
  2. package/dist/src/commands/mcp/add.d.ts +7 -0
  3. package/dist/src/commands/mcp/add.js +166 -0
  4. package/dist/src/commands/mcp/add.js.map +1 -0
  5. package/dist/src/commands/mcp/list.d.ts +8 -0
  6. package/dist/src/commands/mcp/list.js +110 -0
  7. package/dist/src/commands/mcp/list.js.map +1 -0
  8. package/dist/src/commands/mcp/remove.d.ts +7 -0
  9. package/dist/src/commands/mcp/remove.js +44 -0
  10. package/dist/src/commands/mcp/remove.js.map +1 -0
  11. package/dist/src/commands/mcp.d.ts +7 -0
  12. package/dist/src/commands/mcp.js +23 -0
  13. package/dist/src/commands/mcp.js.map +1 -0
  14. package/dist/src/config/auth.test.d.ts +6 -0
  15. package/dist/src/config/auth.test.js +28 -0
  16. package/dist/src/config/auth.test.js.map +1 -0
  17. package/dist/src/config/config.d.ts +3 -3
  18. package/dist/src/config/config.js +138 -69
  19. package/dist/src/config/config.js.map +1 -1
  20. package/dist/src/config/keyBindings.d.ts +66 -0
  21. package/dist/src/config/keyBindings.js +141 -0
  22. package/dist/src/config/keyBindings.js.map +1 -0
  23. package/dist/src/config/keyBindings.test.d.ts +6 -0
  24. package/dist/src/config/keyBindings.test.js +51 -0
  25. package/dist/src/config/keyBindings.test.js.map +1 -0
  26. package/dist/src/config/sandboxConfig.js +3 -3
  27. package/dist/src/config/sandboxConfig.js.map +1 -1
  28. package/dist/src/config/settings.d.ts +3 -54
  29. package/dist/src/config/settings.js +58 -38
  30. package/dist/src/config/settings.js.map +1 -1
  31. package/dist/src/config/settingsSchema.d.ts +533 -0
  32. package/dist/src/config/settingsSchema.js +507 -0
  33. package/dist/src/config/settingsSchema.js.map +1 -0
  34. package/dist/src/config/settingsSchema.test.d.ts +6 -0
  35. package/dist/src/config/settingsSchema.test.js +195 -0
  36. package/dist/src/config/settingsSchema.test.js.map +1 -0
  37. package/dist/src/config/trustedFolders.d.ts +37 -0
  38. package/dist/src/config/trustedFolders.js +118 -0
  39. package/dist/src/config/trustedFolders.js.map +1 -0
  40. package/dist/src/config/trustedFolders.test.d.ts +6 -0
  41. package/dist/src/config/trustedFolders.test.js +160 -0
  42. package/dist/src/config/trustedFolders.test.js.map +1 -0
  43. package/dist/src/gemini.js +54 -37
  44. package/dist/src/gemini.js.map +1 -1
  45. package/dist/src/gemini.test.d.ts +6 -0
  46. package/dist/src/gemini.test.js +193 -0
  47. package/dist/src/gemini.test.js.map +1 -0
  48. package/dist/src/generated/git-commit.d.ts +2 -1
  49. package/dist/src/generated/git-commit.js +2 -1
  50. package/dist/src/generated/git-commit.js.map +1 -1
  51. package/dist/src/nonInteractiveCli.js +22 -17
  52. package/dist/src/nonInteractiveCli.js.map +1 -1
  53. package/dist/src/services/BuiltinCommandLoader.js +5 -2
  54. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  55. package/dist/src/services/BuiltinCommandLoader.test.d.ts +6 -0
  56. package/dist/src/services/BuiltinCommandLoader.test.js +108 -0
  57. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -0
  58. package/dist/src/services/CommandService.test.d.ts +6 -0
  59. package/dist/src/services/CommandService.test.js +232 -0
  60. package/dist/src/services/CommandService.test.js.map +1 -0
  61. package/dist/src/services/FileCommandLoader.js +10 -8
  62. package/dist/src/services/FileCommandLoader.js.map +1 -1
  63. package/dist/src/services/McpPromptLoader.js +3 -3
  64. package/dist/src/services/McpPromptLoader.js.map +1 -1
  65. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +2 -7
  66. package/dist/src/services/prompt-processors/argumentProcessor.js +2 -10
  67. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -1
  68. package/dist/src/services/prompt-processors/shellProcessor.d.ts +16 -13
  69. package/dist/src/services/prompt-processors/shellProcessor.js +133 -40
  70. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  71. package/dist/src/services/prompt-processors/types.d.ts +2 -0
  72. package/dist/src/services/prompt-processors/types.js +2 -0
  73. package/dist/src/services/prompt-processors/types.js.map +1 -1
  74. package/dist/src/test-utils/customMatchers.d.ts +14 -0
  75. package/dist/src/test-utils/customMatchers.js +46 -0
  76. package/dist/src/test-utils/customMatchers.js.map +1 -0
  77. package/dist/src/test-utils/mockCommandContext.d.ts +18 -0
  78. package/dist/src/test-utils/mockCommandContext.js +86 -0
  79. package/dist/src/test-utils/mockCommandContext.js.map +1 -0
  80. package/dist/src/test-utils/mockCommandContext.test.d.ts +6 -0
  81. package/dist/src/test-utils/mockCommandContext.test.js +51 -0
  82. package/dist/src/test-utils/mockCommandContext.test.js.map +1 -0
  83. package/dist/src/test-utils/render.d.ts +8 -0
  84. package/dist/src/test-utils/render.js +10 -0
  85. package/dist/src/test-utils/render.js.map +1 -0
  86. package/dist/src/ui/App.js +146 -37
  87. package/dist/src/ui/App.js.map +1 -1
  88. package/dist/src/ui/IdeIntegrationNudge.d.ts +16 -0
  89. package/dist/src/ui/IdeIntegrationNudge.js +52 -0
  90. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  91. package/dist/src/ui/commands/aboutCommand.js +9 -5
  92. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  93. package/dist/src/ui/commands/bugCommand.js +13 -5
  94. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  95. package/dist/src/ui/commands/chatCommand.js +23 -6
  96. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  97. package/dist/src/ui/commands/directoryCommand.js +2 -4
  98. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  99. package/dist/src/ui/commands/docsCommand.js +1 -1
  100. package/dist/src/ui/commands/docsCommand.js.map +1 -1
  101. package/dist/src/ui/commands/ideCommand.js +110 -42
  102. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  103. package/dist/src/ui/commands/mcpCommand.js +7 -3
  104. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  105. package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
  106. package/dist/src/ui/commands/settingsCommand.js +16 -0
  107. package/dist/src/ui/commands/settingsCommand.js.map +1 -0
  108. package/dist/src/ui/commands/setupGithubCommand.js +86 -19
  109. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  110. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +6 -0
  111. package/dist/src/ui/commands/setupGithubCommand.test.js +74 -0
  112. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -0
  113. package/dist/src/ui/commands/terminalSetupCommand.d.ts +13 -0
  114. package/dist/src/ui/commands/terminalSetupCommand.js +41 -0
  115. package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -0
  116. package/dist/src/ui/commands/types.d.ts +14 -2
  117. package/dist/src/ui/commands/types.js.map +1 -1
  118. package/dist/src/ui/components/AboutBox.d.ts +1 -0
  119. package/dist/src/ui/components/AboutBox.js +1 -1
  120. package/dist/src/ui/components/AboutBox.js.map +1 -1
  121. package/dist/src/ui/components/AsciiArt.d.ts +2 -1
  122. package/dist/src/ui/components/AsciiArt.js +22 -11
  123. package/dist/src/ui/components/AsciiArt.js.map +1 -1
  124. package/dist/src/ui/components/AuthDialog.js +12 -6
  125. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  126. package/dist/src/ui/components/AuthDialog.test.d.ts +6 -0
  127. package/dist/src/ui/components/AuthDialog.test.js +114 -0
  128. package/dist/src/ui/components/AuthDialog.test.js.map +1 -0
  129. package/dist/src/ui/components/AuthInProgress.js +5 -4
  130. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  131. package/dist/src/ui/components/ContextSummaryDisplay.js +22 -25
  132. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  133. package/dist/src/ui/components/ContextUsageDisplay.d.ts +9 -0
  134. package/dist/src/ui/components/ContextUsageDisplay.js +14 -0
  135. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  136. package/dist/src/ui/components/DebugProfiler.js +5 -4
  137. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  138. package/dist/src/ui/components/EditorSettingsDialog.js +6 -5
  139. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  140. package/dist/src/ui/components/FolderTrustDialog.d.ts +16 -0
  141. package/dist/src/ui/components/FolderTrustDialog.js +39 -0
  142. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  143. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +6 -0
  144. package/dist/src/ui/components/FolderTrustDialog.test.js +26 -0
  145. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -0
  146. package/dist/src/ui/components/Footer.d.ts +1 -0
  147. package/dist/src/ui/components/Footer.js +16 -6
  148. package/dist/src/ui/components/Footer.js.map +1 -1
  149. package/dist/src/ui/components/Header.d.ts +0 -1
  150. package/dist/src/ui/components/Header.js +13 -5
  151. package/dist/src/ui/components/Header.js.map +1 -1
  152. package/dist/src/ui/components/Header.test.d.ts +6 -0
  153. package/dist/src/ui/components/Header.test.js +44 -0
  154. package/dist/src/ui/components/Header.test.js.map +1 -0
  155. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  156. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  157. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
  158. package/dist/src/ui/components/HistoryItemDisplay.test.js +91 -0
  159. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
  160. package/dist/src/ui/components/InputPrompt.d.ts +1 -0
  161. package/dist/src/ui/components/InputPrompt.js +98 -35
  162. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  163. package/dist/src/ui/components/LoadingIndicator.js +10 -5
  164. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  165. package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
  166. package/dist/src/ui/components/LoadingIndicator.test.js +190 -0
  167. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
  168. package/dist/src/ui/components/SettingsDialog.d.ts +14 -0
  169. package/dist/src/ui/components/SettingsDialog.js +519 -0
  170. package/dist/src/ui/components/SettingsDialog.js.map +1 -0
  171. package/dist/src/ui/components/SettingsDialog.test.d.ts +6 -0
  172. package/dist/src/ui/components/SettingsDialog.test.js +568 -0
  173. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -0
  174. package/dist/src/ui/components/ShellConfirmationDialog.js +7 -5
  175. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  176. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +6 -0
  177. package/dist/src/ui/components/ShellConfirmationDialog.test.js +40 -0
  178. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -0
  179. package/dist/src/ui/components/StatsDisplay.js +8 -7
  180. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  181. package/dist/src/ui/components/SuggestionsDisplay.js +1 -1
  182. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  183. package/dist/src/ui/components/ThemeDialog.js +10 -20
  184. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  185. package/dist/src/ui/components/messages/DiffRenderer.js +10 -1
  186. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  187. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
  188. package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
  189. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
  190. package/dist/src/ui/components/messages/InfoMessage.js +2 -1
  191. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  192. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +36 -14
  193. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  194. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
  195. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +37 -0
  196. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
  197. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
  198. package/dist/src/ui/components/messages/ToolMessage.test.js +118 -0
  199. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
  200. package/dist/src/ui/components/shared/MaxSizedBox.js +1 -1
  201. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  202. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
  203. package/dist/src/ui/components/shared/MaxSizedBox.test.js +154 -0
  204. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
  205. package/dist/src/ui/components/shared/RadioButtonSelect.js +11 -9
  206. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  207. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +6 -0
  208. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +111 -0
  209. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -0
  210. package/dist/src/ui/components/shared/text-buffer.d.ts +17 -4
  211. package/dist/src/ui/components/shared/text-buffer.js +262 -80
  212. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  213. package/dist/src/ui/components/shared/vim-buffer-actions.js +139 -152
  214. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
  215. package/dist/src/ui/contexts/KeypressContext.d.ts +30 -0
  216. package/dist/src/ui/contexts/KeypressContext.js +309 -0
  217. package/dist/src/ui/contexts/KeypressContext.js.map +1 -0
  218. package/dist/src/ui/contexts/KeypressContext.test.d.ts +6 -0
  219. package/dist/src/ui/contexts/KeypressContext.test.js +219 -0
  220. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -0
  221. package/dist/src/ui/contexts/SessionContext.d.ts +3 -0
  222. package/dist/src/ui/contexts/SessionContext.js +2 -1
  223. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  224. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  225. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  226. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  227. package/dist/src/ui/hooks/atCommandProcessor.js +16 -13
  228. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  229. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +6 -0
  230. package/dist/src/ui/hooks/atCommandProcessor.test.js +809 -0
  231. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -0
  232. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +6 -0
  233. package/dist/src/ui/hooks/shellCommandProcessor.test.js +328 -0
  234. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -0
  235. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +6 -2
  236. package/dist/src/ui/hooks/slashCommandProcessor.js +121 -57
  237. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  238. package/dist/src/ui/hooks/useAtCompletion.d.ts +23 -0
  239. package/dist/src/ui/hooks/useAtCompletion.js +178 -0
  240. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -0
  241. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +5 -5
  242. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  243. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +6 -0
  244. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +191 -0
  245. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -0
  246. package/dist/src/ui/hooks/useCommandCompletion.d.ts +6 -1
  247. package/dist/src/ui/hooks/useCommandCompletion.js +95 -383
  248. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  249. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +6 -0
  250. package/dist/src/ui/hooks/useEditorSettings.test.js +164 -0
  251. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -0
  252. package/dist/src/ui/hooks/useFocus.d.ts +4 -0
  253. package/dist/src/ui/hooks/useFocus.js +4 -4
  254. package/dist/src/ui/hooks/useFocus.js.map +1 -1
  255. package/dist/src/ui/hooks/useFolderTrust.d.ts +12 -0
  256. package/dist/src/ui/hooks/useFolderTrust.js +55 -0
  257. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  258. package/dist/src/ui/hooks/useGeminiStream.d.ts +2 -1
  259. package/dist/src/ui/hooks/useGeminiStream.js +35 -22
  260. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  261. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +6 -0
  262. package/dist/src/ui/hooks/useGitBranchName.test.js +175 -0
  263. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -0
  264. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +6 -0
  265. package/dist/src/ui/hooks/useHistoryManager.test.js +171 -0
  266. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -0
  267. package/dist/src/ui/hooks/useInputHistory.test.d.ts +6 -0
  268. package/dist/src/ui/hooks/useInputHistory.test.js +207 -0
  269. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -0
  270. package/dist/src/ui/hooks/useKeypress.d.ts +4 -16
  271. package/dist/src/ui/hooks/useKeypress.js +8 -140
  272. package/dist/src/ui/hooks/useKeypress.js.map +1 -1
  273. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +15 -0
  274. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +20 -0
  275. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -0
  276. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +6 -0
  277. package/dist/src/ui/hooks/useLoadingIndicator.test.js +91 -0
  278. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -0
  279. package/dist/src/ui/hooks/useMessageQueue.d.ts +22 -0
  280. package/dist/src/ui/hooks/useMessageQueue.js +49 -0
  281. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -0
  282. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +6 -0
  283. package/dist/src/ui/hooks/useMessageQueue.test.js +158 -0
  284. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -0
  285. package/dist/src/ui/hooks/usePhraseCycler.js +2 -5
  286. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  287. package/dist/src/ui/hooks/usePrivacySettings.js +6 -2
  288. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  289. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +6 -0
  290. package/dist/src/ui/hooks/usePrivacySettings.test.js +154 -0
  291. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -0
  292. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
  293. package/dist/src/ui/hooks/useReactToolScheduler.js +18 -16
  294. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  295. package/dist/src/ui/hooks/useReverseSearchCompletion.js +4 -2
  296. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  297. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +6 -0
  298. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +163 -0
  299. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -0
  300. package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
  301. package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
  302. package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
  303. package/dist/src/ui/hooks/useShellHistory.test.d.ts +6 -0
  304. package/dist/src/ui/hooks/useShellHistory.test.js +159 -0
  305. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -0
  306. package/dist/src/ui/hooks/useSlashCompletion.d.ts +20 -0
  307. package/dist/src/ui/hooks/useSlashCompletion.js +135 -0
  308. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -0
  309. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +6 -0
  310. package/dist/src/ui/hooks/useSlashCompletion.test.js +272 -0
  311. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -0
  312. package/dist/src/ui/hooks/useThemeCommand.js +1 -1
  313. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  314. package/dist/src/ui/hooks/useTimer.test.d.ts +6 -0
  315. package/dist/src/ui/hooks/useTimer.test.js +90 -0
  316. package/dist/src/ui/hooks/useTimer.test.js.map +1 -0
  317. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +6 -0
  318. package/dist/src/ui/hooks/useToolScheduler.test.js +846 -0
  319. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -0
  320. package/dist/src/ui/hooks/vim.js +13 -4
  321. package/dist/src/ui/hooks/vim.js.map +1 -1
  322. package/dist/src/ui/keyMatchers.d.ts +26 -0
  323. package/dist/src/ui/keyMatchers.js +68 -0
  324. package/dist/src/ui/keyMatchers.js.map +1 -0
  325. package/dist/src/ui/keyMatchers.test.d.ts +6 -0
  326. package/dist/src/ui/keyMatchers.test.js +276 -0
  327. package/dist/src/ui/keyMatchers.test.js.map +1 -0
  328. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +5 -4
  329. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -1
  330. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +5 -4
  331. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -1
  332. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +5 -4
  333. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -1
  334. package/dist/src/ui/semantic-colors.d.ts +7 -0
  335. package/dist/src/ui/semantic-colors.js +24 -0
  336. package/dist/src/ui/semantic-colors.js.map +1 -0
  337. package/dist/src/ui/themes/ansi-light.js +2 -1
  338. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  339. package/dist/src/ui/themes/ansi.js +2 -1
  340. package/dist/src/ui/themes/ansi.js.map +1 -1
  341. package/dist/src/ui/themes/atom-one-dark.js +2 -1
  342. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  343. package/dist/src/ui/themes/ayu-light.js +2 -1
  344. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  345. package/dist/src/ui/themes/ayu.js +2 -1
  346. package/dist/src/ui/themes/ayu.js.map +1 -1
  347. package/dist/src/ui/themes/color-utils.test.d.ts +6 -0
  348. package/dist/src/ui/themes/color-utils.test.js +197 -0
  349. package/dist/src/ui/themes/color-utils.test.js.map +1 -0
  350. package/dist/src/ui/themes/default-light.js +2 -1
  351. package/dist/src/ui/themes/default-light.js.map +1 -1
  352. package/dist/src/ui/themes/default.js +2 -1
  353. package/dist/src/ui/themes/default.js.map +1 -1
  354. package/dist/src/ui/themes/dracula.js +2 -1
  355. package/dist/src/ui/themes/dracula.js.map +1 -1
  356. package/dist/src/ui/themes/github-dark.js +2 -1
  357. package/dist/src/ui/themes/github-dark.js.map +1 -1
  358. package/dist/src/ui/themes/github-light.js +2 -1
  359. package/dist/src/ui/themes/github-light.js.map +1 -1
  360. package/dist/src/ui/themes/googlecode.js +2 -1
  361. package/dist/src/ui/themes/googlecode.js.map +1 -1
  362. package/dist/src/ui/themes/no-color.js +30 -1
  363. package/dist/src/ui/themes/no-color.js.map +1 -1
  364. package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
  365. package/dist/src/ui/themes/semantic-tokens.js +94 -0
  366. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  367. package/dist/src/ui/themes/shades-of-purple.js +2 -1
  368. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  369. package/dist/src/ui/themes/theme-manager.d.ts +6 -0
  370. package/dist/src/ui/themes/theme-manager.js +8 -1
  371. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  372. package/dist/src/ui/themes/theme-manager.test.d.ts +6 -0
  373. package/dist/src/ui/themes/theme-manager.test.js +83 -0
  374. package/dist/src/ui/themes/theme-manager.test.js.map +1 -0
  375. package/dist/src/ui/themes/theme.d.ts +45 -2
  376. package/dist/src/ui/themes/theme.js +92 -107
  377. package/dist/src/ui/themes/theme.js.map +1 -1
  378. package/dist/src/ui/themes/xcode.js +2 -1
  379. package/dist/src/ui/themes/xcode.js.map +1 -1
  380. package/dist/src/ui/types.d.ts +3 -1
  381. package/dist/src/ui/types.js.map +1 -1
  382. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -1
  383. package/dist/src/ui/utils/CodeColorizer.js +5 -4
  384. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  385. package/dist/src/ui/utils/ConsolePatcher.d.ts +3 -1
  386. package/dist/src/ui/utils/ConsolePatcher.js +18 -8
  387. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  388. package/dist/src/ui/utils/InlineMarkdownRenderer.js +8 -1
  389. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  390. package/dist/src/ui/utils/MarkdownDisplay.js +4 -2
  391. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  392. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
  393. package/dist/src/ui/utils/MarkdownDisplay.test.js +151 -0
  394. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
  395. package/dist/src/ui/utils/clipboardUtils.test.d.ts +6 -0
  396. package/dist/src/ui/utils/clipboardUtils.test.js +65 -0
  397. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -0
  398. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  399. package/dist/src/ui/utils/commandUtils.js +22 -1
  400. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  401. package/dist/src/ui/utils/commandUtils.test.d.ts +6 -0
  402. package/dist/src/ui/utils/commandUtils.test.js +294 -0
  403. package/dist/src/ui/utils/commandUtils.test.js.map +1 -0
  404. package/dist/src/ui/utils/computeStats.js +3 -1
  405. package/dist/src/ui/utils/computeStats.js.map +1 -1
  406. package/dist/src/ui/utils/displayUtils.test.d.ts +6 -0
  407. package/dist/src/ui/utils/displayUtils.test.js +42 -0
  408. package/dist/src/ui/utils/displayUtils.test.js.map +1 -0
  409. package/dist/src/ui/utils/formatters.test.d.ts +6 -0
  410. package/dist/src/ui/utils/formatters.test.js +56 -0
  411. package/dist/src/ui/utils/formatters.test.js.map +1 -0
  412. package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
  413. package/dist/src/ui/utils/isNarrowWidth.js +9 -0
  414. package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
  415. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +13 -0
  416. package/dist/src/ui/utils/kittyProtocolDetector.js +88 -0
  417. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -0
  418. package/dist/src/ui/utils/markdownUtilities.test.d.ts +6 -0
  419. package/dist/src/ui/utils/markdownUtilities.test.js +42 -0
  420. package/dist/src/ui/utils/markdownUtilities.test.js.map +1 -0
  421. package/dist/src/ui/utils/platformConstants.d.ts +43 -0
  422. package/dist/src/ui/utils/platformConstants.js +44 -0
  423. package/dist/src/ui/utils/platformConstants.js.map +1 -0
  424. package/dist/src/ui/utils/terminalSetup.d.ts +30 -0
  425. package/dist/src/ui/utils/terminalSetup.js +281 -0
  426. package/dist/src/ui/utils/terminalSetup.js.map +1 -0
  427. package/dist/src/ui/utils/updateCheck.js +1 -1
  428. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  429. package/dist/src/ui/utils/updateCheck.test.d.ts +6 -0
  430. package/dist/src/ui/utils/updateCheck.test.js +145 -0
  431. package/dist/src/ui/utils/updateCheck.test.js.map +1 -0
  432. package/dist/src/utils/checks.d.ts +19 -0
  433. package/dist/src/utils/checks.js +24 -0
  434. package/dist/src/utils/checks.js.map +1 -0
  435. package/dist/src/utils/cleanup.d.ts +2 -2
  436. package/dist/src/utils/cleanup.js +2 -2
  437. package/dist/src/utils/cleanup.js.map +1 -1
  438. package/dist/src/utils/dialogScopeUtils.d.ts +31 -0
  439. package/dist/src/utils/dialogScopeUtils.js +48 -0
  440. package/dist/src/utils/dialogScopeUtils.js.map +1 -0
  441. package/dist/src/utils/gitUtils.d.ts +21 -1
  442. package/dist/src/utils/gitUtils.js +68 -3
  443. package/dist/src/utils/gitUtils.js.map +1 -1
  444. package/dist/src/utils/gitUtils.test.d.ts +6 -0
  445. package/dist/src/utils/gitUtils.test.js +113 -0
  446. package/dist/src/utils/gitUtils.test.js.map +1 -0
  447. package/dist/src/utils/installationInfo.test.d.ts +6 -0
  448. package/dist/src/utils/installationInfo.test.js +242 -0
  449. package/dist/src/utils/installationInfo.test.js.map +1 -0
  450. package/dist/src/utils/readStdin.js +10 -0
  451. package/dist/src/utils/readStdin.js.map +1 -1
  452. package/dist/src/utils/sandbox.js +443 -420
  453. package/dist/src/utils/sandbox.js.map +1 -1
  454. package/dist/src/utils/settingsUtils.d.ts +134 -0
  455. package/dist/src/utils/settingsUtils.js +336 -0
  456. package/dist/src/utils/settingsUtils.js.map +1 -0
  457. package/dist/src/utils/settingsUtils.test.d.ts +6 -0
  458. package/dist/src/utils/settingsUtils.test.js +514 -0
  459. package/dist/src/utils/settingsUtils.test.js.map +1 -0
  460. package/dist/src/utils/userStartupWarnings.test.d.ts +6 -0
  461. package/dist/src/utils/userStartupWarnings.test.js +67 -0
  462. package/dist/src/utils/userStartupWarnings.test.js.map +1 -0
  463. package/dist/src/utils/version.js +1 -1
  464. package/dist/src/utils/version.js.map +1 -1
  465. package/dist/src/validateNonInterActiveAuth.js +3 -3
  466. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  467. package/dist/src/zed-integration/acp.d.ts +63 -0
  468. package/dist/src/{acp → zed-integration}/acp.js +76 -44
  469. package/dist/src/zed-integration/acp.js.map +1 -0
  470. package/dist/src/zed-integration/fileSystemService.d.ts +19 -0
  471. package/dist/src/zed-integration/fileSystemService.js +43 -0
  472. package/dist/src/zed-integration/fileSystemService.js.map +1 -0
  473. package/dist/src/zed-integration/schema.d.ts +11679 -0
  474. package/dist/src/zed-integration/schema.js +305 -0
  475. package/dist/src/zed-integration/schema.js.map +1 -0
  476. package/dist/src/zed-integration/zedIntegration.d.ts +10 -0
  477. package/dist/src/{acp/acpPeer.js → zed-integration/zedIntegration.js} +336 -169
  478. package/dist/src/zed-integration/zedIntegration.js.map +1 -0
  479. package/dist/tsconfig.tsbuildinfo +1 -1
  480. package/package.json +12 -9
  481. package/dist/src/acp/acp.d.ts +0 -208
  482. package/dist/src/acp/acp.js.map +0 -1
  483. package/dist/src/acp/acpPeer.d.ts +0 -8
  484. package/dist/src/acp/acpPeer.js.map +0 -1
  485. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  486. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
  487. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
  488. package/dist/src/ui/utils/errorParsing.d.ts +0 -7
  489. package/dist/src/ui/utils/errorParsing.js +0 -90
  490. package/dist/src/ui/utils/errorParsing.js.map +0 -1
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@machina.ai/cell-cli",
3
- "version": "1.0.17-rc1",
3
+ "version": "1.0.21-rc2",
4
4
  "description": "Cell CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,17 +15,18 @@
15
15
  ""
16
16
  ],
17
17
  "config": {
18
- "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:1.0.17"
18
+ "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.21"
19
19
  },
20
20
  "dependencies": {
21
21
  "@iarna/toml": "^2.2.5",
22
+ "@modelcontextprotocol/sdk": "^1.15.1",
22
23
  "@types/update-notifier": "^6.0.8",
23
24
  "command-exists": "^1.2.9",
24
25
  "diff": "^7.0.0",
25
26
  "dotenv": "^17.1.0",
26
27
  "glob": "^10.4.1",
27
28
  "highlight.js": "^11.11.1",
28
- "ink": "^6.0.1",
29
+ "ink": "^6.1.1",
29
30
  "ink-big-text": "^2.0.0",
30
31
  "ink-gradient": "^3.0.0",
31
32
  "ink-link": "^4.1.0",
@@ -40,13 +41,14 @@
40
41
  "string-width": "^7.1.0",
41
42
  "strip-ansi": "^7.1.0",
42
43
  "strip-json-comments": "^3.1.1",
44
+ "undici": "^7.10.0",
43
45
  "update-notifier": "^7.3.1",
44
46
  "yargs": "^17.7.2",
45
- "@google/genai": "1.9.0",
46
- "@machina.ai/cell-cli-core": "1.0.17-rc1",
47
- "@machina.ai/auth-keycloak": "1.0.17-rc1",
48
- "@machina.ai/config-yaml": "1.0.17-rc1",
49
- "@machina.ai/api-proxy": "1.0.17-rc1"
47
+ "@google/genai": "1.13.0",
48
+ "@machina.ai/cell-cli-core": "1.0.21-rc2",
49
+ "@machina.ai/auth-keycloak": "1.0.21-rc2",
50
+ "@machina.ai/config-yaml": "1.0.21-rc2",
51
+ "@machina.ai/api-proxy": "1.0.21-rc2"
50
52
  },
51
53
  "engines": {
52
54
  "node": ">=20"
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ export declare const addCommand: CommandModule;
@@ -0,0 +1,166 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { loadSettings, SettingScope } from '../../config/settings.js';
7
+ async function addMcpServer(name, commandOrUrl, args, options) {
8
+ const { scope, transport, env, header, timeout, trust, description, includeTools, excludeTools, } = options;
9
+ const settingsScope = scope === 'user' ? SettingScope.User : SettingScope.Workspace;
10
+ const settings = loadSettings(process.cwd());
11
+ let newServer = {};
12
+ const headers = header?.reduce((acc, curr) => {
13
+ const [key, ...valueParts] = curr.split(':');
14
+ const value = valueParts.join(':').trim();
15
+ if (key.trim() && value) {
16
+ acc[key.trim()] = value;
17
+ }
18
+ return acc;
19
+ }, {});
20
+ switch (transport) {
21
+ case 'sse':
22
+ newServer = {
23
+ url: commandOrUrl,
24
+ headers,
25
+ timeout,
26
+ trust,
27
+ description,
28
+ includeTools,
29
+ excludeTools,
30
+ };
31
+ break;
32
+ case 'http':
33
+ newServer = {
34
+ httpUrl: commandOrUrl,
35
+ headers,
36
+ timeout,
37
+ trust,
38
+ description,
39
+ includeTools,
40
+ excludeTools,
41
+ };
42
+ break;
43
+ case 'stdio':
44
+ default:
45
+ newServer = {
46
+ command: commandOrUrl,
47
+ args: args?.map(String),
48
+ env: env?.reduce((acc, curr) => {
49
+ const [key, value] = curr.split('=');
50
+ if (key && value) {
51
+ acc[key] = value;
52
+ }
53
+ return acc;
54
+ }, {}),
55
+ timeout,
56
+ trust,
57
+ description,
58
+ includeTools,
59
+ excludeTools,
60
+ };
61
+ break;
62
+ }
63
+ const existingSettings = settings.forScope(settingsScope).settings;
64
+ const mcpServers = existingSettings.mcpServers || {};
65
+ const isExistingServer = !!mcpServers[name];
66
+ if (isExistingServer) {
67
+ console.log(`MCP server "${name}" is already configured within ${scope} settings.`);
68
+ }
69
+ mcpServers[name] = newServer;
70
+ settings.setValue(settingsScope, 'mcpServers', mcpServers);
71
+ if (isExistingServer) {
72
+ console.log(`MCP server "${name}" updated in ${scope} settings.`);
73
+ }
74
+ else {
75
+ console.log(`MCP server "${name}" added to ${scope} settings. (${transport})`);
76
+ }
77
+ }
78
+ export const addCommand = {
79
+ command: 'add <name> <commandOrUrl> [args...]',
80
+ describe: 'Add a server',
81
+ builder: (yargs) => yargs
82
+ .usage('Usage: gemini mcp add [options] <name> <commandOrUrl> [args...]')
83
+ .parserConfiguration({
84
+ 'unknown-options-as-args': true, // Pass unknown options as server args
85
+ 'populate--': true, // Populate server args after -- separator
86
+ })
87
+ .positional('name', {
88
+ describe: 'Name of the server',
89
+ type: 'string',
90
+ demandOption: true,
91
+ })
92
+ .positional('commandOrUrl', {
93
+ describe: 'Command (stdio) or URL (sse, http)',
94
+ type: 'string',
95
+ demandOption: true,
96
+ })
97
+ .option('scope', {
98
+ alias: 's',
99
+ describe: 'Configuration scope (user or project)',
100
+ type: 'string',
101
+ default: 'project',
102
+ choices: ['user', 'project'],
103
+ })
104
+ .option('transport', {
105
+ alias: 't',
106
+ describe: 'Transport type (stdio, sse, http)',
107
+ type: 'string',
108
+ default: 'stdio',
109
+ choices: ['stdio', 'sse', 'http'],
110
+ })
111
+ .option('env', {
112
+ alias: 'e',
113
+ describe: 'Set environment variables (e.g. -e KEY=value)',
114
+ type: 'array',
115
+ string: true,
116
+ })
117
+ .option('header', {
118
+ alias: 'H',
119
+ describe: 'Set HTTP headers for SSE and HTTP transports (e.g. -H "X-Api-Key: abc123" -H "Authorization: Bearer abc123")',
120
+ type: 'array',
121
+ string: true,
122
+ })
123
+ .option('timeout', {
124
+ describe: 'Set connection timeout in milliseconds',
125
+ type: 'number',
126
+ })
127
+ .option('trust', {
128
+ describe: 'Trust the server (bypass all tool call confirmation prompts)',
129
+ type: 'boolean',
130
+ })
131
+ .option('description', {
132
+ describe: 'Set the description for the server',
133
+ type: 'string',
134
+ })
135
+ .option('include-tools', {
136
+ describe: 'A comma-separated list of tools to include',
137
+ type: 'array',
138
+ string: true,
139
+ })
140
+ .option('exclude-tools', {
141
+ describe: 'A comma-separated list of tools to exclude',
142
+ type: 'array',
143
+ string: true,
144
+ })
145
+ .middleware((argv) => {
146
+ // Handle -- separator args as server args if present
147
+ if (argv['--']) {
148
+ const existingArgs = argv['args'] || [];
149
+ argv['args'] = [...existingArgs, ...argv['--']];
150
+ }
151
+ }),
152
+ handler: async (argv) => {
153
+ await addMcpServer(argv['name'], argv['commandOrUrl'], argv['args'], {
154
+ scope: argv['scope'],
155
+ transport: argv['transport'],
156
+ env: argv['env'],
157
+ header: argv['header'],
158
+ timeout: argv['timeout'],
159
+ trust: argv['trust'],
160
+ description: argv['description'],
161
+ includeTools: argv['includeTools'],
162
+ excludeTools: argv['excludeTools'],
163
+ });
164
+ },
165
+ };
166
+ //# sourceMappingURL=add.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../../src/commands/mcp/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ export declare function listMcpServers(): Promise<void>;
8
+ export declare const listCommand: CommandModule;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { loadSettings } from '../../config/settings.js';
7
+ import { MCPServerStatus, createTransport, } from '@machina.ai/cell-cli-core';
8
+ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
9
+ import { loadExtensions } from '../../config/extension.js';
10
+ const COLOR_GREEN = '\u001b[32m';
11
+ const COLOR_YELLOW = '\u001b[33m';
12
+ const COLOR_RED = '\u001b[31m';
13
+ const RESET_COLOR = '\u001b[0m';
14
+ async function getMcpServersFromConfig() {
15
+ const settings = loadSettings(process.cwd());
16
+ const extensions = loadExtensions(process.cwd());
17
+ const mcpServers = { ...(settings.merged.mcpServers || {}) };
18
+ for (const extension of extensions) {
19
+ Object.entries(extension.config.mcpServers || {}).forEach(([key, server]) => {
20
+ if (mcpServers[key]) {
21
+ return;
22
+ }
23
+ mcpServers[key] = {
24
+ ...server,
25
+ extensionName: extension.config.name,
26
+ };
27
+ });
28
+ }
29
+ return mcpServers;
30
+ }
31
+ async function testMCPConnection(serverName, config) {
32
+ const client = new Client({
33
+ name: 'mcp-test-client',
34
+ version: '0.0.1',
35
+ });
36
+ let transport;
37
+ try {
38
+ // Use the same transport creation logic as core
39
+ transport = await createTransport(serverName, config, false);
40
+ }
41
+ catch (_error) {
42
+ await client.close();
43
+ return MCPServerStatus.DISCONNECTED;
44
+ }
45
+ try {
46
+ // Attempt actual MCP connection with short timeout
47
+ await client.connect(transport, { timeout: 5000 }); // 5s timeout
48
+ // Test basic MCP protocol by pinging the server
49
+ await client.ping();
50
+ await client.close();
51
+ return MCPServerStatus.CONNECTED;
52
+ }
53
+ catch (_error) {
54
+ await transport.close();
55
+ return MCPServerStatus.DISCONNECTED;
56
+ }
57
+ }
58
+ async function getServerStatus(serverName, server) {
59
+ // Test all server types by attempting actual connection
60
+ return await testMCPConnection(serverName, server);
61
+ }
62
+ export async function listMcpServers() {
63
+ const mcpServers = await getMcpServersFromConfig();
64
+ const serverNames = Object.keys(mcpServers);
65
+ if (serverNames.length === 0) {
66
+ console.log('No MCP servers configured.');
67
+ return;
68
+ }
69
+ console.log('Configured MCP servers:\n');
70
+ for (const serverName of serverNames) {
71
+ const server = mcpServers[serverName];
72
+ const status = await getServerStatus(serverName, server);
73
+ let statusIndicator = '';
74
+ let statusText = '';
75
+ switch (status) {
76
+ case MCPServerStatus.CONNECTED:
77
+ statusIndicator = COLOR_GREEN + '✓' + RESET_COLOR;
78
+ statusText = 'Connected';
79
+ break;
80
+ case MCPServerStatus.CONNECTING:
81
+ statusIndicator = COLOR_YELLOW + '…' + RESET_COLOR;
82
+ statusText = 'Connecting';
83
+ break;
84
+ case MCPServerStatus.DISCONNECTED:
85
+ default:
86
+ statusIndicator = COLOR_RED + '✗' + RESET_COLOR;
87
+ statusText = 'Disconnected';
88
+ break;
89
+ }
90
+ let serverInfo = `${serverName}: `;
91
+ if (server.httpUrl) {
92
+ serverInfo += `${server.httpUrl} (http)`;
93
+ }
94
+ else if (server.url) {
95
+ serverInfo += `${server.url} (sse)`;
96
+ }
97
+ else if (server.command) {
98
+ serverInfo += `${server.command} ${server.args?.join(' ') || ''} (stdio)`;
99
+ }
100
+ console.log(`${statusIndicator} ${serverInfo} - ${statusText}`);
101
+ }
102
+ }
103
+ export const listCommand = {
104
+ command: 'list',
105
+ describe: 'List all configured MCP servers',
106
+ handler: async () => {
107
+ await listMcpServers();
108
+ },
109
+ };
110
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/mcp/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ export declare const removeCommand: CommandModule;
@@ -0,0 +1,44 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { loadSettings, SettingScope } from '../../config/settings.js';
7
+ async function removeMcpServer(name, options) {
8
+ const { scope } = options;
9
+ const settingsScope = scope === 'user' ? SettingScope.User : SettingScope.Workspace;
10
+ const settings = loadSettings(process.cwd());
11
+ const existingSettings = settings.forScope(settingsScope).settings;
12
+ const mcpServers = existingSettings.mcpServers || {};
13
+ if (!mcpServers[name]) {
14
+ console.log(`Server "${name}" not found in ${scope} settings.`);
15
+ return;
16
+ }
17
+ delete mcpServers[name];
18
+ settings.setValue(settingsScope, 'mcpServers', mcpServers);
19
+ console.log(`Server "${name}" removed from ${scope} settings.`);
20
+ }
21
+ export const removeCommand = {
22
+ command: 'remove <name>',
23
+ describe: 'Remove a server',
24
+ builder: (yargs) => yargs
25
+ .usage('Usage: gemini mcp remove [options] <name>')
26
+ .positional('name', {
27
+ describe: 'Name of the server',
28
+ type: 'string',
29
+ demandOption: true,
30
+ })
31
+ .option('scope', {
32
+ alias: 's',
33
+ describe: 'Configuration scope (user or project)',
34
+ type: 'string',
35
+ default: 'project',
36
+ choices: ['user', 'project'],
37
+ }),
38
+ handler: async (argv) => {
39
+ await removeMcpServer(argv['name'], {
40
+ scope: argv['scope'],
41
+ });
42
+ },
43
+ };
44
+ //# sourceMappingURL=remove.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../../src/commands/mcp/remove.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAEtE,KAAK,UAAU,eAAe,CAC5B,IAAY,EACZ,OAEC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAC1B,MAAM,aAAa,GACjB,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC;IAChE,MAAM,QAAQ,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;IACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC,UAAU,IAAI,EAAE,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,kBAAkB,KAAK,YAAY,CAAC,CAAC;QAChE,OAAO;IACT,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;IAExB,QAAQ,CAAC,QAAQ,CAAC,aAAa,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,kBAAkB,KAAK,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,eAAe;IACxB,QAAQ,EAAE,iBAAiB;IAC3B,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,KAAK,CAAC,2CAA2C,CAAC;SAClD,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,IAAI;KACnB,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,KAAK,EAAE,GAAG;QACV,QAAQ,EAAE,uCAAuC;QACjD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC;KAC7B,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAW,EAAE;YAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAW;SAC/B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ export declare const mcpCommand: CommandModule;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { addCommand } from './mcp/add.js';
7
+ import { removeCommand } from './mcp/remove.js';
8
+ import { listCommand } from './mcp/list.js';
9
+ export const mcpCommand = {
10
+ command: 'mcp',
11
+ describe: 'Manage MCP servers',
12
+ builder: (yargs) => yargs
13
+ .command(addCommand)
14
+ .command(removeCommand)
15
+ .command(listCommand)
16
+ .demandCommand(1, 'You need at least one command before continuing.')
17
+ .version(false),
18
+ handler: () => {
19
+ // yargs will automatically show help if no subcommand is provided
20
+ // thanks to demandCommand(1) in the builder.
21
+ },
22
+ };
23
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,CAAC,MAAM,UAAU,GAAkB;IACvC,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,oBAAoB;IAC9B,OAAO,EAAE,CAAC,KAAW,EAAE,EAAE,CACvB,KAAK;SACF,OAAO,CAAC,UAAU,CAAC;SACnB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,WAAW,CAAC;SACpB,aAAa,CAAC,CAAC,EAAE,kDAAkD,CAAC;SACpE,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE;QACZ,kEAAkE;QAClE,6CAA6C;IAC/C,CAAC;CACF,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AuthType } from '@machina.ai/cell-cli-core';
7
+ import { vi } from 'vitest';
8
+ import { validateAuthMethod } from './auth.js';
9
+ vi.mock('./settings.js', () => ({
10
+ loadEnvironment: vi.fn(),
11
+ }));
12
+ describe('validateAuthMethod', () => {
13
+ const originalEnv = process.env;
14
+ beforeEach(() => {
15
+ vi.resetModules();
16
+ process.env = {};
17
+ });
18
+ afterEach(() => {
19
+ process.env = originalEnv;
20
+ });
21
+ it('should return null for KEYCLOAK', () => {
22
+ expect(validateAuthMethod(AuthType.KEYCLOAK)).toBeNull();
23
+ });
24
+ it('should return an error message for an invalid auth method', () => {
25
+ expect(validateAuthMethod('invalid-method')).toBe('Invalid auth method selected.');
26
+ });
27
+ });
28
+ //# sourceMappingURL=auth.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.test.js","sourceRoot":"","sources":["../../../src/config/auth.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;CACzB,CAAC,CAAC,CAAC;AAEJ,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhC,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAC/C,+BAA+B,CAChC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -18,20 +18,20 @@ export interface CliArgs {
18
18
  showMemoryUsage: boolean | undefined;
19
19
  show_memory_usage: boolean | undefined;
20
20
  yolo: boolean | undefined;
21
+ approvalMode: string | undefined;
21
22
  telemetry: boolean | undefined;
22
23
  checkpointing: boolean | undefined;
23
24
  telemetryTarget: string | undefined;
24
25
  telemetryOtlpEndpoint: string | undefined;
26
+ telemetryOtlpProtocol: string | undefined;
25
27
  telemetryLogPrompts: boolean | undefined;
26
28
  telemetryOutfile: string | undefined;
27
29
  allowedMcpServerNames: string[] | undefined;
28
30
  experimentalAcp: boolean | undefined;
29
31
  extensions: string[] | undefined;
30
32
  listExtensions: boolean | undefined;
31
- ideModeFeature: boolean | undefined;
32
33
  proxy: string | undefined;
33
34
  includeDirectories: string[] | undefined;
34
- loadMemoryFromIncludeDirectories: boolean | undefined;
35
35
  logout: boolean | undefined;
36
36
  }
37
37
  export declare function parseArguments(): Promise<CliArgs>;
@@ -39,4 +39,4 @@ export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: st
39
39
  memoryContent: string;
40
40
  fileCount: number;
41
41
  }>;
42
- export declare function loadCliConfig(settings: Settings, extensions: Extension[], sessionId: string, argv: CliArgs): Promise<Config>;
42
+ export declare function loadCliConfig(settings: Settings, extensions: Extension[], sessionId: string, argv: CliArgs, cwd?: string): Promise<Config>;