@ericzinda , It may be very useful if you also provide an interface using websockets for Language_server, in addition to stdio and tcp/ip. It should be rather easy to add.
People that want to make a UI for an app and don’t want to have to deal with sandboxing will find this very useful since they could connect directly from the browser.
Is the scenario you are imagining one where a developer is building the UI for a local application using a browser? I.e. the browser and SWI Prolog are running on the same machine?
A key benefit, or property, of web-socket is that its like a “blackboard” accessible to all clients simultaneously – it can also only be one – the one that is the dedicated backend application server.