@chat-lab/ui 0.1.0-beta.16 → 0.1.0-beta.17

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.
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+
5
+ const ClearIcon = ({ className }) => (jsxRuntime.jsxs("svg", { className: className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsxRuntime.jsx("g", { "clip-path": "url(#clip0_234_15389)", children: jsxRuntime.jsx("path", { d: "M9.66699 1.33301C9.85098 1.33314 10 1.48298 10 1.66699V4H14.333C14.517 4 14.6668 4.14906 14.667 4.33301V8C14.667 8.18409 14.5171 8.33301 14.333 8.33301H13.8984L14.8643 13.8857C14.9273 14.2485 14.684 14.5941 14.3213 14.6572C14.2837 14.6637 14.2452 14.667 14.207 14.667H1.79297C1.42478 14.667 1.12598 14.3682 1.12598 14C1.12598 13.9617 1.12918 13.9235 1.13574 13.8857L2.10156 8.33301H1.66699C1.4829 8.33301 1.33301 8.18409 1.33301 8V4.33301C1.33318 4.14906 1.48301 4 1.66699 4H6V1.66699C6 1.48303 6.1491 1.33323 6.33301 1.33301H9.66699ZM2.58496 13.333H5.33301V10.667C5.33301 10.4829 5.4829 10.333 5.66699 10.333H6.33301C6.5171 10.333 6.66699 10.4829 6.66699 10.667V13.333H9.66699V10.667C9.66699 10.4829 9.81594 10.3331 10 10.333H10.667C10.851 10.3331 11 10.483 11 10.667V13.333H13.415L12.5449 8.33301H3.45508L2.58496 13.333ZM7.33301 5.33301H2.66699V7H13.333V5.33301H8.66699V2.66699H7.33301V5.33301Z", fill: "#272E3B" }) }), jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: "clip0_234_15389", children: jsxRuntime.jsx("rect", { width: "16", height: "16", fill: "white" }) }) })] }));
6
+
7
+ module.exports = ClearIcon;
8
+ //# sourceMappingURL=ClearIcon.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearIcon.cjs","sources":["../../src/assets/ClearIcon.tsx"],"sourcesContent":["const ClearIcon = ({ className }: { className?: string }) => (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_234_15389)\">\n <path\n d=\"M9.66699 1.33301C9.85098 1.33314 10 1.48298 10 1.66699V4H14.333C14.517 4 14.6668 4.14906 14.667 4.33301V8C14.667 8.18409 14.5171 8.33301 14.333 8.33301H13.8984L14.8643 13.8857C14.9273 14.2485 14.684 14.5941 14.3213 14.6572C14.2837 14.6637 14.2452 14.667 14.207 14.667H1.79297C1.42478 14.667 1.12598 14.3682 1.12598 14C1.12598 13.9617 1.12918 13.9235 1.13574 13.8857L2.10156 8.33301H1.66699C1.4829 8.33301 1.33301 8.18409 1.33301 8V4.33301C1.33318 4.14906 1.48301 4 1.66699 4H6V1.66699C6 1.48303 6.1491 1.33323 6.33301 1.33301H9.66699ZM2.58496 13.333H5.33301V10.667C5.33301 10.4829 5.4829 10.333 5.66699 10.333H6.33301C6.5171 10.333 6.66699 10.4829 6.66699 10.667V13.333H9.66699V10.667C9.66699 10.4829 9.81594 10.3331 10 10.333H10.667C10.851 10.3331 11 10.483 11 10.667V13.333H13.415L12.5449 8.33301H3.45508L2.58496 13.333ZM7.33301 5.33301H2.66699V7H13.333V5.33301H8.66699V2.66699H7.33301V5.33301Z\"\n fill=\"#272E3B\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_234_15389\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default ClearIcon;"],"names":["_jsxs","_jsx"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,CAAC,EAAE,SAAS,EAA0B,MACtDA,eACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAElC,QAAA,EAAA,CAAAC,cAAA,CAAA,GAAA,EAAA,EAAA,WAAA,EAAa,uBAAuB,EAAA,QAAA,EAClCA,cACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,k4BAAk4B,EACp4B,IAAI,EAAC,SAAS,EAAA,CACd,GACA,EACJA,cAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EACEA,cAAU,CAAA,UAAA,EAAA,EAAA,EAAE,EAAC,iBAAiB,EAAA,QAAA,EAC5BA,cAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAG,CAAA,EAAA,CACnC,EACN,CAAA,CAAA,EAAA,CACH;;;;"}
@@ -0,0 +1,5 @@
1
+ declare const ClearIcon: ({ className }: {
2
+ className?: string;
3
+ }) => JSX.Element;
4
+ export default ClearIcon;
5
+ //# sourceMappingURL=ClearIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearIcon.d.ts","sourceRoot":"","sources":["../../src/assets/ClearIcon.tsx"],"names":[],"mappings":"AAAA,QAAA,MAAM,SAAS,GAAI,eAAe;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,gBAqBvD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
+
3
+ const ClearIcon = ({ className }) => (jsxs("svg", { className: className, width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [jsx("g", { "clip-path": "url(#clip0_234_15389)", children: jsx("path", { d: "M9.66699 1.33301C9.85098 1.33314 10 1.48298 10 1.66699V4H14.333C14.517 4 14.6668 4.14906 14.667 4.33301V8C14.667 8.18409 14.5171 8.33301 14.333 8.33301H13.8984L14.8643 13.8857C14.9273 14.2485 14.684 14.5941 14.3213 14.6572C14.2837 14.6637 14.2452 14.667 14.207 14.667H1.79297C1.42478 14.667 1.12598 14.3682 1.12598 14C1.12598 13.9617 1.12918 13.9235 1.13574 13.8857L2.10156 8.33301H1.66699C1.4829 8.33301 1.33301 8.18409 1.33301 8V4.33301C1.33318 4.14906 1.48301 4 1.66699 4H6V1.66699C6 1.48303 6.1491 1.33323 6.33301 1.33301H9.66699ZM2.58496 13.333H5.33301V10.667C5.33301 10.4829 5.4829 10.333 5.66699 10.333H6.33301C6.5171 10.333 6.66699 10.4829 6.66699 10.667V13.333H9.66699V10.667C9.66699 10.4829 9.81594 10.3331 10 10.333H10.667C10.851 10.3331 11 10.483 11 10.667V13.333H13.415L12.5449 8.33301H3.45508L2.58496 13.333ZM7.33301 5.33301H2.66699V7H13.333V5.33301H8.66699V2.66699H7.33301V5.33301Z", fill: "#272E3B" }) }), jsx("defs", { children: jsx("clipPath", { id: "clip0_234_15389", children: jsx("rect", { width: "16", height: "16", fill: "white" }) }) })] }));
4
+
5
+ export { ClearIcon as default };
6
+ //# sourceMappingURL=ClearIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClearIcon.js","sources":["../../src/assets/ClearIcon.tsx"],"sourcesContent":["const ClearIcon = ({ className }: { className?: string }) => (\n <svg\n className={className}\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clip-path=\"url(#clip0_234_15389)\">\n <path\n d=\"M9.66699 1.33301C9.85098 1.33314 10 1.48298 10 1.66699V4H14.333C14.517 4 14.6668 4.14906 14.667 4.33301V8C14.667 8.18409 14.5171 8.33301 14.333 8.33301H13.8984L14.8643 13.8857C14.9273 14.2485 14.684 14.5941 14.3213 14.6572C14.2837 14.6637 14.2452 14.667 14.207 14.667H1.79297C1.42478 14.667 1.12598 14.3682 1.12598 14C1.12598 13.9617 1.12918 13.9235 1.13574 13.8857L2.10156 8.33301H1.66699C1.4829 8.33301 1.33301 8.18409 1.33301 8V4.33301C1.33318 4.14906 1.48301 4 1.66699 4H6V1.66699C6 1.48303 6.1491 1.33323 6.33301 1.33301H9.66699ZM2.58496 13.333H5.33301V10.667C5.33301 10.4829 5.4829 10.333 5.66699 10.333H6.33301C6.5171 10.333 6.66699 10.4829 6.66699 10.667V13.333H9.66699V10.667C9.66699 10.4829 9.81594 10.3331 10 10.333H10.667C10.851 10.3331 11 10.483 11 10.667V13.333H13.415L12.5449 8.33301H3.45508L2.58496 13.333ZM7.33301 5.33301H2.66699V7H13.333V5.33301H8.66699V2.66699H7.33301V5.33301Z\"\n fill=\"#272E3B\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_234_15389\">\n <rect width=\"16\" height=\"16\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n\nexport default ClearIcon;"],"names":["_jsxs","_jsx"],"mappings":";;AAAA,MAAM,SAAS,GAAG,CAAC,EAAE,SAAS,EAA0B,MACtDA,IACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAElC,QAAA,EAAA,CAAAC,GAAA,CAAA,GAAA,EAAA,EAAA,WAAA,EAAa,uBAAuB,EAAA,QAAA,EAClCA,GACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,k4BAAk4B,EACp4B,IAAI,EAAC,SAAS,EAAA,CACd,GACA,EACJA,GAAA,CAAA,MAAA,EAAA,EAAA,QAAA,EACEA,GAAU,CAAA,UAAA,EAAA,EAAA,EAAE,EAAC,iBAAiB,EAAA,QAAA,EAC5BA,GAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAG,CAAA,EAAA,CACnC,EACN,CAAA,CAAA,EAAA,CACH;;;;"}
@@ -23,6 +23,7 @@ var welcome = require('../welcome.cjs');
23
23
  var download = require('../../utils/download.cjs');
24
24
  var Download = require('../../assets/Download.cjs');
25
25
  var AbortMessage = require('../../assets/AbortMessage.cjs');
26
+ var ClearIcon = require('../../assets/ClearIcon.cjs');
26
27
  var index = require('../../node_modules/.pnpm/framer-motion@12.23.24_@emotion_is-prop-valid@1.4.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/framer-motion/dist/es/components/LazyMotion/index.cjs');
27
28
  var featuresAnimation = require('../../node_modules/.pnpm/framer-motion@12.23.24_@emotion_is-prop-valid@1.4.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/framer-motion/dist/es/render/dom/features-animation.cjs');
28
29
  var index$1 = require('../../node_modules/.pnpm/framer-motion@12.23.24_@emotion_is-prop-valid@1.4.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/framer-motion/dist/es/components/MotionConfig/index.cjs');
@@ -120,7 +121,7 @@ const ClearThread = () => {
120
121
  const handleCreateNewThread = () => {
121
122
  ref.current?.clearCurrentThread();
122
123
  };
123
- return (jsxRuntime.jsx("div", { className: "absolute -top-12 h-[20px]", children: jsxRuntime.jsxs("button", { onClick: handleCreateNewThread, className: "flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none", "aria-label": "\u65B0\u5EFA\u4F1A\u8BDD", children: [jsxRuntime.jsx("span", { className: "flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]", children: jsxRuntime.jsx(NewSessioin, {}) }), jsxRuntime.jsx("span", { className: "text-sm font-medium leading-[22px] z-10 ", children: "\u6E05\u7A7A\u4F1A\u8BDD" })] }) }));
124
+ return (jsxRuntime.jsx("div", { className: "absolute -top-12 h-[20px]", children: jsxRuntime.jsxs("button", { onClick: handleCreateNewThread, className: "flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none", "aria-label": "\u6E05\u7A7A\u4F1A\u8BDD", children: [jsxRuntime.jsx("span", { className: "flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]", children: jsxRuntime.jsx(ClearIcon, {}) }), jsxRuntime.jsx("span", { className: "text-sm font-medium leading-[22px] z-10 ", children: "\u6E05\u7A7A\u4F1A\u8BDD" })] }) }));
124
125
  };
