Files
homelable/backend/app/api
Pouzor e247483d9b feat(mcp): make connection points editable over MCP
Handle counts were readable through get_node but absent from update_node, and
create_edge took no handle arguments — the server always picked. Expose both,
and close the two backend gaps that opening them up would otherwise turn into
silent link loss.

- create_node/update_node take top/bottom/left/right_handles and
  show_port_numbers; create_edge and a new update_edge take
  source_handle/target_handle.
- New list_edges: get_canvas slims edges down to id/source/target/type/label,
  so the handles an edge sits on were unreadable through any tool.
- Clamp handle counts to 0..64 on every write path (create, update, canvas
  save). The renderer clamps at draw time, so an unclamped row drew a
  different node than it stored.
- Port the canvas store's shrink remap to the node PATCH route: an edge left
  on a handle that a count reduction deleted silently stops rendering.

Closes #435

ha-relevant: no
2026-09-09 01:19:19 +02:00
..