@google/gemini-cli 0.24.0-nightly.20260103.30f5c4af4 → 0.25.0-nightly.20260112.15891721a

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 (391) hide show
  1. package/README.md +1 -1
  2. package/dist/google-gemini-cli-0.25.0-nightly.20260107.59a18e710.tgz +0 -0
  3. package/dist/package.json +3 -3
  4. package/dist/src/commands/extensions/configure.d.ts +13 -0
  5. package/dist/src/commands/extensions/configure.js +124 -0
  6. package/dist/src/commands/extensions/configure.js.map +1 -0
  7. package/dist/src/commands/extensions/configure.test.d.ts +1 -0
  8. package/dist/src/commands/extensions/configure.test.js +197 -0
  9. package/dist/src/commands/extensions/configure.test.js.map +1 -0
  10. package/dist/src/commands/extensions/examples/hooks/gemini-extension.json +4 -0
  11. package/dist/src/commands/extensions/examples/hooks/hooks/hooks.json +14 -0
  12. package/dist/src/commands/extensions/examples/hooks/scripts/on-start.js +8 -0
  13. package/dist/src/commands/extensions/examples/mcp-server/README.md +35 -0
  14. package/dist/src/commands/extensions/examples/mcp-server/example.js +36 -22
  15. package/dist/src/commands/extensions/examples/mcp-server/gemini-extension.json +1 -1
  16. package/dist/src/commands/extensions/examples/mcp-server/package.json +0 -7
  17. package/dist/src/commands/extensions/examples/skills/gemini-extension.json +4 -0
  18. package/dist/src/commands/extensions/examples/skills/skills/greeter/SKILL.md +7 -0
  19. package/dist/src/commands/extensions/utils.d.ts +1 -0
  20. package/dist/src/commands/extensions/utils.js +5 -1
  21. package/dist/src/commands/extensions/utils.js.map +1 -1
  22. package/dist/src/commands/extensions.js +2 -2
  23. package/dist/src/commands/extensions.js.map +1 -1
  24. package/dist/src/commands/hooks/migrate.js +1 -1
  25. package/dist/src/commands/hooks/migrate.js.map +1 -1
  26. package/dist/src/commands/hooks/migrate.test.js +1 -1
  27. package/dist/src/commands/hooks/migrate.test.js.map +1 -1
  28. package/dist/src/commands/skills/disable.d.ts +14 -0
  29. package/dist/src/commands/skills/disable.js +45 -0
  30. package/dist/src/commands/skills/disable.js.map +1 -0
  31. package/dist/src/commands/skills/disable.test.d.ts +6 -0
  32. package/dist/src/commands/skills/disable.test.js +80 -0
  33. package/dist/src/commands/skills/disable.test.js.map +1 -0
  34. package/dist/src/commands/skills/enable.d.ts +12 -0
  35. package/dist/src/commands/skills/enable.js +35 -0
  36. package/dist/src/commands/skills/enable.js.map +1 -0
  37. package/dist/src/commands/skills/enable.test.d.ts +6 -0
  38. package/dist/src/commands/skills/enable.test.js +107 -0
  39. package/dist/src/commands/skills/enable.test.js.map +1 -0
  40. package/dist/src/commands/skills/list.d.ts +10 -0
  41. package/dist/src/commands/skills/list.js +60 -0
  42. package/dist/src/commands/skills/list.js.map +1 -0
  43. package/dist/src/commands/skills/list.test.d.ts +6 -0
  44. package/dist/src/commands/skills/list.test.js +136 -0
  45. package/dist/src/commands/skills/list.test.js.map +1 -0
  46. package/dist/src/commands/{extensions/settings.d.ts → skills.d.ts} +2 -2
  47. package/dist/src/commands/skills.js +26 -0
  48. package/dist/src/commands/skills.js.map +1 -0
  49. package/dist/src/commands/skills.test.d.ts +6 -0
  50. package/dist/src/commands/skills.test.js +49 -0
  51. package/dist/src/commands/skills.test.js.map +1 -0
  52. package/dist/src/config/config.js +61 -23
  53. package/dist/src/config/config.js.map +1 -1
  54. package/dist/src/config/config.test.js +220 -1
  55. package/dist/src/config/config.test.js.map +1 -1
  56. package/dist/src/config/extension-manager-scope.test.js +144 -0
  57. package/dist/src/config/extension-manager-scope.test.js.map +1 -0
  58. package/dist/src/config/extension-manager-skills.test.js +146 -0
  59. package/dist/src/config/extension-manager-skills.test.js.map +1 -0
  60. package/dist/src/config/extension-manager.js +80 -28
  61. package/dist/src/config/extension-manager.js.map +1 -1
  62. package/dist/src/config/extension.test.js +81 -10
  63. package/dist/src/config/extension.test.js.map +1 -1
  64. package/dist/src/config/extensions/consent.d.ts +5 -3
  65. package/dist/src/config/extensions/consent.js +30 -7
  66. package/dist/src/config/extensions/consent.js.map +1 -1
  67. package/dist/src/config/extensions/consent.test.js +97 -3
  68. package/dist/src/config/extensions/consent.test.js.map +1 -1
  69. package/dist/src/config/extensions/extensionSettings.d.ts +5 -3
  70. package/dist/src/config/extensions/extensionSettings.js +32 -12
  71. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  72. package/dist/src/config/extensions/extensionSettings.test.js +8 -8
  73. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  74. package/dist/src/config/extensions/extensionUpdates.test.d.ts +6 -0
  75. package/dist/src/config/extensions/extensionUpdates.test.js +227 -0
  76. package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -0
  77. package/dist/src/config/extensions/storage.js +2 -2
  78. package/dist/src/config/extensions/storage.js.map +1 -1
  79. package/dist/src/config/settings.d.ts +6 -7
  80. package/dist/src/config/settings.js +61 -238
  81. package/dist/src/config/settings.js.map +1 -1
  82. package/dist/src/config/settings.test.js +228 -706
  83. package/dist/src/config/settings.test.js.map +1 -1
  84. package/dist/src/config/settingsSchema.d.ts +119 -15
  85. package/dist/src/config/settingsSchema.js +123 -15
  86. package/dist/src/config/settingsSchema.js.map +1 -1
  87. package/dist/src/config/settingsSchema.test.js +8 -0
  88. package/dist/src/config/settingsSchema.test.js.map +1 -1
  89. package/dist/src/config/settings_validation_warning.test.js +10 -5
  90. package/dist/src/config/settings_validation_warning.test.js.map +1 -1
  91. package/dist/src/config/trustedFolders.js +1 -2
  92. package/dist/src/config/trustedFolders.js.map +1 -1
  93. package/dist/src/config/trustedFolders.test.js +7 -0
  94. package/dist/src/config/trustedFolders.test.js.map +1 -1
  95. package/dist/src/gemini.js +67 -60
  96. package/dist/src/gemini.js.map +1 -1
  97. package/dist/src/gemini.test.js +36 -83
  98. package/dist/src/gemini.test.js.map +1 -1
  99. package/dist/src/gemini_cleanup.test.js +2 -0
  100. package/dist/src/gemini_cleanup.test.js.map +1 -1
  101. package/dist/src/generated/git-commit.d.ts +2 -2
  102. package/dist/src/generated/git-commit.js +2 -2
  103. package/dist/src/nonInteractiveCli.js +24 -0
  104. package/dist/src/nonInteractiveCli.js.map +1 -1
  105. package/dist/src/nonInteractiveCli.test.js +46 -1
  106. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  107. package/dist/src/services/BuiltinCommandLoader.d.ts +1 -1
  108. package/dist/src/services/BuiltinCommandLoader.js +45 -6
  109. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  110. package/dist/src/services/BuiltinCommandLoader.test.js +58 -1
  111. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  112. package/dist/src/services/prompt-processors/shellProcessor.js +13 -11
  113. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  114. package/dist/src/services/prompt-processors/shellProcessor.test.js +93 -61
  115. package/dist/src/services/prompt-processors/shellProcessor.test.js.map +1 -1
  116. package/dist/src/test-utils/render.js +2 -2
  117. package/dist/src/test-utils/render.js.map +1 -1
  118. package/dist/src/ui/App.test.js +2 -2
  119. package/dist/src/ui/App.test.js.map +1 -1
  120. package/dist/src/ui/AppContainer.js +47 -22
  121. package/dist/src/ui/AppContainer.js.map +1 -1
  122. package/dist/src/ui/AppContainer.test.js +16 -0
  123. package/dist/src/ui/AppContainer.test.js.map +1 -1
  124. package/dist/src/ui/commands/agentsCommand.d.ts +7 -0
  125. package/dist/src/ui/commands/agentsCommand.js +75 -0
  126. package/dist/src/ui/commands/agentsCommand.js.map +1 -0
  127. package/dist/src/ui/commands/agentsCommand.test.d.ts +6 -0
  128. package/dist/src/ui/commands/agentsCommand.test.js +91 -0
  129. package/dist/src/ui/commands/agentsCommand.test.js.map +1 -0
  130. package/dist/src/ui/commands/bugCommand.js +27 -4
  131. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  132. package/dist/src/ui/commands/bugCommand.test.js +70 -2
  133. package/dist/src/ui/commands/bugCommand.test.js.map +1 -1
  134. package/dist/src/ui/commands/chatCommand.d.ts +1 -2
  135. package/dist/src/ui/commands/chatCommand.js +38 -30
  136. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  137. package/dist/src/ui/commands/chatCommand.test.js +79 -52
  138. package/dist/src/ui/commands/chatCommand.test.js.map +1 -1
  139. package/dist/src/ui/commands/clearCommand.js +12 -8
  140. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  141. package/dist/src/ui/commands/clearCommand.test.js +4 -0
  142. package/dist/src/ui/commands/clearCommand.test.js.map +1 -1
  143. package/dist/src/ui/commands/extensionsCommand.js +70 -2
  144. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  145. package/dist/src/ui/commands/extensionsCommand.test.js +70 -3
  146. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  147. package/dist/src/ui/commands/hooksCommand.js +153 -18
  148. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  149. package/dist/src/ui/commands/hooksCommand.test.js +186 -15
  150. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  151. package/dist/src/ui/commands/mcpCommand.test.js +10 -2
  152. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  153. package/dist/src/ui/commands/skillsCommand.d.ts +1 -1
  154. package/dist/src/ui/commands/skillsCommand.js +104 -32
  155. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  156. package/dist/src/ui/commands/skillsCommand.test.d.ts +1 -1
  157. package/dist/src/ui/commands/skillsCommand.test.js +230 -8
  158. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  159. package/dist/src/ui/commands/types.d.ts +2 -1
  160. package/dist/src/ui/commands/types.js +1 -0
  161. package/dist/src/ui/commands/types.js.map +1 -1
  162. package/dist/src/ui/components/Composer.js +4 -6
  163. package/dist/src/ui/components/Composer.js.map +1 -1
  164. package/dist/src/ui/components/Composer.test.js +13 -0
  165. package/dist/src/ui/components/Composer.test.js.map +1 -1
  166. package/dist/src/ui/components/ContextSummaryDisplay.test.js +54 -26
  167. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
  168. package/dist/src/ui/components/DialogManager.js +1 -1
  169. package/dist/src/ui/components/DialogManager.js.map +1 -1
  170. package/dist/src/ui/components/FolderTrustDialog.js +19 -14
  171. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  172. package/dist/src/ui/components/FolderTrustDialog.test.js +12 -2
  173. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  174. package/dist/src/ui/components/Footer.js +4 -4
  175. package/dist/src/ui/components/Footer.js.map +1 -1
  176. package/dist/src/ui/components/HistoryItemDisplay.js +2 -1
  177. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  178. package/dist/src/ui/components/HistoryItemDisplay.test.js +21 -0
  179. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  180. package/dist/src/ui/components/HookStatusDisplay.d.ts +12 -0
  181. package/dist/src/ui/components/HookStatusDisplay.js +20 -0
  182. package/dist/src/ui/components/HookStatusDisplay.js.map +1 -0
  183. package/dist/src/ui/components/HookStatusDisplay.test.d.ts +6 -0
  184. package/dist/src/ui/components/HookStatusDisplay.test.js +51 -0
  185. package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -0
  186. package/dist/src/ui/components/InputPrompt.js +14 -6
  187. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  188. package/dist/src/ui/components/InputPrompt.test.js +19 -2
  189. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  190. package/dist/src/ui/components/MainContent.js +6 -1
  191. package/dist/src/ui/components/MainContent.js.map +1 -1
  192. package/dist/src/ui/components/ModelDialog.js +7 -3
  193. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  194. package/dist/src/ui/components/ModelDialog.test.js +16 -3
  195. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  196. package/dist/src/ui/components/Notifications.js +2 -3
  197. package/dist/src/ui/components/Notifications.js.map +1 -1
  198. package/dist/src/ui/components/Notifications.test.js +1 -0
  199. package/dist/src/ui/components/Notifications.test.js.map +1 -1
  200. package/dist/src/ui/components/ProQuotaDialog.d.ts +1 -3
  201. package/dist/src/ui/components/ProQuotaDialog.js +8 -21
  202. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  203. package/dist/src/ui/components/ProQuotaDialog.test.js +31 -11
  204. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
  205. package/dist/src/ui/components/SettingsDialog.js +33 -13
  206. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  207. package/dist/src/ui/components/SettingsDialog.test.js +15 -1
  208. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  209. package/dist/src/ui/components/StatusDisplay.d.ts +11 -0
  210. package/dist/src/ui/components/StatusDisplay.js +40 -0
  211. package/dist/src/ui/components/StatusDisplay.js.map +1 -0
  212. package/dist/src/ui/components/StatusDisplay.test.d.ts +6 -0
  213. package/dist/src/ui/components/StatusDisplay.test.js +144 -0
  214. package/dist/src/ui/components/StatusDisplay.test.js.map +1 -0
  215. package/dist/src/ui/components/SuggestionsDisplay.js +7 -2
  216. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  217. package/dist/src/ui/components/ThemeDialog.test.js +1 -1
  218. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
  219. package/dist/src/ui/components/messages/ToolMessage.test.js +1 -0
  220. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  221. package/dist/src/ui/components/views/AgentsStatus.d.ts +13 -0
  222. package/dist/src/ui/components/views/AgentsStatus.js +23 -0
  223. package/dist/src/ui/components/views/AgentsStatus.js.map +1 -0
  224. package/dist/src/ui/components/views/ExtensionsList.js +2 -1
  225. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -1
  226. package/dist/src/ui/components/views/ExtensionsList.test.js +12 -1
  227. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  228. package/dist/src/ui/components/views/HooksList.js +25 -16
  229. package/dist/src/ui/components/views/HooksList.js.map +1 -1
  230. package/dist/src/ui/components/views/SkillsList.js +9 -7
  231. package/dist/src/ui/components/views/SkillsList.js.map +1 -1
  232. package/dist/src/ui/components/views/SkillsList.test.js +37 -4
  233. package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
  234. package/dist/src/ui/constants/tips.js +0 -1
  235. package/dist/src/ui/constants/tips.js.map +1 -1
  236. package/dist/src/ui/constants.d.ts +2 -0
  237. package/dist/src/ui/constants.js +2 -0
  238. package/dist/src/ui/constants.js.map +1 -1
  239. package/dist/src/ui/contexts/KeypressContext.d.ts +1 -0
  240. package/dist/src/ui/contexts/KeypressContext.js +56 -6
  241. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  242. package/dist/src/ui/contexts/KeypressContext.test.js +99 -8
  243. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  244. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -1
  245. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  246. package/dist/src/ui/hooks/atCommandProcessor.js +16 -2
  247. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  248. package/dist/src/ui/hooks/atCommandProcessor.test.js +9 -3
  249. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  250. package/dist/src/ui/hooks/atCommandProcessor_agents.test.d.ts +6 -0
  251. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js +183 -0
  252. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js.map +1 -0
  253. package/dist/src/ui/hooks/slashCommandProcessor.test.js +1 -0
  254. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  255. package/dist/src/ui/hooks/useAtCompletion.js +31 -0
  256. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  257. package/dist/src/ui/hooks/useAtCompletion_agents.test.d.ts +6 -0
  258. package/dist/src/ui/hooks/useAtCompletion_agents.test.js +85 -0
  259. package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +1 -0
  260. package/dist/src/ui/hooks/useCommandCompletion.js +12 -8
  261. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  262. package/dist/src/ui/hooks/useCommandCompletion.test.js +81 -0
  263. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  264. package/dist/src/ui/hooks/useExtensionUpdates.test.js +7 -0
  265. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  266. package/dist/src/ui/hooks/useFolderTrust.js +14 -19
  267. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  268. package/dist/src/ui/hooks/useFolderTrust.test.js +30 -22
  269. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  270. package/dist/src/ui/hooks/useGeminiStream.js +29 -0
  271. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  272. package/dist/src/ui/hooks/useGeminiStream.test.js +82 -0
  273. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  274. package/dist/src/ui/hooks/useHookDisplayState.d.ts +7 -0
  275. package/dist/src/ui/hooks/useHookDisplayState.js +83 -0
  276. package/dist/src/ui/hooks/useHookDisplayState.js.map +1 -0
  277. package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +6 -0
  278. package/dist/src/ui/hooks/useHookDisplayState.test.js +180 -0
  279. package/dist/src/ui/hooks/useHookDisplayState.test.js.map +1 -0
  280. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +10 -3
  281. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
  282. package/dist/src/ui/hooks/useQuotaAndFallback.js +15 -10
  283. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  284. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +13 -8
  285. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
  286. package/dist/src/ui/hooks/useRewind.d.ts +14 -0
  287. package/dist/src/ui/hooks/useRewind.js +31 -0
  288. package/dist/src/ui/hooks/useRewind.js.map +1 -0
  289. package/dist/src/ui/hooks/useRewind.test.d.ts +6 -0
  290. package/dist/src/ui/hooks/useRewind.test.js +100 -0
  291. package/dist/src/ui/hooks/useRewind.test.js.map +1 -0
  292. package/dist/src/ui/hooks/useToolScheduler.test.js +11 -2
  293. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  294. package/dist/src/ui/themes/theme-manager.js +2 -3
  295. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  296. package/dist/src/ui/themes/theme-manager.test.js +7 -0
  297. package/dist/src/ui/themes/theme-manager.test.js.map +1 -1
  298. package/dist/src/ui/types.d.ts +15 -8
  299. package/dist/src/ui/types.js +1 -0
  300. package/dist/src/ui/types.js.map +1 -1
  301. package/dist/src/ui/utils/CodeColorizer.test.js +1 -1
  302. package/dist/src/ui/utils/CodeColorizer.test.js.map +1 -1
  303. package/dist/src/ui/utils/MarkdownDisplay.test.js +1 -1
  304. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  305. package/dist/src/ui/utils/commandUtils.js +12 -7
  306. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  307. package/dist/src/ui/utils/commandUtils.test.js +24 -0
  308. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  309. package/dist/src/ui/utils/directoryUtils.js +4 -4
  310. package/dist/src/ui/utils/directoryUtils.js.map +1 -1
  311. package/dist/src/ui/utils/directoryUtils.test.js +1 -0
  312. package/dist/src/ui/utils/directoryUtils.test.js.map +1 -1
  313. package/dist/src/ui/utils/historyExportUtils.d.ts +21 -0
  314. package/dist/src/ui/utils/historyExportUtils.js +59 -0
  315. package/dist/src/ui/utils/historyExportUtils.js.map +1 -0
  316. package/dist/src/ui/utils/rewindFileOps.d.ts +47 -0
  317. package/dist/src/ui/utils/rewindFileOps.js +190 -0
  318. package/dist/src/ui/utils/rewindFileOps.js.map +1 -0
  319. package/dist/src/ui/utils/rewindFileOps.test.d.ts +6 -0
  320. package/dist/src/ui/utils/rewindFileOps.test.js +375 -0
  321. package/dist/src/ui/utils/rewindFileOps.test.js.map +1 -0
  322. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +4 -8
  323. package/dist/src/ui/utils/terminalCapabilityManager.js +43 -72
  324. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  325. package/dist/src/ui/utils/terminalCapabilityManager.test.js +20 -6
  326. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  327. package/dist/src/ui/utils/terminalSetup.d.ts +1 -1
  328. package/dist/src/ui/utils/terminalSetup.js +19 -4
  329. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  330. package/dist/src/ui/utils/terminalSetup.test.js +7 -0
  331. package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
  332. package/dist/src/ui/utils/textUtils.js +9 -1
  333. package/dist/src/ui/utils/textUtils.js.map +1 -1
  334. package/dist/src/ui/utils/textUtils.test.js +12 -1
  335. package/dist/src/ui/utils/textUtils.test.js.map +1 -1
  336. package/dist/src/ui/utils/ui-sizing.js +1 -1
  337. package/dist/src/ui/utils/ui-sizing.js.map +1 -1
  338. package/dist/src/ui/utils/ui-sizing.test.js +2 -2
  339. package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
  340. package/dist/src/utils/activityLogger.d.ts +47 -0
  341. package/dist/src/utils/activityLogger.js +297 -0
  342. package/dist/src/utils/activityLogger.js.map +1 -0
  343. package/dist/src/utils/cleanup.d.ts +5 -0
  344. package/dist/src/utils/cleanup.js +17 -0
  345. package/dist/src/utils/cleanup.js.map +1 -1
  346. package/dist/src/utils/cleanup.test.js +21 -31
  347. package/dist/src/utils/cleanup.test.js.map +1 -1
  348. package/dist/src/utils/resolvePath.js +3 -3
  349. package/dist/src/utils/resolvePath.js.map +1 -1
  350. package/dist/src/utils/resolvePath.test.js +3 -0
  351. package/dist/src/utils/resolvePath.test.js.map +1 -1
  352. package/dist/src/utils/sandbox.js +17 -10
  353. package/dist/src/utils/sandbox.js.map +1 -1
  354. package/dist/src/utils/sandbox.test.js +17 -5
  355. package/dist/src/utils/sandbox.test.js.map +1 -1
  356. package/dist/src/utils/settingsUtils.js +0 -5
  357. package/dist/src/utils/settingsUtils.js.map +1 -1
  358. package/dist/src/utils/skillSettings.d.ts +33 -0
  359. package/dist/src/utils/skillSettings.js +101 -0
  360. package/dist/src/utils/skillSettings.js.map +1 -0
  361. package/dist/src/utils/skillUtils.d.ts +16 -0
  362. package/dist/src/utils/skillUtils.js +51 -0
  363. package/dist/src/utils/skillUtils.js.map +1 -0
  364. package/dist/src/utils/userStartupWarnings.d.ts +2 -1
  365. package/dist/src/utils/userStartupWarnings.js +17 -7
  366. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  367. package/dist/src/utils/userStartupWarnings.test.js +37 -6
  368. package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
  369. package/dist/src/zed-integration/zedIntegration.js +1 -1
  370. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  371. package/dist/src/zed-integration/zedIntegration.test.js +12 -0
  372. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
  373. package/dist/tsconfig.tsbuildinfo +1 -1
  374. package/package.json +4 -4
  375. package/dist/google-gemini-cli-0.24.0-nightly.20251227.37be16243.tgz +0 -0
  376. package/dist/src/commands/extensions/examples/mcp-server/example.js.map +0 -1
  377. package/dist/src/commands/extensions/examples/mcp-server/example.test.js +0 -111
  378. package/dist/src/commands/extensions/examples/mcp-server/example.test.js.map +0 -1
  379. package/dist/src/commands/extensions/examples/mcp-server/example.test.ts +0 -135
  380. package/dist/src/commands/extensions/examples/mcp-server/example.ts +0 -60
  381. package/dist/src/commands/extensions/examples/mcp-server/tsconfig.json +0 -13
  382. package/dist/src/commands/extensions/settings.js +0 -111
  383. package/dist/src/commands/extensions/settings.js.map +0 -1
  384. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  385. package/dist/src/ui/hooks/useBracketedPaste.js +0 -31
  386. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  387. package/dist/src/ui/utils/bracketedPaste.d.ts +0 -7
  388. package/dist/src/ui/utils/bracketedPaste.js +0 -15
  389. package/dist/src/ui/utils/bracketedPaste.js.map +0 -1
  390. /package/dist/src/{commands/extensions/examples/mcp-server/example.d.ts → config/extension-manager-scope.test.d.ts} +0 -0
  391. /package/dist/src/{commands/extensions/examples/mcp-server/example.test.d.ts → config/extension-manager-skills.test.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { type SlashCommand } from './types.js';
@@ -1,17 +1,25 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { CommandKind, } from './types.js';
7
- import { MessageType } from '../types.js';
7
+ import { MessageType, } from '../types.js';
8
8
  import { SettingScope } from '../../config/settings.js';
9
+ import { enableSkill, disableSkill } from '../../utils/skillSettings.js';
10
+ import { renderSkillActionFeedback } from '../../utils/skillUtils.js';
9
11
  async function listAction(context, args) {
10
- const subCommand = args.trim();
12
+ const subArgs = args.trim().split(/\s+/);
11
13
  // Default to SHOWING descriptions. The user can hide them with 'nodesc'.
12
14
  let useShowDescriptions = true;
13
- if (subCommand === 'nodesc') {
14
- useShowDescriptions = false;
15
+ let showAll = false;
16
+ for (const arg of subArgs) {
17
+ if (arg === 'nodesc' || arg === '--nodesc') {
18
+ useShowDescriptions = false;
19
+ }
20
+ else if (arg === 'all' || arg === '--all') {
21
+ showAll = true;
22
+ }
15
23
  }
16
24
  const skillManager = context.services.config?.getSkillManager();
17
25
  if (!skillManager) {
@@ -21,13 +29,18 @@ async function listAction(context, args) {
21
29
  }, Date.now());
22
30
  return;
23
31
  }
24
- const skills = skillManager.getAllSkills();
32
+ const skills = showAll
33
+ ? skillManager.getAllSkills()
34
+ : skillManager.getAllSkills().filter((s) => !s.isBuiltin);
25
35
  const skillsListItem = {
26
36
  type: MessageType.SKILLS_LIST,
27
37
  skills: skills.map((skill) => ({
28
38
  name: skill.name,
29
39
  description: skill.description,
30
40
  disabled: skill.disabled,
41
+ location: skill.location,
42
+ body: skill.body,
43
+ isBuiltin: skill.isBuiltin,
31
44
  })),
32
45
  showDescriptions: useShowDescriptions,
33
46
  };
@@ -51,22 +64,17 @@ async function disableAction(context, args) {
51
64
  }, Date.now());
52
65
  return;
53
66
  }
