@convex-dev/agent 0.5.0-alpha.1 → 0.6.0-alpha.1

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 (235) hide show
  1. package/MIGRATION.md +153 -0
  2. package/README.md +32 -27
  3. package/dist/UIMessages.d.ts +46 -0
  4. package/dist/UIMessages.d.ts.map +1 -0
  5. package/dist/UIMessages.js +546 -0
  6. package/dist/UIMessages.js.map +1 -0
  7. package/dist/client/createTool.d.ts +126 -27
  8. package/dist/client/createTool.d.ts.map +1 -1
  9. package/dist/client/createTool.js +67 -12
  10. package/dist/client/createTool.js.map +1 -1
  11. package/dist/client/defaultComponent.d.ts +11 -0
  12. package/dist/client/defaultComponent.d.ts.map +1 -0
  13. package/dist/client/defaultComponent.js +7 -0
  14. package/dist/client/defaultComponent.js.map +1 -0
  15. package/dist/client/definePlaygroundAPI.d.ts +1335 -204
  16. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  17. package/dist/client/definePlaygroundAPI.js +52 -28
  18. package/dist/client/definePlaygroundAPI.js.map +1 -1
  19. package/dist/client/files.d.ts +20 -7
  20. package/dist/client/files.d.ts.map +1 -1
  21. package/dist/client/files.js +68 -11
  22. package/dist/client/files.js.map +1 -1
  23. package/dist/client/index.d.ts +1116 -978
  24. package/dist/client/index.d.ts.map +1 -1
  25. package/dist/client/index.js +332 -747
  26. package/dist/client/index.js.map +1 -1
  27. package/dist/client/messages.d.ts +461 -0
  28. package/dist/client/messages.d.ts.map +1 -0
  29. package/dist/client/messages.js +106 -0
  30. package/dist/client/messages.js.map +1 -0
  31. package/dist/client/mockModel.d.ts +42 -0
  32. package/dist/client/mockModel.d.ts.map +1 -0
  33. package/dist/client/mockModel.js +182 -0
  34. package/dist/client/mockModel.js.map +1 -0
  35. package/dist/client/saveInputMessages.d.ts +20 -0
  36. package/dist/client/saveInputMessages.d.ts.map +1 -0
  37. package/dist/client/saveInputMessages.js +58 -0
  38. package/dist/client/saveInputMessages.js.map +1 -0
  39. package/dist/client/search.d.ts +350 -39
  40. package/dist/client/search.d.ts.map +1 -1
  41. package/dist/client/search.js +350 -39
  42. package/dist/client/search.js.map +1 -1
  43. package/dist/client/start.d.ts +84 -0
  44. package/dist/client/start.d.ts.map +1 -0
  45. package/dist/client/start.js +185 -0
  46. package/dist/client/start.js.map +1 -0
  47. package/dist/client/streamText.d.ts +46 -0
  48. package/dist/client/streamText.d.ts.map +1 -0
  49. package/dist/client/streamText.js +117 -0
  50. package/dist/client/streamText.js.map +1 -0
  51. package/dist/client/streaming.d.ts +3716 -32
  52. package/dist/client/streaming.d.ts.map +1 -1
  53. package/dist/client/streaming.js +161 -59
  54. package/dist/client/streaming.js.map +1 -1
  55. package/dist/client/threads.d.ts +46 -0
  56. package/dist/client/threads.d.ts.map +1 -0
  57. package/dist/client/threads.js +49 -0
  58. package/dist/client/threads.js.map +1 -0
  59. package/dist/client/types.d.ts +266 -128
  60. package/dist/client/types.d.ts.map +1 -1
  61. package/dist/client/utils.d.ts +4 -0
  62. package/dist/client/utils.d.ts.map +1 -0
  63. package/dist/client/utils.js +21 -0
  64. package/dist/client/utils.js.map +1 -0
  65. package/dist/component/_generated/api.d.ts +24 -2178
  66. package/dist/component/_generated/api.d.ts.map +1 -1
  67. package/dist/component/_generated/api.js +10 -1
  68. package/dist/component/_generated/api.js.map +1 -1
  69. package/dist/component/_generated/component.d.ts +3120 -0
  70. package/dist/component/_generated/component.d.ts.map +1 -0
  71. package/dist/component/_generated/component.js +11 -0
  72. package/dist/component/_generated/component.js.map +1 -0
  73. package/dist/component/_generated/dataModel.d.ts +4 -18
  74. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  75. package/dist/component/_generated/dataModel.js +11 -0
  76. package/dist/component/_generated/dataModel.js.map +1 -0
  77. package/dist/component/_generated/server.d.ts +10 -38
  78. package/dist/component/_generated/server.d.ts.map +1 -1
  79. package/dist/component/_generated/server.js +9 -5
  80. package/dist/component/_generated/server.js.map +1 -1
  81. package/dist/component/files.d.ts +16 -10
  82. package/dist/component/files.d.ts.map +1 -1
  83. package/dist/component/files.js +10 -2
  84. package/dist/component/files.js.map +1 -1
  85. package/dist/component/messages.d.ts +2578 -366
  86. package/dist/component/messages.d.ts.map +1 -1
  87. package/dist/component/messages.js +397 -154
  88. package/dist/component/messages.js.map +1 -1
  89. package/dist/component/schema.d.ts +5697 -3584
  90. package/dist/component/schema.d.ts.map +1 -1
  91. package/dist/component/schema.js +18 -41
  92. package/dist/component/schema.js.map +1 -1
  93. package/dist/component/streams.d.ts +39 -339
  94. package/dist/component/streams.d.ts.map +1 -1
  95. package/dist/component/streams.js +114 -73
  96. package/dist/component/streams.js.map +1 -1
  97. package/dist/component/threads.d.ts +13 -13
  98. package/dist/component/users.d.ts +7 -7
  99. package/dist/component/vector/index.d.ts +1 -1
  100. package/dist/component/vector/index.d.ts.map +1 -1
  101. package/dist/component/vector/index.js +1 -3
  102. package/dist/component/vector/index.js.map +1 -1
  103. package/dist/deltas.d.ts +43 -0
  104. package/dist/deltas.d.ts.map +1 -0
  105. package/dist/deltas.js +446 -0
  106. package/dist/deltas.js.map +1 -0
  107. package/dist/mapping.d.ts +38 -20
  108. package/dist/mapping.d.ts.map +1 -1
  109. package/dist/mapping.js +365 -97
  110. package/dist/mapping.js.map +1 -1
  111. package/dist/react/SmoothText.d.ts +5 -0
  112. package/dist/react/SmoothText.d.ts.map +1 -0
  113. package/dist/react/SmoothText.js +6 -0
  114. package/dist/react/SmoothText.js.map +1 -0
  115. package/dist/react/index.d.ts +5 -77
  116. package/dist/react/index.d.ts.map +1 -1
  117. package/dist/react/index.js +6 -160
  118. package/dist/react/index.js.map +1 -1
  119. package/dist/react/optimisticallySendMessage.d.ts +36 -3
  120. package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
  121. package/dist/react/optimisticallySendMessage.js +35 -9
  122. package/dist/react/optimisticallySendMessage.js.map +1 -1
  123. package/dist/react/types.d.ts +4 -18
  124. package/dist/react/types.d.ts.map +1 -1
  125. package/dist/react/useDeltaStreams.d.ts +10 -0
  126. package/dist/react/useDeltaStreams.d.ts.map +1 -0
  127. package/dist/react/useDeltaStreams.js +106 -0
  128. package/dist/react/useDeltaStreams.js.map +1 -0
  129. package/dist/react/useSmoothText.d.ts +13 -12
  130. package/dist/react/useSmoothText.d.ts.map +1 -1
  131. package/dist/react/useSmoothText.js +32 -15
  132. package/dist/react/useSmoothText.js.map +1 -1
  133. package/dist/react/useStreamingUIMessages.d.ts +22 -0
  134. package/dist/react/useStreamingUIMessages.d.ts.map +1 -0
  135. package/dist/react/useStreamingUIMessages.js +92 -0
  136. package/dist/react/useStreamingUIMessages.js.map +1 -0
  137. package/dist/react/useThreadMessages.d.ts +104 -0
  138. package/dist/react/useThreadMessages.d.ts.map +1 -0
  139. package/dist/react/useThreadMessages.js +148 -0
  140. package/dist/react/useThreadMessages.js.map +1 -0
  141. package/dist/react/useUIMessages.d.ts +96 -0
  142. package/dist/react/useUIMessages.d.ts.map +1 -0
  143. package/dist/react/useUIMessages.js +108 -0
  144. package/dist/react/useUIMessages.js.map +1 -0
  145. package/dist/shared.d.ts +20 -4
  146. package/dist/shared.d.ts.map +1 -1
  147. package/dist/shared.js +45 -8
  148. package/dist/shared.js.map +1 -1
  149. package/dist/validators.d.ts +22981 -5666
  150. package/dist/validators.d.ts.map +1 -1
  151. package/dist/validators.js +245 -137
  152. package/dist/validators.js.map +1 -1
  153. package/package.json +101 -51
  154. package/src/UIMessages.combineUIMessages.test.ts +239 -0
  155. package/src/UIMessages.test.ts +273 -0
  156. package/src/UIMessages.ts +739 -0
  157. package/src/client/approval.test.ts +350 -0
  158. package/src/client/createTool.ts +291 -76
  159. package/src/client/defaultComponent.ts +17 -0
  160. package/src/client/definePlaygroundAPI.ts +67 -31
  161. package/src/client/files.ts +100 -20
  162. package/src/client/index.test.ts +40 -85
  163. package/src/client/index.ts +638 -1289
  164. package/src/client/messages.ts +237 -0
  165. package/src/client/mockModel.ts +252 -0
  166. package/src/client/saveInputMessages.test.ts +583 -0
  167. package/src/client/saveInputMessages.ts +101 -0
  168. package/src/client/search.test.ts +1207 -0
  169. package/src/client/search.ts +581 -70
  170. package/src/client/start.ts +327 -0
  171. package/src/client/streamText.ts +187 -0
  172. package/src/client/streaming.test.ts +186 -0
  173. package/src/client/streaming.ts +241 -97
  174. package/src/client/threads.ts +83 -0
  175. package/src/client/types.ts +370 -219
  176. package/src/client/utils.ts +27 -0
  177. package/src/component/_generated/api.ts +64 -0
  178. package/src/component/_generated/component.ts +4902 -0
  179. package/src/component/_generated/{server.d.ts → server.ts} +33 -21
  180. package/src/component/files.ts +11 -2
  181. package/src/component/messages.test.ts +195 -51
  182. package/src/component/messages.ts +500 -201
  183. package/src/component/schema.ts +20 -46
  184. package/src/component/setup.test.ts +7 -0
  185. package/src/component/streams.ts +184 -83
  186. package/src/component/users.test.ts +0 -1
  187. package/src/component/vector/index.ts +1 -3
  188. package/src/deltas.test.ts +626 -0
  189. package/src/deltas.ts +569 -0
  190. package/src/fromUIMessages.test.ts +497 -0
  191. package/src/mapping.test.ts +180 -6
  192. package/src/mapping.ts +479 -162
  193. package/src/react/SmoothText.tsx +9 -0
  194. package/src/react/index.ts +10 -230
  195. package/src/react/optimisticallySendMessage.ts +55 -12
  196. package/src/react/types.ts +6 -39
  197. package/src/react/useDeltaStreams.ts +160 -0
  198. package/src/react/useSmoothText.ts +56 -36
  199. package/src/react/useStreamingUIMessages.ts +143 -0
  200. package/src/react/useThreadMessages.ts +262 -0
  201. package/src/react/useUIMessages.test.ts +255 -0
  202. package/src/react/useUIMessages.ts +195 -0
  203. package/src/shared.ts +88 -12
  204. package/src/test.ts +18 -0
  205. package/src/toUIMessages.test.ts +1269 -0
  206. package/src/validators.test.ts +18 -19
  207. package/src/validators.ts +325 -185
  208. package/dist/client/_generated/_ignore.d.ts +0 -1
  209. package/dist/client/_generated/_ignore.d.ts.map +0 -1
  210. package/dist/client/_generated/_ignore.js +0 -3
  211. package/dist/client/_generated/_ignore.js.map +0 -1
  212. package/dist/client/listMessages.d.ts +0 -22
  213. package/dist/client/listMessages.d.ts.map +0 -1
  214. package/dist/client/listMessages.js +0 -25
  215. package/dist/client/listMessages.js.map +0 -1
  216. package/dist/package.json +0 -3
  217. package/dist/react/deltas.d.ts +0 -26
  218. package/dist/react/deltas.d.ts.map +0 -1
  219. package/dist/react/deltas.js +0 -384
  220. package/dist/react/deltas.js.map +0 -1
  221. package/dist/react/toUIMessages.d.ts +0 -15
  222. package/dist/react/toUIMessages.d.ts.map +0 -1
  223. package/dist/react/toUIMessages.js +0 -211
  224. package/dist/react/toUIMessages.js.map +0 -1
  225. package/src/client/listMessages.ts +0 -38
  226. package/src/component/_generated/api.d.ts +0 -2202
  227. package/src/component/_generated/api.js +0 -23
  228. package/src/component/_generated/server.js +0 -90
  229. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  230. package/src/react/deltas.test.ts +0 -315
  231. package/src/react/deltas.ts +0 -478
  232. package/src/react/toUIMessages.test.ts +0 -420
  233. package/src/react/toUIMessages.ts +0 -253
  234. package/src/vitest.config.ts +0 -7
  235. /package/src/component/_generated/{dataModel.d.ts → dataModel.ts} +0 -0
