@machina.ai/cell-cli 1.36.0-rc1 → 1.38.1-rc2

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 (580) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/package.json +4 -4
  4. package/dist/src/acp/acpClient.js +297 -32
  5. package/dist/src/acp/acpClient.js.map +1 -1
  6. package/dist/src/acp/acpClient.test.js +419 -19
  7. package/dist/src/acp/acpClient.test.js.map +1 -1
  8. package/dist/src/acp/acpResume.test.js +8 -0
  9. package/dist/src/acp/acpResume.test.js.map +1 -1
  10. package/dist/src/acp/commandHandler.js +4 -0
  11. package/dist/src/acp/commandHandler.js.map +1 -1
  12. package/dist/src/acp/commandHandler.test.js +4 -0
  13. package/dist/src/acp/commandHandler.test.js.map +1 -1
  14. package/dist/src/acp/commands/about.d.ts +11 -0
  15. package/dist/src/acp/commands/about.js +53 -0
  16. package/dist/src/acp/commands/about.js.map +1 -0
  17. package/dist/src/acp/commands/extensions.js +1 -1
  18. package/dist/src/acp/commands/extensions.js.map +1 -1
  19. package/dist/src/acp/commands/help.d.ts +14 -0
  20. package/dist/src/acp/commands/help.js +35 -0
  21. package/dist/src/acp/commands/help.js.map +1 -0
  22. package/dist/src/acp/commands/help.test.d.ts +6 -0
  23. package/dist/src/acp/commands/help.test.js +40 -0
  24. package/dist/src/acp/commands/help.test.js.map +1 -0
  25. package/dist/src/acp/commands/restore.js +2 -2
  26. package/dist/src/acp/commands/restore.js.map +1 -1
  27. package/dist/src/commands/extensions/new.js +1 -1
  28. package/dist/src/commands/extensions/new.js.map +1 -1
  29. package/dist/src/commands/mcp/list.js +2 -2
  30. package/dist/src/commands/mcp/list.js.map +1 -1
  31. package/dist/src/commands/mcp.test.js +1 -1
  32. package/dist/src/commands/mcp.test.js.map +1 -1
  33. package/dist/src/commands/skills/list.js +5 -8
  34. package/dist/src/commands/skills/list.js.map +1 -1
  35. package/dist/src/commands/skills/list.test.js +17 -13
  36. package/dist/src/commands/skills/list.test.js.map +1 -1
  37. package/dist/src/config/config.js +22 -9
  38. package/dist/src/config/config.js.map +1 -1
  39. package/dist/src/config/config.test.js +121 -36
  40. package/dist/src/config/config.test.js.map +1 -1
  41. package/dist/src/config/extension-manager-permissions.test.js +1 -1
  42. package/dist/src/config/extension-manager-permissions.test.js.map +1 -1
  43. package/dist/src/config/extension-manager-themes.spec.js +1 -0
  44. package/dist/src/config/extension-manager-themes.spec.js.map +1 -1
  45. package/dist/src/config/extension-manager.test.js +1 -1
  46. package/dist/src/config/extension-manager.test.js.map +1 -1
  47. package/dist/src/config/extension.js +1 -1
  48. package/dist/src/config/extension.js.map +1 -1
  49. package/dist/src/config/extensions/github.js +1 -1
  50. package/dist/src/config/extensions/github.js.map +1 -1
  51. package/dist/src/config/footerItems.d.ts +4 -0
  52. package/dist/src/config/footerItems.js +12 -2
  53. package/dist/src/config/footerItems.js.map +1 -1
  54. package/dist/src/config/footerItems.test.js +129 -72
  55. package/dist/src/config/footerItems.test.js.map +1 -1
  56. package/dist/src/config/policy-engine.integration.test.js +1 -3
  57. package/dist/src/config/policy-engine.integration.test.js.map +1 -1
  58. package/dist/src/config/policy.d.ts +1 -1
  59. package/dist/src/config/policy.js +2 -2
  60. package/dist/src/config/policy.js.map +1 -1
  61. package/dist/src/config/settings.js +19 -3
  62. package/dist/src/config/settings.js.map +1 -1
  63. package/dist/src/config/settingsSchema.d.ts +272 -53
  64. package/dist/src/config/settingsSchema.js +262 -48
  65. package/dist/src/config/settingsSchema.js.map +1 -1
  66. package/dist/src/config/settingsSchema.test.js +22 -4
  67. package/dist/src/config/settingsSchema.test.js.map +1 -1
  68. package/dist/src/config/workspace-policy-cli.test.js +7 -7
  69. package/dist/src/config/workspace-policy-cli.test.js.map +1 -1
  70. package/dist/src/gemini.js +24 -7
  71. package/dist/src/gemini.js.map +1 -1
  72. package/dist/src/gemini.test.js +74 -4
  73. package/dist/src/gemini.test.js.map +1 -1
  74. package/dist/src/gemini_cleanup.test.js +69 -4
  75. package/dist/src/gemini_cleanup.test.js.map +1 -1
  76. package/dist/src/generated/git-commit.d.ts +2 -2
  77. package/dist/src/generated/git-commit.js +2 -2
  78. package/dist/src/integration-tests/modelSteering.test.js +1 -1
  79. package/dist/src/integration-tests/modelSteering.test.js.map +1 -1
  80. package/dist/src/interactiveCli.js +4 -2
  81. package/dist/src/interactiveCli.js.map +1 -1
  82. package/dist/src/nonInteractiveCli.d.ts +1 -1
  83. package/dist/src/nonInteractiveCli.js +11 -2
  84. package/dist/src/nonInteractiveCli.js.map +1 -1
  85. package/dist/src/nonInteractiveCli.test.js +4 -2
  86. package/dist/src/nonInteractiveCli.test.js.map +1 -1
  87. package/dist/src/nonInteractiveCliAgentSession.d.ts +16 -0
  88. package/dist/src/nonInteractiveCliAgentSession.js +484 -0
  89. package/dist/src/nonInteractiveCliAgentSession.js.map +1 -0
  90. package/dist/src/nonInteractiveCliAgentSession.test.js +1837 -0
  91. package/dist/src/nonInteractiveCliAgentSession.test.js.map +1 -0
  92. package/dist/src/services/BuiltinCommandLoader.js +4 -2
  93. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  94. package/dist/src/test-utils/mockCommandContext.js +1 -0
  95. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  96. package/dist/src/test-utils/mockConfig.js +16 -0
  97. package/dist/src/test-utils/mockConfig.js.map +1 -1
  98. package/dist/src/test-utils/mockSpinner.d.ts +6 -0
  99. package/dist/src/test-utils/mockSpinner.js +21 -0
  100. package/dist/src/test-utils/mockSpinner.js.map +1 -0
  101. package/dist/src/test-utils/render.d.ts +8 -1
  102. package/dist/src/test-utils/render.js +37 -11
  103. package/dist/src/test-utils/render.js.map +1 -1
  104. package/dist/src/ui/App.test.js +1 -1
  105. package/dist/src/ui/App.test.js.map +1 -1
  106. package/dist/src/ui/AppContainer.js +225 -99
  107. package/dist/src/ui/AppContainer.js.map +1 -1
  108. package/dist/src/ui/AppContainer.test.js +50 -38
  109. package/dist/src/ui/AppContainer.test.js.map +1 -1
  110. package/dist/src/ui/commands/chatCommand.js +15 -5
  111. package/dist/src/ui/commands/chatCommand.js.map +1 -1
  112. package/dist/src/ui/commands/clearCommand.js +3 -1
  113. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  114. package/dist/src/ui/commands/directoryCommand.js +1 -1
  115. package/dist/src/ui/commands/directoryCommand.js.map +1 -1
  116. package/dist/src/ui/commands/extensionsCommand.js +22 -11
  117. package/dist/src/ui/commands/extensionsCommand.js.map +1 -1
  118. package/dist/src/ui/commands/marketplaceCommand.d.ts +7 -0
  119. package/dist/src/ui/commands/marketplaceCommand.js +135 -0
  120. package/dist/src/ui/commands/marketplaceCommand.js.map +1 -0
  121. package/dist/src/ui/commands/mcpCommand.js +26 -7
  122. package/dist/src/ui/commands/mcpCommand.js.map +1 -1
  123. package/dist/src/ui/commands/mcpCommand.test.js +26 -0
  124. package/dist/src/ui/commands/mcpCommand.test.js.map +1 -1
  125. package/dist/src/ui/commands/planCommand.js +9 -0
  126. package/dist/src/ui/commands/planCommand.js.map +1 -1
  127. package/dist/src/ui/commands/planCommand.test.js +29 -0
  128. package/dist/src/ui/commands/planCommand.test.js.map +1 -1
  129. package/dist/src/ui/commands/restoreCommand.js +1 -1
  130. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  131. package/dist/src/ui/commands/rewindCommand.js +3 -1
  132. package/dist/src/ui/commands/rewindCommand.js.map +1 -1
  133. package/dist/src/ui/commands/rewindCommand.test.js +1 -1
  134. package/dist/src/ui/commands/rewindCommand.test.js.map +1 -1
  135. package/dist/src/ui/commands/setupGithubCommand.js +5 -5
  136. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  137. package/dist/src/ui/commands/skillsCommand.js +11 -1
  138. package/dist/src/ui/commands/skillsCommand.js.map +1 -1
  139. package/dist/src/ui/commands/skillsCommand.test.js +1 -0
  140. package/dist/src/ui/commands/skillsCommand.test.js.map +1 -1
  141. package/dist/src/ui/commands/{shellsCommand.d.ts → tasksCommand.d.ts} +1 -1
  142. package/dist/src/ui/commands/{shellsCommand.js → tasksCommand.js} +6 -6
  143. package/dist/src/ui/commands/tasksCommand.js.map +1 -0
  144. package/dist/src/ui/commands/tasksCommand.test.js +30 -0
  145. package/dist/src/ui/commands/tasksCommand.test.js.map +1 -0
  146. package/dist/src/ui/commands/types.d.ts +9 -1
  147. package/dist/src/ui/components/AnsiOutput.js +7 -5
  148. package/dist/src/ui/components/AnsiOutput.js.map +1 -1
  149. package/dist/src/ui/components/AnsiOutput.test.js +13 -0
  150. package/dist/src/ui/components/AnsiOutput.test.js.map +1 -1
  151. package/dist/src/ui/components/AppHeader.js +11 -11
  152. package/dist/src/ui/components/AppHeader.js.map +1 -1
  153. package/dist/src/ui/components/AppHeader.test.js +6 -2
  154. package/dist/src/ui/components/AppHeader.test.js.map +1 -1
  155. package/dist/src/ui/components/AsciiArt.d.ts +6 -6
  156. package/dist/src/ui/components/AsciiArt.js +6 -6
  157. package/dist/src/ui/components/AskUserDialog.js +13 -13
  158. package/dist/src/ui/components/AskUserDialog.js.map +1 -1
  159. package/dist/src/ui/components/AskUserDialog.test.js +31 -0
  160. package/dist/src/ui/components/AskUserDialog.test.js.map +1 -1
  161. package/dist/src/ui/components/BackgroundTaskDisplay.d.ts +16 -0
  162. package/dist/src/ui/components/{BackgroundShellDisplay.js → BackgroundTaskDisplay.js} +12 -12
  163. package/dist/src/ui/components/BackgroundTaskDisplay.js.map +1 -0
  164. package/dist/src/ui/components/{BackgroundShellDisplay.test.js → BackgroundTaskDisplay.test.js} +26 -26
  165. package/dist/src/ui/components/BackgroundTaskDisplay.test.js.map +1 -0
  166. package/dist/src/ui/components/Composer.js +20 -208
  167. package/dist/src/ui/components/Composer.js.map +1 -1
  168. package/dist/src/ui/components/Composer.test.js +22 -17
  169. package/dist/src/ui/components/Composer.test.js.map +1 -1
  170. package/dist/src/ui/components/ContextSummaryDisplay.js +3 -1
  171. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  172. package/dist/src/ui/components/CopyModeWarning.js +3 -6
  173. package/dist/src/ui/components/CopyModeWarning.js.map +1 -1
  174. package/dist/src/ui/components/CopyModeWarning.test.js +7 -8
  175. package/dist/src/ui/components/CopyModeWarning.test.js.map +1 -1
  176. package/dist/src/ui/components/ExitPlanModeDialog.js +9 -0
  177. package/dist/src/ui/components/ExitPlanModeDialog.js.map +1 -1
  178. package/dist/src/ui/components/ExitPlanModeDialog.test.js +15 -3
  179. package/dist/src/ui/components/ExitPlanModeDialog.test.js.map +1 -1
  180. package/dist/src/ui/components/FolderTrustDialog.test.js +7 -8
  181. package/dist/src/ui/components/FolderTrustDialog.test.js.map +1 -1
  182. package/dist/src/ui/components/Footer.js +36 -9
  183. package/dist/src/ui/components/Footer.js.map +1 -1
  184. package/dist/src/ui/components/Footer.test.js +85 -6
  185. package/dist/src/ui/components/Footer.test.js.map +1 -1
  186. package/dist/src/ui/components/FooterConfigDialog.js +1 -0
  187. package/dist/src/ui/components/FooterConfigDialog.js.map +1 -1
  188. package/dist/src/ui/components/FooterConfigDialog.test.js +1 -1
  189. package/dist/src/ui/components/Help.test.js +1 -1
  190. package/dist/src/ui/components/Help.test.js.map +1 -1
  191. package/dist/src/ui/components/HistoryItemDisplay.d.ts +2 -0
  192. package/dist/src/ui/components/HistoryItemDisplay.js +14 -12
  193. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  194. package/dist/src/ui/components/InputPrompt.d.ts +10 -5
  195. package/dist/src/ui/components/InputPrompt.js +195 -90
  196. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  197. package/dist/src/ui/components/InputPrompt.test.d.ts +12 -1
  198. package/dist/src/ui/components/InputPrompt.test.js +370 -160
  199. package/dist/src/ui/components/InputPrompt.test.js.map +1 -1
  200. package/dist/src/ui/components/LoadingIndicator.js +1 -2
  201. package/dist/src/ui/components/LoadingIndicator.js.map +1 -1
  202. package/dist/src/ui/components/LoadingIndicator.test.js +7 -0
  203. package/dist/src/ui/components/LoadingIndicator.test.js.map +1 -1
  204. package/dist/src/ui/components/MainContent.d.ts +1 -1
  205. package/dist/src/ui/components/MainContent.js +105 -34
  206. package/dist/src/ui/components/MainContent.js.map +1 -1
  207. package/dist/src/ui/components/MainContent.test.js +12 -9
  208. package/dist/src/ui/components/MainContent.test.js.map +1 -1
  209. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +1 -0
  210. package/dist/src/ui/components/MemoryUsageDisplay.js +5 -2
  211. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -1
  212. package/dist/src/ui/components/ModelDialog.js +50 -72
  213. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  214. package/dist/src/ui/components/ModelDialog.test.js +1 -0
  215. package/dist/src/ui/components/ModelDialog.test.js.map +1 -1
  216. package/dist/src/ui/components/ModelQuotaDisplay.d.ts +18 -0
  217. package/dist/src/ui/components/ModelQuotaDisplay.js +104 -0
  218. package/dist/src/ui/components/ModelQuotaDisplay.js.map +1 -0
  219. package/dist/src/ui/components/ModelQuotaDisplay.test.d.ts +6 -0
  220. package/dist/src/ui/components/ModelQuotaDisplay.test.js +62 -0
  221. package/dist/src/ui/components/ModelQuotaDisplay.test.js.map +1 -0
  222. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js +1 -1
  223. package/dist/src/ui/components/PermissionsModifyTrustDialog.test.js.map +1 -1
  224. package/dist/src/ui/components/ProgressBar.d.ts +13 -0
  225. package/dist/src/ui/components/ProgressBar.js +17 -0
  226. package/dist/src/ui/components/ProgressBar.js.map +1 -0
  227. package/dist/src/ui/components/ProgressBar.test.d.ts +6 -0
  228. package/dist/src/ui/components/ProgressBar.test.js +28 -0
  229. package/dist/src/ui/components/ProgressBar.test.js.map +1 -0
  230. package/dist/src/ui/components/StatsDisplay.d.ts +2 -2
  231. package/dist/src/ui/components/StatsDisplay.js +47 -128
  232. package/dist/src/ui/components/StatsDisplay.js.map +1 -1
  233. package/dist/src/ui/components/StatsDisplay.test.js +65 -136
  234. package/dist/src/ui/components/StatsDisplay.test.js.map +1 -1
  235. package/dist/src/ui/components/StatusDisplay.js +1 -1
  236. package/dist/src/ui/components/StatusDisplay.js.map +1 -1
  237. package/dist/src/ui/components/StatusDisplay.test.js +3 -3
  238. package/dist/src/ui/components/StatusDisplay.test.js.map +1 -1
  239. package/dist/src/ui/components/StatusRow.d.ts +32 -0
  240. package/dist/src/ui/components/StatusRow.js +180 -0
  241. package/dist/src/ui/components/StatusRow.js.map +1 -0
  242. package/dist/src/ui/components/StatusRow.test.d.ts +6 -0
  243. package/dist/src/ui/components/StatusRow.test.js +99 -0
  244. package/dist/src/ui/components/StatusRow.test.js.map +1 -0
  245. package/dist/src/ui/components/ToastDisplay.d.ts +2 -1
  246. package/dist/src/ui/components/ToastDisplay.js +7 -5
  247. package/dist/src/ui/components/ToastDisplay.js.map +1 -1
  248. package/dist/src/ui/components/ToastDisplay.test.js +34 -20
  249. package/dist/src/ui/components/ToastDisplay.test.js.map +1 -1
  250. package/dist/src/ui/components/ToolConfirmationQueue.js +24 -9
  251. package/dist/src/ui/components/ToolConfirmationQueue.js.map +1 -1
  252. package/dist/src/ui/components/ToolConfirmationQueue.test.js +4 -6
  253. package/dist/src/ui/components/ToolConfirmationQueue.test.js.map +1 -1
  254. package/dist/src/ui/components/UserIdentity.js +8 -5
  255. package/dist/src/ui/components/UserIdentity.js.map +1 -1
  256. package/dist/src/ui/components/messages/DenseToolMessage.d.ts +13 -0
  257. package/dist/src/ui/components/messages/DenseToolMessage.js +270 -0
  258. package/dist/src/ui/components/messages/DenseToolMessage.js.map +1 -0
  259. package/dist/src/ui/components/messages/DenseToolMessage.test.d.ts +6 -0
  260. package/dist/src/ui/components/messages/DenseToolMessage.test.js +383 -0
  261. package/dist/src/ui/components/messages/DenseToolMessage.test.js.map +1 -0
  262. package/dist/src/ui/components/messages/DiffRenderer.d.ts +18 -0
  263. package/dist/src/ui/components/messages/DiffRenderer.js +54 -34
  264. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  265. package/dist/src/ui/components/messages/DiffRenderer.test.js +12 -6
  266. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +1 -1
  267. package/dist/src/ui/components/messages/InfoMessage.d.ts +1 -0
  268. package/dist/src/ui/components/messages/InfoMessage.js +2 -2
  269. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -1
  270. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js +1 -1
  271. package/dist/src/ui/components/messages/RedirectionConfirmation.test.js.map +1 -1
  272. package/dist/src/ui/components/messages/ShellToolMessage.test.js +44 -33
  273. package/dist/src/ui/components/messages/ShellToolMessage.test.js.map +1 -1
  274. package/dist/src/ui/components/messages/SubagentGroupDisplay.js +3 -2
  275. package/dist/src/ui/components/messages/SubagentGroupDisplay.js.map +1 -1
  276. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js +1 -1
  277. package/dist/src/ui/components/messages/SubagentGroupDisplay.test.js.map +1 -1
  278. package/dist/src/ui/components/messages/SubagentHistoryMessage.d.ts +13 -0
  279. package/dist/src/ui/components/messages/SubagentHistoryMessage.js +4 -0
  280. package/dist/src/ui/components/messages/SubagentHistoryMessage.js.map +1 -0
  281. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.d.ts +6 -0
  282. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js +68 -0
  283. package/dist/src/ui/components/messages/SubagentHistoryMessage.test.js.map +1 -0
  284. package/dist/src/ui/components/messages/SubagentProgressDisplay.d.ts +2 -1
  285. package/dist/src/ui/components/messages/SubagentProgressDisplay.js +2 -2
  286. package/dist/src/ui/components/messages/SubagentProgressDisplay.js.map +1 -1
  287. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js +0 -4
  288. package/dist/src/ui/components/messages/SubagentProgressDisplay.test.js.map +1 -1
  289. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +1 -0
  290. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +108 -70
  291. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  292. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +40 -25
  293. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +1 -1
  294. package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.d.ts +6 -0
  295. package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js +147 -0
  296. package/dist/src/ui/components/messages/ToolGroupMessage.compact.test.js.map +1 -0
  297. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +3 -0
  298. package/dist/src/ui/components/messages/ToolGroupMessage.js +219 -52
  299. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  300. package/dist/src/ui/components/messages/ToolGroupMessage.test.js +55 -3
  301. package/dist/src/ui/components/messages/ToolGroupMessage.test.js.map +1 -1
  302. package/dist/src/ui/components/messages/ToolMessage.test.js +8 -7
  303. package/dist/src/ui/components/messages/ToolMessage.test.js.map +1 -1
  304. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js +1 -1
  305. package/dist/src/ui/components/messages/ToolOverflowConsistencyChecks.test.js.map +1 -1
  306. package/dist/src/ui/components/messages/ToolResultDisplay.js +57 -15
  307. package/dist/src/ui/components/messages/ToolResultDisplay.js.map +1 -1
  308. package/dist/src/ui/components/messages/ToolResultDisplay.test.js +66 -3
  309. package/dist/src/ui/components/messages/ToolResultDisplay.test.js.map +1 -1
  310. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js +5 -4
  311. package/dist/src/ui/components/messages/ToolResultDisplayOverflow.test.js.map +1 -1
  312. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js +3 -3
  313. package/dist/src/ui/components/messages/ToolStickyHeaderRegression.test.js.map +1 -1
  314. package/dist/src/ui/components/messages/TopicMessage.d.ts +15 -0
  315. package/dist/src/ui/components/messages/TopicMessage.js +56 -0
  316. package/dist/src/ui/components/messages/TopicMessage.js.map +1 -0
  317. package/dist/src/ui/components/messages/TopicMessage.test.d.ts +6 -0
  318. package/dist/src/ui/components/messages/TopicMessage.test.js +77 -0
  319. package/dist/src/ui/components/messages/TopicMessage.test.js.map +1 -0
  320. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +1 -0
  321. package/dist/src/ui/components/shared/MaxSizedBox.js +10 -7
  322. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  323. package/dist/src/ui/components/shared/Scrollable.d.ts +3 -0
  324. package/dist/src/ui/components/shared/Scrollable.js +6 -2
  325. package/dist/src/ui/components/shared/Scrollable.js.map +1 -1
  326. package/dist/src/ui/components/shared/ScrollableList.d.ts +9 -12
  327. package/dist/src/ui/components/shared/ScrollableList.js +2 -2
  328. package/dist/src/ui/components/shared/ScrollableList.js.map +1 -1
  329. package/dist/src/ui/components/shared/VirtualizedList.d.ts +13 -1
  330. package/dist/src/ui/components/shared/VirtualizedList.js +148 -37
  331. package/dist/src/ui/components/shared/VirtualizedList.js.map +1 -1
  332. package/dist/src/ui/components/shared/VirtualizedList.test.js +1 -10
  333. package/dist/src/ui/components/shared/VirtualizedList.test.js.map +1 -1
  334. package/dist/src/ui/components/shared/text-buffer.d.ts +1 -0
  335. package/dist/src/ui/components/shared/text-buffer.js +19 -21
  336. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  337. package/dist/src/ui/components/views/ExtensionDetails.d.ts +4 -1
  338. package/dist/src/ui/components/views/ExtensionDetails.js +14 -4
  339. package/dist/src/ui/components/views/ExtensionDetails.js.map +1 -1
  340. package/dist/src/ui/components/views/ExtensionDetails.test.js +25 -1
  341. package/dist/src/ui/components/views/ExtensionDetails.test.js.map +1 -1
  342. package/dist/src/ui/components/views/ExtensionRegistryView.js +19 -5
  343. package/dist/src/ui/components/views/ExtensionRegistryView.js.map +1 -1
  344. package/dist/src/ui/components/views/ExtensionRegistryView.test.js +38 -0
  345. package/dist/src/ui/components/views/ExtensionRegistryView.test.js.map +1 -1
  346. package/dist/src/ui/components/views/SkillsList.js +2 -1
  347. package/dist/src/ui/components/views/SkillsList.js.map +1 -1
  348. package/dist/src/ui/components/views/SkillsList.test.js +3 -1
  349. package/dist/src/ui/components/views/SkillsList.test.js.map +1 -1
  350. package/dist/src/ui/constants/tips.js +2 -2
  351. package/dist/src/ui/constants/tips.js.map +1 -1
  352. package/dist/src/ui/constants.d.ts +6 -0
  353. package/dist/src/ui/constants.js +15 -0
  354. package/dist/src/ui/constants.js.map +1 -1
  355. package/dist/src/ui/contexts/InputContext.d.ts +17 -0
  356. package/dist/src/ui/contexts/InputContext.js +15 -0
  357. package/dist/src/ui/contexts/InputContext.js.map +1 -0
  358. package/dist/src/ui/contexts/KeypressContext.js +1 -1
  359. package/dist/src/ui/contexts/KeypressContext.js.map +1 -1
  360. package/dist/src/ui/contexts/KeypressContext.test.js +25 -1
  361. package/dist/src/ui/contexts/KeypressContext.test.js.map +1 -1
  362. package/dist/src/ui/contexts/ScrollProvider.js +25 -3
  363. package/dist/src/ui/contexts/ScrollProvider.js.map +1 -1
  364. package/dist/src/ui/contexts/ScrollProvider.test.js +100 -0
  365. package/dist/src/ui/contexts/ScrollProvider.test.js.map +1 -1
  366. package/dist/src/ui/contexts/SessionContext.d.ts +2 -2
  367. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  368. package/dist/src/ui/contexts/ToolActionsContext.d.ts +6 -0
  369. package/dist/src/ui/contexts/ToolActionsContext.js +19 -11
  370. package/dist/src/ui/contexts/ToolActionsContext.js.map +1 -1
  371. package/dist/src/ui/contexts/ToolActionsContext.test.js +90 -7
  372. package/dist/src/ui/contexts/ToolActionsContext.test.js.map +1 -1
  373. package/dist/src/ui/contexts/UIActionsContext.d.ts +4 -3
  374. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  375. package/dist/src/ui/contexts/UIStateContext.d.ts +10 -16
  376. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  377. package/dist/src/ui/hooks/atCommandProcessor.test.js +2 -1
  378. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +1 -1
  379. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js +2 -1
  380. package/dist/src/ui/hooks/atCommandProcessor_agents.test.js.map +1 -1
  381. package/dist/src/ui/hooks/shellReducer.d.ts +12 -10
  382. package/dist/src/ui/hooks/shellReducer.js +67 -37
  383. package/dist/src/ui/hooks/shellReducer.js.map +1 -1
  384. package/dist/src/ui/hooks/shellReducer.test.js +207 -36
  385. package/dist/src/ui/hooks/shellReducer.test.js.map +1 -1
  386. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +1 -1
  387. package/dist/src/ui/hooks/slashCommandProcessor.js +1 -1
  388. package/dist/src/ui/hooks/slashCommandProcessor.test.js +1 -1
  389. package/dist/src/ui/hooks/toolMapping.js +7 -0
  390. package/dist/src/ui/hooks/toolMapping.js.map +1 -1
  391. package/dist/src/ui/hooks/useAlternateBuffer.js +6 -1
  392. package/dist/src/ui/hooks/useAlternateBuffer.js.map +1 -1
  393. package/dist/src/ui/hooks/useAlternateBuffer.test.js +5 -0
  394. package/dist/src/ui/hooks/useAlternateBuffer.test.js.map +1 -1
  395. package/dist/src/ui/hooks/useAnimatedScrollbar.js +2 -2
  396. package/dist/src/ui/hooks/useAnimatedScrollbar.js.map +1 -1
  397. package/dist/src/ui/hooks/useAtCompletion.js +1 -1
  398. package/dist/src/ui/hooks/useAtCompletion.js.map +1 -1
  399. package/dist/src/ui/hooks/useBackgroundTaskManager.d.ts +22 -0
  400. package/dist/src/ui/hooks/useBackgroundTaskManager.js +58 -0
  401. package/dist/src/ui/hooks/useBackgroundTaskManager.js.map +1 -0
  402. package/dist/src/ui/hooks/{useBackgroundShellManager.test.js → useBackgroundTaskManager.test.js} +50 -50
  403. package/dist/src/ui/hooks/useBackgroundTaskManager.test.js.map +1 -0
  404. package/dist/src/ui/hooks/useBanner.d.ts +1 -0
  405. package/dist/src/ui/hooks/useBanner.js +16 -9
  406. package/dist/src/ui/hooks/useBanner.js.map +1 -1
  407. package/dist/src/ui/hooks/useBanner.test.js +7 -4
  408. package/dist/src/ui/hooks/useBanner.test.js.map +1 -1
  409. package/dist/src/ui/hooks/useBatchedScroll.js +2 -2
  410. package/dist/src/ui/hooks/useBatchedScroll.js.map +1 -1
  411. package/dist/src/ui/hooks/useCommandCompletion.d.ts +2 -1
  412. package/dist/src/ui/hooks/useCommandCompletion.js +13 -3
  413. package/dist/src/ui/hooks/useCommandCompletion.js.map +1 -1
  414. package/dist/src/ui/hooks/useCommandCompletion.test.d.ts +1 -1
  415. package/dist/src/ui/hooks/useCommandCompletion.test.js +82 -6
  416. package/dist/src/ui/hooks/useCommandCompletion.test.js.map +1 -1
  417. package/dist/src/ui/hooks/useComposerStatus.d.ts +21 -0
  418. package/dist/src/ui/hooks/useComposerStatus.js +78 -0
  419. package/dist/src/ui/hooks/useComposerStatus.js.map +1 -0
  420. package/dist/src/ui/hooks/useConsoleMessages.test.js +2 -2
  421. package/dist/src/ui/hooks/useConsoleMessages.test.js.map +1 -1
  422. package/dist/src/ui/hooks/useExecutionLifecycle.d.ts +28 -0
  423. package/dist/src/ui/hooks/{shellCommandProcessor.js → useExecutionLifecycle.js} +140 -58
  424. package/dist/src/ui/hooks/useExecutionLifecycle.js.map +1 -0
  425. package/dist/src/ui/hooks/useExecutionLifecycle.test.d.ts +6 -0
  426. package/dist/src/ui/hooks/{shellCommandProcessor.test.js → useExecutionLifecycle.test.js} +123 -81
  427. package/dist/src/ui/hooks/useExecutionLifecycle.test.js.map +1 -0
  428. package/dist/src/ui/hooks/useFolderTrust.js +1 -1
  429. package/dist/src/ui/hooks/useFolderTrust.js.map +1 -1
  430. package/dist/src/ui/hooks/useFolderTrust.test.js +1 -1
  431. package/dist/src/ui/hooks/useFolderTrust.test.js.map +1 -1
  432. package/dist/src/ui/hooks/useGeminiStream.d.ts +6 -6
  433. package/dist/src/ui/hooks/useGeminiStream.js +140 -38
  434. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  435. package/dist/src/ui/hooks/useGeminiStream.test.js +176 -22
  436. package/dist/src/ui/hooks/useGeminiStream.test.js.map +1 -1
  437. package/dist/src/ui/hooks/useGitBranchName.js +2 -2
  438. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -1
  439. package/dist/src/ui/hooks/useLoadingIndicator.js +1 -1
  440. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -1
  441. package/dist/src/ui/hooks/useLoadingIndicator.test.js +10 -0
  442. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  443. package/dist/src/ui/hooks/usePermissionsModifyTrust.js +2 -2
  444. package/dist/src/ui/hooks/usePermissionsModifyTrust.js.map +1 -1
  445. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js +1 -1
  446. package/dist/src/ui/hooks/usePermissionsModifyTrust.test.js.map +1 -1
  447. package/dist/src/ui/hooks/usePhraseCycler.js +4 -2
  448. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  449. package/dist/src/ui/hooks/useSessionBrowser.d.ts +1 -1
  450. package/dist/src/ui/hooks/useSessionBrowser.js +2 -2
  451. package/dist/src/ui/hooks/useSessionBrowser.js.map +1 -1
  452. package/dist/src/ui/hooks/useSlashCompletion.d.ts +1 -1
  453. package/dist/src/ui/hooks/useSlashCompletion.js +37 -63
  454. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  455. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +1 -1
  456. package/dist/src/ui/hooks/useSlashCompletion.test.js +57 -47
  457. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  458. package/dist/src/ui/hooks/useToolScheduler.d.ts +2 -1
  459. package/dist/src/ui/hooks/useToolScheduler.js +55 -1
  460. package/dist/src/ui/hooks/useToolScheduler.js.map +1 -1
  461. package/dist/src/ui/hooks/useToolScheduler.test.js +107 -9
  462. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  463. package/dist/src/ui/key/keyBindings.d.ts +9 -1
  464. package/dist/src/ui/key/keyBindings.js +40 -3
  465. package/dist/src/ui/key/keyBindings.js.map +1 -1
  466. package/dist/src/ui/key/keyMatchers.test.js +12 -2
  467. package/dist/src/ui/key/keyMatchers.test.js.map +1 -1
  468. package/dist/src/ui/layouts/DefaultAppLayout.js +8 -6
  469. package/dist/src/ui/layouts/DefaultAppLayout.js.map +1 -1
  470. package/dist/src/ui/layouts/DefaultAppLayout.test.js +27 -22
  471. package/dist/src/ui/layouts/DefaultAppLayout.test.js.map +1 -1
  472. package/dist/src/ui/noninteractive/nonInteractiveUi.js +1 -1
  473. package/dist/src/ui/themes/builtin/dark/tokyonight-dark.d.ts +7 -0
  474. package/dist/src/ui/themes/builtin/dark/tokyonight-dark.js +147 -0
  475. package/dist/src/ui/themes/builtin/dark/tokyonight-dark.js.map +1 -0
  476. package/dist/src/ui/themes/theme-manager.js +2 -0
  477. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  478. package/dist/src/ui/themes/theme.js +1 -1
  479. package/dist/src/ui/themes/theme.js.map +1 -1
  480. package/dist/src/ui/types.d.ts +10 -2
  481. package/dist/src/ui/types.js.map +1 -1
  482. package/dist/src/ui/utils/CodeColorizer.d.ts +1 -0
  483. package/dist/src/ui/utils/CodeColorizer.js +17 -18
  484. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  485. package/dist/src/ui/utils/ConsolePatcher.d.ts +1 -0
  486. package/dist/src/ui/utils/ConsolePatcher.js +12 -5
  487. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -1
  488. package/dist/src/ui/utils/ConsolePatcher.test.d.ts +6 -0
  489. package/dist/src/ui/utils/ConsolePatcher.test.js +199 -0
  490. package/dist/src/ui/utils/ConsolePatcher.test.js.map +1 -0
  491. package/dist/src/ui/utils/TableRenderer.js +3 -3
  492. package/dist/src/ui/utils/TableRenderer.js.map +1 -1
  493. package/dist/src/ui/utils/borderStyles.d.ts +2 -2
  494. package/dist/src/ui/utils/borderStyles.js +2 -2
  495. package/dist/src/ui/utils/borderStyles.js.map +1 -1
  496. package/dist/src/ui/utils/directoryUtils.js +1 -1
  497. package/dist/src/ui/utils/directoryUtils.js.map +1 -1
  498. package/dist/src/ui/utils/fileUtils.d.ts +10 -0
  499. package/dist/src/ui/utils/fileUtils.js +17 -0
  500. package/dist/src/ui/utils/fileUtils.js.map +1 -0
  501. package/dist/src/ui/utils/terminalCapabilityManager.d.ts +1 -0
  502. package/dist/src/ui/utils/terminalCapabilityManager.js +8 -0
  503. package/dist/src/ui/utils/terminalCapabilityManager.js.map +1 -1
  504. package/dist/src/ui/utils/terminalCapabilityManager.test.js +38 -0
  505. package/dist/src/ui/utils/terminalCapabilityManager.test.js.map +1 -1
  506. package/dist/src/ui/utils/toolLayoutUtils.d.ts +1 -1
  507. package/dist/src/ui/utils/toolLayoutUtils.js +1 -1
  508. package/dist/src/ui/utils/ui-sizing.test.js +1 -0
  509. package/dist/src/ui/utils/ui-sizing.test.js.map +1 -1
  510. package/dist/src/ui/utils/updateCheck.d.ts +1 -0
  511. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  512. package/dist/src/utils/activityLogger.js +16 -0
  513. package/dist/src/utils/activityLogger.js.map +1 -1
  514. package/dist/src/utils/cleanup.js +12 -5
  515. package/dist/src/utils/cleanup.js.map +1 -1
  516. package/dist/src/utils/commands.js +15 -0
  517. package/dist/src/utils/commands.js.map +1 -1
  518. package/dist/src/utils/commands.test.js +79 -0
  519. package/dist/src/utils/commands.test.js.map +1 -1
  520. package/dist/src/utils/envVarResolver.d.ts +5 -2
  521. package/dist/src/utils/envVarResolver.js +15 -6
  522. package/dist/src/utils/envVarResolver.js.map +1 -1
  523. package/dist/src/utils/envVarResolver.test.js +41 -24
  524. package/dist/src/utils/envVarResolver.test.js.map +1 -1
  525. package/dist/src/utils/errors.js +4 -4
  526. package/dist/src/utils/errors.js.map +1 -1
  527. package/dist/src/utils/events.d.ts +3 -1
  528. package/dist/src/utils/events.js +1 -0
  529. package/dist/src/utils/events.js.map +1 -1
  530. package/dist/src/utils/gitUtils.js +4 -4
  531. package/dist/src/utils/gitUtils.js.map +1 -1
  532. package/dist/src/utils/handleAutoUpdate.js +10 -3
  533. package/dist/src/utils/handleAutoUpdate.js.map +1 -1
  534. package/dist/src/utils/handleAutoUpdate.test.js +8 -2
  535. package/dist/src/utils/handleAutoUpdate.test.js.map +1 -1
  536. package/dist/src/utils/installationInfo.js +1 -1
  537. package/dist/src/utils/installationInfo.js.map +1 -1
  538. package/dist/src/utils/jsonoutput.js +1 -1
  539. package/dist/src/utils/jsonoutput.js.map +1 -1
  540. package/dist/src/utils/sandboxUtils.js +1 -1
  541. package/dist/src/utils/sandboxUtils.js.map +1 -1
  542. package/dist/src/utils/sessionCleanup.js +7 -30
  543. package/dist/src/utils/sessionCleanup.js.map +1 -1
  544. package/dist/src/utils/sessionCleanup.test.js +3 -0
  545. package/dist/src/utils/sessionCleanup.test.js.map +1 -1
  546. package/dist/src/utils/sessionUtils.js +1 -0
  547. package/dist/src/utils/sessionUtils.js.map +1 -1
  548. package/dist/src/utils/sessionUtils.test.js +179 -3
  549. package/dist/src/utils/sessionUtils.test.js.map +1 -1
  550. package/dist/src/utils/sessions.js +1 -1
  551. package/dist/src/utils/sessions.js.map +1 -1
  552. package/dist/src/utils/skillUtils.js +3 -1
  553. package/dist/src/utils/skillUtils.js.map +1 -1
  554. package/dist/src/utils/skillUtils.test.js +4 -6
  555. package/dist/src/utils/skillUtils.test.js.map +1 -1
  556. package/dist/src/utils/terminalNotifications.js +2 -4
  557. package/dist/src/utils/terminalNotifications.js.map +1 -1
  558. package/dist/src/utils/terminalNotifications.test.js +5 -3
  559. package/dist/src/utils/terminalNotifications.test.js.map +1 -1
  560. package/dist/src/utils/userStartupWarnings.js +2 -2
  561. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  562. package/dist/tsconfig.tsbuildinfo +1 -1
  563. package/package.json +4 -4
  564. package/dist/src/ui/commands/shellsCommand.js.map +0 -1
  565. package/dist/src/ui/commands/shellsCommand.test.js +0 -29
  566. package/dist/src/ui/commands/shellsCommand.test.js.map +0 -1
  567. package/dist/src/ui/components/BackgroundShellDisplay.d.ts +0 -16
  568. package/dist/src/ui/components/BackgroundShellDisplay.js.map +0 -1
  569. package/dist/src/ui/components/BackgroundShellDisplay.test.js.map +0 -1
  570. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -28
  571. package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
  572. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +0 -1
  573. package/dist/src/ui/hooks/useBackgroundShellManager.d.ts +0 -22
  574. package/dist/src/ui/hooks/useBackgroundShellManager.js +0 -58
  575. package/dist/src/ui/hooks/useBackgroundShellManager.js.map +0 -1
  576. package/dist/src/ui/hooks/useBackgroundShellManager.test.js.map +0 -1
  577. /package/dist/src/{ui/commands/shellsCommand.test.d.ts → nonInteractiveCliAgentSession.test.d.ts} +0 -0
  578. /package/dist/src/ui/{components/BackgroundShellDisplay.test.d.ts → commands/tasksCommand.test.d.ts} +0 -0
  579. /package/dist/src/ui/{hooks/shellCommandProcessor.test.d.ts → components/BackgroundTaskDisplay.test.d.ts} +0 -0
  580. /package/dist/src/ui/hooks/{useBackgroundShellManager.test.d.ts → useBackgroundTaskManager.test.d.ts} +0 -0
