@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.
- package/dist/UIMessages.d.ts +3 -2
- package/dist/UIMessages.d.ts.map +1 -1
- package/dist/UIMessages.js +100 -19
- package/dist/UIMessages.js.map +1 -1
- package/dist/client/createTool.d.ts +129 -25
- package/dist/client/createTool.d.ts.map +1 -1
- package/dist/client/createTool.js +65 -8
- package/dist/client/createTool.js.map +1 -1
- package/dist/client/definePlaygroundAPI.d.ts +560 -35
- package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
- package/dist/client/files.d.ts.map +1 -1
- package/dist/client/files.js +4 -2
- package/dist/client/files.js.map +1 -1
- package/dist/client/index.d.ts +462 -37
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +26 -7
- package/dist/client/index.js.map +1 -1
- package/dist/client/messages.d.ts +114 -9
- package/dist/client/messages.d.ts.map +1 -1
- package/dist/client/mockModel.d.ts +17 -17
- package/dist/client/mockModel.d.ts.map +1 -1
- package/dist/client/mockModel.js +8 -6
- package/dist/client/mockModel.js.map +1 -1
- package/dist/client/saveInputMessages.d.ts +1 -1
- package/dist/client/saveInputMessages.d.ts.map +1 -1
- package/dist/client/saveInputMessages.js +1 -1
- package/dist/client/saveInputMessages.js.map +1 -1
- package/dist/client/search.d.ts +132 -14
- package/dist/client/search.d.ts.map +1 -1
- package/dist/client/search.js +66 -19
- package/dist/client/search.js.map +1 -1
- package/dist/client/streamText.d.ts +4 -4
- package/dist/client/streamText.d.ts.map +1 -1
- package/dist/client/streamText.js.map +1 -1
- package/dist/client/streaming.d.ts +1491 -87
- package/dist/client/streaming.d.ts.map +1 -1
- package/dist/client/types.d.ts +26 -6
- package/dist/client/types.d.ts.map +1 -1
- package/dist/component/_generated/component.d.ts +862 -19
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/files.d.ts +12 -6
- package/dist/component/files.d.ts.map +1 -1
- package/dist/component/files.js +10 -2
- package/dist/component/files.js.map +1 -1
- package/dist/component/messages.d.ts +1247 -92
- package/dist/component/messages.d.ts.map +1 -1
- package/dist/component/schema.d.ts +2823 -217
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +3 -1
- package/dist/component/schema.js.map +1 -1
- package/dist/component/streams.js +1 -1
- package/dist/component/streams.js.map +1 -1
- package/dist/component/threads.d.ts +10 -10
- package/dist/component/vector/index.d.ts +1 -1
- package/dist/deltas.d.ts.map +1 -1
- package/dist/deltas.js +40 -5
- package/dist/deltas.js.map +1 -1
- package/dist/mapping.d.ts.map +1 -1
- package/dist/mapping.js +117 -25
- package/dist/mapping.js.map +1 -1
- package/dist/react/useThreadMessages.d.ts.map +1 -1
- package/dist/react/useThreadMessages.js +17 -9
- package/dist/react/useThreadMessages.js.map +1 -1
- package/dist/shared.d.ts +2 -2
- package/dist/shared.d.ts.map +1 -1
- package/dist/shared.js.map +1 -1
- package/dist/validators.d.ts +12196 -624
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js +152 -9
- package/dist/validators.js.map +1 -1
- package/package.json +24 -22
- package/src/UIMessages.combineUIMessages.test.ts +239 -0
- package/src/UIMessages.ts +184 -66
- package/src/client/createTool.ts +291 -67
- package/src/client/files.ts +4 -2
- package/src/client/index.test.ts +1 -0
- package/src/client/index.ts +46 -25
- package/src/client/mockModel.ts +36 -34
- package/src/client/saveInputMessages.ts +2 -2
- package/src/client/search.test.ts +166 -0
- package/src/client/search.ts +121 -38
- package/src/client/streamText.ts +5 -5
- package/src/client/types.ts +31 -18
- package/src/component/_generated/component.ts +2329 -338
- package/src/component/files.ts +11 -2
- package/src/component/messages.test.ts +7 -7
- package/src/component/schema.ts +3 -1
- package/src/component/setup.test.ts +7 -0
- package/src/component/streams.ts +1 -1
- package/src/deltas.test.ts +90 -0
- package/src/deltas.ts +47 -8
- package/src/fromUIMessages.test.ts +32 -27
- package/src/mapping.test.ts +48 -0
- package/src/mapping.ts +234 -142
- package/src/react/useThreadMessages.ts +21 -9
- package/src/shared.ts +2 -0
- package/src/toUIMessages.test.ts +539 -1
- package/src/validators.ts +179 -20
- 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":"AAKA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,IAAI,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,CAAC,MAAM,YAAY,GAAG;;;;;CAK3B,CAAC;AACF,MAAM,aAAa,GAAG,
|
|
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,
|
|
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,
|
|
1
|
+
{"version":3,"file":"saveInputMessages.js","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"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"}
|
package/dist/client/search.d.ts
CHANGED
|
@@ -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
|
-
|
|
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?: "
|
|
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,
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,IAAI,CAAC;AAEZ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAEL,KAAK,eAAe,EACrB,MAAM,+BAA+B,CAAC;AAUvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,EACV,cAAc,EACd,MAAM,EACN,cAAc,EACd,OAAO,EACP,QAAQ,EACR,WAAW,EACX,SAAS,EACV,MAAM,YAAY,CAAC;AASpB,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,
|
|
1
|
+
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/client/search.ts"],"names":[],"mappings":"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"}
|
package/dist/client/search.js
CHANGED
|
@@ -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
|
-
|
|
81
|
-
|
|
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" ||
|
|
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) =>
|
|
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
|
-
|
|
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(
|
|
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,
|
|
217
|
-
const embeddingModel =
|
|
218
|
-
|
|
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:
|
|
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(
|
|
232
|
-
provider: getProviderName(
|
|
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(
|
|
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
|
-
|
|
351
|
+
embeddingModel: effectiveEmbeddingModel,
|
|
305
352
|
})).embeddings[0],
|
|
306
|
-
|
|
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 &&
|
|
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
|
-
|
|
380
|
+
embeddingModel: effectiveEmbeddingModel,
|
|
334
381
|
}, [promptMessage]);
|
|
335
382
|
}
|
|
336
383
|
}
|