@@ -1,211 +0,0 @@
1
- import { deserializeMessage, toUIFilePart } from "../mapping.js";
2
- export function toUIMessages(messages) {
3
- const uiMessages = [];
4
- let assistantMessage;
5
- for (const message of messages) {
6
- const coreMessage = message.message && deserializeMessage(message.message);
7
- const text = message.text ?? "";
8
- const content = coreMessage?.content;
9
- const nonStringContent = content && typeof content !== "string" ? content : [];
10
- if (!coreMessage)
11
- continue;
12
- const common = {
13
- id: message._id,
14
- createdAt: new Date(message._creationTime),
15
- order: message.order,
16
- stepOrder: message.stepOrder,
17
- status: message.streaming ? "streaming" : message.status,
18
- key: `${message.threadId}-${message.order}-${message.stepOrder}`,
19
- text,
20
- };
21
- const partCommon = {
22
- state: message.streaming ? "streaming" : "done",
23
- ...(message.providerMetadata
24
- ? { providerMetadata: message.providerMetadata }
25
- : {}),
26
- };
27
- if (coreMessage.role === "system") {
28
- uiMessages.push({
29
- ...common,
30
- role: "system",
31
- agentName: message.agentName,
32
- parts: [{ type: "text", text, ...partCommon }],
33
- });
34
- }
35
- else if (coreMessage.role === "user") {
36
- const parts = [];
37
- if (text) {
38
- parts.push({ type: "text", text });
39
- }
40
- nonStringContent.forEach((contentPart) => {
41
- switch (contentPart.type) {
42
- case "file":
43
- case "image":
44
- parts.push(toUIFilePart(contentPart));
45
- break;
46
- }
47
- });
48
- uiMessages.push({
49
- ...common,
50
- role: "user",
51
- parts,
52
- });
53
- }
54
- else {
55
- if (coreMessage.role === "tool" && !assistantMessage) {
56
- console.warn("Tool message without preceding assistant message.. skipping", message);
57
- continue;
58
- }
59
- if (!assistantMessage) {
60
- assistantMessage = {
61
- ...common,
62
- role: "assistant",
63
- agentName: message.agentName,
64
- parts: [],
65
- };
66
- uiMessages.push(assistantMessage);
67
- }
68
- else {
69
- assistantMessage.status = message.streaming
70
- ? "streaming"
71
- : message.status;
72
- }
73
- // update it to the last message's id
74
- assistantMessage.id = message._id;
75
- if (message.reasoning &&
76
- !nonStringContent.some((c) => c.type === "reasoning")) {
77
- assistantMessage.parts.push({
78
- type: "reasoning",
79
- text: message.reasoning,
80
- ...partCommon,
81
- });
82
- }
83
- if (message.text && !nonStringContent.length) {
84
- assistantMessage.parts.push({
85
- type: "text",
86
- text: message.text,
87
- ...partCommon,
88
- });
89
- }
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
- for (const contentPart of nonStringContent) {
112
- switch (contentPart.type) {
113
- case "text":
114
- assistantMessage.parts.push({
115
- ...partCommon,
116
- ...contentPart,
117
- });
118
- break;
119
- case "reasoning":
120
- assistantMessage.parts.push({
121
- ...partCommon,
122
- ...contentPart,
123
- });
124
- break;
125
- case "file":
126
- case "image":
127
- assistantMessage.parts.push(toUIFilePart(contentPart));
128
- break;
129
- case "tool-call": {
130
- assistantMessage.parts.push({
131
- type: "step-start",
132
- });
133
- const toolPart = {
134
- type: `tool-${contentPart.toolName}`,
135
- toolCallId: contentPart.toolCallId,
136
- input: contentPart.input,
137
- providerExecuted: contentPart.providerExecuted,
138
- ...(message.streaming
139
- ? { state: "input-streaming" }
140
- : {
141
- state: "input-available",
142
- callProviderMetadata: message.providerMetadata,
143
- }),
144
- };
145
- assistantMessage.parts.push(toolPart);
146
- break;
147
- }
148
- case "tool-result": {
149
- const call = assistantMessage.parts.find((part) => part.type === `tool-${contentPart.toolName}` &&
150
- "toolCallId" in part &&
151
- part.toolCallId === contentPart.toolCallId);
152
- if (call) {
153
- if (message.error) {
154
- call.state = "output-error";
155
- call.errorText = message.error;
156
- call.output = contentPart.output;
157
- }
158
- else {
159
- call.state = "output-available";
160
- call.output =
161
- contentPart.output?.type === "json"
162
- ? contentPart.output.value
163
- : contentPart.output;
164
- // Technically we could pull this from the doc.message
165
- // but the ModelMessage doesn't have it
166
- // call.providerExecuted = contentPart.providerExecuted;
167
- }
168
- }
169
- else {
170
- console.warn("Tool result without preceding tool call.. adding anyways", contentPart);
171
- if (message.error) {
172
- assistantMessage.parts.push({
173
- type: `tool-${contentPart.toolName}`,
174
- toolCallId: contentPart.toolCallId,
175
- state: "output-error",
176
- input: undefined,
177
- errorText: message.error,
178
- // Technically we could pull this from the doc.message
179
- // but the ModelMessage doesn't have it
180
- // providerExecuted: contentPart.providerExecuted,
181
- callProviderMetadata: message.providerMetadata,
182
- });
183
- }
184
- else {
185
- assistantMessage.parts.push({
186
- type: `tool-${contentPart.toolName}`,
187
- toolCallId: contentPart.toolCallId,
188
- state: "output-available",
189
- input: undefined,
190
- output: contentPart.output?.type === "json"
191
- ? contentPart.output.value
192
- : contentPart.output,
193
- callProviderMetadata: message.providerMetadata,
194
- });
195
- }
196
- }
197
- break;
198
- }
199
- }
200
- }
201
- }
202
- if (!message.tool &&
203
- assistantMessage &&
204
- assistantMessage.parts.length > 0) {
205
- // Reset it so the next set of tool calls will create a new assistant message
206
- assistantMessage = undefined;
207
- }
208
- }
209
- return uiMessages;
210
- }
211
- //# sourceMappingURL=toUIMessages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toUIMessages.js","sourceRoot":"","sources":["../../src/react/toUIMessages.ts"],"names":[],"mappings":"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"}
@@ -1,38 +0,0 @@
1
- import type { PaginationOptions, PaginationResult } from "convex/server";
2
- import type { AgentComponent, RunQueryCtx } from "./types.js";
3
- import type { MessageStatus } from "../validators.js";
4
- import type { MessageDoc } from "../component/schema.js";
5
-
6
- /**
7
- * List messages from a thread.
8
- * @param ctx A ctx object from a query, mutation, or action.
9
- * @param component The agent component, usually `components.agent`.
10
- * @param args.threadId The thread to list messages from.
11
- * @param args.paginationOpts Pagination options (e.g. via usePaginatedQuery).
12
- * @param args.excludeToolMessages Whether to exclude tool messages.
13
- * False by default.
14
- * @param args.statuses What statuses to include. All by default.
15
- * @returns The MessageDoc's in a format compatible with usePaginatedQuery.
16
- */
17
- export async function listMessages(
18
- ctx: RunQueryCtx,
19
- component: AgentComponent,
20
- args: {
21
- threadId: string;
22
- paginationOpts: PaginationOptions;
23
- excludeToolMessages?: boolean;
24
- statuses?: MessageStatus[];
25
- },
26
- ): Promise<PaginationResult<MessageDoc>> {
27
- if (args.paginationOpts.numItems === 0) {
28
- return {
29
- page: [],
30
- isDone: true,
31
- continueCursor: args.paginationOpts.cursor ?? "",
32
- };
33
- }
34
- return ctx.runQuery(component.messages.listMessagesByThreadId, {
35
- order: "desc",
36
- ...args,
37
- });
38
- }