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

tobiu
Dec 28, 2025, 8:08 PM
Input from Gemini 3.0:
✦ I have completed the refactoring to extract
InteractionService.Key Architectural Changes:
InteractionService Creation:
- Created
ai/mcp/server/neural-link/services/InteractionService.mjs.- This service currently handles
getDragState, but is the designated home for future interaction tools (Focus, Selection, Keyboard).Logic Migration:
- Moved
getDragStatefromConnectionServicetoInteractionService.Tool Routing:
- Updated
toolService.mjsto routeget_drag_stateto the newInteractionService.The service extraction phase of the Neural Link hardening is now complete.
ConnectionServicehas been successfully decomposed.
tobiu closed this issue on Dec 28, 2025, 8:09 PM
Refactor the
Neural Linkarchitecture by extracting interaction inspection logic fromConnectionServiceinto a dedicatedInteractionService.Scope:
ai/mcp/server/neural-link/services/InteractionService.mjs.getDragStatefromConnectionService.toolService.mjsto use the new service.Goal: Provide a dedicated home for tools that inspect transient user interaction states.