@google/gemini-cli 0.31.0 → 0.32.0

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 (327) hide show
  1. package/dist/package.json +2 -2
  2. package/dist/src/commands/extensions/examples/policies/README.md +41 -0
  3. package/dist/src/commands/extensions/examples/policies/gemini-extension.json +5 -0
  4. package/dist/src/commands/extensions/examples/policies/policies/policies.toml +28 -0
  5. package/dist/src/commands/extensions/link.test.js +5 -21
  6. package/dist/src/commands/extensions/link.test.js.map +1 -1
  7. package/dist/src/commands/extensions/list.test.js +10 -24
  8. package/dist/src/commands/extensions/list.test.js.map +1 -1
  9. package/dist/src/commands/mcp/list.js +32 -14
  10. package/dist/src/commands/mcp/list.js.map +1 -1
  11. package/dist/src/commands/mcp/list.test.js +22 -1
  12. package/dist/src/commands/mcp/list.test.js.map +1 -1
  13. package/dist/src/commands/skills/disable.test.js +4 -7
  14. package/dist/src/commands/skills/disable.test.js.map +1 -1
  15. package/dist/src/commands/skills/enable.test.js +4 -7
  16. package/dist/src/commands/skills/enable.test.js.map +1 -1
  17. package/dist/src/commands/skills/install.test.js +12 -9
  18. package/dist/src/commands/skills/install.test.js.map +1 -1
  19. package/dist/src/commands/skills/link.test.js +5 -2
  20. package/dist/src/commands/skills/link.test.js.map +1 -1
  21. package/dist/src/commands/skills/list.test.js +16 -29
  22. package/dist/src/commands/skills/list.test.js.map +1 -1
  23. package/dist/src/commands/skills/uninstall.test.js +9 -6
  24. package/dist/src/commands/skills/uninstall.test.js.map +1 -1
  25. package/dist/src/config/config.js +3 -0
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/config/config.test.js +55 -0
  28. package/dist/src/config/config.test.js.map +1 -1
  29. package/dist/src/config/extension-manager.d.ts +8 -1
  30. package/dist/src/config/extension-manager.js +88 -23
  31. package/dist/src/config/extension-manager.js.map +1 -1
  32. package/dist/src/config/extension-manager.test.d.ts +6 -0
  33. package/dist/src/config/extension-manager.test.js +138 -0
  34. package/dist/src/config/extension-manager.test.js.map +1 -0
  35. package/dist/src/config/extension.test.js +93 -4
  36. package/dist/src/config/extension.test.js.map +1 -1
  37. package/dist/src/config/extensions/consent.test.js +35 -43
  38. package/dist/src/config/extensions/consent.test.js.map +1 -1
  39. package/dist/src/config/keyBindings.js +1 -1
  40. package/dist/src/config/keyBindings.js.map +1 -1
  41. package/dist/src/config/policy-engine.integration.test.js +12 -12
  42. package/dist/src/config/settingsSchema.d.ts +98 -3
  43. package/dist/src/config/settingsSchema.js +92 -1
  44. package/dist/src/config/settingsSchema.js.map +1 -1
  45. package/dist/src/config/settingsSchema.test.js +49 -0
  46. package/dist/src/config/settingsSchema.test.js.map +1 -1
  47. package/dist/src/gemini.js +7 -8
  48. package/dist/src/gemini.js.map +1 -1
  49. package/dist/src/gemini.test.js +5 -1
  50. package/dist/src/gemini.test.js.map +1 -1
  51. package/dist/src/generated/git-commit.d.ts +2 -2
  52. package/dist/src/generated/git-commit.js +2 -2
  53. package/dist/src/test-utils/AppRig.d.ts +26 -0
  54. package/dist/src/test-utils/AppRig.js +128 -6
  55. package/dist/src/test-utils/AppRig.js.map +1 -1
  56. package/dist/src/test-utils/customMatchers.d.ts +25 -5
  57. package/dist/src/test-utils/customMatchers.js +46 -0
  58. package/dist/src/test-utils/customMatchers.js.map +1 -1
  59. package/dist/src/test-utils/mockConfig.js +4 -0
  60. package/dist/src/test-utils/mockConfig.js.map +1 -1
  61. package/dist/src/test-utils/mockDebugLogger.d.ts +35 -0
  62. package/dist/src/test-utils/mockDebugLogger.js +67 -0
  63. package/dist/src/test-utils/mockDebugLogger.js.map +1 -0
  64. package/dist/src/test-utils/render.d.ts +13 -0
  65. package/dist/src/test-utils/render.js +48 -8
  66. package/dist/src/test-utils/render.js.map +1 -1
  67. package/dist/src/test-utils/svg.d.ts +7 -0
  68. package/dist/src/test-utils/svg.js +163 -0
  69. package/dist/src/test-utils/svg.js.map +1 -0
  70. package/dist/src/ui/AppContainer.js +48 -66
  71. package/dist/src/ui/AppContainer.js.map +1 -1
  72. package/dist/src/ui/AppContainer.test.js +89 -0
  73. package/dist/src/ui/AppContainer.test.js.map +1 -1
  74. package/dist/src/ui/commands/mcpCommand.js +17 -3
  75. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  76. package/dist/src/ui/commands/mcpCommand.test.js +10 -3
  77. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  78. package/dist/src/ui/commands/setupGithubCommand.js +2 -0
  79. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  80. package/dist/src/ui/commands/statsCommand.js +10 -4
  81. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  82. package/dist/src/ui/commands/statsCommand.test.js +12 -3
  83. package/dist/src/ui/commands/statsCommand.test.js.map +1 -1
  84. package/dist/src/ui/components/AnsiOutput.test.js +3 -3
  85. package/dist/src/ui/components/AnsiOutput.test.js.map +1 -1
  86. package/dist/src/ui/components/AskUserDialog.d.ts +4 -0
  87. package/dist/src/ui/components/AskUserDialog.js +5 -5
  88. package/dist/src/ui/components/AskUserDialog.js.map +1 -1
  89. package/dist/src/ui/components/AskUserDialog.test.js +6 -7
  90. package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
  91. package/dist/src/ui/components/Composer.js +17 -6
  92. package/dist/src/ui/components/Composer.js.map +1 -1
  93. package/dist/src/ui/components/Composer.test.js +47 -6
  94. package/dist/src/ui/components/Composer.test.js.map +1 -1
  95. package/dist/src/ui/components/ConfigInitDisplay.js +1 -1
  96. package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -1
  97. package/dist/src/ui/components/ConfigInitDisplay.test.js +6 -6
  98. package/dist/src/ui/components/ConfigInitDisplay.test.js.map +1 -1
  99. package/dist/src/ui/components/DetailedMessagesDisplay.js +6 -1
  100. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  101. package/dist/src/ui/components/DetailedMessagesDisplay.test.js +43 -4
  102. package/dist/src/ui/components/DetailedMessagesDisplay.test.js.map +1 -1
  103. package/dist/src/ui/components/DialogManager.js +9 -1
  104. package/dist/src/ui/components/DialogManager.js.map +1 -1
  105. package/dist/src/ui/components/DialogManager.test.js +4 -0
  106. package/dist/src/ui/components/DialogManager.test.js.map +1 -1
  107. package/dist/src/ui/components/EmptyWalletDialog.d.ts +22 -0
  108. package/dist/src/ui/components/EmptyWalletDialog.js +33 -0
  109. package/dist/src/ui/components/EmptyWalletDialog.js.map +1 -0
  110. package/dist/src/ui/components/EmptyWalletDialog.test.d.ts +6 -0
  111. package/dist/src/ui/components/EmptyWalletDialog.test.js +127 -0
  112. package/dist/src/ui/components/EmptyWalletDialog.test.js.map +1 -0
  113. package/dist/src/ui/components/ExitPlanModeDialog.d.ts +2 -1
  114. package/dist/src/ui/components/ExitPlanModeDialog.js +34 -7
  115. package/dist/src/ui/components/ExitPlanModeDialog.js.map +1 -1
  116. package/dist/src/ui/components/ExitPlanModeDialog.test.js +31 -2
  117. package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +1 -1
  118. package/dist/src/ui/components/FolderTrustDialog.test.js +1 -1
  119. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  120. package/dist/src/ui/components/Footer.js +3 -1
  121. package/dist/src/ui/components/Footer.js.map +1 -1
  122. package/dist/src/ui/components/Footer.test.js +63 -1
  123. package/dist/src/ui/components/Footer.test.js.map +1 -1
  124. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +0 -5
  125. package/dist/src/ui/components/GeminiRespondingSpinner.js +1 -32
  126. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  127. package/dist/src/ui/components/GeminiRespondingSpinner.test.js +5 -10
  128. package/dist/src/ui/components/GeminiRespondingSpinner.test.js.map +1 -1
  129. package/dist/src/ui/components/GeminiSpinner.d.ts +13 -0
  130. package/dist/src/ui/components/GeminiSpinner.js +35 -0
  131. package/dist/src/ui/components/GeminiSpinner.js.map +1 -0
  132. package/dist/src/ui/components/HistoryItemDisplay.js +1 -1
  133. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  134. package/dist/src/ui/components/InputPrompt.js +31 -3
  135. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  136. package/dist/src/ui/components/InputPrompt.test.js +82 -18
  137. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  138. package/dist/src/ui/components/OverageMenuDialog.d.ts +22 -0
  139. package/dist/src/ui/components/OverageMenuDialog.js +32 -0
  140. package/dist/src/ui/components/OverageMenuDialog.js.map +1 -0
  141. package/dist/src/ui/components/OverageMenuDialog.test.d.ts +6 -0
  142. package/dist/src/ui/components/OverageMenuDialog.test.js +129 -0
  143. package/dist/src/ui/components/OverageMenuDialog.test.js.map +1 -0
  144. package/dist/src/ui/components/ProQuotaDialog.d.ts +3 -1
  145. package/dist/src/ui/components/ProQuotaDialog.js +11 -6
  146. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -1
  147. package/dist/src/ui/components/ProQuotaDialog.test.js +27 -14
  148. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -1
  149. package/dist/src/ui/components/SettingsDialog.test.js +9 -11
  150. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  151. package/dist/src/ui/components/StatsDisplay.d.ts +1 -0
  152. package/dist/src/ui/components/StatsDisplay.js +2 -2
  153. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  154. package/dist/src/ui/components/Table.test.js +23 -4
  155. package/dist/src/ui/components/Table.test.js.map +1 -1
  156. package/dist/src/ui/components/ToastDisplay.js +1 -1
  157. package/dist/src/ui/components/ToastDisplay.js.map +1 -1
  158. package/dist/src/ui/components/ToastDisplay.test.js +2 -2
  159. package/dist/src/ui/components/ToastDisplay.test.js.map +1 -1
  160. package/dist/src/ui/components/ToolConfirmationQueue.js +3 -1
  161. package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
  162. package/dist/src/ui/components/ToolConfirmationQueue.test.js +3 -2
  163. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
  164. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +1 -1
  165. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +1 -1
  166. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +2 -1
  167. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +3 -2
  168. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  169. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +17 -17
  170. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  171. package/dist/src/ui/components/messages/ToolGroupMessage.js +17 -7
  172. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  173. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +88 -5
  174. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  175. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js +1 -1
  176. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js.map +1 -1
  177. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js +11 -4
  178. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js.map +1 -1
  179. package/dist/src/ui/components/shared/DialogFooter.d.ts +2 -0
  180. package/dist/src/ui/components/shared/DialogFooter.js +2 -1
  181. package/dist/src/ui/components/shared/DialogFooter.js.map +1 -1
  182. package/dist/src/ui/components/shared/ExpandableText.test.js +21 -16
  183. package/dist/src/ui/components/shared/ExpandableText.test.js.map +1 -1
  184. package/dist/src/ui/components/shared/MaxSizedBox.js +10 -1
  185. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  186. package/dist/src/ui/components/shared/MaxSizedBox.test.js +8 -8
  187. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -1
  188. package/dist/src/ui/components/shared/Scrollable.d.ts +1 -1
  189. package/dist/src/ui/components/shared/Scrollable.js +76 -43
  190. package/dist/src/ui/components/shared/Scrollable.js.map +1 -1
  191. package/dist/src/ui/components/shared/Scrollable.test.js +15 -20
  192. package/dist/src/ui/components/shared/Scrollable.test.js.map +1 -1
  193. package/dist/src/ui/components/shared/ScrollableList.js +14 -9
  194. package/dist/src/ui/components/shared/ScrollableList.js.map +1 -1
  195. package/dist/src/ui/components/shared/ScrollableList.test.js +153 -0
  196. package/dist/src/ui/components/shared/ScrollableList.test.js.map +1 -1
  197. package/dist/src/ui/components/shared/VirtualizedList.js +133 -88
  198. package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -1
  199. package/dist/src/ui/components/shared/VirtualizedList.test.js +6 -3
  200. package/dist/src/ui/components/shared/VirtualizedList.test.js.map +1 -1
  201. package/dist/src/ui/components/shared/text-buffer.js +3 -30
  202. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  203. package/dist/src/ui/components/views/McpStatus.d.ts +1 -0
  204. package/dist/src/ui/components/views/McpStatus.js +2 -2
  205. package/dist/src/ui/components/views/McpStatus.js.map +1 -1
  206. package/dist/src/ui/components/views/McpStatus.test.js +7 -0
  207. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
  208. package/dist/src/ui/contexts/UIActionsContext.d.ts +3 -0
  209. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  210. package/dist/src/ui/contexts/UIStateContext.d.ts +24 -1
  211. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  212. package/dist/src/ui/hooks/atCommandProcessor.js +4 -0
  213. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  214. package/dist/src/ui/hooks/creditsFlowHandler.d.ts +35 -0
  215. package/dist/src/ui/hooks/creditsFlowHandler.js +144 -0
  216. package/dist/src/ui/hooks/creditsFlowHandler.js.map +1 -0
  217. package/dist/src/ui/hooks/creditsFlowHandler.test.d.ts +6 -0
  218. package/dist/src/ui/hooks/creditsFlowHandler.test.js +180 -0
  219. package/dist/src/ui/hooks/creditsFlowHandler.test.js.map +1 -0
  220. package/dist/src/ui/hooks/shell-completions/gitProvider.d.ts +7 -0
  221. package/dist/src/ui/hooks/shell-completions/gitProvider.js +73 -0
  222. package/dist/src/ui/hooks/shell-completions/gitProvider.js.map +1 -0
  223. package/dist/src/ui/hooks/shell-completions/gitProvider.test.d.ts +6 -0
  224. package/dist/src/ui/hooks/shell-completions/gitProvider.test.js +73 -0
  225. package/dist/src/ui/hooks/shell-completions/gitProvider.test.js.map +1 -0
  226. package/dist/src/ui/hooks/shell-completions/index.d.ts +7 -0
  227. package/dist/src/ui/hooks/shell-completions/index.js +16 -0
  228. package/dist/src/ui/hooks/shell-completions/index.js.map +1 -0
  229. package/dist/src/ui/hooks/shell-completions/npmProvider.d.ts +7 -0
  230. package/dist/src/ui/hooks/shell-completions/npmProvider.js +67 -0
  231. package/dist/src/ui/hooks/shell-completions/npmProvider.js.map +1 -0
  232. package/dist/src/ui/hooks/shell-completions/npmProvider.test.d.ts +6 -0
  233. package/dist/src/ui/hooks/shell-completions/npmProvider.test.js +69 -0
  234. package/dist/src/ui/hooks/shell-completions/npmProvider.test.js.map +1 -0
  235. package/dist/src/ui/hooks/shell-completions/types.d.ts +16 -0
  236. package/dist/src/ui/hooks/shell-completions/types.js +7 -0
  237. package/dist/src/ui/hooks/shell-completions/types.js.map +1 -0
  238. package/dist/src/ui/hooks/shellCommandProcessor.js +1 -0
  239. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  240. package/dist/src/ui/hooks/slashCommandProcessor.js +1 -0
  241. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  242. package/dist/src/ui/hooks/toolMapping.js +1 -0
  243. package/dist/src/ui/hooks/toolMapping.js.map +1 -1
  244. package/dist/src/ui/hooks/toolMapping.test.js +25 -0
  245. package/dist/src/ui/hooks/toolMapping.test.js.map +1 -1
  246. package/dist/src/ui/hooks/useAlternateBuffer.d.ts +2 -2
  247. package/dist/src/ui/hooks/useAlternateBuffer.js +5 -4
  248. package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
  249. package/dist/src/ui/hooks/useAlternateBuffer.test.d.ts +6 -0
  250. package/dist/src/ui/hooks/useAlternateBuffer.test.js +57 -0
  251. package/dist/src/ui/hooks/useAlternateBuffer.test.js.map +1 -0
  252. package/dist/src/ui/hooks/useCommandCompletion.d.ts +2 -1
  253. package/dist/src/ui/hooks/useCommandCompletion.js +37 -5
  254. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  255. package/dist/src/ui/hooks/useCommandCompletion.test.js +23 -1
  256. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  257. package/dist/src/ui/hooks/useGeminiStream.js +83 -5
  258. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  259. package/dist/src/ui/hooks/useGeminiStream.test.js +110 -4
  260. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  261. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +2 -1
  262. package/dist/src/ui/hooks/useLoadingIndicator.js +7 -2
  263. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  264. package/dist/src/ui/hooks/useLoadingIndicator.test.js +25 -4
  265. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  266. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -1
  267. package/dist/src/ui/hooks/usePrivacySettings.js +9 -3
  268. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  269. package/dist/src/ui/hooks/useQuotaAndFallback.d.ts +11 -3
  270. package/dist/src/ui/hooks/useQuotaAndFallback.js +84 -12
  271. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -1
  272. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +278 -16
  273. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -1
  274. package/dist/src/ui/hooks/useShellCompletion.d.ts +49 -0
  275. package/dist/src/ui/hooks/useShellCompletion.js +489 -0
  276. package/dist/src/ui/hooks/useShellCompletion.js.map +1 -0
  277. package/dist/src/ui/hooks/useShellCompletion.test.d.ts +6 -0
  278. package/dist/src/ui/hooks/useShellCompletion.test.js +354 -0
  279. package/dist/src/ui/hooks/useShellCompletion.test.js.map +1 -0
  280. package/dist/src/ui/hooks/useTimedMessage.d.ts +1 -1
  281. package/dist/src/ui/hooks/useTimedMessage.js +5 -3
  282. package/dist/src/ui/hooks/useTimedMessage.js.map +1 -1
  283. package/dist/src/ui/hooks/useToolScheduler.js +5 -0
  284. package/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
  285. package/dist/src/ui/hooks/useToolScheduler.test.js +28 -19
  286. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  287. package/dist/src/ui/types.d.ts +3 -0
  288. package/dist/src/ui/types.js.map +1 -1
  289. package/dist/src/ui/utils/InlineMarkdownRenderer.js +4 -86
  290. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  291. package/dist/src/ui/utils/MarkdownDisplay.test.js +2 -2
  292. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -1
  293. package/dist/src/ui/utils/TableRenderer.js +18 -12
  294. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  295. package/dist/src/ui/utils/TableRenderer.test.js +152 -22
  296. package/dist/src/ui/utils/TableRenderer.test.js.map +1 -1
  297. package/dist/src/ui/utils/borderStyles.js +4 -1
  298. package/dist/src/ui/utils/borderStyles.js.map +1 -1
  299. package/dist/src/ui/utils/borderStyles.test.d.ts +6 -0
  300. package/dist/src/ui/utils/borderStyles.test.js +141 -0
  301. package/dist/src/ui/utils/borderStyles.test.js.map +1 -0
  302. package/dist/src/ui/utils/editorUtils.d.ts +17 -0
  303. package/dist/src/ui/utils/editorUtils.js +104 -0
  304. package/dist/src/ui/utils/editorUtils.js.map +1 -0
  305. package/dist/src/ui/utils/markdownParsingUtils.d.ts +10 -0
  306. package/dist/src/ui/utils/markdownParsingUtils.js +150 -0
  307. package/dist/src/ui/utils/markdownParsingUtils.js.map +1 -0
  308. package/dist/src/ui/utils/markdownParsingUtils.test.d.ts +6 -0
  309. package/dist/src/ui/utils/markdownParsingUtils.test.js +163 -0
  310. package/dist/src/ui/utils/markdownParsingUtils.test.js.map +1 -0
  311. package/dist/src/ui/utils/ui-sizing.d.ts +2 -2
  312. package/dist/src/ui/utils/ui-sizing.js +2 -3
  313. package/dist/src/ui/utils/ui-sizing.js.map +1 -1
  314. package/dist/src/ui/utils/ui-sizing.test.js +5 -19
  315. package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
  316. package/dist/src/utils/cleanup.d.ts +2 -0
  317. package/dist/src/utils/cleanup.js +51 -1
  318. package/dist/src/utils/cleanup.js.map +1 -1
  319. package/dist/src/utils/cleanup.test.js +130 -2
  320. package/dist/src/utils/cleanup.test.js.map +1 -1
  321. package/dist/src/zed-integration/zedIntegration.d.ts +2 -1
  322. package/dist/src/zed-integration/zedIntegration.js +35 -11
  323. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  324. package/dist/src/zed-integration/zedIntegration.test.js +17 -1
  325. package/dist/src/zed-integration/zedIntegration.test.js.map +1 -1
  326. package/dist/tsconfig.tsbuildinfo +1 -1
  327. package/package.json +3 -3
