@google/gemini-cli 0.10.0-preview.2 → 0.11.0-nightly.20251020.a96f0659

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 (417) hide show
  1. package/README.md +9 -0
  2. package/dist/google-gemini-cli-0.11.0-nightly.20251015.203bad7c.tgz +0 -0
  3. package/dist/package.json +2 -2
  4. package/dist/src/commands/extensions/examples/mcp-server/example.d.ts +6 -0
  5. package/dist/src/commands/extensions/examples/mcp-server/example.js +46 -0
  6. package/dist/src/commands/extensions/examples/mcp-server/example.js.map +1 -0
  7. package/dist/src/commands/extensions/install.d.ts +1 -0
  8. package/dist/src/commands/extensions/install.js +15 -2
  9. package/dist/src/commands/extensions/install.js.map +1 -1
  10. package/dist/src/commands/extensions/list.js +3 -2
  11. package/dist/src/commands/extensions/list.js.map +1 -1
  12. package/dist/src/commands/extensions/update.js +2 -2
  13. package/dist/src/commands/extensions/update.js.map +1 -1
  14. package/dist/src/commands/mcp/add.test.d.ts +6 -0
  15. package/dist/src/commands/mcp/add.test.js +234 -0
  16. package/dist/src/commands/mcp/add.test.js.map +1 -0
  17. package/dist/src/commands/mcp/list.js +5 -3
  18. package/dist/src/commands/mcp/list.js.map +1 -1
  19. package/dist/src/commands/mcp/list.test.d.ts +6 -0
  20. package/dist/src/commands/mcp/list.test.js +117 -0
  21. package/dist/src/commands/mcp/list.test.js.map +1 -0
  22. package/dist/src/commands/mcp/remove.test.d.ts +6 -0
  23. package/dist/src/commands/mcp/remove.test.js +175 -0
  24. package/dist/src/commands/mcp/remove.test.js.map +1 -0
  25. package/dist/src/commands/mcp.test.d.ts +6 -0
  26. package/dist/src/commands/mcp.test.js +62 -0
  27. package/dist/src/commands/mcp.test.js.map +1 -0
  28. package/dist/src/config/auth.js +3 -1
  29. package/dist/src/config/auth.js.map +1 -1
  30. package/dist/src/config/auth.test.js +3 -1
  31. package/dist/src/config/auth.test.js.map +1 -1
  32. package/dist/src/config/config.d.ts +0 -11
  33. package/dist/src/config/config.integration.test.d.ts +6 -0
  34. package/dist/src/config/config.integration.test.js +351 -0
  35. package/dist/src/config/config.integration.test.js.map +1 -0
  36. package/dist/src/config/config.js +17 -74
  37. package/dist/src/config/config.js.map +1 -1
  38. package/dist/src/config/config.test.d.ts +6 -0
  39. package/dist/src/config/config.test.js +2001 -0
  40. package/dist/src/config/config.test.js.map +1 -0
  41. package/dist/src/config/extension.d.ts +1 -4
  42. package/dist/src/config/extension.js +64 -69
  43. package/dist/src/config/extension.js.map +1 -1
  44. package/dist/src/config/extension.test.d.ts +6 -0
  45. package/dist/src/config/extension.test.js +1176 -0
  46. package/dist/src/config/extension.test.js.map +1 -0
  47. package/dist/src/config/extensions/extensionEnablement.d.ts +1 -1
  48. package/dist/src/config/extensions/extensionEnablement.js +4 -3
  49. package/dist/src/config/extensions/extensionEnablement.js.map +1 -1
  50. package/dist/src/config/extensions/extensionEnablement.test.js +21 -18
  51. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -1
  52. package/dist/src/config/extensions/github.d.ts +15 -7
  53. package/dist/src/config/extensions/github.js +95 -21
  54. package/dist/src/config/extensions/github.js.map +1 -1
  55. package/dist/src/config/extensions/github.test.js +14 -12
  56. package/dist/src/config/extensions/github.test.js.map +1 -1
  57. package/dist/src/config/extensions/update.test.js +9 -9
  58. package/dist/src/config/extensions/update.test.js.map +1 -1
  59. package/dist/src/config/keyBindings.d.ts +2 -1
  60. package/dist/src/config/keyBindings.js +4 -2
  61. package/dist/src/config/keyBindings.js.map +1 -1
  62. package/dist/src/config/policy.js +13 -14
  63. package/dist/src/config/policy.js.map +1 -1
  64. package/dist/src/config/policy.test.js +3 -3
  65. package/dist/src/config/policy.test.js.map +1 -1
  66. package/dist/src/config/sandboxConfig.d.ts +0 -1
  67. package/dist/src/config/sandboxConfig.js +1 -3
  68. package/dist/src/config/sandboxConfig.js.map +1 -1
  69. package/dist/src/config/settings.test.d.ts +6 -0
  70. package/dist/src/config/settings.test.js +1937 -0
  71. package/dist/src/config/settings.test.js.map +1 -0
  72. package/dist/src/gemini.js +12 -10
  73. package/dist/src/gemini.js.map +1 -1
  74. package/dist/src/gemini.test.js +34 -11
  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.js +91 -3
  80. package/dist/src/nonInteractiveCli.js.map +1 -1
  81. package/dist/src/nonInteractiveCli.test.d.ts +6 -0
  82. package/dist/src/nonInteractiveCli.test.js +711 -0
  83. package/dist/src/nonInteractiveCli.test.js.map +1 -0
  84. package/dist/src/services/FileCommandLoader.test.d.ts +6 -0
  85. package/dist/src/services/FileCommandLoader.test.js +971 -0
  86. package/dist/src/services/FileCommandLoader.test.js.map +1 -0
  87. package/dist/src/services/prompt-processors/argumentProcessor.test.d.ts +6 -0
  88. package/dist/src/services/prompt-processors/argumentProcessor.test.js +40 -0
  89. package/dist/src/services/prompt-processors/argumentProcessor.test.js.map +1 -0
  90. package/dist/src/services/prompt-processors/shellProcessor.test.d.ts +6 -0
  91. package/dist/src/services/prompt-processors/shellProcessor.test.js +482 -0
  92. package/dist/src/services/prompt-processors/shellProcessor.test.js.map +1 -0
  93. package/dist/src/test-utils/render.d.ts +2 -1
  94. package/dist/src/test-utils/render.js +5 -2
  95. package/dist/src/test-utils/render.js.map +1 -1
  96. package/dist/src/ui/App.test.d.ts +6 -0
  97. package/dist/src/ui/App.test.js +110 -0
  98. package/dist/src/ui/App.test.js.map +1 -0
  99. package/dist/src/ui/AppContainer.js +39 -26
  100. package/dist/src/ui/AppContainer.js.map +1 -1
  101. package/dist/src/ui/AppContainer.test.js +35 -9
  102. package/dist/src/ui/AppContainer.test.js.map +1 -1
  103. package/dist/src/ui/auth/AuthDialog.d.ts +1 -1
  104. package/dist/src/ui/auth/AuthDialog.js +3 -1
  105. package/dist/src/ui/auth/AuthDialog.js.map +1 -1
  106. package/dist/src/ui/auth/useAuth.d.ts +1 -1
  107. package/dist/src/ui/auth/useAuth.js +3 -1
  108. package/dist/src/ui/auth/useAuth.js.map +1 -1
  109. package/dist/src/ui/commands/aboutCommand.js +1 -1
  110. package/dist/src/ui/commands/aboutCommand.test.d.ts +6 -0
  111. package/dist/src/ui/commands/aboutCommand.test.js +130 -0
  112. package/dist/src/ui/commands/aboutCommand.test.js.map +1 -0
  113. package/dist/src/ui/commands/authCommand.js +1 -1
  114. package/dist/src/ui/commands/authCommand.test.d.ts +6 -0
  115. package/dist/src/ui/commands/authCommand.test.js +30 -0
  116. package/dist/src/ui/commands/authCommand.test.js.map +1 -0
  117. package/dist/src/ui/commands/bugCommand.js +1 -1
  118. package/dist/src/ui/commands/bugCommand.test.d.ts +6 -0
  119. package/dist/src/ui/commands/bugCommand.test.js +105 -0
  120. package/dist/src/ui/commands/bugCommand.test.js.map +1 -0
  121. package/dist/src/ui/commands/chatCommand.js +1 -1
  122. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  123. package/dist/src/ui/commands/chatCommand.test.d.ts +6 -0
  124. package/dist/src/ui/commands/chatCommand.test.js +555 -0
  125. package/dist/src/ui/commands/chatCommand.test.js.map +1 -0
  126. package/dist/src/ui/commands/clearCommand.js +1 -1
  127. package/dist/src/ui/commands/clearCommand.test.d.ts +6 -0
  128. package/dist/src/ui/commands/clearCommand.test.js +76 -0
  129. package/dist/src/ui/commands/clearCommand.test.js.map +1 -0
  130. package/dist/src/ui/commands/compressCommand.js +1 -1
  131. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  132. package/dist/src/ui/commands/compressCommand.test.d.ts +6 -0
  133. package/dist/src/ui/commands/compressCommand.test.js +98 -0
  134. package/dist/src/ui/commands/compressCommand.test.js.map +1 -0
  135. package/dist/src/ui/commands/copyCommand.test.d.ts +6 -0
  136. package/dist/src/ui/commands/copyCommand.test.js +242 -0
  137. package/dist/src/ui/commands/copyCommand.test.js.map +1 -0
  138. package/dist/src/ui/commands/corgiCommand.js +1 -1
  139. package/dist/src/ui/commands/corgiCommand.js.map +1 -1
  140. package/dist/src/ui/commands/corgiCommand.test.d.ts +6 -0
  141. package/dist/src/ui/commands/corgiCommand.test.js +28 -0
  142. package/dist/src/ui/commands/corgiCommand.test.js.map +1 -0
  143. package/dist/src/ui/commands/directoryCommand.test.d.ts +6 -0
  144. package/dist/src/ui/commands/directoryCommand.test.js +145 -0
  145. package/dist/src/ui/commands/directoryCommand.test.js.map +1 -0
  146. package/dist/src/ui/commands/docsCommand.js +1 -1
  147. package/dist/src/ui/commands/docsCommand.test.d.ts +6 -0
  148. package/dist/src/ui/commands/docsCommand.test.js +72 -0
  149. package/dist/src/ui/commands/docsCommand.test.js.map +1 -0
  150. package/dist/src/ui/commands/editorCommand.js +1 -1
  151. package/dist/src/ui/commands/editorCommand.test.d.ts +6 -0
  152. package/dist/src/ui/commands/editorCommand.test.js +27 -0
  153. package/dist/src/ui/commands/editorCommand.test.js.map +1 -0
  154. package/dist/src/ui/commands/extensionsCommand.test.d.ts +6 -0
  155. package/dist/src/ui/commands/extensionsCommand.test.js +241 -0
  156. package/dist/src/ui/commands/extensionsCommand.test.js.map +1 -0
  157. package/dist/src/ui/commands/helpCommand.js +1 -1
  158. package/dist/src/ui/commands/helpCommand.test.d.ts +6 -0
  159. package/dist/src/ui/commands/helpCommand.test.js +42 -0
  160. package/dist/src/ui/commands/helpCommand.test.js.map +1 -0
  161. package/dist/src/ui/commands/ideCommand.js +6 -6
  162. package/dist/src/ui/commands/ideCommand.test.d.ts +6 -0
  163. package/dist/src/ui/commands/ideCommand.test.js +203 -0
  164. package/dist/src/ui/commands/ideCommand.test.js.map +1 -0
  165. package/dist/src/ui/commands/initCommand.js +1 -1
  166. package/dist/src/ui/commands/initCommand.js.map +1 -1
  167. package/dist/src/ui/commands/initCommand.test.d.ts +6 -0
  168. package/dist/src/ui/commands/initCommand.test.js +80 -0
  169. package/dist/src/ui/commands/initCommand.test.js.map +1 -0
  170. package/dist/src/ui/commands/mcpCommand.js +98 -88
  171. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  172. package/dist/src/ui/commands/mcpCommand.test.d.ts +6 -0
  173. package/dist/src/ui/commands/mcpCommand.test.js +148 -0
  174. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -0
  175. package/dist/src/ui/commands/memoryCommand.js +5 -5
  176. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  177. package/dist/src/ui/commands/memoryCommand.test.d.ts +6 -0
  178. package/dist/src/ui/commands/memoryCommand.test.js +266 -0
  179. package/dist/src/ui/commands/memoryCommand.test.js.map +1 -0
  180. package/dist/src/ui/commands/privacyCommand.js +1 -1
  181. package/dist/src/ui/commands/privacyCommand.test.d.ts +6 -0
  182. package/dist/src/ui/commands/privacyCommand.test.js +32 -0
  183. package/dist/src/ui/commands/privacyCommand.test.js.map +1 -0
  184. package/dist/src/ui/commands/quitCommand.js +1 -1
  185. package/dist/src/ui/commands/quitCommand.test.d.ts +6 -0
  186. package/dist/src/ui/commands/quitCommand.test.js +50 -0
  187. package/dist/src/ui/commands/quitCommand.test.js.map +1 -0
  188. package/dist/src/ui/commands/restoreCommand.test.d.ts +6 -0
  189. package/dist/src/ui/commands/restoreCommand.test.js +190 -0
  190. package/dist/src/ui/commands/restoreCommand.test.js.map +1 -0
  191. package/dist/src/ui/commands/settingsCommand.test.d.ts +6 -0
  192. package/dist/src/ui/commands/settingsCommand.test.js +30 -0
  193. package/dist/src/ui/commands/settingsCommand.test.js.map +1 -0
  194. package/dist/src/ui/commands/setupGithubCommand.test.js +1 -2
  195. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
  196. package/dist/src/ui/commands/statsCommand.js +3 -3
  197. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  198. package/dist/src/ui/commands/statsCommand.test.d.ts +6 -0
  199. package/dist/src/ui/commands/statsCommand.test.js +53 -0
  200. package/dist/src/ui/commands/statsCommand.test.js.map +1 -0
  201. package/dist/src/ui/commands/terminalSetupCommand.test.d.ts +6 -0
  202. package/dist/src/ui/commands/terminalSetupCommand.test.js +66 -0
  203. package/dist/src/ui/commands/terminalSetupCommand.test.js.map +1 -0
  204. package/dist/src/ui/commands/themeCommand.js +1 -1
  205. package/dist/src/ui/commands/themeCommand.test.d.ts +6 -0
  206. package/dist/src/ui/commands/themeCommand.test.js +32 -0
  207. package/dist/src/ui/commands/themeCommand.test.js.map +1 -0
  208. package/dist/src/ui/commands/toolsCommand.js +1 -1
  209. package/dist/src/ui/commands/toolsCommand.test.d.ts +6 -0
  210. package/dist/src/ui/commands/toolsCommand.test.js +100 -0
  211. package/dist/src/ui/commands/toolsCommand.test.js.map +1 -0
  212. package/dist/src/ui/commands/vimCommand.js +1 -1
  213. package/dist/src/ui/components/Composer.js +5 -3
  214. package/dist/src/ui/components/Composer.js.map +1 -1
  215. package/dist/src/ui/components/Composer.test.js +16 -1
  216. package/dist/src/ui/components/Composer.test.js.map +1 -1
  217. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +0 -1
  218. package/dist/src/ui/components/ContextSummaryDisplay.js +2 -12
  219. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  220. package/dist/src/ui/components/ContextSummaryDisplay.test.d.ts +6 -0
  221. package/dist/src/ui/components/ContextSummaryDisplay.test.js +66 -0
  222. package/dist/src/ui/components/ContextSummaryDisplay.test.js.map +1 -0
  223. package/dist/src/ui/components/DialogManager.js +1 -5
  224. package/dist/src/ui/components/DialogManager.js.map +1 -1
  225. package/dist/src/ui/components/EditorSettingsDialog.js +1 -1
  226. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  227. package/dist/src/ui/components/FolderTrustDialog.test.js +7 -3
  228. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  229. package/dist/src/ui/components/Footer.js +1 -1
  230. package/dist/src/ui/components/Footer.js.map +1 -1
  231. package/dist/src/ui/components/Footer.test.d.ts +6 -0
  232. package/dist/src/ui/components/Footer.test.js +231 -0
  233. package/dist/src/ui/components/Footer.test.js.map +1 -0
  234. package/dist/src/ui/components/InputPrompt.d.ts +4 -0
  235. package/dist/src/ui/components/InputPrompt.js +53 -4
  236. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  237. package/dist/src/ui/components/InputPrompt.test.d.ts +6 -0
  238. package/dist/src/ui/components/InputPrompt.test.js +1716 -0
  239. package/dist/src/ui/components/InputPrompt.test.js.map +1 -0
  240. package/dist/src/ui/components/ModelStatsDisplay.test.d.ts +6 -0
  241. package/dist/src/ui/components/ModelStatsDisplay.test.js +285 -0
  242. package/dist/src/ui/components/ModelStatsDisplay.test.js.map +1 -0
  243. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +22 -18
  244. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -1
  245. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +10 -2
  246. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
  247. package/dist/src/ui/components/QueuedMessageDisplay.js +3 -3
  248. package/dist/src/ui/components/QueuedMessageDisplay.js.map +1 -1
  249. package/dist/src/ui/components/QueuedMessageDisplay.test.js +4 -0
  250. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -1
  251. package/dist/src/ui/components/RawMarkdownIndicator.d.ts +7 -0
  252. package/dist/src/ui/components/RawMarkdownIndicator.js +8 -0
  253. package/dist/src/ui/components/RawMarkdownIndicator.js.map +1 -0
  254. package/dist/src/ui/components/SessionSummaryDisplay.test.d.ts +6 -0
  255. package/dist/src/ui/components/SessionSummaryDisplay.test.js +74 -0
  256. package/dist/src/ui/components/SessionSummaryDisplay.test.js.map +1 -0
  257. package/dist/src/ui/components/SettingsDialog.js +8 -8
  258. package/dist/src/ui/components/SettingsDialog.js.map +1 -1
  259. package/dist/src/ui/components/SettingsDialog.test.js +188 -56
  260. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -1
  261. package/dist/src/ui/components/StatsDisplay.test.d.ts +6 -0
  262. package/dist/src/ui/components/StatsDisplay.test.js +351 -0
  263. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -0
  264. package/dist/src/ui/components/ThemeDialog.d.ts +4 -2
  265. package/dist/src/ui/components/ThemeDialog.js +3 -3
  266. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  267. package/dist/src/ui/components/ThemeDialog.test.js +13 -0
  268. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -1
  269. package/dist/src/ui/components/ToolStatsDisplay.test.d.ts +6 -0
  270. package/dist/src/ui/components/ToolStatsDisplay.test.js +227 -0
  271. package/dist/src/ui/components/ToolStatsDisplay.test.js.map +1 -0
  272. package/dist/src/ui/components/messages/GeminiMessage.js +3 -1
  273. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  274. package/dist/src/ui/components/messages/GeminiMessage.test.d.ts +6 -0
  275. package/dist/src/ui/components/messages/GeminiMessage.test.js +35 -0
  276. package/dist/src/ui/components/messages/GeminiMessage.test.js.map +1 -0
  277. package/dist/src/ui/components/messages/GeminiMessageContent.js +3 -1
  278. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -1
  279. package/dist/src/ui/components/messages/Todo.d.ts +7 -0
  280. package/dist/src/ui/components/messages/Todo.js +59 -0
  281. package/dist/src/ui/components/messages/Todo.js.map +1 -0
  282. package/dist/src/ui/components/messages/Todo.test.d.ts +6 -0
  283. package/dist/src/ui/components/messages/Todo.test.js +113 -0
  284. package/dist/src/ui/components/messages/Todo.test.js.map +1 -0
  285. package/dist/src/ui/components/messages/ToolGroupMessage.js +1 -1
  286. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  287. package/dist/src/ui/components/messages/ToolMessage.js +8 -3
  288. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  289. package/dist/src/ui/components/messages/ToolMessage.test.js +2 -2
  290. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  291. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.d.ts +6 -0
  292. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js +30 -0
  293. package/dist/src/ui/components/messages/ToolMessageRawMarkdown.test.js.map +1 -0
  294. package/dist/src/ui/components/messages/UserShellMessage.js +1 -1
  295. package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
  296. package/dist/src/ui/components/shared/BaseSelectionList.test.js +1 -1
  297. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -1
  298. package/dist/src/ui/components/shared/text-buffer.test.d.ts +6 -0
  299. package/dist/src/ui/components/shared/text-buffer.test.js +1554 -0
  300. package/dist/src/ui/components/shared/text-buffer.test.js.map +1 -0
  301. package/dist/src/ui/components/shared/vim-buffer-actions.test.d.ts +6 -0
  302. package/dist/src/ui/components/shared/vim-buffer-actions.test.js +951 -0
  303. package/dist/src/ui/components/shared/vim-buffer-actions.test.js.map +1 -0
  304. package/dist/src/ui/components/views/McpStatus.d.ts +0 -1
  305. package/dist/src/ui/components/views/McpStatus.js +2 -2
  306. package/dist/src/ui/components/views/McpStatus.js.map +1 -1
  307. package/dist/src/ui/components/views/McpStatus.test.js +0 -5
  308. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -1
  309. package/dist/src/ui/components/views/ToolsList.test.js +4 -4
  310. package/dist/src/ui/components/views/ToolsList.test.js.map +1 -1
  311. package/dist/src/ui/contexts/KeypressContext.d.ts +1 -0
  312. package/dist/src/ui/contexts/KeypressContext.js +176 -50
  313. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  314. package/dist/src/ui/contexts/KeypressContext.test.js +413 -14
  315. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  316. package/dist/src/ui/contexts/SessionContext.test.d.ts +6 -0
  317. package/dist/src/ui/contexts/SessionContext.test.js +177 -0
  318. package/dist/src/ui/contexts/SessionContext.test.js.map +1 -0
  319. package/dist/src/ui/contexts/UIActionsContext.d.ts +5 -4
  320. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  321. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -3
  322. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  323. package/dist/src/ui/hooks/slashCommandProcessor.test.d.ts +6 -0
  324. package/dist/src/ui/hooks/slashCommandProcessor.test.js +779 -0
  325. package/dist/src/ui/hooks/slashCommandProcessor.test.js.map +1 -0
  326. package/dist/src/ui/hooks/useAtCompletion.js +2 -2
  327. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  328. package/dist/src/ui/hooks/useAtCompletion.test.d.ts +6 -0
  329. package/dist/src/ui/hooks/useAtCompletion.test.js +385 -0
  330. package/dist/src/ui/hooks/useAtCompletion.test.js.map +1 -0
  331. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +0 -1
  332. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -1
  333. package/dist/src/ui/hooks/useCommandCompletion.d.ts +1 -1
  334. package/dist/src/ui/hooks/useCommandCompletion.js +5 -3
  335. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  336. package/dist/src/ui/hooks/useCommandCompletion.test.d.ts +6 -0
  337. package/dist/src/ui/hooks/useCommandCompletion.test.js +375 -0
  338. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -0
  339. package/dist/src/ui/hooks/useConsoleMessages.test.d.ts +6 -0
  340. package/dist/src/ui/hooks/useConsoleMessages.test.js +110 -0
  341. package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -0
  342. package/dist/src/ui/hooks/useExtensionUpdates.test.js +3 -3
  343. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -1
  344. package/dist/src/ui/hooks/useFocus.test.d.ts +6 -0
  345. package/dist/src/ui/hooks/useFocus.test.js +115 -0
  346. package/dist/src/ui/hooks/useFocus.test.js.map +1 -0
  347. package/dist/src/ui/hooks/useFolderTrust.test.d.ts +6 -0
  348. package/dist/src/ui/hooks/useFolderTrust.test.js +164 -0
  349. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -0
  350. package/dist/src/ui/hooks/useGeminiStream.js +33 -31
  351. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  352. package/dist/src/ui/hooks/useGeminiStream.test.d.ts +6 -0
  353. package/dist/src/ui/hooks/useGeminiStream.test.js +1936 -0
  354. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -0
  355. package/dist/src/ui/hooks/useKeypress.test.d.ts +6 -0
  356. package/dist/src/ui/hooks/useKeypress.test.js +234 -0
  357. package/dist/src/ui/hooks/useKeypress.test.js.map +1 -0
  358. package/dist/src/ui/hooks/useLoadingIndicator.test.js +5 -0
  359. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  360. package/dist/src/ui/hooks/useMessageQueue.d.ts +1 -0
  361. package/dist/src/ui/hooks/useMessageQueue.js +14 -0
  362. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -1
  363. package/dist/src/ui/hooks/useMessageQueue.test.js +121 -0
  364. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -1
  365. package/dist/src/ui/hooks/usePhraseCycler.d.ts +1 -0
  366. package/dist/src/ui/hooks/usePhraseCycler.js +156 -5
  367. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  368. package/dist/src/ui/hooks/usePhraseCycler.test.d.ts +6 -0
  369. package/dist/src/ui/hooks/usePhraseCycler.test.js +155 -0
  370. package/dist/src/ui/hooks/usePhraseCycler.test.js.map +1 -0
  371. package/dist/src/ui/hooks/useThemeCommand.d.ts +2 -1
  372. package/dist/src/ui/hooks/useThemeCommand.js +6 -0
  373. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  374. package/dist/src/ui/hooks/useToolScheduler.test.js +3 -0
  375. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  376. package/dist/src/ui/hooks/vim.test.d.ts +6 -0
  377. package/dist/src/ui/hooks/vim.test.js +1389 -0
  378. package/dist/src/ui/hooks/vim.test.js.map +1 -0
  379. package/dist/src/ui/keyMatchers.test.js +9 -3
  380. package/dist/src/ui/keyMatchers.test.js.map +1 -1
  381. package/dist/src/ui/themes/theme.test.d.ts +6 -0
  382. package/dist/src/ui/themes/theme.test.js +85 -0
  383. package/dist/src/ui/themes/theme.test.js.map +1 -0
  384. package/dist/src/ui/types.d.ts +0 -1
  385. package/dist/src/ui/types.js.map +1 -1
  386. package/dist/src/ui/utils/CodeColorizer.d.ts +1 -1
  387. package/dist/src/ui/utils/CodeColorizer.js +4 -2
  388. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  389. package/dist/src/ui/utils/MarkdownDisplay.d.ts +1 -0
  390. package/dist/src/ui/utils/MarkdownDisplay.js +8 -1
  391. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  392. package/dist/src/ui/utils/commandUtils.js +18 -2
  393. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  394. package/dist/src/ui/utils/commandUtils.test.js +61 -6
  395. package/dist/src/ui/utils/commandUtils.test.js.map +1 -1
  396. package/dist/src/ui/utils/updateCheck.d.ts +2 -1
  397. package/dist/src/ui/utils/updateCheck.js +4 -1
  398. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  399. package/dist/src/ui/utils/updateCheck.test.js +25 -10
  400. package/dist/src/ui/utils/updateCheck.test.js.map +1 -1
  401. package/dist/src/utils/errors.d.ts +1 -0
  402. package/dist/src/utils/errors.js +66 -5
  403. package/dist/src/utils/errors.js.map +1 -1
  404. package/dist/src/validateNonInterActiveAuth.test.d.ts +6 -0
  405. package/dist/src/validateNonInterActiveAuth.test.js +336 -0
  406. package/dist/src/validateNonInterActiveAuth.test.js.map +1 -0
  407. package/dist/src/zed-integration/zedIntegration.js +1 -2
  408. package/dist/src/zed-integration/zedIntegration.js.map +1 -1
  409. package/dist/tsconfig.tsbuildinfo +1 -1
  410. package/package.json +3 -3
  411. package/dist/google-gemini-cli-0.10.0-preview.1.tgz +0 -0
  412. package/dist/src/ui/components/WorkspaceMigrationDialog.d.ts +0 -11
  413. package/dist/src/ui/components/WorkspaceMigrationDialog.js +0 -44
  414. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +0 -1
  415. package/dist/src/ui/hooks/useWorkspaceMigration.d.ts +0 -13
  416. package/dist/src/ui/hooks/useWorkspaceMigration.js +0 -59
  417. package/dist/src/ui/hooks/useWorkspaceMigration.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"KeypressContext.js","sourceRoot":"","sources":["../../../../src/ui/contexts/KeypressContext.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { renderHook, act, waitFor } from '@testing-library/react';
3
3
  import { vi } from 'vitest';
4
- import { KeypressProvider, useKeypressContext, DRAG_COMPLETION_TIMEOUT_MS,
4
+ import { KeypressProvider, useKeypressContext, DRAG_COMPLETION_TIMEOUT_MS, KITTY_SEQUENCE_TIMEOUT_MS,
5
5
  // CSI_END_O,
6
6
  // SS3_END,
7
7
  SINGLE_QUOTE, DOUBLE_QUOTE, } from './KeypressContext.js';
@@ -43,7 +43,7 @@ class MockStdin extends EventEmitter {
43
43
  describe('KeypressContext - Kitty Protocol', () => {
44
44
  let stdin;
45
45
  const mockSetRawMode = vi.fn();
46
- const wrapper = ({ children, kittyProtocolEnabled = true, }) => (_jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolEnabled, children: children }));
46
+ const wrapper = ({ children, kittyProtocolEnabled = true, }) => (_jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolEnabled ?? false, children: children }));
47
47
  beforeEach(() => {
48
48
  vi.clearAllMocks();
49
49
  stdin = new MockStdin();
@@ -323,11 +323,11 @@ describe('KeypressContext - Kitty Protocol', () => {
323
323
  act(() => {
324
324
  stdin.sendKittySequence('\x1b[27u');
325
325
  });
326
- expect(consoleLogSpy).toHaveBeenCalledWith('[DEBUG] Kitty buffer accumulating:', expect.stringContaining('\x1b[27u'));
326
+ expect(consoleLogSpy).toHaveBeenCalledWith('[DEBUG] Kitty buffer accumulating:', expect.stringContaining('"\\u001b[27u"'));
327
327
  const parsedCall = consoleLogSpy.mock.calls.find((args) => typeof args[0] === 'string' &&
328
328
  args[0].includes('[DEBUG] Kitty sequence parsed successfully'));
329
329
  expect(parsedCall).toBeTruthy();
330
- expect(parsedCall?.[1]).toEqual(expect.stringContaining('\x1b[27u'));
330
+ expect(parsedCall?.[1]).toEqual(expect.stringContaining('\\u001b[27u'));
331
331
  });
332
332
  it('should log kitty buffer overflow when debugKeystrokeLogging is true', async () => {
333
333
  const keyHandler = vi.fn();
@@ -336,10 +336,10 @@ describe('KeypressContext - Kitty Protocol', () => {
336
336
  act(() => {
337
337
  result.current.subscribe(keyHandler);
338
338
  });
339
- // Send an invalid long sequence to trigger overflow
340
- const longInvalidSequence = '\x1b[' + 'x'.repeat(100);
339
+ // Send a long sequence starting with a valid kitty prefix to trigger overflow
340
+ const longSequence = '\x1b[1;' + '1'.repeat(100);
341
341
  act(() => {
342
- stdin.sendKittySequence(longInvalidSequence);
342
+ stdin.sendKittySequence(longSequence);
343
343
  });
344
344
  expect(consoleLogSpy).toHaveBeenCalledWith('[DEBUG] Kitty buffer overflow, clearing:', expect.any(String));
345
345
  });
@@ -396,9 +396,9 @@ describe('KeypressContext - Kitty Protocol', () => {
396
396
  });
397
397
  });
398
398
  // Verify debug logging for accumulation
399
- expect(consoleLogSpy).toHaveBeenCalledWith('[DEBUG] Kitty buffer accumulating:', sequence);
399
+ expect(consoleLogSpy).toHaveBeenCalledWith('[DEBUG] Kitty buffer accumulating:', JSON.stringify(sequence));
400
400
  // Verify warning for char codes
401
- expect(consoleWarnSpy).toHaveBeenCalledWith('Kitty sequence buffer has char codes:', [27, 91, 49, 50]);
401
+ expect(consoleWarnSpy).toHaveBeenCalledWith('Kitty sequence buffer has content:', JSON.stringify(sequence));
402
402
  });
403
403
  });
