feat(js-sdk): add proxy transport and custom signaling #155
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This allows a user to choose to use a proxy of the Websocket client
e.g. with https://github.com/stukennedy/anam-ws-proxy
Use-case for this is a man-in-the-middle approach, where a 3rd-party server handles their own orchestration layer -> LLM inference and then stream talks directly in the Anam Websocket, cutting out the need to send responses back to the client and for the client to send the talk stream to Anam.
The client also doesn't need to negotiate the session at all, just gets a signalling websocket from the server which negotiates the WebRTC session.
Summary by cubic
Add proxy transport mode to the JS SDK, enabling server-side session negotiation and custom signaling over a proxied WebSocket. This lets a backend orchestrate inference and stream directly to Anam while the client only connects to your proxy.
Written for commit c439054. Summary will update on new commits.