@machina.ai/cell-cli 1.0.21-rc4 → 1.2.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 (556) hide show
  1. package/dist/index.js +9 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +7 -8
  4. package/dist/src/commands/extensions/disable.d.ts +14 -0
  5. package/dist/src/commands/extensions/disable.js +42 -0
  6. package/dist/src/commands/extensions/disable.js.map +1 -0
  7. package/dist/src/commands/extensions/enable.d.ts +14 -0
  8. package/dist/src/commands/extensions/enable.js +48 -0
  9. package/dist/src/commands/extensions/enable.js.map +1 -0
  10. package/dist/src/commands/extensions/install.d.ts +13 -0
  11. package/dist/src/commands/extensions/install.js +48 -0
  12. package/dist/src/commands/extensions/install.js.map +1 -0
  13. package/dist/src/commands/extensions/install.test.d.ts +6 -0
  14. package/dist/src/commands/extensions/install.test.js +19 -0
  15. package/dist/src/commands/extensions/install.test.js.map +1 -0
  16. package/dist/src/commands/extensions/list.d.ts +8 -0
  17. package/dist/src/commands/extensions/list.js +32 -0
  18. package/dist/src/commands/extensions/list.js.map +1 -0
  19. package/dist/src/commands/extensions/uninstall.d.ts +12 -0
  20. package/dist/src/commands/extensions/uninstall.js +38 -0
  21. package/dist/src/commands/extensions/uninstall.js.map +1 -0
  22. package/dist/src/commands/extensions/uninstall.test.d.ts +6 -0
  23. package/dist/src/commands/extensions/uninstall.test.js +15 -0
  24. package/dist/src/commands/extensions/uninstall.test.js.map +1 -0
  25. package/dist/src/commands/extensions/update.d.ts +13 -0
  26. package/dist/src/commands/extensions/update.js +60 -0
  27. package/dist/src/commands/extensions/update.js.map +1 -0
  28. package/dist/src/commands/extensions.d.ts +7 -0
  29. package/dist/src/commands/extensions.js +29 -0
  30. package/dist/src/commands/extensions.js.map +1 -0
  31. package/dist/src/commands/mcp/list.js +1 -1
  32. package/dist/src/commands/mcp/list.js.map +1 -1
  33. package/dist/src/config/auth.js +2 -2
  34. package/dist/src/config/auth.js.map +1 -1
  35. package/dist/src/config/auth.test.js +4 -3
  36. package/dist/src/config/auth.test.js.map +1 -1
  37. package/dist/src/config/config.d.ts +10 -7
  38. package/dist/src/config/config.js +95 -56
  39. package/dist/src/config/config.js.map +1 -1
  40. package/dist/src/config/extension.d.ts +42 -2
  41. package/dist/src/config/extension.js +285 -15
  42. package/dist/src/config/extension.js.map +1 -1
  43. package/dist/src/config/extensions/variableSchema.d.ts +28 -0
  44. package/dist/src/config/extensions/variableSchema.js +18 -0
  45. package/dist/src/config/extensions/variableSchema.js.map +1 -0
  46. package/dist/src/config/extensions/variables.d.ts +17 -0
  47. package/dist/src/config/extensions/variables.js +40 -0
  48. package/dist/src/config/extensions/variables.js.map +1 -0
  49. package/dist/src/config/extensions/variables.test.d.ts +6 -0
  50. package/dist/src/config/extensions/variables.test.js +17 -0
  51. package/dist/src/config/extensions/variables.test.js.map +1 -0
  52. package/dist/src/config/keyBindings.test.js +1 -1
  53. package/dist/src/config/keyBindings.test.js.map +1 -1
  54. package/dist/src/config/sandboxConfig.d.ts +2 -2
  55. package/dist/src/config/sandboxConfig.js +5 -7
  56. package/dist/src/config/sandboxConfig.js.map +1 -1
  57. package/dist/src/config/settings.d.ts +13 -7
  58. package/dist/src/config/settings.js +375 -119
  59. package/dist/src/config/settings.js.map +1 -1
  60. package/dist/src/config/settingsSchema.d.ts +654 -338
  61. package/dist/src/config/settingsSchema.js +649 -333
  62. package/dist/src/config/settingsSchema.js.map +1 -1
  63. package/dist/src/config/settingsSchema.test.js +87 -89
  64. package/dist/src/config/settingsSchema.test.js.map +1 -1
  65. package/dist/src/config/trustedFolders.d.ts +14 -4
  66. package/dist/src/config/trustedFolders.js +53 -41
  67. package/dist/src/config/trustedFolders.js.map +1 -1
  68. package/dist/src/config/trustedFolders.test.js +43 -5
  69. package/dist/src/config/trustedFolders.test.js.map +1 -1
  70. package/dist/src/gemini.d.ts +3 -1
  71. package/dist/src/gemini.js +115 -50
  72. package/dist/src/gemini.js.map +1 -1
  73. package/dist/src/gemini.test.js +79 -25
  74. package/dist/src/gemini.test.js.map +1 -1
  75. package/dist/src/generated/git-commit.d.ts +2 -2
  76. package/dist/src/generated/git-commit.js +2 -2
  77. package/dist/src/generated/git-commit.js.map +1 -1
  78. package/dist/src/nonInteractiveCli.d.ts +1 -1
  79. package/dist/src/nonInteractiveCli.js +25 -37
  80. package/dist/src/nonInteractiveCli.js.map +1 -1
  81. package/dist/src/services/BuiltinCommandLoader.d.ts +3 -3
  82. package/dist/src/services/CommandService.d.ts +2 -2
  83. package/dist/src/services/CommandService.test.js +1 -0
  84. package/dist/src/services/CommandService.test.js.map +1 -1
  85. package/dist/src/services/FileCommandLoader.d.ts +5 -3
  86. package/dist/src/services/FileCommandLoader.js +33 -16
  87. package/dist/src/services/FileCommandLoader.js.map +1 -1
  88. package/dist/src/services/McpPromptLoader.d.ts +14 -4
  89. package/dist/src/services/McpPromptLoader.js +43 -17
  90. package/dist/src/services/McpPromptLoader.js.map +1 -1
  91. package/dist/src/services/McpPromptLoader.test.d.ts +6 -0
  92. package/dist/src/services/McpPromptLoader.test.js +114 -0
  93. package/dist/src/services/McpPromptLoader.test.js.map +1 -0
  94. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +3 -3
  95. package/dist/src/services/prompt-processors/argumentProcessor.js +3 -2
  96. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -1
  97. package/dist/src/services/prompt-processors/atFileProcessor.d.ts +12 -0
  98. package/dist/src/services/prompt-processors/atFileProcessor.js +62 -0
  99. package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -0
  100. package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +6 -0
  101. package/dist/src/services/prompt-processors/atFileProcessor.test.js +174 -0
  102. package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +1 -0
  103. package/dist/src/services/prompt-processors/injectionParser.d.ts +29 -0
  104. package/dist/src/services/prompt-processors/injectionParser.js +60 -0
  105. package/dist/src/services/prompt-processors/injectionParser.js.map +1 -0
  106. package/dist/src/services/prompt-processors/injectionParser.test.d.ts +6 -0
  107. package/dist/src/services/prompt-processors/injectionParser.test.js +189 -0
  108. package/dist/src/services/prompt-processors/injectionParser.test.js.map +1 -0
  109. package/dist/src/services/prompt-processors/shellProcessor.d.ts +4 -12
  110. package/dist/src/services/prompt-processors/shellProcessor.js +19 -68
  111. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  112. package/dist/src/services/prompt-processors/types.d.ts +13 -8
  113. package/dist/src/services/prompt-processors/types.js +4 -0
  114. package/dist/src/services/prompt-processors/types.js.map +1 -1
  115. package/dist/src/services/types.d.ts +1 -1
  116. package/dist/src/test-utils/customMatchers.js +0 -6
  117. package/dist/src/test-utils/customMatchers.js.map +1 -1
  118. package/dist/src/test-utils/mockCommandContext.d.ts +1 -1
  119. package/dist/src/test-utils/render.d.ts +1 -1
  120. package/dist/src/ui/App.d.ts +2 -2
  121. package/dist/src/ui/App.js +124 -66
  122. package/dist/src/ui/App.js.map +1 -1
  123. package/dist/src/ui/IdeIntegrationNudge.d.ts +1 -1
  124. package/dist/src/ui/IdeIntegrationNudge.js +2 -7
  125. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  126. package/dist/src/ui/colors.d.ts +1 -1
  127. package/dist/src/ui/commands/aboutCommand.d.ts +1 -1
  128. package/dist/src/ui/commands/aboutCommand.js +1 -1
  129. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  130. package/dist/src/ui/commands/authCommand.d.ts +1 -1
  131. package/dist/src/ui/commands/authCommand.js.map +1 -1
  132. package/dist/src/ui/commands/chatCommand.d.ts +1 -1
  133. package/dist/src/ui/commands/chatCommand.js +5 -4
  134. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  135. package/dist/src/ui/commands/clearCommand.d.ts +1 -1
  136. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  137. package/dist/src/ui/commands/compressCommand.d.ts +1 -1
  138. package/dist/src/ui/commands/compressCommand.js +2 -0
  139. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  140. package/dist/src/ui/commands/copyCommand.d.ts +1 -1
  141. package/dist/src/ui/commands/copyCommand.js +2 -2
  142. package/dist/src/ui/commands/copyCommand.js.map +1 -1
  143. package/dist/src/ui/commands/directoryCommand.d.ts +1 -1
  144. package/dist/src/ui/commands/directoryCommand.js +5 -4
  145. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  146. package/dist/src/ui/commands/helpCommand.d.ts +1 -1
  147. package/dist/src/ui/commands/helpCommand.js.map +1 -1
  148. package/dist/src/ui/commands/ideCommand.d.ts +2 -2
  149. package/dist/src/ui/commands/ideCommand.js +31 -12
  150. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  151. package/dist/src/ui/commands/initCommand.d.ts +1 -1
  152. package/dist/src/ui/commands/initCommand.js +3 -3
  153. package/dist/src/ui/commands/initCommand.js.map +1 -1
  154. package/dist/src/ui/commands/mcpCommand.d.ts +1 -1
  155. package/dist/src/ui/commands/mcpCommand.js +4 -4
  156. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  157. package/dist/src/ui/commands/memoryCommand.d.ts +1 -1
  158. package/dist/src/ui/commands/memoryCommand.js +4 -3
  159. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  160. package/dist/src/ui/commands/privacyCommand.d.ts +1 -1
  161. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  162. package/dist/src/ui/commands/restoreCommand.d.ts +1 -1
  163. package/dist/src/ui/commands/restoreCommand.js +5 -9
  164. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  165. package/dist/src/ui/commands/settingsCommand.d.ts +1 -1
  166. package/dist/src/ui/commands/settingsCommand.js.map +1 -1
  167. package/dist/src/ui/commands/setupGithubCommand.d.ts +3 -1
  168. package/dist/src/ui/commands/setupGithubCommand.js +48 -9
  169. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  170. package/dist/src/ui/commands/setupGithubCommand.test.js +100 -7
  171. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
  172. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  173. package/dist/src/ui/commands/terminalSetupCommand.d.ts +1 -1
  174. package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -1
  175. package/dist/src/ui/commands/themeCommand.d.ts +1 -1
  176. package/dist/src/ui/commands/themeCommand.js.map +1 -1
  177. package/dist/src/ui/commands/toolsCommand.js +2 -2
  178. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  179. package/dist/src/ui/commands/types.d.ts +7 -8
  180. package/dist/src/ui/commands/types.js +1 -0
  181. package/dist/src/ui/commands/types.js.map +1 -1
  182. package/dist/src/ui/commands/vimCommand.d.ts +1 -1
  183. package/dist/src/ui/commands/vimCommand.js.map +1 -1
  184. package/dist/src/ui/components/AboutBox.d.ts +1 -1
  185. package/dist/src/ui/components/AsciiArt.d.ts +3 -3
  186. package/dist/src/ui/components/AsciiArt.js +3 -3
  187. package/dist/src/ui/components/AuthDialog.d.ts +3 -2
  188. package/dist/src/ui/components/AuthDialog.js +7 -7
  189. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  190. package/dist/src/ui/components/AuthDialog.test.js +36 -18
  191. package/dist/src/ui/components/AuthDialog.test.js.map +1 -1
  192. package/dist/src/ui/components/AuthInProgress.d.ts +1 -1
  193. package/dist/src/ui/components/AuthInProgress.js +0 -5
  194. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  195. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +1 -1
  196. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +1 -1
  197. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +1 -1
  198. package/dist/src/ui/components/ContextSummaryDisplay.js +1 -0
  199. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  200. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +2 -2
  201. package/dist/src/ui/components/DetailedMessagesDisplay.js +1 -1
  202. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  203. package/dist/src/ui/components/EditorSettingsDialog.d.ts +4 -3
  204. package/dist/src/ui/components/EditorSettingsDialog.js +8 -11
  205. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  206. package/dist/src/ui/components/FolderTrustDialog.d.ts +2 -1
  207. package/dist/src/ui/components/FolderTrustDialog.js +13 -5
  208. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  209. package/dist/src/ui/components/FolderTrustDialog.test.js +55 -3
  210. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  211. package/dist/src/ui/components/Footer.d.ts +1 -1
  212. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +1 -1
  213. package/dist/src/ui/components/GeminiRespondingSpinner.js +5 -3
  214. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  215. package/dist/src/ui/components/Header.d.ts +1 -1
  216. package/dist/src/ui/components/Help.d.ts +2 -2
  217. package/dist/src/ui/components/Help.js +1 -1
  218. package/dist/src/ui/components/Help.js.map +1 -1
  219. package/dist/src/ui/components/HistoryItemDisplay.d.ts +4 -4
  220. package/dist/src/ui/components/HistoryItemDisplay.test.js +2 -0
  221. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  222. package/dist/src/ui/components/InputPrompt.d.ts +5 -5
  223. package/dist/src/ui/components/InputPrompt.js +142 -20
  224. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  225. package/dist/src/ui/components/LoadingIndicator.d.ts +2 -2
  226. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +1 -1
  227. package/dist/src/ui/components/MemoryUsageDisplay.js +0 -5
  228. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  229. package/dist/src/ui/components/ModelStatsDisplay.d.ts +1 -1
  230. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  231. package/dist/src/ui/components/PrepareLabel.d.ts +1 -1
  232. package/dist/src/ui/components/ProQuotaDialog.d.ts +13 -0
  233. package/dist/src/ui/components/ProQuotaDialog.js +21 -0
  234. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -0
  235. package/dist/src/ui/components/ProQuotaDialog.test.d.ts +6 -0
  236. package/dist/src/ui/components/ProQuotaDialog.test.js +56 -0
  237. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -0
  238. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +1 -1
  239. package/dist/src/ui/components/SettingsDialog.d.ts +2 -1
  240. package/dist/src/ui/components/SettingsDialog.js +67 -36
  241. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  242. package/dist/src/ui/components/SettingsDialog.test.js +134 -56
  243. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  244. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +1 -1
  245. package/dist/src/ui/components/ShellConfirmationDialog.js +1 -1
  246. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  247. package/dist/src/ui/components/ShellModeIndicator.d.ts +1 -1
  248. package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
  249. package/dist/src/ui/components/StatsDisplay.js +3 -3
  250. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  251. package/dist/src/ui/components/SuggestionsDisplay.js +12 -4
  252. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  253. package/dist/src/ui/components/ThemeDialog.d.ts +3 -2
  254. package/dist/src/ui/components/ThemeDialog.js +5 -10
  255. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  256. package/dist/src/ui/components/Tips.d.ts +1 -1
  257. package/dist/src/ui/components/Tips.js +1 -0
  258. package/dist/src/ui/components/Tips.js.map +1 -1
  259. package/dist/src/ui/components/ToolStatsDisplay.d.ts +1 -1
  260. package/dist/src/ui/components/WorkspaceMigrationDialog.d.ts +11 -0
  261. package/dist/src/ui/components/WorkspaceMigrationDialog.js +42 -0
  262. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -0
  263. package/dist/src/ui/components/messages/CompressionMessage.d.ts +2 -2
  264. package/dist/src/ui/components/messages/CompressionMessage.js +2 -1
  265. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
  266. package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -1
  267. package/dist/src/ui/components/messages/DiffRenderer.js +6 -2
  268. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  269. package/dist/src/ui/components/messages/ErrorMessage.d.ts +1 -1
  270. package/dist/src/ui/components/messages/GeminiMessage.d.ts +1 -1
  271. package/dist/src/ui/components/messages/GeminiMessage.js +2 -1
  272. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  273. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +1 -1
  274. package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -1
  275. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +3 -3
  276. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +41 -24
  277. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  278. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +79 -2
  279. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  280. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +4 -4
  281. package/dist/src/ui/components/messages/ToolGroupMessage.js +1 -6
  282. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  283. package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +6 -0
  284. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +259 -0
  285. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -0
  286. package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
  287. package/dist/src/ui/components/messages/ToolMessage.js +2 -1
  288. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  289. package/dist/src/ui/components/messages/ToolMessage.test.js +6 -6
  290. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  291. package/dist/src/ui/components/messages/UserMessage.d.ts +1 -1
  292. package/dist/src/ui/components/messages/UserMessage.js +4 -2
  293. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  294. package/dist/src/ui/components/messages/UserShellMessage.d.ts +1 -1
  295. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  296. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +1 -1
  297. package/dist/src/ui/components/shared/RadioButtonSelect.js +1 -6
  298. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  299. package/dist/src/ui/components/shared/text-buffer.js +5 -49
  300. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  301. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +1 -1
  302. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
  303. package/dist/src/ui/constants.d.ts +8 -0
  304. package/dist/src/ui/constants.js +9 -0
  305. package/dist/src/ui/constants.js.map +1 -1
  306. package/dist/src/ui/contexts/KeypressContext.d.ts +4 -3
  307. package/dist/src/ui/contexts/KeypressContext.js +34 -25
  308. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  309. package/dist/src/ui/contexts/KeypressContext.test.js +176 -10
  310. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  311. package/dist/src/ui/contexts/OverflowContext.d.ts +1 -1
  312. package/dist/src/ui/contexts/OverflowContext.js +0 -5
  313. package/dist/src/ui/contexts/OverflowContext.js.map +1 -1
  314. package/dist/src/ui/contexts/SessionContext.d.ts +2 -2
  315. package/dist/src/ui/contexts/SessionContext.js +1 -6
  316. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  317. package/dist/src/ui/contexts/SettingsContext.d.ts +1 -1
  318. package/dist/src/ui/contexts/StreamingContext.d.ts +1 -1
  319. package/dist/src/ui/contexts/VimModeContext.d.ts +1 -1
  320. package/dist/src/ui/contexts/VimModeContext.js +4 -4
  321. package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
  322. package/dist/src/ui/hooks/atCommandProcessor.d.ts +3 -3
  323. package/dist/src/ui/hooks/atCommandProcessor.js +4 -7
  324. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  325. package/dist/src/ui/hooks/atCommandProcessor.test.js +33 -10
  326. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  327. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +3 -3
  328. package/dist/src/ui/hooks/shellCommandProcessor.js +15 -19
  329. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  330. package/dist/src/ui/hooks/shellCommandProcessor.test.js +16 -19
  331. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  332. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +5 -4
  333. package/dist/src/ui/hooks/slashCommandProcessor.js +8 -6
  334. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  335. package/dist/src/ui/hooks/useAtCompletion.d.ts +2 -2
  336. package/dist/src/ui/hooks/useAtCompletion.js +3 -2
  337. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  338. package/dist/src/ui/hooks/useAuthCommand.d.ts +2 -2
  339. package/dist/src/ui/hooks/useAuthCommand.js +5 -4
  340. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  341. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +3 -1
  342. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +13 -4
  343. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  344. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +122 -2
  345. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  346. package/dist/src/ui/hooks/useCommandCompletion.d.ts +8 -5
  347. package/dist/src/ui/hooks/useCommandCompletion.js +30 -9
  348. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  349. package/dist/src/ui/hooks/useCompletion.d.ts +1 -1
  350. package/dist/src/ui/hooks/useCompletion.js +1 -1
  351. package/dist/src/ui/hooks/useCompletion.js.map +1 -1
  352. package/dist/src/ui/hooks/useConsoleMessages.d.ts +1 -1
  353. package/dist/src/ui/hooks/useEditorSettings.d.ts +2 -2
  354. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
  355. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
  356. package/dist/src/ui/hooks/useFolderTrust.d.ts +2 -1
  357. package/dist/src/ui/hooks/useFolderTrust.js +25 -12
  358. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  359. package/dist/src/ui/hooks/useGeminiStream.d.ts +6 -5
  360. package/dist/src/ui/hooks/useGeminiStream.js +66 -45
  361. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  362. package/dist/src/ui/hooks/useGitBranchName.js +1 -1
  363. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  364. package/dist/src/ui/hooks/useGitBranchName.test.js +1 -1
  365. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  366. package/dist/src/ui/hooks/useHistoryManager.d.ts +1 -1
  367. package/dist/src/ui/hooks/useInputHistoryStore.d.ts +19 -0
  368. package/dist/src/ui/hooks/useInputHistoryStore.js +81 -0
  369. package/dist/src/ui/hooks/useInputHistoryStore.js.map +1 -0
  370. package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +6 -0
  371. package/dist/src/ui/hooks/useInputHistoryStore.test.js +234 -0
  372. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -0
  373. package/dist/src/ui/hooks/useKeypress.d.ts +2 -2
  374. package/dist/src/ui/hooks/useKeypress.js +1 -1
  375. package/dist/src/ui/hooks/useKeypress.js.map +1 -1
  376. package/dist/src/ui/hooks/useLogger.d.ts +2 -1
  377. package/dist/src/ui/hooks/useLogger.js +3 -3
  378. package/dist/src/ui/hooks/useLogger.js.map +1 -1
  379. package/dist/src/ui/hooks/usePrivacySettings.d.ts +1 -1
  380. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  381. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
  382. package/dist/src/ui/hooks/usePromptCompletion.d.ts +23 -0
  383. package/dist/src/ui/hooks/usePromptCompletion.js +177 -0
  384. package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -0
  385. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +2 -2
  386. package/dist/src/ui/hooks/useReactToolScheduler.js +2 -3
  387. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  388. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +2 -2
  389. package/dist/src/ui/hooks/useShellHistory.d.ts +2 -1
  390. package/dist/src/ui/hooks/useShellHistory.js +9 -10
  391. package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
  392. package/dist/src/ui/hooks/useShellHistory.test.js +30 -4
  393. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
  394. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +3 -3
  395. package/dist/src/ui/hooks/useShowMemoryCommand.js +1 -1
  396. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -1
  397. package/dist/src/ui/hooks/useSlashCompletion.d.ts +2 -2
  398. package/dist/src/ui/hooks/useSlashCompletion.js +263 -67
  399. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  400. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +4 -1
  401. package/dist/src/ui/hooks/useSlashCompletion.test.js +452 -59
  402. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  403. package/dist/src/ui/hooks/useThemeCommand.d.ts +1 -1
  404. package/dist/src/ui/hooks/useThemeCommand.js +8 -8
  405. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  406. package/dist/src/ui/hooks/useToolScheduler.test.js +96 -96
  407. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  408. package/dist/src/ui/hooks/useWorkspaceMigration.d.ts +13 -0
  409. package/dist/src/ui/hooks/useWorkspaceMigration.js +53 -0
  410. package/dist/src/ui/hooks/useWorkspaceMigration.js.map +1 -0
  411. package/dist/src/ui/keyMatchers.d.ts +2 -1
  412. package/dist/src/ui/keyMatchers.js +1 -1
  413. package/dist/src/ui/keyMatchers.js.map +1 -1
  414. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  415. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +1 -1
  416. package/dist/src/ui/semantic-colors.d.ts +1 -1
  417. package/dist/src/ui/textConstants.d.ts +9 -0
  418. package/dist/src/ui/textConstants.js +10 -0
  419. package/dist/src/ui/textConstants.js.map +1 -0
  420. package/dist/src/ui/themes/atom-one-dark.js +1 -2
  421. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  422. package/dist/src/ui/themes/ayu-light.js +1 -2
  423. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  424. package/dist/src/ui/themes/ayu.js +1 -2
  425. package/dist/src/ui/themes/ayu.js.map +1 -1
  426. package/dist/src/ui/themes/default-light.js +1 -2
  427. package/dist/src/ui/themes/default-light.js.map +1 -1
  428. package/dist/src/ui/themes/default.js +1 -2
  429. package/dist/src/ui/themes/default.js.map +1 -1
  430. package/dist/src/ui/themes/dracula.js +1 -2
  431. package/dist/src/ui/themes/dracula.js.map +1 -1
  432. package/dist/src/ui/themes/github-dark.js +1 -2
  433. package/dist/src/ui/themes/github-dark.js.map +1 -1
  434. package/dist/src/ui/themes/github-light.js +1 -2
  435. package/dist/src/ui/themes/github-light.js.map +1 -1
  436. package/dist/src/ui/themes/googlecode.js +2 -3
  437. package/dist/src/ui/themes/googlecode.js.map +1 -1
  438. package/dist/src/ui/themes/no-color.js.map +1 -1
  439. package/dist/src/ui/themes/shades-of-purple.js +1 -2
  440. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  441. package/dist/src/ui/themes/theme-manager.d.ts +4 -2
  442. package/dist/src/ui/themes/theme-manager.js +73 -6
  443. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  444. package/dist/src/ui/themes/theme-manager.test.js +60 -1
  445. package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
  446. package/dist/src/ui/themes/theme.d.ts +3 -3
  447. package/dist/src/ui/themes/theme.js +30 -2
  448. package/dist/src/ui/themes/theme.js.map +1 -1
  449. package/dist/src/ui/themes/xcode.js +1 -2
  450. package/dist/src/ui/themes/xcode.js.map +1 -1
  451. package/dist/src/ui/types.d.ts +4 -2
  452. package/dist/src/ui/types.js.map +1 -1
  453. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -2
  454. package/dist/src/ui/utils/CodeColorizer.js +1 -1
  455. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  456. package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -1
  457. package/dist/src/ui/utils/ConsolePatcher.js +1 -1
  458. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  459. package/dist/src/ui/utils/MarkdownDisplay.js +2 -1
  460. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  461. package/dist/src/ui/utils/MarkdownDisplay.test.js +17 -16
  462. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  463. package/dist/src/ui/utils/clipboardUtils.js +6 -6
  464. package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
  465. package/dist/src/ui/utils/commandUtils.d.ts +1 -1
  466. package/dist/src/ui/utils/commandUtils.js +52 -14
  467. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  468. package/dist/src/ui/utils/commandUtils.test.js +76 -21
  469. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  470. package/dist/src/ui/utils/computeStats.d.ts +1 -1
  471. package/dist/src/ui/utils/platformConstants.d.ts +9 -0
  472. package/dist/src/ui/utils/platformConstants.js +9 -0
  473. package/dist/src/ui/utils/platformConstants.js.map +1 -1
  474. package/dist/src/ui/utils/terminalSetup.js +5 -5
  475. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  476. package/dist/src/ui/utils/textUtils.d.ts +18 -0
  477. package/dist/src/ui/utils/textUtils.js +44 -0
  478. package/dist/src/ui/utils/textUtils.js.map +1 -1
  479. package/dist/src/ui/utils/updateCheck.d.ts +1 -1
  480. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  481. package/dist/src/utils/cleanup.js +5 -4
  482. package/dist/src/utils/cleanup.js.map +1 -1
  483. package/dist/src/utils/dialogScopeUtils.d.ts +2 -1
  484. package/dist/src/utils/dialogScopeUtils.js.map +1 -1
  485. package/dist/src/utils/envVarResolver.d.ts +39 -0
  486. package/dist/src/utils/envVarResolver.js +97 -0
  487. package/dist/src/utils/envVarResolver.js.map +1 -0
  488. package/dist/src/utils/envVarResolver.test.d.ts +6 -0
  489. package/dist/src/utils/envVarResolver.test.js +221 -0
  490. package/dist/src/utils/envVarResolver.test.js.map +1 -0
  491. package/dist/src/utils/errors.d.ts +6 -0
  492. package/dist/src/utils/errors.js +12 -0
  493. package/dist/src/utils/errors.js.map +1 -0
  494. package/dist/src/utils/events.d.ts +1 -1
  495. package/dist/src/utils/events.js +1 -1
  496. package/dist/src/utils/events.js.map +1 -1
  497. package/dist/src/utils/gitUtils.js +1 -1
  498. package/dist/src/utils/gitUtils.js.map +1 -1
  499. package/dist/src/utils/gitUtils.test.js +4 -4
  500. package/dist/src/utils/gitUtils.test.js.map +1 -1
  501. package/dist/src/utils/handleAutoUpdate.d.ts +4 -4
  502. package/dist/src/utils/handleAutoUpdate.js +4 -3
  503. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  504. package/dist/src/utils/installationInfo.js +3 -3
  505. package/dist/src/utils/installationInfo.js.map +1 -1
  506. package/dist/src/utils/installationInfo.test.js +3 -3
  507. package/dist/src/utils/installationInfo.test.js.map +1 -1
  508. package/dist/src/utils/package.js +2 -2
  509. package/dist/src/utils/package.js.map +1 -1
  510. package/dist/src/utils/readStdin.js +15 -0
  511. package/dist/src/utils/readStdin.js.map +1 -1
  512. package/dist/src/utils/readStdin.test.d.ts +6 -0
  513. package/dist/src/utils/readStdin.test.js +88 -0
  514. package/dist/src/utils/readStdin.test.js.map +1 -0
  515. package/dist/src/utils/resolvePath.js +2 -2
  516. package/dist/src/utils/resolvePath.js.map +1 -1
  517. package/dist/src/utils/sandbox-macos-permissive-closed.sb +1 -1
  518. package/dist/src/utils/sandbox-macos-permissive-open.sb +2 -2
  519. package/dist/src/utils/sandbox-macos-permissive-proxied.sb +1 -1
  520. package/dist/src/utils/sandbox-macos-restrictive-closed.sb +2 -2
  521. package/dist/src/utils/sandbox-macos-restrictive-open.sb +2 -2
  522. package/dist/src/utils/sandbox-macos-restrictive-proxied.sb +1 -1
  523. package/dist/src/utils/sandbox.d.ts +2 -2
  524. package/dist/src/utils/sandbox.js +20 -27
  525. package/dist/src/utils/sandbox.js.map +1 -1
  526. package/dist/src/utils/settingsUtils.d.ts +2 -2
  527. package/dist/src/utils/settingsUtils.js +2 -8
  528. package/dist/src/utils/settingsUtils.js.map +1 -1
  529. package/dist/src/utils/settingsUtils.test.js +145 -148
  530. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  531. package/dist/src/utils/spawnWrapper.d.ts +1 -1
  532. package/dist/src/utils/spawnWrapper.js +1 -1
  533. package/dist/src/utils/spawnWrapper.js.map +1 -1
  534. package/dist/src/utils/startupWarnings.js +2 -2
  535. package/dist/src/utils/startupWarnings.js.map +1 -1
  536. package/dist/src/utils/updateEventEmitter.d.ts +1 -1
  537. package/dist/src/utils/updateEventEmitter.js +1 -1
  538. package/dist/src/utils/updateEventEmitter.js.map +1 -1
  539. package/dist/src/utils/userStartupWarnings.js +3 -3
  540. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  541. package/dist/src/utils/userStartupWarnings.test.js +3 -3
  542. package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
  543. package/dist/src/validateNonInterActiveAuth.d.ts +2 -1
  544. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  545. package/dist/src/zed-integration/acp.d.ts +1 -1
  546. package/dist/src/zed-integration/acp.js +2 -1
  547. package/dist/src/zed-integration/acp.js.map +1 -1
  548. package/dist/src/zed-integration/fileSystemService.d.ts +2 -2
  549. package/dist/src/zed-integration/schema.d.ts +116 -13
  550. package/dist/src/zed-integration/schema.js +7 -1
  551. package/dist/src/zed-integration/schema.js.map +1 -1
  552. package/dist/src/zed-integration/zedIntegration.d.ts +4 -4
  553. package/dist/src/zed-integration/zedIntegration.js +190 -154
  554. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  555. package/dist/tsconfig.tsbuildinfo +1 -1
  556. package/package.json +10 -10
