@sunub/obsidian-mcp-server 0.1.1 → 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 (284) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +392 -153
  3. package/build/cli/AppContainer.d.ts +1 -0
  4. package/build/cli/AppContainer.js +197 -0
  5. package/build/cli/AppContainer.js.map +1 -0
  6. package/build/cli/app.js +7 -0
  7. package/build/cli/app.js.map +1 -0
  8. package/build/cli/config/SettingContext.d.ts +1 -0
  9. package/build/cli/config/SettingContext.js +2 -0
  10. package/build/cli/config/SettingContext.js.map +1 -0
  11. package/build/cli/config/mcpServersConfig.d.ts +18 -0
  12. package/build/cli/config/mcpServersConfig.js +119 -0
  13. package/build/cli/config/mcpServersConfig.js.map +1 -0
  14. package/build/cli/config/settingSchema.d.ts +180 -0
  15. package/build/cli/config/settingSchema.js +128 -0
  16. package/build/cli/config/settingSchema.js.map +1 -0
  17. package/build/cli/context/InputContext.d.ts +12 -0
  18. package/build/cli/context/InputContext.js +10 -0
  19. package/build/cli/context/InputContext.js.map +1 -0
  20. package/build/cli/context/KeypressContext.d.ts +30 -0
  21. package/build/cli/context/KeypressContext.js +200 -0
  22. package/build/cli/context/KeypressContext.js.map +1 -0
  23. package/build/cli/context/KeypressContext.util.d.ts +7 -0
  24. package/build/cli/context/KeypressContext.util.js +474 -0
  25. package/build/cli/context/KeypressContext.util.js.map +1 -0
  26. package/build/cli/hooks/useAtCompletion.d.ts +12 -0
  27. package/build/cli/hooks/useAtCompletion.js +5 -0
  28. package/build/cli/hooks/useAtCompletion.js.map +1 -0
  29. package/build/cli/hooks/useCommandCompletion.d.ts +59 -0
  30. package/build/cli/hooks/useCommandCompletion.js +344 -0
  31. package/build/cli/hooks/useCommandCompletion.js.map +1 -0
  32. package/build/cli/hooks/useCompletion.d.ts +22 -0
  33. package/build/cli/hooks/useCompletion.js +84 -0
  34. package/build/cli/hooks/useCompletion.js.map +1 -0
  35. package/build/cli/hooks/useDispatcher.d.ts +6 -0
  36. package/build/cli/hooks/useDispatcher.js +286 -0
  37. package/build/cli/hooks/useDispatcher.js.map +1 -0
  38. package/build/cli/hooks/useFocus.d.ts +2 -0
  39. package/build/cli/hooks/useFocus.js +3 -0
  40. package/build/cli/hooks/useFocus.js.map +1 -0
  41. package/build/cli/hooks/useInputHistory.d.ts +24 -0
  42. package/build/cli/hooks/useInputHistory.js +159 -0
  43. package/build/cli/hooks/useInputHistory.js.map +1 -0
  44. package/build/cli/hooks/useKeyMatchers.d.ts +17 -0
  45. package/build/cli/hooks/useKeyMatchers.js +13 -0
  46. package/build/cli/hooks/useKeyMatchers.js.map +1 -0
  47. package/build/cli/hooks/useKeypress.d.ts +19 -0
  48. package/build/cli/hooks/useKeypress.js +28 -0
  49. package/build/cli/hooks/useKeypress.js.map +1 -0
  50. package/build/cli/hooks/useLlmStream.d.ts +12 -0
  51. package/build/cli/hooks/useLlmStream.js +365 -0
  52. package/build/cli/hooks/useLlmStream.js.map +1 -0
  53. package/build/cli/hooks/useMcpClient.d.ts +10 -0
  54. package/build/cli/hooks/useMcpClient.js +100 -0
  55. package/build/cli/hooks/useMcpClient.js.map +1 -0
  56. package/build/cli/hooks/useMcpManager.d.ts +22 -0
  57. package/build/cli/hooks/useMcpManager.js +86 -0
  58. package/build/cli/hooks/useMcpManager.js.map +1 -0
  59. package/build/cli/hooks/usePromptCompletion.d.ts +19 -0
  60. package/build/cli/hooks/usePromptCompletion.js +13 -0
  61. package/build/cli/hooks/usePromptCompletion.js.map +1 -0
  62. package/build/cli/hooks/useRagContext.d.ts +6 -0
  63. package/build/cli/hooks/useRagContext.js +83 -0
  64. package/build/cli/hooks/useRagContext.js.map +1 -0
  65. package/build/cli/hooks/useShellCompletion.d.ts +18 -0
  66. package/build/cli/hooks/useShellCompletion.js +10 -0
  67. package/build/cli/hooks/useShellCompletion.js.map +1 -0
  68. package/build/cli/hooks/useSlashCompletion.d.ts +21 -0
  69. package/build/cli/hooks/useSlashCompletion.js +11 -0
  70. package/build/cli/hooks/useSlashCompletion.js.map +1 -0
  71. package/build/cli/hooks/useTerminalSize.d.ts +9 -0
  72. package/build/cli/hooks/useTerminalSize.js +26 -0
  73. package/build/cli/hooks/useTerminalSize.js.map +1 -0
  74. package/build/cli/index.js +27 -0
  75. package/build/cli/index.js.map +1 -0
  76. package/build/cli/key/keyBindings.d.ts +152 -0
  77. package/build/cli/key/keyBindings.js +630 -0
  78. package/build/cli/key/keyBindings.js.map +1 -0
  79. package/build/cli/key/keyMatchers.d.ts +27 -0
  80. package/build/cli/key/keyMatchers.js +33 -0
  81. package/build/cli/key/keyMatchers.js.map +1 -0
  82. package/build/cli/key/text-buffer-bestcase.js +2754 -0
  83. package/build/cli/key/text-buffer-bestcase.js.map +1 -0
  84. package/build/cli/key/text-buffer.js +918 -0
  85. package/build/cli/key/text-buffer.js.map +1 -0
  86. package/build/cli/reference/HistoryItemDisplay.d.ts +23 -0
  87. package/build/cli/reference/HistoryItemDisplay.js +63 -0
  88. package/build/cli/reference/HistoryItemDisplay.js.map +1 -0
  89. package/build/cli/reference/InputContext.d.ts +17 -0
  90. package/build/cli/reference/InputContext.js +16 -0
  91. package/build/cli/reference/InputContext.js.map +1 -0
  92. package/build/cli/reference/KerypressContext.d.ts +37 -0
  93. package/build/cli/reference/KerypressContext.js +791 -0
  94. package/build/cli/reference/KerypressContext.js.map +1 -0
  95. package/build/cli/reference/MainContent.d.ts +6 -0
  96. package/build/cli/reference/MainContent.js +207 -0
  97. package/build/cli/reference/MainContent.js.map +1 -0
  98. package/build/cli/reference/UIStateContext.d.ts +188 -0
  99. package/build/cli/reference/UIStateContext.js +16 -0
  100. package/build/cli/reference/UIStateContext.js.map +1 -0
  101. package/build/cli/reference/useGeminiStream.d.ts +42 -0
  102. package/build/cli/reference/useGeminiStream.js +1404 -0
  103. package/build/cli/reference/useGeminiStream.js.map +1 -0
  104. package/build/cli/services/McpClientService.d.ts +32 -0
  105. package/build/cli/services/McpClientService.js +123 -0
  106. package/build/cli/services/McpClientService.js.map +1 -0
  107. package/build/cli/services/McpManager.d.ts +28 -0
  108. package/build/cli/services/McpManager.js +146 -0
  109. package/build/cli/services/McpManager.js.map +1 -0
  110. package/build/cli/theme/builtin/no-color.js +125 -0
  111. package/build/cli/theme/builtin/no-color.js.map +1 -0
  112. package/build/cli/theme/builtin/tokyonight-dark.js +146 -0
  113. package/build/cli/theme/builtin/tokyonight-dark.js.map +1 -0
  114. package/build/cli/theme/semantic-colors.js +19 -0
  115. package/build/cli/theme/semantic-colors.js.map +1 -0
  116. package/build/cli/theme/semantic-tokens.js +77 -0
  117. package/build/cli/theme/semantic-tokens.js.map +1 -0
  118. package/build/cli/theme/theme-manager.d.ts +32 -0
  119. package/build/cli/theme/theme-manager.js +150 -0
  120. package/build/cli/theme/theme-manager.js.map +1 -0
  121. package/build/cli/theme/theme.js +333 -0
  122. package/build/cli/theme/theme.js.map +1 -0
  123. package/build/cli/tmp.js +27 -0
  124. package/build/cli/tmp.js.map +1 -0
  125. package/build/cli/types.d.ts +72 -0
  126. package/build/cli/types.js +8 -0
  127. package/build/cli/types.js.map +1 -0
  128. package/build/cli/ui/ConnectionStatus.d.ts +13 -0
  129. package/build/cli/ui/ConnectionStatus.js +24 -0
  130. package/build/cli/ui/ConnectionStatus.js.map +1 -0
  131. package/build/cli/ui/HelpCommands.d.ts +5 -0
  132. package/build/cli/ui/HelpCommands.js +11 -0
  133. package/build/cli/ui/HelpCommands.js.map +1 -0
  134. package/build/cli/ui/HistoryItemDisplay.d.ts +9 -0
  135. package/build/cli/ui/HistoryItemDisplay.js +38 -0
  136. package/build/cli/ui/HistoryItemDisplay.js.map +1 -0
  137. package/build/cli/ui/InputPrompt-bestcase.d.ts +63 -0
  138. package/build/cli/ui/InputPrompt-bestcase.js +1301 -0
  139. package/build/cli/ui/InputPrompt-bestcase.js.map +1 -0
  140. package/build/cli/ui/InputPrompt.d.ts +12 -0
  141. package/build/cli/ui/InputPrompt.js +145 -0
  142. package/build/cli/ui/InputPrompt.js.map +1 -0
  143. package/build/cli/ui/InputPrompt.tmp.d.ts +7 -0
  144. package/build/cli/ui/InputPrompt.tmp.js +215 -0
  145. package/build/cli/ui/InputPrompt.tmp.js.map +1 -0
  146. package/build/cli/ui/MainContent.d.ts +10 -0
  147. package/build/cli/ui/MainContent.js +24 -0
  148. package/build/cli/ui/MainContent.js.map +1 -0
  149. package/build/cli/ui/MouseContext.d.ts +1 -0
  150. package/build/cli/ui/MouseContext.js +2 -0
  151. package/build/cli/ui/MouseContext.js.map +1 -0
  152. package/build/cli/ui/SuggestionsDisplay.d.ts +25 -0
  153. package/build/cli/ui/SuggestionsDisplay.js +45 -0
  154. package/build/cli/ui/SuggestionsDisplay.js.map +1 -0
  155. package/build/cli/ui/ThinkingIndicator.d.ts +2 -0
  156. package/build/cli/ui/ThinkingIndicator.js +16 -0
  157. package/build/cli/ui/ThinkingIndicator.js.map +1 -0
  158. package/build/cli/ui/layout/DefaultAppLayout.d.ts +2 -0
  159. package/build/cli/ui/layout/DefaultAppLayout.js +6 -0
  160. package/build/cli/ui/layout/DefaultAppLayout.js.map +1 -0
  161. package/build/cli/ui/shared/ExpandableText.d.ts +14 -0
  162. package/build/cli/ui/shared/ExpandableText.js +19 -0
  163. package/build/cli/ui/shared/ExpandableText.js.map +1 -0
  164. package/build/cli/utils/commandUtils.d.ts +11 -0
  165. package/build/cli/utils/commandUtils.js +16 -0
  166. package/build/cli/utils/commandUtils.js.map +1 -0
  167. package/build/cli/utils/debugLogger.d.ts +12 -0
  168. package/build/cli/utils/debugLogger.js +52 -0
  169. package/build/cli/utils/debugLogger.js.map +1 -0
  170. package/build/cli/utils/historyStorage.d.ts +13 -0
  171. package/build/cli/utils/historyStorage.js +64 -0
  172. package/build/cli/utils/historyStorage.js.map +1 -0
  173. package/build/cli/utils/textUtil.d.ts +68 -0
  174. package/build/cli/utils/textUtil.js +236 -0
  175. package/build/cli/utils/textUtil.js.map +1 -0
  176. package/build/config.js +31 -5
  177. package/build/config.js.map +1 -0
  178. package/build/db.js +55 -0
  179. package/build/db.js.map +1 -0
  180. package/build/index.js +4 -4
  181. package/build/index.js.map +1 -0
  182. package/build/tools/create_document_with_properties/index.d.ts +60 -0
  183. package/build/tools/create_document_with_properties/index.js +6 -0
  184. package/build/tools/create_document_with_properties/index.js.map +1 -0
  185. package/build/tools/create_document_with_properties/params.d.ts +66 -0
  186. package/build/tools/generate_property/index.js +6 -0
  187. package/build/tools/generate_property/index.js.map +1 -0
  188. package/build/tools/index.d.ts +184 -0
  189. package/build/tools/organize_attachments/index.js +6 -0
  190. package/build/tools/organize_attachments/index.js.map +1 -0
  191. package/build/tools/organize_attachments/params.d.ts +122 -0
  192. package/build/tools/vault/index.js +16 -2
  193. package/build/tools/vault/index.js.map +1 -0
  194. package/build/tools/vault/params.d.ts +115 -0
  195. package/build/tools/vault/types/collect_context.d.ts +1340 -0
  196. package/build/tools/vault/types/list_all.d.ts +387 -0
  197. package/build/tools/vault/types/read_specific.d.ts +297 -0
  198. package/build/tools/vault/types/search.d.ts +598 -0
  199. package/build/tools/vault/utils/actions/collect_context.js +26 -1
  200. package/build/tools/vault/utils/actions/collect_context.js.map +1 -0
  201. package/build/tools/vault/utils/actions/index_rag.js +27 -0
  202. package/build/tools/vault/utils/actions/index_rag.js.map +1 -0
  203. package/build/tools/vault/utils/actions/list_all.js +1 -0
  204. package/build/tools/vault/utils/actions/list_all.js.map +1 -0
  205. package/build/tools/vault/utils/actions/load_memory.js +23 -13
  206. package/build/tools/vault/utils/actions/load_memory.js.map +1 -0
  207. package/build/tools/vault/utils/actions/read.js +2 -1
  208. package/build/tools/vault/utils/actions/read.js.map +1 -0
  209. package/build/tools/vault/utils/actions/search.js +2 -1
  210. package/build/tools/vault/utils/actions/search.js.map +1 -0
  211. package/build/tools/vault/utils/actions/search_semantic.js +54 -0
  212. package/build/tools/vault/utils/actions/search_semantic.js.map +1 -0
  213. package/build/tools/vault/utils/actions/stats.js +1 -0
  214. package/build/tools/vault/utils/actions/stats.js.map +1 -0
  215. package/build/tools/vault/utils/document.js +1 -0
  216. package/build/tools/vault/utils/document.js.map +1 -0
  217. package/build/tools/write_property/index.d.ts +58 -0
  218. package/build/tools/write_property/index.js +6 -0
  219. package/build/tools/write_property/index.js.map +1 -0
  220. package/build/utils/DirectoryWalker.d.ts +6 -0
  221. package/build/utils/DirectoryWalker.js +7 -0
  222. package/build/utils/DirectoryWalker.js.map +1 -0
  223. package/build/utils/Indexer.d.ts +18 -0
  224. package/build/utils/Indexer.js +5 -9
  225. package/build/utils/Indexer.js.map +1 -0
  226. package/build/utils/LLMClient.d.ts +37 -0
  227. package/build/utils/LLMClient.js +82 -0
  228. package/build/utils/LLMClient.js.map +1 -0
  229. package/build/utils/RAGIndexer.d.ts +22 -0
  230. package/build/utils/RAGIndexer.js +206 -0
  231. package/build/utils/RAGIndexer.js.map +1 -0
  232. package/build/utils/RerankerClient.d.ts +27 -0
  233. package/build/utils/RerankerClient.js +69 -0
  234. package/build/utils/RerankerClient.js.map +1 -0
  235. package/build/utils/VaultManger/VaultManager.d.ts +34 -0
  236. package/build/utils/VaultManger/VaultManager.js +1 -0
  237. package/build/utils/VaultManger/VaultManager.js.map +1 -0
  238. package/build/utils/VaultManger/VaultPathError.d.ts +6 -0
  239. package/build/utils/VaultManger/VaultPathError.js +1 -0
  240. package/build/utils/VaultManger/VaultPathError.js.map +1 -0
  241. package/build/utils/VaultManger/index.d.ts +3 -0
  242. package/build/utils/VaultManger/index.js +1 -0
  243. package/build/utils/VaultManger/index.js.map +1 -0
  244. package/build/utils/VaultManger/types.d.ts +16 -0
  245. package/build/utils/VaultManger/types.js +1 -0
  246. package/build/utils/VaultManger/types.js.map +1 -0
  247. package/build/utils/VaultWatcher.d.ts +8 -0
  248. package/build/utils/VaultWatcher.js +96 -0
  249. package/build/utils/VaultWatcher.js.map +1 -0
  250. package/build/utils/VectorDB.d.ts +53 -0
  251. package/build/utils/VectorDB.js +243 -0
  252. package/build/utils/VectorDB.js.map +1 -0
  253. package/build/utils/createToolError.d.ts +2 -0
  254. package/build/utils/createToolError.js +1 -0
  255. package/build/utils/createToolError.js.map +1 -0
  256. package/build/utils/getVaultManager.d.ts +2 -0
  257. package/build/utils/getVaultManager.js +1 -0
  258. package/build/utils/getVaultManager.js.map +1 -0
  259. package/build/utils/processor/LinkExtractor.d.ts +2 -0
  260. package/build/utils/processor/LinkExtractor.js +1 -0
  261. package/build/utils/processor/LinkExtractor.js.map +1 -0
  262. package/build/utils/processor/MatterParser.d.ts +2 -0
  263. package/build/utils/processor/MatterParser.js +12 -3
  264. package/build/utils/processor/MatterParser.js.map +1 -0
  265. package/build/utils/processor/types.d.ts +100 -0
  266. package/package.json +28 -7
  267. package/build/server.js +0 -32
  268. package/build/tools/create_document_with_properties/params.js +0 -32
  269. package/build/tools/generate_property/params.js +0 -54
  270. package/build/tools/index.js +0 -12
  271. package/build/tools/organize_attachments/params.js +0 -60
  272. package/build/tools/organize_attachments/utils.js +0 -65
  273. package/build/tools/vault/metrics.js +0 -126
  274. package/build/tools/vault/params.js +0 -141
  275. package/build/tools/vault/types/collect_context.js +0 -102
  276. package/build/tools/vault/types/list_all.js +0 -52
  277. package/build/tools/vault/types/read_specific.js +0 -40
  278. package/build/tools/vault/types/search.js +0 -58
  279. package/build/tools/vault/utils/constants.js +0 -2
  280. package/build/tools/vault/utils/shared.js +0 -74
  281. package/build/tools/vault/utils.js +0 -6
  282. package/build/tools/write_property/params.js +0 -51
  283. package/build/utils/processor/types.js +0 -27
  284. package/build/utils/semaphore.js +0 -25
