@convex-dev/agent 0.6.0-alpha.1 → 0.6.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 (181) hide show
  1. package/package.json +1 -1
  2. package/src/UIMessages.ts +135 -0
  3. package/src/client/index.ts +56 -14
  4. package/src/client/search.test.ts +4 -5
  5. package/src/client/search.ts +45 -4
  6. package/src/client/streaming.integration.test.ts +1206 -0
  7. package/src/client/streaming.ts +9 -2
  8. package/src/mapping.test.ts +136 -71
  9. package/src/mapping.ts +81 -28
  10. package/dist/UIMessages.d.ts +0 -46
  11. package/dist/UIMessages.d.ts.map +0 -1
  12. package/dist/UIMessages.js +0 -546
  13. package/dist/UIMessages.js.map +0 -1
  14. package/dist/client/createTool.d.ts +0 -167
  15. package/dist/client/createTool.d.ts.map +0 -1
  16. package/dist/client/createTool.js +0 -116
  17. package/dist/client/createTool.js.map +0 -1
  18. package/dist/client/defaultComponent.d.ts +0 -11
  19. package/dist/client/defaultComponent.d.ts.map +0 -1
  20. package/dist/client/defaultComponent.js +0 -7
  21. package/dist/client/defaultComponent.js.map +0 -1
  22. package/dist/client/definePlaygroundAPI.d.ts +0 -1725
  23. package/dist/client/definePlaygroundAPI.d.ts.map +0 -1
  24. package/dist/client/definePlaygroundAPI.js +0 -271
  25. package/dist/client/definePlaygroundAPI.js.map +0 -1
  26. package/dist/client/files.d.ts +0 -69
  27. package/dist/client/files.d.ts.map +0 -1
  28. package/dist/client/files.js +0 -181
  29. package/dist/client/files.js.map +0 -1
  30. package/dist/client/index.d.ts +0 -2091
  31. package/dist/client/index.d.ts.map +0 -1
  32. package/dist/client/index.js +0 -895
  33. package/dist/client/index.js.map +0 -1
  34. package/dist/client/messages.d.ts +0 -461
  35. package/dist/client/messages.d.ts.map +0 -1
  36. package/dist/client/messages.js +0 -106
  37. package/dist/client/messages.js.map +0 -1
  38. package/dist/client/mockModel.d.ts +0 -42
  39. package/dist/client/mockModel.d.ts.map +0 -1
  40. package/dist/client/mockModel.js +0 -182
  41. package/dist/client/mockModel.js.map +0 -1
  42. package/dist/client/saveInputMessages.d.ts +0 -20
  43. package/dist/client/saveInputMessages.d.ts.map +0 -1
  44. package/dist/client/saveInputMessages.js +0 -58
  45. package/dist/client/saveInputMessages.js.map +0 -1
  46. package/dist/client/search.d.ts +0 -493
  47. package/dist/client/search.d.ts.map +0 -1
  48. package/dist/client/search.js +0 -425
  49. package/dist/client/search.js.map +0 -1
  50. package/dist/client/start.d.ts +0 -84
  51. package/dist/client/start.d.ts.map +0 -1
  52. package/dist/client/start.js +0 -185
  53. package/dist/client/start.js.map +0 -1
  54. package/dist/client/streamText.d.ts +0 -46
  55. package/dist/client/streamText.d.ts.map +0 -1
  56. package/dist/client/streamText.js +0 -117
  57. package/dist/client/streamText.js.map +0 -1
  58. package/dist/client/streaming.d.ts +0 -3778
  59. package/dist/client/streaming.d.ts.map +0 -1
  60. package/dist/client/streaming.js +0 -314
  61. package/dist/client/streaming.js.map +0 -1
  62. package/dist/client/threads.d.ts +0 -46
  63. package/dist/client/threads.d.ts.map +0 -1
  64. package/dist/client/threads.js +0 -49
  65. package/dist/client/threads.js.map +0 -1
  66. package/dist/client/types.d.ts +0 -461
  67. package/dist/client/types.d.ts.map +0 -1
  68. package/dist/client/types.js +0 -2
  69. package/dist/client/types.js.map +0 -1
  70. package/dist/client/utils.d.ts +0 -4
  71. package/dist/client/utils.d.ts.map +0 -1
  72. package/dist/client/utils.js +0 -21
  73. package/dist/client/utils.js.map +0 -1
  74. package/dist/component/_generated/api.d.ts +0 -48
  75. package/dist/component/_generated/api.d.ts.map +0 -1
  76. package/dist/component/_generated/api.js +0 -31
  77. package/dist/component/_generated/api.js.map +0 -1
  78. package/dist/component/_generated/component.d.ts +0 -3120
  79. package/dist/component/_generated/component.d.ts.map +0 -1
  80. package/dist/component/_generated/component.js +0 -11
  81. package/dist/component/_generated/component.js.map +0 -1
  82. package/dist/component/_generated/dataModel.d.ts +0 -46
  83. package/dist/component/_generated/dataModel.d.ts.map +0 -1
  84. package/dist/component/_generated/dataModel.js +0 -11
  85. package/dist/component/_generated/dataModel.js.map +0 -1
  86. package/dist/component/_generated/server.d.ts +0 -121
  87. package/dist/component/_generated/server.d.ts.map +0 -1
  88. package/dist/component/_generated/server.js +0 -78
  89. package/dist/component/_generated/server.js.map +0 -1
  90. package/dist/component/apiKeys.d.ts +0 -11
  91. package/dist/component/apiKeys.d.ts.map +0 -1
  92. package/dist/component/apiKeys.js +0 -69
  93. package/dist/component/apiKeys.js.map +0 -1
  94. package/dist/component/convex.config.d.ts +0 -3
  95. package/dist/component/convex.config.d.ts.map +0 -1
  96. package/dist/component/convex.config.js +0 -3
  97. package/dist/component/convex.config.js.map +0 -1
  98. package/dist/component/files.d.ts +0 -97
  99. package/dist/component/files.d.ts.map +0 -1
  100. package/dist/component/files.js +0 -190
  101. package/dist/component/files.js.map +0 -1
  102. package/dist/component/messages.d.ts +0 -3851
  103. package/dist/component/messages.d.ts.map +0 -1
  104. package/dist/component/messages.js +0 -757
  105. package/dist/component/messages.js.map +0 -1
  106. package/dist/component/schema.d.ts +0 -8026
  107. package/dist/component/schema.d.ts.map +0 -1
  108. package/dist/component/schema.js +0 -147
  109. package/dist/component/schema.js.map +0 -1
  110. package/dist/component/streams.d.ts +0 -128
  111. package/dist/component/streams.d.ts.map +0 -1
  112. package/dist/component/streams.js +0 -413
  113. package/dist/component/streams.js.map +0 -1
  114. package/dist/component/threads.d.ts +0 -115
  115. package/dist/component/threads.d.ts.map +0 -1
  116. package/dist/component/threads.js +0 -208
  117. package/dist/component/threads.js.map +0 -1
  118. package/dist/component/users.d.ts +0 -52
  119. package/dist/component/users.d.ts.map +0 -1
  120. package/dist/component/users.js +0 -229
  121. package/dist/component/users.js.map +0 -1
  122. package/dist/component/vector/index.d.ts +0 -61
  123. package/dist/component/vector/index.d.ts.map +0 -1
  124. package/dist/component/vector/index.js +0 -146
  125. package/dist/component/vector/index.js.map +0 -1
  126. package/dist/component/vector/tables.d.ts +0 -58
  127. package/dist/component/vector/tables.d.ts.map +0 -1
  128. package/dist/component/vector/tables.js +0 -56
  129. package/dist/component/vector/tables.js.map +0 -1
  130. package/dist/deltas.d.ts +0 -43
  131. package/dist/deltas.d.ts.map +0 -1
  132. package/dist/deltas.js +0 -446
  133. package/dist/deltas.js.map +0 -1
  134. package/dist/mapping.d.ts +0 -72
  135. package/dist/mapping.d.ts.map +0 -1
  136. package/dist/mapping.js +0 -677
  137. package/dist/mapping.js.map +0 -1
  138. package/dist/react/SmoothText.d.ts +0 -5
  139. package/dist/react/SmoothText.d.ts.map +0 -1
  140. package/dist/react/SmoothText.js +0 -6
  141. package/dist/react/SmoothText.js.map +0 -1
  142. package/dist/react/index.d.ts +0 -25
  143. package/dist/react/index.d.ts.map +0 -1
  144. package/dist/react/index.js +0 -70
  145. package/dist/react/index.js.map +0 -1
  146. package/dist/react/optimisticallySendMessage.d.ts +0 -42
  147. package/dist/react/optimisticallySendMessage.d.ts.map +0 -1
  148. package/dist/react/optimisticallySendMessage.js +0 -74
  149. package/dist/react/optimisticallySendMessage.js.map +0 -1
  150. package/dist/react/types.d.ts +0 -12
  151. package/dist/react/types.d.ts.map +0 -1
  152. package/dist/react/types.js +0 -2
  153. package/dist/react/types.js.map +0 -1
  154. package/dist/react/useDeltaStreams.d.ts +0 -10
  155. package/dist/react/useDeltaStreams.d.ts.map +0 -1
  156. package/dist/react/useDeltaStreams.js +0 -106
  157. package/dist/react/useDeltaStreams.js.map +0 -1
  158. package/dist/react/useSmoothText.d.ts +0 -27
  159. package/dist/react/useSmoothText.d.ts.map +0 -1
  160. package/dist/react/useSmoothText.js +0 -68
  161. package/dist/react/useSmoothText.js.map +0 -1
  162. package/dist/react/useStreamingUIMessages.d.ts +0 -22
  163. package/dist/react/useStreamingUIMessages.d.ts.map +0 -1
  164. package/dist/react/useStreamingUIMessages.js +0 -92
  165. package/dist/react/useStreamingUIMessages.js.map +0 -1
  166. package/dist/react/useThreadMessages.d.ts +0 -104
  167. package/dist/react/useThreadMessages.d.ts.map +0 -1
  168. package/dist/react/useThreadMessages.js +0 -148
  169. package/dist/react/useThreadMessages.js.map +0 -1
  170. package/dist/react/useUIMessages.d.ts +0 -96
  171. package/dist/react/useUIMessages.d.ts.map +0 -1
  172. package/dist/react/useUIMessages.js +0 -108
  173. package/dist/react/useUIMessages.js.map +0 -1
  174. package/dist/shared.d.ts +0 -26
  175. package/dist/shared.d.ts.map +0 -1
  176. package/dist/shared.js +0 -67
  177. package/dist/shared.js.map +0 -1
  178. package/dist/validators.d.ts +0 -24516
  179. package/dist/validators.d.ts.map +0 -1
  180. package/dist/validators.js +0 -475
  181. package/dist/validators.js.map +0 -1