404
404
  describe('Parameterized functional keys', () => {
@@ -502,7 +502,7 @@ describe('KeypressContext - Kitty Protocol', () => {
502
502
  describe('Drag and Drop Handling', () => {
503
503
  let stdin;
504
504
  const mockSetRawMode = vi.fn();
505
- const wrapper = ({ children }) => (_jsx(KeypressProvider, { kittyProtocolEnabled: true, children: children }));
505
+ const wrapper = ({ children, kittyProtocolEnabled = true, }) => (_jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolEnabled, children: children }));
506
506
  beforeEach(() => {
507
507
  vi.clearAllMocks();
508
508
  vi.useFakeTimers();
@@ -668,18 +668,22 @@ describe('Drag and Drop Handling', () => {
668
668
  });
669
669
  });
670
670
  });
671
- describe('Terminal-specific Alt+key combinations', () => {
671
+ describe('Kitty Sequence Parsing', () => {
672
672
  let stdin;
673
673
  const mockSetRawMode = vi.fn();
674
- const wrapper = ({ children }) => (_jsx(KeypressProvider, { kittyProtocolEnabled: true, children: children }));
674
+ const wrapper = ({ children, kittyProtocolEnabled = true, }) => (_jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolEnabled, children: children }));
675
675
  beforeEach(() => {
676
676
  vi.clearAllMocks();
677
+ vi.useFakeTimers();
677
678
  stdin = new MockStdin();
678
679
  useStdin.mockReturnValue({
679
680
  stdin,
680
681
  setRawMode: mockSetRawMode,
681
682
  });
682
683
  });
684
+ afterEach(() => {
685
+ vi.useRealTimers();
686
+ });
683
687
  // Terminals to test
684
688
  const terminals = ['iTerm2', 'Ghostty', 'MacTerminal', 'VSCodeTerminal'];
685
689
  // Key mappings: letter -> [keycode, accented character, shouldHaveMeta]
@@ -711,6 +715,7 @@ describe('Terminal-specific Alt+key combinations', () => {
711
715
  return {
712
716
  terminal,
713
717
  key,
718
+ kitty: false,
714
719
  input: {
715
720
  sequence: `\x1b${key}`,
716
721
  name: key,
@@ -753,9 +758,12 @@ describe('Terminal-specific Alt+key combinations', () => {
753
758
  },
754
759
  };
755
760
  }
756
- })))('should handle Alt+$key in $terminal', ({ kittySequence, input, expected, }) => {
761
+ })))('should handle Alt+$key in $terminal', ({ kittySequence, input, expected, kitty = true, }) => {
757
762
  const keyHandler = vi.fn();
758
- const { result } = renderHook(() => useKeypressContext(), { wrapper });
763
+ const testWrapper = ({ children }) => (_jsx(KeypressProvider, { kittyProtocolEnabled: kitty, children: children }));
764
+ const { result } = renderHook(() => useKeypressContext(), {
765
+ wrapper: testWrapper,
766
+ });
759
767
  act(() => result.current.subscribe(keyHandler));
760
768
  if (kittySequence) {
761
769
  act(() => stdin.sendKittySequence(kittySequence));
@@ -794,5 +802,396 @@ describe('Terminal-specific Alt+key combinations', () => {
794
802
  }));
795
803
  });
796
804
  });
