@mastra/convex 0.0.0-main-test-2-20251127211532

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE.md +15 -0
  3. package/README.md +123 -0
  4. package/dist/chunk-NZCHEPNU.js +362 -0
  5. package/dist/chunk-NZCHEPNU.js.map +1 -0
  6. package/dist/chunk-QKN2PWR2.cjs +391 -0
  7. package/dist/chunk-QKN2PWR2.cjs.map +1 -0
  8. package/dist/index.cjs +1325 -0
  9. package/dist/index.cjs.map +1 -0
  10. package/dist/index.d.ts +4 -0
  11. package/dist/index.d.ts.map +1 -0
  12. package/dist/index.js +1262 -0
  13. package/dist/index.js.map +1 -0
  14. package/dist/server/index.cjs +64 -0
  15. package/dist/server/index.cjs.map +1 -0
  16. package/dist/server/index.d.ts +3 -0
  17. package/dist/server/index.d.ts.map +1 -0
  18. package/dist/server/index.js +3 -0
  19. package/dist/server/index.js.map +1 -0
  20. package/dist/server/schema.d.ts +115 -0
  21. package/dist/server/schema.d.ts.map +1 -0
  22. package/dist/server/storage.d.ts +7 -0
  23. package/dist/server/storage.d.ts.map +1 -0
  24. package/dist/storage/client.d.ts +24 -0
  25. package/dist/storage/client.d.ts.map +1 -0
  26. package/dist/storage/domains/memory.d.ts +59 -0
  27. package/dist/storage/domains/memory.d.ts.map +1 -0
  28. package/dist/storage/domains/scores.d.ts +42 -0
  29. package/dist/storage/domains/scores.d.ts.map +1 -0
  30. package/dist/storage/domains/workflows.d.ts +44 -0
  31. package/dist/storage/domains/workflows.d.ts.map +1 -0
  32. package/dist/storage/index.d.ts +161 -0
  33. package/dist/storage/index.d.ts.map +1 -0
  34. package/dist/storage/operations.d.ts +40 -0
  35. package/dist/storage/operations.d.ts.map +1 -0
  36. package/dist/storage/types.d.ts +42 -0
  37. package/dist/storage/types.d.ts.map +1 -0
  38. package/dist/vector/index.d.ts +35 -0
  39. package/dist/vector/index.d.ts.map +1 -0
  40. package/package.json +75 -0
