@didim365/agent-cli 0.1.1 → 0.1.2

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 (1034) hide show
  1. package/package.json +6 -3
  2. package/dist/src/commands/extensions/configure.test.d.ts +0 -1
  3. package/dist/src/commands/extensions/configure.test.js +0 -197
  4. package/dist/src/commands/extensions/configure.test.js.map +0 -1
  5. package/dist/src/commands/extensions/disable.test.d.ts +0 -6
  6. package/dist/src/commands/extensions/disable.test.js +0 -169
  7. package/dist/src/commands/extensions/disable.test.js.map +0 -1
  8. package/dist/src/commands/extensions/enable.test.d.ts +0 -6
  9. package/dist/src/commands/extensions/enable.test.js +0 -199
  10. package/dist/src/commands/extensions/enable.test.js.map +0 -1
  11. package/dist/src/commands/extensions/install.test.d.ts +0 -6
  12. package/dist/src/commands/extensions/install.test.js +0 -140
  13. package/dist/src/commands/extensions/install.test.js.map +0 -1
  14. package/dist/src/commands/extensions/link.test.d.ts +0 -6
  15. package/dist/src/commands/extensions/link.test.js +0 -137
  16. package/dist/src/commands/extensions/link.test.js.map +0 -1
  17. package/dist/src/commands/extensions/list.test.d.ts +0 -6
  18. package/dist/src/commands/extensions/list.test.js +0 -148
  19. package/dist/src/commands/extensions/list.test.js.map +0 -1
  20. package/dist/src/commands/extensions/new.test.d.ts +0 -6
  21. package/dist/src/commands/extensions/new.test.js +0 -62
  22. package/dist/src/commands/extensions/new.test.js.map +0 -1
  23. package/dist/src/commands/extensions/uninstall.test.d.ts +0 -6
  24. package/dist/src/commands/extensions/uninstall.test.js +0 -199
  25. package/dist/src/commands/extensions/uninstall.test.js.map +0 -1
  26. package/dist/src/commands/extensions/update.test.d.ts +0 -6
  27. package/dist/src/commands/extensions/update.test.js +0 -170
  28. package/dist/src/commands/extensions/update.test.js.map +0 -1
  29. package/dist/src/commands/extensions/validate.test.d.ts +0 -6
  30. package/dist/src/commands/extensions/validate.test.js +0 -96
  31. package/dist/src/commands/extensions/validate.test.js.map +0 -1
  32. package/dist/src/commands/extensions.test.d.ts +0 -6
  33. package/dist/src/commands/extensions.test.js +0 -67
  34. package/dist/src/commands/extensions.test.js.map +0 -1
  35. package/dist/src/commands/hooks/migrate.test.d.ts +0 -6
  36. package/dist/src/commands/hooks/migrate.test.js +0 -388
  37. package/dist/src/commands/hooks/migrate.test.js.map +0 -1
  38. package/dist/src/commands/mcp/add.test.d.ts +0 -6
  39. package/dist/src/commands/mcp/add.test.js +0 -274
  40. package/dist/src/commands/mcp/add.test.js.map +0 -1
  41. package/dist/src/commands/mcp/list.test.d.ts +0 -6
  42. package/dist/src/commands/mcp/list.test.js +0 -150
  43. package/dist/src/commands/mcp/list.test.js.map +0 -1
  44. package/dist/src/commands/mcp/remove.test.d.ts +0 -6
  45. package/dist/src/commands/mcp/remove.test.js +0 -189
  46. package/dist/src/commands/mcp/remove.test.js.map +0 -1
  47. package/dist/src/commands/mcp.test.d.ts +0 -6
  48. package/dist/src/commands/mcp.test.js +0 -65
  49. package/dist/src/commands/mcp.test.js.map +0 -1
  50. package/dist/src/commands/skills/disable.test.d.ts +0 -6
  51. package/dist/src/commands/skills/disable.test.js +0 -96
  52. package/dist/src/commands/skills/disable.test.js.map +0 -1
  53. package/dist/src/commands/skills/enable.test.d.ts +0 -6
  54. package/dist/src/commands/skills/enable.test.js +0 -107
  55. package/dist/src/commands/skills/enable.test.js.map +0 -1
  56. package/dist/src/commands/skills/install.test.d.ts +0 -6
  57. package/dist/src/commands/skills/install.test.js +0 -95
  58. package/dist/src/commands/skills/install.test.js.map +0 -1
  59. package/dist/src/commands/skills/list.test.d.ts +0 -6
  60. package/dist/src/commands/skills/list.test.js +0 -136
  61. package/dist/src/commands/skills/list.test.js.map +0 -1
  62. package/dist/src/commands/skills/uninstall.test.d.ts +0 -6
  63. package/dist/src/commands/skills/uninstall.test.js +0 -61
  64. package/dist/src/commands/skills/uninstall.test.js.map +0 -1
  65. package/dist/src/commands/skills.test.d.ts +0 -6
  66. package/dist/src/commands/skills.test.js +0 -49
  67. package/dist/src/commands/skills.test.js.map +0 -1
  68. package/dist/src/commands/utils.test.d.ts +0 -6
  69. package/dist/src/commands/utils.test.js +0 -35
  70. package/dist/src/commands/utils.test.js.map +0 -1
  71. package/dist/src/config/auth.test.d.ts +0 -6
  72. package/dist/src/config/auth.test.js +0 -89
  73. package/dist/src/config/auth.test.js.map +0 -1
  74. package/dist/src/config/config.integration.test.d.ts +0 -6
  75. package/dist/src/config/config.integration.test.js +0 -205
  76. package/dist/src/config/config.integration.test.js.map +0 -1
  77. package/dist/src/config/config.test.d.ts +0 -6
  78. package/dist/src/config/config.test.js +0 -2413
  79. package/dist/src/config/config.test.js.map +0 -1
  80. package/dist/src/config/extension-manager-agents.test.d.ts +0 -6
  81. package/dist/src/config/extension-manager-agents.test.js +0 -114
  82. package/dist/src/config/extension-manager-agents.test.js.map +0 -1
  83. package/dist/src/config/extension-manager-scope.test.d.ts +0 -6
  84. package/dist/src/config/extension-manager-scope.test.js +0 -153
  85. package/dist/src/config/extension-manager-scope.test.js.map +0 -1
  86. package/dist/src/config/extension-manager-skills.test.d.ts +0 -6
  87. package/dist/src/config/extension-manager-skills.test.js +0 -148
  88. package/dist/src/config/extension-manager-skills.test.js.map +0 -1
  89. package/dist/src/config/extension.test.d.ts +0 -6
  90. package/dist/src/config/extension.test.js +0 -1671
  91. package/dist/src/config/extension.test.js.map +0 -1
  92. package/dist/src/config/extensions/consent.test.d.ts +0 -6
  93. package/dist/src/config/extensions/consent.test.js +0 -280
  94. package/dist/src/config/extensions/consent.test.js.map +0 -1
  95. package/dist/src/config/extensions/extensionEnablement.test.d.ts +0 -6
  96. package/dist/src/config/extensions/extensionEnablement.test.js +0 -404
  97. package/dist/src/config/extensions/extensionEnablement.test.js.map +0 -1
  98. package/dist/src/config/extensions/extensionSettings.test.d.ts +0 -6
  99. package/dist/src/config/extensions/extensionSettings.test.js +0 -493
  100. package/dist/src/config/extensions/extensionSettings.test.js.map +0 -1
  101. package/dist/src/config/extensions/extensionUpdates.test.d.ts +0 -6
  102. package/dist/src/config/extensions/extensionUpdates.test.js +0 -230
  103. package/dist/src/config/extensions/extensionUpdates.test.js.map +0 -1
  104. package/dist/src/config/extensions/github.test.d.ts +0 -6
  105. package/dist/src/config/extensions/github.test.js +0 -441
  106. package/dist/src/config/extensions/github.test.js.map +0 -1
  107. package/dist/src/config/extensions/github_fetch.test.d.ts +0 -6
  108. package/dist/src/config/extensions/github_fetch.test.js +0 -169
  109. package/dist/src/config/extensions/github_fetch.test.js.map +0 -1
  110. package/dist/src/config/extensions/storage.test.d.ts +0 -6
  111. package/dist/src/config/extensions/storage.test.js +0 -64
  112. package/dist/src/config/extensions/storage.test.js.map +0 -1
  113. package/dist/src/config/extensions/update.test.d.ts +0 -6
  114. package/dist/src/config/extensions/update.test.js +0 -231
  115. package/dist/src/config/extensions/update.test.js.map +0 -1
  116. package/dist/src/config/extensions/variables.test.d.ts +0 -6
  117. package/dist/src/config/extensions/variables.test.js +0 -103
  118. package/dist/src/config/extensions/variables.test.js.map +0 -1
  119. package/dist/src/config/keyBindings.test.d.ts +0 -6
  120. package/dist/src/config/keyBindings.test.js +0 -108
  121. package/dist/src/config/keyBindings.test.js.map +0 -1
  122. package/dist/src/config/mcp/mcpServerEnablement.test.d.ts +0 -6
  123. package/dist/src/config/mcp/mcpServerEnablement.test.js +0 -147
  124. package/dist/src/config/mcp/mcpServerEnablement.test.js.map +0 -1
  125. package/dist/src/config/policy-engine.integration.test.d.ts +0 -6
  126. package/dist/src/config/policy-engine.integration.test.js +0 -353
  127. package/dist/src/config/policy-engine.integration.test.js.map +0 -1
  128. package/dist/src/config/sandboxConfig.test.d.ts +0 -6
  129. package/dist/src/config/sandboxConfig.test.js +0 -184
  130. package/dist/src/config/sandboxConfig.test.js.map +0 -1
  131. package/dist/src/config/settingPaths.test.d.ts +0 -6
  132. package/dist/src/config/settingPaths.test.js +0 -22
  133. package/dist/src/config/settingPaths.test.js.map +0 -1
  134. package/dist/src/config/settings-validation.test.d.ts +0 -6
  135. package/dist/src/config/settings-validation.test.js +0 -370
  136. package/dist/src/config/settings-validation.test.js.map +0 -1
  137. package/dist/src/config/settings.test.d.ts +0 -6
  138. package/dist/src/config/settings.test.js +0 -1822
  139. package/dist/src/config/settings.test.js.map +0 -1
  140. package/dist/src/config/settingsSchema.test.d.ts +0 -6
  141. package/dist/src/config/settingsSchema.test.js +0 -309
  142. package/dist/src/config/settingsSchema.test.js.map +0 -1
  143. package/dist/src/config/settings_repro.test.d.ts +0 -6
  144. package/dist/src/config/settings_repro.test.js +0 -166
  145. package/dist/src/config/settings_repro.test.js.map +0 -1
  146. package/dist/src/config/settings_validation_warning.test.d.ts +0 -6
  147. package/dist/src/config/settings_validation_warning.test.js +0 -123
  148. package/dist/src/config/settings_validation_warning.test.js.map +0 -1
  149. package/dist/src/config/skills-backward-compatibility.test.d.ts +0 -6
  150. package/dist/src/config/skills-backward-compatibility.test.js +0 -99
  151. package/dist/src/config/skills-backward-compatibility.test.js.map +0 -1
  152. package/dist/src/config/trustedFolders.test.d.ts +0 -6
  153. package/dist/src/config/trustedFolders.test.js +0 -385
  154. package/dist/src/config/trustedFolders.test.js.map +0 -1
  155. package/dist/src/core/auth.test.d.ts +0 -6
  156. package/dist/src/core/auth.test.js +0 -47
  157. package/dist/src/core/auth.test.js.map +0 -1
  158. package/dist/src/core/initializer.test.d.ts +0 -6
  159. package/dist/src/core/initializer.test.js +0 -101
  160. package/dist/src/core/initializer.test.js.map +0 -1
  161. package/dist/src/core/theme.test.d.ts +0 -6
  162. package/dist/src/core/theme.test.js +0 -46
  163. package/dist/src/core/theme.test.js.map +0 -1
  164. package/dist/src/deferred.test.d.ts +0 -6
  165. package/dist/src/deferred.test.js +0 -164
  166. package/dist/src/deferred.test.js.map +0 -1
  167. package/dist/src/gemini.test.d.ts +0 -6
  168. package/dist/src/gemini.test.js +0 -1334
  169. package/dist/src/gemini.test.js.map +0 -1
  170. package/dist/src/gemini_cleanup.test.d.ts +0 -6
  171. package/dist/src/gemini_cleanup.test.js +0 -208
  172. package/dist/src/gemini_cleanup.test.js.map +0 -1
  173. package/dist/src/nonInteractiveCli.test.d.ts +0 -6
  174. package/dist/src/nonInteractiveCli.test.js +0 -1687
  175. package/dist/src/nonInteractiveCli.test.js.map +0 -1
  176. package/dist/src/services/BuiltinCommandLoader.test.d.ts +0 -6
  177. package/dist/src/services/BuiltinCommandLoader.test.js +0 -254
  178. package/dist/src/services/BuiltinCommandLoader.test.js.map +0 -1
  179. package/dist/src/services/CommandService.test.d.ts +0 -6
  180. package/dist/src/services/CommandService.test.js +0 -234
  181. package/dist/src/services/CommandService.test.js.map +0 -1
  182. package/dist/src/services/FileCommandLoader.test.d.ts +0 -6
  183. package/dist/src/services/FileCommandLoader.test.js +0 -1102
  184. package/dist/src/services/FileCommandLoader.test.js.map +0 -1
  185. package/dist/src/services/McpPromptLoader.test.d.ts +0 -6
  186. package/dist/src/services/McpPromptLoader.test.js +0 -411
  187. package/dist/src/services/McpPromptLoader.test.js.map +0 -1
  188. package/dist/src/services/prompt-processors/argumentProcessor.test.d.ts +0 -6
  189. package/dist/src/services/prompt-processors/argumentProcessor.test.js +0 -40
  190. package/dist/src/services/prompt-processors/argumentProcessor.test.js.map +0 -1
  191. package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +0 -6
  192. package/dist/src/services/prompt-processors/atFileProcessor.test.js +0 -174
  193. package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +0 -1
  194. package/dist/src/services/prompt-processors/injectionParser.test.d.ts +0 -6
  195. package/dist/src/services/prompt-processors/injectionParser.test.js +0 -189
  196. package/dist/src/services/prompt-processors/injectionParser.test.js.map +0 -1
  197. package/dist/src/services/prompt-processors/shellProcessor.test.d.ts +0 -6
  198. package/dist/src/services/prompt-processors/shellProcessor.test.js +0 -514
  199. package/dist/src/services/prompt-processors/shellProcessor.test.js.map +0 -1
  200. package/dist/src/test-utils/mockCommandContext.test.d.ts +0 -6
  201. package/dist/src/test-utils/mockCommandContext.test.js +0 -51
  202. package/dist/src/test-utils/mockCommandContext.test.js.map +0 -1
  203. package/dist/src/test-utils/render.test.d.ts +0 -6
  204. package/dist/src/test-utils/render.test.js +0 -79
  205. package/dist/src/test-utils/render.test.js.map +0 -1
  206. package/dist/src/ui/App.test.d.ts +0 -6
  207. package/dist/src/ui/App.test.js +0 -218
  208. package/dist/src/ui/App.test.js.map +0 -1
  209. package/dist/src/ui/AppContainer.test.d.ts +0 -6
  210. package/dist/src/ui/AppContainer.test.js +0 -2072
  211. package/dist/src/ui/AppContainer.test.js.map +0 -1
  212. package/dist/src/ui/IdeIntegrationNudge.test.d.ts +0 -6
  213. package/dist/src/ui/IdeIntegrationNudge.test.js +0 -158
  214. package/dist/src/ui/IdeIntegrationNudge.test.js.map +0 -1
  215. package/dist/src/ui/auth/ApiAuthDialog.test.d.ts +0 -6
  216. package/dist/src/ui/auth/ApiAuthDialog.test.js +0 -109
  217. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +0 -1
  218. package/dist/src/ui/auth/AuthDialog.test.d.ts +0 -6
  219. package/dist/src/ui/auth/AuthDialog.test.js +0 -309
  220. package/dist/src/ui/auth/AuthDialog.test.js.map +0 -1
  221. package/dist/src/ui/auth/AuthInProgress.test.d.ts +0 -6
  222. package/dist/src/ui/auth/AuthInProgress.test.js +0 -81
  223. package/dist/src/ui/auth/AuthInProgress.test.js.map +0 -1
  224. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.d.ts +0 -6
  225. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +0 -66
  226. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +0 -1
  227. package/dist/src/ui/auth/useAuth.test.d.ts +0 -6
  228. package/dist/src/ui/auth/useAuth.test.js +0 -189
  229. package/dist/src/ui/auth/useAuth.test.js.map +0 -1
  230. package/dist/src/ui/commands/aboutCommand.test.d.ts +0 -6
  231. package/dist/src/ui/commands/aboutCommand.test.js +0 -143
  232. package/dist/src/ui/commands/aboutCommand.test.js.map +0 -1
  233. package/dist/src/ui/commands/agentsCommand.test.d.ts +0 -6
  234. package/dist/src/ui/commands/agentsCommand.test.js +0 -344
  235. package/dist/src/ui/commands/agentsCommand.test.js.map +0 -1
  236. package/dist/src/ui/commands/authCommand.test.d.ts +0 -6
  237. package/dist/src/ui/commands/authCommand.test.js +0 -98
  238. package/dist/src/ui/commands/authCommand.test.js.map +0 -1
  239. package/dist/src/ui/commands/bugCommand.test.d.ts +0 -6
  240. package/dist/src/ui/commands/bugCommand.test.js +0 -186
  241. package/dist/src/ui/commands/bugCommand.test.js.map +0 -1
  242. package/dist/src/ui/commands/chatCommand.test.d.ts +0 -6
  243. package/dist/src/ui/commands/chatCommand.test.js +0 -620
  244. package/dist/src/ui/commands/chatCommand.test.js.map +0 -1
  245. package/dist/src/ui/commands/clearCommand.test.d.ts +0 -6
  246. package/dist/src/ui/commands/clearCommand.test.js +0 -87
  247. package/dist/src/ui/commands/clearCommand.test.js.map +0 -1
  248. package/dist/src/ui/commands/compressCommand.test.d.ts +0 -6
  249. package/dist/src/ui/commands/compressCommand.test.js +0 -98
  250. package/dist/src/ui/commands/compressCommand.test.js.map +0 -1
  251. package/dist/src/ui/commands/copyCommand.test.d.ts +0 -6
  252. package/dist/src/ui/commands/copyCommand.test.js +0 -242
  253. package/dist/src/ui/commands/copyCommand.test.js.map +0 -1
  254. package/dist/src/ui/commands/corgiCommand.test.d.ts +0 -6
  255. package/dist/src/ui/commands/corgiCommand.test.js +0 -28
  256. package/dist/src/ui/commands/corgiCommand.test.js.map +0 -1
  257. package/dist/src/ui/commands/directoryCommand.test.d.ts +0 -6
  258. package/dist/src/ui/commands/directoryCommand.test.js +0 -353
  259. package/dist/src/ui/commands/directoryCommand.test.js.map +0 -1
  260. package/dist/src/ui/commands/docsCommand.test.d.ts +0 -6
  261. package/dist/src/ui/commands/docsCommand.test.js +0 -72
  262. package/dist/src/ui/commands/docsCommand.test.js.map +0 -1
  263. package/dist/src/ui/commands/editorCommand.test.d.ts +0 -6
  264. package/dist/src/ui/commands/editorCommand.test.js +0 -27
  265. package/dist/src/ui/commands/editorCommand.test.js.map +0 -1
  266. package/dist/src/ui/commands/extensionsCommand.test.d.ts +0 -6
  267. package/dist/src/ui/commands/extensionsCommand.test.js +0 -778
  268. package/dist/src/ui/commands/extensionsCommand.test.js.map +0 -1
  269. package/dist/src/ui/commands/helpCommand.test.d.ts +0 -6
  270. package/dist/src/ui/commands/helpCommand.test.js +0 -42
  271. package/dist/src/ui/commands/helpCommand.test.js.map +0 -1
  272. package/dist/src/ui/commands/hooksCommand.test.d.ts +0 -6
  273. package/dist/src/ui/commands/hooksCommand.test.js +0 -572
  274. package/dist/src/ui/commands/hooksCommand.test.js.map +0 -1
  275. package/dist/src/ui/commands/ideCommand.test.d.ts +0 -6
  276. package/dist/src/ui/commands/ideCommand.test.js +0 -203
  277. package/dist/src/ui/commands/ideCommand.test.js.map +0 -1
  278. package/dist/src/ui/commands/initCommand.test.d.ts +0 -6
  279. package/dist/src/ui/commands/initCommand.test.js +0 -84
  280. package/dist/src/ui/commands/initCommand.test.js.map +0 -1
  281. package/dist/src/ui/commands/mcpCommand.test.d.ts +0 -6
  282. package/dist/src/ui/commands/mcpCommand.test.js +0 -189
  283. package/dist/src/ui/commands/mcpCommand.test.js.map +0 -1
  284. package/dist/src/ui/commands/memoryCommand.test.d.ts +0 -6
  285. package/dist/src/ui/commands/memoryCommand.test.js +0 -350
  286. package/dist/src/ui/commands/memoryCommand.test.js.map +0 -1
  287. package/dist/src/ui/commands/modelCommand.test.d.ts +0 -6
  288. package/dist/src/ui/commands/modelCommand.test.js +0 -41
  289. package/dist/src/ui/commands/modelCommand.test.js.map +0 -1
  290. package/dist/src/ui/commands/permissionsCommand.test.d.ts +0 -6
  291. package/dist/src/ui/commands/permissionsCommand.test.js +0 -86
  292. package/dist/src/ui/commands/permissionsCommand.test.js.map +0 -1
  293. package/dist/src/ui/commands/policiesCommand.test.d.ts +0 -6
  294. package/dist/src/ui/commands/policiesCommand.test.js +0 -87
  295. package/dist/src/ui/commands/policiesCommand.test.js.map +0 -1
  296. package/dist/src/ui/commands/privacyCommand.test.d.ts +0 -6
  297. package/dist/src/ui/commands/privacyCommand.test.js +0 -32
  298. package/dist/src/ui/commands/privacyCommand.test.js.map +0 -1
  299. package/dist/src/ui/commands/quitCommand.test.d.ts +0 -6
  300. package/dist/src/ui/commands/quitCommand.test.js +0 -50
  301. package/dist/src/ui/commands/quitCommand.test.js.map +0 -1
  302. package/dist/src/ui/commands/restoreCommand.test.d.ts +0 -6
  303. package/dist/src/ui/commands/restoreCommand.test.js +0 -190
  304. package/dist/src/ui/commands/restoreCommand.test.js.map +0 -1
  305. package/dist/src/ui/commands/rewindCommand.test.d.ts +0 -6
  306. package/dist/src/ui/commands/rewindCommand.test.js +0 -242
  307. package/dist/src/ui/commands/rewindCommand.test.js.map +0 -1
  308. package/dist/src/ui/commands/settingsCommand.test.d.ts +0 -6
  309. package/dist/src/ui/commands/settingsCommand.test.js +0 -30
  310. package/dist/src/ui/commands/settingsCommand.test.js.map +0 -1
  311. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +0 -6
  312. package/dist/src/ui/commands/setupGithubCommand.test.js +0 -238
  313. package/dist/src/ui/commands/setupGithubCommand.test.js.map +0 -1
  314. package/dist/src/ui/commands/skillsCommand.test.d.ts +0 -6
  315. package/dist/src/ui/commands/skillsCommand.test.js +0 -426
  316. package/dist/src/ui/commands/skillsCommand.test.js.map +0 -1
  317. package/dist/src/ui/commands/statsCommand.test.d.ts +0 -6
  318. package/dist/src/ui/commands/statsCommand.test.js +0 -70
  319. package/dist/src/ui/commands/statsCommand.test.js.map +0 -1
  320. package/dist/src/ui/commands/terminalSetupCommand.test.d.ts +0 -6
  321. package/dist/src/ui/commands/terminalSetupCommand.test.js +0 -66
  322. package/dist/src/ui/commands/terminalSetupCommand.test.js.map +0 -1
  323. package/dist/src/ui/commands/themeCommand.test.d.ts +0 -6
  324. package/dist/src/ui/commands/themeCommand.test.js +0 -32
  325. package/dist/src/ui/commands/themeCommand.test.js.map +0 -1
  326. package/dist/src/ui/commands/toolsCommand.test.d.ts +0 -6
  327. package/dist/src/ui/commands/toolsCommand.test.js +0 -100
  328. package/dist/src/ui/commands/toolsCommand.test.js.map +0 -1
  329. package/dist/src/ui/components/AboutBox.test.d.ts +0 -6
  330. package/dist/src/ui/components/AboutBox.test.js +0 -59
  331. package/dist/src/ui/components/AboutBox.test.js.map +0 -1
  332. package/dist/src/ui/components/AdminSettingsChangedDialog.test.d.ts +0 -6
  333. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +0 -43
  334. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +0 -1
  335. package/dist/src/ui/components/AgentConfigDialog.test.d.ts +0 -6
  336. package/dist/src/ui/components/AgentConfigDialog.test.js +0 -241
  337. package/dist/src/ui/components/AgentConfigDialog.test.js.map +0 -1
  338. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.d.ts +0 -6
  339. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +0 -190
  340. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +0 -1
  341. package/dist/src/ui/components/AnsiOutput.test.d.ts +0 -6
  342. package/dist/src/ui/components/AnsiOutput.test.js +0 -92
  343. package/dist/src/ui/components/AnsiOutput.test.js.map +0 -1
  344. package/dist/src/ui/components/AppHeader.test.d.ts +0 -6
  345. package/dist/src/ui/components/AppHeader.test.js +0 -225
  346. package/dist/src/ui/components/AppHeader.test.js.map +0 -1
  347. package/dist/src/ui/components/ApprovalModeIndicator.test.d.ts +0 -6
  348. package/dist/src/ui/components/ApprovalModeIndicator.test.js +0 -37
  349. package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +0 -1
  350. package/dist/src/ui/components/AskUserDialog.test.d.ts +0 -6
  351. package/dist/src/ui/components/AskUserDialog.test.js +0 -598
  352. package/dist/src/ui/components/AskUserDialog.test.js.map +0 -1
  353. package/dist/src/ui/components/Banner.test.d.ts +0 -6
  354. package/dist/src/ui/components/Banner.test.js +0 -24
  355. package/dist/src/ui/components/Banner.test.js.map +0 -1
  356. package/dist/src/ui/components/CliSpinner.test.d.ts +0 -6
  357. package/dist/src/ui/components/CliSpinner.test.js +0 -28
  358. package/dist/src/ui/components/CliSpinner.test.js.map +0 -1
  359. package/dist/src/ui/components/Composer.test.d.ts +0 -6
  360. package/dist/src/ui/components/Composer.test.js +0 -383
  361. package/dist/src/ui/components/Composer.test.js.map +0 -1
  362. package/dist/src/ui/components/ConfigInitDisplay.test.d.ts +0 -6
  363. package/dist/src/ui/components/ConfigInitDisplay.test.js +0 -117
  364. package/dist/src/ui/components/ConfigInitDisplay.test.js.map +0 -1
  365. package/dist/src/ui/components/ConsentPrompt.test.d.ts +0 -6
  366. package/dist/src/ui/components/ConsentPrompt.test.js +0 -77
  367. package/dist/src/ui/components/ConsentPrompt.test.js.map +0 -1
  368. package/dist/src/ui/components/ConsoleSummaryDisplay.test.d.ts +0 -6
  369. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js +0 -26
  370. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js.map +0 -1
  371. package/dist/src/ui/components/ContextSummaryDisplay.test.d.ts +0 -6
  372. package/dist/src/ui/components/ContextSummaryDisplay.test.js +0 -102
  373. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +0 -1
  374. package/dist/src/ui/components/ContextUsageDisplay.test.d.ts +0 -6
  375. package/dist/src/ui/components/ContextUsageDisplay.test.js +0 -43
  376. package/dist/src/ui/components/ContextUsageDisplay.test.js.map +0 -1
  377. package/dist/src/ui/components/CopyModeWarning.test.d.ts +0 -6
  378. package/dist/src/ui/components/CopyModeWarning.test.js +0 -33
  379. package/dist/src/ui/components/CopyModeWarning.test.js.map +0 -1
  380. package/dist/src/ui/components/DebugProfiler.test.d.ts +0 -6
  381. package/dist/src/ui/components/DebugProfiler.test.js +0 -229
  382. package/dist/src/ui/components/DebugProfiler.test.js.map +0 -1
  383. package/dist/src/ui/components/DetailedMessagesDisplay.test.d.ts +0 -6
  384. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +0 -39
  385. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +0 -1
  386. package/dist/src/ui/components/DialogManager.test.d.ts +0 -6
  387. package/dist/src/ui/components/DialogManager.test.js +0 -177
  388. package/dist/src/ui/components/DialogManager.test.js.map +0 -1
  389. package/dist/src/ui/components/EditorSettingsDialog.test.d.ts +0 -6
  390. package/dist/src/ui/components/EditorSettingsDialog.test.js +0 -119
  391. package/dist/src/ui/components/EditorSettingsDialog.test.js.map +0 -1
  392. package/dist/src/ui/components/ExitWarning.test.d.ts +0 -6
  393. package/dist/src/ui/components/ExitWarning.test.js +0 -54
  394. package/dist/src/ui/components/ExitWarning.test.js.map +0 -1
  395. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +0 -6
  396. package/dist/src/ui/components/FolderTrustDialog.test.js +0 -102
  397. package/dist/src/ui/components/FolderTrustDialog.test.js.map +0 -1
  398. package/dist/src/ui/components/Footer.test.d.ts +0 -6
  399. package/dist/src/ui/components/Footer.test.js +0 -321
  400. package/dist/src/ui/components/Footer.test.js.map +0 -1
  401. package/dist/src/ui/components/GeminiRespondingSpinner.test.d.ts +0 -6
  402. package/dist/src/ui/components/GeminiRespondingSpinner.test.js +0 -61
  403. package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +0 -1
  404. package/dist/src/ui/components/GradientRegression.test.d.ts +0 -6
  405. package/dist/src/ui/components/GradientRegression.test.js +0 -105
  406. package/dist/src/ui/components/GradientRegression.test.js.map +0 -1
  407. package/dist/src/ui/components/Header.test.d.ts +0 -6
  408. package/dist/src/ui/components/Header.test.js +0 -147
  409. package/dist/src/ui/components/Header.test.js.map +0 -1
  410. package/dist/src/ui/components/Help.test.d.ts +0 -6
  411. package/dist/src/ui/components/Help.test.js +0 -67
  412. package/dist/src/ui/components/Help.test.js.map +0 -1
  413. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +0 -6
  414. package/dist/src/ui/components/HistoryItemDisplay.test.js +0 -207
  415. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +0 -1
  416. package/dist/src/ui/components/HookStatusDisplay.test.d.ts +0 -6
  417. package/dist/src/ui/components/HookStatusDisplay.test.js +0 -51
  418. package/dist/src/ui/components/HookStatusDisplay.test.js.map +0 -1
  419. package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +0 -6
  420. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +0 -58
  421. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +0 -1
  422. package/dist/src/ui/components/InputPrompt.test.d.ts +0 -6
  423. package/dist/src/ui/components/InputPrompt.test.js +0 -2596
  424. package/dist/src/ui/components/InputPrompt.test.js.map +0 -1
  425. package/dist/src/ui/components/LoadingIndicator.test.d.ts +0 -6
  426. package/dist/src/ui/components/LoadingIndicator.test.js +0 -207
  427. package/dist/src/ui/components/LoadingIndicator.test.js.map +0 -1
  428. package/dist/src/ui/components/LogoutConfirmationDialog.test.d.ts +0 -6
  429. package/dist/src/ui/components/LogoutConfirmationDialog.test.js +0 -59
  430. package/dist/src/ui/components/LogoutConfirmationDialog.test.js.map +0 -1
  431. package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +0 -6
  432. package/dist/src/ui/components/LoopDetectionConfirmation.test.js +0 -25
  433. package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +0 -1
  434. package/dist/src/ui/components/MainContent.test.d.ts +0 -6
  435. package/dist/src/ui/components/MainContent.test.js +0 -83
  436. package/dist/src/ui/components/MainContent.test.js.map +0 -1
  437. package/dist/src/ui/components/MemoryUsageDisplay.test.d.ts +0 -6
  438. package/dist/src/ui/components/MemoryUsageDisplay.test.js +0 -49
  439. package/dist/src/ui/components/MemoryUsageDisplay.test.js.map +0 -1
  440. package/dist/src/ui/components/ModelDialog.test.d.ts +0 -6
  441. package/dist/src/ui/components/ModelDialog.test.js +0 -197
  442. package/dist/src/ui/components/ModelDialog.test.js.map +0 -1
  443. package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +0 -6
  444. package/dist/src/ui/components/ModelStatsDisplay.test.js +0 -343
  445. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +0 -1
  446. package/dist/src/ui/components/MultiFolderTrustDialog.test.d.ts +0 -6
  447. package/dist/src/ui/components/MultiFolderTrustDialog.test.js +0 -162
  448. package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +0 -1
  449. package/dist/src/ui/components/NewAgentsNotification.test.d.ts +0 -6
  450. package/dist/src/ui/components/NewAgentsNotification.test.js +0 -48
  451. package/dist/src/ui/components/NewAgentsNotification.test.js.map +0 -1
  452. package/dist/src/ui/components/Notifications.test.d.ts +0 -6
  453. package/dist/src/ui/components/Notifications.test.js +0 -164
  454. package/dist/src/ui/components/Notifications.test.js.map +0 -1
  455. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +0 -6
  456. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +0 -162
  457. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +0 -1
  458. package/dist/src/ui/components/ProQuotaDialog.test.d.ts +0 -6
  459. package/dist/src/ui/components/ProQuotaDialog.test.js +0 -191
  460. package/dist/src/ui/components/ProQuotaDialog.test.js.map +0 -1
  461. package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +0 -6
  462. package/dist/src/ui/components/QueuedMessageDisplay.test.js +0 -65
  463. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +0 -1
  464. package/dist/src/ui/components/QuittingDisplay.test.d.ts +0 -6
  465. package/dist/src/ui/components/QuittingDisplay.test.js +0 -49
  466. package/dist/src/ui/components/QuittingDisplay.test.js.map +0 -1
  467. package/dist/src/ui/components/RawMarkdownIndicator.test.d.ts +0 -6
  468. package/dist/src/ui/components/RawMarkdownIndicator.test.js +0 -34
  469. package/dist/src/ui/components/RawMarkdownIndicator.test.js.map +0 -1
  470. package/dist/src/ui/components/RewindConfirmation.test.d.ts +0 -6
  471. package/dist/src/ui/components/RewindConfirmation.test.js +0 -53
  472. package/dist/src/ui/components/RewindConfirmation.test.js.map +0 -1
  473. package/dist/src/ui/components/RewindViewer.test.d.ts +0 -6
  474. package/dist/src/ui/components/RewindViewer.test.js +0 -241
  475. package/dist/src/ui/components/RewindViewer.test.js.map +0 -1
  476. package/dist/src/ui/components/SessionBrowser.test.d.ts +0 -6
  477. package/dist/src/ui/components/SessionBrowser.test.js +0 -256
  478. package/dist/src/ui/components/SessionBrowser.test.js.map +0 -1
  479. package/dist/src/ui/components/SessionSummaryDisplay.test.d.ts +0 -6
  480. package/dist/src/ui/components/SessionSummaryDisplay.test.js +0 -75
  481. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +0 -1
  482. package/dist/src/ui/components/SettingsDialog.test.d.ts +0 -6
  483. package/dist/src/ui/components/SettingsDialog.test.js +0 -1150
  484. package/dist/src/ui/components/SettingsDialog.test.js.map +0 -1
  485. package/dist/src/ui/components/ShellInputPrompt.test.d.ts +0 -6
  486. package/dist/src/ui/components/ShellInputPrompt.test.js +0 -91
  487. package/dist/src/ui/components/ShellInputPrompt.test.js.map +0 -1
  488. package/dist/src/ui/components/ShellModeIndicator.test.d.ts +0 -6
  489. package/dist/src/ui/components/ShellModeIndicator.test.js +0 -17
  490. package/dist/src/ui/components/ShellModeIndicator.test.js.map +0 -1
  491. package/dist/src/ui/components/ShowMoreLines.test.d.ts +0 -6
  492. package/dist/src/ui/components/ShowMoreLines.test.js +0 -40
  493. package/dist/src/ui/components/ShowMoreLines.test.js.map +0 -1
  494. package/dist/src/ui/components/StatsDisplay.test.d.ts +0 -6
  495. package/dist/src/ui/components/StatsDisplay.test.js +0 -438
  496. package/dist/src/ui/components/StatsDisplay.test.js.map +0 -1
  497. package/dist/src/ui/components/StatusDisplay.test.d.ts +0 -6
  498. package/dist/src/ui/components/StatusDisplay.test.js +0 -155
  499. package/dist/src/ui/components/StatusDisplay.test.js.map +0 -1
  500. package/dist/src/ui/components/StickyHeader.test.d.ts +0 -6
  501. package/dist/src/ui/components/StickyHeader.test.js +0 -17
  502. package/dist/src/ui/components/StickyHeader.test.js.map +0 -1
  503. package/dist/src/ui/components/SuggestionsDisplay.test.d.ts +0 -6
  504. package/dist/src/ui/components/SuggestionsDisplay.test.js +0 -56
  505. package/dist/src/ui/components/SuggestionsDisplay.test.js.map +0 -1
  506. package/dist/src/ui/components/Table.test.d.ts +0 -6
  507. package/dist/src/ui/components/Table.test.js +0 -53
  508. package/dist/src/ui/components/Table.test.js.map +0 -1
  509. package/dist/src/ui/components/ThemeDialog.test.d.ts +0 -6
  510. package/dist/src/ui/components/ThemeDialog.test.js +0 -167
  511. package/dist/src/ui/components/ThemeDialog.test.js.map +0 -1
  512. package/dist/src/ui/components/ThemedGradient.test.d.ts +0 -6
  513. package/dist/src/ui/components/ThemedGradient.test.js +0 -30
  514. package/dist/src/ui/components/ThemedGradient.test.js.map +0 -1
  515. package/dist/src/ui/components/Tips.test.d.ts +0 -6
  516. package/dist/src/ui/components/Tips.test.js +0 -23
  517. package/dist/src/ui/components/Tips.test.js.map +0 -1
  518. package/dist/src/ui/components/ToolConfirmationQueue.test.d.ts +0 -6
  519. package/dist/src/ui/components/ToolConfirmationQueue.test.js +0 -71
  520. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +0 -1
  521. package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +0 -6
  522. package/dist/src/ui/components/ToolStatsDisplay.test.js +0 -227
  523. package/dist/src/ui/components/ToolStatsDisplay.test.js.map +0 -1
  524. package/dist/src/ui/components/UpdateNotification.test.d.ts +0 -6
  525. package/dist/src/ui/components/UpdateNotification.test.js +0 -16
  526. package/dist/src/ui/components/UpdateNotification.test.js.map +0 -1
  527. package/dist/src/ui/components/ValidationDialog.test.d.ts +0 -6
  528. package/dist/src/ui/components/ValidationDialog.test.js +0 -153
  529. package/dist/src/ui/components/ValidationDialog.test.js.map +0 -1
  530. package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +0 -6
  531. package/dist/src/ui/components/messages/CompressionMessage.test.js +0 -191
  532. package/dist/src/ui/components/messages/CompressionMessage.test.js.map +0 -1
  533. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +0 -6
  534. package/dist/src/ui/components/messages/DiffRenderer.test.js +0 -240
  535. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +0 -1
  536. package/dist/src/ui/components/messages/ErrorMessage.test.d.ts +0 -6
  537. package/dist/src/ui/components/messages/ErrorMessage.test.js +0 -23
  538. package/dist/src/ui/components/messages/ErrorMessage.test.js.map +0 -1
  539. package/dist/src/ui/components/messages/GeminiMessage.test.d.ts +0 -6
  540. package/dist/src/ui/components/messages/GeminiMessage.test.js +0 -35
  541. package/dist/src/ui/components/messages/GeminiMessage.test.js.map +0 -1
  542. package/dist/src/ui/components/messages/InfoMessage.test.d.ts +0 -6
  543. package/dist/src/ui/components/messages/InfoMessage.test.js +0 -28
  544. package/dist/src/ui/components/messages/InfoMessage.test.js.map +0 -1
  545. package/dist/src/ui/components/messages/RedirectionConfirmation.test.d.ts +0 -6
  546. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +0 -33
  547. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +0 -1
  548. package/dist/src/ui/components/messages/ShellToolMessage.test.d.ts +0 -6
  549. package/dist/src/ui/components/messages/ShellToolMessage.test.js +0 -123
  550. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +0 -1
  551. package/dist/src/ui/components/messages/Todo.test.d.ts +0 -6
  552. package/dist/src/ui/components/messages/Todo.test.js +0 -114
  553. package/dist/src/ui/components/messages/Todo.test.js.map +0 -1
  554. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +0 -6
  555. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -232
  556. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +0 -1
  557. package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +0 -6
  558. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +0 -529
  559. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +0 -1
  560. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +0 -6
  561. package/dist/src/ui/components/messages/ToolMessage.test.js +0 -217
  562. package/dist/src/ui/components/messages/ToolMessage.test.js.map +0 -1
  563. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.d.ts +0 -6
  564. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +0 -89
  565. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +0 -1
  566. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.d.ts +0 -6
  567. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +0 -62
  568. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +0 -1
  569. package/dist/src/ui/components/messages/ToolResultDisplay.test.d.ts +0 -6
  570. package/dist/src/ui/components/messages/ToolResultDisplay.test.js +0 -114
  571. package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +0 -1
  572. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.d.ts +0 -6
  573. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +0 -134
  574. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +0 -1
  575. package/dist/src/ui/components/messages/UserMessage.test.d.ts +0 -6
  576. package/dist/src/ui/components/messages/UserMessage.test.js +0 -32
  577. package/dist/src/ui/components/messages/UserMessage.test.js.map +0 -1
  578. package/dist/src/ui/components/messages/WarningMessage.test.d.ts +0 -6
  579. package/dist/src/ui/components/messages/WarningMessage.test.js +0 -23
  580. package/dist/src/ui/components/messages/WarningMessage.test.js.map +0 -1
  581. package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +0 -6
  582. package/dist/src/ui/components/shared/BaseSelectionList.test.js +0 -386
  583. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +0 -1
  584. package/dist/src/ui/components/shared/BaseSettingsDialog.test.d.ts +0 -6
  585. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +0 -434
  586. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +0 -1
  587. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +0 -6
  588. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +0 -79
  589. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +0 -1
  590. package/dist/src/ui/components/shared/EnumSelector.test.d.ts +0 -6
  591. package/dist/src/ui/components/shared/EnumSelector.test.js +0 -70
  592. package/dist/src/ui/components/shared/EnumSelector.test.js.map +0 -1
  593. package/dist/src/ui/components/shared/ExpandableText.test.d.ts +0 -6
  594. package/dist/src/ui/components/shared/ExpandableText.test.js +0 -88
  595. package/dist/src/ui/components/shared/ExpandableText.test.js.map +0 -1
  596. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.d.ts +0 -6
  597. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +0 -34
  598. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +0 -1
  599. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +0 -6
  600. package/dist/src/ui/components/shared/MaxSizedBox.test.js +0 -90
  601. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +0 -1
  602. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +0 -6
  603. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +0 -134
  604. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +0 -1
  605. package/dist/src/ui/components/shared/Scrollable.test.d.ts +0 -6
  606. package/dist/src/ui/components/shared/Scrollable.test.js +0 -74
  607. package/dist/src/ui/components/shared/Scrollable.test.js.map +0 -1
  608. package/dist/src/ui/components/shared/ScrollableList.test.d.ts +0 -6
  609. package/dist/src/ui/components/shared/ScrollableList.test.js +0 -241
  610. package/dist/src/ui/components/shared/ScrollableList.test.js.map +0 -1
  611. package/dist/src/ui/components/shared/TabHeader.test.d.ts +0 -6
  612. package/dist/src/ui/components/shared/TabHeader.test.js +0 -106
  613. package/dist/src/ui/components/shared/TabHeader.test.js.map +0 -1
  614. package/dist/src/ui/components/shared/TextInput.test.d.ts +0 -6
  615. package/dist/src/ui/components/shared/TextInput.test.js +0 -242
  616. package/dist/src/ui/components/shared/TextInput.test.js.map +0 -1
  617. package/dist/src/ui/components/shared/VirtualizedList.test.d.ts +0 -6
  618. package/dist/src/ui/components/shared/VirtualizedList.test.js +0 -171
  619. package/dist/src/ui/components/shared/VirtualizedList.test.js.map +0 -1
  620. package/dist/src/ui/components/shared/performance.test.d.ts +0 -1
  621. package/dist/src/ui/components/shared/performance.test.js +0 -67
  622. package/dist/src/ui/components/shared/performance.test.js.map +0 -1
  623. package/dist/src/ui/components/shared/text-buffer.test.d.ts +0 -6
  624. package/dist/src/ui/components/shared/text-buffer.test.js +0 -2490
  625. package/dist/src/ui/components/shared/text-buffer.test.js.map +0 -1
  626. package/dist/src/ui/components/shared/vim-buffer-actions.test.d.ts +0 -6
  627. package/dist/src/ui/components/shared/vim-buffer-actions.test.js +0 -964
  628. package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +0 -1
  629. package/dist/src/ui/components/views/ChatList.test.d.ts +0 -6
  630. package/dist/src/ui/components/views/ChatList.test.js +0 -45
  631. package/dist/src/ui/components/views/ChatList.test.js.map +0 -1
  632. package/dist/src/ui/components/views/ExtensionsList.test.d.ts +0 -6
  633. package/dist/src/ui/components/views/ExtensionsList.test.js +0 -148
  634. package/dist/src/ui/components/views/ExtensionsList.test.js.map +0 -1
  635. package/dist/src/ui/components/views/McpStatus.test.d.ts +0 -6
  636. package/dist/src/ui/components/views/McpStatus.test.js +0 -153
  637. package/dist/src/ui/components/views/McpStatus.test.js.map +0 -1
  638. package/dist/src/ui/components/views/SkillsList.test.d.ts +0 -6
  639. package/dist/src/ui/components/views/SkillsList.test.js +0 -97
  640. package/dist/src/ui/components/views/SkillsList.test.js.map +0 -1
  641. package/dist/src/ui/components/views/ToolsList.test.d.ts +0 -6
  642. package/dist/src/ui/components/views/ToolsList.test.js +0 -45
  643. package/dist/src/ui/components/views/ToolsList.test.js.map +0 -1
  644. package/dist/src/ui/contexts/KeypressContext.test.d.ts +0 -6
  645. package/dist/src/ui/contexts/KeypressContext.test.js +0 -957
  646. package/dist/src/ui/contexts/KeypressContext.test.js.map +0 -1
  647. package/dist/src/ui/contexts/MouseContext.test.d.ts +0 -6
  648. package/dist/src/ui/contexts/MouseContext.test.js +0 -198
  649. package/dist/src/ui/contexts/MouseContext.test.js.map +0 -1
  650. package/dist/src/ui/contexts/ScrollProvider.drag.test.d.ts +0 -6
  651. package/dist/src/ui/contexts/ScrollProvider.drag.test.js +0 -319
  652. package/dist/src/ui/contexts/ScrollProvider.drag.test.js.map +0 -1
  653. package/dist/src/ui/contexts/ScrollProvider.test.d.ts +0 -6
  654. package/dist/src/ui/contexts/ScrollProvider.test.js +0 -377
  655. package/dist/src/ui/contexts/ScrollProvider.test.js.map +0 -1
  656. package/dist/src/ui/contexts/SessionContext.test.d.ts +0 -6
  657. package/dist/src/ui/contexts/SessionContext.test.js +0 -198
  658. package/dist/src/ui/contexts/SessionContext.test.js.map +0 -1
  659. package/dist/src/ui/contexts/ToolActionsContext.test.d.ts +0 -6
  660. package/dist/src/ui/contexts/ToolActionsContext.test.js +0 -166
  661. package/dist/src/ui/contexts/ToolActionsContext.test.js.map +0 -1
  662. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +0 -6
  663. package/dist/src/ui/hooks/atCommandProcessor.test.js +0 -1032
  664. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +0 -1
  665. package/dist/src/ui/hooks/atCommandProcessor_agents.test.d.ts +0 -6
  666. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js +0 -183
  667. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js.map +0 -1
  668. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +0 -6
  669. package/dist/src/ui/hooks/shellCommandProcessor.test.js +0 -521
  670. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +0 -1
  671. package/dist/src/ui/hooks/slashCommandProcessor.test.d.ts +0 -6
  672. package/dist/src/ui/hooks/slashCommandProcessor.test.js +0 -796
  673. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +0 -1
  674. package/dist/src/ui/hooks/toolMapping.test.d.ts +0 -6
  675. package/dist/src/ui/hooks/toolMapping.test.js +0 -209
  676. package/dist/src/ui/hooks/toolMapping.test.js.map +0 -1
  677. package/dist/src/ui/hooks/useAnimatedScrollbar.test.d.ts +0 -6
  678. package/dist/src/ui/hooks/useAnimatedScrollbar.test.js +0 -85
  679. package/dist/src/ui/hooks/useAnimatedScrollbar.test.js.map +0 -1
  680. package/dist/src/ui/hooks/useApprovalModeIndicator.test.d.ts +0 -6
  681. package/dist/src/ui/hooks/useApprovalModeIndicator.test.js +0 -435
  682. package/dist/src/ui/hooks/useApprovalModeIndicator.test.js.map +0 -1
  683. package/dist/src/ui/hooks/useAtCompletion.test.d.ts +0 -6
  684. package/dist/src/ui/hooks/useAtCompletion.test.js +0 -417
  685. package/dist/src/ui/hooks/useAtCompletion.test.js.map +0 -1
  686. package/dist/src/ui/hooks/useAtCompletion_agents.test.d.ts +0 -6
  687. package/dist/src/ui/hooks/useAtCompletion_agents.test.js +0 -87
  688. package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +0 -1
  689. package/dist/src/ui/hooks/useBanner.test.d.ts +0 -6
  690. package/dist/src/ui/hooks/useBanner.test.js +0 -92
  691. package/dist/src/ui/hooks/useBanner.test.js.map +0 -1
  692. package/dist/src/ui/hooks/useBatchedScroll.test.d.ts +0 -6
  693. package/dist/src/ui/hooks/useBatchedScroll.test.js +0 -62
  694. package/dist/src/ui/hooks/useBatchedScroll.test.js.map +0 -1
  695. package/dist/src/ui/hooks/useCommandCompletion.test.d.ts +0 -6
  696. package/dist/src/ui/hooks/useCommandCompletion.test.js +0 -462
  697. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +0 -1
  698. package/dist/src/ui/hooks/useConsoleMessages.test.d.ts +0 -6
  699. package/dist/src/ui/hooks/useConsoleMessages.test.js +0 -159
  700. package/dist/src/ui/hooks/useConsoleMessages.test.js.map +0 -1
  701. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +0 -6
  702. package/dist/src/ui/hooks/useEditorSettings.test.js +0 -179
  703. package/dist/src/ui/hooks/useEditorSettings.test.js.map +0 -1
  704. package/dist/src/ui/hooks/useExtensionUpdates.test.d.ts +0 -6
  705. package/dist/src/ui/hooks/useExtensionUpdates.test.js +0 -279
  706. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +0 -1
  707. package/dist/src/ui/hooks/useFlickerDetector.test.d.ts +0 -6
  708. package/dist/src/ui/hooks/useFlickerDetector.test.js +0 -106
  709. package/dist/src/ui/hooks/useFlickerDetector.test.js.map +0 -1
  710. package/dist/src/ui/hooks/useFocus.test.d.ts +0 -6
  711. package/dist/src/ui/hooks/useFocus.test.js +0 -131
  712. package/dist/src/ui/hooks/useFocus.test.js.map +0 -1
  713. package/dist/src/ui/hooks/useFolderTrust.test.d.ts +0 -6
  714. package/dist/src/ui/hooks/useFolderTrust.test.js +0 -218
  715. package/dist/src/ui/hooks/useFolderTrust.test.js.map +0 -1
  716. package/dist/src/ui/hooks/useGeminiStream.test.d.ts +0 -6
  717. package/dist/src/ui/hooks/useGeminiStream.test.js +0 -2149
  718. package/dist/src/ui/hooks/useGeminiStream.test.js.map +0 -1
  719. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +0 -6
  720. package/dist/src/ui/hooks/useGitBranchName.test.js +0 -183
  721. package/dist/src/ui/hooks/useGitBranchName.test.js.map +0 -1
  722. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +0 -6
  723. package/dist/src/ui/hooks/useHistoryManager.test.js +0 -188
  724. package/dist/src/ui/hooks/useHistoryManager.test.js.map +0 -1
  725. package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +0 -6
  726. package/dist/src/ui/hooks/useHookDisplayState.test.js +0 -180
  727. package/dist/src/ui/hooks/useHookDisplayState.test.js.map +0 -1
  728. package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +0 -6
  729. package/dist/src/ui/hooks/useIdeTrustListener.test.js +0 -214
  730. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +0 -1
  731. package/dist/src/ui/hooks/useIncludeDirsTrust.test.d.ts +0 -6
  732. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +0 -172
  733. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +0 -1
  734. package/dist/src/ui/hooks/useInputHistory.test.d.ts +0 -6
  735. package/dist/src/ui/hooks/useInputHistory.test.js +0 -208
  736. package/dist/src/ui/hooks/useInputHistory.test.js.map +0 -1
  737. package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +0 -6
  738. package/dist/src/ui/hooks/useInputHistoryStore.test.js +0 -238
  739. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +0 -1
  740. package/dist/src/ui/hooks/useKeypress.test.d.ts +0 -6
  741. package/dist/src/ui/hooks/useKeypress.test.js +0 -205
  742. package/dist/src/ui/hooks/useKeypress.test.js.map +0 -1
  743. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +0 -6
  744. package/dist/src/ui/hooks/useLoadingIndicator.test.js +0 -145
  745. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +0 -1
  746. package/dist/src/ui/hooks/useMcpStatus.test.d.ts +0 -6
  747. package/dist/src/ui/hooks/useMcpStatus.test.js +0 -69
  748. package/dist/src/ui/hooks/useMcpStatus.test.js.map +0 -1
  749. package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +0 -6
  750. package/dist/src/ui/hooks/useMemoryMonitor.test.js +0 -62
  751. package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +0 -1
  752. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +0 -6
  753. package/dist/src/ui/hooks/useMessageQueue.test.js +0 -327
  754. package/dist/src/ui/hooks/useMessageQueue.test.js.map +0 -1
  755. package/dist/src/ui/hooks/useModelCommand.test.d.ts +0 -6
  756. package/dist/src/ui/hooks/useModelCommand.test.js +0 -45
  757. package/dist/src/ui/hooks/useModelCommand.test.js.map +0 -1
  758. package/dist/src/ui/hooks/useMouse.test.d.ts +0 -6
  759. package/dist/src/ui/hooks/useMouse.test.js +0 -57
  760. package/dist/src/ui/hooks/useMouse.test.js.map +0 -1
  761. package/dist/src/ui/hooks/useMouseClick.test.d.ts +0 -6
  762. package/dist/src/ui/hooks/useMouseClick.test.js +0 -59
  763. package/dist/src/ui/hooks/useMouseClick.test.js.map +0 -1
  764. package/dist/src/ui/hooks/useMouseDoubleClick.test.d.ts +0 -6
  765. package/dist/src/ui/hooks/useMouseDoubleClick.test.js +0 -125
  766. package/dist/src/ui/hooks/useMouseDoubleClick.test.js.map +0 -1
  767. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +0 -6
  768. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +0 -291
  769. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +0 -1
  770. package/dist/src/ui/hooks/usePhraseCycler.test.d.ts +0 -6
  771. package/dist/src/ui/hooks/usePhraseCycler.test.js +0 -208
  772. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +0 -1
  773. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +0 -6
  774. package/dist/src/ui/hooks/usePrivacySettings.test.js +0 -104
  775. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +0 -1
  776. package/dist/src/ui/hooks/useQuotaAndFallback.test.d.ts +0 -6
  777. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +0 -477
  778. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +0 -1
  779. package/dist/src/ui/hooks/useReactToolScheduler.test.d.ts +0 -6
  780. package/dist/src/ui/hooks/useReactToolScheduler.test.js +0 -58
  781. package/dist/src/ui/hooks/useReactToolScheduler.test.js.map +0 -1
  782. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +0 -6
  783. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +0 -169
  784. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +0 -1
  785. package/dist/src/ui/hooks/useRewind.test.d.ts +0 -6
  786. package/dist/src/ui/hooks/useRewind.test.js +0 -100
  787. package/dist/src/ui/hooks/useRewind.test.js.map +0 -1
  788. package/dist/src/ui/hooks/useSelectionList.test.d.ts +0 -6
  789. package/dist/src/ui/hooks/useSelectionList.test.js +0 -848
  790. package/dist/src/ui/hooks/useSelectionList.test.js.map +0 -1
  791. package/dist/src/ui/hooks/useSessionBrowser.test.d.ts +0 -6
  792. package/dist/src/ui/hooks/useSessionBrowser.test.js +0 -203
  793. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +0 -1
  794. package/dist/src/ui/hooks/useSessionResume.test.d.ts +0 -6
  795. package/dist/src/ui/hooks/useSessionResume.test.js +0 -336
  796. package/dist/src/ui/hooks/useSessionResume.test.js.map +0 -1
  797. package/dist/src/ui/hooks/useShellHistory.test.d.ts +0 -6
  798. package/dist/src/ui/hooks/useShellHistory.test.js +0 -223
  799. package/dist/src/ui/hooks/useShellHistory.test.js.map +0 -1
  800. package/dist/src/ui/hooks/useShellInactivityStatus.test.d.ts +0 -6
  801. package/dist/src/ui/hooks/useShellInactivityStatus.test.js +0 -84
  802. package/dist/src/ui/hooks/useShellInactivityStatus.test.js.map +0 -1
  803. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +0 -9
  804. package/dist/src/ui/hooks/useSlashCompletion.test.js +0 -845
  805. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +0 -1
  806. package/dist/src/ui/hooks/useSnowfall.test.d.ts +0 -6
  807. package/dist/src/ui/hooks/useSnowfall.test.js +0 -88
  808. package/dist/src/ui/hooks/useSnowfall.test.js.map +0 -1
  809. package/dist/src/ui/hooks/useTabbedNavigation.test.d.ts +0 -6
  810. package/dist/src/ui/hooks/useTabbedNavigation.test.js +0 -187
  811. package/dist/src/ui/hooks/useTabbedNavigation.test.js.map +0 -1
  812. package/dist/src/ui/hooks/useTimer.test.d.ts +0 -6
  813. package/dist/src/ui/hooks/useTimer.test.js +0 -119
  814. package/dist/src/ui/hooks/useTimer.test.js.map +0 -1
  815. package/dist/src/ui/hooks/useTips.test.d.ts +0 -6
  816. package/dist/src/ui/hooks/useTips.test.js +0 -33
  817. package/dist/src/ui/hooks/useTips.test.js.map +0 -1
  818. package/dist/src/ui/hooks/useToolExecutionScheduler.test.d.ts +0 -6
  819. package/dist/src/ui/hooks/useToolExecutionScheduler.test.js +0 -376
  820. package/dist/src/ui/hooks/useToolExecutionScheduler.test.js.map +0 -1
  821. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +0 -6
  822. package/dist/src/ui/hooks/useToolScheduler.test.js +0 -881
  823. package/dist/src/ui/hooks/useToolScheduler.test.js.map +0 -1
  824. package/dist/src/ui/hooks/useToolSchedulerFacade.test.d.ts +0 -6
  825. package/dist/src/ui/hooks/useToolSchedulerFacade.test.js +0 -45
  826. package/dist/src/ui/hooks/useToolSchedulerFacade.test.js.map +0 -1
  827. package/dist/src/ui/hooks/useTurnActivityMonitor.test.d.ts +0 -6
  828. package/dist/src/ui/hooks/useTurnActivityMonitor.test.js +0 -97
  829. package/dist/src/ui/hooks/useTurnActivityMonitor.test.js.map +0 -1
  830. package/dist/src/ui/hooks/vim.test.d.ts +0 -6
  831. package/dist/src/ui/hooks/vim.test.js +0 -1384
  832. package/dist/src/ui/hooks/vim.test.js.map +0 -1
  833. package/dist/src/ui/keyMatchers.test.d.ts +0 -6
  834. package/dist/src/ui/keyMatchers.test.js +0 -386
  835. package/dist/src/ui/keyMatchers.test.js.map +0 -1
  836. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.d.ts +0 -6
  837. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +0 -121
  838. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +0 -1
  839. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.d.ts +0 -6
  840. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +0 -34
  841. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +0 -1
  842. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.d.ts +0 -6
  843. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +0 -34
  844. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +0 -1
  845. package/dist/src/ui/privacy/PrivacyNotice.test.d.ts +0 -6
  846. package/dist/src/ui/privacy/PrivacyNotice.test.js +0 -62
  847. package/dist/src/ui/privacy/PrivacyNotice.test.js.map +0 -1
  848. package/dist/src/ui/state/extensions.test.d.ts +0 -6
  849. package/dist/src/ui/state/extensions.test.js +0 -219
  850. package/dist/src/ui/state/extensions.test.js.map +0 -1
  851. package/dist/src/ui/themes/color-utils.test.d.ts +0 -6
  852. package/dist/src/ui/themes/color-utils.test.js +0 -245
  853. package/dist/src/ui/themes/color-utils.test.js.map +0 -1
  854. package/dist/src/ui/themes/theme-manager.test.d.ts +0 -6
  855. package/dist/src/ui/themes/theme-manager.test.js +0 -150
  856. package/dist/src/ui/themes/theme-manager.test.js.map +0 -1
  857. package/dist/src/ui/themes/theme.test.d.ts +0 -6
  858. package/dist/src/ui/themes/theme.test.js +0 -174
  859. package/dist/src/ui/themes/theme.test.js.map +0 -1
  860. package/dist/src/ui/utils/CodeColorizer.test.d.ts +0 -6
  861. package/dist/src/ui/utils/CodeColorizer.test.js +0 -38
  862. package/dist/src/ui/utils/CodeColorizer.test.js.map +0 -1
  863. package/dist/src/ui/utils/InlineMarkdownRenderer.test.d.ts +0 -6
  864. package/dist/src/ui/utils/InlineMarkdownRenderer.test.js +0 -21
  865. package/dist/src/ui/utils/InlineMarkdownRenderer.test.js.map +0 -1
  866. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +0 -6
  867. package/dist/src/ui/utils/MarkdownDisplay.test.js +0 -159
  868. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +0 -1
  869. package/dist/src/ui/utils/clipboardUtils.test.d.ts +0 -6
  870. package/dist/src/ui/utils/clipboardUtils.test.js +0 -359
  871. package/dist/src/ui/utils/clipboardUtils.test.js.map +0 -1
  872. package/dist/src/ui/utils/clipboardUtils.windows.test.d.ts +0 -6
  873. package/dist/src/ui/utils/clipboardUtils.windows.test.js +0 -55
  874. package/dist/src/ui/utils/clipboardUtils.windows.test.js.map +0 -1
  875. package/dist/src/ui/utils/commandUtils.test.d.ts +0 -6
  876. package/dist/src/ui/utils/commandUtils.test.js +0 -479
  877. package/dist/src/ui/utils/commandUtils.test.js.map +0 -1
  878. package/dist/src/ui/utils/computeStats.test.d.ts +0 -6
  879. package/dist/src/ui/utils/computeStats.test.js +0 -271
  880. package/dist/src/ui/utils/computeStats.test.js.map +0 -1
  881. package/dist/src/ui/utils/directoryUtils.test.d.ts +0 -6
  882. package/dist/src/ui/utils/directoryUtils.test.js +0 -244
  883. package/dist/src/ui/utils/directoryUtils.test.js.map +0 -1
  884. package/dist/src/ui/utils/displayUtils.test.d.ts +0 -6
  885. package/dist/src/ui/utils/displayUtils.test.js +0 -61
  886. package/dist/src/ui/utils/displayUtils.test.js.map +0 -1
  887. package/dist/src/ui/utils/formatters.test.d.ts +0 -6
  888. package/dist/src/ui/utils/formatters.test.js +0 -124
  889. package/dist/src/ui/utils/formatters.test.js.map +0 -1
  890. package/dist/src/ui/utils/highlight.test.d.ts +0 -6
  891. package/dist/src/ui/utils/highlight.test.js +0 -198
  892. package/dist/src/ui/utils/highlight.test.js.map +0 -1
  893. package/dist/src/ui/utils/input.test.d.ts +0 -6
  894. package/dist/src/ui/utils/input.test.js +0 -44
  895. package/dist/src/ui/utils/input.test.js.map +0 -1
  896. package/dist/src/ui/utils/markdownUtilities.test.d.ts +0 -6
  897. package/dist/src/ui/utils/markdownUtilities.test.js +0 -42
  898. package/dist/src/ui/utils/markdownUtilities.test.js.map +0 -1
  899. package/dist/src/ui/utils/mouse.test.d.ts +0 -6
  900. package/dist/src/ui/utils/mouse.test.js +0 -136
  901. package/dist/src/ui/utils/mouse.test.js.map +0 -1
  902. package/dist/src/ui/utils/rewindFileOps.test.d.ts +0 -6
  903. package/dist/src/ui/utils/rewindFileOps.test.js +0 -375
  904. package/dist/src/ui/utils/rewindFileOps.test.js.map +0 -1
  905. package/dist/src/ui/utils/terminalCapabilityManager.test.d.ts +0 -6
  906. package/dist/src/ui/utils/terminalCapabilityManager.test.js +0 -220
  907. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +0 -1
  908. package/dist/src/ui/utils/terminalSetup.test.d.ts +0 -6
  909. package/dist/src/ui/utils/terminalSetup.test.js +0 -147
  910. package/dist/src/ui/utils/terminalSetup.test.js.map +0 -1
  911. package/dist/src/ui/utils/terminalUtils.test.d.ts +0 -6
  912. package/dist/src/ui/utils/terminalUtils.test.js +0 -40
  913. package/dist/src/ui/utils/terminalUtils.test.js.map +0 -1
  914. package/dist/src/ui/utils/textOutput.test.d.ts +0 -6
  915. package/dist/src/ui/utils/textOutput.test.js +0 -79
  916. package/dist/src/ui/utils/textOutput.test.js.map +0 -1
  917. package/dist/src/ui/utils/textUtils.test.d.ts +0 -6
  918. package/dist/src/ui/utils/textUtils.test.js +0 -168
  919. package/dist/src/ui/utils/textUtils.test.js.map +0 -1
  920. package/dist/src/ui/utils/ui-sizing.test.d.ts +0 -6
  921. package/dist/src/ui/utils/ui-sizing.test.js +0 -38
  922. package/dist/src/ui/utils/ui-sizing.test.js.map +0 -1
  923. package/dist/src/ui/utils/updateCheck.test.d.ts +0 -6
  924. package/dist/src/ui/utils/updateCheck.test.js +0 -134
  925. package/dist/src/ui/utils/updateCheck.test.js.map +0 -1
  926. package/dist/src/utils/agentUtils.test.d.ts +0 -6
  927. package/dist/src/utils/agentUtils.test.js +0 -121
  928. package/dist/src/utils/agentUtils.test.js.map +0 -1
  929. package/dist/src/utils/checks.test.d.ts +0 -6
  930. package/dist/src/utils/checks.test.js +0 -29
  931. package/dist/src/utils/checks.test.js.map +0 -1
  932. package/dist/src/utils/cleanup.test.d.ts +0 -6
  933. package/dist/src/utils/cleanup.test.js +0 -92
  934. package/dist/src/utils/cleanup.test.js.map +0 -1
  935. package/dist/src/utils/commands.test.d.ts +0 -6
  936. package/dist/src/utils/commands.test.js +0 -115
  937. package/dist/src/utils/commands.test.js.map +0 -1
  938. package/dist/src/utils/commentJson.test.d.ts +0 -6
  939. package/dist/src/utils/commentJson.test.js +0 -308
  940. package/dist/src/utils/commentJson.test.js.map +0 -1
  941. package/dist/src/utils/deepMerge.test.d.ts +0 -6
  942. package/dist/src/utils/deepMerge.test.js +0 -201
  943. package/dist/src/utils/deepMerge.test.js.map +0 -1
  944. package/dist/src/utils/dialogScopeUtils.test.d.ts +0 -6
  945. package/dist/src/utils/dialogScopeUtils.test.js +0 -81
  946. package/dist/src/utils/dialogScopeUtils.test.js.map +0 -1
  947. package/dist/src/utils/envVarResolver.test.d.ts +0 -6
  948. package/dist/src/utils/envVarResolver.test.js +0 -221
  949. package/dist/src/utils/envVarResolver.test.js.map +0 -1
  950. package/dist/src/utils/errors.test.d.ts +0 -6
  951. package/dist/src/utils/errors.test.js +0 -435
  952. package/dist/src/utils/errors.test.js.map +0 -1
  953. package/dist/src/utils/events.test.d.ts +0 -6
  954. package/dist/src/utils/events.test.js +0 -24
  955. package/dist/src/utils/events.test.js.map +0 -1
  956. package/dist/src/utils/gitUtils.test.d.ts +0 -6
  957. package/dist/src/utils/gitUtils.test.js +0 -113
  958. package/dist/src/utils/gitUtils.test.js.map +0 -1
  959. package/dist/src/utils/handleAutoUpdate.test.d.ts +0 -6
  960. package/dist/src/utils/handleAutoUpdate.test.js +0 -310
  961. package/dist/src/utils/handleAutoUpdate.test.js.map +0 -1
  962. package/dist/src/utils/installationInfo.test.d.ts +0 -6
  963. package/dist/src/utils/installationInfo.test.js +0 -296
  964. package/dist/src/utils/installationInfo.test.js.map +0 -1
  965. package/dist/src/utils/jsonoutput.test.d.ts +0 -6
  966. package/dist/src/utils/jsonoutput.test.js +0 -74
  967. package/dist/src/utils/jsonoutput.test.js.map +0 -1
  968. package/dist/src/utils/math.test.d.ts +0 -6
  969. package/dist/src/utils/math.test.js +0 -23
  970. package/dist/src/utils/math.test.js.map +0 -1
  971. package/dist/src/utils/persistentState.test.d.ts +0 -6
  972. package/dist/src/utils/persistentState.test.js +0 -68
  973. package/dist/src/utils/persistentState.test.js.map +0 -1
  974. package/dist/src/utils/processUtils.test.d.ts +0 -6
  975. package/dist/src/utils/processUtils.test.js +0 -20
  976. package/dist/src/utils/processUtils.test.js.map +0 -1
  977. package/dist/src/utils/readStdin.test.d.ts +0 -6
  978. package/dist/src/utils/readStdin.test.js +0 -117
  979. package/dist/src/utils/readStdin.test.js.map +0 -1
  980. package/dist/src/utils/readStdin_safety.test.d.ts +0 -6
  981. package/dist/src/utils/readStdin_safety.test.js +0 -68
  982. package/dist/src/utils/readStdin_safety.test.js.map +0 -1
  983. package/dist/src/utils/relaunch.test.d.ts +0 -6
  984. package/dist/src/utils/relaunch.test.js +0 -279
  985. package/dist/src/utils/relaunch.test.js.map +0 -1
  986. package/dist/src/utils/resolvePath.test.d.ts +0 -6
  987. package/dist/src/utils/resolvePath.test.js +0 -34
  988. package/dist/src/utils/resolvePath.test.js.map +0 -1
  989. package/dist/src/utils/sandbox.test.d.ts +0 -6
  990. package/dist/src/utils/sandbox.test.js +0 -314
  991. package/dist/src/utils/sandbox.test.js.map +0 -1
  992. package/dist/src/utils/sandboxUtils.test.d.ts +0 -6
  993. package/dist/src/utils/sandboxUtils.test.js +0 -122
  994. package/dist/src/utils/sandboxUtils.test.js.map +0 -1
  995. package/dist/src/utils/sessionCleanup.integration.test.d.ts +0 -6
  996. package/dist/src/utils/sessionCleanup.integration.test.js +0 -182
  997. package/dist/src/utils/sessionCleanup.integration.test.js.map +0 -1
  998. package/dist/src/utils/sessionCleanup.test.d.ts +0 -6
  999. package/dist/src/utils/sessionCleanup.test.js +0 -1298
  1000. package/dist/src/utils/sessionCleanup.test.js.map +0 -1
  1001. package/dist/src/utils/sessionUtils.test.d.ts +0 -6
  1002. package/dist/src/utils/sessionUtils.test.js +0 -503
  1003. package/dist/src/utils/sessionUtils.test.js.map +0 -1
  1004. package/dist/src/utils/sessions.test.d.ts +0 -6
  1005. package/dist/src/utils/sessions.test.js +0 -581
  1006. package/dist/src/utils/sessions.test.js.map +0 -1
  1007. package/dist/src/utils/settingsUtils.test.d.ts +0 -6
  1008. package/dist/src/utils/settingsUtils.test.js +0 -808
  1009. package/dist/src/utils/settingsUtils.test.js.map +0 -1
  1010. package/dist/src/utils/skillUtils.test.d.ts +0 -6
  1011. package/dist/src/utils/skillUtils.test.js +0 -70
  1012. package/dist/src/utils/skillUtils.test.js.map +0 -1
  1013. package/dist/src/utils/startupWarnings.test.d.ts +0 -6
  1014. package/dist/src/utils/startupWarnings.test.js +0 -61
  1015. package/dist/src/utils/startupWarnings.test.js.map +0 -1
  1016. package/dist/src/utils/updateEventEmitter.test.d.ts +0 -6
  1017. package/dist/src/utils/updateEventEmitter.test.js +0 -18
  1018. package/dist/src/utils/updateEventEmitter.test.js.map +0 -1
  1019. package/dist/src/utils/userStartupWarnings.test.d.ts +0 -6
  1020. package/dist/src/utils/userStartupWarnings.test.js +0 -98
  1021. package/dist/src/utils/userStartupWarnings.test.js.map +0 -1
  1022. package/dist/src/utils/windowTitle.test.d.ts +0 -6
  1023. package/dist/src/utils/windowTitle.test.js +0 -216
  1024. package/dist/src/utils/windowTitle.test.js.map +0 -1
  1025. package/dist/src/validateNonInterActiveAuth.test.d.ts +0 -6
  1026. package/dist/src/validateNonInterActiveAuth.test.js +0 -319
  1027. package/dist/src/validateNonInterActiveAuth.test.js.map +0 -1
  1028. package/dist/src/zed-integration/fileSystemService.test.d.ts +0 -6
  1029. package/dist/src/zed-integration/fileSystemService.test.js +0 -88
  1030. package/dist/src/zed-integration/fileSystemService.test.js.map +0 -1
  1031. package/dist/src/zed-integration/zedIntegration.test.d.ts +0 -6
  1032. package/dist/src/zed-integration/zedIntegration.test.js +0 -625
  1033. package/dist/src/zed-integration/zedIntegration.test.js.map +0 -1
  1034. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,1032 +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,
