fss-link 1.0.27 → 1.0.29

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 (879) hide show
  1. package/README.md +25 -8
  2. package/bundle/fss-link.js +27930 -0
  3. package/package.json +100 -47
  4. package/dist/.last_build +0 -0
  5. package/dist/index.d.ts +0 -7
  6. package/dist/index.js +0 -20
  7. package/dist/index.js.map +0 -1
  8. package/dist/package.json +0 -90
  9. package/dist/src/commands/mcp/add.d.ts +0 -7
  10. package/dist/src/commands/mcp/add.js +0 -166
  11. package/dist/src/commands/mcp/add.js.map +0 -1
  12. package/dist/src/commands/mcp/list.d.ts +0 -8
  13. package/dist/src/commands/mcp/list.js +0 -110
  14. package/dist/src/commands/mcp/list.js.map +0 -1
  15. package/dist/src/commands/mcp/remove.d.ts +0 -7
  16. package/dist/src/commands/mcp/remove.js +0 -44
  17. package/dist/src/commands/mcp/remove.js.map +0 -1
  18. package/dist/src/commands/mcp.d.ts +0 -7
  19. package/dist/src/commands/mcp.js +0 -23
  20. package/dist/src/commands/mcp.js.map +0 -1
  21. package/dist/src/config/auth.d.ts +0 -13
  22. package/dist/src/config/auth.js +0 -78
  23. package/dist/src/config/auth.js.map +0 -1
  24. package/dist/src/config/auth.test.d.ts +0 -6
  25. package/dist/src/config/auth.test.js +0 -61
  26. package/dist/src/config/auth.test.js.map +0 -1
  27. package/dist/src/config/config.d.ts +0 -45
  28. package/dist/src/config/config.js +0 -490
  29. package/dist/src/config/config.js.map +0 -1
  30. package/dist/src/config/database.d.ts +0 -101
  31. package/dist/src/config/database.js +0 -345
  32. package/dist/src/config/database.js.map +0 -1
  33. package/dist/src/config/extension.d.ts +0 -23
  34. package/dist/src/config/extension.js +0 -126
  35. package/dist/src/config/extension.js.map +0 -1
  36. package/dist/src/config/keyBindings.d.ts +0 -66
  37. package/dist/src/config/keyBindings.js +0 -141
  38. package/dist/src/config/keyBindings.js.map +0 -1
  39. package/dist/src/config/keyBindings.test.d.ts +0 -6
  40. package/dist/src/config/keyBindings.test.js +0 -51
  41. package/dist/src/config/keyBindings.test.js.map +0 -1
  42. package/dist/src/config/modelManager.d.ts +0 -84
  43. package/dist/src/config/modelManager.js +0 -234
  44. package/dist/src/config/modelManager.js.map +0 -1
  45. package/dist/src/config/sandboxConfig.d.ts +0 -13
  46. package/dist/src/config/sandboxConfig.js +0 -75
  47. package/dist/src/config/sandboxConfig.js.map +0 -1
  48. package/dist/src/config/settings.d.ts +0 -56
  49. package/dist/src/config/settings.js +0 -407
  50. package/dist/src/config/settings.js.map +0 -1
  51. package/dist/src/config/settingsSchema.d.ts +0 -694
  52. package/dist/src/config/settingsSchema.js +0 -670
  53. package/dist/src/config/settingsSchema.js.map +0 -1
  54. package/dist/src/config/settingsSchema.test.d.ts +0 -6
  55. package/dist/src/config/settingsSchema.test.js +0 -195
  56. package/dist/src/config/settingsSchema.test.js.map +0 -1
  57. package/dist/src/config/trustedFolders.d.ts +0 -37
  58. package/dist/src/config/trustedFolders.js +0 -118
  59. package/dist/src/config/trustedFolders.js.map +0 -1
  60. package/dist/src/config/trustedFolders.test.d.ts +0 -6
  61. package/dist/src/config/trustedFolders.test.js +0 -160
  62. package/dist/src/config/trustedFolders.test.js.map +0 -1
  63. package/dist/src/gemini.d.ts +0 -9
  64. package/dist/src/gemini.js +0 -263
  65. package/dist/src/gemini.js.map +0 -1
  66. package/dist/src/gemini.test.d.ts +0 -6
  67. package/dist/src/gemini.test.js +0 -193
  68. package/dist/src/gemini.test.js.map +0 -1
  69. package/dist/src/generated/git-commit.d.ts +0 -7
  70. package/dist/src/generated/git-commit.js +0 -10
  71. package/dist/src/generated/git-commit.js.map +0 -1
  72. package/dist/src/nonInteractiveCli.d.ts +0 -7
  73. package/dist/src/nonInteractiveCli.js +0 -103
  74. package/dist/src/nonInteractiveCli.js.map +0 -1
  75. package/dist/src/patches/is-in-ci.d.ts +0 -7
  76. package/dist/src/patches/is-in-ci.js +0 -15
  77. package/dist/src/patches/is-in-ci.js.map +0 -1
  78. package/dist/src/services/BuiltinCommandLoader.d.ts +0 -24
  79. package/dist/src/services/BuiltinCommandLoader.js +0 -90
  80. package/dist/src/services/BuiltinCommandLoader.js.map +0 -1
  81. package/dist/src/services/BuiltinCommandLoader.test.d.ts +0 -6
  82. package/dist/src/services/BuiltinCommandLoader.test.js +0 -108
  83. package/dist/src/services/BuiltinCommandLoader.test.js.map +0 -1
  84. package/dist/src/services/CommandService.d.ts +0 -55
  85. package/dist/src/services/CommandService.js +0 -90
  86. package/dist/src/services/CommandService.js.map +0 -1
  87. package/dist/src/services/CommandService.test.d.ts +0 -6
  88. package/dist/src/services/CommandService.test.js +0 -232
  89. package/dist/src/services/CommandService.test.js.map +0 -1
  90. package/dist/src/services/FileCommandLoader.d.ts +0 -49
  91. package/dist/src/services/FileCommandLoader.js +0 -210
  92. package/dist/src/services/FileCommandLoader.js.map +0 -1
  93. package/dist/src/services/McpPromptLoader.d.ts +0 -25
  94. package/dist/src/services/McpPromptLoader.js +0 -192
  95. package/dist/src/services/McpPromptLoader.js.map +0 -1
  96. package/dist/src/services/SearchEngineConfigProvider.d.ts +0 -33
  97. package/dist/src/services/SearchEngineConfigProvider.js +0 -82
  98. package/dist/src/services/SearchEngineConfigProvider.js.map +0 -1
  99. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +0 -16
  100. package/dist/src/services/prompt-processors/argumentProcessor.js +0 -20
  101. package/dist/src/services/prompt-processors/argumentProcessor.js.map +0 -1
  102. package/dist/src/services/prompt-processors/shellProcessor.d.ts +0 -35
  103. package/dist/src/services/prompt-processors/shellProcessor.js +0 -162
  104. package/dist/src/services/prompt-processors/shellProcessor.js.map +0 -1
  105. package/dist/src/services/prompt-processors/types.d.ts +0 -40
  106. package/dist/src/services/prompt-processors/types.js +0 -16
  107. package/dist/src/services/prompt-processors/types.js.map +0 -1
  108. package/dist/src/services/types.d.ts +0 -22
  109. package/dist/src/services/types.js +0 -7
  110. package/dist/src/services/types.js.map +0 -1
  111. package/dist/src/test-utils/customMatchers.d.ts +0 -14
  112. package/dist/src/test-utils/customMatchers.js +0 -46
  113. package/dist/src/test-utils/customMatchers.js.map +0 -1
  114. package/dist/src/test-utils/mockCommandContext.d.ts +0 -18
  115. package/dist/src/test-utils/mockCommandContext.js +0 -87
  116. package/dist/src/test-utils/mockCommandContext.js.map +0 -1
  117. package/dist/src/test-utils/mockCommandContext.test.d.ts +0 -6
  118. package/dist/src/test-utils/mockCommandContext.test.js +0 -51
  119. package/dist/src/test-utils/mockCommandContext.test.js.map +0 -1
  120. package/dist/src/test-utils/render.d.ts +0 -8
  121. package/dist/src/test-utils/render.js +0 -10
  122. package/dist/src/test-utils/render.js.map +0 -1
  123. package/dist/src/ui/App.d.ts +0 -15
  124. package/dist/src/ui/App.js +0 -703
  125. package/dist/src/ui/App.js.map +0 -1
  126. package/dist/src/ui/IdeIntegrationNudge.d.ts +0 -16
  127. package/dist/src/ui/IdeIntegrationNudge.js +0 -52
  128. package/dist/src/ui/IdeIntegrationNudge.js.map +0 -1
  129. package/dist/src/ui/colors.d.ts +0 -7
  130. package/dist/src/ui/colors.js +0 -54
  131. package/dist/src/ui/colors.js.map +0 -1
  132. package/dist/src/ui/commands/aboutCommand.d.ts +0 -7
  133. package/dist/src/ui/commands/aboutCommand.js +0 -43
  134. package/dist/src/ui/commands/aboutCommand.js.map +0 -1
  135. package/dist/src/ui/commands/authCommand.d.ts +0 -7
  136. package/dist/src/ui/commands/authCommand.js +0 -16
  137. package/dist/src/ui/commands/authCommand.js.map +0 -1
  138. package/dist/src/ui/commands/bugCommand.d.ts +0 -7
  139. package/dist/src/ui/commands/bugCommand.js +0 -71
  140. package/dist/src/ui/commands/bugCommand.js.map +0 -1
  141. package/dist/src/ui/commands/chatCommand.d.ts +0 -7
  142. package/dist/src/ui/commands/chatCommand.js +0 -234
  143. package/dist/src/ui/commands/chatCommand.js.map +0 -1
  144. package/dist/src/ui/commands/clearCommand.d.ts +0 -7
  145. package/dist/src/ui/commands/clearCommand.js +0 -27
  146. package/dist/src/ui/commands/clearCommand.js.map +0 -1
  147. package/dist/src/ui/commands/compressCommand.d.ts +0 -7
  148. package/dist/src/ui/commands/compressCommand.js +0 -64
  149. package/dist/src/ui/commands/compressCommand.js.map +0 -1
  150. package/dist/src/ui/commands/copyCommand.d.ts +0 -7
  151. package/dist/src/ui/commands/copyCommand.js +0 -59
  152. package/dist/src/ui/commands/copyCommand.js.map +0 -1
  153. package/dist/src/ui/commands/corgiCommand.d.ts +0 -7
  154. package/dist/src/ui/commands/corgiCommand.js +0 -15
  155. package/dist/src/ui/commands/corgiCommand.js.map +0 -1
  156. package/dist/src/ui/commands/directoryCommand.d.ts +0 -8
  157. package/dist/src/ui/commands/directoryCommand.js +0 -133
  158. package/dist/src/ui/commands/directoryCommand.js.map +0 -1
  159. package/dist/src/ui/commands/docsCommand.d.ts +0 -7
  160. package/dist/src/ui/commands/docsCommand.js +0 -31
  161. package/dist/src/ui/commands/docsCommand.js.map +0 -1
  162. package/dist/src/ui/commands/editorCommand.d.ts +0 -7
  163. package/dist/src/ui/commands/editorCommand.js +0 -16
  164. package/dist/src/ui/commands/editorCommand.js.map +0 -1
  165. package/dist/src/ui/commands/extensionsCommand.d.ts +0 -7
  166. package/dist/src/ui/commands/extensionsCommand.js +0 -31
  167. package/dist/src/ui/commands/extensionsCommand.js.map +0 -1
  168. package/dist/src/ui/commands/helpCommand.d.ts +0 -7
  169. package/dist/src/ui/commands/helpCommand.js +0 -21
  170. package/dist/src/ui/commands/helpCommand.js.map +0 -1
  171. package/dist/src/ui/commands/ideCommand.d.ts +0 -8
  172. package/dist/src/ui/commands/ideCommand.js +0 -218
  173. package/dist/src/ui/commands/ideCommand.js.map +0 -1
  174. package/dist/src/ui/commands/initCommand.d.ts +0 -7
  175. package/dist/src/ui/commands/initCommand.js +0 -105
  176. package/dist/src/ui/commands/initCommand.js.map +0 -1
  177. package/dist/src/ui/commands/mcpCommand.d.ts +0 -7
  178. package/dist/src/ui/commands/mcpCommand.js +0 -424
  179. package/dist/src/ui/commands/mcpCommand.js.map +0 -1
  180. package/dist/src/ui/commands/memoryCommand.d.ts +0 -7
  181. package/dist/src/ui/commands/memoryCommand.js +0 -224
  182. package/dist/src/ui/commands/memoryCommand.js.map +0 -1
  183. package/dist/src/ui/commands/privacyCommand.d.ts +0 -7
  184. package/dist/src/ui/commands/privacyCommand.js +0 -16
  185. package/dist/src/ui/commands/privacyCommand.js.map +0 -1
  186. package/dist/src/ui/commands/quitCommand.d.ts +0 -7
  187. package/dist/src/ui/commands/quitCommand.js +0 -34
  188. package/dist/src/ui/commands/quitCommand.js.map +0 -1
  189. package/dist/src/ui/commands/restoreCommand.d.ts +0 -8
  190. package/dist/src/ui/commands/restoreCommand.js +0 -128
  191. package/dist/src/ui/commands/restoreCommand.js.map +0 -1
  192. package/dist/src/ui/commands/searchEngineSetupCommand.d.ts +0 -7
  193. package/dist/src/ui/commands/searchEngineSetupCommand.js +0 -17
  194. package/dist/src/ui/commands/searchEngineSetupCommand.js.map +0 -1
  195. package/dist/src/ui/commands/settingsCommand.d.ts +0 -7
  196. package/dist/src/ui/commands/settingsCommand.js +0 -16
  197. package/dist/src/ui/commands/settingsCommand.js.map +0 -1
  198. package/dist/src/ui/commands/setupGithubCommand.d.ts +0 -9
  199. package/dist/src/ui/commands/setupGithubCommand.js +0 -154
  200. package/dist/src/ui/commands/setupGithubCommand.js.map +0 -1
  201. package/dist/src/ui/commands/setupGithubCommand.test.d.ts +0 -6
  202. package/dist/src/ui/commands/setupGithubCommand.test.js +0 -167
  203. package/dist/src/ui/commands/setupGithubCommand.test.js.map +0 -1
  204. package/dist/src/ui/commands/speakCommand.d.ts +0 -7
  205. package/dist/src/ui/commands/speakCommand.js +0 -136
  206. package/dist/src/ui/commands/speakCommand.js.map +0 -1
  207. package/dist/src/ui/commands/statsCommand.d.ts +0 -7
  208. package/dist/src/ui/commands/statsCommand.js +0 -54
  209. package/dist/src/ui/commands/statsCommand.js.map +0 -1
  210. package/dist/src/ui/commands/terminalSetupCommand.d.ts +0 -13
  211. package/dist/src/ui/commands/terminalSetupCommand.js +0 -41
  212. package/dist/src/ui/commands/terminalSetupCommand.js.map +0 -1
  213. package/dist/src/ui/commands/themeCommand.d.ts +0 -7
  214. package/dist/src/ui/commands/themeCommand.js +0 -16
  215. package/dist/src/ui/commands/themeCommand.js.map +0 -1
  216. package/dist/src/ui/commands/toolsCommand.d.ts +0 -7
  217. package/dist/src/ui/commands/toolsCommand.js +0 -56
  218. package/dist/src/ui/commands/toolsCommand.js.map +0 -1
  219. package/dist/src/ui/commands/ttsCommand.d.ts +0 -7
  220. package/dist/src/ui/commands/ttsCommand.js +0 -122
  221. package/dist/src/ui/commands/ttsCommand.js.map +0 -1
  222. package/dist/src/ui/commands/types.d.ts +0 -157
  223. package/dist/src/ui/commands/types.js +0 -12
  224. package/dist/src/ui/commands/types.js.map +0 -1
  225. package/dist/src/ui/commands/vimCommand.d.ts +0 -7
  226. package/dist/src/ui/commands/vimCommand.js +0 -23
  227. package/dist/src/ui/commands/vimCommand.js.map +0 -1
  228. package/dist/src/ui/commands/voiceCommand.d.ts +0 -7
  229. package/dist/src/ui/commands/voiceCommand.js +0 -95
  230. package/dist/src/ui/commands/voiceCommand.js.map +0 -1
  231. package/dist/src/ui/components/AboutBox.d.ts +0 -17
  232. package/dist/src/ui/components/AboutBox.js +0 -6
  233. package/dist/src/ui/components/AboutBox.js.map +0 -1
  234. package/dist/src/ui/components/AsciiArt.d.ts +0 -8
  235. package/dist/src/ui/components/AsciiArt.js +0 -53
  236. package/dist/src/ui/components/AsciiArt.js.map +0 -1
  237. package/dist/src/ui/components/AuthDialog.d.ts +0 -15
  238. package/dist/src/ui/components/AuthDialog.js +0 -151
  239. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  240. package/dist/src/ui/components/AuthDialog.test.d.ts +0 -6
  241. package/dist/src/ui/components/AuthDialog.test.js +0 -220
  242. package/dist/src/ui/components/AuthDialog.test.js.map +0 -1
  243. package/dist/src/ui/components/AuthInProgress.d.ts +0 -11
  244. package/dist/src/ui/components/AuthInProgress.js +0 -28
  245. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  246. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +0 -12
  247. package/dist/src/ui/components/AutoAcceptIndicator.js +0 -26
  248. package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
  249. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +0 -11
  250. package/dist/src/ui/components/ConsoleSummaryDisplay.js +0 -11
  251. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +0 -1
  252. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +0 -20
  253. package/dist/src/ui/components/ContextSummaryDisplay.js +0 -65
  254. package/dist/src/ui/components/ContextSummaryDisplay.js.map +0 -1
  255. package/dist/src/ui/components/ContextUsageDisplay.d.ts +0 -9
  256. package/dist/src/ui/components/ContextUsageDisplay.js +0 -14
  257. package/dist/src/ui/components/ContextUsageDisplay.js.map +0 -1
  258. package/dist/src/ui/components/DebugProfiler.d.ts +0 -6
  259. package/dist/src/ui/components/DebugProfiler.js +0 -27
  260. package/dist/src/ui/components/DebugProfiler.js.map +0 -1
  261. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +0 -14
  262. package/dist/src/ui/components/DetailedMessagesDisplay.js +0 -34
  263. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +0 -1
  264. package/dist/src/ui/components/EditorSettingsDialog.d.ts +0 -15
  265. package/dist/src/ui/components/EditorSettingsDialog.js +0 -74
  266. package/dist/src/ui/components/EditorSettingsDialog.js.map +0 -1
  267. package/dist/src/ui/components/FolderTrustDialog.d.ts +0 -16
  268. package/dist/src/ui/components/FolderTrustDialog.js +0 -39
  269. package/dist/src/ui/components/FolderTrustDialog.js.map +0 -1
  270. package/dist/src/ui/components/FolderTrustDialog.test.d.ts +0 -6
  271. package/dist/src/ui/components/FolderTrustDialog.test.js +0 -26
  272. package/dist/src/ui/components/FolderTrustDialog.test.js.map +0 -1
  273. package/dist/src/ui/components/Footer.d.ts +0 -23
  274. package/dist/src/ui/components/Footer.js +0 -25
  275. package/dist/src/ui/components/Footer.js.map +0 -1
  276. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +0 -17
  277. package/dist/src/ui/components/GeminiRespondingSpinner.js +0 -16
  278. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +0 -1
  279. package/dist/src/ui/components/Header.d.ts +0 -13
  280. package/dist/src/ui/components/Header.js +0 -28
  281. package/dist/src/ui/components/Header.js.map +0 -1
  282. package/dist/src/ui/components/Header.test.d.ts +0 -6
  283. package/dist/src/ui/components/Header.test.js +0 -37
  284. package/dist/src/ui/components/Header.test.js.map +0 -1
  285. package/dist/src/ui/components/Help.d.ts +0 -12
  286. package/dist/src/ui/components/Help.js +0 -10
  287. package/dist/src/ui/components/Help.js.map +0 -1
  288. package/dist/src/ui/components/HistoryItemDisplay.d.ts +0 -20
  289. package/dist/src/ui/components/HistoryItemDisplay.js +0 -18
  290. package/dist/src/ui/components/HistoryItemDisplay.js.map +0 -1
  291. package/dist/src/ui/components/HistoryItemDisplay.test.d.ts +0 -6
  292. package/dist/src/ui/components/HistoryItemDisplay.test.js +0 -91
  293. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +0 -1
  294. package/dist/src/ui/components/InputPrompt.d.ts +0 -28
  295. package/dist/src/ui/components/InputPrompt.js +0 -440
  296. package/dist/src/ui/components/InputPrompt.js.map +0 -1
  297. package/dist/src/ui/components/LMStudioModelPrompt.d.ts +0 -12
  298. package/dist/src/ui/components/LMStudioModelPrompt.js +0 -100
  299. package/dist/src/ui/components/LMStudioModelPrompt.js.map +0 -1
  300. package/dist/src/ui/components/LoadingIndicator.d.ts +0 -15
  301. package/dist/src/ui/components/LoadingIndicator.js +0 -25
  302. package/dist/src/ui/components/LoadingIndicator.js.map +0 -1
  303. package/dist/src/ui/components/LoadingIndicator.test.d.ts +0 -6
  304. package/dist/src/ui/components/LoadingIndicator.test.js +0 -190
  305. package/dist/src/ui/components/LoadingIndicator.test.js.map +0 -1
  306. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +0 -7
  307. package/dist/src/ui/components/MemoryUsageDisplay.js +0 -27
  308. package/dist/src/ui/components/MemoryUsageDisplay.js.map +0 -1
  309. package/dist/src/ui/components/ModelStatsDisplay.d.ts +0 -7
  310. package/dist/src/ui/components/ModelStatsDisplay.js +0 -33
  311. package/dist/src/ui/components/ModelStatsDisplay.js.map +0 -1
  312. package/dist/src/ui/components/OllamaModelPrompt.d.ts +0 -12
  313. package/dist/src/ui/components/OllamaModelPrompt.js +0 -94
  314. package/dist/src/ui/components/OllamaModelPrompt.js.map +0 -1
  315. package/dist/src/ui/components/OpenAIKeyPrompt.d.ts +0 -12
  316. package/dist/src/ui/components/OpenAIKeyPrompt.js +0 -118
  317. package/dist/src/ui/components/OpenAIKeyPrompt.js.map +0 -1
  318. package/dist/src/ui/components/OpenAIKeyPrompt.test.d.ts +0 -6
  319. package/dist/src/ui/components/OpenAIKeyPrompt.test.js +0 -44
  320. package/dist/src/ui/components/OpenAIKeyPrompt.test.js.map +0 -1
  321. package/dist/src/ui/components/PrepareLabel.d.ts +0 -15
  322. package/dist/src/ui/components/PrepareLabel.js +0 -16
  323. package/dist/src/ui/components/PrepareLabel.js.map +0 -1
  324. package/dist/src/ui/components/QwenOAuthProgress.d.ts +0 -16
  325. package/dist/src/ui/components/QwenOAuthProgress.js +0 -108
  326. package/dist/src/ui/components/QwenOAuthProgress.js.map +0 -1
  327. package/dist/src/ui/components/QwenOAuthProgress.test.d.ts +0 -6
  328. package/dist/src/ui/components/QwenOAuthProgress.test.js +0 -290
  329. package/dist/src/ui/components/QwenOAuthProgress.test.js.map +0 -1
  330. package/dist/src/ui/components/SearchEngineConfigDialog.d.ts +0 -18
  331. package/dist/src/ui/components/SearchEngineConfigDialog.js +0 -148
  332. package/dist/src/ui/components/SearchEngineConfigDialog.js.map +0 -1
  333. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -11
  334. package/dist/src/ui/components/SessionSummaryDisplay.js +0 -4
  335. package/dist/src/ui/components/SessionSummaryDisplay.js.map +0 -1
  336. package/dist/src/ui/components/SettingsDialog.d.ts +0 -14
  337. package/dist/src/ui/components/SettingsDialog.js +0 -519
  338. package/dist/src/ui/components/SettingsDialog.js.map +0 -1
  339. package/dist/src/ui/components/SettingsDialog.test.d.ts +0 -6
  340. package/dist/src/ui/components/SettingsDialog.test.js +0 -568
  341. package/dist/src/ui/components/SettingsDialog.test.js.map +0 -1
  342. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +0 -15
  343. package/dist/src/ui/components/ShellConfirmationDialog.js +0 -46
  344. package/dist/src/ui/components/ShellConfirmationDialog.js.map +0 -1
  345. package/dist/src/ui/components/ShellConfirmationDialog.test.d.ts +0 -6
  346. package/dist/src/ui/components/ShellConfirmationDialog.test.js +0 -40
  347. package/dist/src/ui/components/ShellConfirmationDialog.test.js.map +0 -1
  348. package/dist/src/ui/components/ShellModeIndicator.d.ts +0 -7
  349. package/dist/src/ui/components/ShellModeIndicator.js +0 -5
  350. package/dist/src/ui/components/ShellModeIndicator.js.map +0 -1
  351. package/dist/src/ui/components/ShowMoreLines.d.ts +0 -10
  352. package/dist/src/ui/components/ShowMoreLines.js +0 -24
  353. package/dist/src/ui/components/ShowMoreLines.js.map +0 -1
  354. package/dist/src/ui/components/StatsDisplay.d.ts +0 -12
  355. package/dist/src/ui/components/StatsDisplay.js +0 -43
  356. package/dist/src/ui/components/StatsDisplay.js.map +0 -1
  357. package/dist/src/ui/components/SuggestionsDisplay.d.ts +0 -22
  358. package/dist/src/ui/components/SuggestionsDisplay.js +0 -32
  359. package/dist/src/ui/components/SuggestionsDisplay.js.map +0 -1
  360. package/dist/src/ui/components/ThemeDialog.d.ts +0 -19
  361. package/dist/src/ui/components/ThemeDialog.js +0 -143
  362. package/dist/src/ui/components/ThemeDialog.js.map +0 -1
  363. package/dist/src/ui/components/Tips.d.ts +0 -12
  364. package/dist/src/ui/components/Tips.js +0 -8
  365. package/dist/src/ui/components/Tips.js.map +0 -1
  366. package/dist/src/ui/components/TodoDisplay.d.ts +0 -16
  367. package/dist/src/ui/components/TodoDisplay.js +0 -27
  368. package/dist/src/ui/components/TodoDisplay.js.map +0 -1
  369. package/dist/src/ui/components/TodoDisplay.test.d.ts +0 -6
  370. package/dist/src/ui/components/TodoDisplay.test.js +0 -77
  371. package/dist/src/ui/components/TodoDisplay.test.js.map +0 -1
  372. package/dist/src/ui/components/ToolStatsDisplay.d.ts +0 -7
  373. package/dist/src/ui/components/ToolStatsDisplay.js +0 -41
  374. package/dist/src/ui/components/ToolStatsDisplay.js.map +0 -1
  375. package/dist/src/ui/components/UpdateNotification.d.ts +0 -10
  376. package/dist/src/ui/components/UpdateNotification.js +0 -10
  377. package/dist/src/ui/components/UpdateNotification.js.map +0 -1
  378. package/dist/src/ui/components/messages/CompressionMessage.d.ts +0 -11
  379. package/dist/src/ui/components/messages/CompressionMessage.js +0 -16
  380. package/dist/src/ui/components/messages/CompressionMessage.js.map +0 -1
  381. package/dist/src/ui/components/messages/DiffRenderer.d.ts +0 -16
  382. package/dist/src/ui/components/messages/DiffRenderer.js +0 -222
  383. package/dist/src/ui/components/messages/DiffRenderer.js.map +0 -1
  384. package/dist/src/ui/components/messages/DiffRenderer.test.d.ts +0 -6
  385. package/dist/src/ui/components/messages/DiffRenderer.test.js +0 -239
  386. package/dist/src/ui/components/messages/DiffRenderer.test.js.map +0 -1
  387. package/dist/src/ui/components/messages/ErrorMessage.d.ts +0 -11
  388. package/dist/src/ui/components/messages/ErrorMessage.js +0 -9
  389. package/dist/src/ui/components/messages/ErrorMessage.js.map +0 -1
  390. package/dist/src/ui/components/messages/GeminiMessage.d.ts +0 -14
  391. package/dist/src/ui/components/messages/GeminiMessage.js +0 -10
  392. package/dist/src/ui/components/messages/GeminiMessage.js.map +0 -1
  393. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +0 -14
  394. package/dist/src/ui/components/messages/GeminiMessageContent.js +0 -15
  395. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +0 -1
  396. package/dist/src/ui/components/messages/InfoMessage.d.ts +0 -11
  397. package/dist/src/ui/components/messages/InfoMessage.js +0 -10
  398. package/dist/src/ui/components/messages/InfoMessage.js.map +0 -1
  399. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +0 -15
  400. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -145
  401. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +0 -1
  402. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.d.ts +0 -6
  403. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js +0 -37
  404. package/dist/src/ui/components/messages/ToolConfirmationMessage.test.js.map +0 -1
  405. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +0 -18
  406. package/dist/src/ui/components/messages/ToolGroupMessage.js +0 -55
  407. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +0 -1
  408. package/dist/src/ui/components/messages/ToolMessage.d.ts +0 -15
  409. package/dist/src/ui/components/messages/ToolMessage.js +0 -111
  410. package/dist/src/ui/components/messages/ToolMessage.js.map +0 -1
  411. package/dist/src/ui/components/messages/ToolMessage.test.d.ts +0 -6
  412. package/dist/src/ui/components/messages/ToolMessage.test.js +0 -118
  413. package/dist/src/ui/components/messages/ToolMessage.test.js.map +0 -1
  414. package/dist/src/ui/components/messages/UserMessage.d.ts +0 -11
  415. package/dist/src/ui/components/messages/UserMessage.js +0 -12
  416. package/dist/src/ui/components/messages/UserMessage.js.map +0 -1
  417. package/dist/src/ui/components/messages/UserShellMessage.d.ts +0 -11
  418. package/dist/src/ui/components/messages/UserShellMessage.js +0 -9
  419. package/dist/src/ui/components/messages/UserShellMessage.js.map +0 -1
  420. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +0 -61
  421. package/dist/src/ui/components/shared/MaxSizedBox.js +0 -451
  422. package/dist/src/ui/components/shared/MaxSizedBox.js.map +0 -1
  423. package/dist/src/ui/components/shared/MaxSizedBox.test.d.ts +0 -6
  424. package/dist/src/ui/components/shared/MaxSizedBox.test.js +0 -154
  425. package/dist/src/ui/components/shared/MaxSizedBox.test.js.map +0 -1
  426. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +0 -46
  427. package/dist/src/ui/components/shared/RadioButtonSelect.js +0 -121
  428. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +0 -1
  429. package/dist/src/ui/components/shared/RadioButtonSelect.test.d.ts +0 -6
  430. package/dist/src/ui/components/shared/RadioButtonSelect.test.js +0 -111
  431. package/dist/src/ui/components/shared/RadioButtonSelect.test.js.map +0 -1
  432. package/dist/src/ui/components/shared/text-buffer.d.ts +0 -467
  433. package/dist/src/ui/components/shared/text-buffer.js +0 -1533
  434. package/dist/src/ui/components/shared/text-buffer.js.map +0 -1
  435. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +0 -72
  436. package/dist/src/ui/components/shared/vim-buffer-actions.js +0 -552
  437. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +0 -1
  438. package/dist/src/ui/constants.d.ts +0 -9
  439. package/dist/src/ui/constants.js +0 -13
  440. package/dist/src/ui/constants.js.map +0 -1
  441. package/dist/src/ui/contexts/KeypressContext.d.ts +0 -30
  442. package/dist/src/ui/contexts/KeypressContext.js +0 -331
  443. package/dist/src/ui/contexts/KeypressContext.js.map +0 -1
  444. package/dist/src/ui/contexts/KeypressContext.test.d.ts +0 -6
  445. package/dist/src/ui/contexts/KeypressContext.test.js +0 -275
  446. package/dist/src/ui/contexts/KeypressContext.test.js.map +0 -1
  447. package/dist/src/ui/contexts/OverflowContext.d.ts +0 -19
  448. package/dist/src/ui/contexts/OverflowContext.js +0 -43
  449. package/dist/src/ui/contexts/OverflowContext.js.map +0 -1
  450. package/dist/src/ui/contexts/SessionContext.d.ts +0 -39
  451. package/dist/src/ui/contexts/SessionContext.js +0 -60
  452. package/dist/src/ui/contexts/SessionContext.js.map +0 -1
  453. package/dist/src/ui/contexts/SettingsContext.d.ts +0 -9
  454. package/dist/src/ui/contexts/SettingsContext.js +0 -15
  455. package/dist/src/ui/contexts/SettingsContext.js.map +0 -1
  456. package/dist/src/ui/contexts/StreamingContext.d.ts +0 -9
  457. package/dist/src/ui/contexts/StreamingContext.js +0 -15
  458. package/dist/src/ui/contexts/StreamingContext.js.map +0 -1
  459. package/dist/src/ui/contexts/VimModeContext.d.ts +0 -19
  460. package/dist/src/ui/contexts/VimModeContext.js +0 -48
  461. package/dist/src/ui/contexts/VimModeContext.js.map +0 -1
  462. package/dist/src/ui/editors/editorSettingsManager.d.ts +0 -19
  463. package/dist/src/ui/editors/editorSettingsManager.js +0 -47
  464. package/dist/src/ui/editors/editorSettingsManager.js.map +0 -1
  465. package/dist/src/ui/hooks/atCommandProcessor.d.ts +0 -31
  466. package/dist/src/ui/hooks/atCommandProcessor.js +0 -365
  467. package/dist/src/ui/hooks/atCommandProcessor.js.map +0 -1
  468. package/dist/src/ui/hooks/atCommandProcessor.test.d.ts +0 -6
  469. package/dist/src/ui/hooks/atCommandProcessor.test.js +0 -824
  470. package/dist/src/ui/hooks/atCommandProcessor.test.js.map +0 -1
  471. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -17
  472. package/dist/src/ui/hooks/shellCommandProcessor.js +0 -233
  473. package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
  474. package/dist/src/ui/hooks/shellCommandProcessor.test.d.ts +0 -6
  475. package/dist/src/ui/hooks/shellCommandProcessor.test.js +0 -328
  476. package/dist/src/ui/hooks/shellCommandProcessor.test.js.map +0 -1
  477. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -28
  478. package/dist/src/ui/hooks/slashCommandProcessor.js +0 -459
  479. package/dist/src/ui/hooks/slashCommandProcessor.js.map +0 -1
  480. package/dist/src/ui/hooks/useAtCompletion.d.ts +0 -23
  481. package/dist/src/ui/hooks/useAtCompletion.js +0 -179
  482. package/dist/src/ui/hooks/useAtCompletion.js.map +0 -1
  483. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -14
  484. package/dist/src/ui/hooks/useAuthCommand.js +0 -100
  485. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  486. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +0 -10
  487. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +0 -37
  488. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
  489. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.d.ts +0 -6
  490. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js +0 -190
  491. package/dist/src/ui/hooks/useAutoAcceptIndicator.test.js.map +0 -1
  492. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  493. package/dist/src/ui/hooks/useBracketedPaste.js +0 -32
  494. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  495. package/dist/src/ui/hooks/useCommandCompletion.d.ts +0 -29
  496. package/dist/src/ui/hooks/useCommandCompletion.js +0 -165
  497. package/dist/src/ui/hooks/useCommandCompletion.js.map +0 -1
  498. package/dist/src/ui/hooks/useCompletion.d.ts +0 -24
  499. package/dist/src/ui/hooks/useCompletion.js +0 -88
  500. package/dist/src/ui/hooks/useCompletion.js.map +0 -1
  501. package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -12
  502. package/dist/src/ui/hooks/useConsoleMessages.js +0 -76
  503. package/dist/src/ui/hooks/useConsoleMessages.js.map +0 -1
  504. package/dist/src/ui/hooks/useEditorSettings.d.ts +0 -16
  505. package/dist/src/ui/hooks/useEditorSettings.js +0 -43
  506. package/dist/src/ui/hooks/useEditorSettings.js.map +0 -1
  507. package/dist/src/ui/hooks/useEditorSettings.test.d.ts +0 -6
  508. package/dist/src/ui/hooks/useEditorSettings.test.js +0 -164
  509. package/dist/src/ui/hooks/useEditorSettings.test.js.map +0 -1
  510. package/dist/src/ui/hooks/useFocus.d.ts +0 -10
  511. package/dist/src/ui/hooks/useFocus.js +0 -41
  512. package/dist/src/ui/hooks/useFocus.js.map +0 -1
  513. package/dist/src/ui/hooks/useFolderTrust.d.ts +0 -12
  514. package/dist/src/ui/hooks/useFolderTrust.js +0 -55
  515. package/dist/src/ui/hooks/useFolderTrust.js.map +0 -1
  516. package/dist/src/ui/hooks/useGeminiStream.d.ts +0 -24
  517. package/dist/src/ui/hooks/useGeminiStream.js +0 -653
  518. package/dist/src/ui/hooks/useGeminiStream.js.map +0 -1
  519. package/dist/src/ui/hooks/useGitBranchName.d.ts +0 -6
  520. package/dist/src/ui/hooks/useGitBranchName.js +0 -61
  521. package/dist/src/ui/hooks/useGitBranchName.js.map +0 -1
  522. package/dist/src/ui/hooks/useGitBranchName.test.d.ts +0 -6
  523. package/dist/src/ui/hooks/useGitBranchName.test.js +0 -215
  524. package/dist/src/ui/hooks/useGitBranchName.test.js.map +0 -1
  525. package/dist/src/ui/hooks/useHistoryManager.d.ts +0 -22
  526. package/dist/src/ui/hooks/useHistoryManager.js +0 -72
  527. package/dist/src/ui/hooks/useHistoryManager.js.map +0 -1
  528. package/dist/src/ui/hooks/useHistoryManager.test.d.ts +0 -6
  529. package/dist/src/ui/hooks/useHistoryManager.test.js +0 -171
  530. package/dist/src/ui/hooks/useHistoryManager.test.js.map +0 -1
  531. package/dist/src/ui/hooks/useInputHistory.d.ts +0 -19
  532. package/dist/src/ui/hooks/useInputHistory.js +0 -84
  533. package/dist/src/ui/hooks/useInputHistory.js.map +0 -1
  534. package/dist/src/ui/hooks/useInputHistory.test.d.ts +0 -6
  535. package/dist/src/ui/hooks/useInputHistory.test.js +0 -207
  536. package/dist/src/ui/hooks/useInputHistory.test.js.map +0 -1
  537. package/dist/src/ui/hooks/useKeypress.d.ts +0 -17
  538. package/dist/src/ui/hooks/useKeypress.js +0 -27
  539. package/dist/src/ui/hooks/useKeypress.js.map +0 -1
  540. package/dist/src/ui/hooks/useKittyKeyboardProtocol.d.ts +0 -15
  541. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js +0 -20
  542. package/dist/src/ui/hooks/useKittyKeyboardProtocol.js.map +0 -1
  543. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +0 -10
  544. package/dist/src/ui/hooks/useLoadingIndicator.js +0 -44
  545. package/dist/src/ui/hooks/useLoadingIndicator.js.map +0 -1
  546. package/dist/src/ui/hooks/useLoadingIndicator.test.d.ts +0 -6
  547. package/dist/src/ui/hooks/useLoadingIndicator.test.js +0 -91
  548. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +0 -1
  549. package/dist/src/ui/hooks/useLogger.d.ts +0 -10
  550. package/dist/src/ui/hooks/useLogger.js +0 -29
  551. package/dist/src/ui/hooks/useLogger.js.map +0 -1
  552. package/dist/src/ui/hooks/useMessageQueue.d.ts +0 -22
  553. package/dist/src/ui/hooks/useMessageQueue.js +0 -49
  554. package/dist/src/ui/hooks/useMessageQueue.js.map +0 -1
  555. package/dist/src/ui/hooks/useMessageQueue.test.d.ts +0 -6
  556. package/dist/src/ui/hooks/useMessageQueue.test.js +0 -158
  557. package/dist/src/ui/hooks/useMessageQueue.test.js.map +0 -1
  558. package/dist/src/ui/hooks/usePhraseCycler.d.ts +0 -14
  559. package/dist/src/ui/hooks/usePhraseCycler.js +0 -187
  560. package/dist/src/ui/hooks/usePhraseCycler.js.map +0 -1
  561. package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
  562. package/dist/src/ui/hooks/usePrivacySettings.js +0 -119
  563. package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
  564. package/dist/src/ui/hooks/usePrivacySettings.test.d.ts +0 -6
  565. package/dist/src/ui/hooks/usePrivacySettings.test.js +0 -154
  566. package/dist/src/ui/hooks/usePrivacySettings.test.js.map +0 -1
  567. package/dist/src/ui/hooks/useQwenAuth.d.ts +0 -20
  568. package/dist/src/ui/hooks/useQwenAuth.js +0 -78
  569. package/dist/src/ui/hooks/useQwenAuth.js.map +0 -1
  570. package/dist/src/ui/hooks/useQwenAuth.test.d.ts +0 -6
  571. package/dist/src/ui/hooks/useQwenAuth.test.js +0 -288
  572. package/dist/src/ui/hooks/useQwenAuth.test.js.map +0 -1
  573. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -33
  574. package/dist/src/ui/hooks/useReactToolScheduler.js +0 -187
  575. package/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
  576. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
  577. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
  578. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
  579. package/dist/src/ui/hooks/useReverseSearchCompletion.d.ts +0 -19
  580. package/dist/src/ui/hooks/useReverseSearchCompletion.js +0 -56
  581. package/dist/src/ui/hooks/useReverseSearchCompletion.js.map +0 -1
  582. package/dist/src/ui/hooks/useReverseSearchCompletion.test.d.ts +0 -6
  583. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js +0 -163
  584. package/dist/src/ui/hooks/useReverseSearchCompletion.test.js.map +0 -1
  585. package/dist/src/ui/hooks/useSettingsCommand.d.ts +0 -10
  586. package/dist/src/ui/hooks/useSettingsCommand.js +0 -21
  587. package/dist/src/ui/hooks/useSettingsCommand.js.map +0 -1
  588. package/dist/src/ui/hooks/useShellHistory.d.ts +0 -13
  589. package/dist/src/ui/hooks/useShellHistory.js +0 -112
  590. package/dist/src/ui/hooks/useShellHistory.js.map +0 -1
  591. package/dist/src/ui/hooks/useShellHistory.test.d.ts +0 -6
  592. package/dist/src/ui/hooks/useShellHistory.test.js +0 -162
  593. package/dist/src/ui/hooks/useShellHistory.test.js.map +0 -1
  594. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
  595. package/dist/src/ui/hooks/useShowMemoryCommand.js +0 -58
  596. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
  597. package/dist/src/ui/hooks/useSlashCompletion.d.ts +0 -20
  598. package/dist/src/ui/hooks/useSlashCompletion.js +0 -135
  599. package/dist/src/ui/hooks/useSlashCompletion.js.map +0 -1
  600. package/dist/src/ui/hooks/useSlashCompletion.test.d.ts +0 -6
  601. package/dist/src/ui/hooks/useSlashCompletion.test.js +0 -272
  602. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +0 -1
  603. package/dist/src/ui/hooks/useStateAndRef.d.ts +0 -7
  604. package/dist/src/ui/hooks/useStateAndRef.js +0 -26
  605. package/dist/src/ui/hooks/useStateAndRef.js.map +0 -1
  606. package/dist/src/ui/hooks/useTerminalSize.d.ts +0 -9
  607. package/dist/src/ui/hooks/useTerminalSize.js +0 -27
  608. package/dist/src/ui/hooks/useTerminalSize.js.map +0 -1
  609. package/dist/src/ui/hooks/useThemeCommand.d.ts +0 -15
  610. package/dist/src/ui/hooks/useThemeCommand.js +0 -79
  611. package/dist/src/ui/hooks/useThemeCommand.js.map +0 -1
  612. package/dist/src/ui/hooks/useTimer.d.ts +0 -12
  613. package/dist/src/ui/hooks/useTimer.js +0 -58
  614. package/dist/src/ui/hooks/useTimer.js.map +0 -1
  615. package/dist/src/ui/hooks/useTimer.test.d.ts +0 -6
  616. package/dist/src/ui/hooks/useTimer.test.js +0 -90
  617. package/dist/src/ui/hooks/useTimer.test.js.map +0 -1
  618. package/dist/src/ui/hooks/useToolScheduler.test.d.ts +0 -6
  619. package/dist/src/ui/hooks/useToolScheduler.test.js +0 -845
  620. package/dist/src/ui/hooks/useToolScheduler.test.js.map +0 -1
  621. package/dist/src/ui/hooks/vim.d.ts +0 -28
  622. package/dist/src/ui/hooks/vim.js +0 -639
  623. package/dist/src/ui/hooks/vim.js.map +0 -1
  624. package/dist/src/ui/keyMatchers.d.ts +0 -26
  625. package/dist/src/ui/keyMatchers.js +0 -68
  626. package/dist/src/ui/keyMatchers.js.map +0 -1
  627. package/dist/src/ui/keyMatchers.test.d.ts +0 -6
  628. package/dist/src/ui/keyMatchers.test.js +0 -276
  629. package/dist/src/ui/keyMatchers.test.js.map +0 -1
  630. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
  631. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -41
  632. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
  633. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
  634. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -18
  635. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
  636. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
  637. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -18
  638. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
  639. package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
  640. package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
  641. package/dist/src/ui/privacy/PrivacyNotice.js.map +0 -1
  642. package/dist/src/ui/semantic-colors.d.ts +0 -7
  643. package/dist/src/ui/semantic-colors.js +0 -24
  644. package/dist/src/ui/semantic-colors.js.map +0 -1
  645. package/dist/src/ui/themes/ansi-light.d.ts +0 -7
  646. package/dist/src/ui/themes/ansi-light.js +0 -142
  647. package/dist/src/ui/themes/ansi-light.js.map +0 -1
  648. package/dist/src/ui/themes/ansi.d.ts +0 -7
  649. package/dist/src/ui/themes/ansi.js +0 -152
  650. package/dist/src/ui/themes/ansi.js.map +0 -1
  651. package/dist/src/ui/themes/atom-one-dark.d.ts +0 -7
  652. package/dist/src/ui/themes/atom-one-dark.js +0 -139
  653. package/dist/src/ui/themes/atom-one-dark.js.map +0 -1
  654. package/dist/src/ui/themes/ayu-light.d.ts +0 -7
  655. package/dist/src/ui/themes/ayu-light.js +0 -131
  656. package/dist/src/ui/themes/ayu-light.js.map +0 -1
  657. package/dist/src/ui/themes/ayu.d.ts +0 -7
  658. package/dist/src/ui/themes/ayu.js +0 -105
  659. package/dist/src/ui/themes/ayu.js.map +0 -1
  660. package/dist/src/ui/themes/color-utils.d.ts +0 -21
  661. package/dist/src/ui/themes/color-utils.js +0 -221
  662. package/dist/src/ui/themes/color-utils.js.map +0 -1
  663. package/dist/src/ui/themes/color-utils.test.d.ts +0 -6
  664. package/dist/src/ui/themes/color-utils.test.js +0 -197
  665. package/dist/src/ui/themes/color-utils.test.js.map +0 -1
  666. package/dist/src/ui/themes/default-light.d.ts +0 -7
  667. package/dist/src/ui/themes/default-light.js +0 -101
  668. package/dist/src/ui/themes/default-light.js.map +0 -1
  669. package/dist/src/ui/themes/default.d.ts +0 -7
  670. package/dist/src/ui/themes/default.js +0 -144
  671. package/dist/src/ui/themes/default.js.map +0 -1
  672. package/dist/src/ui/themes/dracula.d.ts +0 -7
  673. package/dist/src/ui/themes/dracula.js +0 -116
  674. package/dist/src/ui/themes/dracula.js.map +0 -1
  675. package/dist/src/ui/themes/fss-code-dark.d.ts +0 -7
  676. package/dist/src/ui/themes/fss-code-dark.js +0 -148
  677. package/dist/src/ui/themes/fss-code-dark.js.map +0 -1
  678. package/dist/src/ui/themes/fss-dark.d.ts +0 -7
  679. package/dist/src/ui/themes/fss-dark.js +0 -105
  680. package/dist/src/ui/themes/fss-dark.js.map +0 -1
  681. package/dist/src/ui/themes/fss-light.d.ts +0 -7
  682. package/dist/src/ui/themes/fss-light.js +0 -131
  683. package/dist/src/ui/themes/fss-light.js.map +0 -1
  684. package/dist/src/ui/themes/github-dark.d.ts +0 -7
  685. package/dist/src/ui/themes/github-dark.js +0 -139
  686. package/dist/src/ui/themes/github-dark.js.map +0 -1
  687. package/dist/src/ui/themes/github-light.d.ts +0 -7
  688. package/dist/src/ui/themes/github-light.js +0 -141
  689. package/dist/src/ui/themes/github-light.js.map +0 -1
  690. package/dist/src/ui/themes/googlecode.d.ts +0 -7
  691. package/dist/src/ui/themes/googlecode.js +0 -138
  692. package/dist/src/ui/themes/googlecode.js.map +0 -1
  693. package/dist/src/ui/themes/no-color.d.ts +0 -7
  694. package/dist/src/ui/themes/no-color.js +0 -115
  695. package/dist/src/ui/themes/no-color.js.map +0 -1
  696. package/dist/src/ui/themes/qwen-dark.d.ts +0 -7
  697. package/dist/src/ui/themes/qwen-dark.js +0 -105
  698. package/dist/src/ui/themes/qwen-dark.js.map +0 -1
  699. package/dist/src/ui/themes/qwen-light.d.ts +0 -7
  700. package/dist/src/ui/themes/qwen-light.js +0 -131
  701. package/dist/src/ui/themes/qwen-light.js.map +0 -1
  702. package/dist/src/ui/themes/semantic-tokens.d.ts +0 -37
  703. package/dist/src/ui/themes/semantic-tokens.js +0 -94
  704. package/dist/src/ui/themes/semantic-tokens.js.map +0 -1
  705. package/dist/src/ui/themes/shades-of-purple.d.ts +0 -11
  706. package/dist/src/ui/themes/shades-of-purple.js +0 -305
  707. package/dist/src/ui/themes/shades-of-purple.js.map +0 -1
  708. package/dist/src/ui/themes/theme-manager.d.ts +0 -64
  709. package/dist/src/ui/themes/theme-manager.js +0 -209
  710. package/dist/src/ui/themes/theme-manager.js.map +0 -1
  711. package/dist/src/ui/themes/theme-manager.test.d.ts +0 -6
  712. package/dist/src/ui/themes/theme-manager.test.js +0 -83
  713. package/dist/src/ui/themes/theme-manager.test.js.map +0 -1
  714. package/dist/src/ui/themes/theme.d.ts +0 -130
  715. package/dist/src/ui/themes/theme.js +0 -351
  716. package/dist/src/ui/themes/theme.js.map +0 -1
  717. package/dist/src/ui/themes/xcode.d.ts +0 -7
  718. package/dist/src/ui/themes/xcode.js +0 -146
  719. package/dist/src/ui/themes/xcode.js.map +0 -1
  720. package/dist/src/ui/types.d.ts +0 -191
  721. package/dist/src/ui/types.js +0 -44
  722. package/dist/src/ui/types.js.map +0 -1
  723. package/dist/src/ui/utils/CodeColorizer.d.ts +0 -17
  724. package/dist/src/ui/utils/CodeColorizer.js +0 -110
  725. package/dist/src/ui/utils/CodeColorizer.js.map +0 -1
  726. package/dist/src/ui/utils/ConsolePatcher.d.ts +0 -25
  727. package/dist/src/ui/utils/ConsolePatcher.js +0 -52
  728. package/dist/src/ui/utils/ConsolePatcher.js.map +0 -1
  729. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -16
  730. package/dist/src/ui/utils/InlineMarkdownRenderer.js +0 -111
  731. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +0 -1
  732. package/dist/src/ui/utils/MarkdownDisplay.d.ts +0 -14
  733. package/dist/src/ui/utils/MarkdownDisplay.js +0 -207
  734. package/dist/src/ui/utils/MarkdownDisplay.js.map +0 -1
  735. package/dist/src/ui/utils/MarkdownDisplay.test.d.ts +0 -6
  736. package/dist/src/ui/utils/MarkdownDisplay.test.js +0 -151
  737. package/dist/src/ui/utils/MarkdownDisplay.test.js.map +0 -1
  738. package/dist/src/ui/utils/TableRenderer.d.ts +0 -17
  739. package/dist/src/ui/utils/TableRenderer.js +0 -84
  740. package/dist/src/ui/utils/TableRenderer.js.map +0 -1
  741. package/dist/src/ui/utils/clipboardUtils.d.ts +0 -22
  742. package/dist/src/ui/utils/clipboardUtils.js +0 -127
  743. package/dist/src/ui/utils/clipboardUtils.js.map +0 -1
  744. package/dist/src/ui/utils/clipboardUtils.test.d.ts +0 -6
  745. package/dist/src/ui/utils/clipboardUtils.test.js +0 -65
  746. package/dist/src/ui/utils/clipboardUtils.test.js.map +0 -1
  747. package/dist/src/ui/utils/commandUtils.d.ts +0 -24
  748. package/dist/src/ui/utils/commandUtils.js +0 -93
  749. package/dist/src/ui/utils/commandUtils.js.map +0 -1
  750. package/dist/src/ui/utils/commandUtils.test.d.ts +0 -6
  751. package/dist/src/ui/utils/commandUtils.test.js +0 -294
  752. package/dist/src/ui/utils/commandUtils.test.js.map +0 -1
  753. package/dist/src/ui/utils/computeStats.d.ts +0 -10
  754. package/dist/src/ui/utils/computeStats.js +0 -57
  755. package/dist/src/ui/utils/computeStats.js.map +0 -1
  756. package/dist/src/ui/utils/displayUtils.d.ts +0 -17
  757. package/dist/src/ui/utils/displayUtils.js +0 -24
  758. package/dist/src/ui/utils/displayUtils.js.map +0 -1
  759. package/dist/src/ui/utils/displayUtils.test.d.ts +0 -6
  760. package/dist/src/ui/utils/displayUtils.test.js +0 -42
  761. package/dist/src/ui/utils/displayUtils.test.js.map +0 -1
  762. package/dist/src/ui/utils/formatters.d.ts +0 -13
  763. package/dist/src/ui/utils/formatters.js +0 -56
  764. package/dist/src/ui/utils/formatters.js.map +0 -1
  765. package/dist/src/ui/utils/formatters.test.d.ts +0 -6
  766. package/dist/src/ui/utils/formatters.test.js +0 -56
  767. package/dist/src/ui/utils/formatters.test.js.map +0 -1
  768. package/dist/src/ui/utils/isNarrowWidth.d.ts +0 -6
  769. package/dist/src/ui/utils/isNarrowWidth.js +0 -9
  770. package/dist/src/ui/utils/isNarrowWidth.js.map +0 -1
  771. package/dist/src/ui/utils/kittyProtocolDetector.d.ts +0 -13
  772. package/dist/src/ui/utils/kittyProtocolDetector.js +0 -88
  773. package/dist/src/ui/utils/kittyProtocolDetector.js.map +0 -1
  774. package/dist/src/ui/utils/markdownUtilities.d.ts +0 -6
  775. package/dist/src/ui/utils/markdownUtilities.js +0 -110
  776. package/dist/src/ui/utils/markdownUtilities.js.map +0 -1
  777. package/dist/src/ui/utils/markdownUtilities.test.d.ts +0 -6
  778. package/dist/src/ui/utils/markdownUtilities.test.js +0 -42
  779. package/dist/src/ui/utils/markdownUtilities.test.js.map +0 -1
  780. package/dist/src/ui/utils/platformConstants.d.ts +0 -45
  781. package/dist/src/ui/utils/platformConstants.js +0 -46
  782. package/dist/src/ui/utils/platformConstants.js.map +0 -1
  783. package/dist/src/ui/utils/terminalSetup.d.ts +0 -30
  784. package/dist/src/ui/utils/terminalSetup.js +0 -281
  785. package/dist/src/ui/utils/terminalSetup.js.map +0 -1
  786. package/dist/src/ui/utils/textUtils.d.ts +0 -14
  787. package/dist/src/ui/utils/textUtils.js +0 -36
  788. package/dist/src/ui/utils/textUtils.js.map +0 -1
  789. package/dist/src/ui/utils/updateCheck.d.ts +0 -12
  790. package/dist/src/ui/utils/updateCheck.js +0 -78
  791. package/dist/src/ui/utils/updateCheck.js.map +0 -1
  792. package/dist/src/ui/utils/updateCheck.test.d.ts +0 -6
  793. package/dist/src/ui/utils/updateCheck.test.js +0 -145
  794. package/dist/src/ui/utils/updateCheck.test.js.map +0 -1
  795. package/dist/src/utils/checks.d.ts +0 -19
  796. package/dist/src/utils/checks.js +0 -24
  797. package/dist/src/utils/checks.js.map +0 -1
  798. package/dist/src/utils/cleanup.d.ts +0 -8
  799. package/dist/src/utils/cleanup.js +0 -34
  800. package/dist/src/utils/cleanup.js.map +0 -1
  801. package/dist/src/utils/dialogScopeUtils.d.ts +0 -31
  802. package/dist/src/utils/dialogScopeUtils.js +0 -48
  803. package/dist/src/utils/dialogScopeUtils.js.map +0 -1
  804. package/dist/src/utils/events.d.ts +0 -11
  805. package/dist/src/utils/events.js +0 -13
  806. package/dist/src/utils/events.js.map +0 -1
  807. package/dist/src/utils/gitUtils.d.ts +0 -30
  808. package/dist/src/utils/gitUtils.js +0 -89
  809. package/dist/src/utils/gitUtils.js.map +0 -1
  810. package/dist/src/utils/gitUtils.test.d.ts +0 -6
  811. package/dist/src/utils/gitUtils.test.js +0 -113
  812. package/dist/src/utils/gitUtils.test.js.map +0 -1
  813. package/dist/src/utils/handleAutoUpdate.d.ts +0 -11
  814. package/dist/src/utils/handleAutoUpdate.js +0 -101
  815. package/dist/src/utils/handleAutoUpdate.js.map +0 -1
  816. package/dist/src/utils/installationInfo.d.ts +0 -23
  817. package/dist/src/utils/installationInfo.js +0 -153
  818. package/dist/src/utils/installationInfo.js.map +0 -1
  819. package/dist/src/utils/installationInfo.test.d.ts +0 -6
  820. package/dist/src/utils/installationInfo.test.js +0 -242
  821. package/dist/src/utils/installationInfo.test.js.map +0 -1
  822. package/dist/src/utils/package.d.ts +0 -12
  823. package/dist/src/utils/package.js +0 -24
  824. package/dist/src/utils/package.js.map +0 -1
  825. package/dist/src/utils/readStdin.d.ts +0 -6
  826. package/dist/src/utils/readStdin.js +0 -44
  827. package/dist/src/utils/readStdin.js.map +0 -1
  828. package/dist/src/utils/resolvePath.d.ts +0 -6
  829. package/dist/src/utils/resolvePath.js +0 -21
  830. package/dist/src/utils/resolvePath.js.map +0 -1
  831. package/dist/src/utils/sandbox.d.ts +0 -7
  832. package/dist/src/utils/sandbox.js +0 -745
  833. package/dist/src/utils/sandbox.js.map +0 -1
  834. package/dist/src/utils/settingsUtils.d.ts +0 -134
  835. package/dist/src/utils/settingsUtils.js +0 -336
  836. package/dist/src/utils/settingsUtils.js.map +0 -1
  837. package/dist/src/utils/settingsUtils.test.d.ts +0 -6
  838. package/dist/src/utils/settingsUtils.test.js +0 -514
  839. package/dist/src/utils/settingsUtils.test.js.map +0 -1
  840. package/dist/src/utils/spawnWrapper.d.ts +0 -7
  841. package/dist/src/utils/spawnWrapper.js +0 -8
  842. package/dist/src/utils/spawnWrapper.js.map +0 -1
  843. package/dist/src/utils/startupWarnings.d.ts +0 -6
  844. package/dist/src/utils/startupWarnings.js +0 -40
  845. package/dist/src/utils/startupWarnings.js.map +0 -1
  846. package/dist/src/utils/updateEventEmitter.d.ts +0 -11
  847. package/dist/src/utils/updateEventEmitter.js +0 -12
  848. package/dist/src/utils/updateEventEmitter.js.map +0 -1
  849. package/dist/src/utils/userStartupWarnings.d.ts +0 -6
  850. package/dist/src/utils/userStartupWarnings.js +0 -54
  851. package/dist/src/utils/userStartupWarnings.js.map +0 -1
  852. package/dist/src/utils/userStartupWarnings.test.d.ts +0 -6
  853. package/dist/src/utils/userStartupWarnings.test.js +0 -67
  854. package/dist/src/utils/userStartupWarnings.test.js.map +0 -1
  855. package/dist/src/utils/version.d.ts +0 -6
  856. package/dist/src/utils/version.js +0 -11
  857. package/dist/src/utils/version.js.map +0 -1
  858. package/dist/src/validateNonInterActiveAuth.d.ts +0 -7
  859. package/dist/src/validateNonInterActiveAuth.js +0 -40
  860. package/dist/src/validateNonInterActiveAuth.js.map +0 -1
  861. package/dist/src/zed-integration/acp.d.ts +0 -63
  862. package/dist/src/zed-integration/acp.js +0 -225
  863. package/dist/src/zed-integration/acp.js.map +0 -1
  864. package/dist/src/zed-integration/fileSystemService.d.ts +0 -19
  865. package/dist/src/zed-integration/fileSystemService.js +0 -43
  866. package/dist/src/zed-integration/fileSystemService.js.map +0 -1
  867. package/dist/src/zed-integration/schema.d.ts +0 -11782
  868. package/dist/src/zed-integration/schema.js +0 -311
  869. package/dist/src/zed-integration/schema.js.map +0 -1
  870. package/dist/src/zed-integration/zedIntegration.d.ts +0 -10
  871. package/dist/src/zed-integration/zedIntegration.js +0 -765
  872. package/dist/src/zed-integration/zedIntegration.js.map +0 -1
  873. package/dist/tsconfig.tsbuildinfo +0 -1
  874. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-closed.sb +0 -0
  875. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-open.sb +0 -0
  876. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-proxied.sb +0 -0
  877. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-closed.sb +0 -0
  878. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-open.sb +0 -0
  879. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-proxied.sb +0 -0
