@sunub/obsidian-mcp-server 0.3.19 → 0.3.20

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 (524) hide show
  1. package/build/cli/App.d.ts +1 -0
  2. package/build/cli/App.js +247 -0
  3. package/build/cli/App.js.map +1 -0
  4. package/build/cli/AppContainer.d.ts +1 -0
  5. package/build/cli/AppContainer.js +19 -0
  6. package/build/cli/AppContainer.js.map +1 -0
  7. package/build/cli/colors.d.ts +15 -0
  8. package/build/cli/colors.js +15 -0
  9. package/build/cli/colors.js.map +1 -0
  10. package/build/cli/commands/types.d.ts +19 -0
  11. package/build/cli/commands/types.js +11 -0
  12. package/build/cli/commands/types.js.map +1 -0
  13. package/build/cli/config/SettingContext.d.ts +1 -0
  14. package/build/cli/config/SettingContext.js +2 -0
  15. package/build/cli/config/SettingContext.js.map +1 -0
  16. package/build/cli/config/mcpServersConfig.d.ts +30 -0
  17. package/build/cli/config/mcpServersConfig.js +123 -0
  18. package/build/cli/config/mcpServersConfig.js.map +1 -0
  19. package/build/cli/config/settingSchema.d.ts +180 -0
  20. package/build/cli/config/settingSchema.js +128 -0
  21. package/build/cli/config/settingSchema.js.map +1 -0
  22. package/build/cli/constants.d.ts +47 -0
  23. package/build/cli/constants.js +101 -0
  24. package/build/cli/constants.js.map +1 -0
  25. package/build/cli/context/InputContext.d.ts +12 -0
  26. package/build/cli/context/InputContext.js +10 -0
  27. package/build/cli/context/InputContext.js.map +1 -0
  28. package/build/cli/context/KeypressContext.d.ts +30 -0
  29. package/build/cli/context/KeypressContext.js +200 -0
  30. package/build/cli/context/KeypressContext.js.map +1 -0
  31. package/build/cli/context/KeypressContext.util.d.ts +7 -0
  32. package/build/cli/context/KeypressContext.util.js +476 -0
  33. package/build/cli/context/KeypressContext.util.js.map +1 -0
  34. package/build/cli/errors/index.d.ts +3 -0
  35. package/build/cli/errors/index.js +7 -0
  36. package/build/cli/errors/index.js.map +1 -0
  37. package/build/cli/hooks/useAtCompletion.d.ts +12 -0
  38. package/build/cli/hooks/useAtCompletion.js +5 -0
  39. package/build/cli/hooks/useAtCompletion.js.map +1 -0
  40. package/build/cli/hooks/useCommandCompletion.d.ts +59 -0
  41. package/build/cli/hooks/useCommandCompletion.js +344 -0
  42. package/build/cli/hooks/useCommandCompletion.js.map +1 -0
  43. package/build/cli/hooks/useCompletion.d.ts +22 -0
  44. package/build/cli/hooks/useCompletion.js +84 -0
  45. package/build/cli/hooks/useCompletion.js.map +1 -0
  46. package/build/cli/hooks/useDispatcher.d.ts +6 -0
  47. package/build/cli/hooks/useDispatcher.js +286 -0
  48. package/build/cli/hooks/useDispatcher.js.map +1 -0
  49. package/build/cli/hooks/useFocus.d.ts +2 -0
  50. package/build/cli/hooks/useFocus.js +3 -0
  51. package/build/cli/hooks/useFocus.js.map +1 -0
  52. package/build/cli/hooks/useHistoryManager.d.ts +32 -0
  53. package/build/cli/hooks/useHistoryManager.js +78 -0
  54. package/build/cli/hooks/useHistoryManager.js.map +1 -0
  55. package/build/cli/hooks/useInputHistory.d.ts +24 -0
  56. package/build/cli/hooks/useInputHistory.js +159 -0
  57. package/build/cli/hooks/useInputHistory.js.map +1 -0
  58. package/build/cli/hooks/useKeyMatchers.d.ts +17 -0
  59. package/build/cli/hooks/useKeyMatchers.js +18 -0
  60. package/build/cli/hooks/useKeyMatchers.js.map +1 -0
  61. package/build/cli/hooks/useKeypress.d.ts +19 -0
  62. package/build/cli/hooks/useKeypress.js +28 -0
  63. package/build/cli/hooks/useKeypress.js.map +1 -0
  64. package/build/cli/hooks/useLlmStream/constants.d.ts +4 -0
  65. package/build/cli/hooks/useLlmStream/constants.js +5 -0
  66. package/build/cli/hooks/useLlmStream/constants.js.map +1 -0
  67. package/build/cli/hooks/useLlmStream/index.d.ts +2 -0
  68. package/build/cli/hooks/useLlmStream/index.js +2 -0
  69. package/build/cli/hooks/useLlmStream/index.js.map +1 -0
  70. package/build/cli/hooks/useLlmStream/llmService.d.ts +2 -0
  71. package/build/cli/hooks/useLlmStream/llmService.js +111 -0
  72. package/build/cli/hooks/useLlmStream/llmService.js.map +1 -0
  73. package/build/cli/hooks/useLlmStream/types.d.ts +38 -0
  74. package/build/cli/hooks/useLlmStream/types.js.map +1 -0
  75. package/build/cli/hooks/useLlmStream/useLlmStream.d.ts +12 -0
  76. package/build/cli/hooks/useLlmStream/useLlmStream.js +175 -0
  77. package/build/cli/hooks/useLlmStream/useLlmStream.js.map +1 -0
  78. package/build/cli/hooks/useLlmStream/utils.d.ts +17 -0
  79. package/build/cli/hooks/useLlmStream/utils.js +142 -0
  80. package/build/cli/hooks/useLlmStream/utils.js.map +1 -0
  81. package/build/cli/hooks/useMcpClient.d.ts +10 -0
  82. package/build/cli/hooks/useMcpClient.js +102 -0
  83. package/build/cli/hooks/useMcpClient.js.map +1 -0
  84. package/build/cli/hooks/useMcpManager.d.ts +26 -0
  85. package/build/cli/hooks/useMcpManager.js +89 -0
  86. package/build/cli/hooks/useMcpManager.js.map +1 -0
  87. package/build/cli/hooks/usePromptCompletion.d.ts +19 -0
  88. package/build/cli/hooks/usePromptCompletion.js +13 -0
  89. package/build/cli/hooks/usePromptCompletion.js.map +1 -0
  90. package/build/cli/hooks/useRagContext.d.ts +6 -0
  91. package/build/cli/hooks/useRagContext.js +84 -0
  92. package/build/cli/hooks/useRagContext.js.map +1 -0
  93. package/build/cli/hooks/useShellCompletion.d.ts +18 -0
  94. package/build/cli/hooks/useShellCompletion.js +10 -0
  95. package/build/cli/hooks/useShellCompletion.js.map +1 -0
  96. package/build/cli/hooks/useSlashCompletion.d.ts +21 -0
  97. package/build/cli/hooks/useSlashCompletion.js +11 -0
  98. package/build/cli/hooks/useSlashCompletion.js.map +1 -0
  99. package/build/cli/hooks/useTerminalSize.d.ts +4 -0
  100. package/build/cli/hooks/useTerminalSize.js +21 -0
  101. package/build/cli/hooks/useTerminalSize.js.map +1 -0
  102. package/build/cli/index.d.ts +1 -0
  103. package/build/cli/index.js +26 -0
  104. package/build/cli/index.js.map +1 -0
  105. package/build/cli/key/input.d.ts +5 -0
  106. package/build/cli/key/input.js +9 -0
  107. package/build/cli/key/input.js.map +1 -0
  108. package/build/cli/key/keyBindings.d.ts +152 -0
  109. package/build/cli/key/keyBindings.js +630 -0
  110. package/build/cli/key/keyBindings.js.map +1 -0
  111. package/build/cli/key/keyMatchers.d.ts +19 -0
  112. package/build/cli/key/keyMatchers.js +25 -0
  113. package/build/cli/key/keyMatchers.js.map +1 -0
  114. package/build/cli/key/mouse.d.ts +23 -0
  115. package/build/cli/key/mouse.js +155 -0
  116. package/build/cli/key/mouse.js.map +1 -0
  117. package/build/cli/key/text-buffer.d.ts +156 -0
  118. package/build/cli/key/text-buffer.js +937 -0
  119. package/build/cli/key/text-buffer.js.map +1 -0
  120. package/build/cli/main.d.ts +1 -0
  121. package/build/cli/main.js +20 -0
  122. package/build/cli/main.js.map +1 -0
  123. package/build/cli/services/McpClientService.d.ts +32 -0
  124. package/build/cli/services/McpClientService.js +123 -0
  125. package/build/cli/services/McpClientService.js.map +1 -0
  126. package/build/cli/services/McpManager.d.ts +28 -0
  127. package/build/cli/services/McpManager.js +146 -0
  128. package/build/cli/services/McpManager.js.map +1 -0
  129. package/build/cli/theme/builtin/default-dark.d.ts +7 -0
  130. package/build/cli/theme/builtin/default-dark.js +143 -0
  131. package/build/cli/theme/builtin/default-dark.js.map +1 -0
  132. package/build/cli/theme/builtin/no-color.d.ts +7 -0
  133. package/build/cli/theme/builtin/no-color.js +125 -0
  134. package/build/cli/theme/builtin/no-color.js.map +1 -0
  135. package/build/cli/theme/builtin/tokyonight-dark.d.ts +7 -0
  136. package/build/cli/theme/builtin/tokyonight-dark.js +146 -0
  137. package/build/cli/theme/builtin/tokyonight-dark.js.map +1 -0
  138. package/build/cli/theme/semantic-colors.d.ts +2 -0
  139. package/build/cli/theme/semantic-colors.js +19 -0
  140. package/build/cli/theme/semantic-colors.js.map +1 -0
  141. package/build/cli/theme/semantic-tokens.d.ts +42 -0
  142. package/build/cli/theme/semantic-tokens.js +77 -0
  143. package/build/cli/theme/semantic-tokens.js.map +1 -0
  144. package/build/cli/theme/theme-manager.d.ts +32 -0
  145. package/build/cli/theme/theme-manager.js +150 -0
  146. package/build/cli/theme/theme-manager.js.map +1 -0
  147. package/build/cli/theme/theme.d.ts +107 -0
  148. package/build/cli/theme/theme.js +333 -0
  149. package/build/cli/theme/theme.js.map +1 -0
  150. package/build/cli/tmp.d.ts +1 -0
  151. package/build/cli/tmp.js +27 -0
  152. package/build/cli/tmp.js.map +1 -0
  153. package/build/cli/types.d.ts +97 -0
  154. package/build/cli/types.js +2 -0
  155. package/build/cli/types.js.map +1 -0
  156. package/build/cli/ui/ConnectionStatus.d.ts +13 -0
  157. package/build/cli/ui/ConnectionStatus.js +19 -0
  158. package/build/cli/ui/ConnectionStatus.js.map +1 -0
  159. package/build/cli/ui/HalfPaddingBox.d.ts +13 -0
  160. package/build/cli/ui/HalfPaddingBox.js +11 -0
  161. package/build/cli/ui/HalfPaddingBox.js.map +1 -0
  162. package/build/cli/ui/HelpCommands.d.ts +5 -0
  163. package/build/cli/ui/HelpCommands.js +11 -0
  164. package/build/cli/ui/HelpCommands.js.map +1 -0
  165. package/build/cli/ui/HistoryItemDisplay.d.ts +9 -0
  166. package/build/cli/ui/HistoryItemDisplay.js +34 -0
  167. package/build/cli/ui/HistoryItemDisplay.js.map +1 -0
  168. package/build/cli/ui/InputPrompt.d.ts +13 -0
  169. package/build/cli/ui/InputPrompt.js +138 -0
  170. package/build/cli/ui/InputPrompt.js.map +1 -0
  171. package/build/cli/ui/LLMErrorComponent.d.ts +6 -0
  172. package/build/cli/ui/LLMErrorComponent.js +18 -0
  173. package/build/cli/ui/LLMErrorComponent.js.map +1 -0
  174. package/build/cli/ui/LLMHealthChecker.d.ts +8 -0
  175. package/build/cli/ui/LLMHealthChecker.js +22 -0
  176. package/build/cli/ui/LLMHealthChecker.js.map +1 -0
  177. package/build/cli/ui/MCPServers.d.ts +11 -0
  178. package/build/cli/ui/MCPServers.js +15 -0
  179. package/build/cli/ui/MCPServers.js.map +1 -0
  180. package/build/cli/ui/MainContent.d.ts +12 -0
  181. package/build/cli/ui/MainContent.js +28 -0
  182. package/build/cli/ui/MainContent.js.map +1 -0
  183. package/build/cli/ui/MarkdownDisplay.d.ts +8 -0
  184. package/build/cli/ui/MarkdownDisplay.js +6 -0
  185. package/build/cli/ui/MarkdownDisplay.js.map +1 -0
  186. package/build/cli/ui/MouseContext.d.ts +1 -0
  187. package/build/cli/ui/MouseContext.js +2 -0
  188. package/build/cli/ui/MouseContext.js.map +1 -0
  189. package/build/cli/ui/SuggestionsDisplay.d.ts +25 -0
  190. package/build/cli/ui/SuggestionsDisplay.js +45 -0
  191. package/build/cli/ui/SuggestionsDisplay.js.map +1 -0
  192. package/build/cli/ui/SystemInfoSummaryBox.d.ts +6 -0
  193. package/build/cli/ui/SystemInfoSummaryBox.js +6 -0
  194. package/build/cli/ui/SystemInfoSummaryBox.js.map +1 -0
  195. package/build/cli/ui/ThinkingIndicator.d.ts +2 -0
  196. package/build/cli/ui/ThinkingIndicator.js +16 -0
  197. package/build/cli/ui/ThinkingIndicator.js.map +1 -0
  198. package/build/cli/ui/layout/DefaultAppLayout.d.ts +2 -0
  199. package/build/cli/ui/layout/DefaultAppLayout.js +6 -0
  200. package/build/cli/ui/layout/DefaultAppLayout.js.map +1 -0
  201. package/build/cli/ui/shared/ExpandableText.d.ts +14 -0
  202. package/build/cli/ui/shared/ExpandableText.js +19 -0
  203. package/build/cli/ui/shared/ExpandableText.js.map +1 -0
  204. package/build/cli/utils/cache.d.ts +21 -0
  205. package/build/cli/utils/cache.js +56 -0
  206. package/build/cli/utils/cache.js.map +1 -0
  207. package/build/cli/utils/cleanup.d.ts +1 -0
  208. package/build/cli/utils/cleanup.js +5 -0
  209. package/build/cli/utils/cleanup.js.map +1 -0
  210. package/build/cli/utils/commandUtils.d.ts +11 -0
  211. package/build/cli/utils/commandUtils.js +16 -0
  212. package/build/cli/utils/commandUtils.js.map +1 -0
  213. package/build/cli/utils/historyStorage.d.ts +13 -0
  214. package/build/cli/utils/historyStorage.js +64 -0
  215. package/build/cli/utils/historyStorage.js.map +1 -0
  216. package/build/cli/utils/stdio.d.ts +18 -0
  217. package/build/cli/utils/stdio.js +58 -0
  218. package/build/cli/utils/stdio.js.map +1 -0
  219. package/build/cli/utils/textUtil.d.ts +63 -0
  220. package/build/cli/utils/textUtil.js +231 -0
  221. package/build/cli/utils/textUtil.js.map +1 -0
  222. package/build/config.d.ts +31 -0
  223. package/{dist/src → build}/config.js +31 -2
  224. package/build/config.js.map +1 -0
  225. package/build/db.d.ts +1 -0
  226. package/{dist/src → build}/db.js +0 -3
  227. package/build/db.js.map +1 -0
  228. package/build/index.d.ts +2 -0
  229. package/{dist/src → build}/index.js +0 -3
  230. package/build/index.js.map +1 -0
  231. package/{dist/src → build}/server.d.ts +0 -1
  232. package/{dist/src → build}/server.js +1 -1
  233. package/build/server.js.map +1 -0
  234. package/{dist/src → build}/setup.d.ts +0 -2
  235. package/{dist/src → build}/setup.js +2 -4
  236. package/build/setup.js.map +1 -0
  237. package/build/shared/configSchema.d.ts +27 -0
  238. package/build/shared/configSchema.js +31 -0
  239. package/build/shared/configSchema.js.map +1 -0
  240. package/build/shared/index.d.ts +3 -0
  241. package/build/shared/index.js +4 -0
  242. package/build/shared/index.js.map +1 -0
  243. package/build/shared/types.d.ts +20 -0
  244. package/build/shared/types.js +2 -0
  245. package/build/shared/types.js.map +1 -0
  246. package/build/shared/utils/debugLogger.d.ts +12 -0
  247. package/build/shared/utils/debugLogger.js +54 -0
  248. package/build/shared/utils/debugLogger.js.map +1 -0
  249. package/{dist/src → build}/tools/create_document_with_properties/index.d.ts +22 -5
  250. package/{dist/src → build}/tools/create_document_with_properties/index.js +2 -2
  251. package/build/tools/create_document_with_properties/index.js.map +1 -0
  252. package/build/tools/create_document_with_properties/params.d.ts +66 -0
  253. package/{dist/src → build}/tools/create_document_with_properties/params.js +1 -1
  254. package/build/tools/create_document_with_properties/params.js.map +1 -0
  255. package/{dist/src → build}/tools/generate_property/index.d.ts +1 -2
  256. package/{dist/src → build}/tools/generate_property/index.js +1 -1
  257. package/build/tools/generate_property/index.js.map +1 -0
  258. package/{dist/src → build}/tools/generate_property/params.d.ts +30 -7
  259. package/build/tools/generate_property/params.js.map +1 -0
  260. package/{dist/src → build}/tools/index.d.ts +51 -36
  261. package/build/tools/index.js +13 -0
  262. package/build/tools/index.js.map +1 -0
  263. package/{dist/src → build}/tools/organize_attachments/index.d.ts +1 -2
  264. package/{dist/src → build}/tools/organize_attachments/index.js +2 -2
  265. package/build/tools/organize_attachments/index.js.map +1 -0
  266. package/build/tools/organize_attachments/params.d.ts +122 -0
  267. package/{dist/src → build}/tools/organize_attachments/params.js +3 -3
  268. package/build/tools/organize_attachments/params.js.map +1 -0
  269. package/{dist/src → build}/tools/organize_attachments/utils.d.ts +0 -1
  270. package/build/tools/organize_attachments/utils.js.map +1 -0
  271. package/{dist/src → build}/tools/vault/index.d.ts +5 -26
  272. package/{dist/src → build}/tools/vault/index.js +3 -3
  273. package/build/tools/vault/index.js.map +1 -0
  274. package/{dist/src → build}/tools/vault/metrics.d.ts +0 -1
  275. package/build/tools/vault/metrics.js.map +1 -0
  276. package/build/tools/vault/params.d.ts +115 -0
  277. package/{dist/src → build}/tools/vault/params.js +0 -1
  278. package/build/tools/vault/params.js.map +1 -0
  279. package/build/tools/vault/types/collect_context.d.ts +1340 -0
  280. package/{dist/src → build}/tools/vault/types/collect_context.js +1 -1
  281. package/build/tools/vault/types/collect_context.js.map +1 -0
  282. package/build/tools/vault/types/list_all.d.ts +387 -0
  283. package/{dist/src → build}/tools/vault/types/list_all.js +4 -9
  284. package/build/tools/vault/types/list_all.js.map +1 -0
  285. package/build/tools/vault/types/read_specific.d.ts +297 -0
  286. package/{dist/src → build}/tools/vault/types/read_specific.js +1 -3
  287. package/build/tools/vault/types/read_specific.js.map +1 -0
  288. package/build/tools/vault/types/search.d.ts +598 -0
  289. package/{dist/src → build}/tools/vault/types/search.js +8 -16
  290. package/build/tools/vault/types/search.js.map +1 -0
  291. package/{dist/src → build}/tools/vault/utils/actions/collect_context.d.ts +1 -2
  292. package/{dist/src → build}/tools/vault/utils/actions/collect_context.js +4 -4
  293. package/build/tools/vault/utils/actions/collect_context.js.map +1 -0
  294. package/{dist/src → build}/tools/vault/utils/actions/index_rag.d.ts +0 -1
  295. package/build/tools/vault/utils/actions/index_rag.js.map +1 -0
  296. package/{dist/src → build}/tools/vault/utils/actions/list_all.d.ts +1 -2
  297. package/{dist/src → build}/tools/vault/utils/actions/list_all.js +1 -1
  298. package/build/tools/vault/utils/actions/list_all.js.map +1 -0
  299. package/{dist/src → build}/tools/vault/utils/actions/load_memory.d.ts +1 -2
  300. package/{dist/src → build}/tools/vault/utils/actions/load_memory.js +3 -3
  301. package/build/tools/vault/utils/actions/load_memory.js.map +1 -0
  302. package/{dist/src → build}/tools/vault/utils/actions/read.d.ts +1 -2
  303. package/{dist/src → build}/tools/vault/utils/actions/read.js +1 -1
  304. package/build/tools/vault/utils/actions/read.js.map +1 -0
  305. package/{dist/src → build}/tools/vault/utils/actions/search.d.ts +1 -2
  306. package/{dist/src → build}/tools/vault/utils/actions/search.js +2 -2
  307. package/build/tools/vault/utils/actions/search.js.map +1 -0
  308. package/{dist/src → build}/tools/vault/utils/actions/stats.d.ts +0 -1
  309. package/build/tools/vault/utils/actions/stats.js.map +1 -0
  310. package/{dist/src → build}/tools/vault/utils/constants.d.ts +0 -1
  311. package/build/tools/vault/utils/constants.js.map +1 -0
  312. package/{dist/src → build}/tools/vault/utils/document.d.ts +0 -6
  313. package/{dist/src → build}/tools/vault/utils/document.js +0 -1
  314. package/build/tools/vault/utils/document.js.map +1 -0
  315. package/{dist/src → build}/tools/vault/utils/shared.d.ts +1 -2
  316. package/build/tools/vault/utils/shared.js.map +1 -0
  317. package/build/tools/vault/utils.d.ts +7 -0
  318. package/build/tools/vault/utils.js +8 -0
  319. package/build/tools/vault/utils.js.map +1 -0
  320. package/{dist/src → build}/tools/write_property/index.d.ts +22 -5
  321. package/{dist/src → build}/tools/write_property/index.js +1 -1
  322. package/build/tools/write_property/index.js.map +1 -0
  323. package/build/tools/write_property/params.d.ts +60 -0
  324. package/build/tools/write_property/params.js.map +1 -0
  325. package/{dist/src → build}/utils/DirectoryWalker.d.ts +1 -2
  326. package/build/utils/DirectoryWalker.js.map +1 -0
  327. package/{dist/src → build}/utils/Embedder.d.ts +0 -1
  328. package/{dist/src → build}/utils/Embedder.js +1 -1
  329. package/build/utils/Embedder.js.map +1 -0
  330. package/{dist/src → build}/utils/Indexer.d.ts +2 -3
  331. package/{dist/src → build}/utils/Indexer.js +2 -2
  332. package/build/utils/Indexer.js.map +1 -0
  333. package/{dist/src → build}/utils/LLMClient.d.ts +0 -1
  334. package/{dist/src → build}/utils/LLMClient.js +0 -16
  335. package/build/utils/LLMClient.js.map +1 -0
  336. package/{dist/src → build}/utils/LocalReranker.d.ts +0 -1
  337. package/{dist/src → build}/utils/LocalReranker.js +1 -1
  338. package/build/utils/LocalReranker.js.map +1 -0
  339. package/{dist/src → build}/utils/RAGIndexer.d.ts +1 -2
  340. package/{dist/src → build}/utils/RAGIndexer.js +6 -6
  341. package/build/utils/RAGIndexer.js.map +1 -0
  342. package/build/utils/RerankerClient.d.ts +61 -0
  343. package/{dist/src → build}/utils/RerankerClient.js +1 -20
  344. package/build/utils/RerankerClient.js.map +1 -0
  345. package/{dist/src → build}/utils/VaultManger/VaultManager.d.ts +3 -4
  346. package/{dist/src → build}/utils/VaultManger/VaultManager.js +9 -9
  347. package/build/utils/VaultManger/VaultManager.js.map +1 -0
  348. package/{dist/src → build}/utils/VaultManger/VaultPathError.d.ts +0 -1
  349. package/build/utils/VaultManger/VaultPathError.js.map +1 -0
  350. package/build/utils/VaultManger/index.d.ts +3 -0
  351. package/build/utils/VaultManger/index.js +3 -0
  352. package/build/utils/VaultManger/index.js.map +1 -0
  353. package/{dist/src → build}/utils/VaultManger/types.d.ts +1 -2
  354. package/build/utils/VaultManger/types.js +2 -0
  355. package/build/utils/VaultManger/types.js.map +1 -0
  356. package/{dist/src → build}/utils/VaultWatcher.d.ts +0 -1
  357. package/{dist/src → build}/utils/VaultWatcher.js +1 -1
  358. package/build/utils/VaultWatcher.js.map +1 -0
  359. package/{dist/src → build}/utils/VectorDB.d.ts +0 -1
  360. package/build/utils/VectorDB.js +243 -0
  361. package/build/utils/VectorDB.js.map +1 -0
  362. package/{dist/src → build}/utils/constants.d.ts +0 -1
  363. package/build/utils/constants.js.map +1 -0
  364. package/{dist/src → build}/utils/createToolError.d.ts +0 -1
  365. package/build/utils/createToolError.js.map +1 -0
  366. package/build/utils/getVaultManager.d.ts +2 -0
  367. package/{dist/src → build}/utils/getVaultManager.js +1 -7
  368. package/build/utils/getVaultManager.js.map +1 -0
  369. package/{dist/src → build}/utils/processor/LinkExtractor.d.ts +0 -1
  370. package/build/utils/processor/LinkExtractor.js.map +1 -0
  371. package/build/utils/processor/MatterParser.d.ts +2 -0
  372. package/build/utils/processor/MatterParser.js +28 -0
  373. package/build/utils/processor/MatterParser.js.map +1 -0
  374. package/build/utils/processor/types.d.ts +104 -0
  375. package/{dist/src → build}/utils/processor/types.js +2 -10
  376. package/build/utils/processor/types.js.map +1 -0
  377. package/{dist/src → build}/utils/semaphore.d.ts +0 -1
  378. package/build/utils/semaphore.js.map +1 -0
  379. package/package.json +84 -72
  380. package/dist/package.json +0 -74
  381. package/dist/src/config.d.ts +0 -6
  382. package/dist/src/config.d.ts.map +0 -1
  383. package/dist/src/config.js.map +0 -1
  384. package/dist/src/db.d.ts +0 -2
  385. package/dist/src/db.d.ts.map +0 -1
  386. package/dist/src/db.js.map +0 -1
  387. package/dist/src/index.d.ts +0 -3
  388. package/dist/src/index.d.ts.map +0 -1
  389. package/dist/src/index.js.map +0 -1
  390. package/dist/src/server.d.ts.map +0 -1
  391. package/dist/src/server.js.map +0 -1
  392. package/dist/src/setup.d.ts.map +0 -1
  393. package/dist/src/setup.js.map +0 -1
  394. package/dist/src/tools/create_document_with_properties/index.d.ts.map +0 -1
  395. package/dist/src/tools/create_document_with_properties/index.js.map +0 -1
  396. package/dist/src/tools/create_document_with_properties/params.d.ts +0 -19
  397. package/dist/src/tools/create_document_with_properties/params.d.ts.map +0 -1
  398. package/dist/src/tools/create_document_with_properties/params.js.map +0 -1
  399. package/dist/src/tools/generate_property/index.d.ts.map +0 -1
  400. package/dist/src/tools/generate_property/index.js.map +0 -1
  401. package/dist/src/tools/generate_property/params.d.ts.map +0 -1
  402. package/dist/src/tools/generate_property/params.js.map +0 -1
  403. package/dist/src/tools/index.d.ts.map +0 -1
  404. package/dist/src/tools/index.js +0 -13
  405. package/dist/src/tools/index.js.map +0 -1
  406. package/dist/src/tools/organize_attachments/index.d.ts.map +0 -1
  407. package/dist/src/tools/organize_attachments/index.js.map +0 -1
  408. package/dist/src/tools/organize_attachments/params.d.ts +0 -47
  409. package/dist/src/tools/organize_attachments/params.d.ts.map +0 -1
  410. package/dist/src/tools/organize_attachments/params.js.map +0 -1
  411. package/dist/src/tools/organize_attachments/utils.d.ts.map +0 -1
  412. package/dist/src/tools/organize_attachments/utils.js.map +0 -1
  413. package/dist/src/tools/vault/index.d.ts.map +0 -1
  414. package/dist/src/tools/vault/index.js.map +0 -1
  415. package/dist/src/tools/vault/metrics.d.ts.map +0 -1
  416. package/dist/src/tools/vault/metrics.js.map +0 -1
  417. package/dist/src/tools/vault/params.d.ts +0 -100
  418. package/dist/src/tools/vault/params.d.ts.map +0 -1
  419. package/dist/src/tools/vault/params.js.map +0 -1
  420. package/dist/src/tools/vault/types/collect_context.d.ts +0 -388
  421. package/dist/src/tools/vault/types/collect_context.d.ts.map +0 -1
  422. package/dist/src/tools/vault/types/collect_context.js.map +0 -1
  423. package/dist/src/tools/vault/types/list_all.d.ts +0 -89
  424. package/dist/src/tools/vault/types/list_all.d.ts.map +0 -1
  425. package/dist/src/tools/vault/types/list_all.js.map +0 -1
  426. package/dist/src/tools/vault/types/read_specific.d.ts +0 -68
  427. package/dist/src/tools/vault/types/read_specific.d.ts.map +0 -1
  428. package/dist/src/tools/vault/types/read_specific.js.map +0 -1
  429. package/dist/src/tools/vault/types/search.d.ts +0 -151
  430. package/dist/src/tools/vault/types/search.d.ts.map +0 -1
  431. package/dist/src/tools/vault/types/search.js.map +0 -1
  432. package/dist/src/tools/vault/utils/actions/collect_context.d.ts.map +0 -1
  433. package/dist/src/tools/vault/utils/actions/collect_context.js.map +0 -1
  434. package/dist/src/tools/vault/utils/actions/index_rag.d.ts.map +0 -1
  435. package/dist/src/tools/vault/utils/actions/index_rag.js.map +0 -1
  436. package/dist/src/tools/vault/utils/actions/list_all.d.ts.map +0 -1
  437. package/dist/src/tools/vault/utils/actions/list_all.js.map +0 -1
  438. package/dist/src/tools/vault/utils/actions/load_memory.d.ts.map +0 -1
  439. package/dist/src/tools/vault/utils/actions/load_memory.js.map +0 -1
  440. package/dist/src/tools/vault/utils/actions/read.d.ts.map +0 -1
  441. package/dist/src/tools/vault/utils/actions/read.js.map +0 -1
  442. package/dist/src/tools/vault/utils/actions/search.d.ts.map +0 -1
  443. package/dist/src/tools/vault/utils/actions/search.js.map +0 -1
  444. package/dist/src/tools/vault/utils/actions/stats.d.ts.map +0 -1
  445. package/dist/src/tools/vault/utils/actions/stats.js.map +0 -1
  446. package/dist/src/tools/vault/utils/constants.d.ts.map +0 -1
  447. package/dist/src/tools/vault/utils/constants.js.map +0 -1
  448. package/dist/src/tools/vault/utils/document.d.ts.map +0 -1
  449. package/dist/src/tools/vault/utils/document.js.map +0 -1
  450. package/dist/src/tools/vault/utils/shared.d.ts.map +0 -1
  451. package/dist/src/tools/vault/utils/shared.js.map +0 -1
  452. package/dist/src/tools/vault/utils.d.ts +0 -8
  453. package/dist/src/tools/vault/utils.d.ts.map +0 -1
  454. package/dist/src/tools/vault/utils.js +0 -8
  455. package/dist/src/tools/vault/utils.js.map +0 -1
  456. package/dist/src/tools/write_property/index.d.ts.map +0 -1
  457. package/dist/src/tools/write_property/index.js.map +0 -1
  458. package/dist/src/tools/write_property/params.d.ts +0 -17
  459. package/dist/src/tools/write_property/params.d.ts.map +0 -1
  460. package/dist/src/tools/write_property/params.js.map +0 -1
  461. package/dist/src/utils/DirectoryWalker.d.ts.map +0 -1
  462. package/dist/src/utils/DirectoryWalker.js.map +0 -1
  463. package/dist/src/utils/Embedder.d.ts.map +0 -1
  464. package/dist/src/utils/Embedder.js.map +0 -1
  465. package/dist/src/utils/Indexer.d.ts.map +0 -1
  466. package/dist/src/utils/Indexer.js.map +0 -1
  467. package/dist/src/utils/LLMClient.d.ts.map +0 -1
  468. package/dist/src/utils/LLMClient.js.map +0 -1
  469. package/dist/src/utils/LocalReranker.d.ts.map +0 -1
  470. package/dist/src/utils/LocalReranker.js.map +0 -1
  471. package/dist/src/utils/RAGIndexer.d.ts.map +0 -1
  472. package/dist/src/utils/RAGIndexer.js.map +0 -1
  473. package/dist/src/utils/RerankerClient.d.ts +0 -28
  474. package/dist/src/utils/RerankerClient.d.ts.map +0 -1
  475. package/dist/src/utils/RerankerClient.js.map +0 -1
  476. package/dist/src/utils/VaultManger/VaultManager.d.ts.map +0 -1
  477. package/dist/src/utils/VaultManger/VaultManager.js.map +0 -1
  478. package/dist/src/utils/VaultManger/VaultPathError.d.ts.map +0 -1
  479. package/dist/src/utils/VaultManger/VaultPathError.js.map +0 -1
  480. package/dist/src/utils/VaultManger/index.d.ts +0 -4
  481. package/dist/src/utils/VaultManger/index.d.ts.map +0 -1
  482. package/dist/src/utils/VaultManger/index.js +0 -3
  483. package/dist/src/utils/VaultManger/index.js.map +0 -1
  484. package/dist/src/utils/VaultManger/types.d.ts.map +0 -1
  485. package/dist/src/utils/VaultManger/types.js.map +0 -1
  486. package/dist/src/utils/VaultWatcher.d.ts.map +0 -1
  487. package/dist/src/utils/VaultWatcher.js.map +0 -1
  488. package/dist/src/utils/VectorDB.d.ts.map +0 -1
  489. package/dist/src/utils/VectorDB.js +0 -305
  490. package/dist/src/utils/VectorDB.js.map +0 -1
  491. package/dist/src/utils/constants.d.ts.map +0 -1
  492. package/dist/src/utils/constants.js.map +0 -1
  493. package/dist/src/utils/createToolError.d.ts.map +0 -1
  494. package/dist/src/utils/createToolError.js.map +0 -1
  495. package/dist/src/utils/getVaultManager.d.ts +0 -7
  496. package/dist/src/utils/getVaultManager.d.ts.map +0 -1
  497. package/dist/src/utils/getVaultManager.js.map +0 -1
  498. package/dist/src/utils/processor/LinkExtractor.d.ts.map +0 -1
  499. package/dist/src/utils/processor/LinkExtractor.js.map +0 -1
  500. package/dist/src/utils/processor/MatterParser.d.ts +0 -3
  501. package/dist/src/utils/processor/MatterParser.d.ts.map +0 -1
  502. package/dist/src/utils/processor/MatterParser.js +0 -27
  503. package/dist/src/utils/processor/MatterParser.js.map +0 -1
  504. package/dist/src/utils/processor/types.d.ts +0 -53
  505. package/dist/src/utils/processor/types.d.ts.map +0 -1
  506. package/dist/src/utils/processor/types.js.map +0 -1
  507. package/dist/src/utils/semaphore.d.ts.map +0 -1
  508. package/dist/src/utils/semaphore.js.map +0 -1
  509. package/dist/tsconfig.build.tsbuildinfo +0 -1
  510. /package/{dist/src/utils/VaultManger → build/cli/hooks/useLlmStream}/types.js +0 -0
  511. /package/{dist/src → build}/tools/generate_property/params.js +0 -0
  512. /package/{dist/src → build}/tools/organize_attachments/utils.js +0 -0
  513. /package/{dist/src → build}/tools/vault/metrics.js +0 -0
  514. /package/{dist/src → build}/tools/vault/utils/actions/index_rag.js +0 -0
  515. /package/{dist/src → build}/tools/vault/utils/actions/stats.js +0 -0
  516. /package/{dist/src → build}/tools/vault/utils/constants.js +0 -0
  517. /package/{dist/src → build}/tools/vault/utils/shared.js +0 -0
  518. /package/{dist/src → build}/tools/write_property/params.js +0 -0
  519. /package/{dist/src → build}/utils/DirectoryWalker.js +0 -0
  520. /package/{dist/src → build}/utils/VaultManger/VaultPathError.js +0 -0
  521. /package/{dist/src → build}/utils/constants.js +0 -0
  522. /package/{dist/src → build}/utils/createToolError.js +0 -0
  523. /package/{dist/src → build}/utils/processor/LinkExtractor.js +0 -0
  524. /package/{dist/src → build}/utils/semaphore.js +0 -0
