@sunub/obsidian-mcp-server 0.3.19 → 0.3.21
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.
- package/README.md +1 -24
- package/build/cli/App.d.ts +1 -0
- package/build/cli/App.js +273 -0
- package/build/cli/App.js.map +1 -0
- package/build/cli/AppContainer.d.ts +1 -0
- package/build/cli/AppContainer.js +19 -0
- package/build/cli/AppContainer.js.map +1 -0
- package/build/cli/colors.d.ts +15 -0
- package/build/cli/colors.js +15 -0
- package/build/cli/colors.js.map +1 -0
- package/build/cli/commands/types.d.ts +19 -0
- package/build/cli/commands/types.js +11 -0
- package/build/cli/commands/types.js.map +1 -0
- package/build/cli/config/SettingContext.d.ts +1 -0
- package/build/cli/config/SettingContext.js +2 -0
- package/build/cli/config/SettingContext.js.map +1 -0
- package/build/cli/config/mcpServersConfig.d.ts +30 -0
- package/build/cli/config/mcpServersConfig.js +119 -0
- package/build/cli/config/mcpServersConfig.js.map +1 -0
- package/build/cli/config/settingSchema.d.ts +162 -0
- package/build/cli/config/settingSchema.js +110 -0
- package/build/cli/config/settingSchema.js.map +1 -0
- package/build/cli/constants.d.ts +47 -0
- package/build/cli/constants.js +101 -0
- package/build/cli/constants.js.map +1 -0
- package/build/cli/context/InputContext.d.ts +12 -0
- package/build/cli/context/InputContext.js +10 -0
- package/build/cli/context/InputContext.js.map +1 -0
- package/build/cli/context/KeypressContext.d.ts +30 -0
- package/build/cli/context/KeypressContext.js +200 -0
- package/build/cli/context/KeypressContext.js.map +1 -0
- package/build/cli/context/KeypressContext.util.d.ts +7 -0
- package/build/cli/context/KeypressContext.util.js +476 -0
- package/build/cli/context/KeypressContext.util.js.map +1 -0
- package/build/cli/errors/index.d.ts +3 -0
- package/build/cli/errors/index.js +7 -0
- package/build/cli/errors/index.js.map +1 -0
- package/build/cli/hooks/useAtCompletion.d.ts +12 -0
- package/build/cli/hooks/useAtCompletion.js +5 -0
- package/build/cli/hooks/useAtCompletion.js.map +1 -0
- package/build/cli/hooks/useCommandCompletion.d.ts +59 -0
- package/build/cli/hooks/useCommandCompletion.js +344 -0
- package/build/cli/hooks/useCommandCompletion.js.map +1 -0
- package/build/cli/hooks/useCompletion.d.ts +22 -0
- package/build/cli/hooks/useCompletion.js +84 -0
- package/build/cli/hooks/useCompletion.js.map +1 -0
- package/build/cli/hooks/useDispatcher.d.ts +6 -0
- package/build/cli/hooks/useDispatcher.js +286 -0
- package/build/cli/hooks/useDispatcher.js.map +1 -0
- package/build/cli/hooks/useFocus.d.ts +2 -0
- package/build/cli/hooks/useFocus.js +3 -0
- package/build/cli/hooks/useFocus.js.map +1 -0
- package/build/cli/hooks/useHistoryManager.d.ts +32 -0
- package/build/cli/hooks/useHistoryManager.js +78 -0
- package/build/cli/hooks/useHistoryManager.js.map +1 -0
- package/build/cli/hooks/useInputHistory.d.ts +24 -0
- package/build/cli/hooks/useInputHistory.js +159 -0
- package/build/cli/hooks/useInputHistory.js.map +1 -0
- package/build/cli/hooks/useKeyMatchers.d.ts +17 -0
- package/build/cli/hooks/useKeyMatchers.js +18 -0
- package/build/cli/hooks/useKeyMatchers.js.map +1 -0
- package/build/cli/hooks/useKeypress.d.ts +19 -0
- package/build/cli/hooks/useKeypress.js +28 -0
- package/build/cli/hooks/useKeypress.js.map +1 -0
- package/build/cli/hooks/useLlmStream/constants.d.ts +4 -0
- package/build/cli/hooks/useLlmStream/constants.js +5 -0
- package/build/cli/hooks/useLlmStream/constants.js.map +1 -0
- package/build/cli/hooks/useLlmStream/index.d.ts +2 -0
- package/build/cli/hooks/useLlmStream/index.js +2 -0
- package/build/cli/hooks/useLlmStream/index.js.map +1 -0
- package/build/cli/hooks/useLlmStream/llmService.d.ts +2 -0
- package/build/cli/hooks/useLlmStream/llmService.js +111 -0
- package/build/cli/hooks/useLlmStream/llmService.js.map +1 -0
- package/build/cli/hooks/useLlmStream/types.d.ts +38 -0
- package/build/cli/hooks/useLlmStream/types.js.map +1 -0
- package/build/cli/hooks/useLlmStream/useLlmStream.d.ts +12 -0
- package/build/cli/hooks/useLlmStream/useLlmStream.js +176 -0
- package/build/cli/hooks/useLlmStream/useLlmStream.js.map +1 -0
- package/build/cli/hooks/useLlmStream/utils.d.ts +17 -0
- package/build/cli/hooks/useLlmStream/utils.js +142 -0
- package/build/cli/hooks/useLlmStream/utils.js.map +1 -0
- package/build/cli/hooks/useMcpClient.d.ts +10 -0
- package/build/cli/hooks/useMcpClient.js +98 -0
- package/build/cli/hooks/useMcpClient.js.map +1 -0
- package/build/cli/hooks/useMcpManager.d.ts +26 -0
- package/build/cli/hooks/useMcpManager.js +89 -0
- package/build/cli/hooks/useMcpManager.js.map +1 -0
- package/build/cli/hooks/usePromptCompletion.d.ts +19 -0
- package/build/cli/hooks/usePromptCompletion.js +13 -0
- package/build/cli/hooks/usePromptCompletion.js.map +1 -0
- package/build/cli/hooks/useRagContext.d.ts +6 -0
- package/build/cli/hooks/useRagContext.js +84 -0
- package/build/cli/hooks/useRagContext.js.map +1 -0
- package/build/cli/hooks/useShellCompletion.d.ts +18 -0
- package/build/cli/hooks/useShellCompletion.js +10 -0
- package/build/cli/hooks/useShellCompletion.js.map +1 -0
- package/build/cli/hooks/useSlashCompletion.d.ts +21 -0
- package/build/cli/hooks/useSlashCompletion.js +11 -0
- package/build/cli/hooks/useSlashCompletion.js.map +1 -0
- package/build/cli/hooks/useTerminalSize.d.ts +4 -0
- package/build/cli/hooks/useTerminalSize.js +21 -0
- package/build/cli/hooks/useTerminalSize.js.map +1 -0
- package/build/cli/index.d.ts +1 -0
- package/build/cli/index.js +27 -0
- package/build/cli/index.js.map +1 -0
- package/build/cli/key/input.d.ts +5 -0
- package/build/cli/key/input.js +9 -0
- package/build/cli/key/input.js.map +1 -0
- package/build/cli/key/keyBindings.d.ts +152 -0
- package/build/cli/key/keyBindings.js +630 -0
- package/build/cli/key/keyBindings.js.map +1 -0
- package/build/cli/key/keyMatchers.d.ts +19 -0
- package/build/cli/key/keyMatchers.js +25 -0
- package/build/cli/key/keyMatchers.js.map +1 -0
- package/build/cli/key/mouse.d.ts +23 -0
- package/build/cli/key/mouse.js +155 -0
- package/build/cli/key/mouse.js.map +1 -0
- package/build/cli/key/text-buffer.d.ts +156 -0
- package/build/cli/key/text-buffer.js +937 -0
- package/build/cli/key/text-buffer.js.map +1 -0
- package/build/cli/main.d.ts +1 -0
- package/build/cli/main.js +20 -0
- package/build/cli/main.js.map +1 -0
- package/build/cli/services/McpClientService.d.ts +32 -0
- package/build/cli/services/McpClientService.js +123 -0
- package/build/cli/services/McpClientService.js.map +1 -0
- package/build/cli/services/McpManager.d.ts +28 -0
- package/build/cli/services/McpManager.js +146 -0
- package/build/cli/services/McpManager.js.map +1 -0
- package/build/cli/theme/builtin/default-dark.d.ts +7 -0
- package/build/cli/theme/builtin/default-dark.js +143 -0
- package/build/cli/theme/builtin/default-dark.js.map +1 -0
- package/build/cli/theme/builtin/no-color.d.ts +7 -0
- package/build/cli/theme/builtin/no-color.js +125 -0
- package/build/cli/theme/builtin/no-color.js.map +1 -0
- package/build/cli/theme/builtin/tokyonight-dark.d.ts +7 -0
- package/build/cli/theme/builtin/tokyonight-dark.js +146 -0
- package/build/cli/theme/builtin/tokyonight-dark.js.map +1 -0
- package/build/cli/theme/semantic-colors.d.ts +2 -0
- package/build/cli/theme/semantic-colors.js +19 -0
- package/build/cli/theme/semantic-colors.js.map +1 -0
- package/build/cli/theme/semantic-tokens.d.ts +42 -0
- package/build/cli/theme/semantic-tokens.js +77 -0
- package/build/cli/theme/semantic-tokens.js.map +1 -0
- package/build/cli/theme/theme-manager.d.ts +32 -0
- package/build/cli/theme/theme-manager.js +150 -0
- package/build/cli/theme/theme-manager.js.map +1 -0
- package/build/cli/theme/theme.d.ts +107 -0
- package/build/cli/theme/theme.js +333 -0
- package/build/cli/theme/theme.js.map +1 -0
- package/build/cli/tmp.d.ts +1 -0
- package/build/cli/tmp.js +27 -0
- package/build/cli/tmp.js.map +1 -0
- package/build/cli/types.d.ts +97 -0
- package/build/cli/types.js +2 -0
- package/build/cli/types.js.map +1 -0
- package/build/cli/ui/ConnectionStatus.d.ts +13 -0
- package/build/cli/ui/ConnectionStatus.js +19 -0
- package/build/cli/ui/ConnectionStatus.js.map +1 -0
- package/build/cli/ui/HalfPaddingBox.d.ts +13 -0
- package/build/cli/ui/HalfPaddingBox.js +11 -0
- package/build/cli/ui/HalfPaddingBox.js.map +1 -0
- package/build/cli/ui/HelpCommands.d.ts +5 -0
- package/build/cli/ui/HelpCommands.js +11 -0
- package/build/cli/ui/HelpCommands.js.map +1 -0
- package/build/cli/ui/HistoryItemDisplay.d.ts +9 -0
- package/build/cli/ui/HistoryItemDisplay.js +34 -0
- package/build/cli/ui/HistoryItemDisplay.js.map +1 -0
- package/build/cli/ui/InputPrompt.d.ts +13 -0
- package/build/cli/ui/InputPrompt.js +138 -0
- package/build/cli/ui/InputPrompt.js.map +1 -0
- package/build/cli/ui/LLMErrorComponent.d.ts +6 -0
- package/build/cli/ui/LLMErrorComponent.js +18 -0
- package/build/cli/ui/LLMErrorComponent.js.map +1 -0
- package/build/cli/ui/LLMHealthChecker.d.ts +8 -0
- package/build/cli/ui/LLMHealthChecker.js +22 -0
- package/build/cli/ui/LLMHealthChecker.js.map +1 -0
- package/build/cli/ui/MCPServers.d.ts +11 -0
- package/build/cli/ui/MCPServers.js +15 -0
- package/build/cli/ui/MCPServers.js.map +1 -0
- package/build/cli/ui/MainContent.d.ts +12 -0
- package/build/cli/ui/MainContent.js +28 -0
- package/build/cli/ui/MainContent.js.map +1 -0
- package/build/cli/ui/MarkdownDisplay.d.ts +8 -0
- package/build/cli/ui/MarkdownDisplay.js +6 -0
- package/build/cli/ui/MarkdownDisplay.js.map +1 -0
- package/build/cli/ui/MouseContext.d.ts +1 -0
- package/build/cli/ui/MouseContext.js +2 -0
- package/build/cli/ui/MouseContext.js.map +1 -0
- package/build/cli/ui/SuggestionsDisplay.d.ts +25 -0
- package/build/cli/ui/SuggestionsDisplay.js +45 -0
- package/build/cli/ui/SuggestionsDisplay.js.map +1 -0
- package/build/cli/ui/SystemInfoSummaryBox.d.ts +6 -0
- package/build/cli/ui/SystemInfoSummaryBox.js +6 -0
- package/build/cli/ui/SystemInfoSummaryBox.js.map +1 -0
- package/build/cli/ui/ThinkingIndicator.d.ts +2 -0
- package/build/cli/ui/ThinkingIndicator.js +16 -0
- package/build/cli/ui/ThinkingIndicator.js.map +1 -0
- package/build/cli/ui/layout/DefaultAppLayout.d.ts +2 -0
- package/build/cli/ui/layout/DefaultAppLayout.js +6 -0
- package/build/cli/ui/layout/DefaultAppLayout.js.map +1 -0
- package/build/cli/ui/shared/ExpandableText.d.ts +14 -0
- package/build/cli/ui/shared/ExpandableText.js +19 -0
- package/build/cli/ui/shared/ExpandableText.js.map +1 -0
- package/build/cli/utils/cache.d.ts +21 -0
- package/build/cli/utils/cache.js +56 -0
- package/build/cli/utils/cache.js.map +1 -0
- package/build/cli/utils/cleanup.d.ts +1 -0
- package/build/cli/utils/cleanup.js +5 -0
- package/build/cli/utils/cleanup.js.map +1 -0
- package/build/cli/utils/commandUtils.d.ts +11 -0
- package/build/cli/utils/commandUtils.js +16 -0
- package/build/cli/utils/commandUtils.js.map +1 -0
- package/build/cli/utils/historyStorage.d.ts +13 -0
- package/build/cli/utils/historyStorage.js +64 -0
- package/build/cli/utils/historyStorage.js.map +1 -0
- package/build/cli/utils/stdio.d.ts +18 -0
- package/build/cli/utils/stdio.js +58 -0
- package/build/cli/utils/stdio.js.map +1 -0
- package/build/cli/utils/terminal.d.ts +15 -0
- package/build/cli/utils/terminal.js +51 -0
- package/build/cli/utils/terminal.js.map +1 -0
- package/build/cli/utils/textUtil.d.ts +63 -0
- package/build/cli/utils/textUtil.js +231 -0
- package/build/cli/utils/textUtil.js.map +1 -0
- package/build/config.d.ts +25 -0
- package/{dist/src → build}/config.js +29 -8
- package/build/config.js.map +1 -0
- package/build/index.d.ts +2 -0
- package/{dist/src → build}/index.js +0 -3
- package/build/index.js.map +1 -0
- package/{dist/src → build}/server.d.ts +0 -1
- package/{dist/src → build}/server.js +1 -2
- package/build/server.js.map +1 -0
- package/{dist/src → build}/setup.d.ts +0 -2
- package/{dist/src → build}/setup.js +2 -4
- package/build/setup.js.map +1 -0
- package/build/shared/configSchema.d.ts +27 -0
- package/build/shared/configSchema.js +31 -0
- package/build/shared/configSchema.js.map +1 -0
- package/build/shared/index.d.ts +3 -0
- package/build/shared/index.js +4 -0
- package/build/shared/index.js.map +1 -0
- package/build/shared/types.d.ts +20 -0
- package/build/shared/types.js +2 -0
- package/build/shared/types.js.map +1 -0
- package/build/shared/utils/debugLogger.d.ts +12 -0
- package/build/shared/utils/debugLogger.js +54 -0
- package/build/shared/utils/debugLogger.js.map +1 -0
- package/{dist/src → build}/tools/create_document_with_properties/index.d.ts +22 -5
- package/{dist/src → build}/tools/create_document_with_properties/index.js +2 -2
- package/build/tools/create_document_with_properties/index.js.map +1 -0
- package/build/tools/create_document_with_properties/params.d.ts +66 -0
- package/{dist/src → build}/tools/create_document_with_properties/params.js +1 -1
- package/build/tools/create_document_with_properties/params.js.map +1 -0
- package/{dist/src → build}/tools/generate_property/index.d.ts +1 -2
- package/{dist/src → build}/tools/generate_property/index.js +1 -1
- package/build/tools/generate_property/index.js.map +1 -0
- package/{dist/src → build}/tools/generate_property/params.d.ts +30 -7
- package/build/tools/generate_property/params.js.map +1 -0
- package/{dist/src → build}/tools/index.d.ts +51 -36
- package/build/tools/index.js +13 -0
- package/build/tools/index.js.map +1 -0
- package/{dist/src → build}/tools/organize_attachments/index.d.ts +1 -2
- package/{dist/src → build}/tools/organize_attachments/index.js +2 -2
- package/build/tools/organize_attachments/index.js.map +1 -0
- package/build/tools/organize_attachments/params.d.ts +122 -0
- package/{dist/src → build}/tools/organize_attachments/params.js +3 -3
- package/build/tools/organize_attachments/params.js.map +1 -0
- package/{dist/src → build}/tools/organize_attachments/utils.d.ts +0 -1
- package/build/tools/organize_attachments/utils.js.map +1 -0
- package/{dist/src → build}/tools/vault/index.d.ts +5 -26
- package/{dist/src → build}/tools/vault/index.js +3 -3
- package/build/tools/vault/index.js.map +1 -0
- package/{dist/src → build}/tools/vault/metrics.d.ts +0 -1
- package/build/tools/vault/metrics.js.map +1 -0
- package/build/tools/vault/params.d.ts +115 -0
- package/{dist/src → build}/tools/vault/params.js +0 -1
- package/build/tools/vault/params.js.map +1 -0
- package/build/tools/vault/types/collect_context.d.ts +1340 -0
- package/{dist/src → build}/tools/vault/types/collect_context.js +1 -1
- package/build/tools/vault/types/collect_context.js.map +1 -0
- package/build/tools/vault/types/list_all.d.ts +387 -0
- package/{dist/src → build}/tools/vault/types/list_all.js +4 -9
- package/build/tools/vault/types/list_all.js.map +1 -0
- package/build/tools/vault/types/read_specific.d.ts +297 -0
- package/{dist/src → build}/tools/vault/types/read_specific.js +1 -3
- package/build/tools/vault/types/read_specific.js.map +1 -0
- package/build/tools/vault/types/search.d.ts +598 -0
- package/{dist/src → build}/tools/vault/types/search.js +8 -16
- package/build/tools/vault/types/search.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/actions/collect_context.d.ts +1 -2
- package/{dist/src → build}/tools/vault/utils/actions/collect_context.js +4 -4
- package/build/tools/vault/utils/actions/collect_context.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/actions/index_rag.d.ts +0 -1
- package/build/tools/vault/utils/actions/index_rag.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/actions/list_all.d.ts +1 -2
- package/{dist/src → build}/tools/vault/utils/actions/list_all.js +1 -1
- package/build/tools/vault/utils/actions/list_all.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/actions/load_memory.d.ts +1 -2
- package/{dist/src → build}/tools/vault/utils/actions/load_memory.js +3 -3
- package/build/tools/vault/utils/actions/load_memory.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/actions/read.d.ts +1 -2
- package/{dist/src → build}/tools/vault/utils/actions/read.js +1 -1
- package/build/tools/vault/utils/actions/read.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/actions/search.d.ts +1 -2
- package/{dist/src → build}/tools/vault/utils/actions/search.js +2 -2
- package/build/tools/vault/utils/actions/search.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/actions/stats.d.ts +0 -1
- package/build/tools/vault/utils/actions/stats.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/constants.d.ts +0 -1
- package/build/tools/vault/utils/constants.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/document.d.ts +0 -6
- package/{dist/src → build}/tools/vault/utils/document.js +0 -1
- package/build/tools/vault/utils/document.js.map +1 -0
- package/{dist/src → build}/tools/vault/utils/shared.d.ts +1 -2
- package/build/tools/vault/utils/shared.js.map +1 -0
- package/build/tools/vault/utils.d.ts +7 -0
- package/build/tools/vault/utils.js +8 -0
- package/build/tools/vault/utils.js.map +1 -0
- package/{dist/src → build}/tools/write_property/index.d.ts +22 -5
- package/{dist/src → build}/tools/write_property/index.js +1 -1
- package/build/tools/write_property/index.js.map +1 -0
- package/build/tools/write_property/params.d.ts +60 -0
- package/build/tools/write_property/params.js.map +1 -0
- package/{dist/src → build}/utils/DirectoryWalker.d.ts +1 -2
- package/build/utils/DirectoryWalker.js.map +1 -0
- package/{dist/src → build}/utils/Embedder.d.ts +0 -1
- package/{dist/src → build}/utils/Embedder.js +1 -1
- package/build/utils/Embedder.js.map +1 -0
- package/{dist/src → build}/utils/Indexer.d.ts +2 -3
- package/{dist/src → build}/utils/Indexer.js +2 -2
- package/build/utils/Indexer.js.map +1 -0
- package/{dist/src → build}/utils/LLMClient.d.ts +0 -5
- package/build/utils/LLMClient.js +53 -0
- package/build/utils/LLMClient.js.map +1 -0
- package/{dist/src → build}/utils/LocalReranker.d.ts +0 -1
- package/{dist/src → build}/utils/LocalReranker.js +1 -1
- package/build/utils/LocalReranker.js.map +1 -0
- package/{dist/src → build}/utils/RAGIndexer.d.ts +1 -2
- package/{dist/src → build}/utils/RAGIndexer.js +8 -11
- package/build/utils/RAGIndexer.js.map +1 -0
- package/build/utils/RerankerClient.d.ts +61 -0
- package/{dist/src → build}/utils/RerankerClient.js +1 -20
- package/build/utils/RerankerClient.js.map +1 -0
- package/{dist/src → build}/utils/VaultManger/VaultManager.d.ts +3 -7
- package/{dist/src → build}/utils/VaultManger/VaultManager.js +17 -20
- package/build/utils/VaultManger/VaultManager.js.map +1 -0
- package/{dist/src → build}/utils/VaultManger/VaultPathError.d.ts +0 -1
- package/build/utils/VaultManger/VaultPathError.js.map +1 -0
- package/build/utils/VaultManger/index.d.ts +3 -0
- package/build/utils/VaultManger/index.js +3 -0
- package/build/utils/VaultManger/index.js.map +1 -0
- package/{dist/src → build}/utils/VaultManger/types.d.ts +1 -2
- package/build/utils/VaultManger/types.js +2 -0
- package/build/utils/VaultManger/types.js.map +1 -0
- package/{dist/src → build}/utils/VaultWatcher.d.ts +0 -1
- package/{dist/src → build}/utils/VaultWatcher.js +1 -1
- package/build/utils/VaultWatcher.js.map +1 -0
- package/{dist/src → build}/utils/VectorDB.d.ts +0 -1
- package/build/utils/VectorDB.js +241 -0
- package/build/utils/VectorDB.js.map +1 -0
- package/{dist/src → build}/utils/constants.d.ts +0 -1
- package/build/utils/constants.js.map +1 -0
- package/{dist/src → build}/utils/createToolError.d.ts +0 -1
- package/build/utils/createToolError.js.map +1 -0
- package/build/utils/getVaultManager.d.ts +2 -0
- package/{dist/src → build}/utils/getVaultManager.js +1 -7
- package/build/utils/getVaultManager.js.map +1 -0
- package/{dist/src → build}/utils/processor/LinkExtractor.d.ts +0 -1
- package/build/utils/processor/LinkExtractor.js.map +1 -0
- package/build/utils/processor/MatterParser.d.ts +2 -0
- package/build/utils/processor/MatterParser.js +28 -0
- package/build/utils/processor/MatterParser.js.map +1 -0
- package/build/utils/processor/types.d.ts +104 -0
- package/{dist/src → build}/utils/processor/types.js +2 -10
- package/build/utils/processor/types.js.map +1 -0
- package/{dist/src → build}/utils/semaphore.d.ts +0 -1
- package/build/utils/semaphore.js.map +1 -0
- package/package.json +84 -72
- package/dist/package.json +0 -74
- package/dist/src/config.d.ts +0 -6
- package/dist/src/config.d.ts.map +0 -1
- package/dist/src/config.js.map +0 -1
- package/dist/src/db.d.ts +0 -2
- package/dist/src/db.d.ts.map +0 -1
- package/dist/src/db.js +0 -58
- package/dist/src/db.js.map +0 -1
- package/dist/src/index.d.ts +0 -3
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js.map +0 -1
- package/dist/src/setup.d.ts.map +0 -1
- package/dist/src/setup.js.map +0 -1
- package/dist/src/tools/create_document_with_properties/index.d.ts.map +0 -1
- package/dist/src/tools/create_document_with_properties/index.js.map +0 -1
- package/dist/src/tools/create_document_with_properties/params.d.ts +0 -19
- package/dist/src/tools/create_document_with_properties/params.d.ts.map +0 -1
- package/dist/src/tools/create_document_with_properties/params.js.map +0 -1
- package/dist/src/tools/generate_property/index.d.ts.map +0 -1
- package/dist/src/tools/generate_property/index.js.map +0 -1
- package/dist/src/tools/generate_property/params.d.ts.map +0 -1
- package/dist/src/tools/generate_property/params.js.map +0 -1
- package/dist/src/tools/index.d.ts.map +0 -1
- package/dist/src/tools/index.js +0 -13
- package/dist/src/tools/index.js.map +0 -1
- package/dist/src/tools/organize_attachments/index.d.ts.map +0 -1
- package/dist/src/tools/organize_attachments/index.js.map +0 -1
- package/dist/src/tools/organize_attachments/params.d.ts +0 -47
- package/dist/src/tools/organize_attachments/params.d.ts.map +0 -1
- package/dist/src/tools/organize_attachments/params.js.map +0 -1
- package/dist/src/tools/organize_attachments/utils.d.ts.map +0 -1
- package/dist/src/tools/organize_attachments/utils.js.map +0 -1
- package/dist/src/tools/vault/index.d.ts.map +0 -1
- package/dist/src/tools/vault/index.js.map +0 -1
- package/dist/src/tools/vault/metrics.d.ts.map +0 -1
- package/dist/src/tools/vault/metrics.js.map +0 -1
- package/dist/src/tools/vault/params.d.ts +0 -100
- package/dist/src/tools/vault/params.d.ts.map +0 -1
- package/dist/src/tools/vault/params.js.map +0 -1
- package/dist/src/tools/vault/types/collect_context.d.ts +0 -388
- package/dist/src/tools/vault/types/collect_context.d.ts.map +0 -1
- package/dist/src/tools/vault/types/collect_context.js.map +0 -1
- package/dist/src/tools/vault/types/list_all.d.ts +0 -89
- package/dist/src/tools/vault/types/list_all.d.ts.map +0 -1
- package/dist/src/tools/vault/types/list_all.js.map +0 -1
- package/dist/src/tools/vault/types/read_specific.d.ts +0 -68
- package/dist/src/tools/vault/types/read_specific.d.ts.map +0 -1
- package/dist/src/tools/vault/types/read_specific.js.map +0 -1
- package/dist/src/tools/vault/types/search.d.ts +0 -151
- package/dist/src/tools/vault/types/search.d.ts.map +0 -1
- package/dist/src/tools/vault/types/search.js.map +0 -1
- package/dist/src/tools/vault/utils/actions/collect_context.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/actions/collect_context.js.map +0 -1
- package/dist/src/tools/vault/utils/actions/index_rag.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/actions/index_rag.js.map +0 -1
- package/dist/src/tools/vault/utils/actions/list_all.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/actions/list_all.js.map +0 -1
- package/dist/src/tools/vault/utils/actions/load_memory.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/actions/load_memory.js.map +0 -1
- package/dist/src/tools/vault/utils/actions/read.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/actions/read.js.map +0 -1
- package/dist/src/tools/vault/utils/actions/search.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/actions/search.js.map +0 -1
- package/dist/src/tools/vault/utils/actions/stats.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/actions/stats.js.map +0 -1
- package/dist/src/tools/vault/utils/constants.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/constants.js.map +0 -1
- package/dist/src/tools/vault/utils/document.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/document.js.map +0 -1
- package/dist/src/tools/vault/utils/shared.d.ts.map +0 -1
- package/dist/src/tools/vault/utils/shared.js.map +0 -1
- package/dist/src/tools/vault/utils.d.ts +0 -8
- package/dist/src/tools/vault/utils.d.ts.map +0 -1
- package/dist/src/tools/vault/utils.js +0 -8
- package/dist/src/tools/vault/utils.js.map +0 -1
- package/dist/src/tools/write_property/index.d.ts.map +0 -1
- package/dist/src/tools/write_property/index.js.map +0 -1
- package/dist/src/tools/write_property/params.d.ts +0 -17
- package/dist/src/tools/write_property/params.d.ts.map +0 -1
- package/dist/src/tools/write_property/params.js.map +0 -1
- package/dist/src/utils/DirectoryWalker.d.ts.map +0 -1
- package/dist/src/utils/DirectoryWalker.js.map +0 -1
- package/dist/src/utils/Embedder.d.ts.map +0 -1
- package/dist/src/utils/Embedder.js.map +0 -1
- package/dist/src/utils/Indexer.d.ts.map +0 -1
- package/dist/src/utils/Indexer.js.map +0 -1
- package/dist/src/utils/LLMClient.d.ts.map +0 -1
- package/dist/src/utils/LLMClient.js +0 -112
- package/dist/src/utils/LLMClient.js.map +0 -1
- package/dist/src/utils/LocalReranker.d.ts.map +0 -1
- package/dist/src/utils/LocalReranker.js.map +0 -1
- package/dist/src/utils/RAGIndexer.d.ts.map +0 -1
- package/dist/src/utils/RAGIndexer.js.map +0 -1
- package/dist/src/utils/RerankerClient.d.ts +0 -28
- package/dist/src/utils/RerankerClient.d.ts.map +0 -1
- package/dist/src/utils/RerankerClient.js.map +0 -1
- package/dist/src/utils/VaultManger/VaultManager.d.ts.map +0 -1
- package/dist/src/utils/VaultManger/VaultManager.js.map +0 -1
- package/dist/src/utils/VaultManger/VaultPathError.d.ts.map +0 -1
- package/dist/src/utils/VaultManger/VaultPathError.js.map +0 -1
- package/dist/src/utils/VaultManger/index.d.ts +0 -4
- package/dist/src/utils/VaultManger/index.d.ts.map +0 -1
- package/dist/src/utils/VaultManger/index.js +0 -3
- package/dist/src/utils/VaultManger/index.js.map +0 -1
- package/dist/src/utils/VaultManger/types.d.ts.map +0 -1
- package/dist/src/utils/VaultManger/types.js.map +0 -1
- package/dist/src/utils/VaultWatcher.d.ts.map +0 -1
- package/dist/src/utils/VaultWatcher.js.map +0 -1
- package/dist/src/utils/VectorDB.d.ts.map +0 -1
- package/dist/src/utils/VectorDB.js +0 -305
- package/dist/src/utils/VectorDB.js.map +0 -1
- package/dist/src/utils/constants.d.ts.map +0 -1
- package/dist/src/utils/constants.js.map +0 -1
- package/dist/src/utils/createToolError.d.ts.map +0 -1
- package/dist/src/utils/createToolError.js.map +0 -1
- package/dist/src/utils/getVaultManager.d.ts +0 -7
- package/dist/src/utils/getVaultManager.d.ts.map +0 -1
- package/dist/src/utils/getVaultManager.js.map +0 -1
- package/dist/src/utils/processor/LinkExtractor.d.ts.map +0 -1
- package/dist/src/utils/processor/LinkExtractor.js.map +0 -1
- package/dist/src/utils/processor/MatterParser.d.ts +0 -3
- package/dist/src/utils/processor/MatterParser.d.ts.map +0 -1
- package/dist/src/utils/processor/MatterParser.js +0 -27
- package/dist/src/utils/processor/MatterParser.js.map +0 -1
- package/dist/src/utils/processor/types.d.ts +0 -53
- package/dist/src/utils/processor/types.d.ts.map +0 -1
- package/dist/src/utils/processor/types.js.map +0 -1
- package/dist/src/utils/semaphore.d.ts.map +0 -1
- package/dist/src/utils/semaphore.js.map +0 -1
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- /package/{dist/src/utils/VaultManger → build/cli/hooks/useLlmStream}/types.js +0 -0
- /package/{dist/src → build}/tools/generate_property/params.js +0 -0
- /package/{dist/src → build}/tools/organize_attachments/utils.js +0 -0
- /package/{dist/src → build}/tools/vault/metrics.js +0 -0
- /package/{dist/src → build}/tools/vault/utils/actions/index_rag.js +0 -0
- /package/{dist/src → build}/tools/vault/utils/actions/stats.js +0 -0
- /package/{dist/src → build}/tools/vault/utils/constants.js +0 -0
- /package/{dist/src → build}/tools/vault/utils/shared.js +0 -0
- /package/{dist/src → build}/tools/write_property/params.js +0 -0
- /package/{dist/src → build}/utils/DirectoryWalker.js +0 -0
- /package/{dist/src → build}/utils/VaultManger/VaultPathError.js +0 -0
- /package/{dist/src → build}/utils/constants.js +0 -0
- /package/{dist/src → build}/utils/createToolError.js +0 -0
- /package/{dist/src → build}/utils/processor/LinkExtractor.js +0 -0
- /package/{dist/src → build}/utils/semaphore.js +0 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { stripVTControlCharacters } from "node:util";
|
|
2
|
+
import { LRU_BUFFER_PERF_CACHE_LIMIT } from "../constants.js";
|
|
3
|
+
import ansiRegex from "ansi-regex";
|
|
4
|
+
import { LRUCache } from "mnemonist";
|
|
5
|
+
import stringWidth from "string-width";
|
|
6
|
+
import stripAnsi from "strip-ansi";
|
|
7
|
+
/**
|
|
8
|
+
* Calculates the maximum width of a multi-line ASCII art string.
|
|
9
|
+
* @param asciiArt The ASCII art string.
|
|
10
|
+
* @returns The length of the longest line in the ASCII art.
|
|
11
|
+
*/
|
|
12
|
+
export const getAsciiArtWidth = (asciiArt) => {
|
|
13
|
+
if (!asciiArt) {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
const lines = asciiArt.split("\n");
|
|
17
|
+
return Math.max(...lines.map((line) => line.length));
|
|
18
|
+
};
|
|
19
|
+
/*
|
|
20
|
+
* -------------------------------------------------------------------------
|
|
21
|
+
* Unicode‑aware helpers (work at the code‑point level rather than UTF‑16
|
|
22
|
+
* code units so that surrogate‑pair emoji count as one "column".)
|
|
23
|
+
* ---------------------------------------------------------------------- */
|
|
24
|
+
/**
|
|
25
|
+
* Checks if a string contains only ASCII characters (0-127).
|
|
26
|
+
*/
|
|
27
|
+
export function isAscii(str) {
|
|
28
|
+
for (let i = 0; i < str.length; i++) {
|
|
29
|
+
if (str.charCodeAt(i) > 127) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
// Cache for code points
|
|
36
|
+
const MAX_STRING_LENGTH_TO_CACHE = 1000;
|
|
37
|
+
const codePointsCache = new LRUCache(LRU_BUFFER_PERF_CACHE_LIMIT);
|
|
38
|
+
export function toCodePoints(str) {
|
|
39
|
+
// ASCII fast path
|
|
40
|
+
if (isAscii(str)) {
|
|
41
|
+
return str.split("");
|
|
42
|
+
}
|
|
43
|
+
// Cache short strings
|
|
44
|
+
if (str.length <= MAX_STRING_LENGTH_TO_CACHE) {
|
|
45
|
+
const cached = codePointsCache.get(str);
|
|
46
|
+
if (cached !== undefined) {
|
|
47
|
+
return cached;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
const result = Array.from(str);
|
|
51
|
+
// Cache result
|
|
52
|
+
if (str.length <= MAX_STRING_LENGTH_TO_CACHE) {
|
|
53
|
+
codePointsCache.set(str, result);
|
|
54
|
+
}
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
export function cpLen(str) {
|
|
58
|
+
if (isAscii(str)) {
|
|
59
|
+
return str.length;
|
|
60
|
+
}
|
|
61
|
+
return toCodePoints(str).length;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Converts a code point index to a UTF-16 code unit offset.
|
|
65
|
+
*/
|
|
66
|
+
export function cpIndexToOffset(str, cpIndex) {
|
|
67
|
+
return cpSlice(str, 0, cpIndex).length;
|
|
68
|
+
}
|
|
69
|
+
export function cpSlice(str, start, end) {
|
|
70
|
+
if (isAscii(str)) {
|
|
71
|
+
return str.slice(start, end);
|
|
72
|
+
}
|
|
73
|
+
// Slice by code‑point indices and re‑join.
|
|
74
|
+
const arr = toCodePoints(str).slice(start, end);
|
|
75
|
+
return arr.join("");
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Strip characters that can break terminal rendering.
|
|
79
|
+
*
|
|
80
|
+
* This is a strict sanitization function intended for general display
|
|
81
|
+
* contexts. It strips all C1 control characters (0x80-0x9F) and VT
|
|
82
|
+
* control sequences. For list display contexts where a more lenient
|
|
83
|
+
* approach is needed (preserving C1 characters and only stripping ANSI
|
|
84
|
+
* codes and newlines/tabs), use a separate function instead.
|
|
85
|
+
*
|
|
86
|
+
* Processing order:
|
|
87
|
+
* 1. stripAnsi removes ANSI escape sequences (including 8-bit CSI 0x9B)
|
|
88
|
+
* 2. Regex strips C0, C1, BiDi, and zero-width control characters
|
|
89
|
+
* 3. stripVTControlCharacters removes any remaining VT sequences
|
|
90
|
+
*
|
|
91
|
+
* Characters stripped:
|
|
92
|
+
* - ANSI escape sequences (via strip-ansi)
|
|
93
|
+
* - VT control sequences (via Node.js util.stripVTControlCharacters)
|
|
94
|
+
* - C0 control chars (0x00-0x1F) except TAB(0x09), LF(0x0A), CR(0x0D)
|
|
95
|
+
* - C1 control chars (0x80-0x9F) that can cause display issues
|
|
96
|
+
* - BiDi control chars (U+200E, U+200F, U+202A-U+202E, U+2066-U+2069)
|
|
97
|
+
* - Zero-width chars (U+200B, U+FEFF)
|
|
98
|
+
*
|
|
99
|
+
* Characters preserved:
|
|
100
|
+
* - All printable Unicode including emojis
|
|
101
|
+
* - ZWJ (U+200D) - needed for complex emoji sequences
|
|
102
|
+
* - ZWNJ (U+200C) - preserve zero-width non-joiner
|
|
103
|
+
* - DEL (0x7F) - handled functionally by applyOperations, not a display issue
|
|
104
|
+
* - CR/LF (0x0D/0x0A) - needed for line breaks
|
|
105
|
+
* - TAB (0x09) - preserve tabs
|
|
106
|
+
*/
|
|
107
|
+
export function stripUnsafeCharacters(str) {
|
|
108
|
+
const strippedAnsi = stripAnsi(str);
|
|
109
|
+
// Strip C0, C1, and other unsafe characters via regex first.
|
|
110
|
+
// This is more efficient than multiple replaces and crucially removes C1
|
|
111
|
+
// characters (e.g., 0x90 DCS) before they can be misinterpreted by
|
|
112
|
+
// stripVTControlCharacters, which could otherwise cause data loss.
|
|
113
|
+
const strippedWithRegex = strippedAnsi.replace(
|
|
114
|
+
// biome-ignore lint/suspicious/noControlCharactersInRegex:터미널 입력을 파싱하기 위한 정규식입니다.
|
|
115
|
+
/[\x00-\x08\x0B\x0C\x0E-\x1F\x80-\x9F\u200E\u200F\u202A-\u202E\u2066-\u2069\u200B\uFEFF]/g, "");
|
|
116
|
+
// Finally, use stripVTControlCharacters for any remaining VT sequences
|
|
117
|
+
// that the regex might not cover.
|
|
118
|
+
return stripVTControlCharacters(strippedWithRegex);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Sanitize a string for display in inline UI components (e.g. Help, Suggestions).
|
|
122
|
+
* Removes ANSI codes, dangerous control characters, collapses whitespace
|
|
123
|
+
* characters into a single space, and optionally truncates.
|
|
124
|
+
*/
|
|
125
|
+
export function sanitizeForDisplay(str, maxLength) {
|
|
126
|
+
if (!str) {
|
|
127
|
+
return "";
|
|
128
|
+
}
|
|
129
|
+
let sanitized = stripUnsafeCharacters(str).replace(/\s+/g, " ");
|
|
130
|
+
if (maxLength && sanitized.length > maxLength) {
|
|
131
|
+
sanitized = `${sanitized.substring(0, maxLength - 3)}...`;
|
|
132
|
+
}
|
|
133
|
+
return sanitized;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Normalizes escaped newline characters (e.g., "\\n") into actual newline characters.
|
|
137
|
+
*/
|
|
138
|
+
export function normalizeEscapedNewlines(value) {
|
|
139
|
+
return value.replace(/\\r\\n/g, "\n").replace(/\\n/g, "\n");
|
|
140
|
+
}
|
|
141
|
+
const stringWidthCache = new LRUCache(LRU_BUFFER_PERF_CACHE_LIMIT);
|
|
142
|
+
/**
|
|
143
|
+
* Cached version of stringWidth function for better performance
|
|
144
|
+
*/
|
|
145
|
+
export const getCachedStringWidth = (str) => {
|
|
146
|
+
// ASCII printable chars (32-126) have width 1.
|
|
147
|
+
// This is a very frequent path, so we use a fast numeric check.
|
|
148
|
+
if (str.length === 1) {
|
|
149
|
+
const code = str.charCodeAt(0);
|
|
150
|
+
if (code >= 0x20 && code <= 0x7e) {
|
|
151
|
+
return 1;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const cached = stringWidthCache.get(str);
|
|
155
|
+
if (cached !== undefined) {
|
|
156
|
+
return cached;
|
|
157
|
+
}
|
|
158
|
+
let width;
|
|
159
|
+
try {
|
|
160
|
+
width = stringWidth(str);
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// Fallback for characters that cause string-width to crash (e.g. U+0602)
|
|
164
|
+
// See: https://github.com/google-gemini/gemini-cli/issues/16418
|
|
165
|
+
width = toCodePoints(stripAnsi(str)).length;
|
|
166
|
+
}
|
|
167
|
+
stringWidthCache.set(str, width);
|
|
168
|
+
return width;
|
|
169
|
+
};
|
|
170
|
+
const regex = ansiRegex();
|
|
171
|
+
/* Recursively traverses a JSON-like structure (objects, arrays, primitives)
|
|
172
|
+
* and escapes all ANSI control characters found in any string values.
|
|
173
|
+
*
|
|
174
|
+
* This function is designed to be robust, handling deeply nested objects and
|
|
175
|
+
* arrays. It applies a regex-based replacement to all string values to
|
|
176
|
+
* safely escape control characters.
|
|
177
|
+
*
|
|
178
|
+
* To optimize performance, this function uses a "copy-on-write" strategy.
|
|
179
|
+
* It avoids allocating new objects or arrays if no nested string values
|
|
180
|
+
* required escaping, returning the original object reference in such cases.
|
|
181
|
+
*
|
|
182
|
+
* @param obj The JSON-like value (object, array, string, etc.) to traverse.
|
|
183
|
+
* @returns A new value with all nested string fields escaped, or the
|
|
184
|
+
* original `obj` reference if no changes were necessary.
|
|
185
|
+
*/
|
|
186
|
+
export function escapeAnsiCtrlCodes(obj) {
|
|
187
|
+
if (typeof obj === "string") {
|
|
188
|
+
if (obj.search(regex) === -1) {
|
|
189
|
+
return obj; // No changes return original string
|
|
190
|
+
}
|
|
191
|
+
regex.lastIndex = 0; // needed for global regex
|
|
192
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
193
|
+
return obj.replace(regex, (match) => JSON.stringify(match).slice(1, -1));
|
|
194
|
+
}
|
|
195
|
+
if (obj === null || typeof obj !== "object") {
|
|
196
|
+
return obj;
|
|
197
|
+
}
|
|
198
|
+
if (Array.isArray(obj)) {
|
|
199
|
+
let newArr = null;
|
|
200
|
+
for (let i = 0; i < obj.length; i++) {
|
|
201
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
202
|
+
const value = obj[i];
|
|
203
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
204
|
+
const escapedValue = escapeAnsiCtrlCodes(value);
|
|
205
|
+
if (escapedValue !== value) {
|
|
206
|
+
if (newArr === null) {
|
|
207
|
+
newArr = [...obj];
|
|
208
|
+
}
|
|
209
|
+
newArr[i] = escapedValue;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
213
|
+
return (newArr !== null ? newArr : obj);
|
|
214
|
+
}
|
|
215
|
+
let newObj = null;
|
|
216
|
+
const keys = Object.keys(obj);
|
|
217
|
+
for (const key of keys) {
|
|
218
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
219
|
+
const value = obj[key];
|
|
220
|
+
const escapedValue = escapeAnsiCtrlCodes(value);
|
|
221
|
+
if (escapedValue !== value) {
|
|
222
|
+
if (newObj === null) {
|
|
223
|
+
newObj = { ...obj };
|
|
224
|
+
}
|
|
225
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
226
|
+
newObj[key] = escapedValue;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return newObj !== null ? newObj : obj;
|
|
230
|
+
}
|
|
231
|
+
//# sourceMappingURL=textUtil.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textUtil.js","sourceRoot":"","sources":["../../../src/cli/utils/textUtil.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,WAAW,MAAM,cAAc,CAAC;AACvC,OAAO,SAAS,MAAM,YAAY,CAAC;AAEnC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAO,CAAC,CAAC;IACV,CAAC;IACD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF;;;;4EAI4E;AAE5E;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,GAAW;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACd,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,wBAAwB;AACxB,MAAM,0BAA0B,GAAG,IAAI,CAAC;AACxC,MAAM,eAAe,GAAG,IAAI,QAAQ,CACnC,2BAA2B,CAC3B,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,GAAW;IACvC,kBAAkB;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtB,CAAC;IAED,sBAAsB;IACtB,IAAI,GAAG,CAAC,MAAM,IAAI,0BAA0B,EAAE,CAAC;QAC9C,MAAM,MAAM,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC;QACf,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE/B,eAAe;IACf,IAAI,GAAG,CAAC,MAAM,IAAI,0BAA0B,EAAE,CAAC;QAC9C,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,GAAW;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,OAAe;IAC3D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAY;IAC/D,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,2CAA2C;IAC3C,MAAM,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChD,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAChD,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAEpC,6DAA6D;IAC7D,yEAAyE;IACzE,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO;IAC7C,kFAAkF;IAClF,0FAA0F,EAC1F,EAAE,CACF,CAAC;IAEF,uEAAuE;IACvE,kCAAkC;IAClC,OAAO,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;AACpD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW,EAAE,SAAkB;IACjE,IAAI,CAAC,GAAG,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEhE,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QAC/C,SAAS,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC;IAC3D,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACrD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CACpC,2BAA2B,CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAU,EAAE;IAC3D,+CAA+C;IAC/C,gEAAgE;IAChE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YAClC,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC;IACf,CAAC;IAED,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACJ,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC;QACR,yEAAyE;QACzE,gEAAgE;QAChE,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC;IAED,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAEjC,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;AAE1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAI,GAAM;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC,CAAC,oCAAoC;QACjD,CAAC;QAED,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,0BAA0B;QAC/C,uEAAuE;QACvE,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACnC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAC7B,CAAC;IACR,CAAC;IAED,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,IAAI,MAAM,GAAqB,IAAI,CAAC;QAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,mEAAmE;YACnE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YACrB,mEAAmE;YACnE,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;gBAC5B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;gBACnB,CAAC;gBACD,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;YAC1B,CAAC;QACF,CAAC;QACD,uEAAuE;QACvE,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAM,CAAC;IAC9C,CAAC;IAED,IAAI,MAAM,GAAa,IAAI,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAE9B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACxB,uEAAuE;QACvE,MAAM,KAAK,GAAI,GAA+B,CAAC,GAAG,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,YAAY,KAAK,KAAK,EAAE,CAAC;YAC5B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;YACrB,CAAC;YACD,uEAAuE;YACtE,MAAkC,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC;QACzD,CAAC;IACF,CAAC;IAED,OAAO,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const configSchema: z.ZodObject<{
|
|
3
|
+
vaultPath: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>;
|
|
4
|
+
loggingLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
|
|
5
|
+
llmApiUrl: z.ZodDefault<z.ZodString>;
|
|
6
|
+
llmChatModel: z.ZodDefault<z.ZodString>;
|
|
7
|
+
llmRerankerApiUrl: z.ZodDefault<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
vaultPath: string;
|
|
10
|
+
loggingLevel: "debug" | "info" | "warn" | "error";
|
|
11
|
+
llmApiUrl: string;
|
|
12
|
+
llmChatModel: string;
|
|
13
|
+
llmRerankerApiUrl: string;
|
|
14
|
+
}, {
|
|
15
|
+
vaultPath: string;
|
|
16
|
+
loggingLevel?: "debug" | "info" | "warn" | "error" | undefined;
|
|
17
|
+
llmApiUrl?: string | undefined;
|
|
18
|
+
llmChatModel?: string | undefined;
|
|
19
|
+
llmRerankerApiUrl?: string | undefined;
|
|
20
|
+
}>;
|
|
21
|
+
export type ObsidianMcpConfig = z.infer<typeof configSchema>;
|
|
22
|
+
declare const state: ObsidianMcpConfig;
|
|
23
|
+
export declare function getOptions(): ObsidianMcpConfig | false;
|
|
24
|
+
export declare function setLocalLLMEnvSetting(): void;
|
|
25
|
+
export default state;
|
|
@@ -1,15 +1,40 @@
|
|
|
1
|
+
import { existsSync, statSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
1
3
|
import { env } from "@huggingface/transformers";
|
|
2
|
-
import { configSchema } from "@sunub/obsidian-mcp-core";
|
|
3
4
|
import { Command } from "commander";
|
|
4
5
|
import dotenv from "dotenv";
|
|
6
|
+
import { z } from "zod";
|
|
5
7
|
import { MODELS_DIR } from "./utils/constants.js";
|
|
6
|
-
dotenv.config({ debug: false });
|
|
8
|
+
dotenv.config({ debug: false, quiet: true });
|
|
9
|
+
const vaultPathSchema = z
|
|
10
|
+
.string()
|
|
11
|
+
.min(1, "Vault path는 비어 있을 수 없습니다.")
|
|
12
|
+
.trim()
|
|
13
|
+
.transform((val) => resolve(val)) // 입력받은 경로를 절대 경로로 변환
|
|
14
|
+
.refine((val) => existsSync(val), {
|
|
15
|
+
message: "파일 시스템에 해당 경로가 존재하지 않습니다.",
|
|
16
|
+
})
|
|
17
|
+
.refine((val) => {
|
|
18
|
+
try {
|
|
19
|
+
return statSync(val).isDirectory();
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}, {
|
|
25
|
+
message: "지정된 경로가 디렉토리가 아닙니다.",
|
|
26
|
+
});
|
|
27
|
+
export const configSchema = z.object({
|
|
28
|
+
vaultPath: vaultPathSchema,
|
|
29
|
+
loggingLevel: z.enum(["debug", "info", "warn", "error"]).default("info"),
|
|
30
|
+
llmApiUrl: z.string().url().default("http://127.0.0.1:8080"),
|
|
31
|
+
llmChatModel: z.string().default("llama3"),
|
|
32
|
+
llmRerankerApiUrl: z.string().url().default("http://127.0.0.1:8082"),
|
|
33
|
+
});
|
|
7
34
|
const _rawConfig = {
|
|
8
35
|
vaultPath: process.env["VAULT_DIR_PATH"] || "",
|
|
9
36
|
loggingLevel: "info",
|
|
10
37
|
llmApiUrl: process.env["LLM_API_URL"] || "http://127.0.0.1:8080",
|
|
11
|
-
llmEmbeddingApiUrl: process.env["LLM_EMBEDDING_API_URL"] || "http://127.0.0.1:8081",
|
|
12
|
-
llmEmbeddingModel: process.env["LLM_EMBEDDING_MODEL"] || "nomic-embed-text",
|
|
13
38
|
llmChatModel: process.env["LLM_CHAT_MODEL"] || "llama3",
|
|
14
39
|
llmRerankerApiUrl: process.env["LLM_RERANKER_API_URL"] || "http://127.0.0.1:8082",
|
|
15
40
|
};
|
|
@@ -27,8 +52,6 @@ export function getOptions() {
|
|
|
27
52
|
.option("--vault-path <path>", "Path to the Obsidian vault directory", process.env["VAULT_DIR_PATH"] ?? "")
|
|
28
53
|
.option("--logging-level <level>", "Logging level (debug, info, warn, error)", process.env["LOGGING_LEVEL"] ?? "info")
|
|
29
54
|
.option("--llm-api-url <url>", "LLM Chat API URL", process.env["LLM_API_URL"] ?? "http://127.0.0.1:8080")
|
|
30
|
-
.option("--llm-embedding-api-url <url>", "LLM Embedding API URL", process.env["LLM_EMBEDDING_API_URL"] ?? "http://127.0.0.1:8081")
|
|
31
|
-
.option("--llm-embedding-model <model>", "LLM Embedding Model", process.env["LLM_EMBEDDING_MODEL"] ?? "nomic-embed-text")
|
|
32
55
|
.option("--llm-chat-model <model>", "LLM Chat Model", process.env["LLM_CHAT_MODEL"] ?? "llama3")
|
|
33
56
|
.allowUnknownOption()
|
|
34
57
|
.parse(process.argv);
|
|
@@ -45,8 +68,6 @@ export function getOptions() {
|
|
|
45
68
|
state.vaultPath = parseResult.data.vaultPath;
|
|
46
69
|
state.loggingLevel = parseResult.data.loggingLevel;
|
|
47
70
|
state.llmApiUrl = parseResult.data.llmApiUrl;
|
|
48
|
-
state.llmEmbeddingApiUrl = parseResult.data.llmEmbeddingApiUrl;
|
|
49
|
-
state.llmEmbeddingModel = parseResult.data.llmEmbeddingModel;
|
|
50
71
|
state.llmChatModel = parseResult.data.llmChatModel;
|
|
51
72
|
return state;
|
|
52
73
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/build/index.d.ts
ADDED
|
@@ -30,9 +30,6 @@ async function main() {
|
|
|
30
30
|
console.error(chalk.yellow("ℹ Basic Keyword Search is active. Run 'bunx obsidian-mcp-setup' to enable Hybrid Search.\n"));
|
|
31
31
|
}
|
|
32
32
|
try {
|
|
33
|
-
if (!options.vaultPath) {
|
|
34
|
-
throw new Error("Vault path is required.");
|
|
35
|
-
}
|
|
36
33
|
vaultWatcher.start(options.vaultPath).catch((error) => {
|
|
37
34
|
console.error(chalk.red("[VaultWatcher] Background indexing error:"), error);
|
|
38
35
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import tools from "./tools/index.js";
|
|
3
2
|
import pkg from "../package.json" with { type: "json" };
|
|
3
|
+
import tools from "./tools/index.js";
|
|
4
4
|
export default function createMcpServer() {
|
|
5
5
|
const mcpServer = new McpServer({
|
|
6
6
|
version: pkg.version,
|
|
@@ -28,7 +28,6 @@ export default function createMcpServer() {
|
|
|
28
28
|
Environment requirements:
|
|
29
29
|
- VAULT_DIR_PATH: Path to your Obsidian vault directory.
|
|
30
30
|
- LLM_API_URL: (Optional) Remote chat server URL (default: http://127.0.0.1:8080).
|
|
31
|
-
- LLM_EMBEDDING_API_URL: (Optional) Remote embedding server URL (default: http://127.0.0.1:8081).
|
|
32
31
|
|
|
33
32
|
Local Search Optimization:
|
|
34
33
|
- To enable high-performance local hybrid search, run 'bunx obsidian-mcp-setup' once.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AACxD,OAAO,KAAK,MAAM,kBAAkB,CAAC;AAErC,MAAM,CAAC,OAAO,UAAU,eAAe;IACtC,MAAM,SAAS,GAAG,IAAI,SAAS,CAC9B;QACC,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;KAC5B,EACD;QACC,YAAY,EAAE;YACb,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;SAC7B;QACD,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;QAoBT;KACL,CACD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
import { fileURLToPath } from "node:url";
|
|
3
2
|
import { env, pipeline } from "@huggingface/transformers";
|
|
4
3
|
import chalk from "chalk";
|
|
@@ -101,9 +100,8 @@ export async function setup(options = { force: false }) {
|
|
|
101
100
|
return finalResults.every((r) => r);
|
|
102
101
|
}
|
|
103
102
|
const isMain = process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1];
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
process.argv[1]?.endsWith("obsidian-mcp-setup")) {
|
|
103
|
+
console.log(isMain, import.meta.url);
|
|
104
|
+
if (isMain || process.argv[1]?.endsWith("setup.js")) {
|
|
107
105
|
setup({ force: true })
|
|
108
106
|
.catch((error) => {
|
|
109
107
|
console.error(chalk.red("\n🚨 Fatal error during setup:"), error);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export declare const configSchema: z.ZodObject<{
|
|
3
|
+
vaultPath: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>, string, string>>;
|
|
4
|
+
loggingLevel: z.ZodDefault<z.ZodEnum<["debug", "info", "warn", "error"]>>;
|
|
5
|
+
llmApiUrl: z.ZodDefault<z.ZodString>;
|
|
6
|
+
llmEmbeddingApiUrl: z.ZodDefault<z.ZodString>;
|
|
7
|
+
llmEmbeddingModel: z.ZodDefault<z.ZodString>;
|
|
8
|
+
llmChatModel: z.ZodDefault<z.ZodString>;
|
|
9
|
+
llmRerankerApiUrl: z.ZodDefault<z.ZodString>;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
loggingLevel: "debug" | "info" | "warn" | "error";
|
|
12
|
+
llmApiUrl: string;
|
|
13
|
+
llmChatModel: string;
|
|
14
|
+
llmRerankerApiUrl: string;
|
|
15
|
+
llmEmbeddingApiUrl: string;
|
|
16
|
+
llmEmbeddingModel: string;
|
|
17
|
+
vaultPath?: string | undefined;
|
|
18
|
+
}, {
|
|
19
|
+
vaultPath?: string | undefined;
|
|
20
|
+
loggingLevel?: "debug" | "info" | "warn" | "error" | undefined;
|
|
21
|
+
llmApiUrl?: string | undefined;
|
|
22
|
+
llmChatModel?: string | undefined;
|
|
23
|
+
llmRerankerApiUrl?: string | undefined;
|
|
24
|
+
llmEmbeddingApiUrl?: string | undefined;
|
|
25
|
+
llmEmbeddingModel?: string | undefined;
|
|
26
|
+
}>;
|
|
27
|
+
export type ObsidianMcpConfig = z.infer<typeof configSchema>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { existsSync, statSync } from "node:fs";
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { z } from "zod";
|
|
4
|
+
const vaultPathSchema = z
|
|
5
|
+
.string()
|
|
6
|
+
.min(1, "Vault path는 비어 있을 수 없습니다.")
|
|
7
|
+
.trim()
|
|
8
|
+
.transform((val) => resolve(val)) // 입력받은 경로를 절대 경로로 변환
|
|
9
|
+
.refine((val) => existsSync(val), {
|
|
10
|
+
message: "파일 시스템에 해당 경로가 존재하지 않습니다.",
|
|
11
|
+
})
|
|
12
|
+
.refine((val) => {
|
|
13
|
+
try {
|
|
14
|
+
return statSync(val).isDirectory();
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
}, {
|
|
20
|
+
message: "지정된 경로가 디렉토리가 아닙니다.",
|
|
21
|
+
});
|
|
22
|
+
export const configSchema = z.object({
|
|
23
|
+
vaultPath: vaultPathSchema.optional(), // Allow optional for CLI fallback building
|
|
24
|
+
loggingLevel: z.enum(["debug", "info", "warn", "error"]).default("info"),
|
|
25
|
+
llmApiUrl: z.string().url().default("http://127.0.0.1:8080"),
|
|
26
|
+
llmEmbeddingApiUrl: z.string().url().default("http://127.0.0.1:8081"),
|
|
27
|
+
llmEmbeddingModel: z.string().default("nomic-embed-text"),
|
|
28
|
+
llmChatModel: z.string().default("llama3"),
|
|
29
|
+
llmRerankerApiUrl: z.string().url().default("http://127.0.0.1:8082"),
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=configSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configSchema.js","sourceRoot":"","sources":["../../src/shared/configSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,eAAe,GAAG,CAAC;KACvB,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;KACnC,IAAI,EAAE;KACN,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;KACtD,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;IACjC,OAAO,EAAE,2BAA2B;CACpC,CAAC;KACD,MAAM,CACN,CAAC,GAAG,EAAE,EAAE;IACP,IAAI,CAAC;QACJ,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,KAAK,CAAC;IACd,CAAC;AACF,CAAC,EACD;IACC,OAAO,EAAE,qBAAqB;CAC9B,CACD,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE,EAAE,2CAA2C;IAClF,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACxE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IAC5D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;IACrE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACzD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC1C,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;CACpE,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type HistoryType = "user" | "assistant" | "error" | "info";
|
|
2
|
+
export interface HistoryItem {
|
|
3
|
+
id: number;
|
|
4
|
+
type: HistoryType;
|
|
5
|
+
content: string;
|
|
6
|
+
timestamp: number;
|
|
7
|
+
}
|
|
8
|
+
/** MCP 도구 호출 결과 (SDK의 CallToolResult 경량 재정의) */
|
|
9
|
+
export interface McpToolResult {
|
|
10
|
+
isError?: boolean;
|
|
11
|
+
content: Array<{
|
|
12
|
+
type: string;
|
|
13
|
+
text?: string;
|
|
14
|
+
}>;
|
|
15
|
+
}
|
|
16
|
+
/** MCP callTool 함수 시그니처 */
|
|
17
|
+
export type CallToolFn = (name: string, args: Record<string, unknown>) => Promise<McpToolResult>;
|
|
18
|
+
/** MCP 클라이언트 연결 상태 */
|
|
19
|
+
export type McpConnectionState = "disconnected" | "connecting" | "connected" | "error";
|
|
20
|
+
export type StreamingState = "idle" | "thinking" | "streaming" | "executing" | "error";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/shared/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare class DebugLogger {
|
|
2
|
+
private logStream;
|
|
3
|
+
constructor();
|
|
4
|
+
private writeToFile;
|
|
5
|
+
info(...args: unknown[]): void;
|
|
6
|
+
log(...args: unknown[]): void;
|
|
7
|
+
warn(...args: unknown[]): void;
|
|
8
|
+
error(...args: unknown[]): void;
|
|
9
|
+
debug(...args: unknown[]): void;
|
|
10
|
+
}
|
|
11
|
+
export declare const debugLogger: DebugLogger;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import * as fs from "node:fs";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import * as util from "node:util";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import dotenv from "dotenv";
|
|
6
|
+
dotenv.config();
|
|
7
|
+
class DebugLogger {
|
|
8
|
+
logStream;
|
|
9
|
+
constructor() {
|
|
10
|
+
const logFilePath = process.env["DEBUG_LOG_FILE"] || "logs/debug.log";
|
|
11
|
+
if (logFilePath) {
|
|
12
|
+
const logDir = dirname(logFilePath);
|
|
13
|
+
if (!fs.existsSync(logDir)) {
|
|
14
|
+
fs.mkdirSync(logDir, { recursive: true });
|
|
15
|
+
}
|
|
16
|
+
this.logStream = fs.createWriteStream(logFilePath, {
|
|
17
|
+
flags: "a",
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
this.logStream?.on("error", (err) => {
|
|
21
|
+
console.error(chalk.red("[STREAM_ERROR]"), chalk.gray(util.format("Error writing to debug log stream:", err)));
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
writeToFile(level, args) {
|
|
25
|
+
if (this.logStream) {
|
|
26
|
+
const message = util.format(...args);
|
|
27
|
+
const timestamp = new Date().toISOString();
|
|
28
|
+
const logEntry = `[${timestamp}] [${level}] ${message}\n`;
|
|
29
|
+
this.logStream.write(logEntry);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
info(...args) {
|
|
33
|
+
this.writeToFile("INFO", args);
|
|
34
|
+
console.error(chalk.green("[INFO]"), chalk.green(util.format(...args)));
|
|
35
|
+
}
|
|
36
|
+
log(...args) {
|
|
37
|
+
this.writeToFile("LOG", args);
|
|
38
|
+
console.error(chalk.blue("[LOG]"), chalk.gray(util.format(...args)));
|
|
39
|
+
}
|
|
40
|
+
warn(...args) {
|
|
41
|
+
this.writeToFile("WARN", args);
|
|
42
|
+
console.error(chalk.yellow("[WARN]"), chalk.yellow(util.format(...args)));
|
|
43
|
+
}
|
|
44
|
+
error(...args) {
|
|
45
|
+
this.writeToFile("ERROR", args);
|
|
46
|
+
console.error(chalk.red("[ERROR]"), chalk.red(util.format(...args)));
|
|
47
|
+
}
|
|
48
|
+
debug(...args) {
|
|
49
|
+
this.writeToFile("DEBUG", args);
|
|
50
|
+
console.error(chalk.bgGrey("[DEBUG]"), chalk.bgGrey(util.format(...args)));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export const debugLogger = new DebugLogger();
|
|
54
|
+
//# sourceMappingURL=debugLogger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debugLogger.js","sourceRoot":"","sources":["../../../src/shared/utils/debugLogger.ts"],"names":[],"mappings":"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"}
|