@o-zakstam/voltagent-convex 1.1.1 → 1.1.3

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 (96) hide show
  1. package/dist/client/defineVoltAgentAPI.d.ts +191 -0
  2. package/dist/client/defineVoltAgentAPI.d.ts.map +1 -0
  3. package/dist/client/defineVoltAgentAPI.js +318 -0
  4. package/dist/client/defineVoltAgentAPI.js.map +1 -0
  5. package/dist/client/index.d.ts +6 -563
  6. package/dist/client/index.d.ts.map +1 -0
  7. package/dist/client/index.js +8 -285
  8. package/dist/client/index.js.map +1 -1
  9. package/dist/client/types.d.ts +13 -0
  10. package/dist/client/types.d.ts.map +1 -0
  11. package/dist/client/types.js +8 -0
  12. package/dist/client/types.js.map +1 -0
  13. package/dist/component/_generated/api.d.ts +44 -0
  14. package/dist/component/_generated/api.d.ts.map +1 -0
  15. package/dist/component/_generated/api.js +31 -0
  16. package/dist/component/_generated/api.js.map +1 -0
  17. package/dist/component/_generated/component.d.ts +352 -0
  18. package/dist/component/_generated/component.d.ts.map +1 -0
  19. package/dist/component/_generated/component.js +11 -0
  20. package/dist/component/_generated/component.js.map +1 -0
  21. package/dist/component/_generated/dataModel.d.ts +46 -0
  22. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  23. package/dist/component/_generated/dataModel.js +11 -0
  24. package/dist/component/_generated/dataModel.js.map +1 -0
  25. package/dist/component/_generated/server.d.ts +121 -0
  26. package/dist/component/_generated/server.d.ts.map +1 -0
  27. package/dist/component/_generated/server.js +78 -0
  28. package/dist/component/_generated/server.js.map +1 -0
  29. package/dist/component/conversations.d.ts +108 -0
  30. package/dist/component/conversations.d.ts.map +1 -0
  31. package/dist/component/conversations.js +278 -0
  32. package/dist/component/conversations.js.map +1 -0
  33. package/dist/component/convex.config.d.ts +13 -0
  34. package/dist/component/convex.config.d.ts.map +1 -0
  35. package/dist/component/convex.config.js +21 -0
  36. package/dist/component/convex.config.js.map +1 -0
  37. package/dist/component/messages.d.ts +235 -0
  38. package/dist/component/messages.d.ts.map +1 -0
  39. package/dist/component/messages.js +186 -0
  40. package/dist/component/messages.js.map +1 -0
  41. package/dist/component/schema.d.ts +535 -0
  42. package/dist/component/schema.d.ts.map +1 -0
  43. package/dist/component/schema.js +113 -0
  44. package/dist/component/schema.js.map +1 -0
  45. package/dist/component/steps.d.ts +65 -0
  46. package/dist/component/steps.d.ts.map +1 -0
  47. package/dist/component/steps.js +120 -0
  48. package/dist/component/steps.js.map +1 -0
  49. package/dist/component/validators.d.ts +633 -0
  50. package/dist/component/validators.d.ts.map +1 -0
  51. package/dist/component/validators.js +124 -0
  52. package/dist/component/validators.js.map +1 -0
  53. package/dist/component/workflows.d.ts +234 -0
  54. package/dist/component/workflows.d.ts.map +1 -0
  55. package/dist/component/workflows.js +229 -0
  56. package/dist/component/workflows.js.map +1 -0
  57. package/dist/component/workingMemory.d.ts +30 -0
  58. package/dist/component/workingMemory.d.ts.map +1 -0
  59. package/dist/component/workingMemory.js +131 -0
  60. package/dist/component/workingMemory.js.map +1 -0
  61. package/dist/index.d.ts +7 -318
  62. package/dist/index.d.ts.map +1 -0
  63. package/dist/index.js +10 -434
  64. package/dist/index.js.map +1 -1
  65. package/dist/memory-adapter.d.ts +153 -0
  66. package/dist/memory-adapter.d.ts.map +1 -0
  67. package/dist/memory-adapter.js +462 -0
  68. package/dist/memory-adapter.js.map +1 -0
  69. package/dist/types.d.ts +167 -0
  70. package/dist/types.d.ts.map +1 -0
  71. package/dist/types.js +5 -0
  72. package/dist/types.js.map +1 -0
  73. package/package.json +25 -26
  74. package/src/client/defineVoltAgentAPI.ts +365 -0
  75. package/src/client/index.ts +8 -0
  76. package/src/client/types.ts +14 -0
  77. package/src/component/_generated/api.ts +60 -0
  78. package/src/component/_generated/component.ts +466 -0
  79. package/src/component/_generated/dataModel.ts +60 -0
  80. package/src/component/_generated/server.ts +156 -0
  81. package/src/index.ts +24 -0
  82. package/{dist/index.cjs → src/memory-adapter.ts} +345 -106
  83. package/src/types.ts +178 -0
  84. package/dist/client/index.cjs +0 -288
  85. package/dist/client/index.cjs.map +0 -1
  86. package/dist/client/index.d.cts +0 -566
  87. package/dist/index.cjs.map +0 -1
  88. package/dist/index.d.cts +0 -322
  89. /package/{convex → src/component}/conversations.ts +0 -0
  90. /package/{convex → src/component}/convex.config.ts +0 -0
  91. /package/{convex → src/component}/messages.ts +0 -0
  92. /package/{convex → src/component}/schema.ts +0 -0
  93. /package/{convex → src/component}/steps.ts +0 -0
  94. /package/{convex → src/component}/validators.ts +0 -0
  95. /package/{convex → src/component}/workflows.ts +0 -0
  96. /package/{convex → src/component}/workingMemory.ts +0 -0
