@convex-dev/agent 0.3.2 → 0.6.0-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 (99) hide show
  1. package/dist/UIMessages.d.ts +3 -2
  2. package/dist/UIMessages.d.ts.map +1 -1
  3. package/dist/UIMessages.js +100 -19
  4. package/dist/UIMessages.js.map +1 -1
  5. package/dist/client/createTool.d.ts +129 -25
  6. package/dist/client/createTool.d.ts.map +1 -1
  7. package/dist/client/createTool.js +65 -8
  8. package/dist/client/createTool.js.map +1 -1
  9. package/dist/client/definePlaygroundAPI.d.ts +560 -35
  10. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  11. package/dist/client/files.d.ts.map +1 -1
  12. package/dist/client/files.js +4 -2
  13. package/dist/client/files.js.map +1 -1
  14. package/dist/client/index.d.ts +462 -37
  15. package/dist/client/index.d.ts.map +1 -1
  16. package/dist/client/index.js +26 -7
  17. package/dist/client/index.js.map +1 -1
  18. package/dist/client/messages.d.ts +114 -9
  19. package/dist/client/messages.d.ts.map +1 -1
  20. package/dist/client/mockModel.d.ts +17 -17
  21. package/dist/client/mockModel.d.ts.map +1 -1
  22. package/dist/client/mockModel.js +8 -6
  23. package/dist/client/mockModel.js.map +1 -1
  24. package/dist/client/saveInputMessages.d.ts +1 -1
  25. package/dist/client/saveInputMessages.d.ts.map +1 -1
  26. package/dist/client/saveInputMessages.js +1 -1
  27. package/dist/client/saveInputMessages.js.map +1 -1
  28. package/dist/client/search.d.ts +132 -14
  29. package/dist/client/search.d.ts.map +1 -1
  30. package/dist/client/search.js +66 -19
  31. package/dist/client/search.js.map +1 -1
  32. package/dist/client/streamText.d.ts +4 -4
  33. package/dist/client/streamText.d.ts.map +1 -1
  34. package/dist/client/streamText.js.map +1 -1
  35. package/dist/client/streaming.d.ts +1491 -87
  36. package/dist/client/streaming.d.ts.map +1 -1
  37. package/dist/client/types.d.ts +26 -6
  38. package/dist/client/types.d.ts.map +1 -1
  39. package/dist/component/_generated/component.d.ts +862 -19
  40. package/dist/component/_generated/component.d.ts.map +1 -1
  41. package/dist/component/files.d.ts +12 -6
  42. package/dist/component/files.d.ts.map +1 -1
  43. package/dist/component/files.js +10 -2
  44. package/dist/component/files.js.map +1 -1
  45. package/dist/component/messages.d.ts +1247 -92
  46. package/dist/component/messages.d.ts.map +1 -1
  47. package/dist/component/schema.d.ts +2823 -217
  48. package/dist/component/schema.d.ts.map +1 -1
  49. package/dist/component/schema.js +3 -1
  50. package/dist/component/schema.js.map +1 -1
  51. package/dist/component/streams.js +1 -1
  52. package/dist/component/streams.js.map +1 -1
  53. package/dist/component/threads.d.ts +10 -10
  54. package/dist/component/vector/index.d.ts +1 -1
  55. package/dist/deltas.d.ts.map +1 -1
  56. package/dist/deltas.js +40 -5
  57. package/dist/deltas.js.map +1 -1
  58. package/dist/mapping.d.ts.map +1 -1
  59. package/dist/mapping.js +117 -25
  60. package/dist/mapping.js.map +1 -1
  61. package/dist/react/useThreadMessages.d.ts.map +1 -1
  62. package/dist/react/useThreadMessages.js +17 -9
  63. package/dist/react/useThreadMessages.js.map +1 -1
  64. package/dist/shared.d.ts +2 -2
  65. package/dist/shared.d.ts.map +1 -1
  66. package/dist/shared.js.map +1 -1
  67. package/dist/validators.d.ts +12196 -624
  68. package/dist/validators.d.ts.map +1 -1
  69. package/dist/validators.js +152 -9
  70. package/dist/validators.js.map +1 -1
  71. package/package.json +24 -22
  72. package/src/UIMessages.combineUIMessages.test.ts +239 -0
  73. package/src/UIMessages.ts +184 -66
  74. package/src/client/createTool.ts +291 -67
  75. package/src/client/files.ts +4 -2
  76. package/src/client/index.test.ts +1 -0
  77. package/src/client/index.ts +46 -25
  78. package/src/client/mockModel.ts +36 -34
  79. package/src/client/saveInputMessages.ts +2 -2
  80. package/src/client/search.test.ts +166 -0
  81. package/src/client/search.ts +121 -38
  82. package/src/client/streamText.ts +5 -5
  83. package/src/client/types.ts +31 -18
  84. package/src/component/_generated/component.ts +2329 -338
  85. package/src/component/files.ts +11 -2
  86. package/src/component/messages.test.ts +7 -7
  87. package/src/component/schema.ts +3 -1
  88. package/src/component/setup.test.ts +7 -0
  89. package/src/component/streams.ts +1 -1
  90. package/src/deltas.test.ts +90 -0
  91. package/src/deltas.ts +47 -8
  92. package/src/fromUIMessages.test.ts +32 -27
  93. package/src/mapping.test.ts +48 -0
  94. package/src/mapping.ts +234 -142
  95. package/src/react/useThreadMessages.ts +21 -9
  96. package/src/shared.ts +2 -0
  97. package/src/toUIMessages.test.ts +539 -1
  98. package/src/validators.ts +179 -20
  99. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"mockModel.js","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mockModel.js","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare function saveInputMessages(ctx: MutationCtx | ActionCtx, componen
