@mastra/rag 0.0.2-alpha.32 → 0.0.2-alpha.34

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @mastra/rag
2
2
 
3
+ ## 0.0.2-alpha.34
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [401a4d9]
8
+ - @mastra/core@0.1.27-alpha.50
9
+
10
+ ## 0.0.2-alpha.33
11
+
12
+ ### Patch Changes
13
+
14
+ - a621c34: Add validation for indexName in pgVector and dimension for all vector dbs
15
+ - Updated dependencies [79acad0]
16
+ - Updated dependencies [f5dfa20]
17
+ - @mastra/core@0.1.27-alpha.49
18
+
3
19
  ## 0.0.2-alpha.32
4
20
 
5
21
  ### Patch Changes
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/astra-db/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AASrE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,YAAY;;gBAG/B,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,cAAc;IAMzD;;;;;;;OAOG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAUhB;;;;;;;;OAQG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBpB;;;;;;;;OAQG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAkBzB;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB3D;;;;;OAKG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/astra-db/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AASrE,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAY,SAAQ,YAAY;;gBAG/B,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,cAAc;IAMzD;;;;;;;OAOG;IACG,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAahB;;;;;;;;OAQG;IACG,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBpB;;;;;;;;OAQG;IACG,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAkBzB;;;;OAIG;IACH,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAI1B,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB3D;;;;;OAKG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chroma/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrE,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAmB;gBAE1B,EACV,IAAI,EACJ,IAAI,GACL,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH;YASa,aAAa;IAa3B,OAAO,CAAC,wBAAwB;IAU1B,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBd,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAUV,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAiBnB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chroma/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrE,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAmB;gBAE1B,EACV,IAAI,EACJ,IAAI,GACL,EAAE;QACD,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE;YACL,QAAQ,EAAE,MAAM,CAAC;YACjB,WAAW,EAAE,MAAM,CAAC;SACrB,CAAC;KACH;YASa,aAAa;IAa3B,OAAO,CAAC,wBAAwB;IAU1B,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAwBd,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAaV,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAiBnB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAIpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGrE,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,CAAC,IAAI,CAAU;gBAEV,gBAAgB,EAAE,MAAM;IAoB9B,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,GAAE,MAAU,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IA4CnB,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IA8Bd,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAiCV,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA6DrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7C,aAAa,CAAC,SAAS,EAAE,MAAM;IAY/B,UAAU;CAGjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pg/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGrE,qBAAa,QAAS,SAAQ,YAAY;IACxC,OAAO,CAAC,IAAI,CAAU;gBAEV,gBAAgB,EAAE,MAAM;IAoB9B,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,QAAQ,GAAE,MAAU,GACnB,OAAO,CAAC,WAAW,EAAE,CAAC;IA4CnB,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IA8Bd,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAqDV,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IA6DrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa7C,aAAa,CAAC,SAAS,EAAE,MAAM;IAY/B,UAAU;CAGjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pinecone/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrE,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAW;gBAEb,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAoB1C,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAcV,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBd,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAiBnB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/pinecone/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGrE,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,MAAM,CAAW;gBAEb,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IAoB1C,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAiBV,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAsBd,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAiBnB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/qdrant/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAUrE,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAe;gBAEjB,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAmBnD,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBd,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAWV,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAiBnB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/qdrant/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAUrE,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAe;gBAEjB,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;IAmBnD,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EAAE,EAAE,EACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAChC,GAAG,CAAC,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAqBd,WAAW,CACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE,QAAQ,GAAG,WAAW,GAAG,YAAuB,GACvD,OAAO,CAAC,IAAI,CAAC;IAcV,KAAK,CACT,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EAAE,EACrB,IAAI,GAAE,MAAW,EACjB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC3B,OAAO,CAAC,WAAW,EAAE,CAAC;IAiBnB,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAKhC,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAYrD,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGpD"}
@@ -2152,7 +2152,7 @@ var PgVector = /*#__PURE__*/function (_MastraVector) {
2152
2152
  }();