package/src/types.ts ADDED
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Type definitions for VoltAgent Convex Memory Adapter
3
+ */
4
+
5
+ /**
6
+ * Logger interface for the adapter
7
+ */
8
+ export interface Logger {
9
+ debug: (message: string, ...args: unknown[]) => void;
10
+ info: (message: string, ...args: unknown[]) => void;
11
+ warn: (message: string, ...args: unknown[]) => void;
12
+ error: (message: string, ...args: unknown[]) => void;
13
+ }
14
+
15
+ /**
16
+ * Convex client interface - compatible with ConvexHttpClient and ConvexReactClient.
17
+ *
18
+ * This interface is intentionally loose to accommodate different Convex client
19
+ * implementations (ConvexHttpClient, ConvexReactClient) which have slightly
20
+ * different method signatures.
21
+ */
22
+ export interface ConvexClient {
23
+ query: (functionReference: any, ...args: any[]) => Promise<any>;
24
+ mutation: (functionReference: any, ...args: any[]) => Promise<any>;
25
+ }
26
+
27
+ /**
28
+ * The VoltAgent API structure.
29
+ * This matches the wrapper functions exported from the convex/api.ts file.
30
+ */
31
+ export interface VoltAgentApi {
32
+ createConversation: unknown;
33
+ getConversation: unknown;
34
+ getConversations: unknown;
35
+ getConversationsByUserId: unknown;
36
+ queryConversations: unknown;
37
+ updateConversation: unknown;
38
+ deleteConversation: unknown;
39
+ addMessage: unknown;
40
+ addMessages: unknown;
41
+ getMessages: unknown;
42
+ clearMessages: unknown;
43
+ saveConversationSteps: unknown;
44
+ getConversationSteps: unknown;
45
+ getWorkingMemory: unknown;
46
+ setWorkingMemory: unknown;
47
+ deleteWorkingMemory: unknown;
48
+ getWorkflowState: unknown;
49
+ queryWorkflowRuns: unknown;
50
+ setWorkflowState: unknown;
51
+ updateWorkflowState: unknown;
52
+ getSuspendedWorkflowStates: unknown;
53
+ }
54
+
55
+ /**
56
+ * Configuration options for ConvexMemoryAdapter
57
+ */
58
+ export interface ConvexMemoryAdapterOptions {
59
+ /**
60
+ * The Convex client instance to use for queries and mutations.
61
+ * Can be a ConvexHttpClient or ConvexReactClient.
62
+ */
63
+ client: ConvexClient;
64
+
65
+ /**
66
+ * Whether to enable debug logging.
67
+ * @default false
68
+ */
69
+ debug?: boolean;
70
+
71
+ /**
72
+ * Custom logger instance.
73
+ * If not provided, a default console logger will be used when debug is enabled.
74
+ */
75
+ logger?: Logger;
76
+
77
+ /**
78
+ * The VoltAgent API from your Convex generated code.
79
+ *
80
+ * After adding the voltagent.ts file to your convex folder that re-exports
81
+ * the wrapper functions, import the api and pass api.voltagent here.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * import { api } from "./convex/_generated/api";
86
+ *
87
+ * const adapter = new ConvexMemoryAdapter({
88
+ * client,
89
+ * api: api.voltagent,
90
+ * });
91
+ * ```
92
+ */
93
+ api: VoltAgentApi;
94
+ }
95
+
96
+ /**
97
+ * Internal representation of a conversation in Convex
98
+ */
99
+ export interface ConvexConversation {
100
+ _id: string;
101
+ visibleId: string;
102
+ resourceId: string;
103
+ userId: string;
104
+ title: string;
105
+ metadata: Record<string, unknown>;
106
+ createdAt: string;
107
+ updatedAt: string;
108
+ }
109
+
110
+ /**
111
+ * Internal representation of a message in Convex
112
+ */
113
+ export interface ConvexMessage {
114
+ _id: string;
115
+ visibleId: string;
116
+ conversationId: string;
117
+ userId: string;
118
+ role: string;
119
+ parts: unknown[];
120
+ metadata?: Record<string, unknown>;
121
+ createdAt: string;
122
+ }
123
+
124
+ /**
125
+ * Internal representation of a user in Convex
126
+ */
127
+ export interface ConvexUser {
128
+ _id: string;
129
+ visibleId: string;
130
+ metadata?: Record<string, unknown>;
131
+ createdAt: string;
132
+ updatedAt: string;
133
+ }
134
+
135
+ /**
136
+ * Internal representation of a workflow state in Convex
137
+ */
138
+ export interface ConvexWorkflowState {
139
+ _id: string;
140
+ visibleId: string;
141
+ workflowId: string;
142
+ workflowName: string;
143
+ status: string;
144
+ input?: unknown;
145
+ context?: unknown;
146
+ suspension?: unknown;
147
+ events?: unknown[];
148
+ output?: unknown;
149
+ cancellation?: unknown;
150
+ userId?: string;
151
+ conversationId?: string;
152
+ metadata?: Record<string, unknown>;
153
+ createdAt: string;
154
+ updatedAt: string;
155
+ }
156
+
157
+ /**
158
+ * Internal representation of a conversation step in Convex
159
+ */
160
+ export interface ConvexConversationStep {
161
+ _id: string;
162
+ visibleId: string;
163
+ conversationId: string;
164
+ userId: string;
165
+ agentId: string;
166
+ agentName?: string;
167
+ operationId?: string;
168
+ stepIndex: number;
169
+ type: string;
170
+ role: string;
171
+ content?: string;
172
+ arguments?: Record<string, unknown>;
173
+ result?: Record<string, unknown>;
174
+ usage?: Record<string, unknown>;
175
+ subAgentId?: string;
176
+ subAgentName?: string;
177
+ createdAt: string;
178
+ }
@@ -1,288 +0,0 @@
1
- 'use strict';
2
-
3
- var server = require('convex/server');
4
- var values = require('convex/values');
5
-
6
- // src/client/defineVoltAgentAPI.ts
7
- function defineVoltAgentAPI(component) {
8
- const createConversation = server.mutationGeneric({
9
- args: {
10
- id: values.v.string(),
11
- resourceId: values.v.string(),
12
- userId: values.v.string(),
13
- title: values.v.string(),
14
- metadata: values.v.any()
15
- },
16
- handler: async (ctx, args) => {
17
- return ctx.runMutation(component.conversations.create, args);
18
- }
19
- });
20
- const getConversation = server.queryGeneric({
21
- args: { id: values.v.string() },
22
- handler: async (ctx, args) => {
23
- return ctx.runQuery(component.conversations.get, args);
24
- }
25
- });
26
- const getConversations = server.queryGeneric({
27
- args: { resourceId: values.v.string() },
28
- handler: async (ctx, args) => {
29
- return ctx.runQuery(component.conversations.getByResourceId, args);
30
- }
31
- });
32
- const getConversationsByUserId = server.queryGeneric({
33
- args: {
34
- userId: values.v.string(),
35
- limit: values.v.optional(values.v.number()),
36
- offset: values.v.optional(values.v.number()),
37
- orderBy: values.v.optional(values.v.string()),
38
- orderDirection: values.v.optional(values.v.string())
39
- },
40
- handler: async (ctx, args) => {
41
- return ctx.runQuery(component.conversations.getByUserId, args);
42
- }
43
- });
44
- const queryConversations = server.queryGeneric({
45
- args: {
46
- userId: values.v.optional(values.v.string()),
47
- resourceId: values.v.optional(values.v.string()),
48
- limit: values.v.optional(values.v.number()),
49
- offset: values.v.optional(values.v.number()),
50
- orderBy: values.v.optional(values.v.string()),
51
- orderDirection: values.v.optional(values.v.string())
52
- },
53
- handler: async (ctx, args) => {
54
- return ctx.runQuery(component.conversations.queryConversations, args);
55
- }
56
- });
57
- const updateConversation = server.mutationGeneric({
58
- args: {
59
- id: values.v.string(),
60
- title: values.v.optional(values.v.string()),
61
- resourceId: values.v.optional(values.v.string()),
62
- metadata: values.v.optional(values.v.any())
63
- },
64
- handler: async (ctx, args) => {
65
- return ctx.runMutation(component.conversations.update, args);
66
- }
67
- });
68
- const deleteConversation = server.mutationGeneric({
69
- args: { id: values.v.string() },
70
- handler: async (ctx, args) => {
71
- return ctx.runMutation(component.conversations.remove, args);
72
- }
73
- });
74
- const addMessage = server.mutationGeneric({
75
- args: {
76
- id: values.v.string(),
77
- conversationId: values.v.string(),
78
- userId: values.v.string(),
79
- role: values.v.string(),
80
- parts: values.v.any(),
81
- metadata: values.v.optional(values.v.any())
82
- },
83
- handler: async (ctx, args) => {
84
- return ctx.runMutation(component.messages.add, args);
85
- }
86
- });
87
- const addMessages = server.mutationGeneric({
88
- args: {
89
- messages: values.v.array(
90
- values.v.object({
91
- id: values.v.string(),
92
- conversationId: values.v.string(),
93
- userId: values.v.string(),
94
- role: values.v.string(),
95
- parts: values.v.any(),
96
- metadata: values.v.optional(values.v.any())
97
- })
98
- )
99
- },
100
- handler: async (ctx, args) => {
101
- return ctx.runMutation(component.messages.addMany, args);
102
- }
103
- });
104
- const getMessages = server.queryGeneric({
105
- args: {
106
- userId: values.v.string(),
107
- conversationId: values.v.string(),
108
- limit: values.v.optional(values.v.number()),
109
- before: values.v.optional(values.v.string()),
110
- after: values.v.optional(values.v.string()),
111
- roles: values.v.optional(values.v.array(values.v.string()))
112
- },
113
- handler: async (ctx, args) => {
114
- return ctx.runQuery(component.messages.get, args);
115
- }
116
- });
117
- const clearMessages = server.mutationGeneric({
118
- args: {
119
- userId: values.v.string(),
120
- conversationId: values.v.optional(values.v.string())
121
- },
122
- handler: async (ctx, args) => {
123
- return ctx.runMutation(component.messages.clear, args);
124
- }
125
- });
126
- const saveConversationSteps = server.mutationGeneric({
127
- args: {
128
- steps: values.v.array(
129
- values.v.object({
130
- id: values.v.string(),
131
- conversationId: values.v.string(),
132
- userId: values.v.string(),
133
- agentId: values.v.string(),
134
- agentName: values.v.optional(values.v.string()),
135
- operationId: values.v.optional(values.v.string()),
136
- stepIndex: values.v.number(),
137
- type: values.v.string(),
138
- role: values.v.string(),
139
- content: values.v.optional(values.v.string()),
140
- arguments: values.v.optional(values.v.any()),
141
- result: values.v.optional(values.v.any()),
142
- usage: values.v.optional(values.v.any()),
143
- subAgentId: values.v.optional(values.v.string()),
144
- subAgentName: values.v.optional(values.v.string()),
145
- createdAt: values.v.optional(values.v.string())
146
- })
147
- )
148
- },
149
- handler: async (ctx, args) => {
150
- return ctx.runMutation(component.steps.save, args);
151
- }
152
- });
153
- const getConversationSteps = server.queryGeneric({
154
- args: {
155
- userId: values.v.string(),
156
- conversationId: values.v.string(),
157
- limit: values.v.optional(values.v.number()),
158
- operationId: values.v.optional(values.v.string())
159
- },
160
- handler: async (ctx, args) => {
161
- return ctx.runQuery(component.steps.get, args);
162
- }
163
- });
164
- const getWorkingMemory = server.queryGeneric({
165
- args: {
166
- conversationId: values.v.optional(values.v.string()),
167
- userId: values.v.optional(values.v.string()),
168
- scope: values.v.string()
169
- },
170
- handler: async (ctx, args) => {
171
- return ctx.runQuery(component.workingMemory.get, args);
172
- }
173
- });
174
- const setWorkingMemory = server.mutationGeneric({
175
- args: {
176
- conversationId: values.v.optional(values.v.string()),
177
- userId: values.v.optional(values.v.string()),
178
- content: values.v.string(),
179
- scope: values.v.string()
180
- },
181
- handler: async (ctx, args) => {
182
- return ctx.runMutation(component.workingMemory.set, args);
183
- }
184
- });
185
- const deleteWorkingMemory = server.mutationGeneric({
186
- args: {
187
- conversationId: values.v.optional(values.v.string()),
188
- userId: values.v.optional(values.v.string()),
189
- scope: values.v.string()
190
- },
191
- handler: async (ctx, args) => {
192
- return ctx.runMutation(component.workingMemory.remove, args);
193
- }
194
- });
195
- const getWorkflowState = server.queryGeneric({
196
- args: { executionId: values.v.string() },
197
- handler: async (ctx, args) => {
198
- return ctx.runQuery(component.workflows.get, args);
199
- }
200
- });
201
- const queryWorkflowRuns = server.queryGeneric({
202
- args: {
203
- workflowId: values.v.optional(values.v.string()),
204
- status: values.v.optional(values.v.string()),
205
- from: values.v.optional(values.v.string()),
206
- to: values.v.optional(values.v.string()),
207
- limit: values.v.optional(values.v.number()),
208
- offset: values.v.optional(values.v.number())
209
- },
210
- handler: async (ctx, args) => {
211
- return ctx.runQuery(component.workflows.queryRuns, args);
212
- }
213
- });
214
- const setWorkflowState = server.mutationGeneric({
215
- args: {
216
- executionId: values.v.string(),
217
- workflowId: values.v.string(),
218
- workflowName: values.v.string(),
219
- status: values.v.string(),
220
- input: values.v.optional(values.v.any()),
221
- context: values.v.optional(values.v.any()),
222
- suspension: values.v.optional(values.v.any()),
223
- events: values.v.optional(values.v.any()),
224
- output: values.v.optional(values.v.any()),
225
- cancellation: values.v.optional(values.v.any()),
226
- userId: values.v.optional(values.v.string()),
227
- conversationId: values.v.optional(values.v.string()),
228
- metadata: values.v.optional(values.v.any()),
229
- createdAt: values.v.string(),
230
- updatedAt: values.v.string()
231
- },
232
- handler: async (ctx, args) => {
233
- return ctx.runMutation(component.workflows.set, args);
234
- }
235
- });
236
- const updateWorkflowState = server.mutationGeneric({
237
- args: {
238
- executionId: values.v.string(),
239
- status: values.v.optional(values.v.string()),
240
- suspension: values.v.optional(values.v.any()),
241
- events: values.v.optional(values.v.any()),
242
- output: values.v.optional(values.v.any()),
243
- cancellation: values.v.optional(values.v.any()),
244
- metadata: values.v.optional(values.v.any())
245
- },
246
- handler: async (ctx, args) => {
247
- return ctx.runMutation(component.workflows.update, args);
248
- }
249
- });
250
- const getSuspendedWorkflowStates = server.queryGeneric({
251
- args: { workflowId: values.v.string() },
252
- handler: async (ctx, args) => {
253
- return ctx.runQuery(component.workflows.getSuspended, args);
254
- }
255
- });
256
- return {
257
- // Conversations
258
- createConversation,
259
- getConversation,
260
- getConversations,
261
- getConversationsByUserId,
262
- queryConversations,
263
- updateConversation,
264
- deleteConversation,
265
- // Messages
266
- addMessage,
267
- addMessages,
268
- getMessages,
269
- clearMessages,
270
- // Conversation Steps
271
- saveConversationSteps,
272
- getConversationSteps,
273
- // Working Memory
274
- getWorkingMemory,
275
- setWorkingMemory,
276
- deleteWorkingMemory,
277
- // Workflow State
278
- getWorkflowState,
279
- queryWorkflowRuns,
280
- setWorkflowState,
281
- updateWorkflowState,
282
- getSuspendedWorkflowStates
283
- };
284
- }
285
-
286
- exports.defineVoltAgentAPI = defineVoltAgentAPI;
287
- //# sourceMappingURL=index.cjs.map
288
- //# sourceMappingURL=index.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/client/defineVoltAgentAPI.ts"],"names":["mutationGeneric","v","queryGeneric"],"mappings":"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","file":"index.cjs","sourcesContent":["/**\n * VoltAgent API Generator\n *\n * This function generates public Convex query/mutation functions that wrap\n * the VoltAgent component's internal functions. This allows external HTTP\n * clients to call the functions via ConvexHttpClient.\n *\n * Usage:\n * ```typescript\n * // convex/voltagent.ts\n * import { components } from \"./_generated/api\";\n * import { defineVoltAgentAPI } from \"@voltagent/convex/api\";\n *\n * export const {\n * createConversation,\n * getConversation,\n * // ... other functions\n * } = defineVoltAgentAPI(components.voltagent);\n * ```\n */\nimport {\n queryGeneric,\n mutationGeneric,\n type ApiFromModules,\n} from \"convex/server\";\nimport { v } from \"convex/values\";\nimport type { VoltAgentComponent } from \"./types.js\";\n\n/**\n * Define the VoltAgent API functions.\n *\n * @param component - The VoltAgent component reference (components.voltagent)\n * @returns An object containing all VoltAgent API functions\n */\nexport function defineVoltAgentAPI(component: VoltAgentComponent) {\n // ============================================================================\n // Conversation Functions\n // ============================================================================\n\n const createConversation = mutationGeneric({\n args: {\n id: v.string(),\n resourceId: v.string(),\n userId: v.string(),\n title: v.string(),\n metadata: v.any(),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.conversations.create, args);\n },\n });\n\n const getConversation = queryGeneric({\n args: { id: v.string() },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.conversations.get, args);\n },\n });\n\n const getConversations = queryGeneric({\n args: { resourceId: v.string() },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.conversations.getByResourceId, args);\n },\n });\n\n const getConversationsByUserId = queryGeneric({\n args: {\n userId: v.string(),\n limit: v.optional(v.number()),\n offset: v.optional(v.number()),\n orderBy: v.optional(v.string()),\n orderDirection: v.optional(v.string()),\n },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.conversations.getByUserId, args);\n },\n });\n\n const queryConversations = queryGeneric({\n args: {\n userId: v.optional(v.string()),\n resourceId: v.optional(v.string()),\n limit: v.optional(v.number()),\n offset: v.optional(v.number()),\n orderBy: v.optional(v.string()),\n orderDirection: v.optional(v.string()),\n },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.conversations.queryConversations, args);\n },\n });\n\n const updateConversation = mutationGeneric({\n args: {\n id: v.string(),\n title: v.optional(v.string()),\n resourceId: v.optional(v.string()),\n metadata: v.optional(v.any()),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.conversations.update, args);\n },\n });\n\n const deleteConversation = mutationGeneric({\n args: { id: v.string() },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.conversations.remove, args);\n },\n });\n\n // ============================================================================\n // Message Functions\n // ============================================================================\n\n const addMessage = mutationGeneric({\n args: {\n id: v.string(),\n conversationId: v.string(),\n userId: v.string(),\n role: v.string(),\n parts: v.any(),\n metadata: v.optional(v.any()),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.messages.add, args);\n },\n });\n\n const addMessages = mutationGeneric({\n args: {\n messages: v.array(\n v.object({\n id: v.string(),\n conversationId: v.string(),\n userId: v.string(),\n role: v.string(),\n parts: v.any(),\n metadata: v.optional(v.any()),\n }),\n ),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.messages.addMany, args);\n },\n });\n\n const getMessages = queryGeneric({\n args: {\n userId: v.string(),\n conversationId: v.string(),\n limit: v.optional(v.number()),\n before: v.optional(v.string()),\n after: v.optional(v.string()),\n roles: v.optional(v.array(v.string())),\n },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.messages.get, args);\n },\n });\n\n const clearMessages = mutationGeneric({\n args: {\n userId: v.string(),\n conversationId: v.optional(v.string()),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.messages.clear, args);\n },\n });\n\n // ============================================================================\n // Conversation Steps Functions\n // ============================================================================\n\n const saveConversationSteps = mutationGeneric({\n args: {\n steps: v.array(\n v.object({\n id: v.string(),\n conversationId: v.string(),\n userId: v.string(),\n agentId: v.string(),\n agentName: v.optional(v.string()),\n operationId: v.optional(v.string()),\n stepIndex: v.number(),\n type: v.string(),\n role: v.string(),\n content: v.optional(v.string()),\n arguments: v.optional(v.any()),\n result: v.optional(v.any()),\n usage: v.optional(v.any()),\n subAgentId: v.optional(v.string()),\n subAgentName: v.optional(v.string()),\n createdAt: v.optional(v.string()),\n }),\n ),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.steps.save, args);\n },\n });\n\n const getConversationSteps = queryGeneric({\n args: {\n userId: v.string(),\n conversationId: v.string(),\n limit: v.optional(v.number()),\n operationId: v.optional(v.string()),\n },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.steps.get, args);\n },\n });\n\n // ============================================================================\n // Working Memory Functions\n // ============================================================================\n\n const getWorkingMemory = queryGeneric({\n args: {\n conversationId: v.optional(v.string()),\n userId: v.optional(v.string()),\n scope: v.string(),\n },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.workingMemory.get, args);\n },\n });\n\n const setWorkingMemory = mutationGeneric({\n args: {\n conversationId: v.optional(v.string()),\n userId: v.optional(v.string()),\n content: v.string(),\n scope: v.string(),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.workingMemory.set, args);\n },\n });\n\n const deleteWorkingMemory = mutationGeneric({\n args: {\n conversationId: v.optional(v.string()),\n userId: v.optional(v.string()),\n scope: v.string(),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.workingMemory.remove, args);\n },\n });\n\n // ============================================================================\n // Workflow State Functions\n // ============================================================================\n\n const getWorkflowState = queryGeneric({\n args: { executionId: v.string() },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.workflows.get, args);\n },\n });\n\n const queryWorkflowRuns = queryGeneric({\n args: {\n workflowId: v.optional(v.string()),\n status: v.optional(v.string()),\n from: v.optional(v.string()),\n to: v.optional(v.string()),\n limit: v.optional(v.number()),\n offset: v.optional(v.number()),\n },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.workflows.queryRuns, args);\n },\n });\n\n const setWorkflowState = mutationGeneric({\n args: {\n executionId: v.string(),\n workflowId: v.string(),\n workflowName: v.string(),\n status: v.string(),\n input: v.optional(v.any()),\n context: v.optional(v.any()),\n suspension: v.optional(v.any()),\n events: v.optional(v.any()),\n output: v.optional(v.any()),\n cancellation: v.optional(v.any()),\n userId: v.optional(v.string()),\n conversationId: v.optional(v.string()),\n metadata: v.optional(v.any()),\n createdAt: v.string(),\n updatedAt: v.string(),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.workflows.set, args);\n },\n });\n\n const updateWorkflowState = mutationGeneric({\n args: {\n executionId: v.string(),\n status: v.optional(v.string()),\n suspension: v.optional(v.any()),\n events: v.optional(v.any()),\n output: v.optional(v.any()),\n cancellation: v.optional(v.any()),\n metadata: v.optional(v.any()),\n },\n handler: async (ctx, args) => {\n return ctx.runMutation(component.workflows.update, args);\n },\n });\n\n const getSuspendedWorkflowStates = queryGeneric({\n args: { workflowId: v.string() },\n handler: async (ctx, args) => {\n return ctx.runQuery(component.workflows.getSuspended, args);\n },\n });\n\n return {\n // Conversations\n createConversation,\n getConversation,\n getConversations,\n getConversationsByUserId,\n queryConversations,\n updateConversation,\n deleteConversation,\n // Messages\n addMessage,\n addMessages,\n getMessages,\n clearMessages,\n // Conversation Steps\n saveConversationSteps,\n getConversationSteps,\n // Working Memory\n getWorkingMemory,\n setWorkingMemory,\n deleteWorkingMemory,\n // Workflow State\n getWorkflowState,\n queryWorkflowRuns,\n setWorkflowState,\n updateWorkflowState,\n getSuspendedWorkflowStates,\n };\n}\n\n/**\n * Type for the VoltAgent API when used with ApiFromModules.\n *\n * Usage:\n * ```typescript\n * import type { VoltAgentAPI } from \"@voltagent/convex/api\";\n * ```\n */\nexport type VoltAgentAPI = ApiFromModules<{\n voltagent: ReturnType<typeof defineVoltAgentAPI>;\n}>[\"voltagent\"];\n"]}