@convex-dev/agent 0.5.0-alpha.1 → 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 (233) hide show
  1. package/README.md +32 -27
  2. package/dist/UIMessages.d.ts +46 -0
  3. package/dist/UIMessages.d.ts.map +1 -0
  4. package/dist/UIMessages.js +546 -0
  5. package/dist/UIMessages.js.map +1 -0
  6. package/dist/client/createTool.d.ts +129 -27
  7. package/dist/client/createTool.d.ts.map +1 -1
  8. package/dist/client/createTool.js +66 -12
  9. package/dist/client/createTool.js.map +1 -1
  10. package/dist/client/defaultComponent.d.ts +11 -0
  11. package/dist/client/defaultComponent.d.ts.map +1 -0
  12. package/dist/client/defaultComponent.js +7 -0
  13. package/dist/client/defaultComponent.js.map +1 -0
  14. package/dist/client/definePlaygroundAPI.d.ts +1323 -192
  15. package/dist/client/definePlaygroundAPI.d.ts.map +1 -1
  16. package/dist/client/definePlaygroundAPI.js +52 -28
  17. package/dist/client/definePlaygroundAPI.js.map +1 -1
  18. package/dist/client/files.d.ts +20 -7
  19. package/dist/client/files.d.ts.map +1 -1
  20. package/dist/client/files.js +68 -11
  21. package/dist/client/files.js.map +1 -1
  22. package/dist/client/index.d.ts +1056 -965
  23. package/dist/client/index.d.ts.map +1 -1
  24. package/dist/client/index.js +242 -748
  25. package/dist/client/index.js.map +1 -1
  26. package/dist/client/messages.d.ts +461 -0
  27. package/dist/client/messages.d.ts.map +1 -0
  28. package/dist/client/messages.js +106 -0
  29. package/dist/client/messages.js.map +1 -0
  30. package/dist/client/mockModel.d.ts +42 -0
  31. package/dist/client/mockModel.d.ts.map +1 -0
  32. package/dist/client/mockModel.js +175 -0
  33. package/dist/client/mockModel.js.map +1 -0
  34. package/dist/client/saveInputMessages.d.ts +20 -0
  35. package/dist/client/saveInputMessages.d.ts.map +1 -0
  36. package/dist/client/saveInputMessages.js +58 -0
  37. package/dist/client/saveInputMessages.js.map +1 -0
  38. package/dist/client/search.d.ts +346 -35
  39. package/dist/client/search.d.ts.map +1 -1
  40. package/dist/client/search.js +350 -39
  41. package/dist/client/search.js.map +1 -1
  42. package/dist/client/start.d.ts +84 -0
  43. package/dist/client/start.d.ts.map +1 -0
  44. package/dist/client/start.js +171 -0
  45. package/dist/client/start.js.map +1 -0
  46. package/dist/client/streamText.d.ts +46 -0
  47. package/dist/client/streamText.d.ts.map +1 -0
  48. package/dist/client/streamText.js +93 -0
  49. package/dist/client/streamText.js.map +1 -0
  50. package/dist/client/streaming.d.ts +3705 -32
  51. package/dist/client/streaming.d.ts.map +1 -1
  52. package/dist/client/streaming.js +141 -59
  53. package/dist/client/streaming.js.map +1 -1
  54. package/dist/client/threads.d.ts +46 -0
  55. package/dist/client/threads.d.ts.map +1 -0
  56. package/dist/client/threads.js +49 -0
  57. package/dist/client/threads.js.map +1 -0
  58. package/dist/client/types.d.ts +265 -128
  59. package/dist/client/types.d.ts.map +1 -1
  60. package/dist/client/utils.d.ts +4 -0
  61. package/dist/client/utils.d.ts.map +1 -0
  62. package/dist/client/utils.js +21 -0
  63. package/dist/client/utils.js.map +1 -0
  64. package/dist/component/_generated/api.d.ts +24 -2178
  65. package/dist/component/_generated/api.d.ts.map +1 -1
  66. package/dist/component/_generated/api.js +10 -1
  67. package/dist/component/_generated/api.js.map +1 -1
  68. package/dist/component/_generated/component.d.ts +3119 -0
  69. package/dist/component/_generated/component.d.ts.map +1 -0
  70. package/dist/component/_generated/component.js +11 -0
  71. package/dist/component/_generated/component.js.map +1 -0
  72. package/dist/component/_generated/dataModel.d.ts +4 -18
  73. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  74. package/dist/component/_generated/dataModel.js +11 -0
  75. package/dist/component/_generated/dataModel.js.map +1 -0
  76. package/dist/component/_generated/server.d.ts +10 -38
  77. package/dist/component/_generated/server.d.ts.map +1 -1
  78. package/dist/component/_generated/server.js +9 -5
  79. package/dist/component/_generated/server.js.map +1 -1
  80. package/dist/component/files.d.ts +16 -10
  81. package/dist/component/files.d.ts.map +1 -1
  82. package/dist/component/files.js +10 -2
  83. package/dist/component/files.js.map +1 -1
  84. package/dist/component/messages.d.ts +2553 -342
  85. package/dist/component/messages.d.ts.map +1 -1
  86. package/dist/component/messages.js +387 -154
  87. package/dist/component/messages.js.map +1 -1
  88. package/dist/component/schema.d.ts +5697 -3584
  89. package/dist/component/schema.d.ts.map +1 -1
  90. package/dist/component/schema.js +18 -41
  91. package/dist/component/schema.js.map +1 -1
  92. package/dist/component/streams.d.ts +35 -335
  93. package/dist/component/streams.d.ts.map +1 -1
  94. package/dist/component/streams.js +114 -73
  95. package/dist/component/streams.js.map +1 -1
  96. package/dist/component/threads.d.ts +16 -16
  97. package/dist/component/users.d.ts +4 -4
  98. package/dist/component/vector/index.d.ts +1 -1
  99. package/dist/component/vector/index.d.ts.map +1 -1
  100. package/dist/component/vector/index.js +1 -3
  101. package/dist/component/vector/index.js.map +1 -1
  102. package/dist/deltas.d.ts +43 -0
  103. package/dist/deltas.d.ts.map +1 -0
  104. package/dist/deltas.js +447 -0
  105. package/dist/deltas.js.map +1 -0
  106. package/dist/mapping.d.ts +20 -20
  107. package/dist/mapping.d.ts.map +1 -1
  108. package/dist/mapping.js +313 -96
  109. package/dist/mapping.js.map +1 -1
  110. package/dist/react/SmoothText.d.ts +5 -0
  111. package/dist/react/SmoothText.d.ts.map +1 -0
  112. package/dist/react/SmoothText.js +6 -0
  113. package/dist/react/SmoothText.js.map +1 -0
  114. package/dist/react/index.d.ts +5 -77
  115. package/dist/react/index.d.ts.map +1 -1
  116. package/dist/react/index.js +6 -160
  117. package/dist/react/index.js.map +1 -1
  118. package/dist/react/optimisticallySendMessage.d.ts +36 -3
  119. package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
  120. package/dist/react/optimisticallySendMessage.js +35 -9
  121. package/dist/react/optimisticallySendMessage.js.map +1 -1
  122. package/dist/react/types.d.ts +4 -18
  123. package/dist/react/types.d.ts.map +1 -1
  124. package/dist/react/useDeltaStreams.d.ts +10 -0
  125. package/dist/react/useDeltaStreams.d.ts.map +1 -0
  126. package/dist/react/useDeltaStreams.js +101 -0
  127. package/dist/react/useDeltaStreams.js.map +1 -0
  128. package/dist/react/useSmoothText.d.ts +13 -12
  129. package/dist/react/useSmoothText.d.ts.map +1 -1
  130. package/dist/react/useSmoothText.js +32 -15
  131. package/dist/react/useSmoothText.js.map +1 -1
  132. package/dist/react/useStreamingUIMessages.d.ts +22 -0
  133. package/dist/react/useStreamingUIMessages.d.ts.map +1 -0
  134. package/dist/react/useStreamingUIMessages.js +92 -0
  135. package/dist/react/useStreamingUIMessages.js.map +1 -0
  136. package/dist/react/useThreadMessages.d.ts +104 -0
  137. package/dist/react/useThreadMessages.d.ts.map +1 -0
  138. package/dist/react/useThreadMessages.js +148 -0
  139. package/dist/react/useThreadMessages.js.map +1 -0
  140. package/dist/react/useUIMessages.d.ts +96 -0
  141. package/dist/react/useUIMessages.d.ts.map +1 -0
  142. package/dist/react/useUIMessages.js +108 -0
  143. package/dist/react/useUIMessages.js.map +1 -0
  144. package/dist/shared.d.ts +20 -4
  145. package/dist/shared.d.ts.map +1 -1
  146. package/dist/shared.js +45 -8
  147. package/dist/shared.js.map +1 -1
  148. package/dist/validators.d.ts +22981 -5666
  149. package/dist/validators.d.ts.map +1 -1
  150. package/dist/validators.js +245 -137
  151. package/dist/validators.js.map +1 -1
  152. package/package.json +98 -50
  153. package/src/UIMessages.combineUIMessages.test.ts +239 -0
  154. package/src/UIMessages.test.ts +273 -0
  155. package/src/UIMessages.ts +739 -0
  156. package/src/client/createTool.ts +293 -76
  157. package/src/client/defaultComponent.ts +17 -0
  158. package/src/client/definePlaygroundAPI.ts +67 -31
  159. package/src/client/files.ts +100 -20
  160. package/src/client/index.test.ts +40 -85
  161. package/src/client/index.ts +520 -1290
  162. package/src/client/messages.ts +237 -0
  163. package/src/client/mockModel.ts +245 -0
  164. package/src/client/saveInputMessages.test.ts +583 -0
  165. package/src/client/saveInputMessages.ts +101 -0
  166. package/src/client/search.test.ts +1207 -0
  167. package/src/client/search.ts +577 -70
  168. package/src/client/start.ts +310 -0
  169. package/src/client/streamText.ts +163 -0
  170. package/src/client/streaming.test.ts +186 -0
  171. package/src/client/streaming.ts +219 -97
  172. package/src/client/threads.ts +83 -0
  173. package/src/client/types.ts +368 -219
  174. package/src/client/utils.ts +27 -0
  175. package/src/component/_generated/api.ts +64 -0
  176. package/src/component/_generated/component.ts +4913 -0
  177. package/src/component/_generated/{server.d.ts → server.ts} +33 -21
  178. package/src/component/files.ts +11 -2
  179. package/src/component/messages.test.ts +195 -51
  180. package/src/component/messages.ts +490 -201
  181. package/src/component/schema.ts +20 -46
  182. package/src/component/setup.test.ts +7 -0
  183. package/src/component/streams.ts +184 -83
  184. package/src/component/users.test.ts +0 -1
  185. package/src/component/vector/index.ts +1 -3
  186. package/src/deltas.test.ts +626 -0
  187. package/src/deltas.ts +570 -0
  188. package/src/fromUIMessages.test.ts +497 -0
  189. package/src/mapping.test.ts +103 -6
  190. package/src/mapping.ts +422 -161
  191. package/src/react/SmoothText.tsx +9 -0
  192. package/src/react/index.ts +10 -230
  193. package/src/react/optimisticallySendMessage.ts +55 -12
  194. package/src/react/types.ts +6 -39
  195. package/src/react/useDeltaStreams.ts +154 -0
  196. package/src/react/useSmoothText.ts +56 -36
  197. package/src/react/useStreamingUIMessages.ts +143 -0
  198. package/src/react/useThreadMessages.ts +262 -0
  199. package/src/react/useUIMessages.test.ts +255 -0
  200. package/src/react/useUIMessages.ts +195 -0
  201. package/src/shared.ts +88 -12
  202. package/src/test.ts +18 -0
  203. package/src/toUIMessages.test.ts +1269 -0
  204. package/src/validators.test.ts +18 -19
  205. package/src/validators.ts +325 -185
  206. package/dist/client/_generated/_ignore.d.ts +0 -1
  207. package/dist/client/_generated/_ignore.d.ts.map +0 -1
  208. package/dist/client/_generated/_ignore.js +0 -3
  209. package/dist/client/_generated/_ignore.js.map +0 -1
  210. package/dist/client/listMessages.d.ts +0 -22
  211. package/dist/client/listMessages.d.ts.map +0 -1
  212. package/dist/client/listMessages.js +0 -25
  213. package/dist/client/listMessages.js.map +0 -1
  214. package/dist/package.json +0 -3
  215. package/dist/react/deltas.d.ts +0 -26
  216. package/dist/react/deltas.d.ts.map +0 -1
  217. package/dist/react/deltas.js +0 -384
  218. package/dist/react/deltas.js.map +0 -1
  219. package/dist/react/toUIMessages.d.ts +0 -15
  220. package/dist/react/toUIMessages.d.ts.map +0 -1
  221. package/dist/react/toUIMessages.js +0 -211
  222. package/dist/react/toUIMessages.js.map +0 -1
  223. package/src/client/listMessages.ts +0 -38
  224. package/src/component/_generated/api.d.ts +0 -2202
  225. package/src/component/_generated/api.js +0 -23
  226. package/src/component/_generated/server.js +0 -90
  227. package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
  228. package/src/react/deltas.test.ts +0 -315
  229. package/src/react/deltas.ts +0 -478
  230. package/src/react/toUIMessages.test.ts +0 -420
  231. package/src/react/toUIMessages.ts +0 -253
  232. package/src/vitest.config.ts +0 -7
  233. /package/src/component/_generated/{dataModel.d.ts → dataModel.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"_ignore.js","sourceRoot":"","sources":["../../../src/client/_generated/_ignore.ts"],"names":[],"mappings":";AAAA,kEAAkE"}
