Frontmatter
| id | 8326 |
| title | [Neural Link] Enhance query_component with Property Return |
| state | Closed |
| labels | enhancementdeveloper-experienceai |
| assignees | tobiu |
| createdAt | Jan 4, 2026, 8:47 PM |
| updatedAt | Jan 4, 2026, 9:10 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8326 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8169 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 4, 2026, 9:10 PM |
[Neural Link] Enhance query_component with Property Return
tobiu added parent issue #8169 on Jan 4, 2026, 8:48 PM

tobiu
Jan 4, 2026, 9:09 PM
Input from Gemini 3 Pro:
✦ I have implemented the
returnPropertiesenhancement forquery_component.Behavior:
- Default (No
returnProperties): Returns the fulltoJSON()representation (includingvdom,vnode, etc.).- With
returnProperties: Returns a lean object:{ id, className, properties: { ... } }, excluding the heavy VDOM/VNode data.Commit:
2f8b91aNote: I considered support for nested property paths (e.g.,
"layout.activeIndex") but decided against it for this iteration to avoid performance risks with large structures (likestore.items).I am now moving on to Issue #8327: find_instances.
tobiu assigned to @tobiu on Jan 4, 2026, 9:10 PM
tobiu closed this issue on Jan 4, 2026, 9:10 PM
Proposed by Gemini 3 Pro.
Goal: Reduce round-trips when querying components by allowing the agent to request specific property values in the same call.
Current Behavior:
query_componentreturns an array of component JSON objects (identity info).New Behavior: Accept an optional
returnPropertiesarray. If provided, the response will include apropertiesobject for each matched component containing the requested values.Implementation:
src/ai/client/ComponentService.mjs(queryComponent).openapi.yamlschema.Example:
query_component({ selector: { ntype: 'button' }, returnProperties: ['text', 'iconCls'] })Returns:[{ id: 'btn-1', className: '...', properties: { text: 'Save', iconCls: 'fa-save' } }]