12
12
  storageOptions?: {
13
13
  saveMessages?: "all" | "promptAndOutput";
14
14
  };
15
- } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "callSettings">): Promise<{
15
+ } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "embeddingModel" | "callSettings">): Promise<{
16
16
  promptMessageId: string | undefined;
17
17
  pendingMessage: MessageDoc;
18
18
  savedMessages: MessageDoc[];
@@ -1 +1 @@
1
- {"version":3,"file":"saveInputMessages.d.ts","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,MAAM,EACN,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,SAAS,EAAE,cAAc,EACzB,EACE,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EACR,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACxD,QAAQ,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACjD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,YAAY,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC;KAC1C,CAAC;CACH,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,GAAG,cAAc,CAAC,GACvE,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,EAAE,UAAU,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;CAC7B,CAAC,CA8DD"}
1
+ {"version":3,"file":"saveInputMessages.d.ts","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,IAAI,CAAC;AACvC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EACV,SAAS,EACT,cAAc,EACd,MAAM,EACN,WAAW,EACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,WAAW,GAAG,SAAS,EAC5B,SAAS,EAAE,cAAc,EACzB,EACE,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EACR,EAAE;IACD,MAAM,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACxD,QAAQ,EAAE,CAAC,YAAY,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC;IACjD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE;QACf,YAAY,CAAC,EAAE,KAAK,GAAG,iBAAiB,CAAC;KAC1C,CAAC;CACH,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,oBAAoB,GAAG,gBAAgB,GAAG,cAAc,CAAC,GAC1F,OAAO,CAAC;IACT,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,EAAE,UAAU,CAAC;IAC3B,aAAa,EAAE,UAAU,EAAE,CAAC;CAC7B,CAAC,CA8DD"}
@@ -27,7 +27,7 @@ export async function saveInputMessages(ctx, component, { threadId, userId, prom
27
27
  }
28
28
  }
29
29
  let embeddings;
30
- if (args.textEmbeddingModel && toSave.length) {
30
+ if ((args.embeddingModel ?? args.textEmbeddingModel) && toSave.length) {
31
31
  assert("runAction" in ctx, "You must be in an action context to generate embeddings");
32
32
  embeddings = await embedMessages(ctx, { ...args, userId: userId ?? undefined, threadId }, toSave);
33
33
  if (embeddings) {
@@ -1 +1 @@
1
- {"version":3,"file":"saveInputMessages.js","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,IAAI,CAAC;AAEvC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAO5D,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,GAA4B,EAC5B,SAAyB,EACzB,EACE,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACR,GAAG,IAAI,EAW+D;IAMxE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,EAAE,YAAY,IAAI,iBAAiB,CAAC;IAC1E,6DAA6D;IAC7D,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAE3C,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,6DAA6D;QAC7D,2DAA2D;IAC7D,CAAC;SAAM,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;QAChC,IAAI,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACvB,gEAAgE;YAChE,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,QAAQ,EAAE,CAAC;YACpB,mEAAmE;YACnE,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,IAAI,UAMS,CAAC;IACd,IAAI,IAAI,CAAC,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,CACJ,WAAW,IAAI,GAAG,EAClB,yDAAyD,CAC1D,CAAC;QACF,UAAU,GAAG,MAAM,aAAa,CAC9B,GAAG,EACH,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,IAAI,SAAS,EAAE,QAAQ,EAAE,EAClD,MAAM,CACP,CAAC;QACF,IAAI,UAAU,EAAE,CAAC;YACf,0BAA0B;YAC1B,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,EAAE,SAAS,EAAE;QAC/C,QAAQ;QACR,MAAM;QACN,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzD,QAAQ,EAAE;YACR,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,EAAE,MAAM,EAAE,SAAS,EAAE;SACtB;QACD,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe;QACxC,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,UAAU;KACX,CAAC,CAAC;IACH,OAAO;QACL,eAAe,EAAE,MAAM,CAAC,MAAM;YAC5B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE,CAAC,GAAG;YAC5B,CAAC,CAAC,IAAI,CAAC,eAAe;QACxB,cAAc,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAE;QACtC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3C,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"saveInputMessages.js","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,14 @@ import type { Message } from "../validators.js";
5
5
  import type { AgentComponent, Config, ContextOptions, Options, QueryCtx, MutationCtx, ActionCtx } from "./types.js";
6
6
  export type GetEmbedding = (text: string) => Promise<{
7
7
  embedding: number[];
8
- textEmbeddingModel: string | EmbeddingModel<string>;
8
+ /** @deprecated Use embeddingModel instead. */
9
+ textEmbeddingModel: string | EmbeddingModel;
10
+ embeddingModel?: string | EmbeddingModel;
11
+ } | {
12
+ embedding: number[];
13
+ /** @deprecated Use embeddingModel instead. */
14
+ textEmbeddingModel?: string | EmbeddingModel;
15
+ embeddingModel: string | EmbeddingModel;
9
16
  }>;
10
17
  /**
11
18
  * Fetch the context messages for a thread.
@@ -68,6 +75,8 @@ export declare function fetchRecentAndSearchMessages(ctx: QueryCtx | MutationCtx
68
75
  }>;
69
76
  /**
70
77
  * Filter out tool messages that don't have both a tool call and response.
78
+ * For the approval workflow, tool calls with approval responses (but no tool-results yet)
79
+ * should also be kept.
71
80
  * @param docs The messages to filter.
72
81
  * @returns The filtered messages.
73
82
  */
@@ -91,15 +100,17 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
91
100
  text: string;
92
101
  } | {
93
102
  providerOptions?: Record<string, Record<string, any>> | undefined;
103
+ mediaType?: string | undefined;
94
104
  mimeType?: string | undefined;
95
105
  type: "image";
96
106
  image: string | ArrayBuffer;
97
107
  } | {
98
108
  providerOptions?: Record<string, Record<string, any>> | undefined;
99
109
  providerMetadata?: Record<string, Record<string, any>> | undefined;
110
+ mediaType?: string | undefined;
111
+ mimeType?: string | undefined;
100
112
  filename?: string | undefined;
101
113
  type: "file";
102
- mimeType: string;
103
114
  data: string | ArrayBuffer;
104
115
  })[];
105
116
  } | {
@@ -113,9 +124,10 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
113
124
  } | {
114
125
  providerOptions?: Record<string, Record<string, any>> | undefined;
115
126
  providerMetadata?: Record<string, Record<string, any>> | undefined;
127
+ mediaType?: string | undefined;
128
+ mimeType?: string | undefined;
116
129
  filename?: string | undefined;
117
130
  type: "file";
118
- mimeType: string;
119
131
  data: string | ArrayBuffer;
120
132
  } | {
121
133
  providerOptions?: Record<string, Record<string, any>> | undefined;
@@ -131,6 +143,16 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
131
143
  } | {
132
144
  providerOptions?: Record<string, Record<string, any>> | undefined;
133
145
  providerMetadata?: Record<string, Record<string, any>> | undefined;
146
+ args?: any;
147
+ providerExecuted?: boolean | undefined;
148
+ type: "tool-call";
149
+ toolCallId: string;
150
+ toolName: string;
151
+ input: any;
152
+ } | {
153
+ providerOptions?: Record<string, Record<string, any>> | undefined;
154
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
155
+ input?: any;
134
156
  providerExecuted?: boolean | undefined;
135
157
  type: "tool-call";
136
158
  toolCallId: string;
@@ -142,26 +164,65 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
142
164
  args?: any;
143
165
  providerExecuted?: boolean | undefined;
144
166
  output?: {
167
+ providerOptions?: Record<string, Record<string, any>> | undefined;
145
168
  type: "text";
146
169
  value: string;
147
170
  } | {
171
+ providerOptions?: Record<string, Record<string, any>> | undefined;
148
172
  type: "json";
149
173
  value: any;
150
174
  } | {
175
+ providerOptions?: Record<string, Record<string, any>> | undefined;
151
176
  type: "error-text";
152
177
  value: string;
153
178
  } | {
179
+ providerOptions?: Record<string, Record<string, any>> | undefined;
154
180
  type: "error-json";
155
181
  value: any;
182
+ } | {
183
+ providerOptions?: Record<string, Record<string, any>> | undefined;
184
+ reason?: string | undefined;
185
+ type: "execution-denied";
156
186
  } | {
157
187
  type: "content";
158
188
  value: ({
189
+ providerOptions?: Record<string, Record<string, any>> | undefined;
159
190
  type: "text";
160
191
  text: string;
161
192
  } | {
162
193
  type: "media";
194
+ mediaType: string;
163
195
  data: string;
196
+ } | {
197
+ providerOptions?: Record<string, Record<string, any>> | undefined;
198
+ filename?: string | undefined;
199
+ type: "file-data";
164
200
  mediaType: string;
201
+ data: string;
202
+ } | {
203
+ providerOptions?: Record<string, Record<string, any>> | undefined;
204
+ type: "file-url";
205
+ url: string;
206
+ } | {
207
+ providerOptions?: Record<string, Record<string, any>> | undefined;
208
+ type: "file-id";
209
+ fileId: string | Record<string, string>;
210
+ } | {
211
+ providerOptions?: Record<string, Record<string, any>> | undefined;
212
+ type: "image-data";
213
+ mediaType: string;
214
+ data: string;
215
+ } | {
216
+ providerOptions?: Record<string, Record<string, any>> | undefined;
217
+ type: "image-url";
218
+ url: string;
219
+ } | {
220
+ providerOptions?: Record<string, Record<string, any>> | undefined;
221
+ type: "image-file-id";
222
+ fileId: string | Record<string, string>;
223
+ } | {
224
+ providerOptions?: Record<string, Record<string, any>> | undefined;
225
+ type: "custom";
165
226
  })[];
166
227
  } | undefined;
167
228
  result?: any;
@@ -183,8 +244,8 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
183
244
  providerMetadata?: Record<string, Record<string, any>> | undefined;
184
245
  id: string;
185
246
  type: "source";
186
- sourceType: "url";
187
247
  url: string;
248
+ sourceType: "url";
188
249
  } | {
189
250
  providerOptions?: Record<string, Record<string, any>> | undefined;
190
251
  providerMetadata?: Record<string, Record<string, any>> | undefined;
@@ -194,36 +255,81 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
194
255
  type: "source";
195
256
  mediaType: string;
196
257
  sourceType: "document";
258
+ } | {
259
+ providerOptions?: Record<string, Record<string, any>> | undefined;
260
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
261
+ type: "tool-approval-request";
262
+ toolCallId: string;
263
+ approvalId: string;
197
264
  })[];
198
265
  } | {
199
266
  providerOptions?: Record<string, Record<string, any>> | undefined;
200
267
  role: "tool";
201
- content: {
268
+ content: ({
202
269
  providerOptions?: Record<string, Record<string, any>> | undefined;
203
270
  providerMetadata?: Record<string, Record<string, any>> | undefined;
204
271
  args?: any;
205
272
  providerExecuted?: boolean | undefined;
206
273
  output?: {
274
+ providerOptions?: Record<string, Record<string, any>> | undefined;
207
275
  type: "text";
208
276
  value: string;
209
277
  } | {
278
+ providerOptions?: Record<string, Record<string, any>> | undefined;
210
279
  type: "json";
211
280
  value: any;
212
281
  } | {
282
+ providerOptions?: Record<string, Record<string, any>> | undefined;
213
283
  type: "error-text";
214
284
  value: string;
215
285
  } | {
286
+ providerOptions?: Record<string, Record<string, any>> | undefined;
216
287
  type: "error-json";
217
288
  value: any;
289
+ } | {
290
+ providerOptions?: Record<string, Record<string, any>> | undefined;
291
+ reason?: string | undefined;
292
+ type: "execution-denied";
218
293
  } | {
219
294
  type: "content";
220
295
  value: ({
296
+ providerOptions?: Record<string, Record<string, any>> | undefined;
221
297
  type: "text";
222
298
  text: string;
223
299
  } | {
224
300
  type: "media";
301
+ mediaType: string;
302
+ data: string;
303
+ } | {
304
+ providerOptions?: Record<string, Record<string, any>> | undefined;
305
+ filename?: string | undefined;
306
+ type: "file-data";
307
+ mediaType: string;
225
308
  data: string;
309
+ } | {
310
+ providerOptions?: Record<string, Record<string, any>> | undefined;
311
+ type: "file-url";
312
+ url: string;
313
+ } | {
314
+ providerOptions?: Record<string, Record<string, any>> | undefined;
315
+ type: "file-id";
316
+ fileId: string | Record<string, string>;
317
+ } | {
318
+ providerOptions?: Record<string, Record<string, any>> | undefined;
319
+ type: "image-data";
226
320
  mediaType: string;
321
+ data: string;
322
+ } | {
323
+ providerOptions?: Record<string, Record<string, any>> | undefined;
324
+ type: "image-url";
325
+ url: string;
326
+ } | {
327
+ providerOptions?: Record<string, Record<string, any>> | undefined;
328
+ type: "image-file-id";
329
+ fileId: string | Record<string, string>;
330
+ } | {
331
+ providerOptions?: Record<string, Record<string, any>> | undefined;
332
+ type: "custom";
227
333
  })[];
228
334
  } | undefined;
229
335
  result?: any;
@@ -239,7 +345,15 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
239
345
  type: "tool-result";
240
346
  toolCallId: string;
241
347
  toolName: string;
242
- }[];
348
+ } | {
349
+ providerOptions?: Record<string, Record<string, any>> | undefined;
350
+ providerMetadata?: Record<string, Record<string, any>> | undefined;
351
+ providerExecuted?: boolean | undefined;
352
+ reason?: string | undefined;
353
+ type: "tool-approval-response";
354
+ approvalId: string;
355
+ approved: boolean;
356
+ })[];
243
357
  } | {
244
358
  providerOptions?: Record<string, Record<string, any>> | undefined;
245
359
  role: "system";
@@ -261,8 +375,8 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
261
375
  providerOptions?: Record<string, Record<string, any>> | undefined;
262
376
  providerMetadata?: Record<string, Record<string, any>> | undefined;
263
377
  id: string;
264
- sourceType: "url";
265
378
  url: string;
379
+ sourceType: "url";
266
380
  } | {
267
381
  providerOptions?: Record<string, Record<string, any>> | undefined;
268
382
  providerMetadata?: Record<string, Record<string, any>> | undefined;
@@ -285,7 +399,7 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
285
399
  type: "other";
286
400
  message: string;
287
401
  })[] | undefined;
