@mastra/convex 0.0.0-type-testing-20260120105120 → 0.0.0-unified-workspace-snapshot-20260128233410

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/dist/schema.cjs CHANGED
@@ -1,72 +1,72 @@
1
1
  'use strict';
2
2
 
3
- var chunkH5QJE733_cjs = require('./chunk-H5QJE733.cjs');
3
+ var chunkFTVDAP6U_cjs = require('./chunk-FTVDAP6U.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "TABLE_DOCUMENTS", {
8
8
  enumerable: true,
9
- get: function () { return chunkH5QJE733_cjs.TABLE_DOCUMENTS; }
9
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_DOCUMENTS; }
10
10
  });
11
11
  Object.defineProperty(exports, "TABLE_MESSAGES", {
12
12
  enumerable: true,
13
- get: function () { return chunkH5QJE733_cjs.TABLE_MESSAGES; }
13
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_MESSAGES; }
14
14
  });
15
15
  Object.defineProperty(exports, "TABLE_RESOURCES", {
16
16
  enumerable: true,
17
- get: function () { return chunkH5QJE733_cjs.TABLE_RESOURCES; }
17
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_RESOURCES; }
18
18
  });
19
19
  Object.defineProperty(exports, "TABLE_SCORERS", {
20
20
  enumerable: true,
21
- get: function () { return chunkH5QJE733_cjs.TABLE_SCORERS; }
21
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_SCORERS; }
22
22
  });
23
23
  Object.defineProperty(exports, "TABLE_THREADS", {
24
24
  enumerable: true,
25
- get: function () { return chunkH5QJE733_cjs.TABLE_THREADS; }
25
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_THREADS; }
26
26
  });
27
27
  Object.defineProperty(exports, "TABLE_VECTORS", {
28
28
  enumerable: true,
29
- get: function () { return chunkH5QJE733_cjs.TABLE_VECTORS; }
29
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_VECTORS; }
30
30
  });
31
31
  Object.defineProperty(exports, "TABLE_VECTOR_INDEXES", {
32
32
  enumerable: true,
33
- get: function () { return chunkH5QJE733_cjs.TABLE_VECTOR_INDEXES; }
33
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_VECTOR_INDEXES; }
34
34
  });
35
35
  Object.defineProperty(exports, "TABLE_WORKFLOW_SNAPSHOT", {
36
36
  enumerable: true,
37
- get: function () { return chunkH5QJE733_cjs.TABLE_WORKFLOW_SNAPSHOT; }
37
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_WORKFLOW_SNAPSHOT; }
38
38
  });
39
39
  Object.defineProperty(exports, "mastraDocumentsTable", {
40
40
  enumerable: true,
41
- get: function () { return chunkH5QJE733_cjs.mastraDocumentsTable; }
41
+ get: function () { return chunkFTVDAP6U_cjs.mastraDocumentsTable; }
42
42
  });
43
43
  Object.defineProperty(exports, "mastraMessagesTable", {
44
44
  enumerable: true,
45
- get: function () { return chunkH5QJE733_cjs.mastraMessagesTable; }
45
+ get: function () { return chunkFTVDAP6U_cjs.mastraMessagesTable; }
46
46
  });
47
47
  Object.defineProperty(exports, "mastraResourcesTable", {
48
48
  enumerable: true,
49
- get: function () { return chunkH5QJE733_cjs.mastraResourcesTable; }
49
+ get: function () { return chunkFTVDAP6U_cjs.mastraResourcesTable; }
50
50
  });
51
51
  Object.defineProperty(exports, "mastraScoresTable", {
52
52
  enumerable: true,
53
- get: function () { return chunkH5QJE733_cjs.mastraScoresTable; }
53
+ get: function () { return chunkFTVDAP6U_cjs.mastraScoresTable; }
54
54
  });
55
55
  Object.defineProperty(exports, "mastraThreadsTable", {
56
56
  enumerable: true,
57
- get: function () { return chunkH5QJE733_cjs.mastraThreadsTable; }
57
+ get: function () { return chunkFTVDAP6U_cjs.mastraThreadsTable; }
58
58
  });