@@ -1,22 +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
- * List messages from a thread.
7
- * @param ctx A ctx object from a query, mutation, or action.
8
- * @param component The agent component, usually `components.agent`.
9
- * @param args.threadId The thread to list messages from.
10
- * @param args.paginationOpts Pagination options (e.g. via usePaginatedQuery).
11
- * @param args.excludeToolMessages Whether to exclude tool messages.
12
- * False by default.
13
- * @param args.statuses What statuses to include. All by default.
14
- * @returns The MessageDoc's in a format compatible with usePaginatedQuery.
15
- */
16
- export declare function listMessages(ctx: RunQueryCtx, component: AgentComponent, args: {
17
- threadId: string;
18
- paginationOpts: PaginationOptions;
19
- excludeToolMessages?: boolean;
20
- statuses?: MessageStatus[];
21
- }): Promise<PaginationResult<MessageDoc>>;
22
- //# sourceMappingURL=listMessages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listMessages.d.ts","sourceRoot":"","sources":["../../src/client/listMessages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,cAAc,EACzB,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,iBAAiB,CAAC;IAClC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B,GACA,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAYvC"}
@@ -1,25 +0,0 @@
1
- /**
2
- * List messages from a thread.
3
- * @param ctx A ctx object from a query, mutation, or action.
4
- * @param component The agent component, usually `components.agent`.
5
- * @param args.threadId The thread to list messages from.
6
- * @param args.paginationOpts Pagination options (e.g. via usePaginatedQuery).
7
- * @param args.excludeToolMessages Whether to exclude tool messages.
8
- * False by default.
9
- * @param args.statuses What statuses to include. All by default.
10
- * @returns The MessageDoc's in a format compatible with usePaginatedQuery.
11
- */
12
- export async function listMessages(ctx, component, args) {
13
- if (args.paginationOpts.numItems === 0) {
14
- return {
15
- page: [],
16
- isDone: true,
17
- continueCursor: args.paginationOpts.cursor ?? "",
18
- };
19
- }
20
- return ctx.runQuery(component.messages.listMessagesByThreadId, {
21
- order: "desc",
22
- ...args,
23
- });
24
- }
25
- //# sourceMappingURL=listMessages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"listMessages.js","sourceRoot":"","sources":["../../src/client/listMessages.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,GAAgB,EAChB,SAAyB,EACzB,IAKC;IAED,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,IAAI;YACZ,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE;SACjD,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,sBAAsB,EAAE;QAC7D,KAAK,EAAE,MAAM;QACb,GAAG,IAAI;KACR,CAAC,CAAC;AACL,CAAC"}
package/dist/package.json DELETED
@@ -1,3 +0,0 @@
1
- {
2
- "type": "module"
3
- }
@@ -1,26 +0,0 @@
1
- import type { MessageDoc } from "../client/index.js";
2
- import type { StreamDelta, StreamMessage, TextStreamPart } from "../validators.js";
3
- export declare function mergeDeltas(threadId: string, streamMessages: StreamMessage[], existingStreams: Array<{
4
- streamId: string;
5
- cursor: number;
6
- messages: MessageDoc[];
7
- }>, allDeltas: StreamDelta[]): [
8
- MessageDoc[],
9
- Array<{
10
- streamId: string;
11
- cursor: number;
12
- messages: MessageDoc[];
13
- }>,
14
- boolean
15
- ];
16
- export declare function applyDeltasToStreamMessage(threadId: string, streamMessage: StreamMessage, existing: {
17
- streamId: string;
18
- cursor: number;
19
- messages: MessageDoc[];
20
- } | undefined, deltas: StreamDelta[]): [{
21
- streamId: string;
22
- cursor: number;
23
- messages: MessageDoc[];
24
- }, boolean];
25
- export declare function createStreamingMessage(threadId: string, message: StreamMessage, part: TextStreamPart, index: number): MessageDoc;
26
- //# sourceMappingURL=deltas.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deltas.d.ts","sourceRoot":"","sources":["../../src/react/deltas.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAGV,WAAW,EACX,aAAa,EACb,cAAc,EAMf,MAAM,kBAAkB,CAAC;AAG1B,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,aAAa,EAAE,EAC/B,eAAe,EAAE,KAAK,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,EAAE,CAAC;CACxB,CAAC,EACF,SAAS,EAAE,WAAW,EAAE,GACvB;IACD,UAAU,EAAE;IACZ,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC;IACnE,OAAO;CACR,CAmCA;AAGD,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,GAC5D,SAAS,EACb,MAAM,EAAE,WAAW,EAAE,GACpB,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,UAAU,EAAE,CAAA;CAAE,EAAE,OAAO,CAAC,CA0MzE;AAoED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,MAAM,GACZ,UAAU,CAiIZ"}
@@ -1,384 +0,0 @@
1
- export function mergeDeltas(threadId, streamMessages, existingStreams, allDeltas) {
2
- const newStreams = [];
3
- // Seed the existing chunks
4
- let changed = false;
5
- for (const streamMessage of streamMessages) {
6
- const deltas = allDeltas.filter((d) => d.streamId === streamMessage.streamId);
7
- const existing = existingStreams.find((s) => s.streamId === streamMessage.streamId);
8
- const [newStream, messageChanged] = applyDeltasToStreamMessage(threadId, streamMessage, existing, deltas);
9
- newStreams.push(newStream);
10
- if (messageChanged)
11
- changed = true;
12
- }
13
- for (const { streamId } of existingStreams) {
14
- if (!newStreams.find((s) => s.streamId === streamId)) {
15
- // There's a stream that's no longer active.
16
- changed = true;
17
- }
18
- }
19
- const messages = newStreams
20
- .map((s) => s.messages)
21
- .flat()
22
- .sort((a, b) => a.order - b.order || a.stepOrder - b.stepOrder);
23
- return [messages, newStreams, changed];
24
- }
25
- // exported for testing
26
- export function applyDeltasToStreamMessage(threadId, streamMessage, existing, deltas) {
27
- let changed = false;
28
- let cursor = existing?.cursor ?? 0;
29
- let parts = [];
30
- for (const delta of deltas.sort((a, b) => a.start - b.start)) {
31
- if (delta.parts.length === 0) {
32
- console.warn(`Got delta with no parts: ${JSON.stringify(delta)}`);
33
- continue;
34
- }
35
- if (cursor !== delta.start) {
36
- if (cursor >= delta.end) {
37
- console.debug(`Got duplicate delta for stream ${delta.streamId} at ${delta.start}`);
38
- continue;
39
- }
40
- else if (cursor < delta.start) {
41
- console.warn(`Got delta for stream ${delta.streamId} that has a gap ${cursor} -> ${delta.start}`);
42
- continue;
43
- }
44
- else {
45
- throw new Error(`Got unexpected delta for stream ${delta.streamId}: delta: ${delta.start} -> ${delta.end} existing cursor: ${cursor}`);
46
- }
47
- }
48
- changed = true;
49
- cursor = delta.end;
50
- parts.push(...delta.parts);
51
- }
52
- if (existing && existing.messages.length > 0 && !changed) {
53
- const lastMessage = existing.messages.at(-1);
54
- if (statusFromStreamStatus(streamMessage.status) !== lastMessage.status) {
55
- changed = true;
56
- }
57
- }
58
- if (!changed) {
59
- return [
60
- existing ?? { streamId: streamMessage.streamId, cursor, messages: [] },
61
- false,
62
- ];
63
- }
64
- const existingMessages = existing?.messages ?? [];
65
- let currentMessage;
66
- if (existingMessages.length > 0) {
67
- // replace the last message with a new one
68
- const lastMessage = existingMessages.at(-1);
69
- currentMessage = {
70
- ...lastMessage,
71
- message: cloneMessageAndContent(lastMessage.message),
72
- status: statusFromStreamStatus(streamMessage.status),
73
- };
74
- }
75
- else {
76
- const newMessage = createStreamingMessage(threadId, streamMessage, parts[0], existingMessages.length);
77
- parts = parts.slice(1);
78
- currentMessage = newMessage;
79
- }
80
- const newStream = {
81
- streamId: streamMessage.streamId,
82
- cursor,
83
- messages: [...existingMessages.slice(0, -1), currentMessage],
84
- };
85
- let lastContent = getLastContent(currentMessage);
86
- for (const part of parts) {
87
- let contentToAdd;
88
- const isToolRole = part.type === "source" || part.type === "tool-result";
89
- if (isToolRole !== (currentMessage.message.role === "tool")) {
90
- currentMessage = createStreamingMessage(threadId, streamMessage, part, newStream.messages.length);
91
- lastContent = getLastContent(currentMessage);
92
- newStream.messages.push(currentMessage);
93
- continue;
94
- }
95
- switch (part.type) {
96
- case "text-delta": {
97
- const text = "text" in part ? part.text : part.textDelta;
98
- currentMessage.text = (currentMessage.text ?? "") + text;
99
- if (lastContent?.type === "text") {
100
- lastContent.text = (lastContent.text ?? "") + text;
101
- }
102
- else {
103
- contentToAdd = { type: "text", text };
104
- }
105
- break;
106
- }
107
- case "tool-input-start":
108
- case "tool-call-streaming-start": {
109
- const toolCallId = "toolCallId" in part ? part.toolCallId : part.id;
110
- currentMessage.tool = true;
111
- contentToAdd = {
112
- type: "tool-call",
113
- toolCallId,
114
- toolName: part.toolName,
115
- args: "",
116
- providerExecuted: "providerExecuted" in part ? part.providerExecuted : undefined,
117
- providerOptions: "providerMetadata" in part ? part.providerMetadata : undefined,
118
- };
119
- break;
120
- }
121
- case "tool-call-delta":
122
- case "tool-input-delta":
123
- {
124
- currentMessage.tool = true;
125
- if (lastContent?.type !== "tool-call") {
126
- throw new Error("Expected last content to be a tool call");
127
- }
128
- if (typeof lastContent.args !== "string") {
129
- throw new Error("Expected args to be a string");
130
- }
131
- const delta = "argsTextDelta" in part ? part.argsTextDelta : part.delta;
132
- lastContent.args = (lastContent.args ?? "") + delta;
133
- }
134
- break;
135
- case "tool-call": {
136
- currentMessage.tool = true;
137
- contentToAdd = toolCallContent(part);
138
- break;
139
- }
140
- case "tool-result": {
141
- contentToAdd = toolResultContent(part);
142
- break;
143
- }
144
- case "reasoning":
145
- currentMessage.reasoning =
146
- (currentMessage.reasoning ?? "") + part.textDelta;
147
- if (lastContent?.type === "reasoning") {
148
- lastContent.text = (lastContent.text ?? "") + part.textDelta;
149
- }
150
- else {
151
- contentToAdd = {
152
- type: "reasoning",
153
- text: part.textDelta,
154
- };
155
- }
156
- break;
157
- case "reasoning-delta": {
158
- currentMessage.reasoning = (currentMessage.reasoning ?? "") + part.text;
159
- if (lastContent?.type === "reasoning") {
160
- lastContent.text = (lastContent.text ?? "") + part.text;
161
- }
162
- else {
163
- contentToAdd = {
164
- type: "reasoning",
165
- text: part.text,
166
- providerOptions: "providerMetadata" in part ? part.providerMetadata : undefined,
167
- state: "streaming",
168
- };
169
- }
170
- break;
171
- }
172
- case "source":
173
- if (!currentMessage.sources) {
174
- currentMessage.sources = [];
175
- }
176
- if ("source" in part) {
177
- currentMessage.sources.push({
178
- type: "source",
179
- ...part.source,
180
- });
181
- }
182
- else {
183
- currentMessage.sources.push(part);
184
- }
185
- break;
186
- case "raw":
187
- contentToAdd = part.rawValue;
188
- break;
189
- default:
190
- console.warn(`Received unexpected part: ${JSON.stringify(part)}`);
191
- break;
192
- }
193
- if (contentToAdd) {
194
- if (!currentMessage.message.content) {
195
- currentMessage.message.content = [];
196
- }
197
- if (!Array.isArray(currentMessage.message?.content)) {
198
- throw new Error("Expected message content to be an array");
199
- }
200
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
201
- currentMessage.message.content.push(contentToAdd);
202
- lastContent = contentToAdd;
203
- }
204
- }
205
- return [newStream, true];
206
- }
207
- function toolCallContent(part) {
208
- const args = "args" in part ? part.args : part.input;
209
- return {
210
- type: "tool-call",
211
- toolCallId: part.toolCallId,
212
- toolName: part.toolName,
213
- args,
214
- providerExecuted: part.providerExecuted,
215
- };
216
- }
217
- function toolResultContent(part) {
218
- const result = "output" in part ? part.output : "result" in part ? part.result : undefined;
219
- const args = "input" in part ? part.input : "args" in part ? part.args : undefined;
220
- return {
221
- type: "tool-result",
222
- toolCallId: part.toolCallId,
223
- toolName: part.toolName,
224
- result,
225
- args,
226
- providerExecuted: part.providerExecuted,
227
- };
228
- }
229
- function cloneMessageAndContent(message) {
230
- return (message &&
231
- {
232
- ...message,
233
- content: Array.isArray(message.content)
234
- ? [...message.content]
235
- : message.content,
236
- });
237
- }
238
- function getLastContent(message) {
239
- if (Array.isArray(message.message?.content)) {
240
- return message.message.content.at(-1);
241
- }
242
- return undefined;
243
- }
244
- function statusFromStreamStatus(status) {
245
- switch (status) {
246
- case "streaming":
247
- return "pending";
248
- case "finished":
249
- return "success";
250
- case "aborted":
251
- return "failed";
252
- default:
253
- return "pending";
254
- }
255
- }
256
- // TODO: share more code with applyDeltasToStreamMessage
257
- export function createStreamingMessage(threadId, message, part, index) {
258
- const { streamId, ...rest } = message;
259
- const metadata = {
260
- ...rest,
261
- _id: `${streamId}-${index}`,
262
- _creationTime: Date.now(),
263
- status: statusFromStreamStatus(message.status),
264
- threadId,
265
- tool: false,
266
- };
267
- switch (part.type) {
268
- case "text-delta": {
269
- const text = "text" in part ? part.text : part.textDelta;
270
- return {
271
- ...metadata,
272
- message: {
273
- role: "assistant",
274
- content: [{ type: "text", text }],
275
- },
276
- text,
277
- };
278
- }
279
- case "tool-input-start":
280
- case "tool-call-streaming-start": {
281
- const toolCallId = "toolCallId" in part ? part.toolCallId : part.id;
282
- return {
283
- ...metadata,
284
- tool: true,
285
- message: {
286
- role: "assistant",
287
- content: [
288
- {
289
- type: "tool-call",
290
- toolName: part.toolName,
291
- toolCallId,
292
- args: "", // when it's a string, it's a partial call
293
- providerExecuted: "providerExecuted" in part ? part.providerExecuted : undefined,
294
- providerOptions: "providerMetadata" in part ? part.providerMetadata : undefined,
295
- },
296
- ],
297
- },
298
- };
299
- }
300
- case "tool-input-delta":
301
- case "tool-call-delta": {
302
- console.warn("Received tool call delta part first??");
303
- const delta = "argsTextDelta" in part ? part.argsTextDelta : part.delta;
304
- const toolCallId = "toolCallId" in part ? part.toolCallId : part.id;
305
- const toolName = "toolName" in part ? part.toolName : part.type.slice("tool-".length);
306
- return {
307
- ...metadata,
308
- tool: true,
309
- message: {
310
- role: "assistant",
311
- content: [
312
- {
313
- type: "tool-call",
314
- toolCallId,
315
- toolName,
316
- args: delta,
317
- },
318
- ],
319
- },
320
- };
321
- }
322
- case "tool-call": {
323
- return {
324
- ...metadata,
325
- tool: true,
326
- message: {
327
- role: "assistant",
328
- content: [toolCallContent(part)],
329
- },
330
- };
331
- }
332
- case "tool-result":
333
- return {
334
- ...metadata,
335
- tool: true,
336
- message: {
337
- role: "tool",
338
- content: [toolResultContent(part)],
339
- },
340
- };
341
- case "reasoning":
342
- return {
343
- ...metadata,
344
- message: {
345
- role: "assistant",
346
- content: [{ type: "reasoning", text: part.textDelta }],
347
- },
348
- reasoning: part.textDelta,
349
- };
350
- case "reasoning-delta": {
351
- return {
352
- ...metadata,
353
- message: {
354
- role: "assistant",
355
- content: [{ type: "reasoning", text: part.text }],
356
- },
357
- reasoning: part.text,
358
- };
359
- }
360
- case "source":
361
- console.warn("Received source part first??");
362
- return {
363
- ...metadata,
364
- tool: true,
365
- message: { role: "tool", content: [] },
366
- sources: [
367
- "source" in part
368
- ? {
369
- ...part.source,
370
- type: "source",
371
- }
372
- : part,
373
- ],
374
- };
375
- // case "raw":
376
- // return {
377
- // ...metadata,
378
- // message: { role: "assistant", content: [part.rawValue] },
379
- // };
380
- default:
381
- throw new Error(`Unexpected part type: ${JSON.stringify(part)}`);
382
- }
383
- }
384
- //# sourceMappingURL=deltas.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deltas.js","sourceRoot":"","sources":["../../src/react/deltas.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { UIMessage as AIUIMessage, UIDataTypes, UITools } from "ai";
2
- import type { MessageDoc } from "../client/index.js";
3
- import type { MessageStatus } from "../validators.js";
4
- export type UIMessage<METADATA = unknown, DATA_PARTS extends UIDataTypes = UIDataTypes, TOOLS extends UITools = UITools> = AIUIMessage<METADATA, DATA_PARTS, TOOLS> & {
5
- key: string;
6
- order: number;
7
- stepOrder: number;
8
- status: "streaming" | MessageStatus;
9
- agentName?: string;
10
- text: string;
11
- };
12
- export declare function toUIMessages<METADATA = unknown, DATA_PARTS extends UIDataTypes = UIDataTypes, TOOLS extends UITools = UITools>(messages: (MessageDoc & {
13
- streaming?: boolean;
14
- })[]): UIMessage<METADATA, DATA_PARTS, TOOLS>[];
15
- //# sourceMappingURL=toUIMessages.d.ts.map
@@ -1 +0,0 @@
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"}