288
- finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
402
+ finishReason?: "error" | "length" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined;
289
403
  reasoningDetails?: ({
290
404
  providerOptions?: Record<string, Record<string, any>> | undefined;
291
405
  providerMetadata?: Record<string, Record<string, any>> | undefined;
@@ -300,13 +414,13 @@ export declare function filterOutOrphanedToolMessages(docs: MessageDoc[]): {
300
414
  type: "redacted";
301
415
  data: string;
302
416
  })[] | undefined;
303
- _id: string;
304
- _creationTime: number;
305
417
  status: "pending" | "success" | "failed";
306
418
  order: number;
419
+ _creationTime: number;
307
420
  threadId: string;
308
421
  stepOrder: number;
309
422
  tool: boolean;
423
+ _id: string;
310
424
  }[];
311
425
  /**
312
426
  * Embed a list of messages, including calling any usage handler.
@@ -316,7 +430,7 @@ export declare function embedMessages(ctx: ActionCtx, { userId, threadId, ...opt
316
430
  userId: string | undefined;
317
431
  threadId: string | undefined;
318
432
  agentName?: string;
319
- } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "callSettings">, messages: (ModelMessage | Message)[]): Promise<{
433
+ } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "embeddingModel" | "callSettings">, messages: (ModelMessage | Message)[]): Promise<{
320
434
  vectors: (number[] | null)[];
321
435
  dimension: VectorDimension;
322
436
  model: string;
@@ -328,14 +442,14 @@ export declare function embedMessages(ctx: ActionCtx, { userId, threadId, ...opt
328
442
  * passed to the usage handler.
329
443
  * @returns The embeddings for the strings, matching the order of the values.
330
444
  */
