@convex-dev/agent 0.0.13 → 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 +36 -31
  3. package/dist/commonjs/client/index.d.ts.map +1 -1
  4. package/dist/commonjs/client/index.js +99 -36
  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 +36 -31
  23. package/dist/esm/client/index.d.ts.map +1 -1
  24. package/dist/esm/client/index.js +99 -36
  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 +143 -45
  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
@@ -3,8 +3,8 @@ import { assert } from "convex-helpers";
3
3
  import { internalActionGeneric, internalMutationGeneric } from "convex/server";
4
4
  import { v } from "convex/values";
5
5
  import { validateVectorDimension, } from "../component/vector/tables.js";
6
- import { deserializeMessage, promptOrMessagesToCoreMessages, serializeMessageWithId, serializeNewMessagesInStep, serializeObjectResult, serializeStep, } from "../mapping.js";
7
- 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";
8
8
  import { vSafeObjectArgs, vTextArgs, } from "../validators.js";
9
9
  export class Agent {
10
10
  component;
@@ -120,7 +120,7 @@ export class Agent {
120
120
  async getEmbeddings(messages) {
121
121
  let embeddings;
122
122
  if (this.options.textEmbedding) {
123
- const messageTexts = messages.map((m) => extractText(m));
123
+ const messageTexts = messages.map((m) => !isTool(m) && extractText(m));
124
124
  // Find the indexes of the messages that have text.
125
125
  const textIndexes = messageTexts
126
126
  .map((t, i) => (t ? i : undefined))
@@ -132,6 +132,7 @@ export class Agent {
132
132
  const textEmbeddings = await this.options.textEmbedding.doEmbed({
133
133
  values: messageTexts.filter((t) => !!t),
134
134
  });
135
+ // TODO: record usage of embeddings
135
136
  // Then assemble the embeddings into a single array with nulls for the messages without text.
136
137
  const embeddingsOrNull = Array(messages.length).fill(null);
137
138
  textIndexes.forEach((i, j) => {
@@ -149,12 +150,6 @@ export class Agent {
149
150
  }
150
151
  return embeddings;
151
152
  }
152
- /**
153
- * Explicitly save messages associated with the thread (& user if provided)
154
- * @param ctx The ctx parameter to a mutation or action.
155
- * @param args The messages and context to save
156
- * @returns
157
- */
158
153
  /**
159
154
  * Explicitly save messages associated with the thread (& user if provided)
160
155
  * @param ctx The ctx parameter to a mutation or action.
@@ -162,13 +157,20 @@ export class Agent {
162
157
  * @returns
163
158
  */
164
159
  async saveMessages(ctx, args) {
160
+ const embeddings = await this.getEmbeddings(args.messages);
165
161
  const result = await ctx.runMutation(this.component.messages.addMessages, {
166
162
  threadId: args.threadId,
167
163
  userId: args.userId,
168
164
  agentName: this.options.name,
169
- model: this.options.chat.modelId,
170
- messages: args.messages.map(serializeMessageWithId),
171
- 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
+ })),
172
174
  failPendingSteps: args.failPendingSteps ?? true,
173
175
  pending: args.pending ?? false,
174
176
  parentMessageId: args.parentMessageId,
@@ -178,11 +180,6 @@ export class Agent {
178
180
  messageIds: result.messages.map((m) => m._id),
179
181
  };
180
182
  }
181
- /**
182
- * Explicitly save a "step" created by the AI SDK.
183
- * @param ctx The ctx argument to a mutation or action.
184
- * @param args What to save
185
- */
186
183
  /**
187
184
  * Explicitly save a "step" created by the AI SDK.
188
185
  * @param ctx The ctx argument to a mutation or action.
@@ -190,23 +187,27 @@ export class Agent {
190
187
  */
191
188
  async saveStep(ctx, args) {
192
189
  const step = serializeStep(args.step);
193
- 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
+ }
194
204
  await ctx.runMutation(this.component.messages.addStep, {
195
205
  threadId: args.threadId,
196
206
  messageId: args.messageId,
197
207
  step: { step, messages },
198
208
  failPendingSteps: false,
199
- embeddings: await this.getEmbeddings(messages.map((m) => m.message)),
200
209
  });
201
210
  }
202
- /**
203
- * Commit or rollback a message that was pending.
204
- * This is done automatically when saving messages by default.
205
- * If creating pending messages, you can call this when the full "transaction" is done.
206
- * @param ctx The ctx argument to your mutation or action.
207
- * @param args What message to save. Generally the parent message sent into
208
- * the generateText call.
209
- */
210
211
  /**
211
212
  * Commit or rollback a message that was pending.
212
213
  * This is done automatically when saving messages by default.
@@ -247,13 +248,14 @@ export class Agent {
247
248
  const tools = wrapTools(toolCtx, this.options.tools, args.tools);
248
249
  const saveOutputMessages = args.saveOutputMessages ??
249
250
  this.options.storageOptions?.saveOutputMessages;
251
+ const model = aiArgs.model ?? this.options.chat;
250
252
  try {
251
253
  const result = (await generateText({
252
254
  // Can be overridden
253
- model: this.options.chat,
254
255
  maxSteps: this.options.maxSteps,
255
256
  maxRetries: this.options.maxRetries,
256
257
  ...aiArgs,
258
+ model,
257
259
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
258
260
  toolChoice: args.toolChoice,
259
261
  tools,
@@ -265,6 +267,16 @@ export class Agent {
265
267
  step,
266
268
  });
267
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
+ }
268
280
  return args.onStepFinish?.(step);
269
281
  },
270
282
  }));
@@ -300,12 +312,13 @@ export class Agent {
300
312
  const tools = wrapTools(toolCtx, this.options.tools, args.tools);
301
313
  const saveOutputMessages = args.saveOutputMessages ??
302
314
  this.options.storageOptions?.saveOutputMessages;
315
+ const model = aiArgs.model ?? this.options.chat;
303
316
  const result = streamText({
304
317
  // Can be overridden
305
- model: this.options.chat,
306
318
  maxSteps: this.options.maxSteps,
307
319
  maxRetries: this.options.maxRetries,
308
320
  ...aiArgs,
321
+ model,
309
322
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
310
323
  toolChoice: args.toolChoice,
311
324
  tools,
@@ -333,13 +346,23 @@ export class Agent {
333
346
  step,
334
347
  });
335
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
+ }
336
359
  return args.onStepFinish?.(step);
337
360
  },
338
361
  });
339
362
  result.messageId = messageId;
340
363
  return result;
341
364
  }
342
- async saveMessagesAndFetchContext(ctx, { userId, threadId, parentMessageId, system, ...args }) {
365
+ async saveMessagesAndFetchContext(ctx, { id, userId, threadId, parentMessageId, system, ...args }) {
343
366
  const saveAny = args.saveAnyInputMessages ??
344
367
  this.options.storageOptions?.saveAnyInputMessages;
345
368
  const saveAll = args.saveAllInputMessages ??
@@ -354,10 +377,12 @@ export class Agent {
354
377
  });
355
378
  let messageId;
356
379
  if (threadId && saveAny !== false) {
380
+ const coreMessages = saveAll ? messages : messages.slice(-1);
357
381
  const saved = await this.saveMessages(ctx, {
358
382
  threadId,
359
383
  userId,
360
- messages: saveAll ? messages : messages.slice(-1),
384
+ messages: coreMessages,
385
+ metadata: coreMessages.length === 1 ? [{ id }] : undefined,
361
386
  pending: true,
362
387
  // We should just fail if you pass in an ID for the message, fail those children
363
388
  // failPendingSteps: true,
@@ -389,20 +414,31 @@ export class Agent {
389
414
  */
390
415
  async generateObject(ctx, { userId, threadId }, args) {
391
416
  const { args: aiArgs, messageId } = await this.saveMessagesAndFetchContext(ctx, { ...args, userId, threadId });
417
+ const model = aiArgs.model ?? this.options.chat;
392
418
  const saveOutputMessages = args.saveOutputMessages ??
393
419
  this.options.storageOptions?.saveOutputMessages;
394
420
  try {
395
421
  const result = (await generateObject({
396
422
  // Can be overridden
397
- model: this.options.chat,
398
423
  maxRetries: this.options.maxRetries,
399
424
  ...aiArgs,
425
+ model,
400
426
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
401
427
  }));
402
428
  if (threadId && messageId && saveOutputMessages !== false) {
403
429
  await this.saveObject(ctx, { threadId, messageId, result });
404
430
  }
405
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
+ }
406
442
  return result;
407
443
  }
408
444
  catch (error) {
@@ -430,14 +466,15 @@ export class Agent {
430
466
  async streamObject(ctx, { userId, threadId }, args) {
431
467
  // TODO: unify all this shared code between all the generate* and stream* functions
432
468
  const { args: aiArgs, messageId } = await this.saveMessagesAndFetchContext(ctx, { ...args, userId, threadId });
469
+ const model = aiArgs.model ?? this.options.chat;
433
470
  const saveOutputMessages = args.saveOutputMessages ??
434
471
  this.options.storageOptions?.saveOutputMessages;
435
472
  const stream = streamObject({
436
473
  // Can be overridden
437
- model: this.options.chat,
438
474
  maxRetries: this.options.maxRetries,
439
475
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
440
476
  ...aiArgs,
477
+ model,
441
478
  onError: async (error) => {
442
479
  console.error("onError", error);
443
480
  return args.onError?.(error);
@@ -461,6 +498,16 @@ export class Agent {
461
498
  },
462
499
  });
463
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
+ }
464
511
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
465
512
  return args.onFinish?.(result);
466
513
  },
@@ -476,13 +523,28 @@ export class Agent {
476
523
  * @param args The arguments to the saveObject function.
477
524
  */
478
525
  async saveObject(ctx, args) {
479
- 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;
480
543
  await ctx.runMutation(this.component.messages.addStep, {
481
544
  threadId: args.threadId,
482
545
  messageId: args.messageId,
483
546
  failPendingSteps: false,
484
- embeddings: await this.getEmbeddings([step.messages[0].message]),
485
- step,
547
+ step: { step, messages },
486
548
  });
487
549
  }
488
550
  mergedContextOptions(opts) {
@@ -517,6 +579,7 @@ export class Agent {
517
579
  search.vector = (await this.options.textEmbedding.doEmbed({
518
580
  values: [text],
519
581
  })).embeddings[0];
582
+ // TODO: record usage of embeddings
520
583
  search.vectorModel = this.options.textEmbedding.modelId;
521
584
  }
522
585
  return search;
@@ -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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"}