/** * In-memory SSH and RDP/VNC connection lists. * These are persisted in state.json but are not live sessions — * live sessions are managed by ssh-manager.js and rdp-manager.js. */ let sshConnectionsList = []; let rdpConnectionsList = []; let _saveState = null; function init(saveStateFn) { _saveState = saveStateFn; } function applyLoaded(ssh, rdp) { sshConnectionsList = Array.isArray(ssh) ? ssh : []; rdpConnectionsList = Array.isArray(rdp) ? rdp : []; } function getSshConnections() { return sshConnectionsList.slice(); } function setSshConnections(list) { if (!Array.isArray(list)) return; sshConnectionsList = list; if (_saveState) _saveState(); } function getRdpConnections() { return rdpConnectionsList.slice(); } function setRdpConnections(list) { if (!Array.isArray(list)) return; rdpConnectionsList = list; if (_saveState) _saveState(); } module.exports = { init, applyLoaded, getSshConnections, setSshConnections, getRdpConnections, setRdpConnections };