331
- export declare function embedMany(ctx: ActionCtx, { userId, threadId, values, abortSignal, headers, agentName, usageHandler, textEmbeddingModel, callSettings, }: {
445
+ export declare function embedMany(ctx: ActionCtx, args: {
332
446
  userId: string | undefined;
333
447
  threadId: string | undefined;
334
448
  values: string[];
335
449
  abortSignal?: AbortSignal;
336
450
  headers?: Record<string, string>;
337
451
  agentName?: string;
338
- } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "callSettings">): Promise<{
452
+ } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "embeddingModel" | "callSettings">): Promise<{
339
453
  embeddings: number[][];
340
454
  }>;
341
455
  /**
@@ -349,7 +463,11 @@ export declare function generateAndSaveEmbeddings(ctx: ActionCtx, component: Age
349
463
  threadId: string | undefined;
350
464
  userId: string | undefined;
351
465
  agentName?: string;
352
- textEmbeddingModel: EmbeddingModel<string>;
466
+ /**
467
+ * @deprecated Use embeddingModel instead.
468
+ */
469
+ textEmbeddingModel?: EmbeddingModel;
470
+ embeddingModel?: EmbeddingModel;
353
471
  } & Pick<Config, "usageHandler" | "callSettings">, messages: MessageDoc[]): Promise<void>;
