generated from JetBrains/intellij-platform-plugin-template
-
Notifications
You must be signed in to change notification settings - Fork 480
Closed
Description
Summary
Integrate IntelliJ IDEA's ToolchainFunctionProvider extension point with mpp-core's ToolOrchestrator and ToolRegistry system.
Background
Currently, mpp-idea has its own tool extension mechanism via ToolchainFunctionProvider (IntelliJ Extension Point), which includes:
DatabaseFunctionProvider- Database schema and query toolsKnowledgeFunctionProvider- API call chain analysisComponentViewFunctionProvider- UI component analysisHistoryFunctionProvider- Code history analysisMcpFunctionProvider- MCP integration
Meanwhile, mpp-core has a unified tool system with:
Tool/ExecutableTool<TParams, TResult>interfacesToolRegistryfor tool managementToolProviderinterface for tool discoveryToolOrchestratorfor tool execution
Goal
Create an adapter layer to bridge these two systems, allowing IDEA-specific tools to be used by CodingAgent through the unified ToolOrchestrator.
Implementation Plan
- ToolchainFunctionAdapter - Wraps
ToolchainFunctionProviderasExecutableTool - IdeaToolProvider - Implements
ToolProviderto collect allToolchainFunctionProviderextensions - Integration - Register
IdeaToolProviderwhen creatingCodingAgentin IDEA
Architecture
ToolchainFunctionProvider (IDEA Extension)
↓
ToolchainFunctionAdapter (wraps as ExecutableTool)
↓
IdeaToolProvider (implements ToolProvider)
↓
ToolProviderRegistry → ToolRegistry → ToolOrchestrator → CodingAgent
Files to Create/Modify
-
mpp-idea/src/main/kotlin/cc/unitmesh/devins/idea/tool/ToolchainFunctionAdapter.kt -
mpp-idea/src/main/kotlin/cc/unitmesh/devins/idea/tool/IdeaToolProvider.kt - Modify
IdeaAgentViewModel.ktto register IDEA tools
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels