@tecet/ollm 0.1.3
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/LICENSE +201 -0
- package/README.md +529 -0
- package/dist/cli.d.ts +25 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +81173 -0
- package/dist/cli.js.map +7 -0
- package/dist/commands/__tests__/commandRegistry.test.d.ts +2 -0
- package/dist/commands/__tests__/commandRegistry.test.d.ts.map +1 -0
- package/dist/commands/__tests__/commandRegistry.test.js +87 -0
- package/dist/commands/__tests__/commandRegistry.test.js.map +1 -0
- package/dist/commands/__tests__/slashCommandParsing.test.d.ts +10 -0
- package/dist/commands/__tests__/slashCommandParsing.test.d.ts.map +1 -0
- package/dist/commands/__tests__/slashCommandParsing.test.js +294 -0
- package/dist/commands/__tests__/slashCommandParsing.test.js.map +1 -0
- package/dist/commands/commandRegistry.d.ts +70 -0
- package/dist/commands/commandRegistry.d.ts.map +1 -0
- package/dist/commands/commandRegistry.js +378 -0
- package/dist/commands/commandRegistry.js.map +1 -0
- package/dist/commands/comparisonCommands.d.ts +22 -0
- package/dist/commands/comparisonCommands.d.ts.map +1 -0
- package/dist/commands/comparisonCommands.js +85 -0
- package/dist/commands/comparisonCommands.js.map +1 -0
- package/dist/commands/configCommands.d.ts +17 -0
- package/dist/commands/configCommands.d.ts.map +1 -0
- package/dist/commands/configCommands.js +91 -0
- package/dist/commands/configCommands.js.map +1 -0
- package/dist/commands/contextCommands.d.ts +19 -0
- package/dist/commands/contextCommands.d.ts.map +1 -0
- package/dist/commands/contextCommands.js +121 -0
- package/dist/commands/contextCommands.js.map +1 -0
- package/dist/commands/extensionCommands.d.ts +18 -0
- package/dist/commands/extensionCommands.d.ts.map +1 -0
- package/dist/commands/extensionCommands.js +341 -0
- package/dist/commands/extensionCommands.js.map +1 -0
- package/dist/commands/gitCommands.d.ts +20 -0
- package/dist/commands/gitCommands.d.ts.map +1 -0
- package/dist/commands/gitCommands.js +99 -0
- package/dist/commands/gitCommands.js.map +1 -0
- package/dist/commands/homeCommand.d.ts +8 -0
- package/dist/commands/homeCommand.d.ts.map +1 -0
- package/dist/commands/homeCommand.js +18 -0
- package/dist/commands/homeCommand.js.map +1 -0
- package/dist/commands/hookCommands.d.ts +13 -0
- package/dist/commands/hookCommands.d.ts.map +1 -0
- package/dist/commands/hookCommands.js +127 -0
- package/dist/commands/hookCommands.js.map +1 -0
- package/dist/commands/index.d.ts +22 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +21 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/mcpCommands.d.ts +56 -0
- package/dist/commands/mcpCommands.d.ts.map +1 -0
- package/dist/commands/mcpCommands.js +360 -0
- package/dist/commands/mcpCommands.js.map +1 -0
- package/dist/commands/mcpHealthCommands.d.ts +17 -0
- package/dist/commands/mcpHealthCommands.d.ts.map +1 -0
- package/dist/commands/mcpHealthCommands.js +303 -0
- package/dist/commands/mcpHealthCommands.js.map +1 -0
- package/dist/commands/mcpOAuthCommands.d.ts +16 -0
- package/dist/commands/mcpOAuthCommands.d.ts.map +1 -0
- package/dist/commands/mcpOAuthCommands.js +244 -0
- package/dist/commands/mcpOAuthCommands.js.map +1 -0
- package/dist/commands/memoryCommands.d.ts +25 -0
- package/dist/commands/memoryCommands.d.ts.map +1 -0
- package/dist/commands/memoryCommands.js +202 -0
- package/dist/commands/memoryCommands.js.map +1 -0
- package/dist/commands/metricsCommands.d.ts +20 -0
- package/dist/commands/metricsCommands.d.ts.map +1 -0
- package/dist/commands/metricsCommands.js +88 -0
- package/dist/commands/metricsCommands.js.map +1 -0
- package/dist/commands/modeCommands.d.ts +22 -0
- package/dist/commands/modeCommands.d.ts.map +1 -0
- package/dist/commands/modeCommands.js +452 -0
- package/dist/commands/modeCommands.js.map +1 -0
- package/dist/commands/modeShortcuts.d.ts +53 -0
- package/dist/commands/modeShortcuts.d.ts.map +1 -0
- package/dist/commands/modeShortcuts.js +213 -0
- package/dist/commands/modeShortcuts.js.map +1 -0
- package/dist/commands/modelCommands.d.ts +44 -0
- package/dist/commands/modelCommands.d.ts.map +1 -0
- package/dist/commands/modelCommands.js +448 -0
- package/dist/commands/modelCommands.js.map +1 -0
- package/dist/commands/projectCommands.d.ts +24 -0
- package/dist/commands/projectCommands.d.ts.map +1 -0
- package/dist/commands/projectCommands.js +175 -0
- package/dist/commands/projectCommands.js.map +1 -0
- package/dist/commands/providerCommands.d.ts +19 -0
- package/dist/commands/providerCommands.d.ts.map +1 -0
- package/dist/commands/providerCommands.js +87 -0
- package/dist/commands/providerCommands.js.map +1 -0
- package/dist/commands/reasoningCommands.d.ts +20 -0
- package/dist/commands/reasoningCommands.d.ts.map +1 -0
- package/dist/commands/reasoningCommands.js +86 -0
- package/dist/commands/reasoningCommands.js.map +1 -0
- package/dist/commands/reviewCommands.d.ts +20 -0
- package/dist/commands/reviewCommands.d.ts.map +1 -0
- package/dist/commands/reviewCommands.js +89 -0
- package/dist/commands/reviewCommands.js.map +1 -0
- package/dist/commands/sessionCommands.d.ts +41 -0
- package/dist/commands/sessionCommands.d.ts.map +1 -0
- package/dist/commands/sessionCommands.js +242 -0
- package/dist/commands/sessionCommands.js.map +1 -0
- package/dist/commands/snapshotCommands.d.ts +20 -0
- package/dist/commands/snapshotCommands.d.ts.map +1 -0
- package/dist/commands/snapshotCommands.js +297 -0
- package/dist/commands/snapshotCommands.js.map +1 -0
- package/dist/commands/templateCommands.d.ts +24 -0
- package/dist/commands/templateCommands.d.ts.map +1 -0
- package/dist/commands/templateCommands.js +186 -0
- package/dist/commands/templateCommands.js.map +1 -0
- package/dist/commands/themeCommands.d.ts +29 -0
- package/dist/commands/themeCommands.d.ts.map +1 -0
- package/dist/commands/themeCommands.js +179 -0
- package/dist/commands/themeCommands.js.map +1 -0
- package/dist/commands/types.d.ts +50 -0
- package/dist/commands/types.d.ts.map +1 -0
- package/dist/commands/types.js +2 -0
- package/dist/commands/types.js.map +1 -0
- package/dist/commands/utilityCommands.d.ts +29 -0
- package/dist/commands/utilityCommands.d.ts.map +1 -0
- package/dist/commands/utilityCommands.js +495 -0
- package/dist/commands/utilityCommands.js.map +1 -0
- package/dist/commands/workflowCommands.d.ts +56 -0
- package/dist/commands/workflowCommands.d.ts.map +1 -0
- package/dist/commands/workflowCommands.js +484 -0
- package/dist/commands/workflowCommands.js.map +1 -0
- package/dist/config/LLM_profiles.json +1908 -0
- package/dist/config/configLoader.d.ts +30 -0
- package/dist/config/configLoader.d.ts.map +1 -0
- package/dist/config/configLoader.js +380 -0
- package/dist/config/configLoader.js.map +1 -0
- package/dist/config/defaults.d.ts +25 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +137 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/keybinds.d.ts +113 -0
- package/dist/config/keybinds.d.ts.map +1 -0
- package/dist/config/keybinds.js +113 -0
- package/dist/config/keybinds.js.map +1 -0
- package/dist/config/profiles.d.ts +44 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +236 -0
- package/dist/config/profiles.js.map +1 -0
- package/dist/config/schema.d.ts +254 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +160 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/settingsService.d.ts +251 -0
- package/dist/config/settingsService.d.ts.map +1 -0
- package/dist/config/settingsService.js +493 -0
- package/dist/config/settingsService.js.map +1 -0
- package/dist/config/styles.d.ts +28 -0
- package/dist/config/styles.d.ts.map +1 -0
- package/dist/config/styles.js +33 -0
- package/dist/config/styles.js.map +1 -0
- package/dist/config/systemSettings.json +17 -0
- package/dist/config/themes.d.ts +14 -0
- package/dist/config/themes.d.ts.map +1 -0
- package/dist/config/themes.js +248 -0
- package/dist/config/themes.js.map +1 -0
- package/dist/config/toolsConfig.d.ts +53 -0
- package/dist/config/toolsConfig.d.ts.map +1 -0
- package/dist/config/toolsConfig.js +171 -0
- package/dist/config/toolsConfig.js.map +1 -0
- package/dist/config/types.d.ts +306 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +6 -0
- package/dist/config/types.js.map +1 -0
- package/dist/features/chat/ChatProvider.d.ts +24 -0
- package/dist/features/chat/ChatProvider.d.ts.map +1 -0
- package/dist/features/chat/ChatProvider.js +166 -0
- package/dist/features/chat/ChatProvider.js.map +1 -0
- package/dist/features/chat/hooks/useAgentLoop.d.ts +27 -0
- package/dist/features/chat/hooks/useAgentLoop.d.ts.map +1 -0
- package/dist/features/chat/hooks/useAgentLoop.js +253 -0
- package/dist/features/chat/hooks/useAgentLoop.js.map +1 -0
- package/dist/features/chat/hooks/useChatNetwork.d.ts +39 -0
- package/dist/features/chat/hooks/useChatNetwork.d.ts.map +1 -0
- package/dist/features/chat/hooks/useChatNetwork.js +276 -0
- package/dist/features/chat/hooks/useChatNetwork.js.map +1 -0
- package/dist/features/chat/hooks/useChatState.d.ts +32 -0
- package/dist/features/chat/hooks/useChatState.d.ts.map +1 -0
- package/dist/features/chat/hooks/useChatState.js +77 -0
- package/dist/features/chat/hooks/useChatState.js.map +1 -0
- package/dist/features/chat/hooks/useContextEvents.d.ts +22 -0
- package/dist/features/chat/hooks/useContextEvents.d.ts.map +1 -0
- package/dist/features/chat/hooks/useContextEvents.js +160 -0
- package/dist/features/chat/hooks/useContextEvents.js.map +1 -0
- package/dist/features/chat/hooks/useMenuSystem.d.ts +24 -0
- package/dist/features/chat/hooks/useMenuSystem.d.ts.map +1 -0
- package/dist/features/chat/hooks/useMenuSystem.js +71 -0
- package/dist/features/chat/hooks/useMenuSystem.js.map +1 -0
- package/dist/features/chat/hooks/useScrollManager.d.ts +23 -0
- package/dist/features/chat/hooks/useScrollManager.d.ts.map +1 -0
- package/dist/features/chat/hooks/useScrollManager.js +38 -0
- package/dist/features/chat/hooks/useScrollManager.js.map +1 -0
- package/dist/features/chat/hooks/useSessionRecording.d.ts +18 -0
- package/dist/features/chat/hooks/useSessionRecording.d.ts.map +1 -0
- package/dist/features/chat/hooks/useSessionRecording.js +48 -0
- package/dist/features/chat/hooks/useSessionRecording.js.map +1 -0
- package/dist/features/chat/index.d.ts +12 -0
- package/dist/features/chat/index.d.ts.map +1 -0
- package/dist/features/chat/index.js +15 -0
- package/dist/features/chat/index.js.map +1 -0
- package/dist/features/chat/types.d.ts +138 -0
- package/dist/features/chat/types.d.ts.map +1 -0
- package/dist/features/chat/types.js +5 -0
- package/dist/features/chat/types.js.map +1 -0
- package/dist/features/chat/utils/promptUtils.d.ts +21 -0
- package/dist/features/chat/utils/promptUtils.d.ts.map +1 -0
- package/dist/features/chat/utils/promptUtils.js +103 -0
- package/dist/features/chat/utils/promptUtils.js.map +1 -0
- package/dist/features/context/ActiveContextState.d.ts +32 -0
- package/dist/features/context/ActiveContextState.d.ts.map +1 -0
- package/dist/features/context/ActiveContextState.js +284 -0
- package/dist/features/context/ActiveContextState.js.map +1 -0
- package/dist/features/context/ChatContext.d.ts +8 -0
- package/dist/features/context/ChatContext.d.ts.map +1 -0
- package/dist/features/context/ChatContext.js +536 -0
- package/dist/features/context/ChatContext.js.map +1 -0
- package/dist/features/context/ContextManagerContext.d.ts +132 -0
- package/dist/features/context/ContextManagerContext.d.ts.map +1 -0
- package/dist/features/context/ContextManagerContext.js +771 -0
- package/dist/features/context/ContextManagerContext.js.map +1 -0
- package/dist/features/context/ContextStatus.d.ts +43 -0
- package/dist/features/context/ContextStatus.d.ts.map +1 -0
- package/dist/features/context/ContextStatus.js +44 -0
- package/dist/features/context/ContextStatus.js.map +1 -0
- package/dist/features/context/FocusContext.d.ts +267 -0
- package/dist/features/context/FocusContext.d.ts.map +1 -0
- package/dist/features/context/FocusContext.js +324 -0
- package/dist/features/context/FocusContext.js.map +1 -0
- package/dist/features/context/GPUContext.d.ts +25 -0
- package/dist/features/context/GPUContext.d.ts.map +1 -0
- package/dist/features/context/GPUContext.js +64 -0
- package/dist/features/context/GPUContext.js.map +1 -0
- package/dist/features/context/HooksContext.d.ts +42 -0
- package/dist/features/context/HooksContext.d.ts.map +1 -0
- package/dist/features/context/HooksContext.js +310 -0
- package/dist/features/context/HooksContext.js.map +1 -0
- package/dist/features/context/KeybindsContext.d.ts +20 -0
- package/dist/features/context/KeybindsContext.d.ts.map +1 -0
- package/dist/features/context/KeybindsContext.js +80 -0
- package/dist/features/context/KeybindsContext.js.map +1 -0
- package/dist/features/context/ModelContext.d.ts +56 -0
- package/dist/features/context/ModelContext.d.ts.map +1 -0
- package/dist/features/context/ModelContext.js +290 -0
- package/dist/features/context/ModelContext.js.map +1 -0
- package/dist/features/context/ReviewContext.d.ts +50 -0
- package/dist/features/context/ReviewContext.d.ts.map +1 -0
- package/dist/features/context/ReviewContext.js +108 -0
- package/dist/features/context/ReviewContext.js.map +1 -0
- package/dist/features/context/ServiceContext.d.ts +46 -0
- package/dist/features/context/ServiceContext.d.ts.map +1 -0
- package/dist/features/context/ServiceContext.js +162 -0
- package/dist/features/context/ServiceContext.js.map +1 -0
- package/dist/features/context/SessionManager.d.ts +66 -0
- package/dist/features/context/SessionManager.d.ts.map +1 -0
- package/dist/features/context/SessionManager.js +117 -0
- package/dist/features/context/SessionManager.js.map +1 -0
- package/dist/features/context/SettingsContext.d.ts +15 -0
- package/dist/features/context/SettingsContext.d.ts.map +1 -0
- package/dist/features/context/SettingsContext.js +75 -0
- package/dist/features/context/SettingsContext.js.map +1 -0
- package/dist/features/context/SystemMessages.d.ts +27 -0
- package/dist/features/context/SystemMessages.d.ts.map +1 -0
- package/dist/features/context/SystemMessages.js +130 -0
- package/dist/features/context/SystemMessages.js.map +1 -0
- package/dist/features/context/ToolSupportMessages.d.ts +72 -0
- package/dist/features/context/ToolSupportMessages.d.ts.map +1 -0
- package/dist/features/context/ToolSupportMessages.js +116 -0
- package/dist/features/context/ToolSupportMessages.js.map +1 -0
- package/dist/features/context/UIContext.d.ts +43 -0
- package/dist/features/context/UIContext.d.ts.map +1 -0
- package/dist/features/context/UIContext.js +83 -0
- package/dist/features/context/UIContext.js.map +1 -0
- package/dist/features/context/UserPromptContext.d.ts +66 -0
- package/dist/features/context/UserPromptContext.d.ts.map +1 -0
- package/dist/features/context/UserPromptContext.js +176 -0
- package/dist/features/context/UserPromptContext.js.map +1 -0
- package/dist/features/context/__tests__/ModelContext.test.d.ts +5 -0
- package/dist/features/context/__tests__/ModelContext.test.d.ts.map +1 -0
- package/dist/features/context/__tests__/ModelContext.test.js +579 -0
- package/dist/features/context/__tests__/ModelContext.test.js.map +1 -0
- package/dist/features/context/contextSizing.d.ts +48 -0
- package/dist/features/context/contextSizing.d.ts.map +1 -0
- package/dist/features/context/contextSizing.js +87 -0
- package/dist/features/context/contextSizing.js.map +1 -0
- package/dist/features/context/gpuHintStore.d.ts +7 -0
- package/dist/features/context/gpuHintStore.d.ts.map +1 -0
- package/dist/features/context/gpuHintStore.js +15 -0
- package/dist/features/context/gpuHintStore.js.map +1 -0
- package/dist/features/context/gpuHints.d.ts +3 -0
- package/dist/features/context/gpuHints.d.ts.map +1 -0
- package/dist/features/context/gpuHints.js +2 -0
- package/dist/features/context/gpuHints.js.map +1 -0
- package/dist/features/context/handlers/agentLoopHandler.d.ts +58 -0
- package/dist/features/context/handlers/agentLoopHandler.d.ts.map +1 -0
- package/dist/features/context/handlers/agentLoopHandler.js +505 -0
- package/dist/features/context/handlers/agentLoopHandler.js.map +1 -0
- package/dist/features/context/handlers/commandHandler.d.ts +52 -0
- package/dist/features/context/handlers/commandHandler.d.ts.map +1 -0
- package/dist/features/context/handlers/commandHandler.js +107 -0
- package/dist/features/context/handlers/commandHandler.js.map +1 -0
- package/dist/features/context/handlers/contextEventHandlers.d.ts +71 -0
- package/dist/features/context/handlers/contextEventHandlers.d.ts.map +1 -0
- package/dist/features/context/handlers/contextEventHandlers.js +216 -0
- package/dist/features/context/handlers/contextEventHandlers.js.map +1 -0
- package/dist/features/context/hooks/useModelWarmup.d.ts +24 -0
- package/dist/features/context/hooks/useModelWarmup.d.ts.map +1 -0
- package/dist/features/context/hooks/useModelWarmup.js +181 -0
- package/dist/features/context/hooks/useModelWarmup.js.map +1 -0
- package/dist/features/context/hooks/useToolSupport.d.ts +19 -0
- package/dist/features/context/hooks/useToolSupport.d.ts.map +1 -0
- package/dist/features/context/hooks/useToolSupport.js +290 -0
- package/dist/features/context/hooks/useToolSupport.js.map +1 -0
- package/dist/features/context/types/chatTypes.d.ts +150 -0
- package/dist/features/context/types/chatTypes.d.ts.map +1 -0
- package/dist/features/context/types/chatTypes.js +8 -0
- package/dist/features/context/types/chatTypes.js.map +1 -0
- package/dist/features/context/useFocusedFilesInjection.d.ts +17 -0
- package/dist/features/context/useFocusedFilesInjection.d.ts.map +1 -0
- package/dist/features/context/useFocusedFilesInjection.js +37 -0
- package/dist/features/context/useFocusedFilesInjection.js.map +1 -0
- package/dist/features/context/utils/promptUtils.d.ts +28 -0
- package/dist/features/context/utils/promptUtils.d.ts.map +1 -0
- package/dist/features/context/utils/promptUtils.js +105 -0
- package/dist/features/context/utils/promptUtils.js.map +1 -0
- package/dist/features/context/utils/systemPromptBuilder.d.ts +39 -0
- package/dist/features/context/utils/systemPromptBuilder.d.ts.map +1 -0
- package/dist/features/context/utils/systemPromptBuilder.js +66 -0
- package/dist/features/context/utils/systemPromptBuilder.js.map +1 -0
- package/dist/features/hooks/adapter.d.ts +73 -0
- package/dist/features/hooks/adapter.d.ts.map +1 -0
- package/dist/features/hooks/adapter.js +259 -0
- package/dist/features/hooks/adapter.js.map +1 -0
- package/dist/features/hooks/index.d.ts +9 -0
- package/dist/features/hooks/index.d.ts.map +1 -0
- package/dist/features/hooks/index.js +9 -0
- package/dist/features/hooks/index.js.map +1 -0
- package/dist/features/hooks/types.d.ts +128 -0
- package/dist/features/hooks/types.d.ts.map +1 -0
- package/dist/features/hooks/types.js +9 -0
- package/dist/features/hooks/types.js.map +1 -0
- package/dist/features/profiles/ProfileManager.d.ts +56 -0
- package/dist/features/profiles/ProfileManager.d.ts.map +1 -0
- package/dist/features/profiles/ProfileManager.js +429 -0
- package/dist/features/profiles/ProfileManager.js.map +1 -0
- package/dist/features/profiles/__tests__/ProfileManager.integration.test.d.ts +12 -0
- package/dist/features/profiles/__tests__/ProfileManager.integration.test.d.ts.map +1 -0
- package/dist/features/profiles/__tests__/ProfileManager.integration.test.js +156 -0
- package/dist/features/profiles/__tests__/ProfileManager.integration.test.js.map +1 -0
- package/dist/features/profiles/modelUtils.d.ts +12 -0
- package/dist/features/profiles/modelUtils.d.ts.map +1 -0
- package/dist/features/profiles/modelUtils.js +20 -0
- package/dist/features/profiles/modelUtils.js.map +1 -0
- package/dist/features/provider/providerFactory.d.ts +19 -0
- package/dist/features/provider/providerFactory.d.ts.map +1 -0
- package/dist/features/provider/providerFactory.js +40 -0
- package/dist/features/provider/providerFactory.js.map +1 -0
- package/dist/lama_sprite/left/llama-l1.png +0 -0
- package/dist/lama_sprite/left/llama-l2.png +0 -0
- package/dist/lama_sprite/left/llama-l3.png +0 -0
- package/dist/lama_sprite/left/llama-l4.png +0 -0
- package/dist/lama_sprite/left/llama-l5.png +0 -0
- package/dist/lama_sprite/left/llama-l6.png +0 -0
- package/dist/lama_sprite/right/llama-r1.png +0 -0
- package/dist/lama_sprite/right/llama-r2.png +0 -0
- package/dist/lama_sprite/right/llama-r3.png +0 -0
- package/dist/lama_sprite/right/llama-r4.png +0 -0
- package/dist/lama_sprite/right/llama-r5.png +0 -0
- package/dist/lama_sprite/right/llama-r6.png +0 -0
- package/dist/nonInteractive.d.ts +87 -0
- package/dist/nonInteractive.d.ts.map +1 -0
- package/dist/nonInteractive.js +313 -0
- package/dist/nonInteractive.js.map +1 -0
- package/dist/services/KeybindsService.d.ts +13 -0
- package/dist/services/KeybindsService.d.ts.map +1 -0
- package/dist/services/KeybindsService.js +75 -0
- package/dist/services/KeybindsService.js.map +1 -0
- package/dist/services/__tests__/mcpConfigService.test.d.ts +5 -0
- package/dist/services/__tests__/mcpConfigService.test.d.ts.map +1 -0
- package/dist/services/__tests__/mcpConfigService.test.js +487 -0
- package/dist/services/__tests__/mcpConfigService.test.js.map +1 -0
- package/dist/services/__tests__/mcpMarketplace.integration.test.d.ts +8 -0
- package/dist/services/__tests__/mcpMarketplace.integration.test.d.ts.map +1 -0
- package/dist/services/__tests__/mcpMarketplace.integration.test.js +155 -0
- package/dist/services/__tests__/mcpMarketplace.integration.test.js.map +1 -0
- package/dist/services/__tests__/profileCompiler.test.d.ts +10 -0
- package/dist/services/__tests__/profileCompiler.test.d.ts.map +1 -0
- package/dist/services/__tests__/profileCompiler.test.js +357 -0
- package/dist/services/__tests__/profileCompiler.test.js.map +1 -0
- package/dist/services/documentService.d.ts +40 -0
- package/dist/services/documentService.d.ts.map +1 -0
- package/dist/services/documentService.js +202 -0
- package/dist/services/documentService.js.map +1 -0
- package/dist/services/hookFileService.d.ts +74 -0
- package/dist/services/hookFileService.d.ts.map +1 -0
- package/dist/services/hookFileService.js +311 -0
- package/dist/services/hookFileService.js.map +1 -0
- package/dist/services/hookLoader.d.ts +25 -0
- package/dist/services/hookLoader.d.ts.map +1 -0
- package/dist/services/hookLoader.js +87 -0
- package/dist/services/hookLoader.js.map +1 -0
- package/dist/services/mcpCleanup.d.ts +55 -0
- package/dist/services/mcpCleanup.d.ts.map +1 -0
- package/dist/services/mcpCleanup.js +196 -0
- package/dist/services/mcpCleanup.js.map +1 -0
- package/dist/services/mcpConfigBackup.d.ts +81 -0
- package/dist/services/mcpConfigBackup.d.ts.map +1 -0
- package/dist/services/mcpConfigBackup.js +406 -0
- package/dist/services/mcpConfigBackup.js.map +1 -0
- package/dist/services/mcpConfigService.d.ts +133 -0
- package/dist/services/mcpConfigService.d.ts.map +1 -0
- package/dist/services/mcpConfigService.js +349 -0
- package/dist/services/mcpConfigService.js.map +1 -0
- package/dist/services/mcpMarketplace.d.ts +130 -0
- package/dist/services/mcpMarketplace.d.ts.map +1 -0
- package/dist/services/mcpMarketplace.js +693 -0
- package/dist/services/mcpMarketplace.js.map +1 -0
- package/dist/services/profileCompiler.d.ts +79 -0
- package/dist/services/profileCompiler.d.ts.map +1 -0
- package/dist/services/profileCompiler.js +280 -0
- package/dist/services/profileCompiler.js.map +1 -0
- package/dist/templates/assistant/tier1.txt +18 -0
- package/dist/templates/assistant/tier2.txt +27 -0
- package/dist/templates/assistant/tier3.txt +49 -0
- package/dist/templates/assistant/tier4.txt +57 -0
- package/dist/templates/assistant/tier5.txt +51 -0
- package/dist/templates/debugger/tier1.txt +17 -0
- package/dist/templates/debugger/tier2.txt +28 -0
- package/dist/templates/debugger/tier3.txt +56 -0
- package/dist/templates/debugger/tier4.txt +58 -0
- package/dist/templates/debugger/tier5.txt +62 -0
- package/dist/templates/developer/tier1.txt +18 -0
- package/dist/templates/developer/tier2.txt +34 -0
- package/dist/templates/developer/tier3.txt +40 -0
- package/dist/templates/developer/tier4.txt +99 -0
- package/dist/templates/developer/tier5.txt +100 -0
- package/dist/templates/modes/index.ts +52 -0
- package/dist/templates/planning/tier1.txt +18 -0
- package/dist/templates/planning/tier2.txt +27 -0
- package/dist/templates/planning/tier3.txt +49 -0
- package/dist/templates/planning/tier4.txt +140 -0
- package/dist/templates/planning/tier5.txt +140 -0
- package/dist/templates/stateSnapshot.ts +38 -0
- package/dist/templates/system/.gitkeep +2 -0
- package/dist/templates/system/CoreMandates.txt +8 -0
- package/dist/templates/system/SanityChecks.txt +5 -0
- package/dist/templates/system/ToolDescriptions.txt +46 -0
- package/dist/templates/system/skills/.gitkeep +2 -0
- package/dist/templates/system/skills/SkillsAssistant.txt +27 -0
- package/dist/templates/system/skills/SkillsDebugger.txt +34 -0
- package/dist/templates/system/skills/SkillsDeveloper.txt +27 -0
- package/dist/templates/system/skills/SkillsPlanning.txt +33 -0
- package/dist/templates/system/skills/SkillsUser.txt +23 -0
- package/dist/templates/user/tier1.txt +18 -0
- package/dist/templates/user/tier2.txt +27 -0
- package/dist/templates/user/tier3.txt +49 -0
- package/dist/templates/user/tier4.txt +57 -0
- package/dist/templates/user/tier5.txt +51 -0
- package/dist/ui/App.d.ts +20 -0
- package/dist/ui/App.d.ts.map +1 -0
- package/dist/ui/App.js +355 -0
- package/dist/ui/App.js.map +1 -0
- package/dist/ui/components/AllCallbacksBridge.d.ts +31 -0
- package/dist/ui/components/AllCallbacksBridge.d.ts.map +1 -0
- package/dist/ui/components/AllCallbacksBridge.js +75 -0
- package/dist/ui/components/AllCallbacksBridge.js.map +1 -0
- package/dist/ui/components/ErrorBoundary.d.ts +38 -0
- package/dist/ui/components/ErrorBoundary.d.ts.map +1 -0
- package/dist/ui/components/ErrorBoundary.js +70 -0
- package/dist/ui/components/ErrorBoundary.js.map +1 -0
- package/dist/ui/components/FullScreen.d.ts +24 -0
- package/dist/ui/components/FullScreen.d.ts.map +1 -0
- package/dist/ui/components/FullScreen.js +70 -0
- package/dist/ui/components/FullScreen.js.map +1 -0
- package/dist/ui/components/HybridModeDisplay.d.ts +36 -0
- package/dist/ui/components/HybridModeDisplay.d.ts.map +1 -0
- package/dist/ui/components/HybridModeDisplay.js +30 -0
- package/dist/ui/components/HybridModeDisplay.js.map +1 -0
- package/dist/ui/components/InputRouter.d.ts +16 -0
- package/dist/ui/components/InputRouter.d.ts.map +1 -0
- package/dist/ui/components/InputRouter.js +67 -0
- package/dist/ui/components/InputRouter.js.map +1 -0
- package/dist/ui/components/InputRoutingIndicator.d.ts +10 -0
- package/dist/ui/components/InputRoutingIndicator.d.ts.map +1 -0
- package/dist/ui/components/InputRoutingIndicator.js +13 -0
- package/dist/ui/components/InputRoutingIndicator.js.map +1 -0
- package/dist/ui/components/RightPanelLLMChat.d.ts +7 -0
- package/dist/ui/components/RightPanelLLMChat.d.ts.map +1 -0
- package/dist/ui/components/RightPanelLLMChat.js +15 -0
- package/dist/ui/components/RightPanelLLMChat.js.map +1 -0
- package/dist/ui/components/Terminal.d.ts +12 -0
- package/dist/ui/components/Terminal.d.ts.map +1 -0
- package/dist/ui/components/Terminal.js +90 -0
- package/dist/ui/components/Terminal.js.map +1 -0
- package/dist/ui/components/Terminal2.d.ts +10 -0
- package/dist/ui/components/Terminal2.d.ts.map +1 -0
- package/dist/ui/components/Terminal2.js +67 -0
- package/dist/ui/components/Terminal2.js.map +1 -0
- package/dist/ui/components/UICallbacksBridge.d.ts +25 -0
- package/dist/ui/components/UICallbacksBridge.d.ts.map +1 -0
- package/dist/ui/components/UICallbacksBridge.js +68 -0
- package/dist/ui/components/UICallbacksBridge.js.map +1 -0
- package/dist/ui/components/WindowSwitcher.d.ts +35 -0
- package/dist/ui/components/WindowSwitcher.d.ts.map +1 -0
- package/dist/ui/components/WindowSwitcher.js +20 -0
- package/dist/ui/components/WindowSwitcher.js.map +1 -0
- package/dist/ui/components/__tests__/testUtils.d.ts +69 -0
- package/dist/ui/components/__tests__/testUtils.d.ts.map +1 -0
- package/dist/ui/components/__tests__/testUtils.js +76 -0
- package/dist/ui/components/__tests__/testUtils.js.map +1 -0
- package/dist/ui/components/animations/lama/LlamaAnimation.d.ts +15 -0
- package/dist/ui/components/animations/lama/LlamaAnimation.d.ts.map +1 -0
- package/dist/ui/components/animations/lama/LlamaAnimation.js +375 -0
- package/dist/ui/components/animations/lama/LlamaAnimation.js.map +1 -0
- package/dist/ui/components/chat/ChatHistory.d.ts +57 -0
- package/dist/ui/components/chat/ChatHistory.d.ts.map +1 -0
- package/dist/ui/components/chat/ChatHistory.js +354 -0
- package/dist/ui/components/chat/ChatHistory.js.map +1 -0
- package/dist/ui/components/chat/Message.d.ts +20 -0
- package/dist/ui/components/chat/Message.d.ts.map +1 -0
- package/dist/ui/components/chat/Message.js +30 -0
- package/dist/ui/components/chat/Message.js.map +1 -0
- package/dist/ui/components/chat/MetricsDisplay.d.ts +36 -0
- package/dist/ui/components/chat/MetricsDisplay.d.ts.map +1 -0
- package/dist/ui/components/chat/MetricsDisplay.js +36 -0
- package/dist/ui/components/chat/MetricsDisplay.js.map +1 -0
- package/dist/ui/components/chat/ModeTransitionIndicator.d.ts +23 -0
- package/dist/ui/components/chat/ModeTransitionIndicator.d.ts.map +1 -0
- package/dist/ui/components/chat/ModeTransitionIndicator.js +57 -0
- package/dist/ui/components/chat/ModeTransitionIndicator.js.map +1 -0
- package/dist/ui/components/chat/ReasoningBox.d.ts +39 -0
- package/dist/ui/components/chat/ReasoningBox.d.ts.map +1 -0
- package/dist/ui/components/chat/ReasoningBox.js +106 -0
- package/dist/ui/components/chat/ReasoningBox.js.map +1 -0
- package/dist/ui/components/chat/StreamingIndicator.d.ts +17 -0
- package/dist/ui/components/chat/StreamingIndicator.d.ts.map +1 -0
- package/dist/ui/components/chat/StreamingIndicator.js +28 -0
- package/dist/ui/components/chat/StreamingIndicator.js.map +1 -0
- package/dist/ui/components/chat/ToolCall.d.ts +25 -0
- package/dist/ui/components/chat/ToolCall.d.ts.map +1 -0
- package/dist/ui/components/chat/ToolCall.js +26 -0
- package/dist/ui/components/chat/ToolCall.js.map +1 -0
- package/dist/ui/components/chat/index.d.ts +15 -0
- package/dist/ui/components/chat/index.d.ts.map +1 -0
- package/dist/ui/components/chat/index.js +8 -0
- package/dist/ui/components/chat/index.js.map +1 -0
- package/dist/ui/components/code-editor/EditorMockup.d.ts +20 -0
- package/dist/ui/components/code-editor/EditorMockup.d.ts.map +1 -0
- package/dist/ui/components/code-editor/EditorMockup.js +346 -0
- package/dist/ui/components/code-editor/EditorMockup.js.map +1 -0
- package/dist/ui/components/code-editor/index.d.ts +7 -0
- package/dist/ui/components/code-editor/index.d.ts.map +1 -0
- package/dist/ui/components/code-editor/index.js +7 -0
- package/dist/ui/components/code-editor/index.js.map +1 -0
- package/dist/ui/components/comparison/ComparisonView.d.ts +32 -0
- package/dist/ui/components/comparison/ComparisonView.d.ts.map +1 -0
- package/dist/ui/components/comparison/ComparisonView.js +27 -0
- package/dist/ui/components/comparison/ComparisonView.js.map +1 -0
- package/dist/ui/components/comparison/index.d.ts +3 -0
- package/dist/ui/components/comparison/index.d.ts.map +1 -0
- package/dist/ui/components/comparison/index.js +2 -0
- package/dist/ui/components/comparison/index.js.map +1 -0
- package/dist/ui/components/context/CompressionProgress.d.ts +38 -0
- package/dist/ui/components/context/CompressionProgress.d.ts.map +1 -0
- package/dist/ui/components/context/CompressionProgress.js +85 -0
- package/dist/ui/components/context/CompressionProgress.js.map +1 -0
- package/dist/ui/components/context/ContextMenu.d.ts +40 -0
- package/dist/ui/components/context/ContextMenu.d.ts.map +1 -0
- package/dist/ui/components/context/ContextMenu.js +420 -0
- package/dist/ui/components/context/ContextMenu.js.map +1 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.example.d.ts +54 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.example.d.ts.map +1 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.example.js +28 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.example.js.map +1 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.test.d.ts +8 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.test.d.ts.map +1 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.test.js +201 -0
- package/dist/ui/components/context/__tests__/CompressionProgress.test.js.map +1 -0
- package/dist/ui/components/context/index.d.ts +9 -0
- package/dist/ui/components/context/index.d.ts.map +1 -0
- package/dist/ui/components/context/index.js +8 -0
- package/dist/ui/components/context/index.js.map +1 -0
- package/dist/ui/components/dialogs/APIKeyInputDialog.d.ts +20 -0
- package/dist/ui/components/dialogs/APIKeyInputDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/APIKeyInputDialog.js +169 -0
- package/dist/ui/components/dialogs/APIKeyInputDialog.js.map +1 -0
- package/dist/ui/components/dialogs/AddHookDialog.d.ts +29 -0
- package/dist/ui/components/dialogs/AddHookDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/AddHookDialog.js +30 -0
- package/dist/ui/components/dialogs/AddHookDialog.js.map +1 -0
- package/dist/ui/components/dialogs/ConfirmationDialog.d.ts +58 -0
- package/dist/ui/components/dialogs/ConfirmationDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/ConfirmationDialog.js +102 -0
- package/dist/ui/components/dialogs/ConfirmationDialog.js.map +1 -0
- package/dist/ui/components/dialogs/DeleteConfirmationDialog.d.ts +23 -0
- package/dist/ui/components/dialogs/DeleteConfirmationDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/DeleteConfirmationDialog.js +39 -0
- package/dist/ui/components/dialogs/DeleteConfirmationDialog.js.map +1 -0
- package/dist/ui/components/dialogs/Dialog.d.ts +48 -0
- package/dist/ui/components/dialogs/Dialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/Dialog.js +48 -0
- package/dist/ui/components/dialogs/Dialog.js.map +1 -0
- package/dist/ui/components/dialogs/DialogErrorBoundary.d.ts +17 -0
- package/dist/ui/components/dialogs/DialogErrorBoundary.d.ts.map +1 -0
- package/dist/ui/components/dialogs/DialogErrorBoundary.js +10 -0
- package/dist/ui/components/dialogs/DialogErrorBoundary.js.map +1 -0
- package/dist/ui/components/dialogs/DialogManager.d.ts +11 -0
- package/dist/ui/components/dialogs/DialogManager.d.ts.map +1 -0
- package/dist/ui/components/dialogs/DialogManager.js +98 -0
- package/dist/ui/components/dialogs/DialogManager.js.map +1 -0
- package/dist/ui/components/dialogs/EditHookDialog.d.ts +23 -0
- package/dist/ui/components/dialogs/EditHookDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/EditHookDialog.js +64 -0
- package/dist/ui/components/dialogs/EditHookDialog.js.map +1 -0
- package/dist/ui/components/dialogs/HealthMonitorDialog.d.ts +33 -0
- package/dist/ui/components/dialogs/HealthMonitorDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/HealthMonitorDialog.js +222 -0
- package/dist/ui/components/dialogs/HealthMonitorDialog.js.map +1 -0
- package/dist/ui/components/dialogs/HelpOverlay.d.ts +24 -0
- package/dist/ui/components/dialogs/HelpOverlay.d.ts.map +1 -0
- package/dist/ui/components/dialogs/HelpOverlay.js +20 -0
- package/dist/ui/components/dialogs/HelpOverlay.js.map +1 -0
- package/dist/ui/components/dialogs/HookApprovalDialog.d.ts +31 -0
- package/dist/ui/components/dialogs/HookApprovalDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/HookApprovalDialog.js +80 -0
- package/dist/ui/components/dialogs/HookApprovalDialog.js.map +1 -0
- package/dist/ui/components/dialogs/InstallServerDialog.d.ts +37 -0
- package/dist/ui/components/dialogs/InstallServerDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/InstallServerDialog.js +234 -0
- package/dist/ui/components/dialogs/InstallServerDialog.js.map +1 -0
- package/dist/ui/components/dialogs/MarketplaceDialog.d.ts +31 -0
- package/dist/ui/components/dialogs/MarketplaceDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/MarketplaceDialog.js +178 -0
- package/dist/ui/components/dialogs/MarketplaceDialog.js.map +1 -0
- package/dist/ui/components/dialogs/ModeSuggestionDialog.d.ts +23 -0
- package/dist/ui/components/dialogs/ModeSuggestionDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/ModeSuggestionDialog.js +33 -0
- package/dist/ui/components/dialogs/ModeSuggestionDialog.js.map +1 -0
- package/dist/ui/components/dialogs/OAuthConfigDialog.d.ts +34 -0
- package/dist/ui/components/dialogs/OAuthConfigDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/OAuthConfigDialog.js +307 -0
- package/dist/ui/components/dialogs/OAuthConfigDialog.js.map +1 -0
- package/dist/ui/components/dialogs/ServerConfigDialog.d.ts +35 -0
- package/dist/ui/components/dialogs/ServerConfigDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/ServerConfigDialog.js +210 -0
- package/dist/ui/components/dialogs/ServerConfigDialog.js.map +1 -0
- package/dist/ui/components/dialogs/ServerLogsViewer.d.ts +32 -0
- package/dist/ui/components/dialogs/ServerLogsViewer.d.ts.map +1 -0
- package/dist/ui/components/dialogs/ServerLogsViewer.js +244 -0
- package/dist/ui/components/dialogs/ServerLogsViewer.js.map +1 -0
- package/dist/ui/components/dialogs/TestHookDialog.d.ts +26 -0
- package/dist/ui/components/dialogs/TestHookDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/TestHookDialog.js +60 -0
- package/dist/ui/components/dialogs/TestHookDialog.js.map +1 -0
- package/dist/ui/components/dialogs/UninstallConfirmDialog.d.ts +36 -0
- package/dist/ui/components/dialogs/UninstallConfirmDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/UninstallConfirmDialog.js +66 -0
- package/dist/ui/components/dialogs/UninstallConfirmDialog.js.map +1 -0
- package/dist/ui/components/dialogs/UserPromptDialog.d.ts +34 -0
- package/dist/ui/components/dialogs/UserPromptDialog.d.ts.map +1 -0
- package/dist/ui/components/dialogs/UserPromptDialog.js +18 -0
- package/dist/ui/components/dialogs/UserPromptDialog.js.map +1 -0
- package/dist/ui/components/dialogs/index.d.ts +33 -0
- package/dist/ui/components/dialogs/index.d.ts.map +1 -0
- package/dist/ui/components/dialogs/index.js +19 -0
- package/dist/ui/components/dialogs/index.js.map +1 -0
- package/dist/ui/components/docs/DocNav.d.ts +21 -0
- package/dist/ui/components/docs/DocNav.d.ts.map +1 -0
- package/dist/ui/components/docs/DocNav.js +16 -0
- package/dist/ui/components/docs/DocNav.js.map +1 -0
- package/dist/ui/components/docs/DocViewer.d.ts +22 -0
- package/dist/ui/components/docs/DocViewer.d.ts.map +1 -0
- package/dist/ui/components/docs/DocViewer.js +51 -0
- package/dist/ui/components/docs/DocViewer.js.map +1 -0
- package/dist/ui/components/docs/DocsPanel.d.ts +21 -0
- package/dist/ui/components/docs/DocsPanel.d.ts.map +1 -0
- package/dist/ui/components/docs/DocsPanel.js +236 -0
- package/dist/ui/components/docs/DocsPanel.js.map +1 -0
- package/dist/ui/components/docs/index.d.ts +3 -0
- package/dist/ui/components/docs/index.d.ts.map +1 -0
- package/dist/ui/components/docs/index.js +3 -0
- package/dist/ui/components/docs/index.js.map +1 -0
- package/dist/ui/components/file-explorer/ConfirmationDialog.d.ts +45 -0
- package/dist/ui/components/file-explorer/ConfirmationDialog.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/ConfirmationDialog.js +87 -0
- package/dist/ui/components/file-explorer/ConfirmationDialog.js.map +1 -0
- package/dist/ui/components/file-explorer/EditorIntegration.d.ts +73 -0
- package/dist/ui/components/file-explorer/EditorIntegration.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/EditorIntegration.js +156 -0
- package/dist/ui/components/file-explorer/EditorIntegration.js.map +1 -0
- package/dist/ui/components/file-explorer/EnhancedFileExplorer.d.ts +28 -0
- package/dist/ui/components/file-explorer/EnhancedFileExplorer.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/EnhancedFileExplorer.js +33 -0
- package/dist/ui/components/file-explorer/EnhancedFileExplorer.js.map +1 -0
- package/dist/ui/components/file-explorer/ErrorHandler.d.ts +102 -0
- package/dist/ui/components/file-explorer/ErrorHandler.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/ErrorHandler.js +220 -0
- package/dist/ui/components/file-explorer/ErrorHandler.js.map +1 -0
- package/dist/ui/components/file-explorer/ExplorerPersistence.d.ts +103 -0
- package/dist/ui/components/file-explorer/ExplorerPersistence.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/ExplorerPersistence.js +182 -0
- package/dist/ui/components/file-explorer/ExplorerPersistence.js.map +1 -0
- package/dist/ui/components/file-explorer/FileExplorerComponent.d.ts +77 -0
- package/dist/ui/components/file-explorer/FileExplorerComponent.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FileExplorerComponent.js +362 -0
- package/dist/ui/components/file-explorer/FileExplorerComponent.js.map +1 -0
- package/dist/ui/components/file-explorer/FileFocusContext.d.ts +65 -0
- package/dist/ui/components/file-explorer/FileFocusContext.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FileFocusContext.js +127 -0
- package/dist/ui/components/file-explorer/FileFocusContext.js.map +1 -0
- package/dist/ui/components/file-explorer/FileOperations.d.ts +160 -0
- package/dist/ui/components/file-explorer/FileOperations.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FileOperations.js +595 -0
- package/dist/ui/components/file-explorer/FileOperations.js.map +1 -0
- package/dist/ui/components/file-explorer/FileSearchDialog.d.ts +46 -0
- package/dist/ui/components/file-explorer/FileSearchDialog.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FileSearchDialog.js +162 -0
- package/dist/ui/components/file-explorer/FileSearchDialog.js.map +1 -0
- package/dist/ui/components/file-explorer/FileTreeContext.d.ts +85 -0
- package/dist/ui/components/file-explorer/FileTreeContext.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FileTreeContext.js +252 -0
- package/dist/ui/components/file-explorer/FileTreeContext.js.map +1 -0
- package/dist/ui/components/file-explorer/FileTreeService.d.ts +270 -0
- package/dist/ui/components/file-explorer/FileTreeService.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FileTreeService.js +454 -0
- package/dist/ui/components/file-explorer/FileTreeService.js.map +1 -0
- package/dist/ui/components/file-explorer/FileTreeView.d.ts +45 -0
- package/dist/ui/components/file-explorer/FileTreeView.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FileTreeView.js +686 -0
- package/dist/ui/components/file-explorer/FileTreeView.js.map +1 -0
- package/dist/ui/components/file-explorer/FocusSystem.d.ts +130 -0
- package/dist/ui/components/file-explorer/FocusSystem.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FocusSystem.js +234 -0
- package/dist/ui/components/file-explorer/FocusSystem.js.map +1 -0
- package/dist/ui/components/file-explorer/FocusedFilesInjector.d.ts +52 -0
- package/dist/ui/components/file-explorer/FocusedFilesInjector.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FocusedFilesInjector.js +147 -0
- package/dist/ui/components/file-explorer/FocusedFilesInjector.js.map +1 -0
- package/dist/ui/components/file-explorer/FocusedFilesPanel.d.ts +32 -0
- package/dist/ui/components/file-explorer/FocusedFilesPanel.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FocusedFilesPanel.js +64 -0
- package/dist/ui/components/file-explorer/FocusedFilesPanel.js.map +1 -0
- package/dist/ui/components/file-explorer/FollowModeService.d.ts +55 -0
- package/dist/ui/components/file-explorer/FollowModeService.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/FollowModeService.js +195 -0
- package/dist/ui/components/file-explorer/FollowModeService.js.map +1 -0
- package/dist/ui/components/file-explorer/GitStatusService.d.ts +82 -0
- package/dist/ui/components/file-explorer/GitStatusService.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/GitStatusService.js +203 -0
- package/dist/ui/components/file-explorer/GitStatusService.js.map +1 -0
- package/dist/ui/components/file-explorer/Header.d.ts +26 -0
- package/dist/ui/components/file-explorer/Header.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/Header.js +20 -0
- package/dist/ui/components/file-explorer/Header.js.map +1 -0
- package/dist/ui/components/file-explorer/HelpPanel.d.ts +25 -0
- package/dist/ui/components/file-explorer/HelpPanel.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/HelpPanel.js +38 -0
- package/dist/ui/components/file-explorer/HelpPanel.js.map +1 -0
- package/dist/ui/components/file-explorer/LoadingIndicator.d.ts +56 -0
- package/dist/ui/components/file-explorer/LoadingIndicator.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/LoadingIndicator.js +82 -0
- package/dist/ui/components/file-explorer/LoadingIndicator.js.map +1 -0
- package/dist/ui/components/file-explorer/PathSanitizer.d.ts +92 -0
- package/dist/ui/components/file-explorer/PathSanitizer.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/PathSanitizer.js +169 -0
- package/dist/ui/components/file-explorer/PathSanitizer.js.map +1 -0
- package/dist/ui/components/file-explorer/QuickActionsMenu.d.ts +54 -0
- package/dist/ui/components/file-explorer/QuickActionsMenu.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/QuickActionsMenu.js +175 -0
- package/dist/ui/components/file-explorer/QuickActionsMenu.js.map +1 -0
- package/dist/ui/components/file-explorer/QuickOpenDialog.d.ts +40 -0
- package/dist/ui/components/file-explorer/QuickOpenDialog.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/QuickOpenDialog.js +231 -0
- package/dist/ui/components/file-explorer/QuickOpenDialog.js.map +1 -0
- package/dist/ui/components/file-explorer/SyntaxViewer.d.ts +37 -0
- package/dist/ui/components/file-explorer/SyntaxViewer.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/SyntaxViewer.js +95 -0
- package/dist/ui/components/file-explorer/SyntaxViewer.js.map +1 -0
- package/dist/ui/components/file-explorer/VisionService.d.ts +39 -0
- package/dist/ui/components/file-explorer/VisionService.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/VisionService.js +103 -0
- package/dist/ui/components/file-explorer/VisionService.js.map +1 -0
- package/dist/ui/components/file-explorer/WorkspaceContext.d.ts +68 -0
- package/dist/ui/components/file-explorer/WorkspaceContext.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/WorkspaceContext.js +98 -0
- package/dist/ui/components/file-explorer/WorkspaceContext.js.map +1 -0
- package/dist/ui/components/file-explorer/WorkspaceManager.d.ts +96 -0
- package/dist/ui/components/file-explorer/WorkspaceManager.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/WorkspaceManager.js +197 -0
- package/dist/ui/components/file-explorer/WorkspaceManager.js.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/ExplorerPersistence.test.d.ts +7 -0
- package/dist/ui/components/file-explorer/__tests__/ExplorerPersistence.test.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/ExplorerPersistence.test.js +97 -0
- package/dist/ui/components/file-explorer/__tests__/ExplorerPersistence.test.js.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FileOperations.test.d.ts +7 -0
- package/dist/ui/components/file-explorer/__tests__/FileOperations.test.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FileOperations.test.js +145 -0
- package/dist/ui/components/file-explorer/__tests__/FileOperations.test.js.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FileSearchDialog.test.d.ts +7 -0
- package/dist/ui/components/file-explorer/__tests__/FileSearchDialog.test.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FileSearchDialog.test.js +45 -0
- package/dist/ui/components/file-explorer/__tests__/FileSearchDialog.test.js.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FileTreeService.test.d.ts +7 -0
- package/dist/ui/components/file-explorer/__tests__/FileTreeService.test.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FileTreeService.test.js +108 -0
- package/dist/ui/components/file-explorer/__tests__/FileTreeService.test.js.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FocusSystem.test.d.ts +7 -0
- package/dist/ui/components/file-explorer/__tests__/FocusSystem.test.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/FocusSystem.test.js +117 -0
- package/dist/ui/components/file-explorer/__tests__/FocusSystem.test.js.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/PathSanitizer.test.d.ts +7 -0
- package/dist/ui/components/file-explorer/__tests__/PathSanitizer.test.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/__tests__/PathSanitizer.test.js +74 -0
- package/dist/ui/components/file-explorer/__tests__/PathSanitizer.test.js.map +1 -0
- package/dist/ui/components/file-explorer/index.d.ts +33 -0
- package/dist/ui/components/file-explorer/index.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/index.js +36 -0
- package/dist/ui/components/file-explorer/index.js.map +1 -0
- package/dist/ui/components/file-explorer/types.d.ts +81 -0
- package/dist/ui/components/file-explorer/types.d.ts.map +1 -0
- package/dist/ui/components/file-explorer/types.js +9 -0
- package/dist/ui/components/file-explorer/types.js.map +1 -0
- package/dist/ui/components/forms/Button.d.ts +55 -0
- package/dist/ui/components/forms/Button.d.ts.map +1 -0
- package/dist/ui/components/forms/Button.js +58 -0
- package/dist/ui/components/forms/Button.js.map +1 -0
- package/dist/ui/components/forms/Checkbox.d.ts +39 -0
- package/dist/ui/components/forms/Checkbox.d.ts.map +1 -0
- package/dist/ui/components/forms/Checkbox.js +29 -0
- package/dist/ui/components/forms/Checkbox.js.map +1 -0
- package/dist/ui/components/forms/FormField.d.ts +24 -0
- package/dist/ui/components/forms/FormField.d.ts.map +1 -0
- package/dist/ui/components/forms/FormField.js +11 -0
- package/dist/ui/components/forms/FormField.js.map +1 -0
- package/dist/ui/components/forms/TextInput.d.ts +47 -0
- package/dist/ui/components/forms/TextInput.d.ts.map +1 -0
- package/dist/ui/components/forms/TextInput.js +74 -0
- package/dist/ui/components/forms/TextInput.js.map +1 -0
- package/dist/ui/components/forms/Tooltip.d.ts +38 -0
- package/dist/ui/components/forms/Tooltip.d.ts.map +1 -0
- package/dist/ui/components/forms/Tooltip.js +21 -0
- package/dist/ui/components/forms/Tooltip.js.map +1 -0
- package/dist/ui/components/forms/index.d.ts +22 -0
- package/dist/ui/components/forms/index.d.ts.map +1 -0
- package/dist/ui/components/forms/index.js +17 -0
- package/dist/ui/components/forms/index.js.map +1 -0
- package/dist/ui/components/github/FeatureSection.d.ts +15 -0
- package/dist/ui/components/github/FeatureSection.d.ts.map +1 -0
- package/dist/ui/components/github/FeatureSection.js +14 -0
- package/dist/ui/components/github/FeatureSection.js.map +1 -0
- package/dist/ui/components/github/PlannedFeaturesList.d.ts +15 -0
- package/dist/ui/components/github/PlannedFeaturesList.d.ts.map +1 -0
- package/dist/ui/components/github/PlannedFeaturesList.js +69 -0
- package/dist/ui/components/github/PlannedFeaturesList.js.map +1 -0
- package/dist/ui/components/hooks/HookCategory.d.ts +32 -0
- package/dist/ui/components/hooks/HookCategory.d.ts.map +1 -0
- package/dist/ui/components/hooks/HookCategory.js +34 -0
- package/dist/ui/components/hooks/HookCategory.js.map +1 -0
- package/dist/ui/components/hooks/HookItem.d.ts +48 -0
- package/dist/ui/components/hooks/HookItem.d.ts.map +1 -0
- package/dist/ui/components/hooks/HookItem.js +48 -0
- package/dist/ui/components/hooks/HookItem.js.map +1 -0
- package/dist/ui/components/hooks/index.d.ts +3 -0
- package/dist/ui/components/hooks/index.d.ts.map +1 -0
- package/dist/ui/components/hooks/index.js +3 -0
- package/dist/ui/components/hooks/index.js.map +1 -0
- package/dist/ui/components/launch/LaunchScreen.d.ts +24 -0
- package/dist/ui/components/launch/LaunchScreen.d.ts.map +1 -0
- package/dist/ui/components/launch/LaunchScreen.js +29 -0
- package/dist/ui/components/launch/LaunchScreen.js.map +1 -0
- package/dist/ui/components/launch/QuickActions.d.ts +13 -0
- package/dist/ui/components/launch/QuickActions.d.ts.map +1 -0
- package/dist/ui/components/launch/QuickActions.js +6 -0
- package/dist/ui/components/launch/QuickActions.js.map +1 -0
- package/dist/ui/components/launch/RecentSessions.d.ts +19 -0
- package/dist/ui/components/launch/RecentSessions.d.ts.map +1 -0
- package/dist/ui/components/launch/RecentSessions.js +23 -0
- package/dist/ui/components/launch/RecentSessions.js.map +1 -0
- package/dist/ui/components/launch/VersionBanner.d.ts +17 -0
- package/dist/ui/components/launch/VersionBanner.d.ts.map +1 -0
- package/dist/ui/components/launch/VersionBanner.js +71 -0
- package/dist/ui/components/launch/VersionBanner.js.map +1 -0
- package/dist/ui/components/launch/index.d.ts +5 -0
- package/dist/ui/components/launch/index.d.ts.map +1 -0
- package/dist/ui/components/launch/index.js +5 -0
- package/dist/ui/components/launch/index.js.map +1 -0
- package/dist/ui/components/layout/ActivePromptInfo.d.ts +2 -0
- package/dist/ui/components/layout/ActivePromptInfo.d.ts.map +1 -0
- package/dist/ui/components/layout/ActivePromptInfo.js +37 -0
- package/dist/ui/components/layout/ActivePromptInfo.js.map +1 -0
- package/dist/ui/components/layout/ChatInputArea.d.ts +15 -0
- package/dist/ui/components/layout/ChatInputArea.d.ts.map +1 -0
- package/dist/ui/components/layout/ChatInputArea.js +239 -0
- package/dist/ui/components/layout/ChatInputArea.js.map +1 -0
- package/dist/ui/components/layout/Clock.d.ts +6 -0
- package/dist/ui/components/layout/Clock.d.ts.map +1 -0
- package/dist/ui/components/layout/Clock.js +23 -0
- package/dist/ui/components/layout/Clock.js.map +1 -0
- package/dist/ui/components/layout/ContextSection.d.ts +2 -0
- package/dist/ui/components/layout/ContextSection.d.ts.map +1 -0
- package/dist/ui/components/layout/ContextSection.js +38 -0
- package/dist/ui/components/layout/ContextSection.js.map +1 -0
- package/dist/ui/components/layout/DotIndicator.d.ts +13 -0
- package/dist/ui/components/layout/DotIndicator.d.ts.map +1 -0
- package/dist/ui/components/layout/DotIndicator.js +15 -0
- package/dist/ui/components/layout/DotIndicator.js.map +1 -0
- package/dist/ui/components/layout/HeaderBar.d.ts +21 -0
- package/dist/ui/components/layout/HeaderBar.d.ts.map +1 -0
- package/dist/ui/components/layout/HeaderBar.js +19 -0
- package/dist/ui/components/layout/HeaderBar.js.map +1 -0
- package/dist/ui/components/layout/InputBox.d.ts +22 -0
- package/dist/ui/components/layout/InputBox.d.ts.map +1 -0
- package/dist/ui/components/layout/InputBox.js +147 -0
- package/dist/ui/components/layout/InputBox.js.map +1 -0
- package/dist/ui/components/layout/KeybindsLegend.d.ts +10 -0
- package/dist/ui/components/layout/KeybindsLegend.d.ts.map +1 -0
- package/dist/ui/components/layout/KeybindsLegend.js +9 -0
- package/dist/ui/components/layout/KeybindsLegend.js.map +1 -0
- package/dist/ui/components/layout/ModeConfidenceDisplay.d.ts +19 -0
- package/dist/ui/components/layout/ModeConfidenceDisplay.d.ts.map +1 -0
- package/dist/ui/components/layout/ModeConfidenceDisplay.js +38 -0
- package/dist/ui/components/layout/ModeConfidenceDisplay.js.map +1 -0
- package/dist/ui/components/layout/SidePanel.d.ts +9 -0
- package/dist/ui/components/layout/SidePanel.d.ts.map +1 -0
- package/dist/ui/components/layout/SidePanel.js +59 -0
- package/dist/ui/components/layout/SidePanel.js.map +1 -0
- package/dist/ui/components/layout/StaticInputArea.d.ts +13 -0
- package/dist/ui/components/layout/StaticInputArea.d.ts.map +1 -0
- package/dist/ui/components/layout/StaticInputArea.js +21 -0
- package/dist/ui/components/layout/StaticInputArea.js.map +1 -0
- package/dist/ui/components/layout/StatusBar.d.ts +16 -0
- package/dist/ui/components/layout/StatusBar.d.ts.map +1 -0
- package/dist/ui/components/layout/StatusBar.js +13 -0
- package/dist/ui/components/layout/StatusBar.js.map +1 -0
- package/dist/ui/components/layout/SystemBar.d.ts +10 -0
- package/dist/ui/components/layout/SystemBar.d.ts.map +1 -0
- package/dist/ui/components/layout/SystemBar.js +75 -0
- package/dist/ui/components/layout/SystemBar.js.map +1 -0
- package/dist/ui/components/layout/TabBar.d.ts +19 -0
- package/dist/ui/components/layout/TabBar.d.ts.map +1 -0
- package/dist/ui/components/layout/TabBar.js +53 -0
- package/dist/ui/components/layout/TabBar.js.map +1 -0
- package/dist/ui/components/layout/TabContainer.d.ts +58 -0
- package/dist/ui/components/layout/TabContainer.d.ts.map +1 -0
- package/dist/ui/components/layout/TabContainer.js +19 -0
- package/dist/ui/components/layout/TabContainer.js.map +1 -0
- package/dist/ui/components/layout/TwoColumnLayout.d.ts +54 -0
- package/dist/ui/components/layout/TwoColumnLayout.d.ts.map +1 -0
- package/dist/ui/components/layout/TwoColumnLayout.js +22 -0
- package/dist/ui/components/layout/TwoColumnLayout.js.map +1 -0
- package/dist/ui/components/layout/WorkspacePanel.d.ts +17 -0
- package/dist/ui/components/layout/WorkspacePanel.d.ts.map +1 -0
- package/dist/ui/components/layout/WorkspacePanel.js +264 -0
- package/dist/ui/components/layout/WorkspacePanel.js.map +1 -0
- package/dist/ui/components/layout/__tests__/InputBox.example.d.ts +18 -0
- package/dist/ui/components/layout/__tests__/InputBox.example.d.ts.map +1 -0
- package/dist/ui/components/layout/__tests__/InputBox.example.js +40 -0
- package/dist/ui/components/layout/__tests__/InputBox.example.js.map +1 -0
- package/dist/ui/components/layout/index.d.ts +10 -0
- package/dist/ui/components/layout/index.d.ts.map +1 -0
- package/dist/ui/components/layout/index.js +10 -0
- package/dist/ui/components/layout/index.js.map +1 -0
- package/dist/ui/components/mcp/ErrorDisplay.d.ts +32 -0
- package/dist/ui/components/mcp/ErrorDisplay.d.ts.map +1 -0
- package/dist/ui/components/mcp/ErrorDisplay.js +27 -0
- package/dist/ui/components/mcp/ErrorDisplay.js.map +1 -0
- package/dist/ui/components/mcp/FadeTransition.d.ts +75 -0
- package/dist/ui/components/mcp/FadeTransition.d.ts.map +1 -0
- package/dist/ui/components/mcp/FadeTransition.js +132 -0
- package/dist/ui/components/mcp/FadeTransition.js.map +1 -0
- package/dist/ui/components/mcp/HealthIndicator.d.ts +21 -0
- package/dist/ui/components/mcp/HealthIndicator.d.ts.map +1 -0
- package/dist/ui/components/mcp/HealthIndicator.js +75 -0
- package/dist/ui/components/mcp/HealthIndicator.js.map +1 -0
- package/dist/ui/components/mcp/InstalledServersSection.d.ts +33 -0
- package/dist/ui/components/mcp/InstalledServersSection.d.ts.map +1 -0
- package/dist/ui/components/mcp/InstalledServersSection.js +16 -0
- package/dist/ui/components/mcp/InstalledServersSection.js.map +1 -0
- package/dist/ui/components/mcp/LoadingSpinner.d.ts +29 -0
- package/dist/ui/components/mcp/LoadingSpinner.d.ts.map +1 -0
- package/dist/ui/components/mcp/LoadingSpinner.js +17 -0
- package/dist/ui/components/mcp/LoadingSpinner.js.map +1 -0
- package/dist/ui/components/mcp/MCPActions.d.ts +31 -0
- package/dist/ui/components/mcp/MCPActions.d.ts.map +1 -0
- package/dist/ui/components/mcp/MCPActions.js +25 -0
- package/dist/ui/components/mcp/MCPActions.js.map +1 -0
- package/dist/ui/components/mcp/MarketplacePreview.d.ts +25 -0
- package/dist/ui/components/mcp/MarketplacePreview.d.ts.map +1 -0
- package/dist/ui/components/mcp/MarketplacePreview.js +45 -0
- package/dist/ui/components/mcp/MarketplacePreview.js.map +1 -0
- package/dist/ui/components/mcp/Notification.d.ts +79 -0
- package/dist/ui/components/mcp/Notification.d.ts.map +1 -0
- package/dist/ui/components/mcp/Notification.js +145 -0
- package/dist/ui/components/mcp/Notification.js.map +1 -0
- package/dist/ui/components/mcp/OperationProgress.d.ts +20 -0
- package/dist/ui/components/mcp/OperationProgress.d.ts.map +1 -0
- package/dist/ui/components/mcp/OperationProgress.js +16 -0
- package/dist/ui/components/mcp/OperationProgress.js.map +1 -0
- package/dist/ui/components/mcp/ProgressIndicator.d.ts +34 -0
- package/dist/ui/components/mcp/ProgressIndicator.d.ts.map +1 -0
- package/dist/ui/components/mcp/ProgressIndicator.js +75 -0
- package/dist/ui/components/mcp/ProgressIndicator.js.map +1 -0
- package/dist/ui/components/mcp/ServerDetails.d.ts +44 -0
- package/dist/ui/components/mcp/ServerDetails.d.ts.map +1 -0
- package/dist/ui/components/mcp/ServerDetails.js +96 -0
- package/dist/ui/components/mcp/ServerDetails.js.map +1 -0
- package/dist/ui/components/mcp/ServerItem.d.ts +33 -0
- package/dist/ui/components/mcp/ServerItem.d.ts.map +1 -0
- package/dist/ui/components/mcp/ServerItem.js +55 -0
- package/dist/ui/components/mcp/ServerItem.js.map +1 -0
- package/dist/ui/components/mcp/ServerListItem.d.ts +38 -0
- package/dist/ui/components/mcp/ServerListItem.d.ts.map +1 -0
- package/dist/ui/components/mcp/ServerListItem.js +60 -0
- package/dist/ui/components/mcp/ServerListItem.js.map +1 -0
- package/dist/ui/components/mcp/ServerSkeleton.d.ts +20 -0
- package/dist/ui/components/mcp/ServerSkeleton.d.ts.map +1 -0
- package/dist/ui/components/mcp/ServerSkeleton.js +18 -0
- package/dist/ui/components/mcp/ServerSkeleton.js.map +1 -0
- package/dist/ui/components/mcp/ServerStatusBanner.d.ts +21 -0
- package/dist/ui/components/mcp/ServerStatusBanner.d.ts.map +1 -0
- package/dist/ui/components/mcp/ServerStatusBanner.js +61 -0
- package/dist/ui/components/mcp/ServerStatusBanner.js.map +1 -0
- package/dist/ui/components/mcp/SystemMessages.d.ts +35 -0
- package/dist/ui/components/mcp/SystemMessages.d.ts.map +1 -0
- package/dist/ui/components/mcp/SystemMessages.js +44 -0
- package/dist/ui/components/mcp/SystemMessages.js.map +1 -0
- package/dist/ui/components/mcp/index.d.ts +34 -0
- package/dist/ui/components/mcp/index.d.ts.map +1 -0
- package/dist/ui/components/mcp/index.js +24 -0
- package/dist/ui/components/mcp/index.js.map +1 -0
- package/dist/ui/components/model/ModelLoadingIndicator.d.ts +6 -0
- package/dist/ui/components/model/ModelLoadingIndicator.d.ts.map +1 -0
- package/dist/ui/components/model/ModelLoadingIndicator.js +14 -0
- package/dist/ui/components/model/ModelLoadingIndicator.js.map +1 -0
- package/dist/ui/components/settings/ModelPicker.d.ts +24 -0
- package/dist/ui/components/settings/ModelPicker.d.ts.map +1 -0
- package/dist/ui/components/settings/ModelPicker.js +15 -0
- package/dist/ui/components/settings/ModelPicker.js.map +1 -0
- package/dist/ui/components/settings/OptionsPanel.d.ts +24 -0
- package/dist/ui/components/settings/OptionsPanel.d.ts.map +1 -0
- package/dist/ui/components/settings/OptionsPanel.js +12 -0
- package/dist/ui/components/settings/OptionsPanel.js.map +1 -0
- package/dist/ui/components/settings/ProviderSelector.d.ts +24 -0
- package/dist/ui/components/settings/ProviderSelector.d.ts.map +1 -0
- package/dist/ui/components/settings/ProviderSelector.js +35 -0
- package/dist/ui/components/settings/ProviderSelector.js.map +1 -0
- package/dist/ui/components/settings/SessionInfo.d.ts +25 -0
- package/dist/ui/components/settings/SessionInfo.d.ts.map +1 -0
- package/dist/ui/components/settings/SessionInfo.js +29 -0
- package/dist/ui/components/settings/SessionInfo.js.map +1 -0
- package/dist/ui/components/settings/SettingsPanel.d.ts +19 -0
- package/dist/ui/components/settings/SettingsPanel.d.ts.map +1 -0
- package/dist/ui/components/settings/SettingsPanel.js +864 -0
- package/dist/ui/components/settings/SettingsPanel.js.map +1 -0
- package/dist/ui/components/settings/ThemePicker.d.ts +19 -0
- package/dist/ui/components/settings/ThemePicker.d.ts.map +1 -0
- package/dist/ui/components/settings/ThemePicker.js +15 -0
- package/dist/ui/components/settings/ThemePicker.js.map +1 -0
- package/dist/ui/components/settings/index.d.ts +6 -0
- package/dist/ui/components/settings/index.d.ts.map +1 -0
- package/dist/ui/components/settings/index.js +6 -0
- package/dist/ui/components/settings/index.js.map +1 -0
- package/dist/ui/components/status/MCPStatus.d.ts +33 -0
- package/dist/ui/components/status/MCPStatus.d.ts.map +1 -0
- package/dist/ui/components/status/MCPStatus.js +52 -0
- package/dist/ui/components/status/MCPStatus.js.map +1 -0
- package/dist/ui/components/status/WorkflowStatus.d.ts +33 -0
- package/dist/ui/components/status/WorkflowStatus.d.ts.map +1 -0
- package/dist/ui/components/status/WorkflowStatus.js +40 -0
- package/dist/ui/components/status/WorkflowStatus.js.map +1 -0
- package/dist/ui/components/tabs/BugReportTab.d.ts +11 -0
- package/dist/ui/components/tabs/BugReportTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/BugReportTab.js +104 -0
- package/dist/ui/components/tabs/BugReportTab.js.map +1 -0
- package/dist/ui/components/tabs/ChatTab.d.ts +55 -0
- package/dist/ui/components/tabs/ChatTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/ChatTab.js +177 -0
- package/dist/ui/components/tabs/ChatTab.js.map +1 -0
- package/dist/ui/components/tabs/DocsTab.d.ts +16 -0
- package/dist/ui/components/tabs/DocsTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/DocsTab.js +6 -0
- package/dist/ui/components/tabs/DocsTab.js.map +1 -0
- package/dist/ui/components/tabs/FileViewerTab.d.ts +27 -0
- package/dist/ui/components/tabs/FileViewerTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/FileViewerTab.js +51 -0
- package/dist/ui/components/tabs/FileViewerTab.js.map +1 -0
- package/dist/ui/components/tabs/FilesTab.d.ts +21 -0
- package/dist/ui/components/tabs/FilesTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/FilesTab.js +47 -0
- package/dist/ui/components/tabs/FilesTab.js.map +1 -0
- package/dist/ui/components/tabs/FilesTabWrapper.d.ts +12 -0
- package/dist/ui/components/tabs/FilesTabWrapper.d.ts.map +1 -0
- package/dist/ui/components/tabs/FilesTabWrapper.js +27 -0
- package/dist/ui/components/tabs/FilesTabWrapper.js.map +1 -0
- package/dist/ui/components/tabs/GitHubTab.d.ts +18 -0
- package/dist/ui/components/tabs/GitHubTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/GitHubTab.js +38 -0
- package/dist/ui/components/tabs/GitHubTab.js.map +1 -0
- package/dist/ui/components/tabs/HooksTab.d.ts +21 -0
- package/dist/ui/components/tabs/HooksTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/HooksTab.js +350 -0
- package/dist/ui/components/tabs/HooksTab.js.map +1 -0
- package/dist/ui/components/tabs/MCPTab.d.ts +24 -0
- package/dist/ui/components/tabs/MCPTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/MCPTab.js +1101 -0
- package/dist/ui/components/tabs/MCPTab.js.map +1 -0
- package/dist/ui/components/tabs/SearchTab.d.ts +18 -0
- package/dist/ui/components/tabs/SearchTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/SearchTab.js +56 -0
- package/dist/ui/components/tabs/SearchTab.js.map +1 -0
- package/dist/ui/components/tabs/SettingsTab.d.ts +14 -0
- package/dist/ui/components/tabs/SettingsTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/SettingsTab.js +6 -0
- package/dist/ui/components/tabs/SettingsTab.js.map +1 -0
- package/dist/ui/components/tabs/ToolsTab.d.ts +14 -0
- package/dist/ui/components/tabs/ToolsTab.d.ts.map +1 -0
- package/dist/ui/components/tabs/ToolsTab.js +10 -0
- package/dist/ui/components/tabs/ToolsTab.js.map +1 -0
- package/dist/ui/components/tabs/index.d.ts +9 -0
- package/dist/ui/components/tabs/index.d.ts.map +1 -0
- package/dist/ui/components/tabs/index.js +9 -0
- package/dist/ui/components/tabs/index.js.map +1 -0
- package/dist/ui/components/tools/CategorySection.d.ts +22 -0
- package/dist/ui/components/tools/CategorySection.d.ts.map +1 -0
- package/dist/ui/components/tools/CategorySection.js +29 -0
- package/dist/ui/components/tools/CategorySection.js.map +1 -0
- package/dist/ui/components/tools/DiffViewer.d.ts +20 -0
- package/dist/ui/components/tools/DiffViewer.d.ts.map +1 -0
- package/dist/ui/components/tools/DiffViewer.js +33 -0
- package/dist/ui/components/tools/DiffViewer.js.map +1 -0
- package/dist/ui/components/tools/ReviewActions.d.ts +21 -0
- package/dist/ui/components/tools/ReviewActions.d.ts.map +1 -0
- package/dist/ui/components/tools/ReviewActions.js +12 -0
- package/dist/ui/components/tools/ReviewActions.js.map +1 -0
- package/dist/ui/components/tools/ToolItem.d.ts +19 -0
- package/dist/ui/components/tools/ToolItem.d.ts.map +1 -0
- package/dist/ui/components/tools/ToolItem.js +15 -0
- package/dist/ui/components/tools/ToolItem.js.map +1 -0
- package/dist/ui/components/tools/ToolModeSettings.d.ts +29 -0
- package/dist/ui/components/tools/ToolModeSettings.d.ts.map +1 -0
- package/dist/ui/components/tools/ToolModeSettings.js +57 -0
- package/dist/ui/components/tools/ToolModeSettings.js.map +1 -0
- package/dist/ui/components/tools/ToolToggle.d.ts +16 -0
- package/dist/ui/components/tools/ToolToggle.d.ts.map +1 -0
- package/dist/ui/components/tools/ToolToggle.js +22 -0
- package/dist/ui/components/tools/ToolToggle.js.map +1 -0
- package/dist/ui/components/tools/ToolsPanel.d.ts +24 -0
- package/dist/ui/components/tools/ToolsPanel.d.ts.map +1 -0
- package/dist/ui/components/tools/ToolsPanel.js +279 -0
- package/dist/ui/components/tools/ToolsPanel.js.map +1 -0
- package/dist/ui/components/tools/index.d.ts +7 -0
- package/dist/ui/components/tools/index.d.ts.map +1 -0
- package/dist/ui/components/tools/index.js +7 -0
- package/dist/ui/components/tools/index.js.map +1 -0
- package/dist/ui/contexts/DialogContext.d.ts +92 -0
- package/dist/ui/contexts/DialogContext.d.ts.map +1 -0
- package/dist/ui/contexts/DialogContext.js +151 -0
- package/dist/ui/contexts/DialogContext.js.map +1 -0
- package/dist/ui/contexts/HooksContext.d.ts +77 -0
- package/dist/ui/contexts/HooksContext.d.ts.map +1 -0
- package/dist/ui/contexts/HooksContext.js +261 -0
- package/dist/ui/contexts/HooksContext.js.map +1 -0
- package/dist/ui/contexts/InputRoutingContext.d.ts +15 -0
- package/dist/ui/contexts/InputRoutingContext.d.ts.map +1 -0
- package/dist/ui/contexts/InputRoutingContext.js +36 -0
- package/dist/ui/contexts/InputRoutingContext.js.map +1 -0
- package/dist/ui/contexts/MCPContext.d.ts +161 -0
- package/dist/ui/contexts/MCPContext.d.ts.map +1 -0
- package/dist/ui/contexts/MCPContext.js +904 -0
- package/dist/ui/contexts/MCPContext.js.map +1 -0
- package/dist/ui/contexts/Terminal2Context.d.ts +22 -0
- package/dist/ui/contexts/Terminal2Context.d.ts.map +1 -0
- package/dist/ui/contexts/Terminal2Context.js +154 -0
- package/dist/ui/contexts/Terminal2Context.js.map +1 -0
- package/dist/ui/contexts/TerminalContext.d.ts +22 -0
- package/dist/ui/contexts/TerminalContext.d.ts.map +1 -0
- package/dist/ui/contexts/TerminalContext.js +192 -0
- package/dist/ui/contexts/TerminalContext.js.map +1 -0
- package/dist/ui/contexts/ToolsContext.d.ts +87 -0
- package/dist/ui/contexts/ToolsContext.d.ts.map +1 -0
- package/dist/ui/contexts/ToolsContext.js +301 -0
- package/dist/ui/contexts/ToolsContext.js.map +1 -0
- package/dist/ui/contexts/UICallbacksContext.d.ts +80 -0
- package/dist/ui/contexts/UICallbacksContext.d.ts.map +1 -0
- package/dist/ui/contexts/UICallbacksContext.js +85 -0
- package/dist/ui/contexts/UICallbacksContext.js.map +1 -0
- package/dist/ui/contexts/WindowContext.d.ts +100 -0
- package/dist/ui/contexts/WindowContext.d.ts.map +1 -0
- package/dist/ui/contexts/WindowContext.js +111 -0
- package/dist/ui/contexts/WindowContext.js.map +1 -0
- package/dist/ui/contexts/__tests__/mcpTestUtils.d.ts +65 -0
- package/dist/ui/contexts/__tests__/mcpTestUtils.d.ts.map +1 -0
- package/dist/ui/contexts/__tests__/mcpTestUtils.js +180 -0
- package/dist/ui/contexts/__tests__/mcpTestUtils.js.map +1 -0
- package/dist/ui/hooks/index.d.ts +9 -0
- package/dist/ui/hooks/index.d.ts.map +1 -0
- package/dist/ui/hooks/index.js +9 -0
- package/dist/ui/hooks/index.js.map +1 -0
- package/dist/ui/hooks/useFocusedBorder.d.ts +19 -0
- package/dist/ui/hooks/useFocusedBorder.d.ts.map +1 -0
- package/dist/ui/hooks/useFocusedBorder.js +26 -0
- package/dist/ui/hooks/useFocusedBorder.js.map +1 -0
- package/dist/ui/hooks/useGlobalKeyboardShortcuts.d.ts +43 -0
- package/dist/ui/hooks/useGlobalKeyboardShortcuts.d.ts.map +1 -0
- package/dist/ui/hooks/useGlobalKeyboardShortcuts.js +196 -0
- package/dist/ui/hooks/useGlobalKeyboardShortcuts.js.map +1 -0
- package/dist/ui/hooks/useKeyboardShortcuts.d.ts +22 -0
- package/dist/ui/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/ui/hooks/useKeyboardShortcuts.js +56 -0
- package/dist/ui/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/ui/hooks/useMCPNavigation.d.ts +79 -0
- package/dist/ui/hooks/useMCPNavigation.d.ts.map +1 -0
- package/dist/ui/hooks/useMCPNavigation.js +228 -0
- package/dist/ui/hooks/useMCPNavigation.js.map +1 -0
- package/dist/ui/hooks/useMouse.d.ts +19 -0
- package/dist/ui/hooks/useMouse.d.ts.map +1 -0
- package/dist/ui/hooks/useMouse.js +115 -0
- package/dist/ui/hooks/useMouse.js.map +1 -0
- package/dist/ui/hooks/useNotifications.d.ts +43 -0
- package/dist/ui/hooks/useNotifications.d.ts.map +1 -0
- package/dist/ui/hooks/useNotifications.js +92 -0
- package/dist/ui/hooks/useNotifications.js.map +1 -0
- package/dist/ui/hooks/useTabEscapeHandler.d.ts +42 -0
- package/dist/ui/hooks/useTabEscapeHandler.d.ts.map +1 -0
- package/dist/ui/hooks/useTabEscapeHandler.js +56 -0
- package/dist/ui/hooks/useTabEscapeHandler.js.map +1 -0
- package/dist/ui/hooks/useTerminal.d.ts +7 -0
- package/dist/ui/hooks/useTerminal.d.ts.map +1 -0
- package/dist/ui/hooks/useTerminal.js +7 -0
- package/dist/ui/hooks/useTerminal.js.map +1 -0
- package/dist/ui/hooks/useTerminal2.d.ts +7 -0
- package/dist/ui/hooks/useTerminal2.d.ts.map +1 -0
- package/dist/ui/hooks/useTerminal2.js +7 -0
- package/dist/ui/hooks/useTerminal2.js.map +1 -0
- package/dist/ui/services/docsService.d.ts +44 -0
- package/dist/ui/services/docsService.d.ts.map +1 -0
- package/dist/ui/services/docsService.js +103 -0
- package/dist/ui/services/docsService.js.map +1 -0
- package/dist/ui/services/index.d.ts +7 -0
- package/dist/ui/services/index.d.ts.map +1 -0
- package/dist/ui/services/index.js +7 -0
- package/dist/ui/services/index.js.map +1 -0
- package/dist/ui/services/keyboardHandler.d.ts +71 -0
- package/dist/ui/services/keyboardHandler.d.ts.map +1 -0
- package/dist/ui/services/keyboardHandler.js +166 -0
- package/dist/ui/services/keyboardHandler.js.map +1 -0
- package/dist/ui/services/themeManager.d.ts +65 -0
- package/dist/ui/services/themeManager.d.ts.map +1 -0
- package/dist/ui/services/themeManager.js +158 -0
- package/dist/ui/services/themeManager.js.map +1 -0
- package/dist/ui/test-utils/TestProviders.d.ts +6 -0
- package/dist/ui/test-utils/TestProviders.d.ts.map +1 -0
- package/dist/ui/test-utils/TestProviders.js +54 -0
- package/dist/ui/test-utils/TestProviders.js.map +1 -0
- package/dist/ui/utils/errorHandling.d.ts +65 -0
- package/dist/ui/utils/errorHandling.d.ts.map +1 -0
- package/dist/ui/utils/errorHandling.js +242 -0
- package/dist/ui/utils/errorHandling.js.map +1 -0
- package/dist/ui/utils/errorLogger.d.ts +41 -0
- package/dist/ui/utils/errorLogger.d.ts.map +1 -0
- package/dist/ui/utils/errorLogger.js +126 -0
- package/dist/ui/utils/errorLogger.js.map +1 -0
- package/dist/ui/utils/keyUtils.d.ts +16 -0
- package/dist/ui/utils/keyUtils.d.ts.map +1 -0
- package/dist/ui/utils/keyUtils.js +70 -0
- package/dist/ui/utils/keyUtils.js.map +1 -0
- package/dist/ui/utils/performanceProfiler.d.ts +83 -0
- package/dist/ui/utils/performanceProfiler.d.ts.map +1 -0
- package/dist/ui/utils/performanceProfiler.js +160 -0
- package/dist/ui/utils/performanceProfiler.js.map +1 -0
- package/dist/ui/utils/terminalSerializer.d.ts +38 -0
- package/dist/ui/utils/terminalSerializer.d.ts.map +1 -0
- package/dist/ui/utils/terminalSerializer.js +451 -0
- package/dist/ui/utils/terminalSerializer.js.map +1 -0
- package/dist/ui/utils/windowDisplayLabels.d.ts +13 -0
- package/dist/ui/utils/windowDisplayLabels.d.ts.map +1 -0
- package/dist/ui/utils/windowDisplayLabels.js +29 -0
- package/dist/ui/utils/windowDisplayLabels.js.map +1 -0
- package/dist/utils/events.d.ts +24 -0
- package/dist/utils/events.d.ts.map +1 -0
- package/dist/utils/events.js +19 -0
- package/dist/utils/events.js.map +1 -0
- package/dist/utils/stdio.d.ts +29 -0
- package/dist/utils/stdio.d.ts.map +1 -0
- package/dist/utils/stdio.js +200 -0
- package/dist/utils/stdio.js.map +1 -0
- package/dist/utils/terminal.d.ts +16 -0
- package/dist/utils/terminal.d.ts.map +1 -0
- package/dist/utils/terminal.js +51 -0
- package/dist/utils/terminal.js.map +1 -0
- package/docs/Context/CheckpointFlowDiagram.md +673 -0
- package/docs/Context/ContextArchitecture.md +898 -0
- package/docs/Context/ContextCompression.md +1102 -0
- package/docs/Context/ContextManagment.md +750 -0
- package/docs/Context/Index.md +209 -0
- package/docs/Context/README.md +390 -0
- package/docs/DevelopmentRoadmap/Index.md +238 -0
- package/docs/DevelopmentRoadmap/OLLM-CLI_Releases.md +419 -0
- package/docs/DevelopmentRoadmap/PlanedFeatures.md +448 -0
- package/docs/DevelopmentRoadmap/README.md +174 -0
- package/docs/DevelopmentRoadmap/Roadmap.md +572 -0
- package/docs/DevelopmentRoadmap/RoadmapVisual.md +372 -0
- package/docs/Hooks/Architecture.md +885 -0
- package/docs/Hooks/Index.md +244 -0
- package/docs/Hooks/KeyboardShortcuts.md +248 -0
- package/docs/Hooks/Protocol.md +817 -0
- package/docs/Hooks/README.md +403 -0
- package/docs/Hooks/UserGuide.md +1483 -0
- package/docs/Hooks/VisualGuide.md +598 -0
- package/docs/Index.md +506 -0
- package/docs/Installation.md +586 -0
- package/docs/Introduction.md +367 -0
- package/docs/LLM Models/Index.md +239 -0
- package/docs/LLM Models/LLM_GettingStarted.md +748 -0
- package/docs/LLM Models/LLM_Index.md +701 -0
- package/docs/LLM Models/LLM_MemorySystem.md +337 -0
- package/docs/LLM Models/LLM_ModelCompatibility.md +499 -0
- package/docs/LLM Models/LLM_ModelsArchitecture.md +933 -0
- package/docs/LLM Models/LLM_ModelsCommands.md +839 -0
- package/docs/LLM Models/LLM_ModelsConfiguration.md +1094 -0
- package/docs/LLM Models/LLM_ModelsList.md +1071 -0
- package/docs/LLM Models/LLM_ModelsList.md.backup +400 -0
- package/docs/LLM Models/README.md +355 -0
- package/docs/MCP/MCP_Architecture.md +1086 -0
- package/docs/MCP/MCP_Commands.md +1111 -0
- package/docs/MCP/MCP_GettingStarted.md +590 -0
- package/docs/MCP/MCP_Index.md +524 -0
- package/docs/MCP/MCP_Integration.md +866 -0
- package/docs/MCP/MCP_Marketplace.md +160 -0
- package/docs/MCP/README.md +415 -0
- package/docs/Prompts System/Architecture.md +760 -0
- package/docs/Prompts System/Index.md +223 -0
- package/docs/Prompts System/PromptsRouting.md +1047 -0
- package/docs/Prompts System/PromptsTemplates.md +1102 -0
- package/docs/Prompts System/README.md +389 -0
- package/docs/Prompts System/SystemPrompts.md +856 -0
- package/docs/Quickstart.md +535 -0
- package/docs/README.md +410 -0
- package/docs/Tools/Architecture.md +884 -0
- package/docs/Tools/GettingStarted.md +624 -0
- package/docs/Tools/Index.md +216 -0
- package/docs/Tools/ManifestReference.md +141 -0
- package/docs/Tools/README.md +440 -0
- package/docs/Tools/UserGuide.md +773 -0
- package/docs/Troubleshooting.md +1265 -0
- package/docs/UI&Settings/Architecture.md +729 -0
- package/docs/UI&Settings/ColorASCII.md +34 -0
- package/docs/UI&Settings/Commands.md +755 -0
- package/docs/UI&Settings/Configuration.md +872 -0
- package/docs/UI&Settings/Index.md +293 -0
- package/docs/UI&Settings/Keybinds.md +372 -0
- package/docs/UI&Settings/README.md +278 -0
- package/docs/UI&Settings/Terminal.md +637 -0
- package/docs/UI&Settings/Themes.md +604 -0
- package/docs/UI&Settings/UIGuide.md +550 -0
- package/package.json +82 -0
|
@@ -0,0 +1,1086 @@
|
|
|
1
|
+
# MCP Architecture
|
|
2
|
+
|
|
3
|
+
**Model Context Protocol Integration for OLLM CLI**
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
1. [Overview](#overview)
|
|
10
|
+
2. [System Architecture](#system-architecture)
|
|
11
|
+
3. [Core Components](#core-components)
|
|
12
|
+
4. [Data Flow](#data-flow)
|
|
13
|
+
5. [Integration Points](#integration-points)
|
|
14
|
+
6. [Design Decisions](#design-decisions)
|
|
15
|
+
7. [Security Model](#security-model)
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Overview
|
|
20
|
+
|
|
21
|
+
The MCP (Model Context Protocol) integration in OLLM CLI provides a comprehensive extensibility framework that enables:
|
|
22
|
+
|
|
23
|
+
- **External Tool Integration**: Connect to MCP servers to access external tools
|
|
24
|
+
- **Event-Driven Hooks**: Execute custom scripts at specific lifecycle points
|
|
25
|
+
- **Extension System**: Package and distribute functionality via manifests
|
|
26
|
+
- **OAuth Authentication**: Secure access to protected MCP servers
|
|
27
|
+
- **Health Monitoring**: Automatic detection and recovery from server failures
|
|
28
|
+
|
|
29
|
+
### Key Features
|
|
30
|
+
|
|
31
|
+
- ✅ Multiple transport types (stdio, SSE, HTTP)
|
|
32
|
+
- ✅ OAuth 2.0 with PKCE flow
|
|
33
|
+
- ✅ Automatic health monitoring and restart
|
|
34
|
+
- ✅ Tools, resources, and prompts support
|
|
35
|
+
- ✅ Event-driven hook system
|
|
36
|
+
- ✅ Extension marketplace with hot-reload
|
|
37
|
+
- ✅ Permission-based sandboxing
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## System Architecture
|
|
42
|
+
|
|
43
|
+
### High-Level Architecture
|
|
44
|
+
|
|
45
|
+
```mermaid
|
|
46
|
+
graph TB
|
|
47
|
+
subgraph OLLM_CLI["OLLM CLI"]
|
|
48
|
+
HookSystem["Hook System"]
|
|
49
|
+
ExtManager["Extension Manager"]
|
|
50
|
+
MCPClient["MCP Client"]
|
|
51
|
+
|
|
52
|
+
MessageBus["MessageBus"]
|
|
53
|
+
ManifestParser["Manifest Parser"]
|
|
54
|
+
ToolWrapper["Tool Wrapper"]
|
|
55
|
+
|
|
56
|
+
TrustModel["Trust Model"]
|
|
57
|
+
SettingsInt["Settings Integration"]
|
|
58
|
+
HealthMonitor["Health Monitor"]
|
|
59
|
+
|
|
60
|
+
ExtManager --> HookSystem
|
|
61
|
+
ExtManager --> MCPClient
|
|
62
|
+
|
|
63
|
+
HookSystem --> MessageBus
|
|
64
|
+
ExtManager --> ManifestParser
|
|
65
|
+
MCPClient --> ToolWrapper
|
|
66
|
+
|
|
67
|
+
MessageBus --> TrustModel
|
|
68
|
+
ManifestParser --> SettingsInt
|
|
69
|
+
ToolWrapper --> HealthMonitor
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
OLLM_CLI --> ToolRegistry["Tool Registry"]
|
|
73
|
+
ToolRegistry --> Agent["Agent/Model"]
|
|
74
|
+
|
|
75
|
+
style OLLM_CLI fill:#f9f,stroke:#333,stroke-width:2px
|
|
76
|
+
style ToolRegistry fill:#bbf,stroke:#333,stroke-width:2px
|
|
77
|
+
style Agent fill:#bfb,stroke:#333,stroke-width:2px
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Component Interaction Flow
|
|
81
|
+
|
|
82
|
+
**Extension Loading:**
|
|
83
|
+
|
|
84
|
+
```mermaid
|
|
85
|
+
flowchart LR
|
|
86
|
+
EM[Extension Manager] --> MP[Manifest Parser]
|
|
87
|
+
MP --> VS[Validate Schema]
|
|
88
|
+
VS --> HR[Hook Registry]
|
|
89
|
+
VS --> MC[MCP Client]
|
|
90
|
+
VS --> TR[Tool Registry]
|
|
91
|
+
|
|
92
|
+
HR -.register hooks.-> HR
|
|
93
|
+
MC -.start servers.-> MC
|
|
94
|
+
TR -.register tools.-> TR
|
|
95
|
+
|
|
96
|
+
style EM fill:#e1f5ff
|
|
97
|
+
style VS fill:#fff4e1
|
|
98
|
+
style HR fill:#e8f5e9
|
|
99
|
+
style MC fill:#f3e5f5
|
|
100
|
+
style TR fill:#fce4ec
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
**Hook Execution:**
|
|
104
|
+
|
|
105
|
+
```mermaid
|
|
106
|
+
flowchart TD
|
|
107
|
+
ET[Event Trigger] --> MB[MessageBus]
|
|
108
|
+
MB --> HP[Hook Planner]
|
|
109
|
+
HP --> IH[Identify Hooks]
|
|
110
|
+
IH --> TM[Trust Model]
|
|
111
|
+
TM --> VA[Verify Approval]
|
|
112
|
+
VA --> HR[Hook Runner]
|
|
113
|
+
HR --> EX[Execute with Timeout]
|
|
114
|
+
EX --> HT[Hook Translator]
|
|
115
|
+
HT --> PO[Parse Output]
|
|
116
|
+
PO --> SYS[System]
|
|
117
|
+
SYS --> PR[Process Results]
|
|
118
|
+
|
|
119
|
+
style ET fill:#e1f5ff
|
|
120
|
+
style MB fill:#fff4e1
|
|
121
|
+
style TM fill:#ffe1e1
|
|
122
|
+
style HR fill:#e8f5e9
|
|
123
|
+
style SYS fill:#f3e5f5
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**MCP Tool Call:**
|
|
127
|
+
|
|
128
|
+
```mermaid
|
|
129
|
+
flowchart LR
|
|
130
|
+
A[Agent] --> TR[Tool Registry]
|
|
131
|
+
TR --> TW[Tool Wrapper]
|
|
132
|
+
TW --> MC[MCP Client]
|
|
133
|
+
MC --> MS[MCP Server]
|
|
134
|
+
MS --> MC
|
|
135
|
+
MC --> TW
|
|
136
|
+
TW --> FR[Format Response]
|
|
137
|
+
FR --> A
|
|
138
|
+
|
|
139
|
+
style A fill:#e1f5ff
|
|
140
|
+
style TR fill:#fff4e1
|
|
141
|
+
style MC fill:#f3e5f5
|
|
142
|
+
style MS fill:#e8f5e9
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
## Core Components
|
|
148
|
+
|
|
149
|
+
### 1. MCP Client
|
|
150
|
+
|
|
151
|
+
**Location:** `packages/core/src/mcp/mcpClient.ts`
|
|
152
|
+
|
|
153
|
+
**Responsibilities:**
|
|
154
|
+
|
|
155
|
+
- Manage MCP server lifecycle (start, stop, status)
|
|
156
|
+
- Handle multiple servers simultaneously
|
|
157
|
+
- Discover tools, resources, and prompts
|
|
158
|
+
- Route tool calls to appropriate servers
|
|
159
|
+
- Handle connection timeouts and failures
|
|
160
|
+
|
|
161
|
+
**Key Methods:**
|
|
162
|
+
|
|
163
|
+
```typescript
|
|
164
|
+
interface MCPClient {
|
|
165
|
+
startServer(name: string, config: MCPServerConfig): Promise<void>;
|
|
166
|
+
stopServer(name: string): Promise<void>;
|
|
167
|
+
getServerStatus(name: string): MCPServerStatus;
|
|
168
|
+
listServers(): MCPServerInfo[];
|
|
169
|
+
callTool(serverName: string, toolName: string, args: unknown): Promise<unknown>;
|
|
170
|
+
getTools(serverName: string): Promise<MCPTool[]>;
|
|
171
|
+
getResources(serverName: string): Promise<MCPResource[]>;
|
|
172
|
+
getPrompts(serverName: string): Promise<MCPPrompt[]>;
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Features:**
|
|
177
|
+
|
|
178
|
+
- Connection timeout handling (default: 10 seconds)
|
|
179
|
+
- Automatic retry with exponential backoff
|
|
180
|
+
- Multi-server management
|
|
181
|
+
- Server status tracking (starting, connected, disconnected, error)
|
|
182
|
+
|
|
183
|
+
### 2. MCP Transport
|
|
184
|
+
|
|
185
|
+
**Location:** `packages/core/src/mcp/mcpTransport.ts`
|
|
186
|
+
|
|
187
|
+
**Responsibilities:**
|
|
188
|
+
|
|
189
|
+
- Handle communication with MCP servers
|
|
190
|
+
- Support multiple transport types
|
|
191
|
+
- Manage connection lifecycle
|
|
192
|
+
- Parse server responses
|
|
193
|
+
|
|
194
|
+
**Transport Types:**
|
|
195
|
+
|
|
196
|
+
#### Stdio Transport
|
|
197
|
+
|
|
198
|
+
- Communicates via stdin/stdout
|
|
199
|
+
- Primary transport for local MCP servers
|
|
200
|
+
- Process spawning and management
|
|
201
|
+
|
|
202
|
+
```typescript
|
|
203
|
+
{
|
|
204
|
+
command: 'node',
|
|
205
|
+
args: ['server.js'],
|
|
206
|
+
transport: 'stdio'
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
#### SSE Transport
|
|
211
|
+
|
|
212
|
+
- Server-Sent Events over HTTP
|
|
213
|
+
- Suitable for remote servers
|
|
214
|
+
- Long-lived connections
|
|
215
|
+
|
|
216
|
+
```typescript
|
|
217
|
+
{
|
|
218
|
+
command: 'http://localhost:3000/mcp',
|
|
219
|
+
transport: 'sse'
|
|
220
|
+
}
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
#### HTTP Transport
|
|
224
|
+
|
|
225
|
+
- Standard HTTP requests
|
|
226
|
+
- Stateless communication
|
|
227
|
+
- Simple integration
|
|
228
|
+
|
|
229
|
+
```typescript
|
|
230
|
+
{
|
|
231
|
+
command: 'http://localhost:3000/mcp',
|
|
232
|
+
transport: 'http'
|
|
233
|
+
}
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 3. MCP Schema Converter
|
|
237
|
+
|
|
238
|
+
**Location:** `packages/core/src/mcp/mcpSchemaConverter.ts`
|
|
239
|
+
|
|
240
|
+
**Responsibilities:**
|
|
241
|
+
|
|
242
|
+
- Convert MCP tool schemas to internal format
|
|
243
|
+
- Map parameter types correctly
|
|
244
|
+
- Preserve descriptions and constraints
|
|
245
|
+
- Handle optional and required parameters
|
|
246
|
+
|
|
247
|
+
**Type Mapping:**
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
MCP Type → Internal Type
|
|
251
|
+
string → string
|
|
252
|
+
number → number
|
|
253
|
+
boolean → boolean
|
|
254
|
+
object → object
|
|
255
|
+
array → array
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### 4. MCP Tool Wrapper
|
|
259
|
+
|
|
260
|
+
**Location:** `packages/core/src/mcp/mcpToolWrapper.ts`
|
|
261
|
+
|
|
262
|
+
**Responsibilities:**
|
|
263
|
+
|
|
264
|
+
- Wrap MCP tools as internal tools
|
|
265
|
+
- Convert arguments to MCP format
|
|
266
|
+
- Convert results from MCP format
|
|
267
|
+
- Handle errors and timeouts
|
|
268
|
+
- Format responses for display
|
|
269
|
+
|
|
270
|
+
**Workflow:**
|
|
271
|
+
|
|
272
|
+
1. Agent selects tool from registry
|
|
273
|
+
2. Wrapper converts arguments to MCP format
|
|
274
|
+
3. Wrapper sends request to MCP client
|
|
275
|
+
4. MCP client routes to appropriate server
|
|
276
|
+
5. Server executes tool and returns result
|
|
277
|
+
6. Wrapper converts result to internal format
|
|
278
|
+
7. Result displayed to user
|
|
279
|
+
|
|
280
|
+
### 5. MCP Health Monitor
|
|
281
|
+
|
|
282
|
+
**Location:** `packages/core/src/mcp/mcpHealthMonitor.ts`
|
|
283
|
+
|
|
284
|
+
**Responsibilities:**
|
|
285
|
+
|
|
286
|
+
- Periodic health checks (default: 30 seconds)
|
|
287
|
+
- Detect server failures
|
|
288
|
+
- Automatic restart with exponential backoff
|
|
289
|
+
- Track restart attempts (max: 3)
|
|
290
|
+
- Emit health events
|
|
291
|
+
|
|
292
|
+
**Health States:**
|
|
293
|
+
|
|
294
|
+
- `healthy` - Server responding normally
|
|
295
|
+
- `degraded` - Server slow or intermittent
|
|
296
|
+
- `failed` - Server not responding
|
|
297
|
+
- `restarting` - Attempting to restart
|
|
298
|
+
|
|
299
|
+
**Features:**
|
|
300
|
+
|
|
301
|
+
- Configurable check interval
|
|
302
|
+
- Configurable max restart attempts
|
|
303
|
+
- Event emission for monitoring
|
|
304
|
+
- Manual restart capability
|
|
305
|
+
- Status tracking per server
|
|
306
|
+
|
|
307
|
+
### 6. MCP OAuth Provider
|
|
308
|
+
|
|
309
|
+
**Location:** `packages/core/src/mcp/mcpOAuth.ts`
|
|
310
|
+
|
|
311
|
+
**Responsibilities:**
|
|
312
|
+
|
|
313
|
+
- OAuth 2.0 authentication with PKCE
|
|
314
|
+
- Secure token storage (keychain + encrypted file)
|
|
315
|
+
- Automatic token refresh
|
|
316
|
+
- Browser-based authorization flow
|
|
317
|
+
- Token revocation
|
|
318
|
+
|
|
319
|
+
**OAuth Flow:**
|
|
320
|
+
|
|
321
|
+
1. Discover OAuth endpoints from server
|
|
322
|
+
2. Generate PKCE code verifier and challenge
|
|
323
|
+
3. Open browser for user authorization
|
|
324
|
+
4. Start local callback server
|
|
325
|
+
5. Receive authorization code
|
|
326
|
+
6. Exchange code for access token
|
|
327
|
+
7. Store token securely
|
|
328
|
+
8. Refresh token before expiration
|
|
329
|
+
|
|
330
|
+
**Token Storage:**
|
|
331
|
+
|
|
332
|
+
- **Primary:** Platform keychain (via keytar)
|
|
333
|
+
- **Fallback:** Encrypted file storage
|
|
334
|
+
- **Encryption:** AES-256-GCM
|
|
335
|
+
- **Isolation:** Per-server tokens
|
|
336
|
+
|
|
337
|
+
### 7. Hook System
|
|
338
|
+
|
|
339
|
+
**Location:** `packages/core/src/hooks/`
|
|
340
|
+
|
|
341
|
+
**Components:**
|
|
342
|
+
|
|
343
|
+
- **HookRegistry**: Registration and storage
|
|
344
|
+
- **HookPlanner**: Execution strategy planning
|
|
345
|
+
- **HookRunner**: Execution with timeout
|
|
346
|
+
- **HookTranslator**: Input/output translation
|
|
347
|
+
- **TrustedHooks**: Trust verification
|
|
348
|
+
- **MessageBus**: Event-driven architecture
|
|
349
|
+
|
|
350
|
+
**Hook Events (12 types):**
|
|
351
|
+
|
|
352
|
+
1. `session_start` - Session initialization
|
|
353
|
+
2. `session_end` - Session cleanup
|
|
354
|
+
3. `before_agent` - Before agent processes request
|
|
355
|
+
4. `after_agent` - After agent response
|
|
356
|
+
5. `before_model` - Before model invocation
|
|
357
|
+
6. `after_model` - After model response
|
|
358
|
+
7. `before_tool_selection` - Before tool selection
|
|
359
|
+
8. `before_tool` - Before tool execution
|
|
360
|
+
9. `after_tool` - After tool execution
|
|
361
|
+
10. `pre_compress` - Before context compression
|
|
362
|
+
11. `post_compress` - After context compression
|
|
363
|
+
12. `notification` - System notifications
|
|
364
|
+
|
|
365
|
+
**Execution Strategies:**
|
|
366
|
+
|
|
367
|
+
- **Sequential**: Execute hooks one after another
|
|
368
|
+
- **Parallel**: Execute hooks concurrently
|
|
369
|
+
- **Optimized**: Smart parallel detection
|
|
370
|
+
- **Priority**: Execute by priority order
|
|
371
|
+
|
|
372
|
+
### 8. Extension Manager
|
|
373
|
+
|
|
374
|
+
**Location:** `packages/core/src/extensions/extensionManager.ts`
|
|
375
|
+
|
|
376
|
+
**Responsibilities:**
|
|
377
|
+
|
|
378
|
+
- Discover extensions from directories
|
|
379
|
+
- Parse and validate manifests
|
|
380
|
+
- Enable/disable extensions
|
|
381
|
+
- Register hooks and MCP servers
|
|
382
|
+
- Manage extension lifecycle
|
|
383
|
+
- Hot-reload during development
|
|
384
|
+
|
|
385
|
+
**Extension Discovery:**
|
|
386
|
+
|
|
387
|
+
- User directory: `~/.ollm/extensions/`
|
|
388
|
+
- Workspace directory: `.ollm/extensions/`
|
|
389
|
+
- Recursive scanning for `manifest.json`
|
|
390
|
+
|
|
391
|
+
**Extension Lifecycle:**
|
|
392
|
+
|
|
393
|
+
1. Discovery (scan directories)
|
|
394
|
+
2. Parsing (validate manifest)
|
|
395
|
+
3. Registration (hooks, servers, settings)
|
|
396
|
+
4. Enabling (start servers, register tools)
|
|
397
|
+
5. Disabling (stop servers, unregister tools)
|
|
398
|
+
6. Reloading (graceful restart)
|
|
399
|
+
|
|
400
|
+
### 9. Extension Registry
|
|
401
|
+
|
|
402
|
+
**Location:** `packages/core/src/extensions/extensionRegistry.ts`
|
|
403
|
+
|
|
404
|
+
**Responsibilities:**
|
|
405
|
+
|
|
406
|
+
- Extension marketplace integration
|
|
407
|
+
- Search and discovery
|
|
408
|
+
- Installation from remote URLs
|
|
409
|
+
- Checksum verification (SHA-256)
|
|
410
|
+
- Version management
|
|
411
|
+
- Update checking
|
|
412
|
+
|
|
413
|
+
**Features:**
|
|
414
|
+
|
|
415
|
+
- Full-text search with relevance scoring
|
|
416
|
+
- Registry caching (5-minute expiry)
|
|
417
|
+
- Integrity verification
|
|
418
|
+
- Automatic updates (optional)
|
|
419
|
+
|
|
420
|
+
### 10. Extension Sandbox
|
|
421
|
+
|
|
422
|
+
**Location:** `packages/core/src/extensions/extensionSandbox.ts`
|
|
423
|
+
|
|
424
|
+
**Responsibilities:**
|
|
425
|
+
|
|
426
|
+
- Permission-based access control
|
|
427
|
+
- Runtime enforcement
|
|
428
|
+
- User approval prompts
|
|
429
|
+
- Dynamic permission management
|
|
430
|
+
|
|
431
|
+
**Permission Types:**
|
|
432
|
+
|
|
433
|
+
1. **filesystem**: File system access (path-based)
|
|
434
|
+
2. **network**: Network access (domain-based)
|
|
435
|
+
3. **env**: Environment variable access
|
|
436
|
+
4. **shell**: Shell command execution
|
|
437
|
+
5. **mcp**: MCP server access
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
## Data Flow
|
|
442
|
+
|
|
443
|
+
### Extension Loading Flow
|
|
444
|
+
|
|
445
|
+
```mermaid
|
|
446
|
+
flowchart TD
|
|
447
|
+
Start[CLI Startup] --> Init[Extension Manager Initialization]
|
|
448
|
+
Init --> Scan[Scan Extension Directories]
|
|
449
|
+
Scan --> UserDir["~/.ollm/extensions/"]
|
|
450
|
+
Scan --> WorkDir[".ollm/extensions/"]
|
|
451
|
+
|
|
452
|
+
UserDir --> ForEach[For Each Extension Directory]
|
|
453
|
+
WorkDir --> ForEach
|
|
454
|
+
|
|
455
|
+
ForEach --> FindManifest[Find manifest.json]
|
|
456
|
+
FindManifest --> Parse[Parse and Validate Manifest]
|
|
457
|
+
Parse --> CheckEnabled{Check Enabled State}
|
|
458
|
+
|
|
459
|
+
CheckEnabled -->|Enabled| RegHooks[Register Hooks]
|
|
460
|
+
CheckEnabled -->|Disabled| Skip[Skip Extension]
|
|
461
|
+
|
|
462
|
+
RegHooks --> StartServers[Start MCP Servers]
|
|
463
|
+
StartServers --> RegTools[Register Tools]
|
|
464
|
+
RegTools --> MergeSettings[Merge Settings]
|
|
465
|
+
|
|
466
|
+
MergeSettings --> Ready[Extension System Ready]
|
|
467
|
+
Skip --> Ready
|
|
468
|
+
|
|
469
|
+
style Start fill:#e1f5ff
|
|
470
|
+
style Ready fill:#e8f5e9
|
|
471
|
+
style CheckEnabled fill:#fff4e1
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### Hook Execution Flow
|
|
475
|
+
|
|
476
|
+
```mermaid
|
|
477
|
+
flowchart TD
|
|
478
|
+
Event[Event Occurs] --> MB[MessageBus Emits Event]
|
|
479
|
+
MB --> Handler[Hook Event Handler Receives Event]
|
|
480
|
+
Handler --> Planner[Hook Planner Plans Execution]
|
|
481
|
+
|
|
482
|
+
Planner --> Identify[Identify Registered Hooks]
|
|
483
|
+
Planner --> Strategy[Determine Execution Strategy]
|
|
484
|
+
Planner --> Plan[Create Execution Plan]
|
|
485
|
+
|
|
486
|
+
Plan --> ForEach[For Each Hook]
|
|
487
|
+
ForEach --> Trust{Trust Model Checks Approval}
|
|
488
|
+
|
|
489
|
+
Trust -->|Approved| Execute[Hook Runner Executes Hook]
|
|
490
|
+
Trust -->|Not Approved| RequestApproval[Request User Approval]
|
|
491
|
+
|
|
492
|
+
Execute --> Translate[Hook Translator Converts I/O]
|
|
493
|
+
Translate --> Capture[Capture Output]
|
|
494
|
+
|
|
495
|
+
Capture --> Process[Process Hook Outputs]
|
|
496
|
+
RequestApproval --> Process
|
|
497
|
+
|
|
498
|
+
Process --> CheckContinue{Check continue Flag}
|
|
499
|
+
Process --> AddMessages[Add systemMessages to Context]
|
|
500
|
+
Process --> PassData[Pass Data to Next Hook]
|
|
501
|
+
|
|
502
|
+
CheckContinue --> Return[Return Aggregated Results]
|
|
503
|
+
AddMessages --> Return
|
|
504
|
+
PassData --> Return
|
|
505
|
+
|
|
506
|
+
style Event fill:#e1f5ff
|
|
507
|
+
style Trust fill:#ffe1e1
|
|
508
|
+
style Execute fill:#e8f5e9
|
|
509
|
+
style Return fill:#f3e5f5
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
### MCP Tool Call Flow
|
|
513
|
+
|
|
514
|
+
```mermaid
|
|
515
|
+
flowchart TD
|
|
516
|
+
Agent[Agent Selects Tool] --> Lookup[Tool Registry Lookup]
|
|
517
|
+
Lookup --> Wrapper[Tool Wrapper Receives Call]
|
|
518
|
+
Wrapper --> Convert[Convert Arguments to MCP Format]
|
|
519
|
+
Convert --> Route[MCP Client Routes to Server]
|
|
520
|
+
Route --> Transport[MCP Transport Sends Request]
|
|
521
|
+
|
|
522
|
+
Transport --> Stdio[Stdio: Write to stdin]
|
|
523
|
+
Transport --> SSE[SSE: POST to endpoint]
|
|
524
|
+
Transport --> HTTP[HTTP: POST request]
|
|
525
|
+
|
|
526
|
+
Stdio --> Server[MCP Server Processes Request]
|
|
527
|
+
SSE --> Server
|
|
528
|
+
HTTP --> Server
|
|
529
|
+
|
|
530
|
+
Server --> Receive[MCP Transport Receives Response]
|
|
531
|
+
Receive --> ConvertResult[Tool Wrapper Converts Result]
|
|
532
|
+
ConvertResult --> Format[Format for Display]
|
|
533
|
+
Format --> Return[Return to Agent]
|
|
534
|
+
|
|
535
|
+
style Agent fill:#e1f5ff
|
|
536
|
+
style Server fill:#e8f5e9
|
|
537
|
+
style Return fill:#f3e5f5
|
|
538
|
+
```
|
|
539
|
+
|
|
540
|
+
### OAuth Authentication Flow
|
|
541
|
+
|
|
542
|
+
```mermaid
|
|
543
|
+
flowchart TD
|
|
544
|
+
Start[Extension Requires OAuth Server] --> Check{MCP Client Checks for Token}
|
|
545
|
+
|
|
546
|
+
Check -->|No Token| Discover[OAuth Provider Discovers Endpoints]
|
|
547
|
+
Check -->|Token Exists| CheckExp{Check Expiration}
|
|
548
|
+
|
|
549
|
+
Discover --> PKCE[Generate PKCE Challenge]
|
|
550
|
+
PKCE --> Browser[Open Browser for Authorization]
|
|
551
|
+
Browser --> Callback[Start Local Callback Server]
|
|
552
|
+
Callback --> UserAuth[User Authorizes in Browser]
|
|
553
|
+
UserAuth --> ReceiveCode[Receive Authorization Code]
|
|
554
|
+
ReceiveCode --> Exchange[Exchange Code for Token]
|
|
555
|
+
Exchange --> Store[Store Token Securely]
|
|
556
|
+
|
|
557
|
+
Store --> AddToken[Add Token to Request Headers]
|
|
558
|
+
|
|
559
|
+
CheckExp -->|Expired| Refresh[Refresh Token]
|
|
560
|
+
CheckExp -->|Valid| AddToken
|
|
561
|
+
|
|
562
|
+
Refresh --> AddToken
|
|
563
|
+
AddToken --> Validate[MCP Server Validates Token]
|
|
564
|
+
Validate --> Process[Process Request]
|
|
565
|
+
|
|
566
|
+
style Start fill:#e1f5ff
|
|
567
|
+
style Check fill:#fff4e1
|
|
568
|
+
style UserAuth fill:#ffe1e1
|
|
569
|
+
style Store fill:#e8f5e9
|
|
570
|
+
style Process fill:#f3e5f5
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
## Integration Points
|
|
576
|
+
|
|
577
|
+
### 1. Tool Registry Integration
|
|
578
|
+
|
|
579
|
+
**Purpose:** Make MCP tools available to the agent
|
|
580
|
+
|
|
581
|
+
**Flow:**
|
|
582
|
+
|
|
583
|
+
```typescript
|
|
584
|
+
// Extension loads MCP server
|
|
585
|
+
extensionManager.loadExtension(extension);
|
|
586
|
+
|
|
587
|
+
// MCP client starts server
|
|
588
|
+
mcpClient.startServer('github', config);
|
|
589
|
+
|
|
590
|
+
// Discover tools
|
|
591
|
+
const tools = await mcpClient.getTools('github');
|
|
592
|
+
|
|
593
|
+
// Wrap and register each tool
|
|
594
|
+
tools.forEach((tool) => {
|
|
595
|
+
const wrappedTool = mcpToolWrapper.wrapTool('github', tool);
|
|
596
|
+
toolRegistry.register(wrappedTool);
|
|
597
|
+
});
|
|
598
|
+
|
|
599
|
+
// Agent can now use tools
|
|
600
|
+
const result = await agent.useTool('github_create_issue', args);
|
|
601
|
+
```
|
|
602
|
+
|
|
603
|
+
### 2. Hook System Integration
|
|
604
|
+
|
|
605
|
+
**Purpose:** Allow extensions to customize behavior
|
|
606
|
+
|
|
607
|
+
**Flow:**
|
|
608
|
+
|
|
609
|
+
```typescript
|
|
610
|
+
// Extension declares hooks in manifest
|
|
611
|
+
{
|
|
612
|
+
"hooks": {
|
|
613
|
+
"before_model": [
|
|
614
|
+
{
|
|
615
|
+
"name": "validate-input",
|
|
616
|
+
"command": "node",
|
|
617
|
+
"args": ["hooks/validate.js"]
|
|
618
|
+
}
|
|
619
|
+
]
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
// Extension manager registers hooks
|
|
624
|
+
extensionManager.registerHooks(extension);
|
|
625
|
+
|
|
626
|
+
// MessageBus emits event
|
|
627
|
+
messageBus.emit('before_model', { messages, model });
|
|
628
|
+
|
|
629
|
+
// Hook executes and returns output
|
|
630
|
+
const output = await hookRunner.executeHook(hook, input);
|
|
631
|
+
|
|
632
|
+
// System processes output
|
|
633
|
+
if (!output.continue) {
|
|
634
|
+
throw new Error('Hook aborted operation');
|
|
635
|
+
}
|
|
636
|
+
if (output.systemMessage) {
|
|
637
|
+
messages.push({ role: 'system', content: output.systemMessage });
|
|
638
|
+
}
|
|
639
|
+
```
|
|
640
|
+
|
|
641
|
+
### 3. Settings Integration
|
|
642
|
+
|
|
643
|
+
**Purpose:** Allow extensions to declare configuration
|
|
644
|
+
|
|
645
|
+
**Flow:**
|
|
646
|
+
|
|
647
|
+
```typescript
|
|
648
|
+
// Extension declares settings in manifest
|
|
649
|
+
{
|
|
650
|
+
"settings": [
|
|
651
|
+
{
|
|
652
|
+
"name": "githubToken",
|
|
653
|
+
"envVar": "GITHUB_TOKEN",
|
|
654
|
+
"sensitive": true,
|
|
655
|
+
"description": "GitHub personal access token"
|
|
656
|
+
}
|
|
657
|
+
]
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
// Extension manager merges settings
|
|
661
|
+
extensionManager.mergeSettings(extension);
|
|
662
|
+
|
|
663
|
+
// Settings available to hooks and MCP servers
|
|
664
|
+
const token = process.env.GITHUB_TOKEN;
|
|
665
|
+
|
|
666
|
+
// Sensitive settings redacted in logs
|
|
667
|
+
logger.info('Token: [REDACTED]');
|
|
668
|
+
```
|
|
669
|
+
|
|
670
|
+
### 4. Service Container Integration
|
|
671
|
+
|
|
672
|
+
**Purpose:** Centralized service management
|
|
673
|
+
|
|
674
|
+
**Flow:**
|
|
675
|
+
|
|
676
|
+
```typescript
|
|
677
|
+
// Service container manages all services
|
|
678
|
+
const serviceContainer = new ServiceContainer({
|
|
679
|
+
provider,
|
|
680
|
+
config,
|
|
681
|
+
workspacePath,
|
|
682
|
+
userHome,
|
|
683
|
+
});
|
|
684
|
+
|
|
685
|
+
// Services available via getters
|
|
686
|
+
const mcpHealthMonitor = serviceContainer.getMCPHealthMonitor();
|
|
687
|
+
const mcpOAuthProvider = serviceContainer.getMCPOAuthProvider();
|
|
688
|
+
const extensionManager = serviceContainer.getExtensionManager();
|
|
689
|
+
const hookService = serviceContainer.getHookService();
|
|
690
|
+
|
|
691
|
+
// Automatic initialization and cleanup
|
|
692
|
+
await serviceContainer.initializeAll();
|
|
693
|
+
await serviceContainer.shutdown();
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
---
|
|
697
|
+
|
|
698
|
+
## Design Decisions
|
|
699
|
+
|
|
700
|
+
### 1. Custom MCP Client vs Official SDK
|
|
701
|
+
|
|
702
|
+
**Decision:** Custom implementation initially, SDK migration deferred
|
|
703
|
+
|
|
704
|
+
**Rationale:**
|
|
705
|
+
|
|
706
|
+
- Custom implementation provides full control
|
|
707
|
+
- Meets all current requirements
|
|
708
|
+
- SDK can be integrated later if needed
|
|
709
|
+
- No breaking changes to API
|
|
710
|
+
|
|
711
|
+
**Trade-offs:**
|
|
712
|
+
|
|
713
|
+
- ✅ Full control over implementation
|
|
714
|
+
- ✅ No external dependencies
|
|
715
|
+
- ❌ Must maintain compatibility manually
|
|
716
|
+
- ❌ Missing some SDK features
|
|
717
|
+
|
|
718
|
+
### 2. Event-Driven Architecture (MessageBus)
|
|
719
|
+
|
|
720
|
+
**Decision:** Implement MessageBus for hook system
|
|
721
|
+
|
|
722
|
+
**Rationale:**
|
|
723
|
+
|
|
724
|
+
- Decouples components
|
|
725
|
+
- Enables parallel execution
|
|
726
|
+
- Supports complex workflows
|
|
727
|
+
- Easy to extend
|
|
728
|
+
|
|
729
|
+
**Benefits:**
|
|
730
|
+
|
|
731
|
+
- ✅ Loose coupling
|
|
732
|
+
- ✅ Testability
|
|
733
|
+
- ✅ Extensibility
|
|
734
|
+
- ✅ Performance (parallel execution)
|
|
735
|
+
|
|
736
|
+
### 3. Trust Model with Approval
|
|
737
|
+
|
|
738
|
+
**Decision:** Require approval for untrusted hooks
|
|
739
|
+
|
|
740
|
+
**Rationale:**
|
|
741
|
+
|
|
742
|
+
- Security first approach
|
|
743
|
+
- Prevent malicious code execution
|
|
744
|
+
- User control over extensions
|
|
745
|
+
- Hash verification for changes
|
|
746
|
+
|
|
747
|
+
**Trust Levels:**
|
|
748
|
+
|
|
749
|
+
1. **Built-in**: Always trusted
|
|
750
|
+
2. **User**: Trusted by default
|
|
751
|
+
3. **Workspace**: Requires approval
|
|
752
|
+
4. **Downloaded**: Requires approval
|
|
753
|
+
|
|
754
|
+
### 4. OAuth with PKCE
|
|
755
|
+
|
|
756
|
+
**Decision:** Implement OAuth 2.0 with PKCE flow
|
|
757
|
+
|
|
758
|
+
**Rationale:**
|
|
759
|
+
|
|
760
|
+
- Industry standard for secure authentication
|
|
761
|
+
- PKCE prevents authorization code interception
|
|
762
|
+
- Supports refresh tokens
|
|
763
|
+
- Works with major providers (GitHub, Google, etc.)
|
|
764
|
+
|
|
765
|
+
**Security Features:**
|
|
766
|
+
|
|
767
|
+
- ✅ PKCE code challenge
|
|
768
|
+
- ✅ Secure token storage
|
|
769
|
+
- ✅ Automatic refresh
|
|
770
|
+
- ✅ Token revocation
|
|
771
|
+
|
|
772
|
+
### 5. Health Monitoring with Auto-Restart
|
|
773
|
+
|
|
774
|
+
**Decision:** Implement automatic health checks and restart
|
|
775
|
+
|
|
776
|
+
**Rationale:**
|
|
777
|
+
|
|
778
|
+
- Improve reliability
|
|
779
|
+
- Reduce manual intervention
|
|
780
|
+
- Better user experience
|
|
781
|
+
- Detect failures early
|
|
782
|
+
|
|
783
|
+
**Configuration:**
|
|
784
|
+
|
|
785
|
+
- Check interval: 30 seconds (configurable)
|
|
786
|
+
- Max restart attempts: 3 (configurable)
|
|
787
|
+
- Exponential backoff: 1s, 2s, 4s
|
|
788
|
+
- Manual restart available
|
|
789
|
+
|
|
790
|
+
### 6. Extension Sandboxing
|
|
791
|
+
|
|
792
|
+
**Decision:** Implement permission-based sandboxing
|
|
793
|
+
|
|
794
|
+
**Rationale:**
|
|
795
|
+
|
|
796
|
+
- Security and safety
|
|
797
|
+
- User control
|
|
798
|
+
- Prevent malicious extensions
|
|
799
|
+
- Granular permissions
|
|
800
|
+
|
|
801
|
+
**Permission Model:**
|
|
802
|
+
|
|
803
|
+
- Declared in manifest
|
|
804
|
+
- Runtime enforcement
|
|
805
|
+
- User approval prompts
|
|
806
|
+
- Dynamic granting/revoking
|
|
807
|
+
|
|
808
|
+
---
|
|
809
|
+
|
|
810
|
+
## Security Model
|
|
811
|
+
|
|
812
|
+
### 1. Hook Trust Model
|
|
813
|
+
|
|
814
|
+
**Threat:** Malicious hooks executing arbitrary code
|
|
815
|
+
|
|
816
|
+
**Mitigation:**
|
|
817
|
+
|
|
818
|
+
- Approval required for untrusted hooks
|
|
819
|
+
- Hash verification for changes
|
|
820
|
+
- Source tracking (user/workspace/downloaded)
|
|
821
|
+
- Persistent approval storage
|
|
822
|
+
|
|
823
|
+
**Implementation:**
|
|
824
|
+
|
|
825
|
+
```typescript
|
|
826
|
+
// Check if hook is trusted
|
|
827
|
+
const trusted = await trustedHooks.isTrusted(hook);
|
|
828
|
+
|
|
829
|
+
if (!trusted) {
|
|
830
|
+
// Request user approval
|
|
831
|
+
const approved = await trustedHooks.requestApproval(hook);
|
|
832
|
+
|
|
833
|
+
if (approved) {
|
|
834
|
+
// Compute and store hash
|
|
835
|
+
const hash = await trustedHooks.computeHash(hook);
|
|
836
|
+
await trustedHooks.storeApproval(hook, hash);
|
|
837
|
+
} else {
|
|
838
|
+
// Skip hook execution
|
|
839
|
+
return;
|
|
840
|
+
}
|
|
841
|
+
}
|
|
842
|
+
|
|
843
|
+
// Execute hook
|
|
844
|
+
await hookRunner.executeHook(hook, input);
|
|
845
|
+
```
|
|
846
|
+
|
|
847
|
+
### 2. OAuth Token Security
|
|
848
|
+
|
|
849
|
+
**Threat:** Token theft or exposure
|
|
850
|
+
|
|
851
|
+
**Mitigation:**
|
|
852
|
+
|
|
853
|
+
- Secure storage (keychain + encrypted file)
|
|
854
|
+
- AES-256-GCM encryption
|
|
855
|
+
- Per-server token isolation
|
|
856
|
+
- Automatic token refresh
|
|
857
|
+
- Token revocation support
|
|
858
|
+
|
|
859
|
+
**Storage Hierarchy:**
|
|
860
|
+
|
|
861
|
+
1. **Primary:** Platform keychain (keytar)
|
|
862
|
+
- Windows: Credential Manager
|
|
863
|
+
- macOS: Keychain
|
|
864
|
+
- Linux: Secret Service API
|
|
865
|
+
2. **Fallback:** Encrypted file
|
|
866
|
+
- AES-256-GCM encryption
|
|
867
|
+
- Unique key per installation
|
|
868
|
+
- Restricted file permissions
|
|
869
|
+
|
|
870
|
+
### 3. Extension Sandboxing
|
|
871
|
+
|
|
872
|
+
**Threat:** Malicious extensions accessing sensitive resources
|
|
873
|
+
|
|
874
|
+
**Mitigation:**
|
|
875
|
+
|
|
876
|
+
- Permission-based access control
|
|
877
|
+
- Runtime enforcement
|
|
878
|
+
- User approval prompts
|
|
879
|
+
- Granular permissions
|
|
880
|
+
|
|
881
|
+
**Permission Enforcement:**
|
|
882
|
+
|
|
883
|
+
```typescript
|
|
884
|
+
// Check permission before access
|
|
885
|
+
const allowed = await sandbox.checkPermission(extensionName, 'filesystem', '/path/to/file');
|
|
886
|
+
|
|
887
|
+
if (!allowed) {
|
|
888
|
+
// Request user approval
|
|
889
|
+
const granted = await sandbox.requestPermission(extensionName, 'filesystem', '/path/to/file');
|
|
890
|
+
|
|
891
|
+
if (!granted) {
|
|
892
|
+
throw new Error('Permission denied');
|
|
893
|
+
}
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
// Proceed with access
|
|
897
|
+
fs.readFileSync('/path/to/file');
|
|
898
|
+
```
|
|
899
|
+
|
|
900
|
+
### 4. MCP Server Isolation
|
|
901
|
+
|
|
902
|
+
**Threat:** MCP server compromise affecting CLI
|
|
903
|
+
|
|
904
|
+
**Mitigation:**
|
|
905
|
+
|
|
906
|
+
- Process isolation (separate processes)
|
|
907
|
+
- Error isolation (catch and log)
|
|
908
|
+
- Timeout enforcement
|
|
909
|
+
- Health monitoring
|
|
910
|
+
- Automatic restart
|
|
911
|
+
|
|
912
|
+
**Error Handling:**
|
|
913
|
+
|
|
914
|
+
```typescript
|
|
915
|
+
try {
|
|
916
|
+
const result = await mcpClient.callTool(server, tool, args);
|
|
917
|
+
return result;
|
|
918
|
+
} catch (error) {
|
|
919
|
+
// Log error
|
|
920
|
+
logger.error(`MCP tool call failed: ${error.message}`);
|
|
921
|
+
|
|
922
|
+
// Mark server as unhealthy
|
|
923
|
+
healthMonitor.markUnhealthy(server);
|
|
924
|
+
|
|
925
|
+
// Return error to agent (don't crash CLI)
|
|
926
|
+
return { error: error.message };
|
|
927
|
+
}
|
|
928
|
+
```
|
|
929
|
+
|
|
930
|
+
### 5. Environment Variable Sanitization
|
|
931
|
+
|
|
932
|
+
**Threat:** Sensitive data exposure in logs
|
|
933
|
+
|
|
934
|
+
**Mitigation:**
|
|
935
|
+
|
|
936
|
+
- Sensitive setting redaction
|
|
937
|
+
- Environment variable filtering
|
|
938
|
+
- Secure substitution
|
|
939
|
+
- Warning for missing variables
|
|
940
|
+
|
|
941
|
+
**Redaction:**
|
|
942
|
+
|
|
943
|
+
```typescript
|
|
944
|
+
// Mark setting as sensitive
|
|
945
|
+
{
|
|
946
|
+
"name": "apiKey",
|
|
947
|
+
"envVar": "API_KEY",
|
|
948
|
+
"sensitive": true
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
// Redact in logs
|
|
952
|
+
logger.info(`API Key: ${redact(apiKey)}`); // "API Key: [REDACTED]"
|
|
953
|
+
```
|
|
954
|
+
|
|
955
|
+
---
|
|
956
|
+
|
|
957
|
+
## Performance Considerations
|
|
958
|
+
|
|
959
|
+
### 1. Parallel Hook Execution
|
|
960
|
+
|
|
961
|
+
**Optimization:** Execute independent hooks in parallel
|
|
962
|
+
|
|
963
|
+
**Implementation:**
|
|
964
|
+
|
|
965
|
+
```typescript
|
|
966
|
+
// Determine if hooks can run in parallel
|
|
967
|
+
const canParallel = hookPlanner.canExecuteInParallel(hooks, event);
|
|
968
|
+
|
|
969
|
+
if (canParallel) {
|
|
970
|
+
// Execute in parallel
|
|
971
|
+
const results = await Promise.all(hooks.map((hook) => hookRunner.executeHook(hook, input)));
|
|
972
|
+
} else {
|
|
973
|
+
// Execute sequentially
|
|
974
|
+
const results = [];
|
|
975
|
+
for (const hook of hooks) {
|
|
976
|
+
const result = await hookRunner.executeHook(hook, input);
|
|
977
|
+
results.push(result);
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
```
|
|
981
|
+
|
|
982
|
+
### 2. MCP Connection Pooling
|
|
983
|
+
|
|
984
|
+
**Optimization:** Reuse connections to MCP servers
|
|
985
|
+
|
|
986
|
+
**Implementation:**
|
|
987
|
+
|
|
988
|
+
- Keep connections alive
|
|
989
|
+
- Reuse for multiple tool calls
|
|
990
|
+
- Close on idle timeout
|
|
991
|
+
- Reconnect on failure
|
|
992
|
+
|
|
993
|
+
### 3. Extension Hot-Reload
|
|
994
|
+
|
|
995
|
+
**Optimization:** Reload without full restart
|
|
996
|
+
|
|
997
|
+
**Implementation:**
|
|
998
|
+
|
|
999
|
+
```typescript
|
|
1000
|
+
// Watch for file changes
|
|
1001
|
+
watcher.on('change', async (path) => {
|
|
1002
|
+
// Debounce changes
|
|
1003
|
+
await debounce(1000);
|
|
1004
|
+
|
|
1005
|
+
// Gracefully unload extension
|
|
1006
|
+
await extensionManager.disableExtension(name);
|
|
1007
|
+
|
|
1008
|
+
// Reload extension
|
|
1009
|
+
await extensionManager.enableExtension(name);
|
|
1010
|
+
});
|
|
1011
|
+
```
|
|
1012
|
+
|
|
1013
|
+
### 4. Registry Caching
|
|
1014
|
+
|
|
1015
|
+
**Optimization:** Cache extension registry
|
|
1016
|
+
|
|
1017
|
+
**Implementation:**
|
|
1018
|
+
|
|
1019
|
+
- Cache duration: 5 minutes
|
|
1020
|
+
- Automatic refresh on expiry
|
|
1021
|
+
- Manual refresh available
|
|
1022
|
+
- Offline fallback
|
|
1023
|
+
|
|
1024
|
+
---
|
|
1025
|
+
|
|
1026
|
+
## Future Enhancements
|
|
1027
|
+
|
|
1028
|
+
### Planned Features
|
|
1029
|
+
|
|
1030
|
+
1. **Official SDK Integration**
|
|
1031
|
+
- Migrate to `@modelcontextprotocol/sdk`
|
|
1032
|
+
- Leverage SDK features
|
|
1033
|
+
- Maintain API compatibility
|
|
1034
|
+
|
|
1035
|
+
2. **Advanced Health Monitoring**
|
|
1036
|
+
- Metrics collection
|
|
1037
|
+
- Performance tracking
|
|
1038
|
+
- Alerting system
|
|
1039
|
+
- Dashboard view
|
|
1040
|
+
|
|
1041
|
+
3. **Extension Marketplace**
|
|
1042
|
+
- Public registry
|
|
1043
|
+
- Community extensions
|
|
1044
|
+
- Ratings and reviews
|
|
1045
|
+
- Automatic updates
|
|
1046
|
+
|
|
1047
|
+
4. **Enhanced Sandboxing**
|
|
1048
|
+
- Container-based isolation
|
|
1049
|
+
- Resource limits (CPU, memory)
|
|
1050
|
+
- Network policies
|
|
1051
|
+
- Audit logging
|
|
1052
|
+
|
|
1053
|
+
5. **Telemetry and Observability**
|
|
1054
|
+
- Hook execution metrics
|
|
1055
|
+
- MCP call tracing
|
|
1056
|
+
- Performance profiling
|
|
1057
|
+
- Error tracking
|
|
1058
|
+
|
|
1059
|
+
---
|
|
1060
|
+
|
|
1061
|
+
## References
|
|
1062
|
+
|
|
1063
|
+
### Internal Documentation
|
|
1064
|
+
|
|
1065
|
+
- [MCP Integration Guide](MCP_integration.md)
|
|
1066
|
+
- [MCP Commands Reference](MCP_commands.md)
|
|
1067
|
+
- [Hook System Guide](3%20projects/OLLM%20CLI/Hooks/README.md)
|
|
1068
|
+
- [Extension Development Guide](3%20projects/OLLM%20CLI/Extensions/README.md)
|
|
1069
|
+
|
|
1070
|
+
### Specifications
|
|
1071
|
+
|
|
1072
|
+
- Requirements (.kiro/specs/stage-05-hooks-extensions-mcp/requirements.md)
|
|
1073
|
+
- Design (.kiro/specs/stage-05-hooks-extensions-mcp/design.md)
|
|
1074
|
+
- Tasks (.kiro/specs/stage-05-hooks-extensions-mcp/tasks.md)
|
|
1075
|
+
|
|
1076
|
+
### External References
|
|
1077
|
+
|
|
1078
|
+
- MCP Specification (https://spec.modelcontextprotocol.io/)
|
|
1079
|
+
- OAuth 2.0 RFC 6749 (https://tools.ietf.org/html/rfc6749)
|
|
1080
|
+
- PKCE RFC 7636 (https://tools.ietf.org/html/rfc7636)
|
|
1081
|
+
|
|
1082
|
+
---
|
|
1083
|
+
|
|
1084
|
+
**Document Version:** 1.0
|
|
1085
|
+
**Last Updated:** 2026-01-16
|
|
1086
|
+
**Status:** ✅ Complete
|