Skip to content

feat(ai-sdk)!: drop ORM-backed store subpaths, decouple from @rudderjs/orm (#38)#44

Merged
suleimansh merged 1 commit into
mainfrom
decouple/drop-ai-orm-subpaths
Jun 26, 2026
Merged

feat(ai-sdk)!: drop ORM-backed store subpaths, decouple from @rudderjs/orm (#38)#44
suleimansh merged 1 commit into
mainfrom
decouple/drop-ai-orm-subpaths

Conversation

@suleimansh

Copy link
Copy Markdown
Member

Closes #38. Third child of the @rudderjs decoupling epic #35. Gemstack side of a coordinated two-repo move.

Merge order: the Rudder PR rudderjs/rudder#1452 (which inlines these impls into @rudderjs/ai) must merge and publish first, so @rudderjs/ai is self-contained before this removes the upstream subpaths. Merge this one after.

What

The subpaths @gemstack/ai-sdk/{conversation-orm, memory-orm, budget-orm, memory-embedding} imported @rudderjs/orm's Model - coupling the agnostic engine to the Rudder ORM. They've moved to the Rudder binding @rudderjs/ai under the same subpath names. memory-embedding moved too (its EmbeddingUserMemory hard-depends on OrmUserMemory).

  • Removed the 4 source dirs + their 4 tests.
  • Removed the 4 exports entries from package.json.
  • Dropped @rudderjs/orm from peer + peerMeta + dev deps (no @rudderjs/orm import remains in src).
  • README: ORM stores now point at @rudderjs/ai; lead with the neutral contracts + CacheAdapter/StorageAdapter seams.

Breaking (0.x -> minor)

Update @gemstack/ai-sdk/<orm-subpath> imports to @rudderjs/ai/<orm-subpath>. The neutral ConversationStore / UserMemory / BudgetStorage contracts remain exported from @gemstack/ai-sdk; non-Rudder apps implement them against their own persistence or use the in-memory defaults.

Verification

Build + repo-wide typecheck green; 911 tests pass (was 982; 71 moved to @rudderjs/ai). Minor changeset included.

After this lands, the only remaining @rudderjs/* couplings in @gemstack/ai-sdk are the /server provider (#39) and the doctor/CLI integrations (#40).

…derjs/orm (#38)

Third child of the @rudderjs decoupling epic (#35), the gemstack side of a
coordinated two-repo move (rudder side: rudderjs/rudder#1452).

The subpaths @gemstack/ai-sdk/{conversation-orm,memory-orm,budget-orm,
memory-embedding} imported @rudderjs/orm's Model, coupling the agnostic
engine to the Rudder ORM. They have moved to the Rudder binding
@rudderjs/ai under the same subpath names. memory-embedding moved too
because its EmbeddingUserMemory hard-depends on OrmUserMemory.

- Removed the 4 src dirs + their 4 tests.
- Removed the 4 entries from package.json "exports".
- Dropped @rudderjs/orm from peerDependencies + peerDependenciesMeta +
  devDependencies (no @rudderjs/orm import remains in src).
- README: rewrote Status + Subpath exports to point ORM stores at
  @rudderjs/ai and lead with the neutral contracts (ConversationStore /
  UserMemory / BudgetStorage) + the CacheAdapter/StorageAdapter seams.
- clean script also clears dist-test.

Breaking (0.x minor): update @gemstack/ai-sdk/<orm-subpath> imports to
@rudderjs/ai/<orm-subpath>. The neutral contracts remain exported here.

Build + repo typecheck green; 911 tests pass (was 982; 71 moved to rudder).
@suleimansh suleimansh added the enhancement New feature or request label Jun 26, 2026
@suleimansh suleimansh self-assigned this Jun 26, 2026
@suleimansh suleimansh merged commit 4fa5820 into main Jun 26, 2026
1 check passed
@suleimansh suleimansh deleted the decouple/drop-ai-orm-subpaths branch June 26, 2026 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ai-sdk decouple: relocate ORM-backed stores (/conversation-orm, /memory-orm, /budget-orm) to Rudder side

1 participant