59
59
  Object.defineProperty(exports, "mastraVectorIndexesTable", {
60
60
  enumerable: true,
61
- get: function () { return chunkH5QJE733_cjs.mastraVectorIndexesTable; }
61
+ get: function () { return chunkFTVDAP6U_cjs.mastraVectorIndexesTable; }
62
62
  });
63
63
  Object.defineProperty(exports, "mastraVectorsTable", {
64
64
  enumerable: true,
65
- get: function () { return chunkH5QJE733_cjs.mastraVectorsTable; }
65
+ get: function () { return chunkFTVDAP6U_cjs.mastraVectorsTable; }
66
66
  });
67
67
  Object.defineProperty(exports, "mastraWorkflowSnapshotsTable", {
68
68
  enumerable: true,
69
- get: function () { return chunkH5QJE733_cjs.mastraWorkflowSnapshotsTable; }
69
+ get: function () { return chunkFTVDAP6U_cjs.mastraWorkflowSnapshotsTable; }
70
70
  });
71
71
  //# sourceMappingURL=schema.cjs.map
72
72
  //# sourceMappingURL=schema.cjs.map
package/dist/schema.d.ts CHANGED
@@ -46,10 +46,32 @@ export declare const mastraResourcesTable: import("convex/server").TableDefiniti
46
46
  /**
47
47
  * Workflow snapshots table - stores workflow execution state
48
48
  * Schema: TABLE_SCHEMAS[TABLE_WORKFLOW_SNAPSHOT]
49
+ *
50
+ * Note: The `id` field is added explicitly for Convex's by_record_id index.
51
+ * The core schema uses (workflow_name, run_id) as a composite key, but Convex
52
+ * requires a single-column index. The id value is generated at runtime as
53
+ * `${workflow_name}-${run_id}` by the Convex storage adapter's normalizeRecord().
54
+ *
55
+ * Fields are defined explicitly (not using buildTableFromSchema) because TypeScript's
56
+ * type inference doesn't work well with spread operators in Convex's defineTable.
49
57
  */
50
58
  export declare const mastraWorkflowSnapshotsTable: import("convex/server").TableDefinition<import("convex/values").VObject<{
51
- [x: string]: any;
52
- }, Record<string, any>, "required", string>, {
59
+ id?: string;
60
+ resourceId?: string;
61
+ run_id: string;
62
+ workflow_name: string;
63
+ createdAt: string;
64
+ updatedAt: string;
65
+ snapshot: any;
66
+ }, {
67
+ id: import("convex/values").VString<string, "optional">;
68
+ workflow_name: import("convex/values").VString<string, "required">;
69
+ run_id: import("convex/values").VString<string, "required">;
70
+ resourceId: import("convex/values").VString<string, "optional">;
71
+ snapshot: import("convex/values").VAny<any, "required", string>;
72
+ createdAt: import("convex/values").VString<string, "required">;
73
+ updatedAt: import("convex/values").VString<string, "required">;
74
+ }, "required", "id" | "run_id" | "workflow_name" | "createdAt" | "resourceId" | "updatedAt" | "snapshot" | `snapshot.${string}`>, {
53
75
  by_record_id: ["id", "_creationTime"];
54
76
  by_workflow_run: ["workflow_name", "run_id", "_creationTime"];
55
77
  by_workflow: ["workflow_name", "_creationTime"];
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAEL,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,gCAAgC,CAAC;AAoDxC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;UAIM,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;UAIO,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;UAEI,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;UAKJ,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;UAKO,CAAC;AAMtC;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;UAQH,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;UAOI,CAAC;AAMpC;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;UAMoB,CAAC;AAMtD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAGlG,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAC5D,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C,eAAO,MAAM,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAEL,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACd,MAAM,gCAAgC,CAAC;AAoDxC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;UAIM,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;UAIO,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;UAEI,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;UAaJ,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;UAKO,CAAC;AAMtC;;GAEG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;UAQH,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;UAOI,CAAC;AAMpC;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;UAMoB,CAAC;AAMtD,OAAO,EAAE,uBAAuB,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAGlG,eAAO,MAAM,oBAAoB,0BAA0B,CAAC;AAC5D,eAAO,MAAM,aAAa,mBAAmB,CAAC;AAC9C,eAAO,MAAM,eAAe,qBAAqB,CAAC"}
package/dist/schema.js CHANGED
@@ -1,3 +1,3 @@
1
- export { TABLE_DOCUMENTS, TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCORERS, TABLE_THREADS, TABLE_VECTORS, TABLE_VECTOR_INDEXES, TABLE_WORKFLOW_SNAPSHOT, mastraDocumentsTable, mastraMessagesTable, mastraResourcesTable, mastraScoresTable, mastraThreadsTable, mastraVectorIndexesTable, mastraVectorsTable, mastraWorkflowSnapshotsTable } from './chunk-HXB4DWFE.js';
1
+ export { TABLE_DOCUMENTS, TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCORERS, TABLE_THREADS, TABLE_VECTORS, TABLE_VECTOR_INDEXES, TABLE_WORKFLOW_SNAPSHOT, mastraDocumentsTable, mastraMessagesTable, mastraResourcesTable, mastraScoresTable, mastraThreadsTable, mastraVectorIndexesTable, mastraVectorsTable, mastraWorkflowSnapshotsTable } from './chunk-G5FLGAPE.js';
2
2
  //# sourceMappingURL=schema.js.map
3
3
  //# sourceMappingURL=schema.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkBKVR7SL7_cjs = require('../chunk-BKVR7SL7.cjs');
4
- var chunkH5QJE733_cjs = require('../chunk-H5QJE733.cjs');
4
+ var chunkFTVDAP6U_cjs = require('../chunk-FTVDAP6U.cjs');
5
5
 
6
6
 
7
7
 
@@ -11,55 +11,55 @@ Object.defineProperty(exports, "mastraStorage", {
11
11
  });
12
12
  Object.defineProperty(exports, "TABLE_MESSAGES", {
13
13
  enumerable: true,
14
- get: function () { return chunkH5QJE733_cjs.TABLE_MESSAGES; }
14
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_MESSAGES; }
15
15
  });