125
126
  const ThreadWelcome = () => {
126
127
  return (jsxRuntime.jsx("div", { className: "aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col", children: jsxRuntime.jsx("div", { className: "aui-thread-welcome-center flex w-full flex-col items-center justify-center", children: jsxRuntime.jsx("div", { className: "aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]", children: "\u4F60\u597D" }) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"thread.cjs","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSessioin\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n 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\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"新建会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <NewSession />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">新会话</span>\n </button>\n </div>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const { currentThread } = useThread();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"新建会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <NewSession />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">\n 清空会话\n </span>\n </button>\n </div>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible rounded-t-3xl bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n {showThreadList ? <NewThread /> : <ClearThread />}\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex w-full flex-col rounded-[8px] border border-input bg-background px-1 pt-2 shadow-xs transition-[color,box-shadow] outline-none has-[textarea:focus-visible]:border-ring has-[textarea:focus-visible]:ring-[3px] has-[textarea:focus-visible]:ring-ring/50 dark:bg-background\">\n <ComposerAttachments />\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input mb-1 max-h-32 min-h-16 w-full resize-none bg-transparent px-3.5 pt-1.5 pb-3 text-base outline-none placeholder:text-muted-foreground focus-visible:ring-0\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper relative mx-1 mt-2 mb-2 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div\n key={idx}\n className=\"rounded-[8px] border size-8 border-[#0000001A] flex items-center justify-center hover:bg-muted-foreground/15\"\n >\n {plugin}\n </div>\n ))}\n </div>\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"Send message\"\n side=\"bottom\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className={cn(\n \"aui-composer-send size-[34px] rounded-full p-1 bg-[#1664FF] text-white\",\n \"hover:bg-primary/75 dark:border-muted-foreground/90\"\n )}\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-5 animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-5\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[34px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[34px] fill-white dark:fill-black\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] 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\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["welcome","useChatkitRef","useMemo","_jsx","Recommend","useChatkitContext","_jsxs","ThreadHeader","LazyMotion","domAnimation","MotionConfig","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","TooltipIconButton","ArrowDownIcon","dayjs","NewSession","ComposerPrimitive.Root","ComposerAttachments","ComposerPrimitive.Input","useChatkitPlugins","ComposerPrimitive.Send","cn","LoaderCircle","ArrowUpIcon","ComposerPrimitive.Cancel","Button","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","MarkdownText","ToolFallback","File","Reasoning","ReasoningGroup","useState","useAssistantState","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","CopyIcon","saveStringToMarkdown","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon","UserMessageAttachments"],"mappings":"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"}
1
+ {"version":3,"file":"thread.cjs","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSessioin\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\nimport ClearIcon from \"@/assets/ClearIcon\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n 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\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"新建会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <NewSession />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">新会话</span>\n </button>\n </div>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const { currentThread } = useThread();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"清空会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <ClearIcon />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">\n 清空会话\n </span>\n </button>\n </div>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible rounded-t-3xl bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n {showThreadList ? <NewThread /> : <ClearThread />}\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex w-full flex-col rounded-[8px] border border-input bg-background px-1 pt-2 shadow-xs transition-[color,box-shadow] outline-none has-[textarea:focus-visible]:border-ring has-[textarea:focus-visible]:ring-[3px] has-[textarea:focus-visible]:ring-ring/50 dark:bg-background\">\n <ComposerAttachments />\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input mb-1 max-h-32 min-h-16 w-full resize-none bg-transparent px-3.5 pt-1.5 pb-3 text-base outline-none placeholder:text-muted-foreground focus-visible:ring-0\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper relative mx-1 mt-2 mb-2 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div\n key={idx}\n className=\"rounded-[8px] border size-8 border-[#0000001A] flex items-center justify-center hover:bg-muted-foreground/15\"\n >\n {plugin}\n </div>\n ))}\n </div>\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"Send message\"\n side=\"bottom\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className={cn(\n \"aui-composer-send size-[34px] rounded-full p-1 bg-[#1664FF] text-white\",\n \"hover:bg-primary/75 dark:border-muted-foreground/90\"\n )}\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-5 animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-5\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[34px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[34px] fill-white dark:fill-black\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] 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\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["welcome","useChatkitRef","useMemo","_jsx","Recommend","useChatkitContext","_jsxs","ThreadHeader","LazyMotion","domAnimation","MotionConfig","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","TooltipIconButton","ArrowDownIcon","dayjs","NewSession","ComposerPrimitive.Root","ComposerAttachments","ComposerPrimitive.Input","useChatkitPlugins","ComposerPrimitive.Send","cn","LoaderCircle","ArrowUpIcon","ComposerPrimitive.Cancel","Button","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","MarkdownText","ToolFallback","File","Reasoning","ReasoningGroup","useState","useAssistantState","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","CopyIcon","saveStringToMarkdown","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon","UserMessageAttachments"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4Da,MAAA,MAAM,GAGd,CAAC,WAAEA,SAAO,EAAE,UAAU,EAAE,KAAI;AAC/B,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;AACtC,IAAA,MAAM,GAAG,GAAGC,4BAAa,EAAE,CAAC;AAC5B,IAAA,MAAM,cAAc,GAAGC,aAAO,CAAC,MAAK;AAClC,QAAA,IAAIF,SAAO;AAAE,YAAA,OAAOA,SAAO,CAAC;AAC5B,QAAA,IAAI,UAAU;AACZ,YAAA,QACEG,cAAA,CAACC,OAAS,EAAA,EACR,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,QAAQ,KAAI;AACrB,oBAAA,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACvB,wBAAA,OAAO,EAAE;AACP,4BAAA;AACE,gCAAA,IAAI,EAAE,MAAM;AACZ,gCAAA,IAAI,EAAE,QAAQ;AACf,6BAAA;AACF,yBAAA;AACF,qBAAA,CAAC,CAAC;iBACJ,EAAA,CACD,EACF;AACJ,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACjB,IAAA,MAAM,EAAE,UAAU,EAAE,GAAGC,gCAAiB,EAAE,CAAC;IAC3C,QACEC,yBAAK,SAAS,EAAC,iCAAiC,EAC7C,QAAA,EAAA,CAAA,UAAU,KACTH,cAAA,CAACI,YAAY,EAAC,EAAA,KAAK,EAAE,aAAa,EAAE,IAAI,IAAI,cAAc,EAAI,CAAA,CAC/D,EACDJ,cAAA,CAACK,gBAAU,EAAC,EAAA,QAAQ,EAAEC,8BAAY,EAAA,QAAA,EAChCN,eAACO,oBAAY,EAAA,EAAC,aAAa,EAAC,MAAM,YAChCJ,eAAC,CAAAK,8BAAoB,EAAA,EACnB,SAAS,EAAC,6FAA6F,EACvG,KAAK,EAAE;4BACL,CAAC,oBAA8B,GAAG,OAAO;yBAC1C,EAED,QAAA,EAAA,CAAAR,cAAA,CAACS,0BAAkB,EAAA,EAAC,KAAK,EAAE,KAAK,EAC9B,QAAA,EAAAN,eAAA,CAACO,sCAAwB,EAAC,EAAA,SAAS,EAAC,0FAA0F,EAC5H,QAAA,EAAA,CAAAV,cAAA,CAACW,sCAAwB,EACvB,EAAA,UAAU,EAAE;gDACV,WAAW;gDACX,YAAY;gDACZ,gBAAgB;6CACjB,EACD,CAAA,EACFX,cAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,uDAAuD,GAAG,EACzEA,cAAA,CAAC,QAAQ,EAAA,EAAA,CAAG,CACa,EAAA,CAAA,EAAA,CACR,EACrBA,cAAC,CAAAS,0BAAkB,EAAC,EAAA,KAAK,kBACvBN,eAAC,CAAAO,sCAAwB,EAAC,EAAA,SAAS,EAAC,oHAAoH,EAAA,QAAA,EAAA,CACtJV,cAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,4BAA4B,GAAG,EAC7C,aAAa,EAAE,OAAO,IACrBG,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oDAAoD,EAAA,QAAA,EAAA,CACjEH,cACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE;AACL,wDAAA,SAAS,EAAE,gCAAgC;AAC3C,wDAAA,cAAc,EAAE,KAAK;AACtB,qDAAA,EAAA,CACD,EACFA,cACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE;AACL,wDAAA,SAAS,EAAE,gCAAgC;AAC3C,wDAAA,cAAc,EAAE,OAAO;AACxB,qDAAA,EAAA,CACD,EACFA,cACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE;AACL,wDAAA,SAAS,EAAE,gCAAgC;AAC3C,wDAAA,cAAc,EAAE,OAAO;AACxB,qDAAA,EAAA,CACD,CACE,EAAA,CAAA,KAEN,cAAc,IAAIA,cAAA,CAAC,aAAa,EAAG,EAAA,CAAA,CACpC,EACDA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4BAA4B,EAAG,CAAA,EAC9CA,wBAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAChCA,eAAC,QAAQ,EAAA,EAAA,CAAG,EACR,CAAA,CAAA,EAAA,CACmB,GACR,CACA,EAAA,CAAA,EAAA,CACV,EACJ,CAAA,CAAA,EAAA,CACT,EACN;AACJ,EAAE;AAEF,MAAM,oBAAoB,GAAO,MAAK;AACpC,IAAA,QACEA,cAAA,CAACY,oDAA8B,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACrCZ,cAAC,CAAAa,mCAAiB,EAChB,EAAA,OAAO,EAAC,kBAAkB,EAC1B,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,2IAA2I,EAErJ,QAAA,EAAAb,cAAA,CAACc,iBAAa,EAAA,EAAA,CAAG,EACC,CAAA,EAAA,CACW,EACjC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAK;AACrB,IAAA,MAAM,GAAG,GAAGhB,4BAAa,EAAE,CAAC;IAC5B,MAAM,qBAAqB,GAAG,MAAK;;QAEjC,MAAM,EAAE,GAAG,CAAU,OAAA,EAAA,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAClC,QAAA,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;YACrB,EAAE;AACF,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,SAAS,EAAEiB,SAAK,EAAE,CAAC,IAAI,EAAE;AAC1B,SAAA,CAAC,CAAC;AACH,QAAA,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,QACEf,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EACxC,QAAA,EAAAG,eAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAC,8LAA8L,gBAC7L,0BAAM,EAAA,QAAA,EAAA,CAEjBH,cAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oEAAoE,EAAA,QAAA,EAClFA,cAAC,CAAAgB,WAAU,KAAG,EACT,CAAA,EACPhB,cAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAW,CAC9D,EAAA,CAAA,EAAA,CACL,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAK;AACvB,IAAA,MAAM,GAAG,GAAGF,4BAAa,EAAE,CAAC;AAC5B,IAA0B,SAAS,GAAG;IACtC,MAAM,qBAAqB,GAAG,MAAK;AACjC,QAAA,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,QACEE,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EACxC,QAAA,EAAAG,eAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAC,8LAA8L,gBAC7L,0BAAM,EAAA,QAAA,EAAA,CAEjBH,cAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oEAAoE,EAAA,QAAA,EAClFA,cAAC,CAAA,SAAS,KAAG,EACR,CAAA,EACPA,cAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAA,0BAAA,EAAA,CAEnD,CACA,EAAA,CAAA,EAAA,CACL,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAO,MAAK;AAC7B,IAAA,QACEA,cAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,sFAAsF,EAAA,QAAA,EACnGA,wBAAK,SAAS,EAAC,4EAA4E,EACzF,QAAA,EAAAA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0IAA0I,6BAEnJ,EACF,CAAA,EAAA,CACF,EACN;AACJ,CAAC,CAAC;AAUF,MAAM,QAAQ,GAAO,MAAK;IACxB,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAGE,gCAAiB,EAAE,CAAC;AAC5D,IAAA,QACEC,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mKAAmK,EAAA,QAAA,EAAA,CAChLH,cAAC,CAAA,oBAAoB,EAAG,EAAA,CAAA,EACvB,cAAc,GAAGA,cAAA,CAAC,SAAS,EAAA,EAAA,CAAG,GAAGA,cAAA,CAAC,WAAW,EAAA,EAAA,CAAG,EACjDG,eAAA,CAACc,kCAAsB,EAAA,EAAC,SAAS,EAAC,gUAAgU,EAChW,QAAA,EAAA,CAAAjB,cAAA,CAACkB,8BAAmB,EAAA,EAAA,CAAG,EACvBlB,cAAA,CAACmB,oCAAuB,EAAA,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAC,8KAA8K,EACxL,IAAI,EAAE,CAAC,EACP,SAAS,sBACE,eAAe,EAAA,CAC1B,EACFnB,cAAA,CAAC,cAAc,EAAA,EAAA,CAAG,CACK,EAAA,CAAA,CAAA,EAAA,CACrB,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAO,MAAK;AAC9B,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;AACtC,IAAA,MAAM,OAAO,GAAGoB,gCAAiB,EAAE,CAAC;AACpC,IAAA,QACEjB,eAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,uFAAuF,aACpGH,cAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,yBAAyB,YACrC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,MACvBA,cAAA,CAAA,KAAA,EAAA,EAEE,SAAS,EAAC,8GAA8G,EAEvH,QAAA,EAAA,MAAM,EAHF,EAAA,GAAG,CAIJ,CACP,CAAC,GACE,EACNA,cAAA,CAACS,0BAAkB,EAAC,EAAA,OAAO,EAAE,KAAK,EAAA,QAAA,EAChCT,cAAC,CAAAqB,kCAAsB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC7BrB,eAACa,mCAAiB,EAAA,EAChB,OAAO,EAAC,cAAc,EACtB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,SAAS,EAAES,QAAE,CACX,wEAAwE,EACxE,qDAAqD,CACtD,EAAA,YAAA,EACU,cAAc,EAExB,QAAA,EAAA,aAAa,EAAE,OAAO,IACrBtB,cAAA,CAACuB,oBAAY,EAAC,EAAA,SAAS,EAAC,4CAA4C,EAAA,CAAG,KAEvEvB,eAACwB,eAAW,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAG,CAAA,CAC1D,EACiB,CAAA,EAAA,CACG,GACN,EAErBxB,cAAA,CAACS,0BAAkB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACzBT,cAAC,CAAAyB,sCAAwB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC/BzB,eAAC0B,aAAM,EAAA,EACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,oIAAoI,EAAA,YAAA,EACnI,iBAAiB,EAAA,QAAA,EAE5B1B,eAAC,YAAY,EAAA,EAAC,SAAS,EAAC,iEAAiE,EAAG,CAAA,EAAA,CACrF,GACgB,EACR,CAAA,CAAA,EAAA,CACjB,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAO,MAAK;AAC5B,IAAA,QACEA,cAAA,CAAC2B,oCAAsB,EACrB,EAAA,QAAA,EAAAxB,eAAA,CAACyB,4BAAmB,EAAA,EAAC,SAAS,EAAC,yJAAyJ,EACtL,QAAA,EAAA,CAAA5B,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2CAA2C,EAAA,QAAA,EAAA,4CAAA,EAAA,CAEpD,EACNA,cAAA,CAAC6B,kCAAsB,EAAC,EAAA,SAAS,EAAC,wCAAwC,EAAA,CAAG,CACzD,EAAA,CAAA,EAAA,CACC,EACzB;AACJ,CAAC,CAAC;AAeF,MAAM,gBAAgB,GAAO,MAAK;AAChC,IAAA,QACE7B,cAAA,CAAC8B,gCAAqB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC5B9B,cACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,wIAAwI,eACxI,WAAW,EAAA,QAAA,EAErBG,eAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,OAAO,EACpB,QAAA,EAAA,CAAAA,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mGAAmG,EAChH,QAAA,EAAA,CAAAH,cAAA,CAAC+B,kCAAsB,EAAA,EACrB,UAAU,EAAE;AACV,oCAAA,IAAI,EAAEC,yBAAY;AAClB,oCAAA,KAAK,EAAE,EAAE,QAAQ,EAAEC,yBAAY,EAAE;0CACjCC,YAAI;+CACJC,mBAAS;;oDAETC,wBAAc;iCACf,EACD,CAAA,EACFpC,eAAC,YAAY,EAAA,EAAA,CAAG,IACZ,EAENG,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6HAA6H,EAAA,QAAA,EAAA,CAC1IH,eAAC,YAAY,EAAA,EAAA,CAAG,EAChBA,cAAA,CAAC,kBAAkB,EAAA,EAAA,CAAG,IAClB,CACF,EAAA,CAAA,EAAA,CACF,EACgB,CAAA,EACxB;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAO,MAAK;IAClC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAGqC,cAAQ,CAExD,SAAS,CAAC,CAAC;AACb,IAA0B,SAAS,GAAG;IAEtC,MAAM,eAAe,GAAGC,mCAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;AACxD,QAAA,IACE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS;YACnE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EACjE;YACA,OAAO,OAAO,CAAC,KAAK;iBACjB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;AACD,QAAA,OAAO,EAAE,CAAC;AACZ,KAAC,CAAC,CAAC;IAEH,QACEnC,gBAACoC,oCAAuB,EACtB,EAAA,eAAe,QACf,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,eAAe,EAC7B,SAAS,EAAC,0PAA0P,EAEpQ,QAAA,EAAA,CAAAvC,cAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,MACP,oBAAoB,CAClB,iBAAiB,KAAK,UAAU,GAAG,SAAS,GAAG,UAAU,CAC1D,EAGH,QAAA,EAAAA,cAAA,CAACa,mCAAiB,EAAA,EAAC,OAAO,EAAC,MAAM,YAC/Bb,cAAC,CAAA,WAAW,IACV,SAAS,EAAC,sDAAsD,EAChE,IAAI,EAAE,iBAAiB,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,EAAA,CAC3D,GACgB,EAChB,CAAA,EACNA,wBACE,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,MACP,oBAAoB,CAClB,iBAAiB,KAAK,UAAU,GAAG,SAAS,GAAG,UAAU,CAC1D,EAGH,QAAA,EAAAA,cAAA,CAACa,mCAAiB,EAAC,EAAA,OAAO,EAAC,SAAS,EAAA,QAAA,EAClCb,eAAC,aAAa,EAAA,EACZ,SAAS,EAAC,sDAAsD,EAChE,IAAI,EAAE,iBAAiB,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,EAC3D,CAAA,EAAA,CACgB,GAChB,EAENA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,GAAG,EACjDA,cAAA,CAACwC,oCAAuB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC9BrC,eAAC,CAAAU,mCAAiB,EAAC,EAAA,OAAO,EAAC,MAAM,EAAA,QAAA,EAAA,CAC/Bb,eAACyC,4BAAmB,EAAC,EAAA,MAAM,kBACzBzC,cAAC,CAAA0C,aAAS,IAAC,SAAS,EAAC,sDAAsD,EAAG,CAAA,EAAA,CAC1D,EACtB1C,cAAC,CAAAyC,4BAAmB,EAAC,EAAA,MAAM,EAAE,KAAK,EAAA,QAAA,EAChCzC,eAAC2C,IAAQ,EAAA,EAAC,SAAS,EAAC,gDAAgD,EAAG,CAAA,EAAA,CACnD,CACJ,EAAA,CAAA,EAAA,CACI,EAE1B3C,cAAC,CAAAa,mCAAiB,IAChB,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,MAAK;AACZ,oBAAA+B,6BAAoB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AACtD,iBAAC,EAED,QAAA,EAAA5C,cAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,mDAAmD,EAAG,CAAA,EAAA,CACxD,EACpBA,cAAC,CAAA6C,wCAAyB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAChC7C,cAAC,CAAAa,mCAAiB,IAAC,OAAO,EAAC,SAAS,EAAA,QAAA,EAClCb,eAAC,WAAW,EAAA,EAAC,SAAS,EAAC,mDAAmD,EAAG,CAAA,EAAA,CAC3D,EACM,CAAA,CAAA,EAAA,CACJ,EAC1B;AACJ,CAAC,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY,GAAO,MAAK;AAC5B,IAAA,QACEA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8GAA8G,EAC3H,QAAA,EAAAG,eAAA,CAACc,kCAAsB,EAAC,EAAA,SAAS,EAAC,mFAAmF,aACnHjB,cAAC,CAAAmB,oCAAuB,IACtB,SAAS,EAAC,8GAA8G,EACxH,SAAS,EACT,IAAA,EAAA,CAAA,EAEFhB,eAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,oFAAoF,EAAA,QAAA,EAAA,CACjGH,cAAC,CAAAyB,sCAAwB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC/BzB,eAAC0B,aAAM,EAAA,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,gBAAY,aAAa,EAAA,QAAA,EAAA,QAAA,EAAA,CAEjD,EACgB,CAAA,EAC3B1B,eAACqB,kCAAsB,EAAA,EAAC,OAAO,EAC7B,IAAA,EAAA,QAAA,EAAArB,cAAA,CAAC0B,aAAM,EAAA,EAAC,IAAI,EAAC,IAAI,EAAY,YAAA,EAAA,gBAAgB,uBAEpC,EACc,CAAA,CAAA,EAAA,CACrB,CACiB,EAAA,CAAA,EAAA,CACrB,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAyC,CAAC,EAC1D,SAAS,EACT,GAAG,IAAI,EACR,KAAI;AACH,IAAA,QACEvB,eAAC,CAAA2C,0CAA0B,IACzB,oBAAoB,EAAA,IAAA,EACpB,SAAS,EAAExB,QAAE,CACX,0FAA0F,EAC1F,SAAS,CACV,EACG,GAAA,IAAI,EAER,QAAA,EAAA,CAAAtB,cAAA,CAAC+C,kDAA8B,EAAC,EAAA,OAAO,kBACrC/C,cAAC,CAAAa,mCAAiB,EAAC,EAAA,OAAO,EAAC,UAAU,EAAA,QAAA,EACnCb,eAACgD,mBAAe,EAAA,EAAA,CAAG,GACD,EACW,CAAA,EACjC7C,eAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,qCAAqC,EAAA,QAAA,EAAA,CACnDH,cAAC,CAAAiD,8CAA4B,EAAA,EAAA,CAAG,EAAG,KAAA,EAAAjD,cAAA,CAACkD,4CAA2B,EAAG,EAAA,CAAA,CAAA,EAAA,CAC7D,EACPlD,cAAC,CAAAmD,0CAA0B,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACjCnD,cAAC,CAAAa,mCAAiB,IAAC,OAAO,EAAC,MAAM,EAAA,QAAA,EAC/Bb,eAACoD,oBAAgB,EAAA,EAAA,CAAG,GACF,EACO,CAAA,CAAA,EAAA,CACF,EAC7B;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAO,MAAK;IAC3B,QACEpD,eAAC8B,gCAAqB,EAAC,EAAA,OAAO,kBAC5B3B,eACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,mQAAmQ,EAAA,WAAA,EACnQ,MAAM,EAEhB,QAAA,EAAA,CAAAH,cAAA,CAACqD,iCAAsB,EAAG,EAAA,CAAA,EAE1BrD,cAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,+DAA+D,YAC5EA,cAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,sGAAsG,EAAA,QAAA,EACnHA,eAAC+B,kCAAsB,EAAA,EAAA,CAAG,EACtB,CAAA,EAAA,CAIF,EAIN/B,cAAC,CAAA,YAAY,IAAC,SAAS,EAAC,gFAAgF,EAAG,CAAA,CAAA,EAAA,CACvG,EACgB,CAAA,EACxB;AACJ,CAAC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../../../src/components/assistant-ui/thread.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAqB,KAAK,EAAE,EAA0B,MAAM,OAAO,CAAC;AAmC3E,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CA2FA,CAAC"}
1
+ {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../../../src/components/assistant-ui/thread.tsx"],"names":[],"mappings":"AAwBA,OAAO,EAAqB,KAAK,EAAE,EAA0B,MAAM,OAAO,CAAC;AAoC3E,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CA2FA,CAAC"}
@@ -21,6 +21,7 @@ import Recommend from '../welcome.js';
21
21
  import { saveStringToMarkdown } from '../../utils/download.js';
22
22
  import Download from '../../assets/Download.js';
23
23
  import AbortMessage from '../../assets/AbortMessage.js';
24
+ import ClearIcon from '../../assets/ClearIcon.js';
24
25
  import { LazyMotion } from '../../node_modules/.pnpm/framer-motion@12.23.24_@emotion_is-prop-valid@1.4.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/framer-motion/dist/es/components/LazyMotion/index.js';
25
26
  import { domAnimation } from '../../node_modules/.pnpm/framer-motion@12.23.24_@emotion_is-prop-valid@1.4.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/framer-motion/dist/es/render/dom/features-animation.js';
26
27
  import { MotionConfig } from '../../node_modules/.pnpm/framer-motion@12.23.24_@emotion_is-prop-valid@1.4.0_react-dom@17.0.2_react@17.0.2__react@17.0.2/node_modules/framer-motion/dist/es/components/MotionConfig/index.js';
@@ -118,7 +119,7 @@ const ClearThread = () => {
118
119
  const handleCreateNewThread = () => {
119
120
  ref.current?.clearCurrentThread();
120
121
  };
121
- return (jsx("div", { className: "absolute -top-12 h-[20px]", children: jsxs("button", { onClick: handleCreateNewThread, className: "flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none", "aria-label": "\u65B0\u5EFA\u4F1A\u8BDD", children: [jsx("span", { className: "flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]", children: jsx(NewSession, {}) }), jsx("span", { className: "text-sm font-medium leading-[22px] z-10 ", children: "\u6E05\u7A7A\u4F1A\u8BDD" })] }) }));
122
+ return (jsx("div", { className: "absolute -top-12 h-[20px]", children: jsxs("button", { onClick: handleCreateNewThread, className: "flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none", "aria-label": "\u6E05\u7A7A\u4F1A\u8BDD", children: [jsx("span", { className: "flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]", children: jsx(ClearIcon, {}) }), jsx("span", { className: "text-sm font-medium leading-[22px] z-10 ", children: "\u6E05\u7A7A\u4F1A\u8BDD" })] }) }));
122
123
  };
123
124
  const ThreadWelcome = () => {
124
125
  return (jsx("div", { className: "aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col", children: jsx("div", { className: "aui-thread-welcome-center flex w-full flex-col items-center justify-center", children: jsx("div", { className: "aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]", children: "\u4F60\u597D" }) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"thread.js","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSessioin\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n 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\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"新建会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <NewSession />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">新会话</span>\n </button>\n </div>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const { currentThread } = useThread();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"新建会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <NewSession />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">\n 清空会话\n </span>\n </button>\n </div>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible rounded-t-3xl bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n {showThreadList ? <NewThread /> : <ClearThread />}\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex w-full flex-col rounded-[8px] border border-input bg-background px-1 pt-2 shadow-xs transition-[color,box-shadow] outline-none has-[textarea:focus-visible]:border-ring has-[textarea:focus-visible]:ring-[3px] has-[textarea:focus-visible]:ring-ring/50 dark:bg-background\">\n <ComposerAttachments />\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input mb-1 max-h-32 min-h-16 w-full resize-none bg-transparent px-3.5 pt-1.5 pb-3 text-base outline-none placeholder:text-muted-foreground focus-visible:ring-0\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper relative mx-1 mt-2 mb-2 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div\n key={idx}\n className=\"rounded-[8px] border size-8 border-[#0000001A] flex items-center justify-center hover:bg-muted-foreground/15\"\n >\n {plugin}\n </div>\n ))}\n </div>\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"Send message\"\n side=\"bottom\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className={cn(\n \"aui-composer-send size-[34px] rounded-full p-1 bg-[#1664FF] text-white\",\n \"hover:bg-primary/75 dark:border-muted-foreground/90\"\n )}\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-5 animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-5\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[34px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[34px] fill-white dark:fill-black\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] 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\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["_jsx","_jsxs","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","ArrowDownIcon","ComposerPrimitive.Root","ComposerPrimitive.Input","ComposerPrimitive.Send","ArrowUpIcon","ComposerPrimitive.Cancel","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2Da,MAAA,MAAM,GAGd,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,KAAI;AAC/B,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;AACtC,IAAA,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;AAC5B,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,MAAK;AAClC,QAAA,IAAI,OAAO;AAAE,YAAA,OAAO,OAAO,CAAC;AAC5B,QAAA,IAAI,UAAU;AACZ,YAAA,QACEA,GAAA,CAAC,SAAS,EAAA,EACR,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,CAAC,QAAQ,KAAI;AACrB,oBAAA,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC;AACvB,wBAAA,OAAO,EAAE;AACP,4BAAA;AACE,gCAAA,IAAI,EAAE,MAAM;AACZ,gCAAA,IAAI,EAAE,QAAQ;AACf,6BAAA;AACF,yBAAA;AACF,qBAAA,CAAC,CAAC;iBACJ,EAAA,CACD,EACF;AACJ,QAAA,OAAO,SAAS,CAAC;AACnB,KAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;AACjB,IAAA,MAAM,EAAE,UAAU,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC3C,QACEC,cAAK,SAAS,EAAC,iCAAiC,EAC7C,QAAA,EAAA,CAAA,UAAU,KACTD,GAAA,CAAC,YAAY,EAAC,EAAA,KAAK,EAAE,aAAa,EAAE,IAAI,IAAI,cAAc,EAAI,CAAA,CAC/D,EACDA,GAAA,CAAC,UAAU,EAAC,EAAA,QAAQ,EAAE,YAAY,EAAA,QAAA,EAChCA,IAAC,YAAY,EAAA,EAAC,aAAa,EAAC,MAAM,YAChCC,IAAC,CAAAC,mBAAoB,EAAA,EACnB,SAAS,EAAC,6FAA6F,EACvG,KAAK,EAAE;4BACL,CAAC,oBAA8B,GAAG,OAAO;yBAC1C,EAED,QAAA,EAAA,CAAAF,GAAA,CAACG,iBAAkB,EAAA,EAAC,KAAK,EAAE,KAAK,EAC9B,QAAA,EAAAF,IAAA,CAACG,uBAAwB,EAAC,EAAA,SAAS,EAAC,0FAA0F,EAC5H,QAAA,EAAA,CAAAJ,GAAA,CAACK,uBAAwB,EACvB,EAAA,UAAU,EAAE;gDACV,WAAW;gDACX,YAAY;gDACZ,gBAAgB;6CACjB,EACD,CAAA,EACFL,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,uDAAuD,GAAG,EACzEA,GAAA,CAAC,QAAQ,EAAA,EAAA,CAAG,CACa,EAAA,CAAA,EAAA,CACR,EACrBA,GAAC,CAAAG,iBAAkB,EAAC,EAAA,KAAK,kBACvBF,IAAC,CAAAG,uBAAwB,EAAC,EAAA,SAAS,EAAC,oHAAoH,EAAA,QAAA,EAAA,CACtJJ,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,4BAA4B,GAAG,EAC7C,aAAa,EAAE,OAAO,IACrBC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,oDAAoD,EAAA,QAAA,EAAA,CACjED,GACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE;AACL,wDAAA,SAAS,EAAE,gCAAgC;AAC3C,wDAAA,cAAc,EAAE,KAAK;AACtB,qDAAA,EAAA,CACD,EACFA,GACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE;AACL,wDAAA,SAAS,EAAE,gCAAgC;AAC3C,wDAAA,cAAc,EAAE,OAAO;AACxB,qDAAA,EAAA,CACD,EACFA,GACE,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAE;AACL,wDAAA,SAAS,EAAE,gCAAgC;AAC3C,wDAAA,cAAc,EAAE,OAAO;AACxB,qDAAA,EAAA,CACD,CACE,EAAA,CAAA,KAEN,cAAc,IAAIA,GAAA,CAAC,aAAa,EAAG,EAAA,CAAA,CACpC,EACDA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,4BAA4B,EAAG,CAAA,EAC9CA,aAAK,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAChCA,IAAC,QAAQ,EAAA,EAAA,CAAG,EACR,CAAA,CAAA,EAAA,CACmB,GACR,CACA,EAAA,CAAA,EAAA,CACV,EACJ,CAAA,CAAA,EAAA,CACT,EACN;AACJ,EAAE;AAEF,MAAM,oBAAoB,GAAO,MAAK;AACpC,IAAA,QACEA,GAAA,CAACM,6BAA8B,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACrCN,GAAC,CAAA,iBAAiB,EAChB,EAAA,OAAO,EAAC,kBAAkB,EAC1B,OAAO,EAAC,SAAS,EACjB,SAAS,EAAC,2IAA2I,EAErJ,QAAA,EAAAA,GAAA,CAACO,SAAa,EAAA,EAAA,CAAG,EACC,CAAA,EAAA,CACW,EACjC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAK;AACrB,IAAA,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,MAAM,qBAAqB,GAAG,MAAK;;QAEjC,MAAM,EAAE,GAAG,CAAU,OAAA,EAAA,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;AAClC,QAAA,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC;YACrB,EAAE;AACF,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,OAAO,EAAE,KAAK;AACd,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,QAAQ,EAAE,EAAE;AACZ,YAAA,SAAS,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE;AAC1B,SAAA,CAAC,CAAC;AACH,QAAA,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,QACEP,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EACxC,QAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAC,8LAA8L,gBAC7L,0BAAM,EAAA,QAAA,EAAA,CAEjBD,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oEAAoE,EAAA,QAAA,EAClFA,GAAC,CAAA,UAAU,KAAG,EACT,CAAA,EACPA,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAW,CAC9D,EAAA,CAAA,EAAA,CACL,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,MAAK;AACvB,IAAA,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;AAC5B,IAA0B,SAAS,GAAG;IACtC,MAAM,qBAAqB,GAAG,MAAK;AACjC,QAAA,GAAG,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC;AACpC,KAAC,CAAC;AAEF,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2BAA2B,EACxC,QAAA,EAAAC,IAAA,CAAA,QAAA,EAAA,EACE,OAAO,EAAE,qBAAqB,EAC9B,SAAS,EAAC,8LAA8L,gBAC7L,0BAAM,EAAA,QAAA,EAAA,CAEjBD,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oEAAoE,EAAA,QAAA,EAClFA,GAAC,CAAA,UAAU,KAAG,EACT,CAAA,EACPA,GAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,0CAA0C,EAAA,QAAA,EAAA,0BAAA,EAAA,CAEnD,CACA,EAAA,CAAA,EAAA,CACL,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAO,MAAK;AAC7B,IAAA,QACEA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,sFAAsF,EAAA,QAAA,EACnGA,aAAK,SAAS,EAAC,4EAA4E,EACzF,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,0IAA0I,6BAEnJ,EACF,CAAA,EAAA,CACF,EACN;AACJ,CAAC,CAAC;AAUF,MAAM,QAAQ,GAAO,MAAK;IACxB,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,GAAG,iBAAiB,EAAE,CAAC;AAC5D,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mKAAmK,EAAA,QAAA,EAAA,CAChLD,GAAC,CAAA,oBAAoB,EAAG,EAAA,CAAA,EACvB,cAAc,GAAGA,GAAA,CAAC,SAAS,EAAA,EAAA,CAAG,GAAGA,GAAA,CAAC,WAAW,EAAA,EAAA,CAAG,EACjDC,IAAA,CAACO,qBAAsB,EAAA,EAAC,SAAS,EAAC,gUAAgU,EAChW,QAAA,EAAA,CAAAR,GAAA,CAAC,mBAAmB,EAAA,EAAA,CAAG,EACvBA,GAAA,CAACS,sBAAuB,EAAA,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAC,8KAA8K,EACxL,IAAI,EAAE,CAAC,EACP,SAAS,sBACE,eAAe,EAAA,CAC1B,EACFT,GAAA,CAAC,cAAc,EAAA,EAAA,CAAG,CACK,EAAA,CAAA,CAAA,EAAA,CACrB,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,cAAc,GAAO,MAAK;AAC9B,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC;AACtC,IAAA,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AACpC,IAAA,QACEC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,uFAAuF,aACpGD,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,yBAAyB,YACrC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,MACvBA,GAAA,CAAA,KAAA,EAAA,EAEE,SAAS,EAAC,8GAA8G,EAEvH,QAAA,EAAA,MAAM,EAHF,EAAA,GAAG,CAIJ,CACP,CAAC,GACE,EACNA,GAAA,CAACG,iBAAkB,EAAC,EAAA,OAAO,EAAE,KAAK,EAAA,QAAA,EAChCH,GAAC,CAAAU,qBAAsB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC7BV,IAAC,iBAAiB,EAAA,EAChB,OAAO,EAAC,cAAc,EACtB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,SAAS,EAAE,EAAE,CACX,wEAAwE,EACxE,qDAAqD,CACtD,EAAA,YAAA,EACU,cAAc,EAExB,QAAA,EAAA,aAAa,EAAE,OAAO,IACrBA,GAAA,CAAC,YAAY,EAAC,EAAA,SAAS,EAAC,4CAA4C,EAAA,CAAG,KAEvEA,IAACW,OAAW,EAAA,EAAC,SAAS,EAAC,+BAA+B,EAAG,CAAA,CAC1D,EACiB,CAAA,EAAA,CACG,GACN,EAErBX,GAAA,CAACG,iBAAkB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACzBH,GAAC,CAAAY,uBAAwB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC/BZ,IAAC,MAAM,EAAA,EACL,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,oIAAoI,EAAA,YAAA,EACnI,iBAAiB,EAAA,QAAA,EAE5BA,IAAC,YAAY,EAAA,EAAC,SAAS,EAAC,iEAAiE,EAAG,CAAA,EAAA,CACrF,GACgB,EACR,CAAA,CAAA,EAAA,CACjB,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAO,MAAK;AAC5B,IAAA,QACEA,GAAA,CAACa,qBAAsB,EACrB,EAAA,QAAA,EAAAZ,IAAA,CAACa,kBAAmB,EAAA,EAAC,SAAS,EAAC,yJAAyJ,EACtL,QAAA,EAAA,CAAAd,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,2CAA2C,EAAA,QAAA,EAAA,4CAAA,EAAA,CAEpD,EACNA,GAAA,CAACe,qBAAsB,EAAC,EAAA,SAAS,EAAC,wCAAwC,EAAA,CAAG,CACzD,EAAA,CAAA,EAAA,CACC,EACzB;AACJ,CAAC,CAAC;AAeF,MAAM,gBAAgB,GAAO,MAAK;AAChC,IAAA,QACEf,GAAA,CAACgB,oBAAqB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC5BhB,GACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,wIAAwI,eACxI,WAAW,EAAA,QAAA,EAErBC,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,OAAO,EACpB,QAAA,EAAA,CAAAA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,mGAAmG,EAChH,QAAA,EAAA,CAAAD,GAAA,CAACiB,qBAAsB,EAAA,EACrB,UAAU,EAAE;AACV,oCAAA,IAAI,EAAE,YAAY;AAClB,oCAAA,KAAK,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;oCACjC,IAAI;oCACJ,SAAS;;oCAET,cAAc;iCACf,EACD,CAAA,EACFjB,IAAC,YAAY,EAAA,EAAA,CAAG,IACZ,EAENC,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6HAA6H,EAAA,QAAA,EAAA,CAC1ID,IAAC,YAAY,EAAA,EAAA,CAAG,EAChBA,GAAA,CAAC,kBAAkB,EAAA,EAAA,CAAG,IAClB,CACF,EAAA,CAAA,EAAA,CACF,EACgB,CAAA,EACxB;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAO,MAAK;IAClC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAExD,SAAS,CAAC,CAAC;AACb,IAA0B,SAAS,GAAG;IAEtC,MAAM,eAAe,GAAG,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAI;AACxD,QAAA,IACE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,KAAK,SAAS;YACnE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EACjE;YACA,OAAO,OAAO,CAAC,KAAK;iBACjB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC;iBAChC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;iBAClB,IAAI,CAAC,IAAI,CAAC,CAAC;SACf;AACD,QAAA,OAAO,EAAE,CAAC;AACZ,KAAC,CAAC,CAAC;IAEH,QACEC,KAACiB,sBAAuB,EACtB,EAAA,eAAe,QACf,QAAQ,EAAC,OAAO,EAChB,aAAa,EAAC,eAAe,EAC7B,SAAS,EAAC,0PAA0P,EAEpQ,QAAA,EAAA,CAAAlB,GAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,MACP,oBAAoB,CAClB,iBAAiB,KAAK,UAAU,GAAG,SAAS,GAAG,UAAU,CAC1D,EAGH,QAAA,EAAAA,GAAA,CAAC,iBAAiB,EAAA,EAAC,OAAO,EAAC,MAAM,YAC/BA,GAAC,CAAA,WAAW,IACV,SAAS,EAAC,sDAAsD,EAChE,IAAI,EAAE,iBAAiB,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,EAAA,CAC3D,GACgB,EAChB,CAAA,EACNA,aACE,SAAS,EAAC,kCAAkC,EAC5C,OAAO,EAAE,MACP,oBAAoB,CAClB,iBAAiB,KAAK,UAAU,GAAG,SAAS,GAAG,UAAU,CAC1D,EAGH,QAAA,EAAAA,GAAA,CAAC,iBAAiB,EAAC,EAAA,OAAO,EAAC,SAAS,EAAA,QAAA,EAClCA,IAAC,aAAa,EAAA,EACZ,SAAS,EAAC,sDAAsD,EAChE,IAAI,EAAE,iBAAiB,KAAK,UAAU,GAAG,MAAM,GAAG,SAAS,EAC3D,CAAA,EAAA,CACgB,GAChB,EAENA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,+BAA+B,GAAG,EACjDA,GAAA,CAACmB,sBAAuB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC9BlB,IAAC,CAAA,iBAAiB,EAAC,EAAA,OAAO,EAAC,MAAM,EAAA,QAAA,EAAA,CAC/BD,IAACoB,kBAAmB,EAAC,EAAA,MAAM,kBACzBpB,GAAC,CAAAqB,KAAS,IAAC,SAAS,EAAC,sDAAsD,EAAG,CAAA,EAAA,CAC1D,EACtBrB,GAAC,CAAAoB,kBAAmB,EAAC,EAAA,MAAM,EAAE,KAAK,EAAA,QAAA,EAChCpB,IAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,gDAAgD,EAAG,CAAA,EAAA,CACnD,CACJ,EAAA,CAAA,EAAA,CACI,EAE1BA,GAAC,CAAA,iBAAiB,IAChB,OAAO,EAAC,UAAU,EAClB,OAAO,EAAE,MAAK;AACZ,oBAAA,oBAAoB,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;AACtD,iBAAC,EAED,QAAA,EAAAA,GAAA,CAAC,QAAQ,EAAA,EAAC,SAAS,EAAC,mDAAmD,EAAG,CAAA,EAAA,CACxD,EACpBA,GAAC,CAAAsB,wBAAyB,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAChCtB,GAAC,CAAA,iBAAiB,IAAC,OAAO,EAAC,SAAS,EAAA,QAAA,EAClCA,IAAC,WAAW,EAAA,EAAC,SAAS,EAAC,mDAAmD,EAAG,CAAA,EAAA,CAC3D,EACM,CAAA,CAAA,EAAA,CACJ,EAC1B;AACJ,CAAC,CAAC;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY,GAAO,MAAK;AAC5B,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8GAA8G,EAC3H,QAAA,EAAAC,IAAA,CAACO,qBAAsB,EAAC,EAAA,SAAS,EAAC,mFAAmF,aACnHR,GAAC,CAAAS,sBAAuB,IACtB,SAAS,EAAC,8GAA8G,EACxH,SAAS,EACT,IAAA,EAAA,CAAA,EAEFR,IAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,oFAAoF,EAAA,QAAA,EAAA,CACjGD,GAAC,CAAAY,uBAAwB,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAC/BZ,IAAC,MAAM,EAAA,EAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,gBAAY,aAAa,EAAA,QAAA,EAAA,QAAA,EAAA,CAEjD,EACgB,CAAA,EAC3BA,IAACU,qBAAsB,EAAA,EAAC,OAAO,EAC7B,IAAA,EAAA,QAAA,EAAAV,GAAA,CAAC,MAAM,EAAA,EAAC,IAAI,EAAC,IAAI,EAAY,YAAA,EAAA,gBAAgB,uBAEpC,EACc,CAAA,CAAA,EAAA,CACrB,CACiB,EAAA,CAAA,EAAA,CACrB,EACN;AACJ,CAAC,CAAC;AAEF,MAAM,YAAY,GAAyC,CAAC,EAC1D,SAAS,EACT,GAAG,IAAI,EACR,KAAI;AACH,IAAA,QACEC,IAAC,CAAAsB,yBAA0B,IACzB,oBAAoB,EAAA,IAAA,EACpB,SAAS,EAAE,EAAE,CACX,0FAA0F,EAC1F,SAAS,CACV,EACG,GAAA,IAAI,EAER,QAAA,EAAA,CAAAvB,GAAA,CAACwB,6BAA8B,EAAC,EAAA,OAAO,kBACrCxB,GAAC,CAAA,iBAAiB,EAAC,EAAA,OAAO,EAAC,UAAU,EAAA,QAAA,EACnCA,IAACyB,WAAe,EAAA,EAAA,CAAG,GACD,EACW,CAAA,EACjCxB,IAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,qCAAqC,EAAA,QAAA,EAAA,CACnDD,GAAC,CAAA0B,2BAA4B,EAAA,EAAA,CAAG,EAAG,KAAA,EAAA1B,GAAA,CAAC2B,0BAA2B,EAAG,EAAA,CAAA,CAAA,EAAA,CAC7D,EACP3B,GAAC,CAAA4B,yBAA0B,IAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EACjC5B,GAAC,CAAA,iBAAiB,IAAC,OAAO,EAAC,MAAM,EAAA,QAAA,EAC/BA,IAAC6B,YAAgB,EAAA,EAAA,CAAG,GACF,EACO,CAAA,CAAA,EAAA,CACF,EAC7B;AACJ,CAAC,CAAC;AAEF,MAAM,WAAW,GAAO,MAAK;IAC3B,QACE7B,IAACgB,oBAAqB,EAAC,EAAA,OAAO,kBAC5Bf,IACE,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,mQAAmQ,EAAA,WAAA,EACnQ,MAAM,EAEhB,QAAA,EAAA,CAAAD,GAAA,CAAC,sBAAsB,EAAG,EAAA,CAAA,EAE1BA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,+DAA+D,YAC5EA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAC,sGAAsG,EAAA,QAAA,EACnHA,IAACiB,qBAAsB,EAAA,EAAA,CAAG,EACtB,CAAA,EAAA,CAIF,EAINjB,GAAC,CAAA,YAAY,IAAC,SAAS,EAAC,gFAAgF,EAAG,CAAA,CAAA,EAAA,CACvG,EACgB,CAAA,EACxB;AACJ,CAAC;;;;"}
1
+ {"version":3,"file":"thread.js","sources":["../../../src/components/assistant-ui/thread.tsx"],"sourcesContent":["import {\n ArrowDownIcon,\n ArrowUpIcon,\n CheckIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n PencilIcon,\n Square,\n Share2Icon, // 添加分享图标\n MoreHorizontalIcon,\n LoaderCircle,\n} from \"lucide-react\";\nimport { v4 as uuid } from \"uuid\";\nimport {\n ActionBarPrimitive,\n BranchPickerPrimitive,\n ComposerPrimitive,\n ErrorPrimitive,\n MessagePrimitive,\n ThreadPrimitive,\n useAssistantState,\n useMessagePartText,\n} from \"@assistant-ui/react\";\n\nimport { useMemo, useState, type FC, type PropsWithChildren } from \"react\";\nimport { LazyMotion, MotionConfig, domAnimation } from \"motion/react\";\nimport * as m from \"motion/react-m\";\n\nimport { Button } from \"@/components/ui/button\";\nimport { MarkdownText } from \"@/components/assistant-ui/markdown-text\";\nimport { ToolFallback } from \"@/components/assistant-ui/tool-fallback\";\nimport { TooltipIconButton } from \"@/components/assistant-ui/tooltip-icon-button\";\nimport {\n ComposerAddAttachment,\n ComposerAttachments,\n UserMessageAttachments,\n} from \"@/components/assistant-ui/attachment\";\nimport { File } from \"@/components/assistant-ui/file\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Reasoning, ReasoningGroup } from \"./reasoning\";\nimport {\n useChatkitContext,\n useChatkitPlugins,\n useChatkitRef,\n} from \"@/contexts/ChatkitContext\";\nimport ThumbUpIcon from \"@/assets/ThumbUpIcon\";\nimport ThumbDownIcon from \"@/assets/ThumbDownIcon\";\nimport CopyIcon from \"@/assets/Copy\";\nimport RefreshIcon from \"@/assets/RefreshIcon\";\nimport ThreadHeader from \"./thread-header\";\nimport NewSession from \"@/assets/NewSessioin\";\nimport dayjs from \"dayjs\";\nimport useThread from \"@/hooks/useThread\";\nimport Recommend from \"../welcome\";\nimport { saveStringToMarkdown } from \"@/utils/download\";\nimport Download from \"@/assets/Download\";\nimport AbortMessage from \"@/assets/AbortMessage\";\nimport ClearIcon from \"@/assets/ClearIcon\";\n\nexport const Thread: FC<{\n welcome?: React.ReactNode;\n recommends?: string[];\n}> = ({ welcome, recommends }) => {\n const { currentThread } = useThread();\n const ref = useChatkitRef();\n const welcomeElement = useMemo(() => {\n if (welcome) return welcome;\n if (recommends)\n return (\n <Recommend\n recommends={recommends}\n onSelect={(question) => {\n ref.current?.sendMessage({\n content: [\n {\n type: \"text\",\n text: question,\n },\n ],\n });\n }}\n />\n );\n return undefined;\n }, [recommends]);\n const { showHeader } = useChatkitContext();\n return (\n <div className=\"min-w-full h-full flex flex-col\">\n {showHeader && (\n <ThreadHeader title={currentThread?.name || \"Thread Title\"} />\n )}\n <LazyMotion features={domAnimation}>\n <MotionConfig reducedMotion=\"user\">\n <ThreadPrimitive.Root\n className=\"aui-root aui-thread-root @container flex-1 flex h-[calc(100%-65px)] flex-col bg-background\"\n style={{\n [\"--thread-max-width\" as string]: \"66rem\",\n }}\n >\n <ThreadPrimitive.If empty={false}>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4\">\n <ThreadPrimitive.Messages\n components={{\n UserMessage,\n EditComposer,\n AssistantMessage,\n }}\n />\n <div className=\"aui-thread-viewport-spacer min-h-12 grow z-9 bg-white\" />\n <Composer />\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n <ThreadPrimitive.If empty>\n <ThreadPrimitive.Viewport className=\"aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-auto px-4 justify-center gap-[80px] \">\n <div className=\"min-h-12 grow z-9 bg-white\" />\n {currentThread?.loading ? (\n <div className=\"flex items-center justify-center gap-1.5 h-[180px]\">\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"0ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"150ms\",\n }}\n />\n <span\n className=\"w-2.5 h-2.5 bg-gray-500 rounded-full\"\n style={{\n animation: \"bounce 1s ease-in-out infinite\",\n animationDelay: \"300ms\",\n }}\n />\n </div>\n ) : (\n welcomeElement ?? <ThreadWelcome />\n )}\n <div className=\"min-h-12 grow z-9 bg-white\" />\n <div className=\"flex items-center\">\n <Composer />\n </div>\n </ThreadPrimitive.Viewport>\n </ThreadPrimitive.If>\n </ThreadPrimitive.Root>\n </MotionConfig>\n </LazyMotion>\n </div>\n );\n};\n\nconst ThreadScrollToBottom: FC = () => {\n return (\n <ThreadPrimitive.ScrollToBottom asChild>\n <TooltipIconButton\n tooltip=\"Scroll to bottom\"\n variant=\"outline\"\n 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\"\n >\n <ArrowDownIcon />\n </TooltipIconButton>\n </ThreadPrimitive.ScrollToBottom>\n );\n};\n\nconst NewThread = () => {\n const ref = useChatkitRef();\n const handleCreateNewThread = () => {\n // 新建会话的逻辑\n const id = `thread-${Date.now()}`;\n ref.current?.addThread({\n id,\n name: \"新对话\",\n sending: false,\n metadata: {},\n messages: [],\n createdAt: dayjs().unix(),\n });\n ref.current?.setCurrentThread(id);\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"新建会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <NewSession />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">新会话</span>\n </button>\n </div>\n );\n};\n\nconst ClearThread = () => {\n const ref = useChatkitRef();\n const { currentThread } = useThread();\n const handleCreateNewThread = () => {\n ref.current?.clearCurrentThread();\n };\n\n return (\n <div className=\"absolute -top-12 h-[20px]\">\n <button\n onClick={handleCreateNewThread}\n className=\"flex items-center px-[8px] py-[3px] gap-[4px] rounded-lg bg-white border border-[#EAEDF1] text-[#0C0D0E] transition-colors hover:bg-gray-50 disabled:opacity-50 disabled:pointer-events-none\"\n aria-label=\"清空会话\"\n >\n <span className=\"flex h-5 w-5 items-center justify-center rounded-[8px] size-[16px]\">\n <ClearIcon />\n </span>\n <span className=\"text-sm font-medium leading-[22px] z-10 \">\n 清空会话\n </span>\n </button>\n </div>\n );\n};\n\nconst ThreadWelcome: FC = () => {\n return (\n <div className=\"aui-thread-welcome-root mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col\">\n <div className=\"aui-thread-welcome-center flex w-full flex-col items-center justify-center\">\n <div className=\"aui-thread-welcome-message flex size-full flex-col justify-center px-8 text-[24px] text-center font-medium leading-[100%] text-[#0C0D0E]\">\n 你好\n </div>\n </div>\n </div>\n );\n};\n\nconst ThreadSuggestions: FC = () => {\n return (\n <div className=\"aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2\">\n 你好\n </div>\n );\n};\n\nconst Composer: FC = () => {\n const { showThreadList, placeholder } = useChatkitContext();\n return (\n <div className=\"aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible rounded-t-3xl bg-background pb-4 md:pb-6\">\n <ThreadScrollToBottom />\n {showThreadList ? <NewThread /> : <ClearThread />}\n <ComposerPrimitive.Root className=\"aui-composer-root group/input-group relative flex w-full flex-col rounded-[8px] border border-input bg-background px-1 pt-2 shadow-xs transition-[color,box-shadow] outline-none has-[textarea:focus-visible]:border-ring has-[textarea:focus-visible]:ring-[3px] has-[textarea:focus-visible]:ring-ring/50 dark:bg-background\">\n <ComposerAttachments />\n <ComposerPrimitive.Input\n placeholder={placeholder}\n className=\"aui-composer-input mb-1 max-h-32 min-h-16 w-full resize-none bg-transparent px-3.5 pt-1.5 pb-3 text-base outline-none placeholder:text-muted-foreground focus-visible:ring-0\"\n rows={1}\n autoFocus\n aria-label=\"Message input\"\n />\n <ComposerAction />\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst ComposerAction: FC = () => {\n const { currentThread } = useThread();\n const plugins = useChatkitPlugins();\n return (\n <div className=\"aui-composer-action-wrapper relative mx-1 mt-2 mb-2 flex items-center justify-between\">\n <div className=\"flex items-center gap-2\">\n {plugins.map((plugin, idx) => (\n <div\n key={idx}\n className=\"rounded-[8px] border size-8 border-[#0000001A] flex items-center justify-center hover:bg-muted-foreground/15\"\n >\n {plugin}\n </div>\n ))}\n </div>\n <ThreadPrimitive.If running={false}>\n <ComposerPrimitive.Send asChild>\n <TooltipIconButton\n tooltip=\"Send message\"\n side=\"bottom\"\n type=\"submit\"\n variant=\"default\"\n size=\"icon\"\n className={cn(\n \"aui-composer-send size-[34px] rounded-full p-1 bg-[#1664FF] text-white\",\n \"hover:bg-primary/75 dark:border-muted-foreground/90\"\n )}\n aria-label=\"Send message\"\n >\n {currentThread?.loading ? (\n <LoaderCircle className=\"aui-composer-send-icon size-5 animate-spin\" />\n ) : (\n <ArrowUpIcon className=\"aui-composer-send-icon size-5\" />\n )}\n </TooltipIconButton>\n </ComposerPrimitive.Send>\n </ThreadPrimitive.If>\n\n <ThreadPrimitive.If running>\n <ComposerPrimitive.Cancel asChild>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"icon\"\n className=\"aui-composer-cancel size-[34px] rounded-full border border-muted-foreground/60 hover:bg-primary/75 dark:border-muted-foreground/90\"\n aria-label=\"Stop generating\"\n >\n <AbortMessage className=\"aui-composer-cancel-icon size-[34px] fill-white dark:fill-black\" />\n </Button>\n </ComposerPrimitive.Cancel>\n </ThreadPrimitive.If>\n </div>\n );\n};\n\nconst MessageError: FC = () => {\n return (\n <MessagePrimitive.Error>\n <ErrorPrimitive.Root className=\"aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200\">\n <div className=\"font-medium text-destructive text-red-500\">\n 请求出现错误!\n </div>\n <ErrorPrimitive.Message className=\"aui-message-error-message line-clamp-2\" />\n </ErrorPrimitive.Root>\n </MessagePrimitive.Error>\n );\n};\n\nconst ToolGroup: FC<\n PropsWithChildren<{ startIndex: number; endIndex: number }>\n> = ({ startIndex, endIndex, children }) => {\n const toolCount = endIndex - startIndex + 1;\n return (\n <details className=\"my-2\">\n <summary className=\"cursor-pointer font-medium\">\n {toolCount} tool {toolCount === 1 ? \"call\" : \"calls\"}\n </summary>\n <div className=\"space-y-2 pl-4\">{children}</div>\n </details>\n );\n};\nconst AssistantMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] py-4 duration-150 slide-in-from-bottom-1 last:mb-24\"\n data-role=\"assistant\"\n >\n <div className=\"group\">\n <div className=\"aui-assistant-message-content mx-2 leading-7 break-words text-foreground flex flex-col gap-[12px]\">\n <MessagePrimitive.Parts\n components={{\n Text: MarkdownText,\n tools: { Fallback: ToolFallback },\n File,\n Reasoning,\n // ToolGroup,\n ReasoningGroup,\n }}\n />\n <MessageError />\n </div>\n\n <div className=\"aui-assistant-message-footer mt-2 ml-2 flex hover:visible opacity-0 group-hover:opacity-100 transition-opacity duration-200\">\n <BranchPicker />\n <AssistantActionBar />\n </div>\n </div>\n </div>\n </MessagePrimitive.Root>\n );\n};\n\nconst AssistantActionBar: FC = () => {\n const [submittedFeedback, setSubmittedFeedback] = useState<\n \"positive\" | \"negative\" | undefined\n >(undefined);\n const { currentThread } = useThread();\n\n const downloadContent = useAssistantState(({ message }) => {\n if (\n (message.role !== \"assistant\" || message.status?.type !== \"running\") &&\n message.parts.some((c) => c.type === \"text\" && c.text.length > 0)\n ) {\n return message.parts\n .filter((c) => c.type === \"text\")\n .map((c) => c.text)\n .join(\"\\n\");\n }\n return \"\";\n });\n\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n autohide=\"never\"\n autohideFloat=\"single-branch\"\n className=\"aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex items-center gap-[8px] 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\"\n >\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"positive\" ? undefined : \"positive\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Like\">\n <ThumbUpIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"positive\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n <div\n className=\"flex items-center justify-center\"\n onClick={() =>\n setSubmittedFeedback(\n submittedFeedback === \"negative\" ? undefined : \"negative\"\n )\n }\n >\n <TooltipIconButton tooltip=\"Dislike\">\n <ThumbDownIcon\n className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\"\n fill={submittedFeedback === \"negative\" ? \"#000\" : undefined}\n />\n </TooltipIconButton>\n </div>\n\n <div className=\"w-[1px] h-[12px] bg-[#DDE2E9]\" />\n <ActionBarPrimitive.Copy asChild>\n <TooltipIconButton tooltip=\"Copy\">\n <MessagePrimitive.If copied>\n <CheckIcon className=\"aui-assistant-action-bar-copy-check-icon size-[16px]\" />\n </MessagePrimitive.If>\n <MessagePrimitive.If copied={false}>\n <CopyIcon className=\"aui-assistant-action-bar-copy-icon size-[16px]\" />\n </MessagePrimitive.If>\n </TooltipIconButton>\n </ActionBarPrimitive.Copy>\n\n <TooltipIconButton\n tooltip=\"download\"\n onClick={() => {\n saveStringToMarkdown(downloadContent, \"message.md\");\n }}\n >\n <Download className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n <ActionBarPrimitive.Reload asChild>\n <TooltipIconButton tooltip=\"Refresh\">\n <RefreshIcon className=\"aui-assistant-action-bar-refresh-icon size-[16px]\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Reload>\n </ActionBarPrimitive.Root>\n );\n};\n\n// const UserActionBar: FC = () => {\n// return (\n// <ActionBarPrimitive.Root\n// hideWhenRunning\n// autohide=\"not-last\"\n// className=\"aui-user-action-bar-root flex flex-col items-end\"\n// >\n// <ActionBarPrimitive.Edit asChild>\n// <TooltipIconButton tooltip=\"Edit\" className=\"aui-user-action-edit p-4\">\n// <PencilIcon />\n// </TooltipIconButton>\n// </ActionBarPrimitive.Edit>\n// </ActionBarPrimitive.Root>\n// );\n// };\n\nconst EditComposer: FC = () => {\n return (\n <div className=\"aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4\">\n <ComposerPrimitive.Root className=\"aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted\">\n <ComposerPrimitive.Input\n className=\"aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none\"\n autoFocus\n />\n\n <div className=\"aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end\">\n <ComposerPrimitive.Cancel asChild>\n <Button variant=\"ghost\" size=\"sm\" aria-label=\"Cancel edit\">\n Cancel\n </Button>\n </ComposerPrimitive.Cancel>\n <ComposerPrimitive.Send asChild>\n <Button size=\"sm\" aria-label=\"Update message\">\n Update\n </Button>\n </ComposerPrimitive.Send>\n </div>\n </ComposerPrimitive.Root>\n </div>\n );\n};\n\nconst BranchPicker: FC<BranchPickerPrimitive.Root.Props> = ({\n className,\n ...rest\n}) => {\n return (\n <BranchPickerPrimitive.Root\n hideWhenSingleBranch\n className={cn(\n \"aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground\",\n className\n )}\n {...rest}\n >\n <BranchPickerPrimitive.Previous asChild>\n <TooltipIconButton tooltip=\"Previous\">\n <ChevronLeftIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Previous>\n <span className=\"aui-branch-picker-state font-medium\">\n <BranchPickerPrimitive.Number /> / <BranchPickerPrimitive.Count />\n </span>\n <BranchPickerPrimitive.Next asChild>\n <TooltipIconButton tooltip=\"Next\">\n <ChevronRightIcon />\n </TooltipIconButton>\n </BranchPickerPrimitive.Next>\n </BranchPickerPrimitive.Root>\n );\n};\n\nconst UserMessage: FC = () => {\n return (\n <MessagePrimitive.Root asChild>\n <div\n className=\"aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-150 ease-out fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2 group\"\n data-role=\"user\"\n >\n <UserMessageAttachments />\n\n <div className=\"aui-user-message-content-wrapper relative col-start-2 min-w-0\">\n <div className=\"aui-user-message-content bg-muted px-5 py-2.5 break-words text-foreground bg-[#F3F7FF] rounded-[8px]\">\n <MessagePrimitive.Parts />\n </div>\n {/* <div className=\"aui-user-action-bar-wrapper invisible group-hover:visible transition-all duration-200\">\n <UserActionBar />\n </div> */}\n </div>\n\n {/* 移除了下方工具栏代码 */}\n\n <BranchPicker className=\"aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end\" />\n </div>\n </MessagePrimitive.Root>\n );\n};\n\n// 2. 修改UserActionBar组件,添加编辑、分享和更多选项功能\nconst UserActionBar: FC = () => {\n return (\n <ActionBarPrimitive.Root\n hideWhenRunning\n className=\"aui-user-action-bar-root flex items-end gap-2 justify-end bg-background p-1 rounded-md\"\n >\n <ActionBarPrimitive.Edit asChild>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <PencilIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Edit>\n\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <Share2Icon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n <TooltipIconButton tooltip=\"编辑\" className=\"aui-user-action-edit\">\n <MoreHorizontalIcon className=\"h-3.5 w-3.5\" />\n </TooltipIconButton>\n </ActionBarPrimitive.Root>\n );\n};\n"],"names":["_jsx","_jsxs","ThreadPrimitive.Root","ThreadPrimitive.If","ThreadPrimitive.Viewport","ThreadPrimitive.Messages","ThreadPrimitive.ScrollToBottom","ArrowDownIcon","ComposerPrimitive.Root","ComposerPrimitive.Input","ComposerPrimitive.Send","ArrowUpIcon","ComposerPrimitive.Cancel","MessagePrimitive.Error","ErrorPrimitive.Root","ErrorPrimitive.Message","MessagePrimitive.Root","MessagePrimitive.Parts","ActionBarPrimitive.Root","ActionBarPrimitive.Copy","MessagePrimitive.If","CheckIcon","ActionBarPrimitive.Reload","BranchPickerPrimitive.Root","BranchPickerPrimitive.Previous","ChevronLeftIcon","BranchPickerPrimitive.Number","BranchPickerPrimitive.Count","BranchPickerPrimitive.Next","ChevronRightIcon"],"mappings":"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"}
@@ -339,7 +339,6 @@ var BetterEventSource = class {
339
339
  );
340
340
  try {
341
341
  while (true) {
342
- console.log("reading");
343
342
  const { done, value } = await reader.read();
344
343
  if (done) {
345
344
  this.emit("end");
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n return;\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n console.log(\"reading\");\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n const base64Data = item.url.startsWith(\"data:\") ? item.url.split(\",\")[1] : item.url;\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: base64Data\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["proxy","uuid","dayjs","useSnapshot","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n return;\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n const base64Data = item.url.startsWith(\"data:\") ? item.url.split(\",\")[1] : item.url;\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: base64Data\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["proxy","uuid","dayjs","useSnapshot","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":"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"}
@@ -337,7 +337,6 @@ var BetterEventSource = class {
337
337
  );
338
338
  try {
339
339
  while (true) {
340
- console.log("reading");
341
340
  const { done, value } = await reader.read();
342
341
  if (done) {
343
342
  this.emit("end");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n return;\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n console.log(\"reading\");\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n const base64Data = item.url.startsWith(\"data:\") ? item.url.split(\",\")[1] : item.url;\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: base64Data\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["uuid","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../core/dist/index.js"],"sourcesContent":["var __defProp = Object.defineProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\n\n// src/Thread.ts\nimport { v4 as uuidv4 } from \"uuid\";\n\n// src/stores/index.ts\nimport { v4 as uuid } from \"uuid\";\nimport { proxy, useSnapshot } from \"valtio\";\nimport dayjs from \"dayjs\";\nvar defaultThreadManagerState = {\n currentThreadId: null,\n threadMap: {}\n};\nvar threadManagerState = proxy(defaultThreadManagerState);\nasync function initThreadManagerStore(state) {\n try {\n threadManagerState.currentThreadId = state?.currentThreadId || null;\n threadManagerState.threadMap = state?.threadMap || {};\n } catch (error) {\n console.error(\"initThreadManagerStore error\", error);\n }\n}\nvar generateThread = () => {\n const threadId = uuid();\n const thread = {\n id: threadId,\n name: \"\\u9ED8\\u8BA4\\u5BF9\\u8BDD\",\n metadata: {},\n sending: false,\n messages: [],\n createdAt: dayjs().unix()\n };\n return { currentThreadId: threadId, threadMap: { [threadId]: thread } };\n};\ninitThreadManagerStore(generateThread());\nvar useThreadManagerStore = () => useSnapshot(threadManagerState);\n\n// src/utils/CheckThreadExist.ts\nvar checkThreadExist = (threadId, throwError = true) => {\n if (!threadManagerState.threadMap[threadId]) {\n if (throwError) {\n throw new Error(`thread id ${threadId} not exists`);\n }\n return null;\n }\n return threadManagerState.threadMap[threadId];\n};\nvar CheckThreadExist_default = checkThreadExist;\n\n// src/Thread.ts\nimport dayjs2 from \"dayjs\";\nvar threadActions = {\n createThread: ({\n name = \"\",\n metadata = {},\n switchToNewThread = true\n }) => {\n const id = uuidv4();\n const thread = {\n id,\n name: name || `\\u9ED8\\u8BA4\\u5BF9\\u8BDD${id.slice(0, 4)}`,\n metadata,\n createdAt: dayjs2().unix(),\n updatedAt: dayjs2().unix(),\n messages: [],\n sending: false\n };\n threadActions.addThread(thread);\n if (switchToNewThread) {\n threadActions.setCurrentThread(thread.id);\n }\n },\n addThread: (thread) => {\n if (CheckThreadExist_default(thread.id, false)) {\n return;\n }\n threadManagerState.threadMap[thread.id] = thread;\n },\n getThread: (threadId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n },\n setCurrentThread: (threadId) => {\n CheckThreadExist_default(threadId);\n threadManagerState.currentThreadId = threadId;\n },\n updateThread: (threadId, thread) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId] = {\n ...threadManagerState.threadMap[threadId],\n ...thread,\n updatedAt: dayjs2().unix()\n };\n },\n deleteThread: (threadId) => {\n CheckThreadExist_default(threadId);\n delete threadManagerState.threadMap[threadId];\n },\n setSending: (threadId, sending) => {\n CheckThreadExist_default(threadId);\n threadActions.updateThread(threadId, { sending });\n },\n setLoading: (threadId, loading, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return;\n }\n threadActions.updateThread(threadId, { loading });\n },\n getCurrentThread: () => {\n const threadId = threadManagerState.currentThreadId;\n if (!threadId) {\n return null;\n }\n return threadManagerState.threadMap[threadId];\n }\n};\n\n// src/utils/CheckMessageExist.ts\nvar checkMessageExist = (threadId, messageId, throwError = true) => {\n const thread = CheckThreadExist_default(threadId, throwError);\n if (!thread) {\n return null;\n }\n const message = thread.messages.find(\n (msg) => msg.id === messageId\n );\n if (!message) {\n if (throwError) {\n throw new Error(`message id ${messageId} not exists`);\n }\n return null;\n }\n return message;\n};\nvar CheckMessageExist_default = checkMessageExist;\n\n// src/Message.ts\nimport { cloneDeep } from \"lodash-es\";\nvar messageActions = {\n getMessage: (threadId, messageId) => {\n return CheckMessageExist_default(threadId, messageId);\n },\n addMessage: (threadId, message) => {\n const isExist = CheckThreadExist_default(threadId, false);\n if (!isExist) {\n return;\n }\n threadManagerState.threadMap[threadId].messages.push(message);\n },\n updateMessage: (threadId, messageId, updateOptions) => {\n const message = CheckMessageExist_default(threadId, messageId);\n if (!message) {\n return;\n }\n const messageIndex = threadManagerState.threadMap[threadId].messages.findIndex((msg) => msg.id === messageId);\n const { updatedMessage, partial } = updateOptions;\n if (partial) {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...threadManagerState.threadMap[threadId].messages[messageIndex],\n ...updatedMessage\n }\n );\n } else {\n threadManagerState.threadMap[threadId].messages[messageIndex] = cloneDeep(\n {\n ...updatedMessage,\n id: messageId\n }\n );\n }\n },\n updateMessages: (threadId, messages) => {\n CheckThreadExist_default(threadId);\n threadManagerState.threadMap[threadId].messages = messages;\n },\n removeMessage: (threadId, messageId) => {\n CheckMessageExist_default(threadId, messageId);\n threadManagerState.threadMap[threadId].messages = threadManagerState.threadMap[threadId].messages.filter(\n (msg) => msg.id !== messageId\n );\n }\n};\n\n// src/types/Message.ts\nvar MessageStatusEnum = /* @__PURE__ */ ((MessageStatusEnum2) => {\n MessageStatusEnum2[\"SENDING\"] = \"sending\";\n MessageStatusEnum2[\"PENDING\"] = \"pending\";\n MessageStatusEnum2[\"SUCCESS\"] = \"success\";\n MessageStatusEnum2[\"ERROR\"] = \"error\";\n MessageStatusEnum2[\"PAUSED\"] = \"paused\";\n MessageStatusEnum2[\"ABORTED\"] = \"aborted\";\n return MessageStatusEnum2;\n})(MessageStatusEnum || {});\n\n// src/utils/Message.ts\nimport { v4 as uuid2 } from \"uuid\";\nfunction generateModelMessage(message) {\n return {\n id: uuid2(),\n role: \"assistant\",\n status: \"sending\",\n content: [],\n createdAt: Date.now(),\n metadata: {},\n ...message\n };\n}\nvar isTextMessage = (message) => message.type === \"text\";\nvar isReasoningMessage = (message) => message.type === \"reasoning\";\n\n// src/sse/SseError.ts\nvar SSEError = class {\n constructor(code, message, logid) {\n this.code = code;\n this.logid = logid;\n this.message = message;\n }\n};\n\n// src/sse/JsonParser.ts\nvar removePrefix = (text) => {\n if (text.startsWith(\"data:\")) {\n return text.slice(5);\n }\n return text;\n};\nvar JsonStreamParser = class {\n constructor(jsonParseCallback, finishCallback) {\n this.buffer = \"\";\n /**\n * Event Stream 的换行格式包括三种:CRLF(回车加换行)、LF(换行)和 CR(回车)\n * 默认支持 CRLF 换行格式\n * https://html.spec.whatwg.org/multipage/server-sent-events.html#parsing-an-event-stream\n */\n this.endOfLine = \"\\r\\n\\r\\n\";\n this.jsonParseCallback = jsonParseCallback;\n this.finishCallback = finishCallback;\n }\n receiveChunk(chunk) {\n this.buffer += chunk;\n this.findEndOfLine();\n let jsonBoundary = this.findJsonBoundary();\n while (jsonBoundary !== -1) {\n const rawJson = removePrefix(this.buffer.substring(0, jsonBoundary));\n this.buffer = this.buffer.substring(jsonBoundary + this.endOfLine.length);\n if (rawJson.trim() === \"[DONE]\") {\n this.finishCallback();\n return;\n }\n try {\n const json = JSON.parse(rawJson);\n this.jsonParseCallback(json);\n } catch (error) {\n console.error(\"[JsonStreamParser] Failed to parse JSON\", error);\n }\n jsonBoundary = this.findJsonBoundary();\n }\n }\n findEndOfLine() {\n if (this.buffer.indexOf(\"\\r\\n\\r\\n\") !== -1) {\n this.endOfLine = \"\\r\\n\\r\\n\";\n } else if (this.buffer.indexOf(\"\\n\\n\") !== -1) {\n this.endOfLine = \"\\n\\n\";\n }\n }\n findJsonBoundary() {\n return this.buffer.indexOf(this.endOfLine);\n }\n};\n\n// src/sse/BetterEventSource.ts\nvar BetterEventSource = class {\n constructor(url, options) {\n this.headersReceived = null;\n this.isNormalFinished = false;\n this.url = url;\n this.options = options || {};\n this.eventListeners = /* @__PURE__ */ new Map();\n }\n fetchStream() {\n fetch(this.url, {\n method: \"POST\",\n headers: {\n ...this.options.headers,\n \"content-type\": \"application/json\"\n },\n body: this.options.body,\n credentials: \"include\",\n signal: this.options.abortSignal\n }).then(async (response) => {\n try {\n if (!response.ok) {\n const text = await response.text();\n this.emit(\"error\", new SSEError(\"ConnectionError\" /* ConnectionError */, text));\n return;\n }\n } catch (error) {\n try {\n response.json().then((resp) => {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n });\n } catch (err) {\n this.emit(\n \"error\",\n new SSEError(\"ConnectionError\" /* ConnectionError */, \"Fail to connect\")\n );\n }\n return;\n }\n this.headersReceived = response.headers;\n this.emit(\"headerReceived\", this.headersReceived);\n const reader = response.body?.getReader();\n return this.readStream(reader);\n }).catch((error) => {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"Error\" /* Error */,\n error?.message || \"Failed to response\"\n )\n );\n });\n }\n async readStream(reader) {\n if (!reader) {\n return;\n }\n const jsonStreamParser = new JsonStreamParser(\n (json) => {\n this.emit(\"message\", json);\n },\n () => this.isNormalFinished = true\n );\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n this.emit(\"end\");\n if (this.isNormalFinished) {\n } else {\n this.emit(\n \"error\",\n new SSEError(\n \"InterruptError\" /* InterruptError */,\n \"Request abnormal termination\"\n )\n );\n }\n break;\n }\n const text = new TextDecoder().decode(value);\n let response = null;\n if (text.startsWith(\"data:\")) {\n response = text.slice(5);\n } else {\n response = text;\n }\n jsonStreamParser.receiveChunk(response);\n }\n } catch (error) {\n this.emit(\n \"error\",\n new SSEError(\n error?.name || \"ReadableStreamError\" /* ReadableStreamError */,\n error?.message || \"Failed to read stream\"\n )\n );\n } finally {\n try {\n reader.releaseLock();\n } catch (e) {\n console.warn(\n \"Failed to release reader lock, might be already released:\",\n e\n );\n }\n }\n }\n addEventListener(event, listener) {\n if (!this.eventListeners.has(event)) {\n this.eventListeners.set(event, []);\n }\n this.eventListeners.get(event)?.push(listener);\n if (event === \"message\" && this.eventListeners.get(event)?.length === 1) {\n this.fetchStream();\n }\n }\n removeEventListener(event, listener) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n const index = listeners.indexOf(listener);\n if (index !== -1) {\n listeners.splice(index, 1);\n }\n }\n }\n emit(event, data) {\n const listeners = this.eventListeners.get(event);\n if (listeners) {\n listeners.forEach((listener) => listener(data));\n }\n }\n getHeader(name) {\n return this.headersReceived?.get(name) || null;\n }\n};\n\n// src/Chat.ts\nimport dayjs3 from \"dayjs\";\nasync function fetchChatCompletion({\n message,\n requestOptions,\n abortController,\n completions = completion,\n protocolAdaptor,\n onResponse\n}) {\n try {\n const onChunk = ({\n response\n }) => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n const updatedMessage = protocolAdaptor.parseChunk({\n message: _message,\n response\n });\n if (updatedMessage.status === \"error\" /* ERROR */) {\n onResponse({ ...updatedMessage, status: \"error\" /* ERROR */ });\n return;\n }\n onResponse({ ...updatedMessage, status: \"pending\" /* PENDING */ });\n };\n try {\n if (abortController?.signal) {\n abortController.signal.addEventListener(\"abort\", () => {\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n onResponse({\n ..._message,\n sending: false,\n status: \"aborted\" /* ABORTED */,\n endedAt: dayjs3().unix()\n });\n });\n }\n await completions({\n abortController,\n requestOptions,\n onChunk\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n return;\n }\n onResponse({\n id: message.id,\n threadId: message.threadId,\n status: message.status !== \"error\" /* ERROR */ ? \"success\" /* SUCCESS */ : \"error\" /* ERROR */,\n endedAt: Date.now()\n });\n } catch (error) {\n console.log(error);\n const _message = messageActions.getMessage(\n message.threadId,\n message.id\n );\n _message.status = \"error\" /* ERROR */;\n _message.sending = false;\n _message.endedAt = Date.now();\n _message.error = {\n message: error.message || \"\\u672A\\u77E5\\u9519\\u8BEF\",\n extra: error.stack\n };\n onResponse(_message);\n }\n}\nasync function sendMessage({\n requestOptions,\n completions = completion,\n userMessage,\n threadId,\n allMessages = [],\n protocolAdaptor,\n abortController,\n onError: onErrorFromProps,\n override = false\n}) {\n const thread = CheckThreadExist_default(threadId);\n if (!thread) {\n onErrorFromProps?.(new Error(`\\u5BF9\\u8BDD ${threadId} \\u4E0D\\u5B58\\u5728`));\n return;\n }\n let assistantMessage = void 0;\n const beforeRequest = requestOptions.beforeRequest || (async () => ({\n dynamicParams: {},\n requestOptions: {}\n }));\n threadActions.setLoading(threadId, true);\n const onError = (error) => {\n threadActions.setLoading(threadId, false);\n onErrorFromProps?.(error);\n };\n const shouldSend = await beforeRequest({\n requestOptions,\n userMessage,\n contextMessages: allMessages,\n thread,\n onError\n });\n if (shouldSend === false) {\n threadActions.setLoading(threadId, false, false);\n return;\n }\n try {\n const requestBody = protocolAdaptor.generateRequestBody({\n dynamicParams: shouldSend.dynamicParams,\n defaultParams: requestOptions.defaultParams || {},\n userMessage,\n thread,\n contextMessages: allMessages\n });\n messageActions.addMessage(threadId, userMessage);\n assistantMessage = generateModelMessage({\n threadId\n });\n assistantMessage.threadId = threadId;\n if (override) {\n messageActions.updateMessages(threadId, [\n ...allMessages,\n assistantMessage\n ]);\n } else messageActions.addMessage(threadId, assistantMessage);\n threadActions.setSending(threadId, true);\n await fetchChatCompletion({\n abortController,\n message: assistantMessage,\n requestOptions: {\n ...requestOptions || {},\n ...shouldSend?.requestOptions || {},\n data: requestBody\n },\n completions,\n protocolAdaptor,\n onResponse: (updatedMessage) => {\n if (updatedMessage.status === \"pending\" && !updatedMessage.createdAt) {\n updatedMessage.createdAt = Date.now();\n }\n messageActions.updateMessage(threadId, updatedMessage.id, {\n updatedMessage,\n partial: true\n });\n }\n });\n } catch (error) {\n console.error(\"\\u53D1\\u9001\\u6D88\\u606F\\u5931\\u8D25:\", error);\n onErrorFromProps?.(error);\n } finally {\n threadActions.setSending(threadId, false);\n threadActions.setLoading(threadId, false);\n return;\n }\n}\nvar completion = async (params) => {\n const {\n requestOptions: { api, headers = {}, data },\n abortController,\n onChunk\n } = params;\n try {\n const eventSource = new BetterEventSource(api, {\n body: JSON.stringify(data),\n headers,\n abortSignal: abortController?.signal\n });\n return new Promise((resolve, reject) => {\n eventSource.addEventListener(\"error\", (error) => {\n if (error.code === \"AbortError\") {\n console.log(error);\n return;\n }\n reject(error);\n });\n eventSource.addEventListener(\"message\", (data2) => {\n onChunk({ response: data2, stop });\n });\n eventSource.addEventListener(\"end\", () => {\n resolve();\n });\n }).catch((err) => {\n if (err.code === \"AbortError\") {\n return;\n } else {\n throw err;\n }\n });\n } catch (error) {\n console.error(\"\\u8BF7\\u6C42\\u5931\\u8D25:\", error.message);\n throw error;\n }\n};\n\n// src/protocols/BaseProtocols.ts\nvar BaseProtocols_exports = {};\n__export(BaseProtocols_exports, {\n default: () => BaseProtocols_default\n});\nvar BaseProtocol = class {\n constructor(options) {\n this.protocol = options.protocol;\n this.protocolName = options.protocolName || options.protocol;\n }\n getProtocolName() {\n return this.protocolName;\n }\n};\nvar BaseProtocols_default = BaseProtocol;\n\n// src/protocols/constants.ts\nvar ProtocolEnum = {\n AG_UI: \"AG_UI\",\n ADK: \"ADK\",\n OPEN_AI: \"OPEN_AI\",\n ARK: \"ARK\",\n // 以上直接提供支持\n CUSTOM: \"CUSTOM\"\n};\nvar SUPPORT_PROTOCOL = [\n ProtocolEnum.ADK,\n ProtocolEnum.OPEN_AI,\n ProtocolEnum.AG_UI,\n ProtocolEnum.ARK\n];\n\n// src/protocols/Adk.ts\nimport { compact, findIndex, last } from \"lodash-es\";\nimport { v4 as uuid3 } from \"uuid\";\n\n// src/utils/getDataType.ts\nvar supportTypes = [\"image\", \"video\"];\nvar supportMimeTypes = [\"application/pdf\"];\nvar getDataType = (mimeType) => {\n const type = mimeType.split(\"/\")[0];\n if (supportTypes.includes(type)) {\n return type;\n }\n if (supportMimeTypes.includes(mimeType)) {\n return \"pdf\";\n }\n return \"unknown\";\n};\n\n// src/protocols/Adk.ts\nvar isTextPart = (part) => {\n return \"text\" in part && !(\"thought\" in part);\n};\nvar isReasoningPart = (part) => {\n return \"text\" in part && !!part.thought;\n};\nvar isFunctionCallPart = (part) => {\n return \"functionCall\" in part;\n};\nvar isFunctionResponsePart = (part) => {\n return \"functionResponse\" in part;\n};\nvar isInlineResponsePart = (part) => {\n return \"inlineData\" in part;\n};\nvar isFileDataResponsePart = (part) => {\n return \"fileData\" in part;\n};\nvar formatInlinePart = (part) => {\n const dataType = getDataType(part.inlineData?.mimeType || \"\");\n if (dataType === \"unknown\") {\n console.log(\n `[chatkit:error]: encount unknow mime type ${part.inlineData.mimeType}`\n );\n return;\n }\n if (dataType === \"image\") {\n return {\n type: dataType,\n imageUrl: {\n url: `data:${part.inlineData?.mimeType};base64,${part.inlineData.data}`\n }\n };\n }\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.inlineData.mimeType,\n fileData: part.inlineData.data,\n // 无 data 前缀\n name: `${part.inlineData.mimeType.split(\"/\")[1]}-${id}`\n };\n};\nvar formatFilePart = (part) => {\n const id = uuid3();\n return {\n type: \"file\",\n fileId: id,\n mimeType: part.fileData.mimeType,\n fileUrl: part.fileData.fileUri,\n name: part.fileData.displayName\n };\n};\nvar AdkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ADK;\n this.omitCompleteText = options.omitCompleteText == true;\n this.protocolName = options.protocolName || options.protocol;\n }\n // 修改parseChunk方法,使其符合父类抽象方法的定义\n parseChunk(chunk) {\n let { message, response } = chunk;\n let parsedJson = response;\n if (parsedJson.error) {\n return {\n ...message,\n error: parsedJson.error\n };\n }\n if (parsedJson.partial) {\n for (const part of parsedJson.content.parts) {\n const lastMessageContent = last(message.content);\n if (lastMessageContent && isTextMessage(lastMessageContent) && isTextPart(part)) {\n if (part.thought) {\n const thoughtMessage = findIndex(\n message.content,\n (item) => isReasoningMessage(item)\n );\n if (thoughtMessage !== -1) {\n message.content[thoughtMessage].text += part.text;\n }\n }\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n {\n text: lastMessageContent.text + part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isTextPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n text: part.text,\n type: \"text\"\n }\n ]\n };\n } else if (isReasoningPart(part) && lastMessageContent && isReasoningMessage(lastMessageContent)) {\n message = {\n ...message,\n content: [\n ...message.content.slice(0, -1),\n { text: lastMessageContent.text + part.text, type: \"reasoning\" }\n ]\n };\n } else if (isReasoningPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n { text: part.text, type: \"reasoning\" }\n ]\n };\n }\n }\n return message;\n }\n for (const part of parsedJson.content.parts) {\n if (isFunctionCallPart(part)) {\n message = {\n ...message,\n content: [\n ...message.content,\n {\n content: null,\n toolCallId: part.functionCall.id,\n toolCallArgs: part.functionCall.args,\n toolCallName: part.functionCall.name,\n type: \"tool_call\"\n }\n ]\n };\n } else if (isFunctionResponsePart(part)) {\n message = {\n ...message,\n content: message.content.map((item) => {\n if (item.type === \"tool_call\" && item.toolCallId === part.functionResponse.id) {\n return {\n ...item,\n content: part.functionResponse.response\n };\n }\n return item;\n })\n };\n } else if (isInlineResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatInlinePart(part)])\n };\n } else if (isFileDataResponsePart(part)) {\n message = {\n ...message,\n content: compact([...message.content, formatFilePart(part)])\n };\n } else if (isTextPart(part) && part.thought) {\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"reasoning\" }]\n };\n } else if (isTextPart(part)) {\n if (this.omitCompleteText) {\n continue;\n }\n message = {\n ...message,\n content: [...message.content, { text: part.text, type: \"text\" }]\n };\n }\n }\n return message;\n }\n // 修改generateRequestBody方法,使其符合父类抽象方法的定义\n generateRequestBody(request) {\n const { userMessage, defaultParams, dynamicParams } = request;\n const attachParts = userMessage.attaches?.map((item) => {\n const base64Data = item.url.startsWith(\"data:\") ? item.url.split(\",\")[1] : item.url;\n return {\n inlineData: {\n mimeType: item.mimeType,\n data: base64Data\n }\n };\n }) || [];\n return {\n ...defaultParams || {},\n ...dynamicParams || {},\n newMessage: {\n role: \"user\",\n parts: compact([\n ...userMessage.content?.map((item) => {\n if (item.type === \"text\") {\n return {\n text: item.text\n };\n }\n }) || [],\n ...attachParts\n ])\n }\n };\n }\n};\nvar Adk_default = AdkProtocol;\n\n// src/protocols/ark.ts\nvar ArkProtocol = class extends BaseProtocols_default {\n constructor(options) {\n super(options);\n this.protocol = ProtocolEnum.ARK;\n this.protocolName = options.protocolName || options.protocol;\n this.stream = options.stream;\n }\n // 修改parseChunk方法的签名,使其符合BaseProtocol接口定义\n parseChunk(chunk) {\n const arkResponse = chunk.response;\n const text = arkResponse.choices?.[0]?.message?.content || \"\";\n const reasoningText = arkResponse?.choices?.[0]?.message?.reasoningContent || \"\";\n return {\n ...chunk.message,\n content: [\n ...chunk.message.content,\n {\n type: \"reasoning\",\n content: reasoningText\n },\n {\n type: \"text\",\n text\n }\n ]\n };\n }\n // 修改generateRequestBody方法,确保包含defaultParams参数\n generateRequestBody(request) {\n const { userMessage, contextMessages } = request;\n return {\n model: \"doubao-seed-1-6-251015\",\n max_completion_tokens: 65535,\n messages: [\n ...contextMessages.map((item) => ({\n role: item.role,\n content: item.content.map((content) => ({\n text: content.text,\n type: \"text\"\n }))\n })),\n {\n content: [\n {\n text: userMessage.content[0].text,\n type: \"text\"\n }\n ],\n role: \"user\"\n }\n ],\n reasoning_effort: \"medium\"\n };\n }\n};\nvar ark_default = ArkProtocol;\n\n// src/protocols/getProtocol.ts\nvar getSupportProtocolAdaptor = (protocol) => {\n switch (protocol) {\n case ProtocolEnum.ARK:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n case ProtocolEnum.ADK:\n return new Adk_default({\n protocolName: \"adk stream\",\n protocol: ProtocolEnum.ADK,\n omitCompleteText: true\n });\n default:\n return new ark_default({\n protocolName: \"ark stream\",\n protocol: ProtocolEnum.ARK\n });\n }\n};\nvar getProtocolAdaptor = (protocolOptions) => {\n if (protocolOptions.protocol === ProtocolEnum.CUSTOM) {\n return protocolOptions.protocolAdaptor;\n }\n return getSupportProtocolAdaptor(protocolOptions.protocol);\n};\nexport {\n BaseProtocols_exports as BaseProtocol,\n MessageStatusEnum,\n ProtocolEnum,\n getProtocolAdaptor,\n messageActions,\n sendMessage,\n threadActions,\n threadManagerState,\n useThreadManagerStore\n};\n//# sourceMappingURL=index.js.map"],"names":["uuid","uuidv4","dayjs2","uuid2","dayjs3","uuid3"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chat-lab/ui",
3
- "version": "0.1.0-beta.16",
3
+ "version": "0.1.0-beta.17",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",