@google/gemini-cli 0.3.0-nightly.20250823.1a89d185 → 0.3.0-preview.1

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 (509) hide show
  1. package/dist/index.js +9 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +7 -7
  4. package/dist/src/commands/extensions/disable.d.ts +14 -0
  5. package/dist/src/commands/extensions/disable.js +42 -0
  6. package/dist/src/commands/extensions/disable.js.map +1 -0
  7. package/dist/src/commands/extensions/enable.d.ts +14 -0
  8. package/dist/src/commands/extensions/enable.js +48 -0
  9. package/dist/src/commands/extensions/enable.js.map +1 -0
  10. package/dist/src/commands/extensions/install.d.ts +13 -0
  11. package/dist/src/commands/extensions/install.js +48 -0
  12. package/dist/src/commands/extensions/install.js.map +1 -0
  13. package/dist/src/commands/extensions/install.test.js +19 -0
  14. package/dist/src/commands/extensions/install.test.js.map +1 -0
  15. package/dist/src/commands/extensions/list.d.ts +8 -0
  16. package/dist/src/commands/extensions/list.js +32 -0
  17. package/dist/src/commands/extensions/list.js.map +1 -0
  18. package/dist/src/commands/extensions/uninstall.d.ts +12 -0
  19. package/dist/src/commands/extensions/uninstall.js +38 -0
  20. package/dist/src/commands/extensions/uninstall.js.map +1 -0
  21. package/dist/src/commands/extensions/uninstall.test.d.ts +6 -0
  22. package/dist/src/commands/extensions/uninstall.test.js +15 -0
  23. package/dist/src/commands/extensions/uninstall.test.js.map +1 -0
  24. package/dist/src/commands/extensions/update.d.ts +12 -0
  25. package/dist/src/commands/extensions/update.js +38 -0
  26. package/dist/src/commands/extensions/update.js.map +1 -0
  27. package/dist/src/commands/extensions.d.ts +7 -0
  28. package/dist/src/commands/extensions.js +29 -0
  29. package/dist/src/commands/extensions.js.map +1 -0
  30. package/dist/src/commands/mcp/list.js +1 -1
  31. package/dist/src/commands/mcp/list.js.map +1 -1
  32. package/dist/src/config/auth.js +0 -9
  33. package/dist/src/config/auth.js.map +1 -1
  34. package/dist/src/config/config.d.ts +6 -6
  35. package/dist/src/config/config.js +65 -59
  36. package/dist/src/config/config.js.map +1 -1
  37. package/dist/src/config/extension.d.ts +40 -2
  38. package/dist/src/config/extension.js +267 -14
  39. package/dist/src/config/extension.js.map +1 -1
  40. package/dist/src/config/extensions/variableSchema.d.ts +28 -0
  41. package/dist/src/config/extensions/variableSchema.js +18 -0
  42. package/dist/src/config/extensions/variableSchema.js.map +1 -0
  43. package/dist/src/config/extensions/variables.d.ts +17 -0
  44. package/dist/src/config/extensions/variables.js +40 -0
  45. package/dist/src/config/extensions/variables.js.map +1 -0
  46. package/dist/src/config/extensions/variables.test.d.ts +6 -0
  47. package/dist/src/config/extensions/variables.test.js +17 -0
  48. package/dist/src/config/extensions/variables.test.js.map +1 -0
  49. package/dist/src/config/keyBindings.test.js +1 -1
  50. package/dist/src/config/keyBindings.test.js.map +1 -1
  51. package/dist/src/config/sandboxConfig.d.ts +2 -2
  52. package/dist/src/config/sandboxConfig.js +5 -7
  53. package/dist/src/config/sandboxConfig.js.map +1 -1
  54. package/dist/src/config/settings.d.ts +9 -4
  55. package/dist/src/config/settings.js +342 -80
  56. package/dist/src/config/settings.js.map +1 -1
  57. package/dist/src/config/settingsSchema.d.ts +630 -440
  58. package/dist/src/config/settingsSchema.js +626 -436
  59. package/dist/src/config/settingsSchema.js.map +1 -1
  60. package/dist/src/config/settingsSchema.test.js +85 -98
  61. package/dist/src/config/settingsSchema.test.js.map +1 -1
  62. package/dist/src/config/trustedFolders.d.ts +1 -1
  63. package/dist/src/config/trustedFolders.js +5 -5
  64. package/dist/src/config/trustedFolders.js.map +1 -1
  65. package/dist/src/config/trustedFolders.test.js +9 -5
  66. package/dist/src/config/trustedFolders.test.js.map +1 -1
  67. package/dist/src/gemini.d.ts +3 -1
  68. package/dist/src/gemini.js +51 -44
  69. package/dist/src/gemini.js.map +1 -1
  70. package/dist/src/gemini.test.js +78 -24
  71. package/dist/src/gemini.test.js.map +1 -1
  72. package/dist/src/generated/git-commit.d.ts +2 -2
  73. package/dist/src/generated/git-commit.js +2 -2
  74. package/dist/src/generated/git-commit.js.map +1 -1
  75. package/dist/src/nonInteractiveCli.d.ts +1 -1
  76. package/dist/src/nonInteractiveCli.js +4 -6
  77. package/dist/src/nonInteractiveCli.js.map +1 -1
  78. package/dist/src/services/BuiltinCommandLoader.d.ts +3 -3
  79. package/dist/src/services/CommandService.d.ts +2 -2
  80. package/dist/src/services/CommandService.test.js +1 -0
  81. package/dist/src/services/CommandService.test.js.map +1 -1
  82. package/dist/src/services/FileCommandLoader.d.ts +3 -3
  83. package/dist/src/services/FileCommandLoader.js +22 -13
  84. package/dist/src/services/FileCommandLoader.js.map +1 -1
  85. package/dist/src/services/McpPromptLoader.d.ts +4 -4
  86. package/dist/src/services/McpPromptLoader.js +2 -2
  87. package/dist/src/services/McpPromptLoader.js.map +1 -1
  88. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +3 -3
  89. package/dist/src/services/prompt-processors/argumentProcessor.js +3 -2
  90. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -1
  91. package/dist/src/services/prompt-processors/atFileProcessor.d.ts +12 -0
  92. package/dist/src/services/prompt-processors/atFileProcessor.js +62 -0
  93. package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -0
  94. package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +6 -0
  95. package/dist/src/services/prompt-processors/atFileProcessor.test.js +174 -0
  96. package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +1 -0
  97. package/dist/src/services/prompt-processors/injectionParser.d.ts +29 -0
  98. package/dist/src/services/prompt-processors/injectionParser.js +60 -0
  99. package/dist/src/services/prompt-processors/injectionParser.js.map +1 -0
  100. package/dist/src/services/prompt-processors/injectionParser.test.d.ts +6 -0
  101. package/dist/src/services/prompt-processors/injectionParser.test.js +189 -0
  102. package/dist/src/services/prompt-processors/injectionParser.test.js.map +1 -0
  103. package/dist/src/services/prompt-processors/shellProcessor.d.ts +4 -12
  104. package/dist/src/services/prompt-processors/shellProcessor.js +17 -58
  105. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  106. package/dist/src/services/prompt-processors/types.d.ts +13 -8
  107. package/dist/src/services/prompt-processors/types.js +4 -0
  108. package/dist/src/services/prompt-processors/types.js.map +1 -1
  109. package/dist/src/services/types.d.ts +1 -1
  110. package/dist/src/test-utils/customMatchers.js +0 -6
  111. package/dist/src/test-utils/customMatchers.js.map +1 -1
  112. package/dist/src/test-utils/mockCommandContext.d.ts +1 -1
  113. package/dist/src/test-utils/render.d.ts +1 -1
  114. package/dist/src/ui/App.d.ts +2 -2
  115. package/dist/src/ui/App.js +47 -28
  116. package/dist/src/ui/App.js.map +1 -1
  117. package/dist/src/ui/IdeIntegrationNudge.d.ts +1 -1
  118. package/dist/src/ui/IdeIntegrationNudge.js +2 -7
  119. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -1
  120. package/dist/src/ui/colors.d.ts +1 -1
  121. package/dist/src/ui/commands/aboutCommand.d.ts +1 -1
  122. package/dist/src/ui/commands/aboutCommand.js +2 -9
  123. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  124. package/dist/src/ui/commands/authCommand.d.ts +1 -1
  125. package/dist/src/ui/commands/authCommand.js.map +1 -1
  126. package/dist/src/ui/commands/chatCommand.d.ts +1 -1
  127. package/dist/src/ui/commands/chatCommand.js +3 -3
  128. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  129. package/dist/src/ui/commands/clearCommand.d.ts +1 -1
  130. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  131. package/dist/src/ui/commands/compressCommand.d.ts +1 -1
  132. package/dist/src/ui/commands/compressCommand.js +2 -0
  133. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  134. package/dist/src/ui/commands/copyCommand.d.ts +1 -1
  135. package/dist/src/ui/commands/copyCommand.js +1 -1
  136. package/dist/src/ui/commands/copyCommand.js.map +1 -1
  137. package/dist/src/ui/commands/directoryCommand.d.ts +1 -1
  138. package/dist/src/ui/commands/directoryCommand.js +5 -4
  139. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  140. package/dist/src/ui/commands/helpCommand.d.ts +1 -1
  141. package/dist/src/ui/commands/helpCommand.js.map +1 -1
  142. package/dist/src/ui/commands/ideCommand.d.ts +2 -2
  143. package/dist/src/ui/commands/ideCommand.js +6 -8
  144. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  145. package/dist/src/ui/commands/initCommand.d.ts +1 -1
  146. package/dist/src/ui/commands/initCommand.js +3 -3
  147. package/dist/src/ui/commands/initCommand.js.map +1 -1
  148. package/dist/src/ui/commands/mcpCommand.d.ts +1 -1
  149. package/dist/src/ui/commands/mcpCommand.js +1 -1
  150. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  151. package/dist/src/ui/commands/memoryCommand.d.ts +1 -1
  152. package/dist/src/ui/commands/memoryCommand.js +4 -3
  153. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  154. package/dist/src/ui/commands/privacyCommand.d.ts +1 -1
  155. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  156. package/dist/src/ui/commands/restoreCommand.d.ts +1 -1
  157. package/dist/src/ui/commands/restoreCommand.js +2 -2
  158. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  159. package/dist/src/ui/commands/settingsCommand.d.ts +1 -1
  160. package/dist/src/ui/commands/settingsCommand.js.map +1 -1
  161. package/dist/src/ui/commands/setupGithubCommand.d.ts +2 -1
  162. package/dist/src/ui/commands/setupGithubCommand.js +10 -9
  163. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  164. package/dist/src/ui/commands/setupGithubCommand.test.js +2 -7
  165. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
  166. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  167. package/dist/src/ui/commands/terminalSetupCommand.d.ts +1 -1
  168. package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -1
  169. package/dist/src/ui/commands/themeCommand.d.ts +1 -1
  170. package/dist/src/ui/commands/themeCommand.js.map +1 -1
  171. package/dist/src/ui/commands/toolsCommand.js +1 -1
  172. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  173. package/dist/src/ui/commands/types.d.ts +7 -8
  174. package/dist/src/ui/commands/types.js +1 -0
  175. package/dist/src/ui/commands/types.js.map +1 -1
  176. package/dist/src/ui/commands/vimCommand.d.ts +1 -1
  177. package/dist/src/ui/commands/vimCommand.js.map +1 -1
  178. package/dist/src/ui/components/AboutBox.d.ts +1 -3
  179. package/dist/src/ui/components/AboutBox.js +1 -2
  180. package/dist/src/ui/components/AboutBox.js.map +1 -1
  181. package/dist/src/ui/components/AuthDialog.d.ts +3 -2
  182. package/dist/src/ui/components/AuthDialog.js +4 -13
  183. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  184. package/dist/src/ui/components/AuthDialog.test.js +83 -49
  185. package/dist/src/ui/components/AuthDialog.test.js.map +1 -1
  186. package/dist/src/ui/components/AuthInProgress.d.ts +1 -1
  187. package/dist/src/ui/components/AuthInProgress.js +0 -5
  188. package/dist/src/ui/components/AuthInProgress.js.map +1 -1
  189. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +1 -1
  190. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +1 -1
  191. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +1 -1
  192. package/dist/src/ui/components/ContextSummaryDisplay.js +1 -0
  193. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  194. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +2 -2
  195. package/dist/src/ui/components/EditorSettingsDialog.d.ts +4 -3
  196. package/dist/src/ui/components/EditorSettingsDialog.js +8 -11
  197. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  198. package/dist/src/ui/components/FolderTrustDialog.d.ts +1 -1
  199. package/dist/src/ui/components/FolderTrustDialog.js +2 -2
  200. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  201. package/dist/src/ui/components/FolderTrustDialog.test.js +1 -1
  202. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  203. package/dist/src/ui/components/Footer.d.ts +1 -1
  204. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +1 -1
  205. package/dist/src/ui/components/Header.d.ts +1 -1
  206. package/dist/src/ui/components/Help.d.ts +2 -2
  207. package/dist/src/ui/components/HistoryItemDisplay.d.ts +4 -4
  208. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  209. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  210. package/dist/src/ui/components/HistoryItemDisplay.test.js +2 -0
  211. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  212. package/dist/src/ui/components/InputPrompt.d.ts +5 -5
  213. package/dist/src/ui/components/InputPrompt.js +1 -6
  214. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  215. package/dist/src/ui/components/LoadingIndicator.d.ts +2 -2
  216. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +1 -1
  217. package/dist/src/ui/components/MemoryUsageDisplay.js +0 -5
  218. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  219. package/dist/src/ui/components/ModelStatsDisplay.d.ts +1 -1
  220. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  221. package/dist/src/ui/components/PrepareLabel.d.ts +1 -1
  222. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +1 -1
  223. package/dist/src/ui/components/SettingsDialog.d.ts +2 -1
  224. package/dist/src/ui/components/SettingsDialog.js +2 -2
  225. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  226. package/dist/src/ui/components/SettingsDialog.test.js +32 -14
  227. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  228. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +1 -1
  229. package/dist/src/ui/components/ShellConfirmationDialog.js +1 -1
  230. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  231. package/dist/src/ui/components/ShellModeIndicator.d.ts +1 -1
  232. package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
  233. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  234. package/dist/src/ui/components/SuggestionsDisplay.js +2 -1
  235. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  236. package/dist/src/ui/components/ThemeDialog.d.ts +3 -2
  237. package/dist/src/ui/components/ThemeDialog.js +5 -10
  238. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  239. package/dist/src/ui/components/Tips.d.ts +1 -1
  240. package/dist/src/ui/components/Tips.js +1 -0
  241. package/dist/src/ui/components/Tips.js.map +1 -1
  242. package/dist/src/ui/components/ToolStatsDisplay.d.ts +1 -1
  243. package/dist/src/ui/components/WorkspaceMigrationDialog.d.ts +11 -0
  244. package/dist/src/ui/components/WorkspaceMigrationDialog.js +42 -0
  245. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -0
  246. package/dist/src/ui/components/messages/CompressionMessage.d.ts +2 -2
  247. package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -1
  248. package/dist/src/ui/components/messages/DiffRenderer.js +2 -3
  249. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  250. package/dist/src/ui/components/messages/DiffRenderer.test.js +10 -11
  251. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
  252. package/dist/src/ui/components/messages/ErrorMessage.d.ts +1 -1
  253. package/dist/src/ui/components/messages/GeminiMessage.d.ts +1 -1
  254. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +1 -1
  255. package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -1
  256. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +3 -3
  257. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +41 -24
  258. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  259. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +87 -2
  260. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  261. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +4 -4
  262. package/dist/src/ui/components/messages/ToolGroupMessage.js +1 -6
  263. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  264. package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +6 -0
  265. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +259 -0
  266. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -0
  267. package/dist/src/ui/components/messages/ToolMessage.d.ts +1 -1
  268. package/dist/src/ui/components/messages/ToolMessage.js +2 -1
  269. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  270. package/dist/src/ui/components/messages/ToolMessage.test.js +6 -6
  271. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  272. package/dist/src/ui/components/messages/UserMessage.d.ts +1 -1
  273. package/dist/src/ui/components/messages/UserMessage.js +2 -1
  274. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  275. package/dist/src/ui/components/messages/UserShellMessage.d.ts +1 -1
  276. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +1 -1
  277. package/dist/src/ui/components/shared/RadioButtonSelect.js +0 -5
  278. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  279. package/dist/src/ui/components/shared/text-buffer.js +4 -4
  280. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  281. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +1 -1
  282. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
  283. package/dist/src/ui/constants.d.ts +8 -0
  284. package/dist/src/ui/constants.js +9 -0
  285. package/dist/src/ui/constants.js.map +1 -1
  286. package/dist/src/ui/contexts/KeypressContext.d.ts +2 -2
  287. package/dist/src/ui/contexts/KeypressContext.js +12 -22
  288. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  289. package/dist/src/ui/contexts/KeypressContext.test.js +66 -11
  290. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  291. package/dist/src/ui/contexts/OverflowContext.d.ts +1 -1
  292. package/dist/src/ui/contexts/OverflowContext.js +0 -5
  293. package/dist/src/ui/contexts/OverflowContext.js.map +1 -1
  294. package/dist/src/ui/contexts/SessionContext.d.ts +2 -2
  295. package/dist/src/ui/contexts/SessionContext.js +1 -6
  296. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  297. package/dist/src/ui/contexts/SettingsContext.d.ts +1 -1
  298. package/dist/src/ui/contexts/StreamingContext.d.ts +1 -1
  299. package/dist/src/ui/contexts/VimModeContext.d.ts +1 -1
  300. package/dist/src/ui/contexts/VimModeContext.js +4 -4
  301. package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
  302. package/dist/src/ui/hooks/atCommandProcessor.d.ts +3 -3
  303. package/dist/src/ui/hooks/atCommandProcessor.js +3 -3
  304. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  305. package/dist/src/ui/hooks/atCommandProcessor.test.js +11 -4
  306. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  307. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +3 -3
  308. package/dist/src/ui/hooks/shellCommandProcessor.js +7 -6
  309. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  310. package/dist/src/ui/hooks/shellCommandProcessor.test.js +5 -4
  311. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -1
  312. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +5 -4
  313. package/dist/src/ui/hooks/slashCommandProcessor.js +3 -1
  314. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  315. package/dist/src/ui/hooks/useAtCompletion.d.ts +2 -2
  316. package/dist/src/ui/hooks/useAtCompletion.js +2 -2
  317. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  318. package/dist/src/ui/hooks/useAuthCommand.d.ts +2 -2
  319. package/dist/src/ui/hooks/useAuthCommand.js +5 -4
  320. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  321. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +3 -1
  322. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +13 -4
  323. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  324. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +122 -2
  325. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  326. package/dist/src/ui/hooks/useCommandCompletion.d.ts +5 -5
  327. package/dist/src/ui/hooks/useCommandCompletion.js +2 -2
  328. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  329. package/dist/src/ui/hooks/useCompletion.d.ts +1 -1
  330. package/dist/src/ui/hooks/useCompletion.js +1 -1
  331. package/dist/src/ui/hooks/useCompletion.js.map +1 -1
  332. package/dist/src/ui/hooks/useConsoleMessages.d.ts +1 -1
  333. package/dist/src/ui/hooks/useEditorSettings.d.ts +2 -2
  334. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
  335. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -1
  336. package/dist/src/ui/hooks/useFolderTrust.d.ts +1 -1
  337. package/dist/src/ui/hooks/useFolderTrust.js +3 -2
  338. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  339. package/dist/src/ui/hooks/useGeminiStream.d.ts +4 -3
  340. package/dist/src/ui/hooks/useGeminiStream.js +18 -6
  341. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  342. package/dist/src/ui/hooks/useGitBranchName.js +1 -1
  343. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  344. package/dist/src/ui/hooks/useGitBranchName.test.js +1 -1
  345. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -1
  346. package/dist/src/ui/hooks/useHistoryManager.d.ts +1 -1
  347. package/dist/src/ui/hooks/useKeypress.d.ts +2 -2
  348. package/dist/src/ui/hooks/useKeypress.js +1 -1
  349. package/dist/src/ui/hooks/useKeypress.js.map +1 -1
  350. package/dist/src/ui/hooks/useLogger.d.ts +2 -1
  351. package/dist/src/ui/hooks/useLogger.js.map +1 -1
  352. package/dist/src/ui/hooks/usePrivacySettings.d.ts +1 -1
  353. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  354. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +1 -1
  355. package/dist/src/ui/hooks/usePromptCompletion.d.ts +2 -2
  356. package/dist/src/ui/hooks/usePromptCompletion.js +3 -2
  357. package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -1
  358. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +2 -2
  359. package/dist/src/ui/hooks/useReactToolScheduler.js +2 -2
  360. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  361. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +2 -2
  362. package/dist/src/ui/hooks/useShellHistory.js +2 -2
  363. package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
  364. package/dist/src/ui/hooks/useShellHistory.test.js +4 -4
  365. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -1
  366. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +3 -3
  367. package/dist/src/ui/hooks/useShowMemoryCommand.js +1 -1
  368. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -1
  369. package/dist/src/ui/hooks/useSlashCompletion.d.ts +2 -2
  370. package/dist/src/ui/hooks/useThemeCommand.d.ts +1 -1
  371. package/dist/src/ui/hooks/useThemeCommand.js +8 -8
  372. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  373. package/dist/src/ui/hooks/useToolScheduler.test.js +9 -6
  374. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  375. package/dist/src/ui/hooks/useWorkspaceMigration.d.ts +13 -0
  376. package/dist/src/ui/hooks/useWorkspaceMigration.js +53 -0
  377. package/dist/src/ui/hooks/useWorkspaceMigration.js.map +1 -0
  378. package/dist/src/ui/keyMatchers.d.ts +2 -1
  379. package/dist/src/ui/keyMatchers.js +1 -1
  380. package/dist/src/ui/keyMatchers.js.map +1 -1
  381. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  382. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +1 -1
  383. package/dist/src/ui/semantic-colors.d.ts +1 -1
  384. package/dist/src/ui/themes/atom-one-dark.js +1 -2
  385. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  386. package/dist/src/ui/themes/ayu-light.js +1 -2
  387. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  388. package/dist/src/ui/themes/ayu.js +1 -2
  389. package/dist/src/ui/themes/ayu.js.map +1 -1
  390. package/dist/src/ui/themes/default-light.js +1 -2
  391. package/dist/src/ui/themes/default-light.js.map +1 -1
  392. package/dist/src/ui/themes/default.js +1 -2
  393. package/dist/src/ui/themes/default.js.map +1 -1
  394. package/dist/src/ui/themes/dracula.js +1 -2
  395. package/dist/src/ui/themes/dracula.js.map +1 -1
  396. package/dist/src/ui/themes/github-dark.js +1 -2
  397. package/dist/src/ui/themes/github-dark.js.map +1 -1
  398. package/dist/src/ui/themes/github-light.js +1 -2
  399. package/dist/src/ui/themes/github-light.js.map +1 -1
  400. package/dist/src/ui/themes/googlecode.js +2 -3
  401. package/dist/src/ui/themes/googlecode.js.map +1 -1
  402. package/dist/src/ui/themes/no-color.js.map +1 -1
  403. package/dist/src/ui/themes/shades-of-purple.js +1 -2
  404. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  405. package/dist/src/ui/themes/theme-manager.d.ts +2 -2
  406. package/dist/src/ui/themes/theme-manager.js +1 -1
  407. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  408. package/dist/src/ui/themes/theme.d.ts +3 -3
  409. package/dist/src/ui/themes/theme.js +30 -2
  410. package/dist/src/ui/themes/theme.js.map +1 -1
  411. package/dist/src/ui/themes/xcode.js +1 -2
  412. package/dist/src/ui/themes/xcode.js.map +1 -1
  413. package/dist/src/ui/types.d.ts +4 -3
  414. package/dist/src/ui/types.js.map +1 -1
  415. package/dist/src/ui/utils/CodeColorizer.d.ts +2 -2
  416. package/dist/src/ui/utils/CodeColorizer.js +1 -1
  417. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  418. package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -1
  419. package/dist/src/ui/utils/ConsolePatcher.js +1 -1
  420. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  421. package/dist/src/ui/utils/MarkdownDisplay.js +1 -1
  422. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  423. package/dist/src/ui/utils/MarkdownDisplay.test.js +3 -3
  424. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  425. package/dist/src/ui/utils/clipboardUtils.js +4 -4
  426. package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
  427. package/dist/src/ui/utils/commandUtils.d.ts +1 -1
  428. package/dist/src/ui/utils/commandUtils.js +16 -3
  429. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  430. package/dist/src/ui/utils/commandUtils.test.js +12 -2
  431. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  432. package/dist/src/ui/utils/computeStats.d.ts +1 -1
  433. package/dist/src/ui/utils/platformConstants.d.ts +2 -0
  434. package/dist/src/ui/utils/platformConstants.js +2 -0
  435. package/dist/src/ui/utils/platformConstants.js.map +1 -1
  436. package/dist/src/ui/utils/terminalSetup.js +5 -5
  437. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  438. package/dist/src/ui/utils/textUtils.js +1 -1
  439. package/dist/src/ui/utils/textUtils.js.map +1 -1
  440. package/dist/src/ui/utils/updateCheck.d.ts +1 -1
  441. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  442. package/dist/src/utils/cleanup.js +2 -2
  443. package/dist/src/utils/cleanup.js.map +1 -1
  444. package/dist/src/utils/dialogScopeUtils.d.ts +2 -1
  445. package/dist/src/utils/dialogScopeUtils.js.map +1 -1
  446. package/dist/src/utils/errors.d.ts +6 -0
  447. package/dist/src/utils/errors.js +12 -0
  448. package/dist/src/utils/errors.js.map +1 -0
  449. package/dist/src/utils/events.d.ts +1 -1
  450. package/dist/src/utils/events.js +1 -1
  451. package/dist/src/utils/events.js.map +1 -1
  452. package/dist/src/utils/gitUtils.js +1 -1
  453. package/dist/src/utils/gitUtils.js.map +1 -1
  454. package/dist/src/utils/gitUtils.test.js +4 -4
  455. package/dist/src/utils/gitUtils.test.js.map +1 -1
  456. package/dist/src/utils/handleAutoUpdate.d.ts +4 -4
  457. package/dist/src/utils/handleAutoUpdate.js +4 -3
  458. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  459. package/dist/src/utils/installationInfo.js +3 -3
  460. package/dist/src/utils/installationInfo.js.map +1 -1
  461. package/dist/src/utils/installationInfo.test.js +3 -3
  462. package/dist/src/utils/installationInfo.test.js.map +1 -1
  463. package/dist/src/utils/package.js +2 -2
  464. package/dist/src/utils/package.js.map +1 -1
  465. package/dist/src/utils/readStdin.js +32 -56
  466. package/dist/src/utils/readStdin.js.map +1 -1
  467. package/dist/src/utils/readStdin.test.d.ts +6 -0
  468. package/dist/src/utils/readStdin.test.js +88 -0
  469. package/dist/src/utils/readStdin.test.js.map +1 -0
  470. package/dist/src/utils/resolvePath.js +2 -2
  471. package/dist/src/utils/resolvePath.js.map +1 -1
  472. package/dist/src/utils/sandbox.d.ts +1 -1
  473. package/dist/src/utils/sandbox.js +11 -19
  474. package/dist/src/utils/sandbox.js.map +1 -1
  475. package/dist/src/utils/settingsUtils.d.ts +2 -2
  476. package/dist/src/utils/settingsUtils.js +2 -8
  477. package/dist/src/utils/settingsUtils.js.map +1 -1
  478. package/dist/src/utils/settingsUtils.test.js +145 -148
  479. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  480. package/dist/src/utils/spawnWrapper.d.ts +1 -1
  481. package/dist/src/utils/spawnWrapper.js +1 -1
  482. package/dist/src/utils/spawnWrapper.js.map +1 -1
  483. package/dist/src/utils/startupWarnings.js +2 -2
  484. package/dist/src/utils/startupWarnings.js.map +1 -1
  485. package/dist/src/utils/updateEventEmitter.d.ts +1 -1
  486. package/dist/src/utils/updateEventEmitter.js +1 -1
  487. package/dist/src/utils/updateEventEmitter.js.map +1 -1
  488. package/dist/src/utils/userStartupWarnings.js +3 -3
  489. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  490. package/dist/src/utils/userStartupWarnings.test.js +3 -3
  491. package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
  492. package/dist/src/validateNonInterActiveAuth.d.ts +2 -1
  493. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  494. package/dist/src/zed-integration/acp.d.ts +1 -1
  495. package/dist/src/zed-integration/acp.js +1 -1
  496. package/dist/src/zed-integration/acp.js.map +1 -1
  497. package/dist/src/zed-integration/fileSystemService.d.ts +2 -2
  498. package/dist/src/zed-integration/schema.d.ts +306 -306
  499. package/dist/src/zed-integration/zedIntegration.d.ts +4 -4
  500. package/dist/src/zed-integration/zedIntegration.js +58 -58
  501. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  502. package/dist/tsconfig.tsbuildinfo +1 -1
  503. package/package.json +6 -6
  504. package/dist/src/utils/license.d.ts +0 -13
  505. package/dist/src/utils/license.js +0 -35
  506. package/dist/src/utils/license.js.map +0 -1
  507. package/dist/src/utils/license.test.js +0 -77
  508. package/dist/src/utils/license.test.js.map +0 -1
  509. /package/dist/src/{utils/license.test.d.ts → commands/extensions/install.test.d.ts} +0 -0
