@rudderjs/orm-drizzle 1.5.0 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -207,6 +207,39 @@ When the Model enables soft deletes (via `_enableSoftDeletes()` on the QueryBuil
207
207
 
208
208
  ---
209
209
 
210
+ ## pgvector similarity search
211
+
212
+ The adapter implements `whereVectorSimilarTo()` against Postgres + the pgvector extension via `db.execute(sql\`...\`)`. SQLite and LibSQL connections throw `VectorStorageUnsupportedError` — vector queries require a Postgres driver (`postgres-js`, `pg`, or `neon-serverless`).
213
+
214
+ ```ts
215
+ import { Model, vector } from '@rudderjs/orm'
216
+
217
+ class Document extends Model {
218
+ static override casts = {
219
+ embedding: vector({ dimensions: 1536 }),
220
+ }
221
+ declare embedding: number[]
222
+ }
223
+
224
+ const hits = await Document
225
+ .where('tenantId', tenantId)
226
+ .whereVectorSimilarTo('embedding', queryEmbedding, { metric: 'cosine', limit: 10 })
227
+ .get()
228
+ ```
229
+
230
+ Setup:
231
+
232
+ ```sql
233
+ CREATE EXTENSION IF NOT EXISTS vector;
234
+ ALTER TABLE documents ADD COLUMN embedding vector(1536);
235
+ ```
236
+
237
+ Or scaffold the migration: `pnpm rudder make:migration add_embedding_to_documents --vector`.
238
+
239
+ See the [Vector search](../orm/README.md#vector-search) section in `@rudderjs/orm` for the full API + limitations.
240
+
241
+ ---
242
+
210
243
  ## Known Limitations
211
244
 
212
245
  ### `with()` is a no-op
@@ -0,0 +1,84 @@
1
+ # @rudderjs/orm-drizzle
2
+
3
+ ## Overview
4
+
5
+ Drizzle ORM adapter implementing the `OrmAdapter` contract from `@rudderjs/orm`. Drizzle is schema-first: tables are defined in TypeScript with `pgTable` / `sqliteTable` and the adapter compiles `@rudderjs/orm` query-builder calls into Drizzle's fluent API. Supports SQLite (`better-sqlite3`, `libsql`) and PostgreSQL (`postgres-js`, `node-postgres`).
6
+
7
+ ## Key Patterns
8
+
9
+ ### Configure (`config/database.ts`)
10
+
11
+ ```ts
12
+ import type { DatabaseConfig } from '@rudderjs/orm-drizzle'
13
+ import { users, posts } from '../drizzle/schema.js'
14
+
15
+ export default {
16
+ default: 'pg',
17
+ connections: {
18
+ pg: {
19
+ driver: 'drizzle',
20
+ dialect: 'postgres-js',
21
+ url: Env.get('DATABASE_URL', 'postgres://localhost/app'),
22
+ },
23
+ },
24
+ tables: { users, posts }, // register every table you'll query against
25
+ } satisfies DatabaseConfig
26
+ ```
27
+
28
+ `DatabaseProvider` is auto-discovered. Boot calls `ModelRegistry.set(new DrizzleAdapter(config))`.
29
+
30
+ ### Register tables outside config
31
+
32
+ For tables only used at runtime (modules, dynamic loaders), register via the global registry:
33
+
34
+ ```ts
35
+ import { DrizzleTableRegistry } from '@rudderjs/orm-drizzle'
36
+ import { auditLogs } from './drizzle/audit.js'
37
+
38
+ DrizzleTableRegistry.register('auditLogs', auditLogs)
39
+ ```
40
+
41
+ Every table referenced by `whereHas` / `withCount` / model `static table` must be registered — otherwise the adapter throws with the missing table name.
42
+
43
+ ### Vector queries
44
+
45
+ ```ts
46
+ await Embedding.query()
47
+ .whereVectorSimilarTo('embedding', queryVec, { limit: 5 })
48
+ .all()
49
+ ```
50
+
51
+ Routes through raw SQL using pgvector's `<=>` operator. Drizzle's fluent API doesn't expose pgvector operators directly, so the adapter shells out to `db.execute()` under the hood.
52
+
53
+ ### Soft deletes
54
+
55
+ ```ts
56
+ export class Post extends Model { static softDeletes = true }
57
+ ```
58
+
59
+ The adapter applies `WHERE deletedAt IS NULL` automatically on every read path. `withTrashed()` / `onlyTrashed()` disable / invert it.
60
+
61
+ ## Common Pitfalls
62
+
63
+ - **`.with('relation')` is a no-op on Drizzle**: Drizzle's relation API requires pre-declared relations on the table object, and the adapter has no portable way to resolve them dynamically. Load relations via separate queries or use the framework's `loadCount`/`loadSum` aggregate helpers — those route through `whereIn`-style batch SQL the adapter does support.
64
+ - **MySQL is not supported**: Drizzle's MySQL dialect doesn't implement `returning()`, which the adapter relies on. Use SQLite or Postgres.
65
+ - **`connect()` is a no-op**: Drizzle connects lazily on first query. `disconnect()` only does work on the `postgres-js` dialect. Tests that depend on a teardown step should call `client.end()` directly on the underlying driver.
66
+ - **Missing `whereHas` table**: `await Comment.whereHas('post', q => q.where('isPublished', true))` throws if the `posts` table isn't in `tables: {}` or in `DrizzleTableRegistry`. Error message names the missing table.
67
+ - **pgvector extension missing**: vector queries surface as `VectorStorageUnsupportedError` — install the extension (`CREATE EXTENSION vector;`) and re-run the migration.
68
+ - **Drizzle `eq(col, null)` never matches**: use `isNull(col)` / `isNotNull(col)` for null comparisons. The adapter does this correctly internally; only matters if you drop down to raw Drizzle SQL.
69
+
70
+ ## Key Imports
71
+
72
+ ```ts
73
+ import {
74
+ drizzle, // factory function — registers DatabaseProvider config
75
+ DrizzleAdapter, // the OrmAdapter implementation (rarely instantiated directly)
76
+ DrizzleTableRegistry, // runtime table registration
77
+ } from '@rudderjs/orm-drizzle'
78
+
79
+ import type {
80
+ DatabaseConfig,
81
+ DrizzleConfig,
82
+ DrizzleDialect, // 'better-sqlite3' | 'libsql' | 'postgres-js' | 'node-postgres'
83
+ } from '@rudderjs/orm-drizzle'
84
+ ```
package/dist/index.d.ts CHANGED
@@ -29,9 +29,37 @@ type DrizzleDb = {
29
29
  end?: () => Promise<void>;
30
30
  };
31
31
  };
32
+ /**
33
+ * Global name → Drizzle table schema map.
34
+ *
35
+ * The Drizzle adapter resolves related-table schemas by name (e.g. for
36
+ * `whereHas('comments', ...)` it needs the `comments` table to build the
37
+ * EXISTS subquery). Apps register their schemas via the `tables` option on
38
+ * `drizzle({ tables: { posts, comments, ... } })`, which proxies into this
39
+ * registry. Library code that needs to register tables outside the
40
+ * adapter's normal init path can call `DrizzleTableRegistry.register()`
41
+ * directly.
42
+ *
43
+ * **Required for `whereHas` / `withAggregate` on Drizzle.** Without a
44
+ * registered schema the adapter throws a clear "no table schema registered
45
+ * for X" error. Prisma's adapter discovers schemas via the generated client
46
+ * and needs no registry — this is Drizzle-specific.
47
+ *
48
+ * @example
49
+ * import { drizzle, DrizzleTableRegistry } from '@rudderjs/orm-drizzle'
50
+ * import { posts, comments } from './schema.js'
51
+ *
52
+ * // Typical: register at adapter init
53
+ * drizzle({ tables: { posts, comments } })
54
+ *
55
+ * // Or imperatively (e.g. tests, dynamic registration)
56
+ * DrizzleTableRegistry.register('comments', comments)
57
+ */
32
58
  export declare class DrizzleTableRegistry {
33
59
  private static tables;
60
+ /** Register a Drizzle table schema by name. Idempotent — last write wins. */
34
61
  static register(name: string, table: unknown): void;
62
+ /** Look up a previously-registered table schema by name. */
35
63
  static get(name: string): unknown | undefined;
36
64
  }
37
65
  export declare class DrizzleAdapter implements OrmAdapter {
@@ -55,11 +83,43 @@ export interface DrizzleConfig {
55
83
  driver?: 'sqlite' | 'postgresql' | 'libsql';
56
84
  /** Connection URL. Falls back to DATABASE_URL env var */
57
85
  url?: string;
58
- /** Map of table name → drizzle table schema object */
86
+ /**
87
+ * Map of table name → Drizzle table schema. Required for any table
88
+ * referenced through a relation traversal — `whereHas('comments', ...)`,
89
+ * `withAggregate({ countComments: ... })`, etc. — because the adapter
90
+ * resolves related schemas by name at query-build time. Tables you only
91
+ * query directly (via `from(comments)`) do not need to appear here.
92
+ *
93
+ * Equivalent to calling `DrizzleTableRegistry.register(name, schema)` for
94
+ * each entry. Missing entries surface as a clear "no table schema
95
+ * registered for X" error.
96
+ */
59
97
  tables?: Record<string, unknown>;
60
98
  /** Primary key column name. Defaults to 'id' */
61
99
  primaryKey?: string;
62
100
  }
101
+ /**
102
+ * Build the Drizzle ORM adapter provider.
103
+ *
104
+ * **Null-value reminder.** Drizzle's `eq(col, null)` never matches — SQL
105
+ * requires `IS NULL` semantics, not equality. When writing custom Drizzle
106
+ * predicates in your app code, use `isNull(col)` / `isNotNull(col)` from
107
+ * `drizzle-orm`. The adapter itself routes null comparisons through the
108
+ * correct operators internally.
109
+ *
110
+ * @example
111
+ * import { posts, comments } from './schema.js'
112
+ *
113
+ * database({
114
+ * default: 'main',
115
+ * connections: {
116
+ * main: drizzle({
117
+ * driver: 'postgresql',
118
+ * tables: { posts, comments },
119
+ * }),
120
+ * },
121
+ * })
122
+ */
63
123
  export declare function drizzle(config?: DrizzleConfig): OrmAdapterProvider;
64
124
  import { ServiceProvider } from '@rudderjs/core';
65
125
  export interface DatabaseConnectionConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,15 +1,71 @@
1
1
  import { eq, ne, gt, gte, lt, lte, like, notLike, inArray, notInArray, isNull, isNotNull, and, or, asc, desc, count as sqlCount, sql, exists, notExists, getTableColumns, } from 'drizzle-orm';
2
2
  import { resolveOptionalPeer } from '@rudderjs/support';
3
3
  // ─── Global Table Registry ─────────────────────────────────
4
+ /**
5
+ * Global name → Drizzle table schema map.
6
+ *
7
+ * The Drizzle adapter resolves related-table schemas by name (e.g. for
8
+ * `whereHas('comments', ...)` it needs the `comments` table to build the
9
+ * EXISTS subquery). Apps register their schemas via the `tables` option on
10
+ * `drizzle({ tables: { posts, comments, ... } })`, which proxies into this
11
+ * registry. Library code that needs to register tables outside the
12
+ * adapter's normal init path can call `DrizzleTableRegistry.register()`
13
+ * directly.
14
+ *
15
+ * **Required for `whereHas` / `withAggregate` on Drizzle.** Without a
16
+ * registered schema the adapter throws a clear "no table schema registered
17
+ * for X" error. Prisma's adapter discovers schemas via the generated client
18
+ * and needs no registry — this is Drizzle-specific.
19
+ *
20
+ * @example
21
+ * import { drizzle, DrizzleTableRegistry } from '@rudderjs/orm-drizzle'
22
+ * import { posts, comments } from './schema.js'
23
+ *
24
+ * // Typical: register at adapter init
25
+ * drizzle({ tables: { posts, comments } })
26
+ *
27
+ * // Or imperatively (e.g. tests, dynamic registration)
28
+ * DrizzleTableRegistry.register('comments', comments)
29
+ */
4
30
  export class DrizzleTableRegistry {
5
31
  static tables = new Map();
32
+ /** Register a Drizzle table schema by name. Idempotent — last write wins. */
6
33
  static register(name, table) {
7
34
  this.tables.set(name, table);
8
35
  }
36
+ /** Look up a previously-registered table schema by name. */
9
37
  static get(name) {
10
38
  return this.tables.get(name);
11
39
  }
12
40
  }
41
+ /**
42
+ * @internal — type-erase a Drizzle query builder.
43
+ *
44
+ * Drizzle's query builders are thenable: chaining `.select().from().where()`
45
+ * returns a builder that resolves to row results when awaited. The builder
46
+ * type carries the full chained shape, which is incompatible with our
47
+ * `Promise<T[]>` adapter contract. Rather than peppering every CRUD method
48
+ * with `as unknown as Promise<T[]>`, route every await through `exec<R>(q)`
49
+ * — one cast site, one place to update if Drizzle's API tightens.
50
+ */
51
+ function exec(q) {
52
+ return q;
53
+ }
54
+ /**
55
+ * @internal — for batch UPDATE/DELETE queries: invoke `.returning()` when the
56
+ * driver supports it (Postgres, SQLite), else await the bare query.
57
+ *
58
+ * Used by `deleteAll()` / `updateAll()` to report row counts via the returned
59
+ * array length. MySQL drivers ignore `.returning()` and silently return zero
60
+ * — adapter consumers needing precise MySQL counts should switch to a
61
+ * Postgres or SQLite Drizzle driver until we surface driver capability flags.
62
+ */
63
+ async function awaitReturningOrPlain(q) {
64
+ const r = q.returning;
65
+ const target = typeof r === 'function' ? r.call(q) : q;
66
+ const result = await target;
67
+ return Array.isArray(result) ? result : [];
68
+ }
13
69
  /** @internal — combine SQL exprs with AND. Single-element returns as-is so
14
70
  * callers don't pay an extra wrap. Empty input returns a tautology so
15
71
  * EXISTS subqueries with no inner predicate stay valid. */
@@ -311,7 +367,7 @@ class DrizzleQueryBuilder {
311
367
  let q = this.db.select({ value: valueExpr }).from(this.table);
312
368
  if (cond)
313
369
  q = q.where(cond);
314
- const result = await q;
370
+ const result = await exec(q);
315
371
  const raw = result[0]?.value;
316
372
  if (fn === 'count')
317
373
  return Number(raw ?? 0);
@@ -478,7 +534,7 @@ class DrizzleQueryBuilder {
478
534
  if (orderBy.length)
479
535
  q = q.orderBy(...orderBy);
480
536
  q = q.limit(1);
481
- const result = await q;
537
+ const result = await exec(q);
482
538
  return result[0] ?? null;
483
539
  }
484
540
  async find(id) {
@@ -489,9 +545,7 @@ class DrizzleQueryBuilder {
489
545
  const cond = softExpr ? and(pkExpr, softExpr) : pkExpr;
490
546
  const fields = this.buildAggregateSelectFields();
491
547
  const sel = fields ? this.db.select(fields).from(this.table) : this.db.select().from(this.table);
492
- const result = await sel
493
- .where(cond)
494
- .limit(1);
548
+ const result = await exec(sel.where(cond).limit(1));
495
549
  return result[0] ?? null;
496
550
  }
497
551
  async get() {
@@ -510,7 +564,7 @@ class DrizzleQueryBuilder {
510
564
  q = q.limit(this._limitN);
511
565
  if (this._offsetN !== null)
512
566
  q = q.offset(this._offsetN);
513
- return q;
567
+ return exec(q);
514
568
  }
515
569
  async all() {
516
570
  return this.get();
@@ -525,7 +579,7 @@ class DrizzleQueryBuilder {
525
579
  let q = this.db.select({ value: sqlCount() }).from(this.table);
526
580
  if (cond)
527
581
  q = q.where(cond);
528
- const result = await q;
582
+ const result = await exec(q);
529
583
  return Number(result[0]?.value ?? 0);
530
584
  }
531
585
  /**
@@ -632,10 +686,10 @@ class DrizzleQueryBuilder {
632
686
  }
633
687
  async create(data) {
634
688
  this._assertNotSubBuilder();
635
- const result = await this.db
689
+ const result = await exec(this.db
636
690
  .insert(this.table)
637
691
  .values(data)
638
- .returning();
692
+ .returning());
639
693
  if (!result[0])
640
694
  throw new Error('[RudderJS ORM Drizzle] create() returned no rows.');
641
695
  return result[0];
@@ -643,11 +697,11 @@ class DrizzleQueryBuilder {
643
697
  async update(id, data) {
644
698
  this._assertNotSubBuilder();
645
699
  const pkCol = this.col(this.primaryKey);
646
- const result = await this.db
700
+ const result = await exec(this.db
647
701
  .update(this.table)
648
702
  .set(data)
649
703
  .where(eq(pkCol, id))
650
- .returning();
704
+ .returning());
651
705
  if (!result[0])
652
706
  throw new Error('[RudderJS ORM Drizzle] update() returned no rows.');
653
707
  return result[0];
@@ -656,35 +710,35 @@ class DrizzleQueryBuilder {
656
710
  this._assertNotSubBuilder();
657
711
  const pkCol = this.col(this.primaryKey);
658
712
  if (this._softDeletes) {
659
- await this.db.update(this.table).set({ deletedAt: new Date() }).where(eq(pkCol, id));
713
+ await exec(this.db.update(this.table).set({ deletedAt: new Date() }).where(eq(pkCol, id)));
660
714
  return;
661
715
  }
662
- await this.db
716
+ await exec(this.db
663
717
  .delete(this.table)
664
- .where(eq(pkCol, id));
718
+ .where(eq(pkCol, id)));
665
719
  }
666
720
  async restore(id) {
667
721
  this._assertNotSubBuilder();
668
722
  const pkCol = this.col(this.primaryKey);
669
- const result = await this.db
723
+ const result = await exec(this.db
670
724
  .update(this.table)
671
725
  .set({ deletedAt: null })
672
726
  .where(eq(pkCol, id))
673
- .returning();
727
+ .returning());
674
728
  return result[0];
675
729
  }
676
730
  async forceDelete(id) {
677
731
  this._assertNotSubBuilder();
678
732
  const pkCol = this.col(this.primaryKey);
679
- await this.db
733
+ await exec(this.db
680
734
  .delete(this.table)
681
- .where(eq(pkCol, id));
735
+ .where(eq(pkCol, id)));
682
736
  }
683
737
  async insertMany(rows) {
684
738
  this._assertNotSubBuilder();
685
739
  if (rows.length === 0)
686
740
  return;
687
- await this.db.insert(this.table).values(rows);
741
+ await exec(this.db.insert(this.table).values(rows));
688
742
  }
689
743
  async deleteAll() {
690
744
  this._assertNotSubBuilder();
@@ -692,33 +746,24 @@ class DrizzleQueryBuilder {
692
746
  let q = this.db.delete(this.table);
693
747
  if (cond)
694
748
  q = q.where(cond);
695
- // .returning() lets us count rows deleted across SQLite/Postgres without
696
- // a driver-specific RowsAffected hop. MySQL drivers ignore .returning()
697
- // and the count comes back zero — adapter consumers needing precise MySQL
698
- // counts should switch to a Postgres or SQLite Drizzle driver until we
699
- // surface driver capability flags.
700
- const result = await (q.returning?.() ?? q);
701
- return Array.isArray(result) ? result.length : 0;
749
+ return (await awaitReturningOrPlain(q)).length;
702
750
  }
703
751
  async updateAll(data) {
704
752
  const cond = this.buildConditions();
705
753
  let q = this.db.update(this.table).set(data);
706
754
  if (cond)
707
755
  q = q.where(cond);
708
- // Same .returning() rationale as deleteAll — count via returning where the
709
- // driver supports it (Postgres/SQLite). MySQL returns zero.
710
- const result = await (q.returning?.() ?? q);
711
- return Array.isArray(result) ? result.length : 0;
756
+ return (await awaitReturningOrPlain(q)).length;
712
757
  }
713
758
  async increment(id, column, amount = 1, extra = {}) {
714
759
  this._assertNotSubBuilder();
715
760
  const pkCol = this.col(this.primaryKey);
716
761
  const col = this.col(column);
717
- const result = await this.db
762
+ const result = await exec(this.db
718
763
  .update(this.table)
719
764
  .set({ [column]: sql `${col} + ${amount}`, ...extra })
720
765
  .where(eq(pkCol, id))
721
- .returning();
766
+ .returning());
722
767
  if (!result[0])
723
768
  throw new Error('[RudderJS ORM Drizzle] increment() returned no rows.');
724
769
  return result[0];
@@ -727,11 +772,11 @@ class DrizzleQueryBuilder {
727
772
  this._assertNotSubBuilder();
728
773
  const pkCol = this.col(this.primaryKey);
729
774
  const col = this.col(column);
730
- const result = await this.db
775
+ const result = await exec(this.db
731
776
  .update(this.table)
732
777
  .set({ [column]: sql `${col} - ${amount}`, ...extra })
733
778
  .where(eq(pkCol, id))
734
- .returning();
779
+ .returning());
735
780
  if (!result[0])
736
781
  throw new Error('[RudderJS ORM Drizzle] decrement() returned no rows.');
737
782
  return result[0];
@@ -751,8 +796,8 @@ class DrizzleQueryBuilder {
751
796
  pageQ = pageQ.orderBy(...orderBy);
752
797
  pageQ = pageQ.limit(perPage).offset((page - 1) * perPage);
753
798
  const [data, countResult] = await Promise.all([
754
- pageQ,
755
- cntQ,
799
+ exec(pageQ),
800
+ exec(cntQ),
756
801
  ]);
757
802
  const total = Number(countResult[0]?.value ?? 0);
758
803
  const lastPage = Math.max(1, Math.ceil(total / perPage));
@@ -830,6 +875,28 @@ export class DrizzleAdapter {
830
875
  await end();
831
876
  }
832
877
  }
878
+ /**
879
+ * Build the Drizzle ORM adapter provider.
880
+ *
881
+ * **Null-value reminder.** Drizzle's `eq(col, null)` never matches — SQL
882
+ * requires `IS NULL` semantics, not equality. When writing custom Drizzle
883
+ * predicates in your app code, use `isNull(col)` / `isNotNull(col)` from
884
+ * `drizzle-orm`. The adapter itself routes null comparisons through the
885
+ * correct operators internally.
886
+ *
887
+ * @example
888
+ * import { posts, comments } from './schema.js'
889
+ *
890
+ * database({
891
+ * default: 'main',
892
+ * connections: {
893
+ * main: drizzle({
894
+ * driver: 'postgresql',
895
+ * tables: { posts, comments },
896
+ * }),
897
+ * },
898
+ * })
899
+ */
833
900
  export function drizzle(config = {}) {
834
901
  return {
835
902
  async create() {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/orm-drizzle",
3
- "version": "1.5.0",
3
+ "version": "1.5.2",
4
4
  "description": "Drizzle ORM adapter for RudderJS. Implements OrmAdapterProvider / OrmAdapter / QueryBuilder<T> using Drizzle's SQL-like fluent API.",
5
5
  "rudderjs": {
6
6
  "provider": "DatabaseProvider",
@@ -14,8 +14,12 @@
14
14
  "directory": "packages/orm-drizzle"
15
15
  },
16
16
  "type": "module",
17
+ "engines": {
18
+ "node": "^20.19.0 || >=22.12.0"
19
+ },
17
20
  "files": [
18
- "dist"
21
+ "dist",
22
+ "boost"
19
23
  ],
20
24
  "main": "./dist/index.js",
21
25
  "types": "./dist/index.d.ts",
@@ -28,13 +32,13 @@
28
32
  },
29
33
  "dependencies": {
30
34
  "drizzle-orm": "^0.38.0",
31
- "@rudderjs/contracts": "^1.6.0",
32
- "@rudderjs/core": "^1.1.3",
33
- "@rudderjs/orm": "^1.9.0",
34
- "@rudderjs/support": "^1.2.0"
35
+ "@rudderjs/contracts": "^1.6.1",
36
+ "@rudderjs/core": "^1.1.5",
37
+ "@rudderjs/orm": "^1.9.2",
38
+ "@rudderjs/support": "^1.2.2"
35
39
  },
36
40
  "peerDependencies": {
37
- "@rudderjs/ai": "^1.6.0"
41
+ "@rudderjs/ai": "^1.6.3"
38
42
  },
39
43
  "peerDependenciesMeta": {
40
44
  "@rudderjs/ai": {