@assistant-ui/react-ai-sdk 0.10.1 → 0.10.3
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/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -3
- package/dist/index.js.map +1 -1
- package/dist/rsc/RSCDisplay.d.ts +3 -0
- package/dist/rsc/RSCDisplay.d.ts.map +1 -0
- package/dist/rsc/RSCDisplay.js +4 -2
- package/dist/rsc/RSCDisplay.js.map +1 -1
- package/dist/rsc/VercelRSCAdapter.d.ts +18 -0
- package/dist/rsc/VercelRSCAdapter.d.ts.map +1 -0
- package/dist/rsc/VercelRSCMessage.d.ts +8 -0
- package/dist/rsc/VercelRSCMessage.d.ts.map +1 -0
- package/dist/rsc/getVercelRSCMessage.d.ts +7 -0
- package/dist/rsc/getVercelRSCMessage.d.ts.map +1 -0
- package/dist/rsc/getVercelRSCMessage.js +2 -1
- package/dist/rsc/getVercelRSCMessage.js.map +1 -1
- package/dist/rsc/index.d.ts +6 -0
- package/dist/rsc/index.d.ts.map +1 -0
- package/dist/rsc/index.js +4 -3
- package/dist/rsc/index.js.map +1 -1
- package/dist/rsc/useVercelRSCRuntime.d.ts +3 -0
- package/dist/rsc/useVercelRSCRuntime.d.ts.map +1 -0
- package/dist/rsc/useVercelRSCRuntime.js +5 -3
- package/dist/rsc/useVercelRSCRuntime.js.map +1 -1
- package/dist/rsc/utils/RSCThreadExtras.d.ts +8 -0
- package/dist/rsc/utils/RSCThreadExtras.d.ts.map +1 -0
- package/dist/rsc/utils/RSCThreadExtras.js +3 -1
- package/dist/rsc/utils/RSCThreadExtras.js.map +1 -1
- package/dist/ui/getVercelAIMessages.d.ts +4 -0
- package/dist/ui/getVercelAIMessages.d.ts.map +1 -0
- package/dist/ui/getVercelAIMessages.js +2 -1
- package/dist/ui/getVercelAIMessages.js.map +1 -1
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +5 -4
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/use-assistant/useVercelUseAssistantRuntime.d.ts +7 -0
- package/dist/ui/use-assistant/useVercelUseAssistantRuntime.d.ts.map +1 -0
- package/dist/ui/use-assistant/useVercelUseAssistantRuntime.js +6 -5
- package/dist/ui/use-assistant/useVercelUseAssistantRuntime.js.map +1 -1
- package/dist/ui/use-chat/useVercelUseChatRuntime.d.ts +8 -0
- package/dist/ui/use-chat/useVercelUseChatRuntime.d.ts.map +1 -0
- package/dist/ui/use-chat/useVercelUseChatRuntime.js +8 -7
- package/dist/ui/use-chat/useVercelUseChatRuntime.js.map +1 -1
- package/dist/ui/utils/convertMessage.d.ts +14 -0
- package/dist/ui/utils/convertMessage.d.ts.map +1 -0
- package/dist/ui/utils/convertMessage.js +2 -1
- package/dist/ui/utils/convertMessage.js.map +1 -1
- package/dist/ui/utils/sliceMessagesUntil.d.ts +3 -0
- package/dist/ui/utils/sliceMessagesUntil.d.ts.map +1 -0
- package/dist/ui/utils/sliceMessagesUntil.js +2 -1
- package/dist/ui/utils/sliceMessagesUntil.js.map +1 -1
- package/dist/ui/utils/toCreateMessage.d.ts +4 -0
- package/dist/ui/utils/toCreateMessage.d.ts.map +1 -0
- package/dist/ui/utils/toCreateMessage.js +3 -2
- package/dist/ui/utils/toCreateMessage.js.map +1 -1
- package/dist/ui/utils/useInputSync.d.ts +6 -0
- package/dist/ui/utils/useInputSync.d.ts.map +1 -0
- package/dist/ui/utils/useInputSync.js +2 -1
- package/dist/ui/utils/useInputSync.js.map +1 -1
- package/dist/ui/utils/vercelAttachmentAdapter.d.ts +3 -0
- package/dist/ui/utils/vercelAttachmentAdapter.d.ts.map +1 -0
- package/dist/ui/utils/vercelAttachmentAdapter.js +2 -1
- package/dist/ui/utils/vercelAttachmentAdapter.js.map +1 -1
- package/dist/useChatRuntime.d.ts +5 -0
- package/dist/useChatRuntime.d.ts.map +1 -0
- package/dist/useChatRuntime.js +2 -1
- package/dist/useChatRuntime.js.map +1 -1
- package/package.json +5 -4
- package/src/index.ts +11 -0
- package/src/rsc/RSCDisplay.tsx +23 -0
- package/src/rsc/VercelRSCAdapter.tsx +23 -0
- package/src/rsc/VercelRSCMessage.tsx +9 -0
- package/src/rsc/getVercelRSCMessage.tsx +12 -0
- package/src/rsc/index.ts +5 -0
- package/src/rsc/useVercelRSCRuntime.tsx +70 -0
- package/src/rsc/utils/RSCThreadExtras.tsx +11 -0
- package/src/ui/getVercelAIMessages.tsx +9 -0
- package/src/ui/index.ts +4 -0
- package/src/ui/use-assistant/useVercelUseAssistantRuntime.tsx +58 -0
- package/src/ui/use-chat/useVercelUseChatRuntime.tsx +91 -0
- package/src/ui/utils/convertMessage.ts +158 -0
- package/src/ui/utils/sliceMessagesUntil.tsx +20 -0
- package/src/ui/utils/toCreateMessage.ts +44 -0
- package/src/ui/utils/useInputSync.tsx +24 -0
- package/src/ui/utils/vercelAttachmentAdapter.ts +29 -0
- package/src/useChatRuntime.ts +10 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
import { useAssistant, useChat } from "@ai-sdk/react";
|
|
3
|
+
import { AssistantRuntime } from "@assistant-ui/react";
|
|
4
|
+
|
|
5
|
+
type VercelHelpers =
|
|
6
|
+
| ReturnType<typeof useChat>
|
|
7
|
+
| ReturnType<typeof useAssistant>;
|
|
8
|
+
|
|
9
|
+
export const useInputSync = (
|
|
10
|
+
{ setInput, input }: VercelHelpers,
|
|
11
|
+
runtime: AssistantRuntime,
|
|
12
|
+
) => {
|
|
13
|
+
// sync input from vercel to assistant-ui
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
runtime.thread.composer.setText(input);
|
|
16
|
+
}, [runtime, input]);
|
|
17
|
+
|
|
18
|
+
// sync input from assistant-ui to vercel
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
return runtime.thread.composer.subscribe(() => {
|
|
21
|
+
setInput(runtime.thread.composer.getState().text);
|
|
22
|
+
});
|
|
23
|
+
}, [runtime, setInput]);
|
|
24
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { AttachmentAdapter } from "@assistant-ui/react";
|
|
2
|
+
import { generateId } from "@ai-sdk/ui-utils";
|
|
3
|
+
|
|
4
|
+
export const vercelAttachmentAdapter: AttachmentAdapter = {
|
|
5
|
+
accept:
|
|
6
|
+
"image/*, text/plain, text/html, text/markdown, text/csv, text/xml, text/json, text/css",
|
|
7
|
+
async add({ file }) {
|
|
8
|
+
return {
|
|
9
|
+
id: generateId(),
|
|
10
|
+
type: "file",
|
|
11
|
+
name: file.name,
|
|
12
|
+
file,
|
|
13
|
+
contentType: file.type,
|
|
14
|
+
content: [],
|
|
15
|
+
status: { type: "requires-action", reason: "composer-send" },
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
async send(attachment) {
|
|
19
|
+
// noop
|
|
20
|
+
return {
|
|
21
|
+
...attachment,
|
|
22
|
+
status: { type: "complete" },
|
|
23
|
+
content: [],
|
|
24
|
+
};
|
|
25
|
+
},
|
|
26
|
+
async remove() {
|
|
27
|
+
// noop
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EdgeRuntimeOptions, useEdgeRuntime } from "@assistant-ui/react-edge";
|
|
2
|
+
|
|
3
|
+
type UseChatRuntimeOptions = Omit<EdgeRuntimeOptions, "unstable_AISDKInterop">;
|
|
4
|
+
|
|
5
|
+
export const useChatRuntime = (options: UseChatRuntimeOptions) => {
|
|
6
|
+
return useEdgeRuntime({
|
|
7
|
+
...options,
|
|
8
|
+
unstable_AISDKInterop: "v2",
|
|
9
|
+
});
|
|
10
|
+
};
|