@@ -3,16 +3,17 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { promises as fs } from 'fs';
7
- import path from 'path';
6
+ import { promises as fs } from 'node:fs';
7
+ import path from 'node:path';
8
8
  import toml from '@iarna/toml';
9
9
  import { glob } from 'glob';
10
10
  import { z } from 'zod';
11
11
  import { Storage } from '@google/gemini-cli-core';
12
- import { CommandKind, } from '../ui/commands/types.js';
12
+ import { CommandKind } from '../ui/commands/types.js';
13
13
  import { DefaultArgumentProcessor } from './prompt-processors/argumentProcessor.js';
14
- import { SHORTHAND_ARGS_PLACEHOLDER, SHELL_INJECTION_TRIGGER, } from './prompt-processors/types.js';
14
+ import { SHORTHAND_ARGS_PLACEHOLDER, SHELL_INJECTION_TRIGGER, AT_FILE_INJECTION_TRIGGER, } from './prompt-processors/types.js';
15
15
  import { ConfirmationRequiredError, ShellProcessor, } from './prompt-processors/shellProcessor.js';
16
+ import { AtFileProcessor } from './prompt-processors/atFileProcessor.js';
16
17
  /**
17
18
  * Defines the Zod schema for a command definition file. This serves as the
18
19
  * single source of truth for both validation and type inference.
@@ -155,14 +156,20 @@ export class FileCommandLoader {
155
156
  const processors = [];
156
157
  const usesArgs = validDef.prompt.includes(SHORTHAND_ARGS_PLACEHOLDER);
157
158
  const usesShellInjection = validDef.prompt.includes(SHELL_INJECTION_TRIGGER);
158
- // Interpolation (Shell Execution and Argument Injection)
159
- // If the prompt uses either shell injection OR argument placeholders,
160
- // we must use the ShellProcessor.
159
+ const usesAtFileInjection = validDef.prompt.includes(AT_FILE_INJECTION_TRIGGER);
160
+ // 1. @-File Injection (Security First).
161
+ // This runs first to ensure we're not executing shell commands that
162
+ // could dynamically generate malicious @-paths.
163
+ if (usesAtFileInjection) {
164
+ processors.push(new AtFileProcessor(baseCommandName));
165
+ }
166
+ // 2. Argument and Shell Injection.
167
+ // This runs after file content has been safely injected.
161
168
  if (usesShellInjection || usesArgs) {
162
169
  processors.push(new ShellProcessor(baseCommandName));
163
170
  }
164
- // Default Argument Handling
165
- // If NO explicit argument injection ({{args}}) was used, we append the raw invocation.
171
+ // 3. Default Argument Handling.
172
+ // Appends the raw invocation if no explicit {{args}} are used.
166
173
  if (!usesArgs) {
167
174
  processors.push(new DefaultArgumentProcessor());
168
175
  }
@@ -176,17 +183,19 @@ export class FileCommandLoader {
176
183
  console.error(`[FileCommandLoader] Critical error: Command '${baseCommandName}' was executed without invocation context.`);
177
184
  return {
178
185
  type: 'submit_prompt',
179
- content: validDef.prompt, // Fallback to unprocessed prompt
186
+ content: [{ text: validDef.prompt }], // Fallback to unprocessed prompt
180
187
  };
181
188
  }
182
189
  try {
183
- let processedPrompt = validDef.prompt;
190
+ let processedContent = [
191
+ { text: validDef.prompt },
192
+ ];
184
193
  for (const processor of processors) {
185
- processedPrompt = await processor.process(processedPrompt, context);
194
+ processedContent = await processor.process(processedContent, context);
186
195
  }
187
196
  return {
188
197
  type: 'submit_prompt',
189
- content: processedPrompt,
198
+ content: processedContent,
190
199
  };
191
200
  }
192
201
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"FileCommandLoader.js","sourceRoot":"","sources":["../../../src/services/FileCommandLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileCommandLoader.js","sourceRoot":"","sources":["../../../src/services/FileCommandLoader.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,10 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Config } from '@google/gemini-cli-core';
7
- import { SlashCommand } from '../ui/commands/types.js';
8
- import { ICommandLoader } from './types.js';
9
- import { PromptArgument } from '@modelcontextprotocol/sdk/types.js';
6
+ import type { Config } from '@google/gemini-cli-core';
7
+ import type { SlashCommand } from '../ui/commands/types.js';
8
+ import type { ICommandLoader } from './types.js';
9
+ import type { PromptArgument } from '@modelcontextprotocol/sdk/types.js';
10
10
  /**
11
11
  * Discovers and loads executable slash commands from prompts exposed by
12
12
  * Model-Context-Protocol (MCP) servers.
@@ -3,8 +3,8 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { getErrorMessage, getMCPServerPrompts, } from '@google/gemini-cli-core';
7
- import { CommandKind, } from '../ui/commands/types.js';
6
+ import { getErrorMessage, getMCPServerPrompts } from '@google/gemini-cli-core';
7
+ import { CommandKind } from '../ui/commands/types.js';
8
8
  /**
9
9
  * Discovers and loads executable slash commands from prompts exposed by
10
10
  * Model-Context-Protocol (MCP) servers.
@@ -1 +1 @@
1
- {"version":3,"file":"McpPromptLoader.js","sourceRoot":"","sources":["../../../src/services/McpPromptLoader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"McpPromptLoader.js","sourceRoot":"","sources":["../../../src/services/McpPromptLoader.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { IPromptProcessor } from './types.js';
7
- import { CommandContext } from '../../ui/commands/types.js';
6
+ import type { IPromptProcessor, PromptPipelineContent } from './types.js';
7
+ import type { CommandContext } from '../../ui/commands/types.js';
8
8
  /**
9
9
  * Appends the user's full command invocation to the prompt if arguments are
10
10
  * provided, allowing the model to perform its own argument parsing.
@@ -12,5 +12,5 @@ import { CommandContext } from '../../ui/commands/types.js';
12
12
  * This processor is only used if the prompt does NOT contain {{args}}.
13
13
  */
