@convex-dev/agent 0.2.6-alpha.1 → 0.2.7

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 (101) hide show
  1. package/dist/client/createTool.js +1 -1
  2. package/dist/client/createTool.js.map +1 -1
  3. package/dist/client/definePlaygroundAPI.d.ts +6 -4
  4. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  5. package/dist/client/definePlaygroundAPI.js +15 -6
  6. package/dist/client/definePlaygroundAPI.js.map +1 -1
  7. package/dist/client/index.d.ts +55 -122
  8. package/dist/client/index.d.ts.map +1 -1
  9. package/dist/client/index.js +47 -371
  10. package/dist/client/index.js.map +1 -1
  11. package/dist/client/messages.d.ts +1 -1
  12. package/dist/client/messages.d.ts.map +1 -1
  13. package/dist/client/mockModel.d.ts +5 -3
  14. package/dist/client/mockModel.d.ts.map +1 -1
  15. package/dist/client/mockModel.js +33 -24
  16. package/dist/client/mockModel.js.map +1 -1
  17. package/dist/client/saveInputMessages.d.ts +20 -0
  18. package/dist/client/saveInputMessages.d.ts.map +1 -0
  19. package/dist/client/saveInputMessages.js +57 -0
  20. package/dist/client/saveInputMessages.js.map +1 -0
  21. package/dist/client/search.d.ts +110 -9
  22. package/dist/client/search.d.ts.map +1 -1
  23. package/dist/client/search.js +271 -39
  24. package/dist/client/search.js.map +1 -1
  25. package/dist/client/start.d.ts +84 -0
  26. package/dist/client/start.d.ts.map +1 -0
  27. package/dist/client/start.js +171 -0
  28. package/dist/client/start.js.map +1 -0
  29. package/dist/client/streaming.d.ts +8 -8
  30. package/dist/client/streaming.d.ts.map +1 -1
  31. package/dist/client/streaming.js +2 -1
  32. package/dist/client/streaming.js.map +1 -1
  33. package/dist/client/textStreamParts.d.ts.map +1 -1
  34. package/dist/client/textStreamParts.js +2 -9
  35. package/dist/client/textStreamParts.js.map +1 -1
  36. package/dist/client/threads.d.ts +1 -1
  37. package/dist/client/threads.d.ts.map +1 -1
  38. package/dist/client/types.d.ts +147 -17
  39. package/dist/client/types.d.ts.map +1 -1
  40. package/dist/component/_generated/api.d.ts +11 -3
  41. package/dist/component/messages.d.ts +13 -4
  42. package/dist/component/messages.d.ts.map +1 -1
  43. package/dist/component/messages.js +67 -25
  44. package/dist/component/messages.js.map +1 -1
  45. package/dist/component/schema.d.ts +2 -1643
  46. package/dist/component/schema.d.ts.map +1 -1
  47. package/dist/component/schema.js +0 -24
  48. package/dist/component/schema.js.map +1 -1
  49. package/dist/mapping.d.ts +5 -8
  50. package/dist/mapping.d.ts.map +1 -1
  51. package/dist/mapping.js +72 -6
  52. package/dist/mapping.js.map +1 -1
  53. package/dist/react/deltas.d.ts.map +1 -1
  54. package/dist/react/deltas.js +1 -0
  55. package/dist/react/deltas.js.map +1 -1
  56. package/dist/react/fromUIMessages.d.ts +13 -0
  57. package/dist/react/fromUIMessages.d.ts.map +1 -0
  58. package/dist/react/fromUIMessages.js +75 -0
  59. package/dist/react/fromUIMessages.js.map +1 -0
  60. package/dist/react/toUIMessages.d.ts +5 -2
  61. package/dist/react/toUIMessages.d.ts.map +1 -1
  62. package/dist/react/toUIMessages.js +3 -0
  63. package/dist/react/toUIMessages.js.map +1 -1
  64. package/dist/shared.d.ts +10 -0
  65. package/dist/shared.d.ts.map +1 -1
  66. package/dist/shared.js +26 -0
  67. package/dist/shared.js.map +1 -1
  68. package/dist/validators.d.ts +1640 -0
  69. package/dist/validators.d.ts.map +1 -1
  70. package/dist/validators.js +41 -0
  71. package/dist/validators.js.map +1 -1
  72. package/package.json +4 -4
  73. package/src/client/createTool.ts +1 -1
  74. package/src/client/definePlaygroundAPI.ts +16 -7
  75. package/src/client/index.test.ts +11 -46
  76. package/src/client/index.ts +128 -573
  77. package/src/client/messages.ts +1 -1
  78. package/src/client/mock.json +68 -0
  79. package/src/client/mockModel.ts +47 -31
  80. package/src/client/saveInputMessages.test.ts +576 -0
  81. package/src/client/saveInputMessages.ts +100 -0
  82. package/src/client/search.test.ts +1017 -0
  83. package/src/client/search.ts +446 -68
  84. package/src/client/start.ts +315 -0
  85. package/src/client/stream.json +48 -0
  86. package/src/client/streaming.ts +3 -3
  87. package/src/client/textStreamParts.ts +2 -11
  88. package/src/client/threads.ts +1 -1
  89. package/src/client/types.ts +153 -22
  90. package/src/component/_generated/api.d.ts +11 -3
  91. package/src/component/messages.ts +73 -27
  92. package/src/component/schema.ts +1 -29
  93. package/src/mapping.ts +83 -6
  94. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
  95. package/src/react/deltas.ts +1 -0
  96. package/src/react/fromUIMessages.test.ts +467 -0
  97. package/src/react/fromUIMessages.ts +90 -0
  98. package/src/react/toUIMessages.ts +21 -13
  99. package/src/shared.ts +33 -0
  100. package/src/validators.test.ts +13 -2
  101. package/src/validators.ts +48 -0
