feat: canonical model names, lucy-2.1, and deprecation warnings#113
feat: canonical model names, lucy-2.1, and deprecation warnings#113AdirAmsalem merged 9 commits intomainfrom
Conversation
Adopt the new canonical model naming convention across the SDK. Add lucy-2.1 (realtime + batch) and lucy-2.1-vton (realtime) as new models. Old model names are preserved for backward compatibility but emit a deprecation warning guiding users to migrate. Tighten VideoModelDefinition and ImageModelDefinition to require queueUrlPath, preventing realtime definitions from being passed to queue/process APIs at compile time.
This reverts commit b9a1e07.
commit: |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 1fb1dfb. Configure here.
packages/sdk/src/index.ts
Outdated
| type CustomModelDefinition, | ||
| type ImageModelDefinition, | ||
| type ImageModels, | ||
| _resetDeprecationWarnings, |
There was a problem hiding this comment.
Test-only helper exported in public SDK API
Low Severity
_resetDeprecationWarnings is marked @internal and intended as a test-only helper, but it's exported from the SDK's public entry point. This exposes internal module-level state (_warnedAliases) to every consumer of the package, letting them silently reset the deprecation warning tracking. It unnecessarily enlarges the public API surface and could lead to unintended coupling.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 1fb1dfb. Configure here.


Summary
lucy-2,lucy-clip,lucy-restyle-2,lucy-image-2,live-avatar, etc.) to match the updated API naming conventionlucy_2_rt,mirage_v2,lucy-pro-v2v, etc.) still work but now emit a one-timeconsole.warnguiding users to migratelucy-2andlucy-restyle-2that support both realtime and batch are now available in bothmodels.realtime()andmodels.video()VideoModelDefinitionandImageModelDefinitiontypes to requirequeueUrlPath, preventing accidental use of a realtime definition with the queue/process API at compile timeUsage
Test plan
Note
Medium Risk
Medium risk because it expands/reshapes the public model registry and tightens TypeScript model definition types, which could cause compile-time breakage for consumers relying on previous model name unions or model typing.
Overview
Adds canonical model names across
models.image(),models.video(), andmodels.realtime()(e.g.,lucy-image-2,lucy-clip,lucy-restyle-2,lucy-2,live-avatar) and introduces new modelslucy-2.1(realtime + queue) andlucy-2.1-vton(realtime).Keeps old names working via expanded model unions but now emits a one-time
console.warndeprecation notice (tracked inshared/model.ts), and updates realtime live-avatar handling to recognize bothlive_avatarandlive-avatar. Types are tightened so image/video model definitions used with Process/Queue APIs requirequeueUrlPath, helping prevent accidentally passing realtime definitions.Updates examples/docs to use the canonical names and expands unit + e2e coverage to validate canonical models, deprecated-name compatibility, and deprecation-warning behavior.
Reviewed by Cursor Bugbot for commit 3b603c7. Bugbot is set up for automated code reviews on this repo. Configure here.