Skip to content

feat: drop retired realtime/video models from SDK#130

Merged
AdirAmsalem merged 1 commit into
mainfrom
clean-sdks-post-pr-557
May 10, 2026
Merged

feat: drop retired realtime/video models from SDK#130
AdirAmsalem merged 1 commit into
mainfrom
clean-sdks-post-pr-557

Conversation

@AdirAmsalem
Copy link
Copy Markdown
Contributor

@AdirAmsalem AdirAmsalem commented May 10, 2026

Summary

The platform has retired several realtime/video models. This PR removes them from the SDK so the type system, demo, examples, and docs reflect what's actually supported. Net −675 lines.

Dropped models (entire identifiers, including kebab- and snake_case variants):

  • LipSync (was never modeled here)
  • Avatar Live — live-avatar / live_avatar
  • Lucy Motion — lucy-motion / lucy-motion-latest
  • Lucy v1 realtime — lucy / lucy_v2v_720p_rt
  • Lucy Restyle v1 realtime — lucy-restyle / mirage

Kept: lucy-2.1, lucy-2.1-vton, lucy-restyle-2, lucy-clip, lucy-image-2, all *-latest aliases (except lucy-motion-latest), and mirage_v2 (still resolves to lucy-restyle-2).

Removing Avatar Live also retires the live-avatar-only AudioStreamManager (and the playAudio method on the realtime client) and the recvonly-video WebRTC transceiver branch — they had no other consumer.

Migration

// Before
const model = models.realtime("lucy-restyle"); // or "mirage", "lucy", "live-avatar", etc.

// After
const model = models.realtime("lucy-restyle-2");
// or "lucy-2.1", "lucy-2.1-vton", "lucy-restyle-latest", ...

Calls passing any of the dropped names now fail type-checking and throw at runtime.

Test plan

  • pnpm --filter @decartai/sdk typecheck passes
  • pnpm --filter @decartai/sdk build succeeds
  • pnpm --filter @decartai/sdk test — 161 unit tests green
  • Smoke-test examples/nextjs-realtime against a current model end-to-end

Note

Medium Risk
Moderate risk because it removes model identifiers and realtime client capabilities (playAudio, internal avatar stream handling), which is a breaking API/type change for users relying on retired models or avatar mode. Core WebRTC flow is simplified but could affect edge cases around initial setup and transceiver behavior.

Overview
Drops retired model identifiers across the SDK surface (model registry/Zod unions, docs, examples, and test page) so only currently supported realtime/video/image models remain, plus the mirage_v2 deprecated alias.

Removes live-avatar–specific realtime functionality: deletes AudioStreamManager, removes RealTimeClient.playAudio, and strips the special WebRTC transceiver/model-name branching, leaving a single generic WebRTC setup path and updating related unit tests and example files accordingly.

Reviewed by Cursor Bugbot for commit 95a5d24. Bugbot is set up for automated code reviews on this repo. Configure here.

…Motion, Lucy v1, Lucy Restyle v1)

Removes the retired models and their deprecated aliases from the SDK
type unions, registry, demo playground, examples, tests, and docs.
Keeps `mirage_v2` since it still resolves to `lucy-restyle-2`. Also
retires the live-avatar-only AudioStreamManager and recvonly-video
WebRTC branch now that no model needs them.
@pkg-pr-new
Copy link
Copy Markdown

pkg-pr-new Bot commented May 10, 2026

Open in StackBlitz

npm i https://pkg.pr.new/@decartai/sdk@130

commit: 95a5d24

@AdirAmsalem AdirAmsalem merged commit 70a01a0 into main May 10, 2026
5 checks passed
@AdirAmsalem AdirAmsalem deleted the clean-sdks-post-pr-557 branch May 10, 2026 10:28
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.

1 participant