@google/gemini-cli 0.25.0-preview.0 → 0.26.0-nightly.20260119.20580d754

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 (319) hide show
  1. package/dist/google-gemini-cli-0.26.0-nightly.20260115.6cb3ae4e0.tgz +0 -0
  2. package/dist/package.json +4 -3
  3. package/dist/src/commands/extensions/configure.js +8 -1
  4. package/dist/src/commands/extensions/configure.js.map +1 -1
  5. package/dist/src/commands/hooks/migrate.js +1 -1
  6. package/dist/src/commands/hooks/migrate.js.map +1 -1
  7. package/dist/src/commands/mcp/list.js +2 -2
  8. package/dist/src/commands/mcp/list.js.map +1 -1
  9. package/dist/src/commands/mcp/list.test.js +25 -8
  10. package/dist/src/commands/mcp/list.test.js.map +1 -1
  11. package/dist/src/commands/skills/disable.js +6 -4
  12. package/dist/src/commands/skills/disable.js.map +1 -1
  13. package/dist/src/commands/skills/disable.test.js +16 -0
  14. package/dist/src/commands/skills/disable.test.js.map +1 -1
  15. package/dist/src/commands/skills/enable.test.js +3 -3
  16. package/dist/src/commands/skills/enable.test.js.map +1 -1
  17. package/dist/src/commands/skills/install.d.ts +1 -0
  18. package/dist/src/commands/skills/install.js +17 -2
  19. package/dist/src/commands/skills/install.js.map +1 -1
  20. package/dist/src/commands/skills/install.test.js +43 -5
  21. package/dist/src/commands/skills/install.test.js.map +1 -1
  22. package/dist/src/config/config.d.ts +3 -3
  23. package/dist/src/config/config.integration.test.js +3 -2
  24. package/dist/src/config/config.integration.test.js.map +1 -1
  25. package/dist/src/config/config.js +37 -26
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/config/config.test.js +361 -280
  28. package/dist/src/config/config.test.js.map +1 -1
  29. package/dist/src/config/extension-manager-agents.test.js +3 -4
  30. package/dist/src/config/extension-manager-agents.test.js.map +1 -1
  31. package/dist/src/config/extension-manager-scope.test.js +13 -15
  32. package/dist/src/config/extension-manager-scope.test.js.map +1 -1
  33. package/dist/src/config/extension-manager-skills.test.js +5 -7
  34. package/dist/src/config/extension-manager-skills.test.js.map +1 -1
  35. package/dist/src/config/extension-manager.d.ts +2 -2
  36. package/dist/src/config/extension-manager.js +16 -11
  37. package/dist/src/config/extension-manager.js.map +1 -1
  38. package/dist/src/config/extension.test.js +13 -21
  39. package/dist/src/config/extension.test.js.map +1 -1
  40. package/dist/src/config/extensions/consent.d.ts +4 -0
  41. package/dist/src/config/extensions/consent.js +40 -16
  42. package/dist/src/config/extensions/consent.js.map +1 -1
  43. package/dist/src/config/extensions/consent.test.js +31 -7
  44. package/dist/src/config/extensions/consent.test.js.map +1 -1
  45. package/dist/src/config/extensions/extensionUpdates.test.js +5 -2
  46. package/dist/src/config/extensions/extensionUpdates.test.js.map +1 -1
  47. package/dist/src/config/keyBindings.d.ts +58 -59
  48. package/dist/src/config/keyBindings.js +131 -135
  49. package/dist/src/config/keyBindings.js.map +1 -1
  50. package/dist/src/config/keyBindings.test.js +3 -8
  51. package/dist/src/config/keyBindings.test.js.map +1 -1
  52. package/dist/src/config/policy-engine.integration.test.js +15 -0
  53. package/dist/src/config/policy-engine.integration.test.js.map +1 -1
  54. package/dist/src/config/settings.d.ts +24 -6
  55. package/dist/src/config/settings.js +150 -6
  56. package/dist/src/config/settings.js.map +1 -1
  57. package/dist/src/config/settings.test.js +258 -3
  58. package/dist/src/config/settings.test.js.map +1 -1
  59. package/dist/src/config/settingsSchema.d.ts +53 -20
  60. package/dist/src/config/settingsSchema.js +48 -22
  61. package/dist/src/config/settingsSchema.js.map +1 -1
  62. package/dist/src/config/settingsSchema.test.js +22 -2
  63. package/dist/src/config/settingsSchema.test.js.map +1 -1
  64. package/dist/src/config/skills-backward-compatibility.test.js +99 -0
  65. package/dist/src/config/skills-backward-compatibility.test.js.map +1 -0
  66. package/dist/src/core/initializer.js +2 -2
  67. package/dist/src/core/initializer.js.map +1 -1
  68. package/dist/src/core/initializer.test.js.map +1 -1
  69. package/dist/src/core/theme.js +1 -1
  70. package/dist/src/core/theme.js.map +1 -1
  71. package/dist/src/core/theme.test.js.map +1 -1
  72. package/dist/src/gemini.js +51 -19
  73. package/dist/src/gemini.js.map +1 -1
  74. package/dist/src/gemini.test.js +48 -61
  75. package/dist/src/gemini.test.js.map +1 -1
  76. package/dist/src/generated/git-commit.d.ts +2 -2
  77. package/dist/src/generated/git-commit.js +2 -2
  78. package/dist/src/generated/git-commit.js.map +1 -1
  79. package/dist/src/nonInteractiveCli.d.ts +1 -2
  80. package/dist/src/nonInteractiveCli.js +1 -16
  81. package/dist/src/nonInteractiveCli.js.map +1 -1
  82. package/dist/src/nonInteractiveCli.test.js +0 -39
  83. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  84. package/dist/src/test-utils/mockCommandContext.js +7 -1
  85. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  86. package/dist/src/test-utils/render.js +2 -0
  87. package/dist/src/test-utils/render.js.map +1 -1
  88. package/dist/src/ui/App.test.js +2 -2
  89. package/dist/src/ui/App.test.js.map +1 -1
  90. package/dist/src/ui/AppContainer.js +41 -35
  91. package/dist/src/ui/AppContainer.js.map +1 -1
  92. package/dist/src/ui/AppContainer.test.js +33 -22
  93. package/dist/src/ui/AppContainer.test.js.map +1 -1
  94. package/dist/src/ui/auth/ApiAuthDialog.test.js +0 -1
  95. package/dist/src/ui/auth/ApiAuthDialog.test.js.map +1 -1
  96. package/dist/src/ui/auth/AuthDialog.js +5 -5
  97. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  98. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  99. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js +0 -2
  100. package/dist/src/ui/auth/LoginWithGoogleRestartDialog.test.js.map +1 -1
  101. package/dist/src/ui/auth/useAuth.js +3 -3
  102. package/dist/src/ui/auth/useAuth.js.map +1 -1
  103. package/dist/src/ui/commands/aboutCommand.js +1 -1
  104. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  105. package/dist/src/ui/commands/agentsCommand.js +158 -1
  106. package/dist/src/ui/commands/agentsCommand.js.map +1 -1
  107. package/dist/src/ui/commands/agentsCommand.test.js +140 -1
  108. package/dist/src/ui/commands/agentsCommand.test.js.map +1 -1
  109. package/dist/src/ui/commands/hooksCommand.js +23 -23
  110. package/dist/src/ui/commands/hooksCommand.js.map +1 -1
  111. package/dist/src/ui/commands/hooksCommand.test.js +12 -15
  112. package/dist/src/ui/commands/hooksCommand.test.js.map +1 -1
  113. package/dist/src/ui/commands/policiesCommand.js +3 -0
  114. package/dist/src/ui/commands/policiesCommand.js.map +1 -1
  115. package/dist/src/ui/commands/policiesCommand.test.js +2 -1
  116. package/dist/src/ui/commands/policiesCommand.test.js.map +1 -1
  117. package/dist/src/ui/commands/skillsCommand.test.js +14 -7
  118. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  119. package/dist/src/ui/components/AdminSettingsChangedDialog.d.ts +6 -0
  120. package/dist/src/ui/components/AdminSettingsChangedDialog.js +22 -0
  121. package/dist/src/ui/components/AdminSettingsChangedDialog.js.map +1 -0
  122. package/dist/src/ui/components/AdminSettingsChangedDialog.test.d.ts +6 -0
  123. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js +43 -0
  124. package/dist/src/ui/components/AdminSettingsChangedDialog.test.js.map +1 -0
  125. package/dist/src/ui/components/AppHeader.js +1 -1
  126. package/dist/src/ui/components/AppHeader.js.map +1 -1
  127. package/dist/src/ui/components/Composer.js +4 -6
  128. package/dist/src/ui/components/Composer.js.map +1 -1
  129. package/dist/src/ui/components/Composer.test.js +17 -9
  130. package/dist/src/ui/components/Composer.test.js.map +1 -1
  131. package/dist/src/ui/components/DialogManager.js +4 -4
  132. package/dist/src/ui/components/DialogManager.js.map +1 -1
  133. package/dist/src/ui/components/DialogManager.test.js +0 -14
  134. package/dist/src/ui/components/DialogManager.test.js.map +1 -1
  135. package/dist/src/ui/components/EditorSettingsDialog.js +3 -3
  136. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  137. package/dist/src/ui/components/Footer.js +5 -5
  138. package/dist/src/ui/components/Footer.js.map +1 -1
  139. package/dist/src/ui/components/Help.js +2 -1
  140. package/dist/src/ui/components/Help.js.map +1 -1
  141. package/dist/src/ui/components/HistoryItemDisplay.test.js +1 -0
  142. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  143. package/dist/src/ui/components/InputPrompt.js +6 -9
  144. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  145. package/dist/src/ui/components/InputPrompt.test.js +8 -14
  146. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  147. package/dist/src/ui/components/MultiFolderTrustDialog.test.js +0 -1
  148. package/dist/src/ui/components/MultiFolderTrustDialog.test.js.map +1 -1
  149. package/dist/src/ui/components/RewindConfirmation.d.ts +21 -0
  150. package/dist/src/ui/components/RewindConfirmation.js +63 -0
  151. package/dist/src/ui/components/RewindConfirmation.js.map +1 -0
  152. package/dist/src/ui/components/RewindConfirmation.test.d.ts +6 -0
  153. package/dist/src/ui/components/RewindConfirmation.test.js +53 -0
  154. package/dist/src/ui/components/RewindConfirmation.test.js.map +1 -0
  155. package/dist/src/ui/components/RewindViewer.d.ts +15 -0
  156. package/dist/src/ui/components/RewindViewer.js +79 -0
  157. package/dist/src/ui/components/RewindViewer.js.map +1 -0
  158. package/dist/src/ui/components/RewindViewer.test.d.ts +6 -0
  159. package/dist/src/ui/components/RewindViewer.test.js +239 -0
  160. package/dist/src/ui/components/RewindViewer.test.js.map +1 -0
  161. package/dist/src/ui/components/SessionBrowser.test.js +0 -1
  162. package/dist/src/ui/components/SessionBrowser.test.js.map +1 -1
  163. package/dist/src/ui/components/SettingsDialog.js +4 -4
  164. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  165. package/dist/src/ui/components/SettingsDialog.test.js +14 -14
  166. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  167. package/dist/src/ui/components/StatusDisplay.js +3 -4
  168. package/dist/src/ui/components/StatusDisplay.js.map +1 -1
  169. package/dist/src/ui/components/ThemeDialog.js +2 -2
  170. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  171. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +8 -3
  172. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  173. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +18 -0
  174. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  175. package/dist/src/ui/components/shared/TextInput.test.js +0 -8
  176. package/dist/src/ui/components/shared/TextInput.test.js.map +1 -1
  177. package/dist/src/ui/components/shared/performance.test.d.ts +1 -0
  178. package/dist/src/ui/components/shared/performance.test.js +67 -0
  179. package/dist/src/ui/components/shared/performance.test.js.map +1 -0
  180. package/dist/src/ui/components/shared/text-buffer.d.ts +1 -0
  181. package/dist/src/ui/components/shared/text-buffer.js +80 -54
  182. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  183. package/dist/src/ui/components/shared/text-buffer.test.js +97 -21
  184. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -1
  185. package/dist/src/ui/constants/tips.js +150 -150
  186. package/dist/src/ui/constants/tips.js.map +1 -1
  187. package/dist/src/ui/constants/wittyPhrases.js +118 -118
  188. package/dist/src/ui/constants/wittyPhrases.js.map +1 -1
  189. package/dist/src/ui/constants.d.ts +2 -0
  190. package/dist/src/ui/constants.js +2 -0
  191. package/dist/src/ui/constants.js.map +1 -1
  192. package/dist/src/ui/contexts/KeypressContext.d.ts +0 -1
  193. package/dist/src/ui/contexts/KeypressContext.js +2 -6
  194. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  195. package/dist/src/ui/contexts/KeypressContext.test.js +2 -10
  196. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  197. package/dist/src/ui/contexts/UIActionsContext.d.ts +1 -0
  198. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  199. package/dist/src/ui/contexts/UIStateContext.d.ts +2 -2
  200. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  201. package/dist/src/ui/contexts/VimModeContext.js +3 -3
  202. package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
  203. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -5
  204. package/dist/src/ui/hooks/slashCommandProcessor.js +42 -11
  205. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  206. package/dist/src/ui/hooks/slashCommandProcessor.test.js +1 -144
  207. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -1
  208. package/dist/src/ui/hooks/useAlternateBuffer.js +1 -1
  209. package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
  210. package/dist/src/ui/hooks/useAtCompletion.js +21 -1
  211. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  212. package/dist/src/ui/hooks/useAtCompletion.test.js +4 -4
  213. package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -1
  214. package/dist/src/ui/hooks/useAtCompletion_agents.test.js +2 -0
  215. package/dist/src/ui/hooks/useAtCompletion_agents.test.js.map +1 -1
  216. package/dist/src/ui/hooks/useFolderTrust.js +1 -1
  217. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  218. package/dist/src/ui/hooks/useGeminiStream.js +17 -5
  219. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  220. package/dist/src/ui/hooks/useGeminiStream.test.js +103 -1
  221. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  222. package/dist/src/ui/hooks/useKeypress.test.js +11 -13
  223. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -1
  224. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +1 -1
  225. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -1
  226. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +1 -1
  227. package/dist/src/ui/hooks/useReactToolScheduler.js +1 -1
  228. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  229. package/dist/src/ui/hooks/useSelectionList.test.js +0 -3
  230. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -1
  231. package/dist/src/ui/hooks/useShowMemoryCommand.js +1 -1
  232. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -1
  233. package/dist/src/ui/hooks/useThemeCommand.js +4 -4
  234. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  235. package/dist/src/ui/hooks/useToolScheduler.test.js +62 -46
  236. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  237. package/dist/src/ui/hooks/vim.js +0 -1
  238. package/dist/src/ui/hooks/vim.js.map +1 -1
  239. package/dist/src/ui/hooks/vim.test.js +0 -1
  240. package/dist/src/ui/hooks/vim.test.js.map +1 -1
  241. package/dist/src/ui/keyMatchers.js +1 -16
  242. package/dist/src/ui/keyMatchers.js.map +1 -1
  243. package/dist/src/ui/keyMatchers.test.js +2 -14
  244. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  245. package/dist/src/ui/types.d.ts +1 -5
  246. package/dist/src/ui/types.js.map +1 -1
  247. package/dist/src/ui/utils/CodeColorizer.js +1 -1
  248. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  249. package/dist/src/ui/utils/commandUtils.js +31 -6
  250. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  251. package/dist/src/ui/utils/commandUtils.test.js +71 -10
  252. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  253. package/dist/src/ui/utils/formatters.d.ts +9 -0
  254. package/dist/src/ui/utils/formatters.js +26 -0
  255. package/dist/src/ui/utils/formatters.js.map +1 -1
  256. package/dist/src/ui/utils/formatters.test.js +70 -2
  257. package/dist/src/ui/utils/formatters.test.js.map +1 -1
  258. package/dist/src/ui/utils/highlight.js +18 -1
  259. package/dist/src/ui/utils/highlight.js.map +1 -1
  260. package/dist/src/ui/utils/highlight.test.js +2 -2
  261. package/dist/src/ui/utils/highlight.test.js.map +1 -1
  262. package/dist/src/ui/utils/textUtils.d.ts +0 -1
  263. package/dist/src/ui/utils/textUtils.js +17 -12
  264. package/dist/src/ui/utils/textUtils.js.map +1 -1
  265. package/dist/src/ui/utils/textUtils.test.js +1 -0
  266. package/dist/src/ui/utils/textUtils.test.js.map +1 -1
  267. package/dist/src/ui/utils/ui-sizing.js +1 -1
  268. package/dist/src/ui/utils/ui-sizing.js.map +1 -1
  269. package/dist/src/ui/utils/updateCheck.js +1 -1
  270. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  271. package/dist/src/ui/utils/updateCheck.test.js +3 -3
  272. package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
  273. package/dist/src/utils/agentSettings.d.ts +31 -0
  274. package/dist/src/utils/agentSettings.js +103 -0
  275. package/dist/src/utils/agentSettings.js.map +1 -0
  276. package/dist/src/utils/agentUtils.d.ts +15 -0
  277. package/dist/src/utils/agentUtils.js +50 -0
  278. package/dist/src/utils/agentUtils.js.map +1 -0
  279. package/dist/src/utils/agentUtils.test.d.ts +6 -0
  280. package/dist/src/utils/agentUtils.test.js +121 -0
  281. package/dist/src/utils/agentUtils.test.js.map +1 -0
  282. package/dist/src/utils/handleAutoUpdate.js +4 -4
  283. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  284. package/dist/src/utils/handleAutoUpdate.test.js +8 -4
  285. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  286. package/dist/src/utils/installationInfo.d.ts +1 -1
  287. package/dist/src/utils/installationInfo.js +13 -13
  288. package/dist/src/utils/installationInfo.js.map +1 -1
  289. package/dist/src/utils/installationInfo.test.js +28 -20
  290. package/dist/src/utils/installationInfo.test.js.map +1 -1
  291. package/dist/src/utils/relaunch.d.ts +2 -1
  292. package/dist/src/utils/relaunch.js +6 -3
  293. package/dist/src/utils/relaunch.js.map +1 -1
  294. package/dist/src/utils/settingsUtils.d.ts +7 -0
  295. package/dist/src/utils/settingsUtils.js +17 -0
  296. package/dist/src/utils/settingsUtils.js.map +1 -1
  297. package/dist/src/utils/settingsUtils.test.js +33 -33
  298. package/dist/src/utils/settingsUtils.test.js.map +1 -1
  299. package/dist/src/utils/skillUtils.d.ts +2 -1
  300. package/dist/src/utils/skillUtils.js +58 -56
  301. package/dist/src/utils/skillUtils.js.map +1 -1
  302. package/dist/src/utils/skillUtils.test.js +13 -0
  303. package/dist/src/utils/skillUtils.test.js.map +1 -1
  304. package/dist/src/utils/terminalTheme.js +4 -4
  305. package/dist/src/utils/terminalTheme.js.map +1 -1
  306. package/dist/src/validateNonInterActiveAuth.js +1 -1
  307. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  308. package/dist/src/validateNonInterActiveAuth.test.js +2 -4
  309. package/dist/src/validateNonInterActiveAuth.test.js.map +1 -1
  310. package/dist/src/zed-integration/zedIntegration.js +8 -3
  311. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  312. package/dist/tsconfig.tsbuildinfo +1 -1
  313. package/package.json +5 -4
  314. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +0 -15
  315. package/dist/src/ui/components/ShellConfirmationDialog.js +0 -49
  316. package/dist/src/ui/components/ShellConfirmationDialog.js.map +0 -1
  317. package/dist/src/ui/components/ShellConfirmationDialog.test.js +0 -40
  318. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +0 -1
  319. /package/dist/src/{ui/components/ShellConfirmationDialog.test.d.ts → config/skills-backward-compatibility.test.d.ts} +0 -0