@@ -4,11 +4,10 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  * Copyright 2025 Google LLC
5
5
  * SPDX-License-Identifier: Apache-2.0
6
6
  */
7
- import { useState, useRef, useLayoutEffect, forwardRef, useImperativeHandle, useMemo, useCallback, } from 'react';
7
+ import { useState, useRef, useLayoutEffect, forwardRef, useImperativeHandle, useMemo, useCallback, memo, } from 'react';
8
8
  import { theme } from '../../semantic-colors.js';
9
9
  import { useBatchedScroll } from '../../hooks/useBatchedScroll.js';
10
- import { useUIState } from '../../contexts/UIStateContext.js';
11
- import { Box, ResizeObserver } from 'ink';
10
+ import { Box, ResizeObserver, StaticRender } from 'ink';
12
11
  export const SCROLL_TO_ITEM_END = Number.MAX_SAFE_INTEGER;
13
12
  function findLastIndex(array, predicate) {
14
13
  for (let i = array.length - 1; i >= 0; i--) {
@@ -18,9 +17,17 @@ function findLastIndex(array, predicate) {
18
17
  }
19
18
  return -1;
20
19
  }
20
+ const VirtualizedListItem = memo(({ content, shouldBeStatic, width, containerWidth, itemKey, index, onSetRef, }) => {
21
+ const itemRef = useCallback((el) => {
22
+ onSetRef(index, el);
23
+ }, [index, onSetRef]);
24
+ return (_jsx(Box, { width: "100%", flexDirection: "column", flexShrink: 0, ref: itemRef, children: shouldBeStatic ? (_jsx(StaticRender, { width: typeof width === 'number' ? width : containerWidth, children: content }, itemKey +
25
+ '-static-' +
26
+ (typeof width === 'number' ? width : containerWidth))) : (content) }));
27
+ });
28
+ VirtualizedListItem.displayName = 'VirtualizedListItem';
21
29
  function VirtualizedList(props, ref) {
22
- const { data, renderItem, estimatedItemHeight, keyExtractor, initialScrollIndex, initialScrollOffsetInIndex, } = props;
23
- const { copyModeEnabled } = useUIState();
30
+ const { data, renderItem, estimatedItemHeight, keyExtractor, initialScrollIndex, initialScrollOffsetInIndex, renderStatic, isStatic, isStaticItem, width, overflowToBackbuffer, scrollbar = true, stableScrollback, copyModeEnabled = false, fixedItemHeight = false, } = props;
24
31
  const dataRef = useRef(data);
25
32
  useLayoutEffect(() => {
26
33
  dataRef.current = data;
@@ -42,6 +49,16 @@ function VirtualizedList(props, ref) {
42
49
  offset: initialScrollOffsetInIndex ?? 0,
43
50
  };
44
51
  }
52
+ if (typeof props.targetScrollIndex === 'number') {
53
+ // NOTE: When targetScrollIndex is specified, we rely on the component
54
+ // correctly tracking targetScrollIndex instead of initialScrollIndex.
55
+ // We set isInitialScrollSet.current = true inside the second layout effect
56
+ // to avoid it overwriting the targetScrollIndex.
57
+ return {
58
+ index: props.targetScrollIndex,
59
+ offset: 0,
60
+ };
61
+ }
45
62
  return { index: 0, offset: 0 };
46
63
  });
47
64
  const [isStickingToBottom, setIsStickingToBottom] = useState(() => {
@@ -53,11 +70,15 @@ function VirtualizedList(props, ref) {
53
70
  });
54
71
  const containerRef = useRef(null);
55
72
  const [containerHeight, setContainerHeight] = useState(0);
73
+ const [containerWidth, setContainerWidth] = useState(0);
56
74
  const itemRefs = useRef([]);
57
75
  const [heights, setHeights] = useState({});
58
76
  const isInitialScrollSet = useRef(false);
59
77
  const containerObserverRef = useRef(null);
60
78
  const nodeToKeyRef = useRef(new WeakMap());
79
+ const onSetRef = useCallback((index, el) => {
80
+ itemRefs.current[index] = el;
81
+ }, []);
61
82
  const containerRefCallback = useCallback((node) => {
62
83
  containerObserverRef.current?.disconnect();
63
84
  containerRef.current = node;
@@ -65,7 +86,10 @@ function VirtualizedList(props, ref) {
65
86
  const observer = new ResizeObserver((entries) => {
66
87
  const entry = entries[0];
67
88
  if (entry) {
68
- setContainerHeight(Math.round(entry.contentRect.height));
89
+ const newHeight = Math.round(entry.contentRect.height);
90
+ const newWidth = Math.round(entry.contentRect.width);
91
+ setContainerHeight((prev) => (prev !== newHeight ? newHeight : prev));
92
+ setContainerWidth((prev) => (prev !== newWidth ? newWidth : prev));
69
93
  }
70
94
  });
71
95
  observer.observe(node);
@@ -105,7 +129,7 @@ function VirtualizedList(props, ref) {
105
129
  }
106
130
  return { totalHeight, offsets };
107
131
  }, [heights, data, estimatedItemHeight, keyExtractor]);
108
- const scrollableContainerHeight = containerHeight;
132
+ const scrollableContainerHeight = props.containerHeight ?? containerHeight;
109
133
  const getAnchorForScrollTop = useCallback((scrollTop, offsets) => {
110
134
  const index = findLastIndex(offsets, (offset) => offset <= scrollTop);
111
135
  if (index === -1) {
@@ -113,6 +137,27 @@ function VirtualizedList(props, ref) {
113
137
  }
114
138
  return { index, offset: scrollTop - offsets[index] };
115
139
  }, []);
140
+ const [prevTargetScrollIndex, setPrevTargetScrollIndex] = useState(props.targetScrollIndex);
141
+ const prevOffsetsLength = useRef(offsets.length);
142
+ // NOTE: If targetScrollIndex is provided, and we haven't rendered items yet (offsets.length <= 1),
143
+ // we do NOT set scrollAnchor yet, because actualScrollTop wouldn't know the real offset!
144
+ // We wait until offsets populate.
145
+ if ((props.targetScrollIndex !== undefined &&
146
+ props.targetScrollIndex !== prevTargetScrollIndex &&
147
+ offsets.length > 1) ||
148
+ (props.targetScrollIndex !== undefined &&
149
+ prevOffsetsLength.current <= 1 &&
150
+ offsets.length > 1)) {
151
+ if (props.targetScrollIndex !== prevTargetScrollIndex) {
152
+ setPrevTargetScrollIndex(props.targetScrollIndex);
153
+ }
154
+ prevOffsetsLength.current = offsets.length;
155
+ setIsStickingToBottom(false);
156
+ setScrollAnchor({ index: props.targetScrollIndex, offset: 0 });
157
+ }
158
+ else {
159
+ prevOffsetsLength.current = offsets.length;
160
+ }
116
161
  const actualScrollTop = useMemo(() => {
117
162
  const offset = offsets[scrollAnchor.index];
118
163
  if (typeof offset !== 'number') {
@@ -146,16 +191,26 @@ function VirtualizedList(props, ref) {
146
191
  prevTotalHeight.current - prevContainerHeight.current - 1;
147
192
  const wasAtBottom = contentPreviouslyFit || wasScrolledToBottomPixels;
148
193
  if (wasAtBottom && actualScrollTop >= prevScrollTop.current) {
149
- setIsStickingToBottom(true);
194
+ if (!isStickingToBottom) {
195
+ setIsStickingToBottom(true);
196
+ }
150
197
  }
151
198
  const listGrew = data.length > prevDataLength.current;
152
199
  const containerChanged = prevContainerHeight.current !== scrollableContainerHeight;
153
- if ((listGrew && (isStickingToBottom || wasAtBottom)) ||
154
- (isStickingToBottom && containerChanged)) {
155
- setScrollAnchor({
156
- index: data.length > 0 ? data.length - 1 : 0,
157
- offset: SCROLL_TO_ITEM_END,
158
- });
200
+ // If targetScrollIndex is provided, we NEVER auto-snap to the bottom
201
+ // because the parent is explicitly managing the scroll position.
202
+ const shouldAutoScroll = props.targetScrollIndex === undefined;
203
+ if (shouldAutoScroll &&
204
+ ((listGrew && (isStickingToBottom || wasAtBottom)) ||
205
+ (isStickingToBottom && containerChanged))) {
206
+ const newIndex = data.length > 0 ? data.length - 1 : 0;
207
+ if (scrollAnchor.index !== newIndex ||
208
+ scrollAnchor.offset !== SCROLL_TO_ITEM_END) {
209
+ setScrollAnchor({
210
+ index: newIndex,
211
+ offset: SCROLL_TO_ITEM_END,
212
+ });
213
+ }
159
214
  if (!isStickingToBottom) {
160
215
  setIsStickingToBottom(true);
161
216
  }
@@ -163,11 +218,18 @@ function VirtualizedList(props, ref) {
163
218
  else if ((scrollAnchor.index >= data.length ||
164
219
  actualScrollTop > totalHeight - scrollableContainerHeight) &&
165
220
  data.length > 0) {
221
+ // We still clamp the scroll top if it's completely out of bounds
166
222
  const newScrollTop = Math.max(0, totalHeight - scrollableContainerHeight);
167
- setScrollAnchor(getAnchorForScrollTop(newScrollTop, offsets));
223
+ const newAnchor = getAnchorForScrollTop(newScrollTop, offsets);
224
+ if (scrollAnchor.index !== newAnchor.index ||
225
+ scrollAnchor.offset !== newAnchor.offset) {
226
+ setScrollAnchor(newAnchor);
227
+ }
168
228
  }
169
229
  else if (data.length === 0) {
170
- setScrollAnchor({ index: 0, offset: 0 });
230
+ if (scrollAnchor.index !== 0 || scrollAnchor.offset !== 0) {
231
+ setScrollAnchor({ index: 0, offset: 0 });
232
+ }
171
233
  }
172
234
  prevDataLength.current = data.length;
173
235
  prevTotalHeight.current = totalHeight;
@@ -179,15 +241,22 @@ function VirtualizedList(props, ref) {
179
241
  actualScrollTop,
180
242
  scrollableContainerHeight,
181
243
  scrollAnchor.index,
244
+ scrollAnchor.offset,
182
245
  getAnchorForScrollTop,
183
246
  offsets,
184
247
  isStickingToBottom,
248
+ props.targetScrollIndex,
185
249
  ]);
186
250
  useLayoutEffect(() => {
187
251
  if (isInitialScrollSet.current ||
188
252
  offsets.length <= 1 ||
189
253
  totalHeight <= 0 ||
190
- containerHeight <= 0) {
254
+ scrollableContainerHeight <= 0) {
255
+ return;
256
+ }
257
+ if (props.targetScrollIndex !== undefined) {
258
+ // If we are strictly driving from targetScrollIndex, do not apply initialScrollIndex
259
+ isInitialScrollSet.current = true;
191
260
  return;
192
261
  }
193
262
  if (typeof initialScrollIndex === 'number') {
@@ -215,24 +284,31 @@ function VirtualizedList(props, ref) {
215
284
  initialScrollOffsetInIndex,
216
285
  offsets,
217
286
  totalHeight,
218
- containerHeight,
287
+ scrollableContainerHeight,
219
288
  getAnchorForScrollTop,
220
289
  data.length,
221
290
  heights,
222
- scrollableContainerHeight,
291
+ props.targetScrollIndex,
223
292
  ]);
224
293
  const startIndex = Math.max(0, findLastIndex(offsets, (offset) => offset <= actualScrollTop) - 1);
225
- const endIndexOffset = offsets.findIndex((offset) => offset > actualScrollTop + scrollableContainerHeight);
294
+ const viewHeightForEndIndex = scrollableContainerHeight > 0 ? scrollableContainerHeight : 50;
295
+ const endIndexOffset = offsets.findIndex((offset) => offset > actualScrollTop + viewHeightForEndIndex);
226
296
  const endIndex = endIndexOffset === -1
227
297
  ? data.length - 1
228
298
  : Math.min(data.length - 1, endIndexOffset);
229
- const topSpacerHeight = offsets[startIndex] ?? 0;
230
- const bottomSpacerHeight = totalHeight - (offsets[endIndex + 1] ?? totalHeight);
299
+ const topSpacerHeight = renderStatic === true || overflowToBackbuffer === true
300
+ ? 0
301
+ : (offsets[startIndex] ?? 0);
302
+ const bottomSpacerHeight = renderStatic
303
+ ? 0
304
+ : totalHeight - (offsets[endIndex + 1] ?? totalHeight);
231
305
  // Maintain a stable set of observed nodes using useLayoutEffect
232
306
  const observedNodes = useRef(new Set());
233
307
  useLayoutEffect(() => {
234
308
  const currentNodes = new Set();
235
- for (let i = startIndex; i <= endIndex; i++) {
309
+ const observeStart = renderStatic || overflowToBackbuffer ? 0 : startIndex;
310
+ const observeEnd = renderStatic ? data.length - 1 : endIndex;
311
+ for (let i = observeStart; i <= observeEnd; i++) {
236
312
  const node = itemRefs.current[i];
237
313
  const item = data[i];
238
314
  if (node && item) {
@@ -240,28 +316,64 @@ function VirtualizedList(props, ref) {
240
316
  const key = keyExtractor(item, i);
241
317
  // Always update the key mapping because React can reuse nodes at different indices/keys
242
318
  nodeToKeyRef.current.set(node, key);
243
- if (!observedNodes.current.has(node)) {
319
+ if (!isStatic && !fixedItemHeight && !observedNodes.current.has(node)) {
244
320
  itemsObserver.observe(node);
245
321
  }
246
322
  }
247
323
  }
248
324
  for (const node of observedNodes.current) {
249
325
  if (!currentNodes.has(node)) {
250
- itemsObserver.unobserve(node);
326
+ if (!isStatic && !fixedItemHeight) {
327
+ itemsObserver.unobserve(node);
328
+ }
251
329
  nodeToKeyRef.current.delete(node);
252
330
  }
253
331
  }
254
332
  observedNodes.current = currentNodes;
255
333
  });
256
- const renderedItems = [];
257
- for (let i = startIndex; i <= endIndex; i++) {
258
- const item = data[i];
259
- if (item) {
260
- renderedItems.push(_jsx(Box, { width: "100%", flexDirection: "column", flexShrink: 0, ref: (el) => {
261
- itemRefs.current[i] = el;
262
- }, children: renderItem({ item, index: i }) }, keyExtractor(item, i)));
334
+ const renderRangeStart = renderStatic || overflowToBackbuffer ? 0 : startIndex;
335
+ const renderRangeEnd = renderStatic ? data.length - 1 : endIndex;
336
+ // Always evaluate shouldBeStatic, width, etc. if we have a known width from the prop.
337
+ // If containerHeight or containerWidth is 0 we defer rendering unless a static render or defined width overrides.
338
+ // Wait, if it's not static and no width we need to wait for measure.
339
+ // BUT the initial render MUST render *something* with a width if width prop is provided to avoid layout shifts.
340
+ // We MUST wait for containerHeight > 0 before rendering, especially if renderStatic is true.
341
+ // If containerHeight is 0, we will misclassify items as isOutsideViewport and permanently print them to StaticRender!
342
+ const isReady = containerHeight > 0 ||
343
+ process.env['NODE_ENV'] === 'test' ||
344
+ (width !== undefined && typeof width === 'number');
345
+ const renderedItems = useMemo(() => {
346
+ if (!isReady) {
347
+ return [];
263
348
  }
264
- }
349
+ const items = [];
350
+ for (let i = renderRangeStart; i <= renderRangeEnd; i++) {
351
+ const item = data[i];
352
+ if (item) {
353
+ const isOutsideViewport = i < startIndex || i > endIndex;
354
+ const shouldBeStatic = (renderStatic === true && isOutsideViewport) ||
355
+ isStaticItem?.(item, i) === true;
356
+ const content = renderItem({ item, index: i });
357
+ const key = keyExtractor(item, i);
358
+ items.push(_jsx(VirtualizedListItem, { itemKey: key, content: content, shouldBeStatic: shouldBeStatic, width: width, containerWidth: containerWidth, index: i, onSetRef: onSetRef }, key));
359
+ }
360
+ }
361
+ return items;
362
+ }, [
363
+ isReady,
364
+ renderRangeStart,
365
+ renderRangeEnd,
366
+ data,
367
+ startIndex,
368
+ endIndex,
369
+ renderStatic,
370
+ isStaticItem,
371
+ renderItem,
372
+ keyExtractor,
373
+ width,
374
+ containerWidth,
375
+ onSetRef,
376
+ ]);
265
377
  const { getScrollTop, setPendingScrollTop } = useBatchedScroll(scrollTop);
266
378
  useImperativeHandle(ref, () => ({
267
379
  scrollBy: (delta) => {
@@ -333,11 +445,11 @@ function VirtualizedList(props, ref) {
333
445
  },
334
446
  getScrollIndex: () => scrollAnchor.index,
335
447
  getScrollState: () => {
336
- const maxScroll = Math.max(0, totalHeight - containerHeight);
448
+ const maxScroll = Math.max(0, totalHeight - scrollableContainerHeight);
337
449
  return {
338
450
  scrollTop: Math.min(getScrollTop(), maxScroll),
339
451
  scrollHeight: totalHeight,
340
- innerHeight: containerHeight,
452
+ innerHeight: scrollableContainerHeight,
341
453
  };
342
454
  },
343
455
  }), [
@@ -349,9 +461,8 @@ function VirtualizedList(props, ref) {
349
461
  scrollableContainerHeight,
350
462
  getScrollTop,
351
463
  setPendingScrollTop,
352
- containerHeight,
353
464
  ]);
354
- return (_jsx(Box, { ref: containerRefCallback, overflowY: copyModeEnabled ? 'hidden' : 'scroll', overflowX: "hidden", scrollTop: copyModeEnabled ? 0 : scrollTop, scrollbarThumbColor: props.scrollbarThumbColor ?? theme.text.secondary, width: "100%", height: "100%", flexDirection: "column", paddingRight: copyModeEnabled ? 0 : 1, children: _jsxs(Box, { flexShrink: 0, width: "100%", flexDirection: "column", marginTop: copyModeEnabled ? -actualScrollTop : 0, children: [_jsx(Box, { height: topSpacerHeight, flexShrink: 0 }), renderedItems, _jsx(Box, { height: bottomSpacerHeight, flexShrink: 0 })] }) }));
465
+ return (_jsx(Box, { ref: containerRefCallback, overflowY: copyModeEnabled ? 'hidden' : 'scroll', overflowX: "hidden", scrollTop: copyModeEnabled ? 0 : scrollTop, scrollbarThumbColor: props.scrollbarThumbColor ?? theme.text.secondary, backgroundColor: props.backgroundColor, width: "100%", height: "100%", flexDirection: "column", paddingRight: copyModeEnabled ? 0 : 1, overflowToBackbuffer: overflowToBackbuffer, scrollbar: scrollbar, stableScrollback: stableScrollback, children: _jsxs(Box, { flexShrink: 0, width: "100%", flexDirection: "column", marginTop: copyModeEnabled ? -actualScrollTop : 0, children: [_jsx(Box, { height: topSpacerHeight, flexShrink: 0 }), renderedItems, _jsx(Box, { height: bottomSpacerHeight, flexShrink: 0 })] }) }));
355
466
  }
356
467
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
357
468
  const VirtualizedListWithForwardRef = forwardRef(VirtualizedList);
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedList.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/VirtualizedList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualizedList.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/VirtualizedList.tsx"],"names":[],"mappings":"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"}
@@ -10,11 +10,6 @@ import { VirtualizedList } from './VirtualizedList.js';
10
10
  import { Text, Box } from 'ink';
11
11
  import { createRef, act, useEffect, createContext, useContext, useState, } from 'react';
12
12
  import { describe, it, expect, vi, beforeEach } from 'vitest';
13
- vi.mock('../../contexts/UIStateContext.js', () => ({
14
- useUIState: vi.fn(() => ({
15
- copyModeEnabled: false,
16
- })),
17
- }));
18
13
  describe('<VirtualizedList />', () => {
19
14
  const keyExtractor = (item) => item;
20
15
  beforeEach(() => {
@@ -163,13 +158,9 @@ describe('<VirtualizedList />', () => {
163
158
  unmount();
164
159
  });
165
160
  it('renders correctly in copyModeEnabled when scrolled', async () => {
166
- const { useUIState } = await import('../../contexts/UIStateContext.js');
167
- vi.mocked(useUIState).mockReturnValue({
168
- copyModeEnabled: true,
169
- });
170
161
  const longData = Array.from({ length: 100 }, (_, i) => `Item ${i}`);
171
162
  // Use copy mode
172
- const { lastFrame, unmount } = await render(_jsx(Box, { height: 10, width: 100, children: _jsx(VirtualizedList, { data: longData, renderItem: ({ item }) => (_jsx(Box, { height: 1, children: _jsx(Text, { children: item }) })), keyExtractor: (item) => item, estimatedItemHeight: () => 1, initialScrollIndex: 50 }) }));
163
+ const { lastFrame, unmount } = await render(_jsx(Box, { height: 10, width: 100, children: _jsx(VirtualizedList, { data: longData, renderItem: ({ item }) => (_jsx(Box, { height: 1, children: _jsx(Text, { children: item }) })), keyExtractor: (item) => item, estimatedItemHeight: () => 1, initialScrollIndex: 50, copyModeEnabled: true }) }));
173
164
  // Item 50 should be visible
174
165
  expect(lastFrame()).toContain('Item 50');
175
166
  // And surrounding items
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/VirtualizedList.test.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VirtualizedList.test.js","sourceRoot":"","sources":["../../../../../src/ui/components/shared/VirtualizedList.test.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,eAAe,EAA2B,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EACL,SAAS,EACT,GAAG,EACH,SAAS,EACT,aAAa,EACb,UAAU,EACV,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAE9D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpE,2CAA2C;QAC3C,mDAAmD;QACnD,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE,CAAC,CACpD,KAAC,GAAG,IAAC,MAAM,EAAE,UAAU,YACrB,KAAC,IAAI,cAAE,IAAI,GAAQ,GACf,CACP,CAAC;QAEF,EAAE,CAAC,IAAI,CAAC;YACN;gBACE,IAAI,EAAE,KAAK;gBACX,kBAAkB,EAAE,SAAS;gBAC7B,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;gBAC7B,UAAU,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC;aACxD;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,kBAAkB,EAAE,EAAE;gBACtB,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;gBAC/B,UAAU,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC;aACxD;SACF,CAAC,CACA,oCAAoC,EACpC,KAAK,EAAE,EAAE,kBAAkB,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE;YACpD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CACzC,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAC,OAAO,YAC9C,KAAC,eAAe,IACd,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC,UAAU,EACrC,kBAAkB,EAAE,kBAAkB,GACtC,GACE,CACP,CAAC;YAEF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvB,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,CAAC,eAAe,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;QAEF,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CACnE,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAC,OAAO,YAC9C,KAAC,eAAe,IACd,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC,UAAU,EACrC,kBAAkB,EAAE,EAAE,GACtB,GACE,CACP,CAAC;YAEF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAEzC,YAAY;YACZ,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YACtD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,QAAQ,CACN,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAC,OAAO,YAC9C,KAAC,eAAe,IACd,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC,UAAU,GAGrC,GACE,CACP,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,cAAc,EAAE,CAAC;YAEvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACpC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACtC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,GAAG,GAAG,SAAS,EAA8B,CAAC;YACpD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CACzD,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAC,OAAO,YAC9C,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC,UAAU,GACrC,GACE,CACP,CAAC;YAEF,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAExC,2BAA2B;YAC3B,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;gBACnB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,MAAM,cAAc,EAAE,CAAC;YAEvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,IAAI,CAAC;YACN,EAAE,kBAAkB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE;YAClD,EAAE,kBAAkB,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,EAAE;YACpD,EAAE,kBAAkB,EAAE,GAAG,EAAE,oBAAoB,EAAE,CAAC,EAAE;SACrD,CAAC,CACA,yFAAyF,EACzF,KAAK,EAAE,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,EAAE,EAAE;YACrD,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,MAAM,cAAc,GAAG,CAAC,CAAC;YACzB,MAAM,cAAc,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE;gBACpD,SAAS,CAAC,GAAG,EAAE;oBACb,YAAY,EAAE,CAAC;oBACf,OAAO,GAAG,EAAE;wBACV,YAAY,EAAE,CAAC;oBACjB,CAAC,CAAC;gBACJ,CAAC,EAAE,EAAE,CAAC,CAAC;gBACP,OAAO,CACL,KAAC,GAAG,IAAC,MAAM,EAAE,cAAc,YACzB,KAAC,IAAI,cAAE,IAAI,GAAQ,GACf,CACP,CAAC;YACJ,CAAC,CAAC;YAEF,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAC7B,EAAE,MAAM,EAAE,IAAI,EAAE,EAChB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CACtB,CAAC;YAEF,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CACzC,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAC,OAAO,YAC9C,KAAC,eAAe,IACd,IAAI,EAAE,YAAY,EAClB,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,cAAc,IAAY,IAAI,EAAE,IAAI,IAAhB,IAAI,CAAgB,CAC1C,EACD,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC,cAAc,EACzC,kBAAkB,EAAE,kBAAkB,GACtC,GACE,CACP,CAAC;YAEF,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YAChC,OAAO,EAAE,CAAC;QACZ,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,WAAW,GAAG,aAAa,CAG9B;YACD,eAAe,EAAE,EAAE;YACnB,kBAAkB,EAAE,GAAG,EAAE,GAAE,CAAC;SAC7B,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,QAAQ,CAAC,EAAE;SAChB,CAAC,CAAC,CAAC;QAEJ,MAAM,eAAe,GAAG,CAAC,EACvB,IAAI,EACJ,KAAK,GAIN,EAAE,EAAE;YACH,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO,CACL,KAAC,GAAG,IAAC,MAAM,EAAE,MAAM,YACjB,KAAC,IAAI,cAAE,IAAI,CAAC,EAAE,GAAQ,GAClB,CACP,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;YAC3D,OAAO,CACL,MAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,eAAe,EAAE,kBAAkB,EAAE,aAClE,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,YACzB,KAAC,eAAe,IACd,IAAI,EAAE,KAAK,EACX,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAC/B,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAI,CAC9C,EACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,EAC/B,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,GAC5B,GACE,EAEN,KAAC,WAAW,IAAC,kBAAkB,EAAE,kBAAkB,GAAI,IAClC,CACxB,CAAC;QACJ,CAAC,CAAC;QAEF,IAAI,WAAW,GAAwB,GAAG,EAAE,GAAE,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,CAAC,EACnB,kBAAkB,GAGnB,EAAE,EAAE;YACH,WAAW,GAAG,kBAAkB,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;QAEF,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CACzD,KAAC,aAAa,KAAG,CAClB,CAAC;QAEF,6DAA6D;QAC7D,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAE5C,mCAAmC;QACnC,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,WAAW,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;QAEvB,sEAAsE;QACtE,MAAM,OAAO,CAAC,GAAG,EAAE;YACjB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2FAA2F,EAAE,KAAK,IAAI,EAAE;QACzG,MAAM,GAAG,GAAG,SAAS,EAA8B,CAAC;QACpD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,CAAC,CAAC;QACrB,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAE,EAAE,CAAC,CACpD,KAAC,GAAG,IAAC,MAAM,EAAE,UAAU,YACrB,KAAC,IAAI,cAAE,IAAI,GAAQ,GACf,CACP,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC;QAE5C,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAC9C,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,EAAC,OAAO,YAC9C,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,aAAa,EACzB,YAAY,EAAE,YAAY,EAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC,UAAU,GACrC,GACE,CACP,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;YACzB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;QAEvB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAExD,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE;YACnB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,MAAM,cAAc,EAAE,CAAC;QAEvB,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpE,gBAAgB;QAChB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CACzC,KAAC,GAAG,IAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,YACzB,KAAC,eAAe,IACd,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CACxB,KAAC,GAAG,IAAC,MAAM,EAAE,CAAC,YACZ,KAAC,IAAI,cAAE,IAAI,GAAQ,GACf,CACP,EACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAC5B,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC,EAC5B,kBAAkB,EAAE,EAAE,EACtB,eAAe,EAAE,IAAI,GACrB,GACE,CACP,CAAC;QAEF,4BAA4B;QAC5B,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzC,wBAAwB;QACxB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QACzC,sEAAsE;QACtE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC5C,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -526,6 +526,7 @@ export interface TextBuffer {
526
526
  viewportVisualLines: string[];
527
527
  visualCursor: [number, number];
528
528
  visualScrollRow: number;
529
+ viewportHeight: number;
529
530
  /**
530
531
  * For each visual line (by absolute index in allVisualLines) provides a tuple
531
532
  * [logicalLineIndex, startColInLogical] that maps where that visual line
@@ -1986,6 +1986,21 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1986
1986
  const visualCursor = useMemo(() => calculateVisualCursorFromLayout(visualLayout, [cursorRow, cursorCol]), [visualLayout, cursorRow, cursorCol]);
1987
1987
  const { visualLines, visualToLogicalMap, transformedToLogicalMaps, visualToTransformedMap, } = visualLayout;
1988
1988
  const [scrollRowState, setScrollRowState] = useState(0);
1989
+ const { height } = viewport;
1990
+ const totalVisualLines = visualLines.length;
1991
+ const maxScrollStart = Math.max(0, totalVisualLines - height);
1992
+ let newVisualScrollRow = scrollRowState;
1993
+ if (visualCursor[0] < scrollRowState) {
1994
+ newVisualScrollRow = visualCursor[0];
1995
+ }
1996
+ else if (visualCursor[0] >= scrollRowState + height) {
1997
+ newVisualScrollRow = visualCursor[0] - height + 1;
1998
+ }
1999
+ newVisualScrollRow = clamp(newVisualScrollRow, 0, maxScrollStart);
2000
+ if (newVisualScrollRow !== scrollRowState) {
2001
+ setScrollRowState(newVisualScrollRow);
2002
+ }
2003
+ const actualScrollRowState = newVisualScrollRow;
1989
2004
  useEffect(() => {
1990
2005
  if (onChange) {
1991
2006
  onChange(text);
@@ -1997,25 +2012,6 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
1997
2012
  payload: { width: viewport.width, height: viewport.height },
1998
2013
  });
1999
2014
  }, [viewport.width, viewport.height]);
2000
- // Update visual scroll (vertical)
2001
- useEffect(() => {
2002
- const { height } = viewport;
2003
- const totalVisualLines = visualLines.length;
2004
- const maxScrollStart = Math.max(0, totalVisualLines - height);
2005
- let newVisualScrollRow = scrollRowState;
2006
- if (visualCursor[0] < scrollRowState) {
2007
- newVisualScrollRow = visualCursor[0];
2008
- }
2009
- else if (visualCursor[0] >= scrollRowState + height) {
2010
- newVisualScrollRow = visualCursor[0] - height + 1;
2011
- }
2012
- // When the number of visual lines shrinks (e.g., after widening the viewport),
2013
- // ensure scroll never starts beyond the last valid start so we can render a full window.
2014
- newVisualScrollRow = clamp(newVisualScrollRow, 0, maxScrollStart);
2015
- if (newVisualScrollRow !== scrollRowState) {
2016
- setScrollRowState(newVisualScrollRow);
2017
- }
2018
- }, [visualCursor, scrollRowState, viewport, visualLines.length]);
2019
2015
  const insert = useCallback((ch, { paste = false } = {}) => {
2020
2016
  if (typeof ch !== 'string') {
2021
2017
  return;
@@ -2448,8 +2444,8 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
2448
2444
  ]);
2449
2445
  const visualScrollRow = useMemo(() => {
2450
2446
  const totalVisualLines = visualLines.length;
2451
- return Math.min(scrollRowState, Math.max(0, totalVisualLines - viewport.height));
2452
- }, [visualLines.length, scrollRowState, viewport.height]);
2447
+ return Math.min(actualScrollRowState, Math.max(0, totalVisualLines - viewport.height));
2448
+ }, [visualLines.length, actualScrollRowState, viewport.height]);
2453
2449
  const renderedVisualLines = useMemo(() => visualLines.slice(visualScrollRow, visualScrollRow + viewport.height), [visualLines, visualScrollRow, viewport.height]);
2454
2450
  const replaceRange = useCallback((startRow, startCol, endRow, endCol, text) => {
2455
2451
  dispatch({
@@ -2557,6 +2553,7 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
2557
2553
  viewportVisualLines: renderedVisualLines,
2558
2554
  visualCursor,
2559
2555
  visualScrollRow,
2556
+ viewportHeight: viewport.height,
2560
2557
  visualToLogicalMap,
2561
2558
  transformedToLogicalMaps,
2562
2559
  visualToTransformedMap,
@@ -2660,6 +2657,7 @@ export function useTextBuffer({ initialText = '', initialCursorOffset = 0, viewp
2660
2657
  renderedVisualLines,
2661
2658
  visualCursor,
2662
2659
  visualScrollRow,
2660
+ viewport.height,
2663
2661
  visualToLogicalMap,
2664
2662
  transformedToLogicalMaps,
2665
2663
  visualToTransformedMap,