@umsai/ums-code 0.0.14-v1 → 0.1.4-v2

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 (1268) hide show
  1. package/dist/index.js +9 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/package.json +19 -11
  4. package/dist/src/commands/extensions/disable.d.ts +13 -0
  5. package/dist/src/commands/extensions/disable.js +56 -0
  6. package/dist/src/commands/extensions/disable.js.map +1 -0
  7. package/dist/src/commands/extensions/enable.d.ts +13 -0
  8. package/dist/src/commands/extensions/enable.js +59 -0
  9. package/dist/src/commands/extensions/enable.js.map +1 -0
  10. package/dist/src/commands/extensions/examples/context/QWEN.md +8 -0
  11. package/dist/src/commands/extensions/examples/context/qwen-extension.json +4 -0
  12. package/dist/src/commands/extensions/examples/custom-commands/commands/fs/grep-code.toml +6 -0
  13. package/dist/src/commands/extensions/examples/custom-commands/qwen-extension.json +4 -0
  14. package/dist/src/commands/extensions/examples/exclude-tools/qwen-extension.json +5 -0
  15. package/dist/src/commands/extensions/examples/mcp-server/example.ts +60 -0
  16. package/dist/src/commands/extensions/examples/mcp-server/package.json +18 -0
  17. package/dist/src/commands/extensions/examples/mcp-server/qwen-extension.json +11 -0
  18. package/dist/src/commands/extensions/examples/mcp-server/tsconfig.json +13 -0
  19. package/dist/src/commands/extensions/install.d.ts +14 -0
  20. package/dist/src/commands/extensions/install.js +78 -0
  21. package/dist/src/commands/extensions/install.js.map +1 -0
  22. package/dist/src/commands/extensions/install.test.d.ts +6 -0
  23. package/dist/src/commands/extensions/install.test.js +102 -0
  24. package/dist/src/commands/extensions/install.test.js.map +1 -0
  25. package/dist/src/commands/extensions/link.d.ts +12 -0
  26. package/dist/src/commands/extensions/link.js +37 -0
  27. package/dist/src/commands/extensions/link.js.map +1 -0
  28. package/dist/src/commands/extensions/list.d.ts +8 -0
  29. package/dist/src/commands/extensions/list.js +32 -0
  30. package/dist/src/commands/extensions/list.js.map +1 -0
  31. package/dist/src/commands/extensions/new.d.ts +7 -0
  32. package/dist/src/commands/extensions/new.js +90 -0
  33. package/dist/src/commands/extensions/new.js.map +1 -0
  34. package/dist/src/commands/extensions/new.test.d.ts +6 -0
  35. package/dist/src/commands/extensions/new.test.js +59 -0
  36. package/dist/src/commands/extensions/new.test.js.map +1 -0
  37. package/dist/src/commands/extensions/uninstall.d.ts +12 -0
  38. package/dist/src/commands/extensions/uninstall.js +38 -0
  39. package/dist/src/commands/extensions/uninstall.js.map +1 -0
  40. package/dist/src/commands/extensions/uninstall.test.d.ts +6 -0
  41. package/dist/src/commands/extensions/uninstall.test.js +18 -0
  42. package/dist/src/commands/extensions/uninstall.test.js.map +1 -0
  43. package/dist/src/commands/extensions/update.d.ts +13 -0
  44. package/dist/src/commands/extensions/update.js +104 -0
  45. package/dist/src/commands/extensions/update.js.map +1 -0
  46. package/dist/src/commands/extensions.d.ts +7 -0
  47. package/dist/src/commands/extensions.js +33 -0
  48. package/dist/src/commands/extensions.js.map +1 -0
  49. package/dist/src/commands/mcp/add.d.ts +7 -0
  50. package/dist/src/commands/mcp/add.js +172 -0
  51. package/dist/src/commands/mcp/add.js.map +1 -0
  52. package/dist/src/commands/mcp/list.d.ts +8 -0
  53. package/dist/src/commands/mcp/list.js +111 -0
  54. package/dist/src/commands/mcp/list.js.map +1 -0
  55. package/dist/src/commands/mcp/remove.d.ts +7 -0
  56. package/dist/src/commands/mcp/remove.js +44 -0
  57. package/dist/src/commands/mcp/remove.js.map +1 -0
  58. package/dist/src/commands/mcp.d.ts +7 -0
  59. package/dist/src/commands/mcp.js +23 -0
  60. package/dist/src/commands/mcp.js.map +1 -0
  61. package/dist/src/config/auth.d.ts +2 -4
  62. package/dist/src/config/auth.js +15 -40
  63. package/dist/src/config/auth.js.map +1 -1
  64. package/dist/src/config/auth.test.d.ts +6 -0
  65. package/dist/src/config/auth.test.js +37 -0
  66. package/dist/src/config/auth.test.js.map +1 -0
  67. package/dist/src/config/config.d.ts +17 -10
  68. package/dist/src/config/config.js +379 -196
  69. package/dist/src/config/config.js.map +1 -1
  70. package/dist/src/config/extension.d.ts +64 -3
  71. package/dist/src/config/extension.js +477 -61
  72. package/dist/src/config/extension.js.map +1 -1
  73. package/dist/src/config/extensions/extensionEnablement.d.ts +47 -0
  74. package/dist/src/config/extensions/extensionEnablement.js +189 -0
  75. package/dist/src/config/extensions/extensionEnablement.js.map +1 -0
  76. package/dist/src/config/extensions/extensionEnablement.test.d.ts +6 -0
  77. package/dist/src/config/extensions/extensionEnablement.test.js +333 -0
  78. package/dist/src/config/extensions/extensionEnablement.test.js.map +1 -0
  79. package/dist/src/config/extensions/github.d.ts +30 -0
  80. package/dist/src/config/extensions/github.js +322 -0
  81. package/dist/src/config/extensions/github.js.map +1 -0
  82. package/dist/src/config/extensions/github.test.d.ts +6 -0
  83. package/dist/src/config/extensions/github.test.js +334 -0
  84. package/dist/src/config/extensions/github.test.js.map +1 -0
  85. package/dist/src/config/extensions/update.d.ts +19 -0
  86. package/dist/src/config/extensions/update.js +113 -0
  87. package/dist/src/config/extensions/update.js.map +1 -0
  88. package/dist/src/config/extensions/update.test.d.ts +6 -0
  89. package/dist/src/config/extensions/update.test.js +342 -0
  90. package/dist/src/config/extensions/update.test.js.map +1 -0
  91. package/dist/src/config/extensions/variableSchema.d.ts +36 -0
  92. package/dist/src/config/extensions/variableSchema.js +22 -0
  93. package/dist/src/config/extensions/variableSchema.js.map +1 -0
  94. package/dist/src/config/extensions/variables.d.ts +17 -0
  95. package/dist/src/config/extensions/variables.js +40 -0
  96. package/dist/src/config/extensions/variables.js.map +1 -0
  97. package/dist/src/config/extensions/variables.test.d.ts +6 -0
  98. package/dist/src/config/extensions/variables.test.js +17 -0
  99. package/dist/src/config/extensions/variables.test.js.map +1 -0
  100. package/dist/src/config/keyBindings.d.ts +70 -0
  101. package/dist/src/config/keyBindings.js +130 -0
  102. package/dist/src/config/keyBindings.js.map +1 -0
  103. package/dist/src/config/keyBindings.test.d.ts +6 -0
  104. package/dist/src/config/keyBindings.test.js +51 -0
  105. package/dist/src/config/keyBindings.test.js.map +1 -0
  106. package/dist/src/config/sandboxConfig.d.ts +2 -2
  107. package/dist/src/config/sandboxConfig.js +8 -10
  108. package/dist/src/config/sandboxConfig.js.map +1 -1
  109. package/dist/src/config/settings.d.ts +22 -72
  110. package/dist/src/config/settings.js +425 -151
  111. package/dist/src/config/settings.js.map +1 -1
  112. package/dist/src/config/settingsSchema.d.ts +1102 -0
  113. package/dist/src/config/settingsSchema.js +1068 -0
  114. package/dist/src/config/settingsSchema.js.map +1 -0
  115. package/dist/src/config/settingsSchema.test.d.ts +6 -0
  116. package/dist/src/config/settingsSchema.test.js +201 -0
  117. package/dist/src/config/settingsSchema.test.js.map +1 -0
  118. package/dist/src/config/trustedFolders.d.ts +56 -0
  119. package/dist/src/config/trustedFolders.js +168 -0
  120. package/dist/src/config/trustedFolders.js.map +1 -0
  121. package/dist/src/config/trustedFolders.test.d.ts +6 -0
  122. package/dist/src/config/trustedFolders.test.js +340 -0
  123. package/dist/src/config/trustedFolders.test.js.map +1 -0
  124. package/dist/src/core/auth.d.ts +13 -0
  125. package/dist/src/core/auth.js +27 -0
  126. package/dist/src/core/auth.js.map +1 -0
  127. package/dist/src/core/initializer.d.ts +21 -0
  128. package/dist/src/core/initializer.js +33 -0
  129. package/dist/src/core/initializer.js.map +1 -0
  130. package/dist/src/core/theme.d.ts +12 -0
  131. package/dist/src/core/theme.js +20 -0
  132. package/dist/src/core/theme.js.map +1 -0
  133. package/dist/src/gemini.d.ts +4 -1
  134. package/dist/src/gemini.js +202 -154
  135. package/dist/src/gemini.js.map +1 -1
  136. package/dist/src/gemini.test.d.ts +6 -0
  137. package/dist/src/gemini.test.js +390 -0
  138. package/dist/src/gemini.test.js.map +1 -0
  139. package/dist/src/generated/git-commit.d.ts +2 -1
  140. package/dist/src/generated/git-commit.js +2 -1
  141. package/dist/src/generated/git-commit.js.map +1 -1
  142. package/dist/src/nonInteractiveCli.d.ts +3 -2
  143. package/dist/src/nonInteractiveCli.js +101 -88
  144. package/dist/src/nonInteractiveCli.js.map +1 -1
  145. package/dist/src/nonInteractiveCliCommands.d.ts +17 -0
  146. package/dist/src/nonInteractiveCliCommands.js +79 -0
  147. package/dist/src/nonInteractiveCliCommands.js.map +1 -0
  148. package/dist/src/services/BuiltinCommandLoader.d.ts +3 -4
  149. package/dist/src/services/BuiltinCommandLoader.js +18 -7
  150. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  151. package/dist/src/services/BuiltinCommandLoader.test.d.ts +6 -0
  152. package/dist/src/services/BuiltinCommandLoader.test.js +164 -0
  153. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -0
  154. package/dist/src/services/CommandService.d.ts +2 -2
  155. package/dist/src/services/CommandService.test.d.ts +6 -0
  156. package/dist/src/services/CommandService.test.js +233 -0
  157. package/dist/src/services/CommandService.test.js.map +1 -0
  158. package/dist/src/services/FileCommandLoader.d.ts +5 -3
  159. package/dist/src/services/FileCommandLoader.js +38 -19
  160. package/dist/src/services/FileCommandLoader.js.map +1 -1
  161. package/dist/src/services/McpPromptLoader.d.ts +14 -4
  162. package/dist/src/services/McpPromptLoader.js +89 -28
  163. package/dist/src/services/McpPromptLoader.js.map +1 -1
  164. package/dist/src/services/McpPromptLoader.test.d.ts +6 -0
  165. package/dist/src/services/McpPromptLoader.test.js +341 -0
  166. package/dist/src/services/McpPromptLoader.test.js.map +1 -0
  167. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +5 -10
  168. package/dist/src/services/prompt-processors/argumentProcessor.js +5 -12
  169. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -1
  170. package/dist/src/services/prompt-processors/atFileProcessor.d.ts +12 -0
  171. package/dist/src/services/prompt-processors/atFileProcessor.js +62 -0
  172. package/dist/src/services/prompt-processors/atFileProcessor.js.map +1 -0
  173. package/dist/src/services/prompt-processors/atFileProcessor.test.d.ts +6 -0
  174. package/dist/src/services/prompt-processors/atFileProcessor.test.js +174 -0
  175. package/dist/src/services/prompt-processors/atFileProcessor.test.js.map +1 -0
  176. package/dist/src/services/prompt-processors/injectionParser.d.ts +29 -0
  177. package/dist/src/services/prompt-processors/injectionParser.js +60 -0
  178. package/dist/src/services/prompt-processors/injectionParser.js.map +1 -0
  179. package/dist/src/services/prompt-processors/injectionParser.test.d.ts +6 -0
  180. package/dist/src/services/prompt-processors/injectionParser.test.js +189 -0
  181. package/dist/src/services/prompt-processors/injectionParser.test.js.map +1 -0
  182. package/dist/src/services/prompt-processors/shellProcessor.d.ts +11 -16
  183. package/dist/src/services/prompt-processors/shellProcessor.js +92 -41
  184. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -1
  185. package/dist/src/services/prompt-processors/types.d.ts +15 -8
  186. package/dist/src/services/prompt-processors/types.js +6 -0
  187. package/dist/src/services/prompt-processors/types.js.map +1 -1
  188. package/dist/src/services/types.d.ts +1 -1
  189. package/dist/src/test-utils/createExtension.d.ts +15 -0
  190. package/dist/src/test-utils/createExtension.js +25 -0
  191. package/dist/src/test-utils/createExtension.js.map +1 -0
  192. package/dist/src/test-utils/customMatchers.d.ts +14 -0
  193. package/dist/src/test-utils/customMatchers.js +40 -0
  194. package/dist/src/test-utils/customMatchers.js.map +1 -0
  195. package/dist/src/test-utils/mockCommandContext.d.ts +18 -0
  196. package/dist/src/test-utils/mockCommandContext.js +92 -0
  197. package/dist/src/test-utils/mockCommandContext.js.map +1 -0
  198. package/dist/src/test-utils/mockCommandContext.test.d.ts +6 -0
  199. package/dist/src/test-utils/mockCommandContext.test.js +51 -0
  200. package/dist/src/test-utils/mockCommandContext.test.js.map +1 -0
  201. package/dist/src/test-utils/render.d.ts +12 -0
  202. package/dist/src/test-utils/render.js +14 -0
  203. package/dist/src/test-utils/render.js.map +1 -0
  204. package/dist/src/ui/App.d.ts +1 -10
  205. package/dist/src/ui/App.js +27 -562
  206. package/dist/src/ui/App.js.map +1 -1
  207. package/dist/src/ui/AppContainer.d.ts +17 -0
  208. package/dist/src/ui/AppContainer.js +1069 -0
  209. package/dist/src/ui/AppContainer.js.map +1 -0
  210. package/dist/src/ui/AppContainer.test.d.ts +6 -0
  211. package/dist/src/ui/AppContainer.test.js +831 -0
  212. package/dist/src/ui/AppContainer.test.js.map +1 -0
  213. package/dist/src/ui/IdeIntegrationNudge.d.ts +16 -0
  214. package/dist/src/ui/IdeIntegrationNudge.js +50 -0
  215. package/dist/src/ui/IdeIntegrationNudge.js.map +1 -0
  216. package/dist/src/ui/{components → auth}/AuthDialog.d.ts +7 -3
  217. package/dist/src/ui/{components → auth}/AuthDialog.js +42 -44
  218. package/dist/src/ui/auth/AuthDialog.js.map +1 -0
  219. package/dist/src/ui/auth/AuthDialog.test.d.ts +6 -0
  220. package/dist/src/ui/auth/AuthDialog.test.js +362 -0
  221. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -0
  222. package/dist/src/ui/{components → auth}/AuthInProgress.d.ts +1 -1
  223. package/dist/src/ui/auth/AuthInProgress.js +23 -0
  224. package/dist/src/ui/auth/AuthInProgress.js.map +1 -0
  225. package/dist/src/ui/auth/useAuth.d.ts +24 -0
  226. package/dist/src/ui/auth/useAuth.js +108 -0
  227. package/dist/src/ui/auth/useAuth.js.map +1 -0
  228. package/dist/src/ui/colors.d.ts +1 -1
  229. package/dist/src/ui/commands/aboutCommand.d.ts +1 -1
  230. package/dist/src/ui/commands/aboutCommand.js +16 -6
  231. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  232. package/dist/src/ui/commands/agentsCommand.d.ts +7 -0
  233. package/dist/src/ui/commands/agentsCommand.js +32 -0
  234. package/dist/src/ui/commands/agentsCommand.js.map +1 -0
  235. package/dist/src/ui/commands/approvalModeCommand.d.ts +7 -0
  236. package/dist/src/ui/commands/approvalModeCommand.js +340 -0
  237. package/dist/src/ui/commands/approvalModeCommand.js.map +1 -0
  238. package/dist/src/ui/commands/approvalModeCommand.test.d.ts +6 -0
  239. package/dist/src/ui/commands/approvalModeCommand.test.js +293 -0
  240. package/dist/src/ui/commands/approvalModeCommand.test.js.map +1 -0
  241. package/dist/src/ui/commands/authCommand.d.ts +1 -1
  242. package/dist/src/ui/commands/authCommand.js.map +1 -1
  243. package/dist/src/ui/commands/bugCommand.js +27 -5
  244. package/dist/src/ui/commands/bugCommand.js.map +1 -1
  245. package/dist/src/ui/commands/chatCommand.d.ts +3 -1
  246. package/dist/src/ui/commands/chatCommand.js +120 -12
  247. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  248. package/dist/src/ui/commands/clearCommand.d.ts +1 -1
  249. package/dist/src/ui/commands/clearCommand.js +1 -2
  250. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  251. package/dist/src/ui/commands/compressCommand.d.ts +1 -1
  252. package/dist/src/ui/commands/compressCommand.js +2 -0
  253. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  254. package/dist/src/ui/commands/copyCommand.d.ts +1 -1
  255. package/dist/src/ui/commands/copyCommand.js +2 -2
  256. package/dist/src/ui/commands/copyCommand.js.map +1 -1
  257. package/dist/src/ui/commands/corgiCommand.js +1 -0
  258. package/dist/src/ui/commands/corgiCommand.js.map +1 -1
  259. package/dist/src/ui/commands/directoryCommand.d.ts +1 -1
  260. package/dist/src/ui/commands/directoryCommand.js +7 -8
  261. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  262. package/dist/src/ui/commands/docsCommand.js +1 -1
  263. package/dist/src/ui/commands/docsCommand.js.map +1 -1
  264. package/dist/src/ui/commands/extensionsCommand.js +92 -15
  265. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  266. package/dist/src/ui/commands/helpCommand.d.ts +1 -1
  267. package/dist/src/ui/commands/helpCommand.js.map +1 -1
  268. package/dist/src/ui/commands/ideCommand.d.ts +2 -3
  269. package/dist/src/ui/commands/ideCommand.js +107 -28
  270. package/dist/src/ui/commands/ideCommand.js.map +1 -1
  271. package/dist/src/ui/commands/initCommand.d.ts +2 -2
  272. package/dist/src/ui/commands/initCommand.js +20 -10
  273. package/dist/src/ui/commands/initCommand.js.map +1 -1
  274. package/dist/src/ui/commands/mcpCommand.d.ts +1 -1
  275. package/dist/src/ui/commands/mcpCommand.js +98 -269
  276. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  277. package/dist/src/ui/commands/memoryCommand.d.ts +1 -1
  278. package/dist/src/ui/commands/memoryCommand.js +143 -9
  279. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  280. package/dist/src/ui/commands/modelCommand.d.ts +7 -0
  281. package/dist/src/ui/commands/modelCommand.js +53 -0
  282. package/dist/src/ui/commands/modelCommand.js.map +1 -0
  283. package/dist/src/ui/commands/modelCommand.test.d.ts +6 -0
  284. package/dist/src/ui/commands/modelCommand.test.js +137 -0
  285. package/dist/src/ui/commands/modelCommand.test.js.map +1 -0
  286. package/dist/src/ui/commands/permissionsCommand.d.ts +7 -0
  287. package/dist/src/ui/commands/{privacyCommand.js → permissionsCommand.js} +5 -5
  288. package/dist/src/ui/commands/permissionsCommand.js.map +1 -0
  289. package/dist/src/ui/commands/permissionsCommand.test.d.ts +6 -0
  290. package/dist/src/ui/commands/permissionsCommand.test.js +30 -0
  291. package/dist/src/ui/commands/permissionsCommand.test.js.map +1 -0
  292. package/dist/src/ui/commands/quitCommand.d.ts +1 -0
  293. package/dist/src/ui/commands/quitCommand.js +25 -0
  294. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  295. package/dist/src/ui/commands/restoreCommand.d.ts +1 -1
  296. package/dist/src/ui/commands/restoreCommand.js +4 -8
  297. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  298. package/dist/src/ui/commands/settingsCommand.d.ts +7 -0
  299. package/dist/src/ui/commands/settingsCommand.js +16 -0
  300. package/dist/src/ui/commands/settingsCommand.js.map +1 -0
  301. package/dist/src/ui/commands/setupGithubCommand.d.ts +3 -1
  302. package/dist/src/ui/commands/setupGithubCommand.js +133 -27
  303. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  304. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +6 -0
  305. package/dist/src/ui/commands/setupGithubCommand.test.js +167 -0
  306. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -0
  307. package/dist/src/ui/commands/statsCommand.js.map +1 -1
  308. package/dist/src/ui/commands/summaryCommand.d.ts +7 -0
  309. package/dist/src/ui/commands/summaryCommand.js +149 -0
  310. package/dist/src/ui/commands/summaryCommand.js.map +1 -0
  311. package/dist/src/ui/commands/terminalSetupCommand.d.ts +13 -0
  312. package/dist/src/ui/commands/terminalSetupCommand.js +41 -0
  313. package/dist/src/ui/commands/terminalSetupCommand.js.map +1 -0
  314. package/dist/src/ui/commands/themeCommand.d.ts +1 -1
  315. package/dist/src/ui/commands/themeCommand.js.map +1 -1
  316. package/dist/src/ui/commands/toolsCommand.js +11 -25
  317. package/dist/src/ui/commands/toolsCommand.js.map +1 -1
  318. package/dist/src/ui/commands/types.d.ts +31 -11
  319. package/dist/src/ui/commands/types.js.map +1 -1
  320. package/dist/src/ui/commands/ums/umsInitCommand.d.ts +1 -1
  321. package/dist/src/ui/commands/ums/umsInitCommand.js +54 -20
  322. package/dist/src/ui/commands/ums/umsInitCommand.js.map +1 -1
  323. package/dist/src/ui/commands/vimCommand.d.ts +1 -1
  324. package/dist/src/ui/commands/vimCommand.js.map +1 -1
  325. package/dist/src/ui/components/AboutBox.d.ts +2 -1
  326. package/dist/src/ui/components/AboutBox.js +2 -2
  327. package/dist/src/ui/components/AboutBox.js.map +1 -1
  328. package/dist/src/ui/components/AnsiOutput.d.ts +13 -0
  329. package/dist/src/ui/components/AnsiOutput.js +12 -0
  330. package/dist/src/ui/components/AnsiOutput.js.map +1 -0
  331. package/dist/src/ui/components/AnsiOutput.test.d.ts +6 -0
  332. package/dist/src/ui/components/AnsiOutput.test.js +97 -0
  333. package/dist/src/ui/components/AnsiOutput.test.js.map +1 -0
  334. package/dist/src/ui/components/AppHeader.d.ts +10 -0
  335. package/dist/src/ui/components/AppHeader.js +19 -0
  336. package/dist/src/ui/components/AppHeader.js.map +1 -0
  337. package/dist/src/ui/components/AsciiArt.d.ts +1 -0
  338. package/dist/src/ui/components/AsciiArt.js +8 -0
  339. package/dist/src/ui/components/AsciiArt.js.map +1 -1
  340. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +1 -1
  341. package/dist/src/ui/components/AutoAcceptIndicator.js +12 -7
  342. package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -1
  343. package/dist/src/ui/components/Composer.d.ts +6 -0
  344. package/dist/src/ui/components/Composer.js +54 -0
  345. package/dist/src/ui/components/Composer.js.map +1 -0
  346. package/dist/src/ui/components/Composer.test.d.ts +6 -0
  347. package/dist/src/ui/components/Composer.test.js +337 -0
  348. package/dist/src/ui/components/Composer.test.js.map +1 -0
  349. package/dist/src/ui/components/ConfigInitDisplay.d.ts +6 -0
  350. package/dist/src/ui/components/ConfigInitDisplay.js +38 -0
  351. package/dist/src/ui/components/ConfigInitDisplay.js.map +1 -0
  352. package/dist/src/ui/components/ConsentPrompt.d.ts +13 -0
  353. package/dist/src/ui/components/ConsentPrompt.js +19 -0
  354. package/dist/src/ui/components/ConsentPrompt.js.map +1 -0
  355. package/dist/src/ui/components/ConsentPrompt.test.d.ts +6 -0
  356. package/dist/src/ui/components/ConsentPrompt.test.js +67 -0
  357. package/dist/src/ui/components/ConsentPrompt.test.js.map +1 -0
  358. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +1 -1
  359. package/dist/src/ui/components/ConsoleSummaryDisplay.js +2 -2
  360. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -1
  361. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +1 -1
  362. package/dist/src/ui/components/ContextSummaryDisplay.js +24 -26
  363. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  364. package/dist/src/ui/components/ContextUsageDisplay.d.ts +12 -0
  365. package/dist/src/ui/components/ContextUsageDisplay.js +36 -0
  366. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -0
  367. package/dist/src/ui/components/DebugProfiler.js +7 -6
  368. package/dist/src/ui/components/DebugProfiler.js.map +1 -1
  369. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +2 -2
  370. package/dist/src/ui/components/DetailedMessagesDisplay.js +8 -8
  371. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -1
  372. package/dist/src/ui/components/DialogManager.d.ts +12 -0
  373. package/dist/src/ui/components/DialogManager.js +130 -0
  374. package/dist/src/ui/components/DialogManager.js.map +1 -0
  375. package/dist/src/ui/components/EditorSettingsDialog.d.ts +4 -3
  376. package/dist/src/ui/components/EditorSettingsDialog.js +30 -23
  377. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -1
  378. package/dist/src/ui/components/ExitWarning.d.ts +7 -0
  379. package/dist/src/ui/components/ExitWarning.js +9 -0
  380. package/dist/src/ui/components/ExitWarning.js.map +1 -0
  381. package/dist/src/ui/components/FolderTrustDialog.d.ts +17 -0
  382. package/dist/src/ui/components/FolderTrustDialog.js +58 -0
  383. package/dist/src/ui/components/FolderTrustDialog.js.map +1 -0
  384. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +6 -0
  385. package/dist/src/ui/components/FolderTrustDialog.test.js +88 -0
  386. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -0
  387. package/dist/src/ui/components/Footer.d.ts +2 -17
  388. package/dist/src/ui/components/Footer.js +38 -6
  389. package/dist/src/ui/components/Footer.js.map +1 -1
  390. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +6 -1
  391. package/dist/src/ui/components/GeminiRespondingSpinner.js +10 -3
  392. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -1
  393. package/dist/src/ui/components/Header.d.ts +1 -2
  394. package/dist/src/ui/components/Header.js +14 -6
  395. package/dist/src/ui/components/Header.js.map +1 -1
  396. package/dist/src/ui/components/Header.test.d.ts +6 -0
  397. package/dist/src/ui/components/Header.test.js +37 -0
  398. package/dist/src/ui/components/Header.test.js.map +1 -0
  399. package/dist/src/ui/components/Help.d.ts +2 -2
  400. package/dist/src/ui/components/Help.js +9 -6
  401. package/dist/src/ui/components/Help.js.map +1 -1
  402. package/dist/src/ui/components/Help.test.d.ts +6 -0
  403. package/dist/src/ui/components/Help.test.js +57 -0
  404. package/dist/src/ui/components/Help.test.js.map +1 -0
  405. package/dist/src/ui/components/HistoryItemDisplay.d.ts +7 -6
  406. package/dist/src/ui/components/HistoryItemDisplay.js +14 -1
  407. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  408. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +6 -0
  409. package/dist/src/ui/components/HistoryItemDisplay.test.js +174 -0
  410. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -0
  411. package/dist/src/ui/components/IdeTrustChangeDialog.d.ts +11 -0
  412. package/dist/src/ui/components/IdeTrustChangeDialog.js +32 -0
  413. package/dist/src/ui/components/IdeTrustChangeDialog.js.map +1 -0
  414. package/dist/src/ui/components/IdeTrustChangeDialog.test.d.ts +6 -0
  415. package/dist/src/ui/components/IdeTrustChangeDialog.test.js +57 -0
  416. package/dist/src/ui/components/IdeTrustChangeDialog.test.js.map +1 -0
  417. package/dist/src/ui/components/InputPrompt.d.ts +15 -5
  418. package/dist/src/ui/components/InputPrompt.js +407 -76
  419. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  420. package/dist/src/ui/components/LoadingIndicator.d.ts +2 -2
  421. package/dist/src/ui/components/LoadingIndicator.js +11 -6
  422. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  423. package/dist/src/ui/components/LoadingIndicator.test.d.ts +6 -0
  424. package/dist/src/ui/components/LoadingIndicator.test.js +194 -0
  425. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -0
  426. package/dist/src/ui/components/LoopDetectionConfirmation.d.ts +13 -0
  427. package/dist/src/ui/components/LoopDetectionConfirmation.js +37 -0
  428. package/dist/src/ui/components/LoopDetectionConfirmation.js.map +1 -0
  429. package/dist/src/ui/components/LoopDetectionConfirmation.test.d.ts +6 -0
  430. package/dist/src/ui/components/LoopDetectionConfirmation.test.js +28 -0
  431. package/dist/src/ui/components/LoopDetectionConfirmation.test.js.map +1 -0
  432. package/dist/src/ui/components/MainContent.d.ts +6 -0
  433. package/dist/src/ui/components/MainContent.js +28 -0
  434. package/dist/src/ui/components/MainContent.js.map +1 -0
  435. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +1 -1
  436. package/dist/src/ui/components/MemoryUsageDisplay.js +6 -9
  437. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  438. package/dist/src/ui/components/ModelDialog.d.ts +11 -0
  439. package/dist/src/ui/components/ModelDialog.js +42 -0
  440. package/dist/src/ui/components/ModelDialog.js.map +1 -0
  441. package/dist/src/ui/components/ModelDialog.test.d.ts +6 -0
  442. package/dist/src/ui/components/ModelDialog.test.js +158 -0
  443. package/dist/src/ui/components/ModelDialog.test.js.map +1 -0
  444. package/dist/src/ui/components/ModelStatsDisplay.d.ts +1 -1
  445. package/dist/src/ui/components/ModelStatsDisplay.js +7 -7
  446. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -1
  447. package/dist/src/ui/components/ModelSwitchDialog.d.ts +17 -0
  448. package/dist/src/ui/components/ModelSwitchDialog.js +41 -0
  449. package/dist/src/ui/components/ModelSwitchDialog.js.map +1 -0
  450. package/dist/src/ui/components/ModelSwitchDialog.test.d.ts +6 -0
  451. package/dist/src/ui/components/ModelSwitchDialog.test.js +129 -0
  452. package/dist/src/ui/components/ModelSwitchDialog.test.js.map +1 -0
  453. package/dist/src/ui/components/Notifications.d.ts +6 -0
  454. package/dist/src/ui/components/Notifications.js +23 -0
  455. package/dist/src/ui/components/Notifications.js.map +1 -0
  456. package/dist/src/ui/components/OpenAIKeyPrompt.d.ts +1 -1
  457. package/dist/src/ui/components/OpenAIKeyPrompt.js +63 -44
  458. package/dist/src/ui/components/OpenAIKeyPrompt.js.map +1 -1
  459. package/dist/src/ui/components/OpenAIKeyPrompt.test.d.ts +6 -0
  460. package/dist/src/ui/components/OpenAIKeyPrompt.test.js +51 -0
  461. package/dist/src/ui/components/OpenAIKeyPrompt.test.js.map +1 -0
  462. package/dist/src/ui/components/PermissionsModifyTrustDialog.d.ts +13 -0
  463. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +48 -0
  464. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -0
  465. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.d.ts +6 -0
  466. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +154 -0
  467. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -0
  468. package/dist/src/ui/components/PlanSummaryDisplay.d.ts +14 -0
  469. package/dist/src/ui/components/PlanSummaryDisplay.js +9 -0
  470. package/dist/src/ui/components/PlanSummaryDisplay.js.map +1 -0
  471. package/dist/src/ui/components/PrepareLabel.d.ts +4 -4
  472. package/dist/src/ui/components/PrepareLabel.js +67 -11
  473. package/dist/src/ui/components/PrepareLabel.js.map +1 -1
  474. package/dist/src/ui/components/PrepareLabel.test.d.ts +6 -0
  475. package/dist/src/ui/components/PrepareLabel.test.js +71 -0
  476. package/dist/src/ui/components/PrepareLabel.test.js.map +1 -0
  477. package/dist/src/ui/components/ProQuotaDialog.d.ts +13 -0
  478. package/dist/src/ui/components/ProQuotaDialog.js +23 -0
  479. package/dist/src/ui/components/ProQuotaDialog.js.map +1 -0
  480. package/dist/src/ui/components/ProQuotaDialog.test.d.ts +6 -0
  481. package/dist/src/ui/components/ProQuotaDialog.test.js +58 -0
  482. package/dist/src/ui/components/ProQuotaDialog.test.js.map +1 -0
  483. package/dist/src/ui/components/QueuedMessageDisplay.d.ts +9 -0
  484. package/dist/src/ui/components/QueuedMessageDisplay.js +20 -0
  485. package/dist/src/ui/components/QueuedMessageDisplay.js.map +1 -0
  486. package/dist/src/ui/components/QueuedMessageDisplay.test.d.ts +6 -0
  487. package/dist/src/ui/components/QueuedMessageDisplay.test.js +56 -0
  488. package/dist/src/ui/components/QueuedMessageDisplay.test.js.map +1 -0
  489. package/dist/src/ui/components/QuitConfirmationDialog.d.ts +17 -0
  490. package/dist/src/ui/components/QuitConfirmationDialog.js +48 -0
  491. package/dist/src/ui/components/QuitConfirmationDialog.js.map +1 -0
  492. package/dist/src/ui/components/QuittingDisplay.d.ts +6 -0
  493. package/dist/src/ui/components/QuittingDisplay.js +20 -0
  494. package/dist/src/ui/components/QuittingDisplay.js.map +1 -0
  495. package/dist/src/ui/components/QwenOAuthProgress.d.ts +2 -2
  496. package/dist/src/ui/components/QwenOAuthProgress.js +7 -11
  497. package/dist/src/ui/components/QwenOAuthProgress.js.map +1 -1
  498. package/dist/src/ui/components/QwenOAuthProgress.test.d.ts +6 -0
  499. package/dist/src/ui/components/QwenOAuthProgress.test.js +363 -0
  500. package/dist/src/ui/components/QwenOAuthProgress.test.js.map +1 -0
  501. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +1 -1
  502. package/dist/src/ui/components/SettingsDialog.d.ts +16 -0
  503. package/dist/src/ui/components/SettingsDialog.js +624 -0
  504. package/dist/src/ui/components/SettingsDialog.js.map +1 -0
  505. package/dist/src/ui/components/SettingsDialog.test.d.ts +6 -0
  506. package/dist/src/ui/components/SettingsDialog.test.js +1036 -0
  507. package/dist/src/ui/components/SettingsDialog.test.js.map +1 -0
  508. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +1 -1
  509. package/dist/src/ui/components/ShellConfirmationDialog.js +12 -7
  510. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -1
  511. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +6 -0
  512. package/dist/src/ui/components/ShellConfirmationDialog.test.js +40 -0
  513. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +1 -0
  514. package/dist/src/ui/components/ShellInputPrompt.d.ts +11 -0
  515. package/dist/src/ui/components/ShellInputPrompt.js +36 -0
  516. package/dist/src/ui/components/ShellInputPrompt.js.map +1 -0
  517. package/dist/src/ui/components/ShellModeIndicator.d.ts +1 -1
  518. package/dist/src/ui/components/ShellModeIndicator.js +2 -2
  519. package/dist/src/ui/components/ShellModeIndicator.js.map +1 -1
  520. package/dist/src/ui/components/ShowMoreLines.js +2 -2
  521. package/dist/src/ui/components/ShowMoreLines.js.map +1 -1
  522. package/dist/src/ui/components/StatsDisplay.d.ts +1 -1
  523. package/dist/src/ui/components/StatsDisplay.js +10 -9
  524. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  525. package/dist/src/ui/components/SuggestionsDisplay.d.ts +7 -2
  526. package/dist/src/ui/components/SuggestionsDisplay.js +16 -8
  527. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  528. package/dist/src/ui/components/ThemeDialog.d.ts +3 -2
  529. package/dist/src/ui/components/ThemeDialog.js +25 -55
  530. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  531. package/dist/src/ui/components/ThemeDialog.test.d.ts +6 -0
  532. package/dist/src/ui/components/ThemeDialog.test.js +75 -0
  533. package/dist/src/ui/components/ThemeDialog.test.js.map +1 -0
  534. package/dist/src/ui/components/Tips.d.ts +1 -1
  535. package/dist/src/ui/components/Tips.js +3 -2
  536. package/dist/src/ui/components/Tips.js.map +1 -1
  537. package/dist/src/ui/components/TodoDisplay.d.ts +16 -0
  538. package/dist/src/ui/components/TodoDisplay.js +27 -0
  539. package/dist/src/ui/components/TodoDisplay.js.map +1 -0
  540. package/dist/src/ui/components/TodoDisplay.test.d.ts +6 -0
  541. package/dist/src/ui/components/TodoDisplay.test.js +77 -0
  542. package/dist/src/ui/components/TodoDisplay.test.js.map +1 -0
  543. package/dist/src/ui/components/ToolStatsDisplay.d.ts +1 -1
  544. package/dist/src/ui/components/ToolStatsDisplay.js +4 -4
  545. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -1
  546. package/dist/src/ui/components/UpdateNotification.js +2 -2
  547. package/dist/src/ui/components/UpdateNotification.js.map +1 -1
  548. package/dist/src/ui/components/WelcomeBackDialog.d.ts +13 -0
  549. package/dist/src/ui/components/WelcomeBackDialog.js +34 -0
  550. package/dist/src/ui/components/WelcomeBackDialog.js.map +1 -0
  551. package/dist/src/ui/components/WorkspaceMigrationDialog.d.ts +11 -0
  552. package/dist/src/ui/components/WorkspaceMigrationDialog.js +45 -0
  553. package/dist/src/ui/components/WorkspaceMigrationDialog.js.map +1 -0
  554. package/dist/src/ui/components/messages/CompressionMessage.d.ts +2 -3
  555. package/dist/src/ui/components/messages/CompressionMessage.js +38 -8
  556. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -1
  557. package/dist/src/ui/components/messages/CompressionMessage.test.d.ts +6 -0
  558. package/dist/src/ui/components/messages/CompressionMessage.test.js +160 -0
  559. package/dist/src/ui/components/messages/CompressionMessage.test.js.map +1 -0
  560. package/dist/src/ui/components/messages/DiffRenderer.d.ts +3 -2
  561. package/dist/src/ui/components/messages/DiffRenderer.js +22 -17
  562. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  563. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +6 -0
  564. package/dist/src/ui/components/messages/DiffRenderer.test.js +239 -0
  565. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -0
  566. package/dist/src/ui/components/messages/ErrorMessage.d.ts +1 -1
  567. package/dist/src/ui/components/messages/ErrorMessage.js +2 -2
  568. package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -1
  569. package/dist/src/ui/components/messages/GeminiMessage.d.ts +1 -1
  570. package/dist/src/ui/components/messages/GeminiMessage.js +3 -2
  571. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -1
  572. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +1 -1
  573. package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -1
  574. package/dist/src/ui/components/messages/InfoMessage.js +7 -2
  575. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  576. package/dist/src/ui/components/messages/SummaryMessage.d.ts +11 -0
  577. package/dist/src/ui/components/messages/SummaryMessage.js +35 -0
  578. package/dist/src/ui/components/messages/SummaryMessage.js.map +1 -0
  579. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +4 -3
  580. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +149 -38
  581. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  582. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +6 -0
  583. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +165 -0
  584. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -0
  585. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +5 -4
  586. package/dist/src/ui/components/messages/ToolGroupMessage.js +18 -15
  587. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  588. package/dist/src/ui/components/messages/ToolGroupMessage.test.d.ts +6 -0
  589. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +261 -0
  590. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -0
  591. package/dist/src/ui/components/messages/ToolMessage.d.ts +5 -1
  592. package/dist/src/ui/components/messages/ToolMessage.js +135 -16
  593. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -1
  594. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +6 -0
  595. package/dist/src/ui/components/messages/ToolMessage.test.js +182 -0
  596. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -0
  597. package/dist/src/ui/components/messages/UserMessage.d.ts +1 -1
  598. package/dist/src/ui/components/messages/UserMessage.js +6 -5
  599. package/dist/src/ui/components/messages/UserMessage.js.map +1 -1
  600. package/dist/src/ui/components/messages/UserShellMessage.d.ts +1 -1
  601. package/dist/src/ui/components/messages/UserShellMessage.js +2 -2
  602. package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -1
  603. package/dist/src/ui/components/messages/WarningMessage.d.ts +11 -0
  604. package/dist/src/ui/components/messages/WarningMessage.js +10 -0
  605. package/dist/src/ui/components/messages/WarningMessage.js.map +1 -0
  606. package/dist/src/ui/components/shared/BaseSelectionList.d.ts +38 -0
  607. package/dist/src/ui/components/shared/BaseSelectionList.js +72 -0
  608. package/dist/src/ui/components/shared/BaseSelectionList.js.map +1 -0
  609. package/dist/src/ui/components/shared/BaseSelectionList.test.d.ts +6 -0
  610. package/dist/src/ui/components/shared/BaseSelectionList.test.js +376 -0
  611. package/dist/src/ui/components/shared/BaseSelectionList.test.js.map +1 -0
  612. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.d.ts +35 -0
  613. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js +13 -0
  614. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.js.map +1 -0
  615. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.d.ts +6 -0
  616. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js +79 -0
  617. package/dist/src/ui/components/shared/DescriptiveRadioButtonSelect.test.js.map +1 -0
  618. package/dist/src/ui/components/shared/EnumSelector.d.ts +18 -0
  619. package/dist/src/ui/components/shared/EnumSelector.js +44 -0
  620. package/dist/src/ui/components/shared/EnumSelector.js.map +1 -0
  621. package/dist/src/ui/components/shared/EnumSelector.test.d.ts +6 -0
  622. package/dist/src/ui/components/shared/EnumSelector.test.js +70 -0
  623. package/dist/src/ui/components/shared/EnumSelector.test.js.map +1 -0
  624. package/dist/src/ui/components/shared/MaxSizedBox.js +3 -3
  625. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  626. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +6 -0
  627. package/dist/src/ui/components/shared/MaxSizedBox.test.js +154 -0
  628. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +1 -0
  629. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +3 -4
  630. package/dist/src/ui/components/shared/RadioButtonSelect.js +11 -109
  631. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  632. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +6 -0
  633. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +134 -0
  634. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +1 -0
  635. package/dist/src/ui/components/shared/ScopeSelector.d.ts +19 -0
  636. package/dist/src/ui/components/shared/ScopeSelector.js +14 -0
  637. package/dist/src/ui/components/shared/ScopeSelector.js.map +1 -0
  638. package/dist/src/ui/components/shared/TextInput.d.ts +16 -0
  639. package/dist/src/ui/components/shared/TextInput.js +127 -0
  640. package/dist/src/ui/components/shared/TextInput.js.map +1 -0
  641. package/dist/src/ui/components/shared/text-buffer.d.ts +42 -6
  642. package/dist/src/ui/components/shared/text-buffer.js +530 -283
  643. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  644. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +1 -1
  645. package/dist/src/ui/components/shared/vim-buffer-actions.js +139 -152
  646. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -1
  647. package/dist/src/ui/components/subagents/constants.d.ts +23 -0
  648. package/dist/src/ui/components/subagents/constants.js +67 -0
  649. package/dist/src/ui/components/subagents/constants.js.map +1 -0
  650. package/dist/src/ui/components/subagents/create/AgentCreationWizard.d.ts +15 -0
  651. package/dist/src/ui/components/subagents/create/AgentCreationWizard.js +173 -0
  652. package/dist/src/ui/components/subagents/create/AgentCreationWizard.js.map +1 -0
  653. package/dist/src/ui/components/subagents/create/ColorSelector.d.ts +15 -0
  654. package/dist/src/ui/components/subagents/create/ColorSelector.js +43 -0
  655. package/dist/src/ui/components/subagents/create/ColorSelector.js.map +1 -0
  656. package/dist/src/ui/components/subagents/create/CreationSummary.d.ts +10 -0
  657. package/dist/src/ui/components/subagents/create/CreationSummary.js +164 -0
  658. package/dist/src/ui/components/subagents/create/CreationSummary.js.map +1 -0
  659. package/dist/src/ui/components/subagents/create/DescriptionInput.d.ts +10 -0
  660. package/dist/src/ui/components/subagents/create/DescriptionInput.js +104 -0
  661. package/dist/src/ui/components/subagents/create/DescriptionInput.js.map +1 -0
  662. package/dist/src/ui/components/subagents/create/GenerationMethodSelector.d.ts +10 -0
  663. package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js +34 -0
  664. package/dist/src/ui/components/subagents/create/GenerationMethodSelector.js.map +1 -0
  665. package/dist/src/ui/components/subagents/create/LocationSelector.d.ts +10 -0
  666. package/dist/src/ui/components/subagents/create/LocationSelector.js +34 -0
  667. package/dist/src/ui/components/subagents/create/LocationSelector.js.map +1 -0
  668. package/dist/src/ui/components/subagents/create/TextEntryStep.d.ts +26 -0
  669. package/dist/src/ui/components/subagents/create/TextEntryStep.js +28 -0
  670. package/dist/src/ui/components/subagents/create/TextEntryStep.js.map +1 -0
  671. package/dist/src/ui/components/subagents/create/ToolSelector.d.ts +16 -0
  672. package/dist/src/ui/components/subagents/create/ToolSelector.js +144 -0
  673. package/dist/src/ui/components/subagents/create/ToolSelector.js.map +1 -0
  674. package/dist/src/ui/components/subagents/index.d.ts +8 -0
  675. package/dist/src/ui/components/subagents/index.js +12 -0
  676. package/dist/src/ui/components/subagents/index.js.map +1 -0
  677. package/dist/src/ui/components/subagents/manage/ActionSelectionStep.d.ts +13 -0
  678. package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js +46 -0
  679. package/dist/src/ui/components/subagents/manage/ActionSelectionStep.js.map +1 -0
  680. package/dist/src/ui/components/subagents/manage/AgentDeleteStep.d.ts +13 -0
  681. package/dist/src/ui/components/subagents/manage/AgentDeleteStep.js +33 -0
  682. package/dist/src/ui/components/subagents/manage/AgentDeleteStep.js.map +1 -0
  683. package/dist/src/ui/components/subagents/manage/AgentEditStep.d.ts +15 -0
  684. package/dist/src/ui/components/subagents/manage/AgentEditStep.js +64 -0
  685. package/dist/src/ui/components/subagents/manage/AgentEditStep.js.map +1 -0
  686. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.d.ts +12 -0
  687. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js +224 -0
  688. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js.map +1 -0
  689. package/dist/src/ui/components/subagents/manage/AgentViewerStep.d.ts +11 -0
  690. package/dist/src/ui/components/subagents/manage/AgentViewerStep.js +19 -0
  691. package/dist/src/ui/components/subagents/manage/AgentViewerStep.js.map +1 -0
  692. package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.d.ts +15 -0
  693. package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js +211 -0
  694. package/dist/src/ui/components/subagents/manage/AgentsManagerDialog.js.map +1 -0
  695. package/dist/src/ui/components/subagents/reducers.d.ts +14 -0
  696. package/dist/src/ui/components/subagents/reducers.js +162 -0
  697. package/dist/src/ui/components/subagents/reducers.js.map +1 -0
  698. package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.d.ts +20 -0
  699. package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js +193 -0
  700. package/dist/src/ui/components/subagents/runtime/AgentExecutionDisplay.js.map +1 -0
  701. package/dist/src/ui/components/subagents/types.d.ts +137 -0
  702. package/dist/src/ui/components/subagents/types.js +15 -0
  703. package/dist/src/ui/components/subagents/types.js.map +1 -0
  704. package/dist/src/ui/components/subagents/utils.d.ts +15 -0
  705. package/dist/src/ui/components/subagents/utils.js +79 -0
  706. package/dist/src/ui/components/subagents/utils.js.map +1 -0
  707. package/dist/src/ui/components/ums/UMSKeyPrompt.d.ts +2 -2
  708. package/dist/src/ui/components/ums/UMSKeyPrompt.js +67 -65
  709. package/dist/src/ui/components/ums/UMSKeyPrompt.js.map +1 -1
  710. package/dist/src/ui/components/ums/useUMSAuth.d.ts +1 -1
  711. package/dist/src/ui/components/ums/useUMSAuth.js +1 -1
  712. package/dist/src/ui/components/ums/useUMSAuth.js.map +1 -1
  713. package/dist/src/ui/components/views/ExtensionsList.d.ts +6 -0
  714. package/dist/src/ui/components/views/ExtensionsList.js +47 -0
  715. package/dist/src/ui/components/views/ExtensionsList.js.map +1 -0
  716. package/dist/src/ui/components/views/ExtensionsList.test.d.ts +6 -0
  717. package/dist/src/ui/components/views/ExtensionsList.test.js +97 -0
  718. package/dist/src/ui/components/views/ExtensionsList.test.js.map +1 -0
  719. package/dist/src/ui/components/views/McpStatus.d.ts +27 -0
  720. package/dist/src/ui/components/views/McpStatus.js +77 -0
  721. package/dist/src/ui/components/views/McpStatus.js.map +1 -0
  722. package/dist/src/ui/components/views/McpStatus.test.d.ts +6 -0
  723. package/dist/src/ui/components/views/McpStatus.test.js +117 -0
  724. package/dist/src/ui/components/views/McpStatus.test.js.map +1 -0
  725. package/dist/src/ui/components/views/ToolsList.d.ts +14 -0
  726. package/dist/src/ui/components/views/ToolsList.js +7 -0
  727. package/dist/src/ui/components/views/ToolsList.js.map +1 -0
  728. package/dist/src/ui/components/views/ToolsList.test.d.ts +6 -0
  729. package/dist/src/ui/components/views/ToolsList.test.js +45 -0
  730. package/dist/src/ui/components/views/ToolsList.test.js.map +1 -0
  731. package/dist/src/ui/constants.d.ts +9 -0
  732. package/dist/src/ui/constants.js +10 -0
  733. package/dist/src/ui/constants.js.map +1 -1
  734. package/dist/src/ui/contexts/AppContext.d.ts +11 -0
  735. package/dist/src/ui/contexts/AppContext.js +15 -0
  736. package/dist/src/ui/contexts/AppContext.js.map +1 -0
  737. package/dist/src/ui/contexts/ConfigContext.d.ts +9 -0
  738. package/dist/src/ui/contexts/ConfigContext.js +16 -0
  739. package/dist/src/ui/contexts/ConfigContext.js.map +1 -0
  740. package/dist/src/ui/contexts/KeypressContext.d.ts +35 -0
  741. package/dist/src/ui/contexts/KeypressContext.js +636 -0
  742. package/dist/src/ui/contexts/KeypressContext.js.map +1 -0
  743. package/dist/src/ui/contexts/KeypressContext.test.d.ts +6 -0
  744. package/dist/src/ui/contexts/KeypressContext.test.js +1180 -0
  745. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -0
  746. package/dist/src/ui/contexts/OverflowContext.d.ts +1 -1
  747. package/dist/src/ui/contexts/OverflowContext.js +0 -5
  748. package/dist/src/ui/contexts/OverflowContext.js.map +1 -1
  749. package/dist/src/ui/contexts/SessionContext.d.ts +11 -3
  750. package/dist/src/ui/contexts/SessionContext.js +110 -21
  751. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  752. package/dist/src/ui/contexts/SettingsContext.d.ts +9 -0
  753. package/dist/src/ui/contexts/SettingsContext.js +15 -0
  754. package/dist/src/ui/contexts/SettingsContext.js.map +1 -0
  755. package/dist/src/ui/contexts/ShellFocusContext.d.ts +7 -0
  756. package/dist/src/ui/contexts/ShellFocusContext.js +9 -0
  757. package/dist/src/ui/contexts/ShellFocusContext.js.map +1 -0
  758. package/dist/src/ui/contexts/StreamingContext.d.ts +1 -1
  759. package/dist/src/ui/contexts/UIActionsContext.d.ts +45 -0
  760. package/dist/src/ui/contexts/UIActionsContext.js +21 -0
  761. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -0
  762. package/dist/src/ui/contexts/UIStateContext.d.ts +117 -0
  763. package/dist/src/ui/contexts/UIStateContext.js +17 -0
  764. package/dist/src/ui/contexts/UIStateContext.js.map +1 -0
  765. package/dist/src/ui/contexts/VimModeContext.d.ts +1 -1
  766. package/dist/src/ui/contexts/VimModeContext.js +4 -4
  767. package/dist/src/ui/contexts/VimModeContext.js.map +1 -1
  768. package/dist/src/ui/hooks/atCommandProcessor.d.ts +3 -3
  769. package/dist/src/ui/hooks/atCommandProcessor.js +29 -29
  770. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  771. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +6 -0
  772. package/dist/src/ui/hooks/atCommandProcessor.test.js +834 -0
  773. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -0
  774. package/dist/src/ui/hooks/keyToAnsi.d.ts +15 -0
  775. package/dist/src/ui/hooks/keyToAnsi.js +67 -0
  776. package/dist/src/ui/hooks/keyToAnsi.js.map +1 -0
  777. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +5 -4
  778. package/dist/src/ui/hooks/shellCommandProcessor.js +76 -30
  779. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  780. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +6 -0
  781. package/dist/src/ui/hooks/shellCommandProcessor.test.js +508 -0
  782. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +1 -0
  783. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +32 -7
  784. package/dist/src/ui/hooks/slashCommandProcessor.js +232 -96
  785. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  786. package/dist/src/ui/hooks/useAgentsManagerDialog.d.ts +11 -0
  787. package/dist/src/ui/hooks/useAgentsManagerDialog.js +21 -0
  788. package/dist/src/ui/hooks/useAgentsManagerDialog.js.map +1 -0
  789. package/dist/src/ui/hooks/useAtCompletion.d.ts +2 -2
  790. package/dist/src/ui/hooks/useAtCompletion.js +7 -5
  791. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  792. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +5 -2
  793. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +26 -23
  794. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -1
  795. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +6 -0
  796. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +306 -0
  797. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +1 -0
  798. package/dist/src/ui/hooks/useCommandCompletion.d.ts +8 -5
  799. package/dist/src/ui/hooks/useCommandCompletion.js +30 -9
  800. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  801. package/dist/src/ui/hooks/useCompletion.d.ts +1 -1
  802. package/dist/src/ui/hooks/useCompletion.js +1 -1
  803. package/dist/src/ui/hooks/useCompletion.js.map +1 -1
  804. package/dist/src/ui/hooks/useConsoleMessages.d.ts +1 -1
  805. package/dist/src/ui/hooks/useDialogClose.d.ts +32 -0
  806. package/dist/src/ui/hooks/useDialogClose.js +48 -0
  807. package/dist/src/ui/hooks/useDialogClose.js.map +1 -0
  808. package/dist/src/ui/hooks/useEditorSettings.d.ts +2 -2
  809. package/dist/src/ui/hooks/useEditorSettings.js +1 -1
  810. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -1
  811. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +6 -0
  812. package/dist/src/ui/hooks/useEditorSettings.test.js +164 -0
  813. package/dist/src/ui/hooks/useEditorSettings.test.js.map +1 -0
  814. package/dist/src/ui/hooks/useExtensionUpdates.d.ts +21 -0
  815. package/dist/src/ui/hooks/useExtensionUpdates.js +116 -0
  816. package/dist/src/ui/hooks/useExtensionUpdates.js.map +1 -0
  817. package/dist/src/ui/hooks/useExtensionUpdates.test.d.ts +6 -0
  818. package/dist/src/ui/hooks/useExtensionUpdates.test.js +243 -0
  819. package/dist/src/ui/hooks/useExtensionUpdates.test.js.map +1 -0
  820. package/dist/src/ui/hooks/useFocus.d.ts +4 -0
  821. package/dist/src/ui/hooks/useFocus.js +14 -4
  822. package/dist/src/ui/hooks/useFocus.js.map +1 -1
  823. package/dist/src/ui/hooks/useFolderTrust.d.ts +13 -0
  824. package/dist/src/ui/hooks/useFolderTrust.js +60 -0
  825. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -0
  826. package/dist/src/ui/hooks/useGeminiStream.d.ts +21 -5
  827. package/dist/src/ui/hooks/useGeminiStream.js +276 -128
  828. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  829. package/dist/src/ui/hooks/useGitBranchName.js +16 -19
  830. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  831. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +6 -0
  832. package/dist/src/ui/hooks/useGitBranchName.test.js +171 -0
  833. package/dist/src/ui/hooks/useGitBranchName.test.js.map +1 -0
  834. package/dist/src/ui/hooks/useHistoryManager.d.ts +1 -1
  835. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +6 -0
  836. package/dist/src/ui/hooks/useHistoryManager.test.js +171 -0
  837. package/dist/src/ui/hooks/useHistoryManager.test.js.map +1 -0
  838. package/dist/src/ui/hooks/useIdeTrustListener.d.ts +16 -0
  839. package/dist/src/ui/hooks/useIdeTrustListener.js +65 -0
  840. package/dist/src/ui/hooks/useIdeTrustListener.js.map +1 -0
  841. package/dist/src/ui/hooks/useIdeTrustListener.test.d.ts +6 -0
  842. package/dist/src/ui/hooks/useIdeTrustListener.test.js +183 -0
  843. package/dist/src/ui/hooks/useIdeTrustListener.test.js.map +1 -0
  844. package/dist/src/ui/hooks/useInputHistory.test.d.ts +6 -0
  845. package/dist/src/ui/hooks/useInputHistory.test.js +207 -0
  846. package/dist/src/ui/hooks/useInputHistory.test.js.map +1 -0
  847. package/dist/src/ui/hooks/useInputHistoryStore.d.ts +19 -0
  848. package/dist/src/ui/hooks/useInputHistoryStore.js +81 -0
  849. package/dist/src/ui/hooks/useInputHistoryStore.js.map +1 -0
  850. package/dist/src/ui/hooks/useInputHistoryStore.test.d.ts +6 -0
  851. package/dist/src/ui/hooks/useInputHistoryStore.test.js +234 -0
  852. package/dist/src/ui/hooks/useInputHistoryStore.test.js.map +1 -0
  853. package/dist/src/ui/hooks/useKeypress.d.ts +4 -16
  854. package/dist/src/ui/hooks/useKeypress.js +8 -140
  855. package/dist/src/ui/hooks/useKeypress.js.map +1 -1
  856. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +15 -0
  857. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +20 -0
  858. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +1 -0
  859. package/dist/src/ui/hooks/useLaunchEditor.d.ts +10 -0
  860. package/dist/src/ui/hooks/useLaunchEditor.js +70 -0
  861. package/dist/src/ui/hooks/useLaunchEditor.js.map +1 -0
  862. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +1 -1
  863. package/dist/src/ui/hooks/useLoadingIndicator.js +2 -2
  864. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  865. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +6 -0
  866. package/dist/src/ui/hooks/useLoadingIndicator.test.js +91 -0
  867. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -0
  868. package/dist/src/ui/hooks/useLogger.d.ts +2 -1
  869. package/dist/src/ui/hooks/useLogger.js +3 -3
  870. package/dist/src/ui/hooks/useLogger.js.map +1 -1
  871. package/dist/src/ui/hooks/useMemoryMonitor.d.ts +13 -0
  872. package/dist/src/ui/hooks/useMemoryMonitor.js +28 -0
  873. package/dist/src/ui/hooks/useMemoryMonitor.js.map +1 -0
  874. package/dist/src/ui/hooks/useMemoryMonitor.test.d.ts +6 -0
  875. package/dist/src/ui/hooks/useMemoryMonitor.test.js +57 -0
  876. package/dist/src/ui/hooks/useMemoryMonitor.test.js.map +1 -0
  877. package/dist/src/ui/hooks/useMessageQueue.d.ts +23 -0
  878. package/dist/src/ui/hooks/useMessageQueue.js +51 -0
  879. package/dist/src/ui/hooks/useMessageQueue.js.map +1 -0
  880. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +6 -0
  881. package/dist/src/ui/hooks/useMessageQueue.test.js +167 -0
  882. package/dist/src/ui/hooks/useMessageQueue.test.js.map +1 -0
  883. package/dist/src/ui/hooks/useModelCommand.d.ts +12 -0
  884. package/dist/src/ui/hooks/useModelCommand.js +21 -0
  885. package/dist/src/ui/hooks/useModelCommand.js.map +1 -0
  886. package/dist/src/ui/hooks/useModelCommand.test.d.ts +6 -0
  887. package/dist/src/ui/hooks/useModelCommand.test.js +35 -0
  888. package/dist/src/ui/hooks/useModelCommand.test.js.map +1 -0
  889. package/dist/src/ui/hooks/usePermissionsModifyTrust.d.ts +17 -0
  890. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +78 -0
  891. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -0
  892. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.d.ts +6 -0
  893. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +182 -0
  894. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -0
  895. package/dist/src/ui/hooks/usePhraseCycler.d.ts +1 -1
  896. package/dist/src/ui/hooks/usePhraseCycler.js +13 -10
  897. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  898. package/dist/src/ui/hooks/usePromptCompletion.d.ts +23 -0
  899. package/dist/src/ui/hooks/usePromptCompletion.js +177 -0
  900. package/dist/src/ui/hooks/usePromptCompletion.js.map +1 -0
  901. package/dist/src/ui/hooks/useQuitConfirmation.d.ts +14 -0
  902. package/dist/src/ui/hooks/useQuitConfirmation.js +36 -0
  903. package/dist/src/ui/hooks/useQuitConfirmation.js.map +1 -0
  904. package/dist/src/ui/hooks/useQuotaAndFallback.d.ts +21 -0
  905. package/dist/src/ui/hooks/useQuotaAndFallback.js +122 -0
  906. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +1 -0
  907. package/dist/src/ui/hooks/useQuotaAndFallback.test.d.ts +6 -0
  908. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +269 -0
  909. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +1 -0
  910. package/dist/src/ui/hooks/useQwenAuth.d.ts +1 -1
  911. package/dist/src/ui/hooks/useQwenAuth.js +1 -1
  912. package/dist/src/ui/hooks/useQwenAuth.js.map +1 -1
  913. package/dist/src/ui/hooks/useQwenAuth.test.d.ts +6 -0
  914. package/dist/src/ui/hooks/useQwenAuth.test.js +292 -0
  915. package/dist/src/ui/hooks/useQwenAuth.test.js.map +1 -0
  916. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +4 -3
  917. package/dist/src/ui/hooks/useReactToolScheduler.js +40 -35
  918. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  919. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +3 -3
  920. package/dist/src/ui/hooks/useReverseSearchCompletion.js +67 -20
  921. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +1 -1
  922. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +6 -0
  923. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +163 -0
  924. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +1 -0
  925. package/dist/src/ui/hooks/useSelectionList.d.ts +34 -0
  926. package/dist/src/ui/hooks/useSelectionList.js +245 -0
  927. package/dist/src/ui/hooks/useSelectionList.js.map +1 -0
  928. package/dist/src/ui/hooks/useSelectionList.test.d.ts +6 -0
  929. package/dist/src/ui/hooks/useSelectionList.test.js +701 -0
  930. package/dist/src/ui/hooks/useSelectionList.test.js.map +1 -0
  931. package/dist/src/ui/hooks/useSettingsCommand.d.ts +10 -0
  932. package/dist/src/ui/hooks/useSettingsCommand.js +21 -0
  933. package/dist/src/ui/hooks/useSettingsCommand.js.map +1 -0
  934. package/dist/src/ui/hooks/useShellHistory.d.ts +2 -1
  935. package/dist/src/ui/hooks/useShellHistory.js +9 -10
  936. package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
  937. package/dist/src/ui/hooks/useShellHistory.test.d.ts +6 -0
  938. package/dist/src/ui/hooks/useShellHistory.test.js +187 -0
  939. package/dist/src/ui/hooks/useShellHistory.test.js.map +1 -0
  940. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +3 -3
  941. package/dist/src/ui/hooks/useShowMemoryCommand.js +1 -1
  942. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -1
  943. package/dist/src/ui/hooks/useSlashCompletion.d.ts +2 -2
  944. package/dist/src/ui/hooks/useSlashCompletion.js +281 -67
  945. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  946. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +9 -0
  947. package/dist/src/ui/hooks/useSlashCompletion.test.js +597 -0
  948. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -0
  949. package/dist/src/ui/hooks/useStateAndRef.d.ts +1 -1
  950. package/dist/src/ui/hooks/useStateAndRef.js +2 -2
  951. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -1
  952. package/dist/src/ui/hooks/useSubagentCreateDialog.d.ts +10 -0
  953. package/dist/src/ui/hooks/useSubagentCreateDialog.js +21 -0
  954. package/dist/src/ui/hooks/useSubagentCreateDialog.js.map +1 -0
  955. package/dist/src/ui/hooks/useThemeCommand.d.ts +2 -2
  956. package/dist/src/ui/hooks/useThemeCommand.js +10 -21
  957. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  958. package/dist/src/ui/hooks/useTimer.test.d.ts +6 -0
  959. package/dist/src/ui/hooks/useTimer.test.js +90 -0
  960. package/dist/src/ui/hooks/useTimer.test.js.map +1 -0
  961. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +6 -0
  962. package/dist/src/ui/hooks/useToolScheduler.test.js +623 -0
  963. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -0
  964. package/dist/src/ui/hooks/useVisionAutoSwitch.d.ts +47 -0
  965. package/dist/src/ui/hooks/useVisionAutoSwitch.js +292 -0
  966. package/dist/src/ui/hooks/useVisionAutoSwitch.js.map +1 -0
  967. package/dist/src/ui/hooks/useVisionAutoSwitch.test.d.ts +6 -0
  968. package/dist/src/ui/hooks/useVisionAutoSwitch.test.js +515 -0
  969. package/dist/src/ui/hooks/useVisionAutoSwitch.test.js.map +1 -0
  970. package/dist/src/ui/hooks/useWelcomeBack.d.ts +23 -0
  971. package/dist/src/ui/hooks/useWelcomeBack.js +79 -0
  972. package/dist/src/ui/hooks/useWelcomeBack.js.map +1 -0
  973. package/dist/src/ui/hooks/useWorkspaceMigration.d.ts +13 -0
  974. package/dist/src/ui/hooks/useWorkspaceMigration.js +54 -0
  975. package/dist/src/ui/hooks/useWorkspaceMigration.js.map +1 -0
  976. package/dist/src/ui/keyMatchers.d.ts +27 -0
  977. package/dist/src/ui/keyMatchers.js +68 -0
  978. package/dist/src/ui/keyMatchers.js.map +1 -0
  979. package/dist/src/ui/keyMatchers.test.d.ts +6 -0
  980. package/dist/src/ui/keyMatchers.test.js +293 -0
  981. package/dist/src/ui/keyMatchers.test.js.map +1 -0
  982. package/dist/src/ui/layouts/DefaultAppLayout.d.ts +9 -0
  983. package/dist/src/ui/layouts/DefaultAppLayout.js +13 -0
  984. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -0
  985. package/dist/src/ui/layouts/ScreenReaderAppLayout.d.ts +7 -0
  986. package/dist/src/ui/layouts/ScreenReaderAppLayout.js +14 -0
  987. package/dist/src/ui/layouts/ScreenReaderAppLayout.js.map +1 -0
  988. package/dist/src/ui/models/availableModels.d.ts +35 -0
  989. package/dist/src/ui/models/availableModels.js +126 -0
  990. package/dist/src/ui/models/availableModels.js.map +1 -0
  991. package/dist/src/ui/noninteractive/nonInteractiveUi.d.ts +12 -0
  992. package/dist/src/ui/noninteractive/nonInteractiveUi.js +28 -0
  993. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -0
  994. package/dist/src/ui/semantic-colors.d.ts +7 -0
  995. package/dist/src/ui/semantic-colors.js +24 -0
  996. package/dist/src/ui/semantic-colors.js.map +1 -0
  997. package/dist/src/ui/state/extensions.d.ts +42 -0
  998. package/dist/src/ui/state/extensions.js +62 -0
  999. package/dist/src/ui/state/extensions.js.map +1 -0
  1000. package/dist/src/ui/textConstants.d.ts +9 -0
  1001. package/dist/src/ui/textConstants.js +10 -0
  1002. package/dist/src/ui/textConstants.js.map +1 -0
  1003. package/dist/src/ui/themes/ansi-light.js +2 -1
  1004. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  1005. package/dist/src/ui/themes/ansi.js +2 -1
  1006. package/dist/src/ui/themes/ansi.js.map +1 -1
  1007. package/dist/src/ui/themes/ayu.js +1 -1
  1008. package/dist/src/ui/themes/color-utils.test.d.ts +6 -0
  1009. package/dist/src/ui/themes/color-utils.test.js +197 -0
  1010. package/dist/src/ui/themes/color-utils.test.js.map +1 -0
  1011. package/dist/src/ui/themes/dracula.js +2 -2
  1012. package/dist/src/ui/themes/github-dark.js +1 -1
  1013. package/dist/src/ui/themes/googlecode.js +1 -1
  1014. package/dist/src/ui/themes/googlecode.js.map +1 -1
  1015. package/dist/src/ui/themes/no-color.js +30 -1
  1016. package/dist/src/ui/themes/no-color.js.map +1 -1
  1017. package/dist/src/ui/themes/qwen-dark.js +2 -1
  1018. package/dist/src/ui/themes/qwen-dark.js.map +1 -1
  1019. package/dist/src/ui/themes/qwen-light.js +2 -1
  1020. package/dist/src/ui/themes/qwen-light.js.map +1 -1
  1021. package/dist/src/ui/themes/semantic-tokens.d.ts +37 -0
  1022. package/dist/src/ui/themes/semantic-tokens.js +94 -0
  1023. package/dist/src/ui/themes/semantic-tokens.js.map +1 -0
  1024. package/dist/src/ui/themes/theme-manager.d.ts +9 -1
  1025. package/dist/src/ui/themes/theme-manager.js +81 -7
  1026. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  1027. package/dist/src/ui/themes/theme-manager.test.d.ts +6 -0
  1028. package/dist/src/ui/themes/theme-manager.test.js +142 -0
  1029. package/dist/src/ui/themes/theme-manager.test.js.map +1 -0
  1030. package/dist/src/ui/themes/theme.d.ts +45 -2
  1031. package/dist/src/ui/themes/theme.js +122 -109
  1032. package/dist/src/ui/themes/theme.js.map +1 -1
  1033. package/dist/src/ui/types.d.ts +110 -6
  1034. package/dist/src/ui/types.js +16 -0
  1035. package/dist/src/ui/types.js.map +1 -1
  1036. package/dist/src/ui/utils/CodeColorizer.d.ts +3 -2
  1037. package/dist/src/ui/utils/CodeColorizer.js +8 -6
  1038. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  1039. package/dist/src/ui/utils/ConsolePatcher.d.ts +2 -1
  1040. package/dist/src/ui/utils/ConsolePatcher.js +4 -1
  1041. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  1042. package/dist/src/ui/utils/InlineMarkdownRenderer.js +13 -6
  1043. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  1044. package/dist/src/ui/utils/MarkdownDisplay.js +15 -13
  1045. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  1046. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +6 -0
  1047. package/dist/src/ui/utils/MarkdownDisplay.test.js +169 -0
  1048. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +1 -0
  1049. package/dist/src/ui/utils/TableRenderer.js +4 -4
  1050. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  1051. package/dist/src/ui/utils/clipboardUtils.js +7 -8
  1052. package/dist/src/ui/utils/clipboardUtils.js.map +1 -1
  1053. package/dist/src/ui/utils/clipboardUtils.test.d.ts +6 -0
  1054. package/dist/src/ui/utils/clipboardUtils.test.js +65 -0
  1055. package/dist/src/ui/utils/clipboardUtils.test.js.map +1 -0
  1056. package/dist/src/ui/utils/commandUtils.d.ts +2 -1
  1057. package/dist/src/ui/utils/commandUtils.js +74 -15
  1058. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  1059. package/dist/src/ui/utils/commandUtils.test.d.ts +6 -0
  1060. package/dist/src/ui/utils/commandUtils.test.js +349 -0
  1061. package/dist/src/ui/utils/commandUtils.test.js.map +1 -0
  1062. package/dist/src/ui/utils/computeStats.d.ts +1 -1
  1063. package/dist/src/ui/utils/computeStats.js +3 -1
  1064. package/dist/src/ui/utils/computeStats.js.map +1 -1
  1065. package/dist/src/ui/utils/displayUtils.d.ts +1 -0
  1066. package/dist/src/ui/utils/displayUtils.js +7 -4
  1067. package/dist/src/ui/utils/displayUtils.js.map +1 -1
  1068. package/dist/src/ui/utils/displayUtils.test.d.ts +6 -0
  1069. package/dist/src/ui/utils/displayUtils.test.js +61 -0
  1070. package/dist/src/ui/utils/displayUtils.test.js.map +1 -0
  1071. package/dist/src/ui/utils/formatters.test.d.ts +6 -0
  1072. package/dist/src/ui/utils/formatters.test.js +56 -0
  1073. package/dist/src/ui/utils/formatters.test.js.map +1 -0
  1074. package/dist/src/ui/utils/highlight.d.ts +11 -0
  1075. package/dist/src/ui/utils/highlight.js +78 -0
  1076. package/dist/src/ui/utils/highlight.js.map +1 -0
  1077. package/dist/src/ui/utils/highlight.test.d.ts +6 -0
  1078. package/dist/src/ui/utils/highlight.test.js +120 -0
  1079. package/dist/src/ui/utils/highlight.test.js.map +1 -0
  1080. package/dist/src/ui/utils/isNarrowWidth.d.ts +6 -0
  1081. package/dist/src/ui/utils/isNarrowWidth.js +9 -0
  1082. package/dist/src/ui/utils/isNarrowWidth.js.map +1 -0
  1083. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +13 -0
  1084. package/dist/src/ui/utils/kittyProtocolDetector.js +98 -0
  1085. package/dist/src/ui/utils/kittyProtocolDetector.js.map +1 -0
  1086. package/dist/src/ui/utils/markdownUtilities.test.d.ts +6 -0
  1087. package/dist/src/ui/utils/markdownUtilities.test.js +42 -0
  1088. package/dist/src/ui/utils/markdownUtilities.test.js.map +1 -0
  1089. package/dist/src/ui/utils/platformConstants.d.ts +75 -0
  1090. package/dist/src/ui/utils/platformConstants.js +78 -0
  1091. package/dist/src/ui/utils/platformConstants.js.map +1 -0
  1092. package/dist/src/ui/utils/terminalSetup.d.ts +30 -0
  1093. package/dist/src/ui/utils/terminalSetup.js +281 -0
  1094. package/dist/src/ui/utils/terminalSetup.js.map +1 -0
  1095. package/dist/src/ui/utils/textUtils.d.ts +28 -0
  1096. package/dist/src/ui/utils/textUtils.js +152 -3
  1097. package/dist/src/ui/utils/textUtils.js.map +1 -1
  1098. package/dist/src/ui/utils/textUtils.test.d.ts +6 -0
  1099. package/dist/src/ui/utils/textUtils.test.js +132 -0
  1100. package/dist/src/ui/utils/textUtils.test.js.map +1 -0
  1101. package/dist/src/ui/utils/updateCheck.d.ts +3 -2
  1102. package/dist/src/ui/utils/updateCheck.js +55 -4
  1103. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  1104. package/dist/src/ui/utils/updateCheck.test.d.ts +6 -0
  1105. package/dist/src/ui/utils/updateCheck.test.js +145 -0
  1106. package/dist/src/ui/utils/updateCheck.test.js.map +1 -0
  1107. package/dist/src/utils/checks.d.ts +19 -0
  1108. package/dist/src/utils/checks.js +24 -0
  1109. package/dist/src/utils/checks.js.map +1 -0
  1110. package/dist/src/utils/cleanup.d.ts +2 -2
  1111. package/dist/src/utils/cleanup.js +7 -6
  1112. package/dist/src/utils/cleanup.js.map +1 -1
  1113. package/dist/src/utils/commands.d.ts +20 -0
  1114. package/dist/src/utils/commands.js +53 -0
  1115. package/dist/src/utils/commands.js.map +1 -0
  1116. package/dist/src/utils/commands.test.d.ts +6 -0
  1117. package/dist/src/utils/commands.test.js +115 -0
  1118. package/dist/src/utils/commands.test.js.map +1 -0
  1119. package/dist/src/utils/commentJson.d.ts +9 -0
  1120. package/dist/src/utils/commentJson.js +48 -0
  1121. package/dist/src/utils/commentJson.js.map +1 -0
  1122. package/dist/src/utils/commentJson.test.d.ts +6 -0
  1123. package/dist/src/utils/commentJson.test.js +146 -0
  1124. package/dist/src/utils/commentJson.test.js.map +1 -0
  1125. package/dist/src/utils/deepMerge.d.ts +9 -0
  1126. package/dist/src/utils/deepMerge.js +58 -0
  1127. package/dist/src/utils/deepMerge.js.map +1 -0
  1128. package/dist/src/utils/deepMerge.test.d.ts +6 -0
  1129. package/dist/src/utils/deepMerge.test.js +143 -0
  1130. package/dist/src/utils/deepMerge.test.js.map +1 -0
  1131. package/dist/src/utils/dialogScopeUtils.d.ts +32 -0
  1132. package/dist/src/utils/dialogScopeUtils.js +48 -0
  1133. package/dist/src/utils/dialogScopeUtils.js.map +1 -0
  1134. package/dist/src/utils/envVarResolver.d.ts +39 -0
  1135. package/dist/src/utils/envVarResolver.js +97 -0
  1136. package/dist/src/utils/envVarResolver.js.map +1 -0
  1137. package/dist/src/utils/envVarResolver.test.d.ts +6 -0
  1138. package/dist/src/utils/envVarResolver.test.js +221 -0
  1139. package/dist/src/utils/envVarResolver.test.js.map +1 -0
  1140. package/dist/src/utils/errors.d.ts +27 -0
  1141. package/dist/src/utils/errors.js +105 -0
  1142. package/dist/src/utils/errors.js.map +1 -0
  1143. package/dist/src/utils/errors.test.d.ts +6 -0
  1144. package/dist/src/utils/errors.test.js +303 -0
  1145. package/dist/src/utils/errors.test.js.map +1 -0
  1146. package/dist/src/utils/events.d.ts +3 -2
  1147. package/dist/src/utils/events.js +2 -1
  1148. package/dist/src/utils/events.js.map +1 -1
  1149. package/dist/src/utils/gitUtils.d.ts +21 -1
  1150. package/dist/src/utils/gitUtils.js +69 -4
  1151. package/dist/src/utils/gitUtils.js.map +1 -1
  1152. package/dist/src/utils/gitUtils.test.d.ts +6 -0
  1153. package/dist/src/utils/gitUtils.test.js +113 -0
  1154. package/dist/src/utils/gitUtils.test.js.map +1 -0
  1155. package/dist/src/utils/handleAutoUpdate.d.ts +4 -4
  1156. package/dist/src/utils/handleAutoUpdate.js +10 -6
  1157. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  1158. package/dist/src/utils/installationInfo.js +3 -3
  1159. package/dist/src/utils/installationInfo.js.map +1 -1
  1160. package/dist/src/utils/installationInfo.test.d.ts +6 -0
  1161. package/dist/src/utils/installationInfo.test.js +242 -0
  1162. package/dist/src/utils/installationInfo.test.js.map +1 -0
  1163. package/dist/src/utils/math.d.ts +13 -0
  1164. package/dist/src/utils/math.js +14 -0
  1165. package/dist/src/utils/math.js.map +1 -0
  1166. package/dist/src/utils/package.js +2 -2
  1167. package/dist/src/utils/package.js.map +1 -1
  1168. package/dist/src/utils/processUtils.d.ts +13 -0
  1169. package/dist/src/utils/processUtils.js +18 -0
  1170. package/dist/src/utils/processUtils.js.map +1 -0
  1171. package/dist/src/utils/processUtils.test.d.ts +6 -0
  1172. package/dist/src/utils/processUtils.test.js +20 -0
  1173. package/dist/src/utils/processUtils.test.js.map +1 -0
  1174. package/dist/src/utils/readStdin.js +25 -0
  1175. package/dist/src/utils/readStdin.js.map +1 -1
  1176. package/dist/src/utils/readStdin.test.d.ts +6 -0
  1177. package/dist/src/utils/readStdin.test.js +88 -0
  1178. package/dist/src/utils/readStdin.test.js.map +1 -0
  1179. package/dist/src/utils/relaunch.d.ts +7 -0
  1180. package/dist/src/utils/relaunch.js +57 -0
  1181. package/dist/src/utils/relaunch.js.map +1 -0
  1182. package/dist/src/utils/relaunch.test.d.ts +6 -0
  1183. package/dist/src/utils/relaunch.test.js +273 -0
  1184. package/dist/src/utils/relaunch.test.js.map +1 -0
  1185. package/dist/src/utils/resolvePath.js +2 -2
  1186. package/dist/src/utils/resolvePath.js.map +1 -1
  1187. package/dist/src/utils/sandbox.d.ts +2 -2
  1188. package/dist/src/utils/sandbox.js +484 -443
  1189. package/dist/src/utils/sandbox.js.map +1 -1
  1190. package/dist/src/utils/settingsUtils.d.ts +144 -0
  1191. package/dist/src/utils/settingsUtils.js +340 -0
  1192. package/dist/src/utils/settingsUtils.js.map +1 -0
  1193. package/dist/src/utils/settingsUtils.test.d.ts +6 -0
  1194. package/dist/src/utils/settingsUtils.test.js +808 -0
  1195. package/dist/src/utils/settingsUtils.test.js.map +1 -0
  1196. package/dist/src/utils/spawnWrapper.d.ts +1 -1
  1197. package/dist/src/utils/spawnWrapper.js +1 -1
  1198. package/dist/src/utils/spawnWrapper.js.map +1 -1
  1199. package/dist/src/utils/startupWarnings.js +3 -3
  1200. package/dist/src/utils/startupWarnings.js.map +1 -1
  1201. package/dist/src/utils/updateEventEmitter.d.ts +1 -1
  1202. package/dist/src/utils/updateEventEmitter.js +1 -1
  1203. package/dist/src/utils/updateEventEmitter.js.map +1 -1
  1204. package/dist/src/utils/userStartupWarnings.d.ts +7 -1
  1205. package/dist/src/utils/userStartupWarnings.js +24 -9
  1206. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  1207. package/dist/src/utils/userStartupWarnings.test.d.ts +6 -0
  1208. package/dist/src/utils/userStartupWarnings.test.js +88 -0
  1209. package/dist/src/utils/userStartupWarnings.test.js.map +1 -0
  1210. package/dist/src/utils/version.js +1 -1
  1211. package/dist/src/utils/version.js.map +1 -1
  1212. package/dist/src/utils/windowTitle.d.ts +12 -0
  1213. package/dist/src/utils/windowTitle.js +19 -0
  1214. package/dist/src/utils/windowTitle.js.map +1 -0
  1215. package/dist/src/utils/windowTitle.test.d.ts +6 -0
  1216. package/dist/src/utils/windowTitle.test.js +49 -0
  1217. package/dist/src/utils/windowTitle.test.js.map +1 -0
  1218. package/dist/src/validateNonInterActiveAuth.d.ts +4 -2
  1219. package/dist/src/validateNonInterActiveAuth.js +35 -23
  1220. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  1221. package/dist/src/zed-integration/acp.d.ts +63 -0
  1222. package/dist/src/{acp → zed-integration}/acp.js +78 -45
  1223. package/dist/src/zed-integration/acp.js.map +1 -0
  1224. package/dist/src/zed-integration/fileSystemService.d.ts +20 -0
  1225. package/dist/src/zed-integration/fileSystemService.js +46 -0
  1226. package/dist/src/zed-integration/fileSystemService.js.map +1 -0
  1227. package/dist/src/zed-integration/schema.d.ts +11782 -0
  1228. package/dist/src/zed-integration/schema.js +311 -0
  1229. package/dist/src/zed-integration/schema.js.map +1 -0
  1230. package/dist/src/zed-integration/zedIntegration.d.ts +17 -0
  1231. package/dist/src/zed-integration/zedIntegration.js +791 -0
  1232. package/dist/src/zed-integration/zedIntegration.js.map +1 -0
  1233. package/dist/tsconfig.tsbuildinfo +1 -1
  1234. package/package.json +20 -12
  1235. package/dist/src/acp/acp.d.ts +0 -208
  1236. package/dist/src/acp/acp.js.map +0 -1
  1237. package/dist/src/acp/acpPeer.d.ts +0 -8
  1238. package/dist/src/acp/acpPeer.js +0 -537
  1239. package/dist/src/acp/acpPeer.js.map +0 -1
  1240. package/dist/src/ui/commands/privacyCommand.d.ts +0 -7
  1241. package/dist/src/ui/commands/privacyCommand.js.map +0 -1
  1242. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  1243. package/dist/src/ui/components/AuthInProgress.js +0 -27
  1244. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  1245. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +0 -12
  1246. package/dist/src/ui/components/IDEContextDetailDisplay.js +0 -12
  1247. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +0 -1
  1248. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -14
  1249. package/dist/src/ui/hooks/useAuthCommand.js +0 -65
  1250. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  1251. package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
  1252. package/dist/src/ui/hooks/usePrivacySettings.js +0 -115
  1253. package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
  1254. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
  1255. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -40
  1256. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
  1257. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
  1258. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -17
  1259. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
  1260. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
  1261. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -17
  1262. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
  1263. package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
  1264. package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
  1265. package/dist/src/ui/privacy/PrivacyNotice.js.map +0 -1
  1266. package/dist/src/ui/utils/errorParsing.d.ts +0 -7
  1267. package/dist/src/ui/utils/errorParsing.js +0 -90
  1268. package/dist/src/ui/utils/errorParsing.js.map +0 -1
