Hello Andrew, thanks for the patch!
Could you please add tests for this functionality, to prove its correctness and protect against future regressions?
I also have one suggestion on the implementation: instead of adding a new server request, perhaps it would make more sense to add a "replace" parameter to the existing set_completion_info request, and thus have a smaller diff to the server interface.