@google/gemini-cli 0.25.0-preview.0 → 0.26.0-nightly.20260119.20580d754

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 (319) hide show
  1. package/dist/google-gemini-cli-0.26.0-nightly.20260115.6cb3ae4e0.tgz +0 -0
  2. package/dist/package.json +4 -3
  3. package/dist/src/commands/extensions/configure.js +8 -1
  4. package/dist/src/commands/extensions/configure.js.map +1 -1
  5. package/dist/src/commands/hooks/migrate.js +1 -1
  6. package/dist/src/commands/hooks/migrate.js.map +1 -1
  7. package/dist/src/commands/mcp/list.js +2 -2
  8. package/dist/src/commands/mcp/list.js.map +1 -1
  9. package/dist/src/commands/mcp/list.test.js +25 -8
  10. package/dist/src/commands/mcp/list.test.js.map +1 -1
  11. package/dist/src/commands/skills/disable.js +6 -4
  12. package/dist/src/commands/skills/disable.js.map +1 -1
  13. package/dist/src/commands/skills/disable.test.js +16 -0
  14. package/dist/src/commands/skills/disable.test.js.map +1 -1
  15. package/dist/src/commands/skills/enable.test.js +3 -3
  16. package/dist/src/commands/skills/enable.test.js.map +1 -1
  17. package/dist/src/commands/skills/install.d.ts +1 -0
  18. package/dist/src/commands/skills/install.js +17 -2
  19. package/dist/src/commands/skills/install.js.map +1 -1
  20. package/dist/src/commands/skills/install.test.js +43 -5
  21. package/dist/src/commands/skills/install.test.js.map +1 -1
  22. package/dist/src/config/config.d.ts +3 -3
  23. package/dist/src/config/config.integration.test.js +3 -2
  24. package/dist/src/config/config.integration.test.js.map +1 -1
  25. package/dist/src/config/config.js +37 -26
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/config/config.test.js +361 -280
  28. package/dist/src/config/config.test.js.map +1 -1
  29. package/dist/src/config/extension-manager-agents.test.js +3 -4
  30. package/dist/src/config/extension-manager-agents.test.js.map +1 -1
  31. package/dist/src/config/extension-manager-scope.test.js +13 -15
  32. package/dist/src/config/extension-manager-scope.test.js.map +1 -1
  33. package/dist/src/config/extension-manager-skills.test.js +5 -7
  34. package/dist/src/config/extension-manager-skills.test.js.map +1 -1
  35. package/dist/src/config/extension-manager.d.ts +2 -2
  36. package/dist/src/config/extension-manager.js +16 -11
  37. package/dist/src/config/extension-manager.js.map +1 -1
  38. package/dist/src/config/extension.test.js +13 -21
  39. package/dist/src/config/extension.test.js.map +1 -1
  40. package/dist/src/config/extensions/consent.d.ts +4 -0
  41. package/dist/src/config/extensions/consent.js +40 -16
  42. package/dist/src/config/extensions/consent.js.map +1 -1
  43. package/dist/src/config/extensions/consent.test.js +31 -7
  44. package/dist/src/config/extensions/consent.test.js.map +1 -1
  45. package/dist/src/config/extensions/extensionUpdates.test.js +5 -2
  46. package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -1
  47. package/dist/src/config/keyBindings.d.ts +58 -59
  48. package/dist/src/config/keyBindings.js +131 -135
  49. package/dist/src/config/keyBindings.js.map +1 -1
  50. package/dist/src/config/keyBindings.test.js +3 -8
  51. package/dist/src/config/keyBindings.test.js.map +1 -1
  52. package/dist/src/config/policy-engine.integration.test.js +15 -0
  53. package/dist/src/config/policy-engine.integration.test.js.map +1 -1
  54. package/dist/src/config/settings.d.ts +24 -6
  55. package/dist/src/config/settings.js +150 -6
  56. package/dist/src/config/settings.js.map +1 -1
  57. package/dist/src/config/settings.test.js +258 -3
  58. package/dist/src/config/settings.test.js.map +1 -1
  59. package/dist/src/config/settingsSchema.d.ts +53 -20
  60. package/dist/src/config/settingsSchema.js +48 -22
  61. package/dist/src/config/settingsSchema.js.map +1 -1
  62. package/dist/src/config/settingsSchema.test.js +22 -2
  63. package/dist/src/config/settingsSchema.test.js.map +1 -1
  64. package/dist/src/config/skills-backward-compatibility.test.js +99 -0
  65. package/dist/src/config/skills-backward-compatibility.test.js.map +1 -0
  66. package/dist/src/core/initializer.js +2 -2
  67. package/dist/src/core/initializer.js.map +1 -1
  68. package/dist/src/core/initializer.test.js.map +1 -1
  69. package/dist/src/core/theme.js +1 -1
  70. package/dist/src/core/theme.js.map +1 -1
  71. package/dist/src/core/theme.test.js.map +1 -1
  72. package/dist/src/gemini.js +51 -19
  73. package/dist/src/gemini.js.map +1 -1
  74. package/dist/src/gemini.test.js +48 -61
  75. package/dist/src/gemini.test.js.map +1 -1
  76. package/dist/src/generated/git-commit.d.ts +2 -2
  77. package/dist/src/generated/git-commit.js +2 -2
  78. package/dist/src/generated/git-commit.js.map +1 -1
  79. package/dist/src/nonInteractiveCli.d.ts +1 -2
  80. package/dist/src/nonInteractiveCli.js +1 -16
  81. package/dist/src/nonInteractiveCli.js.map +1 -1
  82. package/dist/src/nonInteractiveCli.test.js +0 -39
  83. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  84. package/dist/src/test-utils/mockCommandContext.js +7 -1
  85. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  86. package/dist/src/test-utils/render.js +2 -0
  87. package/dist/src/test-utils/render.js.map +1 -1
  88. package/dist/src/ui/App.test.js +2 -2
  89. package/dist/src/ui/App.test.js.map +1 -1
  90. package/dist/src/ui/AppContainer.js +41 -35
  91. package/dist/src/ui/AppContainer.js.map +1 -1
  92. package/dist/src/ui/AppContainer.test.js +33 -22
  93. package/dist/src/ui/AppContainer.test.js.map +1 -1
  94. package/dist/src/ui/auth/ApiAuthDialog.test.js +0 -1
  95. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
  96. package/dist/src/ui/auth/AuthDialog.js +5 -5
  97. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  98. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  99. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +0 -2
  100. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -1
  101. package/dist/src/ui/auth/useAuth.js +3 -3
  102. package/dist/src/ui/auth/useAuth.js.map +1 -1
  103. package/dist/src/ui/commands/aboutCommand.js +1 -1
  104. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  105. package/dist/src/ui/commands/agentsCommand.js +158 -1
  106. package/dist/src/ui/commands/agentsCommand.js.map +1 -1
  107. package/dist/src/ui/commands/agentsCommand.test.js +140 -1
  108. package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
  109. package/dist/src/ui/commands/hooksCommand.js +23 -23
  110. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  111. package/dist/src/ui/commands/hooksCommand.test.js +12 -15
  112. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  113. package/dist/src/ui/commands/policiesCommand.js +3 -0
  114. package/dist/src/ui/commands/policiesCommand.js.map +1 -1
  115. package/dist/src/ui/commands/policiesCommand.test.js +2 -1
  116. package/dist/src/ui/commands/policiesCommand.test.js.map +1 -1
  117. package/dist/src/ui/commands/skillsCommand.test.js +14 -7
  118. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  119. package/dist/src/ui/components/AdminSettingsChangedDialog.d.ts +6 -0
  120. package/dist/src/ui/components/AdminSettingsChangedDialog.js +22 -0
  121. package/dist/src/ui/components/AdminSettingsChangedDialog.js.map +1 -0
  122. package/dist/src/ui/components/AdminSettingsChangedDialog.test.d.ts +6 -0
  123. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +43 -0
  124. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +1 -0
  125. package/dist/src/ui/components/AppHeader.js +1 -1
  126. package/dist/src/ui/components/AppHeader.js.map +1 -1
  127. package/dist/src/ui/components/Composer.js +4 -6
  128. package/dist/src/ui/components/Composer.js.map +1 -1
  129. package/dist/src/ui/components/Composer.test.js +17 -9
  130. package/dist/src/ui/components/Composer.test.js.map +1 -1
  131. package/dist/src/ui/components/DialogManager.js +4 -4
  132. package/dist/src/ui/components/DialogManager.js.map +1 -1
  133. package/dist/src/ui/components/DialogManager.test.js +0 -14
  134. package/dist/src/ui/components/DialogManager.test.js.map +1 -1
  135. package/dist/src/ui/components/EditorSettingsDialog.js +3 -3
  136. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  137. package/dist/src/ui/components/Footer.js +5 -5
  138. package/dist/src/ui/components/Footer.js.map +1 -1
  139. package/dist/src/ui/components/Help.js +2 -1
  140. package/dist/src/ui/components/Help.js.map +1 -1
  141. package/dist/src/ui/components/HistoryItemDisplay.test.js +1 -0
  142. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  143. package/dist/src/ui/components/InputPrompt.js +6 -9
  144. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  145. package/dist/src/ui/components/InputPrompt.test.js +8 -14
  146. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  147. package/dist/src/ui/components/MultiFolderTrustDialog.test.js +0 -1
  148. package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
  149. package/dist/src/ui/components/RewindConfirmation.d.ts +21 -0
  150. package/dist/src/ui/components/RewindConfirmation.js +63 -0
  151. package/dist/src/ui/components/RewindConfirmation.js.map +1 -0
  152. package/dist/src/ui/components/RewindConfirmation.test.d.ts +6 -0
  153. package/dist/src/ui/components/RewindConfirmation.test.js +53 -0
  154. package/dist/src/ui/components/RewindConfirmation.test.js.map +1 -0
  155. package/dist/src/ui/components/RewindViewer.d.ts +15 -0
  156. package/dist/src/ui/components/RewindViewer.js +79 -0
  157. package/dist/src/ui/components/RewindViewer.js.map +1 -0
  158. package/dist/src/ui/components/RewindViewer.test.d.ts +6 -0
  159. package/dist/src/ui/components/RewindViewer.test.js +239 -0
  160. package/dist/src/ui/components/RewindViewer.test.js.map +1 -0
  161. package/dist/src/ui/components/SessionBrowser.test.js +0 -1
  162. package/dist/src/ui/components/SessionBrowser.test.js.map +1 -1
  163. package/dist/src/ui/components/SettingsDialog.js +4 -4
  164. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  165. package/dist/src/ui/components/SettingsDialog.test.js +14 -14
  166. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  167. package/dist/src/ui/components/StatusDisplay.js +3 -4
  168. package/dist/src/ui/components/StatusDisplay.js.map +1 -1
  169. package/dist/src/ui/components/ThemeDialog.js +2 -2
  170. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  171. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +8 -3
  172. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  173. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +18 -0
  174. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  175. package/dist/src/ui/components/shared/TextInput.test.js +0 -8
  176. package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
  177. package/dist/src/ui/components/shared/performance.test.d.ts +1 -0
  178. package/dist/src/ui/components/shared/performance.test.js +67 -0
  179. package/dist/src/ui/components/shared/performance.test.js.map +1 -0
  180. package/dist/src/ui/components/shared/text-buffer.d.ts +1 -0
  181. package/dist/src/ui/components/shared/text-buffer.js +80 -54
  182. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  183. package/dist/src/ui/components/shared/text-buffer.test.js +97 -21
  184. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  185. package/dist/src/ui/constants/tips.js +150 -150
  186. package/dist/src/ui/constants/tips.js.map +1 -1
  187. package/dist/src/ui/constants/wittyPhrases.js +118 -118
  188. package/dist/src/ui/constants/wittyPhrases.js.map +1 -1
  189. package/dist/src/ui/constants.d.ts +2 -0
  190. package/dist/src/ui/constants.js +2 -0
  191. package/dist/src/ui/constants.js.map +1 -1
  192. package/dist/src/ui/contexts/KeypressContext.d.ts +0 -1
  193. package/dist/src/ui/contexts/KeypressContext.js +2 -6
  194. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  195. package/dist/src/ui/contexts/KeypressContext.test.js +2 -10
  196. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  197. package/dist/src/ui/contexts/UIActionsContext.d.ts +1 -0
  198. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  199. package/dist/src/ui/contexts/UIStateContext.d.ts +2 -2
  200. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  201. package/dist/src/ui/contexts/VimModeContext.js +3 -3
  202. package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
  203. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -5
  204. package/dist/src/ui/hooks/slashCommandProcessor.js +42 -11
  205. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  206. package/dist/src/ui/hooks/slashCommandProcessor.test.js +1 -144
  207. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  208. package/dist/src/ui/hooks/useAlternateBuffer.js +1 -1
  209. package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
  210. package/dist/src/ui/hooks/useAtCompletion.js +21 -1
  211. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  212. package/dist/src/ui/hooks/useAtCompletion.test.js +4 -4
  213. package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
  214. package/dist/src/ui/hooks/useAtCompletion_agents.test.js +2 -0
  215. package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +1 -1
  216. package/dist/src/ui/hooks/useFolderTrust.js +1 -1
  217. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  218. package/dist/src/ui/hooks/useGeminiStream.js +17 -5
  219. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  220. package/dist/src/ui/hooks/useGeminiStream.test.js +103 -1
  221. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  222. package/dist/src/ui/hooks/useKeypress.test.js +11 -13
  223. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
  224. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +1 -1
  225. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -1
  226. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
  227. package/dist/src/ui/hooks/useReactToolScheduler.js +1 -1
  228. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  229. package/dist/src/ui/hooks/useSelectionList.test.js +0 -3
  230. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  231. package/dist/src/ui/hooks/useShowMemoryCommand.js +1 -1
  232. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -1
  233. package/dist/src/ui/hooks/useThemeCommand.js +4 -4
  234. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  235. package/dist/src/ui/hooks/useToolScheduler.test.js +62 -46
  236. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  237. package/dist/src/ui/hooks/vim.js +0 -1
  238. package/dist/src/ui/hooks/vim.js.map +1 -1
  239. package/dist/src/ui/hooks/vim.test.js +0 -1
  240. package/dist/src/ui/hooks/vim.test.js.map +1 -1
  241. package/dist/src/ui/keyMatchers.js +1 -16
  242. package/dist/src/ui/keyMatchers.js.map +1 -1
  243. package/dist/src/ui/keyMatchers.test.js +2 -14
  244. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  245. package/dist/src/ui/types.d.ts +1 -5
  246. package/dist/src/ui/types.js.map +1 -1
  247. package/dist/src/ui/utils/CodeColorizer.js +1 -1
  248. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  249. package/dist/src/ui/utils/commandUtils.js +31 -6
  250. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  251. package/dist/src/ui/utils/commandUtils.test.js +71 -10
  252. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  253. package/dist/src/ui/utils/formatters.d.ts +9 -0
  254. package/dist/src/ui/utils/formatters.js +26 -0
  255. package/dist/src/ui/utils/formatters.js.map +1 -1
  256. package/dist/src/ui/utils/formatters.test.js +70 -2
  257. package/dist/src/ui/utils/formatters.test.js.map +1 -1
  258. package/dist/src/ui/utils/highlight.js +18 -1
  259. package/dist/src/ui/utils/highlight.js.map +1 -1
  260. package/dist/src/ui/utils/highlight.test.js +2 -2
  261. package/dist/src/ui/utils/highlight.test.js.map +1 -1
  262. package/dist/src/ui/utils/textUtils.d.ts +0 -1
  263. package/dist/src/ui/utils/textUtils.js +17 -12
  264. package/dist/src/ui/utils/textUtils.js.map +1 -1
  265. package/dist/src/ui/utils/textUtils.test.js +1 -0
  266. package/dist/src/ui/utils/textUtils.test.js.map +1 -1
  267. package/dist/src/ui/utils/ui-sizing.js +1 -1
  268. package/dist/src/ui/utils/ui-sizing.js.map +1 -1
  269. package/dist/src/ui/utils/updateCheck.js +1 -1
  270. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  271. package/dist/src/ui/utils/updateCheck.test.js +3 -3
  272. package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
  273. package/dist/src/utils/agentSettings.d.ts +31 -0
  274. package/dist/src/utils/agentSettings.js +103 -0
  275. package/dist/src/utils/agentSettings.js.map +1 -0
  276. package/dist/src/utils/agentUtils.d.ts +15 -0
  277. package/dist/src/utils/agentUtils.js +50 -0
  278. package/dist/src/utils/agentUtils.js.map +1 -0
  279. package/dist/src/utils/agentUtils.test.d.ts +6 -0
  280. package/dist/src/utils/agentUtils.test.js +121 -0
  281. package/dist/src/utils/agentUtils.test.js.map +1 -0
  282. package/dist/src/utils/handleAutoUpdate.js +4 -4
  283. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  284. package/dist/src/utils/handleAutoUpdate.test.js +8 -4
  285. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  286. package/dist/src/utils/installationInfo.d.ts +1 -1
  287. package/dist/src/utils/installationInfo.js +13 -13
  288. package/dist/src/utils/installationInfo.js.map +1 -1
  289. package/dist/src/utils/installationInfo.test.js +28 -20
  290. package/dist/src/utils/installationInfo.test.js.map +1 -1
  291. package/dist/src/utils/relaunch.d.ts +2 -1
  292. package/dist/src/utils/relaunch.js +6 -3
  293. package/dist/src/utils/relaunch.js.map +1 -1
  294. package/dist/src/utils/settingsUtils.d.ts +7 -0
  295. package/dist/src/utils/settingsUtils.js +17 -0
  296. package/dist/src/utils/settingsUtils.js.map +1 -1
  297. package/dist/src/utils/settingsUtils.test.js +33 -33
  298. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  299. package/dist/src/utils/skillUtils.d.ts +2 -1
  300. package/dist/src/utils/skillUtils.js +58 -56
  301. package/dist/src/utils/skillUtils.js.map +1 -1
  302. package/dist/src/utils/skillUtils.test.js +13 -0
  303. package/dist/src/utils/skillUtils.test.js.map +1 -1
  304. package/dist/src/utils/terminalTheme.js +4 -4
  305. package/dist/src/utils/terminalTheme.js.map +1 -1
  306. package/dist/src/validateNonInterActiveAuth.js +1 -1
  307. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  308. package/dist/src/validateNonInterActiveAuth.test.js +2 -4
  309. package/dist/src/validateNonInterActiveAuth.test.js.map +1 -1
  310. package/dist/src/zed-integration/zedIntegration.js +8 -3
  311. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  312. package/dist/tsconfig.tsbuildinfo +1 -1
  313. package/package.json +5 -4
  314. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +0 -15
  315. package/dist/src/ui/components/ShellConfirmationDialog.js +0 -49
  316. package/dist/src/ui/components/ShellConfirmationDialog.js.map +0 -1
  317. package/dist/src/ui/components/ShellConfirmationDialog.test.js +0 -40
  318. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +0 -1
  319. /package/dist/src/{ui/components/ShellConfirmationDialog.test.d.ts → config/skills-backward-compatibility.test.d.ts} +0 -0
