@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,832 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
- import { handleAtCommand } from './atCommandProcessor.js';
8
- import { FileDiscoveryService, GlobTool, ReadManyFilesTool, StandardFileSystemService, ToolRegistry, COMMON_IGNORE_PATTERNS, DEFAULT_FILE_EXCLUDES, } from '@google/gemini-cli-core';
9
- import * as os from 'node:os';
10
- import { ToolCallStatus } from '../types.js';
11
- import * as fsPromises from 'node:fs/promises';
12
- import * as path from 'node:path';
13
- describe('handleAtCommand', () => {
14
- let testRootDir;
15
- let mockConfig;
16
- const mockAddItem = vi.fn();
17
- const mockOnDebugMessage = vi.fn();
18
- let abortController;
19
- async function createTestFile(fullPath, fileContents) {
20
- await fsPromises.mkdir(path.dirname(fullPath), { recursive: true });
21
- await fsPromises.writeFile(fullPath, fileContents);
22
- return path.resolve(testRootDir, fullPath);
23
- }
24
- beforeEach(async () => {
25
- vi.resetAllMocks();
26
- testRootDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), 'folder-structure-test-'));
27
- abortController = new AbortController();
28
- const getToolRegistry = vi.fn();
29
- mockConfig = {
30
- getToolRegistry,
31
- getTargetDir: () => testRootDir,
32
- isSandboxed: () => false,
33
- getFileService: () => new FileDiscoveryService(testRootDir),
34
- getFileFilteringRespectGitIgnore: () => true,
35
- getFileFilteringRespectGeminiIgnore: () => true,
36
- getFileFilteringOptions: () => ({
37
- respectGitIgnore: true,
38
- respectGeminiIgnore: true,
39
- }),
40
- getFileSystemService: () => new StandardFileSystemService(),
41
- getEnableRecursiveFileSearch: vi.fn(() => true),
42
- getWorkspaceContext: () => ({
43
- isPathWithinWorkspace: () => true,
44
- getDirectories: () => [testRootDir],
45
- }),
46
- getMcpServers: () => ({}),
47
- getMcpServerCommand: () => undefined,
48
- getPromptRegistry: () => ({
49
- getPromptsByServer: () => [],
50
- }),
51
- getDebugMode: () => false,
52
- getFileExclusions: () => ({
53
- getCoreIgnorePatterns: () => COMMON_IGNORE_PATTERNS,
54
- getDefaultExcludePatterns: () => DEFAULT_FILE_EXCLUDES,
55
- getGlobExcludes: () => COMMON_IGNORE_PATTERNS,
56
- buildExcludePatterns: () => DEFAULT_FILE_EXCLUDES,
57
- getReadManyFilesExcludes: () => DEFAULT_FILE_EXCLUDES,
58
- }),
59
- getUsageStatisticsEnabled: () => false,
60
- };
61
- const registry = new ToolRegistry(mockConfig);
62
- registry.registerTool(new ReadManyFilesTool(mockConfig));
63
- registry.registerTool(new GlobTool(mockConfig));
64
- getToolRegistry.mockReturnValue(registry);
65
- });
66
- afterEach(async () => {
67
- abortController.abort();
68
- await fsPromises.rm(testRootDir, { recursive: true, force: true });
69
- });
70
- it('should pass through query if no @ command is present', async () => {
71
- const query = 'regular user query';
72
- const result = await handleAtCommand({
73
- query,
74
- config: mockConfig,
75
- addItem: mockAddItem,
76
- onDebugMessage: mockOnDebugMessage,
77
- messageId: 123,
78
- signal: abortController.signal,
79
- });
80
- expect(result).toEqual({
81
- processedQuery: [{ text: query }],
82
- shouldProceed: true,
83
- });
84
- });
85
- it('should pass through original query if only a lone @ symbol is present', async () => {
86
- const queryWithSpaces = ' @ ';
87
- const result = await handleAtCommand({
88
- query: queryWithSpaces,
89
- config: mockConfig,
90
- addItem: mockAddItem,
91
- onDebugMessage: mockOnDebugMessage,
92
- messageId: 124,
93
- signal: abortController.signal,
94
- });
95
- expect(result).toEqual({
96
- processedQuery: [{ text: queryWithSpaces }],
97
- shouldProceed: true,
98
- });
99
- expect(mockOnDebugMessage).toHaveBeenCalledWith('Lone @ detected, will be treated as text in the modified query.');
100
- });
101
- it('should process a valid text file path', async () => {
102
- const fileContent = 'This is the file content.';
103
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'file.txt'), fileContent);
104
- const query = `@${filePath}`;
105
- const result = await handleAtCommand({
106
- query,
107
- config: mockConfig,
108
- addItem: mockAddItem,
109
- onDebugMessage: mockOnDebugMessage,
110
- messageId: 125,
111
- signal: abortController.signal,
112
- });
113
- expect(result).toEqual({
114
- processedQuery: [
115
- { text: `@${filePath}` },
116
- { text: '\n--- Content from referenced files ---' },
117
- { text: `\nContent from @${filePath}:\n` },
118
- { text: fileContent },
119
- { text: '\n--- End of content ---' },
120
- ],
121
- shouldProceed: true,
122
- });
123
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
124
- type: 'tool_group',
125
- tools: [expect.objectContaining({ status: ToolCallStatus.Success })],
126
- }), 125);
127
- });
128
- it('should process a valid directory path and convert to glob', async () => {
129
- const fileContent = 'This is the file content.';
130
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'file.txt'), fileContent);
131
- const dirPath = path.dirname(filePath);
132
- const query = `@${dirPath}`;
133
- const resolvedGlob = `${dirPath}/**`;
134
- const result = await handleAtCommand({
135
- query,
136
- config: mockConfig,
137
- addItem: mockAddItem,
138
- onDebugMessage: mockOnDebugMessage,
139
- messageId: 126,
140
- signal: abortController.signal,
141
- });
142
- expect(result).toEqual({
143
- processedQuery: [
144
- { text: `@${resolvedGlob}` },
145
- { text: '\n--- Content from referenced files ---' },
146
- { text: `\nContent from @${filePath}:\n` },
147
- { text: fileContent },
148
- { text: '\n--- End of content ---' },
149
- ],
150
- shouldProceed: true,
151
- });
152
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${dirPath} resolved to directory, using glob: ${resolvedGlob}`);
153
- });
154
- it('should handle query with text before and after @command', async () => {
155
- const fileContent = 'Markdown content.';
156
- const filePath = await createTestFile(path.join(testRootDir, 'doc.md'), fileContent);
157
- const textBefore = 'Explain this: ';
158
- const textAfter = ' in detail.';
159
- const query = `${textBefore}@${filePath}${textAfter}`;
160
- const result = await handleAtCommand({
161
- query,
162
- config: mockConfig,
163
- addItem: mockAddItem,
164
- onDebugMessage: mockOnDebugMessage,
165
- messageId: 128,
166
- signal: abortController.signal,
167
- });
168
- expect(result).toEqual({
169
- processedQuery: [
170
- { text: `${textBefore}@${filePath}${textAfter}` },
171
- { text: '\n--- Content from referenced files ---' },
172
- { text: `\nContent from @${filePath}:\n` },
173
- { text: fileContent },
174
- { text: '\n--- End of content ---' },
175
- ],
176
- shouldProceed: true,
177
- });
178
- });
179
- it('should correctly unescape paths with escaped spaces', async () => {
180
- const fileContent = 'This is the file content.';
181
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'my file.txt'), fileContent);
182
- const escapedpath = path.join(testRootDir, 'path', 'to', 'my\\ file.txt');
183
- const query = `@${escapedpath}`;
184
- const result = await handleAtCommand({
185
- query,
186
- config: mockConfig,
187
- addItem: mockAddItem,
188
- onDebugMessage: mockOnDebugMessage,
189
- messageId: 125,
190
- signal: abortController.signal,
191
- });
192
- expect(result).toEqual({
193
- processedQuery: [
194
- { text: `@${filePath}` },
195
- { text: '\n--- Content from referenced files ---' },
196
- { text: `\nContent from @${filePath}:\n` },
197
- { text: fileContent },
198
- { text: '\n--- End of content ---' },
199
- ],
200
- shouldProceed: true,
201
- });
202
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
203
- type: 'tool_group',
204
- tools: [expect.objectContaining({ status: ToolCallStatus.Success })],
205
- }), 125);
206
- });
207
- it('should handle multiple @file references', async () => {
208
- const content1 = 'Content file1';
209
- const file1Path = await createTestFile(path.join(testRootDir, 'file1.txt'), content1);
210
- const content2 = 'Content file2';
211
- const file2Path = await createTestFile(path.join(testRootDir, 'file2.md'), content2);
212
- const query = `@${file1Path} @${file2Path}`;
213
- const result = await handleAtCommand({
214
- query,
215
- config: mockConfig,
216
- addItem: mockAddItem,
217
- onDebugMessage: mockOnDebugMessage,
218
- messageId: 130,
219
- signal: abortController.signal,
220
- });
221
- expect(result).toEqual({
222
- processedQuery: [
223
- { text: query },
224
- { text: '\n--- Content from referenced files ---' },
225
- { text: `\nContent from @${file1Path}:\n` },
226
- { text: content1 },
227
- { text: `\nContent from @${file2Path}:\n` },
228
- { text: content2 },
229
- { text: '\n--- End of content ---' },
230
- ],
231
- shouldProceed: true,
232
- });
233
- });
234
- it('should handle multiple @file references with interleaved text', async () => {
235
- const text1 = 'Check ';
236
- const content1 = 'C1';
237
- const file1Path = await createTestFile(path.join(testRootDir, 'f1.txt'), content1);
238
- const text2 = ' and ';
239
- const content2 = 'C2';
240
- const file2Path = await createTestFile(path.join(testRootDir, 'f2.md'), content2);
241
- const text3 = ' please.';
242
- const query = `${text1}@${file1Path}${text2}@${file2Path}${text3}`;
243
- const result = await handleAtCommand({
244
- query,
245
- config: mockConfig,
246
- addItem: mockAddItem,
247
- onDebugMessage: mockOnDebugMessage,
248
- messageId: 131,
249
- signal: abortController.signal,
250
- });
251
- expect(result).toEqual({
252
- processedQuery: [
253
- { text: query },
254
- { text: '\n--- Content from referenced files ---' },
255
- { text: `\nContent from @${file1Path}:\n` },
256
- { text: content1 },
257
- { text: `\nContent from @${file2Path}:\n` },
258
- { text: content2 },
259
- { text: '\n--- End of content ---' },
260
- ],
261
- shouldProceed: true,
262
- });
263
- });
264
- it('should handle a mix of valid, invalid, and lone @ references', async () => {
265
- const content1 = 'Valid content 1';
266
- const file1Path = await createTestFile(path.join(testRootDir, 'valid1.txt'), content1);
267
- const invalidFile = 'nonexistent.txt';
268
- const content2 = 'Globbed content';
269
- const file2Path = await createTestFile(path.join(testRootDir, 'resolved', 'valid2.actual'), content2);
270
- const query = `Look at @${file1Path} then @${invalidFile} and also just @ symbol, then @${file2Path}`;
271
- const result = await handleAtCommand({
272
- query,
273
- config: mockConfig,
274
- addItem: mockAddItem,
275
- onDebugMessage: mockOnDebugMessage,
276
- messageId: 132,
277
- signal: abortController.signal,
278
- });
279
- expect(result).toEqual({
280
- processedQuery: [
281
- {
282
- text: `Look at @${file1Path} then @${invalidFile} and also just @ symbol, then @${file2Path}`,
283
- },
284
- { text: '\n--- Content from referenced files ---' },
285
- { text: `\nContent from @${file2Path}:\n` },
286
- { text: content2 },
287
- { text: `\nContent from @${file1Path}:\n` },
288
- { text: content1 },
289
- { text: '\n--- End of content ---' },
290
- ],
291
- shouldProceed: true,
292
- });
293
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${invalidFile} not found directly, attempting glob search.`);
294
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob search for '**/*${invalidFile}*' found no files or an error. Path ${invalidFile} will be skipped.`);
295
- expect(mockOnDebugMessage).toHaveBeenCalledWith('Lone @ detected, will be treated as text in the modified query.');
296
- });
297
- it('should return original query if all @paths are invalid or lone @', async () => {
298
- const query = 'Check @nonexistent.txt and @ also';
299
- const result = await handleAtCommand({
300
- query,
301
- config: mockConfig,
302
- addItem: mockAddItem,
303
- onDebugMessage: mockOnDebugMessage,
304
- messageId: 133,
305
- signal: abortController.signal,
306
- });
307
- expect(result).toEqual({
308
- processedQuery: [{ text: 'Check @nonexistent.txt and @ also' }],
309
- shouldProceed: true,
310
- });
311
- });
312
- describe('git-aware filtering', () => {
313
- beforeEach(async () => {
314
- await fsPromises.mkdir(path.join(testRootDir, '.git'), {
315
- recursive: true,
316
- });
317
- });
318
- it('should skip git-ignored files in @ commands', async () => {
319
- await createTestFile(path.join(testRootDir, '.gitignore'), 'node_modules/package.json');
320
- const gitIgnoredFile = await createTestFile(path.join(testRootDir, 'node_modules', 'package.json'), 'the file contents');
321
- const query = `@${gitIgnoredFile}`;
322
- const result = await handleAtCommand({
323
- query,
324
- config: mockConfig,
325
- addItem: mockAddItem,
326
- onDebugMessage: mockOnDebugMessage,
327
- messageId: 200,
328
- signal: abortController.signal,
329
- });
330
- expect(result).toEqual({
331
- processedQuery: [{ text: query }],
332
- shouldProceed: true,
333
- });
334
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
335
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
336
- });
337
- it('should process non-git-ignored files normally', async () => {
338
- await createTestFile(path.join(testRootDir, '.gitignore'), 'node_modules/package.json');
339
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'index.ts'), 'console.log("Hello world");');
340
- const query = `@${validFile}`;
341
- const result = await handleAtCommand({
342
- query,
343
- config: mockConfig,
344
- addItem: mockAddItem,
345
- onDebugMessage: mockOnDebugMessage,
346
- messageId: 201,
347
- signal: abortController.signal,
348
- });
349
- expect(result).toEqual({
350
- processedQuery: [
351
- { text: `@${validFile}` },
352
- { text: '\n--- Content from referenced files ---' },
353
- { text: `\nContent from @${validFile}:\n` },
354
- { text: 'console.log("Hello world");' },
355
- { text: '\n--- End of content ---' },
356
- ],
357
- shouldProceed: true,
358
- });
359
- });
360
- it('should handle mixed git-ignored and valid files', async () => {
361
- await createTestFile(path.join(testRootDir, '.gitignore'), '.env');
362
- const validFile = await createTestFile(path.join(testRootDir, 'README.md'), '# Project README');
363
- const gitIgnoredFile = await createTestFile(path.join(testRootDir, '.env'), 'SECRET=123');
364
- const query = `@${validFile} @${gitIgnoredFile}`;
365
- const result = await handleAtCommand({
366
- query,
367
- config: mockConfig,
368
- addItem: mockAddItem,
369
- onDebugMessage: mockOnDebugMessage,
370
- messageId: 202,
371
- signal: abortController.signal,
372
- });
373
- expect(result).toEqual({
374
- processedQuery: [
375
- { text: `@${validFile} @${gitIgnoredFile}` },
376
- { text: '\n--- Content from referenced files ---' },
377
- { text: `\nContent from @${validFile}:\n` },
378
- { text: '# Project README' },
379
- { text: '\n--- End of content ---' },
380
- ],
381
- shouldProceed: true,
382
- });
383
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
384
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
385
- });
386
- it('should always ignore .git directory files', async () => {
387
- const gitFile = await createTestFile(path.join(testRootDir, '.git', 'config'), '[core]\n\trepositoryformatversion = 0\n');
388
- const query = `@${gitFile}`;
389
- const result = await handleAtCommand({
390
- query,
391
- config: mockConfig,
392
- addItem: mockAddItem,
393
- onDebugMessage: mockOnDebugMessage,
394
- messageId: 203,
395
- signal: abortController.signal,
396
- });
397
- expect(result).toEqual({
398
- processedQuery: [{ text: query }],
399
- shouldProceed: true,
400
- });
401
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitFile} is git-ignored and will be skipped.`);
402
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitFile}`);
403
- });
404
- });
405
- describe('when recursive file search is disabled', () => {
406
- beforeEach(() => {
407
- vi.mocked(mockConfig.getEnableRecursiveFileSearch).mockReturnValue(false);
408
- });
409
- it('should not use glob search for a nonexistent file', async () => {
410
- const invalidFile = 'nonexistent.txt';
411
- const query = `@${invalidFile}`;
412
- const result = await handleAtCommand({
413
- query,
414
- config: mockConfig,
415
- addItem: mockAddItem,
416
- onDebugMessage: mockOnDebugMessage,
417
- messageId: 300,
418
- signal: abortController.signal,
419
- });
420
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob tool not found. Path ${invalidFile} will be skipped.`);
421
- expect(result.processedQuery).toEqual([{ text: query }]);
422
- expect(result.shouldProceed).toBe(true);
423
- });
424
- });
425
- describe('gemini-ignore filtering', () => {
426
- it('should skip gemini-ignored files in @ commands', async () => {
427
- await createTestFile(path.join(testRootDir, '.geminiignore'), 'build/output.js');
428
- const geminiIgnoredFile = await createTestFile(path.join(testRootDir, 'build', 'output.js'), 'console.log("Hello");');
429
- const query = `@${geminiIgnoredFile}`;
430
- const result = await handleAtCommand({
431
- query,
432
- config: mockConfig,
433
- addItem: mockAddItem,
434
- onDebugMessage: mockOnDebugMessage,
435
- messageId: 204,
436
- signal: abortController.signal,
437
- });
438
- expect(result).toEqual({
439
- processedQuery: [{ text: query }],
440
- shouldProceed: true,
441
- });
442
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
443
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
444
- });
445
- });
446
- it('should process non-ignored files when .geminiignore is present', async () => {
447
- await createTestFile(path.join(testRootDir, '.geminiignore'), 'build/output.js');
448
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'index.ts'), 'console.log("Hello world");');
449
- const query = `@${validFile}`;
450
- const result = await handleAtCommand({
451
- query,
452
- config: mockConfig,
453
- addItem: mockAddItem,
454
- onDebugMessage: mockOnDebugMessage,
455
- messageId: 205,
456
- signal: abortController.signal,
457
- });
458
- expect(result).toEqual({
459
- processedQuery: [
460
- { text: `@${validFile}` },
461
- { text: '\n--- Content from referenced files ---' },
462
- { text: `\nContent from @${validFile}:\n` },
463
- { text: 'console.log("Hello world");' },
464
- { text: '\n--- End of content ---' },
465
- ],
466
- shouldProceed: true,
467
- });
468
- });
469
- it('should handle mixed gemini-ignored and valid files', async () => {
470
- await createTestFile(path.join(testRootDir, '.geminiignore'), 'dist/bundle.js');
471
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'main.ts'), '// Main application entry');
472
- const geminiIgnoredFile = await createTestFile(path.join(testRootDir, 'dist', 'bundle.js'), 'console.log("bundle");');
473
- const query = `@${validFile} @${geminiIgnoredFile}`;
474
- const result = await handleAtCommand({
475
- query,
476
- config: mockConfig,
477
- addItem: mockAddItem,
478
- onDebugMessage: mockOnDebugMessage,
479
- messageId: 206,
480
- signal: abortController.signal,
481
- });
482
- expect(result).toEqual({
483
- processedQuery: [
484
- { text: `@${validFile} @${geminiIgnoredFile}` },
485
- { text: '\n--- Content from referenced files ---' },
486
- { text: `\nContent from @${validFile}:\n` },
487
- { text: '// Main application entry' },
488
- { text: '\n--- End of content ---' },
489
- ],
490
- shouldProceed: true,
491
- });
492
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
493
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
494
- });
495
- describe('punctuation termination in @ commands', () => {
496
- const punctuationTestCases = [
497
- {
498
- name: 'comma',
499
- fileName: 'test.txt',
500
- fileContent: 'File content here',
501
- queryTemplate: (filePath) => `Look at @${filePath}, then explain it.`,
502
- messageId: 400,
503
- },
504
- {
505
- name: 'period',
506
- fileName: 'readme.md',
507
- fileContent: 'File content here',
508
- queryTemplate: (filePath) => `Check @${filePath}. What does it say?`,
509
- messageId: 401,
510
- },
511
- {
512
- name: 'semicolon',
513
- fileName: 'example.js',
514
- fileContent: 'Code example',
515
- queryTemplate: (filePath) => `Review @${filePath}; check for bugs.`,
516
- messageId: 402,
517
- },
518
- {
519
- name: 'exclamation mark',
520
- fileName: 'important.txt',
521
- fileContent: 'Important content',
522
- queryTemplate: (filePath) => `Look at @${filePath}! This is critical.`,
523
- messageId: 403,
524
- },
525
- {
526
- name: 'question mark',
527
- fileName: 'config.json',
528
- fileContent: 'Config settings',
529
- queryTemplate: (filePath) => `What is in @${filePath}? Please explain.`,
530
- messageId: 404,
531
- },
532
- {
533
- name: 'opening parenthesis',
534
- fileName: 'func.ts',
535
- fileContent: 'Function definition',
536
- queryTemplate: (filePath) => `Analyze @${filePath}(the main function).`,
537
- messageId: 405,
538
- },
539
- {
540
- name: 'closing parenthesis',
541
- fileName: 'data.json',
542
- fileContent: 'Test data',
543
- queryTemplate: (filePath) => `Use data from @${filePath}) for testing.`,
544
- messageId: 406,
545
- },
546
- {
547
- name: 'opening square bracket',
548
- fileName: 'array.js',
549
- fileContent: 'Array data',
550
- queryTemplate: (filePath) => `Check @${filePath}[0] for the first element.`,
551
- messageId: 407,
552
- },
553
- {
554
- name: 'closing square bracket',
555
- fileName: 'list.md',
556
- fileContent: 'List content',
557
- queryTemplate: (filePath) => `Review item @${filePath}] from the list.`,
558
- messageId: 408,
559
- },
560
- {
561
- name: 'opening curly brace',
562
- fileName: 'object.ts',
563
- fileContent: 'Object definition',
564
- queryTemplate: (filePath) => `Parse @${filePath}{prop1: value1}.`,
565
- messageId: 409,
566
- },
567
- {
568
- name: 'closing curly brace',
569
- fileName: 'config.yaml',
570
- fileContent: 'Configuration',
571
- queryTemplate: (filePath) => `Use settings from @${filePath}} for deployment.`,
572
- messageId: 410,
573
- },
574
- ];
575
- it.each(punctuationTestCases)('should terminate @path at $name', async ({ fileName, fileContent, queryTemplate, messageId }) => {
576
- const filePath = await createTestFile(path.join(testRootDir, fileName), fileContent);
577
- const query = queryTemplate(filePath);
578
- const result = await handleAtCommand({
579
- query,
580
- config: mockConfig,
581
- addItem: mockAddItem,
582
- onDebugMessage: mockOnDebugMessage,
583
- messageId,
584
- signal: abortController.signal,
585
- });
586
- expect(result).toEqual({
587
- processedQuery: [
588
- { text: query },
589
- { text: '\n--- Content from referenced files ---' },
590
- { text: `\nContent from @${filePath}:\n` },
591
- { text: fileContent },
592
- { text: '\n--- End of content ---' },
593
- ],
594
- shouldProceed: true,
595
- });
596
- });
597
- it('should handle multiple @paths terminated by different punctuation', async () => {
598
- const content1 = 'First file';
599
- const file1Path = await createTestFile(path.join(testRootDir, 'first.txt'), content1);
600
- const content2 = 'Second file';
601
- const file2Path = await createTestFile(path.join(testRootDir, 'second.txt'), content2);
602
- const query = `Compare @${file1Path}, @${file2Path}; what's different?`;
603
- const result = await handleAtCommand({
604
- query,
605
- config: mockConfig,
606
- addItem: mockAddItem,
607
- onDebugMessage: mockOnDebugMessage,
608
- messageId: 411,
609
- signal: abortController.signal,
610
- });
611
- expect(result).toEqual({
612
- processedQuery: [
613
- { text: `Compare @${file1Path}, @${file2Path}; what's different?` },
614
- { text: '\n--- Content from referenced files ---' },
615
- { text: `\nContent from @${file1Path}:\n` },
616
- { text: content1 },
617
- { text: `\nContent from @${file2Path}:\n` },
618
- { text: content2 },
619
- { text: '\n--- End of content ---' },
620
- ],
621
- shouldProceed: true,
622
- });
623
- });
624
- it('should still handle escaped spaces in paths before punctuation', async () => {
625
- const fileContent = 'Spaced file content';
626
- const filePath = await createTestFile(path.join(testRootDir, 'spaced file.txt'), fileContent);
627
- const escapedPath = path.join(testRootDir, 'spaced\\ file.txt');
628
- const query = `Check @${escapedPath}, it has spaces.`;
629
- const result = await handleAtCommand({
630
- query,
631
- config: mockConfig,
632
- addItem: mockAddItem,
633
- onDebugMessage: mockOnDebugMessage,
634
- messageId: 412,
635
- signal: abortController.signal,
636
- });
637
- expect(result).toEqual({
638
- processedQuery: [
639
- { text: `Check @${filePath}, it has spaces.` },
640
- { text: '\n--- Content from referenced files ---' },
641
- { text: `\nContent from @${filePath}:\n` },
642
- { text: fileContent },
643
- { text: '\n--- End of content ---' },
644
- ],
645
- shouldProceed: true,
646
- });
647
- });
648
- it('should not break file paths with periods in extensions', async () => {
649
- const fileContent = 'TypeScript content';
650
- const filePath = await createTestFile(path.join(testRootDir, 'example.d.ts'), fileContent);
651
- const query = `Analyze @${filePath} for type definitions.`;
652
- const result = await handleAtCommand({
653
- query,
654
- config: mockConfig,
655
- addItem: mockAddItem,
656
- onDebugMessage: mockOnDebugMessage,
657
- messageId: 413,
658
- signal: abortController.signal,
659
- });
660
- expect(result).toEqual({
661
- processedQuery: [
662
- { text: `Analyze @${filePath} for type definitions.` },
663
- { text: '\n--- Content from referenced files ---' },
664
- { text: `\nContent from @${filePath}:\n` },
665
- { text: fileContent },
666
- { text: '\n--- End of content ---' },
667
- ],
668
- shouldProceed: true,
669
- });
670
- });
671
- it('should handle file paths ending with period followed by space', async () => {
672
- const fileContent = 'Config content';
673
- const filePath = await createTestFile(path.join(testRootDir, 'config.json'), fileContent);
674
- const query = `Check @${filePath}. This file contains settings.`;
675
- const result = await handleAtCommand({
676
- query,
677
- config: mockConfig,
678
- addItem: mockAddItem,
679
- onDebugMessage: mockOnDebugMessage,
680
- messageId: 414,
681
- signal: abortController.signal,
682
- });
683
- expect(result).toEqual({
684
- processedQuery: [
685
- { text: `Check @${filePath}. This file contains settings.` },
686
- { text: '\n--- Content from referenced files ---' },
687
- { text: `\nContent from @${filePath}:\n` },
688
- { text: fileContent },
689
- { text: '\n--- End of content ---' },
690
- ],
691
- shouldProceed: true,
692
- });
693
- });
694
- it('should handle comma termination with complex file paths', async () => {
695
- const fileContent = 'Package info';
696
- const filePath = await createTestFile(path.join(testRootDir, 'package.json'), fileContent);
697
- const query = `Review @${filePath}, then check dependencies.`;
698
- const result = await handleAtCommand({
699
- query,
700
- config: mockConfig,
701
- addItem: mockAddItem,
702
- onDebugMessage: mockOnDebugMessage,
703
- messageId: 415,
704
- signal: abortController.signal,
705
- });
706
- expect(result).toEqual({
707
- processedQuery: [
708
- { text: `Review @${filePath}, then check dependencies.` },
709
- { text: '\n--- Content from referenced files ---' },
710
- { text: `\nContent from @${filePath}:\n` },
711
- { text: fileContent },
712
- { text: '\n--- End of content ---' },
713
- ],
714
- shouldProceed: true,
715
- });
716
- });
717
- it('should not terminate at period within file name', async () => {
718
- const fileContent = 'Version info';
719
- const filePath = await createTestFile(path.join(testRootDir, 'version.1.2.3.txt'), fileContent);
720
- const query = `Check @${filePath} contains version information.`;
721
- const result = await handleAtCommand({
722
- query,
723
- config: mockConfig,
724
- addItem: mockAddItem,
725
- onDebugMessage: mockOnDebugMessage,
726
- messageId: 416,
727
- signal: abortController.signal,
728
- });
729
- expect(result).toEqual({
730
- processedQuery: [
731
- { text: `Check @${filePath} contains version information.` },
732
- { text: '\n--- Content from referenced files ---' },
733
- { text: `\nContent from @${filePath}:\n` },
734
- { text: fileContent },
735
- { text: '\n--- End of content ---' },
736
- ],
737
- shouldProceed: true,
738
- });
739
- });
740
- it('should handle end of string termination for period and comma', async () => {
741
- const fileContent = 'End file content';
742
- const filePath = await createTestFile(path.join(testRootDir, 'end.txt'), fileContent);
743
- const query = `Show me @${filePath}.`;
744
- const result = await handleAtCommand({
745
- query,
746
- config: mockConfig,
747
- addItem: mockAddItem,
748
- onDebugMessage: mockOnDebugMessage,
749
- messageId: 417,
750
- signal: abortController.signal,
751
- });
752
- expect(result).toEqual({
753
- processedQuery: [
754
- { text: `Show me @${filePath}.` },
755
- { text: '\n--- Content from referenced files ---' },
756
- { text: `\nContent from @${filePath}:\n` },
757
- { text: fileContent },
758
- { text: '\n--- End of content ---' },
759
- ],
760
- shouldProceed: true,
761
- });
762
- });
763
- it('should handle files with special characters in names', async () => {
764
- const fileContent = 'File with special chars content';
765
- const filePath = await createTestFile(path.join(testRootDir, 'file$with&special#chars.txt'), fileContent);
766
- const query = `Check @${filePath} for content.`;
767
- const result = await handleAtCommand({
768
- query,
769
- config: mockConfig,
770
- addItem: mockAddItem,
771
- onDebugMessage: mockOnDebugMessage,
772
- messageId: 418,
773
- signal: abortController.signal,
774
- });
775
- expect(result).toEqual({
776
- processedQuery: [
777
- { text: `Check @${filePath} for content.` },
778
- { text: '\n--- Content from referenced files ---' },
779
- { text: `\nContent from @${filePath}:\n` },
780
- { text: fileContent },
781
- { text: '\n--- End of content ---' },
782
- ],
783
- shouldProceed: true,
784
- });
785
- });
786
- it('should handle basic file names without special characters', async () => {
787
- const fileContent = 'Basic file content';
788
- const filePath = await createTestFile(path.join(testRootDir, 'basicfile.txt'), fileContent);
789
- const query = `Check @${filePath} please.`;
790
- const result = await handleAtCommand({
791
- query,
792
- config: mockConfig,
793
- addItem: mockAddItem,
794
- onDebugMessage: mockOnDebugMessage,
795
- messageId: 421,
796
- signal: abortController.signal,
797
- });
798
- expect(result).toEqual({
799
- processedQuery: [
800
- { text: `Check @${filePath} please.` },
801
- { text: '\n--- Content from referenced files ---' },
802
- { text: `\nContent from @${filePath}:\n` },
803
- { text: fileContent },
804
- { text: '\n--- End of content ---' },
805
- ],
806
- shouldProceed: true,
807
- });
808
- });
809
- });
810
- it("should not add the user's turn to history, as that is the caller's responsibility", async () => {
811
- // Arrange
812
- const fileContent = 'This is the file content.';
813
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'another-file.txt'), fileContent);
814
- const query = `A query with @${filePath}`;
815
- // Act
816
- await handleAtCommand({
817
- query,
818
- config: mockConfig,
819
- addItem: mockAddItem,
820
- onDebugMessage: mockOnDebugMessage,
821
- messageId: 999,
822
- signal: abortController.signal,
823
- });
824
- // Assert
825
- // It SHOULD be called for the tool_group
826
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({ type: 'tool_group' }), 999);
827
- // It should NOT have been called for the user turn
828
- const userTurnCalls = mockAddItem.mock.calls.filter((call) => call[0].type === 'user');
829
- expect(userTurnCalls).toHaveLength(0);
830
- });
831
- });
832
- //# sourceMappingURL=atCommandProcessor.test.js.map