@quantum-ai/gemini-cli 0.45.4 → 0.45.5

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 (1440) hide show
  1. package/README.md +394 -0
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +12 -11
  5. package/dist/src/config/settingsSchema.d.ts +1 -1
  6. package/dist/src/index.d.ts +1 -0
  7. package/dist/src/index.js +1 -0
  8. package/dist/src/index.js.map +1 -1
  9. package/dist/src/ui/App.d.ts +1 -1
  10. package/dist/src/ui/AppContainer.d.ts +1 -1
  11. package/dist/src/ui/IdeIntegrationNudge.d.ts +1 -1
  12. package/dist/src/ui/auth/LoginRestartDialog.d.ts +1 -1
  13. package/dist/src/ui/components/AdminSettingsChangedDialog.d.ts +1 -1
  14. package/dist/src/ui/components/AlternateBufferQuittingDisplay.d.ts +1 -1
  15. package/dist/src/ui/components/AppHeader.d.ts +1 -1
  16. package/dist/src/ui/components/BackgroundTaskDisplay.d.ts +1 -1
  17. package/dist/src/ui/components/Banner.d.ts +1 -1
  18. package/dist/src/ui/components/CliSpinner.d.ts +1 -1
  19. package/dist/src/ui/components/Composer.d.ts +1 -1
  20. package/dist/src/ui/components/ConfigInitDisplay.d.ts +1 -1
  21. package/dist/src/ui/components/ConsentPrompt.d.ts +1 -1
  22. package/dist/src/ui/components/ContextUsageDisplay.d.ts +1 -1
  23. package/dist/src/ui/components/DebugProfiler.d.ts +1 -1
  24. package/dist/src/ui/components/DialogManager.d.ts +1 -1
  25. package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +1 -1
  26. package/dist/src/ui/components/LoopDetectionConfirmation.d.ts +1 -1
  27. package/dist/src/ui/components/MainContent.d.ts +1 -1
  28. package/dist/src/ui/components/ModelQuotaDisplay.d.ts +1 -1
  29. package/dist/src/ui/components/NewAgentsNotification.d.ts +1 -1
  30. package/dist/src/ui/components/Notifications.d.ts +1 -1
  31. package/dist/src/ui/components/QueuedMessageDisplay.d.ts +1 -1
  32. package/dist/src/ui/components/QuittingDisplay.d.ts +1 -1
  33. package/dist/src/ui/components/ShowMoreLines.d.ts +1 -1
  34. package/dist/src/ui/components/SuggestionsDisplay.d.ts +1 -1
  35. package/dist/src/ui/components/Table.d.ts +1 -1
  36. package/dist/src/ui/components/UpdateNotification.d.ts +1 -1
  37. package/dist/src/ui/components/shared/SlicingMaxSizedBox.d.ts +1 -1
  38. package/dist/src/ui/components/triage/TriageDuplicates.d.ts +1 -1
  39. package/dist/src/ui/components/triage/TriageIssues.d.ts +1 -1
  40. package/dist/src/ui/contexts/KeypressContext.d.ts +1 -1
  41. package/dist/src/ui/contexts/MouseContext.d.ts +1 -1
  42. package/dist/src/ui/contexts/TerminalContext.d.ts +1 -1
  43. package/dist/src/ui/contexts/VimModeContext.d.ts +1 -1
  44. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +2 -2
  45. package/dist/src/ui/hooks/useInlineEditBuffer.d.ts +1 -1
  46. package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
  47. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +1 -1
  48. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +1 -1
  49. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +1 -1
  50. package/dist/src/ui/privacy/PrivacyNotice.d.ts +1 -1
  51. package/dist/src/utils/devtoolsService.js +1 -1
  52. package/dist/src/utils/devtoolsService.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +12 -11
  55. package/dist/src/acp/acpCommandHandler.test.d.ts +0 -6
  56. package/dist/src/acp/acpCommandHandler.test.js +0 -28
  57. package/dist/src/acp/acpCommandHandler.test.js.map +0 -1
  58. package/dist/src/acp/acpErrors.test.d.ts +0 -6
  59. package/dist/src/acp/acpErrors.test.js +0 -38
  60. package/dist/src/acp/acpErrors.test.js.map +0 -1
  61. package/dist/src/acp/acpFileSystemService.test.d.ts +0 -6
  62. package/dist/src/acp/acpFileSystemService.test.js +0 -162
  63. package/dist/src/acp/acpFileSystemService.test.js.map +0 -1
  64. package/dist/src/acp/acpResume.test.d.ts +0 -6
  65. package/dist/src/acp/acpResume.test.js +0 -260
  66. package/dist/src/acp/acpResume.test.js.map +0 -1
  67. package/dist/src/acp/acpRpcDispatcher.test.d.ts +0 -6
  68. package/dist/src/acp/acpRpcDispatcher.test.js +0 -238
  69. package/dist/src/acp/acpRpcDispatcher.test.js.map +0 -1
  70. package/dist/src/acp/acpSession.test.d.ts +0 -6
  71. package/dist/src/acp/acpSession.test.js +0 -742
  72. package/dist/src/acp/acpSession.test.js.map +0 -1
  73. package/dist/src/acp/acpSessionManager.test.d.ts +0 -6
  74. package/dist/src/acp/acpSessionManager.test.js +0 -283
  75. package/dist/src/acp/acpSessionManager.test.js.map +0 -1
  76. package/dist/src/acp/commands/extensions.test.d.ts +0 -6
  77. package/dist/src/acp/commands/extensions.test.js +0 -70
  78. package/dist/src/acp/commands/extensions.test.js.map +0 -1
  79. package/dist/src/acp/commands/help.test.d.ts +0 -6
  80. package/dist/src/acp/commands/help.test.js +0 -40
  81. package/dist/src/acp/commands/help.test.js.map +0 -1
  82. package/dist/src/acp/commands/restore.test.d.ts +0 -6
  83. package/dist/src/acp/commands/restore.test.js +0 -173
  84. package/dist/src/acp/commands/restore.test.js.map +0 -1
  85. package/dist/src/commands/extensions/configure.test.d.ts +0 -1
  86. package/dist/src/commands/extensions/configure.test.js +0 -195
  87. package/dist/src/commands/extensions/configure.test.js.map +0 -1
  88. package/dist/src/commands/extensions/disable.test.d.ts +0 -6
  89. package/dist/src/commands/extensions/disable.test.js +0 -169
  90. package/dist/src/commands/extensions/disable.test.js.map +0 -1
  91. package/dist/src/commands/extensions/enable.test.d.ts +0 -6
  92. package/dist/src/commands/extensions/enable.test.js +0 -199
  93. package/dist/src/commands/extensions/enable.test.js.map +0 -1
  94. package/dist/src/commands/extensions/install.test.d.ts +0 -6
  95. package/dist/src/commands/extensions/install.test.js +0 -311
  96. package/dist/src/commands/extensions/install.test.js.map +0 -1
  97. package/dist/src/commands/extensions/link.test.d.ts +0 -6
  98. package/dist/src/commands/extensions/link.test.js +0 -121
  99. package/dist/src/commands/extensions/link.test.js.map +0 -1
  100. package/dist/src/commands/extensions/list.test.d.ts +0 -6
  101. package/dist/src/commands/extensions/list.test.js +0 -132
  102. package/dist/src/commands/extensions/list.test.js.map +0 -1
  103. package/dist/src/commands/extensions/new.test.d.ts +0 -6
  104. package/dist/src/commands/extensions/new.test.js +0 -62
  105. package/dist/src/commands/extensions/new.test.js.map +0 -1
  106. package/dist/src/commands/extensions/uninstall.test.d.ts +0 -6
  107. package/dist/src/commands/extensions/uninstall.test.js +0 -240
  108. package/dist/src/commands/extensions/uninstall.test.js.map +0 -1
  109. package/dist/src/commands/extensions/update.test.d.ts +0 -6
  110. package/dist/src/commands/extensions/update.test.js +0 -196
  111. package/dist/src/commands/extensions/update.test.js.map +0 -1
  112. package/dist/src/commands/extensions/validate.test.d.ts +0 -6
  113. package/dist/src/commands/extensions/validate.test.js +0 -96
  114. package/dist/src/commands/extensions/validate.test.js.map +0 -1
  115. package/dist/src/commands/extensions.test.d.ts +0 -6
  116. package/dist/src/commands/extensions.test.js +0 -67
  117. package/dist/src/commands/extensions.test.js.map +0 -1
  118. package/dist/src/commands/gemma/logs.test.d.ts +0 -6
  119. package/dist/src/commands/gemma/logs.test.js +0 -122
  120. package/dist/src/commands/gemma/logs.test.js.map +0 -1
  121. package/dist/src/commands/gemma/platform.test.d.ts +0 -6
  122. package/dist/src/commands/gemma/platform.test.js +0 -108
  123. package/dist/src/commands/gemma/platform.test.js.map +0 -1
  124. package/dist/src/commands/gemma/setup.test.d.ts +0 -6
  125. package/dist/src/commands/gemma/setup.test.js +0 -36
  126. package/dist/src/commands/gemma/setup.test.js.map +0 -1
  127. package/dist/src/commands/gemma/stop.test.d.ts +0 -6
  128. package/dist/src/commands/gemma/stop.test.js +0 -89
  129. package/dist/src/commands/gemma/stop.test.js.map +0 -1
  130. package/dist/src/commands/hooks/migrate.test.d.ts +0 -6
  131. package/dist/src/commands/hooks/migrate.test.js +0 -388
  132. package/dist/src/commands/hooks/migrate.test.js.map +0 -1
  133. package/dist/src/commands/mcp/add.test.d.ts +0 -6
  134. package/dist/src/commands/mcp/add.test.js +0 -274
  135. package/dist/src/commands/mcp/add.test.js.map +0 -1
  136. package/dist/src/commands/mcp/list.test.d.ts +0 -6
  137. package/dist/src/commands/mcp/list.test.js +0 -477
  138. package/dist/src/commands/mcp/list.test.js.map +0 -1
  139. package/dist/src/commands/mcp/remove.test.d.ts +0 -6
  140. package/dist/src/commands/mcp/remove.test.js +0 -206
  141. package/dist/src/commands/mcp/remove.test.js.map +0 -1
  142. package/dist/src/commands/mcp.test.d.ts +0 -6
  143. package/dist/src/commands/mcp.test.js +0 -64
  144. package/dist/src/commands/mcp.test.js.map +0 -1
  145. package/dist/src/commands/skills/disable.test.d.ts +0 -6
  146. package/dist/src/commands/skills/disable.test.js +0 -93
  147. package/dist/src/commands/skills/disable.test.js.map +0 -1
  148. package/dist/src/commands/skills/enable.test.d.ts +0 -6
  149. package/dist/src/commands/skills/enable.test.js +0 -104
  150. package/dist/src/commands/skills/enable.test.js.map +0 -1
  151. package/dist/src/commands/skills/install.test.d.ts +0 -6
  152. package/dist/src/commands/skills/install.test.js +0 -99
  153. package/dist/src/commands/skills/install.test.js.map +0 -1
  154. package/dist/src/commands/skills/link.test.d.ts +0 -6
  155. package/dist/src/commands/skills/link.test.js +0 -53
  156. package/dist/src/commands/skills/link.test.js.map +0 -1
  157. package/dist/src/commands/skills/list.test.d.ts +0 -6
  158. package/dist/src/commands/skills/list.test.js +0 -127
  159. package/dist/src/commands/skills/list.test.js.map +0 -1
  160. package/dist/src/commands/skills/uninstall.test.d.ts +0 -6
  161. package/dist/src/commands/skills/uninstall.test.js +0 -65
  162. package/dist/src/commands/skills/uninstall.test.js.map +0 -1
  163. package/dist/src/commands/skills.test.d.ts +0 -6
  164. package/dist/src/commands/skills.test.js +0 -49
  165. package/dist/src/commands/skills.test.js.map +0 -1
  166. package/dist/src/commands/utils.test.d.ts +0 -6
  167. package/dist/src/commands/utils.test.js +0 -35
  168. package/dist/src/commands/utils.test.js.map +0 -1
  169. package/dist/src/config/auth.test.d.ts +0 -6
  170. package/dist/src/config/auth.test.js +0 -96
  171. package/dist/src/config/auth.test.js.map +0 -1
  172. package/dist/src/config/config.integration.test.d.ts +0 -6
  173. package/dist/src/config/config.integration.test.js +0 -205
  174. package/dist/src/config/config.integration.test.js.map +0 -1
  175. package/dist/src/config/config.test.d.ts +0 -6
  176. package/dist/src/config/config.test.js +0 -3124
  177. package/dist/src/config/config.test.js.map +0 -1
  178. package/dist/src/config/extension-manager-agents.test.d.ts +0 -6
  179. package/dist/src/config/extension-manager-agents.test.js +0 -116
  180. package/dist/src/config/extension-manager-agents.test.js.map +0 -1
  181. package/dist/src/config/extension-manager-hydration.test.d.ts +0 -6
  182. package/dist/src/config/extension-manager-hydration.test.js +0 -262
  183. package/dist/src/config/extension-manager-hydration.test.js.map +0 -1
  184. package/dist/src/config/extension-manager-permissions.test.d.ts +0 -6
  185. package/dist/src/config/extension-manager-permissions.test.js +0 -107
  186. package/dist/src/config/extension-manager-permissions.test.js.map +0 -1
  187. package/dist/src/config/extension-manager-scope.test.d.ts +0 -6
  188. package/dist/src/config/extension-manager-scope.test.js +0 -158
  189. package/dist/src/config/extension-manager-scope.test.js.map +0 -1
  190. package/dist/src/config/extension-manager-skills.test.d.ts +0 -6
  191. package/dist/src/config/extension-manager-skills.test.js +0 -157
  192. package/dist/src/config/extension-manager-skills.test.js.map +0 -1
  193. package/dist/src/config/extension-manager.test.d.ts +0 -6
  194. package/dist/src/config/extension-manager.test.js +0 -430
  195. package/dist/src/config/extension-manager.test.js.map +0 -1
  196. package/dist/src/config/extension.test.d.ts +0 -6
  197. package/dist/src/config/extension.test.js +0 -1800
  198. package/dist/src/config/extension.test.js.map +0 -1
  199. package/dist/src/config/extensionRegistryClient.test.d.ts +0 -6
  200. package/dist/src/config/extensionRegistryClient.test.js +0 -261
  201. package/dist/src/config/extensionRegistryClient.test.js.map +0 -1
  202. package/dist/src/config/extensions/consent.test.d.ts +0 -6
  203. package/dist/src/config/extensions/consent.test.js +0 -302
  204. package/dist/src/config/extensions/consent.test.js.map +0 -1
  205. package/dist/src/config/extensions/extensionEnablement.test.d.ts +0 -6
  206. package/dist/src/config/extensions/extensionEnablement.test.js +0 -404
  207. package/dist/src/config/extensions/extensionEnablement.test.js.map +0 -1
  208. package/dist/src/config/extensions/extensionSettings.test.d.ts +0 -6
  209. package/dist/src/config/extensions/extensionSettings.test.js +0 -575
  210. package/dist/src/config/extensions/extensionSettings.test.js.map +0 -1
  211. package/dist/src/config/extensions/extensionUpdates.test.d.ts +0 -6
  212. package/dist/src/config/extensions/extensionUpdates.test.js +0 -265
  213. package/dist/src/config/extensions/extensionUpdates.test.js.map +0 -1
  214. package/dist/src/config/extensions/github.test.d.ts +0 -6
  215. package/dist/src/config/extensions/github.test.js +0 -454
  216. package/dist/src/config/extensions/github.test.js.map +0 -1
  217. package/dist/src/config/extensions/github_fetch.test.d.ts +0 -6
  218. package/dist/src/config/extensions/github_fetch.test.js +0 -171
  219. package/dist/src/config/extensions/github_fetch.test.js.map +0 -1
  220. package/dist/src/config/extensions/storage.test.d.ts +0 -6
  221. package/dist/src/config/extensions/storage.test.js +0 -64
  222. package/dist/src/config/extensions/storage.test.js.map +0 -1
  223. package/dist/src/config/extensions/update.test.d.ts +0 -6
  224. package/dist/src/config/extensions/update.test.js +0 -296
  225. package/dist/src/config/extensions/update.test.js.map +0 -1
  226. package/dist/src/config/extensions/variables.test.d.ts +0 -6
  227. package/dist/src/config/extensions/variables.test.js +0 -119
  228. package/dist/src/config/extensions/variables.test.js.map +0 -1
  229. package/dist/src/config/footerItems.test.d.ts +0 -6
  230. package/dist/src/config/footerItems.test.js +0 -180
  231. package/dist/src/config/footerItems.test.js.map +0 -1
  232. package/dist/src/config/mcp/mcpServerEnablement.test.d.ts +0 -6
  233. package/dist/src/config/mcp/mcpServerEnablement.test.js +0 -148
  234. package/dist/src/config/mcp/mcpServerEnablement.test.js.map +0 -1
  235. package/dist/src/config/mutual-exclusivity.test.d.ts +0 -6
  236. package/dist/src/config/mutual-exclusivity.test.js +0 -33
  237. package/dist/src/config/mutual-exclusivity.test.js.map +0 -1
  238. package/dist/src/config/policy-engine.integration.test.d.ts +0 -6
  239. package/dist/src/config/policy-engine.integration.test.js +0 -394
  240. package/dist/src/config/policy-engine.integration.test.js.map +0 -1
  241. package/dist/src/config/policy.test.d.ts +0 -6
  242. package/dist/src/config/policy.test.js +0 -199
  243. package/dist/src/config/policy.test.js.map +0 -1
  244. package/dist/src/config/sandboxConfig.test.d.ts +0 -6
  245. package/dist/src/config/sandboxConfig.test.js +0 -401
  246. package/dist/src/config/sandboxConfig.test.js.map +0 -1
  247. package/dist/src/config/settingPaths.test.d.ts +0 -6
  248. package/dist/src/config/settingPaths.test.js +0 -22
  249. package/dist/src/config/settingPaths.test.js.map +0 -1
  250. package/dist/src/config/settings-env-isolation.test.d.ts +0 -6
  251. package/dist/src/config/settings-env-isolation.test.js +0 -188
  252. package/dist/src/config/settings-env-isolation.test.js.map +0 -1
  253. package/dist/src/config/settings-validation.test.d.ts +0 -6
  254. package/dist/src/config/settings-validation.test.js +0 -464
  255. package/dist/src/config/settings-validation.test.js.map +0 -1
  256. package/dist/src/config/settings.test.d.ts +0 -6
  257. package/dist/src/config/settings.test.js +0 -2660
  258. package/dist/src/config/settings.test.js.map +0 -1
  259. package/dist/src/config/settingsSchema.test.d.ts +0 -6
  260. package/dist/src/config/settingsSchema.test.js +0 -450
  261. package/dist/src/config/settingsSchema.test.js.map +0 -1
  262. package/dist/src/config/settings_repro.test.d.ts +0 -6
  263. package/dist/src/config/settings_repro.test.js +0 -163
  264. package/dist/src/config/settings_repro.test.js.map +0 -1
  265. package/dist/src/config/settings_validation_warning.test.d.ts +0 -6
  266. package/dist/src/config/settings_validation_warning.test.js +0 -124
  267. package/dist/src/config/settings_validation_warning.test.js.map +0 -1
  268. package/dist/src/config/skipExtensions.test.d.ts +0 -6
  269. package/dist/src/config/skipExtensions.test.js +0 -49
  270. package/dist/src/config/skipExtensions.test.js.map +0 -1
  271. package/dist/src/config/trustedFolders.test.d.ts +0 -6
  272. package/dist/src/config/trustedFolders.test.js +0 -411
  273. package/dist/src/config/trustedFolders.test.js.map +0 -1
  274. package/dist/src/config/workspace-policy-cli.test.d.ts +0 -6
  275. package/dist/src/config/workspace-policy-cli.test.js +0 -204
  276. package/dist/src/config/workspace-policy-cli.test.js.map +0 -1
  277. package/dist/src/core/auth.test.d.ts +0 -6
  278. package/dist/src/core/auth.test.js +0 -93
  279. package/dist/src/core/auth.test.js.map +0 -1
  280. package/dist/src/core/initializer.test.d.ts +0 -6
  281. package/dist/src/core/initializer.test.js +0 -111
  282. package/dist/src/core/initializer.test.js.map +0 -1
  283. package/dist/src/core/theme.test.d.ts +0 -6
  284. package/dist/src/core/theme.test.js +0 -46
  285. package/dist/src/core/theme.test.js.map +0 -1
  286. package/dist/src/deferred.test.d.ts +0 -6
  287. package/dist/src/deferred.test.js +0 -180
  288. package/dist/src/deferred.test.js.map +0 -1
  289. package/dist/src/gemini.test.d.ts +0 -6
  290. package/dist/src/gemini.test.js +0 -1432
  291. package/dist/src/gemini.test.js.map +0 -1
  292. package/dist/src/gemini_cleanup.test.d.ts +0 -6
  293. package/dist/src/gemini_cleanup.test.js +0 -391
  294. package/dist/src/gemini_cleanup.test.js.map +0 -1
  295. package/dist/src/integration-tests/modelSteering.test.d.ts +0 -6
  296. package/dist/src/integration-tests/modelSteering.test.js +0 -62
  297. package/dist/src/integration-tests/modelSteering.test.js.map +0 -1
  298. package/dist/src/nonInteractiveCli.test.d.ts +0 -6
  299. package/dist/src/nonInteractiveCli.test.js +0 -1921
  300. package/dist/src/nonInteractiveCli.test.js.map +0 -1
  301. package/dist/src/nonInteractiveCliAgentSession.test.d.ts +0 -6
  302. package/dist/src/nonInteractiveCliAgentSession.test.js +0 -2015
  303. package/dist/src/nonInteractiveCliAgentSession.test.js.map +0 -1
  304. package/dist/src/output-redirection.test.d.ts +0 -6
  305. package/dist/src/output-redirection.test.js +0 -77
  306. package/dist/src/output-redirection.test.js.map +0 -1
  307. package/dist/src/services/BuiltinCommandLoader.test.d.ts +0 -6
  308. package/dist/src/services/BuiltinCommandLoader.test.js +0 -369
  309. package/dist/src/services/BuiltinCommandLoader.test.js.map +0 -1
  310. package/dist/src/services/CommandService.test.d.ts +0 -6
  311. package/dist/src/services/CommandService.test.js +0 -74
  312. package/dist/src/services/CommandService.test.js.map +0 -1
  313. package/dist/src/services/FileCommandLoader.test.d.ts +0 -6
  314. package/dist/src/services/FileCommandLoader.test.js +0 -1128
  315. package/dist/src/services/FileCommandLoader.test.js.map +0 -1
  316. package/dist/src/services/McpPromptLoader.test.d.ts +0 -6
  317. package/dist/src/services/McpPromptLoader.test.js +0 -411
  318. package/dist/src/services/McpPromptLoader.test.js.map +0 -1
  319. package/dist/src/services/SkillCommandLoader.test.d.ts +0 -6
  320. package/dist/src/services/SkillCommandLoader.test.js +0 -113
  321. package/dist/src/services/SkillCommandLoader.test.js.map +0 -1
  322. package/dist/src/services/SlashCommandConflictHandler.test.d.ts +0 -6
  323. package/dist/src/services/SlashCommandConflictHandler.test.js +0 -144
  324. package/dist/src/services/SlashCommandConflictHandler.test.js.map +0 -1
  325. package/dist/src/services/SlashCommandResolver.test.d.ts +0 -6
  326. package/dist/src/services/SlashCommandResolver.test.js +0 -186
  327. package/dist/src/services/SlashCommandResolver.test.js.map +0 -1
  328. package/dist/src/services/liteRtServerManager.test.d.ts +0 -6
  329. package/dist/src/services/liteRtServerManager.test.js +0 -54
  330. package/dist/src/services/liteRtServerManager.test.js.map +0 -1
  331. package/dist/src/services/prompt-processors/argumentProcessor.test.d.ts +0 -6
  332. package/dist/src/services/prompt-processors/argumentProcessor.test.js +0 -40
  333. package/dist/src/services/prompt-processors/argumentProcessor.test.js.map +0 -1
  334. package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +0 -6
  335. package/dist/src/services/prompt-processors/atFileProcessor.test.js +0 -177
  336. package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +0 -1
  337. package/dist/src/services/prompt-processors/injectionParser.test.d.ts +0 -6
  338. package/dist/src/services/prompt-processors/injectionParser.test.js +0 -189
  339. package/dist/src/services/prompt-processors/injectionParser.test.js.map +0 -1
  340. package/dist/src/services/prompt-processors/shellProcessor.test.d.ts +0 -6
  341. package/dist/src/services/prompt-processors/shellProcessor.test.js +0 -525
  342. package/dist/src/services/prompt-processors/shellProcessor.test.js.map +0 -1
  343. package/dist/src/test-utils/AppRig.test.d.ts +0 -6
  344. package/dist/src/test-utils/AppRig.test.js +0 -60
  345. package/dist/src/test-utils/AppRig.test.js.map +0 -1
  346. package/dist/src/test-utils/mockCommandContext.test.d.ts +0 -6
  347. package/dist/src/test-utils/mockCommandContext.test.js +0 -51
  348. package/dist/src/test-utils/mockCommandContext.test.js.map +0 -1
  349. package/dist/src/test-utils/render.test.d.ts +0 -6
  350. package/dist/src/test-utils/render.test.js +0 -84
  351. package/dist/src/test-utils/render.test.js.map +0 -1
  352. package/dist/src/ui/App.test.d.ts +0 -6
  353. package/dist/src/ui/App.test.js +0 -244
  354. package/dist/src/ui/App.test.js.map +0 -1
  355. package/dist/src/ui/AppContainer.test.d.ts +0 -6
  356. package/dist/src/ui/AppContainer.test.js +0 -2824
  357. package/dist/src/ui/AppContainer.test.js.map +0 -1
  358. package/dist/src/ui/IdeIntegrationNudge.test.d.ts +0 -6
  359. package/dist/src/ui/IdeIntegrationNudge.test.js +0 -149
  360. package/dist/src/ui/IdeIntegrationNudge.test.js.map +0 -1
  361. package/dist/src/ui/ToolConfirmationFullFrame.test.d.ts +0 -1
  362. package/dist/src/ui/ToolConfirmationFullFrame.test.js +0 -153
  363. package/dist/src/ui/ToolConfirmationFullFrame.test.js.map +0 -1
  364. package/dist/src/ui/auth/ApiAuthDialog.test.d.ts +0 -6
  365. package/dist/src/ui/auth/ApiAuthDialog.test.js +0 -127
  366. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +0 -1
  367. package/dist/src/ui/auth/AuthDialog.test.d.ts +0 -6
  368. package/dist/src/ui/auth/AuthDialog.test.js +0 -350
  369. package/dist/src/ui/auth/AuthDialog.test.js.map +0 -1
  370. package/dist/src/ui/auth/AuthInProgress.test.d.ts +0 -6
  371. package/dist/src/ui/auth/AuthInProgress.test.js +0 -99
  372. package/dist/src/ui/auth/AuthInProgress.test.js.map +0 -1
  373. package/dist/src/ui/auth/BannedAccountDialog.test.d.ts +0 -6
  374. package/dist/src/ui/auth/BannedAccountDialog.test.js +0 -141
  375. package/dist/src/ui/auth/BannedAccountDialog.test.js.map +0 -1
  376. package/dist/src/ui/auth/LoginRestartDialog.test.d.ts +0 -6
  377. package/dist/src/ui/auth/LoginRestartDialog.test.js +0 -79
  378. package/dist/src/ui/auth/LoginRestartDialog.test.js.map +0 -1
  379. package/dist/src/ui/auth/useAuth.test.d.ts +0 -6
  380. package/dist/src/ui/auth/useAuth.test.js +0 -214
  381. package/dist/src/ui/auth/useAuth.test.js.map +0 -1
  382. package/dist/src/ui/commands/aboutCommand.test.d.ts +0 -6
  383. package/dist/src/ui/commands/aboutCommand.test.js +0 -145
  384. package/dist/src/ui/commands/aboutCommand.test.js.map +0 -1
  385. package/dist/src/ui/commands/agentsCommand.test.d.ts +0 -6
  386. package/dist/src/ui/commands/agentsCommand.test.js +0 -382
  387. package/dist/src/ui/commands/agentsCommand.test.js.map +0 -1
  388. package/dist/src/ui/commands/authCommand.test.d.ts +0 -6
  389. package/dist/src/ui/commands/authCommand.test.js +0 -103
  390. package/dist/src/ui/commands/authCommand.test.js.map +0 -1
  391. package/dist/src/ui/commands/bugCommand.test.d.ts +0 -6
  392. package/dist/src/ui/commands/bugCommand.test.js +0 -305
  393. package/dist/src/ui/commands/bugCommand.test.js.map +0 -1
  394. package/dist/src/ui/commands/bugMemoryCommand.test.d.ts +0 -6
  395. package/dist/src/ui/commands/bugMemoryCommand.test.js +0 -100
  396. package/dist/src/ui/commands/bugMemoryCommand.test.js.map +0 -1
  397. package/dist/src/ui/commands/chatCommand.test.d.ts +0 -6
  398. package/dist/src/ui/commands/chatCommand.test.js +0 -627
  399. package/dist/src/ui/commands/chatCommand.test.js.map +0 -1
  400. package/dist/src/ui/commands/clearCommand.test.d.ts +0 -6
  401. package/dist/src/ui/commands/clearCommand.test.js +0 -98
  402. package/dist/src/ui/commands/clearCommand.test.js.map +0 -1
  403. package/dist/src/ui/commands/commandsCommand.test.d.ts +0 -6
  404. package/dist/src/ui/commands/commandsCommand.test.js +0 -115
  405. package/dist/src/ui/commands/commandsCommand.test.js.map +0 -1
  406. package/dist/src/ui/commands/compressCommand.test.d.ts +0 -6
  407. package/dist/src/ui/commands/compressCommand.test.js +0 -110
  408. package/dist/src/ui/commands/compressCommand.test.js.map +0 -1
  409. package/dist/src/ui/commands/copyCommand.test.d.ts +0 -6
  410. package/dist/src/ui/commands/copyCommand.test.js +0 -244
  411. package/dist/src/ui/commands/copyCommand.test.js.map +0 -1
  412. package/dist/src/ui/commands/corgiCommand.test.d.ts +0 -6
  413. package/dist/src/ui/commands/corgiCommand.test.js +0 -28
  414. package/dist/src/ui/commands/corgiCommand.test.js.map +0 -1
  415. package/dist/src/ui/commands/directoryCommand.test.d.ts +0 -6
  416. package/dist/src/ui/commands/directoryCommand.test.js +0 -365
  417. package/dist/src/ui/commands/directoryCommand.test.js.map +0 -1
  418. package/dist/src/ui/commands/docsCommand.test.d.ts +0 -6
  419. package/dist/src/ui/commands/docsCommand.test.js +0 -72
  420. package/dist/src/ui/commands/docsCommand.test.js.map +0 -1
  421. package/dist/src/ui/commands/editorCommand.test.d.ts +0 -6
  422. package/dist/src/ui/commands/editorCommand.test.js +0 -27
  423. package/dist/src/ui/commands/editorCommand.test.js.map +0 -1
  424. package/dist/src/ui/commands/exportSessionCommand.test.d.ts +0 -6
  425. package/dist/src/ui/commands/exportSessionCommand.test.js +0 -100
  426. package/dist/src/ui/commands/exportSessionCommand.test.js.map +0 -1
  427. package/dist/src/ui/commands/extensionsCommand.test.d.ts +0 -6
  428. package/dist/src/ui/commands/extensionsCommand.test.js +0 -947
  429. package/dist/src/ui/commands/extensionsCommand.test.js.map +0 -1
  430. package/dist/src/ui/commands/helpCommand.test.d.ts +0 -6
  431. package/dist/src/ui/commands/helpCommand.test.js +0 -94
  432. package/dist/src/ui/commands/helpCommand.test.js.map +0 -1
  433. package/dist/src/ui/commands/hooksCommand.test.d.ts +0 -6
  434. package/dist/src/ui/commands/hooksCommand.test.js +0 -562
  435. package/dist/src/ui/commands/hooksCommand.test.js.map +0 -1
  436. package/dist/src/ui/commands/ideCommand.test.d.ts +0 -6
  437. package/dist/src/ui/commands/ideCommand.test.js +0 -205
  438. package/dist/src/ui/commands/ideCommand.test.js.map +0 -1
  439. package/dist/src/ui/commands/initCommand.test.d.ts +0 -6
  440. package/dist/src/ui/commands/initCommand.test.js +0 -86
  441. package/dist/src/ui/commands/initCommand.test.js.map +0 -1
  442. package/dist/src/ui/commands/mcpCommand.test.d.ts +0 -6
  443. package/dist/src/ui/commands/mcpCommand.test.js +0 -231
  444. package/dist/src/ui/commands/mcpCommand.test.js.map +0 -1
  445. package/dist/src/ui/commands/memoryCommand.test.d.ts +0 -6
  446. package/dist/src/ui/commands/memoryCommand.test.js +0 -361
  447. package/dist/src/ui/commands/memoryCommand.test.js.map +0 -1
  448. package/dist/src/ui/commands/modelCommand.test.d.ts +0 -6
  449. package/dist/src/ui/commands/modelCommand.test.js +0 -135
  450. package/dist/src/ui/commands/modelCommand.test.js.map +0 -1
  451. package/dist/src/ui/commands/permissionsCommand.test.d.ts +0 -6
  452. package/dist/src/ui/commands/permissionsCommand.test.js +0 -86
  453. package/dist/src/ui/commands/permissionsCommand.test.js.map +0 -1
  454. package/dist/src/ui/commands/planCommand.test.d.ts +0 -6
  455. package/dist/src/ui/commands/planCommand.test.js +0 -146
  456. package/dist/src/ui/commands/planCommand.test.js.map +0 -1
  457. package/dist/src/ui/commands/policiesCommand.test.d.ts +0 -6
  458. package/dist/src/ui/commands/policiesCommand.test.js +0 -133
  459. package/dist/src/ui/commands/policiesCommand.test.js.map +0 -1
  460. package/dist/src/ui/commands/privacyCommand.test.d.ts +0 -6
  461. package/dist/src/ui/commands/privacyCommand.test.js +0 -32
  462. package/dist/src/ui/commands/privacyCommand.test.js.map +0 -1
  463. package/dist/src/ui/commands/quitCommand.test.d.ts +0 -6
  464. package/dist/src/ui/commands/quitCommand.test.js +0 -95
  465. package/dist/src/ui/commands/quitCommand.test.js.map +0 -1
  466. package/dist/src/ui/commands/restoreCommand.test.d.ts +0 -6
  467. package/dist/src/ui/commands/restoreCommand.test.js +0 -193
  468. package/dist/src/ui/commands/restoreCommand.test.js.map +0 -1
  469. package/dist/src/ui/commands/resumeCommand.test.d.ts +0 -6
  470. package/dist/src/ui/commands/resumeCommand.test.js +0 -28
  471. package/dist/src/ui/commands/resumeCommand.test.js.map +0 -1
  472. package/dist/src/ui/commands/rewindCommand.test.d.ts +0 -6
  473. package/dist/src/ui/commands/rewindCommand.test.js +0 -256
  474. package/dist/src/ui/commands/rewindCommand.test.js.map +0 -1
  475. package/dist/src/ui/commands/settingsCommand.test.d.ts +0 -6
  476. package/dist/src/ui/commands/settingsCommand.test.js +0 -30
  477. package/dist/src/ui/commands/settingsCommand.test.js.map +0 -1
  478. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +0 -6
  479. package/dist/src/ui/commands/setupGithubCommand.test.js +0 -238
  480. package/dist/src/ui/commands/setupGithubCommand.test.js.map +0 -1
  481. package/dist/src/ui/commands/skillsCommand.test.d.ts +0 -6
  482. package/dist/src/ui/commands/skillsCommand.test.js +0 -500
  483. package/dist/src/ui/commands/skillsCommand.test.js.map +0 -1
  484. package/dist/src/ui/commands/statsCommand.test.d.ts +0 -6
  485. package/dist/src/ui/commands/statsCommand.test.js +0 -122
  486. package/dist/src/ui/commands/statsCommand.test.js.map +0 -1
  487. package/dist/src/ui/commands/tasksCommand.test.d.ts +0 -6
  488. package/dist/src/ui/commands/tasksCommand.test.js +0 -30
  489. package/dist/src/ui/commands/tasksCommand.test.js.map +0 -1
  490. package/dist/src/ui/commands/terminalSetupCommand.test.d.ts +0 -6
  491. package/dist/src/ui/commands/terminalSetupCommand.test.js +0 -66
  492. package/dist/src/ui/commands/terminalSetupCommand.test.js.map +0 -1
  493. package/dist/src/ui/commands/themeCommand.test.d.ts +0 -6
  494. package/dist/src/ui/commands/themeCommand.test.js +0 -32
  495. package/dist/src/ui/commands/themeCommand.test.js.map +0 -1
  496. package/dist/src/ui/commands/toolsCommand.test.d.ts +0 -6
  497. package/dist/src/ui/commands/toolsCommand.test.js +0 -187
  498. package/dist/src/ui/commands/toolsCommand.test.js.map +0 -1
  499. package/dist/src/ui/commands/upgradeCommand.test.d.ts +0 -6
  500. package/dist/src/ui/commands/upgradeCommand.test.js +0 -102
  501. package/dist/src/ui/commands/upgradeCommand.test.js.map +0 -1
  502. package/dist/src/ui/components/AboutBox.test.d.ts +0 -6
  503. package/dist/src/ui/components/AboutBox.test.js +0 -63
  504. package/dist/src/ui/components/AboutBox.test.js.map +0 -1
  505. package/dist/src/ui/components/AdminSettingsChangedDialog.test.d.ts +0 -6
  506. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +0 -43
  507. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +0 -1
  508. package/dist/src/ui/components/AgentConfigDialog.test.d.ts +0 -6
  509. package/dist/src/ui/components/AgentConfigDialog.test.js +0 -267
  510. package/dist/src/ui/components/AgentConfigDialog.test.js.map +0 -1
  511. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.d.ts +0 -6
  512. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +0 -196
  513. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +0 -1
  514. package/dist/src/ui/components/AnsiOutput.test.d.ts +0 -6
  515. package/dist/src/ui/components/AnsiOutput.test.js +0 -142
  516. package/dist/src/ui/components/AnsiOutput.test.js.map +0 -1
  517. package/dist/src/ui/components/AppHeader.test.d.ts +0 -6
  518. package/dist/src/ui/components/AppHeader.test.js +0 -212
  519. package/dist/src/ui/components/AppHeader.test.js.map +0 -1
  520. package/dist/src/ui/components/AppHeaderIcon.test.d.ts +0 -6
  521. package/dist/src/ui/components/AppHeaderIcon.test.js +0 -39
  522. package/dist/src/ui/components/AppHeaderIcon.test.js.map +0 -1
  523. package/dist/src/ui/components/ApprovalModeIndicator.test.d.ts +0 -6
  524. package/dist/src/ui/components/ApprovalModeIndicator.test.js +0 -37
  525. package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +0 -1
  526. package/dist/src/ui/components/AskUserDialog.test.d.ts +0 -6
  527. package/dist/src/ui/components/AskUserDialog.test.js +0 -1121
  528. package/dist/src/ui/components/AskUserDialog.test.js.map +0 -1
  529. package/dist/src/ui/components/BackgroundTaskDisplay.test.d.ts +0 -6
  530. package/dist/src/ui/components/BackgroundTaskDisplay.test.js +0 -209
  531. package/dist/src/ui/components/BackgroundTaskDisplay.test.js.map +0 -1
  532. package/dist/src/ui/components/Banner.test.d.ts +0 -6
  533. package/dist/src/ui/components/Banner.test.js +0 -29
  534. package/dist/src/ui/components/Banner.test.js.map +0 -1
  535. package/dist/src/ui/components/BubblingRegression.test.d.ts +0 -6
  536. package/dist/src/ui/components/BubblingRegression.test.js +0 -60
  537. package/dist/src/ui/components/BubblingRegression.test.js.map +0 -1
  538. package/dist/src/ui/components/Checklist.test.d.ts +0 -6
  539. package/dist/src/ui/components/Checklist.test.js +0 -46
  540. package/dist/src/ui/components/Checklist.test.js.map +0 -1
  541. package/dist/src/ui/components/ChecklistItem.test.d.ts +0 -6
  542. package/dist/src/ui/components/ChecklistItem.test.js +0 -40
  543. package/dist/src/ui/components/ChecklistItem.test.js.map +0 -1
  544. package/dist/src/ui/components/CliSpinner.test.d.ts +0 -6
  545. package/dist/src/ui/components/CliSpinner.test.js +0 -32
  546. package/dist/src/ui/components/CliSpinner.test.js.map +0 -1
  547. package/dist/src/ui/components/ColorsDisplay.test.d.ts +0 -6
  548. package/dist/src/ui/components/ColorsDisplay.test.js +0 -107
  549. package/dist/src/ui/components/ColorsDisplay.test.js.map +0 -1
  550. package/dist/src/ui/components/Composer.test.d.ts +0 -6
  551. package/dist/src/ui/components/Composer.test.js +0 -853
  552. package/dist/src/ui/components/Composer.test.js.map +0 -1
  553. package/dist/src/ui/components/ConfigInitDisplay.test.d.ts +0 -6
  554. package/dist/src/ui/components/ConfigInitDisplay.test.js +0 -118
  555. package/dist/src/ui/components/ConfigInitDisplay.test.js.map +0 -1
  556. package/dist/src/ui/components/ConsentPrompt.test.d.ts +0 -6
  557. package/dist/src/ui/components/ConsentPrompt.test.js +0 -80
  558. package/dist/src/ui/components/ConsentPrompt.test.js.map +0 -1
  559. package/dist/src/ui/components/ConsoleSummaryDisplay.test.d.ts +0 -6
  560. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js +0 -28
  561. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js.map +0 -1
  562. package/dist/src/ui/components/ContextSummaryDisplay.test.d.ts +0 -6
  563. package/dist/src/ui/components/ContextSummaryDisplay.test.js +0 -81
  564. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +0 -1
  565. package/dist/src/ui/components/ContextUsageDisplay.test.d.ts +0 -6
  566. package/dist/src/ui/components/ContextUsageDisplay.test.js +0 -50
  567. package/dist/src/ui/components/ContextUsageDisplay.test.js.map +0 -1
  568. package/dist/src/ui/components/CopyModeWarning.test.d.ts +0 -6
  569. package/dist/src/ui/components/CopyModeWarning.test.js +0 -35
  570. package/dist/src/ui/components/CopyModeWarning.test.js.map +0 -1
  571. package/dist/src/ui/components/DebugProfiler.test.d.ts +0 -6
  572. package/dist/src/ui/components/DebugProfiler.test.js +0 -228
  573. package/dist/src/ui/components/DebugProfiler.test.js.map +0 -1
  574. package/dist/src/ui/components/DetailedMessagesDisplay.test.d.ts +0 -6
  575. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +0 -81
  576. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +0 -1
  577. package/dist/src/ui/components/DialogManager.test.d.ts +0 -6
  578. package/dist/src/ui/components/DialogManager.test.js +0 -187
  579. package/dist/src/ui/components/DialogManager.test.js.map +0 -1
  580. package/dist/src/ui/components/EditorSettingsDialog.test.d.ts +0 -6
  581. package/dist/src/ui/components/EditorSettingsDialog.test.js +0 -145
  582. package/dist/src/ui/components/EditorSettingsDialog.test.js.map +0 -1
  583. package/dist/src/ui/components/EmptyWalletDialog.test.d.ts +0 -6
  584. package/dist/src/ui/components/EmptyWalletDialog.test.js +0 -116
  585. package/dist/src/ui/components/EmptyWalletDialog.test.js.map +0 -1
  586. package/dist/src/ui/components/ExitPlanModeDialog.test.d.ts +0 -6
  587. package/dist/src/ui/components/ExitPlanModeDialog.test.js +0 -443
  588. package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +0 -1
  589. package/dist/src/ui/components/ExitWarning.test.d.ts +0 -6
  590. package/dist/src/ui/components/ExitWarning.test.js +0 -58
  591. package/dist/src/ui/components/ExitWarning.test.js.map +0 -1
  592. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +0 -6
  593. package/dist/src/ui/components/FolderTrustDialog.test.js +0 -342
  594. package/dist/src/ui/components/FolderTrustDialog.test.js.map +0 -1
  595. package/dist/src/ui/components/Footer.test.d.ts +0 -6
  596. package/dist/src/ui/components/Footer.test.js +0 -806
  597. package/dist/src/ui/components/Footer.test.js.map +0 -1
  598. package/dist/src/ui/components/FooterConfigDialog.test.d.ts +0 -6
  599. package/dist/src/ui/components/FooterConfigDialog.test.js +0 -191
  600. package/dist/src/ui/components/FooterConfigDialog.test.js.map +0 -1
  601. package/dist/src/ui/components/GeminiRespondingSpinner.test.d.ts +0 -6
  602. package/dist/src/ui/components/GeminiRespondingSpinner.test.js +0 -63
  603. package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +0 -1
  604. package/dist/src/ui/components/GradientRegression.test.d.ts +0 -6
  605. package/dist/src/ui/components/GradientRegression.test.js +0 -116
  606. package/dist/src/ui/components/GradientRegression.test.js.map +0 -1
  607. package/dist/src/ui/components/Header.test.d.ts +0 -6
  608. package/dist/src/ui/components/Header.test.js +0 -131
  609. package/dist/src/ui/components/Header.test.js.map +0 -1
  610. package/dist/src/ui/components/Help.test.d.ts +0 -6
  611. package/dist/src/ui/components/Help.test.js +0 -67
  612. package/dist/src/ui/components/Help.test.js.map +0 -1
  613. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +0 -6
  614. package/dist/src/ui/components/HistoryItemDisplay.test.js +0 -302
  615. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +0 -1
  616. package/dist/src/ui/components/HookStatusDisplay.test.d.ts +0 -6
  617. package/dist/src/ui/components/HookStatusDisplay.test.js +0 -77
  618. package/dist/src/ui/components/HookStatusDisplay.test.js.map +0 -1
  619. package/dist/src/ui/components/HooksDialog.test.d.ts +0 -6
  620. package/dist/src/ui/components/HooksDialog.test.js +0 -175
  621. package/dist/src/ui/components/HooksDialog.test.js.map +0 -1
  622. package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +0 -6
  623. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +0 -78
  624. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +0 -1
  625. package/dist/src/ui/components/InboxDialog.test.d.ts +0 -6
  626. package/dist/src/ui/components/InboxDialog.test.js +0 -804
  627. package/dist/src/ui/components/InboxDialog.test.js.map +0 -1
  628. package/dist/src/ui/components/InputPrompt.test.d.ts +0 -17
  629. package/dist/src/ui/components/InputPrompt.test.js +0 -4078
  630. package/dist/src/ui/components/InputPrompt.test.js.map +0 -1
  631. package/dist/src/ui/components/LoadingIndicator.test.d.ts +0 -6
  632. package/dist/src/ui/components/LoadingIndicator.test.js +0 -325
  633. package/dist/src/ui/components/LoadingIndicator.test.js.map +0 -1
  634. package/dist/src/ui/components/LogoutConfirmationDialog.test.d.ts +0 -6
  635. package/dist/src/ui/components/LogoutConfirmationDialog.test.js +0 -74
  636. package/dist/src/ui/components/LogoutConfirmationDialog.test.js.map +0 -1
  637. package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +0 -6
  638. package/dist/src/ui/components/LoopDetectionConfirmation.test.js +0 -27
  639. package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +0 -1
  640. package/dist/src/ui/components/MainContent.test.d.ts +0 -6
  641. package/dist/src/ui/components/MainContent.test.js +0 -750
  642. package/dist/src/ui/components/MainContent.test.js.map +0 -1
  643. package/dist/src/ui/components/MemoryUsageDisplay.test.d.ts +0 -6
  644. package/dist/src/ui/components/MemoryUsageDisplay.test.js +0 -52
  645. package/dist/src/ui/components/MemoryUsageDisplay.test.js.map +0 -1
  646. package/dist/src/ui/components/ModelDialog.test.d.ts +0 -6
  647. package/dist/src/ui/components/ModelDialog.test.js +0 -356
  648. package/dist/src/ui/components/ModelDialog.test.js.map +0 -1
  649. package/dist/src/ui/components/ModelQuotaDisplay.test.d.ts +0 -6
  650. package/dist/src/ui/components/ModelQuotaDisplay.test.js +0 -62
  651. package/dist/src/ui/components/ModelQuotaDisplay.test.js.map +0 -1
  652. package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +0 -6
  653. package/dist/src/ui/components/ModelStatsDisplay.test.js +0 -651
  654. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +0 -1
  655. package/dist/src/ui/components/MultiFolderTrustDialog.test.d.ts +0 -6
  656. package/dist/src/ui/components/MultiFolderTrustDialog.test.js +0 -177
  657. package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +0 -1
  658. package/dist/src/ui/components/NewAgentsNotification.test.d.ts +0 -6
  659. package/dist/src/ui/components/NewAgentsNotification.test.js +0 -83
  660. package/dist/src/ui/components/NewAgentsNotification.test.js.map +0 -1
  661. package/dist/src/ui/components/Notifications.test.d.ts +0 -6
  662. package/dist/src/ui/components/Notifications.test.js +0 -285
  663. package/dist/src/ui/components/Notifications.test.js.map +0 -1
  664. package/dist/src/ui/components/OverageMenuDialog.test.d.ts +0 -6
  665. package/dist/src/ui/components/OverageMenuDialog.test.js +0 -118
  666. package/dist/src/ui/components/OverageMenuDialog.test.js.map +0 -1
  667. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +0 -6
  668. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +0 -181
  669. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +0 -1
  670. package/dist/src/ui/components/PolicyUpdateDialog.test.d.ts +0 -6
  671. package/dist/src/ui/components/PolicyUpdateDialog.test.js +0 -92
  672. package/dist/src/ui/components/PolicyUpdateDialog.test.js.map +0 -1
  673. package/dist/src/ui/components/ProQuotaDialog.test.d.ts +0 -6
  674. package/dist/src/ui/components/ProQuotaDialog.test.js +0 -222
  675. package/dist/src/ui/components/ProQuotaDialog.test.js.map +0 -1
  676. package/dist/src/ui/components/ProgressBar.test.d.ts +0 -6
  677. package/dist/src/ui/components/ProgressBar.test.js +0 -28
  678. package/dist/src/ui/components/ProgressBar.test.js.map +0 -1
  679. package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +0 -6
  680. package/dist/src/ui/components/QueuedMessageDisplay.test.js +0 -65
  681. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +0 -1
  682. package/dist/src/ui/components/QuittingDisplay.test.d.ts +0 -6
  683. package/dist/src/ui/components/QuittingDisplay.test.js +0 -60
  684. package/dist/src/ui/components/QuittingDisplay.test.js.map +0 -1
  685. package/dist/src/ui/components/QuotaDisplay.test.d.ts +0 -6
  686. package/dist/src/ui/components/QuotaDisplay.test.js +0 -68
  687. package/dist/src/ui/components/QuotaDisplay.test.js.map +0 -1
  688. package/dist/src/ui/components/RawMarkdownIndicator.test.d.ts +0 -6
  689. package/dist/src/ui/components/RawMarkdownIndicator.test.js +0 -38
  690. package/dist/src/ui/components/RawMarkdownIndicator.test.js.map +0 -1
  691. package/dist/src/ui/components/RewindConfirmation.test.d.ts +0 -6
  692. package/dist/src/ui/components/RewindConfirmation.test.js +0 -57
  693. package/dist/src/ui/components/RewindConfirmation.test.js.map +0 -1
  694. package/dist/src/ui/components/RewindViewer.test.d.ts +0 -6
  695. package/dist/src/ui/components/RewindViewer.test.js +0 -334
  696. package/dist/src/ui/components/RewindViewer.test.js.map +0 -1
  697. package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.d.ts +0 -6
  698. package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.js +0 -47
  699. package/dist/src/ui/components/SessionBrowser/SessionBrowserSearchNav.test.js.map +0 -1
  700. package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.d.ts +0 -6
  701. package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.js +0 -27
  702. package/dist/src/ui/components/SessionBrowser/SessionBrowserStates.test.js.map +0 -1
  703. package/dist/src/ui/components/SessionBrowser/utils.test.d.ts +0 -6
  704. package/dist/src/ui/components/SessionBrowser/utils.test.js +0 -108
  705. package/dist/src/ui/components/SessionBrowser/utils.test.js.map +0 -1
  706. package/dist/src/ui/components/SessionBrowser.test.d.ts +0 -6
  707. package/dist/src/ui/components/SessionBrowser.test.js +0 -266
  708. package/dist/src/ui/components/SessionBrowser.test.js.map +0 -1
  709. package/dist/src/ui/components/SessionSummaryDisplay.test.d.ts +0 -6
  710. package/dist/src/ui/components/SessionSummaryDisplay.test.js +0 -164
  711. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +0 -1
  712. package/dist/src/ui/components/SettingsDialog.test.d.ts +0 -6
  713. package/dist/src/ui/components/SettingsDialog.test.js +0 -1499
  714. package/dist/src/ui/components/SettingsDialog.test.js.map +0 -1
  715. package/dist/src/ui/components/ShellInputPrompt.test.d.ts +0 -6
  716. package/dist/src/ui/components/ShellInputPrompt.test.js +0 -201
  717. package/dist/src/ui/components/ShellInputPrompt.test.js.map +0 -1
  718. package/dist/src/ui/components/ShellModeIndicator.test.d.ts +0 -6
  719. package/dist/src/ui/components/ShellModeIndicator.test.js +0 -18
  720. package/dist/src/ui/components/ShellModeIndicator.test.js.map +0 -1
  721. package/dist/src/ui/components/ShortcutsHelp.test.d.ts +0 -6
  722. package/dist/src/ui/components/ShortcutsHelp.test.js +0 -45
  723. package/dist/src/ui/components/ShortcutsHelp.test.js.map +0 -1
  724. package/dist/src/ui/components/ShowMoreLines.test.d.ts +0 -6
  725. package/dist/src/ui/components/ShowMoreLines.test.js +0 -79
  726. package/dist/src/ui/components/ShowMoreLines.test.js.map +0 -1
  727. package/dist/src/ui/components/ShowMoreLinesLayout.test.d.ts +0 -1
  728. package/dist/src/ui/components/ShowMoreLinesLayout.test.js +0 -68
  729. package/dist/src/ui/components/ShowMoreLinesLayout.test.js.map +0 -1
  730. package/dist/src/ui/components/StatsDisplay.test.d.ts +0 -6
  731. package/dist/src/ui/components/StatsDisplay.test.js +0 -489
  732. package/dist/src/ui/components/StatsDisplay.test.js.map +0 -1
  733. package/dist/src/ui/components/StatusDisplay.test.d.ts +0 -6
  734. package/dist/src/ui/components/StatusDisplay.test.js +0 -117
  735. package/dist/src/ui/components/StatusDisplay.test.js.map +0 -1
  736. package/dist/src/ui/components/StatusRow.test.d.ts +0 -6
  737. package/dist/src/ui/components/StatusRow.test.js +0 -99
  738. package/dist/src/ui/components/StatusRow.test.js.map +0 -1
  739. package/dist/src/ui/components/StickyHeader.test.d.ts +0 -6
  740. package/dist/src/ui/components/StickyHeader.test.js +0 -19
  741. package/dist/src/ui/components/StickyHeader.test.js.map +0 -1
  742. package/dist/src/ui/components/SuggestionsDisplay.test.d.ts +0 -6
  743. package/dist/src/ui/components/SuggestionsDisplay.test.js +0 -82
  744. package/dist/src/ui/components/SuggestionsDisplay.test.js.map +0 -1
  745. package/dist/src/ui/components/Table.test.d.ts +0 -6
  746. package/dist/src/ui/components/Table.test.js +0 -72
  747. package/dist/src/ui/components/Table.test.js.map +0 -1
  748. package/dist/src/ui/components/ThemeDialog.test.d.ts +0 -6
  749. package/dist/src/ui/components/ThemeDialog.test.js +0 -162
  750. package/dist/src/ui/components/ThemeDialog.test.js.map +0 -1
  751. package/dist/src/ui/components/ThemedGradient.test.d.ts +0 -6
  752. package/dist/src/ui/components/ThemedGradient.test.js +0 -35
  753. package/dist/src/ui/components/ThemedGradient.test.js.map +0 -1
  754. package/dist/src/ui/components/Tips.test.d.ts +0 -6
  755. package/dist/src/ui/components/Tips.test.js +0 -23
  756. package/dist/src/ui/components/Tips.test.js.map +0 -1
  757. package/dist/src/ui/components/ToastDisplay.test.d.ts +0 -6
  758. package/dist/src/ui/components/ToastDisplay.test.js +0 -167
  759. package/dist/src/ui/components/ToastDisplay.test.js.map +0 -1
  760. package/dist/src/ui/components/ToolConfirmationQueue.test.d.ts +0 -6
  761. package/dist/src/ui/components/ToolConfirmationQueue.test.js +0 -444
  762. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +0 -1
  763. package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +0 -6
  764. package/dist/src/ui/components/ToolStatsDisplay.test.js +0 -234
  765. package/dist/src/ui/components/ToolStatsDisplay.test.js.map +0 -1
  766. package/dist/src/ui/components/UpdateNotification.test.d.ts +0 -6
  767. package/dist/src/ui/components/UpdateNotification.test.js +0 -17
  768. package/dist/src/ui/components/UpdateNotification.test.js.map +0 -1
  769. package/dist/src/ui/components/UserIdentity.test.d.ts +0 -6
  770. package/dist/src/ui/components/UserIdentity.test.js +0 -138
  771. package/dist/src/ui/components/UserIdentity.test.js.map +0 -1
  772. package/dist/src/ui/components/ValidationDialog.test.d.ts +0 -6
  773. package/dist/src/ui/components/ValidationDialog.test.js +0 -162
  774. package/dist/src/ui/components/ValidationDialog.test.js.map +0 -1
  775. package/dist/src/ui/components/VoiceModelDialog.test.d.ts +0 -6
  776. package/dist/src/ui/components/VoiceModelDialog.test.js +0 -68
  777. package/dist/src/ui/components/VoiceModelDialog.test.js.map +0 -1
  778. package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +0 -6
  779. package/dist/src/ui/components/messages/CompressionMessage.test.js +0 -180
  780. package/dist/src/ui/components/messages/CompressionMessage.test.js.map +0 -1
  781. package/dist/src/ui/components/messages/DenseToolMessage.test.d.ts +0 -6
  782. package/dist/src/ui/components/messages/DenseToolMessage.test.js +0 -406
  783. package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +0 -1
  784. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +0 -6
  785. package/dist/src/ui/components/messages/DiffRenderer.test.js +0 -269
  786. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +0 -1
  787. package/dist/src/ui/components/messages/ErrorMessage.test.d.ts +0 -6
  788. package/dist/src/ui/components/messages/ErrorMessage.test.js +0 -25
  789. package/dist/src/ui/components/messages/ErrorMessage.test.js.map +0 -1
  790. package/dist/src/ui/components/messages/ExportSessionMessage.test.d.ts +0 -6
  791. package/dist/src/ui/components/messages/ExportSessionMessage.test.js +0 -32
  792. package/dist/src/ui/components/messages/ExportSessionMessage.test.js.map +0 -1
  793. package/dist/src/ui/components/messages/GeminiMessage.test.d.ts +0 -6
  794. package/dist/src/ui/components/messages/GeminiMessage.test.js +0 -46
  795. package/dist/src/ui/components/messages/GeminiMessage.test.js.map +0 -1
  796. package/dist/src/ui/components/messages/HintMessage.test.d.ts +0 -6
  797. package/dist/src/ui/components/messages/HintMessage.test.js +0 -42
  798. package/dist/src/ui/components/messages/HintMessage.test.js.map +0 -1
  799. package/dist/src/ui/components/messages/InfoMessage.test.d.ts +0 -6
  800. package/dist/src/ui/components/messages/InfoMessage.test.js +0 -31
  801. package/dist/src/ui/components/messages/InfoMessage.test.js.map +0 -1
  802. package/dist/src/ui/components/messages/RedirectionConfirmation.test.d.ts +0 -6
  803. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +0 -35
  804. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +0 -1
  805. package/dist/src/ui/components/messages/ShellToolMessage.test.d.ts +0 -6
  806. package/dist/src/ui/components/messages/ShellToolMessage.test.js +0 -290
  807. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +0 -1
  808. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.d.ts +0 -1
  809. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js +0 -92
  810. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js.map +0 -1
  811. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.d.ts +0 -6
  812. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js +0 -69
  813. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js.map +0 -1
  814. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.d.ts +0 -6
  815. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +0 -164
  816. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +0 -1
  817. package/dist/src/ui/components/messages/ThinkingMessage.test.d.ts +0 -6
  818. package/dist/src/ui/components/messages/ThinkingMessage.test.js +0 -104
  819. package/dist/src/ui/components/messages/ThinkingMessage.test.js.map +0 -1
  820. package/dist/src/ui/components/messages/Todo.test.d.ts +0 -6
  821. package/dist/src/ui/components/messages/Todo.test.js +0 -129
  822. package/dist/src/ui/components/messages/Todo.test.js.map +0 -1
  823. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +0 -6
  824. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -558
  825. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +0 -1
  826. package/dist/src/ui/components/messages/ToolGroupDisplay.test.d.ts +0 -6
  827. package/dist/src/ui/components/messages/ToolGroupDisplay.test.js +0 -210
  828. package/dist/src/ui/components/messages/ToolGroupDisplay.test.js.map +0 -1
  829. package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.d.ts +0 -6
  830. package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js +0 -147
  831. package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js.map +0 -1
  832. package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +0 -6
  833. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +0 -828
  834. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +0 -1
  835. package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.d.ts +0 -6
  836. package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js +0 -101
  837. package/dist/src/ui/components/messages/ToolGroupMessageRegression.test.js.map +0 -1
  838. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +0 -6
  839. package/dist/src/ui/components/messages/ToolMessage.test.js +0 -292
  840. package/dist/src/ui/components/messages/ToolMessage.test.js.map +0 -1
  841. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.d.ts +0 -6
  842. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +0 -96
  843. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +0 -1
  844. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.d.ts +0 -6
  845. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +0 -72
  846. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +0 -1
  847. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.d.ts +0 -6
  848. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js +0 -88
  849. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js.map +0 -1
  850. package/dist/src/ui/components/messages/ToolResultDisplay.test.d.ts +0 -6
  851. package/dist/src/ui/components/messages/ToolResultDisplay.test.js +0 -333
  852. package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +0 -1
  853. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.d.ts +0 -6
  854. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js +0 -77
  855. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js.map +0 -1
  856. package/dist/src/ui/components/messages/ToolShared.test.d.ts +0 -6
  857. package/dist/src/ui/components/messages/ToolShared.test.js +0 -65
  858. package/dist/src/ui/components/messages/ToolShared.test.js.map +0 -1
  859. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.d.ts +0 -6
  860. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +0 -142
  861. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +0 -1
  862. package/dist/src/ui/components/messages/TopicMessage.test.d.ts +0 -6
  863. package/dist/src/ui/components/messages/TopicMessage.test.js +0 -77
  864. package/dist/src/ui/components/messages/TopicMessage.test.js.map +0 -1
  865. package/dist/src/ui/components/messages/UserMessage.test.d.ts +0 -6
  866. package/dist/src/ui/components/messages/UserMessage.test.js +0 -67
  867. package/dist/src/ui/components/messages/UserMessage.test.js.map +0 -1
  868. package/dist/src/ui/components/messages/UserShellMessage.test.d.ts +0 -6
  869. package/dist/src/ui/components/messages/UserShellMessage.test.js +0 -40
  870. package/dist/src/ui/components/messages/UserShellMessage.test.js.map +0 -1
  871. package/dist/src/ui/components/messages/WarningMessage.test.d.ts +0 -6
  872. package/dist/src/ui/components/messages/WarningMessage.test.js +0 -25
  873. package/dist/src/ui/components/messages/WarningMessage.test.js.map +0 -1
  874. package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +0 -6
  875. package/dist/src/ui/components/shared/BaseSelectionList.test.js +0 -441
  876. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +0 -1
  877. package/dist/src/ui/components/shared/BaseSettingsDialog.test.d.ts +0 -6
  878. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +0 -710
  879. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +0 -1
  880. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +0 -6
  881. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +0 -89
  882. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +0 -1
  883. package/dist/src/ui/components/shared/EnumSelector.test.d.ts +0 -6
  884. package/dist/src/ui/components/shared/EnumSelector.test.js +0 -83
  885. package/dist/src/ui/components/shared/EnumSelector.test.js.map +0 -1
  886. package/dist/src/ui/components/shared/ExpandableText.test.d.ts +0 -6
  887. package/dist/src/ui/components/shared/ExpandableText.test.js +0 -95
  888. package/dist/src/ui/components/shared/ExpandableText.test.js.map +0 -1
  889. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.d.ts +0 -1
  890. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +0 -47
  891. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +0 -1
  892. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +0 -6
  893. package/dist/src/ui/components/shared/MaxSizedBox.test.js +0 -161
  894. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +0 -1
  895. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +0 -6
  896. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +0 -146
  897. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +0 -1
  898. package/dist/src/ui/components/shared/Scrollable.test.d.ts +0 -6
  899. package/dist/src/ui/components/shared/Scrollable.test.js +0 -143
  900. package/dist/src/ui/components/shared/Scrollable.test.js.map +0 -1
  901. package/dist/src/ui/components/shared/ScrollableList.test.d.ts +0 -6
  902. package/dist/src/ui/components/shared/ScrollableList.test.js +0 -438
  903. package/dist/src/ui/components/shared/ScrollableList.test.js.map +0 -1
  904. package/dist/src/ui/components/shared/SearchableList.test.d.ts +0 -6
  905. package/dist/src/ui/components/shared/SearchableList.test.js +0 -169
  906. package/dist/src/ui/components/shared/SearchableList.test.js.map +0 -1
  907. package/dist/src/ui/components/shared/SectionHeader.test.d.ts +0 -6
  908. package/dist/src/ui/components/shared/SectionHeader.test.js +0 -42
  909. package/dist/src/ui/components/shared/SectionHeader.test.js.map +0 -1
  910. package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.d.ts +0 -6
  911. package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.js +0 -54
  912. package/dist/src/ui/components/shared/SlicingMaxSizedBox.test.js.map +0 -1
  913. package/dist/src/ui/components/shared/TabHeader.test.d.ts +0 -6
  914. package/dist/src/ui/components/shared/TabHeader.test.js +0 -144
  915. package/dist/src/ui/components/shared/TabHeader.test.js.map +0 -1
  916. package/dist/src/ui/components/shared/TextInput.test.d.ts +0 -6
  917. package/dist/src/ui/components/shared/TextInput.test.js +0 -353
  918. package/dist/src/ui/components/shared/TextInput.test.js.map +0 -1
  919. package/dist/src/ui/components/shared/VirtualizedList.test.d.ts +0 -6
  920. package/dist/src/ui/components/shared/VirtualizedList.test.js +0 -174
  921. package/dist/src/ui/components/shared/VirtualizedList.test.js.map +0 -1
  922. package/dist/src/ui/components/shared/performance.test.d.ts +0 -1
  923. package/dist/src/ui/components/shared/performance.test.js +0 -74
  924. package/dist/src/ui/components/shared/performance.test.js.map +0 -1
  925. package/dist/src/ui/components/shared/text-buffer.test.d.ts +0 -6
  926. package/dist/src/ui/components/shared/text-buffer.test.js +0 -2965
  927. package/dist/src/ui/components/shared/text-buffer.test.js.map +0 -1
  928. package/dist/src/ui/components/shared/vim-buffer-actions.test.d.ts +0 -6
  929. package/dist/src/ui/components/shared/vim-buffer-actions.test.js +0 -2272
  930. package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +0 -1
  931. package/dist/src/ui/components/views/ChatList.test.d.ts +0 -6
  932. package/dist/src/ui/components/views/ChatList.test.js +0 -45
  933. package/dist/src/ui/components/views/ChatList.test.js.map +0 -1
  934. package/dist/src/ui/components/views/ExtensionDetails.test.d.ts +0 -6
  935. package/dist/src/ui/components/views/ExtensionDetails.test.js +0 -154
  936. package/dist/src/ui/components/views/ExtensionDetails.test.js.map +0 -1
  937. package/dist/src/ui/components/views/ExtensionRegistryView.test.d.ts +0 -6
  938. package/dist/src/ui/components/views/ExtensionRegistryView.test.js +0 -222
  939. package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +0 -1
  940. package/dist/src/ui/components/views/ExtensionsList.test.d.ts +0 -6
  941. package/dist/src/ui/components/views/ExtensionsList.test.js +0 -145
  942. package/dist/src/ui/components/views/ExtensionsList.test.js.map +0 -1
  943. package/dist/src/ui/components/views/McpStatus.test.d.ts +0 -6
  944. package/dist/src/ui/components/views/McpStatus.test.js +0 -174
  945. package/dist/src/ui/components/views/McpStatus.test.js.map +0 -1
  946. package/dist/src/ui/components/views/SkillsList.test.d.ts +0 -6
  947. package/dist/src/ui/components/views/SkillsList.test.js +0 -99
  948. package/dist/src/ui/components/views/SkillsList.test.js.map +0 -1
  949. package/dist/src/ui/components/views/ToolsList.test.d.ts +0 -6
  950. package/dist/src/ui/components/views/ToolsList.test.js +0 -45
  951. package/dist/src/ui/components/views/ToolsList.test.js.map +0 -1
  952. package/dist/src/ui/contexts/KeypressContext.test.d.ts +0 -6
  953. package/dist/src/ui/contexts/KeypressContext.test.js +0 -1133
  954. package/dist/src/ui/contexts/KeypressContext.test.js.map +0 -1
  955. package/dist/src/ui/contexts/MouseContext.test.d.ts +0 -6
  956. package/dist/src/ui/contexts/MouseContext.test.js +0 -269
  957. package/dist/src/ui/contexts/MouseContext.test.js.map +0 -1
  958. package/dist/src/ui/contexts/ScrollProvider.drag.test.d.ts +0 -6
  959. package/dist/src/ui/contexts/ScrollProvider.drag.test.js +0 -320
  960. package/dist/src/ui/contexts/ScrollProvider.drag.test.js.map +0 -1
  961. package/dist/src/ui/contexts/ScrollProvider.test.d.ts +0 -6
  962. package/dist/src/ui/contexts/ScrollProvider.test.js +0 -478
  963. package/dist/src/ui/contexts/ScrollProvider.test.js.map +0 -1
  964. package/dist/src/ui/contexts/SessionContext.test.d.ts +0 -6
  965. package/dist/src/ui/contexts/SessionContext.test.js +0 -213
  966. package/dist/src/ui/contexts/SessionContext.test.js.map +0 -1
  967. package/dist/src/ui/contexts/SettingsContext.test.d.ts +0 -6
  968. package/dist/src/ui/contexts/SettingsContext.test.js +0 -106
  969. package/dist/src/ui/contexts/SettingsContext.test.js.map +0 -1
  970. package/dist/src/ui/contexts/TerminalContext.test.d.ts +0 -6
  971. package/dist/src/ui/contexts/TerminalContext.test.js +0 -75
  972. package/dist/src/ui/contexts/TerminalContext.test.js.map +0 -1
  973. package/dist/src/ui/contexts/ToolActionsContext.test.d.ts +0 -6
  974. package/dist/src/ui/contexts/ToolActionsContext.test.js +0 -247
  975. package/dist/src/ui/contexts/ToolActionsContext.test.js.map +0 -1
  976. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +0 -6
  977. package/dist/src/ui/hooks/atCommandProcessor.test.js +0 -1265
  978. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +0 -1
  979. package/dist/src/ui/hooks/atCommandProcessor_agents.test.d.ts +0 -6
  980. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js +0 -210
  981. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js.map +0 -1
  982. package/dist/src/ui/hooks/creditsFlowHandler.test.d.ts +0 -6
  983. package/dist/src/ui/hooks/creditsFlowHandler.test.js +0 -211
  984. package/dist/src/ui/hooks/creditsFlowHandler.test.js.map +0 -1
  985. package/dist/src/ui/hooks/shell-completions/gitProvider.test.d.ts +0 -6
  986. package/dist/src/ui/hooks/shell-completions/gitProvider.test.js +0 -73
  987. package/dist/src/ui/hooks/shell-completions/gitProvider.test.js.map +0 -1
  988. package/dist/src/ui/hooks/shell-completions/npmProvider.test.d.ts +0 -6
  989. package/dist/src/ui/hooks/shell-completions/npmProvider.test.js +0 -69
  990. package/dist/src/ui/hooks/shell-completions/npmProvider.test.js.map +0 -1
  991. package/dist/src/ui/hooks/shellReducer.test.d.ts +0 -6
  992. package/dist/src/ui/hooks/shellReducer.test.js +0 -341
  993. package/dist/src/ui/hooks/shellReducer.test.js.map +0 -1
  994. package/dist/src/ui/hooks/slashCommandProcessor.test.d.ts +0 -6
  995. package/dist/src/ui/hooks/slashCommandProcessor.test.js +0 -881
  996. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +0 -1
  997. package/dist/src/ui/hooks/toolMapping.test.d.ts +0 -6
  998. package/dist/src/ui/hooks/toolMapping.test.js +0 -292
  999. package/dist/src/ui/hooks/toolMapping.test.js.map +0 -1
  1000. package/dist/src/ui/hooks/useAgentStream.test.d.ts +0 -6
  1001. package/dist/src/ui/hooks/useAgentStream.test.js +0 -161
  1002. package/dist/src/ui/hooks/useAgentStream.test.js.map +0 -1
  1003. package/dist/src/ui/hooks/useAlternateBuffer.test.d.ts +0 -6
  1004. package/dist/src/ui/hooks/useAlternateBuffer.test.js +0 -62
  1005. package/dist/src/ui/hooks/useAlternateBuffer.test.js.map +0 -1
  1006. package/dist/src/ui/hooks/useAnimatedScrollbar.test.d.ts +0 -6
  1007. package/dist/src/ui/hooks/useAnimatedScrollbar.test.js +0 -85
  1008. package/dist/src/ui/hooks/useAnimatedScrollbar.test.js.map +0 -1
  1009. package/dist/src/ui/hooks/useApprovalModeIndicator.test.d.ts +0 -6
  1010. package/dist/src/ui/hooks/useApprovalModeIndicator.test.js +0 -477
  1011. package/dist/src/ui/hooks/useApprovalModeIndicator.test.js.map +0 -1
  1012. package/dist/src/ui/hooks/useAtCompletion.test.d.ts +0 -6
  1013. package/dist/src/ui/hooks/useAtCompletion.test.js +0 -567
  1014. package/dist/src/ui/hooks/useAtCompletion.test.js.map +0 -1
  1015. package/dist/src/ui/hooks/useAtCompletion_agents.test.d.ts +0 -6
  1016. package/dist/src/ui/hooks/useAtCompletion_agents.test.js +0 -87
  1017. package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +0 -1
  1018. package/dist/src/ui/hooks/useBackgroundTaskManager.test.d.ts +0 -6
  1019. package/dist/src/ui/hooks/useBackgroundTaskManager.test.js +0 -168
  1020. package/dist/src/ui/hooks/useBackgroundTaskManager.test.js.map +0 -1
  1021. package/dist/src/ui/hooks/useBanner.test.d.ts +0 -6
  1022. package/dist/src/ui/hooks/useBanner.test.js +0 -144
  1023. package/dist/src/ui/hooks/useBanner.test.js.map +0 -1
  1024. package/dist/src/ui/hooks/useBatchedScroll.test.d.ts +0 -6
  1025. package/dist/src/ui/hooks/useBatchedScroll.test.js +0 -62
  1026. package/dist/src/ui/hooks/useBatchedScroll.test.js.map +0 -1
  1027. package/dist/src/ui/hooks/useCommandCompletion.test.d.ts +0 -6
  1028. package/dist/src/ui/hooks/useCommandCompletion.test.js +0 -722
  1029. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +0 -1
  1030. package/dist/src/ui/hooks/useConsoleMessages.test.d.ts +0 -6
  1031. package/dist/src/ui/hooks/useConsoleMessages.test.js +0 -201
  1032. package/dist/src/ui/hooks/useConsoleMessages.test.js.map +0 -1
  1033. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +0 -6
  1034. package/dist/src/ui/hooks/useEditorSettings.test.js +0 -179
  1035. package/dist/src/ui/hooks/useEditorSettings.test.js.map +0 -1
  1036. package/dist/src/ui/hooks/useExecutionLifecycle.test.d.ts +0 -6
  1037. package/dist/src/ui/hooks/useExecutionLifecycle.test.js +0 -903
  1038. package/dist/src/ui/hooks/useExecutionLifecycle.test.js.map +0 -1
  1039. package/dist/src/ui/hooks/useExtensionUpdates.test.d.ts +0 -6
  1040. package/dist/src/ui/hooks/useExtensionUpdates.test.js +0 -280
  1041. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +0 -1
  1042. package/dist/src/ui/hooks/useFlickerDetector.test.d.ts +0 -6
  1043. package/dist/src/ui/hooks/useFlickerDetector.test.js +0 -106
  1044. package/dist/src/ui/hooks/useFlickerDetector.test.js.map +0 -1
  1045. package/dist/src/ui/hooks/useFocus.test.d.ts +0 -6
  1046. package/dist/src/ui/hooks/useFocus.test.js +0 -140
  1047. package/dist/src/ui/hooks/useFocus.test.js.map +0 -1
  1048. package/dist/src/ui/hooks/useFolderTrust.test.d.ts +0 -6
  1049. package/dist/src/ui/hooks/useFolderTrust.test.js +0 -268
  1050. package/dist/src/ui/hooks/useFolderTrust.test.js.map +0 -1
  1051. package/dist/src/ui/hooks/useGeminiStream.test.d.ts +0 -6
  1052. package/dist/src/ui/hooks/useGeminiStream.test.js +0 -2855
  1053. package/dist/src/ui/hooks/useGeminiStream.test.js.map +0 -1
  1054. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +0 -6
  1055. package/dist/src/ui/hooks/useGitBranchName.test.js +0 -237
  1056. package/dist/src/ui/hooks/useGitBranchName.test.js.map +0 -1
  1057. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +0 -6
  1058. package/dist/src/ui/hooks/useHistoryManager.test.js +0 -259
  1059. package/dist/src/ui/hooks/useHistoryManager.test.js.map +0 -1
  1060. package/dist/src/ui/hooks/useHookDisplayState.test.d.ts +0 -6
  1061. package/dist/src/ui/hooks/useHookDisplayState.test.js +0 -200
  1062. package/dist/src/ui/hooks/useHookDisplayState.test.js.map +0 -1
  1063. package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +0 -6
  1064. package/dist/src/ui/hooks/useIdeTrustListener.test.js +0 -225
  1065. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +0 -1
  1066. package/dist/src/ui/hooks/useIncludeDirsTrust.test.d.ts +0 -6
  1067. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js +0 -174
  1068. package/dist/src/ui/hooks/useIncludeDirsTrust.test.js.map +0 -1
  1069. package/dist/src/ui/hooks/useInlineEditBuffer.test.d.ts +0 -6
  1070. package/dist/src/ui/hooks/useInlineEditBuffer.test.js +0 -112
  1071. package/dist/src/ui/hooks/useInlineEditBuffer.test.js.map +0 -1
  1072. package/dist/src/ui/hooks/useInputHistory.test.d.ts +0 -6
  1073. package/dist/src/ui/hooks/useInputHistory.test.js +0 -389
  1074. package/dist/src/ui/hooks/useInputHistory.test.js.map +0 -1
  1075. package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +0 -6
  1076. package/dist/src/ui/hooks/useInputHistoryStore.test.js +0 -238
  1077. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +0 -1
  1078. package/dist/src/ui/hooks/useKeypress.test.d.ts +0 -6
  1079. package/dist/src/ui/hooks/useKeypress.test.js +0 -198
  1080. package/dist/src/ui/hooks/useKeypress.test.js.map +0 -1
  1081. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +0 -6
  1082. package/dist/src/ui/hooks/useLoadingIndicator.test.js +0 -177
  1083. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +0 -1
  1084. package/dist/src/ui/hooks/useLogger.test.d.ts +0 -6
  1085. package/dist/src/ui/hooks/useLogger.test.js +0 -44
  1086. package/dist/src/ui/hooks/useLogger.test.js.map +0 -1
  1087. package/dist/src/ui/hooks/useMcpStatus.test.d.ts +0 -6
  1088. package/dist/src/ui/hooks/useMcpStatus.test.js +0 -69
  1089. package/dist/src/ui/hooks/useMcpStatus.test.js.map +0 -1
  1090. package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +0 -6
  1091. package/dist/src/ui/hooks/useMemoryMonitor.test.js +0 -62
  1092. package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +0 -1
  1093. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +0 -6
  1094. package/dist/src/ui/hooks/useMessageQueue.test.js +0 -365
  1095. package/dist/src/ui/hooks/useMessageQueue.test.js.map +0 -1
  1096. package/dist/src/ui/hooks/useModelCommand.test.d.ts +0 -6
  1097. package/dist/src/ui/hooks/useModelCommand.test.js +0 -45
  1098. package/dist/src/ui/hooks/useModelCommand.test.js.map +0 -1
  1099. package/dist/src/ui/hooks/useMouse.test.d.ts +0 -6
  1100. package/dist/src/ui/hooks/useMouse.test.js +0 -52
  1101. package/dist/src/ui/hooks/useMouse.test.js.map +0 -1
  1102. package/dist/src/ui/hooks/useMouseClick.test.d.ts +0 -6
  1103. package/dist/src/ui/hooks/useMouseClick.test.js +0 -68
  1104. package/dist/src/ui/hooks/useMouseClick.test.js.map +0 -1
  1105. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +0 -6
  1106. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +0 -291
  1107. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +0 -1
  1108. package/dist/src/ui/hooks/usePhraseCycler.test.d.ts +0 -6
  1109. package/dist/src/ui/hooks/usePhraseCycler.test.js +0 -187
  1110. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +0 -1
  1111. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +0 -6
  1112. package/dist/src/ui/hooks/usePrivacySettings.test.js +0 -113
  1113. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +0 -1
  1114. package/dist/src/ui/hooks/useQuotaAndFallback.test.d.ts +0 -6
  1115. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +0 -817
  1116. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +0 -1
  1117. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +0 -6
  1118. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +0 -168
  1119. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +0 -1
  1120. package/dist/src/ui/hooks/useRewind.test.d.ts +0 -6
  1121. package/dist/src/ui/hooks/useRewind.test.js +0 -100
  1122. package/dist/src/ui/hooks/useRewind.test.js.map +0 -1
  1123. package/dist/src/ui/hooks/useSelectionList.test.d.ts +0 -6
  1124. package/dist/src/ui/hooks/useSelectionList.test.js +0 -960
  1125. package/dist/src/ui/hooks/useSelectionList.test.js.map +0 -1
  1126. package/dist/src/ui/hooks/useSessionBrowser.test.d.ts +0 -6
  1127. package/dist/src/ui/hooks/useSessionBrowser.test.js +0 -277
  1128. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +0 -1
  1129. package/dist/src/ui/hooks/useSessionResume.test.d.ts +0 -6
  1130. package/dist/src/ui/hooks/useSessionResume.test.js +0 -402
  1131. package/dist/src/ui/hooks/useSessionResume.test.js.map +0 -1
  1132. package/dist/src/ui/hooks/useSettingsNavigation.test.d.ts +0 -6
  1133. package/dist/src/ui/hooks/useSettingsNavigation.test.js +0 -87
  1134. package/dist/src/ui/hooks/useSettingsNavigation.test.js.map +0 -1
  1135. package/dist/src/ui/hooks/useShellCompletion.test.d.ts +0 -6
  1136. package/dist/src/ui/hooks/useShellCompletion.test.js +0 -354
  1137. package/dist/src/ui/hooks/useShellCompletion.test.js.map +0 -1
  1138. package/dist/src/ui/hooks/useShellHistory.test.d.ts +0 -6
  1139. package/dist/src/ui/hooks/useShellHistory.test.js +0 -226
  1140. package/dist/src/ui/hooks/useShellHistory.test.js.map +0 -1
  1141. package/dist/src/ui/hooks/useShellInactivityStatus.test.d.ts +0 -6
  1142. package/dist/src/ui/hooks/useShellInactivityStatus.test.js +0 -84
  1143. package/dist/src/ui/hooks/useShellInactivityStatus.test.js.map +0 -1
  1144. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +0 -10
  1145. package/dist/src/ui/hooks/useSlashCompletion.test.js +0 -977
  1146. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +0 -1
  1147. package/dist/src/ui/hooks/useSnowfall.test.d.ts +0 -6
  1148. package/dist/src/ui/hooks/useSnowfall.test.js +0 -92
  1149. package/dist/src/ui/hooks/useSnowfall.test.js.map +0 -1
  1150. package/dist/src/ui/hooks/useSuspend.test.d.ts +0 -6
  1151. package/dist/src/ui/hooks/useSuspend.test.js +0 -136
  1152. package/dist/src/ui/hooks/useSuspend.test.js.map +0 -1
  1153. package/dist/src/ui/hooks/useTabbedNavigation.test.d.ts +0 -6
  1154. package/dist/src/ui/hooks/useTabbedNavigation.test.js +0 -243
  1155. package/dist/src/ui/hooks/useTabbedNavigation.test.js.map +0 -1
  1156. package/dist/src/ui/hooks/useTerminalTheme.test.d.ts +0 -6
  1157. package/dist/src/ui/hooks/useTerminalTheme.test.js +0 -169
  1158. package/dist/src/ui/hooks/useTerminalTheme.test.js.map +0 -1
  1159. package/dist/src/ui/hooks/useTimer.test.d.ts +0 -6
  1160. package/dist/src/ui/hooks/useTimer.test.js +0 -119
  1161. package/dist/src/ui/hooks/useTimer.test.js.map +0 -1
  1162. package/dist/src/ui/hooks/useTips.test.d.ts +0 -6
  1163. package/dist/src/ui/hooks/useTips.test.js +0 -33
  1164. package/dist/src/ui/hooks/useTips.test.js.map +0 -1
  1165. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +0 -6
  1166. package/dist/src/ui/hooks/useToolScheduler.test.js +0 -534
  1167. package/dist/src/ui/hooks/useToolScheduler.test.js.map +0 -1
  1168. package/dist/src/ui/hooks/useTurnActivityMonitor.test.d.ts +0 -6
  1169. package/dist/src/ui/hooks/useTurnActivityMonitor.test.js +0 -99
  1170. package/dist/src/ui/hooks/useTurnActivityMonitor.test.js.map +0 -1
  1171. package/dist/src/ui/hooks/vim-passthrough.test.d.ts +0 -6
  1172. package/dist/src/ui/hooks/vim-passthrough.test.js +0 -84
  1173. package/dist/src/ui/hooks/vim-passthrough.test.js.map +0 -1
  1174. package/dist/src/ui/hooks/vim.test.d.ts +0 -6
  1175. package/dist/src/ui/hooks/vim.test.js +0 -2156
  1176. package/dist/src/ui/hooks/vim.test.js.map +0 -1
  1177. package/dist/src/ui/key/keyBindings.test.d.ts +0 -6
  1178. package/dist/src/ui/key/keyBindings.test.js +0 -225
  1179. package/dist/src/ui/key/keyBindings.test.js.map +0 -1
  1180. package/dist/src/ui/key/keyMatchers.test.d.ts +0 -6
  1181. package/dist/src/ui/key/keyMatchers.test.js +0 -524
  1182. package/dist/src/ui/key/keyMatchers.test.js.map +0 -1
  1183. package/dist/src/ui/key/keybindingUtils.test.d.ts +0 -6
  1184. package/dist/src/ui/key/keybindingUtils.test.js +0 -121
  1185. package/dist/src/ui/key/keybindingUtils.test.js.map +0 -1
  1186. package/dist/src/ui/layouts/DefaultAppLayout.test.d.ts +0 -6
  1187. package/dist/src/ui/layouts/DefaultAppLayout.test.js +0 -126
  1188. package/dist/src/ui/layouts/DefaultAppLayout.test.js.map +0 -1
  1189. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.d.ts +0 -6
  1190. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +0 -134
  1191. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +0 -1
  1192. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.d.ts +0 -6
  1193. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +0 -43
  1194. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +0 -1
  1195. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.d.ts +0 -6
  1196. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +0 -43
  1197. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +0 -1
  1198. package/dist/src/ui/privacy/PrivacyNotice.test.d.ts +0 -6
  1199. package/dist/src/ui/privacy/PrivacyNotice.test.js +0 -63
  1200. package/dist/src/ui/privacy/PrivacyNotice.test.js.map +0 -1
  1201. package/dist/src/ui/state/extensions.test.d.ts +0 -6
  1202. package/dist/src/ui/state/extensions.test.js +0 -219
  1203. package/dist/src/ui/state/extensions.test.js.map +0 -1
  1204. package/dist/src/ui/themes/color-utils.test.d.ts +0 -6
  1205. package/dist/src/ui/themes/color-utils.test.js +0 -326
  1206. package/dist/src/ui/themes/color-utils.test.js.map +0 -1
  1207. package/dist/src/ui/themes/theme-manager.test.d.ts +0 -6
  1208. package/dist/src/ui/themes/theme-manager.test.js +0 -274
  1209. package/dist/src/ui/themes/theme-manager.test.js.map +0 -1
  1210. package/dist/src/ui/themes/theme.test.d.ts +0 -6
  1211. package/dist/src/ui/themes/theme.test.js +0 -171
  1212. package/dist/src/ui/themes/theme.test.js.map +0 -1
  1213. package/dist/src/ui/utils/CodeColorizer.test.d.ts +0 -6
  1214. package/dist/src/ui/utils/CodeColorizer.test.js +0 -74
  1215. package/dist/src/ui/utils/CodeColorizer.test.js.map +0 -1
  1216. package/dist/src/ui/utils/ConsolePatcher.test.d.ts +0 -6
  1217. package/dist/src/ui/utils/ConsolePatcher.test.js +0 -199
  1218. package/dist/src/ui/utils/ConsolePatcher.test.js.map +0 -1
  1219. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +0 -6
  1220. package/dist/src/ui/utils/MarkdownDisplay.test.js +0 -175
  1221. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +0 -1
  1222. package/dist/src/ui/utils/TableRenderer.test.d.ts +0 -1
  1223. package/dist/src/ui/utils/TableRenderer.test.js +0 -396
  1224. package/dist/src/ui/utils/TableRenderer.test.js.map +0 -1
  1225. package/dist/src/ui/utils/antigravityUtils.test.d.ts +0 -6
  1226. package/dist/src/ui/utils/antigravityUtils.test.js +0 -54
  1227. package/dist/src/ui/utils/antigravityUtils.test.js.map +0 -1
  1228. package/dist/src/ui/utils/borderStyles.test.d.ts +0 -6
  1229. package/dist/src/ui/utils/borderStyles.test.js +0 -172
  1230. package/dist/src/ui/utils/borderStyles.test.js.map +0 -1
  1231. package/dist/src/ui/utils/clipboardUtils.test.d.ts +0 -6
  1232. package/dist/src/ui/utils/clipboardUtils.test.js +0 -442
  1233. package/dist/src/ui/utils/clipboardUtils.test.js.map +0 -1
  1234. package/dist/src/ui/utils/clipboardUtils.windows.test.d.ts +0 -6
  1235. package/dist/src/ui/utils/clipboardUtils.windows.test.js +0 -56
  1236. package/dist/src/ui/utils/clipboardUtils.windows.test.js.map +0 -1
  1237. package/dist/src/ui/utils/commandUtils.test.d.ts +0 -6
  1238. package/dist/src/ui/utils/commandUtils.test.js +0 -511
  1239. package/dist/src/ui/utils/commandUtils.test.js.map +0 -1
  1240. package/dist/src/ui/utils/computeStats.test.d.ts +0 -6
  1241. package/dist/src/ui/utils/computeStats.test.js +0 -279
  1242. package/dist/src/ui/utils/computeStats.test.js.map +0 -1
  1243. package/dist/src/ui/utils/directoryUtils.test.d.ts +0 -6
  1244. package/dist/src/ui/utils/directoryUtils.test.js +0 -239
  1245. package/dist/src/ui/utils/directoryUtils.test.js.map +0 -1
  1246. package/dist/src/ui/utils/displayUtils.test.d.ts +0 -6
  1247. package/dist/src/ui/utils/displayUtils.test.js +0 -61
  1248. package/dist/src/ui/utils/displayUtils.test.js.map +0 -1
  1249. package/dist/src/ui/utils/formatters.test.d.ts +0 -6
  1250. package/dist/src/ui/utils/formatters.test.js +0 -152
  1251. package/dist/src/ui/utils/formatters.test.js.map +0 -1
  1252. package/dist/src/ui/utils/highlight.test.d.ts +0 -6
  1253. package/dist/src/ui/utils/highlight.test.js +0 -205
  1254. package/dist/src/ui/utils/highlight.test.js.map +0 -1
  1255. package/dist/src/ui/utils/input.test.d.ts +0 -6
  1256. package/dist/src/ui/utils/input.test.js +0 -44
  1257. package/dist/src/ui/utils/input.test.js.map +0 -1
  1258. package/dist/src/ui/utils/latexToUnicode.test.d.ts +0 -6
  1259. package/dist/src/ui/utils/latexToUnicode.test.js +0 -222
  1260. package/dist/src/ui/utils/latexToUnicode.test.js.map +0 -1
  1261. package/dist/src/ui/utils/markdownParsingUtils.test.d.ts +0 -6
  1262. package/dist/src/ui/utils/markdownParsingUtils.test.js +0 -201
  1263. package/dist/src/ui/utils/markdownParsingUtils.test.js.map +0 -1
  1264. package/dist/src/ui/utils/markdownUtilities.test.d.ts +0 -6
  1265. package/dist/src/ui/utils/markdownUtilities.test.js +0 -42
  1266. package/dist/src/ui/utils/markdownUtilities.test.js.map +0 -1
  1267. package/dist/src/ui/utils/memorySnapshot.test.d.ts +0 -6
  1268. package/dist/src/ui/utils/memorySnapshot.test.js +0 -62
  1269. package/dist/src/ui/utils/memorySnapshot.test.js.map +0 -1
  1270. package/dist/src/ui/utils/mouse.test.d.ts +0 -6
  1271. package/dist/src/ui/utils/mouse.test.js +0 -136
  1272. package/dist/src/ui/utils/mouse.test.js.map +0 -1
  1273. package/dist/src/ui/utils/pendingAttentionNotification.test.d.ts +0 -6
  1274. package/dist/src/ui/utils/pendingAttentionNotification.test.js +0 -79
  1275. package/dist/src/ui/utils/pendingAttentionNotification.test.js.map +0 -1
  1276. package/dist/src/ui/utils/rewindFileOps.test.d.ts +0 -6
  1277. package/dist/src/ui/utils/rewindFileOps.test.js +0 -375
  1278. package/dist/src/ui/utils/rewindFileOps.test.js.map +0 -1
  1279. package/dist/src/ui/utils/terminalCapabilityManager.test.d.ts +0 -6
  1280. package/dist/src/ui/utils/terminalCapabilityManager.test.js +0 -400
  1281. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +0 -1
  1282. package/dist/src/ui/utils/terminalSetup.test.d.ts +0 -6
  1283. package/dist/src/ui/utils/terminalSetup.test.js +0 -201
  1284. package/dist/src/ui/utils/terminalSetup.test.js.map +0 -1
  1285. package/dist/src/ui/utils/textOutput.test.d.ts +0 -6
  1286. package/dist/src/ui/utils/textOutput.test.js +0 -80
  1287. package/dist/src/ui/utils/textOutput.test.js.map +0 -1
  1288. package/dist/src/ui/utils/textUtils.test.d.ts +0 -6
  1289. package/dist/src/ui/utils/textUtils.test.js +0 -430
  1290. package/dist/src/ui/utils/textUtils.test.js.map +0 -1
  1291. package/dist/src/ui/utils/toolLayoutUtils.test.d.ts +0 -6
  1292. package/dist/src/ui/utils/toolLayoutUtils.test.js +0 -187
  1293. package/dist/src/ui/utils/toolLayoutUtils.test.js.map +0 -1
  1294. package/dist/src/ui/utils/ui-sizing.test.d.ts +0 -6
  1295. package/dist/src/ui/utils/ui-sizing.test.js +0 -25
  1296. package/dist/src/ui/utils/ui-sizing.test.js.map +0 -1
  1297. package/dist/src/ui/utils/updateCheck.test.d.ts +0 -6
  1298. package/dist/src/ui/utils/updateCheck.test.js +0 -207
  1299. package/dist/src/ui/utils/updateCheck.test.js.map +0 -1
  1300. package/dist/src/ui/utils/urlSecurityUtils.test.d.ts +0 -6
  1301. package/dist/src/ui/utils/urlSecurityUtils.test.js +0 -49
  1302. package/dist/src/ui/utils/urlSecurityUtils.test.js.map +0 -1
  1303. package/dist/src/utils/activityLogger.test.d.ts +0 -6
  1304. package/dist/src/utils/activityLogger.test.js +0 -196
  1305. package/dist/src/utils/activityLogger.test.js.map +0 -1
  1306. package/dist/src/utils/agentSettings.test.d.ts +0 -6
  1307. package/dist/src/utils/agentSettings.test.js +0 -111
  1308. package/dist/src/utils/agentSettings.test.js.map +0 -1
  1309. package/dist/src/utils/agentUtils.test.d.ts +0 -6
  1310. package/dist/src/utils/agentUtils.test.js +0 -121
  1311. package/dist/src/utils/agentUtils.test.js.map +0 -1
  1312. package/dist/src/utils/cleanup.test.d.ts +0 -6
  1313. package/dist/src/utils/cleanup.test.js +0 -256
  1314. package/dist/src/utils/cleanup.test.js.map +0 -1
  1315. package/dist/src/utils/commands.test.d.ts +0 -6
  1316. package/dist/src/utils/commands.test.js +0 -194
  1317. package/dist/src/utils/commands.test.js.map +0 -1
  1318. package/dist/src/utils/commentJson.test.d.ts +0 -6
  1319. package/dist/src/utils/commentJson.test.js +0 -308
  1320. package/dist/src/utils/commentJson.test.js.map +0 -1
  1321. package/dist/src/utils/deepMerge.test.d.ts +0 -6
  1322. package/dist/src/utils/deepMerge.test.js +0 -211
  1323. package/dist/src/utils/deepMerge.test.js.map +0 -1
  1324. package/dist/src/utils/devtoolsService.test.d.ts +0 -6
  1325. package/dist/src/utils/devtoolsService.test.js +0 -346
  1326. package/dist/src/utils/devtoolsService.test.js.map +0 -1
  1327. package/dist/src/utils/dialogScopeUtils.test.d.ts +0 -6
  1328. package/dist/src/utils/dialogScopeUtils.test.js +0 -81
  1329. package/dist/src/utils/dialogScopeUtils.test.js.map +0 -1
  1330. package/dist/src/utils/envVarResolver.test.d.ts +0 -6
  1331. package/dist/src/utils/envVarResolver.test.js +0 -238
  1332. package/dist/src/utils/envVarResolver.test.js.map +0 -1
  1333. package/dist/src/utils/errors.test.d.ts +0 -6
  1334. package/dist/src/utils/errors.test.js +0 -420
  1335. package/dist/src/utils/errors.test.js.map +0 -1
  1336. package/dist/src/utils/events.test.d.ts +0 -6
  1337. package/dist/src/utils/events.test.js +0 -24
  1338. package/dist/src/utils/events.test.js.map +0 -1
  1339. package/dist/src/utils/featureToggleUtils.test.d.ts +0 -6
  1340. package/dist/src/utils/featureToggleUtils.test.js +0 -126
  1341. package/dist/src/utils/featureToggleUtils.test.js.map +0 -1
  1342. package/dist/src/utils/gitUtils.test.d.ts +0 -6
  1343. package/dist/src/utils/gitUtils.test.js +0 -172
  1344. package/dist/src/utils/gitUtils.test.js.map +0 -1
  1345. package/dist/src/utils/handleAutoUpdate.test.d.ts +0 -6
  1346. package/dist/src/utils/handleAutoUpdate.test.js +0 -399
  1347. package/dist/src/utils/handleAutoUpdate.test.js.map +0 -1
  1348. package/dist/src/utils/hookSettings.test.d.ts +0 -6
  1349. package/dist/src/utils/hookSettings.test.js +0 -117
  1350. package/dist/src/utils/hookSettings.test.js.map +0 -1
  1351. package/dist/src/utils/hookUtils.test.d.ts +0 -6
  1352. package/dist/src/utils/hookUtils.test.js +0 -113
  1353. package/dist/src/utils/hookUtils.test.js.map +0 -1
  1354. package/dist/src/utils/installationInfo.test.d.ts +0 -6
  1355. package/dist/src/utils/installationInfo.test.js +0 -322
  1356. package/dist/src/utils/installationInfo.test.js.map +0 -1
  1357. package/dist/src/utils/jsonoutput.test.d.ts +0 -6
  1358. package/dist/src/utils/jsonoutput.test.js +0 -74
  1359. package/dist/src/utils/jsonoutput.test.js.map +0 -1
  1360. package/dist/src/utils/logCleanup.test.d.ts +0 -6
  1361. package/dist/src/utils/logCleanup.test.js +0 -87
  1362. package/dist/src/utils/logCleanup.test.js.map +0 -1
  1363. package/dist/src/utils/math.test.d.ts +0 -6
  1364. package/dist/src/utils/math.test.js +0 -23
  1365. package/dist/src/utils/math.test.js.map +0 -1
  1366. package/dist/src/utils/persistentState.test.d.ts +0 -6
  1367. package/dist/src/utils/persistentState.test.js +0 -68
  1368. package/dist/src/utils/persistentState.test.js.map +0 -1
  1369. package/dist/src/utils/processUtils.test.d.ts +0 -6
  1370. package/dist/src/utils/processUtils.test.js +0 -150
  1371. package/dist/src/utils/processUtils.test.js.map +0 -1
  1372. package/dist/src/utils/readStdin.test.d.ts +0 -6
  1373. package/dist/src/utils/readStdin.test.js +0 -149
  1374. package/dist/src/utils/readStdin.test.js.map +0 -1
  1375. package/dist/src/utils/readStdin_safety.test.d.ts +0 -6
  1376. package/dist/src/utils/readStdin_safety.test.js +0 -68
  1377. package/dist/src/utils/readStdin_safety.test.js.map +0 -1
  1378. package/dist/src/utils/relaunch.test.d.ts +0 -6
  1379. package/dist/src/utils/relaunch.test.js +0 -275
  1380. package/dist/src/utils/relaunch.test.js.map +0 -1
  1381. package/dist/src/utils/resolvePath.test.d.ts +0 -6
  1382. package/dist/src/utils/resolvePath.test.js +0 -34
  1383. package/dist/src/utils/resolvePath.test.js.map +0 -1
  1384. package/dist/src/utils/sandbox.test.d.ts +0 -6
  1385. package/dist/src/utils/sandbox.test.js +0 -725
  1386. package/dist/src/utils/sandbox.test.js.map +0 -1
  1387. package/dist/src/utils/sandboxUtils.test.d.ts +0 -6
  1388. package/dist/src/utils/sandboxUtils.test.js +0 -190
  1389. package/dist/src/utils/sandboxUtils.test.js.map +0 -1
  1390. package/dist/src/utils/sessionCleanup.integration.test.d.ts +0 -6
  1391. package/dist/src/utils/sessionCleanup.integration.test.js +0 -276
  1392. package/dist/src/utils/sessionCleanup.integration.test.js.map +0 -1
  1393. package/dist/src/utils/sessionCleanup.test.d.ts +0 -6
  1394. package/dist/src/utils/sessionCleanup.test.js +0 -829
  1395. package/dist/src/utils/sessionCleanup.test.js.map +0 -1
  1396. package/dist/src/utils/sessionUtils.test.d.ts +0 -6
  1397. package/dist/src/utils/sessionUtils.test.js +0 -815
  1398. package/dist/src/utils/sessionUtils.test.js.map +0 -1
  1399. package/dist/src/utils/sessions.test.d.ts +0 -6
  1400. package/dist/src/utils/sessions.test.js +0 -580
  1401. package/dist/src/utils/sessions.test.js.map +0 -1
  1402. package/dist/src/utils/settingsUtils.test.d.ts +0 -6
  1403. package/dist/src/utils/settingsUtils.test.js +0 -673
  1404. package/dist/src/utils/settingsUtils.test.js.map +0 -1
  1405. package/dist/src/utils/skillSettings.test.d.ts +0 -6
  1406. package/dist/src/utils/skillSettings.test.js +0 -142
  1407. package/dist/src/utils/skillSettings.test.js.map +0 -1
  1408. package/dist/src/utils/skillUtils.test.d.ts +0 -6
  1409. package/dist/src/utils/skillUtils.test.js +0 -248
  1410. package/dist/src/utils/skillUtils.test.js.map +0 -1
  1411. package/dist/src/utils/startupWarnings.test.d.ts +0 -6
  1412. package/dist/src/utils/startupWarnings.test.js +0 -61
  1413. package/dist/src/utils/startupWarnings.test.js.map +0 -1
  1414. package/dist/src/utils/terminalNotifications.test.d.ts +0 -6
  1415. package/dist/src/utils/terminalNotifications.test.js +0 -219
  1416. package/dist/src/utils/terminalNotifications.test.js.map +0 -1
  1417. package/dist/src/utils/terminalTheme.test.d.ts +0 -6
  1418. package/dist/src/utils/terminalTheme.test.js +0 -91
  1419. package/dist/src/utils/terminalTheme.test.js.map +0 -1
  1420. package/dist/src/utils/tierUtils.test.d.ts +0 -6
  1421. package/dist/src/utils/tierUtils.test.js +0 -25
  1422. package/dist/src/utils/tierUtils.test.js.map +0 -1
  1423. package/dist/src/utils/toolOutputCleanup.test.d.ts +0 -6
  1424. package/dist/src/utils/toolOutputCleanup.test.js +0 -280
  1425. package/dist/src/utils/toolOutputCleanup.test.js.map +0 -1
  1426. package/dist/src/utils/updateEventEmitter.test.d.ts +0 -6
  1427. package/dist/src/utils/updateEventEmitter.test.js +0 -18
  1428. package/dist/src/utils/updateEventEmitter.test.js.map +0 -1
  1429. package/dist/src/utils/userStartupWarnings.test.d.ts +0 -6
  1430. package/dist/src/utils/userStartupWarnings.test.js +0 -225
  1431. package/dist/src/utils/userStartupWarnings.test.js.map +0 -1
  1432. package/dist/src/utils/windowTitle.test.d.ts +0 -6
  1433. package/dist/src/utils/windowTitle.test.js +0 -216
  1434. package/dist/src/utils/windowTitle.test.js.map +0 -1
  1435. package/dist/src/utils/worktreeSetup.test.d.ts +0 -6
  1436. package/dist/src/utils/worktreeSetup.test.js +0 -89
  1437. package/dist/src/utils/worktreeSetup.test.js.map +0 -1
  1438. package/dist/src/validateNonInterActiveAuth.test.d.ts +0 -6
  1439. package/dist/src/validateNonInterActiveAuth.test.js +0 -319
  1440. package/dist/src/validateNonInterActiveAuth.test.js.map +0 -1
