@assistant-ui/mcp-docs-server 0.1.17 → 0.1.18
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-ag-ui.md +146 -152
- package/.docs/organized/code-examples/with-ai-sdk-v5.md +96 -101
- package/.docs/organized/code-examples/with-assistant-transport.md +132 -220
- package/.docs/organized/code-examples/with-cloud.md +124 -131
- package/.docs/organized/code-examples/with-custom-thread-list.md +26 -46
- package/.docs/organized/code-examples/with-external-store.md +146 -151
- package/.docs/organized/code-examples/with-ffmpeg.md +129 -139
- package/.docs/organized/code-examples/with-langgraph.md +231 -225
- package/.docs/organized/code-examples/with-parent-id-grouping.md +146 -151
- package/.docs/organized/code-examples/with-react-hook-form.md +146 -152
- package/.docs/organized/code-examples/{store-example.md → with-store.md} +16 -20
- package/.docs/organized/code-examples/with-tanstack.md +23 -41
- package/.docs/raw/docs/runtimes/custom/custom-thread-list.mdx +36 -0
- package/.docs/raw/docs/runtimes/custom/local.mdx +31 -8
- package/.docs/raw/docs/ui/Scrollbar.mdx +0 -6
- package/dist/constants.d.ts +10 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +14 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -1
- package/dist/index.js.map +1 -0
- package/dist/prepare-docs/code-examples.d.ts +2 -0
- package/dist/prepare-docs/code-examples.d.ts.map +1 -0
- package/dist/prepare-docs/code-examples.js +129 -0
- package/dist/prepare-docs/code-examples.js.map +1 -0
- package/dist/prepare-docs/copy-raw.d.ts +2 -0
- package/dist/prepare-docs/copy-raw.d.ts.map +1 -0
- package/dist/prepare-docs/copy-raw.js +50 -0
- package/dist/prepare-docs/copy-raw.js.map +1 -0
- package/dist/prepare-docs/prepare.d.ts +2 -0
- package/dist/prepare-docs/prepare.d.ts.map +1 -0
- package/dist/prepare-docs/prepare.js +18 -195
- package/dist/prepare-docs/prepare.js.map +1 -0
- package/dist/stdio.d.ts +3 -0
- package/dist/stdio.d.ts.map +1 -0
- package/dist/stdio.js +4 -5
- package/dist/stdio.js.map +1 -0
- package/dist/tools/docs.d.ts +23 -0
- package/dist/tools/docs.d.ts.map +1 -0
- package/dist/tools/docs.js +168 -0
- package/dist/tools/docs.js.map +1 -0
- package/dist/tools/examples.d.ts +23 -0
- package/dist/tools/examples.d.ts.map +1 -0
- package/dist/tools/examples.js +95 -0
- package/dist/tools/examples.js.map +1 -0
- package/dist/tools/tests/test-setup.d.ts +4 -0
- package/dist/tools/tests/test-setup.d.ts.map +1 -0
- package/dist/tools/tests/test-setup.js +36 -0
- package/dist/tools/tests/test-setup.js.map +1 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +20 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/mcp-format.d.ts +7 -0
- package/dist/utils/mcp-format.d.ts.map +1 -0
- package/dist/utils/mcp-format.js +11 -0
- package/dist/utils/mcp-format.js.map +1 -0
- package/dist/utils/mdx.d.ts +9 -0
- package/dist/utils/mdx.d.ts.map +1 -0
- package/dist/utils/mdx.js +27 -0
- package/dist/utils/mdx.js.map +1 -0
- package/dist/utils/paths.d.ts +8 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +84 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/security.d.ts +2 -0
- package/dist/utils/security.d.ts.map +1 -0
- package/dist/utils/security.js +43 -0
- package/dist/utils/security.js.map +1 -0
- package/package.json +37 -19
- package/src/constants.ts +22 -0
- package/src/index.ts +51 -0
- package/src/prepare-docs/code-examples.ts +158 -0
- package/src/prepare-docs/copy-raw.ts +55 -0
- package/src/prepare-docs/prepare.ts +24 -0
- package/src/stdio.ts +7 -0
- package/src/tools/docs.ts +207 -0
- package/src/tools/examples.ts +107 -0
- package/src/tools/tests/docs.test.ts +122 -0
- package/src/tools/tests/examples.test.ts +94 -0
- package/src/tools/tests/integration.test.ts +46 -0
- package/src/tools/tests/json-parsing.test.ts +23 -0
- package/src/tools/tests/mcp-protocol.test.ts +133 -0
- package/src/tools/tests/path-traversal.test.ts +81 -0
- package/src/tools/tests/test-setup.ts +40 -0
- package/src/utils/logger.ts +20 -0
- package/src/utils/mcp-format.ts +12 -0
- package/src/utils/mdx.ts +39 -0
- package/src/utils/paths.ts +114 -0
- package/src/utils/security.ts +52 -0
- package/src/utils/tests/security.test.ts +119 -0
- package/dist/chunk-M2RKUM66.js +0 -38
- package/dist/chunk-NVNFQ5ZO.js +0 -423
|
@@ -9,43 +9,41 @@
|
|
|
9
9
|
@custom-variant dark (&:is(.dark *));
|
|
10
10
|
|
|
11
11
|
@theme inline {
|
|
12
|
-
--color-background: var(--background);
|
|
13
|
-
--color-foreground: var(--foreground);
|
|
14
|
-
--font-sans: var(--font-geist-sans);
|
|
15
|
-
--font-mono: var(--font-geist-mono);
|
|
16
|
-
--color-sidebar-ring: var(--sidebar-ring);
|
|
17
|
-
--color-sidebar-border: var(--sidebar-border);
|
|
18
|
-
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
19
|
-
--color-sidebar-accent: var(--sidebar-accent);
|
|
20
|
-
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
21
|
-
--color-sidebar-primary: var(--sidebar-primary);
|
|
22
|
-
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
23
|
-
--color-sidebar: var(--sidebar);
|
|
24
|
-
--color-chart-5: var(--chart-5);
|
|
25
|
-
--color-chart-4: var(--chart-4);
|
|
26
|
-
--color-chart-3: var(--chart-3);
|
|
27
|
-
--color-chart-2: var(--chart-2);
|
|
28
|
-
--color-chart-1: var(--chart-1);
|
|
29
|
-
--color-ring: var(--ring);
|
|
30
|
-
--color-input: var(--input);
|
|
31
|
-
--color-border: var(--border);
|
|
32
|
-
--color-destructive: var(--destructive);
|
|
33
|
-
--color-accent-foreground: var(--accent-foreground);
|
|
34
|
-
--color-accent: var(--accent);
|
|
35
|
-
--color-muted-foreground: var(--muted-foreground);
|
|
36
|
-
--color-muted: var(--muted);
|
|
37
|
-
--color-secondary-foreground: var(--secondary-foreground);
|
|
38
|
-
--color-secondary: var(--secondary);
|
|
39
|
-
--color-primary-foreground: var(--primary-foreground);
|
|
40
|
-
--color-primary: var(--primary);
|
|
41
|
-
--color-popover-foreground: var(--popover-foreground);
|
|
42
|
-
--color-popover: var(--popover);
|
|
43
|
-
--color-card-foreground: var(--card-foreground);
|
|
44
|
-
--color-card: var(--card);
|
|
45
12
|
--radius-sm: calc(var(--radius) - 4px);
|
|
46
13
|
--radius-md: calc(var(--radius) - 2px);
|
|
47
14
|
--radius-lg: var(--radius);
|
|
48
15
|
--radius-xl: calc(var(--radius) + 4px);
|
|
16
|
+
--color-background: var(--background);
|
|
17
|
+
--color-foreground: var(--foreground);
|
|
18
|
+
--color-card: var(--card);
|
|
19
|
+
--color-card-foreground: var(--card-foreground);
|
|
20
|
+
--color-popover: var(--popover);
|
|
21
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
22
|
+
--color-primary: var(--primary);
|
|
23
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
24
|
+
--color-secondary: var(--secondary);
|
|
25
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
26
|
+
--color-muted: var(--muted);
|
|
27
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
28
|
+
--color-accent: var(--accent);
|
|
29
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
30
|
+
--color-destructive: var(--destructive);
|
|
31
|
+
--color-border: var(--border);
|
|
32
|
+
--color-input: var(--input);
|
|
33
|
+
--color-ring: var(--ring);
|
|
34
|
+
--color-chart-1: var(--chart-1);
|
|
35
|
+
--color-chart-2: var(--chart-2);
|
|
36
|
+
--color-chart-3: var(--chart-3);
|
|
37
|
+
--color-chart-4: var(--chart-4);
|
|
38
|
+
--color-chart-5: var(--chart-5);
|
|
39
|
+
--color-sidebar: var(--sidebar);
|
|
40
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
41
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
42
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
43
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
44
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
45
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
46
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
49
47
|
}
|
|
50
48
|
|
|
51
49
|
:root {
|
|
@@ -811,7 +809,7 @@ const ThreadScrollToBottom: FC = () => {
|
|
|
811
809
|
<TooltipIconButton
|
|
812
810
|
tooltip="Scroll to bottom"
|
|
813
811
|
variant="outline"
|
|
814
|
-
className="aui-thread-scroll-to-bottom -top-12
|
|
812
|
+
className="aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent"
|
|
815
813
|
>
|
|
816
814
|
<ArrowDownIcon />
|
|
817
815
|
</TooltipIconButton>
|
|
@@ -975,7 +973,7 @@ const AssistantActionBar: FC = () => {
|
|
|
975
973
|
hideWhenRunning
|
|
976
974
|
autohide="not-last"
|
|
977
975
|
autohideFloat="single-branch"
|
|
978
|
-
className="aui-assistant-action-bar-root
|
|
976
|
+
className="aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex gap-1 text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm"
|
|
979
977
|
>
|
|
980
978
|
<ActionBarPrimitive.Copy asChild>
|
|
981
979
|
<TooltipIconButton tooltip="Copy">
|
|
@@ -1013,12 +1011,12 @@ const UserMessage: FC = () => {
|
|
|
1013
1011
|
<div className="aui-user-message-content wrap-break-word rounded-2xl bg-muted px-4 py-2.5 text-foreground">
|
|
1014
1012
|
<MessagePrimitive.Parts />
|
|
1015
1013
|
</div>
|
|
1016
|
-
<div className="aui-user-action-bar-wrapper -translate-x-full -translate-y-1/2
|
|
1014
|
+
<div className="aui-user-action-bar-wrapper absolute top-1/2 left-0 -translate-x-full -translate-y-1/2 pr-2">
|
|
1017
1015
|
<UserActionBar />
|
|
1018
1016
|
</div>
|
|
1019
1017
|
</div>
|
|
1020
1018
|
|
|
1021
|
-
<BranchPicker className="aui-user-branch-picker
|
|
1019
|
+
<BranchPicker className="aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end" />
|
|
1022
1020
|
</MessagePrimitive.Root>
|
|
1023
1021
|
);
|
|
1024
1022
|
};
|
|
@@ -1070,7 +1068,7 @@ const BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({
|
|
|
1070
1068
|
<BranchPickerPrimitive.Root
|
|
1071
1069
|
hideWhenSingleBranch
|
|
1072
1070
|
className={cn(
|
|
1073
|
-
"aui-branch-picker-root -
|
|
1071
|
+
"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-muted-foreground text-xs",
|
|
1074
1072
|
className,
|
|
1075
1073
|
)}
|
|
1076
1074
|
{...rest}
|
|
@@ -1251,47 +1249,50 @@ import * as AvatarPrimitive from "@radix-ui/react-avatar";
|
|
|
1251
1249
|
|
|
1252
1250
|
import { cn } from "@/lib/utils";
|
|
1253
1251
|
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
)
|
|
1294
|
-
|
|
1252
|
+
function Avatar({
|
|
1253
|
+
className,
|
|
1254
|
+
...props
|
|
1255
|
+
}: React.ComponentProps<typeof AvatarPrimitive.Root>) {
|
|
1256
|
+
return (
|
|
1257
|
+
<AvatarPrimitive.Root
|
|
1258
|
+
data-slot="avatar"
|
|
1259
|
+
className={cn(
|
|
1260
|
+
"relative flex size-8 shrink-0 overflow-hidden rounded-full",
|
|
1261
|
+
className,
|
|
1262
|
+
)}
|
|
1263
|
+
{...props}
|
|
1264
|
+
/>
|
|
1265
|
+
);
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
function AvatarImage({
|
|
1269
|
+
className,
|
|
1270
|
+
...props
|
|
1271
|
+
}: React.ComponentProps<typeof AvatarPrimitive.Image>) {
|
|
1272
|
+
return (
|
|
1273
|
+
<AvatarPrimitive.Image
|
|
1274
|
+
data-slot="avatar-image"
|
|
1275
|
+
className={cn("aspect-square size-full", className)}
|
|
1276
|
+
{...props}
|
|
1277
|
+
/>
|
|
1278
|
+
);
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
function AvatarFallback({
|
|
1282
|
+
className,
|
|
1283
|
+
...props
|
|
1284
|
+
}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {
|
|
1285
|
+
return (
|
|
1286
|
+
<AvatarPrimitive.Fallback
|
|
1287
|
+
data-slot="avatar-fallback"
|
|
1288
|
+
className={cn(
|
|
1289
|
+
"flex size-full items-center justify-center rounded-full bg-muted",
|
|
1290
|
+
className,
|
|
1291
|
+
)}
|
|
1292
|
+
{...props}
|
|
1293
|
+
/>
|
|
1294
|
+
);
|
|
1295
|
+
}
|
|
1295
1296
|
|
|
1296
1297
|
export { Avatar, AvatarImage, AvatarFallback };
|
|
1297
1298
|
|
|
@@ -1300,8 +1301,6 @@ export { Avatar, AvatarImage, AvatarFallback };
|
|
|
1300
1301
|
## components/ui/button.tsx
|
|
1301
1302
|
|
|
1302
1303
|
```tsx
|
|
1303
|
-
"use client";
|
|
1304
|
-
|
|
1305
1304
|
import * as React from "react";
|
|
1306
1305
|
import { Slot } from "@radix-ui/react-slot";
|
|
1307
1306
|
import { cva, type VariantProps } from "class-variance-authority";
|
|
@@ -1309,26 +1308,28 @@ import { cva, type VariantProps } from "class-variance-authority";
|
|
|
1309
1308
|
import { cn } from "@/lib/utils";
|
|
1310
1309
|
|
|
1311
1310
|
const buttonVariants = cva(
|
|
1312
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm transition-
|
|
1311
|
+
"inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium text-sm outline-none transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",
|
|
1313
1312
|
{
|
|
1314
1313
|
variants: {
|
|
1315
1314
|
variant: {
|
|
1316
|
-
default:
|
|
1317
|
-
"bg-primary text-primary-foreground shadow hover:bg-primary/90",
|
|
1315
|
+
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
1318
1316
|
destructive:
|
|
1319
|
-
"bg-destructive text-destructive
|
|
1317
|
+
"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40",
|
|
1320
1318
|
outline:
|
|
1321
|
-
"border
|
|
1319
|
+
"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
|
|
1322
1320
|
secondary:
|
|
1323
|
-
"bg-secondary text-secondary-foreground
|
|
1324
|
-
ghost:
|
|
1321
|
+
"bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
1322
|
+
ghost:
|
|
1323
|
+
"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
1325
1324
|
link: "text-primary underline-offset-4 hover:underline",
|
|
1326
1325
|
},
|
|
1327
1326
|
size: {
|
|
1328
|
-
default: "h-9 px-4 py-2",
|
|
1329
|
-
sm: "h-8 rounded-md px-3
|
|
1330
|
-
lg: "h-10 rounded-md px-
|
|
1331
|
-
icon: "
|
|
1327
|
+
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
1328
|
+
sm: "h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5",
|
|
1329
|
+
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
1330
|
+
icon: "size-9",
|
|
1331
|
+
"icon-sm": "size-8",
|
|
1332
|
+
"icon-lg": "size-10",
|
|
1332
1333
|
},
|
|
1333
1334
|
},
|
|
1334
1335
|
defaultVariants: {
|
|
@@ -1338,25 +1339,28 @@ const buttonVariants = cva(
|
|
|
1338
1339
|
},
|
|
1339
1340
|
);
|
|
1340
1341
|
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1342
|
+
function Button({
|
|
1343
|
+
className,
|
|
1344
|
+
variant = "default",
|
|
1345
|
+
size = "default",
|
|
1346
|
+
asChild = false,
|
|
1347
|
+
...props
|
|
1348
|
+
}: React.ComponentProps<"button"> &
|
|
1349
|
+
VariantProps<typeof buttonVariants> & {
|
|
1350
|
+
asChild?: boolean;
|
|
1351
|
+
}) {
|
|
1352
|
+
const Comp = asChild ? Slot : "button";
|
|
1346
1353
|
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
},
|
|
1358
|
-
);
|
|
1359
|
-
Button.displayName = "Button";
|
|
1354
|
+
return (
|
|
1355
|
+
<Comp
|
|
1356
|
+
data-slot="button"
|
|
1357
|
+
data-variant={variant}
|
|
1358
|
+
data-size={size}
|
|
1359
|
+
className={cn(buttonVariants({ variant, size, className }))}
|
|
1360
|
+
{...props}
|
|
1361
|
+
/>
|
|
1362
|
+
);
|
|
1363
|
+
}
|
|
1360
1364
|
|
|
1361
1365
|
export { Button, buttonVariants };
|
|
1362
1366
|
|
|
@@ -1405,7 +1409,7 @@ function DialogOverlay({
|
|
|
1405
1409
|
<DialogPrimitive.Overlay
|
|
1406
1410
|
data-slot="dialog-overlay"
|
|
1407
1411
|
className={cn(
|
|
1408
|
-
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/
|
|
1412
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=open]:animate-in",
|
|
1409
1413
|
className,
|
|
1410
1414
|
)}
|
|
1411
1415
|
{...props}
|
|
@@ -1416,24 +1420,32 @@ function DialogOverlay({
|
|
|
1416
1420
|
function DialogContent({
|
|
1417
1421
|
className,
|
|
1418
1422
|
children,
|
|
1423
|
+
showCloseButton = true,
|
|
1419
1424
|
...props
|
|
1420
|
-
}: React.ComponentProps<typeof DialogPrimitive.Content>
|
|
1425
|
+
}: React.ComponentProps<typeof DialogPrimitive.Content> & {
|
|
1426
|
+
showCloseButton?: boolean;
|
|
1427
|
+
}) {
|
|
1421
1428
|
return (
|
|
1422
1429
|
<DialogPortal data-slot="dialog-portal">
|
|
1423
1430
|
<DialogOverlay />
|
|
1424
1431
|
<DialogPrimitive.Content
|
|
1425
1432
|
data-slot="dialog-content"
|
|
1426
1433
|
className={cn(
|
|
1427
|
-
"data-[state=closed]:fade-out-0 data-[state=
|
|
1434
|
+
"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg outline-none duration-200 data-[state=closed]:animate-out data-[state=open]:animate-in sm:max-w-lg",
|
|
1428
1435
|
className,
|
|
1429
1436
|
)}
|
|
1430
1437
|
{...props}
|
|
1431
1438
|
>
|
|
1432
1439
|
{children}
|
|
1433
|
-
|
|
1434
|
-
<
|
|
1435
|
-
|
|
1436
|
-
|
|
1440
|
+
{showCloseButton && (
|
|
1441
|
+
<DialogPrimitive.Close
|
|
1442
|
+
data-slot="dialog-close"
|
|
1443
|
+
className="absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0"
|
|
1444
|
+
>
|
|
1445
|
+
<XIcon />
|
|
1446
|
+
<span className="sr-only">Close</span>
|
|
1447
|
+
</DialogPrimitive.Close>
|
|
1448
|
+
)}
|
|
1437
1449
|
</DialogPrimitive.Content>
|
|
1438
1450
|
</DialogPortal>
|
|
1439
1451
|
);
|
|
@@ -1554,13 +1566,13 @@ function TooltipContent({
|
|
|
1554
1566
|
data-slot="tooltip-content"
|
|
1555
1567
|
sideOffset={sideOffset}
|
|
1556
1568
|
className={cn(
|
|
1557
|
-
"fade-in-0 zoom-in-95 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 z-50 w-fit origin-
|
|
1569
|
+
"fade-in-0 zoom-in-95 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in text-balance rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[state=closed]:animate-out",
|
|
1558
1570
|
className,
|
|
1559
1571
|
)}
|
|
1560
1572
|
{...props}
|
|
1561
1573
|
>
|
|
1562
1574
|
{children}
|
|
1563
|
-
<TooltipPrimitive.Arrow className="z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-
|
|
1575
|
+
<TooltipPrimitive.Arrow className="z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" />
|
|
1564
1576
|
</TooltipPrimitive.Content>
|
|
1565
1577
|
</TooltipPrimitive.Portal>
|
|
1566
1578
|
);
|
|
@@ -1600,15 +1612,15 @@ export default nextConfig;
|
|
|
1600
1612
|
```json
|
|
1601
1613
|
{
|
|
1602
1614
|
"name": "with-external-store",
|
|
1603
|
-
"version": "0.
|
|
1615
|
+
"version": "0.0.0",
|
|
1604
1616
|
"private": true,
|
|
1617
|
+
"type": "module",
|
|
1605
1618
|
"scripts": {
|
|
1606
|
-
"dev": "next dev
|
|
1619
|
+
"dev": "next dev",
|
|
1607
1620
|
"build": "next build",
|
|
1608
1621
|
"start": "next start"
|
|
1609
1622
|
},
|
|
1610
1623
|
"dependencies": {
|
|
1611
|
-
"@ai-sdk/openai": "^2.0.84",
|
|
1612
1624
|
"@assistant-ui/react": "workspace:*",
|
|
1613
1625
|
"@assistant-ui/react-markdown": "workspace:*",
|
|
1614
1626
|
"@radix-ui/react-avatar": "^1.1.11",
|
|
@@ -1617,23 +1629,24 @@ export default nextConfig;
|
|
|
1617
1629
|
"@radix-ui/react-tooltip": "^1.2.8",
|
|
1618
1630
|
"class-variance-authority": "^0.7.1",
|
|
1619
1631
|
"clsx": "^2.1.1",
|
|
1620
|
-
"lucide-react": "^0.
|
|
1621
|
-
"next": "16.0
|
|
1632
|
+
"lucide-react": "^0.562.0",
|
|
1633
|
+
"next": "16.1.0",
|
|
1622
1634
|
"react": "19.2.3",
|
|
1623
1635
|
"react-dom": "19.2.3",
|
|
1624
1636
|
"remark-gfm": "^4.0.1",
|
|
1625
1637
|
"tailwind-merge": "^3.4.0",
|
|
1626
|
-
"tw-animate-css": "^1.4.0",
|
|
1627
1638
|
"zustand": "^5.0.9"
|
|
1628
1639
|
},
|
|
1629
1640
|
"devDependencies": {
|
|
1630
1641
|
"@assistant-ui/x-buildutils": "workspace:*",
|
|
1631
|
-
"@
|
|
1632
|
-
"@types/
|
|
1633
|
-
"@types/react
|
|
1634
|
-
"
|
|
1642
|
+
"@tailwindcss/postcss": "^4.1.18",
|
|
1643
|
+
"@types/node": "^25.0.3",
|
|
1644
|
+
"@types/react": "^19.2.7",
|
|
1645
|
+
"@types/react-dom": "^19.2.3",
|
|
1646
|
+
"postcss": "^8.5.6",
|
|
1635
1647
|
"tailwindcss": "^4.1.18",
|
|
1636
|
-
"
|
|
1648
|
+
"tw-animate-css": "^1.4.0",
|
|
1649
|
+
"typescript": "^5.9.3"
|
|
1637
1650
|
}
|
|
1638
1651
|
}
|
|
1639
1652
|
|
|
@@ -1643,29 +1656,11 @@ export default nextConfig;
|
|
|
1643
1656
|
|
|
1644
1657
|
```json
|
|
1645
1658
|
{
|
|
1646
|
-
"extends": "@assistant-ui/x-buildutils/ts/
|
|
1659
|
+
"extends": "@assistant-ui/x-buildutils/ts/next",
|
|
1647
1660
|
"compilerOptions": {
|
|
1648
|
-
"
|
|
1649
|
-
"module": "ESNext",
|
|
1650
|
-
"incremental": true,
|
|
1651
|
-
"plugins": [
|
|
1652
|
-
{
|
|
1653
|
-
"name": "next"
|
|
1654
|
-
}
|
|
1655
|
-
],
|
|
1656
|
-
"allowJs": true,
|
|
1657
|
-
"strictNullChecks": true,
|
|
1658
|
-
"jsx": "preserve",
|
|
1659
|
-
"paths": {
|
|
1660
|
-
"@/*": ["./*"],
|
|
1661
|
-
"@assistant-ui/*": ["../../packages/*/src"],
|
|
1662
|
-
"@assistant-ui/react/*": ["../../packages/react/src/*"],
|
|
1663
|
-
"@assistant-ui/tap/*": ["../../packages/tap/src/*"],
|
|
1664
|
-
"assistant-stream": ["../../packages/assistant-stream/src"],
|
|
1665
|
-
"assistant-stream/*": ["../../packages/assistant-stream/src/*"]
|
|
1666
|
-
}
|
|
1661
|
+
"paths": { "@/*": ["./*"] }
|
|
1667
1662
|
},
|
|
1668
|
-
"include": ["
|
|
1663
|
+
"include": ["**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
|
1669
1664
|
"exclude": ["node_modules"]
|
|
1670
1665
|
}
|
|
1671
1666
|
|