16
16
  Object.defineProperty(exports, "TABLE_RESOURCES", {
17
17
  enumerable: true,
18
- get: function () { return chunkH5QJE733_cjs.TABLE_RESOURCES; }
18
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_RESOURCES; }
19
19
  });
20
20
  Object.defineProperty(exports, "TABLE_SCORERS", {
21
21
  enumerable: true,
22
- get: function () { return chunkH5QJE733_cjs.TABLE_SCORERS; }
22
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_SCORERS; }
23
23
  });
24
24
  Object.defineProperty(exports, "TABLE_THREADS", {
25
25
  enumerable: true,
26
- get: function () { return chunkH5QJE733_cjs.TABLE_THREADS; }
26
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_THREADS; }
27
27
  });
28
28
  Object.defineProperty(exports, "TABLE_WORKFLOW_SNAPSHOT", {
29
29
  enumerable: true,
30
- get: function () { return chunkH5QJE733_cjs.TABLE_WORKFLOW_SNAPSHOT; }
30
+ get: function () { return chunkFTVDAP6U_cjs.TABLE_WORKFLOW_SNAPSHOT; }
31
31
  });
32
32
  Object.defineProperty(exports, "mastraDocumentsTable", {
33
33
  enumerable: true,
34
- get: function () { return chunkH5QJE733_cjs.mastraDocumentsTable; }
34
+ get: function () { return chunkFTVDAP6U_cjs.mastraDocumentsTable; }
35
35
  });
36
36
  Object.defineProperty(exports, "mastraMessagesTable", {
37
37
  enumerable: true,
38
- get: function () { return chunkH5QJE733_cjs.mastraMessagesTable; }
38
+ get: function () { return chunkFTVDAP6U_cjs.mastraMessagesTable; }
39
39
  });
40
40
  Object.defineProperty(exports, "mastraResourcesTable", {
41
41
  enumerable: true,
42
- get: function () { return chunkH5QJE733_cjs.mastraResourcesTable; }
42
+ get: function () { return chunkFTVDAP6U_cjs.mastraResourcesTable; }
43
43
  });
44
44
  Object.defineProperty(exports, "mastraScoresTable", {
45
45
  enumerable: true,
46
- get: function () { return chunkH5QJE733_cjs.mastraScoresTable; }
46
+ get: function () { return chunkFTVDAP6U_cjs.mastraScoresTable; }
47
47
  });