@@ -1,703 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /**
3
- * @license
4
- * Copyright 2025 Google LLC
5
- * SPDX-License-Identifier: Apache-2.0
6
- */
7
- import { useCallback, useEffect, useMemo, useState, useRef } from 'react';
8
- import { Box, measureElement, Static, Text, useStdin, useStdout, } from 'ink';
9
- import { StreamingState, MessageType } from './types.js';
10
- import { useTerminalSize } from './hooks/useTerminalSize.js';
11
- import { useGeminiStream } from './hooks/useGeminiStream.js';
12
- import { useLoadingIndicator } from './hooks/useLoadingIndicator.js';
13
- import { useThemeCommand } from './hooks/useThemeCommand.js';
14
- import { useAuthCommand } from './hooks/useAuthCommand.js';
15
- import { useQwenAuth } from './hooks/useQwenAuth.js';
16
- import { useFolderTrust } from './hooks/useFolderTrust.js';
17
- import { useEditorSettings } from './hooks/useEditorSettings.js';
18
- import { useSlashCommandProcessor } from './hooks/slashCommandProcessor.js';
19
- import { useAutoAcceptIndicator } from './hooks/useAutoAcceptIndicator.js';
20
- import { useMessageQueue } from './hooks/useMessageQueue.js';
21
- import { useConsoleMessages } from './hooks/useConsoleMessages.js';
22
- import { Header } from './components/Header.js';
23
- import { LoadingIndicator } from './components/LoadingIndicator.js';
24
- import { AutoAcceptIndicator } from './components/AutoAcceptIndicator.js';
25
- import { ShellModeIndicator } from './components/ShellModeIndicator.js';
26
- import { InputPrompt } from './components/InputPrompt.js';
27
- import { Footer } from './components/Footer.js';
28
- import { ThemeDialog } from './components/ThemeDialog.js';
29
- import { AuthDialog } from './components/AuthDialog.js';
30
- import { SearchEngineConfigDialog } from './components/SearchEngineConfigDialog.js';
31
- import { AuthInProgress } from './components/AuthInProgress.js';
32
- import { QwenOAuthProgress } from './components/QwenOAuthProgress.js';
33
- import { EditorSettingsDialog } from './components/EditorSettingsDialog.js';
34
- import { FolderTrustDialog } from './components/FolderTrustDialog.js';
35
- import { ShellConfirmationDialog } from './components/ShellConfirmationDialog.js';
36
- import { RadioButtonSelect } from './components/shared/RadioButtonSelect.js';
37
- import { Colors } from './colors.js';
38
- import { loadHierarchicalGeminiMemory } from '../config/config.js';
39
- import { SettingScope } from '../config/settings.js';
40
- import { Tips } from './components/Tips.js';
41
- import { ConsolePatcher } from './utils/ConsolePatcher.js';
42
- import { registerCleanup } from '../utils/cleanup.js';
43
- import { DetailedMessagesDisplay } from './components/DetailedMessagesDisplay.js';
44
- import { HistoryItemDisplay } from './components/HistoryItemDisplay.js';
45
- import { ContextSummaryDisplay } from './components/ContextSummaryDisplay.js';
46
- import { useHistory } from './hooks/useHistoryManager.js';
47
- import process from 'node:process';
48
- import { getErrorMessage, getAllGeminiMdFilenames, ApprovalMode, isEditorAvailable, FlashFallbackEvent, logFlashFallback, AuthType, ideContext, } from '@fsscoding/fss-link-core';
49
- import { IdeIntegrationNudge, } from './IdeIntegrationNudge.js';
50
- import { validateAuthMethod } from '../config/auth.js';
51
- import { useLogger } from './hooks/useLogger.js';
52
- import { StreamingContext } from './contexts/StreamingContext.js';
53
- import { SessionStatsProvider, useSessionStats, } from './contexts/SessionContext.js';
54
- import { useGitBranchName } from './hooks/useGitBranchName.js';
55
- import { useFocus } from './hooks/useFocus.js';
56
- import { useBracketedPaste } from './hooks/useBracketedPaste.js';
57
- import { useTextBuffer } from './components/shared/text-buffer.js';
58
- import { useVimMode, VimModeProvider } from './contexts/VimModeContext.js';
59
- import { useVim } from './hooks/vim.js';
60
- import { useKeypress } from './hooks/useKeypress.js';
61
- import { KeypressProvider } from './contexts/KeypressContext.js';
62
- import { useKittyKeyboardProtocol } from './hooks/useKittyKeyboardProtocol.js';
63
- import { keyMatchers, Command } from './keyMatchers.js';
64
- import * as fs from 'fs';
65
- import { UpdateNotification } from './components/UpdateNotification.js';
66
- import { isProQuotaExceededError, isGenericQuotaExceededError, UserTierId, } from '@fsscoding/fss-link-core';
67
- import ansiEscapes from 'ansi-escapes';
68
- import { SearchEngineConfigProvider } from '../services/SearchEngineConfigProvider.js';
69
- import { OverflowProvider } from './contexts/OverflowContext.js';
70
- import { ShowMoreLines } from './components/ShowMoreLines.js';
71
- import { PrivacyNotice } from './privacy/PrivacyNotice.js';
72
- import { useSettingsCommand } from './hooks/useSettingsCommand.js';
73
- import { SettingsDialog } from './components/SettingsDialog.js';
74
- import { setUpdateHandler } from '../utils/handleAutoUpdate.js';
75
- import { appEvents, AppEvent } from '../utils/events.js';
76
- import { isNarrowWidth } from './utils/isNarrowWidth.js';
77
- const CTRL_EXIT_PROMPT_DURATION_MS = 1000;
78
- // Maximum number of queued messages to display in UI to prevent performance issues
79
- const MAX_DISPLAYED_QUEUED_MESSAGES = 3;
80
- export const AppWrapper = (props) => {
81
- const kittyProtocolStatus = useKittyKeyboardProtocol();
82
- return (_jsx(KeypressProvider, { kittyProtocolEnabled: kittyProtocolStatus.enabled, config: props.config, children: _jsx(SessionStatsProvider, { children: _jsx(VimModeProvider, { settings: props.settings, children: _jsx(App, { ...props }) }) }) }));
83
- };
84
- const App = ({ config, settings, startupWarnings = [], version }) => {
85
- const isFocused = useFocus();
86
- useBracketedPaste();
87
- const [updateInfo, setUpdateInfo] = useState(null);
88
- const { stdout } = useStdout();
89
- const nightly = version.includes('nightly');
90
- const { history, addItem, clearItems, loadHistory } = useHistory();
91
- const [idePromptAnswered, setIdePromptAnswered] = useState(false);
92
- const currentIDE = config.getIdeClient().getCurrentIde();
93
- useEffect(() => {
94
- registerCleanup(() => config.getIdeClient().disconnect());
95
- }, [config]);
96
- const shouldShowIdePrompt = currentIDE &&
97
- !config.getIdeMode() &&
98
- !settings.merged.hasSeenIdeIntegrationNudge &&
99
- !idePromptAnswered;
100
- useEffect(() => {
101
- const cleanup = setUpdateHandler(addItem, setUpdateInfo);
102
- return cleanup;
103
- }, [addItem]);
104
- const { consoleMessages, handleNewMessage, clearConsoleMessages: clearConsoleMessagesState, } = useConsoleMessages();
105
- useEffect(() => {
106
- const consolePatcher = new ConsolePatcher({
107
- onNewMessage: handleNewMessage,
108
- debugMode: config.getDebugMode(),
109
- });
110
- consolePatcher.patch();
111
- registerCleanup(consolePatcher.cleanup);
112
- }, [handleNewMessage, config]);
113
- const { stats: sessionStats } = useSessionStats();
114
- const [staticNeedsRefresh, setStaticNeedsRefresh] = useState(false);
115
- const [staticKey, setStaticKey] = useState(0);
116
- const refreshStatic = useCallback(() => {
117
- stdout.write(ansiEscapes.clearTerminal);
118
- setStaticKey((prev) => prev + 1);
119
- }, [setStaticKey, stdout]);
120
- const [geminiMdFileCount, setGeminiMdFileCount] = useState(0);
121
- const [debugMessage, setDebugMessage] = useState('');
122
- const [themeError, setThemeError] = useState(null);
123
- const [authError, setAuthError] = useState(null);
124
- const [editorError, setEditorError] = useState(null);
125
- const [isSearchDialogOpen, setIsSearchDialogOpen] = useState(false);
126
- const [footerHeight, setFooterHeight] = useState(0);
127
- // Initialize search engine configuration from database
128
- useEffect(() => {
129
- const configProvider = SearchEngineConfigProvider.getInstance();
130
- configProvider.loadConfiguration();
131
- }, []);
132
- const [corgiMode, setCorgiMode] = useState(false);
133
- const [isTrustedFolderState, setIsTrustedFolder] = useState(config.isTrustedFolder());
134
- const [currentModel, setCurrentModel] = useState(config.getModel());
135
- const [shellModeActive, setShellModeActive] = useState(false);
136
- const [showErrorDetails, setShowErrorDetails] = useState(false);
137
- const [showToolDescriptions, setShowToolDescriptions] = useState(false);
138
- const [ctrlCPressedOnce, setCtrlCPressedOnce] = useState(false);
139
- const [quittingMessages, setQuittingMessages] = useState(null);
140
- const ctrlCTimerRef = useRef(null);
141
- const [ctrlDPressedOnce, setCtrlDPressedOnce] = useState(false);
142
- const ctrlDTimerRef = useRef(null);
143
- const [constrainHeight, setConstrainHeight] = useState(true);
144
- const [showPrivacyNotice, setShowPrivacyNotice] = useState(false);
145
- const [modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError] = useState(false);
146
- const [userTier, setUserTier] = useState(undefined);
147
- const [ideContextState, setIdeContextState] = useState();
148
- const [showEscapePrompt, setShowEscapePrompt] = useState(false);
149
- const [isProcessing, setIsProcessing] = useState(false);
150
- useEffect(() => {
151
- const unsubscribe = ideContext.subscribeToIdeContext(setIdeContextState);
152
- // Set the initial value
153
- setIdeContextState(ideContext.getIdeContext());
154
- return unsubscribe;
155
- }, []);
156
- useEffect(() => {
157
- const openDebugConsole = () => {
158
- setShowErrorDetails(true);
159
- setConstrainHeight(false); // Make sure the user sees the full message.
160
- };
161
- appEvents.on(AppEvent.OpenDebugConsole, openDebugConsole);
162
- const logErrorHandler = (errorMessage) => {
163
- handleNewMessage({
164
- type: 'error',
165
- content: String(errorMessage),
166
- count: 1,
167
- });
168
- };
169
- appEvents.on(AppEvent.LogError, logErrorHandler);
170
- return () => {
171
- appEvents.off(AppEvent.OpenDebugConsole, openDebugConsole);
172
- appEvents.off(AppEvent.LogError, logErrorHandler);
173
- };
174
- }, [handleNewMessage]);
175
- const openPrivacyNotice = useCallback(() => {
176
- setShowPrivacyNotice(true);
177
- }, []);
178
- const handleEscapePromptChange = useCallback((showPrompt) => {
179
- setShowEscapePrompt(showPrompt);
180
- }, []);
181
- const initialPromptSubmitted = useRef(false);
182
- const errorCount = useMemo(() => consoleMessages
183
- .filter((msg) => msg.type === 'error')
184
- .reduce((total, msg) => total + msg.count, 0), [consoleMessages]);
185
- const { isThemeDialogOpen, openThemeDialog, handleThemeSelect, handleThemeHighlight, } = useThemeCommand(settings, setThemeError, addItem);
186
- const { isSettingsDialogOpen, openSettingsDialog, closeSettingsDialog } = useSettingsCommand();
187
- const { isFolderTrustDialogOpen, handleFolderTrustSelect } = useFolderTrust(settings, setIsTrustedFolder);
188
- const { isAuthDialogOpen, openAuthDialog, handleAuthSelect, isAuthenticating, cancelAuthentication, } = useAuthCommand(settings, setAuthError, config);
189
- const { isQwenAuthenticating, deviceAuth, isQwenAuth, cancelQwenAuth, authStatus, authMessage, } = useQwenAuth(settings, isAuthenticating);
190
- useEffect(() => {
191
- if (settings.merged.selectedAuthType && !settings.merged.useExternalAuth) {
192
- const error = validateAuthMethod(settings.merged.selectedAuthType);
193
- if (error) {
194
- setAuthError(error);
195
- openAuthDialog();
196
- }
197
- }
198
- }, [
199
- settings.merged.selectedAuthType,
200
- settings.merged.useExternalAuth,
201
- openAuthDialog,
202
- setAuthError,
203
- ]);
204
- // Sync user tier from config when authentication changes
205
- useEffect(() => {
206
- // Only sync when not currently authenticating
207
- if (!isAuthenticating) {
208
- setUserTier(config.getGeminiClient()?.getUserTier());
209
- }
210
- }, [config, isAuthenticating]);
211
- // Handle Qwen OAuth timeout
212
- useEffect(() => {
213
- if (isQwenAuth && authStatus === 'timeout') {
214
- setAuthError(authMessage ||
215
- 'Qwen OAuth authentication timed out. Please try again or select a different authentication method.');
216
- cancelQwenAuth();
217
- cancelAuthentication();
218
- openAuthDialog();
219
- }
220
- }, [
221
- isQwenAuth,
222
- authStatus,
223
- authMessage,
224
- cancelQwenAuth,
225
- cancelAuthentication,
226
- openAuthDialog,
227
- setAuthError,
228
- ]);
229
- const { isEditorDialogOpen, openEditorDialog, handleEditorSelect, exitEditorDialog, } = useEditorSettings(settings, setEditorError, addItem);
230
- const toggleCorgiMode = useCallback(() => {
231
- setCorgiMode((prev) => !prev);
232
- }, []);
233
- const openSearchDialog = useCallback(() => {
234
- setIsSearchDialogOpen(true);
235
- }, []);
236
- const performMemoryRefresh = useCallback(async () => {
237
- addItem({
238
- type: MessageType.INFO,
239
- text: 'Refreshing hierarchical memory (LINK.md or other context files)...',
240
- }, Date.now());
241
- try {
242
- const { memoryContent, fileCount } = await loadHierarchicalGeminiMemory(process.cwd(), settings.merged.loadMemoryFromIncludeDirectories
243
- ? config.getWorkspaceContext().getDirectories()
244
- : [], config.getDebugMode(), config.getFileService(), settings.merged, config.getExtensionContextFilePaths(), settings.merged.memoryImportFormat || 'tree', // Use setting or default to 'tree'
245
- config.getFileFilteringOptions());
246
- config.setUserMemory(memoryContent);
247
- config.setGeminiMdFileCount(fileCount);
248
- setGeminiMdFileCount(fileCount);
249
- addItem({
250
- type: MessageType.INFO,
251
- text: `Memory refreshed successfully. ${memoryContent.length > 0 ? `Loaded ${memoryContent.length} characters from ${fileCount} file(s).` : 'No memory content found.'}`,
252
- }, Date.now());
253
- if (config.getDebugMode()) {
254
- console.log(`[DEBUG] Refreshed memory content in config: ${memoryContent.substring(0, 200)}...`);
255
- }
256
- }
257
- catch (error) {
258
- const errorMessage = getErrorMessage(error);
259
- addItem({
260
- type: MessageType.ERROR,
261
- text: `Error refreshing memory: ${errorMessage}`,
262
- }, Date.now());
263
- console.error('Error refreshing memory:', error);
264
- }
265
- }, [config, addItem, settings.merged]);
266
- // Watch for model changes (e.g., from Flash fallback)
267
- useEffect(() => {
268
- const checkModelChange = () => {
269
- const configModel = config.getModel();
270
- if (configModel !== currentModel) {
271
- setCurrentModel(configModel);
272
- }
273
- };
274
- // Check immediately and then periodically
275
- checkModelChange();
276
- const interval = setInterval(checkModelChange, 1000); // Check every second
277
- return () => clearInterval(interval);
278
- }, [config, currentModel]);
279
- // Set up Flash fallback handler
280
- useEffect(() => {
281
- const flashFallbackHandler = async (currentModel, fallbackModel, error) => {
282
- let message;
283
- if (config.getContentGeneratorConfig().authType ===
284
- AuthType.LOGIN_WITH_GOOGLE) {
285
- // Use actual user tier if available; otherwise, default to FREE tier behavior (safe default)
286
- const isPaidTier = userTier === UserTierId.LEGACY || userTier === UserTierId.STANDARD;
287
- // Check if this is a Pro quota exceeded error
288
- if (error && isProQuotaExceededError(error)) {
289
- if (isPaidTier) {
290
- message = `⚡ You have reached your daily ${currentModel} quota limit.
291
- ⚡ Automatically switching from ${currentModel} to ${fallbackModel} for the remainder of this session.
292
- ⚡ To continue accessing the ${currentModel} model today, consider using /auth to switch to using a paid API key from AI Studio at https://aistudio.google.com/apikey`;
293
- }
294
- else {
295
- message = `⚡ You have reached your daily ${currentModel} quota limit.
296
- ⚡ Automatically switching from ${currentModel} to ${fallbackModel} for the remainder of this session.
297
- ⚡ To increase your limits, upgrade to a Gemini Code Assist Standard or Enterprise plan with higher limits at https://goo.gle/set-up-gemini-code-assist
298
- ⚡ Or you can utilize a Gemini API Key. See: https://goo.gle/gemini-cli-docs-auth#gemini-api-key
299
- ⚡ You can switch authentication methods by typing /auth`;
300
- }
301
- }
302
- else if (error && isGenericQuotaExceededError(error)) {
303
- if (isPaidTier) {
304
- message = `⚡ You have reached your daily quota limit.
305
- ⚡ Automatically switching from ${currentModel} to ${fallbackModel} for the remainder of this session.
306
- ⚡ To continue accessing the ${currentModel} model today, consider using /auth to switch to using a paid API key from AI Studio at https://aistudio.google.com/apikey`;
307
- }
308
- else {
309
- message = `⚡ You have reached your daily quota limit.
310
- ⚡ Automatically switching from ${currentModel} to ${fallbackModel} for the remainder of this session.
311
- ⚡ To increase your limits, upgrade to a Gemini Code Assist Standard or Enterprise plan with higher limits at https://goo.gle/set-up-gemini-code-assist
312
- ⚡ Or you can utilize a Gemini API Key. See: https://goo.gle/gemini-cli-docs-auth#gemini-api-key
313
- ⚡ You can switch authentication methods by typing /auth`;
314
- }
315
- }
316
- else {
317
- if (isPaidTier) {
318
- // Default fallback message for other cases (like consecutive 429s)
319
- message = `⚡ Automatically switching from ${currentModel} to ${fallbackModel} for faster responses for the remainder of this session.
320
- ⚡ Possible reasons for this are that you have received multiple consecutive capacity errors or you have reached your daily ${currentModel} quota limit
321
- ⚡ To continue accessing the ${currentModel} model today, consider using /auth to switch to using a paid API key from AI Studio at https://aistudio.google.com/apikey`;
322
- }
323
- else {
324
- // Default fallback message for other cases (like consecutive 429s)
325
- message = `⚡ Automatically switching from ${currentModel} to ${fallbackModel} for faster responses for the remainder of this session.
326
- ⚡ Possible reasons for this are that you have received multiple consecutive capacity errors or you have reached your daily ${currentModel} quota limit
327
- ⚡ To increase your limits, upgrade to a Gemini Code Assist Standard or Enterprise plan with higher limits at https://goo.gle/set-up-gemini-code-assist
328
- ⚡ Or you can utilize a Gemini API Key. See: https://goo.gle/gemini-cli-docs-auth#gemini-api-key
329
- ⚡ You can switch authentication methods by typing /auth`;
330
- }
331
- }
332
- // Add message to UI history
333
- addItem({
334
- type: MessageType.INFO,
335
- text: message,
336
- }, Date.now());
337
- // Set the flag to prevent tool continuation
338
- setModelSwitchedFromQuotaError(true);
339
- // Set global quota error flag to prevent Flash model calls
340
- config.setQuotaErrorOccurred(true);
341
- }
342
- // Switch model for future use but return false to stop current retry
343
- config.setModel(fallbackModel);
344
- config.setFallbackMode(true);
345
- logFlashFallback(config, new FlashFallbackEvent(config.getContentGeneratorConfig().authType));
346
- return false; // Don't continue with current prompt
347
- };
348
- config.setFlashFallbackHandler(flashFallbackHandler);
349
- }, [config, addItem, userTier]);
350
- // Terminal and UI setup
351
- const { rows: terminalHeight, columns: terminalWidth } = useTerminalSize();
352
- const isNarrow = isNarrowWidth(terminalWidth);
353
- const { stdin, setRawMode } = useStdin();
354
- const isInitialMount = useRef(true);
355
- const widthFraction = 0.9;
356
- const inputWidth = Math.max(20, Math.floor(terminalWidth * widthFraction) - 3);
357
- const suggestionsWidth = Math.max(20, Math.floor(terminalWidth * 0.8));
358
- // Utility callbacks
359
- const isValidPath = useCallback((filePath) => {
360
- try {
361
- return fs.existsSync(filePath) && fs.statSync(filePath).isFile();
362
- }
363
- catch (_e) {
364
- return false;
365
- }
366
- }, []);
367
- const getPreferredEditor = useCallback(() => {
368
- const editorType = settings.merged.preferredEditor;
369
- const isValidEditor = isEditorAvailable(editorType);
370
- if (!isValidEditor) {
371
- openEditorDialog();
372
- return;
373
- }
374
- return editorType;
375
- }, [settings, openEditorDialog]);
376
- const onAuthError = useCallback(() => {
377
- setAuthError('reauth required');
378
- openAuthDialog();
379
- }, [openAuthDialog, setAuthError]);
380
- // Core hooks and processors
381
- const { vimEnabled: vimModeEnabled, vimMode, toggleVimEnabled, } = useVimMode();
382
- const { handleSlashCommand, slashCommands, pendingHistoryItems: pendingSlashCommandHistoryItems, commandContext, shellConfirmationRequest, confirmationRequest, } = useSlashCommandProcessor(config, settings, addItem, clearItems, loadHistory, refreshStatic, setDebugMessage, openThemeDialog, openAuthDialog, openEditorDialog, openSearchDialog, toggleCorgiMode, setQuittingMessages, openPrivacyNotice, openSettingsDialog, toggleVimEnabled, setIsProcessing, setGeminiMdFileCount);
383
- const buffer = useTextBuffer({
384
- initialText: '',
385
- viewport: { height: 10, width: inputWidth },
386
- stdin,
387
- setRawMode,
388
- isValidPath,
389
- shellModeActive,
390
- });
391
- const [userMessages, setUserMessages] = useState([]);
392
- // Stable reference for cancel handler to avoid circular dependency
393
- const cancelHandlerRef = useRef(() => { });
394
- const { streamingState, submitQuery, initError, pendingHistoryItems: pendingGeminiHistoryItems, thought, cancelOngoingRequest, } = useGeminiStream(config.getGeminiClient(), history, addItem, config, setDebugMessage, handleSlashCommand, shellModeActive, getPreferredEditor, onAuthError, performMemoryRefresh, modelSwitchedFromQuotaError, setModelSwitchedFromQuotaError, refreshStatic, () => cancelHandlerRef.current());
395
- // Message queue for handling input during streaming
396
- const { messageQueue, addMessage, clearQueue, getQueuedMessagesText } = useMessageQueue({
397
- streamingState,
398
- submitQuery,
399
- });
400
- // Update the cancel handler with message queue support
401
- cancelHandlerRef.current = useCallback(() => {
402
- const lastUserMessage = userMessages.at(-1);
403
- let textToSet = lastUserMessage || '';
404
- // Append queued messages if any exist
405
- const queuedText = getQueuedMessagesText();
406
- if (queuedText) {
407
- textToSet = textToSet ? `${textToSet}\n\n${queuedText}` : queuedText;
408
- clearQueue();
409
- }
410
- if (textToSet) {
411
- buffer.setText(textToSet);
412
- }
413
- }, [buffer, userMessages, getQueuedMessagesText, clearQueue]);
414
- // Input handling - queue messages for processing
415
- const handleFinalSubmit = useCallback((submittedValue) => {
416
- addMessage(submittedValue);
417
- }, [addMessage]);
418
- const handleIdePromptComplete = useCallback((result) => {
419
- if (result.userSelection === 'yes') {
420
- if (result.isExtensionPreInstalled) {
421
- handleSlashCommand('/ide enable');
422
- }
423
- else {
424
- handleSlashCommand('/ide install');
425
- }
426
- settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
427
- }
428
- else if (result.userSelection === 'dismiss') {
429
- settings.setValue(SettingScope.User, 'hasSeenIdeIntegrationNudge', true);
430
- }
431
- setIdePromptAnswered(true);
432
- }, [handleSlashCommand, settings]);
433
- const { handleInput: vimHandleInput } = useVim(buffer, handleFinalSubmit);
434
- const pendingHistoryItems = [...pendingSlashCommandHistoryItems];
435
- pendingHistoryItems.push(...pendingGeminiHistoryItems);
436
- const { elapsedTime, currentLoadingPhrase } = useLoadingIndicator(streamingState);
437
- const showAutoAcceptIndicator = useAutoAcceptIndicator({ config });
438
- const handleExit = useCallback((pressedOnce, setPressedOnce, timerRef) => {
439
- if (pressedOnce) {
440
- if (timerRef.current) {
441
- clearTimeout(timerRef.current);
442
- }
443
- // Directly invoke the central command handler.
444
- handleSlashCommand('/quit');
445
- }
446
- else {
447
- setPressedOnce(true);
448
- timerRef.current = setTimeout(() => {
449
- setPressedOnce(false);
450
- timerRef.current = null;
451
- }, CTRL_EXIT_PROMPT_DURATION_MS);
452
- }
453
- }, [handleSlashCommand]);
454
- const handleGlobalKeypress = useCallback((key) => {
455
- let enteringConstrainHeightMode = false;
456
- if (!constrainHeight) {
457
- enteringConstrainHeightMode = true;
458
- setConstrainHeight(true);
459
- }
460
- if (keyMatchers[Command.SHOW_ERROR_DETAILS](key)) {
461
- setShowErrorDetails((prev) => !prev);
462
- }
463
- else if (keyMatchers[Command.TOGGLE_TOOL_DESCRIPTIONS](key)) {
464
- const newValue = !showToolDescriptions;
465
- setShowToolDescriptions(newValue);
466
- const mcpServers = config.getMcpServers();
467
- if (Object.keys(mcpServers || {}).length > 0) {
468
- handleSlashCommand(newValue ? '/mcp desc' : '/mcp nodesc');
469
- }
470
- }
471
- else if (keyMatchers[Command.TOGGLE_IDE_CONTEXT_DETAIL](key) &&
472
- config.getIdeMode() &&
473
- ideContextState) {
474
- // Show IDE status when in IDE mode and context is available.
475
- handleSlashCommand('/ide status');
476
- }
477
- else if (keyMatchers[Command.QUIT](key)) {
478
- // When authenticating, let AuthInProgress component handle Ctrl+C.
479
- if (isAuthenticating) {
480
- return;
481
- }
482
- if (!ctrlCPressedOnce) {
483
- cancelOngoingRequest?.();
484
- }
485
- handleExit(ctrlCPressedOnce, setCtrlCPressedOnce, ctrlCTimerRef);
486
- }
487
- else if (keyMatchers[Command.EXIT](key)) {
488
- if (buffer.text.length > 0) {
489
- return;
490
- }
491
- handleExit(ctrlDPressedOnce, setCtrlDPressedOnce, ctrlDTimerRef);
492
- }
493
- else if (keyMatchers[Command.SHOW_MORE_LINES](key) &&
494
- !enteringConstrainHeightMode) {
495
- setConstrainHeight(false);
496
- }
497
- }, [
498
- constrainHeight,
499
- setConstrainHeight,
500
- setShowErrorDetails,
501
- showToolDescriptions,
502
- setShowToolDescriptions,
503
- config,
504
- ideContextState,
505
- handleExit,
506
- ctrlCPressedOnce,
507
- setCtrlCPressedOnce,
508
- ctrlCTimerRef,
509
- buffer.text.length,
510
- ctrlDPressedOnce,
511
- setCtrlDPressedOnce,
512
- ctrlDTimerRef,
513
- handleSlashCommand,
514
- isAuthenticating,
515
- cancelOngoingRequest,
516
- ]);
517
- useKeypress(handleGlobalKeypress, {
518
- isActive: true,
519
- });
520
- useEffect(() => {
521
- if (config) {
522
- setGeminiMdFileCount(config.getGeminiMdFileCount());
523
- }
524
- }, [config, config.getGeminiMdFileCount]);
525
- const logger = useLogger();
526
- useEffect(() => {
527
- const fetchUserMessages = async () => {
528
- const pastMessagesRaw = (await logger?.getPreviousUserMessages()) || []; // Newest first
529
- const currentSessionUserMessages = history
530
- .filter((item) => item.type === 'user' &&
531
- typeof item.text === 'string' &&
532
- item.text.trim() !== '')
533
- .map((item) => item.text)
534
- .reverse(); // Newest first, to match pastMessagesRaw sorting
535
- // Combine, with current session messages being more recent
536
- const combinedMessages = [
537
- ...currentSessionUserMessages,
538
- ...pastMessagesRaw,
539
- ];
540
- // Deduplicate consecutive identical messages from the combined list (still newest first)
541
- const deduplicatedMessages = [];
542
- if (combinedMessages.length > 0) {
543
- deduplicatedMessages.push(combinedMessages[0]); // Add the newest one unconditionally
544
- for (let i = 1; i < combinedMessages.length; i++) {
545
- if (combinedMessages[i] !== combinedMessages[i - 1]) {
546
- deduplicatedMessages.push(combinedMessages[i]);
547
- }
548
- }
549
- }
550
- // Reverse to oldest first for useInputHistory
551
- setUserMessages(deduplicatedMessages.reverse());
552
- };
553
- fetchUserMessages();
554
- }, [history, logger]);
555
- const isInputActive = (streamingState === StreamingState.Idle ||
556
- streamingState === StreamingState.Responding) &&
557
- !initError &&
558
- !isProcessing;
559
- const handleClearScreen = useCallback(() => {
560
- clearItems();
561
- clearConsoleMessagesState();
562
- console.clear();
563
- refreshStatic();
564
- }, [clearItems, clearConsoleMessagesState, refreshStatic]);
565
- const mainControlsRef = useRef(null);
566
- const pendingHistoryItemRef = useRef(null);
567
- useEffect(() => {
568
- if (mainControlsRef.current) {
569
- const fullFooterMeasurement = measureElement(mainControlsRef.current);
570
- setFooterHeight(fullFooterMeasurement.height);
571
- }
572
- }, [terminalHeight, consoleMessages, showErrorDetails]);
573
- const staticExtraHeight = /* margins and padding */ 3;
574
- const availableTerminalHeight = useMemo(() => terminalHeight - footerHeight - staticExtraHeight, [terminalHeight, footerHeight]);
575
- useEffect(() => {
576
- // skip refreshing Static during first mount
577
- if (isInitialMount.current) {
578
- isInitialMount.current = false;
579
- return;
580
- }
581
- // debounce so it doesn't fire up too often during resize
582
- const handler = setTimeout(() => {
583
- setStaticNeedsRefresh(false);
584
- refreshStatic();
585
- }, 300);
586
- return () => {
587
- clearTimeout(handler);
588
- };
589
- }, [terminalWidth, terminalHeight, refreshStatic]);
590
- useEffect(() => {
591
- if (streamingState === StreamingState.Idle && staticNeedsRefresh) {
592
- setStaticNeedsRefresh(false);
593
- refreshStatic();
594
- }
595
- }, [streamingState, refreshStatic, staticNeedsRefresh]);
596
- const filteredConsoleMessages = useMemo(() => {
597
- if (config.getDebugMode()) {
598
- return consoleMessages;
599
- }
600
- return consoleMessages.filter((msg) => msg.type !== 'debug');
601
- }, [consoleMessages, config]);
602
- const branchName = useGitBranchName(config.getTargetDir());
603
- const contextFileNames = useMemo(() => {
604
- const fromSettings = settings.merged.contextFileName;
605
- if (fromSettings) {
606
- return Array.isArray(fromSettings) ? fromSettings : [fromSettings];
607
- }
608
- return getAllGeminiMdFilenames();
609
- }, [settings.merged.contextFileName]);
610
- const initialPrompt = useMemo(() => config.getQuestion(), [config]);
611
- const geminiClient = config.getGeminiClient();
612
- useEffect(() => {
613
- if (initialPrompt &&
614
- !initialPromptSubmitted.current &&
615
- !isAuthenticating &&
616
- !isAuthDialogOpen &&
617
- !isThemeDialogOpen &&
618
- !isEditorDialogOpen &&
619
- !isSearchDialogOpen &&
620
- !showPrivacyNotice &&
621
- geminiClient?.isInitialized?.()) {
622
- submitQuery(initialPrompt);
623
- initialPromptSubmitted.current = true;
624
- }
625
- }, [
626
- initialPrompt,
627
- submitQuery,
628
- isAuthenticating,
629
- isAuthDialogOpen,
630
- isThemeDialogOpen,
631
- isEditorDialogOpen,
632
- isSearchDialogOpen,
633
- showPrivacyNotice,
634
- geminiClient,
635
- ]);
636
- if (quittingMessages) {
637
- return (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: quittingMessages.map((item) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: constrainHeight ? availableTerminalHeight : undefined, terminalWidth: terminalWidth, item: item, isPending: false, config: config }, item.id))) }));
638
- }
639
- const mainAreaWidth = Math.floor(terminalWidth * 0.9);
640
- const debugConsoleMaxHeight = Math.floor(Math.max(terminalHeight * 0.2, 5));
641
- // Arbitrary threshold to ensure that items in the static area are large
642
- // enough but not too large to make the terminal hard to use.
643
- const staticAreaMaxItemHeight = Math.max(terminalHeight * 4, 100);
644
- const placeholder = vimModeEnabled
645
- ? " Press 'i' for INSERT mode and 'Esc' for NORMAL mode."
646
- : ' Type your message or @path/to/file';
647
- return (_jsx(StreamingContext.Provider, { value: streamingState, children: _jsxs(Box, { flexDirection: "column", width: "90%", children: [_jsx(Static, { items: [
648
- _jsxs(Box, { flexDirection: "column", children: [!settings.merged.hideBanner && (_jsx(Header, { version: version, nightly: nightly })), !settings.merged.hideTips && _jsx(Tips, { config: config })] }, "header"),
649
- ...history.map((h) => (_jsx(HistoryItemDisplay, { terminalWidth: mainAreaWidth, availableTerminalHeight: staticAreaMaxItemHeight, item: h, isPending: false, config: config, commands: slashCommands }, h.id))),
650
- ], children: (item) => item }, staticKey), _jsx(OverflowProvider, { children: _jsxs(Box, { ref: pendingHistoryItemRef, flexDirection: "column", children: [pendingHistoryItems.map((item, i) => (_jsx(HistoryItemDisplay, { availableTerminalHeight: constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth,
651
- // TODO(taehykim): It seems like references to ids aren't necessary in
652
- // HistoryItemDisplay. Refactor later. Use a fake id for now.
653
- item: { ...item, id: 0 }, isPending: true, config: config, isFocused: !isEditorDialogOpen }, i))), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }), _jsxs(Box, { flexDirection: "column", ref: mainControlsRef, children: [updateInfo && _jsx(UpdateNotification, { message: updateInfo.message }), startupWarnings.length > 0 && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentYellow, paddingX: 1, marginY: 1, flexDirection: "column", children: startupWarnings.map((warning, index) => (_jsx(Text, { color: Colors.AccentYellow, children: warning }, index))) })), shouldShowIdePrompt && currentIDE ? (_jsx(IdeIntegrationNudge, { ide: currentIDE, onComplete: handleIdePromptComplete })) : isFolderTrustDialogOpen ? (_jsx(FolderTrustDialog, { onSelect: handleFolderTrustSelect })) : shellConfirmationRequest ? (_jsx(ShellConfirmationDialog, { request: shellConfirmationRequest })) : confirmationRequest ? (_jsxs(Box, { flexDirection: "column", children: [confirmationRequest.prompt, _jsx(Box, { paddingY: 1, children: _jsx(RadioButtonSelect, { isFocused: !!confirmationRequest, items: [
654
- { label: 'Yes', value: true },
655
- { label: 'No', value: false },
656
- ], onSelect: (value) => {
657
- confirmationRequest.onConfirm(value);
658
- } }) })] })) : isThemeDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [themeError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: themeError }) })), _jsx(ThemeDialog, { onSelect: handleThemeSelect, onHighlight: handleThemeHighlight, settings: settings, availableTerminalHeight: constrainHeight
659
- ? terminalHeight - staticExtraHeight
660
- : undefined, terminalWidth: mainAreaWidth })] })) : isSettingsDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(SettingsDialog, { settings: settings, onSelect: () => closeSettingsDialog(), onRestartRequest: () => process.exit(0) }) })) : isAuthenticating ? (_jsxs(_Fragment, { children: [isQwenAuth && isQwenAuthenticating ? (_jsx(QwenOAuthProgress, { deviceAuth: deviceAuth || undefined, authStatus: authStatus, authMessage: authMessage, onTimeout: () => {
661
- setAuthError('Qwen OAuth authentication timed out. Please try again.');
662
- cancelQwenAuth();
663
- cancelAuthentication();
664
- openAuthDialog();
665
- }, onCancel: () => {
666
- setAuthError('Qwen OAuth authentication cancelled.');
667
- cancelQwenAuth();
668
- cancelAuthentication();
669
- openAuthDialog();
670
- } })) : (_jsx(AuthInProgress, { onTimeout: () => {
671
- setAuthError('Authentication timed out. Please try again.');
672
- cancelAuthentication();
673
- openAuthDialog();
674
- } })), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) }))] })) : isAuthDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(AuthDialog, { onSelect: handleAuthSelect, settings: settings, initialErrorMessage: authError }) })) : isEditorDialogOpen ? (_jsxs(Box, { flexDirection: "column", children: [editorError && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: Colors.AccentRed, children: editorError }) })), _jsx(EditorSettingsDialog, { onSelect: handleEditorSelect, settings: settings, onExit: exitEditorDialog })] })) : isSearchDialogOpen ? (_jsx(Box, { flexDirection: "column", children: _jsx(SearchEngineConfigDialog, { onSubmit: (result) => {
675
- setIsSearchDialogOpen(false);
676
- // Show success message
677
- addItem({
678
- type: MessageType.INFO,
679
- text: `Search engines configured! ${result.braveEnabled ? 'Brave Search' : ''}${result.braveEnabled && result.tavilyEnabled ? ' and ' : ''}${result.tavilyEnabled ? 'Tavily Search' : ''} ${result.braveEnabled || result.tavilyEnabled ? 'enabled' : 'disabled'}.`,
680
- }, Date.now());
681
- }, onCancel: () => {
682
- setIsSearchDialogOpen(false);
683
- } }) })) : showPrivacyNotice ? (_jsx(PrivacyNotice, { onExit: () => setShowPrivacyNotice(false), config: config })) : (_jsxs(_Fragment, { children: [_jsx(LoadingIndicator, { thought: streamingState === StreamingState.WaitingForConfirmation ||
684
- config.getAccessibility()?.disableLoadingPhrases
685
- ? undefined
686
- : thought, currentLoadingPhrase: config.getAccessibility()?.disableLoadingPhrases
687
- ? undefined
688
- : currentLoadingPhrase, elapsedTime: elapsedTime }), messageQueue.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [messageQueue
689
- .slice(0, MAX_DISPLAYED_QUEUED_MESSAGES)
690
- .map((message, index) => {
691
- // Ensure multi-line messages are collapsed for the preview.
692
- // Replace all whitespace (including newlines) with a single space.
693
- const preview = message.replace(/\s+/g, ' ');
694
- return (
695
- // Ensure the Box takes full width so truncation calculates correctly
696
- _jsx(Box, { paddingLeft: 2, width: "100%", children: _jsx(Text, { dimColor: true, wrap: "truncate", children: preview }) }, index));
697
- }), messageQueue.length > MAX_DISPLAYED_QUEUED_MESSAGES && (_jsx(Box, { paddingLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["... (+", messageQueue.length -
698
- MAX_DISPLAYED_QUEUED_MESSAGES, ' ', "more)"] }) }))] })), _jsxs(Box, { marginTop: 1, justifyContent: "space-between", width: "100%", flexDirection: isNarrow ? 'column' : 'row', alignItems: isNarrow ? 'flex-start' : 'center', children: [_jsxs(Box, { children: [process.env['GEMINI_SYSTEM_MD'] && (_jsx(Text, { color: Colors.AccentRed, children: "|\u2310\u25A0_\u25A0| " })), ctrlCPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+C again to exit." })) : ctrlDPressedOnce ? (_jsx(Text, { color: Colors.AccentYellow, children: "Press Ctrl+D again to exit." })) : showEscapePrompt ? (_jsx(Text, { color: Colors.Gray, children: "Press Esc again to clear." })) : (_jsx(ContextSummaryDisplay, { ideContext: ideContextState, geminiMdFileCount: geminiMdFileCount, contextFileNames: contextFileNames, mcpServers: config.getMcpServers(), blockedMcpServers: config.getBlockedMcpServers(), showToolDescriptions: showToolDescriptions }))] }), _jsxs(Box, { paddingTop: isNarrow ? 1 : 0, children: [showAutoAcceptIndicator !== ApprovalMode.DEFAULT &&
699
- !shellModeActive && (_jsx(AutoAcceptIndicator, { approvalMode: showAutoAcceptIndicator })), shellModeActive && _jsx(ShellModeIndicator, {})] })] }), showErrorDetails && (_jsx(OverflowProvider, { children: _jsxs(Box, { flexDirection: "column", children: [_jsx(DetailedMessagesDisplay, { messages: filteredConsoleMessages, maxHeight: constrainHeight ? debugConsoleMaxHeight : undefined, width: inputWidth }), _jsx(ShowMoreLines, { constrainHeight: constrainHeight })] }) })), isInputActive && (_jsx(InputPrompt, { buffer: buffer, inputWidth: inputWidth, suggestionsWidth: suggestionsWidth, onSubmit: handleFinalSubmit, userMessages: userMessages, onClearScreen: handleClearScreen, config: config, slashCommands: slashCommands, commandContext: commandContext, shellModeActive: shellModeActive, setShellModeActive: setShellModeActive, onEscapePromptChange: handleEscapePromptChange, focus: isFocused, vimHandleInput: vimHandleInput, placeholder: placeholder }))] })), initError && streamingState !== StreamingState.Responding && (_jsx(Box, { borderStyle: "round", borderColor: Colors.AccentRed, paddingX: 1, marginBottom: 1, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text ? (_jsx(Text, { color: Colors.AccentRed, children: history.find((item) => item.type === 'error' && item.text?.includes(initError))?.text })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { color: Colors.AccentRed, children: ["Initialization Error: ", initError] }), _jsxs(Text, { color: Colors.AccentRed, children: [' ', "Please check API key and configuration."] })] })) })), !settings.merged.hideFooter && (_jsx(Footer, { model: currentModel, targetDir: config.getTargetDir(), debugMode: config.getDebugMode(), branchName: branchName, debugMessage: debugMessage, corgiMode: corgiMode, errorCount: errorCount, showErrorDetails: showErrorDetails, showMemoryUsage: config.getDebugMode() ||
700
- settings.merged.showMemoryUsage ||
701
- false, promptTokenCount: sessionStats.lastPromptTokenCount, nightly: nightly, vimMode: vimModeEnabled ? vimMode : undefined, isTrustedFolder: isTrustedFolderState }))] })] }) }));
702
- };
703
- //# sourceMappingURL=App.js.map