2153
2153
  _proto.createIndex = /*#__PURE__*/function () {
2154
2154
  var _createIndex = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(indexName, dimension, metric) {
2155
- var client, indexMethod;
2155
+ var client, extensionCheck, indexMethod;
2156
2156
  return _regeneratorRuntime().wrap(function _callee3$(_context3) {
2157
2157
  while (1) switch (_context3.prev = _context3.next) {
2158
2158
  case 0:
@@ -2164,32 +2164,55 @@ var PgVector = /*#__PURE__*/function (_MastraVector) {
2164
2164
  case 3:
2165
2165
  client = _context3.sent;
2166
2166
  _context3.prev = 4;
2167
- _context3.next = 7;
2168
- return client.query('CREATE EXTENSION IF NOT EXISTS vector');
2167
+ if (indexName.match(/^[a-zA-Z_][a-zA-Z0-9_]*$/)) {
2168
+ _context3.next = 7;
2169
+ break;
2170
+ }
2171
+ throw new Error('Invalid index name format');
2169
2172
  case 7:
2170
- _context3.next = 9;
2171
- return client.query("\n CREATE TABLE IF NOT EXISTS " + indexName + " (\n id SERIAL PRIMARY KEY,\n vector_id TEXT UNIQUE NOT NULL,\n embedding vector(" + dimension + "),\n metadata JSONB DEFAULT '{}'::jsonb\n );\n ");
2173
+ if (!(!Number.isInteger(dimension) || dimension <= 0)) {
2174
+ _context3.next = 9;
2175
+ break;
2176
+ }
2177
+ throw new Error('Dimension must be a positive integer');
2172
2178
  case 9:
2173
- // Create an index for vector similarity search based on metric
2174
- indexMethod = metric === 'cosine' ? 'vector_cosine_ops' : metric === 'euclidean' ? 'vector_l2_ops' : 'vector_ip_ops'; // for dotproduct
2175
- _context3.next = 12;
2176
- return client.query("\n CREATE INDEX IF NOT EXISTS " + indexName + "_vector_idx\n ON " + indexName + "\n USING ivfflat (embedding " + indexMethod + ")\n WITH (lists = 100);\n ");
2177
- case 12:
2178
- _context3.next = 17;
2179
- break;
2179
+ _context3.next = 11;
2180
+ return client.query("\n SELECT EXISTS (\n SELECT 1 FROM pg_available_extensions WHERE name = 'vector'\n );\n ");
2181
+ case 11:
2182
+ extensionCheck = _context3.sent;
2183
+ if (extensionCheck.rows[0].exists) {
2184
+ _context3.next = 14;
2185
+ break;
2186
+ }
2187
+ throw new Error('PostgreSQL vector extension is not available. Please install it first.');
2180
2188
  case 14:
2181
- _context3.prev = 14;
2189
+ _context3.next = 16;
2190
+ return client.query('CREATE EXTENSION IF NOT EXISTS vector');
2191
+ case 16:
2192
+ _context3.next = 18;
2193
+ return client.query("\n CREATE TABLE IF NOT EXISTS " + indexName + " (\n id SERIAL PRIMARY KEY,\n vector_id TEXT UNIQUE NOT NULL,\n embedding vector(" + dimension + "),\n metadata JSONB DEFAULT '{}'::jsonb\n );\n ");
2194
+ case 18:
2195
+ // Create the index
2196
+ indexMethod = metric === 'cosine' ? 'vector_cosine_ops' : metric === 'euclidean' ? 'vector_l2_ops' : 'vector_ip_ops';
2197
+ _context3.next = 21;
2198
+ return client.query("\n CREATE INDEX IF NOT EXISTS " + indexName + "_vector_idx\n ON public." + indexName + "\n USING ivfflat (embedding " + indexMethod + ")\n WITH (lists = 100);\n ");
2199
+ case 21:
2200
+ _context3.next = 27;
2201
+ break;
2202
+ case 23:
2203
+ _context3.prev = 23;
2182
2204
  _context3.t0 = _context3["catch"](4);
2205
+ console.error('Failed to create vector table:', _context3.t0);
2183
2206
  throw _context3.t0;
2184
- case 17:
2185
- _context3.prev = 17;
2207
+ case 27:
2208
+ _context3.prev = 27;
2186
2209
  client.release();
2187
- return _context3.finish(17);
2188
- case 20:
2210
+ return _context3.finish(27);
2211
+ case 30:
2189
2212
  case "end":
2190
2213
  return _context3.stop();
2191
2214
  }
2192
- }, _callee3, this, [[4, 14, 17, 20]]);
2215
+ }, _callee3, this, [[4, 23, 27, 30]]);
2193
2216
  }));