@@ -3,15 +3,13 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import stripAnsi from 'strip-ansi';
7
- import { spawnSync } from 'child_process';
8
- import fs from 'fs';
9
- import os from 'os';
10
- import pathMod from 'path';
6
+ import { spawnSync } from 'node:child_process';
7
+ import fs from 'node:fs';
8
+ import os from 'node:os';
9
+ import pathMod from 'node:path';
11
10
  import { useState, useCallback, useEffect, useMemo, useReducer } from 'react';
12
- import stringWidth from 'string-width';
13
11
  import { unescapePath } from '@umsai/ums-code-core';
14
- import { toCodePoints, cpLen, cpSlice } from '../../utils/textUtils.js';
12
+ import { toCodePoints, cpLen, cpSlice, stripUnsafeCharacters, getCachedStringWidth, } from '../../utils/textUtils.js';
15
13
  import { handleVimAction } from './vim-buffer-actions.js';
16
14
  // Simple helper for word‑wise ops.
17
15
  function isWordChar(ch) {
@@ -20,112 +18,266 @@ function isWordChar(ch) {
20
18
  }
21
19
  return !/[\s,.;!?]/.test(ch);
22
20
  }
23
- // Vim-specific word boundary functions
24
- export const findNextWordStart = (text, currentOffset) => {
25
- let i = currentOffset;
26
- if (i >= text.length)
27
- return i;
28
- const currentChar = text[i];
21
+ // Helper functions for line-based word navigation
22
+ export const isWordCharStrict = (char) => /[\w\p{L}\p{N}]/u.test(char); // Matches a single character that is any Unicode letter, any Unicode number, or an underscore
23
+ export const isWhitespace = (char) => /\s/.test(char);
24
+ // Check if a character is a combining mark (only diacritics for now)
25
+ export const isCombiningMark = (char) => /\p{M}/u.test(char);
26
+ // Check if a character should be considered part of a word (including combining marks)
27
+ export const isWordCharWithCombining = (char) => isWordCharStrict(char) || isCombiningMark(char);
28
+ // Get the script of a character (simplified for common scripts)
29
+ export const getCharScript = (char) => {
30
+ if (/[\p{Script=Latin}]/u.test(char))
31
+ return 'latin'; // All Latin script chars including diacritics
32
+ if (/[\p{Script=Han}]/u.test(char))
33
+ return 'han'; // Chinese
34
+ if (/[\p{Script=Arabic}]/u.test(char))
35
+ return 'arabic';
36
+ if (/[\p{Script=Hiragana}]/u.test(char))
37
+ return 'hiragana';
38
+ if (/[\p{Script=Katakana}]/u.test(char))
39
+ return 'katakana';
40
+ if (/[\p{Script=Cyrillic}]/u.test(char))
41
+ return 'cyrillic';
42
+ return 'other';
43
+ };
44
+ // Check if two characters are from different scripts (indicating word boundary)
45
+ export const isDifferentScript = (char1, char2) => {
46
+ if (!isWordCharStrict(char1) || !isWordCharStrict(char2))
47
+ return false;
48
+ return getCharScript(char1) !== getCharScript(char2);
49
+ };
50
+ // Find next word start within a line, starting from col
51
+ export const findNextWordStartInLine = (line, col) => {
52
+ const chars = toCodePoints(line);
53
+ let i = col;
54
+ if (i >= chars.length)
55
+ return null;
56
+ const currentChar = chars[i];
29
57
  // Skip current word/sequence based on character type
30
- if (/\w/.test(currentChar)) {
31
- // Skip current word characters
32
- while (i < text.length && /\w/.test(text[i])) {
58
+ if (isWordCharStrict(currentChar)) {
59
+ while (i < chars.length && isWordCharWithCombining(chars[i])) {
60
+ // Check for script boundary - if next character is from different script, stop here
61
+ if (i + 1 < chars.length &&
62
+ isWordCharStrict(chars[i + 1]) &&
63
+ isDifferentScript(chars[i], chars[i + 1])) {
64
+ i++; // Include current character
65
+ break; // Stop at script boundary
66
+ }
33
67
  i++;
34
68
  }
35
69
  }
36
- else if (!/\s/.test(currentChar)) {
37
- // Skip current non-word, non-whitespace characters (like "/", ".", etc.)
38
- while (i < text.length && !/\w/.test(text[i]) && !/\s/.test(text[i])) {
70
+ else if (!isWhitespace(currentChar)) {
71
+ while (i < chars.length &&
72
+ !isWordCharStrict(chars[i]) &&
73
+ !isWhitespace(chars[i])) {
39
74
  i++;
40
75
  }
41
76
  }
42
77
  // Skip whitespace
43
- while (i < text.length && /\s/.test(text[i])) {
78
+ while (i < chars.length && isWhitespace(chars[i])) {
44
79
  i++;
45
80
  }
46
- // If we reached the end of text and there's no next word,
47
- // vim behavior for dw is to delete to the end of the current word
48
- if (i >= text.length) {
49
- // Go back to find the end of the last word
50
- let endOfLastWord = text.length - 1;
51
- while (endOfLastWord >= 0 && /\s/.test(text[endOfLastWord])) {
52
- endOfLastWord--;
53
- }
54
- // For dw on last word, return position AFTER the last character to delete entire word
55
- return Math.max(currentOffset + 1, endOfLastWord + 1);
56
- }
57
- return i;
81
+ return i < chars.length ? i : null;
58
82
  };
59
- export const findPrevWordStart = (text, currentOffset) => {
60
- let i = currentOffset;
61
- // If at beginning of text, return current position
62
- if (i <= 0) {
63
- return currentOffset;
64
- }
65
- // Move back one character to start searching
83
+ // Find previous word start within a line
84
+ export const findPrevWordStartInLine = (line, col) => {
85
+ const chars = toCodePoints(line);
86
+ let i = col;
87
+ if (i <= 0)
88
+ return null;
66
89
  i--;
67
90
  // Skip whitespace moving backwards
68
- while (i >= 0 && (text[i] === ' ' || text[i] === '\t' || text[i] === '\n')) {
91
+ while (i >= 0 && isWhitespace(chars[i])) {
69
92
  i--;
70
93
  }
71
- if (i < 0) {
72
- return 0; // Reached beginning of text
73
- }
74
- const charAtI = text[i];
75
- if (/\w/.test(charAtI)) {
94
+ if (i < 0)
95
+ return null;
96
+ if (isWordCharStrict(chars[i])) {
76
97
  // We're in a word, move to its beginning
77
- while (i >= 0 && /\w/.test(text[i])) {
98
+ while (i >= 0 && isWordCharStrict(chars[i])) {
99
+ // Check for script boundary - if previous character is from different script, stop here
100
+ if (i - 1 >= 0 &&
101
+ isWordCharStrict(chars[i - 1]) &&
102
+ isDifferentScript(chars[i], chars[i - 1])) {
103
+ return i; // Return current position at script boundary
104
+ }
78
105
  i--;
79
106
  }
80
- return i + 1; // Return first character of word
107
+ return i + 1;
81
108
  }
82
109
  else {
83
110
  // We're in punctuation, move to its beginning
84
- while (i >= 0 &&
85
- !/\w/.test(text[i]) &&
86
- text[i] !== ' ' &&
87
- text[i] !== '\t' &&
88
- text[i] !== '\n') {
111
+ while (i >= 0 && !isWordCharStrict(chars[i]) && !isWhitespace(chars[i])) {
89
112
  i--;
90
113
  }
91
- return i + 1; // Return first character of punctuation sequence
114
+ return i + 1;
92
115
  }
93
116
  };
94
- export const findWordEnd = (text, currentOffset) => {
95
- let i = currentOffset;
96
- // If we're already at the end of a word, advance to next word
97
- if (i < text.length &&
98
- /\w/.test(text[i]) &&
99
- (i + 1 >= text.length || !/\w/.test(text[i + 1]))) {
100
- // We're at the end of a word, move forward to find next word
117
+ // Find word end within a line
118
+ export const findWordEndInLine = (line, col) => {
119
+ const chars = toCodePoints(line);
120
+ let i = col;
121
+ // If we're already at the end of a word (including punctuation sequences), advance to next word
122
+ // This includes both regular word endings and script boundaries
123
+ const atEndOfWordChar = i < chars.length &&
124
+ isWordCharWithCombining(chars[i]) &&
125
+ (i + 1 >= chars.length ||
126
+ !isWordCharWithCombining(chars[i + 1]) ||
127
+ (isWordCharStrict(chars[i]) &&
128
+ i + 1 < chars.length &&
129
+ isWordCharStrict(chars[i + 1]) &&
130
+ isDifferentScript(chars[i], chars[i + 1])));
131
+ const atEndOfPunctuation = i < chars.length &&
132
+ !isWordCharWithCombining(chars[i]) &&
133
+ !isWhitespace(chars[i]) &&
134
+ (i + 1 >= chars.length ||
135
+ isWhitespace(chars[i + 1]) ||
136
+ isWordCharWithCombining(chars[i + 1]));
137
+ if (atEndOfWordChar || atEndOfPunctuation) {
138
+ // We're at the end of a word or punctuation sequence, move forward to find next word
101
139
  i++;
102
- // Skip whitespace/punctuation to find next word
103
- while (i < text.length && !/\w/.test(text[i])) {
140
+ // Skip whitespace to find next word or punctuation
141
+ while (i < chars.length && isWhitespace(chars[i])) {
104
142
  i++;
105
143
  }
106
144
  }
107
- // If we're not on a word character, find the next word
108
- if (i < text.length && !/\w/.test(text[i])) {
109
- while (i < text.length && !/\w/.test(text[i])) {
145
+ // If we're not on a word character, find the next word or punctuation sequence
146
+ if (i < chars.length && !isWordCharWithCombining(chars[i])) {
147
+ // Skip whitespace to find next word or punctuation
148
+ while (i < chars.length && isWhitespace(chars[i])) {
110
149
  i++;
111
150
  }
112
151
  }
113
- // Move to end of current word
114
- while (i < text.length && /\w/.test(text[i])) {
115
- i++;
152
+ // Move to end of current word (including combining marks, but stop at script boundaries)
153
+ let foundWord = false;
154
+ let lastBaseCharPos = -1;
155
+ if (i < chars.length && isWordCharWithCombining(chars[i])) {
156
+ // Handle word characters
157
+ while (i < chars.length && isWordCharWithCombining(chars[i])) {
158
+ foundWord = true;
159
+ // Track the position of the last base character (not combining mark)
160
+ if (isWordCharStrict(chars[i])) {
161
+ lastBaseCharPos = i;
162
+ }
163
+ // Check if next character is from a different script (word boundary)
164
+ if (i + 1 < chars.length &&
165
+ isWordCharStrict(chars[i + 1]) &&
166
+ isDifferentScript(chars[i], chars[i + 1])) {
167
+ i++; // Include current character
168
+ if (isWordCharStrict(chars[i - 1])) {
169
+ lastBaseCharPos = i - 1;
170
+ }
171
+ break; // Stop at script boundary
172
+ }
173
+ i++;
174
+ }
116
175
  }
117
- // Move back one to be on the last character of the word
118
- return Math.max(currentOffset, i - 1);
176
+ else if (i < chars.length && !isWhitespace(chars[i])) {
177
+ // Handle punctuation sequences (like ████)
178
+ while (i < chars.length &&
179
+ !isWordCharStrict(chars[i]) &&
180
+ !isWhitespace(chars[i])) {
181
+ foundWord = true;
182
+ lastBaseCharPos = i;
183
+ i++;
184
+ }
185
+ }
186
+ // Only return a position if we actually found a word
187
+ // Return the position of the last base character, not combining marks
188
+ if (foundWord && lastBaseCharPos >= col) {
189
+ return lastBaseCharPos;
190
+ }
191
+ return null;
119
192
  };
120
- // Helper functions for vim operations
121
- export const getOffsetFromPosition = (row, col, lines) => {
122
- let offset = 0;
123
- for (let i = 0; i < row; i++) {
124
- offset += lines[i].length + 1; // +1 for newline
193
+ // Find next word across lines
194
+ export const findNextWordAcrossLines = (lines, cursorRow, cursorCol, searchForWordStart) => {
195
+ // First try current line
196
+ const currentLine = lines[cursorRow] || '';
197
+ const colInCurrentLine = searchForWordStart
198
+ ? findNextWordStartInLine(currentLine, cursorCol)
199
+ : findWordEndInLine(currentLine, cursorCol);
200
+ if (colInCurrentLine !== null) {
201
+ return { row: cursorRow, col: colInCurrentLine };
125
202
  }
126
- offset += col;
127
- return offset;
203
+ // Search subsequent lines
204
+ for (let row = cursorRow + 1; row < lines.length; row++) {
205
+ const line = lines[row] || '';
206
+ const chars = toCodePoints(line);
207
+ // For empty lines, if we haven't found any words yet, return the empty line
208
+ if (chars.length === 0) {
209
+ // Check if there are any words in remaining lines
210
+ let hasWordsInLaterLines = false;
211
+ for (let laterRow = row + 1; laterRow < lines.length; laterRow++) {
212
+ const laterLine = lines[laterRow] || '';
213
+ const laterChars = toCodePoints(laterLine);
214
+ let firstNonWhitespace = 0;
215
+ while (firstNonWhitespace < laterChars.length &&
216
+ isWhitespace(laterChars[firstNonWhitespace])) {
217
+ firstNonWhitespace++;
218
+ }
219
+ if (firstNonWhitespace < laterChars.length) {
220
+ hasWordsInLaterLines = true;
221
+ break;
222
+ }
223
+ }
224
+ // If no words in later lines, return the empty line
225
+ if (!hasWordsInLaterLines) {
226
+ return { row, col: 0 };
227
+ }
228
+ continue;
229
+ }
230
+ // Find first non-whitespace
231
+ let firstNonWhitespace = 0;
232
+ while (firstNonWhitespace < chars.length &&
233
+ isWhitespace(chars[firstNonWhitespace])) {
234
+ firstNonWhitespace++;
235
+ }
236
+ if (firstNonWhitespace < chars.length) {
237
+ if (searchForWordStart) {
238
+ return { row, col: firstNonWhitespace };
239
+ }
240
+ else {
241
+ // For word end, find the end of the first word
242
+ const endCol = findWordEndInLine(line, firstNonWhitespace);
243
+ if (endCol !== null) {
244
+ return { row, col: endCol };
245
+ }
246
+ }
247
+ }
248
+ }
249
+ return null;
128
250
  };
251
+ // Find previous word across lines
252
+ export const findPrevWordAcrossLines = (lines, cursorRow, cursorCol) => {
253
+ // First try current line
254
+ const currentLine = lines[cursorRow] || '';
255
+ const colInCurrentLine = findPrevWordStartInLine(currentLine, cursorCol);
256
+ if (colInCurrentLine !== null) {
257
+ return { row: cursorRow, col: colInCurrentLine };
258
+ }
259
+ // Search previous lines
260
+ for (let row = cursorRow - 1; row >= 0; row--) {
261
+ const line = lines[row] || '';
262
+ const chars = toCodePoints(line);
263
+ if (chars.length === 0)
264
+ continue;
265
+ // Find last word start
266
+ let lastWordStart = chars.length;
267
+ while (lastWordStart > 0 && isWhitespace(chars[lastWordStart - 1])) {
268
+ lastWordStart--;
269
+ }
270
+ if (lastWordStart > 0) {
271
+ // Find start of this word
272
+ const wordStart = findPrevWordStartInLine(line, lastWordStart);
273
+ if (wordStart !== null) {
274
+ return { row, col: wordStart };
275
+ }
276
+ }
277
+ }
278
+ return null;
279
+ };
280
+ // Helper functions for vim line operations
129
281
  export const getPositionFromOffsets = (startOffset, endOffset, lines) => {
130
282
  let offset = 0;
131
283
  let startRow = 0;
@@ -218,27 +370,6 @@ export const replaceRangeInternal = (state, startRow, startCol, endRow, endCol,
218
370
  preferredCol: null,
219
371
  };
220
372
  };
221
- /**
222
- * Strip characters that can break terminal rendering.
223
- *
224
- * Strip ANSI escape codes and control characters except for line breaks.
225
- * Control characters such as delete break terminal UI rendering.
226
- */
227
- function stripUnsafeCharacters(str) {
228
- const stripped = stripAnsi(str);
229
- return toCodePoints(stripped)
230
- .filter((char) => {
231
- if (char.length > 1)
232
- return false;
233
- const code = char.codePointAt(0);
234
- if (code === undefined) {
235
- return false;
236
- }
237
- const isUnsafe = code === 127 || (code <= 31 && code !== 13 && code !== 10);
238
- return !isUnsafe;
239
- })
240
- .join('');
241
- }
242
373
  function clamp(v, min, max) {
243
374
  return v < min ? min : v > max ? max : v;
244
375
  }
@@ -323,12 +454,12 @@ export function logicalPosToOffset(lines, row, col) {
323
454
  }
324
455
  return offset;
325
456
  }
326
- // Helper to calculate visual lines and map cursor positions
327
- function calculateVisualLayout(logicalLines, logicalCursor, viewportWidth) {
457
+ // Calculates the visual wrapping of lines and the mapping between logical and visual coordinates.
458
+ // This is an expensive operation and should be memoized.
459
+ function calculateLayout(logicalLines, viewportWidth) {
328
460
  const visualLines = [];
329
461
  const logicalToVisualMap = [];
330
462
  const visualToLogicalMap = [];
331
- let currentVisualCursor = [0, 0];
332
463
  logicalLines.forEach((logLine, logIndex) => {
333
464
  logicalToVisualMap[logIndex] = [];
334
465
  if (logLine.length === 0) {
@@ -336,9 +467,6 @@ function calculateVisualLayout(logicalLines, logicalCursor, viewportWidth) {
336
467
  logicalToVisualMap[logIndex].push([visualLines.length, 0]);
337
468
  visualToLogicalMap.push([logIndex, 0]);
338
469
  visualLines.push('');
339
- if (logIndex === logicalCursor[0] && logicalCursor[1] === 0) {
340
- currentVisualCursor = [visualLines.length - 1, 0];
341
- }
342
470
  }
343
471
  else {
344
472
  // Non-empty logical line
@@ -353,7 +481,7 @@ function calculateVisualLayout(logicalLines, logicalCursor, viewportWidth) {
353
481
  // Iterate through code points to build the current visual line (chunk)
354
482
  for (let i = currentPosInLogLine; i < codePointsInLogLine.length; i++) {
355
483
  const char = codePointsInLogLine[i];
356
- const charVisualWidth = stringWidth(char);
484
+ const charVisualWidth = getCachedStringWidth(char);
357
485
  if (currentChunkVisualWidth + charVisualWidth > viewportWidth) {
358
486
  // Character would exceed viewport width
359
487
  if (lastWordBreakPoint !== -1 &&
@@ -419,27 +547,6 @@ function calculateVisualLayout(logicalLines, logicalCursor, viewportWidth) {
419
547
  ]);
420
548
  visualToLogicalMap.push([logIndex, currentPosInLogLine]);
421
549
  visualLines.push(currentChunk);
422
- // Cursor mapping logic
423
- // Note: currentPosInLogLine here is the start of the currentChunk within the logical line.
424
- if (logIndex === logicalCursor[0]) {
425
- const cursorLogCol = logicalCursor[1]; // This is a code point index
426
- if (cursorLogCol >= currentPosInLogLine &&
427
- cursorLogCol < currentPosInLogLine + numCodePointsInChunk // Cursor is within this chunk
428
- ) {
429
- currentVisualCursor = [
430
- visualLines.length - 1,
431
- cursorLogCol - currentPosInLogLine, // Visual col is also code point index within visual line
432
- ];
433
- }
434
- else if (cursorLogCol === currentPosInLogLine + numCodePointsInChunk &&
435
- numCodePointsInChunk > 0) {
436
- // Cursor is exactly at the end of this non-empty chunk
437
- currentVisualCursor = [
438
- visualLines.length - 1,
439
- numCodePointsInChunk,
440
- ];
441
- }
442
- }
443
550
  const logicalStartOfThisChunk = currentPosInLogLine;
444
551
  currentPosInLogLine += numCodePointsInChunk;
445
552
  // If the chunk processed did not consume the entire logical line,
@@ -452,20 +559,6 @@ function calculateVisualLayout(logicalLines, logicalCursor, viewportWidth) {
452
559
  currentPosInLogLine++;
453
560
  }
454
561
  }
455
- // After all chunks of a non-empty logical line are processed,
456
- // if the cursor is at the very end of this logical line, update visual cursor.
457
- if (logIndex === logicalCursor[0] &&
458
- logicalCursor[1] === codePointsInLogLine.length // Cursor at end of logical line
459
- ) {
460
- const lastVisualLineIdx = visualLines.length - 1;
461
- if (lastVisualLineIdx >= 0 &&
462
- visualLines[lastVisualLineIdx] !== undefined) {
463
- currentVisualCursor = [
464
- lastVisualLineIdx,
465
- cpLen(visualLines[lastVisualLineIdx]), // Cursor at end of last visual line for this logical line
466
- ];
467
- }
468
- }
469
562
  }
470
563
  });
471
564
  // If the entire logical text was empty, ensure there's one empty visual line.
@@ -478,23 +571,46 @@ function calculateVisualLayout(logicalLines, logicalCursor, viewportWidth) {
478
571
  logicalToVisualMap[0].push([0, 0]);
479
572
  visualToLogicalMap.push([0, 0]);
480
573
  }
481
- currentVisualCursor = [0, 0];
482
- }
483
- // Handle cursor at the very end of the text (after all processing)
484
- // This case might be covered by the loop end condition now, but kept for safety.
485
- else if (logicalCursor[0] === logicalLines.length - 1 &&
486
- logicalCursor[1] === cpLen(logicalLines[logicalLines.length - 1]) &&
487
- visualLines.length > 0) {
488
- const lastVisLineIdx = visualLines.length - 1;
489
- currentVisualCursor = [lastVisLineIdx, cpLen(visualLines[lastVisLineIdx])];
490
574
  }
491
575
  return {
492
576
  visualLines,
493
- visualCursor: currentVisualCursor,
494
577
  logicalToVisualMap,
495
578
  visualToLogicalMap,
496
579
  };
497
580
  }
581
+ // Calculates the visual cursor position based on a pre-calculated layout.
582
+ // This is a lightweight operation.
583
+ function calculateVisualCursorFromLayout(layout, logicalCursor) {
584
+ const { logicalToVisualMap, visualLines } = layout;
585
+ const [logicalRow, logicalCol] = logicalCursor;
586
+ const segmentsForLogicalLine = logicalToVisualMap[logicalRow];
587
+ if (!segmentsForLogicalLine || segmentsForLogicalLine.length === 0) {
588
+ // This can happen for an empty document.
589
+ return [0, 0];
590
+ }
591
+ // Find the segment where the logical column fits.
592
+ // The segments are sorted by startColInLogical.
593
+ let targetSegmentIndex = segmentsForLogicalLine.findIndex(([, startColInLogical], index) => {
594
+ const nextStartColInLogical = index + 1 < segmentsForLogicalLine.length
595
+ ? segmentsForLogicalLine[index + 1][1]
596
+ : Infinity;
597
+ return (logicalCol >= startColInLogical && logicalCol < nextStartColInLogical);
598
+ });
599
+ // If not found, it means the cursor is at the end of the logical line.
600
+ if (targetSegmentIndex === -1) {
601
+ if (logicalCol === 0) {
602
+ targetSegmentIndex = 0;
603
+ }
604
+ else {
605
+ targetSegmentIndex = segmentsForLogicalLine.length - 1;
606
+ }
607
+ }
608
+ const [visualRow, startColInLogical] = segmentsForLogicalLine[targetSegmentIndex];
609
+ const visualCol = logicalCol - startColInLogical;
610
+ // The visual column should not exceed the length of the visual line.
611
+ const clampedVisualCol = Math.min(visualCol, cpLen(visualLines[visualRow] ?? ''));
612
+ return [visualRow, clampedVisualCol];
613
+ }
498
614
  const historyLimit = 100;
499
615
  export const pushUndo = (currentState) => {
500
616
  const snapshot = {
@@ -508,7 +624,7 @@ export const pushUndo = (currentState) => {
508
624
  }
509
625
  return { ...currentState, undoStack: newStack, redoStack: [] };
510
626
  };
511
- export function textBufferReducer(state, action) {
627
+ function textBufferReducerLogic(state, action) {
512
628
  const pushUndoLocal = pushUndo;
513
629
  const currentLine = (r) => state.lines[r] ?? '';
514
630
  const currentLineLen = (r) => cpLen(currentLine(r));
@@ -595,68 +711,101 @@ export function textBufferReducer(state, action) {
595
711
  preferredCol: null,
596
712
  };
597
713
  }
598
- case 'set_viewport_width': {
599
- if (action.payload === state.viewportWidth) {
714
+ case 'set_viewport': {
715
+ const { width, height } = action.payload;
716
+ if (width === state.viewportWidth && height === state.viewportHeight) {
600
717
  return state;
601
718
  }
602
- return { ...state, viewportWidth: action.payload };
719
+ return {
720
+ ...state,
721
+ viewportWidth: width,
722
+ viewportHeight: height,
723
+ };
603
724
  }
604
725
  case 'move': {
605
726
  const { dir } = action.payload;
606
- const { lines, cursorRow, cursorCol, viewportWidth } = state;
607
- const visualLayout = calculateVisualLayout(lines, [cursorRow, cursorCol], viewportWidth);
608
- const { visualLines, visualCursor, visualToLogicalMap } = visualLayout;
609
- let newVisualRow = visualCursor[0];
610
- let newVisualCol = visualCursor[1];
611
- let newPreferredCol = state.preferredCol;
612
- const currentVisLineLen = cpLen(visualLines[newVisualRow] ?? '');
613
- switch (dir) {
614
- case 'left':
615
- newPreferredCol = null;
616
- if (newVisualCol > 0) {
617
- newVisualCol--;
618
- }
619
- else if (newVisualRow > 0) {
620
- newVisualRow--;
621
- newVisualCol = cpLen(visualLines[newVisualRow] ?? '');
622
- }
623
- break;
624
- case 'right':
625
- newPreferredCol = null;
626
- if (newVisualCol < currentVisLineLen) {
627
- newVisualCol++;
628
- }
629
- else if (newVisualRow < visualLines.length - 1) {
630
- newVisualRow++;
727
+ const { cursorRow, cursorCol, lines, visualLayout, preferredCol } = state;
728
+ // Visual movements
729
+ if (dir === 'left' ||
730
+ dir === 'right' ||
731
+ dir === 'up' ||
732
+ dir === 'down' ||
733
+ dir === 'home' ||
734
+ dir === 'end') {
735
+ const visualCursor = calculateVisualCursorFromLayout(visualLayout, [
736
+ cursorRow,
737
+ cursorCol,
738
+ ]);
739
+ const { visualLines, visualToLogicalMap } = visualLayout;
740
+ let newVisualRow = visualCursor[0];
741
+ let newVisualCol = visualCursor[1];
742
+ let newPreferredCol = preferredCol;
743
+ const currentVisLineLen = cpLen(visualLines[newVisualRow] ?? '');
744
+ switch (dir) {
745
+ case 'left':
746
+ newPreferredCol = null;
747
+ if (newVisualCol > 0) {
748
+ newVisualCol--;
749
+ }
750
+ else if (newVisualRow > 0) {
751
+ newVisualRow--;
752
+ newVisualCol = cpLen(visualLines[newVisualRow] ?? '');
753
+ }
754
+ break;
755
+ case 'right':
756
+ newPreferredCol = null;
757
+ if (newVisualCol < currentVisLineLen) {
758
+ newVisualCol++;
759
+ }
760
+ else if (newVisualRow < visualLines.length - 1) {
761
+ newVisualRow++;
762
+ newVisualCol = 0;
763
+ }
764
+ break;
765
+ case 'up':
766
+ if (newVisualRow > 0) {
767
+ if (newPreferredCol === null)
768
+ newPreferredCol = newVisualCol;
769
+ newVisualRow--;
770
+ newVisualCol = clamp(newPreferredCol, 0, cpLen(visualLines[newVisualRow] ?? ''));
771
+ }
772
+ break;
773
+ case 'down':
774
+ if (newVisualRow < visualLines.length - 1) {
775
+ if (newPreferredCol === null)
776
+ newPreferredCol = newVisualCol;
777
+ newVisualRow++;
778
+ newVisualCol = clamp(newPreferredCol, 0, cpLen(visualLines[newVisualRow] ?? ''));
779
+ }
780
+ break;
781
+ case 'home':
782
+ newPreferredCol = null;
631
783
  newVisualCol = 0;
784
+ break;
785
+ case 'end':
786
+ newPreferredCol = null;
787
+ newVisualCol = currentVisLineLen;
788
+ break;
789
+ default: {
790
+ const exhaustiveCheck = dir;
791
+ console.error(`Unknown visual movement direction: ${exhaustiveCheck}`);
792
+ return state;
632
793
  }
633
- break;
634
- case 'up':
635
- if (newVisualRow > 0) {
636
- if (newPreferredCol === null)
637
- newPreferredCol = newVisualCol;
638
- newVisualRow--;
639
- newVisualCol = clamp(newPreferredCol, 0, cpLen(visualLines[newVisualRow] ?? ''));
640
- }
641
- break;
642
- case 'down':
643
- if (newVisualRow < visualLines.length - 1) {
644
- if (newPreferredCol === null)
645
- newPreferredCol = newVisualCol;
646
- newVisualRow++;
647
- newVisualCol = clamp(newPreferredCol, 0, cpLen(visualLines[newVisualRow] ?? ''));
648
- }
649
- break;
650
- case 'home':
651
- newPreferredCol = null;
652
- newVisualCol = 0;
653
- break;
654
- case 'end':
655
- newPreferredCol = null;
656
- newVisualCol = currentVisLineLen;
657
- break;
794
+ }
795
+ if (visualToLogicalMap[newVisualRow]) {
796
+ const [logRow, logStartCol] = visualToLogicalMap[newVisualRow];
797
+ return {
798
+ ...state,
799
+ cursorRow: logRow,
800
+ cursorCol: clamp(logStartCol + newVisualCol, 0, cpLen(lines[logRow] ?? '')),
801
+ preferredCol: newPreferredCol,
802
+ };
803
+ }
804
+ return state;
805
+ }
806
+ // Logical movements
807
+ switch (dir) {
658
808
  case 'wordLeft': {
659
- const { cursorRow, cursorCol, lines } = state;
660
809
  if (cursorCol === 0 && cursorRow === 0)
661
810
  return state;
662
811
  let newCursorRow = cursorRow;
@@ -695,7 +844,6 @@ export function textBufferReducer(state, action) {
695
844
  };
696
845
  }
697
846
  case 'wordRight': {
698
- const { cursorRow, cursorCol, lines } = state;
699
847
  if (cursorRow === lines.length - 1 &&
700
848
  cursorCol === cpLen(lines[cursorRow] ?? '')) {
701
849
  return state;
@@ -724,18 +872,14 @@ export function textBufferReducer(state, action) {
724
872
  };
725
873
  }
726
874
  default:
727
- break;
728
- }
729
- if (visualToLogicalMap[newVisualRow]) {
730
- const [logRow, logStartCol] = visualToLogicalMap[newVisualRow];
731
- return {
732
- ...state,
733
- cursorRow: logRow,
734
- cursorCol: clamp(logStartCol + newVisualCol, 0, cpLen(state.lines[logRow] ?? '')),
735
- preferredCol: newPreferredCol,
736
- };
875
+ return state;
737
876
  }
738
- return state;
877
+ }
878
+ case 'set_cursor': {
879
+ return {
880
+ ...state,
881
+ ...action.payload,
882
+ };
739
883
  }
740
884
  case 'delete': {
741
885
  const { cursorRow, cursorCol, lines } = state;
@@ -746,7 +890,11 @@ export function textBufferReducer(state, action) {
746
890
  newLines[cursorRow] =
747
891
  cpSlice(lineContent, 0, cursorCol) +
748
892
  cpSlice(lineContent, cursorCol + 1);
749
- return { ...nextState, lines: newLines, preferredCol: null };
893
+ return {
894
+ ...nextState,
895
+ lines: newLines,
896
+ preferredCol: null,
897
+ };
750
898
  }
751
899
  else if (cursorRow < lines.length - 1) {
752
900
  const nextState = pushUndoLocal(state);
@@ -754,7 +902,11 @@ export function textBufferReducer(state, action) {
754
902
  const newLines = [...nextState.lines];
755
903
  newLines[cursorRow] = lineContent + nextLineContent;
756
904
  newLines.splice(cursorRow + 1, 1);
757
- return { ...nextState, lines: newLines, preferredCol: null };
905
+ return {
906
+ ...nextState,
907
+ lines: newLines,
908
+ preferredCol: null,
909
+ };
758
910
  }
759
911
  return state;
760
912
  }
@@ -762,78 +914,62 @@ export function textBufferReducer(state, action) {
762
914
  const { cursorRow, cursorCol } = state;
763
915
  if (cursorCol === 0 && cursorRow === 0)
764
916
  return state;
765
- if (cursorCol === 0) {
917
+ const nextState = pushUndoLocal(state);
918
+ const newLines = [...nextState.lines];
919
+ let newCursorRow = cursorRow;
920
+ let newCursorCol = cursorCol;
921
+ if (newCursorCol > 0) {
922
+ const lineContent = currentLine(newCursorRow);
923
+ const prevWordStart = findPrevWordStartInLine(lineContent, newCursorCol);
924
+ const start = prevWordStart === null ? 0 : prevWordStart;
925
+ newLines[newCursorRow] =
926
+ cpSlice(lineContent, 0, start) + cpSlice(lineContent, newCursorCol);
927
+ newCursorCol = start;
928
+ }
929
+ else {
766
930
  // Act as a backspace
767
- const nextState = pushUndoLocal(state);
768
931
  const prevLineContent = currentLine(cursorRow - 1);
769
932
  const currentLineContentVal = currentLine(cursorRow);
770
933
  const newCol = cpLen(prevLineContent);
771
- const newLines = [...nextState.lines];
772
934
  newLines[cursorRow - 1] = prevLineContent + currentLineContentVal;
773
935
  newLines.splice(cursorRow, 1);
774
- return {
775
- ...nextState,
776
- lines: newLines,
777
- cursorRow: cursorRow - 1,
778
- cursorCol: newCol,
779
- preferredCol: null,
780
- };
781
- }
782
- const nextState = pushUndoLocal(state);
783
- const lineContent = currentLine(cursorRow);
784
- const arr = toCodePoints(lineContent);
785
- let start = cursorCol;
786
- let onlySpaces = true;
787
- for (let i = 0; i < start; i++) {
788
- if (isWordChar(arr[i])) {
789
- onlySpaces = false;
790
- break;
791
- }
792
- }
793
- if (onlySpaces && start > 0) {
794
- start--;
795
- }
796
- else {
797
- while (start > 0 && !isWordChar(arr[start - 1]))
798
- start--;
799
- while (start > 0 && isWordChar(arr[start - 1]))
800
- start--;
936
+ newCursorRow--;
937
+ newCursorCol = newCol;
801
938
  }
802
- const newLines = [...nextState.lines];
803
- newLines[cursorRow] =
804
- cpSlice(lineContent, 0, start) + cpSlice(lineContent, cursorCol);
805
939
  return {
806
940
  ...nextState,
807
941
  lines: newLines,
808
- cursorCol: start,
942
+ cursorRow: newCursorRow,
943
+ cursorCol: newCursorCol,
809
944
  preferredCol: null,
810
945
  };
811
946
  }
812
947
  case 'delete_word_right': {
813
948
  const { cursorRow, cursorCol, lines } = state;
814
949
  const lineContent = currentLine(cursorRow);
815
- const arr = toCodePoints(lineContent);
816
- if (cursorCol >= arr.length && cursorRow === lines.length - 1)
950
+ const lineLen = cpLen(lineContent);
951
+ if (cursorCol >= lineLen && cursorRow === lines.length - 1) {
817
952
  return state;
818
- if (cursorCol >= arr.length) {
819
- // Act as a delete
820
- const nextState = pushUndoLocal(state);
953
+ }
954
+ const nextState = pushUndoLocal(state);
955
+ const newLines = [...nextState.lines];
956
+ if (cursorCol >= lineLen) {
957
+ // Act as a delete, joining with the next line
821
958
  const nextLineContent = currentLine(cursorRow + 1);
822
- const newLines = [...nextState.lines];
823
959
  newLines[cursorRow] = lineContent + nextLineContent;
824
960
  newLines.splice(cursorRow + 1, 1);
825
- return { ...nextState, lines: newLines, preferredCol: null };
826
961
  }
827
- const nextState = pushUndoLocal(state);
828
- let end = cursorCol;
829
- while (end < arr.length && !isWordChar(arr[end]))
830
- end++;
831
- while (end < arr.length && isWordChar(arr[end]))
832
- end++;
833
- const newLines = [...nextState.lines];
834
- newLines[cursorRow] =
835
- cpSlice(lineContent, 0, cursorCol) + cpSlice(lineContent, end);
836
- return { ...nextState, lines: newLines, preferredCol: null };
962
+ else {
963
+ const nextWordStart = findNextWordStartInLine(lineContent, cursorCol);
964
+ const end = nextWordStart === null ? lineLen : nextWordStart;
965
+ newLines[cursorRow] =
966
+ cpSlice(lineContent, 0, cursorCol) + cpSlice(lineContent, end);
967
+ }
968
+ return {
969
+ ...nextState,
970
+ lines: newLines,
971
+ preferredCol: null,
972
+ };
837
973
  }
838
974
  case 'kill_line_right': {
839
975
  const { cursorRow, cursorCol, lines } = state;
@@ -842,7 +978,10 @@ export function textBufferReducer(state, action) {
842
978
  const nextState = pushUndoLocal(state);
843
979
  const newLines = [...nextState.lines];
844
980
  newLines[cursorRow] = cpSlice(lineContent, 0, cursorCol);
845
- return { ...nextState, lines: newLines };
981
+ return {
982
+ ...nextState,
983
+ lines: newLines,
984
+ };
846
985
  }
847
986
  else if (cursorRow < lines.length - 1) {
848
987
  // Act as a delete
@@ -851,7 +990,11 @@ export function textBufferReducer(state, action) {
851
990
  const newLines = [...nextState.lines];
852
991
  newLines[cursorRow] = lineContent + nextLineContent;
853
992
  newLines.splice(cursorRow + 1, 1);
854
- return { ...nextState, lines: newLines, preferredCol: null };
993
+ return {
994
+ ...nextState,
995
+ lines: newLines,
996
+ preferredCol: null,
997
+ };
855
998
  }
856
999
  return state;
857
1000
  }
@@ -962,11 +1105,23 @@ export function textBufferReducer(state, action) {
962
1105
  }
963
1106
  }
964
1107
  }
1108
+ export function textBufferReducer(state, action) {
1109
+ const newState = textBufferReducerLogic(state, action);
1110
+ if (newState.lines !== state.lines ||
1111
+ newState.viewportWidth !== state.viewportWidth) {
1112
+ return {
1113
+ ...newState,
1114
+ visualLayout: calculateLayout(newState.lines, newState.viewportWidth),
1115
+ };
1116
+ }
1117
+ return newState;
1118
+ }
965
1119
  // --- End of reducer logic ---
966
1120
  export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewport, stdin, setRawMode, onChange, isValidPath, shellModeActive = false, }) {
967
1121
  const initialState = useMemo(() => {
968
1122
  const lines = initialText.split('\n');
969
1123
  const [initialCursorRow, initialCursorCol] = calculateInitialCursorPosition(lines.length === 0 ? [''] : lines, initialCursorOffset);
1124
+ const visualLayout = calculateLayout(lines.length === 0 ? [''] : lines, viewport.width);
970
1125
  return {
971
1126
  lines: lines.length === 0 ? [''] : lines,
972
1127
  cursorRow: initialCursorRow,
@@ -977,13 +1132,15 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
977
1132
  clipboard: null,
978
1133
  selectionAnchor: null,
979
1134
  viewportWidth: viewport.width,
1135
+ viewportHeight: viewport.height,
1136
+ visualLayout,
980
1137
  };
981
- }, [initialText, initialCursorOffset, viewport.width]);
1138
+ }, [initialText, initialCursorOffset, viewport.width, viewport.height]);
982
1139
  const [state, dispatch] = useReducer(textBufferReducer, initialState);
983
- const { lines, cursorRow, cursorCol, preferredCol, selectionAnchor } = state;
1140
+ const { lines, cursorRow, cursorCol, preferredCol, selectionAnchor, visualLayout, } = state;
984
1141
  const text = useMemo(() => lines.join('\n'), [lines]);
985
- const visualLayout = useMemo(() => calculateVisualLayout(lines, [cursorRow, cursorCol], state.viewportWidth), [lines, cursorRow, cursorCol, state.viewportWidth]);
986
- const { visualLines, visualCursor } = visualLayout;
1142
+ const visualCursor = useMemo(() => calculateVisualCursorFromLayout(visualLayout, [cursorRow, cursorCol]), [visualLayout, cursorRow, cursorCol]);
1143
+ const { visualLines, visualToLogicalMap } = visualLayout;
987
1144
  const [visualScrollRow, setVisualScrollRow] = useState(0);
988
1145
  useEffect(() => {
989
1146
  if (onChange) {
@@ -991,11 +1148,16 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
991
1148
  }
992
1149
  }, [text, onChange]);
993
1150
  useEffect(() => {
994
- dispatch({ type: 'set_viewport_width', payload: viewport.width });
995
- }, [viewport.width]);
1151
+ dispatch({
1152
+ type: 'set_viewport',
1153
+ payload: { width: viewport.width, height: viewport.height },
1154
+ });
1155
+ }, [viewport.width, viewport.height]);
996
1156
  // Update visual scroll (vertical)
997
1157
  useEffect(() => {
998
1158
  const { height } = viewport;
1159
+ const totalVisualLines = visualLines.length;
1160
+ const maxScrollStart = Math.max(0, totalVisualLines - height);
999
1161
  let newVisualScrollRow = visualScrollRow;
1000
1162
  if (visualCursor[0] < visualScrollRow) {
1001
1163
  newVisualScrollRow = visualCursor[0];
@@ -1003,10 +1165,13 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1003
1165
  else if (visualCursor[0] >= visualScrollRow + height) {
1004
1166
  newVisualScrollRow = visualCursor[0] - height + 1;
1005
1167
  }
1168
+ // When the number of visual lines shrinks (e.g., after widening the viewport),
1169
+ // ensure scroll never starts beyond the last valid start so we can render a full window.
1170
+ newVisualScrollRow = clamp(newVisualScrollRow, 0, maxScrollStart);
1006
1171
  if (newVisualScrollRow !== visualScrollRow) {
1007
1172
  setVisualScrollRow(newVisualScrollRow);
1008
1173
  }
1009
- }, [visualCursor, visualScrollRow, viewport]);
1174
+ }, [visualCursor, visualScrollRow, viewport, visualLines.length]);
1010
1175
  const insert = useCallback((ch, { paste = false } = {}) => {
1011
1176
  if (/[\n\r]/.test(ch)) {
1012
1177
  dispatch({ type: 'insert', payload: ch });
@@ -1054,7 +1219,7 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1054
1219
  }, []);
1055
1220
  const move = useCallback((dir) => {
1056
1221
  dispatch({ type: 'move', payload: { dir } });
1057
- }, []);
1222
+ }, [dispatch]);
1058
1223
  const undo = useCallback(() => {
1059
1224
  dispatch({ type: 'undo' });
1060
1225
  }, []);
@@ -1219,6 +1384,12 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1219
1384
  }, [text, stdin, setRawMode]);
1220
1385
  const handleInput = useCallback((key) => {
1221
1386
  const { sequence: input } = key;
1387
+ if (key.paste) {
1388
+ // Do not do any other processing on pastes so ensure we handle them
1389
+ // before all other cases.
1390
+ insert(input, { paste: key.paste });
1391
+ return;
1392
+ }
1222
1393
  if (key.name === 'return' ||
1223
1394
  input === '\r' ||
1224
1395
  input === '\n' ||
@@ -1266,10 +1437,24 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1266
1437
  backspace();
1267
1438
  else if (key.name === 'delete' || (key.ctrl && key.name === 'd'))
1268
1439
  del();
1440
+ else if (key.ctrl && !key.shift && key.name === 'z')
1441
+ undo();
1442
+ else if (key.ctrl && key.shift && key.name === 'z')
1443
+ redo();
1269
1444
  else if (input && !key.ctrl && !key.meta) {
1270
1445
  insert(input, { paste: key.paste });
1271
1446
  }
1272
- }, [newline, move, deleteWordLeft, deleteWordRight, backspace, del, insert]);
1447
+ }, [
1448
+ newline,
1449
+ move,
1450
+ deleteWordLeft,
1451
+ deleteWordRight,
1452
+ backspace,
1453
+ del,
1454
+ insert,
1455
+ undo,
1456
+ redo,
1457
+ ]);
1273
1458
  const renderedVisualLines = useMemo(() => visualLines.slice(visualScrollRow, visualScrollRow + viewport.height), [visualLines, visualScrollRow, viewport.height]);
1274
1459
  const replaceRange = useCallback((startRow, startCol, endRow, endCol, text) => {
1275
1460
  dispatch({
@@ -1285,7 +1470,7 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1285
1470
  const moveToOffset = useCallback((offset) => {
1286
1471
  dispatch({ type: 'move_to_offset', payload: { offset } });
1287
1472
  }, []);
1288
- const returnValue = {
1473
+ const returnValue = useMemo(() => ({
1289
1474
  lines,
1290
1475
  text,
1291
1476
  cursor: [cursorRow, cursorCol],
@@ -1295,6 +1480,7 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1295
1480
  viewportVisualLines: renderedVisualLines,
1296
1481
  visualCursor,
1297
1482
  visualScrollRow,
1483
+ visualToLogicalMap,
1298
1484
  setText,
1299
1485
  insert,
1300
1486
  newline,
@@ -1345,7 +1531,68 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1345
1531
  vimMoveToLastLine,
1346
1532
  vimMoveToLine,
1347
1533
  vimEscapeInsertMode,
1348
- };
1534
+ }), [
1535
+ lines,
1536
+ text,
1537
+ cursorRow,
1538
+ cursorCol,
1539
+ preferredCol,
1540
+ selectionAnchor,
1541
+ visualLines,
1542
+ renderedVisualLines,
1543
+ visualCursor,
1544
+ visualScrollRow,
1545
+ setText,
1546
+ insert,
1547
+ newline,
1548
+ backspace,
1549
+ del,
1550
+ move,
1551
+ undo,
1552
+ redo,
1553
+ replaceRange,
1554
+ replaceRangeByOffset,
1555
+ moveToOffset,
1556
+ deleteWordLeft,
1557
+ deleteWordRight,
1558
+ killLineRight,
1559
+ killLineLeft,
1560
+ handleInput,
1561
+ openInExternalEditor,
1562
+ vimDeleteWordForward,
1563
+ vimDeleteWordBackward,
1564
+ vimDeleteWordEnd,
1565
+ vimChangeWordForward,
1566
+ vimChangeWordBackward,
1567
+ vimChangeWordEnd,
1568
+ vimDeleteLine,
1569
+ vimChangeLine,
1570
+ vimDeleteToEndOfLine,
1571
+ vimChangeToEndOfLine,
1572
+ vimChangeMovement,
1573
+ vimMoveLeft,
1574
+ vimMoveRight,
1575
+ vimMoveUp,
1576
+ vimMoveDown,
1577
+ vimMoveWordForward,
1578
+ vimMoveWordBackward,
1579
+ vimMoveWordEnd,
1580
+ vimDeleteChar,
1581
+ vimInsertAtCursor,
1582
+ vimAppendAtCursor,
1583
+ vimOpenLineBelow,
1584
+ vimOpenLineAbove,
1585
+ vimAppendAtLineEnd,
1586
+ vimInsertAtLineStart,
1587
+ vimMoveToLineStart,
1588
+ vimMoveToLineEnd,
1589
+ vimMoveToFirstNonWhitespace,
1590
+ vimMoveToFirstLine,
1591
+ vimMoveToLastLine,
1592
+ vimMoveToLine,
1593
+ vimEscapeInsertMode,
1594
+ visualToLogicalMap,
1595
+ ]);
1349
1596
  return returnValue;
1350
1597
  }
1351
1598
  //# sourceMappingURL=text-buffer.js.map