@convex-dev/agent 0.0.12 → 0.0.14-alpha.0

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 (48) hide show
  1. package/README.md +5 -1
  2. package/dist/commonjs/client/index.d.ts +62 -31
  3. package/dist/commonjs/client/index.d.ts.map +1 -1
  4. package/dist/commonjs/client/index.js +133 -37
  5. package/dist/commonjs/client/index.js.map +1 -1
  6. package/dist/commonjs/component/messages.d.ts +398 -64
  7. package/dist/commonjs/component/messages.d.ts.map +1 -1
  8. package/dist/commonjs/component/messages.js +10 -18
  9. package/dist/commonjs/component/messages.js.map +1 -1
  10. package/dist/commonjs/component/schema.d.ts +442 -176
  11. package/dist/commonjs/component/schema.d.ts.map +1 -1
  12. package/dist/commonjs/component/schema.js +8 -1
  13. package/dist/commonjs/component/schema.js.map +1 -1
  14. package/dist/commonjs/mapping.d.ts +9 -3
  15. package/dist/commonjs/mapping.d.ts.map +1 -1
  16. package/dist/commonjs/mapping.js +49 -20
  17. package/dist/commonjs/mapping.js.map +1 -1
  18. package/dist/commonjs/validators.d.ts +1575 -1243
  19. package/dist/commonjs/validators.d.ts.map +1 -1
  20. package/dist/commonjs/validators.js +34 -11
  21. package/dist/commonjs/validators.js.map +1 -1
  22. package/dist/esm/client/index.d.ts +62 -31
  23. package/dist/esm/client/index.d.ts.map +1 -1
  24. package/dist/esm/client/index.js +133 -37
  25. package/dist/esm/client/index.js.map +1 -1
  26. package/dist/esm/component/messages.d.ts +398 -64
  27. package/dist/esm/component/messages.d.ts.map +1 -1
  28. package/dist/esm/component/messages.js +10 -18
  29. package/dist/esm/component/messages.js.map +1 -1
  30. package/dist/esm/component/schema.d.ts +442 -176
  31. package/dist/esm/component/schema.d.ts.map +1 -1
  32. package/dist/esm/component/schema.js +8 -1
  33. package/dist/esm/component/schema.js.map +1 -1
  34. package/dist/esm/mapping.d.ts +9 -3
  35. package/dist/esm/mapping.d.ts.map +1 -1
  36. package/dist/esm/mapping.js +49 -20
  37. package/dist/esm/mapping.js.map +1 -1
  38. package/dist/esm/validators.d.ts +1575 -1243
  39. package/dist/esm/validators.d.ts.map +1 -1
  40. package/dist/esm/validators.js +34 -11
  41. package/dist/esm/validators.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/client/index.ts +177 -47
  44. package/src/component/_generated/api.d.ts +225 -11
  45. package/src/component/messages.ts +11 -29
  46. package/src/component/schema.ts +11 -0
  47. package/src/mapping.ts +56 -26
  48. package/src/validators.ts +43 -16
@@ -1,9 +1,10 @@
1
1
  import { generateObject, generateText, streamObject, streamText, tool, } from "ai";
2
2
  import { assert } from "convex-helpers";
3
- import { internalActionGeneric } from "convex/server";
3
+ import { internalActionGeneric, internalMutationGeneric } from "convex/server";
4
+ import { v } from "convex/values";
4
5
  import { validateVectorDimension, } from "../component/vector/tables.js";
5
- import { deserializeMessage, promptOrMessagesToCoreMessages, serializeMessageWithId, serializeNewMessagesInStep, serializeObjectResult, serializeStep, } from "../mapping.js";
6
- import { DEFAULT_MESSAGE_RANGE, DEFAULT_RECENT_MESSAGES, extractText, } from "../shared.js";
6
+ import { deserializeMessage, promptOrMessagesToCoreMessages, serializeMessage, serializeNewMessagesInStep, serializeObjectResult, serializeStep, } from "../mapping.js";
7
+ import { DEFAULT_MESSAGE_RANGE, DEFAULT_RECENT_MESSAGES, extractText, isTool, } from "../shared.js";
7
8
  import { vSafeObjectArgs, vTextArgs, } from "../validators.js";