package/dist/index.js CHANGED
@@ -6,8 +6,17 @@
6
6
  */
7
7
  import './src/gemini.js';
8
8
  import { main } from './src/gemini.js';
9
+ import { FatalError } from '@machina.ai/cell-cli-core';
9
10
  // --- Global Entry Point ---
10
11
  main().catch((error) => {
12
+ if (error instanceof FatalError) {
13
+ let errorMessage = error.message;
14
+ if (!process.env['NO_COLOR']) {
15
+ errorMessage = `\x1b[31m${errorMessage}\x1b[0m`;
16
+ }
17
+ console.error(errorMessage);
18
+ process.exit(error.exitCode);
19
+ }
11
20
  console.error('An unexpected critical error occurred:');
12
21
  if (error instanceof Error) {
13
22
  console.error(error.stack);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,6BAA6B;AAC7B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,6BAA6B;AAC7B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,YAAY,GAAG,WAAW,YAAY,SAAS,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@machina.ai/cell-cli",
3
- "version": "1.0.21-rc4",
3
+ "version": "1.2.2-rc1",
4
4
  "description": "Cell CLI",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,7 +15,7 @@
15
15
  ""
16
16
  ],
17
17
  "config": {
18
- "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.1.21"
18
+ "sandboxImageUri": "us-docker.pkg.dev/gemini-code-dev/gemini-cli/sandbox:0.2.2"
19
19
  },
20
20
  "dependencies": {
21
21
  "@iarna/toml": "^2.2.5",
@@ -26,17 +26,16 @@
26
26
  "dotenv": "^17.1.0",
27
27
  "glob": "^10.4.1",
28
28
  "highlight.js": "^11.11.1",
29
- "ink": "^6.1.1",
30
- "ink-big-text": "^2.0.0",
29
+ "ink": "^6.2.3",
31
30
  "ink-gradient": "^3.0.0",
32
- "ink-link": "^4.1.0",
33
- "ink-select-input": "^6.2.0",
34
31
  "ink-spinner": "^5.0.0",
32
+ "lodash-es": "^4.17.21",
35
33
  "lowlight": "^3.3.0",
36
34
  "mime-types": "^3.0.1",
37
35
  "open": "^10.1.2",
38
36
  "react": "^19.1.0",
39
37
  "read-package-up": "^11.0.0",
38
+ "simple-git": "^3.28.0",
40
39
  "shell-quote": "^1.8.3",
41
40
  "string-width": "^7.1.0",
42
41
  "strip-ansi": "^7.1.0",
@@ -44,8 +43,8 @@
44
43
  "undici": "^7.10.0",
45
44
  "update-notifier": "^7.3.1",
46
45
  "yargs": "^17.7.2",
47
- "@google/genai": "1.13.0",
48
- "@machina.ai/cell-cli-core": "1.0.21-rc4",
46
+ "@google/genai": "1.16.0",
47
+ "@machina.ai/cell-cli-core": "1.2.2-rc1",
49
48
  "@machina.ai/auth-keycloak": "1.0.21-rc2",
50
49
  "@machina.ai/config-yaml": "1.0.21-rc2",
51
50
  "@machina.ai/api-proxy": "1.0.21-rc2"
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type CommandModule } from 'yargs';
7
+ import { SettingScope } from '../../config/settings.js';
8
+ interface DisableArgs {
9
+ name: string;
10
+ scope: SettingScope;
11
+ }
12
+ export declare function handleDisable(args: DisableArgs): Promise<void>;
13
+ export declare const disableCommand: CommandModule;
14
+ export {};
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import {} from 'yargs';
7
+ import { disableExtension } from '../../config/extension.js';
8
+ import { SettingScope } from '../../config/settings.js';
9
+ import { getErrorMessage } from '../../utils/errors.js';
10
+ export async function handleDisable(args) {
11
+ try {
12
+ disableExtension(args.name, args.scope);
13
+ console.log(`Extension "${args.name}" successfully disabled for scope "${args.scope}".`);
14
+ }
15
+ catch (error) {
16
+ console.error(getErrorMessage(error));
17
+ process.exit(1);
18
+ }
19
+ }
20
+ export const disableCommand = {
21
+ command: 'disable [--scope] <name>',
22
+ describe: 'Disables an extension.',
23
+ builder: (yargs) => yargs
24
+ .positional('name', {
25
+ describe: 'The name of the extension to disable.',
26
+ type: 'string',
27
+ })
28
+ .option('scope', {
29
+ describe: 'The scope to disable the extenison in.',
30
+ type: 'string',
31
+ default: SettingScope.User,
32
+ choices: [SettingScope.User, SettingScope.Workspace],
33
+ })
34
+ .check((_argv) => true),
35
+ handler: async (argv) => {
36
+ await handleDisable({
37
+ name: argv['name'],
38
+ scope: argv['scope'],
39
+ });
40
+ },
41
+ };
42
+ //# sourceMappingURL=disable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../../src/commands/extensions/disable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAiB;IACnD,IAAI,CAAC;QACH,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,CAAC,GAAG,CACT,cAAc,IAAI,CAAC,IAAI,sCAAsC,IAAI,CAAC,KAAK,IAAI,CAC5E,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,OAAO,EAAE,0BAA0B;IACnC,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,uCAAuC;QACjD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EAAE,wCAAwC;QAClD,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,YAAY,CAAC,IAAI;QAC1B,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;KACrD,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC;IAC3B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,aAAa,CAAC;YAClB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAW;YAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAiB;SACrC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type CommandModule } from 'yargs';
7
+ import { SettingScope } from '../../config/settings.js';
8
+ interface EnableArgs {
9
+ name: string;
10
+ scope?: SettingScope;
11
+ }
12
+ export declare function handleEnable(args: EnableArgs): Promise<void>;
13
+ export declare const enableCommand: CommandModule;
14
+ export {};
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import {} from 'yargs';
7
+ import { FatalConfigError, getErrorMessage } from '@machina.ai/cell-cli-core';
8
+ import { enableExtension } from '../../config/extension.js';
9
+ import { SettingScope } from '../../config/settings.js';
10
+ export async function handleEnable(args) {
11
+ try {
12
+ const scopes = args.scope
13
+ ? [args.scope]
14
+ : [SettingScope.User, SettingScope.Workspace];
15
+ enableExtension(args.name, scopes);
16
+ if (args.scope) {
17
+ console.log(`Extension "${args.name}" successfully enabled for scope "${args.scope}".`);
18
+ }
19
+ else {
20
+ console.log(`Extension "${args.name}" successfully enabled in all scopes.`);
21
+ }
22
+ }
23
+ catch (error) {
24
+ throw new FatalConfigError(getErrorMessage(error));
25
+ }
26
+ }
27
+ export const enableCommand = {
28
+ command: 'enable [--scope] <name>',
29
+ describe: 'Enables an extension.',
30
+ builder: (yargs) => yargs
31
+ .positional('name', {
32
+ describe: 'The name of the extension to enable.',
33
+ type: 'string',
34
+ })
35
+ .option('scope', {
36
+ describe: 'The scope to enable the extenison in. If not set, will be enabled in all scopes.',
37
+ type: 'string',
38
+ choices: [SettingScope.User, SettingScope.Workspace],
39
+ })
40
+ .check((_argv) => true),
41
+ handler: async (argv) => {
42
+ await handleEnable({
43
+ name: argv['name'],
44
+ scope: argv['scope'],
45
+ });
46
+ },
47
+ };
48
+ //# sourceMappingURL=enable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enable.js","sourceRoot":"","sources":["../../../../src/commands/extensions/enable.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAsB,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAOxD,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAgB;IACjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK;YACvB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACd,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QAChD,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CACT,cAAc,IAAI,CAAC,IAAI,qCAAqC,IAAI,CAAC,KAAK,IAAI,CAC3E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CACT,cAAc,IAAI,CAAC,IAAI,uCAAuC,CAC/D,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,yBAAyB;IAClC,QAAQ,EAAE,uBAAuB;IACjC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,OAAO,EAAE;QACf,QAAQ,EACN,kFAAkF;QACpF,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;KACrD,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC;IAC3B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,YAAY,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAW;YAC5B,KAAK,EAAE,IAAI,CAAC,OAAO,CAAiB;SACrC,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ interface InstallArgs {
8
+ source?: string;
9
+ path?: string;
10
+ }
11
+ export declare function handleInstall(args: InstallArgs): Promise<void>;
12
+ export declare const installCommand: CommandModule;
13
+ export {};
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { installExtension, } from '../../config/extension.js';
7
+ import { getErrorMessage } from '../../utils/errors.js';
8
+ export async function handleInstall(args) {
9
+ try {
10
+ const installMetadata = {
11
+ source: (args.source || args.path),
12
+ type: args.source ? 'git' : 'local',
13
+ };
14
+ const extensionName = await installExtension(installMetadata);
15
+ console.log(`Extension "${extensionName}" installed successfully and enabled.`);
16
+ }
17
+ catch (error) {
18
+ console.error(getErrorMessage(error));
19
+ process.exit(1);
20
+ }
21
+ }
22
+ export const installCommand = {
23
+ command: 'install [--source | --path ]',
24
+ describe: 'Installs an extension from a git repository or a local path.',
25
+ builder: (yargs) => yargs
26
+ .option('source', {
27
+ describe: 'The git URL of the extension to install.',
28
+ type: 'string',
29
+ })
30
+ .option('path', {
31
+ describe: 'Path to a local extension directory.',
32
+ type: 'string',
33
+ })
34
+ .conflicts('source', 'path')
35
+ .check((argv) => {
36
+ if (!argv.source && !argv.path) {
37
+ throw new Error('Either a git URL --source or a --path must be provided.');
38
+ }
39
+ return true;
40
+ }),
41
+ handler: async (argv) => {
42
+ await handleInstall({
43
+ source: argv['source'],
44
+ path: argv['path'],
45
+ });
46
+ },
47
+ };
48
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../../src/commands/extensions/install.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,gBAAgB,GAEjB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAiB;IACnD,IAAI,CAAC;QACH,MAAM,eAAe,GAA6B;YAChD,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAW;YAC5C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;SACpC,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,eAAe,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CACT,cAAc,aAAa,uCAAuC,CACnE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAkB;IAC3C,OAAO,EAAE,8BAA8B;IACvC,QAAQ,EAAE,8DAA8D;IACxE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,MAAM,CAAC,QAAQ,EAAE;QAChB,QAAQ,EAAE,0CAA0C;QACpD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,MAAM,EAAE;QACd,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;SAC3B,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,aAAa,CAAC;YAClB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAuB;YAC5C,IAAI,EAAE,IAAI,CAAC,MAAM,CAAuB;SACzC,CAAC,CAAC;IACL,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,19 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { installCommand } from './install.js';
8
+ import yargs from 'yargs';
9
+ describe('extensions install command', () => {
10
+ it('should fail if no source is provided', () => {
11
+ const validationParser = yargs([]).command(installCommand).fail(false);
12
+ expect(() => validationParser.parse('install')).toThrow('Either a git URL --source or a --path must be provided.');
13
+ });
14
+ it('should fail if both git source and local path are provided', () => {
15
+ const validationParser = yargs([]).command(installCommand).fail(false);
16
+ expect(() => validationParser.parse('install --source some-url --path /some/path')).toThrow('Arguments source and path are mutually exclusive');
17
+ });
18
+ });
19
+ //# sourceMappingURL=install.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.test.js","sourceRoot":"","sources":["../../../../src/commands/extensions/install.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CACrD,yDAAyD,CAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,EAAE,CACV,gBAAgB,CAAC,KAAK,CAAC,6CAA6C,CAAC,CACtE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -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 handleList(): Promise<void>;
8
+ export declare const listCommand: CommandModule;
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { loadUserExtensions, toOutputString } from '../../config/extension.js';
7
+ import { getErrorMessage } from '../../utils/errors.js';
8
+ export async function handleList() {
9
+ try {
10
+ const extensions = loadUserExtensions();
11
+ if (extensions.length === 0) {
12
+ console.log('No extensions installed.');
13
+ return;
14
+ }
15
+ console.log(extensions
16
+ .map((extension, _) => toOutputString(extension))
17
+ .join('\n\n'));
18
+ }
19
+ catch (error) {
20
+ console.error(getErrorMessage(error));
21
+ process.exit(1);
22
+ }
23
+ }
24
+ export const listCommand = {
25
+ command: 'list',
26
+ describe: 'Lists installed extensions.',
27
+ builder: (yargs) => yargs,
28
+ handler: async () => {
29
+ await handleList();
30
+ },
31
+ };
32
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/extensions/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;QACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QACD,OAAO,CAAC,GAAG,CACT,UAAU;aACP,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,EAAU,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;aACxD,IAAI,CAAC,MAAM,CAAC,CAChB,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAkB;IACxC,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,6BAA6B;IACvC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IACzB,OAAO,EAAE,KAAK,IAAI,EAAE;QAClB,MAAM,UAAU,EAAE,CAAC;IACrB,CAAC;CACF,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ interface UninstallArgs {
8
+ name: string;
9
+ }
10
+ export declare function handleUninstall(args: UninstallArgs): Promise<void>;
11
+ export declare const uninstallCommand: CommandModule;
12
+ export {};
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { uninstallExtension } from '../../config/extension.js';
7
+ import { getErrorMessage } from '../../utils/errors.js';
8
+ export async function handleUninstall(args) {
9
+ try {
10
+ await uninstallExtension(args.name);
11
+ console.log(`Extension "${args.name}" successfully uninstalled.`);
12
+ }
13
+ catch (error) {
14
+ console.error(getErrorMessage(error));
15
+ process.exit(1);
16
+ }
17
+ }
18
+ export const uninstallCommand = {
19
+ command: 'uninstall <name>',
20
+ describe: 'Uninstalls an extension.',
21
+ builder: (yargs) => yargs
22
+ .positional('name', {
23
+ describe: 'The name of the extension to uninstall.',
24
+ type: 'string',
25
+ })
26
+ .check((argv) => {
27
+ if (!argv.name) {
28
+ throw new Error('Please include the name of the extension to uninstall as a positional argument.');
29
+ }
30
+ return true;
31
+ }),
32
+ handler: async (argv) => {
33
+ await handleUninstall({
34
+ name: argv['name'],
35
+ });
36
+ },
37
+ };
38
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../../../src/commands/extensions/uninstall.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMxD,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAmB;IACvD,IAAI,CAAC;QACH,MAAM,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,CAAC,IAAI,6BAA6B,CAAC,CAAC;IACpE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAkB;IAC7C,OAAO,EAAE,kBAAkB;IAC3B,QAAQ,EAAE,0BAA0B;IACpC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,yCAAyC;QACnD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,eAAe,CAAC;YACpB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAW;SAC7B,CAAC,CAAC;IACL,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,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect } from 'vitest';
7
+ import { uninstallCommand } from './uninstall.js';
8
+ import yargs from 'yargs';
9
+ describe('extensions uninstall command', () => {
10
+ it('should fail if no source is provided', () => {
11
+ const validationParser = yargs([]).command(uninstallCommand).fail(false);
12
+ expect(() => validationParser.parse('uninstall')).toThrow('Not enough non-option arguments: got 0, need at least 1');
13
+ });
14
+ });
15
+ //# sourceMappingURL=uninstall.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.test.js","sourceRoot":"","sources":["../../../../src/commands/extensions/uninstall.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC9C,MAAM,gBAAgB,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CACvD,yDAAyD,CAC1D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandModule } from 'yargs';
7
+ interface UpdateArgs {
8
+ name?: string;
9
+ all?: boolean;
10
+ }
11
+ export declare function handleUpdate(args: UpdateArgs): Promise<void>;
12
+ export declare const updateCommand: CommandModule;
13
+ export {};
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { updateExtensionByName, updateAllUpdatableExtensions, } from '../../config/extension.js';
7
+ import { getErrorMessage } from '../../utils/errors.js';
8
+ const updateOutput = (info) => `Extension "${info.name}" successfully updated: ${info.originalVersion} → ${info.updatedVersion}.`;
9
+ export async function handleUpdate(args) {
10
+ if (args.all) {
11
+ try {
12
+ const updateInfos = await updateAllUpdatableExtensions();
13
+ if (updateInfos.length === 0) {
14
+ console.log('No extensions to update.');
15
+ return;
16
+ }
17
+ console.log(updateInfos.map((info) => updateOutput(info)).join('\n'));
18
+ }
19
+ catch (error) {
20
+ console.error(getErrorMessage(error));
21
+ }
22
+ return;
23
+ }
24
+ if (args.name)
25
+ try {
26
+ // TODO(chrstnb): we should list extensions if the requested extension is not installed.
27
+ const updatedExtensionInfo = await updateExtensionByName(args.name);
28
+ console.log(`Extension "${args.name}" successfully updated: ${updatedExtensionInfo.originalVersion} → ${updatedExtensionInfo.updatedVersion}.`);
29
+ }
30
+ catch (error) {
31
+ console.error(getErrorMessage(error));
32
+ }
33
+ }
34
+ export const updateCommand = {
35
+ command: 'update [--all] [name]',
36
+ describe: 'Updates all extensions or a named extension to the latest version.',
37
+ builder: (yargs) => yargs
38
+ .positional('name', {
39
+ describe: 'The name of the extension to update.',
40
+ type: 'string',
41
+ })
42
+ .option('all', {
43
+ describe: 'Update all extensions.',
44
+ type: 'boolean',
45
+ })
46
+ .conflicts('name', 'all')
47
+ .check((argv) => {
48
+ if (!argv.all && !argv.name) {
49
+ throw new Error('Either an extension name or --all must be provided');
50
+ }
51
+ return true;
52
+ }),
53
+ handler: async (argv) => {
54
+ await handleUpdate({
55
+ name: argv['name'],
56
+ all: argv['all'],
57
+ });
58
+ },
59
+ };
60
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../../src/commands/extensions/update.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,qBAAqB,EACrB,4BAA4B,GAE7B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAOxD,MAAM,YAAY,GAAG,CAAC,IAAyB,EAAE,EAAE,CACjD,cAAc,IAAI,CAAC,IAAI,2BAA2B,IAAI,CAAC,eAAe,MAAM,IAAI,CAAC,cAAc,GAAG,CAAC;AAErG,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAgB;IACjD,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,4BAA4B,EAAE,CAAC;YACzD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACxC,OAAO;YACT,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,IAAI;QACX,IAAI,CAAC;YACH,wFAAwF;YACxF,MAAM,oBAAoB,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpE,OAAO,CAAC,GAAG,CACT,cAAc,IAAI,CAAC,IAAI,2BAA2B,oBAAoB,CAAC,eAAe,MAAM,oBAAoB,CAAC,cAAc,GAAG,CACnI,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAkB;IAC1C,OAAO,EAAE,uBAAuB;IAChC,QAAQ,EACN,oEAAoE;IACtE,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,UAAU,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,sCAAsC;QAChD,IAAI,EAAE,QAAQ;KACf,CAAC;SACD,MAAM,CAAC,KAAK,EAAE;QACb,QAAQ,EAAE,wBAAwB;QAClC,IAAI,EAAE,SAAS;KAChB,CAAC;SACD,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;SACxB,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;QACd,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACN,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACtB,MAAM,YAAY,CAAC;YACjB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAuB;YACxC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAwB;SACxC,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 extensionsCommand: CommandModule;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { installCommand } from './extensions/install.js';
7
+ import { uninstallCommand } from './extensions/uninstall.js';
8
+ import { listCommand } from './extensions/list.js';
9
+ import { updateCommand } from './extensions/update.js';
10
+ import { disableCommand } from './extensions/disable.js';
11
+ import { enableCommand } from './extensions/enable.js';
12
+ export const extensionsCommand = {
13
+ command: 'extensions <command>',
14
+ describe: 'Manage Gemini CLI extensions.',
15
+ builder: (yargs) => yargs
16
+ .command(installCommand)
17
+ .command(uninstallCommand)
18
+ .command(listCommand)
19
+ .command(updateCommand)
20
+ .command(disableCommand)
21
+ .command(enableCommand)
22
+ .demandCommand(1, 'You need at least one command before continuing.')
23
+ .version(false),
24
+ handler: () => {
25
+ // This handler is not called when a subcommand is provided.
26
+ // Yargs will show the help menu.
27
+ },
28
+ };
29
+ //# sourceMappingURL=extensions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../../src/commands/extensions.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,GAAkB;IAC9C,OAAO,EAAE,sBAAsB;IAC/B,QAAQ,EAAE,+BAA+B;IACzC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CACjB,KAAK;SACF,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,gBAAgB,CAAC;SACzB,OAAO,CAAC,WAAW,CAAC;SACpB,OAAO,CAAC,aAAa,CAAC;SACtB,OAAO,CAAC,cAAc,CAAC;SACvB,OAAO,CAAC,aAAa,CAAC;SACtB,aAAa,CAAC,CAAC,EAAE,kDAAkD,CAAC;SACpE,OAAO,CAAC,KAAK,CAAC;IACnB,OAAO,EAAE,GAAG,EAAE;QACZ,4DAA4D;QAC5D,iCAAiC;IACnC,CAAC;CACF,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { loadSettings } from '../../config/settings.js';
7
- import { MCPServerStatus, createTransport, } from '@machina.ai/cell-cli-core';
7
+ import { MCPServerStatus, createTransport } from '@machina.ai/cell-cli-core';
8
8
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
9
9
  import { loadExtensions } from '../../config/extension.js';
