@zero-library/chat-agent 2.2.1 → 2.2.3
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/index.cjs.js +114 -96
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.css +24 -8
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +35 -2
- package/dist/index.d.ts +35 -2
- package/dist/index.esm.js +115 -97
- package/dist/index.esm.js.map +1 -1
- package/package.json +3 -3
package/dist/index.css
CHANGED
|
@@ -67,17 +67,33 @@
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
/* src/components/styles.module.less */
|
|
70
|
+
@keyframes styles_module_loading-line {
|
|
71
|
+
from {
|
|
72
|
+
background-position: 200% 0;
|
|
73
|
+
}
|
|
74
|
+
to {
|
|
75
|
+
background-position: 0 0;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
70
78
|
.styles_module_loadingMessage {
|
|
71
|
-
|
|
79
|
+
position: relative;
|
|
80
|
+
padding-bottom: 6px;
|
|
81
|
+
}
|
|
82
|
+
.styles_module_loadingMessage::after {
|
|
83
|
+
content: "";
|
|
84
|
+
position: absolute;
|
|
85
|
+
left: 0;
|
|
86
|
+
bottom: 0;
|
|
87
|
+
height: 2px;
|
|
88
|
+
width: 100%;
|
|
89
|
+
background:
|
|
72
90
|
linear-gradient(
|
|
73
91
|
90deg,
|
|
74
|
-
#ff6b23
|
|
75
|
-
#af3cb8
|
|
76
|
-
#53b6ff
|
|
77
|
-
background-size:
|
|
78
|
-
|
|
79
|
-
background-position: bottom;
|
|
80
|
-
padding-bottom: 2px;
|
|
92
|
+
#ff6b23,
|
|
93
|
+
#af3cb8,
|
|
94
|
+
#53b6ff);
|
|
95
|
+
background-size: 200% 100%;
|
|
96
|
+
animation: styles_module_loading-line 1.2s linear infinite;
|
|
81
97
|
}
|
|
82
98
|
@keyframes styles_module_spin {
|
|
83
99
|
to {
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/common/markdownAlert/styles.module.less","../src/components/styles.module.less","../src/ui/common/styles.module.less","../src/ui/layouts/styles.module.less"],"sourcesContent":[".appCard {\n width: 180px;\n border-radius: 10px;\n border: 1px solid #d7d7d7;\n background-color: #fafafa;\n font-size: 16px;\n cursor: pointer;\n margin: 8px;\n padding: 12px 8px;\n}\n.appCard > div {\n max-width: 100%;\n}\n.appCard > img {\n height: 30px;\n}\n.fileView {\n width: 200px;\n padding: 4px 8px;\n cursor: pointer;\n background-color: #f5f3f3;\n border-radius: 6px;\n}\n.fileEdit {\n margin: 12px 0;\n border-radius: 6px;\n border: 1px solid #f2f2f2;\n}\n.fileEdit .fileEditHeader {\n padding: 2px 8px;\n background-color: #f2f2f2;\n}\n.fileEdit .fileEditContent {\n padding: 8px;\n background-color: #fafafa;\n}\n.quoteList {\n min-width: 300px;\n}\n.quoteList:global.ant-collapse .ant-collapse-item .ant-collapse-header {\n padding: 12px 0;\n color: #8f91a8;\n}\n.quoteList:global.ant-collapse .ant-collapse-item .ant-collapse-content {\n color: #8f91a8;\n background-color: #f2f2f2;\n}\n.mdEdit {\n margin: 10px 0;\n background-color: rgba(242, 242, 242, 0.2);\n border: 1px solid #f2f2f2;\n padding: 10px;\n border-radius: 4px;\n}\n.think:global.ant-collapse {\n margin-bottom: 16px;\n}\n.think:global.ant-collapse .ant-collapse-header {\n color: #8f91a8;\n}\n.think:global.ant-collapse .ant-collapse-content {\n color: #8f91a8;\n}\n.think:global.ant-collapse .ant-collapse-content .ant-collapse-content-box {\n padding: 0 10px 0 24px;\n}\n",".loadingMessage {\n background-image: linear-gradient(90deg, #ff6b23 0%, #af3cb8 31%, #53b6ff 89%);\n background-size: 100% 2px;\n background-repeat: no-repeat;\n background-position: bottom;\n padding-bottom: 2px;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-progress .ant-progress-text {\n display: none;\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-progress .ant-progress-circle {\n animation: spin 2s linear infinite;\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-attachment-list-card-content {\n gap: 4px;\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-attachment-list-card-content .ant-attachment-list-card-desc {\n width: 15px;\n height: 15px;\n border: 2px solid transparent;\n border-color: #1890ff;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n box-sizing: border-box;\n position: relative;\n clip-path: inset(0 0 30% 0);\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-attachment-list-card-content .ant-attachment-list-card-desc .ant-attachment-list-card-ellipsis-prefix {\n display: none;\n}\n.chatSender:global.ant-sender:focus-within {\n box-shadow: none;\n}\n.chatQuoteMsg {\n margin-top: 4px;\n}\n.chatQuoteMsg:global.ant-bubble > .ant-bubble-content {\n min-height: auto;\n background-color: var(--ant-color-fill-tertiary) !important;\n color: var(--ant-color-text-tertiary);\n}\n",".nsConversationListPanel {\n width: 360px;\n}\n.nsConversations {\n padding: 0 24px;\n}\n.nsConversations :global .ant-conversations-group-title {\n padding: 0;\n}\n.nsConversations :global .ant-conversations-group-title .ant-typography {\n color: #878aab;\n}\n.nsConversations :global .ant-conversations-list .ant-conversations-item {\n padding-left: 16px;\n}\n.nsConversations :global .ant-conversations-list .ant-conversations-item .ant-conversations-label {\n color: rgba(0, 0, 0, 0.88);\n}\n.nsConversations :global .ant-conversations-list .ant-conversations-item.ant-conversations-item-active .ant-conversations-label {\n color: var(--ant-color-primary);\n}\n.nsBubbleList:global.ant-bubble-list .ant-bubble.ant-bubble-start .ant-bubble-content-filled {\n background-color: transparent;\n}\n.nsBubbleList:global.ant-bubble-list .ant-bubble.ant-bubble-end .ant-bubble-content-filled {\n background-color: var(--ant-color-primary-bg);\n}\n.nsChatHeader {\n padding: 8px 16px;\n border-bottom: 1px solid #eee;\n}\n.nsChatHeader .nsChatTitle {\n font-size: 16px;\n font-weight: bold;\n}\n.nsChatHeader .nsChatHeaderPopover {\n max-height: 500px;\n width: 300px;\n display: flex;\n flex-direction: column;\n}\n.nsChatHeader .nsChatHeaderPopover :global .ant-popover-inner-content {\n min-height: 0;\n display: flex;\n flex-direction: column;\n}\n.chatWelcomeWrap :global .ant-prompts .ant-prompts-list {\n overflow: auto;\n}\n.chatWelcomeWrap .chatWelcome :global .ant-welcome-icon > img {\n border-radius: 10px;\n max-width: initial;\n}\n.chatWelcomeWrap .chatWelcomePrompts {\n width: 300px;\n}\n.nsSenderListTitle {\n width: 300px;\n}\n.nsSenderList :global .ant-list-items {\n max-height: 350px;\n overflow-y: auto;\n margin-right: -12px;\n padding-right: 12px;\n}\n.nsSenderList.historyList :global .ant-list-items {\n max-height: initial;\n}\n.nsSenderList .nsSenderListItem {\n background-color: #f6f6f6;\n color: #6b6b6b !important;\n border-radius: 5px;\n width: 300px;\n padding: 6px 12px !important;\n margin-top: 12px;\n font-size: 14px;\n cursor: pointer;\n}\n.nsSenderList .nsSenderListFooter {\n font-size: 12px;\n}\n.nsChatUserName {\n font-size: 16px;\n font-weight: bold;\n}\n.nsSenderReferenceHeaderTitle:global > .ant-sender-header-title {\n overflow: hidden;\n}\n.nsSenderReferenceHeaderContent {\n padding: 0 !important;\n}\n.nsAvatarListContainer {\n height: 300px;\n padding: 30px 48px 30px 24px;\n overflow-y: auto;\n margin-right: -24px;\n}\n.nsAvatarListContainer .nsAvatarList .nsAvatarListItem:hover {\n opacity: 90%;\n}\n.nsAvatarListContainer .nsAvatarList .nsAvatarListItem .nsAvatarListItemIcon.nsAvatarListItemIconActive {\n outline: 2px solid var(--ant-color-primary);\n}\n.nsAvatarListContainer .nsAvatarList .nsAvatarListItem .nsAvatarListItemName {\n font-size: 12px;\n}\n",".nsPreviewHeader {\n padding: 16px 24px;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n}\n.nsPreviewHeader .nsPreviewHeaderTitle {\n font-size: 16px;\n font-weight: bold;\n}\n.nsChatSenderHeader {\n margin-bottom: 16px;\n padding: 24px;\n font-size: 24px;\n text-align: center;\n}\n.nsDisclaimerNotice {\n font-size: 12px;\n text-align: center;\n color: #bfbfbf;\n}\n.nsChatLayout {\n background-color: #fff;\n}\n.nsChatLayout .nsChatBody {\n padding: 8px 0;\n}\n.nsBodyWidth {\n margin: 0 auto;\n max-width: 896px;\n min-width: 320px;\n width: calc(100% - 24px);\n}\n"],"mappings":"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","names":["appCard","fileView","fileEdit","fileEditHeader","fileEditContent","quoteList","mdEdit","think","loadingMessage","spin","chatAttachments","chatSender","chatQuoteMsg","nsConversationListPanel","nsConversations","nsBubbleList","nsChatHeader","nsChatTitle","nsChatHeaderPopover","chatWelcomeWrap","chatWelcome","chatWelcomePrompts","nsSenderListTitle","nsSenderList","historyList","nsSenderListItem","nsSenderListFooter","nsChatUserName","nsSenderReferenceHeaderTitle","nsSenderReferenceHeaderContent","nsAvatarListContainer","nsAvatarList","nsAvatarListItem","nsAvatarListItemIcon","nsAvatarListItemIconActive","nsAvatarListItemName","nsPreviewHeader","nsPreviewHeaderTitle","nsChatSenderHeader","nsDisclaimerNotice","nsChatLayout","nsChatBody","nsBodyWidth"]}
|
|
1
|
+
{"version":3,"sources":["../src/ui/common/markdownAlert/styles.module.less","../src/components/styles.module.less","../src/ui/common/styles.module.less","../src/ui/layouts/styles.module.less"],"sourcesContent":[".appCard {\n width: 180px;\n border-radius: 10px;\n border: 1px solid #d7d7d7;\n background-color: #fafafa;\n font-size: 16px;\n cursor: pointer;\n margin: 8px;\n padding: 12px 8px;\n}\n.appCard > div {\n max-width: 100%;\n}\n.appCard > img {\n height: 30px;\n}\n.fileView {\n width: 200px;\n padding: 4px 8px;\n cursor: pointer;\n background-color: #f5f3f3;\n border-radius: 6px;\n}\n.fileEdit {\n margin: 12px 0;\n border-radius: 6px;\n border: 1px solid #f2f2f2;\n}\n.fileEdit .fileEditHeader {\n padding: 2px 8px;\n background-color: #f2f2f2;\n}\n.fileEdit .fileEditContent {\n padding: 8px;\n background-color: #fafafa;\n}\n.quoteList {\n min-width: 300px;\n}\n.quoteList:global.ant-collapse .ant-collapse-item .ant-collapse-header {\n padding: 12px 0;\n color: #8f91a8;\n}\n.quoteList:global.ant-collapse .ant-collapse-item .ant-collapse-content {\n color: #8f91a8;\n background-color: #f2f2f2;\n}\n.mdEdit {\n margin: 10px 0;\n background-color: rgba(242, 242, 242, 0.2);\n border: 1px solid #f2f2f2;\n padding: 10px;\n border-radius: 4px;\n}\n.think:global.ant-collapse {\n margin-bottom: 16px;\n}\n.think:global.ant-collapse .ant-collapse-header {\n color: #8f91a8;\n}\n.think:global.ant-collapse .ant-collapse-content {\n color: #8f91a8;\n}\n.think:global.ant-collapse .ant-collapse-content .ant-collapse-content-box {\n padding: 0 10px 0 24px;\n}\n","@keyframes loading-line {\n from {\n background-position: 200% 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.loadingMessage {\n position: relative;\n padding-bottom: 6px;\n}\n.loadingMessage::after {\n content: '';\n position: absolute;\n left: 0;\n bottom: 0;\n height: 2px;\n width: 100%;\n background: linear-gradient(90deg, #ff6b23, #af3cb8, #53b6ff);\n background-size: 200% 100%;\n animation: loading-line 1.2s linear infinite;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-progress .ant-progress-text {\n display: none;\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-progress .ant-progress-circle {\n animation: spin 2s linear infinite;\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-attachment-list-card-content {\n gap: 4px;\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-attachment-list-card-content .ant-attachment-list-card-desc {\n width: 15px;\n height: 15px;\n border: 2px solid transparent;\n border-color: #1890ff;\n border-radius: 50%;\n animation: spin 1s linear infinite;\n box-sizing: border-box;\n position: relative;\n clip-path: inset(0 0 30% 0);\n}\n.chatAttachments:global > .ant-attachment-list .ant-attachment-list-card-status-uploading .ant-attachment-list-card-content .ant-attachment-list-card-desc .ant-attachment-list-card-ellipsis-prefix {\n display: none;\n}\n.chatSender:global.ant-sender:focus-within {\n box-shadow: none;\n}\n.chatQuoteMsg {\n margin-top: 4px;\n}\n.chatQuoteMsg:global.ant-bubble > .ant-bubble-content {\n min-height: auto;\n background-color: var(--ant-color-fill-tertiary) !important;\n color: var(--ant-color-text-tertiary);\n}\n",".nsConversationListPanel {\n width: 360px;\n}\n.nsConversations {\n padding: 0 24px;\n}\n.nsConversations :global .ant-conversations-group-title {\n padding: 0;\n}\n.nsConversations :global .ant-conversations-group-title .ant-typography {\n color: #878aab;\n}\n.nsConversations :global .ant-conversations-list .ant-conversations-item {\n padding-left: 16px;\n}\n.nsConversations :global .ant-conversations-list .ant-conversations-item .ant-conversations-label {\n color: rgba(0, 0, 0, 0.88);\n}\n.nsConversations :global .ant-conversations-list .ant-conversations-item.ant-conversations-item-active .ant-conversations-label {\n color: var(--ant-color-primary);\n}\n.nsBubbleList:global.ant-bubble-list .ant-bubble.ant-bubble-start .ant-bubble-content-filled {\n background-color: transparent;\n}\n.nsBubbleList:global.ant-bubble-list .ant-bubble.ant-bubble-end .ant-bubble-content-filled {\n background-color: var(--ant-color-primary-bg);\n}\n.nsChatHeader {\n padding: 8px 16px;\n border-bottom: 1px solid #eee;\n}\n.nsChatHeader .nsChatTitle {\n font-size: 16px;\n font-weight: bold;\n}\n.nsChatHeader .nsChatHeaderPopover {\n max-height: 500px;\n width: 300px;\n display: flex;\n flex-direction: column;\n}\n.nsChatHeader .nsChatHeaderPopover :global .ant-popover-inner-content {\n min-height: 0;\n display: flex;\n flex-direction: column;\n}\n.chatWelcomeWrap :global .ant-prompts .ant-prompts-list {\n overflow: auto;\n}\n.chatWelcomeWrap .chatWelcome :global .ant-welcome-icon > img {\n border-radius: 10px;\n max-width: initial;\n}\n.chatWelcomeWrap .chatWelcomePrompts {\n width: 300px;\n}\n.nsSenderListTitle {\n width: 300px;\n}\n.nsSenderList :global .ant-list-items {\n max-height: 350px;\n overflow-y: auto;\n margin-right: -12px;\n padding-right: 12px;\n}\n.nsSenderList.historyList :global .ant-list-items {\n max-height: initial;\n}\n.nsSenderList .nsSenderListItem {\n background-color: #f6f6f6;\n color: #6b6b6b !important;\n border-radius: 5px;\n width: 300px;\n padding: 6px 12px !important;\n margin-top: 12px;\n font-size: 14px;\n cursor: pointer;\n}\n.nsSenderList .nsSenderListFooter {\n font-size: 12px;\n}\n.nsChatUserName {\n font-size: 16px;\n font-weight: bold;\n}\n.nsSenderReferenceHeaderTitle:global > .ant-sender-header-title {\n overflow: hidden;\n}\n.nsSenderReferenceHeaderContent {\n padding: 0 !important;\n}\n.nsAvatarListContainer {\n height: 300px;\n padding: 30px 48px 30px 24px;\n overflow-y: auto;\n margin-right: -24px;\n}\n.nsAvatarListContainer .nsAvatarList .nsAvatarListItem:hover {\n opacity: 90%;\n}\n.nsAvatarListContainer .nsAvatarList .nsAvatarListItem .nsAvatarListItemIcon.nsAvatarListItemIconActive {\n outline: 2px solid var(--ant-color-primary);\n}\n.nsAvatarListContainer .nsAvatarList .nsAvatarListItem .nsAvatarListItemName {\n font-size: 12px;\n}\n",".nsPreviewHeader {\n padding: 16px 24px;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);\n}\n.nsPreviewHeader .nsPreviewHeaderTitle {\n font-size: 16px;\n font-weight: bold;\n}\n.nsChatSenderHeader {\n margin-bottom: 16px;\n padding: 24px;\n font-size: 24px;\n text-align: center;\n}\n.nsDisclaimerNotice {\n font-size: 12px;\n text-align: center;\n color: #bfbfbf;\n}\n.nsChatLayout {\n background-color: #fff;\n}\n.nsChatLayout .nsChatBody {\n padding: 8px 0;\n}\n.nsBodyWidth {\n margin: 0 auto;\n max-width: 896px;\n min-width: 320px;\n width: calc(100% - 24px);\n}\n"],"mappings":"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","names":["appCard","fileView","fileEdit","fileEditHeader","fileEditContent","quoteList","mdEdit","think","loading-line","loadingMessage","spin","chatAttachments","chatSender","chatQuoteMsg","nsConversationListPanel","nsConversations","nsBubbleList","nsChatHeader","nsChatTitle","nsChatHeaderPopover","chatWelcomeWrap","chatWelcome","chatWelcomePrompts","nsSenderListTitle","nsSenderList","historyList","nsSenderListItem","nsSenderListFooter","nsChatUserName","nsSenderReferenceHeaderTitle","nsSenderReferenceHeaderContent","nsAvatarListContainer","nsAvatarList","nsAvatarListItem","nsAvatarListItemIcon","nsAvatarListItemIconActive","nsAvatarListItemName","nsPreviewHeader","nsPreviewHeaderTitle","nsChatSenderHeader","nsDisclaimerNotice","nsChatLayout","nsChatBody","nsBodyWidth"]}
|
package/dist/index.d.mts
CHANGED
|
@@ -232,7 +232,7 @@ interface ConversationMessage {
|
|
|
232
232
|
/** 会话标题(WebSocket返回时可能包含) */
|
|
233
233
|
conversationTitle?: string;
|
|
234
234
|
/** 消息类型:WebSocket流式消息类型 */
|
|
235
|
-
type?: 'TEXT_MESSAGE_START' | 'STEP_STARTED' | 'TEXT_MESSAGE_CONTENT' | 'TEXT_MESSAGE_END' | 'RUN_ERROR';
|
|
235
|
+
type?: 'TEXT_MESSAGE_START' | 'STEP_STARTED' | 'TEXT_MESSAGE_CONTENT' | 'TEXT_MESSAGE_END' | 'RUN_ERROR' | 'TEXT_MESSAGE_CITATION';
|
|
236
236
|
/** 消息ID */
|
|
237
237
|
id: string;
|
|
238
238
|
/** 消息内容 */
|
|
@@ -243,12 +243,18 @@ interface ConversationMessage {
|
|
|
243
243
|
msgFiles?: InputFile[];
|
|
244
244
|
/** 引用的消息信息 */
|
|
245
245
|
quoteMsg?: MessageQuoteMsg;
|
|
246
|
+
/** 透传参数 json字符串 */
|
|
247
|
+
params?: string;
|
|
248
|
+
/** 大模型引用到的数据列表 json字符串*/
|
|
249
|
+
citations?: string;
|
|
246
250
|
/** 发送者信息 */
|
|
247
251
|
sender?: MessageSender;
|
|
248
252
|
/** 发送时间戳 */
|
|
249
253
|
sendTime: number;
|
|
250
254
|
/** 是否被打断标志 */
|
|
251
255
|
stopFlag?: boolean;
|
|
256
|
+
/** 临时Content数据 用于存储step和error信息 */
|
|
257
|
+
tempContent?: string;
|
|
252
258
|
}
|
|
253
259
|
/**
|
|
254
260
|
* 消息反馈更新接口
|
|
@@ -856,6 +862,33 @@ interface ChatHooks {
|
|
|
856
862
|
* }
|
|
857
863
|
*/
|
|
858
864
|
onRedirectLogin?: () => void;
|
|
865
|
+
/**
|
|
866
|
+
* 应用权限验证回调函数
|
|
867
|
+
* 在访问特定应用前调用,用于验证用户是否有权限使用指定的应用功能
|
|
868
|
+
*
|
|
869
|
+
* @param appKey - 应用标识, 特殊场景下会存在与聊天内部,比如AppCard卡片
|
|
870
|
+
* @returns boolean | Promise<boolean> | void - 返回验证结果或无返回
|
|
871
|
+
*
|
|
872
|
+
* @example
|
|
873
|
+
* // 简单的权限验证
|
|
874
|
+
* onAppRightVerify: (appKey) => {
|
|
875
|
+
* const userRights = getUserRights()
|
|
876
|
+
* return userRights.includes(appKey)
|
|
877
|
+
* }
|
|
878
|
+
*
|
|
879
|
+
* @example
|
|
880
|
+
* // 异步权限验证
|
|
881
|
+
* onAppRightVerify: async (appKey) => {
|
|
882
|
+
* try {
|
|
883
|
+
* const result = await checkUserRights(appKey)
|
|
884
|
+
* return result.hasRight
|
|
885
|
+
* } catch (error) {
|
|
886
|
+
* console.error('权限验证失败:', error)
|
|
887
|
+
* return false
|
|
888
|
+
* }
|
|
889
|
+
* }
|
|
890
|
+
*/
|
|
891
|
+
onAppRightVerify?: (appKey: string) => boolean | Promise<boolean> | void;
|
|
859
892
|
}
|
|
860
893
|
/**
|
|
861
894
|
* 聊天参数接口
|
|
@@ -1385,7 +1418,7 @@ interface ChatHandle {
|
|
|
1385
1418
|
* // 设置扩展参数, 透传大模型
|
|
1386
1419
|
* chatRef.current?.setParams({
|
|
1387
1420
|
* params: {
|
|
1388
|
-
*
|
|
1421
|
+
* citation: '税务局',
|
|
1389
1422
|
* }
|
|
1390
1423
|
* })
|
|
1391
1424
|
*/
|
package/dist/index.d.ts
CHANGED
|
@@ -232,7 +232,7 @@ interface ConversationMessage {
|
|
|
232
232
|
/** 会话标题(WebSocket返回时可能包含) */
|
|
233
233
|
conversationTitle?: string;
|
|
234
234
|
/** 消息类型:WebSocket流式消息类型 */
|
|
235
|
-
type?: 'TEXT_MESSAGE_START' | 'STEP_STARTED' | 'TEXT_MESSAGE_CONTENT' | 'TEXT_MESSAGE_END' | 'RUN_ERROR';
|
|
235
|
+
type?: 'TEXT_MESSAGE_START' | 'STEP_STARTED' | 'TEXT_MESSAGE_CONTENT' | 'TEXT_MESSAGE_END' | 'RUN_ERROR' | 'TEXT_MESSAGE_CITATION';
|
|
236
236
|
/** 消息ID */
|
|
237
237
|
id: string;
|
|
238
238
|
/** 消息内容 */
|
|
@@ -243,12 +243,18 @@ interface ConversationMessage {
|
|
|
243
243
|
msgFiles?: InputFile[];
|
|
244
244
|
/** 引用的消息信息 */
|
|
245
245
|
quoteMsg?: MessageQuoteMsg;
|
|
246
|
+
/** 透传参数 json字符串 */
|
|
247
|
+
params?: string;
|
|
248
|
+
/** 大模型引用到的数据列表 json字符串*/
|
|
249
|
+
citations?: string;
|
|
246
250
|
/** 发送者信息 */
|
|
247
251
|
sender?: MessageSender;
|
|
248
252
|
/** 发送时间戳 */
|
|
249
253
|
sendTime: number;
|
|
250
254
|
/** 是否被打断标志 */
|
|
251
255
|
stopFlag?: boolean;
|
|
256
|
+
/** 临时Content数据 用于存储step和error信息 */
|
|
257
|
+
tempContent?: string;
|
|
252
258
|
}
|
|
253
259
|
/**
|
|
254
260
|
* 消息反馈更新接口
|
|
@@ -856,6 +862,33 @@ interface ChatHooks {
|
|
|
856
862
|
* }
|
|
857
863
|
*/
|
|
858
864
|
onRedirectLogin?: () => void;
|
|
865
|
+
/**
|
|
866
|
+
* 应用权限验证回调函数
|
|
867
|
+
* 在访问特定应用前调用,用于验证用户是否有权限使用指定的应用功能
|
|
868
|
+
*
|
|
869
|
+
* @param appKey - 应用标识, 特殊场景下会存在与聊天内部,比如AppCard卡片
|
|
870
|
+
* @returns boolean | Promise<boolean> | void - 返回验证结果或无返回
|
|
871
|
+
*
|
|
872
|
+
* @example
|
|
873
|
+
* // 简单的权限验证
|
|
874
|
+
* onAppRightVerify: (appKey) => {
|
|
875
|
+
* const userRights = getUserRights()
|
|
876
|
+
* return userRights.includes(appKey)
|
|
877
|
+
* }
|
|
878
|
+
*
|
|
879
|
+
* @example
|
|
880
|
+
* // 异步权限验证
|
|
881
|
+
* onAppRightVerify: async (appKey) => {
|
|
882
|
+
* try {
|
|
883
|
+
* const result = await checkUserRights(appKey)
|
|
884
|
+
* return result.hasRight
|
|
885
|
+
* } catch (error) {
|
|
886
|
+
* console.error('权限验证失败:', error)
|
|
887
|
+
* return false
|
|
888
|
+
* }
|
|
889
|
+
* }
|
|
890
|
+
*/
|
|
891
|
+
onAppRightVerify?: (appKey: string) => boolean | Promise<boolean> | void;
|
|
859
892
|
}
|
|
860
893
|
/**
|
|
861
894
|
* 聊天参数接口
|
|
@@ -1385,7 +1418,7 @@ interface ChatHandle {
|
|
|
1385
1418
|
* // 设置扩展参数, 透传大模型
|
|
1386
1419
|
* chatRef.current?.setParams({
|
|
1387
1420
|
* params: {
|
|
1388
|
-
*
|
|
1421
|
+
* citation: '税务局',
|
|
1389
1422
|
* }
|
|
1390
1423
|
* })
|
|
1391
1424
|
*/
|
package/dist/index.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import { App, Badge, Button, Flex, Typography, Spin, Splitter, Tag, Popover, Lis
|
|
|
3
3
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
4
|
import { forwardRef, useRef, useEffect, useImperativeHandle, useMemo, useState } from 'react';
|
|
5
5
|
import { useSnapshot, proxy } from 'valtio';
|
|
6
|
-
import { CloudUploadOutlined, PaperClipOutlined, EnterOutlined, UserSwitchOutlined, CloseOutlined, PlusOutlined, CommentOutlined, OpenAIOutlined, CopyOutlined, LikeOutlined, DislikeOutlined, DeleteOutlined, RedoOutlined, PlayCircleOutlined
|
|
6
|
+
import { CloudUploadOutlined, PaperClipOutlined, EnterOutlined, UserSwitchOutlined, CloseOutlined, PlusOutlined, CommentOutlined, OpenAIOutlined, CopyOutlined, LikeOutlined, DislikeOutlined, DeleteOutlined, RedoOutlined, PlayCircleOutlined } from '@ant-design/icons';
|
|
7
7
|
import { Attachments, Sender, Suggestion, XProvider, Prompts, Bubble, Conversations, Welcome } from '@ant-design/x';
|
|
8
8
|
import classNames9 from 'classnames';
|
|
9
9
|
import dayjs from 'dayjs';
|
|
@@ -54,8 +54,14 @@ var init_AppCard = __esm({
|
|
|
54
54
|
init_styles_module();
|
|
55
55
|
AppCard_default = ({ data, loading }) => {
|
|
56
56
|
const chatStore = useChatStore();
|
|
57
|
-
const onClick = () => {
|
|
58
|
-
|
|
57
|
+
const onClick = async () => {
|
|
58
|
+
if (data.appKey) {
|
|
59
|
+
const canProceed = await chatStore.config.hooks?.onAppRightVerify?.(data.appKey);
|
|
60
|
+
if (canProceed === false) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
chatStore.switchAgentConversation(data.agentId);
|
|
59
65
|
};
|
|
60
66
|
return /* @__PURE__ */ jsx(Spin, { spinning: loading, size: "small", children: /* @__PURE__ */ jsxs(Flex, { vertical: true, gap: 4, align: "center", className: styles_module_default.appCard, onClick, children: [
|
|
61
67
|
/* @__PURE__ */ jsx("img", { src: data.iconUrl }),
|
|
@@ -91,7 +97,7 @@ var DocDrawer_default;
|
|
|
91
97
|
var init_DocDrawer = __esm({
|
|
92
98
|
"src/ui/common/markdownAlert/components/DocDrawer.tsx"() {
|
|
93
99
|
init_Context();
|
|
94
|
-
DocDrawer_default = ({ title, open, onClose,
|
|
100
|
+
DocDrawer_default = ({ title, open, onClose, paramsStr }) => {
|
|
95
101
|
const chatStore = useChatStore();
|
|
96
102
|
const configState = useSnapshot(chatStore.config);
|
|
97
103
|
const [content, setContent] = useState("");
|
|
@@ -99,7 +105,7 @@ var init_DocDrawer = __esm({
|
|
|
99
105
|
const getContent = async () => {
|
|
100
106
|
try {
|
|
101
107
|
setLoading(true);
|
|
102
|
-
const res = await configState.services.request.docQuery(
|
|
108
|
+
const res = await configState.services.request.docQuery(paramsStr);
|
|
103
109
|
setContent(res.data?.content);
|
|
104
110
|
} finally {
|
|
105
111
|
setLoading(false);
|
|
@@ -107,7 +113,7 @@ var init_DocDrawer = __esm({
|
|
|
107
113
|
};
|
|
108
114
|
useEffect(() => {
|
|
109
115
|
getContent();
|
|
110
|
-
}, [
|
|
116
|
+
}, [paramsStr]);
|
|
111
117
|
return /* @__PURE__ */ jsx(Drawer, { title, push: false, width: "100%", open, onClose, children: /* @__PURE__ */ jsx(Spin, { spinning: loading, children: content ? /* @__PURE__ */ jsx(RenderMarkdown, { content }) : /* @__PURE__ */ jsx(Empty, { className: "m-t-32" }) }) });
|
|
112
118
|
};
|
|
113
119
|
}
|
|
@@ -122,20 +128,28 @@ var IndexQuote_default;
|
|
|
122
128
|
var init_IndexQuote = __esm({
|
|
123
129
|
"src/ui/common/markdownAlert/IndexQuote.tsx"() {
|
|
124
130
|
init_DocDrawer();
|
|
125
|
-
IndexQuote_default = ({ data, loading }) => {
|
|
131
|
+
IndexQuote_default = ({ data, loading, message: message2 }) => {
|
|
126
132
|
const [open, setOpen] = useState(false);
|
|
133
|
+
const citation = useMemo(() => {
|
|
134
|
+
let citations = [];
|
|
135
|
+
try {
|
|
136
|
+
citations = JSON.parse(message2.citations);
|
|
137
|
+
} catch (e) {
|
|
138
|
+
}
|
|
139
|
+
return citations?.find((item) => String(item.citationId) === String(data.citationId));
|
|
140
|
+
}, [data.citationId, message2.citations]);
|
|
127
141
|
const onClick = () => {
|
|
128
|
-
if (!
|
|
129
|
-
if (isExternal(
|
|
130
|
-
window.open(
|
|
142
|
+
if (!citation?.citationUrl) return;
|
|
143
|
+
if (isExternal(citation.citationUrl)) {
|
|
144
|
+
window.open(citation.citationUrl, "_blank");
|
|
131
145
|
} else {
|
|
132
146
|
setOpen(true);
|
|
133
147
|
}
|
|
134
148
|
};
|
|
135
|
-
const Content = /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Flex, { align: "center", gap: 8, children: /* @__PURE__ */ jsx("a", { onClick, children:
|
|
149
|
+
const Content = /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Flex, { align: "center", gap: 8, children: /* @__PURE__ */ jsx("a", { onClick, children: citation?.citationName }) }) });
|
|
136
150
|
return /* @__PURE__ */ jsxs("div", { className: "inline-block m-l-8", children: [
|
|
137
|
-
/* @__PURE__ */ jsx(Spin, { spinning: loading, size: "small", children: /* @__PURE__ */ jsx(Popover, { content: Content, children: /* @__PURE__ */ jsx(Tag, { bordered: false, color: "processing", className: "cursor-pointer", children: data
|
|
138
|
-
open && /* @__PURE__ */ jsx(DocDrawer_default, {
|
|
151
|
+
/* @__PURE__ */ jsx(Spin, { spinning: loading, size: "small", children: /* @__PURE__ */ jsx(Popover, { content: Content, children: /* @__PURE__ */ jsx(Tag, { bordered: false, color: "processing", className: "cursor-pointer", children: data?.citationName }) }) }),
|
|
152
|
+
open && /* @__PURE__ */ jsx(DocDrawer_default, { paramsStr: citation?.citationUrl, title: citation?.citationName, open, onClose: () => setOpen(false) })
|
|
139
153
|
] });
|
|
140
154
|
};
|
|
141
155
|
}
|
|
@@ -155,7 +169,7 @@ var init_MdEdit = __esm({
|
|
|
155
169
|
const chatStore = useChatStore();
|
|
156
170
|
const [value, setValue] = useState("");
|
|
157
171
|
const onOk = () => {
|
|
158
|
-
chatStore.sendMessage("\u5F00\u59CB\u5199\u4F5C", [], {
|
|
172
|
+
chatStore.sendMessage("\u5F00\u59CB\u5199\u4F5C", [], { citation: value });
|
|
159
173
|
};
|
|
160
174
|
useEffect(() => {
|
|
161
175
|
setValue(data.content);
|
|
@@ -200,51 +214,6 @@ var init_FileEdit = __esm({
|
|
|
200
214
|
}
|
|
201
215
|
});
|
|
202
216
|
|
|
203
|
-
// src/ui/common/markdownAlert/QuoteList.tsx
|
|
204
|
-
var QuoteList_exports = {};
|
|
205
|
-
__export(QuoteList_exports, {
|
|
206
|
-
default: () => QuoteList_default
|
|
207
|
-
});
|
|
208
|
-
var QuoteList_default;
|
|
209
|
-
var init_QuoteList = __esm({
|
|
210
|
-
"src/ui/common/markdownAlert/QuoteList.tsx"() {
|
|
211
|
-
init_DocDrawer();
|
|
212
|
-
init_styles_module();
|
|
213
|
-
QuoteList_default = ({ data, loading }) => {
|
|
214
|
-
const [open, setOpen] = useState(false);
|
|
215
|
-
const [selectItem, setSelectItem] = useState({});
|
|
216
|
-
const onClick = (item) => {
|
|
217
|
-
if (!item.fileUrl) return;
|
|
218
|
-
if (isExternal(item.fileUrl)) {
|
|
219
|
-
window.open(item.fileUrl, "_blank");
|
|
220
|
-
} else {
|
|
221
|
-
setSelectItem(item);
|
|
222
|
-
setOpen(true);
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
226
|
-
/* @__PURE__ */ jsx(
|
|
227
|
-
Collapse,
|
|
228
|
-
{
|
|
229
|
-
className: styles_module_default.quoteList,
|
|
230
|
-
bordered: false,
|
|
231
|
-
ghost: true,
|
|
232
|
-
expandIcon: ({ isActive }) => /* @__PURE__ */ jsx(CaretRightOutlined, { rotate: isActive ? 90 : 0 }),
|
|
233
|
-
items: [
|
|
234
|
-
{
|
|
235
|
-
key: "1",
|
|
236
|
-
label: "\u53C2\u8003\u8D44\u6599",
|
|
237
|
-
children: /* @__PURE__ */ jsx(Flex, { vertical: true, gap: 4, children: data.list.map((item) => /* @__PURE__ */ jsx("p", { onClick: () => !loading && onClick(item), className: "cursor-pointer", children: item.title }, item.fileUrl)) })
|
|
238
|
-
}
|
|
239
|
-
]
|
|
240
|
-
}
|
|
241
|
-
),
|
|
242
|
-
open && /* @__PURE__ */ jsx(DocDrawer_default, { fileUrl: selectItem.fileUrl, title: selectItem.title, open, onClose: () => setOpen(false) })
|
|
243
|
-
] });
|
|
244
|
-
};
|
|
245
|
-
}
|
|
246
|
-
});
|
|
247
|
-
|
|
248
217
|
// src/ui/common/markdownAlert/Think.tsx
|
|
249
218
|
var Think_exports = {};
|
|
250
219
|
__export(Think_exports, {
|
|
@@ -800,8 +769,7 @@ function createChatStore() {
|
|
|
800
769
|
}
|
|
801
770
|
};
|
|
802
771
|
const switchAgentConversation = async (id, strategy) => {
|
|
803
|
-
|
|
804
|
-
await switchAgent(agentId);
|
|
772
|
+
await switchAgent(String(id));
|
|
805
773
|
const conversationId = await resolveConversationId(receiver.active.id, strategy);
|
|
806
774
|
if (conversationId) {
|
|
807
775
|
await switchConversation(conversationId);
|
|
@@ -912,60 +880,84 @@ function createChatStore() {
|
|
|
912
880
|
const cancelReceive = async () => {
|
|
913
881
|
console.log("\u53D6\u6D88\u63A5\u6536");
|
|
914
882
|
await config.services.request.conversationStop(conversation.active.id);
|
|
883
|
+
conversation.messages[conversation.active.id].loading = false;
|
|
915
884
|
};
|
|
916
885
|
const updateConversationTitle = (conversationId, title) => {
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
886
|
+
if (title && conversations.list.items.length) {
|
|
887
|
+
const idx = conversations.list.items.findIndex((item) => item.id === conversationId);
|
|
888
|
+
if (idx === -1) return;
|
|
889
|
+
conversations.list.items[idx].label = title;
|
|
890
|
+
}
|
|
920
891
|
};
|
|
921
|
-
const findMsgIndex = (
|
|
922
|
-
|
|
923
|
-
return messages.findLastIndex((item) => item.id === msgId);
|
|
892
|
+
const findMsgIndex = (msgId, messages) => {
|
|
893
|
+
return (messages || []).findLastIndex((item) => item.id === msgId);
|
|
924
894
|
};
|
|
925
895
|
const startCallback = (msg) => {
|
|
926
|
-
if (msg.conversationTitle && conversations.list.items.length) {
|
|
927
|
-
updateConversationTitle(msg.conversationId, msg.conversationTitle);
|
|
928
|
-
}
|
|
929
896
|
removeQuestionList(msg.conversationId);
|
|
930
|
-
const messages = conversation.messages[msg.conversationId]
|
|
931
|
-
messages
|
|
897
|
+
const messages = conversation.messages[msg.conversationId]?.message;
|
|
898
|
+
if (!messages) return;
|
|
899
|
+
messages.push(msg.sender.type === 3 ? { ...msg, tempContent: "\u6B63\u5728\u52AA\u529B\u601D\u8003\u4E2D" } : msg);
|
|
932
900
|
conversation.messages[msg.conversationId].loading = true;
|
|
933
901
|
};
|
|
934
902
|
const stepCallback = (msg) => {
|
|
935
|
-
const messages = conversation.messages[msg.conversationId]
|
|
936
|
-
const idx = findMsgIndex(msg.
|
|
903
|
+
const messages = conversation.messages[msg.conversationId]?.message;
|
|
904
|
+
const idx = findMsgIndex(msg.id, messages);
|
|
937
905
|
if (idx === -1) return;
|
|
938
|
-
messages[idx] = msg;
|
|
939
906
|
conversation.messages[msg.conversationId].loading = true;
|
|
907
|
+
messages[idx] = {
|
|
908
|
+
...messages[idx],
|
|
909
|
+
params: messages[idx]?.params || msg.params,
|
|
910
|
+
type: msg.type,
|
|
911
|
+
tempContent: msg.msgContent
|
|
912
|
+
};
|
|
940
913
|
};
|
|
941
914
|
const contentCallback = (msg) => {
|
|
942
|
-
const messages = conversation.messages[msg.conversationId]
|
|
943
|
-
const idx = findMsgIndex(msg.
|
|
915
|
+
const messages = conversation.messages[msg.conversationId]?.message;
|
|
916
|
+
const idx = findMsgIndex(msg.id, messages);
|
|
944
917
|
if (idx === -1) return;
|
|
945
|
-
const message2 = messages[idx];
|
|
946
918
|
conversation.messages[msg.conversationId].loading = true;
|
|
947
|
-
if (message2?.type === "STEP_STARTED" || message2?.type === "TEXT_MESSAGE_START") {
|
|
948
|
-
messages[idx] = msg;
|
|
949
|
-
return;
|
|
950
|
-
}
|
|
951
919
|
messages[idx] = {
|
|
952
|
-
...
|
|
953
|
-
|
|
920
|
+
...messages[idx],
|
|
921
|
+
params: messages[idx]?.params || msg.params,
|
|
922
|
+
type: msg.type,
|
|
923
|
+
tempContent: "",
|
|
924
|
+
msgContent: messages[idx].msgContent + (msg.msgContent || "")
|
|
954
925
|
};
|
|
955
926
|
};
|
|
956
927
|
const endCallback = (msg) => {
|
|
957
|
-
const messages = conversation.messages[msg.conversationId]
|
|
958
|
-
const idx = findMsgIndex(msg.
|
|
928
|
+
const messages = conversation.messages[msg.conversationId]?.message;
|
|
929
|
+
const idx = findMsgIndex(msg.id, messages);
|
|
959
930
|
if (idx === -1) return;
|
|
960
|
-
messages[idx] = {
|
|
931
|
+
messages[idx] = {
|
|
932
|
+
...messages[idx],
|
|
933
|
+
tempContent: "",
|
|
934
|
+
type: void 0
|
|
935
|
+
};
|
|
961
936
|
conversation.messages[msg.conversationId].loading = false;
|
|
962
937
|
getQuestionList(msg.conversationId, msg.id);
|
|
963
938
|
};
|
|
939
|
+
const citationCallback = (msg) => {
|
|
940
|
+
const messages = conversation.messages[msg.conversationId]?.message;
|
|
941
|
+
const idx = findMsgIndex(msg.id, messages);
|
|
942
|
+
if (idx === -1) return;
|
|
943
|
+
messages[idx] = {
|
|
944
|
+
...messages[idx],
|
|
945
|
+
citations: msg.msgContent
|
|
946
|
+
};
|
|
947
|
+
};
|
|
964
948
|
const errCallback = (msg) => {
|
|
965
949
|
const messages = conversation.messages[msg.conversationId].message;
|
|
966
|
-
const idx = findMsgIndex(msg.
|
|
950
|
+
const idx = findMsgIndex(msg.id, messages);
|
|
967
951
|
if (idx === -1) return;
|
|
968
|
-
messages[idx] = {
|
|
952
|
+
messages[idx] = {
|
|
953
|
+
...messages[idx],
|
|
954
|
+
params: messages[idx]?.params || msg.params,
|
|
955
|
+
tempContent: msg.msgContent,
|
|
956
|
+
type: void 0,
|
|
957
|
+
// 报错后清空消息内容
|
|
958
|
+
msgContent: "",
|
|
959
|
+
citations: ""
|
|
960
|
+
};
|
|
969
961
|
conversation.messages[msg.conversationId].loading = false;
|
|
970
962
|
};
|
|
971
963
|
const acceptMessage = async (newMessage) => {
|
|
@@ -975,6 +967,7 @@ function createChatStore() {
|
|
|
975
967
|
if (canProceed === false) {
|
|
976
968
|
throw new Error("\u64CD\u4F5C\u88AB\u963B\u6B62");
|
|
977
969
|
}
|
|
970
|
+
updateConversationTitle(conversationId, newMessage.data.conversationTitle);
|
|
978
971
|
switch (newMessage.data.type) {
|
|
979
972
|
case "TEXT_MESSAGE_START":
|
|
980
973
|
startCallback(newMessage.data);
|
|
@@ -988,6 +981,9 @@ function createChatStore() {
|
|
|
988
981
|
case "TEXT_MESSAGE_END":
|
|
989
982
|
endCallback(newMessage.data);
|
|
990
983
|
break;
|
|
984
|
+
case "TEXT_MESSAGE_CITATION":
|
|
985
|
+
citationCallback(newMessage.data);
|
|
986
|
+
break;
|
|
991
987
|
case "RUN_ERROR":
|
|
992
988
|
errCallback(newMessage.data);
|
|
993
989
|
break;
|
|
@@ -1068,7 +1064,7 @@ var customComponents = {
|
|
|
1068
1064
|
indexQuote: () => Promise.resolve().then(() => (init_IndexQuote(), IndexQuote_exports)),
|
|
1069
1065
|
mdEdit: () => Promise.resolve().then(() => (init_MdEdit(), MdEdit_exports)),
|
|
1070
1066
|
fileEdit: () => Promise.resolve().then(() => (init_FileEdit(), FileEdit_exports)),
|
|
1071
|
-
quoteList: () =>
|
|
1067
|
+
// quoteList: () => import('./QuoteList'),
|
|
1072
1068
|
think: () => Promise.resolve().then(() => (init_Think(), Think_exports))
|
|
1073
1069
|
};
|
|
1074
1070
|
|
|
@@ -1080,13 +1076,25 @@ var styles_module_default2 = {
|
|
|
1080
1076
|
chatQuoteMsg: "styles_module_chatQuoteMsg"
|
|
1081
1077
|
};
|
|
1082
1078
|
var MessageRender_default = ({ message: message2, placement }) => {
|
|
1083
|
-
|
|
1084
|
-
message2.msgContent &&
|
|
1079
|
+
const content = useMemo(
|
|
1080
|
+
() => `${message2.msgContent || ""}${message2.msgContent && message2.tempContent ? "\n\n" : ""}${message2.tempContent || ""}`,
|
|
1081
|
+
[message2.msgContent, message2.tempContent]
|
|
1082
|
+
);
|
|
1083
|
+
const paramsCitation = useMemo(() => {
|
|
1084
|
+
let citation = "";
|
|
1085
|
+
try {
|
|
1086
|
+
citation = JSON.parse(message2.params || "{}").citation || "";
|
|
1087
|
+
} catch (e) {
|
|
1088
|
+
}
|
|
1089
|
+
return citation;
|
|
1090
|
+
}, [message2.params]);
|
|
1091
|
+
return /* @__PURE__ */ jsx(Flex, { vertical: true, children: !(message2.msgContent || message2.tempContent || message2.msgFiles.length) ? /* @__PURE__ */ jsx(Typography, { children: /* @__PURE__ */ jsx(Spin, { size: "small" }) }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1092
|
+
content && /* @__PURE__ */ jsx(
|
|
1085
1093
|
Bubble,
|
|
1086
1094
|
{
|
|
1087
1095
|
placement,
|
|
1088
1096
|
className: classNames9({ [styles_module_default2.loadingMessage]: message2.type }),
|
|
1089
|
-
content: /* @__PURE__ */ jsx(RenderMarkdown, { content: replaceThinkTags(
|
|
1097
|
+
content: /* @__PURE__ */ jsx(RenderMarkdown, { content: replaceThinkTags(content), customComponents, message: message2 })
|
|
1090
1098
|
}
|
|
1091
1099
|
),
|
|
1092
1100
|
message2.msgFiles?.map((file) => /* @__PURE__ */ jsx(
|
|
@@ -1109,7 +1117,7 @@ var MessageRender_default = ({ message: message2, placement }) => {
|
|
|
1109
1117
|
},
|
|
1110
1118
|
file.content
|
|
1111
1119
|
)),
|
|
1112
|
-
message2.quoteMsg?.id
|
|
1120
|
+
message2.quoteMsg?.id ? /* @__PURE__ */ jsx(
|
|
1113
1121
|
Bubble,
|
|
1114
1122
|
{
|
|
1115
1123
|
className: classNames9(styles_module_default2.chatQuoteMsg),
|
|
@@ -1117,7 +1125,7 @@ var MessageRender_default = ({ message: message2, placement }) => {
|
|
|
1117
1125
|
content: /* @__PURE__ */ jsxs(Flex, { vertical: true, gap: 8, children: [
|
|
1118
1126
|
message2.quoteMsg.msgContent && /* @__PURE__ */ jsxs(Flex, { children: [
|
|
1119
1127
|
/* @__PURE__ */ jsx("span", { children: "\u3010\u5F15\u7528\u6D88\u606F\u3011\uFF1A" }),
|
|
1120
|
-
/* @__PURE__ */ jsx(Flex, { flex: 1, className: "text-ellipsis", children: message2.quoteMsg.msgContent })
|
|
1128
|
+
/* @__PURE__ */ jsx(Flex, { flex: 1, className: "text-ellipsis", title: message2.quoteMsg.msgContent, children: /* @__PURE__ */ jsx(RenderMarkdown, { content: message2.quoteMsg.msgContent }) })
|
|
1121
1129
|
] }),
|
|
1122
1130
|
message2.quoteMsg?.msgFiles && message2.quoteMsg.msgFiles.length > 0 && /* @__PURE__ */ jsxs(Flex, { children: [
|
|
1123
1131
|
/* @__PURE__ */ jsx("span", { children: "\u3010\u5F15\u7528\u6587\u4EF6\u3011\uFF1A" }),
|
|
@@ -1135,6 +1143,16 @@ var MessageRender_default = ({ message: message2, placement }) => {
|
|
|
1135
1143
|
] })
|
|
1136
1144
|
] })
|
|
1137
1145
|
}
|
|
1146
|
+
) : paramsCitation && /* @__PURE__ */ jsx(
|
|
1147
|
+
Bubble,
|
|
1148
|
+
{
|
|
1149
|
+
className: classNames9(styles_module_default2.chatQuoteMsg),
|
|
1150
|
+
placement,
|
|
1151
|
+
content: /* @__PURE__ */ jsx(Flex, { vertical: true, gap: 8, children: /* @__PURE__ */ jsxs(Flex, { children: [
|
|
1152
|
+
/* @__PURE__ */ jsx("span", { children: "\u3010\u5F15\u7528\u6D88\u606F\u3011\uFF1A" }),
|
|
1153
|
+
/* @__PURE__ */ jsx(Flex, { flex: 1, className: "text-ellipsis", title: paramsCitation, children: /* @__PURE__ */ jsx(RenderMarkdown, { content: paramsCitation }) })
|
|
1154
|
+
] }) })
|
|
1155
|
+
}
|
|
1138
1156
|
)
|
|
1139
1157
|
] }) });
|
|
1140
1158
|
};
|
|
@@ -2089,13 +2107,13 @@ var layouts_default = forwardRef(({ theme, params, userInfo, hooks, layout, conf
|
|
|
2089
2107
|
value: configState.preview.file.content,
|
|
2090
2108
|
onQuote: (text) => {
|
|
2091
2109
|
chatStore.setReferences({
|
|
2092
|
-
type:
|
|
2110
|
+
type: 2,
|
|
2093
2111
|
content: {
|
|
2094
2112
|
name: text,
|
|
2095
2113
|
markdown: text
|
|
2096
2114
|
},
|
|
2097
2115
|
params: {
|
|
2098
|
-
|
|
2116
|
+
citation: text
|
|
2099
2117
|
}
|
|
2100
2118
|
});
|
|
2101
2119
|
},
|