@@ -0,0 +1,44 @@
1
+ import { WorkflowsStorage } from '@mastra/core/storage';
2
+ import type { StorageListWorkflowRunsInput, WorkflowRun, WorkflowRuns } from '@mastra/core/storage';
3
+ import type { StepResult, WorkflowRunState, WorkflowRunStatus } from '@mastra/core/workflows';
4
+ import type { StoreOperationsConvex } from '../operations.js';
5
+ export declare class WorkflowsConvex extends WorkflowsStorage {
6
+ private readonly operations;
7
+ constructor(operations: StoreOperationsConvex);
8
+ updateWorkflowResults({ workflowName, runId, stepId, result, requestContext, }: {
9
+ workflowName: string;
10
+ runId: string;
11
+ stepId: string;
12
+ result: StepResult<any, any, any, any>;
13
+ requestContext: Record<string, any>;
14
+ }): Promise<Record<string, StepResult<any, any, any, any>>>;
15
+ updateWorkflowState({ workflowName, runId, opts, }: {
16
+ workflowName: string;
17
+ runId: string;
18
+ opts: {
19
+ status: WorkflowRunStatus;
20
+ result?: StepResult<any, any, any, any>;
21
+ error?: string;
22
+ suspendedPaths?: Record<string, number[]>;
23
+ waitingPaths?: Record<string, number[]>;
24
+ };
25
+ }): Promise<WorkflowRunState | undefined>;
26
+ persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
27
+ workflowName: string;
28
+ runId: string;
29
+ resourceId?: string;
30
+ snapshot: WorkflowRunState;
31
+ }): Promise<void>;
32
+ loadWorkflowSnapshot({ workflowName, runId, }: {
33
+ workflowName: string;
34
+ runId: string;
35
+ }): Promise<WorkflowRunState | null>;
36
+ listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
37
+ getWorkflowRunById({ runId, workflowName, }: {
38
+ runId: string;
39
+ workflowName?: string;
40
+ }): Promise<WorkflowRun | null>;
41
+ private getRun;
42
+ private ensureSnapshot;
43
+ }
44
+ //# sourceMappingURL=workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../src/storage/domains/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACnG,OAAO,KAAK,EAAE,4BAA4B,EAAsB,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACxH,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAQ3D,qBAAa,eAAgB,SAAQ,gBAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,UAAU;gBAAV,UAAU,EAAE,qBAAqB;IAIxD,qBAAqB,CAAC,EAC1B,YAAY,EACZ,KAAK,EACL,MAAM,EACN,MAAM,EACN,cAAc,GACf,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KACrC,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAmBrD,mBAAmB,CAAC,EACxB,YAAY,EACZ,KAAK,EACL,IAAI,GACL,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE;YACJ,MAAM,EAAE,iBAAiB,CAAC;YAC1B,MAAM,CAAC,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;SACzC,CAAC;KACH,GAAG,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAiBnC,uBAAuB,CAAC,EAC5B,YAAY,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,GACT,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,gBAAgB,CAAC;KAC5B,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBX,oBAAoB,CAAC,EACzB,YAAY,EACZ,KAAK,GACN,EAAE;QACD,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAU9B,gBAAgB,CAAC,IAAI,GAAE,4BAAiC,GAAG,OAAO,CAAC,YAAY,CAAC;IAqChF,kBAAkB,CAAC,EACvB,KAAK,EACL,YAAY,GACb,EAAE;QACD,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAejB,MAAM;IAOpB,OAAO,CAAC,cAAc;CAuBvB"}
@@ -0,0 +1,161 @@
1
+ import type { ScoreRowData, ScoringEntityType, ScoringSource } from '@mastra/core/evals';
2
+ import type { MastraDBMessage, StorageThreadType } from '@mastra/core/memory';
3
+ import type { StorageColumn, StorageResourceType, PaginationInfo, StorageListMessagesInput, StorageListMessagesOutput, StorageListThreadsByResourceIdInput, StorageListThreadsByResourceIdOutput, StorageListWorkflowRunsInput, StoragePagination, WorkflowRun, WorkflowRuns, TABLE_NAMES } from '@mastra/core/storage';
4
+ import { MastraStorage } from '@mastra/core/storage';
5
+ import type { StepResult, WorkflowRunState, WorkflowRunStatus } from '@mastra/core/workflows';
6
+ import type { ConvexAdminClientConfig } from './client.js';
7
+ export type ConvexStoreConfig = ConvexAdminClientConfig & {
8
+ id: string;
9
+ name?: string;
10
+ };
11
+ export declare class ConvexStore extends MastraStorage {
12
+ private readonly operations;
13
+ private readonly memory;
14
+ private readonly workflows;
15
+ private readonly scores;
16
+ constructor(config: ConvexStoreConfig);
17
+ get supports(): {
18
+ selectByIncludeResourceScope: boolean;
19
+ resourceWorkingMemory: boolean;
20
+ hasColumn: boolean;
21
+ createTable: boolean;
22
+ deleteMessages: boolean;
23
+ observabilityInstance: boolean;
24
+ listScoresBySpan: boolean;
25
+ };
26
+ createTable(_args: {
27
+ tableName: TABLE_NAMES;
28
+ schema: Record<string, StorageColumn>;
29
+ }): Promise<void>;
30
+ clearTable({ tableName }: {
31
+ tableName: TABLE_NAMES;
32
+ }): Promise<void>;
33
+ dropTable({ tableName }: {
34
+ tableName: TABLE_NAMES;
35
+ }): Promise<void>;
36
+ alterTable(_args: {
37
+ tableName: TABLE_NAMES;
38
+ schema: Record<string, StorageColumn>;
39
+ ifNotExists: string[];
40
+ }): Promise<void>;
41
+ insert({ tableName, record }: {
42
+ tableName: TABLE_NAMES;
43
+ record: Record<string, any>;
44
+ }): Promise<void>;
45
+ batchInsert({ tableName, records }: {
46
+ tableName: TABLE_NAMES;
47
+ records: Record<string, any>[];
48
+ }): Promise<void>;
49
+ load<R>({ tableName, keys }: {
50
+ tableName: TABLE_NAMES;
51
+ keys: Record<string, any>;
52
+ }): Promise<R | null>;
53
+ getThreadById({ threadId }: {
54
+ threadId: string;
55
+ }): Promise<StorageThreadType | null>;
56
+ saveThread({ thread }: {
57
+ thread: StorageThreadType;
58
+ }): Promise<StorageThreadType>;
59
+ updateThread({ id, title, metadata, }: {
60
+ id: string;
61
+ title: string;
62
+ metadata: Record<string, unknown>;
63
+ }): Promise<StorageThreadType>;
64
+ deleteThread({ threadId }: {
65
+ threadId: string;
66
+ }): Promise<void>;
67
+ listMessages(args: StorageListMessagesInput): Promise<StorageListMessagesOutput>;
68
+ listMessagesById({ messageIds }: {
69
+ messageIds: string[];
70
+ }): Promise<{
71
+ messages: MastraDBMessage[];
72
+ }>;
73
+ saveMessages(args: {
74
+ messages: MastraDBMessage[];
75
+ }): Promise<{
76
+ messages: MastraDBMessage[];
77
+ }>;
78
+ updateMessages({ messages, }: {
79
+ messages: (Partial<Omit<MastraDBMessage, 'createdAt'>> & {
80
+ id: string;
81
+ })[];
82
+ }): Promise<MastraDBMessage[]>;
83
+ deleteMessages(messageIds: string[]): Promise<void>;
84
+ listThreadsByResourceId(args: StorageListThreadsByResourceIdInput): Promise<StorageListThreadsByResourceIdOutput>;
85
+ getResourceById({ resourceId }: {
86
+ resourceId: string;
87
+ }): Promise<StorageResourceType | null>;
88
+ saveResource({ resource }: {
89
+ resource: StorageResourceType;
90
+ }): Promise<StorageResourceType>;
91
+ updateResource({ resourceId, workingMemory, metadata, }: {
92
+ resourceId: string;
93
+ workingMemory?: string;
94
+ metadata?: Record<string, unknown>;
95
+ }): Promise<StorageResourceType>;
96
+ updateWorkflowResults(params: {
97
+ workflowName: string;
98
+ runId: string;
99
+ stepId: string;
100
+ result: StepResult<any, any, any, any>;
101
+ requestContext: Record<string, any>;
102
+ }): Promise<Record<string, StepResult<any, any, any, any>>>;
103
+ updateWorkflowState(params: {
104
+ workflowName: string;
105
+ runId: string;
106
+ opts: {
107
+ status: WorkflowRunStatus;
108
+ result?: StepResult<any, any, any, any>;
109
+ error?: string;
110
+ suspendedPaths?: Record<string, number[]>;
111
+ waitingPaths?: Record<string, number[]>;
112
+ };
113
+ }): Promise<WorkflowRunState | undefined>;
114
+ persistWorkflowSnapshot({ workflowName, runId, resourceId, snapshot, }: {
115
+ workflowName: string;
116
+ runId: string;
117
+ resourceId?: string | undefined;
118
+ snapshot: WorkflowRunState;
119
+ }): Promise<void>;
120
+ loadWorkflowSnapshot({ workflowName, runId, }: {
121
+ workflowName: string;
122
+ runId: string;
123
+ }): Promise<WorkflowRunState | null>;
124
+ listWorkflowRuns(args?: StorageListWorkflowRunsInput): Promise<WorkflowRuns>;
125
+ getWorkflowRunById({ runId, workflowName, }: {
126
+ runId: string;
127
+ workflowName?: string | undefined;
128
+ }): Promise<WorkflowRun | null>;
129
+ getScoreById({ id }: {
130
+ id: string;
131
+ }): Promise<ScoreRowData | null>;
132
+ saveScore(score: Omit<ScoreRowData, 'id' | 'createdAt' | 'updatedAt'>): Promise<{
133
+ score: ScoreRowData;
134
+ }>;
135
+ listScoresByScorerId({ scorerId, pagination, entityId, entityType, source, }: {
136
+ scorerId: string;
137
+ pagination: StoragePagination;
138
+ entityId?: string | undefined;
139
+ entityType?: ScoringEntityType | undefined;
140
+ source?: ScoringSource | undefined;
141
+ }): Promise<{
142
+ pagination: PaginationInfo;
143
+ scores: ScoreRowData[];
144
+ }>;
145
+ listScoresByRunId({ runId, pagination, }: {
146
+ runId: string;
147
+ pagination: StoragePagination;
148
+ }): Promise<{
149
+ pagination: PaginationInfo;
150
+ scores: ScoreRowData[];
151
+ }>;
152
+ listScoresByEntityId({ entityId, entityType, pagination, }: {
153
+ pagination: StoragePagination;
154
+ entityId: string;
155
+ entityType: ScoringEntityType;
156
+ }): Promise<{
157
+ pagination: PaginationInfo;
158
+ scores: ScoreRowData[];
159
+ }>;
160
+ }
161
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { StoreOperations } from '@mastra/core/storage';
2
+ import type { TABLE_NAMES, StorageColumn } from '@mastra/core/storage';
3
+ import type { ConvexAdminClient } from './client.js';
4
+ import type { EqualityFilter } from './types.js';
5
+ export declare class StoreOperationsConvex extends StoreOperations {
6
+ private readonly client;
7
+ constructor(client: ConvexAdminClient);
8
+ hasColumn(_table: string, _column: string): Promise<boolean>;
9
+ createTable(_args: {
10
+ tableName: TABLE_NAMES;
11
+ schema: Record<string, StorageColumn>;
12
+ }): Promise<void>;
13
+ clearTable({ tableName }: {
14
+ tableName: TABLE_NAMES;
15
+ }): Promise<void>;
16
+ dropTable({ tableName }: {
17
+ tableName: TABLE_NAMES;
18
+ }): Promise<void>;
19
+ alterTable(_args: {
20
+ tableName: TABLE_NAMES;
21
+ schema: Record<string, StorageColumn>;
22
+ ifNotExists: string[];
23
+ }): Promise<void>;
24
+ insert({ tableName, record }: {
25
+ tableName: TABLE_NAMES;
26
+ record: Record<string, any>;
27
+ }): Promise<void>;
28
+ batchInsert({ tableName, records }: {
29
+ tableName: TABLE_NAMES;
30
+ records: Record<string, any>[];
31
+ }): Promise<void>;
32
+ load<R>({ tableName, keys }: {
33
+ tableName: TABLE_NAMES;
34
+ keys: Record<string, any>;
35
+ }): Promise<R | null>;
36
+ queryTable<R>(tableName: TABLE_NAMES, filters?: EqualityFilter[]): Promise<R[]>;
37
+ deleteMany(tableName: TABLE_NAMES, ids: string[]): Promise<void>;
38
+ private normalizeRecord;
39
+ }
40
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/storage/operations.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2B,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,qBAAa,qBAAsB,SAAQ,eAAe;IAC5C,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,KAAK,EAAE;QAAE,SAAS,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpG,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,UAAU,CAAC,KAAK,EAAE;QACtB,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;IAIX,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"}
@@ -0,0 +1,42 @@
1
+ import type { TABLE_NAMES } from '@mastra/core/storage';
2
+ export type EqualityFilter = {
3
+ field: string;
4
+ value: string | number | boolean | null;
5
+ };
6
+ export type StorageRequest = {
7
+ op: 'insert';
8
+ tableName: TABLE_NAMES | string;
9
+ record: Record<string, any>;
10
+ } | {
11
+ op: 'batchInsert';
12
+ tableName: TABLE_NAMES | string;
13
+ records: Record<string, any>[];
14
+ } | {
15
+ op: 'load';
16
+ tableName: TABLE_NAMES | string;
17
+ keys: Record<string, any>;
18
+ } | {
19
+ op: 'clearTable' | 'dropTable';
20
+ tableName: TABLE_NAMES | string;
21
+ } | {
22
+ op: 'queryTable';
23
+ tableName: TABLE_NAMES | string;
24
+ filters?: EqualityFilter[];
25
+ limit?: number;
26
+ } | {
27
+ op: 'deleteMany';
28
+ tableName: TABLE_NAMES | string;
29
+ ids: string[];
30
+ };
31
+ export type StorageResponse = {
32
+ ok: true;
33
+ result?: any;
34
+ /** Indicates more batches remain for bulk operations (e.g., clearTable) */
35
+ hasMore?: boolean;
36
+ } | {
37
+ ok: false;
38
+ error: string;
39
+ code?: string;
40
+ details?: Record<string, any>;
41
+ };
42
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IACE,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B,GACD;IACE,EAAE,EAAE,aAAa,CAAC;IAClB,SAAS,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;CAChC,GACD;IACE,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B,GACD;IACE,EAAE,EAAE,YAAY,GAAG,WAAW,CAAC;IAC/B,SAAS,EAAE,WAAW,GAAG,MAAM,CAAC;CACjC,GACD;IACE,EAAE,EAAE,YAAY,CAAC;IACjB,SAAS,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACD;IACE,EAAE,EAAE,YAAY,CAAC;IACjB,SAAS,EAAE,WAAW,GAAG,MAAM,CAAC;IAChC,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEN,MAAM,MAAM,eAAe,GACvB;IACE,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { MastraVector } from '@mastra/core/vector';
2
+ import type { CreateIndexParams, DeleteIndexParams, DeleteVectorParams, DeleteVectorsParams, DescribeIndexParams, IndexStats, QueryResult, QueryVectorParams, UpdateVectorParams, UpsertVectorParams } from '@mastra/core/vector';
3
+ import type { ConvexAdminClientConfig } from '../storage/client.js';
4
+ type VectorFilter = {
5
+ metadata?: Record<string, any>;
6
+ };
7
+ export type ConvexVectorConfig = ConvexAdminClientConfig & {
8
+ id: string;
9
+ };
10
+ export declare class ConvexVector extends MastraVector<VectorFilter> {
11
+ private readonly client;
12
+ constructor(config: ConvexVectorConfig);
13
+ createIndex({ indexName, dimension }: CreateIndexParams): Promise<void>;
14
+ deleteIndex({ indexName }: DeleteIndexParams): Promise<void>;
15
+ truncateIndex({ indexName }: DeleteIndexParams): Promise<void>;
16
+ listIndexes(): Promise<string[]>;
17
+ describeIndex({ indexName }: DescribeIndexParams): Promise<IndexStats>;
18
+ upsert({ indexName, vectors, ids, metadata }: UpsertVectorParams<VectorFilter>): Promise<string[]>;
19
+ query({ indexName, queryVector, topK, includeVector, filter, }: QueryVectorParams<VectorFilter>): Promise<QueryResult[]>;
20
+ updateVector(params: UpdateVectorParams<VectorFilter>): Promise<void>;
21
+ deleteVector({ indexName, id }: DeleteVectorParams): Promise<void>;
22
+ deleteVectors(params: DeleteVectorsParams<VectorFilter>): Promise<void>;
23
+ private vectorTable;
24
+ private isEmptyFilter;
25
+ private matchesFilter;
26
+ private matchesFilterConditions;
27
+ private callStorage;
28
+ /**
29
+ * Call storage repeatedly until hasMore is false.
30
+ * Use for bulk operations like clearTable that may need multiple batches.
31
+ */
32
+ private callStorageUntilComplete;
33
+ }
34
+ export {};
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vector/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAUjE,KAAK,YAAY,GAAG;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC,CAAC;AAIF,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG;IACzD,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,qBAAa,YAAa,SAAQ,YAAY,CAAC,YAAY,CAAC;IAC1D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,MAAM,EAAE,kBAAkB;IAKhC,WAAW,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcvE,WAAW,CAAC,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc5D,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAS9D,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQhC,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBtE,MAAM,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAkBlG,KAAK,CAAC,EACV,SAAS,EACT,WAAW,EACX,IAAS,EACT,aAAqB,EACrB,MAAM,GACP,EAAE,iBAAiB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAyBrD,YAAY,CAAC,MAAM,EAAE,kBAAkB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkErE,YAAY,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlE,aAAa,CAAC,MAAM,EAAE,mBAAmB,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAoD7E,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,uBAAuB;YAiFjB,WAAW;IAIzB;;;OAGG;YACW,wBAAwB;CAOvC"}
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "@mastra/convex",
3
+ "version": "0.0.0-main-test-2-20251127211532",
4
+ "description": "Convex provider for Mastra - includes both storage and vector adapters plus Convex server helpers",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./dist/index.d.ts",
12
+ "default": "./dist/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./dist/index.d.ts",
16
+ "default": "./dist/index.cjs"
17
+ }
18
+ },
19
+ "./server": {
20
+ "import": {
21
+ "types": "./dist/server/index.d.ts",
22
+ "default": "./dist/server/index.js"
23
+ },
24
+ "require": {
25
+ "types": "./dist/server/index.d.ts",
26
+ "default": "./dist/server/index.cjs"
27
+ }
28
+ },
29
+ "./package.json": "./package.json"
30
+ },
31
+ "license": "Apache-2.0",
32
+ "dependencies": {
33
+ "convex": "^1.29.3"
34
+ },
35
+ "devDependencies": {
36
+ "@microsoft/api-extractor": "^7.52.8",
37
+ "@types/node": "22.13.17",
38
+ "@vitest/coverage-v8": "4.0.12",
39
+ "@vitest/ui": "4.0.12",
40
+ "dotenv": "^17.0.0",
41
+ "eslint": "^9.37.0",
42
+ "tsup": "^8.5.0",
43
+ "typescript": "^5.8.3",
44
+ "vitest": "4.0.12",
45
+ "@internal/lint": "0.0.0-main-test-2-20251127211532",
46
+ "@internal/storage-test-utils": "0.0.49",
47
+ "@internal/types-builder": "0.0.0-main-test-2-20251127211532",
48
+ "@mastra/core": "0.0.0-main-test-2-20251127211532"
49
+ },
50
+ "peerDependencies": {
51
+ "@mastra/core": "0.0.0-main-test-2-20251127211532"
52
+ },
53
+ "files": [
54
+ "dist",
55
+ "CHANGELOG.md"
56
+ ],
57
+ "homepage": "https://mastra.ai",
58
+ "repository": {
59
+ "type": "git",
60
+ "url": "git+https://github.com/mastra-ai/mastra.git",
61
+ "directory": "stores/convex"
62
+ },
63
+ "bugs": {
64
+ "url": "https://github.com/mastra-ai/mastra/issues"
65
+ },
66
+ "engines": {
67
+ "node": ">=22.13.0"
68
+ },
69
+ "scripts": {
70
+ "build": "tsup --silent --config tsup.config.ts",
71
+ "build:watch": "tsup --watch --silent --config tsup.config.ts",
72
+ "test": "vitest run",
73
+ "lint": "eslint ."
74
+ }
75
+ }