14
14
  export declare class DefaultArgumentProcessor implements IPromptProcessor {
15
- process(prompt: string, context: CommandContext): Promise<string>;
15
+ process(prompt: PromptPipelineContent, context: CommandContext): Promise<PromptPipelineContent>;
16
16
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { appendToLastTextPart } from '@google/gemini-cli-core';
6
7
  /**
7
8
  * Appends the user's full command invocation to the prompt if arguments are
8
9
  * provided, allowing the model to perform its own argument parsing.
@@ -11,8 +12,8 @@
11
12
  */
12
13
  export class DefaultArgumentProcessor {
13
14
  async process(prompt, context) {
14
- if (context.invocation.args) {
15
- return `${prompt}\n\n${context.invocation.raw}`;
15
+ if (context.invocation?.args) {
16
+ return appendToLastTextPart(prompt, context.invocation.raw);
16
17
  }
17
18
  return prompt;
18
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"argumentProcessor.js","sourceRoot":"","sources":["../../../../src/services/prompt-processors/argumentProcessor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,OAAO,CAAC,MAAc,EAAE,OAAuB;QACnD,IAAI,OAAO,CAAC,UAAW,CAAC,IAAI,EAAE,CAAC;YAC7B,OAAO,GAAG,MAAM,OAAO,OAAO,CAAC,UAAW,CAAC,GAAG,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"argumentProcessor.js","sourceRoot":"","sources":["../../../../src/services/prompt-processors/argumentProcessor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAI/D;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IACnC,KAAK,CAAC,OAAO,CACX,MAA6B,EAC7B,OAAuB;QAEvB,IAAI,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;YAC7B,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { CommandContext } from '../../ui/commands/types.js';
7
+ import { type IPromptProcessor, type PromptPipelineContent } from './types.js';
8
+ export declare class AtFileProcessor implements IPromptProcessor {
9
+ private readonly commandName?;
10
+ constructor(commandName?: string | undefined);
11
+ process(input: PromptPipelineContent, context: CommandContext): Promise<PromptPipelineContent>;
12
+ }
@@ -0,0 +1,62 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { flatMapTextParts, readPathFromWorkspace, } from '@google/gemini-cli-core';
7
+ import { MessageType } from '../../ui/types.js';
8
+ import { AT_FILE_INJECTION_TRIGGER, } from './types.js';
9
+ import { extractInjections } from './injectionParser.js';
10
+ export class AtFileProcessor {
11
+ commandName;
12
+ constructor(commandName) {
13
+ this.commandName = commandName;
14
+ }
15
+ async process(input, context) {
16
+ const config = context.services.config;
17
+ if (!config) {
18
+ return input;
19
+ }
20
+ return flatMapTextParts(input, async (text) => {
21
+ if (!text.includes(AT_FILE_INJECTION_TRIGGER)) {
22
+ return [{ text }];
23
+ }
24
+ const injections = extractInjections(text, AT_FILE_INJECTION_TRIGGER, this.commandName);
25
+ if (injections.length === 0) {
26
+ return [{ text }];
27
+ }
28
+ const output = [];
29
+ let lastIndex = 0;
30
+ for (const injection of injections) {
31
+ const prefix = text.substring(lastIndex, injection.startIndex);
32
+ if (prefix) {
33
+ output.push({ text: prefix });
34
+ }
35
+ const pathStr = injection.content;
36
+ try {
37
+ const fileContentParts = await readPathFromWorkspace(pathStr, config);
38
+ if (fileContentParts.length === 0) {
39
+ const uiMessage = `File '@{${pathStr}}' was ignored by .gitignore or .geminiignore and was not included in the prompt.`;
40
+ context.ui.addItem({ type: MessageType.INFO, text: uiMessage }, Date.now());
41
+ }
42
+ output.push(...fileContentParts);
43
+ }
44
+ catch (error) {
45
+ const message = error instanceof Error ? error.message : String(error);
46
+ const uiMessage = `Failed to inject content for '@{${pathStr}}': ${message}`;
47
+ console.error(`[AtFileProcessor] ${uiMessage}. Leaving placeholder in prompt.`);
48
+ context.ui.addItem({ type: MessageType.ERROR, text: uiMessage }, Date.now());
49
+ const placeholder = text.substring(injection.startIndex, injection.endIndex);
50
+ output.push({ text: placeholder });
51
+ }
52
+ lastIndex = injection.endIndex;
53
+ }
54
+ const suffix = text.substring(lastIndex);
55
+ if (suffix) {
56
+ output.push({ text: suffix });
57
+ }
58
+ return output;
59
+ });
60
+ }
61
+ }
62
+ //# sourceMappingURL=atFileProcessor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atFileProcessor.js","sourceRoot":"","sources":["../../../../src/services/prompt-processors/atFileProcessor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,yBAAyB,GAG1B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,OAAO,eAAe;IACG;IAA7B,YAA6B,WAAoB;QAApB,gBAAW,GAAX,WAAW,CAAS;IAAG,CAAC;IAErD,KAAK,CAAC,OAAO,CACX,KAA4B,EAC5B,OAAuB;QAEvB,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACpB,CAAC;YAED,MAAM,UAAU,GAAG,iBAAiB,CAClC,IAAI,EACJ,yBAAyB,EACzB,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACpB,CAAC;YAED,MAAM,MAAM,GAA0B,EAAE,CAAC;YACzC,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;gBAC/D,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAChC,CAAC;gBAED,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;oBACtE,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAClC,MAAM,SAAS,GAAG,WAAW,OAAO,mFAAmF,CAAC;wBACxH,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,EAC3C,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,CAAC;gBACnC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GACX,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzD,MAAM,SAAS,GAAG,mCAAmC,OAAO,OAAO,OAAO,EAAE,CAAC;oBAE7E,OAAO,CAAC,KAAK,CACX,qBAAqB,SAAS,kCAAkC,CACjE,CAAC;oBACF,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB,EAAE,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAC5C,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;oBAEF,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAChC,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,QAAQ,CACnB,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC;YACjC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};
@@ -0,0 +1,174 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, beforeEach, vi } from 'vitest';
7
+ import { createMockCommandContext } from '../../test-utils/mockCommandContext.js';
8
+ import {} from '../../ui/commands/types.js';
9
+ import { AtFileProcessor } from './atFileProcessor.js';
10
+ import { MessageType } from '../../ui/types.js';
11
+ // Mock the core dependency
12
+ const mockReadPathFromWorkspace = vi.hoisted(() => vi.fn());
13
+ vi.mock('@google/gemini-cli-core', async (importOriginal) => {
14
+ const original = await importOriginal();
15
+ return {
16
+ ...original,
17
+ readPathFromWorkspace: mockReadPathFromWorkspace,
18
+ };
19
+ });
20
+ describe('AtFileProcessor', () => {
21
+ let context;
22
+ let mockConfig;
23
+ beforeEach(() => {
24
+ vi.clearAllMocks();
25
+ mockConfig = {
26
+ // The processor only passes the config through, so we don't need a full mock.
27
+ };
28
+ context = createMockCommandContext({
29
+ services: {
30
+ config: mockConfig,
31
+ },
32
+ });
33
+ // Default mock success behavior: return content wrapped in a text part.
34
+ mockReadPathFromWorkspace.mockImplementation(async (path) => [
35
+ { text: `content of ${path}` },
36
+ ]);
37
+ });
38
+ it('should not change the prompt if no @{ trigger is present', async () => {
39
+ const processor = new AtFileProcessor();
40
+ const prompt = [{ text: 'This is a simple prompt.' }];
41
+ const result = await processor.process(prompt, context);
42
+ expect(result).toEqual(prompt);
43
+ expect(mockReadPathFromWorkspace).not.toHaveBeenCalled();
44
+ });
45
+ it('should not change the prompt if config service is missing', async () => {
46
+ const processor = new AtFileProcessor();
47
+ const prompt = [{ text: 'Analyze @{file.txt}' }];
48
+ const contextWithoutConfig = createMockCommandContext({
49
+ services: {
50
+ config: null,
51
+ },
52
+ });
53
+ const result = await processor.process(prompt, contextWithoutConfig);
54
+ expect(result).toEqual(prompt);
55
+ expect(mockReadPathFromWorkspace).not.toHaveBeenCalled();
56
+ });
57
+ describe('Parsing Logic', () => {
58
+ it('should replace a single valid @{path/to/file.txt} placeholder', async () => {
59
+ const processor = new AtFileProcessor();
60
+ const prompt = [
61
+ { text: 'Analyze this file: @{path/to/file.txt}' },
62
+ ];
63
+ const result = await processor.process(prompt, context);
64
+ expect(mockReadPathFromWorkspace).toHaveBeenCalledWith('path/to/file.txt', mockConfig);
65
+ expect(result).toEqual([
66
+ { text: 'Analyze this file: ' },
67
+ { text: 'content of path/to/file.txt' },
68
+ ]);
69
+ });
70
+ it('should replace multiple different @{...} placeholders', async () => {
71
+ const processor = new AtFileProcessor();
72
+ const prompt = [
73
+ { text: 'Compare @{file1.js} with @{file2.js}' },
74
+ ];
75
+ const result = await processor.process(prompt, context);
76
+ expect(mockReadPathFromWorkspace).toHaveBeenCalledTimes(2);
77
+ expect(mockReadPathFromWorkspace).toHaveBeenCalledWith('file1.js', mockConfig);
78
+ expect(mockReadPathFromWorkspace).toHaveBeenCalledWith('file2.js', mockConfig);
79
+ expect(result).toEqual([
80
+ { text: 'Compare ' },
81
+ { text: 'content of file1.js' },
82
+ { text: ' with ' },
83
+ { text: 'content of file2.js' },
84
+ ]);
85
+ });
86
+ it('should handle placeholders at the beginning, middle, and end', async () => {
87
+ const processor = new AtFileProcessor();
88
+ const prompt = [
89
+ { text: '@{start.txt} in the @{middle.txt} and @{end.txt}' },
90
+ ];
91
+ const result = await processor.process(prompt, context);
92
+ expect(result).toEqual([
93
+ { text: 'content of start.txt' },
94
+ { text: ' in the ' },
95
+ { text: 'content of middle.txt' },
96
+ { text: ' and ' },
97
+ { text: 'content of end.txt' },
98
+ ]);
99
+ });
100
+ it('should correctly parse paths that contain balanced braces', async () => {
101
+ const processor = new AtFileProcessor();
102
+ const prompt = [
103
+ { text: 'Analyze @{path/with/{braces}/file.txt}' },
104
+ ];
105
+ const result = await processor.process(prompt, context);
106
+ expect(mockReadPathFromWorkspace).toHaveBeenCalledWith('path/with/{braces}/file.txt', mockConfig);
107
+ expect(result).toEqual([
108
+ { text: 'Analyze ' },
109
+ { text: 'content of path/with/{braces}/file.txt' },
110
+ ]);
111
+ });
112
+ it('should throw an error if the prompt contains an unclosed trigger', async () => {
113
+ const processor = new AtFileProcessor();
114
+ const prompt = [{ text: 'Hello @{world' }];
115
+ // The new parser throws an error for unclosed injections.
116
+ await expect(processor.process(prompt, context)).rejects.toThrow(/Unclosed injection/);
117
+ });
118
+ });
119
+ describe('Integration and Error Handling', () => {
120
+ it('should leave the placeholder unmodified if readPathFromWorkspace throws', async () => {
121
+ const processor = new AtFileProcessor();
122
+ const prompt = [
123
+ { text: 'Analyze @{not-found.txt} and @{good-file.txt}' },
124
+ ];
125
+ mockReadPathFromWorkspace.mockImplementation(async (path) => {
126
+ if (path === 'not-found.txt') {
127
+ throw new Error('File not found');
128
+ }
129
+ return [{ text: `content of ${path}` }];
130
+ });
131
+ const result = await processor.process(prompt, context);
132
+ expect(result).toEqual([
133
+ { text: 'Analyze ' },
134
+ { text: '@{not-found.txt}' }, // Placeholder is preserved as a text part
135
+ { text: ' and ' },
136
+ { text: 'content of good-file.txt' },
137
+ ]);
138
+ });
139
+ });
140
+ describe('UI Feedback', () => {
141
+ it('should call ui.addItem with an ERROR on failure', async () => {
142
+ const processor = new AtFileProcessor();
143
+ const prompt = [{ text: 'Analyze @{bad-file.txt}' }];
144
+ mockReadPathFromWorkspace.mockRejectedValue(new Error('Access denied'));
145
+ await processor.process(prompt, context);
146
+ expect(context.ui.addItem).toHaveBeenCalledTimes(1);
147
+ expect(context.ui.addItem).toHaveBeenCalledWith({
148
+ type: MessageType.ERROR,
149
+ text: "Failed to inject content for '@{bad-file.txt}': Access denied",
150
+ }, expect.any(Number));
151
+ });
152
+ it('should call ui.addItem with a WARNING if the file was ignored', async () => {
153
+ const processor = new AtFileProcessor();
154
+ const prompt = [{ text: 'Analyze @{ignored.txt}' }];
155
+ // Simulate an ignored file by returning an empty array.
156
+ mockReadPathFromWorkspace.mockResolvedValue([]);
157
+ const result = await processor.process(prompt, context);
158
+ // The placeholder should be removed, resulting in only the prefix.
159
+ expect(result).toEqual([{ text: 'Analyze ' }]);
160
+ expect(context.ui.addItem).toHaveBeenCalledTimes(1);
161
+ expect(context.ui.addItem).toHaveBeenCalledWith({
162
+ type: MessageType.INFO,
163
+ text: "File '@{ignored.txt}' was ignored by .gitignore or .geminiignore and was not included in the prompt.",
164
+ }, expect.any(Number));
165
+ });
166
+ it('should NOT call ui.addItem on success', async () => {
167
+ const processor = new AtFileProcessor();
168
+ const prompt = [{ text: 'Analyze @{good-file.txt}' }];
169
+ await processor.process(prompt, context);
170
+ expect(context.ui.addItem).not.toHaveBeenCalled();
171
+ });
172
+ });
173
+ });
174
+ //# sourceMappingURL=atFileProcessor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atFileProcessor.test.js","sourceRoot":"","sources":["../../../../src/services/prompt-processors/atFileProcessor.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Represents a single detected injection site in a prompt string.
8
+ */
9
+ export interface Injection {
10
+ /** The content extracted from within the braces (e.g., the command or path), trimmed. */
11
+ content: string;
12
+ /** The starting index of the injection (inclusive, points to the start of the trigger). */
13
+ startIndex: number;
14
+ /** The ending index of the injection (exclusive, points after the closing '}'). */
15
+ endIndex: number;
16
+ }
17
+ /**
18
+ * Iteratively parses a prompt string to extract injections (e.g., !{...} or @{...}),
19
+ * correctly handling nested braces within the content.
20
+ *
21
+ * This parser relies on simple brace counting and does not support escaping.
22
+ *
23
+ * @param prompt The prompt string to parse.
24
+ * @param trigger The opening trigger sequence (e.g., '!{', '@{').
25
+ * @param contextName Optional context name (e.g., command name) for error messages.
26
+ * @returns An array of extracted Injection objects.
27
+ * @throws Error if an unclosed injection is found.
28
+ */
29
+ export declare function extractInjections(prompt: string, trigger: string, contextName?: string): Injection[];
@@ -0,0 +1,60 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ /**
7
+ * Iteratively parses a prompt string to extract injections (e.g., !{...} or @{...}),
8
+ * correctly handling nested braces within the content.
9
+ *
10
+ * This parser relies on simple brace counting and does not support escaping.
11
+ *
12
+ * @param prompt The prompt string to parse.
13
+ * @param trigger The opening trigger sequence (e.g., '!{', '@{').
14
+ * @param contextName Optional context name (e.g., command name) for error messages.
15
+ * @returns An array of extracted Injection objects.
16
+ * @throws Error if an unclosed injection is found.
17
+ */
18
+ export function extractInjections(prompt, trigger, contextName) {
19
+ const injections = [];
20
+ let index = 0;
21
+ while (index < prompt.length) {
22
+ const startIndex = prompt.indexOf(trigger, index);
23
+ if (startIndex === -1) {
24
+ break;
25
+ }
26
+ let currentIndex = startIndex + trigger.length;
27
+ let braceCount = 1;
28
+ let foundEnd = false;
29
+ while (currentIndex < prompt.length) {
30
+ const char = prompt[currentIndex];
31
+ if (char === '{') {
32
+ braceCount++;
33
+ }
34
+ else if (char === '}') {
35
+ braceCount--;
36
+ if (braceCount === 0) {
37
+ const injectionContent = prompt.substring(startIndex + trigger.length, currentIndex);
38
+ const endIndex = currentIndex + 1;
39
+ injections.push({
40
+ content: injectionContent.trim(),
41
+ startIndex,
42
+ endIndex,
43
+ });
44
+ index = endIndex;
45
+ foundEnd = true;
46
+ break;
47
+ }
48
+ }
49
+ currentIndex++;
50
+ }
51
+ // Check if the inner loop finished without finding the closing brace.
52
+ if (!foundEnd) {
53
+ const contextInfo = contextName ? ` in command '${contextName}'` : '';
54
+ // Enforce strict parsing (Comment 1) and clarify limitations (Comment 2).
55
+ throw new Error(`Invalid syntax${contextInfo}: Unclosed injection starting at index ${startIndex} ('${trigger}'). Ensure braces are balanced. Paths or commands with unbalanced braces are not supported directly.`);
56
+ }
57
+ }
58
+ return injections;
59
+ }
60
+ //# sourceMappingURL=injectionParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"injectionParser.js","sourceRoot":"","sources":["../../../../src/services/prompt-processors/injectionParser.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAc,EACd,OAAe,EACf,WAAoB;IAEpB,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAElD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,MAAM;QACR,CAAC;QAED,IAAI,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,OAAO,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YAElC,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,UAAU,EAAE,CAAC;YACf,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,UAAU,EAAE,CAAC;gBACb,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,MAAM,gBAAgB,GAAG,MAAM,CAAC,SAAS,CACvC,UAAU,GAAG,OAAO,CAAC,MAAM,EAC3B,YAAY,CACb,CAAC;oBACF,MAAM,QAAQ,GAAG,YAAY,GAAG,CAAC,CAAC;oBAElC,UAAU,CAAC,IAAI,CAAC;wBACd,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE;wBAChC,UAAU;wBACV,QAAQ;qBACT,CAAC,CAAC;oBAEH,KAAK,GAAG,QAAQ,CAAC;oBACjB,QAAQ,GAAG,IAAI,CAAC;oBAChB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,YAAY,EAAE,CAAC;QACjB,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,gBAAgB,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,0EAA0E;YAC1E,MAAM,IAAI,KAAK,CACb,iBAAiB,WAAW,0CAA0C,UAAU,MAAM,OAAO,sGAAsG,CACpM,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};