354
472
  /**
355
473
  * Similar to fetchContextMessages, but also combines the input messages,
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/client/search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/client/search.ts"],"names":[],"mappings":"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"}
@@ -77,8 +77,9 @@ export async function fetchRecentAndSearchMessages(ctx, component, args) {
77
77
  if (!embedding && args.getEmbedding) {
78
78
  const embeddingFields = await args.getEmbedding(text);
79
79
  embedding = embeddingFields.embedding;
80
- embeddingModel = embeddingFields.textEmbeddingModel
81
- ? getModelName(embeddingFields.textEmbeddingModel)
80
+ const effectiveModel = embeddingFields.embeddingModel ?? embeddingFields.textEmbeddingModel;
81
+ embeddingModel = effectiveModel
82
+ ? getModelName(effectiveModel)
82
83
  : undefined;
83
84
  // TODO: if the text matches the target message, save the embedding
84
85
  // for the target message and return the embeddingId on the message.
@@ -115,12 +116,18 @@ export async function fetchRecentAndSearchMessages(ctx, component, args) {
115
116
  }
116
117
  /**
117
118
  * Filter out tool messages that don't have both a tool call and response.
119
+ * For the approval workflow, tool calls with approval responses (but no tool-results yet)
120
+ * should also be kept.
118
121
  * @param docs The messages to filter.
119
122
  * @returns The filtered messages.
120
123
  */