@@ -0,0 +1,474 @@
1
+ import { FOCUS_IN, FOCUS_OUT } from "../hooks/useFocus.js";
2
+ import { ESC } from "../key/input.js";
3
+ import { parseMouseEvent } from "../key/mouse.js";
4
+ import { debugLogger } from "../utils/debugLogger.js";
5
+ export const BACKSLASH_ENTER_TIMEOUT = 5;
6
+ export const ESC_TIMEOUT = 50;
7
+ export const PASTE_TIMEOUT = 30_000;
8
+ export const FAST_RETURN_TIMEOUT = 30;
9
+ const NUMPAD_MAP = {
10
+ Oj: "*",
11
+ Ok: "+",
12
+ Om: "-",
13
+ Oo: "/",
14
+ Op: "0",
15
+ Oq: "1",
16
+ Or: "2",
17
+ Os: "3",
18
+ Ot: "4",
19
+ Ou: "5",
20
+ Ov: "6",
21
+ Ow: "7",
22
+ Ox: "8",
23
+ Oy: "9",
24
+ On: ".",
25
+ };
26
+ const KEY_INFO_MAP = {
27
+ "[200~": { name: "paste-start" },
28
+ "[201~": { name: "paste-end" },
29
+ "[[A": { name: "f1" },
30
+ "[[B": { name: "f2" },
31
+ "[[C": { name: "f3" },
32
+ "[[D": { name: "f4" },
33
+ "[[E": { name: "f5" },
34
+ "[1~": { name: "home" },
35
+ "[2~": { name: "insert" },
36
+ "[3~": { name: "delete" },
37
+ "[4~": { name: "end" },
38
+ "[5~": { name: "pageup" },
39
+ "[6~": { name: "pagedown" },
40
+ "[7~": { name: "home" },
41
+ "[8~": { name: "end" },
42
+ "[11~": { name: "f1" },
43
+ "[12~": { name: "f2" },
44
+ "[13~": { name: "f3" },
45
+ "[14~": { name: "f4" },
46
+ "[15~": { name: "f5" },
47
+ "[17~": { name: "f6" },
48
+ "[18~": { name: "f7" },
49
+ "[19~": { name: "f8" },
50
+ "[20~": { name: "f9" },
51
+ "[21~": { name: "f10" },
52
+ "[23~": { name: "f11" },
53
+ "[24~": { name: "f12" },
54
+ "[25~": { name: "f13" },
55
+ "[26~": { name: "f14" },
56
+ "[28~": { name: "f15" },
57
+ "[29~": { name: "f16" },
58
+ "[31~": { name: "f17" },
59
+ "[32~": { name: "f18" },
60
+ "[33~": { name: "f19" },
61
+ "[34~": { name: "f20" },
62
+ "[A": { name: "up" },
63
+ "[B": { name: "down" },
64
+ "[C": { name: "right" },
65
+ "[D": { name: "left" },
66
+ "[E": { name: "clear" },
67
+ "[F": { name: "end" },
68
+ "[H": { name: "home" },
69
+ "[P": { name: "f1" },
70
+ "[Q": { name: "f2" },
71
+ "[R": { name: "f3" },
72
+ "[S": { name: "f4" },
73
+ OA: { name: "up" },
74
+ OB: { name: "down" },
75
+ OC: { name: "right" },
76
+ OD: { name: "left" },
77
+ OE: { name: "clear" },
78
+ OF: { name: "end" },
79
+ OH: { name: "home" },
80
+ OP: { name: "f1" },
81
+ OQ: { name: "f2" },
82
+ OR: { name: "f3" },
83
+ OS: { name: "f4" },
84
+ OZ: { name: "tab", shift: true }, // SS3 Shift+Tab variant for Windows terminals
85
+ "[[5~": { name: "pageup" },
86
+ "[[6~": { name: "pagedown" },
87
+ "[a": { name: "up", shift: true },
88
+ "[b": { name: "down", shift: true },
89
+ "[c": { name: "right", shift: true },
90
+ "[d": { name: "left", shift: true },
91
+ "[e": { name: "clear", shift: true },
92
+ "[2$": { name: "insert", shift: true },
93
+ "[3$": { name: "delete", shift: true },
94
+ "[5$": { name: "pageup", shift: true },
95
+ "[6$": { name: "pagedown", shift: true },
96
+ "[7$": { name: "home", shift: true },
97
+ "[8$": { name: "end", shift: true },
98
+ "[Z": { name: "tab", shift: true },
99
+ Oa: { name: "up", ctrl: true },
100
+ Ob: { name: "down", ctrl: true },
101
+ Oc: { name: "right", ctrl: true },
102
+ Od: { name: "left", ctrl: true },
103
+ Oe: { name: "clear", ctrl: true },
104
+ "[2^": { name: "insert", ctrl: true },
105
+ "[3^": { name: "delete", ctrl: true },
106
+ "[5^": { name: "pageup", ctrl: true },
107
+ "[6^": { name: "pagedown", ctrl: true },
108
+ "[7^": { name: "home", ctrl: true },
109
+ "[8^": { name: "end", ctrl: true },
110
+ };
111
+ const MAC_ALT_KEY_CHARACTER_MAP = {
112
+ "\u222B": "b", // "∫" back one word
113
+ "\u0192": "f", // "ƒ" forward one word
114
+ "\u00B5": "m", // "µ" toggle markup view
115
+ "\u03A9": "z", // "Ω" Option+z
116
+ "\u00B8": "Z", // "¸" Option+Shift+z
117
+ "\u2202": "d", // "∂" delete word forward
118
+ };
119
+ const kUTF16SurrogateThreshold = 0x10000; // 2 ** 16
120
+ function charLengthAt(str, i) {
121
+ if (str.length <= i) {
122
+ // Pretend to move to the right. This is necessary to autocomplete while
123
+ // moving to the right.
124
+ return 1;
125
+ }
126
+ const code = str.codePointAt(i);
127
+ return code !== undefined && code >= kUTF16SurrogateThreshold ? 2 : 1;
128
+ }
129
+ export function* emitKeys(keypressHandler) {
130
+ const lang = process.env["LANG"] || "";
131
+ const lcAll = process.env["LC_ALL"] || "";
132
+ const isGreek = lang.startsWith("el") || lcAll.startsWith("el");
133
+ while (true) {
134
+ let ch = yield;
135
+ let sequence = ch;
136
+ let escaped = false;
137
+ let name;
138
+ let shift = false;
139
+ let alt = false;
140
+ let ctrl = false;
141
+ let cmd = false;
142
+ let code;
143
+ let insertable = false;
144
+ if (ch === ESC) {
145
+ escaped = true;
146
+ ch = yield;
147
+ sequence += ch;
148
+ if (ch === ESC) {
149
+ ch = yield;
150
+ sequence += ch;
151
+ }
152
+ }
153
+ if (escaped && (ch === "O" || ch === "[" || ch === "]")) {
154
+ // ANSI escape sequence
155
+ code = ch;
156
+ let modifier = 0;
157
+ if (ch === "]") {
158
+ // OSC sequence
159
+ // ESC ] <params> ; <data> BEL
160
+ // ESC ] <params> ; <data> ESC \
161
+ let buffer = "";
162
+ // Read until BEL, `ESC \`, or timeout (empty string)
163
+ while (true) {
164
+ const next = yield;
165
+ if (next === "" || next === "\u0007") {
166
+ break;
167
+ }
168
+ else if (next === ESC) {
169
+ const afterEsc = yield;
170
+ if (afterEsc === "" || afterEsc === "\\") {
171
+ break;
172
+ }
173
+ buffer += next + afterEsc;
174
+ continue;
175
+ }
176
+ buffer += next;
177
+ }
178
+ // Check for OSC 52 (Clipboard) response
179
+ // Format: 52;c;<base64> or 52;p;<base64>
180
+ const match = /^52;[cp];(.*)$/.exec(buffer);
181
+ if (match) {
182
+ try {
183
+ const base64Data = match[1];
184
+ const decoded = Buffer.from(base64Data, "base64").toString("utf-8");
185
+ keypressHandler({
186
+ name: "paste",
187
+ shift: false,
188
+ alt: false,
189
+ ctrl: false,
190
+ cmd: false,
191
+ insertable: true,
192
+ sequence: decoded,
193
+ });
194
+ }
195
+ catch {
196
+ debugLogger.warn("Failed to decode OSC 52 clipboard data");
197
+ }
198
+ }
199
+ continue; // resume main loop
200
+ }
201
+ else if (ch === "O") {
202
+ // ESC O letter
203
+ // ESC O modifier letter
204
+ ch = yield;
205
+ sequence += ch;
206
+ if (ch >= "0" && ch <= "9") {
207
+ modifier = parseInt(ch, 10) - 1;
208
+ ch = yield;
209
+ sequence += ch;
210
+ }
211
+ code += ch;
212
+ }
213
+ else if (ch === "[") {
214
+ // ESC [ letter
215
+ // ESC [ modifier letter
216
+ // ESC [ [ modifier letter
217
+ // ESC [ [ num char
218
+ ch = yield;
219
+ sequence += ch;
220
+ if (ch === "[") {
221
+ // \x1b[[A
222
+ // ^--- escape codes might have a second bracket
223
+ code += ch;
224
+ ch = yield;
225
+ sequence += ch;
226
+ }
227
+ /*
228
+ * Here and later we try to buffer just enough data to get
229
+ * a complete ascii sequence.
230
+ *
231
+ * We have basically two classes of ascii characters to process:
232
+ *
233
+ *
234
+ * 1. `\x1b[24;5~` should be parsed as { code: '[24~', modifier: 5 }
235
+ *
236
+ * This particular example is featuring Ctrl+F12 in xterm.
237
+ *
238
+ * - `;5` part is optional, e.g. it could be `\x1b[24~`
239
+ * - first part can contain one or two digits
240
+ * - there is also special case when there can be 3 digits
241
+ * but without modifier. They are the case of paste bracket mode
242
+ *
243
+ * So the generic regexp is like /^(?:\d\d?(;\d)?[~^$]|\d{3}~)$/
244
+ *
245
+ *
246
+ * 2. `\x1b[1;5H` should be parsed as { code: '[H', modifier: 5 }
247
+ *
248
+ * This particular example is featuring Ctrl+Home in xterm.
249
+ *
250
+ * - `1;5` part is optional, e.g. it could be `\x1b[H`
251
+ * - `1;` part is optional, e.g. it could be `\x1b[5H`
252
+ *
253
+ * So the generic regexp is like /^((\d;)?\d)?[A-Za-z]$/
254
+ *
255
+ */
256
+ const cmdStart = sequence.length - 1;
257
+ // collect as many digits as possible
258
+ while (ch >= "0" && ch <= "9") {
259
+ ch = yield;
260
+ sequence += ch;
261
+ }
262
+ // skip modifier
263
+ if (ch === ";") {
264
+ while (ch === ";") {
265
+ ch = yield;
266
+ sequence += ch;
267
+ // collect as many digits as possible
268
+ while (ch >= "0" && ch <= "9") {
269
+ ch = yield;
270
+ sequence += ch;
271
+ }
272
+ }
273
+ }
274
+ else if (ch === "<") {
275
+ // SGR mouse mode
276
+ ch = yield;
277
+ sequence += ch;
278
+ // Don't skip on empty string here to avoid timeouts on slow events.
279
+ while (ch === "" || ch === ";" || (ch >= "0" && ch <= "9")) {
280
+ ch = yield;
281
+ sequence += ch;
282
+ }
283
+ }
284
+ else if (ch === "M") {
285
+ // X11 mouse mode
286
+ // three characters after 'M'
287
+ ch = yield;
288
+ sequence += ch;
289
+ ch = yield;
290
+ sequence += ch;
291
+ ch = yield;
292
+ sequence += ch;
293
+ }
294
+ /*
295
+ * We buffered enough data, now trying to extract code
296
+ * and modifier from it
297
+ */
298
+ const cmd = sequence.slice(cmdStart);
299
+ let match = /^(\d+)(?:;(\d+))?(?:;(\d+))?([~^$u])$/.exec(cmd);
300
+ if (match) {
301
+ if (match[1] === "27" && match[3] && match[4] === "~") {
302
+ // modifyOtherKeys format: CSI 27 ; modifier ; key ~
303
+ // Treat as CSI u: key + 'u'
304
+ code += `${match[3]}u`;
305
+ modifier = parseInt(match[2] ?? "1", 10) - 1;
306
+ }
307
+ else {
308
+ code += match[1] + match[4];
309
+ // Defaults to '1' if no modifier exists, resulting in a 0 modifier value
310
+ modifier = parseInt(match[2] ?? "1", 10) - 1;
311
+ }
312
+ }
313
+ else {
314
+ match = /^(\d+)?(?:;(\d+))?([A-Za-z])$/.exec(cmd);
315
+ if (match) {
316
+ code += match[3];
317
+ modifier = parseInt(match[2] ?? match[1] ?? "1", 10) - 1;
318
+ }
319
+ else {
320
+ code += cmd;
321
+ }
322
+ }
323
+ }
324
+ // Parse the key modifier
325
+ shift = !!(modifier & 1);
326
+ alt = !!(modifier & 2);
327
+ ctrl = !!(modifier & 4);
328
+ cmd = !!(modifier & 8);
329
+ const keyInfo = KEY_INFO_MAP[code];
330
+ if (keyInfo) {
331
+ name = keyInfo.name;
332
+ if (keyInfo.shift) {
333
+ shift = true;
334
+ }
335
+ if (keyInfo.ctrl) {
336
+ ctrl = true;
337
+ }
338
+ if (name === "space" && !ctrl && !cmd && !alt) {
339
+ sequence = " ";
340
+ insertable = true;
341
+ }
342
+ }
343
+ else {
344
+ const numpadChar = NUMPAD_MAP[code];
345
+ if (numpadChar) {
346
+ name = numpadChar;
347
+ if (!ctrl && !cmd && !alt) {
348
+ sequence = numpadChar;
349
+ insertable = true;
350
+ }
351
+ }
352
+ }
353
+ }
354
+ else if (ch === "\r") {
355
+ // carriage return
356
+ name = "enter";
357
+ alt = escaped;
358
+ }
359
+ else if (escaped && ch === "\n") {
360
+ // Alt+Enter (linefeed), should be consistent with carriage return
361
+ name = "enter";
362
+ alt = escaped;
363
+ }
364
+ else if (ch === "\t") {
365
+ // tab
366
+ name = "tab";
367
+ alt = escaped;
368
+ }
369
+ else if (ch === "\b") {
370
+ // ctrl+h / ctrl+backspace (windows terminals send \x08 for ctrl+backspace)
371
+ name = "backspace";
372
+ // In Windows environments, \b is sent for Ctrl+Backspace (standard backspace is translated to \x7f).
373
+ // We scope this to Windows/WT_SESSION to avoid breaking other unixes where \b is a plain backspace.
374
+ if (typeof process !== "undefined" &&
375
+ (process.env?.["OS"] === "Windows_NT" || !!process.env?.["WT_SESSION"])) {
376
+ ctrl = true;
377
+ }
378
+ alt = escaped;
379
+ }
380
+ else if (ch === "\x7f") {
381
+ // backspace
382
+ name = "backspace";
383
+ alt = escaped;
384
+ }
385
+ else if (ch === ESC) {
386
+ // escape key
387
+ name = "escape";
388
+ alt = escaped;
389
+ }
390
+ else if (ch === " ") {
391
+ name = "space";
392
+ alt = escaped;
393
+ insertable = true;
394
+ }
395
+ else if (!escaped && ch.length > 0 && ch <= "\x1a") {
396
+ // ctrl+letter
397
+ name = String.fromCharCode(ch.charCodeAt(0) + "a".charCodeAt(0) - 1);
398
+ ctrl = true;
399
+ }
400
+ else if (/^[0-9A-Za-z]$/.exec(ch) !== null) {
401
+ // Letter, number, shift+letter
402
+ name = ch.toLowerCase();
403
+ shift = /^[A-Z]$/.exec(ch) !== null;
404
+ alt = escaped;
405
+ insertable = true;
406
+ }
407
+ else if (MAC_ALT_KEY_CHARACTER_MAP[ch]) {
408
+ // Note: we do this even if we are not on Mac, because mac users may
409
+ // remotely connect to non-Mac systems.
410
+ // We skip this mapping for Greek users to avoid blocking the Omega character.
411
+ if (isGreek && ch === "\u03A9") {
412
+ insertable = true;
413
+ }
414
+ else {
415
+ const mapped = MAC_ALT_KEY_CHARACTER_MAP[ch];
416
+ name = mapped.toLowerCase();
417
+ shift = mapped !== name;
418
+ alt = true;
419
+ }
420
+ }
421
+ else if (sequence === `${ESC}${ESC}`) {
422
+ // Double escape
423
+ name = "escape";
424
+ alt = false;
425
+ // Emit first escape key here, then continue processing
426
+ keypressHandler({
427
+ name: "escape",
428
+ shift,
429
+ alt,
430
+ ctrl,
431
+ cmd,
432
+ insertable: false,
433
+ sequence: ESC,
434
+ });
435
+ }
436
+ else if (escaped) {
437
+ // Escape sequence timeout
438
+ name = ch.length ? undefined : "escape";
439
+ alt = ch.length > 0;
440
+ }
441
+ else {
442
+ // Any other character is considered printable.
443
+ name = ch.toLowerCase();
444
+ if (ch !== name) {
445
+ shift = true;
446
+ }
447
+ insertable = true;
448
+ }
449
+ if ((sequence.length !== 0 && (name !== undefined || escaped)) ||
450
+ charLengthAt(sequence, 0) === sequence.length) {
451
+ keypressHandler({
452
+ name: name || "",
453
+ shift,
454
+ alt,
455
+ ctrl,
456
+ cmd,
457
+ insertable,
458
+ sequence,
459
+ });
460
+ }
461
+ // Unrecognized or broken escape sequence, don't emit anything
462
+ }
463
+ }
464
+ export function nonKeyboardEventFilter(keypressHandler) {
465
+ return (key) => {
466
+ if (!parseMouseEvent(key.sequence) &&
467
+ key.sequence !== FOCUS_IN &&
468
+ key.sequence !== FOCUS_OUT) {
469
+ return keypressHandler(key);
470
+ }
471
+ return false;
472
+ };
473
+ }
474
+ //# sourceMappingURL=KeypressContext.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KeypressContext.util.js","sourceRoot":"","sources":["../../../src/cli/context/KeypressContext.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type React from "react";
2
+ import type { Suggestion } from "../ui/SuggestionsDisplay.js";
3
+ export interface UseAtCompletionOptions {
4
+ enabled: boolean;
5
+ pattern: string;
6
+ config?: Record<string, unknown>;
7
+ cwd: string;
8
+ setSuggestions: React.Dispatch<React.SetStateAction<Suggestion[]>>;
9
+ setIsLoadingSuggestions: React.Dispatch<React.SetStateAction<boolean>>;
10
+ }
11
+ /** Stub: File/path completion for @-mentions. */
12
+ export declare function useAtCompletion(_options: UseAtCompletionOptions): void;
@@ -0,0 +1,5 @@
1
+ /** Stub: File/path completion for @-mentions. */
2
+ export function useAtCompletion(_options) {
3
+ // Stub implementation — expand when file completion is needed.
4
+ }
5
+ //# sourceMappingURL=useAtCompletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAtCompletion.js","sourceRoot":"","sources":["../../../src/cli/hooks/useAtCompletion.ts"],"names":[],"mappings":"AAYA,iDAAiD;AACjD,MAAM,UAAU,eAAe,CAAC,QAAgC;IAC/D,+DAA+D;AAChE,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type React from "react";
7
+ import type { CommandContext, SlashCommand } from "../commands/types.js";
8
+ import type { TextBuffer } from "../key/text-buffer.js";
9
+ import type { Suggestion } from "../ui/SuggestionsDisplay.js";
10
+ import { type PromptCompletion } from "./usePromptCompletion.js";
11
+ interface Config {
12
+ [key: string]: unknown;
13
+ }
14
+ export declare enum CompletionMode {
15
+ IDLE = "IDLE",
16
+ AT = "AT",
17
+ SLASH = "SLASH",
18
+ PROMPT = "PROMPT",
19
+ SHELL = "SHELL"
20
+ }
21
+ export interface UseCommandCompletionReturn {
22
+ suggestions: Suggestion[];
23
+ activeSuggestionIndex: number;
24
+ visibleStartIndex: number;
25
+ showSuggestions: boolean;
26
+ isLoadingSuggestions: boolean;
27
+ isPerfectMatch: boolean;
28
+ forceShowShellSuggestions: boolean;
29
+ setForceShowShellSuggestions: (value: boolean) => void;
30
+ isShellSuggestionsVisible: boolean;
31
+ setActiveSuggestionIndex: React.Dispatch<React.SetStateAction<number>>;
32
+ resetCompletionState: () => void;
33
+ navigateUp: () => void;
34
+ navigateDown: () => void;
35
+ handleAutocomplete: (indexToUse: number) => void;
36
+ promptCompletion: PromptCompletion;
37
+ getCommandFromSuggestion: (suggestion: Suggestion) => SlashCommand | undefined;
38
+ slashCompletionRange: {
39
+ completionStart: number;
40
+ completionEnd: number;
41
+ getCommandFromSuggestion: (suggestion: Suggestion) => SlashCommand | undefined;
42
+ isArgumentCompletion: boolean;
43
+ leafCommand: SlashCommand | null;
44
+ };
45
+ getCompletedText: (suggestion: Suggestion) => string | null;
46
+ completionMode: CompletionMode;
47
+ }
48
+ export interface UseCommandCompletionOptions {
49
+ buffer: TextBuffer;
50
+ cwd: string;
51
+ slashCommands: readonly SlashCommand[];
52
+ commandContext: CommandContext;
53
+ reverseSearchActive?: boolean;
54
+ shellModeActive: boolean;
55
+ config?: Config;
56
+ active: boolean;
57
+ }
58
+ export declare function useCommandCompletion({ buffer, cwd, slashCommands, commandContext, reverseSearchActive, shellModeActive, config, active, }: UseCommandCompletionOptions): UseCommandCompletionReturn;
59
+ export {};