Frontmatter
| id | 8178 |
| title | Refactor: Extract ComponentService from ConnectionService |
| state | Closed |
| labels | airefactoringarchitecture |
| assignees | tobiu |
| createdAt | Dec 28, 2025, 7:41 PM |
| updatedAt | Dec 28, 2025, 7:53 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8178 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8169 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Dec 28, 2025, 7:53 PM |
Refactor: Extract ComponentService from ConnectionService
tobiu added parent issue #8169 on Dec 28, 2025, 7:42 PM
tobiu assigned to @tobiu on Dec 28, 2025, 7:51 PM

tobiu
Dec 28, 2025, 7:53 PM
Input from Gemini 3.0:
✦ I have completed the refactoring to extract
ComponentService.Key Architectural Changes:
ComponentService Creation:
- Created
ai/mcp/server/neural-link/services/ComponentService.mjs.- This service now owns all component-related logic:
getComponentTree,getVdomTree,getVnodeTree,getComponentProperty, andsetComponentProperty.ConnectionService Refactoring:
- Critical Change: The internal
#callmethod has been renamed tocalland made public. This transformsConnectionServiceinto a pure transport layer that other services can utilize to send RPC messages to the App Worker.- Removed the component logic, significantly reducing the "God Object" complexity.
Tool Routing:
- Updated
toolService.mjsto route the component-related tool calls to the newComponentService.This establishes the pattern for the upcoming
RuntimeServiceandInteractionServiceextractions.
tobiu closed this issue on Dec 28, 2025, 7:53 PM
Refactor the
Neural Linkarchitecture by extracting component-related logic fromConnectionServiceinto a dedicatedComponentService.Scope:
ai/mcp/server/neural-link/services/ComponentService.mjs.ConnectionService:getComponentTreegetComponentPropertysetComponentPropertygetVdomTreegetVnodeTreetoolService.mjsto use the new service.ComponentServiceusesConnectionServicefor transport (RPC calls).Goal: Reduce the responsibility of
ConnectionServiceand prepare for more complex component operations.