48
48
  Object.defineProperty(exports, "mastraThreadsTable", {
49
49
  enumerable: true,
50
- get: function () { return chunkH5QJE733_cjs.mastraThreadsTable; }
50
+ get: function () { return chunkFTVDAP6U_cjs.mastraThreadsTable; }
51
51
  });
52
52
  Object.defineProperty(exports, "mastraVectorIndexesTable", {
53
53
  enumerable: true,
54
- get: function () { return chunkH5QJE733_cjs.mastraVectorIndexesTable; }
54
+ get: function () { return chunkFTVDAP6U_cjs.mastraVectorIndexesTable; }
55
55
  });
56
56
  Object.defineProperty(exports, "mastraVectorsTable", {
57
57
  enumerable: true,
58
- get: function () { return chunkH5QJE733_cjs.mastraVectorsTable; }
58
+ get: function () { return chunkFTVDAP6U_cjs.mastraVectorsTable; }
59
59
  });
60
60
  Object.defineProperty(exports, "mastraWorkflowSnapshotsTable", {
61
61
  enumerable: true,
62
- get: function () { return chunkH5QJE733_cjs.mastraWorkflowSnapshotsTable; }
62
+ get: function () { return chunkFTVDAP6U_cjs.mastraWorkflowSnapshotsTable; }
63
63
  });
64
64
  //# sourceMappingURL=index.cjs.map
65
65
  //# sourceMappingURL=index.cjs.map
@@ -1,4 +1,4 @@
1
1
  export { mastraStorage } from '../chunk-KSAPIIEJ.js';
2
- export { TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCORERS, TABLE_THREADS, TABLE_WORKFLOW_SNAPSHOT, mastraDocumentsTable, mastraMessagesTable, mastraResourcesTable, mastraScoresTable, mastraThreadsTable, mastraVectorIndexesTable, mastraVectorsTable, mastraWorkflowSnapshotsTable } from '../chunk-HXB4DWFE.js';
2
+ export { TABLE_MESSAGES, TABLE_RESOURCES, TABLE_SCORERS, TABLE_THREADS, TABLE_WORKFLOW_SNAPSHOT, mastraDocumentsTable, mastraMessagesTable, mastraResourcesTable, mastraScoresTable, mastraThreadsTable, mastraVectorIndexesTable, mastraVectorsTable, mastraWorkflowSnapshotsTable } from '../chunk-G5FLGAPE.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import { MastraBase } from '@mastra/core/base';
2
- import type { TABLE_NAMES } from '@mastra/core/storage';
2
+ import type { StorageColumn, TABLE_NAMES } from '@mastra/core/storage';
3
3
  import { ConvexAdminClient } from '../client.js';
4
4
  import type { EqualityFilter } from '../types.js';
