@marizmelo/llm-cli 0.0.2 → 0.0.3

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 (910) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +27 -11
  3. package/bundle/gemini.js +317072 -0
  4. package/package.json +91 -89
  5. package/dist/.last_build +0 -0
  6. package/dist/index.d.ts +0 -7
  7. package/dist/index.js +0 -29
  8. package/dist/index.js.map +0 -1
  9. package/dist/package.json +0 -107
  10. package/dist/src/commands/extensions/disable.d.ts +0 -14
  11. package/dist/src/commands/extensions/disable.js +0 -42
  12. package/dist/src/commands/extensions/disable.js.map +0 -1
  13. package/dist/src/commands/extensions/enable.d.ts +0 -14
  14. package/dist/src/commands/extensions/enable.js +0 -48
  15. package/dist/src/commands/extensions/enable.js.map +0 -1
  16. package/dist/src/commands/extensions/install.d.ts +0 -13
  17. package/dist/src/commands/extensions/install.js +0 -48
  18. package/dist/src/commands/extensions/install.js.map +0 -1
  19. package/dist/src/commands/extensions/install.test.d.ts +0 -6
  20. package/dist/src/commands/extensions/install.test.js +0 -19
  21. package/dist/src/commands/extensions/install.test.js.map +0 -1
  22. package/dist/src/commands/extensions/list.d.ts +0 -8
  23. package/dist/src/commands/extensions/list.js +0 -32
  24. package/dist/src/commands/extensions/list.js.map +0 -1
  25. package/dist/src/commands/extensions/uninstall.d.ts +0 -12
  26. package/dist/src/commands/extensions/uninstall.js +0 -38
  27. package/dist/src/commands/extensions/uninstall.js.map +0 -1
  28. package/dist/src/commands/extensions/uninstall.test.d.ts +0 -6
  29. package/dist/src/commands/extensions/uninstall.test.js +0 -15
  30. package/dist/src/commands/extensions/uninstall.test.js.map +0 -1
  31. package/dist/src/commands/extensions/update.d.ts +0 -13
  32. package/dist/src/commands/extensions/update.js +0 -60
  33. package/dist/src/commands/extensions/update.js.map +0 -1
  34. package/dist/src/commands/extensions.d.ts +0 -7
  35. package/dist/src/commands/extensions.js +0 -29
  36. package/dist/src/commands/extensions.js.map +0 -1
  37. package/dist/src/commands/mcp/add.d.ts +0 -7
  38. package/dist/src/commands/mcp/add.js +0 -166
  39. package/dist/src/commands/mcp/add.js.map +0 -1
  40. package/dist/src/commands/mcp/list.d.ts +0 -8
  41. package/dist/src/commands/mcp/list.js +0 -110
  42. package/dist/src/commands/mcp/list.js.map +0 -1
  43. package/dist/src/commands/mcp/remove.d.ts +0 -7
  44. package/dist/src/commands/mcp/remove.js +0 -44
  45. package/dist/src/commands/mcp/remove.js.map +0 -1
  46. package/dist/src/commands/mcp.d.ts +0 -7
  47. package/dist/src/commands/mcp.js +0 -23
  48. package/dist/src/commands/mcp.js.map +0 -1
  49. package/dist/src/config/auth.d.ts +0 -6
  50. package/dist/src/config/auth.js +0 -51
  51. package/dist/src/config/auth.js.map +0 -1
  52. package/dist/src/config/auth.test.d.ts +0 -6
  53. package/dist/src/config/auth.test.js +0 -59
  54. package/dist/src/config/auth.test.js.map +0 -1
  55. package/dist/src/config/config.d.ts +0 -44
  56. package/dist/src/config/config.js +0 -464
  57. package/dist/src/config/config.js.map +0 -1
  58. package/dist/src/config/extension.d.ts +0 -62
  59. package/dist/src/config/extension.js +0 -388
  60. package/dist/src/config/extension.js.map +0 -1
  61. package/dist/src/config/extensions/variableSchema.d.ts +0 -28
  62. package/dist/src/config/extensions/variableSchema.js +0 -18
  63. package/dist/src/config/extensions/variableSchema.js.map +0 -1
  64. package/dist/src/config/extensions/variables.d.ts +0 -17
  65. package/dist/src/config/extensions/variables.js +0 -40
  66. package/dist/src/config/extensions/variables.js.map +0 -1
  67. package/dist/src/config/extensions/variables.test.d.ts +0 -6
  68. package/dist/src/config/extensions/variables.test.js +0 -17
  69. package/dist/src/config/extensions/variables.test.js.map +0 -1
  70. package/dist/src/config/keyBindings.d.ts +0 -66
  71. package/dist/src/config/keyBindings.js +0 -141
  72. package/dist/src/config/keyBindings.js.map +0 -1
  73. package/dist/src/config/keyBindings.test.d.ts +0 -6
  74. package/dist/src/config/keyBindings.test.js +0 -51
  75. package/dist/src/config/keyBindings.test.js.map +0 -1
  76. package/dist/src/config/modelDiscovery.d.ts +0 -65
  77. package/dist/src/config/modelDiscovery.js +0 -290
  78. package/dist/src/config/modelDiscovery.js.map +0 -1
  79. package/dist/src/config/providerManager.d.ts +0 -64
  80. package/dist/src/config/providerManager.js +0 -277
  81. package/dist/src/config/providerManager.js.map +0 -1
  82. package/dist/src/config/sandboxConfig.d.ts +0 -13
  83. package/dist/src/config/sandboxConfig.js +0 -73
  84. package/dist/src/config/sandboxConfig.js.map +0 -1
  85. package/dist/src/config/settings.d.ts +0 -62
  86. package/dist/src/config/settings.js +0 -583
  87. package/dist/src/config/settings.js.map +0 -1
  88. package/dist/src/config/settingsSchema.d.ts +0 -795
  89. package/dist/src/config/settingsSchema.js +0 -768
  90. package/dist/src/config/settingsSchema.js.map +0 -1
  91. package/dist/src/config/settingsSchema.test.d.ts +0 -6
  92. package/dist/src/config/settingsSchema.test.js +0 -193
  93. package/dist/src/config/settingsSchema.test.js.map +0 -1
  94. package/dist/src/config/trustedFolders.d.ts +0 -47
  95. package/dist/src/config/trustedFolders.js +0 -130
  96. package/dist/src/config/trustedFolders.js.map +0 -1
  97. package/dist/src/config/trustedFolders.test.d.ts +0 -6
  98. package/dist/src/config/trustedFolders.test.js +0 -198
  99. package/dist/src/config/trustedFolders.test.js.map +0 -1
  100. package/dist/src/gemini.d.ts +0 -11
  101. package/dist/src/gemini.js +0 -331
  102. package/dist/src/gemini.js.map +0 -1
  103. package/dist/src/gemini.test.d.ts +0 -6
  104. package/dist/src/gemini.test.js +0 -247
  105. package/dist/src/gemini.test.js.map +0 -1
  106. package/dist/src/generated/git-commit.d.ts +0 -7
  107. package/dist/src/generated/git-commit.js +0 -10
  108. package/dist/src/generated/git-commit.js.map +0 -1
  109. package/dist/src/nonInteractiveCli.d.ts +0 -7
  110. package/dist/src/nonInteractiveCli.js +0 -92
  111. package/dist/src/nonInteractiveCli.js.map +0 -1
  112. package/dist/src/patches/is-in-ci.d.ts +0 -7
  113. package/dist/src/patches/is-in-ci.js +0 -15
  114. package/dist/src/patches/is-in-ci.js.map +0 -1
  115. package/dist/src/services/BuiltinCommandLoader.d.ts +0 -24
  116. package/dist/src/services/BuiltinCommandLoader.js +0 -84
  117. package/dist/src/services/BuiltinCommandLoader.js.map +0 -1
  118. package/dist/src/services/BuiltinCommandLoader.test.d.ts +0 -6
  119. package/dist/src/services/BuiltinCommandLoader.test.js +0 -108
  120. package/dist/src/services/BuiltinCommandLoader.test.js.map +0 -1
  121. package/dist/src/services/CommandService.d.ts +0 -55
  122. package/dist/src/services/CommandService.js +0 -90
  123. package/dist/src/services/CommandService.js.map +0 -1
  124. package/dist/src/services/CommandService.test.d.ts +0 -6
  125. package/dist/src/services/CommandService.test.js +0 -233
  126. package/dist/src/services/CommandService.test.js.map +0 -1
  127. package/dist/src/services/FileCommandLoader.d.ts +0 -51
  128. package/dist/src/services/FileCommandLoader.js +0 -227
  129. package/dist/src/services/FileCommandLoader.js.map +0 -1
  130. package/dist/src/services/McpPromptLoader.d.ts +0 -35
  131. package/dist/src/services/McpPromptLoader.js +0 -218
  132. package/dist/src/services/McpPromptLoader.js.map +0 -1
  133. package/dist/src/services/McpPromptLoader.test.d.ts +0 -6
  134. package/dist/src/services/McpPromptLoader.test.js +0 -114
  135. package/dist/src/services/McpPromptLoader.test.js.map +0 -1
  136. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +0 -16
  137. package/dist/src/services/prompt-processors/argumentProcessor.js +0 -21
  138. package/dist/src/services/prompt-processors/argumentProcessor.js.map +0 -1
  139. package/dist/src/services/prompt-processors/atFileProcessor.d.ts +0 -12
  140. package/dist/src/services/prompt-processors/atFileProcessor.js +0 -62
  141. package/dist/src/services/prompt-processors/atFileProcessor.js.map +0 -1
  142. package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +0 -6
  143. package/dist/src/services/prompt-processors/atFileProcessor.test.js +0 -174
  144. package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +0 -1
  145. package/dist/src/services/prompt-processors/injectionParser.d.ts +0 -29
  146. package/dist/src/services/prompt-processors/injectionParser.js +0 -60
  147. package/dist/src/services/prompt-processors/injectionParser.js.map +0 -1
  148. package/dist/src/services/prompt-processors/injectionParser.test.d.ts +0 -6
  149. package/dist/src/services/prompt-processors/injectionParser.test.js +0 -189
  150. package/dist/src/services/prompt-processors/injectionParser.test.js.map +0 -1
  151. package/dist/src/services/prompt-processors/shellProcessor.d.ts +0 -27
  152. package/dist/src/services/prompt-processors/shellProcessor.js +0 -121
  153. package/dist/src/services/prompt-processors/shellProcessor.js.map +0 -1
  154. package/dist/src/services/prompt-processors/types.d.ts +0 -45
  155. package/dist/src/services/prompt-processors/types.js +0 -20
  156. package/dist/src/services/prompt-processors/types.js.map +0 -1
  157. package/dist/src/services/types.d.ts +0 -22
  158. package/dist/src/services/types.js +0 -7
  159. package/dist/src/services/types.js.map +0 -1
  160. package/dist/src/test-utils/customMatchers.d.ts +0 -14
  161. package/dist/src/test-utils/customMatchers.js +0 -40
  162. package/dist/src/test-utils/customMatchers.js.map +0 -1
  163. package/dist/src/test-utils/mockCommandContext.d.ts +0 -18
  164. package/dist/src/test-utils/mockCommandContext.js +0 -86
  165. package/dist/src/test-utils/mockCommandContext.js.map +0 -1
  166. package/dist/src/test-utils/mockCommandContext.test.d.ts +0 -6
  167. package/dist/src/test-utils/mockCommandContext.test.js +0 -51
  168. package/dist/src/test-utils/mockCommandContext.test.js.map +0 -1
  169. package/dist/src/test-utils/render.d.ts +0 -8
  170. package/dist/src/test-utils/render.js +0 -10
  171. package/dist/src/test-utils/render.js.map +0 -1
  172. package/dist/src/ui/App.d.ts +0 -15
  173. package/dist/src/ui/App.js +0 -708
  174. package/dist/src/ui/App.js.map +0 -1
  175. package/dist/src/ui/IdeIntegrationNudge.d.ts +0 -16
  176. package/dist/src/ui/IdeIntegrationNudge.js +0 -47
  177. package/dist/src/ui/IdeIntegrationNudge.js.map +0 -1
  178. package/dist/src/ui/colors.d.ts +0 -7
  179. package/dist/src/ui/colors.js +0 -54
  180. package/dist/src/ui/colors.js.map +0 -1
  181. package/dist/src/ui/commands/aboutCommand.d.ts +0 -7
  182. package/dist/src/ui/commands/aboutCommand.js +0 -43
  183. package/dist/src/ui/commands/aboutCommand.js.map +0 -1
  184. package/dist/src/ui/commands/authCommand.d.ts +0 -7
  185. package/dist/src/ui/commands/authCommand.js +0 -16
  186. package/dist/src/ui/commands/authCommand.js.map +0 -1
  187. package/dist/src/ui/commands/bugCommand.d.ts +0 -7
  188. package/dist/src/ui/commands/bugCommand.js +0 -71
  189. package/dist/src/ui/commands/bugCommand.js.map +0 -1
  190. package/dist/src/ui/commands/chatCommand.d.ts +0 -7
  191. package/dist/src/ui/commands/chatCommand.js +0 -235
  192. package/dist/src/ui/commands/chatCommand.js.map +0 -1
  193. package/dist/src/ui/commands/clearCommand.d.ts +0 -7
  194. package/dist/src/ui/commands/clearCommand.js +0 -27
  195. package/dist/src/ui/commands/clearCommand.js.map +0 -1
  196. package/dist/src/ui/commands/compressCommand.d.ts +0 -7
  197. package/dist/src/ui/commands/compressCommand.js +0 -66
  198. package/dist/src/ui/commands/compressCommand.js.map +0 -1
  199. package/dist/src/ui/commands/copyCommand.d.ts +0 -7
  200. package/dist/src/ui/commands/copyCommand.js +0 -59
  201. package/dist/src/ui/commands/copyCommand.js.map +0 -1
  202. package/dist/src/ui/commands/corgiCommand.d.ts +0 -7
  203. package/dist/src/ui/commands/corgiCommand.js +0 -15
  204. package/dist/src/ui/commands/corgiCommand.js.map +0 -1
  205. package/dist/src/ui/commands/directoryCommand.d.ts +0 -8
  206. package/dist/src/ui/commands/directoryCommand.js +0 -135
  207. package/dist/src/ui/commands/directoryCommand.js.map +0 -1
  208. package/dist/src/ui/commands/docsCommand.d.ts +0 -7
  209. package/dist/src/ui/commands/docsCommand.js +0 -31
  210. package/dist/src/ui/commands/docsCommand.js.map +0 -1
  211. package/dist/src/ui/commands/editorCommand.d.ts +0 -7
  212. package/dist/src/ui/commands/editorCommand.js +0 -16
  213. package/dist/src/ui/commands/editorCommand.js.map +0 -1
  214. package/dist/src/ui/commands/extensionsCommand.d.ts +0 -7
  215. package/dist/src/ui/commands/extensionsCommand.js +0 -31
  216. package/dist/src/ui/commands/extensionsCommand.js.map +0 -1
  217. package/dist/src/ui/commands/helpCommand.d.ts +0 -7
  218. package/dist/src/ui/commands/helpCommand.js +0 -21
  219. package/dist/src/ui/commands/helpCommand.js.map +0 -1
  220. package/dist/src/ui/commands/ideCommand.d.ts +0 -8
  221. package/dist/src/ui/commands/ideCommand.js +0 -216
  222. package/dist/src/ui/commands/ideCommand.js.map +0 -1
  223. package/dist/src/ui/commands/initCommand.d.ts +0 -7
  224. package/dist/src/ui/commands/initCommand.js +0 -76
  225. package/dist/src/ui/commands/initCommand.js.map +0 -1
  226. package/dist/src/ui/commands/mcpCommand.d.ts +0 -7
  227. package/dist/src/ui/commands/mcpCommand.js +0 -424
  228. package/dist/src/ui/commands/mcpCommand.js.map +0 -1
  229. package/dist/src/ui/commands/memoryCommand.d.ts +0 -7
  230. package/dist/src/ui/commands/memoryCommand.js +0 -92
  231. package/dist/src/ui/commands/memoryCommand.js.map +0 -1
  232. package/dist/src/ui/commands/privacyCommand.d.ts +0 -7
  233. package/dist/src/ui/commands/privacyCommand.js +0 -16
  234. package/dist/src/ui/commands/privacyCommand.js.map +0 -1
  235. package/dist/src/ui/commands/providerCommand.d.ts +0 -7
  236. package/dist/src/ui/commands/providerCommand.js +0 -599
  237. package/dist/src/ui/commands/providerCommand.js.map +0 -1
  238. package/dist/src/ui/commands/quitCommand.d.ts +0 -7
  239. package/dist/src/ui/commands/quitCommand.js +0 -34
  240. package/dist/src/ui/commands/quitCommand.js.map +0 -1
  241. package/dist/src/ui/commands/restoreCommand.d.ts +0 -8
  242. package/dist/src/ui/commands/restoreCommand.js +0 -124
  243. package/dist/src/ui/commands/restoreCommand.js.map +0 -1
  244. package/dist/src/ui/commands/settingsCommand.d.ts +0 -7
  245. package/dist/src/ui/commands/settingsCommand.js +0 -16
  246. package/dist/src/ui/commands/settingsCommand.js.map +0 -1
  247. package/dist/src/ui/commands/setupGithubCommand.d.ts +0 -9
  248. package/dist/src/ui/commands/setupGithubCommand.js +0 -154
  249. package/dist/src/ui/commands/setupGithubCommand.js.map +0 -1
  250. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +0 -6
  251. package/dist/src/ui/commands/setupGithubCommand.test.js +0 -167
  252. package/dist/src/ui/commands/setupGithubCommand.test.js.map +0 -1
  253. package/dist/src/ui/commands/statsCommand.d.ts +0 -7
  254. package/dist/src/ui/commands/statsCommand.js +0 -54
  255. package/dist/src/ui/commands/statsCommand.js.map +0 -1
  256. package/dist/src/ui/commands/terminalSetupCommand.d.ts +0 -13
  257. package/dist/src/ui/commands/terminalSetupCommand.js +0 -41
  258. package/dist/src/ui/commands/terminalSetupCommand.js.map +0 -1
  259. package/dist/src/ui/commands/themeCommand.d.ts +0 -7
  260. package/dist/src/ui/commands/themeCommand.js +0 -16
  261. package/dist/src/ui/commands/themeCommand.js.map +0 -1
  262. package/dist/src/ui/commands/toolsCommand.d.ts +0 -7
  263. package/dist/src/ui/commands/toolsCommand.js +0 -56
  264. package/dist/src/ui/commands/toolsCommand.js.map +0 -1
  265. package/dist/src/ui/commands/types.d.ts +0 -148
  266. package/dist/src/ui/commands/types.js +0 -13
  267. package/dist/src/ui/commands/types.js.map +0 -1
  268. package/dist/src/ui/commands/vimCommand.d.ts +0 -7
  269. package/dist/src/ui/commands/vimCommand.js +0 -23
  270. package/dist/src/ui/commands/vimCommand.js.map +0 -1
  271. package/dist/src/ui/components/AboutBox.d.ts +0 -17
  272. package/dist/src/ui/components/AboutBox.js +0 -6
  273. package/dist/src/ui/components/AboutBox.js.map +0 -1
  274. package/dist/src/ui/components/AsciiArt.d.ts +0 -8
  275. package/dist/src/ui/components/AsciiArt.js +0 -33
  276. package/dist/src/ui/components/AsciiArt.js.map +0 -1
  277. package/dist/src/ui/components/AuthDialog.d.ts +0 -16
  278. package/dist/src/ui/components/AuthDialog.js +0 -104
  279. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  280. package/dist/src/ui/components/AuthDialog.test.d.ts +0 -6
  281. package/dist/src/ui/components/AuthDialog.test.js +0 -276
  282. package/dist/src/ui/components/AuthDialog.test.js.map +0 -1
  283. package/dist/src/ui/components/AuthInProgress.d.ts +0 -11
  284. package/dist/src/ui/components/AuthInProgress.js +0 -23
  285. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  286. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +0 -12
  287. package/dist/src/ui/components/AutoAcceptIndicator.js +0 -26
  288. package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
  289. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +0 -11
  290. package/dist/src/ui/components/ConsoleSummaryDisplay.js +0 -11
  291. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +0 -1
  292. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +0 -20
  293. package/dist/src/ui/components/ContextSummaryDisplay.js +0 -66
  294. package/dist/src/ui/components/ContextSummaryDisplay.js.map +0 -1
  295. package/dist/src/ui/components/ContextUsageDisplay.d.ts +0 -9
  296. package/dist/src/ui/components/ContextUsageDisplay.js +0 -14
  297. package/dist/src/ui/components/ContextUsageDisplay.js.map +0 -1
  298. package/dist/src/ui/components/DebugProfiler.d.ts +0 -6
  299. package/dist/src/ui/components/DebugProfiler.js +0 -27
  300. package/dist/src/ui/components/DebugProfiler.js.map +0 -1
  301. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +0 -14
  302. package/dist/src/ui/components/DetailedMessagesDisplay.js +0 -34
  303. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +0 -1
  304. package/dist/src/ui/components/EditorSettingsDialog.d.ts +0 -16
  305. package/dist/src/ui/components/EditorSettingsDialog.js +0 -71
  306. package/dist/src/ui/components/EditorSettingsDialog.js.map +0 -1
  307. package/dist/src/ui/components/FolderTrustDialog.d.ts +0 -17
  308. package/dist/src/ui/components/FolderTrustDialog.js +0 -47
  309. package/dist/src/ui/components/FolderTrustDialog.js.map +0 -1
  310. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +0 -6
  311. package/dist/src/ui/components/FolderTrustDialog.test.js +0 -78
  312. package/dist/src/ui/components/FolderTrustDialog.test.js.map +0 -1
  313. package/dist/src/ui/components/Footer.d.ts +0 -23
  314. package/dist/src/ui/components/Footer.js +0 -25
  315. package/dist/src/ui/components/Footer.js.map +0 -1
  316. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +0 -17
  317. package/dist/src/ui/components/GeminiRespondingSpinner.js +0 -18
  318. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +0 -1
  319. package/dist/src/ui/components/Header.d.ts +0 -13
  320. package/dist/src/ui/components/Header.js +0 -28
  321. package/dist/src/ui/components/Header.js.map +0 -1
  322. package/dist/src/ui/components/Header.test.d.ts +0 -6
  323. package/dist/src/ui/components/Header.test.js +0 -37
  324. package/dist/src/ui/components/Header.test.js.map +0 -1
  325. package/dist/src/ui/components/Help.d.ts +0 -12
  326. package/dist/src/ui/components/Help.js +0 -10
  327. package/dist/src/ui/components/Help.js.map +0 -1
  328. package/dist/src/ui/components/HistoryItemDisplay.d.ts +0 -20
  329. package/dist/src/ui/components/HistoryItemDisplay.js +0 -18
  330. package/dist/src/ui/components/HistoryItemDisplay.js.map +0 -1
  331. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +0 -6
  332. package/dist/src/ui/components/HistoryItemDisplay.test.js +0 -93
  333. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +0 -1
  334. package/dist/src/ui/components/InputPrompt.d.ts +0 -28
  335. package/dist/src/ui/components/InputPrompt.js +0 -562
  336. package/dist/src/ui/components/InputPrompt.js.map +0 -1
  337. package/dist/src/ui/components/LoadingIndicator.d.ts +0 -15
  338. package/dist/src/ui/components/LoadingIndicator.js +0 -25
  339. package/dist/src/ui/components/LoadingIndicator.js.map +0 -1
  340. package/dist/src/ui/components/LoadingIndicator.test.d.ts +0 -6
  341. package/dist/src/ui/components/LoadingIndicator.test.js +0 -190
  342. package/dist/src/ui/components/LoadingIndicator.test.js.map +0 -1
  343. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +0 -7
  344. package/dist/src/ui/components/MemoryUsageDisplay.js +0 -22
  345. package/dist/src/ui/components/MemoryUsageDisplay.js.map +0 -1
  346. package/dist/src/ui/components/ModelStatsDisplay.d.ts +0 -7
  347. package/dist/src/ui/components/ModelStatsDisplay.js +0 -33
  348. package/dist/src/ui/components/ModelStatsDisplay.js.map +0 -1
  349. package/dist/src/ui/components/PrepareLabel.d.ts +0 -15
  350. package/dist/src/ui/components/PrepareLabel.js +0 -16
  351. package/dist/src/ui/components/PrepareLabel.js.map +0 -1
  352. package/dist/src/ui/components/ProQuotaDialog.d.ts +0 -13
  353. package/dist/src/ui/components/ProQuotaDialog.js +0 -21
  354. package/dist/src/ui/components/ProQuotaDialog.js.map +0 -1
  355. package/dist/src/ui/components/ProQuotaDialog.test.d.ts +0 -6
  356. package/dist/src/ui/components/ProQuotaDialog.test.js +0 -56
  357. package/dist/src/ui/components/ProQuotaDialog.test.js.map +0 -1
  358. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -11
  359. package/dist/src/ui/components/SessionSummaryDisplay.js +0 -4
  360. package/dist/src/ui/components/SessionSummaryDisplay.js.map +0 -1
  361. package/dist/src/ui/components/SettingsDialog.d.ts +0 -15
  362. package/dist/src/ui/components/SettingsDialog.js +0 -550
  363. package/dist/src/ui/components/SettingsDialog.js.map +0 -1
  364. package/dist/src/ui/components/SettingsDialog.test.d.ts +0 -6
  365. package/dist/src/ui/components/SettingsDialog.test.js +0 -646
  366. package/dist/src/ui/components/SettingsDialog.test.js.map +0 -1
  367. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +0 -15
  368. package/dist/src/ui/components/ShellConfirmationDialog.js +0 -46
  369. package/dist/src/ui/components/ShellConfirmationDialog.js.map +0 -1
  370. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +0 -6
  371. package/dist/src/ui/components/ShellConfirmationDialog.test.js +0 -40
  372. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +0 -1
  373. package/dist/src/ui/components/ShellModeIndicator.d.ts +0 -7
  374. package/dist/src/ui/components/ShellModeIndicator.js +0 -5
  375. package/dist/src/ui/components/ShellModeIndicator.js.map +0 -1
  376. package/dist/src/ui/components/ShowMoreLines.d.ts +0 -10
  377. package/dist/src/ui/components/ShowMoreLines.js +0 -24
  378. package/dist/src/ui/components/ShowMoreLines.js.map +0 -1
  379. package/dist/src/ui/components/StatsDisplay.d.ts +0 -12
  380. package/dist/src/ui/components/StatsDisplay.js +0 -43
  381. package/dist/src/ui/components/StatsDisplay.js.map +0 -1
  382. package/dist/src/ui/components/SuggestionsDisplay.d.ts +0 -22
  383. package/dist/src/ui/components/SuggestionsDisplay.js +0 -40
  384. package/dist/src/ui/components/SuggestionsDisplay.js.map +0 -1
  385. package/dist/src/ui/components/ThemeDialog.d.ts +0 -20
  386. package/dist/src/ui/components/ThemeDialog.js +0 -138
  387. package/dist/src/ui/components/ThemeDialog.js.map +0 -1
  388. package/dist/src/ui/components/Tips.d.ts +0 -12
  389. package/dist/src/ui/components/Tips.js +0 -9
  390. package/dist/src/ui/components/Tips.js.map +0 -1
  391. package/dist/src/ui/components/ToolStatsDisplay.d.ts +0 -7
  392. package/dist/src/ui/components/ToolStatsDisplay.js +0 -41
  393. package/dist/src/ui/components/ToolStatsDisplay.js.map +0 -1
  394. package/dist/src/ui/components/UpdateNotification.d.ts +0 -10
  395. package/dist/src/ui/components/UpdateNotification.js +0 -10
  396. package/dist/src/ui/components/UpdateNotification.js.map +0 -1
  397. package/dist/src/ui/components/WorkspaceMigrationDialog.d.ts +0 -11
  398. package/dist/src/ui/components/WorkspaceMigrationDialog.js +0 -42
  399. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +0 -1
  400. package/dist/src/ui/components/messages/CompressionMessage.d.ts +0 -11
  401. package/dist/src/ui/components/messages/CompressionMessage.js +0 -17
  402. package/dist/src/ui/components/messages/CompressionMessage.js.map +0 -1
  403. package/dist/src/ui/components/messages/DiffRenderer.d.ts +0 -16
  404. package/dist/src/ui/components/messages/DiffRenderer.js +0 -226
  405. package/dist/src/ui/components/messages/DiffRenderer.js.map +0 -1
  406. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +0 -6
  407. package/dist/src/ui/components/messages/DiffRenderer.test.js +0 -239
  408. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +0 -1
  409. package/dist/src/ui/components/messages/ErrorMessage.d.ts +0 -11
  410. package/dist/src/ui/components/messages/ErrorMessage.js +0 -9
  411. package/dist/src/ui/components/messages/ErrorMessage.js.map +0 -1
  412. package/dist/src/ui/components/messages/GeminiMessage.d.ts +0 -14
  413. package/dist/src/ui/components/messages/GeminiMessage.js +0 -11
  414. package/dist/src/ui/components/messages/GeminiMessage.js.map +0 -1
  415. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +0 -14
  416. package/dist/src/ui/components/messages/GeminiMessageContent.js +0 -15
  417. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +0 -1
  418. package/dist/src/ui/components/messages/InfoMessage.d.ts +0 -11
  419. package/dist/src/ui/components/messages/InfoMessage.js +0 -10
  420. package/dist/src/ui/components/messages/InfoMessage.js.map +0 -1
  421. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +0 -15
  422. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -162
  423. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +0 -1
  424. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +0 -6
  425. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -114
  426. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +0 -1
  427. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +0 -18
  428. package/dist/src/ui/components/messages/ToolGroupMessage.js +0 -50
  429. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +0 -1
  430. package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +0 -6
  431. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +0 -259
  432. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +0 -1
  433. package/dist/src/ui/components/messages/ToolMessage.d.ts +0 -15
  434. package/dist/src/ui/components/messages/ToolMessage.js +0 -62
  435. package/dist/src/ui/components/messages/ToolMessage.js.map +0 -1
  436. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +0 -6
  437. package/dist/src/ui/components/messages/ToolMessage.test.js +0 -118
  438. package/dist/src/ui/components/messages/ToolMessage.test.js.map +0 -1
  439. package/dist/src/ui/components/messages/UserMessage.d.ts +0 -11
  440. package/dist/src/ui/components/messages/UserMessage.js +0 -14
  441. package/dist/src/ui/components/messages/UserMessage.js.map +0 -1
  442. package/dist/src/ui/components/messages/UserShellMessage.d.ts +0 -11
  443. package/dist/src/ui/components/messages/UserShellMessage.js +0 -9
  444. package/dist/src/ui/components/messages/UserShellMessage.js.map +0 -1
  445. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +0 -61
  446. package/dist/src/ui/components/shared/MaxSizedBox.js +0 -451
  447. package/dist/src/ui/components/shared/MaxSizedBox.js.map +0 -1
  448. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +0 -6
  449. package/dist/src/ui/components/shared/MaxSizedBox.test.js +0 -154
  450. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +0 -1
  451. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +0 -46
  452. package/dist/src/ui/components/shared/RadioButtonSelect.js +0 -116
  453. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +0 -1
  454. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +0 -6
  455. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +0 -111
  456. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +0 -1
  457. package/dist/src/ui/components/shared/text-buffer.d.ts +0 -467
  458. package/dist/src/ui/components/shared/text-buffer.js +0 -1489
  459. package/dist/src/ui/components/shared/text-buffer.js.map +0 -1
  460. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +0 -72
  461. package/dist/src/ui/components/shared/vim-buffer-actions.js +0 -552
  462. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +0 -1
  463. package/dist/src/ui/constants.d.ts +0 -17
  464. package/dist/src/ui/constants.js +0 -22
  465. package/dist/src/ui/constants.js.map +0 -1
  466. package/dist/src/ui/contexts/KeypressContext.d.ts +0 -31
  467. package/dist/src/ui/contexts/KeypressContext.js +0 -318
  468. package/dist/src/ui/contexts/KeypressContext.js.map +0 -1
  469. package/dist/src/ui/contexts/KeypressContext.test.d.ts +0 -6
  470. package/dist/src/ui/contexts/KeypressContext.test.js +0 -385
  471. package/dist/src/ui/contexts/KeypressContext.test.js.map +0 -1
  472. package/dist/src/ui/contexts/OverflowContext.d.ts +0 -19
  473. package/dist/src/ui/contexts/OverflowContext.js +0 -38
  474. package/dist/src/ui/contexts/OverflowContext.js.map +0 -1
  475. package/dist/src/ui/contexts/SessionContext.d.ts +0 -39
  476. package/dist/src/ui/contexts/SessionContext.js +0 -55
  477. package/dist/src/ui/contexts/SessionContext.js.map +0 -1
  478. package/dist/src/ui/contexts/SettingsContext.d.ts +0 -9
  479. package/dist/src/ui/contexts/SettingsContext.js +0 -15
  480. package/dist/src/ui/contexts/SettingsContext.js.map +0 -1
  481. package/dist/src/ui/contexts/StreamingContext.d.ts +0 -9
  482. package/dist/src/ui/contexts/StreamingContext.js +0 -15
  483. package/dist/src/ui/contexts/StreamingContext.js.map +0 -1
  484. package/dist/src/ui/contexts/VimModeContext.d.ts +0 -19
  485. package/dist/src/ui/contexts/VimModeContext.js +0 -48
  486. package/dist/src/ui/contexts/VimModeContext.js.map +0 -1
  487. package/dist/src/ui/editors/editorSettingsManager.d.ts +0 -19
  488. package/dist/src/ui/editors/editorSettingsManager.js +0 -47
  489. package/dist/src/ui/editors/editorSettingsManager.js.map +0 -1
  490. package/dist/src/ui/hooks/atCommandProcessor.d.ts +0 -31
  491. package/dist/src/ui/hooks/atCommandProcessor.js +0 -364
  492. package/dist/src/ui/hooks/atCommandProcessor.js.map +0 -1
  493. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +0 -6
  494. package/dist/src/ui/hooks/atCommandProcessor.test.js +0 -832
  495. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +0 -1
  496. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -17
  497. package/dist/src/ui/hooks/shellCommandProcessor.js +0 -234
  498. package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
  499. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +0 -6
  500. package/dist/src/ui/hooks/shellCommandProcessor.test.js +0 -325
  501. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +0 -1
  502. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -29
  503. package/dist/src/ui/hooks/slashCommandProcessor.js +0 -443
  504. package/dist/src/ui/hooks/slashCommandProcessor.js.map +0 -1
  505. package/dist/src/ui/hooks/useAtCompletion.d.ts +0 -23
  506. package/dist/src/ui/hooks/useAtCompletion.js +0 -179
  507. package/dist/src/ui/hooks/useAtCompletion.js.map +0 -1
  508. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -15
  509. package/dist/src/ui/hooks/useAuthCommand.js +0 -66
  510. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  511. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +0 -12
  512. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +0 -46
  513. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
  514. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +0 -6
  515. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +0 -311
  516. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +0 -1
  517. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  518. package/dist/src/ui/hooks/useBracketedPaste.js +0 -32
  519. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  520. package/dist/src/ui/hooks/useCommandCompletion.d.ts +0 -32
  521. package/dist/src/ui/hooks/useCommandCompletion.js +0 -186
  522. package/dist/src/ui/hooks/useCommandCompletion.js.map +0 -1
  523. package/dist/src/ui/hooks/useCompletion.d.ts +0 -24
  524. package/dist/src/ui/hooks/useCompletion.js +0 -88
  525. package/dist/src/ui/hooks/useCompletion.js.map +0 -1
  526. package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -12
  527. package/dist/src/ui/hooks/useConsoleMessages.js +0 -76
  528. package/dist/src/ui/hooks/useConsoleMessages.js.map +0 -1
  529. package/dist/src/ui/hooks/useEditorSettings.d.ts +0 -16
  530. package/dist/src/ui/hooks/useEditorSettings.js +0 -43
  531. package/dist/src/ui/hooks/useEditorSettings.js.map +0 -1
  532. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +0 -6
  533. package/dist/src/ui/hooks/useEditorSettings.test.js +0 -164
  534. package/dist/src/ui/hooks/useEditorSettings.test.js.map +0 -1
  535. package/dist/src/ui/hooks/useFocus.d.ts +0 -10
  536. package/dist/src/ui/hooks/useFocus.js +0 -41
  537. package/dist/src/ui/hooks/useFocus.js.map +0 -1
  538. package/dist/src/ui/hooks/useFolderTrust.d.ts +0 -13
  539. package/dist/src/ui/hooks/useFolderTrust.js +0 -68
  540. package/dist/src/ui/hooks/useFolderTrust.js.map +0 -1
  541. package/dist/src/ui/hooks/useGeminiStream.d.ts +0 -25
  542. package/dist/src/ui/hooks/useGeminiStream.js +0 -648
  543. package/dist/src/ui/hooks/useGeminiStream.js.map +0 -1
  544. package/dist/src/ui/hooks/useGitBranchName.d.ts +0 -6
  545. package/dist/src/ui/hooks/useGitBranchName.js +0 -61
  546. package/dist/src/ui/hooks/useGitBranchName.js.map +0 -1
  547. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +0 -6
  548. package/dist/src/ui/hooks/useGitBranchName.test.js +0 -175
  549. package/dist/src/ui/hooks/useGitBranchName.test.js.map +0 -1
  550. package/dist/src/ui/hooks/useHistoryManager.d.ts +0 -22
  551. package/dist/src/ui/hooks/useHistoryManager.js +0 -72
  552. package/dist/src/ui/hooks/useHistoryManager.js.map +0 -1
  553. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +0 -6
  554. package/dist/src/ui/hooks/useHistoryManager.test.js +0 -171
  555. package/dist/src/ui/hooks/useHistoryManager.test.js.map +0 -1
  556. package/dist/src/ui/hooks/useInputHistory.d.ts +0 -19
  557. package/dist/src/ui/hooks/useInputHistory.js +0 -84
  558. package/dist/src/ui/hooks/useInputHistory.js.map +0 -1
  559. package/dist/src/ui/hooks/useInputHistory.test.d.ts +0 -6
  560. package/dist/src/ui/hooks/useInputHistory.test.js +0 -207
  561. package/dist/src/ui/hooks/useInputHistory.test.js.map +0 -1
  562. package/dist/src/ui/hooks/useInputHistoryStore.d.ts +0 -19
  563. package/dist/src/ui/hooks/useInputHistoryStore.js +0 -81
  564. package/dist/src/ui/hooks/useInputHistoryStore.js.map +0 -1
  565. package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +0 -6
  566. package/dist/src/ui/hooks/useInputHistoryStore.test.js +0 -234
  567. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +0 -1
  568. package/dist/src/ui/hooks/useKeypress.d.ts +0 -17
  569. package/dist/src/ui/hooks/useKeypress.js +0 -27
  570. package/dist/src/ui/hooks/useKeypress.js.map +0 -1
  571. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +0 -15
  572. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +0 -20
  573. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +0 -1
  574. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +0 -10
  575. package/dist/src/ui/hooks/useLoadingIndicator.js +0 -44
  576. package/dist/src/ui/hooks/useLoadingIndicator.js.map +0 -1
  577. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +0 -6
  578. package/dist/src/ui/hooks/useLoadingIndicator.test.js +0 -91
  579. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +0 -1
  580. package/dist/src/ui/hooks/useLogger.d.ts +0 -11
  581. package/dist/src/ui/hooks/useLogger.js +0 -29
  582. package/dist/src/ui/hooks/useLogger.js.map +0 -1
  583. package/dist/src/ui/hooks/useMessageQueue.d.ts +0 -22
  584. package/dist/src/ui/hooks/useMessageQueue.js +0 -49
  585. package/dist/src/ui/hooks/useMessageQueue.js.map +0 -1
  586. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +0 -6
  587. package/dist/src/ui/hooks/useMessageQueue.test.js +0 -158
  588. package/dist/src/ui/hooks/useMessageQueue.test.js.map +0 -1
  589. package/dist/src/ui/hooks/usePhraseCycler.d.ts +0 -14
  590. package/dist/src/ui/hooks/usePhraseCycler.js +0 -187
  591. package/dist/src/ui/hooks/usePhraseCycler.js.map +0 -1
  592. package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
  593. package/dist/src/ui/hooks/usePrivacySettings.js +0 -119
  594. package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
  595. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +0 -6
  596. package/dist/src/ui/hooks/usePrivacySettings.test.js +0 -154
  597. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +0 -1
  598. package/dist/src/ui/hooks/usePromptCompletion.d.ts +0 -23
  599. package/dist/src/ui/hooks/usePromptCompletion.js +0 -177
  600. package/dist/src/ui/hooks/usePromptCompletion.js.map +0 -1
  601. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -33
  602. package/dist/src/ui/hooks/useReactToolScheduler.js +0 -186
  603. package/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
  604. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
  605. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
  606. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
  607. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +0 -19
  608. package/dist/src/ui/hooks/useReverseSearchCompletion.js +0 -56
  609. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +0 -1
  610. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +0 -6
  611. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +0 -163
  612. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +0 -1
  613. package/dist/src/ui/hooks/useSettingsCommand.d.ts +0 -10
  614. package/dist/src/ui/hooks/useSettingsCommand.js +0 -21
  615. package/dist/src/ui/hooks/useSettingsCommand.js.map +0 -1
  616. package/dist/src/ui/hooks/useShellHistory.d.ts +0 -14
  617. package/dist/src/ui/hooks/useShellHistory.js +0 -111
  618. package/dist/src/ui/hooks/useShellHistory.js.map +0 -1
  619. package/dist/src/ui/hooks/useShellHistory.test.d.ts +0 -6
  620. package/dist/src/ui/hooks/useShellHistory.test.js +0 -187
  621. package/dist/src/ui/hooks/useShellHistory.test.js.map +0 -1
  622. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
  623. package/dist/src/ui/hooks/useShowMemoryCommand.js +0 -58
  624. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
  625. package/dist/src/ui/hooks/useSlashCompletion.d.ts +0 -20
  626. package/dist/src/ui/hooks/useSlashCompletion.js +0 -331
  627. package/dist/src/ui/hooks/useSlashCompletion.js.map +0 -1
  628. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +0 -9
  629. package/dist/src/ui/hooks/useSlashCompletion.test.js +0 -665
  630. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +0 -1
  631. package/dist/src/ui/hooks/useStateAndRef.d.ts +0 -7
  632. package/dist/src/ui/hooks/useStateAndRef.js +0 -26
  633. package/dist/src/ui/hooks/useStateAndRef.js.map +0 -1
  634. package/dist/src/ui/hooks/useTerminalSize.d.ts +0 -9
  635. package/dist/src/ui/hooks/useTerminalSize.js +0 -27
  636. package/dist/src/ui/hooks/useTerminalSize.js.map +0 -1
  637. package/dist/src/ui/hooks/useThemeCommand.d.ts +0 -15
  638. package/dist/src/ui/hooks/useThemeCommand.js +0 -79
  639. package/dist/src/ui/hooks/useThemeCommand.js.map +0 -1
  640. package/dist/src/ui/hooks/useTimer.d.ts +0 -12
  641. package/dist/src/ui/hooks/useTimer.js +0 -58
  642. package/dist/src/ui/hooks/useTimer.js.map +0 -1
  643. package/dist/src/ui/hooks/useTimer.test.d.ts +0 -6
  644. package/dist/src/ui/hooks/useTimer.test.js +0 -90
  645. package/dist/src/ui/hooks/useTimer.test.js.map +0 -1
  646. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +0 -6
  647. package/dist/src/ui/hooks/useToolScheduler.test.js +0 -846
  648. package/dist/src/ui/hooks/useToolScheduler.test.js.map +0 -1
  649. package/dist/src/ui/hooks/useWorkspaceMigration.d.ts +0 -13
  650. package/dist/src/ui/hooks/useWorkspaceMigration.js +0 -53
  651. package/dist/src/ui/hooks/useWorkspaceMigration.js.map +0 -1
  652. package/dist/src/ui/hooks/vim.d.ts +0 -28
  653. package/dist/src/ui/hooks/vim.js +0 -639
  654. package/dist/src/ui/hooks/vim.js.map +0 -1
  655. package/dist/src/ui/keyMatchers.d.ts +0 -27
  656. package/dist/src/ui/keyMatchers.js +0 -68
  657. package/dist/src/ui/keyMatchers.js.map +0 -1
  658. package/dist/src/ui/keyMatchers.test.d.ts +0 -6
  659. package/dist/src/ui/keyMatchers.test.js +0 -276
  660. package/dist/src/ui/keyMatchers.test.js.map +0 -1
  661. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
  662. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -41
  663. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
  664. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
  665. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -18
  666. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
  667. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
  668. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -18
  669. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
  670. package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
  671. package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
  672. package/dist/src/ui/privacy/PrivacyNotice.js.map +0 -1
  673. package/dist/src/ui/semantic-colors.d.ts +0 -7
  674. package/dist/src/ui/semantic-colors.js +0 -24
  675. package/dist/src/ui/semantic-colors.js.map +0 -1
  676. package/dist/src/ui/textConstants.d.ts +0 -9
  677. package/dist/src/ui/textConstants.js +0 -10
  678. package/dist/src/ui/textConstants.js.map +0 -1
  679. package/dist/src/ui/themes/ansi-light.d.ts +0 -7
  680. package/dist/src/ui/themes/ansi-light.js +0 -142
  681. package/dist/src/ui/themes/ansi-light.js.map +0 -1
  682. package/dist/src/ui/themes/ansi.d.ts +0 -7
  683. package/dist/src/ui/themes/ansi.js +0 -152
  684. package/dist/src/ui/themes/ansi.js.map +0 -1
  685. package/dist/src/ui/themes/atom-one-dark.d.ts +0 -7
  686. package/dist/src/ui/themes/atom-one-dark.js +0 -138
  687. package/dist/src/ui/themes/atom-one-dark.js.map +0 -1
  688. package/dist/src/ui/themes/ayu-light.d.ts +0 -7
  689. package/dist/src/ui/themes/ayu-light.js +0 -130
  690. package/dist/src/ui/themes/ayu-light.js.map +0 -1
  691. package/dist/src/ui/themes/ayu.d.ts +0 -7
  692. package/dist/src/ui/themes/ayu.js +0 -104
  693. package/dist/src/ui/themes/ayu.js.map +0 -1
  694. package/dist/src/ui/themes/color-utils.d.ts +0 -21
  695. package/dist/src/ui/themes/color-utils.js +0 -221
  696. package/dist/src/ui/themes/color-utils.js.map +0 -1
  697. package/dist/src/ui/themes/color-utils.test.d.ts +0 -6
  698. package/dist/src/ui/themes/color-utils.test.js +0 -197
  699. package/dist/src/ui/themes/color-utils.test.js.map +0 -1
  700. package/dist/src/ui/themes/default-light.d.ts +0 -7
  701. package/dist/src/ui/themes/default-light.js +0 -100
  702. package/dist/src/ui/themes/default-light.js.map +0 -1
  703. package/dist/src/ui/themes/default.d.ts +0 -7
  704. package/dist/src/ui/themes/default.js +0 -143
  705. package/dist/src/ui/themes/default.js.map +0 -1
  706. package/dist/src/ui/themes/dracula.d.ts +0 -7
  707. package/dist/src/ui/themes/dracula.js +0 -115
  708. package/dist/src/ui/themes/dracula.js.map +0 -1
  709. package/dist/src/ui/themes/github-dark.d.ts +0 -7
  710. package/dist/src/ui/themes/github-dark.js +0 -138
  711. package/dist/src/ui/themes/github-dark.js.map +0 -1
  712. package/dist/src/ui/themes/github-light.d.ts +0 -7
  713. package/dist/src/ui/themes/github-light.js +0 -140
  714. package/dist/src/ui/themes/github-light.js.map +0 -1
  715. package/dist/src/ui/themes/googlecode.d.ts +0 -7
  716. package/dist/src/ui/themes/googlecode.js +0 -137
  717. package/dist/src/ui/themes/googlecode.js.map +0 -1
  718. package/dist/src/ui/themes/no-color.d.ts +0 -7
  719. package/dist/src/ui/themes/no-color.js +0 -115
  720. package/dist/src/ui/themes/no-color.js.map +0 -1
  721. package/dist/src/ui/themes/semantic-tokens.d.ts +0 -37
  722. package/dist/src/ui/themes/semantic-tokens.js +0 -94
  723. package/dist/src/ui/themes/semantic-tokens.js.map +0 -1
  724. package/dist/src/ui/themes/shades-of-purple.d.ts +0 -11
  725. package/dist/src/ui/themes/shades-of-purple.js +0 -304
  726. package/dist/src/ui/themes/shades-of-purple.js.map +0 -1
  727. package/dist/src/ui/themes/theme-manager.d.ts +0 -66
  728. package/dist/src/ui/themes/theme-manager.js +0 -262
  729. package/dist/src/ui/themes/theme-manager.js.map +0 -1
  730. package/dist/src/ui/themes/theme-manager.test.d.ts +0 -6
  731. package/dist/src/ui/themes/theme-manager.test.js +0 -142
  732. package/dist/src/ui/themes/theme-manager.test.js.map +0 -1
  733. package/dist/src/ui/themes/theme.d.ts +0 -130
  734. package/dist/src/ui/themes/theme.js +0 -379
  735. package/dist/src/ui/themes/theme.js.map +0 -1
  736. package/dist/src/ui/themes/xcode.d.ts +0 -7
  737. package/dist/src/ui/themes/xcode.js +0 -145
  738. package/dist/src/ui/themes/xcode.js.map +0 -1
  739. package/dist/src/ui/types.d.ts +0 -193
  740. package/dist/src/ui/types.js +0 -44
  741. package/dist/src/ui/types.js.map +0 -1
  742. package/dist/src/ui/utils/CodeColorizer.d.ts +0 -17
  743. package/dist/src/ui/utils/CodeColorizer.js +0 -110
  744. package/dist/src/ui/utils/CodeColorizer.js.map +0 -1
  745. package/dist/src/ui/utils/ConsolePatcher.d.ts +0 -25
  746. package/dist/src/ui/utils/ConsolePatcher.js +0 -52
  747. package/dist/src/ui/utils/ConsolePatcher.js.map +0 -1
  748. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -16
  749. package/dist/src/ui/utils/InlineMarkdownRenderer.js +0 -111
  750. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +0 -1
  751. package/dist/src/ui/utils/MarkdownDisplay.d.ts +0 -14
  752. package/dist/src/ui/utils/MarkdownDisplay.js +0 -208
  753. package/dist/src/ui/utils/MarkdownDisplay.js.map +0 -1
  754. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +0 -6
  755. package/dist/src/ui/utils/MarkdownDisplay.test.js +0 -152
  756. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +0 -1
  757. package/dist/src/ui/utils/TableRenderer.d.ts +0 -17
  758. package/dist/src/ui/utils/TableRenderer.js +0 -84
  759. package/dist/src/ui/utils/TableRenderer.js.map +0 -1
  760. package/dist/src/ui/utils/clipboardUtils.d.ts +0 -22
  761. package/dist/src/ui/utils/clipboardUtils.js +0 -127
  762. package/dist/src/ui/utils/clipboardUtils.js.map +0 -1
  763. package/dist/src/ui/utils/clipboardUtils.test.d.ts +0 -6
  764. package/dist/src/ui/utils/clipboardUtils.test.js +0 -65
  765. package/dist/src/ui/utils/clipboardUtils.test.js.map +0 -1
  766. package/dist/src/ui/utils/commandUtils.d.ts +0 -24
  767. package/dist/src/ui/utils/commandUtils.js +0 -131
  768. package/dist/src/ui/utils/commandUtils.js.map +0 -1
  769. package/dist/src/ui/utils/commandUtils.test.d.ts +0 -6
  770. package/dist/src/ui/utils/commandUtils.test.js +0 -349
  771. package/dist/src/ui/utils/commandUtils.test.js.map +0 -1
  772. package/dist/src/ui/utils/computeStats.d.ts +0 -10
  773. package/dist/src/ui/utils/computeStats.js +0 -57
  774. package/dist/src/ui/utils/computeStats.js.map +0 -1
  775. package/dist/src/ui/utils/displayUtils.d.ts +0 -17
  776. package/dist/src/ui/utils/displayUtils.js +0 -24
  777. package/dist/src/ui/utils/displayUtils.js.map +0 -1
  778. package/dist/src/ui/utils/displayUtils.test.d.ts +0 -6
  779. package/dist/src/ui/utils/displayUtils.test.js +0 -42
  780. package/dist/src/ui/utils/displayUtils.test.js.map +0 -1
  781. package/dist/src/ui/utils/formatters.d.ts +0 -13
  782. package/dist/src/ui/utils/formatters.js +0 -56
  783. package/dist/src/ui/utils/formatters.js.map +0 -1
  784. package/dist/src/ui/utils/formatters.test.d.ts +0 -6
  785. package/dist/src/ui/utils/formatters.test.js +0 -56
  786. package/dist/src/ui/utils/formatters.test.js.map +0 -1
  787. package/dist/src/ui/utils/isNarrowWidth.d.ts +0 -6
  788. package/dist/src/ui/utils/isNarrowWidth.js +0 -9
  789. package/dist/src/ui/utils/isNarrowWidth.js.map +0 -1
  790. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +0 -13
  791. package/dist/src/ui/utils/kittyProtocolDetector.js +0 -88
  792. package/dist/src/ui/utils/kittyProtocolDetector.js.map +0 -1
  793. package/dist/src/ui/utils/markdownUtilities.d.ts +0 -6
  794. package/dist/src/ui/utils/markdownUtilities.js +0 -110
  795. package/dist/src/ui/utils/markdownUtilities.js.map +0 -1
  796. package/dist/src/ui/utils/markdownUtilities.test.d.ts +0 -6
  797. package/dist/src/ui/utils/markdownUtilities.test.js +0 -42
  798. package/dist/src/ui/utils/markdownUtilities.test.js.map +0 -1
  799. package/dist/src/ui/utils/platformConstants.d.ts +0 -52
  800. package/dist/src/ui/utils/platformConstants.js +0 -53
  801. package/dist/src/ui/utils/platformConstants.js.map +0 -1
  802. package/dist/src/ui/utils/terminalSetup.d.ts +0 -30
  803. package/dist/src/ui/utils/terminalSetup.js +0 -281
  804. package/dist/src/ui/utils/terminalSetup.js.map +0 -1
  805. package/dist/src/ui/utils/textUtils.d.ts +0 -32
  806. package/dist/src/ui/utils/textUtils.js +0 -80
  807. package/dist/src/ui/utils/textUtils.js.map +0 -1
  808. package/dist/src/ui/utils/updateCheck.d.ts +0 -12
  809. package/dist/src/ui/utils/updateCheck.js +0 -78
  810. package/dist/src/ui/utils/updateCheck.js.map +0 -1
  811. package/dist/src/ui/utils/updateCheck.test.d.ts +0 -6
  812. package/dist/src/ui/utils/updateCheck.test.js +0 -145
  813. package/dist/src/ui/utils/updateCheck.test.js.map +0 -1
  814. package/dist/src/utils/checks.d.ts +0 -19
  815. package/dist/src/utils/checks.js +0 -24
  816. package/dist/src/utils/checks.js.map +0 -1
  817. package/dist/src/utils/cleanup.d.ts +0 -8
  818. package/dist/src/utils/cleanup.js +0 -35
  819. package/dist/src/utils/cleanup.js.map +0 -1
  820. package/dist/src/utils/dialogScopeUtils.d.ts +0 -32
  821. package/dist/src/utils/dialogScopeUtils.js +0 -48
  822. package/dist/src/utils/dialogScopeUtils.js.map +0 -1
  823. package/dist/src/utils/envVarResolver.d.ts +0 -39
  824. package/dist/src/utils/envVarResolver.js +0 -97
  825. package/dist/src/utils/envVarResolver.js.map +0 -1
  826. package/dist/src/utils/envVarResolver.test.d.ts +0 -6
  827. package/dist/src/utils/envVarResolver.test.js +0 -221
  828. package/dist/src/utils/envVarResolver.test.js.map +0 -1
  829. package/dist/src/utils/errors.d.ts +0 -6
  830. package/dist/src/utils/errors.js +0 -12
  831. package/dist/src/utils/errors.js.map +0 -1
  832. package/dist/src/utils/events.d.ts +0 -11
  833. package/dist/src/utils/events.js +0 -13
  834. package/dist/src/utils/events.js.map +0 -1
  835. package/dist/src/utils/gitUtils.d.ts +0 -30
  836. package/dist/src/utils/gitUtils.js +0 -89
  837. package/dist/src/utils/gitUtils.js.map +0 -1
  838. package/dist/src/utils/gitUtils.test.d.ts +0 -6
  839. package/dist/src/utils/gitUtils.test.js +0 -113
  840. package/dist/src/utils/gitUtils.test.js.map +0 -1
  841. package/dist/src/utils/handleAutoUpdate.d.ts +0 -11
  842. package/dist/src/utils/handleAutoUpdate.js +0 -102
  843. package/dist/src/utils/handleAutoUpdate.js.map +0 -1
  844. package/dist/src/utils/installationInfo.d.ts +0 -23
  845. package/dist/src/utils/installationInfo.js +0 -154
  846. package/dist/src/utils/installationInfo.js.map +0 -1
  847. package/dist/src/utils/installationInfo.test.d.ts +0 -6
  848. package/dist/src/utils/installationInfo.test.js +0 -242
  849. package/dist/src/utils/installationInfo.test.js.map +0 -1
  850. package/dist/src/utils/package.d.ts +0 -12
  851. package/dist/src/utils/package.js +0 -24
  852. package/dist/src/utils/package.js.map +0 -1
  853. package/dist/src/utils/readStdin.d.ts +0 -6
  854. package/dist/src/utils/readStdin.js +0 -59
  855. package/dist/src/utils/readStdin.js.map +0 -1
  856. package/dist/src/utils/readStdin.test.d.ts +0 -6
  857. package/dist/src/utils/readStdin.test.js +0 -88
  858. package/dist/src/utils/readStdin.test.js.map +0 -1
  859. package/dist/src/utils/resolvePath.d.ts +0 -6
  860. package/dist/src/utils/resolvePath.js +0 -21
  861. package/dist/src/utils/resolvePath.js.map +0 -1
  862. package/dist/src/utils/sandbox.d.ts +0 -7
  863. package/dist/src/utils/sandbox.js +0 -724
  864. package/dist/src/utils/sandbox.js.map +0 -1
  865. package/dist/src/utils/settingsUtils.d.ts +0 -134
  866. package/dist/src/utils/settingsUtils.js +0 -330
  867. package/dist/src/utils/settingsUtils.js.map +0 -1
  868. package/dist/src/utils/settingsUtils.test.d.ts +0 -6
  869. package/dist/src/utils/settingsUtils.test.js +0 -511
  870. package/dist/src/utils/settingsUtils.test.js.map +0 -1
  871. package/dist/src/utils/spawnWrapper.d.ts +0 -7
  872. package/dist/src/utils/spawnWrapper.js +0 -8
  873. package/dist/src/utils/spawnWrapper.js.map +0 -1
  874. package/dist/src/utils/startupWarnings.d.ts +0 -6
  875. package/dist/src/utils/startupWarnings.js +0 -40
  876. package/dist/src/utils/startupWarnings.js.map +0 -1
  877. package/dist/src/utils/updateEventEmitter.d.ts +0 -11
  878. package/dist/src/utils/updateEventEmitter.js +0 -12
  879. package/dist/src/utils/updateEventEmitter.js.map +0 -1
  880. package/dist/src/utils/userStartupWarnings.d.ts +0 -6
  881. package/dist/src/utils/userStartupWarnings.js +0 -54
  882. package/dist/src/utils/userStartupWarnings.js.map +0 -1
  883. package/dist/src/utils/userStartupWarnings.test.d.ts +0 -6
  884. package/dist/src/utils/userStartupWarnings.test.js +0 -67
  885. package/dist/src/utils/userStartupWarnings.test.js.map +0 -1
  886. package/dist/src/utils/version.d.ts +0 -6
  887. package/dist/src/utils/version.js +0 -11
  888. package/dist/src/utils/version.js.map +0 -1
  889. package/dist/src/validateNonInterActiveAuth.d.ts +0 -8
  890. package/dist/src/validateNonInterActiveAuth.js +0 -37
  891. package/dist/src/validateNonInterActiveAuth.js.map +0 -1
  892. package/dist/src/zed-integration/acp.d.ts +0 -63
  893. package/dist/src/zed-integration/acp.js +0 -226
  894. package/dist/src/zed-integration/acp.js.map +0 -1
  895. package/dist/src/zed-integration/fileSystemService.d.ts +0 -19
  896. package/dist/src/zed-integration/fileSystemService.js +0 -43
  897. package/dist/src/zed-integration/fileSystemService.js.map +0 -1
  898. package/dist/src/zed-integration/schema.d.ts +0 -11782
  899. package/dist/src/zed-integration/schema.js +0 -311
  900. package/dist/src/zed-integration/schema.js.map +0 -1
  901. package/dist/src/zed-integration/zedIntegration.d.ts +0 -10
  902. package/dist/src/zed-integration/zedIntegration.js +0 -740
  903. package/dist/src/zed-integration/zedIntegration.js.map +0 -1
  904. package/dist/tsconfig.tsbuildinfo +0 -1
  905. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-closed.sb +0 -0
  906. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-open.sb +0 -0
  907. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-proxied.sb +0 -0
  908. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-closed.sb +0 -0
  909. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-open.sb +0 -0
  910. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-proxied.sb +0 -0
