@assistant-ui/mcp-docs-server 0.1.6 → 0.1.8
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/.docs/organized/code-examples/with-ai-sdk-v5.md +15 -13
- package/.docs/organized/code-examples/with-cloud.md +19 -25
- package/.docs/organized/code-examples/with-external-store.md +9 -7
- package/.docs/organized/code-examples/with-ffmpeg.md +21 -21
- package/.docs/organized/code-examples/with-langgraph.md +72 -46
- package/.docs/organized/code-examples/with-parent-id-grouping.md +9 -7
- package/.docs/organized/code-examples/with-react-hook-form.md +19 -21
- package/.docs/raw/docs/api-reference/integrations/react-data-stream.mdx +194 -0
- package/.docs/raw/docs/api-reference/overview.mdx +7 -4
- package/.docs/raw/docs/api-reference/primitives/Composer.mdx +31 -0
- package/.docs/raw/docs/api-reference/primitives/Message.mdx +108 -3
- package/.docs/raw/docs/api-reference/primitives/Thread.mdx +59 -0
- package/.docs/raw/docs/api-reference/primitives/ThreadList.mdx +128 -0
- package/.docs/raw/docs/api-reference/primitives/ThreadListItem.mdx +160 -0
- package/.docs/raw/docs/api-reference/runtimes/AssistantRuntime.mdx +0 -11
- package/.docs/raw/docs/api-reference/runtimes/ComposerRuntime.mdx +3 -3
- package/.docs/raw/docs/copilots/assistant-frame.mdx +397 -0
- package/.docs/raw/docs/getting-started.mdx +53 -52
- package/.docs/raw/docs/guides/Attachments.mdx +7 -115
- package/.docs/raw/docs/guides/ToolUI.mdx +3 -3
- package/.docs/raw/docs/guides/Tools.mdx +152 -92
- package/.docs/raw/docs/guides/context-api.mdx +574 -0
- package/.docs/raw/docs/migrations/v0-12.mdx +125 -0
- package/.docs/raw/docs/runtimes/ai-sdk/use-chat.mdx +134 -55
- package/.docs/raw/docs/runtimes/ai-sdk/v4-legacy.mdx +182 -0
- package/.docs/raw/docs/runtimes/custom/local.mdx +16 -3
- package/.docs/raw/docs/runtimes/data-stream.mdx +287 -0
- package/.docs/raw/docs/runtimes/langgraph/index.mdx +0 -1
- package/.docs/raw/docs/runtimes/langserve.mdx +9 -11
- package/.docs/raw/docs/runtimes/pick-a-runtime.mdx +5 -0
- package/.docs/raw/docs/ui/ThreadList.mdx +54 -16
- package/dist/{chunk-L4K23SWI.js → chunk-NVNFQ5ZO.js} +4 -1
- package/dist/index.js +1 -1
- package/dist/prepare-docs/prepare.js +1 -1
- package/dist/stdio.js +1 -1
- package/package.json +7 -7
- package/.docs/organized/code-examples/local-ollama.md +0 -1135
- package/.docs/organized/code-examples/search-agent-for-e-commerce.md +0 -1721
- package/.docs/organized/code-examples/with-ai-sdk.md +0 -1082
- package/.docs/organized/code-examples/with-openai-assistants.md +0 -1175
- package/.docs/raw/docs/concepts/architecture.mdx +0 -19
- package/.docs/raw/docs/concepts/runtime-layer.mdx +0 -163
- package/.docs/raw/docs/concepts/why.mdx +0 -9
- package/.docs/raw/docs/runtimes/ai-sdk/rsc.mdx +0 -226
- package/.docs/raw/docs/runtimes/ai-sdk/use-assistant-hook.mdx +0 -195
- package/.docs/raw/docs/runtimes/ai-sdk/use-chat-hook.mdx +0 -138
- package/.docs/raw/docs/runtimes/ai-sdk/use-chat-v5.mdx +0 -212
|
@@ -828,6 +828,7 @@ export const ToolFallback: ToolCallMessagePartComponent = ({
|
|
|
828
828
|
"use client";
|
|
829
829
|
|
|
830
830
|
import { ComponentPropsWithoutRef, forwardRef } from "react";
|
|
831
|
+
import { Slottable } from "@radix-ui/react-slot";
|
|
831
832
|
|
|
832
833
|
import {
|
|
833
834
|
Tooltip,
|
|
@@ -856,7 +857,7 @@ export const TooltipIconButton = forwardRef<
|
|
|
856
857
|
className={cn("size-6 p-1", className)}
|
|
857
858
|
ref={ref}
|
|
858
859
|
>
|
|
859
|
-
{children}
|
|
860
|
+
<Slottable>{children}</Slottable>
|
|
860
861
|
<span className="sr-only">{tooltip}</span>
|
|
861
862
|
</Button>
|
|
862
863
|
</TooltipTrigger>
|
|
@@ -1034,34 +1035,34 @@ export default nextConfig;
|
|
|
1034
1035
|
"version": "0.0.0",
|
|
1035
1036
|
"type": "module",
|
|
1036
1037
|
"dependencies": {
|
|
1037
|
-
"@ai-sdk/openai": "^2.0.
|
|
1038
|
-
"@ai-sdk/react": "^2.0.
|
|
1038
|
+
"@ai-sdk/openai": "^2.0.15",
|
|
1039
|
+
"@ai-sdk/react": "^2.0.15",
|
|
1039
1040
|
"@assistant-ui/react": "workspace:^",
|
|
1040
1041
|
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
1041
1042
|
"@assistant-ui/react-markdown": "workspace:^",
|
|
1042
1043
|
"@radix-ui/react-slot": "^1.2.3",
|
|
1043
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
1044
|
-
"@tailwindcss/postcss": "^4.1.
|
|
1045
|
-
"ai": "^5.0.
|
|
1044
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
1045
|
+
"@tailwindcss/postcss": "^4.1.12",
|
|
1046
|
+
"ai": "^5.0.15",
|
|
1046
1047
|
"class-variance-authority": "^0.7.1",
|
|
1047
1048
|
"clsx": "^2.1.1",
|
|
1048
|
-
"lucide-react": "^0.
|
|
1049
|
-
"next": "15.4.
|
|
1049
|
+
"lucide-react": "^0.539.0",
|
|
1050
|
+
"next": "15.4.6",
|
|
1050
1051
|
"postcss": "^8.5.6",
|
|
1051
1052
|
"react": "19.1.1",
|
|
1052
1053
|
"react-dom": "19.1.1",
|
|
1053
1054
|
"remark-gfm": "^4.0.1",
|
|
1054
1055
|
"tailwind-merge": "^3.3.1",
|
|
1055
|
-
"tailwindcss": "^4.1.
|
|
1056
|
-
"zod": "^4.0.
|
|
1056
|
+
"tailwindcss": "^4.1.12",
|
|
1057
|
+
"zod": "^4.0.17"
|
|
1057
1058
|
},
|
|
1058
1059
|
"devDependencies": {
|
|
1059
1060
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
1060
|
-
"@types/node": "^24.
|
|
1061
|
-
"@types/react": "^19.1.
|
|
1061
|
+
"@types/node": "^24.3.0",
|
|
1062
|
+
"@types/react": "^19.1.10",
|
|
1062
1063
|
"@types/react-dom": "^19.1.7",
|
|
1063
1064
|
"eslint": "^9",
|
|
1064
|
-
"eslint-config-next": "15.4.
|
|
1065
|
+
"eslint-config-next": "15.4.6",
|
|
1065
1066
|
"tw-animate-css": "^1.3.6",
|
|
1066
1067
|
"typescript": "^5.9.2"
|
|
1067
1068
|
},
|
|
@@ -1175,6 +1176,7 @@ The API route at `/api/chat` uses the new `streamText` function from AI SDK v5 t
|
|
|
1175
1176
|
"@/*": ["./*"],
|
|
1176
1177
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
1177
1178
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
1179
|
+
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
1178
1180
|
"assistant-stream": ["../../packages/assistant-stream/src"],
|
|
1179
1181
|
"assistant-stream/*": ["../../packages/assistant-stream/src/*"]
|
|
1180
1182
|
}
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
```typescript
|
|
6
6
|
import { openai } from "@ai-sdk/openai";
|
|
7
|
-
import {
|
|
7
|
+
import { frontendTools } from "@assistant-ui/react-ai-sdk";
|
|
8
|
+
import { convertToModelMessages, streamText } from "ai";
|
|
8
9
|
|
|
9
|
-
export const runtime = "edge";
|
|
10
10
|
export const maxDuration = 30;
|
|
11
11
|
|
|
12
12
|
export async function POST(req: Request) {
|
|
@@ -14,22 +14,15 @@ export async function POST(req: Request) {
|
|
|
14
14
|
|
|
15
15
|
const result = streamText({
|
|
16
16
|
model: openai("gpt-4o"),
|
|
17
|
-
messages,
|
|
17
|
+
messages: convertToModelMessages(messages),
|
|
18
18
|
// forward system prompt and tools from the frontend
|
|
19
19
|
system,
|
|
20
|
-
tools:
|
|
21
|
-
tools
|
|
22
|
-
|
|
23
|
-
Object.entries<{ parameters: unknown }>(tools).map(([name, tool]) => [
|
|
24
|
-
name,
|
|
25
|
-
{
|
|
26
|
-
parameters: jsonSchema(tool.parameters!),
|
|
27
|
-
},
|
|
28
|
-
]),
|
|
29
|
-
),
|
|
20
|
+
tools: {
|
|
21
|
+
...frontendTools(tools),
|
|
22
|
+
},
|
|
30
23
|
});
|
|
31
24
|
|
|
32
|
-
return result.
|
|
25
|
+
return result.toUIMessageStreamResponse();
|
|
33
26
|
}
|
|
34
27
|
|
|
35
28
|
```
|
|
@@ -210,7 +203,7 @@ export default function RootLayout({
|
|
|
210
203
|
"use client";
|
|
211
204
|
|
|
212
205
|
import { AssistantCloud, AssistantRuntimeProvider } from "@assistant-ui/react";
|
|
213
|
-
import { useChatRuntime } from "@assistant-ui/react-ai-sdk
|
|
206
|
+
import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
|
|
214
207
|
|
|
215
208
|
const cloud = new AssistantCloud({
|
|
216
209
|
baseUrl: process.env["NEXT_PUBLIC_ASSISTANT_BASE_URL"]!,
|
|
@@ -224,7 +217,6 @@ export function MyRuntimeProvider({
|
|
|
224
217
|
}>) {
|
|
225
218
|
const runtime = useChatRuntime({
|
|
226
219
|
cloud,
|
|
227
|
-
api: "/api/chat",
|
|
228
220
|
});
|
|
229
221
|
|
|
230
222
|
return (
|
|
@@ -878,6 +870,7 @@ const CircleStopIcon = () => {
|
|
|
878
870
|
"use client";
|
|
879
871
|
|
|
880
872
|
import { ComponentPropsWithoutRef, forwardRef } from "react";
|
|
873
|
+
import { Slottable } from "@radix-ui/react-slot";
|
|
881
874
|
|
|
882
875
|
import {
|
|
883
876
|
Tooltip,
|
|
@@ -906,7 +899,7 @@ export const TooltipIconButton = forwardRef<
|
|
|
906
899
|
className={cn("size-6 p-1", className)}
|
|
907
900
|
ref={ref}
|
|
908
901
|
>
|
|
909
|
-
{children}
|
|
902
|
+
<Slottable>{children}</Slottable>
|
|
910
903
|
<span className="sr-only">{tooltip}</span>
|
|
911
904
|
</Button>
|
|
912
905
|
</TooltipTrigger>
|
|
@@ -1097,19 +1090,19 @@ export default nextConfig;
|
|
|
1097
1090
|
"lint": "next lint"
|
|
1098
1091
|
},
|
|
1099
1092
|
"dependencies": {
|
|
1100
|
-
"@ai-sdk/openai": "^
|
|
1093
|
+
"@ai-sdk/openai": "^2.0.15",
|
|
1101
1094
|
"@assistant-ui/react": "workspace:*",
|
|
1102
|
-
"@assistant-ui/react-ai-sdk
|
|
1095
|
+
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
1103
1096
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
1104
1097
|
"@radix-ui/react-slot": "^1.2.3",
|
|
1105
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
1106
|
-
"ai": "^
|
|
1098
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
1099
|
+
"ai": "^5.0.15",
|
|
1107
1100
|
"class-variance-authority": "^0.7.1",
|
|
1108
1101
|
"clsx": "^2.1.1",
|
|
1109
1102
|
"jsonwebtoken": "^9.0.2",
|
|
1110
|
-
"lucide-react": "^0.
|
|
1103
|
+
"lucide-react": "^0.539.0",
|
|
1111
1104
|
"nanoid": "5.1.5",
|
|
1112
|
-
"next": "15.4.
|
|
1105
|
+
"next": "15.4.6",
|
|
1113
1106
|
"react": "19.1.1",
|
|
1114
1107
|
"react-dom": "19.1.1",
|
|
1115
1108
|
"remark-gfm": "^4.0.1",
|
|
@@ -1123,9 +1116,9 @@ export default nextConfig;
|
|
|
1123
1116
|
"@types/react": "^19",
|
|
1124
1117
|
"@types/react-dom": "^19",
|
|
1125
1118
|
"eslint": "^9",
|
|
1126
|
-
"eslint-config-next": "15.4.
|
|
1119
|
+
"eslint-config-next": "15.4.6",
|
|
1127
1120
|
"postcss": "^8",
|
|
1128
|
-
"tailwindcss": "^4.1.
|
|
1121
|
+
"tailwindcss": "^4.1.12",
|
|
1129
1122
|
"typescript": "^5"
|
|
1130
1123
|
}
|
|
1131
1124
|
}
|
|
@@ -1153,6 +1146,7 @@ export default nextConfig;
|
|
|
1153
1146
|
"@/*": ["./*"],
|
|
1154
1147
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
1155
1148
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
1149
|
+
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
1156
1150
|
"assistant-stream": ["../../packages/assistant-stream/src"],
|
|
1157
1151
|
"assistant-stream/*": ["../../packages/assistant-stream/src/*"]
|
|
1158
1152
|
}
|
|
@@ -782,6 +782,7 @@ const CircleStopIcon = () => {
|
|
|
782
782
|
"use client";
|
|
783
783
|
|
|
784
784
|
import { ComponentPropsWithoutRef, forwardRef } from "react";
|
|
785
|
+
import { Slottable } from "@radix-ui/react-slot";
|
|
785
786
|
|
|
786
787
|
import {
|
|
787
788
|
Tooltip,
|
|
@@ -810,7 +811,7 @@ export const TooltipIconButton = forwardRef<
|
|
|
810
811
|
className={cn("size-6 p-1", className)}
|
|
811
812
|
ref={ref}
|
|
812
813
|
>
|
|
813
|
-
{children}
|
|
814
|
+
<Slottable>{children}</Slottable>
|
|
814
815
|
<span className="sr-only">{tooltip}</span>
|
|
815
816
|
</Button>
|
|
816
817
|
</TooltipTrigger>
|
|
@@ -1001,15 +1002,15 @@ export default nextConfig;
|
|
|
1001
1002
|
"lint": "next lint"
|
|
1002
1003
|
},
|
|
1003
1004
|
"dependencies": {
|
|
1004
|
-
"@ai-sdk/openai": "^
|
|
1005
|
+
"@ai-sdk/openai": "^2.0.15",
|
|
1005
1006
|
"@assistant-ui/react": "workspace:*",
|
|
1006
1007
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
1007
1008
|
"@radix-ui/react-slot": "^1.2.3",
|
|
1008
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
1009
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
1009
1010
|
"class-variance-authority": "^0.7.1",
|
|
1010
1011
|
"clsx": "^2.1.1",
|
|
1011
|
-
"lucide-react": "^0.
|
|
1012
|
-
"next": "15.4.
|
|
1012
|
+
"lucide-react": "^0.539.0",
|
|
1013
|
+
"next": "15.4.6",
|
|
1013
1014
|
"react": "19.1.1",
|
|
1014
1015
|
"react-dom": "19.1.1",
|
|
1015
1016
|
"remark-gfm": "^4.0.1",
|
|
@@ -1022,9 +1023,9 @@ export default nextConfig;
|
|
|
1022
1023
|
"@types/react": "^19",
|
|
1023
1024
|
"@types/react-dom": "^19",
|
|
1024
1025
|
"eslint": "^9",
|
|
1025
|
-
"eslint-config-next": "15.4.
|
|
1026
|
+
"eslint-config-next": "15.4.6",
|
|
1026
1027
|
"postcss": "^8",
|
|
1027
|
-
"tailwindcss": "^4.1.
|
|
1028
|
+
"tailwindcss": "^4.1.12",
|
|
1028
1029
|
"typescript": "^5"
|
|
1029
1030
|
}
|
|
1030
1031
|
}
|
|
@@ -1052,6 +1053,7 @@ export default nextConfig;
|
|
|
1052
1053
|
"@/*": ["./*"],
|
|
1053
1054
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
1054
1055
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
1056
|
+
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
1055
1057
|
"assistant-stream": ["../../packages/assistant-stream/src"],
|
|
1056
1058
|
"assistant-stream/*": ["../../packages/assistant-stream/src/*"]
|
|
1057
1059
|
}
|
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
```typescript
|
|
6
6
|
import { openai } from "@ai-sdk/openai";
|
|
7
|
-
import { frontendTools } from "@assistant-ui/react-ai-sdk
|
|
8
|
-
import { streamText } from "ai";
|
|
7
|
+
import { frontendTools } from "@assistant-ui/react-ai-sdk";
|
|
8
|
+
import { convertToModelMessages, streamText } from "ai";
|
|
9
9
|
|
|
10
|
-
export const runtime = "edge";
|
|
11
10
|
export const maxDuration = 30;
|
|
12
11
|
|
|
13
12
|
export async function POST(req: Request) {
|
|
@@ -15,8 +14,7 @@ export async function POST(req: Request) {
|
|
|
15
14
|
|
|
16
15
|
const result = streamText({
|
|
17
16
|
model: openai("gpt-4o"),
|
|
18
|
-
messages,
|
|
19
|
-
toolCallStreaming: true,
|
|
17
|
+
messages: convertToModelMessages(messages),
|
|
20
18
|
system,
|
|
21
19
|
tools: {
|
|
22
20
|
...frontendTools(tools),
|
|
@@ -24,7 +22,7 @@ export async function POST(req: Request) {
|
|
|
24
22
|
},
|
|
25
23
|
});
|
|
26
24
|
|
|
27
|
-
return result.
|
|
25
|
+
return result.toUIMessageStreamResponse();
|
|
28
26
|
}
|
|
29
27
|
|
|
30
28
|
```
|
|
@@ -192,8 +190,9 @@ export default function RootLayout({
|
|
|
192
190
|
|
|
193
191
|
import { AssistantRuntimeProvider } from "@assistant-ui/react";
|
|
194
192
|
import { AttachmentAdapter } from "@assistant-ui/react";
|
|
195
|
-
import { useChatRuntime } from "@assistant-ui/react-ai-sdk
|
|
193
|
+
import { useChatRuntime } from "@assistant-ui/react-ai-sdk";
|
|
196
194
|
import { INTERNAL } from "@assistant-ui/react";
|
|
195
|
+
import { lastAssistantMessageIsCompleteWithToolCalls } from "ai";
|
|
197
196
|
|
|
198
197
|
const { generateId } = INTERNAL;
|
|
199
198
|
|
|
@@ -232,8 +231,7 @@ export function MyRuntimeProvider({
|
|
|
232
231
|
children: React.ReactNode;
|
|
233
232
|
}>) {
|
|
234
233
|
const runtime = useChatRuntime({
|
|
235
|
-
|
|
236
|
-
maxSteps: 4,
|
|
234
|
+
sendAutomaticallyWhen: lastAssistantMessageIsCompleteWithToolCalls,
|
|
237
235
|
adapters: {
|
|
238
236
|
attachments: attachmentAdapter,
|
|
239
237
|
},
|
|
@@ -993,6 +991,7 @@ const CircleStopIcon = () => {
|
|
|
993
991
|
"use client";
|
|
994
992
|
|
|
995
993
|
import { ComponentPropsWithoutRef, forwardRef } from "react";
|
|
994
|
+
import { Slottable } from "@radix-ui/react-slot";
|
|
996
995
|
|
|
997
996
|
import {
|
|
998
997
|
Tooltip,
|
|
@@ -1021,7 +1020,7 @@ export const TooltipIconButton = forwardRef<
|
|
|
1021
1020
|
className={cn("size-6 p-1", className)}
|
|
1022
1021
|
ref={ref}
|
|
1023
1022
|
>
|
|
1024
|
-
{children}
|
|
1023
|
+
<Slottable>{children}</Slottable>
|
|
1025
1024
|
<span className="sr-only">{tooltip}</span>
|
|
1026
1025
|
</Button>
|
|
1027
1026
|
</TooltipTrigger>
|
|
@@ -1225,9 +1224,9 @@ export default nextConfig;
|
|
|
1225
1224
|
"lint": "next lint"
|
|
1226
1225
|
},
|
|
1227
1226
|
"dependencies": {
|
|
1228
|
-
"@ai-sdk/openai": "^
|
|
1227
|
+
"@ai-sdk/openai": "^2.0.15",
|
|
1229
1228
|
"@assistant-ui/react": "workspace:*",
|
|
1230
|
-
"@assistant-ui/react-ai-sdk
|
|
1229
|
+
"@assistant-ui/react-ai-sdk": "workspace:*",
|
|
1231
1230
|
"@assistant-ui/react-hook-form": "workspace:*",
|
|
1232
1231
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
1233
1232
|
"@ffmpeg/ffmpeg": "^0.12.15",
|
|
@@ -1237,23 +1236,23 @@ export default nextConfig;
|
|
|
1237
1236
|
"@radix-ui/react-icons": "^1.3.2",
|
|
1238
1237
|
"@radix-ui/react-label": "^2.1.7",
|
|
1239
1238
|
"@radix-ui/react-slot": "^1.2.3",
|
|
1240
|
-
"@radix-ui/react-tabs": "^1.1.
|
|
1241
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
1239
|
+
"@radix-ui/react-tabs": "^1.1.13",
|
|
1240
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
1242
1241
|
"@react-hook/media-query": "^1.1.1",
|
|
1243
|
-
"ai": "^
|
|
1242
|
+
"ai": "^5.0.15",
|
|
1244
1243
|
"class-variance-authority": "^0.7.1",
|
|
1245
1244
|
"clsx": "^2.1.1",
|
|
1246
1245
|
"json-schema-to-zod": "^2.6.1",
|
|
1247
|
-
"lucide-react": "^0.
|
|
1248
|
-
"next": "15.4.
|
|
1246
|
+
"lucide-react": "^0.539.0",
|
|
1247
|
+
"next": "15.4.6",
|
|
1249
1248
|
"react": "19.1.1",
|
|
1250
1249
|
"react-dom": "19.1.1",
|
|
1251
|
-
"react-hook-form": "^7.
|
|
1250
|
+
"react-hook-form": "^7.62.0",
|
|
1252
1251
|
"react-resizable-panels": "^3.0.4",
|
|
1253
1252
|
"remark-gfm": "^4.0.1",
|
|
1254
1253
|
"tailwind-merge": "^3.3.1",
|
|
1255
1254
|
"tw-animate-css": "^1.3.6",
|
|
1256
|
-
"zod": "^4.0.
|
|
1255
|
+
"zod": "^4.0.17",
|
|
1257
1256
|
"zustand": "^5.0.7"
|
|
1258
1257
|
},
|
|
1259
1258
|
"devDependencies": {
|
|
@@ -1262,9 +1261,9 @@ export default nextConfig;
|
|
|
1262
1261
|
"@types/react": "^19",
|
|
1263
1262
|
"@types/react-dom": "^19",
|
|
1264
1263
|
"eslint": "^9",
|
|
1265
|
-
"eslint-config-next": "15.4.
|
|
1264
|
+
"eslint-config-next": "15.4.6",
|
|
1266
1265
|
"postcss": "^8",
|
|
1267
|
-
"tailwindcss": "^4.1.
|
|
1266
|
+
"tailwindcss": "^4.1.12",
|
|
1268
1267
|
"typescript": "^5.9.2"
|
|
1269
1268
|
}
|
|
1270
1269
|
}
|
|
@@ -1292,6 +1291,7 @@ export default nextConfig;
|
|
|
1292
1291
|
"@/*": ["./*"],
|
|
1293
1292
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
1294
1293
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
1294
|
+
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
1295
1295
|
"assistant-stream": ["../../packages/assistant-stream/src"],
|
|
1296
1296
|
"assistant-stream/*": ["../../packages/assistant-stream/src/*"]
|
|
1297
1297
|
}
|
|
@@ -5,8 +5,6 @@
|
|
|
5
5
|
```typescript
|
|
6
6
|
import { NextRequest, NextResponse } from "next/server";
|
|
7
7
|
|
|
8
|
-
export const runtime = "edge";
|
|
9
|
-
|
|
10
8
|
function getCorsHeaders() {
|
|
11
9
|
return {
|
|
12
10
|
"Access-Control-Allow-Origin": "*",
|
|
@@ -1018,11 +1016,11 @@ const CircleStopIcon = () => {
|
|
|
1018
1016
|
"use client";
|
|
1019
1017
|
|
|
1020
1018
|
import { ComponentPropsWithoutRef, forwardRef } from "react";
|
|
1019
|
+
import { Slottable } from "@radix-ui/react-slot";
|
|
1021
1020
|
|
|
1022
1021
|
import {
|
|
1023
1022
|
Tooltip,
|
|
1024
1023
|
TooltipContent,
|
|
1025
|
-
TooltipProvider,
|
|
1026
1024
|
TooltipTrigger,
|
|
1027
1025
|
} from "@/components/ui/tooltip";
|
|
1028
1026
|
import { Button } from "@/components/ui/button";
|
|
@@ -1038,23 +1036,21 @@ export const TooltipIconButton = forwardRef<
|
|
|
1038
1036
|
TooltipIconButtonProps
|
|
1039
1037
|
>(({ children, tooltip, side = "bottom", className, ...rest }, ref) => {
|
|
1040
1038
|
return (
|
|
1041
|
-
<
|
|
1042
|
-
<
|
|
1043
|
-
<
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
>
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
</Tooltip>
|
|
1057
|
-
</TooltipProvider>
|
|
1039
|
+
<Tooltip>
|
|
1040
|
+
<TooltipTrigger asChild>
|
|
1041
|
+
<Button
|
|
1042
|
+
variant="ghost"
|
|
1043
|
+
size="icon"
|
|
1044
|
+
{...rest}
|
|
1045
|
+
className={cn("size-6 p-1", className)}
|
|
1046
|
+
ref={ref}
|
|
1047
|
+
>
|
|
1048
|
+
<Slottable>{children}</Slottable>
|
|
1049
|
+
<span className="sr-only">{tooltip}</span>
|
|
1050
|
+
</Button>
|
|
1051
|
+
</TooltipTrigger>
|
|
1052
|
+
<TooltipContent side={side}>{tooltip}</TooltipContent>
|
|
1053
|
+
</Tooltip>
|
|
1058
1054
|
);
|
|
1059
1055
|
});
|
|
1060
1056
|
|
|
@@ -1562,29 +1558,58 @@ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
|
|
|
1562
1558
|
|
|
1563
1559
|
import { cn } from "@/lib/utils";
|
|
1564
1560
|
|
|
1565
|
-
|
|
1561
|
+
function TooltipProvider({
|
|
1562
|
+
delayDuration = 0,
|
|
1563
|
+
...props
|
|
1564
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {
|
|
1565
|
+
return (
|
|
1566
|
+
<TooltipPrimitive.Provider
|
|
1567
|
+
data-slot="tooltip-provider"
|
|
1568
|
+
delayDuration={delayDuration}
|
|
1569
|
+
{...props}
|
|
1570
|
+
/>
|
|
1571
|
+
);
|
|
1572
|
+
}
|
|
1566
1573
|
|
|
1567
|
-
|
|
1574
|
+
function Tooltip({
|
|
1575
|
+
...props
|
|
1576
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Root>) {
|
|
1577
|
+
return (
|
|
1578
|
+
<TooltipProvider>
|
|
1579
|
+
<TooltipPrimitive.Root data-slot="tooltip" {...props} />
|
|
1580
|
+
</TooltipProvider>
|
|
1581
|
+
);
|
|
1582
|
+
}
|
|
1568
1583
|
|
|
1569
|
-
|
|
1584
|
+
function TooltipTrigger({
|
|
1585
|
+
...props
|
|
1586
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {
|
|
1587
|
+
return <TooltipPrimitive.Trigger data-slot="tooltip-trigger" {...props} />;
|
|
1588
|
+
}
|
|
1570
1589
|
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
|
|
1577
|
-
|
|
1578
|
-
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
|
|
1582
|
-
|
|
1583
|
-
|
|
1584
|
-
|
|
1585
|
-
|
|
1586
|
-
|
|
1587
|
-
|
|
1590
|
+
function TooltipContent({
|
|
1591
|
+
className,
|
|
1592
|
+
sideOffset = 0,
|
|
1593
|
+
children,
|
|
1594
|
+
...props
|
|
1595
|
+
}: React.ComponentProps<typeof TooltipPrimitive.Content>) {
|
|
1596
|
+
return (
|
|
1597
|
+
<TooltipPrimitive.Portal>
|
|
1598
|
+
<TooltipPrimitive.Content
|
|
1599
|
+
data-slot="tooltip-content"
|
|
1600
|
+
sideOffset={sideOffset}
|
|
1601
|
+
className={cn(
|
|
1602
|
+
"bg-primary text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-(--radix-tooltip-content-transform-origin) z-50 w-fit text-balance rounded-md px-3 py-1.5 text-xs",
|
|
1603
|
+
className,
|
|
1604
|
+
)}
|
|
1605
|
+
{...props}
|
|
1606
|
+
>
|
|
1607
|
+
{children}
|
|
1608
|
+
<TooltipPrimitive.Arrow className="bg-primary fill-primary z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]" />
|
|
1609
|
+
</TooltipPrimitive.Content>
|
|
1610
|
+
</TooltipPrimitive.Portal>
|
|
1611
|
+
);
|
|
1612
|
+
}
|
|
1588
1613
|
|
|
1589
1614
|
export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
|
|
1590
1615
|
|
|
@@ -1727,16 +1752,16 @@ export default nextConfig;
|
|
|
1727
1752
|
"@assistant-ui/react": "workspace:*",
|
|
1728
1753
|
"@assistant-ui/react-langgraph": "workspace:*",
|
|
1729
1754
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
1730
|
-
"@langchain/langgraph-sdk": "^0.0.
|
|
1755
|
+
"@langchain/langgraph-sdk": "^0.0.107",
|
|
1731
1756
|
"@radix-ui/react-slot": "^1.2.3",
|
|
1732
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
1757
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
1733
1758
|
"class-variance-authority": "^0.7.1",
|
|
1734
1759
|
"clsx": "^2.1.1",
|
|
1735
1760
|
"js-cookie": "^3.0.5",
|
|
1736
1761
|
"jsonwebtoken": "^9.0.2",
|
|
1737
|
-
"lucide-react": "^0.
|
|
1762
|
+
"lucide-react": "^0.539.0",
|
|
1738
1763
|
"nanoid": "5.1.5",
|
|
1739
|
-
"next": "15.4.
|
|
1764
|
+
"next": "15.4.6",
|
|
1740
1765
|
"react": "19.1.1",
|
|
1741
1766
|
"react-dom": "19.1.1",
|
|
1742
1767
|
"remark-gfm": "^4.0.1",
|
|
@@ -1751,9 +1776,9 @@ export default nextConfig;
|
|
|
1751
1776
|
"@types/react": "^19",
|
|
1752
1777
|
"@types/react-dom": "^19",
|
|
1753
1778
|
"eslint": "^9",
|
|
1754
|
-
"eslint-config-next": "15.4.
|
|
1779
|
+
"eslint-config-next": "15.4.6",
|
|
1755
1780
|
"postcss": "^8",
|
|
1756
|
-
"tailwindcss": "^4.1.
|
|
1781
|
+
"tailwindcss": "^4.1.12",
|
|
1757
1782
|
"typescript": "^5.9.2"
|
|
1758
1783
|
}
|
|
1759
1784
|
}
|
|
@@ -1808,6 +1833,7 @@ npm run dev
|
|
|
1808
1833
|
"@/*": ["./*"],
|
|
1809
1834
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
1810
1835
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
1836
|
+
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
1811
1837
|
"assistant-stream": ["../../packages/assistant-stream/src"],
|
|
1812
1838
|
"assistant-stream/*": ["../../packages/assistant-stream/src/*"]
|
|
1813
1839
|
}
|
|
@@ -1028,6 +1028,7 @@ const CircleStopIcon = () => {
|
|
|
1028
1028
|
"use client";
|
|
1029
1029
|
|
|
1030
1030
|
import { ComponentPropsWithoutRef, forwardRef } from "react";
|
|
1031
|
+
import { Slottable } from "@radix-ui/react-slot";
|
|
1031
1032
|
|
|
1032
1033
|
import {
|
|
1033
1034
|
Tooltip,
|
|
@@ -1056,7 +1057,7 @@ export const TooltipIconButton = forwardRef<
|
|
|
1056
1057
|
className={cn("size-6 p-1", className)}
|
|
1057
1058
|
ref={ref}
|
|
1058
1059
|
>
|
|
1059
|
-
{children}
|
|
1060
|
+
<Slottable>{children}</Slottable>
|
|
1060
1061
|
<span className="sr-only">{tooltip}</span>
|
|
1061
1062
|
</Button>
|
|
1062
1063
|
</TooltipTrigger>
|
|
@@ -1247,15 +1248,15 @@ export default nextConfig;
|
|
|
1247
1248
|
"lint": "next lint"
|
|
1248
1249
|
},
|
|
1249
1250
|
"dependencies": {
|
|
1250
|
-
"@ai-sdk/openai": "^
|
|
1251
|
+
"@ai-sdk/openai": "^2.0.15",
|
|
1251
1252
|
"@assistant-ui/react": "workspace:*",
|
|
1252
1253
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
1253
1254
|
"@radix-ui/react-slot": "^1.2.3",
|
|
1254
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
1255
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
1255
1256
|
"class-variance-authority": "^0.7.1",
|
|
1256
1257
|
"clsx": "^2.1.1",
|
|
1257
|
-
"lucide-react": "^0.
|
|
1258
|
-
"next": "15.4.
|
|
1258
|
+
"lucide-react": "^0.539.0",
|
|
1259
|
+
"next": "15.4.6",
|
|
1259
1260
|
"react": "19.1.1",
|
|
1260
1261
|
"react-dom": "19.1.1",
|
|
1261
1262
|
"remark-gfm": "^4.0.1",
|
|
@@ -1268,9 +1269,9 @@ export default nextConfig;
|
|
|
1268
1269
|
"@types/react": "^19",
|
|
1269
1270
|
"@types/react-dom": "^19",
|
|
1270
1271
|
"eslint": "^9",
|
|
1271
|
-
"eslint-config-next": "15.4.
|
|
1272
|
+
"eslint-config-next": "15.4.6",
|
|
1272
1273
|
"postcss": "^8",
|
|
1273
|
-
"tailwindcss": "^4.1.
|
|
1274
|
+
"tailwindcss": "^4.1.12",
|
|
1274
1275
|
"typescript": "^5"
|
|
1275
1276
|
}
|
|
1276
1277
|
}
|
|
@@ -1365,6 +1366,7 @@ This pattern is useful for:
|
|
|
1365
1366
|
"@/*": ["./*"],
|
|
1366
1367
|
"@assistant-ui/*": ["../../packages/*/src"],
|
|
1367
1368
|
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
1369
|
+
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
1368
1370
|
"assistant-stream": ["../../packages/assistant-stream/src"],
|
|
1369
1371
|
"assistant-stream/*": ["../../packages/assistant-stream/src/*"]
|
|
1370
1372
|
}
|