121
124
  export function filterOutOrphanedToolMessages(docs) {
122
125
  const toolCallIds = new Set();
123
126
  const toolResultIds = new Set();
127
+ // Track approval workflow: toolCallId → approvalId
128
+ const approvalRequestsByToolCallId = new Map();
129
+ // Track which approvalIds have responses
130
+ const approvalResponseIds = new Set();
124
131
  const result = [];
125
132
  for (const doc of docs) {
126
133
  if (doc.message && Array.isArray(doc.message.content)) {
@@ -131,13 +138,28 @@ export function filterOutOrphanedToolMessages(docs) {
131
138
  else if (content.type === "tool-result") {
132
139
  toolResultIds.add(content.toolCallId);
133
140
  }
141
+ else if (content.type === "tool-approval-request") {
142
+ const approvalRequest = content;
143
+ approvalRequestsByToolCallId.set(approvalRequest.toolCallId, approvalRequest.approvalId);
144
+ }
145
+ else if (content.type === "tool-approval-response") {
146
+ const approvalResponse = content;
147
+ approvalResponseIds.add(approvalResponse.approvalId);
148
+ }
134
149
  }
135
150
  }
136
151
  }
152
+ // Helper: check if tool call has a corresponding approval response
153
+ const hasApprovalResponse = (toolCallId) => {
154
+ const approvalId = approvalRequestsByToolCallId.get(toolCallId);
155
+ return approvalId !== undefined && approvalResponseIds.has(approvalId);
156
+ };
137
157
  for (const doc of docs) {
138
158
  if (doc.message?.role === "assistant" &&
139
159
  Array.isArray(doc.message.content)) {
140
- const content = doc.message.content.filter((p) => p.type !== "tool-call" || toolResultIds.has(p.toolCallId));
160
+ const content = doc.message.content.filter((p) => p.type !== "tool-call" ||
161
+ toolResultIds.has(p.toolCallId) ||
162
+ hasApprovalResponse(p.toolCallId));
141
163
  if (content.length) {
142
164
  result.push({
143
165
  ...doc,
@@ -149,7 +171,14 @@ export function filterOutOrphanedToolMessages(docs) {
149
171
  }
150
172
  }
151
173
  else if (doc.message?.role === "tool") {
152
- const content = doc.message.content.filter((c) => toolCallIds.has(c.toolCallId));
174
+ const content = doc.message.content.filter((c) => {
175
+ // tool-result parts have toolCallId
176
+ if (c.type === "tool-result") {
177
+ return toolCallIds.has(c.toolCallId);
178
+ }
179
+ // tool-approval-response parts don't have toolCallId, so include them
180
+ return true;
181
+ });
153
182
  if (content.length) {
154
183
  result.push({
155
184
  ...doc,
@@ -171,7 +200,8 @@ export function filterOutOrphanedToolMessages(docs) {
171
200
  * This will not save the embeddings to the database.
172
201
  */
173
202
  export async function embedMessages(ctx, { userId, threadId, ...options }, messages) {
174
- if (!options.textEmbeddingModel) {
203
+ const textEmbeddingModel = options.embeddingModel ?? options.textEmbeddingModel;
204
+ if (!textEmbeddingModel) {
175
205
  return undefined;
176
206
  }
177
207
  let embeddings;
@@ -201,7 +231,7 @@ export async function embedMessages(ctx, { userId, threadId, ...options }, messa
201
231
  if (textEmbeddings.embeddings.length > 0) {
202
232
  const dimension = textEmbeddings.embeddings[0].length;
203
233
  validateVectorDimension(dimension);
204
- const model = getModelName(options.textEmbeddingModel);
234
+ const model = getModelName(textEmbeddingModel);
205
235
  embeddings = { vectors: embeddingsOrNull, dimension, model };
206
236
  }
207
237
  return embeddings;
@@ -213,12 +243,13 @@ export async function embedMessages(ctx, { userId, threadId, ...options }, messa
213
243
  * passed to the usage handler.
214
244
  * @returns The embeddings for the strings, matching the order of the values.
215
245
  */
216
- export async function embedMany(ctx, { userId, threadId, values, abortSignal, headers, agentName, usageHandler, textEmbeddingModel, callSettings, }) {
217
- const embeddingModel = textEmbeddingModel;
218
- assert(embeddingModel, "a textEmbeddingModel is required to be set for vector search");
246
+ export async function embedMany(ctx, args) {
247
+ const { userId, threadId, values, abortSignal, headers, agentName, usageHandler, textEmbeddingModel, embeddingModel, callSettings, } = args;
248
+ const effectiveEmbeddingModel = embeddingModel ?? textEmbeddingModel;
249
+ assert(effectiveEmbeddingModel, "an embeddingModel (or textEmbeddingModel) is required to be set for vector search");
219
250
  const result = await embedMany_({
220
251
  ...callSettings,
221
- model: embeddingModel,
252
+ model: effectiveEmbeddingModel,
222
253
  values,
223
254
  abortSignal,
224
255
  headers,
@@ -228,13 +259,24 @@ export async function embedMany(ctx, { userId, threadId, values, abortSignal, he
228
259
  userId,
229
260
  threadId,
230
261
  agentName,
231
- model: getModelName(embeddingModel),
232
- provider: getProviderName(embeddingModel),
262
+ model: getModelName(effectiveEmbeddingModel),
263
+ provider: getProviderName(effectiveEmbeddingModel),
233
264
  providerMetadata: undefined,
234
265
  usage: {
235
266
  inputTokens: result.usage.tokens,
236
267
  outputTokens: 0,
237
268
  totalTokens: result.usage.tokens,
269
+ // These detail fields are required by LanguageModelUsage type but we don't
270
+ // have the granular data, so we provide objects with undefined values.
271
+ inputTokenDetails: {
272
+ cacheReadTokens: undefined,
273
+ cacheWriteTokens: undefined,
274
+ noCacheTokens: undefined,
275
+ },
276
+ outputTokenDetails: {
277
+ textTokens: undefined,
278
+ reasoningTokens: undefined,
279
+ },
238
280
  },
239
281
  });
240
282
  }
@@ -248,11 +290,15 @@ export async function embedMany(ctx, { userId, threadId, values, abortSignal, he
248
290
  * @param messages The messages to embed, in the Agent MessageDoc format.
249
291
  */
250
292
  export async function generateAndSaveEmbeddings(ctx, component, args, messages) {
293
+ const effectiveEmbeddingModel = args.embeddingModel ?? args.textEmbeddingModel;
294
+ if (!effectiveEmbeddingModel) {
295
+ throw new Error("an embeddingModel (or textEmbeddingModel) is required to generate and save embeddings");
296
+ }
251
297
  const toEmbed = messages.filter((m) => !m.embeddingId && m.message);
252
298
  if (toEmbed.length === 0) {
253
299
  return;
254
300
  }
255
- const embeddings = await embedMessages(ctx, args, toEmbed.map((m) => m.message));
301
+ const embeddings = await embedMessages(ctx, { ...args, embeddingModel: effectiveEmbeddingModel }, toEmbed.map((m) => m.message));
256
302
  if (embeddings && embeddings.vectors.some((v) => v !== null)) {
257
303
  await ctx.runMutation(component.vector.index.insertBatch, {
258
304
  vectorDimension: embeddings.dimension,
@@ -278,7 +324,8 @@ export async function generateAndSaveEmbeddings(ctx, component, args, messages)
278
324
  * promptMessageId message.
279
325
  */
280
326
  export async function fetchContextWithPrompt(ctx, component, args) {
281
- const { threadId, userId, textEmbeddingModel } = args;
327
+ const { threadId, userId, textEmbeddingModel, embeddingModel } = args;
328
+ const effectiveEmbeddingModel = embeddingModel ?? textEmbeddingModel;
282
329
  const promptArray = getPromptArray(args.prompt);
283
330
  const searchText = promptArray.length
284
331
  ? extractText(promptArray.at(-1))
@@ -295,15 +342,15 @@ export async function fetchContextWithPrompt(ctx, component, args) {
295
342
  searchText,
296
343
  contextOptions: args.contextOptions ?? {},
297
344
  getEmbedding: async (text) => {
298
- assert(textEmbeddingModel, "A textEmbeddingModel is required to be set on the Agent that you're doing vector search with");
345
+ assert(effectiveEmbeddingModel, "An embeddingModel (or textEmbeddingModel) is required to be set on the Agent that you're doing vector search with");
299
346
  return {
300
347
  embedding: (await embedMany(ctx, {
301
348
  ...args,
302
349
  userId,
303
350
  values: [text],
304
- textEmbeddingModel,
351
+ embeddingModel: effectiveEmbeddingModel,
305
352
  })).embeddings[0],
306
- textEmbeddingModel,
353
+ embeddingModel: effectiveEmbeddingModel,
307
354
  };
308
355
  },
309
356
  });
@@ -323,14 +370,14 @@ export async function fetchContextWithPrompt(ctx, component, args) {
323
370
  promptArray.push(promptMessage.message);
324
371
  }
325
372
  }
326
- if (!promptMessage.embeddingId && textEmbeddingModel) {
373
+ if (!promptMessage.embeddingId && effectiveEmbeddingModel) {
327
374
  // Lazily generate embeddings for the prompt message, if it doesn't have
328
375
  // embeddings yet. This can happen if the message was saved in a mutation
329
376
  // where the LLM is not available.
330
377
  await generateAndSaveEmbeddings(ctx, component, {
331
378
  ...args,
332
379
  userId,
333
- textEmbeddingModel,
380
+ embeddingModel: effectiveEmbeddingModel,
334
381
  }, [promptMessage]);
335
382
  }
336
383
  }