@@ -5,6 +5,9 @@
5
5
  */
6
6
  import { CommandKind } from './types.js';
7
7
  import { MessageType } from '../types.js';
8
+ import { SettingScope } from '../../config/settings.js';
9
+ import { disableAgent, enableAgent } from '../../utils/agentSettings.js';
10
+ import { renderAgentActionFeedback } from '../../utils/agentUtils.js';
8
11
  const agentsListCommand = {
9
12
  name: 'list',
10
13
  description: 'List available local and remote agents',
@@ -41,6 +44,155 @@ const agentsListCommand = {
41
44
  return;
42
45
  },
43
46
  };
47
+ async function enableAction(context, args) {
48
+ const { config, settings } = context.services;
49
+ if (!config)
50
+ return;
51
+ const agentName = args.trim();
52
+ if (!agentName) {
53
+ return {
54
+ type: 'message',
55
+ messageType: 'error',
56
+ content: 'Usage: /agents enable <agent-name>',
57
+ };
58
+ }
59
+ const agentRegistry = config.getAgentRegistry();
60
+ if (!agentRegistry) {
61
+ return {
62
+ type: 'message',
63
+ messageType: 'error',
64
+ content: 'Agent registry not found.',
65
+ };
66
+ }
67
+ const allAgents = agentRegistry.getAllAgentNames();
68
+ const overrides = settings.merged.agents.overrides;
69
+ const disabledAgents = Object.keys(overrides).filter((name) => overrides[name]?.disabled === true);
70
+ if (allAgents.includes(agentName)) {
71
+ return {
72
+ type: 'message',
73
+ messageType: 'info',
74
+ content: `Agent '${agentName}' is already enabled.`,
75
+ };
76
+ }
77
+ if (!disabledAgents.includes(agentName)) {
78
+ return {
79
+ type: 'message',
80
+ messageType: 'error',
81
+ content: `Agent '${agentName}' not found.`,
82
+ };
83
+ }
84
+ const result = enableAgent(settings, agentName);
85
+ if (result.status === 'no-op') {
86
+ return {
87
+ type: 'message',
88
+ messageType: 'info',
89
+ content: renderAgentActionFeedback(result, (l, p) => `${l} (${p})`),
90
+ };
91
+ }
92
+ context.ui.addItem({
93
+ type: MessageType.INFO,
94
+ text: `Enabling ${agentName}...`,
95
+ });
96
+ await agentRegistry.reload();
97
+ return {
98
+ type: 'message',
99
+ messageType: 'info',
100
+ content: renderAgentActionFeedback(result, (l, p) => `${l} (${p})`),
101
+ };
102
+ }
103
+ async function disableAction(context, args) {
104
+ const { config, settings } = context.services;
105
+ if (!config)
106
+ return;
107
+ const agentName = args.trim();
108
+ if (!agentName) {
109
+ return {
110
+ type: 'message',
111
+ messageType: 'error',
112
+ content: 'Usage: /agents disable <agent-name>',
113
+ };
114
+ }
115
+ const agentRegistry = config.getAgentRegistry();
116
+ if (!agentRegistry) {
117
+ return {
118
+ type: 'message',
119
+ messageType: 'error',
120
+ content: 'Agent registry not found.',
121
+ };
122
+ }
123
+ const allAgents = agentRegistry.getAllAgentNames();
124
+ const overrides = settings.merged.agents.overrides;
125
+ const disabledAgents = Object.keys(overrides).filter((name) => overrides[name]?.disabled === true);
126
+ if (disabledAgents.includes(agentName)) {
127
+ return {
128
+ type: 'message',
129
+ messageType: 'info',
130
+ content: `Agent '${agentName}' is already disabled.`,
131
+ };
132
+ }
133
+ if (!allAgents.includes(agentName)) {
134
+ return {
135
+ type: 'message',
136
+ messageType: 'error',
137
+ content: `Agent '${agentName}' not found.`,
138
+ };
139
+ }
140
+ const scope = context.services.settings.workspace.path
141
+ ? SettingScope.Workspace
142
+ : SettingScope.User;
143
+ const result = disableAgent(settings, agentName, scope);
144
+ if (result.status === 'no-op') {
145
+ return {
146
+ type: 'message',
147
+ messageType: 'info',
148
+ content: renderAgentActionFeedback(result, (l, p) => `${l} (${p})`),
149
+ };
150
+ }
151
+ context.ui.addItem({
152
+ type: MessageType.INFO,
153
+ text: `Disabling ${agentName}...`,
154
+ });
155
+ await agentRegistry.reload();
156
+ return {
157
+ type: 'message',
158
+ messageType: 'info',
159
+ content: renderAgentActionFeedback(result, (l, p) => `${l} (${p})`),
160
+ };
161
+ }
162
+ function completeAgentsToEnable(context, partialArg) {
163
+ const { config, settings } = context.services;
164
+ if (!config)
165
+ return [];
166
+ const overrides = settings.merged.agents.overrides;
167
+ const disabledAgents = Object.entries(overrides)
168
+ .filter(([_, override]) => override?.disabled === true)
169
+ .map(([name]) => name);
170
+ return disabledAgents.filter((name) => name.startsWith(partialArg));
171
+ }
172
+ function completeAgentsToDisable(context, partialArg) {
173
+ const { config } = context.services;
174
+ if (!config)
175
+ return [];
176
+ const agentRegistry = config.getAgentRegistry();
177
+ const allAgents = agentRegistry ? agentRegistry.getAllAgentNames() : [];
178
+ return allAgents.filter((name) => name.startsWith(partialArg));
179
+ }
180
+ const enableCommand = {
181
+ name: 'enable',
182
+ description: 'Enable a disabled agent',
183
+ kind: CommandKind.BUILT_IN,
184
+ autoExecute: false,
185
+ action: enableAction,
186
+ completion: completeAgentsToEnable,
187
+ };
188
+ const disableCommand = {
189
+ name: 'disable',
190
+ description: 'Disable an enabled agent',
191
+ kind: CommandKind.BUILT_IN,
192
+ autoExecute: false,
193
+ action: disableAction,
194
+ completion: completeAgentsToDisable,
195
+ };
44
196
  const agentsRefreshCommand = {
45
197
  name: 'refresh',
46
198
  description: 'Reload the agent registry',
@@ -71,7 +223,12 @@ export const agentsCommand = {
71
223
  name: 'agents',
72
224
  description: 'Manage agents',
73
225
  kind: CommandKind.BUILT_IN,
74
- subCommands: [agentsListCommand, agentsRefreshCommand],
226
+ subCommands: [
227
+ agentsListCommand,
228
+ agentsRefreshCommand,
229
+ enableCommand,
230
+ disableCommand,
231
+ ],
75
232
  action: async (context, args) =>
76
233
  // Default to list if no subcommand is provided
77
234
  agentsListCommand.action(context, args),
@@ -1 +1 @@
1
- {"version":3,"file":"agentsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/agentsCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAA8B,MAAM,aAAa,CAAC;AAEtE,MAAM,iBAAiB,GAAiB;IACtC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,wCAAwC;IACrD,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,oBAAoB;aAC9B,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAChD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,2BAA2B;aACrC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC7D,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC,CAAC;QAEJ,MAAM,cAAc,GAA0B;YAC5C,IAAI,EAAE,WAAW,CAAC,WAAW;YAC7B,MAAM;SACP,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAEnC,OAAO;IACT,CAAC;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAiB;IACzC,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,2BAA2B;IACxC,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,EAAE;QACxC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpC,MAAM,aAAa,GAAG,MAAM,EAAE,gBAAgB,EAAE,CAAC;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,2BAA2B;aACrC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC;YACjB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC;QAEH,MAAM,aAAa,CAAC,MAAM,EAAE,CAAC;QAE7B,OAAO;YACL,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,gCAAgC;SAC1C,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,eAAe;IAC5B,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACtD,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAE,IAAI,EAAE,EAAE;IAC9C,+CAA+C;IAC/C,iBAAiB,CAAC,MAAO,CAAC,OAAO,EAAE,IAAI,CAAC;CAC3C,CAAC"}
1
+ {"version":3,"file":"agentsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/agentsCommand.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,15 @@ import { vi, describe, it, expect, beforeEach } from 'vitest';
7
7
  import { agentsCommand } from './agentsCommand.js';
8
8
  import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
9
9
  import { MessageType } from '../types.js';
10
+ import { enableAgent, disableAgent } from '../../utils/agentSettings.js';
11
+ import { renderAgentActionFeedback } from '../../utils/agentUtils.js';
12
+ vi.mock('../../utils/agentSettings.js', () => ({
13
+ enableAgent: vi.fn(),
14
+ disableAgent: vi.fn(),
15
+ }));
16
+ vi.mock('../../utils/agentUtils.js', () => ({
17
+ renderAgentActionFeedback: vi.fn(),
18
+ }));
10
19
  describe('agentsCommand', () => {
11
20
  let mockContext;
12
21
  let mockConfig;
@@ -15,11 +24,17 @@ describe('agentsCommand', () => {
15
24
  mockConfig = {
16
25
  getAgentRegistry: vi.fn().mockReturnValue({
17
26
  getAllDefinitions: vi.fn().mockReturnValue([]),
27
+ getAllAgentNames: vi.fn().mockReturnValue([]),
28
+ reload: vi.fn(),
18
29
  }),
19
30
  };
20
31
  mockContext = createMockCommandContext({
21
32
  services: {
22
33
  config: mockConfig,
34
+ settings: {
35
+ workspace: { path: '/mock/path' },
36
+ merged: { agents: { overrides: {} } },
37
+ },
23
38
  },
24
39
  });
25
40
  });
@@ -53,7 +68,12 @@ describe('agentsCommand', () => {
53
68
  description: 'desc1',
54
69
  kind: 'local',
55
70
  },
56
- { name: 'agent2', description: 'desc2', kind: 'remote' },
71
+ {
72
+ name: 'agent2',
73
+ displayName: undefined,
74
+ description: 'desc2',
75
+ kind: 'remote',
76
+ },
57
77
  ];
58
78
  mockConfig.getAgentRegistry().getAllDefinitions.mockReturnValue(mockAgents);
59
79
  await agentsCommand.action(mockContext, '');
@@ -87,5 +107,124 @@ describe('agentsCommand', () => {
87
107
  content: 'Agent registry not found.',
88
108
  });
89
109
  });
110
+ it('should enable an agent successfully', async () => {
111
+ const reloadSpy = vi.fn().mockResolvedValue(undefined);
112
+ mockConfig.getAgentRegistry = vi.fn().mockReturnValue({
113
+ getAllAgentNames: vi.fn().mockReturnValue([]),
114
+ reload: reloadSpy,
115
+ });
116
+ // Add agent to disabled overrides so validation passes
117
+ mockContext.services.settings.merged.agents.overrides['test-agent'] = {
118
+ disabled: true,
119
+ };
120
+ vi.mocked(enableAgent).mockReturnValue({
121
+ status: 'success',
122
+ agentName: 'test-agent',
123
+ action: 'enable',
124
+ modifiedScopes: [],
125
+ alreadyInStateScopes: [],
126
+ });
127
+ vi.mocked(renderAgentActionFeedback).mockReturnValue('Enabled test-agent.');
128
+ const enableCommand = agentsCommand.subCommands?.find((cmd) => cmd.name === 'enable');
129
+ expect(enableCommand).toBeDefined();
130
+ const result = await enableCommand.action(mockContext, 'test-agent');
131
+ expect(enableAgent).toHaveBeenCalledWith(mockContext.services.settings, 'test-agent');
132
+ expect(reloadSpy).toHaveBeenCalled();
133
+ expect(mockContext.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
134
+ type: MessageType.INFO,
135
+ text: 'Enabling test-agent...',
136
+ }));
137
+ expect(result).toEqual({
138
+ type: 'message',
139
+ messageType: 'info',
140
+ content: 'Enabled test-agent.',
141
+ });
142
+ });
143
+ it('should handle no-op when enabling an agent', async () => {
144
+ mockConfig
145
+ .getAgentRegistry()
146
+ .getAllAgentNames.mockReturnValue(['test-agent']);
147
+ const enableCommand = agentsCommand.subCommands?.find((cmd) => cmd.name === 'enable');
148
+ const result = await enableCommand.action(mockContext, 'test-agent');
149
+ expect(enableAgent).not.toHaveBeenCalled();
150
+ expect(mockContext.ui.addItem).not.toHaveBeenCalled();
151
+ expect(result).toEqual({
152
+ type: 'message',
153
+ messageType: 'info',
154
+ content: "Agent 'test-agent' is already enabled.",
155
+ });
156
+ });
157
+ it('should show usage error if no agent name provided for enable', async () => {
158
+ const enableCommand = agentsCommand.subCommands?.find((cmd) => cmd.name === 'enable');
159
+ const result = await enableCommand.action(mockContext, ' ');
160
+ expect(result).toEqual({
161
+ type: 'message',
162
+ messageType: 'error',
163
+ content: 'Usage: /agents enable <agent-name>',
164
+ });
165
+ });
166
+ it('should disable an agent successfully', async () => {
167
+ const reloadSpy = vi.fn().mockResolvedValue(undefined);
168
+ mockConfig.getAgentRegistry = vi.fn().mockReturnValue({
169
+ getAllAgentNames: vi.fn().mockReturnValue(['test-agent']),
170
+ reload: reloadSpy,
171
+ });
172
+ vi.mocked(disableAgent).mockReturnValue({
173
+ status: 'success',
174
+ agentName: 'test-agent',
175
+ action: 'disable',
176
+ modifiedScopes: [],
177
+ alreadyInStateScopes: [],
178
+ });
179
+ vi.mocked(renderAgentActionFeedback).mockReturnValue('Disabled test-agent.');
180
+ const disableCommand = agentsCommand.subCommands?.find((cmd) => cmd.name === 'disable');
181
+ expect(disableCommand).toBeDefined();
182
+ const result = await disableCommand.action(mockContext, 'test-agent');
183
+ expect(disableAgent).toHaveBeenCalledWith(mockContext.services.settings, 'test-agent', expect.anything());
184
+ expect(reloadSpy).toHaveBeenCalled();
185
+ expect(mockContext.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
186
+ type: MessageType.INFO,
187
+ text: 'Disabling test-agent...',
188
+ }));
189
+ expect(result).toEqual({
190
+ type: 'message',
191
+ messageType: 'info',
192
+ content: 'Disabled test-agent.',
193
+ });
194
+ });
195
+ it('should show info message if agent is already disabled', async () => {
196
+ mockConfig.getAgentRegistry().getAllAgentNames.mockReturnValue([]);
197
+ mockContext.services.settings.merged.agents.overrides['test-agent'] = {
198
+ disabled: true,
199
+ };
200
+ const disableCommand = agentsCommand.subCommands?.find((cmd) => cmd.name === 'disable');
201
+ const result = await disableCommand.action(mockContext, 'test-agent');
202
+ expect(disableAgent).not.toHaveBeenCalled();
203
+ expect(result).toEqual({
204
+ type: 'message',
205
+ messageType: 'info',
206
+ content: "Agent 'test-agent' is already disabled.",
207
+ });
208
+ });
209
+ it('should show error if agent is not found when disabling', async () => {
210
+ mockConfig.getAgentRegistry().getAllAgentNames.mockReturnValue([]);
211
+ const disableCommand = agentsCommand.subCommands?.find((cmd) => cmd.name === 'disable');
212
+ const result = await disableCommand.action(mockContext, 'test-agent');
213
+ expect(disableAgent).not.toHaveBeenCalled();
214
+ expect(result).toEqual({
215
+ type: 'message',
216
+ messageType: 'error',
217
+ content: "Agent 'test-agent' not found.",
218
+ });
219
+ });
220
+ it('should show usage error if no agent name provided for disable', async () => {
221
+ const disableCommand = agentsCommand.subCommands?.find((cmd) => cmd.name === 'disable');
222
+ const result = await disableCommand.action(mockContext, '');
223
+ expect(result).toEqual({
224
+ type: 'message',
225
+ messageType: 'error',
226
+ content: 'Usage: /agents disable <agent-name>',
227
+ });
228
+ });
90
229
  });
