@assistant-ui/react-ai-sdk 0.10.15 → 0.11.0-alpha.0-alpha

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 (95) hide show
  1. package/dist/frontendTools.d.ts +1 -1
  2. package/dist/frontendTools.js +1 -1
  3. package/dist/frontendTools.js.map +1 -1
  4. package/dist/index.d.ts +0 -4
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +1 -16
  7. package/dist/index.js.map +1 -1
  8. package/dist/ui/getVercelAIMessages.d.ts +2 -2
  9. package/dist/ui/getVercelAIMessages.d.ts.map +1 -1
  10. package/dist/ui/getVercelAIMessages.js.map +1 -1
  11. package/dist/ui/index.d.ts +1 -4
  12. package/dist/ui/index.d.ts.map +1 -1
  13. package/dist/ui/index.js +2 -8
  14. package/dist/ui/index.js.map +1 -1
  15. package/dist/ui/use-chat/useAISDKRuntime.d.ts +7 -0
  16. package/dist/ui/use-chat/useAISDKRuntime.d.ts.map +1 -0
  17. package/dist/ui/use-chat/useAISDKRuntime.js +53 -0
  18. package/dist/ui/use-chat/useAISDKRuntime.js.map +1 -0
  19. package/dist/ui/utils/convertMessage.d.ts +5 -5
  20. package/dist/ui/utils/convertMessage.d.ts.map +1 -1
  21. package/dist/ui/utils/convertMessage.js +115 -86
  22. package/dist/ui/utils/convertMessage.js.map +1 -1
  23. package/dist/ui/utils/sliceMessagesUntil.d.ts +2 -2
  24. package/dist/ui/utils/sliceMessagesUntil.d.ts.map +1 -1
  25. package/dist/ui/utils/sliceMessagesUntil.js.map +1 -1
  26. package/dist/ui/utils/toCreateMessage.d.ts +2 -2
  27. package/dist/ui/utils/toCreateMessage.d.ts.map +1 -1
  28. package/dist/ui/utils/toCreateMessage.js +29 -17
  29. package/dist/ui/utils/toCreateMessage.js.map +1 -1
  30. package/dist/ui/utils/vercelAttachmentAdapter.js +1 -1
  31. package/dist/ui/utils/vercelAttachmentAdapter.js.map +1 -1
  32. package/package.json +16 -12
  33. package/src/frontendTools.ts +1 -1
  34. package/src/index.ts +0 -11
  35. package/src/ui/getVercelAIMessages.tsx +2 -2
  36. package/src/ui/index.ts +1 -4
  37. package/src/ui/use-chat/{useVercelUseChatRuntime.tsx → useAISDKRuntime.tsx} +13 -39
  38. package/src/ui/utils/convertMessage.ts +162 -117
  39. package/src/ui/utils/sliceMessagesUntil.tsx +2 -2
  40. package/src/ui/utils/toCreateMessage.ts +45 -20
  41. package/src/ui/utils/vercelAttachmentAdapter.ts +1 -1
  42. package/dist/rsc/RSCDisplay.d.ts +0 -3
  43. package/dist/rsc/RSCDisplay.d.ts.map +0 -1
  44. package/dist/rsc/RSCDisplay.js +0 -26
  45. package/dist/rsc/RSCDisplay.js.map +0 -1
  46. package/dist/rsc/VercelRSCAdapter.d.ts +0 -17
  47. package/dist/rsc/VercelRSCAdapter.d.ts.map +0 -1
  48. package/dist/rsc/VercelRSCAdapter.js +0 -1
  49. package/dist/rsc/VercelRSCAdapter.js.map +0 -1
  50. package/dist/rsc/VercelRSCMessage.d.ts +0 -8
  51. package/dist/rsc/VercelRSCMessage.d.ts.map +0 -1
  52. package/dist/rsc/VercelRSCMessage.js +0 -2
  53. package/dist/rsc/VercelRSCMessage.js.map +0 -1
  54. package/dist/rsc/index.d.ts +0 -5
  55. package/dist/rsc/index.d.ts.map +0 -1
  56. package/dist/rsc/index.js +0 -8
  57. package/dist/rsc/index.js.map +0 -1
  58. package/dist/rsc/useVercelRSCRuntime.d.ts +0 -3
  59. package/dist/rsc/useVercelRSCRuntime.d.ts.map +0 -1
  60. package/dist/rsc/useVercelRSCRuntime.js +0 -57
  61. package/dist/rsc/useVercelRSCRuntime.js.map +0 -1
  62. package/dist/rsc/utils/RSCThreadExtras.d.ts +0 -8
  63. package/dist/rsc/utils/RSCThreadExtras.d.ts.map +0 -1
  64. package/dist/rsc/utils/RSCThreadExtras.js +0 -8
  65. package/dist/rsc/utils/RSCThreadExtras.js.map +0 -1
  66. package/dist/ui/use-assistant/useVercelUseAssistantRuntime.d.ts +0 -7
  67. package/dist/ui/use-assistant/useVercelUseAssistantRuntime.d.ts.map +0 -1
  68. package/dist/ui/use-assistant/useVercelUseAssistantRuntime.js +0 -48
  69. package/dist/ui/use-assistant/useVercelUseAssistantRuntime.js.map +0 -1
  70. package/dist/ui/use-chat/useVercelUseChatRuntime.d.ts +0 -8
  71. package/dist/ui/use-chat/useVercelUseChatRuntime.d.ts.map +0 -1
  72. package/dist/ui/use-chat/useVercelUseChatRuntime.js +0 -75
  73. package/dist/ui/use-chat/useVercelUseChatRuntime.js.map +0 -1
  74. package/dist/ui/utils/useInputSync.d.ts +0 -6
  75. package/dist/ui/utils/useInputSync.d.ts.map +0 -1
  76. package/dist/ui/utils/useInputSync.js +0 -18
  77. package/dist/ui/utils/useInputSync.js.map +0 -1
  78. package/dist/useChatRuntime.d.ts +0 -4
  79. package/dist/useChatRuntime.d.ts.map +0 -1
  80. package/dist/useChatRuntime.js +0 -12
  81. package/dist/useChatRuntime.js.map +0 -1
  82. package/dist/useCloudRuntime.d.ts +0 -12
  83. package/dist/useCloudRuntime.d.ts.map +0 -1
  84. package/dist/useCloudRuntime.js +0 -15
  85. package/dist/useCloudRuntime.js.map +0 -1
  86. package/src/rsc/RSCDisplay.tsx +0 -23
  87. package/src/rsc/VercelRSCAdapter.tsx +0 -21
  88. package/src/rsc/VercelRSCMessage.tsx +0 -9
  89. package/src/rsc/index.ts +0 -4
  90. package/src/rsc/useVercelRSCRuntime.tsx +0 -70
  91. package/src/rsc/utils/RSCThreadExtras.tsx +0 -11
  92. package/src/ui/use-assistant/useVercelUseAssistantRuntime.tsx +0 -60
  93. package/src/ui/utils/useInputSync.tsx +0 -26
  94. package/src/useChatRuntime.ts +0 -13
  95. package/src/useCloudRuntime.ts +0 -21
