@google/gemini-cli 0.30.1 → 0.31.0-preview.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (727) hide show
  1. package/README.md +1 -1
  2. package/dist/google-gemini-cli-0.31.0-preview.0.tgz +0 -0
  3. package/dist/index.d.ts +1 -1
  4. package/dist/index.js +15 -2
  5. package/dist/index.js.map +1 -1
  6. package/dist/package.json +7 -6
  7. package/dist/src/commands/extensions/install.js +72 -4
  8. package/dist/src/commands/extensions/install.js.map +1 -1
  9. package/dist/src/commands/extensions/install.test.js +153 -20
  10. package/dist/src/commands/extensions/install.test.js.map +1 -1
  11. package/dist/src/commands/extensions/utils.js +1 -0
  12. package/dist/src/commands/extensions/utils.js.map +1 -1
  13. package/dist/src/config/config.js +17 -5
  14. package/dist/src/config/config.js.map +1 -1
  15. package/dist/src/config/config.test.js +79 -4
  16. package/dist/src/config/config.test.js.map +1 -1
  17. package/dist/src/config/extension-manager-hydration.test.js +2 -2
  18. package/dist/src/config/extension-manager-hydration.test.js.map +1 -1
  19. package/dist/src/config/extension-manager.js +10 -6
  20. package/dist/src/config/extension-manager.js.map +1 -1
  21. package/dist/src/config/extension.test.js +20 -20
  22. package/dist/src/config/extension.test.js.map +1 -1
  23. package/dist/src/config/extensionRegistryClient.js +3 -2
  24. package/dist/src/config/extensionRegistryClient.js.map +1 -1
  25. package/dist/src/config/extensionRegistryClient.test.js +52 -0
  26. package/dist/src/config/extensionRegistryClient.test.js.map +1 -1
  27. package/dist/src/config/extensions/consent.d.ts +10 -0
  28. package/dist/src/config/extensions/consent.js +10 -3
  29. package/dist/src/config/extensions/consent.js.map +1 -1
  30. package/dist/src/config/extensions/consent.test.js +1 -1
  31. package/dist/src/config/extensions/consent.test.js.map +1 -1
  32. package/dist/src/config/extensions/extensionEnablement.js +1 -0
  33. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  34. package/dist/src/config/extensions/extensionSettings.js +20 -3
  35. package/dist/src/config/extensions/extensionSettings.js.map +1 -1
  36. package/dist/src/config/extensions/extensionSettings.test.js +16 -0
  37. package/dist/src/config/extensions/extensionSettings.test.js.map +1 -1
  38. package/dist/src/config/extensions/github.test.js +1 -1
  39. package/dist/src/config/extensions/github.test.js.map +1 -1
  40. package/dist/src/config/extensions/variables.js +3 -1
  41. package/dist/src/config/extensions/variables.js.map +1 -1
  42. package/dist/src/config/keyBindings.js +6 -2
  43. package/dist/src/config/keyBindings.js.map +1 -1
  44. package/dist/src/config/policy-engine.integration.test.js +51 -13
  45. package/dist/src/config/policy-engine.integration.test.js.map +1 -1
  46. package/dist/src/config/policy.d.ts +15 -3
  47. package/dist/src/config/policy.js +49 -4
  48. package/dist/src/config/policy.js.map +1 -1
  49. package/dist/src/config/policy.test.d.ts +6 -0
  50. package/dist/src/config/policy.test.js +152 -0
  51. package/dist/src/config/policy.test.js.map +1 -0
  52. package/dist/src/config/settings-validation.js +1 -1
  53. package/dist/src/config/settings-validation.js.map +1 -1
  54. package/dist/src/config/settings-validation.test.js +2 -3
  55. package/dist/src/config/settings-validation.test.js.map +1 -1
  56. package/dist/src/config/settings.d.ts +2 -0
  57. package/dist/src/config/settings.js +18 -20
  58. package/dist/src/config/settings.js.map +1 -1
  59. package/dist/src/config/settings.test.js +118 -18
  60. package/dist/src/config/settings.test.js.map +1 -1
  61. package/dist/src/config/settingsSchema.d.ts +171 -9
  62. package/dist/src/config/settingsSchema.js +159 -9
  63. package/dist/src/config/settingsSchema.js.map +1 -1
  64. package/dist/src/config/settingsSchema.test.js +26 -0
  65. package/dist/src/config/settingsSchema.test.js.map +1 -1
  66. package/dist/src/config/settings_repro.test.js +0 -1
  67. package/dist/src/config/settings_repro.test.js.map +1 -1
  68. package/dist/src/config/trustedFolders.test.js +3 -1
  69. package/dist/src/config/trustedFolders.test.js.map +1 -1
  70. package/dist/src/config/workspace-policy-cli.test.d.ts +6 -0
  71. package/dist/src/config/workspace-policy-cli.test.js +180 -0
  72. package/dist/src/config/workspace-policy-cli.test.js.map +1 -0
  73. package/dist/src/gemini.d.ts +2 -2
  74. package/dist/src/gemini.js +15 -5
  75. package/dist/src/gemini.js.map +1 -1
  76. package/dist/src/gemini.test.js +18 -2
  77. package/dist/src/gemini.test.js.map +1 -1
  78. package/dist/src/gemini_cleanup.test.js +27 -24
  79. package/dist/src/gemini_cleanup.test.js.map +1 -1
  80. package/dist/src/generated/git-commit.d.ts +2 -2
  81. package/dist/src/generated/git-commit.js +2 -2
  82. package/dist/src/generated/git-commit.js.map +1 -1
  83. package/dist/src/integration-tests/modelSteering.test.d.ts +6 -0
  84. package/dist/src/integration-tests/modelSteering.test.js +65 -0
  85. package/dist/src/integration-tests/modelSteering.test.js.map +1 -0
  86. package/dist/src/nonInteractiveCli.js +2 -3
  87. package/dist/src/nonInteractiveCli.js.map +1 -1
  88. package/dist/src/test-utils/AppRig.d.ts +1 -1
  89. package/dist/src/test-utils/AppRig.js +16 -7
  90. package/dist/src/test-utils/AppRig.js.map +1 -1
  91. package/dist/src/test-utils/AppRig.test.js +37 -2
  92. package/dist/src/test-utils/AppRig.test.js.map +1 -1
  93. package/dist/src/test-utils/async.d.ts +1 -1
  94. package/dist/src/test-utils/async.js +1 -1
  95. package/dist/src/test-utils/async.js.map +1 -1
  96. package/dist/src/test-utils/customMatchers.js +1 -1
  97. package/dist/src/test-utils/customMatchers.js.map +1 -1
  98. package/dist/src/test-utils/mockCommandContext.js +8 -2
  99. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  100. package/dist/src/test-utils/mockConfig.js +2 -1
  101. package/dist/src/test-utils/mockConfig.js.map +1 -1
  102. package/dist/src/test-utils/render.d.ts +81 -5
  103. package/dist/src/test-utils/render.js +299 -29
  104. package/dist/src/test-utils/render.js.map +1 -1
  105. package/dist/src/test-utils/render.test.js +49 -23
  106. package/dist/src/test-utils/render.test.js.map +1 -1
  107. package/dist/src/test-utils/settings.js +4 -2
  108. package/dist/src/test-utils/settings.js.map +1 -1
  109. package/dist/src/ui/App.test.js +56 -24
  110. package/dist/src/ui/App.test.js.map +1 -1
  111. package/dist/src/ui/AppContainer.d.ts +2 -2
  112. package/dist/src/ui/AppContainer.js +231 -11
  113. package/dist/src/ui/AppContainer.js.map +1 -1
  114. package/dist/src/ui/AppContainer.test.js +561 -7
  115. package/dist/src/ui/AppContainer.test.js.map +1 -1
  116. package/dist/src/ui/IdeIntegrationNudge.test.js +29 -33
  117. package/dist/src/ui/IdeIntegrationNudge.test.js.map +1 -1
  118. package/dist/src/ui/auth/ApiAuthDialog.test.js +19 -9
  119. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
  120. package/dist/src/ui/auth/AuthDialog.js +1 -1
  121. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  122. package/dist/src/ui/auth/AuthDialog.test.js +61 -27
  123. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  124. package/dist/src/ui/auth/AuthInProgress.test.js +35 -14
  125. package/dist/src/ui/auth/AuthInProgress.test.js.map +1 -1
  126. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +11 -5
  127. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -1
  128. package/dist/src/ui/colors.js +6 -0
  129. package/dist/src/ui/colors.js.map +1 -1
  130. package/dist/src/ui/commands/clearCommand.js +2 -0
  131. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  132. package/dist/src/ui/commands/clearCommand.test.js +7 -1
  133. package/dist/src/ui/commands/clearCommand.test.js.map +1 -1
  134. package/dist/src/ui/commands/copyCommand.js +2 -1
  135. package/dist/src/ui/commands/copyCommand.js.map +1 -1
  136. package/dist/src/ui/commands/copyCommand.test.js +6 -4
  137. package/dist/src/ui/commands/copyCommand.test.js.map +1 -1
  138. package/dist/src/ui/commands/extensionsCommand.js +18 -0
  139. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  140. package/dist/src/ui/commands/extensionsCommand.test.js +4 -4
  141. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -1
  142. package/dist/src/ui/commands/planCommand.js +1 -1
  143. package/dist/src/ui/commands/planCommand.js.map +1 -1
  144. package/dist/src/ui/commands/planCommand.test.js +1 -1
  145. package/dist/src/ui/commands/planCommand.test.js.map +1 -1
  146. package/dist/src/ui/commands/policiesCommand.js +5 -0
  147. package/dist/src/ui/commands/policiesCommand.js.map +1 -1
  148. package/dist/src/ui/commands/policiesCommand.test.js +38 -1
  149. package/dist/src/ui/commands/policiesCommand.test.js.map +1 -1
  150. package/dist/src/ui/commands/rewindCommand.js +3 -2
  151. package/dist/src/ui/commands/rewindCommand.js.map +1 -1
  152. package/dist/src/ui/components/AboutBox.test.js +16 -8
  153. package/dist/src/ui/components/AboutBox.test.js.map +1 -1
  154. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +7 -4
  155. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +1 -1
  156. package/dist/src/ui/components/AgentConfigDialog.test.js +41 -19
  157. package/dist/src/ui/components/AgentConfigDialog.test.js.map +1 -1
  158. package/dist/src/ui/components/AlternateBufferQuittingDisplay.js +1 -1
  159. package/dist/src/ui/components/AlternateBufferQuittingDisplay.js.map +1 -1
  160. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js +24 -12
  161. package/dist/src/ui/components/AlternateBufferQuittingDisplay.test.js.map +1 -1
  162. package/dist/src/ui/components/AnsiOutput.test.js +35 -19
  163. package/dist/src/ui/components/AnsiOutput.test.js.map +1 -1
  164. package/dist/src/ui/components/AppHeader.test.js +27 -17
  165. package/dist/src/ui/components/AppHeader.test.js.map +1 -1
  166. package/dist/src/ui/components/ApprovalModeIndicator.test.js +18 -12
  167. package/dist/src/ui/components/ApprovalModeIndicator.test.js.map +1 -1
  168. package/dist/src/ui/components/AskUserDialog.test.js +147 -85
  169. package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
  170. package/dist/src/ui/components/BackgroundShellDisplay.test.js +50 -48
  171. package/dist/src/ui/components/BackgroundShellDisplay.test.js.map +1 -1
  172. package/dist/src/ui/components/Banner.test.js +8 -4
  173. package/dist/src/ui/components/Banner.test.js.map +1 -1
  174. package/dist/src/ui/components/Checklist.test.js +17 -12
  175. package/dist/src/ui/components/Checklist.test.js.map +1 -1
  176. package/dist/src/ui/components/ChecklistItem.test.js +9 -6
  177. package/dist/src/ui/components/ChecklistItem.test.js.map +1 -1
  178. package/dist/src/ui/components/CliSpinner.test.js +8 -5
  179. package/dist/src/ui/components/CliSpinner.test.js.map +1 -1
  180. package/dist/src/ui/components/Composer.js +5 -5
  181. package/dist/src/ui/components/Composer.js.map +1 -1
  182. package/dist/src/ui/components/Composer.test.js +104 -100
  183. package/dist/src/ui/components/Composer.test.js.map +1 -1
  184. package/dist/src/ui/components/ConfigInitDisplay.test.js +3 -2
  185. package/dist/src/ui/components/ConfigInitDisplay.test.js.map +1 -1
  186. package/dist/src/ui/components/ConsentPrompt.test.js +15 -8
  187. package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -1
  188. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js +9 -5
  189. package/dist/src/ui/components/ConsoleSummaryDisplay.test.js.map +1 -1
  190. package/dist/src/ui/components/ContextSummaryDisplay.test.js +16 -14
  191. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -1
  192. package/dist/src/ui/components/ContextUsageDisplay.test.js +12 -6
  193. package/dist/src/ui/components/ContextUsageDisplay.test.js.map +1 -1
  194. package/dist/src/ui/components/CopyModeWarning.test.js +9 -5
  195. package/dist/src/ui/components/CopyModeWarning.test.js.map +1 -1
  196. package/dist/src/ui/components/DebugProfiler.test.js +17 -14
  197. package/dist/src/ui/components/DebugProfiler.test.js.map +1 -1
  198. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +13 -7
  199. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
  200. package/dist/src/ui/components/DialogManager.js +5 -1
  201. package/dist/src/ui/components/DialogManager.js.map +1 -1
  202. package/dist/src/ui/components/DialogManager.test.js +9 -5
  203. package/dist/src/ui/components/DialogManager.test.js.map +1 -1
  204. package/dist/src/ui/components/EditorSettingsDialog.test.js +16 -8
  205. package/dist/src/ui/components/EditorSettingsDialog.test.js.map +1 -1
  206. package/dist/src/ui/components/ExitPlanModeDialog.js +2 -2
  207. package/dist/src/ui/components/ExitPlanModeDialog.js.map +1 -1
  208. package/dist/src/ui/components/ExitPlanModeDialog.test.js +2 -2
  209. package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +1 -1
  210. package/dist/src/ui/components/ExitWarning.test.js +18 -10
  211. package/dist/src/ui/components/ExitWarning.test.js.map +1 -1
  212. package/dist/src/ui/components/FolderTrustDialog.d.ts +2 -0
  213. package/dist/src/ui/components/FolderTrustDialog.js +49 -3
  214. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -1
  215. package/dist/src/ui/components/FolderTrustDialog.test.js +249 -18
  216. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  217. package/dist/src/ui/components/Footer.test.js +101 -50
  218. package/dist/src/ui/components/Footer.test.js.map +1 -1
  219. package/dist/src/ui/components/GeminiRespondingSpinner.test.js +23 -13
  220. package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +1 -1
  221. package/dist/src/ui/components/GradientRegression.test.js +20 -10
  222. package/dist/src/ui/components/GradientRegression.test.js.map +1 -1
  223. package/dist/src/ui/components/Header.test.js +2 -0
  224. package/dist/src/ui/components/Header.test.js.map +1 -1
  225. package/dist/src/ui/components/Help.test.js +9 -6
  226. package/dist/src/ui/components/Help.test.js.map +1 -1
  227. package/dist/src/ui/components/HistoryItemDisplay.d.ts +1 -2
  228. package/dist/src/ui/components/HistoryItemDisplay.js +4 -3
  229. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  230. package/dist/src/ui/components/HistoryItemDisplay.test.js +80 -35
  231. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  232. package/dist/src/ui/components/HookStatusDisplay.test.js +13 -9
  233. package/dist/src/ui/components/HookStatusDisplay.test.js.map +1 -1
  234. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +36 -16
  235. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -1
  236. package/dist/src/ui/components/InputPrompt.js +10 -12
  237. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  238. package/dist/src/ui/components/InputPrompt.test.js +127 -13
  239. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  240. package/dist/src/ui/components/LoadingIndicator.test.js +97 -47
  241. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
  242. package/dist/src/ui/components/LogoutConfirmationDialog.test.js +25 -9
  243. package/dist/src/ui/components/LogoutConfirmationDialog.test.js.map +1 -1
  244. package/dist/src/ui/components/LoopDetectionConfirmation.test.js +9 -5
  245. package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -1
  246. package/dist/src/ui/components/MainContent.js +35 -14
  247. package/dist/src/ui/components/MainContent.js.map +1 -1
  248. package/dist/src/ui/components/MainContent.test.js +224 -10
  249. package/dist/src/ui/components/MainContent.test.js.map +1 -1
  250. package/dist/src/ui/components/MemoryUsageDisplay.test.js +8 -3
  251. package/dist/src/ui/components/MemoryUsageDisplay.test.js.map +1 -1
  252. package/dist/src/ui/components/ModelDialog.js +6 -6
  253. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  254. package/dist/src/ui/components/ModelDialog.test.js +142 -16
  255. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  256. package/dist/src/ui/components/ModelStatsDisplay.test.js +38 -24
  257. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -1
  258. package/dist/src/ui/components/MultiFolderTrustDialog.test.js +32 -9
  259. package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
  260. package/dist/src/ui/components/NewAgentsNotification.test.js +6 -4
  261. package/dist/src/ui/components/NewAgentsNotification.test.js.map +1 -1
  262. package/dist/src/ui/components/Notifications.js +50 -4
  263. package/dist/src/ui/components/Notifications.js.map +1 -1
  264. package/dist/src/ui/components/Notifications.test.js +162 -30
  265. package/dist/src/ui/components/Notifications.test.js.map +1 -1
  266. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +36 -10
  267. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
  268. package/dist/src/ui/components/PolicyUpdateDialog.d.ts +18 -0
  269. package/dist/src/ui/components/PolicyUpdateDialog.js +59 -0
  270. package/dist/src/ui/components/PolicyUpdateDialog.js.map +1 -0
  271. package/dist/src/ui/components/PolicyUpdateDialog.test.d.ts +6 -0
  272. package/dist/src/ui/components/PolicyUpdateDialog.test.js +93 -0
  273. package/dist/src/ui/components/PolicyUpdateDialog.test.js.map +1 -0
  274. package/dist/src/ui/components/QueuedMessageDisplay.test.js +16 -11
  275. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -1
  276. package/dist/src/ui/components/QuittingDisplay.test.js +9 -5
  277. package/dist/src/ui/components/QuittingDisplay.test.js.map +1 -1
  278. package/dist/src/ui/components/QuotaDisplay.test.js +40 -22
  279. package/dist/src/ui/components/QuotaDisplay.test.js.map +1 -1
  280. package/dist/src/ui/components/RawMarkdownIndicator.test.js +8 -4
  281. package/dist/src/ui/components/RawMarkdownIndicator.test.js.map +1 -1
  282. package/dist/src/ui/components/RewindConfirmation.test.js +15 -7
  283. package/dist/src/ui/components/RewindConfirmation.test.js.map +1 -1
  284. package/dist/src/ui/components/RewindViewer.js +9 -7
  285. package/dist/src/ui/components/RewindViewer.js.map +1 -1
  286. package/dist/src/ui/components/RewindViewer.test.js +54 -17
  287. package/dist/src/ui/components/RewindViewer.test.js.map +1 -1
  288. package/dist/src/ui/components/SessionBrowser.test.js +24 -11
  289. package/dist/src/ui/components/SessionBrowser.test.js.map +1 -1
  290. package/dist/src/ui/components/SessionRetentionWarningDialog.test.js +12 -7
  291. package/dist/src/ui/components/SessionRetentionWarningDialog.test.js.map +1 -1
  292. package/dist/src/ui/components/SessionSummaryDisplay.js +1 -1
  293. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  294. package/dist/src/ui/components/SessionSummaryDisplay.test.js +7 -4
  295. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -1
  296. package/dist/src/ui/components/SettingsDialog.js +76 -7
  297. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  298. package/dist/src/ui/components/SettingsDialog.test.js +252 -109
  299. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  300. package/dist/src/ui/components/ShellInputPrompt.test.js +120 -67
  301. package/dist/src/ui/components/ShellInputPrompt.test.js.map +1 -1
  302. package/dist/src/ui/components/ShellModeIndicator.test.js +4 -2
  303. package/dist/src/ui/components/ShellModeIndicator.test.js.map +1 -1
  304. package/dist/src/ui/components/ShortcutsHelp.js +1 -1
  305. package/dist/src/ui/components/ShortcutsHelp.js.map +1 -1
  306. package/dist/src/ui/components/ShortcutsHelp.test.js +6 -3
  307. package/dist/src/ui/components/ShortcutsHelp.test.js.map +1 -1
  308. package/dist/src/ui/components/ShowMoreLines.d.ts +2 -1
  309. package/dist/src/ui/components/ShowMoreLines.js +10 -5
  310. package/dist/src/ui/components/ShowMoreLines.js.map +1 -1
  311. package/dist/src/ui/components/ShowMoreLines.test.js +47 -7
  312. package/dist/src/ui/components/ShowMoreLines.test.js.map +1 -1
  313. package/dist/src/ui/components/StatsDisplay.d.ts +1 -0
  314. package/dist/src/ui/components/StatsDisplay.js +9 -3
  315. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  316. package/dist/src/ui/components/StatsDisplay.test.js +51 -34
  317. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  318. package/dist/src/ui/components/StatusDisplay.test.js +30 -17
  319. package/dist/src/ui/components/StatusDisplay.test.js.map +1 -1
  320. package/dist/src/ui/components/StickyHeader.test.js +4 -2
  321. package/dist/src/ui/components/StickyHeader.test.js.map +1 -1
  322. package/dist/src/ui/components/SuggestionsDisplay.test.js +19 -13
  323. package/dist/src/ui/components/SuggestionsDisplay.test.js.map +1 -1
  324. package/dist/src/ui/components/Table.test.js +9 -6
  325. package/dist/src/ui/components/Table.test.js.map +1 -1
  326. package/dist/src/ui/components/ThemeDialog.test.js +42 -19
  327. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
  328. package/dist/src/ui/components/ThemedGradient.test.js +4 -2
  329. package/dist/src/ui/components/ThemedGradient.test.js.map +1 -1
  330. package/dist/src/ui/components/Tips.test.js +4 -2
  331. package/dist/src/ui/components/Tips.test.js.map +1 -1
  332. package/dist/src/ui/components/ToastDisplay.js +6 -1
  333. package/dist/src/ui/components/ToastDisplay.js.map +1 -1
  334. package/dist/src/ui/components/ToastDisplay.test.js +48 -17
  335. package/dist/src/ui/components/ToastDisplay.test.js.map +1 -1
  336. package/dist/src/ui/components/ToolConfirmationQueue.js +11 -8
  337. package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
  338. package/dist/src/ui/components/ToolConfirmationQueue.test.js +75 -17
  339. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
  340. package/dist/src/ui/components/ToolStatsDisplay.test.js +19 -12
  341. package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -1
  342. package/dist/src/ui/components/UpdateNotification.test.js +4 -2
  343. package/dist/src/ui/components/UpdateNotification.test.js.map +1 -1
  344. package/dist/src/ui/components/UserIdentity.test.js +16 -11
  345. package/dist/src/ui/components/UserIdentity.test.js.map +1 -1
  346. package/dist/src/ui/components/ValidationDialog.test.js +33 -16
  347. package/dist/src/ui/components/ValidationDialog.test.js.map +1 -1
  348. package/dist/src/ui/components/messages/CompressionMessage.test.js +99 -101
  349. package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -1
  350. package/dist/src/ui/components/messages/ErrorMessage.test.js +8 -4
  351. package/dist/src/ui/components/messages/ErrorMessage.test.js.map +1 -1
  352. package/dist/src/ui/components/messages/GeminiMessage.js +5 -1
  353. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  354. package/dist/src/ui/components/messages/GeminiMessage.test.js +12 -6
  355. package/dist/src/ui/components/messages/GeminiMessage.test.js.map +1 -1
  356. package/dist/src/ui/components/messages/HintMessage.d.ts +11 -0
  357. package/dist/src/ui/components/messages/HintMessage.js +14 -0
  358. package/dist/src/ui/components/messages/HintMessage.js.map +1 -0
  359. package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -0
  360. package/dist/src/ui/components/messages/InfoMessage.js +2 -2
  361. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  362. package/dist/src/ui/components/messages/InfoMessage.test.js +12 -6
  363. package/dist/src/ui/components/messages/InfoMessage.test.js.map +1 -1
  364. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +4 -2
  365. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +1 -1
  366. package/dist/src/ui/components/messages/ShellToolMessage.d.ts +1 -2
  367. package/dist/src/ui/components/messages/ShellToolMessage.js +15 -29
  368. package/dist/src/ui/components/messages/ShellToolMessage.js.map +1 -1
  369. package/dist/src/ui/components/messages/ShellToolMessage.test.js +91 -22
  370. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
  371. package/dist/src/ui/components/messages/ThinkingMessage.test.js +25 -13
  372. package/dist/src/ui/components/messages/ThinkingMessage.test.js.map +1 -1
  373. package/dist/src/ui/components/messages/Todo.test.js +34 -19
  374. package/dist/src/ui/components/messages/Todo.test.js.map +1 -1
  375. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +128 -13
  376. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  377. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +175 -20
  378. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  379. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +3 -4
  380. package/dist/src/ui/components/messages/ToolGroupMessage.js +91 -35
  381. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  382. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +286 -63
  383. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  384. package/dist/src/ui/components/messages/ToolMessage.js +4 -4
  385. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  386. package/dist/src/ui/components/messages/ToolMessage.test.js +118 -39
  387. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  388. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js +15 -6
  389. package/dist/src/ui/components/messages/ToolMessageFocusHint.test.js.map +1 -1
  390. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +4 -2
  391. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +1 -1
  392. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.d.ts +6 -0
  393. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js +79 -0
  394. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js.map +1 -0
  395. package/dist/src/ui/components/messages/ToolResultDisplay.js +25 -14
  396. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
  397. package/dist/src/ui/components/messages/ToolResultDisplay.test.js +81 -31
  398. package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
  399. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js +5 -5
  400. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js.map +1 -1
  401. package/dist/src/ui/components/messages/ToolShared.d.ts +8 -0
  402. package/dist/src/ui/components/messages/ToolShared.js +27 -9
  403. package/dist/src/ui/components/messages/ToolShared.js.map +1 -1
  404. package/dist/src/ui/components/messages/ToolShared.test.d.ts +6 -0
  405. package/dist/src/ui/components/messages/ToolShared.test.js +52 -0
  406. package/dist/src/ui/components/messages/ToolShared.test.js.map +1 -0
  407. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +11 -4
  408. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +1 -1
  409. package/dist/src/ui/components/messages/UserMessage.js +1 -2
  410. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  411. package/dist/src/ui/components/messages/UserMessage.test.js +16 -8
  412. package/dist/src/ui/components/messages/UserMessage.test.js.map +1 -1
  413. package/dist/src/ui/components/messages/UserShellMessage.js +1 -2
  414. package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
  415. package/dist/src/ui/components/messages/WarningMessage.test.js +8 -4
  416. package/dist/src/ui/components/messages/WarningMessage.test.js.map +1 -1
  417. package/dist/src/ui/components/shared/BaseSelectionList.test.js +118 -106
  418. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  419. package/dist/src/ui/components/shared/BaseSettingsDialog.js +22 -24
  420. package/dist/src/ui/components/shared/BaseSettingsDialog.js.map +1 -1
  421. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js +139 -40
  422. package/dist/src/ui/components/shared/BaseSettingsDialog.test.js.map +1 -1
  423. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +10 -6
  424. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -1
  425. package/dist/src/ui/components/shared/EnumSelector.test.js +42 -20
  426. package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -1
  427. package/dist/src/ui/components/shared/ExpandableText.test.js +21 -14
  428. package/dist/src/ui/components/shared/ExpandableText.test.js.map +1 -1
  429. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js +8 -4
  430. package/dist/src/ui/components/shared/HalfLinePaddedBox.test.js.map +1 -1
  431. package/dist/src/ui/components/shared/MaxSizedBox.test.js +41 -30
  432. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
  433. package/dist/src/ui/components/shared/Scrollable.js +2 -3
  434. package/dist/src/ui/components/shared/Scrollable.js.map +1 -1
  435. package/dist/src/ui/components/shared/Scrollable.test.js +33 -17
  436. package/dist/src/ui/components/shared/Scrollable.test.js.map +1 -1
  437. package/dist/src/ui/components/shared/ScrollableList.js +1 -1
  438. package/dist/src/ui/components/shared/ScrollableList.js.map +1 -1
  439. package/dist/src/ui/components/shared/ScrollableList.test.js +36 -6
  440. package/dist/src/ui/components/shared/ScrollableList.test.js.map +1 -1
  441. package/dist/src/ui/components/shared/SearchableList.d.ts +46 -14
  442. package/dist/src/ui/components/shared/SearchableList.js +69 -57
  443. package/dist/src/ui/components/shared/SearchableList.js.map +1 -1
  444. package/dist/src/ui/components/shared/SearchableList.test.js +67 -14
  445. package/dist/src/ui/components/shared/SearchableList.test.js.map +1 -1
  446. package/dist/src/ui/components/shared/SectionHeader.d.ts +1 -0
  447. package/dist/src/ui/components/shared/SectionHeader.js +1 -1
  448. package/dist/src/ui/components/shared/SectionHeader.js.map +1 -1
  449. package/dist/src/ui/components/shared/SectionHeader.test.js +9 -2
  450. package/dist/src/ui/components/shared/SectionHeader.test.js.map +1 -1
  451. package/dist/src/ui/components/shared/TabHeader.js +1 -1
  452. package/dist/src/ui/components/shared/TabHeader.js.map +1 -1
  453. package/dist/src/ui/components/shared/TabHeader.test.js +65 -25
  454. package/dist/src/ui/components/shared/TabHeader.test.js.map +1 -1
  455. package/dist/src/ui/components/shared/TextInput.test.js +111 -65
  456. package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
  457. package/dist/src/ui/components/shared/VirtualizedList.test.js +27 -35
  458. package/dist/src/ui/components/shared/VirtualizedList.test.js.map +1 -1
  459. package/dist/src/ui/components/triage/TriageDuplicates.js +1 -0
  460. package/dist/src/ui/components/triage/TriageDuplicates.js.map +1 -1
  461. package/dist/src/ui/components/triage/TriageIssues.js +1 -0
  462. package/dist/src/ui/components/triage/TriageIssues.js.map +1 -1
  463. package/dist/src/ui/components/views/ChatList.test.js +9 -6
  464. package/dist/src/ui/components/views/ChatList.test.js.map +1 -1
  465. package/dist/src/ui/components/views/ExtensionRegistryView.d.ts +15 -0
  466. package/dist/src/ui/components/views/ExtensionRegistryView.js +60 -0
  467. package/dist/src/ui/components/views/ExtensionRegistryView.js.map +1 -0
  468. package/dist/src/ui/components/views/ExtensionRegistryView.test.d.ts +6 -0
  469. package/dist/src/ui/components/views/ExtensionRegistryView.test.js +168 -0
  470. package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +1 -0
  471. package/dist/src/ui/components/views/ExtensionsList.test.js +21 -19
  472. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -1
  473. package/dist/src/ui/components/views/McpStatus.test.js +38 -25
  474. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
  475. package/dist/src/ui/components/views/SkillsList.test.js +18 -12
  476. package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
  477. package/dist/src/ui/components/views/ToolsList.test.js +9 -6
  478. package/dist/src/ui/components/views/ToolsList.test.js.map +1 -1
  479. package/dist/src/ui/constants/tips.js +1 -1
  480. package/dist/src/ui/constants/tips.js.map +1 -1
  481. package/dist/src/ui/constants.d.ts +2 -1
  482. package/dist/src/ui/constants.js +2 -1
  483. package/dist/src/ui/constants.js.map +1 -1
  484. package/dist/src/ui/contexts/AppContext.d.ts +2 -1
  485. package/dist/src/ui/contexts/AppContext.js.map +1 -1
  486. package/dist/src/ui/contexts/KeypressContext.js +37 -8
  487. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  488. package/dist/src/ui/contexts/KeypressContext.test.js +68 -0
  489. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  490. package/dist/src/ui/contexts/OverflowContext.d.ts +3 -3
  491. package/dist/src/ui/contexts/OverflowContext.js +5 -1
  492. package/dist/src/ui/contexts/OverflowContext.js.map +1 -1
  493. package/dist/src/ui/contexts/TerminalContext.test.js +26 -15
  494. package/dist/src/ui/contexts/TerminalContext.test.js.map +1 -1
  495. package/dist/src/ui/contexts/UIActionsContext.d.ts +6 -1
  496. package/dist/src/ui/contexts/UIActionsContext.js +1 -1
  497. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  498. package/dist/src/ui/contexts/UIStateContext.d.ts +7 -1
  499. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  500. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  501. package/dist/src/ui/hooks/atCommandProcessor.test.js +6 -2
  502. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  503. package/dist/src/ui/hooks/slashCommandProcessor.js +23 -11
  504. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  505. package/dist/src/ui/hooks/slashCommandProcessor.test.js +30 -14
  506. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  507. package/dist/src/ui/hooks/toolMapping.d.ts +2 -0
  508. package/dist/src/ui/hooks/toolMapping.js +13 -1
  509. package/dist/src/ui/hooks/toolMapping.js.map +1 -1
  510. package/dist/src/ui/hooks/toolMapping.test.js +42 -0
  511. package/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
  512. package/dist/src/ui/hooks/useAnimatedScrollbar.js +13 -3
  513. package/dist/src/ui/hooks/useAnimatedScrollbar.js.map +1 -1
  514. package/dist/src/ui/hooks/useAtCompletion.js +74 -22
  515. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  516. package/dist/src/ui/hooks/useAtCompletion.test.js +88 -0
  517. package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
  518. package/dist/src/ui/hooks/useCommandCompletion.js +2 -3
  519. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  520. package/dist/src/ui/hooks/useCommandCompletion.test.js +0 -4
  521. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  522. package/dist/src/ui/hooks/useConfirmingTool.d.ts +2 -6
  523. package/dist/src/ui/hooks/useConfirmingTool.js +2 -23
  524. package/dist/src/ui/hooks/useConfirmingTool.js.map +1 -1
  525. package/dist/src/ui/hooks/useConsoleMessages.js +18 -6
  526. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  527. package/dist/src/ui/hooks/useConsoleMessages.test.js +4 -4
  528. package/dist/src/ui/hooks/useExtensionRegistry.d.ts +13 -0
  529. package/dist/src/ui/hooks/useExtensionRegistry.js +70 -0
  530. package/dist/src/ui/hooks/useExtensionRegistry.js.map +1 -0
  531. package/dist/src/ui/hooks/useFocus.d.ts +4 -1
  532. package/dist/src/ui/hooks/useFocus.js +7 -1
  533. package/dist/src/ui/hooks/useFocus.js.map +1 -1
  534. package/dist/src/ui/hooks/useFocus.test.js +20 -11
  535. package/dist/src/ui/hooks/useFocus.test.js.map +1 -1
  536. package/dist/src/ui/hooks/useFolderTrust.d.ts +2 -0
  537. package/dist/src/ui/hooks/useFolderTrust.js +15 -3
  538. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  539. package/dist/src/ui/hooks/useFolderTrust.test.js +3 -0
  540. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  541. package/dist/src/ui/hooks/useGeminiStream.d.ts +1 -1
  542. package/dist/src/ui/hooks/useGeminiStream.js +86 -20
  543. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  544. package/dist/src/ui/hooks/useGeminiStream.test.js +150 -1
  545. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  546. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +3 -1
  547. package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
  548. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  549. package/dist/src/ui/hooks/useLoadingIndicator.test.js +9 -4
  550. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  551. package/dist/src/ui/hooks/useMouseClick.test.js +15 -7
  552. package/dist/src/ui/hooks/useMouseClick.test.js.map +1 -1
  553. package/dist/src/ui/hooks/usePhraseCycler.d.ts +4 -2
  554. package/dist/src/ui/hooks/usePhraseCycler.js +38 -26
  555. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  556. package/dist/src/ui/hooks/usePhraseCycler.test.js +123 -73
  557. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  558. package/dist/src/ui/hooks/usePromptCompletion.d.ts +1 -2
  559. package/dist/src/ui/hooks/usePromptCompletion.js +2 -2
  560. package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -1
  561. package/dist/src/ui/hooks/useRegistrySearch.d.ts +19 -0
  562. package/dist/src/ui/hooks/useRegistrySearch.js +35 -0
  563. package/dist/src/ui/hooks/useRegistrySearch.js.map +1 -0
  564. package/dist/src/ui/hooks/useRunEventNotifications.d.ts +22 -0
  565. package/dist/src/ui/hooks/useRunEventNotifications.js +93 -0
  566. package/dist/src/ui/hooks/useRunEventNotifications.js.map +1 -0
  567. package/dist/src/ui/hooks/useSearchBuffer.d.ts +11 -0
  568. package/dist/src/ui/hooks/useSearchBuffer.js +24 -0
  569. package/dist/src/ui/hooks/useSearchBuffer.js.map +1 -0
  570. package/dist/src/ui/hooks/useSelectionList.test.js +111 -45
  571. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  572. package/dist/src/ui/hooks/useSessionBrowser.js +3 -2
  573. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  574. package/dist/src/ui/hooks/useSessionBrowser.test.js +15 -12
  575. package/dist/src/ui/hooks/useSessionBrowser.test.js.map +1 -1
  576. package/dist/src/ui/hooks/useSessionResume.js +2 -2
  577. package/dist/src/ui/hooks/useSessionResume.js.map +1 -1
  578. package/dist/src/ui/hooks/useSlashCompletion.js +1 -0
  579. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  580. package/dist/src/ui/hooks/useStateAndRef.js +1 -0
  581. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
  582. package/dist/src/ui/hooks/useTerminalTheme.test.js +29 -18
  583. package/dist/src/ui/hooks/useTerminalTheme.test.js.map +1 -1
  584. package/dist/src/ui/hooks/useToolScheduler.js +19 -2
  585. package/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
  586. package/dist/src/ui/hooks/useToolScheduler.test.js +44 -0
  587. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  588. package/dist/src/ui/keyMatchers.test.js +1 -0
  589. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  590. package/dist/src/ui/layouts/DefaultAppLayout.test.js +12 -6
  591. package/dist/src/ui/layouts/DefaultAppLayout.test.js.map +1 -1
  592. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js +24 -8
  593. package/dist/src/ui/privacy/CloudFreePrivacyNotice.test.js.map +1 -1
  594. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js +16 -5
  595. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.test.js.map +1 -1
  596. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js +16 -5
  597. package/dist/src/ui/privacy/GeminiPrivacyNotice.test.js.map +1 -1
  598. package/dist/src/ui/privacy/PrivacyNotice.test.js +4 -2
  599. package/dist/src/ui/privacy/PrivacyNotice.test.js.map +1 -1
  600. package/dist/src/ui/themes/no-color.js +4 -0
  601. package/dist/src/ui/themes/no-color.js.map +1 -1
  602. package/dist/src/ui/themes/semantic-tokens.d.ts +2 -0
  603. package/dist/src/ui/themes/semantic-tokens.js +6 -2
  604. package/dist/src/ui/themes/semantic-tokens.js.map +1 -1
  605. package/dist/src/ui/themes/solarized-dark.js +2 -0
  606. package/dist/src/ui/themes/solarized-dark.js.map +1 -1
  607. package/dist/src/ui/themes/solarized-light.js +2 -0
  608. package/dist/src/ui/themes/solarized-light.js.map +1 -1
  609. package/dist/src/ui/themes/theme-manager.js +9 -4
  610. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  611. package/dist/src/ui/themes/theme.d.ts +2 -0
  612. package/dist/src/ui/themes/theme.js +20 -7
  613. package/dist/src/ui/themes/theme.js.map +1 -1
  614. package/dist/src/ui/themes/theme.test.js +7 -7
  615. package/dist/src/ui/themes/theme.test.js.map +1 -1
  616. package/dist/src/ui/types.d.ts +14 -2
  617. package/dist/src/ui/types.js +1 -0
  618. package/dist/src/ui/types.js.map +1 -1
  619. package/dist/src/ui/utils/CodeColorizer.js +3 -5
  620. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  621. package/dist/src/ui/utils/CodeColorizer.test.js +4 -2
  622. package/dist/src/ui/utils/CodeColorizer.test.js.map +1 -1
  623. package/dist/src/ui/utils/InlineMarkdownRenderer.js +3 -1
  624. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  625. package/dist/src/ui/utils/MarkdownDisplay.js +1 -1
  626. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  627. package/dist/src/ui/utils/MarkdownDisplay.test.js +65 -33
  628. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  629. package/dist/src/ui/utils/TableRenderer.js +7 -3
  630. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  631. package/dist/src/ui/utils/TableRenderer.test.js +43 -22
  632. package/dist/src/ui/utils/TableRenderer.test.js.map +1 -1
  633. package/dist/src/ui/utils/borderStyles.d.ts +18 -0
  634. package/dist/src/ui/utils/borderStyles.js +78 -0
  635. package/dist/src/ui/utils/borderStyles.js.map +1 -0
  636. package/dist/src/ui/utils/commandUtils.d.ts +2 -1
  637. package/dist/src/ui/utils/commandUtils.js +8 -3
  638. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  639. package/dist/src/ui/utils/commandUtils.test.js +18 -0
  640. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  641. package/dist/src/ui/utils/confirmingTool.d.ts +15 -0
  642. package/dist/src/ui/utils/confirmingTool.js +27 -0
  643. package/dist/src/ui/utils/confirmingTool.js.map +1 -0
  644. package/dist/src/ui/utils/pendingAttentionNotification.d.ts +12 -0
  645. package/dist/src/ui/utils/pendingAttentionNotification.js +101 -0
  646. package/dist/src/ui/utils/pendingAttentionNotification.js.map +1 -0
  647. package/dist/src/ui/utils/pendingAttentionNotification.test.d.ts +6 -0
  648. package/dist/src/ui/utils/pendingAttentionNotification.test.js +79 -0
  649. package/dist/src/ui/utils/pendingAttentionNotification.test.js.map +1 -0
  650. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +2 -0
  651. package/dist/src/ui/utils/terminalCapabilityManager.js +18 -0
  652. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  653. package/dist/src/ui/utils/terminalCapabilityManager.test.js +68 -0
  654. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  655. package/dist/src/ui/utils/terminalSetup.d.ts +24 -0
  656. package/dist/src/ui/utils/terminalSetup.js +130 -34
  657. package/dist/src/ui/utils/terminalSetup.js.map +1 -1
  658. package/dist/src/ui/utils/terminalSetup.test.js +35 -1
  659. package/dist/src/ui/utils/terminalSetup.test.js.map +1 -1
  660. package/dist/src/ui/utils/textUtils.d.ts +4 -0
  661. package/dist/src/ui/utils/textUtils.js +10 -1
  662. package/dist/src/ui/utils/textUtils.js.map +1 -1
  663. package/dist/src/ui/utils/textUtils.test.js +25 -2
  664. package/dist/src/ui/utils/textUtils.test.js.map +1 -1
  665. package/dist/src/ui/utils/toolLayoutUtils.d.ts +44 -0
  666. package/dist/src/ui/utils/toolLayoutUtils.js +73 -0
  667. package/dist/src/ui/utils/toolLayoutUtils.js.map +1 -0
  668. package/dist/src/ui/utils/urlSecurityUtils.d.ts +32 -0
  669. package/dist/src/ui/utils/urlSecurityUtils.js +71 -0
  670. package/dist/src/ui/utils/urlSecurityUtils.js.map +1 -0
  671. package/dist/src/ui/utils/urlSecurityUtils.test.d.ts +6 -0
  672. package/dist/src/ui/utils/urlSecurityUtils.test.js +49 -0
  673. package/dist/src/ui/utils/urlSecurityUtils.test.js.map +1 -0
  674. package/dist/src/utils/activityLogger.js +95 -24
  675. package/dist/src/utils/activityLogger.js.map +1 -1
  676. package/dist/src/utils/devtoolsService.js +1 -2
  677. package/dist/src/utils/devtoolsService.js.map +1 -1
  678. package/dist/src/utils/devtoolsService.test.js +1 -1
  679. package/dist/src/utils/devtoolsService.test.js.map +1 -1
  680. package/dist/src/utils/envVarResolver.js +4 -1
  681. package/dist/src/utils/envVarResolver.js.map +1 -1
  682. package/dist/src/utils/gitUtils.js +2 -0
  683. package/dist/src/utils/gitUtils.js.map +1 -1
  684. package/dist/src/utils/jsonoutput.js +2 -0
  685. package/dist/src/utils/jsonoutput.js.map +1 -1
  686. package/dist/src/utils/persistentState.d.ts +2 -0
  687. package/dist/src/utils/persistentState.js +1 -0
  688. package/dist/src/utils/persistentState.js.map +1 -1
  689. package/dist/src/utils/readStdin.js +1 -0
  690. package/dist/src/utils/readStdin.js.map +1 -1
  691. package/dist/src/utils/sessionUtils.d.ts +1 -6
  692. package/dist/src/utils/sessionUtils.js +8 -101
  693. package/dist/src/utils/sessionUtils.js.map +1 -1
  694. package/dist/src/utils/sessionUtils.test.js +47 -0
  695. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  696. package/dist/src/utils/settingsUtils.js +2 -0
  697. package/dist/src/utils/settingsUtils.js.map +1 -1
  698. package/dist/src/utils/skillUtils.test.js +7 -5
  699. package/dist/src/utils/skillUtils.test.js.map +1 -1
  700. package/dist/src/utils/terminalNotifications.d.ts +25 -0
  701. package/dist/src/utils/terminalNotifications.js +77 -0
  702. package/dist/src/utils/terminalNotifications.js.map +1 -0
  703. package/dist/src/utils/terminalNotifications.test.d.ts +6 -0
  704. package/dist/src/utils/terminalNotifications.test.js +123 -0
  705. package/dist/src/utils/terminalNotifications.test.js.map +1 -0
  706. package/dist/src/utils/userStartupWarnings.d.ts +4 -1
  707. package/dist/src/utils/userStartupWarnings.js +22 -4
  708. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  709. package/dist/src/utils/userStartupWarnings.test.js +53 -11
  710. package/dist/src/utils/userStartupWarnings.test.js.map +1 -1
  711. package/dist/src/zed-integration/acpErrors.js +2 -0
  712. package/dist/src/zed-integration/acpErrors.js.map +1 -1
  713. package/dist/src/zed-integration/acpResume.test.js +53 -3
  714. package/dist/src/zed-integration/acpResume.test.js.map +1 -1
  715. package/dist/src/zed-integration/fileSystemService.js +2 -0
  716. package/dist/src/zed-integration/fileSystemService.js.map +1 -1
  717. package/dist/src/zed-integration/zedIntegration.d.ts +2 -0
  718. package/dist/src/zed-integration/zedIntegration.js +77 -6
  719. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  720. package/dist/src/zed-integration/zedIntegration.test.js +176 -2
  721. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
  722. package/dist/tsconfig.tsbuildinfo +1 -1
  723. package/package.json +8 -7
  724. package/dist/google-gemini-cli-0.30.0.tgz +0 -0
  725. package/dist/src/ui/hooks/useFuzzyList.d.ts +0 -25
  726. package/dist/src/ui/hooks/useFuzzyList.js +0 -100
  727. package/dist/src/ui/hooks/useFuzzyList.js.map +0 -1
