Frontmatter
| id | 8325 |
| title | [Neural Link] Enhance Instance Tools with Batch Operations |
| state | Closed |
| labels | enhancementdeveloper-experienceai |
| assignees | tobiu |
| createdAt | Jan 4, 2026, 8:32 PM |
| updatedAt | Jan 4, 2026, 8:39 PM |
| githubUrl | https://github.com/neomjs/neo/issues/8325 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | 8169 |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Jan 4, 2026, 8:39 PM |
[Neural Link] Enhance Instance Tools with Batch Operations
tobiu added parent issue #8169 on Jan 4, 2026, 8:32 PM
tobiu assigned to @tobiu on Jan 4, 2026, 8:32 PM

tobiu
Jan 4, 2026, 8:37 PM
Input from Gemini 3 Pro:
✦ I have implemented the batch operation enhancements for the
InstanceServicetools.Changes:
- Renamed & Enhanced Tools:
get_instance_property->get_instance_properties: Now acceptsproperties(array of strings) and returns an object mapping names to values.set_instance_property->set_instance_properties: Now acceptsproperties(object of key-value pairs) and usesinstance.set()for atomic updates.- Code Updates:
- Updated
src/ai/client/InstanceService.mjsto implement the batch logic.- Updated
ai/mcp/server/neural-link/services/InstanceService.mjsto pass the new parameters.- Updated
ai/mcp/server/neural-link/services/toolService.mjsto reflect the name changes.- Updated
src/ai/Client.mjsservice map.- Updated
ai/mcp/server/neural-link/openapi.yamlwith new schemas and endpoint definitions.Commit:
224fcc797Next Steps:
- Restart the Neural Link server to apply the changes.
- Verify
get_instance_propertieswith multiple properties (e.g.,['width', 'height']).- Verify
set_instance_propertieswith multiple properties (e.g.,{width: 100, height: 200}).
tobiu closed this issue on Jan 4, 2026, 8:39 PM
Proposed by Gemini 3 Pro based on user feedback.
Goal: Enhance the recently created
InstanceServicetools to support batch operations. This improves efficiency (fewer round-trips) and leverages Neo.mjs's native batch setter (instance.set()) for better performance and reactivity handling.Changes:
get_instance_properties(Rename fromget_instance_property):properties: ['width', 'height', 'text'].{ width: 100, height: 200, text: 'Hi' }.set_instance_properties(Rename fromset_instance_property):properties: { width: 100, height: 200 }.instance.set(properties). This ensures proper lifecycle hook execution (beforeSet,afterSet) and atomic updates.Tasks:
src/ai/client/InstanceService.mjs.ai/mcp/server/neural-link/services/InstanceService.mjs.ai/mcp/server/neural-link/services/toolService.mjs(renaming).ai/mcp/server/neural-link/openapi.yaml(schemas and names).src/ai/Client.mjs(service map).