@@ -12,11 +12,40 @@ import path from 'node:path';
12
12
  import fs from 'node:fs';
13
13
  import { AppContainer } from '../ui/AppContainer.js';
14
14
  import { renderWithProviders } from './render.js';
15
- import { makeFakeConfig, ExtensionLoader, AuthType, ApprovalMode, createPolicyEngineConfig, PolicyDecision, ToolConfirmationOutcome, MessageBusType, coreEvents, ideContextStore, createContentGenerator, IdeClient, debugLogger, } from '@google/gemini-cli-core';
15
+ import { makeFakeConfig, ExtensionLoader, AuthType, ApprovalMode, createPolicyEngineConfig, PolicyDecision, ToolConfirmationOutcome, MessageBusType, coreEvents, ideContextStore, createContentGenerator, IdeClient, debugLogger, CoreToolCallStatus, } from '@google/gemini-cli-core';
16
16
  import { MockShellExecutionService, } from './MockShellExecutionService.js';
17
17
  import { createMockSettings } from './settings.js';
18
18
  import {} from '../config/settings.js';
19
- import { AuthState } from '../ui/types.js';
19
+ import { AuthState, StreamingState } from '../ui/types.js';
20
+ import { randomUUID } from 'node:crypto';
21
+ // Global state observer for React-based signals
22
+ const sessionStateMap = new Map();
23
+ const activeRigs = new Map();
24
+ // Mock StreamingContext to report state changes back to the observer
25
+ vi.mock('../ui/contexts/StreamingContext.js', async (importOriginal) => {
26
+ const original = await importOriginal();
27
+ const { useConfig } = await import('../ui/contexts/ConfigContext.js');
28
+ const React = await import('react');
29
+ return {
30
+ ...original,
31
+ useStreamingContext: () => {
32
+ const state = original.useStreamingContext();
33
+ const config = useConfig();
34
+ const sessionId = config.getSessionId();
35
+ React.useEffect(() => {
36
+ sessionStateMap.set(sessionId, state);
37
+ // If we see activity, we are no longer "awaiting" the start of a response
38
+ if (state !== StreamingState.Idle) {
39
+ const rig = activeRigs.get(sessionId);
40
+ if (rig) {
41
+ rig.awaitingResponse = false;
42
+ }
43
+ }
44
+ }, [sessionId, state]);
45
+ return state;
46
+ },
47
+ };
48
+ });
20
49
  // Mock core functions globally for tests using AppRig.