@@ -1,11 +0,0 @@
1
- "use client";
2
- import { VercelRSCMessage } from "../VercelRSCMessage";
3
-
4
- export const symbolInternalRSCExtras = Symbol("internal-rsc-extras");
5
- export type RSCThreadExtras =
6
- | {
7
- [symbolInternalRSCExtras]?: {
8
- convertFn: (message: any) => VercelRSCMessage;
9
- };
10
- }
11
- | undefined;
@@ -1,60 +0,0 @@
1
- "use client";
2
-
3
- import type { useAssistant } from "@ai-sdk/react";
4
- import { useExternalStoreRuntime } from "@assistant-ui/react";
5
- import { useInputSync } from "../utils/useInputSync";
6
- import { toCreateMessage } from "../utils/toCreateMessage";
7
- import { vercelAttachmentAdapter } from "../utils/vercelAttachmentAdapter";
8
- import { ExternalStoreAdapter } from "@assistant-ui/react";
9
- import { AISDKMessageConverter } from "../utils/convertMessage";
10
-
11
- export type VercelUseChatAdapter = {
12
- adapters?:
13
- | Omit<NonNullable<ExternalStoreAdapter["adapters"]>, "attachments">
14
- | undefined;
15
- };
16
-
17
- export const useVercelUseAssistantRuntime = (
18
- assistantHelpers: ReturnType<typeof useAssistant>,
19
- adapter: VercelUseChatAdapter = {},
20
- ) => {
21
- const messages = AISDKMessageConverter.useThreadMessages({
22
- messages: assistantHelpers.messages,
23
- isRunning: assistantHelpers.status === "in_progress",
24
- });
25
-
26
- const runtime = useExternalStoreRuntime({
27
- isRunning: assistantHelpers.status === "in_progress",
28
- messages,
29
- onCancel: async () => assistantHelpers.stop(),
30
- onNew: async (message) => {
31
- await assistantHelpers.append(await toCreateMessage(message));
32
- },
33
- adapters: {
34
- attachments: vercelAttachmentAdapter,
35
- ...adapter.adapters,
36
- threadList: new Proxy(adapter.adapters?.threadList ?? {}, {
37
- get(target, prop, receiver) {
38
- if (prop === "onSwitchToNewThread") {
39
- return () => {
40
- assistantHelpers.messages = [];
41
- assistantHelpers.input = "";
42
- assistantHelpers.setMessages([]);
43
- assistantHelpers.setInput("");
44
-
45
- if (typeof target.onSwitchToNewThread === "function") {
46
- return target.onSwitchToNewThread.call(target);
47
- }
48
- };
49
- }
50
-
51
- return Reflect.get(target, prop, receiver);
52
- },
53
- }),
54
- },
55
- });
56
-
57
- useInputSync(assistantHelpers, runtime);
58
-
59
- return runtime;
60
- };
@@ -1,26 +0,0 @@
1
- "use client";
2
-
3
- import { useEffect } from "react";
4
- import { useAssistant, useChat } from "@ai-sdk/react";
5
- import { AssistantRuntime } from "@assistant-ui/react";
6
-
7
- type VercelHelpers =
8
- | ReturnType<typeof useChat>
9
- | ReturnType<typeof useAssistant>;
10
-
11
- export const useInputSync = (
12
- { setInput, input }: VercelHelpers,
13
- runtime: AssistantRuntime,
14
- ) => {
15
- // sync input from vercel to assistant-ui
16
- useEffect(() => {
17
- runtime.thread.composer.setText(input);
18
- }, [runtime, input]);
19
-
20
- // sync input from assistant-ui to vercel
21
- useEffect(() => {
22
- return runtime.thread.composer.subscribe(() => {
23
- setInput(runtime.thread.composer.getState().text);
24
- });
25
- }, [runtime, setInput]);
26
- };
@@ -1,13 +0,0 @@
1
- import { EdgeRuntimeOptions, useEdgeRuntime } from "@assistant-ui/react-edge";
2
-
3
- export type UseChatRuntimeOptions = Omit<
4
- EdgeRuntimeOptions,
5
- "unstable_AISDKInterop"
6
- >;
7
-
8
- export const useChatRuntime = (options: UseChatRuntimeOptions) => {
9
- return useEdgeRuntime({
10
- ...options,
11
- unstable_AISDKInterop: "v2",
12
- });
13
- };
@@ -1,21 +0,0 @@
1
- import { AssistantCloud } from "@assistant-ui/react";
2
- import { useChatRuntime, UseChatRuntimeOptions } from "./useChatRuntime";
3
-
4
- type UseCloudRuntimeOptions = Omit<UseChatRuntimeOptions, "api"> & {
5
- cloud: AssistantCloud;
6
- assistantId: string;
7
- };
8
-
9
- /**
10
- * @deprecated This is under active development and not yet ready for prod use.
11
- */
12
- export const useCloudRuntime = (options: UseCloudRuntimeOptions) => {
13
- const opts = options.cloud.runs.__internal_getAssistantOptions(
14
- options.assistantId,
15
- );
16
-
17
- return useChatRuntime({
18
- ...options,
19
- ...opts,
20
- });
21
- };