54
- const currentDisabled = context.services.settings.merged.skills?.disabled ?? [];
55
- if (currentDisabled.includes(skillName)) {
56
- context.ui.addItem({
57
- type: MessageType.INFO,
58
- text: `Skill "${skillName}" is already disabled.`,
59
- }, Date.now());
60
- return;
61
- }
62
- const newDisabled = [...currentDisabled, skillName];
63
67
  const scope = context.services.settings.workspace.path
64
68
  ? SettingScope.Workspace
65
69
  : SettingScope.User;
66
- context.services.settings.setValue(scope, 'skills.disabled', newDisabled);
70
+ const result = disableSkill(context.services.settings, skillName, scope);
71
+ let feedback = renderSkillActionFeedback(result, (label, path) => `${label} (${path})`);
72
+ if (result.status === 'success') {
73
+ feedback += ' Use "/skills reload" for it to take effect.';
74
+ }
67
75
  context.ui.addItem({
68
76
  type: MessageType.INFO,
69
- text: `Skill "${skillName}" disabled in ${scope} settings. Restart required to take effect.`,
77
+ text: feedback,
70
78
  }, Date.now());
71
79
  }
72
80
  async function enableAction(context, args) {
@@ -78,24 +86,82 @@ async function enableAction(context, args) {
78
86
  }, Date.now());