91
230
  //# sourceMappingURL=agentsCommand.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agentsCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/agentsCommand.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agentsCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/agentsCommand.test.ts"],"names":[],"mappings":"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"}
@@ -57,7 +57,7 @@ async function enableAction(context, args) {
57
57
  }
58
58
  // Get current disabled hooks from settings
59
59
  const settings = context.services.settings;
60
- const disabledHooks = settings.merged.hooks?.disabled || [];
60
+ const disabledHooks = settings.merged.hooks.disabled;
61
61
  // Remove from disabled list if present
62
62
  const newDisabledHooks = disabledHooks.filter((name) => name !== hookName);
63
63
  // Update settings (setValue automatically saves)
@@ -66,6 +66,8 @@ async function enableAction(context, args) {
66
66
  ? SettingScope.Workspace
67
67
  : SettingScope.User;
68
68
  settings.setValue(scope, 'hooks.disabled', newDisabledHooks);
69
+ // Update core config so re-initialization (e.g. extension reload) respects the change
70
+ config.updateDisabledHooks(settings.merged.hooks.disabled);
69
71
  // Enable in hook system
70
72
  hookSystem.setHookEnabled(hookName, true);
71
73
  return {
@@ -112,37 +114,31 @@ async function disableAction(context, args) {
112
114
  }
113
115
  // Get current disabled hooks from settings
114
116
  const settings = context.services.settings;
115
- const disabledHooks = settings.merged.hooks?.disabled || [];
117
+ const disabledHooks = settings.merged.hooks.disabled;
116
118
  // Add to disabled list if not already present
117
- if (!disabledHooks.includes(hookName)) {
118
- const newDisabledHooks = [...disabledHooks, hookName];
119
- // Update settings (setValue automatically saves)
120
- try {
119
+ try {
120
+ if (!disabledHooks.includes(hookName)) {
121
+ const newDisabledHooks = [...disabledHooks, hookName];
121
122
  const scope = settings.workspace
122
123
  ? SettingScope.Workspace
123
124
  : SettingScope.User;
124
125
  settings.setValue(scope, 'hooks.disabled', newDisabledHooks);
125
- // Disable in hook system
126
- hookSystem.setHookEnabled(hookName, false);
127
- return {
128
- type: 'message',
129
- messageType: 'info',
130
- content: `Hook "${hookName}" disabled successfully.`,
131
- };
132
- }
133
- catch (error) {
134
- return {
135
- type: 'message',
136
- messageType: 'error',
137
- content: `Failed to disable hook: ${getErrorMessage(error)}`,
138
- };
139
126
  }
140
- }
141
- else {
127
+ // Update core config so re-initialization (e.g. extension reload) respects the change
128
+ config.updateDisabledHooks(settings.merged.hooks.disabled);
129
+ // Always disable in hook system to ensure in-memory state matches settings
130
+ hookSystem.setHookEnabled(hookName, false);
142
131
  return {
143
132
  type: 'message',
144
133
  messageType: 'info',
145
- content: `Hook "${hookName}" is already disabled.`,
134
+ content: `Hook "${hookName}" disabled successfully.`,
135
+ };
136
+ }
137
+ catch (error) {
138
+ return {
139
+ type: 'message',
140
+ messageType: 'error',
141
+ content: `Failed to disable hook: ${getErrorMessage(error)}`,
146
142
  };
147
143
  }
148
144
  }
@@ -208,6 +204,8 @@ async function enableAllAction(context) {
208
204
  ? SettingScope.Workspace
209
205
  : SettingScope.User;
210
206
  settings.setValue(scope, 'hooks.disabled', []);
207
+ // Update core config so re-initialization (e.g. extension reload) respects the change
208
+ config.updateDisabledHooks(settings.merged.hooks.disabled);
211
209
  for (const hook of disabledHooks) {
212
210
  const hookName = getHookDisplayName(hook);
213
211
  hookSystem.setHookEnabled(hookName, true);
@@ -269,6 +267,8 @@ async function disableAllAction(context) {
269
267
  ? SettingScope.Workspace
270
268
  : SettingScope.User;
271
269
  settings.setValue(scope, 'hooks.disabled', allHookNames);
270
+ // Update core config so re-initialization (e.g. extension reload) respects the change
271
+ config.updateDisabledHooks(settings.merged.hooks.disabled);
272
272
  for (const hook of enabledHooks) {
273
273
  const hookName = getHookDisplayName(hook);
274
274
  hookSystem.setHookEnabled(hookName, false);
@@ -1 +1 @@
1
- {"version":3,"file":"hooksCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/hooksCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooksCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/hooksCommand.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ describe('hooksCommand', () => {
27
27
  mockConfig = {
28
28
  getHookSystem: vi.fn().mockReturnValue(mockHookSystem),
29
29
  getEnableHooks: vi.fn().mockReturnValue(true),
30
+ updateDisabledHooks: vi.fn(),
30
31
  };
31
32
  // Create mock settings
32
33
  mockSettings = {
@@ -182,9 +183,10 @@ describe('hooksCommand', () => {
182
183
  });
183
184
  it('should enable a hook and update settings', async () => {
184
185
  // Update the context's settings with disabled hooks
185
- mockContext.services.settings.merged.hooks = {
186
- disabled: ['test-hook', 'other-hook'],
187
- };
186
+ mockContext.services.settings.merged.hooks.disabled = [
187
+ 'test-hook',
188
+ 'other-hook',
189
+ ];
188
190
  const enableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'enable');
189
191
  if (!enableCmd?.action) {
190
192
  throw new Error('enable command must have an action');
@@ -266,9 +268,7 @@ describe('hooksCommand', () => {
266
268
  });
267
269
  });
268
270
  it('should disable a hook and update settings', async () => {
269
- mockContext.services.settings.merged.hooks = {
270
- disabled: [],
271
- };
271
+ mockContext.services.settings.merged.hooks.disabled = [];
272
272
  const disableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'disable');
273
273
  if (!disableCmd?.action) {
274
274
  throw new Error('disable command must have an action');
@@ -282,28 +282,25 @@ describe('hooksCommand', () => {
282
282
  content: 'Hook "test-hook" disabled successfully.',
283
283
  });
284
284
  });
285
- it('should return info when hook is already disabled', async () => {
285
+ it('should synchronize with hook system even if hook is already in disabled list', async () => {
286
286
  // Update the context's settings with the hook already disabled
287
- mockContext.services.settings.merged.hooks = {
288
- disabled: ['test-hook'],
289
- };
287
+ mockContext.services.settings.merged.hooks.disabled = ['test-hook'];
290
288
  const disableCmd = hooksCommand.subCommands.find((cmd) => cmd.name === 'disable');
291
289
  if (!disableCmd?.action) {
292
290
  throw new Error('disable command must have an action');
293
291
  }
294
292
  const result = await disableCmd.action(mockContext, 'test-hook');
295
293
  expect(mockContext.services.settings.setValue).not.toHaveBeenCalled();
296
- expect(mockHookSystem.setHookEnabled).not.toHaveBeenCalled();
294
+ expect(mockHookSystem.setHookEnabled).toHaveBeenCalledWith('test-hook', false);
295
+ expect(mockConfig.updateDisabledHooks).toHaveBeenCalled();
297
296
  expect(result).toEqual({
298
297
  type: 'message',
299
298
  messageType: 'info',
300
- content: 'Hook "test-hook" is already disabled.',
299
+ content: 'Hook "test-hook" disabled successfully.',
301
300
  });
302
301
  });
303
302
  it('should handle error when disabling hook fails', async () => {
304
- mockContext.services.settings.merged.hooks = {
305
- disabled: [],
306
- };
303
+ mockContext.services.settings.merged.hooks.disabled = [];
307
304
  mockSettings.setValue.mockImplementationOnce(() => {
308
305
  throw new Error('Failed to save settings');
309
306
  });