2194
2217
  function createIndex(_x10, _x11, _x12) {
2195
2218
  return _createIndex.apply(this, arguments);
@@ -2421,7 +2444,13 @@ var PineconeVector = /*#__PURE__*/function (_MastraVector) {
2421
2444
  if (metric === void 0) {
2422
2445
  metric = 'cosine';
2423
2446
  }
2424
- _context.next = 3;
2447
+ if (!(!Number.isInteger(dimension) || dimension <= 0)) {
2448
+ _context.next = 3;
2449
+ break;
2450
+ }
2451
+ throw new Error('Dimension must be a positive integer');
2452
+ case 3:
2453
+ _context.next = 5;
2425
2454
  return this.client.createIndex({
2426
2455
  name: indexName,
2427
2456
  dimension: dimension,
@@ -2433,7 +2462,7 @@ var PineconeVector = /*#__PURE__*/function (_MastraVector) {
2433
2462
  }
2434
2463
  }
2435
2464
  });
2436
- case 3:
2465
+ case 5:
2437
2466
  case "end":
2438
2467
  return _context.stop();
2439
2468
  }
@@ -2654,7 +2683,13 @@ var AstraVector = /*#__PURE__*/function (_MastraVector) {
2654
2683
  if (metric === void 0) {
2655
2684
  metric = 'cosine';
2656
2685
  }
2657
- _context.next = 3;
2686
+ if (!(!Number.isInteger(dimension) || dimension <= 0)) {
2687
+ _context.next = 3;
2688
+ break;
2689
+ }
2690
+ throw new Error('Dimension must be a positive integer');
2691
+ case 3:
2692
+ _context.next = 5;
2658
2693
  return _classPrivateFieldLooseBase(this, _db)[_db].createCollection(indexName, {
2659
2694
  vector: {
2660
2695
  dimension: dimension,
@@ -2662,7 +2697,7 @@ var AstraVector = /*#__PURE__*/function (_MastraVector) {
2662
2697
  },
2663
2698
  checkExists: false
2664
2699
  });
2665
- case 3:
2700
+ case 5:
2666
2701
  case "end":
2667
2702
  return _context.stop();
2668
2703
  }
@@ -2931,7 +2966,13 @@ var QdrantVector = /*#__PURE__*/function (_MastraVector) {
2931
2966
  if (metric === void 0) {
2932
2967
  metric = 'cosine';
2933
2968
  }
2934
- _context2.next = 3;
2969
+ if (!(!Number.isInteger(dimension) || dimension <= 0)) {
2970
+ _context2.next = 3;
2971
+ break;
2972
+ }
2973
+ throw new Error('Dimension must be a positive integer');
2974
+ case 3:
2975
+ _context2.next = 5;
2935
2976
  return this.client.createCollection(indexName, {
2936
2977
  vectors: {
2937
2978
  // @ts-expect-error
@@ -2940,7 +2981,7 @@ var QdrantVector = /*#__PURE__*/function (_MastraVector) {
2940
2981
  distance: DISTANCE_MAPPING[metric]
2941
2982
  }
2942
2983
  });
2943
- case 3:
2984
+ case 5:
2944
2985
  case "end":
2945
2986
  return _context2.stop();
2946
2987
  }