@@ -0,0 +1,10 @@
1
+ import { type McpToolInfo } from "../services/McpClientService.js";
2
+ import type { McpConnectionState, McpToolResult } from "../types.js";
3
+ export interface UseMcpClientReturn {
4
+ isConnected: boolean;
5
+ connectionState: McpConnectionState;
6
+ tools: McpToolInfo[];
7
+ callTool: (name: string, args: Record<string, unknown>) => Promise<McpToolResult>;
8
+ error: Error | null;
9
+ }
10
+ export declare const useMcpClient: () => UseMcpClientReturn;
@@ -0,0 +1,102 @@
1
+ import path from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ import { McpClientService, } from "../services/McpClientService.js";
4
+ import { useCallback, useEffect, useRef, useState } from "react";
5
+ import { configSchema, debugLogger } from "../../shared/index.js";
6
+ function buildConnectionOptions() {
7
+ console.error("[useMcpClient] Building MCP connection options from environment variables...");
8
+ const env = configSchema.parse({
9
+ vaultPath: process.env["VAULT_DIR_PATH"],
10
+ loggingLevel: process.env["LOGGING_LEVEL"],
11
+ llmApiUrl: process.env["LLM_API_URL"],
12
+ llmEmbeddingApiUrl: process.env["LLM_EMBEDDING_API_URL"],
13
+ llmEmbeddingModel: process.env["LLM_EMBEDDING_MODEL"],
14
+ llmChatModel: process.env["LLM_CHAT_MODEL"],
15
+ });
16
+ const vaultPath = env.vaultPath;
17
+ if (!vaultPath) {
18
+ throw new Error("VAULT_DIR_PATH 환경 변수가 설정되지 않았습니다. Obsidian Vault 경로를 지정해주세요.");
19
+ }
20
+ // 현재 파일 위치를 기준으로 packages/server/dist/index.js 위치를 계산
21
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
22
+ const serverEntry = path.resolve(__dirname, "../../../server/dist/index.js");
23
+ const projectRoot = path.resolve(__dirname, "../../../../");
24
+ return {
25
+ command: "node",
26
+ args: [serverEntry],
27
+ cwd: projectRoot,
28
+ env: {
29
+ VAULT_DIR_PATH: vaultPath,
30
+ LLM_API_URL: env.llmApiUrl ?? "http://127.0.0.1:8080",
31
+ LLM_EMBEDDING_API_URL: env.llmEmbeddingApiUrl ?? "http://127.0.0.1:8081",
32
+ LLM_EMBEDDING_MODEL: env.llmEmbeddingModel ?? "nomic-embed-text",
33
+ LLM_CHAT_MODEL: env.llmChatModel ?? "llama3",
34
+ LOGGING_LEVEL: process.env["LOGGING_LEVEL"] ?? "info",
35
+ },
36
+ };
37
+ }
38
+ export const useMcpClient = () => {
39
+ const [connectionState, setConnectionState] = useState("disconnected");
40
+ const [tools, setTools] = useState([]);
41
+ const [error, setError] = useState(null);
42
+ const serviceRef = useRef(null);
43
+ useEffect(() => {
44
+ const service = new McpClientService();
45
+ serviceRef.current = service;
46
+ let cancelled = false;
47
+ async function initConnection() {
48
+ setConnectionState("connecting");
49
+ setError(null);
50
+ try {
51
+ const options = buildConnectionOptions();
52
+ await service.connect(options);
53
+ if (cancelled) {
54
+ await service.disconnect();
55
+ return;
56
+ }
57
+ setConnectionState("connected");
58
+ const toolList = await service.listTools();
59
+ if (!cancelled) {
60
+ setTools(toolList);
61
+ debugLogger.info(`[useMcpClient] ${toolList.length} tools available:`, toolList.map((t) => t.name).join(", "));
62
+ }
63
+ }
64
+ catch (err) {
65
+ if (!cancelled) {
66
+ const connectError = err instanceof Error ? err : new Error(String(err));
67
+ debugLogger.error("[useMcpClient] Connection failed:", connectError);
68
+ setConnectionState("error");
69
+ setError(connectError);
70
+ }
71
+ }
72
+ }
73
+ void initConnection();
74
+ return () => {
75
+ cancelled = true;
76
+ void service.disconnect();
77
+ serviceRef.current = null;
78
+ };
79
+ }, []);
80
+ const callTool = useCallback(async (name, args) => {
81
+ if (!serviceRef.current?.isConnected) {
82
+ return {
83
+ isError: true,
84
+ content: [
85
+ {
86
+ type: "text",
87
+ text: "MCP 서버에 연결되지 않았습니다. 연결 상태를 확인해주세요.",
88
+ },
89
+ ],
90
+ };
91
+ }
92
+ return serviceRef.current.callTool(name, args);
93
+ }, []);
94
+ return {
95
+ isConnected: connectionState === "connected",
96
+ connectionState,
97
+ tools,
98
+ callTool,
99
+ error,
100
+ };
101
+ };
102
+ //# sourceMappingURL=useMcpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMcpClient.js","sourceRoot":"","sources":["../../../src/cli/hooks/useMcpClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { McpToolInfo } from "../services/McpClientService.js";
2
+ import { type ServerConnectionInfo } from "../services/McpManager.js";
3
+ import type { McpToolResult } from "../types.js";
4
+ export interface UseMcpManagerReturn {
5
+ /** 하나라도 연결되었는지 (Partial Readiness) */
6
+ isConnected: boolean;
7
+ /** 서버별 연결 상태 */
8
+ connections: Map<string, ServerConnectionInfo>;
9
+ /** 모든 서버에서 수집된 통합 도구 목록 */
10
+ tools: McpToolInfo[];
11
+ /** 서버별 도구 목록 (UI 그룹핑용) */
12
+ toolsByServer: Map<string, McpToolInfo[]>;
13
+ /** 내부 라우팅된 도구 호출 함수 */
14
+ callTool: (name: string, args: Record<string, unknown>) => Promise<McpToolResult>;
15
+ /** 서버별 에러 맵 */
16
+ errors: Map<string, Error>;
17
+ /** 설정된 서버 수 */
18
+ serverCount: number;
19
+ /** 연결된 서버 수 */
20
+ connectedCount: number;
21
+ /** 현재 연결 중인 서버가 있는지 여부 */
22
+ isAnyConnecting: boolean;
23
+ /** 에러가 발생한 서버가 있는지 여부 */
24
+ hasAnyError: boolean;
25
+ }
26
+ export declare const useMcpManager: () => UseMcpManagerReturn;
@@ -0,0 +1,89 @@
1
+ import { loadMcpServersConfig } from "../config/mcpServersConfig.js";
2
+ import { McpManager, } from "../services/McpManager.js";
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
+ import { debugLogger } from "../../shared/index.js";
5
+ export const useMcpManager = () => {
6
+ const [connections, setConnections] = useState(new Map());
7
+ const [tools, setTools] = useState([]);
8
+ const [toolsByServer, setToolsByServer] = useState(new Map());
9
+ const [errors, setErrors] = useState(new Map());
10
+ const [serverCount, setServerCount] = useState(0);
11
+ const [connectedCount, setConnectedCount] = useState(0);
12
+ const [isConnected, setIsConnected] = useState(false);
13
+ const isAnyConnecting = useMemo(() => Array.from(connections.values()).some((c) => c.state === "connecting"), [connections]);
14
+ const hasAnyError = errors.size > 0;
15
+ const managerRef = useRef(null);
16
+ const syncState = useCallback(() => {
17
+ const manager = managerRef.current;
18
+ if (!manager)
19
+ return;
20
+ setConnections(new Map(manager.connections));
21
+ setTools([...manager.allTools]);
22
+ setToolsByServer(new Map(manager.toolsByServer));
23
+ setErrors(new Map(manager.errors));
24
+ setServerCount(manager.serverCount);
25
+ setConnectedCount(manager.connectedCount);
26
+ setIsConnected(manager.isPartiallyReady);
27
+ }, []);
28
+ useEffect(() => {
29
+ const manager = new McpManager();
30
+ managerRef.current = manager;
31
+ let cancelled = false;
32
+ async function initConnections() {
33
+ try {
34
+ const configs = loadMcpServersConfig();
35
+ if (configs.length === 0) {
36
+ debugLogger.warn("[useMcpManager] 설정된 MCP 서버가 없습니다.");
37
+ return;
38
+ }
39
+ await manager.connectAll(configs, () => {
40
+ if (!cancelled) {
41
+ syncState();
42
+ }
43
+ });
44
+ if (!cancelled) {
45
+ syncState();
46
+ }
47
+ }
48
+ catch (err) {
49
+ debugLogger.error("[useMcpManager] 초기화 실패:", err);
50
+ if (!cancelled) {
51
+ syncState();
52
+ }
53
+ }
54
+ }
55
+ void initConnections();
56
+ return () => {
57
+ cancelled = true;
58
+ void manager.disconnectAll();
59
+ managerRef.current = null;
60
+ };
61
+ }, [syncState]);
62
+ const callTool = useCallback(async (name, args) => {
63
+ if (!managerRef.current) {
64
+ return {
65
+ isError: true,
66
+ content: [
67
+ {
68
+ type: "text",
69
+ text: "MCP 서버가 초기화되지 않았습니다.",
70
+ },
71
+ ],
72
+ };
73
+ }
74
+ return managerRef.current.callTool(name, args);
75
+ }, []);
76
+ return {
77
+ isConnected,
78
+ connections,
79
+ tools,
80
+ toolsByServer,
81
+ callTool,
82
+ errors,
83
+ serverCount,
84
+ connectedCount,
85
+ isAnyConnecting,
86
+ hasAnyError,
87
+ };
88
+ };
89
+ //# sourceMappingURL=useMcpManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMcpManager.js","sourceRoot":"","sources":["../../../src/cli/hooks/useMcpManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { TextBuffer } from "../key/text-buffer.js";
2
+ import type { Suggestion } from "../ui/SuggestionsDisplay.js";
3
+ import type React from "react";
4
+ export declare const PROMPT_COMPLETION_MIN_LENGTH = 3;
5
+ export interface PromptCompletion {
6
+ text: string;
7
+ isActive: boolean;
8
+ isLoading: boolean;
9
+ accept: () => void;
10
+ clear: () => void;
11
+ markSelected: () => void;
12
+ }
13
+ export interface UsePromptCompletionOptions {
14
+ buffer: TextBuffer;
15
+ setSuggestions?: React.Dispatch<React.SetStateAction<Suggestion[]>>;
16
+ setIsLoadingSuggestions?: React.Dispatch<React.SetStateAction<boolean>>;
17
+ }
18
+ /** Stub: Prompt (history/MCP) completion. */
19
+ export declare function usePromptCompletion(_options: UsePromptCompletionOptions): PromptCompletion;
@@ -0,0 +1,13 @@
1
+ export const PROMPT_COMPLETION_MIN_LENGTH = 3;
2
+ /** Stub: Prompt (history/MCP) completion. */
3
+ export function usePromptCompletion(_options) {
4
+ return {
5
+ text: "",
6
+ isActive: false,
7
+ isLoading: false,
8
+ accept: () => { },
9
+ clear: () => { },
10
+ markSelected: () => { },
11
+ };
12
+ }
13
+ //# sourceMappingURL=usePromptCompletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePromptCompletion.js","sourceRoot":"","sources":["../../../src/cli/hooks/usePromptCompletion.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC;AAiB9C,6CAA6C;AAC7C,MAAM,UAAU,mBAAmB,CAClC,QAAoC;IAEpC,OAAO;QACN,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;QAChB,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;KACtB,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { CallToolFn } from "../types.js";
2
+ export interface UseRagContextReturn {
3
+ fetchContext: (query: string) => Promise<string | null>;
4
+ isFetching: boolean;
5
+ }
6
+ export declare const useRagContext: (callTool: CallToolFn, isConnected: boolean) => UseRagContextReturn;
@@ -0,0 +1,84 @@
1
+ import { useCallback, useState } from "react";
2
+ import { debugLogger } from "../../shared/index.js";
3
+ const ANSI_RE =
4
+ // biome-ignore lint/suspicious/noControlCharactersInRegex: ANSI escape sequences intentionally matched
5
+ /[\u001b\u009b][[()#;?]*(?:\d{1,4}(?:;\d{0,4})*)?[A-Za-z0-9=><~]/g;
6
+ function stripAnsi(text) {
7
+ return text.replace(ANSI_RE, "");
8
+ }
9
+ function formatAsContext(payload) {
10
+ const { memory_packet, documents } = payload;
11
+ const contextParts = [
12
+ "<context>",
13
+ ` <summary>${memory_packet.topicSummary}</summary>`,
14
+ ];
15
+ if (memory_packet.keyFacts && memory_packet.keyFacts.length > 0) {
16
+ contextParts.push(" <key_facts>");
17
+ for (const fact of memory_packet.keyFacts) {
18
+ contextParts.push(` - ${fact}`);
19
+ }
20
+ contextParts.push(" </key_facts>");
21
+ }
22
+ // 연관도가 높은(high) 문서의 본문 조각 추가 (최대 2개)
23
+ const highRelevanceDocs = documents
24
+ .filter((doc) => doc.relevance === "high")
25
+ .slice(0, 2);
26
+ if (highRelevanceDocs.length > 0) {
27
+ contextParts.push(" <detailed_excerpts>");
28
+ for (const doc of highRelevanceDocs) {
29
+ contextParts.push(` <doc title="${doc.title}">`);
30
+ contextParts.push(` ${doc.excerpt}`);
31
+ contextParts.push(" </doc>");
32
+ }
33
+ contextParts.push(" </detailed_excerpts>");
34
+ }
35
+ contextParts.push("</context>");
36
+ return contextParts.join("\n");
37
+ }
38
+ export const useRagContext = (callTool, isConnected) => {
39
+ const [isFetching, setIsFetching] = useState(false);
40
+ const fetchContext = useCallback(async (rawQuery) => {
41
+ if (!isConnected) {
42
+ debugLogger.debug("[RAG] MCP not connected, skipping context fetch.");
43
+ return null;
44
+ }
45
+ const query = stripAnsi(rawQuery).trim();
46
+ if (query.length < 3)
47
+ return null;
48
+ setIsFetching(true);
49
+ debugLogger.debug(`[RAG] Collecting context for topic: "${query}"`);
50
+ try {
51
+ // collect_context 액션을 사용하여 고밀도 데이터 요청
52
+ const result = await callTool("vault", {
53
+ action: "collect_context",
54
+ topic: query,
55
+ maxDocs: 10,
56
+ maxCharsPerDoc: 1000,
57
+ memoryMode: "response_only",
58
+ });
59
+ if (result.isError) {
60
+ debugLogger.warn("[RAG] Context collection failed, falling back to basic search.");
61
+ // 에러 시 기존 search 액션으로 폴백 시도 가능 (생략)
62
+ return null;
63
+ }
64
+ const text = result.content.find((c) => c.type === "text")?.text;
65
+ if (!text)
66
+ return null;
67
+ const payload = JSON.parse(text);
68
+ if (payload.documents?.length === 0) {
69
+ debugLogger.debug("[RAG] No relevant documents found.");
70
+ return null;
71
+ }
72
+ return formatAsContext(payload);
73
+ }
74
+ catch (err) {
75
+ debugLogger.error("[RAG] Context fetch failed:", err);
76
+ return null;
77
+ }
78
+ finally {
79
+ setIsFetching(false);
80
+ }
81
+ }, [callTool, isConnected]);
82
+ return { fetchContext, isFetching };
83
+ };
84
+ //# sourceMappingURL=useRagContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRagContext.js","sourceRoot":"","sources":["../../../src/cli/hooks/useRagContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { Suggestion } from "../ui/SuggestionsDisplay.js";
2
+ import type React from "react";
3
+ export interface UseShellCompletionOptions {
4
+ enabled: boolean;
5
+ line: string;
6
+ cursorCol: number;
7
+ cwd: string;
8
+ setSuggestions: React.Dispatch<React.SetStateAction<Suggestion[]>>;
9
+ setIsLoadingSuggestions: React.Dispatch<React.SetStateAction<boolean>>;
10
+ }
11
+ export interface ShellCompletionRange {
12
+ query: string | null;
13
+ completionStart: number;
14
+ completionEnd: number;
15
+ activeStart: number;
16
+ }
17
+ /** Stub: Shell path/command completion. */
18
+ export declare function useShellCompletion(_options: UseShellCompletionOptions): ShellCompletionRange;
@@ -0,0 +1,10 @@
1
+ /** Stub: Shell path/command completion. */
2
+ export function useShellCompletion(_options) {
3
+ return {
4
+ query: null,
5
+ completionStart: -1,
6
+ completionEnd: -1,
7
+ activeStart: -1,
8
+ };
9
+ }
10
+ //# sourceMappingURL=useShellCompletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useShellCompletion.js","sourceRoot":"","sources":["../../../src/cli/hooks/useShellCompletion.ts"],"names":[],"mappings":"AAmBA,2CAA2C;AAC3C,MAAM,UAAU,kBAAkB,CACjC,QAAmC;IAEnC,OAAO;QACN,KAAK,EAAE,IAAI;QACX,eAAe,EAAE,CAAC,CAAC;QACnB,aAAa,EAAE,CAAC,CAAC;QACjB,WAAW,EAAE,CAAC,CAAC;KACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { CommandContext, SlashCommand } from "../commands/types.js";
2
+ import type { Suggestion } from "../ui/SuggestionsDisplay.js";
3
+ import type React from "react";
4
+ export interface UseSlashCompletionOptions {
5
+ enabled: boolean;
6
+ query: string | null;
7
+ slashCommands: readonly SlashCommand[];
8
+ commandContext: CommandContext;
9
+ setSuggestions: React.Dispatch<React.SetStateAction<Suggestion[]>>;
10
+ setIsLoadingSuggestions: React.Dispatch<React.SetStateAction<boolean>>;
11
+ setIsPerfectMatch: React.Dispatch<React.SetStateAction<boolean>>;
12
+ }
13
+ export interface SlashCompletionRange {
14
+ completionStart: number;
15
+ completionEnd: number;
16
+ getCommandFromSuggestion: (suggestion: Suggestion) => SlashCommand | undefined;
17
+ isArgumentCompletion: boolean;
18
+ leafCommand: SlashCommand | null;
19
+ }
20
+ /** Stub: Slash-command completion. */
21
+ export declare function useSlashCompletion(_options: UseSlashCompletionOptions): SlashCompletionRange;
@@ -0,0 +1,11 @@
1
+ /** Stub: Slash-command completion. */
2
+ export function useSlashCompletion(_options) {
3
+ return {
4
+ completionStart: -1,
5
+ completionEnd: -1,
6
+ getCommandFromSuggestion: () => undefined,
7
+ isArgumentCompletion: false,
8
+ leafCommand: null,
9
+ };
10
+ }
11
+ //# sourceMappingURL=useSlashCompletion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSlashCompletion.js","sourceRoot":"","sources":["../../../src/cli/hooks/useSlashCompletion.ts"],"names":[],"mappings":"AAwBA,sCAAsC;AACtC,MAAM,UAAU,kBAAkB,CACjC,QAAmC;IAEnC,OAAO;QACN,eAAe,EAAE,CAAC,CAAC;QACnB,aAAa,EAAE,CAAC,CAAC;QACjB,wBAAwB,EAAE,GAAG,EAAE,CAAC,SAAS;QACzC,oBAAoB,EAAE,KAAK;QAC3B,WAAW,EAAE,IAAI;KACjB,CAAC;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function useTerminalSize(): {
2
+ columns: number;
3
+ rows: number;
4
+ };
@@ -0,0 +1,21 @@
1
+ import { useEffect, useState } from "react";
2
+ export function useTerminalSize() {
3
+ const [size, setSize] = useState({
4
+ columns: process.stdout.columns || 60,
5
+ rows: process.stdout.rows || 20,
6
+ });
7
+ useEffect(() => {
8
+ function updateSize() {
9
+ setSize({
10
+ columns: process.stdout.columns || 60,
11
+ rows: process.stdout.rows || 20,
12
+ });
13
+ }
14
+ process.stdout.on("resize", updateSize);
15
+ return () => {
16
+ process.stdout.off("resize", updateSize);
17
+ };
18
+ }, []);
19
+ return size;
20
+ }
21
+ //# sourceMappingURL=useTerminalSize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../src/cli/hooks/useTerminalSize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,UAAU,eAAe;IAC9B,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC;QAChC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;QACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;KAC/B,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,SAAS,UAAU;YAClB,OAAO,CAAC;gBACP,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE;gBACrC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE;aAC/B,CAAC,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,GAAG,EAAE;YACX,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,IAAI,CAAC;AACb,CAAC"}
@@ -0,0 +1 @@
1
+ import "dotenv/config";
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { AppContainer } from "./AppContainer.js";
3
+ import { registerSyncCleanup } from "./utils/cleanup.js";
4
+ import { createWorkingStdio } from "./utils/stdio.js";
5
+ import { render } from "ink";
6
+ import "dotenv/config";
7
+ async function start() {
8
+ const wasRaw = process.stdin.isRaw;
9
+ const { stdout: monkeyStdout, stderr: monkeySterr } = createWorkingStdio();
10
+ if (!wasRaw && process.stdin.isTTY) {
11
+ process.stdin.setRawMode(true);
12
+ registerSyncCleanup(() => {
13
+ process.stdin.setRawMode(wasRaw);
14
+ });
15
+ }
16
+ process.stdin.resume();
17
+ process.stdin.resume();
18
+ const { waitUntilExit } = render(_jsx(AppContainer, {}), {
19
+ stdout: monkeyStdout,
20
+ stderr: monkeySterr,
21
+ stdin: process.stdin,
22
+ });
23
+ await waitUntilExit();
24
+ }
25
+ start();
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,eAAe,CAAC;AAEvB,KAAK,UAAU,KAAK;IACnB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;IACnC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC3E,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE/B,mBAAmB,CAAC,GAAG,EAAE;YACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAEvB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAC,YAAY,KAAG,EAAE;QAClD,MAAM,EAAE,YAAY;QACpB,MAAM,EAAE,WAAW;QACnB,KAAK,EAAE,OAAO,CAAC,KAAK;KACpB,CAAC,CAAC;IAEH,MAAM,aAAa,EAAE,CAAC;AACvB,CAAC;AAED,KAAK,EAAE,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const ESC = "\u001B";
2
+ export declare const SGR_EVENT_PREFIX = "\u001B[<";
3
+ export declare const X11_EVENT_PREFIX = "\u001B[M";
4
+ export declare const SGR_MOUSE_REGEX: RegExp;
5
+ export declare const X11_MOUSE_REGEX: RegExp;
@@ -0,0 +1,9 @@
1
+ export const ESC = "\u001b";
2
+ export const SGR_EVENT_PREFIX = `${ESC}[<`;
3
+ export const X11_EVENT_PREFIX = `${ESC}[M`;
4
+ // biome-ignore lint/suspicious/noControlCharactersInRegex:터미널 입력을 파싱하기 위한 정규식입니다.
5
+ export const SGR_MOUSE_REGEX = /^\x1b\[<(\d+);(\d+);(\d+)([mM])/; // SGR mouse events
6
+ // X11 is ESC [ M followed by 3 bytes.
7
+ // biome-ignore lint/suspicious/noControlCharactersInRegex:터미널 입력을 파싱하기 위한 정규식입니다.
8
+ export const X11_MOUSE_REGEX = /^\x1b\[M([\s\S]{3})/;
9
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/cli/key/input.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAC;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,GAAG,IAAI,CAAC;AAE3C,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,iCAAiC,CAAC,CAAC,mBAAmB;AACrF,sCAAsC;AAEtC,kFAAkF;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC"}