@sunub/obsidian-mcp-server 0.2.0 → 0.3.0

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 (283) hide show
  1. package/README.md +201 -25
  2. package/build/cli/AppContainer.d.ts +1 -0
  3. package/build/cli/AppContainer.js +197 -0
  4. package/build/cli/AppContainer.js.map +1 -0
  5. package/build/cli/app.js +7 -0
  6. package/build/cli/app.js.map +1 -0
  7. package/build/cli/config/SettingContext.d.ts +1 -0
  8. package/build/cli/config/SettingContext.js +2 -0
  9. package/build/cli/config/SettingContext.js.map +1 -0
  10. package/build/cli/config/mcpServersConfig.d.ts +18 -0
  11. package/build/cli/config/mcpServersConfig.js +119 -0
  12. package/build/cli/config/mcpServersConfig.js.map +1 -0
  13. package/build/cli/config/settingSchema.d.ts +180 -0
  14. package/build/cli/config/settingSchema.js +128 -0
  15. package/build/cli/config/settingSchema.js.map +1 -0
  16. package/build/cli/context/InputContext.d.ts +12 -0
  17. package/build/cli/context/InputContext.js +10 -0
  18. package/build/cli/context/InputContext.js.map +1 -0
  19. package/build/cli/context/KeypressContext.d.ts +30 -0
  20. package/build/cli/context/KeypressContext.js +200 -0
  21. package/build/cli/context/KeypressContext.js.map +1 -0
  22. package/build/cli/context/KeypressContext.util.d.ts +7 -0
  23. package/build/cli/context/KeypressContext.util.js +474 -0
  24. package/build/cli/context/KeypressContext.util.js.map +1 -0
  25. package/build/cli/hooks/useAtCompletion.d.ts +12 -0
  26. package/build/cli/hooks/useAtCompletion.js +5 -0
  27. package/build/cli/hooks/useAtCompletion.js.map +1 -0
  28. package/build/cli/hooks/useCommandCompletion.d.ts +59 -0
  29. package/build/cli/hooks/useCommandCompletion.js +344 -0
  30. package/build/cli/hooks/useCommandCompletion.js.map +1 -0
  31. package/build/cli/hooks/useCompletion.d.ts +22 -0
  32. package/build/cli/hooks/useCompletion.js +84 -0
  33. package/build/cli/hooks/useCompletion.js.map +1 -0
  34. package/build/cli/hooks/useDispatcher.d.ts +6 -0
  35. package/build/cli/hooks/useDispatcher.js +286 -0
  36. package/build/cli/hooks/useDispatcher.js.map +1 -0
  37. package/build/cli/hooks/useFocus.d.ts +2 -0
  38. package/build/cli/hooks/useFocus.js +3 -0
  39. package/build/cli/hooks/useFocus.js.map +1 -0
  40. package/build/cli/hooks/useInputHistory.d.ts +24 -0
  41. package/build/cli/hooks/useInputHistory.js +159 -0
  42. package/build/cli/hooks/useInputHistory.js.map +1 -0
  43. package/build/cli/hooks/useKeyMatchers.d.ts +17 -0
  44. package/build/cli/hooks/useKeyMatchers.js +13 -0
  45. package/build/cli/hooks/useKeyMatchers.js.map +1 -0
  46. package/build/cli/hooks/useKeypress.d.ts +19 -0
  47. package/build/cli/hooks/useKeypress.js +28 -0
  48. package/build/cli/hooks/useKeypress.js.map +1 -0
  49. package/build/cli/hooks/useLlmStream.d.ts +12 -0
  50. package/build/cli/hooks/useLlmStream.js +365 -0
  51. package/build/cli/hooks/useLlmStream.js.map +1 -0
  52. package/build/cli/hooks/useMcpClient.d.ts +10 -0
  53. package/build/cli/hooks/useMcpClient.js +100 -0
  54. package/build/cli/hooks/useMcpClient.js.map +1 -0
  55. package/build/cli/hooks/useMcpManager.d.ts +22 -0
  56. package/build/cli/hooks/useMcpManager.js +86 -0
  57. package/build/cli/hooks/useMcpManager.js.map +1 -0
  58. package/build/cli/hooks/usePromptCompletion.d.ts +19 -0
  59. package/build/cli/hooks/usePromptCompletion.js +13 -0
  60. package/build/cli/hooks/usePromptCompletion.js.map +1 -0
  61. package/build/cli/hooks/useRagContext.d.ts +6 -0
  62. package/build/cli/hooks/useRagContext.js +83 -0
  63. package/build/cli/hooks/useRagContext.js.map +1 -0
  64. package/build/cli/hooks/useShellCompletion.d.ts +18 -0
  65. package/build/cli/hooks/useShellCompletion.js +10 -0
  66. package/build/cli/hooks/useShellCompletion.js.map +1 -0
  67. package/build/cli/hooks/useSlashCompletion.d.ts +21 -0
  68. package/build/cli/hooks/useSlashCompletion.js +11 -0
  69. package/build/cli/hooks/useSlashCompletion.js.map +1 -0
  70. package/build/cli/hooks/useTerminalSize.d.ts +9 -0
  71. package/build/cli/hooks/useTerminalSize.js +26 -0
  72. package/build/cli/hooks/useTerminalSize.js.map +1 -0
  73. package/build/cli/index.js +27 -0
  74. package/build/cli/index.js.map +1 -0
  75. package/build/cli/key/keyBindings.d.ts +152 -0
  76. package/build/cli/key/keyBindings.js +630 -0
  77. package/build/cli/key/keyBindings.js.map +1 -0
  78. package/build/cli/key/keyMatchers.d.ts +27 -0
  79. package/build/cli/key/keyMatchers.js +33 -0
  80. package/build/cli/key/keyMatchers.js.map +1 -0
  81. package/build/cli/key/text-buffer-bestcase.js +2754 -0
  82. package/build/cli/key/text-buffer-bestcase.js.map +1 -0
  83. package/build/cli/key/text-buffer.js +918 -0
  84. package/build/cli/key/text-buffer.js.map +1 -0
  85. package/build/cli/reference/HistoryItemDisplay.d.ts +23 -0
  86. package/build/cli/reference/HistoryItemDisplay.js +63 -0
  87. package/build/cli/reference/HistoryItemDisplay.js.map +1 -0
  88. package/build/cli/reference/InputContext.d.ts +17 -0
  89. package/build/cli/reference/InputContext.js +16 -0
  90. package/build/cli/reference/InputContext.js.map +1 -0
  91. package/build/cli/reference/KerypressContext.d.ts +37 -0
  92. package/build/cli/reference/KerypressContext.js +791 -0
  93. package/build/cli/reference/KerypressContext.js.map +1 -0
  94. package/build/cli/reference/MainContent.d.ts +6 -0
  95. package/build/cli/reference/MainContent.js +207 -0
  96. package/build/cli/reference/MainContent.js.map +1 -0
  97. package/build/cli/reference/UIStateContext.d.ts +188 -0
  98. package/build/cli/reference/UIStateContext.js +16 -0
  99. package/build/cli/reference/UIStateContext.js.map +1 -0
  100. package/build/cli/reference/useGeminiStream.d.ts +42 -0
  101. package/build/cli/reference/useGeminiStream.js +1404 -0
  102. package/build/cli/reference/useGeminiStream.js.map +1 -0
  103. package/build/cli/services/McpClientService.d.ts +32 -0
  104. package/build/cli/services/McpClientService.js +123 -0
  105. package/build/cli/services/McpClientService.js.map +1 -0
  106. package/build/cli/services/McpManager.d.ts +28 -0
  107. package/build/cli/services/McpManager.js +146 -0
  108. package/build/cli/services/McpManager.js.map +1 -0
  109. package/build/cli/theme/builtin/no-color.js +125 -0
  110. package/build/cli/theme/builtin/no-color.js.map +1 -0
  111. package/build/cli/theme/builtin/tokyonight-dark.js +146 -0
  112. package/build/cli/theme/builtin/tokyonight-dark.js.map +1 -0
  113. package/build/cli/theme/semantic-colors.js +19 -0
  114. package/build/cli/theme/semantic-colors.js.map +1 -0
  115. package/build/cli/theme/semantic-tokens.js +77 -0
  116. package/build/cli/theme/semantic-tokens.js.map +1 -0
  117. package/build/cli/theme/theme-manager.d.ts +32 -0
  118. package/build/cli/theme/theme-manager.js +150 -0
  119. package/build/cli/theme/theme-manager.js.map +1 -0
  120. package/build/cli/theme/theme.js +333 -0
  121. package/build/cli/theme/theme.js.map +1 -0
  122. package/build/cli/tmp.js +27 -0
  123. package/build/cli/tmp.js.map +1 -0
  124. package/build/cli/types.d.ts +72 -0
  125. package/build/cli/types.js +8 -0
  126. package/build/cli/types.js.map +1 -0
  127. package/build/cli/ui/ConnectionStatus.d.ts +13 -0
  128. package/build/cli/ui/ConnectionStatus.js +24 -0
  129. package/build/cli/ui/ConnectionStatus.js.map +1 -0
  130. package/build/cli/ui/HelpCommands.d.ts +5 -0
  131. package/build/cli/ui/HelpCommands.js +11 -0
  132. package/build/cli/ui/HelpCommands.js.map +1 -0
  133. package/build/cli/ui/HistoryItemDisplay.d.ts +9 -0
  134. package/build/cli/ui/HistoryItemDisplay.js +38 -0
  135. package/build/cli/ui/HistoryItemDisplay.js.map +1 -0
  136. package/build/cli/ui/InputPrompt-bestcase.d.ts +63 -0
  137. package/build/cli/ui/InputPrompt-bestcase.js +1301 -0
  138. package/build/cli/ui/InputPrompt-bestcase.js.map +1 -0
  139. package/build/cli/ui/InputPrompt.d.ts +12 -0
  140. package/build/cli/ui/InputPrompt.js +145 -0
  141. package/build/cli/ui/InputPrompt.js.map +1 -0
  142. package/build/cli/ui/InputPrompt.tmp.d.ts +7 -0
  143. package/build/cli/ui/InputPrompt.tmp.js +215 -0
  144. package/build/cli/ui/InputPrompt.tmp.js.map +1 -0
  145. package/build/cli/ui/MainContent.d.ts +10 -0
  146. package/build/cli/ui/MainContent.js +24 -0
  147. package/build/cli/ui/MainContent.js.map +1 -0
  148. package/build/cli/ui/MouseContext.d.ts +1 -0
  149. package/build/cli/ui/MouseContext.js +2 -0
  150. package/build/cli/ui/MouseContext.js.map +1 -0
  151. package/build/cli/ui/SuggestionsDisplay.d.ts +25 -0
  152. package/build/cli/ui/SuggestionsDisplay.js +45 -0
  153. package/build/cli/ui/SuggestionsDisplay.js.map +1 -0
  154. package/build/cli/ui/ThinkingIndicator.d.ts +2 -0
  155. package/build/cli/ui/ThinkingIndicator.js +16 -0
  156. package/build/cli/ui/ThinkingIndicator.js.map +1 -0
  157. package/build/cli/ui/layout/DefaultAppLayout.d.ts +2 -0
  158. package/build/cli/ui/layout/DefaultAppLayout.js +6 -0
  159. package/build/cli/ui/layout/DefaultAppLayout.js.map +1 -0
  160. package/build/cli/ui/shared/ExpandableText.d.ts +14 -0
  161. package/build/cli/ui/shared/ExpandableText.js +19 -0
  162. package/build/cli/ui/shared/ExpandableText.js.map +1 -0
  163. package/build/cli/utils/commandUtils.d.ts +11 -0
  164. package/build/cli/utils/commandUtils.js +16 -0
  165. package/build/cli/utils/commandUtils.js.map +1 -0
  166. package/build/cli/utils/debugLogger.d.ts +12 -0
  167. package/build/cli/utils/debugLogger.js +52 -0
  168. package/build/cli/utils/debugLogger.js.map +1 -0
  169. package/build/cli/utils/historyStorage.d.ts +13 -0
  170. package/build/cli/utils/historyStorage.js +64 -0
  171. package/build/cli/utils/historyStorage.js.map +1 -0
  172. package/build/cli/utils/textUtil.d.ts +68 -0
  173. package/build/cli/utils/textUtil.js +236 -0
  174. package/build/cli/utils/textUtil.js.map +1 -0
  175. package/build/config.js +31 -5
  176. package/build/config.js.map +1 -0
  177. package/build/db.js +55 -0
  178. package/build/db.js.map +1 -0
  179. package/build/index.js +4 -0
  180. package/build/index.js.map +1 -0
  181. package/build/tools/create_document_with_properties/index.d.ts +60 -0
  182. package/build/tools/create_document_with_properties/index.js +6 -0
  183. package/build/tools/create_document_with_properties/index.js.map +1 -0
  184. package/build/tools/create_document_with_properties/params.d.ts +66 -0
  185. package/build/tools/generate_property/index.js +6 -0
  186. package/build/tools/generate_property/index.js.map +1 -0
  187. package/build/tools/index.d.ts +184 -0
  188. package/build/tools/organize_attachments/index.js +6 -0
  189. package/build/tools/organize_attachments/index.js.map +1 -0
  190. package/build/tools/organize_attachments/params.d.ts +122 -0
  191. package/build/tools/vault/index.js +16 -2
  192. package/build/tools/vault/index.js.map +1 -0
  193. package/build/tools/vault/params.d.ts +115 -0
  194. package/build/tools/vault/types/collect_context.d.ts +1340 -0
  195. package/build/tools/vault/types/list_all.d.ts +387 -0
  196. package/build/tools/vault/types/read_specific.d.ts +297 -0
  197. package/build/tools/vault/types/search.d.ts +598 -0
  198. package/build/tools/vault/utils/actions/collect_context.js +26 -1
  199. package/build/tools/vault/utils/actions/collect_context.js.map +1 -0
  200. package/build/tools/vault/utils/actions/index_rag.js +27 -0
  201. package/build/tools/vault/utils/actions/index_rag.js.map +1 -0
  202. package/build/tools/vault/utils/actions/list_all.js +1 -0
  203. package/build/tools/vault/utils/actions/list_all.js.map +1 -0
  204. package/build/tools/vault/utils/actions/load_memory.js +23 -13
  205. package/build/tools/vault/utils/actions/load_memory.js.map +1 -0
  206. package/build/tools/vault/utils/actions/read.js +2 -1
  207. package/build/tools/vault/utils/actions/read.js.map +1 -0
  208. package/build/tools/vault/utils/actions/search.js +2 -1
  209. package/build/tools/vault/utils/actions/search.js.map +1 -0
  210. package/build/tools/vault/utils/actions/search_semantic.js +54 -0
  211. package/build/tools/vault/utils/actions/search_semantic.js.map +1 -0
  212. package/build/tools/vault/utils/actions/stats.js +1 -0
  213. package/build/tools/vault/utils/actions/stats.js.map +1 -0
  214. package/build/tools/vault/utils/document.js +1 -0
  215. package/build/tools/vault/utils/document.js.map +1 -0
  216. package/build/tools/write_property/index.d.ts +58 -0
  217. package/build/tools/write_property/index.js +6 -0
  218. package/build/tools/write_property/index.js.map +1 -0
  219. package/build/utils/DirectoryWalker.d.ts +6 -0
  220. package/build/utils/DirectoryWalker.js +7 -0
  221. package/build/utils/DirectoryWalker.js.map +1 -0
  222. package/build/utils/Indexer.d.ts +18 -0
  223. package/build/utils/Indexer.js +5 -9
  224. package/build/utils/Indexer.js.map +1 -0
  225. package/build/utils/LLMClient.d.ts +37 -0
  226. package/build/utils/LLMClient.js +82 -0
  227. package/build/utils/LLMClient.js.map +1 -0
  228. package/build/utils/RAGIndexer.d.ts +22 -0
  229. package/build/utils/RAGIndexer.js +206 -0
  230. package/build/utils/RAGIndexer.js.map +1 -0
  231. package/build/utils/RerankerClient.d.ts +27 -0
  232. package/build/utils/RerankerClient.js +69 -0
  233. package/build/utils/RerankerClient.js.map +1 -0
  234. package/build/utils/VaultManger/VaultManager.d.ts +34 -0
  235. package/build/utils/VaultManger/VaultManager.js +1 -0
  236. package/build/utils/VaultManger/VaultManager.js.map +1 -0
  237. package/build/utils/VaultManger/VaultPathError.d.ts +6 -0
  238. package/build/utils/VaultManger/VaultPathError.js +1 -0
  239. package/build/utils/VaultManger/VaultPathError.js.map +1 -0
  240. package/build/utils/VaultManger/index.d.ts +3 -0
  241. package/build/utils/VaultManger/index.js +1 -0
  242. package/build/utils/VaultManger/index.js.map +1 -0
  243. package/build/utils/VaultManger/types.d.ts +16 -0
  244. package/build/utils/VaultManger/types.js +1 -0
  245. package/build/utils/VaultManger/types.js.map +1 -0
  246. package/build/utils/VaultWatcher.d.ts +8 -0
  247. package/build/utils/VaultWatcher.js +96 -0
  248. package/build/utils/VaultWatcher.js.map +1 -0
  249. package/build/utils/VectorDB.d.ts +53 -0
  250. package/build/utils/VectorDB.js +243 -0
  251. package/build/utils/VectorDB.js.map +1 -0
  252. package/build/utils/createToolError.d.ts +2 -0
  253. package/build/utils/createToolError.js +1 -0
  254. package/build/utils/createToolError.js.map +1 -0
  255. package/build/utils/getVaultManager.d.ts +2 -0
  256. package/build/utils/getVaultManager.js +1 -0
  257. package/build/utils/getVaultManager.js.map +1 -0
  258. package/build/utils/processor/LinkExtractor.d.ts +2 -0
  259. package/build/utils/processor/LinkExtractor.js +1 -0
  260. package/build/utils/processor/LinkExtractor.js.map +1 -0
  261. package/build/utils/processor/MatterParser.d.ts +2 -0
  262. package/build/utils/processor/MatterParser.js +12 -3
  263. package/build/utils/processor/MatterParser.js.map +1 -0
  264. package/build/utils/processor/types.d.ts +100 -0
  265. package/package.json +28 -3
  266. package/build/server.js +0 -32
  267. package/build/tools/create_document_with_properties/params.js +0 -32
  268. package/build/tools/generate_property/params.js +0 -54
  269. package/build/tools/index.js +0 -12
  270. package/build/tools/organize_attachments/params.js +0 -60
  271. package/build/tools/organize_attachments/utils.js +0 -65
  272. package/build/tools/vault/metrics.js +0 -126
  273. package/build/tools/vault/params.js +0 -141
  274. package/build/tools/vault/types/collect_context.js +0 -102
  275. package/build/tools/vault/types/list_all.js +0 -52
  276. package/build/tools/vault/types/read_specific.js +0 -40
  277. package/build/tools/vault/types/search.js +0 -58
  278. package/build/tools/vault/utils/constants.js +0 -2
  279. package/build/tools/vault/utils/shared.js +0 -74
  280. package/build/tools/vault/utils.js +0 -6
  281. package/build/tools/write_property/params.js +0 -51
  282. package/build/utils/processor/types.js +0 -27
  283. package/build/utils/semaphore.js +0 -25
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KerypressContext.js","sourceRoot":"","sources":["../../../src/cli/reference/KerypressContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const MainContent: () => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,207 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // @ts-nocheck
3
+ /**
4
+ * @license
5
+ * Copyright 2025 Google LLC
6
+ * SPDX-License-Identifier: Apache-2.0
7
+ */
8
+ import { Box, Static } from "ink";
9
+ import { memo, useCallback, useEffect, useMemo, useRef } from "react";
10
+ import { AppEvent, appEvents } from "../../utils/events.js";
11
+ import { MAX_GEMINI_MESSAGE_LINES } from "../constants.js";
12
+ import { useAppContext } from "../contexts/AppContext.js";
13
+ import { useConfig } from "../contexts/ConfigContext.js";
14
+ import { useSettings } from "../contexts/SettingsContext.js";
15
+ import { useUIState } from "../contexts/UIStateContext.js";
16
+ import { useAlternateBuffer } from "../hooks/useAlternateBuffer.js";
17
+ import { useConfirmingTool } from "../hooks/useConfirmingTool.js";
18
+ import { AppHeader } from "./AppHeader.js";
19
+ import { HistoryItemDisplay } from "./HistoryItemDisplay.js";
20
+ import { isTopicTool } from "./messages/TopicMessage.js";
21
+ import { ScrollableList } from "./shared/ScrollableList.js";
22
+ import { SCROLL_TO_ITEM_END, } from "./shared/VirtualizedList.js";
23
+ import { ToolConfirmationQueue } from "./ToolConfirmationQueue.js";
24
+ const MemoizedHistoryItemDisplay = memo(HistoryItemDisplay);
25
+ const MemoizedAppHeader = memo(AppHeader);
26
+ // Limit Gemini messages to a very high number of lines to mitigate performance
27
+ // issues in the worst case if we somehow get an enormous response from Gemini.
28
+ // This threshold is arbitrary but should be high enough to never impact normal
29
+ // usage.
30
+ export const MainContent = () => {
31
+ const { version } = useAppContext();
32
+ const uiState = useUIState();
33
+ const isAlternateBufferOrTerminalBuffer = useAlternateBuffer();
34
+ const config = useConfig();
35
+ const useTerminalBuffer = config.getUseTerminalBuffer();
36
+ const isAlternateBuffer = config.getUseAlternateBuffer();
37
+ const confirmingTool = useConfirmingTool();
38
+ const showConfirmationQueue = confirmingTool !== null;
39
+ const _confirmingToolCallId = confirmingTool?.tool.callId;
40
+ const scrollableListRef = useRef(null);
41
+ useEffect(() => {
42
+ if (showConfirmationQueue) {
43
+ scrollableListRef.current?.scrollToEnd();
44
+ }
45
+ }, [showConfirmationQueue]);
46
+ useEffect(() => {
47
+ const handleScroll = () => {
48
+ scrollableListRef.current?.scrollToEnd();
49
+ };
50
+ appEvents.on(AppEvent.ScrollToBottom, handleScroll);
51
+ return () => {
52
+ appEvents.off(AppEvent.ScrollToBottom, handleScroll);
53
+ };
54
+ }, []);
55
+ const { pendingHistoryItems, mainAreaWidth, staticAreaMaxItemHeight, availableTerminalHeight, cleanUiDetailsVisible, mouseMode, } = uiState;
56
+ const showHeaderDetails = cleanUiDetailsVisible;
57
+ const lastUserPromptIndex = useMemo(() => {
58
+ for (let i = uiState.history.length - 1; i >= 0; i--) {
59
+ const type = uiState.history[i].type;
60
+ if (type === "user" || type === "user_shell") {
61
+ return i;
62
+ }
63
+ }
64
+ return -1;
65
+ }, [uiState.history]);
66
+ const settings = useSettings();
67
+ const topicUpdateNarrationEnabled = settings.merged.experimental?.topicUpdateNarration === true;
68
+ const suppressNarrationFlags = useMemo(() => {
69
+ const combinedHistory = [...uiState.history, ...pendingHistoryItems];
70
+ const flags = new Array(combinedHistory.length).fill(false);
71
+ if (topicUpdateNarrationEnabled) {
72
+ let toolGroupInTurn = false;
73
+ for (let i = combinedHistory.length - 1; i >= 0; i--) {
74
+ const item = combinedHistory[i];
75
+ if (item.type === "user" || item.type === "user_shell") {
76
+ toolGroupInTurn = false;
77
+ }
78
+ else if (item.type === "tool_group") {
79
+ toolGroupInTurn = item.tools.some((t) => isTopicTool(t.name));
80
+ }
81
+ else if ((item.type === "thinking" ||
82
+ item.type === "gemini" ||
83
+ item.type === "gemini_content") &&
84
+ toolGroupInTurn) {
85
+ flags[i] = true;
86
+ }
87
+ }
88
+ }
89
+ return flags;
90
+ }, [uiState.history, pendingHistoryItems, topicUpdateNarrationEnabled]);
91
+ const augmentedHistory = useMemo(() => uiState.history.map((item, i) => {
92
+ const prevType = i > 0 ? uiState.history[i - 1]?.type : undefined;
93
+ const isFirstThinking = item.type === "thinking" && prevType !== "thinking";
94
+ const isFirstAfterThinking = item.type !== "thinking" && prevType === "thinking";
95
+ const isToolGroupBoundary = (item.type !== "tool_group" && prevType === "tool_group") ||
96
+ (item.type === "tool_group" && prevType !== "tool_group");
97
+ return {
98
+ item,
99
+ isExpandable: i > lastUserPromptIndex,
100
+ isFirstThinking,
101
+ isFirstAfterThinking,
102
+ isToolGroupBoundary,
103
+ suppressNarration: suppressNarrationFlags[i] ?? false,
104
+ };
105
+ }), [uiState.history, lastUserPromptIndex, suppressNarrationFlags]);
106
+ const historyItems = useMemo(() => augmentedHistory.map(({ item, isExpandable, isFirstThinking, isFirstAfterThinking, isToolGroupBoundary, suppressNarration, }) => (_jsx(MemoizedHistoryItemDisplay, { terminalWidth: mainAreaWidth, availableTerminalHeight: uiState.constrainHeight || !isExpandable
107
+ ? staticAreaMaxItemHeight
108
+ : undefined, availableTerminalHeightGemini: MAX_GEMINI_MESSAGE_LINES, item: item, isPending: false, commands: uiState.slashCommands, isExpandable: isExpandable, isFirstThinking: isFirstThinking, isFirstAfterThinking: isFirstAfterThinking, isToolGroupBoundary: isToolGroupBoundary, suppressNarration: suppressNarration }, item.id))), [
109
+ augmentedHistory,
110
+ mainAreaWidth,
111
+ staticAreaMaxItemHeight,
112
+ uiState.slashCommands,
113
+ uiState.constrainHeight,
114
+ ]);
115
+ const staticHistoryItems = useMemo(() => historyItems.slice(0, lastUserPromptIndex + 1), [historyItems, lastUserPromptIndex]);
116
+ const lastResponseHistoryItems = useMemo(() => historyItems.slice(lastUserPromptIndex + 1), [historyItems, lastUserPromptIndex]);
117
+ const pendingItems = useMemo(() => (_jsxs(Box, { flexDirection: "column", children: [pendingHistoryItems.map((item, i) => {
118
+ const prevType = i === 0
119
+ ? uiState.history.at(-1)?.type
120
+ : pendingHistoryItems[i - 1]?.type;
121
+ const isFirstThinking = item.type === "thinking" && prevType !== "thinking";
122
+ const isFirstAfterThinking = item.type !== "thinking" && prevType === "thinking";
123
+ const isToolGroupBoundary = (item.type !== "tool_group" && prevType === "tool_group") ||
124
+ (item.type === "tool_group" && prevType !== "tool_group");
125
+ const suppressNarration = suppressNarrationFlags[uiState.history.length + i] ?? false;
126
+ return (_jsx(HistoryItemDisplay, { availableTerminalHeight: uiState.constrainHeight ? availableTerminalHeight : undefined, terminalWidth: mainAreaWidth, item: { ...item, id: -(i + 1) }, isPending: true, isExpandable: true, isFirstThinking: isFirstThinking, isFirstAfterThinking: isFirstAfterThinking, isToolGroupBoundary: isToolGroupBoundary, suppressNarration: suppressNarration }, `pending-${i}`));
127
+ }), showConfirmationQueue && confirmingTool && (_jsx(ToolConfirmationQueue, { confirmingTool: confirmingTool }, "confirmation-queue"))] }, "pending-items-group")), [
128
+ pendingHistoryItems,
129
+ uiState.constrainHeight,
130
+ availableTerminalHeight,
131
+ mainAreaWidth,
132
+ showConfirmationQueue,
133
+ confirmingTool,
134
+ uiState.history,
135
+ suppressNarrationFlags,
136
+ ]);
137
+ const virtualizedData = useMemo(() => [
138
+ { type: "header" },
139
+ ...augmentedHistory.map((data, index) => ({
140
+ type: "history",
141
+ item: data.item,
142
+ element: historyItems[index],
143
+ })),
144
+ { type: "pending" },
145
+ ], [augmentedHistory, historyItems]);
146
+ const renderItem = useCallback(({ item }) => {
147
+ if (item.type === "header") {
148
+ return (_jsx(MemoizedAppHeader, { version: version, showDetails: showHeaderDetails }, "app-header"));
149
+ }
150
+ else if (item.type === "history") {
151
+ return item.element;
152
+ }
153
+ else {
154
+ return pendingItems;
155
+ }
156
+ }, [showHeaderDetails, version, pendingItems]);
157
+ const estimatedItemHeight = useCallback(() => 100, []);
158
+ const keyExtractor = useCallback((item, _index) => {
159
+ if (item.type === "header")
160
+ return "header";
161
+ if (item.type === "history")
162
+ return item.item.id.toString();
163
+ return "pending";
164
+ }, []);
165
+ // TODO(jacobr): we should return true for all messages that are not
166
+ // interactive. Gemini messages and Tool results that are not scrollable,
167
+ // collapsible, or clickable should also be tagged as static in the future.
168
+ const isStaticItem = useCallback((item) => item.type === "header", []);
169
+ const scrollableList = useMemo(() => {
170
+ if (isAlternateBufferOrTerminalBuffer) {
171
+ return (_jsx(ScrollableList, { ref: scrollableListRef, hasFocus: !uiState.isEditorDialogOpen && !uiState.embeddedShellFocused, width: uiState.terminalWidth, data: virtualizedData, renderItem: renderItem, estimatedItemHeight: estimatedItemHeight, keyExtractor: keyExtractor, initialScrollIndex: SCROLL_TO_ITEM_END, initialScrollOffsetInIndex: SCROLL_TO_ITEM_END, renderStatic: useTerminalBuffer, isStaticItem: useTerminalBuffer ? isStaticItem : undefined, overflowToBackbuffer: useTerminalBuffer && !isAlternateBuffer, scrollbar: mouseMode })
172
+ // TODO(jacobr): consider adding stableScrollback={!config.getUseAlternateBuffer()}
173
+ // as that will reduce the # of cases where we will have to clear the
174
+ // scrollback buffer due to the scrollback size changing but we need to
175
+ // work out ensuring we only attempt it within a smaller range of
176
+ // scrollback vals. Right now it sometimes triggers adding more white
177
+ // space than it should.
178
+ );
179
+ }
180
+ return null;
181
+ }, [
182
+ isAlternateBufferOrTerminalBuffer,
183
+ uiState.isEditorDialogOpen,
184
+ uiState.embeddedShellFocused,
185
+ uiState.terminalWidth,
186
+ virtualizedData,
187
+ renderItem,
188
+ estimatedItemHeight,
189
+ keyExtractor,
190
+ useTerminalBuffer,
191
+ isStaticItem,
192
+ mouseMode,
193
+ isAlternateBuffer,
194
+ ]);
195
+ if (!uiState.isConfigInitialized) {
196
+ return null;
197
+ }
198
+ if (isAlternateBufferOrTerminalBuffer) {
199
+ return scrollableList;
200
+ }
201
+ return (_jsxs(_Fragment, { children: [_jsx(Static, { items: [
202
+ _jsx(AppHeader, { version: version }, "app-header"),
203
+ ...staticHistoryItems,
204
+ ...lastResponseHistoryItems,
205
+ ], children: (item) => item }, uiState.historyRemountKey), pendingItems] }));
206
+ };
207
+ //# sourceMappingURL=MainContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MainContent.js","sourceRoot":"","sources":["../../../src/cli/reference/MainContent.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { AgentDefinition, ApprovalMode, AuthType, FallbackIntent, FolderDiscoveryResults, IdeContext, IdeInfo, PolicyUpdateConfirmationRequest, UserTierId, ValidationIntent } from "@google/gemini-cli-core";
7
+ import type { DOMElement } from "ink";
8
+ import type { TransientMessageType } from "../../utils/events.js";
9
+ import type { CommandContext, SlashCommand } from "../commands/types.js";
10
+ import type { SessionStatsState } from "../contexts/SessionContext.js";
11
+ import type { ExtensionUpdateState } from "../state/extensions.js";
12
+ import type { ActiveHook, ConfirmationRequest, HistoryItem, HistoryItemWithoutId, LoopDetectionConfirmationRequest, PermissionConfirmationRequest, QuotaStats, StreamingState, ThoughtSummary } from "../types.js";
13
+ import type { UpdateObject } from "../utils/updateCheck.js";
14
+ export interface ProQuotaDialogRequest {
15
+ failedModel: string;
16
+ fallbackModel: string;
17
+ message: string;
18
+ isTerminalQuotaError: boolean;
19
+ isModelNotFoundError?: boolean;
20
+ authType?: AuthType;
21
+ resolve: (intent: FallbackIntent) => void;
22
+ }
23
+ export interface ValidationDialogRequest {
24
+ validationLink?: string;
25
+ validationDescription?: string;
26
+ learnMoreUrl?: string;
27
+ resolve: (intent: ValidationIntent) => void;
28
+ }
29
+ /** Intent for overage menu dialog */
30
+ export type OverageMenuIntent = "use_credits" | "use_fallback" | "manage" | "stop";
31
+ export interface OverageMenuDialogRequest {
32
+ failedModel: string;
33
+ fallbackModel?: string;
34
+ resetTime?: string;
35
+ creditBalance: number;
36
+ userEmail?: string;
37
+ resolve: (intent: OverageMenuIntent) => void;
38
+ }
39
+ /** Intent for empty wallet dialog */
40
+ export type EmptyWalletIntent = "get_credits" | "use_fallback" | "stop";
41
+ export interface EmptyWalletDialogRequest {
42
+ failedModel: string;
43
+ fallbackModel?: string;
44
+ resetTime?: string;
45
+ userEmail?: string;
46
+ onGetCredits: () => void;
47
+ resolve: (intent: EmptyWalletIntent) => void;
48
+ }
49
+ import type { BackgroundTask } from "../hooks/useExecutionLifecycle.js";
50
+ import type { UseHistoryManagerReturn } from "../hooks/useHistoryManager.js";
51
+ import type { RestartReason } from "../hooks/useIdeTrustListener.js";
52
+ import type { TerminalBackgroundColor } from "../utils/terminalCapabilityManager.js";
53
+ export interface QuotaState {
54
+ userTier: UserTierId | undefined;
55
+ stats: QuotaStats | undefined;
56
+ proQuotaRequest: ProQuotaDialogRequest | null;
57
+ validationRequest: ValidationDialogRequest | null;
58
+ overageMenuRequest: OverageMenuDialogRequest | null;
59
+ emptyWalletRequest: EmptyWalletDialogRequest | null;
60
+ }
61
+ export interface AccountSuspensionInfo {
62
+ message: string;
63
+ appealUrl?: string;
64
+ appealLinkText?: string;
65
+ }
66
+ export interface UIState {
67
+ history: HistoryItem[];
68
+ historyManager: UseHistoryManagerReturn;
69
+ isThemeDialogOpen: boolean;
70
+ themeError: string | null;
71
+ isAuthenticating: boolean;
72
+ isConfigInitialized: boolean;
73
+ authError: string | null;
74
+ accountSuspensionInfo: AccountSuspensionInfo | null;
75
+ isAuthDialogOpen: boolean;
76
+ isAwaitingApiKeyInput: boolean;
77
+ apiKeyDefaultValue?: string;
78
+ editorError: string | null;
79
+ isEditorDialogOpen: boolean;
80
+ showPrivacyNotice: boolean;
81
+ mouseMode: boolean;
82
+ corgiMode: boolean;
83
+ debugMessage: string;
84
+ quittingMessages: HistoryItem[] | null;
85
+ isSettingsDialogOpen: boolean;
86
+ isSessionBrowserOpen: boolean;
87
+ isModelDialogOpen: boolean;
88
+ isAgentConfigDialogOpen: boolean;
89
+ selectedAgentName?: string;
90
+ selectedAgentDisplayName?: string;
91
+ selectedAgentDefinition?: AgentDefinition;
92
+ isPermissionsDialogOpen: boolean;
93
+ permissionsDialogProps: {
94
+ targetDirectory?: string;
95
+ } | null;
96
+ slashCommands: readonly SlashCommand[] | undefined;
97
+ pendingSlashCommandHistoryItems: HistoryItemWithoutId[];
98
+ commandContext: CommandContext;
99
+ commandConfirmationRequest: ConfirmationRequest | null;
100
+ authConsentRequest: ConfirmationRequest | null;
101
+ confirmUpdateExtensionRequests: ConfirmationRequest[];
102
+ loopDetectionConfirmationRequest: LoopDetectionConfirmationRequest | null;
103
+ permissionConfirmationRequest: PermissionConfirmationRequest | null;
104
+ geminiMdFileCount: number;
105
+ streamingState: StreamingState;
106
+ initError: string | null;
107
+ pendingGeminiHistoryItems: HistoryItemWithoutId[];
108
+ thought: ThoughtSummary | null;
109
+ isInputActive: boolean;
110
+ isResuming: boolean;
111
+ shouldShowIdePrompt: boolean;
112
+ isFolderTrustDialogOpen: boolean;
113
+ folderDiscoveryResults: FolderDiscoveryResults | null;
114
+ isPolicyUpdateDialogOpen: boolean;
115
+ policyUpdateConfirmationRequest: PolicyUpdateConfirmationRequest | undefined;
116
+ isTrustedFolder: boolean | undefined;
117
+ constrainHeight: boolean;
118
+ showErrorDetails: boolean;
119
+ ideContextState: IdeContext | undefined;
120
+ renderMarkdown: boolean;
121
+ ctrlCPressedOnce: boolean;
122
+ ctrlDPressedOnce: boolean;
123
+ shortcutsHelpVisible: boolean;
124
+ cleanUiDetailsVisible: boolean;
125
+ elapsedTime: number;
126
+ currentLoadingPhrase: string | undefined;
127
+ currentTip: string | undefined;
128
+ currentWittyPhrase: string | undefined;
129
+ historyRemountKey: number;
130
+ activeHooks: ActiveHook[];
131
+ messageQueue: string[];
132
+ queueErrorMessage: string | null;
133
+ showApprovalModeIndicator: ApprovalMode;
134
+ allowPlanMode: boolean;
135
+ quota: QuotaState;
136
+ currentModel: string;
137
+ contextFileNames: string[];
138
+ errorCount: number;
139
+ availableTerminalHeight: number | undefined;
140
+ stableControlsHeight: number;
141
+ mainAreaWidth: number;
142
+ staticAreaMaxItemHeight: number;
143
+ staticExtraHeight: number;
144
+ dialogsVisible: boolean;
145
+ pendingHistoryItems: HistoryItemWithoutId[];
146
+ nightly: boolean;
147
+ branchName: string | undefined;
148
+ sessionStats: SessionStatsState;
149
+ terminalWidth: number;
150
+ terminalHeight: number;
151
+ mainControlsRef: (node: DOMElement | null) => void;
152
+ rootUiRef: React.MutableRefObject<DOMElement | null>;
153
+ currentIDE: IdeInfo | null;
154
+ updateInfo: UpdateObject | null;
155
+ showIdeRestartPrompt: boolean;
156
+ ideTrustRestartReason: RestartReason;
157
+ isRestarting: boolean;
158
+ extensionsUpdateState: Map<string, ExtensionUpdateState>;
159
+ activePtyId: number | undefined;
160
+ backgroundTaskCount: number;
161
+ isBackgroundTaskVisible: boolean;
162
+ embeddedShellFocused: boolean;
163
+ showDebugProfiler: boolean;
164
+ showFullTodos: boolean;
165
+ bannerData: {
166
+ defaultText: string;
167
+ warningText: string;
168
+ };
169
+ bannerVisible: boolean;
170
+ customDialog: React.ReactNode | null;
171
+ terminalBackgroundColor: TerminalBackgroundColor;
172
+ settingsNonce: number;
173
+ backgroundTasks: Map<number, BackgroundTask>;
174
+ activeBackgroundTaskPid: number | null;
175
+ backgroundTaskHeight: number;
176
+ isBackgroundTaskListOpen: boolean;
177
+ adminSettingsChanged: boolean;
178
+ newAgents: AgentDefinition[] | null;
179
+ showIsExpandableHint: boolean;
180
+ hintMode: boolean;
181
+ hintBuffer: string;
182
+ transientMessage: {
183
+ text: string;
184
+ type: TransientMessageType;
185
+ } | null;
186
+ }
187
+ export declare const UIStateContext: import("react").Context<UIState | null>;
188
+ export declare const useUIState: () => UIState;
@@ -0,0 +1,16 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @license
4
+ * Copyright 2026 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import { createContext, useContext } from "react";
8
+ export const UIStateContext = createContext(null);
9
+ export const useUIState = () => {
10
+ const context = useContext(UIStateContext);
11
+ if (!context) {
12
+ throw new Error("useUIState must be used within a UIStateProvider");
13
+ }
14
+ return context;
15
+ };
16
+ //# sourceMappingURL=UIStateContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIStateContext.js","sourceRoot":"","sources":["../../../src/cli/reference/UIStateContext.tsx"],"names":[],"mappings":"AAAA,cAAc;AACd;;;;GAIG;AAeH,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AA8MlD,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAiB,IAAI,CAAC,CAAC;AAElE,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE;IAC9B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;IAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Config, EditorType, GeminiClient } from "@google/gemini-cli-core";
7
+ import { ApprovalMode } from "@google/gemini-cli-core";
8
+ import { type PartListUnion } from "@google/genai";
9
+ import type { LoadedSettings } from "../../config/settings.js";
10
+ import type { HistoryItem, SlashCommandProcessorResult } from "../types.js";
11
+ import { StreamingState } from "../types.js";
12
+ import type { UseHistoryManagerReturn } from "./useHistoryManager.js";
13
+ /**
14
+ * Manages the Gemini stream, including user input, command processing,
15
+ * API interaction, and tool call lifecycle.
16
+ */
17
+ export declare const useGeminiStream: (geminiClient: GeminiClient, history: HistoryItem[], addItem: UseHistoryManagerReturn["addItem"], config: Config, settings: LoadedSettings, onDebugMessage: (message: string) => void, handleSlashCommand: (cmd: PartListUnion) => Promise<SlashCommandProcessorResult | false>, shellModeActive: boolean, getPreferredEditor: () => EditorType | undefined, onAuthError: (error: string) => void, performMemoryRefresh: () => Promise<void>, modelSwitchedFromQuotaError: boolean, setModelSwitchedFromQuotaError: React.Dispatch<React.SetStateAction<boolean>>, onCancelSubmit: (shouldRestorePrompt?: boolean) => void, setShellInputFocused: (value: boolean) => void, terminalWidth: number, terminalHeight: number, isShellFocused?: boolean, consumeUserHint?: () => string | null) => {
18
+ streamingState: StreamingState;
19
+ submitQuery: (query: PartListUnion, options?: {
20
+ isContinuation: boolean;
21
+ }, prompt_id?: string) => Promise<any>;
22
+ initError: string | null;
23
+ pendingHistoryItems: HistoryItemWithoutId[];
24
+ thought: any;
25
+ cancelOngoingRequest: () => void;
26
+ pendingToolCalls: any;
27
+ handleApprovalModeChange: (newApprovalMode: ApprovalMode) => Promise<void>;
28
+ activePtyId: any;
29
+ loopDetectionConfirmationRequest: {
30
+ onComplete: (result: {
31
+ userSelection: "disable" | "keep";
32
+ }) => void;
33
+ } | null;
34
+ lastOutputTime: number;
35
+ backgroundTaskCount: any;
36
+ isBackgroundTaskVisible: any;
37
+ toggleBackgroundTasks: any;
38
+ backgroundCurrentExecution: any;
39
+ backgroundTasks: any;
40
+ dismissBackgroundTask: any;
41
+ retryStatus: any;
42
+ };