Two operator requirements for MBeg keyboards and server connections:
1. align_keyboard_local_ids(): on every keyboard interface under
Clients/GeViIO/GeViIO_01, set each video input/output LocalID equal to
its GlobalID so operators can address cameras/monitors by global id.
Virtual decoders/servers under GeViIO_Virtual keep their sequential
local ids. Runs after prune in /api/set/export and /api/batch/build.
2. preserve_server_credentials(): server User/Password are entered by hand
and must survive re-importing the server list from Excel. Matched by
alias, an existing non-empty credential overrides the imported value.
Applied to G-Core and GeViScope servers in /api/batch/build.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>