5
5
  /**
@@ -32,6 +32,15 @@ export declare class ConvexDB extends MastraBase {
32
32
  private readonly client;
33
33
  constructor(client: ConvexAdminClient);
34
34
  hasColumn(_table: string, _column: string): Promise<boolean>;
35
+ createTable({ tableName, schema: _schema, }: {
36
+ tableName: TABLE_NAMES;
37
+ schema: Record<string, StorageColumn>;
38
+ }): Promise<void>;
39
+ alterTable({ tableName, schema: _schema, ifNotExists: _ifNotExists, }: {
40
+ tableName: TABLE_NAMES;
41
+ schema: Record<string, StorageColumn>;
42
+ ifNotExists: string[];
43
+ }): Promise<void>;
35
44
  clearTable({ tableName }: {
36
45
  tableName: TABLE_NAMES;
37
46
  }): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,sBAAsB,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CAQjF;AAED,qBAAa,QAAS,SAAQ,UAAU;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAIhD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrG,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9G,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAU/F,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQ/E,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7E,OAAO,CAAC,eAAe;CAqBxB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/db/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,wBAAwB,GAAG,sBAAsB,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,iBAAiB,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CAQjF;AAED,qBAAa,QAAS,SAAQ,UAAU;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAIhD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5D,WAAW,CAAC,EAChB,SAAS,EACT,MAAM,EAAE,OAAO,GAChB,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;KACvC,GAAG,OAAO,CAAC,IAAI,CAAC;IAKX,UAAU,CAAC,EACf,SAAS,EACT,MAAM,EAAE,OAAO,EACf,WAAW,EAAE,YAAY,GAC1B,EAAE;QACD,SAAS,EAAE,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACtC,WAAW,EAAE,MAAM,EAAE,CAAC;KACvB,GAAG,OAAO,CAAC,IAAI,CAAC;IAKX,UAAU,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAapE,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAanE,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQrG,WAAW,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9G,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAU/F,UAAU,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQ/E,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS7E,OAAO,CAAC,eAAe;CAqBxB"}
@@ -1,5 +1,5 @@
1
1
  import type { StorageDomains } from '@mastra/core/storage';
2
- import { MastraStorage } from '@mastra/core/storage';
2
+ import { MastraCompositeStore } from '@mastra/core/storage';
3
3
  import type { ConvexAdminClientConfig } from './client.js';
4
4
  import { ConvexAdminClient } from './client.js';
5
5
  import { MemoryConvex } from './domains/memory/index.js';
@@ -75,7 +75,7 @@ export type ConvexStoreConfig = {
75
75
  * await workflows?.persistWorkflowSnapshot({ workflowName, runId, snapshot });
76
76
  * ```
77
77
  */