@@ -1,36 +1,31 @@
1
- import { embedMany, generateObject, generateText, stepCountIs, streamObject, streamText, } from "ai";
1
+ import { generateObject, generateText, stepCountIs, streamObject, streamText, } from "ai";
2
2
  import { assert, omit, pick } from "convex-helpers";
3
3
  import { internalActionGeneric, internalMutationGeneric, } from "convex/server";
4
4
  import { convexToJson, v } from "convex/values";
5
- import { validateVectorDimension, } from "../component/vector/tables.js";
5
+ import {} from "../component/vector/tables.js";
6
6
  import { deserializeMessage, serializeMessage, serializeNewMessagesInStep, serializeObjectResult, } from "../mapping.js";
7
- import { extractText, isTool } from "../shared.js";
7
+ import { getModelName, getProviderName } from "../shared.js";
8
8
  import { vMessageEmbeddings, vMessageWithMetadata, vSafeObjectArgs, vTextArgs, } from "../validators.js";
9
- import { wrapTools } from "./createTool.js";
10
9
  import { listMessages, saveMessages, } from "./messages.js";
11
- import { fetchContextMessages, getModelName, getProviderName, } from "./search.js";
10
+ import { embedMany, embedMessages, fetchContextMessages, generateAndSaveEmbeddings, } from "./search.js";
11
+ import { start } from "./start.js";
12
12
  import { DeltaStreamer, syncStreams, } from "./streaming.js";
13
13
  import { mergeTransforms, serializeTextStreamingPartsV5, } from "./textStreamParts.js";
14
14
  import { createThread, getThreadMetadata } from "./threads.js";
15
- import { inlineMessagesFiles } from "./files.js";
16
15
  export { stepCountIs } from "ai";
17
- export { vMessageDoc, vThreadDoc } from "../component/schema.js";
18
16
  export { deserializeMessage, serializeDataOrUrl, serializeMessage, guessMimeType, toUIFilePart, } from "../mapping.js";
19
17
  // NOTE: these are also exported via @convex-dev/agent/validators
20
18
  // a future version may put them all here or move these over there
21
- export { vAssistantMessage, vContextOptions, vMessage, vPaginationResult, vProviderMetadata, vStorageOptions, vStreamArgs, vSystemMessage, vToolMessage, vUsage, vUserMessage, vSource, vContent, } from "../validators.js";
19
+ export { vAssistantMessage, vContextOptions, vMessage, vMessageDoc, vPaginationResult, vProviderMetadata, vStorageOptions, vStreamArgs, vSystemMessage, vThreadDoc, vToolMessage, vUsage, vUserMessage, vSource, vContent, } from "../validators.js";
22
20
  export { definePlaygroundAPI, } from "./definePlaygroundAPI.js";
