mpd-llm-cli 0.1.24 → 0.1.25

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 (468) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +203 -0
  3. package/README.zh-CN.md +206 -0
  4. package/bundle/api.cjs +166773 -0
  5. package/bundle/api.js +166768 -0
  6. package/bundle/gemini.js +281183 -0
  7. package/package.json +79 -66
  8. package/dist/.last_build +0 -0
  9. package/dist/index.d.ts +0 -7
  10. package/dist/index.js +0 -20
  11. package/dist/index.js.map +0 -1
  12. package/dist/package.json +0 -83
  13. package/dist/src/api/index.d.ts +0 -17
  14. package/dist/src/api/index.js +0 -192
  15. package/dist/src/api/index.js.map +0 -1
  16. package/dist/src/api/types.d.ts +0 -32
  17. package/dist/src/api/types.js +0 -2
  18. package/dist/src/api/types.js.map +0 -1
  19. package/dist/src/api/util.d.ts +0 -4
  20. package/dist/src/api/util.js +0 -67
  21. package/dist/src/api/util.js.map +0 -1
  22. package/dist/src/config/auth.d.ts +0 -6
  23. package/dist/src/config/auth.js +0 -42
  24. package/dist/src/config/auth.js.map +0 -1
  25. package/dist/src/config/config.d.ts +0 -13
  26. package/dist/src/config/config.js +0 -248
  27. package/dist/src/config/config.js.map +0 -1
  28. package/dist/src/config/extension.d.ts +0 -21
  29. package/dist/src/config/extension.js +0 -109
  30. package/dist/src/config/extension.js.map +0 -1
  31. package/dist/src/config/mpdaiConfig.d.ts +0 -28
  32. package/dist/src/config/mpdaiConfig.js +0 -84
  33. package/dist/src/config/mpdaiConfig.js.map +0 -1
  34. package/dist/src/config/sandboxConfig.d.ts +0 -13
  35. package/dist/src/config/sandboxConfig.js +0 -75
  36. package/dist/src/config/sandboxConfig.js.map +0 -1
  37. package/dist/src/config/settings.d.ts +0 -72
  38. package/dist/src/config/settings.js +0 -227
  39. package/dist/src/config/settings.js.map +0 -1
  40. package/dist/src/config/startup.d.ts +0 -21
  41. package/dist/src/config/startup.js +0 -118
  42. package/dist/src/config/startup.js.map +0 -1
  43. package/dist/src/gemini.d.ts +0 -6
  44. package/dist/src/gemini.js +0 -300
  45. package/dist/src/gemini.js.map +0 -1
  46. package/dist/src/generated/git-commit.d.ts +0 -6
  47. package/dist/src/generated/git-commit.js +0 -9
  48. package/dist/src/generated/git-commit.js.map +0 -1
  49. package/dist/src/nonInteractiveCli.d.ts +0 -7
  50. package/dist/src/nonInteractiveCli.js +0 -115
  51. package/dist/src/nonInteractiveCli.js.map +0 -1
  52. package/dist/src/services/AuthService.d.ts +0 -110
  53. package/dist/src/services/AuthService.js +0 -258
  54. package/dist/src/services/AuthService.js.map +0 -1
  55. package/dist/src/services/CommandService.d.ts +0 -13
  56. package/dist/src/services/CommandService.js +0 -34
  57. package/dist/src/services/CommandService.js.map +0 -1
  58. package/dist/src/services/EnvConfigManager.d.ts +0 -34
  59. package/dist/src/services/EnvConfigManager.js +0 -141
  60. package/dist/src/services/EnvConfigManager.js.map +0 -1
  61. package/dist/src/services/README.md +0 -114
  62. package/dist/src/services/debug-auth.d.ts +0 -10
  63. package/dist/src/services/debug-auth.js +0 -104
  64. package/dist/src/services/debug-auth.js.map +0 -1
  65. package/dist/src/services/demo.d.ts +0 -10
  66. package/dist/src/services/demo.js +0 -96
  67. package/dist/src/services/demo.js.map +0 -1
  68. package/dist/src/services/test-auth.d.ts +0 -10
  69. package/dist/src/services/test-auth.js +0 -104
  70. package/dist/src/services/test-auth.js.map +0 -1
  71. package/dist/src/services/test-readline.d.ts +0 -6
  72. package/dist/src/services/test-readline.js +0 -32
  73. package/dist/src/services/test-readline.js.map +0 -1
  74. package/dist/src/telemetry/README.md +0 -135
  75. package/dist/src/telemetry/costCalculator.d.ts +0 -401
  76. package/dist/src/telemetry/costCalculator.js +0 -555
  77. package/dist/src/telemetry/costCalculator.js.map +0 -1
  78. package/dist/src/telemetry/dataCollector.d.ts +0 -83
  79. package/dist/src/telemetry/dataCollector.js +0 -392
  80. package/dist/src/telemetry/dataCollector.js.map +0 -1
  81. package/dist/src/telemetry/langfuseClient.d.ts +0 -96
  82. package/dist/src/telemetry/langfuseClient.js +0 -485
  83. package/dist/src/telemetry/langfuseClient.js.map +0 -1
  84. package/dist/src/telemetry/langfuseConfig.d.ts +0 -21
  85. package/dist/src/telemetry/langfuseConfig.js +0 -64
  86. package/dist/src/telemetry/langfuseConfig.js.map +0 -1
  87. package/dist/src/telemetry/langfuseIntegration.d.ts +0 -66
  88. package/dist/src/telemetry/langfuseIntegration.js +0 -238
  89. package/dist/src/telemetry/langfuseIntegration.js.map +0 -1
  90. package/dist/src/telemetry/toolExecutionInterceptor.d.ts +0 -29
  91. package/dist/src/telemetry/toolExecutionInterceptor.js +0 -122
  92. package/dist/src/telemetry/toolExecutionInterceptor.js.map +0 -1
  93. package/dist/src/ui/App.d.ts +0 -14
  94. package/dist/src/ui/App.js +0 -466
  95. package/dist/src/ui/App.js.map +0 -1
  96. package/dist/src/ui/colors.d.ts +0 -7
  97. package/dist/src/ui/colors.js +0 -48
  98. package/dist/src/ui/colors.js.map +0 -1
  99. package/dist/src/ui/commands/clearCommand.d.ts +0 -7
  100. package/dist/src/ui/commands/clearCommand.js +0 -15
  101. package/dist/src/ui/commands/clearCommand.js.map +0 -1
  102. package/dist/src/ui/commands/helpCommand.d.ts +0 -7
  103. package/dist/src/ui/commands/helpCommand.js +0 -18
  104. package/dist/src/ui/commands/helpCommand.js.map +0 -1
  105. package/dist/src/ui/commands/logoutCommand.d.ts +0 -7
  106. package/dist/src/ui/commands/logoutCommand.js +0 -77
  107. package/dist/src/ui/commands/logoutCommand.js.map +0 -1
  108. package/dist/src/ui/commands/memoryCommand.d.ts +0 -7
  109. package/dist/src/ui/commands/memoryCommand.js +0 -81
  110. package/dist/src/ui/commands/memoryCommand.js.map +0 -1
  111. package/dist/src/ui/commands/modelCommand.d.ts +0 -14
  112. package/dist/src/ui/commands/modelCommand.js +0 -58
  113. package/dist/src/ui/commands/modelCommand.js.map +0 -1
  114. package/dist/src/ui/commands/types.d.ts +0 -63
  115. package/dist/src/ui/commands/types.js +0 -7
  116. package/dist/src/ui/commands/types.js.map +0 -1
  117. package/dist/src/ui/components/AboutBox.d.ts +0 -16
  118. package/dist/src/ui/components/AboutBox.js +0 -6
  119. package/dist/src/ui/components/AboutBox.js.map +0 -1
  120. package/dist/src/ui/components/AsciiArt.d.ts +0 -7
  121. package/dist/src/ui/components/AsciiArt.js +0 -25
  122. package/dist/src/ui/components/AsciiArt.js.map +0 -1
  123. package/dist/src/ui/components/AuthDialog.d.ts +0 -15
  124. package/dist/src/ui/components/AuthDialog.js +0 -75
  125. package/dist/src/ui/components/AuthDialog.js.map +0 -1
  126. package/dist/src/ui/components/AuthInProgress.d.ts +0 -11
  127. package/dist/src/ui/components/AuthInProgress.js +0 -27
  128. package/dist/src/ui/components/AuthInProgress.js.map +0 -1
  129. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +0 -12
  130. package/dist/src/ui/components/AutoAcceptIndicator.js +0 -26
  131. package/dist/src/ui/components/AutoAcceptIndicator.js.map +0 -1
  132. package/dist/src/ui/components/ConsolePatcher.d.ts +0 -12
  133. package/dist/src/ui/components/ConsolePatcher.js +0 -38
  134. package/dist/src/ui/components/ConsolePatcher.js.map +0 -1
  135. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +0 -11
  136. package/dist/src/ui/components/ConsoleSummaryDisplay.js +0 -11
  137. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +0 -1
  138. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +0 -15
  139. package/dist/src/ui/components/ContextSummaryDisplay.js +0 -41
  140. package/dist/src/ui/components/ContextSummaryDisplay.js.map +0 -1
  141. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +0 -14
  142. package/dist/src/ui/components/DetailedMessagesDisplay.js +0 -34
  143. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +0 -1
  144. package/dist/src/ui/components/EditorSettingsDialog.d.ts +0 -15
  145. package/dist/src/ui/components/EditorSettingsDialog.js +0 -73
  146. package/dist/src/ui/components/EditorSettingsDialog.js.map +0 -1
  147. package/dist/src/ui/components/Footer.d.ts +0 -20
  148. package/dist/src/ui/components/Footer.js +0 -19
  149. package/dist/src/ui/components/Footer.js.map +0 -1
  150. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +0 -17
  151. package/dist/src/ui/components/GeminiRespondingSpinner.js +0 -16
  152. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +0 -1
  153. package/dist/src/ui/components/Header.d.ts +0 -12
  154. package/dist/src/ui/components/Header.js +0 -20
  155. package/dist/src/ui/components/Header.js.map +0 -1
  156. package/dist/src/ui/components/Help.d.ts +0 -12
  157. package/dist/src/ui/components/Help.js +0 -10
  158. package/dist/src/ui/components/Help.js.map +0 -1
  159. package/dist/src/ui/components/HistoryItemDisplay.d.ts +0 -18
  160. package/dist/src/ui/components/HistoryItemDisplay.js +0 -17
  161. package/dist/src/ui/components/HistoryItemDisplay.js.map +0 -1
  162. package/dist/src/ui/components/InputPrompt.d.ts +0 -25
  163. package/dist/src/ui/components/InputPrompt.js +0 -280
  164. package/dist/src/ui/components/InputPrompt.js.map +0 -1
  165. package/dist/src/ui/components/LoadingIndicator.d.ts +0 -15
  166. package/dist/src/ui/components/LoadingIndicator.js +0 -20
  167. package/dist/src/ui/components/LoadingIndicator.js.map +0 -1
  168. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +0 -7
  169. package/dist/src/ui/components/MemoryUsageDisplay.js +0 -27
  170. package/dist/src/ui/components/MemoryUsageDisplay.js.map +0 -1
  171. package/dist/src/ui/components/ModelDialog.d.ts +0 -14
  172. package/dist/src/ui/components/ModelDialog.js +0 -34
  173. package/dist/src/ui/components/ModelDialog.js.map +0 -1
  174. package/dist/src/ui/components/ModelStatsDisplay.d.ts +0 -7
  175. package/dist/src/ui/components/ModelStatsDisplay.js +0 -33
  176. package/dist/src/ui/components/ModelStatsDisplay.js.map +0 -1
  177. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +0 -11
  178. package/dist/src/ui/components/SessionSummaryDisplay.js +0 -4
  179. package/dist/src/ui/components/SessionSummaryDisplay.js.map +0 -1
  180. package/dist/src/ui/components/ShellModeIndicator.d.ts +0 -7
  181. package/dist/src/ui/components/ShellModeIndicator.js +0 -5
  182. package/dist/src/ui/components/ShellModeIndicator.js.map +0 -1
  183. package/dist/src/ui/components/ShowMoreLines.d.ts +0 -10
  184. package/dist/src/ui/components/ShowMoreLines.js +0 -24
  185. package/dist/src/ui/components/ShowMoreLines.js.map +0 -1
  186. package/dist/src/ui/components/StatsDisplay.d.ts +0 -12
  187. package/dist/src/ui/components/StatsDisplay.js +0 -42
  188. package/dist/src/ui/components/StatsDisplay.js.map +0 -1
  189. package/dist/src/ui/components/SuggestionsDisplay.d.ts +0 -21
  190. package/dist/src/ui/components/SuggestionsDisplay.js +0 -32
  191. package/dist/src/ui/components/SuggestionsDisplay.js.map +0 -1
  192. package/dist/src/ui/components/ThemeDialog.d.ts +0 -19
  193. package/dist/src/ui/components/ThemeDialog.js +0 -126
  194. package/dist/src/ui/components/ThemeDialog.js.map +0 -1
  195. package/dist/src/ui/components/Tips.d.ts +0 -12
  196. package/dist/src/ui/components/Tips.js +0 -8
  197. package/dist/src/ui/components/Tips.js.map +0 -1
  198. package/dist/src/ui/components/ToolStatsDisplay.d.ts +0 -7
  199. package/dist/src/ui/components/ToolStatsDisplay.js +0 -41
  200. package/dist/src/ui/components/ToolStatsDisplay.js.map +0 -1
  201. package/dist/src/ui/components/UpdateNotification.d.ts +0 -10
  202. package/dist/src/ui/components/UpdateNotification.js +0 -10
  203. package/dist/src/ui/components/UpdateNotification.js.map +0 -1
  204. package/dist/src/ui/components/messages/CompressionMessage.d.ts +0 -11
  205. package/dist/src/ui/components/messages/CompressionMessage.js +0 -16
  206. package/dist/src/ui/components/messages/CompressionMessage.js.map +0 -1
  207. package/dist/src/ui/components/messages/DiffRenderer.d.ts +0 -15
  208. package/dist/src/ui/components/messages/DiffRenderer.js +0 -212
  209. package/dist/src/ui/components/messages/DiffRenderer.js.map +0 -1
  210. package/dist/src/ui/components/messages/ErrorMessage.d.ts +0 -11
  211. package/dist/src/ui/components/messages/ErrorMessage.js +0 -9
  212. package/dist/src/ui/components/messages/ErrorMessage.js.map +0 -1
  213. package/dist/src/ui/components/messages/GeminiMessage.d.ts +0 -14
  214. package/dist/src/ui/components/messages/GeminiMessage.js +0 -10
  215. package/dist/src/ui/components/messages/GeminiMessage.js.map +0 -1
  216. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +0 -14
  217. package/dist/src/ui/components/messages/GeminiMessageContent.js +0 -15
  218. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +0 -1
  219. package/dist/src/ui/components/messages/InfoMessage.d.ts +0 -11
  220. package/dist/src/ui/components/messages/InfoMessage.js +0 -9
  221. package/dist/src/ui/components/messages/InfoMessage.js.map +0 -1
  222. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +0 -18
  223. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +0 -307
  224. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +0 -1
  225. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +0 -18
  226. package/dist/src/ui/components/messages/ToolGroupMessage.js +0 -53
  227. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +0 -1
  228. package/dist/src/ui/components/messages/ToolMessage.d.ts +0 -15
  229. package/dist/src/ui/components/messages/ToolMessage.js +0 -61
  230. package/dist/src/ui/components/messages/ToolMessage.js.map +0 -1
  231. package/dist/src/ui/components/messages/UserMessage.d.ts +0 -11
  232. package/dist/src/ui/components/messages/UserMessage.js +0 -9
  233. package/dist/src/ui/components/messages/UserMessage.js.map +0 -1
  234. package/dist/src/ui/components/messages/UserShellMessage.d.ts +0 -11
  235. package/dist/src/ui/components/messages/UserShellMessage.js +0 -9
  236. package/dist/src/ui/components/messages/UserShellMessage.js.map +0 -1
  237. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +0 -61
  238. package/dist/src/ui/components/shared/MaxSizedBox.js +0 -384
  239. package/dist/src/ui/components/shared/MaxSizedBox.js.map +0 -1
  240. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +0 -41
  241. package/dist/src/ui/components/shared/RadioButtonSelect.js +0 -52
  242. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +0 -1
  243. package/dist/src/ui/components/shared/text-buffer.d.ts +0 -184
  244. package/dist/src/ui/components/shared/text-buffer.js +0 -1010
  245. package/dist/src/ui/components/shared/text-buffer.js.map +0 -1
  246. package/dist/src/ui/constants.d.ts +0 -8
  247. package/dist/src/ui/constants.js +0 -12
  248. package/dist/src/ui/constants.js.map +0 -1
  249. package/dist/src/ui/contexts/OverflowContext.d.ts +0 -19
  250. package/dist/src/ui/contexts/OverflowContext.js +0 -43
  251. package/dist/src/ui/contexts/OverflowContext.js.map +0 -1
  252. package/dist/src/ui/contexts/SessionContext.d.ts +0 -33
  253. package/dist/src/ui/contexts/SessionContext.js +0 -49
  254. package/dist/src/ui/contexts/SessionContext.js.map +0 -1
  255. package/dist/src/ui/contexts/StreamingContext.d.ts +0 -9
  256. package/dist/src/ui/contexts/StreamingContext.js +0 -15
  257. package/dist/src/ui/contexts/StreamingContext.js.map +0 -1
  258. package/dist/src/ui/editors/editorSettingsManager.d.ts +0 -19
  259. package/dist/src/ui/editors/editorSettingsManager.js +0 -54
  260. package/dist/src/ui/editors/editorSettingsManager.js.map +0 -1
  261. package/dist/src/ui/hooks/atCommandProcessor.d.ts +0 -31
  262. package/dist/src/ui/hooks/atCommandProcessor.js +0 -310
  263. package/dist/src/ui/hooks/atCommandProcessor.js.map +0 -1
  264. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +0 -16
  265. package/dist/src/ui/hooks/shellCommandProcessor.js +0 -261
  266. package/dist/src/ui/hooks/shellCommandProcessor.js.map +0 -1
  267. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +0 -27
  268. package/dist/src/ui/hooks/slashCommandProcessor.js +0 -1129
  269. package/dist/src/ui/hooks/slashCommandProcessor.js.map +0 -1
  270. package/dist/src/ui/hooks/useAuthCommand.d.ts +0 -14
  271. package/dist/src/ui/hooks/useAuthCommand.js +0 -63
  272. package/dist/src/ui/hooks/useAuthCommand.js.map +0 -1
  273. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +0 -10
  274. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +0 -37
  275. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +0 -1
  276. package/dist/src/ui/hooks/useBracketedPaste.d.ts +0 -12
  277. package/dist/src/ui/hooks/useBracketedPaste.js +0 -32
  278. package/dist/src/ui/hooks/useBracketedPaste.js.map +0 -1
  279. package/dist/src/ui/hooks/useCompletion.d.ts +0 -21
  280. package/dist/src/ui/hooks/useCompletion.js +0 -372
  281. package/dist/src/ui/hooks/useCompletion.js.map +0 -1
  282. package/dist/src/ui/hooks/useConsoleMessages.d.ts +0 -12
  283. package/dist/src/ui/hooks/useConsoleMessages.js +0 -60
  284. package/dist/src/ui/hooks/useConsoleMessages.js.map +0 -1
  285. package/dist/src/ui/hooks/useEditorSettings.d.ts +0 -16
  286. package/dist/src/ui/hooks/useEditorSettings.js +0 -43
  287. package/dist/src/ui/hooks/useEditorSettings.js.map +0 -1
  288. package/dist/src/ui/hooks/useGeminiStream.d.ts +0 -23
  289. package/dist/src/ui/hooks/useGeminiStream.js +0 -603
  290. package/dist/src/ui/hooks/useGeminiStream.js.map +0 -1
  291. package/dist/src/ui/hooks/useGitBranchName.d.ts +0 -6
  292. package/dist/src/ui/hooks/useGitBranchName.js +0 -61
  293. package/dist/src/ui/hooks/useGitBranchName.js.map +0 -1
  294. package/dist/src/ui/hooks/useHistoryManager.d.ts +0 -22
  295. package/dist/src/ui/hooks/useHistoryManager.js +0 -72
  296. package/dist/src/ui/hooks/useHistoryManager.js.map +0 -1
  297. package/dist/src/ui/hooks/useInputHistory.d.ts +0 -19
  298. package/dist/src/ui/hooks/useInputHistory.js +0 -84
  299. package/dist/src/ui/hooks/useInputHistory.js.map +0 -1
  300. package/dist/src/ui/hooks/useKeypress.d.ts +0 -29
  301. package/dist/src/ui/hooks/useKeypress.js +0 -86
  302. package/dist/src/ui/hooks/useKeypress.js.map +0 -1
  303. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +0 -10
  304. package/dist/src/ui/hooks/useLoadingIndicator.js +0 -44
  305. package/dist/src/ui/hooks/useLoadingIndicator.js.map +0 -1
  306. package/dist/src/ui/hooks/useLogger.d.ts +0 -10
  307. package/dist/src/ui/hooks/useLogger.js +0 -29
  308. package/dist/src/ui/hooks/useLogger.js.map +0 -1
  309. package/dist/src/ui/hooks/usePhraseCycler.d.ts +0 -14
  310. package/dist/src/ui/hooks/usePhraseCycler.js +0 -189
  311. package/dist/src/ui/hooks/usePhraseCycler.js.map +0 -1
  312. package/dist/src/ui/hooks/usePrivacySettings.d.ts +0 -16
  313. package/dist/src/ui/hooks/usePrivacySettings.js +0 -115
  314. package/dist/src/ui/hooks/usePrivacySettings.js.map +0 -1
  315. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +0 -33
  316. package/dist/src/ui/hooks/useReactToolScheduler.js +0 -186
  317. package/dist/src/ui/hooks/useReactToolScheduler.js.map +0 -1
  318. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +0 -6
  319. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +0 -7
  320. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +0 -1
  321. package/dist/src/ui/hooks/useShellHistory.d.ts +0 -11
  322. package/dist/src/ui/hooks/useShellHistory.js +0 -89
  323. package/dist/src/ui/hooks/useShellHistory.js.map +0 -1
  324. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +0 -9
  325. package/dist/src/ui/hooks/useShowMemoryCommand.js +0 -58
  326. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +0 -1
  327. package/dist/src/ui/hooks/useStateAndRef.d.ts +0 -7
  328. package/dist/src/ui/hooks/useStateAndRef.js +0 -26
  329. package/dist/src/ui/hooks/useStateAndRef.js.map +0 -1
  330. package/dist/src/ui/hooks/useTerminalSize.d.ts +0 -9
  331. package/dist/src/ui/hooks/useTerminalSize.js +0 -27
  332. package/dist/src/ui/hooks/useTerminalSize.js.map +0 -1
  333. package/dist/src/ui/hooks/useThemeCommand.d.ts +0 -15
  334. package/dist/src/ui/hooks/useThemeCommand.js +0 -78
  335. package/dist/src/ui/hooks/useThemeCommand.js.map +0 -1
  336. package/dist/src/ui/hooks/useTimer.d.ts +0 -12
  337. package/dist/src/ui/hooks/useTimer.js +0 -58
  338. package/dist/src/ui/hooks/useTimer.js.map +0 -1
  339. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +0 -12
  340. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +0 -40
  341. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +0 -1
  342. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +0 -10
  343. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +0 -17
  344. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +0 -1
  345. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +0 -10
  346. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +0 -17
  347. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +0 -1
  348. package/dist/src/ui/privacy/PrivacyNotice.d.ts +0 -12
  349. package/dist/src/ui/privacy/PrivacyNotice.js +0 -25
  350. package/dist/src/ui/privacy/PrivacyNotice.js.map +0 -1
  351. package/dist/src/ui/themes/ansi-light.d.ts +0 -7
  352. package/dist/src/ui/themes/ansi-light.js +0 -139
  353. package/dist/src/ui/themes/ansi-light.js.map +0 -1
  354. package/dist/src/ui/themes/ansi.d.ts +0 -7
  355. package/dist/src/ui/themes/ansi.js +0 -149
  356. package/dist/src/ui/themes/ansi.js.map +0 -1
  357. package/dist/src/ui/themes/atom-one-dark.d.ts +0 -7
  358. package/dist/src/ui/themes/atom-one-dark.js +0 -136
  359. package/dist/src/ui/themes/atom-one-dark.js.map +0 -1
  360. package/dist/src/ui/themes/ayu-light.d.ts +0 -7
  361. package/dist/src/ui/themes/ayu-light.js +0 -128
  362. package/dist/src/ui/themes/ayu-light.js.map +0 -1
  363. package/dist/src/ui/themes/ayu.d.ts +0 -7
  364. package/dist/src/ui/themes/ayu.js +0 -102
  365. package/dist/src/ui/themes/ayu.js.map +0 -1
  366. package/dist/src/ui/themes/default-light.d.ts +0 -7
  367. package/dist/src/ui/themes/default-light.js +0 -100
  368. package/dist/src/ui/themes/default-light.js.map +0 -1
  369. package/dist/src/ui/themes/default.d.ts +0 -7
  370. package/dist/src/ui/themes/default.js +0 -143
  371. package/dist/src/ui/themes/default.js.map +0 -1
  372. package/dist/src/ui/themes/dracula.d.ts +0 -7
  373. package/dist/src/ui/themes/dracula.js +0 -113
  374. package/dist/src/ui/themes/dracula.js.map +0 -1
  375. package/dist/src/ui/themes/github-dark.d.ts +0 -7
  376. package/dist/src/ui/themes/github-dark.js +0 -136
  377. package/dist/src/ui/themes/github-dark.js.map +0 -1
  378. package/dist/src/ui/themes/github-light.d.ts +0 -7
  379. package/dist/src/ui/themes/github-light.js +0 -138
  380. package/dist/src/ui/themes/github-light.js.map +0 -1
  381. package/dist/src/ui/themes/googlecode.d.ts +0 -7
  382. package/dist/src/ui/themes/googlecode.js +0 -135
  383. package/dist/src/ui/themes/googlecode.js.map +0 -1
  384. package/dist/src/ui/themes/no-color.d.ts +0 -7
  385. package/dist/src/ui/themes/no-color.js +0 -84
  386. package/dist/src/ui/themes/no-color.js.map +0 -1
  387. package/dist/src/ui/themes/shades-of-purple.d.ts +0 -11
  388. package/dist/src/ui/themes/shades-of-purple.js +0 -302
  389. package/dist/src/ui/themes/shades-of-purple.js.map +0 -1
  390. package/dist/src/ui/themes/theme-manager.d.ts +0 -33
  391. package/dist/src/ui/themes/theme-manager.js +0 -109
  392. package/dist/src/ui/themes/theme-manager.js.map +0 -1
  393. package/dist/src/ui/themes/theme.d.ts +0 -67
  394. package/dist/src/ui/themes/theme.js +0 -304
  395. package/dist/src/ui/themes/theme.js.map +0 -1
  396. package/dist/src/ui/themes/xcode.d.ts +0 -7
  397. package/dist/src/ui/themes/xcode.js +0 -143
  398. package/dist/src/ui/themes/xcode.js.map +0 -1
  399. package/dist/src/ui/types.d.ts +0 -172
  400. package/dist/src/ui/types.js +0 -43
  401. package/dist/src/ui/types.js.map +0 -1
  402. package/dist/src/ui/utils/CodeColorizer.d.ts +0 -14
  403. package/dist/src/ui/utils/CodeColorizer.js +0 -97
  404. package/dist/src/ui/utils/CodeColorizer.js.map +0 -1
  405. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +0 -16
  406. package/dist/src/ui/utils/InlineMarkdownRenderer.js +0 -104
  407. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +0 -1
  408. package/dist/src/ui/utils/MarkdownDisplay.d.ts +0 -14
  409. package/dist/src/ui/utils/MarkdownDisplay.js +0 -197
  410. package/dist/src/ui/utils/MarkdownDisplay.js.map +0 -1
  411. package/dist/src/ui/utils/TableRenderer.d.ts +0 -17
  412. package/dist/src/ui/utils/TableRenderer.js +0 -84
  413. package/dist/src/ui/utils/TableRenderer.js.map +0 -1
  414. package/dist/src/ui/utils/commandUtils.d.ts +0 -22
  415. package/dist/src/ui/utils/commandUtils.js +0 -25
  416. package/dist/src/ui/utils/commandUtils.js.map +0 -1
  417. package/dist/src/ui/utils/computeStats.d.ts +0 -10
  418. package/dist/src/ui/utils/computeStats.js +0 -55
  419. package/dist/src/ui/utils/computeStats.js.map +0 -1
  420. package/dist/src/ui/utils/displayUtils.d.ts +0 -17
  421. package/dist/src/ui/utils/displayUtils.js +0 -24
  422. package/dist/src/ui/utils/displayUtils.js.map +0 -1
  423. package/dist/src/ui/utils/errorParsing.d.ts +0 -15
  424. package/dist/src/ui/utils/errorParsing.js +0 -79
  425. package/dist/src/ui/utils/errorParsing.js.map +0 -1
  426. package/dist/src/ui/utils/formatters.d.ts +0 -13
  427. package/dist/src/ui/utils/formatters.js +0 -56
  428. package/dist/src/ui/utils/formatters.js.map +0 -1
  429. package/dist/src/ui/utils/markdownUtilities.d.ts +0 -6
  430. package/dist/src/ui/utils/markdownUtilities.js +0 -110
  431. package/dist/src/ui/utils/markdownUtilities.js.map +0 -1
  432. package/dist/src/ui/utils/textUtils.d.ts +0 -22
  433. package/dist/src/ui/utils/textUtils.js +0 -58
  434. package/dist/src/ui/utils/textUtils.js.map +0 -1
  435. package/dist/src/ui/utils/updateCheck.d.ts +0 -6
  436. package/dist/src/ui/utils/updateCheck.js +0 -36
  437. package/dist/src/ui/utils/updateCheck.js.map +0 -1
  438. package/dist/src/utils/cleanup.d.ts +0 -6
  439. package/dist/src/utils/cleanup.js +0 -19
  440. package/dist/src/utils/cleanup.js.map +0 -1
  441. package/dist/src/utils/package.d.ts +0 -12
  442. package/dist/src/utils/package.js +0 -24
  443. package/dist/src/utils/package.js.map +0 -1
  444. package/dist/src/utils/readStdin.d.ts +0 -6
  445. package/dist/src/utils/readStdin.js +0 -34
  446. package/dist/src/utils/readStdin.js.map +0 -1
  447. package/dist/src/utils/sandbox.d.ts +0 -7
  448. package/dist/src/utils/sandbox.js +0 -680
  449. package/dist/src/utils/sandbox.js.map +0 -1
  450. package/dist/src/utils/startupWarnings.d.ts +0 -6
  451. package/dist/src/utils/startupWarnings.js +0 -40
  452. package/dist/src/utils/startupWarnings.js.map +0 -1
  453. package/dist/src/utils/userStartupWarnings.d.ts +0 -6
  454. package/dist/src/utils/userStartupWarnings.js +0 -33
  455. package/dist/src/utils/userStartupWarnings.js.map +0 -1
  456. package/dist/src/utils/version.d.ts +0 -6
  457. package/dist/src/utils/version.js +0 -11
  458. package/dist/src/utils/version.js.map +0 -1
  459. package/dist/tsconfig.tsbuildinfo +0 -1
  460. package/dist/vitest.config.d.ts +0 -7
  461. package/dist/vitest.config.js +0 -35
  462. package/dist/vitest.config.js.map +0 -1
  463. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-closed.sb +0 -0
  464. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-open.sb +0 -0
  465. /package/{dist/src/utils → bundle}/sandbox-macos-permissive-proxied.sb +0 -0
  466. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-closed.sb +0 -0
  467. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-open.sb +0 -0
  468. /package/{dist/src/utils → bundle}/sandbox-macos-restrictive-proxied.sb +0 -0
