@convex-dev/agent 0.2.1 → 0.2.2-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.
|
@@ -8,6 +8,7 @@ export type UIMessage<METADATA = unknown, DATA_PARTS extends UIDataTypes = UIDat
|
|
|
8
8
|
status: "streaming" | MessageStatus;
|
|
9
9
|
agentName?: string;
|
|
10
10
|
text: string;
|
|
11
|
+
_creationTime: number;
|
|
11
12
|
};
|
|
12
13
|
export declare function toUIMessages<METADATA = unknown, DATA_PARTS extends UIDataTypes = UIDataTypes, TOOLS extends UITools = UITools>(messages: (MessageDoc & {
|
|
13
14
|
streaming?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toUIMessages.d.ts","sourceRoot":"","sources":["../../src/react/toUIMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,IAAI,WAAW,EAQxB,WAAW,EACX,OAAO,EACR,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,SAAS,CACnB,QAAQ,GAAG,OAAO,EAClB,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,KAAK,SAAS,OAAO,GAAG,OAAO,IAC7B,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"toUIMessages.d.ts","sourceRoot":"","sources":["../../src/react/toUIMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,SAAS,IAAI,WAAW,EAQxB,WAAW,EACX,OAAO,EACR,MAAM,IAAI,CAAC;AACZ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,SAAS,CACnB,QAAQ,GAAG,OAAO,EAClB,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,KAAK,SAAS,OAAO,GAAG,OAAO,IAC7B,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,GAAG;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,GAAG,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,QAAQ,GAAG,OAAO,EAClB,UAAU,SAAS,WAAW,GAAG,WAAW,EAC5C,KAAK,SAAS,OAAO,GAAG,OAAO,EAE/B,QAAQ,EAAE,CAAC,UAAU,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,EAAE,GACjD,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,CAwN1C"}
|
|
@@ -11,7 +11,7 @@ export function toUIMessages(messages) {
|
|
|
11
11
|
continue;
|
|
12
12
|
const common = {
|
|
13
13
|
id: message._id,
|
|
14
|
-
|
|
14
|
+
_creationTime: message._creationTime,
|
|
15
15
|
order: message.order,
|
|
16
16
|
stepOrder: message.stepOrder,
|
|
17
17
|
status: message.streaming ? "streaming" : message.status,
|
|
@@ -34,22 +34,21 @@ export function toUIMessages(messages) {
|
|
|
34
34
|
}
|
|
35
35
|
else if (coreMessage.role === "user") {
|
|
36
36
|
const parts = [];
|
|
37
|
-
if (text) {
|
|
37
|
+
if (text && !nonStringContent.length) {
|
|
38
38
|
parts.push({ type: "text", text });
|
|
39
39
|
}
|
|
40
40
|
nonStringContent.forEach((contentPart) => {
|
|
41
41
|
switch (contentPart.type) {
|
|
42
|
+
case "text":
|
|
43
|
+
parts.push({ type: "text", text: contentPart.text, ...partCommon });
|
|
44
|
+
break;
|
|
42
45
|
case "file":
|
|
43
46
|
case "image":
|
|
44
47
|
parts.push(toUIFilePart(contentPart));
|
|
45
48
|
break;
|
|
46
49
|
}
|
|
47
50
|
});
|
|
48
|
-
uiMessages.push({
|
|
49
|
-
...common,
|
|
50
|
-
role: "user",
|
|
51
|
-
parts,
|
|
52
|
-
});
|
|
51
|
+
uiMessages.push({ ...common, role: "user", parts });
|
|
53
52
|
}
|
|
54
53
|
else {
|
|
55
54
|
if (coreMessage.role === "tool" && !assistantMessage) {
|
|
@@ -87,27 +86,6 @@ export function toUIMessages(messages) {
|
|
|
87
86
|
...partCommon,
|
|
88
87
|
});
|
|
89
88
|
}
|
|
90
|
-
for (const source of message.sources ?? []) {
|
|
91
|
-
if (source.sourceType === "url") {
|
|
92
|
-
assistantMessage.parts.push({
|
|
93
|
-
type: "source-url",
|
|
94
|
-
url: source.url,
|
|
95
|
-
sourceId: source.id,
|
|
96
|
-
providerMetadata: message.providerMetadata,
|
|
97
|
-
title: source.title,
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
assistantMessage.parts.push({
|
|
102
|
-
type: "source-document",
|
|
103
|
-
mediaType: source.mediaType,
|
|
104
|
-
sourceId: source.id,
|
|
105
|
-
title: source.title,
|
|
106
|
-
filename: source.filename,
|
|
107
|
-
providerMetadata: message.providerMetadata,
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
89
|
for (const contentPart of nonStringContent) {
|
|
112
90
|
switch (contentPart.type) {
|
|
113
91
|
case "text":
|
|
@@ -198,6 +176,27 @@ export function toUIMessages(messages) {
|
|
|
198
176
|
}
|
|
199
177
|
}
|
|
200
178
|
}
|
|
179
|
+
for (const source of message.sources ?? []) {
|
|
180
|
+
if (source.sourceType === "url") {
|
|
181
|
+
assistantMessage.parts.push({
|
|
182
|
+
type: "source-url",
|
|
183
|
+
url: source.url,
|
|
184
|
+
sourceId: source.id,
|
|
185
|
+
providerMetadata: message.providerMetadata,
|
|
186
|
+
title: source.title,
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
assistantMessage.parts.push({
|
|
191
|
+
type: "source-document",
|
|
192
|
+
mediaType: source.mediaType,
|
|
193
|
+
sourceId: source.id,
|
|
194
|
+
title: source.title,
|
|
195
|
+
filename: source.filename,
|
|
196
|
+
providerMetadata: message.providerMetadata,
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
}
|
|
201
200
|
}
|
|
202
201
|
if (!message.tool &&
|
|
203
202
|
assistantMessage &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toUIMessages.js","sourceRoot":"","sources":["../../src/react/toUIMessages.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"toUIMessages.js","sourceRoot":"","sources":["../../src/react/toUIMessages.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"email": "support@convex.dev",
|
|
8
8
|
"url": "https://github.com/get-convex/agent/issues"
|
|
9
9
|
},
|
|
10
|
-
"version": "0.2.
|
|
10
|
+
"version": "0.2.2-alpha.0",
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"convex",
|
|
@@ -77,15 +77,15 @@
|
|
|
77
77
|
}
|
|
78
78
|
},
|
|
79
79
|
"devDependencies": {
|
|
80
|
-
"@arethetypeswrong/cli": "0.
|
|
80
|
+
"@arethetypeswrong/cli": "0.18.2",
|
|
81
81
|
"@edge-runtime/vm": "5.0.0",
|
|
82
82
|
"@eslint/js": "9.33.0",
|
|
83
|
-
"@types/node": "20.19.
|
|
83
|
+
"@types/node": "20.19.11",
|
|
84
84
|
"@types/react": "19.1.10",
|
|
85
|
-
"ai": "5.0.
|
|
85
|
+
"ai": "5.0.16",
|
|
86
86
|
"chokidar-cli": "3.0.0",
|
|
87
87
|
"convex": "1.25.4",
|
|
88
|
-
"convex-helpers": "0.1.
|
|
88
|
+
"convex-helpers": "0.1.104",
|
|
89
89
|
"convex-test": "0.0.38",
|
|
90
90
|
"cpy-cli": "5.0.0",
|
|
91
91
|
"eslint": "9.33.0",
|
|
@@ -94,12 +94,12 @@
|
|
|
94
94
|
"eslint-plugin-react-hooks": "5.2.0",
|
|
95
95
|
"globals": "16.3.0",
|
|
96
96
|
"npm-run-all2": "8.0.4",
|
|
97
|
-
"pkg-pr-new": "0.0.
|
|
97
|
+
"pkg-pr-new": "0.0.55",
|
|
98
98
|
"prettier": "3.6.2",
|
|
99
99
|
"react": "19.1.1",
|
|
100
100
|
"readline": "1.3.0",
|
|
101
101
|
"typescript": "5.9.2",
|
|
102
|
-
"typescript-eslint": "8.
|
|
102
|
+
"typescript-eslint": "8.40.0",
|
|
103
103
|
"vite": "6.3.5",
|
|
104
104
|
"vitest": "3.2.4",
|
|
105
105
|
"zod": "3.25.76"
|
|
@@ -25,6 +25,7 @@ export type UIMessage<
|
|
|
25
25
|
status: "streaming" | MessageStatus;
|
|
26
26
|
agentName?: string;
|
|
27
27
|
text: string;
|
|
28
|
+
_creationTime: number;
|
|
28
29
|
};
|
|
29
30
|
|
|
30
31
|
export function toUIMessages<
|
|
@@ -45,13 +46,13 @@ export function toUIMessages<
|
|
|
45
46
|
if (!coreMessage) continue;
|
|
46
47
|
const common = {
|
|
47
48
|
id: message._id,
|
|
48
|
-
|
|
49
|
+
_creationTime: message._creationTime,
|
|
49
50
|
order: message.order,
|
|
50
51
|
stepOrder: message.stepOrder,
|
|
51
52
|
status: message.streaming ? ("streaming" as const) : message.status,
|
|
52
53
|
key: `${message.threadId}-${message.order}-${message.stepOrder}`,
|
|
53
54
|
text,
|
|
54
|
-
}
|
|
55
|
+
} satisfies Partial<UIMessage<METADATA, DATA_PARTS, TOOLS>>;
|
|
55
56
|
const partCommon = {
|
|
56
57
|
state: message.streaming ? ("streaming" as const) : ("done" as const),
|
|
57
58
|
...(message.providerMetadata
|
|
@@ -67,22 +68,21 @@ export function toUIMessages<
|
|
|
67
68
|
});
|
|
68
69
|
} else if (coreMessage.role === "user") {
|
|
69
70
|
const parts: UIMessage<METADATA, DATA_PARTS, TOOLS>["parts"] = [];
|
|
70
|
-
if (text) {
|
|
71
|
+
if (text && !nonStringContent.length) {
|
|
71
72
|
parts.push({ type: "text", text });
|
|
72
73
|
}
|
|
73
74
|
nonStringContent.forEach((contentPart) => {
|
|
74
75
|
switch (contentPart.type) {
|
|
76
|
+
case "text":
|
|
77
|
+
parts.push({ type: "text", text: contentPart.text, ...partCommon });
|
|
78
|
+
break;
|
|
75
79
|
case "file":
|
|
76
80
|
case "image":
|
|
77
81
|
parts.push(toUIFilePart(contentPart));
|
|
78
82
|
break;
|
|
79
83
|
}
|
|
80
84
|
});
|
|
81
|
-
uiMessages.push({
|
|
82
|
-
...common,
|
|
83
|
-
role: "user",
|
|
84
|
-
parts,
|
|
85
|
-
});
|
|
85
|
+
uiMessages.push({ ...common, role: "user", parts });
|
|
86
86
|
} else {
|
|
87
87
|
if (coreMessage.role === "tool" && !assistantMessage) {
|
|
88
88
|
console.warn(
|
|
@@ -123,26 +123,6 @@ export function toUIMessages<
|
|
|
123
123
|
...partCommon,
|
|
124
124
|
} satisfies TextUIPart);
|
|
125
125
|
}
|
|
126
|
-
for (const source of message.sources ?? []) {
|
|
127
|
-
if (source.sourceType === "url") {
|
|
128
|
-
assistantMessage.parts.push({
|
|
129
|
-
type: "source-url",
|
|
130
|
-
url: source.url!,
|
|
131
|
-
sourceId: source.id,
|
|
132
|
-
providerMetadata: message.providerMetadata,
|
|
133
|
-
title: source.title,
|
|
134
|
-
} satisfies SourceUrlUIPart);
|
|
135
|
-
} else {
|
|
136
|
-
assistantMessage.parts.push({
|
|
137
|
-
type: "source-document",
|
|
138
|
-
mediaType: source.mediaType,
|
|
139
|
-
sourceId: source.id,
|
|
140
|
-
title: source.title,
|
|
141
|
-
filename: source.filename,
|
|
142
|
-
providerMetadata: message.providerMetadata,
|
|
143
|
-
} satisfies SourceDocumentUIPart);
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
126
|
for (const contentPart of nonStringContent) {
|
|
147
127
|
switch (contentPart.type) {
|
|
148
128
|
case "text":
|
|
@@ -239,6 +219,26 @@ export function toUIMessages<
|
|
|
239
219
|
}
|
|
240
220
|
}
|
|
241
221
|
}
|
|
222
|
+
for (const source of message.sources ?? []) {
|
|
223
|
+
if (source.sourceType === "url") {
|
|
224
|
+
assistantMessage.parts.push({
|
|
225
|
+
type: "source-url",
|
|
226
|
+
url: source.url!,
|
|
227
|
+
sourceId: source.id,
|
|
228
|
+
providerMetadata: message.providerMetadata,
|
|
229
|
+
title: source.title,
|
|
230
|
+
} satisfies SourceUrlUIPart);
|
|
231
|
+
} else {
|
|
232
|
+
assistantMessage.parts.push({
|
|
233
|
+
type: "source-document",
|
|
234
|
+
mediaType: source.mediaType,
|
|
235
|
+
sourceId: source.id,
|
|
236
|
+
title: source.title,
|
|
237
|
+
filename: source.filename,
|
|
238
|
+
providerMetadata: message.providerMetadata,
|
|
239
|
+
} satisfies SourceDocumentUIPart);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
242
|
}
|
|
243
243
|
if (
|
|
244
244
|
!message.tool &&
|