@@ -1,174 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"atFileProcessor.test.js","sourceRoot":"","sources":["../../../../src/services/prompt-processors/atFileProcessor.test.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
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[];
@@ -1,60 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};
@@ -1,189 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect } from 'vitest';
7
- import { extractInjections } from './injectionParser.js';
8
- describe('extractInjections', () => {
9
- const SHELL_TRIGGER = '!{';
10
- const AT_FILE_TRIGGER = '@{';
11
- describe('Basic Functionality', () => {
12
- it('should return an empty array if no trigger is present', () => {
13
- const prompt = 'This is a simple prompt without injections.';
14
- const result = extractInjections(prompt, SHELL_TRIGGER);
15
- expect(result).toEqual([]);
16
- });
17
- it('should extract a single, simple injection', () => {
18
- const prompt = 'Run this command: !{ls -la}';
19
- const result = extractInjections(prompt, SHELL_TRIGGER);
20
- expect(result).toEqual([
21
- {
22
- content: 'ls -la',
23
- startIndex: 18,
24
- endIndex: 27,
25
- },
26
- ]);
27
- });
28
- it('should extract multiple injections', () => {
29
- const prompt = 'First: !{cmd1}, Second: !{cmd2}';
30
- const result = extractInjections(prompt, SHELL_TRIGGER);
31
- expect(result).toHaveLength(2);
32
- expect(result[0]).toEqual({
33
- content: 'cmd1',
34
- startIndex: 7,
35
- endIndex: 14,
36
- });
37
- expect(result[1]).toEqual({
38
- content: 'cmd2',
39
- startIndex: 24,
40
- endIndex: 31,
41
- });
42
- });
43
- it('should handle different triggers (e.g., @{)', () => {
44
- const prompt = 'Read this file: @{path/to/file.txt}';
45
- const result = extractInjections(prompt, AT_FILE_TRIGGER);
46
- expect(result).toEqual([
47
- {
48
- content: 'path/to/file.txt',
49
- startIndex: 16,
50
- endIndex: 35,
51
- },
52
- ]);
53
- });
54
- });
55
- describe('Positioning and Edge Cases', () => {
56
- it('should handle injections at the start and end of the prompt', () => {
57
- const prompt = '!{start} middle text !{end}';
58
- const result = extractInjections(prompt, SHELL_TRIGGER);
59
- expect(result).toHaveLength(2);
60
- expect(result[0]).toEqual({
61
- content: 'start',
62
- startIndex: 0,
63
- endIndex: 8,
64
- });
65
- expect(result[1]).toEqual({
66
- content: 'end',
67
- startIndex: 21,
68
- endIndex: 27,
69
- });
70
- });
71
- it('should handle adjacent injections', () => {
72
- const prompt = '!{A}!{B}';
73
- const result = extractInjections(prompt, SHELL_TRIGGER);
74
- expect(result).toHaveLength(2);
75
- expect(result[0]).toEqual({ content: 'A', startIndex: 0, endIndex: 4 });
76
- expect(result[1]).toEqual({ content: 'B', startIndex: 4, endIndex: 8 });
77
- });
78
- it('should handle empty injections', () => {
79
- const prompt = 'Empty: !{}';
80
- const result = extractInjections(prompt, SHELL_TRIGGER);
81
- expect(result).toEqual([
82
- {
83
- content: '',
84
- startIndex: 7,
85
- endIndex: 10,
86
- },
87
- ]);
88
- });
89
- it('should trim whitespace within the content', () => {
90
- const prompt = '!{ \n command with space \t }';
91
- const result = extractInjections(prompt, SHELL_TRIGGER);
92
- expect(result).toEqual([
93
- {
94
- content: 'command with space',
95
- startIndex: 0,
96
- endIndex: 29,
97
- },
98
- ]);
99
- });
100
- it('should ignore similar patterns that are not the exact trigger', () => {
101
- const prompt = 'Not a trigger: !(cmd) or {cmd} or ! {cmd}';
102
- const result = extractInjections(prompt, SHELL_TRIGGER);
103
- expect(result).toEqual([]);
104
- });
105
- it('should ignore extra closing braces before the trigger', () => {
106
- const prompt = 'Ignore this } then !{run}';
107
- const result = extractInjections(prompt, SHELL_TRIGGER);
108
- expect(result).toEqual([
109
- {
110
- content: 'run',
111
- startIndex: 19,
112
- endIndex: 25,
113
- },
114
- ]);
115
- });
116
- it('should stop parsing at the first balanced closing brace (non-greedy)', () => {
117
- // This tests that the parser doesn't greedily consume extra closing braces
118
- const prompt = 'Run !{ls -l}} extra braces';
119
- const result = extractInjections(prompt, SHELL_TRIGGER);
120
- expect(result).toEqual([
121
- {
122
- content: 'ls -l',
123
- startIndex: 4,
124
- endIndex: 12,
125
- },
126
- ]);
127
- });
128
- });
129
- describe('Nested Braces (Balanced)', () => {
130
- it('should correctly parse content with simple nested braces (e.g., JSON)', () => {
131
- const prompt = `Send JSON: !{curl -d '{"key": "value"}'}`;
132
- const result = extractInjections(prompt, SHELL_TRIGGER);
133
- expect(result).toHaveLength(1);
134
- expect(result[0].content).toBe(`curl -d '{"key": "value"}'`);
135
- });
136
- it('should correctly parse content with shell constructs (e.g., awk)', () => {
137
- const prompt = `Process text: !{awk '{print $1}' file.txt}`;
138
- const result = extractInjections(prompt, SHELL_TRIGGER);
139
- expect(result).toHaveLength(1);
140
- expect(result[0].content).toBe(`awk '{print $1}' file.txt`);
141
- });
142
- it('should correctly parse multiple levels of nesting', () => {
143
- const prompt = `!{level1 {level2 {level3}} suffix}`;
144
- const result = extractInjections(prompt, SHELL_TRIGGER);
145
- expect(result).toHaveLength(1);
146
- expect(result[0].content).toBe(`level1 {level2 {level3}} suffix`);
147
- expect(result[0].endIndex).toBe(prompt.length);
148
- });
149
- it('should correctly parse paths containing balanced braces', () => {
150
- const prompt = 'Analyze @{path/with/{braces}/file.txt}';
151
- const result = extractInjections(prompt, AT_FILE_TRIGGER);
152
- expect(result).toHaveLength(1);
153
- expect(result[0].content).toBe('path/with/{braces}/file.txt');
154
- });
155
- it('should correctly handle an injection containing the trigger itself', () => {
156
- // This works because the parser counts braces, it doesn't look for the trigger again until the current one is closed.
157
- const prompt = '!{echo "The trigger is !{ confusing }"}';
158
- const expectedContent = 'echo "The trigger is !{ confusing }"';
159
- const result = extractInjections(prompt, SHELL_TRIGGER);
160
- expect(result).toHaveLength(1);
161
- expect(result[0].content).toBe(expectedContent);
162
- });
163
- });
164
- describe('Error Handling (Unbalanced/Unclosed)', () => {
165
- it('should throw an error for a simple unclosed injection', () => {
166
- const prompt = 'This prompt has !{an unclosed trigger';
167
- expect(() => extractInjections(prompt, SHELL_TRIGGER)).toThrow(/Invalid syntax: Unclosed injection starting at index 16 \('!{'\)/);
168
- });
169
- it('should throw an error if the prompt ends inside a nested block', () => {
170
- const prompt = 'This fails: !{outer {inner';
171
- expect(() => extractInjections(prompt, SHELL_TRIGGER)).toThrow(/Invalid syntax: Unclosed injection starting at index 12 \('!{'\)/);
172
- });
173
- it('should include the context name in the error message if provided', () => {
174
- const prompt = 'Failing !{command';
175
- const contextName = 'test-command';
176
- expect(() => extractInjections(prompt, SHELL_TRIGGER, contextName)).toThrow(/Invalid syntax in command 'test-command': Unclosed injection starting at index 8/);
177
- });
178
- it('should throw if content contains unbalanced braces (e.g., missing closing)', () => {
179
- // This is functionally the same as an unclosed injection from the parser's perspective.
180
- const prompt = 'Analyze @{path/with/braces{example.txt}';
181
- expect(() => extractInjections(prompt, AT_FILE_TRIGGER)).toThrow(/Invalid syntax: Unclosed injection starting at index 8 \('@{'\)/);
182
- });
183
- it('should clearly state that unbalanced braces in content are not supported in the error', () => {
184
- const prompt = 'Analyze @{path/with/braces{example.txt}';
185
- expect(() => extractInjections(prompt, AT_FILE_TRIGGER)).toThrow(/Paths or commands with unbalanced braces are not supported directly/);
186
- });
187
- });
188
- });
189
- //# sourceMappingURL=injectionParser.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"injectionParser.test.js","sourceRoot":"","sources":["../../../../src/services/prompt-processors/injectionParser.test.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
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, PromptPipelineContent } from './types.js';
8
- export declare class ConfirmationRequiredError extends Error {
9
- commandsToConfirm: string[];
10
- constructor(message: string, commandsToConfirm: string[]);
11
- }
12
- /**
13
- * Handles prompt interpolation, including shell command execution (`!{...}`)
14
- * and context-aware argument injection (`{{args}}`).
15
- *
16
- * This processor ensures that:
17
- * 1. `{{args}}` outside `!{...}` are replaced with raw input.
18
- * 2. `{{args}}` inside `!{...}` are replaced with shell-escaped input.
19
- * 3. Shell commands are executed securely after argument substitution.
20
- * 4. Parsing correctly handles nested braces.
21
- */
22
- export declare class ShellProcessor implements IPromptProcessor {
23
- private readonly commandName;
24
- constructor(commandName: string);
25
- process(prompt: PromptPipelineContent, context: CommandContext): Promise<PromptPipelineContent>;
26
- private processString;
27
- }
@@ -1,121 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { ApprovalMode, checkCommandPermissions, escapeShellArg, getShellConfiguration, ShellExecutionService, flatMapTextParts, } from '@google/gemini-cli-core';
7
- import { SHELL_INJECTION_TRIGGER, SHORTHAND_ARGS_PLACEHOLDER, } from './types.js';
8
- import { extractInjections } from './injectionParser.js';
9
- export class ConfirmationRequiredError extends Error {
10
- commandsToConfirm;
11
- constructor(message, commandsToConfirm) {
12
- super(message);
13
- this.commandsToConfirm = commandsToConfirm;
14
- this.name = 'ConfirmationRequiredError';
15
- }
16
- }
17
- /**
18
- * Handles prompt interpolation, including shell command execution (`!{...}`)
19
- * and context-aware argument injection (`{{args}}`).
20
- *
21
- * This processor ensures that:
22
- * 1. `{{args}}` outside `!{...}` are replaced with raw input.
23
- * 2. `{{args}}` inside `!{...}` are replaced with shell-escaped input.
24
- * 3. Shell commands are executed securely after argument substitution.
25
- * 4. Parsing correctly handles nested braces.
26
- */
27
- export class ShellProcessor {
28
- commandName;
29
- constructor(commandName) {
30
- this.commandName = commandName;
31
- }
32
- async process(prompt, context) {
33
- return flatMapTextParts(prompt, (text) => this.processString(text, context));
34
- }
35
- async processString(prompt, context) {
36
- const userArgsRaw = context.invocation?.args || '';
37
- if (!prompt.includes(SHELL_INJECTION_TRIGGER)) {
38
- return [
39
- { text: prompt.replaceAll(SHORTHAND_ARGS_PLACEHOLDER, userArgsRaw) },
40
- ];
41
- }
42
- const config = context.services.config;
43
- if (!config) {
44
- throw new Error(`Security configuration not loaded. Cannot verify shell command permissions for '${this.commandName}'. Aborting.`);
45
- }
46
- const { sessionShellAllowlist } = context.session;
47
- const injections = extractInjections(prompt, SHELL_INJECTION_TRIGGER, this.commandName);
48
- // If extractInjections found no closed blocks (and didn't throw), treat as raw.
49
- if (injections.length === 0) {
50
- return [
51
- { text: prompt.replaceAll(SHORTHAND_ARGS_PLACEHOLDER, userArgsRaw) },
52
- ];
53
- }
54
- const { shell } = getShellConfiguration();
55
- const userArgsEscaped = escapeShellArg(userArgsRaw, shell);
56
- const resolvedInjections = injections.map((injection) => {
57
- const command = injection.content;
58
- if (command === '') {
59
- return { ...injection, resolvedCommand: undefined };
60
- }
61
- const resolvedCommand = command.replaceAll(SHORTHAND_ARGS_PLACEHOLDER, userArgsEscaped);
62
- return { ...injection, resolvedCommand };
63
- });
64
- const commandsToConfirm = new Set();
65
- for (const injection of resolvedInjections) {
66
- const command = injection.resolvedCommand;
67
- if (!command)
68
- continue;
69
- // Security check on the final, escaped command string.
70
- const { allAllowed, disallowedCommands, blockReason, isHardDenial } = checkCommandPermissions(command, config, sessionShellAllowlist);
71
- if (!allAllowed) {
72
- if (isHardDenial) {
73
- throw new Error(`${this.commandName} cannot be run. Blocked command: "${command}". Reason: ${blockReason || 'Blocked by configuration.'}`);
74
- }
75
- // If not a hard denial, respect YOLO mode and auto-approve.
76
- if (config.getApprovalMode() !== ApprovalMode.YOLO) {
77
- disallowedCommands.forEach((uc) => commandsToConfirm.add(uc));
78
- }
79
- }
80
- }
81
- // Handle confirmation requirements.
82
- if (commandsToConfirm.size > 0) {
83
- throw new ConfirmationRequiredError('Shell command confirmation required', Array.from(commandsToConfirm));
84
- }
85
- let processedPrompt = '';
86
- let lastIndex = 0;
87
- for (const injection of resolvedInjections) {
88
- // Append the text segment BEFORE the injection, substituting {{args}} with RAW input.
89
- const segment = prompt.substring(lastIndex, injection.startIndex);
90
- processedPrompt += segment.replaceAll(SHORTHAND_ARGS_PLACEHOLDER, userArgsRaw);
91
- // Execute the resolved command (which already has ESCAPED input).
92
- if (injection.resolvedCommand) {
93
- const { result } = await ShellExecutionService.execute(injection.resolvedCommand, config.getTargetDir(), () => { }, new AbortController().signal, config.getShouldUseNodePtyShell());
94
- const executionResult = await result;
95
- // Handle Spawn Errors
96
- if (executionResult.error && !executionResult.aborted) {
97
- throw new Error(`Failed to start shell command in '${this.commandName}': ${executionResult.error.message}. Command: ${injection.resolvedCommand}`);
98
- }
99
- // Append the output, making stderr explicit for the model.
100
- processedPrompt += executionResult.output;
101
- // Append a status message if the command did not succeed.
102
- if (executionResult.aborted) {
103
- processedPrompt += `\n[Shell command '${injection.resolvedCommand}' aborted]`;
104
- }
105
- else if (executionResult.exitCode !== 0 &&
106
- executionResult.exitCode !== null) {
107
- processedPrompt += `\n[Shell command '${injection.resolvedCommand}' exited with code ${executionResult.exitCode}]`;
108
- }
109
- else if (executionResult.signal !== null) {
110
- processedPrompt += `\n[Shell command '${injection.resolvedCommand}' terminated by signal ${executionResult.signal}]`;
111
- }
112
- }
113
- lastIndex = injection.endIndex;
114
- }
115
- // Append the remaining text AFTER the last injection, substituting {{args}} with RAW input.
116
- const finalSegment = prompt.substring(lastIndex);
117
- processedPrompt += finalSegment.replaceAll(SHORTHAND_ARGS_PLACEHOLDER, userArgsRaw);
118
- return [{ text: processedPrompt }];
119
- }
120
- }
121
- //# sourceMappingURL=shellProcessor.js.map