feat(js-sdk): add proxy transport and custom signaling#155
Open
stukennedy wants to merge 2 commits intomainfrom
Open
feat(js-sdk): add proxy transport and custom signaling#155stukennedy wants to merge 2 commits intomainfrom
stukennedy wants to merge 2 commits intomainfrom
Conversation
There was a problem hiding this comment.
1 issue found across 8 files
Prompt for AI agents (all 1 issues)
Understand the root cause of the following 1 issues and fix them.
<file name="src/types/signalling/SignallingClientOptions.ts">
<violation number="1" location="src/types/signalling/SignallingClientOptions.ts:2">
Making baseUrl optional removes compile-time enforcement; invalid configs are now caught only at runtime. Consider a discriminated union where either absoluteWsUrl is provided or baseUrl is required.</violation>
</file>
Since this is your first cubic review, here's how it works:
- cubic automatically reviews your code and comments on bugs and improvements
- Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
- Ask questions if you need clarification on any suggestion
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai to give feedback, ask questions, or re-run the review.
refactor: enhance SignallingClientOptions with structured URL options
613ec8c to
1c3a190
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.