@@ -1,1265 +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 { checkPermissions, handleAtCommand, escapeAtSymbols, unescapeLiteralAt, } from './atCommandProcessor.js';
8
- import { FileDiscoveryService, GlobTool, ReadManyFilesTool, StandardFileSystemService, ToolRegistry, COMMON_IGNORE_PATTERNS, GEMINI_IGNORE_FILE_NAME, ApprovalMode,
9
- // DEFAULT_FILE_EXCLUDES,
10
- CoreToolCallStatus, } from '@google/gemini-cli-core';
11
- import * as core from '@google/gemini-cli-core';
12
- import * as os from 'node:os';
13
- import * as fs from 'node:fs';
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.restoreAllMocks();
32
- vi.resetAllMocks();
33
- testRootDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), 'folder-structure-test-'));
34
- abortController = new AbortController();
35
- const getToolRegistry = vi.fn();
36
- const mockMessageBus = {
37
- publish: vi.fn(),
38
- subscribe: vi.fn(),
39
- unsubscribe: vi.fn(),
40
- };
41
- const mockWorkspaceContext = {
42
- isPathWithinWorkspace: (p) => p.startsWith(testRootDir) || p.startsWith('/private' + testRootDir),
43
- getDirectories: () => [testRootDir],
44
- };
45
- mockConfig = {
46
- getToolRegistry,
47
- getTargetDir: () => testRootDir,
48
- isSandboxed: () => false,
49
- getExcludeTools: vi.fn(),
50
- getFileService: () => new FileDiscoveryService(testRootDir),
51
- getFileFilteringRespectGitIgnore: () => true,
52
- getFileFilteringRespectGeminiIgnore: () => true,
53
- getFileFilteringOptions: () => ({
54
- respectGitIgnore: true,
55
- respectGeminiIgnore: true,
56
- }),
57
- getFileSystemService: () => new StandardFileSystemService(),
58
- getEnableRecursiveFileSearch: vi.fn(() => true),
59
- getWorkspaceContext: () => mockWorkspaceContext,
60
- getMemoryContextManager: () => undefined,
61
- storage: {
62
- getProjectTempDir: () => path.join(os.tmpdir(), 'gemini-cli-temp'),
63
- },
64
- isPathAllowed(absolutePath) {
65
- if (this.interactive && path.isAbsolute(absolutePath)) {
66
- return true;
67
- }
68
- const workspaceContext = this.getWorkspaceContext();
69
- const directories = workspaceContext.getDirectories();
70
- if (directories.some((dir) => absolutePath.startsWith(dir))) {
71
- return true;
72
- }
73
- const projectTempDir = this.storage.getProjectTempDir();
74
- const resolvedProjectTempDir = path.resolve(projectTempDir);
75
- return (absolutePath.startsWith(resolvedProjectTempDir + path.sep) ||
76
- absolutePath === resolvedProjectTempDir);
77
- },
78
- validatePathAccess(absolutePath) {
79
- if (this.isPathAllowed(absolutePath)) {
80
- return null;
81
- }
82
- const workspaceDirs = this.getWorkspaceContext().getDirectories();
83
- const projectTempDir = this.storage.getProjectTempDir();
84
- return `Path validation failed: Attempted path "${absolutePath}" resolves outside the allowed workspace directories: ${workspaceDirs.join(', ')} or the project temp directory: ${projectTempDir}`;
85
- },
86
- getMcpServers: () => ({}),
87
- getMcpServerCommand: () => undefined,
88
- getPromptRegistry: () => ({
89
- getPromptsByServer: () => [],
90
- }),
91
- getDebugMode: () => false,
92
- getWorkingDir: () => '/working/dir',
93
- getFileExclusions: () => ({
94
- getCoreIgnorePatterns: () => COMMON_IGNORE_PATTERNS,
95
- getDefaultExcludePatterns: () => [],
96
- getGlobExcludes: () => [],
97
- buildExcludePatterns: () => [],
98
- getReadManyFilesExcludes: () => [],
99
- }),
100
- getUsageStatisticsEnabled: () => false,
101
- getEnableExtensionReloading: () => false,
102
- getResourceRegistry: () => ({
103
- findResourceByUri: () => undefined,
104
- getAllResources: () => [],
105
- }),
106
- getMcpClientManager: () => ({
107
- getClient: () => undefined,
108
- }),
109
- getMessageBus: () => mockMessageBus,
110
- getApprovalMode: () => ApprovalMode.DEFAULT,
111
- };
112
- const registry = new ToolRegistry(mockConfig, mockMessageBus);
113
- registry.registerTool(new ReadManyFilesTool(mockConfig, mockMessageBus));
114
- registry.registerTool(new GlobTool(mockConfig, mockMessageBus));
115
- getToolRegistry.mockReturnValue(registry);
116
- });
117
- afterEach(async () => {
118
- abortController.abort();
119
- await fsPromises.rm(testRootDir, { recursive: true, force: true });
120
- vi.unstubAllGlobals();
121
- });
122
- it('should pass through query if no @ command is present', async () => {
123
- const query = 'regular user query';
124
- const result = await handleAtCommand({
125
- query,
126
- config: mockConfig,
127
- addItem: mockAddItem,
128
- onDebugMessage: mockOnDebugMessage,
129
- messageId: 123,
130
- signal: abortController.signal,
131
- });
132
- expect(result).toEqual({
133
- processedQuery: [{ text: query }],
134
- });
135
- });
136
- it('should pass through original query if only a lone @ symbol is present', async () => {
137
- const queryWithSpaces = ' @ ';
138
- const result = await handleAtCommand({
139
- query: queryWithSpaces,
140
- config: mockConfig,
141
- addItem: mockAddItem,
142
- onDebugMessage: mockOnDebugMessage,
143
- messageId: 124,
144
- signal: abortController.signal,
145
- });
146
- expect(result).toEqual({
147
- processedQuery: [{ text: queryWithSpaces }],
148
- });
149
- });
150
- it('should process a valid text file path', async () => {
151
- const fileContent = 'This is the file content.';
152
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'file.txt'), fileContent);
153
- const relativePath = getRelativePath(filePath);
154
- const query = `@${filePath}`;
155
- const result = await handleAtCommand({
156
- query,
157
- config: mockConfig,
158
- addItem: mockAddItem,
159
- onDebugMessage: mockOnDebugMessage,
160
- messageId: 125,
161
- signal: abortController.signal,
162
- });
163
- expect(result).toEqual({
164
- processedQuery: [
165
- { text: `@${relativePath}` },
166
- { text: '\n--- Content from referenced files ---' },
167
- { text: `\nContent from @${relativePath}:\n` },
168
- { text: fileContent },
169
- { text: '\n--- End of content ---' },
170
- ],
171
- });
172
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
173
- type: 'tool_group',
174
- tools: [
175
- expect.objectContaining({ status: CoreToolCallStatus.Success }),
176
- ],
177
- }), 125);
178
- });
179
- it('should process a valid directory path and convert to glob', async () => {
180
- const fileContent = 'This is the file content.';
181
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'file.txt'), fileContent);
182
- const dirPath = path.dirname(filePath);
183
- const relativeDirPath = getRelativePath(dirPath);
184
- const relativeFilePath = getRelativePath(filePath);
185
- const query = `@${dirPath}`;
186
- const resolvedGlob = path.join(relativeDirPath, '**');
187
- const result = await handleAtCommand({
188
- query,
189
- config: mockConfig,
190
- addItem: mockAddItem,
191
- onDebugMessage: mockOnDebugMessage,
192
- messageId: 126,
193
- signal: abortController.signal,
194
- });
195
- expect(result).toEqual({
196
- processedQuery: [
197
- { text: `@${resolvedGlob}` },
198
- { text: '\n--- Content from referenced files ---' },
199
- { text: `\nContent from @${relativeFilePath}:\n` },
200
- { text: fileContent },
201
- { text: '\n--- End of content ---' },
202
- ],
203
- });
204
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${dirPath} resolved to directory, using glob: ${resolvedGlob}`);
205
- });
206
- it('should handle query with text before and after @command', async () => {
207
- const fileContent = 'Markdown content.';
208
- const filePath = await createTestFile(path.join(testRootDir, 'doc.md'), fileContent);
209
- const relativePath = getRelativePath(filePath);
210
- const textBefore = 'Explain this: ';
211
- const textAfter = ' in detail.';
212
- const query = `${textBefore}@${filePath}${textAfter}`;
213
- const result = await handleAtCommand({
214
- query,
215
- config: mockConfig,
216
- addItem: mockAddItem,
217
- onDebugMessage: mockOnDebugMessage,
218
- messageId: 128,
219
- signal: abortController.signal,
220
- });
221
- expect(result).toEqual({
222
- processedQuery: [
223
- { text: `${textBefore}@${relativePath}${textAfter}` },
224
- { text: '\n--- Content from referenced files ---' },
225
- { text: `\nContent from @${relativePath}:\n` },
226
- { text: fileContent },
227
- { text: '\n--- End of content ---' },
228
- ],
229
- });
230
- });
231
- it('should correctly unescape paths with escaped spaces', async () => {
232
- const fileContent = 'This is the file content.';
233
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'my file.txt'), fileContent);
234
- const query = `@${core.escapePath(filePath)}`;
235
- const result = await handleAtCommand({
236
- query,
237
- config: mockConfig,
238
- addItem: mockAddItem,
239
- onDebugMessage: mockOnDebugMessage,
240
- messageId: 125,
241
- signal: abortController.signal,
242
- });
243
- expect(result).toEqual({
244
- processedQuery: [
245
- { text: `@${getRelativePath(filePath)}` },
246
- { text: '\n--- Content from referenced files ---' },
247
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
248
- { text: fileContent },
249
- { text: '\n--- End of content ---' },
250
- ],
251
- });
252
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
253
- type: 'tool_group',
254
- tools: [
255
- expect.objectContaining({ status: CoreToolCallStatus.Success }),
256
- ],
257
- }), 125);
258
- }, 10000);
259
- it('should correctly handle double-quoted paths with spaces', async () => {
260
- // Mock platform to win32 so unescapePath strips quotes
261
- vi.stubGlobal('process', Object.create(process, {
262
- platform: {
263
- get: () => 'win32',
264
- },
265
- }));
266
- const fileContent = 'Content of file with spaces';
267
- const filePath = await createTestFile(path.join(testRootDir, 'my folder', 'my file.txt'), fileContent);
268
- // On Windows, the user might provide: @"path/to/my file.txt"
269
- const query = `@"${filePath}"`;
270
- const result = await handleAtCommand({
271
- query,
272
- config: mockConfig,
273
- addItem: mockAddItem,
274
- onDebugMessage: mockOnDebugMessage,
275
- messageId: 126,
276
- signal: abortController.signal,
277
- });
278
- const relativePath = getRelativePath(filePath);
279
- expect(result).toEqual({
280
- processedQuery: [
281
- { text: `@${relativePath}` },
282
- { text: '\n--- Content from referenced files ---' },
283
- { text: `\nContent from @${relativePath}:\n` },
284
- { text: fileContent },
285
- { text: '\n--- End of content ---' },
286
- ],
287
- });
288
- });
289
- it('should correctly handle file paths with narrow non-breaking space (NNBSP)', async () => {
290
- const nnbsp = '\u202F';
291
- const fileContent = 'NNBSP file content.';
292
- const filePath = await createTestFile(path.join(testRootDir, `my${nnbsp}file.txt`), fileContent);
293
- const relativePath = getRelativePath(filePath);
294
- const query = `@${filePath}`;
295
- const result = await handleAtCommand({
296
- query,
297
- config: mockConfig,
298
- addItem: mockAddItem,
299
- onDebugMessage: mockOnDebugMessage,
300
- messageId: 129,
301
- signal: abortController.signal,
302
- });
303
- expect(result.error).toBeUndefined();
304
- expect(result.processedQuery).toEqual([
305
- { text: `@${relativePath}` },
306
- { text: '\n--- Content from referenced files ---' },
307
- { text: `\nContent from @${relativePath}:\n` },
308
- { text: fileContent },
309
- { text: '\n--- End of content ---' },
310
- ]);
311
- });
312
- it('should handle multiple @file references', async () => {
313
- const content1 = 'Content file1';
314
- const file1Path = await createTestFile(path.join(testRootDir, 'file1.txt'), content1);
315
- const content2 = 'Content file2';
316
- const file2Path = await createTestFile(path.join(testRootDir, 'file2.md'), content2);
317
- const query = `@${file1Path} @${file2Path}`;
318
- const result = await handleAtCommand({
319
- query,
320
- config: mockConfig,
321
- addItem: mockAddItem,
322
- onDebugMessage: mockOnDebugMessage,
323
- messageId: 130,
324
- signal: abortController.signal,
325
- });
326
- expect(result).toEqual({
327
- processedQuery: [
328
- {
329
- text: `@${getRelativePath(file1Path)} @${getRelativePath(file2Path)}`,
330
- },
331
- { text: '\n--- Content from referenced files ---' },
332
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
333
- { text: content1 },
334
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
335
- { text: content2 },
336
- { text: '\n--- End of content ---' },
337
- ],
338
- });
339
- });
340
- it('should handle multiple @file references with interleaved text', async () => {
341
- const text1 = 'Check ';
342
- const content1 = 'C1';
343
- const file1Path = await createTestFile(path.join(testRootDir, 'f1.txt'), content1);
344
- const text2 = ' and ';
345
- const content2 = 'C2';
346
- const file2Path = await createTestFile(path.join(testRootDir, 'f2.md'), content2);
347
- const text3 = ' please.';
348
- const query = `${text1}@${file1Path}${text2}@${file2Path}${text3}`;
349
- const result = await handleAtCommand({
350
- query,
351
- config: mockConfig,
352
- addItem: mockAddItem,
353
- onDebugMessage: mockOnDebugMessage,
354
- messageId: 131,
355
- signal: abortController.signal,
356
- });
357
- expect(result).toEqual({
358
- processedQuery: [
359
- {
360
- text: `${text1}@${getRelativePath(file1Path)}${text2}@${getRelativePath(file2Path)}${text3}`,
361
- },
362
- { text: '\n--- Content from referenced files ---' },
363
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
364
- { text: content1 },
365
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
366
- { text: content2 },
367
- { text: '\n--- End of content ---' },
368
- ],
369
- });
370
- });
371
- it('should handle a mix of valid, invalid, and lone @ references', async () => {
372
- const content1 = 'Valid content 1';
373
- const file1Path = await createTestFile(path.join(testRootDir, 'valid1.txt'), content1);
374
- const invalidFile = 'nonexistent.txt';
375
- const content2 = 'Globbed content';
376
- const file2Path = await createTestFile(path.join(testRootDir, 'resolved', 'valid2.actual'), content2);
377
- const query = `Look at @${file1Path} then @${invalidFile} and also just @ symbol, then @${file2Path}`;
378
- const result = await handleAtCommand({
379
- query,
380
- config: mockConfig,
381
- addItem: mockAddItem,
382
- onDebugMessage: mockOnDebugMessage,
383
- messageId: 132,
384
- signal: abortController.signal,
385
- });
386
- expect(result).toEqual({
387
- processedQuery: [
388
- {
389
- text: `Look at @${getRelativePath(file1Path)} then @${invalidFile} and also just @ symbol, then @${getRelativePath(file2Path)}`,
390
- },
391
- { text: '\n--- Content from referenced files ---' },
392
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
393
- { text: content2 },
394
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
395
- { text: content1 },
396
- { text: '\n--- End of content ---' },
397
- ],
398
- });
399
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${invalidFile} not found directly, attempting glob search.`);
400
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob search for '**/*${invalidFile}*' found no files or an error. Path ${invalidFile} will be skipped.`);
401
- });
402
- it('should return original query if all @paths are invalid or lone @', async () => {
403
- const query = 'Check @nonexistent.txt and @ also';
404
- const result = await handleAtCommand({
405
- query,
406
- config: mockConfig,
407
- addItem: mockAddItem,
408
- onDebugMessage: mockOnDebugMessage,
409
- messageId: 133,
410
- signal: abortController.signal,
411
- });
412
- expect(result).toEqual({
413
- processedQuery: [{ text: 'Check @nonexistent.txt and @ also' }],
414
- });
415
- });
416
- describe('git-aware filtering', () => {
417
- beforeEach(async () => {
418
- await fsPromises.mkdir(path.join(testRootDir, '.git'), {
419
- recursive: true,
420
- });
421
- });
422
- it('should skip git-ignored files in @ commands', async () => {
423
- await createTestFile(path.join(testRootDir, '.gitignore'), 'node_modules/package.json');
424
- const gitIgnoredFile = await createTestFile(path.join(testRootDir, 'node_modules', 'package.json'), 'the file contents');
425
- const query = `@${gitIgnoredFile}`;
426
- const result = await handleAtCommand({
427
- query,
428
- config: mockConfig,
429
- addItem: mockAddItem,
430
- onDebugMessage: mockOnDebugMessage,
431
- messageId: 200,
432
- signal: abortController.signal,
433
- });
434
- expect(result).toEqual({
435
- processedQuery: [{ text: query }],
436
- });
437
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
438
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
439
- });
440
- it('should process non-git-ignored files normally', async () => {
441
- await createTestFile(path.join(testRootDir, '.gitignore'), 'node_modules/package.json');
442
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'index.ts'), 'console.log("Hello world");');
443
- const query = `@${validFile}`;
444
- const result = await handleAtCommand({
445
- query,
446
- config: mockConfig,
447
- addItem: mockAddItem,
448
- onDebugMessage: mockOnDebugMessage,
449
- messageId: 201,
450
- signal: abortController.signal,
451
- });
452
- expect(result).toEqual({
453
- processedQuery: [
454
- { text: `@${getRelativePath(validFile)}` },
455
- { text: '\n--- Content from referenced files ---' },
456
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
457
- { text: 'console.log("Hello world");' },
458
- { text: '\n--- End of content ---' },
459
- ],
460
- });
461
- });
462
- it('should handle mixed git-ignored and valid files', async () => {
463
- await createTestFile(path.join(testRootDir, '.gitignore'), '.env');
464
- const validFile = await createTestFile(path.join(testRootDir, 'README.md'), '# Project README');
465
- const gitIgnoredFile = await createTestFile(path.join(testRootDir, '.env'), 'SECRET=123');
466
- const query = `@${validFile} @${gitIgnoredFile}`;
467
- const result = await handleAtCommand({
468
- query,
469
- config: mockConfig,
470
- addItem: mockAddItem,
471
- onDebugMessage: mockOnDebugMessage,
472
- messageId: 202,
473
- signal: abortController.signal,
474
- });
475
- expect(result).toEqual({
476
- processedQuery: [
477
- { text: `@${getRelativePath(validFile)} @${gitIgnoredFile}` },
478
- { text: '\n--- Content from referenced files ---' },
479
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
480
- { text: '# Project README' },
481
- { text: '\n--- End of content ---' },
482
- ],
483
- });
484
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitIgnoredFile} is git-ignored and will be skipped.`);
485
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitIgnoredFile}`);
486
- });
487
- it('should always ignore .git directory files', async () => {
488
- const gitFile = await createTestFile(path.join(testRootDir, '.git', 'config'), '[core]\n\trepositoryformatversion = 0\n');
489
- const query = `@${gitFile}`;
490
- const result = await handleAtCommand({
491
- query,
492
- config: mockConfig,
493
- addItem: mockAddItem,
494
- onDebugMessage: mockOnDebugMessage,
495
- messageId: 203,
496
- signal: abortController.signal,
497
- });
498
- expect(result).toEqual({
499
- processedQuery: [{ text: query }],
500
- });
501
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${gitFile} is git-ignored and will be skipped.`);
502
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGit-ignored: ${gitFile}`);
503
- });
504
- });
505
- describe('when recursive file search is disabled', () => {
506
- beforeEach(() => {
507
- vi.mocked(mockConfig.getEnableRecursiveFileSearch).mockReturnValue(false);
508
- });
509
- it('should not use glob search for a nonexistent file', async () => {
510
- const invalidFile = 'nonexistent.txt';
511
- const query = `@${invalidFile}`;
512
- const result = await handleAtCommand({
513
- query,
514
- config: mockConfig,
515
- addItem: mockAddItem,
516
- onDebugMessage: mockOnDebugMessage,
517
- messageId: 300,
518
- signal: abortController.signal,
519
- });
520
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Glob tool not found. Path ${invalidFile} will be skipped.`);
521
- expect(result.processedQuery).toEqual([{ text: query }]);
522
- expect(result.processedQuery).not.toBeNull();
523
- expect(result.error).toBeUndefined();
524
- });
525
- });
526
- describe('gemini-ignore filtering', () => {
527
- it('should skip gemini-ignored files in @ commands', async () => {
528
- await createTestFile(path.join(testRootDir, GEMINI_IGNORE_FILE_NAME), 'build/output.js');
529
- const geminiIgnoredFile = await createTestFile(path.join(testRootDir, 'build', 'output.js'), 'console.log("Hello");');
530
- const query = `@${geminiIgnoredFile}`;
531
- const result = await handleAtCommand({
532
- query,
533
- config: mockConfig,
534
- addItem: mockAddItem,
535
- onDebugMessage: mockOnDebugMessage,
536
- messageId: 204,
537
- signal: abortController.signal,
538
- });
539
- expect(result).toEqual({
540
- processedQuery: [{ text: query }],
541
- });
542
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
543
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
544
- });
545
- });
546
- it('should process non-ignored files when .geminiignore is present', async () => {
547
- await createTestFile(path.join(testRootDir, GEMINI_IGNORE_FILE_NAME), 'build/output.js');
548
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'index.ts'), 'console.log("Hello world");');
549
- const query = `@${validFile}`;
550
- const result = await handleAtCommand({
551
- query,
552
- config: mockConfig,
553
- addItem: mockAddItem,
554
- onDebugMessage: mockOnDebugMessage,
555
- messageId: 205,
556
- signal: abortController.signal,
557
- });
558
- expect(result).toEqual({
559
- processedQuery: [
560
- { text: `@${getRelativePath(validFile)}` },
561
- { text: '\n--- Content from referenced files ---' },
562
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
563
- { text: 'console.log("Hello world");' },
564
- { text: '\n--- End of content ---' },
565
- ],
566
- });
567
- });
568
- it('should handle mixed gemini-ignored and valid files', async () => {
569
- await createTestFile(path.join(testRootDir, GEMINI_IGNORE_FILE_NAME), 'dist/bundle.js');
570
- const validFile = await createTestFile(path.join(testRootDir, 'src', 'main.ts'), '// Main application entry');
571
- const geminiIgnoredFile = await createTestFile(path.join(testRootDir, 'dist', 'bundle.js'), 'console.log("bundle");');
572
- const query = `@${validFile} @${geminiIgnoredFile}`;
573
- const result = await handleAtCommand({
574
- query,
575
- config: mockConfig,
576
- addItem: mockAddItem,
577
- onDebugMessage: mockOnDebugMessage,
578
- messageId: 206,
579
- signal: abortController.signal,
580
- });
581
- expect(result).toEqual({
582
- processedQuery: [
583
- { text: `@${getRelativePath(validFile)} @${geminiIgnoredFile}` },
584
- { text: '\n--- Content from referenced files ---' },
585
- { text: `\nContent from @${getRelativePath(validFile)}:\n` },
586
- { text: '// Main application entry' },
587
- { text: '\n--- End of content ---' },
588
- ],
589
- });
590
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Path ${geminiIgnoredFile} is gemini-ignored and will be skipped.`);
591
- expect(mockOnDebugMessage).toHaveBeenCalledWith(`Ignored 1 files:\nGemini-ignored: ${geminiIgnoredFile}`);
592
- });
593
- describe('punctuation termination in @ commands', () => {
594
- const punctuationTestCases = [
595
- {
596
- name: 'comma',
597
- fileName: 'test.txt',
598
- fileContent: 'File content here',
599
- queryTemplate: (filePath) => `Look at @${getRelativePath(filePath)}, then explain it.`,
600
- messageId: 400,
601
- },
602
- {
603
- name: 'period',
604
- fileName: 'readme.md',
605
- fileContent: 'File content here',
606
- queryTemplate: (filePath) => `Check @${getRelativePath(filePath)}. What does it say?`,
607
- messageId: 401,
608
- },
609
- {
610
- name: 'semicolon',
611
- fileName: 'example.js',
612
- fileContent: 'Code example',
613
- queryTemplate: (filePath) => `Review @${getRelativePath(filePath)}; check for bugs.`,
614
- messageId: 402,
615
- },
616
- {
617
- name: 'exclamation mark',
618
- fileName: 'important.txt',
619
- fileContent: 'Important content',
620
- queryTemplate: (filePath) => `Look at @${getRelativePath(filePath)}! This is critical.`,
621
- messageId: 403,
622
- },
623
- {
624
- name: 'question mark',
625
- fileName: 'config.json',
626
- fileContent: 'Config settings',
627
- queryTemplate: (filePath) => `What is in @${getRelativePath(filePath)}? Please explain.`,
628
- messageId: 404,
629
- },
630
- {
631
- name: 'opening parenthesis',
632
- fileName: 'func.ts',
633
- fileContent: 'Function definition',
634
- queryTemplate: (filePath) => `Analyze @${getRelativePath(filePath)}(the main function).`,
635
- messageId: 405,
636
- },
637
- {
638
- name: 'closing parenthesis',
639
- fileName: 'data.json',
640
- fileContent: 'Test data',
641
- queryTemplate: (filePath) => `Use data from @${getRelativePath(filePath)}) for testing.`,
642
- messageId: 406,
643
- },
644
- {
645
- name: 'opening square bracket',
646
- fileName: 'array.js',
647
- fileContent: 'Array data',
648
- queryTemplate: (filePath) => `Check @${getRelativePath(filePath)}[0] for the first element.`,
649
- messageId: 407,
650
- },
651
- {
652
- name: 'closing square bracket',
653
- fileName: 'list.md',
654
- fileContent: 'List content',
655
- queryTemplate: (filePath) => `Review item @${getRelativePath(filePath)}] from the list.`,
656
- messageId: 408,
657
- },
658
- {
659
- name: 'opening curly brace',
660
- fileName: 'object.ts',
661
- fileContent: 'Object definition',
662
- queryTemplate: (filePath) => `Parse @${getRelativePath(filePath)}{prop1: value1}.`,
663
- messageId: 409,
664
- },
665
- {
666
- name: 'closing curly brace',
667
- fileName: 'config.yaml',
668
- fileContent: 'Configuration',
669
- queryTemplate: (filePath) => `Use settings from @${getRelativePath(filePath)}} for deployment.`,
670
- messageId: 410,
671
- },
672
- ];
673
- it.each(punctuationTestCases)('should terminate @path at $name', async ({ fileName, fileContent, queryTemplate, messageId }) => {
674
- const filePath = await createTestFile(path.join(testRootDir, fileName), fileContent);
675
- const query = queryTemplate(filePath);
676
- const result = await handleAtCommand({
677
- query,
678
- config: mockConfig,
679
- addItem: mockAddItem,
680
- onDebugMessage: mockOnDebugMessage,
681
- messageId,
682
- signal: abortController.signal,
683
- });
684
- expect(result).toEqual({
685
- processedQuery: [
686
- { text: query },
687
- { text: '\n--- Content from referenced files ---' },
688
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
689
- { text: fileContent },
690
- { text: '\n--- End of content ---' },
691
- ],
692
- });
693
- });
694
- it('should handle multiple @paths terminated by different punctuation', async () => {
695
- const content1 = 'First file';
696
- const file1Path = await createTestFile(path.join(testRootDir, 'first.txt'), content1);
697
- const content2 = 'Second file';
698
- const file2Path = await createTestFile(path.join(testRootDir, 'second.txt'), content2);
699
- const query = `Compare @${file1Path}, @${file2Path}; what's different?`;
700
- const result = await handleAtCommand({
701
- query,
702
- config: mockConfig,
703
- addItem: mockAddItem,
704
- onDebugMessage: mockOnDebugMessage,
705
- messageId: 411,
706
- signal: abortController.signal,
707
- });
708
- expect(result).toEqual({
709
- processedQuery: [
710
- {
711
- text: `Compare @${getRelativePath(file1Path)}, @${getRelativePath(file2Path)}; what's different?`,
712
- },
713
- { text: '\n--- Content from referenced files ---' },
714
- { text: `\nContent from @${getRelativePath(file1Path)}:\n` },
715
- { text: content1 },
716
- { text: `\nContent from @${getRelativePath(file2Path)}:\n` },
717
- { text: content2 },
718
- { text: '\n--- End of content ---' },
719
- ],
720
- });
721
- });
722
- it('should still handle escaped spaces in paths before punctuation', async () => {
723
- const fileContent = 'Spaced file content';
724
- const filePath = await createTestFile(path.join(testRootDir, 'spaced file.txt'), fileContent);
725
- const query = `Check @${core.escapePath(filePath)}, it has spaces.`;
726
- const result = await handleAtCommand({
727
- query,
728
- config: mockConfig,
729
- addItem: mockAddItem,
730
- onDebugMessage: mockOnDebugMessage,
731
- messageId: 412,
732
- signal: abortController.signal,
733
- });
734
- expect(result).toEqual({
735
- processedQuery: [
736
- { text: `Check @${getRelativePath(filePath)}, it has spaces.` },
737
- { text: '\n--- Content from referenced files ---' },
738
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
739
- { text: fileContent },
740
- { text: '\n--- End of content ---' },
741
- ],
742
- });
743
- });
744
- it('should not break file paths with periods in extensions', async () => {
745
- const fileContent = 'TypeScript content';
746
- const filePath = await createTestFile(path.join(testRootDir, 'example.d.ts'), fileContent);
747
- const query = `Analyze @${getRelativePath(filePath)} for type definitions.`;
748
- const result = await handleAtCommand({
749
- query,
750
- config: mockConfig,
751
- addItem: mockAddItem,
752
- onDebugMessage: mockOnDebugMessage,
753
- messageId: 413,
754
- signal: abortController.signal,
755
- });
756
- expect(result).toEqual({
757
- processedQuery: [
758
- {
759
- text: `Analyze @${getRelativePath(filePath)} for type definitions.`,
760
- },
761
- { text: '\n--- Content from referenced files ---' },
762
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
763
- { text: fileContent },
764
- { text: '\n--- End of content ---' },
765
- ],
766
- });
767
- });
768
- it('should handle file paths ending with period followed by space', async () => {
769
- const fileContent = 'Config content';
770
- const filePath = await createTestFile(path.join(testRootDir, 'config.json'), fileContent);
771
- const query = `Check @${getRelativePath(filePath)}. This file contains settings.`;
772
- const result = await handleAtCommand({
773
- query,
774
- config: mockConfig,
775
- addItem: mockAddItem,
776
- onDebugMessage: mockOnDebugMessage,
777
- messageId: 414,
778
- signal: abortController.signal,
779
- });
780
- expect(result).toEqual({
781
- processedQuery: [
782
- {
783
- text: `Check @${getRelativePath(filePath)}. This file contains settings.`,
784
- },
785
- { text: '\n--- Content from referenced files ---' },
786
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
787
- { text: fileContent },
788
- { text: '\n--- End of content ---' },
789
- ],
790
- });
791
- });
792
- it('should handle comma termination with complex file paths', async () => {
793
- const fileContent = 'Package info';
794
- const filePath = await createTestFile(path.join(testRootDir, 'package.json'), fileContent);
795
- const query = `Review @${getRelativePath(filePath)}, then check dependencies.`;
796
- const result = await handleAtCommand({
797
- query,
798
- config: mockConfig,
799
- addItem: mockAddItem,
800
- onDebugMessage: mockOnDebugMessage,
801
- messageId: 415,
802
- signal: abortController.signal,
803
- });
804
- expect(result).toEqual({
805
- processedQuery: [
806
- {
807
- text: `Review @${getRelativePath(filePath)}, then check dependencies.`,
808
- },
809
- { text: '\n--- Content from referenced files ---' },
810
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
811
- { text: fileContent },
812
- { text: '\n--- End of content ---' },
813
- ],
814
- });
815
- });
816
- it('should correctly handle file paths with multiple periods', async () => {
817
- const fileContent = 'Version info';
818
- const filePath = await createTestFile(path.join(testRootDir, 'version.1.2.3.txt'), fileContent);
819
- const query = `Check @${getRelativePath(filePath)} contains version information.`;
820
- const result = await handleAtCommand({
821
- query,
822
- config: mockConfig,
823
- addItem: mockAddItem,
824
- onDebugMessage: mockOnDebugMessage,
825
- messageId: 416,
826
- signal: abortController.signal,
827
- });
828
- expect(result).toEqual({
829
- processedQuery: [
830
- {
831
- text: `Check @${getRelativePath(filePath)} contains version information.`,
832
- },
833
- { text: '\n--- Content from referenced files ---' },
834
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
835
- { text: fileContent },
836
- { text: '\n--- End of content ---' },
837
- ],
838
- });
839
- });
840
- it('should handle end of string termination for period and comma', async () => {
841
- const fileContent = 'End file content';
842
- const filePath = await createTestFile(path.join(testRootDir, 'end.txt'), fileContent);
843
- const query = `Show me @${getRelativePath(filePath)}.`;
844
- const result = await handleAtCommand({
845
- query,
846
- config: mockConfig,
847
- addItem: mockAddItem,
848
- onDebugMessage: mockOnDebugMessage,
849
- messageId: 417,
850
- signal: abortController.signal,
851
- });
852
- expect(result).toEqual({
853
- processedQuery: [
854
- { text: `Show me @${getRelativePath(filePath)}.` },
855
- { text: '\n--- Content from referenced files ---' },
856
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
857
- { text: fileContent },
858
- { text: '\n--- End of content ---' },
859
- ],
860
- });
861
- });
862
- it('should handle files with special characters in names', async () => {
863
- const fileContent = 'File with special chars content';
864
- const filePath = await createTestFile(path.join(testRootDir, 'file$with&special#chars.txt'), fileContent);
865
- const query = `Check @${getRelativePath(filePath)} for content.`;
866
- const result = await handleAtCommand({
867
- query,
868
- config: mockConfig,
869
- addItem: mockAddItem,
870
- onDebugMessage: mockOnDebugMessage,
871
- messageId: 418,
872
- signal: abortController.signal,
873
- });
874
- expect(result).toEqual({
875
- processedQuery: [
876
- { text: `Check @${getRelativePath(filePath)} for content.` },
877
- { text: '\n--- Content from referenced files ---' },
878
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
879
- { text: fileContent },
880
- { text: '\n--- End of content ---' },
881
- ],
882
- });
883
- });
884
- it('should handle basic file names without special characters', async () => {
885
- const fileContent = 'Basic file content';
886
- const filePath = await createTestFile(path.join(testRootDir, 'basicfile.txt'), fileContent);
887
- const query = `Check @${getRelativePath(filePath)} please.`;
888
- const result = await handleAtCommand({
889
- query,
890
- config: mockConfig,
891
- addItem: mockAddItem,
892
- onDebugMessage: mockOnDebugMessage,
893
- messageId: 421,
894
- signal: abortController.signal,
895
- });
896
- expect(result).toEqual({
897
- processedQuery: [
898
- { text: `Check @${getRelativePath(filePath)} please.` },
899
- { text: '\n--- Content from referenced files ---' },
900
- { text: `\nContent from @${getRelativePath(filePath)}:\n` },
901
- { text: fileContent },
902
- { text: '\n--- End of content ---' },
903
- ],
904
- });
905
- });
906
- });
907
- describe('absolute path handling', () => {
908
- it('should handle absolute file paths correctly', async () => {
909
- const fileContent = 'console.log("This is an absolute path test");';
910
- const relativePath = path.join('src', 'absolute-test.ts');
911
- const absolutePath = await createTestFile(path.join(testRootDir, relativePath), fileContent);
912
- const query = `Check @${absolutePath} please.`;
913
- const result = await handleAtCommand({
914
- query,
915
- config: mockConfig,
916
- addItem: mockAddItem,
917
- onDebugMessage: mockOnDebugMessage,
918
- messageId: 500,
919
- signal: abortController.signal,
920
- });
921
- expect(result).toEqual({
922
- processedQuery: [
923
- { text: `Check @${relativePath} please.` },
924
- { text: '\n--- Content from referenced files ---' },
925
- { text: `\nContent from @${relativePath}:\n` },
926
- { text: fileContent },
927
- { text: '\n--- End of content ---' },
928
- ],
929
- });
930
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining(`using relative path: ${relativePath}`));
931
- });
932
- it('should handle absolute directory paths correctly', async () => {
933
- const fileContent = 'export default function test() { return "absolute dir test"; }';
934
- const subDirPath = path.join('src', 'utils');
935
- const fileName = 'helper.ts';
936
- await createTestFile(path.join(testRootDir, subDirPath, fileName), fileContent);
937
- const absoluteDirPath = path.join(testRootDir, subDirPath);
938
- const query = `Check @${absoluteDirPath} please.`;
939
- const result = await handleAtCommand({
940
- query,
941
- config: mockConfig,
942
- addItem: mockAddItem,
943
- onDebugMessage: mockOnDebugMessage,
944
- messageId: 501,
945
- signal: abortController.signal,
946
- });
947
- expect(result.processedQuery).not.toBeNull();
948
- expect(result.error).toBeUndefined();
949
- expect(result.processedQuery).toEqual(expect.arrayContaining([
950
- { text: `Check @${path.join(subDirPath, '**')} please.` },
951
- expect.objectContaining({
952
- text: '\n--- Content from referenced files ---',
953
- }),
954
- ]));
955
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining(`using glob: ${path.join(subDirPath, '**')}`));
956
- });
957
- });
958
- it("should not add the user's turn to history, as that is the caller's responsibility", async () => {
959
- // Arrange
960
- const fileContent = 'This is the file content.';
961
- const filePath = await createTestFile(path.join(testRootDir, 'path', 'to', 'another-file.txt'), fileContent);
962
- const query = `A query with @${getRelativePath(filePath)}`;
963
- // Act
964
- await handleAtCommand({
965
- query,
966
- config: mockConfig,
967
- addItem: mockAddItem,
968
- onDebugMessage: mockOnDebugMessage,
969
- messageId: 999,
970
- signal: abortController.signal,
971
- });
972
- // Assert
973
- // It SHOULD be called for the tool_group
974
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
975
- type: 'tool_group',
976
- }), 999);
977
- // It should NOT have been called for the user turn
978
- const userTurnCalls = mockAddItem.mock.calls.filter((call) => call[0].type === 'user');
979
- expect(userTurnCalls).toHaveLength(0);
980
- });
981
- describe('MCP resource attachments', () => {
982
- it('attaches MCP resource content when @serverName:uri matches registry', async () => {
983
- const serverName = 'server-1';
984
- const resourceUri = 'resource://server-1/logs';
985
- const prefixedUri = `${serverName}:${resourceUri}`;
986
- const resource = {
987
- serverName,
988
- uri: resourceUri,
989
- name: 'logs',
990
- discoveredAt: Date.now(),
991
- };
992
- vi.spyOn(mockConfig, 'getResourceRegistry').mockReturnValue({
993
- findResourceByUri: (identifier) => identifier === prefixedUri ? resource : undefined,
994
- getAllResources: () => [],
995
- });
996
- const readResource = vi.fn().mockResolvedValue({
997
- contents: [{ text: 'mcp resource body' }],
998
- });
999
- vi.spyOn(mockConfig, 'getMcpClientManager').mockReturnValue({
1000
- getClient: () => ({ readResource }),
1001
- });
1002
- const result = await handleAtCommand({
1003
- query: `@${prefixedUri}`,
1004
- config: mockConfig,
1005
- addItem: mockAddItem,
1006
- onDebugMessage: mockOnDebugMessage,
1007
- messageId: 42,
1008
- signal: abortController.signal,
1009
- });
1010
- expect(readResource).toHaveBeenCalledWith(resourceUri, {
1011
- signal: abortController.signal,
1012
- });
1013
- const processedParts = Array.isArray(result.processedQuery)
1014
- ? result.processedQuery
1015
- : [];
1016
- const containsResourceText = processedParts.some((part) => {
1017
- const text = typeof part === 'string' ? part : part?.text;
1018
- return typeof text === 'string' && text.includes('mcp resource body');
1019
- });
1020
- expect(containsResourceText).toBe(true);
1021
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
1022
- type: 'tool_group',
1023
- }), expect.any(Number));
1024
- });
1025
- it('returns an error if MCP client is unavailable', async () => {
1026
- const serverName = 'server-1';
1027
- const resourceUri = 'resource://server-1/logs';
1028
- const prefixedUri = `${serverName}:${resourceUri}`;
1029
- vi.spyOn(mockConfig, 'getResourceRegistry').mockReturnValue({
1030
- findResourceByUri: (identifier) => identifier === prefixedUri
1031
- ? {
1032
- serverName,
1033
- uri: resourceUri,
1034
- discoveredAt: Date.now(),
1035
- }
1036
- : undefined,
1037
- getAllResources: () => [],
1038
- });
1039
- vi.spyOn(mockConfig, 'getMcpClientManager').mockReturnValue({
1040
- getClient: () => undefined,
1041
- });
1042
- const result = await handleAtCommand({
1043
- query: `@${prefixedUri}`,
1044
- config: mockConfig,
1045
- addItem: mockAddItem,
1046
- onDebugMessage: mockOnDebugMessage,
1047
- messageId: 42,
1048
- signal: abortController.signal,
1049
- });
1050
- expect(result.processedQuery).toBeNull();
1051
- expect(result.error).toBeDefined();
1052
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
1053
- type: 'tool_group',
1054
- tools: expect.arrayContaining([
1055
- expect.objectContaining({
1056
- resultDisplay: expect.stringContaining("MCP client for server 'server-1' is not available or not connected."),
1057
- }),
1058
- ]),
1059
- }), expect.any(Number));
1060
- });
1061
- });
1062
- it('should return error if the read_many_files tool is cancelled by user', async () => {
1063
- const fileContent = 'Some content';
1064
- const filePath = await createTestFile(path.join(testRootDir, 'file.txt'), fileContent);
1065
- const query = `@${filePath}`;
1066
- // Simulate user cancellation
1067
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
1068
- const mockToolInstance = {
1069
- buildAndExecute: vi
1070
- .fn()
1071
- .mockRejectedValue(new Error('User cancelled operation')),
1072
- displayName: 'Read Many Files',
1073
- build: vi.fn(() => ({
1074
- execute: mockToolInstance.buildAndExecute,
1075
- getDescription: vi.fn(() => 'Mocked tool description'),
1076
- })),
1077
- };
1078
- const viSpy = vi.spyOn(core, 'ReadManyFilesTool');
1079
- viSpy.mockImplementation(() => mockToolInstance);
1080
- const result = await handleAtCommand({
1081
- query,
1082
- config: mockConfig,
1083
- addItem: mockAddItem,
1084
- onDebugMessage: mockOnDebugMessage,
1085
- messageId: 134,
1086
- signal: abortController.signal,
1087
- });
1088
- expect(result).toEqual({
1089
- processedQuery: null,
1090
- error: `Exiting due to an error processing the @ command: Error reading files (file.txt): User cancelled operation`,
1091
- });
1092
- expect(mockAddItem).toHaveBeenCalledWith(expect.objectContaining({
1093
- type: 'tool_group',
1094
- tools: [expect.objectContaining({ status: CoreToolCallStatus.Error })],
1095
- }), 134);
1096
- });
1097
- it('should resolve files in multiple workspace directories', async () => {
1098
- const secondRootDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), 'second-root-'));
1099
- try {
1100
- const fileContent = 'Second root content';
1101
- const filePath = path.join(secondRootDir, 'second-file.txt');
1102
- await fsPromises.writeFile(filePath, fileContent);
1103
- vi.spyOn(mockConfig.getWorkspaceContext(), 'getDirectories').mockReturnValue([testRootDir, secondRootDir]);
1104
- const query = '@second-file.txt';
1105
- const result = await handleAtCommand({
1106
- query,
1107
- config: mockConfig,
1108
- addItem: mockAddItem,
1109
- onDebugMessage: mockOnDebugMessage,
1110
- messageId: 700,
1111
- signal: abortController.signal,
1112
- });
1113
- expect(result.processedQuery).toContainEqual(expect.objectContaining({ text: fileContent }));
1114
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining(`resolved to file: ${filePath}`));
1115
- }
1116
- finally {
1117
- await fsPromises.rm(secondRootDir, { recursive: true, force: true });
1118
- }
1119
- });
1120
- it('should attempt glob fallback if direct resolution is unauthorized', async () => {
1121
- const fileContent = 'Globbed content';
1122
- const filePath = await createTestFile(path.join(testRootDir, 'secret', 'file.txt'), fileContent);
1123
- // Mock validatePathAccess to deny direct access but allow it via glob (just for test purposes)
1124
- vi.spyOn(mockConfig, 'validatePathAccess').mockImplementation((p) => {
1125
- if (p.includes('secret') && !p.includes('file.txt'))
1126
- return 'Unauthorized';
1127
- // Let's say the direct path 'secret/file.txt' is unauthorized
1128
- if (p === filePath)
1129
- return 'Access Denied';
1130
- return null;
1131
- });
1132
- const query = '@secret/file.txt';
1133
- await handleAtCommand({
1134
- query,
1135
- config: mockConfig,
1136
- addItem: mockAddItem,
1137
- onDebugMessage: mockOnDebugMessage,
1138
- messageId: 701,
1139
- signal: abortController.signal,
1140
- });
1141
- // In this case, resolveAtCommandPath returns status: 'unauthorized'.
1142
- // resolveFilePaths should then try glob fallback.
1143
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining('not found directly, attempting glob search.'));
1144
- });
1145
- it('should skip malformed paths (the original crash scenario)', async () => {
1146
- // We use a quoted path so the parser treats the whole thing as one @path token
1147
- const malformedPath = '"FAIL tests/int/my.test.ts ... AssertionError: expected true to be false"';
1148
- const query = `@${malformedPath}`;
1149
- const result = await handleAtCommand({
1150
- query,
1151
- config: mockConfig,
1152
- addItem: mockAddItem,
1153
- onDebugMessage: mockOnDebugMessage,
1154
- messageId: 702,
1155
- signal: abortController.signal,
1156
- });
1157
- // Malformed path should be skipped and original query part preserved as text
1158
- expect(result.processedQuery).toEqual([{ text: query }]);
1159
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining('Identified invalid path fragment, attempting to extract path'));
1160
- });
1161
- it('should recover a buried path from a malformed fragment during handleAtCommand', async () => {
1162
- const buriedFile = 'src/recovered.ts';
1163
- await createTestFile(path.join(testRootDir, buriedFile), 'Recovered content');
1164
- const malformedFragment = `"FAIL ${buriedFile}:10:5 (AssertionError)"`;
1165
- const query = `@${malformedFragment}`;
1166
- const result = await handleAtCommand({
1167
- query,
1168
- config: mockConfig,
1169
- addItem: mockAddItem,
1170
- onDebugMessage: mockOnDebugMessage,
1171
- messageId: 703,
1172
- signal: abortController.signal,
1173
- });
1174
- // It should extract src/recovered.ts and attach its content
1175
- expect(result.processedQuery).toContainEqual(expect.objectContaining({ text: 'Recovered content' }));
1176
- expect(mockOnDebugMessage).toHaveBeenCalledWith(expect.stringContaining('Identified invalid path fragment, attempting to extract path'));
1177
- });
1178
- });
1179
- describe('escapeAtSymbols', () => {
1180
- it('escapes a bare @ symbol', () => {
1181
- expect(escapeAtSymbols('test@domain.com')).toBe('test\\@domain.com');
1182
- });
1183
- it('escapes a leading @ symbol', () => {
1184
- expect(escapeAtSymbols('@scope/pkg')).toBe('\\@scope/pkg');
1185
- });
1186
- it('escapes multiple @ symbols', () => {
1187
- expect(escapeAtSymbols('a@b and c@d')).toBe('a\\@b and c\\@d');
1188
- });
1189
- it('does not double-escape an already escaped @', () => {
1190
- expect(escapeAtSymbols('test\\@domain.com')).toBe('test\\@domain.com');
1191
- });
1192
- it('returns text with no @ unchanged', () => {
1193
- expect(escapeAtSymbols('hello world')).toBe('hello world');
1194
- });
1195
- it('returns empty string unchanged', () => {
1196
- expect(escapeAtSymbols('')).toBe('');
1197
- });
1198
- });
1199
- describe('unescapeLiteralAt', () => {
1200
- it('unescapes \\@ to @', () => {
1201
- expect(unescapeLiteralAt('test\\@domain.com')).toBe('test@domain.com');
1202
- });
1203
- it('unescapes a leading \\@', () => {
1204
- expect(unescapeLiteralAt('\\@scope/pkg')).toBe('@scope/pkg');
1205
- });
1206
- it('unescapes multiple \\@ sequences', () => {
1207
- expect(unescapeLiteralAt('a\\@b and c\\@d')).toBe('a@b and c@d');
1208
- });
1209
- it('returns text with no \\@ unchanged', () => {
1210
- expect(unescapeLiteralAt('hello world')).toBe('hello world');
1211
- });
1212
- it('returns empty string unchanged', () => {
1213
- expect(unescapeLiteralAt('')).toBe('');
1214
- });
1215
- it('roundtrips correctly with escapeAtSymbols', () => {
1216
- const input = 'user@example.com and @scope/pkg';
1217
- expect(unescapeLiteralAt(escapeAtSymbols(input))).toBe(input);
1218
- });
1219
- });
1220
- describe('checkPermissions', () => {
1221
- let testRootDir;
1222
- let mockConfig;
1223
- beforeEach(async () => {
1224
- vi.restoreAllMocks();
1225
- testRootDir = await fsPromises.mkdtemp(path.join(os.tmpdir(), 'check-permissions-test-'));
1226
- mockConfig = {
1227
- getTargetDir: () => testRootDir,
1228
- getAgentRegistry: () => ({
1229
- getDefinition: () => undefined,
1230
- }),
1231
- getResourceRegistry: () => ({
1232
- findResourceByUri: () => undefined,
1233
- getAllResources: () => [],
1234
- }),
1235
- validatePathAccess: () => null,
1236
- };
1237
- });
1238
- afterEach(async () => {
1239
- await fsPromises.rm(testRootDir, { recursive: true, force: true });
1240
- });
1241
- // Regression for #22029 (and related #25910 / #25923): when a user pastes
1242
- // a JSON-like blob after an @, the @-command regex greedily captures it.
1243
- // The resolved string is longer than NAME_MAX, so fs.realpathSync throws
1244
- // ENAMETOOLONG. Previously this bubbled up as an unhandled rejection and
1245
- // crashed the CLI.
1246
- it('skips @-mentions whose path is too long to be a real filesystem entry', async () => {
1247
- const longSegment = 'a'.repeat(8192);
1248
- const query = `@${longSegment}`;
1249
- await expect(checkPermissions(query, mockConfig)).resolves.toEqual([]);
1250
- });
1251
- it('still surfaces real @-mentioned files when a sibling @-mention is unresolvable', async () => {
1252
- // A real file alongside a giant pasted-blob mention: the bogus mention
1253
- // should be skipped, the real one should still appear in the result.
1254
- const realFile = path.join(testRootDir, 'real.txt');
1255
- await fsPromises.writeFile(realFile, 'hello');
1256
- const resolvedRealFile = fs.realpathSync(realFile);
1257
- mockConfig.validatePathAccess = () => 'permission required';
1258
- const longSegment = 'b'.repeat(8192);
1259
- const query = `@real.txt and @${longSegment}`;
1260
- await expect(checkPermissions(query, mockConfig)).resolves.toEqual([
1261
- resolvedRealFile,
1262
- ]);
1263
- });
1264
- });
1265
- //# sourceMappingURL=atCommandProcessor.test.js.map