23
21
  export { getFile, storeFile } from "./files.js";
24
22
  export { listMessages, saveMessage, saveMessages, } from "./messages.js";
25
- export { fetchContextMessages, filterOutOrphanedToolMessages, } from "./search.js";
23
+ export { fetchContextMessages, filterOutOrphanedToolMessages, fetchContextWithPrompt, generateAndSaveEmbeddings, embedMessages, embedMany, } from "./search.js";
26
24
  export { abortStream, listStreams, syncStreams, vStreamMessagesReturnValue, } from "./streaming.js";
27
25
  export { createThread, getThreadMetadata, updateThreadMetadata, searchThreadTitles, } from "./threads.js";
28
26
  export { extractText, isTool, sorted } from "../shared.js";
29
27
  export { createTool } from "./createTool.js";
30
28
  export { mockModel } from "./mockModel.js";
31
- // 10k characters should be more than enough for most cases, and stays under
32
- // the 8k token limit for some models.
33
- const MAX_EMBEDDING_TEXT_LENGTH = 10_000;
34
29
  export class Agent {
35
30
  component;
36
31
  options;
@@ -84,147 +79,17 @@ export class Agent {
84
79
  * you pass here.
85
80
  */
86
81
  args, options) {
87
- const { threadId, ...opts } = { ...this.options, ...options };
88
- const context = await this._saveMessagesAndFetchContext(ctx, {
89
- userId: options?.userId,
90
- threadId: options?.threadId,
91
- messages: args.messages,
92
- prompt: args.prompt,
93
- promptMessageId: args.promptMessageId,
94
- ...opts,
95
- });
96
- let pendingMessageId = context.pendingMessageId;
97
- const { messages, promptMessageId, order, stepOrder, userId } = context;
98
- const savedMessages = context.savedMessages ?? [];
99
- const toolCtx = {
100
- ...ctx,
101
- userId,
102
- threadId,
103
- promptMessageId,
104
- agent: this,
105
- };
106
- const tools = wrapTools(toolCtx, args.tools ?? this.options.tools);
107
- const saveOutput = opts.storageOptions?.saveMessages !== "none";
108
- const fail = async (reason) => {
109
- if (threadId && promptMessageId) {
110
- console.error(`Message failed in thread ${threadId} with promptMessageId ${promptMessageId}: ${reason}`);
111
- }
112
- if (pendingMessageId) {
113
- await ctx.runMutation(this.component.messages.finalizeMessage, {
114
- messageId: pendingMessageId,
115
- result: { status: "failed", error: reason },
116
- });
117
- }
118
- };
119
- if (args.abortSignal) {
120
- const abortSignal = args.abortSignal;
121
- abortSignal.addEventListener("abort", async () => {
122
- await fail(abortSignal.reason ?? "Aborted");
123
- }, { once: true });
124
- }
125
- const aiArgs = {
126
- ...this.options.callSettings,
127
- providerOptions: this.options.providerOptions,
128
- ...omit(args, ["messages", "prompt", "promptMessageId"]),
129
- model: args.model ?? this.options.languageModel,
82
+ return start(ctx, this.component, {
83
+ ...args,
84
+ tools: (args.tools ?? this.options.tools),
130
85
  system: args.system ?? this.options.instructions,
131
- messages,
132
- stopWhen: args.stopWhen ??
133
- this.options.stopWhen ??
134
- stepCountIs(this.options.maxSteps ?? 1),
135
- tools,
136
- };
137
- if (pendingMessageId) {
138
- if (!aiArgs._internal?.generateId) {
139
- aiArgs._internal = {
140
- ...aiArgs._internal,
141
- generateId: () => pendingMessageId ?? crypto.randomUUID(),
142
- };
143
- }
144
- }
145
- let activeModel = aiArgs.model;
146
- return {
147
- args: aiArgs,
148
- order: order ?? 0,
149
- stepOrder: stepOrder ?? 0,
150
- userId,
151
- promptMessageId,
152
- getSavedMessages: () => savedMessages,
153
- updateModel: (model) => {
154
- if (model) {
155
- activeModel = model;
156
- }
157
- },
158
- fail,
159
- save: async (toSave, createPendingMessage) => {
160
- if (threadId && promptMessageId && saveOutput) {
161
- const metadata = {
162
- // TODO: get up to date one when user selects mid-generation
163
- model: getModelName(activeModel),
164
- provider: getProviderName(activeModel),
165
- };
166
- const serialized = "object" in toSave
167
- ? await serializeObjectResult(ctx, this.component, toSave.object, metadata)
168
- : await serializeNewMessagesInStep(ctx, this.component, toSave.step, metadata);
169
- const embeddings = await this.generateEmbeddings(ctx, { userId, threadId }, serialized.messages.map((m) => m.message));
170
- if (createPendingMessage) {
171
- serialized.messages.push({
172
- message: { role: "assistant", content: [] },
173
- status: "pending",
174
- });
175
- embeddings?.vectors.push(null);
176
- }
177
- const saved = await ctx.runMutation(this.component.messages.addMessages, {
178
- userId,
179
- threadId,
180
- agentName: this.options.name,
181
- promptMessageId,
182
- pendingMessageId,
183
- messages: serialized.messages,
184
- embeddings,
185
- failPendingSteps: false,
186
- });
187
- const lastMessage = saved.messages.at(-1);
188
- if (createPendingMessage) {
189
- if (lastMessage.status === "failed") {
190
- pendingMessageId = undefined;
191
- savedMessages.push(...saved.messages);
192
- await fail(lastMessage.error ??
193
- "Aborting - the pending message was marked as failed");
194
- }
195
- else {
196
- pendingMessageId = lastMessage._id;
197
- savedMessages.push(...saved.messages.slice(0, -1));
198
- }
199
- }
200
- else {
201
- pendingMessageId = undefined;
202
- savedMessages.push(...saved.messages);
203
- }
204
- }
205
- const output = "object" in toSave ? toSave.object : toSave.step;
206
- if (this.options.rawRequestResponseHandler) {
207
- await this.options.rawRequestResponseHandler(ctx, {
208
- userId,
209
- threadId,
210
- agentName: this.options.name,
211
- request: output.request,
212
- response: output.response,
213
- });
214
- }
215
- if (opts.usageHandler && output.usage) {
216
- await opts.usageHandler(ctx, {
217
- userId,
218
- threadId,
219
- agentName: this.options.name,
220
- model: getModelName(activeModel),
221
- provider: getProviderName(activeModel),
222
- usage: output.usage,
223
- providerMetadata: output.providerMetadata,
224
- });
225
- }
226
- },
227
- };
86
+ stopWhen: (args.stopWhen ?? this.options.stopWhen),
87
+ }, {
88
+ ...this.options,
89
+ ...options,
90
+ agentName: this.options.name,
91
+ agentForToolCtx: this,
92
+ });
228
93
  }
229
94
  /**
230
95
  * This behaves like {@link generateText} from the "ai" package except that
@@ -321,9 +186,6 @@ export class Agent {
321
186
  await streamer?.fail(errorToString(error.error));
322
187
  return streamTextArgs.onError?.(error);
323
188
  },
324
- // onFinish: async (event) => {
325
- // return streamTextArgs.onFinish?.(event);
326
- // },
327
189
  prepareStep: async (options) => {
328
190
  const result = await streamTextArgs.prepareStep?.(options);
329
191
  if (result) {
@@ -343,17 +205,17 @@ export class Agent {
343
205
  return args.onStepFinish?.(step);
344
206
  },
345
207
  });
208
+ if ((typeof options?.saveStreamDeltas === "object" &&
209
+ !options.saveStreamDeltas.returnImmediately) ||
210
+ options?.saveStreamDeltas === true) {
211
+ await result.consumeStream();
212
+ }
346
213
  const metadata = {
347
214
  promptMessageId,
348
215
  order,
349
216
  savedMessages: call.getSavedMessages(),
350
217
  messageId: promptMessageId,
351
218
  };
352
- if ((typeof options?.saveStreamDeltas === "object" &&
353
- !options.saveStreamDeltas.returnImmediately) ||
354
- options?.saveStreamDeltas === true) {
355
- await result.consumeStream();
356
- }
357
219
  return Object.assign(result, metadata);
358
220
  }
359
221
  /**
@@ -549,7 +411,9 @@ export class Agent {
549
411
  assert("runAction" in ctx);
550
412
  assert(this.options.textEmbeddingModel, "A textEmbeddingModel is required to be set on the Agent that you're doing vector search with");
551
413
  return {
552
- embedding: (await this.doEmbed(ctx, {
414
+ embedding: (await embedMany(ctx, {
415
+ ...this.options,
416
+ agentName: this.options.name,
553
417
  userId: args.userId,
554
418
  threadId: args.threadId,
555
419
  values: [text],
@@ -584,40 +448,8 @@ export class Agent {
584
448
  * @param messages The messages to get the embeddings for.
585
449
  * @returns The embeddings for the messages.
586
450
  */
587
- async generateEmbeddings(ctx, { userId, threadId, }, messages) {
588
- if (!this.options.textEmbeddingModel) {
589
- return undefined;
590
- }
591
- let embeddings;
592
- const messageTexts = messages.map((m) => !isTool(m) && extractText(m));
593
- // Find the indexes of the messages that have text.
594
- const textIndexes = messageTexts
595
- .map((t, i) => (t ? i : undefined))
596
- .filter((i) => i !== undefined);
597
- if (textIndexes.length === 0) {
598
- return undefined;
599
- }
600
- const values = messageTexts
601
- .map((t) => t && t.trim().slice(0, MAX_EMBEDDING_TEXT_LENGTH))
602
- .filter((t) => !!t);
603
- // Then embed those messages.
604
- const textEmbeddings = await this.doEmbed(ctx, {
605
- userId,
606
- threadId,
607
- values,
608
- });
609
- // Then assemble the embeddings into a single array with nulls for the messages without text.
610
- const embeddingsOrNull = Array(messages.length).fill(null);
611
- textIndexes.forEach((i, j) => {
612
- embeddingsOrNull[i] = textEmbeddings.embeddings[j];
613
- });
614
- if (textEmbeddings.embeddings.length > 0) {
615
- const dimension = textEmbeddings.embeddings[0].length;
616
- validateVectorDimension(dimension);
617
- const model = getModelName(this.options.textEmbeddingModel);
618
- embeddings = { vectors: embeddingsOrNull, dimension, model };
619
- }
620
- return embeddings;
451
+ async generateEmbeddings(ctx, args, messages) {
452
+ return embedMessages(ctx, { ...args, ...this.options, agentName: this.options.name }, messages);
621
453
  }
622
454
  /**
623
455
  * Generate embeddings for a set of messages, and save them to the database.
@@ -636,9 +468,6 @@ export class Agent {
636
468
  .filter((id) => !messages.some((m) => m?._id === id))
637
469
  .join(", "));
638
470
  }
639
- await this._generateAndSaveEmbeddings(ctx, messages);
640
- }
641
- async _generateAndSaveEmbeddings(ctx, messages) {
642
471
  if (messages.some((m) => !m.message)) {
643
472
  throw new Error("Some messages don't have a message: " +
644
473
  messages
@@ -646,34 +475,17 @@ export class Agent {
646
475
  .map((m) => m._id)
647
476
  .join(", "));
648
477
  }
649
- const messagesMissingEmbeddings = messages.filter((m) => !m.embeddingId);
650
- if (messagesMissingEmbeddings.length === 0) {
651
- return;
652
- }
653
- const embeddings = await this.generateEmbeddings(ctx, {
654
- userId: messagesMissingEmbeddings[0].userId,
655
- threadId: messagesMissingEmbeddings[0].threadId,
656
- }, messagesMissingEmbeddings.map((m) => deserializeMessage(m.message)));
657
- if (!embeddings) {
658
- if (!this.options.textEmbeddingModel) {
659
- throw new Error("No embeddings were generated for the messages. You must pass a textEmbeddingModel to the agent constructor.");
660
- }
661
- throw new Error("No embeddings were generated for these messages: " +
662
- messagesMissingEmbeddings.map((m) => m._id).join(", "));
478
+ const { textEmbeddingModel } = this.options;
479
+ if (!textEmbeddingModel) {
480
+ throw new Error("No embeddings were generated for the messages. You must pass a textEmbeddingModel to the agent constructor.");
663
481
  }
664
- await ctx.runMutation(this.component.vector.index.insertBatch, {
665
- vectorDimension: embeddings.dimension,
666
- vectors: messagesMissingEmbeddings
667
- .map((m, i) => ({
668
- messageId: m._id,
669
- model: embeddings.model,
670
- table: "messages",
671
- userId: m.userId,
672
- threadId: m.threadId,
673
- vector: embeddings.vectors[i],
674
- }))
675
- .filter((v) => v.vector !== null),
676
- });
482
+ await generateAndSaveEmbeddings(ctx, this.component, {
483
+ ...this.options,
484
+ agentName: this.options.name,
485
+ threadId: messages[0].threadId,
486
+ userId: messages[0].userId,
487
+ textEmbeddingModel,
488
+ }, messages);
677
489
  }
678
490
  /**
679
491
  * Explicitly save a "step" created by the AI SDK.
@@ -848,143 +660,6 @@ export class Agent {
848
660
  limit: args.pageSize,
849
661
  });
850
662
  }
851
- async _saveMessagesAndFetchContext(ctx, { userId: argsUserId, threadId, contextOptions, storageOptions, ...args }) {
852
- // If only a promptMessageId is provided, this will be empty.
853
- const messages = args.messages ?? [];
854
- const promptArray = !args.prompt
855
- ? []
856
- : Array.isArray(args.prompt)
857
- ? args.prompt.map((p) => deserializeMessage(p))
858
- : [{ role: "user", content: args.prompt }];
859
- const userId = argsUserId ??
860
- (threadId &&
861
- (await ctx.runQuery(this.component.threads.getThread, { threadId }))
862
- ?.userId) ??
863
- undefined;
864
- // If only a messageId is provided, this will add that message to the end.
865
- const contextMessages = await this.fetchContextMessages(ctx, {
866
- userId,
867
- threadId,
868
- upToAndIncludingMessageId: args.promptMessageId,
869
- messages,
870
- contextOptions,
871
- });
872
- // If it was a promptMessageId, pop it off context messages
873
- // and add to the end of messages.
874
- const promptMessageIndex = args.promptMessageId
875
- ? contextMessages.findIndex((m) => m._id === args.promptMessageId)
876
- : -1;
877
- const promptMessage = promptMessageIndex !== -1
878
- ? contextMessages.splice(promptMessageIndex, 1)[0]
879
- : undefined;
880
- let promptMessageId = promptMessage?._id;
881
- let order = promptMessage?.order;
882
- let stepOrder = promptMessage?.stepOrder;
883
- let savedMessages = undefined;
884
- let pendingMessageId = undefined;
885
- if (threadId && storageOptions?.saveMessages !== "none") {
886
- let saved;
887
- if (messages.length + promptArray.length &&
888
- // If it was a promptMessageId, we don't want to save it again.
889
- (!args.promptMessageId || storageOptions?.saveMessages === "all")) {
890
- const saveAll = storageOptions?.saveMessages === "all";
891
- const coreMessages = [
892
- ...messages,
893
- ...promptArray,
894
- ];
895
- const toSave = saveAll ? coreMessages : coreMessages.slice(-1);
896
- const metadata = Array.from({ length: toSave.length }, () => ({}));
897
- saved = await this.saveMessages(ctx, {
898
- threadId,
899
- userId,
900
- messages: [...toSave, { role: "assistant", content: [] }],
901
- metadata: [...metadata, { status: "pending" }],
902
- // TODO: sanity check
903
- failPendingSteps: !!args.promptMessageId,
904
- });
905
- promptMessageId = saved.messages.at(-2)._id;
906
- }
907
- else {
908
- saved = await this.saveMessages(ctx, {
909
- threadId,
910
- userId,
911
- messages: [{ role: "assistant", content: [] }],
912
- metadata: [{ status: "pending" }],
913
- failPendingSteps: !!args.promptMessageId,
914
- });
915
- }
916
- pendingMessageId = saved.messages.at(-1)._id;
917
- order = saved.messages.at(-1).order;
918
- stepOrder = saved.messages.at(-1).stepOrder;
919
- // Don't return the pending message
920
- savedMessages = saved.messages.slice(0, -1);
921
- }
922
- if (promptMessage?.message) {
923
- if (!args.prompt) {
924
- // If they override the prompt, we skip the existing prompt message.
925
- messages.push(promptMessage.message);
926
- }
927
- // Lazily generate embeddings for the prompt message, if it doesn't have
928
- // embeddings yet. This can happen if the message was saved in a mutation
929
- // where the LLM is not available.
930
- if (!promptMessage.embeddingId && this.options.textEmbeddingModel) {
931
- await this._generateAndSaveEmbeddings(ctx, [promptMessage]);
932
- }
933
- }
934
- const prePrompt = contextMessages.map((m) => m.message).filter((m) => !!m);
935
- let existingResponses = [];
936
- if (promptMessageIndex !== -1) {
937
- // pull any messages that already responded to the prompt off
938
- // and add them after the prompt
939
- existingResponses = prePrompt.splice(promptMessageIndex);
940
- }
941
- let processedMessages = [
942
- ...prePrompt,
943
- ...messages,
944
- ...promptArray,
945
- ...existingResponses,
946
- ].map((m) => deserializeMessage(m));
947
- // Process messages to inline localhost files (if not, file urls pointing to localhost will be sent to LLM providers)
948
- if (process.env.CONVEX_CLOUD_URL?.startsWith("http://127.0.0.1")) {
949
- processedMessages = await inlineMessagesFiles(processedMessages);
950
- }
951
- return {
952
- messages: processedMessages,
953
- userId,
954
- promptMessageId,
955
- pendingMessageId,
956
- savedMessages,
957
- order,
958
- stepOrder,
959
- };
960
- }
961
- async doEmbed(ctx, options) {
962
- const embeddingModel = this.options.textEmbeddingModel;
963
- assert(embeddingModel, "a textEmbeddingModel is required to be set on the Agent that you're doing vector search with");
964
- const result = await embedMany({
965
- ...this.options.callSettings,
966
- model: embeddingModel,
967
- values: options.values,
968
- abortSignal: options.abortSignal,
969
- headers: options.headers,
970
- });
971
- if (this.options.usageHandler && result.usage) {
972
- await this.options.usageHandler(ctx, {
973
- userId: options.userId,
974
- threadId: options.threadId,
975
- agentName: this.options.name,
976
- model: getModelName(embeddingModel),
977
- provider: getProviderName(embeddingModel),
978
- providerMetadata: undefined,
979
- usage: {
980
- inputTokens: result.usage.tokens,
981
- outputTokens: 0,
982
- totalTokens: result.usage.tokens,
983
- },
984
- });
985
- }
986
- return { embeddings: result.embeddings };
987
- }
988
663
  /**
989
664
  * WORKFLOW UTILITIES
990
665
  */
@@ -1030,19 +705,20 @@ export class Agent {
1030
705
  args: vTextArgs,
1031
706
  handler: async (ctx_, args) => {
1032
707
  const stream = args.stream === true ? spec?.stream || true : (spec?.stream ?? false);
1033
- const targetArgs = { userId: args.userId, threadId: args.threadId };
708
+ const { userId, threadId, prompt, messages, maxSteps, ...rest } = args;
709
+ const targetArgs = { userId, threadId };
1034
710
  const llmArgs = {
1035
- stopWhen: spec?.stopWhen ?? this.options.stopWhen,
711
+ stopWhen: spec?.stopWhen,
1036
712
  ...overrides,
1037
- ...omit(args, ["storageOptions", "contextOptions"]),
1038
- messages: args.messages?.map(deserializeMessage),
1039
- prompt: Array.isArray(args.prompt)
1040
- ? args.prompt.map(deserializeMessage)
1041
- : args.prompt,
713
+ ...omit(rest, ["storageOptions", "contextOptions", "stream"]),
714
+ messages: messages?.map(deserializeMessage),
715
+ prompt: Array.isArray(prompt)
716
+ ? prompt.map(deserializeMessage)
717
+ : prompt,
1042
718
  toolChoice: args.toolChoice,
1043
719
  };
1044
- if (args.maxSteps) {
1045
- llmArgs.stopWhen = stepCountIs(args.maxSteps);
720
+ if (maxSteps) {
721
+ llmArgs.stopWhen = stepCountIs(maxSteps);
1046
722
  }
1047
723
  const opts = {
1048
724
  ...pick(spec, ["contextOptions", "storageOptions"]),
@@ -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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"}