9
- // DEFAULT_FILE_EXCLUDES,
10
- } from '@didim365/agent-cli-core';
11
- import * as core from '@didim365/agent-cli-core';
12
- import * as os from 'node:os';
13
- import { ToolCallStatus } from '../types.js';
14
- import * as fsPromises from 'node:fs/promises';
15
- import * as path from 'node:path';
16
- describe('handleAtCommand', () => {
17
- let testRootDir;
18
- let mockConfig;
19
- const mockAddItem = vi.fn();
20
- const mockOnDebugMessage = vi.fn();
21
- let abortController;
22
- async function createTestFile(fullPath, fileContents) {
23
- await fsPromises.mkdir(path.dirname(fullPath), { recursive: true });
24
- await fsPromises.writeFile(fullPath, fileContents);
25
- return path.resolve(testRootDir, fullPath);
26
- }
27
- function getRelativePath(absolutePath) {
28
- return path.relative(testRootDir, absolutePath);
29
- }
30
- beforeEach(async () => {
31
- vi.resetAllMocks();
32
- testRootDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), 'folder-structure-test-'));
33
- abortController = new AbortController();
34
- const getToolRegistry = vi.fn();
35
- const mockMessageBus = {
36
- publish: vi.fn(),
37
- subscribe: vi.fn(),
38
- unsubscribe: vi.fn(),
39
- };
40
- mockConfig = {
41
- getToolRegistry,
42
- getTargetDir: () => testRootDir,
43
- isSandboxed: () => false,
44
- getExcludeTools: vi.fn(),
45
- getFileService: () => new FileDiscoveryService(testRootDir),
46
- getFileFilteringRespectGitIgnore: () => true,
47
- getFileFilteringRespectGeminiIgnore: () => true,
48
- getFileFilteringOptions: () => ({
49
- respectGitIgnore: true,
50
- respectGeminiIgnore: true,
51
- }),
52
- getFileSystemService: () => new StandardFileSystemService(),
53
- getEnableRecursiveFileSearch: vi.fn(() => true),
54
- getWorkspaceContext: () => ({
55
- isPathWithinWorkspace: () => true,
56
- getDirectories: () => [testRootDir],
57
- }),
58
- getMcpServers: () => ({}),
59
- getMcpServerCommand: () => undefined,
60
- getPromptRegistry: () => ({
61
- getPromptsByServer: () => [],
62
- }),
63
- getDebugMode: () => false,
64
- getFileExclusions: () => ({
65
- getCoreIgnorePatterns: () => COMMON_IGNORE_PATTERNS,
66
- getDefaultExcludePatterns: () => [],
67
- getGlobExcludes: () => [],
68
- buildExcludePatterns: () => [],
69
- getReadManyFilesExcludes: () => [],
70
- }),
71
- getUsageStatisticsEnabled: () => false,
72
- getEnableExtensionReloading: () => false,
73
- getResourceRegistry: () => ({
74
- findResourceByUri: () => undefined,
75
- getAllResources: () => [],
76
- }),
77
- getMcpClientManager: () => ({
78
- getClient: () => undefined,
79
- }),
80
- getMessageBus: () => mockMessageBus,
81
- };
82
- const registry = new ToolRegistry(mockConfig, mockMessageBus);
83
- registry.registerTool(new ReadManyFilesTool(mockConfig, mockMessageBus));
84
- registry.registerTool(new GlobTool(mockConfig, mockMessageBus));
85
- getToolRegistry.mockReturnValue(registry);
86
- });
87
- afterEach(async () => {
88
- abortController.abort();
89
- await fsPromises.rm(testRootDir, { recursive: true, force: true });
90
- });
91
- it('should pass through query if no @ command is present', async () => {
92
- const query = 'regular user query';
93
- const result = await handleAtCommand({
94
- query,
95
- config: mockConfig,
96
- addItem: mockAddItem,
97
- onDebugMessage: mockOnDebugMessage,
98
- messageId: 123,
99
- signal: abortController.signal,
100
- });
101
- expect(result).toEqual({
102
- processedQuery: [{ text: query }],
103
- });
104
- });
105
- it('should pass through original query if only a lone @ symbol is present', async () => {
106
- const queryWithSpaces = ' @ ';
107
- const result = await handleAtCommand({
108
- query: queryWithSpaces,
109
- config: mockConfig,
110
- addItem: mockAddItem,
111
- onDebugMessage: mockOnDebugMessage,
112
- messageId: 124,
113
- signal: abortController.signal,
114
- });
115
- expect(result).toEqual({
116
- processedQuery: [{ text: queryWithSpaces }],
117
- });
118
- expect(mockOnDebugMessage).toHaveBeenCalledWith('Lone @ detected, will be treated as text in the modified query.');
119
- });
120
- it('should process a valid text file path', async () => {
121
- const fileContent = 'This is the file content.';
122
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'file.txt'), fileContent);
123
- const relativePath = getRelativePath(filePath);
124
- const query = `@${filePath}`;
125
- const result = await handleAtCommand({
126
- query,
127
- config: mockConfig,
128
- addItem: mockAddItem,
129
- onDebugMessage: mockOnDebugMessage,
130
- messageId: 125,
131
- signal: abortController.signal,
132
- });
133
- expect(result).toEqual({
134
- processedQuery: [
135
- { text: `@${relativePath}` },
136
- { text: '\n--- Content from referenced files ---' },
137
- { text: `\nContent from @${relativePath}:\n` },
138
- { text: fileContent },
139
- { text: '\n--- End of content ---' },
140
- ],
141
- });
142
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
143
- type: 'tool_group',
144
- tools: [expect.objectContaining({ status: ToolCallStatus.Success })],
145
- }), 125);
146
- });
147
- it('should process a valid directory path and convert to glob', async () => {
148
- const fileContent = 'This is the file content.';
149
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'file.txt'), fileContent);
150
- const dirPath = path.dirname(filePath);
151
- const relativeDirPath = getRelativePath(dirPath);
152
- const relativeFilePath = getRelativePath(filePath);
153
- const query = `@${dirPath}`;
154
- const resolvedGlob = path.join(relativeDirPath, '**');
155
- const result = await handleAtCommand({
156
- query,
157
- config: mockConfig,
158
- addItem: mockAddItem,
159
- onDebugMessage: mockOnDebugMessage,
160
- messageId: 126,
161
- signal: abortController.signal,
162
- });
163
- expect(result).toEqual({
164
- processedQuery: [
165
- { text: `@${resolvedGlob}` },
166
- { text: '\n--- Content from referenced files ---' },
167
- { text: `\nContent from @${relativeFilePath}:\n` },
168
- { text: fileContent },
169
- { text: '\n--- End of content ---' },
170
- ],
171
- });
172
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${dirPath} resolved to directory, using glob: ${resolvedGlob}`);
173
- });
174
- it('should handle query with text before and after @command', async () => {
175
- const fileContent = 'Markdown content.';
176
- const filePath = await createTestFile(path.join(testRootDir, 'doc.md'), fileContent);
177
- const relativePath = getRelativePath(filePath);
178
- const textBefore = 'Explain this: ';
179
- const textAfter = ' in detail.';
180
- const query = `${textBefore}@${filePath}${textAfter}`;
181
- const result = await handleAtCommand({
182
- query,
183
- config: mockConfig,
184
- addItem: mockAddItem,
185
- onDebugMessage: mockOnDebugMessage,
186
- messageId: 128,
187
- signal: abortController.signal,
188
- });
189
- expect(result).toEqual({
190
- processedQuery: [
191
- { text: `${textBefore}@${relativePath}${textAfter}` },
192
- { text: '\n--- Content from referenced files ---' },
193
- { text: `\nContent from @${relativePath}:\n` },
194
- { text: fileContent },
195
- { text: '\n--- End of content ---' },
196
- ],
197
- });
198
- });
199
- it('should correctly unescape paths with escaped spaces', async () => {
200
- const fileContent = 'This is the file content.';
201
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'my file.txt'), fileContent);
202
- const escapedpath = path.join(testRootDir, 'path', 'to', 'my\\ file.txt');
203
- const query = `@${escapedpath}`;
204
- const result = await handleAtCommand({
205
- query,
206
- config: mockConfig,
207
- addItem: mockAddItem,
208
- onDebugMessage: mockOnDebugMessage,
209
- messageId: 125,
210
- signal: abortController.signal,
211
- });
212
- expect(result).toEqual({
213
- processedQuery: [
214
- { text: `@${getRelativePath(filePath)}` },
215
- { text: '\n--- Content from referenced files ---' },
216
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
217
- { text: fileContent },
218
- { text: '\n--- End of content ---' },
219
- ],
220
- });
221
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
222
- type: 'tool_group',
223
- tools: [expect.objectContaining({ status: ToolCallStatus.Success })],
224
- }), 125);
225
- }, 10000);
226
- it('should handle multiple @file references', async () => {
227
- const content1 = 'Content file1';
228
- const file1Path = await createTestFile(path.join(testRootDir, 'file1.txt'), content1);
229
- const content2 = 'Content file2';
230
- const file2Path = await createTestFile(path.join(testRootDir, 'file2.md'), content2);
231
- const query = `@${file1Path} @${file2Path}`;
232
- const result = await handleAtCommand({
233
- query,
234
- config: mockConfig,
235
- addItem: mockAddItem,
236
- onDebugMessage: mockOnDebugMessage,
237
- messageId: 130,
238
- signal: abortController.signal,
239
- });
240
- expect(result).toEqual({
241
- processedQuery: [
242
- {
243
- text: `@${getRelativePath(file1Path)} @${getRelativePath(file2Path)}`,
244
- },
245
- { text: '\n--- Content from referenced files ---' },
246
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
247
- { text: content1 },
248
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
249
- { text: content2 },
250
- { text: '\n--- End of content ---' },
251
- ],
252
- });
253
- });
254
- it('should handle multiple @file references with interleaved text', async () => {
255
- const text1 = 'Check ';
256
- const content1 = 'C1';
257
- const file1Path = await createTestFile(path.join(testRootDir, 'f1.txt'), content1);
258
- const text2 = ' and ';
259
- const content2 = 'C2';
260
- const file2Path = await createTestFile(path.join(testRootDir, 'f2.md'), content2);
261
- const text3 = ' please.';
262
- const query = `${text1}@${file1Path}${text2}@${file2Path}${text3}`;
263
- const result = await handleAtCommand({
264
- query,
265
- config: mockConfig,
266
- addItem: mockAddItem,
267
- onDebugMessage: mockOnDebugMessage,
268
- messageId: 131,
269
- signal: abortController.signal,
270
- });
271
- expect(result).toEqual({
272
- processedQuery: [
273
- {
274
- text: `${text1}@${getRelativePath(file1Path)}${text2}@${getRelativePath(file2Path)}${text3}`,
275
- },
276
- { text: '\n--- Content from referenced files ---' },
277
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
278
- { text: content1 },
279
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
280
- { text: content2 },
281
- { text: '\n--- End of content ---' },
282
- ],
283
- });
284
- });
285
- it('should handle a mix of valid, invalid, and lone @ references', async () => {
286
- const content1 = 'Valid content 1';
287
- const file1Path = await createTestFile(path.join(testRootDir, 'valid1.txt'), content1);
288
- const invalidFile = 'nonexistent.txt';
289
- const content2 = 'Globbed content';
290
- const file2Path = await createTestFile(path.join(testRootDir, 'resolved', 'valid2.actual'), content2);
291
- const query = `Look at @${file1Path} then @${invalidFile} and also just @ symbol, then @${file2Path}`;
292
- const result = await handleAtCommand({
293
- query,
294
- config: mockConfig,
295
- addItem: mockAddItem,
296
- onDebugMessage: mockOnDebugMessage,
297
- messageId: 132,
298
- signal: abortController.signal,
299
- });
300
- expect(result).toEqual({
301
- processedQuery: [
302
- {
303
- text: `Look at @${getRelativePath(file1Path)} then @${invalidFile} and also just @ symbol, then @${getRelativePath(file2Path)}`,
304
- },
305
- { text: '\n--- Content from referenced files ---' },
306
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
307
- { text: content2 },
308
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
309
- { text: content1 },
310
- { text: '\n--- End of content ---' },
311
- ],
312
- });
313
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${invalidFile} not found directly, attempting glob search.`);
314
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob search for '**/*${invalidFile}*' found no files or an error. Path ${invalidFile} will be skipped.`);
315
- expect(mockOnDebugMessage).toHaveBeenCalledWith('Lone @ detected, will be treated as text in the modified query.');
316
- });
317
- it('should return original query if all @paths are invalid or lone @', async () => {
318
- const query = 'Check @nonexistent.txt and @ also';
319
- const result = await handleAtCommand({
320
- query,
321
- config: mockConfig,
322
- addItem: mockAddItem,
323
- onDebugMessage: mockOnDebugMessage,
324
- messageId: 133,
325
- signal: abortController.signal,
326
- });
327
- expect(result).toEqual({
328
- processedQuery: [{ text: 'Check @nonexistent.txt and @ also' }],
329
- });
330
- });
331
- describe('git-aware filtering', () => {
332
- beforeEach(async () => {
333
- await fsPromises.mkdir(path.join(testRootDir, '.git'), {
334
- recursive: true,
335
- });
336
- });
337
- it('should skip git-ignored files in @ commands', async () => {
338
- await createTestFile(path.join(testRootDir, '.gitignore'), 'node_modules/package.json');
339
- const gitIgnoredFile = await createTestFile(path.join(testRootDir, 'node_modules', 'package.json'), 'the file contents');
340
- const query = `@${gitIgnoredFile}`;
341
- const result = await handleAtCommand({
342
- query,
343
- config: mockConfig,
344
- addItem: mockAddItem,
345
- onDebugMessage: mockOnDebugMessage,
346
- messageId: 200,
347
- signal: abortController.signal,
348
- });
349
- expect(result).toEqual({
350
- processedQuery: [{ text: query }],
351
- });
352
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
353
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
354
- });
355
- it('should process non-git-ignored files normally', async () => {
356
- await createTestFile(path.join(testRootDir, '.gitignore'), 'node_modules/package.json');
357
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'index.ts'), 'console.log("Hello world");');
358
- const query = `@${validFile}`;
359
- const result = await handleAtCommand({
360
- query,
361
- config: mockConfig,
362
- addItem: mockAddItem,
363
- onDebugMessage: mockOnDebugMessage,
364
- messageId: 201,
365
- signal: abortController.signal,
366
- });
367
- expect(result).toEqual({
368
- processedQuery: [
369
- { text: `@${getRelativePath(validFile)}` },
370
- { text: '\n--- Content from referenced files ---' },
371
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
372
- { text: 'console.log("Hello world");' },
373
- { text: '\n--- End of content ---' },
374
- ],
375
- });
376
- });
377
- it('should handle mixed git-ignored and valid files', async () => {
378
- await createTestFile(path.join(testRootDir, '.gitignore'), '.env');
379
- const validFile = await createTestFile(path.join(testRootDir, 'README.md'), '# Project README');
380
- const gitIgnoredFile = await createTestFile(path.join(testRootDir, '.env'), 'SECRET=123');
381
- const query = `@${validFile} @${gitIgnoredFile}`;
382
- const result = await handleAtCommand({
383
- query,
384
- config: mockConfig,
385
- addItem: mockAddItem,
386
- onDebugMessage: mockOnDebugMessage,
387
- messageId: 202,
388
- signal: abortController.signal,
389
- });
390
- expect(result).toEqual({
391
- processedQuery: [
392
- { text: `@${getRelativePath(validFile)} @${gitIgnoredFile}` },
393
- { text: '\n--- Content from referenced files ---' },
394
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
395
- { text: '# Project README' },
396
- { text: '\n--- End of content ---' },
397
- ],
398
- });
399
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
400
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
401
- });
402
- it('should always ignore .git directory files', async () => {
403
- const gitFile = await createTestFile(path.join(testRootDir, '.git', 'config'), '[core]\n\trepositoryformatversion = 0\n');
404
- const query = `@${gitFile}`;
405
- const result = await handleAtCommand({
406
- query,
407
- config: mockConfig,
408
- addItem: mockAddItem,
409
- onDebugMessage: mockOnDebugMessage,
410
- messageId: 203,
411
- signal: abortController.signal,
412
- });
413
- expect(result).toEqual({
414
- processedQuery: [{ text: query }],
415
- });
416
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitFile} is git-ignored and will be skipped.`);
417
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitFile}`);
418
- });
419
- });
420
- describe('when recursive file search is disabled', () => {
421
- beforeEach(() => {
422
- vi.mocked(mockConfig.getEnableRecursiveFileSearch).mockReturnValue(false);
423
- });
424
- it('should not use glob search for a nonexistent file', async () => {
425
- const invalidFile = 'nonexistent.txt';
426
- const query = `@${invalidFile}`;
427
- const result = await handleAtCommand({
428
- query,
429
- config: mockConfig,
430
- addItem: mockAddItem,
431
- onDebugMessage: mockOnDebugMessage,
432
- messageId: 300,
433
- signal: abortController.signal,
434
- });
435
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob tool not found. Path ${invalidFile} will be skipped.`);
436
- expect(result.processedQuery).toEqual([{ text: query }]);
437
- expect(result.processedQuery).not.toBeNull();
438
- expect(result.error).toBeUndefined();
439
- });
440
- });
441
- describe('gemini-ignore filtering', () => {
442
- it('should skip gemini-ignored files in @ commands', async () => {
443
- await createTestFile(path.join(testRootDir, '.geminiignore'), 'build/output.js');
444
- const geminiIgnoredFile = await createTestFile(path.join(testRootDir, 'build', 'output.js'), 'console.log("Hello");');
445
- const query = `@${geminiIgnoredFile}`;
446
- const result = await handleAtCommand({
447
- query,
448
- config: mockConfig,
449
- addItem: mockAddItem,
450
- onDebugMessage: mockOnDebugMessage,
451
- messageId: 204,
452
- signal: abortController.signal,
453
- });
454
- expect(result).toEqual({
455
- processedQuery: [{ text: query }],
456
- });
457
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
458
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
459
- });
460
- });
461
- it('should process non-ignored files when .geminiignore is present', async () => {
462
- await createTestFile(path.join(testRootDir, '.geminiignore'), 'build/output.js');
463
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'index.ts'), 'console.log("Hello world");');
464
- const query = `@${validFile}`;
465
- const result = await handleAtCommand({
466
- query,
467
- config: mockConfig,
468
- addItem: mockAddItem,
469
- onDebugMessage: mockOnDebugMessage,
470
- messageId: 205,
471
- signal: abortController.signal,
472
- });
473
- expect(result).toEqual({
474
- processedQuery: [
475
- { text: `@${getRelativePath(validFile)}` },
476
- { text: '\n--- Content from referenced files ---' },
477
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
478
- { text: 'console.log("Hello world");' },
479
- { text: '\n--- End of content ---' },
480
- ],
481
- });
482
- });
483
- it('should handle mixed gemini-ignored and valid files', async () => {
484
- await createTestFile(path.join(testRootDir, '.geminiignore'), 'dist/bundle.js');
485
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'main.ts'), '// Main application entry');
486
- const geminiIgnoredFile = await createTestFile(path.join(testRootDir, 'dist', 'bundle.js'), 'console.log("bundle");');
487
- const query = `@${validFile} @${geminiIgnoredFile}`;
488
- const result = await handleAtCommand({
489
- query,
490
- config: mockConfig,
491
- addItem: mockAddItem,
492
- onDebugMessage: mockOnDebugMessage,
493
- messageId: 206,
494
- signal: abortController.signal,
495
- });
496
- expect(result).toEqual({
497
- processedQuery: [
498
- { text: `@${getRelativePath(validFile)} @${geminiIgnoredFile}` },
499
- { text: '\n--- Content from referenced files ---' },
500
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
501
- { text: '// Main application entry' },
502
- { text: '\n--- End of content ---' },
503
- ],
504
- });
505
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
506
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
507
- });
508
- describe('punctuation termination in @ commands', () => {
509
- const punctuationTestCases = [
510
- {
511
- name: 'comma',
512
- fileName: 'test.txt',
513
- fileContent: 'File content here',
514
- queryTemplate: (filePath) => `Look at @${getRelativePath(filePath)}, then explain it.`,
515
- messageId: 400,
516
- },
517
- {
518
- name: 'period',
519
- fileName: 'readme.md',
520
- fileContent: 'File content here',
521
- queryTemplate: (filePath) => `Check @${getRelativePath(filePath)}. What does it say?`,
522
- messageId: 401,
523
- },
524
- {
525
- name: 'semicolon',
526
- fileName: 'example.js',
527
- fileContent: 'Code example',
528
- queryTemplate: (filePath) => `Review @${getRelativePath(filePath)}; check for bugs.`,
529
- messageId: 402,
530
- },
531
- {
532
- name: 'exclamation mark',
533
- fileName: 'important.txt',
534
- fileContent: 'Important content',
535
- queryTemplate: (filePath) => `Look at @${getRelativePath(filePath)}! This is critical.`,
536
- messageId: 403,
537
- },
538
- {
539
- name: 'question mark',
540
- fileName: 'config.json',
541
- fileContent: 'Config settings',
542
- queryTemplate: (filePath) => `What is in @${getRelativePath(filePath)}? Please explain.`,
543
- messageId: 404,
544
- },
545
- {
546
- name: 'opening parenthesis',
547
- fileName: 'func.ts',
548
- fileContent: 'Function definition',
549
- queryTemplate: (filePath) => `Analyze @${getRelativePath(filePath)}(the main function).`,
550
- messageId: 405,
551
- },
552
- {
553
- name: 'closing parenthesis',
554
- fileName: 'data.json',
555
- fileContent: 'Test data',
556
- queryTemplate: (filePath) => `Use data from @${getRelativePath(filePath)}) for testing.`,
557
- messageId: 406,
558
- },
559
- {
560
- name: 'opening square bracket',
561
- fileName: 'array.js',
562
- fileContent: 'Array data',
563
- queryTemplate: (filePath) => `Check @${getRelativePath(filePath)}[0] for the first element.`,
564
- messageId: 407,
565
- },
566
- {
567
- name: 'closing square bracket',
568
- fileName: 'list.md',
569
- fileContent: 'List content',
570
- queryTemplate: (filePath) => `Review item @${getRelativePath(filePath)}] from the list.`,
571
- messageId: 408,
572
- },
573
- {
574
- name: 'opening curly brace',
575
- fileName: 'object.ts',
576
- fileContent: 'Object definition',
577
- queryTemplate: (filePath) => `Parse @${getRelativePath(filePath)}{prop1: value1}.`,
578
- messageId: 409,
579
- },
580
- {
581
- name: 'closing curly brace',
582
- fileName: 'config.yaml',
583
- fileContent: 'Configuration',
584
- queryTemplate: (filePath) => `Use settings from @${getRelativePath(filePath)}} for deployment.`,
585
- messageId: 410,
586
- },
587
- ];
588
- it.each(punctuationTestCases)('should terminate @path at $name', async ({ fileName, fileContent, queryTemplate, messageId }) => {
589
- const filePath = await createTestFile(path.join(testRootDir, fileName), fileContent);
590
- const query = queryTemplate(filePath);
591
- const result = await handleAtCommand({
592
- query,
593
- config: mockConfig,
594
- addItem: mockAddItem,
595
- onDebugMessage: mockOnDebugMessage,
596
- messageId,
597
- signal: abortController.signal,
598
- });
599
- expect(result).toEqual({
600
- processedQuery: [
601
- { text: query },
602
- { text: '\n--- Content from referenced files ---' },
603
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
604
- { text: fileContent },
605
- { text: '\n--- End of content ---' },
606
- ],
607
- });
608
- });
609
- it('should handle multiple @paths terminated by different punctuation', async () => {
610
- const content1 = 'First file';
611
- const file1Path = await createTestFile(path.join(testRootDir, 'first.txt'), content1);
612
- const content2 = 'Second file';
613
- const file2Path = await createTestFile(path.join(testRootDir, 'second.txt'), content2);
614
- const query = `Compare @${file1Path}, @${file2Path}; what's different?`;
615
- const result = await handleAtCommand({
616
- query,
617
- config: mockConfig,
618
- addItem: mockAddItem,
619
- onDebugMessage: mockOnDebugMessage,
620
- messageId: 411,
621
- signal: abortController.signal,
622
- });
623
- expect(result).toEqual({
624
- processedQuery: [
625
- {
626
- text: `Compare @${getRelativePath(file1Path)}, @${getRelativePath(file2Path)}; what's different?`,
627
- },
628
- { text: '\n--- Content from referenced files ---' },
629
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
630
- { text: content1 },
631
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
632
- { text: content2 },
633
- { text: '\n--- End of content ---' },
634
- ],
635
- });
636
- });
637
- it('should still handle escaped spaces in paths before punctuation', async () => {
638
- const fileContent = 'Spaced file content';
639
- const filePath = await createTestFile(path.join(testRootDir, 'spaced file.txt'), fileContent);
640
- const escapedPath = path.join(testRootDir, 'spaced\\ file.txt');
641
- const query = `Check @${escapedPath}, it has spaces.`;
642
- const result = await handleAtCommand({
643
- query,
644
- config: mockConfig,
645
- addItem: mockAddItem,
646
- onDebugMessage: mockOnDebugMessage,
647
- messageId: 412,
648
- signal: abortController.signal,
649
- });
650
- expect(result).toEqual({
651
- processedQuery: [
652
- { text: `Check @${getRelativePath(filePath)}, it has spaces.` },
653
- { text: '\n--- Content from referenced files ---' },
654
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
655
- { text: fileContent },
656
- { text: '\n--- End of content ---' },
657
- ],
658
- });
659
- });
660
- it('should not break file paths with periods in extensions', async () => {
661
- const fileContent = 'TypeScript content';
662
- const filePath = await createTestFile(path.join(testRootDir, 'example.d.ts'), fileContent);
663
- const query = `Analyze @${getRelativePath(filePath)} for type definitions.`;
664
- const result = await handleAtCommand({
665
- query,
666
- config: mockConfig,
667
- addItem: mockAddItem,
668
- onDebugMessage: mockOnDebugMessage,
669
- messageId: 413,
670
- signal: abortController.signal,
671
- });
672
- expect(result).toEqual({
673
- processedQuery: [
674
- {
675
- text: `Analyze @${getRelativePath(filePath)} for type definitions.`,
676
- },
677
- { text: '\n--- Content from referenced files ---' },
678
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
679
- { text: fileContent },
680
- { text: '\n--- End of content ---' },
681
- ],
682
- });
683
- });
684
- it('should handle file paths ending with period followed by space', async () => {
685
- const fileContent = 'Config content';
686
- const filePath = await createTestFile(path.join(testRootDir, 'config.json'), fileContent);
687
- const query = `Check @${getRelativePath(filePath)}. This file contains settings.`;
688
- const result = await handleAtCommand({
689
- query,
690
- config: mockConfig,
691
- addItem: mockAddItem,
692
- onDebugMessage: mockOnDebugMessage,
693
- messageId: 414,
694
- signal: abortController.signal,
695
- });
696
- expect(result).toEqual({
697
- processedQuery: [
698
- {
699
- text: `Check @${getRelativePath(filePath)}. This file contains settings.`,
700
- },
701
- { text: '\n--- Content from referenced files ---' },
702
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
703
- { text: fileContent },
704
- { text: '\n--- End of content ---' },
705
- ],
706
- });
707
- });
708
- it('should handle comma termination with complex file paths', async () => {
709
- const fileContent = 'Package info';
710
- const filePath = await createTestFile(path.join(testRootDir, 'package.json'), fileContent);
711
- const query = `Review @${getRelativePath(filePath)}, then check dependencies.`;
712
- const result = await handleAtCommand({
713
- query,
714
- config: mockConfig,
715
- addItem: mockAddItem,
716
- onDebugMessage: mockOnDebugMessage,
717
- messageId: 415,
718
- signal: abortController.signal,
719
- });
720
- expect(result).toEqual({
721
- processedQuery: [
722
- {
723
- text: `Review @${getRelativePath(filePath)}, then check dependencies.`,
724
- },
725
- { text: '\n--- Content from referenced files ---' },
726
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
727
- { text: fileContent },
728
- { text: '\n--- End of content ---' },
729
- ],
730
- });
731
- });
732
- it('should correctly handle file paths with multiple periods', async () => {
733
- const fileContent = 'Version info';
734
- const filePath = await createTestFile(path.join(testRootDir, 'version.1.2.3.txt'), fileContent);
735
- const query = `Check @${getRelativePath(filePath)} contains version information.`;
736
- const result = await handleAtCommand({
737
- query,
738
- config: mockConfig,
739
- addItem: mockAddItem,
740
- onDebugMessage: mockOnDebugMessage,
741
- messageId: 416,
742
- signal: abortController.signal,
743
- });
744
- expect(result).toEqual({
745
- processedQuery: [
746
- {
747
- text: `Check @${getRelativePath(filePath)} contains version information.`,
748
- },
749
- { text: '\n--- Content from referenced files ---' },
750
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
751
- { text: fileContent },
752
- { text: '\n--- End of content ---' },
753
- ],
754
- });
755
- });
756
- it('should handle end of string termination for period and comma', async () => {
757
- const fileContent = 'End file content';
758
- const filePath = await createTestFile(path.join(testRootDir, 'end.txt'), fileContent);
759
- const query = `Show me @${getRelativePath(filePath)}.`;
760
- const result = await handleAtCommand({
761
- query,
762
- config: mockConfig,
763
- addItem: mockAddItem,
764
- onDebugMessage: mockOnDebugMessage,
765
- messageId: 417,
766
- signal: abortController.signal,
767
- });
768
- expect(result).toEqual({
769
- processedQuery: [
770
- { text: `Show me @${getRelativePath(filePath)}.` },
771
- { text: '\n--- Content from referenced files ---' },
772
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
773
- { text: fileContent },
774
- { text: '\n--- End of content ---' },
775
- ],
776
- });
777
- });
778
- it('should handle files with special characters in names', async () => {
779
- const fileContent = 'File with special chars content';
780
- const filePath = await createTestFile(path.join(testRootDir, 'file$with&special#chars.txt'), fileContent);
781
- const query = `Check @${getRelativePath(filePath)} for content.`;
782
- const result = await handleAtCommand({
783
- query,
784
- config: mockConfig,
785
- addItem: mockAddItem,
786
- onDebugMessage: mockOnDebugMessage,
787
- messageId: 418,
788
- signal: abortController.signal,
789
- });
790
- expect(result).toEqual({
791
- processedQuery: [
792
- { text: `Check @${getRelativePath(filePath)} for content.` },
793
- { text: '\n--- Content from referenced files ---' },
794
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
795
- { text: fileContent },
796
- { text: '\n--- End of content ---' },
797
- ],
798
- });
799
- });
800
- it('should handle basic file names without special characters', async () => {
801
- const fileContent = 'Basic file content';
802
- const filePath = await createTestFile(path.join(testRootDir, 'basicfile.txt'), fileContent);
803
- const query = `Check @${getRelativePath(filePath)} please.`;
804
- const result = await handleAtCommand({
805
- query,
806
- config: mockConfig,
807
- addItem: mockAddItem,
808
- onDebugMessage: mockOnDebugMessage,
809
- messageId: 421,
810
- signal: abortController.signal,
811
- });
812
- expect(result).toEqual({
813
- processedQuery: [
814
- { text: `Check @${getRelativePath(filePath)} please.` },
815
- { text: '\n--- Content from referenced files ---' },
816
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
817
- { text: fileContent },
818
- { text: '\n--- End of content ---' },
819
- ],
820
- });
821
- });
822
- });
823
- describe('absolute path handling', () => {
824
- it('should handle absolute file paths correctly', async () => {
825
- const fileContent = 'console.log("This is an absolute path test");';
826
- const relativePath = path.join('src', 'absolute-test.ts');
827
- const absolutePath = await createTestFile(path.join(testRootDir, relativePath), fileContent);
828
- const query = `Check @${absolutePath} please.`;
829
- const result = await handleAtCommand({
830
- query,
831
- config: mockConfig,
832
- addItem: mockAddItem,
833
- onDebugMessage: mockOnDebugMessage,
834
- messageId: 500,
835
- signal: abortController.signal,
836
- });
837
- expect(result).toEqual({
838
- processedQuery: [
839
- { text: `Check @${relativePath} please.` },
840
- { text: '\n--- Content from referenced files ---' },
841
- { text: `\nContent from @${relativePath}:\n` },
842
- { text: fileContent },
843
- { text: '\n--- End of content ---' },
844
- ],
845
- });
846
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining(`using relative path: ${relativePath}`));
847
- });
848
- it('should handle absolute directory paths correctly', async () => {
849
- const fileContent = 'export default function test() { return "absolute dir test"; }';
850
- const subDirPath = path.join('src', 'utils');
851
- const fileName = 'helper.ts';
852
- await createTestFile(path.join(testRootDir, subDirPath, fileName), fileContent);
853
- const absoluteDirPath = path.join(testRootDir, subDirPath);
854
- const query = `Check @${absoluteDirPath} please.`;
855
- const result = await handleAtCommand({
856
- query,
857
- config: mockConfig,
858
- addItem: mockAddItem,
859
- onDebugMessage: mockOnDebugMessage,
860
- messageId: 501,
861
- signal: abortController.signal,
862
- });
863
- expect(result.processedQuery).not.toBeNull();
864
- expect(result.error).toBeUndefined();
865
- expect(result.processedQuery).toEqual(expect.arrayContaining([
866
- { text: `Check @${path.join(subDirPath, '**')} please.` },
867
- expect.objectContaining({
868
- text: '\n--- Content from referenced files ---',
869
- }),
870
- ]));
871
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining(`using glob: ${path.join(subDirPath, '**')}`));
872
- });
873
- it('should skip absolute paths outside workspace', async () => {
874
- const outsidePath = '/tmp/outside-workspace.txt';
875
- const query = `Check @${outsidePath} please.`;
876
- const mockWorkspaceContext = {
877
- isPathWithinWorkspace: vi.fn((path) => path.startsWith(testRootDir)),
878
- getDirectories: () => [testRootDir],
879
- addDirectory: vi.fn(),
880
- getInitialDirectories: () => [testRootDir],
881
- setDirectories: vi.fn(),
882
- onDirectoriesChanged: vi.fn(() => () => { }),
883
- };
884
- mockConfig.getWorkspaceContext = () => mockWorkspaceContext;
885
- const result = await handleAtCommand({
886
- query,
887
- config: mockConfig,
888
- addItem: mockAddItem,
889
- onDebugMessage: mockOnDebugMessage,
890
- messageId: 502,
891
- signal: abortController.signal,
892
- });
893
- expect(result).toEqual({
894
- processedQuery: [{ text: `Check @${outsidePath} please.` }],
895
- });
896
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${outsidePath} is not in the workspace and will be skipped.`);
897
- });
898
- });
899
- it("should not add the user's turn to history, as that is the caller's responsibility", async () => {
900
- // Arrange
901
- const fileContent = 'This is the file content.';
902
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'another-file.txt'), fileContent);
903
- const query = `A query with @${getRelativePath(filePath)}`;
904
- // Act
905
- await handleAtCommand({
906
- query,
907
- config: mockConfig,
908
- addItem: mockAddItem,
909
- onDebugMessage: mockOnDebugMessage,
910
- messageId: 999,
911
- signal: abortController.signal,
912
- });
913
- // Assert
914
- // It SHOULD be called for the tool_group
915
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({ type: 'tool_group' }), 999);
916
- // It should NOT have been called for the user turn
917
- const userTurnCalls = mockAddItem.mock.calls.filter((call) => call[0].type === 'user');
918
- expect(userTurnCalls).toHaveLength(0);
919
- });
920
- describe('MCP resource attachments', () => {
921
- it('attaches MCP resource content when @serverName:uri matches registry', async () => {
922
- const serverName = 'server-1';
923
- const resourceUri = 'resource://server-1/logs';
924
- const prefixedUri = `${serverName}:${resourceUri}`;
925
- const resource = {
926
- serverName,
927
- uri: resourceUri,
928
- name: 'logs',
929
- discoveredAt: Date.now(),
930
- };
931
- vi.spyOn(mockConfig, 'getResourceRegistry').mockReturnValue({
932
- findResourceByUri: (identifier) => identifier === prefixedUri ? resource : undefined,
933
- getAllResources: () => [],
934
- });
935
- const readResource = vi.fn().mockResolvedValue({
936
- contents: [{ text: 'mcp resource body' }],
937
- });
938
- vi.spyOn(mockConfig, 'getMcpClientManager').mockReturnValue({
939
- getClient: () => ({ readResource }),
940
- });
941
- const result = await handleAtCommand({
942
- query: `@${prefixedUri}`,
943
- config: mockConfig,
944
- addItem: mockAddItem,
945
- onDebugMessage: mockOnDebugMessage,
946
- messageId: 42,
947
- signal: abortController.signal,
948
- });
949
- expect(readResource).toHaveBeenCalledWith(resourceUri);
950
- const processedParts = Array.isArray(result.processedQuery)
951
- ? result.processedQuery
952
- : [];
953
- const containsResourceText = processedParts.some((part) => {
954
- const text = typeof part === 'string' ? part : part?.text;
955
- return typeof text === 'string' && text.includes('mcp resource body');
956
- });
957
- expect(containsResourceText).toBe(true);
958
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({ type: 'tool_group' }), expect.any(Number));
959
- });
960
- it('returns an error if MCP client is unavailable', async () => {
961
- const serverName = 'server-1';
962
- const resourceUri = 'resource://server-1/logs';
963
- const prefixedUri = `${serverName}:${resourceUri}`;
964
- vi.spyOn(mockConfig, 'getResourceRegistry').mockReturnValue({
965
- findResourceByUri: (identifier) => identifier === prefixedUri
966
- ? {
967
- serverName,
968
- uri: resourceUri,
969
- discoveredAt: Date.now(),
970
- }
971
- : undefined,
972
- getAllResources: () => [],
973
- });
974
- vi.spyOn(mockConfig, 'getMcpClientManager').mockReturnValue({
975
- getClient: () => undefined,
976
- });
977
- const result = await handleAtCommand({
978
- query: `@${prefixedUri}`,
979
- config: mockConfig,
980
- addItem: mockAddItem,
981
- onDebugMessage: mockOnDebugMessage,
982
- messageId: 42,
983
- signal: abortController.signal,
984
- });
985
- expect(result.processedQuery).toBeNull();
986
- expect(result.error).toBeDefined();
987
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
988
- type: 'tool_group',
989
- tools: expect.arrayContaining([
990
- expect.objectContaining({
991
- resultDisplay: expect.stringContaining("MCP client for server 'server-1' is not available or not connected."),
992
- }),
993
- ]),
994
- }), expect.any(Number));
995
- });
996
- });
997
- it('should return error if the read_many_files tool is cancelled by user', async () => {
998
- const fileContent = 'Some content';
999
- const filePath = await createTestFile(path.join(testRootDir, 'file.txt'), fileContent);
1000
- const query = `@${filePath}`;
1001
- // Simulate user cancellation
1002
- const mockToolInstance = {
1003
- buildAndExecute: vi
1004
- .fn()
1005
- .mockRejectedValue(new Error('User cancelled operation')),
1006
- displayName: 'Read Many Files',
1007
- build: vi.fn(() => ({
1008
- execute: mockToolInstance.buildAndExecute,
1009
- getDescription: vi.fn(() => 'Mocked tool description'),
1010
- })),
1011
- };
1012
- const viSpy = vi.spyOn(core, 'ReadManyFilesTool');
1013
- viSpy.mockImplementation(() => mockToolInstance);
1014
- const result = await handleAtCommand({
1015
- query,
1016
- config: mockConfig,
1017
- addItem: mockAddItem,
1018
- onDebugMessage: mockOnDebugMessage,
1019
- messageId: 134,
1020
- signal: abortController.signal,
1021
- });
1022
- expect(result).toEqual({
1023
- processedQuery: null,
1024
- error: `Exiting due to an error processing the @ command: Error reading files (file.txt): User cancelled operation`,
1025
- });
1026
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
1027
- type: 'tool_group',
1028
- tools: [expect.objectContaining({ status: ToolCallStatus.Error })],
1029
- }), 134);
1030
- });
1031
- });
1032
- //# sourceMappingURL=atCommandProcessor.test.js.map