@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;CACd,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,CAyN1C"}
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
- createdAt: new Date(message._creationTime),
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":"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"}
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.1",
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.17.4",
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.10",
83
+ "@types/node": "20.19.11",
84
84
  "@types/react": "19.1.10",
85
- "ai": "5.0.10",
85
+ "ai": "5.0.16",
86
86
  "chokidar-cli": "3.0.0",
87
87
  "convex": "1.25.4",
88
- "convex-helpers": "0.1.103",
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.54",
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.39.1",
102
+ "typescript-eslint": "8.40.0",
103
103
  "vite": "6.3.5",
104
104
  "vitest": "3.2.4",
105
105
  "zod": "3.25.76"
@@ -8,7 +8,7 @@ function baseMessageDoc(overrides: Partial<MessageDoc> = {}): MessageDoc {
8
8
  return {
9
9
  _id: "msg1",
10
10
  _creationTime: Date.now(),
11
- order: 1,
11
+ order: 0,
12
12
  stepOrder: 0,
13
13
  status: "success",
14
14
  threadId: "thread1",
@@ -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
- createdAt: new Date(message._creationTime),
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 &&