@@ -50,20 +50,45 @@ const MAX_OSC52_BODY_B64_BYTES = MAX_OSC52_SEQUENCE_BYTES -
50
50
  const MAX_OSC52_DATA_BYTES = Math.floor(MAX_OSC52_BODY_B64_BYTES / 4) * 3;
51
51
  // Conservative chunk size for GNU screen DCS passthrough.
52
52
  const SCREEN_DCS_CHUNK_SIZE = 240;
53
- const pickTty = () => {
53
+ const pickTty = () => new Promise((resolve) => {
54
54
  // /dev/tty is only available on Unix-like systems (Linux, macOS, BSD, etc.)
55
55
  if (process.platform !== 'win32') {
56
56
  // Prefer the controlling TTY to avoid interleaving escape sequences with piped stdout.
57
57
  try {
58
58
  const devTty = fs.createWriteStream('/dev/tty');
59
- // Prevent unhandled 'error' events from crashing the process.
60
- devTty.on('error', () => { });
61
- return { stream: devTty, closeAfter: true };
59
+ // Safety timeout: if /dev/tty doesn't respond quickly, fallback to avoid hanging.
60
+ const timeout = setTimeout(() => {
61
+ // Remove listeners to prevent them from firing after timeout.
62
+ devTty.removeAllListeners('open');
63
+ devTty.removeAllListeners('error');
64
+ devTty.destroy();
65
+ resolve(getStdioTty());
66
+ }, 100);
67
+ // If we can't open it (e.g. sandbox), we'll get an error.
68
+ // We wait for 'open' to confirm it's usable, or 'error' to fallback.
69
+ // If it opens, we resolve with the stream.
70
+ devTty.once('open', () => {
71
+ clearTimeout(timeout);
72
+ devTty.removeAllListeners('error');
73
+ // Prevent future unhandled 'error' events from crashing the process
74
+ devTty.on('error', () => { });
75
+ resolve({ stream: devTty, closeAfter: true });
76
+ });
77
+ // If it errors immediately (or quickly), we fallback.
78
+ devTty.once('error', () => {
79
+ clearTimeout(timeout);
80
+ devTty.removeAllListeners('open');
81
+ resolve(getStdioTty());
82
+ });
83
+ return;
62
84
  }
63
85
  catch {
64
- // fall through - /dev/tty not accessible
86
+ // fall through - synchronous failure
65
87
  }
66
88
  }
89
+ resolve(getStdioTty());
90
+ });
91
+ const getStdioTty = () => {
67
92
  if (process.stderr?.isTTY)
68
93
  return { stream: process.stderr, closeAfter: false };
69
94
  if (process.stdout?.isTTY)
@@ -134,7 +159,7 @@ const writeAll = (stream, data) => new Promise((resolve, reject) => {
134
159
  export const copyToClipboard = async (text) => {
135
160
  if (!text)
136
161
  return;
137
- const tty = pickTty();
162
+ const tty = await pickTty();
138
163
  if (shouldUseOsc52(tty)) {
139
164
  const osc = buildOsc52(text);
140
165
  const payload = inTmux()
@@ -1 +1 @@
1
- {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/commandUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandUtils.js","sourceRoot":"","sources":["../../../../src/ui/utils/commandUtils.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,7 @@ vi.mock('child_process');
22
22
  // fs (for /dev/tty)
23
23
  const mockFs = vi.hoisted(() => ({
24
24
  createWriteStream: vi.fn(),
25
+ constants: { W_OK: 2 },
25
26
  }));
26
27
  vi.mock('node:fs', () => ({
27
28
  default: mockFs,
@@ -46,6 +47,7 @@ const makeWritable = (opts) => {
46
47
  once: EventEmitter.prototype.once,
47
48
  on: EventEmitter.prototype.on,
48
49
  off: EventEmitter.prototype.off,
50
+ removeAllListeners: EventEmitter.prototype.removeAllListeners,
49
51
  });
50
52
  return stream;
51
53
  };
@@ -88,9 +90,11 @@ describe('commandUtils', () => {
88
90
  mockSpawn.mockReturnValue(mockChild);
89
91
  // Setup clipboardy mock
90
92
  mockClipboardyWrite = clipboardy.write;
91
- // default: no /dev/tty available
93
+ // default: /dev/tty creation succeeds and emits 'open'
92
94
  mockFs.createWriteStream.mockImplementation(() => {
93
- throw new Error('ENOENT');
95
+ const tty = makeWritable({ isTTY: true });
96
+ setTimeout(() => tty.emit('open'), 0);
97
+ return tty;
94
98
  });
95
99
  // default: stdio are not TTY for tests unless explicitly set
96
100
  Object.defineProperty(process, 'stderr', {
@@ -170,7 +174,10 @@ describe('commandUtils', () => {
170
174
  it('writes OSC-52 to /dev/tty when in SSH', async () => {
171
175
  const testText = 'abc';
172
176
  const tty = makeWritable({ isTTY: true });
173
- mockFs.createWriteStream.mockReturnValue(tty);
177
+ mockFs.createWriteStream.mockImplementation(() => {
178
+ setTimeout(() => tty.emit('open'), 0);
179
+ return tty;
180
+ });
174
181
  process.env['SSH_CONNECTION'] = '1';
175
182
  await copyToClipboard(testText);
176
183
  const b64 = Buffer.from(testText, 'utf8').toString('base64');
@@ -183,7 +190,10 @@ describe('commandUtils', () => {
183
190
  it('wraps OSC-52 for tmux when in SSH', async () => {
184
191
  const testText = 'tmux-copy';
185
192
  const tty = makeWritable({ isTTY: true });
186
- mockFs.createWriteStream.mockReturnValue(tty);
193
+ mockFs.createWriteStream.mockImplementation(() => {
194
+ setTimeout(() => tty.emit('open'), 0);
195
+ return tty;
196
+ });
187
197
  process.env['SSH_CONNECTION'] = '1';
188
198
  process.env['TMUX'] = '1';
189
199
  await copyToClipboard(testText);
@@ -199,7 +209,10 @@ describe('commandUtils', () => {
199
209
  // ensure payload > chunk size (240) so there are multiple chunks
200
210
  const testText = 'x'.repeat(1200);
201
211
  const tty = makeWritable({ isTTY: true });
202
- mockFs.createWriteStream.mockReturnValue(tty);
212
+ mockFs.createWriteStream.mockImplementation(() => {
213
+ setTimeout(() => tty.emit('open'), 0);
214
+ return tty;
215
+ });
203
216
  process.env['SSH_CONNECTION'] = '1';
204
217
  process.env['STY'] = 'screen-session';
205
218
  await copyToClipboard(testText);
@@ -220,6 +233,12 @@ describe('commandUtils', () => {
220
233
  configurable: true,
221
234
  });
222
235
  process.env['SSH_TTY'] = '/dev/pts/1';
236
+ // Simulate /dev/tty access failure
237
+ mockFs.createWriteStream.mockImplementation(() => {
238
+ const tty = makeWritable({ isTTY: true });
239
+ setTimeout(() => tty.emit('error', new Error('EACCES')), 0);
240
+ return tty;
241
+ });
223
242
  await copyToClipboard(testText);
224
243
  const b64 = Buffer.from(testText, 'utf8').toString('base64');
225
244
  const expected = `${ESC}]52;c;${b64}${BEL}`;
@@ -229,14 +248,20 @@ describe('commandUtils', () => {
229
248
  it('falls back to clipboardy when no TTY is available', async () => {
230
249
  const testText = 'no-tty';
231
250
  mockClipboardyWrite.mockResolvedValue(undefined);
232
- // /dev/tty throws; stderr/stdout are non-TTY by default
251
+ // /dev/tty throws or errors
252
+ mockFs.createWriteStream.mockImplementation(() => {
253
+ throw new Error('ENOENT');
254
+ });
233
255
  process.env['SSH_CLIENT'] = 'client';
234
256
  await copyToClipboard(testText);
235
257
  expect(mockClipboardyWrite).toHaveBeenCalledWith(testText);
236
258
  });
237
259
  it('resolves on drain when backpressure occurs', async () => {
238
260
  const tty = makeWritable({ isTTY: true, writeReturn: false });
239
- mockFs.createWriteStream.mockReturnValue(tty);
261
+ mockFs.createWriteStream.mockImplementation(() => {
262
+ setTimeout(() => tty.emit('open'), 0);
263
+ return tty;
264
+ });
240
265
  process.env['SSH_CONNECTION'] = '1';
241
266
  const p = copyToClipboard('drain-test');
242
267
  setTimeout(() => {
@@ -246,7 +271,10 @@ describe('commandUtils', () => {
246
271
  });
247
272
  it('propagates errors from OSC-52 write path', async () => {
248
273
  const tty = makeWritable({ isTTY: true, writeReturn: false });
249
- mockFs.createWriteStream.mockReturnValue(tty);
274
+ mockFs.createWriteStream.mockImplementation(() => {
275
+ setTimeout(() => tty.emit('open'), 0);
276
+ return tty;
277
+ });
250
278
  process.env['SSH_CONNECTION'] = '1';
251
279
  const p = copyToClipboard('err-test');
252
280
  setTimeout(() => {
@@ -266,7 +294,10 @@ describe('commandUtils', () => {
266
294
  });
267
295
  it('uses clipboardy when not in eligible env even if /dev/tty exists', async () => {
268
296
  const tty = makeWritable({ isTTY: true });
269
- mockFs.createWriteStream.mockReturnValue(tty);
297
+ mockFs.createWriteStream.mockImplementation(() => {
298
+ setTimeout(() => tty.emit('open'), 0);
299
+ return tty;
300
+ });
270
301
  const text = 'local-terminal';
271
302
  mockClipboardyWrite.mockResolvedValue(undefined);
272
303
  await copyToClipboard(text);
@@ -274,9 +305,27 @@ describe('commandUtils', () => {
274
305
  expect(tty.write).not.toHaveBeenCalled();
275
306
  expect(tty.end).not.toHaveBeenCalled();
276
307
  });
308
+ it('falls back if /dev/tty emits error (e.g. sandbox)', async () => {
309
+ const testText = 'access-denied-fallback';
310
+ process.env['SSH_CONNECTION'] = '1'; // normally would trigger OSC52 on TTY
311
+ mockFs.createWriteStream.mockImplementation(() => {
312
+ const stream = makeWritable({ isTTY: true });
313
+ // Emit error instead of open
314
+ setTimeout(() => stream.emit('error', new Error('EACCES')), 0);
315
+ return stream;
316
+ });
317
+ // Fallback to clipboardy since stdio isn't configured as TTY in this test (default from beforeEach)
318
+ mockClipboardyWrite.mockResolvedValue(undefined);
319
+ await copyToClipboard(testText);
320
+ expect(mockFs.createWriteStream).toHaveBeenCalled();
321
+ expect(mockClipboardyWrite).toHaveBeenCalledWith(testText);
322
+ });
277
323
  it('uses clipboardy in tmux when not in SSH/WSL', async () => {
278
324
  const tty = makeWritable({ isTTY: true });
279
- mockFs.createWriteStream.mockReturnValue(tty);
325
+ mockFs.createWriteStream.mockImplementation(() => {
326
+ setTimeout(() => tty.emit('open'), 0);
327
+ return tty;
328
+ });
280
329
  const text = 'tmux-local';
281
330
  mockClipboardyWrite.mockResolvedValue(undefined);
282
331
  process.env['TMUX'] = '1';
@@ -285,6 +334,18 @@ describe('commandUtils', () => {
285
334
  expect(tty.write).not.toHaveBeenCalled();
286
335
  expect(tty.end).not.toHaveBeenCalled();
287
336
  });
337
+ it('falls back if /dev/tty hangs (timeout)', async () => {
338
+ const testText = 'timeout-fallback';
339
+ process.env['SSH_CONNECTION'] = '1';
340
+ mockFs.createWriteStream.mockImplementation(() =>
341
+ // Stream that never emits open or error
342
+ makeWritable({ isTTY: true }));
343
+ mockClipboardyWrite.mockResolvedValue(undefined);
344
+ // Should complete even though stream hangs
345
+ await copyToClipboard(testText);
346
+ expect(mockFs.createWriteStream).toHaveBeenCalled();
347
+ expect(mockClipboardyWrite).toHaveBeenCalledWith(testText);
348
+ });
288
349
  it('skips /dev/tty on Windows and uses stderr fallback for OSC-52', async () => {
289
350
  mockProcess.platform = 'win32';
290
351
  const stderrStream = makeWritable({ isTTY: true });
@@ -1 +1 @@
1
- {"version":3,"file":"commandUtils.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/commandUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commandUtils.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/commandUtils.test.ts"],"names":[],"mappings":"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"}
@@ -11,3 +11,12 @@ export declare const formatMemoryUsage: (bytes: number) => string;
11
11
  * @returns A formatted string representing the duration.
12
12
  */
13
13
  export declare const formatDuration: (milliseconds: number) => string;
14
+ export declare const formatTimeAgo: (date: string | number | Date) => string;
15
+ /**
16
+ * Removes content bounded by reference content markers from the given text.
17
+ * The markers are "--- Content from referenced files ---" and "--- End of content ---".
18
+ *
19
+ * @param text The input text containing potential reference blocks.
20
+ * @returns The text with reference blocks removed and trimmed.
21
+ */
22
+ export declare function stripReferenceContent(text: string): string;
@@ -53,4 +53,30 @@ export const formatDuration = (milliseconds) => {
53
53
  }
54
54
  return parts.join(' ');
55
55
  };
56
+ export const formatTimeAgo = (date) => {
57
+ const past = new Date(date);
58
+ if (isNaN(past.getTime())) {
59
+ return 'invalid date';
60
+ }
61
+ const now = new Date();
62
+ const diffMs = now.getTime() - past.getTime();
63
+ if (diffMs < 60000) {
64
+ return 'just now';
65
+ }
66
+ return `${formatDuration(diffMs)} ago`;
67
+ };
68
+ const REFERENCE_CONTENT_START = '--- Content from referenced files ---';
69
+ const REFERENCE_CONTENT_END = '--- End of content ---';
70
+ /**
71
+ * Removes content bounded by reference content markers from the given text.
72
+ * The markers are "--- Content from referenced files ---" and "--- End of content ---".
73
+ *
74
+ * @param text The input text containing potential reference blocks.
75
+ * @returns The text with reference blocks removed and trimmed.
76
+ */
77
+ export function stripReferenceContent(text) {
78
+ // Match optional newline, the start marker, content (non-greedy), and the end marker
79
+ const pattern = new RegExp(`\\n?${REFERENCE_CONTENT_START}[\\s\\S]*?${REFERENCE_CONTENT_END}`, 'g');
80
+ return text.replace(pattern, '').trim();
81
+ }
56
82
  //# sourceMappingURL=formatters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IACzD,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAU,EAAE;IAC7D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAEzC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,GAAG,KAAK,GAAG,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACtC,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC"}
1
+ {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAU,EAAE;IACzD,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QAC/B,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IACD,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/B,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,YAAoB,EAAU,EAAE;IAC7D,IAAI,YAAY,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,YAAY,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,GAAG,IAAI,CAAC;IAEzC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACtB,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACvC,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,yEAAyE;IACzE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,GAAG,KAAK,GAAG,CAAC;QAClC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACtC,OAAO,GAAG,OAAO,GAAG,CAAC;IACvB,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAA4B,EAAU,EAAE;IACpE,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC9C,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;QACnB,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,uCAAuC,CAAC;AACxE,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,qFAAqF;IACrF,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,OAAO,uBAAuB,aAAa,qBAAqB,EAAE,EAClE,GAAG,CACJ,CAAC;IAEF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1C,CAAC"}
@@ -3,8 +3,8 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect } from 'vitest';
7
- import { formatDuration, formatMemoryUsage } from './formatters.js';
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
+ import { formatDuration, formatMemoryUsage, formatTimeAgo, stripReferenceContent, } from './formatters.js';
8
8
  describe('formatters', () => {
9
9
  describe('formatMemoryUsage', () => {
10
10
  it('should format bytes into KB', () => {
@@ -52,5 +52,73 @@ describe('formatters', () => {
52
52
  expect(formatDuration(-100)).toBe('0s');
53
53
  });
54
54
  });
55
+ describe('formatTimeAgo', () => {
56
+ const NOW = new Date('2025-01-01T12:00:00Z');
57
+ beforeEach(() => {
58
+ vi.useFakeTimers();
59
+ vi.setSystemTime(NOW);
60
+ });
61
+ afterEach(() => {
62
+ vi.useRealTimers();
63
+ });
64
+ it('should return "just now" for dates less than a minute ago', () => {
65
+ const past = new Date(NOW.getTime() - 30 * 1000);
66
+ expect(formatTimeAgo(past)).toBe('just now');
67
+ });
68
+ it('should return minutes ago', () => {
69
+ const past = new Date(NOW.getTime() - 5 * 60 * 1000);
70
+ expect(formatTimeAgo(past)).toBe('5m ago');
71
+ });
72
+ it('should return hours ago', () => {
73
+ const past = new Date(NOW.getTime() - 3 * 60 * 60 * 1000);
74
+ expect(formatTimeAgo(past)).toBe('3h ago');
75
+ });
76
+ it('should return days ago', () => {
77
+ const past = new Date(NOW.getTime() - 2 * 24 * 60 * 60 * 1000);
78
+ expect(formatTimeAgo(past)).toBe('48h ago');
79
+ });
80
+ it('should handle string dates', () => {
81
+ const past = '2025-01-01T11:00:00Z'; // 1 hour ago
82
+ expect(formatTimeAgo(past)).toBe('1h ago');
83
+ });
84
+ it('should handle number timestamps', () => {
85
+ const past = NOW.getTime() - 10 * 60 * 1000; // 10 minutes ago
86
+ expect(formatTimeAgo(past)).toBe('10m ago');
87
+ });
88
+ it('should handle invalid timestamps', () => {
89
+ const past = 'hello';
90
+ expect(formatTimeAgo(past)).toBe('invalid date');
91
+ });
92
+ });
93
+ describe('stripReferenceContent', () => {
94
+ it('should return the original text if no markers are present', () => {
95
+ const text = 'Hello world';
96
+ expect(stripReferenceContent(text)).toBe(text);
97
+ });
98
+ it('should strip content between markers', () => {
99
+ const text = 'Prompt @file.txt\n--- Content from referenced files ---\nFile content here\n--- End of content ---';
100
+ expect(stripReferenceContent(text)).toBe('Prompt @file.txt');
101
+ });
102
+ it('should strip content and keep text after the markers', () => {
103
+ const text = 'Before\n--- Content from referenced files ---\nMiddle\n--- End of content ---\nAfter';
104
+ expect(stripReferenceContent(text)).toBe('Before\nAfter');
105
+ });
106
+ it('should handle missing end marker gracefully', () => {
107
+ const text = 'Before\n--- Content from referenced files ---\nMiddle';
108
+ expect(stripReferenceContent(text)).toBe(text);
109
+ });
110
+ it('should handle end marker before start marker gracefully', () => {
111
+ const text = '--- End of content ---\n--- Content from referenced files ---';
112
+ expect(stripReferenceContent(text)).toBe(text);
113
+ });
114
+ it('should strip even if markers are on the same line (though unlikely)', () => {
115
+ const text = 'A--- Content from referenced files ---B--- End of content ---C';
116
+ expect(stripReferenceContent(text)).toBe('AC');
117
+ });
118
+ it('should strip multiple blocks correctly and preserve text in between', () => {
119
+ const text = 'Start\n--- Content from referenced files ---\nBlock1\n--- End of content ---\nMiddle\n--- Content from referenced files ---\nBlock2\n--- End of content ---\nEnd';
120
+ expect(stripReferenceContent(text)).toBe('Start\nMiddle\nEnd');
121
+ });
122
+ });
55
123
  });
56
124
  //# sourceMappingURL=formatters.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"formatters.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatters.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/formatters.test.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,29 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { LRUCache } from 'mnemonist';
6
7
  import { cpLen, cpSlice } from './textUtils.js';
8
+ import { LRU_BUFFER_PERF_CACHE_LIMIT } from '../constants.js';
7
9
  // Matches slash commands (e.g., /help) and @ references (files or MCP resource URIs).
8
10
  // The @ pattern uses a negated character class to support URIs like `@file:///example.txt`
9
11
  // which contain colons. It matches any character except delimiters: comma, whitespace,
10
12
  // semicolon, common punctuation, and brackets.
11
13
  const HIGHLIGHT_REGEX = /(^\/[a-zA-Z0-9_-]+|@(?:\\ |[^,\s;!?()[\]{}])+)/g;
14
+ const highlightCache = new LRUCache(LRU_BUFFER_PERF_CACHE_LIMIT);
12
15
  export function parseInputForHighlighting(text, index, transformations = [], cursorCol) {
16
+ let isCursorInsideTransform = false;
17
+ if (cursorCol !== undefined) {
18
+ for (const transform of transformations) {
19
+ if (cursorCol >= transform.logStart && cursorCol <= transform.logEnd) {
20
+ isCursorInsideTransform = true;
21
+ break;
22
+ }
23
+ }
24
+ }
25
+ const cacheKey = `${index === 0 ? 'F' : 'N'}:${isCursorInsideTransform ? cursorCol : 'NC'}:${text}`;
26
+ const cached = highlightCache.get(cacheKey);
27
+ if (cached !== undefined)
28
+ return cached;
13
29
  HIGHLIGHT_REGEX.lastIndex = 0;
14
30
  if (!text) {
15
31
  return [{ text: '', type: 'default' }];
@@ -49,7 +65,7 @@ export function parseInputForHighlighting(text, index, transformations = [], cur
49
65
  for (const transformation of sortedTransformations) {
50
66
  const textBeforeTransformation = cpSlice(text, column, transformation.logStart);
51
67
  tokens.push(...parseUntransformedInput(textBeforeTransformation));
52
- const isCursorInside = typeof cursorCol === 'number' &&
68
+ const isCursorInside = cursorCol !== undefined &&
53
69
  cursorCol >= transformation.logStart &&
54
70
  cursorCol <= transformation.logEnd;
55
71
  const transformationText = isCursorInside
@@ -60,6 +76,7 @@ export function parseInputForHighlighting(text, index, transformations = [], cur
60
76
  }
61
77
  const textAfterFinalTransformation = cpSlice(text, column);
62
78
  tokens.push(...parseUntransformedInput(textAfterFinalTransformation));
79
+ highlightCache.set(cacheKey, tokens);
63
80
  return tokens;
64
81
  }
65
82
  export function parseSegmentsFromTokens(tokens, sliceStart, sliceEnd) {
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../../../src/ui/utils/highlight.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"highlight.js","sourceRoot":"","sources":["../../../../src/ui/utils/highlight.ts"],"names":[],"mappings":"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"}
@@ -178,12 +178,12 @@ describe('parseInputForHighlighting with Transformations', () => {
178
178
  ]);
179
179
  });
180
180
  it('should handle empty transformations array', () => {
181
- const line = 'Check out @test.png';
181
+ const line = 'Check out @test_no_transform.png';
182
182
  const result = parseInputForHighlighting(line, 0, [], 0);
183
183
  // Should fall back to default highlighting
184
184
  expect(result).toEqual([
185
185
  { text: 'Check out ', type: 'default' },
186
- { text: '@test.png', type: 'file' },
186
+ { text: '@test_no_transform.png', type: 'file' },
187
187
  ]);
188
188
  });
189
189
  it('should handle cursor at transformation boundaries', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"highlight.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/highlight.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"highlight.test.js","sourceRoot":"","sources":["../../../../src/ui/utils/highlight.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,yBAAyB,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/C,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,2BAA2B,CAAC;QACzC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC7E,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SACjC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC9D,MAAM,IAAI,GAAG,0BAA0B,CAAC;QACxC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACrC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,IAAI,GAAG,wBAAwB,CAAC;QACtC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,SAAS,EAAE;SACpD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAG,4CAA4C,CAAC;QAC1D,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE;YAC1C,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,IAAI,GAAG,0DAA0D,CAAC;QACxE,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3C,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;YAClC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/C,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAG,cAAc,CAAC;QAC5B,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;SACnC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACnC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE;SACjD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACvD,MAAM,IAAI,GAAG,mCAAmC,CAAC;QACjD,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;YACnC,EAAE,IAAI,EAAE,6BAA6B,EAAE,IAAI,EAAE,MAAM,EAAE;SACtD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,IAAI,GAAG,sBAAsB,CAAC;QACpC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE;SAClD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,IAAI,GAAG,kBAAkB,CAAC;QAChC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;SAClC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,IAAI,GAAG,6BAA6B,CAAC;QAC3C,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,IAAI,GAAG,gBAAgB,CAAC;QAC9B,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE;YAC9B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,IAAI,GAAG,0BAA0B,CAAC;QACxC,MAAM,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE;YACjC,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,gDAAgD,EAAE,GAAG,EAAE;IAC9D,MAAM,eAAe,GAAG;QACtB;YACE,QAAQ,EAAE,EAAE;YACZ,MAAM,EAAE,EAAE;YACV,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,kBAAkB;SAClC;KACF,CAAC;IAEF,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACnC,MAAM,MAAM,GAAG,yBAAyB,CACtC,IAAI,EACJ,CAAC,EAAE,aAAa;QAChB,eAAe,EACf,CAAC,CACF,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,MAAM,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACnC,MAAM,MAAM,GAAG,yBAAyB,CACtC,IAAI,EACJ,CAAC,EAAE,aAAa;QAChB,eAAe,EACf,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,IAAI,GAAG,mCAAmC,CAAC;QACjD,MAAM,oBAAoB,GAAG;YAC3B;gBACE,QAAQ,EAAE,CAAC;gBACX,MAAM,EAAE,EAAE;gBACV,WAAW,EAAE,YAAY;gBACzB,aAAa,EAAE,mBAAmB;aACnC;YACD;gBACE,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE;gBACV,WAAW,EAAE,YAAY;gBACzB,aAAa,EAAE,mBAAmB;aACnC;SACF,CAAC;QAEF,mCAAmC;QACnC,IAAI,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC;QACzE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;YAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5C,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;YACpC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,MAAM,EAAE;SAC5C,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,kCAAkC,CAAC;QAChD,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;QAEzD,2CAA2C;QAC3C,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE;YACvC,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,MAAM,EAAE;SACjD,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACnC,MAAM,MAAM,GAAG,yBAAyB,CACtC,IAAI,EACJ,CAAC,EACD,eAAe,EACf,EAAE,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}