79
87
  return;
80
88
  }
81
- const currentDisabled = context.services.settings.merged.skills?.disabled ?? [];
82
- if (!currentDisabled.includes(skillName)) {
83
- context.ui.addItem({
84
- type: MessageType.INFO,
85
- text: `Skill "${skillName}" is not disabled.`,
86
- }, Date.now());
87
- return;
89
+ const result = enableSkill(context.services.settings, skillName);
90
+ let feedback = renderSkillActionFeedback(result, (label, path) => `${label} (${path})`);
91
+ if (result.status === 'success') {
92
+ feedback += ' Use "/skills reload" for it to take effect.';
88
93
  }
89
- const newDisabled = currentDisabled.filter((name) => name !== skillName);
90
- const scope = context.services.settings.workspace.path
91
- ? SettingScope.Workspace
92
- : SettingScope.User;
93
- context.services.settings.setValue(scope, 'skills.disabled', newDisabled);
94
94
  context.ui.addItem({
95
95
  type: MessageType.INFO,
96
- text: `Skill "${skillName}" enabled in ${scope} settings. Restart required to take effect.`,
96
+ text: feedback,
97
97
  }, Date.now());
98
98
  }
99
+ async function reloadAction(context) {
100
+ const config = context.services.config;
101
+ if (!config) {
102
+ context.ui.addItem({
103
+ type: MessageType.ERROR,
104
+ text: 'Could not retrieve configuration.',
105
+ }, Date.now());
106
+ return;
107
+ }
108
+ const skillManager = config.getSkillManager();
109
+ const beforeNames = new Set(skillManager.getSkills().map((s) => s.name));
110
+ const startTime = Date.now();
111
+ let pendingItemSet = false;
112
+ const pendingTimeout = setTimeout(() => {
113
+ context.ui.setPendingItem({
114
+ type: MessageType.INFO,
115
+ text: 'Reloading agent skills...',
116
+ });
117
+ pendingItemSet = true;
118
+ }, 100);
119
+ try {
120
+ await config.reloadSkills();
121
+ clearTimeout(pendingTimeout);
122
+ if (pendingItemSet) {
123
+ // If we showed the pending item, make sure it stays for at least 500ms
124
+ // total to avoid a "flicker" where it appears and immediately disappears.
125
+ const elapsed = Date.now() - startTime;
126
+ const minVisibleDuration = 500;
127
+ if (elapsed < minVisibleDuration) {
128
+ await new Promise((resolve) => setTimeout(resolve, minVisibleDuration - elapsed));
129
+ }
130
+ context.ui.setPendingItem(null);
131
+ }
132
+ const afterSkills = skillManager.getSkills();
133
+ const afterNames = new Set(afterSkills.map((s) => s.name));
134
+ const added = afterSkills.filter((s) => !beforeNames.has(s.name));
135
+ const removedCount = [...beforeNames].filter((name) => !afterNames.has(name)).length;
136
+ let successText = 'Agent skills reloaded successfully.';
137
+ const details = [];
138
+ if (added.length > 0) {
139
+ details.push(`${added.length} newly available skill${added.length > 1 ? 's' : ''}`);
140
+ }
141
+ if (removedCount > 0) {
142
+ details.push(`${removedCount} skill${removedCount > 1 ? 's' : ''} no longer available`);
143
+ }
144
+ if (details.length > 0) {
145
+ successText += ` ${details.join(' and ')}.`;
146
+ }
147
+ context.ui.addItem({
148
+ type: 'info',
149
+ text: successText,
150
+ icon: '✓ ',
151
+ color: 'green',
152
+ }, Date.now());
153
+ }
154
+ catch (error) {
155
+ clearTimeout(pendingTimeout);
156
+ if (pendingItemSet) {
157
+ context.ui.setPendingItem(null);
158
+ }
159
+ context.ui.addItem({
160
+ type: MessageType.ERROR,
161
+ text: `Failed to reload skills: ${error instanceof Error ? error.message : String(error)}`,
162
+ }, Date.now());
163
+ }
164
+ }
99
165
  function disableCompletion(context, partialArg) {
100
166
  const skillManager = context.services.config?.getSkillManager();
101
167
  if (!skillManager) {
@@ -118,13 +184,13 @@ function enableCompletion(context, partialArg) {
118
184
  }
119
185
  export const skillsCommand = {
120
186
  name: 'skills',
121
- description: 'List, enable, or disable Gemini CLI agent skills. Usage: /skills [list | disable <name> | enable <name>]',
187
+ description: 'List, enable, disable, or reload Gemini CLI agent skills. Usage: /skills [list | disable <name> | enable <name> | reload]',
122
188
  kind: CommandKind.BUILT_IN,
123
189
  autoExecute: false,
124
190
  subCommands: [
125
191
  {
126
192
  name: 'list',
127
- description: 'List available agent skills. Usage: /skills list [nodesc]',
193
+ description: 'List available agent skills. Usage: /skills list [nodesc] [all]',
128
194
  kind: CommandKind.BUILT_IN,
129
195
  action: listAction,
130
196
  },
@@ -142,6 +208,12 @@ export const skillsCommand = {
142
208
  action: enableAction,
143
209
  completion: enableCompletion,
144
210
  },
211
+ {
212
+ name: 'reload',
213
+ description: 'Reload the list of discovered skills. Usage: /skills reload',
214
+ kind: CommandKind.BUILT_IN,
215
+ action: reloadAction,
216
+ },
145
217
  ],
146
218
  action: listAction,
147
219
  };
@@ -1 +1 @@
1
- {"version":3,"file":"skillsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/skillsCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/skillsCommand.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  export {};
@@ -1,16 +1,24 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect, vi, beforeEach } from 'vitest';
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
7
  import { skillsCommand } from './skillsCommand.js';
8
8
  import { MessageType } from '../types.js';
9
9
  import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
10
10
  import { SettingScope } from '../../config/settings.js';
11
+ vi.mock('../../config/settings.js', async (importOriginal) => {
12
+ const actual = await importOriginal();
13
+ return {
14
+ ...actual,
15
+ isLoadableSettingScope: vi.fn((s) => s === 'User' || s === 'Workspace'),
16
+ };
17
+ });
11
18
  describe('skillsCommand', () => {
12
19
  let context;
13
20
  beforeEach(() => {
21
+ vi.useFakeTimers();
14
22
  const skills = [
15
23
  {
16
24
  name: 'skill1',
@@ -30,6 +38,7 @@ describe('skillsCommand', () => {
30
38
  config: {
31
39
  getSkillManager: vi.fn().mockReturnValue({
32
40
  getAllSkills: vi.fn().mockReturnValue(skills),
41
+ getSkills: vi.fn().mockReturnValue(skills),
33
42
  getSkill: vi
34
43
  .fn()
35
44
  .mockImplementation((name) => skills.find((s) => s.name === name) ?? null),
@@ -43,13 +52,29 @@ describe('skillsCommand', () => {
43
52
  },
44
53
  });
45
54
  });
55
+ afterEach(() => {
56
+ vi.useRealTimers();
57
+ vi.restoreAllMocks();
58
+ });
46
59
  it('should add a SKILLS_LIST item to UI with descriptions by default', async () => {
47
60
  await skillsCommand.action(context, '');
48
61
  expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
49
62
  type: MessageType.SKILLS_LIST,
50
63
  skills: [
51
- { name: 'skill1', description: 'desc1' },
52
- { name: 'skill2', description: 'desc2' },
64
+ {
65
+ name: 'skill1',
66
+ description: 'desc1',
67
+ disabled: undefined,
68
+ location: '/loc1',
69
+ body: 'body1',
70
+ },
71
+ {
72
+ name: 'skill2',
73
+ description: 'desc2',
74
+ disabled: undefined,
75
+ location: '/loc2',
76
+ body: 'body2',
77
+ },
53
78
  ],
54
79
  showDescriptions: true,
55
80
  }), expect.any(Number));
@@ -60,8 +85,20 @@ describe('skillsCommand', () => {
60
85
  expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
61
86
  type: MessageType.SKILLS_LIST,
62
87
  skills: [
63
- { name: 'skill1', description: 'desc1' },
64
- { name: 'skill2', description: 'desc2' },
88
+ {
89
+ name: 'skill1',
90
+ description: 'desc1',
91
+ disabled: undefined,
92
+ location: '/loc1',
93
+ body: 'body1',
94
+ },
95
+ {
96
+ name: 'skill2',
97
+ description: 'desc2',
98
+ disabled: undefined,
99
+ location: '/loc2',
100
+ body: 'body2',
101
+ },
65
102
  ],
66
103
  showDescriptions: true,
67
104
  }), expect.any(Number));
@@ -73,12 +110,68 @@ describe('skillsCommand', () => {
73
110
  showDescriptions: false,
74
111
  }), expect.any(Number));
75
112
  });
113
+ it('should filter built-in skills by default and show them with "all"', async () => {
114
+ const skillManager = context.services.config.getSkillManager();
115
+ const mockSkills = [
116
+ {
117
+ name: 'regular',
118
+ description: 'desc1',
119
+ location: '/loc1',
120
+ body: 'body1',
121
+ },
122
+ {
123
+ name: 'builtin',
124
+ description: 'desc2',
125
+ location: '/loc2',
126
+ body: 'body2',
127
+ isBuiltin: true,
128
+ },
129
+ ];
130
+ vi.mocked(skillManager.getAllSkills).mockReturnValue(mockSkills);
131
+ const listCmd = skillsCommand.subCommands.find((s) => s.name === 'list');
132
+ // By default, only regular skills
133
+ await listCmd.action(context, '');
134
+ let lastCall = vi
135
+ .mocked(context.ui.addItem)
136
+ .mock.calls.at(-1)[0];
137
+ expect(lastCall.skills).toHaveLength(1);
138
+ expect(lastCall.skills[0].name).toBe('regular');
139
+ // With "all", show both
140
+ await listCmd.action(context, 'all');
141
+ lastCall = vi
142
+ .mocked(context.ui.addItem)
143
+ .mock.calls.at(-1)[0];
144
+ expect(lastCall.skills).toHaveLength(2);
145
+ expect(lastCall.skills.map((s) => s.name)).toContain('builtin');
146
+ // With "--all", show both
147
+ await listCmd.action(context, '--all');
148
+ lastCall = vi
149
+ .mocked(context.ui.addItem)
150
+ .mock.calls.at(-1)[0];
151
+ expect(lastCall.skills).toHaveLength(2);
152
+ });
76
153
  describe('disable/enable', () => {
77
154
  beforeEach(() => {
78
155
  context.services.settings.merged.skills = { disabled: [] };
79
156
  context.services.settings.workspace = {
80
157
  path: '/workspace',
81
158
  };
159
+ const settings = context.services.settings;
160
+ settings.forScope = vi.fn((scope) => {
161
+ if (scope === SettingScope.User)
162
+ return settings.user;
163
+ if (scope === SettingScope.Workspace)
164
+ return settings.workspace;
165
+ return { settings: {}, path: '' };
166
+ });
167
+ settings.user = {
168
+ settings: {},
169
+ path: '/user/settings.json',
170
+ };
171
+ settings.workspace = {
172
+ settings: {},
173
+ path: '/workspace',
174
+ };
82
175
  });
83
176
  it('should disable a skill', async () => {
84
177
  const disableCmd = skillsCommand.subCommands.find((s) => s.name === 'disable');
@@ -86,17 +179,36 @@ describe('skillsCommand', () => {
86
179
  expect(context.services.settings.setValue).toHaveBeenCalledWith(SettingScope.Workspace, 'skills.disabled', ['skill1']);
87
180
  expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
88
181
  type: MessageType.INFO,
89
- text: expect.stringContaining('Skill "skill1" disabled'),
182
+ text: 'Skill "skill1" disabled by adding it to the disabled list in project (/workspace) settings. Use "/skills reload" for it to take effect.',
90
183
  }), expect.any(Number));
91
184
  });
92
185
  it('should enable a skill', async () => {
93
186
  const enableCmd = skillsCommand.subCommands.find((s) => s.name === 'enable');
94
187
  context.services.settings.merged.skills = { disabled: ['skill1'] };
188
+ context.services.settings.workspace.settings = {
189
+ skills: { disabled: ['skill1'] },
190
+ };
191
+ await enableCmd.action(context, 'skill1');
192
+ expect(context.services.settings.setValue).toHaveBeenCalledWith(SettingScope.Workspace, 'skills.disabled', []);
193
+ expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
194
+ type: MessageType.INFO,
195
+ text: 'Skill "skill1" enabled by removing it from the disabled list in project (/workspace) and user (/user/settings.json) settings. Use "/skills reload" for it to take effect.',
196
+ }), expect.any(Number));
197
+ });
198
+ it('should enable a skill across multiple scopes', async () => {
199
+ const enableCmd = skillsCommand.subCommands.find((s) => s.name === 'enable');
200
+ context.services.settings.user.settings = {
201
+ skills: { disabled: ['skill1'] },
202
+ };
203
+ context.services.settings.workspace.settings = {
204
+ skills: { disabled: ['skill1'] },
205
+ };
95
206
  await enableCmd.action(context, 'skill1');
207
+ expect(context.services.settings.setValue).toHaveBeenCalledWith(SettingScope.User, 'skills.disabled', []);
96
208
  expect(context.services.settings.setValue).toHaveBeenCalledWith(SettingScope.Workspace, 'skills.disabled', []);
97
209
  expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
98
210
  type: MessageType.INFO,
99
- text: expect.stringContaining('Skill "skill1" enabled'),
211
+ text: 'Skill "skill1" enabled by removing it from the disabled list in project (/workspace) and user (/user/settings.json) settings. Use "/skills reload" for it to take effect.',
100
212
  }), expect.any(Number));
101
213
  });
