@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
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
7
  import open from 'open';
8
+ import path from 'node:path';
8
9
  import { bugCommand } from './bugCommand.js';
9
10
  import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
10
11
  import { getVersion } from '@google/gemini-cli-core';
@@ -13,6 +14,14 @@ import { formatMemoryUsage } from '../utils/formatters.js';
13
14
  // Mock dependencies
14
15
  vi.mock('open');
15
16
  vi.mock('../utils/formatters.js');
17
+ vi.mock('../utils/historyExportUtils.js', async (importOriginal) => {
18
+ const actual = await importOriginal();
19
+ return {
20
+ ...actual,
21
+ exportHistoryToFile: vi.fn(),
22
+ };
23
+ });
24
+ import { exportHistoryToFile } from '../utils/historyExportUtils.js';
16
25
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
17
26
  const actual = await importOriginal();
18
27
  return {
@@ -24,6 +33,13 @@ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
24
33
  },
25
34
  sessionId: 'test-session-id',
26
35
  getVersion: vi.fn(),
36
+ INITIAL_HISTORY_LENGTH: 1,
37
+ debugLogger: {
38
+ error: vi.fn(),
39
+ log: vi.fn(),
40
+ debug: vi.fn(),
41
+ warn: vi.fn(),
42
+ },
27
43
  };
28
44
  });