78
- export declare class ConvexStore extends MastraStorage {
78
+ export declare class ConvexStore extends MastraCompositeStore {
79
79
  stores: StorageDomains;
80
80
  constructor(config: ConvexStoreConfig);
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,CACA;IACE;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GACD,uBAAuB,CAC1B,CAAC;AASF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAY,SAAQ,aAAa;IAC5C,MAAM,EAAE,cAAc,CAAwB;gBAElC,MAAM,EAAE,iBAAiB;CAiBtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC;AACvD,YAAY,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;;;;;;;;;;;;;OAkBG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,CACA;IACE;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,EAAE,iBAAiB,CAAC;CAC3B,GACD,uBAAuB,CAC1B,CAAC;AASF;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,WAAY,SAAQ,oBAAoB;IAC3C,MAAM,EAAE,cAAc,CAAC;gBAEnB,MAAM,EAAE,iBAAiB;CAiBtC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mastra/convex",
3
- "version": "0.0.0-type-testing-20260120105120",
3
+ "version": "0.0.0-unified-workspace-snapshot-20260128233410",
4
4
  "description": "Convex provider for Mastra - includes both storage and vector adapters plus Convex server helpers",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -43,21 +43,21 @@
43
43
  "convex": "^1.29.3"
44
44
  },
45
45
  "devDependencies": {
46
- "@types/node": "22.13.17",
46
+ "@types/node": "22.19.7",
47
47
  "@vitest/coverage-v8": "4.0.12",
48
48
  "@vitest/ui": "4.0.12",
49
- "dotenv": "^17.0.0",
49
+ "dotenv": "^17.2.3",
50
50
  "eslint": "^9.37.0",
51
- "tsup": "^8.5.0",
51
+ "tsup": "^8.5.1",
52
52
  "typescript": "^5.9.3",
53
53
  "vitest": "4.0.16",
54
- "@internal/lint": "0.0.0-type-testing-20260120105120",
55
- "@internal/types-builder": "0.0.0-type-testing-20260120105120",
56
- "@internal/storage-test-utils": "0.0.49",
57
- "@mastra/core": "0.0.0-type-testing-20260120105120"
54
+ "@internal/storage-test-utils": "0.0.51",
55
+ "@internal/types-builder": "0.0.0-unified-workspace-snapshot-20260128233410",
56
+ "@internal/lint": "0.0.0-unified-workspace-snapshot-20260128233410",
57
+ "@mastra/core": "0.0.0-unified-workspace-snapshot-20260128233410"
58
58
  },
59
59
  "peerDependencies": {
60
- "@mastra/core": "0.0.0-type-testing-20260120105120"
60
+ "@mastra/core": "0.0.0-unified-workspace-snapshot-20260128233410"
61
61
  },
62
62
  "files": [
63
63
  "dist",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema.ts"],"names":["v","defineTable","TABLE_SCHEMAS","TABLE_THREADS","TABLE_MESSAGES","TABLE_RESOURCES","TABLE_WORKFLOW_SNAPSHOT","TABLE_SCORERS"],"mappings":"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","file":"chunk-H5QJE733.cjs","sourcesContent":["/**\n * Convex schema definitions for Mastra tables.\n *\n * This file dynamically builds Convex table definitions from the canonical\n * TABLE_SCHEMAS in @mastra/core/storage/constants to ensure they stay in sync.\n *\n * The import path @mastra/core/storage/constants is specifically designed to\n * avoid pulling in Node.js dependencies, making it safe to use in Convex's\n * sandboxed schema evaluation environment.\n */\nimport {\n TABLE_SCHEMAS,\n TABLE_WORKFLOW_SNAPSHOT,\n TABLE_MESSAGES,\n TABLE_THREADS,\n TABLE_RESOURCES,\n TABLE_SCORERS,\n} from '@mastra/core/storage/constants';\nimport { defineTable } from 'convex/server';\nimport { v } from 'convex/values';\n\n/**\n * Helper to convert Mastra StorageColumn type to Convex validator\n */\nfunction columnToValidator(column: { type: string; nullable?: boolean }) {\n let validator;\n switch (column.type) {\n case 'text':\n validator = v.string();\n break;\n case 'integer':\n case 'float':\n validator = v.number();\n break;\n case 'bigint':\n validator = v.int64();\n break;\n case 'boolean':\n validator = v.boolean();\n break;\n case 'timestamp':\n validator = v.string(); // Store as ISO string\n break;\n case 'jsonb':\n case 'json':\n validator = v.any();\n break;\n default:\n validator = v.any();\n }\n return column.nullable ? v.optional(validator) : validator;\n}\n\n/**\n * Build Convex table definition from Mastra schema.\n * Includes the `id` field as a regular field (Convex auto-generates _id).\n */\nfunction buildTableFromSchema(schema: Record<string, { type: string; nullable?: boolean; primaryKey?: boolean }>) {\n const fields: Record<string, any> = {};\n for (const [key, column] of Object.entries(schema)) {\n fields[key] = columnToValidator(column);\n }\n return fields;\n}\n\n// ============================================================================\n// Table Definitions - Built from @mastra/core TABLE_SCHEMAS\n// ============================================================================\n\n/**\n * Threads table - stores conversation threads\n * Schema: TABLE_SCHEMAS[TABLE_THREADS]\n */\nexport const mastraThreadsTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_THREADS]))\n .index('by_record_id', ['id'])\n .index('by_resource', ['resourceId'])\n .index('by_created', ['createdAt'])\n .index('by_updated', ['updatedAt']);\n\n/**\n * Messages table - stores conversation messages\n * Schema: TABLE_SCHEMAS[TABLE_MESSAGES]\n */\nexport const mastraMessagesTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_MESSAGES]))\n .index('by_record_id', ['id'])\n .index('by_thread', ['thread_id'])\n .index('by_thread_created', ['thread_id', 'createdAt'])\n .index('by_resource', ['resourceId']);\n\n/**\n * Resources table - stores resource/user working memory\n * Schema: TABLE_SCHEMAS[TABLE_RESOURCES]\n */\nexport const mastraResourcesTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_RESOURCES]))\n .index('by_record_id', ['id'])\n .index('by_updated', ['updatedAt']);\n\n/**\n * Workflow snapshots table - stores workflow execution state\n * Schema: TABLE_SCHEMAS[TABLE_WORKFLOW_SNAPSHOT]\n */\nexport const mastraWorkflowSnapshotsTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_WORKFLOW_SNAPSHOT]))\n .index('by_record_id', ['id'])\n .index('by_workflow_run', ['workflow_name', 'run_id'])\n .index('by_workflow', ['workflow_name'])\n .index('by_resource', ['resourceId'])\n .index('by_created', ['createdAt']);\n\n/**\n * Scores table - stores evaluation scores\n * Schema: TABLE_SCHEMAS[TABLE_SCORERS]\n */\nexport const mastraScoresTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_SCORERS]))\n .index('by_record_id', ['id'])\n .index('by_scorer', ['scorerId'])\n .index('by_entity', ['entityId', 'entityType'])\n .index('by_run', ['runId'])\n .index('by_created', ['createdAt']);\n\n// ============================================================================\n// Vector Tables - Not in core schemas (vector-specific)\n// ============================================================================\n\n/**\n * Vector indexes table - stores metadata about vector indexes\n */\nexport const mastraVectorIndexesTable = defineTable({\n id: v.string(), // Mastra record ID (same as indexName)\n indexName: v.string(),\n dimension: v.number(),\n metric: v.string(),\n createdAt: v.string(),\n})\n .index('by_record_id', ['id'])\n .index('by_name', ['indexName']);\n\n/**\n * Vectors table - stores vector embeddings\n * Uses indexName field to support multiple indexes with different dimensions\n */\nexport const mastraVectorsTable = defineTable({\n id: v.string(), // Mastra record ID\n indexName: v.string(),\n embedding: v.array(v.float64()),\n metadata: v.optional(v.any()),\n})\n .index('by_index_id', ['indexName', 'id']) // Composite for scoped lookups per index\n .index('by_index', ['indexName']);\n\n// ============================================================================\n// Fallback Table - For unknown/custom tables\n// ============================================================================\n\n/**\n * Generic documents table - fallback for unknown table types\n */\nexport const mastraDocumentsTable = defineTable({\n table: v.string(),\n primaryKey: v.string(),\n record: v.any(),\n})\n .index('by_table', ['table'])\n .index('by_table_primary', ['table', 'primaryKey']);\n\n// ============================================================================\n// Re-export table name constants for convenience\n// ============================================================================\n\nexport { TABLE_WORKFLOW_SNAPSHOT, TABLE_MESSAGES, TABLE_THREADS, TABLE_RESOURCES, TABLE_SCORERS };\n\n// Additional table name constants for vector tables (not in core)\nexport const TABLE_VECTOR_INDEXES = 'mastra_vector_indexes';\nexport const TABLE_VECTORS = 'mastra_vectors';\nexport const TABLE_DOCUMENTS = 'mastra_documents';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/schema.ts"],"names":[],"mappings":"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","file":"chunk-HXB4DWFE.js","sourcesContent":["/**\n * Convex schema definitions for Mastra tables.\n *\n * This file dynamically builds Convex table definitions from the canonical\n * TABLE_SCHEMAS in @mastra/core/storage/constants to ensure they stay in sync.\n *\n * The import path @mastra/core/storage/constants is specifically designed to\n * avoid pulling in Node.js dependencies, making it safe to use in Convex's\n * sandboxed schema evaluation environment.\n */\nimport {\n TABLE_SCHEMAS,\n TABLE_WORKFLOW_SNAPSHOT,\n TABLE_MESSAGES,\n TABLE_THREADS,\n TABLE_RESOURCES,\n TABLE_SCORERS,\n} from '@mastra/core/storage/constants';\nimport { defineTable } from 'convex/server';\nimport { v } from 'convex/values';\n\n/**\n * Helper to convert Mastra StorageColumn type to Convex validator\n */\nfunction columnToValidator(column: { type: string; nullable?: boolean }) {\n let validator;\n switch (column.type) {\n case 'text':\n validator = v.string();\n break;\n case 'integer':\n case 'float':\n validator = v.number();\n break;\n case 'bigint':\n validator = v.int64();\n break;\n case 'boolean':\n validator = v.boolean();\n break;\n case 'timestamp':\n validator = v.string(); // Store as ISO string\n break;\n case 'jsonb':\n case 'json':\n validator = v.any();\n break;\n default:\n validator = v.any();\n }\n return column.nullable ? v.optional(validator) : validator;\n}\n\n/**\n * Build Convex table definition from Mastra schema.\n * Includes the `id` field as a regular field (Convex auto-generates _id).\n */\nfunction buildTableFromSchema(schema: Record<string, { type: string; nullable?: boolean; primaryKey?: boolean }>) {\n const fields: Record<string, any> = {};\n for (const [key, column] of Object.entries(schema)) {\n fields[key] = columnToValidator(column);\n }\n return fields;\n}\n\n// ============================================================================\n// Table Definitions - Built from @mastra/core TABLE_SCHEMAS\n// ============================================================================\n\n/**\n * Threads table - stores conversation threads\n * Schema: TABLE_SCHEMAS[TABLE_THREADS]\n */\nexport const mastraThreadsTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_THREADS]))\n .index('by_record_id', ['id'])\n .index('by_resource', ['resourceId'])\n .index('by_created', ['createdAt'])\n .index('by_updated', ['updatedAt']);\n\n/**\n * Messages table - stores conversation messages\n * Schema: TABLE_SCHEMAS[TABLE_MESSAGES]\n */\nexport const mastraMessagesTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_MESSAGES]))\n .index('by_record_id', ['id'])\n .index('by_thread', ['thread_id'])\n .index('by_thread_created', ['thread_id', 'createdAt'])\n .index('by_resource', ['resourceId']);\n\n/**\n * Resources table - stores resource/user working memory\n * Schema: TABLE_SCHEMAS[TABLE_RESOURCES]\n */\nexport const mastraResourcesTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_RESOURCES]))\n .index('by_record_id', ['id'])\n .index('by_updated', ['updatedAt']);\n\n/**\n * Workflow snapshots table - stores workflow execution state\n * Schema: TABLE_SCHEMAS[TABLE_WORKFLOW_SNAPSHOT]\n */\nexport const mastraWorkflowSnapshotsTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_WORKFLOW_SNAPSHOT]))\n .index('by_record_id', ['id'])\n .index('by_workflow_run', ['workflow_name', 'run_id'])\n .index('by_workflow', ['workflow_name'])\n .index('by_resource', ['resourceId'])\n .index('by_created', ['createdAt']);\n\n/**\n * Scores table - stores evaluation scores\n * Schema: TABLE_SCHEMAS[TABLE_SCORERS]\n */\nexport const mastraScoresTable = defineTable(buildTableFromSchema(TABLE_SCHEMAS[TABLE_SCORERS]))\n .index('by_record_id', ['id'])\n .index('by_scorer', ['scorerId'])\n .index('by_entity', ['entityId', 'entityType'])\n .index('by_run', ['runId'])\n .index('by_created', ['createdAt']);\n\n// ============================================================================\n// Vector Tables - Not in core schemas (vector-specific)\n// ============================================================================\n\n/**\n * Vector indexes table - stores metadata about vector indexes\n */\nexport const mastraVectorIndexesTable = defineTable({\n id: v.string(), // Mastra record ID (same as indexName)\n indexName: v.string(),\n dimension: v.number(),\n metric: v.string(),\n createdAt: v.string(),\n})\n .index('by_record_id', ['id'])\n .index('by_name', ['indexName']);\n\n/**\n * Vectors table - stores vector embeddings\n * Uses indexName field to support multiple indexes with different dimensions\n */\nexport const mastraVectorsTable = defineTable({\n id: v.string(), // Mastra record ID\n indexName: v.string(),\n embedding: v.array(v.float64()),\n metadata: v.optional(v.any()),\n})\n .index('by_index_id', ['indexName', 'id']) // Composite for scoped lookups per index\n .index('by_index', ['indexName']);\n\n// ============================================================================\n// Fallback Table - For unknown/custom tables\n// ============================================================================\n\n/**\n * Generic documents table - fallback for unknown table types\n */\nexport const mastraDocumentsTable = defineTable({\n table: v.string(),\n primaryKey: v.string(),\n record: v.any(),\n})\n .index('by_table', ['table'])\n .index('by_table_primary', ['table', 'primaryKey']);\n\n// ============================================================================\n// Re-export table name constants for convenience\n// ============================================================================\n\nexport { TABLE_WORKFLOW_SNAPSHOT, TABLE_MESSAGES, TABLE_THREADS, TABLE_RESOURCES, TABLE_SCORERS };\n\n// Additional table name constants for vector tables (not in core)\nexport const TABLE_VECTOR_INDEXES = 'mastra_vector_indexes';\nexport const TABLE_VECTORS = 'mastra_vectors';\nexport const TABLE_DOCUMENTS = 'mastra_documents';\n"]}