@convex-dev/agent 0.2.6 → 0.2.8-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.
- package/dist/UIMessages.d.ts +43 -0
- package/dist/UIMessages.d.ts.map +1 -0
- package/dist/{react/toUIMessages.js → UIMessages.js} +97 -4
- package/dist/UIMessages.js.map +1 -0
- package/dist/client/createTool.js +1 -1
- package/dist/client/createTool.js.map +1 -1
- package/dist/client/index.d.ts +39 -19
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +22 -19
- package/dist/client/index.js.map +1 -1
- package/dist/client/mockModel.d.ts +2 -0
- package/dist/client/mockModel.d.ts.map +1 -1
- package/dist/client/mockModel.js +11 -7
- package/dist/client/mockModel.js.map +1 -1
- package/dist/client/search.d.ts.map +1 -1
- package/dist/client/search.js +2 -0
- package/dist/client/search.js.map +1 -1
- package/dist/client/start.d.ts +1 -0
- package/dist/client/start.d.ts.map +1 -1
- package/dist/client/start.js +0 -1
- package/dist/client/start.js.map +1 -1
- package/dist/client/streaming.d.ts +23 -4
- package/dist/client/streaming.d.ts.map +1 -1
- package/dist/client/streaming.js +32 -6
- package/dist/client/streaming.js.map +1 -1
- package/dist/client/types.d.ts +19 -13
- package/dist/client/types.d.ts.map +1 -1
- package/dist/component/_generated/api.d.ts +2 -0
- package/dist/component/messages.js +1 -1
- package/dist/component/messages.js.map +1 -1
- package/dist/component/schema.d.ts +10 -4
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +4 -0
- package/dist/component/schema.js.map +1 -1
- package/dist/component/streams.d.ts +2 -4
- package/dist/component/streams.d.ts.map +1 -1
- package/dist/component/streams.js +42 -43
- package/dist/component/streams.js.map +1 -1
- package/dist/deltas.d.ts +48 -0
- package/dist/deltas.d.ts.map +1 -0
- package/dist/deltas.js +468 -0
- package/dist/deltas.js.map +1 -0
- package/dist/react/index.d.ts +4 -77
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +4 -178
- package/dist/react/index.js.map +1 -1
- package/dist/react/optimisticallySendMessage.d.ts +36 -3
- package/dist/react/optimisticallySendMessage.d.ts.map +1 -1
- package/dist/react/optimisticallySendMessage.js +37 -5
- package/dist/react/optimisticallySendMessage.js.map +1 -1
- package/dist/react/types.d.ts +4 -18
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/useStreamingUIMessages.d.ts +22 -0
- package/dist/react/useStreamingUIMessages.d.ts.map +1 -0
- package/dist/react/useStreamingUIMessages.js +204 -0
- package/dist/react/useStreamingUIMessages.js.map +1 -0
- package/dist/react/useThreadMessages.d.ts +103 -0
- package/dist/react/useThreadMessages.d.ts.map +1 -0
- package/dist/react/useThreadMessages.js +139 -0
- package/dist/react/useThreadMessages.js.map +1 -0
- package/dist/react/useUIMessages.d.ts +91 -0
- package/dist/react/useUIMessages.d.ts.map +1 -0
- package/dist/react/useUIMessages.js +115 -0
- package/dist/react/useUIMessages.js.map +1 -0
- package/dist/validators.d.ts +3 -1
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js +1 -0
- package/dist/validators.js.map +1 -1
- package/package.json +4 -4
- package/src/{react/toUIMessages.ts → UIMessages.ts} +132 -15
- package/src/client/createTool.ts +1 -1
- package/src/client/index.ts +60 -41
- package/src/client/mockModel.ts +13 -8
- package/src/client/search.ts +2 -0
- package/src/client/start.ts +2 -1
- package/src/client/streaming.test.ts +186 -0
- package/src/client/streaming.ts +50 -9
- package/src/client/types.ts +19 -21
- package/src/component/_generated/api.d.ts +2 -0
- package/src/component/messages.ts +1 -1
- package/src/component/schema.ts +6 -0
- package/src/component/streams.ts +49 -66
- package/src/{react/deltas.test.ts → deltas.test.ts} +57 -46
- package/src/deltas.ts +589 -0
- package/src/{react/fromUIMessages.test.ts → fromUIMessages.test.ts} +108 -43
- package/src/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -1
- package/src/react/index.ts +8 -250
- package/src/react/optimisticallySendMessage.ts +57 -8
- package/src/react/types.ts +6 -39
- package/src/react/useStreamingUIMessages.ts +294 -0
- package/src/react/useThreadMessages.ts +251 -0
- package/src/react/useUIMessages.ts +206 -0
- package/src/{react/toUIMessages.test.ts → toUIMessages.test.ts} +3 -3
- package/src/validators.ts +3 -0
- package/dist/client/textStreamParts.d.ts +0 -5
- package/dist/client/textStreamParts.d.ts.map +0 -1
- package/dist/client/textStreamParts.js +0 -44
- package/dist/client/textStreamParts.js.map +0 -1
- package/dist/react/deltas.d.ts +0 -27
- package/dist/react/deltas.d.ts.map +0 -1
- package/dist/react/deltas.js +0 -627
- package/dist/react/deltas.js.map +0 -1
- package/dist/react/fromUIMessages.d.ts +0 -13
- package/dist/react/fromUIMessages.d.ts.map +0 -1
- package/dist/react/fromUIMessages.js +0 -70
- package/dist/react/fromUIMessages.js.map +0 -1
- package/dist/react/toUIMessages.d.ts +0 -19
- package/dist/react/toUIMessages.d.ts.map +0 -1
- package/dist/react/toUIMessages.js.map +0 -1
- package/src/client/textStreamParts.ts +0 -62
- package/src/react/deltas.ts +0 -774
- package/src/react/fromUIMessages.ts +0 -85
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { convertToModelMessages } from "ai";
|
|
2
|
-
import { extractReasoning, extractText, isTool } from "../shared.js";
|
|
3
|
-
import type { MessageDoc, vSource } from "../validators.js";
|
|
4
|
-
import type { UIMessage } from "./toUIMessages.js";
|
|
5
|
-
import type { ProviderOptions } from "@ai-sdk/provider-utils";
|
|
6
|
-
import { omit } from "convex-helpers";
|
|
7
|
-
import { fromModelMessage } from "../mapping.js";
|
|
8
|
-
import type { Infer } from "convex/values";
|
|
9
|
-
|
|
10
|
-
export function fromUIMessages<METADATA = unknown>(
|
|
11
|
-
threadId: string,
|
|
12
|
-
messages: (UIMessage<METADATA> & {
|
|
13
|
-
userId?: string;
|
|
14
|
-
model?: string;
|
|
15
|
-
provider?: string;
|
|
16
|
-
providerOptions?: ProviderOptions;
|
|
17
|
-
})[],
|
|
18
|
-
): (MessageDoc & { streaming: boolean; metadata?: METADATA })[] {
|
|
19
|
-
return messages.flatMap((uiMessage) => {
|
|
20
|
-
const stepOrder = uiMessage.stepOrder;
|
|
21
|
-
const commonFields = {
|
|
22
|
-
_id: uiMessage.id,
|
|
23
|
-
...omit(uiMessage, ["parts", "role", "key", "text"]),
|
|
24
|
-
threadId,
|
|
25
|
-
status: uiMessage.status === "streaming" ? "pending" : "success",
|
|
26
|
-
streaming: uiMessage.status === "streaming",
|
|
27
|
-
// to override
|
|
28
|
-
tool: false,
|
|
29
|
-
} satisfies MessageDoc & { streaming: boolean; metadata?: METADATA };
|
|
30
|
-
const modelMessages = convertToModelMessages([uiMessage]);
|
|
31
|
-
return modelMessages.map((modelMessage, i) => {
|
|
32
|
-
const message = fromModelMessage(modelMessage);
|
|
33
|
-
const tool = isTool(message);
|
|
34
|
-
const doc: MessageDoc & { streaming: boolean; metadata?: METADATA } = {
|
|
35
|
-
...commonFields,
|
|
36
|
-
stepOrder: stepOrder + i,
|
|
37
|
-
message,
|
|
38
|
-
tool,
|
|
39
|
-
text: extractText(message),
|
|
40
|
-
reasoning: extractReasoning(message),
|
|
41
|
-
finishReason: tool ? "tool-calls" : "stop",
|
|
42
|
-
sources: fromSourceParts(uiMessage.parts),
|
|
43
|
-
};
|
|
44
|
-
if (Array.isArray(modelMessage.content)) {
|
|
45
|
-
const providerOptions = modelMessage.content.find(
|
|
46
|
-
(c) => c.providerOptions,
|
|
47
|
-
)?.providerOptions;
|
|
48
|
-
if (providerOptions) {
|
|
49
|
-
// convertToModelMessages changes providerMetadata to providerOptions
|
|
50
|
-
doc.providerMetadata = providerOptions;
|
|
51
|
-
doc.providerOptions ??= providerOptions;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return doc;
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
function fromSourceParts(parts: UIMessage["parts"]): Infer<typeof vSource>[] {
|
|
60
|
-
return parts
|
|
61
|
-
.map((part) => {
|
|
62
|
-
if (part.type === "source-url") {
|
|
63
|
-
return {
|
|
64
|
-
type: "source",
|
|
65
|
-
sourceType: "url",
|
|
66
|
-
url: part.url,
|
|
67
|
-
id: part.sourceId,
|
|
68
|
-
providerMetadata: part.providerMetadata,
|
|
69
|
-
title: part.title,
|
|
70
|
-
} satisfies Infer<typeof vSource>;
|
|
71
|
-
}
|
|
72
|
-
if (part.type === "source-document") {
|
|
73
|
-
return {
|
|
74
|
-
type: "source",
|
|
75
|
-
sourceType: "document",
|
|
76
|
-
mediaType: part.mediaType,
|
|
77
|
-
id: part.sourceId,
|
|
78
|
-
providerMetadata: part.providerMetadata,
|
|
79
|
-
title: part.title,
|
|
80
|
-
} satisfies Infer<typeof vSource>;
|
|
81
|
-
}
|
|
82
|
-
return undefined;
|
|
83
|
-
})
|
|
84
|
-
.filter((p) => p !== undefined);
|
|
85
|
-
}
|