@ai-group/chat-sdk 2.0.4 → 2.1.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.
- package/dist/cjs/client/base.d.ts +2 -2
- package/dist/cjs/client/base.js.map +1 -1
- package/dist/cjs/components/DislikeFeedback.js +16 -1
- package/dist/cjs/components/DislikeFeedback.js.map +2 -2
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.d.ts +6 -0
- package/dist/cjs/components/{XAiWebSDKWrapper.js → XAdkChatbot/XAdkChatbot.stories.js} +29 -40
- package/dist/cjs/components/XAdkChatbot/XAdkChatbot.stories.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +9 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js +158 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/index.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +40 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js +59 -0
- package/dist/cjs/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.d.ts +6 -0
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js +95 -0
- package/dist/cjs/components/XAdkChatbot/components/MarkdownRender/index.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.d.ts +8 -0
- package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.js +49 -0
- package/dist/cjs/components/XAdkChatbot/components/ThinkRender/index.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/index.d.ts +4 -0
- package/dist/cjs/components/XAdkChatbot/index.js +232 -0
- package/dist/cjs/components/XAdkChatbot/index.js.map +7 -0
- package/dist/cjs/components/XAdkChatbot/styles.d.ts +51 -0
- package/dist/cjs/components/XAdkChatbot/styles.js +160 -0
- package/dist/cjs/components/XAdkChatbot/styles.js.map +7 -0
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +7 -0
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js +144 -0
- package/dist/cjs/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +7 -0
- package/dist/cjs/components/XAdkWebProvider/index.d.ts +4 -0
- package/dist/cjs/components/XAdkWebProvider/index.js +349 -0
- package/dist/cjs/components/XAdkWebProvider/index.js.map +7 -0
- package/dist/cjs/components/XAdkWebProvider/styles.d.ts +37 -0
- package/dist/cjs/components/XAdkWebProvider/styles.js +44 -0
- package/dist/cjs/components/XAdkWebProvider/styles.js.map +7 -0
- package/dist/cjs/components/XAiChatbot/index.js +15 -13
- package/dist/cjs/components/XAiChatbot/index.js.map +2 -2
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.js +1 -0
- package/dist/cjs/components/XAiConversations/XAiConversations.stories.js.map +2 -2
- package/dist/cjs/components/XAiJsonView/index.d.ts +8 -0
- package/dist/cjs/components/XAiJsonView/index.js +81 -0
- package/dist/cjs/components/XAiJsonView/index.js.map +7 -0
- package/dist/cjs/components/XAiJsonView/styles.d.ts +39 -0
- package/dist/cjs/components/XAiJsonView/styles.js +58 -0
- package/dist/cjs/components/XAiJsonView/styles.js.map +7 -0
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js +1 -1
- package/dist/cjs/components/XAiProvider/XAiProvider.stories.js.map +1 -1
- package/dist/cjs/components/XAiSender/index.js +23 -17
- package/dist/cjs/components/XAiSender/index.js.map +2 -2
- package/dist/cjs/context/AiProviderContext.d.ts +3 -2
- package/dist/cjs/context/AiProviderContext.js.map +1 -1
- package/dist/cjs/hooks/useADKChat.d.ts +38 -0
- package/dist/cjs/hooks/useADKChat.js +595 -0
- package/dist/cjs/hooks/useADKChat.js.map +7 -0
- package/dist/cjs/hooks/useAgentGenerator.js +6 -6
- package/dist/cjs/hooks/useAgentGenerator.js.map +2 -2
- package/dist/cjs/hooks/useEventStreamRequest.js +6 -3
- package/dist/cjs/hooks/useEventStreamRequest.js.map +2 -2
- package/dist/cjs/index.d.ts +1 -2
- package/dist/cjs/index.js +0 -3
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/services/api.d.ts +36 -19
- package/dist/cjs/services/api.js +7 -7
- package/dist/cjs/services/api.js.map +2 -2
- package/dist/cjs/types/XAdkChatbot.d.ts +197 -0
- package/dist/cjs/types/XAdkChatbot.js +18 -0
- package/dist/cjs/types/XAdkChatbot.js.map +7 -0
- package/dist/cjs/types/XAdkProvider.d.ts +117 -0
- package/dist/cjs/types/XAdkProvider.js +18 -0
- package/dist/cjs/types/XAdkProvider.js.map +7 -0
- package/dist/cjs/types/XAiChatbot.d.ts +2 -2
- package/dist/cjs/types/XAiChatbot.js.map +1 -1
- package/dist/cjs/types/XAiConversations.d.ts +2 -2
- package/dist/cjs/types/XAiConversations.js.map +1 -1
- package/dist/cjs/types/index.d.ts +1 -0
- package/dist/cjs/types/index.js +3 -1
- package/dist/cjs/types/index.js.map +2 -2
- package/dist/cjs/utils/providerManager.d.ts +7 -6
- package/dist/cjs/utils/providerManager.js.map +2 -2
- package/dist/cjs/utils/umdEntry.d.ts +6 -8
- package/dist/cjs/utils/umdEntry.js +4 -18
- package/dist/cjs/utils/umdEntry.js.map +3 -3
- package/dist/esm/client/base.d.ts +2 -2
- package/dist/esm/client/base.js.map +1 -1
- package/dist/esm/components/DislikeFeedback.js +18 -5
- package/dist/esm/components/DislikeFeedback.js.map +1 -1
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.d.ts +6 -0
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js +21 -0
- package/dist/esm/components/XAdkChatbot/XAdkChatbot.stories.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.d.ts +9 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js +183 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/index.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.d.ts +40 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js +14 -0
- package/dist/esm/components/XAdkChatbot/components/FunctionCallRender/styles.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.d.ts +6 -0
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js +70 -0
- package/dist/esm/components/XAdkChatbot/components/MarkdownRender/index.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.d.ts +8 -0
- package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js +32 -0
- package/dist/esm/components/XAdkChatbot/components/ThinkRender/index.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/index.d.ts +4 -0
- package/dist/esm/components/XAdkChatbot/index.js +280 -0
- package/dist/esm/components/XAdkChatbot/index.js.map +1 -0
- package/dist/esm/components/XAdkChatbot/styles.d.ts +51 -0
- package/dist/esm/components/XAdkChatbot/styles.js +25 -0
- package/dist/esm/components/XAdkChatbot/styles.js.map +1 -0
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.d.ts +7 -0
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js +148 -0
- package/dist/esm/components/XAdkWebProvider/XAdkWebProvider.stories.js.map +1 -0
- package/dist/esm/components/XAdkWebProvider/index.d.ts +4 -0
- package/dist/esm/components/XAdkWebProvider/index.js +447 -0
- package/dist/esm/components/XAdkWebProvider/index.js.map +1 -0
- package/dist/esm/components/XAdkWebProvider/styles.d.ts +37 -0
- package/dist/esm/components/XAdkWebProvider/styles.js +11 -0
- package/dist/esm/components/XAdkWebProvider/styles.js.map +1 -0
- package/dist/esm/components/XAiChatbot/index.js +19 -23
- package/dist/esm/components/XAiChatbot/index.js.map +1 -1
- package/dist/esm/components/XAiConversations/XAiConversations.stories.js +3 -3
- package/dist/esm/components/XAiConversations/XAiConversations.stories.js.map +1 -1
- package/dist/esm/components/XAiJsonView/index.d.ts +8 -0
- package/dist/esm/components/XAiJsonView/index.js +44 -0
- package/dist/esm/components/XAiJsonView/index.js.map +1 -0
- package/dist/esm/components/XAiJsonView/styles.d.ts +39 -0
- package/dist/esm/components/XAiJsonView/styles.js +19 -0
- package/dist/esm/components/XAiJsonView/styles.js.map +1 -0
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js +1 -1
- package/dist/esm/components/XAiProvider/XAiProvider.stories.js.map +1 -1
- package/dist/esm/components/XAiSender/index.js +2 -2
- package/dist/esm/components/XAiSender/index.js.map +1 -1
- package/dist/esm/context/AiProviderContext.d.ts +3 -2
- package/dist/esm/context/AiProviderContext.js.map +1 -1
- package/dist/esm/hooks/useADKChat.d.ts +38 -0
- package/dist/esm/hooks/useADKChat.js +855 -0
- package/dist/esm/hooks/useADKChat.js.map +1 -0
- package/dist/esm/hooks/useAgentGenerator.js +10 -10
- package/dist/esm/hooks/useAgentGenerator.js.map +1 -1
- package/dist/esm/hooks/useEventStreamRequest.js +5 -2
- package/dist/esm/hooks/useEventStreamRequest.js.map +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/api.d.ts +36 -19
- package/dist/esm/services/api.js +8 -8
- package/dist/esm/services/api.js.map +1 -1
- package/dist/esm/types/XAdkChatbot.d.ts +197 -0
- package/dist/esm/types/XAdkChatbot.js +2 -0
- package/dist/esm/types/XAdkChatbot.js.map +1 -0
- package/dist/esm/types/XAdkProvider.d.ts +117 -0
- package/dist/esm/types/XAdkProvider.js +2 -0
- package/dist/esm/types/XAdkProvider.js.map +1 -0
- package/dist/esm/types/XAiChatbot.d.ts +2 -2
- package/dist/esm/types/XAiChatbot.js.map +1 -1
- package/dist/esm/types/XAiConversations.d.ts +2 -2
- package/dist/esm/types/XAiConversations.js.map +1 -1
- package/dist/esm/types/index.d.ts +1 -0
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/utils/providerManager.d.ts +7 -6
- package/dist/esm/utils/providerManager.js.map +1 -1
- package/dist/esm/utils/umdEntry.d.ts +6 -8
- package/dist/esm/utils/umdEntry.js +8 -37
- package/dist/esm/utils/umdEntry.js.map +1 -1
- package/dist/umd/chat-sdk.min.css +1 -0
- package/dist/umd/chat-sdk.min.js +1 -1
- package/dist/umd/static/KaTeX_AMS-Regular.1608a09b.woff +0 -0
- package/dist/umd/static/KaTeX_AMS-Regular.4aafdb68.ttf +0 -0
- package/dist/umd/static/KaTeX_AMS-Regular.a79f1c31.woff2 +0 -0
- package/dist/umd/static/KaTeX_Caligraphic-Bold.b6770918.woff +0 -0
- package/dist/umd/static/KaTeX_Caligraphic-Bold.cce5b8ec.ttf +0 -0
- package/dist/umd/static/KaTeX_Caligraphic-Bold.ec17d132.woff2 +0 -0
- package/dist/umd/static/KaTeX_Caligraphic-Regular.07ef19e7.ttf +0 -0
- package/dist/umd/static/KaTeX_Caligraphic-Regular.55fac258.woff2 +0 -0
- package/dist/umd/static/KaTeX_Caligraphic-Regular.dad44a7f.woff +0 -0
- package/dist/umd/static/KaTeX_Fraktur-Bold.9f256b85.woff +0 -0
- package/dist/umd/static/KaTeX_Fraktur-Bold.b18f59e1.ttf +0 -0
- package/dist/umd/static/KaTeX_Fraktur-Bold.d42a5579.woff2 +0 -0
- package/dist/umd/static/KaTeX_Fraktur-Regular.7c187121.woff +0 -0
- package/dist/umd/static/KaTeX_Fraktur-Regular.d3c882a6.woff2 +0 -0
- package/dist/umd/static/KaTeX_Fraktur-Regular.ed38e79f.ttf +0 -0
- package/dist/umd/static/KaTeX_Main-Bold.b74a1a8b.ttf +0 -0
- package/dist/umd/static/KaTeX_Main-Bold.c3fb5ac2.woff2 +0 -0
- package/dist/umd/static/KaTeX_Main-Bold.d181c465.woff +0 -0
- package/dist/umd/static/KaTeX_Main-BoldItalic.6f2bb1df.woff2 +0 -0
- package/dist/umd/static/KaTeX_Main-BoldItalic.70d8b0a5.ttf +0 -0
- package/dist/umd/static/KaTeX_Main-BoldItalic.e3f82f9d.woff +0 -0
- package/dist/umd/static/KaTeX_Main-Italic.47373d1e.ttf +0 -0
- package/dist/umd/static/KaTeX_Main-Italic.8916142b.woff2 +0 -0
- package/dist/umd/static/KaTeX_Main-Italic.9024d815.woff +0 -0
- package/dist/umd/static/KaTeX_Main-Regular.0462f03b.woff2 +0 -0
- package/dist/umd/static/KaTeX_Main-Regular.7f51fe03.woff +0 -0
- package/dist/umd/static/KaTeX_Main-Regular.b7f8fe9b.ttf +0 -0
- package/dist/umd/static/KaTeX_Math-BoldItalic.572d331f.woff2 +0 -0
- package/dist/umd/static/KaTeX_Math-BoldItalic.a879cf83.ttf +0 -0
- package/dist/umd/static/KaTeX_Math-BoldItalic.f1035d8d.woff +0 -0
- package/dist/umd/static/KaTeX_Math-Italic.5295ba48.woff +0 -0
- package/dist/umd/static/KaTeX_Math-Italic.939bc644.ttf +0 -0
- package/dist/umd/static/KaTeX_Math-Italic.f28c23ac.woff2 +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Bold.8c5b5494.woff2 +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Bold.94e1e8dc.ttf +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Bold.bf59d231.woff +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Italic.3b1e59b3.woff2 +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Italic.7c9bc82b.woff +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Italic.b4c20c84.ttf +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Regular.74048478.woff +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Regular.ba21ed5f.woff2 +0 -0
- package/dist/umd/static/KaTeX_SansSerif-Regular.d4d7ba48.ttf +0 -0
- package/dist/umd/static/KaTeX_Script-Regular.03e9641d.woff2 +0 -0
- package/dist/umd/static/KaTeX_Script-Regular.07505710.woff +0 -0
- package/dist/umd/static/KaTeX_Script-Regular.fe9cbbe1.ttf +0 -0
- package/dist/umd/static/KaTeX_Size1-Regular.e1e279cb.woff +0 -0
- package/dist/umd/static/KaTeX_Size1-Regular.eae34984.woff2 +0 -0
- package/dist/umd/static/KaTeX_Size1-Regular.fabc004a.ttf +0 -0
- package/dist/umd/static/KaTeX_Size2-Regular.57727022.woff +0 -0
- package/dist/umd/static/KaTeX_Size2-Regular.5916a24f.woff2 +0 -0
- package/dist/umd/static/KaTeX_Size2-Regular.d6b476ec.ttf +0 -0
- package/dist/umd/static/KaTeX_Size3-Regular.9acaf01c.woff +0 -0
- package/dist/umd/static/KaTeX_Size3-Regular.a144ef58.ttf +0 -0
- package/dist/umd/static/KaTeX_Size3-Regular.b4230e7e.woff2 +0 -0
- package/dist/umd/static/KaTeX_Size4-Regular.10d95fd3.woff2 +0 -0
- package/dist/umd/static/KaTeX_Size4-Regular.7a996c9d.woff +0 -0
- package/dist/umd/static/KaTeX_Size4-Regular.fbccdabe.ttf +0 -0
- package/dist/umd/static/KaTeX_Typewriter-Regular.6258592b.woff +0 -0
- package/dist/umd/static/KaTeX_Typewriter-Regular.a8709e36.woff2 +0 -0
- package/dist/umd/static/KaTeX_Typewriter-Regular.d97aaf4a.ttf +0 -0
- package/package.json +26 -19
- package/dist/cjs/components/XAiWebSDKWrapper.d.ts +0 -9
- package/dist/cjs/components/XAiWebSDKWrapper.js.map +0 -7
- package/dist/esm/components/XAiWebSDKWrapper.d.ts +0 -9
- package/dist/esm/components/XAiWebSDKWrapper.js +0 -45
- package/dist/esm/components/XAiWebSDKWrapper.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/utils/umdEntry.tsx"],
|
|
4
|
-
"sourcesContent": ["import
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
6
|
-
"names": ["ReactDOM", "
|
|
4
|
+
"sourcesContent": ["import { createRef } from 'react';\nimport ReactDOM from 'react-dom/client';\nimport { XAiSDKProps, XAdkProviderHandle } from '@/types/XAdkProvider';\nimport { Messages } from '@/types/XAiMessage';\nimport XAdkWebProvider from '@/components/XAdkWebProvider';\n// import type { SendContent } from '@/types';\n\nclass XAiWebSDK {\n container: HTMLElement;\n\n props: XAiSDKProps;\n\n root: any;\n\n providerRef = createRef<XAdkProviderHandle>();\n\n // ———— hook ————\n onError?: (error: any) => void;\n\n onSuccess?: (appInfo: any) => void;\n\n onMessage?: (content: string, data: Messages) => void;\n\n constructor(container: HTMLElement, props: XAiSDKProps) {\n this.container = container;\n this.props = props;\n this.onError = props.onError;\n this.onSuccess = props.onSuccess;\n this.mount();\n }\n\n mount() {\n if (ReactDOM.createRoot) {\n this.root = ReactDOM.createRoot(this.container);\n this.root.render(\n <div style={{ width: '100%', height: '100%' }}>\n <XAdkWebProvider ref={this.providerRef} {...this.props} />\n </div>,\n );\n } else {\n // @ts-ignore\n ReactDOM.render(\n <div style={{ width: '100%', height: '100%' }}>\n <XAdkWebProvider ref={this.providerRef} {...this.props} />\n </div>,\n this.container,\n );\n }\n }\n\n unmount() {\n if (this.root && this.root.unmount) {\n this.root.unmount();\n }\n }\n\n // 支持 Coze 风格的语法:new XAiWebSDK.initChatbot()\n static initChatbot(props: XAiSDKProps): XAiWebSDK {\n let container: HTMLElement;\n\n // 检查是否有指定的 componentProps.id\n if (props.componentProps?.id) {\n const existingContainer = document.getElementById(props.componentProps.id);\n if (existingContainer) {\n container = existingContainer;\n } else {\n // 如果指定的 ID 不存在,创建新元素\n container = document.createElement('div');\n container.id = props.componentProps.id;\n }\n } else {\n // 没有指定 ID,创建默认容器\n container = document.createElement('div');\n container.id = 'xai-chatbot-container';\n }\n\n // 设置容器样式 - 将除了 id 以外的所有属性都应用到容器\n if (props.componentProps) {\n const { id, ...styleProps } = props.componentProps;\n Object.assign(container.style, styleProps);\n }\n\n // 如果容器不在 DOM 中,添加到 body\n if (!container.parentNode) {\n document.body.appendChild(container);\n }\n\n return new XAiWebSDK(container, props);\n }\n\n // 兼容旧版本的静态方法\n static create(props: XAiSDKProps): XAiWebSDK {\n return this.initChatbot(props);\n }\n\n // ————对外暴露的方法————\n getData() {\n return {\n appInfo: this.providerRef.current?.getAppInfo(),\n messages: this.providerRef.current?.getMessages(),\n sessions: this.providerRef.current?.getSessions(),\n };\n }\n\n chat(content: string) {\n this.providerRef.current?.startChat(content);\n }\n\n stop() {\n this.providerRef.current?.stopChat();\n }\n}\n\n// 兼容 window 方式,也支持 new\n// @ts-ignore\nwindow.XAiWebSDK = XAiWebSDK;\n\n// 支持 ESModule/UMD 直接 import\nexport default XAiWebSDK;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA0B;AAC1B,oBAAqB;AAGrB,6BAA4B;AAgClB;AA7BV,IAAM,YAAN,MAAgB;AAAA,EAgBd,YAAY,WAAwB,OAAoB;AATxD,2BAAc,wBAA8B;AAU1C,SAAK,YAAY;AACjB,SAAK,QAAQ;AACb,SAAK,UAAU,MAAM;AACrB,SAAK,YAAY,MAAM;AACvB,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,QAAQ;AACN,QAAI,cAAAA,QAAS,YAAY;AACvB,WAAK,OAAO,cAAAA,QAAS,WAAW,KAAK,SAAS;AAC9C,WAAK,KAAK;AAAA,QACR,4CAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO,GAC1C,sDAAC,uBAAAC,SAAA,EAAgB,KAAK,KAAK,aAAc,GAAG,KAAK,OAAO,GAC1D;AAAA,MACF;AAAA,IACF,OAAO;AAEL,oBAAAD,QAAS;AAAA,QACP,4CAAC,SAAI,OAAO,EAAE,OAAO,QAAQ,QAAQ,OAAO,GAC1C,sDAAC,uBAAAC,SAAA,EAAgB,KAAK,KAAK,aAAc,GAAG,KAAK,OAAO,GAC1D;AAAA,QACA,KAAK;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU;AACR,QAAI,KAAK,QAAQ,KAAK,KAAK,SAAS;AAClC,WAAK,KAAK,QAAQ;AAAA,IACpB;AAAA,EACF;AAAA;AAAA,EAGA,OAAO,YAAY,OAA+B;AAzDpD;AA0DI,QAAI;AAGJ,SAAI,WAAM,mBAAN,mBAAsB,IAAI;AAC5B,YAAM,oBAAoB,SAAS,eAAe,MAAM,eAAe,EAAE;AACzE,UAAI,mBAAmB;AACrB,oBAAY;AAAA,MACd,OAAO;AAEL,oBAAY,SAAS,cAAc,KAAK;AACxC,kBAAU,KAAK,MAAM,eAAe;AAAA,MACtC;AAAA,IACF,OAAO;AAEL,kBAAY,SAAS,cAAc,KAAK;AACxC,gBAAU,KAAK;AAAA,IACjB;AAGA,QAAI,MAAM,gBAAgB;AACxB,YAAM,EAAE,IAAI,GAAG,WAAW,IAAI,MAAM;AACpC,aAAO,OAAO,UAAU,OAAO,UAAU;AAAA,IAC3C;AAGA,QAAI,CAAC,UAAU,YAAY;AACzB,eAAS,KAAK,YAAY,SAAS;AAAA,IACrC;AAEA,WAAO,IAAI,UAAU,WAAW,KAAK;AAAA,EACvC;AAAA;AAAA,EAGA,OAAO,OAAO,OAA+B;AAC3C,WAAO,KAAK,YAAY,KAAK;AAAA,EAC/B;AAAA;AAAA,EAGA,UAAU;AAhGZ;AAiGI,WAAO;AAAA,MACL,UAAS,UAAK,YAAY,YAAjB,mBAA0B;AAAA,MACnC,WAAU,UAAK,YAAY,YAAjB,mBAA0B;AAAA,MACpC,WAAU,UAAK,YAAY,YAAjB,mBAA0B;AAAA,IACtC;AAAA,EACF;AAAA,EAEA,KAAK,SAAiB;AAxGxB;AAyGI,eAAK,YAAY,YAAjB,mBAA0B,UAAU;AAAA,EACtC;AAAA,EAEA,OAAO;AA5GT;AA6GI,eAAK,YAAY,YAAjB,mBAA0B;AAAA,EAC5B;AACF;AAIA,OAAO,YAAY;AAGnB,IAAO,mBAAQ;",
|
|
6
|
+
"names": ["ReactDOM", "XAdkWebProvider"]
|
|
7
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import BubbleDataType from "@ant-design/x/es/bubble/BubbleList";
|
|
2
2
|
export interface AiClient {
|
|
3
3
|
appName: string;
|
|
4
4
|
icon: string;
|
|
@@ -6,4 +6,4 @@ export interface AiClient {
|
|
|
6
6
|
stream?(message: string, onMessage: (msg: any) => void): void;
|
|
7
7
|
close?(): void;
|
|
8
8
|
}
|
|
9
|
-
export type MessageType = BubbleDataType;
|
|
9
|
+
export type MessageType = typeof BubbleDataType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/client/base.ts"],"sourcesContent":["// baseClient.ts\nimport
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/client/base.ts"],"sourcesContent":["// baseClient.ts\nimport BubbleDataType from \"@ant-design/x/es/bubble/BubbleList\"\n\nexport interface AiClient {\n appName: string;\n icon: string;\n send(message: string): Promise<any>;\n stream?(message: string, onMessage: (msg: any) => void): void;\n close?(): void;\n}\n\nexport type MessageType = typeof BubbleDataType;\n"],"mappings":""}
|
|
@@ -8,6 +8,7 @@ import FeedbackTags from "./FeedbackTags";
|
|
|
8
8
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
9
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
10
|
export var DislikeFeedback = function DislikeFeedback(_ref) {
|
|
11
|
+
var _msg$raw;
|
|
11
12
|
var msg = _ref.msg,
|
|
12
13
|
activeColor = _ref.activeColor,
|
|
13
14
|
onSubmit = _ref.onSubmit;
|
|
@@ -103,11 +104,23 @@ export var DislikeFeedback = function DislikeFeedback(_ref) {
|
|
|
103
104
|
})]
|
|
104
105
|
})
|
|
105
106
|
}),
|
|
106
|
-
children: msg.isLike === -1 ? /*#__PURE__*/_jsx(
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
children: (((_msg$raw = msg.raw) === null || _msg$raw === void 0 ? void 0 : _msg$raw.isLike) || msg.isLike) === -1 ? /*#__PURE__*/_jsx(Button, {
|
|
108
|
+
type: "text",
|
|
109
|
+
size: "small",
|
|
110
|
+
icon: /*#__PURE__*/_jsx(DislikeFilled, {
|
|
111
|
+
style: {
|
|
112
|
+
color: activeColor
|
|
113
|
+
}
|
|
114
|
+
})
|
|
115
|
+
}) : /*#__PURE__*/_jsx(Button, {
|
|
116
|
+
type: "text",
|
|
117
|
+
size: "small",
|
|
118
|
+
icon: /*#__PURE__*/_jsx(DislikeOutlined, {
|
|
119
|
+
style: {
|
|
120
|
+
color: '#949494'
|
|
121
|
+
}
|
|
122
|
+
})
|
|
123
|
+
})
|
|
111
124
|
});
|
|
112
125
|
};
|
|
113
126
|
export default DislikeFeedback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Form","Input","message","Popover","React","useState","DislikeFilled","DislikeOutlined","FeedbackTags","jsx","_jsx","jsxs","_jsxs","DislikeFeedback","_ref","msg","activeColor","onSubmit","_Form$useForm","useForm","_Form$useForm2","_slicedToArray","form","_useState","_useState2","showFeedback","setShowFeedback","trigger","open","onOpenChange","v","_msg$isLike","isLike","warning","resetFields","title","children","style","color","fontWeight","marginBottom","content","Item","name","TextArea","rows","placeholder","dependencies","noStyle","_ref2","getFieldValue","feedbackTags","feedbackDescription","disabled","length","type","block","onClick","_asyncToGenerator","_regeneratorRuntime","mark","_callee","formData","res","wrap","_callee$","_context","prev","next","validateFields","sent","stop"],"sources":["../../../src/components/DislikeFeedback.tsx"],"sourcesContent":["import { Button, Form, Input, message, Popover } from 'antd';\nimport React, { useState } from 'react';\nimport { DislikeFilled, DislikeOutlined } from '@ant-design/icons';\nimport FeedbackTags from './FeedbackTags';\n\nexport interface DislikeFeedbackProps {\n msg: any;\n activeColor: string;\n onSubmit: (v: any) => Promise<boolean>;\n}\n\nexport const DislikeFeedback: React.FC<DislikeFeedbackProps> = ({ msg, activeColor, onSubmit }) => {\n const [form] = Form.useForm();\n const [showFeedback, setShowFeedback] = useState(false);\n return (\n <Popover\n trigger={['click']}\n open={showFeedback}\n onOpenChange={(v) => {\n const isLike = msg.isLike ?? 0;\n if (v && isLike !== 0) {\n message.warning('已收到您的反馈,无需重复提交');\n return;\n }\n if (v) {\n form.resetFields();\n }\n setShowFeedback(v);\n }}\n title={(\n <div>\n <div>抱歉,未能满足您的需求</div>\n <div style={{ color: '#999', fontWeight: 'normal', marginBottom: 12 }}>\n 为提升您的使用体验,请告诉我们不足的方向\n </div>\n </div>\n )}\n content={(\n <div>\n <Form form={form}>\n <Form.Item name=\"feedbackTags\" style={{ marginBottom: 12 }}>\n <FeedbackTags />\n </Form.Item>\n <Form.Item name=\"feedbackDescription\" style={{ marginBottom: 12 }}>\n <Input.TextArea rows={4} placeholder=\"欢迎说说你的想法\" />\n </Form.Item>\n <Form.Item dependencies={['feedbackTags', 'feedbackDescription']} noStyle>\n {({ getFieldValue }) => {\n const feedbackTags = getFieldValue('feedbackTags') || [];\n const feedbackDescription = getFieldValue('feedbackDescription');\n const disabled = !feedbackTags.length && !feedbackDescription;\n return (\n <Button\n type=\"primary\"\n block\n disabled={disabled}\n onClick={async () => {\n const formData = await form.validateFields();\n const res = await onSubmit(formData);\n if (res) {\n setShowFeedback(false);\n }\n }}\n >\n 提交反馈\n </Button>\n );\n }}\n </Form.Item>\n </Form>\n </div>\n )}\n >\n {msg.isLike === -1\n ? (\n
|
|
1
|
+
{"version":3,"names":["Button","Form","Input","message","Popover","React","useState","DislikeFilled","DislikeOutlined","FeedbackTags","jsx","_jsx","jsxs","_jsxs","DislikeFeedback","_ref","_msg$raw","msg","activeColor","onSubmit","_Form$useForm","useForm","_Form$useForm2","_slicedToArray","form","_useState","_useState2","showFeedback","setShowFeedback","trigger","open","onOpenChange","v","_msg$isLike","isLike","warning","resetFields","title","children","style","color","fontWeight","marginBottom","content","Item","name","TextArea","rows","placeholder","dependencies","noStyle","_ref2","getFieldValue","feedbackTags","feedbackDescription","disabled","length","type","block","onClick","_asyncToGenerator","_regeneratorRuntime","mark","_callee","formData","res","wrap","_callee$","_context","prev","next","validateFields","sent","stop","raw","size","icon"],"sources":["../../../src/components/DislikeFeedback.tsx"],"sourcesContent":["import { Button, Form, Input, message, Popover } from 'antd';\nimport React, { useState } from 'react';\nimport { DislikeFilled, DislikeOutlined } from '@ant-design/icons';\nimport FeedbackTags from './FeedbackTags';\n\nexport interface DislikeFeedbackProps {\n msg: any;\n activeColor: string;\n onSubmit: (v: any) => Promise<boolean>;\n}\n\nexport const DislikeFeedback: React.FC<DislikeFeedbackProps> = ({ msg, activeColor, onSubmit }) => {\n const [form] = Form.useForm();\n const [showFeedback, setShowFeedback] = useState(false);\n return (\n <Popover\n trigger={['click']}\n open={showFeedback}\n onOpenChange={(v) => {\n const isLike = msg.isLike ?? 0;\n if (v && isLike !== 0) {\n message.warning('已收到您的反馈,无需重复提交');\n return;\n }\n if (v) {\n form.resetFields();\n }\n setShowFeedback(v);\n }}\n title={(\n <div>\n <div>抱歉,未能满足您的需求</div>\n <div style={{ color: '#999', fontWeight: 'normal', marginBottom: 12 }}>\n 为提升您的使用体验,请告诉我们不足的方向\n </div>\n </div>\n )}\n content={(\n <div>\n <Form form={form}>\n <Form.Item name=\"feedbackTags\" style={{ marginBottom: 12 }}>\n <FeedbackTags />\n </Form.Item>\n <Form.Item name=\"feedbackDescription\" style={{ marginBottom: 12 }}>\n <Input.TextArea rows={4} placeholder=\"欢迎说说你的想法\" />\n </Form.Item>\n <Form.Item dependencies={['feedbackTags', 'feedbackDescription']} noStyle>\n {({ getFieldValue }) => {\n const feedbackTags = getFieldValue('feedbackTags') || [];\n const feedbackDescription = getFieldValue('feedbackDescription');\n const disabled = !feedbackTags.length && !feedbackDescription;\n return (\n <Button\n type=\"primary\"\n block\n disabled={disabled}\n onClick={async () => {\n const formData = await form.validateFields();\n const res = await onSubmit(formData);\n if (res) {\n setShowFeedback(false);\n }\n }}\n >\n 提交反馈\n </Button>\n );\n }}\n </Form.Item>\n </Form>\n </div>\n )}\n >\n {(msg.raw?.isLike || msg.isLike) === -1\n ? (\n <Button\n type=\"text\"\n size=\"small\"\n icon={<DislikeFilled style={{ color: activeColor }} />}\n />\n )\n : (\n <Button\n type=\"text\"\n size=\"small\"\n icon={<DislikeOutlined style={{ color: '#949494' }} />}\n />\n )}\n </Popover>\n );\n};\n\nexport default DislikeFeedback;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import XAdkChatbot from '.';
|
|
2
|
+
var meta = {
|
|
3
|
+
title: 'AI组件/XAdkChatbot 聊天框',
|
|
4
|
+
component: XAdkChatbot,
|
|
5
|
+
parameters: {
|
|
6
|
+
layout: 'centered'
|
|
7
|
+
},
|
|
8
|
+
tags: ['autodocs'],
|
|
9
|
+
argTypes: {
|
|
10
|
+
messages: {
|
|
11
|
+
description: '消息列表'
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export default meta;
|
|
16
|
+
export var 基础用法 = {
|
|
17
|
+
args: {
|
|
18
|
+
messages: []
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=XAdkChatbot.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["XAdkChatbot","meta","title","component","parameters","layout","tags","argTypes","messages","description","基础用法","args"],"sources":["../../../../src/components/XAdkChatbot/XAdkChatbot.stories.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport type { Meta, StoryObj } from '@storybook/react-vite';\nimport { Divider } from 'antd';\nimport { MessageRole, MessageStatus } from '@/types/XAiMessage';\nimport type { Messages } from '@/types/XAiMessage';\nimport documentIcon from '@/assets/document.svg';\nimport XAiProvider from '../XAiProvider';\nimport XAdkChatbot from '.';\nimport { useProviderContext, useProviderMethods } from '@/hooks/useProviderContext';\n\nconst meta: Meta<typeof XAdkChatbot> = {\n title: 'AI组件/XAdkChatbot 聊天框',\n component: XAdkChatbot,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n argTypes: {\n messages: {\n description: '消息列表',\n },\n },\n};\n\nexport default meta;\ntype Story = StoryObj<typeof meta>;\n\nexport const 基础用法: Story = {\n args: {\n messages: [],\n },\n};"],"mappings":"AAOA,OAAOA,WAAW,MAAM,GAAG;AAG3B,IAAMC,IAA8B,GAAG;EACrCC,KAAK,EAAE,sBAAsB;EAC7BC,SAAS,EAAEH,WAAW;EACtBI,UAAU,EAAE;IACVC,MAAM,EAAE;EACV,CAAC;EACDC,IAAI,EAAE,CAAC,UAAU,CAAC;EAClBC,QAAQ,EAAE;IACRC,QAAQ,EAAE;MACRC,WAAW,EAAE;IACf;EACF;AACF,CAAC;AAED,eAAeR,IAAI;AAGnB,OAAO,IAAMS,IAAW,GAAG;EACzBC,IAAI,EAAE;IACJH,QAAQ,EAAE;EACZ;AACF,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { IMessage } from "../../../../types";
|
|
3
|
+
export interface FunctionCallRenderProps {
|
|
4
|
+
msg: IMessage;
|
|
5
|
+
showDetail?: boolean;
|
|
6
|
+
onConfirm?: (confirmed: boolean) => void;
|
|
7
|
+
}
|
|
8
|
+
declare const FunctionCallRender: React.FC<FunctionCallRenderProps>;
|
|
9
|
+
export default FunctionCallRender;
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Alert, Button, Flex, Form, Popover, Tooltip, Typography } from 'antd';
|
|
3
|
+
import { CopyOutlined, ToolOutlined, CheckCircleTwoTone, LoadingOutlined, UserSwitchOutlined, InfoCircleOutlined } from '@ant-design/icons';
|
|
4
|
+
import { useStyles } from "./styles";
|
|
5
|
+
import JsonView from "../../../XAiJsonView";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
var FunctionCallRender = function FunctionCallRender(_ref) {
|
|
9
|
+
var _msg$functionResponse;
|
|
10
|
+
var msg = _ref.msg,
|
|
11
|
+
showDetail = _ref.showDetail,
|
|
12
|
+
onConfirm = _ref.onConfirm;
|
|
13
|
+
var styles = useStyles();
|
|
14
|
+
var fnCall = msg.functionCall;
|
|
15
|
+
var fnRes = msg.functionResponse;
|
|
16
|
+
var name = (fnCall === null || fnCall === void 0 ? void 0 : fnCall.name) || (fnRes === null || fnRes === void 0 ? void 0 : fnRes.name);
|
|
17
|
+
if (name === 'adk_request_confirmation') {
|
|
18
|
+
var _msg$functionCall;
|
|
19
|
+
if (fnRes) {
|
|
20
|
+
var _fnRes$response;
|
|
21
|
+
if (msg.role === 'bot') return null;
|
|
22
|
+
var _confirmed = (_fnRes$response = fnRes.response) === null || _fnRes$response === void 0 ? void 0 : _fnRes$response.confirmed;
|
|
23
|
+
return /*#__PURE__*/_jsx("div", {
|
|
24
|
+
className: styles.wrapper,
|
|
25
|
+
children: _confirmed ? /*#__PURE__*/_jsx(Alert, {
|
|
26
|
+
message: "\u5DF2\u786E\u8BA4",
|
|
27
|
+
type: "success",
|
|
28
|
+
showIcon: true,
|
|
29
|
+
className: styles.alert
|
|
30
|
+
}) : /*#__PURE__*/_jsx(Alert, {
|
|
31
|
+
message: "\u5DF2\u53D6\u6D88",
|
|
32
|
+
type: "error",
|
|
33
|
+
showIcon: true,
|
|
34
|
+
className: styles.alert
|
|
35
|
+
})
|
|
36
|
+
}, msg.id);
|
|
37
|
+
}
|
|
38
|
+
var originalFn = msg === null || msg === void 0 || (_msg$functionCall = msg.functionCall) === null || _msg$functionCall === void 0 || (_msg$functionCall = _msg$functionCall.args) === null || _msg$functionCall === void 0 ? void 0 : _msg$functionCall.originalFunctionCall;
|
|
39
|
+
return /*#__PURE__*/_jsx("div", {
|
|
40
|
+
className: styles.wrapper,
|
|
41
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
42
|
+
className: styles.confirm,
|
|
43
|
+
children: [/*#__PURE__*/_jsxs("div", {
|
|
44
|
+
className: "mb-4",
|
|
45
|
+
children: ["\u8BF7\u786E\u8BA4\u662F\u5426\u6267\u884C\u5DE5\u5177\uFF1A", originalFn === null || originalFn === void 0 ? void 0 : originalFn.name, "\uFF1F"]
|
|
46
|
+
}), /*#__PURE__*/_jsxs(Flex, {
|
|
47
|
+
justify: "end",
|
|
48
|
+
gap: 8,
|
|
49
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
50
|
+
type: "default",
|
|
51
|
+
onClick: function onClick() {
|
|
52
|
+
return onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(false);
|
|
53
|
+
},
|
|
54
|
+
children: "\u53D6\u6D88"
|
|
55
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
56
|
+
type: "primary",
|
|
57
|
+
onClick: function onClick() {
|
|
58
|
+
return onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(true);
|
|
59
|
+
},
|
|
60
|
+
children: "\u786E\u8BA4"
|
|
61
|
+
})]
|
|
62
|
+
})]
|
|
63
|
+
})
|
|
64
|
+
}, msg.id);
|
|
65
|
+
}
|
|
66
|
+
if (name === 'transferToAgent') {
|
|
67
|
+
var _fnCall$args;
|
|
68
|
+
var agentName = (_fnCall$args = fnCall.args) === null || _fnCall$args === void 0 ? void 0 : _fnCall$args.agentName;
|
|
69
|
+
return /*#__PURE__*/_jsx("div", {
|
|
70
|
+
className: styles.wrapper,
|
|
71
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
72
|
+
className: styles.fnCall,
|
|
73
|
+
children: [/*#__PURE__*/_jsx(UserSwitchOutlined, {
|
|
74
|
+
style: {
|
|
75
|
+
color: '#888'
|
|
76
|
+
}
|
|
77
|
+
}), /*#__PURE__*/_jsxs(Typography.Text, {
|
|
78
|
+
ellipsis: {
|
|
79
|
+
tooltip: agentName
|
|
80
|
+
},
|
|
81
|
+
style: {
|
|
82
|
+
maxWidth: 300,
|
|
83
|
+
lineHeight: '16px'
|
|
84
|
+
},
|
|
85
|
+
children: ["\u4EFB\u52A1\u8F6C\u4EA4\uFF1A", agentName]
|
|
86
|
+
}), msg.functionResponse ? /*#__PURE__*/_jsx(CheckCircleTwoTone, {
|
|
87
|
+
twoToneColor: "#52c41a"
|
|
88
|
+
}) : /*#__PURE__*/_jsx(LoadingOutlined, {})]
|
|
89
|
+
})
|
|
90
|
+
}, msg.id);
|
|
91
|
+
}
|
|
92
|
+
var renderItem = function renderItem(obj, text) {
|
|
93
|
+
var str = JSON.stringify(obj, null, 2);
|
|
94
|
+
return /*#__PURE__*/_jsx(Form.Item, {
|
|
95
|
+
label: /*#__PURE__*/_jsxs(Flex, {
|
|
96
|
+
align: "center",
|
|
97
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
98
|
+
className: "mr-2",
|
|
99
|
+
children: text
|
|
100
|
+
}), /*#__PURE__*/_jsx(Typography.Text, {
|
|
101
|
+
copyable: {
|
|
102
|
+
text: str,
|
|
103
|
+
icon: /*#__PURE__*/_jsx(CopyOutlined, {})
|
|
104
|
+
}
|
|
105
|
+
})]
|
|
106
|
+
}),
|
|
107
|
+
style: {
|
|
108
|
+
marginBottom: 12
|
|
109
|
+
},
|
|
110
|
+
children: /*#__PURE__*/_jsx(JsonView, {
|
|
111
|
+
value: str
|
|
112
|
+
})
|
|
113
|
+
});
|
|
114
|
+
};
|
|
115
|
+
var renderResponse = function renderResponse() {
|
|
116
|
+
var res = msg.functionResponse;
|
|
117
|
+
if (res) {
|
|
118
|
+
var _res$response;
|
|
119
|
+
if ((_res$response = res.response) !== null && _res$response !== void 0 && _res$response.error) {
|
|
120
|
+
return /*#__PURE__*/_jsx(Tooltip, {
|
|
121
|
+
title: res.response.error,
|
|
122
|
+
children: /*#__PURE__*/_jsx(InfoCircleOutlined, {
|
|
123
|
+
style: {
|
|
124
|
+
color: '#faad14'
|
|
125
|
+
}
|
|
126
|
+
})
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
return /*#__PURE__*/_jsx(CheckCircleTwoTone, {
|
|
130
|
+
twoToneColor: "#52c41a"
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
return /*#__PURE__*/_jsx(LoadingOutlined, {});
|
|
134
|
+
};
|
|
135
|
+
return /*#__PURE__*/_jsx("div", {
|
|
136
|
+
className: styles.wrapper,
|
|
137
|
+
children: showDetail ? /*#__PURE__*/_jsx(Popover, {
|
|
138
|
+
placement: "left",
|
|
139
|
+
content: /*#__PURE__*/_jsxs(Form, {
|
|
140
|
+
style: {
|
|
141
|
+
width: 400
|
|
142
|
+
},
|
|
143
|
+
layout: "vertical",
|
|
144
|
+
children: [renderItem(fnCall.args, '工具参数'), renderItem((_msg$functionResponse = msg.functionResponse) === null || _msg$functionResponse === void 0 ? void 0 : _msg$functionResponse.response, '工具响应')]
|
|
145
|
+
}),
|
|
146
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
147
|
+
className: styles.fnCall,
|
|
148
|
+
children: [/*#__PURE__*/_jsx(ToolOutlined, {
|
|
149
|
+
style: {
|
|
150
|
+
color: '#888'
|
|
151
|
+
}
|
|
152
|
+
}), /*#__PURE__*/_jsxs(Typography.Text, {
|
|
153
|
+
ellipsis: {
|
|
154
|
+
tooltip: name
|
|
155
|
+
},
|
|
156
|
+
style: {
|
|
157
|
+
maxWidth: 300,
|
|
158
|
+
lineHeight: '16px'
|
|
159
|
+
},
|
|
160
|
+
children: ["\u8C03\u7528\u5DE5\u5177\uFF1A", name]
|
|
161
|
+
}), renderResponse()]
|
|
162
|
+
})
|
|
163
|
+
}) : /*#__PURE__*/_jsxs("div", {
|
|
164
|
+
className: styles.fnCall,
|
|
165
|
+
children: [/*#__PURE__*/_jsx(ToolOutlined, {
|
|
166
|
+
style: {
|
|
167
|
+
color: '#888'
|
|
168
|
+
}
|
|
169
|
+
}), /*#__PURE__*/_jsxs(Typography.Text, {
|
|
170
|
+
ellipsis: {
|
|
171
|
+
tooltip: name
|
|
172
|
+
},
|
|
173
|
+
style: {
|
|
174
|
+
maxWidth: 300,
|
|
175
|
+
lineHeight: '16px'
|
|
176
|
+
},
|
|
177
|
+
children: ["\u8C03\u7528\u5DE5\u5177\uFF1A", name]
|
|
178
|
+
}), renderResponse()]
|
|
179
|
+
})
|
|
180
|
+
}, msg.id);
|
|
181
|
+
};
|
|
182
|
+
export default FunctionCallRender;
|
|
183
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Alert","Button","Flex","Form","Popover","Tooltip","Typography","CopyOutlined","ToolOutlined","CheckCircleTwoTone","LoadingOutlined","UserSwitchOutlined","InfoCircleOutlined","useStyles","JsonView","jsx","_jsx","jsxs","_jsxs","FunctionCallRender","_ref","_msg$functionResponse","msg","showDetail","onConfirm","styles","fnCall","functionCall","fnRes","functionResponse","name","_msg$functionCall","_fnRes$response","role","confirmed","response","className","wrapper","children","message","type","showIcon","alert","id","originalFn","args","originalFunctionCall","confirm","justify","gap","onClick","_fnCall$args","agentName","style","color","Text","ellipsis","tooltip","maxWidth","lineHeight","twoToneColor","renderItem","obj","text","str","JSON","stringify","Item","label","align","copyable","icon","marginBottom","value","renderResponse","res","_res$response","error","title","placement","content","width","layout"],"sources":["../../../../../../src/components/XAdkChatbot/components/FunctionCallRender/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Alert, Button, Flex, Form, Popover, Tooltip, Typography } from 'antd';\nimport { CopyOutlined, ToolOutlined, CheckCircleTwoTone, LoadingOutlined, UserSwitchOutlined, InfoCircleOutlined } from '@ant-design/icons';\nimport type { IMessage, FunctionCall } from '@/types';\nimport { useStyles } from './styles';\nimport JsonView from '@/components/XAiJsonView';\n\nexport interface FunctionCallRenderProps {\n msg: IMessage;\n showDetail?: boolean;\n onConfirm?: (confirmed: boolean) => void;\n}\n\nconst FunctionCallRender: React.FC<FunctionCallRenderProps> = ({ msg, showDetail, onConfirm }) => {\n const styles = useStyles();\n const fnCall = msg.functionCall as FunctionCall;\n const fnRes = msg.functionResponse;\n const name = fnCall?.name || fnRes?.name;\n if (name === 'adk_request_confirmation') {\n if (fnRes) {\n if (msg.role === 'bot') return null;\n const confirmed = fnRes.response?.confirmed;\n return (\n <div key={msg.id} className={styles.wrapper}>\n {confirmed\n ? <Alert message=\"已确认\" type=\"success\" showIcon className={styles.alert} />\n : <Alert message=\"已取消\" type=\"error\" showIcon className={styles.alert} />}\n </div>\n );\n }\n const originalFn = msg?.functionCall?.args?.originalFunctionCall;\n return (\n <div key={msg.id} className={styles.wrapper}>\n <div className={styles.confirm}>\n <div className=\"mb-4\">请确认是否执行工具:{originalFn?.name}?</div>\n <Flex justify=\"end\" gap={8}>\n <Button type=\"default\" onClick={() => onConfirm?.(false)}>取消</Button>\n <Button type=\"primary\" onClick={() => onConfirm?.(true)}>\n 确认\n </Button>\n </Flex>\n </div>\n </div>\n );\n }\n if (name === 'transferToAgent') {\n const agentName = fnCall.args?.agentName;\n return (\n <div key={msg.id} className={styles.wrapper}>\n <div className={styles.fnCall}>\n <UserSwitchOutlined style={{ color: '#888' }} />\n <Typography.Text\n ellipsis={{ tooltip: agentName }}\n style={{ maxWidth: 300, lineHeight: '16px' }}\n >\n 任务转交:{agentName}\n </Typography.Text>\n {msg.functionResponse\n ? <CheckCircleTwoTone twoToneColor=\"#52c41a\" />\n : <LoadingOutlined />}\n </div>\n </div>\n );\n }\n const renderItem = (obj: any, text: string) => {\n const str = JSON.stringify(obj, null, 2);\n return (\n <Form.Item\n label={(\n <Flex align=\"center\">\n <span className=\"mr-2\">{text}</span>\n <Typography.Text\n copyable={{\n text: str,\n icon: <CopyOutlined />,\n }}\n />\n </Flex>\n )}\n style={{ marginBottom: 12 }}\n >\n <JsonView value={str} />\n </Form.Item>\n );\n };\n const renderResponse = () => {\n const res = msg.functionResponse;\n if (res) {\n if (res.response?.error) {\n return (\n <Tooltip title={res.response.error}>\n <InfoCircleOutlined style={{ color: '#faad14' }} />\n </Tooltip>\n );\n }\n return <CheckCircleTwoTone twoToneColor=\"#52c41a\" />;\n }\n return <LoadingOutlined />;\n };\n return (\n <div key={msg.id} className={styles.wrapper}>\n {showDetail ? (\n <Popover\n placement=\"left\"\n content={(\n <Form style={{ width: 400 }} layout=\"vertical\">\n {renderItem(fnCall.args, '工具参数')}\n {renderItem(msg.functionResponse?.response, '工具响应')}\n </Form>\n )}\n >\n <div className={styles.fnCall}>\n <ToolOutlined style={{ color: '#888' }} />\n <Typography.Text\n ellipsis={{ tooltip: name }}\n style={{ maxWidth: 300, lineHeight: '16px' }}\n >\n 调用工具:{name}\n </Typography.Text>\n {renderResponse()}\n </div>\n </Popover>\n ) : (\n <div className={styles.fnCall}>\n <ToolOutlined style={{ color: '#888' }} />\n <Typography.Text\n ellipsis={{ tooltip: name }}\n style={{ maxWidth: 300, lineHeight: '16px' }}\n >\n 调用工具:{name}\n </Typography.Text>\n {renderResponse()}\n </div>\n )}\n </div>\n );\n};\n\nexport default FunctionCallRender;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export declare const useStyles: () => {
|
|
2
|
+
wrapper: string;
|
|
3
|
+
fnCall: string;
|
|
4
|
+
confirm: string;
|
|
5
|
+
alert: string;
|
|
6
|
+
} & {
|
|
7
|
+
w: (width: string | number) => string;
|
|
8
|
+
h: (height: string | number) => string;
|
|
9
|
+
p: (padding: string) => string;
|
|
10
|
+
pb: (padding: string | number) => string;
|
|
11
|
+
pt: (padding: string | number) => string;
|
|
12
|
+
pl: (padding: string | number) => string;
|
|
13
|
+
pr: (padding: string | number) => string;
|
|
14
|
+
m: (margin: string) => string;
|
|
15
|
+
mb: (margin: string | number) => string;
|
|
16
|
+
mt: (margin: string | number) => string;
|
|
17
|
+
ml: (margin: string | number) => string;
|
|
18
|
+
mr: (margin: string | number) => string;
|
|
19
|
+
text: (size: string | number) => string;
|
|
20
|
+
weight: (size: number) => string;
|
|
21
|
+
textColor: (c: string) => string;
|
|
22
|
+
bg: (c: string) => string;
|
|
23
|
+
rs: (radius: string | number) => string;
|
|
24
|
+
gap: (g: string | number) => string;
|
|
25
|
+
flex: string;
|
|
26
|
+
flexCenter: string;
|
|
27
|
+
flexBetween: string;
|
|
28
|
+
flexColumn: string;
|
|
29
|
+
flex1: string;
|
|
30
|
+
cursor: (type: string) => string;
|
|
31
|
+
border: (color: string, width?: string) => string;
|
|
32
|
+
boxShadow: (shadow: string) => string;
|
|
33
|
+
transition: (property?: string, duration?: string) => string;
|
|
34
|
+
overflow: (type: string) => string;
|
|
35
|
+
position: (type: string) => string;
|
|
36
|
+
zIndex: (index: number) => string;
|
|
37
|
+
flexCenterGap2: string;
|
|
38
|
+
flexCenterGap4: string;
|
|
39
|
+
};
|
|
40
|
+
export default useStyles;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
3
|
+
import { css } from '@emotion/css';
|
|
4
|
+
import { withBasicStyles } from "../../../../styles/common";
|
|
5
|
+
export var useStyles = withBasicStyles(function () {
|
|
6
|
+
return {
|
|
7
|
+
wrapper: css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: flex-start;\n margin-bottom: 12px;\n "]))),
|
|
8
|
+
fnCall: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 7px 12px;\n border-radius: 24px;\n line-height: 16px;\n border: 1px solid #e7e7e7;\n cursor: pointer;\n "]))),
|
|
9
|
+
confirm: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding: 12px;\n border-radius: 12px;\n border: 1px solid #e7e7e7;\n "]))),
|
|
10
|
+
alert: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n line-height: 1;\n border-radius: 24px;\n "])))
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
export default useStyles;
|
|
14
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["css","withBasicStyles","useStyles","wrapper","_templateObject","_taggedTemplateLiteral","fnCall","_templateObject2","confirm","_templateObject3","alert","_templateObject4"],"sources":["../../../../../../src/components/XAdkChatbot/components/FunctionCallRender/styles.tsx"],"sourcesContent":["import { css } from '@emotion/css';\nimport { withBasicStyles } from '@/styles/common';\n\nexport const useStyles = withBasicStyles(() => ({\n wrapper: css`\n display: flex;\n justify-content: flex-start;\n margin-bottom: 12px;\n `,\n\n fnCall: css`\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 7px 12px;\n border-radius: 24px;\n line-height: 16px;\n border: 1px solid #e7e7e7;\n cursor: pointer;\n `,\n\n confirm: css`\n padding: 12px;\n border-radius: 12px;\n border: 1px solid #e7e7e7;\n `,\n\n alert: css`\n line-height: 1;\n border-radius: 24px;\n `,\n}));\n\nexport default useStyles;\n"],"mappings":";;AAAA,SAASA,GAAG,QAAQ,cAAc;AAClC,SAASC,eAAe;AAExB,OAAO,IAAMC,SAAS,GAAGD,eAAe,CAAC;EAAA,OAAO;IAC9CE,OAAO,EAAEH,GAAG,CAAAI,eAAA,KAAAA,eAAA,GAAAC,sBAAA,4FAIX;IAEDC,MAAM,EAAEN,GAAG,CAAAO,gBAAA,KAAAA,gBAAA,GAAAF,sBAAA,yMASV;IAEDG,OAAO,EAAER,GAAG,CAAAS,gBAAA,KAAAA,gBAAA,GAAAJ,sBAAA,0FAIX;IAEDK,KAAK,EAAEV,GAAG,CAAAW,gBAAA,KAAAA,gBAAA,GAAAN,sBAAA;EAIZ,CAAC;AAAA,CAAC,CAAC;AAEH,eAAeH,SAAS"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import XMarkdown from '@ant-design/x-markdown';
|
|
3
|
+
import HighlightCode from '@ant-design/x-markdown/plugins/HighlightCode';
|
|
4
|
+
import Latex from '@ant-design/x-markdown/plugins/Latex';
|
|
5
|
+
import { Flex } from 'antd';
|
|
6
|
+
import { BarsOutlined, BulbOutlined, ThunderboltOutlined, CheckCircleOutlined } from '@ant-design/icons';
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
var CodeComponent = function CodeComponent(props) {
|
|
10
|
+
var _className$match;
|
|
11
|
+
var className = props.className,
|
|
12
|
+
children = props.children;
|
|
13
|
+
var lang = (className === null || className === void 0 || (_className$match = className.match(/language-(\w+)/)) === null || _className$match === void 0 ? void 0 : _className$match[1]) || '';
|
|
14
|
+
if (typeof children !== 'string') return null;
|
|
15
|
+
return /*#__PURE__*/_jsx(HighlightCode, {
|
|
16
|
+
lang: lang,
|
|
17
|
+
children: children
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
var ThinkComponent = /*#__PURE__*/React.memo(function (props) {
|
|
21
|
+
var type = props.type || '';
|
|
22
|
+
var titleMap = {
|
|
23
|
+
planning: '规划',
|
|
24
|
+
replanning: '重新规划',
|
|
25
|
+
reasoning: '推理',
|
|
26
|
+
action: '行动',
|
|
27
|
+
final_answer: '最终答案'
|
|
28
|
+
};
|
|
29
|
+
var iconMap = {
|
|
30
|
+
planning: /*#__PURE__*/_jsx(BarsOutlined, {}),
|
|
31
|
+
replanning: /*#__PURE__*/_jsx(BarsOutlined, {}),
|
|
32
|
+
reasoning: /*#__PURE__*/_jsx(BulbOutlined, {}),
|
|
33
|
+
action: /*#__PURE__*/_jsx(ThunderboltOutlined, {}),
|
|
34
|
+
final_answer: /*#__PURE__*/_jsx(CheckCircleOutlined, {})
|
|
35
|
+
};
|
|
36
|
+
return /*#__PURE__*/_jsxs(Flex, {
|
|
37
|
+
align: "center",
|
|
38
|
+
gap: 8,
|
|
39
|
+
style: {
|
|
40
|
+
color: '#888',
|
|
41
|
+
margin: '4px 0'
|
|
42
|
+
},
|
|
43
|
+
children: [type in titleMap && iconMap[type], /*#__PURE__*/_jsx("span", {
|
|
44
|
+
children: titleMap[type]
|
|
45
|
+
})]
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
var MarkdownRender = function MarkdownRender(_ref) {
|
|
49
|
+
var text = _ref.text;
|
|
50
|
+
var markdown = text.replaceAll(/\/\*\s*PLANNING\s*\*\//g, '<tag type="planning"></tag>').replaceAll(/\/\*\s*REPLANNING\s*\*\//g, '<tag type="replanning"></tag>').replaceAll(/\/\*\s*REASONING\s*\*\//g, '<tag type="reasoning"></tag>').replaceAll(/\/\*\s*ACTION\s*\*\//g, '<tag type="action"></tag>').replaceAll(/\/\*\s*FINAL_ANSWER\s*\*\//g, '<tag type="final_answer"></tag>');
|
|
51
|
+
return /*#__PURE__*/_jsx(XMarkdown, {
|
|
52
|
+
content: markdown,
|
|
53
|
+
paragraphTag: "div",
|
|
54
|
+
config: {
|
|
55
|
+
extensions: Latex()
|
|
56
|
+
},
|
|
57
|
+
components: {
|
|
58
|
+
tag: ThinkComponent,
|
|
59
|
+
code: CodeComponent
|
|
60
|
+
},
|
|
61
|
+
streaming: {
|
|
62
|
+
enableAnimation: true,
|
|
63
|
+
animationConfig: {
|
|
64
|
+
fadeDuration: 400
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
export default MarkdownRender;
|
|
70
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","XMarkdown","HighlightCode","Latex","Flex","BarsOutlined","BulbOutlined","ThunderboltOutlined","CheckCircleOutlined","jsx","_jsx","jsxs","_jsxs","CodeComponent","props","_className$match","className","children","lang","match","ThinkComponent","memo","type","titleMap","planning","replanning","reasoning","action","final_answer","iconMap","align","gap","style","color","margin","MarkdownRender","_ref","text","markdown","replaceAll","content","paragraphTag","config","extensions","components","tag","code","streaming","enableAnimation","animationConfig","fadeDuration"],"sources":["../../../../../../src/components/XAdkChatbot/components/MarkdownRender/index.tsx"],"sourcesContent":["import React from 'react';\nimport XMarkdown, { type ComponentProps } from '@ant-design/x-markdown';\nimport HighlightCode from '@ant-design/x-markdown/plugins/HighlightCode';\nimport Latex from '@ant-design/x-markdown/plugins/Latex';\nimport { Flex } from 'antd';\nimport { BarsOutlined, BulbOutlined, ThunderboltOutlined, CheckCircleOutlined } from '@ant-design/icons';\n\nconst CodeComponent: React.FC<ComponentProps> = (props) => {\n const { className, children } = props;\n const lang = className?.match(/language-(\\w+)/)?.[1] || '';\n\n if (typeof children !== 'string') return null;\n return <HighlightCode lang={lang}>{children}</HighlightCode>;\n};\n\nexport interface MarkdownRenderProps {\n text: string;\n}\n\nconst ThinkComponent = React.memo((props: ComponentProps) => {\n const type = (props.type || '') as string;\n const titleMap: Record<string, string> = {\n planning: '规划',\n replanning: '重新规划',\n reasoning: '推理',\n action: '行动',\n final_answer: '最终答案',\n };\n const iconMap = {\n planning: <BarsOutlined />,\n replanning: <BarsOutlined />,\n reasoning: <BulbOutlined />,\n action: <ThunderboltOutlined />,\n final_answer: <CheckCircleOutlined />,\n };\n\n return (\n <Flex align=\"center\" gap={8} style={{ color: '#888', margin: '4px 0' }}>\n {type in titleMap && iconMap[type as keyof typeof iconMap]}\n <span>{titleMap[type]}</span>\n </Flex>\n );\n});\n\nconst MarkdownRender: React.FC<MarkdownRenderProps> = ({ text }) => {\n const markdown = text\n .replaceAll(/\\/\\*\\s*PLANNING\\s*\\*\\//g, '<tag type=\"planning\"></tag>')\n .replaceAll(/\\/\\*\\s*REPLANNING\\s*\\*\\//g, '<tag type=\"replanning\"></tag>')\n .replaceAll(/\\/\\*\\s*REASONING\\s*\\*\\//g, '<tag type=\"reasoning\"></tag>')\n .replaceAll(/\\/\\*\\s*ACTION\\s*\\*\\//g, '<tag type=\"action\"></tag>')\n .replaceAll(/\\/\\*\\s*FINAL_ANSWER\\s*\\*\\//g, '<tag type=\"final_answer\"></tag>');\n return (\n <XMarkdown\n content={markdown}\n paragraphTag=\"div\"\n config={{\n extensions: Latex(),\n }}\n components={{\n tag: ThinkComponent,\n code: CodeComponent,\n }}\n streaming={{\n enableAnimation: true,\n animationConfig: {\n fadeDuration: 400,\n },\n }}\n />\n );\n};\n\nexport default MarkdownRender;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import { Think } from '@ant-design/x';
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
var ThinkRender = function ThinkRender(_ref) {
|
|
6
|
+
var msg = _ref.msg,
|
|
7
|
+
loading = _ref.loading;
|
|
8
|
+
var _useState = useState(false),
|
|
9
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
10
|
+
expand = _useState2[0],
|
|
11
|
+
setExpand = _useState2[1];
|
|
12
|
+
useEffect(function () {
|
|
13
|
+
if (loading) {
|
|
14
|
+
setExpand(true);
|
|
15
|
+
} else {
|
|
16
|
+
setExpand(false);
|
|
17
|
+
}
|
|
18
|
+
}, [loading]);
|
|
19
|
+
return /*#__PURE__*/_jsx(Think, {
|
|
20
|
+
title: loading ? '思考中...' : '深度思考',
|
|
21
|
+
loading: loading,
|
|
22
|
+
expanded: expand,
|
|
23
|
+
onExpand: function onExpand() {
|
|
24
|
+
return setExpand(function (v) {
|
|
25
|
+
return !v;
|
|
26
|
+
});
|
|
27
|
+
},
|
|
28
|
+
children: msg.text
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
export default ThinkRender;
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Think","React","useEffect","useState","jsx","_jsx","ThinkRender","_ref","msg","loading","_useState","_useState2","_slicedToArray","expand","setExpand","title","expanded","onExpand","v","children","text"],"sources":["../../../../../../src/components/XAdkChatbot/components/ThinkRender/index.tsx"],"sourcesContent":["import { Think } from '@ant-design/x';\nimport React, { useEffect, useState } from 'react';\nimport type { IMessage } from '@/types';\n\nexport interface ThinkRenderProps {\n msg: IMessage;\n loading?: boolean;\n}\n\nconst ThinkRender: React.FC<ThinkRenderProps> = ({ msg, loading }) => {\n const [expand, setExpand] = useState(false);\n useEffect(() => {\n if (loading) {\n setExpand(true);\n } else {\n setExpand(false);\n }\n }, [loading]);\n\n return (\n <Think\n title={loading ? '思考中...' : '深度思考'}\n loading={loading}\n expanded={expand}\n onExpand={() => setExpand((v) => !v)}\n >\n {msg.text}\n </Think>\n );\n};\n\nexport default ThinkRender;\n"],"mappings":";AAAA,SAASA,KAAK,QAAQ,eAAe;AACrC,OAAOC,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAQnD,IAAMC,WAAuC,GAAG,SAA1CA,WAAuCA,CAAAC,IAAA,EAAyB;EAAA,IAAnBC,GAAG,GAAAD,IAAA,CAAHC,GAAG;IAAEC,OAAO,GAAAF,IAAA,CAAPE,OAAO;EAC7D,IAAAC,SAAA,GAA4BP,QAAQ,CAAC,KAAK,CAAC;IAAAQ,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAApCG,MAAM,GAAAF,UAAA;IAAEG,SAAS,GAAAH,UAAA;EACxBT,SAAS,CAAC,YAAM;IACd,IAAIO,OAAO,EAAE;MACXK,SAAS,CAAC,IAAI,CAAC;IACjB,CAAC,MAAM;MACLA,SAAS,CAAC,KAAK,CAAC;IAClB;EACF,CAAC,EAAE,CAACL,OAAO,CAAC,CAAC;EAEb,oBACEJ,IAAA,CAACL,KAAK;IACJe,KAAK,EAAEN,OAAO,GAAG,QAAQ,GAAG,MAAO;IACnCA,OAAO,EAAEA,OAAQ;IACjBO,QAAQ,EAAEH,MAAO;IACjBI,QAAQ,EAAE,SAAAA,SAAA;MAAA,OAAMH,SAAS,CAAC,UAACI,CAAC;QAAA,OAAK,CAACA,CAAC;MAAA,EAAC;IAAA,CAAC;IAAAC,QAAA,EAEpCX,GAAG,CAACY;EAAI,CACJ,CAAC;AAEZ,CAAC;AAED,eAAed,WAAW"}
|