Skip to content

Conversation

@kacwojdev
Copy link

🎯 Changes

This PR introduces Live API adapters setup.

βœ… Checklist

  • I have followed the steps in the Contributing guide.
  • I have tested this code locally with pnpm run test:pr.

πŸš€ Release Impact

  • This change affects published code, and I have generated a changeset.
  • This change is docs/CI/dev-only (no release).

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Dec 26, 2025

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

* - TModel: The specific model name (e.g., 'liveAPI-1')
* - TProviderOptions: Provider-specific options (already resolved)
*/
export interface LiveAPIAdapter<
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd call it RealtimeAdapter

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think just the ones in activities module or also the ones for gemini specific inside ai-gemini module?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so for example this inheritance class: https://github.com/TanStack/ai/pull/189/changes#diff-4092139804ff5293f4635d3c7ef1b5223dda315f2a6ccc686b4b8c010788d876R35

should rather be GeminiLiveAPIAdapter or GeminiRealtimeAdapter?

Personally I would use Realtime everywhere to keep semantics the same

@erkamkavak
Copy link

Hi, I was working on something similar. How do you plan to add connection parts between server and client parts?

I was trying to add a websocket connection between client and server so that client can listen audio from user, send it to server and play the incoming audio.

Are you planning on adding something similar?

@kacwojdev
Copy link
Author

Hi, I was working on something similar. How do you plan to add connection parts between server and client parts?

I was trying to add a websocket connection between client and server so that client can listen audio from user, send it to server and play the incoming audio.

Are you planning on adding something similar?

I was thinking about adding support for websockets or webrtc connection, but for now I would focus on adding adapters for high level integrations like LiveApi from gemini and RealtimeAgent from openai which resolves under the hood those connections using those protocols - further I would think of adding support for more complex integration with custom websocket or rtc connection with server.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants