Frontmatter
| id | 8186 |
| title | Feat: Neural Link - Semantic Component Query |
| state | Closed |
| labels | enhancementai |
| assignees | tobiu |
| createdAt | Dec 28, 2025, 10:06 PM |
| updatedAt | Dec 28, 2025, 11:15 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8186 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8169 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Dec 28, 2025, 11:15 PM |
Feat: Neural Link - Semantic Component Query
tobiu added parent issue #8169 on Dec 28, 2025, 10:06 PM
tobiu assigned to @tobiu on Dec 28, 2025, 11:14 PM

tobiu
Dec 28, 2025, 11:14 PM
Input from Gemini:
✦ I have implemented the Semantic Component Query feature.
Changes:
- Client-Side (
src/ai/Client.mjs): Addedquery_componenthandler supporting both global (Neo.manager.Component.find) and scoped (component.down) searches.- Server-Side:
- Added
queryComponenttoComponentService.- Exposed
query_componenttool intoolService.- Defined API in
openapi.yaml.Tool Usage:
query_component({selector: {ntype: 'button', text: 'Save'}, rootId: 'optional-parent-id'})This enables "fuzzy" component discovery as requested.
tobiu closed this issue on Dec 28, 2025, 11:15 PM
Context: Finding components by exact ID is brittle. Agents need to query components by properties.
Neo.manager.Componentalready provides robust querying capabilities.Scope:
Enhance
ComponentService:queryComponent(sessionId, selector, options).selector: JSON Object (e.g.{ntype: 'button', text: 'Save'}).rootId: Optional ID to scope the search (usescomponent.down()).rootId, searches globally.Tools:
query_component: Acceptsselectorand optionalrootId. Returns an array of matching component IDs with basic metadata (id, className, ntype).Goal: Enable "fuzzy" component discovery using existing framework capabilities.