@next-bricks/ai 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/1055.575dd0f8.js +2 -0
  3. package/dist/chunks/1055.575dd0f8.js.map +1 -0
  4. package/dist/chunks/1370.026d7240.js +2 -0
  5. package/dist/chunks/1370.026d7240.js.map +1 -0
  6. package/dist/chunks/{1889.cab870d1.js → 1889.34660219.js} +2 -2
  7. package/dist/chunks/1889.34660219.js.map +1 -0
  8. package/dist/chunks/287.43f535b1.js +2 -0
  9. package/dist/chunks/287.43f535b1.js.map +1 -0
  10. package/dist/chunks/{1370.eaf34ae0.js → 3751.eb7f94f9.js} +2 -2
  11. package/dist/chunks/{1370.eaf34ae0.js.map → 3751.eb7f94f9.js.map} +1 -1
  12. package/dist/chunks/8989.c691b402.js +2 -0
  13. package/dist/chunks/{8989.82221efb.js.map → 8989.c691b402.js.map} +1 -1
  14. package/dist/chunks/8994.0b12b467.js +3 -0
  15. package/dist/chunks/8994.0b12b467.js.map +1 -0
  16. package/dist/chunks/9251.fd40eafe.js +2 -0
  17. package/dist/chunks/9251.fd40eafe.js.map +1 -0
  18. package/dist/chunks/chat-view.803e1a42.js +2 -0
  19. package/dist/chunks/chat-view.803e1a42.js.map +1 -0
  20. package/dist/chunks/main.3d341c63.js +2 -0
  21. package/dist/chunks/main.3d341c63.js.map +1 -0
  22. package/dist/index.6f87a8d6.js +2 -0
  23. package/dist/index.6f87a8d6.js.map +1 -0
  24. package/dist-types/chat-view/ChatService.d.ts +25 -13
  25. package/dist-types/chat-view/ChatViewContext.d.ts +14 -11
  26. package/dist-types/chat-view/components/Loading.d.ts +1 -0
  27. package/dist-types/chat-view/hooks/useChatViewInfo.d.ts +9 -3
  28. package/dist-types/chat-view/index.d.ts +1 -0
  29. package/package.json +2 -2
  30. package/dist/chunks/1889.cab870d1.js.map +0 -1
  31. package/dist/chunks/2052.1b6d67cf.js +0 -2
  32. package/dist/chunks/2052.1b6d67cf.js.map +0 -1
  33. package/dist/chunks/8095.6bb79099.js +0 -3
  34. package/dist/chunks/8095.6bb79099.js.map +0 -1
  35. package/dist/chunks/8989.82221efb.js +0 -2
  36. package/dist/chunks/9024.e581e595.js +0 -2
  37. package/dist/chunks/9024.e581e595.js.map +0 -1
  38. package/dist/chunks/9251.870773ba.js +0 -2
  39. package/dist/chunks/9251.870773ba.js.map +0 -1
  40. package/dist/chunks/chat-view.289af8d0.js +0 -2
  41. package/dist/chunks/chat-view.289af8d0.js.map +0 -1
  42. package/dist/chunks/main.ee73c808.js +0 -2
  43. package/dist/chunks/main.ee73c808.js.map +0 -1
  44. package/dist/index.d059315f.js +0 -2
  45. package/dist/index.d059315f.js.map +0 -1
  46. package/dist-types/chat-view/mockList.d.ts +0 -2
  47. /package/dist/chunks/{8095.6bb79099.js.LICENSE.txt → 8994.0b12b467.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/287.43f535b1.js","mappings":"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","sources":["webpack:///./src/chat-view/ChatViewContext.ts","webpack:///./src/chat-view/components/Loading.tsx","webpack:///./src/chat-view/components/MessageItem/Avatar.tsx","webpack:///./src/chat-view/components/MessageItem/GuideItem.tsx","webpack:///./src/chat-view/components/MessageItem/MarkdownItem.tsx","webpack:///./src/chat-view/components/MessageItem/TableItem.tsx","webpack:///./src/chat-view/components/MessageItem/TextItem.tsx","webpack:///./src/chat-view/components/MessageItem/Toolbar.tsx","webpack:///./src/chat-view/components/MessageItem/Time.tsx","webpack:///./src/chat-view/components/MessageItem/ContentTip.tsx","webpack:///./src/chat-view/components/MessageItem/index.tsx","webpack:///./src/chat-view/components/QuickAnswerList/index.tsx","webpack:///./src/chat-view/components/StopBtn.tsx","webpack:///./src/chat-view/components/MessageList.tsx","webpack:///./src/chat-view/components/utils/calculateAutoSizeStyle.ts","webpack:///./src/chat-view/components/SearchInput.tsx","webpack:///./src/chat-view/components/SessionList.tsx","webpack:///./src/chat-view/ChatService.ts","webpack:///./src/chat-view/hooks/useChatViewInfo.ts","webpack:///./src/chat-view/host-context.css","webpack:///./src/chat-view/components/MessageItem/markdown.shadow.css","webpack:///./src/chat-view/components/QuickAnswerList/quickAnswerList.shadow.css","webpack:///./src/chat-view/components/loading.shadow.css","webpack:///./src/chat-view/styles.shadow.css","webpack:///./src/chat-view/host-context.css?1beb"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport { AgentDetailItem } from \"./components/QuickAnswerList/index.js\";\nimport { SessionItem } from \"./ChatService.js\";\n\nexport type Role = \"guide\" | \"user\" | \"assistant\";\n\nexport interface MessageItemContent {\n type: \"guide\" | \"text\" | \"markdown\" | \"table\" | \"load\";\n text: string;\n examplePrompts?: string[];\n}\n\nexport interface MessageItem {\n role: Role;\n content: MessageItemContent;\n created?: number | string;\n key?: number | string;\n conversationId?: string;\n taskId?: string;\n agentId?: string;\n chatting?: boolean;\n}\n\nexport interface QuickAnswerConfig {\n tip: string;\n list: AgentDetailItem[];\n}\n\ninterface ChatViewContextProps {\n sessionEnd: boolean;\n sessionLoading: boolean;\n activeSessionId?: string;\n sessionList: SessionItem[];\n msgEnd: boolean;\n msgLoading: boolean;\n msgList: MessageItem[];\n msgItem?: MessageItem;\n loading: boolean;\n chatting: boolean;\n searchStr: string;\n showLike: boolean;\n quickAnswerConfig?: QuickAnswerConfig;\n handleChat: (str: string) => void;\n stopChat: () => void;\n checkSession: (id?: string, isInit?: boolean) => void;\n createSession: () => void;\n setSearchStr: (str: string) => void;\n querySessionHistory: (limit?: number) => void;\n}\n\nexport const ChatViewContext = createContext<ChatViewContextProps>(\n {} as ChatViewContextProps\n);\n\nexport const useChatViewContext = (): ChatViewContextProps =>\n useContext(ChatViewContext);\n","import React from \"react\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\ninterface LoadingProps {\n loading?: boolean;\n}\n\nexport function MessageListLoading({ loading }: LoadingProps) {\n return loading ? <div className=\"message-list-loading-wrapper\"></div> : null;\n}\n\nexport function ChatItemLoading({ loading }: LoadingProps) {\n return loading ? (\n <div className=\"chart-item-loading-wrapper\">\n <div className=\"load\">\n <div></div>\n <div></div>\n <div></div>\n <div></div>\n </div>\n </div>\n ) : null;\n}\n\nexport function CommonLoading() {\n return (\n <div className=\"common-loading-wrapper\">\n <WrappedIcon icon=\"loading\" lib=\"antd\" spinning />\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\nimport type { Role } from \"../../ChatViewContext.js\";\n\nexport function Avatar({ role }: { role: Role }): React.ReactNode {\n const isUser = useMemo(() => role === \"user\", [role]);\n\n return <div className={`avatar ${isUser ? \"user\" : \"robot\"}`} />;\n}\n","import React from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\ninterface GuideItemProps {\n text: string;\n prompts?: string[];\n}\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function GuideItem({ text, prompts }: GuideItemProps) {\n return (\n <div className=\"guide-item\">\n {text}\n <div className=\"prompts-list\">\n {prompts\n ? prompts.map((item, index) => (\n <WrappedLink key={index}>{item}</WrappedLink>\n ))\n : null}\n </div>\n </div>\n );\n}\n","import React from \"react\";\nimport {\n defaultValueCtx,\n Editor,\n rootCtx,\n editorViewOptionsCtx,\n} from \"@milkdown/core\";\nimport { Milkdown, useEditor, MilkdownProvider } from \"@milkdown/react\";\nimport { commonmark } from \"@milkdown/preset-commonmark\";\nimport { nord } from \"@milkdown/theme-nord\";\nimport { gfm } from \"@milkdown/preset-gfm\";\nimport { prism } from \"@milkdown/plugin-prism\";\n\nexport function MarkdownItem({ text }: { text: string }) {\n return (\n <div className=\"markdown-item\">\n <MilkdownProvider>\n <MarkdownDisplay value={text} />\n </MilkdownProvider>\n </div>\n );\n}\n\nexport function MarkdownDisplay({ value }: { value: string }): React.ReactNode {\n useEditor((root) => {\n return Editor.make()\n .config((ctx) => {\n ctx.set(rootCtx, root);\n ctx.update(editorViewOptionsCtx, (prev: any) => ({\n ...prev,\n editable: () => false,\n }));\n value && ctx.set(defaultValueCtx, value);\n })\n .config(nord)\n .use(prism)\n .use(gfm)\n .use(commonmark);\n }, []);\n\n return <Milkdown />;\n}\n","import React from \"react\";\n// import { wrapBrick } from \"@next-core/react-element\";\n// import type {\n// EoNextTable,\n// NextTableComponentProps,\n// } from \"@next-bricks/advanced/next-table\";\n\ninterface MarkdownItemProps {\n text: string;\n}\n\n// const WrappedNextTable = wrapBrick<EoNextTable, NextTableComponentProps>(\n// \"eo-next-table\"\n// );\n\nexport function TableItem({ text }: MarkdownItemProps) {\n // const parseContent = useMemo((): NextTableComponentProps => {\n // let content: NextTableComponentProps;\n // try {\n // content = JSON.parse(text);\n // } catch {\n // content = {} as NextTableComponentProps;\n // }\n // return content;\n // }, [text]);\n\n // return (\n // <div className=\"table-item\">\n // <WrappedNextTable pagination={false} {...parseContent} />\n // </div>\n // );\n return <div className=\"table-item\">{text}</div>;\n}\n","import React from \"react\";\n\ninterface TextItem {\n text: string;\n}\n\nexport function TextItem({ text }: TextItem) {\n return <div className=\"text-item\">{text}</div>;\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport { MessageItem, useChatViewContext } from \"../../ChatViewContext\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\n\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport function Toolbar({\n role,\n content,\n chatting,\n}: MessageItem): React.ReactNode {\n const isAssistant = useMemo(\n () => role === \"assistant\" && content.type !== \"load\",\n [role, content.type]\n );\n const isChattingItem = useMemo(() => chatting, [chatting]);\n const { showLike } = useChatViewContext();\n\n const handleCopy = () => {\n copyToClipboard(content.text)\n .then(() => showNotification({ type: \"success\", message: \"复制成功\" }))\n .catch(() => showNotification({ type: \"error\", message: \"复制失败\" }));\n };\n\n return isAssistant && !isChattingItem ? (\n <div className=\"toolbar\">\n {showLike && (\n <>\n <WrappedToolTip content=\"点赞\">\n <WrapperIcon lib=\"antd\" icon=\"like\" theme=\"filled\" />\n </WrappedToolTip>\n <WrappedToolTip content=\"还不够好\">\n <WrapperIcon lib=\"antd\" icon=\"dislike\" theme=\"filled\" />\n </WrappedToolTip>\n </>\n )}\n <WrappedToolTip content=\"点击复制\">\n <WrapperIcon lib=\"antd\" icon=\"copy\" onClick={handleCopy} />\n </WrappedToolTip>\n </div>\n ) : null;\n}\n","import moment from \"moment\";\nimport React from \"react\";\n\nexport function Time({ time }: { time?: string | number }) {\n return (\n <div className=\"time\">\n {time\n ? typeof time === \"string\"\n ? time\n : moment(time).format(\"YYYY-MM-DD HH:mm:ss\")\n : null}\n </div>\n );\n}\n","import React, { useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport { useChatViewContext, type MessageItem } from \"../../ChatViewContext\";\n\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrapperIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function ContentTip({ role, content }: MessageItem): React.ReactNode {\n const isUser = useMemo(() => role === \"user\", [role]);\n\n const { chatting, setSearchStr } = useChatViewContext();\n\n const handleCopy = () => {\n setSearchStr(content.text);\n };\n\n return isUser && !chatting ? (\n <div className=\"content-tip\">\n <WrappedToolTip content=\"点击再次提问\">\n <WrapperIcon lib=\"antd\" icon=\"edit\" onClick={handleCopy} />\n </WrappedToolTip>\n </div>\n ) : null;\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { MessageItem, MessageItemContent } from \"../../ChatViewContext.js\";\nimport { GuideItem } from \"./GuideItem.js\";\nimport { MarkdownItem } from \"./MarkdownItem.js\";\nimport { TableItem } from \"./TableItem.js\";\nimport { ChatItemLoading } from \"../Loading.js\";\nimport { TextItem } from \"./TextItem.js\";\nimport { Toolbar } from \"./Toolbar.js\";\nimport { Time } from \"./Time.js\";\nimport { ContentTip } from \"./ContentTip.js\";\n\nexport function MessageNode(props: MessageItem): React.ReactNode {\n const { content, created, role } = props;\n const isUser = useMemo(() => role === \"user\", [role]);\n\n const getContentNode = useCallback((content: MessageItemContent) => {\n const { type, text, examplePrompts } = content;\n switch (type) {\n case \"guide\":\n return <GuideItem text={text} prompts={examplePrompts} />;\n case \"text\":\n return <TextItem text={text} />;\n case \"table\":\n return <TableItem text={text} />;\n case \"load\":\n return <ChatItemLoading loading />;\n case \"markdown\":\n default:\n return <MarkdownItem text={text} />;\n }\n }, []);\n\n const messageNode = useMemo(\n () => getContentNode(content),\n [content, getContentNode]\n );\n\n return (\n <div className=\"message-box\">\n <div className=\"message-top\">\n {isUser ? \"我\" : \"AI助手\"}\n <Time time={created} />\n </div>\n <div className=\"message-content\">\n <div className=\"content\">\n {messageNode}\n <ContentTip {...props} />\n <Toolbar {...props} />\n </div>\n </div>\n </div>\n );\n}\n","import React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useChatViewContext } from \"../../ChatViewContext\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport interface AgentDetailItem {\n name: string;\n description: string;\n icon: GeneralIconProps & { color: string };\n starterPrompts?: string[];\n instanceId: string;\n [key: string]: any;\n}\n\nconst CARD_ITEM_HEIGHT = 85;\nconst HEIGHT_GAP = 24;\n\nfunction QuickAnswerCardItem({\n name,\n description,\n icon,\n starterPrompts,\n}: AgentDetailItem) {\n const { setSearchStr } = useChatViewContext();\n\n const handleCardClick = () => {\n starterPrompts?.length && setSearchStr(starterPrompts[0]);\n };\n\n const iconColor = useMemo(() => icon?.color ?? \"geekblue\", [icon]);\n\n return (\n <div\n className=\"quick-answer-card-item\"\n style={{\n height: CARD_ITEM_HEIGHT,\n background: `linear-gradient(rgba(var(--theme-${iconColor}-color-rgb-channel), 0.1), rgba(var(--theme-${iconColor}-color-rgb-channel), 0.08))`,\n }}\n onClick={handleCardClick}\n >\n <div className=\"left\">\n <WrappedIcon\n className=\"icon\"\n {...(icon ?? {\n icon: \"default-app\",\n lib: \"easyops\",\n category: \"app\",\n })}\n style={{\n background: `rgba(var(--theme-${iconColor}-color-rgb-channel), 0.5)`,\n }}\n />\n </div>\n <div className=\"content\">\n <div className=\"title\">{name}</div>\n <div className=\"description\">{description}</div>\n </div>\n </div>\n );\n}\n\nexport function QuickAnswerList() {\n const { quickAnswerConfig, msgList, loading } = useChatViewContext();\n const [showMoreBtn, setShowMoreBtn] = useState<boolean>(false);\n const listRef = useRef<HTMLDivElement>(null);\n const hadClickShowMoreBtn = useRef<boolean>(false);\n\n const handleShowMoreClick = () => {\n hadClickShowMoreBtn.current = true;\n setShowMoreBtn(false);\n };\n\n useEffect(() => {\n const element = listRef.current;\n if (element) {\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (\n entry.contentRect.height >\n CARD_ITEM_HEIGHT * 3 + HEIGHT_GAP * 2\n ) {\n if (!hadClickShowMoreBtn.current) {\n setShowMoreBtn(true);\n }\n } else {\n setShowMoreBtn(false);\n }\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }\n }, [showMoreBtn]);\n\n return quickAnswerConfig?.list.length && msgList.length === 0 && !loading ? (\n <div className=\"quick-answer-wrapper\">\n <div className=\"tip\">\n {quickAnswerConfig.tip ??\n \"你好,我是运维数智人—Murphy,我能为你提供以下服务:\"}\n </div>\n <div\n className=\"quick-answer-list\"\n style={{\n ...(showMoreBtn\n ? {\n maxHeight: CARD_ITEM_HEIGHT * 3 + HEIGHT_GAP * 2 + 10,\n overflow: \"hidden\",\n }\n : {}),\n }}\n ref={listRef}\n >\n {quickAnswerConfig.list.map((item) => (\n <QuickAnswerCardItem key={item.instanceId} {...item} />\n ))}\n </div>\n {showMoreBtn ? (\n <div className=\"show-more-wrapper\">\n <WrappedLink\n icon={{\n lib: \"antd\",\n icon: \"down\",\n }}\n className=\"show-more-btn\"\n onClick={handleShowMoreClick}\n >\n 显示更多\n </WrappedLink>\n </div>\n ) : null}\n </div>\n ) : null;\n}\n","import React from \"react\";\nimport { useChatViewContext } from \"../ChatViewContext\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\n\nconst WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\n\nexport function StopBtn() {\n const { stopChat } = useChatViewContext();\n\n const handleStopChat = () => {\n stopChat();\n };\n return (\n <div className=\"stop-responding-wrapper\">\n <WrappedLink className=\"stop-btn\" onClick={handleStopChat}>\n 停止生成\n </WrappedLink>\n </div>\n );\n}\n","import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { MessageItem, useChatViewContext } from \"../ChatViewContext\";\nimport { Avatar } from \"./MessageItem/Avatar.js\";\nimport classNames from \"classnames\";\nimport { CommonLoading, MessageListLoading } from \"./Loading.js\";\nimport { MessageNode } from \"./MessageItem/index.js\";\nimport { QuickAnswerList } from \"./QuickAnswerList/index.js\";\nimport { debounce } from \"lodash\";\nimport { StopBtn } from \"./StopBtn.js\";\n\ninterface MessageListProps {\n showAvatar?: boolean;\n}\n\nconst DEFAULT_OFFSET_HEIGHT = 80;\nconst CACHE_HEIGHT = 200;\n\nexport function MessageList({\n showAvatar = true,\n}: MessageListProps): React.ReactNode {\n const messageListRef = useRef<HTMLDivElement>(null);\n const messgetListBoxRef = useRef<HTMLDivElement>(null);\n const [preHeight, setPreHeight] = useState<number>(0);\n const isCustomScroll = useRef<boolean>(false);\n\n const {\n msgLoading,\n msgEnd,\n msgList,\n msgItem,\n loading,\n activeSessionId,\n chatting,\n checkSession,\n } = useChatViewContext();\n\n const getMsgItemNode = useCallback(\n (item: MessageItem, index: number = 0) => {\n return (\n <div\n className={classNames(\"message-item\", { user: item.role === \"user\" })}\n key={item.key ?? index}\n >\n {showAvatar && <Avatar role={item.role} />}\n <MessageNode {...item} />\n </div>\n );\n },\n [showAvatar]\n );\n\n const msgListNode = useMemo(() => {\n if (msgList.length) {\n return msgList.map(getMsgItemNode);\n }\n return null;\n }, [msgList, getMsgItemNode]);\n\n const msgItemNode = useMemo(\n () =>\n msgItem ? (\n <>\n {getMsgItemNode({\n ...msgItem,\n chatting: true,\n })}\n <StopBtn />\n </>\n ) : null,\n [msgItem, getMsgItemNode]\n );\n\n const handleScroll = useCallback(() => {\n const messageList = messageListRef.current;\n if (messageList) {\n const { scrollHeight, clientHeight, scrollTop } = messageList;\n // 滚动到底部所需的高度 = 总高度 - 视图高度\n const isBottom = scrollHeight - clientHeight === scrollTop;\n if (!isBottom) {\n isCustomScroll.current = true;\n } else if (isBottom && isCustomScroll.current) {\n // 自动吸低\n isCustomScroll.current = false;\n }\n if (!msgLoading && !msgEnd && scrollTop < CACHE_HEIGHT) {\n checkSession();\n }\n }\n }, [msgEnd, msgLoading, checkSession]);\n\n const debounceHandleScroll = debounce(handleScroll, 200);\n\n useEffect(() => {\n if (chatting || activeSessionId) {\n // 聊天或者会话变更时,重置滚动状态\n isCustomScroll.current = false;\n }\n }, [chatting, activeSessionId]);\n\n useEffect(() => {\n const element = messgetListBoxRef.current;\n if (element) {\n const observer = new ResizeObserver((entries) => {\n let newHeight: number = 0;\n // 如果存在用户行为,不触发自动滚动行为\n if (isCustomScroll.current) return;\n for (const entry of entries) {\n newHeight = entry.contentRect.height - DEFAULT_OFFSET_HEIGHT;\n }\n if (!loading && !chatting) {\n // 高度变化,代表消息新增,自动滚动到最下\n messageListRef.current!.scroll({\n top: Number.MAX_SAFE_INTEGER,\n });\n }\n if (newHeight > preHeight && chatting) {\n messageListRef.current!.scroll({\n top: Number.MAX_SAFE_INTEGER,\n });\n setPreHeight(Math.max(preHeight, newHeight));\n }\n });\n observer.observe(element);\n return () => observer.disconnect();\n }\n }, [chatting, loading, preHeight]);\n\n return (\n <div\n className=\"message-list\"\n ref={messageListRef}\n onScroll={debounceHandleScroll}\n >\n <div className=\"message-list-box\" ref={messgetListBoxRef}>\n {msgEnd && msgList.length ? (\n <div className=\"message-start-tip\">会话开始</div>\n ) : null}\n {msgLoading && <CommonLoading />}\n <QuickAnswerList />\n {msgListNode}\n {msgItemNode}\n </div>\n <MessageListLoading loading={loading} />\n </div>\n );\n}\n","const HIDDEN_TEXTAREA_STYLE = `\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important;\n padding: 10px !important;\n pointer-events: none !important;\n`;\n\nconst SIZING_STYLE = [\n \"letter-spacing\",\n \"line-height\",\n \"padding-top\",\n \"padding-bottom\",\n \"font-family\",\n \"font-weight\",\n \"font-size\",\n \"font-variant\",\n \"text-rendering\",\n \"text-transform\",\n \"width\",\n \"text-indent\",\n \"padding-left\",\n \"padding-right\",\n \"border-width\",\n \"box-sizing\",\n \"word-break\",\n \"white-space\",\n];\nlet hiddenTextarea: HTMLTextAreaElement;\n\n/**\n * 计算 textare 高度\n * https://github.com/react-component/textarea/blob/1c0026fbe30e5f7dff1fca695b2cf262246381ca/src/calculateNodeHeight.tsx\n * */\nexport default function calculateAutoSizeStyle(\n uiTextNode: HTMLTextAreaElement,\n minRows: number | null = null,\n maxRows: number | null = null\n): React.CSSProperties {\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement(\"textarea\");\n hiddenTextarea.setAttribute(\"tab-index\", \"-1\");\n hiddenTextarea.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(hiddenTextarea);\n }\n\n const uiTextNodeStyle = window.getComputedStyle(uiTextNode);\n const sizingStyle = SIZING_STYLE.map(\n (name) => `${name}:${uiTextNodeStyle.getPropertyValue(name)}`\n ).join(\";\");\n\n // equal style\n hiddenTextarea.setAttribute(\n \"style\",\n `${sizingStyle};${HIDDEN_TEXTAREA_STYLE}`\n );\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || \"\";\n\n let minHeight: number | undefined = undefined;\n let maxHeight: number | undefined = undefined;\n // let overflowY: any;\n\n const borderSize = 2;\n const paddingSize = 20;\n let height = hiddenTextarea.scrollHeight - paddingSize + borderSize;\n\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = \" \";\n const singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows - paddingSize + borderSize;\n height = Math.max(paddingSize, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows - paddingSize + borderSize;\n // overflowY = height > maxHeight ? \"\" : \"hidden\";\n height = Math.min(maxHeight, height);\n }\n }\n\n const style: React.CSSProperties = {\n height,\n overflowY: \"scroll\",\n resize: \"none\",\n };\n\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n\n return style;\n}\n","import React, {\n ChangeEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport calculateAutoSizeStyle from \"./utils/calculateAutoSizeStyle.js\";\nimport classNames from \"classnames\";\nimport { useChatViewContext } from \"../ChatViewContext.js\";\n\nconst WrappedToolTip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport function SearchInput(): React.ReactNode {\n const [value, setValue] = useState<string>(\"\");\n const [active, setActive] = useState<boolean>(false);\n const [expand, setExpand] = useState<boolean>(false);\n const [autoSizeStyle, setAutoSizeStyle] = useState<React.CSSProperties>();\n const [isFillContent, setIsFillContent] = useState<boolean>(false);\n const searchInputBoxRef = useRef<HTMLDivElement>(null);\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const hadExpanded = useRef<boolean>(false);\n const inputEndRef = useRef<boolean>(false);\n\n const {\n chatting,\n loading,\n searchStr,\n createSession,\n setSearchStr,\n handleChat,\n } = useChatViewContext();\n\n const hadValue = useMemo(() => !!value, [value]);\n const defaultSize = useMemo(() => [1, 5], []);\n const disabled = useMemo(() => loading || chatting, [chatting, loading]);\n\n const computedAutoSize = useCallback(\n (size = defaultSize) => {\n if (hadExpanded.current && expand) return;\n const textareaElement = textareaRef.current as HTMLTextAreaElement;\n if (textareaElement) {\n const textareaStyles = calculateAutoSizeStyle(\n textareaElement,\n size[0],\n size[1]\n );\n\n setAutoSizeStyle(textareaStyles);\n }\n hadExpanded.current = expand;\n },\n [defaultSize, expand]\n );\n\n const handleChange = useCallback(\n (e: ChangeEvent<HTMLTextAreaElement> | string): void => {\n const value = typeof e === \"string\" ? e : e.target.value;\n setValue(value);\n textareaRef.current!.value = value;\n },\n []\n );\n\n const handleCompositionStart = () => {\n inputEndRef.current = true;\n };\n\n const handleCompositionEnd = () => {\n inputEndRef.current = false;\n };\n\n const hanldeCreateSession = () => {\n createSession();\n };\n\n const handleExpand = useCallback(() => {\n setExpand((value) => {\n return !value;\n });\n }, []);\n\n const handleSubmit = useCallback(() => {\n if (!hadValue || !textareaRef.current || disabled) return;\n\n handleChat(value);\n\n setActive(false);\n setExpand(false);\n handleChange(\"\");\n textareaRef.current.blur();\n }, [value, hadValue, disabled, handleChat, handleChange]);\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLTextAreaElement>) => {\n if (e.key === \"Enter\" && !e.shiftKey && !inputEndRef.current) {\n e.preventDefault();\n handleSubmit();\n }\n },\n [handleSubmit]\n );\n\n useEffect(() => {\n if (searchStr) {\n handleChange(searchStr);\n setSearchStr(\"\");\n }\n }, [searchStr, disabled, setSearchStr, handleChange]);\n\n useEffect(() => {\n computedAutoSize(expand ? [20, 20] : undefined);\n }, [value, expand, computedAutoSize]);\n\n useEffect(() => {\n const searchInputBox = searchInputBoxRef.current;\n if (searchInputBox) {\n const observe = new ResizeObserver(() => {\n const { width: currentWidth } = searchInputBox.getBoundingClientRect();\n const { width: parentWidth } =\n searchInputBox.parentElement!.parentElement!.getBoundingClientRect();\n\n setIsFillContent(currentWidth === parentWidth);\n });\n\n observe.observe(searchInputBox);\n\n return () => {\n observe.disconnect();\n };\n }\n }, []);\n\n useEffect(() => {\n if (!chatting && textareaRef.current) {\n textareaRef.current?.focus();\n }\n }, [chatting]);\n\n return (\n <div\n className={classNames(\"search-input-box\", {\n \"fill-content\": isFillContent,\n })}\n ref={searchInputBoxRef}\n >\n <div\n className={classNames(\"input-box\", {\n active,\n disabled,\n expand,\n })}\n >\n <textarea\n value={value}\n ref={textareaRef}\n style={{\n ...autoSizeStyle,\n paddingRight: expand ? \"50px\" : \"140px\",\n }}\n placeholder={chatting ? \"回复中,请稍等...\" : \"提出你的想法...\"}\n onFocus={() => setActive(true)}\n onBlur={() => setActive(false)}\n onChange={handleChange}\n onKeyDown={handleKeyDown}\n onCompositionStart={handleCompositionStart}\n onCompositionEnd={handleCompositionEnd}\n />\n <span className=\"suffix-icon\">\n <WrappedToolTip content=\"新增会话\">\n <WrappedIcon\n lib=\"antd\"\n icon=\"plus-circle\"\n onClick={hanldeCreateSession}\n />\n </WrappedToolTip>\n {!expand && (\n <WrappedToolTip content=\"放大\">\n <WrappedIcon\n lib=\"antd\"\n icon=\"arrows-alt\"\n onClick={handleExpand}\n />\n </WrappedToolTip>\n )}\n <div className=\"submit-split\"></div>\n <WrappedToolTip content=\"提交\">\n <WrappedIcon\n className={classNames(\"submit-btn\", {\n active: hadValue,\n disabled: !hadValue || disabled,\n })}\n lib={chatting ? \"antd\" : \"easyops\"}\n icon={chatting ? \"loading\" : \"release-management-fill\"}\n category={chatting ? \"\" : \"menu\"}\n spinning={chatting}\n onClick={handleSubmit}\n />\n </WrappedToolTip>\n </span>\n <span className=\"toolbar-icon\">\n {expand && (\n <WrappedToolTip content=\"缩小\">\n <WrappedIcon lib=\"antd\" icon=\"shrink\" onClick={handleExpand} />\n </WrappedToolTip>\n )}\n </span>\n </div>\n {hadValue && (\n <div className=\"search-input-toolbar\">\n <div className=\"input-tip\">Shift + Enter 换行</div>\n </div>\n )}\n </div>\n );\n}\n","import React, { useCallback, useEffect, useRef } from \"react\";\nimport { useChatViewContext } from \"../ChatViewContext\";\nimport classNames from \"classnames\";\nimport { debounce } from \"lodash\";\nimport { SessionItem as SessionItemProps } from \"../ChatService\";\nimport { CommonLoading } from \"./Loading.js\";\n\nconst SESSION_ITEM_HEIGHT = 42;\nconst BUFFER_NUMBER = 5;\nconst CACHE_HEIGHT = 100;\n\nexport function SessionList(): React.ReactNode {\n const { sessionEnd, sessionLoading, sessionList, querySessionHistory } =\n useChatViewContext();\n const sessionWrapperRef = useRef<HTMLDivElement>(null);\n const sessionListRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n // 计算视图内可以展示多少条会话历史数据\n let limit = 20;\n const sessionWrapper = sessionWrapperRef.current;\n if (sessionWrapper) {\n // limit = 视图高度 % 单条高度 + 缓冲长度\n limit =\n Math.floor(sessionWrapper.clientHeight / SESSION_ITEM_HEIGHT) +\n BUFFER_NUMBER;\n }\n querySessionHistory(limit);\n }, []);\n\n const checkSessionList = useCallback(() => {\n if (sessionLoading || sessionEnd) return;\n const sessionList = sessionListRef.current;\n if (sessionList) {\n const { scrollTop, scrollHeight, clientHeight } = sessionList;\n // 如果滚动的高度 + 视图高度 + 缓冲高度 > 视图的滚动高度,请求新的数据\n if (scrollTop + clientHeight + CACHE_HEIGHT > scrollHeight) {\n querySessionHistory();\n }\n }\n }, [querySessionHistory, sessionLoading, sessionEnd]);\n\n const handleScroll = debounce(checkSessionList, 200);\n\n return (\n <div className=\"session-list-wrapper\" ref={sessionWrapperRef}>\n <div className=\"session-title\">历史对话</div>\n <div\n className=\"session-list\"\n ref={sessionListRef}\n onScroll={handleScroll}\n >\n {sessionList.map((item, index) => {\n return <SessionItem key={index} {...item} />;\n })}\n {sessionLoading && <CommonLoading />}\n {/* {sessionEnd && <div className=\"session-end-tip\">到底啦</div>} */}\n </div>\n </div>\n );\n}\n\nfunction SessionItem({ title, conversationId }: SessionItemProps) {\n const { checkSession, activeSessionId } = useChatViewContext();\n\n const handleCheckSession = useCallback(() => {\n checkSession(conversationId, true);\n }, [conversationId, checkSession]);\n\n return (\n <div\n key={title}\n className={classNames(\"session-item\", {\n active: conversationId === activeSessionId,\n })}\n onClick={handleCheckSession}\n >\n {title}\n </div>\n );\n}\n","import { fetchEventSource } from \"@microsoft/fetch-event-source\";\nimport { http } from \"@next-core/http\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport moment from \"moment\";\n\nexport interface SSEMessageItem {\n conversationId?: string;\n created: number | string;\n delta: {\n content: string;\n role: string;\n };\n taskId?: string;\n agentId?: string;\n}\n\nexport interface QueueItem {\n topic: string;\n message?: SSEMessageItem;\n}\n\nexport interface SessionItem {\n conversationId: string;\n isDelete: boolean;\n time: number;\n title: string;\n user: string;\n _row_id: string;\n}\n\nexport interface ChatItem {\n agentId: string;\n conversationId: string;\n input: string;\n output: string;\n taskId: string;\n time: number;\n user: string;\n _row_id: string;\n tag: {\n isLike?: boolean;\n };\n}\n\nexport class ChatService {\n #ctrl?: AbortController;\n #agentId: string;\n #enterInterval: number;\n #charting = false;\n #isStartEmitEvent = false;\n #emitTimer: NodeJS.Timeout | undefined;\n #messageQueue: Array<QueueItem> = [];\n #subscribers: Record<string, Array<(msg?: SSEMessageItem) => void>> = {};\n #conversationId?: string;\n\n // 会话\n #sessionNextToken?: string;\n #cacheLimit?: number;\n\n // 消息\n #messageNextToken?: string;\n\n constructor({\n agentId,\n enterInterval = 50,\n }: {\n agentId: string;\n enterInterval: number;\n }) {\n this.#agentId = agentId;\n this.#enterInterval = enterInterval;\n }\n\n enqueue(data: QueueItem) {\n this.#messageQueue.push(data);\n this.#startEmitEvent();\n }\n\n dequeue() {\n return this.#messageQueue.shift();\n }\n\n #clear() {\n this.#messageQueue.length = 0;\n }\n\n getMessageQueue() {\n return this.#messageQueue;\n }\n\n subscribe(topic: string, callback: (msg?: SSEMessageItem) => void) {\n if (!this.#subscribers[topic]) {\n this.#subscribers[topic] = [];\n }\n this.#subscribers[topic].push(callback);\n }\n\n unsubscribe(topic: string, callback: (msg?: SSEMessageItem) => void) {\n if (this.#subscribers[topic]) {\n this.#subscribers[topic] = this.#subscribers[topic].filter(\n (cb) => cb !== callback\n );\n }\n }\n\n notifySubscribers(data: QueueItem) {\n const topic = data.topic;\n if (this.#subscribers[topic]) {\n this.#subscribers[topic].forEach((callback) => {\n callback(data?.message);\n });\n }\n }\n\n setConversationId(id?: string) {\n this.#conversationId = id;\n }\n\n async getSessionHistory(limit?: number): Promise<SessionItem[]> {\n if (limit) {\n this.#cacheLimit = limit;\n }\n try {\n const {\n data: { conversations, next_token },\n } = await http.request<{\n data: {\n conversations: SessionItem[];\n next_token: string;\n previous_token: string;\n };\n }>(\n `${getBasePath()}api/gateway/easyops.api.aiops_chat.conversation.ListConversation/conversation/list`,\n {\n method: \"POST\",\n body: JSON.stringify({\n limit: this.#cacheLimit ?? 20,\n next_token: this.#sessionNextToken,\n }),\n }\n );\n this.#sessionNextToken = next_token;\n if (!next_token) {\n this.notifySubscribers({ topic: \"session.fetch.end\" });\n }\n return conversations;\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"获取会话历史失败\");\n }\n return [];\n }\n\n async getChatHistory(id?: string): Promise<ChatItem[]> {\n if (id) {\n this.setConversationId(id);\n this.#messageNextToken = \"\";\n }\n try {\n const {\n data: { conversations, next_token },\n } = await http.request<{\n data: {\n conversations: ChatItem[];\n next_token: string;\n previous_token: string;\n };\n }>(\n `${getBasePath()}api/gateway/easyops.api.aiops_chat.conversation.GetAllDialogue/conversation/get/${this.#conversationId}`,\n {\n method: \"POST\",\n body: JSON.stringify({\n limit: 15,\n next_token: this.#messageNextToken,\n }),\n }\n );\n this.#messageNextToken = next_token;\n if (!next_token) {\n this.notifySubscribers({ topic: \"message.fetch.end\" });\n }\n return conversations;\n } catch {\n // eslint-disable-next-line no-console\n console.error(\"获取消息历史失败\");\n }\n return [];\n }\n\n async chat(str: string): Promise<void> {\n this.#ctrl = new AbortController();\n let hadMatchMessage = false;\n this.#charting = true;\n await fetchEventSource(\n `${getBasePath()}api/gateway/easyops.api.aiops_chat.manage.LLMChatProxy@1.0.0/api/aiops_chat/v1/chat/completions`,\n {\n method: \"POST\",\n signal: this.#ctrl.signal,\n body: JSON.stringify({\n agentId: this.#agentId,\n // agentId: \"cmdb_search_agent\",\n conversationId: this.#conversationId,\n input: str,\n stream: true,\n }),\n headers: {\n \"giraffe-contract-name\": \"easyops.api.aiops_chat.manage.LLMChatProxy\",\n },\n onopen: async (response) => {\n if (response.ok) {\n // eslint-disable-next-line no-console\n console.log(\"open sse service success!\");\n } else {\n // eslint-disable-next-line no-console\n console.log(\"open sse service fail!\");\n }\n },\n onmessage: (msg) => {\n const { data } = msg;\n hadMatchMessage = true;\n if (data === \"[DONE]\") {\n this.#ctrl!.abort();\n return;\n }\n let result = {} as SSEMessageItem;\n try {\n result = JSON.parse(data);\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(\"数据格式错误\", e);\n this.enqueue({\n topic: \"add\",\n message: {\n created: moment().format(\"YYYY-MM-DD HH:mm:ss\"),\n delta: {\n role: \"assistant\",\n content: \"\\\\\\n `数据格式错误`\",\n },\n },\n });\n return;\n }\n if (!this.#conversationId) {\n this.setConversationId(result.conversationId);\n }\n this.enqueue({\n topic: \"add\",\n message: result,\n });\n },\n onclose: () => {\n // eslint-disable-next-line no-console\n console.log(\"close\");\n // 兜底逻辑,连接结束,并且没有数据返回\n if (!hadMatchMessage) {\n this.enqueue({\n topic: \"add\",\n message: {\n delta: {\n role: \"assistant\",\n content: \"`无法识别`\",\n },\n created: moment().format(\"YYYY-MM-DD HH:mm:ss\"),\n },\n });\n }\n this.#ctrl!.abort();\n },\n onerror: (err) => {\n // eslint-disable-next-line no-console\n console.log(\"err\", err);\n this.#ctrl!.abort();\n },\n }\n );\n\n this.#charting = false;\n }\n\n stop() {\n clearInterval(this.#emitTimer);\n this.#ctrl && this.#ctrl?.abort();\n this.#charting = false;\n this.#emitTimer = undefined;\n this.#isStartEmitEvent = false;\n this.#clear();\n this.notifySubscribers({ topic: \"stop\" });\n }\n\n #startEmitEvent() {\n if (this.#isStartEmitEvent) return;\n this.#isStartEmitEvent = true;\n // 轮训队列,每隔 #enterInterval(默认 50ms) 推出第一条数据,获取到 text,推送给组件,组件接受后进行渲染\n // 直到聊天结束,并且消息队列数据为空时,停止 emit\n this.#emitTimer = setInterval(() => {\n if (this.#charting || this.getMessageQueue().length) {\n const messageItem = this.dequeue()!;\n messageItem && this.notifySubscribers(messageItem);\n } else {\n clearInterval(this.#emitTimer);\n this.#emitTimer = undefined;\n this.#isStartEmitEvent = false;\n this.notifySubscribers({ topic: \"finish\" });\n }\n }, this.#enterInterval);\n }\n}\n\n// export const chartService = new ChatService();\n","import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { MessageItem } from \"../ChatViewContext.js\";\nimport moment from \"moment\";\nimport {\n ChatItem,\n ChatService,\n SessionItem,\n SSEMessageItem,\n} from \"../ChatService.js\";\n\nconst NEW_SESSION_ID = \"new_session_id\";\n\nexport function useChatViewInfo({\n agentId,\n enterInterval = 50,\n}: {\n agentId: string;\n enterInterval?: number;\n}) {\n const [sessionEnd, setSessionEnd] = useState<boolean>(false);\n const [sessionLoading, setSessionLoading] = useState<boolean>(false);\n const [activeSessionId, setActiveSessionid] = useState<string>();\n const [loading, setLoading] = useState<boolean>(false);\n const [chatting, setChatting] = useState<boolean>(false);\n const [sessionList, setSessionList] = useState<SessionItem[]>([]);\n\n const [msgLoading, setMsgLoading] = useState<boolean>(false);\n const [msgEnd, setMsgEnd] = useState<boolean>(false);\n const [msgList, setMsgList] = useState<MessageItem[]>([]);\n const [msgItem, setMsgItem] = useState<MessageItem>();\n const [searchStr, setSearchStr] = useState<string>(\"\");\n const chatingText = useRef<string>(\"\");\n const chatingMessageItem = useRef<MessageItem>();\n const chatService = useMemo(\n () =>\n new ChatService({\n agentId,\n enterInterval,\n }),\n [agentId, enterInterval]\n );\n\n const defaultNewSessionItem = useMemo(\n () =>\n ({\n conversationId: NEW_SESSION_ID,\n title: \"新建会话\",\n }) as SessionItem,\n []\n );\n\n const stopChat = useCallback(() => {\n chatService.stop();\n }, [chatService]);\n\n const checkSession = useCallback(\n async (id?: string, isInit = false) => {\n if (isInit && id) {\n // 切换聊天,重制状态\n setMsgEnd(false);\n setMsgLoading(false);\n setLoading(true);\n setMsgList([]);\n setActiveSessionid(id);\n if (chatting) {\n stopChat();\n }\n } else {\n setMsgLoading(true);\n }\n const list = await chatService.getChatHistory(id);\n const computedList = (list: ChatItem[]) => {\n const newList: MessageItem[] = [];\n list.forEach((item) => {\n newList.unshift(\n {\n taskId: item.taskId,\n role: \"user\",\n content: {\n type: \"text\",\n text: item.input,\n },\n key: `user_${item.taskId}`,\n created: item.time,\n },\n {\n taskId: item.taskId,\n role: \"assistant\",\n content: {\n type: \"markdown\",\n text: item.output,\n },\n key: `assistant_${item.taskId}`,\n created: item.time,\n }\n );\n });\n return newList.filter((item) => item.content.text);\n };\n setMsgList((preList) => {\n return computedList(list).concat(preList);\n });\n setMsgLoading(false);\n setLoading(false);\n },\n [chatService, chatting, stopChat]\n );\n\n const querySessionHistory = useCallback(\n async (limit?: number) => {\n setSessionLoading(true);\n const list = await chatService.getSessionHistory(limit);\n if (!activeSessionId) {\n // 初始化默认第一个为会话历史\n if (list.length) {\n const id = list[0].conversationId;\n setActiveSessionid(id);\n checkSession(id, true);\n } else {\n setActiveSessionid(NEW_SESSION_ID);\n }\n }\n setSessionList((preList) => {\n return preList.concat(list.length ? list : [defaultNewSessionItem]);\n });\n setSessionLoading(false);\n },\n [chatService, activeSessionId, defaultNewSessionItem, checkSession]\n );\n\n const handleChat = useCallback(\n async (str: string) => {\n if (activeSessionId === NEW_SESSION_ID) {\n // 如果当前会话属于新建会话,更新会话历史数据\n setSessionList((list) => {\n return list.map((item) => ({\n ...item,\n title: item.conversationId === NEW_SESSION_ID ? str : item.title,\n }));\n });\n }\n setChatting(true);\n chatService.chat(str);\n setMsgList((list) => {\n return list.concat({\n role: \"user\",\n content: {\n type: \"text\",\n text: str,\n },\n created: moment().format(\"YYYY-MM-DD HH:mm:ss\"),\n });\n });\n setMsgItem({\n role: \"assistant\",\n content: {\n type: \"load\",\n text: \"\",\n },\n created: \"Now\",\n });\n },\n [chatService, activeSessionId]\n );\n\n const createSession = useCallback(() => {\n chatService.setConversationId();\n setMsgList([]);\n setActiveSessionid(NEW_SESSION_ID);\n const hasNewOne = sessionList.find(\n (item) => item.conversationId === NEW_SESSION_ID\n );\n if (!hasNewOne) {\n setSessionList((preList) => {\n return [defaultNewSessionItem].concat(preList);\n });\n }\n }, [chatService, sessionList, defaultNewSessionItem]);\n\n useEffect(() => {\n // session listener\n const handleSessionEnd = () => {\n setSessionEnd(true);\n };\n chatService.subscribe(\"session.fetch.end\", handleSessionEnd);\n\n return () => {\n chatService.subscribe(\"session.fetch.end\", handleSessionEnd);\n };\n }, [chatService]);\n\n useEffect(() => {\n // chat listener\n const listener = (msgItem?: SSEMessageItem) => {\n if (!msgItem) return;\n chatingText.current = chatingText.current + msgItem.delta.content;\n if (activeSessionId === NEW_SESSION_ID && msgItem.conversationId) {\n // 如果当前会话属于新建会话,更新会话历史数据\n setSessionList((list) => {\n return list.map((item) => ({\n ...item,\n conversationId:\n item.conversationId === NEW_SESSION_ID\n ? msgItem.conversationId!\n : item.conversationId,\n }));\n });\n setActiveSessionid(msgItem.conversationId);\n }\n // eslint-disable-next-line no-console\n // console.log(chatingText.current);\n chatingMessageItem.current = {\n role: \"assistant\",\n content: {\n type: \"markdown\",\n text: chatingText.current,\n },\n key: Math.random(),\n created: moment(msgItem?.created).format(\"YYYY-MM-DD HH:mm:ss\"),\n };\n setMsgItem(chatingMessageItem.current);\n };\n const reset = () => {\n chatingText.current = \"\";\n setMsgItem(undefined);\n setChatting(false);\n chatingMessageItem.current = undefined;\n };\n const finishListener = () => {\n setMsgList((list) => {\n return list.concat(chatingMessageItem.current!);\n });\n reset();\n };\n const fetchEndListener = () => {\n setMsgEnd(true);\n };\n const stopListener = () => {\n setMsgList((list) => {\n if (chatingMessageItem.current) {\n chatingMessageItem.current.content = {\n type: \"markdown\",\n text:\n chatingMessageItem.current.content.text +\n \" \\\\\\n ` 对话被中断了 `\",\n };\n return list.concat(chatingMessageItem.current);\n }\n return list;\n });\n reset();\n };\n chatService.subscribe(\"add\", listener);\n chatService.subscribe(\"finish\", finishListener);\n chatService.subscribe(\"stop\", stopListener);\n chatService.subscribe(\"message.fetch.end\", fetchEndListener);\n return () => {\n chatService.unsubscribe(\"add\", listener);\n chatService.unsubscribe(\"finish\", finishListener);\n chatService.unsubscribe(\"stop\", stopListener);\n chatService.unsubscribe(\"message.fetch.end\", fetchEndListener);\n };\n }, [chatService, activeSessionId]);\n\n return {\n sessionEnd,\n sessionLoading,\n loading,\n chatting,\n activeSessionId,\n sessionList,\n searchStr,\n msgEnd,\n msgLoading,\n msgList,\n msgItem,\n handleChat,\n stopChat,\n createSession,\n checkSession,\n setSearchStr,\n querySessionHistory,\n };\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root{--message-box-bg:#f1f3f4;--search-input-icon-hover:#ddd;--quick-answer-card-item-hover:0px 7px 8px 0px rgba(0,0,0,0.15)}html[data-theme=\"dark\"],\nhtml[data-theme=\"dark-v2\"]{--message-box-bg:rgba(255,255,255,0.16);--search-input-icon-hover:#383838;--quick-answer-card-item-hover:0px 7px 8px 0px rgba(0,0,0,0.24)}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.ProseMirror{position:relative;word-wrap:break-word;white-space:pre-wrap;white-space:break-spaces;font-variant-ligatures:none;font-feature-settings:\"liga\" 0,none}.ProseMirror pre{white-space:pre-wrap}.ProseMirror li{position:relative}.ProseMirror-hideselection *::selection{background:transparent}.ProseMirror-hideselection *::-moz-selection{background:transparent}.ProseMirror-hideselection{caret-color:transparent}.ProseMirror-selectednode{outline:2px solid #8cf}li.ProseMirror-selectednode{outline:none}li.ProseMirror-selectednode:after{content:\"\";position:absolute;left:-32px;right:-2px;top:-2px;bottom:-2px;border:2px solid #8cf;pointer-events:none}img.ProseMirror-separator{display:inline!important;border:none!important;margin:0!important}.ProseMirror .tableWrapper{overflow-x:auto}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;overflow:hidden}.ProseMirror td,\n.ProseMirror th{vertical-align:top;box-sizing:border-box;position:relative}.ProseMirror .column-resize-handle{position:absolute;right:-2px;top:0;bottom:0;width:4px;z-index:20;background-color:#adf;pointer-events:none}.ProseMirror.resize-cursor{cursor:ew-resize;cursor:col-resize}.ProseMirror .selectedCell:after{z-index:2;position:absolute;content:\"\";left:0;right:0;top:0;bottom:0;background:rgba(200,200,255,0.4);pointer-events:none}.milkdown-theme-nord blockquote{border-left-width:4px;--tw-border-opacity:1;border-color:rgb(94 129 172/var(--tw-border-opacity));padding-left:1rem;font-family:ui-serif,Georgia,Cambria,Times New Roman,Times,serif;font-style:normal}.milkdown-theme-nord code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:400;--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord pre code{color:inherit}.milkdown-theme-nord img{margin-top:0!important;margin-bottom:0!important;display:inline-block;max-width:100%}.milkdown-theme-nord.prose\n :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:400}.milkdown-theme-nord.prose\n :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker,\n.milkdown-theme-nord.prose\n :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{--tw-text-opacity:1;color:rgb(94 129 172/var(--tw-text-opacity))}.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(blockquote p:first-of-type):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):before,\n.milkdown-theme-nord.prose\n :where(code):not(:where([class~=\"not-prose\"] *)):after{content:\"\"}.milkdown-theme-nord.prose .tableWrapper{position:relative;margin-bottom:0.5rem;overflow-x:auto}.milkdown-theme-nord.prose table{margin:1rem!important;overflow:visible!important;font-size:0.875rem;line-height:1.25rem;--tw-shadow:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.milkdown-theme-nord.prose table{border-radius:0.5rem}}.milkdown-theme-nord.prose td,\n.milkdown-theme-nord.prose th{padding:0.75rem 1.5rem!important}.milkdown-theme-nord.prose tr{border-bottom-width:1px;--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.dark .milkdown-theme-nord.prose tr{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity))}.milkdown-theme-nord.prose :where(td, th) p{margin:0!important}.milkdown-theme-nord.prose :where(td, th):nth-child(odd){background-color:var(--color-fill-bg-base-1)}.dark .milkdown-theme-nord.prose :where(td, th):nth-child(odd){--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity))}.milkdown-theme-nord.prose.ProseMirror .selectedCell:after{background-color:#88c0d04d}.milkdown-theme-nord.prose br[data-is-inline=\"true\"],\n.milkdown-theme-nord.prose br[data-is-inline=\"true\"]:after{content:\" \"}.prose{color:var(--color-normal-text)}.prose :where(p):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=\"lead\"]):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=\"not-prose\"] *)){color:var(--color-info);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600}.prose :where(a strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(ol):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol[type=\"A\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"A\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-alpha}.prose :where(ol[type=\"a\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-alpha}.prose :where(ol[type=\"I\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"I\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:upper-roman}.prose :where(ol[type=\"i\" s]):not(:where([class~=\"not-prose\"] *)){list-style-type:lower-roman}.prose :where(ol[type=\"1\"]):not(:where([class~=\"not-prose\"] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=\"not-prose\"] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-left:1.625em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *))::marker{color:var(--tw-prose-bullets)}.prose :where(hr):not(:where([class~=\"not-prose\"] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=\"not-prose\"] *)){font-weight:500;font-style:italic;color:var(--color-auxiliary-text);border-left-width:0.25rem;border-left-color:var(--tw-prose-quote-borders);quotes:\"\\\\201C\" \"\\\\201D\" \"\\\\2018\" \"\\\\2019\";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose\n :where(blockquote p:first-of-type):not(\n :where([class~=\"not-prose\"] *)\n )::before{content:open-quote}.prose\n :where(blockquote p:last-of-type):not(:where([class~=\"not-prose\"] *))::after{content:close-quote}.prose :where(h1):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=\"not-prose\"] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=\"not-prose\"] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=\"not-prose\"] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure > *):not(:where([class~=\"not-prose\"] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-captions);font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em}.prose :where(code):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-code);font-weight:600;font-size:0.875em}.prose :where(code):not(:where([class~=\"not-prose\"] *))::before{content:\"\\`\"}.prose :where(code):not(:where([class~=\"not-prose\"] *))::after{content:\"\\`\"}.prose :where(a code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h1 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(h2 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.875em}.prose :where(h3 code):not(:where([class~=\"not-prose\"] *)){color:inherit;font-size:0.9em}.prose :where(h4 code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(thead th code):not(:where([class~=\"not-prose\"] *)){color:inherit}.prose :where(pre):not(:where([class~=\"not-prose\"] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em}.prose :where(pre code):not(:where([class~=\"not-prose\"] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::before{content:none}.prose :where(pre code):not(:where([class~=\"not-prose\"] *))::after{content:none}.prose :where(table):not(:where([class~=\"not-prose\"] *)){width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=\"not-prose\"] *)){color:var(--color-strong-text);font-weight:600;vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose :where(tbody tr):not(:where([class~=\"not-prose\"] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=\"not-prose\"] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=\"not-prose\"] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=\"not-prose\"] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=\"not-prose\"] *)){vertical-align:top}.prose{--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgb(0 0 0/50%);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;font-size:1rem;line-height:1.75}.prose :where(video):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(figure):not(:where([class~=\"not-prose\"] *)){margin-top:2em;margin-bottom:2em}.prose :where(li):not(:where([class~=\"not-prose\"] *)){margin-top:0.5em;margin-bottom:0.5em}.prose :where(ol > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(ul > li):not(:where([class~=\"not-prose\"] *)){padding-left:0.375em}.prose :where(.prose > ul > li p):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose\n :where(.prose > ul > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose\n :where(.prose > ul > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose\n :where(.prose > ol > li > *:first-child):not(:where([class~=\"not-prose\"] *)){margin-top:1.25em}.prose\n :where(.prose > ol > li > *:last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:1.25em}.prose :where(ul ul, ul ol, ol ul, ol ol):not(:where([class~=\"not-prose\"] *)){margin-top:0.75em;margin-bottom:0.75em}.prose :where(hr + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h2 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h3 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(h4 + *):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=\"not-prose\"] *)){padding-left:0}.prose :where(thead th:last-child):not(:where([class~=\"not-prose\"] *)){padding-right:0}.prose :where(tbody td, tfoot td):not(:where([class~=\"not-prose\"] *)){padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em}.prose\n :where(tbody td:first-child, tfoot td:first-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-left:0}.prose\n :where(tbody td:last-child, tfoot td:last-child):not(\n :where([class~=\"not-prose\"] *)\n ){padding-right:0}.prose :where(.prose > :first-child):not(:where([class~=\"not-prose\"] *)){margin-top:0}.prose :where(.prose > :last-child):not(:where([class~=\"not-prose\"] *)){margin-bottom:0}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.isolate{isolation:isolate}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\\\!table{display:table!important}.table{display:table}.inline-table{display:inline-table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row-group{display:table-row-group}.table-row{display:table-row}.flow-root{display:flow-root}.grid{display:grid}.inline-grid{display:inline-grid}.contents{display:contents}.list-item{display:list-item}.hidden{display:none}.flex-shrink{flex-shrink:1}.shrink{flex-shrink:1}.flex-grow{flex-grow:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.\\\\!transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))!important}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.break-all{word-break:break-all}.rounded{border-radius:0.25rem}.border{border-width:1px}.text-justify{text-align:justify}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.lining-nums{--tw-numeric-figure:lining-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.overline{-webkit-text-decoration-line:overline;text-decoration-line:overline}.line-through{-webkit-text-decoration-line:line-through;text-decoration-line:line-through}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0/0.1),0 1px 2px -1px rgb(0 0 0/0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur{--tw-blur:blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-duration:150ms}.ease-in{transition-timing-function:cubic-bezier(0.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,0.2,1)}.milkdown{border-radius:0.25rem;margin:0;padding:0}.editor{margin-left:auto;margin-right:auto}:is(.dark .dark\\\\:prose-invert){--tw-prose-body:var(--tw-prose-invert-body);--tw-prose-headings:var(--tw-prose-invert-headings);--tw-prose-lead:var(--tw-prose-invert-lead);--tw-prose-links:var(--tw-prose-invert-links);--tw-prose-bold:var(--tw-prose-invert-bold);--tw-prose-counters:var(--tw-prose-invert-counters);--tw-prose-bullets:var(--tw-prose-invert-bullets);--tw-prose-hr:var(--tw-prose-invert-hr);--tw-prose-quotes:var(--tw-prose-invert-quotes);--tw-prose-quote-borders:var(--tw-prose-invert-quote-borders);--tw-prose-captions:var(--tw-prose-invert-captions);--tw-prose-code:var(--tw-prose-invert-code);--tw-prose-pre-code:var(--tw-prose-invert-pre-code);--tw-prose-pre-bg:var(--tw-prose-invert-pre-bg);--tw-prose-th-borders:var(--tw-prose-invert-th-borders);--tw-prose-td-borders:var(--tw-prose-invert-td-borders)}code[class*=\"language-\"],\npre[class*=\"language-\"]{color:#f8f8f2;background:none;font-family:\"Fira Code\",Consolas,Monaco,\"Andale Mono\",\"Ubuntu Mono\",monospace;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}pre[class*=\"language-\"]{padding:1em;margin:0.5em 0;overflow:auto;border-radius:0.3em}:not(pre) > code[class*=\"language-\"],\npre[class*=\"language-\"]{background:#2e3440}:not(pre) > code[class*=\"language-\"]{padding:0.1em;border-radius:0.3em;white-space:normal}.token.comment,\n.token.prolog,\n.token.doctype,\n.token.cdata{color:#636f88}.token.punctuation{color:#81a1c1}.namespace{opacity:0.7}.token.property,\n.token.tag,\n.token.constant,\n.token.symbol,\n.token.deleted{color:#81a1c1}.token.number{color:#b48ead}.token.boolean{color:#81a1c1}.token.selector,\n.token.attr-name,\n.token.string,\n.token.char,\n.token.builtin,\n.token.inserted{color:#a3be8c}.token.operator,\n.token.entity,\n.token.url,\n.language-css .token.string,\n.style .token.string,\n.token.variable{color:#81a1c1}.token.atrule,\n.token.attr-value,\n.token.function,\n.token.class-name{color:#88c0d0}.token.keyword{color:#81a1c1}.token.regex,\n.token.important{color:#ebcb8b}.token.important,\n.token.bold{font-weight:bold}.token.italic{font-style:italic}.token.entity{cursor:help}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.quick-answer-wrapper{margin-top:20px;border-radius:6px;border:1px solid var(--color-border-divider-line);padding:16px 24px}.quick-answer-wrapper .tip{font-size:18px;margin-bottom:30px}.quick-answer-wrapper .quick-answer-list{display:grid;grid-gap:24px 16px;gap:24px 16px;border-radius:3px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item{position:relative;padding:16px;border-radius:6px;cursor:pointer;display:flex;padding:10px 20px;gap:12px;width:auto;box-sizing:border-box}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item:hover{box-shadow:var(--quick-answer-card-item-hover)}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .left .icon{font-size:20px;color:#fff;padding:8px;border-radius:6px;margin-top:4px}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content{flex:1;min-width:0}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content .title{font-size:16px;font-weight:bold;color:var(--color-normal-text);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.quick-answer-wrapper .quick-answer-list .quick-answer-card-item .content .description{color:var(--color-auxiliary-text);font-size:12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.quick-answer-wrapper .show-more-wrapper{text-align:center;margin-top:20px}.quick-answer-wrapper .show-more-wrapper .show-more-btn{line-height:24px}.quick-answer-wrapper .show-more-wrapper .show-more-btn::after,\n .quick-answer-wrapper .show-more-wrapper .show-more-btn::before{content:\"- - - - -\";color:var(--color-text-divider-line);position:absolute}.quick-answer-wrapper .show-more-wrapper .show-more-btn::before{margin-left:-60px}.quick-answer-wrapper .show-more-wrapper .show-more-btn::after{margin-left:10px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"../assets/loading.gif\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.message-list-loading-wrapper{width:140px;height:140px;background-repeat:no-repeat;margin:auto;background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.chart-item-loading-wrapper{display:flex;padding:10px;font-size:40px;align-items:center;justify-content:center;color:#d2d3d4;border-radius:6px}.chart-item-loading-wrapper .load{display:inline-block;position:relative;width:64px;height:64px}.chart-item-loading-wrapper .load div{position:absolute;top:27px;width:11px;height:11px;border-radius:50%;background:#aaa8a8;animation-timing-function:cubic-bezier(0,1,1,0)}.chart-item-loading-wrapper .load div:nth-child(1){left:6px;animation:load1 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(2){left:6px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(3){left:26px;animation:load2 0.6s infinite}.chart-item-loading-wrapper .load div:nth-child(4){left:45px;animation:load3 0.6s infinite}@keyframes load1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes load2{0%{transform:translate(0,0)}100%{transform:translate(19px,0)}}@keyframes load3{0%{transform:scale(1)}100%{transform:scale(0)}}.common-loading-wrapper{text-align:center;font-size:30px;color:#ddd}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nimport ___CSS_LOADER_GET_URL_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/getUrl.js\";\nvar ___CSS_LOADER_URL_IMPORT_0___ = new URL(\"./assets/user.png\", import.meta.url);\nvar ___CSS_LOADER_URL_IMPORT_1___ = new URL(\"./assets/robot.png\", import.meta.url);\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;height:100%}:host([hidden]){display:none}@media only screen and (min-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1556px}}@media only screen and (min-width: 1440px) and (max-width: 1920px){.chat-view-container .chat-view-content .chat-view{width:1156px}}@media only screen and (min-width: 804px) and (max-width: 1440px){.chat-view-container .chat-view-content .chat-view{width:804px}}@media only screen and (max-width: 804px){.chat-view-container .chat-view-content .chat-view{width:100%}}.chat-view-container{display:flex;flex-direction:row;width:100%;height:100%}.chat-view-selector{width:200px;padding:14px;border-right:1px solid var(--color-border-divider-line)}.chat-view-content{flex:1;display:flex;flex-direction:column;width:100%}.chat-view-content .chat-view-toolbar{background:#e0e4e5;padding:18px;display:flex;justify-content:space-between;align-items:center}.chat-view-content .chat-view-toolbar .username{color:#333333;font-weight:500;line-height:22px;font-size:16px}.chat-view-content .chat-view-toolbar .toolbar eo-icon{cursor:pointer}.chat-view-content .chat-view{max-width:100%;position:relative;display:flex;flex:1;flex-direction:column;box-sizing:border-box;overflow-y:auto;margin:0 auto}.session-list-wrapper{display:flex;flex-direction:column;height:100%}.session-list-wrapper .session-title{font-size:16px;color:var(--color-header-text);margin-bottom:16px}.session-list-wrapper .session-list{overflow-y:auto}.session-list-wrapper .session-list .session-item{cursor:pointer;border-radius:var(--small-border-radius);background-color:var(--third-menu-default-bg);padding:6px 16px;color:var(--color-header-text);margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-list-wrapper .session-list .session-item:first-child{margin-top:0px}.session-list-wrapper .session-list .session-item.active{background-color:var(--third-menu-item-selected-bg);color:var(--color-brand)}.session-list-wrapper .session-list .session-item:hover,\n .session-list-wrapper .session-list .session-item.active:hover{color:var(--color-header-text);background-color:var(--third-menu-item-hover-bg)}.message-list{display:flex;flex-direction:column;padding-bottom:30px;padding:12px;flex:1;overflow-y:scroll}.message-list .message-list-box{display:flex;flex-direction:column;position:relative;gap:18px}.message-list .message-list-box .message-item{display:flex;gap:8px;padding-right:40px}.message-list .message-list-box .message-item.user{flex-direction:row-reverse;padding:0;padding-left:40px}.message-list .message-list-box .message-item.user .message-box{margin-bottom:0}.message-list .message-list-box .message-item.user .message-box .message-top{flex-direction:row-reverse}.message-list .message-list-box .message-item.user .message-box .message-content{justify-content:end}.message-list .message-list-box .message-item.user .message-box .message-content .content{background-color:#606f7c;color:#fff}.message-list .message-list-box .message-item.user .message-box .message-content:hover .content-tip{display:block}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip{position:absolute;left:-22px;top:0px;display:none}.message-list .message-list-box .message-item.user .message-box .message-content .content-tip eo-icon{padding:4px;color:#606f7c;cursor:pointer}.message-list .message-list-box .message-item .avatar{width:36px;height:36px;margin-top:32px}.message-list .message-list-box .message-item .avatar.user{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_0___})}.message-list .message-list-box .message-item .avatar.robot{background-image:url(${___CSS_LOADER_URL_REPLACEMENT_1___})}.message-list .message-list-box .message-item .message-box{position:relative;flex:1}.message-list .message-list-box .message-item .message-box .message-content{display:flex;justify-content:start;position:relative}.message-list .message-list-box .message-item .message-box .message-content .content{position:relative;padding:14px;border-radius:6px;background:var(--message-box-bg)}.message-list .message-list-box .message-item .message-box .message-content .content .text-item{white-space:pre-wrap}.message-list .message-list-box .message-item .message-box .message-content .content .toolbar{position:absolute;bottom:-24px;right:0;display:flex;gap:12px}.message-list .message-list-box .message-item .message-box .message-content .content .toolbar eo-icon{cursor:pointer;color:#606f7c}.message-list .message-list-box .message-item .message-box .message-content .content .toolbar eo-icon[icon=\"dislike\"]{padding-right:12px;border-right:1px solid #d9d9d9}.message-list .message-list-box .message-item .message-box .message-top{display:flex;margin-bottom:4px;color:#bec8ce;gap:8px}.message-list .message-list-box .message-item .message-box .message-top .time{min-height:22px}.message-list .message-list-box .stop-responding-wrapper{position:absolute;left:44px;bottom:-28px}.search-input-box{display:flex;flex-direction:column;height:50px;padding:12px;position:relative}.search-input-box.fill-content{box-shadow:1px 0px 4px 0px rgba(197,197,197,0.5)}.search-input-box .input-box{position:absolute;bottom:20px;left:12px;right:12px;display:inline-flex;padding:var(--input-affix-wrapper-padding);border-radius:var(--small-border-radius);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;color:var(--text-color-default);background-color:var(--antd-input-bg);border:1px solid var(--color-border-divider-line);transition:border-color 0.3s;overflow:visible}.search-input-box .input-box.active{border-color:var(--antd-input-focus-border-color)}.search-input-box .input-box.disabled{pointer-events:none;background:var(--input-outline-disabled);cursor:not-allowed}.search-input-box .input-box.expand textarea{padding-right:50px;margin-bottom:50px}.search-input-box .input-box textarea{width:100%;height:22px;font-size:18px;resize:none;padding:10px 50px 10px 10px;outline:none;border:none;line-height:20px;color:var(--color-normal-text);background-color:transparent;cursor:inherit;transition:all 300ms ease-out}.search-input-box .input-box textarea::placeholder{color:#b0b1b8}.search-input-box .input-box .suffix-icon{display:flex;align-items:center;gap:8px;position:absolute;right:12px;bottom:6px}.search-input-box .input-box .suffix-icon eo-tooltip{display:flex}.search-input-box .input-box .suffix-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .suffix-icon eo-icon:not(.disabled):hover{background:var(--search-input-icon-hover)}.search-input-box .input-box .suffix-icon .submit-split{width:1px;height:20px;background:#d1d1d1}.search-input-box .input-box .suffix-icon .submit-btn.active{color:var(--color-brand)}.search-input-box .input-box .suffix-icon .submit-btn.disabled{color:var(--color-disabled-text);cursor:not-allowed}.search-input-box .input-box .toolbar-icon{position:absolute;top:12px;right:14px}.search-input-box .input-box .toolbar-icon eo-icon{font-size:20px;cursor:pointer;padding:6px;border-radius:3px}.search-input-box .input-box .toolbar-icon eo-icon:hover{background:var(--search-input-icon-hover)}.search-input-box .search-input-toolbar{display:flex;justify-content:end;position:absolute;right:12px;bottom:0px}.search-input-box .search-input-toolbar .input-tip{font-size:12px;color:var(--color-secondary-text)}.message-start-tip,\n.session-end-tip{color:var(--color-disabled-text);font-size:12px;text-align:center;margin-top:12px;position:relative}.message-start-tip::after,\n .session-end-tip::after,\n .message-start-tip::before,\n .session-end-tip::before{content:\"- - -\";color:var(--color-disabled-text);position:absolute}.message-start-tip::before, .session-end-tip::before{margin-left:-35px}.message-start-tip::after, .session-end-tip::after{margin-left:10px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./host-context.css\";\n export default content && content.locals ? content.locals : undefined;\n"],"names":["ChatViewContext","createContext","useChatViewContext","useContext","WrappedIcon","wrapBrick","MessageListLoading","_ref","loading","React","className","ChatItemLoading","_ref2","CommonLoading","icon","lib","spinning","Avatar","role","isUser","useMemo","concat","WrappedLink","GuideItem","text","prompts","map","item","index","key","MarkdownItem","MilkdownProvider","MarkdownDisplay","value","useEditor","root","Editor","make","config","ctx","set","rootCtx","update","editorViewOptionsCtx","prev","_objectSpread","editable","defaultValueCtx","nord","use","prism","gfm","commonmark","Milkdown","TableItem","TextItem","WrapperIcon","WrappedToolTip","copyToClipboard","unwrapProvider","showNotification","Toolbar","content","chatting","isAssistant","type","isChattingItem","showLike","theme","onClick","handleCopy","then","message","catch","Time","time","moment","format","ContentTip","setSearchStr","MessageNode","props","created","getContentNode","useCallback","examplePrompts","messageNode","CARD_ITEM_HEIGHT","HEIGHT_GAP","QuickAnswerCardItem","name","description","starterPrompts","iconColor","_icon$color","color","style","height","background","handleCardClick","length","_extends","category","QuickAnswerList","_quickAnswerConfig$ti","quickAnswerConfig","msgList","showMoreBtn","setShowMoreBtn","useState","listRef","useRef","hadClickShowMoreBtn","useEffect","element","current","observer","ResizeObserver","entries","entry","contentRect","observe","disconnect","list","tip","maxHeight","overflow","ref","instanceId","handleShowMoreClick","StopBtn","stopChat","handleStopChat","DEFAULT_OFFSET_HEIGHT","CACHE_HEIGHT","MessageList","showAvatar","messageListRef","messgetListBoxRef","preHeight","setPreHeight","isCustomScroll","msgLoading","msgEnd","msgItem","activeSessionId","checkSession","getMsgItemNode","_item$key","arguments","undefined","classNames","user","msgListNode","msgItemNode","handleScroll","messageList","scrollHeight","clientHeight","scrollTop","isBottom","debounceHandleScroll","debounce","newHeight","scroll","top","Number","MAX_SAFE_INTEGER","Math","max","onScroll","hiddenTextarea","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","SearchInput","setValue","active","setActive","expand","setExpand","autoSizeStyle","setAutoSizeStyle","isFillContent","setIsFillContent","searchInputBoxRef","textareaRef","hadExpanded","inputEndRef","searchStr","createSession","handleChat","hadValue","defaultSize","disabled","computedAutoSize","size","textareaElement","textareaStyles","uiTextNode","minRows","maxRows","document","createElement","setAttribute","body","appendChild","uiTextNodeStyle","window","getComputedStyle","sizingStyle","getPropertyValue","join","placeholder","minHeight","singleRowHeight","min","overflowY","resize","calculateAutoSizeStyle","handleChange","e","target","handleExpand","handleSubmit","blur","handleKeyDown","shiftKey","preventDefault","searchInputBox","width","currentWidth","getBoundingClientRect","parentWidth","parentElement","_textareaRef$current","focus","paddingRight","onFocus","onBlur","onChange","onKeyDown","onCompositionStart","handleCompositionStart","onCompositionEnd","handleCompositionEnd","hanldeCreateSession","SESSION_ITEM_HEIGHT","BUFFER_NUMBER","SessionList","sessionEnd","sessionLoading","sessionList","querySessionHistory","sessionWrapperRef","sessionListRef","limit","sessionWrapper","floor","checkSessionList","SessionItem","title","conversationId","handleCheckSession","_ctrl","WeakMap","_agentId","_enterInterval","_charting","_isStartEmitEvent","_emitTimer","_messageQueue","_subscribers","_conversationId","_sessionNextToken","_cacheLimit","_messageNextToken","_ChatService_brand","WeakSet","ChatService","constructor","agentId","enterInterval","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_classPrivateFieldSet","this","enqueue","data","_classPrivateFieldGet","push","_assertClassBrand","_startEmitEvent","call","dequeue","shift","getMessageQueue","subscribe","topic","callback","unsubscribe","filter","cb","notifySubscribers","forEach","setConversationId","id","getSessionHistory","_this","_asyncToGenerator","_classPrivateFieldGet2","conversations","next_token","http","request","getBasePath","method","JSON","stringify","_unused","console","error","getChatHistory","_this2","_unused2","chat","str","_this3","AbortController","hadMatchMessage","fetchEventSource","signal","input","stream","headers","onopen","response","ok","log","_x","apply","onmessage","msg","result","parse","delta","abort","onclose","onerror","err","stop","_classPrivateFieldGet3","clearInterval","_clear","setInterval","messageItem","NEW_SESSION_ID","useChatViewInfo","setSessionEnd","setSessionLoading","setActiveSessionid","setLoading","setChatting","setSessionList","setMsgLoading","setMsgEnd","setMsgList","setMsgItem","chatingText","chatingMessageItem","chatService","defaultNewSessionItem","preList","newList","unshift","taskId","output","computedList","_ref3","_x2","_ref4","_x3","find","handleSessionEnd","listener","random","reset","finishListener","fetchEndListener","stopListener","___CSS_LOADER_EXPORT___","module","toString","___CSS_LOADER_URL_IMPORT_0___","URL","___CSS_LOADER_URL_REPLACEMENT_0___","___CSS_LOADER_URL_IMPORT_1___","___CSS_LOADER_URL_REPLACEMENT_1___","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_ai=self.webpackChunk_next_bricks_ai||[]).push([[1370],{8989:(r,t,e)=>{e.r(t),e.d(t,{HttpAbortError:()=>N,HttpFetchError:()=>L,HttpParseError:()=>G,HttpResponseError:()=>B,createHttpInstance:()=>V,defaultAdapter:()=>X,fetch:()=>J,http:()=>M,isHttpAbortError:()=>K});var s={};e.r(s),e.d(s,{HttpAbortError:()=>E,HttpFetchError:()=>v,HttpParseError:()=>f,HttpResponseError:()=>A,createHttpInstance:()=>I,defaultAdapter:()=>x,fetch:()=>n,getUrlWithParams:()=>S,http:()=>F,isHttpAbortError:()=>P});var n=(r,t)=>{var e=new Request(r,Object.assign({credentials:"same-origin"},t));return self.fetch(e)},o=e(4635),a=e(918),i=e(4586),c=e(829),h=e(2559),u=e(6121),p=e(9740),l=e(4223),d=e(6330);class v extends Error{constructor(r){super(r),this.name="HttpFetchError",Error.captureStackTrace&&Error.captureStackTrace(this,v)}}class A extends Error{constructor(r,t){super(r.statusText),(0,i.A)(this,"response",void 0),(0,i.A)(this,"responseJson",void 0),this.name="HttpResponseError",Error.captureStackTrace&&Error.captureStackTrace(this,A),this.response=r,this.responseJson=t}}class f extends Error{constructor(r){super(r.statusText),(0,i.A)(this,"response",void 0),this.name="HttpParseError",Error.captureStackTrace&&Error.captureStackTrace(this,f),this.response=r}}class E extends Error{constructor(r){super(r),this.name="HttpAbortError"}}class m{constructor(){(0,i.A)(this,"handlers",[])}use(r,t){return this.handlers.push({fulfilled:r,rejected:t}),this.handlers.length-1}eject(r){this.handlers[r]&&(this.handlers[r]=null)}forEach(r){this.handlers.forEach((t=>{null!==t&&r(t)}))}}var b=["params","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],H=["params","headers","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],y=["body","method"];function T(r){return null==r}var w=document.querySelector("base"),g=w?w.href:location.origin+"/",P=r=>r instanceof DOMException&&20===r.code,k=function(){var r=(0,d.A)((function*(r,t,e){return new Promise(function(){var s=(0,d.A)((function*(s,o){var a;e.url=r;var{responseType:i}=e.options||{};i||(i="json");try{a=yield n(r,t)}catch(r){return void o(P(r)?new E(r.toString()):new v(r.toString()))}if(a.ok){var c;try{c=yield a[i]()}catch(r){return void o(P(r)?new E(r.toString()):new f(a))}s({status:a.status,statusText:a.statusText,headers:a.headers,data:c})}else{var h;try{h=yield a.json()}catch(r){}o(new A(a,h))}}));return function(r,t){return s.apply(this,arguments)}}())}));return function(t,e,s){return r.apply(this,arguments)}}(),S=(r,t)=>{if(t){var e=new URL(r,g);t instanceof URLSearchParams?t.forEach((function(r,t){e.searchParams.append(t,r)})):Object.entries(t).forEach((r=>{var[t,s]=r;Array.isArray(s)?s.forEach((r=>{e.searchParams.append(t,T(r)?"":r)})):e.searchParams.append(t,T(s)?"":s)}));var{href:s}=e;return s.startsWith(g)?s.substr(g.length):s}return r},R=(r,t)=>{if(void 0!==r){var e=new Headers(t||{}),s="Content-Type",n=r;return e.has(s)||("string"==typeof r?e.set(s,"application/x-www-form-urlencoded"):r instanceof FormData||(e.set(s,"application/json"),n=JSON.stringify(r))),{body:n,headers:e}}return{headers:t}},x=r=>{var{url:t,method:e,data:s}=r;return["DELETE","GET","HEAD"].includes(r.method)?((r,t,e)=>{var s=e.options||{},{params:n,responseType:o,interceptorParams:a,observe:i,noAbortOnRouteChange:c,useCache:h}=s,u=(0,l.A)(s,b);return k(S(t,n),(0,p.A)((0,p.A)({},u),{},{method:r}),e)})(e,t,r):((r,t,e,s)=>{var n=s.options||{},{params:o,headers:a,responseType:i,interceptorParams:c,observe:h,noAbortOnRouteChange:u,useCache:d}=n,v=(0,l.A)(n,H);return k(S(t,o),(0,p.A)((0,p.A)({},v),{},{method:r},R(e,a)),s)})(e,t,s,r)},C=new WeakMap,O=new WeakSet;class j{constructor(r){var t=this;(0,o.A)(this,O),(0,i.A)(this,"interceptors",void 0),(0,a.A)(this,C,x),(0,i.A)(this,"request",function(){var r=(0,d.A)((function*(r,e,s){var n=e||{},{body:o,method:a}=n,i=(0,l.A)(n,y);return(0,h.A)(O,t,W).call(t,{url:r,data:o,method:a||"GET",options:(0,p.A)((0,p.A)({},s||{}),i)})}));return function(t,e,s){return r.apply(this,arguments)}}()),(0,i.A)(this,"simpleRequest",(function(r,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,h.A)(O,t,W).call(t,{url:e,method:r,options:s})})),(0,i.A)(this,"requestWithBody",(function(r,e,s){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return(0,h.A)(O,t,W).call(t,{url:e,method:r,data:s,options:n})})),this.interceptors={request:new m,response:new m},null!=r&&r.adapter&&(0,u.A)(C,this,r.adapter)}getUrlWithParams(r,t){return S(r,t)}getBodyAndHeaders(r,t){return R(r,t)}get(r,t){return(0,h.A)(O,this,W).call(this,{url:r,method:"GET",options:t})}delete(r,t){return(0,h.A)(O,this,W).call(this,{url:r,method:"DELETE",options:t})}head(r,t){return(0,h.A)(O,this,W).call(this,{url:r,method:"HEAD",options:t})}post(r,t,e){return(0,h.A)(O,this,W).call(this,{url:r,method:"POST",data:t,options:e})}put(r,t,e){return(0,h.A)(O,this,W).call(this,{url:r,method:"PUT",data:t,options:e})}patch(r,t,e){return(0,h.A)(O,this,W).call(this,{url:r,method:"PATCH",data:t,options:e})}}function W(r){var t=[],e=Promise.resolve(r);for(this.interceptors.request.forEach((r=>{t.push(r.fulfilled,r.rejected)})),t.push((r=>(0,c.A)(C,this).call(this,r)),void 0),this.interceptors.response.forEach((e=>{t.push((t=>{var s;return null===(s=e.fulfilled)||void 0===s?void 0:s.call(e,t,r)}),(t=>{var s;return null===(s=e.rejected)||void 0===s?void 0:s.call(e,t,r)}))})),t.push((t=>{var e;return"response"===(null===(e=r.options)||void 0===e?void 0:e.observe)?t:t.data}),void 0);t.length;)e=e.then(t.shift(),t.shift());return e}var _,q,D,F=new j;function I(r){F=new j(r)}var{dll:U}=window;q=U&&null!==(_=window.BRICK_NEXT_VERSIONS)&&void 0!==_&&null!==(_=_["brick-container"])&&void 0!==_&&_.startsWith("2.")&&(D=U("JxWY"))?D:s;var{fetch:J,HttpFetchError:L,HttpResponseError:B,HttpParseError:G,HttpAbortError:N,http:M,isHttpAbortError:K,createHttpInstance:V,defaultAdapter:X}=q}}]);
2
- //# sourceMappingURL=1370.eaf34ae0.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_ai=self.webpackChunk_next_bricks_ai||[]).push([[3751],{8989:(r,t,e)=>{e.r(t),e.d(t,{HttpAbortError:()=>N,HttpFetchError:()=>L,HttpParseError:()=>G,HttpResponseError:()=>B,createHttpInstance:()=>V,defaultAdapter:()=>X,fetch:()=>J,http:()=>M,isHttpAbortError:()=>K});var s={};e.r(s),e.d(s,{HttpAbortError:()=>E,HttpFetchError:()=>v,HttpParseError:()=>f,HttpResponseError:()=>A,createHttpInstance:()=>I,defaultAdapter:()=>x,fetch:()=>n,getUrlWithParams:()=>S,http:()=>F,isHttpAbortError:()=>P});var n=(r,t)=>{var e=new Request(r,Object.assign({credentials:"same-origin"},t));return self.fetch(e)},o=e(4635),a=e(918),i=e(4586),c=e(829),h=e(2559),u=e(6121),p=e(9740),l=e(4223),d=e(6330);class v extends Error{constructor(r){super(r),this.name="HttpFetchError",Error.captureStackTrace&&Error.captureStackTrace(this,v)}}class A extends Error{constructor(r,t){super(r.statusText),(0,i.A)(this,"response",void 0),(0,i.A)(this,"responseJson",void 0),this.name="HttpResponseError",Error.captureStackTrace&&Error.captureStackTrace(this,A),this.response=r,this.responseJson=t}}class f extends Error{constructor(r){super(r.statusText),(0,i.A)(this,"response",void 0),this.name="HttpParseError",Error.captureStackTrace&&Error.captureStackTrace(this,f),this.response=r}}class E extends Error{constructor(r){super(r),this.name="HttpAbortError"}}class m{constructor(){(0,i.A)(this,"handlers",[])}use(r,t){return this.handlers.push({fulfilled:r,rejected:t}),this.handlers.length-1}eject(r){this.handlers[r]&&(this.handlers[r]=null)}forEach(r){this.handlers.forEach((t=>{null!==t&&r(t)}))}}var b=["params","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],H=["params","headers","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],y=["body","method"];function T(r){return null==r}var w=document.querySelector("base"),g=w?w.href:location.origin+"/",P=r=>r instanceof DOMException&&20===r.code,k=function(){var r=(0,d.A)((function*(r,t,e){return new Promise(function(){var s=(0,d.A)((function*(s,o){var a;e.url=r;var{responseType:i}=e.options||{};i||(i="json");try{a=yield n(r,t)}catch(r){return void o(P(r)?new E(r.toString()):new v(r.toString()))}if(a.ok){var c;try{c=yield a[i]()}catch(r){return void o(P(r)?new E(r.toString()):new f(a))}s({status:a.status,statusText:a.statusText,headers:a.headers,data:c})}else{var h;try{h=yield a.json()}catch(r){}o(new A(a,h))}}));return function(r,t){return s.apply(this,arguments)}}())}));return function(t,e,s){return r.apply(this,arguments)}}(),S=(r,t)=>{if(t){var e=new URL(r,g);t instanceof URLSearchParams?t.forEach((function(r,t){e.searchParams.append(t,r)})):Object.entries(t).forEach((r=>{var[t,s]=r;Array.isArray(s)?s.forEach((r=>{e.searchParams.append(t,T(r)?"":r)})):e.searchParams.append(t,T(s)?"":s)}));var{href:s}=e;return s.startsWith(g)?s.substr(g.length):s}return r},R=(r,t)=>{if(void 0!==r){var e=new Headers(t||{}),s="Content-Type",n=r;return e.has(s)||("string"==typeof r?e.set(s,"application/x-www-form-urlencoded"):r instanceof FormData||(e.set(s,"application/json"),n=JSON.stringify(r))),{body:n,headers:e}}return{headers:t}},x=r=>{var{url:t,method:e,data:s}=r;return["DELETE","GET","HEAD"].includes(r.method)?((r,t,e)=>{var s=e.options||{},{params:n,responseType:o,interceptorParams:a,observe:i,noAbortOnRouteChange:c,useCache:h}=s,u=(0,l.A)(s,b);return k(S(t,n),(0,p.A)((0,p.A)({},u),{},{method:r}),e)})(e,t,r):((r,t,e,s)=>{var n=s.options||{},{params:o,headers:a,responseType:i,interceptorParams:c,observe:h,noAbortOnRouteChange:u,useCache:d}=n,v=(0,l.A)(n,H);return k(S(t,o),(0,p.A)((0,p.A)({},v),{},{method:r},R(e,a)),s)})(e,t,s,r)},C=new WeakMap,O=new WeakSet;class j{constructor(r){var t=this;(0,o.A)(this,O),(0,i.A)(this,"interceptors",void 0),(0,a.A)(this,C,x),(0,i.A)(this,"request",function(){var r=(0,d.A)((function*(r,e,s){var n=e||{},{body:o,method:a}=n,i=(0,l.A)(n,y);return(0,h.A)(O,t,W).call(t,{url:r,data:o,method:a||"GET",options:(0,p.A)((0,p.A)({},s||{}),i)})}));return function(t,e,s){return r.apply(this,arguments)}}()),(0,i.A)(this,"simpleRequest",(function(r,e){var s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,h.A)(O,t,W).call(t,{url:e,method:r,options:s})})),(0,i.A)(this,"requestWithBody",(function(r,e,s){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return(0,h.A)(O,t,W).call(t,{url:e,method:r,data:s,options:n})})),this.interceptors={request:new m,response:new m},null!=r&&r.adapter&&(0,u.A)(C,this,r.adapter)}getUrlWithParams(r,t){return S(r,t)}getBodyAndHeaders(r,t){return R(r,t)}get(r,t){return(0,h.A)(O,this,W).call(this,{url:r,method:"GET",options:t})}delete(r,t){return(0,h.A)(O,this,W).call(this,{url:r,method:"DELETE",options:t})}head(r,t){return(0,h.A)(O,this,W).call(this,{url:r,method:"HEAD",options:t})}post(r,t,e){return(0,h.A)(O,this,W).call(this,{url:r,method:"POST",data:t,options:e})}put(r,t,e){return(0,h.A)(O,this,W).call(this,{url:r,method:"PUT",data:t,options:e})}patch(r,t,e){return(0,h.A)(O,this,W).call(this,{url:r,method:"PATCH",data:t,options:e})}}function W(r){var t=[],e=Promise.resolve(r);for(this.interceptors.request.forEach((r=>{t.push(r.fulfilled,r.rejected)})),t.push((r=>(0,c.A)(C,this).call(this,r)),void 0),this.interceptors.response.forEach((e=>{t.push((t=>{var s;return null===(s=e.fulfilled)||void 0===s?void 0:s.call(e,t,r)}),(t=>{var s;return null===(s=e.rejected)||void 0===s?void 0:s.call(e,t,r)}))})),t.push((t=>{var e;return"response"===(null===(e=r.options)||void 0===e?void 0:e.observe)?t:t.data}),void 0);t.length;)e=e.then(t.shift(),t.shift());return e}var _,q,D,F=new j;function I(r){F=new j(r)}var{dll:U}=window;q=U&&null!==(_=window.BRICK_NEXT_VERSIONS)&&void 0!==_&&null!==(_=_["brick-container"])&&void 0!==_&&_.startsWith("2.")&&(D=U("JxWY"))?D:s;var{fetch:J,HttpFetchError:L,HttpResponseError:B,HttpParseError:G,HttpAbortError:N,http:M,isHttpAbortError:K,createHttpInstance:V,defaultAdapter:X}=q}}]);
2
+ //# sourceMappingURL=3751.eb7f94f9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/1370.eaf34ae0.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/http/dist/esm/fetch.js","webpack:///../../node_modules/@next-core/http/dist/esm/errors.js","webpack:///../../node_modules/@next-core/http/dist/esm/InterceptorManager.js","webpack:///../../node_modules/@next-core/http/dist/esm/http.js","webpack:///../../node_modules/@next-core/http/dist/esm/index.js"],"sourcesContent":["export var fetch = (input, init) => {\n // Support older browsers which default credentials is \"omit\".\n // Ref https://github.com/whatwg/fetch/pull/585\n var req = new Request(input, Object.assign({\n credentials: \"same-origin\"\n }, init));\n return self.fetch(req);\n};\n//# sourceMappingURL=fetch.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport class HttpFetchError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"HttpFetchError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpFetchError);\n }\n }\n}\nexport class HttpResponseError extends Error {\n constructor(response, responseJson) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n _defineProperty(this, \"responseJson\", void 0);\n this.name = \"HttpResponseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpResponseError);\n }\n this.response = response;\n this.responseJson = responseJson;\n }\n}\nexport class HttpParseError extends Error {\n constructor(response) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n this.name = \"HttpParseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpParseError);\n }\n this.response = response;\n }\n}\nexport class HttpAbortError extends Error {\n constructor(message) {\n super(message);\n this.name = \"HttpAbortError\";\n }\n}\n//# sourceMappingURL=errors.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport default class InterceptorManager {\n constructor() {\n _defineProperty(this, \"handlers\", []);\n }\n use(onFulfilled, onRejected) {\n this.handlers.push({\n fulfilled: onFulfilled,\n rejected: onRejected\n });\n return this.handlers.length - 1;\n }\n eject(id) {\n // istanbul ignore else\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n forEach(fn) {\n this.handlers.forEach(handler => {\n // istanbul ignore else\n if (handler !== null) {\n fn(handler);\n }\n });\n }\n}\n//# sourceMappingURL=InterceptorManager.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _excluded = [\"params\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded2 = [\"params\", \"headers\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded3 = [\"body\", \"method\"];\nimport { fetch } from \"./fetch.js\";\nimport { HttpAbortError, HttpFetchError, HttpParseError, HttpResponseError } from \"./errors.js\";\nimport InterceptorManager from \"./InterceptorManager.js\";\nfunction isNil(value) {\n return value === undefined || value === null;\n}\nvar base = document.querySelector(\"base\");\nvar fullBaseHref = base ? base.href : location.origin + \"/\";\n/**\n * Detect whether the input is a native browser abort error.\n *\n * @ref https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n */\nexport var isHttpAbortError = error => error instanceof DOMException && error.code === 20;\nvar request = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (url, init, config) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var response;\n config.url = url;\n var {\n responseType\n } = config.options || {};\n if (!responseType) {\n // Defaults to `json`\n responseType = \"json\";\n }\n try {\n response = yield fetch(url, init);\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpFetchError(e.toString()));\n return;\n }\n if (!response.ok) {\n var responseJson;\n try {\n responseJson = yield response.json();\n } catch (e) {\n // Do nothing.\n }\n reject(new HttpResponseError(response, responseJson));\n return;\n }\n var data;\n try {\n data = yield response[responseType]();\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpParseError(response));\n return;\n }\n var res = {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n data\n };\n resolve(res);\n });\n return function (_x4, _x5) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n return function request(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\nexport var getUrlWithParams = (url, params) => {\n if (params) {\n var parsedUrl = new URL(url, fullBaseHref);\n if (params instanceof URLSearchParams) {\n params.forEach(function (value, key) {\n parsedUrl.searchParams.append(key, value);\n });\n } else {\n Object.entries(params).forEach(_ref3 => {\n var [key, value] = _ref3;\n if (Array.isArray(value)) {\n value.forEach(v => {\n parsedUrl.searchParams.append(key, isNil(v) ? \"\" : v);\n });\n } else {\n parsedUrl.searchParams.append(key, isNil(value) ? \"\" : value);\n }\n });\n }\n var {\n href\n } = parsedUrl;\n if (href.startsWith(fullBaseHref)) {\n return href.substr(fullBaseHref.length);\n }\n return href;\n }\n return url;\n};\nvar getBodyAndHeaders = (data, headers) => {\n if (data !== undefined) {\n // `new Headers(undefined)` will throw a TypeError in older browsers (chrome 58).\n // https://bugs.chromium.org/p/chromium/issues/detail?id=335871\n var parsedHeaders = new Headers(headers || {});\n var contentTypeHeader = \"Content-Type\";\n var body = data;\n // If `Content-Type` already provided, ignore detecting content type.\n if (!parsedHeaders.has(contentTypeHeader)) {\n if (typeof data === \"string\") {\n parsedHeaders.set(contentTypeHeader, \"application/x-www-form-urlencoded\");\n } else if (data instanceof FormData) {\n // Do nothing\n } else {\n parsedHeaders.set(contentTypeHeader, \"application/json\");\n body = JSON.stringify(data);\n }\n }\n return {\n body,\n headers: parsedHeaders\n };\n }\n return {\n headers\n };\n};\nvar simpleRequest = (method, url, config) => {\n var _ref4 = config.options || {},\n {\n params,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref4,\n requestInit = _objectWithoutProperties(_ref4, _excluded);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }), config);\n};\nvar requestWithBody = (method, url, data, config) => {\n var _ref5 = config.options || {},\n {\n params,\n headers,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref5,\n requestInit = _objectWithoutProperties(_ref5, _excluded2);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }, getBodyAndHeaders(data, headers)), config);\n};\nvar defaultAdapter = config => {\n var {\n url,\n method,\n data\n } = config;\n\n // \"DELETE\", \"GET\", \"HEAD\" methods.\n if ([\"DELETE\", \"GET\", \"HEAD\"].includes(config.method)) {\n return simpleRequest(method, url, config);\n }\n\n // \"POST\", \"PUT\" , \"PATCH\" methods.\n return requestWithBody(method, url, data, config);\n};\nvar _adapter = /*#__PURE__*/new WeakMap();\nvar _Http_brand = /*#__PURE__*/new WeakSet();\nclass Http {\n constructor(_config) {\n var _this = this;\n _classPrivateMethodInitSpec(this, _Http_brand);\n _defineProperty(this, \"interceptors\", void 0);\n _classPrivateFieldInitSpec(this, _adapter, defaultAdapter);\n _defineProperty(this, \"request\", /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator(function* (url, init, options) {\n var _ref7 = init || {},\n {\n body,\n method\n } = _ref7,\n requestInit = _objectWithoutProperties(_ref7, _excluded3);\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n data: body,\n method: method || \"GET\",\n options: _objectSpread(_objectSpread({}, options || {}), requestInit)\n });\n });\n return function (_x6, _x7, _x8) {\n return _ref6.apply(this, arguments);\n };\n }());\n _defineProperty(this, \"simpleRequest\", function (method, url) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n method,\n options\n });\n });\n _defineProperty(this, \"requestWithBody\", function (method, url, data) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n method,\n data,\n options\n });\n });\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n if (_config !== null && _config !== void 0 && _config.adapter) {\n _classPrivateFieldSet(_adapter, this, _config.adapter);\n }\n }\n getUrlWithParams(url, params) {\n return getUrlWithParams(url, params);\n }\n getBodyAndHeaders(data, headers) {\n return getBodyAndHeaders(data, headers);\n }\n get(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"GET\",\n options\n });\n }\n delete(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"DELETE\",\n options\n });\n }\n head(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"HEAD\",\n options\n });\n }\n post(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"POST\",\n data,\n options\n });\n }\n put(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"PUT\",\n data,\n options\n });\n }\n patch(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"PATCH\",\n data,\n options\n });\n }\n}\nfunction _fetch(config) {\n var chain = [];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(interceptor => {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n chain.push(config => _classPrivateFieldGet(_adapter, this).call(this, config), undefined);\n this.interceptors.response.forEach(interceptor => {\n chain.push(res => {\n var _interceptor$fulfille;\n return (_interceptor$fulfille = interceptor.fulfilled) === null || _interceptor$fulfille === void 0 ? void 0 : _interceptor$fulfille.call(interceptor, res, config);\n }, error => {\n var _interceptor$rejected;\n return (_interceptor$rejected = interceptor.rejected) === null || _interceptor$rejected === void 0 ? void 0 : _interceptor$rejected.call(interceptor, error, config);\n });\n });\n chain.push(response => {\n var _config$options;\n return ((_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.observe) === \"response\" ? response : response.data;\n }, undefined);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n}\nvar http = new Http();\nfunction createHttpInstance(config) {\n http = new Http(config);\n}\nexport { http, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=http.js.map","var _window$BRICK_NEXT_VE;\n// istanbul ignore file\n// Make v3 bricks compatible with Brick Next v2.\nimport * as HttpModuleV3 from \"./exports.js\";\nvar HttpModule;\nvar HttpModuleV2;\nvar {\n dll\n} = window;\nif (dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\") && (HttpModuleV2 = dll(\"JxWY\"))) {\n HttpModule = HttpModuleV2;\n} else {\n HttpModule = HttpModuleV3;\n}\nvar {\n fetch,\n HttpFetchError,\n HttpResponseError,\n HttpParseError,\n HttpAbortError,\n http,\n isHttpAbortError,\n createHttpInstance,\n defaultAdapter\n} = HttpModule;\nexport { fetch, HttpFetchError, HttpResponseError, HttpParseError, HttpAbortError, http, isHttpAbortError, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=index.js.map"],"names":["fetch","input","init","req","Request","Object","assign","credentials","self","HttpFetchError","Error","constructor","message","super","this","name","captureStackTrace","HttpResponseError","response","responseJson","statusText","HttpParseError","HttpAbortError","InterceptorManager","use","onFulfilled","onRejected","handlers","push","fulfilled","rejected","length","eject","id","forEach","fn","handler","_excluded","_excluded2","_excluded3","isNil","value","base","document","querySelector","fullBaseHref","href","location","origin","isHttpAbortError","error","DOMException","code","request","_ref","url","config","Promise","_ref2","resolve","reject","responseType","options","e","toString","ok","data","status","headers","json","_x4","_x5","apply","arguments","_x","_x2","_x3","getUrlWithParams","params","parsedUrl","URL","URLSearchParams","key","searchParams","append","entries","_ref3","Array","isArray","v","startsWith","substr","getBodyAndHeaders","undefined","parsedHeaders","Headers","contentTypeHeader","body","has","set","FormData","JSON","stringify","defaultAdapter","method","includes","_ref4","interceptorParams","observe","noAbortOnRouteChange","useCache","requestInit","simpleRequest","_ref5","requestWithBody","_adapter","WeakMap","_Http_brand","WeakSet","Http","_config","_this","_ref6","_ref7","_fetch","call","_x6","_x7","_x8","interceptors","adapter","get","head","post","put","patch","chain","promise","interceptor","res","_interceptor$fulfille","_interceptor$rejected","_config$options","then","shift","_window$BRICK_NEXT_VE","HttpModule","HttpModuleV2","http","createHttpInstance","dll","window","BRICK_NEXT_VERSIONS"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/3751.eb7f94f9.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/http/dist/esm/fetch.js","webpack:///../../node_modules/@next-core/http/dist/esm/errors.js","webpack:///../../node_modules/@next-core/http/dist/esm/InterceptorManager.js","webpack:///../../node_modules/@next-core/http/dist/esm/http.js","webpack:///../../node_modules/@next-core/http/dist/esm/index.js"],"sourcesContent":["export var fetch = (input, init) => {\n // Support older browsers which default credentials is \"omit\".\n // Ref https://github.com/whatwg/fetch/pull/585\n var req = new Request(input, Object.assign({\n credentials: \"same-origin\"\n }, init));\n return self.fetch(req);\n};\n//# sourceMappingURL=fetch.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport class HttpFetchError extends Error {\n constructor(message) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(message);\n this.name = \"HttpFetchError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpFetchError);\n }\n }\n}\nexport class HttpResponseError extends Error {\n constructor(response, responseJson) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n _defineProperty(this, \"responseJson\", void 0);\n this.name = \"HttpResponseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpResponseError);\n }\n this.response = response;\n this.responseJson = responseJson;\n }\n}\nexport class HttpParseError extends Error {\n constructor(response) {\n // Pass remaining arguments (including vendor specific ones) to parent constructor\n super(response.statusText);\n _defineProperty(this, \"response\", void 0);\n this.name = \"HttpParseError\";\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n // istanbul ignore else\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, HttpParseError);\n }\n this.response = response;\n }\n}\nexport class HttpAbortError extends Error {\n constructor(message) {\n super(message);\n this.name = \"HttpAbortError\";\n }\n}\n//# sourceMappingURL=errors.js.map","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nexport default class InterceptorManager {\n constructor() {\n _defineProperty(this, \"handlers\", []);\n }\n use(onFulfilled, onRejected) {\n this.handlers.push({\n fulfilled: onFulfilled,\n rejected: onRejected\n });\n return this.handlers.length - 1;\n }\n eject(id) {\n // istanbul ignore else\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n forEach(fn) {\n this.handlers.forEach(handler => {\n // istanbul ignore else\n if (handler !== null) {\n fn(handler);\n }\n });\n }\n}\n//# sourceMappingURL=InterceptorManager.js.map","import _classPrivateMethodInitSpec from \"@babel/runtime/helpers/classPrivateMethodInitSpec\";\nimport _classPrivateFieldInitSpec from \"@babel/runtime/helpers/classPrivateFieldInitSpec\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classPrivateFieldGet from \"@babel/runtime/helpers/classPrivateFieldGet2\";\nimport _assertClassBrand from \"@babel/runtime/helpers/assertClassBrand\";\nimport _classPrivateFieldSet from \"@babel/runtime/helpers/classPrivateFieldSet2\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/objectWithoutProperties\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nvar _excluded = [\"params\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded2 = [\"params\", \"headers\", \"responseType\", \"interceptorParams\", \"observe\", \"noAbortOnRouteChange\", \"useCache\"],\n _excluded3 = [\"body\", \"method\"];\nimport { fetch } from \"./fetch.js\";\nimport { HttpAbortError, HttpFetchError, HttpParseError, HttpResponseError } from \"./errors.js\";\nimport InterceptorManager from \"./InterceptorManager.js\";\nfunction isNil(value) {\n return value === undefined || value === null;\n}\nvar base = document.querySelector(\"base\");\nvar fullBaseHref = base ? base.href : location.origin + \"/\";\n/**\n * Detect whether the input is a native browser abort error.\n *\n * @ref https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n */\nexport var isHttpAbortError = error => error instanceof DOMException && error.code === 20;\nvar request = /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (url, init, config) {\n // eslint-disable-next-line no-async-promise-executor\n return new Promise( /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var response;\n config.url = url;\n var {\n responseType\n } = config.options || {};\n if (!responseType) {\n // Defaults to `json`\n responseType = \"json\";\n }\n try {\n response = yield fetch(url, init);\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpFetchError(e.toString()));\n return;\n }\n if (!response.ok) {\n var responseJson;\n try {\n responseJson = yield response.json();\n } catch (e) {\n // Do nothing.\n }\n reject(new HttpResponseError(response, responseJson));\n return;\n }\n var data;\n try {\n data = yield response[responseType]();\n } catch (e) {\n reject(isHttpAbortError(e) ? new HttpAbortError(e.toString()) : new HttpParseError(response));\n return;\n }\n var res = {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n data\n };\n resolve(res);\n });\n return function (_x4, _x5) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n return function request(_x, _x2, _x3) {\n return _ref.apply(this, arguments);\n };\n}();\nexport var getUrlWithParams = (url, params) => {\n if (params) {\n var parsedUrl = new URL(url, fullBaseHref);\n if (params instanceof URLSearchParams) {\n params.forEach(function (value, key) {\n parsedUrl.searchParams.append(key, value);\n });\n } else {\n Object.entries(params).forEach(_ref3 => {\n var [key, value] = _ref3;\n if (Array.isArray(value)) {\n value.forEach(v => {\n parsedUrl.searchParams.append(key, isNil(v) ? \"\" : v);\n });\n } else {\n parsedUrl.searchParams.append(key, isNil(value) ? \"\" : value);\n }\n });\n }\n var {\n href\n } = parsedUrl;\n if (href.startsWith(fullBaseHref)) {\n return href.substr(fullBaseHref.length);\n }\n return href;\n }\n return url;\n};\nvar getBodyAndHeaders = (data, headers) => {\n if (data !== undefined) {\n // `new Headers(undefined)` will throw a TypeError in older browsers (chrome 58).\n // https://bugs.chromium.org/p/chromium/issues/detail?id=335871\n var parsedHeaders = new Headers(headers || {});\n var contentTypeHeader = \"Content-Type\";\n var body = data;\n // If `Content-Type` already provided, ignore detecting content type.\n if (!parsedHeaders.has(contentTypeHeader)) {\n if (typeof data === \"string\") {\n parsedHeaders.set(contentTypeHeader, \"application/x-www-form-urlencoded\");\n } else if (data instanceof FormData) {\n // Do nothing\n } else {\n parsedHeaders.set(contentTypeHeader, \"application/json\");\n body = JSON.stringify(data);\n }\n }\n return {\n body,\n headers: parsedHeaders\n };\n }\n return {\n headers\n };\n};\nvar simpleRequest = (method, url, config) => {\n var _ref4 = config.options || {},\n {\n params,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref4,\n requestInit = _objectWithoutProperties(_ref4, _excluded);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }), config);\n};\nvar requestWithBody = (method, url, data, config) => {\n var _ref5 = config.options || {},\n {\n params,\n headers,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n responseType,\n interceptorParams,\n observe,\n noAbortOnRouteChange,\n useCache\n /* eslint-enable @typescript-eslint/no-unused-vars */\n } = _ref5,\n requestInit = _objectWithoutProperties(_ref5, _excluded2);\n return request(getUrlWithParams(url, params), _objectSpread(_objectSpread({}, requestInit), {}, {\n method\n }, getBodyAndHeaders(data, headers)), config);\n};\nvar defaultAdapter = config => {\n var {\n url,\n method,\n data\n } = config;\n\n // \"DELETE\", \"GET\", \"HEAD\" methods.\n if ([\"DELETE\", \"GET\", \"HEAD\"].includes(config.method)) {\n return simpleRequest(method, url, config);\n }\n\n // \"POST\", \"PUT\" , \"PATCH\" methods.\n return requestWithBody(method, url, data, config);\n};\nvar _adapter = /*#__PURE__*/new WeakMap();\nvar _Http_brand = /*#__PURE__*/new WeakSet();\nclass Http {\n constructor(_config) {\n var _this = this;\n _classPrivateMethodInitSpec(this, _Http_brand);\n _defineProperty(this, \"interceptors\", void 0);\n _classPrivateFieldInitSpec(this, _adapter, defaultAdapter);\n _defineProperty(this, \"request\", /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator(function* (url, init, options) {\n var _ref7 = init || {},\n {\n body,\n method\n } = _ref7,\n requestInit = _objectWithoutProperties(_ref7, _excluded3);\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n data: body,\n method: method || \"GET\",\n options: _objectSpread(_objectSpread({}, options || {}), requestInit)\n });\n });\n return function (_x6, _x7, _x8) {\n return _ref6.apply(this, arguments);\n };\n }());\n _defineProperty(this, \"simpleRequest\", function (method, url) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n method,\n options\n });\n });\n _defineProperty(this, \"requestWithBody\", function (method, url, data) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n return _assertClassBrand(_Http_brand, _this, _fetch).call(_this, {\n url,\n method,\n data,\n options\n });\n });\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n if (_config !== null && _config !== void 0 && _config.adapter) {\n _classPrivateFieldSet(_adapter, this, _config.adapter);\n }\n }\n getUrlWithParams(url, params) {\n return getUrlWithParams(url, params);\n }\n getBodyAndHeaders(data, headers) {\n return getBodyAndHeaders(data, headers);\n }\n get(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"GET\",\n options\n });\n }\n delete(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"DELETE\",\n options\n });\n }\n head(url, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"HEAD\",\n options\n });\n }\n post(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"POST\",\n data,\n options\n });\n }\n put(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"PUT\",\n data,\n options\n });\n }\n patch(url, data, options) {\n return _assertClassBrand(_Http_brand, this, _fetch).call(this, {\n url,\n method: \"PATCH\",\n data,\n options\n });\n }\n}\nfunction _fetch(config) {\n var chain = [];\n var promise = Promise.resolve(config);\n this.interceptors.request.forEach(interceptor => {\n chain.push(interceptor.fulfilled, interceptor.rejected);\n });\n chain.push(config => _classPrivateFieldGet(_adapter, this).call(this, config), undefined);\n this.interceptors.response.forEach(interceptor => {\n chain.push(res => {\n var _interceptor$fulfille;\n return (_interceptor$fulfille = interceptor.fulfilled) === null || _interceptor$fulfille === void 0 ? void 0 : _interceptor$fulfille.call(interceptor, res, config);\n }, error => {\n var _interceptor$rejected;\n return (_interceptor$rejected = interceptor.rejected) === null || _interceptor$rejected === void 0 ? void 0 : _interceptor$rejected.call(interceptor, error, config);\n });\n });\n chain.push(response => {\n var _config$options;\n return ((_config$options = config.options) === null || _config$options === void 0 ? void 0 : _config$options.observe) === \"response\" ? response : response.data;\n }, undefined);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n return promise;\n}\nvar http = new Http();\nfunction createHttpInstance(config) {\n http = new Http(config);\n}\nexport { http, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=http.js.map","var _window$BRICK_NEXT_VE;\n// istanbul ignore file\n// Make v3 bricks compatible with Brick Next v2.\nimport * as HttpModuleV3 from \"./exports.js\";\nvar HttpModule;\nvar HttpModuleV2;\nvar {\n dll\n} = window;\nif (dll && (_window$BRICK_NEXT_VE = window.BRICK_NEXT_VERSIONS) !== null && _window$BRICK_NEXT_VE !== void 0 && (_window$BRICK_NEXT_VE = _window$BRICK_NEXT_VE[\"brick-container\"]) !== null && _window$BRICK_NEXT_VE !== void 0 && _window$BRICK_NEXT_VE.startsWith(\"2.\") && (HttpModuleV2 = dll(\"JxWY\"))) {\n HttpModule = HttpModuleV2;\n} else {\n HttpModule = HttpModuleV3;\n}\nvar {\n fetch,\n HttpFetchError,\n HttpResponseError,\n HttpParseError,\n HttpAbortError,\n http,\n isHttpAbortError,\n createHttpInstance,\n defaultAdapter\n} = HttpModule;\nexport { fetch, HttpFetchError, HttpResponseError, HttpParseError, HttpAbortError, http, isHttpAbortError, createHttpInstance, defaultAdapter };\n//# sourceMappingURL=index.js.map"],"names":["fetch","input","init","req","Request","Object","assign","credentials","self","HttpFetchError","Error","constructor","message","super","this","name","captureStackTrace","HttpResponseError","response","responseJson","statusText","HttpParseError","HttpAbortError","InterceptorManager","use","onFulfilled","onRejected","handlers","push","fulfilled","rejected","length","eject","id","forEach","fn","handler","_excluded","_excluded2","_excluded3","isNil","value","base","document","querySelector","fullBaseHref","href","location","origin","isHttpAbortError","error","DOMException","code","request","_ref","url","config","Promise","_ref2","resolve","reject","responseType","options","e","toString","ok","data","status","headers","json","_x4","_x5","apply","arguments","_x","_x2","_x3","getUrlWithParams","params","parsedUrl","URL","URLSearchParams","key","searchParams","append","entries","_ref3","Array","isArray","v","startsWith","substr","getBodyAndHeaders","undefined","parsedHeaders","Headers","contentTypeHeader","body","has","set","FormData","JSON","stringify","defaultAdapter","method","includes","_ref4","interceptorParams","observe","noAbortOnRouteChange","useCache","requestInit","simpleRequest","_ref5","requestWithBody","_adapter","WeakMap","_Http_brand","WeakSet","Http","_config","_this","_ref6","_ref7","_fetch","call","_x6","_x7","_x8","interceptors","adapter","get","head","post","put","patch","chain","promise","interceptor","res","_interceptor$fulfille","_interceptor$rejected","_config$options","then","shift","_window$BRICK_NEXT_VE","HttpModule","HttpModuleV2","http","createHttpInstance","dll","window","BRICK_NEXT_VERSIONS"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_ai=self.webpackChunk_next_bricks_ai||[]).push([[8989,8434,1370,3751],{2559:(r,t,e)=>{function n(r,t,e){if("function"==typeof r?r===t:r.has(t))return arguments.length<3?t:e;throw new TypeError("Private element is not present on this object")}e.d(t,{A:()=>n})},6330:(r,t,e)=>{function n(r,t,e,n,o,s,a){try{var i=r[s](a),c=i.value}catch(r){return void e(r)}i.done?t(c):Promise.resolve(c).then(n,o)}function o(r){return function(){var t=this,e=arguments;return new Promise((function(o,s){var a=r.apply(t,e);function i(r){n(a,o,s,i,c,"next",r)}function c(r){n(a,o,s,i,c,"throw",r)}i(void 0)}))}}e.d(t,{A:()=>o})},2016:(r,t,e)=>{function n(r,t){if(t.has(r))throw new TypeError("Cannot initialize the same private elements twice on an object")}e.d(t,{A:()=>n})},829:(r,t,e)=>{e.d(t,{A:()=>o});var n=e(2559);function o(r,t){return r.get((0,n.A)(r,t))}},918:(r,t,e)=>{e.d(t,{A:()=>o});var n=e(2016);function o(r,t,e){(0,n.A)(r,t),t.set(r,e)}},6121:(r,t,e)=>{e.d(t,{A:()=>o});var n=e(2559);function o(r,t,e){return r.set((0,n.A)(r,t),e),e}},4635:(r,t,e)=>{e.d(t,{A:()=>o});var n=e(2016);function o(r,t){(0,n.A)(r,t),t.add(r)}},4586:(r,t,e)=>{e.d(t,{A:()=>o});var n=e(1369);function o(r,t,e){return(t=(0,n.A)(t))in r?Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):r[t]=e,r}},9740:(r,t,e)=>{e.d(t,{A:()=>s});var n=e(4586);function o(r,t){var e=Object.keys(r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(r);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(r,t).enumerable}))),e.push.apply(e,n)}return e}function s(r){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?o(Object(e),!0).forEach((function(t){(0,n.A)(r,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(e)):o(Object(e)).forEach((function(t){Object.defineProperty(r,t,Object.getOwnPropertyDescriptor(e,t))}))}return r}},4223:(r,t,e)=>{function n(r,t){if(null==r)return{};var e,n,o=function(r,t){if(null==r)return{};var e,n,o={},s=Object.keys(r);for(n=0;n<s.length;n++)e=s[n],t.indexOf(e)>=0||(o[e]=r[e]);return o}(r,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(r);for(n=0;n<s.length;n++)e=s[n],t.indexOf(e)>=0||Object.prototype.propertyIsEnumerable.call(r,e)&&(o[e]=r[e])}return o}e.d(t,{A:()=>n})},1369:(r,t,e)=>{e.d(t,{A:()=>o});var n=e(7545);function o(r){var t=function(r,t){if("object"!=(0,n.A)(r)||!r)return r;var e=r[Symbol.toPrimitive];if(void 0!==e){var o=e.call(r,"string");if("object"!=(0,n.A)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}(r);return"symbol"==(0,n.A)(t)?t:t+""}},7545:(r,t,e)=>{function n(r){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},n(r)}e.d(t,{A:()=>n})},8989:(r,t,e)=>{e.r(t),e.d(t,{HttpAbortError:()=>N,HttpFetchError:()=>L,HttpParseError:()=>G,HttpResponseError:()=>B,createHttpInstance:()=>K,defaultAdapter:()=>V,fetch:()=>J,http:()=>M,isHttpAbortError:()=>z});var n={};e.r(n),e.d(n,{HttpAbortError:()=>b,HttpFetchError:()=>f,HttpParseError:()=>A,HttpResponseError:()=>v,createHttpInstance:()=>F,defaultAdapter:()=>k,fetch:()=>o,getUrlWithParams:()=>H,http:()=>I,isHttpAbortError:()=>j});var o=(r,t)=>{var e=new Request(r,Object.assign({credentials:"same-origin"},t));return self.fetch(e)},s=e(4635),a=e(918),i=e(4586),c=e(829),u=e(2559),p=e(6121),h=e(9740),l=e(4223),d=e(6330);class f extends Error{constructor(r){super(r),this.name="HttpFetchError",Error.captureStackTrace&&Error.captureStackTrace(this,f)}}class v extends Error{constructor(r,t){super(r.statusText),(0,i.A)(this,"response",void 0),(0,i.A)(this,"responseJson",void 0),this.name="HttpResponseError",Error.captureStackTrace&&Error.captureStackTrace(this,v),this.response=r,this.responseJson=t}}class A extends Error{constructor(r){super(r.statusText),(0,i.A)(this,"response",void 0),this.name="HttpParseError",Error.captureStackTrace&&Error.captureStackTrace(this,A),this.response=r}}class b extends Error{constructor(r){super(r),this.name="HttpAbortError"}}class m{constructor(){(0,i.A)(this,"handlers",[])}use(r,t){return this.handlers.push({fulfilled:r,rejected:t}),this.handlers.length-1}eject(r){this.handlers[r]&&(this.handlers[r]=null)}forEach(r){this.handlers.forEach((t=>{null!==t&&r(t)}))}}var y=["params","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],E=["params","headers","responseType","interceptorParams","observe","noAbortOnRouteChange","useCache"],w=["body","method"];function g(r){return null==r}var O=document.querySelector("base"),P=O?O.href:location.origin+"/",j=r=>r instanceof DOMException&&20===r.code,T=function(){var r=(0,d.A)((function*(r,t,e){return new Promise(function(){var n=(0,d.A)((function*(n,s){var a;e.url=r;var{responseType:i}=e.options||{};i||(i="json");try{a=yield o(r,t)}catch(r){return void s(j(r)?new b(r.toString()):new f(r.toString()))}if(a.ok){var c;try{c=yield a[i]()}catch(r){return void s(j(r)?new b(r.toString()):new A(a))}n({status:a.status,statusText:a.statusText,headers:a.headers,data:c})}else{var u;try{u=yield a.json()}catch(r){}s(new v(a,u))}}));return function(r,t){return n.apply(this,arguments)}}())}));return function(t,e,n){return r.apply(this,arguments)}}(),H=(r,t)=>{if(t){var e=new URL(r,P);t instanceof URLSearchParams?t.forEach((function(r,t){e.searchParams.append(t,r)})):Object.entries(t).forEach((r=>{var[t,n]=r;Array.isArray(n)?n.forEach((r=>{e.searchParams.append(t,g(r)?"":r)})):e.searchParams.append(t,g(n)?"":n)}));var{href:n}=e;return n.startsWith(P)?n.substr(P.length):n}return r},S=(r,t)=>{if(void 0!==r){var e=new Headers(t||{}),n="Content-Type",o=r;return e.has(n)||("string"==typeof r?e.set(n,"application/x-www-form-urlencoded"):r instanceof FormData||(e.set(n,"application/json"),o=JSON.stringify(r))),{body:o,headers:e}}return{headers:t}},k=r=>{var{url:t,method:e,data:n}=r;return["DELETE","GET","HEAD"].includes(r.method)?((r,t,e)=>{var n=e.options||{},{params:o,responseType:s,interceptorParams:a,observe:i,noAbortOnRouteChange:c,useCache:u}=n,p=(0,l.A)(n,y);return T(H(t,o),(0,h.A)((0,h.A)({},p),{},{method:r}),e)})(e,t,r):((r,t,e,n)=>{var o=n.options||{},{params:s,headers:a,responseType:i,interceptorParams:c,observe:u,noAbortOnRouteChange:p,useCache:d}=o,f=(0,l.A)(o,E);return T(H(t,s),(0,h.A)((0,h.A)({},f),{},{method:r},S(e,a)),n)})(e,t,n,r)},x=new WeakMap,C=new WeakSet;class R{constructor(r){var t=this;(0,s.A)(this,C),(0,i.A)(this,"interceptors",void 0),(0,a.A)(this,x,k),(0,i.A)(this,"request",function(){var r=(0,d.A)((function*(r,e,n){var o=e||{},{body:s,method:a}=o,i=(0,l.A)(o,w);return(0,u.A)(C,t,D).call(t,{url:r,data:s,method:a||"GET",options:(0,h.A)((0,h.A)({},n||{}),i)})}));return function(t,e,n){return r.apply(this,arguments)}}()),(0,i.A)(this,"simpleRequest",(function(r,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(0,u.A)(C,t,D).call(t,{url:e,method:r,options:n})})),(0,i.A)(this,"requestWithBody",(function(r,e,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return(0,u.A)(C,t,D).call(t,{url:e,method:r,data:n,options:o})})),this.interceptors={request:new m,response:new m},null!=r&&r.adapter&&(0,p.A)(x,this,r.adapter)}getUrlWithParams(r,t){return H(r,t)}getBodyAndHeaders(r,t){return S(r,t)}get(r,t){return(0,u.A)(C,this,D).call(this,{url:r,method:"GET",options:t})}delete(r,t){return(0,u.A)(C,this,D).call(this,{url:r,method:"DELETE",options:t})}head(r,t){return(0,u.A)(C,this,D).call(this,{url:r,method:"HEAD",options:t})}post(r,t,e){return(0,u.A)(C,this,D).call(this,{url:r,method:"POST",data:t,options:e})}put(r,t,e){return(0,u.A)(C,this,D).call(this,{url:r,method:"PUT",data:t,options:e})}patch(r,t,e){return(0,u.A)(C,this,D).call(this,{url:r,method:"PATCH",data:t,options:e})}}function D(r){var t=[],e=Promise.resolve(r);for(this.interceptors.request.forEach((r=>{t.push(r.fulfilled,r.rejected)})),t.push((r=>(0,c.A)(x,this).call(this,r)),void 0),this.interceptors.response.forEach((e=>{t.push((t=>{var n;return null===(n=e.fulfilled)||void 0===n?void 0:n.call(e,t,r)}),(t=>{var n;return null===(n=e.rejected)||void 0===n?void 0:n.call(e,t,r)}))})),t.push((t=>{var e;return"response"===(null===(e=r.options)||void 0===e?void 0:e.observe)?t:t.data}),void 0);t.length;)e=e.then(t.shift(),t.shift());return e}var W,_,q,I=new R;function F(r){I=new R(r)}var{dll:U}=window;_=U&&null!==(W=window.BRICK_NEXT_VERSIONS)&&void 0!==W&&null!==(W=W["brick-container"])&&void 0!==W&&W.startsWith("2.")&&(q=U("JxWY"))?q:n;var{fetch:J,HttpFetchError:L,HttpResponseError:B,HttpParseError:G,HttpAbortError:N,http:M,isHttpAbortError:z,createHttpInstance:K,defaultAdapter:V}=_}}]);
2
+ //# sourceMappingURL=8989.c691b402.js.map