@@ -1,372 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useState, useEffect, useCallback } from 'react';
7
- import * as fs from 'fs/promises';
8
- import * as path from 'path';
9
- import { glob } from 'glob';
10
- import { isNodeError, escapePath, unescapePath, getErrorMessage, } from '@google/gemini-cli-core';
11
- import { MAX_SUGGESTIONS_TO_SHOW, } from '../components/SuggestionsDisplay.js';
12
- export function useCompletion(query, cwd, isActive, slashCommands, commandContext, config) {
13
- const [suggestions, setSuggestions] = useState([]);
14
- const [activeSuggestionIndex, setActiveSuggestionIndex] = useState(-1);
15
- const [visibleStartIndex, setVisibleStartIndex] = useState(0);
16
- const [showSuggestions, setShowSuggestions] = useState(false);
17
- const [isLoadingSuggestions, setIsLoadingSuggestions] = useState(false);
18
- const resetCompletionState = useCallback(() => {
19
- setSuggestions([]);
20
- setActiveSuggestionIndex(-1);
21
- setVisibleStartIndex(0);
22
- setShowSuggestions(false);
23
- setIsLoadingSuggestions(false);
24
- }, []);
25
- const navigateUp = useCallback(() => {
26
- if (suggestions.length === 0)
27
- return;
28
- setActiveSuggestionIndex((prevActiveIndex) => {
29
- // Calculate new active index, handling wrap-around
30
- const newActiveIndex = prevActiveIndex <= 0 ? suggestions.length - 1 : prevActiveIndex - 1;
31
- // Adjust scroll position based on the new active index
32
- setVisibleStartIndex((prevVisibleStart) => {
33
- // Case 1: Wrapped around to the last item
34
- if (newActiveIndex === suggestions.length - 1 &&
35
- suggestions.length > MAX_SUGGESTIONS_TO_SHOW) {
36
- return Math.max(0, suggestions.length - MAX_SUGGESTIONS_TO_SHOW);
37
- }
38
- // Case 2: Scrolled above the current visible window
39
- if (newActiveIndex < prevVisibleStart) {
40
- return newActiveIndex;
41
- }
42
- // Otherwise, keep the current scroll position
43
- return prevVisibleStart;
44
- });
45
- return newActiveIndex;
46
- });
47
- }, [suggestions.length]);
48
- const navigateDown = useCallback(() => {
49
- if (suggestions.length === 0)
50
- return;
51
- setActiveSuggestionIndex((prevActiveIndex) => {
52
- // Calculate new active index, handling wrap-around
53
- const newActiveIndex = prevActiveIndex >= suggestions.length - 1 ? 0 : prevActiveIndex + 1;
54
- // Adjust scroll position based on the new active index
55
- setVisibleStartIndex((prevVisibleStart) => {
56
- // Case 1: Wrapped around to the first item
57
- if (newActiveIndex === 0 &&
58
- suggestions.length > MAX_SUGGESTIONS_TO_SHOW) {
59
- return 0;
60
- }
61
- // Case 2: Scrolled below the current visible window
62
- const visibleEndIndex = prevVisibleStart + MAX_SUGGESTIONS_TO_SHOW;
63
- if (newActiveIndex >= visibleEndIndex) {
64
- return newActiveIndex - MAX_SUGGESTIONS_TO_SHOW + 1;
65
- }
66
- // Otherwise, keep the current scroll position
67
- return prevVisibleStart;
68
- });
69
- return newActiveIndex;
70
- });
71
- }, [suggestions.length]);
72
- useEffect(() => {
73
- if (!isActive) {
74
- resetCompletionState();
75
- return;
76
- }
77
- const trimmedQuery = query.trimStart();
78
- if (trimmedQuery.startsWith('/')) {
79
- const fullPath = trimmedQuery.substring(1);
80
- const hasTrailingSpace = trimmedQuery.endsWith(' ');
81
- // Get all non-empty parts of the command.
82
- const rawParts = fullPath.split(/\s+/).filter((p) => p);
83
- let commandPathParts = rawParts;
84
- let partial = '';
85
- // If there's no trailing space, the last part is potentially a partial segment.
86
- // We tentatively separate it.
87
- if (!hasTrailingSpace && rawParts.length > 0) {
88
- partial = rawParts[rawParts.length - 1];
89
- commandPathParts = rawParts.slice(0, -1);
90
- }
91
- // Traverse the Command Tree using the tentative completed path
92
- let currentLevel = slashCommands;
93
- let leafCommand = null;
94
- for (const part of commandPathParts) {
95
- if (!currentLevel) {
96
- leafCommand = null;
97
- currentLevel = [];
98
- break;
99
- }
100
- const found = currentLevel.find((cmd) => cmd.name === part || cmd.altName === part);
101
- if (found) {
102
- leafCommand = found;
103
- currentLevel = found.subCommands;
104
- }
105
- else {
106
- leafCommand = null;
107
- currentLevel = [];
108
- break;
109
- }
110
- }
111
- // Handle the Ambiguous Case
112
- if (!hasTrailingSpace && currentLevel) {
113
- const exactMatchAsParent = currentLevel.find((cmd) => (cmd.name === partial || cmd.altName === partial) &&
114
- cmd.subCommands);
115
- if (exactMatchAsParent) {
116
- // It's a perfect match for a parent command. Override our initial guess.
117
- // Treat it as a completed command path.
118
- leafCommand = exactMatchAsParent;
119
- currentLevel = exactMatchAsParent.subCommands;
120
- partial = ''; // We now want to suggest ALL of its sub-commands.
121
- }
122
- }
123
- const depth = commandPathParts.length;
124
- // Provide Suggestions based on the now-corrected context
125
- // Argument Completion
126
- if (leafCommand?.completion &&
127
- (hasTrailingSpace ||
128
- (rawParts.length > depth && depth > 0 && partial !== ''))) {
129
- const fetchAndSetSuggestions = async () => {
130
- setIsLoadingSuggestions(true);
131
- const argString = rawParts.slice(depth).join(' ');
132
- const results = (await leafCommand.completion(commandContext, argString)) || [];
133
- const finalSuggestions = results.map((s) => ({ label: s, value: s }));
134
- setSuggestions(finalSuggestions);
135
- setShowSuggestions(finalSuggestions.length > 0);
136
- setActiveSuggestionIndex(finalSuggestions.length > 0 ? 0 : -1);
137
- setIsLoadingSuggestions(false);
138
- };
139
- fetchAndSetSuggestions();
140
- return;
141
- }
142
- // Command/Sub-command Completion
143
- const commandsToSearch = currentLevel || [];
144
- if (commandsToSearch.length > 0) {
145
- let potentialSuggestions = commandsToSearch.filter((cmd) => cmd.description &&
146
- (cmd.name.startsWith(partial) || cmd.altName?.startsWith(partial)));
147
- // If a user's input is an exact match and it is a leaf command,
148
- // enter should submit immediately.
149
- if (potentialSuggestions.length > 0 && !hasTrailingSpace) {
150
- const perfectMatch = potentialSuggestions.find((s) => s.name === partial);
151
- if (perfectMatch && !perfectMatch.subCommands) {
152
- potentialSuggestions = [];
153
- }
154
- }
155
- const finalSuggestions = potentialSuggestions.map((cmd) => ({
156
- label: cmd.name,
157
- value: cmd.name,
158
- description: cmd.description,
159
- }));
160
- setSuggestions(finalSuggestions);
161
- setShowSuggestions(finalSuggestions.length > 0);
162
- setActiveSuggestionIndex(finalSuggestions.length > 0 ? 0 : -1);
163
- setIsLoadingSuggestions(false);
164
- return;
165
- }
166
- // If we fall through, no suggestions are available.
167
- resetCompletionState();
168
- return;
169
- }
170
- // Handle At Command Completion
171
- const atIndex = query.lastIndexOf('@');
172
- if (atIndex === -1) {
173
- resetCompletionState();
174
- return;
175
- }
176
- const partialPath = query.substring(atIndex + 1);
177
- const lastSlashIndex = partialPath.lastIndexOf('/');
178
- const baseDirRelative = lastSlashIndex === -1
179
- ? '.'
180
- : partialPath.substring(0, lastSlashIndex + 1);
181
- const prefix = unescapePath(lastSlashIndex === -1
182
- ? partialPath
183
- : partialPath.substring(lastSlashIndex + 1));
184
- const baseDirAbsolute = path.resolve(cwd, baseDirRelative);
185
- let isMounted = true;
186
- const findFilesRecursively = async (startDir, searchPrefix, fileDiscovery, filterOptions, currentRelativePath = '', depth = 0, maxDepth = 10, // Limit recursion depth
187
- maxResults = 50) => {
188
- if (depth > maxDepth) {
189
- return [];
190
- }
191
- const lowerSearchPrefix = searchPrefix.toLowerCase();
192
- let foundSuggestions = [];
193
- try {
194
- const entries = await fs.readdir(startDir, { withFileTypes: true });
195
- for (const entry of entries) {
196
- if (foundSuggestions.length >= maxResults)
197
- break;
198
- const entryPathRelative = path.join(currentRelativePath, entry.name);
199
- const entryPathFromRoot = path.relative(cwd, path.join(startDir, entry.name));
200
- // Conditionally ignore dotfiles
201
- if (!searchPrefix.startsWith('.') && entry.name.startsWith('.')) {
202
- continue;
203
- }
204
- // Check if this entry should be ignored by filtering options
205
- if (fileDiscovery &&
206
- fileDiscovery.shouldIgnoreFile(entryPathFromRoot, filterOptions)) {
207
- continue;
208
- }
209
- if (entry.name.toLowerCase().startsWith(lowerSearchPrefix)) {
210
- foundSuggestions.push({
211
- label: entryPathRelative + (entry.isDirectory() ? '/' : ''),
212
- value: escapePath(entryPathRelative + (entry.isDirectory() ? '/' : '')),
213
- });
214
- }
215
- if (entry.isDirectory() &&
216
- entry.name !== 'node_modules' &&
217
- !entry.name.startsWith('.')) {
218
- if (foundSuggestions.length < maxResults) {
219
- foundSuggestions = foundSuggestions.concat(await findFilesRecursively(path.join(startDir, entry.name), searchPrefix, // Pass original searchPrefix for recursive calls
220
- fileDiscovery, filterOptions, entryPathRelative, depth + 1, maxDepth, maxResults - foundSuggestions.length));
221
- }
222
- }
223
- }
224
- }
225
- catch (_err) {
226
- // Ignore errors like permission denied or ENOENT during recursive search
227
- }
228
- return foundSuggestions.slice(0, maxResults);
229
- };
230
- const findFilesWithGlob = async (searchPrefix, fileDiscoveryService, filterOptions, maxResults = 50) => {
231
- const globPattern = `**/${searchPrefix}*`;
232
- const files = await glob(globPattern, {
233
- cwd,
234
- dot: searchPrefix.startsWith('.'),
235
- nocase: true,
236
- });
237
- const suggestions = files
238
- .map((file) => {
239
- const relativePath = path.relative(cwd, file);
240
- return {
241
- label: relativePath,
242
- value: escapePath(relativePath),
243
- };
244
- })
245
- .filter((s) => {
246
- if (fileDiscoveryService) {
247
- return !fileDiscoveryService.shouldIgnoreFile(s.label, filterOptions); // relative path
248
- }
249
- return true;
250
- })
251
- .slice(0, maxResults);
252
- return suggestions;
253
- };
254
- const fetchSuggestions = async () => {
255
- setIsLoadingSuggestions(true);
256
- let fetchedSuggestions = [];
257
- const fileDiscoveryService = config ? config.getFileService() : null;
258
- const enableRecursiveSearch = config?.getEnableRecursiveFileSearch() ?? true;
259
- const filterOptions = {
260
- respectGitIgnore: config?.getFileFilteringRespectGitIgnore() ?? true,
261
- respectGeminiIgnore: true,
262
- };
263
- try {
264
- // If there's no slash, or it's the root, do a recursive search from cwd
265
- if (partialPath.indexOf('/') === -1 &&
266
- prefix &&
267
- enableRecursiveSearch) {
268
- if (fileDiscoveryService) {
269
- fetchedSuggestions = await findFilesWithGlob(prefix, fileDiscoveryService, filterOptions);
270
- }
271
- else {
272
- fetchedSuggestions = await findFilesRecursively(cwd, prefix, fileDiscoveryService, filterOptions);
273
- }
274
- }
275
- else {
276
- // Original behavior: list files in the specific directory
277
- const lowerPrefix = prefix.toLowerCase();
278
- const entries = await fs.readdir(baseDirAbsolute, {
279
- withFileTypes: true,
280
- });
281
- // Filter entries using git-aware filtering
282
- const filteredEntries = [];
283
- for (const entry of entries) {
284
- // Conditionally ignore dotfiles
285
- if (!prefix.startsWith('.') && entry.name.startsWith('.')) {
286
- continue;
287
- }
288
- if (!entry.name.toLowerCase().startsWith(lowerPrefix))
289
- continue;
290
- const relativePath = path.relative(cwd, path.join(baseDirAbsolute, entry.name));
291
- if (fileDiscoveryService &&
292
- fileDiscoveryService.shouldIgnoreFile(relativePath, filterOptions)) {
293
- continue;
294
- }
295
- filteredEntries.push(entry);
296
- }
297
- fetchedSuggestions = filteredEntries.map((entry) => {
298
- const label = entry.isDirectory() ? entry.name + '/' : entry.name;
299
- return {
300
- label,
301
- value: escapePath(label), // Value for completion should be just the name part
302
- };
303
- });
304
- }
305
- // Sort by depth, then directories first, then alphabetically
306
- fetchedSuggestions.sort((a, b) => {
307
- const depthA = (a.label.match(/\//g) || []).length;
308
- const depthB = (b.label.match(/\//g) || []).length;
309
- if (depthA !== depthB) {
310
- return depthA - depthB;
311
- }
312
- const aIsDir = a.label.endsWith('/');
313
- const bIsDir = b.label.endsWith('/');
314
- if (aIsDir && !bIsDir)
315
- return -1;
316
- if (!aIsDir && bIsDir)
317
- return 1;
318
- return a.label.localeCompare(b.label);
319
- });
320
- if (isMounted) {
321
- setSuggestions(fetchedSuggestions);
322
- setShowSuggestions(fetchedSuggestions.length > 0);
323
- setActiveSuggestionIndex(fetchedSuggestions.length > 0 ? 0 : -1);
324
- setVisibleStartIndex(0);
325
- }
326
- }
327
- catch (error) {
328
- if (isNodeError(error) && error.code === 'ENOENT') {
329
- if (isMounted) {
330
- setSuggestions([]);
331
- setShowSuggestions(false);
332
- }
333
- }
334
- else {
335
- console.error(`Error fetching completion suggestions for ${partialPath}: ${getErrorMessage(error)}`);
336
- if (isMounted) {
337
- resetCompletionState();
338
- }
339
- }
340
- }
341
- if (isMounted) {
342
- setIsLoadingSuggestions(false);
343
- }
344
- };
345
- const debounceTimeout = setTimeout(fetchSuggestions, 100);
346
- return () => {
347
- isMounted = false;
348
- clearTimeout(debounceTimeout);
349
- };
350
- }, [
351
- query,
352
- cwd,
353
- isActive,
354
- resetCompletionState,
355
- slashCommands,
356
- commandContext,
357
- config,
358
- ]);
359
- return {
360
- suggestions,
361
- activeSuggestionIndex,
362
- visibleStartIndex,
363
- showSuggestions,
364
- isLoadingSuggestions,
365
- setActiveSuggestionIndex,
366
- setShowSuggestions,
367
- resetCompletionState,
368
- navigateUp,
369
- navigateDown,
370
- };
371
- }
372
- //# sourceMappingURL=useCompletion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useCompletion.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useCompletion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EACL,WAAW,EACX,UAAU,EACV,YAAY,EACZ,eAAe,GAGhB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,GAExB,MAAM,qCAAqC,CAAC;AAgB7C,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,GAAW,EACX,QAAiB,EACjB,aAA6B,EAC7B,cAA8B,EAC9B,MAAe;IAEf,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACrD,QAAQ,CAAS,CAAC,CAAC,CAAC,CAAC;IACvB,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACnD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAE3B,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,cAAc,CAAC,EAAE,CAAC,CAAC;QACnB,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,oBAAoB,CAAC,CAAC,CAAC,CAAC;QACxB,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;QAClC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,wBAAwB,CAAC,CAAC,eAAe,EAAE,EAAE;YAC3C,mDAAmD;YACnD,MAAM,cAAc,GAClB,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;YAEtE,uDAAuD;YACvD,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACxC,0CAA0C;gBAC1C,IACE,cAAc,KAAK,WAAW,CAAC,MAAM,GAAG,CAAC;oBACzC,WAAW,CAAC,MAAM,GAAG,uBAAuB,EAC5C,CAAC;oBACD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,GAAG,uBAAuB,CAAC,CAAC;gBACnE,CAAC;gBACD,oDAAoD;gBACpD,IAAI,cAAc,GAAG,gBAAgB,EAAE,CAAC;oBACtC,OAAO,cAAc,CAAC;gBACxB,CAAC;gBACD,8CAA8C;gBAC9C,OAAO,gBAAgB,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzB,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAErC,wBAAwB,CAAC,CAAC,eAAe,EAAE,EAAE;YAC3C,mDAAmD;YACnD,MAAM,cAAc,GAClB,eAAe,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC;YAEtE,uDAAuD;YACvD,oBAAoB,CAAC,CAAC,gBAAgB,EAAE,EAAE;gBACxC,2CAA2C;gBAC3C,IACE,cAAc,KAAK,CAAC;oBACpB,WAAW,CAAC,MAAM,GAAG,uBAAuB,EAC5C,CAAC;oBACD,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,oDAAoD;gBACpD,MAAM,eAAe,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;gBACnE,IAAI,cAAc,IAAI,eAAe,EAAE,CAAC;oBACtC,OAAO,cAAc,GAAG,uBAAuB,GAAG,CAAC,CAAC;gBACtD,CAAC;gBACD,8CAA8C;gBAC9C,OAAO,gBAAgB,CAAC;YAC1B,CAAC,CAAC,CAAC;YAEH,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,oBAAoB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QAEvC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAEpD,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;YAExD,IAAI,gBAAgB,GAAG,QAAQ,CAAC;YAChC,IAAI,OAAO,GAAG,EAAE,CAAC;YAEjB,gFAAgF;YAChF,8BAA8B;YAC9B,IAAI,CAAC,gBAAgB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7C,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACxC,gBAAgB,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;YAED,+DAA+D;YAC/D,IAAI,YAAY,GAA+B,aAAa,CAAC;YAC7D,IAAI,WAAW,GAAwB,IAAI,CAAC;YAE5C,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,WAAW,GAAG,IAAI,CAAC;oBACnB,YAAY,GAAG,EAAE,CAAC;oBAClB,MAAM;gBACR,CAAC;gBACD,MAAM,KAAK,GAA6B,YAAY,CAAC,IAAI,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,CACnD,CAAC;gBACF,IAAI,KAAK,EAAE,CAAC;oBACV,WAAW,GAAG,KAAK,CAAC;oBACpB,YAAY,GAAG,KAAK,CAAC,WAAW,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,WAAW,GAAG,IAAI,CAAC;oBACnB,YAAY,GAAG,EAAE,CAAC;oBAClB,MAAM;gBACR,CAAC;YACH,CAAC;YAED,4BAA4B;YAC5B,IAAI,CAAC,gBAAgB,IAAI,YAAY,EAAE,CAAC;gBACtC,MAAM,kBAAkB,GAAG,YAAY,CAAC,IAAI,CAC1C,CAAC,GAAG,EAAE,EAAE,CACN,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,OAAO,KAAK,OAAO,CAAC;oBACjD,GAAG,CAAC,WAAW,CAClB,CAAC;gBAEF,IAAI,kBAAkB,EAAE,CAAC;oBACvB,yEAAyE;oBACzE,wCAAwC;oBACxC,WAAW,GAAG,kBAAkB,CAAC;oBACjC,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC;oBAC9C,OAAO,GAAG,EAAE,CAAC,CAAC,kDAAkD;gBAClE,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAEtC,yDAAyD;YAEzD,sBAAsB;YACtB,IACE,WAAW,EAAE,UAAU;gBACvB,CAAC,gBAAgB;oBACf,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,OAAO,KAAK,EAAE,CAAC,CAAC,EAC3D,CAAC;gBACD,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;oBACxC,uBAAuB,CAAC,IAAI,CAAC,CAAC;oBAC9B,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAClD,MAAM,OAAO,GACX,CAAC,MAAM,WAAY,CAAC,UAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpE,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;oBACtE,cAAc,CAAC,gBAAgB,CAAC,CAAC;oBACjC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAChD,wBAAwB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC/D,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBACjC,CAAC,CAAC;gBACF,sBAAsB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,iCAAiC;YACjC,MAAM,gBAAgB,GAAG,YAAY,IAAI,EAAE,CAAC;YAC5C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,IAAI,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAChD,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,WAAW;oBACf,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CACrE,CAAC;gBAEF,gEAAgE;gBAChE,mCAAmC;gBACnC,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACzD,MAAM,YAAY,GAAG,oBAAoB,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAC1B,CAAC;oBACF,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC9C,oBAAoB,GAAG,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAED,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBAC1D,KAAK,EAAE,GAAG,CAAC,IAAI;oBACf,KAAK,EAAE,GAAG,CAAC,IAAI;oBACf,WAAW,EAAE,GAAG,CAAC,WAAW;iBAC7B,CAAC,CAAC,CAAC;gBAEJ,cAAc,CAAC,gBAAgB,CAAC,CAAC;gBACjC,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAChD,wBAAwB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,uBAAuB,CAAC,KAAK,CAAC,CAAC;gBAC/B,OAAO;YACT,CAAC;YAED,oDAAoD;YACpD,oBAAoB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,oBAAoB,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,cAAc,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,eAAe,GACnB,cAAc,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,YAAY,CACzB,cAAc,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,CAC9C,CAAC;QAEF,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;QAE3D,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,MAAM,oBAAoB,GAAG,KAAK,EAChC,QAAgB,EAChB,YAAoB,EACpB,aAA0C,EAC1C,aAGC,EACD,mBAAmB,GAAG,EAAE,EACxB,KAAK,GAAG,CAAC,EACT,QAAQ,GAAG,EAAE,EAAE,wBAAwB;QACvC,UAAU,GAAG,EAAE,EACQ,EAAE;YACzB,IAAI,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,gBAAgB,GAAiB,EAAE,CAAC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;oBAC5B,IAAI,gBAAgB,CAAC,MAAM,IAAI,UAAU;wBAAE,MAAM;oBAEjD,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;oBACrE,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CACrC,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,CAChC,CAAC;oBAEF,gCAAgC;oBAChC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChE,SAAS;oBACX,CAAC;oBAED,6DAA6D;oBAC7D,IACE,aAAa;wBACb,aAAa,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,aAAa,CAAC,EAChE,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBAC3D,gBAAgB,CAAC,IAAI,CAAC;4BACpB,KAAK,EAAE,iBAAiB,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC3D,KAAK,EAAE,UAAU,CACf,iBAAiB,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACrD;yBACF,CAAC,CAAC;oBACL,CAAC;oBACD,IACE,KAAK,CAAC,WAAW,EAAE;wBACnB,KAAK,CAAC,IAAI,KAAK,cAAc;wBAC7B,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAC3B,CAAC;wBACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;4BACzC,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CACxC,MAAM,oBAAoB,CACxB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,EAC/B,YAAY,EAAE,iDAAiD;4BAC/D,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,KAAK,GAAG,CAAC,EACT,QAAQ,EACR,UAAU,GAAG,gBAAgB,CAAC,MAAM,CACrC,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,IAAI,EAAE,CAAC;gBACd,yEAAyE;YAC3E,CAAC;YACD,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/C,CAAC,CAAC;QAEF,MAAM,iBAAiB,GAAG,KAAK,EAC7B,YAAoB,EACpB,oBAA0C,EAC1C,aAGC,EACD,UAAU,GAAG,EAAE,EACQ,EAAE;YACzB,MAAM,WAAW,GAAG,MAAM,YAAY,GAAG,CAAC;YAC1C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;gBACpC,GAAG;gBACH,GAAG,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;gBACjC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;YAEH,MAAM,WAAW,GAAiB,KAAK;iBACpC,GAAG,CAAC,CAAC,IAAY,EAAE,EAAE;gBACpB,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBAC9C,OAAO;oBACL,KAAK,EAAE,YAAY;oBACnB,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC;iBAChC,CAAC;YACJ,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,IAAI,oBAAoB,EAAE,CAAC;oBACzB,OAAO,CAAC,oBAAoB,CAAC,gBAAgB,CAC3C,CAAC,CAAC,KAAK,EACP,aAAa,CACd,CAAC,CAAC,gBAAgB;gBACrB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;YAExB,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,gBAAgB,GAAG,KAAK,IAAI,EAAE;YAClC,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,kBAAkB,GAAiB,EAAE,CAAC;YAE1C,MAAM,oBAAoB,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACrE,MAAM,qBAAqB,GACzB,MAAM,EAAE,4BAA4B,EAAE,IAAI,IAAI,CAAC;YACjD,MAAM,aAAa,GAAG;gBACpB,gBAAgB,EAAE,MAAM,EAAE,gCAAgC,EAAE,IAAI,IAAI;gBACpE,mBAAmB,EAAE,IAAI;aAC1B,CAAC;YAEF,IAAI,CAAC;gBACH,wEAAwE;gBACxE,IACE,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;oBAC/B,MAAM;oBACN,qBAAqB,EACrB,CAAC;oBACD,IAAI,oBAAoB,EAAE,CAAC;wBACzB,kBAAkB,GAAG,MAAM,iBAAiB,CAC1C,MAAM,EACN,oBAAoB,EACpB,aAAa,CACd,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,kBAAkB,GAAG,MAAM,oBAAoB,CAC7C,GAAG,EACH,MAAM,EACN,oBAAoB,EACpB,aAAa,CACd,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,0DAA0D;oBAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;oBACzC,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,eAAe,EAAE;wBAChD,aAAa,EAAE,IAAI;qBACpB,CAAC,CAAC;oBAEH,2CAA2C;oBAC3C,MAAM,eAAe,GAAG,EAAE,CAAC;oBAC3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,gCAAgC;wBAChC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC1D,SAAS;wBACX,CAAC;wBACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;4BAAE,SAAS;wBAEhE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAChC,GAAG,EACH,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CACvC,CAAC;wBACF,IACE,oBAAoB;4BACpB,oBAAoB,CAAC,gBAAgB,CAAC,YAAY,EAAE,aAAa,CAAC,EAClE,CAAC;4BACD,SAAS;wBACX,CAAC;wBAED,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC9B,CAAC;oBAED,kBAAkB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;wBACjD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;wBAClE,OAAO;4BACL,KAAK;4BACL,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,oDAAoD;yBAC/E,CAAC;oBACJ,CAAC,CAAC,CAAC;gBACL,CAAC;gBAED,6DAA6D;gBAC7D,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAC/B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;oBACnD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;oBAEnD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;wBACtB,OAAO,MAAM,GAAG,MAAM,CAAC;oBACzB,CAAC;oBAED,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACrC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBACrC,IAAI,MAAM,IAAI,CAAC,MAAM;wBAAE,OAAO,CAAC,CAAC,CAAC;oBACjC,IAAI,CAAC,MAAM,IAAI,MAAM;wBAAE,OAAO,CAAC,CAAC;oBAEhC,OAAO,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC,CAAC,CAAC;gBAEH,IAAI,SAAS,EAAE,CAAC;oBACd,cAAc,CAAC,kBAAkB,CAAC,CAAC;oBACnC,kBAAkB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBAClD,wBAAwB,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACjE,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAClD,IAAI,SAAS,EAAE,CAAC;wBACd,cAAc,CAAC,EAAE,CAAC,CAAC;wBACnB,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CACX,6CAA6C,WAAW,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;oBACF,IAAI,SAAS,EAAE,CAAC;wBACd,oBAAoB,EAAE,CAAC;oBACzB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,SAAS,EAAE,CAAC;gBACd,uBAAuB,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAE1D,OAAO,GAAG,EAAE;YACV,SAAS,GAAG,KAAK,CAAC;YAClB,YAAY,CAAC,eAAe,CAAC,CAAC;QAChC,CAAC,CAAC;IACJ,CAAC,EAAE;QACD,KAAK;QACL,GAAG;QACH,QAAQ;QACR,oBAAoB;QACpB,aAAa;QACb,cAAc;QACd,MAAM;KACP,CAAC,CAAC;IAEH,OAAO;QACL,WAAW;QACX,qBAAqB;QACrB,iBAAiB;QACjB,eAAe;QACf,oBAAoB;QACpB,wBAAwB;QACxB,kBAAkB;QAClB,oBAAoB;QACpB,UAAU;QACV,YAAY;KACb,CAAC;AACJ,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { ConsoleMessageItem } from '../types.js';
7
- export interface UseConsoleMessagesReturn {
8
- consoleMessages: ConsoleMessageItem[];
9
- handleNewMessage: (message: ConsoleMessageItem) => void;
10
- clearConsoleMessages: () => void;
11
- }
12
- export declare function useConsoleMessages(): UseConsoleMessagesReturn;
@@ -1,60 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useCallback, useEffect, useRef, useState } from 'react';
7
- export function useConsoleMessages() {
8
- const [consoleMessages, setConsoleMessages] = useState([]);
9
- const messageQueueRef = useRef([]);
10
- const messageQueueTimeoutRef = useRef(null);
11
- const processMessageQueue = useCallback(() => {
12
- if (messageQueueRef.current.length === 0) {
13
- return;
14
- }
15
- const newMessagesToAdd = messageQueueRef.current;
16
- messageQueueRef.current = [];
17
- setConsoleMessages((prevMessages) => {
18
- const newMessages = [...prevMessages];
19
- newMessagesToAdd.forEach((queuedMessage) => {
20
- if (newMessages.length > 0 &&
21
- newMessages[newMessages.length - 1].type === queuedMessage.type &&
22
- newMessages[newMessages.length - 1].content === queuedMessage.content) {
23
- newMessages[newMessages.length - 1].count =
24
- (newMessages[newMessages.length - 1].count || 1) + 1;
25
- }
26
- else {
27
- newMessages.push({ ...queuedMessage, count: 1 });
28
- }
29
- });
30
- return newMessages;
31
- });
32
- messageQueueTimeoutRef.current = null; // Allow next scheduling
33
- }, []);
34
- const scheduleQueueProcessing = useCallback(() => {
35
- if (messageQueueTimeoutRef.current === null) {
36
- messageQueueTimeoutRef.current = setTimeout(processMessageQueue, 0);
37
- }
38
- }, [processMessageQueue]);
39
- const handleNewMessage = useCallback((message) => {
40
- messageQueueRef.current.push(message);
41
- scheduleQueueProcessing();
42
- }, [scheduleQueueProcessing]);
43
- const clearConsoleMessages = useCallback(() => {
44
- setConsoleMessages([]);
45
- if (messageQueueTimeoutRef.current !== null) {
46
- clearTimeout(messageQueueTimeoutRef.current);
47
- messageQueueTimeoutRef.current = null;
48
- }
49
- messageQueueRef.current = [];
50
- }, []);
51
- useEffect(() =>
52
- // Cleanup on unmount
53
- () => {
54
- if (messageQueueTimeoutRef.current !== null) {
55
- clearTimeout(messageQueueTimeoutRef.current);
56
- }
57
- }, []);
58
- return { consoleMessages, handleNewMessage, clearConsoleMessages };
59
- }
60
- //# sourceMappingURL=useConsoleMessages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useConsoleMessages.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useConsoleMessages.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AASjE,MAAM,UAAU,kBAAkB;IAChC,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CACpD,EAAE,CACH,CAAC;IACF,MAAM,eAAe,GAAG,MAAM,CAAuB,EAAE,CAAC,CAAC;IACzD,MAAM,sBAAsB,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE3D,MAAM,mBAAmB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3C,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QAED,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC;QACjD,eAAe,CAAC,OAAO,GAAG,EAAE,CAAC;QAE7B,kBAAkB,CAAC,CAAC,YAAY,EAAE,EAAE;YAClC,MAAM,WAAW,GAAG,CAAC,GAAG,YAAY,CAAC,CAAC;YACtC,gBAAgB,CAAC,OAAO,CAAC,CAAC,aAAa,EAAE,EAAE;gBACzC,IACE,WAAW,CAAC,MAAM,GAAG,CAAC;oBACtB,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI;oBAC/D,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,aAAa,CAAC,OAAO,EACrE,CAAC;oBACD,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;wBACvC,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,WAAW,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,wBAAwB;IACjE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,uBAAuB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,sBAAsB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5C,sBAAsB,CAAC,OAAO,GAAG,UAAU,CACzC,mBAAmB,EACnB,CAAC,CACmB,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,OAA2B,EAAE,EAAE;QAC9B,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,uBAAuB,EAAE,CAAC;IAC5B,CAAC,EACD,CAAC,uBAAuB,CAAC,CAC1B,CAAC;IAEF,MAAM,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5C,kBAAkB,CAAC,EAAE,CAAC,CAAC;QACvB,IAAI,sBAAsB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5C,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAC7C,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC;QACxC,CAAC;QACD,eAAe,CAAC,OAAO,GAAG,EAAE,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CACP,GAAG,EAAE;IACH,qBAAqB;IACrB,GAAG,EAAE;QACH,IAAI,sBAAsB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC5C,YAAY,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EACH,EAAE,CACH,CAAC;IAEF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAC;AACrE,CAAC"}
@@ -1,16 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { LoadedSettings, SettingScope } from '../../config/settings.js';
7
- import { type HistoryItem } from '../types.js';
8
- import { EditorType } from '@google/gemini-cli-core';
9
- interface UseEditorSettingsReturn {
10
- isEditorDialogOpen: boolean;
11
- openEditorDialog: () => void;
12
- handleEditorSelect: (editorType: EditorType | undefined, scope: SettingScope) => void;
13
- exitEditorDialog: () => void;
14
- }
15
- export declare const useEditorSettings: (loadedSettings: LoadedSettings, setEditorError: (error: string | null) => void, addItem: (item: Omit<HistoryItem, "id">, timestamp: number) => void) => UseEditorSettingsReturn;
16
- export {};
@@ -1,43 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { useState, useCallback } from 'react';
7
- import { MessageType } from '../types.js';
8
- import { allowEditorTypeInSandbox, checkHasEditorType, } from '@google/gemini-cli-core';
9
- export const useEditorSettings = (loadedSettings, setEditorError, addItem) => {
10
- const [isEditorDialogOpen, setIsEditorDialogOpen] = useState(false);
11
- const openEditorDialog = useCallback(() => {
12
- setIsEditorDialogOpen(true);
13
- }, []);
14
- const handleEditorSelect = useCallback((editorType, scope) => {
15
- if (editorType &&
16
- (!checkHasEditorType(editorType) ||
17
- !allowEditorTypeInSandbox(editorType))) {
18
- return;
19
- }
20
- try {
21
- loadedSettings.setValue(scope, 'preferredEditor', editorType);
22
- addItem({
23
- type: MessageType.INFO,
24
- text: `Editor preference ${editorType ? `set to "${editorType}"` : 'cleared'} in ${scope} settings.`,
25
- }, Date.now());
26
- setEditorError(null);
27
- setIsEditorDialogOpen(false);
28
- }
29
- catch (error) {
30
- setEditorError(`Failed to set editor preference: ${error}`);
31
- }
32
- }, [loadedSettings, setEditorError, addItem]);
33
- const exitEditorDialog = useCallback(() => {
34
- setIsEditorDialogOpen(false);
35
- }, []);
36
- return {
37
- isEditorDialogOpen,
38
- openEditorDialog,
39
- handleEditorSelect,
40
- exitEditorDialog,
41
- };
42
- };
43
- //# sourceMappingURL=useEditorSettings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useEditorSettings.js","sourceRoot":"","sources":["../../../../src/ui/hooks/useEditorSettings.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE9C,OAAO,EAAoB,WAAW,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EACL,wBAAwB,EACxB,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;AAYjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,cAA8B,EAC9B,cAA8C,EAC9C,OAAmE,EAC1C,EAAE;IAC3B,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEpE,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,UAAkC,EAAE,KAAmB,EAAE,EAAE;QAC1D,IACE,UAAU;YACV,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC;gBAC9B,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,EACxC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;YAC9D,OAAO,CACL;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,qBAAqB,UAAU,CAAC,CAAC,CAAC,WAAW,UAAU,GAAG,CAAC,CAAC,CAAC,SAAS,OAAO,KAAK,YAAY;aACrG,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,EACD,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAC1C,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACL,kBAAkB;QAClB,gBAAgB;QAChB,kBAAkB;QAClB,gBAAgB;KACjB,CAAC;AACJ,CAAC,CAAC"}
@@ -1,23 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { Config, GeminiClient, EditorType, ThoughtSummary } from '@google/gemini-cli-core';
7
- import { type PartListUnion } from '@google/genai';
8
- import { StreamingState, HistoryItem, HistoryItemWithoutId, SlashCommandProcessorResult } from '../types.js';
9
- import { UseHistoryManagerReturn } from './useHistoryManager.js';
10
- export declare function mergePartListUnions(list: PartListUnion[]): PartListUnion;
11
- /**
12
- * Manages the Gemini stream, including user input, command processing,
13
- * API interaction, and tool call lifecycle.
14
- */
15
- export declare const useGeminiStream: (geminiClient: GeminiClient, history: HistoryItem[], addItem: UseHistoryManagerReturn["addItem"], setShowHelp: React.Dispatch<React.SetStateAction<boolean>>, config: Config, onDebugMessage: (message: string) => void, handleSlashCommand: (cmd: PartListUnion) => Promise<SlashCommandProcessorResult | false>, shellModeActive: boolean, getPreferredEditor: () => EditorType | undefined, onAuthError: () => void, performMemoryRefresh: () => Promise<void>) => {
16
- streamingState: StreamingState;
17
- submitQuery: (query: PartListUnion, options?: {
18
- isContinuation: boolean;
19
- }) => Promise<void>;
20
- initError: string | null;
21
- pendingHistoryItems: HistoryItemWithoutId[];
22
- thought: ThoughtSummary | null;
23
- };