These changes prepare the context handler to resolve search query promises.
This introduces ids to search queries and responses and introduces the search response type which is now composed a successful search result or an error. The ids are used to match queries to responses in the client.
Further explanation: https://linear.app/comm/issue/ENG-5505/implement-contextprovider-pattern-for-web-socket-connection-status#comment-2162a512
Depends on D10980