805
+ it('should timeout and flush incomplete kitty sequences after 50ms', async () => {
806
+ const keyHandler = vi.fn();
807
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
808
+ act(() => {
809
+ result.current.subscribe(keyHandler);
810
+ });
811
+ // Send incomplete kitty sequence
812
+ act(() => {
813
+ stdin.pressKey({
814
+ name: undefined,
815
+ ctrl: false,
816
+ meta: false,
817
+ shift: false,
818
+ paste: false,
819
+ sequence: '\x1b[1;',
820
+ });
821
+ });
822
+ // Should not broadcast immediately
823
+ expect(keyHandler).not.toHaveBeenCalled();
824
+ // Advance time just before timeout
825
+ act(() => {
826
+ vi.advanceTimersByTime(KITTY_SEQUENCE_TIMEOUT_MS - 5);
827
+ });
828
+ // Still shouldn't broadcast
829
+ expect(keyHandler).not.toHaveBeenCalled();
830
+ // Advance past timeout
831
+ act(() => {
832
+ vi.advanceTimersByTime(10);
833
+ });
834
+ // Should now broadcast the incomplete sequence as regular input
835
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
836
+ name: '',
837
+ sequence: '\x1b[1;',
838
+ paste: false,
839
+ }));
840
+ });
841
+ it('should immediately flush non-kitty CSI sequences', async () => {
842
+ const keyHandler = vi.fn();
843
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
844
+ act(() => {
845
+ result.current.subscribe(keyHandler);
846
+ });
847
+ // Send a CSI sequence that doesn't match kitty patterns
848
+ // ESC[m is SGR reset, not a kitty sequence
849
+ act(() => {
850
+ stdin.pressKey({
851
+ name: undefined,
852
+ ctrl: false,
853
+ meta: false,
854
+ shift: false,
855
+ paste: false,
856
+ sequence: '\x1b[m',
857
+ });
858
+ });
859
+ // Should broadcast immediately as it's not a valid kitty pattern
860
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
861
+ name: '',
862
+ sequence: '\x1b[m',
863
+ paste: false,
864
+ }));
865
+ });
866
+ it('should parse valid kitty sequences immediately when complete', async () => {
867
+ const keyHandler = vi.fn();
868
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
869
+ act(() => {
870
+ result.current.subscribe(keyHandler);
871
+ });
872
+ // Send complete kitty sequence for Ctrl+A
873
+ act(() => {
874
+ stdin.pressKey({
875
+ name: undefined,
876
+ ctrl: false,
877
+ meta: false,
878
+ shift: false,
879
+ paste: false,
880
+ sequence: '\x1b[97;5u',
881
+ });
882
+ });
883
+ // Should parse and broadcast immediately
884
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
885
+ name: 'a',
886
+ ctrl: true,
887
+ kittyProtocol: true,
888
+ }));
889
+ });
890
+ it('should handle batched kitty sequences correctly', async () => {
891
+ const keyHandler = vi.fn();
892
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
893
+ act(() => {
894
+ result.current.subscribe(keyHandler);
895
+ });
896
+ // Send multiple kitty sequences at once
897
+ act(() => {
898
+ stdin.pressKey({
899
+ name: undefined,
900
+ ctrl: false,
901
+ meta: false,
902
+ shift: false,
903
+ paste: false,
904
+ sequence: '\x1b[97;5u\x1b[98;5u', // Ctrl+a followed by Ctrl+b
905
+ });
906
+ });
907
+ // Should parse both sequences
908
+ expect(keyHandler).toHaveBeenCalledTimes(2);
909
+ expect(keyHandler).toHaveBeenNthCalledWith(1, expect.objectContaining({
910
+ name: 'a',
911
+ ctrl: true,
912
+ kittyProtocol: true,
913
+ }));
914
+ expect(keyHandler).toHaveBeenNthCalledWith(2, expect.objectContaining({
915
+ name: 'b',
916
+ ctrl: true,
917
+ kittyProtocol: true,
918
+ }));
919
+ });
920
+ it('should clear kitty buffer and timeout on Ctrl+C', async () => {
921
+ const keyHandler = vi.fn();
922
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
923
+ act(() => {
924
+ result.current.subscribe(keyHandler);
925
+ });
926
+ // Send incomplete kitty sequence
927
+ act(() => {
928
+ stdin.pressKey({
929
+ name: undefined,
930
+ ctrl: false,
931
+ meta: false,
932
+ shift: false,
933
+ paste: false,
934
+ sequence: '\x1b[1;',
935
+ });
936
+ });
937
+ // Press Ctrl+C
938
+ act(() => {
939
+ stdin.pressKey({
940
+ name: 'c',
941
+ ctrl: true,
942
+ meta: false,
943
+ shift: false,
944
+ paste: false,
945
+ sequence: '\x03',
946
+ });
947
+ });
948
+ // Advance past timeout
949
+ act(() => {
950
+ vi.advanceTimersByTime(KITTY_SEQUENCE_TIMEOUT_MS + 10);
951
+ });
952
+ // Should only have received Ctrl+C, not the incomplete sequence
953
+ expect(keyHandler).toHaveBeenCalledTimes(1);
954
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
955
+ name: 'c',
956
+ ctrl: true,
957
+ }));
958
+ });
959
+ it('should handle mixed valid and invalid sequences', async () => {
960
+ const keyHandler = vi.fn();
961
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
962
+ act(() => {
963
+ result.current.subscribe(keyHandler);
964
+ });
965
+ // Send valid kitty sequence followed by invalid CSI
966
+ act(() => {
967
+ stdin.pressKey({
968
+ name: undefined,
969
+ ctrl: false,
970
+ meta: false,
971
+ shift: false,
972
+ paste: false,
973
+ sequence: '\x1b[13u\x1b[!', // Valid enter, then invalid sequence
974
+ });
975
+ });
976
+ // Should parse valid sequence and flush invalid immediately
977
+ expect(keyHandler).toHaveBeenCalledTimes(2);
978
+ expect(keyHandler).toHaveBeenNthCalledWith(1, expect.objectContaining({
979
+ name: 'return',
980
+ kittyProtocol: true,
981
+ }));
982
+ expect(keyHandler).toHaveBeenNthCalledWith(2, expect.objectContaining({
983
+ name: '',
984
+ sequence: '\x1b[!',
985
+ }));
986
+ });
987
+ it('should not buffer sequences when kitty protocol is disabled', async () => {
988
+ const keyHandler = vi.fn();
989
+ const { result } = renderHook(() => useKeypressContext(), {
990
+ wrapper: ({ children }) => wrapper({ children, kittyProtocolEnabled: false }),
991
+ });
992
+ act(() => {
993
+ result.current.subscribe(keyHandler);
994
+ });
995
+ // Send what would be a kitty sequence
996
+ act(() => {
997
+ stdin.pressKey({
998
+ name: undefined,
999
+ ctrl: false,
1000
+ meta: false,
1001
+ shift: false,
1002
+ paste: false,
1003
+ sequence: '\x1b[13u',
1004
+ });
1005
+ });
1006
+ // Should pass through without parsing
1007
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
1008
+ sequence: '\x1b[13u',
1009
+ }));
1010
+ expect(keyHandler).not.toHaveBeenCalledWith(expect.objectContaining({
1011
+ name: 'return',
1012
+ kittyProtocol: true,
1013
+ }));
1014
+ });
1015
+ it('should handle sequences arriving character by character', async () => {
1016
+ vi.useRealTimers(); // Required for correct buffering timing.
1017
+ const keyHandler = vi.fn();
1018
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
1019
+ act(() => {
1020
+ result.current.subscribe(keyHandler);
1021
+ });
1022
+ // Send kitty sequence character by character
1023
+ const sequence = '\x1b[27u'; // Escape key
1024
+ for (const char of sequence) {
1025
+ act(() => {
1026
+ stdin.emit('data', Buffer.from(char));
1027
+ });
1028
+ await new Promise((resolve) => setTimeout(resolve, 0));
1029
+ }
1030
+ // Should parse once complete
1031
+ await waitFor(() => {
1032
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
1033
+ name: 'escape',
1034
+ kittyProtocol: true,
1035
+ }));
1036
+ });
1037
+ });
1038
+ it('should reset timeout when new input arrives', async () => {
1039
+ const keyHandler = vi.fn();
1040
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
1041
+ act(() => {
1042
+ result.current.subscribe(keyHandler);
1043
+ });
1044
+ // Start incomplete sequence
1045
+ act(() => {
1046
+ stdin.pressKey({
1047
+ name: undefined,
1048
+ ctrl: false,
1049
+ meta: false,
1050
+ shift: false,
1051
+ paste: false,
1052
+ sequence: '\x1b[1',
1053
+ });
1054
+ });
1055
+ // Advance time partway
1056
+ act(() => {
1057
+ vi.advanceTimersByTime(30);
1058
+ });
1059
+ // Add more to sequence
1060
+ act(() => {
1061
+ stdin.pressKey({
1062
+ name: undefined,
1063
+ ctrl: false,
1064
+ meta: false,
1065
+ shift: false,
1066
+ paste: false,
1067
+ sequence: '3',
1068
+ });
1069
+ });
1070
+ // Advance time from the first timeout point
1071
+ act(() => {
1072
+ vi.advanceTimersByTime(25);
1073
+ });
1074
+ // Should not have timed out yet (timeout restarted)
1075
+ expect(keyHandler).not.toHaveBeenCalled();
1076
+ // Complete the sequence
1077
+ act(() => {
1078
+ stdin.pressKey({
1079
+ name: undefined,
1080
+ ctrl: false,
1081
+ meta: false,
1082
+ shift: false,
1083
+ paste: false,
1084
+ sequence: 'u',
1085
+ });
1086
+ });
1087
+ // Should now parse as complete enter key
1088
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
1089
+ name: 'return',
1090
+ kittyProtocol: true,
1091
+ }));
1092
+ });
1093
+ it('should flush incomplete kitty sequence on FOCUS_IN event', async () => {
1094
+ const keyHandler = vi.fn();
1095
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
1096
+ act(() => {
1097
+ result.current.subscribe(keyHandler);
1098
+ });
1099
+ // Send incomplete kitty sequence
1100
+ act(() => {
1101
+ stdin.pressKey({
1102
+ sequence: '\x1b[1;',
1103
+ });
1104
+ });
1105
+ // Incomplete sequence should be buffered, not broadcast
1106
+ expect(keyHandler).not.toHaveBeenCalled();
1107
+ // Send FOCUS_IN event
1108
+ const FOCUS_IN = '\x1b[I';
1109
+ act(() => {
1110
+ stdin.pressKey({
1111
+ sequence: FOCUS_IN,
1112
+ });
1113
+ });
1114
+ // The buffered sequence should be flushed
1115
+ expect(keyHandler).toHaveBeenCalledTimes(1);
1116
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
1117
+ name: '',
1118
+ sequence: '\x1b[1;',
1119
+ paste: false,
1120
+ }));
1121
+ });
1122
+ it('should flush incomplete kitty sequence on FOCUS_OUT event', async () => {
1123
+ const keyHandler = vi.fn();
1124
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
1125
+ act(() => {
1126
+ result.current.subscribe(keyHandler);
1127
+ });
1128
+ // Send incomplete kitty sequence
1129
+ act(() => {
1130
+ stdin.pressKey({
1131
+ sequence: '\x1b[1;',
1132
+ });
1133
+ });
1134
+ // Incomplete sequence should be buffered, not broadcast
1135
+ expect(keyHandler).not.toHaveBeenCalled();
1136
+ // Send FOCUS_OUT event
1137
+ const FOCUS_OUT = '\x1b[O';
1138
+ act(() => {
1139
+ stdin.pressKey({
1140
+ sequence: FOCUS_OUT,
1141
+ });
1142
+ });
1143
+ // The buffered sequence should be flushed
1144
+ expect(keyHandler).toHaveBeenCalledTimes(1);
1145
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
1146
+ name: '',
1147
+ sequence: '\x1b[1;',
1148
+ paste: false,
1149
+ }));
1150
+ });
1151
+ it('should flush incomplete kitty sequence on paste event', async () => {
1152
+ vi.useFakeTimers();
1153
+ const keyHandler = vi.fn();
1154
+ const { result } = renderHook(() => useKeypressContext(), { wrapper });
1155
+ act(() => {
1156
+ result.current.subscribe(keyHandler);
1157
+ });
1158
+ // Send incomplete kitty sequence
1159
+ act(() => {
1160
+ stdin.pressKey({
1161
+ sequence: '\x1b[1;',
1162
+ });
1163
+ });
1164
+ // Incomplete sequence should be buffered, not broadcast
1165
+ expect(keyHandler).not.toHaveBeenCalled();
1166
+ // Send paste start sequence
1167
+ const PASTE_MODE_PREFIX = `\x1b[200~`;
1168
+ act(() => {
1169
+ stdin.emit('data', Buffer.from(PASTE_MODE_PREFIX));
1170
+ });
1171
+ // The buffered sequence should be flushed
1172
+ expect(keyHandler).toHaveBeenCalledTimes(1);
1173
+ expect(keyHandler).toHaveBeenCalledWith(expect.objectContaining({
1174
+ name: '',
1175
+ sequence: '\x1b[1;',
1176
+ paste: false,
1177
+ }));
1178
+ // Now send some paste content and end paste to make sure paste still works
1179
+ const pastedText = 'hello';
1180
+ const PASTE_MODE_SUFFIX = `\x1b[201~`;
1181
+ act(() => {
1182
+ stdin.emit('data', Buffer.from(pastedText));
1183
+ stdin.emit('data', Buffer.from(PASTE_MODE_SUFFIX));
1184
+ });
1185
+ act(() => {
1186
+ vi.runAllTimers();
1187
+ });
1188
+ // The paste event should be broadcast
1189
+ expect(keyHandler).toHaveBeenCalledTimes(2);
1190
+ expect(keyHandler).toHaveBeenNthCalledWith(2, expect.objectContaining({
1191
+ paste: true,
1192
+ sequence: pastedText,
1193
+ }));
1194
+ vi.useRealTimers();
1195
+ });
797
1196
  });
798
1197
  //# sourceMappingURL=KeypressContext.test.js.map