102
214
  it('should show error if skill not found during disable', async () => {
@@ -108,6 +220,116 @@ describe('skillsCommand', () => {
108
220
  }), expect.any(Number));
109
221
  });
110
222
  });
223
+ describe('reload', () => {
224
+ it('should reload skills successfully and show success message', async () => {
225
+ const reloadCmd = skillsCommand.subCommands.find((s) => s.name === 'reload');
226
+ // Make reload take some time so timer can fire
227
+ const reloadSkillsMock = vi.fn().mockImplementation(async () => {
228
+ await new Promise((resolve) => setTimeout(resolve, 200));
229
+ });
230
+ // @ts-expect-error Mocking reloadSkills
231
+ context.services.config.reloadSkills = reloadSkillsMock;
232
+ const actionPromise = reloadCmd.action(context, '');
233
+ // Initially, no pending item (flicker prevention)
234
+ expect(context.ui.setPendingItem).not.toHaveBeenCalled();
235
+ // Fast forward 100ms to trigger the pending item
236
+ await vi.advanceTimersByTimeAsync(100);
237
+ expect(context.ui.setPendingItem).toHaveBeenCalledWith(expect.objectContaining({
238
+ type: MessageType.INFO,
239
+ text: 'Reloading agent skills...',
240
+ }));
241
+ // Fast forward another 100ms (reload complete), but pending item should stay
242
+ await vi.advanceTimersByTimeAsync(100);
243
+ expect(context.ui.setPendingItem).not.toHaveBeenCalledWith(null);
244
+ // Fast forward to reach 500ms total
245
+ await vi.advanceTimersByTimeAsync(300);
246
+ await actionPromise;
247
+ expect(reloadSkillsMock).toHaveBeenCalled();
248
+ expect(context.ui.setPendingItem).toHaveBeenCalledWith(null);
249
+ expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
250
+ type: MessageType.INFO,
251
+ text: 'Agent skills reloaded successfully.',
252
+ }), expect.any(Number));
253
+ });
254
+ it('should show new skills count after reload', async () => {
255
+ const reloadCmd = skillsCommand.subCommands.find((s) => s.name === 'reload');
256
+ const reloadSkillsMock = vi.fn().mockImplementation(async () => {
257
+ const skillManager = context.services.config.getSkillManager();
258
+ vi.mocked(skillManager.getSkills).mockReturnValue([
259
+ { name: 'skill1' },
260
+ { name: 'skill2' },
261
+ { name: 'skill3' },
262
+ ]);
263
+ });
264
+ // @ts-expect-error Mocking reloadSkills
265
+ context.services.config.reloadSkills = reloadSkillsMock;
266
+ await reloadCmd.action(context, '');
267
+ expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
268
+ type: MessageType.INFO,
269
+ text: 'Agent skills reloaded successfully. 1 newly available skill.',
270
+ }), expect.any(Number));
271
+ });
272
+ it('should show removed skills count after reload', async () => {
273
+ const reloadCmd = skillsCommand.subCommands.find((s) => s.name === 'reload');
274
+ const reloadSkillsMock = vi.fn().mockImplementation(async () => {
275
+ const skillManager = context.services.config.getSkillManager();
276
+ vi.mocked(skillManager.getSkills).mockReturnValue([
277
+ { name: 'skill1' },
278
+ ]);
279
+ });
280
+ // @ts-expect-error Mocking reloadSkills
281
+ context.services.config.reloadSkills = reloadSkillsMock;
282
+ await reloadCmd.action(context, '');
283
+ expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
284
+ type: MessageType.INFO,
285
+ text: 'Agent skills reloaded successfully. 1 skill no longer available.',
286
+ }), expect.any(Number));
287
+ });
288
+ it('should show both added and removed skills count after reload', async () => {
289
+ const reloadCmd = skillsCommand.subCommands.find((s) => s.name === 'reload');
290
+ const reloadSkillsMock = vi.fn().mockImplementation(async () => {
291
+ const skillManager = context.services.config.getSkillManager();
292
+ vi.mocked(skillManager.getSkills).mockReturnValue([
293
+ { name: 'skill2' }, // skill1 removed, skill3 added
294
+ { name: 'skill3' },
295
+ ]);
296
+ });
297
+ // @ts-expect-error Mocking reloadSkills
298
+ context.services.config.reloadSkills = reloadSkillsMock;
299
+ await reloadCmd.action(context, '');
300
+ expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
301
+ type: MessageType.INFO,
302
+ text: 'Agent skills reloaded successfully. 1 newly available skill and 1 skill no longer available.',
303
+ }), expect.any(Number));
304
+ });
305
+ it('should show error if configuration is missing', async () => {
306
+ const reloadCmd = skillsCommand.subCommands.find((s) => s.name === 'reload');
307
+ context.services.config = null;
308
+ await reloadCmd.action(context, '');
309
+ expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
310
+ type: MessageType.ERROR,
311
+ text: 'Could not retrieve configuration.',
312
+ }), expect.any(Number));
313
+ });
314
+ it('should show error if reload fails', async () => {
315
+ const reloadCmd = skillsCommand.subCommands.find((s) => s.name === 'reload');
316
+ const error = new Error('Reload failed');
317
+ const reloadSkillsMock = vi.fn().mockImplementation(async () => {
318
+ await new Promise((_, reject) => setTimeout(() => reject(error), 200));
319
+ });
320
+ // @ts-expect-error Mocking reloadSkills
321
+ context.services.config.reloadSkills = reloadSkillsMock;
322
+ const actionPromise = reloadCmd.action(context, '');
323
+ await vi.advanceTimersByTimeAsync(100);
324
+ await vi.advanceTimersByTimeAsync(400);
325
+ await actionPromise;
326
+ expect(context.ui.setPendingItem).toHaveBeenCalledWith(null);
327
+ expect(context.ui.addItem).toHaveBeenCalledWith(expect.objectContaining({
328
+ type: MessageType.ERROR,
329
+ text: 'Failed to reload skills: Reload failed',
330
+ }), expect.any(Number));
331
+ });
332
+ });
111
333
  describe('completions', () => {
112
334
  it('should provide completions for disable (only enabled skills)', async () => {
113
335
  const disableCmd = skillsCommand.subCommands.find((s) => s.name === 'disable');
@@ -1 +1 @@
1
- {"version":3,"file":"skillsCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/skillsCommand.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skillsCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/skillsCommand.test.ts"],"names":[],"mappings":"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"}
@@ -116,7 +116,8 @@ export type SlashCommandActionReturn = CommandActionReturn<HistoryItemWithoutId[
116
116
  export declare enum CommandKind {
117
117
  BUILT_IN = "built-in",
118
118
  FILE = "file",
119
- MCP_PROMPT = "mcp-prompt"
119
+ MCP_PROMPT = "mcp-prompt",
120
+ AGENT = "agent"
120
121
  }
121
122
  export interface SlashCommand {
122
123
  name: string;
@@ -8,5 +8,6 @@ export var CommandKind;
8
8
  CommandKind["BUILT_IN"] = "built-in";
9
9
  CommandKind["FILE"] = "file";
10
10
  CommandKind["MCP_PROMPT"] = "mcp-prompt";
11
+ CommandKind["AGENT"] = "agent";
11
12
  })(CommandKind || (CommandKind = {}));
12
13
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/commands/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6JH,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,4BAAa,CAAA;IACb,wCAAyB,CAAA;AAC3B,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/commands/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6JH,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,oCAAqB,CAAA;IACrB,4BAAa,CAAA;IACb,wCAAyB,CAAA;IACzB,8BAAe,CAAA;AACjB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}