10
10
  const COLOR_GREEN = '\u001b[32m';
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/mcp/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/mcp/list.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { AuthType } from '@machina.ai/cell-cli-core';
7
- import { loadEnvironment } from './settings.js';
7
+ import { loadEnvironment, loadSettings } from './settings.js';
8
8
  export const validateAuthMethod = (authMethod) => {
9
- loadEnvironment();
9
+ loadEnvironment(loadSettings(process.cwd()).merged);
10
10
  if (authMethod === AuthType.KEYCLOAK) {
11
11
  return null;
12
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACtE,eAAe,EAAE,CAAC;IAClB,IAAI,UAAU,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,OAAO,6HAA6H,CAAC;QACvI,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACtE,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,UAAU,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACnC,OAAO,6HAA6H,CAAC;QACvI,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,+BAA+B,CAAC;AACzC,CAAC,CAAC"}
@@ -8,15 +8,16 @@ import { vi } from 'vitest';
8
8
  import { validateAuthMethod } from './auth.js';
9
9
  vi.mock('./settings.js', () => ({
10
10
  loadEnvironment: vi.fn(),
11
+ loadSettings: vi.fn().mockReturnValue({
12
+ merged: vi.fn().mockReturnValue({}),
13
+ }),
11
14
  }));
12
15
  describe('validateAuthMethod', () => {
13
- const originalEnv = process.env;
14
16
  beforeEach(() => {
15
17
  vi.resetModules();
16
- process.env = {};
17
18
  });
18
19
  afterEach(() => {
19
- process.env = originalEnv;
20
+ vi.unstubAllEnvs();
20
21
  });
21
22
  it('should return null for KEYCLOAK', () => {
22
23
  expect(validateAuthMethod(AuthType.KEYCLOAK)).toBeNull();