29
45
  vi.mock('node:process', () => ({
@@ -47,10 +63,13 @@ describe('bugCommand', () => {
47
63
  vi.mocked(getVersion).mockResolvedValue('0.1.0');
48
64
  vi.mocked(formatMemoryUsage).mockReturnValue('100 MB');
49
65
  vi.stubEnv('SANDBOX', 'gemini-test');
66
+ vi.useFakeTimers();
67
+ vi.setSystemTime(new Date('2024-01-01T00:00:00Z'));
50
68
  });
51
69
  afterEach(() => {
52
70
  vi.unstubAllEnvs();
53
71
  vi.clearAllMocks();
72
+ vi.useRealTimers();
54
73
  });
55
74
  it('should generate the default GitHub issue URL', async () => {
56
75
  const mockContext = createMockCommandContext({
@@ -59,6 +78,11 @@ describe('bugCommand', () => {
59
78
  getModel: () => 'gemini-pro',
60
79
  getBugCommand: () => undefined,
61
80
  getIdeMode: () => true,
81
+ getGeminiClient: () => ({
82
+ getChat: () => ({
83
+ getHistory: () => [],
84
+ }),
85
+ }),
62
86
  },
63
87
  },
64
88
  });
@@ -78,10 +102,49 @@ describe('bugCommand', () => {
78
102
  * **Kitty Keyboard Protocol:** Supported
79
103
  * **IDE Client:** VSCode
80
104
  `;
81
- const expectedUrl = 'https://github.com/google-gemini/gemini-cli/issues/new?template=bug_report.yml&title=A%20test%20bug&info=' +
82
- encodeURIComponent(expectedInfo);
105
+ const expectedUrl = `https://github.com/google-gemini/gemini-cli/issues/new?template=bug_report.yml&title=A%20test%20bug&info=${encodeURIComponent(expectedInfo)}&problem=A%20test%20bug`;
83
106
  expect(open).toHaveBeenCalledWith(expectedUrl);
84
107
  });
108
+ it('should export chat history if available', async () => {
109
+ const history = [
110
+ { role: 'user', parts: [{ text: 'hello' }] },
111
+ { role: 'model', parts: [{ text: 'hi' }] },
112
+ ];
113
+ const mockContext = createMockCommandContext({
114
+ services: {
115
+ config: {
116
+ getModel: () => 'gemini-pro',
117
+ getBugCommand: () => undefined,
118
+ getIdeMode: () => true,
119
+ getGeminiClient: () => ({
120
+ getChat: () => ({
121
+ getHistory: () => history,
122
+ }),
123
+ }),
124
+ storage: {
125
+ getProjectTempDir: () => '/tmp/gemini',
126
+ },
127
+ },
128
+ },
129
+ });
130
+ if (!bugCommand.action)
131
+ throw new Error('Action is not defined');
132
+ await bugCommand.action(mockContext, 'Bug with history');
133
+ const expectedPath = path.join('/tmp/gemini', 'bug-report-history-1704067200000.json');
134
+ expect(exportHistoryToFile).toHaveBeenCalledWith({
135
+ history,
136
+ filePath: expectedPath,
137
+ });
138
+ const addItemCall = vi.mocked(mockContext.ui.addItem).mock.calls[0];
139
+ const messageText = addItemCall[0].text;
140
+ expect(messageText).toContain(expectedPath);
141
+ expect(messageText).toContain('📄 **Chat History Exported**');
142
+ expect(messageText).toContain('Privacy Disclaimer:');
143
+ expect(messageText).not.toContain('additional-context=');
144
+ expect(messageText).toContain('problem=');
145
+ const reminder = '\n\n[ACTION REQUIRED] 📎 PLEASE ATTACH THE EXPORTED CHAT HISTORY JSON FILE TO THIS ISSUE IF YOU FEEL COMFORTABLE SHARING IT.';
146
+ expect(messageText).toContain(encodeURIComponent(reminder));
147
+ });
85
148
  it('should use a custom URL template from config if provided', async () => {
86
149
  const customTemplate = 'https://internal.bug-tracker.com/new?desc={title}&details={info}';
87
150
  const mockContext = createMockCommandContext({
@@ -90,6 +153,11 @@ describe('bugCommand', () => {
90
153
  getModel: () => 'gemini-pro',
91
154
  getBugCommand: () => ({ urlTemplate: customTemplate }),
92
155
  getIdeMode: () => true,
156
+ getGeminiClient: () => ({
157
+ getChat: () => ({
158
+ getHistory: () => [],
159
+ }),
160
+ }),
93
161
  },
94
162
  },
95
163
  });
@@ -1 +1 @@
1
- {"version":3,"file":"bugCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/bugCommand.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bugCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/bugCommand.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,5 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { SlashCommand } from './types.js';
7
- import type { Content } from '@google/genai';
8
- export declare function serializeHistoryToMarkdown(history: Content[]): string;
7
+ export declare const debugCommand: SlashCommand;
9
8
  export declare const chatCommand: SlashCommand;
@@ -11,6 +11,8 @@ import { CommandKind } from './types.js';
11
11
  import { decodeTagName, INITIAL_HISTORY_LENGTH, } from '@google/gemini-cli-core';
12
12
  import path from 'node:path';
13
13
  import { MessageType } from '../types.js';
14
+ import { exportHistoryToFile } from '../utils/historyExportUtils.js';
15
+ import { convertToRestPayload } from '@google/gemini-cli-core';
14
16
  const getSavedChatTags = async (context, mtSortDesc) => {
15
17
  const cfg = context.services.config;
16
18
  const geminiDir = cfg?.storage?.getProjectTempDir();
@@ -217,28 +219,6 @@ const deleteCommand = {
217
219
  .filter((name) => name.startsWith(partialArg));
218
220
  },
219
221
  };
220
- export function serializeHistoryToMarkdown(history) {
221
- return history
222
- .map((item) => {
223
- const text = item.parts
224
- ?.map((part) => {
225
- if (part.text) {
226
- return part.text;
227
- }
228
- if (part.functionCall) {
229
- return `**Tool Command**:\n\`\`\`json\n${JSON.stringify(part.functionCall, null, 2)}\n\`\`\``;
230
- }
231
- if (part.functionResponse) {
232
- return `**Tool Response**:\n\`\`\`json\n${JSON.stringify(part.functionResponse, null, 2)}\n\`\`\``;
233
- }
234
- return '';
235
- })
236
- .join('') || '';
237
- const roleIcon = item.role === 'user' ? '🧑‍💻' : '✨';
238
- return `## ${(item.role || 'model').toUpperCase()} ${roleIcon}\n\n${text}`;
239
- })
240
- .join('\n\n---\n\n');
241
- }
242
222
  const shareCommand = {
243
223
  name: 'share',
244
224
  description: 'Share the current conversation to a markdown or json file. Usage: /chat share <file>',
@@ -277,15 +257,8 @@ const shareCommand = {
277
257
  content: 'No conversation found to share.',
278
258
  };
279
259
  }
280
- let content = '';
281
- if (extension === '.json') {
282
- content = JSON.stringify(history, null, 2);
283
- }
284
- else {
285
- content = serializeHistoryToMarkdown(history);
286
- }
287
260
  try {
288
- await fsPromises.writeFile(filePath, content);
261
+ await exportHistoryToFile({ history, filePath });
289
262
  return {
290
263
  type: 'message',
291
264
  messageType: 'info',
@@ -302,6 +275,41 @@ const shareCommand = {
302
275
  }
303
276
  },
304
277
  };
278
+ export const debugCommand = {
279
+ name: 'debug',
280
+ description: 'Export the most recent API request as a JSON payload',
281
+ kind: CommandKind.BUILT_IN,
282
+ autoExecute: true,
283
+ action: async (context) => {
284
+ const req = context.services.config?.getLatestApiRequest();
285
+ if (!req) {
286
+ return {
287
+ type: 'message',
288
+ messageType: 'error',
289
+ content: 'No recent API request found to export.',
290
+ };
291
+ }
292
+ const restPayload = convertToRestPayload(req);
293
+ const filename = `gcli-request-${Date.now()}.json`;
294
+ const filePath = path.join(process.cwd(), filename);
295
+ try {
296
+ await fsPromises.writeFile(filePath, JSON.stringify(restPayload, null, 2));
297
+ return {
298
+ type: 'message',
299
+ messageType: 'info',
300
+ content: `Debug API request saved to ${filename}`,
301
+ };
302
+ }
303
+ catch (err) {
304
+ const errorMessage = err instanceof Error ? err.message : String(err);
305
+ return {
306
+ type: 'message',
307
+ messageType: 'error',
308
+ content: `Error saving debug request: ${errorMessage}`,
309
+ };
310
+ }
311
+ },
312
+ };
305
313
  export const chatCommand = {
306
314
  name: 'chat',
307
315
  description: 'Manage conversation history',
@@ -1 +1 @@
1
- {"version":3,"file":"chatCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/chatCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,UAAU,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAM9C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,aAAa,EAEb,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,IAAI,MAAM,WAAW,CAAC;AAM7B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1C,MAAM,gBAAgB,GAAG,KAAK,EAC5B,OAAuB,EACvB,UAAmB,EACI,EAAE;IACzB,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACpC,MAAM,SAAS,GAAG,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,aAAa,CAAC;QAChC,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,WAAW,GAAiB,EAAE,CAAC;QAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAChE,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC;oBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACxB,UAAU;YACR,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;YAChC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CACnC,CAAC;QAEF,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,IAAI,EAAE,CAAC;QACd,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,WAAW,GAAiB;IAChC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,qCAAqC;IAClD,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAiB,EAAE;QACvC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE3D,MAAM,IAAI,GAAwB;YAChC,IAAI,EAAE,WAAW,CAAC,SAAS;YAC3B,KAAK,EAAE,WAAW;SACnB,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvC,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,GAAiB;IAChC,IAAI,EAAE,MAAM;IACZ,WAAW,EACT,wEAAwE;IAC1E,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAA4C,EAAE;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,sCAAsC;aAChD,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5C,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAE1B,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO;oBACL,IAAI,EAAE,gBAAgB;oBACtB,MAAM,EAAE,KAAK,CAAC,aAAa,CACzB,IAAI,EACJ,IAAI,EACJ,4BAA4B,EAC5B,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,EAC5D,+CAA+C,CAChD;oBACD,kBAAkB,EAAE;wBAClB,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,cAAc,GAAG,EAAE;qBACpD;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,gDAAgD;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,OAAO,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,MAAM,EAAE,yBAAyB,EAAE,EAAE,QAAQ,CAAC;YAC/D,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,CAAC,CAAC;YACxD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,2CAA2C,aAAa,CAC/D,GAAG,CACJ,GAAG;aACL,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,gCAAgC;aAC1C,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,aAAa,GAAiB;IAClC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,WAAW,EACT,oEAAoE;IACtE,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,wCAAwC;aAClD,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QAC5C,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,CAAC;QAExC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,uCAAuC,aAAa,CAAC,GAAG,CAAC,GAAG;aACtE,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,EAAE,yBAAyB,EAAE,EAAE,QAAQ,CAAC;QACtE,IACE,UAAU,CAAC,QAAQ;YACnB,eAAe;YACf,UAAU,CAAC,QAAQ,KAAK,eAAe,EACvC,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,4EAA4E,UAAU,CAAC,QAAQ,2BAA2B,eAAe,IAAI;aACvJ,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAmC;YAC9C,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,KAAK,EAAE,WAAW,CAAC,MAAM;SAC1B,CAAC;QAEF,MAAM,SAAS,GAA2B,EAAE,CAAC;QAE7C,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC9D,MAAM,IAAI,GACR,IAAI,CAAC,KAAK;gBACR,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;iBACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,SAAS;YACX,CAAC;YAED,SAAS,CAAC,IAAI,CAAC;gBACb,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,WAAW,CAAC,MAAM;gBAC7D,IAAI;aACmB,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO;YACL,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,SAAS;YAClB,aAAa,EAAE,YAAY;SAC5B,CAAC;IACJ,CAAC;IACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,WAAW;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;CACF,CAAC;AAEF,MAAM,aAAa,GAAiB;IAClC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,6DAA6D;IAC1E,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,IAAI;IACjB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAgC,EAAE;QAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,wCAAwC;aAClD,CAAC;QACJ,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;QACpC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,4BAA4B,aAAa,CAAC,GAAG,CAAC,qBAAqB;aAC7E,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,wCAAwC,aAAa,CAAC,GAAG,CAAC,IAAI;aACxE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;QACxC,MAAM,WAAW,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC1D,OAAO,WAAW;aACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;IACnD,CAAC;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,OAAkB;IAC3D,OAAO,OAAO;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,MAAM,IAAI,GACR,IAAI,CAAC,KAAK;YACR,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,IAAI,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,kCAAkC,IAAI,CAAC,SAAS,CACrD,IAAI,CAAC,YAAY,EACjB,IAAI,EACJ,CAAC,CACF,UAAU,CAAC;YACd,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,OAAO,mCAAmC,IAAI,CAAC,SAAS,CACtD,IAAI,CAAC,gBAAgB,EACrB,IAAI,EACJ,CAAC,CACF,UAAU,CAAC;YACd,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,IAAI,QAAQ,OAAO,IAAI,EAAE,CAAC;IAC7E,CAAC,CAAC;SACD,IAAI,CAAC,aAAa,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,YAAY,GAAiB;IACjC,IAAI,EAAE,OAAO;IACb,WAAW,EACT,sFAAsF;IACxF,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,KAAK;IAClB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAgC,EAAE;QAC5D,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,uBAAuB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC;QACzD,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACjD,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,wDAAwD;aAClE,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC;QACnE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,iDAAiD;aAC3D,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAElC,0EAA0E;QAC1E,uEAAuE;QACvE,4BAA4B;QAC5B,IAAI,OAAO,CAAC,MAAM,IAAI,sBAAsB,EAAE,CAAC;YAC7C,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,iCAAiC;aAC3C,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,0BAA0B,QAAQ,EAAE;aAC9C,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtE,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,OAAO;gBACpB,OAAO,EAAE,+BAA+B,YAAY,EAAE;aACvD,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,6BAA6B;IAC1C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,WAAW,EAAE,KAAK;IAClB,WAAW,EAAE;QACX,WAAW;QACX,WAAW;QACX,aAAa;QACb,aAAa;QACb,YAAY;KACb;CACF,CAAC"}
1
+ {"version":3,"file":"chatCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/chatCommand.ts"],"names":[],"mappings":"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"}
@@ -7,15 +7,24 @@ import { vi, describe, it, expect, beforeEach, afterEach } from 'vitest';
7
7
  import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
8
8
  import { AuthType } from '@google/gemini-cli-core';
9
9
  import * as fsPromises from 'node:fs/promises';
10
- import { chatCommand, serializeHistoryToMarkdown } from './chatCommand.js';
10
+ import { chatCommand, debugCommand } from './chatCommand.js';
11
+ import { serializeHistoryToMarkdown, exportHistoryToFile, } from '../utils/historyExportUtils.js';
11
12
  import path from 'node:path';
12
13
  vi.mock('fs/promises', () => ({
13
14
  stat: vi.fn(),
14
15
  readdir: vi.fn().mockResolvedValue(['file1.txt', 'file2.txt']),
15
16
  writeFile: vi.fn(),
16
17
  }));
18
+ vi.mock('../utils/historyExportUtils.js', async (importOriginal) => {
19
+ const actual = await importOriginal();
20
+ return {
21
+ ...actual,
22
+ exportHistoryToFile: vi.fn(),
23
+ };
24
+ });
17
25
  describe('chatCommand', () => {
18
- const mockFs = fsPromises;
26
+ const mockFs = vi.mocked(fsPromises);
27
+ const mockExport = vi.mocked(exportHistoryToFile);
19
28
  let mockContext;
20
29
  let mockGetChat;
21
30
  let mockSaveCheckpoint;
@@ -348,9 +357,10 @@ describe('chatCommand', () => {
348
357
  it('should default to a json file if no path is provided', async () => {
349
358
  const result = await shareCommand?.action?.(mockContext, '');
350
359
  const expectedPath = path.join(process.cwd(), 'gemini-conversation-1234567890.json');
351
- const [actualPath, actualContent] = mockFs.writeFile.mock.calls[0];
352
- expect(actualPath).toEqual(expectedPath);
353
- expect(actualContent).toEqual(JSON.stringify(mockHistory, null, 2));
360
+ expect(mockExport).toHaveBeenCalledWith({
361
+ history: mockHistory,
362
+ filePath: expectedPath,
363
+ });
354
364
  expect(result).toEqual({
355
365
  type: 'message',
356
366
  messageType: 'info',
@@ -361,9 +371,10 @@ describe('chatCommand', () => {
361
371
  const filePath = 'my-chat.json';
362
372
  const result = await shareCommand?.action?.(mockContext, filePath);
363
373
  const expectedPath = path.join(process.cwd(), 'my-chat.json');
364
- const [actualPath, actualContent] = mockFs.writeFile.mock.calls[0];
365
- expect(actualPath).toEqual(expectedPath);
366
- expect(actualContent).toEqual(JSON.stringify(mockHistory, null, 2));
374
+ expect(mockExport).toHaveBeenCalledWith({
375
+ history: mockHistory,
376
+ filePath: expectedPath,
377
+ });
367
378
  expect(result).toEqual({
368
379
  type: 'message',
369
380
  messageType: 'info',
@@ -374,30 +385,10 @@ describe('chatCommand', () => {
374
385
  const filePath = 'my-chat.md';
375
386
  const result = await shareCommand?.action?.(mockContext, filePath);
376
387
  const expectedPath = path.join(process.cwd(), 'my-chat.md');
377
- const [actualPath, actualContent] = mockFs.writeFile.mock.calls[0];
378
- expect(actualPath).toEqual(expectedPath);
379
- const expectedContent = `## USER 🧑‍💻
380
-
381
- context
382
-
383
- ---
384
-
385
- ## MODEL ✨
386
-
387
- context response
388
-
389
- ---
390
-
391
- ## USER 🧑‍💻
392
-
393
- Hello
394
-
395
- ---
396
-
397
- ## MODEL ✨
398
-
399
- Hi there!`;
400
- expect(actualContent).toEqual(expectedContent);
388
+ expect(mockExport).toHaveBeenCalledWith({
389
+ history: mockHistory,
390
+ filePath: expectedPath,
391
+ });
401
392
  expect(result).toEqual({
402
393
  type: 'message',
403
394
  messageType: 'info',
@@ -407,7 +398,7 @@ Hi there!`;
407
398
  it('should return an error for unsupported file extensions', async () => {
408
399
  const filePath = 'my-chat.txt';
409
400
  const result = await shareCommand?.action?.(mockContext, filePath);
410
- expect(mockFs.writeFile).not.toHaveBeenCalled();
401
+ expect(mockExport).not.toHaveBeenCalled();
411
402
  expect(result).toEqual({
412
403
  type: 'message',
413
404
  messageType: 'error',
@@ -419,7 +410,7 @@ Hi there!`;
419
410
  { role: 'user', parts: [{ text: 'context' }] },
420
411
  ]);
421
412
  const result = await shareCommand?.action?.(mockContext, 'my-chat.json');
422
- expect(mockFs.writeFile).not.toHaveBeenCalled();
413
+ expect(mockExport).not.toHaveBeenCalled();
423
414
  expect(result).toEqual({
424
415
  type: 'message',
425
416
  messageType: 'info',
@@ -428,7 +419,7 @@ Hi there!`;
428
419
  });
429
420
  it('should handle errors during file writing', async () => {
430
421
  const error = new Error('Permission denied');
431
- mockFs.writeFile.mockRejectedValue(error);
422
+ mockExport.mockRejectedValue(error);
432
423
  const result = await shareCommand?.action?.(mockContext, 'my-chat.json');
433
424
  expect(result).toEqual({
434
425
  type: 'message',
@@ -440,29 +431,18 @@ Hi there!`;
440
431
  const filePath = 'my-chat.json';
441
432
  await shareCommand?.action?.(mockContext, filePath);
442
433
  const expectedPath = path.join(process.cwd(), 'my-chat.json');
443
- const [actualPath, actualContent] = mockFs.writeFile.mock.calls[0];
444
- expect(actualPath).toEqual(expectedPath);
445
- const parsedContent = JSON.parse(actualContent);
446
- expect(Array.isArray(parsedContent)).toBe(true);
447
- parsedContent.forEach((item) => {
448
- expect(item).toHaveProperty('role');
449
- expect(item).toHaveProperty('parts');
450
- expect(Array.isArray(item.parts)).toBe(true);
434
+ expect(mockExport).toHaveBeenCalledWith({
435
+ history: mockHistory,
436
+ filePath: expectedPath,
451
437
  });
452
438
  });
453
439
  it('should output correct markdown format', async () => {
454
440
  const filePath = 'my-chat.md';
455
441
  await shareCommand?.action?.(mockContext, filePath);
456
442
  const expectedPath = path.join(process.cwd(), 'my-chat.md');
457
- const [actualPath, actualContent] = mockFs.writeFile.mock.calls[0];
458
- expect(actualPath).toEqual(expectedPath);
459
- const entries = actualContent.split('\n\n---\n\n');
460
- expect(entries.length).toBe(mockHistory.length);
461
- entries.forEach((entry, index) => {
462
- const { role, parts } = mockHistory[index];
463
- const text = parts.map((p) => p.text).join('');
464
- const roleIcon = role === 'user' ? '🧑‍💻' : '✨';
465
- expect(entry).toBe(`## ${role.toUpperCase()} ${roleIcon}\n\n${text}`);
443
+ expect(mockExport).toHaveBeenCalledWith({
444
+ history: mockHistory,
445
+ filePath: expectedPath,
466
446
  });
467
447
  });
468
448
  });
@@ -588,6 +568,53 @@ Hi there!`;
588
568
  const result = serializeHistoryToMarkdown(history);
589
569
  expect(result).toBe(expectedMarkdown);
590
570
  });
571
+ describe('debug subcommand', () => {
572
+ let mockGetLatestApiRequest;
573
+ beforeEach(() => {
574
+ mockGetLatestApiRequest = vi.fn();
575
+ mockContext.services.config.getLatestApiRequest =
576
+ mockGetLatestApiRequest;
577
+ vi.spyOn(process, 'cwd').mockReturnValue('/project/root');
578
+ vi.spyOn(Date, 'now').mockReturnValue(1234567890);
579
+ mockFs.writeFile.mockClear();
580
+ });
581
+ it('should return an error if no API request is found', async () => {
582
+ mockGetLatestApiRequest.mockReturnValue(undefined);
583
+ const result = await debugCommand.action?.(mockContext, '');
584
+ expect(result).toEqual({
585
+ type: 'message',
586
+ messageType: 'error',
587
+ content: 'No recent API request found to export.',
588
+ });
589
+ expect(mockFs.writeFile).not.toHaveBeenCalled();
590
+ });
591
+ it('should convert and write the API request to a json file', async () => {
592
+ const mockRequest = {
593
+ contents: [{ role: 'user', parts: [{ text: 'test' }] }],
594
+ };
595
+ mockGetLatestApiRequest.mockReturnValue(mockRequest);
596
+ const result = await debugCommand.action?.(mockContext, '');
597
+ const expectedFilename = 'gcli-request-1234567890.json';
598
+ const expectedPath = path.join('/project/root', expectedFilename);
599
+ expect(mockFs.writeFile).toHaveBeenCalledWith(expectedPath, expect.stringContaining('"role": "user"'));
600
+ expect(result).toEqual({
601
+ type: 'message',
602
+ messageType: 'info',
603
+ content: `Debug API request saved to ${expectedFilename}`,
604
+ });
605
+ });
606
+ it('should handle errors during file write', async () => {
607
+ const mockRequest = { contents: [] };
608
+ mockGetLatestApiRequest.mockReturnValue(mockRequest);
609
+ mockFs.writeFile.mockRejectedValue(new Error('Write failed'));
610
+ const result = await debugCommand.action?.(mockContext, '');
611
+ expect(result).toEqual({
612
+ type: 'message',
613
+ messageType: 'error',
614
+ content: 'Error saving debug request: Write failed',
615
+ });
616
+ });
617
+ });
591
618
  });
592
619
  });
593
620
  //# sourceMappingURL=chatCommand.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chatCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/chatCommand.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatCommand.test.js","sourceRoot":"","sources":["../../../../src/ui/commands/chatCommand.test.ts"],"names":[],"mappings":"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"}