@@ -30,45 +30,58 @@ describe('<Scrollable />', () => {
30
30
  beforeEach(() => {
31
31
  vi.restoreAllMocks();
32
32
  });
33
- it('renders children', () => {
34
- const { lastFrame } = renderWithProviders(_jsx(Scrollable, { hasFocus: false, height: 5, children: _jsx(Text, { children: "Hello World" }) }));
33
+ it('renders children', async () => {
34
+ const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsx(Scrollable, { hasFocus: false, height: 5, children: _jsx(Text, { children: "Hello World" }) }));
35
+ await waitUntilReady();
35
36
  expect(lastFrame()).toContain('Hello World');
37
+ unmount();
36
38
  });
37
- it('renders multiple children', () => {
38
- const { lastFrame } = renderWithProviders(_jsxs(Scrollable, { hasFocus: false, height: 5, children: [_jsx(Text, { children: "Line 1" }), _jsx(Text, { children: "Line 2" }), _jsx(Text, { children: "Line 3" })] }));
39
+ it('renders multiple children', async () => {
40
+ const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsxs(Scrollable, { hasFocus: false, height: 5, children: [_jsx(Text, { children: "Line 1" }), _jsx(Text, { children: "Line 2" }), _jsx(Text, { children: "Line 3" })] }));
41
+ await waitUntilReady();
39
42
  expect(lastFrame()).toContain('Line 1');
40
43
  expect(lastFrame()).toContain('Line 2');
41
44
  expect(lastFrame()).toContain('Line 3');
45
+ unmount();
42
46
  });
43
- it('matches snapshot', () => {
44
- const { lastFrame } = renderWithProviders(_jsxs(Scrollable, { hasFocus: false, height: 5, children: [_jsx(Text, { children: "Line 1" }), _jsx(Text, { children: "Line 2" }), _jsx(Text, { children: "Line 3" })] }));
47
+ it('matches snapshot', async () => {
48
+ const { lastFrame, waitUntilReady, unmount } = renderWithProviders(_jsxs(Scrollable, { hasFocus: false, height: 5, children: [_jsx(Text, { children: "Line 1" }), _jsx(Text, { children: "Line 2" }), _jsx(Text, { children: "Line 3" })] }));
49
+ await waitUntilReady();
45
50
  expect(lastFrame()).toMatchSnapshot();
51
+ unmount();
46
52
  });
47
- it('updates scroll position correctly when scrollBy is called multiple times in the same tick', () => {
53
+ it('updates scroll position correctly when scrollBy is called multiple times in the same tick', async () => {
48
54
  let capturedEntry;
49
- vi.spyOn(ScrollProviderModule, 'useScrollable').mockImplementation((entry, isActive) => {
55
+ vi.spyOn(ScrollProviderModule, 'useScrollable').mockImplementation(async (entry, isActive) => {
50
56
  if (isActive) {
51
57
  capturedEntry = entry;
52
58
  }
53
59
  });
54
- renderWithProviders(_jsxs(Scrollable, { hasFocus: true, height: 5, children: [_jsx(Text, { children: "Line 1" }), _jsx(Text, { children: "Line 2" }), _jsx(Text, { children: "Line 3" }), _jsx(Text, { children: "Line 4" }), _jsx(Text, { children: "Line 5" }), _jsx(Text, { children: "Line 6" }), _jsx(Text, { children: "Line 7" }), _jsx(Text, { children: "Line 8" }), _jsx(Text, { children: "Line 9" }), _jsx(Text, { children: "Line 10" })] }));
60
+ const { waitUntilReady, unmount } = renderWithProviders(_jsxs(Scrollable, { hasFocus: true, height: 5, children: [_jsx(Text, { children: "Line 1" }), _jsx(Text, { children: "Line 2" }), _jsx(Text, { children: "Line 3" }), _jsx(Text, { children: "Line 4" }), _jsx(Text, { children: "Line 5" }), _jsx(Text, { children: "Line 6" }), _jsx(Text, { children: "Line 7" }), _jsx(Text, { children: "Line 8" }), _jsx(Text, { children: "Line 9" }), _jsx(Text, { children: "Line 10" })] }));
61
+ await waitUntilReady();
55
62
  expect(capturedEntry).toBeDefined();
56
63
  if (!capturedEntry) {
57
64
  throw new Error('capturedEntry is undefined');
58
65
  }
59
- // Initial state (starts at bottom because of auto-scroll logic)
66
+ // Initial state (starts at top by default)
67
+ expect(capturedEntry.getScrollState().scrollTop).toBe(0);
68
+ // Initial state with scrollToBottom={true}
69
+ unmount();
70
+ const { waitUntilReady: waitUntilReady2, unmount: unmount2 } = renderWithProviders(_jsxs(Scrollable, { hasFocus: true, height: 5, scrollToBottom: true, children: [_jsx(Text, { children: "Line 1" }), _jsx(Text, { children: "Line 2" }), _jsx(Text, { children: "Line 3" }), _jsx(Text, { children: "Line 4" }), _jsx(Text, { children: "Line 5" }), _jsx(Text, { children: "Line 6" }), _jsx(Text, { children: "Line 7" }), _jsx(Text, { children: "Line 8" }), _jsx(Text, { children: "Line 9" }), _jsx(Text, { children: "Line 10" })] }));
71
+ await waitUntilReady2();
60
72
  expect(capturedEntry.getScrollState().scrollTop).toBe(5);
61
73
  // Call scrollBy multiple times (upwards) in the same tick
62
- act(() => {
74
+ await act(async () => {
63
75
  capturedEntry.scrollBy(-1);
64
76
  capturedEntry.scrollBy(-1);
65
77
  });
66
- // Should have moved up by 2
78
+ // Should have moved up by 2 (5 -> 3)
67
79
  expect(capturedEntry.getScrollState().scrollTop).toBe(3);
68
- act(() => {
80
+ await act(async () => {
69
81
  capturedEntry.scrollBy(-2);
70
82
  });
71
83
  expect(capturedEntry.getScrollState().scrollTop).toBe(1);
84
+ unmount2();
72
85
  });
73
86
  describe('keypress handling', () => {
74
87
  it.each([
@@ -112,14 +125,15 @@ describe('<Scrollable />', () => {
112
125
  const ink = await import('ink');
113
126
  vi.mocked(ink.getScrollHeight).mockReturnValue(scrollHeight);
114
127
  let capturedEntry;
115
- vi.spyOn(ScrollProviderModule, 'useScrollable').mockImplementation((entry, isActive) => {
128
+ vi.spyOn(ScrollProviderModule, 'useScrollable').mockImplementation(async (entry, isActive) => {
116
129
  if (isActive) {
117
130
  capturedEntry = entry;
118
131
  }
119
132
  });
120
- const { stdin } = renderWithProviders(_jsx(Scrollable, { hasFocus: true, height: 5, children: _jsx(Text, { children: "Content" }) }));
133
+ const { stdin, waitUntilReady, unmount } = renderWithProviders(_jsx(Scrollable, { hasFocus: true, height: 5, children: _jsx(Text, { children: "Content" }) }));
134
+ await waitUntilReady();
121
135
  // Ensure initial state using existing scrollBy method
122
- act(() => {
136
+ await act(async () => {
123
137
  // Reset to top first, then scroll to desired start position
124
138
  capturedEntry.scrollBy(-100);
125
139
  if (initialScrollTop > 0) {
@@ -127,10 +141,12 @@ describe('<Scrollable />', () => {
127
141
  }
128
142
  });
129
143
  expect(capturedEntry.getScrollState().scrollTop).toBe(initialScrollTop);
130
- act(() => {
144
+ await act(async () => {
131
145
  stdin.write(keySequence);
132
146
  });
147
+ await waitUntilReady();
133
148
  expect(capturedEntry.getScrollState().scrollTop).toBe(expectedScrollTop);
149
+ unmount();
134
150
  });
135
151
  });
136
152
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Scrollable.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/Scrollable.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scrollable.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/Scrollable.test.tsx"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ function ScrollableList(props, ref) {
47
47
  smoothScrollState.current.active = false;
48
48
  }, []);
49
49
  useEffect(() => stopSmoothScroll, [stopSmoothScroll]);
50
- const smoothScrollTo = useCallback((targetScrollTop, duration = 200) => {
50
+ const smoothScrollTo = useCallback((targetScrollTop, duration = process.env['NODE_ENV'] === 'test' ? 0 : 200) => {
51
51
  stopSmoothScroll();
52
52
  const scrollState = virtualizedListRef.current?.getScrollState() ?? {
53
53
  scrollTop: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollableList.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/ScrollableList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollableList.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/ScrollableList.tsx"],"names":[],"mappings":"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"}
@@ -5,13 +5,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
7
  import { useState, useEffect, useRef, act } from 'react';
8
- import { render } from 'ink-testing-library';
8
+ import { render } from '../../../test-utils/render.js';
9
9
  import { Box, Text } from 'ink';
10
10
  import { ScrollableList } from './ScrollableList.js';
11
11
  import { ScrollProvider } from '../../contexts/ScrollProvider.js';
12
12
  import { KeypressProvider } from '../../contexts/KeypressContext.js';
13
13
  import { MouseProvider } from '../../contexts/MouseContext.js';
14
- import { describe, it, expect, vi } from 'vitest';
14
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
15
15
  import { waitFor } from '../../../test-utils/async.js';
16
16
  vi.mock('../../contexts/UIStateContext.js', () => ({
17
17
  useUIState: vi.fn(() => ({
@@ -63,19 +63,28 @@ const TestComponent = ({ initialItems = 1000, onAddItem, onRef, }) => {
63
63
  return (_jsx(MouseProvider, { mouseEventsEnabled: false, children: _jsx(KeypressProvider, { children: _jsx(ScrollProvider, { children: _jsxs(Box, { flexDirection: "column", width: 80, height: 24, padding: 1, children: [_jsx(Box, { flexGrow: 1, borderStyle: "round", borderColor: "cyan", children: _jsx(ScrollableList, { ref: listRef, data: items, renderItem: ({ item, index }) => (_jsxs(Box, { flexDirection: "column", paddingBottom: 2, children: [_jsx(Box, { sticky: true, flexDirection: "column", width: 78, opaque: true, stickyChildren: _jsxs(Box, { flexDirection: "column", width: 78, opaque: true, children: [_jsx(Text, { children: item.title }), _jsx(Box, { borderStyle: "single", borderTop: true, borderBottom: false, borderLeft: false, borderRight: false, borderColor: "gray" })] }), children: _jsx(Text, { children: item.title }) }), _jsx(Text, { color: "gray", children: getLorem(index) })] })), estimatedItemHeight: () => 14, keyExtractor: (item) => item.id, hasFocus: true, initialScrollIndex: Number.MAX_SAFE_INTEGER }) }), _jsxs(Text, { children: ["Count: ", items.length] })] }) }) }) }));
64
64
  };
65
65
  describe('ScrollableList Demo Behavior', () => {
66
+ beforeEach(() => {
67
+ vi.stubEnv('NODE_ENV', 'test');
68
+ });
69
+ afterEach(() => {
70
+ vi.unstubAllEnvs();
71
+ });
66
72
  it('should scroll to bottom when new items are added and stop when scrolled up', async () => {
67
73
  let addItem;
68
74
  let listRef = null;
69
75
  let lastFrame;
76
+ let waitUntilReady;
70
77
  let result;
71
78
  await act(async () => {
72
79
  result = render(_jsx(TestComponent, { onAddItem: (add) => {
73
80
  addItem = add;
74
- }, onRef: (ref) => {
81
+ }, onRef: async (ref) => {
75
82
  listRef = ref;
76
83
  } }));
77
84
  lastFrame = result.lastFrame;
85
+ waitUntilReady = result.waitUntilReady;
78
86
  });
87
+ await waitUntilReady();
79
88
  // Initial render should show Item 1000
80
89
  expect(lastFrame()).toContain('Item 1000');
81
90
  expect(lastFrame()).toContain('Count: 1000');
@@ -83,6 +92,7 @@ describe('ScrollableList Demo Behavior', () => {
83
92
  await act(async () => {
84
93
  addItem?.();
85
94
  });
95
+ await waitUntilReady();
86
96
  await waitFor(() => {
87
97
  expect(lastFrame()).toContain('Count: 1001');
88
98
  });
@@ -92,6 +102,7 @@ describe('ScrollableList Demo Behavior', () => {
92
102
  await act(async () => {
93
103
  addItem?.();
94
104
  });
105
+ await waitUntilReady();
95
106
  await waitFor(() => {
96
107
  expect(lastFrame()).toContain('Count: 1002');
97
108
  });
@@ -101,13 +112,12 @@ describe('ScrollableList Demo Behavior', () => {
101
112
  await act(async () => {
102
113
  listRef?.scrollBy(-5);
103
114
  });
104
- await act(async () => {
105
- await new Promise((resolve) => setTimeout(resolve, 100));
106
- });
115
+ await waitUntilReady();
107
116
  // Add item 1003 - should NOT be visible because we scrolled up
108
117
  await act(async () => {
109
118
  addItem?.();
110
119
  });
120
+ await waitUntilReady();
111
121
  await waitFor(() => {
112
122
  expect(lastFrame()).toContain('Count: 1003');
113
123
  });
@@ -130,11 +140,14 @@ describe('ScrollableList Demo Behavior', () => {
130
140
  return (_jsx(MouseProvider, { mouseEventsEnabled: false, children: _jsx(KeypressProvider, { children: _jsx(ScrollProvider, { children: _jsx(Box, { flexDirection: "column", width: 80, height: 10, children: _jsx(ScrollableList, { ref: ref, data: items, renderItem: ({ item, index }) => (_jsxs(Box, { flexDirection: "column", height: 3, children: [index === 0 ? (_jsx(Box, { sticky: true, stickyChildren: _jsxs(Text, { children: ["[STICKY] ", item.title] }), children: _jsxs(Text, { children: ["[Normal] ", item.title] }) })) : (_jsxs(Text, { children: ["[Normal] ", item.title] })), _jsxs(Text, { children: ["Content for ", item.title] }), _jsxs(Text, { children: ["More content for ", item.title] })] })), estimatedItemHeight: () => 3, keyExtractor: (item) => item.id, hasFocus: true }) }) }) }) }));
131
141
  };
132
142
  let lastFrame;
143
+ let waitUntilReady;
133
144
  let result;
134
145
  await act(async () => {
135
146
  result = render(_jsx(StickyTestComponent, {}));
136
147
  lastFrame = result.lastFrame;
148
+ waitUntilReady = result.waitUntilReady;
137
149
  });
150
+ await waitUntilReady();
138
151
  // Initially at top, should see Normal Item 1
139
152
  await waitFor(() => {
140
153
  expect(lastFrame()).toContain('[Normal] Item 1');
@@ -144,6 +157,7 @@ describe('ScrollableList Demo Behavior', () => {
144
157
  await act(async () => {
145
158
  listRef?.scrollBy(2);
146
159
  });
160
+ await waitUntilReady();
147
161
  // Now Item 1 should be stuck
148
162
  await waitFor(() => {
149
163
  expect(lastFrame()).toContain('[STICKY] Item 1');
@@ -155,6 +169,7 @@ describe('ScrollableList Demo Behavior', () => {
155
169
  await act(async () => {
156
170
  listRef?.scrollTo(10);
157
171
  });
172
+ await waitUntilReady();
158
173
  await waitFor(() => {
159
174
  expect(lastFrame()).not.toContain('[STICKY] Item 1');
160
175
  });
@@ -162,6 +177,7 @@ describe('ScrollableList Demo Behavior', () => {
162
177
  await act(async () => {
163
178
  listRef?.scrollTo(0);
164
179
  });
180
+ await waitUntilReady();
165
181
  // Should be normal again
166
182
  await waitFor(() => {
167
183
  expect(lastFrame()).toContain('[Normal] Item 1');
@@ -176,6 +192,7 @@ describe('ScrollableList Demo Behavior', () => {
176
192
  let listRef = null;
177
193
  let lastFrame;
178
194
  let stdin;
195
+ let waitUntilReady;
179
196
  const items = Array.from({ length: 50 }, (_, i) => ({
180
197
  id: String(i),
181
198
  title: `Item ${i}`,
@@ -187,7 +204,9 @@ describe('ScrollableList Demo Behavior', () => {
187
204
  }, data: items, renderItem: ({ item }) => _jsx(Text, { children: item.title }), estimatedItemHeight: () => 1, keyExtractor: (item) => item.id, hasFocus: true }) }) }) }) }));
188
205
  lastFrame = result.lastFrame;
189
206
  stdin = result.stdin;
207
+ waitUntilReady = result.waitUntilReady;
190
208
  });
209
+ await waitUntilReady();
191
210
  // Initial state
192
211
  expect(lastFrame()).toContain('Item 0');
193
212
  expect(listRef).toBeDefined();
@@ -196,6 +215,7 @@ describe('ScrollableList Demo Behavior', () => {
196
215
  await act(async () => {
197
216
  stdin.write('\x1b[b');
198
217
  });
218
+ await waitUntilReady();
199
219
  await waitFor(() => {
200
220
  expect(listRef?.getScrollState()?.scrollTop).toBeGreaterThan(0);
201
221
  });
@@ -203,6 +223,7 @@ describe('ScrollableList Demo Behavior', () => {
203
223
  await act(async () => {
204
224
  stdin.write('\x1b[a');
205
225
  });
226
+ await waitUntilReady();
206
227
  await waitFor(() => {
207
228
  expect(listRef?.getScrollState()?.scrollTop).toBe(0);
208
229
  });
@@ -210,6 +231,7 @@ describe('ScrollableList Demo Behavior', () => {
210
231
  await act(async () => {
211
232
  stdin.write('\x1b[6~');
212
233
  });
234
+ await waitUntilReady();
213
235
  await waitFor(() => {
214
236
  // Height is 10, so should scroll ~10 units
215
237
  expect(listRef?.getScrollState()?.scrollTop).toBeGreaterThanOrEqual(9);
@@ -218,6 +240,7 @@ describe('ScrollableList Demo Behavior', () => {
218
240
  await act(async () => {
219
241
  stdin.write('\x1b[5~');
220
242
  });
243
+ await waitUntilReady();
221
244
  await waitFor(() => {
222
245
  expect(listRef?.getScrollState()?.scrollTop).toBeLessThan(2);
223
246
  });
@@ -225,6 +248,7 @@ describe('ScrollableList Demo Behavior', () => {
225
248
  await act(async () => {
226
249
  stdin.write('\x1b[1;5F');
227
250
  });
251
+ await waitUntilReady();
228
252
  await waitFor(() => {
229
253
  // Total 50 items, height 10. Max scroll ~40.
230
254
  expect(listRef?.getScrollState()?.scrollTop).toBeGreaterThan(30);
@@ -233,10 +257,13 @@ describe('ScrollableList Demo Behavior', () => {
233
257
  await act(async () => {
234
258
  stdin.write('\x1b[1;5H');
235
259
  });
260
+ await waitUntilReady();
236
261
  await waitFor(() => {
237
262
  expect(listRef?.getScrollState()?.scrollTop).toBe(0);
238
263
  });
239
264
  await act(async () => {
265
+ // Let the scrollbar fade out animation finish
266
+ await new Promise((resolve) => setTimeout(resolve, 1600));
240
267
  result.unmount();
241
268
  });
242
269
  });
@@ -245,11 +272,14 @@ describe('ScrollableList Demo Behavior', () => {
245
272
  it('should apply the width prop to the container', async () => {
246
273
  const items = [{ id: '1', title: 'Item 1' }];
247
274
  let lastFrame;
275
+ let waitUntilReady;
248
276
  let result;
249
277
  await act(async () => {
250
278
  result = render(_jsx(MouseProvider, { mouseEventsEnabled: false, children: _jsx(KeypressProvider, { children: _jsx(ScrollProvider, { children: _jsx(Box, { width: 100, height: 20, children: _jsx(ScrollableList, { data: items, renderItem: ({ item }) => _jsx(Text, { children: item.title }), estimatedItemHeight: () => 1, keyExtractor: (item) => item.id, hasFocus: true, width: 50 }) }) }) }) }));
251
279
  lastFrame = result.lastFrame;
280
+ waitUntilReady = result.waitUntilReady;
252
281
  });
282
+ await waitUntilReady();
253
283
  await waitFor(() => {
254
284
  expect(lastFrame()).toContain('Item 1');
255
285
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollableList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/ScrollableList.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollableList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/ScrollableList.test.tsx"],"names":[],"mappings":"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"}
@@ -1,27 +1,59 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type React from 'react';
7
- import { type GenericListItem } from '../../hooks/useFuzzyList.js';
6
+ import React from 'react';
7
+ import type { TextBuffer } from './text-buffer.js';
8
+ /**
9
+ * Generic interface for items in a searchable list.
10
+ */
11
+ export interface GenericListItem {
12
+ key: string;
13
+ label: string;
14
+ description?: string;
15
+ [key: string]: unknown;
16
+ }
17
+ /**
18
+ * State returned by the search hook.
19
+ */
20
+ export interface SearchListState<T extends GenericListItem> {
21
+ filteredItems: T[];
22
+ searchBuffer: TextBuffer | undefined;
23
+ searchQuery: string;
24
+ setSearchQuery: (query: string) => void;
25
+ maxLabelWidth: number;
26
+ }
27
+ /**
28
+ * Props for the SearchableList component.
29
+ */
8
30
  export interface SearchableListProps<T extends GenericListItem> {
9
- /** List title */
10
31
  title?: string;
11
- /** Available items */
12
32
  items: T[];
13
- /** Callback when an item is selected */
14
33
  onSelect: (item: T) => void;
15
- /** Callback when the list is closed (e.g. via Esc) */
16
- onClose?: () => void;
17
- /** Initial search query */
18
- initialSearchQuery?: string;
19
- /** Placeholder for search input */
34
+ onClose: () => void;
20
35
  searchPlaceholder?: string;
21
- /** Max items to show at once */
36
+ /** Custom item renderer */
37
+ renderItem?: (item: T, isActive: boolean, labelWidth: number) => React.ReactNode;
38
+ /** Optional header content */
39
+ header?: React.ReactNode;
40
+ /** Optional footer content */
41
+ footer?: (info: {
42
+ startIndex: number;
43
+ endIndex: number;
44
+ totalVisible: number;
45
+ }) => React.ReactNode;
22
46
  maxItemsToShow?: number;
47
+ /** Hook to handle search logic */
48
+ useSearch: (props: {
49
+ items: T[];
50
+ onSearch?: (query: string) => void;
51
+ }) => SearchListState<T>;
52
+ onSearch?: (query: string) => void;
53
+ /** Whether to reset selection to the top when items change (e.g. after search) */
54
+ resetSelectionOnItemsChange?: boolean;
23
55
  }
24
56
  /**
25
- * A generic searchable list component.
57
+ * A generic searchable list component with keyboard navigation.
26
58
  */
27
- export declare function SearchableList<T extends GenericListItem>({ title, items, onSelect, onClose, initialSearchQuery, searchPlaceholder, maxItemsToShow, }: SearchableListProps<T>): React.JSX.Element;
59
+ export declare function SearchableList<T extends GenericListItem>({ title, items, onSelect, onClose, searchPlaceholder, renderItem, header, footer, maxItemsToShow, useSearch, onSearch, resetSelectionOnItemsChange, }: SearchableListProps<T>): React.JSX.Element;