You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(realtime): unify initial state with modelName, image, and prompt (#29)
* feat(realtime): replace AvatarOptions with ModelState initial state API
Remove AvatarOptions and InitialPromptOptions in favor of unified
ModelState with optional image (bytes, str, or Path) and Prompt fields.
This aligns the Python SDK with the TS SDK's PR #84 API changes.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* feat(realtime): wire model_name and initial state through WebRTC stack
- Replace is_avatar_live with model_name throughout the connection pipeline
- Unify initial image/prompt handling into Phase 2 pre-handshake
- Add receive-only video transceiver for avatar-live with local track
- Add audio transceiver for subscribe (receive-only) mode
- Accept Path, raw base64, data URI, URL, and file paths in _image_to_base64
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* feat(realtime): update avatar-live example and tests for new API
- Update avatar_live.py to use ModelState(image=...) instead of AvatarOptions
- Update existing tests for new initial_state wiring
- Add unit tests for _image_to_base64: raw base64, Path, bytes, data URI, file path
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
* chore: use lucy 2
---------
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
0 commit comments