8
9
  export class Agent {
9
10
  component;
@@ -119,7 +120,7 @@ export class Agent {
119
120
  async getEmbeddings(messages) {
120
121
  let embeddings;
121
122
  if (this.options.textEmbedding) {
122
- const messageTexts = messages.map((m) => extractText(m));
123
+ const messageTexts = messages.map((m) => !isTool(m) && extractText(m));
123
124
  // Find the indexes of the messages that have text.
124
125
  const textIndexes = messageTexts
125
126
  .map((t, i) => (t ? i : undefined))
@@ -131,6 +132,7 @@ export class Agent {
131
132
  const textEmbeddings = await this.options.textEmbedding.doEmbed({
132
133
  values: messageTexts.filter((t) => !!t),
133
134
  });
135
+ // TODO: record usage of embeddings
134
136
  // Then assemble the embeddings into a single array with nulls for the messages without text.
135
137
  const embeddingsOrNull = Array(messages.length).fill(null);
136
138
  textIndexes.forEach((i, j) => {
@@ -148,12 +150,6 @@ export class Agent {
148
150
  }
149
151
  return embeddings;
150
152
  }
151
- /**
152
- * Explicitly save messages associated with the thread (& user if provided)
153
- * @param ctx The ctx parameter to a mutation or action.
154
- * @param args The messages and context to save
155
- * @returns
156
- */
157
153
  /**
158
154
  * Explicitly save messages associated with the thread (& user if provided)
159
155
  * @param ctx The ctx parameter to a mutation or action.
@@ -161,13 +157,20 @@ export class Agent {
161
157
  * @returns
162
158
  */
163
159
  async saveMessages(ctx, args) {
160
+ const embeddings = await this.getEmbeddings(args.messages);
164
161
  const result = await ctx.runMutation(this.component.messages.addMessages, {
165
162
  threadId: args.threadId,
166
163
  userId: args.userId,
167
164
  agentName: this.options.name,
168
- model: this.options.chat.modelId,
169
- messages: args.messages.map(serializeMessageWithId),
170
- embeddings: await this.getEmbeddings(args.messages),
165
+ messages: args.messages.map((m, i) => ({
166
+ embedding: embeddings?.vectors[i] && {
167
+ model: embeddings.model,
168
+ dimension: embeddings.dimension,
169
+ vector: embeddings.vectors[i],
170
+ },
171
+ ...args.metadata?.[i],
172
+ message: serializeMessage(m),
173
+ })),
171
174
  failPendingSteps: args.failPendingSteps ?? true,
172
175
  pending: args.pending ?? false,
173
176
  parentMessageId: args.parentMessageId,
@@ -177,11 +180,6 @@ export class Agent {
177
180
  messageIds: result.messages.map((m) => m._id),
178
181
  };
179
182
  }
180
- /**
181
- * Explicitly save a "step" created by the AI SDK.
182
- * @param ctx The ctx argument to a mutation or action.
183
- * @param args What to save
184
- */
185
183
  /**
186
184
  * Explicitly save a "step" created by the AI SDK.
187
185
  * @param ctx The ctx argument to a mutation or action.
@@ -189,23 +187,27 @@ export class Agent {
189
187
  */
190
188
  async saveStep(ctx, args) {
191
189
  const step = serializeStep(args.step);
192
- const messages = serializeNewMessagesInStep(args.step);
190
+ const messages = serializeNewMessagesInStep(args.step, {
191
+ provider: args.provider ?? this.options.chat.provider,
192
+ model: args.model ?? this.options.chat.modelId,
193
+ });
194
+ const embeddings = await this.getEmbeddings(messages.map((m) => m.message));
195
+ if (embeddings) {
196
+ const { model, dimension, vectors } = embeddings;
197
+ for (let i = 0; i < messages.length; i++) {
198
+ const vector = vectors[i];
199
+ if (vector) {
200
+ messages[i].embedding = { model, dimension, vector };
201
+ }
202
+ }
203
+ }
193
204
  await ctx.runMutation(this.component.messages.addStep, {
194
205
  threadId: args.threadId,
195
206
  messageId: args.messageId,
196
207
  step: { step, messages },
197
208
  failPendingSteps: false,
198
- embeddings: await this.getEmbeddings(messages.map((m) => m.message)),
199
209
  });
200
210
  }
201
- /**
202
- * Commit or rollback a message that was pending.
203
- * This is done automatically when saving messages by default.
204
- * If creating pending messages, you can call this when the full "transaction" is done.
205
- * @param ctx The ctx argument to your mutation or action.
206
- * @param args What message to save. Generally the parent message sent into
207
- * the generateText call.
208
- */
209
211
  /**
210
212
  * Commit or rollback a message that was pending.
211
213
  * This is done automatically when saving messages by default.
@@ -246,13 +248,14 @@ export class Agent {
246
248
  const tools = wrapTools(toolCtx, this.options.tools, args.tools);
247
249
  const saveOutputMessages = args.saveOutputMessages ??
248
250
  this.options.storageOptions?.saveOutputMessages;
251
+ const model = aiArgs.model ?? this.options.chat;
249
252
  try {
250
253
  const result = (await generateText({
251
254
  // Can be overridden
252
- model: this.options.chat,
253
255
  maxSteps: this.options.maxSteps,
254
256
  maxRetries: this.options.maxRetries,
255
257
  ...aiArgs,
258
+ model,
256
259
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
257
260
  toolChoice: args.toolChoice,
258
261
  tools,
@@ -264,6 +267,16 @@ export class Agent {
264
267
  step,
265
268
  });
266
269
  }
270
+ if (this.options.usageHandler && step.usage) {
271
+ await this.options.usageHandler(ctx, {
272
+ userId,
273
+ threadId,
274
+ model: model.modelId,
275
+ provider: model.provider,
276
+ usage: step.usage,
277
+ providerMetadata: step.providerMetadata,
278
+ });
279
+ }
267
280
  return args.onStepFinish?.(step);
268
281
  },
269
282
  }));
@@ -299,12 +312,13 @@ export class Agent {
299
312
  const tools = wrapTools(toolCtx, this.options.tools, args.tools);
300
313
  const saveOutputMessages = args.saveOutputMessages ??
301
314
  this.options.storageOptions?.saveOutputMessages;
315
+ const model = aiArgs.model ?? this.options.chat;
302
316
  const result = streamText({
303
317
  // Can be overridden
304
- model: this.options.chat,
305
318
  maxSteps: this.options.maxSteps,
306
319
  maxRetries: this.options.maxRetries,
307
320
  ...aiArgs,
321
+ model,
308
322
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
309
323
  toolChoice: args.toolChoice,
310
324
  tools,
@@ -332,13 +346,23 @@ export class Agent {
332
346
  step,
333
347
  });
334
348
  }
349
+ if (this.options.usageHandler && step.usage) {
350
+ await this.options.usageHandler(ctx, {
351
+ userId,
352
+ threadId,
353
+ model: model.modelId,
354
+ provider: model.provider,
355
+ usage: step.usage,
356
+ providerMetadata: step.providerMetadata,
357
+ });
358
+ }
335
359
  return args.onStepFinish?.(step);
336
360
  },
337
361
  });
338
362
  result.messageId = messageId;
339
363
  return result;
340
364
  }
341
- async saveMessagesAndFetchContext(ctx, { userId, threadId, parentMessageId, system, ...args }) {
365
+ async saveMessagesAndFetchContext(ctx, { id, userId, threadId, parentMessageId, system, ...args }) {
342
366
  const saveAny = args.saveAnyInputMessages ??
343
367
  this.options.storageOptions?.saveAnyInputMessages;
344
368
  const saveAll = args.saveAllInputMessages ??
@@ -353,10 +377,12 @@ export class Agent {
353
377
  });
354
378
  let messageId;
355
379
  if (threadId && saveAny !== false) {
380
+ const coreMessages = saveAll ? messages : messages.slice(-1);
356
381
  const saved = await this.saveMessages(ctx, {
357
382
  threadId,
358
383
  userId,
359
- messages: saveAll ? messages : messages.slice(-1),
384
+ messages: coreMessages,
385
+ metadata: coreMessages.length === 1 ? [{ id }] : undefined,
360
386
  pending: true,
361
387
  // We should just fail if you pass in an ID for the message, fail those children
362
388
  // failPendingSteps: true,
@@ -388,20 +414,31 @@ export class Agent {
388
414
  */
389
415
  async generateObject(ctx, { userId, threadId }, args) {
390
416
  const { args: aiArgs, messageId } = await this.saveMessagesAndFetchContext(ctx, { ...args, userId, threadId });
417
+ const model = aiArgs.model ?? this.options.chat;
391
418
  const saveOutputMessages = args.saveOutputMessages ??
392
419
  this.options.storageOptions?.saveOutputMessages;
393
420
  try {
394
421
  const result = (await generateObject({
395
422
  // Can be overridden
396
- model: this.options.chat,
397
423
  maxRetries: this.options.maxRetries,
398
424
  ...aiArgs,
425
+ model,
399
426
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
400
427
  }));
401
428
  if (threadId && messageId && saveOutputMessages !== false) {
402
429
  await this.saveObject(ctx, { threadId, messageId, result });
403
430
  }
404
431
  result.messageId = messageId;
432
+ if (this.options.usageHandler && result.usage) {
433
+ await this.options.usageHandler(ctx, {
434
+ userId,
435
+ threadId,
436
+ model: model.modelId,
437
+ provider: model.provider,
438
+ usage: result.usage,
439
+ providerMetadata: result.providerMetadata,
440
+ });
441
+ }
405
442
  return result;
406
443
  }
407
444
  catch (error) {
@@ -429,14 +466,15 @@ export class Agent {
429
466
  async streamObject(ctx, { userId, threadId }, args) {
430
467
  // TODO: unify all this shared code between all the generate* and stream* functions
431
468
  const { args: aiArgs, messageId } = await this.saveMessagesAndFetchContext(ctx, { ...args, userId, threadId });
469
+ const model = aiArgs.model ?? this.options.chat;
432
470
  const saveOutputMessages = args.saveOutputMessages ??
433
471
  this.options.storageOptions?.saveOutputMessages;
434
472
  const stream = streamObject({
435
473
  // Can be overridden
436
- model: this.options.chat,
437
474
  maxRetries: this.options.maxRetries,
438
475
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
439
476
  ...aiArgs,
477
+ model,
440
478
  onError: async (error) => {
441
479
  console.error("onError", error);
442
480
  return args.onError?.(error);
@@ -460,6 +498,16 @@ export class Agent {
460
498
  },
461
499
  });
462
500
  }
501
+ if (this.options.usageHandler && result.usage) {
502
+ await this.options.usageHandler(ctx, {
503
+ userId,
504
+ threadId,
505
+ model: model.modelId,
506
+ provider: model.provider,
507
+ usage: result.usage,
508
+ providerMetadata: result.providerMetadata,
509
+ });
510
+ }
463
511
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
464
512
  return args.onFinish?.(result);
465
513
  },
@@ -475,13 +523,28 @@ export class Agent {
475
523
  * @param args The arguments to the saveObject function.
476
524
  */
477
525
  async saveObject(ctx, args) {
478
- const step = serializeObjectResult(args.result);
526
+ const { step, messages: withoutEmbed } = serializeObjectResult(args.result, {
527
+ model: this.options.chat.modelId,
528
+ provider: this.options.chat.provider,
529
+ });
530
+ const embeddings = await this.getEmbeddings([withoutEmbed[0].message]);
531
+ const messages = embeddings?.vectors[0]
532
+ ? [
533
+ {
534
+ ...withoutEmbed[0],
535
+ embedding: {
536
+ dimension: embeddings.dimension,
537
+ model: embeddings.model,
538
+ vector: embeddings.vectors[0],
539
+ },
540
+ },
541
+ ]
542
+ : withoutEmbed;
479
543
  await ctx.runMutation(this.component.messages.addStep, {
480
544
  threadId: args.threadId,
481
545
  messageId: args.messageId,
482
546
  failPendingSteps: false,
483
- embeddings: await this.getEmbeddings([step.messages[0].message]),
484
- step,
547
+ step: { step, messages },
485
548
  });
486
549
  }
487
550
  mergedContextOptions(opts) {
@@ -516,10 +579,43 @@ export class Agent {
516
579
  search.vector = (await this.options.textEmbedding.doEmbed({
517
580
  values: [text],
518
581
  })).embeddings[0];
582
+ // TODO: record usage of embeddings
519
583
  search.vectorModel = this.options.textEmbedding.modelId;
520
584
  }
521
585
  return search;
522
586
  }
587
+ /**
588
+ * Create a mutation that creates a thread so you can call it from a Workflow.
589
+ * e.g.
590
+ * ```ts
591
+ * // in convex/foo.ts
592
+ * export const createThread = weatherAgent.createThreadMutation();
593
+ *
594
+ * const workflow = new WorkflowManager(components.workflow);
595
+ * export const myWorkflow = workflow.define({
596
+ * args: {},
597
+ * handler: async (step) => {
598
+ * const { threadId } = await step.runMutation(internal.foo.createThread);
599
+ * // use the threadId to generate text, object, etc.
600
+ * },
601
+ * });
602
+ * ```
603
+ * @returns A mutation that creates a thread.
604
+ */
605
+ createThreadMutation() {
606
+ return internalMutationGeneric({
607
+ args: {
608
+ userId: v.optional(v.string()),
609
+ parentThreadIds: v.optional(v.array(v.string())),
610
+ title: v.optional(v.string()),
611
+ summary: v.optional(v.string()),
612
+ },
613
+ handler: async (ctx, args) => {
614
+ const { threadId } = await this.createThread(ctx, args);
615
+ return { threadId };
616
+ },
617
+ });
618
+ }
523
619
  /**
524
620
  * Create an action out of this agent so you can call it from workflows or other actions
525
621
  * without a wrapping function.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}