21
50
  vi.mock('@google/gemini-cli-core', async (importOriginal) => {
22
51
  const original = await importOriginal();
@@ -67,10 +96,16 @@ export class AppRig {
67
96
  pendingConfirmations = new Map();
68
97
  breakpointTools = new Set();
69
98
  lastAwaitedConfirmation;
99
+ /**
100
+ * True if a message was just sent but React hasn't yet reported a non-idle state.
101
+ */
102
+ awaitingResponse = false;
70
103
  constructor(options = {}) {
71
104
  this.options = options;
72
- this.testDir = fs.mkdtempSync(path.join(os.tmpdir(), 'gemini-app-rig-'));
73
- this.sessionId = `test-session-${Math.random().toString(36).slice(2, 9)}`;
105
+ const uniqueId = randomUUID();
106
+ this.testDir = fs.mkdtempSync(path.join(os.tmpdir(), `gemini-app-rig-${uniqueId.slice(0, 8)}-`));
107
+ this.sessionId = `test-session-${uniqueId}`;
108
+ activeRigs.set(this.sessionId, this);
74
109
  }
75
110
  async initialize() {
76
111
  this.setupEnvironment();
@@ -176,11 +211,13 @@ export class AppRig {
176
211
  gcConfig.baseLlmClient = new BaseLlmClient(gcConfig.contentGenerator, this.config);
177
212
  };
178
213
  }
214
+ toolCalls = [];
179
215
  setupMessageBusListeners() {
180
216
  if (!this.config)
181
217
  return;
182
218
  const messageBus = this.config.getMessageBus();
183
219
  messageBus.subscribe(MessageBusType.TOOL_CALLS_UPDATE, (message) => {
220
+ this.toolCalls = message.toolCalls;
184
221
  for (const call of message.toolCalls) {
185
222
  if (call.status === 'awaiting_approval' && call.correlationId) {
186
223
  const details = call.confirmationDetails;
@@ -205,6 +242,37 @@ export class AppRig {
205
242
  }
206
243
  });
207
244
  }
245
+ /**
246
+ * Returns true if the agent is currently busy (responding or executing tools).
247
+ */
248
+ isBusy() {
249
+ if (this.awaitingResponse) {
250
+ return true;
251
+ }
252
+ const reactState = sessionStateMap.get(this.sessionId);
253
+ // If we have a React-based state, use it as the definitive signal.
254
+ // 'responding' and 'waiting-for-confirmation' both count as busy for the overall task.
255
+ if (reactState !== undefined) {
256
+ return reactState !== StreamingState.Idle;
257
+ }
258
+ // Fallback to tool tracking if React hasn't reported yet
259
+ const isAnyToolActive = this.toolCalls.some((tc) => {
260
+ if (tc.status === CoreToolCallStatus.Executing ||
261
+ tc.status === CoreToolCallStatus.Scheduled ||
262
+ tc.status === CoreToolCallStatus.Validating) {
263
+ return true;
264
+ }
265
+ if (tc.status === CoreToolCallStatus.Success ||
266
+ tc.status === CoreToolCallStatus.Error ||
267
+ tc.status === CoreToolCallStatus.Cancelled) {
268
+ return !tc
269
+ .responseSubmittedToGemini;
270
+ }
271
+ return false;
272
+ });
273
+ const isAwaitingConfirmation = this.toolCalls.some((tc) => tc.status === CoreToolCallStatus.AwaitingApproval);
274
+ return isAnyToolActive || isAwaitingConfirmation;
275
+ }
208
276
  render() {
209
277
  if (!this.config || !this.settings)
210
278
  throw new Error('AppRig not initialized');
@@ -246,17 +314,21 @@ export class AppRig {
246
314
  }
247
315
  }
248
316
  else {
249
- this.setToolPolicy(toolName, PolicyDecision.ASK_USER, 100);
317
+ // Use undefined toolName to create a global rule if '*' is provided
318
+ const actualToolName = toolName === '*' ? undefined : toolName;
319
+ this.setToolPolicy(actualToolName, PolicyDecision.ASK_USER, 100);
250
320
  this.breakpointTools.add(toolName);
251
321
  }
252
322
  }
253
323
  removeToolPolicy(toolName, source = 'AppRig Override') {
254
324
  if (!this.config)
255
325
  throw new Error('AppRig not initialized');
326
+ // Map '*' back to undefined for policy removal
327
+ const actualToolName = toolName === '*' ? undefined : toolName;
256
328
  this.config
257
329
  .getPolicyEngine()
258
330
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
259
- .removeRulesForTool(toolName, source);
331
+ .removeRulesForTool(actualToolName, source);
260
332
  this.breakpointTools.delete(toolName);
261
333
  }
262
334
  getTestDir() {
@@ -303,6 +375,32 @@ export class AppRig {
303
375
  this.lastAwaitedConfirmation = matched;
304
376
  return matched;
305
377
  }
378
+ /**
379
+ * Waits for either a tool confirmation request OR for the agent to go idle.
380
+ */
381
+ async waitForNextEvent(timeout = 60000) {
382
+ let confirmation;
383
+ let isIdle = false;
384
+ await this.waitUntil(async () => {
385
+ await act(async () => {
386
+ await new Promise((resolve) => setTimeout(resolve, 0));
387
+ });
388
+ confirmation = this.getPendingConfirmations()[0];
389
+ // Now that we have a code-powered signal, this should be perfectly deterministic.
390
+ isIdle = !this.isBusy();
391
+ return !!confirmation || isIdle;
392
+ }, {
393
+ timeout,
394
+ message: 'Timed out waiting for next event (confirmation or idle).',
395
+ });
396
+ if (confirmation) {
397
+ this.lastAwaitedConfirmation = confirmation;
398
+ return { type: 'confirmation', confirmation };
399
+ }
400
+ // Ensure all renders are flushed before returning 'idle'
401
+ await this.renderResult?.waitUntilReady();
402
+ return { type: 'idle' };
403
+ }
306
404
  async resolveTool(toolNameOrDisplayName, outcome = ToolConfirmationOutcome.ProceedOnce) {
307
405
  if (!this.config)
308
406
  throw new Error('AppRig not initialized');
@@ -346,6 +444,26 @@ export class AppRig {
346
444
  this.config.userHintService.addUserHint(hint);
347
445
  });
348
446
  }
447
+ /**
448
+ * Drains all pending tool calls that hit a breakpoint until the agent is idle.
449
+ * Useful for negative tests to ensure no unwanted tools (like generalist) are called.
450
+ *
451
+ * @param onConfirmation Optional callback to inspect each confirmation before resolving.
452
+ * Return true to skip the default resolveTool call (e.g. if you handled it).
453
+ */
454
+ async drainBreakpointsUntilIdle(onConfirmation, timeout = 60000) {
455
+ while (true) {
456
+ const event = await this.waitForNextEvent(timeout);
457
+ if (event.type === 'idle') {
458
+ break;
459
+ }
460
+ const confirmation = event.confirmation;
461
+ const handled = onConfirmation?.(confirmation);
462
+ if (!handled) {
463
+ await this.resolveTool(confirmation);
464
+ }
465
+ }
466
+ }
349
467
  getConfig() {
350
468
  if (!this.config)
351
469
  throw new Error('AppRig not initialized');
@@ -399,10 +517,14 @@ export class AppRig {
399
517
  await this.waitForOutput('Type your message', timeout);
400
518
  }
401
519
  async sendMessage(text) {
520
+ this.awaitingResponse = true;
402
521
  await this.type(text);
403
522
  await this.pressEnter();
404
523
  }
405
524
  async unmount() {
525
+ // Clean up global state for this session
526
+ sessionStateMap.delete(this.sessionId);
527
+ activeRigs.delete(this.sessionId);
406
528
  // Poison the chat recording service to prevent late writes to the test directory
407
529
  if (this.config) {
408
530
  const recordingService = this.config
@@ -1 +1 @@
1
- {"version":3,"file":"AppRig.js","sourceRoot":"","sources":["../../../src/test-utils/AppRig.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppRig.js","sourceRoot":"","sources":["../../../src/test-utils/AppRig.tsx"],"names":[],"mappings":"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"}
@@ -3,12 +3,32 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { type Assertion } from 'vitest';
7
+ export declare function toMatchSvgSnapshot(this: Assertion, renderInstance: {
8
+ lastFrameRaw?: (options?: {
9
+ allowEmpty?: boolean;
10
+ }) => string;
11
+ lastFrame?: (options?: {
12
+ allowEmpty?: boolean;
13
+ }) => string;
14
+ generateSvg: () => string;
15
+ }, options?: {
16
+ allowEmpty?: boolean;
17
+ name?: string;
18
+ }): Promise<{
19
+ pass: boolean;
20
+ message: () => string;
21
+ }>;
6
22
  declare module 'vitest' {
7
- interface Assertion<T> {
8
- toHaveOnlyValidCharacters(): T;
23
+ interface Assertion<T = any> extends CustomMatchers<T> {
24
+ }
25
+ interface AsymmetricMatchersContaining extends CustomMatchers {
9
26
  }
10
- interface AsymmetricMatchersContaining {
11
- toHaveOnlyValidCharacters(): void;
27
+ interface CustomMatchers<T = unknown> {
28
+ toHaveOnlyValidCharacters(): T;
29
+ toMatchSvgSnapshot(options?: {
30
+ allowEmpty?: boolean;
31
+ name?: string;
32
+ }): Promise<void>;
12
33
  }
13
34
  }
14
- export {};
@@ -3,10 +3,55 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ /// <reference types="vitest/globals" />
6
7
  import { expect } from 'vitest';
8
+ import path from 'node:path';
9
+ import stripAnsi from 'strip-ansi';
7
10
  // RegExp to detect invalid characters: backspace, and ANSI escape codes
8
11
  // eslint-disable-next-line no-control-regex
9
12
  const invalidCharsRegex = /[\b\x1b]/;
13
+ const callCountByTest = new Map();
14
+ export async function toMatchSvgSnapshot(renderInstance, options) {
15
+ const currentTestName = expect.getState().currentTestName;
16
+ if (!currentTestName) {
17
+ throw new Error('toMatchSvgSnapshot must be called within a test');
18
+ }
19
+ const testPath = expect.getState().testPath;
20
+ if (!testPath) {
21
+ throw new Error('toMatchSvgSnapshot requires testPath');
22
+ }
23
+ let textContent;
24
+ if (renderInstance.lastFrameRaw) {
25
+ textContent = renderInstance.lastFrameRaw({
26
+ allowEmpty: options?.allowEmpty,
27
+ });
28
+ }
29
+ else if (renderInstance.lastFrame) {
30
+ textContent = renderInstance.lastFrame({ allowEmpty: options?.allowEmpty });
31
+ }
32
+ else {
33
+ throw new Error('toMatchSvgSnapshot requires a renderInstance with either lastFrameRaw or lastFrame');
34
+ }
35
+ const svgContent = renderInstance.generateSvg();
36
+ const sanitize = (name) => name.replace(/[^a-zA-Z0-9_-]/g, '-').replace(/-+/g, '-');
37
+ const testId = testPath + ':' + currentTestName;
38
+ let count = callCountByTest.get(testId) ?? 0;
39
+ count++;
40
+ callCountByTest.set(testId, count);
41
+ const snapshotName = options?.name ??
42
+ (count > 1 ? `${currentTestName}-${count}` : currentTestName);
43
+ const svgFileName = sanitize(path.basename(testPath).replace(/\.test\.tsx?$/, '')) +
44
+ '-' +
45
+ sanitize(snapshotName) +
46
+ '.snap.svg';
47
+ const svgDir = path.join(path.dirname(testPath), '__snapshots__');
48
+ const svgFilePath = path.join(svgDir, svgFileName);
49
+ // Assert the text matches standard snapshot, stripping ANSI for stability
50
+ expect(stripAnsi(textContent)).toMatchSnapshot();
51
+ // Assert the SVG matches the file snapshot
52
+ await expect(svgContent).toMatchFileSnapshot(svgFilePath);
53
+ return { pass: true, message: () => '' };
54
+ }
10
55
  function toHaveOnlyValidCharacters(buffer) {
11
56
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-type-assertion, @typescript-eslint/no-unsafe-assignment
12
57
  const { isNot } = this;
@@ -36,6 +81,7 @@ function toHaveOnlyValidCharacters(buffer) {
36
81
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
37
82
  expect.extend({
38
83
  toHaveOnlyValidCharacters,
84
+ toMatchSvgSnapshot,
39
85
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
40
86
  });
41
87
  //# sourceMappingURL=customMatchers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"customMatchers.js","sourceRoot":"","sources":["../../../src/test-utils/customMatchers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,wEAAwE;AACxE,4CAA4C;AAC5C,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAErC,SAAS,yBAAyB,CAAkB,MAAkB;IACpE,oJAAoJ;IACpJ,MAAM,EAAE,KAAK,EAAE,GAAG,IAAW,CAAC;IAC9B,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,MAAM,YAAY,GAA6C,EAAE,CAAC;IAElE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,IAAI,GAAG,KAAK,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,CAAC,wBAAwB;QACjC,CAAC;QACD,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,IAAI,GAAG,KAAK,CAAC;YACb,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,GAAG,EAAE,CACZ,mBAAmB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,0EAA0E,YAAY;aACzH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,2BAA2B;aACvE,IAAI,CAAC,IAAI,CAAC,EAAE;QACjB,MAAM,EAAE,MAAM,CAAC,KAAK;QACpB,QAAQ,EAAE,yDAAyD;KACpE,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,CAAC;IACZ,yBAAyB;IACzB,8DAA8D;CACxD,CAAC,CAAC"}
1
+ {"version":3,"file":"customMatchers.js","sourceRoot":"","sources":["../../../src/test-utils/customMatchers.ts"],"names":[],"mappings":"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"}
@@ -137,7 +137,10 @@ export const createMockConfig = (overrides = {}) =>
137
137
  getMcpClientManager: vi.fn().mockReturnValue({
138
138
  getMcpInstructions: vi.fn().mockReturnValue(''),
139
139
  getMcpServers: vi.fn().mockReturnValue({}),
140
+ getLastError: vi.fn().mockReturnValue(undefined),
140
141
  }),
142
+ setUserInteractedWithMcp: vi.fn(),
143
+ emitMcpDiagnostic: vi.fn(),
141
144
  getEnableEventDrivenScheduler: vi.fn().mockReturnValue(false),
142
145
  getAdminSkillsEnabled: vi.fn().mockReturnValue(false),
143
146
  getDisabledSkills: vi.fn().mockReturnValue([]),
@@ -152,6 +155,7 @@ export const createMockConfig = (overrides = {}) =>
152
155
  getExperiments: vi.fn().mockReturnValue(undefined),
153
156
  getHasAccessToPreviewModel: vi.fn().mockReturnValue(false),
154
157
  validatePathAccess: vi.fn().mockReturnValue(null),
158
+ getUseAlternateBuffer: vi.fn().mockReturnValue(false),
155
159
  ...overrides,
156
160
  });
157
161
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mockConfig.js","sourceRoot":"","sources":["../../../src/test-utils/mockConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockConfig.js","sourceRoot":"","sources":["../../../src/test-utils/mockConfig.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,YAA6B,EAAE,EAAU,EAAE;AAC1E,uEAAuE;AACvE,CAAC;IACC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IAClC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAC5B,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACjC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAChC,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC9B,OAAO,EAAE;QACP,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC;QAC9D,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;KACjD;IACD,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAChC,cAAc,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;IACjD,sBAAsB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IAC9C,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAChD,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAClC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACpD,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACzD,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;KAC5D,CAAC,CAAC;IACH,iBAAiB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACrC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAC9B,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnC,gBAAgB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IACxC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;IACrB,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC;IACxD,yBAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,6BAA6B,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACjD,yBAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAC7C,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC/B,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACtC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACjC,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAC1D,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IAC3C,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAC7B,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC;IAChC,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IACvC,gCAAgC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IACnD,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC;IACpC,yBAAyB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;IAC5C,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IACnC,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACpC,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;IAC1C,oBAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,aAAa,EAAE,OAAO;IACtB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,YAAY,CAAC;IAC/C,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC;IACnD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;QACvC,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QACrC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;KACzC,CAAC;IACF,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC7C,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAChD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;QACvC,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;KAC/C,CAAC;IACF,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC3C,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC5C,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC1C,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACjD,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAClD,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC7C,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACnD,6BAA6B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC7D,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACrD,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;IACzD,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC/C,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IACvD,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACxD,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACtD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;QACvC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;KAC7C,CAAC;IACF,oCAAoC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAC1E,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAClD,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACxD,4BAA4B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC3D,iCAAiC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAChE,mCAAmC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAClE,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACpD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACvD,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAC5C,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IACjD,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACrD,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC/C,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACjD,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC3D,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACvD,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC5C,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,4BAA4B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAChE,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC1C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7C,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC9C,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAC7D,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;IAChD,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC;IAC5D,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAC5D,6BAA6B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC5D,2BAA2B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC1D,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACzD,sBAAsB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACtD,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAClD,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;IAClD,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC7C,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACzD,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACvD,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC1D,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACnD,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7D,6BAA6B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC;IAC9D,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACpD,uBAAuB,EAAE,EAAE,CAAC,EAAE,EAAE;IAChC,6BAA6B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC5D,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7D,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;IACxD,8BAA8B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAC1D,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAChD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC7C,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IAC/C,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC;QAC3C,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QAC/C,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;QAC1C,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;KACjD,CAAC;IACF,wBAAwB,EAAE,EAAE,CAAC,EAAE,EAAE;IACjC,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC1B,6BAA6B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC7D,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACrD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IAC9C,yBAAyB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACzD,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IACzD,iBAAiB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC;IAC7D,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACrD,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;IAChD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,GAAG,EAAE,CAAC;IACnD,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACjD,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC;IACjD,cAAc,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC;IAClD,0BAA0B,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IAC1D,kBAAkB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC;IACjD,qBAAqB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC;IACrD,GAAG,SAAS;CACb,CAAsB,CAAC;AAE1B;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,YAAqC,EAAE;IAEvC,MAAM,MAAM,GAAG,wBAAwB;IACrC,uEAAuE;IACtE,SAAS,CAAC,QAAQ,CAAuB,IAAI,EAAE,CACjD,CAAC;IAEF,uEAAuE;IACvE,OAAO;QACL,MAAM,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxB,cAAc,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAChC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QACtB,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC3B,MAAM,EAAE,EAAE;QACV,GAAG,SAAS;QACZ,MAAM;KACsB,CAAC;AACjC,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare function createMockDebugLogger(options?: {
7
+ stripAnsi?: boolean;
8
+ }): {
9
+ emitConsoleLog: import("vitest").Mock<(...args: any[]) => any>;
10
+ debugLogger: {
11
+ log: import("vitest").Mock<(message: unknown, ...args: unknown[]) => void>;
12
+ error: import("vitest").Mock<(message: unknown, ...args: unknown[]) => void>;
13
+ warn: import("vitest").Mock<(message: unknown, ...args: unknown[]) => void>;
14
+ debug: import("vitest").Mock<(...args: any[]) => any>;
15
+ info: import("vitest").Mock<(...args: any[]) => any>;
16
+ };
17
+ };
18
+ /**
19
+ * A helper specifically designed for `vi.mock('@google/gemini-cli-core', ...)` to easily
20
+ * mock both `debugLogger` and `coreEvents.emitConsoleLog`.
21
+ *
22
+ * Example:
23
+ * ```typescript
24
+ * vi.mock('@google/gemini-cli-core', async (importOriginal) => {
25
+ * const { mockCoreDebugLogger } = await import('../../test-utils/mockDebugLogger.js');
26
+ * return mockCoreDebugLogger(
27
+ * await importOriginal<typeof import('@google/gemini-cli-core')>(),
28
+ * { stripAnsi: true }
29
+ * );
30
+ * });
31
+ * ```
32
+ */
33
+ export declare function mockCoreDebugLogger<T extends Record<string, unknown>>(actual: T, options?: {
34
+ stripAnsi?: boolean;
35
+ }): T;
@@ -0,0 +1,67 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { vi } from 'vitest';
7
+ import stripAnsi from 'strip-ansi';
8
+ import { format } from 'node:util';
9
+ export function createMockDebugLogger(options = {}) {
10
+ const emitConsoleLog = vi.fn();
11
+ const debugLogger = {
12
+ log: vi.fn((message, ...args) => {
13
+ let formatted = typeof message === 'string' ? format(message, ...args) : message;
14
+ if (options.stripAnsi && typeof formatted === 'string') {
15
+ formatted = stripAnsi(formatted);
16
+ }
17
+ emitConsoleLog('log', formatted);
18
+ }),
19
+ error: vi.fn((message, ...args) => {
20
+ let formatted = typeof message === 'string' ? format(message, ...args) : message;
21
+ if (options.stripAnsi && typeof formatted === 'string') {
22
+ formatted = stripAnsi(formatted);
23
+ }
24
+ emitConsoleLog('error', formatted);
25
+ }),
26
+ warn: vi.fn((message, ...args) => {
27
+ let formatted = typeof message === 'string' ? format(message, ...args) : message;
28
+ if (options.stripAnsi && typeof formatted === 'string') {
29
+ formatted = stripAnsi(formatted);
30
+ }
31
+ emitConsoleLog('warn', formatted);
32
+ }),
33
+ debug: vi.fn(),
34
+ info: vi.fn(),
35
+ };
36
+ return { emitConsoleLog, debugLogger };
37
+ }
38
+ /**
39
+ * A helper specifically designed for `vi.mock('@google/gemini-cli-core', ...)` to easily
40
+ * mock both `debugLogger` and `coreEvents.emitConsoleLog`.
41
+ *
42
+ * Example:
43
+ * ```typescript
44
+ * vi.mock('@google/gemini-cli-core', async (importOriginal) => {
45
+ * const { mockCoreDebugLogger } = await import('../../test-utils/mockDebugLogger.js');
46
+ * return mockCoreDebugLogger(
47
+ * await importOriginal<typeof import('@google/gemini-cli-core')>(),
48
+ * { stripAnsi: true }
49
+ * );
50
+ * });
51
+ * ```
52
+ */
53
+ export function mockCoreDebugLogger(actual, options) {
54
+ const { emitConsoleLog, debugLogger } = createMockDebugLogger(options);
55
+ return {
56
+ ...actual,
57
+ coreEvents: {
58
+ ...(typeof actual['coreEvents'] === 'object' &&
59
+ actual['coreEvents'] !== null
60
+ ? actual['coreEvents']
61
+ : {}),
62
+ emitConsoleLog,
63
+ },
64
+ debugLogger,
65
+ };
66
+ }
67
+ //# sourceMappingURL=mockDebugLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockDebugLogger.js","sourceRoot":"","sources":["../../../src/test-utils/mockDebugLogger.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,MAAM,UAAU,qBAAqB,CAAC,UAAmC,EAAE;IACzE,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG;QAClB,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAgB,EAAE,GAAG,IAAe,EAAE,EAAE;YAClD,IAAI,SAAS,GACX,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACnE,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YACD,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAgB,EAAE,GAAG,IAAe,EAAE,EAAE;YACpD,IAAI,SAAS,GACX,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACnE,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YACD,cAAc,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACrC,CAAC,CAAC;QACF,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,OAAgB,EAAE,GAAG,IAAe,EAAE,EAAE;YACnD,IAAI,SAAS,GACX,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACnE,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACvD,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC;YACD,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;KACd,CAAC;IAEF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAS,EACT,OAAiC;IAEjC,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACvE,OAAO;QACL,GAAG,MAAM;QACT,UAAU,EAAE;YACV,GAAG,CAAC,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,QAAQ;gBAC5C,MAAM,CAAC,YAAY,CAAC,KAAK,IAAI;gBAC3B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtB,CAAC,CAAC,EAAE,CAAC;YACP,cAAc;SACf;QACD,WAAW;KACP,CAAC;AACT,CAAC"}
@@ -25,7 +25,9 @@ declare class XtermStdout extends EventEmitter {
25
25
  private renderCount;
26
26
  private queue;
27
27
  isTTY: boolean;
28
+ getColorDepth(): number;
28
29
  private lastRenderOutput;
30
+ private lastRenderStaticContent;
29
31
  constructor(state: TerminalState, queue: {
30
32
  promise: Promise<void>;
31
33
  });
@@ -36,6 +38,11 @@ declare class XtermStdout extends EventEmitter {
36
38
  clear: () => void;
37
39
  dispose: () => void;
38
40
  onRender: (staticContent: string, output: string) => void;
41
+ private normalizeFrame;
42
+ generateSvg: () => string;
43
+ lastFrameRaw: (options?: {
44
+ allowEmpty?: boolean;
45
+ }) => string;
39
46
  lastFrame: (options?: {
40
47
  allowEmpty?: boolean;
41
48
  }) => string;
@@ -79,6 +86,10 @@ export type RenderInstance = {
79
86
  lastFrame: (options?: {
80
87
  allowEmpty?: boolean;
81
88
  }) => string;
89
+ lastFrameRaw: (options?: {
90
+ allowEmpty?: boolean;
91
+ }) => string;
92
+ generateSvg: () => string;
82
93
  terminal: Terminal;
83
94
  waitUntilReady: () => Promise<void>;
84
95
  capturedOverflowState: OverflowState | undefined;
@@ -118,6 +129,7 @@ export declare function renderHook<Result, Props>(renderCallback: (props: Props)
118
129
  rerender: (props?: Props) => void;
119
130
  unmount: () => void;
120
131
  waitUntilReady: () => Promise<void>;
132
+ generateSvg: () => string;
121
133
  };
122
134
  export declare function renderHookWithProviders<Result, Props>(renderCallback: (props: Props) => Result, options?: {
123
135
  initialProps?: Props;
@@ -138,5 +150,6 @@ export declare function renderHookWithProviders<Result, Props>(renderCallback: (
138
150
  rerender: (props?: Props) => void;
139
151
  unmount: () => void;
140
152
  waitUntilReady: () => Promise<void>;
153
+ generateSvg: () => string;
141
154
  };
142
155
  export {};