@@ -1,42 +0,0 @@
1
- import type { LanguageModelV3, LanguageModelV3Content } from "@ai-sdk/provider";
2
- import { type ProviderMetadata } from "ai";
3
- export declare const DEFAULT_TEXT = "\nA A A A A A A A A A A A A A A\nB B B B B B B B B B B B B B B\nC C C C C C C C C C C C C C C\nD D D D D D D D D D D D D D D\n";
4
- export type MockModelArgs = {
5
- provider?: LanguageModelV3["provider"];
6
- modelId?: LanguageModelV3["modelId"];
7
- supportedUrls?: LanguageModelV3["supportedUrls"] | (() => LanguageModelV3["supportedUrls"]);
8
- chunkDelayInMs?: number;
9
- initialDelayInMs?: number;
10
- /** A list of the responses for multiple steps.
11
- * For tool calls, the first list would include a tool call part,
12
- * then the next list would be after the tool response or another tool call.
13
- * Tool responses come from actual tool calls!
14
- */
15
- contentSteps?: LanguageModelV3Content[][];
16
- /** A single list of content responded from each step.
17
- * Provide contentSteps instead if you want to do multi-step responses with
18
- * tool calls.
19
- */
20
- content?: LanguageModelV3Content[];
21
- doGenerate?: LanguageModelV3["doGenerate"];
22
- doStream?: LanguageModelV3["doStream"];
23
- providerMetadata?: ProviderMetadata;
24
- fail?: boolean | {
25
- probability?: number;
26
- error?: string;
27
- };
28
- };
29
- export declare function mockModel(args?: MockModelArgs): LanguageModelV3;
30
- export declare class MockLanguageModel implements LanguageModelV3 {
31
- readonly specificationVersion = "v3";
32
- private _supportedUrls;
33
- readonly provider: LanguageModelV3["provider"];
34
- readonly modelId: LanguageModelV3["modelId"];
35
- doGenerate: LanguageModelV3["doGenerate"];
36
- doStream: LanguageModelV3["doStream"];
37
- doGenerateCalls: Parameters<LanguageModelV3["doGenerate"]>[0][];
38
- doStreamCalls: Parameters<LanguageModelV3["doStream"]>[0][];
39
- constructor(args: MockModelArgs);
40
- get supportedUrls(): Record<string, RegExp[]> | PromiseLike<Record<string, RegExp[]>>;
41
- }
42
- //# sourceMappingURL=mockModel.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockModel.d.ts","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EAEvB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAGnE,eAAO,MAAM,YAAY,mIAKxB,CAAC;AAgBF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IACrC,aAAa,CAAC,EACV,eAAe,CAAC,eAAe,CAAC,GAChC,CAAC,MAAM,eAAe,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,sBAAsB,EAAE,EAAE,CAAC;IAC1C;;;OAGG;IACH,OAAO,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAEnC,UAAU,CAAC,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3C,QAAQ,CAAC,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IACvC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,IAAI,CAAC,EACD,OAAO,GACP;QACE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACP,CAAC;AAMF,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,eAAe,CAE/D;AAED,qBAAa,iBAAkB,YAAW,eAAe;IACvD,QAAQ,CAAC,oBAAoB,QAAQ;IAErC,OAAO,CAAC,cAAc,CAAyC;IAE/D,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAE7C,UAAU,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;IAC1C,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;IAEtC,eAAe,EAAE,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;IACrE,aAAa,EAAE,UAAU,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAM;gBAErD,IAAI,EAAE,aAAa;IAsK/B,IAAI,aAAa,qEAEhB;CACF"}
@@ -1,182 +0,0 @@
1
- import { simulateReadableStream } from "ai";
2
- import { assert, pick } from "convex-helpers";
3
- export const DEFAULT_TEXT = `
4
- A A A A A A A A A A A A A A A
5
- B B B B B B B B B B B B B B B
6
- C C C C C C C C C C C C C C C
7
- D D D D D D D D D D D D D D D
8
- `;
9
- const DEFAULT_USAGE = {
10
- outputTokens: 10,
11
- inputTokens: 3,
12
- totalTokens: 13,
13
- inputTokenDetails: {
14
- noCacheTokens: 3,
15
- cacheReadTokens: 0,
16
- cacheWriteTokens: 0,
17
- },
18
- outputTokenDetails: {
19
- textTokens: 10,
20
- reasoningTokens: 0,
21
- },
22
- };
23
- function atMostOneOf(...args) {
24
- return args.filter(Boolean).length <= 1;
25
- }
26
- export function mockModel(args) {
27
- return new MockLanguageModel(args ?? {});
28
- }
29
- export class MockLanguageModel {
30
- specificationVersion = "v3";
31
- _supportedUrls;
32
- provider;
33
- modelId;
34
- doGenerate;
35
- doStream;
36
- doGenerateCalls = [];
37
- doStreamCalls = [];
38
- constructor(args) {
39
- assert(atMostOneOf(args.content, args.contentSteps, args.doGenerate && args.doStream), "Expected only one of content, contentSteps, or doGenerate and doStream");
40
- this.provider = args.provider || "mock-provider";
41
- this.modelId = args.modelId || "mock-model-id";
42
- const { content = [{ type: "text", text: DEFAULT_TEXT }], contentSteps = [content], chunkDelayInMs = 0, initialDelayInMs = 0, supportedUrls = {}, } = args;
43
- const fail = args.fail &&
44
- (args.fail === true ||
45
- !args.fail.probability ||
46
- Math.random() < args.fail.probability);
47
- const error = (typeof args.fail === "object" && args.fail.error) ||
48
- "Mock error message";
49
- const metadata = pick(args, ["providerMetadata"]);
50
- const chunkResponses = contentSteps.map((content) => {
51
- const chunks = [
52
- { type: "stream-start", warnings: [] },
53
- ];
54
- chunks.push(...content.flatMap((c, ci) => {
55
- if (c.type !== "text" && c.type !== "reasoning") {
56
- return [c];
57
- }
58
- const metadata = pick(c, ["providerMetadata"]);
59
- const deltas = c.text.split(" ");
60
- const parts = [];
61
- if (c.type === "reasoning") {
62
- parts.push({
63
- type: "reasoning-start",
64
- id: `reasoning-${ci}`,
65
- ...metadata,
66
- });
67
- parts.push(...deltas.map((delta, di) => ({
68
- type: "reasoning-delta",
69
- delta: (di ? " " : "") + delta,
70
- id: `reasoning-${ci}`,
71
- ...metadata,
72
- })));
73
- parts.push({
74
- type: "reasoning-end",
75
- id: `reasoning-${ci}`,
76
- ...metadata,
77
- });
78
- }
79
- else if (c.type === "text") {
80
- parts.push({
81
- type: "text-start",
82
- id: `txt-${ci}`,
83
- ...metadata,
84
- });
85
- parts.push(...deltas.map((delta, di) => ({
86
- type: "text-delta",
87
- delta: (di ? " " : "") + delta,
88
- id: `txt-${ci}`,
89
- ...metadata,
90
- })));
91
- parts.push({
92
- type: "text-end",
93
- id: `txt-${ci}`,
94
- ...metadata,
95
- });
96
- }
97
- return parts;
98
- }));
99
- if (fail) {
100
- chunks.push({
101
- type: "error",
102
- error,
103
- });
104
- }
105
- chunks.push({
106
- type: "finish",
107
- finishReason: fail ? "error" : "stop",
108
- usage: DEFAULT_USAGE,
109
- ...metadata,
110
- });
111
- return chunks;
112
- });
113
- let callIndex = 0;
114
- this.doGenerate = async (options) => {
115
- this.doGenerateCalls.push(options);
116
- if (fail) {
117
- throw new Error(error);
118
- }
119
- if (typeof args.doGenerate === "function") {
120
- return args.doGenerate(options);
121
- }
122
- else if (Array.isArray(args.doGenerate)) {
123
- return args.doGenerate[this.doGenerateCalls.length];
124
- }
125
- else if (contentSteps.length) {
126
- const result = {
127
- content: contentSteps[callIndex % contentSteps.length],
128
- finishReason: "stop",
129
- usage: DEFAULT_USAGE,
130
- ...metadata,
131
- warnings: [],
132
- };
133
- callIndex++;
134
- return result;
135
- }
136
- else {
137
- throw new Error("Unexpected: no content or doGenerate");
138
- }
139
- };
140
- this.doStream = async (options) => {
141
- this.doStreamCalls.push(options);
142
- if (typeof args.doStream === "function") {
143
- return args.doStream(options);
144
- }
145
- else if (Array.isArray(args.doStream)) {
146
- return args.doStream[this.doStreamCalls.length];
147
- }
148
- else if (contentSteps) {
149
- const stream = simulateReadableStream({
150
- chunks: chunkResponses[callIndex % chunkResponses.length],
151
- initialDelayInMs,
152
- chunkDelayInMs,
153
- });
154
- callIndex++;
155
- if (options.abortSignal) {
156
- options.abortSignal.addEventListener("abort", () => {
157
- console.warn("abortSignal in mock model not supported");
158
- });
159
- }
160
- return {
161
- stream,
162
- request: { body: {} },
163
- response: { headers: {} },
164
- };
165
- }
166
- else if (args.doStream) {
167
- return args.doStream;
168
- }
169
- else {
170
- throw new Error("Provide either content or doStream");
171
- }
172
- };
173
- this._supportedUrls =
174
- typeof supportedUrls === "function"
175
- ? supportedUrls
176
- : async () => supportedUrls;
177
- }
178
- get supportedUrls() {
179
- return this._supportedUrls();
180
- }
181
- }
182
- //# sourceMappingURL=mockModel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mockModel.js","sourceRoot":"","sources":["../../src/client/mockModel.ts"],"names":[],"mappings":"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"}
@@ -1,20 +0,0 @@
1
- import { type ModelMessage } from "ai";
2
- import type { MessageDoc } from "../validators.js";
3
- import type { ActionCtx, AgentComponent, Config, MutationCtx } from "./types.js";
4
- import type { Message } from "../validators.js";
5
- export declare function saveInputMessages(ctx: MutationCtx | ActionCtx, component: AgentComponent, { threadId, userId, prompt, messages, ...args }: {
6
- prompt: string | (ModelMessage | Message)[] | undefined;
7
- messages: (ModelMessage | Message)[] | undefined;
8
- promptMessageId: string | undefined;
9
- userId: string | undefined;
10
- threadId: string;
11
- agentName?: string;
12
- storageOptions?: {
13
- saveMessages?: "all" | "promptAndOutput";
14
- };
15
- } & Pick<Config, "usageHandler" | "textEmbeddingModel" | "embeddingModel" | "callSettings">): Promise<{
16
- promptMessageId: string | undefined;
17
- pendingMessage: MessageDoc;
18
- savedMessages: MessageDoc[];
19
- }>;
20
- //# sourceMappingURL=saveInputMessages.d.ts.map
@@ -1 +0,0 @@
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"}
@@ -1,58 +0,0 @@
1
- import {} from "ai";
2
- import { embedMessages, getPromptArray } from "./search.js";
3
- import { saveMessages } from "./messages.js";
4
- import { assert } from "convex-helpers";
5
- export async function saveInputMessages(ctx, component, { threadId, userId, prompt, messages, ...args }) {
6
- const shouldSave = args.storageOptions?.saveMessages ?? "promptAndOutput";
7
- // If only a promptMessageId is provided, this will be empty.
8
- const promptArray = getPromptArray(prompt);
9
- const toSave = [];
10
- if (args.promptMessageId) {
11
- // We don't save any inputs if a promptMessageId is provided.
12
- // It's unclear where they'd want to save the new messages.
13
- }
14
- else if (shouldSave === "all") {
15
- if (messages)
16
- toSave.push(...messages);
17
- toSave.push(...promptArray);
18
- }
19
- else {
20
- if (promptArray.length) {
21
- // We treat the whole promptArray as the prompt message to save.
22
- toSave.push(...promptArray);
23
- }
24
- else if (messages) {
25
- // Otherwise, treat the last message as the prompt message to save.
26
- toSave.push(...messages.slice(-1));
27
- }
28
- }
29
- let embeddings;
30
- if ((args.embeddingModel ?? args.textEmbeddingModel) && toSave.length) {
31
- assert("runAction" in ctx, "You must be in an action context to generate embeddings");
32
- embeddings = await embedMessages(ctx, { ...args, userId: userId ?? undefined, threadId }, toSave);
33
- if (embeddings) {
34
- // for the pending message
35
- embeddings.vectors.push(null);
36
- }
37
- }
38
- const saved = await saveMessages(ctx, component, {
39
- threadId,
40
- userId,
41
- messages: [...toSave, { role: "assistant", content: [] }],
42
- metadata: [
43
- ...Array.from({ length: toSave.length }, () => ({})),
44
- { status: "pending" },
45
- ],
46
- failPendingSteps: !!args.promptMessageId,
47
- promptMessageId: args.promptMessageId,
48
- embeddings,
49
- });
50
- return {
51
- promptMessageId: toSave.length
52
- ? saved.messages.at(-2)._id
53
- : args.promptMessageId,
54
- pendingMessage: saved.messages.at(-1),
55
- savedMessages: saved.messages.slice(0, -1),
56
- };
57
- }
58
- //# sourceMappingURL=saveInputMessages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"saveInputMessages.js","sourceRoot":"","sources":["../../src/client/saveInputMessages.ts"],"names":[],"mappings":"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"}